unity-open-mcp 0.1.0 → 0.3.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 (447) hide show
  1. package/dist/agent-identity.d.ts +52 -0
  2. package/dist/agent-identity.js +115 -0
  3. package/dist/agent-identity.js.map +1 -0
  4. package/dist/batch-spawn.d.ts +7 -0
  5. package/dist/batch-spawn.js +155 -29
  6. package/dist/batch-spawn.js.map +1 -1
  7. package/dist/capabilities/build-capabilities.d.ts +45 -0
  8. package/dist/capabilities/build-capabilities.js +262 -27
  9. package/dist/capabilities/build-capabilities.js.map +1 -1
  10. package/dist/capabilities/cost-hints.d.ts +82 -0
  11. package/dist/capabilities/cost-hints.js +185 -0
  12. package/dist/capabilities/cost-hints.js.map +1 -0
  13. package/dist/capabilities/lifecycle.d.ts +40 -0
  14. package/dist/capabilities/lifecycle.js +353 -0
  15. package/dist/capabilities/lifecycle.js.map +1 -0
  16. package/dist/capabilities/rule-catalog.d.ts +13 -1
  17. package/dist/capabilities/rule-catalog.js +620 -75
  18. package/dist/capabilities/rule-catalog.js.map +1 -1
  19. package/dist/capabilities/tool-groups.d.ts +21 -0
  20. package/dist/capabilities/tool-groups.js +411 -14
  21. package/dist/capabilities/tool-groups.js.map +1 -1
  22. package/dist/cli/args.d.ts +32 -1
  23. package/dist/cli/args.js +201 -4
  24. package/dist/cli/args.js.map +1 -1
  25. package/dist/cli/cli.d.ts +21 -0
  26. package/dist/cli/cli.js +68 -5
  27. package/dist/cli/cli.js.map +1 -1
  28. package/dist/cli/commands.d.ts +33 -0
  29. package/dist/cli/commands.js +400 -0
  30. package/dist/cli/commands.js.map +1 -1
  31. package/dist/cli/exit-codes.d.ts +43 -0
  32. package/dist/cli/exit-codes.js +78 -0
  33. package/dist/cli/exit-codes.js.map +1 -0
  34. package/dist/compile-verify.d.ts +65 -0
  35. package/dist/compile-verify.js +94 -0
  36. package/dist/compile-verify.js.map +1 -0
  37. package/dist/compressible-router.js +64 -11
  38. package/dist/compressible-router.js.map +1 -1
  39. package/dist/compression/asset-model.d.ts +15 -0
  40. package/dist/compression/compact.d.ts +5 -4
  41. package/dist/compression/compact.js +13 -10
  42. package/dist/compression/compact.js.map +1 -1
  43. package/dist/dialog-dismiss.d.ts +127 -74
  44. package/dist/dialog-dismiss.js +427 -170
  45. package/dist/dialog-dismiss.js.map +1 -1
  46. package/dist/dialog-policy.d.ts +141 -0
  47. package/dist/dialog-policy.js +345 -0
  48. package/dist/dialog-policy.js.map +1 -0
  49. package/dist/gate-error.d.ts +6 -0
  50. package/dist/gate-error.js +13 -2
  51. package/dist/gate-error.js.map +1 -1
  52. package/dist/hub-control.d.ts +247 -0
  53. package/dist/hub-control.js +703 -0
  54. package/dist/hub-control.js.map +1 -0
  55. package/dist/index.d.ts +1 -1
  56. package/dist/index.js +46 -12
  57. package/dist/index.js.map +1 -1
  58. package/dist/live-client.d.ts +123 -3
  59. package/dist/live-client.js +526 -69
  60. package/dist/live-client.js.map +1 -1
  61. package/dist/offline.d.ts +105 -0
  62. package/dist/offline.js +816 -23
  63. package/dist/offline.js.map +1 -1
  64. package/dist/output-profile.d.ts +110 -0
  65. package/dist/output-profile.js +255 -0
  66. package/dist/output-profile.js.map +1 -0
  67. package/dist/retry-policy.d.ts +72 -0
  68. package/dist/retry-policy.js +146 -0
  69. package/dist/retry-policy.js.map +1 -0
  70. package/dist/routers.d.ts +4 -0
  71. package/dist/routers.js +2 -2
  72. package/dist/routers.js.map +1 -1
  73. package/dist/server-instructions.d.ts +18 -0
  74. package/dist/server-instructions.js +145 -0
  75. package/dist/server-instructions.js.map +1 -0
  76. package/dist/tool-router.d.ts +38 -1
  77. package/dist/tool-router.js +690 -37
  78. package/dist/tool-router.js.map +1 -1
  79. package/dist/tool-session-state.d.ts +37 -0
  80. package/dist/tool-session-state.js +78 -1
  81. package/dist/tool-session-state.js.map +1 -1
  82. package/dist/tools/apply-fix.js +16 -2
  83. package/dist/tools/apply-fix.js.map +1 -1
  84. package/dist/tools/asmdef-create.d.ts +2 -0
  85. package/dist/tools/asmdef-create.js +114 -0
  86. package/dist/tools/asmdef-create.js.map +1 -0
  87. package/dist/tools/asmdef-get.d.ts +2 -0
  88. package/dist/tools/asmdef-get.js +31 -0
  89. package/dist/tools/asmdef-get.js.map +1 -0
  90. package/dist/tools/asmdef-list.d.ts +2 -0
  91. package/dist/tools/asmdef-list.js +41 -0
  92. package/dist/tools/asmdef-list.js.map +1 -0
  93. package/dist/tools/asmdef-modify.d.ts +2 -0
  94. package/dist/tools/asmdef-modify.js +108 -0
  95. package/dist/tools/asmdef-modify.js.map +1 -0
  96. package/dist/tools/audio-listener-get.d.ts +2 -0
  97. package/dist/tools/audio-listener-get.js +16 -0
  98. package/dist/tools/audio-listener-get.js.map +1 -0
  99. package/dist/tools/audio-mixer-get-parameter.d.ts +2 -0
  100. package/dist/tools/audio-mixer-get-parameter.js +25 -0
  101. package/dist/tools/audio-mixer-get-parameter.js.map +1 -0
  102. package/dist/tools/audio-mixer-set-parameter.d.ts +2 -0
  103. package/dist/tools/audio-mixer-set-parameter.js +44 -0
  104. package/dist/tools/audio-mixer-set-parameter.js.map +1 -0
  105. package/dist/tools/audio-source-add.d.ts +2 -0
  106. package/dist/tools/audio-source-add.js +94 -0
  107. package/dist/tools/audio-source-add.js.map +1 -0
  108. package/dist/tools/audio-source-modify.d.ts +2 -0
  109. package/dist/tools/audio-source-modify.js +52 -0
  110. package/dist/tools/audio-source-modify.js.map +1 -0
  111. package/dist/tools/bridge-status.js +16 -6
  112. package/dist/tools/bridge-status.js.map +1 -1
  113. package/dist/tools/build-get-active-target.js +1 -2
  114. package/dist/tools/build-get-active-target.js.map +1 -1
  115. package/dist/tools/build-get-defines.js +1 -1
  116. package/dist/tools/build-get-defines.js.map +1 -1
  117. package/dist/tools/build-get-scenes.js +1 -2
  118. package/dist/tools/build-get-scenes.js.map +1 -1
  119. package/dist/tools/build-get-targets.js +1 -1
  120. package/dist/tools/build-get-targets.js.map +1 -1
  121. package/dist/tools/build-set-defines.js +1 -2
  122. package/dist/tools/build-set-defines.js.map +1 -1
  123. package/dist/tools/build-set-scenes.js +1 -1
  124. package/dist/tools/build-set-scenes.js.map +1 -1
  125. package/dist/tools/build-set-target.js +1 -1
  126. package/dist/tools/build-set-target.js.map +1 -1
  127. package/dist/tools/build-start.js +0 -1
  128. package/dist/tools/build-start.js.map +1 -1
  129. package/dist/tools/cinemachine-brain-ensure.d.ts +2 -0
  130. package/dist/tools/cinemachine-brain-ensure.js +27 -0
  131. package/dist/tools/cinemachine-brain-ensure.js.map +1 -0
  132. package/dist/tools/cinemachine-camera-list.d.ts +2 -0
  133. package/dist/tools/cinemachine-camera-list.js +15 -0
  134. package/dist/tools/cinemachine-camera-list.js.map +1 -0
  135. package/dist/tools/cinemachine-create-camera.d.ts +2 -0
  136. package/dist/tools/cinemachine-create-camera.js +55 -0
  137. package/dist/tools/cinemachine-create-camera.js.map +1 -0
  138. package/dist/tools/cinemachine-set-body.d.ts +2 -0
  139. package/dist/tools/cinemachine-set-body.js +33 -0
  140. package/dist/tools/cinemachine-set-body.js.map +1 -0
  141. package/dist/tools/cinemachine-set-lens.d.ts +2 -0
  142. package/dist/tools/cinemachine-set-lens.js +41 -0
  143. package/dist/tools/cinemachine-set-lens.js.map +1 -0
  144. package/dist/tools/cinemachine-set-noise.d.ts +2 -0
  145. package/dist/tools/cinemachine-set-noise.js +31 -0
  146. package/dist/tools/cinemachine-set-noise.js.map +1 -0
  147. package/dist/tools/cinemachine-set-targets.d.ts +2 -0
  148. package/dist/tools/cinemachine-set-targets.js +30 -0
  149. package/dist/tools/cinemachine-set-targets.js.map +1 -0
  150. package/dist/tools/console-log.js +2 -2
  151. package/dist/tools/console-log.js.map +1 -1
  152. package/dist/tools/constraint-add.d.ts +2 -0
  153. package/dist/tools/constraint-add.js +85 -0
  154. package/dist/tools/constraint-add.js.map +1 -0
  155. package/dist/tools/dependencies.d.ts +2 -0
  156. package/dist/tools/dependencies.js +76 -0
  157. package/dist/tools/dependencies.js.map +1 -0
  158. package/dist/tools/editor-add-tag.js +2 -3
  159. package/dist/tools/editor-add-tag.js.map +1 -1
  160. package/dist/tools/editor-clear-history.d.ts +2 -0
  161. package/dist/tools/editor-clear-history.js +25 -0
  162. package/dist/tools/editor-clear-history.js.map +1 -0
  163. package/dist/tools/editor-get-layers.js +3 -3
  164. package/dist/tools/editor-get-layers.js.map +1 -1
  165. package/dist/tools/editor-get-tags.js +2 -2
  166. package/dist/tools/editor-get-tags.js.map +1 -1
  167. package/dist/tools/editor-redo.js +2 -3
  168. package/dist/tools/editor-redo.js.map +1 -1
  169. package/dist/tools/editor-undo-history.d.ts +2 -0
  170. package/dist/tools/editor-undo-history.js +21 -0
  171. package/dist/tools/editor-undo-history.js.map +1 -0
  172. package/dist/tools/editor-undo.js +3 -3
  173. package/dist/tools/editor-undo.js.map +1 -1
  174. package/dist/tools/editorprefs-delete.d.ts +2 -0
  175. package/dist/tools/editorprefs-delete.js +23 -0
  176. package/dist/tools/editorprefs-delete.js.map +1 -0
  177. package/dist/tools/editorprefs-get.d.ts +2 -0
  178. package/dist/tools/editorprefs-get.js +28 -0
  179. package/dist/tools/editorprefs-get.js.map +1 -0
  180. package/dist/tools/editorprefs-set.d.ts +2 -0
  181. package/dist/tools/editorprefs-set.js +33 -0
  182. package/dist/tools/editorprefs-set.js.map +1 -0
  183. package/dist/tools/find-references.js +24 -4
  184. package/dist/tools/find-references.js.map +1 -1
  185. package/dist/tools/frame-debugger.d.ts +2 -0
  186. package/dist/tools/frame-debugger.js +48 -0
  187. package/dist/tools/frame-debugger.js.map +1 -0
  188. package/dist/tools/gameobject-modify.js +69 -2
  189. package/dist/tools/gameobject-modify.js.map +1 -1
  190. package/dist/tools/gate-budget-estimate.js +2 -1
  191. package/dist/tools/gate-budget-estimate.js.map +1 -1
  192. package/dist/tools/hub-available-releases.d.ts +2 -0
  193. package/dist/tools/hub-available-releases.js +23 -0
  194. package/dist/tools/hub-available-releases.js.map +1 -0
  195. package/dist/tools/hub-get-install-path.d.ts +2 -0
  196. package/dist/tools/hub-get-install-path.js +20 -0
  197. package/dist/tools/hub-get-install-path.js.map +1 -0
  198. package/dist/tools/hub-install-editor.d.ts +2 -0
  199. package/dist/tools/hub-install-editor.js +47 -0
  200. package/dist/tools/hub-install-editor.js.map +1 -0
  201. package/dist/tools/hub-install-modules.d.ts +2 -0
  202. package/dist/tools/hub-install-modules.js +44 -0
  203. package/dist/tools/hub-install-modules.js.map +1 -0
  204. package/dist/tools/hub-list-editors.d.ts +2 -0
  205. package/dist/tools/hub-list-editors.js +25 -0
  206. package/dist/tools/hub-list-editors.js.map +1 -0
  207. package/dist/tools/hub-set-install-path.d.ts +2 -0
  208. package/dist/tools/hub-set-install-path.js +30 -0
  209. package/dist/tools/hub-set-install-path.js.map +1 -0
  210. package/dist/tools/impact-preview.js +2 -2
  211. package/dist/tools/impact-preview.js.map +1 -1
  212. package/dist/tools/index.d.ts +14 -0
  213. package/dist/tools/index.js +534 -24
  214. package/dist/tools/index.js.map +1 -1
  215. package/dist/tools/light-add.d.ts +2 -0
  216. package/dist/tools/light-add.js +73 -0
  217. package/dist/tools/light-add.js.map +1 -0
  218. package/dist/tools/light-modify.d.ts +2 -0
  219. package/dist/tools/light-modify.js +36 -0
  220. package/dist/tools/light-modify.js.map +1 -0
  221. package/dist/tools/light-set.d.ts +2 -0
  222. package/dist/tools/light-set.js +54 -0
  223. package/dist/tools/light-set.js.map +1 -0
  224. package/dist/tools/list-assets-of-type.d.ts +2 -0
  225. package/dist/tools/list-assets-of-type.js +54 -0
  226. package/dist/tools/list-assets-of-type.js.map +1 -0
  227. package/dist/tools/lod-add-level.d.ts +2 -0
  228. package/dist/tools/lod-add-level.js +66 -0
  229. package/dist/tools/lod-add-level.js.map +1 -0
  230. package/dist/tools/lod-group-configure.d.ts +2 -0
  231. package/dist/tools/lod-group-configure.js +64 -0
  232. package/dist/tools/lod-group-configure.js.map +1 -0
  233. package/dist/tools/manage-tools.js +7 -5
  234. package/dist/tools/manage-tools.js.map +1 -1
  235. package/dist/tools/memory-snapshot-capture.d.ts +2 -0
  236. package/dist/tools/memory-snapshot-capture.js +61 -0
  237. package/dist/tools/memory-snapshot-capture.js.map +1 -0
  238. package/dist/tools/mutation-explain.js +2 -2
  239. package/dist/tools/mutation-explain.js.map +1 -1
  240. package/dist/tools/playerprefs-delete.d.ts +2 -0
  241. package/dist/tools/playerprefs-delete.js +24 -0
  242. package/dist/tools/playerprefs-delete.js.map +1 -0
  243. package/dist/tools/playerprefs-get.d.ts +2 -0
  244. package/dist/tools/playerprefs-get.js +28 -0
  245. package/dist/tools/playerprefs-get.js.map +1 -0
  246. package/dist/tools/playerprefs-set.d.ts +2 -0
  247. package/dist/tools/playerprefs-set.js +37 -0
  248. package/dist/tools/playerprefs-set.js.map +1 -0
  249. package/dist/tools/profiler-capture-frame.d.ts +2 -0
  250. package/dist/tools/profiler-capture-frame.js +75 -0
  251. package/dist/tools/profiler-capture-frame.js.map +1 -0
  252. package/dist/tools/profiler-clear-data.js +1 -2
  253. package/dist/tools/profiler-clear-data.js.map +1 -1
  254. package/dist/tools/profiler-enable-module.js +4 -5
  255. package/dist/tools/profiler-enable-module.js.map +1 -1
  256. package/dist/tools/profiler-get-status.js +5 -6
  257. package/dist/tools/profiler-get-status.js.map +1 -1
  258. package/dist/tools/profiler-load-data.js +4 -5
  259. package/dist/tools/profiler-load-data.js.map +1 -1
  260. package/dist/tools/profiler-save-data.js +3 -3
  261. package/dist/tools/profiler-save-data.js.map +1 -1
  262. package/dist/tools/profiler-set-config.js +5 -5
  263. package/dist/tools/profiler-set-config.js.map +1 -1
  264. package/dist/tools/profiler-start.js +4 -4
  265. package/dist/tools/profiler-start.js.map +1 -1
  266. package/dist/tools/profiler-stop.js +2 -3
  267. package/dist/tools/profiler-stop.js.map +1 -1
  268. package/dist/tools/read-asset.js +21 -3
  269. package/dist/tools/read-asset.js.map +1 -1
  270. package/dist/tools/reflection-probe-bake.d.ts +2 -0
  271. package/dist/tools/reflection-probe-bake.js +47 -0
  272. package/dist/tools/reflection-probe-bake.js.map +1 -0
  273. package/dist/tools/reflection-probe-get.d.ts +2 -0
  274. package/dist/tools/reflection-probe-get.js +19 -0
  275. package/dist/tools/reflection-probe-get.js.map +1 -0
  276. package/dist/tools/reimport-package.d.ts +2 -0
  277. package/dist/tools/reimport-package.js +53 -0
  278. package/dist/tools/reimport-package.js.map +1 -0
  279. package/dist/tools/scan-paths.js +19 -0
  280. package/dist/tools/scan-paths.js.map +1 -1
  281. package/dist/tools/scene-focus.js +1 -1
  282. package/dist/tools/scene-focus.js.map +1 -1
  283. package/dist/tools/scene-get-data.js +31 -13
  284. package/dist/tools/scene-get-data.js.map +1 -1
  285. package/dist/tools/scene-get-dirty-summary.js +1 -1
  286. package/dist/tools/scene-get-dirty-summary.js.map +1 -1
  287. package/dist/tools/sceneview-get-camera.d.ts +2 -0
  288. package/dist/tools/sceneview-get-camera.js +16 -0
  289. package/dist/tools/sceneview-get-camera.js.map +1 -0
  290. package/dist/tools/sceneview-set-camera.d.ts +2 -0
  291. package/dist/tools/sceneview-set-camera.js +58 -0
  292. package/dist/tools/sceneview-set-camera.js.map +1 -0
  293. package/dist/tools/script-write.js +2 -2
  294. package/dist/tools/script-write.js.map +1 -1
  295. package/dist/tools/scriptableobject-create.d.ts +2 -0
  296. package/dist/tools/scriptableobject-create.js +86 -0
  297. package/dist/tools/scriptableobject-create.js.map +1 -0
  298. package/dist/tools/search-assets.js +20 -3
  299. package/dist/tools/search-assets.js.map +1 -1
  300. package/dist/tools/settings-get-lighting.js +3 -4
  301. package/dist/tools/settings-get-lighting.js.map +1 -1
  302. package/dist/tools/settings-get-player.js +2 -2
  303. package/dist/tools/settings-get-player.js.map +1 -1
  304. package/dist/tools/settings-get-quality.js +1 -2
  305. package/dist/tools/settings-get-quality.js.map +1 -1
  306. package/dist/tools/settings-get-render-pipeline.d.ts +2 -0
  307. package/dist/tools/settings-get-render-pipeline.js +19 -0
  308. package/dist/tools/settings-get-render-pipeline.js.map +1 -0
  309. package/dist/tools/settings-get-time.d.ts +2 -0
  310. package/dist/tools/settings-get-time.js +18 -0
  311. package/dist/tools/settings-get-time.js.map +1 -0
  312. package/dist/tools/settings-set-lighting.js +5 -5
  313. package/dist/tools/settings-set-lighting.js.map +1 -1
  314. package/dist/tools/settings-set-physics.js +2 -2
  315. package/dist/tools/settings-set-physics.js.map +1 -1
  316. package/dist/tools/settings-set-player.js +2 -2
  317. package/dist/tools/settings-set-player.js.map +1 -1
  318. package/dist/tools/settings-set-quality-level.d.ts +2 -0
  319. package/dist/tools/settings-set-quality-level.js +44 -0
  320. package/dist/tools/settings-set-quality-level.js.map +1 -0
  321. package/dist/tools/settings-set-quality.js +2 -2
  322. package/dist/tools/settings-set-quality.js.map +1 -1
  323. package/dist/tools/settings-set-time.d.ts +2 -0
  324. package/dist/tools/settings-set-time.js +53 -0
  325. package/dist/tools/settings-set-time.js.map +1 -0
  326. package/dist/tools/shader-get-data.js +3 -3
  327. package/dist/tools/shader-get-data.js.map +1 -1
  328. package/dist/tools/shader-graph-create.d.ts +2 -0
  329. package/dist/tools/shader-graph-create.js +40 -0
  330. package/dist/tools/shader-graph-create.js.map +1 -0
  331. package/dist/tools/shader-graph-node-add.d.ts +2 -0
  332. package/dist/tools/shader-graph-node-add.js +50 -0
  333. package/dist/tools/shader-graph-node-add.js.map +1 -0
  334. package/dist/tools/shader-graph-node-connect.d.ts +2 -0
  335. package/dist/tools/shader-graph-node-connect.js +60 -0
  336. package/dist/tools/shader-graph-node-connect.js.map +1 -0
  337. package/dist/tools/shader-graph-open.d.ts +2 -0
  338. package/dist/tools/shader-graph-open.js +29 -0
  339. package/dist/tools/shader-graph-open.js.map +1 -0
  340. package/dist/tools/skybox-get.d.ts +2 -0
  341. package/dist/tools/skybox-get.js +13 -0
  342. package/dist/tools/skybox-get.js.map +1 -0
  343. package/dist/tools/skybox-set.d.ts +2 -0
  344. package/dist/tools/skybox-set.js +34 -0
  345. package/dist/tools/skybox-set.js.map +1 -0
  346. package/dist/tools/spriteatlas-add-packable.d.ts +2 -0
  347. package/dist/tools/spriteatlas-add-packable.js +40 -0
  348. package/dist/tools/spriteatlas-add-packable.js.map +1 -0
  349. package/dist/tools/spriteatlas-create.d.ts +2 -0
  350. package/dist/tools/spriteatlas-create.js +41 -0
  351. package/dist/tools/spriteatlas-create.js.map +1 -0
  352. package/dist/tools/spriteatlas-delete.d.ts +2 -0
  353. package/dist/tools/spriteatlas-delete.js +32 -0
  354. package/dist/tools/spriteatlas-delete.js.map +1 -0
  355. package/dist/tools/spriteatlas-get.d.ts +2 -0
  356. package/dist/tools/spriteatlas-get.js +23 -0
  357. package/dist/tools/spriteatlas-get.js.map +1 -0
  358. package/dist/tools/spriteatlas-list.d.ts +2 -0
  359. package/dist/tools/spriteatlas-list.js +21 -0
  360. package/dist/tools/spriteatlas-list.js.map +1 -0
  361. package/dist/tools/spriteatlas-modify.d.ts +2 -0
  362. package/dist/tools/spriteatlas-modify.js +55 -0
  363. package/dist/tools/spriteatlas-modify.js.map +1 -0
  364. package/dist/tools/spriteatlas-remove-packable.d.ts +2 -0
  365. package/dist/tools/spriteatlas-remove-packable.js +39 -0
  366. package/dist/tools/spriteatlas-remove-packable.js.map +1 -0
  367. package/dist/tools/terrain-create.d.ts +2 -0
  368. package/dist/tools/terrain-create.js +73 -0
  369. package/dist/tools/terrain-create.js.map +1 -0
  370. package/dist/tools/terrain-paint-layer.d.ts +2 -0
  371. package/dist/tools/terrain-paint-layer.js +85 -0
  372. package/dist/tools/terrain-paint-layer.js.map +1 -0
  373. package/dist/tools/terrain-place-trees.d.ts +2 -0
  374. package/dist/tools/terrain-place-trees.js +92 -0
  375. package/dist/tools/terrain-place-trees.js.map +1 -0
  376. package/dist/tools/terrain-set-heights.d.ts +2 -0
  377. package/dist/tools/terrain-set-heights.js +68 -0
  378. package/dist/tools/terrain-set-heights.js.map +1 -0
  379. package/dist/tools/terrain-set-neighbors.d.ts +2 -0
  380. package/dist/tools/terrain-set-neighbors.js +65 -0
  381. package/dist/tools/terrain-set-neighbors.js.map +1 -0
  382. package/dist/tools/texture-get-importer.d.ts +2 -0
  383. package/dist/tools/texture-get-importer.js +25 -0
  384. package/dist/tools/texture-get-importer.js.map +1 -0
  385. package/dist/tools/texture-get.d.ts +2 -0
  386. package/dist/tools/texture-get.js +23 -0
  387. package/dist/tools/texture-get.js.map +1 -0
  388. package/dist/tools/texture-reimport.d.ts +2 -0
  389. package/dist/tools/texture-reimport.js +33 -0
  390. package/dist/tools/texture-reimport.js.map +1 -0
  391. package/dist/tools/texture-set-import.d.ts +2 -0
  392. package/dist/tools/texture-set-import.js +52 -0
  393. package/dist/tools/texture-set-import.js.map +1 -0
  394. package/dist/tools/tilemap-box-fill.d.ts +2 -0
  395. package/dist/tools/tilemap-box-fill.js +32 -0
  396. package/dist/tools/tilemap-box-fill.js.map +1 -0
  397. package/dist/tools/tilemap-create-rule-tile.d.ts +2 -0
  398. package/dist/tools/tilemap-create-rule-tile.js +39 -0
  399. package/dist/tools/tilemap-create-rule-tile.js.map +1 -0
  400. package/dist/tools/tilemap-create-tile-asset.d.ts +2 -0
  401. package/dist/tools/tilemap-create-tile-asset.js +35 -0
  402. package/dist/tools/tilemap-create-tile-asset.js.map +1 -0
  403. package/dist/tools/tilemap-create.d.ts +2 -0
  404. package/dist/tools/tilemap-create.js +32 -0
  405. package/dist/tools/tilemap-create.js.map +1 -0
  406. package/dist/tools/tilemap-set-tile.d.ts +2 -0
  407. package/dist/tools/tilemap-set-tile.js +33 -0
  408. package/dist/tools/tilemap-set-tile.js.map +1 -0
  409. package/dist/tools/timeline-clip-add.d.ts +2 -0
  410. package/dist/tools/timeline-clip-add.js +43 -0
  411. package/dist/tools/timeline-clip-add.js.map +1 -0
  412. package/dist/tools/timeline-create.d.ts +2 -0
  413. package/dist/tools/timeline-create.js +32 -0
  414. package/dist/tools/timeline-create.js.map +1 -0
  415. package/dist/tools/timeline-director-bind.d.ts +2 -0
  416. package/dist/tools/timeline-director-bind.js +34 -0
  417. package/dist/tools/timeline-director-bind.js.map +1 -0
  418. package/dist/tools/timeline-modify.d.ts +2 -0
  419. package/dist/tools/timeline-modify.js +44 -0
  420. package/dist/tools/timeline-modify.js.map +1 -0
  421. package/dist/tools/timeline-track-add.d.ts +2 -0
  422. package/dist/tools/timeline-track-add.js +37 -0
  423. package/dist/tools/timeline-track-add.js.map +1 -0
  424. package/dist/tools/ui-canvas-add.d.ts +2 -0
  425. package/dist/tools/ui-canvas-add.js +66 -0
  426. package/dist/tools/ui-canvas-add.js.map +1 -0
  427. package/dist/tools/ui-element-add.d.ts +2 -0
  428. package/dist/tools/ui-element-add.js +65 -0
  429. package/dist/tools/ui-element-add.js.map +1 -0
  430. package/dist/tools/ui-element-modify.d.ts +2 -0
  431. package/dist/tools/ui-element-modify.js +59 -0
  432. package/dist/tools/ui-element-modify.js.map +1 -0
  433. package/dist/tools/ui-layout-group-add.d.ts +2 -0
  434. package/dist/tools/ui-layout-group-add.js +80 -0
  435. package/dist/tools/ui-layout-group-add.js.map +1 -0
  436. package/dist/tools/validate-edit.js +22 -1
  437. package/dist/tools/validate-edit.js.map +1 -1
  438. package/dist/tools/vfx-block-edit.d.ts +2 -0
  439. package/dist/tools/vfx-block-edit.js +51 -0
  440. package/dist/tools/vfx-block-edit.js.map +1 -0
  441. package/dist/tools/vfx-list.d.ts +2 -0
  442. package/dist/tools/vfx-list.js +31 -0
  443. package/dist/tools/vfx-list.js.map +1 -0
  444. package/dist/tools/vfx-open.d.ts +2 -0
  445. package/dist/tools/vfx-open.js +29 -0
  446. package/dist/tools/vfx-open.js.map +1 -0
  447. package/package.json +1 -1
