@alpsckr/unitycli 0.4.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 (1066) hide show
  1. package/README.md +389 -0
  2. package/contracts/command-contract.json +3972 -0
  3. package/contracts/stable-session/admission-acquire-v1.schema.json +16 -0
  4. package/contracts/stable-session/admission-response-v1.schema.json +30 -0
  5. package/contracts/stable-session/admission-revoke-v1.schema.json +15 -0
  6. package/contracts/stable-session/admission-transport-v1.json +36 -0
  7. package/contracts/stable-session/bridge-request-v2.schema.json +26 -0
  8. package/contracts/stable-session/canonical-path-v1-golden.json +23 -0
  9. package/contracts/stable-session/completion-contract.schema.json +46 -0
  10. package/contracts/stable-session/direct-call-semantics.json +102 -0
  11. package/contracts/stable-session/editor-state.schema.json +92 -0
  12. package/contracts/stable-session/health-v3.schema.json +47 -0
  13. package/contracts/stable-session/instance-registry-v3.schema.json +152 -0
  14. package/contracts/stable-session/removal-map.json +27 -0
  15. package/contracts/stable-session/request-digest-v1-golden.json +7 -0
  16. package/contracts/stable-session/runtime-config-v2.schema.json +27 -0
  17. package/contracts/static-capability-catalog.json +48226 -0
  18. package/contracts/tool-completion-contract.json +11322 -0
  19. package/dist/args.d.ts +27 -0
  20. package/dist/args.js +109 -0
  21. package/dist/args.js.map +1 -0
  22. package/dist/bridge/admission.d.ts +28 -0
  23. package/dist/bridge/admission.js +29 -0
  24. package/dist/bridge/admission.js.map +1 -0
  25. package/dist/bridge/args.d.ts +16 -0
  26. package/dist/bridge/args.js +123 -0
  27. package/dist/bridge/args.js.map +1 -0
  28. package/dist/bridge/domains/animation.d.ts +2 -0
  29. package/dist/bridge/domains/animation.js +199 -0
  30. package/dist/bridge/domains/animation.js.map +1 -0
  31. package/dist/bridge/domains/asset.d.ts +2 -0
  32. package/dist/bridge/domains/asset.js +85 -0
  33. package/dist/bridge/domains/asset.js.map +1 -0
  34. package/dist/bridge/domains/build.d.ts +2 -0
  35. package/dist/bridge/domains/build.js +35 -0
  36. package/dist/bridge/domains/build.js.map +1 -0
  37. package/dist/bridge/domains/camera.d.ts +2 -0
  38. package/dist/bridge/domains/camera.js +54 -0
  39. package/dist/bridge/domains/camera.js.map +1 -0
  40. package/dist/bridge/domains/code.d.ts +2 -0
  41. package/dist/bridge/domains/code.js +17 -0
  42. package/dist/bridge/domains/code.js.map +1 -0
  43. package/dist/bridge/domains/console.d.ts +2 -0
  44. package/dist/bridge/domains/console.js +34 -0
  45. package/dist/bridge/domains/console.js.map +1 -0
  46. package/dist/bridge/domains/diagnose.d.ts +2 -0
  47. package/dist/bridge/domains/diagnose.js +11 -0
  48. package/dist/bridge/domains/diagnose.js.map +1 -0
  49. package/dist/bridge/domains/editor.d.ts +2 -0
  50. package/dist/bridge/domains/editor.js +66 -0
  51. package/dist/bridge/domains/editor.js.map +1 -0
  52. package/dist/bridge/domains/extension.d.ts +8 -0
  53. package/dist/bridge/domains/extension.js +20 -0
  54. package/dist/bridge/domains/extension.js.map +1 -0
  55. package/dist/bridge/domains/game-object.d.ts +2 -0
  56. package/dist/bridge/domains/game-object.js +179 -0
  57. package/dist/bridge/domains/game-object.js.map +1 -0
  58. package/dist/bridge/domains/graphics.d.ts +2 -0
  59. package/dist/bridge/domains/graphics.js +185 -0
  60. package/dist/bridge/domains/graphics.js.map +1 -0
  61. package/dist/bridge/domains/material.d.ts +2 -0
  62. package/dist/bridge/domains/material.js +70 -0
  63. package/dist/bridge/domains/material.js.map +1 -0
  64. package/dist/bridge/domains/navmesh.d.ts +2 -0
  65. package/dist/bridge/domains/navmesh.js +34 -0
  66. package/dist/bridge/domains/navmesh.js.map +1 -0
  67. package/dist/bridge/domains/object.d.ts +2 -0
  68. package/dist/bridge/domains/object.js +43 -0
  69. package/dist/bridge/domains/object.js.map +1 -0
  70. package/dist/bridge/domains/occlusion.d.ts +2 -0
  71. package/dist/bridge/domains/occlusion.js +12 -0
  72. package/dist/bridge/domains/occlusion.js.map +1 -0
  73. package/dist/bridge/domains/package.d.ts +2 -0
  74. package/dist/bridge/domains/package.js +2 -0
  75. package/dist/bridge/domains/package.js.map +1 -0
  76. package/dist/bridge/domains/physics.d.ts +2 -0
  77. package/dist/bridge/domains/physics.js +139 -0
  78. package/dist/bridge/domains/physics.js.map +1 -0
  79. package/dist/bridge/domains/prefab.d.ts +2 -0
  80. package/dist/bridge/domains/prefab.js +104 -0
  81. package/dist/bridge/domains/prefab.js.map +1 -0
  82. package/dist/bridge/domains/profiler.d.ts +2 -0
  83. package/dist/bridge/domains/profiler.js +105 -0
  84. package/dist/bridge/domains/profiler.js.map +1 -0
  85. package/dist/bridge/domains/project-tool.d.ts +2 -0
  86. package/dist/bridge/domains/project-tool.js +46 -0
  87. package/dist/bridge/domains/project-tool.js.map +1 -0
  88. package/dist/bridge/domains/reflection.d.ts +2 -0
  89. package/dist/bridge/domains/reflection.js +48 -0
  90. package/dist/bridge/domains/reflection.js.map +1 -0
  91. package/dist/bridge/domains/runtime-tool.d.ts +2 -0
  92. package/dist/bridge/domains/runtime-tool.js +48 -0
  93. package/dist/bridge/domains/runtime-tool.js.map +1 -0
  94. package/dist/bridge/domains/scene.d.ts +2 -0
  95. package/dist/bridge/domains/scene.js +100 -0
  96. package/dist/bridge/domains/scene.js.map +1 -0
  97. package/dist/bridge/domains/screenshot.d.ts +2 -0
  98. package/dist/bridge/domains/screenshot.js +85 -0
  99. package/dist/bridge/domains/screenshot.js.map +1 -0
  100. package/dist/bridge/domains/scriptable-object.d.ts +2 -0
  101. package/dist/bridge/domains/scriptable-object.js +53 -0
  102. package/dist/bridge/domains/scriptable-object.js.map +1 -0
  103. package/dist/bridge/domains/shader.d.ts +2 -0
  104. package/dist/bridge/domains/shader.js +66 -0
  105. package/dist/bridge/domains/shader.js.map +1 -0
  106. package/dist/bridge/domains/texture.d.ts +2 -0
  107. package/dist/bridge/domains/texture.js +78 -0
  108. package/dist/bridge/domains/texture.js.map +1 -0
  109. package/dist/bridge/domains/timeline.d.ts +2 -0
  110. package/dist/bridge/domains/timeline.js +75 -0
  111. package/dist/bridge/domains/timeline.js.map +1 -0
  112. package/dist/bridge/domains/ui.d.ts +2 -0
  113. package/dist/bridge/domains/ui.js +193 -0
  114. package/dist/bridge/domains/ui.js.map +1 -0
  115. package/dist/bridge/index.d.ts +9 -0
  116. package/dist/bridge/index.js +124 -0
  117. package/dist/bridge/index.js.map +1 -0
  118. package/dist/bridge/registry.d.ts +19 -0
  119. package/dist/bridge/registry.js +114 -0
  120. package/dist/bridge/registry.js.map +1 -0
  121. package/dist/bridge/session-supervisor.d.ts +138 -0
  122. package/dist/bridge/session-supervisor.js +873 -0
  123. package/dist/bridge/session-supervisor.js.map +1 -0
  124. package/dist/bridge/types.d.ts +61 -0
  125. package/dist/bridge/types.js +17 -0
  126. package/dist/bridge/types.js.map +1 -0
  127. package/dist/capabilities.d.ts +5 -0
  128. package/dist/capabilities.js +84 -0
  129. package/dist/capabilities.js.map +1 -0
  130. package/dist/cli-commands/command.d.ts +7 -0
  131. package/dist/cli-commands/command.js +513 -0
  132. package/dist/cli-commands/command.js.map +1 -0
  133. package/dist/cli-commands/extension-auto-detect.d.ts +62 -0
  134. package/dist/cli-commands/extension-auto-detect.js +119 -0
  135. package/dist/cli-commands/extension-auto-detect.js.map +1 -0
  136. package/dist/cli-commands/extensions.d.ts +24 -0
  137. package/dist/cli-commands/extensions.js +428 -0
  138. package/dist/cli-commands/extensions.js.map +1 -0
  139. package/dist/cli-commands/package.d.ts +4 -0
  140. package/dist/cli-commands/package.js +151 -0
  141. package/dist/cli-commands/package.js.map +1 -0
  142. package/dist/cli-commands/skill-installer.d.ts +83 -0
  143. package/dist/cli-commands/skill-installer.js +703 -0
  144. package/dist/cli-commands/skill-installer.js.map +1 -0
  145. package/dist/cli-commands/types.d.ts +17 -0
  146. package/dist/cli-commands/types.js +2 -0
  147. package/dist/cli-commands/types.js.map +1 -0
  148. package/dist/cli.d.ts +17 -0
  149. package/dist/cli.js +302 -0
  150. package/dist/cli.js.map +1 -0
  151. package/dist/contracts/command-contract.d.ts +21 -0
  152. package/dist/contracts/command-contract.js +143 -0
  153. package/dist/contracts/command-contract.js.map +1 -0
  154. package/dist/contracts/csharp-command-extractor.d.ts +1 -0
  155. package/dist/contracts/csharp-command-extractor.js +89 -0
  156. package/dist/contracts/csharp-command-extractor.js.map +1 -0
  157. package/dist/contracts/validate-command-contract.d.ts +1 -0
  158. package/dist/contracts/validate-command-contract.js +86 -0
  159. package/dist/contracts/validate-command-contract.js.map +1 -0
  160. package/dist/doctor.d.ts +22 -0
  161. package/dist/doctor.js +498 -0
  162. package/dist/doctor.js.map +1 -0
  163. package/dist/editor-blocker-observer.d.ts +45 -0
  164. package/dist/editor-blocker-observer.js +55 -0
  165. package/dist/editor-blocker-observer.js.map +1 -0
  166. package/dist/editor-dialogs.d.ts +53 -0
  167. package/dist/editor-dialogs.js +79 -0
  168. package/dist/editor-dialogs.js.map +1 -0
  169. package/dist/extension-availability.d.ts +30 -0
  170. package/dist/extension-availability.js +83 -0
  171. package/dist/extension-availability.js.map +1 -0
  172. package/dist/extensions/.generated-bridge-domains/cinemachine.d.ts +2 -0
  173. package/dist/extensions/.generated-bridge-domains/cinemachine.js +104 -0
  174. package/dist/extensions/.generated-bridge-domains/cinemachine.js.map +1 -0
  175. package/dist/extensions/.generated-bridge-domains/hdrp.d.ts +2 -0
  176. package/dist/extensions/.generated-bridge-domains/hdrp.js +35 -0
  177. package/dist/extensions/.generated-bridge-domains/hdrp.js.map +1 -0
  178. package/dist/extensions/.generated-bridge-domains/probuilder.d.ts +13 -0
  179. package/dist/extensions/.generated-bridge-domains/probuilder.js +342 -0
  180. package/dist/extensions/.generated-bridge-domains/probuilder.js.map +1 -0
  181. package/dist/extensions/.generated-bridge-domains/urp.d.ts +2 -0
  182. package/dist/extensions/.generated-bridge-domains/urp.js +52 -0
  183. package/dist/extensions/.generated-bridge-domains/urp.js.map +1 -0
  184. package/dist/extensions/.generated-bridge-domains/vfx.d.ts +2 -0
  185. package/dist/extensions/.generated-bridge-domains/vfx.js +312 -0
  186. package/dist/extensions/.generated-bridge-domains/vfx.js.map +1 -0
  187. package/dist/extensions/.generated-registry-data.d.ts +7 -0
  188. package/dist/extensions/.generated-registry-data.js +895 -0
  189. package/dist/extensions/.generated-registry-data.js.map +1 -0
  190. package/dist/extensions/contribution-loader.d.ts +27 -0
  191. package/dist/extensions/contribution-loader.js +60 -0
  192. package/dist/extensions/contribution-loader.js.map +1 -0
  193. package/dist/extensions/descriptor-loader.d.ts +73 -0
  194. package/dist/extensions/descriptor-loader.js +126 -0
  195. package/dist/extensions/descriptor-loader.js.map +1 -0
  196. package/dist/extensions/index.d.ts +19 -0
  197. package/dist/extensions/index.js +23 -0
  198. package/dist/extensions/index.js.map +1 -0
  199. package/dist/extensions/installer.d.ts +80 -0
  200. package/dist/extensions/installer.js +594 -0
  201. package/dist/extensions/installer.js.map +1 -0
  202. package/dist/extensions/metadata/index.d.ts +15 -0
  203. package/dist/extensions/metadata/index.js +41 -0
  204. package/dist/extensions/metadata/index.js.map +1 -0
  205. package/dist/extensions/metadata/types.d.ts +38 -0
  206. package/dist/extensions/metadata/types.js +11 -0
  207. package/dist/extensions/metadata/types.js.map +1 -0
  208. package/dist/extensions/project-resolver.d.ts +35 -0
  209. package/dist/extensions/project-resolver.js +61 -0
  210. package/dist/extensions/project-resolver.js.map +1 -0
  211. package/dist/extensions/registry.d.ts +86 -0
  212. package/dist/extensions/registry.js +262 -0
  213. package/dist/extensions/registry.js.map +1 -0
  214. package/dist/extensions/tool-manifest.d.ts +29 -0
  215. package/dist/extensions/tool-manifest.js +53 -0
  216. package/dist/extensions/tool-manifest.js.map +1 -0
  217. package/dist/extensions/types.d.ts +115 -0
  218. package/dist/extensions/types.js +12 -0
  219. package/dist/extensions/types.js.map +1 -0
  220. package/dist/instances.d.ts +163 -0
  221. package/dist/instances.js +1137 -0
  222. package/dist/instances.js.map +1 -0
  223. package/dist/output.d.ts +119 -0
  224. package/dist/output.js +204 -0
  225. package/dist/output.js.map +1 -0
  226. package/dist/package-manager.d.ts +280 -0
  227. package/dist/package-manager.js +1832 -0
  228. package/dist/package-manager.js.map +1 -0
  229. package/dist/platform.d.ts +3 -0
  230. package/dist/platform.js +19 -0
  231. package/dist/platform.js.map +1 -0
  232. package/dist/project-identity.d.ts +48 -0
  233. package/dist/project-identity.js +254 -0
  234. package/dist/project-identity.js.map +1 -0
  235. package/dist/project-tool-discovery.d.ts +23 -0
  236. package/dist/project-tool-discovery.js +292 -0
  237. package/dist/project-tool-discovery.js.map +1 -0
  238. package/dist/protocol/envelope.d.ts +64 -0
  239. package/dist/protocol/envelope.js +8 -0
  240. package/dist/protocol/envelope.js.map +1 -0
  241. package/dist/protocol/index.d.ts +7 -0
  242. package/dist/protocol/index.js +2 -0
  243. package/dist/protocol/index.js.map +1 -0
  244. package/dist/runtime-code.d.ts +20 -0
  245. package/dist/runtime-code.js +232 -0
  246. package/dist/runtime-code.js.map +1 -0
  247. package/dist/schema/any-json.d.ts +4 -0
  248. package/dist/schema/any-json.js +2 -0
  249. package/dist/schema/any-json.js.map +1 -0
  250. package/dist/schema/validator.d.ts +7 -0
  251. package/dist/schema/validator.js +135 -0
  252. package/dist/schema/validator.js.map +1 -0
  253. package/dist/services/docs-reflect-cache.d.ts +106 -0
  254. package/dist/services/docs-reflect-cache.js +301 -0
  255. package/dist/services/docs-reflect-cache.js.map +1 -0
  256. package/dist/services/docs-service.d.ts +16 -0
  257. package/dist/services/docs-service.js +208 -0
  258. package/dist/services/docs-service.js.map +1 -0
  259. package/dist/services/reflect-service.d.ts +12 -0
  260. package/dist/services/reflect-service.js +122 -0
  261. package/dist/services/reflect-service.js.map +1 -0
  262. package/dist/static-capability-catalog.d.ts +13 -0
  263. package/dist/static-capability-catalog.js +41 -0
  264. package/dist/static-capability-catalog.js.map +1 -0
  265. package/dist/test-results.d.ts +13 -0
  266. package/dist/test-results.js +44 -0
  267. package/dist/test-results.js.map +1 -0
  268. package/dist/tools/.generated-completion-registry.d.ts +17 -0
  269. package/dist/tools/.generated-completion-registry.js +5862 -0
  270. package/dist/tools/.generated-completion-registry.js.map +1 -0
  271. package/dist/tools/.generated-registry.d.ts +53 -0
  272. package/dist/tools/.generated-registry.js +55 -0
  273. package/dist/tools/.generated-registry.js.map +1 -0
  274. package/dist/tools/.generated-schemas.d.ts +1 -0
  275. package/dist/tools/.generated-schemas.js +56 -0
  276. package/dist/tools/.generated-schemas.js.map +1 -0
  277. package/dist/tools/asset/refresh.d.ts +26 -0
  278. package/dist/tools/asset/refresh.js +97 -0
  279. package/dist/tools/asset/refresh.js.map +1 -0
  280. package/dist/tools/build/run.d.ts +45 -0
  281. package/dist/tools/build/run.js +115 -0
  282. package/dist/tools/build/run.js.map +1 -0
  283. package/dist/tools/catalog.d.ts +33 -0
  284. package/dist/tools/catalog.js +202 -0
  285. package/dist/tools/catalog.js.map +1 -0
  286. package/dist/tools/code/exec.d.ts +53 -0
  287. package/dist/tools/code/exec.js +59 -0
  288. package/dist/tools/code/exec.js.map +1 -0
  289. package/dist/tools/commands.d.ts +5 -0
  290. package/dist/tools/commands.js +45 -0
  291. package/dist/tools/commands.js.map +1 -0
  292. package/dist/tools/completion-probe.d.ts +22 -0
  293. package/dist/tools/completion-probe.js +2 -0
  294. package/dist/tools/completion-probe.js.map +1 -0
  295. package/dist/tools/define.d.ts +77 -0
  296. package/dist/tools/define.js +58 -0
  297. package/dist/tools/define.js.map +1 -0
  298. package/dist/tools/diagnose/capabilities.d.ts +13 -0
  299. package/dist/tools/diagnose/capabilities.js +34 -0
  300. package/dist/tools/diagnose/capabilities.js.map +1 -0
  301. package/dist/tools/dispatcher.d.ts +27 -0
  302. package/dist/tools/dispatcher.js +971 -0
  303. package/dist/tools/dispatcher.js.map +1 -0
  304. package/dist/tools/docs/get.d.ts +22 -0
  305. package/dist/tools/docs/get.js +22 -0
  306. package/dist/tools/docs/get.js.map +1 -0
  307. package/dist/tools/docs/search.d.ts +31 -0
  308. package/dist/tools/docs/search.js +22 -0
  309. package/dist/tools/docs/search.js.map +1 -0
  310. package/dist/tools/editor/compile.d.ts +66 -0
  311. package/dist/tools/editor/compile.js +225 -0
  312. package/dist/tools/editor/compile.js.map +1 -0
  313. package/dist/tools/editor/dialog/click.d.ts +12 -0
  314. package/dist/tools/editor/dialog/click.js +71 -0
  315. package/dist/tools/editor/dialog/click.js.map +1 -0
  316. package/dist/tools/editor/dialogs.d.ts +12 -0
  317. package/dist/tools/editor/dialogs.js +58 -0
  318. package/dist/tools/editor/dialogs.js.map +1 -0
  319. package/dist/tools/editor/readiness.d.ts +13 -0
  320. package/dist/tools/editor/readiness.js +24 -0
  321. package/dist/tools/editor/readiness.js.map +1 -0
  322. package/dist/tools/editor/refresh.d.ts +25 -0
  323. package/dist/tools/editor/refresh.js +154 -0
  324. package/dist/tools/editor/refresh.js.map +1 -0
  325. package/dist/tools/editor/state.d.ts +63 -0
  326. package/dist/tools/editor/state.js +286 -0
  327. package/dist/tools/editor/state.js.map +1 -0
  328. package/dist/tools/errors.d.ts +30 -0
  329. package/dist/tools/errors.js +46 -0
  330. package/dist/tools/errors.js.map +1 -0
  331. package/dist/tools/metadata/derived.d.ts +34 -0
  332. package/dist/tools/metadata/derived.js +136 -0
  333. package/dist/tools/metadata/derived.js.map +1 -0
  334. package/dist/tools/metadata/index.d.ts +34 -0
  335. package/dist/tools/metadata/index.js +130 -0
  336. package/dist/tools/metadata/index.js.map +1 -0
  337. package/dist/tools/metadata/schemas.d.ts +3 -0
  338. package/dist/tools/metadata/schemas.js +19 -0
  339. package/dist/tools/metadata/schemas.js.map +1 -0
  340. package/dist/tools/metadata/status.d.ts +4 -0
  341. package/dist/tools/metadata/status.js +61 -0
  342. package/dist/tools/metadata/status.js.map +1 -0
  343. package/dist/tools/metadata/types.d.ts +79 -0
  344. package/dist/tools/metadata/types.js +2 -0
  345. package/dist/tools/metadata/types.js.map +1 -0
  346. package/dist/tools/navmesh/bake-cancel.d.ts +7 -0
  347. package/dist/tools/navmesh/bake-cancel.js +21 -0
  348. package/dist/tools/navmesh/bake-cancel.js.map +1 -0
  349. package/dist/tools/navmesh/bake-status.d.ts +5 -0
  350. package/dist/tools/navmesh/bake-status.js +18 -0
  351. package/dist/tools/navmesh/bake-status.js.map +1 -0
  352. package/dist/tools/navmesh/bake.d.ts +5 -0
  353. package/dist/tools/navmesh/bake.js +23 -0
  354. package/dist/tools/navmesh/bake.js.map +1 -0
  355. package/dist/tools/navmesh/live.d.ts +86 -0
  356. package/dist/tools/navmesh/live.js +206 -0
  357. package/dist/tools/navmesh/live.js.map +1 -0
  358. package/dist/tools/navmesh/surface-bake.d.ts +5 -0
  359. package/dist/tools/navmesh/surface-bake.js +24 -0
  360. package/dist/tools/navmesh/surface-bake.js.map +1 -0
  361. package/dist/tools/occlusion/bake-cancel.d.ts +7 -0
  362. package/dist/tools/occlusion/bake-cancel.js +21 -0
  363. package/dist/tools/occlusion/bake-cancel.js.map +1 -0
  364. package/dist/tools/occlusion/bake-status.d.ts +5 -0
  365. package/dist/tools/occlusion/bake-status.js +18 -0
  366. package/dist/tools/occlusion/bake-status.js.map +1 -0
  367. package/dist/tools/occlusion/bake.d.ts +11 -0
  368. package/dist/tools/occlusion/bake.js +23 -0
  369. package/dist/tools/occlusion/bake.js.map +1 -0
  370. package/dist/tools/occlusion/live.d.ts +74 -0
  371. package/dist/tools/occlusion/live.js +201 -0
  372. package/dist/tools/occlusion/live.js.map +1 -0
  373. package/dist/tools/package/bridge-remove.d.ts +26 -0
  374. package/dist/tools/package/bridge-remove.js +32 -0
  375. package/dist/tools/package/bridge-remove.js.map +1 -0
  376. package/dist/tools/package/deploy.d.ts +49 -0
  377. package/dist/tools/package/deploy.js +134 -0
  378. package/dist/tools/package/deploy.js.map +1 -0
  379. package/dist/tools/package/embed.d.ts +14 -0
  380. package/dist/tools/package/embed.js +93 -0
  381. package/dist/tools/package/embed.js.map +1 -0
  382. package/dist/tools/package/file-mutation-worker.d.ts +6 -0
  383. package/dist/tools/package/file-mutation-worker.js +154 -0
  384. package/dist/tools/package/file-mutation-worker.js.map +1 -0
  385. package/dist/tools/package/info.d.ts +19 -0
  386. package/dist/tools/package/info.js +27 -0
  387. package/dist/tools/package/info.js.map +1 -0
  388. package/dist/tools/package/install.d.ts +24 -0
  389. package/dist/tools/package/install.js +65 -0
  390. package/dist/tools/package/install.js.map +1 -0
  391. package/dist/tools/package/list.d.ts +27 -0
  392. package/dist/tools/package/list.js +21 -0
  393. package/dist/tools/package/list.js.map +1 -0
  394. package/dist/tools/package/live-resolve.d.ts +46 -0
  395. package/dist/tools/package/live-resolve.js +497 -0
  396. package/dist/tools/package/live-resolve.js.map +1 -0
  397. package/dist/tools/package/public-result.d.ts +4 -0
  398. package/dist/tools/package/public-result.js +25 -0
  399. package/dist/tools/package/public-result.js.map +1 -0
  400. package/dist/tools/package/registry-clear.d.ts +15 -0
  401. package/dist/tools/package/registry-clear.js +27 -0
  402. package/dist/tools/package/registry-clear.js.map +1 -0
  403. package/dist/tools/package/registry-get.d.ts +10 -0
  404. package/dist/tools/package/registry-get.js +22 -0
  405. package/dist/tools/package/registry-get.js.map +1 -0
  406. package/dist/tools/package/registry-set.d.ts +17 -0
  407. package/dist/tools/package/registry-set.js +28 -0
  408. package/dist/tools/package/registry-set.js.map +1 -0
  409. package/dist/tools/package/remove.d.ts +47 -0
  410. package/dist/tools/package/remove.js +67 -0
  411. package/dist/tools/package/remove.js.map +1 -0
  412. package/dist/tools/package/resolve.d.ts +6 -0
  413. package/dist/tools/package/resolve.js +14 -0
  414. package/dist/tools/package/resolve.js.map +1 -0
  415. package/dist/tools/package/restore.d.ts +42 -0
  416. package/dist/tools/package/restore.js +122 -0
  417. package/dist/tools/package/restore.js.map +1 -0
  418. package/dist/tools/package/scoped-registry-add.d.ts +25 -0
  419. package/dist/tools/package/scoped-registry-add.js +30 -0
  420. package/dist/tools/package/scoped-registry-add.js.map +1 -0
  421. package/dist/tools/package/scoped-registry-list.d.ts +14 -0
  422. package/dist/tools/package/scoped-registry-list.js +22 -0
  423. package/dist/tools/package/scoped-registry-list.js.map +1 -0
  424. package/dist/tools/package/scoped-registry-remove.d.ts +29 -0
  425. package/dist/tools/package/scoped-registry-remove.js +31 -0
  426. package/dist/tools/package/scoped-registry-remove.js.map +1 -0
  427. package/dist/tools/package/search.d.ts +17 -0
  428. package/dist/tools/package/search.js +39 -0
  429. package/dist/tools/package/search.js.map +1 -0
  430. package/dist/tools/package/status.d.ts +21 -0
  431. package/dist/tools/package/status.js +37 -0
  432. package/dist/tools/package/status.js.map +1 -0
  433. package/dist/tools/reflect/member.d.ts +22 -0
  434. package/dist/tools/reflect/member.js +22 -0
  435. package/dist/tools/reflect/member.js.map +1 -0
  436. package/dist/tools/reflect/search.d.ts +30 -0
  437. package/dist/tools/reflect/search.js +22 -0
  438. package/dist/tools/reflect/search.js.map +1 -0
  439. package/dist/tools/reflect/type.d.ts +21 -0
  440. package/dist/tools/reflect/type.js +22 -0
  441. package/dist/tools/reflect/type.js.map +1 -0
  442. package/dist/tools/runtime/console.d.ts +24 -0
  443. package/dist/tools/runtime/console.js +17 -0
  444. package/dist/tools/runtime/console.js.map +1 -0
  445. package/dist/tools/runtime/input/key.d.ts +23 -0
  446. package/dist/tools/runtime/input/key.js +18 -0
  447. package/dist/tools/runtime/input/key.js.map +1 -0
  448. package/dist/tools/runtime/input/pointer.d.ts +34 -0
  449. package/dist/tools/runtime/input/pointer.js +18 -0
  450. package/dist/tools/runtime/input/pointer.js.map +1 -0
  451. package/dist/tools/runtime/log.d.ts +20 -0
  452. package/dist/tools/runtime/log.js +17 -0
  453. package/dist/tools/runtime/log.js.map +1 -0
  454. package/dist/tools/runtime/state.d.ts +45 -0
  455. package/dist/tools/runtime/state.js +17 -0
  456. package/dist/tools/runtime/state.js.map +1 -0
  457. package/dist/tools/runtime/target-framerate/set.d.ts +16 -0
  458. package/dist/tools/runtime/target-framerate/set.js +17 -0
  459. package/dist/tools/runtime/target-framerate/set.js.map +1 -0
  460. package/dist/tools/runtime/time-scale/set.d.ts +16 -0
  461. package/dist/tools/runtime/time-scale/set.js +17 -0
  462. package/dist/tools/runtime/time-scale/set.js.map +1 -0
  463. package/dist/tools/runtime/ui/capture-element.d.ts +31 -0
  464. package/dist/tools/runtime/ui/capture-element.js +17 -0
  465. package/dist/tools/runtime/ui/capture-element.js.map +1 -0
  466. package/dist/tools/test/cancel.d.ts +19 -0
  467. package/dist/tools/test/cancel.js +94 -0
  468. package/dist/tools/test/cancel.js.map +1 -0
  469. package/dist/tools/test/run.d.ts +39 -0
  470. package/dist/tools/test/run.js +101 -0
  471. package/dist/tools/test/run.js.map +1 -0
  472. package/dist/tools/tools/describe.d.ts +27 -0
  473. package/dist/tools/tools/describe.js +35 -0
  474. package/dist/tools/tools/describe.js.map +1 -0
  475. package/dist/tools/tools/group-list.d.ts +20 -0
  476. package/dist/tools/tools/group-list.js +39 -0
  477. package/dist/tools/tools/group-list.js.map +1 -0
  478. package/dist/tools/tools/group-summaries.d.ts +3 -0
  479. package/dist/tools/tools/group-summaries.js +52 -0
  480. package/dist/tools/tools/group-summaries.js.map +1 -0
  481. package/dist/tools/tools/group.d.ts +13 -0
  482. package/dist/tools/tools/group.js +34 -0
  483. package/dist/tools/tools/group.js.map +1 -0
  484. package/dist/tools/tools/search.d.ts +17 -0
  485. package/dist/tools/tools/search.js +42 -0
  486. package/dist/tools/tools/search.js.map +1 -0
  487. package/dist/types.d.ts +5 -0
  488. package/dist/types.js +2 -0
  489. package/dist/types.js.map +1 -0
  490. package/dist/unity-project-processes.d.ts +12 -0
  491. package/dist/unity-project-processes.js +59 -0
  492. package/dist/unity-project-processes.js.map +1 -0
  493. package/dist/util.d.ts +11 -0
  494. package/dist/util.js +22 -0
  495. package/dist/util.js.map +1 -0
  496. package/dist/windows-editor-state.d.ts +31 -0
  497. package/dist/windows-editor-state.js +98 -0
  498. package/dist/windows-editor-state.js.map +1 -0
  499. package/docs/README.md +43 -0
  500. package/docs/availability-differences.md +97 -0
  501. package/docs/command-execution.md +89 -0
  502. package/docs/error-codes.md +204 -0
  503. package/docs/extensions.md +132 -0
  504. package/docs/risk-and-side-effects.md +93 -0
  505. package/docs/safety-boundaries.md +103 -0
  506. package/docs/target-and-instance.md +83 -0
  507. package/docs/tool-discovery.md +104 -0
  508. package/docs/tool-execution.md +178 -0
  509. package/extensions/cinemachine/bridge/domains/cinemachine.ts +115 -0
  510. package/extensions/cinemachine/docs/cinemachine.md +50 -0
  511. package/extensions/cinemachine/extension.json +129 -0
  512. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/CinemachineExtensionToolSupport.cs +15 -0
  513. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/CinemachineToolSupport.cs +854 -0
  514. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/aim.cs +96 -0
  515. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/blend.cs +140 -0
  516. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/body.cs +96 -0
  517. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/brain-ensure.cs +16 -0
  518. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/brain-status.cs +12 -0
  519. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/create.cs +147 -0
  520. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-add.cs +13 -0
  521. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-list.cs +13 -0
  522. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-remove.cs +13 -0
  523. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/lens.cs +142 -0
  524. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/noise.cs +126 -0
  525. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/ping.cs +43 -0
  526. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/priority.cs +113 -0
  527. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/target.cs +84 -0
  528. package/extensions/cinemachine/unitypkg/UnityCli.Extensions.Cinemachine.Editor.asmdef +18 -0
  529. package/extensions/hdrp/bridge/domains/hdrp.ts +41 -0
  530. package/extensions/hdrp/docs/hdrp.md +15 -0
  531. package/extensions/hdrp/extension.json +31 -0
  532. package/extensions/hdrp/unitypkg/Editor/Hdrp/HdrpToolSupport.cs +607 -0
  533. package/extensions/hdrp/unitypkg/Editor/Hdrp/settings-get.cs +29 -0
  534. package/extensions/hdrp/unitypkg/Editor/Hdrp/settings-set.cs +47 -0
  535. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-add-effect.cs +28 -0
  536. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-create.cs +28 -0
  537. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-info.cs +25 -0
  538. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-list.cs +25 -0
  539. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-set.cs +28 -0
  540. package/extensions/hdrp/unitypkg/UnityCli.Extensions.Hdrp.Editor.asmdef +19 -0
  541. package/extensions/probuilder/bridge/domains/probuilder.ts +386 -0
  542. package/extensions/probuilder/docs/probuilder.md +125 -0
  543. package/extensions/probuilder/extension.json +291 -0
  544. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderAppendCompletionProof.cs +254 -0
  545. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderAtomicReadback.cs +293 -0
  546. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderBevelCompletionProof.cs +299 -0
  547. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderCanonicalMeshSnapshot.cs +951 -0
  548. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderConnectCompletionProof.cs +407 -0
  549. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderEdgeCompletionProof.cs +318 -0
  550. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderErrors.cs +83 -0
  551. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFaceCompletionProof.cs +152 -0
  552. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFaceExtrudeCompletionProof.cs +283 -0
  553. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFlipCompletionProof.cs +170 -0
  554. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderInput.cs +85 -0
  555. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderInsertCompletionProof.cs +674 -0
  556. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderOperationProof.cs +137 -0
  557. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderReflection.cs +1064 -0
  558. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderRefreshUvProof.cs +53 -0
  559. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderSceneTool.cs +184 -0
  560. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderShapeTopologyRecords.g.cs +82 -0
  561. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderVertexObjectCompletionProof.cs +346 -0
  562. package/extensions/probuilder/unitypkg/Editor/ProBuilder/append-vertices-to-edge.cs +118 -0
  563. package/extensions/probuilder/unitypkg/Editor/ProBuilder/auto-smooth.cs +104 -0
  564. package/extensions/probuilder/unitypkg/Editor/ProBuilder/bevel-edges.cs +119 -0
  565. package/extensions/probuilder/unitypkg/Editor/ProBuilder/bridge-edges.cs +113 -0
  566. package/extensions/probuilder/unitypkg/Editor/ProBuilder/center-pivot.cs +43 -0
  567. package/extensions/probuilder/unitypkg/Editor/ProBuilder/combine-meshes.cs +58 -0
  568. package/extensions/probuilder/unitypkg/Editor/ProBuilder/connect-elements.cs +128 -0
  569. package/extensions/probuilder/unitypkg/Editor/ProBuilder/convert-to-probuilder.cs +40 -0
  570. package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-poly-shape.cs +55 -0
  571. package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-polygon.cs +28 -0
  572. package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-shape.cs +168 -0
  573. package/extensions/probuilder/unitypkg/Editor/ProBuilder/delete-faces.cs +42 -0
  574. package/extensions/probuilder/unitypkg/Editor/ProBuilder/detach-faces.cs +46 -0
  575. package/extensions/probuilder/unitypkg/Editor/ProBuilder/duplicate-and-flip.cs +100 -0
  576. package/extensions/probuilder/unitypkg/Editor/ProBuilder/extrude-edges.cs +118 -0
  577. package/extensions/probuilder/unitypkg/Editor/ProBuilder/extrude-faces.cs +110 -0
  578. package/extensions/probuilder/unitypkg/Editor/ProBuilder/flip-normals.cs +102 -0
  579. package/extensions/probuilder/unitypkg/Editor/ProBuilder/freeze-transform.cs +45 -0
  580. package/extensions/probuilder/unitypkg/Editor/ProBuilder/insert-vertex.cs +132 -0
  581. package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-faces.cs +44 -0
  582. package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-objects.cs +130 -0
  583. package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-vertices.cs +109 -0
  584. package/extensions/probuilder/unitypkg/Editor/ProBuilder/mesh-info.cs +117 -0
  585. package/extensions/probuilder/unitypkg/Editor/ProBuilder/move-vertices.cs +33 -0
  586. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ping.cs +51 -0
  587. package/extensions/probuilder/unitypkg/Editor/ProBuilder/repair-mesh.cs +40 -0
  588. package/extensions/probuilder/unitypkg/Editor/ProBuilder/select-faces.cs +161 -0
  589. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-color.cs +24 -0
  590. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-material.cs +23 -0
  591. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-uvs.cs +28 -0
  592. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-pivot.cs +42 -0
  593. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-smoothing.cs +23 -0
  594. package/extensions/probuilder/unitypkg/Editor/ProBuilder/split-vertices.cs +64 -0
  595. package/extensions/probuilder/unitypkg/Editor/ProBuilder/subdivide.cs +111 -0
  596. package/extensions/probuilder/unitypkg/Editor/ProBuilder/validate-mesh.cs +75 -0
  597. package/extensions/probuilder/unitypkg/Editor/ProBuilder/weld-vertices.cs +112 -0
  598. package/extensions/probuilder/unitypkg/UnityCli.Extensions.ProBuilder.Editor.asmdef +25 -0
  599. package/extensions/urp/bridge/domains/urp.ts +62 -0
  600. package/extensions/urp/docs/urp.md +20 -0
  601. package/extensions/urp/extension.json +41 -0
  602. package/extensions/urp/unitypkg/Editor/Urp/UrpFeatureToolSupport.cs +336 -0
  603. package/extensions/urp/unitypkg/Editor/Urp/UrpToolSupport.cs +801 -0
  604. package/extensions/urp/unitypkg/Editor/Urp/feature-add.cs +12 -0
  605. package/extensions/urp/unitypkg/Editor/Urp/feature-configure.cs +12 -0
  606. package/extensions/urp/unitypkg/Editor/Urp/feature-list.cs +12 -0
  607. package/extensions/urp/unitypkg/Editor/Urp/feature-remove.cs +12 -0
  608. package/extensions/urp/unitypkg/Editor/Urp/feature-toggle.cs +12 -0
  609. package/extensions/urp/unitypkg/Editor/Urp/settings-get.cs +27 -0
  610. package/extensions/urp/unitypkg/Editor/Urp/settings-set.cs +47 -0
  611. package/extensions/urp/unitypkg/Editor/Urp/volume-add-effect.cs +33 -0
  612. package/extensions/urp/unitypkg/Editor/Urp/volume-create.cs +33 -0
  613. package/extensions/urp/unitypkg/Editor/Urp/volume-info.cs +31 -0
  614. package/extensions/urp/unitypkg/Editor/Urp/volume-list.cs +39 -0
  615. package/extensions/urp/unitypkg/Editor/Urp/volume-set.cs +33 -0
  616. package/extensions/urp/unitypkg/UnityCli.Extensions.Urp.Editor.asmdef +19 -0
  617. package/extensions/vfx-graph/bridge/domains/vfx.ts +337 -0
  618. package/extensions/vfx-graph/docs/vfx.md +28 -0
  619. package/extensions/vfx-graph/extension.json +72 -0
  620. package/extensions/vfx-graph/unitypkg/Editor/Vfx/VfxActionToolSupport.cs +248 -0
  621. package/extensions/vfx-graph/unitypkg/Editor/Vfx/VfxToolSupport.cs +1325 -0
  622. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-pause.cs +37 -0
  623. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-play.cs +40 -0
  624. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-reinitialize.cs +37 -0
  625. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-set-rate.cs +36 -0
  626. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-set-seed.cs +42 -0
  627. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-stop.cs +37 -0
  628. package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-add.cs +55 -0
  629. package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-assign.cs +44 -0
  630. package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-info.cs +30 -0
  631. package/extensions/vfx-graph/unitypkg/Editor/Vfx/graph-create.cs +62 -0
  632. package/extensions/vfx-graph/unitypkg/Editor/Vfx/graph-info.cs +32 -0
  633. package/extensions/vfx-graph/unitypkg/Editor/Vfx/line-create.cs +75 -0
  634. package/extensions/vfx-graph/unitypkg/Editor/Vfx/line-positions.cs +100 -0
  635. package/extensions/vfx-graph/unitypkg/Editor/Vfx/parameter.cs +216 -0
  636. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-clear.cs +39 -0
  637. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-create.cs +80 -0
  638. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-emission.cs +126 -0
  639. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-info.cs +55 -0
  640. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-main.cs +75 -0
  641. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-pause.cs +38 -0
  642. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-play.cs +38 -0
  643. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-shape.cs +148 -0
  644. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-stop.cs +41 -0
  645. package/extensions/vfx-graph/unitypkg/Editor/Vfx/template-create.cs +58 -0
  646. package/extensions/vfx-graph/unitypkg/Editor/Vfx/template-list.cs +31 -0
  647. package/extensions/vfx-graph/unitypkg/Editor/Vfx/trail-create.cs +41 -0
  648. package/extensions/vfx-graph/unitypkg/Editor/Vfx/trail-set.cs +44 -0
  649. package/extensions/vfx-graph/unitypkg/UnityCli.Extensions.VfxGraph.Editor.asmdef +18 -0
  650. package/package.json +46 -0
  651. package/schemas/error-code.schema.json +70 -0
  652. package/schemas/extension-descriptor.schema.json +88 -0
  653. package/schemas/extension-manifest.schema.json +125 -0
  654. package/schemas/request-envelope.schema.json +34 -0
  655. package/schemas/response-envelope.schema.json +42 -0
  656. package/schemas/tool-metadata.schema.json +111 -0
  657. package/skills/unitycli/SKILL.md +61 -0
  658. package/skills/unitycli/agents/interface.yaml +30 -0
  659. package/skills/unitycli/evals/history/2026-08-05-governed-baseline.json +44 -0
  660. package/skills/unitycli/evals/output/cases.jsonl +5 -0
  661. package/skills/unitycli/evals/output/fixtures/feedback-scenario.json +27 -0
  662. package/skills/unitycli/evals/output/schema.json +32 -0
  663. package/skills/unitycli/evals/semantic_config.json +46 -0
  664. package/skills/unitycli/evals/trigger_cases.json +39 -0
  665. package/skills/unitycli/examples/feedback-event.input.json +8 -0
  666. package/skills/unitycli/examples/feedback-record.output.json +12 -0
  667. package/skills/unitycli/manifest.json +112 -0
  668. package/skills/unitycli/references/custom-tools.md +111 -0
  669. package/skills/unitycli/references/feedback.md +59 -0
  670. package/skills/unitycli/references/operation-protocol.md +83 -0
  671. package/skills/unitycli/reports/output_quality_scorecard.md +56 -0
  672. package/skills/unitycli/reports/trust-report.md +57 -0
  673. package/skills/unitycli/scripts/record-feedback.ps1 +210 -0
  674. package/skills/unitycli/security/network_policy.json +18 -0
  675. package/skills/unitycli/security/permission_policy.json +40 -0
  676. package/unitypkg/Editor/Bridge/BridgeCommandContext.cs +64 -0
  677. package/unitypkg/Editor/Bridge/BridgeCommandException.cs +39 -0
  678. package/unitypkg/Editor/Bridge/BridgeCommandRegistry.cs +172 -0
  679. package/unitypkg/Editor/Bridge/BridgeHttpServer.cs +534 -0
  680. package/unitypkg/Editor/Bridge/BridgeResponse.cs +58 -0
  681. package/unitypkg/Editor/Bridge/BridgeWorkQueue.cs +325 -0
  682. package/unitypkg/Editor/BridgeStartupStateMachine.cs +81 -0
  683. package/unitypkg/Editor/Commands/ProjectToolCommands.cs +43 -0
  684. package/unitypkg/Editor/Commands/RuntimeToolCommands.cs +43 -0
  685. package/unitypkg/Editor/Generated/UnityCliToolCompletionRegistry.g.cs +428 -0
  686. package/unitypkg/Editor/Infrastructure/CodeExecSupport.cs +664 -0
  687. package/unitypkg/Editor/Infrastructure/RegistryOwnershipResolver.cs +148 -0
  688. package/unitypkg/Editor/Infrastructure/UnityCliActiveOperation.cs +411 -0
  689. package/unitypkg/Editor/Infrastructure/UnityCliAdmission.cs +485 -0
  690. package/unitypkg/Editor/Infrastructure/UnityCliArtifacts.cs +110 -0
  691. package/unitypkg/Editor/Infrastructure/UnityCliAssetRefreshCoordinator.cs +106 -0
  692. package/unitypkg/Editor/Infrastructure/UnityCliBridgeHelpers.cs +155 -0
  693. package/unitypkg/Editor/Infrastructure/UnityCliCanonicalProjectPath.cs +325 -0
  694. package/unitypkg/Editor/Infrastructure/UnityCliCompilationEventBroker.cs +192 -0
  695. package/unitypkg/Editor/Infrastructure/UnityCliCompileCoordinator.cs +271 -0
  696. package/unitypkg/Editor/Infrastructure/UnityCliCompletionProbe.cs +515 -0
  697. package/unitypkg/Editor/Infrastructure/UnityCliEditorStateSnapshot.cs +84 -0
  698. package/unitypkg/Editor/Infrastructure/UnityCliInstanceRegistry.cs +558 -0
  699. package/unitypkg/Editor/Infrastructure/UnityCliJson.cs +155 -0
  700. package/unitypkg/Editor/Infrastructure/UnityCliLargeOutput.cs +128 -0
  701. package/unitypkg/Editor/Infrastructure/UnityCliLiveBuildCoordinator.cs +230 -0
  702. package/unitypkg/Editor/Infrastructure/UnityCliLiveRefreshCoordinator.cs +164 -0
  703. package/unitypkg/Editor/Infrastructure/UnityCliLog.cs +127 -0
  704. package/unitypkg/Editor/Infrastructure/UnityCliNavMeshBakeCoordinator.cs +2073 -0
  705. package/unitypkg/Editor/Infrastructure/UnityCliObjectPatch.cs +193 -0
  706. package/unitypkg/Editor/Infrastructure/UnityCliObjectRef.cs +278 -0
  707. package/unitypkg/Editor/Infrastructure/UnityCliObjectSerializer.cs +620 -0
  708. package/unitypkg/Editor/Infrastructure/UnityCliOcclusionBakeCoordinator.cs +1739 -0
  709. package/unitypkg/Editor/Infrastructure/UnityCliOperationCoordinator.cs +828 -0
  710. package/unitypkg/Editor/Infrastructure/UnityCliPackageEmbedCoordinator.cs +147 -0
  711. package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveCoordinator.cs +454 -0
  712. package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveState.cs +561 -0
  713. package/unitypkg/Editor/Infrastructure/UnityCliPipelineHandoff.cs +742 -0
  714. package/unitypkg/Editor/Infrastructure/UnityCliProjectSettings.cs +92 -0
  715. package/unitypkg/Editor/Infrastructure/UnityCliProtocolRequest.cs +116 -0
  716. package/unitypkg/Editor/Infrastructure/UnityCliReflection.cs +477 -0
  717. package/unitypkg/Editor/Infrastructure/UnityCliReloadOperation.cs +664 -0
  718. package/unitypkg/Editor/Infrastructure/UnityCliRequestDigest.cs +34 -0
  719. package/unitypkg/Editor/Infrastructure/UnityCliRuntimeBuildInjection.cs +121 -0
  720. package/unitypkg/Editor/Infrastructure/UnityCliRuntimeExecutor.cs +391 -0
  721. package/unitypkg/Editor/Infrastructure/UnityCliSceneMutation.cs +84 -0
  722. package/unitypkg/Editor/Infrastructure/UnityCliScriptableObjectHelpers.cs +235 -0
  723. package/unitypkg/Editor/Infrastructure/UnityCliSerializer.cs +580 -0
  724. package/unitypkg/Editor/Infrastructure/UnityCliSessionMutationLease.cs +568 -0
  725. package/unitypkg/Editor/Infrastructure/UnityCliStateIO.cs +73 -0
  726. package/unitypkg/Editor/Infrastructure/UnityCliTestRunCoordinator.cs +598 -0
  727. package/unitypkg/Editor/Infrastructure/UnityCliTransactionLog.cs +112 -0
  728. package/unitypkg/Editor/Infrastructure/UnityCliValueConverter.cs +146 -0
  729. package/unitypkg/Editor/Infrastructure/UnityCliWaiter.cs +716 -0
  730. package/unitypkg/Editor/ProjectTools/IUnityCliTool.cs +152 -0
  731. package/unitypkg/Editor/ProjectTools/OfficialAttributeToolRegistry.cs +992 -0
  732. package/unitypkg/Editor/ProjectTools/ProjectToolRegistry.cs +938 -0
  733. package/unitypkg/Editor/ProjectTools/ProjectToolSchemaValidator.cs +258 -0
  734. package/unitypkg/Editor/ProjectTools/RegisteredTool.cs +75 -0
  735. package/unitypkg/Editor/ProjectTools/UnityCliProjectToolContext.cs +68 -0
  736. package/unitypkg/Editor/ProjectTools/UnityCliSchemaDeriver.cs +297 -0
  737. package/unitypkg/Editor/Protocol/ProtocolEnvelopeFactory.cs +92 -0
  738. package/unitypkg/Editor/Protocol/envelope.cs +50 -0
  739. package/unitypkg/Editor/Roslyn/LICENSE.txt +23 -0
  740. package/unitypkg/Editor/Roslyn/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  741. package/unitypkg/Editor/Roslyn/Microsoft.CodeAnalysis.dll +0 -0
  742. package/unitypkg/Editor/Roslyn/System.Collections.Immutable.dll +0 -0
  743. package/unitypkg/Editor/Roslyn/System.Reflection.Metadata.dll +0 -0
  744. package/unitypkg/Editor/Tools/animation/AnimationToolSupport.cs +335 -0
  745. package/unitypkg/Editor/Tools/animation/AnimatorRuntimeToolSupport.cs +24 -0
  746. package/unitypkg/Editor/Tools/animation/animator/crossfade.cs +117 -0
  747. package/unitypkg/Editor/Tools/animation/animator/get-info.cs +24 -0
  748. package/unitypkg/Editor/Tools/animation/animator/get-parameter.cs +36 -0
  749. package/unitypkg/Editor/Tools/animation/animator/set-enabled.cs +33 -0
  750. package/unitypkg/Editor/Tools/animation/animator/set-parameter.cs +71 -0
  751. package/unitypkg/Editor/Tools/animation/animator/set-speed.cs +33 -0
  752. package/unitypkg/Editor/Tools/animation/clip/create.cs +48 -0
  753. package/unitypkg/Editor/Tools/animation/clip/modify.cs +43 -0
  754. package/unitypkg/Editor/Tools/animation/clip.cs +23 -0
  755. package/unitypkg/Editor/Tools/animation/play.cs +41 -0
  756. package/unitypkg/Editor/Tools/animation/state.cs +25 -0
  757. package/unitypkg/Editor/Tools/animation/stop.cs +45 -0
  758. package/unitypkg/Editor/Tools/asset/AssetImportSettingsToolSupport.cs +633 -0
  759. package/unitypkg/Editor/Tools/asset/AssetToolSupport.cs +253 -0
  760. package/unitypkg/Editor/Tools/asset/create.cs +84 -0
  761. package/unitypkg/Editor/Tools/asset/delete.cs +88 -0
  762. package/unitypkg/Editor/Tools/asset/duplicate.cs +68 -0
  763. package/unitypkg/Editor/Tools/asset/get-components.cs +177 -0
  764. package/unitypkg/Editor/Tools/asset/get-data.cs +73 -0
  765. package/unitypkg/Editor/Tools/asset/import-settings/set.cs +127 -0
  766. package/unitypkg/Editor/Tools/asset/import-settings.cs +54 -0
  767. package/unitypkg/Editor/Tools/asset/import.cs +132 -0
  768. package/unitypkg/Editor/Tools/asset/info.cs +48 -0
  769. package/unitypkg/Editor/Tools/asset/modify.cs +69 -0
  770. package/unitypkg/Editor/Tools/asset/move.cs +70 -0
  771. package/unitypkg/Editor/Tools/asset/preview.cs +86 -0
  772. package/unitypkg/Editor/Tools/asset/rename.cs +84 -0
  773. package/unitypkg/Editor/Tools/asset/search-built-in.cs +90 -0
  774. package/unitypkg/Editor/Tools/asset/search.cs +83 -0
  775. package/unitypkg/Editor/Tools/build/BuildSceneStateTool.cs +37 -0
  776. package/unitypkg/Editor/Tools/build/BuildSettingsToolSupport.cs +4 -0
  777. package/unitypkg/Editor/Tools/build/BuildToolDtos.cs +15 -0
  778. package/unitypkg/Editor/Tools/build/BuildToolSupport.cs +111 -0
  779. package/unitypkg/Editor/Tools/build/platform/get.cs +12 -0
  780. package/unitypkg/Editor/Tools/build/platform/set.cs +45 -0
  781. package/unitypkg/Editor/Tools/build/profile/create.cs +44 -0
  782. package/unitypkg/Editor/Tools/build/profile/list.cs +12 -0
  783. package/unitypkg/Editor/Tools/build/profile/modify.cs +42 -0
  784. package/unitypkg/Editor/Tools/build/profile/switch.cs +30 -0
  785. package/unitypkg/Editor/Tools/build/scene/add.cs +45 -0
  786. package/unitypkg/Editor/Tools/build/scene/disable.cs +3 -0
  787. package/unitypkg/Editor/Tools/build/scene/enable.cs +4 -0
  788. package/unitypkg/Editor/Tools/build/scene/list.cs +4 -0
  789. package/unitypkg/Editor/Tools/build/scene/remove.cs +29 -0
  790. package/unitypkg/Editor/Tools/build/settings/get.cs +3 -0
  791. package/unitypkg/Editor/Tools/build/settings/set.cs +74 -0
  792. package/unitypkg/Editor/Tools/camera/CameraToolSupport.cs +292 -0
  793. package/unitypkg/Editor/Tools/camera/create.cs +114 -0
  794. package/unitypkg/Editor/Tools/camera/info.cs +49 -0
  795. package/unitypkg/Editor/Tools/camera/lens.cs +119 -0
  796. package/unitypkg/Editor/Tools/camera/list.cs +52 -0
  797. package/unitypkg/Editor/Tools/camera/multiview.cs +96 -0
  798. package/unitypkg/Editor/Tools/camera/screenshot.cs +65 -0
  799. package/unitypkg/Editor/Tools/camera/target.cs +94 -0
  800. package/unitypkg/Editor/Tools/component/add.cs +125 -0
  801. package/unitypkg/Editor/Tools/component/get.cs +73 -0
  802. package/unitypkg/Editor/Tools/component/list-types.cs +90 -0
  803. package/unitypkg/Editor/Tools/component/modify.cs +103 -0
  804. package/unitypkg/Editor/Tools/component/remove.cs +147 -0
  805. package/unitypkg/Editor/Tools/component/set.cs +93 -0
  806. package/unitypkg/Editor/Tools/console/clear.cs +38 -0
  807. package/unitypkg/Editor/Tools/console/get.cs +28 -0
  808. package/unitypkg/Editor/Tools/controller/add-blend-tree-child.cs +88 -0
  809. package/unitypkg/Editor/Tools/controller/add-layer.cs +43 -0
  810. package/unitypkg/Editor/Tools/controller/add-parameter.cs +51 -0
  811. package/unitypkg/Editor/Tools/controller/add-state.cs +44 -0
  812. package/unitypkg/Editor/Tools/controller/add-transition.cs +71 -0
  813. package/unitypkg/Editor/Tools/controller/assign.cs +38 -0
  814. package/unitypkg/Editor/Tools/controller/create-blend-tree-1d.cs +40 -0
  815. package/unitypkg/Editor/Tools/controller/create-blend-tree-2d.cs +42 -0
  816. package/unitypkg/Editor/Tools/controller/create.cs +31 -0
  817. package/unitypkg/Editor/Tools/controller/get-info.cs +27 -0
  818. package/unitypkg/Editor/Tools/controller/remove-layer.cs +57 -0
  819. package/unitypkg/Editor/Tools/controller/set-layer-weight.cs +42 -0
  820. package/unitypkg/Editor/Tools/diagnose/preflight.cs +269 -0
  821. package/unitypkg/Editor/Tools/editor/EditorActionToolSupport.cs +117 -0
  822. package/unitypkg/Editor/Tools/editor/EditorSearchToolSupport.cs +146 -0
  823. package/unitypkg/Editor/Tools/editor/EditorToolSupport.cs +132 -0
  824. package/unitypkg/Editor/Tools/editor/EditorWindowFocusToolSupport.cs +194 -0
  825. package/unitypkg/Editor/Tools/editor/active-tool/set.cs +33 -0
  826. package/unitypkg/Editor/Tools/editor/active-tool.cs +100 -0
  827. package/unitypkg/Editor/Tools/editor/autotick/set.cs +102 -0
  828. package/unitypkg/Editor/Tools/editor/console.cs +26 -0
  829. package/unitypkg/Editor/Tools/editor/focus.cs +80 -0
  830. package/unitypkg/Editor/Tools/editor/menu-items.cs +50 -0
  831. package/unitypkg/Editor/Tools/editor/menu.cs +53 -0
  832. package/unitypkg/Editor/Tools/editor/pause.cs +38 -0
  833. package/unitypkg/Editor/Tools/editor/play.cs +43 -0
  834. package/unitypkg/Editor/Tools/editor/redo.cs +56 -0
  835. package/unitypkg/Editor/Tools/editor/resolution.cs +34 -0
  836. package/unitypkg/Editor/Tools/editor/search.cs +55 -0
  837. package/unitypkg/Editor/Tools/editor/selection/set.cs +37 -0
  838. package/unitypkg/Editor/Tools/editor/selection.cs +153 -0
  839. package/unitypkg/Editor/Tools/editor/stop.cs +43 -0
  840. package/unitypkg/Editor/Tools/editor/tool-states.cs +140 -0
  841. package/unitypkg/Editor/Tools/editor/undo.cs +56 -0
  842. package/unitypkg/Editor/Tools/editor/windows.cs +87 -0
  843. package/unitypkg/Editor/Tools/extension/status.cs +87 -0
  844. package/unitypkg/Editor/Tools/go/GameObjectToolSupport.cs +524 -0
  845. package/unitypkg/Editor/Tools/go/create.cs +333 -0
  846. package/unitypkg/Editor/Tools/go/delete.cs +87 -0
  847. package/unitypkg/Editor/Tools/go/duplicate.cs +76 -0
  848. package/unitypkg/Editor/Tools/go/find.cs +152 -0
  849. package/unitypkg/Editor/Tools/go/inspect.cs +49 -0
  850. package/unitypkg/Editor/Tools/go/look-at.cs +76 -0
  851. package/unitypkg/Editor/Tools/go/modify.cs +156 -0
  852. package/unitypkg/Editor/Tools/go/move-relative.cs +74 -0
  853. package/unitypkg/Editor/Tools/go/set-parent.cs +84 -0
  854. package/unitypkg/Editor/Tools/graphics/GraphicsToolSupport.cs +396 -0
  855. package/unitypkg/Editor/Tools/graphics/bake-cancel.cs +27 -0
  856. package/unitypkg/Editor/Tools/graphics/bake-clear.cs +31 -0
  857. package/unitypkg/Editor/Tools/graphics/bake-reflection-probe.cs +35 -0
  858. package/unitypkg/Editor/Tools/graphics/bake-settings.cs +131 -0
  859. package/unitypkg/Editor/Tools/graphics/bake-start.cs +27 -0
  860. package/unitypkg/Editor/Tools/graphics/bake-status.cs +31 -0
  861. package/unitypkg/Editor/Tools/graphics/light-probe-group.cs +56 -0
  862. package/unitypkg/Editor/Tools/graphics/pipeline-info.cs +19 -0
  863. package/unitypkg/Editor/Tools/graphics/pipeline-quality.cs +24 -0
  864. package/unitypkg/Editor/Tools/graphics/pipeline-settings.cs +46 -0
  865. package/unitypkg/Editor/Tools/graphics/probe-positions.cs +58 -0
  866. package/unitypkg/Editor/Tools/graphics/quality.cs +85 -0
  867. package/unitypkg/Editor/Tools/graphics/reflection-probe.cs +73 -0
  868. package/unitypkg/Editor/Tools/graphics/scene-debug.cs +37 -0
  869. package/unitypkg/Editor/Tools/graphics/settings.cs +104 -0
  870. package/unitypkg/Editor/Tools/graphics/skybox-get.cs +33 -0
  871. package/unitypkg/Editor/Tools/graphics/skybox-set-ambient.cs +24 -0
  872. package/unitypkg/Editor/Tools/graphics/skybox-set-fog.cs +24 -0
  873. package/unitypkg/Editor/Tools/graphics/skybox-set-material.cs +33 -0
  874. package/unitypkg/Editor/Tools/graphics/skybox-set-properties.cs +51 -0
  875. package/unitypkg/Editor/Tools/graphics/skybox-set-reflection.cs +31 -0
  876. package/unitypkg/Editor/Tools/graphics/skybox-set-sun.cs +35 -0
  877. package/unitypkg/Editor/Tools/graphics/stats-counters.cs +28 -0
  878. package/unitypkg/Editor/Tools/graphics/stats-memory.cs +21 -0
  879. package/unitypkg/Editor/Tools/graphics/stats.cs +17 -0
  880. package/unitypkg/Editor/Tools/graphics/volume.cs +59 -0
  881. package/unitypkg/Editor/Tools/instances/list.cs +71 -0
  882. package/unitypkg/Editor/Tools/material/MaterialToolSupport.cs +401 -0
  883. package/unitypkg/Editor/Tools/material/assign.cs +124 -0
  884. package/unitypkg/Editor/Tools/material/create.cs +82 -0
  885. package/unitypkg/Editor/Tools/material/info.cs +55 -0
  886. package/unitypkg/Editor/Tools/material/set-renderer-color.cs +108 -0
  887. package/unitypkg/Editor/Tools/material/set.cs +114 -0
  888. package/unitypkg/Editor/Tools/navmesh/NavMeshToolSupport.cs +404 -0
  889. package/unitypkg/Editor/Tools/navmesh/bake-clear.cs +70 -0
  890. package/unitypkg/Editor/Tools/navmesh/settings/set.cs +73 -0
  891. package/unitypkg/Editor/Tools/navmesh/settings.cs +37 -0
  892. package/unitypkg/Editor/Tools/object/ObjectToolSupport.cs +99 -0
  893. package/unitypkg/Editor/Tools/object/get-data.cs +69 -0
  894. package/unitypkg/Editor/Tools/object/modify.cs +126 -0
  895. package/unitypkg/Editor/Tools/occlusion/OcclusionToolSupport.cs +422 -0
  896. package/unitypkg/Editor/Tools/occlusion/bake-clear.cs +67 -0
  897. package/unitypkg/Editor/Tools/physics/PhysicsJointToolSupport.cs +13 -0
  898. package/unitypkg/Editor/Tools/physics/PhysicsToolSupport.cs +389 -0
  899. package/unitypkg/Editor/Tools/physics/assign-material.cs +88 -0
  900. package/unitypkg/Editor/Tools/physics/collision-matrix.cs +90 -0
  901. package/unitypkg/Editor/Tools/physics/force.cs +127 -0
  902. package/unitypkg/Editor/Tools/physics/joint/add.cs +99 -0
  903. package/unitypkg/Editor/Tools/physics/joint/remove.cs +4 -0
  904. package/unitypkg/Editor/Tools/physics/linecast.cs +59 -0
  905. package/unitypkg/Editor/Tools/physics/material.cs +73 -0
  906. package/unitypkg/Editor/Tools/physics/overlap.cs +84 -0
  907. package/unitypkg/Editor/Tools/physics/raycast-all.cs +67 -0
  908. package/unitypkg/Editor/Tools/physics/raycast.cs +96 -0
  909. package/unitypkg/Editor/Tools/physics/rigidbody.cs +116 -0
  910. package/unitypkg/Editor/Tools/physics/settings.cs +116 -0
  911. package/unitypkg/Editor/Tools/physics/shapecast.cs +127 -0
  912. package/unitypkg/Editor/Tools/physics/simulation.cs +89 -0
  913. package/unitypkg/Editor/Tools/physics/validate.cs +67 -0
  914. package/unitypkg/Editor/Tools/prefab/PrefabOverrideToolSupport.cs +355 -0
  915. package/unitypkg/Editor/Tools/prefab/PrefabToolSupport.cs +446 -0
  916. package/unitypkg/Editor/Tools/prefab/create.cs +125 -0
  917. package/unitypkg/Editor/Tools/prefab/hierarchy.cs +157 -0
  918. package/unitypkg/Editor/Tools/prefab/info.cs +44 -0
  919. package/unitypkg/Editor/Tools/prefab/instantiate.cs +106 -0
  920. package/unitypkg/Editor/Tools/prefab/modify.cs +112 -0
  921. package/unitypkg/Editor/Tools/prefab/overrides/apply.cs +51 -0
  922. package/unitypkg/Editor/Tools/prefab/overrides/revert.cs +51 -0
  923. package/unitypkg/Editor/Tools/prefab/stage-close.cs +67 -0
  924. package/unitypkg/Editor/Tools/prefab/stage-open.cs +69 -0
  925. package/unitypkg/Editor/Tools/prefab/stage-save.cs +64 -0
  926. package/unitypkg/Editor/Tools/prefab/stage.cs +68 -0
  927. package/unitypkg/Editor/Tools/prefab/unpack.cs +80 -0
  928. package/unitypkg/Editor/Tools/prefab/variant/create.cs +53 -0
  929. package/unitypkg/Editor/Tools/profiler/ProfilerFrameDebuggerSupport.cs +68 -0
  930. package/unitypkg/Editor/Tools/profiler/ProfilerMemorySnapshotSupport.cs +30 -0
  931. package/unitypkg/Editor/Tools/profiler/ProfilerToolSupport.cs +515 -0
  932. package/unitypkg/Editor/Tools/profiler/areas.cs +36 -0
  933. package/unitypkg/Editor/Tools/profiler/capture.cs +188 -0
  934. package/unitypkg/Editor/Tools/profiler/clear.cs +57 -0
  935. package/unitypkg/Editor/Tools/profiler/counter.cs +34 -0
  936. package/unitypkg/Editor/Tools/profiler/deep.cs +48 -0
  937. package/unitypkg/Editor/Tools/profiler/export.cs +85 -0
  938. package/unitypkg/Editor/Tools/profiler/frame-debugger/disable.cs +53 -0
  939. package/unitypkg/Editor/Tools/profiler/frame-debugger/enable.cs +66 -0
  940. package/unitypkg/Editor/Tools/profiler/frame-debugger/events.cs +140 -0
  941. package/unitypkg/Editor/Tools/profiler/frame.cs +38 -0
  942. package/unitypkg/Editor/Tools/profiler/hierarchy.cs +183 -0
  943. package/unitypkg/Editor/Tools/profiler/load.cs +85 -0
  944. package/unitypkg/Editor/Tools/profiler/memory-snapshot/compare.cs +78 -0
  945. package/unitypkg/Editor/Tools/profiler/memory-snapshot/list.cs +73 -0
  946. package/unitypkg/Editor/Tools/profiler/memory-snapshot/take.cs +147 -0
  947. package/unitypkg/Editor/Tools/profiler/memory.cs +34 -0
  948. package/unitypkg/Editor/Tools/profiler/module-enable.cs +52 -0
  949. package/unitypkg/Editor/Tools/profiler/modules.cs +33 -0
  950. package/unitypkg/Editor/Tools/profiler/object-memory.cs +49 -0
  951. package/unitypkg/Editor/Tools/profiler/pause.cs +49 -0
  952. package/unitypkg/Editor/Tools/profiler/rendering-stats.cs +109 -0
  953. package/unitypkg/Editor/Tools/profiler/script-stats.cs +35 -0
  954. package/unitypkg/Editor/Tools/profiler/start.cs +55 -0
  955. package/unitypkg/Editor/Tools/profiler/status.cs +36 -0
  956. package/unitypkg/Editor/Tools/profiler/stop.cs +53 -0
  957. package/unitypkg/Editor/Tools/project/ProjectSettingsReader.cs +31 -0
  958. package/unitypkg/Editor/Tools/project/ProjectSettingsToolSupport.cs +757 -0
  959. package/unitypkg/Editor/Tools/project/ProjectTagLayerToolSupport.cs +23 -0
  960. package/unitypkg/Editor/Tools/project/audio-settings/set.cs +35 -0
  961. package/unitypkg/Editor/Tools/project/audio-settings.cs +31 -0
  962. package/unitypkg/Editor/Tools/project/info.cs +52 -0
  963. package/unitypkg/Editor/Tools/project/input-settings/set.cs +35 -0
  964. package/unitypkg/Editor/Tools/project/input-settings.cs +35 -0
  965. package/unitypkg/Editor/Tools/project/layer/add.cs +3 -0
  966. package/unitypkg/Editor/Tools/project/layer/remove.cs +3 -0
  967. package/unitypkg/Editor/Tools/project/layers.cs +61 -0
  968. package/unitypkg/Editor/Tools/project/player-settings/set.cs +35 -0
  969. package/unitypkg/Editor/Tools/project/player-settings.cs +31 -0
  970. package/unitypkg/Editor/Tools/project/tag/add.cs +3 -0
  971. package/unitypkg/Editor/Tools/project/tag/remove.cs +3 -0
  972. package/unitypkg/Editor/Tools/project/tags.cs +45 -0
  973. package/unitypkg/Editor/Tools/project/time-settings/set.cs +35 -0
  974. package/unitypkg/Editor/Tools/project/time-settings.cs +31 -0
  975. package/unitypkg/Editor/Tools/reflection/method/call.cs +114 -0
  976. package/unitypkg/Editor/Tools/reflection/method/find.cs +72 -0
  977. package/unitypkg/Editor/Tools/reflection/type/schema.cs +56 -0
  978. package/unitypkg/Editor/Tools/scene/SceneToolSupport.cs +181 -0
  979. package/unitypkg/Editor/Tools/scene/active.cs +62 -0
  980. package/unitypkg/Editor/Tools/scene/build-settings.cs +69 -0
  981. package/unitypkg/Editor/Tools/scene/create.cs +78 -0
  982. package/unitypkg/Editor/Tools/scene/data.cs +125 -0
  983. package/unitypkg/Editor/Tools/scene/gameobject/component.cs +63 -0
  984. package/unitypkg/Editor/Tools/scene/gameobject/components.cs +77 -0
  985. package/unitypkg/Editor/Tools/scene/gameobject-support.cs +101 -0
  986. package/unitypkg/Editor/Tools/scene/gameobject.cs +83 -0
  987. package/unitypkg/Editor/Tools/scene/hierarchy.cs +250 -0
  988. package/unitypkg/Editor/Tools/scene/list-opened.cs +77 -0
  989. package/unitypkg/Editor/Tools/scene/load.cs +68 -0
  990. package/unitypkg/Editor/Tools/scene/move-object.cs +122 -0
  991. package/unitypkg/Editor/Tools/scene/save.cs +231 -0
  992. package/unitypkg/Editor/Tools/scene/set-active.cs +76 -0
  993. package/unitypkg/Editor/Tools/scene/unload.cs +109 -0
  994. package/unitypkg/Editor/Tools/scene/validate.cs +115 -0
  995. package/unitypkg/Editor/Tools/scene/view-frame.cs +218 -0
  996. package/unitypkg/Editor/Tools/screenshot/EditorElementCaptureToolSupport.cs +181 -0
  997. package/unitypkg/Editor/Tools/screenshot/ScreenshotToolSupport.cs +196 -0
  998. package/unitypkg/Editor/Tools/screenshot/editor-element.cs +87 -0
  999. package/unitypkg/Editor/Tools/screenshot/game-view.cs +116 -0
  1000. package/unitypkg/Editor/Tools/screenshot/isolated-object.cs +93 -0
  1001. package/unitypkg/Editor/Tools/screenshot/orbit.cs +103 -0
  1002. package/unitypkg/Editor/Tools/screenshot/scene-view.cs +99 -0
  1003. package/unitypkg/Editor/Tools/screenshot/screen.cs +89 -0
  1004. package/unitypkg/Editor/Tools/screenshot/surround.cs +181 -0
  1005. package/unitypkg/Editor/Tools/scriptable-object/ScriptableObjectToolSupport.cs +196 -0
  1006. package/unitypkg/Editor/Tools/scriptable-object/create.cs +79 -0
  1007. package/unitypkg/Editor/Tools/scriptable-object/info.cs +49 -0
  1008. package/unitypkg/Editor/Tools/scriptable-object/list-types.cs +103 -0
  1009. package/unitypkg/Editor/Tools/scriptable-object/modify.cs +208 -0
  1010. package/unitypkg/Editor/Tools/shader/ShaderToolSupport.cs +326 -0
  1011. package/unitypkg/Editor/Tools/shader/create.cs +82 -0
  1012. package/unitypkg/Editor/Tools/shader/delete.cs +90 -0
  1013. package/unitypkg/Editor/Tools/shader/get-data.cs +125 -0
  1014. package/unitypkg/Editor/Tools/shader/info.cs +48 -0
  1015. package/unitypkg/Editor/Tools/shader/list.cs +82 -0
  1016. package/unitypkg/Editor/Tools/shader/read.cs +84 -0
  1017. package/unitypkg/Editor/Tools/shader/update.cs +71 -0
  1018. package/unitypkg/Editor/Tools/tests/list.cs +98 -0
  1019. package/unitypkg/Editor/Tools/texture/TextureToolSupport.cs +327 -0
  1020. package/unitypkg/Editor/Tools/texture/create.cs +182 -0
  1021. package/unitypkg/Editor/Tools/texture/delete.cs +89 -0
  1022. package/unitypkg/Editor/Tools/texture/generate.cs +189 -0
  1023. package/unitypkg/Editor/Tools/texture/import-settings.cs +104 -0
  1024. package/unitypkg/Editor/Tools/texture/info.cs +50 -0
  1025. package/unitypkg/Editor/Tools/texture/modify.cs +154 -0
  1026. package/unitypkg/Editor/Tools/texture/sprite.cs +132 -0
  1027. package/unitypkg/Editor/Tools/timeline/TimelineMutationToolSupport.cs +696 -0
  1028. package/unitypkg/Editor/Tools/timeline/TimelineReadToolSupport.cs +439 -0
  1029. package/unitypkg/Editor/Tools/timeline/TimelineToolSupport.cs +203 -0
  1030. package/unitypkg/Editor/Tools/timeline/clip/add.cs +93 -0
  1031. package/unitypkg/Editor/Tools/timeline/create.cs +88 -0
  1032. package/unitypkg/Editor/Tools/timeline/info.cs +54 -0
  1033. package/unitypkg/Editor/Tools/timeline/track/add.cs +91 -0
  1034. package/unitypkg/Editor/Tools/ui/UiToolSupport.cs +162 -0
  1035. package/unitypkg/Editor/Tools/ui/UiUguiToolSupport.cs +24 -0
  1036. package/unitypkg/Editor/Tools/ui/attach-document.cs +46 -0
  1037. package/unitypkg/Editor/Tools/ui/button/create.cs +58 -0
  1038. package/unitypkg/Editor/Tools/ui/canvas/create.cs +40 -0
  1039. package/unitypkg/Editor/Tools/ui/create-panel-settings.cs +44 -0
  1040. package/unitypkg/Editor/Tools/ui/detach-document.cs +41 -0
  1041. package/unitypkg/Editor/Tools/ui/document/create.cs +49 -0
  1042. package/unitypkg/Editor/Tools/ui/document/delete.cs +33 -0
  1043. package/unitypkg/Editor/Tools/ui/document/info.cs +33 -0
  1044. package/unitypkg/Editor/Tools/ui/document/update.cs +36 -0
  1045. package/unitypkg/Editor/Tools/ui/get-visual-tree.cs +34 -0
  1046. package/unitypkg/Editor/Tools/ui/hierarchy.cs +27 -0
  1047. package/unitypkg/Editor/Tools/ui/image/create.cs +47 -0
  1048. package/unitypkg/Editor/Tools/ui/link-stylesheet.cs +54 -0
  1049. package/unitypkg/Editor/Tools/ui/list-documents.cs +34 -0
  1050. package/unitypkg/Editor/Tools/ui/modify-visual-element.cs +76 -0
  1051. package/unitypkg/Editor/Tools/ui/render-preview.cs +128 -0
  1052. package/unitypkg/Editor/Tools/ui/text/create.cs +45 -0
  1053. package/unitypkg/Editor/Tools/ui/update-panel-settings.cs +49 -0
  1054. package/unitypkg/Editor/UnityCliBridge.cs +431 -0
  1055. package/unitypkg/Editor/UnityCliBridgeBuildInfo.cs +9 -0
  1056. package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeBridge.cs +580 -0
  1057. package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeJson.cs +232 -0
  1058. package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeRegistry.cs +297 -0
  1059. package/unitypkg/Runtime/Tools/UnityCliRuntimeTools.cs +701 -0
  1060. package/unitypkg/Runtime/UnityCli.Runtime.asmdef +14 -0
  1061. package/unitypkg/Shared/UnityCli.Shared.asmdef +14 -0
  1062. package/unitypkg/Shared/UnityCliAdmissionPool.cs +426 -0
  1063. package/unitypkg/Tests/Editor/UnityCli.Editor.Tests.asmdef +15 -0
  1064. package/unitypkg/Tests/Editor/UnityCliAdmissionPoolTests.cs +262 -0
  1065. package/unitypkg/UnityCli.Editor.asmdef +26 -0
  1066. package/unitypkg/package.json +11 -0
