@alpsckr/unitycli 0.4.3 → 0.4.4

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 (420) hide show
  1. package/README.md +5 -5
  2. package/contracts/command-contract.json +109 -217
  3. package/contracts/package-files.json +374 -294
  4. package/contracts/stable-session/direct-call-semantics.json +8 -2
  5. package/contracts/tool-completion-contract.json +148 -672
  6. package/dist/bridge/admission.d.ts +17 -1
  7. package/dist/bridge/admission.js +2 -0
  8. package/dist/bridge/admission.js.map +1 -1
  9. package/dist/bridge/domains/asset.js +3 -1
  10. package/dist/bridge/domains/asset.js.map +1 -1
  11. package/dist/bridge/domains/camera.js +39 -7
  12. package/dist/bridge/domains/camera.js.map +1 -1
  13. package/dist/bridge/domains/console.js +2 -1
  14. package/dist/bridge/domains/console.js.map +1 -1
  15. package/dist/bridge/domains/doctor.d.ts +3 -0
  16. package/dist/bridge/domains/doctor.js +8 -0
  17. package/dist/bridge/domains/doctor.js.map +1 -0
  18. package/dist/bridge/domains/editor.js +0 -4
  19. package/dist/bridge/domains/editor.js.map +1 -1
  20. package/dist/bridge/domains/game-object.js +4 -12
  21. package/dist/bridge/domains/game-object.js.map +1 -1
  22. package/dist/bridge/domains/graphics.js +1 -16
  23. package/dist/bridge/domains/graphics.js.map +1 -1
  24. package/dist/bridge/domains/object.js +3 -0
  25. package/dist/bridge/domains/object.js.map +1 -1
  26. package/dist/bridge/domains/physics.js +1 -2
  27. package/dist/bridge/domains/physics.js.map +1 -1
  28. package/dist/bridge/domains/profiler.js +18 -7
  29. package/dist/bridge/domains/profiler.js.map +1 -1
  30. package/dist/bridge/domains/project-tool.js +4 -0
  31. package/dist/bridge/domains/project-tool.js.map +1 -1
  32. package/dist/bridge/domains/reflection.js +10 -2
  33. package/dist/bridge/domains/reflection.js.map +1 -1
  34. package/dist/bridge/domains/runtime-tool.js +3 -0
  35. package/dist/bridge/domains/runtime-tool.js.map +1 -1
  36. package/dist/bridge/domains/scene.js +3 -8
  37. package/dist/bridge/domains/scene.js.map +1 -1
  38. package/dist/bridge/domains/screenshot.js +30 -6
  39. package/dist/bridge/domains/screenshot.js.map +1 -1
  40. package/dist/bridge/domains/ui.js +3 -1
  41. package/dist/bridge/domains/ui.js.map +1 -1
  42. package/dist/bridge/index.d.ts +5 -5
  43. package/dist/bridge/index.js +6 -9
  44. package/dist/bridge/index.js.map +1 -1
  45. package/dist/bridge/registry.js +3 -5
  46. package/dist/bridge/registry.js.map +1 -1
  47. package/dist/bridge/session-supervisor.d.ts +6 -3
  48. package/dist/bridge/session-supervisor.js +122 -34
  49. package/dist/bridge/session-supervisor.js.map +1 -1
  50. package/dist/bridge/types.d.ts +6 -5
  51. package/dist/bridge/types.js +16 -2
  52. package/dist/bridge/types.js.map +1 -1
  53. package/dist/catalog-protocol.d.ts +64 -0
  54. package/dist/catalog-protocol.js +460 -0
  55. package/dist/catalog-protocol.js.map +1 -0
  56. package/dist/cli-commands/command.js +84 -61
  57. package/dist/cli-commands/command.js.map +1 -1
  58. package/dist/cli-commands/extensions.js +70 -50
  59. package/dist/cli-commands/extensions.js.map +1 -1
  60. package/dist/cli-commands/instances.js +1 -1
  61. package/dist/cli-commands/instances.js.map +1 -1
  62. package/dist/cli-process-owners.d.ts +6 -0
  63. package/dist/cli-process-owners.js +27 -0
  64. package/dist/cli-process-owners.js.map +1 -0
  65. package/dist/cli.d.ts +1 -1
  66. package/dist/cli.js +20 -5
  67. package/dist/cli.js.map +1 -1
  68. package/dist/contracts/command-contract.js +14 -4
  69. package/dist/contracts/command-contract.js.map +1 -1
  70. package/dist/doctor.d.ts +4 -6
  71. package/dist/doctor.js +429 -398
  72. package/dist/doctor.js.map +1 -1
  73. package/dist/editor-blocker-observer.d.ts +2 -1
  74. package/dist/editor-blocker-observer.js +40 -13
  75. package/dist/editor-blocker-observer.js.map +1 -1
  76. package/dist/extension-availability.d.ts +27 -9
  77. package/dist/extension-availability.js +96 -56
  78. package/dist/extension-availability.js.map +1 -1
  79. package/dist/extensions/descriptor-loader.d.ts +2 -2
  80. package/dist/extensions/descriptor-loader.js +3 -4
  81. package/dist/extensions/descriptor-loader.js.map +1 -1
  82. package/dist/extensions/index.d.ts +1 -1
  83. package/dist/extensions/index.js +1 -1
  84. package/dist/extensions/index.js.map +1 -1
  85. package/dist/extensions/installer.d.ts +24 -7
  86. package/dist/extensions/installer.js +142 -66
  87. package/dist/extensions/installer.js.map +1 -1
  88. package/dist/extensions/registry.js +3 -5
  89. package/dist/extensions/registry.js.map +1 -1
  90. package/dist/extensions/state-contract.d.ts +11 -0
  91. package/dist/extensions/state-contract.js +50 -0
  92. package/dist/extensions/state-contract.js.map +1 -0
  93. package/dist/instances.d.ts +13 -1
  94. package/dist/instances.js +26 -0
  95. package/dist/instances.js.map +1 -1
  96. package/dist/package-manager.d.ts +0 -24
  97. package/dist/package-manager.js +5 -58
  98. package/dist/package-manager.js.map +1 -1
  99. package/dist/project-tool-discovery.d.ts +5 -2
  100. package/dist/project-tool-discovery.js +22 -18
  101. package/dist/project-tool-discovery.js.map +1 -1
  102. package/dist/runtime-code.js +1 -1
  103. package/dist/runtime-code.js.map +1 -1
  104. package/dist/tool-name.d.ts +4 -0
  105. package/dist/tool-name.js +15 -0
  106. package/dist/tool-name.js.map +1 -0
  107. package/dist/tools/.generated-completion-registry.d.ts +2 -0
  108. package/dist/tools/.generated-completion-registry.js +763 -325
  109. package/dist/tools/.generated-completion-registry.js.map +1 -1
  110. package/dist/tools/.generated-registry.d.ts +6 -11
  111. package/dist/tools/.generated-registry.js +6 -11
  112. package/dist/tools/.generated-registry.js.map +1 -1
  113. package/dist/tools/.generated-schemas.js +11 -16
  114. package/dist/tools/.generated-schemas.js.map +1 -1
  115. package/dist/tools/asset/refresh-status.d.ts +3 -0
  116. package/dist/tools/asset/refresh-status.js +12 -0
  117. package/dist/tools/asset/refresh-status.js.map +1 -0
  118. package/dist/tools/asset/refresh.js +7 -3
  119. package/dist/tools/asset/refresh.js.map +1 -1
  120. package/dist/tools/build/player-status.d.ts +3 -0
  121. package/dist/tools/build/player-status.js +12 -0
  122. package/dist/tools/build/player-status.js.map +1 -0
  123. package/dist/tools/build/run.js +1 -1
  124. package/dist/tools/build/run.js.map +1 -1
  125. package/dist/tools/catalog-control.d.ts +22 -0
  126. package/dist/tools/catalog-control.js +335 -0
  127. package/dist/tools/catalog-control.js.map +1 -0
  128. package/dist/tools/catalog.d.ts +7 -9
  129. package/dist/tools/catalog.js +66 -45
  130. package/dist/tools/catalog.js.map +1 -1
  131. package/dist/tools/commands.d.ts +1 -1
  132. package/dist/tools/commands.js +44 -11
  133. package/dist/tools/commands.js.map +1 -1
  134. package/dist/tools/define.js +3 -2
  135. package/dist/tools/define.js.map +1 -1
  136. package/dist/tools/dispatcher.d.ts +53 -6
  137. package/dist/tools/dispatcher.js +277 -108
  138. package/dist/tools/dispatcher.js.map +1 -1
  139. package/dist/tools/editor/compile.js +1 -1
  140. package/dist/tools/editor/compile.js.map +1 -1
  141. package/dist/tools/editor/play-mode-status.d.ts +3 -0
  142. package/dist/tools/editor/play-mode-status.js +12 -0
  143. package/dist/tools/editor/play-mode-status.js.map +1 -0
  144. package/dist/tools/editor/readiness.d.ts +0 -1
  145. package/dist/tools/editor/readiness.js +0 -1
  146. package/dist/tools/editor/readiness.js.map +1 -1
  147. package/dist/tools/editor/refresh.d.ts +7 -3
  148. package/dist/tools/editor/refresh.js +20 -15
  149. package/dist/tools/editor/refresh.js.map +1 -1
  150. package/dist/tools/editor/state.d.ts +2 -2
  151. package/dist/tools/editor/state.js +13 -12
  152. package/dist/tools/editor/state.js.map +1 -1
  153. package/dist/tools/metadata/derived.js +1 -7
  154. package/dist/tools/metadata/derived.js.map +1 -1
  155. package/dist/tools/metadata/status.js +1 -12
  156. package/dist/tools/metadata/status.js.map +1 -1
  157. package/dist/tools/metadata/types.d.ts +0 -2
  158. package/dist/tools/navmesh/live.js +1 -1
  159. package/dist/tools/navmesh/live.js.map +1 -1
  160. package/dist/tools/occlusion/live.js +1 -1
  161. package/dist/tools/occlusion/live.js.map +1 -1
  162. package/dist/tools/package/deploy.js +2 -2
  163. package/dist/tools/package/deploy.js.map +1 -1
  164. package/dist/tools/package/embed.js +1 -1
  165. package/dist/tools/package/embed.js.map +1 -1
  166. package/dist/tools/package/install-status.d.ts +3 -0
  167. package/dist/tools/package/install-status.js +12 -0
  168. package/dist/tools/package/install-status.js.map +1 -0
  169. package/dist/tools/package/install.js +3 -3
  170. package/dist/tools/package/install.js.map +1 -1
  171. package/dist/tools/package/live-resolve.js +45 -12
  172. package/dist/tools/package/live-resolve.js.map +1 -1
  173. package/dist/tools/package/registry-clear.js.map +1 -1
  174. package/dist/tools/package/registry-set.js.map +1 -1
  175. package/dist/tools/package/remove-status.d.ts +3 -0
  176. package/dist/tools/package/remove-status.js +12 -0
  177. package/dist/tools/package/remove-status.js.map +1 -0
  178. package/dist/tools/package/remove.js +3 -3
  179. package/dist/tools/package/remove.js.map +1 -1
  180. package/dist/tools/package/resolve.js +3 -3
  181. package/dist/tools/package/resolve.js.map +1 -1
  182. package/dist/tools/package/restore.js +2 -2
  183. package/dist/tools/package/restore.js.map +1 -1
  184. package/dist/tools/package/scoped-registry-add.js.map +1 -1
  185. package/dist/tools/status/support.d.ts +13 -0
  186. package/dist/tools/status/support.js +28 -0
  187. package/dist/tools/status/support.js.map +1 -0
  188. package/dist/tools/test/cancel.js +2 -2
  189. package/dist/tools/test/cancel.js.map +1 -1
  190. package/dist/tools/test/run-status.d.ts +3 -0
  191. package/dist/tools/test/run-status.js +12 -0
  192. package/dist/tools/test/run-status.js.map +1 -0
  193. package/dist/tools/test/run.js +7 -4
  194. package/dist/tools/test/run.js.map +1 -1
  195. package/dist/tools/tools/group-summaries.js +10 -14
  196. package/dist/tools/tools/group-summaries.js.map +1 -1
  197. package/docs/architecture.md +4 -4
  198. package/docs/availability-differences.md +4 -4
  199. package/docs/command-execution.md +4 -3
  200. package/docs/error-codes.md +13 -5
  201. package/docs/extensions.md +1 -7
  202. package/docs/risk-and-side-effects.md +4 -3
  203. package/docs/safety-boundaries.md +3 -1
  204. package/docs/target-and-instance.md +1 -1
  205. package/docs/tool-discovery.md +17 -10
  206. package/docs/tool-execution.md +18 -7
  207. package/extensions/cinemachine/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
  208. package/extensions/hdrp/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
  209. package/extensions/probuilder/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
  210. package/extensions/urp/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
  211. package/extensions/vfx-graph/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
  212. package/package.json +2 -4
  213. package/skills/unitycli/SKILL.md +11 -2
  214. package/skills/unitycli/manifest.json +1 -1
  215. package/skills/unitycli/references/operation-protocol.md +3 -3
  216. package/unitypkg/Editor/AssemblyInfo.cs +5 -0
  217. package/unitypkg/Editor/Bridge/BridgeCommandRegistry.cs +49 -14
  218. package/unitypkg/Editor/Bridge/BridgeHttpServer.cs +9 -35
  219. package/unitypkg/Editor/Bridge/BridgeQueueState.cs +672 -0
  220. package/unitypkg/Editor/Bridge/BridgeWorkQueue.cs +970 -120
  221. package/unitypkg/Editor/BridgeStartupStateMachine.cs +59 -1
  222. package/unitypkg/Editor/Commands/ProjectToolCommands.cs +4 -0
  223. package/unitypkg/Editor/Commands/RuntimeToolCommands.cs +3 -0
  224. package/unitypkg/Editor/Generated/UnityCliToolCompletionRegistry.g.cs +379 -14
  225. package/unitypkg/Editor/Infrastructure/CodeExecSupport.cs +28 -13
  226. package/unitypkg/Editor/Infrastructure/RegistryOwnershipResolver.cs +132 -105
  227. package/unitypkg/Editor/Infrastructure/UnityCliActiveOperation.cs +138 -29
  228. package/unitypkg/Editor/Infrastructure/UnityCliAdmission.cs +1856 -237
  229. package/unitypkg/Editor/Infrastructure/UnityCliDoctorDiagnostics.cs +220 -0
  230. package/unitypkg/Editor/Infrastructure/UnityCliDurableStatusCoordinator.cs +118 -0
  231. package/unitypkg/Editor/Infrastructure/UnityCliEditorStateSnapshot.cs +2 -1
  232. package/unitypkg/Editor/Infrastructure/UnityCliHierarchyPager.cs +203 -0
  233. package/unitypkg/Editor/Infrastructure/UnityCliInstanceCleanup.cs +2 -1
  234. package/unitypkg/Editor/Infrastructure/UnityCliInstanceRegistry.cs +201 -63
  235. package/unitypkg/Editor/Infrastructure/UnityCliJson.cs +2 -3
  236. package/unitypkg/Editor/Infrastructure/UnityCliLiveBuildCoordinator.cs +289 -46
  237. package/unitypkg/Editor/Infrastructure/UnityCliLiveRefreshCoordinator.cs +87 -53
  238. package/unitypkg/Editor/Infrastructure/UnityCliNavMeshBakeCoordinator.cs +4 -4
  239. package/unitypkg/Editor/Infrastructure/UnityCliObjectRef.cs +128 -25
  240. package/unitypkg/Editor/Infrastructure/UnityCliObjectSerializer.cs +435 -327
  241. package/unitypkg/Editor/Infrastructure/UnityCliOcclusionBakeCoordinator.cs +4 -4
  242. package/unitypkg/Editor/Infrastructure/UnityCliOperationCoordinator.cs +351 -53
  243. package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveCoordinator.cs +118 -18
  244. package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveState.cs +20 -1
  245. package/unitypkg/Editor/Infrastructure/UnityCliReadGeneration.cs +97 -0
  246. package/unitypkg/Editor/Infrastructure/UnityCliReflection.cs +644 -133
  247. package/unitypkg/Editor/Infrastructure/UnityCliReloadOperation.cs +128 -41
  248. package/unitypkg/Editor/Infrastructure/UnityCliRuntimeExecutor.cs +14 -84
  249. package/unitypkg/Editor/Infrastructure/UnityCliSerializer.cs +220 -0
  250. package/unitypkg/Editor/Infrastructure/UnityCliSessionMutationLease.cs +69 -29
  251. package/unitypkg/Editor/Infrastructure/UnityCliTestRunCoordinator.cs +440 -54
  252. package/unitypkg/Editor/Infrastructure/UnityCliWaiter.cs +128 -35
  253. package/unitypkg/Editor/ProjectTools/IUnityCliTool.cs +9 -1
  254. package/unitypkg/Editor/ProjectTools/OfficialAttributeToolRegistry.cs +32 -31
  255. package/unitypkg/Editor/ProjectTools/ProjectToolRegistry.cs +607 -458
  256. package/unitypkg/Editor/ProjectTools/ProjectToolSchemaValidator.cs +35 -7
  257. package/unitypkg/Editor/ProjectTools/RegisteredTool.cs +501 -60
  258. package/unitypkg/Editor/ProjectTools/UnityCliProjectToolContext.cs +21 -0
  259. package/unitypkg/Editor/ProjectTools/UnityCliSchemaDeriver.cs +36 -7
  260. package/unitypkg/Editor/ProjectTools/UnityCliToolName.cs +30 -0
  261. package/unitypkg/Editor/Properties/AssemblyInfo.cs +3 -0
  262. package/unitypkg/Editor/Tools/asset/get-data.cs +16 -7
  263. package/unitypkg/Editor/Tools/build/BuildSceneStateTool.cs +23 -3
  264. package/unitypkg/Editor/Tools/build/BuildToolDtos.cs +2 -1
  265. package/unitypkg/Editor/Tools/build/scene/add.cs +6 -3
  266. package/unitypkg/Editor/Tools/build/scene/disable.cs +1 -1
  267. package/unitypkg/Editor/Tools/build/scene/enable.cs +1 -1
  268. package/unitypkg/Editor/Tools/build/scene/list.cs +1 -1
  269. package/unitypkg/Editor/Tools/build/scene/remove.cs +13 -3
  270. package/unitypkg/Editor/Tools/camera/CameraToolSupport.cs +38 -38
  271. package/unitypkg/Editor/Tools/camera/multiview.cs +13 -6
  272. package/unitypkg/Editor/Tools/camera/screenshot.cs +14 -7
  273. package/unitypkg/Editor/Tools/component/get.cs +16 -9
  274. package/unitypkg/Editor/Tools/component/modify.cs +6 -4
  275. package/unitypkg/Editor/Tools/console/clear.cs +7 -6
  276. package/unitypkg/Editor/Tools/console/get.cs +48 -16
  277. package/unitypkg/Editor/Tools/editor/EditorToolSupport.cs +143 -28
  278. package/unitypkg/Editor/Tools/editor/menu-items.cs +1 -1
  279. package/unitypkg/Editor/Tools/editor/play.cs +2 -11
  280. package/unitypkg/Editor/Tools/editor/selection.cs +1 -1
  281. package/unitypkg/Editor/Tools/editor/stop.cs +2 -11
  282. package/unitypkg/Editor/Tools/editor/windows.cs +1 -1
  283. package/unitypkg/Editor/Tools/go/GameObjectToolSupport.cs +54 -4
  284. package/unitypkg/Editor/Tools/go/delete.cs +1 -1
  285. package/unitypkg/Editor/Tools/go/find.cs +167 -70
  286. package/unitypkg/Editor/Tools/graphics/GraphicsToolSupport.cs +25 -0
  287. package/unitypkg/Editor/Tools/graphics/light-probe-group.cs +9 -3
  288. package/unitypkg/Editor/Tools/graphics/pipeline-info.cs +1 -1
  289. package/unitypkg/Editor/Tools/graphics/pipeline-settings.cs +1 -1
  290. package/unitypkg/Editor/Tools/graphics/quality.cs +2 -2
  291. package/unitypkg/Editor/Tools/graphics/reflection-probe.cs +3 -3
  292. package/unitypkg/Editor/Tools/graphics/stats.cs +1 -1
  293. package/unitypkg/Editor/Tools/object/ObjectToolSupport.cs +4 -4
  294. package/unitypkg/Editor/Tools/object/get-data.cs +9 -7
  295. package/unitypkg/Editor/Tools/object/modify.cs +7 -5
  296. package/unitypkg/Editor/Tools/physics/raycast.cs +24 -6
  297. package/unitypkg/Editor/Tools/prefab/stage.cs +1 -1
  298. package/unitypkg/Editor/Tools/profiler/ProfilerFrameDebuggerSupport.cs +94 -21
  299. package/unitypkg/Editor/Tools/profiler/ProfilerMemorySnapshotSupport.cs +397 -10
  300. package/unitypkg/Editor/Tools/profiler/ProfilerToolSupport.cs +18 -4
  301. package/unitypkg/Editor/Tools/profiler/frame-debugger/enable.cs +1 -1
  302. package/unitypkg/Editor/Tools/profiler/frame-debugger/events.cs +88 -87
  303. package/unitypkg/Editor/Tools/profiler/hierarchy.cs +278 -112
  304. package/unitypkg/Editor/Tools/profiler/memory-snapshot/compare.cs +9 -5
  305. package/unitypkg/Editor/Tools/profiler/memory-snapshot/list.cs +37 -35
  306. package/unitypkg/Editor/Tools/profiler/memory-snapshot/take.cs +99 -97
  307. package/unitypkg/Editor/Tools/project/info.cs +1 -1
  308. package/unitypkg/Editor/Tools/project/layers.cs +1 -1
  309. package/unitypkg/Editor/Tools/project/tags.cs +1 -1
  310. package/unitypkg/Editor/Tools/reflection/method/call.cs +9 -7
  311. package/unitypkg/Editor/Tools/reflection/method/find.cs +27 -37
  312. package/unitypkg/Editor/Tools/reflection/type/schema.cs +24 -28
  313. package/unitypkg/Editor/Tools/scene/gameobject/component.cs +8 -5
  314. package/unitypkg/Editor/Tools/scene/gameobject/components.cs +10 -7
  315. package/unitypkg/Editor/Tools/scene/gameobject-support.cs +104 -8
  316. package/unitypkg/Editor/Tools/scene/gameobject.cs +37 -16
  317. package/unitypkg/Editor/Tools/scene/hierarchy.cs +146 -142
  318. package/unitypkg/Editor/Tools/screenshot/EditorElementCaptureToolSupport.cs +77 -25
  319. package/unitypkg/Editor/Tools/screenshot/ScreenshotToolSupport.cs +315 -95
  320. package/unitypkg/Editor/Tools/screenshot/editor-element.cs +7 -5
  321. package/unitypkg/Editor/Tools/screenshot/game-view.cs +35 -21
  322. package/unitypkg/Editor/Tools/screenshot/isolated-object.cs +29 -23
  323. package/unitypkg/Editor/Tools/screenshot/orbit.cs +37 -25
  324. package/unitypkg/Editor/Tools/screenshot/scene-view.cs +25 -18
  325. package/unitypkg/Editor/Tools/screenshot/screen.cs +177 -17
  326. package/unitypkg/Editor/Tools/screenshot/surround.cs +83 -79
  327. package/unitypkg/Editor/Tools/ui/render-preview.cs +16 -11
  328. package/unitypkg/Editor/UnityCliBridge.cs +97 -34
  329. package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeBridge.cs +753 -122
  330. package/unitypkg/Runtime/Properties/AssemblyInfo.cs +5 -0
  331. package/unitypkg/Runtime/UnityCli.Runtime.asmdef +1 -1
  332. package/unitypkg/Shared/AssemblyInfo.cs +4 -0
  333. package/unitypkg/Shared/UnityCliAdmissionPool.cs +265 -75
  334. package/unitypkg/Shared/UnityCliBridgeQueuePolicy.cs +410 -0
  335. package/unitypkg/Shared/UnityCliBridgeWorkItemState.cs +47 -0
  336. package/unitypkg/Shared/UnityCliExceptionProjection.cs +151 -0
  337. package/unitypkg/Shared/UnityCliQueuePublication.cs +30 -0
  338. package/unitypkg/Shared/UnityCliRequestBudget.cs +352 -0
  339. package/unitypkg/Shared/UnityCliRuntimeRequestPublication.cs +107 -0
  340. package/unitypkg/Tests/Editor/UnityCli.Editor.Tests.asmdef +2 -2
  341. package/unitypkg/Tests/Editor/UnityCliAdmissionCoordinatorIntegrationTests.cs +1329 -0
  342. package/unitypkg/Tests/Editor/UnityCliAdmissionPoolTests.cs +311 -114
  343. package/unitypkg/Tests/Editor/UnityCliAdmissionRepairStateTests.cs +94 -0
  344. package/unitypkg/Tests/Editor/UnityCliBridgeAdmissionIntegrationTests.cs +1229 -0
  345. package/unitypkg/Tests/Editor/UnityCliBridgeQueuePolicyTests.cs +412 -0
  346. package/unitypkg/Tests/Editor/UnityCliContinuationIntegrationTests.cs +292 -0
  347. package/unitypkg/Tests/Editor/UnityCliDiagnosticBoundaryTests.cs +120 -0
  348. package/unitypkg/Tests/Editor/UnityCliDurableStatusTests.cs +84 -0
  349. package/unitypkg/Tests/Editor/UnityCliExceptionProjectionTests.cs +72 -0
  350. package/unitypkg/Tests/Editor/UnityCliInstancePublicationRetryTests.cs +180 -97
  351. package/unitypkg/Tests/Editor/UnityCliMemoryReflectionIntegrationTests.cs +434 -0
  352. package/unitypkg/Tests/Editor/UnityCliRequestBudgetTests.cs +615 -0
  353. package/unitypkg/Tests/Editor/UnityCliRuntimeBridgeIntegrationTests.cs +520 -0
  354. package/unitypkg/Tests/Editor/UnityCliToolCatalogTests.cs +562 -0
  355. package/unitypkg/Tests/Runtime/UnityCli.Runtime.Tests.asmdef +23 -0
  356. package/unitypkg/Tests/Runtime/UnityCliRuntimeCatalogValidationTests.cs +29 -0
  357. package/unitypkg/package.json +1 -1
  358. package/contracts/static-capability-catalog.json +0 -48226
  359. package/dist/bridge/domains/diagnose.d.ts +0 -2
  360. package/dist/bridge/domains/diagnose.js +0 -11
  361. package/dist/bridge/domains/diagnose.js.map +0 -1
  362. package/dist/bridge/domains/extension.d.ts +0 -8
  363. package/dist/bridge/domains/extension.js +0 -20
  364. package/dist/bridge/domains/extension.js.map +0 -1
  365. package/dist/capabilities.d.ts +0 -5
  366. package/dist/capabilities.js +0 -84
  367. package/dist/capabilities.js.map +0 -1
  368. package/dist/static-capability-catalog.d.ts +0 -13
  369. package/dist/static-capability-catalog.js +0 -41
  370. package/dist/static-capability-catalog.js.map +0 -1
  371. package/dist/tools/diagnose/capabilities.d.ts +0 -13
  372. package/dist/tools/diagnose/capabilities.js +0 -34
  373. package/dist/tools/diagnose/capabilities.js.map +0 -1
  374. package/dist/tools/package/info.d.ts +0 -19
  375. package/dist/tools/package/info.js +0 -27
  376. package/dist/tools/package/info.js.map +0 -1
  377. package/dist/tools/package/list.d.ts +0 -27
  378. package/dist/tools/package/list.js +0 -21
  379. package/dist/tools/package/list.js.map +0 -1
  380. package/dist/tools/package/registry-get.d.ts +0 -10
  381. package/dist/tools/package/registry-get.js +0 -22
  382. package/dist/tools/package/registry-get.js.map +0 -1
  383. package/dist/tools/package/scoped-registry-list.d.ts +0 -14
  384. package/dist/tools/package/scoped-registry-list.js +0 -22
  385. package/dist/tools/package/scoped-registry-list.js.map +0 -1
  386. package/dist/tools/package/search.d.ts +0 -17
  387. package/dist/tools/package/search.js +0 -39
  388. package/dist/tools/package/search.js.map +0 -1
  389. package/dist/tools/package/status.d.ts +0 -21
  390. package/dist/tools/package/status.js +0 -37
  391. package/dist/tools/package/status.js.map +0 -1
  392. package/dist/tools/tools/describe.d.ts +0 -27
  393. package/dist/tools/tools/describe.js +0 -35
  394. package/dist/tools/tools/describe.js.map +0 -1
  395. package/dist/tools/tools/group-list.d.ts +0 -16
  396. package/dist/tools/tools/group-list.js +0 -38
  397. package/dist/tools/tools/group-list.js.map +0 -1
  398. package/dist/tools/tools/group.d.ts +0 -13
  399. package/dist/tools/tools/group.js +0 -34
  400. package/dist/tools/tools/group.js.map +0 -1
  401. package/dist/tools/tools/pagination.d.ts +0 -17
  402. package/dist/tools/tools/pagination.js +0 -28
  403. package/dist/tools/tools/pagination.js.map +0 -1
  404. package/dist/tools/tools/search.d.ts +0 -15
  405. package/dist/tools/tools/search.js +0 -42
  406. package/dist/tools/tools/search.js.map +0 -1
  407. package/unitypkg/Editor/Tools/diagnose/preflight.cs +0 -269
  408. package/unitypkg/Editor/Tools/editor/console.cs +0 -26
  409. package/unitypkg/Editor/Tools/extension/status.cs +0 -87
  410. package/unitypkg/Editor/Tools/go/inspect.cs +0 -49
  411. package/unitypkg/Editor/Tools/graphics/pipeline-quality.cs +0 -24
  412. package/unitypkg/Editor/Tools/graphics/probe-positions.cs +0 -58
  413. package/unitypkg/Editor/Tools/graphics/settings.cs +0 -104
  414. package/unitypkg/Editor/Tools/graphics/stats-counters.cs +0 -28
  415. package/unitypkg/Editor/Tools/graphics/stats-memory.cs +0 -21
  416. package/unitypkg/Editor/Tools/instances/list.cs +0 -71
  417. package/unitypkg/Editor/Tools/physics/raycast-all.cs +0 -67
  418. package/unitypkg/Editor/Tools/scene/build-settings.cs +0 -69
  419. package/unitypkg/Editor/Tools/scene/data.cs +0 -125
  420. package/unitypkg/Editor/Tools/tests/list.cs +0 -98