@@ -1,42 +1,57 @@
1
+ import { type DialogPolicy, type DialogKind } from "./dialog-policy.js";
1
2
  /**
2
- * Supported `process.platform` values for the launch-errors dialog dismiss
3
- * helper. Narrowed alias of NodeJS.Platform — keeps the platform-dispatch
4
- * table exhaustive in tests without forcing callers to import a Node-internal
5
- * type.
3
+ * Supported `process.platform` values for the dialog dismiss helper. Narrowed
4
+ * alias of NodeJS.Platform — keeps the platform-dispatch table exhaustive in
5
+ * tests without forcing callers to import a Node-internal type.
6
6
  */
7
7
  export type DismissPlatform = "win32" | "darwin" | "linux";
8
8
  /**
9
9
  * Outcome of a single dismiss attempt against the running OS desktop.
10
10
  *
11
- * `dismissed`: the dialog was found AND a click was dispatched successfully.
11
+ * `dismissed`: a dialog was found AND a click was dispatched successfully.
12
12
  *
13
- * `not-found`: no matching dialog was visible on this poll tick.
13
+ * `not-found`: no dismissable dialog was visible on this poll tick (either no
14
+ * modal at all, or a known modal whose policy has no matching button).
14
15
  *
15
- * `error`: an unexpected platform error happened (a required tool was
16
- * missing, a syscall failed). The caller logs it once and continues with
17
- * `not-found` semantics — the dialog may simply not be open yet, and a
18
- * single transient error must not abort the whole launch flow.
16
+ * `blocked`: a dialog was found that the policy explicitly declines to click
17
+ * (currently only project_upgrade without the opt-in). The caller logs an
18
+ * audit line and keeps polling — the dialog is still up and may need a human.
19
+ *
20
+ * `error`: an unexpected platform error happened (a required tool was missing,
21
+ * a syscall failed). The caller logs it once and continues with `not-found`
22
+ * semantics — the dialog may simply not be open yet, and a single transient
23
+ * error must not abort the whole launch flow.
19
24
  */
