unity-open-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/batch-spawn.d.ts +33 -0
  4. package/dist/batch-spawn.js +329 -0
  5. package/dist/batch-spawn.js.map +1 -0
  6. package/dist/capabilities/build-capabilities.d.ts +155 -0
  7. package/dist/capabilities/build-capabilities.js +475 -0
  8. package/dist/capabilities/build-capabilities.js.map +1 -0
  9. package/dist/capabilities/list-rules.d.ts +45 -0
  10. package/dist/capabilities/list-rules.js +121 -0
  11. package/dist/capabilities/list-rules.js.map +1 -0
  12. package/dist/capabilities/rule-catalog.d.ts +44 -0
  13. package/dist/capabilities/rule-catalog.js +330 -0
  14. package/dist/capabilities/rule-catalog.js.map +1 -0
  15. package/dist/capabilities/tool-groups.d.ts +53 -0
  16. package/dist/capabilities/tool-groups.js +396 -0
  17. package/dist/capabilities/tool-groups.js.map +1 -0
  18. package/dist/cli/args.d.ts +36 -0
  19. package/dist/cli/args.js +239 -0
  20. package/dist/cli/args.js.map +1 -0
  21. package/dist/cli/cli.d.ts +23 -0
  22. package/dist/cli/cli.js +125 -0
  23. package/dist/cli/cli.js.map +1 -0
  24. package/dist/cli/commands.d.ts +37 -0
  25. package/dist/cli/commands.js +277 -0
  26. package/dist/cli/commands.js.map +1 -0
  27. package/dist/cli/ping-poller.d.ts +81 -0
  28. package/dist/cli/ping-poller.js +161 -0
  29. package/dist/cli/ping-poller.js.map +1 -0
  30. package/dist/compat.d.ts +32 -0
  31. package/dist/compat.js +121 -0
  32. package/dist/compat.js.map +1 -0
  33. package/dist/compiler-errors.d.ts +31 -0
  34. package/dist/compiler-errors.js +91 -0
  35. package/dist/compiler-errors.js.map +1 -0
  36. package/dist/compressible-router.d.ts +18 -0
  37. package/dist/compressible-router.js +191 -0
  38. package/dist/compressible-router.js.map +1 -0
  39. package/dist/compression/asset-model.d.ts +86 -0
  40. package/dist/compression/asset-model.js +15 -0
  41. package/dist/compression/asset-model.js.map +1 -0
  42. package/dist/compression/compact.d.ts +153 -0
  43. package/dist/compression/compact.js +501 -0
  44. package/dist/compression/compact.js.map +1 -0
  45. package/dist/dialog-dismiss.d.ts +197 -0
  46. package/dist/dialog-dismiss.js +533 -0
  47. package/dist/dialog-dismiss.js.map +1 -0
  48. package/dist/event-stream.d.ts +60 -0
  49. package/dist/event-stream.js +228 -0
  50. package/dist/event-stream.js.map +1 -0
  51. package/dist/gate-error.d.ts +18 -0
  52. package/dist/gate-error.js +11 -0
  53. package/dist/gate-error.js.map +1 -0
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.js +146 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/instance-discovery.d.ts +117 -0
  58. package/dist/instance-discovery.js +202 -0
  59. package/dist/instance-discovery.js.map +1 -0
  60. package/dist/live-client.d.ts +68 -0
  61. package/dist/live-client.js +583 -0
  62. package/dist/live-client.js.map +1 -0
  63. package/dist/offline.d.ts +75 -0
  64. package/dist/offline.js +1495 -0
  65. package/dist/offline.js.map +1 -0
  66. package/dist/package-version.d.ts +8 -0
  67. package/dist/package-version.js +41 -0
  68. package/dist/package-version.js.map +1 -0
  69. package/dist/ping-cache.d.ts +15 -0
  70. package/dist/ping-cache.js +10 -0
  71. package/dist/ping-cache.js.map +1 -0
  72. package/dist/project-health.d.ts +52 -0
  73. package/dist/project-health.js +177 -0
  74. package/dist/project-health.js.map +1 -0
  75. package/dist/resource-router.d.ts +26 -0
  76. package/dist/resource-router.js +143 -0
  77. package/dist/resource-router.js.map +1 -0
  78. package/dist/resources/index.d.ts +6 -0
  79. package/dist/resources/index.js +40 -0
  80. package/dist/resources/index.js.map +1 -0
  81. package/dist/results.d.ts +14 -0
  82. package/dist/results.js +22 -0
  83. package/dist/results.js.map +1 -0
  84. package/dist/router.d.ts +5 -0
  85. package/dist/router.js +2 -0
  86. package/dist/router.js.map +1 -0
  87. package/dist/routers.d.ts +44 -0
  88. package/dist/routers.js +73 -0
  89. package/dist/routers.js.map +1 -0
  90. package/dist/schema-defaults.d.ts +10 -0
  91. package/dist/schema-defaults.js +43 -0
  92. package/dist/schema-defaults.js.map +1 -0
  93. package/dist/skill/client-paths.d.ts +33 -0
  94. package/dist/skill/client-paths.js +131 -0
  95. package/dist/skill/client-paths.js.map +1 -0
  96. package/dist/skill/generate-skill.d.ts +38 -0
  97. package/dist/skill/generate-skill.js +389 -0
  98. package/dist/skill/generate-skill.js.map +1 -0
  99. package/dist/tool-router.d.ts +40 -0
  100. package/dist/tool-router.js +778 -0
  101. package/dist/tool-router.js.map +1 -0
  102. package/dist/tool-session-state.d.ts +55 -0
  103. package/dist/tool-session-state.js +116 -0
  104. package/dist/tool-session-state.js.map +1 -0
  105. package/dist/tools/agent-capabilities.d.ts +2 -0
  106. package/dist/tools/agent-capabilities.js +24 -0
  107. package/dist/tools/agent-capabilities.js.map +1 -0
  108. package/dist/tools/animation-create.d.ts +2 -0
  109. package/dist/tools/animation-create.js +31 -0
  110. package/dist/tools/animation-create.js.map +1 -0
  111. package/dist/tools/animation-get-data.d.ts +2 -0
  112. package/dist/tools/animation-get-data.js +23 -0
  113. package/dist/tools/animation-get-data.js.map +1 -0
  114. package/dist/tools/animation-modify.d.ts +2 -0
  115. package/dist/tools/animation-modify.js +45 -0
  116. package/dist/tools/animation-modify.js.map +1 -0
  117. package/dist/tools/animator-create.d.ts +2 -0
  118. package/dist/tools/animator-create.js +31 -0
  119. package/dist/tools/animator-create.js.map +1 -0
  120. package/dist/tools/animator-get-data.d.ts +2 -0
  121. package/dist/tools/animator-get-data.js +23 -0
  122. package/dist/tools/animator-get-data.js.map +1 -0
  123. package/dist/tools/animator-modify.d.ts +2 -0
  124. package/dist/tools/animator-modify.js +51 -0
  125. package/dist/tools/animator-modify.js.map +1 -0
  126. package/dist/tools/apply-fix.d.ts +2 -0
  127. package/dist/tools/apply-fix.js +39 -0
  128. package/dist/tools/apply-fix.js.map +1 -0
  129. package/dist/tools/assets-copy.d.ts +2 -0
  130. package/dist/tools/assets-copy.js +50 -0
  131. package/dist/tools/assets-copy.js.map +1 -0
  132. package/dist/tools/assets-create-folder.d.ts +2 -0
  133. package/dist/tools/assets-create-folder.js +53 -0
  134. package/dist/tools/assets-create-folder.js.map +1 -0
  135. package/dist/tools/assets-delete.d.ts +2 -0
  136. package/dist/tools/assets-delete.js +34 -0
  137. package/dist/tools/assets-delete.js.map +1 -0
  138. package/dist/tools/assets-move.d.ts +2 -0
  139. package/dist/tools/assets-move.js +50 -0
  140. package/dist/tools/assets-move.js.map +1 -0
  141. package/dist/tools/assets-refresh.d.ts +2 -0
  142. package/dist/tools/assets-refresh.js +37 -0
  143. package/dist/tools/assets-refresh.js.map +1 -0
  144. package/dist/tools/baseline-create.d.ts +2 -0
  145. package/dist/tools/baseline-create.js +20 -0
  146. package/dist/tools/baseline-create.js.map +1 -0
  147. package/dist/tools/bridge-status.d.ts +2 -0
  148. package/dist/tools/bridge-status.js +44 -0
  149. package/dist/tools/bridge-status.js.map +1 -0
  150. package/dist/tools/build-get-active-target.d.ts +2 -0
  151. package/dist/tools/build-get-active-target.js +16 -0
  152. package/dist/tools/build-get-active-target.js.map +1 -0
  153. package/dist/tools/build-get-defines.d.ts +2 -0
  154. package/dist/tools/build-get-defines.js +16 -0
  155. package/dist/tools/build-get-defines.js.map +1 -0
  156. package/dist/tools/build-get-scenes.d.ts +2 -0
  157. package/dist/tools/build-get-scenes.js +16 -0
  158. package/dist/tools/build-get-scenes.js.map +1 -0
  159. package/dist/tools/build-get-targets.d.ts +2 -0
  160. package/dist/tools/build-get-targets.js +18 -0
  161. package/dist/tools/build-get-targets.js.map +1 -0
  162. package/dist/tools/build-set-defines.d.ts +2 -0
  163. package/dist/tools/build-set-defines.js +50 -0
  164. package/dist/tools/build-set-defines.js.map +1 -0
  165. package/dist/tools/build-set-scenes.d.ts +2 -0
  166. package/dist/tools/build-set-scenes.js +60 -0
  167. package/dist/tools/build-set-scenes.js.map +1 -0
  168. package/dist/tools/build-set-target.d.ts +2 -0
  169. package/dist/tools/build-set-target.js +49 -0
  170. package/dist/tools/build-set-target.js.map +1 -0
  171. package/dist/tools/build-start.d.ts +2 -0
  172. package/dist/tools/build-start.js +64 -0
  173. package/dist/tools/build-start.js.map +1 -0
  174. package/dist/tools/capture-inline.d.ts +2 -0
  175. package/dist/tools/capture-inline.js +57 -0
  176. package/dist/tools/capture-inline.js.map +1 -0
  177. package/dist/tools/checkpoint-create.d.ts +2 -0
  178. package/dist/tools/checkpoint-create.js +16 -0
  179. package/dist/tools/checkpoint-create.js.map +1 -0
  180. package/dist/tools/compile-check.d.ts +2 -0
  181. package/dist/tools/compile-check.js +26 -0
  182. package/dist/tools/compile-check.js.map +1 -0
  183. package/dist/tools/component-add.d.ts +2 -0
  184. package/dist/tools/component-add.js +47 -0
  185. package/dist/tools/component-add.js.map +1 -0
  186. package/dist/tools/component-destroy.d.ts +2 -0
  187. package/dist/tools/component-destroy.js +46 -0
  188. package/dist/tools/component-destroy.js.map +1 -0
  189. package/dist/tools/component-get.d.ts +2 -0
  190. package/dist/tools/component-get.js +54 -0
  191. package/dist/tools/component-get.js.map +1 -0
  192. package/dist/tools/component-list-all.d.ts +2 -0
  193. package/dist/tools/component-list-all.js +38 -0
  194. package/dist/tools/component-list-all.js.map +1 -0
  195. package/dist/tools/component-modify.d.ts +2 -0
  196. package/dist/tools/component-modify.js +80 -0
  197. package/dist/tools/component-modify.js.map +1 -0
  198. package/dist/tools/console-clear.d.ts +2 -0
  199. package/dist/tools/console-clear.js +19 -0
  200. package/dist/tools/console-clear.js.map +1 -0
  201. package/dist/tools/console-log.d.ts +2 -0
  202. package/dist/tools/console-log.js +47 -0
  203. package/dist/tools/console-log.js.map +1 -0
  204. package/dist/tools/delta.d.ts +2 -0
  205. package/dist/tools/delta.js +17 -0
  206. package/dist/tools/delta.js.map +1 -0
  207. package/dist/tools/editor-add-layer.d.ts +2 -0
  208. package/dist/tools/editor-add-layer.js +51 -0
  209. package/dist/tools/editor-add-layer.js.map +1 -0
  210. package/dist/tools/editor-add-tag.d.ts +2 -0
  211. package/dist/tools/editor-add-tag.js +41 -0
  212. package/dist/tools/editor-add-tag.js.map +1 -0
  213. package/dist/tools/editor-get-layers.d.ts +2 -0
  214. package/dist/tools/editor-get-layers.js +22 -0
  215. package/dist/tools/editor-get-layers.js.map +1 -0
  216. package/dist/tools/editor-get-tags.d.ts +2 -0
  217. package/dist/tools/editor-get-tags.js +19 -0
  218. package/dist/tools/editor-get-tags.js.map +1 -0
  219. package/dist/tools/editor-redo.d.ts +2 -0
  220. package/dist/tools/editor-redo.js +27 -0
  221. package/dist/tools/editor-redo.js.map +1 -0
  222. package/dist/tools/editor-set-state.d.ts +2 -0
  223. package/dist/tools/editor-set-state.js +57 -0
  224. package/dist/tools/editor-set-state.js.map +1 -0
  225. package/dist/tools/editor-status.d.ts +2 -0
  226. package/dist/tools/editor-status.js +17 -0
  227. package/dist/tools/editor-status.js.map +1 -0
  228. package/dist/tools/editor-undo.d.ts +2 -0
  229. package/dist/tools/editor-undo.js +29 -0
  230. package/dist/tools/editor-undo.js.map +1 -0
  231. package/dist/tools/execute-csharp.d.ts +2 -0
  232. package/dist/tools/execute-csharp.js +74 -0
  233. package/dist/tools/execute-csharp.js.map +1 -0
  234. package/dist/tools/execute-menu.d.ts +2 -0
  235. package/dist/tools/execute-menu.js +40 -0
  236. package/dist/tools/execute-menu.js.map +1 -0
  237. package/dist/tools/find-members.d.ts +2 -0
  238. package/dist/tools/find-members.js +56 -0
  239. package/dist/tools/find-members.js.map +1 -0
  240. package/dist/tools/find-references.d.ts +2 -0
  241. package/dist/tools/find-references.js +29 -0
  242. package/dist/tools/find-references.js.map +1 -0
  243. package/dist/tools/gameobject-create.d.ts +2 -0
  244. package/dist/tools/gameobject-create.js +61 -0
  245. package/dist/tools/gameobject-create.js.map +1 -0
  246. package/dist/tools/gameobject-destroy.d.ts +2 -0
  247. package/dist/tools/gameobject-destroy.js +38 -0
  248. package/dist/tools/gameobject-destroy.js.map +1 -0
  249. package/dist/tools/gameobject-duplicate.d.ts +2 -0
  250. package/dist/tools/gameobject-duplicate.js +40 -0
  251. package/dist/tools/gameobject-duplicate.js.map +1 -0
  252. package/dist/tools/gameobject-find.d.ts +2 -0
  253. package/dist/tools/gameobject-find.js +59 -0
  254. package/dist/tools/gameobject-find.js.map +1 -0
  255. package/dist/tools/gameobject-modify.d.ts +2 -0
  256. package/dist/tools/gameobject-modify.js +76 -0
  257. package/dist/tools/gameobject-modify.js.map +1 -0
  258. package/dist/tools/gameobject-set-parent.d.ts +2 -0
  259. package/dist/tools/gameobject-set-parent.js +55 -0
  260. package/dist/tools/gameobject-set-parent.js.map +1 -0
  261. package/dist/tools/gate-budget-estimate.d.ts +2 -0
  262. package/dist/tools/gate-budget-estimate.js +59 -0
  263. package/dist/tools/gate-budget-estimate.js.map +1 -0
  264. package/dist/tools/generate-skill.d.ts +2 -0
  265. package/dist/tools/generate-skill.js +37 -0
  266. package/dist/tools/generate-skill.js.map +1 -0
  267. package/dist/tools/impact-preview.d.ts +2 -0
  268. package/dist/tools/impact-preview.js +50 -0
  269. package/dist/tools/impact-preview.js.map +1 -0
  270. package/dist/tools/index.d.ts +30 -0
  271. package/dist/tools/index.js +576 -0
  272. package/dist/tools/index.js.map +1 -0
  273. package/dist/tools/inputsystem-action-add.d.ts +2 -0
  274. package/dist/tools/inputsystem-action-add.js +61 -0
  275. package/dist/tools/inputsystem-action-add.js.map +1 -0
  276. package/dist/tools/inputsystem-actionmap-add.d.ts +2 -0
  277. package/dist/tools/inputsystem-actionmap-add.js +31 -0
  278. package/dist/tools/inputsystem-actionmap-add.js.map +1 -0
  279. package/dist/tools/inputsystem-asset-create.d.ts +2 -0
  280. package/dist/tools/inputsystem-asset-create.js +35 -0
  281. package/dist/tools/inputsystem-asset-create.js.map +1 -0
  282. package/dist/tools/inputsystem-binding-add.d.ts +2 -0
  283. package/dist/tools/inputsystem-binding-add.js +48 -0
  284. package/dist/tools/inputsystem-binding-add.js.map +1 -0
  285. package/dist/tools/inputsystem-binding-composite-add.d.ts +2 -0
  286. package/dist/tools/inputsystem-binding-composite-add.js +51 -0
  287. package/dist/tools/inputsystem-binding-composite-add.js.map +1 -0
  288. package/dist/tools/inputsystem-controlscheme-add.d.ts +2 -0
  289. package/dist/tools/inputsystem-controlscheme-add.js +43 -0
  290. package/dist/tools/inputsystem-controlscheme-add.js.map +1 -0
  291. package/dist/tools/inputsystem-get.d.ts +2 -0
  292. package/dist/tools/inputsystem-get.js +22 -0
  293. package/dist/tools/inputsystem-get.js.map +1 -0
  294. package/dist/tools/invoke-method.d.ts +2 -0
  295. package/dist/tools/invoke-method.js +104 -0
  296. package/dist/tools/invoke-method.js.map +1 -0
  297. package/dist/tools/list-assets.d.ts +2 -0
  298. package/dist/tools/list-assets.js +30 -0
  299. package/dist/tools/list-assets.js.map +1 -0
  300. package/dist/tools/list-rules.d.ts +2 -0
  301. package/dist/tools/list-rules.js +27 -0
  302. package/dist/tools/list-rules.js.map +1 -0
  303. package/dist/tools/manage-tools.d.ts +2 -0
  304. package/dist/tools/manage-tools.js +47 -0
  305. package/dist/tools/manage-tools.js.map +1 -0
  306. package/dist/tools/material-create.d.ts +2 -0
  307. package/dist/tools/material-create.js +37 -0
  308. package/dist/tools/material-create.js.map +1 -0
  309. package/dist/tools/material-get-keywords.d.ts +2 -0
  310. package/dist/tools/material-get-keywords.js +23 -0
  311. package/dist/tools/material-get-keywords.js.map +1 -0
  312. package/dist/tools/material-get-properties.d.ts +2 -0
  313. package/dist/tools/material-get-properties.js +32 -0
  314. package/dist/tools/material-get-properties.js.map +1 -0
  315. package/dist/tools/material-set-keyword.d.ts +2 -0
  316. package/dist/tools/material-set-keyword.js +42 -0
  317. package/dist/tools/material-set-keyword.js.map +1 -0
  318. package/dist/tools/material-set-property.d.ts +2 -0
  319. package/dist/tools/material-set-property.js +49 -0
  320. package/dist/tools/material-set-property.js.map +1 -0
  321. package/dist/tools/material-set-shader.d.ts +2 -0
  322. package/dist/tools/material-set-shader.js +39 -0
  323. package/dist/tools/material-set-shader.js.map +1 -0
  324. package/dist/tools/mutation-explain.d.ts +2 -0
  325. package/dist/tools/mutation-explain.js +44 -0
  326. package/dist/tools/mutation-explain.js.map +1 -0
  327. package/dist/tools/navigation-agent-add.d.ts +2 -0
  328. package/dist/tools/navigation-agent-add.js +38 -0
  329. package/dist/tools/navigation-agent-add.js.map +1 -0
  330. package/dist/tools/navigation-agent-set-destination.d.ts +2 -0
  331. package/dist/tools/navigation-agent-set-destination.js +33 -0
  332. package/dist/tools/navigation-agent-set-destination.js.map +1 -0
  333. package/dist/tools/navigation-get.d.ts +2 -0
  334. package/dist/tools/navigation-get.js +20 -0
  335. package/dist/tools/navigation-get.js.map +1 -0
  336. package/dist/tools/navigation-link-add.d.ts +2 -0
  337. package/dist/tools/navigation-link-add.js +57 -0
  338. package/dist/tools/navigation-link-add.js.map +1 -0
  339. package/dist/tools/navigation-list.d.ts +2 -0
  340. package/dist/tools/navigation-list.js +16 -0
  341. package/dist/tools/navigation-list.js.map +1 -0
  342. package/dist/tools/navigation-modifier-add.d.ts +2 -0
  343. package/dist/tools/navigation-modifier-add.js +42 -0
  344. package/dist/tools/navigation-modifier-add.js.map +1 -0
  345. package/dist/tools/navigation-modifier-volume-add.d.ts +2 -0
  346. package/dist/tools/navigation-modifier-volume-add.js +41 -0
  347. package/dist/tools/navigation-modifier-volume-add.js.map +1 -0
  348. package/dist/tools/navigation-modify.d.ts +2 -0
  349. package/dist/tools/navigation-modify.js +47 -0
  350. package/dist/tools/navigation-modify.js.map +1 -0
  351. package/dist/tools/navigation-set-bake-settings.d.ts +2 -0
  352. package/dist/tools/navigation-set-bake-settings.js +42 -0
  353. package/dist/tools/navigation-set-bake-settings.js.map +1 -0
  354. package/dist/tools/navigation-surface-add.d.ts +2 -0
  355. package/dist/tools/navigation-surface-add.js +62 -0
  356. package/dist/tools/navigation-surface-add.js.map +1 -0
  357. package/dist/tools/navigation-surface-bake.d.ts +2 -0
  358. package/dist/tools/navigation-surface-bake.js +30 -0
  359. package/dist/tools/navigation-surface-bake.js.map +1 -0
  360. package/dist/tools/object-get-data.d.ts +2 -0
  361. package/dist/tools/object-get-data.js +59 -0
  362. package/dist/tools/object-get-data.js.map +1 -0
  363. package/dist/tools/object-modify.d.ts +2 -0
  364. package/dist/tools/object-modify.js +73 -0
  365. package/dist/tools/object-modify.js.map +1 -0
  366. package/dist/tools/package-add.d.ts +2 -0
  367. package/dist/tools/package-add.js +42 -0
  368. package/dist/tools/package-add.js.map +1 -0
  369. package/dist/tools/package-check.d.ts +2 -0
  370. package/dist/tools/package-check.js +27 -0
  371. package/dist/tools/package-check.js.map +1 -0
  372. package/dist/tools/package-get-dependencies.d.ts +2 -0
  373. package/dist/tools/package-get-dependencies.js +17 -0
  374. package/dist/tools/package-get-dependencies.js.map +1 -0
  375. package/dist/tools/package-get-info.d.ts +2 -0
  376. package/dist/tools/package-get-info.js +33 -0
  377. package/dist/tools/package-get-info.js.map +1 -0
  378. package/dist/tools/package-list.d.ts +2 -0
  379. package/dist/tools/package-list.js +57 -0
  380. package/dist/tools/package-list.js.map +1 -0
  381. package/dist/tools/package-remove.d.ts +2 -0
  382. package/dist/tools/package-remove.js +40 -0
  383. package/dist/tools/package-remove.js.map +1 -0
  384. package/dist/tools/package-search.d.ts +2 -0
  385. package/dist/tools/package-search.js +42 -0
  386. package/dist/tools/package-search.js.map +1 -0
  387. package/dist/tools/particle-system-get.d.ts +2 -0
  388. package/dist/tools/particle-system-get.js +42 -0
  389. package/dist/tools/particle-system-get.js.map +1 -0
  390. package/dist/tools/particle-system-modify.d.ts +2 -0
  391. package/dist/tools/particle-system-modify.js +73 -0
  392. package/dist/tools/particle-system-modify.js.map +1 -0
  393. package/dist/tools/ping.d.ts +2 -0
  394. package/dist/tools/ping.js +10 -0
  395. package/dist/tools/ping.js.map +1 -0
  396. package/dist/tools/prefab-apply.d.ts +2 -0
  397. package/dist/tools/prefab-apply.js +39 -0
  398. package/dist/tools/prefab-apply.js.map +1 -0
  399. package/dist/tools/prefab-close.d.ts +2 -0
  400. package/dist/tools/prefab-close.js +29 -0
  401. package/dist/tools/prefab-close.js.map +1 -0
  402. package/dist/tools/prefab-create.d.ts +2 -0
  403. package/dist/tools/prefab-create.js +52 -0
  404. package/dist/tools/prefab-create.js.map +1 -0
  405. package/dist/tools/prefab-get-overrides.d.ts +2 -0
  406. package/dist/tools/prefab-get-overrides.js +27 -0
  407. package/dist/tools/prefab-get-overrides.js.map +1 -0
  408. package/dist/tools/prefab-instantiate.d.ts +2 -0
  409. package/dist/tools/prefab-instantiate.js +52 -0
  410. package/dist/tools/prefab-instantiate.js.map +1 -0
  411. package/dist/tools/prefab-open.d.ts +2 -0
  412. package/dist/tools/prefab-open.js +30 -0
  413. package/dist/tools/prefab-open.js.map +1 -0
  414. package/dist/tools/prefab-revert.d.ts +2 -0
  415. package/dist/tools/prefab-revert.js +37 -0
  416. package/dist/tools/prefab-revert.js.map +1 -0
  417. package/dist/tools/prefab-save.d.ts +2 -0
  418. package/dist/tools/prefab-save.js +24 -0
  419. package/dist/tools/prefab-save.js.map +1 -0
  420. package/dist/tools/prefab-status.d.ts +2 -0
  421. package/dist/tools/prefab-status.js +29 -0
  422. package/dist/tools/prefab-status.js.map +1 -0
  423. package/dist/tools/prefab-unpack.d.ts +2 -0
  424. package/dist/tools/prefab-unpack.js +43 -0
  425. package/dist/tools/prefab-unpack.js.map +1 -0
  426. package/dist/tools/probuilder-create-shape.d.ts +2 -0
  427. package/dist/tools/probuilder-create-shape.js +40 -0
  428. package/dist/tools/probuilder-create-shape.js.map +1 -0
  429. package/dist/tools/probuilder-delete-faces.d.ts +2 -0
  430. package/dist/tools/probuilder-delete-faces.js +47 -0
  431. package/dist/tools/probuilder-delete-faces.js.map +1 -0
  432. package/dist/tools/probuilder-extrude.d.ts +2 -0
  433. package/dist/tools/probuilder-extrude.js +58 -0
  434. package/dist/tools/probuilder-extrude.js.map +1 -0
  435. package/dist/tools/probuilder-get-mesh-info.d.ts +2 -0
  436. package/dist/tools/probuilder-get-mesh-info.js +21 -0
  437. package/dist/tools/probuilder-get-mesh-info.js.map +1 -0
  438. package/dist/tools/probuilder-set-face-material.d.ts +2 -0
  439. package/dist/tools/probuilder-set-face-material.js +53 -0
  440. package/dist/tools/probuilder-set-face-material.js.map +1 -0
  441. package/dist/tools/profiler-capture.d.ts +2 -0
  442. package/dist/tools/profiler-capture.js +84 -0
  443. package/dist/tools/profiler-capture.js.map +1 -0
  444. package/dist/tools/profiler-clear-data.d.ts +2 -0
  445. package/dist/tools/profiler-clear-data.js +20 -0
  446. package/dist/tools/profiler-clear-data.js.map +1 -0
  447. package/dist/tools/profiler-enable-module.d.ts +2 -0
  448. package/dist/tools/profiler-enable-module.js +32 -0
  449. package/dist/tools/profiler-enable-module.js.map +1 -0
  450. package/dist/tools/profiler-get-config.d.ts +2 -0
  451. package/dist/tools/profiler-get-config.js +21 -0
  452. package/dist/tools/profiler-get-config.js.map +1 -0
  453. package/dist/tools/profiler-get-script-stats.d.ts +2 -0
  454. package/dist/tools/profiler-get-script-stats.js +20 -0
  455. package/dist/tools/profiler-get-script-stats.js.map +1 -0
  456. package/dist/tools/profiler-get-status.d.ts +2 -0
  457. package/dist/tools/profiler-get-status.js +22 -0
  458. package/dist/tools/profiler-get-status.js.map +1 -0
  459. package/dist/tools/profiler-list-modules.d.ts +2 -0
  460. package/dist/tools/profiler-list-modules.js +20 -0
  461. package/dist/tools/profiler-list-modules.js.map +1 -0
  462. package/dist/tools/profiler-load-data.d.ts +2 -0
  463. package/dist/tools/profiler-load-data.js +38 -0
  464. package/dist/tools/profiler-load-data.js.map +1 -0
  465. package/dist/tools/profiler-memory.d.ts +2 -0
  466. package/dist/tools/profiler-memory.js +21 -0
  467. package/dist/tools/profiler-memory.js.map +1 -0
  468. package/dist/tools/profiler-rendering.d.ts +2 -0
  469. package/dist/tools/profiler-rendering.js +14 -0
  470. package/dist/tools/profiler-rendering.js.map +1 -0
  471. package/dist/tools/profiler-save-data.d.ts +2 -0
  472. package/dist/tools/profiler-save-data.js +38 -0
  473. package/dist/tools/profiler-save-data.js.map +1 -0
  474. package/dist/tools/profiler-set-config.d.ts +2 -0
  475. package/dist/tools/profiler-set-config.js +72 -0
  476. package/dist/tools/profiler-set-config.js.map +1 -0
  477. package/dist/tools/profiler-start.d.ts +2 -0
  478. package/dist/tools/profiler-start.js +31 -0
  479. package/dist/tools/profiler-start.js.map +1 -0
  480. package/dist/tools/profiler-stop.d.ts +2 -0
  481. package/dist/tools/profiler-stop.js +20 -0
  482. package/dist/tools/profiler-stop.js.map +1 -0
  483. package/dist/tools/pull-events.d.ts +2 -0
  484. package/dist/tools/pull-events.js +43 -0
  485. package/dist/tools/pull-events.js.map +1 -0
  486. package/dist/tools/read-asset.d.ts +2 -0
  487. package/dist/tools/read-asset.js +62 -0
  488. package/dist/tools/read-asset.js.map +1 -0
  489. package/dist/tools/read-compile-errors.d.ts +2 -0
  490. package/dist/tools/read-compile-errors.js +59 -0
  491. package/dist/tools/read-compile-errors.js.map +1 -0
  492. package/dist/tools/read-console.d.ts +2 -0
  493. package/dist/tools/read-console.js +57 -0
  494. package/dist/tools/read-console.js.map +1 -0
  495. package/dist/tools/regression-check.d.ts +2 -0
  496. package/dist/tools/regression-check.js +36 -0
  497. package/dist/tools/regression-check.js.map +1 -0
  498. package/dist/tools/reserialize.d.ts +2 -0
  499. package/dist/tools/reserialize.js +31 -0
  500. package/dist/tools/reserialize.js.map +1 -0
  501. package/dist/tools/run-tests.d.ts +2 -0
  502. package/dist/tools/run-tests.js +49 -0
  503. package/dist/tools/run-tests.js.map +1 -0
  504. package/dist/tools/scan-all.d.ts +2 -0
  505. package/dist/tools/scan-all.js +25 -0
  506. package/dist/tools/scan-all.js.map +1 -0
  507. package/dist/tools/scan-paths.d.ts +2 -0
  508. package/dist/tools/scan-paths.js +40 -0
  509. package/dist/tools/scan-paths.js.map +1 -0
  510. package/dist/tools/scene-create.d.ts +2 -0
  511. package/dist/tools/scene-create.js +47 -0
  512. package/dist/tools/scene-create.js.map +1 -0
  513. package/dist/tools/scene-focus.d.ts +2 -0
  514. package/dist/tools/scene-focus.js +55 -0
  515. package/dist/tools/scene-focus.js.map +1 -0
  516. package/dist/tools/scene-get-data.d.ts +2 -0
  517. package/dist/tools/scene-get-data.js +52 -0
  518. package/dist/tools/scene-get-data.js.map +1 -0
  519. package/dist/tools/scene-get-dirty-summary.d.ts +2 -0
  520. package/dist/tools/scene-get-dirty-summary.js +17 -0
  521. package/dist/tools/scene-get-dirty-summary.js.map +1 -0
  522. package/dist/tools/scene-list-opened.d.ts +2 -0
  523. package/dist/tools/scene-list-opened.js +16 -0
  524. package/dist/tools/scene-list-opened.js.map +1 -0
  525. package/dist/tools/scene-open.d.ts +2 -0
  526. package/dist/tools/scene-open.js +48 -0
  527. package/dist/tools/scene-open.js.map +1 -0
  528. package/dist/tools/scene-save.d.ts +2 -0
  529. package/dist/tools/scene-save.js +38 -0
  530. package/dist/tools/scene-save.js.map +1 -0
  531. package/dist/tools/scene-set-active.d.ts +2 -0
  532. package/dist/tools/scene-set-active.js +33 -0
  533. package/dist/tools/scene-set-active.js.map +1 -0
  534. package/dist/tools/scene-unload.d.ts +2 -0
  535. package/dist/tools/scene-unload.js +33 -0
  536. package/dist/tools/scene-unload.js.map +1 -0
  537. package/dist/tools/screenshot-camera.d.ts +2 -0
  538. package/dist/tools/screenshot-camera.js +59 -0
  539. package/dist/tools/screenshot-camera.js.map +1 -0
  540. package/dist/tools/screenshot-window.d.ts +2 -0
  541. package/dist/tools/screenshot-window.js +54 -0
  542. package/dist/tools/screenshot-window.js.map +1 -0
  543. package/dist/tools/screenshot.d.ts +2 -0
  544. package/dist/tools/screenshot.js +47 -0
  545. package/dist/tools/screenshot.js.map +1 -0
  546. package/dist/tools/script-delete.d.ts +2 -0
  547. package/dist/tools/script-delete.js +37 -0
  548. package/dist/tools/script-delete.js.map +1 -0
  549. package/dist/tools/script-read.d.ts +2 -0
  550. package/dist/tools/script-read.js +46 -0
  551. package/dist/tools/script-read.js.map +1 -0
  552. package/dist/tools/script-write.d.ts +2 -0
  553. package/dist/tools/script-write.js +56 -0
  554. package/dist/tools/script-write.js.map +1 -0
  555. package/dist/tools/search-assets.d.ts +2 -0
  556. package/dist/tools/search-assets.js +49 -0
  557. package/dist/tools/search-assets.js.map +1 -0
  558. package/dist/tools/selection-get.d.ts +2 -0
  559. package/dist/tools/selection-get.js +28 -0
  560. package/dist/tools/selection-get.js.map +1 -0
  561. package/dist/tools/selection-set.d.ts +2 -0
  562. package/dist/tools/selection-set.js +72 -0
  563. package/dist/tools/selection-set.js.map +1 -0
  564. package/dist/tools/settings-get-lighting.d.ts +2 -0
  565. package/dist/tools/settings-get-lighting.js +21 -0
  566. package/dist/tools/settings-get-lighting.js.map +1 -0
  567. package/dist/tools/settings-get-physics.d.ts +2 -0
  568. package/dist/tools/settings-get-physics.js +17 -0
  569. package/dist/tools/settings-get-physics.js.map +1 -0
  570. package/dist/tools/settings-get-player.d.ts +2 -0
  571. package/dist/tools/settings-get-player.js +16 -0
  572. package/dist/tools/settings-get-player.js.map +1 -0
  573. package/dist/tools/settings-get-quality.d.ts +2 -0
  574. package/dist/tools/settings-get-quality.js +16 -0
  575. package/dist/tools/settings-get-quality.js.map +1 -0
  576. package/dist/tools/settings-set-lighting.d.ts +2 -0
  577. package/dist/tools/settings-set-lighting.js +58 -0
  578. package/dist/tools/settings-set-lighting.js.map +1 -0
  579. package/dist/tools/settings-set-physics.d.ts +2 -0
  580. package/dist/tools/settings-set-physics.js +52 -0
  581. package/dist/tools/settings-set-physics.js.map +1 -0
  582. package/dist/tools/settings-set-player.d.ts +2 -0
  583. package/dist/tools/settings-set-player.js +62 -0
  584. package/dist/tools/settings-set-player.js.map +1 -0
  585. package/dist/tools/settings-set-quality.d.ts +2 -0
  586. package/dist/tools/settings-set-quality.js +51 -0
  587. package/dist/tools/settings-set-quality.js.map +1 -0
  588. package/dist/tools/shader-get-data.d.ts +2 -0
  589. package/dist/tools/shader-get-data.js +31 -0
  590. package/dist/tools/shader-get-data.js.map +1 -0
  591. package/dist/tools/shader-list-all.d.ts +2 -0
  592. package/dist/tools/shader-list-all.js +24 -0
  593. package/dist/tools/shader-list-all.js.map +1 -0
  594. package/dist/tools/spatial-query.d.ts +2 -0
  595. package/dist/tools/spatial-query.js +117 -0
  596. package/dist/tools/spatial-query.js.map +1 -0
  597. package/dist/tools/splines-add-knot.d.ts +2 -0
  598. package/dist/tools/splines-add-knot.js +44 -0
  599. package/dist/tools/splines-add-knot.js.map +1 -0
  600. package/dist/tools/splines-container-create.d.ts +2 -0
  601. package/dist/tools/splines-container-create.js +39 -0
  602. package/dist/tools/splines-container-create.js.map +1 -0
  603. package/dist/tools/splines-evaluate.d.ts +2 -0
  604. package/dist/tools/splines-evaluate.js +31 -0
  605. package/dist/tools/splines-evaluate.js.map +1 -0
  606. package/dist/tools/splines-get-knots.d.ts +2 -0
  607. package/dist/tools/splines-get-knots.js +25 -0
  608. package/dist/tools/splines-get-knots.js.map +1 -0
  609. package/dist/tools/splines-modify.d.ts +2 -0
  610. package/dist/tools/splines-modify.js +35 -0
  611. package/dist/tools/splines-modify.js.map +1 -0
  612. package/dist/tools/splines-set-knot.d.ts +2 -0
  613. package/dist/tools/splines-set-knot.js +41 -0
  614. package/dist/tools/splines-set-knot.js.map +1 -0
  615. package/dist/tools/splines-set-tangent-mode.d.ts +2 -0
  616. package/dist/tools/splines-set-tangent-mode.js +43 -0
  617. package/dist/tools/splines-set-tangent-mode.js.map +1 -0
  618. package/dist/tools/type-schema.d.ts +2 -0
  619. package/dist/tools/type-schema.js +62 -0
  620. package/dist/tools/type-schema.js.map +1 -0
  621. package/dist/tools/validate-edit.d.ts +2 -0
  622. package/dist/tools/validate-edit.js +43 -0
  623. package/dist/tools/validate-edit.js.map +1 -0
  624. package/dist/unity-install-discovery.d.ts +79 -0
  625. package/dist/unity-install-discovery.js +206 -0
  626. package/dist/unity-install-discovery.js.map +1 -0
  627. package/dist/unity-log.d.ts +35 -0
  628. package/dist/unity-log.js +110 -0
  629. package/dist/unity-log.js.map +1 -0
  630. package/package.json +54 -0
