@atelierai/uco 1.0.6 → 1.0.8

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 (280) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +7 -8
  3. package/bin/server.mjs +1 -1
  4. package/bin/stub-plugin.mjs +3 -3
  5. package/dist/codegen/coerce.js +1 -1
  6. package/dist/codegen/coerce.js.map +1 -1
  7. package/dist/codegen/emit.js +2 -2
  8. package/dist/codegen/emit.js.map +1 -1
  9. package/dist/codegen/refs.js +1 -1
  10. package/dist/codegen/refs.js.map +1 -1
  11. package/dist/codegen/types.js +1 -1
  12. package/dist/codegen/types.js.map +1 -1
  13. package/dist/commands/call.js +1 -1
  14. package/dist/commands/call.js.map +1 -1
  15. package/dist/commands/devops/configure.js +1 -1
  16. package/dist/commands/devops/configure.js.map +1 -1
  17. package/dist/commands/devops/index.js +0 -4
  18. package/dist/commands/devops/index.js.map +1 -1
  19. package/dist/commands/devops/install-plugin.js +1 -1
  20. package/dist/commands/devops/install-plugin.js.map +1 -1
  21. package/dist/commands/devops/open.js +7 -7
  22. package/dist/commands/devops/open.js.map +1 -1
  23. package/dist/commands/devops/status.js +3 -3
  24. package/dist/commands/devops/status.js.map +1 -1
  25. package/dist/commands/exec.js +1 -1
  26. package/dist/commands/exec.js.map +1 -1
  27. package/dist/commands/install.js +2 -2
  28. package/dist/commands/install.js.map +1 -1
  29. package/dist/commands/prompt.js +2 -2
  30. package/dist/commands/prompt.js.map +1 -1
  31. package/dist/commands/resource.js +2 -2
  32. package/dist/commands/resource.js.map +1 -1
  33. package/dist/commands/update.js +1 -26
  34. package/dist/commands/update.js.map +1 -1
  35. package/dist/config/port.js +2 -2
  36. package/dist/config/port.js.map +1 -1
  37. package/dist/config/resolve.d.ts +1 -2
  38. package/dist/config/resolve.js +0 -12
  39. package/dist/config/resolve.js.map +1 -1
  40. package/dist/devops/lib/configure.d.ts +1 -1
  41. package/dist/devops/lib/configure.js +2 -2
  42. package/dist/devops/lib/configure.js.map +1 -1
  43. package/dist/devops/lib/install-plugin.d.ts +1 -1
  44. package/dist/devops/lib/install-plugin.js +1 -1
  45. package/dist/devops/lib/install-plugin.js.map +1 -1
  46. package/dist/devops/lib/install.d.ts +2 -2
  47. package/dist/devops/lib/install.js +5 -5
  48. package/dist/devops/lib/install.js.map +1 -1
  49. package/dist/devops/lib/open.js +11 -32
  50. package/dist/devops/lib/open.js.map +1 -1
  51. package/dist/devops/lib/remove-plugin.d.ts +1 -1
  52. package/dist/devops/lib/remove-plugin.js +3 -3
  53. package/dist/devops/lib/remove-plugin.js.map +1 -1
  54. package/dist/devops/lib/run-tool.d.ts +2 -2
  55. package/dist/devops/lib/run-tool.js +2 -2
  56. package/dist/devops/lib/types.d.ts +17 -54
  57. package/dist/devops/lib/types.js +2 -2
  58. package/dist/devops/lib/types.js.map +1 -1
  59. package/dist/devops/lib/update.d.ts +0 -15
  60. package/dist/devops/lib/update.js +2 -91
  61. package/dist/devops/lib/update.js.map +1 -1
  62. package/dist/devops/utils/agents.d.ts +0 -28
  63. package/dist/devops/utils/agents.js +0 -462
  64. package/dist/devops/utils/agents.js.map +1 -1
  65. package/dist/devops/utils/config.d.ts +9 -18
  66. package/dist/devops/utils/config.js +7 -20
  67. package/dist/devops/utils/config.js.map +1 -1
  68. package/dist/devops/utils/editor-cache.js +1 -1
  69. package/dist/devops/utils/editor-cache.js.map +1 -1
  70. package/dist/devops/utils/launch-error-dismiss.d.ts +2 -2
  71. package/dist/devops/utils/launch-error-dismiss.js +5 -5
  72. package/dist/devops/utils/manifest.d.ts +2 -2
  73. package/dist/devops/utils/manifest.js +3 -3
  74. package/dist/devops/utils/manifest.js.map +1 -1
  75. package/dist/devops/utils/port.d.ts +1 -1
  76. package/dist/devops/utils/port.js +1 -1
  77. package/dist/devops/utils/probe.d.ts +1 -1
  78. package/dist/devops/utils/probe.js +1 -1
  79. package/dist/devops/utils/ui.js +2 -2
  80. package/dist/devops/utils/ui.js.map +1 -1
  81. package/dist/devops/utils/unity-editor.js +4 -4
  82. package/dist/devops/utils/unity-editor.js.map +1 -1
  83. package/dist/devops/utils/unity-hub.js +1 -1
  84. package/dist/devops/utils/unity-hub.js.map +1 -1
  85. package/dist/devops/utils/unity-shutdown.d.ts +1 -1
  86. package/dist/devops/utils/unity-shutdown.js +1 -1
  87. package/dist/devops/utils/update-check.js +3 -3
  88. package/dist/devops/utils/update-check.js.map +1 -1
  89. package/dist/devops/utils/vendor.d.ts +2 -2
  90. package/dist/devops/utils/vendor.js +4 -4
  91. package/dist/devops/utils/vendor.js.map +1 -1
  92. package/dist/generated/tools.js +1 -1
  93. package/dist/generated/tools.js.map +1 -1
  94. package/dist/program.js +3 -3
  95. package/dist/program.js.map +1 -1
  96. package/dist/server/app.d.ts +5 -5
  97. package/dist/server/app.js +3 -3
  98. package/dist/server/app.js.map +1 -1
  99. package/dist/server/index.d.ts +2 -2
  100. package/dist/server/index.js +2 -2
  101. package/dist/server/index.js.map +1 -1
  102. package/dist/server/rest/auth.d.ts +1 -1
  103. package/dist/server/rest/auth.js +3 -3
  104. package/dist/server/rest/auth.js.map +1 -1
  105. package/dist/server/rest/context.d.ts +2 -2
  106. package/dist/server/rest/forward.d.ts +2 -2
  107. package/dist/server/session/store.d.ts +3 -3
  108. package/dist/server/session/store.js +4 -4
  109. package/dist/server/session/store.js.map +1 -1
  110. package/dist/server/stub-client/scenarios.js +8 -8
  111. package/dist/server/stub-client/scenarios.js.map +1 -1
  112. package/dist/server/types.d.ts +11 -11
  113. package/dist/server/types.js +9 -9
  114. package/dist/server/types.js.map +1 -1
  115. package/dist/server/ws/hub.d.ts +8 -8
  116. package/dist/server/ws/hub.js +13 -13
  117. package/dist/server/ws/hub.js.map +1 -1
  118. package/dist/server/ws/rpc.d.ts +3 -3
  119. package/dist/server/ws/rpc.js +4 -4
  120. package/dist/server/ws/rpc.js.map +1 -1
  121. package/dist/transport/index.d.ts +1 -1
  122. package/dist/transport/index.js +3 -3
  123. package/dist/transport/index.js.map +1 -1
  124. package/dist/transport/rest.js +1 -1
  125. package/dist/transport/rest.js.map +1 -1
  126. package/docs/INSTALL.zh-CN.md +2 -3
  127. package/package.json +1 -1
  128. package/skills/uco-setup/SKILL.md +1 -1
  129. package/skills/unity-editor/references/diagnostics.md +24 -24
  130. package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetConfig.cs +132 -132
  131. package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDependencyResolver.cs +237 -237
  132. package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDownloader.cs +82 -82
  133. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/MenuItems.cs +247 -247
  134. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/ToolGroups.cs +153 -153
  135. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/SystemTool/Skills.Create.SkillBody.cs +155 -155
  136. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Console.GetLogs.cs +95 -95
  137. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Docs.HttpFetcher.cs +139 -139
  138. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Instance.ListAll.cs +72 -72
  139. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/PathReadHelper.cs +106 -106
  140. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Script.Validate.cs +252 -252
  141. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests/TestResultCollector.cs +537 -537
  142. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests.cs +400 -400
  143. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Branding/ProductInfo.cs +62 -62
  144. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/CopilotServerManager.cs +1034 -1034
  145. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Skills/Skill_InitialSetup.cs +197 -197
  146. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.Editor.cs +201 -201
  147. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.cs +67 -67
  148. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Components/ExtensionPanel.cs +379 -379
  149. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/MenuItems.cs +72 -72
  150. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/UnityCopilotProjectSettingsProvider.cs +64 -64
  151. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotListWindowBase.cs +393 -393
  152. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotWindowBase.cs +113 -113
  153. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.Connection.cs +3 -3
  154. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotFeatures.cs +195 -195
  155. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotServer.cs +372 -372
  156. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CreateGUI.cs +354 -354
  157. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.cs +78 -78
  158. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowInitializer.cs +47 -47
  159. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/SerializationCheckWindow.cs +190 -190
  160. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Build.cs +91 -91
  161. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Config.cs +298 -298
  162. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Static.cs +296 -296
  163. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.cs +69 -69
  164. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PackageUtils.cs +168 -168
  165. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PrefsKeyMigration.cs +119 -119
  166. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/SafeDefaultsGuard.cs +180 -180
  167. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ScriptUtils.cs +229 -229
  168. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ToolsManifestGenerator.cs +200 -200
  169. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringAdapters.cs +1467 -1467
  170. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringSafetyReloadGuard.cs +65 -65
  171. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityCopilotUpdateProjectSettings.cs +66 -66
  172. package/vendor/plugin/com.atelierai.unity.copilot/Plugins/ReflectorNet.dll +0 -0
  173. package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.Common.dll +0 -0
  174. package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.dll +0 -0
  175. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Converter/Json/Structures/EntityIdConverter.cs +120 -120
  176. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.cs +110 -110
  177. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.pre-Unity.6.5.cs +110 -110
  178. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Unity/Logs/FileLogStorage.cs +547 -547
  179. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Build.cs +243 -243
  180. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Config.cs +175 -175
  181. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.cs +295 -295
  182. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginBuilder.cs +105 -105
  183. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.Static.cs +155 -155
  184. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.cs +59 -59
  185. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Utils/EnvironmentUtils.cs +368 -368
  186. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/AtomicApiTestFixtures.cs +99 -99
  187. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/TryModifyAtTests.cs +227 -227
  188. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AuthoringSafetyPilotTests.cs +1050 -1050
  189. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetLegacyMigrationTests.cs +304 -304
  190. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Environment/EnvironmentUtilsTests.cs +4 -4
  191. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/BlacklistTypeTests.cs +416 -416
  192. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.cs +172 -172
  193. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.pre-Unity.6.5.cs +169 -169
  194. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.cs +182 -182
  195. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.pre-Unity.6.5.cs +179 -179
  196. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.cs +175 -175
  197. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.pre-Unity.6.5.cs +174 -174
  198. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.cs +171 -171
  199. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.pre-Unity.6.5.cs +170 -170
  200. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsCreateFolderTests.cs +243 -243
  201. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsMaterialTests.cs +101 -101
  202. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs +348 -348
  203. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs +348 -348
  204. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsShaderTests.cs +194 -194
  205. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.cs +573 -573
  206. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.pre-Unity.6.5.cs +513 -513
  207. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.cs +154 -154
  208. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.pre-Unity.6.5.cs +154 -154
  209. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotGameViewTests.cs +164 -164
  210. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotSceneViewTests.cs +155 -155
  211. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolParameterTests.cs +56 -56
  212. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.cs +651 -651
  213. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.pre-Unity.6.5.cs +651 -651
  214. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ToolBatchExecutionIntegrationTests.cs +407 -407
  215. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs → UcoPluginTests.cs} +105 -105
  216. package/vendor/plugin/com.atelierai.unity.copilot/package.json +1 -1
  217. package/dist/commands/devops/login.d.ts +0 -2
  218. package/dist/commands/devops/login.js +0 -29
  219. package/dist/commands/devops/login.js.map +0 -1
  220. package/dist/commands/devops/setup-mcp.d.ts +0 -2
  221. package/dist/commands/devops/setup-mcp.js +0 -41
  222. package/dist/commands/devops/setup-mcp.js.map +0 -1
  223. package/dist/devops/commands-upstream/bootstrap-local.d.ts +0 -17
  224. package/dist/devops/commands-upstream/bootstrap-local.js +0 -87
  225. package/dist/devops/commands-upstream/bootstrap-local.js.map +0 -1
  226. package/dist/devops/commands-upstream/close.d.ts +0 -57
  227. package/dist/devops/commands-upstream/close.js +0 -188
  228. package/dist/devops/commands-upstream/close.js.map +0 -1
  229. package/dist/devops/commands-upstream/configure.d.ts +0 -2
  230. package/dist/devops/commands-upstream/configure.js +0 -87
  231. package/dist/devops/commands-upstream/configure.js.map +0 -1
  232. package/dist/devops/commands-upstream/create-project.d.ts +0 -2
  233. package/dist/devops/commands-upstream/create-project.js +0 -43
  234. package/dist/devops/commands-upstream/create-project.js.map +0 -1
  235. package/dist/devops/commands-upstream/install-plugin.d.ts +0 -2
  236. package/dist/devops/commands-upstream/install-plugin.js +0 -64
  237. package/dist/devops/commands-upstream/install-plugin.js.map +0 -1
  238. package/dist/devops/commands-upstream/install-unity.d.ts +0 -2
  239. package/dist/devops/commands-upstream/install-unity.js +0 -72
  240. package/dist/devops/commands-upstream/install-unity.js.map +0 -1
  241. package/dist/devops/commands-upstream/login.d.ts +0 -2
  242. package/dist/devops/commands-upstream/login.js +0 -33
  243. package/dist/devops/commands-upstream/login.js.map +0 -1
  244. package/dist/devops/commands-upstream/open.d.ts +0 -32
  245. package/dist/devops/commands-upstream/open.js +0 -282
  246. package/dist/devops/commands-upstream/open.js.map +0 -1
  247. package/dist/devops/commands-upstream/remove-plugin.d.ts +0 -2
  248. package/dist/devops/commands-upstream/remove-plugin.js +0 -41
  249. package/dist/devops/commands-upstream/remove-plugin.js.map +0 -1
  250. package/dist/devops/commands-upstream/run-system-tool.d.ts +0 -1
  251. package/dist/devops/commands-upstream/run-system-tool.js +0 -13
  252. package/dist/devops/commands-upstream/run-system-tool.js.map +0 -1
  253. package/dist/devops/commands-upstream/run-tool-builder.d.ts +0 -25
  254. package/dist/devops/commands-upstream/run-tool-builder.js +0 -125
  255. package/dist/devops/commands-upstream/run-tool-builder.js.map +0 -1
  256. package/dist/devops/commands-upstream/run-tool.d.ts +0 -1
  257. package/dist/devops/commands-upstream/run-tool.js +0 -13
  258. package/dist/devops/commands-upstream/run-tool.js.map +0 -1
  259. package/dist/devops/commands-upstream/setup-mcp.d.ts +0 -2
  260. package/dist/devops/commands-upstream/setup-mcp.js +0 -68
  261. package/dist/devops/commands-upstream/setup-mcp.js.map +0 -1
  262. package/dist/devops/commands-upstream/setup-skills.d.ts +0 -2
  263. package/dist/devops/commands-upstream/setup-skills.js +0 -167
  264. package/dist/devops/commands-upstream/setup-skills.js.map +0 -1
  265. package/dist/devops/commands-upstream/status.d.ts +0 -2
  266. package/dist/devops/commands-upstream/status.js +0 -87
  267. package/dist/devops/commands-upstream/status.js.map +0 -1
  268. package/dist/devops/commands-upstream/update.d.ts +0 -2
  269. package/dist/devops/commands-upstream/update.js +0 -77
  270. package/dist/devops/commands-upstream/update.js.map +0 -1
  271. package/dist/devops/commands-upstream/wait-for-ready.d.ts +0 -2
  272. package/dist/devops/commands-upstream/wait-for-ready.js +0 -93
  273. package/dist/devops/commands-upstream/wait-for-ready.js.map +0 -1
  274. package/dist/devops/lib/setup-mcp.d.ts +0 -35
  275. package/dist/devops/lib/setup-mcp.js +0 -177
  276. package/dist/devops/lib/setup-mcp.js.map +0 -1
  277. package/dist/devops/utils/cloud-login.d.ts +0 -7
  278. package/dist/devops/utils/cloud-login.js +0 -56
  279. package/dist/devops/utils/cloud-login.js.map +0 -1
  280. /package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs.meta → UcoPluginTests.cs.meta} +0 -0