20
25
  export type DismissOutcome = {
21
26
  kind: "dismissed";
22
27
  button: string;
28
+ dialog: DialogKind;
23
29
  } | {
24
30
  kind: "not-found";
31
+ } | {
32
+ kind: "blocked";
33
+ dialog: DialogKind;
34
+ message: string;
25
35
  } | {
26
36
  kind: "error";
27
37
  message: string;
28
38
  };
29
39
  /**
30
40
  * Window-title fragments matched against the Unity launch-errors dialog.
31
- * Both legacy and current strings are listed so the matcher stays resilient
32
- * across Unity versions. The match is case-insensitive and substring-based
33
- * Unity's actual title varies by version but always contains one of these.
41
+ * Kept as the M13 T4.5 back-compat export (the launch-errors subset of
42
+ * {@link DIALOG_TITLE_FRAGMENTS}); the generalized matcher now consults the
43
+ * full per-kind table via {@link classifyDialogTitle}.
34
44
  *
35
- * Exposed so tests can assert the matcher knows about both spellings without
36
- * grepping the implementation.
45
+ * Both legacy and current strings are listed so the matcher stays resilient
46
+ * across Unity versions. The match is case-insensitive and substring-based.
37
47
  */
38
48
  export declare const LAUNCH_ERROR_DIALOG_TITLE_FRAGMENTS: readonly string[];
