@sarjallab09/figma-intelligence 1.1.0 → 1.2.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.
Files changed (297) hide show
  1. package/README.md +69 -36
  2. package/dist/bin/cli.js +2 -0
  3. package/dist/design-bridge/bridge.js +2 -0
  4. package/dist/figma-bridge-plugin/bridge-relay.js +2 -0
  5. package/dist/figma-bridge-plugin/code.js +1 -0
  6. package/{figma-bridge-plugin → dist/figma-bridge-plugin}/package-lock.json +0 -3
  7. package/dist/figma-bridge-plugin/ui.html +4970 -0
  8. package/dist/figma-intelligence-layer/dist/index.js +2 -0
  9. package/dist/scripts/clean-existing-chunks.js +2 -0
  10. package/dist/scripts/connect-ai-tool.js +2 -0
  11. package/dist/scripts/convert-hub-pdfs.js +2 -0
  12. package/dist/scripts/figma-mcp-status.js +2 -0
  13. package/dist/scripts/register-codex-mcp.js +2 -0
  14. package/dist/scripts/test-copilot-chat.js +2 -0
  15. package/package.json +11 -8
  16. package/bin/cli.js +0 -859
  17. package/design-bridge/bridge.js +0 -196
  18. package/design-bridge/lib/assets.js +0 -367
  19. package/design-bridge/lib/prompt.js +0 -85
  20. package/design-bridge/lib/server.js +0 -66
  21. package/design-bridge/lib/stitch.js +0 -37
  22. package/design-bridge/lib/tokens.js +0 -82
  23. package/design-bridge/package-lock.json +0 -579
  24. package/figma-bridge-plugin/README.md +0 -97
  25. package/figma-bridge-plugin/anthropic-chat-runner.js +0 -192
  26. package/figma-bridge-plugin/bridge-relay.js +0 -2505
  27. package/figma-bridge-plugin/chat-runner.js +0 -485
  28. package/figma-bridge-plugin/code.js +0 -1534
  29. package/figma-bridge-plugin/codex-runner.js +0 -505
  30. package/figma-bridge-plugin/component-schemas.js +0 -110
  31. package/figma-bridge-plugin/content-context.js +0 -869
  32. package/figma-bridge-plugin/create-button.js +0 -216
  33. package/figma-bridge-plugin/gemini-cli-runner.js +0 -291
  34. package/figma-bridge-plugin/gemini-runner.js +0 -187
  35. package/figma-bridge-plugin/html-to-figma.js +0 -927
  36. package/figma-bridge-plugin/knowledge-hub/.gitkeep +0 -0
  37. package/figma-bridge-plugin/knowledge-hub/uspec-references/anatomy-spec.md +0 -159
  38. package/figma-bridge-plugin/knowledge-hub/uspec-references/api-spec.md +0 -162
  39. package/figma-bridge-plugin/knowledge-hub/uspec-references/color-spec.md +0 -148
  40. package/figma-bridge-plugin/knowledge-hub/uspec-references/full-spec-template.md +0 -314
  41. package/figma-bridge-plugin/knowledge-hub/uspec-references/property-spec.md +0 -175
  42. package/figma-bridge-plugin/knowledge-hub/uspec-references/screen-reader-spec.md +0 -180
  43. package/figma-bridge-plugin/knowledge-hub/uspec-references/structure-spec.md +0 -165
  44. package/figma-bridge-plugin/perplexity-runner.js +0 -188
  45. package/figma-bridge-plugin/references/SKILL.md +0 -178
  46. package/figma-bridge-plugin/references/anatomy-spec.md +0 -159
  47. package/figma-bridge-plugin/references/api-spec.md +0 -162
  48. package/figma-bridge-plugin/references/color-spec.md +0 -148
  49. package/figma-bridge-plugin/references/full-spec-template.md +0 -314
  50. package/figma-bridge-plugin/references/property-spec.md +0 -175
  51. package/figma-bridge-plugin/references/screen-reader-spec.md +0 -180
  52. package/figma-bridge-plugin/references/structure-spec.md +0 -165
  53. package/figma-bridge-plugin/shared-prompt-config.js +0 -645
  54. package/figma-bridge-plugin/spec-helpers/build-table.js +0 -269
  55. package/figma-bridge-plugin/spec-helpers/classify-elements.js +0 -189
  56. package/figma-bridge-plugin/spec-helpers/index.js +0 -35
  57. package/figma-bridge-plugin/spec-helpers/parse-figma-link.js +0 -49
  58. package/figma-bridge-plugin/spec-helpers/position-markers.js +0 -158
  59. package/figma-bridge-plugin/stitch-auth.js +0 -322
  60. package/figma-bridge-plugin/stitch-runner.js +0 -1427
  61. package/figma-bridge-plugin/token-resolver.js +0 -107
  62. package/figma-bridge-plugin/ui.html +0 -4542
  63. package/figma-intelligence-layer/.env.example +0 -39
  64. package/figma-intelligence-layer/docs/local-image-generation.md +0 -60
  65. package/figma-intelligence-layer/examples/comfyui-workflow-template.example.json +0 -101
  66. package/figma-intelligence-layer/jest.config.js +0 -14
  67. package/figma-intelligence-layer/mcp-config.json +0 -19
  68. package/figma-intelligence-layer/package-lock.json +0 -5892
  69. package/figma-intelligence-layer/scripts/setup-comfyui-local.sh +0 -67
  70. package/figma-intelligence-layer/scripts/start-comfyui.sh +0 -33
  71. package/figma-intelligence-layer/src/index.ts +0 -2233
  72. package/figma-intelligence-layer/src/shared/auto-layout-validator.ts +0 -404
  73. package/figma-intelligence-layer/src/shared/cache.ts +0 -187
  74. package/figma-intelligence-layer/src/shared/color-operations.ts +0 -533
  75. package/figma-intelligence-layer/src/shared/color-utils.ts +0 -138
  76. package/figma-intelligence-layer/src/shared/component-script-builder.ts +0 -413
  77. package/figma-intelligence-layer/src/shared/component-templates.ts +0 -2767
  78. package/figma-intelligence-layer/src/shared/concept-taxonomy.ts +0 -694
  79. package/figma-intelligence-layer/src/shared/decision-log.ts +0 -128
  80. package/figma-intelligence-layer/src/shared/design-system-context.ts +0 -568
  81. package/figma-intelligence-layer/src/shared/design-system-intelligence.ts +0 -131
  82. package/figma-intelligence-layer/src/shared/design-system-matcher.ts +0 -184
  83. package/figma-intelligence-layer/src/shared/design-system-normalizers.ts +0 -196
  84. package/figma-intelligence-layer/src/shared/design-system-tokens.ts +0 -295
  85. package/figma-intelligence-layer/src/shared/dtcg-validator.ts +0 -530
  86. package/figma-intelligence-layer/src/shared/enrichment-pipeline.ts +0 -671
  87. package/figma-intelligence-layer/src/shared/figma-bridge.ts +0 -1418
  88. package/figma-intelligence-layer/src/shared/font-config.ts +0 -126
  89. package/figma-intelligence-layer/src/shared/icon-catalog.ts +0 -360
  90. package/figma-intelligence-layer/src/shared/icon-fetch.ts +0 -80
  91. package/figma-intelligence-layer/src/shared/prototype-script-builder.ts +0 -162
  92. package/figma-intelligence-layer/src/shared/response-compression.ts +0 -440
  93. package/figma-intelligence-layer/src/shared/semantic-token-catalog.ts +0 -324
  94. package/figma-intelligence-layer/src/shared/token-binder.ts +0 -505
  95. package/figma-intelligence-layer/src/shared/token-math.ts +0 -427
  96. package/figma-intelligence-layer/src/shared/token-naming.ts +0 -468
  97. package/figma-intelligence-layer/src/shared/token-utils.ts +0 -420
  98. package/figma-intelligence-layer/src/shared/types.ts +0 -346
  99. package/figma-intelligence-layer/src/shared/typography-presets.ts +0 -94
  100. package/figma-intelligence-layer/src/shared/unsplash.ts +0 -165
  101. package/figma-intelligence-layer/src/shared/vision-client.ts +0 -607
  102. package/figma-intelligence-layer/src/shared/vision-provider-anthropic.ts +0 -334
  103. package/figma-intelligence-layer/src/shared/vision-provider-openai.ts +0 -446
  104. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-handler.ts +0 -782
  105. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-renderer.ts +0 -496
  106. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotation-kit.ts +0 -230
  107. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/colorblind-sim.ts +0 -66
  108. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/index.ts +0 -810
  109. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-analyzer.ts +0 -1191
  110. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-figma-page.ts +0 -1346
  111. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-handler.ts +0 -148
  112. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-figma-page.ts +0 -499
  113. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-report.ts +0 -910
  114. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-checker.ts +0 -989
  115. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-criteria.ts +0 -1160
  116. package/figma-intelligence-layer/src/tools/phase1-vision/design-from-ref/index.ts +0 -424
  117. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/component-recognizer.ts +0 -38
  118. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/ds-matcher.ts +0 -111
  119. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/font-matcher.ts +0 -114
  120. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/icon-resolver.ts +0 -103
  121. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/index.ts +0 -1060
  122. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/layout-segmenter.ts +0 -18
  123. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/token-inferencer.ts +0 -39
  124. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/vision-pipeline.ts +0 -58
  125. package/figma-intelligence-layer/src/tools/phase1-vision/sketch-to-design/index.ts +0 -298
  126. package/figma-intelligence-layer/src/tools/phase1-vision/visual-audit/index.ts +0 -197
  127. package/figma-intelligence-layer/src/tools/phase2-accuracy/component-audit/index.ts +0 -494
  128. package/figma-intelligence-layer/src/tools/phase2-accuracy/intent-translator/index.ts +0 -356
  129. package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/container-patterns.ts +0 -123
  130. package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/index.ts +0 -663
  131. package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/built-in-rules.yaml +0 -56
  132. package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/index.ts +0 -614
  133. package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/rule-engine.ts +0 -113
  134. package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/color-theory.ts +0 -178
  135. package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/index.ts +0 -470
  136. package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/index.ts +0 -429
  137. package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/token-override-maps.ts +0 -226
  138. package/figma-intelligence-layer/src/tools/phase3-generation/ai-image-insert/index.ts +0 -535
  139. package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/index.ts +0 -660
  140. package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/pattern-fingerprints.ts +0 -209
  141. package/figma-intelligence-layer/src/tools/phase3-generation/composition-builder/index.ts +0 -540
  142. package/figma-intelligence-layer/src/tools/phase3-generation/figma-animated-build.ts +0 -391
  143. package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/index.ts +0 -2019
  144. package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/screen-templates.ts +0 -131
  145. package/figma-intelligence-layer/src/tools/phase3-generation/prototype-map/index.ts +0 -381
  146. package/figma-intelligence-layer/src/tools/phase3-generation/prototype-wire/index.ts +0 -565
  147. package/figma-intelligence-layer/src/tools/phase3-generation/swarm-build/index.ts +0 -764
  148. package/figma-intelligence-layer/src/tools/phase3-generation/system-drift/index.ts +0 -535
  149. package/figma-intelligence-layer/src/tools/phase3-generation/unsplash-search/index.ts +0 -84
  150. package/figma-intelligence-layer/src/tools/phase3-generation/url-to-frame/index.ts +0 -401
  151. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/css-animations.ts +0 -68
  152. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/framer-motion.ts +0 -78
  153. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/swift-animations.ts +0 -93
  154. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/index.ts +0 -596
  155. package/figma-intelligence-layer/src/tools/phase4-sync/ci-check/index.ts +0 -462
  156. package/figma-intelligence-layer/src/tools/phase4-sync/export-tokens/index.ts +0 -1470
  157. package/figma-intelligence-layer/src/tools/phase4-sync/generate-component-code/index.ts +0 -829
  158. package/figma-intelligence-layer/src/tools/phase4-sync/handoff-spec/index.ts +0 -702
  159. package/figma-intelligence-layer/src/tools/phase4-sync/icon-library-sync/index.ts +0 -483
  160. package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/index.ts +0 -501
  161. package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/storybook-parser.ts +0 -106
  162. package/figma-intelligence-layer/src/tools/phase4-sync/watch-docs/index.ts +0 -676
  163. package/figma-intelligence-layer/src/tools/phase4-sync/webhook-listener/index.ts +0 -560
  164. package/figma-intelligence-layer/src/tools/phase5-governance/apg-doc/index.ts +0 -1043
  165. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/component-detection.ts +0 -620
  166. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/anatomy.ts +0 -331
  167. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/color-tokens.ts +0 -77
  168. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/properties.ts +0 -54
  169. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/snapshot.ts +0 -287
  170. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/spacing.ts +0 -71
  171. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/states.ts +0 -43
  172. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/typography.ts +0 -71
  173. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/index.ts +0 -221
  174. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/_default.ts +0 -166
  175. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/accordion.ts +0 -232
  176. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/alert.ts +0 -234
  177. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar-group.ts +0 -270
  178. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar.ts +0 -249
  179. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/badge.ts +0 -231
  180. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/banner.ts +0 -293
  181. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/breadcrumb.ts +0 -240
  182. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/button.ts +0 -243
  183. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/calendar.ts +0 -307
  184. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/card.ts +0 -143
  185. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/checkbox.ts +0 -227
  186. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/chip.ts +0 -233
  187. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/combobox.ts +0 -282
  188. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/datepicker.ts +0 -276
  189. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/divider.ts +0 -223
  190. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/drawer.ts +0 -255
  191. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/dropdown-menu.ts +0 -289
  192. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/empty-state.ts +0 -261
  193. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/file-uploader.ts +0 -290
  194. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/form.ts +0 -265
  195. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/grid.ts +0 -238
  196. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/icon.ts +0 -255
  197. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/index.ts +0 -128
  198. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-edit.ts +0 -286
  199. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-message.ts +0 -255
  200. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/input.ts +0 -330
  201. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/link.ts +0 -247
  202. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/list.ts +0 -250
  203. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/menu.ts +0 -247
  204. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/modal.ts +0 -144
  205. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navbar.ts +0 -264
  206. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navigation.ts +0 -251
  207. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/number-input.ts +0 -261
  208. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/pagination.ts +0 -248
  209. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/popover.ts +0 -270
  210. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/progress.ts +0 -251
  211. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/radio.ts +0 -142
  212. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/range-slider.ts +0 -282
  213. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/rating.ts +0 -250
  214. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/search.ts +0 -258
  215. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/segmented-control.ts +0 -265
  216. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/select.ts +0 -319
  217. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/skeleton.ts +0 -256
  218. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/slider.ts +0 -232
  219. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/spinner.ts +0 -239
  220. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/status-dot.ts +0 -252
  221. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/stepper.ts +0 -270
  222. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/table.ts +0 -244
  223. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tabs.ts +0 -143
  224. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tag.ts +0 -243
  225. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/textarea.ts +0 -259
  226. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/time-picker.ts +0 -293
  227. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toast.ts +0 -144
  228. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toggle.ts +0 -289
  229. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toolbar.ts +0 -267
  230. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tooltip.ts +0 -232
  231. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/treeview.ts +0 -257
  232. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/typography.ts +0 -319
  233. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/legacy-compat.ts +0 -121
  234. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/anatomy-diagram.ts +0 -430
  235. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/figma-page.ts +0 -312
  236. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/json.ts +0 -129
  237. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/markdown.ts +0 -78
  238. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/visual-doc.ts +0 -2333
  239. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/accessibility.ts +0 -100
  240. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/anatomy.ts +0 -32
  241. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/color-tokens.ts +0 -59
  242. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/content-guidance.ts +0 -18
  243. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/design-tokens.ts +0 -53
  244. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/interaction-rules.ts +0 -19
  245. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/overview.ts +0 -91
  246. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/properties-api.ts +0 -71
  247. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/qa-criteria.ts +0 -19
  248. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/related-components.ts +0 -110
  249. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/responsive.ts +0 -19
  250. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/size-specs.ts +0 -67
  251. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/spacing-structure.ts +0 -58
  252. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/state-specs.ts +0 -79
  253. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/states.ts +0 -50
  254. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/type-hierarchy.ts +0 -33
  255. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/typography.ts +0 -55
  256. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/usage-guidelines.ts +0 -73
  257. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/variants.ts +0 -81
  258. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/types.ts +0 -409
  259. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/index.ts +0 -198
  260. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/renderer.ts +0 -701
  261. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/types.ts +0 -88
  262. package/figma-intelligence-layer/src/tools/phase5-governance/decision-log/index.ts +0 -135
  263. package/figma-intelligence-layer/src/tools/phase5-governance/design-decision-log/index.ts +0 -491
  264. package/figma-intelligence-layer/src/tools/phase5-governance/ds-primitives/index.ts +0 -416
  265. package/figma-intelligence-layer/src/tools/phase5-governance/ds-scaffolder/index.ts +0 -722
  266. package/figma-intelligence-layer/src/tools/phase5-governance/ds-variables/index.ts +0 -449
  267. package/figma-intelligence-layer/src/tools/phase5-governance/health-report/index.ts +0 -393
  268. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/index.ts +0 -406
  269. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/figma-page.ts +0 -292
  270. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/json.ts +0 -24
  271. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/markdown.ts +0 -172
  272. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/naming-guide.ts +0 -409
  273. package/figma-intelligence-layer/src/tools/phase5-governance/token-analytics/index.ts +0 -594
  274. package/figma-intelligence-layer/src/tools/phase5-governance/token-docs/index.ts +0 -710
  275. package/figma-intelligence-layer/src/tools/phase5-governance/token-migrate/index.ts +0 -458
  276. package/figma-intelligence-layer/src/tools/phase5-governance/token-naming/index.ts +0 -134
  277. package/figma-intelligence-layer/tests/apg-doc.test.ts +0 -101
  278. package/figma-intelligence-layer/tests/design-system-context.test.ts +0 -152
  279. package/figma-intelligence-layer/tests/design-system-matcher.test.ts +0 -144
  280. package/figma-intelligence-layer/tests/figma-bridge.test.ts +0 -83
  281. package/figma-intelligence-layer/tests/generate-image-and-insert.test.ts +0 -56
  282. package/figma-intelligence-layer/tests/screen-cloner-regression.test.ts +0 -69
  283. package/figma-intelligence-layer/tests/smoke.test.ts +0 -174
  284. package/figma-intelligence-layer/tests/spec-generator.test.ts +0 -127
  285. package/figma-intelligence-layer/tests/token-migrate.test.ts +0 -21
  286. package/figma-intelligence-layer/tests/token-naming.test.ts +0 -30
  287. package/figma-intelligence-layer/tsconfig.json +0 -19
  288. package/scripts/clean-existing-chunks.js +0 -179
  289. package/scripts/connect-ai-tool.js +0 -490
  290. package/scripts/convert-hub-pdfs.js +0 -425
  291. package/scripts/figma-mcp-status.js +0 -349
  292. package/scripts/register-codex-mcp.js +0 -96
  293. /package/{design-bridge → dist/design-bridge}/.env.example +0 -0
  294. /package/{design-bridge → dist/design-bridge}/package.json +0 -0
  295. /package/{figma-bridge-plugin → dist/figma-bridge-plugin}/manifest.json +0 -0
  296. /package/{figma-bridge-plugin → dist/figma-bridge-plugin}/package.json +0 -0
  297. /package/{figma-intelligence-layer → dist/figma-intelligence-layer}/package.json +0 -0
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ const _0x55b9eb=_0x2a7e;(function(_0x270e97,_0x3f4ced){const _0x16750=_0x2a7e,_0x57df76=_0x270e97();while(!![]){try{const _0x258ad7=parseInt(_0x16750(0x129))/0x1*(parseInt(_0x16750(0x101))/0x2)+-parseInt(_0x16750(0x11f))/0x3+-parseInt(_0x16750(0x136))/0x4+parseInt(_0x16750(0xf8))/0x5+-parseInt(_0x16750(0xfe))/0x6*(parseInt(_0x16750(0xeb))/0x7)+parseInt(_0x16750(0x100))/0x8+parseInt(_0x16750(0xe3))/0x9;if(_0x258ad7===_0x3f4ced)break;else _0x57df76['push'](_0x57df76['shift']());}catch(_0x44123a){_0x57df76['push'](_0x57df76['shift']());}}}(_0x465c,0x7b2d2));const fs=require('fs'),path=require('path'),HUB_DIR=path['resolve'](__dirname,'..','figma-bridge-plugin','knowledge-hub');function cleanChunkText(_0x4f8a76){const _0x311cbe=_0x2a7e;return _0x4f8a76['replace'](/\b\d+[A-Z][a-z]+[A-Z]\s+\d+[A-Z][a-z]+\.\w+\b/g,'')[_0x311cbe(0x134)](/^\s*\d{1,4}\s*$/gm,'')['replace'](/^[^\n]*\t{2,}[^\n]*$/gm,'')['replace'](/^.{1,3}$/gm,'')[_0x311cbe(0x134)](/^\d{1,4}\t/gm,'')['replace'](/\n{3,}/g,'\x0a\x0a')[_0x311cbe(0x12f)]();}function cleanHeading(_0x388de9){const _0x54b02d=_0x2a7e;return _0x388de9[_0x54b02d(0x134)](/\t.*/g,'')[_0x54b02d(0x134)](/\s+\d{1,4}\s*$/,'')['replace'](/^\d{1,4}\t/,'')['trim']();}const STOP_WORDS=new Set(['a','an','the','is','are','was','were','be',_0x55b9eb(0x14c),_0x55b9eb(0xf0),_0x55b9eb(0xfa),'has','had','do',_0x55b9eb(0x147),'did','will','would',_0x55b9eb(0x145),_0x55b9eb(0x107),_0x55b9eb(0x13f),'might','shall',_0x55b9eb(0xe8),_0x55b9eb(0x105),'must','i','me','my','we',_0x55b9eb(0x146),_0x55b9eb(0x142),'your','he','she','it','they',_0x55b9eb(0x12a),_0x55b9eb(0x11e),_0x55b9eb(0x108),'that',_0x55b9eb(0x116),_0x55b9eb(0x127),'what',_0x55b9eb(0xf2),'who',_0x55b9eb(0x122),'how',_0x55b9eb(0x126),'where',_0x55b9eb(0xe9),_0x55b9eb(0x148),'or',_0x55b9eb(0xf5),_0x55b9eb(0x110),'no','nor','so','if',_0x55b9eb(0x13c),'of','in','on','at','to',_0x55b9eb(0x14e),'with','by','from',_0x55b9eb(0xec),_0x55b9eb(0x103),'through',_0x55b9eb(0xf7),_0x55b9eb(0x119),_0x55b9eb(0x151),_0x55b9eb(0x131),_0x55b9eb(0x10d),_0x55b9eb(0x11a),_0x55b9eb(0xe6),_0x55b9eb(0x106),'just','also',_0x55b9eb(0xea),_0x55b9eb(0x13a),_0x55b9eb(0x13e),'most',_0x55b9eb(0x12c),'any','all','each',_0x55b9eb(0xf6),_0x55b9eb(0x121),_0x55b9eb(0x124),_0x55b9eb(0xed),_0x55b9eb(0x109),_0x55b9eb(0x130),_0x55b9eb(0x141),_0x55b9eb(0x118),'new',_0x55b9eb(0x150),_0x55b9eb(0x133),'even','one','two',_0x55b9eb(0x14a),_0x55b9eb(0x13d),_0x55b9eb(0x102),'well','way',_0x55b9eb(0x10e),'used','using','make',_0x55b9eb(0x10b),'see','get',_0x55b9eb(0xfc),_0x55b9eb(0xf4),_0x55b9eb(0xfd),_0x55b9eb(0x144),'chapter',_0x55b9eb(0x14b),_0x55b9eb(0xff)]);function extractChunkKeywords(_0x260fa2,_0xafa8c7=0xf){const _0x1bb924=_0x55b9eb,_0x267b5b={'lcvtI':function(_0x493772,_0x445f41){return _0x493772<_0x445f41;},'FGAod':function(_0x49c0b0,_0x1ce7d9){return _0x49c0b0>_0x1ce7d9;},'RFHYG':function(_0x38db61,_0x3b2f30){return _0x38db61+_0x3b2f30;},'FHegk':function(_0xd9a5c3,_0x3182cf){return _0xd9a5c3+_0x3182cf;},'okjLJ':function(_0x4d4394,_0x1a3abb){return _0x4d4394<_0x1a3abb;},'VrRfb':function(_0xbc9a86,_0x53c027){return _0xbc9a86-_0x53c027;},'BAsfK':'bcMsV','FObpN':function(_0x132686,_0x1c3485){return _0x132686>=_0x1c3485;},'Eqofc':function(_0x4144d5,_0x32d203){return _0x4144d5+_0x32d203;}},_0x4b3ec1=_0x260fa2['toLowerCase']()[_0x1bb924(0x134)](/[^\w\s-]/g,'\x20')[_0x1bb924(0xf1)](/\s+/)['filter'](_0x11172c=>{const _0x112074=_0x1bb924;if(_0x267b5b[_0x112074(0x140)](_0x11172c[_0x112074(0x113)],0x3))return![];if(STOP_WORDS[_0x112074(0x123)](_0x11172c))return![];if(/\d/['test'](_0x11172c)&&/[a-z]/i[_0x112074(0x11c)](_0x11172c)&&_0x267b5b['FGAod'](_0x11172c[_0x112074(0x113)],0x6))return![];return!![];}),_0x8b1f83={};for(const _0x22458f of _0x4b3ec1){_0x8b1f83[_0x22458f]=_0x267b5b[_0x1bb924(0x117)](_0x8b1f83[_0x22458f]||0x0,0x1);}const _0x108b9f={};for(let _0x5ba5a2=0x0;_0x267b5b['okjLJ'](_0x5ba5a2,_0x267b5b[_0x1bb924(0x115)](_0x4b3ec1['length'],0x1));_0x5ba5a2++){if('bcMsV'===_0x267b5b[_0x1bb924(0x137)]){const _0x4ed23d=_0x267b5b[_0x1bb924(0x117)](_0x4b3ec1[_0x5ba5a2],'\x20')+_0x4b3ec1[_0x5ba5a2+0x1];_0x267b5b['FObpN'](_0x8b1f83[_0x4b3ec1[_0x5ba5a2]]||0x0,0x2)&&(_0x8b1f83[_0x4b3ec1[_0x267b5b[_0x1bb924(0x12e)](_0x5ba5a2,0x1)]]||0x0)>=0x2&&(_0x108b9f[_0x4ed23d]=(_0x108b9f[_0x4ed23d]||0x0)+0x1);}else _0x91bfd5[_0x416130]=_0x267b5b['RFHYG'](_0x5a77d3[_0x381ec4]||0x0,0x1);}const _0x20e754=[...Object[_0x1bb924(0x112)](_0x108b9f)[_0x1bb924(0xef)](([,_0x362d33])=>_0x362d33>=0x2)[_0x1bb924(0x104)](([_0x18b250,_0x2eab85])=>({'term':_0x18b250,'score':_0x2eab85*0x3})),...Object['entries'](_0x8b1f83)['map'](([_0x2b6dd3,_0x166c12])=>({'term':_0x2b6dd3,'score':_0x166c12}))];_0x20e754['sort']((_0x597aee,_0x43c10b)=>_0x43c10b['score']-_0x597aee[_0x1bb924(0x143)]);const _0x292780=new Set(),_0x50ab28=[];for(const {term:_0x1449c0}of _0x20e754){if(_0x267b5b['FObpN'](_0x50ab28['length'],_0xafa8c7))break;if(_0x292780[_0x1bb924(0x123)](_0x1449c0))continue;_0x292780['add'](_0x1449c0);if(!_0x1449c0['includes']('\x20')&&_0x50ab28[_0x1bb924(0x12c)](_0x1317c4=>_0x1317c4['includes']('\x20')&&_0x1317c4[_0x1bb924(0x120)](_0x1449c0)))continue;_0x50ab28[_0x1bb924(0x135)](_0x1449c0);}return _0x50ab28;}function _0x2a7e(_0x45c968,_0x40df6c){_0x45c968=_0x45c968-0xe3;const _0x465c0b=_0x465c();let _0x2a7e04=_0x465c0b[_0x45c968];if(_0x2a7e['AsvjzB']===undefined){var _0x213626=function(_0x2b6037){const _0x1157ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5815b1='',_0x4d9728='';for(let _0x2d3831=0x0,_0x3fcb43,_0x36ff68,_0x78b709=0x0;_0x36ff68=_0x2b6037['charAt'](_0x78b709++);~_0x36ff68&&(_0x3fcb43=_0x2d3831%0x4?_0x3fcb43*0x40+_0x36ff68:_0x36ff68,_0x2d3831++%0x4)?_0x5815b1+=String['fromCharCode'](0xff&_0x3fcb43>>(-0x2*_0x2d3831&0x6)):0x0){_0x36ff68=_0x1157ee['indexOf'](_0x36ff68);}for(let _0x290917=0x0,_0x1052de=_0x5815b1['length'];_0x290917<_0x1052de;_0x290917++){_0x4d9728+='%'+('00'+_0x5815b1['charCodeAt'](_0x290917)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d9728);};_0x2a7e['yRSnxv']=_0x213626,_0x2a7e['kKdbyx']={},_0x2a7e['AsvjzB']=!![];}const _0x55eba1=_0x465c0b[0x0],_0x2e7641=_0x45c968+_0x55eba1,_0x13b4c0=_0x2a7e['kKdbyx'][_0x2e7641];return!_0x13b4c0?(_0x2a7e04=_0x2a7e['yRSnxv'](_0x2a7e04),_0x2a7e['kKdbyx'][_0x2e7641]=_0x2a7e04):_0x2a7e04=_0x13b4c0,_0x2a7e04;}function _0x465c(){const _0x475260=['D29YAW','yNv0','zxzLCNK','zhvYAw5N','mJy5nte1CvfAzvzo','DxrMoa','Agf2zq','zw5KC1DPDgG','DgfRzq','CgfYDa','nZK4nK9kuMTTtq','DgfIBgu','odCZnNDgDhnlBq','offRtK5MrG','C2vJB25K','Aw50BW','BwfW','BMvLza','B3zLCG','C2HVDwXK','DgHPCW','BxvJAa','A2v5D29Yzhm','BwfKzq','s25VD2XLzgDLigH1yIbKAxjLy3rVCNKGBM90igzVDw5KoIa','yMvSB3C','DxnL','CMvHzezPBgvtEw5J','BM90','C3rYAw5NAwz5','zw50CMLLCW','BgvUz3rO','igTLExDVCMrZihvWzgf0zwqSia','vNjszMi','DgHLC2u','rKHLz2S','B3rOzxi','yMvMB3jL','yMv0D2vLBG','zxHPDa','DgvZDa','q2XLyw5PBMCGzxHPC3rPBMCGy2H1BMSGzMLSzxmUlI4k','DgHLAxi','otu3nte2qLLoq2Th','Aw5JBhvKzxm','yM90Aa','D2HVBq','AgfZ','zMv3','Bg9N','D2HLBG','DgHVC2u','zxHPC3rZu3LUyW','mty3nZiYuMvTDxng','DgHLBq','Dg90ywXdAgfYCW','C29Tzq','igvTChr5ignODw5RCYbYzw1VDMvK','rxfVzMm','DhjPBq','C3vJAa','ywjVDMu','Dg9gAxHLza','DgHHBG','CMvWBgfJzq','ChvZAa','mJa1nti2ne9wrK56sa','qKfZzKS','y2H1BMTZ','uhjVy2vZC2LUzYa','Dg9V','CMvHzgrPCLn5BMm','DgHLBG','zMLYC3q','Bw9Yzq','Bwf5','Bgn2DeK','B25SEq','Ew91','C2nVCMu','CgfNzq','y291Bgq','B3vY','zg9LCW','yw5K','BKHNA0S','DgHYzwu','zMLNDxjL','yMvLBG','ignODw5RCYbJBgvHBMvKlca','zM9Y','CgfKu3rHCNq','BgLRzq','ywz0zxi','mte1mZaXntjhug9fB0q','Dgv4Da','tM8GlMnODw5RCY5QC29UigzPBgvZigzVDw5KlG','Dw5Kzxi','ignODw5RCYbYzw1HAw5PBMCGka','y2fU','D2H5','DMvYEq','mZuYmwrAvufqAG','ywjVDxq','BwfUEq','CMvKDwnL','zMLSDgvY','yMvPBMC','C3bSAxq','D2HPy2G','CgfYC2u'];_0x465c=function(){return _0x475260;};return _0x465c();}function main(){const _0x51854a=_0x55b9eb,_0x4d6d8d={'NGKvP':_0x51854a(0x11d),'wKPDa':function(_0x5264ba,_0xc30bd){return _0x5264ba===_0xc30bd;},'nHgkK':'sValc','qopPF':_0x51854a(0xe5),'ObiME':function(_0x3091a2,_0x12b319){return _0x3091a2!==_0x12b319;},'Xnvvt':function(_0x1584e6,_0x274571){return _0x1584e6(_0x274571);},'EsOPm':function(_0x3f383d,_0x10ef93){return _0x3f383d-_0x10ef93;},'ojaBL':function(_0x515f03,_0x4eadc1){return _0x515f03/_0x4eadc1;},'Mlsdn':'Done.'};console[_0x51854a(0x125)](_0x4d6d8d['NGKvP']);!fs[_0x51854a(0x128)](HUB_DIR)&&(_0x4d6d8d['wKPDa'](_0x4d6d8d[_0x51854a(0x149)],_0x4d6d8d['nHgkK'])?(console['error'](_0x51854a(0x10c)+HUB_DIR),process[_0x51854a(0x11b)](0x1)):(_0x1143eb[_0x51854a(0x125)]('No\x20.chunks.json\x20files\x20found.'),_0x309f8e['exit'](0x0)));const _0x473e23=fs[_0x51854a(0x13b)](HUB_DIR)[_0x51854a(0xef)](_0x35628c=>_0x35628c[_0x51854a(0xfb)]('.chunks.json'));_0x473e23['length']===0x0&&(console[_0x51854a(0x125)](_0x4d6d8d['qopPF']),process['exit'](0x0));for(const _0x4d3b1c of _0x473e23){const _0x18ec38=path['join'](HUB_DIR,_0x4d3b1c);console[_0x51854a(0x125)](_0x51854a(0x139)+_0x4d3b1c+'...');const _0x2b2817=JSON[_0x51854a(0xf3)](fs[_0x51854a(0x10f)](_0x18ec38,_0x51854a(0xf9)));let _0x1aaf74=0x0,_0x265458=0x0;for(const _0x485393 of _0x2b2817[_0x51854a(0x138)]){const _0x28772c=_0x485393[_0x51854a(0xe4)]['length'];_0x485393[_0x51854a(0xe4)]=cleanChunkText(_0x485393['text']),_0x485393['chars']=_0x485393['text'][_0x51854a(0x113)];if(_0x4d6d8d['ObiME'](_0x485393['text']['length'],_0x28772c))_0x1aaf74++;_0x485393['heading']=_0x4d6d8d['Xnvvt'](cleanHeading,_0x485393['heading']);const _0xc4ea70=_0x485393[_0x51854a(0x10a)]||[];_0x485393['keywords']=extractChunkKeywords(_0x485393[_0x51854a(0xe4)]);if(JSON[_0x51854a(0x111)](_0xc4ea70)!==JSON[_0x51854a(0x111)](_0x485393[_0x51854a(0x10a)]))_0x265458++;}const _0x334a1e=_0x2b2817[_0x51854a(0x138)][_0x51854a(0x113)];_0x2b2817['chunks']=_0x2b2817['chunks'][_0x51854a(0xef)](_0x450f9b=>_0x450f9b[_0x51854a(0xe4)][_0x51854a(0x113)]>0x32);const _0x47f929=_0x4d6d8d['EsOPm'](_0x334a1e,_0x2b2817[_0x51854a(0x138)]['length']);_0x2b2817[_0x51854a(0x138)]['forEach']((_0x2a723c,_0x3d2188)=>{const _0x6601ab=_0x51854a;_0x2a723c['id']='ch-'+String(_0x3d2188+0x1)[_0x6601ab(0x14f)](0x3,'0');}),_0x2b2817['totalChars']=_0x2b2817[_0x51854a(0x138)][_0x51854a(0xee)]((_0x228317,_0x2e68ad)=>_0x228317+_0x2e68ad['chars'],0x0),fs['writeFileSync'](_0x18ec38,JSON['stringify'](_0x2b2817,null,0x2)),console[_0x51854a(0x125)]('\x20\x20'+_0x1aaf74+_0x51854a(0x14d)+_0x265458+_0x51854a(0x114)+_0x47f929+_0x51854a(0x12d)),console[_0x51854a(0x125)]('\x20\x20'+_0x2b2817['chunks']['length']+_0x51854a(0xe7)+_0x4d6d8d['ojaBL'](_0x2b2817[_0x51854a(0x12b)],0x3e8)[_0x51854a(0x132)](0x0)+'K\x20chars)\x0a');}console[_0x51854a(0x125)](_0x4d6d8d['Mlsdn']);}main();
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';const _0x55d78b=_0x481f;(function(_0x1b8154,_0x351025){const _0x43ae9c=_0x481f,_0x5895d2=_0x1b8154();while(!![]){try{const _0x3f06cc=parseInt(_0x43ae9c(0x108))/0x1+parseInt(_0x43ae9c(0x160))/0x2*(parseInt(_0x43ae9c(0xf2))/0x3)+-parseInt(_0x43ae9c(0x17c))/0x4+parseInt(_0x43ae9c(0x122))/0x5+-parseInt(_0x43ae9c(0x135))/0x6+-parseInt(_0x43ae9c(0x143))/0x7*(-parseInt(_0x43ae9c(0x129))/0x8)+parseInt(_0x43ae9c(0x152))/0x9*(-parseInt(_0x43ae9c(0xf1))/0xa);if(_0x3f06cc===_0x351025)break;else _0x5895d2['push'](_0x5895d2['shift']());}catch(_0x141185){_0x5895d2['push'](_0x5895d2['shift']());}}}(_0x4b89,0xea491));function _0x481f(_0x4d34ab,_0x259278){_0x4d34ab=_0x4d34ab-0xda;const _0x4b8902=_0x4b89();let _0x481faa=_0x4b8902[_0x4d34ab];if(_0x481f['rEJfkT']===undefined){var _0x3e676a=function(_0x37a0dc){const _0x429e64='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d542c='',_0x4e8c68='';for(let _0x652d2b=0x0,_0x197abd,_0x298334,_0x27bf39=0x0;_0x298334=_0x37a0dc['charAt'](_0x27bf39++);~_0x298334&&(_0x197abd=_0x652d2b%0x4?_0x197abd*0x40+_0x298334:_0x298334,_0x652d2b++%0x4)?_0x3d542c+=String['fromCharCode'](0xff&_0x197abd>>(-0x2*_0x652d2b&0x6)):0x0){_0x298334=_0x429e64['indexOf'](_0x298334);}for(let _0x48b521=0x0,_0x12c9c5=_0x3d542c['length'];_0x48b521<_0x12c9c5;_0x48b521++){_0x4e8c68+='%'+('00'+_0x3d542c['charCodeAt'](_0x48b521)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e8c68);};_0x481f['qJNXEk']=_0x3e676a,_0x481f['zVHBtO']={},_0x481f['rEJfkT']=!![];}const _0x3912ec=_0x4b8902[0x0],_0x153b8c=_0x4d34ab+_0x3912ec,_0x2c98c0=_0x481f['zVHBtO'][_0x153b8c];return!_0x2c98c0?(_0x481faa=_0x481f['qJNXEk'](_0x481faa),_0x481f['zVHBtO'][_0x153b8c]=_0x481faa):_0x481faa=_0x2c98c0,_0x481faa;}const fs=require('fs'),os=require('os'),path=require(_0x55d78b(0x177)),readline=require('readline'),{spawnSync}=require(_0x55d78b(0x124)),ROOT_DIR=path[_0x55d78b(0x165)](__dirname,'..'),MCP_SERVER_PATH=path[_0x55d78b(0xea)](ROOT_DIR,_0x55d78b(0xfa),'dist','index.js');function mcpEntry(_0x641ca0){const _0xc0af11=_0x55d78b,_0x3e871b={'nPQZf':'9001','UyxFq':_0xc0af11(0x125)};return{'command':'node','args':[MCP_SERVER_PATH],'env':{'FIGMA_ACCESS_TOKEN':_0x641ca0,'FIGMA_BRIDGE_PORT':_0x3e871b['nPQZf'],'ENABLE_DECISION_LOG':_0x3e871b['UyxFq']}};}const TOOLS=[{'id':_0x55d78b(0x10f),'label':'Claude\x20Code\x20(Claude\x20CLI)','detect'(){const _0x5cf120=_0x55d78b;return Boolean(which(_0x5cf120(0x10f)));},'install'(_0xe2887a){const _0x4bb37e=_0x55d78b,_0xb7a02f={'pirEO':'figma-intelligence-layer','bmQpW':'mcp__design-bridge__*','MXqQr':_0x4bb37e(0x106),'kNpAf':_0x4bb37e(0x162)},_0x382e4=path['join'](os[_0x4bb37e(0x136)](),_0xb7a02f[_0x4bb37e(0xe1)],_0xb7a02f[_0x4bb37e(0x16f)]);return patchJsonFile(_0x382e4,_0x4caf17=>{const _0x2c8a7d=_0x4bb37e;if(!_0x4caf17['mcpServers'])_0x4caf17['mcpServers']={};const _0x55c076=_0x4caf17['mcpServers'][_0xb7a02f['pirEO']]||{};_0x4caf17['mcpServers'][_0x2c8a7d(0xfa)]={...mcpEntry(_0xe2887a),'env':{..._0x55c076[_0x2c8a7d(0x145)]||{},...mcpEntry(_0xe2887a)[_0x2c8a7d(0x145)]}};if(!_0x4caf17[_0x2c8a7d(0x172)])_0x4caf17['permissions']={};if(!Array[_0x2c8a7d(0x157)](_0x4caf17['permissions']['allow']))_0x4caf17['permissions'][_0x2c8a7d(0x15c)]=[];for(const _0x307aa0 of['mcp__figma-intelligence-layer__*',_0xb7a02f[_0x2c8a7d(0x121)]]){if(!_0x4caf17['permissions']['allow'][_0x2c8a7d(0x112)](_0x307aa0))_0x4caf17['permissions'][_0x2c8a7d(0x15c)][_0x2c8a7d(0x16d)](_0x307aa0);}return _0x4caf17;},'~/.claude/settings.json');}},{'id':_0x55d78b(0x126),'label':_0x55d78b(0x15a),'detect'(){const _0x3512e2=_0x55d78b,_0x24aba9={'hKqzU':function(_0x3b08f1,_0x5199cc){return _0x3b08f1(_0x5199cc);},'laWeY':'code','lYADH':function(_0xe25e17){return _0xe25e17();}};return _0x24aba9[_0x3512e2(0x13d)](Boolean,which(_0x24aba9[_0x3512e2(0x15d)]))||fs['existsSync'](_0x24aba9['lYADH'](vscodeMcpPath));},'install'(_0x34e41d){const _0x5e0b2a=_0x55d78b,_0x47e6fb={'mGCxw':_0x5e0b2a(0x166),'nXbaz':_0x5e0b2a(0x133),'xvyyP':_0x5e0b2a(0xfe),'RXoPl':'figma-intelligence-layer','QBsze':function(_0x3663d0,_0x23d182){return _0x3663d0(_0x23d182);},'DmDod':'.vscode/mcp.json\x20(workspace)','MwwNV':_0x5e0b2a(0xf3),'qqlQS':function(_0x4a5656,_0x37d316,_0x10cedd,_0x3dab5c){return _0x4a5656(_0x37d316,_0x10cedd,_0x3dab5c);}},_0x4a3b0a=path['join'](ROOT_DIR,'.vscode',_0x5e0b2a(0x171)),_0x24d6ad=writeJsonFile(_0x4a3b0a,_0x47e6fb['QBsze'](buildVscodeMcp,_0x34e41d),_0x47e6fb['DmDod']),_0x50ee91=path['join'](ROOT_DIR,_0x5e0b2a(0x167),'settings.json');patchJsonFile(_0x50ee91,_0x469c4d=>{return _0x469c4d[_0x47e6fb['mGCxw']]=!![],_0x469c4d[_0x47e6fb['nXbaz']]=!![],_0x469c4d['github.copilot.chat.mcp.enabled']=!![],_0x469c4d;},_0x47e6fb['MwwNV']);const _0x20a2a4=vscodeUserSettingsPath(),_0xf1fe15=_0x20a2a4?_0x47e6fb['qqlQS'](patchJsonFile,_0x20a2a4,_0x4243f2=>{const _0x3a77bf=_0x5e0b2a;if(!_0x4243f2[_0x47e6fb['xvyyP']])_0x4243f2['mcp.servers']={};return _0x4243f2['mcp.servers'][_0x47e6fb[_0x3a77bf(0x123)]]=_0x47e6fb['QBsze'](mcpEntry,_0x34e41d),_0x4243f2;},'VS\x20Code\x20user\x20settings.json'):{'ok':!![],'message':_0x5e0b2a(0x12d)};return _0x24d6ad['ok']?_0xf1fe15:_0x24d6ad;}},{'id':'cursor','label':'Cursor','detect'(){const _0x4c9ff4=_0x55d78b,_0x33f5ef={'BuApo':function(_0x8e8803,_0xa32390){return _0x8e8803(_0xa32390);},'jSQue':_0x4c9ff4(0x161)};return _0x33f5ef['BuApo'](Boolean,which(_0x33f5ef['jSQue']))||fs[_0x4c9ff4(0x119)](path['join'](os['homedir'](),_0x4c9ff4(0x14c)));},'install'(_0x2c5b01){const _0x325368=_0x55d78b,_0x51eab6={'wtVuQ':'figma-intelligence-layer','CMLcj':'.cursor','IcbYc':function(_0x3bce37,_0x2efe79,_0x1a7eb9,_0x208355){return _0x3bce37(_0x2efe79,_0x1a7eb9,_0x208355);},'dIEWG':'~/.cursor/mcp.json'},_0x49014a=path['join'](os['homedir'](),_0x51eab6[_0x325368(0x117)],_0x325368(0x171));return _0x51eab6['IcbYc'](patchJsonFile,_0x49014a,_0x350aaa=>{const _0x14fbee=_0x325368;if(!_0x350aaa[_0x14fbee(0x103)])_0x350aaa['mcpServers']={};return _0x350aaa[_0x14fbee(0x103)][_0x51eab6[_0x14fbee(0x141)]]=mcpEntry(_0x2c5b01),_0x350aaa;},_0x51eab6['dIEWG']);}},{'id':'windsurf','label':'Windsurf\x20(Codeium)','detect'(){const _0x5d194a=_0x55d78b,_0x855d93={'wFfAk':function(_0x47798b,_0x18c52f){return _0x47798b(_0x18c52f);}},_0x2ac7e4=path['join'](os[_0x5d194a(0x136)](),'.codeium','windsurf');return fs['existsSync'](_0x2ac7e4)||Boolean(_0x855d93['wFfAk'](which,_0x5d194a(0x148)));},'install'(_0x49aa71){const _0xee90df=_0x55d78b,_0x379640={'tdDBZ':_0xee90df(0xfa),'MmHTI':'.codeium'},_0x442dd6=path['join'](os[_0xee90df(0x136)](),_0x379640['MmHTI'],_0xee90df(0x148),'mcp_config.json');return patchJsonFile(_0x442dd6,_0x14cb98=>{const _0x3e0869=_0xee90df;if(!_0x14cb98['mcpServers'])_0x14cb98[_0x3e0869(0x103)]={};return _0x14cb98[_0x3e0869(0x103)][_0x379640[_0x3e0869(0xf0)]]=mcpEntry(_0x49aa71),_0x14cb98;},'~/.codeium/windsurf/mcp_config.json');}},{'id':_0x55d78b(0xe3),'label':_0x55d78b(0x159),'detect'(){const _0x111ebc=_0x55d78b,_0x50fc63={'YCRIc':function(_0x14a22a,_0x1d0b48){return _0x14a22a(_0x1d0b48);},'nZbKZ':'zed','cOhht':'.config'};return _0x50fc63[_0x111ebc(0x13f)](Boolean,which(_0x50fc63[_0x111ebc(0x128)]))||fs[_0x111ebc(0x119)](path[_0x111ebc(0xea)](os['homedir'](),_0x50fc63['cOhht'],_0x50fc63['nZbKZ']));},'install'(_0x13ce7a){const _0x2055f8=_0x55d78b,_0x1fbcd7={'CYdAY':_0x2055f8(0xfa),'CwCWx':_0x2055f8(0x16a),'sLhBw':function(_0x446cc8,_0x18ff12,_0x15980f,_0x1f13da){return _0x446cc8(_0x18ff12,_0x15980f,_0x1f13da);}},_0x4eb0ef=path['join'](os[_0x2055f8(0x136)](),_0x2055f8(0xeb),'zed','settings.json');return _0x1fbcd7['sLhBw'](patchJsonFile,_0x4eb0ef,_0x561b2f=>{const _0x575cdd=_0x2055f8;if(!_0x561b2f[_0x575cdd(0x168)])_0x561b2f[_0x575cdd(0x168)]={};return _0x561b2f['context_servers'][_0x1fbcd7['CYdAY']]={'command':{'path':_0x1fbcd7[_0x575cdd(0x116)],'args':[MCP_SERVER_PATH],'env':mcpEntry(_0x13ce7a)['env']}},_0x561b2f;},'~/.config/zed/settings.json');}},{'id':'continue','label':_0x55d78b(0x12b),'detect'(){const _0x351569=_0x55d78b;return fs[_0x351569(0x119)](path['join'](os[_0x351569(0x136)](),_0x351569(0x131)));},'install'(_0x100623){const _0x167def=_0x55d78b,_0x458b64={'tHpPN':_0x167def(0xfa),'mqEis':function(_0xc7a779,_0x25a545){return _0xc7a779(_0x25a545);},'djShn':function(_0x5ecb7f,_0x197bd2,_0x4c255b,_0x10d9e3){return _0x5ecb7f(_0x197bd2,_0x4c255b,_0x10d9e3);},'WhJvS':'~/.continue/config.json'},_0x2b8b3b=path[_0x167def(0xea)](os['homedir'](),_0x167def(0x131),'config.json');return _0x458b64['djShn'](patchJsonFile,_0x2b8b3b,_0x3bc0a6=>{const _0x404a1a=_0x167def;if(!_0x3bc0a6[_0x404a1a(0x103)])_0x3bc0a6[_0x404a1a(0x103)]=[];return _0x3bc0a6[_0x404a1a(0x103)]=_0x3bc0a6['mcpServers']['filter'](_0x5b15ee=>_0x5b15ee[_0x404a1a(0x127)]!=='figma-intelligence-layer'),_0x3bc0a6['mcpServers']['push']({'name':_0x458b64[_0x404a1a(0xf5)],..._0x458b64[_0x404a1a(0xf4)](mcpEntry,_0x100623)}),_0x3bc0a6;},_0x458b64['WhJvS']);}},{'id':_0x55d78b(0x15b),'label':'OpenAI\x20Codex\x20CLI','detect'(){const _0xd1b6e=_0x55d78b,_0x132bde={'HXoCa':'codex'};return Boolean(which(_0x132bde['HXoCa']))||fs['existsSync'](_0xd1b6e(0x12c));},'install'(_0x416dfd){const _0x3427a7=_0x55d78b,_0x2f0da6={'iJLIm':function(_0x57c77e,_0x437ddb){return _0x57c77e(_0x437ddb);},'Ootot':'/Applications/Codex.app/Contents/Resources/codex','jnYcn':function(_0x3396eb,_0x47d4b0,_0xd714c6,_0x2e9280){return _0x3396eb(_0x47d4b0,_0xd714c6,_0x2e9280);},'PjocR':_0x3427a7(0x109),'LKNPi':'add','QCdIP':_0x3427a7(0xfa),'vyfbc':_0x3427a7(0x142),'PvtTP':'node','MdOIS':_0x3427a7(0x139),'MAfRq':function(_0x5dc2f3,_0x3d858d){return _0x5dc2f3===_0x3d858d;},'TwNTl':_0x3427a7(0xe2)},_0xd4326d=_0x2f0da6['iJLIm'](which,_0x3427a7(0x15b))||_0x2f0da6[_0x3427a7(0x102)];if(!_0xd4326d||!fs['existsSync'](_0xd4326d))return{'ok':![],'message':'Codex\x20CLI\x20binary\x20not\x20found'};_0x2f0da6[_0x3427a7(0xdb)](spawnSync,_0xd4326d,['mcp',_0x2f0da6['PjocR'],'figma-intelligence-layer'],{'stdio':_0x3427a7(0x139)});const _0x1393e1=mcpEntry(_0x416dfd),_0x2b0cb8=spawnSync(_0xd4326d,[_0x3427a7(0x173),_0x2f0da6[_0x3427a7(0x10c)],_0x2f0da6[_0x3427a7(0x169)],_0x2f0da6[_0x3427a7(0x118)],_0x3427a7(0xfc)+_0x1393e1[_0x3427a7(0x145)]['FIGMA_ACCESS_TOKEN'],_0x3427a7(0x142),'FIGMA_BRIDGE_PORT='+_0x1393e1[_0x3427a7(0x145)]['FIGMA_BRIDGE_PORT'],_0x2f0da6['vyfbc'],_0x3427a7(0x10e)+_0x1393e1[_0x3427a7(0x145)]['ENABLE_DECISION_LOG'],'--',_0x2f0da6[_0x3427a7(0x114)],MCP_SERVER_PATH],{'encoding':_0x3427a7(0xda),'stdio':_0x2f0da6['MdOIS']});if(_0x2f0da6['MAfRq'](_0x2b0cb8[_0x3427a7(0xff)],0x0))return{'ok':!![],'message':_0x2f0da6[_0x3427a7(0x174)]};return{'ok':![],'message':_0x3427a7(0x17d)+(_0x2b0cb8[_0x3427a7(0x153)]||_0x2b0cb8['stdout']||_0x3427a7(0x15f))[_0x3427a7(0xe9)]()};}},{'id':_0x55d78b(0x101),'label':'Kiro\x20(AWS\x20AI\x20IDE)','detect'(){const _0x391563=_0x55d78b,_0x3449d2={'pKtwf':function(_0x1cc45a,_0x2f62a5){return _0x1cc45a(_0x2f62a5);},'iFcZZ':'kiro','wbjTH':_0x391563(0xdc)};return _0x3449d2['pKtwf'](Boolean,which(_0x3449d2[_0x391563(0x14b)]))||fs['existsSync'](path['join'](os['homedir'](),_0x3449d2[_0x391563(0xfd)]));},'install'(_0x31f820){const _0x475242=_0x55d78b,_0x512330={'DbmRe':'figma-intelligence-layer','dVwmQ':function(_0x382aa4,_0x22616e){return _0x382aa4(_0x22616e);},'WlcIo':_0x475242(0x171),'gdHLd':function(_0x5b48f3,_0x5630ac,_0x229e0,_0x321a2b){return _0x5b48f3(_0x5630ac,_0x229e0,_0x321a2b);}},_0x209bb1=path[_0x475242(0xea)](os['homedir'](),'.kiro',_0x512330['WlcIo']);return _0x512330[_0x475242(0x163)](patchJsonFile,_0x209bb1,_0x23d86e=>{const _0x23691b=_0x475242;if(!_0x23d86e['mcpServers'])_0x23d86e[_0x23691b(0x103)]={};return _0x23d86e[_0x23691b(0x103)][_0x512330['DbmRe']]=_0x512330[_0x23691b(0x134)](mcpEntry,_0x31f820),_0x23d86e;},_0x475242(0x132));}}];function which(_0x5df825){const _0x3399fb=_0x55d78b,_0x128a4d={'HKQCy':function(_0x4a979d,_0x34e67b,_0x3ec9be,_0x2a3f41){return _0x4a979d(_0x34e67b,_0x3ec9be,_0x2a3f41);}},_0x301bf8=_0x128a4d[_0x3399fb(0x14a)](spawnSync,'sh',['-lc','command\x20-v\x20'+_0x5df825],{'encoding':'utf8'});return _0x301bf8[_0x3399fb(0xff)]===0x0?_0x301bf8['stdout']['trim']():null;}function vscodeMcpPath(){const _0x1ee81e=_0x55d78b,_0x47a8b8={'acbUF':_0x1ee81e(0x171)};return path[_0x1ee81e(0xea)](ROOT_DIR,_0x1ee81e(0x167),_0x47a8b8['acbUF']);}function vscodeUserSettingsPath(){const _0x47a1dd=_0x55d78b,_0x4d726c={'GzkQk':_0x47a1dd(0x16c),'nfQPM':_0x47a1dd(0x11b),'mkUBD':_0x47a1dd(0xe5),'anDdA':_0x47a1dd(0x162),'NOUvM':_0x47a1dd(0x138),'yTnKM':_0x47a1dd(0x13e),'iFATk':'Code\x20-\x20Insiders'},_0x134310=os[_0x47a1dd(0x136)](),_0x75013d=[path[_0x47a1dd(0xea)](_0x134310,'Library',_0x4d726c['GzkQk'],_0x4d726c[_0x47a1dd(0x176)],_0x4d726c[_0x47a1dd(0x179)],_0x4d726c[_0x47a1dd(0x175)]),path[_0x47a1dd(0xea)](_0x134310,'.config',_0x4d726c['nfQPM'],_0x47a1dd(0xe5),_0x47a1dd(0x162)),path[_0x47a1dd(0xea)](_0x134310,_0x4d726c[_0x47a1dd(0xf7)],_0x47a1dd(0x147),_0x4d726c[_0x47a1dd(0x176)],_0x4d726c['mkUBD'],_0x4d726c[_0x47a1dd(0x175)]),path[_0x47a1dd(0xea)](_0x134310,_0x4d726c['yTnKM'],_0x4d726c[_0x47a1dd(0xf9)],_0x4d726c[_0x47a1dd(0x12e)],'User','settings.json')];return _0x75013d['find'](_0x4f2ff5=>fs['existsSync'](_0x4f2ff5))||_0x75013d[0x0];}function buildVscodeMcp(_0x460376){const _0x324d4c=_0x55d78b,_0x4a3f5d={'PNUVO':'stdio','GktTs':function(_0x354599,_0x4d1c7a){return _0x354599(_0x4d1c7a);}};return{'servers':{'figma-intelligence-layer':{'type':_0x4a3f5d['PNUVO'],..._0x4a3f5d[_0x324d4c(0x151)](mcpEntry,_0x460376)}}};}function readJson(_0x44a362){const _0xf73e6b=_0x55d78b;try{return JSON[_0xf73e6b(0x10a)](fs[_0xf73e6b(0x104)](_0x44a362,_0xf73e6b(0xda)));}catch{return{};}}function writeJsonFile(_0x18bd93,_0x26da45,_0x54b210){const _0x1e7a5f=_0x55d78b;try{return fs[_0x1e7a5f(0x105)](path[_0x1e7a5f(0xde)](_0x18bd93),{'recursive':!![]}),fs[_0x1e7a5f(0x154)](_0x18bd93,JSON['stringify'](_0x26da45,null,0x2)),{'ok':!![],'message':_0x1e7a5f(0x17b)+_0x54b210};}catch(_0x58d198){return{'ok':![],'message':_0x1e7a5f(0x144)+_0x54b210+':\x20'+_0x58d198['message']};}}function patchJsonFile(_0xa3f91f,_0x3af9ac,_0x324417){const _0x5d77a2=_0x55d78b;try{fs['mkdirSync'](path[_0x5d77a2(0xde)](_0xa3f91f),{'recursive':!![]});const _0x2e335e=readJson(_0xa3f91f),_0x5aa499=_0x3af9ac(_0x2e335e);return fs[_0x5d77a2(0x154)](_0xa3f91f,JSON[_0x5d77a2(0x149)](_0x5aa499,null,0x2)),{'ok':!![],'message':'Updated\x20'+_0x324417};}catch(_0x3e1be0){return{'ok':![],'message':'Failed\x20to\x20update\x20'+_0x324417+':\x20'+_0x3e1be0['message']};}}function prompt(_0x4c210c,_0x3d1f4e){return new Promise(_0x113f98=>_0x4c210c['question'](_0x3d1f4e,_0x113f98));}function readExistingToken(){const _0x360414=_0x55d78b,_0x4b0b9a={'LVKVU':_0x360414(0x106),'HQCkJ':function(_0x1f8fc7,_0x5619a6){return _0x1f8fc7(_0x5619a6);},'RIOXV':_0x360414(0xfa),'aRNfd':function(_0x26c77b,_0x1a2a29){return _0x26c77b!==_0x1a2a29;},'luxku':'YOUR_FIGMA_TOKEN_HERE'},_0x266c2d=path[_0x360414(0xea)](os['homedir'](),_0x4b0b9a['LVKVU'],'settings.json');if(fs[_0x360414(0x119)](_0x266c2d)){const _0x1eb554=_0x4b0b9a[_0x360414(0x12a)](readJson,_0x266c2d),_0x3011d6=_0x1eb554?.[_0x360414(0x103)]?.[_0x4b0b9a[_0x360414(0x16e)]]?.['env']?.[_0x360414(0x156)];if(_0x3011d6&&_0x4b0b9a['aRNfd'](_0x3011d6,_0x360414(0x16b)))return _0x3011d6;}const _0x56d2e0=path['join'](ROOT_DIR,'.vscode','mcp.json');if(fs[_0x360414(0x119)](_0x56d2e0)){const _0x59d2ce=readJson(_0x56d2e0),_0x34e775=_0x59d2ce?.['servers']?.[_0x4b0b9a[_0x360414(0x16e)]]?.[_0x360414(0x145)]?.['FIGMA_ACCESS_TOKEN'];if(_0x34e775&&_0x34e775!==_0x4b0b9a[_0x360414(0xe0)])return _0x34e775;}return null;}function _0x4b89(){const _0x29827b=['r3PRuwS','zMLNBweTAw50zwXSAwDLBMnLlwXHEwvY','CMfkA3u','rKLhtufFqundrvntx1rps0vopq','D2jQveG','BwnWlNnLCNzLCNm','C3rHDhvZ','4PYxica','A2LYBW','t290B3q','BwnWu2vYDMvYCW','CMvHzezPBgvtEw5J','BwTKAxjtEw5J','lMnSyxvKzq','y2XVC2u','nJG4nZeWuxLPq2np','CMvTB3zL','CgfYC2u','icaGuNvUoIaGBNbTihj1BIbZzxr1CcaGicHMAxjZDc10Aw1LksbVCG','teTougK','BuD6sKG','ru5bqKXfx0rfq0Ltsu9ox0XprZ0','y2XHDwrL','tLL5C1y','vM1ovwS','Aw5JBhvKzxm','ic4UlIa','uhz0vfa','4OcI4OcI4OcI4OcI','q3Ddv3G','q01my2O','DNLMyMm','zxHPC3rZu3LUyW','v2HPy2GGDg9VBcHZksb0BYbJB25Uzwn0pYaOzw50zxiGBNvTyMvYCYbZzxbHCMf0zwqGyNKGy29TBwfZlcbVCIbHl2uVCsK6ia','q29Kzq','zMLSDgvY','rKvZtxO','ihrVB2WOCYKUienOzwnRigvYCM9YCYbHyM92zs4','ica0lIbsDw4Gig5WBsbYDw4GC3rHDhvZicb0BYb2zxjPzNKGzxzLCNL0AgLUzYbPCYbOzwfSDgH5lG','y2f0y2G','yM1rCfC','odKZntK0mhroDMXUua','uLHVugW','y2HPBgrFChjVy2vZCW','Dhj1zq','DNnJB2rL','BMfTzq','BLPIs1O','mtqYnti4tfrRz0zj','sffdA0O','q29UDgLUDwuUzgv2','l0fWCgXPy2f0Aw9UCY9dB2rLEc5HChaVq29UDgvUDhmVuMvZB3vYy2vZl2nVzgv4','vxnLCIbZzxr0Aw5NCYbWyxrOig5VDcbMB3vUzcdIGjqGD29YA3nWywnLignVBMzPzYb3CML0DgvUig9UBhK','AuzbvgS','BgvUz3rO','icaG','lMnVBNrPBNvL','FI8UA2LYBY9Ty3aUANnVBG','y2HHDc5Ty3aUyxv0B3n0yxj0','zfz3Bve','mJe4nty0neDlEMrvrG','Ag9TzwrPCG','4P2mifvUA25VD24GDg9VBcbPzdOGiG','qxbWrgf0yq','CgLWzq','8j+tIYbtDxbWB3j0zwqGquKGDg9VBhm6','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','s0DzzK8','AeTXELu','tgLICMfYEq','wunsswm','BgfIzwW','D3rwDve','ls1LBNy','mJHIzfn6t3O','rMfPBgvKihrVihDYAxrLia','zw52','C3rKB3v0','uM9HBwLUzW','D2LUzhn1CMy','C3rYAw5NAwz5','seTrq3K','AuzJwLO','lMn1CNnVCG','zM9YrwfJAa','vNvTs3O','DgXZAKe','BwvZC2fNzq','r2T0vhm','oxvcwLPHDG','C3rKzxjY','D3jPDgvgAwXLu3LUyW','icaGugfZDguGEw91CIb0B2TLBJOG','rKLhtufFqundrvntx1rps0vo','AxnbCNjHEq','D3jPDgu','wMvK','vLmGq29KzsaOr2L0shvIienVCgLSB3qGlYbnq1aGzxH0zw5ZAw9UCYK','y29KzxG','ywXSB3C','BgfxzvK','icaGicaGicaGy2qGzMLNBweTAw50zwXSAwDLBMnLlwXHEwvYicyMig5WBsbYDw4GyNvPBgq','Dw5RBM93BIbLCNjVCG','mJC0CffMAhDr','y3vYC29Y','C2v0DgLUz3mUANnVBG','z2ritgq','icbXlIbrDwL0','CMvZB2X2zq','y2HHDc5Ty3aUzgLZy292zxj5lMvUywjSzwq','lNzZy29Kzq','y29UDgv4Df9Zzxj2zxjZ','uunKsva','BM9Kzq','wu9vuL9gsuDnqv9ut0TftL9irvjf','qxbWBgLJyxrPB24Gu3vWCg9YDa','ChvZAa','uKLpwfy','A05Wqwy','C3rKAw4','BwnWlMPZB24','CgvYBwLZC2LVBNm','BwnW','vhDovgW','yw5ezee','BMzrue0','Cgf0Aa','4Psm4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psq','BwTvqKq','icaGvMfSAwqGAwrZoIa','v3jPDhrLBIb0BYa','mti2mtu1nLjNr2n5za','y29KzxGGBwnWigfKzcbMywLSzwq6ia','y3jLyxrLsw50zxjMywnL','DxrMoa','AM5zy24','lMTPCM8','zxjYB3i','zgLYBMfTzq','yw13z3m','Bhv4A3u','tvHXuxi','uMvNAxn0zxjLzcbPBIb+lY5JB2rLEc9JB25MAwCUDg9TBa','EMvK','4PQz77IpicbszwDPC3rLCMLUzYbnq1aGC2vYDMvYihDPDgGG','vxnLCG','BwfW','rgjSEMu','zxHPDa','DhjPBq','AM9PBG','lMnVBMzPzW','icdINjqGzgv0zwn0zwq','qLLxvM8','DhLOqLC','4P2mie1ducbZzxj2zxiGBM90igj1AwX0ihLLDc4','DgreqLO','mJy3odmXnZbJz2jJrfa','mZG3nJLKEhzbzLm','lNzZy29Kzs9Zzxr0Aw5NCY5QC29UicHnq1aGyxv0BY1LBMfIBguP','BxffAxm','DeHWue4','8j+uKsbgAwDTysb0B2TLBIbMB3vUzdOG','tK9vDK0','Bg9N'];_0x4b89=function(){return _0x29827b;};return _0x4b89();}async function main(){const _0x4dcd4d=_0x55d78b,_0x1c6677={'FEsMz':'github.copilot.chat.mcp.enabled','PIOYe':function(_0xeec92d,_0x53c3e2){return _0xeec92d<_0x53c3e2;},'tyhBW':function(_0x43700a,_0x71c0e3){return _0x43700a===_0x71c0e3;},'Dblze':function(_0x1c44c7,_0x14ef98){return _0x1c44c7===_0x14ef98;},'VumKz':'--tool','atyRx':_0x4dcd4d(0x178),'KGYfO':'│\x20\x20\x20\x20\x20Figma\x20Intelligence\x20Layer\x20—\x20Connect\x20AI\x20Tool\x20\x20\x20\x20\x20\x20│','NYysV':function(_0x4eac27,_0x303e03,_0x2a3ec8){return _0x4eac27(_0x303e03,_0x2a3ec8);},'tlsjA':'\x20\x20\x20Press\x20Enter\x20to\x20reuse\x20it,\x20or\x20paste\x20a\x20new\x20token:\x20','PsyBw':'🔑\x20Figma\x20Personal\x20Access\x20Token\x20required.','IygBE':_0x4dcd4d(0x155),'bcZbX':_0x4dcd4d(0x16b),'raJku':function(_0x1f0a72,_0x347db5){return _0x1f0a72>_0x347db5;},'amwgs':_0x4dcd4d(0x164),'qmWzR':function(_0x285e8a,_0x323883,_0x5c8893){return _0x285e8a(_0x323883,_0x5c8893);},'WVjvk':'Bye.','nziVO':function(_0x2775b4,_0x2545ab){return _0x2775b4===_0x2545ab;},'mCyoY':function(_0x36ed12,_0x381587){return _0x36ed12===_0x381587;},'mGzJH':'LOqLY','CauBZ':'❌\x20No\x20valid\x20selection.\x20Exiting.','pmfhF':_0x4dcd4d(0x13b),'BYWVo':'\x20\x202.\x20Make\x20sure\x20the\x20bridge\x20relay\x20is\x20running:\x20\x20npm\x20start','dsALL':'\x20\x203.\x20Open\x20Figma\x20Desktop\x20and\x20click\x20▶\x20Start\x20in\x20the\x20plugin\x20panel.','KEBxV':_0x4dcd4d(0x11f)},_0x1c4008=process['argv']['slice'](0x2),_0x10a149=[];for(let _0x544a99=0x0;_0x1c6677['PIOYe'](_0x544a99,_0x1c4008['length']);_0x544a99++){if(_0x1c6677['tyhBW']('nGSlG','YyZOr'))return _0x4cf472['chat.mcp.discovery.enabled']=!![],_0xcfe6bd[_0x4dcd4d(0x133)]=!![],_0x3979e2[UwwNJK[_0x4dcd4d(0x11d)]]=!![],_0x333a3b;else _0x1c6677[_0x4dcd4d(0xe7)](_0x1c4008[_0x544a99],_0x1c6677[_0x4dcd4d(0x14e)])&&_0x1c4008[_0x544a99+0x1]&&_0x10a149[_0x4dcd4d(0x16d)](_0x1c4008[++_0x544a99]);}console[_0x4dcd4d(0xf8)](''),console['log'](_0x1c6677['atyRx']),console['log'](_0x1c6677[_0x4dcd4d(0x13c)]),console['log']('└─────────────────────────────────────────────────────┘'),console[_0x4dcd4d(0xf8)]('');!fs['existsSync'](MCP_SERVER_PATH)&&(console[_0x4dcd4d(0xdd)](_0x4dcd4d(0xef)),console['error'](_0x4dcd4d(0x10b)),console[_0x4dcd4d(0xdd)](_0x4dcd4d(0x15e)),process[_0x4dcd4d(0xe8)](0x1));const _0x5f0771=readline[_0x4dcd4d(0x17e)]({'input':process[_0x4dcd4d(0x170)],'output':process['stdout']}),_0x3786f2=readExistingToken();let _0x57bb28;if(_0x3786f2){console['log'](_0x4dcd4d(0xf6)+_0x3786f2['slice'](0x0,0xc)+_0x4dcd4d(0x115));const _0x30cbfe=await _0x1c6677[_0x4dcd4d(0x110)](prompt,_0x5f0771,_0x1c6677[_0x4dcd4d(0x14f)]);_0x57bb28=_0x30cbfe[_0x4dcd4d(0xe9)]()||_0x3786f2;}else console[_0x4dcd4d(0xf8)](_0x1c6677['PsyBw']),console[_0x4dcd4d(0xf8)]('\x20\x20\x20Get\x20one:\x20Figma\x20Desktop\x20→\x20Account\x20Settings\x20→\x20Security\x20→\x20Personal\x20access\x20tokens'),_0x57bb28=(await prompt(_0x5f0771,_0x1c6677['IygBE']))['trim'](),!_0x57bb28&&(_0x57bb28=_0x1c6677['bcZbX'],console[_0x4dcd4d(0xf8)]('\x20\x20\x20⚠\x20\x20No\x20token\x20provided\x20—\x20you\x20can\x20edit\x20it\x20in\x20each\x20tool\x27s\x20config\x20file\x20later.'));console[_0x4dcd4d(0xf8)]('');let _0x228f76;if(_0x1c6677[_0x4dcd4d(0xfb)](_0x10a149[_0x4dcd4d(0x12f)],0x0))_0x228f76=_0x10a149['map'](_0x4a8b2e=>{const _0x198c7b=_0x4dcd4d,_0x1e1761=TOOLS['find'](_0x29a050=>_0x29a050['id']===_0x4a8b2e);return!_0x1e1761&&(console['error'](_0x198c7b(0x137)+_0x4a8b2e+'\x22'),console['error'](_0x198c7b(0x17a)+TOOLS[_0x198c7b(0xe6)](_0x291205=>_0x291205['id'])[_0x198c7b(0xea)](',\x20')),process['exit'](0x1)),_0x1e1761;});else{const _0x3c0387=TOOLS[_0x4dcd4d(0x11c)](_0x2593a8=>_0x2593a8['detect']()),_0x484348=TOOLS['filter'](_0x4b5de7=>!_0x4b5de7['detect']());console[_0x4dcd4d(0xf8)](_0x4dcd4d(0x13a)),console[_0x4dcd4d(0xf8)]('');const _0x73885b=[..._0x3c0387,..._0x484348];_0x73885b[_0x4dcd4d(0x14d)]((_0x5a5f18,_0x2b0f5c)=>{const _0x3fdfdf=_0x4dcd4d;if(_0x3fdfdf(0x111)==='uLKXP')_0x1f1aa3[_0x3fdfdf(0x16d)](_0x23650e[++_0x1038a4]);else{const _0x20a515=_0x3c0387['includes'](_0x5a5f18);console[_0x3fdfdf(0xf8)]('\x20\x20'+(_0x2b0f5c+0x1)+'.\x20'+_0x5a5f18[_0x3fdfdf(0x140)]+(_0x20a515?_0x3fdfdf(0xec):''));}}),console['log'](''),console['log']('\x20\x20a.\x20All\x20detected\x20tools\x20(recommended)'),console['log']('\x20\x20e.\x20Every\x20tool\x20in\x20the\x20list'),console['log'](_0x1c6677[_0x4dcd4d(0xdf)]),console['log']('');const _0x551234=(await _0x1c6677['qmWzR'](prompt,_0x5f0771,_0x4dcd4d(0x11a)))['trim']()['toLowerCase']();if(_0x1c6677[_0x4dcd4d(0xee)](_0x551234,'q')||_0x1c6677['tyhBW'](_0x551234,'')){console['log'](_0x1c6677['WVjvk']),_0x5f0771['close']();return;}if(_0x551234==='a'){_0x228f76=_0x3c0387;if(_0x228f76['length']===0x0){console[_0x4dcd4d(0xf8)]('⚠\x20\x20No\x20tools\x20detected\x20automatically.\x20Use\x20\x27e\x27\x20to\x20register\x20all,\x20or\x20install\x20a\x20tool\x20first.'),_0x5f0771['close']();return;}}else{if(_0x1c6677['nziVO'](_0x551234,'e')){if(_0x1c6677['mCyoY']('jafpR',_0x1c6677[_0x4dcd4d(0x10d)])){if(!_0x452c00['mcpServers'])_0x276769['mcpServers']={};return _0x11a2dd[_0x4dcd4d(0x103)][_0x4dcd4d(0xfa)]=_0x3eb9da(_0x47e3f7),_0x3ebf3a;}else _0x228f76=_0x73885b;}else{const _0xcc4847=_0x551234['split'](',')[_0x4dcd4d(0xe6)](_0x49d348=>parseInt(_0x49d348[_0x4dcd4d(0xe9)](),0xa)-0x1);_0x228f76=_0xcc4847['filter'](_0x575274=>_0x575274>=0x0&&_0x575274<_0x73885b[_0x4dcd4d(0x12f)])['map'](_0x261237=>_0x73885b[_0x261237]);if(_0x1c6677['mCyoY'](_0x228f76['length'],0x0)){console[_0x4dcd4d(0xf8)](_0x1c6677['CauBZ']),_0x5f0771['close']();return;}}}}_0x5f0771[_0x4dcd4d(0x107)](),console[_0x4dcd4d(0xf8)](''),console['log'](_0x4dcd4d(0xe4)+_0x228f76['length']+'\x20tool(s)...'),console[_0x4dcd4d(0xf8)]('');let _0x39cfda=0x0;for(const _0x4fe6bf of _0x228f76){process[_0x4dcd4d(0x146)][_0x4dcd4d(0x158)](_0x4dcd4d(0x130)+_0x4fe6bf['label']+_0x4dcd4d(0x113));const _0x3d7d9c=_0x4fe6bf['install'](_0x57bb28);_0x3d7d9c['ok']?(console['log']('✔\x20\x20'+_0x3d7d9c['message']),_0x39cfda++):console['log'](_0x4dcd4d(0x100)+_0x3d7d9c['message']);}console[_0x4dcd4d(0xf8)](''),console['log'](_0x1c6677['pmfhF']),_0x39cfda===_0x228f76['length']?console['log']('✅\x20Connected\x20'+_0x39cfda+'/'+_0x228f76['length']+'\x20tool(s)\x20successfully.'):console['log']('⚠\x20\x20Connected\x20'+_0x39cfda+'/'+_0x228f76['length']+_0x4dcd4d(0x11e)),console['log'](''),console['log']('Next\x20steps:'),console['log']('\x20\x201.\x20Restart\x20the\x20AI\x20tool\x20(VS\x20Code,\x20Cursor,\x20etc.)\x20to\x20pick\x20up\x20the\x20new\x20MCP\x20server.'),console[_0x4dcd4d(0xf8)](_0x1c6677[_0x4dcd4d(0xed)]),console[_0x4dcd4d(0xf8)](_0x1c6677['dsALL']),console[_0x4dcd4d(0xf8)](_0x1c6677['KEBxV']),console[_0x4dcd4d(0xf8)]('');}main()[_0x55d78b(0x120)](_0x3fbc9a=>{const _0x2df7c2=_0x55d78b;console['error']('Unexpected\x20error:',_0x3fbc9a[_0x2df7c2(0x150)]),process[_0x2df7c2(0xe8)](0x1);});
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ const _0x1191b9=_0xa801;(function(_0x23d54b,_0x20edc9){const _0x1ed2f2=_0xa801,_0x50ed00=_0x23d54b();while(!![]){try{const _0x4ccdda=-parseInt(_0x1ed2f2(0x1f0))/0x1*(-parseInt(_0x1ed2f2(0x25c))/0x2)+parseInt(_0x1ed2f2(0x1cc))/0x3*(parseInt(_0x1ed2f2(0x234))/0x4)+parseInt(_0x1ed2f2(0x1d6))/0x5*(parseInt(_0x1ed2f2(0x253))/0x6)+-parseInt(_0x1ed2f2(0x1ce))/0x7+-parseInt(_0x1ed2f2(0x1f3))/0x8*(-parseInt(_0x1ed2f2(0x211))/0x9)+parseInt(_0x1ed2f2(0x210))/0xa+-parseInt(_0x1ed2f2(0x23d))/0xb;if(_0x4ccdda===_0x20edc9)break;else _0x50ed00['push'](_0x50ed00['shift']());}catch(_0x20c0c8){_0x50ed00['push'](_0x50ed00['shift']());}}}(_0x2191,0x1eef9));const fs=require('fs'),path=require('path'),HUB_DIR=path['resolve'](__dirname,'..',_0x1191b9(0x1e8),_0x1191b9(0x20b));let pdfParse;function getPdfParse(){const _0x22bed9=_0x1191b9,_0x509121={'IyLIJ':function(_0x18a684,_0x38ac28){return _0x18a684!==_0x38ac28;},'YHfbm':'ZVlAu','gciLi':_0x22bed9(0x1e8),'TFNcS':'node_modules','hbwtc':function(_0x8ede83,_0x29e592){return _0x8ede83(_0x29e592);}};if(!pdfParse){if(_0x509121[_0x22bed9(0x1d8)](_0x509121['YHfbm'],'HgUWZ')){const _0x5cb7b5=path[_0x22bed9(0x236)](__dirname,'..',_0x509121['gciLi'],_0x509121['TFNcS'],'pdf-parse');pdfParse=_0x509121['hbwtc'](require,_0x5cb7b5);}else _0x5c371e['push']({'heading':_0x382428,'startIndex':_0x1d9522});}return pdfParse;}function cleanExtractedText(_0x41bdca){const _0x1fd888=_0x1191b9,_0x3d03d6={'iKDML':function(_0xe38365,_0x47a400){return _0xe38365+_0x47a400;},'trwHu':_0x1fd888(0x1e0)};return _0x41bdca['replace'](/\n-- \d+ of \d+ --\n/g,'\x0a\x0a')[_0x1fd888(0x1e2)](/\r\n/g,'\x0a')['replace'](/^\s*\d{1,4}\s*$/gm,'')['replace'](/\b\d+[A-Z][a-z]+[A-Z]\s+\d+[A-Z][a-z]+\.\w+\b/g,'')['replace'](/^(.{10,80})\n(?:.*\n){20,80}\1$/gm,(_0x49ae06,_0x5900f1)=>{const _0x4ccf58=_0x1fd888;return _0x49ae06['replace'](new RegExp(_0x3d03d6['iKDML']('^',_0x5900f1[_0x4ccf58(0x1e2)](/[.*+?^${}()|[\]\\]/g,_0x4ccf58(0x220)))+'$','gm'),'');})['replace'](/^[^\n]*\t{2,}[^\n]*$/gm,'')['replace'](/\n{4,}/g,_0x3d03d6[_0x1fd888(0x24f)])[_0x1fd888(0x1e2)](/^[ \t]+|[ \t]+$/gm,_0x4bc83e=>_0x4bc83e['length']>0x8?'':_0x4bc83e)['trim']();}function cleanChunkText(_0x3baa12){const _0x3272cc=_0x1191b9;return _0x3baa12[_0x3272cc(0x1e2)](/^\s*\d{1,4}\s*$/gm,'')['replace'](/^.{1,3}$/gm,'')['replace'](/\n{3,}/g,'\x0a\x0a')['trim']();}function detectHeadings(_0x2be1c0){const _0x42588a=_0x1191b9,_0x21d351={'ymGkX':function(_0x52c75d,_0x2e446e){return _0x52c75d<_0x2e446e;},'tLtll':function(_0x5c2a96,_0x5a2597){return _0x5c2a96<_0x5a2597;},'HZaVP':_0x42588a(0x231),'CdBRh':function(_0x5bb110,_0x49c519){return _0x5bb110+_0x49c519;},'YsoOA':function(_0x547fa8,_0x3a4e17){return _0x547fa8>_0x3a4e17;},'IhvHL':function(_0x3bec0b,_0x4fe884){return _0x3bec0b>_0x4fe884;},'rfdzq':function(_0x3e360e,_0x1be7bd){return _0x3e360e<_0x1be7bd;},'qnneG':function(_0x32e614,_0x4b5f5b){return _0x32e614===_0x4b5f5b;},'AcAwG':function(_0x179df0,_0xc35e4b){return _0x179df0+_0xc35e4b;}},_0x1fb016=_0x2be1c0[_0x42588a(0x21b)]('\x0a'),_0x562795=[];let _0x35ded3=0x0;const _0x240f6c=/^.{5,60}\s*\.{3,}\s*\d+\s*$/,_0x48d9b2=new Set();for(let _0x12f05c=0x0;_0x12f05c<_0x1fb016[_0x42588a(0x1da)];_0x12f05c++){if(_0x240f6c['test'](_0x1fb016[_0x12f05c]['trim']()))for(let _0x5320cb=Math['max'](0x0,_0x12f05c-0x2);_0x21d351[_0x42588a(0x241)](_0x5320cb,Math['min'](_0x1fb016[_0x42588a(0x1da)],_0x12f05c+0x3));_0x5320cb++){_0x48d9b2[_0x42588a(0x1ec)](_0x5320cb);}}for(let _0x372eda=0x0;_0x21d351['tLtll'](_0x372eda,_0x1fb016[_0x42588a(0x1da)]);_0x372eda++){if(_0x21d351[_0x42588a(0x1e5)]!==_0x21d351['HZaVP'])_0x2010ed='';else{const _0x1e327b=_0x1fb016[_0x372eda][_0x42588a(0x203)](),_0x4cbc8b=(_0x1fb016[_0x21d351[_0x42588a(0x235)](_0x372eda,0x1)]||'')['trim'](),_0x483878=_0x21d351['YsoOA'](_0x372eda,0x0)?_0x1fb016[_0x372eda-0x1]['trim']():'';if(_0x48d9b2['has'](_0x372eda)){_0x35ded3+=_0x1fb016[_0x372eda]['length']+0x1;continue;}if(/\t/[_0x42588a(0x22d)](_0x1e327b)){_0x35ded3+=_0x21d351['CdBRh'](_0x1fb016[_0x372eda]['length'],0x1);continue;}if(_0x1e327b['length']<0x4){_0x35ded3+=_0x1fb016[_0x372eda][_0x42588a(0x1da)]+0x1;continue;}if(/^(chapter|part)\s+\d+[.:)]\s*/i[_0x42588a(0x22d)](_0x1e327b)&&_0x21d351[_0x42588a(0x241)](_0x1e327b['length'],0x78)&&!/\d+$/[_0x42588a(0x22d)](_0x1e327b['replace'](/^.*\d+[.:)]\s*/,'')))_0x42588a(0x1f6)!=='WETWb'?(_0x356d10[_0x42588a(0x1ee)](_0x42588a(0x200)+_0x64145e),_0x2eac10[_0x42588a(0x1eb)](0x1)):_0x562795[_0x42588a(0x1fb)]({'heading':_0x1e327b,'startIndex':_0x35ded3});else{if(/^\d+(\.\d+)?\s+[A-Z]/['test'](_0x1e327b)&&_0x1e327b['length']<0x78&&_0x1e327b['length']>0x5)!/\s+\d{1,3}\s*$/['test'](_0x1e327b)&&_0x562795[_0x42588a(0x1fb)]({'heading':_0x1e327b,'startIndex':_0x35ded3});else{if(_0x21d351['IhvHL'](_0x1e327b[_0x42588a(0x1da)],0x3)&&_0x21d351['rfdzq'](_0x1e327b[_0x42588a(0x1da)],0x50)&&_0x1e327b===_0x1e327b[_0x42588a(0x1fa)]()&&/[A-Z]{3,}/[_0x42588a(0x22d)](_0x1e327b)&&!/^\d+$/[_0x42588a(0x22d)](_0x1e327b)&&_0x4cbc8b['length']>0x1e)_0x562795[_0x42588a(0x1fb)]({'heading':_0x1e327b,'startIndex':_0x35ded3});else _0x1e327b['length']>0x5&&_0x1e327b['length']<0x64&&/^[A-Z][a-z]/['test'](_0x1e327b)&&!_0x1e327b['endsWith']('.')&&!_0x1e327b['endsWith'](',')&&_0x4cbc8b['length']>0x32&&_0x21d351[_0x42588a(0x208)](_0x483878,'')&&_0x562795[_0x42588a(0x1fb)]({'heading':_0x1e327b,'startIndex':_0x35ded3});}}_0x35ded3+=_0x21d351['AcAwG'](_0x1fb016[_0x372eda]['length'],0x1);}}return _0x562795;}function _0xa801(_0x1ff8a2,_0x4f9c03){_0x1ff8a2=_0x1ff8a2-0x1c8;const _0x2191c4=_0x2191();let _0xa80103=_0x2191c4[_0x1ff8a2];if(_0xa801['OvtQLT']===undefined){var _0x518a06=function(_0x4fdbef){const _0x3b6e21='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3dc9f0='',_0x2712b4='';for(let _0x146cb7=0x0,_0x18607d,_0x2e1e99,_0x1c1a85=0x0;_0x2e1e99=_0x4fdbef['charAt'](_0x1c1a85++);~_0x2e1e99&&(_0x18607d=_0x146cb7%0x4?_0x18607d*0x40+_0x2e1e99:_0x2e1e99,_0x146cb7++%0x4)?_0x3dc9f0+=String['fromCharCode'](0xff&_0x18607d>>(-0x2*_0x146cb7&0x6)):0x0){_0x2e1e99=_0x3b6e21['indexOf'](_0x2e1e99);}for(let _0x3cd366=0x0,_0x2314f3=_0x3dc9f0['length'];_0x3cd366<_0x2314f3;_0x3cd366++){_0x2712b4+='%'+('00'+_0x3dc9f0['charCodeAt'](_0x3cd366)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2712b4);};_0xa801['jUtWBg']=_0x518a06,_0xa801['mxyjVG']={},_0xa801['OvtQLT']=!![];}const _0x1ae71c=_0x2191c4[0x0],_0x29092e=_0x1ff8a2+_0x1ae71c,_0x1bc6b8=_0xa801['mxyjVG'][_0x29092e];return!_0x1bc6b8?(_0xa80103=_0xa801['jUtWBg'](_0xa80103),_0xa801['mxyjVG'][_0x29092e]=_0xa80103):_0xa80103=_0x1bc6b8,_0xa80103;}function chunkText(_0x4f71d3,_0x435df1,_0x4ba07b=0x7d0){const _0x5aad49=_0x1191b9,_0xf12c52={'GewUu':function(_0x2330ca,_0x24db45){return _0x2330ca>_0x24db45;},'lIQiP':function(_0x57ea06,_0x1f2236){return _0x57ea06(_0x1f2236);},'iXUNZ':function(_0x256465,_0x5ab4ff){return _0x256465+_0x5ab4ff;},'LsJXP':function(_0x365338,_0x3edc52){return _0x365338>_0x3edc52;},'GPJhj':function(_0x4abcdc,_0x429340){return _0x4abcdc>_0x429340;},'pElex':_0x5aad49(0x258),'CePtl':'Introduction\x20/\x20Preface','BvmeD':function(_0x10e7ac,_0x285cbe){return _0x10e7ac(_0x285cbe);},'xBRxx':function(_0x458ab5,_0x1cfb31){return _0x458ab5+_0x1cfb31;},'OrZYj':function(_0x2d4841,_0x2849d8){return _0x2d4841<_0x2849d8;},'RDcEf':'Section'},_0x5deba6=[];if(_0xf12c52['LsJXP'](_0x435df1['length'],0x0)){if(_0xf12c52['GPJhj'](_0x435df1[0x0][_0x5aad49(0x1ea)],0xc8)){if(_0xf12c52[_0x5aad49(0x1cd)]!==_0x5aad49(0x261)){const _0x4ebcf6=_0x4f71d3[_0x5aad49(0x1f9)](0x0,_0x435df1[0x0]['startIndex'])[_0x5aad49(0x203)]();_0x4ebcf6[_0x5aad49(0x1da)]>0x64&&_0x5deba6[_0x5aad49(0x1fb)]({'heading':_0xf12c52[_0x5aad49(0x1d4)],'text':_0xf12c52['BvmeD'](cleanChunkText,_0x4ebcf6)});}else _0xf12c52[_0x5aad49(0x1e9)](_0x5d7304[_0x5aad49(0x1da)]+_0x13c947[_0x5aad49(0x1da)],_0x35977f)&&_0xf12c52['GewUu'](_0x1e70b7[_0x5aad49(0x1da)],0xc8)&&(_0x3287b4['push']({'heading':_0x5c7005+'\x20(part\x20'+_0x5b345d+')','text':_0xf12c52['lIQiP'](_0x1dbe08,_0x1e8826)}),_0x26401e='',_0x4b50b7++),_0x5043a1+=_0xf12c52[_0x5aad49(0x1f5)](_0x2fb387,'\x0a\x0a');}for(let _0x2813bd=0x0;_0x2813bd<_0x435df1['length'];_0x2813bd++){const _0x1ec043=_0x435df1[_0x2813bd][_0x5aad49(0x1ea)],_0x49ad8d=_0xf12c52[_0x5aad49(0x243)](_0x2813bd,0x1)<_0x435df1[_0x5aad49(0x1da)]?_0x435df1[_0x2813bd+0x1]['startIndex']:_0x4f71d3[_0x5aad49(0x1da)],_0x4a6ae1=_0x4f71d3['slice'](_0x1ec043,_0x49ad8d)[_0x5aad49(0x203)](),_0x4a9822=_0xf12c52['BvmeD'](cleanChunkText,_0x4a6ae1);if(_0xf12c52[_0x5aad49(0x25e)](_0x4a9822[_0x5aad49(0x1da)],0x50))continue;if(_0x4a9822[_0x5aad49(0x1da)]>_0x4ba07b*0x2){const _0x399871=splitByParagraphs(_0x4a9822,_0x4ba07b,_0x435df1[_0x2813bd][_0x5aad49(0x214)]);_0x5deba6[_0x5aad49(0x1fb)](..._0x399871);}else _0x5deba6[_0x5aad49(0x1fb)]({'heading':_0x435df1[_0x2813bd][_0x5aad49(0x214)],'text':_0x4a9822});}}else{const _0xfbab8e=splitByParagraphs(_0x4f71d3,_0x4ba07b,_0xf12c52['RDcEf']);_0x5deba6['push'](..._0xfbab8e);}return _0x5deba6;}function splitByParagraphs(_0x7158e4,_0x447720,_0x57a910){const _0x18fdd1=_0x1191b9,_0x53f3b0={'KVUuU':'\x5c$&','EBhRO':'\x0a\x0a\x0a','aQQet':function(_0x4a9cf3,_0x3d7979){return _0x4a9cf3>_0x3d7979;},'tkYFV':function(_0x25d004,_0x11a4da){return _0x25d004+_0x11a4da;},'YGVkQ':function(_0x1c7d34,_0x239425){return _0x1c7d34+_0x239425;},'OIUWi':function(_0x1a4e67,_0x45ad27){return _0x1a4e67>_0x45ad27;},'veXTY':_0x18fdd1(0x25b),'KVMgh':function(_0x5d4bfb,_0x17365a){return _0x5d4bfb>_0x17365a;},'DgvVU':function(_0x2d59e2,_0x514ae1){return _0x2d59e2(_0x514ae1);}},_0x51a3f3=_0x7158e4[_0x18fdd1(0x21b)](/\n{2,}/)[_0x18fdd1(0x1f8)](_0xe8f123=>_0xe8f123[_0x18fdd1(0x203)]()['length']>0x1e),_0x3fc97e=[];let _0xf1c6e4='',_0x407857=0x1;for(const _0x192dd2 of _0x51a3f3){_0x53f3b0['aQQet'](_0x53f3b0[_0x18fdd1(0x21f)](_0xf1c6e4[_0x18fdd1(0x1da)],_0x192dd2['length']),_0x447720)&&_0xf1c6e4['length']>0xc8&&(_0x3fc97e[_0x18fdd1(0x1fb)]({'heading':_0x57a910+'\x20(part\x20'+_0x407857+')','text':cleanChunkText(_0xf1c6e4)}),_0xf1c6e4='',_0x407857++),_0xf1c6e4+=_0x53f3b0['YGVkQ'](_0x192dd2,'\x0a\x0a');}if(_0x53f3b0[_0x18fdd1(0x246)](_0xf1c6e4['trim']()['length'],0x50)){if(_0x18fdd1(0x1e1)!==_0x53f3b0['veXTY'])_0x3fc97e[_0x18fdd1(0x1fb)]({'heading':_0x53f3b0['KVMgh'](_0x3fc97e[_0x18fdd1(0x1da)],0x0)?_0x57a910+_0x18fdd1(0x24e)+_0x407857+')':_0x57a910,'text':_0x53f3b0['DgvVU'](cleanChunkText,_0xf1c6e4)});else{const _0x101759={'jjgLv':function(_0x3526dd,_0x29bbbe){return _0x3526dd+_0x29bbbe;},'Rikfv':CZTims[_0x18fdd1(0x22f)]};return _0xa81f97[_0x18fdd1(0x1e2)](/\n-- \d+ of \d+ --\n/g,'\x0a\x0a')['replace'](/\r\n/g,'\x0a')[_0x18fdd1(0x1e2)](/^\s*\d{1,4}\s*$/gm,'')[_0x18fdd1(0x1e2)](/\b\d+[A-Z][a-z]+[A-Z]\s+\d+[A-Z][a-z]+\.\w+\b/g,'')[_0x18fdd1(0x1e2)](/^(.{10,80})\n(?:.*\n){20,80}\1$/gm,(_0x535eb8,_0x16e975)=>{const _0x271246=_0x18fdd1;return _0x535eb8['replace'](new _0x3c75a8(_0x101759['jjgLv']('^'+_0x16e975[_0x271246(0x1e2)](/[.*+?^${}()|[\]\\]/g,_0x101759[_0x271246(0x24c)]),'$'),'gm'),'');})[_0x18fdd1(0x1e2)](/^[^\n]*\t{2,}[^\n]*$/gm,'')['replace'](/\n{4,}/g,CZTims[_0x18fdd1(0x250)])[_0x18fdd1(0x1e2)](/^[ \t]+|[ \t]+$/gm,_0x4225f4=>_0x4225f4['length']>0x8?'':_0x4225f4)['trim']();}}return _0x3fc97e;}const STOP_WORDS=new Set(['a','an','the','is','are',_0x1191b9(0x1de),_0x1191b9(0x248),'be',_0x1191b9(0x240),_0x1191b9(0x218),'have',_0x1191b9(0x1f4),_0x1191b9(0x1cf),'do','does',_0x1191b9(0x209),_0x1191b9(0x215),'would',_0x1191b9(0x25f),_0x1191b9(0x20f),_0x1191b9(0x1d0),'might','shall',_0x1191b9(0x219),'need','must','i','me','my','we',_0x1191b9(0x20d),_0x1191b9(0x23c),'your','he','she','it',_0x1191b9(0x23f),'them',_0x1191b9(0x1dc),'this',_0x1191b9(0x1fc),'these',_0x1191b9(0x227),'what','which',_0x1191b9(0x25d),_0x1191b9(0x24b),'how',_0x1191b9(0x204),'where','why','and','or',_0x1191b9(0x20e),_0x1191b9(0x256),'no',_0x1191b9(0x1d3),'so','if',_0x1191b9(0x202),'of','in','on','at','to',_0x1191b9(0x224),_0x1191b9(0x216),'by','from',_0x1191b9(0x212),_0x1191b9(0x22c),_0x1191b9(0x1fe),'during',_0x1191b9(0x257),_0x1191b9(0x254),'above',_0x1191b9(0x1d2),'between',_0x1191b9(0x20c),'over','just',_0x1191b9(0x232),_0x1191b9(0x1db),'too',_0x1191b9(0x21a),_0x1191b9(0x262),'some',_0x1191b9(0x1fd),'all','each',_0x1191b9(0x1d7),'both',_0x1191b9(0x205),'many','much',_0x1191b9(0x213),'only','other',_0x1191b9(0x22b),_0x1191b9(0x233),'than','even','one',_0x1191b9(0x239),'three',_0x1191b9(0x20a),'second',_0x1191b9(0x207),_0x1191b9(0x1e7),'use',_0x1191b9(0x1f2),'using','make','made','see',_0x1191b9(0x229),_0x1191b9(0x225),'work','part',_0x1191b9(0x25a),'chapter','figure','table']);function extractChunkKeywords(_0x48f135,_0x4223a8=0xf){const _0x1d3555=_0x1191b9,_0x44fdaf={'ETWsG':function(_0x528fcc,_0x51d929,_0x374bd8,_0x23468f){return _0x528fcc(_0x51d929,_0x374bd8,_0x23468f);},'SggIi':_0x1d3555(0x251),'LzwcE':function(_0x9cae11,_0x408f97){return _0x9cae11+_0x408f97;},'WolwY':function(_0x4ab7d4,_0x575453){return _0x4ab7d4-_0x575453;},'iQHTz':function(_0x4fe6b9,_0x6243e1){return _0x4fe6b9!==_0x6243e1;},'BcouE':'yfniD','EOuRN':function(_0x32a344,_0x363a37){return _0x32a344+_0x363a37;},'zKWFu':function(_0x238501,_0x2d1a9d){return _0x238501>=_0x2d1a9d;},'otshD':'zvvFj','CxxNt':function(_0x249126,_0x45dc30){return _0x249126+_0x45dc30;}},_0x356977=_0x48f135[_0x1d3555(0x245)]()['replace'](/[^\w\s-]/g,'\x20')['split'](/\s+/)[_0x1d3555(0x1f8)](_0x1aa24f=>{const _0x78a2fe=_0x1d3555;if(_0x1aa24f[_0x78a2fe(0x1da)]<0x3)return![];if(STOP_WORDS[_0x78a2fe(0x1f4)](_0x1aa24f))return![];if(/\d/['test'](_0x1aa24f)&&/[a-z]/i['test'](_0x1aa24f)&&_0x1aa24f['length']>0x6)return![];if(/[A-Z].*[a-z].*[A-Z]/[_0x78a2fe(0x22d)](_0x1aa24f))return![];return!![];}),_0x5b1cd6={};for(const _0x113443 of _0x356977){_0x5b1cd6[_0x113443]=_0x44fdaf['LzwcE'](_0x5b1cd6[_0x113443]||0x0,0x1);}const _0x1ea612={};for(let _0x524703=0x0;_0x524703<_0x44fdaf[_0x1d3555(0x1d1)](_0x356977[_0x1d3555(0x1da)],0x1);_0x524703++){if(_0x44fdaf['iQHTz'](_0x44fdaf['BcouE'],_0x44fdaf['BcouE'])){const _0x3f69fd=hRNeAD[_0x1d3555(0x24d)](_0x4989ff,_0x4ba8c8,_0x4a824f,hRNeAD[_0x1d3555(0x230)]);_0x361dbf['push'](..._0x3f69fd);}else{const _0x475a55=_0x44fdaf['LzwcE'](_0x44fdaf[_0x1d3555(0x244)](_0x356977[_0x524703],'\x20'),_0x356977[_0x524703+0x1]);_0x44fdaf['zKWFu'](_0x5b1cd6[_0x356977[_0x524703]]||0x0,0x2)&&(_0x5b1cd6[_0x356977[_0x524703+0x1]]||0x0)>=0x2&&(_0x44fdaf[_0x1d3555(0x23a)]===_0x1d3555(0x24a)?_0x5e224a[_0x1d3555(0x1fb)]({'heading':_0x25ab88[_0x1d3555(0x1da)]>0x0?_0x372d9a+'\x20(part\x20'+_0x4689a3+')':_0x1a6cc2,'text':_0xd9d53c(_0x18c341)}):_0x1ea612[_0x475a55]=_0x44fdaf['CxxNt'](_0x1ea612[_0x475a55]||0x0,0x1));}}const _0x27a1d7=[...Object['entries'](_0x1ea612)[_0x1d3555(0x1f8)](([,_0x441e71])=>_0x441e71>=0x2)['map'](([_0x40a488,_0x4e36e4])=>({'term':_0x40a488,'score':_0x4e36e4*0x3})),...Object['entries'](_0x5b1cd6)[_0x1d3555(0x221)](([_0x16bdb9,_0x689d17])=>({'term':_0x16bdb9,'score':_0x689d17}))];_0x27a1d7[_0x1d3555(0x237)]((_0x432540,_0x32ab3a)=>_0x32ab3a[_0x1d3555(0x255)]-_0x432540[_0x1d3555(0x255)]);const _0x3a0fe8=new Set(),_0x1ad3d2=[];for(const {term:_0x37dce5}of _0x27a1d7){if(_0x44fdaf['zKWFu'](_0x1ad3d2['length'],_0x4223a8))break;if(_0x3a0fe8['has'](_0x37dce5))continue;_0x3a0fe8[_0x1d3555(0x1ec)](_0x37dce5);if(!_0x37dce5[_0x1d3555(0x217)]('\x20')&&_0x1ad3d2['some'](_0x320b4d=>_0x320b4d['includes']('\x20')&&_0x320b4d[_0x1d3555(0x217)](_0x37dce5)))continue;_0x1ad3d2[_0x1d3555(0x1fb)](_0x37dce5);}return _0x1ad3d2;}async function convertPdf(_0x3c1c57){const _0x1883fd=_0x1191b9,_0x2c36e6={'sgUFL':function(_0x39d92d,_0x27817b){return _0x39d92d>_0x27817b;},'EDfbl':function(_0x2c86a4,_0x1c3311){return _0x2c86a4(_0x1c3311);},'oBIKS':function(_0x3882de,_0x59e101){return _0x3882de/_0x59e101;}},_0x48ded6=path[_0x1883fd(0x1d9)](_0x3c1c57),{PDFParse:_0x3f82ce}=getPdfParse();console['log'](_0x1883fd(0x238)+_0x48ded6+'...');const _0x45a344=fs[_0x1883fd(0x22e)](_0x3c1c57),_0x1b8cc6=new Uint8Array(_0x45a344['buffer'],_0x45a344['byteOffset'],_0x45a344['byteLength']),_0x5c9124=new _0x3f82ce(_0x1b8cc6),_0x35009b=await _0x5c9124[_0x1883fd(0x226)](),_0x9380e8=_0x35009b['text']||_0x35009b[_0x1883fd(0x1c8)]['map'](_0x83a2f7=>_0x83a2f7[_0x1883fd(0x1f1)])[_0x1883fd(0x252)]('\x0a\x0a'),_0x338023=cleanExtractedText(_0x9380e8);let _0x3ca166='';try{const _0x16f1e9=await _0x5c9124[_0x1883fd(0x1df)]();_0x3ca166=_0x16f1e9?.[_0x1883fd(0x1ff)]||_0x16f1e9?.['title']||'';}catch{}_0x3ca166&&(/[^\x20-\x7E]/[_0x1883fd(0x22d)](_0x3ca166)||_0x2c36e6[_0x1883fd(0x1cb)](_0x3ca166[_0x1883fd(0x1da)],0x96))&&(_0x3ca166='');const _0x4965b0=_0x35009b[_0x1883fd(0x1dd)]||_0x35009b[_0x1883fd(0x1c8)]?.[_0x1883fd(0x1da)]||0x0;console[_0x1883fd(0x242)](_0x1883fd(0x1e4)+_0x338023['length']['toLocaleString']()+_0x1883fd(0x1e6)+_0x4965b0+'\x20pages');const _0x38f0c4=_0x2c36e6['EDfbl'](detectHeadings,_0x338023);console['log']('\x20\x20\x20\x20\x20'+_0x38f0c4['length']+_0x1883fd(0x21c));const _0x598cb9=chunkText(_0x338023,_0x38f0c4);console['log'](_0x1883fd(0x1e4)+_0x598cb9['length']+_0x1883fd(0x1e3));const _0x111684={'title':_0x3ca166||_0x48ded6[_0x1883fd(0x1e2)](/\.pdf$/i,'')['replace'](/[-_]/g,'\x20'),'source':_0x48ded6,'pages':_0x4965b0,'totalChars':_0x338023['length'],'convertedAt':new Date()['toISOString'](),'chunks':_0x598cb9['map']((_0x52eee4,_0x6191d7)=>({'id':_0x1883fd(0x249)+String(_0x6191d7+0x1)['padStart'](0x3,'0'),'heading':_0x52eee4[_0x1883fd(0x214)],'text':_0x52eee4['text'],'chars':_0x52eee4['text']['length'],'keywords':extractChunkKeywords(_0x52eee4[_0x1883fd(0x1f1)])}))},_0x4068b2=_0x48ded6['replace'](/\.pdf$/i,'')[_0x1883fd(0x245)]()[_0x1883fd(0x1e2)](/[^a-z0-9]+/g,'-')[_0x1883fd(0x1e2)](/^-|-$/g,''),_0x5adcf9=path['join'](HUB_DIR,_0x4068b2+'.chunks.json');fs['writeFileSync'](_0x5adcf9,JSON[_0x1883fd(0x1ef)](_0x111684,null,0x2));const _0xa6bed0=fs[_0x1883fd(0x222)](_0x5adcf9)['size'];return console[_0x1883fd(0x242)](_0x1883fd(0x1f7)+_0x5adcf9['split']('/')[_0x1883fd(0x259)]()+'\x20('+_0x2c36e6[_0x1883fd(0x23e)](_0xa6bed0,0x400)['toFixed'](0x0)+_0x1883fd(0x1d5)+_0x111684['chunks']['length']+'\x20chunks)'),{'fileName':_0x48ded6,'outPath':_0x5adcf9,'chunks':_0x111684[_0x1883fd(0x1ca)][_0x1883fd(0x1da)]};}function _0x2191(){const _0x2cc464=['yNv0','C2HVDwXK','mty5mtqXmfzTwLPNrG','mZC0mtiXCwzgrxLW','ywjVDxq','C3vJAa','AgvHzgLUzW','D2LSBa','D2L0Aa','Aw5JBhvKzxm','yMvPBMC','y2fU','Bw9Yzq','C3bSAxq','igHLywrPBMDZigrLDgvJDgvK','BK9fs0W','lNbKzG','DgTzrLy','xcqM','BwfW','C3rHDfn5BMm','q29UDMvYDgvKia','zM9Y','DgfRzq','z2v0vgv4Da','DgHVC2u','icaGvg90ywWGy2H1BMTZoIa','z2v0','tM8GuergigzPBgvZigzVDw5KigLUigTUB3DSzwrNzs1ODwiVlIboB3rOAw5NihrVignVBNzLCNqU','BMv3','Aw50BW','DgvZDa','CMvHzezPBgvtEw5J','s1zvDvu','u2DNswK','sNjkrgC','ywXZBW','BgLRzq','mJqXmJb3rMPoAfO','q2rcuMG','CMvZB2X2zq','C29YDa','icbqyxjZAw5Nia','DhDV','B3rZAeq','ifberNmk','Ew91','ntCXotiXovL3tgTgtW','B0jjs1m','DgHLEq','yMvLBG','Ew1hA1G','Bg9N','EejsEhG','ru91uK4','Dg9mB3DLCKnHC2u','t0Lvv2K','rM91BMqG','D2vYzq','y2GT','wLPQyMy','D2HVBq','uMLRzNy','rvrxC0C','icHWyxj0ia','Dhj3shu','rujOuK8','u2vJDgLVBG','AM9PBG','mtiYotr2veDMAKq','ywz0zxi','C2nVCMu','BM90','yMvMB3jL','rufZyuK','Cg9W','CgfNzq','EfPjvge','mJq0ru54Def5','D2HV','t3jAwwO','y291Bgq','icaGq2H1BMSGzMLSzxm6ica','z015u1m','Bw9ZDa','CgfNzxm','y2f0y2G','y2H1BMTZ','C2DvrKW','mZnoDw95rK4','CevSzxG','mZyWody0v1z3D0jW','AgfK','Bwf5','v29SD1K','yMvSB3C','BM9Y','q2vqDgW','s0iSia','ndu1v1DfqxbL','zxzLCNK','sxLmsuO','yMfZzw5HBwu','BgvUz3rO','DMvYEq','DgHLAxi','Dg90ywW','D2fZ','z2v0sw5MBW','cGOk','uwzvsfG','CMvWBgfJzq','ignODw5RCYbJCMvHDgvK','icaGica','sfPHvLa','ignOyxjZlca','D2f5','zMLNBweTyNjPzgDLlxbSDwDPBG','r2v3vxu','C3rHCNrjBMrLEa','zxHPDa','ywrK','BwvZC2fNzq','zxjYB3i','C3rYAw5NAwz5','mtu4m2TsAeXIzW','Dgv4Da','DxnLza','mtzwtMvLu2q','AgfZ','AvHvtLO','v0vuv2i','icaGicbxCM90zsa','zMLSDgvY','C2XPy2u','Dg9vChbLCKnHC2u','ChvZAa','DgHHDa','yw55','DgHYB3vNAa','vgL0Bgu','s25VD2XLzgDLigH1yIbKAxjLy3rVCNKGBM90igzVDw5KoIa','q29UDMvYDgLUzYblBM93BgvKz2uGshvIifberNmGDg8Gy2H1BMTLzcbku09olI4UcG','DgHLBG','DhjPBq','D2HLBG','zMv3','zxHPC3rZu3LUyW','D2vSBa','Cw5UzuC','zgLK','zMLYC3q','A25VD2XLzgDLlwH1yG','Dw5Kzxi','B3vY'];_0x2191=function(){return _0x2cc464;};return _0x2191();}async function main(){const _0x492e89=_0x1191b9,_0x5bf318={'FYxbB':_0x492e89(0x22a),'nOEKL':function(_0x4674fe,_0x398200){return _0x4674fe(_0x398200);}};console[_0x492e89(0x242)](_0x492e89(0x201));!fs[_0x492e89(0x206)](HUB_DIR)&&(console[_0x492e89(0x1ee)](_0x492e89(0x200)+HUB_DIR),process[_0x492e89(0x1eb)](0x1));const _0x1b314b=fs['readdirSync'](HUB_DIR)[_0x492e89(0x1f8)](_0x1bcebe=>_0x1bcebe['toLowerCase']()['endsWith'](_0x492e89(0x21e)));_0x1b314b[_0x492e89(0x1da)]===0x0&&(console[_0x492e89(0x242)](_0x5bf318['FYxbB']),process['exit'](0x0));console[_0x492e89(0x242)](_0x492e89(0x247)+_0x1b314b['length']+'\x20PDF\x20file(s):\x0a');const _0x2c5f21=[];for(const _0x4397b3 of _0x1b314b){try{const _0x707a47=await _0x5bf318[_0x492e89(0x21d)](convertPdf,path[_0x492e89(0x252)](HUB_DIR,_0x4397b3));_0x2c5f21['push'](_0x707a47);}catch(_0x46095a){console[_0x492e89(0x1ee)]('\x20\x20Failed\x20to\x20convert\x20'+_0x4397b3+':\x20'+_0x46095a[_0x492e89(0x1ed)]);}console['log']('');}console['log']('-'['repeat'](0x32)),console[_0x492e89(0x242)](_0x492e89(0x223)+_0x2c5f21[_0x492e89(0x1da)]+'/'+_0x1b314b['length']+_0x492e89(0x23b));const _0x26cead=_0x2c5f21['reduce']((_0x38871b,_0x2b96e1)=>_0x38871b+_0x2b96e1['chunks'],0x0);console[_0x492e89(0x242)](_0x492e89(0x228)+_0x26cead),console[_0x492e89(0x242)](_0x492e89(0x260)+_0x2c5f21['map'](_0x25974e=>path['basename'](_0x25974e['outPath']))['join'](',\x20'));}main()[_0x1191b9(0x1c9)](_0x482d31=>{const _0x363b8b=_0x1191b9;console['error']('Fatal:',_0x482d31[_0x363b8b(0x1ed)]),process[_0x363b8b(0x1eb)](0x1);});
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';const _0xfac68e=_0x477d;(function(_0x423b5f,_0x1e9509){const _0x291d9c=_0x477d,_0x1cdc44=_0x423b5f();while(!![]){try{const _0xcd5e7e=-parseInt(_0x291d9c(0xe3))/0x1+parseInt(_0x291d9c(0xb2))/0x2+-parseInt(_0x291d9c(0xde))/0x3*(-parseInt(_0x291d9c(0xfa))/0x4)+parseInt(_0x291d9c(0xa7))/0x5+-parseInt(_0x291d9c(0x99))/0x6*(-parseInt(_0x291d9c(0x9c))/0x7)+parseInt(_0x291d9c(0xdd))/0x8*(-parseInt(_0x291d9c(0xd0))/0x9)+-parseInt(_0x291d9c(0xb6))/0xa;if(_0xcd5e7e===_0x1e9509)break;else _0x1cdc44['push'](_0x1cdc44['shift']());}catch(_0x5d1541){_0x1cdc44['push'](_0x1cdc44['shift']());}}}(_0x4eff,0x8e1b2));const fs=require('fs'),os=require('os'),path=require(_0xfac68e(0xf4)),{spawnSync}=require(_0xfac68e(0xcf)),ROOT_DIR=path['resolve'](__dirname,'..'),PORT=parseInt(process[_0xfac68e(0xa9)][0x2]||process.env.BRIDGE_PORT||_0xfac68e(0xbe),0xa),BUILD_PATH=path['join'](ROOT_DIR,'figma-intelligence-layer','dist','index.js'),CLAUDE_SETTINGS_PATH=path[_0xfac68e(0xce)](os['homedir'](),_0xfac68e(0xd1),_0xfac68e(0xdb)),STATUS={'OK':_0xfac68e(0xee),'WARN':'[WARN]','ERR':_0xfac68e(0xb4),'INFO':'[INFO]'};function run(_0x5c7c94,_0x420960,_0x5ef433={}){const _0x453679=_0xfac68e,_0x3a790f={'lFSUG':_0x453679(0xfc),'seiDY':function(_0x3e5afd,_0x426b8f){return _0x3e5afd===_0x426b8f;}},_0xc79a09=spawnSync(_0x5c7c94,_0x420960,{'encoding':_0x3a790f['lFSUG'],..._0x5ef433});return{'ok':_0x3a790f[_0x453679(0xa2)](_0xc79a09[_0x453679(0xf3)],0x0),'status':_0xc79a09['status'],'stdout':(_0xc79a09['stdout']||'')['trim'](),'stderr':(_0xc79a09['stderr']||'')[_0x453679(0xe8)](),'error':_0xc79a09[_0x453679(0xb9)]||null};}function commandExists(_0x45d3f6){const _0x563e6d=_0xfac68e,_0x13179b={'CfjIn':'-lc'},_0x478f8a=run('sh',[_0x13179b['CfjIn'],_0x563e6d(0x94)+_0x45d3f6]);return _0x478f8a['ok'];}function readJson(_0x33250f){const _0x519572=_0xfac68e,_0x4efc0a={'OLoHu':_0x519572(0xfc)};try{return JSON[_0x519572(0xbc)](fs[_0x519572(0xd7)](_0x33250f,_0x4efc0a['OLoHu']));}catch{return null;}}function maskToken(_0x177f45){const _0x3c4f2b=_0xfac68e;if(!_0x177f45)return _0x3c4f2b(0xb7);if(_0x177f45['length']<=0x8)return _0x3c4f2b(0xa1);return _0x177f45[_0x3c4f2b(0x9d)](0x0,0x4)+_0x3c4f2b(0xe1)+_0x177f45['slice'](-0x4);}function _0x4eff(){const _0x465929=['CMvSyxLmAxn0zw5PBMC','zxjYB3i','zMLUza','C3rKzxjY','CgfYC2u','BwnWq29UBMvJDgvK','otaWmq','C29Tzq','C2v0DgLUz3ngB3vUza','ie5VDcbMDwXSEsbYzwfKEs4GtMv4DcbHy3rPB25ZoG','zgv0ywLSCW','tM9qDuG','CKrRqMq','BhnVzIbMywLSzwq','B3biwMO','y29KzxHny3bszwDPC3rLCMvK','ANfbB3q','zMLSDgvY','y25Su0S','rvjs','zw5KC1DPDgG','Bg9N','AM9PBG','y2HPBgrFChjVy2vZCW','mZu3ndq0mgHVCKPvzq','lMnSyxvKzq','zxHPDa','BeTlqK4','DgvZDa','q2XHDwrLie1ducbYzwDPC3rYyxrPB24','v0fstG','CMvHzezPBgvtEw5J','v0nnwfi','C3bSAxq','uMfQD1y','C2v0DgLUz3mUANnVBG','qLfRCLy','ofHQDMT5yq','nZq5mdy3wgLyv3fv','rK9vtKqGka','EwX6v2u','lI4U','CgLK','nte2otaXzfjTAfno','zMLNBweTAw50zwXSAwDLBMnLlwXHEwvYlYHKAxn0l2LUzgv4lMPZFhnYyY9PBMrLEc50CYK','vMHMtMe','C3rHDgu','teLtvevo','DhjPBq','lwzHBa','A2LUza','tK9uifnfva','CNvUBMLUzW','y29KzxG','w09lxq','ug9YDdOG','v3n6q2i','BMfTzq','lsbWAwqG','C3rHDhvZ','Cgf0Aa','BhnVzIbPCYbUB3qGyxzHAwXHyMXLig9UihrOAxmGC3LZDgvT','t2LQweG','ChjVDMLKzxi','y29TBwfUza','C3rHCNrZv2L0Aa','neH5DgzWCW','AufSAha','DxrMoa','uNrkC1y','Dg9Rzw5qCMvZzw50','y29KzxHjBNn0ywXSzwq','q09otKvdveve','Dg9Rzw5nyxnRzwq','AxDluNq','zMLNBwfjBNrLBgXPz2vUy2vqCM92AwrLCG','ie1ducbZB2nRzxqGAxmGy3vYCMvUDgX5igLKBguUifrOAxmGAxmGBM9YBwfSihvUBgvZCYbHBIbnq1aGCMvXDwvZDcbPCYbHy3rPDMuU','zMLNBweTAw50zwXSAwDLBMnLlwXHEwvY','tuLtu0LorYaO','tM90igzVDw5Kigf0ia','y29TBwfUzd0','BhnVzG','q2XHDwrLihnLDhrPBMDZ','DLbtr1e','CMvSyxLqAwq','ugX1z2LUihbYB3zPzgvY','y29TBwfUzcaTDIa','C0jkzui','ifjLywr5oIbYzwXHEsWGCgX1z2LUlcb0B2TLBIWGyw5KihbYB3zPzgvYignVBMzPz3vYyxrPB24GyxjLigHLywX0AhKU','wMj0zhm','C3rKB3v0','mJrsrKjOwg4','C29JA2v0CW','t3LVCuC','mta3ntqXmhvnCePowq','C2XPy2u','lsbjBIbgAwDTysbezxnRDg9WoIbqBhvNAw5Zid4Grgv2zwXVCg1LBNqGpIbgAwDTysbjBNrLBgXPz2vUy2uGqNjPzgDLid4Gu3rHCNq','BwLZC2LUzW','lwLuq1a6','kIOQ','C2vPrfK','BM90igrLDgvJDgvK','whfNsK4','tunqihbYB2nLC3m','CgX1z2LUq29UBMvJDgvK','mZq2ndaWB2vws1DJ','CgX1z2LU','yxjNDG','y2XHDwrLtwnWuMvNAxn0zxjLza','su5gtW','u0vuicG','B3bLBMfP','B3rOzxi','BgvUz3rO','rMLNBweGCgX1z2LUihnVy2TLDa','rKLhtufFqundrvntx1rps0vo','mtyZmdGWmMLVBxHXwa','t0Leuwm','w0vsuL0','q29KzxGGq0Xj','mJuYnZyZmffcz25puq','kg1PC3nPBMCP'];_0x4eff=function(){return _0x465929;};return _0x4eff();}function parseLsof(_0x1df491){const _0x5a6ad3=_0xfac68e,_0x2e32e7={'NxhOi':function(_0x455cc6,_0x1d5ad5,_0x3deeaa){return _0x455cc6(_0x1d5ad5,_0x3deeaa);},'Kmegq':_0x5a6ad3(0x8f),'XtApO':'-FpcnT','OIDQc':function(_0x367379,_0x955f8b){return _0x367379!==_0x955f8b;},'qMhzt':_0x5a6ad3(0xc5),'DpMis':'TST='};if(!commandExists(_0x5a6ad3(0x8f)))return{'available':![],'sockets':[]};const _0xae6b8a=_0x2e32e7['NxhOi'](run,_0x2e32e7['Kmegq'],['-n','-P',_0x5a6ad3(0xa0)+_0x1df491,_0x2e32e7['XtApO']]);if(!_0xae6b8a['ok']&&_0x2e32e7[_0x5a6ad3(0xb3)](_0xae6b8a['status'],0x1))return{'available':!![],'sockets':[],'error':_0xae6b8a[_0x5a6ad3(0xbb)]||_0x2e32e7['qMhzt']};const _0x4671df=_0xae6b8a[_0x5a6ad3(0x98)]?_0xae6b8a['stdout'][_0x5a6ad3(0xd9)](/\r?\n/):[],_0x1206f6=[];let _0x37a624='',_0x367f81='',_0x1013ae='';for(const _0x4ec594 of _0x4671df){if(!_0x4ec594)continue;if(_0x4ec594[_0x5a6ad3(0xf9)]('p')){_0x37a624=_0x4ec594['slice'](0x1)['trim']();continue;}if(_0x4ec594[_0x5a6ad3(0xf9)]('c')){_0x367f81=_0x4ec594[_0x5a6ad3(0x9d)](0x1)[_0x5a6ad3(0xe8)]();continue;}if(_0x4ec594['startsWith']('n')){_0x1013ae=_0x4ec594[_0x5a6ad3(0x9d)](0x1)['trim']();continue;}if(_0x4ec594['startsWith'](_0x2e32e7['DpMis'])){const _0x51bc85=_0x4ec594['slice'](0x4)['trim']();_0x37a624&&_0x1013ae&&_0x1206f6['push']({'pid':_0x37a624,'command':_0x367f81,'name':_0x1013ae,'state':_0x51bc85}),_0x1013ae='';}}return{'available':!![],'sockets':_0x1206f6};}function getProcessCommand(_0x4acb69){const _0x31850d=_0xfac68e,_0x1e793e={'XqgJN':function(_0x12e001,_0x5b02e3){return _0x12e001(_0x5b02e3);},'cnlSK':_0x31850d(0x8e)},_0x3b5d32=run('ps',['-p',_0x1e793e[_0x31850d(0xa4)](String,_0x4acb69),'-o',_0x1e793e[_0x31850d(0xca)]]);return _0x3b5d32['ok']?_0x3b5d32['stdout']:'';}function isLoopbackTargetToRelay(_0x29191d,_0x251ffd){return _0x29191d['includes']('->')&&_0x29191d['endsWith'](':'+_0x251ffd);}function classifyClientProcess(_0x7cbbfd,_0xf1e6db){const _0x36f9da=_0xfac68e,_0x31cd46={'WCeQh':_0x36f9da(0xa8),'uyKgq':'mcp','snLBE':_0x36f9da(0xae)},_0x427838=(_0xf1e6db||'')+'\x20'+(_0x7cbbfd||'');if(/figma/i[_0x36f9da(0xd4)](_0x427838))return _0x31cd46['WCeQh'];if(/figma-intelligence-layer[\/\\]dist[\/\\]index\.js/i['test'](_0x427838))return'mcp';if(/figma-intelligence-layer[\/\\]src[\/\\]index\.ts/i[_0x36f9da(0xd4)](_0x427838))return _0x31cd46['uyKgq'];return _0x31cd46['snLBE'];}function checkRelaySockets(_0x1e2fd3){const _0x5c9d79=_0xfac68e,_0x709d59={'WszCb':function(_0x9fb20b,_0x56643e){return _0x9fb20b(_0x56643e);},'OyoqG':function(_0x57339d,_0x13c433){return _0x57339d!==_0x13c433;},'RtJsV':'OTrRq','AQGfK':'lsof\x20is\x20not\x20available\x20on\x20this\x20system','PDkWw':function(_0x490d46,_0x2385be){return _0x490d46(_0x2385be);},'iwKRt':function(_0x26f434,_0x382728,_0x4684e6){return _0x26f434(_0x382728,_0x4684e6);}},_0x504d6e=_0x709d59[_0x5c9d79(0xf0)](parseLsof,_0x1e2fd3);if(!_0x504d6e['available'])return _0x709d59[_0x5c9d79(0x9b)](_0x5c9d79(0xc3),_0x709d59[_0x5c9d79(0x83)])?{'available':![],'relayListening':![],'pluginConnected':![],'mcpConnected':![],'relayPid':null,'details':[],'error':_0x709d59['AQGfK']}:{'available':![],'relayListening':![],'pluginConnected':![],'mcpConnected':![],'relayPid':null,'details':[],'error':_0x5c9d79(0xf5)};const _0xc4871e=_0x504d6e[_0x5c9d79(0x9a)],_0xdacba3=_0xc4871e[_0x5c9d79(0xba)](_0x4bffd9=>_0x4bffd9['state']===_0x5c9d79(0xe7)&&(_0x4bffd9[_0x5c9d79(0xf1)]==='*:'+_0x1e2fd3||_0x4bffd9[_0x5c9d79(0xf1)][_0x5c9d79(0xcc)](':'+_0x1e2fd3))),_0x2f8b8f=_0xdacba3?_0xdacba3['pid']:null,_0x3a3924=_0xc4871e[_0x5c9d79(0xc9)](_0x3f4820=>_0x3f4820[_0x5c9d79(0xe6)]==='ESTABLISHED'&&isLoopbackTargetToRelay(_0x3f4820['name'],_0x1e2fd3)),_0x5090cd=[];for(const _0x5d0d37 of _0x3a3924){const _0x2efa4e=_0x709d59['PDkWw'](getProcessCommand,_0x5d0d37['pid']),_0x201e81=_0x709d59[_0x5c9d79(0x88)](classifyClientProcess,_0x2efa4e,_0x5d0d37[_0x5c9d79(0xf8)]);_0x5090cd['push']({'pid':_0x5d0d37['pid'],'command':_0x5d0d37['command'],'commandLine':_0x2efa4e,'kind':_0x201e81,'socket':_0x5d0d37['name']});}return{'available':!![],'relayListening':Boolean(_0xdacba3),'pluginConnected':_0x5090cd[_0x5c9d79(0xbf)](_0x382ef6=>_0x382ef6['kind']===_0x5c9d79(0xa8)),'mcpConnected':_0x5090cd[_0x5c9d79(0xbf)](_0x5d1df4=>_0x5d1df4[_0x5c9d79(0xea)]==='mcp'),'relayPid':_0x2f8b8f,'details':_0x5090cd,'error':_0x504d6e['error']||null};}function checkTokenAndProvider(){const _0x3fd784=_0xfac68e,_0x21d621={'aIcXS':_0x3fd784(0x8b),'ltPFQ':'claude','iUHTT':function(_0x3403dd,_0x5ef90e){return _0x3403dd(_0x5ef90e);}};if(!fs['existsSync'](CLAUDE_SETTINGS_PATH))return{'settingsFound':![],'tokenPresent':![],'tokenMasked':'(missing)','provider':'unknown','claudeMcpRegistered':![]};const _0x463965=readJson(CLAUDE_SETTINGS_PATH)||{},_0x418a61=_0x463965?.['mcpServers']?.[_0x21d621['aIcXS']]?.['env']?.['FIGMA_ACCESS_TOKEN']||'',_0x212ecb=_0x463965?.[_0x3fd784(0x89)]?.['provider']||_0x21d621['ltPFQ'],_0x2f4350=Boolean(_0x463965?.['mcpServers']?.[_0x21d621['aIcXS']]);return{'settingsFound':!![],'tokenPresent':Boolean(_0x418a61),'tokenMasked':_0x21d621['iUHTT'](maskToken,_0x418a61),'provider':_0x212ecb,'claudeMcpRegistered':_0x2f4350};}function _0x477d(_0x5644bc,_0x582467){_0x5644bc=_0x5644bc-0x83;const _0x4effd4=_0x4eff();let _0x477dba=_0x4effd4[_0x5644bc];if(_0x477d['aDCXnD']===undefined){var _0x1d76e3=function(_0x3da403){const _0x58e894='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1092cb='',_0x2df5a0='';for(let _0xa8e941=0x0,_0x267d98,_0x546c97,_0x4529c7=0x0;_0x546c97=_0x3da403['charAt'](_0x4529c7++);~_0x546c97&&(_0x267d98=_0xa8e941%0x4?_0x267d98*0x40+_0x546c97:_0x546c97,_0xa8e941++%0x4)?_0x1092cb+=String['fromCharCode'](0xff&_0x267d98>>(-0x2*_0xa8e941&0x6)):0x0){_0x546c97=_0x58e894['indexOf'](_0x546c97);}for(let _0x148fde=0x0,_0x52fa47=_0x1092cb['length'];_0x148fde<_0x52fa47;_0x148fde++){_0x2df5a0+='%'+('00'+_0x1092cb['charCodeAt'](_0x148fde)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2df5a0);};_0x477d['kecdne']=_0x1d76e3,_0x477d['cBdxZz']={},_0x477d['aDCXnD']=!![];}const _0x51e279=_0x4effd4[0x0],_0x5bdb41=_0x5644bc+_0x51e279,_0x3de8d5=_0x477d['cBdxZz'][_0x5bdb41];return!_0x3de8d5?(_0x477dba=_0x477d['kecdne'](_0x477dba),_0x477d['cBdxZz'][_0x5bdb41]=_0x477dba):_0x477dba=_0x3de8d5,_0x477dba;}function checkCodexMcpRegistration(){const _0x306e82=_0xfac68e,_0x43586f={'VhfNa':_0x306e82(0xed),'jjhnF':function(_0x486ce4,_0x4e3997,_0x22d2e0){return _0x486ce4(_0x4e3997,_0x22d2e0);}};if(!commandExists(_0x43586f[_0x306e82(0xe5)]))return{'codexInstalled':![],'codexMcpRegistered':![],'raw':''};const _0x4cbfef=_0x43586f['jjhnF'](run,'codex',['mcp','list']),_0x5d662d=[_0x4cbfef[_0x306e82(0x98)],_0x4cbfef['stderr']]['filter'](Boolean)[_0x306e82(0xce)]('\x0a'),_0x2fef89=/figma-intelligence-layer/i['test'](_0x5d662d);return{'codexInstalled':!![],'codexMcpRegistered':_0x2fef89,'raw':_0x5d662d};}function checkMcpProcessRunning(){const _0x2325a3=_0xfac68e,_0x3fbd9c={'yPdYH':function(_0x590899,_0x24fa80,_0x25514b){return _0x590899(_0x24fa80,_0x25514b);},'vPSGQ':'pgrep','JfIFA':_0x2325a3(0xe9),'WCMXR':_0x2325a3(0xe4)},_0x364dad=_0x3fbd9c['yPdYH'](run,_0x3fbd9c[_0x2325a3(0x91)],[_0x3fbd9c['JfIFA'],_0x3fbd9c[_0x2325a3(0xd8)]]);if(!_0x364dad['ok'])return{'running':![],'lines':[]};const _0xd1817f=_0x364dad['stdout']?_0x364dad['stdout'][_0x2325a3(0xd9)](/\r?\n/)[_0x2325a3(0xc9)](Boolean):[];return{'running':_0xd1817f[_0x2325a3(0xaf)]>0x0,'lines':_0xd1817f};}function printSummaryLine(_0x49df8e,_0x2342ea,_0x164f3c){console['log'](_0x49df8e+'\x20'+_0x2342ea+':\x20'+_0x164f3c);}function main(){const _0x5eac4c=_0xfac68e,_0x1231ba={'dngwt':'Figma\x20MCP\x20Status','opHZj':function(_0x3c43b8){return _0x3c43b8();},'lKKBN':function(_0x1c0727,_0x47f2d1,_0x2608d3,_0x29bd20){return _0x1c0727(_0x47f2d1,_0x2608d3,_0x29bd20);},'sBJeB':'Bridge\x20relay','tSJsc':'CONNECTED','CZSOk':'NOT\x20CONNECTED','weVSc':function(_0x355ac5,_0x2a250d,_0x555681,_0x25670a){return _0x355ac5(_0x2a250d,_0x555681,_0x25670a);},'rDkBd':'MCP\x20socket','CmLpw':'MCP\x20build','BlByg':_0x5eac4c(0xb1),'LCmod':_0x5eac4c(0xeb),'KPxHV':function(_0x476da6,_0x498c9a,_0x479a75,_0xf99f8a){return _0x476da6(_0x498c9a,_0x479a75,_0xf99f8a);},'Zbtds':_0x5eac4c(0x93),'gFSzU':_0x5eac4c(0xd5),'iAlhp':_0x5eac4c(0x9f),'XADDG':function(_0x2699c9,_0x578d8a,_0x2f4eb7,_0x156ef5){return _0x2699c9(_0x578d8a,_0x2f4eb7,_0x156ef5);},'Hxdvw':'not\x20installed','RajwV':'Codex\x20MCP\x20registration','pmQeS':function(_0x1caf3e,_0x4cc0c2,_0x4477f6,_0xfb228a){return _0x1caf3e(_0x4cc0c2,_0x4477f6,_0xfb228a);},'uLqkr':_0x5eac4c(0xa3),'yyjvg':function(_0x3b6c02,_0x57c57b){return _0x3b6c02===_0x57c57b;},'oSZRj':'gLpvA','jqAot':'Socket\x20inspection','OijXH':'claude','BQkrV':function(_0x5bba74,_0x405f52){return _0x5bba74&&_0x405f52;},'ylzWe':_0x5eac4c(0x9e)};console[_0x5eac4c(0xcd)](_0x1231ba['dngwt']),console['log']('Workspace:\x20'+ROOT_DIR),console['log'](_0x5eac4c(0xef)+PORT),console[_0x5eac4c(0xcd)]('');const _0x51240f=checkRelaySockets(PORT),_0x5c9a9a=_0x1231ba[_0x5eac4c(0xc6)](checkTokenAndProvider),_0xd775e8=_0x1231ba['opHZj'](checkCodexMcpRegistration),_0x284293=checkMcpProcessRunning(),_0x501ba3=fs['existsSync'](BUILD_PATH);_0x1231ba[_0x5eac4c(0xd3)](printSummaryLine,_0x51240f[_0x5eac4c(0xb8)]?STATUS['OK']:STATUS[_0x5eac4c(0xcb)],_0x1231ba[_0x5eac4c(0x95)],_0x51240f[_0x5eac4c(0xb8)]?'UP\x20on\x20ws://localhost:'+PORT+(_0x51240f[_0x5eac4c(0x92)]?'\x20(pid\x20'+_0x51240f['relayPid']+')':''):'DOWN\x20on\x20ws://localhost:'+PORT),printSummaryLine(_0x51240f['pluginConnected']?STATUS['OK']:STATUS['WARN'],_0x5eac4c(0xb0),_0x51240f['pluginConnected']?_0x1231ba['tSJsc']:_0x1231ba['CZSOk']),_0x1231ba['weVSc'](printSummaryLine,_0x51240f[_0x5eac4c(0xbd)]?STATUS['OK']:STATUS['WARN'],_0x1231ba[_0x5eac4c(0xc4)],_0x51240f['mcpConnected']?_0x5eac4c(0x86):'NOT\x20CONNECTED'),printSummaryLine(_0x501ba3?STATUS['OK']:STATUS[_0x5eac4c(0xcb)],_0x1231ba['CmLpw'],_0x501ba3?_0x5eac4c(0xdf)+BUILD_PATH+')':_0x5eac4c(0x8c)+BUILD_PATH+')'),printSummaryLine(_0x5c9a9a[_0x5eac4c(0x84)]?STATUS['OK']:STATUS[_0x5eac4c(0xd6)],_0x1231ba['BlByg'],_0x5c9a9a['tokenPresent']?_0x5eac4c(0xac)+_0x5c9a9a[_0x5eac4c(0x87)]+')':_0x1231ba['LCmod']),printSummaryLine(_0x5c9a9a[_0x5eac4c(0xc0)]?STATUS['OK']:STATUS[_0x5eac4c(0xd6)],_0x5eac4c(0x90),_0x5c9a9a[_0x5eac4c(0xc0)]?''+CLAUDE_SETTINGS_PATH:_0x5eac4c(0x8d)+CLAUDE_SETTINGS_PATH),_0x1231ba['KPxHV'](printSummaryLine,STATUS[_0x5eac4c(0xab)],_0x1231ba[_0x5eac4c(0x97)],_0x5c9a9a['provider']),printSummaryLine(_0x5c9a9a[_0x5eac4c(0xaa)]?STATUS['OK']:STATUS['WARN'],_0x1231ba['gFSzU'],_0x5c9a9a['claudeMcpRegistered']?'figma-intelligence-layer\x20present':_0x1231ba[_0x5eac4c(0xfb)]);!_0xd775e8[_0x5eac4c(0x85)]?_0x1231ba['XADDG'](printSummaryLine,STATUS[_0x5eac4c(0xd6)],_0x5eac4c(0xb5),_0x1231ba['Hxdvw']):printSummaryLine(_0xd775e8[_0x5eac4c(0xc7)]?STATUS['OK']:STATUS[_0x5eac4c(0xd6)],_0x1231ba[_0x5eac4c(0xda)],_0xd775e8['codexMcpRegistered']?'figma-intelligence-layer\x20present':_0x1231ba['iAlhp']);_0x1231ba['pmQeS'](printSummaryLine,_0x284293['running']?STATUS['OK']:STATUS[_0x5eac4c(0xd6)],_0x5eac4c(0xa5),_0x284293[_0x5eac4c(0xec)]?'running':_0x1231ba['uLqkr']);if(_0x51240f[_0x5eac4c(0xc2)]['length']>0x0){if(_0x1231ba['yyjvg']('gLpvA',_0x1231ba['oSZRj'])){console['log'](''),console[_0x5eac4c(0xcd)]('Active\x20clients\x20to\x20relay:');for(const _0x3499f2 of _0x51240f['details']){console[_0x5eac4c(0xcd)](_0x5eac4c(0xf2)+_0x3499f2[_0x5eac4c(0xe2)]+'\x20('+_0x3499f2['command']+')\x20['+_0x3499f2[_0x5eac4c(0xea)]+']\x20'+_0x3499f2['socket']);}}else _0x3161ec['log'](_0x18f3ed['OK']+_0x5eac4c(0x96)),!_0x375c7e[_0x5eac4c(0xbd)]&&_0x4614a1[_0x5eac4c(0xcd)](_0x47dca0['INFO']+_0x5eac4c(0x8a)),_0xe5cce['exit'](0x0);}_0x51240f[_0x5eac4c(0xb9)]&&(console['log'](''),_0x1231ba['XADDG'](printSummaryLine,STATUS['WARN'],_0x1231ba[_0x5eac4c(0xc8)],_0x51240f[_0x5eac4c(0xb9)]));const _0x529b70=_0x5c9a9a['provider']===_0x5eac4c(0xad),_0x133ab8=_0x1231ba['yyjvg'](_0x5c9a9a['provider'],_0x1231ba[_0x5eac4c(0xf6)]),_0x5f3980=(!_0x529b70||_0xd775e8[_0x5eac4c(0xc7)])&&(!_0x133ab8||_0x5c9a9a[_0x5eac4c(0xaa)]),_0x416487=_0x51240f['relayListening']&&_0x51240f['pluginConnected']&&_0x501ba3&&_0x5c9a9a[_0x5eac4c(0x84)],_0xa03db6=_0x1231ba[_0x5eac4c(0xdc)](_0x416487,_0x5f3980);console['log'](''),_0xa03db6&&(console[_0x5eac4c(0xcd)](STATUS['OK']+'\x20Ready:\x20relay,\x20plugin,\x20token,\x20and\x20provider\x20configuration\x20are\x20healthy.'),!_0x51240f['mcpConnected']&&console[_0x5eac4c(0xcd)](STATUS[_0x5eac4c(0xab)]+'\x20MCP\x20socket\x20is\x20currently\x20idle.\x20This\x20is\x20normal\x20unless\x20an\x20MCP\x20request\x20is\x20active.'),process[_0x5eac4c(0xd2)](0x0)),console[_0x5eac4c(0xcd)](STATUS[_0x5eac4c(0xd6)]+_0x5eac4c(0xc1)),!_0x501ba3&&console[_0x5eac4c(0xcd)]('-\x20Build\x20MCP\x20server:\x20`cd\x20figma-intelligence-layer\x20&&\x20npm\x20run\x20build`'),!_0x51240f['relayListening']&&console[_0x5eac4c(0xcd)]('-\x20Start\x20relay:\x20`npm\x20start`'),!_0x5c9a9a[_0x5eac4c(0x84)]&&console['log']('-\x20Configure\x20token:\x20`npm\x20run\x20setup`\x20and\x20paste\x20a\x20fresh\x20Figma\x20Personal\x20Access\x20Token'),_0x51240f['relayListening']&&!_0x51240f[_0x5eac4c(0xa6)]&&console[_0x5eac4c(0xcd)](_0x1231ba[_0x5eac4c(0xe0)]),!_0x416487&&_0x51240f['relayListening']&&!_0x51240f['mcpConnected']&&console[_0x5eac4c(0xcd)]('-\x20Keep\x20relay\x20in\x20foreground\x20(`npm\x20start`)\x20and\x20check\x20for\x20`[mcp]`\x20errors\x20in\x20logs'),_0x5c9a9a[_0x5eac4c(0xf7)]==='openai'&&_0xd775e8[_0x5eac4c(0x85)]&&!_0xd775e8['codexMcpRegistered']&&console[_0x5eac4c(0xcd)]('-\x20Register\x20Codex\x20MCP:\x20`npm\x20run\x20register:codex-mcp`'),process[_0x5eac4c(0xd2)](0x1);}main();
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';const _0x5303c6=_0x511e;(function(_0x1a01d0,_0x5287c6){const _0x2edf43=_0x511e,_0xd94298=_0x1a01d0();while(!![]){try{const _0x18e17c=parseInt(_0x2edf43(0x120))/0x1*(parseInt(_0x2edf43(0x11a))/0x2)+-parseInt(_0x2edf43(0x11e))/0x3*(parseInt(_0x2edf43(0x10c))/0x4)+-parseInt(_0x2edf43(0x136))/0x5*(parseInt(_0x2edf43(0x102))/0x6)+parseInt(_0x2edf43(0x11b))/0x7+parseInt(_0x2edf43(0x113))/0x8+-parseInt(_0x2edf43(0x128))/0x9*(-parseInt(_0x2edf43(0x106))/0xa)+-parseInt(_0x2edf43(0x103))/0xb;if(_0x18e17c===_0x5287c6)break;else _0xd94298['push'](_0xd94298['shift']());}catch(_0x175058){_0xd94298['push'](_0xd94298['shift']());}}}(_0x5846,0x55d01));const fs=require('fs'),os=require('os'),path=require(_0x5303c6(0x108)),{spawnSync}=require(_0x5303c6(0x132)),ROOT_DIR=path[_0x5303c6(0x10f)](__dirname,'..'),BUILD_PATH=path[_0x5303c6(0x118)](ROOT_DIR,_0x5303c6(0x11d),'dist',_0x5303c6(0x123)),CLAUDE_SETTINGS_PATH=path[_0x5303c6(0x118)](os['homedir'](),'.claude','settings.json'),MCP_NAME=_0x5303c6(0x11d);function run(_0x11ee0c,_0x261799,_0xb55c17={}){const _0x2b0e2e=_0x5303c6,_0x5e6da2={'USGOa':function(_0x4d1441,_0xc0a8dd,_0x10ed45,_0x17c678){return _0x4d1441(_0xc0a8dd,_0x10ed45,_0x17c678);},'vIDvM':_0x2b0e2e(0x122),'gVbnI':function(_0x3e40c2,_0x5e54a4){return _0x3e40c2===_0x5e54a4;}},_0x578aa5=_0x5e6da2[_0x2b0e2e(0x125)](spawnSync,_0x11ee0c,_0x261799,{'encoding':_0x5e6da2['vIDvM'],..._0xb55c17});return{'ok':_0x5e6da2['gVbnI'](_0x578aa5['status'],0x0),'status':_0x578aa5[_0x2b0e2e(0x112)],'stdout':(_0x578aa5['stdout']||'')['trim'](),'stderr':(_0x578aa5['stderr']||'')[_0x2b0e2e(0x111)](),'error':_0x578aa5[_0x2b0e2e(0x10a)]||null};}function _0x511e(_0x1f1df1,_0x1dffd5){_0x1f1df1=_0x1f1df1-0x102;const _0x5846ca=_0x5846();let _0x511e0f=_0x5846ca[_0x1f1df1];if(_0x511e['SuyFFd']===undefined){var _0x1ecfbb=function(_0x30af80){const _0x30e2f3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51e1cf='',_0x1f9e9c='';for(let _0x1cfe74=0x0,_0x11985e,_0x44dddf,_0x369164=0x0;_0x44dddf=_0x30af80['charAt'](_0x369164++);~_0x44dddf&&(_0x11985e=_0x1cfe74%0x4?_0x11985e*0x40+_0x44dddf:_0x44dddf,_0x1cfe74++%0x4)?_0x51e1cf+=String['fromCharCode'](0xff&_0x11985e>>(-0x2*_0x1cfe74&0x6)):0x0){_0x44dddf=_0x30e2f3['indexOf'](_0x44dddf);}for(let _0x388f55=0x0,_0x24e239=_0x51e1cf['length'];_0x388f55<_0x24e239;_0x388f55++){_0x1f9e9c+='%'+('00'+_0x51e1cf['charCodeAt'](_0x388f55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f9e9c);};_0x511e['vALpYT']=_0x1ecfbb,_0x511e['BsEJZR']={},_0x511e['SuyFFd']=!![];}const _0x1ba7f0=_0x5846ca[0x0],_0xe8a64a=_0x1f1df1+_0x1ba7f0,_0x3f1e6b=_0x511e['BsEJZR'][_0xe8a64a];return!_0x3f1e6b?(_0x511e0f=_0x511e['vALpYT'](_0x511e0f),_0x511e['BsEJZR'][_0xe8a64a]=_0x511e0f):_0x511e0f=_0x3f1e6b,_0x511e0f;}function commandExists(_0x34c7ab){const _0x5cc5c8={'pEXWD':'-lc'};return run('sh',[_0x5cc5c8['pEXWD'],'command\x20-v\x20'+_0x34c7ab])['ok'];}function readTokenFromClaudeSettings(){const _0x20bb3d=_0x5303c6,_0x4319fa={'VaTss':'utf8'};if(!fs[_0x20bb3d(0x10e)](CLAUDE_SETTINGS_PATH))return'';try{const _0x527ef0=JSON[_0x20bb3d(0x12e)](fs[_0x20bb3d(0x115)](CLAUDE_SETTINGS_PATH,_0x4319fa[_0x20bb3d(0x11c)]));return _0x527ef0?.[_0x20bb3d(0x121)]?.[MCP_NAME]?.[_0x20bb3d(0x129)]?.['FIGMA_ACCESS_TOKEN']||'';}catch{return _0x20bb3d(0x105)!==_0x20bb3d(0x10b)?'':'';}}function main(){const _0x34bf5d=_0x5303c6,_0x48398d={'SRJFJ':_0x34bf5d(0x11f),'CdiWj':function(_0x5b58d6){return _0x5b58d6();},'nrufC':'[ERR]\x20FIGMA_ACCESS_TOKEN\x20not\x20found\x20in\x20~/.claude/settings.json','hnSEG':function(_0xfe6d31,_0x3a6afd,_0x1586cc){return _0xfe6d31(_0x3a6afd,_0x1586cc);},'jZUmg':_0x34bf5d(0x119),'lGgYW':'mcp','PvFwc':_0x34bf5d(0x135),'oFyYj':_0x34bf5d(0x110),'kOSuA':_0x34bf5d(0x133),'FgjrS':_0x34bf5d(0x131),'GvLsk':'[ERR]\x20Codex\x20command\x20completed,\x20but\x20MCP\x20server\x20is\x20still\x20not\x20listed.'};!commandExists(_0x34bf5d(0x131))&&(console[_0x34bf5d(0x10a)](_0x48398d[_0x34bf5d(0x12c)]),process['exit'](0x1));!fs['existsSync'](BUILD_PATH)&&(console['error']('[ERR]\x20MCP\x20build\x20is\x20missing\x20at\x20'+BUILD_PATH),console[_0x34bf5d(0x10a)](_0x34bf5d(0x116)),process['exit'](0x1));const _0x189e47=_0x48398d[_0x34bf5d(0x12a)](readTokenFromClaudeSettings);!_0x189e47&&(console[_0x34bf5d(0x10a)](_0x48398d[_0x34bf5d(0x137)]),console['error']('Run:\x20npm\x20run\x20setup'),process[_0x34bf5d(0x12b)](0x1));_0x48398d['hnSEG'](run,'codex',[_0x34bf5d(0x130),_0x48398d['jZUmg'],MCP_NAME]);const _0x38e885=run(_0x34bf5d(0x131),[_0x48398d[_0x34bf5d(0x107)],_0x48398d[_0x34bf5d(0x104)],MCP_NAME,'--env',_0x34bf5d(0x12f)+_0x189e47,_0x48398d['oFyYj'],'FIGMA_BRIDGE_PORT=9001',_0x48398d[_0x34bf5d(0x10d)],'ENABLE_DECISION_LOG=true','--',_0x34bf5d(0x12d),BUILD_PATH]);if(!_0x38e885['ok']){console[_0x34bf5d(0x10a)](_0x48398d['kOSuA']);if(_0x38e885['stderr'])console[_0x34bf5d(0x10a)](_0x38e885[_0x34bf5d(0x134)]);if(_0x38e885['stdout'])console[_0x34bf5d(0x10a)](_0x38e885[_0x34bf5d(0x127)]);process[_0x34bf5d(0x12b)](0x1);}const _0x518c51=run(_0x48398d['FgjrS'],[_0x48398d['lGgYW'],_0x34bf5d(0x109)]),_0x5e4ddc=/figma-intelligence-layer/i['test'](_0x518c51[_0x34bf5d(0x127)]+'\x0a'+_0x518c51['stderr']);!_0x5e4ddc&&(console[_0x34bf5d(0x10a)](_0x48398d[_0x34bf5d(0x117)]),process[_0x34bf5d(0x12b)](0x1)),console[_0x34bf5d(0x114)](_0x34bf5d(0x126)),console['log'](_0x34bf5d(0x124));}main();function _0x5846(){const _0xe1b9e2=['CMvTB3zL','mtGWodjhrMruz04','mty0ndqXmLnAD0PLrW','vMfuC3m','zMLNBweTAw50zwXSAwDLBMnLlwXHEwvY','oufdAvv2Ba','w0vsuL0Gq29KzxGGq0Xjig5VDcbMB3vUzc4Gsw5ZDgfSBcb3AxrOoIbUCg0GAw5ZDgfSBcaTzYbaB3bLBMfPl2nVzgv4','nZrJALjkrMy','BwnWu2vYDMvYCW','DxrMoa','Aw5KzxGUANm','tMv4DdOGCNvUigbUCg0GCNvUihn0yxr1C2aGDg8Gy29UzMLYBsbMDwXSignVBM5Ly3rPDML0Es4','vvnht2e','w09lxsbszwDPC3rLCMvKigzPz21HlwLUDgvSBgLNzw5Jzs1SyxLLCIbPBIbdB2rLEcbnq1aGy29UzMLNlG','C3rKB3v0','mtHArvzqwKi','zw52','q2rPv2O','zxHPDa','u1jkrKO','BM9Kzq','CgfYC2u','rKLhtufFqundrvntx1rps0vopq','BwnW','y29KzxG','y2HPBgrFChjVy2vZCW','w0vsuL0GrMfPBgvKihrVihjLz2LZDgvYie1ducbZzxj2zxiGAw4Gq29KzxGU','C3rKzxjY','ywrK','mZKWvw9kDNfk','BNj1zKm','nde1mJzNv0rzr0O','ntaZntyWmMnJAeDRua','uhzgD2m','rvDiuNy','mJaYmZy5mhjlBfn6EG','BeDNwvC','Cgf0Aa','BgLZDa','zxjYB3i','EKDiA0S','odCZodmYB2zOqK92','B0z5wwO','zxHPC3rZu3LUyW','CMvZB2X2zq','ls1LBNy','DhjPBq','C3rHDhvZ','ntu2nJm2mfftC1rswG','Bg9N','CMvHzezPBgvtEw5J','uNvUoIbJzcbMAwDTys1PBNrLBgXPz2vUy2uTBgf5zxiGjIyGBNbTihj1BIbIDwLSza','r3zmC2S','AM9PBG'];_0x5846=function(){return _0xe1b9e2;};return _0x5846();}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';function _0x6cbd(_0x31e78d,_0x2ed560){_0x31e78d=_0x31e78d-0x175;const _0x5647c3=_0x5647();let _0x6cbd6a=_0x5647c3[_0x31e78d];if(_0x6cbd['ncTErH']===undefined){var _0x1934cf=function(_0x3c7edf){const _0x2acdf7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x538a23='',_0x3959e1='';for(let _0x2a1286=0x0,_0x5943be,_0x1b16e8,_0x52a6f0=0x0;_0x1b16e8=_0x3c7edf['charAt'](_0x52a6f0++);~_0x1b16e8&&(_0x5943be=_0x2a1286%0x4?_0x5943be*0x40+_0x1b16e8:_0x1b16e8,_0x2a1286++%0x4)?_0x538a23+=String['fromCharCode'](0xff&_0x5943be>>(-0x2*_0x2a1286&0x6)):0x0){_0x1b16e8=_0x2acdf7['indexOf'](_0x1b16e8);}for(let _0x51250d=0x0,_0x140675=_0x538a23['length'];_0x51250d<_0x140675;_0x51250d++){_0x3959e1+='%'+('00'+_0x538a23['charCodeAt'](_0x51250d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3959e1);};_0x6cbd['cZlsXq']=_0x1934cf,_0x6cbd['LofWIa']={},_0x6cbd['ncTErH']=!![];}const _0x3945f2=_0x5647c3[0x0],_0x404ec8=_0x31e78d+_0x3945f2,_0x5925b1=_0x6cbd['LofWIa'][_0x404ec8];return!_0x5925b1?(_0x6cbd6a=_0x6cbd['cZlsXq'](_0x6cbd6a),_0x6cbd['LofWIa'][_0x404ec8]=_0x6cbd6a):_0x6cbd6a=_0x5925b1,_0x6cbd6a;}const _0x1bed37=_0x6cbd;(function(_0x4dc0aa,_0x49ccfb){const _0x42e2ba=_0x6cbd,_0x5df589=_0x4dc0aa();while(!![]){try{const _0x6b953a=parseInt(_0x42e2ba(0x17e))/0x1*(parseInt(_0x42e2ba(0x1d2))/0x2)+-parseInt(_0x42e2ba(0x1c8))/0x3+-parseInt(_0x42e2ba(0x176))/0x4*(-parseInt(_0x42e2ba(0x1a7))/0x5)+-parseInt(_0x42e2ba(0x17a))/0x6*(-parseInt(_0x42e2ba(0x1b8))/0x7)+parseInt(_0x42e2ba(0x185))/0x8+-parseInt(_0x42e2ba(0x1e4))/0x9+-parseInt(_0x42e2ba(0x1de))/0xa;if(_0x6b953a===_0x49ccfb)break;else _0x5df589['push'](_0x5df589['shift']());}catch(_0x30b45e){_0x5df589['push'](_0x5df589['shift']());}}}(_0x5647,0xc2bf9));function _0x5647(){const _0x548657=['rwzwrLO','AwDUB3jL','CMvZB2X2zq','ywrKrxzLBNrmAxn0zw5LCG','BM93','sKDIt3C','D3m6lY9SB2nHBgHVC3q6otaWms9WBhvNAw4','svjru3O','mJmZmdq2ogXhshPgrW','v2vIu29JA2v0','zMXwC08','zu5qtwq','u2XJD0i','y2j2D2W','r2zJCMG','y2f0y2G','AM9PBG','vKXNBMu','B0XMwMW','sgXKz2K','lY5MAwDTys1ICMLKz2uTCMvSyxKUBg9NigfUzcbJB25MAxjTihjLBgf5igLZihj1BM5PBMCGB24GoJKWmde','vg9OCNK','uMvWBhKGD2L0AcbLEgfJDgX5ihrOzsbZAw5NBguGD29YzcbpsYbHBMqGBM90AgLUzYbLBhnLlG','icdIGjqG','ndC1ntC5mM5Yz0nHwq','C3rYAw5NAwz5','y29WAwXVDa','vLLSrwm','CvnSAe4','uvjiEfy','tw92quC','l29WDc9OB21LyNjLDY9IAw4Vy29WAwXVDa','BMfnBLa','icaGq29WAwXVDcbZBw9Rzsb0zxn0ignYyxnOzwq6','ndiWmJaYu0rtswr2','Bhbutxu','C2v0lxbYB3zPzgvY','zxjYB3i','rvvwEMm','rvLRtMi','tuDQrwm','CgfKrw5K','C29JA2v0ignSB3nLzcbIzwzVCMuGyw55ihjLC3bVBNnL','sKfLsey','vwjewge','yKLmugW','mZuYnZu5mhjJsNDOuG','u0Lhvevstq','Dg9tDhjPBMC','AgPXz3q','CM5Wz1K','ue11y1y','mtK4nJm5mhHLBxLWwq','C3rKB3v0','Aef4A2G','icaG','z0rosge','uNnPwNq','Dg9gAxHLza','DhjPBq','vuLMwhC','z2vLvLG','uwDSqvK','vLnly3K','rK1KsM8','mta4odHjC2ryB3a','zNvUy3rPB24','DgvZDa','wLvJy0m','mtj2q2XvAhe','ls1TB2rLBa','uw5VAhC','C3rYAw5N','mMrkA1f1qW','A01SzLe','teLfrg0','idOG','rNj2D2m','zxHPDa','CMvSyxKGBM90ihjLywnOywjSzsbHDca','ndy2mJKYoePcAvHMDW','CMvWBhK','yMLU','AeDwy08','ALP5Aeq','y2XVC2u','qwvdy2y','4PYuihbHC3m','4P2mig5VDcbYzwfKEq','v01KsMS','A3rODLK','rhvXCfu','C1zjBva','zNvSBfrLEhq','zwXHChnLze1Z','q29WAwXVDcbdteKGzgLYzwn0','BwrJtgO','CgfYC2u','EKj2s2S','DgLTzwqGB3v0ihDHAxrPBMCGzM9YihrLEhrFzgvSDgeVzg9Uzq','CMvWBgfJzq','zMLNBweTyNjPzgDLlxbSDwDPBG','rKLyuhG','vuLHEfu','BwvZC2fNzq','rxbZCfO','rvDzzeC','vKvvrfi','txrOC1q','AhfjB2m','C1n3sMG','z1bPwem','B2jQzwn0','Bg9N','mJm2nufmzNzxCa','vwHwvKG','vLmGq29KzsbdB3bPBg90ienOyxqGC3r1yIbKzxrLy3rLza','zgf0yq','AM5HBw4','BLvcsKm','uxvKshy','A2r2Dhi','C2vUza'];_0x5647=function(){return _0x548657;};return _0x5647();}const {spawn,spawnSync}=require('child_process'),{existsSync}=require('fs'),{homedir}=require('os'),path=require('path'),REPO_DIR=path['resolve'](__dirname,'..'),RELAY_URL=_0x1bed37(0x1b6),STAGE_A_TIMEOUT_MS=0x61a8,STAGE_B_TIMEOUT_MS=0xafc8,SMOKE_PROMPT=_0x1bed37(0x1c6),DEFAULT_MODEL='claude-sonnet-4.5';function resolveCopilotBin(){const _0x6ce26a=_0x1bed37,_0x4b54f5={'OgfbC':function(_0x50b0ab,_0x369587){return _0x50b0ab!==_0x369587;},'FMdJo':_0x6ce26a(0x1a0),'CdcNK':_0x6ce26a(0x1e8),'gPiXC':function(_0x24f096){return _0x24f096();},'iybTX':'.npm-global','QudHv':'.local','RsiZt':_0x6ce26a(0x187),'hAxkh':function(_0x260b57,_0x197368,_0x57de24,_0x24f13a){return _0x260b57(_0x197368,_0x57de24,_0x24f13a);},'gwktB':_0x6ce26a(0x1ca),'OUUgS':'pipe'};if(process.env.COPILOT_BIN_PATH&&existsSync(process.env.COPILOT_BIN_PATH))return _0x4b54f5['OgfbC'](_0x4b54f5[_0x6ce26a(0x175)],_0x4b54f5['CdcNK'])?process.env.COPILOT_BIN_PATH:/github\.copilot-chat\/copilotCli\/copilot$/[_0x6ce26a(0x178)](_0x4ae502)||/Code\/User\/globalStorage\/github\.copilot-chat/['test'](_0xb21ae4);const _0x31a602=_0x4b54f5[_0x6ce26a(0x1a4)](homedir),_0x2b5f4c=[path['join'](_0x31a602,_0x4b54f5['iybTX'],_0x6ce26a(0x187),_0x6ce26a(0x1ca)),_0x6ce26a(0x1cf),'/usr/local/bin/copilot',path[_0x6ce26a(0x1c0)](_0x31a602,_0x4b54f5[_0x6ce26a(0x1ad)],_0x4b54f5[_0x6ce26a(0x1e9)],_0x6ce26a(0x1ca))];for(const _0x27eb9a of _0x2b5f4c){if(existsSync(_0x27eb9a))return _0x27eb9a;}try{const _0x5089d8=_0x4b54f5[_0x6ce26a(0x1e6)](spawnSync,'which',[_0x4b54f5['gwktB']],{'stdio':_0x4b54f5['OUUgS']}),_0x32b1ca=(_0x5089d8[_0x6ce26a(0x1e5)]||'')[_0x6ce26a(0x1e0)]()[_0x6ce26a(0x1eb)]();if(_0x32b1ca)return _0x32b1ca;}catch{}return'';}function isVscodeStub(_0x5889bc){const _0x5da47e=_0x1bed37;return/github\.copilot-chat\/copilotCli\/copilot$/[_0x5da47e(0x178)](_0x5889bc)||/Code\/User\/globalStorage\/github\.copilot-chat/['test'](_0x5889bc);}function runStageA(_0x557199){const _0x384607=_0x1bed37,_0x126291={'FDLqX':_0x384607(0x1df),'XGGmr':function(_0x38089f,_0x1164c0){return _0x38089f(_0x1164c0);},'RcaJe':function(_0x2e37ba,_0x48cdf2){return _0x2e37ba-_0x48cdf2;},'oLfZl':function(_0x24434f,_0x855907){return _0x24434f===_0x855907;},'pmTRU':_0x384607(0x177),'VLgne':'mUxzG','nHGag':function(_0x5b6242,_0x1fdc11){return _0x5b6242+_0x1fdc11;},'EUVzc':function(_0x5a4e0c,_0x32acd2){return _0x5a4e0c>=_0x32acd2;},'LIEDm':'--no-color','Hldgi':_0x384607(0x1b1),'Wtymb':'pipe','QglAY':function(_0x3905bb,_0x1f045c){return _0x3905bb-_0x1f045c;},'Frvwc':function(_0x722c22,_0x5b6722,_0x2c9c91){return _0x722c22(_0x5b6722,_0x2c9c91);},'vjidw':'data','DBLLF':'close'};return new Promise(_0x3b3471=>{const _0x2149b6=_0x384607,_0x3855aa={'kWUeV':_0x2149b6(0x19a),'MovAG':function(_0x3a98bc,_0x3e4365){const _0x36dd6a=_0x2149b6;return _0x126291[_0x36dd6a(0x1c2)](_0x3a98bc,_0x3e4365);},'ZUccC':_0x126291['pmTRU'],'sSwJh':function(_0x210e50,_0x1ba032){return _0x210e50===_0x1ba032;},'EpspZ':_0x126291[_0x2149b6(0x1c1)],'kMlfQ':'dhzkv','MthsT':function(_0x517996,_0x12b122){return _0x126291['nHGag'](_0x517996,_0x12b122);},'sVImP':function(_0x4161c1,_0x153cf0){const _0x3a8fa9=_0x2149b6;return _0x126291[_0x3a8fa9(0x1d6)](_0x4161c1,_0x153cf0);}},_0x5ac4e6=Date['now'](),_0x2d3fb0=['-p',SMOKE_PROMPT,_0x2149b6(0x17b),DEFAULT_MODEL,_0x126291[_0x2149b6(0x180)]];let _0x5289b0;try{_0x5289b0=spawn(_0x557199,_0x2d3fb0,{'stdio':[_0x126291[_0x2149b6(0x1c3)],'pipe',_0x126291['Wtymb']],'cwd':REPO_DIR});}catch(_0x2210cb){return _0x3b3471({'ok':![],'elapsedMs':_0x126291[_0x2149b6(0x1ee)](Date['now'](),_0x5ac4e6),'reply':'','error':_0x2210cb['message']});}let _0x45b6a1='',_0x31d480='';const _0x983ae0=_0x126291[_0x2149b6(0x182)](setTimeout,()=>{try{_0x5289b0['kill'](_0x126291['FDLqX']);}catch{}setTimeout(()=>{try{_0x5289b0['kill']('SIGKILL');}catch{}},0x3e8);},STAGE_A_TIMEOUT_MS);_0x5289b0['stdout']['on'](_0x126291['vjidw'],_0x5b025c=>{_0x45b6a1+=_0x5b025c['toString']();}),_0x5289b0['stderr']['on'](_0x2149b6(0x1aa),_0x5f32e5=>{const _0x2f221e=_0x2149b6;_0x31d480+=_0x5f32e5[_0x2f221e(0x1e0)]();}),_0x5289b0['on'](_0x2149b6(0x1d5),_0x46c82e=>{const _0x382650=_0x2149b6;_0x126291['XGGmr'](clearTimeout,_0x983ae0),_0x126291['XGGmr'](_0x3b3471,{'ok':![],'elapsedMs':_0x126291['RcaJe'](Date['now'](),_0x5ac4e6),'reply':'','error':_0x46c82e[_0x382650(0x19d)]});}),_0x5289b0['on'](_0x126291['DBLLF'],_0x1dd11c=>{const _0x3a1c4d=_0x2149b6,_0x518407={'flVsO':_0x3855aa['kWUeV'],'FIXPx':function(_0x3c846f,_0x24ac01){const _0x8fa04b=_0x6cbd;return _0x3855aa[_0x8fa04b(0x1ce)](_0x3c846f,_0x24ac01);},'Hvmeq':_0x3855aa[_0x3a1c4d(0x179)]};if(_0x3855aa['sSwJh'](_0x3855aa[_0x3a1c4d(0x19e)],_0x3855aa[_0x3a1c4d(0x17f)])){try{return _0x5d640b(_0x3a40fd[_0x3a1c4d(0x1b2)]('ws',{'paths':[_0x296231[_0x3a1c4d(0x1c0)](_0x32ed6c,_0x518407[_0x3a1c4d(0x1ba)])]}));}catch{}if(_0x518407[_0x3a1c4d(0x19b)](typeof _0x1f6c69[_0x3a1c4d(0x1b9)],_0x518407['Hvmeq']))return null;return _0x5af685;}else{clearTimeout(_0x983ae0);const _0x3e32f8=Date['now']()-_0x5ac4e6,_0x30833e=_0x45b6a1[_0x3a1c4d(0x1eb)]();if(/cannot find github copilot/i['test'](_0x3855aa[_0x3a1c4d(0x1a1)](_0x45b6a1,_0x31d480)))return _0x3b3471({'ok':![],'elapsedMs':_0x3e32f8,'reply':'','error':'VS\x20Code\x20Copilot\x20Chat\x20stub\x20detected'});const _0x2125ff=_0x3855aa[_0x3a1c4d(0x191)](_0x30833e['length'],0x2)||_0x3855aa[_0x3a1c4d(0x1a3)](_0x1dd11c,0x0),_0x392592=_0x2125ff?'':_0x31d480['trim']()||'exit\x20'+_0x1dd11c;_0x3b3471({'ok':_0x2125ff,'elapsedMs':_0x3e32f8,'reply':_0x30833e,'error':_0x392592});}});});}function loadWs(){const _0x56fab4=_0x1bed37,_0x3a6709={'mdcLj':'figma-bridge-plugin'};try{return require(require[_0x56fab4(0x1b2)]('ws',{'paths':[path[_0x56fab4(0x1c0)](REPO_DIR,_0x3a6709[_0x56fab4(0x195)])]}));}catch{}if(typeof globalThis[_0x56fab4(0x1b9)]===_0x56fab4(0x177))return null;return undefined;}function runStageB(){const _0x5bc572=_0x1bed37,_0x37e2b7={'wjSmH':function(_0x3b5df9,_0x5811c8){return _0x3b5df9-_0x5811c8;},'lpTMu':function(_0x34e902,_0x5cc065){return _0x34e902(_0x5cc065);},'GiSVm':_0x5bc572(0x1d4),'aTgvl':'copilot','zZYJr':function(_0x138bc7,_0x483a0c,_0x133fa1){return _0x138bc7(_0x483a0c,_0x133fa1);},'iguSe':function(_0xb942ae,_0x248ad3){return _0xb942ae||_0x248ad3;},'kthvY':function(_0x1fe198,_0xf99c18){return _0x1fe198===_0xf99c18;},'nUBJC':'IJdsZ','IRQSz':_0x5bc572(0x1ec),'SlcwB':function(_0x4f6b33,_0x264cd7){return _0x4f6b33+_0x264cd7;},'drVoZ':function(_0xc7a773,_0x3a1fc3){return _0xc7a773===_0x3a1fc3;},'cbvwl':function(_0x38fe67,_0x3b8f16){return _0x38fe67+_0x3b8f16;},'LfIsa':function(_0x528591,_0x2d6384){return _0x528591/_0x2d6384;},'VSKcy':function(_0xb0c6db,_0x2caf7b){return _0xb0c6db(_0x2caf7b);},'Tohry':_0x5bc572(0x1db),'TpnRE':function(_0xae9d1d){return _0xae9d1d();},'UhVVH':function(_0x247a4a,_0x340c5d){return _0x247a4a!==_0x340c5d;},'PMucV':'IIKFw','WMdJk':'error','Gfcrh':'close','pBMRM':'open'};return new Promise(_0x53665d=>{const _0x3516ac=_0x5bc572,_0x3e58a1={'hqIoc':function(_0x520599,_0x595518){const _0x32dec9=_0x6cbd;return _0x37e2b7[_0x32dec9(0x1d3)](_0x520599,_0x595518);},'qSlhN':function(_0x214605,_0x1f8b92){return _0x214605-_0x1f8b92;},'AeCcf':_0x37e2b7[_0x3516ac(0x1b7)],'VPdxZ':'copilot-smoke-','pafPv':'chat','EfVFZ':function(_0x452a2a,_0x14e916){const _0x57b896=_0x3516ac;return _0x37e2b7[_0x57b896(0x1bc)](_0x452a2a,_0x14e916);},'rnpgY':function(_0x226681,_0x3d6c4e){return _0x37e2b7['drVoZ'](_0x226681,_0x3d6c4e);},'hGVcO':_0x3516ac(0x19c),'Qnohw':function(_0x41fad7,_0x3f0c0a){return _0x41fad7===_0x3f0c0a;},'UKuop':'string','tlQNY':function(_0x467618,_0x49e32f){return _0x467618>_0x49e32f;},'JGbOw':'❌\x20fail','zBvKk':function(_0x330466,_0x22160e){const _0x1ebde1=_0x3516ac;return _0x37e2b7[_0x1ebde1(0x1bd)](_0x330466,_0x22160e);},'kdvtr':function(_0x50be64,_0x150e92){return _0x37e2b7['LfIsa'](_0x50be64,_0x150e92);},'UbDXa':function(_0x2a266a,_0x50c91d){const _0x1fdcc1=_0x3516ac;return _0x37e2b7[_0x1fdcc1(0x1ef)](_0x2a266a,_0x50c91d);}};if(_0x3516ac(0x1db)===_0x37e2b7[_0x3516ac(0x1c5)]){const _0x28a348=Date['now'](),_0x58a94b=_0x37e2b7['TpnRE'](loadWs);if(_0x58a94b===undefined){if(_0x37e2b7[_0x3516ac(0x1a8)]('IIKFw',_0x37e2b7[_0x3516ac(0x1e3)])){if(_0x422985)return;_0x47f4a8=!![];try{_0x196f3f[_0x3516ac(0x18a)]();}catch{}_0x5223e3(_0x4b212);}else return _0x37e2b7['lpTMu'](_0x53665d,{'ok':![],'elapsedMs':0x0,'reply':'','error':'ws\x20package\x20not\x20installed\x20—\x20run\x20\x27cd\x20figma-bridge-plugin\x20&&\x20npm\x20install\x27\x20first'});}let _0x4ee075;try{_0x58a94b?_0x4ee075=new _0x58a94b(RELAY_URL):_0x4ee075=new globalThis[(_0x3516ac(0x1b9))](RELAY_URL);}catch(_0x54e20e){return _0x37e2b7[_0x3516ac(0x1ef)](_0x53665d,{'ok':![],'elapsedMs':0x0,'reply':'','error':'connect\x20failed:\x20'+_0x54e20e['message']});}let _0x49acf1='',_0x4aedfd=![],_0x277f90=![],_0x2f82d4=![];const _0x31fd3c=_0x4aa732=>{if(_0x2f82d4)return;_0x2f82d4=!![];try{_0x4ee075['close']();}catch{}_0x53665d(_0x4aa732);},_0x2e8222=setTimeout(()=>{const _0x2a1bb4=_0x3516ac,_0x133045=_0x37e2b7['wjSmH'](Date[_0x2a1bb4(0x1b4)](),_0x28a348);_0x4aedfd||_0x277f90?_0x31fd3c({'ok':!![],'elapsedMs':_0x133045,'reply':_0x49acf1['trim']()||'(empty)','error':''}):_0x37e2b7[_0x2a1bb4(0x1d3)](_0x31fd3c,{'ok':![],'elapsedMs':_0x133045,'reply':'','error':_0x2a1bb4(0x198)});},STAGE_B_TIMEOUT_MS),_0x4cd918=_0x314df5=>{const _0x3d2d24=_0x3516ac;try{_0x4ee075[_0x3d2d24(0x1af)](JSON['stringify'](_0x314df5));}catch(_0xefe24){clearTimeout(_0x2e8222),_0x3e58a1[_0x3d2d24(0x1a2)](_0x31fd3c,{'ok':![],'elapsedMs':_0x3e58a1['qSlhN'](Date['now'](),_0x28a348),'reply':'','error':'send\x20failed:\x20'+_0xefe24[_0x3d2d24(0x19d)]});}},_0x4abd18=()=>{_0x4cd918({'type':_0x37e2b7['GiSVm'],'provider':_0x37e2b7['aTgvl']}),_0x37e2b7['zZYJr'](setTimeout,()=>{const _0x17eb23=_0x6cbd,_0x5420f2={'cSLhs':function(_0x583588,_0x36b739){return _0x583588(_0x36b739);},'msMlq':function(_0x4d0a1e,_0x337865){const _0xb655e4=_0x6cbd;return _0x3e58a1[_0xb655e4(0x1cc)](_0x4d0a1e,_0x337865);}};_0x3e58a1[_0x17eb23(0x18b)]!=='UIfXw'?(_0x551240(_0x58cef3),_0x5420f2['cSLhs'](_0x1db006,{'ok':![],'elapsedMs':_0x5420f2['msMlq'](_0x34f7ac[_0x17eb23(0x1b4)](),_0x6ef76e),'reply':'','error':_0x17eb23(0x184)+_0x1bb668+':\x20'+(_0x3aaa13&&_0x556ab9[_0x17eb23(0x19d)]?_0x31126e['message']:_0x2eebc5)})):_0x3e58a1[_0x17eb23(0x1a2)](_0x4cd918,{'type':'chat','id':_0x3e58a1['VPdxZ']+Date[_0x17eb23(0x1b4)](),'mode':_0x3e58a1['pafPv'],'message':SMOKE_PROMPT,'model':DEFAULT_MODEL});},0x96);},_0x1cc8c1=_0x585cb6=>{const _0x1bbccc=_0x3516ac,_0x47db7d={'hjqgt':function(_0x3315b6,_0x115785){return _0x3315b6(_0x115785);},'EWYdG':function(_0x51671a,_0x262a2b){const _0x3dbe55=_0x6cbd;return _0x3e58a1[_0x3dbe55(0x1b0)](_0x51671a,_0x262a2b);},'VCAqh':function(_0x47a387,_0x519928){const _0x57f8a3=_0x6cbd;return _0x3e58a1[_0x57f8a3(0x1e2)](_0x47a387,_0x519928);}},_0x265ecc=typeof _0x585cb6==='string'?_0x585cb6:_0x585cb6&&_0x585cb6[_0x1bbccc(0x1aa)]!==undefined?String(_0x585cb6[_0x1bbccc(0x1aa)]):_0x585cb6[_0x1bbccc(0x1e0)]();let _0x2042e8;try{if(_0x3e58a1[_0x1bbccc(0x188)]!==_0x3e58a1[_0x1bbccc(0x188)]){eXXnEs[_0x1bbccc(0x1e1)](_0x98732a,_0x2dd469);const _0x50e8bb=_0x55ad3c[_0x1bbccc(0x1b4)]()-_0x591c18,_0x5b88d1=_0x3b5848[_0x1bbccc(0x1eb)]();if(/cannot find github copilot/i[_0x1bbccc(0x178)](eXXnEs[_0x1bbccc(0x19f)](_0xb49924,_0x17ebe5)))return _0x155cc3({'ok':![],'elapsedMs':_0x50e8bb,'reply':'','error':_0x1bbccc(0x1a9)});const _0x5be3de=_0x5b88d1['length']>=0x2||eXXnEs['VCAqh'](_0x11daef,0x0),_0x505e93=_0x5be3de?'':_0x83d107[_0x1bbccc(0x1eb)]()||'exit\x20'+_0x3c0455;eXXnEs[_0x1bbccc(0x1e1)](_0x5a00fa,{'ok':_0x5be3de,'elapsedMs':_0x50e8bb,'reply':_0x5b88d1,'error':_0x505e93});}else _0x2042e8=JSON[_0x1bbccc(0x196)](_0x265ecc);}catch{return;}if(!_0x2042e8||typeof _0x2042e8!==_0x1bbccc(0x1a5))return;if(_0x2042e8['type']==='text_delta'&&_0x3e58a1[_0x1bbccc(0x17c)](typeof _0x2042e8['delta'],_0x1bbccc(0x17d)))_0x4aedfd=!![],_0x49acf1+=_0x2042e8['delta'];else{if(_0x2042e8['type']==='done'){_0x277f90=!![];typeof _0x2042e8[_0x1bbccc(0x192)]===_0x3e58a1['UKuop']&&_0x3e58a1['tlQNY'](_0x2042e8['fullText']['length'],0x0)&&(_0x49acf1=_0x2042e8['fullText']);clearTimeout(_0x2e8222);const _0xf66555=_0x3e58a1['qSlhN'](Date['now'](),_0x28a348),_0x2e27c=_0x49acf1['trim']();if(_0x2e27c['length']>0x0)_0x31fd3c({'ok':!![],'elapsedMs':_0xf66555,'reply':_0x2e27c,'error':''});else{if(_0x1bbccc(0x1ed)==='WXxrS')try{_0x2ac81e['send'](_0x12f625[_0x1bbccc(0x1c9)](_0x2f3dff));}catch(_0xd8ee52){_0x647f3b(_0xce5de2),_0x409480({'ok':![],'elapsedMs':_0x4e1638['now']()-_0x3717f1,'reply':'','error':'send\x20failed:\x20'+_0xd8ee52['message']});}else _0x31fd3c({'ok':![],'elapsedMs':_0xf66555,'reply':'','error':'done\x20frame\x20with\x20empty\x20fullText'});}}else _0x3e58a1['Qnohw'](_0x2042e8['type'],'error')&&(clearTimeout(_0x2e8222),_0x31fd3c({'ok':![],'elapsedMs':Date['now']()-_0x28a348,'reply':'','error':_0x3e58a1['hqIoc'](String,_0x2042e8[_0x1bbccc(0x1d5)]||'relay\x20error')}));}},_0x1dc9b3=_0x1fa8e2=>{const _0x2749d5=_0x3516ac;clearTimeout(_0x2e8222),_0x31fd3c({'ok':![],'elapsedMs':Date['now']()-_0x28a348,'reply':'','error':'relay\x20not\x20reachable\x20at\x20'+RELAY_URL+':\x20'+(_0x1fa8e2&&_0x1fa8e2[_0x2749d5(0x19d)]?_0x1fa8e2[_0x2749d5(0x19d)]:_0x1fa8e2)});},_0x362907=()=>{const _0x1e8852=_0x3516ac;if(_0x2f82d4)return;_0x37e2b7[_0x1e8852(0x1d3)](clearTimeout,_0x2e8222);if(_0x37e2b7['iguSe'](_0x4aedfd,_0x277f90))_0x31fd3c({'ok':!![],'elapsedMs':Date['now']()-_0x28a348,'reply':_0x49acf1['trim']()||'(empty)','error':''});else{if(_0x37e2b7[_0x1e8852(0x18f)](_0x37e2b7[_0x1e8852(0x1ac)],_0x37e2b7[_0x1e8852(0x1ac)]))_0x31fd3c({'ok':![],'elapsedMs':Date[_0x1e8852(0x1b4)]()-_0x28a348,'reply':'','error':_0x1e8852(0x1da)});else{const _0x32135d=_0x2655b0['ok']?_0x1e8852(0x18c):_0x3e58a1[_0x1e8852(0x1b5)],_0x1a32ed=_0x3e58a1[_0x1e8852(0x197)](_0x3e58a1[_0x1e8852(0x1ae)](_0x1afbdc[_0x1e8852(0x193)],0x3e8)['toFixed'](0x1),'s'),_0x4f6bc2=_0x4c0daf['ok']?_0x1a32ed+',\x20'+_0x3e58a1[_0x1e8852(0x1dc)](_0x4dace,_0x3e0ad5['reply']):''+(_0x36f6db[_0x1e8852(0x1d5)]||'unknown\x20error'),_0x1f4427=_0x53906a['ok']?'':_0x1e8852(0x1c7)+_0x2b4df3;return _0x1e8852(0x1e7)+_0x5b7499[_0x1e8852(0x1d9)](0x14)+_0x1e8852(0x181)+_0x32135d+'\x20('+_0x4f6bc2+')'+_0x1f4427;}}};_0x37e2b7['kthvY'](typeof _0x4ee075['on'],'function')?(_0x4ee075['on']('open',_0x4abd18),_0x4ee075['on'](_0x3516ac(0x19d),_0x1cc8c1),_0x4ee075['on'](_0x37e2b7[_0x3516ac(0x18e)],_0x1dc9b3),_0x4ee075['on'](_0x37e2b7[_0x3516ac(0x1be)],_0x362907)):(_0x4ee075[_0x3516ac(0x1b3)](_0x37e2b7['pBMRM'],_0x4abd18),_0x4ee075[_0x3516ac(0x1b3)](_0x3516ac(0x19d),_0x1cc8c1),_0x4ee075['addEventListener'](_0x3516ac(0x1d5),_0x1dc9b3),_0x4ee075[_0x3516ac(0x1b3)]('close',_0x362907));}else{if(_0x52a6f0(_0x51250d))return _0x140675;}});}function formatReply(_0x58e172){const _0x4a9bb0=_0x1bed37;if(!_0x58e172)return'(empty)';const _0x33f802=_0x58e172[_0x4a9bb0(0x199)](/\s+/g,'\x20')[_0x4a9bb0(0x1eb)]();return _0x33f802['length']>0x30?'\x22'+_0x33f802['slice'](0x0,0x2d)+'…\x22':'\x22'+_0x33f802+'\x22';}function formatLine(_0x23c302,_0x198845,_0xa5f60d){const _0x5e4080=_0x1bed37,_0x39eac9={'EYkNb':'✔\x20pass','DuqpU':'❌\x20fail','jnamn':function(_0x5d9050,_0x411372){return _0x5d9050+_0x411372;},'QMXvP':function(_0x470572,_0x1f62ec){return _0x470572/_0x1f62ec;}},_0x1d7218=_0x198845['ok']?_0x39eac9[_0x5e4080(0x1d7)]:_0x39eac9[_0x5e4080(0x190)],_0x203b4f=_0x39eac9[_0x5e4080(0x1ab)](_0x39eac9['QMXvP'](_0x198845['elapsedMs'],0x3e8)[_0x5e4080(0x1ea)](0x1),'s'),_0x2f386c=_0x198845['ok']?_0x203b4f+',\x20'+formatReply(_0x198845[_0x5e4080(0x186)]):''+(_0x198845['error']||'unknown\x20error'),_0x5359ad=_0x198845['ok']?'':'\x20\x20—\x20'+_0xa5f60d;return'\x20\x20\x20'+_0x23c302['padEnd'](0x14)+'\x20:\x20'+_0x1d7218+'\x20('+_0x2f386c+')'+_0x5359ad;}async function main(){const _0x3feaf4=_0x1bed37,_0x4c690d={'naMnP':function(_0x39cc22){return _0x39cc22();},'QRHxV':'\x20\x20\x20Copilot\x20smoke\x20test\x20skipped\x20—\x20no\x20@github/copilot\x20CLI\x20found\x20on\x20PATH.','bILPl':'\x20\x20\x20Install\x20with:\x20npm\x20install\x20-g\x20@github/copilot','eNPMd':function(_0x390369,_0x17012f){return _0x390369(_0x17012f);},'MGjEc':'\x20\x20\x20Install\x20the\x20real\x20CLI:\x20npm\x20install\x20-g\x20@github/copilot','xitrk':function(_0x3c6406,_0x45a8c6){return _0x3c6406(_0x45a8c6);},'jZyhD':_0x3feaf4(0x194),'WCSJj':'run\x20`copilot`\x20then\x20/login,\x20or\x20check\x20`~/.copilot/config.json`','XBlaJ':'✔\x20ready'},_0x338f28=_0x4c690d[_0x3feaf4(0x1d0)](resolveCopilotBin);!_0x338f28&&(console['log'](''),console['log'](_0x4c690d[_0x3feaf4(0x1cd)]),console[_0x3feaf4(0x1a6)](_0x4c690d[_0x3feaf4(0x1dd)]),process[_0x3feaf4(0x183)](0x2));_0x4c690d[_0x3feaf4(0x1bb)](isVscodeStub,_0x338f28)&&(console['log'](''),console['log']('\x20\x20\x20Copilot\x20smoke\x20test\x20skipped\x20—\x20resolved\x20to\x20the\x20VS\x20Code\x20stub\x20('+_0x338f28+').'),console[_0x3feaf4(0x1a6)](_0x4c690d[_0x3feaf4(0x1d8)]),process['exit'](0x2));console[_0x3feaf4(0x1a6)](''),console[_0x3feaf4(0x1a6)]('\x20\x20\x20Copilot\x20binary\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x338f28);const _0x38d85c=await _0x4c690d['xitrk'](runStageA,_0x338f28);console['log'](formatLine(_0x4c690d[_0x3feaf4(0x189)],_0x38d85c,_0x4c690d['WCSJj']));const _0x106f31=await runStageB();console[_0x3feaf4(0x1a6)](formatLine('Copilot\x20via\x20relay',_0x106f31,'check\x20'+process.env.HOME+_0x3feaf4(0x1c4)));const _0x4809fb=_0x38d85c['ok']&&_0x106f31['ok'];console['log']('\x20\x20\x20'+'Copilot\x20end-to-end'['padEnd'](0x14)+'\x20:\x20'+(_0x4809fb?_0x4c690d['XBlaJ']:_0x3feaf4(0x18d))),console['log'](''),process['exit'](_0x4809fb?0x0:0x1);}main()[_0x1bed37(0x1bf)](_0x1063a6=>{const _0x38ed74=_0x1bed37,_0x268c04={'VYlEc':_0x38ed74(0x1d1)};console['error'](_0x268c04[_0x38ed74(0x1cb)],_0x1063a6&&_0x1063a6['message']?_0x1063a6[_0x38ed74(0x19d)]:_0x1063a6),process['exit'](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sarjallab09/figma-intelligence",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "88 AI-powered design tools for Figma. Works with your Claude, OpenAI Codex, or Gemini CLI subscription. One command to set up.",
5
5
  "author": "Figma Intelligence Contributors",
6
6
  "license": "CC-BY-NC-ND-4.0",
@@ -9,26 +9,25 @@
9
9
  "url": "https://github.com/Josedesign006/figma-intelligence.git"
10
10
  },
11
11
  "bin": {
12
- "figma-intelligence": "./bin/cli.js"
12
+ "figma-intelligence": "./dist/bin/cli.js"
13
13
  },
14
14
  "engines": {
15
15
  "node": ">=18"
16
16
  },
17
17
  "scripts": {
18
+ "build": "node scripts/build-dist.js",
19
+ "prepublishOnly": "npm run build",
18
20
  "setup": "node bin/cli.js setup",
19
21
  "start": "node bin/cli.js start",
20
22
  "stop": "node bin/cli.js stop",
21
23
  "status": "node bin/cli.js status",
22
24
  "doctor": "node bin/cli.js doctor",
25
+ "update": "node bin/cli.js update",
23
26
  "register:codex-mcp": "node scripts/register-codex-mcp.js",
24
27
  "connect": "node scripts/connect-ai-tool.js"
25
28
  },
26
29
  "files": [
27
- "bin/",
28
- "figma-bridge-plugin/",
29
- "figma-intelligence-layer/",
30
- "design-bridge/",
31
- "scripts/",
30
+ "dist/",
32
31
  "README.md"
33
32
  ],
34
33
  "keywords": [
@@ -42,5 +41,9 @@
42
41
  "design",
43
42
  "design-system",
44
43
  "figma-plugin"
45
- ]
44
+ ],
45
+ "devDependencies": {
46
+ "esbuild": "^0.28.0",
47
+ "javascript-obfuscator": "^5.4.1"
48
+ }
46
49
  }