@@ -1,105 +1,105 @@
1
- /*
2
- ┌──────────────────────────────────────────────────────────────────┐
3
- │ Author: Ivan Murzak (https://github.com/IvanMurzak) │
4
- │ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
5
- │ Copyright (c) 2025 Ivan Murzak │
6
- │ Licensed under the Apache License, Version 2.0. │
7
- │ See the LICENSE file in the project root for more information. │
8
- └──────────────────────────────────────────────────────────────────┘
9
- */
10
-
11
- #nullable enable
12
- using System.Collections;
13
- using NUnit.Framework;
14
- using R3;
15
- using UnityEngine.TestTools;
16
-
17
- namespace com.AtelierAI.Unity.Copilot.Editor.Tests
18
- {
19
- [TestFixture]
20
- public class UcoPluginTests : BaseTest
21
- {
22
- const int WaitTimeoutTicks = 100000;
23
-
24
- [Test]
25
- public void CurrentPlugin_ShouldNotBeNull_WhenInitialized()
26
- {
27
- // Act & Assert
28
- Assert.IsNotNull(UnityCopilotPluginEditor.Instance.UcoPluginInstance, "CurrentPlugin should not be null after initialization");
29
- }
30
-
31
- [Test]
32
- public void CurrentPlugin_ShouldHaveValidMcpManager()
33
- {
34
- // Act
35
- var plugin = UnityCopilotPluginEditor.Instance.UcoPluginInstance;
36
-
37
- // Assert
38
- Assert.IsNotNull(plugin, "CurrentPlugin should not be null");
39
- Assert.IsNotNull(plugin!.UcoManager, "UcoManager should not be null");
40
- Assert.IsNotNull(plugin!.UcoManager.Reflector, "Reflector should not be null");
41
- }
42
-
43
- [UnityTest]
44
- public IEnumerator PluginProperty_WhereNotNull_Take1_ShouldExecuteCallbackOnce()
45
- {
46
- // Arrange
47
- var callbackExecuted = false;
48
- var executionCount = 0;
49
-
50
- // Act
51
- var subscription = UnityCopilotPluginEditor.PluginProperty
52
- .WhereNotNull()
53
- .Take(1)
54
- .Subscribe(plugin =>
55
- {
56
- callbackExecuted = true;
57
- executionCount++;
58
- });
59
-
60
- try
61
- {
62
- for (int i = 0; !callbackExecuted && i < WaitTimeoutTicks; i++)
63
- yield return null;
64
-
65
- // Assert
66
- Assert.IsTrue(callbackExecuted, "PluginProperty callback should have executed");
67
- Assert.AreEqual(1, executionCount, "Take(1) callback should execute exactly once");
68
- }
69
- finally
70
- {
71
- subscription?.Dispose();
72
- }
73
- }
74
-
75
- [UnityTest]
76
- public IEnumerator PluginProperty_WhereNotNull_ShouldExecuteCallbackAtLeastOnce()
77
- {
78
- // Arrange
79
- var callbackExecuted = false;
80
- var executionCount = 0;
81
-
82
- // Act
83
- var subscription = UnityCopilotPluginEditor.PluginProperty
84
- .WhereNotNull()
85
- .Subscribe(plugin =>
86
- {
87
- callbackExecuted = true;
88
- executionCount++;
89
- });
90
-
91
- try
92
- {
93
- for (int i = 0; !callbackExecuted && i < WaitTimeoutTicks; i++)
94
- yield return null;
95
-
96
- // Assert
97
- Assert.IsTrue(executionCount >= 1, "PluginProperty callback should have executed at least once");
98
- }
99
- finally
100
- {
101
- subscription?.Dispose();
102
- }
103
- }
104
- }
105
- }
1
+ /*
2
+ ┌──────────────────────────────────────────────────────────────────┐
3
+ │ Author: Ivan Murzak (https://github.com/IvanMurzak) │
4
+ │ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
5
+ │ Copyright (c) 2025 Ivan Murzak │
6
+ │ Licensed under the Apache License, Version 2.0. │
7
+ │ See the LICENSE file in the project root for more information. │
8
+ └──────────────────────────────────────────────────────────────────┘
9
+ */
10
+
11
+ #nullable enable
12
+ using System.Collections;
13
+ using NUnit.Framework;
14
+ using R3;
15
+ using UnityEngine.TestTools;
16
+
17
+ namespace com.AtelierAI.Unity.Copilot.Editor.Tests
18
+ {
19
+ [TestFixture]
20
+ public class UcoPluginTests : BaseTest
21
+ {
22
+ const int WaitTimeoutTicks = 100000;
23
+
24
+ [Test]
25
+ public void CurrentPlugin_ShouldNotBeNull_WhenInitialized()
26
+ {
27
+ // Act & Assert
28
+ Assert.IsNotNull(UnityCopilotPluginEditor.Instance.UcoPluginInstance, "CurrentPlugin should not be null after initialization");
29
+ }
30
+
31
+ [Test]
32
+ public void CurrentPlugin_ShouldHaveValidPluginManager()
33
+ {
34
+ // Act
35
+ var plugin = UnityCopilotPluginEditor.Instance.UcoPluginInstance;
36
+
37
+ // Assert
38
+ Assert.IsNotNull(plugin, "CurrentPlugin should not be null");
39
+ Assert.IsNotNull(plugin!.UcoManager, "UcoManager should not be null");
40
+ Assert.IsNotNull(plugin!.UcoManager.Reflector, "Reflector should not be null");
41
+ }
42
+
43
+ [UnityTest]
44
+ public IEnumerator PluginProperty_WhereNotNull_Take1_ShouldExecuteCallbackOnce()
45
+ {
46
+ // Arrange
47
+ var callbackExecuted = false;
48
+ var executionCount = 0;
49
+
50
+ // Act
51
+ var subscription = UnityCopilotPluginEditor.PluginProperty
52
+ .WhereNotNull()
53
+ .Take(1)
54
+ .Subscribe(plugin =>
55
+ {
56
+ callbackExecuted = true;
57
+ executionCount++;
58
+ });
59
+
60
+ try
61
+ {
62
+ for (int i = 0; !callbackExecuted && i < WaitTimeoutTicks; i++)
63
+ yield return null;
64
+
65
+ // Assert
66
+ Assert.IsTrue(callbackExecuted, "PluginProperty callback should have executed");
67
+ Assert.AreEqual(1, executionCount, "Take(1) callback should execute exactly once");
68
+ }
69
+ finally
70
+ {
71
+ subscription?.Dispose();
72
+ }
73
+ }
74
+
75
+ [UnityTest]
76
+ public IEnumerator PluginProperty_WhereNotNull_ShouldExecuteCallbackAtLeastOnce()
77
+ {
78
+ // Arrange
79
+ var callbackExecuted = false;
80
+ var executionCount = 0;
81
+
82
+ // Act
83
+ var subscription = UnityCopilotPluginEditor.PluginProperty
84
+ .WhereNotNull()
85
+ .Subscribe(plugin =>
86
+ {
87
+ callbackExecuted = true;
88
+ executionCount++;
89
+ });
90
+
91
+ try
92
+ {
93
+ for (int i = 0; !callbackExecuted && i < WaitTimeoutTicks; i++)
94
+ yield return null;
95
+
96
+ // Assert
97
+ Assert.IsTrue(executionCount >= 1, "PluginProperty callback should have executed at least once");
98
+ }
99
+ finally
100
+ {
101
+ subscription?.Dispose();
102
+ }
103
+ }
104
+ }
105
+ }
@@ -15,7 +15,7 @@
15
15
  "Unity Skills",