39
- /** The button label this helper presses to dismiss the dialog. */
49
+ /**
50
+ * The button label this helper presses to dismiss the launch-errors dialog
51
+ * under the default (`ignore`) policy. Preserved from M13 T4.5 for back-compat
52
+ * with tests and any external references; the generalized path now selects
53
+ * the button via {@link preferenceTokensForPolicy}.
54
+ */
40
55
  export declare const DISMISS_BUTTON_LABEL = "Ignore";
41
56
  /**
42
57
  * Producer-side prefixes for error messages that callers treat as permanent
@@ -44,59 +59,83 @@ export declare const DISMISS_BUTTON_LABEL = "Ignore";
44
59
  * bailout matcher references the SAME literal as the producers.
45
60
  */
46
61
  export declare const LINUX_XDOTOOL_MISSING_PREFIX = "xdotool not found on PATH";
47
- export declare const UNSUPPORTED_PLATFORM_PREFIX = "Unsupported platform for launch-errors auto-dismiss";
62
+ export declare const UNSUPPORTED_PLATFORM_PREFIX = "Unsupported platform for Unity startup-dialog auto-dismiss";
63
+ /** Options threaded through every platform probe. */
64
+ export interface DismissProbeOptions {
65
+ platform: DismissPlatform;
66
+ policy: DialogPolicy;
67
+ allowProjectUpgrade: boolean;
68
+ }
48
69
  /**
49
- * Try once to find and dismiss the Unity launch-errors dialog on the current
50
- * OS desktop. Pure-ish — performs a single OS call and returns; never blocks
51
- * past the underlying syscall's own timeout.
70
+ * Try once to find and dismiss a Unity startup dialog on the current OS
71
+ * desktop. Pure-ish — performs OS calls and returns; never blocks past the
72
+ * underlying syscall's own timeout.
52
73
  *
53
74
  * Library-safe: never throws (errors are returned in the `DismissOutcome`
54
75
  * union), never writes to stdout/stderr, never mutates global state.
55
76
  *
56
- * The helper is platform-dispatched:
57
- * - **Windows**: Win32 (`EnumWindows` / `EnumChildWindows` /
58
- * `GetWindowTextW` / `SendMessageW(BM_CLICK)`) driven from PowerShell so
59
- * we do not pull in a native node-gyp dependency.
60
- * - **macOS**: AppleScript via `osascript`. Requires Accessibility
61
- * permission for the terminal / `node` binary once.
62
- * - **Linux/X11**: `xdotool`. Wayland is deferred the error message calls
63
- * this out so the user does not waste time debugging.
77
+ * Platform-dispatched:
78
+ * - **Windows**: Win32 (`EnumWindows` / `EnumChildWindows` / `GetWindowTextW`
79
+ * / `SendMessageW(BM_CLICK)`) via PowerShell — no native node-gyp dep.
80
+ * - **macOS**: AppleScript via `osascript`. Clicks a named button per the
81
+ * policy token table (requires Accessibility perm once).
82
+ * - **Linux/X11**: `xdotool`. Wayland is unsupported — the error message
83
+ * calls this out so the user does not waste time debugging.
64
84
  */
