@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,295 +1,295 @@
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
-
13
- using System;
14
- using System.Threading;
15
- using System.Threading.Tasks;
16
- using com.AtelierAI.Uco.Framework;
17
- using WsState = com.AtelierAI.Uco.Framework.ConnectionState;
18
- using com.AtelierAI.Uco.Framework.Common.Model;
19
- using com.IvanMurzak.ReflectorNet;
20
- using Microsoft.Extensions.Logging;
21
- using R3;
22
-
23
- namespace com.AtelierAI.Unity.Copilot
24
- {
25
- using LogLevel = Runtime.Utils.LogLevel;
26
-
27
- public partial class UnityCopilotPlugin : IDisposable
28
- {
29
- public const string Version = "1.0.4";
30
-
31
- private static int _singletonCount = 0;
32
- public static bool HasAnyInstance => _singletonCount > 0;
33
- protected static void IncrementSingletonCount() => Interlocked.Increment(ref _singletonCount);
34
- protected static void DecrementSingletonCount() => Interlocked.Decrement(ref _singletonCount);
35
-
36
- private static LogLevel _configuredLogLevel = LogLevel.Warning;
37
- // Uses direct enum comparison: configured threshold <= requested level means enabled
38
- public static bool IsLogEnabled(LogLevel level) => _configuredLogLevel <= level;
39
- public static void ApplyLogLevel(LogLevel level) => _configuredLogLevel = level;
40
-
41
- protected readonly CompositeDisposable _disposables = new();
42
- protected readonly CopilotPluginSlot _plugin = new();
43
-
44
- // Tracks only the latest plugin's ConnectionState subscription.
45
- // Replaced (old one disposed) each time BuildMcpPlugin creates a new IUcoPlugin instance.
46
- private IDisposable? _pluginConnectionSubscription;
47
-
48
- public IUcoPlugin? UcoPluginInstance => _plugin.Instance;
49
- public bool HasMcpPluginInstance => _plugin.HasInstance;
50
-
51
- public ILogger Logger => UcoPluginInstance?.Logger ?? _logger;
52
- public Reflector? Reflector => UcoPluginInstance?.UcoManager.Reflector;
53
- public IToolManager? Tools => UcoPluginInstance?.UcoManager.ToolManager;
54
- public IPromptManager? Prompts => UcoPluginInstance?.UcoManager.PromptManager;
55
- public IResourceManager? Resources => UcoPluginInstance?.UcoManager.ResourceManager;
56
-
57
- public UnityLogCollector? LogCollector { get; protected set; } = null;
58
-
59
- // --- Connection state ---
60
-
61
- protected readonly ReactiveProperty<WsState> _connectionState
62
- = new(WsState.Disconnected);
63
-
64
- public ReadOnlyReactiveProperty<WsState> ConnectionState => _connectionState;
65
-
66
- public ReadOnlyReactiveProperty<bool> IsConnected => _connectionState
67
- .Select(x => x == WsState.Connected)
68
- .ToReadOnlyReactiveProperty(false);
69
-
70
- // --- Constructor / Dispose ---
71
-
72
- protected UnityCopilotPlugin()
73
- {
74
- _disposables.Add(_connectionState);
75
- }
76
-
77
- public virtual void Dispose()
78
- {
79
- _pluginConnectionSubscription?.Dispose();
80
- _pluginConnectionSubscription = null;
81
- _disposables.Dispose();
82
- // LogCollector and _connectionState are disposed by _disposables
83
- LogCollector = null;
84
- }
85
-
86
- // --- Log collector ---
87
-
88
- public void AddUnityLogCollector(ILogStorage logStorage)
89
- {
90
- if (logStorage == null)
91
- throw new ArgumentNullException(nameof(logStorage));
92
-
93
- if (LogCollector != null)
94
- throw new InvalidOperationException($"{nameof(UnityLogCollector)} is already added.");
95
-
96
- LogCollector = new UnityLogCollector(logStorage);
97
- _disposables.Add(LogCollector);
98
- }
99
-
100
- public void AddUnityLogCollectorIfNeeded(Func<ILogStorage> logStorageProvider)
101
- {
102
- if (LogCollector != null)
103
- return;
104
-
105
- AddUnityLogCollector(logStorageProvider());
106
- }
107
-
108
- public void DisposeLogCollector()
109
- {
110
- LogCollector?.Save();
111
- LogCollector?.Dispose();
112
- LogCollector = null;
113
- }
114
-
115
- // --- Connection methods ---
116
-
117
- public Task<bool> ConnectIfNeeded(CancellationToken cancellationToken = default)
118
- {
119
- if (!unityConnectionConfig.KeepConnected)
120
- return Task.FromResult(false);
121
- return ConnectCore(restartPendingAttempt: false, cancellationToken);
122
- }
123
-
124
- /// <summary>
125
- /// Starts an explicit connection attempt. If an earlier attempt is still pending while
126
- /// the plugin is disconnected, it is cancelled first so the new attempt does not merely
127
- /// wait behind stale connection work.
128
- /// </summary>
129
- public Task<bool> Connect(CancellationToken cancellationToken = default)
130
- => ConnectCore(restartPendingAttempt: true, cancellationToken);
131
-
132
- private async Task<bool> ConnectCore(
133
- bool restartPendingAttempt,
134
- CancellationToken cancellationToken)
135
- {
136
- _logger.LogTrace("{method} called.", nameof(Connect));
137
- try
138
- {
139
- var mcpPlugin = UcoPluginInstance;
140
- if (mcpPlugin == null)
141
- {
142
- _logger.LogError("{method}: uco plugin instance is null.", nameof(Connect));
143
- return false;
144
- }
145
-
146
- if (restartPendingAttempt
147
- && mcpPlugin.ConnectionState.CurrentValue != WsState.Connected)
148
- {
149
- // ConnectionManager cancellation happens before its bounded synchronous
150
- // cleanup, so the old attempt releases its gate while the new call waits
151
- // with the caller-provided cancellation token.
152
- mcpPlugin.DisconnectImmediate();
153
- }
154
-
155
- return await mcpPlugin.Connect(cancellationToken);
156
- }
157
- finally
158
- {
159
- _logger.LogTrace("{method} completed.", nameof(Connect));
160
- }
161
- }
162
-
163
- public async Task Disconnect()
164
- {
165
- _logger.LogTrace("{method} called.", nameof(Disconnect));
166
- try
167
- {
168
- var mcpPlugin = UcoPluginInstance;
169
- if (mcpPlugin == null)
170
- {
171
- _logger.LogWarning("{method}: uco plugin instance is null, nothing to disconnect, ignoring.",
172
- nameof(Disconnect));
173
- return;
174
- }
175
- try
176
- {
177
- _logger.LogDebug("{method}: Disconnecting uco plugin instance.", nameof(Disconnect));
178
- await mcpPlugin.Disconnect();
179
- }
180
- catch (Exception e)
181
- {
182
- _logger.LogError("{method}: Exception during disconnecting: {exception}",
183
- nameof(Disconnect), e);
184
- }
185
- }
186
- finally
187
- {
188
- _logger.LogTrace("{method} completed.", nameof(Disconnect));
189
- }
190
- }
191
-
192
- public void DisconnectImmediate()
193
- {
194
- _logger.LogTrace("{method} called.", nameof(DisconnectImmediate));
195
- try
196
- {
197
- var mcpPlugin = UcoPluginInstance;
198
- if (mcpPlugin == null)
199
- {
200
- _logger.LogWarning("{method}: uco plugin instance is null, nothing to disconnect, ignoring.",
201
- nameof(DisconnectImmediate));
202
- return;
203
- }
204
- try
205
- {
206
- _logger.LogDebug("{method}: Disconnecting uco plugin instance.", nameof(DisconnectImmediate));
207
- mcpPlugin.DisconnectImmediate();
208
- }
209
- catch (Exception e)
210
- {
211
- _logger.LogError("{method}: Exception during disconnecting: {exception}",
212
- nameof(DisconnectImmediate), e);
213
- }
214
- }
215
- finally
216
- {
217
- _logger.LogTrace("{method} completed.", nameof(DisconnectImmediate));
218
- }
219
- }
220
-
221
- public async Task NotifyToolRequestCompleted(RequestToolCompletedData request, CancellationToken cancellationToken = default)
222
- {
223
- var mcpPlugin = UcoPluginInstance
224
- ?? throw new InvalidOperationException($"{nameof(UcoPluginInstance)} is null");
225
-
226
- while (mcpPlugin.ConnectionState.CurrentValue != WsState.Connected)
227
- {
228
- await Task.Delay(100, cancellationToken);
229
- if (cancellationToken.IsCancellationRequested)
230
- {
231
- _logger.LogWarning("{method}: operation cancelled while waiting for connection.",
232
- nameof(NotifyToolRequestCompleted));
233
- return;
234
- }
235
- }
236
-
237
- if (mcpPlugin.UcoManager == null)
238
- {
239
- _logger.LogCritical("{method}: {instance} is null",
240
- nameof(NotifyToolRequestCompleted), nameof(mcpPlugin.UcoManager));
241
- return;
242
- }
243
-
244
- if (mcpPlugin.UcoManagerHub == null)
245
- {
246
- _logger.LogCritical("{method}: {instance} is null",
247
- nameof(NotifyToolRequestCompleted), nameof(mcpPlugin.UcoManagerHub));
248
- return;
249
- }
250
-
251
- await mcpPlugin.UcoManagerHub.NotifyToolRequestCompleted(request);
252
- }
253
-
254
- // --- Token / Port utilities ---
255
-
256
- /// <summary>
257
- /// Generates a cryptographically random URL-safe token.
258
- /// Used by <see cref="UnityConnectionConfig.SetDefault"/> for initial token generation.
259
- /// </summary>
260
- public static string GenerateToken()
261
- {
262
- var bytes = new byte[32];
263
- using var rng = System.Security.Cryptography.RandomNumberGenerator.Create();
264
- rng.GetBytes(bytes);
265
- return Convert.ToBase64String(bytes).TrimEnd('=').Replace('+', '-').Replace('/', '_');
266
- }
267
-
268
- /// <summary>
269
- /// Generate a deterministic TCP port based on current directory.
270
- /// Uses SHA256 hash for better distribution and less collisions.
271
- /// Port range: 20000-29999 (avoids Windows ephemeral/reserved port ranges).
272
- /// </summary>
273
- public static int GeneratePortFromDirectory()
274
- {
275
- const int MinPort = 20000; // Range chosen to avoid Windows ephemeral/reserved ports (49152-65535)
276
- const int MaxPort = 29999;
277
- const int PortRange = MaxPort - MinPort + 1;
278
-
279
- var currentDir = Environment.CurrentDirectory.ToLowerInvariant();
280
-
281
- using (var sha256 = System.Security.Cryptography.SHA256.Create())
282
- {
283
- var hashBytes = sha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes(currentDir));
284
-
285
- // Use first 4 bytes as an unsigned integer to avoid Math.Abs(int.MinValue) overflow
286
- var hash = (uint)BitConverter.ToInt32(hashBytes, 0);
287
-
288
- // Map to port range
289
- var port = MinPort + (int)(hash % PortRange);
290
-
291
- return port;
292
- }
293
- }
294
- }
295
- }
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
+
13
+ using System;
14
+ using System.Threading;
15
+ using System.Threading.Tasks;
16
+ using com.AtelierAI.Uco.Framework;
17
+ using WsState = com.AtelierAI.Uco.Framework.ConnectionState;
18
+ using com.AtelierAI.Uco.Framework.Common.Model;
19
+ using com.IvanMurzak.ReflectorNet;
20
+ using Microsoft.Extensions.Logging;
21
+ using R3;
22
+
23
+ namespace com.AtelierAI.Unity.Copilot
24
+ {
25
+ using LogLevel = Runtime.Utils.LogLevel;
26
+
27
+ public partial class UnityCopilotPlugin : IDisposable
28
+ {
29
+ public const string Version = "1.0.6";
30
+
31
+ private static int _singletonCount = 0;
32
+ public static bool HasAnyInstance => _singletonCount > 0;
33
+ protected static void IncrementSingletonCount() => Interlocked.Increment(ref _singletonCount);
34
+ protected static void DecrementSingletonCount() => Interlocked.Decrement(ref _singletonCount);
35
+
36
+ private static LogLevel _configuredLogLevel = LogLevel.Warning;
37
+ // Uses direct enum comparison: configured threshold <= requested level means enabled
38
+ public static bool IsLogEnabled(LogLevel level) => _configuredLogLevel <= level;
39
+ public static void ApplyLogLevel(LogLevel level) => _configuredLogLevel = level;
40
+
41
+ protected readonly CompositeDisposable _disposables = new();
42
+ protected readonly CopilotPluginSlot _plugin = new();
43
+
44
+ // Tracks only the latest plugin's ConnectionState subscription.
45
+ // Replaced (old one disposed) each time BuildUcoPlugin creates a new IUcoPlugin instance.
46
+ private IDisposable? _pluginConnectionSubscription;
47
+
48
+ public IUcoPlugin? UcoPluginInstance => _plugin.Instance;
49
+ public bool HasUcoPluginInstance => _plugin.HasInstance;
50
+
51
+ public ILogger Logger => UcoPluginInstance?.Logger ?? _logger;
52
+ public Reflector? Reflector => UcoPluginInstance?.UcoManager.Reflector;
53
+ public IToolManager? Tools => UcoPluginInstance?.UcoManager.ToolManager;
54
+ public IPromptManager? Prompts => UcoPluginInstance?.UcoManager.PromptManager;
55
+ public IResourceManager? Resources => UcoPluginInstance?.UcoManager.ResourceManager;
56
+
57
+ public UnityLogCollector? LogCollector { get; protected set; } = null;
58
+
59
+ // --- Connection state ---
60
+
61
+ protected readonly ReactiveProperty<WsState> _connectionState
62
+ = new(WsState.Disconnected);
63
+
64
+ public ReadOnlyReactiveProperty<WsState> ConnectionState => _connectionState;
65
+
66
+ public ReadOnlyReactiveProperty<bool> IsConnected => _connectionState
67
+ .Select(x => x == WsState.Connected)
68
+ .ToReadOnlyReactiveProperty(false);
69
+
70
+ // --- Constructor / Dispose ---
71
+
72
+ protected UnityCopilotPlugin()
73
+ {
74
+ _disposables.Add(_connectionState);
75
+ }
76
+
77
+ public virtual void Dispose()
78
+ {
79
+ _pluginConnectionSubscription?.Dispose();
80
+ _pluginConnectionSubscription = null;
81
+ _disposables.Dispose();
82
+ // LogCollector and _connectionState are disposed by _disposables
83
+ LogCollector = null;
84
+ }
85
+
86
+ // --- Log collector ---
87
+
88
+ public void AddUnityLogCollector(ILogStorage logStorage)
89
+ {
90
+ if (logStorage == null)
91
+ throw new ArgumentNullException(nameof(logStorage));
92
+
93
+ if (LogCollector != null)
94
+ throw new InvalidOperationException($"{nameof(UnityLogCollector)} is already added.");
95
+
96
+ LogCollector = new UnityLogCollector(logStorage);
97
+ _disposables.Add(LogCollector);
98
+ }
99
+
100
+ public void AddUnityLogCollectorIfNeeded(Func<ILogStorage> logStorageProvider)
101
+ {
102
+ if (LogCollector != null)
103
+ return;
104
+
105
+ AddUnityLogCollector(logStorageProvider());
106
+ }
107
+
108
+ public void DisposeLogCollector()
109
+ {
110
+ LogCollector?.Save();
111
+ LogCollector?.Dispose();
112
+ LogCollector = null;
113
+ }
114
+
115
+ // --- Connection methods ---
116
+
117
+ public Task<bool> ConnectIfNeeded(CancellationToken cancellationToken = default)
118
+ {
119
+ if (!unityConnectionConfig.KeepConnected)
120
+ return Task.FromResult(false);
121
+ return ConnectCore(restartPendingAttempt: false, cancellationToken);
122
+ }
123
+
124
+ /// <summary>
125
+ /// Starts an explicit connection attempt. If an earlier attempt is still pending while
126
+ /// the plugin is disconnected, it is cancelled first so the new attempt does not merely
127
+ /// wait behind stale connection work.
128
+ /// </summary>
129
+ public Task<bool> Connect(CancellationToken cancellationToken = default)
130
+ => ConnectCore(restartPendingAttempt: true, cancellationToken);
131
+
132
+ private async Task<bool> ConnectCore(
133
+ bool restartPendingAttempt,
134
+ CancellationToken cancellationToken)
135
+ {
136
+ _logger.LogTrace("{method} called.", nameof(Connect));
137
+ try
138
+ {
139
+ var ucoPlugin = UcoPluginInstance;
140
+ if (ucoPlugin == null)
141
+ {
142
+ _logger.LogError("{method}: uco plugin instance is null.", nameof(Connect));
143
+ return false;
144
+ }
145
+
146
+ if (restartPendingAttempt
147
+ && ucoPlugin.ConnectionState.CurrentValue != WsState.Connected)
148
+ {
149
+ // ConnectionManager cancellation happens before its bounded synchronous
150
+ // cleanup, so the old attempt releases its gate while the new call waits
151
+ // with the caller-provided cancellation token.
152
+ ucoPlugin.DisconnectImmediate();
153
+ }
154
+
155
+ return await ucoPlugin.Connect(cancellationToken);
156
+ }
157
+ finally
158
+ {
159
+ _logger.LogTrace("{method} completed.", nameof(Connect));
160
+ }
161
+ }
162
+
163
+ public async Task Disconnect()
164
+ {
165
+ _logger.LogTrace("{method} called.", nameof(Disconnect));
166
+ try
167
+ {
168
+ var ucoPlugin = UcoPluginInstance;
169
+ if (ucoPlugin == null)
170
+ {
171
+ _logger.LogWarning("{method}: uco plugin instance is null, nothing to disconnect, ignoring.",
172
+ nameof(Disconnect));
173
+ return;
174
+ }
175
+ try
176
+ {
177
+ _logger.LogDebug("{method}: Disconnecting uco plugin instance.", nameof(Disconnect));
178
+ await ucoPlugin.Disconnect();
179
+ }
180
+ catch (Exception e)
181
+ {
182
+ _logger.LogError("{method}: Exception during disconnecting: {exception}",
183
+ nameof(Disconnect), e);
184
+ }
185
+ }
186
+ finally
187
+ {
188
+ _logger.LogTrace("{method} completed.", nameof(Disconnect));
189
+ }
190
+ }
191
+
192
+ public void DisconnectImmediate()
193
+ {
194
+ _logger.LogTrace("{method} called.", nameof(DisconnectImmediate));
195
+ try
196
+ {
197
+ var ucoPlugin = UcoPluginInstance;
198
+ if (ucoPlugin == null)
199
+ {
200
+ _logger.LogWarning("{method}: uco plugin instance is null, nothing to disconnect, ignoring.",
201
+ nameof(DisconnectImmediate));
202
+ return;
203
+ }
204
+ try
205
+ {
206
+ _logger.LogDebug("{method}: Disconnecting uco plugin instance.", nameof(DisconnectImmediate));
207
+ ucoPlugin.DisconnectImmediate();
208
+ }
209
+ catch (Exception e)
210
+ {
211
+ _logger.LogError("{method}: Exception during disconnecting: {exception}",
212
+ nameof(DisconnectImmediate), e);
213
+ }
214
+ }
215
+ finally
216
+ {
217
+ _logger.LogTrace("{method} completed.", nameof(DisconnectImmediate));
218
+ }
219
+ }
220
+
221
+ public async Task NotifyToolRequestCompleted(RequestToolCompletedData request, CancellationToken cancellationToken = default)
222
+ {
223
+ var ucoPlugin = UcoPluginInstance
224
+ ?? throw new InvalidOperationException($"{nameof(UcoPluginInstance)} is null");
225
+
226
+ while (ucoPlugin.ConnectionState.CurrentValue != WsState.Connected)
227
+ {
228
+ await Task.Delay(100, cancellationToken);
229
+ if (cancellationToken.IsCancellationRequested)
230
+ {
231
+ _logger.LogWarning("{method}: operation cancelled while waiting for connection.",
232
+ nameof(NotifyToolRequestCompleted));
233
+ return;
234
+ }
235
+ }
236
+
237
+ if (ucoPlugin.UcoManager == null)
238
+ {
239
+ _logger.LogCritical("{method}: {instance} is null",
240
+ nameof(NotifyToolRequestCompleted), nameof(ucoPlugin.UcoManager));
241
+ return;
242
+ }
243
+
244
+ if (ucoPlugin.UcoManagerHub == null)
245
+ {
246
+ _logger.LogCritical("{method}: {instance} is null",
247
+ nameof(NotifyToolRequestCompleted), nameof(ucoPlugin.UcoManagerHub));
248
+ return;
249
+ }
250
+
251
+ await ucoPlugin.UcoManagerHub.NotifyToolRequestCompleted(request);
252
+ }
253
+
254
+ // --- Token / Port utilities ---
255
+
256
+ /// <summary>
257
+ /// Generates a cryptographically random URL-safe token.
258
+ /// Used by <see cref="UnityConnectionConfig.SetDefault"/> for initial token generation.
259
+ /// </summary>
260
+ public static string GenerateToken()
261
+ {
262
+ var bytes = new byte[32];
263
+ using var rng = System.Security.Cryptography.RandomNumberGenerator.Create();
264
+ rng.GetBytes(bytes);
265
+ return Convert.ToBase64String(bytes).TrimEnd('=').Replace('+', '-').Replace('/', '_');
266
+ }
267
+
268
+ /// <summary>
269
+ /// Generate a deterministic TCP port based on current directory.
270
+ /// Uses SHA256 hash for better distribution and less collisions.
271
+ /// Port range: 20000-29999 (avoids Windows ephemeral/reserved port ranges).
272
+ /// </summary>
273
+ public static int GeneratePortFromDirectory()
274
+ {
275
+ const int MinPort = 20000; // Range chosen to avoid Windows ephemeral/reserved ports (49152-65535)
276
+ const int MaxPort = 29999;
277
+ const int PortRange = MaxPort - MinPort + 1;
278
+
279
+ var currentDir = Environment.CurrentDirectory.ToLowerInvariant();
280
+
281
+ using (var sha256 = System.Security.Cryptography.SHA256.Create())
282
+ {
283
+ var hashBytes = sha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes(currentDir));
284
+
285
+ // Use first 4 bytes as an unsigned integer to avoid Math.Abs(int.MinValue) overflow
286
+ var hash = (uint)BitConverter.ToInt32(hashBytes, 0);
287
+
288
+ // Map to port range
289
+ var port = MinPort + (int)(hash % PortRange);
290
+
291
+ return port;
292
+ }
293
+ }
294
+ }
295
+ }