@@ -0,0 +1,147 @@
1
+ #if UNITY_EDITOR
2
+ using System;
3
+ using System.Collections.Generic;
4
+ using System.IO;
5
+ using System.Reflection;
6
+ using System.Threading;
7
+ using System.Threading.Tasks;
8
+ using UnityEditor;
9
+ using UnityEngine;
10
+ using UnityCli.Protocol;
11
+
12
+ namespace UnityCli
13
+ {
14
+ public static partial class UnityCliBridge
15
+ {
16
+ /// <summary>package.embed 的跨 domain reload Package Manager 协调器。</summary>
17
+ internal static class UnityCliPackageEmbedCoordinator
18
+ {
19
+ private static readonly Coordinator Instance = new Coordinator();
20
+ private static readonly Dictionary<string, object> ActiveRequests = new Dictionary<string, object>(StringComparer.Ordinal);
21
+ internal static bool IsCommand(string command) { return Instance.IsCommand(command); }
22
+ internal static void Register(BridgeCommandRegistry registry) { Instance.Register(registry); }
23
+ internal static Task<string> Execute(BridgeRequest request, byte[] raw, Func<bool> accept, CancellationToken ct) { return Instance.Execute(request, raw, accept, ct); }
24
+ internal static void Initialize() { ActiveRequests.Clear(); }
25
+ internal static void Shutdown() { ActiveRequests.Clear(); }
26
+ internal static void BeforeReload() { ActiveRequests.Clear(); Instance.Update(root => root["reloadObserved"] = true); }
27
+ internal static void Tick() { Instance.Tick(); }
28
+
29
+ private sealed class Coordinator : UnityCliReloadOperation
30
+ {
31
+ protected override string Scope { get { return "package-embed"; } }
32
+ protected override string StartCommand { get { return "internal.package.embed.start"; } }
33
+ protected override string StatusCommand { get { return "internal.package.embed.status"; } }
34
+ protected override string OperationDisplayName { get { return "Package embed"; } }
35
+ protected override int CommandTimeoutMs { get { return 120000; } }
36
+ protected override object DeserializeStartArgs(BridgeRequest request) { return request.DeserializeArgs<Args>(); }
37
+ protected override void ValidateStart(object value)
38
+ {
39
+ var args = (Args)value;
40
+ if (args == null || string.IsNullOrEmpty(args.Package)) throw new BridgeCommandException("E_PACKAGE_ID_REQUIRED", "package.embed requires --package <id>.", "Pass a package id like com.unity.x.");
41
+ if (EditorApplication.isPlaying || IsPlayModeChanging()) throw new BridgeCommandException("E_TOOL_PLAYMODE_UNAVAILABLE", "package.embed is editor-only and requires stable Edit Mode.");
42
+ }
43
+ protected override void ValidateLoadedRoot(Dictionary<string, object> root)
44
+ {
45
+ ValidateRootContract(root, new[] { "package", "reloadObserved", "rootContractDigest" }, "queued", "embed_started", "waiting_completed", "waiting_stable");
46
+ var packageId = Text(root, "package");
47
+ if (string.IsNullOrWhiteSpace(packageId) || packageId.Length > 200 || packageId.IndexOf('/') >= 0 || packageId.IndexOf('\\') >= 0)
48
+ throw new InvalidDataException("Package embed active root fields are invalid.");
49
+ if (!string.Equals(Text(root, "rootContractDigest"), PackageEmbedRootContractDigest(root), StringComparison.Ordinal))
50
+ throw new InvalidDataException("Package embed immutable root contract changed.");
51
+ var fenced = HasExactEffectFence("package-embed", root, "package-embed");
52
+ if ((Text(root, "phase") == "queued") == fenced)
53
+ throw new InvalidDataException("Package embed effect fence is inconsistent with phase.");
54
+ }
55
+
56
+ private static string PackageEmbedRootContractDigest(Dictionary<string, object> root)
57
+ {
58
+ return UnityCliSerializer.Sha256Canonical(new Dictionary<string, object> { { "package", root["package"] } });
59
+ }
60
+
61
+ protected override object Planned(object value)
62
+ {
63
+ var args = (Args)value;
64
+ return new Result { PackageId = args.Package, EmbeddedPath = "Packages/" + args.Package, PlannedEffects = Effects(args.Package) };
65
+ }
66
+ protected override Dictionary<string, object> CreateRoot(BridgeRequest request, string digest, object value)
67
+ {
68
+ var args = (Args)value;
69
+ var root = new Dictionary<string, object> { { "requestId", request.RequestId }, { "editorSessionId", EditorSessionId() }, { "requestDigest", digest }, { "deadline", request.Execution.AbsoluteDeadlineUtc }, { "phase", "queued" }, { "package", args.Package } };
70
+ root["rootContractDigest"] = PackageEmbedRootContractDigest(root);
71
+ return root;
72
+ }
73
+ protected override void OnTick(Dictionary<string, object> root)
74
+ {
75
+ var phase = Text(root, "phase");
76
+ if (phase == "queued")
77
+ {
78
+ if (BusyEditor()) return;
79
+ var method = typeof(UnityEditor.PackageManager.Client).GetMethod("Embed", BindingFlags.Static | BindingFlags.Public);
80
+ if (method == null) { Fail(root, "E_PACKAGE_EMBED_UNSUPPORTED", "PackageClient.Embed is not available in this Unity version."); return; }
81
+ // Embed 可能在返回前触发 domain reload;fence与post phase确认后才调用effect。
82
+ root = CrossEffectFence(root, "package-embed", "embed_started");
83
+ try
84
+ {
85
+ ActiveRequests[Text(root, "requestId")] = method.Invoke(null, new object[] { Text(root, "package") });
86
+ Update(x => x["phase"] = "waiting_completed");
87
+ }
88
+ catch (Exception exception) { Fail(root, "E_PACKAGE_EMBED_FAILED", exception.InnerException == null ? exception.Message : exception.InnerException.Message); }
89
+ return;
90
+ }
91
+ if (phase == "embed_started")
92
+ {
93
+ // domain reload 后 request 对象已失效,直接转入可持久重建的 PackageInfo/磁盘观察。
94
+ Update(x => x["phase"] = "waiting_stable");
95
+ return;
96
+ }
97
+ if (phase == "waiting_completed")
98
+ {
99
+ object request;
100
+ if (!ActiveRequests.TryGetValue(Text(root, "requestId"), out request) || request == null)
101
+ {
102
+ Update(x => x["phase"] = "waiting_stable");
103
+ return;
104
+ }
105
+ var requestType = request.GetType();
106
+ var completed = requestType.GetProperty("IsCompleted");
107
+ if (completed == null || !(bool)completed.GetValue(request, null)) return;
108
+ var status = requestType.GetProperty("Status");
109
+ var value = status == null ? null : status.GetValue(request, null);
110
+ if (value != null && string.Equals(value.ToString(), "Failure", StringComparison.OrdinalIgnoreCase))
111
+ {
112
+ var error = requestType.GetProperty("Error");
113
+ var errorValue = error == null ? null : error.GetValue(request, null);
114
+ var message = errorValue == null ? null : errorValue.GetType().GetProperty("message")?.GetValue(errorValue, null) as string;
115
+ ActiveRequests.Remove(Text(root, "requestId"));
116
+ Fail(root, "E_PACKAGE_EMBED_FAILED", string.IsNullOrEmpty(message) ? "Package Manager failed to embed " + Text(root, "package") + "." : message);
117
+ return;
118
+ }
119
+ ActiveRequests.Remove(Text(root, "requestId"));
120
+ Update(x => x["phase"] = "waiting_stable");
121
+ return;
122
+ }
123
+ if (phase != "waiting_stable" || BusyEditor()) return;
124
+ try { BuildEmbeddedResult(Text(root, "package")); Succeed(root); }
125
+ catch (BridgeCommandException) { /* 业务状态尚未稳定,后续 Tick 继续观察。 */ }
126
+ }
127
+ protected override object BuildSuccessData(Dictionary<string, object> root) { return BuildEmbeddedResult(Text(root, "package")); }
128
+ private static bool BusyEditor() { return EditorApplication.isUpdating || EditorApplication.isCompiling || BuildPipeline.isBuildingPlayer || IsPlayModeChanging(); }
129
+ }
130
+ private sealed class Args { public string Package { get; set; } }
131
+ private sealed class Result { public string PackageId { get; set; } public string EmbeddedPath { get; set; } public List<EditorPlannedEffect> PlannedEffects { get; set; } }
132
+ private static List<EditorPlannedEffect> Effects(string packageId) { return new List<EditorPlannedEffect> { new EditorPlannedEffect { Type = "package.embed", Path = packageId } }; }
133
+ /// <summary>只从 PackageManager registry 与磁盘构造 terminal proof,不触发 resolve/embed。</summary>
134
+ private static Result BuildEmbeddedResult(string packageId)
135
+ {
136
+ var assetPath = "Packages/" + packageId;
137
+ var info = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(assetPath);
138
+ var expected = Path.GetFullPath(Path.Combine(Directory.GetParent(Application.dataPath).FullName, "Packages", packageId));
139
+ var actual = info == null || string.IsNullOrEmpty(info.resolvedPath) ? null : Path.GetFullPath(info.resolvedPath);
140
+ if (info == null || info.source != UnityEditor.PackageManager.PackageSource.Embedded || !string.Equals(info.name, packageId, StringComparison.Ordinal) || !string.Equals(actual, expected, StringComparison.OrdinalIgnoreCase) || !Directory.Exists(actual))
141
+ throw new BridgeCommandException("E_PACKAGE_EMBED_PROOF_MISSING", "Package Manager does not report a verified embedded package at " + assetPath + ".", "Inspect Packages/ and Package Manager diagnostics before submitting a new request.");
142
+ return new Result { PackageId = packageId, EmbeddedPath = actual, PlannedEffects = Effects(packageId) };
143
+ }
144
+ }
145
+ }
146
+ }
147
+ #endif
@@ -0,0 +1,454 @@
1
+ #if UNITY_EDITOR
2
+ using System;
3
+ using System.Collections.Generic;
4
+ using System.Diagnostics;
5
+ using System.Globalization;
6
+ using System.IO;
7
+ using System.Linq;
8
+ using System.Text;
9
+ using System.Threading;
10
+ using System.Threading.Tasks;
11
+ using UnityEditor;
12
+ using UnityEditor.PackageManager.Requests;
13
+ using UnityCli.Protocol;
14
+
15
+ namespace UnityCli
16
+ {
17
+ public static partial class UnityCliBridge
18
+ {
19
+ /// <summary>Package 文件 mutation 与 UPM completion fence 共用一个公开 root journal。</summary>
20
+ internal static partial class UnityCliPackageResolveCoordinator
21
+ {
22
+ internal const string Command = "internal.package.resolve.start";
23
+ private const string StatusCommand = "internal.package.resolve.status";
24
+ private const string ClaimFilesCommand = "internal.package.files.claim";
25
+ private const string CommitFilesCommand = "internal.package.files.commit";
26
+ private const string ProveFilesCommand = "internal.package.files.prove";
27
+ private const string FailFilesCommand = "internal.package.files.fail";
28
+ private const string ReloadEpochScope = "package-reload-epoch";
29
+ private const string ReloadEpochSessionKey = "UnityCli.Package.ReloadEpoch";
30
+ private static readonly Dictionary<string, ListRequest> ActiveLists = new Dictionary<string, ListRequest>(StringComparer.Ordinal);
31
+ private static readonly Coordinator operation = new Coordinator();
32
+
33
+ private sealed class Coordinator : UnityCliReloadOperation
34
+ {
35
+ protected override string Scope { get { return ActiveScope; } }
36
+ protected override string StartCommand { get { return Command; } }
37
+ protected override string StatusCommand { get { return UnityCliPackageResolveCoordinator.StatusCommand; } }
38
+ protected override string OperationDisplayName { get { return "Package root"; } }
39
+ protected override IEnumerable<(string name, bool destructive)> AdditionalCommands
40
+ {
41
+ get
42
+ {
43
+ yield return (ClaimFilesCommand, true);
44
+ yield return (CommitFilesCommand, true);
45
+ yield return (ProveFilesCommand, true);
46
+ yield return (FailFilesCommand, true);
47
+ }
48
+ }
49
+ protected override object DeserializeStartArgs(BridgeRequest request) { return request.DeserializeArgs<StartArgs>(); }
50
+ protected override void ValidateStart(object args) { UnityCliPackageResolveCoordinator.ValidateStart((StartArgs)args); }
51
+ protected override object Planned(object args) { return null; }
52
+ protected override Dictionary<string, object> CreateRoot(BridgeRequest request, string digest, object args) { return null; }
53
+ protected override void OnTick(Dictionary<string, object> root) { }
54
+ protected override object BuildSuccessData(Dictionary<string, object> root) { return null; }
55
+ protected override object Status(BridgeRequest request) { return UnityCliPackageResolveCoordinator.Status(request); }
56
+ protected override object ExecuteAdditionalCommand(BridgeRequest request)
57
+ {
58
+ if (request.Command == ClaimFilesCommand) return ClaimFiles(request);
59
+ if (request.Command == CommitFilesCommand) return CommitFiles(request);
60
+ if (request.Command == ProveFilesCommand) return ProveFiles(request);
61
+ if (request.Command == FailFilesCommand) return FailFiles(request);
62
+ return base.ExecuteAdditionalCommand(request);
63
+ }
64
+ internal override async Task<string> Execute(BridgeRequest request, byte[] raw, Func<bool> accept, CancellationToken cancellationToken)
65
+ {
66
+ try
67
+ {
68
+ if (request.Command != Command) return await base.Execute(request, raw, accept, cancellationToken);
69
+ return await ExecuteStart(request, raw, accept, cancellationToken);
70
+ }
71
+ catch (BridgeCommandException exception) { return SerializeBridgeExceptionEnvelope(request.RequestId, exception); }
72
+ }
73
+ internal override void Tick() { TickPackageRoots(); }
74
+ }
75
+
76
+ internal static bool IsCommand(string command)
77
+ {
78
+ return operation.IsCommand(command);
79
+ }
80
+
81
+ internal static void Register(BridgeCommandRegistry registry)
82
+ {
83
+ operation.Register(registry);
84
+ }
85
+
86
+ internal static void Initialize() { ActiveLists.Clear(); EnsureReloadEpoch(); RecoverTerminalCleanup(); }
87
+ internal static void Shutdown() { ActiveLists.Clear(); }
88
+ internal static void Tick() { RecoverTerminalCleanup(); operation.Tick(); }
89
+
90
+ internal static void BeforeReload()
91
+ {
92
+ RotateReloadEpoch();
93
+ ActiveLists.Clear();
94
+ foreach (var root in OpenRoots())
95
+ {
96
+ var phase = Text(root.PackageOperation, "phase");
97
+ if (phase == "awaiting_files" || phase == "files_committing")
98
+ {
99
+ try
100
+ {
101
+ UnityCliActiveOperation.Save("package-file-revoke", new Dictionary<string, object>
102
+ {
103
+ { "requestId", root.RequestId }, { "requestDigest", root.RequestDigest },
104
+ { "editorSessionId", root.EditorSessionId }, { "revokedAt", DateTimeOffset.UtcNow.ToString("O", CultureInfo.InvariantCulture) }
105
+ });
106
+ }
107
+ // marker写失败仍必须先冻结terminal,reload后不得接受Worker proof。
108
+ catch { }
109
+ TerminalTimeout(root, "Domain reload revoked the Package file executor; file effect outcome is unknown.");
110
+ continue;
111
+ }
112
+ if (phase == "files_proven")
113
+ {
114
+ TerminalTimeout(root, "Domain reload occurred after Package file proof but before Resolve dispatch; continuation is forbidden.");
115
+ continue;
116
+ }
117
+ if (phase == "resolve_dispatching")
118
+ {
119
+ TerminalTimeout(root, "Domain reload interrupted PackageManager.Resolve dispatch before its return was persisted.");
120
+ continue;
121
+ }
122
+ AdvancePackageOperation(root.RequestId, current =>
123
+ {
124
+ current.PackageOperation["reloadObserved"] = true;
125
+ var currentPhase = Text(current.PackageOperation, "phase");
126
+ if (currentPhase == "resolve_returned" || currentPhase == "list_pending" || currentPhase == "list_succeeded") current.PackageOperation["phase"] = "reload_observed";
127
+ current.PackageOperation["reloadEpoch"] = CurrentReloadEpoch();
128
+ });
129
+ }
130
+ }
131
+
132
+ internal static async Task<string> Execute(BridgeRequest request, byte[] raw, Func<bool> accept, CancellationToken cancellationToken)
133
+ {
134
+ return await operation.Execute(request, raw, accept, cancellationToken);
135
+ }
136
+
137
+ private static async Task<string> ExecuteStart(BridgeRequest request, byte[] raw, Func<bool> accept, CancellationToken cancellationToken)
138
+ {
139
+ var newlyAcquiredLease = false;
140
+ var requestDigest = UnityCliRequestDigest.Compute(raw, request.InstanceId);
141
+ try
142
+ {
143
+ var args = request.DeserializeArgs<StartArgs>();
144
+ ValidateStart(args);
145
+ object cachedTerminal;
146
+ if (UnityCliActiveOperation.TryGetTerminal(ActiveScope, request.RequestId, requestDigest, out cachedTerminal))
147
+ {
148
+ try { UnityCliActiveOperation.BeginExactTerminalCleanup(ActiveScope, request.RequestId, requestDigest); } catch { }
149
+ return StartTerminal(request.RequestId, cachedTerminal);
150
+ }
151
+ if (!UnityCliSessionMutationLease.TryAcquire(request.RequestId, requestDigest, out newlyAcquiredLease)) return BusyEnvelope(request.RequestId);
152
+ PackageActiveDecision decision;
153
+ try
154
+ {
155
+ UnityCliToolCompletionContract contract;
156
+ if (!UnityCliToolCompletionRegistry.TryGetPackageRoot(args.Operation, out contract)) throw new BridgeCommandException("E_SCHEMA_INVALID", "Unsupported package root operation.");
157
+ decision = AcceptPackageActiveOperation(request, raw, contract, newlyAcquiredLease,
158
+ () => { if (accept == null || !accept()) throw new OperationCanceledException(); },
159
+ () => ValidateStart(args), root => InitializeRoot(root, args));
160
+ }
161
+ catch { if (newlyAcquiredLease) UnityCliSessionMutationLease.Release(request.RequestId, requestDigest); throw; }
162
+ if (decision.TerminalEnvelope != null)
163
+ {
164
+ UnityCliSessionMutationLease.Release(request.RequestId, requestDigest);
165
+ return StartTerminal(request.RequestId, decision.TerminalEnvelope);
166
+ }
167
+ if (!decision.Execute)
168
+ {
169
+ if (newlyAcquiredLease) UnityCliSessionMutationLease.Release(request.RequestId, requestDigest);
170
+ throw new BridgeCommandException("E_EXECUTION_TIMEOUT", "Package active operation did not authorize recovery.");
171
+ }
172
+ await Task.FromResult(0);
173
+ return UnityCliSerializer.Serialize(StartState(request.RequestId));
174
+ }
175
+ catch (BridgeCommandException exception) { return SerializeBridgeExceptionEnvelope(request.RequestId, exception); }
176
+ }
177
+
178
+ private static string CurrentReloadEpoch()
179
+ {
180
+ var epoch = SessionState.GetString(ReloadEpochSessionKey, string.Empty);
181
+ if (string.IsNullOrEmpty(epoch)) { epoch = Guid.NewGuid().ToString("N"); SessionState.SetString(ReloadEpochSessionKey, epoch); }
182
+ return epoch;
183
+ }
184
+
185
+ private static void EnsureReloadEpoch()
186
+ {
187
+ var epoch = CurrentReloadEpoch();
188
+ try
189
+ {
190
+ UnityCliActiveOperation.Save(ReloadEpochScope, new Dictionary<string, object>
191
+ {
192
+ { "editorSessionId", EditorSessionId() }, { "epoch", epoch }
193
+ });
194
+ }
195
+ catch { }
196
+ }
197
+
198
+ private static void RotateReloadEpoch()
199
+ {
200
+ var epoch = Guid.NewGuid().ToString("N");
201
+ SessionState.SetString(ReloadEpochSessionKey, epoch);
202
+ try { UnityCliActiveOperation.Clear(ReloadEpochScope); } catch { }
203
+ EnsureReloadEpoch();
204
+ }
205
+
206
+ private static void RecoverTerminalCleanup()
207
+ {
208
+ try
209
+ {
210
+ if (UnityCliActiveOperation.RetryExactTerminalCleanup(ActiveScope)) return;
211
+ var root = LoadPackageActiveOperation();
212
+ if (root == null) return;
213
+ object terminal;
214
+ if (!UnityCliActiveOperation.TryGetTerminal(ActiveScope, root.RequestId, root.RequestDigest, out terminal)
215
+ && root.TerminalEnvelope != null)
216
+ {
217
+ var selector = UnityCliSerializer.Sha256Canonical(root.PackageOperation["input"]);
218
+ terminal = UnityCliActiveOperation.StoreTerminalFirst(ActiveScope, root.RequestId, root.RequestDigest, selector, root.TerminalEnvelope);
219
+ }
220
+ if (terminal != null) UnityCliActiveOperation.BeginExactTerminalCleanup(ActiveScope, root.RequestId, root.RequestDigest);
221
+ }
222
+ catch { RecoverCorruptPackageRoot(); }
223
+ }
224
+
225
+ private static void RecoverCorruptPackageRoot()
226
+ {
227
+ try
228
+ {
229
+ string requestId;
230
+ string requestDigest;
231
+ if (!UnityCliSessionMutationLease.TryGetOnlyActiveScopeOwner(ActiveScope, out requestId, out requestDigest)) return;
232
+ var envelope = ProtocolEnvelopeFactory.Error(requestId, "E_EXECUTION_TIMEOUT", "Package active state is corrupt or unreadable; file and Resolve outcome is unknown.", null, new[] { "Inspect Package Manager and package files before submitting another mutation." });
233
+ UnityCliActiveOperation.StoreTerminalFirst(ActiveScope, requestId, requestDigest, envelope);
234
+ UnityCliActiveOperation.BeginExactTerminalCleanup(ActiveScope, requestId, requestDigest);
235
+ }
236
+ catch { }
237
+ }
238
+
239
+ /// <summary>effect 前先持久化唯一 file executor;只有旧 owner 已死亡时才允许 recovery 重绑。</summary>
240
+ private static object ClaimFiles(BridgeRequest request)
241
+ {
242
+ var args = request.DeserializeArgs<FileOwnerArgs>();
243
+ if (args == null || !IsSafeId(args.RootRequestId) || args.ExecutorPid <= 0 || !IsSha256Text(args.ExecutorCapability)) throw Schema("rootRequestId, executorPid, and executorCapability are required.");
244
+ var root = RequiredRoot(args.RootRequestId);
245
+ var operation = Text(root.PackageOperation, "operation");
246
+ if (operation == "resolve") throw Schema("package.resolve has no TS file executor.");
247
+ RequireLease(root);
248
+ if (Text(root.PackageOperation, "phase") != "awaiting_files" || root.Phase != "accepted_before_effect")
249
+ throw new BridgeCommandException("E_EXECUTION_FAILED", "Package root is not awaiting a file executor claim.");
250
+ if (FileExecutorMatches(root.PackageOperation, args.ExecutorPid, args.ExecutorCapability))
251
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(root, args.ExecutorPid, args.ExecutorCapability));
252
+ if (FileExecutorAlive(root.PackageOperation))
253
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(root, args.ExecutorPid, args.ExecutorCapability));
254
+ BindFileExecutor(root.RequestId, args.ExecutorPid, args.ExecutorCapability);
255
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(RequiredRoot(root.RequestId), args.ExecutorPid, args.ExecutorCapability));
256
+ }
257
+
258
+ private static object CommitFiles(BridgeRequest request)
259
+ {
260
+ var args = request.DeserializeArgs<CommitArgs>();
261
+ if (args == null || !IsSafeId(args.RootRequestId) || args.FilePlan == null || args.ExecutorPid <= 0 || !IsSha256Text(args.ExecutorCapability)) throw Schema("rootRequestId, filePlan, executorPid, and executorCapability are required.");
262
+ if (Encoding.UTF8.GetByteCount(UnityCliSerializer.Serialize(args.FilePlan)) > 1024 * 1024) throw Schema("Package filePlan exceeds the private journal limit.");
263
+ var root = RequiredRoot(args.RootRequestId);
264
+ var operation = Text(root.PackageOperation, "operation");
265
+ if (operation == "resolve") throw Schema("package.resolve has no TS file mutation.");
266
+ VerifyFilePlanBinding(operation, root.PackageOperation["input"] as Dictionary<string, object>, args.FilePlan);
267
+ RequireLease(root);
268
+ var phase = Text(root.PackageOperation, "phase");
269
+ if (phase == "files_committing")
270
+ {
271
+ if (!SameJson(root.PackageOperation["filePlan"], args.FilePlan)) throw new BridgeCommandException("E_EXECUTION_FAILED", "Package filePlan changed after effect barrier.");
272
+ if (FileExecutorMatches(root.PackageOperation, args.ExecutorPid, args.ExecutorCapability)) return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(root, args.ExecutorPid, args.ExecutorCapability));
273
+ if (FileExecutorAlive(root.PackageOperation)) throw new BridgeCommandException("E_UNITY_BUSY", "Another Package file executor still owns this root.");
274
+ BindFileExecutor(root.RequestId, args.ExecutorPid, args.ExecutorCapability);
275
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(RequiredRoot(root.RequestId), args.ExecutorPid, args.ExecutorCapability));
276
+ }
277
+ if (phase != "awaiting_files" || root.Phase != "accepted_before_effect") throw new BridgeCommandException("E_EXECUTION_FAILED", "Package root is not awaiting its file effect barrier.");
278
+ if (root.PackageOperation.ContainsKey("filePlan")) throw new BridgeCommandException("E_EXECUTION_FAILED", "Package root contains a file plan before its atomic effect barrier.");
279
+ RequireFileExecutor(root.PackageOperation, args.ExecutorPid, args.ExecutorCapability);
280
+ MarkPackageFileEffectStartedActive(root.RequestId, args.FilePlan, Text(root.PackageOperation, "operation"));
281
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(RequiredRoot(root.RequestId), args.ExecutorPid, args.ExecutorCapability));
282
+ }
283
+
284
+ private static object ProveFiles(BridgeRequest request)
285
+ {
286
+ var args = request.DeserializeArgs<ProveArgs>();
287
+ ValidateProve(args);
288
+ var root = RequiredRoot(args.RootRequestId);
289
+ var operation = Text(root.PackageOperation, "operation");
290
+ if (operation == "resolve") throw Schema("package.resolve has no TS file proof.");
291
+ RequireLease(root);
292
+ RequireFileExecutor(root.PackageOperation, args.ExecutorPid, args.ExecutorCapability);
293
+ var phase = Text(root.PackageOperation, "phase");
294
+ if (phase != "files_committing")
295
+ {
296
+ if (phase != "awaiting_files" && root.PackageOperation.ContainsKey("filesProof")) return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(root, args.ExecutorPid, args.ExecutorCapability));
297
+ throw new BridgeCommandException("E_EXECUTION_FAILED", "Package root is not awaiting file proof.");
298
+ }
299
+ VerifyFileProof(Text(root.PackageOperation, "operation"), args.ExpectedManifestSha256, args.FilesProof, args.PublicResultSeed);
300
+ AdvancePackageOperation(root.RequestId, current =>
301
+ {
302
+ current.PackageOperation["expectedManifestSha256"] = args.ExpectedManifestSha256;
303
+ current.PackageOperation["predicates"] = args.Predicates != null ? (object)args.Predicates : new List<Dictionary<string, object>>();
304
+ current.PackageOperation["filesProof"] = args.FilesProof;
305
+ current.PackageOperation["publicResultSeed"] = args.PublicResultSeed;
306
+ current.PackageOperation["phase"] = "files_proven";
307
+ });
308
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(RequiredRoot(root.RequestId), args.ExecutorPid, args.ExecutorCapability));
309
+ }
310
+
311
+ private static object FailFiles(BridgeRequest request)
312
+ {
313
+ var args = request.DeserializeArgs<FailArgs>();
314
+ if (args == null || !IsSafeId(args.RootRequestId) || args.ExecutorPid <= 0 || !IsSha256Text(args.ExecutorCapability)) throw Schema("rootRequestId, executorPid, and executorCapability are required.");
315
+ var root = RequiredRoot(args.RootRequestId);
316
+ var operation = Text(root.PackageOperation, "operation");
317
+ var phase = Text(root.PackageOperation, "phase");
318
+ if (phase != "awaiting_files" && phase != "files_committing") return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(root, args.ExecutorPid, args.ExecutorCapability));
319
+ RequireLease(root);
320
+ RequireFileExecutor(root.PackageOperation, args.ExecutorPid, args.ExecutorCapability);
321
+ if (PackageEffectStarted(root.RequestId)) TerminalTimeout(root, string.IsNullOrWhiteSpace(args.Message) ? "Package file mutation did not reach fresh proof." : args.Message);
322
+ else TerminalError(root, string.IsNullOrWhiteSpace(args.Code) ? "E_EXECUTION_FAILED" : args.Code, string.IsNullOrWhiteSpace(args.Message) ? "Package file preparation failed." : args.Message, null, args.NextActions);
323
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(RequiredRoot(root.RequestId), args.ExecutorPid, args.ExecutorCapability));
324
+ }
325
+
326
+ private static object Status(BridgeRequest request)
327
+ {
328
+ var args = request.DeserializeArgs<StatusArgs>();
329
+ if (args == null || !IsSafeId(args.RootRequestId) || !IsSha256Text(args.RootInputSha256)
330
+ || (!string.IsNullOrEmpty(args.RootRequestDigest) && !IsSha256Text(args.RootRequestDigest))
331
+ || args.ExecutorPid <= 0 || !IsSha256Text(args.ExecutorCapability)) throw Schema("rootRequestId, rootInputSha256, executorPid, and executorCapability are required.");
332
+ object cached;
333
+ var found = !string.IsNullOrEmpty(args.RootRequestDigest)
334
+ ? UnityCliActiveOperation.TryGetTerminal(ActiveScope, args.RootRequestId, args.RootRequestDigest, out cached)
335
+ : UnityCliActiveOperation.TryGetTerminalBySelector(ActiveScope, args.RootRequestId, args.RootInputSha256, out cached);
336
+ if (found) return ProtocolEnvelopeFactory.Success(request.RequestId, new Dictionary<string, object>
337
+ {
338
+ { "accepted", true }, { "terminal", true }, { "rootInputSha256", args.RootInputSha256 }, { "terminalEnvelope", cached }
339
+ });
340
+ var root = RequiredRoot(args.RootRequestId);
341
+ if (!string.Equals(UnityCliSerializer.Sha256Canonical(root.PackageOperation["input"]), args.RootInputSha256, StringComparison.Ordinal)
342
+ || (!string.IsNullOrEmpty(args.RootRequestDigest) && !string.Equals(root.RequestDigest, args.RootRequestDigest, StringComparison.Ordinal)))
343
+ throw new BridgeCommandException("E_REQUEST_ID_REUSED", "Package requestId was reused with different input.");
344
+ return ProtocolEnvelopeFactory.Success(request.RequestId, ControlState(root, args.ExecutorPid, args.ExecutorCapability));
345
+ }
346
+
347
+ private static Dictionary<string, object> ControlState(ActivePackageOperationRecord root, int callerPid = 0, string callerCapability = null)
348
+ {
349
+ var data = new Dictionary<string, object> {
350
+ { "accepted", true }, { "terminal", IsTerminal(root) }, { "phase", Text(root.PackageOperation, "phase") }, { "rootRequestDigest", root.RequestDigest },
351
+ { "operation", Text(root.PackageOperation, "operation") }, { "rootInputSha256", UnityCliSerializer.Sha256Canonical(root.PackageOperation["input"]) },
352
+ { "fileExecutorAlive", FileExecutorAlive(root.PackageOperation) },
353
+ { "fileExecutorOwnedByCaller", callerPid > 0 && FileExecutorMatches(root.PackageOperation, callerPid, callerCapability) }
354
+ };
355
+ if (root.PackageOperation.ContainsKey("filePlan")) data["filePlan"] = root.PackageOperation["filePlan"];
356
+ if (root.TerminalEnvelope != null) data["terminalEnvelope"] = root.TerminalEnvelope;
357
+ return data;
358
+ }
359
+
360
+ private static object StartState(string requestId)
361
+ {
362
+ var root = RequiredRoot(requestId);
363
+ var data = ControlState(root);
364
+ data["requestId"] = requestId;
365
+ return ProtocolEnvelopeFactory.Success(requestId, data);
366
+ }
367
+
368
+ private static string StartTerminal(string requestId, object terminalEnvelope)
369
+ {
370
+ return UnityCliSerializer.Serialize(ProtocolEnvelopeFactory.Success(requestId, new Dictionary<string, object> { { "requestId", requestId }, { "accepted", true }, { "terminal", true }, { "terminalEnvelope", terminalEnvelope } }));
371
+ }
372
+
373
+ private sealed class StartArgs { public string ExpectedEditorSessionId { get; set; } public string Operation { get; set; } public Dictionary<string, object> Input { get; set; } }
374
+ private sealed class StatusArgs { public string RootRequestId { get; set; } public string RootRequestDigest { get; set; } public string RootInputSha256 { get; set; } public int ExecutorPid { get; set; } public string ExecutorCapability { get; set; } }
375
+ private sealed class FileOwnerArgs { public string RootRequestId { get; set; } public int ExecutorPid { get; set; } public string ExecutorCapability { get; set; } }
376
+ private static bool FileExecutorAlive(Dictionary<string, object> operation)
377
+ {
378
+ object pidValue; object identityValue;
379
+ if (operation == null || !operation.TryGetValue("fileExecutorPid", out pidValue) || !operation.TryGetValue("fileExecutorStartIdentity", out identityValue)) return false;
380
+ var pid = Convert.ToInt32(pidValue);
381
+ return string.Equals(ProcessIdentity(pid), identityValue as string, StringComparison.Ordinal);
382
+ }
383
+ /// <summary>PID、Windows start identity 与高熵 capability 必须同时等于 durable owner。</summary>
384
+ private static bool FileExecutorMatches(Dictionary<string, object> operation, int pid, string capability)
385
+ {
386
+ object pidValue; object identityValue; object capabilityHashValue;
387
+ return operation != null && IsSha256Text(capability)
388
+ && operation.TryGetValue("fileExecutorPid", out pidValue) && Convert.ToInt32(pidValue) == pid
389
+ && operation.TryGetValue("fileExecutorStartIdentity", out identityValue)
390
+ && string.Equals(ProcessIdentity(pid), identityValue as string, StringComparison.Ordinal)
391
+ && operation.TryGetValue("fileExecutorCapabilitySha256", out capabilityHashValue)
392
+ && string.Equals(Sha256Hex(Encoding.UTF8.GetBytes(capability)), capabilityHashValue as string, StringComparison.Ordinal);
393
+ }
394
+ /// <summary>校验 file control 的不可伪造 owner capability,拒绝其他本地进程代为证明或裁决。</summary>
395
+ private static void RequireFileExecutor(Dictionary<string, object> operation, int pid, string capability)
396
+ {
397
+ if (pid <= 0 || !FileExecutorMatches(operation, pid, capability)) throw new BridgeCommandException("E_PACKAGE_FILE_EXECUTOR_MISMATCH", "Package file control is not owned by the current executor process.");
398
+ }
399
+ /// <summary>仅在旧 executor 已证明不存活后,把 recovery PID、identity 与 capability hash 原子写回 root。</summary>
400
+ private static void BindFileExecutor(string requestId, int pid, string capability)
401
+ {
402
+ if (!IsSha256Text(capability)) throw Schema("executorCapability must be 256-bit lowercase hex.");
403
+ var identity = RequireProcessIdentity(pid);
404
+ var capabilityHash = Sha256Hex(Encoding.UTF8.GetBytes(capability));
405
+ AdvancePackageOperation(requestId, current =>
406
+ {
407
+ current.PackageOperation["fileExecutorPid"] = (long)pid;
408
+ current.PackageOperation["fileExecutorStartIdentity"] = identity;
409
+ current.PackageOperation["fileExecutorCapabilitySha256"] = capabilityHash;
410
+ });
411
+ }
412
+ /// <summary>读取 fail-closed Windows process identity,无法证明时禁止推进 root。</summary>
413
+ private static string RequireProcessIdentity(int pid)
414
+ {
415
+ var identity = ProcessIdentity(pid);
416
+ if (identity == null) throw new BridgeCommandException("E_EXECUTION_FAILED", "Package file executor identity could not be verified before changing root state.");
417
+ return identity;
418
+ }
419
+ /// <summary>file plan 必须逐字段绑定 root 的公开输入,不能由 private control 换成另一项业务 mutation。</summary>
420
+ private static void VerifyFilePlanBinding(string operation, Dictionary<string, object> rootInput, Dictionary<string, object> filePlan)
421
+ {
422
+ var matches = rootInput != null && filePlan != null;
423
+ if (matches && operation == "install")
424
+ matches = Same(Text(rootInput, "name"), Text(filePlan, "name")) && Same(Text(rootInput, "version"), Text(filePlan, "version"));
425
+ else if (matches && operation == "remove")
426
+ matches = Same(Text(rootInput, "name"), Text(filePlan, "name")) && Bool(rootInput, "force") == Bool(filePlan, "force");
427
+ else if (matches && operation == "deploy")
428
+ matches = Same(Text(rootInput, "source"), Text(filePlan, "requestedSource"))
429
+ && OptionalSame(Text(rootInput, "packageName"), Text(filePlan, "requestedPackageName"));
430
+ else if (matches && operation == "restore")
431
+ matches = Same(Text(rootInput, "packageName"), Text(filePlan, "packageName"));
432
+ else matches = false;
433
+ if (!matches) throw new BridgeCommandException("E_EXECUTION_FAILED", "Package filePlan is not bound to the accepted public root input.");
434
+ }
435
+
436
+ /// <summary>可选字符串只有双 null 或双非空精确相等时才匹配。</summary>
437
+ private static bool OptionalSame(string left, string right)
438
+ {
439
+ return left == null ? right == null : Same(left, right);
440
+ }
441
+
442
+ private static string ProcessIdentity(int pid)
443
+ {
444
+ try { using (var process = Process.GetProcessById(pid)) return "win32:" + process.StartTime.ToUniversalTime().Ticks.ToString(System.Globalization.CultureInfo.InvariantCulture); }
445
+ catch { return null; }
446
+ }
447
+
448
+ private sealed class CommitArgs { public string RootRequestId { get; set; } public Dictionary<string, object> FilePlan { get; set; } public int ExecutorPid { get; set; } public string ExecutorCapability { get; set; } }
449
+ private sealed class ProveArgs { public string RootRequestId { get; set; } public int ExecutorPid { get; set; } public string ExecutorCapability { get; set; } public string ExpectedManifestSha256 { get; set; } public List<Dictionary<string, object>> Predicates { get; set; } public Dictionary<string, object> FilesProof { get; set; } public Dictionary<string, object> PublicResultSeed { get; set; } }
450
+ private sealed class FailArgs { public string RootRequestId { get; set; } public int ExecutorPid { get; set; } public string ExecutorCapability { get; set; } public string Code { get; set; } public string Message { get; set; } public string[] NextActions { get; set; } }
451
+ }
452
+ }
453
+ }
454
+ #endif