65
- export declare function tryDismissLaunchErrorsDialog(platform?: DismissPlatform): Promise<DismissOutcome>;
85
+ export declare function tryDismissDialog(opts: DismissProbeOptions): Promise<DismissOutcome>;
66
86
  /**
67
- * The PowerShell payload that probes for the Unity launch-errors dialog and
68
- * clicks `Ignore` if found. Exported as a string (not a function) so tests
87
+ * The PowerShell payload that probes for any Unity startup dialog and clicks
88
+ * the policy-selected button. Exported as a string (not a function) so tests
69
89
  * can assert the script shape without launching PowerShell.
70
90
  *
71
91
  * Strategy:
72
92
  * 1. P/Invoke `EnumWindows` to enumerate every visible top-level window
73
93
  * owned by `Unity.exe`.
74
- * 2. Filter by title fragment (case-insensitive substring).
75
- * 3. Walk child windows with `EnumChildWindows`, looking for a Button
76
- * whose text equals `Ignore`.
77
- * 4. Send `BM_CLICK` (0x00F5) to the matched button. Preferred over a
78
- * synthesised mouse event it works even if the user is mid-click in
79
- * another app and does not steal focus.
80
- *
81
- * The script writes a single-token result to stdout:
82
- * - `dismissed:<button>` on success
83
- * - `not-found` when no dialog was matched
94
+ * 2. For each, normalize the title (alphanumeric lowercase) and match it
95
+ * against the embedded per-kind fragment table to classify it.
96
+ * 3. If the kind is in the blocked list → emit `blocked:<kind>` and skip
97
+ * the click. If the kind's token list is null skip (not-found).
98
+ * 4. Walk child windows with `EnumChildWindows`, find a Button whose
99
+ * normalized text contains one of the policy tokens (first match wins),
100
+ * and send `BM_CLICK` (0x00F5). Preferred over a synthesised mouse event
101
+ * works even if the user is mid-click in another app, no focus steal.
102
+ * 5. Unknown titles fall back to the generic per-policy token list.
103
+ *
104
+ * The script writes a single-token result to stdout (last non-empty line):
105
+ * - `dismissed:<button>:<kind>` on success
106
+ * - `blocked:<kind>` when a dialog was found but the policy declines
107
+ * - `not-found` when no dismissable dialog was matched
84
108
  * - `error:<message>` on an unexpected exception
109
+ *
110
+ * The token table is passed via stdin (one JSON blob) so the script body
111
+ * stays constant and testable; embedding it inline would bloat the assertion.
85
112
  */