@@ -0,0 +1,45 @@
1
+ import type { RuleCapability, FixCapability, RuleIssueDescriptor } from "./rule-catalog.js";
2
+ export type Severity = "Error" | "Warning";
3
+ export interface ListRulesEntry {
4
+ id: string;
5
+ title: string;
6
+ description: string;
7
+ applicableAssetKinds: string[];
8
+ applicableExtensions?: string[];
9
+ implemented: boolean;
10
+ status: "implemented" | "planned";
11
+ /** Worst severity the rule can emit. `Warning` when the rule emits no errors. */
12
+ defaultSeverity: Severity;
13
+ /** Distinct fix IDs across all the rule's issue codes. */
14
+ availableFixIds: string[];
15
+ /** Issue codes the rule emits. Empty for planned rules. */
16
+ issues: RuleIssueDescriptor[];
17
+ /** Present only for planned rules. */
18
+ guidance?: string;
19
+ }
20
+ export interface ListRulesResult {
21
+ rules: ListRulesEntry[];
22
+ counts: {
23
+ implemented: number;
24
+ planned: number;
25
+ total: number;
26
+ };
27
+ filters?: {
28
+ assetKind?: string;
29
+ extension?: string;
30
+ implementedOnly?: boolean;
31
+ };
32
+ }
33
+ export interface ListRulesFilter {
34
+ /** Filter to rules that declare this asset kind (e.g. "prefab", "scene"). */
35
+ assetKind?: string;
36
+ /** Filter to rules that declare this extension (e.g. ".prefab"). */
37
+ extension?: string;
38
+ /** When true, omit planned/unimplemented rules. */
39
+ implementedOnly?: boolean;
40
+ }
41
+ export interface ListRulesDeps {
42
+ rules: RuleCapability[];
43
+ fixes: FixCapability[];
44
+ }
45
+ export declare function listRules(deps: ListRulesDeps, filter?: ListRulesFilter): ListRulesResult;
@@ -0,0 +1,121 @@
1
+ // Rule-listing builder for `unity_open_mcp_list_rules`.
2
+ //
3
+ // Distinct from `unity_open_mcp_capabilities` (kind: "rules") in two ways:
4
+ // 1. The response is purpose-built for "what rule should I run on this
5
+ // asset?" — every rule carries a derived `defaultSeverity` (the worst
6
+ // severity it can emit) and a flat `availableFixIds` list, so an agent
7
+ // can scan the list in one pass without walking issue arrays.
8
+ // 2. It supports an `asset_kind` / `extension` filter so the caller can ask
9
+ // "which rules apply to .prefab?" without post-processing the catalog.
10
+ //
11
+ // Pure transformation over the injected catalog — no runtime cross-file
12
+ // imports, loads cleanly under `node --experimental-strip-types`.
13
+ // Build a fix-id lookup keyed by issue code so each rule can flatten its
14
+ // available fixes without scanning the fix catalog per issue.
15
+ function buildFixIndex(fixes) {
16
+ const index = new Map();
17
+ for (const fix of fixes) {
18
+ if (!fix.implemented)
19
+ continue;
20
+ for (const code of fix.issueCodes) {
21
+ const list = index.get(code);
22
+ if (list) {
23
+ if (!list.includes(fix.id))
24
+ list.push(fix.id);
25
+ }
26
+ else {
27
+ index.set(code, [fix.id]);
28
+ }
29
+ }
30
+ }
31
+ return index;
32
+ }
33
+ function deriveDefaultSeverity(issues) {
34
+ // "Default" severity is the level the gate treats as a failure by default.
35
+ // We surface the *worst* severity the rule can emit so agents reading the
36
+ // list understand the ceiling: a rule that ever emits Error will fail the
37
+ // gate under the default `error` threshold.
38
+ if (issues.some((i) => i.severity === "Error"))
39
+ return "Error";
40
+ if (issues.some((i) => i.severity === "Warning"))
41
+ return "Warning";
42
+ return "Warning";
43
+ }
44
+ function collectFixIds(rule, fixIndex) {
45
+ if (!rule.implemented)
46
+ return [];
47
+ const ids = new Set();
48
+ for (const issue of rule.issues) {
49
+ // Prefer the catalog's per-issue fixIds (source of truth) and fall back to
50
+ // the fix-index lookup so the two never disagree silently.
51
+ for (const id of issue.fixIds)
52
+ ids.add(id);
53
+ const fromIndex = fixIndex.get(issue.code);
54
+ if (fromIndex)
55
+ for (const id of fromIndex)
56
+ ids.add(id);
57
+ }
58
+ return [...ids];
59
+ }
60
+ function ruleMatches(rule, filter) {
61
+ if (filter.assetKind) {
62
+ const kinds = rule.applicableAssetKinds ?? [];
63
+ if (!kinds.includes(filter.assetKind))
64
+ return false;
65
+ }
66
+ if (filter.extension) {
67
+ const exts = rule.applicableExtensions ?? [];
68
+ const normalized = filter.extension.startsWith(".")
69
+ ? filter.extension.toLowerCase()
70
+ : `.${filter.extension.toLowerCase()}`;
71
+ if (!exts.map((e) => e.toLowerCase()).includes(normalized))
72
+ return false;
73
+ }
74
+ return true;
75
+ }
76
+ export function listRules(deps, filter = {}) {
77
+ const fixIndex = buildFixIndex(deps.fixes);
78
+ const entries = [];
79
+ for (const rule of deps.rules) {
80
+ if (filter.implementedOnly && !rule.implemented)
81
+ continue;
82
+ if (!ruleMatches(rule, filter))
83
+ continue;
84
+ entries.push({
85
+ id: rule.id,
86
+ title: rule.title,
87
+ description: rule.description,
88
+ applicableAssetKinds: rule.applicableAssetKinds,
89
+ applicableExtensions: rule.applicableExtensions,
90
+ implemented: rule.implemented,
91
+ status: rule.status,
92
+ defaultSeverity: deriveDefaultSeverity(rule.issues),
93
+ availableFixIds: collectFixIds(rule, fixIndex),
94
+ issues: rule.issues,
95
+ guidance: rule.guidance,
96
+ });
97
+ }
98
+ const implemented = entries.filter((e) => e.implemented).length;
99
+ const planned = entries.filter((e) => !e.implemented).length;
100
+ // Only surface the filter block when the caller actually passed one — keeps
101
+ // the default response compact.
102
+ const hasFilter = filter.assetKind !== undefined ||
103
+ filter.extension !== undefined ||
104
+ filter.implementedOnly === true;
105
+ return {
106
+ rules: entries,
107
+ counts: {
108
+ implemented,
109
+ planned,
110
+ total: entries.length,
111
+ },
112
+ filters: hasFilter
113
+ ? {
114
+ assetKind: filter.assetKind,
115
+ extension: filter.extension,
116
+ implementedOnly: filter.implementedOnly,
117
+ }
118
+ : undefined,
119
+ };
120
+ }
121
+ //# sourceMappingURL=list-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-rules.js","sourceRoot":"","sources":["../../src/capabilities/list-rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export type CapabilityStatus = "implemented" | "planned";
2
+ export interface RuleIssueDescriptor {
3
+ /** Issue code emitted by the rule (e.g. `missing_script`). */
4
+ code: string;
5
+ /** Default severity (`Error` | `Warning`). */
6
+ severity: "Error" | "Warning";
7
+ /** Fix IDs that can resolve this issue code, if any. */
8
+ fixIds: string[];
9
+ /** True when the issue is only emitted during a full project scan. */
10
+ fullScanOnly?: boolean;
11
+ }
12
+ export interface RuleCapability {
13
+ id: string;
14
+ title: string;
15
+ description: string;
16
+ /** Asset kinds the rule analyzes (e.g. `prefab`, `scene`). */
17
+ applicableAssetKinds: string[];
18
+ /** File extensions the rule applies to, when known. */
19
+ applicableExtensions?: string[];
20
+ implemented: boolean;
21
+ status: CapabilityStatus;
22
+ /** Issue codes this rule can emit. Empty for planned rules. */
23
+ issues: RuleIssueDescriptor[];
24
+ /** Guidance shown to the agent when the rule is not implemented. */
25
+ guidance?: string;
26
+ }
27
+ export interface FixCapability {
28
+ id: string;
29
+ implemented: boolean;
30
+ status: CapabilityStatus;
31
+ /** Rule IDs this fix can resolve issues for. */
32
+ rules: string[];
33
+ /** Issue codes this fix addresses. */
34
+ issueCodes: string[];
35
+ /** True when the fix is safe to auto-apply (no destructive side effects). */
36
+ safe: boolean;
37
+ /** Guidance shown to the agent when the fix is not implemented. */
38
+ guidance?: string;
39
+ }
40
+ export declare const RULE_CATALOG: RuleCapability[];
41
+ export declare const FIX_CATALOG: FixCapability[];
42
+ export declare function implementedRules(): RuleCapability[];
43
+ export declare function plannedRules(): RuleCapability[];
44
+ export declare function implementedFixes(): FixCapability[];
@@ -0,0 +1,330 @@
1
+ // Capability-discovery rule catalog.
2
+ //
3
+ // Static metadata for verify rules and fix providers. This is the documented
4
+ // capability surface agents discover via `unity_open_mcp_capabilities`. The
5
+ // catalog is versioned with the package: `implemented` flags reflect what
6
+ // ships in the matching bridge/verify package release.
7
+ //
8
+ // Implemented-rule metadata mirrors the C# verify package
9
+ // (packages/verify/Editor/Rules/*) issue mappers and the fix registry
10
+ // (packages/verify/Editor/Fixes/FixProviderRegistry.cs). Planned rules mirror
11
+ // the extension-heuristic stubs in the bridge gate adapter
12
+ // (packages/bridge/Editor/Gate/VerifyGateAdapter.cs).
13
+ // ---------------------------------------------------------------------------
14
+ // Implemented rules — mirror packages/verify/Editor/Rules/*
15
+ // ---------------------------------------------------------------------------
16
+ const MISSING_REFERENCES_ISSUES = [
17
+ {
18
+ code: "missing_guid",
19
+ severity: "Error",
20
+ fixIds: ["relink_broken_guid"],
21
+ },
22
+ {
23
+ code: "missing_fileid",
24
+ severity: "Error",
25
+ fixIds: [],
26
+ },
27
+ {
28
+ code: "missing_local_fileid",
29
+ severity: "Warning",
30
+ fixIds: [],
31
+ },
32
+ {
33
+ code: "empty_local_ref",
34
+ severity: "Warning",
35
+ fixIds: [],
36
+ },
37
+ {
38
+ code: "missing_method",
39
+ severity: "Warning",
40
+ fixIds: [],
41
+ fullScanOnly: true,
42
+ },
43
+ {
44
+ code: "type_mismatch",
45
+ severity: "Warning",
46
+ fixIds: [],
47
+ fullScanOnly: true,
48
+ },
49
+ {
50
+ code: "missing_script",
51
+ severity: "Error",
52
+ fixIds: ["remove_missing_script"],
53
+ },
54
+ {
55
+ code: "duplicate_component",
56
+ severity: "Warning",
57
+ fixIds: [],
58
+ fullScanOnly: true,
59
+ },
60
+ {
61
+ code: "invalid_layer",
62
+ severity: "Warning",
63
+ fixIds: [],
64
+ fullScanOnly: true,
65
+ },
66
+ ];
67
+ const SCENE_PREFAB_HEALTH_ISSUES = [
68
+ {
69
+ code: "broken_reference",
70
+ severity: "Error",
71
+ fixIds: [],
72
+ },
73
+ {
74
+ code: "high_risk_bootstrap",
75
+ severity: "Warning",
76
+ fixIds: [],
77
+ },
78
+ {
79
+ code: "scene_object_count",
80
+ severity: "Warning",
81
+ fixIds: [],
82
+ },
83
+ {
84
+ code: "component_hotspot",
85
+ severity: "Warning",
86
+ fixIds: [],
87
+ },
88
+ {
89
+ code: "inactive_expensive",
90
+ severity: "Warning",
91
+ fixIds: [],
92
+ },
93
+ {
94
+ code: "inactive_heavy",
95
+ severity: "Warning",
96
+ fixIds: [],
97
+ },
98
+ {
99
+ code: "deep_nesting",
100
+ severity: "Warning",
101
+ fixIds: [],
102
+ },
103
+ {
104
+ code: "override_explosion",
105
+ severity: "Warning",
106
+ fixIds: [],
107
+ },
108
+ ];
109
+ const DEPENDENCIES_ISSUES = [
110
+ {
111
+ code: "broken_dependency",
112
+ severity: "Error",
113
+ fixIds: ["relink_broken_guid"],
114
+ },
115
+ {
116
+ code: "dependency_cycle",
117
+ severity: "Warning",
118
+ fixIds: [],
119
+ },
120
+ ];
121
+ // ---------------------------------------------------------------------------
122
+ // Planned rules — mirror stubs in VerifyGateAdapter.SelectRuleIds
123
+ // ---------------------------------------------------------------------------
124
+ const PLANNED_RULES = [
125
+ {
126
+ id: "asmdef_audit",
127
+ title: "Assembly definition audit",
128
+ description: "Validates assembly definition references, naming, and dependency graph health.",
129
+ applicableAssetKinds: ["asmdef"],
130
+ applicableExtensions: [".cs", ".asmdef"],
131
+ implemented: false,
132
+ status: "planned",
133
+ issues: [],
134
+ guidance: "Not yet ported. C#/asmdef files currently pass through the gate without rule coverage. " +
135
+ "Track asset references manually or use find_references on GUID-based deps.",
136
+ },
137
+ {
138
+ id: "materials",
139
+ title: "Material health",
140
+ description: "Detects unreferenced materials, missing textures, and broken shader references.",
141
+ applicableAssetKinds: ["material"],
142
+ applicableExtensions: [".mat", ".shader", ".shadergraph"],
143
+ implemented: false,
144
+ status: "planned",
145
+ issues: [],
146
+ guidance: "Not yet ported. Use find_references to check material usage and read_asset to inspect shader refs.",
147
+ },
148
+ {
149
+ id: "shader_analysis",
150
+ title: "Shader analysis",
151
+ description: "Inspects shader compile state, variant count, and keyword explosion risk.",
152
+ applicableAssetKinds: ["shader"],
153
+ applicableExtensions: [".mat", ".shader", ".shadergraph"],
154
+ implemented: false,
155
+ status: "planned",
156
+ issues: [],
157
+ guidance: "Not yet ported. Use read_console to catch shader compile errors after a build.",
158
+ },
159
+ {
160
+ id: "textures",
161
+ title: "Texture analysis",
162
+ description: "Flags oversized textures, missing import settings, and uncompressed formats on mobile.",
163
+ applicableAssetKinds: ["texture"],
164
+ applicableExtensions: [".png", ".jpg", ".jpeg", ".tga"],
165
+ implemented: false,
166
+ status: "planned",
167
+ issues: [],
168
+ guidance: "Not yet ported. Use read_asset on .meta files or inspect TextureImporter settings via execute_csharp.",
169
+ },
170
+ {
171
+ id: "sprite_2d_analysis",
172
+ title: "Sprite 2D analysis",
173
+ description: "Validates sprite atlas packing, multiple-sprite geometry, and 2D animation bone references.",
174
+ applicableAssetKinds: ["sprite"],
175
+ applicableExtensions: [".png", ".jpg", ".jpeg", ".tga"],
176
+ implemented: false,
177
+ status: "planned",
178
+ issues: [],
179
+ guidance: "Not yet ported. Inspect sprite importers via read_asset or execute_csharp.",
180
+ },
181
+ {
182
+ id: "animation_analysis",
183
+ title: "Animation analysis",
184
+ description: "Detects missing animation curves, broken animator transitions, and unused clips.",
185
+ applicableAssetKinds: ["animation"],
186
+ applicableExtensions: [".controller", ".anim"],
187
+ implemented: false,
188
+ status: "planned",
189
+ issues: [],
190
+ guidance: "Not yet ported. Use find_references to trace animator usage and read_asset to inspect clips.",
191
+ },
192
+ {
193
+ id: "audio_analysis",
194
+ title: "Audio analysis",
195
+ description: "Flags uncompressed audio, missing platform overrides, and load-type mismatches.",
196
+ applicableAssetKinds: ["audio"],
197
+ applicableExtensions: [".wav", ".mp3", ".ogg"],
198
+ implemented: false,
199
+ status: "planned",
200
+ issues: [],
201
+ guidance: "Not yet ported. Inspect AudioImporter settings via read_asset or execute_csharp.",
202
+ },
203
+ ];
204
+ // ---------------------------------------------------------------------------
205
+ // Full catalog
206
+ // ---------------------------------------------------------------------------
207
+ export const RULE_CATALOG = [
208
+ {
209
+ id: "missing_references",
210
+ title: "Missing references",
211
+ description: "Detects broken PPtr references (missing GUID/FileID), missing script GUIDs, " +
212
+ "UnityEvent target gaps, duplicate components, and invalid layers across prefabs, " +
213
+ "scenes, and ScriptableObject assets.",
214
+ applicableAssetKinds: ["prefab", "scene", "scriptable_object"],
215
+ applicableExtensions: [".prefab", ".unity", ".asset"],
216
+ implemented: true,
217
+ status: "implemented",
218
+ issues: MISSING_REFERENCES_ISSUES,
219
+ },
220
+ {
221
+ id: "scene_prefab_health",
222
+ title: "Scene and prefab health",
223
+ description: "Scene and prefab structural health: broken references, bootstrap density, object/component " +
224
+ "counts, inactive-object waste, prefab nesting depth, and override explosion.",
225
+ applicableAssetKinds: ["scene", "prefab"],
226
+ applicableExtensions: [".unity", ".prefab"],
227
+ implemented: true,
228
+ status: "implemented",
229
+ issues: SCENE_PREFAB_HEALTH_ISSUES,
230
+ },
231
+ {
232
+ id: "dependencies",
233
+ title: "Forward dependency graph",
234
+ description: "Forward-graph view of what each scoped asset depends on. Complements the reverse " +
235
+ "find_references lookup and the per-PPtr-field missing_references rule: catches " +
236
+ "asset-graph edges (PPtr, AssetReference, addressable) that do not resolve, plus " +
237
+ "forward dependency cycles scoped to paths_hint.",
238
+ applicableAssetKinds: ["prefab", "scene", "scriptable_object", "material", "animation"],
239
+ applicableExtensions: [".prefab", ".unity", ".asset", ".mat", ".controller", ".anim"],
240
+ implemented: true,
241
+ status: "implemented",
242
+ issues: DEPENDENCIES_ISSUES,
243
+ },
244
+ ...PLANNED_RULES,
245
+ ];
246
+ // ---------------------------------------------------------------------------
247
+ // Planned fixes — deferred from M12 T2.4 (no emitting rule yet)
248
+ // ---------------------------------------------------------------------------
249
+ //
250
+ // These targets have no implemented rule today (orphan_meta / duplicate_guid
251
+ // are not emitted by any rule; reassign_missing_* wait on the `materials` rule
252
+ // which is deferred to M17). They are advertised as planned so agents get a
253
+ // structured "not yet available" signal instead of trial-and-error.
254
+ const PLANNED_FIXES = [
255
+ {
256
+ id: "remove_orphan_meta",
257
+ implemented: false,
258
+ status: "planned",
259
+ rules: [],
260
+ issueCodes: [],
261
+ safe: true,
262
+ guidance: "Not yet ported. No rule emits an orphan_meta issue today. " +
263
+ "Find .meta files whose asset was deleted manually via find_members or " +
264
+ "AssetDatabase and delete them with execute_csharp in the meantime.",
265
+ },
266
+ {
267
+ id: "fix_duplicate_guid",
268
+ implemented: false,
269
+ status: "planned",
270
+ rules: [],
271
+ issueCodes: [],
272
+ safe: false,
273
+ guidance: "Not yet ported. No rule emits a duplicate_guid issue today. " +
274
+ "Inspect .meta files manually (or via execute_csharp) and regenerate the " +
275
+ "duplicated GUID on the less-referenced asset, then update references.",
276
+ },
277
+ {
278
+ id: "reassign_missing_texture",
279
+ implemented: false,
280
+ status: "planned",
281
+ rules: ["materials"],
282
+ issueCodes: [],
283
+ safe: false,
284
+ guidance: "Not yet ported — depends on the `materials` rule (deferred to M17). " +
285
+ "Use read_asset on the .mat file and execute_csharp to reassign the " +
286
+ "_MainTex / texture properties in the meantime.",
287
+ },
288
+ {
289
+ id: "reassign_missing_shader",
290
+ implemented: false,
291
+ status: "planned",
292
+ rules: ["materials"],
293
+ issueCodes: [],
294
+ safe: false,
295
+ guidance: "Not yet ported — depends on the `materials` rule (deferred to M17). " +
296
+ "Use find_references to locate the intended shader and execute_csharp " +
297
+ "to reassign m_Shader on the material in the meantime.",
298
+ },
299
+ ];
300
+ export const FIX_CATALOG = [
301
+ {
302
+ id: "remove_missing_script",
303
+ implemented: true,
304
+ status: "implemented",
305
+ rules: ["missing_references"],
306
+ issueCodes: ["missing_script"],
307
+ safe: true,
308
+ },
309
+ {
310
+ id: "relink_broken_guid",
311
+ implemented: true,
312
+ status: "implemented",
313
+ rules: ["missing_references", "dependencies"],
314
+ issueCodes: ["missing_guid", "broken_dependency"],
315
+ // Mutates references and a wrong choice silently rewires the asset graph;
316
+ // never auto-applied under enforce. Apply via apply_fix with target_guid.
317
+ safe: false,
318
+ },
319
+ ...PLANNED_FIXES,
320
+ ];
321
+ export function implementedRules() {
322
+ return RULE_CATALOG.filter((r) => r.implemented);
323
+ }
324
+ export function plannedRules() {
325
+ return RULE_CATALOG.filter((r) => !r.implemented);
326
+ }
327
+ export function implementedFixes() {
328
+ return FIX_CATALOG.filter((f) => f.implemented);
329
+ }
330
+ //# sourceMappingURL=rule-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-catalog.js","sourceRoot":"","sources":["../../src/capabilities/rule-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Catalog entry for one tool group.
3
+ */
4
+ export interface ToolGroup {
5
+ /** Stable lowercase group id (e.g. `"core"`, `"navigation"`). */
6
+ id: string;
7
+ /** Short human-readable description of what the group covers. */
8
+ description: string;
9
+ /**
10
+ * True when the group is enabled by default for every fresh session.
11
+ * Only `"core"` is default-on; everything else must be activated.
12
+ */
13
+ defaultEnabled: boolean;
14
+ /**
15
+ * Optional bridge compile define (`UNITY_OPEN_MCP_EXT_<DOMAIN>`). When
16
+ * present, capabilities reports `available: false (dependency missing)`
17
+ * for the group if the bridge did not compile the domain in. Omitted for
18
+ * groups that ship in every bridge build (core, gate-and-verify, etc.).
19
+ */
20
+ domainDefine?: string;
21
+ /**
22
+ * Optional Unity package name the group depends on. Surfaced in the
23
+ * capabilities `available: false` message so the agent knows what to
24
+ * install to make the group's tools compile in.
25
+ */
26
+ unityPackage?: string;
27
+ }
28
+ /**
29
+ * Ordered catalog. Order is preserved in manage_tools / capabilities output
30
+ * so consumers render a stable list.
31
+ */
32
+ export declare const TOOL_GROUPS: ToolGroup[];
33
+ /**
34
+ * Set of group ids enabled by default for every fresh session.
35
+ * Per the resolved decision (M18 execution-plan.md), this is `core` only.
36
+ */
37
+ export declare const DEFAULT_ENABLED_GROUPS: ReadonlySet<string>;
38
+ /** All known group ids (validates activate / deactivate input). */
39
+ export declare const GROUP_IDS: ReadonlySet<string>;
40
+ export declare function getGroup(id: string): ToolGroup | undefined;
41
+ /**
42
+ * Resolve a tool name to its group id. Returns `null` for tools with no
43
+ * assignment (server meta-tools: capabilities, list_rules, generate_skill,
44
+ * manage_tools, pull_events, read_compile_errors). Null means "always
45
+ * visible" — manage_tools and ListTools never hide a null-group tool.
46
+ */
47
+ export declare function groupFor(toolName: string): string | null;
48
+ /**
49
+ * Inverse map: group id → sorted tool names. Used by manage_tools
50
+ * `list_groups` to enumerate every group with its tool roster. Tools with a
51
+ * null group are intentionally omitted (they are always-visible meta-tools).
52
+ */
53
+ export declare function groupToTools(): Record<string, string[]>;