@@ -32,6 +32,7 @@ export interface ExtensionStatusCheck {
32
32
  extensionId: ExtensionId;
33
33
  name: string;
34
34
  status: ExtensionInstallStatus;
35
+ integrity: "shallow" | "target" | "full";
35
36
  dependencyInstalled: boolean;
36
37
  installed: boolean;
37
38
  outdated: boolean;
@@ -42,10 +43,25 @@ export interface ExtensionStatusCheck {
42
43
  missingPackageIds: string[];
43
44
  nextActions: string[];
44
45
  }
46
+ /** 一次公开调用冻结的 package/install 输入,后续检查不得重新读取。 */
47
+ export interface ExtensionStateSnapshot {
48
+ projectPath: string;
49
+ installedPackages: ReadonlyMap<string, string>;
50
+ installManifest: ExtensionInstallManifest;
51
+ }
52
+ export interface ExtensionCheckOptions {
53
+ snapshot?: ExtensionStateSnapshot;
54
+ absoluteDeadlineMs?: number;
55
+ }
56
+ export type ExtensionFilesystemOperation = "snapshot" | "target-proof" | "managed-file-hash" | "source-proof" | "source-file-hash" | "source-tree-entry" | "unknown-tree-entry";
45
57
  /** 仅测试使用:在 source projection 复制后强制制造交错。 */
46
58
  export declare function setAfterProjectionCopyForTest(hook: (() => Promise<void>) | undefined): void;
47
59
  /** 仅测试使用:把可变 source 夹具隔离到临时目录。 */
48
60
  export declare function setExtensionSourceRootForTest(resolver: ((extensionId: ExtensionId) => string) | undefined): void;
61
+ /** 仅测试使用:计数 discovery 的语义文件系统操作,不暴露到公开结果。 */
62
+ export declare function setExtensionFilesystemOperationObserverForTest(observer: ((operation: ExtensionFilesystemOperation, extensionId?: ExtensionId) => void) | undefined): void;
63
+ /** 仅测试使用:以确定时钟证明大目录扫描在deadline内中止。 */
64
+ export declare function setExtensionFilesystemClockForTest(clock: (() => number) | undefined): void;
49
65
  /** 返回 extension 源码目录。 */
50
66
  export declare function extensionSourceRoot(extensionId: ExtensionId): string;
51
67
  /** 返回 extension Unity 安装投影使用的默认相对路径。 */
@@ -65,13 +81,14 @@ export declare function resolveInstallAvailability(manifest: ExtensionManifest,
65
81
  export declare function installExtensionBundleUnchecked(projectPath: string, manifest: ExtensionManifest, installedStatus?: "installed" | "already_installed"): Promise<ExtensionInstallResult>;
66
82
  /** 按 manifest 删除一个 extension 目录复制过的文件。 */
67
83
  export declare function removeExtensionBundle(projectPath: string, extensionId: ExtensionId): Promise<ExtensionInstallResult>;
68
- /** 检查所有 extension 的物理安装状态。 */
69
- export declare function checkExtensionBundles(projectPath: string): Promise<ExtensionStatusCheck[]>;
70
- /**
71
- * 返回目标项目的唯一 extension physical install state 视图。
72
- * 控制面和 live capability gate 均必须使用此入口,不能用 package dependency 替代安装状态。
73
- */
74
- export declare function readExtensionPhysicalStates(projectPath: string): Promise<Map<ExtensionId, ExtensionStatusCheck>>;
84
+ /** package lock 与安装 manifest 每次 invocation 只读取一次。 */
85
+ export declare function readExtensionStateSnapshot(projectPath: string): Promise<ExtensionStateSnapshot>;
86
+ /** list 使用 manifest/version/root 的浅状态,不做 source 或 managed-file hash。 */
87
+ export declare function listExtensionBundles(projectPath: string, snapshot?: ExtensionStateSnapshot): Promise<ExtensionStatusCheck[]>;
88
+ /** 普通 discovery/执行只证明一个 selected extension target 投影,不读取 source tree。 */
89
+ export declare function checkSelectedExtensionBundle(projectPath: string, extensionId: ExtensionId, options?: ExtensionCheckOptions): Promise<ExtensionStatusCheck | undefined>;
90
+ /** extensions doctor 独占全 extension source/managed-file 深 hash。 */
91
+ export declare function checkExtensionBundles(projectPath: string, options?: ExtensionCheckOptions): Promise<ExtensionStatusCheck[]>;
75
92
  export declare class ExtensionInstallerError extends Error {
76
93
  readonly code: string;
77
94
  readonly nextActions: string[];
@@ -5,6 +5,7 @@ import { basename, dirname, join, relative, resolve, sep } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { readInstalledUnityPackages } from "./project-resolver.js";
7
7
  import { ExtensionRegistry, resolveExtensionAvailability } from "./registry.js";
8
+ import { EXTENSION_STATE_MAX_ENTRIES, ExtensionStateContractError, isValidExtensionId, readBoundedExtensionStateFile, } from "./state-contract.js";
8
9
  import { stripBom } from "../util.js";
9
10
  const packageName = "com.alpsckr.unitycli";
10
11
  const manifestFileName = "unitycli.extensions.manifest.json";
@@ -12,6 +13,8 @@ const manifestLockTimeoutMs = 15_000;
12
13
  const processStartIdentity = new Date(Date.now() - Math.floor(process.uptime() * 1_000)).toISOString();
13
14
  let afterProjectionCopyForTest;
14
15
  let sourceRootForTest;
16
+ let filesystemOperationObserverForTest;
17
+ let extensionFilesystemNow = Date.now;
15
18
  /** 仅测试使用:在 source projection 复制后强制制造交错。 */
16
19
  export function setAfterProjectionCopyForTest(hook) {
17
20
  afterProjectionCopyForTest = hook;
@@ -20,6 +23,14 @@ export function setAfterProjectionCopyForTest(hook) {
20
23
  export function setExtensionSourceRootForTest(resolver) {
21
24
  sourceRootForTest = resolver;
22
25
  }
26
+ /** 仅测试使用:计数 discovery 的语义文件系统操作,不暴露到公开结果。 */
27
+ export function setExtensionFilesystemOperationObserverForTest(observer) {
28
+ filesystemOperationObserverForTest = observer;
29
+ }
30
+ /** 仅测试使用:以确定时钟证明大目录扫描在deadline内中止。 */
31
+ export function setExtensionFilesystemClockForTest(clock) {
32
+ extensionFilesystemNow = clock ?? Date.now;
33
+ }
23
34
  /** 返回 extension 源码目录。 */
24
35
  export function extensionSourceRoot(extensionId) {
25
36
  return resolve(fileURLToPath(new URL(`../../extensions/${extensionId}`, import.meta.url)));
@@ -38,20 +49,23 @@ export function extensionInstallManifestPath(projectPath) {
38
49
  }
39
50
  /** 读取 extension 安装 manifest;仅缺失文件代表空状态,损坏状态必须阻断变更。 */
40
51
  export async function readExtensionInstallManifest(projectPath) {
41
- const path = extensionInstallManifestPath(projectPath);
42
52
  let content;
43
53
  try {
44
- content = await readFile(path, "utf8");
54
+ content = await readBoundedExtensionStateFile(extensionInstallManifestPath(projectPath));
45
55
  }
46
56
  catch (error) {
47
- if (error.code === "ENOENT")
48
- return emptyManifest();
57
+ if (error instanceof ExtensionStateContractError)
58
+ throw invalidInstallManifest(projectPath, error.message);
49
59
  throw error;
50
60
  }
61
+ if (content === undefined)
62
+ return emptyManifest();
51
63
  try {
52
64
  const parsed = JSON.parse(stripBom(content));
53
- if (parsed.version !== 1 || !Array.isArray(parsed.extensions) || !parsed.extensions.every(isInstalledEntry)) {
54
- throw invalidInstallManifest(projectPath, "Expected version 1 and valid extension entries.");
65
+ if (parsed.version !== 1 || !Array.isArray(parsed.extensions)
66
+ || parsed.extensions.length > EXTENSION_STATE_MAX_ENTRIES
67
+ || !parsed.extensions.every(isInstalledEntry)) {
68
+ throw invalidInstallManifest(projectPath, `Expected version 1 and at most ${EXTENSION_STATE_MAX_ENTRIES} valid extension entries.`);
55
69
  }
56
70
  if (new Set(parsed.extensions.map((entry) => entry.extensionId)).size !== parsed.extensions.length) {
57
71
  throw invalidInstallManifest(projectPath, "Extension entries must have unique extensionId values.");
@@ -66,6 +80,11 @@ export async function readExtensionInstallManifest(projectPath) {
66
80
  }
67
81
  /** 原子写入 extension 安装 manifest,读取方不会观察到半写文件。 */
68
82
  export async function writeExtensionInstallManifest(projectPath, manifest) {
83
+ if (manifest.extensions.length > EXTENSION_STATE_MAX_ENTRIES
84
+ || !manifest.extensions.every(isInstalledEntry)
85
+ || new Set(manifest.extensions.map((entry) => entry.extensionId)).size !== manifest.extensions.length) {
86
+ throw invalidInstallManifest(projectPath, `Expected at most ${EXTENSION_STATE_MAX_ENTRIES} unique valid extension entries.`);
87
+ }
69
88
  const manifestPath = extensionInstallManifestPath(projectPath);
70
89
  const temporaryPath = `${manifestPath}.${process.pid}.${randomUUID()}.tmp`;
71
90
  await mkdir(dirname(manifestPath), { recursive: true });
@@ -199,50 +218,94 @@ export async function removeExtensionBundle(projectPath, extensionId) {
199
218
  };
200
219
  });
201
220
  }
202
- /** 检查所有 extension 的物理安装状态。 */
203
- export async function checkExtensionBundles(projectPath) {
221
+ /** package lock 与安装 manifest 每次 invocation 只读取一次。 */
222
+ export async function readExtensionStateSnapshot(projectPath) {
223
+ filesystemOperationObserverForTest?.("snapshot");
224
+ const canonicalProjectPath = resolve(projectPath);
225
+ const [installedPackages, installManifest] = await Promise.all([
226
+ readInstalledUnityPackages(canonicalProjectPath),
227
+ readExtensionInstallManifest(canonicalProjectPath),
228
+ ]);
229
+ return { projectPath: canonicalProjectPath, installedPackages, installManifest };
230
+ }
231
+ /** list 使用 manifest/version/root 的浅状态,不做 source 或 managed-file hash。 */
232
+ export async function listExtensionBundles(projectPath, snapshot) {
233
+ const frozen = snapshot ?? await readExtensionStateSnapshot(projectPath);
204
234
  const registry = new ExtensionRegistry();
205
- const installedPackages = await readInstalledUnityPackages(projectPath);
206
- const installManifest = await readExtensionInstallManifest(projectPath);
235
+ return registry.extensionIds().map((extensionId) => {
236
+ const extension = registry.getExtension(extensionId);
237
+ const availability = resolveInstallAvailability(extension.manifest, frozen.installedPackages);
238
+ const entry = frozen.installManifest.extensions.find((item) => item.extensionId === extensionId);
239
+ const targetPresent = existsSync(extensionInstallRoot(frozen.projectPath, extensionId));
240
+ const outdated = Boolean(entry && (entry.version !== extension.manifest.version || !targetPresent));
241
+ const status = resolvePhysicalStatus(availability, entry !== undefined, outdated, [], [], []);
242
+ return extensionStatus(extension.manifest, availability, status, "shallow", Boolean(entry && targetPresent && !outdated), outdated, {
243
+ missingFiles: [], changedFiles: [], unknownFiles: [],
244
+ });
245
+ });
246
+ }
247
+ /** 普通 discovery/执行只证明一个 selected extension 的 target 投影,不读取 source tree。 */
248
+ export async function checkSelectedExtensionBundle(projectPath, extensionId, options = {}) {
249
+ const registry = new ExtensionRegistry();
250
+ const extension = registry.getExtension(extensionId);
251
+ if (!extension)
252
+ return undefined;
253
+ const snapshot = options.snapshot ?? await readExtensionStateSnapshot(projectPath);
254
+ const availability = resolveInstallAvailability(extension.manifest, snapshot.installedPackages);
255
+ const entry = snapshot.installManifest.extensions.find((item) => item.extensionId === extensionId);
256
+ const targetRoot = extensionInstallRoot(snapshot.projectPath, extensionId);
257
+ filesystemOperationObserverForTest?.("target-proof", extensionId);
258
+ const fileCheck = entry
259
+ ? await checkManagedFiles(targetRoot, entry.files, options.absoluteDeadlineMs, extensionId)
260
+ : { missingFiles: [], changedFiles: [], unknownFiles: [] };
261
+ const outdated = Boolean(entry && entry.version !== extension.manifest.version);
262
+ const installed = Boolean(entry && !outdated && fileCheck.missingFiles.length === 0 && fileCheck.changedFiles.length === 0 && fileCheck.unknownFiles.length === 0);
263
+ const status = resolvePhysicalStatus(availability, entry !== undefined, outdated, fileCheck.missingFiles, fileCheck.changedFiles, fileCheck.unknownFiles);
264
+ return extensionStatus(extension.manifest, availability, status, "target", installed, outdated, fileCheck);
265
+ }
266
+ /** extensions doctor 独占全 extension source/managed-file 深 hash。 */
267
+ export async function checkExtensionBundles(projectPath, options = {}) {
268
+ const registry = new ExtensionRegistry();
269
+ const snapshot = options.snapshot ?? await readExtensionStateSnapshot(projectPath);
207
270
  const checks = [];
208
271
  for (const extensionId of registry.extensionIds()) {
272
+ requireExtensionScanDeadline(options.absoluteDeadlineMs);
209
273
  const extension = registry.getExtension(extensionId);
210
- const bundleAvailability = resolveInstallAvailability(extension.manifest, installedPackages);
211
- const entry = installManifest.extensions.find((item) => item.extensionId === extensionId);
212
- const targetRoot = extensionInstallRoot(projectPath, extensionId);
274
+ const availability = resolveInstallAvailability(extension.manifest, snapshot.installedPackages);
275
+ const entry = snapshot.installManifest.extensions.find((item) => item.extensionId === extensionId);
276
+ const targetRoot = extensionInstallRoot(snapshot.projectPath, extensionId);
213
277
  const sourceRoot = extensionSourceRoot(extensionId);
214
278
  const includes = extensionUnityInstallIncludes(extension.manifest);
215
279
  const sourceProjectionComplete = existsSync(sourceRoot) && includes.every((include) => existsSync(safeSourcePath(sourceRoot, include)));
216
- const sourceHash = sourceProjectionComplete ? await hashBundleProjection(sourceRoot, includes) : undefined;
217
- const fileCheck = entry ? await checkManagedFiles(targetRoot, entry.files) : { missingFiles: [], changedFiles: [], unknownFiles: await listUnknownFiles(targetRoot, []) };
218
- // version、投影源码 hash 和 include 文件均属于 physical install contract。
280
+ filesystemOperationObserverForTest?.("source-proof", extensionId);
281
+ const sourceHash = sourceProjectionComplete ? await hashBundleProjection(sourceRoot, includes, options.absoluteDeadlineMs, extensionId) : undefined;
282
+ filesystemOperationObserverForTest?.("target-proof", extensionId);
283
+ const fileCheck = entry
284
+ ? await checkManagedFiles(targetRoot, entry.files, options.absoluteDeadlineMs, extensionId)
285
+ : { missingFiles: [], changedFiles: [], unknownFiles: await listUnknownFiles(targetRoot, [], options.absoluteDeadlineMs, extensionId) };
219
286
  const outdated = Boolean(entry && (!sourceProjectionComplete || !sourceHash || entry.sourceHash !== sourceHash || entry.version !== extension.manifest.version));
220
- const hasUnknownFiles = fileCheck.unknownFiles.length > 0;
221
- const installed = Boolean(entry && fileCheck.missingFiles.length === 0 && fileCheck.changedFiles.length === 0 && !outdated && !hasUnknownFiles);
222
- const status = resolvePhysicalStatus(bundleAvailability, entry !== undefined, outdated, fileCheck.missingFiles, fileCheck.changedFiles, fileCheck.unknownFiles);
223
- checks.push({
224
- extensionId,
225
- name: extension.manifest.name,
226
- status,
227
- dependencyInstalled: bundleAvailability.status === "available",
228
- installed,
229
- outdated,
230
- unknownFiles: fileCheck.unknownFiles,
231
- missingFiles: fileCheck.missingFiles,
232
- changedFiles: fileCheck.changedFiles,
233
- providedTools: extension.manifest.contributions.tools?.map((tool) => tool.name) ?? [],
234
- missingPackageIds: bundleAvailability.missingPackageIds,
235
- nextActions: nextActionsForStatus(extension.manifest, bundleAvailability, status)
236
- });
287
+ const installed = Boolean(entry && fileCheck.missingFiles.length === 0 && fileCheck.changedFiles.length === 0 && !outdated && fileCheck.unknownFiles.length === 0);
288
+ const status = resolvePhysicalStatus(availability, entry !== undefined, outdated, fileCheck.missingFiles, fileCheck.changedFiles, fileCheck.unknownFiles);
289
+ checks.push(extensionStatus(extension.manifest, availability, status, "full", installed, outdated, fileCheck));
237
290
  }
238
291
  return checks;
239
292
  }
240
- /**
241
- * 返回目标项目的唯一 extension physical install state 视图。
242
- * 控制面和 live capability gate 均必须使用此入口,不能用 package dependency 替代安装状态。
243
- */
244
- export async function readExtensionPhysicalStates(projectPath) {
245
- return new Map((await checkExtensionBundles(projectPath)).map((check) => [check.extensionId, check]));
293
+ function extensionStatus(manifest, availability, status, integrity, installed, outdated, files) {
294
+ return {
295
+ extensionId: manifest.id,
296
+ name: manifest.name,
297
+ status,
298
+ integrity,
299
+ dependencyInstalled: availability.status === "available",
300
+ installed,
301
+ outdated,
302
+ unknownFiles: files.unknownFiles,
303
+ missingFiles: files.missingFiles,
304
+ changedFiles: files.changedFiles,
305
+ providedTools: manifest.contributions.tools?.map((tool) => tool.name) ?? [],
306
+ missingPackageIds: availability.missingPackageIds,
307
+ nextActions: nextActionsForStatus(manifest, availability, status),
308
+ };
246
309
  }
247
310
  /** 跨进程序列化同一项目的 extension 文件与 manifest 变更;活 owner 与损坏锁一律不按时间抢占。 */
248
311
  async function withExtensionManifestLock(projectPath, action) {
@@ -386,46 +449,48 @@ async function removeManagedFiles(targetRoot, files) {
386
449
  await rm(safeManagedPath(targetRoot, file.path), { force: true });
387
450
  }
388
451
  }
389
- async function checkManagedFiles(targetRoot, files) {
452
+ async function checkManagedFiles(targetRoot, files, absoluteDeadlineMs, extensionId) {
390
453
  const missingFiles = [];
391
454
  const changedFiles = [];
392
455
  const managed = new Set(files.map((file) => file.path));
393
456
  for (const file of files) {
457
+ requireExtensionScanDeadline(absoluteDeadlineMs);
394
458
  const fullPath = safeManagedPath(targetRoot, file.path);
395
459
  if (!existsSync(fullPath)) {
396
460
  missingFiles.push(file.path);
397
461
  continue;
398
462
  }
399
- const actualHash = await hashFile(fullPath);
400
- if (actualHash !== file.sha256) {
463
+ filesystemOperationObserverForTest?.("managed-file-hash", extensionId);
464
+ const actualHash = await hashFile(fullPath, absoluteDeadlineMs);
465
+ if (actualHash !== file.sha256)
401
466
  changedFiles.push(file.path);
402
- }
403
467
  }
404
- const unknownFiles = await listUnknownFiles(targetRoot, managed);
468
+ const unknownFiles = await listUnknownFiles(targetRoot, managed, absoluteDeadlineMs, extensionId);
405
469
  return { missingFiles, changedFiles, unknownFiles };
406
470
  }
407
- async function listUnknownFiles(targetRoot, managed) {
408
- if (!existsSync(targetRoot)) {
471
+ async function listUnknownFiles(targetRoot, managed, absoluteDeadlineMs, extensionId) {
472
+ requireExtensionScanDeadline(absoluteDeadlineMs);
473
+ if (!existsSync(targetRoot))
409
474
  return [];
410
- }
411
475
  const managedSet = new Set(managed);
412
- const allFiles = await listFiles(targetRoot);
476
+ const allFiles = await listFiles(targetRoot, targetRoot, absoluteDeadlineMs, extensionId);
413
477
  return allFiles.filter((file) => !managedSet.has(file) && !isUnityGeneratedMetaFile(file)).sort();
414
478
  }
415
479
  function isUnityGeneratedMetaFile(path) {
416
480
  return path.endsWith(".meta");
417
481
  }
418
- async function listFiles(root, current = root) {
482
+ async function listFiles(root, current = root, absoluteDeadlineMs, extensionId) {
483
+ requireExtensionScanDeadline(absoluteDeadlineMs);
419
484
  const entries = await readdir(current, { withFileTypes: true });
420
485
  const files = [];
421
486
  for (const entry of entries) {
487
+ requireExtensionScanDeadline(absoluteDeadlineMs);
488
+ filesystemOperationObserverForTest?.("unknown-tree-entry", extensionId);
422
489
  const fullPath = join(current, entry.name);
423
- if (entry.isDirectory()) {
424
- files.push(...await listFiles(root, fullPath));
425
- }
426
- else if (entry.isFile()) {
490
+ if (entry.isDirectory())
491
+ files.push(...await listFiles(root, fullPath, absoluteDeadlineMs, extensionId));
492
+ else if (entry.isFile())
427
493
  files.push(normalizePath(relative(root, fullPath)));
428
- }
429
494
  }
430
495
  return files;
431
496
  }
@@ -452,43 +517,54 @@ async function hashManagedProjection(root, files) {
452
517
  }
453
518
  return hash.digest("hex");
454
519
  }
455
- async function hashBundleProjection(sourceRoot, includes) {
520
+ async function hashBundleProjection(sourceRoot, includes, absoluteDeadlineMs, extensionId) {
456
521
  const files = [];
457
522
  for (const includePath of includes.map(normalizePath).sort()) {
523
+ requireExtensionScanDeadline(absoluteDeadlineMs);
458
524
  const sourcePath = safeSourcePath(sourceRoot, includePath);
459
525
  if (!existsSync(sourcePath))
460
526
  continue;
461
527
  const targetRelativeRoot = projectionTargetRoot(includePath);
462
- if ((await stat(sourcePath)).isDirectory()) {
463
- await collectProjectionFiles(sourcePath, sourcePath, targetRelativeRoot, files);
464
- }
465
- else {
528
+ if ((await stat(sourcePath)).isDirectory())
529
+ await collectProjectionFiles(sourcePath, sourcePath, targetRelativeRoot, files, absoluteDeadlineMs, extensionId);
530
+ else
466
531
  files.push({ path: targetRelativeRoot, sourcePath });
467
- }
468
532
  }
469
533
  const hash = createHash("sha256");
470
534
  for (const file of files.sort((left, right) => left.path.localeCompare(right.path))) {
535
+ requireExtensionScanDeadline(absoluteDeadlineMs);
471
536
  hash.update(`file:${file.path}\n`);
537
+ filesystemOperationObserverForTest?.("source-file-hash", extensionId);
472
538
  hash.update(await readFile(file.sourcePath));
473
539
  hash.update("\n");
474
540
  }
475
541
  return hash.digest("hex");
476
542
  }
477
- async function collectProjectionFiles(dir, root, targetPrefix, files) {
543
+ async function collectProjectionFiles(dir, root, targetPrefix, files, absoluteDeadlineMs, extensionId) {
544
+ requireExtensionScanDeadline(absoluteDeadlineMs);
478
545
  for (const entry of (await readdir(dir, { withFileTypes: true })).sort((left, right) => left.name.localeCompare(right.name))) {
546
+ requireExtensionScanDeadline(absoluteDeadlineMs);
547
+ filesystemOperationObserverForTest?.("source-tree-entry", extensionId);
479
548
  const sourcePath = join(dir, entry.name);
480
- if (entry.isDirectory()) {
481
- await collectProjectionFiles(sourcePath, root, targetPrefix, files);
482
- }
549
+ if (entry.isDirectory())
550
+ await collectProjectionFiles(sourcePath, root, targetPrefix, files, absoluteDeadlineMs, extensionId);
483
551
  else if (entry.isFile()) {
484
552
  const relativePath = normalizePath(relative(root, sourcePath));
485
553
  files.push({ path: normalizePath(targetPrefix ? `${targetPrefix}/${relativePath}` : relativePath), sourcePath });
486
554
  }
487
555
  }
488
556
  }
489
- async function hashFile(path) {
557
+ async function hashFile(path, absoluteDeadlineMs) {
558
+ requireExtensionScanDeadline(absoluteDeadlineMs);
490
559
  return createHash("sha256").update(await readFile(path)).digest("hex");
491
560
  }
561
+ function requireExtensionScanDeadline(absoluteDeadlineMs) {
562
+ if (absoluteDeadlineMs !== undefined && extensionFilesystemNow() >= absoluteDeadlineMs) {
563
+ throw new ExtensionInstallerError("E_EXTENSION_SCAN_TIMEOUT", "Extension filesystem inspection exceeded the immutable command deadline.", [
564
+ "Remove unexpected files or retry extensions doctor with a larger --timeout-ms after filesystem activity settles."
565
+ ]);
566
+ }
567
+ }
492
568
  function resolvePhysicalStatus(availability, hasEntry, outdated, missingFiles, changedFiles, unknownFiles) {
493
569
  if (availability.status !== "available")
494
570
  return "missing_dependency";
@@ -564,7 +640,7 @@ function invalidInstallManifest(projectPath, reason) {
564
640
  }
565
641
  function isInstalledEntry(value) {
566
642
  const entry = value;
567
- return typeof entry?.extensionId === "string" && entry.extensionId.length > 0
643
+ return isValidExtensionId(entry?.extensionId)
568
644
  && typeof entry.version === "string" && entry.version.length > 0
569
645
  && typeof entry.installedAt === "string" && !Number.isNaN(Date.parse(entry.installedAt))
570
646
  && typeof entry.sourceHash === "string" && /^[a-f0-9]{64}$/i.test(entry.sourceHash)
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/extensions/installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmDtC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAC7D,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAEvG,IAAI,0BAA6D,CAAC;AAClE,IAAI,iBAAqE,CAAC;AAE1E,2CAA2C;AAC3C,MAAM,UAAU,6BAA6B,CAAC,IAAuC;IACnF,0BAA0B,GAAG,IAAI,CAAC;AACpC,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,6BAA6B,CAAC,QAA4D;IACxG,iBAAiB,GAAG,QAAQ,CAAC;AAC/B,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,mBAAmB,CAAC,WAAwB;IAC1D,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,oBAAoB,WAAW,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,6BAA6B,CAAC,QAA2B;IACvE,OAAO,QAAQ,CAAC,YAAY,EAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACpF,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,oBAAoB,CAAC,WAAmB,EAAE,WAAwB;IAChF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AACxF,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,4BAA4B,CAAC,WAAmB;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAC/E,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,WAAmB;IACpE,MAAM,IAAI,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,aAAa,EAAE,CAAC;QAC/E,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAsC,CAAC;QAClF,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5G,MAAM,sBAAsB,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACnG,MAAM,sBAAsB,CAAC,WAAW,EAAE,wDAAwD,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,uBAAuB;YAAE,MAAM,KAAK,CAAC;QAC1D,MAAM,sBAAsB,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,WAAmB,EAAE,QAAkC;IACzG,MAAM,YAAY,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,GAAG,YAAY,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IAC3E,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnL,MAAM,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,QAA2B;IAC3F,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC7E,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,uBAAuB,CACvC,gCAAgC,EAChC,cAAc,QAAQ,CAAC,EAAE,wCAAwC,OAAO,EAAE,EAC1E;YACE,oCAAoC,OAAO,EAAE;YAC7C,wCAAwC,QAAQ,CAAC,EAAE,oBAAoB;YACvE,iEAAiE;SAClE,CACF,CAAC;QACF,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAClC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,+BAA+B,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA2B,EAC3B,iBAA8C;IAE9C,OAAO,4BAA4B,CACjC,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EACxE,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,WAAmB,EACnB,QAA2B,EAC3B,kBAAqD,WAAW;IAEhE,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,uBAAuB,CAAC,4BAA4B,EAAE,yCAAyC,UAAU,EAAE,EAAE,CAAC,qDAAqD,CAAC,CAAC,CAAC;IAClL,CAAC;IAED,OAAO,yBAAyB,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,GAAG,UAAU,YAAY,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;QAC3E,MAAM,YAAY,GAAG,GAAG,UAAU,aAAa,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;QAC7E,MAAM,eAAe,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,SAAS;gBAAE,MAAM,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,QAAQ;gBAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YAChE,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACrF,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YACzF,MAAM,0BAA0B,EAAE,EAAE,CAAC;YACrC,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACpF,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC1E,sDAAsD;YACtD,IAAI,oBAAoB,KAAK,mBAAmB,IAAI,oBAAoB,KAAK,WAAW,EAAE,CAAC;gBACzF,MAAM,IAAI,uBAAuB,CAAC,mCAAmC,EAAE,2DAA2D,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,kEAAkE,CAAC,CAAC,CAAC;YACzN,CAAC;YACD,MAAM,UAAU,GAAG,WAAW,CAAC;YAC/B,IAAI,SAAS;gBAAE,MAAM,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACtD,MAAM,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACtC,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzD,MAAM,KAAK,GAAoC;gBAC7C,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,UAAU;gBACV,KAAK,EAAE,WAAW;gBAClB,qBAAqB,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;gBACzE,QAAQ,EAAE,qBAAqB;gBAC/B,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,yBAAyB;aACvC,CAAC;YAEF,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3G,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,6BAA6B,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACpE,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,uBAAuB,CAAC,uCAAuC,EAAE,yDAAyD,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,+DAA+D,CAAC,CAAC,CAAC;YACxN,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;YACtE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;gBACjH,MAAM,IAAI,uBAAuB,CAAC,sCAAsC,EAAE,+EAA+E,EAAE,CAAC,0FAA0F,CAAC,CAAC,CAAC;YAC3P,CAAC;YAED,OAAO;gBACL,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,MAAM,EAAE,eAAe;gBACvB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;gBACjC,UAAU;gBACV,SAAS,EAAE,WAAW,CAAC,MAAM;gBAC7B,UAAU;gBACV,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,SAAS,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC;gBAAE,MAAM,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpI,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC;IAEH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB,EAAE,WAAwB;IACvF,OAAO,yBAAyB,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,eAAe,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,uBAAuB,CAAC,yBAAyB,EAAE,+BAA+B,WAAW,EAAE,EAAE,CAAC,2EAA2E,CAAC,CAAC,CAAC;QAC5L,CAAC;QAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,uBAAuB,CAAC,+BAA+B,EAAE,mDAAmD,WAAW,EAAE,EAAE,CAAC,uFAAuF,CAAC,CAAC,CAAC;QAClO,CAAC;QAED,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAC3G,MAAM,6BAA6B,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAElE,OAAO;YACL,WAAW;YACX,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;YACjC,UAAU;YACV,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAE,CAAC;QACtD,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,wBAAwB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACxI,MAAM,UAAU,GAAG,wBAAwB,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3G,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;QAC1K,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,wBAAwB,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACjK,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,CAAC;QAChJ,MAAM,MAAM,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,KAAK,KAAK,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAEhK,MAAM,CAAC,IAAI,CAAC;YACV,WAAW;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI;YAC7B,MAAM;YACN,mBAAmB,EAAE,kBAAkB,CAAC,MAAM,KAAK,WAAW;YAC9D,SAAS;YACT,QAAQ;YACR,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACrF,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACvD,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC;SAClF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,WAAmB;IACnE,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,kEAAkE;AAClE,KAAK,UAAU,yBAAyB,CAAI,WAAmB,EAAE,MAAwB;IACvF,MAAM,QAAQ,GAAG,GAAG,4BAA4B,CAAC,WAAW,CAAC,OAAO,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB,CAAC;IACpD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7I,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7D,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,EAAE,CAAC;YACxB,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK;oBAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;YACnD,IAAI,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,QAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5C,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,uBAAuB,CAAC,kCAAkC,EAAE,iDAAiD,QAAQ,EAAE,EAAE,CAAC,4EAA4E,CAAC,CAAC,CAAC;YACrN,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;QACpD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAK,KAAK,CAAC,GAAc,IAAI,CAAC;eAC5G,OAAO,KAAK,CAAC,oBAAoB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB;eAC7E,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrG,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAkB,EAAE,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,QAAoB;IACrE,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,GAAG,QAAQ,aAAa,QAAQ,CAAC,WAAW,EAAE,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,oBAAoB,EAAE,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxL,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wDAAwD;QACxD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC/D,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO;QACtJ,MAAM,YAAY,GAAG,GAAG,QAAQ,cAAc,aAAa,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAC/D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtJ,oCAAoC;YACpC,OAAO;QACT,CAAC;QACD,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAkB,EAAE,UAAkB,EAAE,QAAkB;IAC5F,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS;QACtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,MAAM,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC/G,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,UAAkB,EAAE,UAAkB,EAAE,KAA6B,EAAE,YAAY,GAAG,EAAE;IACvI,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,MAAM,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,KAA6B;IACjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,KAA6B;IAChF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,OAAyB;IAC3E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI;IACnD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAY;IAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,KAA6B;IAC9E,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAkB,EAAE,QAAkB;IACxE,MAAM,KAAK,GAAgD,EAAE,CAAC;IAC9D,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS;QACtC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,MAAM,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,GAAW,EAAE,IAAY,EAAE,YAAoB,EAAE,KAAkD;IACvI,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7H,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAAyC,EACzC,QAAiB,EACjB,QAAiB,EACjB,YAAsB,EACtB,YAAsB,EACtB,YAAsB;IAEtB,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,oBAAoB,CAAC;IACrE,IAAI,CAAC,QAAQ;QAAE,OAAO,yBAAyB,CAAC;IAChD,IAAI,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACtF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,eAAe,CAAC;IACpD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA2B,EAAE,YAAyC,EAAE,MAA8B;IAClI,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO;YACL,WAAW,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,oEAAoE;YACxH,sEAAsE;YACtE,wCAAwC,QAAQ,CAAC,EAAE,oBAAoB;YACvE,iEAAiE;SAClE,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACzC,OAAO,CAAC,mCAAmC,QAAQ,CAAC,EAAE,2EAA2E,CAAC,CAAC;IACrI,CAAC;IACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,CAAC,mCAAmC,QAAQ,CAAC,EAAE,uDAAuD,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,CAAC,oBAAoB,WAAW,eAAe,QAAQ,CAAC,EAAE,mDAAmD,gBAAgB,GAAG,CAAC,CAAC;IAC3I,CAAC;IACD,OAAO,CAAC,8DAA8D,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,uBAAuB,CAAC,8BAA8B,EAAE,2CAA2C,WAAW,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB,EAAE,OAAe;IACzD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrH,MAAM,IAAI,uBAAuB,CAAC,8BAA8B,EAAE,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,uBAAuB,CAAC,8BAA8B,EAAE,uCAAuC,OAAO,EAAE,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,OAAe;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrH,MAAM,IAAI,uBAAuB,CAAC,8BAA8B,EAAE,kCAAkC,OAAO,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,uBAAuB,CAAC,8BAA8B,EAAE,wCAAwC,OAAO,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB,EAAE,MAAc;IACjE,OAAO,IAAI,uBAAuB,CAChC,sCAAsC,EACtC,0CAA0C,MAAM,EAAE,EAClD,CAAC,oBAAoB,4BAA4B,CAAC,WAAW,CAAC,sCAAsC,CAAC,CACtG,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,KAAK,GAAG,KAAiD,CAAC;IAChE,OAAO,OAAO,KAAK,EAAE,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;WACxE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;WAC7D,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;WACrF,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;WAChF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;WACvF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;WACnI,KAAK,CAAC,QAAQ,KAAK,qBAAqB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,yBAAyB,CAAC;AACnI,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,IAAI,GAAG,KAAsC,CAAC;IACpD,OAAO,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;WACzF,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7H,CAAC;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAI9B;IAEA;IALX,YAAY,CAA+B;IAElD,YACkB,IAAY,EAC5B,OAAe,EACC,cAAwB,EAAE;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,gBAAW,GAAX,WAAW,CAAe;IAG5C,CAAC;CACF"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/extensions/installer.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * knows about and whether they are available in a given project.
7
7
  */
8
8
  import { BUILTIN_EXTENSION_MANIFESTS } from "./.generated-registry-data.js";
9
+ import { EXTENSION_ID_MAX_UTF8_BYTES, isValidExtensionId } from "./state-contract.js";
9
10
  /**
10
11
  * Extension registry — discovers and resolves CLI extensions.
11
12
  *
@@ -205,11 +206,8 @@ function buildNextActions(manifest, missingPackageIds) {
205
206
  * Validate an extension manifest for required fields and constraints.
206
207
  */
207
208
  export function validateManifest(manifest) {
208
- if (!manifest.id || typeof manifest.id !== "string") {
209
- throw new ExtensionRegistryError("INVALID_MANIFEST", "Extension manifest requires a non-empty 'id' field.", ["Use a kebab-case identifier, e.g. 'probuilder'."]);
210
- }
211
- if (!/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/.test(manifest.id)) {
212
- throw new ExtensionRegistryError("INVALID_MANIFEST", `Extension ID must be kebab-case (lowercase letters, digits, hyphens): ${manifest.id}`, ["Use a format like 'probuilder', 'vfx-graph', 'urp'."]);
209
+ if (!isValidExtensionId(manifest.id)) {
210
+ throw new ExtensionRegistryError("INVALID_MANIFEST", `Extension ID must be kebab-case (lowercase letters, digits, hyphens) and fit ${EXTENSION_ID_MAX_UTF8_BYTES} UTF-8 bytes: ${manifest.id ?? "<missing>"}`, ["Use a format like 'probuilder', 'vfx-graph', 'urp'."]);
213
211
  }
214
212
  if (!manifest.name || typeof manifest.name !== "string") {
215
213
  throw new ExtensionRegistryError("INVALID_MANIFEST", `Extension '${manifest.id}' requires a non-empty 'name' field.`, ["Provide a human-readable name, e.g. 'ProBuilder'."]);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/extensions/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/extensions/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAWtF;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACX,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;IAExE;;;;;OAKG;IACH,YAAmB,sBAA2C,EAAE;QAC9D,MAAM,YAAY,GAAG,CAAC,GAAG,2BAA2B,EAAE,GAAG,mBAAmB,CAAC,CAAC;QAC9E,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAA2B;QACzC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,iCAAiC,QAAQ,CAAC,EAAE,EAAE,EAC9C,CAAC,+EAA+E,CAAC,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE;YAC/B,QAAQ;YACR,sBAAsB,EAAE,KAAK,CAAC,oDAAoD;SACnF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,cAAc;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,EAAe;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,EAAe;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACI,mBAAmB,CACxB,WAAwB,EACxB,iBAAkF;QAElF,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,sBAAsB,CAC9B,mBAAmB,EACnB,oCAAoC,WAAW,EAAE,EACjD,CAAC,yBAAyB,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC5D,CAAC;QACJ,CAAC;QAED,OAAO,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACI,sBAAsB,CAC3B,iBAAkF;QAElF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACpC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAChD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,mBAAmB,CACxB,iBAAkF;QAElF,OAAO,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,qBAAqB,CAC1B,iBAAkF;QAElF,OAAO,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,0BAA0B;QAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,gCAAgC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAED,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAA2B,EAC3B,iBAAkF;IAElF,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACpE,mEAAmE;IACnE,iFAAiF;IACjF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;YAC/D,WAAW,EAAE;gBACX,gFAAgF,QAAQ,CAAC,IAAI,GAAG;aACjG;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,EAAU,EAAqB,EAAE;QACnD,IAAI,iBAAiB,YAAY,GAAG,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,OAAO,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,OAAO,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,OAAO,GAAI,iBAA4C,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,OAAO,EAAE,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,GAAG,CAAC,YAAY,CAAC;SAC3G,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,QAAQ;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3B,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,MAAM,MAAM,GAA0B,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAEjF,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAElD,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,EAAE;QACxB,MAAM;QACN,QAAQ;QACR,iBAAiB;QACjB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,QAA2B;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACtD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAA2B,EAC3B,iBAA2B;IAE3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,YAAY,GAAG,gCAAgC,CAAC,QAAQ,CAAC;SAC5D,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC1D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3F,OAAO,CAAC,IAAI,CACV,oIAAoI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/J,CAAC;IAEF,OAAO,CAAC,IAAI,CACV,yIAAyI,CAC1I,CAAC;IAEF,OAAO,CAAC,IAAI,CACV,mEAAmE,QAAQ,CAAC,EAAE,qBAAqB,CACpG,CAAC;IAEF,OAAO,CAAC,IAAI,CACV,2FAA2F,CAC5F,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA2B;IAC1D,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,gFAAgF,2BAA2B,iBAAiB,QAAQ,CAAC,EAAE,IAAI,WAAW,EAAE,EACxJ,CAAC,qDAAqD,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,sCAAsC,EAC/D,CAAC,mDAAmD,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,6CAA6C,EACtE,CAAC,sCAAsC,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,yCAAyC,EAClE,CAAC,kCAAkC,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,qCAAqC,EAC9D,CAAC,qDAAqD,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,kDAAkD,EAC3E,CAAC,8EAA8E,CAAC,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC5D,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,oDAAoD,EAC7E,CAAC,sEAAsE,CAAC,CACzE,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9I,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,+CAA+C,GAAG,CAAC,SAAS,IAAI,EACzF,CAAC,0FAA0F,CAAC,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC1E,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,sCAAsC,EAC/D,CAAC,8EAA8E,CAAC,CACjF,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,yCAAyC,EAClE,EAAE,CACH,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,cAAc,QAAQ,CAAC,EAAE,0CAA0C,IAAI,CAAC,IAAI,IAAI,gBAAgB,GAAG,EACnG,CAAC,yDAAyD,CAAC,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAEpC;IAEA;IAHX,YACW,IAAsE,EAC/E,OAAe,EACN,cAAwB,EAAE;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAAkE;QAEtE,gBAAW,GAAX,WAAW,CAAe;IAGrC,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import type { ExtensionId } from "./types.js";
2
+ export declare const EXTENSION_ID_MAX_UTF8_BYTES = 128;
3
+ export declare const EXTENSION_STATE_MAX_ENTRIES = 256;
4
+ export declare const EXTENSION_STATE_MAX_UTF8_BYTES: number;
5
+ export declare const EXTENSION_DIAGNOSTIC_SAMPLE_LIMIT = 32;
6
+ /** extension 状态中的 ID 使用统一 kebab-case 语法和单值 UTF-8 上限。 */
7
+ export declare function isValidExtensionId(value: unknown): value is ExtensionId;
8
+ /** 在固定字节预算内读取状态文件;返回 undefined 仅表示文件不存在。 */
9
+ export declare function readBoundedExtensionStateFile(path: string): Promise<string | undefined>;
10
+ export declare class ExtensionStateContractError extends Error {
11
+ }