86
- export declare const WINDOWS_DISMISS_PS_SCRIPT: string;
113
+ export declare const WINDOWS_DISMISS_PS_SCRIPT = "\n$ErrorActionPreference = 'Stop'\ntry {\n if (-not ([System.Management.Automation.PSTypeName]'UnityOpenMcp.Dialogs.Dismisser').Type) {\n Add-Type -TypeDefinition @\"\nusing System;\nusing System.Collections.Generic;\nusing System.Runtime.InteropServices;\nusing System.Text;\nnamespace UnityOpenMcp.Dialogs {\n public static class Dismisser {\n public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);\n [DllImport(\"user32.dll\")] static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);\n [DllImport(\"user32.dll\", CharSet=CharSet.Unicode)] static extern int GetWindowTextW(IntPtr hWnd, StringBuilder lpString, int nMaxCount);\n [DllImport(\"user32.dll\", CharSet=CharSet.Unicode)] static extern int GetClassNameW(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);\n [DllImport(\"user32.dll\")] static extern bool IsWindowVisible(IntPtr hWnd);\n [DllImport(\"user32.dll\")] static extern bool EnumChildWindows(IntPtr hWndParent, EnumWindowsProc lpEnumFunc, IntPtr lParam);\n [DllImport(\"user32.dll\")] static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);\n [DllImport(\"user32.dll\", CharSet=CharSet.Unicode)] static extern IntPtr SendMessageW(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);\n const uint BM_CLICK = 0x00F5;\n static string Norm(string s) {\n var sb = new StringBuilder(s.Length);\n foreach (var ch in s) {\n if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) {\n sb.Append(char.ToLowerInvariant(ch));\n }\n }\n return sb.ToString();\n }\n public static string TryDismiss(int[] unityPids, string tableJson) {\n var unityPidSet = new HashSet<uint>();\n for (int i = 0; i < unityPids.Length; i++) unityPidSet.Add((uint)unityPids[i]);\n var table = System.Text.Json.JsonSerializer.Deserialize<Types.Table>(tableJson);\n var candidates = new List<IntPtr>();\n var sb = new StringBuilder(512);\n EnumWindows((hWnd, lParam) => {\n if (!IsWindowVisible(hWnd)) return true;\n uint procId; GetWindowThreadProcessId(hWnd, out procId);\n if (!unityPidSet.Contains(procId)) return true;\n sb.Length = 0;\n GetWindowTextW(hWnd, sb, sb.Capacity);\n candidates.Add(hWnd);\n return true;\n }, IntPtr.Zero);\n foreach (var hWnd in candidates) {\n sb.Length = 0;\n GetWindowTextW(hWnd, sb, sb.Capacity);\n var title = sb.ToString();\n var norm = Norm(title);\n string kind = null;\n foreach (var kv in table.kinds) {\n foreach (var frag in kv.Value.fragments) {\n if (norm.Contains(frag)) { kind = kv.Key; break; }\n }\n if (kind != null) break;\n }\n string[] tokens = null;\n if (kind != null) {\n if (table.blocked.Contains(kind)) return \"blocked:\" + kind;\n if (!table.kinds[kind].tokensSpecified) continue;\n tokens = table.kinds[kind].tokens;\n } else {\n if (table.genericTokens.Length == 0) continue;\n tokens = table.genericTokens;\n }\n IntPtr matchedButton = IntPtr.Zero;\n string matchedText = null;\n EnumChildWindows(hWnd, (hChild, lParam) => {\n sb.Length = 0;\n GetClassNameW(hChild, sb, sb.Capacity);\n if (sb.ToString() != \"Button\") return true;\n sb.Length = 0;\n GetWindowTextW(hChild, sb, sb.Capacity);\n var text = sb.ToString();\n var textNorm = Norm(text);\n foreach (var token in tokens) {\n if (textNorm.Contains(token)) { matchedButton = hChild; matchedText = text; return false; }\n }\n return true;\n }, IntPtr.Zero);\n if (matchedButton == IntPtr.Zero) continue;\n SendMessageW(matchedButton, BM_CLICK, IntPtr.Zero, IntPtr.Zero);\n return \"dismissed:\" + matchedText + \":\" + (kind ?? \"unknown\");\n }\n return \"not-found\";\n }\n }\n}\n\"@\n }\n $unityPids = @(Get-Process -Name 'Unity' -ErrorAction SilentlyContinue | ForEach-Object { [int]$_.Id })\n if ($unityPids.Count -eq 0) { Write-Output 'not-found'; return }\n $tableJson = [Console]::In.ReadToEnd();\n Write-Output ([UnityOpenMcp.Dialogs.Dismisser]::TryDismiss([int[]]$unityPids, $tableJson))\n} catch {\n Write-Output ('error:' + $_.Exception.Message)\n}\n";
87
114
  /**
88
- * The AppleScript snippet used for the macOS dismiss path. Exposed as a
89
- * string for testability.
115
+ * The AppleScript template used for the macOS dismiss path. Exposed as a
116
+ * function of the token table so tests can assert the script shape without
117
+ * launching osascript.
90
118
  *
91
- * Strategy: iterate every window of the Unity application process and click
92
- * the first button titled `Ignore`. If Unity is not running OR no matching
93
- * button exists, the script reports `not-found`. Any AppleScript exception
94
- * (e.g. Accessibility permission not granted) is reported as `error:<msg>`.
119
+ * Strategy: iterate every window of the Unity process, normalize its title,
120
+ * classify it against the table, and click the first button whose normalized
121
+ * label contains a policy token. If the kind is blocked, emit `blocked:<kind>`
122
+ * without clicking. If Unity is not running OR no matching button exists, the
123
+ * script reports `not-found`. Any AppleScript exception (e.g. Accessibility
124
+ * permission not granted) is reported as `error:<msg>`.
95
125
  *
96
126
  * Requires the Terminal / `node` binary to have been granted Accessibility
97
127
  * permission in System Settings → Privacy & Security → Accessibility.
128
+ *
129
+ * The token table is JSON-escaped into the script header.
130
+ */
131
+ export declare function macosDismissAppleScript(opts: DismissProbeOptions): string;
132
+ /**
133
+ * Kept for M13 T4.5 back-compat — the original launch-errors-only AppleScript
134
+ * constant some external tests reference. Delegates to the generalized
135
+ * template under the default policy.
136
+ * @deprecated Use {@link macosDismissAppleScript} instead.
98
137
  */
