@muloka/figma-console-mcp 0.1.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/LICENSE +21 -0
- package/README.md +898 -0
- package/dist/apps/design-system-dashboard/scoring/accessibility.d.ts +14 -0
- package/dist/apps/design-system-dashboard/scoring/accessibility.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/accessibility.js +278 -0
- package/dist/apps/design-system-dashboard/scoring/accessibility.js.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/component-metadata.d.ts +29 -0
- package/dist/apps/design-system-dashboard/scoring/component-metadata.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/component-metadata.js +358 -0
- package/dist/apps/design-system-dashboard/scoring/component-metadata.js.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/consistency.d.ts +14 -0
- package/dist/apps/design-system-dashboard/scoring/consistency.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/consistency.js +342 -0
- package/dist/apps/design-system-dashboard/scoring/consistency.js.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/coverage.d.ts +14 -0
- package/dist/apps/design-system-dashboard/scoring/coverage.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/coverage.js +231 -0
- package/dist/apps/design-system-dashboard/scoring/coverage.js.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/engine.d.ts +27 -0
- package/dist/apps/design-system-dashboard/scoring/engine.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/engine.js +93 -0
- package/dist/apps/design-system-dashboard/scoring/engine.js.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/naming-semantics.d.ts +14 -0
- package/dist/apps/design-system-dashboard/scoring/naming-semantics.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/naming-semantics.js +309 -0
- package/dist/apps/design-system-dashboard/scoring/naming-semantics.js.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/token-architecture.d.ts +14 -0
- package/dist/apps/design-system-dashboard/scoring/token-architecture.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/token-architecture.js +350 -0
- package/dist/apps/design-system-dashboard/scoring/token-architecture.js.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/types.d.ts +89 -0
- package/dist/apps/design-system-dashboard/scoring/types.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/scoring/types.js +41 -0
- package/dist/apps/design-system-dashboard/scoring/types.js.map +1 -0
- package/dist/apps/design-system-dashboard/server.d.ts +24 -0
- package/dist/apps/design-system-dashboard/server.d.ts.map +1 -0
- package/dist/apps/design-system-dashboard/server.js +160 -0
- package/dist/apps/design-system-dashboard/server.js.map +1 -0
- package/dist/apps/token-browser/server.d.ts +26 -0
- package/dist/apps/token-browser/server.d.ts.map +1 -0
- package/dist/apps/token-browser/server.js +137 -0
- package/dist/apps/token-browser/server.js.map +1 -0
- package/dist/browser/base.d.ts +58 -0
- package/dist/browser/base.d.ts.map +1 -0
- package/dist/browser/base.js +6 -0
- package/dist/browser/base.js.map +1 -0
- package/dist/browser/local.d.ts +87 -0
- package/dist/browser/local.d.ts.map +1 -0
- package/dist/browser/local.js +318 -0
- package/dist/browser/local.js.map +1 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/accessibility.js +277 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/component-metadata.js +357 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/consistency.js +341 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/coverage.js +230 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/engine.js +92 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/naming-semantics.js +308 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/token-architecture.js +349 -0
- package/dist/cloudflare/apps/design-system-dashboard/scoring/types.js +40 -0
- package/dist/cloudflare/apps/design-system-dashboard/server.js +159 -0
- package/dist/cloudflare/apps/token-browser/server.js +136 -0
- package/dist/cloudflare/browser-manager.js +157 -0
- package/dist/cloudflare/core/accessibility-tools.js +361 -0
- package/dist/cloudflare/core/annotation-tools.js +230 -0
- package/dist/cloudflare/core/cloud-websocket-connector.js +419 -0
- package/dist/cloudflare/core/cloud-websocket-relay.js +198 -0
- package/dist/cloudflare/core/comment-tools.js +292 -0
- package/dist/cloudflare/core/config.js +153 -0
- package/dist/cloudflare/core/console-monitor.js +427 -0
- package/dist/cloudflare/core/deep-component-tools.js +128 -0
- package/dist/cloudflare/core/design-code-tools.js +2793 -0
- package/dist/cloudflare/core/design-system-manifest.js +265 -0
- package/dist/cloudflare/core/design-system-tools.js +882 -0
- package/dist/cloudflare/core/diagnose-tool.js +100 -0
- package/dist/cloudflare/core/diff/changelog-formatter.js +275 -0
- package/dist/cloudflare/core/diff/diff-engine.js +334 -0
- package/dist/cloudflare/core/diff/property-compare.js +36 -0
- package/dist/cloudflare/core/diff/version-cache.js +74 -0
- package/dist/cloudflare/core/enrichment/enrichment-service.js +374 -0
- package/dist/cloudflare/core/enrichment/index.js +7 -0
- package/dist/cloudflare/core/enrichment/relationship-mapper.js +351 -0
- package/dist/cloudflare/core/enrichment/style-resolver.js +346 -0
- package/dist/cloudflare/core/figjam-tools.js +547 -0
- package/dist/cloudflare/core/figma-api.js +509 -0
- package/dist/cloudflare/core/figma-connector.js +7 -0
- package/dist/cloudflare/core/figma-reconstruction-spec.js +402 -0
- package/dist/cloudflare/core/figma-style-extractor.js +311 -0
- package/dist/cloudflare/core/figma-tools.js +3302 -0
- package/dist/cloudflare/core/identity.js +96 -0
- package/dist/cloudflare/core/library-tools.js +580 -0
- package/dist/cloudflare/core/logger.js +53 -0
- package/dist/cloudflare/core/port-discovery.js +935 -0
- package/dist/cloudflare/core/resolve-package-root.js +11 -0
- package/dist/cloudflare/core/slides-tools.js +714 -0
- package/dist/cloudflare/core/slot-tools.js +334 -0
- package/dist/cloudflare/core/snippet-injector.js +96 -0
- package/dist/cloudflare/core/tokens/alias-resolver.js +205 -0
- package/dist/cloudflare/core/tokens/config.js +294 -0
- package/dist/cloudflare/core/tokens/dialect.js +232 -0
- package/dist/cloudflare/core/tokens/figma-converter.js +323 -0
- package/dist/cloudflare/core/tokens/formatters/css-vars.js +338 -0
- package/dist/cloudflare/core/tokens/formatters/dtcg.js +376 -0
- package/dist/cloudflare/core/tokens/formatters/index.js +45 -0
- package/dist/cloudflare/core/tokens/formatters/json.js +205 -0
- package/dist/cloudflare/core/tokens/formatters/less.js +4 -0
- package/dist/cloudflare/core/tokens/formatters/scss.js +258 -0
- package/dist/cloudflare/core/tokens/formatters/stubs.js +13 -0
- package/dist/cloudflare/core/tokens/formatters/style-dictionary-v3.js +213 -0
- package/dist/cloudflare/core/tokens/formatters/tailwind-v3.js +237 -0
- package/dist/cloudflare/core/tokens/formatters/tailwind-v4.js +335 -0
- package/dist/cloudflare/core/tokens/formatters/tokens-studio.js +256 -0
- package/dist/cloudflare/core/tokens/formatters/ts-module.js +198 -0
- package/dist/cloudflare/core/tokens/index.js +16 -0
- package/dist/cloudflare/core/tokens/parsers/css-vars.js +4 -0
- package/dist/cloudflare/core/tokens/parsers/dtcg.js +280 -0
- package/dist/cloudflare/core/tokens/parsers/index.js +138 -0
- package/dist/cloudflare/core/tokens/parsers/json.js +7 -0
- package/dist/cloudflare/core/tokens/parsers/scss.js +4 -0
- package/dist/cloudflare/core/tokens/parsers/stubs.js +20 -0
- package/dist/cloudflare/core/tokens/parsers/style-dictionary-v3.js +4 -0
- package/dist/cloudflare/core/tokens/parsers/tailwind-v3.js +4 -0
- package/dist/cloudflare/core/tokens/parsers/tailwind-v4.js +4 -0
- package/dist/cloudflare/core/tokens/parsers/tokens-studio.js +4 -0
- package/dist/cloudflare/core/tokens/schemas.js +152 -0
- package/dist/cloudflare/core/tokens/transforms/color.js +12 -0
- package/dist/cloudflare/core/tokens/transforms/index.js +29 -0
- package/dist/cloudflare/core/tokens/transforms/size.js +7 -0
- package/dist/cloudflare/core/tokens/types.js +18 -0
- package/dist/cloudflare/core/tokens-tools.js +1788 -0
- package/dist/cloudflare/core/types/design-code.js +4 -0
- package/dist/cloudflare/core/types/enriched.js +5 -0
- package/dist/cloudflare/core/types/index.js +4 -0
- package/dist/cloudflare/core/variable-resolver.js +85 -0
- package/dist/cloudflare/core/version-tools.js +1199 -0
- package/dist/cloudflare/core/websocket-connector.js +436 -0
- package/dist/cloudflare/core/websocket-server.js +956 -0
- package/dist/cloudflare/core/write-tools.js +2506 -0
- package/dist/cloudflare/index.js +3010 -0
- package/dist/core/accessibility-tools.d.ts +21 -0
- package/dist/core/accessibility-tools.d.ts.map +1 -0
- package/dist/core/accessibility-tools.js +362 -0
- package/dist/core/accessibility-tools.js.map +1 -0
- package/dist/core/annotation-tools.d.ts +14 -0
- package/dist/core/annotation-tools.d.ts.map +1 -0
- package/dist/core/annotation-tools.js +231 -0
- package/dist/core/annotation-tools.js.map +1 -0
- package/dist/core/comment-tools.d.ts +11 -0
- package/dist/core/comment-tools.d.ts.map +1 -0
- package/dist/core/comment-tools.js +293 -0
- package/dist/core/comment-tools.js.map +1 -0
- package/dist/core/config.d.ts +17 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +154 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/console-monitor.d.ts +82 -0
- package/dist/core/console-monitor.d.ts.map +1 -0
- package/dist/core/console-monitor.js +428 -0
- package/dist/core/console-monitor.js.map +1 -0
- package/dist/core/deep-component-tools.d.ts +14 -0
- package/dist/core/deep-component-tools.d.ts.map +1 -0
- package/dist/core/deep-component-tools.js +129 -0
- package/dist/core/deep-component-tools.js.map +1 -0
- package/dist/core/design-code-tools.d.ts +116 -0
- package/dist/core/design-code-tools.d.ts.map +1 -0
- package/dist/core/design-code-tools.js +2794 -0
- package/dist/core/design-code-tools.js.map +1 -0
- package/dist/core/design-system-manifest.d.ts +273 -0
- package/dist/core/design-system-manifest.d.ts.map +1 -0
- package/dist/core/design-system-manifest.js +266 -0
- package/dist/core/design-system-manifest.js.map +1 -0
- package/dist/core/design-system-tools.d.ts +67 -0
- package/dist/core/design-system-tools.d.ts.map +1 -0
- package/dist/core/design-system-tools.js +883 -0
- package/dist/core/design-system-tools.js.map +1 -0
- package/dist/core/diagnose-tool.d.ts +41 -0
- package/dist/core/diagnose-tool.d.ts.map +1 -0
- package/dist/core/diagnose-tool.js +101 -0
- package/dist/core/diagnose-tool.js.map +1 -0
- package/dist/core/diff/changelog-formatter.d.ts +35 -0
- package/dist/core/diff/changelog-formatter.d.ts.map +1 -0
- package/dist/core/diff/changelog-formatter.js +276 -0
- package/dist/core/diff/changelog-formatter.js.map +1 -0
- package/dist/core/diff/diff-engine.d.ts +127 -0
- package/dist/core/diff/diff-engine.d.ts.map +1 -0
- package/dist/core/diff/diff-engine.js +335 -0
- package/dist/core/diff/diff-engine.js.map +1 -0
- package/dist/core/diff/property-compare.d.ts +19 -0
- package/dist/core/diff/property-compare.d.ts.map +1 -0
- package/dist/core/diff/property-compare.js +37 -0
- package/dist/core/diff/property-compare.js.map +1 -0
- package/dist/core/diff/version-cache.d.ts +40 -0
- package/dist/core/diff/version-cache.d.ts.map +1 -0
- package/dist/core/diff/version-cache.js +75 -0
- package/dist/core/diff/version-cache.js.map +1 -0
- package/dist/core/enrichment/enrichment-service.d.ts +52 -0
- package/dist/core/enrichment/enrichment-service.d.ts.map +1 -0
- package/dist/core/enrichment/enrichment-service.js +375 -0
- package/dist/core/enrichment/enrichment-service.js.map +1 -0
- package/dist/core/enrichment/index.d.ts +8 -0
- package/dist/core/enrichment/index.d.ts.map +1 -0
- package/dist/core/enrichment/index.js +8 -0
- package/dist/core/enrichment/index.js.map +1 -0
- package/dist/core/enrichment/relationship-mapper.d.ts +106 -0
- package/dist/core/enrichment/relationship-mapper.d.ts.map +1 -0
- package/dist/core/enrichment/relationship-mapper.js +352 -0
- package/dist/core/enrichment/relationship-mapper.js.map +1 -0
- package/dist/core/enrichment/style-resolver.d.ts +85 -0
- package/dist/core/enrichment/style-resolver.d.ts.map +1 -0
- package/dist/core/enrichment/style-resolver.js +347 -0
- package/dist/core/enrichment/style-resolver.js.map +1 -0
- package/dist/core/figjam-tools.d.ts +8 -0
- package/dist/core/figjam-tools.d.ts.map +1 -0
- package/dist/core/figjam-tools.js +548 -0
- package/dist/core/figjam-tools.js.map +1 -0
- package/dist/core/figma-api.d.ts +254 -0
- package/dist/core/figma-api.d.ts.map +1 -0
- package/dist/core/figma-api.js +510 -0
- package/dist/core/figma-api.js.map +1 -0
- package/dist/core/figma-connector.d.ts +214 -0
- package/dist/core/figma-connector.d.ts.map +1 -0
- package/dist/core/figma-connector.js +8 -0
- package/dist/core/figma-connector.js.map +1 -0
- package/dist/core/figma-desktop-connector.d.ts +312 -0
- package/dist/core/figma-desktop-connector.d.ts.map +1 -0
- package/dist/core/figma-desktop-connector.js +1298 -0
- package/dist/core/figma-desktop-connector.js.map +1 -0
- package/dist/core/figma-reconstruction-spec.d.ts +166 -0
- package/dist/core/figma-reconstruction-spec.d.ts.map +1 -0
- package/dist/core/figma-reconstruction-spec.js +403 -0
- package/dist/core/figma-reconstruction-spec.js.map +1 -0
- package/dist/core/figma-style-extractor.d.ts +76 -0
- package/dist/core/figma-style-extractor.d.ts.map +1 -0
- package/dist/core/figma-style-extractor.js +312 -0
- package/dist/core/figma-style-extractor.js.map +1 -0
- package/dist/core/figma-tools.d.ts +22 -0
- package/dist/core/figma-tools.d.ts.map +1 -0
- package/dist/core/figma-tools.js +3303 -0
- package/dist/core/figma-tools.js.map +1 -0
- package/dist/core/identity.d.ts +41 -0
- package/dist/core/identity.d.ts.map +1 -0
- package/dist/core/identity.js +97 -0
- package/dist/core/identity.js.map +1 -0
- package/dist/core/library-tools.d.ts +17 -0
- package/dist/core/library-tools.d.ts.map +1 -0
- package/dist/core/library-tools.js +581 -0
- package/dist/core/library-tools.js.map +1 -0
- package/dist/core/logger.d.ts +22 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +54 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/port-discovery.d.ts +211 -0
- package/dist/core/port-discovery.d.ts.map +1 -0
- package/dist/core/port-discovery.js +936 -0
- package/dist/core/port-discovery.js.map +1 -0
- package/dist/core/resolve-package-root.d.ts +2 -0
- package/dist/core/resolve-package-root.d.ts.map +1 -0
- package/dist/core/resolve-package-root.js +12 -0
- package/dist/core/resolve-package-root.js.map +1 -0
- package/dist/core/slides-tools.d.ts +8 -0
- package/dist/core/slides-tools.d.ts.map +1 -0
- package/dist/core/slides-tools.js +715 -0
- package/dist/core/slides-tools.js.map +1 -0
- package/dist/core/slot-tools.d.ts +7 -0
- package/dist/core/slot-tools.d.ts.map +1 -0
- package/dist/core/slot-tools.js +335 -0
- package/dist/core/slot-tools.js.map +1 -0
- package/dist/core/snippet-injector.d.ts +24 -0
- package/dist/core/snippet-injector.d.ts.map +1 -0
- package/dist/core/snippet-injector.js +97 -0
- package/dist/core/snippet-injector.js.map +1 -0
- package/dist/core/tokens/alias-resolver.d.ts +97 -0
- package/dist/core/tokens/alias-resolver.d.ts.map +1 -0
- package/dist/core/tokens/alias-resolver.js +206 -0
- package/dist/core/tokens/alias-resolver.js.map +1 -0
- package/dist/core/tokens/config.d.ts +380 -0
- package/dist/core/tokens/config.d.ts.map +1 -0
- package/dist/core/tokens/config.js +295 -0
- package/dist/core/tokens/config.js.map +1 -0
- package/dist/core/tokens/dialect.d.ts +107 -0
- package/dist/core/tokens/dialect.d.ts.map +1 -0
- package/dist/core/tokens/dialect.js +233 -0
- package/dist/core/tokens/dialect.js.map +1 -0
- package/dist/core/tokens/figma-converter.d.ts +102 -0
- package/dist/core/tokens/figma-converter.d.ts.map +1 -0
- package/dist/core/tokens/figma-converter.js +324 -0
- package/dist/core/tokens/figma-converter.js.map +1 -0
- package/dist/core/tokens/formatters/css-vars.d.ts +24 -0
- package/dist/core/tokens/formatters/css-vars.d.ts.map +1 -0
- package/dist/core/tokens/formatters/css-vars.js +339 -0
- package/dist/core/tokens/formatters/css-vars.js.map +1 -0
- package/dist/core/tokens/formatters/dtcg.d.ts +28 -0
- package/dist/core/tokens/formatters/dtcg.d.ts.map +1 -0
- package/dist/core/tokens/formatters/dtcg.js +377 -0
- package/dist/core/tokens/formatters/dtcg.js.map +1 -0
- package/dist/core/tokens/formatters/index.d.ts +30 -0
- package/dist/core/tokens/formatters/index.d.ts.map +1 -0
- package/dist/core/tokens/formatters/index.js +46 -0
- package/dist/core/tokens/formatters/index.js.map +1 -0
- package/dist/core/tokens/formatters/json.d.ts +37 -0
- package/dist/core/tokens/formatters/json.d.ts.map +1 -0
- package/dist/core/tokens/formatters/json.js +206 -0
- package/dist/core/tokens/formatters/json.js.map +1 -0
- package/dist/core/tokens/formatters/less.d.ts +4 -0
- package/dist/core/tokens/formatters/less.d.ts.map +1 -0
- package/dist/core/tokens/formatters/less.js +5 -0
- package/dist/core/tokens/formatters/less.js.map +1 -0
- package/dist/core/tokens/formatters/scss.d.ts +26 -0
- package/dist/core/tokens/formatters/scss.d.ts.map +1 -0
- package/dist/core/tokens/formatters/scss.js +259 -0
- package/dist/core/tokens/formatters/scss.js.map +1 -0
- package/dist/core/tokens/formatters/stubs.d.ts +9 -0
- package/dist/core/tokens/formatters/stubs.d.ts.map +1 -0
- package/dist/core/tokens/formatters/stubs.js +14 -0
- package/dist/core/tokens/formatters/stubs.js.map +1 -0
- package/dist/core/tokens/formatters/style-dictionary-v3.d.ts +45 -0
- package/dist/core/tokens/formatters/style-dictionary-v3.d.ts.map +1 -0
- package/dist/core/tokens/formatters/style-dictionary-v3.js +214 -0
- package/dist/core/tokens/formatters/style-dictionary-v3.js.map +1 -0
- package/dist/core/tokens/formatters/tailwind-v3.d.ts +37 -0
- package/dist/core/tokens/formatters/tailwind-v3.d.ts.map +1 -0
- package/dist/core/tokens/formatters/tailwind-v3.js +238 -0
- package/dist/core/tokens/formatters/tailwind-v3.js.map +1 -0
- package/dist/core/tokens/formatters/tailwind-v4.d.ts +41 -0
- package/dist/core/tokens/formatters/tailwind-v4.d.ts.map +1 -0
- package/dist/core/tokens/formatters/tailwind-v4.js +336 -0
- package/dist/core/tokens/formatters/tailwind-v4.js.map +1 -0
- package/dist/core/tokens/formatters/tokens-studio.d.ts +44 -0
- package/dist/core/tokens/formatters/tokens-studio.d.ts.map +1 -0
- package/dist/core/tokens/formatters/tokens-studio.js +257 -0
- package/dist/core/tokens/formatters/tokens-studio.js.map +1 -0
- package/dist/core/tokens/formatters/ts-module.d.ts +35 -0
- package/dist/core/tokens/formatters/ts-module.d.ts.map +1 -0
- package/dist/core/tokens/formatters/ts-module.js +199 -0
- package/dist/core/tokens/formatters/ts-module.js.map +1 -0
- package/dist/core/tokens/index.d.ts +18 -0
- package/dist/core/tokens/index.d.ts.map +1 -0
- package/dist/core/tokens/index.js +17 -0
- package/dist/core/tokens/index.js.map +1 -0
- package/dist/core/tokens/parsers/css-vars.d.ts +3 -0
- package/dist/core/tokens/parsers/css-vars.d.ts.map +1 -0
- package/dist/core/tokens/parsers/css-vars.js +5 -0
- package/dist/core/tokens/parsers/css-vars.js.map +1 -0
- package/dist/core/tokens/parsers/dtcg.d.ts +21 -0
- package/dist/core/tokens/parsers/dtcg.d.ts.map +1 -0
- package/dist/core/tokens/parsers/dtcg.js +281 -0
- package/dist/core/tokens/parsers/dtcg.js.map +1 -0
- package/dist/core/tokens/parsers/index.d.ts +37 -0
- package/dist/core/tokens/parsers/index.d.ts.map +1 -0
- package/dist/core/tokens/parsers/index.js +139 -0
- package/dist/core/tokens/parsers/index.js.map +1 -0
- package/dist/core/tokens/parsers/json.d.ts +4 -0
- package/dist/core/tokens/parsers/json.d.ts.map +1 -0
- package/dist/core/tokens/parsers/json.js +8 -0
- package/dist/core/tokens/parsers/json.js.map +1 -0
- package/dist/core/tokens/parsers/scss.d.ts +3 -0
- package/dist/core/tokens/parsers/scss.d.ts.map +1 -0
- package/dist/core/tokens/parsers/scss.js +5 -0
- package/dist/core/tokens/parsers/scss.js.map +1 -0
- package/dist/core/tokens/parsers/stubs.d.ts +15 -0
- package/dist/core/tokens/parsers/stubs.d.ts.map +1 -0
- package/dist/core/tokens/parsers/stubs.js +21 -0
- package/dist/core/tokens/parsers/stubs.js.map +1 -0
- package/dist/core/tokens/parsers/style-dictionary-v3.d.ts +3 -0
- package/dist/core/tokens/parsers/style-dictionary-v3.d.ts.map +1 -0
- package/dist/core/tokens/parsers/style-dictionary-v3.js +5 -0
- package/dist/core/tokens/parsers/style-dictionary-v3.js.map +1 -0
- package/dist/core/tokens/parsers/tailwind-v3.d.ts +3 -0
- package/dist/core/tokens/parsers/tailwind-v3.d.ts.map +1 -0
- package/dist/core/tokens/parsers/tailwind-v3.js +5 -0
- package/dist/core/tokens/parsers/tailwind-v3.js.map +1 -0
- package/dist/core/tokens/parsers/tailwind-v4.d.ts +3 -0
- package/dist/core/tokens/parsers/tailwind-v4.d.ts.map +1 -0
- package/dist/core/tokens/parsers/tailwind-v4.js +5 -0
- package/dist/core/tokens/parsers/tailwind-v4.js.map +1 -0
- package/dist/core/tokens/parsers/tokens-studio.d.ts +3 -0
- package/dist/core/tokens/parsers/tokens-studio.d.ts.map +1 -0
- package/dist/core/tokens/parsers/tokens-studio.js +5 -0
- package/dist/core/tokens/parsers/tokens-studio.js.map +1 -0
- package/dist/core/tokens/schemas.d.ts +155 -0
- package/dist/core/tokens/schemas.d.ts.map +1 -0
- package/dist/core/tokens/schemas.js +153 -0
- package/dist/core/tokens/schemas.js.map +1 -0
- package/dist/core/tokens/transforms/color.d.ts +9 -0
- package/dist/core/tokens/transforms/color.d.ts.map +1 -0
- package/dist/core/tokens/transforms/color.js +13 -0
- package/dist/core/tokens/transforms/color.js.map +1 -0
- package/dist/core/tokens/transforms/index.d.ts +36 -0
- package/dist/core/tokens/transforms/index.d.ts.map +1 -0
- package/dist/core/tokens/transforms/index.js +30 -0
- package/dist/core/tokens/transforms/index.js.map +1 -0
- package/dist/core/tokens/transforms/size.d.ts +7 -0
- package/dist/core/tokens/transforms/size.d.ts.map +1 -0
- package/dist/core/tokens/transforms/size.js +8 -0
- package/dist/core/tokens/transforms/size.js.map +1 -0
- package/dist/core/tokens/types.d.ts +284 -0
- package/dist/core/tokens/types.d.ts.map +1 -0
- package/dist/core/tokens/types.js +19 -0
- package/dist/core/tokens/types.js.map +1 -0
- package/dist/core/tokens-tools.d.ts +285 -0
- package/dist/core/tokens-tools.d.ts.map +1 -0
- package/dist/core/tokens-tools.js +1789 -0
- package/dist/core/tokens-tools.js.map +1 -0
- package/dist/core/types/design-code.d.ts +271 -0
- package/dist/core/types/design-code.d.ts.map +1 -0
- package/dist/core/types/design-code.js +5 -0
- package/dist/core/types/design-code.js.map +1 -0
- package/dist/core/types/enriched.d.ts +213 -0
- package/dist/core/types/enriched.d.ts.map +1 -0
- package/dist/core/types/enriched.js +6 -0
- package/dist/core/types/enriched.js.map +1 -0
- package/dist/core/types/index.d.ts +104 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +5 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/variable-resolver.d.ts +45 -0
- package/dist/core/variable-resolver.d.ts.map +1 -0
- package/dist/core/variable-resolver.js +86 -0
- package/dist/core/variable-resolver.js.map +1 -0
- package/dist/core/version-tools.d.ts +59 -0
- package/dist/core/version-tools.d.ts.map +1 -0
- package/dist/core/version-tools.js +1200 -0
- package/dist/core/version-tools.js.map +1 -0
- package/dist/core/websocket-connector.d.ts +247 -0
- package/dist/core/websocket-connector.d.ts.map +1 -0
- package/dist/core/websocket-connector.js +437 -0
- package/dist/core/websocket-connector.js.map +1 -0
- package/dist/core/websocket-server.d.ts +290 -0
- package/dist/core/websocket-server.d.ts.map +1 -0
- package/dist/core/websocket-server.js +957 -0
- package/dist/core/websocket-server.js.map +1 -0
- package/dist/core/write-tools.d.ts +7 -0
- package/dist/core/write-tools.d.ts.map +1 -0
- package/dist/core/write-tools.js +2507 -0
- package/dist/core/write-tools.js.map +1 -0
- package/dist/local.d.ts +105 -0
- package/dist/local.d.ts.map +1 -0
- package/dist/local.js +3314 -0
- package/dist/local.js.map +1 -0
- package/figma-desktop-bridge/README.md +365 -0
- package/figma-desktop-bridge/code.js +7359 -0
- package/figma-desktop-bridge/icon.png +0 -0
- package/figma-desktop-bridge/manifest.json +67 -0
- package/figma-desktop-bridge/ui.html +2783 -0
- package/package.json +103 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Bridge Server (Multi-Client)
|
|
3
|
+
*
|
|
4
|
+
* Creates a WebSocket server that multiple Desktop Bridge plugin instances connect to.
|
|
5
|
+
* Each instance represents a different Figma file and is identified by its fileKey
|
|
6
|
+
* (sent via FILE_INFO on connection). Per-file state (selection, document changes,
|
|
7
|
+
* console logs) is maintained independently.
|
|
8
|
+
*
|
|
9
|
+
* Active file tracking: The "active" file is automatically switched when the user
|
|
10
|
+
* interacts with a file (selection/page changes) or can be set explicitly via
|
|
11
|
+
* setActiveFile(). All backward-compatible getters return data from the active file.
|
|
12
|
+
*
|
|
13
|
+
* Data flow: MCP Server ←WebSocket→ ui.html ←postMessage→ code.js ←figma.*→ Figma
|
|
14
|
+
*/
|
|
15
|
+
import { WebSocket } from 'ws';
|
|
16
|
+
import { EventEmitter } from 'events';
|
|
17
|
+
import type { ConsoleLogEntry } from './types/index.js';
|
|
18
|
+
/**
|
|
19
|
+
* Extract the PLUGIN_VERSION constant from figma-desktop-bridge/code.js source.
|
|
20
|
+
* Returns null when the constant is absent or malformed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseBundledPluginVersion(codeJsSource: string): string | null;
|
|
23
|
+
/** Version of the plugin files bundled with this server (what a re-import installs). */
|
|
24
|
+
export declare function getBundledPluginVersion(): string;
|
|
25
|
+
/**
|
|
26
|
+
* A plugin needs re-importing when it reports no version (predates version
|
|
27
|
+
* reporting) or a version different from the plugin files this server ships.
|
|
28
|
+
* The server's own package version is irrelevant here.
|
|
29
|
+
*/
|
|
30
|
+
export declare function computePluginUpdateAvailable(pluginVersion: string | null, bundledPluginVersion: string): boolean;
|
|
31
|
+
export interface WebSocketServerOptions {
|
|
32
|
+
port: number;
|
|
33
|
+
host?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Version of the plugin files shipped with this server, used for the
|
|
36
|
+
* FILE_INFO version handshake. Defaults to the PLUGIN_VERSION parsed from
|
|
37
|
+
* the packaged figma-desktop-bridge/code.js. Overridable for tests.
|
|
38
|
+
*/
|
|
39
|
+
bundledPluginVersion?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface ConnectedFileInfo {
|
|
42
|
+
fileName: string;
|
|
43
|
+
fileKey: string | null;
|
|
44
|
+
currentPage?: string;
|
|
45
|
+
currentPageId?: string;
|
|
46
|
+
editorType?: 'figma' | 'figjam' | 'dev';
|
|
47
|
+
connectedAt: number;
|
|
48
|
+
/** Version reported by the imported plugin's code.js (FILE_INFO). Null when the plugin predates version reporting. */
|
|
49
|
+
pluginVersion?: string | null;
|
|
50
|
+
/** True when the imported plugin's version differs from the plugin files bundled with this server — the user should re-import manifest.json. */
|
|
51
|
+
pluginUpdateAvailable?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface SelectionInfo {
|
|
54
|
+
nodes: Array<{
|
|
55
|
+
id: string;
|
|
56
|
+
name: string;
|
|
57
|
+
type: string;
|
|
58
|
+
width?: number;
|
|
59
|
+
height?: number;
|
|
60
|
+
}>;
|
|
61
|
+
count: number;
|
|
62
|
+
page: string;
|
|
63
|
+
timestamp: number;
|
|
64
|
+
}
|
|
65
|
+
export interface DocumentChangeEntry {
|
|
66
|
+
hasStyleChanges: boolean;
|
|
67
|
+
hasNodeChanges: boolean;
|
|
68
|
+
changedNodeIds: string[];
|
|
69
|
+
changeCount: number;
|
|
70
|
+
timestamp: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* v1.25.0: A single metadata-only change captured by the plugin and forwarded
|
|
74
|
+
* over the WebSocket. Tracks the two fields Figma REST never exposes in version
|
|
75
|
+
* snapshots — `description` and `annotations` — so `figma_diff_versions` can
|
|
76
|
+
* surface them by correlating buffer entries to the diff time window.
|
|
77
|
+
*
|
|
78
|
+
* The plugin captures these on `figma.on('documentchange')` when a PROPERTY_CHANGE
|
|
79
|
+
* touches one of those fields. Only the NEW value is captured (Figma's event
|
|
80
|
+
* doesn't include before/after). The diff engine treats the from-version's
|
|
81
|
+
* value as "whatever it was at the start of the window" — buffer entries
|
|
82
|
+
* within the window are interpreted as "during this version range, the field
|
|
83
|
+
* was edited; final value at end of window is shown."
|
|
84
|
+
*/
|
|
85
|
+
export interface MetadataChangeEntry {
|
|
86
|
+
node_id: string;
|
|
87
|
+
node_name: string | null;
|
|
88
|
+
node_type: string | null;
|
|
89
|
+
field: 'description' | 'annotations';
|
|
90
|
+
new_value: any;
|
|
91
|
+
timestamp: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Per-file client connection state.
|
|
95
|
+
* Each Figma file with the Desktop Bridge plugin open gets its own ClientConnection.
|
|
96
|
+
*/
|
|
97
|
+
export interface ClientConnection {
|
|
98
|
+
ws: WebSocket;
|
|
99
|
+
fileInfo: ConnectedFileInfo;
|
|
100
|
+
selection: SelectionInfo | null;
|
|
101
|
+
documentChanges: DocumentChangeEntry[];
|
|
102
|
+
/** v1.25.0: per-file ring buffer of description/annotation change events */
|
|
103
|
+
metadataChanges: MetadataChangeEntry[];
|
|
104
|
+
consoleLogs: ConsoleLogEntry[];
|
|
105
|
+
lastActivity: number;
|
|
106
|
+
lastPongAt: number;
|
|
107
|
+
gracePeriodTimer: ReturnType<typeof setTimeout> | null;
|
|
108
|
+
}
|
|
109
|
+
export declare class FigmaWebSocketServer extends EventEmitter {
|
|
110
|
+
private wss;
|
|
111
|
+
private httpServer;
|
|
112
|
+
/** Named clients indexed by fileKey — each represents a connected Figma file */
|
|
113
|
+
private clients;
|
|
114
|
+
/** Clients awaiting FILE_INFO identification, mapped to their pending timeout */
|
|
115
|
+
private _pendingClients;
|
|
116
|
+
/** The fileKey of the currently active (targeted) file */
|
|
117
|
+
private _activeFileKey;
|
|
118
|
+
private pendingRequests;
|
|
119
|
+
private requestIdCounter;
|
|
120
|
+
private options;
|
|
121
|
+
private _isStarted;
|
|
122
|
+
private _startedAt;
|
|
123
|
+
private consoleBufferSize;
|
|
124
|
+
private documentChangeBufferSize;
|
|
125
|
+
/** Heartbeat interval for detecting dead connections via ping/pong */
|
|
126
|
+
private _heartbeatInterval;
|
|
127
|
+
constructor(options: WebSocketServerOptions);
|
|
128
|
+
/**
|
|
129
|
+
* Handle HTTP requests on the same port as WebSocket.
|
|
130
|
+
* Serves a JSON `/health` (also at `/`) endpoint with version and connected-file
|
|
131
|
+
* info. No plugin-UI route exists — the plugin loads its own `ui.html` from disk
|
|
132
|
+
* via the Figma plugin runtime; the legacy `/plugin/ui` bootloader endpoint was
|
|
133
|
+
* removed in the Phase 3 cleanup.
|
|
134
|
+
*/
|
|
135
|
+
private handleHttpRequest;
|
|
136
|
+
/**
|
|
137
|
+
* Start the HTTP + WebSocket server.
|
|
138
|
+
* HTTP serves the plugin UI content; WebSocket handles plugin communication.
|
|
139
|
+
*/
|
|
140
|
+
start(): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Find a named client connection by its WebSocket reference
|
|
143
|
+
*/
|
|
144
|
+
private findClientByWs;
|
|
145
|
+
/**
|
|
146
|
+
* Handle incoming message from a plugin UI WebSocket connection
|
|
147
|
+
*/
|
|
148
|
+
private handleMessage;
|
|
149
|
+
/**
|
|
150
|
+
* Handle FILE_INFO message — promotes pending clients to named clients.
|
|
151
|
+
* This is the critical multi-client identification step: each plugin reports
|
|
152
|
+
* its fileKey on connect, allowing the server to track multiple files.
|
|
153
|
+
*/
|
|
154
|
+
private handleFileInfo;
|
|
155
|
+
/**
|
|
156
|
+
* Handle a client WebSocket disconnecting.
|
|
157
|
+
* Starts a grace period before removing the client to allow reconnection.
|
|
158
|
+
*/
|
|
159
|
+
private handleClientDisconnect;
|
|
160
|
+
/**
|
|
161
|
+
* Send a command to a plugin UI and wait for the response.
|
|
162
|
+
* By default targets the active file. Pass targetFileKey to target a specific file.
|
|
163
|
+
*/
|
|
164
|
+
sendCommand(method: string, params?: Record<string, any>, timeoutMs?: number, targetFileKey?: string): Promise<any>;
|
|
165
|
+
/**
|
|
166
|
+
* Start the heartbeat interval that pings all connected clients every 30s.
|
|
167
|
+
* Detects silently dropped connections (e.g., macOS sleep, network change)
|
|
168
|
+
* that the OS TCP keepalive would take 30-120s to catch.
|
|
169
|
+
* Browser WebSocket clients auto-respond to pings per RFC 6455.
|
|
170
|
+
*/
|
|
171
|
+
private startHeartbeat;
|
|
172
|
+
/**
|
|
173
|
+
* Check if any named client is connected (transport availability check).
|
|
174
|
+
* Checks both socket readyState and heartbeat pong freshness to avoid
|
|
175
|
+
* reporting phantom-connected state on silently dropped connections.
|
|
176
|
+
*/
|
|
177
|
+
isClientConnected(): boolean;
|
|
178
|
+
/**
|
|
179
|
+
* Whether the server has been started
|
|
180
|
+
*/
|
|
181
|
+
isStarted(): boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Get the bound address info (port, host, family).
|
|
184
|
+
* Only available after the server has started listening.
|
|
185
|
+
* Returns the actual port — critical when using port 0 for OS-assigned ports.
|
|
186
|
+
*/
|
|
187
|
+
address(): import('net').AddressInfo | null;
|
|
188
|
+
/**
|
|
189
|
+
* Get info about the currently active Figma file.
|
|
190
|
+
* Returns null if no file is active or connected.
|
|
191
|
+
*/
|
|
192
|
+
getConnectedFileInfo(): ConnectedFileInfo | null;
|
|
193
|
+
/**
|
|
194
|
+
* Get the current user selection in the active Figma file
|
|
195
|
+
*/
|
|
196
|
+
getCurrentSelection(): SelectionInfo | null;
|
|
197
|
+
/**
|
|
198
|
+
* Get buffered document change events from the active file
|
|
199
|
+
*/
|
|
200
|
+
getDocumentChanges(options?: {
|
|
201
|
+
count?: number;
|
|
202
|
+
since?: number;
|
|
203
|
+
}): DocumentChangeEntry[];
|
|
204
|
+
/**
|
|
205
|
+
* Clear document change buffer for the active file
|
|
206
|
+
*/
|
|
207
|
+
clearDocumentChanges(): number;
|
|
208
|
+
/**
|
|
209
|
+
* v1.25.0: Get buffered description/annotation change events for a file.
|
|
210
|
+
*
|
|
211
|
+
* Used by `figma_diff_versions` to surface changes that Figma REST doesn't
|
|
212
|
+
* expose. The diff engine passes a time window (from-version → to-version
|
|
213
|
+
* `last_modified` timestamps converted to Unix ms) and optional scoping by
|
|
214
|
+
* node IDs.
|
|
215
|
+
*
|
|
216
|
+
* Defaults to the active file if `fileKey` is omitted.
|
|
217
|
+
*/
|
|
218
|
+
getMetadataChanges(options?: {
|
|
219
|
+
fileKey?: string;
|
|
220
|
+
since?: number;
|
|
221
|
+
until?: number;
|
|
222
|
+
nodeIds?: string[];
|
|
223
|
+
}): MetadataChangeEntry[];
|
|
224
|
+
/**
|
|
225
|
+
* v1.25.0: Clear metadata-change buffer for the active file.
|
|
226
|
+
*/
|
|
227
|
+
clearMetadataChanges(): number;
|
|
228
|
+
/**
|
|
229
|
+
* Get console logs from the active file with optional filtering
|
|
230
|
+
*/
|
|
231
|
+
getConsoleLogs(options?: {
|
|
232
|
+
count?: number;
|
|
233
|
+
level?: ConsoleLogEntry['level'] | 'all';
|
|
234
|
+
since?: number;
|
|
235
|
+
}): ConsoleLogEntry[];
|
|
236
|
+
/**
|
|
237
|
+
* Clear console log buffer for the active file
|
|
238
|
+
*/
|
|
239
|
+
clearConsoleLogs(): number;
|
|
240
|
+
/**
|
|
241
|
+
* Get console monitoring status for the active file
|
|
242
|
+
*/
|
|
243
|
+
getConsoleStatus(): {
|
|
244
|
+
isMonitoring: boolean;
|
|
245
|
+
anyClientConnected: boolean;
|
|
246
|
+
logCount: number;
|
|
247
|
+
bufferSize: number;
|
|
248
|
+
workerCount: number;
|
|
249
|
+
oldestTimestamp: number;
|
|
250
|
+
newestTimestamp: number;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Get info about all connected Figma files.
|
|
254
|
+
* Returns an array of ConnectedFileInfo for each file with an active WebSocket.
|
|
255
|
+
*/
|
|
256
|
+
getConnectedFiles(): (ConnectedFileInfo & {
|
|
257
|
+
isActive: boolean;
|
|
258
|
+
})[];
|
|
259
|
+
/**
|
|
260
|
+
* Get the last pong timestamp for the active client.
|
|
261
|
+
* Returns null if no active client or no pong received yet.
|
|
262
|
+
*/
|
|
263
|
+
getActiveClientLastPongAt(): number | null;
|
|
264
|
+
/**
|
|
265
|
+
* Set the active file by fileKey. Returns true if the file is connected.
|
|
266
|
+
*/
|
|
267
|
+
setActiveFile(fileKey: string): boolean;
|
|
268
|
+
/**
|
|
269
|
+
* Get the currently active file's key
|
|
270
|
+
*/
|
|
271
|
+
getActiveFileKey(): string | null;
|
|
272
|
+
/**
|
|
273
|
+
* Get the editor type of the currently active file.
|
|
274
|
+
* Returns 'figma' if no file is connected or editorType wasn't reported.
|
|
275
|
+
*/
|
|
276
|
+
getEditorType(): 'figma' | 'figjam' | 'dev';
|
|
277
|
+
/**
|
|
278
|
+
* Reject pending requests that were sent to a specific file
|
|
279
|
+
*/
|
|
280
|
+
private rejectPendingRequestsForFile;
|
|
281
|
+
/**
|
|
282
|
+
* Reject all pending requests (used during shutdown)
|
|
283
|
+
*/
|
|
284
|
+
private rejectPendingRequests;
|
|
285
|
+
/**
|
|
286
|
+
* Stop the server and clean up all connections
|
|
287
|
+
*/
|
|
288
|
+
stop(): Promise<void>;
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=websocket-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../src/core/websocket-server.ts"],"names":[],"mappings":"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"}
|