16
16
  "uco"
17
17
  ],
18
- "version": "1.0.4",
18
+ "version": "1.0.6",
19
19
  "unity": "2022.3",
20
20
  "description": "uco — Unity Copilot: AI Skills, Tools, and CLI for the Unity Engine, driven over plain REST + WebSocket. Any C# method may be turned into a tool by a single line. Derived from IvanMurzak/Unity-MCP (Apache-2.0).",
21
21
  "documentationUrl": "https://github.com/DumoeDss/uco-plugin/tree/main/uco-unity-project/Packages/com.atelierai.unity.copilot#readme",
@@ -1,2 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerLogin(program: Command): void;
@@ -1,29 +0,0 @@
1
- // uco login — authenticate with Unity-MCP cloud (ai-game.dev).
2
- //
3
- // Only relevant if the user opts into the cloud mode of the upstream
4
- // uco bridge server. For local/custom-host usage, this command is a no-op.
5
- import { runCommand, CliError } from '../../util/cli-context.js';
6
- import { getOrCreateConfig, CLOUD_SERVER_BASE_URL } from '../../devops/utils/config.js';
7
- import { runCloudLogin } from '../../devops/utils/cloud-login.js';
8
- import { resolveProjectArg } from './_helpers.js';
9
- export function registerLogin(program) {
10
- program
11
- .command('login [project]')
12
- .description(`Authenticate with the Unity-MCP cloud server (${CLOUD_SERVER_BASE_URL}).`)
13
- .option('--force', 'Re-authenticate even if already logged in', false)
14
- .action(function (projectArg, opts) {
15
- return runCommand(this, async (ctx) => {
16
- const projectPath = resolveProjectArg(ctx, projectArg);
17
- const config = getOrCreateConfig(projectPath);
18
- if (config.cloudToken && !opts.force) {
19
- return { authenticated: true, alreadyLoggedIn: true, server: CLOUD_SERVER_BASE_URL };
20
- }
21
- const token = await runCloudLogin(projectPath);
22
- if (!token) {
23
- throw new CliError('Cloud login failed or was cancelled.', 'login-failed');
24
- }
25
- return { authenticated: true, alreadyLoggedIn: false, server: CLOUD_SERVER_BASE_URL };
26
- })();
27
- });
28
- }
29
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/devops/login.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,2EAA2E;AAG3E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMlD,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,iDAAiD,qBAAqB,IAAI,CAAC;SACvF,MAAM,CAAC,SAAS,EAAE,2CAA2C,EAAE,KAAK,CAAC;SACrE,MAAM,CAAC,UAAyB,UAA8B,EAAE,IAAe;QAC9E,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;YACvF,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE,cAAc,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QACxF,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerSetupMcp(program: Command): void;
@@ -1,41 +0,0 @@
1
- // uco setup-mcp — write an MCP client config file for a chosen AI agent
2
- // (claude-code, cursor, codex, ...). Lets a normal MCP client connect to
3
- // the same uco bridge server uco targets, when the user wants to mix
4
- // both modalities.
5
- import { runCommand, CliError } from '../../util/cli-context.js';
6
- import { setupMcp, listAgentIds } from '../../devops/lib/setup-mcp.js';
7
- import { resolveProjectArg, progressLogger, unwrapResult } from './_helpers.js';
8
- export function registerSetupMcp(program) {
9
- program
10
- .command('setup-mcp [agent] [project]')
11
- .description('Write an MCP client config for the chosen agent. Run with --list to see supported agents.')
12
- .option('--list', 'List supported agent IDs and exit')
13
- .option('--transport <kind>', 'Transport: http (default) or stdio', 'http')
14
- .option('--url <url>', 'Server URL override')
15
- .option('--token <token>', 'Bearer token override')
16
- .action(function (agentArg, projectArg, opts) {
17
- return runCommand(this, async (ctx) => {
18
- if (opts.list) {
19
- return { agents: listAgentIds() };
20
- }
21
- if (!agentArg) {
22
- throw new CliError('Missing <agent>. Use `uco setup-mcp --list` to see available agents.', 'missing-agent');
23
- }
24
- const transport = (opts.transport ?? 'http');
25
- if (transport !== 'http' && transport !== 'stdio') {
26
- throw new CliError(`Invalid --transport: ${transport}. Use 'http' or 'stdio'.`, 'invalid-transport');
27
- }
28
- const projectPath = resolveProjectArg(ctx, projectArg);
29
- const result = await setupMcp({
30
- agentId: agentArg,
31
- unityProjectPath: projectPath,
32
- transport,
33
- ...(opts.url ? { url: opts.url } : {}),
34
- ...(opts.token ? { token: opts.token } : {}),
35
- onProgress: progressLogger(ctx),
36
- });
37
- return unwrapResult(result);
38
- })();
39
- });
40
- }
41
- //# sourceMappingURL=setup-mcp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../../src/commands/devops/setup-mcp.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,yEAAyE;AACzE,qEAAqE;AACrE,mBAAmB;AAGnB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAShF,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,6BAA6B,CAAC;SACtC,WAAW,CAAC,2FAA2F,CAAC;SACxG,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,oBAAoB,EAAE,oCAAoC,EAAE,MAAM,CAAC;SAC1E,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAAC;SAC5C,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,UAAyB,QAA4B,EAAE,UAA8B,EAAE,IAAkB;QAC/G,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,QAAQ,CAAC,sEAAsE,EAAE,eAAe,CAAC,CAAC;YAC9G,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAiB,CAAC;YAC7D,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAClD,MAAM,IAAI,QAAQ,CAAC,wBAAwB,SAAS,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC5B,OAAO,EAAE,QAAQ;gBACjB,gBAAgB,EAAE,WAAW;gBAC7B,SAAS;gBACT,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,17 +0,0 @@
1
- import { Command } from 'commander';
2
- import { type UnityConnectionConfig } from '../utils/config.js';
3
- /**
4
- * Produce a new config object with local-mode fields pinned to `url` / `token`.
5
- * Preserves all other keys from `current` (immutable update — does not mutate `current`).
6
- *
7
- * The plugin-side ConnectionMode enum only accepts "Custom" (local) or "Cloud".
8
- * We intentionally normalize any integer (0 → Custom, 1 → Cloud) representation
9
- * to the canonical string "Custom" so the on-disk file is explicit.
10
- */
11
- export declare function pinLocalModeConfig(current: Readonly<UnityConnectionConfig>, url: string, token: string): UnityConnectionConfig;
12
- /**
13
- * Returns true iff `current` already reflects local mode with matching url + token.
14
- * Used to make bootstrap-local a no-op when nothing would change on disk.
15
- */
16
- export declare function isAlreadyPinned(current: Readonly<UnityConnectionConfig>, url: string, token: string): boolean;
17
- export declare const bootstrapLocalCommand: Command;
@@ -1,87 +0,0 @@
1
- // Copyright (c) 2025 Ivan Murzak. All rights reserved.
2
- // Licensed under the Apache License, Version 2.0.
3
- import { Command } from 'commander';
4
- import * as path from 'path';
5
- import * as fs from 'fs';
6
- import * as ui from '../utils/ui.js';
7
- import { verbose } from '../utils/ui.js';
8
- import { resolveAndValidateProjectPath } from '../utils/connection.js';
9
- import { readConfig, writeConfig, } from '../utils/config.js';
10
- /**
11
- * Produce a new config object with local-mode fields pinned to `url` / `token`.
12
- * Preserves all other keys from `current` (immutable update — does not mutate `current`).
13
- *
14
- * The plugin-side ConnectionMode enum only accepts "Custom" (local) or "Cloud".
15
- * We intentionally normalize any integer (0 → Custom, 1 → Cloud) representation
16
- * to the canonical string "Custom" so the on-disk file is explicit.
17
- */
18
- export function pinLocalModeConfig(current, url, token) {
19
- return {
20
- ...current,
21
- connectionMode: 'Custom',
22
- host: url,
23
- token,
24
- };
25
- }
26
- /**
27
- * Returns true iff `current` already reflects local mode with matching url + token.
28
- * Used to make bootstrap-local a no-op when nothing would change on disk.
29
- */
30
- export function isAlreadyPinned(current, url, token) {
31
- // Accept both "Custom" (string) and 0 (legacy int) as already-local.
32
- // Anything else (including "Cloud", 1, or unset) means we still need to pin.
33
- const mode = current.connectionMode;
34
- if (mode !== 'Custom' && mode !== 0)
35
- return false;
36
- return current.host === url && current.token === token;
37
- }
38
- export const bootstrapLocalCommand = new Command('bootstrap-local')
39
- .description('Pin a Unity project\'s MCP config to local mode with the given URL/token. Idempotent.')
40
- .argument('[path]', 'Unity project path (defaults to cwd)')
41
- .option('--path <path>', 'Unity project path (defaults to cwd)')
42
- .requiredOption('--url <url>', 'Local MCP server URL to pin (e.g. http://localhost:5140/)')
43
- .requiredOption('--token <token>', 'Local MCP bearer token to pin')
44
- .option('--dry-run', 'Report what would change without writing to disk')
45
- .action(async (positionalPath, options) => {
46
- const projectPath = resolveAndValidateProjectPath(positionalPath, options);
47
- // commander's requiredOption guarantees url/token are defined before the action runs.
48
- const url = options.url.replace(/\/$/, '');
49
- const token = options.token;
50
- verbose(`Project path: ${projectPath}`);
51
- verbose(`Target URL: ${url}`);
52
- verbose(`Target token: ${'*'.repeat(Math.min(token.length, 8))}... (length ${token.length})`);
53
- // uco 0.3.0 renamed the config file; write the new name, but honor a legacy
54
- // file when it is the only one present (the plugin migrates it on next start).
55
- const configPath = path.join(projectPath, 'UserSettings', fs.existsSync(path.join(projectPath, 'UserSettings', 'uco-config.json'))
56
- ? 'uco-config.json'
57
- : 'AI-Game-Developer-Config.json');
58
- const existedBefore = fs.existsSync(configPath);
59
- // Use readConfig (not getOrCreateConfig) so --dry-run truly has no side effects.
60
- // When the file doesn't exist we pin onto an empty base; this mirrors a fresh
61
- // worktree where the plugin has not yet written its default Cloud config.
62
- const current = readConfig(projectPath) ?? {};
63
- if (isAlreadyPinned(current, url, token)) {
64
- ui.success(`MCP config already pinned to local mode (${url}). No changes written.`);
65
- return;
66
- }
67
- const next = pinLocalModeConfig(current, url, token);
68
- if (options.dryRun) {
69
- ui.heading('bootstrap-local (dry run)');
70
- ui.label('Config file', configPath);
71
- ui.label('connectionMode', `${String(current.connectionMode ?? 'unset')} → Custom`);
72
- ui.label('host', `${String(current.host ?? 'unset')} → ${url}`);
73
- ui.label('token', `${current.token ? '<previous>' : '<unset>'} → <supplied>`);
74
- ui.info('No changes written (--dry-run).');
75
- return;
76
- }
77
- writeConfig(projectPath, next);
78
- ui.heading('bootstrap-local');
79
- ui.label('Config file', configPath);
80
- ui.label('connectionMode', 'Custom');
81
- ui.label('host', url);
82
- ui.label('token', '<supplied>');
83
- ui.success(existedBefore
84
- ? 'Config updated to pin local mode.'
85
- : 'Config created and pinned to local mode.');
86
- });
87
- //# sourceMappingURL=bootstrap-local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap-local.js","sourceRoot":"","sources":["../../../src/devops/commands-upstream/bootstrap-local.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- import { Command } from 'commander';
2
- import { type SupportedPlatform } from '../utils/unity-shutdown.js';
3
- export interface CloseOptions {
4
- timeout?: string;
5
- timeoutSeconds?: string;
6
- force?: boolean;
7
- }
8
- /**
9
- * Resolve the project path argument to an absolute, canonical path.
10
- *
11
- * Mirrors the convention used by `open` / `wait-for-ready` — accepts a
12
- * positional argument or `process.cwd()` fallback, normalises symlinks where
13
- * possible, and trims any trailing path separator. Exported for unit tests.
14
- */
15
- export declare function resolveCloseProjectPath(positionalPath: string | undefined, cwd: string): string;
16
- /**
17
- * Returns true when `<projectPath>/ProjectSettings/ProjectVersion.txt` exists.
18
- *
19
- * The issue's acceptance criteria require refusing to act on any path that
20
- * does not look like a Unity project root (`ProjectVersion.txt` is the
21
- * canonical marker). This is intentionally narrower than the `open`
22
- * subcommand's check — the goal here is to defend against accidental
23
- * "kill all Unity processes on host" invocations, so a positive ID of
24
- * "this is a Unity project" is required.
25
- *
26
- * Exported for unit tests.
27
- */
28
- export declare function isUnityProjectRoot(projectPath: string): boolean;
29
- /**
30
- * Parse a positive-integer `--timeout` value (seconds). Returns the parsed
31
- * value, or `null` when the input is not a valid positive integer.
32
- *
33
- * The `undefined` branch falls back to the default for ergonomic
34
- * direct-call use (e.g., unit tests). The action handler never reaches it
35
- * because commander always materialises the configured default string.
36
- *
37
- * Exported for unit tests.
38
- */
39
- export declare function parseTimeoutSeconds(raw: string | undefined): number | null;
40
- /**
41
- * Resolve the editor PID for a given project path.
42
- *
43
- * Reads `<project>/Temp/UnityLockfile` (4 bytes LE uint32) and enumerates
44
- * Unity processes by command line, then prefers the lockfile PID when it
45
- * is alive and matches the enumerated process for this project (handles
46
- * stale lockfiles); otherwise uses the enumerated PID.
47
- *
48
- * Symlink/realpath handling: `resolveCloseProjectPath` canonicalises via
49
- * `realpathSync` while `findUnityProcess` only `path.resolve`s the cmdline
50
- * `-projectPath` argument. If Unity was launched via a symlink, the first
51
- * lookup misses. We retry against the un-canonicalised form so a symlinked
52
- * launch path doesn't silently degrade close to a no-op.
53
- *
54
- * Returns `null` when no live editor matches the project. Exported for tests.
55
- */
56
- export declare function resolveEditorPid(projectPath: string, platform?: SupportedPlatform): number | null;
57
- export declare const closeCommand: Command;