99
- export declare const MACOS_DISMISS_APPLESCRIPT = "\non run\n try\n tell application \"System Events\"\n if not (exists process \"Unity\") then\n return \"not-found\"\n end if\n tell process \"Unity\"\n repeat with w in windows\n try\n if exists (button \"Ignore\" of w) then\n click button \"Ignore\" of w\n return \"dismissed:Ignore\"\n end if\n end try\n end repeat\n end tell\n end tell\n return \"not-found\"\n on error errMsg\n return \"error:\" & errMsg\n end try\nend run\n";
138
+ export declare const MACOS_DISMISS_APPLESCRIPT: string;
100
139
  /**
101
140
  * Reset the cached `xdotool` presence flag. Test-only — production code
102
141
  * never needs to call this.
@@ -116,31 +155,45 @@ export declare function regexEscapeForXdotool(s: string): string;
116
155
  * the result as `not-found`.
117
156
  *
118
157
  * Contract:
119
- * - `dismissed:<button>` → `{ kind: "dismissed", button }`
120
- * - `not-found` `{ kind: "not-found" }`
121
- * - `error:<message>` → `{ kind: "error", message }`
122
- * - any other / empty → `{ kind: "not-found" }` (defensive — a transient
123
- * parse miss is treated as "not yet visible" rather than aborting)
158
+ * - `dismissed:<button>:<kind>` → `{ kind: "dismissed", button, dialog }`
159
+ * - `dismissed:<button>` back-compat (T4.5) launch_errors
160
+ * - `blocked:<kind>` → `{ kind: "blocked", dialog, message }`
161
+ * - `not-found` → `{ kind: "not-found" }`
162
+ * - `error:<message>` → `{ kind: "error", message }`
163
+ * - any other / empty → `{ kind: "not-found" }` (defensive — a
164
+ * transient parse miss is treated as "not yet visible" rather than abort)
124
165
  */
125
166
  export declare function parseDismissOutput(stdout: string): DismissOutcome;
126
- /** Default dismiss probe timeout — Unity-MCP parity (30s overall budget). */
167
+ /** Default dismiss probe timeout (30s overall budget). */
127
168
  export declare const DEFAULT_DISMISS_TIMEOUT_MS = 30000;
128
- /** Default dismiss probe poll interval — Unity-MCP parity (1.5s tick). */
169
+ /** Default dismiss probe poll interval (1.5s tick). */
129
170
  export declare const DEFAULT_DISMISS_INTERVAL_MS = 1500;
130
171
  /**
131
172
  * Resolve the dismiss-feature config from the environment.
132
173
  *
133
174
  * - `UNITY_OPEN_MCP_NO_AUTO_DISMISS_LAUNCH_ERRORS=1` disables the feature
134
- * entirely (preserves pre-feature behaviour — no OS clicks).
175
+ * entirely (preserves the pre-T4.5 baseline — no OS clicks). Kept as the
176
+ * hard kill-switch for back-compat.
177
+ * - `UNITY_OPEN_MCP_DIALOG_POLICY=auto|manual|ignore|recover|safe-mode|cancel`
178
+ * selects which button to click per dialog kind (default `ignore`).
179
+ * `manual` is equivalent to the kill-switch for the polling loop (no
180
+ * clicks) but is reported distinctly in the config so callers can tell
181
+ * "operator opted out of all dialogs" from "operator turned the feature
182
+ * off entirely".
183
+ * - `UNITY_OPEN_MCP_ALLOW_PROJECT_UPGRADE=1` opts in to auto-confirming the
184
+ * Project Upgrade Required dialog (irreversible — off by default).
135
185
  * - `UNITY_OPEN_MCP_DISMISS_TIMEOUT_MS` overrides the overall timeout.
136
186
  * - `UNITY_OPEN_MCP_DISMISS_INTERVAL_MS` overrides the poll interval.
137
187
  *
188
+ * `enabled` is true only when the kill-switch is unset AND policy != manual.
138
189
  * Pure / no I/O. Exposed for tests.
139
190
  */
140
191
  export interface DismissConfig {
141
192
  enabled: boolean;
142
193
  timeoutMs: number;
143
194
  intervalMs: number;
195
+ policy: DialogPolicy;
196
+ allowProjectUpgrade: boolean;
144
197
  }
145
198
  export declare function readDismissConfig(env?: NodeJS.ProcessEnv): DismissConfig;
146
199
  /**
@@ -152,6 +205,8 @@ export type DismissLog = (line: string) => void;
152
205
  export interface PollAndDismissOptions {
153
206
  timeoutMs: number;
154
207
  intervalMs: number;
208
+ policy: DialogPolicy;
209
+ allowProjectUpgrade: boolean;
155
210
  /**
156
211
  * Override the platform — exposed for tests so the polling logic can be
157
212
  * exercised across all three OS branches without hopping process.platform.
@@ -161,37 +216,35 @@ export interface PollAndDismissOptions {
161
216
  /**
162
217
  * Override the dismiss probe — exposed for tests so the loop can be
163
218
  * exercised without invoking PowerShell / osascript / xdotool. Defaults
164
- * to `tryDismissLaunchErrorsDialog`.
219
+ * to `tryDismissDialog`.
165
220
  */
166
- probe?: typeof tryDismissLaunchErrorsDialog;
221
+ probe?: typeof tryDismissDialog;
167
222
  /**
168
223
  * When fired, the loop exits immediately. Intended for callers that have
169
224
  * an authoritative readiness signal in scope (e.g. the parallel compile
170
225
  * wait in LiveClient). The moment the bridge is reachable + idle, there
171
- * is no launch-errors dialog left to dismiss, so the loop stops.
226
+ * is no startup dialog left to dismiss, so the loop stops.
172
227
  */
173
228
  abortSignal?: AbortSignal;
174
229
  /** Per-dismissal audit sink. Defaults to stderr. */
175
230
  log?: DismissLog;
176
231
  }
177
232
  /**
178
- * Poll the OS desktop for the Unity launch-errors dialog and click `Ignore`
179
- * every time the probe reports it as found. Returns once the abort signal
180
- * has fired (authoritative readiness), the overall timeout has elapsed, or
181
- * a permanent platform error has been observed.
233
+ * Poll the OS desktop for any Unity startup dialog and click the policy-
234
+ * selected button every time the probe reports it as found. Returns once the
235
+ * abort signal has fired (authoritative readiness), the overall timeout has
236
+ * elapsed, or a permanent platform error has been observed.
182
237
  *
183
- * Re-entrant dismissals are supported: when the dialog re-appears after a
238
+ * Re-entrant dismissals are supported: when a dialog re-appears after a
184
239
  * successful click (resolver-fix → dialog-reappears cycle), each subsequent
185
240
  * dismissal emits its own log line so the recurrence shows in the audit log.
186
241
  *
187
- * Never throws. Transient platform errors (a momentary syscall failure) are
188
- * logged once and then suppressed; permanent errors bail out after the first
189
- * occurrence so the helper does not spawn doomed tool invocations on a fixed
190
- * budget.
242
+ * `blocked` outcomes (project_upgrade without opt-in) are logged once per
243
+ * occurrence and the loop keeps polling a human still needs to dismiss that
244
+ * dialog, and the loop should not exit before the readiness abort fires.
191
245
  *
192
- * The loop keeps polling until aborted even when no dialog appears — unlike
193
- * Unity-MCP's standalone `open` CLI, this loop runs CONCURRENTLY with the
194
- * LiveClient compile wait. The compile wait's resolution (compiling → idle)
195
- * is the authoritative "no more launch dialog" signal and aborts this loop.
246
+ * Never throws. Transient platform errors are logged once then suppressed;
247
+ * permanent errors bail out after the first occurrence so the helper does
248
+ * not spawn doomed tool invocations on a fixed budget.
196
249
  */
197
- export declare function pollAndDismissLaunchErrors(opts: PollAndDismissOptions): Promise<void>;
250
+ export declare function pollAndDismissDialogs(opts: PollAndDismissOptions): Promise<void>;