@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.
- package/README.md +5 -5
- package/contracts/command-contract.json +109 -217
- package/contracts/package-files.json +374 -294
- package/contracts/stable-session/direct-call-semantics.json +8 -2
- package/contracts/tool-completion-contract.json +148 -672
- package/dist/bridge/admission.d.ts +17 -1
- package/dist/bridge/admission.js +2 -0
- package/dist/bridge/admission.js.map +1 -1
- package/dist/bridge/domains/asset.js +3 -1
- package/dist/bridge/domains/asset.js.map +1 -1
- package/dist/bridge/domains/camera.js +39 -7
- package/dist/bridge/domains/camera.js.map +1 -1
- package/dist/bridge/domains/console.js +2 -1
- package/dist/bridge/domains/console.js.map +1 -1
- package/dist/bridge/domains/doctor.d.ts +3 -0
- package/dist/bridge/domains/doctor.js +8 -0
- package/dist/bridge/domains/doctor.js.map +1 -0
- package/dist/bridge/domains/editor.js +0 -4
- package/dist/bridge/domains/editor.js.map +1 -1
- package/dist/bridge/domains/game-object.js +4 -12
- package/dist/bridge/domains/game-object.js.map +1 -1
- package/dist/bridge/domains/graphics.js +1 -16
- package/dist/bridge/domains/graphics.js.map +1 -1
- package/dist/bridge/domains/object.js +3 -0
- package/dist/bridge/domains/object.js.map +1 -1
- package/dist/bridge/domains/physics.js +1 -2
- package/dist/bridge/domains/physics.js.map +1 -1
- package/dist/bridge/domains/profiler.js +18 -7
- package/dist/bridge/domains/profiler.js.map +1 -1
- package/dist/bridge/domains/project-tool.js +4 -0
- package/dist/bridge/domains/project-tool.js.map +1 -1
- package/dist/bridge/domains/reflection.js +10 -2
- package/dist/bridge/domains/reflection.js.map +1 -1
- package/dist/bridge/domains/runtime-tool.js +3 -0
- package/dist/bridge/domains/runtime-tool.js.map +1 -1
- package/dist/bridge/domains/scene.js +3 -8
- package/dist/bridge/domains/scene.js.map +1 -1
- package/dist/bridge/domains/screenshot.js +30 -6
- package/dist/bridge/domains/screenshot.js.map +1 -1
- package/dist/bridge/domains/ui.js +3 -1
- package/dist/bridge/domains/ui.js.map +1 -1
- package/dist/bridge/index.d.ts +5 -5
- package/dist/bridge/index.js +6 -9
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/registry.js +3 -5
- package/dist/bridge/registry.js.map +1 -1
- package/dist/bridge/session-supervisor.d.ts +6 -3
- package/dist/bridge/session-supervisor.js +122 -34
- package/dist/bridge/session-supervisor.js.map +1 -1
- package/dist/bridge/types.d.ts +6 -5
- package/dist/bridge/types.js +16 -2
- package/dist/bridge/types.js.map +1 -1
- package/dist/catalog-protocol.d.ts +64 -0
- package/dist/catalog-protocol.js +460 -0
- package/dist/catalog-protocol.js.map +1 -0
- package/dist/cli-commands/command.js +84 -61
- package/dist/cli-commands/command.js.map +1 -1
- package/dist/cli-commands/extensions.js +70 -50
- package/dist/cli-commands/extensions.js.map +1 -1
- package/dist/cli-commands/instances.js +1 -1
- package/dist/cli-commands/instances.js.map +1 -1
- package/dist/cli-process-owners.d.ts +6 -0
- package/dist/cli-process-owners.js +27 -0
- package/dist/cli-process-owners.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +20 -5
- package/dist/cli.js.map +1 -1
- package/dist/contracts/command-contract.js +14 -4
- package/dist/contracts/command-contract.js.map +1 -1
- package/dist/doctor.d.ts +4 -6
- package/dist/doctor.js +429 -398
- package/dist/doctor.js.map +1 -1
- package/dist/editor-blocker-observer.d.ts +2 -1
- package/dist/editor-blocker-observer.js +40 -13
- package/dist/editor-blocker-observer.js.map +1 -1
- package/dist/extension-availability.d.ts +27 -9
- package/dist/extension-availability.js +96 -56
- package/dist/extension-availability.js.map +1 -1
- package/dist/extensions/descriptor-loader.d.ts +2 -2
- package/dist/extensions/descriptor-loader.js +3 -4
- package/dist/extensions/descriptor-loader.js.map +1 -1
- package/dist/extensions/index.d.ts +1 -1
- package/dist/extensions/index.js +1 -1
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/installer.d.ts +24 -7
- package/dist/extensions/installer.js +142 -66
- package/dist/extensions/installer.js.map +1 -1
- package/dist/extensions/registry.js +3 -5
- package/dist/extensions/registry.js.map +1 -1
- package/dist/extensions/state-contract.d.ts +11 -0
- package/dist/extensions/state-contract.js +50 -0
- package/dist/extensions/state-contract.js.map +1 -0
- package/dist/instances.d.ts +13 -1
- package/dist/instances.js +26 -0
- package/dist/instances.js.map +1 -1
- package/dist/package-manager.d.ts +0 -24
- package/dist/package-manager.js +5 -58
- package/dist/package-manager.js.map +1 -1
- package/dist/project-tool-discovery.d.ts +5 -2
- package/dist/project-tool-discovery.js +22 -18
- package/dist/project-tool-discovery.js.map +1 -1
- package/dist/runtime-code.js +1 -1
- package/dist/runtime-code.js.map +1 -1
- package/dist/tool-name.d.ts +4 -0
- package/dist/tool-name.js +15 -0
- package/dist/tool-name.js.map +1 -0
- package/dist/tools/.generated-completion-registry.d.ts +2 -0
- package/dist/tools/.generated-completion-registry.js +763 -325
- package/dist/tools/.generated-completion-registry.js.map +1 -1
- package/dist/tools/.generated-registry.d.ts +6 -11
- package/dist/tools/.generated-registry.js +6 -11
- package/dist/tools/.generated-registry.js.map +1 -1
- package/dist/tools/.generated-schemas.js +11 -16
- package/dist/tools/.generated-schemas.js.map +1 -1
- package/dist/tools/asset/refresh-status.d.ts +3 -0
- package/dist/tools/asset/refresh-status.js +12 -0
- package/dist/tools/asset/refresh-status.js.map +1 -0
- package/dist/tools/asset/refresh.js +7 -3
- package/dist/tools/asset/refresh.js.map +1 -1
- package/dist/tools/build/player-status.d.ts +3 -0
- package/dist/tools/build/player-status.js +12 -0
- package/dist/tools/build/player-status.js.map +1 -0
- package/dist/tools/build/run.js +1 -1
- package/dist/tools/build/run.js.map +1 -1
- package/dist/tools/catalog-control.d.ts +22 -0
- package/dist/tools/catalog-control.js +335 -0
- package/dist/tools/catalog-control.js.map +1 -0
- package/dist/tools/catalog.d.ts +7 -9
- package/dist/tools/catalog.js +66 -45
- package/dist/tools/catalog.js.map +1 -1
- package/dist/tools/commands.d.ts +1 -1
- package/dist/tools/commands.js +44 -11
- package/dist/tools/commands.js.map +1 -1
- package/dist/tools/define.js +3 -2
- package/dist/tools/define.js.map +1 -1
- package/dist/tools/dispatcher.d.ts +53 -6
- package/dist/tools/dispatcher.js +277 -108
- package/dist/tools/dispatcher.js.map +1 -1
- package/dist/tools/editor/compile.js +1 -1
- package/dist/tools/editor/compile.js.map +1 -1
- package/dist/tools/editor/play-mode-status.d.ts +3 -0
- package/dist/tools/editor/play-mode-status.js +12 -0
- package/dist/tools/editor/play-mode-status.js.map +1 -0
- package/dist/tools/editor/readiness.d.ts +0 -1
- package/dist/tools/editor/readiness.js +0 -1
- package/dist/tools/editor/readiness.js.map +1 -1
- package/dist/tools/editor/refresh.d.ts +7 -3
- package/dist/tools/editor/refresh.js +20 -15
- package/dist/tools/editor/refresh.js.map +1 -1
- package/dist/tools/editor/state.d.ts +2 -2
- package/dist/tools/editor/state.js +13 -12
- package/dist/tools/editor/state.js.map +1 -1
- package/dist/tools/metadata/derived.js +1 -7
- package/dist/tools/metadata/derived.js.map +1 -1
- package/dist/tools/metadata/status.js +1 -12
- package/dist/tools/metadata/status.js.map +1 -1
- package/dist/tools/metadata/types.d.ts +0 -2
- package/dist/tools/navmesh/live.js +1 -1
- package/dist/tools/navmesh/live.js.map +1 -1
- package/dist/tools/occlusion/live.js +1 -1
- package/dist/tools/occlusion/live.js.map +1 -1
- package/dist/tools/package/deploy.js +2 -2
- package/dist/tools/package/deploy.js.map +1 -1
- package/dist/tools/package/embed.js +1 -1
- package/dist/tools/package/embed.js.map +1 -1
- package/dist/tools/package/install-status.d.ts +3 -0
- package/dist/tools/package/install-status.js +12 -0
- package/dist/tools/package/install-status.js.map +1 -0
- package/dist/tools/package/install.js +3 -3
- package/dist/tools/package/install.js.map +1 -1
- package/dist/tools/package/live-resolve.js +45 -12
- package/dist/tools/package/live-resolve.js.map +1 -1
- package/dist/tools/package/registry-clear.js.map +1 -1
- package/dist/tools/package/registry-set.js.map +1 -1
- package/dist/tools/package/remove-status.d.ts +3 -0
- package/dist/tools/package/remove-status.js +12 -0
- package/dist/tools/package/remove-status.js.map +1 -0
- package/dist/tools/package/remove.js +3 -3
- package/dist/tools/package/remove.js.map +1 -1
- package/dist/tools/package/resolve.js +3 -3
- package/dist/tools/package/resolve.js.map +1 -1
- package/dist/tools/package/restore.js +2 -2
- package/dist/tools/package/restore.js.map +1 -1
- package/dist/tools/package/scoped-registry-add.js.map +1 -1
- package/dist/tools/status/support.d.ts +13 -0
- package/dist/tools/status/support.js +28 -0
- package/dist/tools/status/support.js.map +1 -0
- package/dist/tools/test/cancel.js +2 -2
- package/dist/tools/test/cancel.js.map +1 -1
- package/dist/tools/test/run-status.d.ts +3 -0
- package/dist/tools/test/run-status.js +12 -0
- package/dist/tools/test/run-status.js.map +1 -0
- package/dist/tools/test/run.js +7 -4
- package/dist/tools/test/run.js.map +1 -1
- package/dist/tools/tools/group-summaries.js +10 -14
- package/dist/tools/tools/group-summaries.js.map +1 -1
- package/docs/architecture.md +4 -4
- package/docs/availability-differences.md +4 -4
- package/docs/command-execution.md +4 -3
- package/docs/error-codes.md +13 -5
- package/docs/extensions.md +1 -7
- package/docs/risk-and-side-effects.md +4 -3
- package/docs/safety-boundaries.md +3 -1
- package/docs/target-and-instance.md +1 -1
- package/docs/tool-discovery.md +17 -10
- package/docs/tool-execution.md +18 -7
- package/extensions/cinemachine/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
- package/extensions/hdrp/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
- package/extensions/probuilder/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
- package/extensions/urp/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
- package/extensions/vfx-graph/unitypkg/Editor/UnityCliExtensionAssembly.cs +3 -0
- package/package.json +2 -4
- package/skills/unitycli/SKILL.md +11 -2
- package/skills/unitycli/manifest.json +1 -1
- package/skills/unitycli/references/operation-protocol.md +3 -3
- package/unitypkg/Editor/AssemblyInfo.cs +5 -0
- package/unitypkg/Editor/Bridge/BridgeCommandRegistry.cs +49 -14
- package/unitypkg/Editor/Bridge/BridgeHttpServer.cs +9 -35
- package/unitypkg/Editor/Bridge/BridgeQueueState.cs +672 -0
- package/unitypkg/Editor/Bridge/BridgeWorkQueue.cs +970 -120
- package/unitypkg/Editor/BridgeStartupStateMachine.cs +59 -1
- package/unitypkg/Editor/Commands/ProjectToolCommands.cs +4 -0
- package/unitypkg/Editor/Commands/RuntimeToolCommands.cs +3 -0
- package/unitypkg/Editor/Generated/UnityCliToolCompletionRegistry.g.cs +379 -14
- package/unitypkg/Editor/Infrastructure/CodeExecSupport.cs +28 -13
- package/unitypkg/Editor/Infrastructure/RegistryOwnershipResolver.cs +132 -105
- package/unitypkg/Editor/Infrastructure/UnityCliActiveOperation.cs +138 -29
- package/unitypkg/Editor/Infrastructure/UnityCliAdmission.cs +1856 -237
- package/unitypkg/Editor/Infrastructure/UnityCliDoctorDiagnostics.cs +220 -0
- package/unitypkg/Editor/Infrastructure/UnityCliDurableStatusCoordinator.cs +118 -0
- package/unitypkg/Editor/Infrastructure/UnityCliEditorStateSnapshot.cs +2 -1
- package/unitypkg/Editor/Infrastructure/UnityCliHierarchyPager.cs +203 -0
- package/unitypkg/Editor/Infrastructure/UnityCliInstanceCleanup.cs +2 -1
- package/unitypkg/Editor/Infrastructure/UnityCliInstanceRegistry.cs +201 -63
- package/unitypkg/Editor/Infrastructure/UnityCliJson.cs +2 -3
- package/unitypkg/Editor/Infrastructure/UnityCliLiveBuildCoordinator.cs +289 -46
- package/unitypkg/Editor/Infrastructure/UnityCliLiveRefreshCoordinator.cs +87 -53
- package/unitypkg/Editor/Infrastructure/UnityCliNavMeshBakeCoordinator.cs +4 -4
- package/unitypkg/Editor/Infrastructure/UnityCliObjectRef.cs +128 -25
- package/unitypkg/Editor/Infrastructure/UnityCliObjectSerializer.cs +435 -327
- package/unitypkg/Editor/Infrastructure/UnityCliOcclusionBakeCoordinator.cs +4 -4
- package/unitypkg/Editor/Infrastructure/UnityCliOperationCoordinator.cs +351 -53
- package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveCoordinator.cs +118 -18
- package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveState.cs +20 -1
- package/unitypkg/Editor/Infrastructure/UnityCliReadGeneration.cs +97 -0
- package/unitypkg/Editor/Infrastructure/UnityCliReflection.cs +644 -133
- package/unitypkg/Editor/Infrastructure/UnityCliReloadOperation.cs +128 -41
- package/unitypkg/Editor/Infrastructure/UnityCliRuntimeExecutor.cs +14 -84
- package/unitypkg/Editor/Infrastructure/UnityCliSerializer.cs +220 -0
- package/unitypkg/Editor/Infrastructure/UnityCliSessionMutationLease.cs +69 -29
- package/unitypkg/Editor/Infrastructure/UnityCliTestRunCoordinator.cs +440 -54
- package/unitypkg/Editor/Infrastructure/UnityCliWaiter.cs +128 -35
- package/unitypkg/Editor/ProjectTools/IUnityCliTool.cs +9 -1
- package/unitypkg/Editor/ProjectTools/OfficialAttributeToolRegistry.cs +32 -31
- package/unitypkg/Editor/ProjectTools/ProjectToolRegistry.cs +607 -458
- package/unitypkg/Editor/ProjectTools/ProjectToolSchemaValidator.cs +35 -7
- package/unitypkg/Editor/ProjectTools/RegisteredTool.cs +501 -60
- package/unitypkg/Editor/ProjectTools/UnityCliProjectToolContext.cs +21 -0
- package/unitypkg/Editor/ProjectTools/UnityCliSchemaDeriver.cs +36 -7
- package/unitypkg/Editor/ProjectTools/UnityCliToolName.cs +30 -0
- package/unitypkg/Editor/Properties/AssemblyInfo.cs +3 -0
- package/unitypkg/Editor/Tools/asset/get-data.cs +16 -7
- package/unitypkg/Editor/Tools/build/BuildSceneStateTool.cs +23 -3
- package/unitypkg/Editor/Tools/build/BuildToolDtos.cs +2 -1
- package/unitypkg/Editor/Tools/build/scene/add.cs +6 -3
- package/unitypkg/Editor/Tools/build/scene/disable.cs +1 -1
- package/unitypkg/Editor/Tools/build/scene/enable.cs +1 -1
- package/unitypkg/Editor/Tools/build/scene/list.cs +1 -1
- package/unitypkg/Editor/Tools/build/scene/remove.cs +13 -3
- package/unitypkg/Editor/Tools/camera/CameraToolSupport.cs +38 -38
- package/unitypkg/Editor/Tools/camera/multiview.cs +13 -6
- package/unitypkg/Editor/Tools/camera/screenshot.cs +14 -7
- package/unitypkg/Editor/Tools/component/get.cs +16 -9
- package/unitypkg/Editor/Tools/component/modify.cs +6 -4
- package/unitypkg/Editor/Tools/console/clear.cs +7 -6
- package/unitypkg/Editor/Tools/console/get.cs +48 -16
- package/unitypkg/Editor/Tools/editor/EditorToolSupport.cs +143 -28
- package/unitypkg/Editor/Tools/editor/menu-items.cs +1 -1
- package/unitypkg/Editor/Tools/editor/play.cs +2 -11
- package/unitypkg/Editor/Tools/editor/selection.cs +1 -1
- package/unitypkg/Editor/Tools/editor/stop.cs +2 -11
- package/unitypkg/Editor/Tools/editor/windows.cs +1 -1
- package/unitypkg/Editor/Tools/go/GameObjectToolSupport.cs +54 -4
- package/unitypkg/Editor/Tools/go/delete.cs +1 -1
- package/unitypkg/Editor/Tools/go/find.cs +167 -70
- package/unitypkg/Editor/Tools/graphics/GraphicsToolSupport.cs +25 -0
- package/unitypkg/Editor/Tools/graphics/light-probe-group.cs +9 -3
- package/unitypkg/Editor/Tools/graphics/pipeline-info.cs +1 -1
- package/unitypkg/Editor/Tools/graphics/pipeline-settings.cs +1 -1
- package/unitypkg/Editor/Tools/graphics/quality.cs +2 -2
- package/unitypkg/Editor/Tools/graphics/reflection-probe.cs +3 -3
- package/unitypkg/Editor/Tools/graphics/stats.cs +1 -1
- package/unitypkg/Editor/Tools/object/ObjectToolSupport.cs +4 -4
- package/unitypkg/Editor/Tools/object/get-data.cs +9 -7
- package/unitypkg/Editor/Tools/object/modify.cs +7 -5
- package/unitypkg/Editor/Tools/physics/raycast.cs +24 -6
- package/unitypkg/Editor/Tools/prefab/stage.cs +1 -1
- package/unitypkg/Editor/Tools/profiler/ProfilerFrameDebuggerSupport.cs +94 -21
- package/unitypkg/Editor/Tools/profiler/ProfilerMemorySnapshotSupport.cs +397 -10
- package/unitypkg/Editor/Tools/profiler/ProfilerToolSupport.cs +18 -4
- package/unitypkg/Editor/Tools/profiler/frame-debugger/enable.cs +1 -1
- package/unitypkg/Editor/Tools/profiler/frame-debugger/events.cs +88 -87
- package/unitypkg/Editor/Tools/profiler/hierarchy.cs +278 -112
- package/unitypkg/Editor/Tools/profiler/memory-snapshot/compare.cs +9 -5
- package/unitypkg/Editor/Tools/profiler/memory-snapshot/list.cs +37 -35
- package/unitypkg/Editor/Tools/profiler/memory-snapshot/take.cs +99 -97
- package/unitypkg/Editor/Tools/project/info.cs +1 -1
- package/unitypkg/Editor/Tools/project/layers.cs +1 -1
- package/unitypkg/Editor/Tools/project/tags.cs +1 -1
- package/unitypkg/Editor/Tools/reflection/method/call.cs +9 -7
- package/unitypkg/Editor/Tools/reflection/method/find.cs +27 -37
- package/unitypkg/Editor/Tools/reflection/type/schema.cs +24 -28
- package/unitypkg/Editor/Tools/scene/gameobject/component.cs +8 -5
- package/unitypkg/Editor/Tools/scene/gameobject/components.cs +10 -7
- package/unitypkg/Editor/Tools/scene/gameobject-support.cs +104 -8
- package/unitypkg/Editor/Tools/scene/gameobject.cs +37 -16
- package/unitypkg/Editor/Tools/scene/hierarchy.cs +146 -142
- package/unitypkg/Editor/Tools/screenshot/EditorElementCaptureToolSupport.cs +77 -25
- package/unitypkg/Editor/Tools/screenshot/ScreenshotToolSupport.cs +315 -95
- package/unitypkg/Editor/Tools/screenshot/editor-element.cs +7 -5
- package/unitypkg/Editor/Tools/screenshot/game-view.cs +35 -21
- package/unitypkg/Editor/Tools/screenshot/isolated-object.cs +29 -23
- package/unitypkg/Editor/Tools/screenshot/orbit.cs +37 -25
- package/unitypkg/Editor/Tools/screenshot/scene-view.cs +25 -18
- package/unitypkg/Editor/Tools/screenshot/screen.cs +177 -17
- package/unitypkg/Editor/Tools/screenshot/surround.cs +83 -79
- package/unitypkg/Editor/Tools/ui/render-preview.cs +16 -11
- package/unitypkg/Editor/UnityCliBridge.cs +97 -34
- package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeBridge.cs +753 -122
- package/unitypkg/Runtime/Properties/AssemblyInfo.cs +5 -0
- package/unitypkg/Runtime/UnityCli.Runtime.asmdef +1 -1
- package/unitypkg/Shared/AssemblyInfo.cs +4 -0
- package/unitypkg/Shared/UnityCliAdmissionPool.cs +265 -75
- package/unitypkg/Shared/UnityCliBridgeQueuePolicy.cs +410 -0
- package/unitypkg/Shared/UnityCliBridgeWorkItemState.cs +47 -0
- package/unitypkg/Shared/UnityCliExceptionProjection.cs +151 -0
- package/unitypkg/Shared/UnityCliQueuePublication.cs +30 -0
- package/unitypkg/Shared/UnityCliRequestBudget.cs +352 -0
- package/unitypkg/Shared/UnityCliRuntimeRequestPublication.cs +107 -0
- package/unitypkg/Tests/Editor/UnityCli.Editor.Tests.asmdef +2 -2
- package/unitypkg/Tests/Editor/UnityCliAdmissionCoordinatorIntegrationTests.cs +1329 -0
- package/unitypkg/Tests/Editor/UnityCliAdmissionPoolTests.cs +311 -114
- package/unitypkg/Tests/Editor/UnityCliAdmissionRepairStateTests.cs +94 -0
- package/unitypkg/Tests/Editor/UnityCliBridgeAdmissionIntegrationTests.cs +1229 -0
- package/unitypkg/Tests/Editor/UnityCliBridgeQueuePolicyTests.cs +412 -0
- package/unitypkg/Tests/Editor/UnityCliContinuationIntegrationTests.cs +292 -0
- package/unitypkg/Tests/Editor/UnityCliDiagnosticBoundaryTests.cs +120 -0
- package/unitypkg/Tests/Editor/UnityCliDurableStatusTests.cs +84 -0
- package/unitypkg/Tests/Editor/UnityCliExceptionProjectionTests.cs +72 -0
- package/unitypkg/Tests/Editor/UnityCliInstancePublicationRetryTests.cs +180 -97
- package/unitypkg/Tests/Editor/UnityCliMemoryReflectionIntegrationTests.cs +434 -0
- package/unitypkg/Tests/Editor/UnityCliRequestBudgetTests.cs +615 -0
- package/unitypkg/Tests/Editor/UnityCliRuntimeBridgeIntegrationTests.cs +520 -0
- package/unitypkg/Tests/Editor/UnityCliToolCatalogTests.cs +562 -0
- package/unitypkg/Tests/Runtime/UnityCli.Runtime.Tests.asmdef +23 -0
- package/unitypkg/Tests/Runtime/UnityCliRuntimeCatalogValidationTests.cs +29 -0
- package/unitypkg/package.json +1 -1
- package/contracts/static-capability-catalog.json +0 -48226
- package/dist/bridge/domains/diagnose.d.ts +0 -2
- package/dist/bridge/domains/diagnose.js +0 -11
- package/dist/bridge/domains/diagnose.js.map +0 -1
- package/dist/bridge/domains/extension.d.ts +0 -8
- package/dist/bridge/domains/extension.js +0 -20
- package/dist/bridge/domains/extension.js.map +0 -1
- package/dist/capabilities.d.ts +0 -5
- package/dist/capabilities.js +0 -84
- package/dist/capabilities.js.map +0 -1
- package/dist/static-capability-catalog.d.ts +0 -13
- package/dist/static-capability-catalog.js +0 -41
- package/dist/static-capability-catalog.js.map +0 -1
- package/dist/tools/diagnose/capabilities.d.ts +0 -13
- package/dist/tools/diagnose/capabilities.js +0 -34
- package/dist/tools/diagnose/capabilities.js.map +0 -1
- package/dist/tools/package/info.d.ts +0 -19
- package/dist/tools/package/info.js +0 -27
- package/dist/tools/package/info.js.map +0 -1
- package/dist/tools/package/list.d.ts +0 -27
- package/dist/tools/package/list.js +0 -21
- package/dist/tools/package/list.js.map +0 -1
- package/dist/tools/package/registry-get.d.ts +0 -10
- package/dist/tools/package/registry-get.js +0 -22
- package/dist/tools/package/registry-get.js.map +0 -1
- package/dist/tools/package/scoped-registry-list.d.ts +0 -14
- package/dist/tools/package/scoped-registry-list.js +0 -22
- package/dist/tools/package/scoped-registry-list.js.map +0 -1
- package/dist/tools/package/search.d.ts +0 -17
- package/dist/tools/package/search.js +0 -39
- package/dist/tools/package/search.js.map +0 -1
- package/dist/tools/package/status.d.ts +0 -21
- package/dist/tools/package/status.js +0 -37
- package/dist/tools/package/status.js.map +0 -1
- package/dist/tools/tools/describe.d.ts +0 -27
- package/dist/tools/tools/describe.js +0 -35
- package/dist/tools/tools/describe.js.map +0 -1
- package/dist/tools/tools/group-list.d.ts +0 -16
- package/dist/tools/tools/group-list.js +0 -38
- package/dist/tools/tools/group-list.js.map +0 -1
- package/dist/tools/tools/group.d.ts +0 -13
- package/dist/tools/tools/group.js +0 -34
- package/dist/tools/tools/group.js.map +0 -1
- package/dist/tools/tools/pagination.d.ts +0 -17
- package/dist/tools/tools/pagination.js +0 -28
- package/dist/tools/tools/pagination.js.map +0 -1
- package/dist/tools/tools/search.d.ts +0 -15
- package/dist/tools/tools/search.js +0 -42
- package/dist/tools/tools/search.js.map +0 -1
- package/unitypkg/Editor/Tools/diagnose/preflight.cs +0 -269
- package/unitypkg/Editor/Tools/editor/console.cs +0 -26
- package/unitypkg/Editor/Tools/extension/status.cs +0 -87
- package/unitypkg/Editor/Tools/go/inspect.cs +0 -49
- package/unitypkg/Editor/Tools/graphics/pipeline-quality.cs +0 -24
- package/unitypkg/Editor/Tools/graphics/probe-positions.cs +0 -58
- package/unitypkg/Editor/Tools/graphics/settings.cs +0 -104
- package/unitypkg/Editor/Tools/graphics/stats-counters.cs +0 -28
- package/unitypkg/Editor/Tools/graphics/stats-memory.cs +0 -21
- package/unitypkg/Editor/Tools/instances/list.cs +0 -71
- package/unitypkg/Editor/Tools/physics/raycast-all.cs +0 -67
- package/unitypkg/Editor/Tools/scene/build-settings.cs +0 -69
- package/unitypkg/Editor/Tools/scene/data.cs +0 -125
- package/unitypkg/Editor/Tools/tests/list.cs +0 -98
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/tools/test/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAoB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAQnH,eAAe,UAAU,CAAgC;IACvD,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/tools/test/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,27 @@
|
|
|
1
|
-
// 每个公开 Tool group
|
|
1
|
+
// 每个公开 Tool group 的路由级一句话摘要,供顶层 tools group/list 控制面复用。
|
|
2
2
|
// 覆盖当前全部公开组;新增组未登记时回退到组名兜底,避免空泛 capability 文案。
|
|
3
3
|
export const GROUP_SUMMARIES = {
|
|
4
4
|
animation: "Animator state, parameters, and animation clip playback, editing, and creation.",
|
|
5
5
|
asset: "Unity asset discovery, import, editing, and refresh operations.",
|
|
6
|
-
build: "
|
|
6
|
+
build: "Build Settings scenes, platforms, profiles, player settings, and live builds with terminal artifact proof.",
|
|
7
7
|
camera: "Camera creation, discovery, lens settings, targeting, and view capture.",
|
|
8
8
|
cinemachine: "Cinemachine virtual camera, brain, aim, body, blend, noise, and extension configuration.",
|
|
9
9
|
code: "C# code execution with explicit safety controls.",
|
|
10
10
|
component: "Add, get, list, modify, remove, and set components on scene objects.",
|
|
11
|
-
console: "
|
|
11
|
+
console: "Unity Console reading and exact clear operations with count readback.",
|
|
12
12
|
controller: "Animator controller layers, states, transitions, blend trees, and parameters.",
|
|
13
|
-
diagnose: "CLI, target, and Bridge capability diagnostics.",
|
|
14
13
|
docs: "Offline documentation lookup and search.",
|
|
15
|
-
editor: "Unity Editor refresh,
|
|
14
|
+
editor: "Unity Editor state, transitions, dialogs, refresh, selection, focus, and session controls.",
|
|
16
15
|
extension: "Inspect installed UnityCLI extensions and their contributed tools.",
|
|
17
|
-
go: "Create, find,
|
|
18
|
-
graphics: "
|
|
16
|
+
go: "Create, find, parent, duplicate, transform, and delete scene GameObjects.",
|
|
17
|
+
graphics: "Dedicated rendering pipeline, quality, probe, unified stats, lighting, skybox, baking, and volume operations.",
|
|
19
18
|
hdrp: "High Definition Render Pipeline settings and volume effect overrides.",
|
|
20
|
-
instances: "List connected Unity Editor and runtime instances.",
|
|
21
19
|
material: "Create, inspect, assign, and edit material properties on assets and renderers.",
|
|
22
20
|
navmesh: "NavMesh bake settings, baking, and baked data clearing.",
|
|
23
21
|
object: "Read and modify serialized object data on assets and scene objects.",
|
|
24
22
|
occlusion: "Clear baked occlusion culling data.",
|
|
25
|
-
package: "Unity package
|
|
26
|
-
physics: "Physics
|
|
23
|
+
package: "Unity package mutation, resolve, embed, deploy, restore, and registry configuration with durable proof.",
|
|
24
|
+
physics: "Physics raycasts with optional all hits, overlaps, shapes, simulation, collisions, materials, joints, and rigidbodies.",
|
|
27
25
|
prefab: "Prefab creation, instantiation, editing, overrides, stages, and unpacking.",
|
|
28
26
|
probuilder: "ProBuilder shape, mesh, face, edge, and repair operations.",
|
|
29
27
|
profiler: "Profiler capture, analysis, memory, frame debugger, and performance stats.",
|
|
@@ -31,15 +29,13 @@ export const GROUP_SUMMARIES = {
|
|
|
31
29
|
reflect: "Offline C# and Unity type reflection search.",
|
|
32
30
|
reflection: "Invoke and discover C# methods and type schemas via runtime reflection.",
|
|
33
31
|
runtime: "Development Player state, console, capture, timing, and input operations.",
|
|
34
|
-
scene: "Scene hierarchy, load, save, validation, and view operations.",
|
|
32
|
+
scene: "Scene hierarchy, one-GameObject reads, load, save, validation, and view operations.",
|
|
35
33
|
screenshot: "Capture game view, scene view, and isolated object screenshots.",
|
|
36
34
|
"scriptable-object": "Create, inspect, and modify ScriptableObject assets.",
|
|
37
35
|
shader: "Create, read, update, delete, and inspect shader assets.",
|
|
38
|
-
test: "
|
|
39
|
-
tests: "List Unity test runner tests and their results.",
|
|
36
|
+
test: "Filtered EditMode and PlayMode test execution, durable results, XML artifacts, and exact cancellation.",
|
|
40
37
|
texture: "Create, modify, import, generate, and inspect textures and sprites.",
|
|
41
38
|
timeline: "Create and edit Timeline assets, tracks, and clips.",
|
|
42
|
-
tools: "Tool catalog grouping, search, describe, and execution.",
|
|
43
39
|
ui: "UI Toolkit documents, panels, styles, and visual element creation and inspection.",
|
|
44
40
|
urp: "Universal Render Pipeline settings, renderer features, and volume effects.",
|
|
45
41
|
vfx: "Visual Effect Graph control, effects, particles, and templates.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-summaries.js","sourceRoot":"","sources":["../../../src/tools/tools/group-summaries.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"group-summaries.js","sourceRoot":"","sources":["../../../src/tools/tools/group-summaries.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+CAA+C;AAE/C,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,SAAS,EAAE,iFAAiF;IAC5F,KAAK,EAAE,iEAAiE;IACxE,KAAK,EAAE,4GAA4G;IACnH,MAAM,EAAE,yEAAyE;IACjF,WAAW,EAAE,0FAA0F;IACvG,IAAI,EAAE,kDAAkD;IACxD,SAAS,EAAE,sEAAsE;IACjF,OAAO,EAAE,uEAAuE;IAChF,UAAU,EAAE,+EAA+E;IAC3F,IAAI,EAAE,0CAA0C;IAChD,MAAM,EAAE,4FAA4F;IACpG,SAAS,EAAE,oEAAoE;IAC/E,EAAE,EAAE,2EAA2E;IAC/E,QAAQ,EAAE,+GAA+G;IACzH,IAAI,EAAE,uEAAuE;IAC7E,QAAQ,EAAE,gFAAgF;IAC1F,OAAO,EAAE,yDAAyD;IAClE,MAAM,EAAE,qEAAqE;IAC7E,SAAS,EAAE,qCAAqC;IAChD,OAAO,EAAE,yGAAyG;IAClH,OAAO,EAAE,wHAAwH;IACjI,MAAM,EAAE,4EAA4E;IACpF,UAAU,EAAE,4DAA4D;IACxE,QAAQ,EAAE,4EAA4E;IACtF,OAAO,EAAE,0EAA0E;IACnF,OAAO,EAAE,8CAA8C;IACvD,UAAU,EAAE,yEAAyE;IACrF,OAAO,EAAE,2EAA2E;IACpF,KAAK,EAAE,qFAAqF;IAC5F,UAAU,EAAE,iEAAiE;IAC7E,mBAAmB,EAAE,sDAAsD;IAC3E,MAAM,EAAE,0DAA0D;IAClE,IAAI,EAAE,wGAAwG;IAC9G,OAAO,EAAE,qEAAqE;IAC9E,QAAQ,EAAE,qDAAqD;IAC/D,EAAE,EAAE,mFAAmF;IACvF,GAAG,EAAE,4EAA4E;IACjF,GAAG,EAAE,iEAAiE;IACtE,aAAa,EAAE,0EAA0E;CAC1F,CAAC;AAEF,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,cAAc,CAAC;AACxD,CAAC"}
|
package/docs/architecture.md
CHANGED
|
@@ -39,12 +39,12 @@ Every public process writes one JSON envelope and exits. Tool calls are direct a
|
|
|
39
39
|
A normal AI flow is:
|
|
40
40
|
|
|
41
41
|
```text
|
|
42
|
-
tools group/search
|
|
43
|
-
tools describe <tool>
|
|
42
|
+
tools group/search # direct catalog control plane
|
|
43
|
+
tools describe <tool> # exact-name descriptor projection
|
|
44
44
|
tools run <tool> --input <json>
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Descriptions expose the input and execution boundary required for one correct call. Internal output schemas and completion metadata validate terminal business data but are not duplicated into public discovery output.
|
|
47
|
+
Descriptions expose the input and execution boundary required for one correct call. Internal output schemas and completion metadata validate terminal business data but are not duplicated into public discovery output. Each Unity domain publishes one immutable executable catalog slot; its descriptor-only projection is derived during the same publication and cannot expose invokers, CLR types, writable metadata, or a second catalog cache. A catalog build failure leaves the prior slot intact and is reported by a separate read-only health snapshot.
|
|
48
48
|
|
|
49
49
|
## Installation Control Plane
|
|
50
50
|
|
|
@@ -75,7 +75,7 @@ offline
|
|
|
75
75
|
conflict
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
The current Unity writer replaces unusable prior state with its current identity and connection, then publishes `transitioning` before `ready`. CLI calls wait within their existing deadline when the selected Unity process is starting or changing connections. Historical cleanup remains writer-owned: automatic cleanup and `instances prune` share one globally serialized, bounded retention function.
|
|
78
|
+
The current Unity writer replaces unusable prior state with its current identity and connection, then publishes `transitioning` before `ready`. CLI calls wait within their existing deadline when the selected Unity process is starting or changing connections. Live catalog discovery freezes exact session/listener provenance for the top-level invocation and root admission; a changed generation before the first business POST fails closed. Historical cleanup remains writer-owned: automatic cleanup and `instances prune` share one globally serialized, bounded retention function.
|
|
79
79
|
|
|
80
80
|
A live mutation can continue across a reload only while the same Editor session owns the exact request. After the first mutation POST, a changed Editor session forbids redelivery. Timeout or disconnect before a trusted terminal response is outcome unknown.
|
|
81
81
|
|
|
@@ -16,13 +16,13 @@ catalog只包含必须由已打开Unity Editor或development Player提供的项
|
|
|
16
16
|
|------|------------------|
|
|
17
17
|
| `ready` | 返回当前实例完整Tool catalog;session/listener与近期主线程pulse均已证明 |
|
|
18
18
|
| `transitioning` | supervisor在同一deadline内等待lifecycle与listener generation交接 |
|
|
19
|
-
| `blocked` | 返回blocker error
|
|
19
|
+
| `blocked` | 普通catalog/Tool返回blocker error;exact `editor.state` / `editor.dialogs` / `editor.dialog.click`保留无业务准入的本地观察与恢复路径 |
|
|
20
20
|
| `unresponsive` | transport存在但主线程不可响应;返回`E_UNITY_UNRESPONSIVE` |
|
|
21
21
|
| `unverifiable` | ownership证据不完整;返回`E_INSTANCE_UNVERIFIABLE`,不得误报duplicate |
|
|
22
22
|
| `offline` | 不返回capability catalog;返回`E_INSTANCE_NOT_RUNNING` |
|
|
23
23
|
| `conflict` | 至少两个verified live claim;返回`E_INSTANCE_CONFLICT` |
|
|
24
24
|
|
|
25
|
-
没有 selector 且 CWD 不在 Unity 项目中时返回 `E_INSTANCE_REQUIRED`。静态 snapshot 不作为公开 fallback
|
|
25
|
+
没有 selector 且 CWD 不在 Unity 项目中时返回 `E_INSTANCE_REQUIRED`。静态 snapshot 不作为公开 fallback。只有三个exact Editor观察名称、六个域专用durable status名称及`tools describe`对它们的精确学习入口可使用冻结本地descriptor;status仍执行一次选定实例上的SafeStatus读取,相邻名称、alias、group、handler和其他offline Tool仍按Live catalog与普通准入失败。dialogs只在Windows可用。
|
|
26
26
|
|
|
27
27
|
## Package 与 Extension
|
|
28
28
|
|
|
@@ -38,7 +38,7 @@ catalog只包含必须由已打开Unity Editor或development Player提供的项
|
|
|
38
38
|
}
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
`source` 只用于说明和审计,不影响 visibility、describe、execution
|
|
41
|
+
`source` 只用于说明和审计,不影响 visibility、describe、execution 或公开路由。Extension dependency gate 只接受 generated exact owner 与 compiled assembly identity 的闭合证明;不从名称前缀冒充 Extension。安装 Package/Extension 后重新运行原 discovery 命令。
|
|
42
42
|
|
|
43
43
|
## 项目注册能力
|
|
44
44
|
|
|
@@ -80,7 +80,7 @@ Unity API版本门禁不从major版本猜测。Tool仍在当前实例catalog中
|
|
|
80
80
|
|
|
81
81
|
## Domain Reload
|
|
82
82
|
|
|
83
|
-
Domain reload期间,Registry v3 lifecycle将实例归约为`transitioning`,listener generation随后交接;Health v3中该generation的首个Unity主线程pulse才允许归约为`ready`。CLI在原命令截止时间内等待首次记录或新ready generation,不读取固定时长marker,也不要求AI轮询。session supervisor只在同一`editorSessionId`内续接完全相同的请求;首次mutation POST后若session改变,不向新session重投,并返回`E_EXECUTION_TIMEOUT`与outcome unknown。调用方先读取业务状态,再决定是否提交全新请求。
|
|
83
|
+
Domain reload期间,Registry v3 lifecycle将实例归约为`transitioning`,listener generation随后交接;Health v3中该generation的首个Unity主线程pulse才允许归约为`ready`。CLI在原命令截止时间内等待首次记录或新ready generation,不读取固定时长marker,也不要求AI轮询。catalog discovery 会把 exact editor session、listener ID和generation绑定到整次顶层调用及root admission;首次业务POST前若发生变化,返回`E_TOOL_CATALOG_CHANGED`,不发送旧业务请求。session supervisor只在同一`editorSessionId`内续接完全相同的请求;首次mutation POST后若session改变,不向新session重投,并返回`E_EXECUTION_TIMEOUT`与outcome unknown。调用方先读取业务状态,再决定是否提交全新请求。
|
|
84
84
|
|
|
85
85
|
## AI Agent 处理方式
|
|
86
86
|
|
|
@@ -63,7 +63,7 @@ object、array和任意JSON值必须是有效JSON。字段大小写和下划线
|
|
|
63
63
|
```powershell
|
|
64
64
|
# 省略name时只返回有界路由摘要;参数在单命令help中读取
|
|
65
65
|
unitycli command --project-path C:\path\MyProject --page-size 20
|
|
66
|
-
unitycli command --project-path C:\path\MyProject --page-size 20 --cursor
|
|
66
|
+
unitycli command --project-path C:\path\MyProject --page-size 20 --cursor <nextCursor>
|
|
67
67
|
|
|
68
68
|
unitycli command --project-path C:\path\MyProject <name> ...
|
|
69
69
|
unitycli command --timeout 120 <name> ...
|
|
@@ -71,10 +71,11 @@ unitycli command <name> ... --timeout-ms 120000 --dry-run
|
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
- `--project-path <path>`绑定现有canonical项目实例,不直连endpoint,也不写入active target。
|
|
74
|
-
- 省略name时,`--page-size`默认20、最大100
|
|
74
|
+
- 省略name时,`--page-size`默认20、最大100;`pageInfo.nextCursor`绑定原查询与catalog generation,必须原值传回`--cursor`。列表项不展开parameters,使用`command <name> --help`读取参数。
|
|
75
75
|
- `--timeout <seconds>`位于name前;`--timeout-ms <milliseconds>`使用本项目执行控制语义。
|
|
76
76
|
- `--dry-run`、`--runtime`、`--artifact-dir`和`--instance`仍是执行/选择控制项,不进入Tool business input。
|
|
77
77
|
- stdout默认是单行紧凑JSON;`--pretty`只增加缩进,不改变envelope字段。
|
|
78
|
+
- catalog summary/group响应只含bounded routing fields;exact descriptor响应有界且仅在同一 generation 内有效。
|
|
78
79
|
|
|
79
80
|
## 等价性
|
|
80
81
|
|
|
@@ -85,7 +86,7 @@ unitycli tools run UnityPipeline_test --input '{"mode":"EditMode"}'
|
|
|
85
86
|
unitycli command test --mode EditMode
|
|
86
87
|
```
|
|
87
88
|
|
|
88
|
-
两种语法共享instance
|
|
89
|
+
两种语法共享instance选择、当前domain的immutable Tool table、availability、schema终检、risk metadata、dry-run、timeout、completion contract、Bridge执行和错误码。每次顶层调用的live discovery会冻结exact editor session、listener ID和generation provenance;同一 provenance 会贯穿 root admission,并在首次业务POST前校验,发生reload或listener交接时在 effect 前返回`E_TOOL_CATALOG_CHANGED`。这些字段是私有 transport 绑定,不进入业务input、公开describe或error details。command语法不承诺补齐当前catalog中不存在的官方命令,也不改变本项目JSON输出格式。
|
|
89
90
|
|
|
90
91
|
## Pipeline与Bridge启动
|
|
91
92
|
|
package/docs/error-codes.md
CHANGED
|
@@ -24,7 +24,7 @@ alps-unity-cli 使用结构化错误码,包含机器可读的 `code`、`transi
|
|
|
24
24
|
|
|
25
25
|
`error` 只允许上述协议字段;`details` 仅承载业务诊断,不公开内部日志、审计、endpoint、port、listener/process identity、native window handle 或 Windows command line。blocker 使用固定公开 DTO。
|
|
26
26
|
|
|
27
|
-
普通Tool在业务effect前确认阻断时返回`E_UNITY_BLOCKED`,同一响应的`details.blockers`包含已清洗blocker。同一次调用只在`editorSessionId`未改变时续接完全相同的请求;首次mutation POST后若session改变,禁止向新session再次POST。超时或断连统一返回`E_EXECUTION_TIMEOUT`与outcome unknown;调用方先观察业务状态,再作新的提交决策。
|
|
27
|
+
普通Tool在业务effect前确认阻断时返回`E_UNITY_BLOCKED`,同一响应的`details.blockers`包含已清洗blocker。同一次调用只在`editorSessionId`未改变时续接完全相同的请求;首次mutation POST后若session改变,禁止向新session再次POST。超时或断连统一返回`E_EXECUTION_TIMEOUT`与outcome unknown;调用方先观察业务状态,再作新的提交决策。blocker补充只能消费当前dispatch/admission或execution absolute deadline,最多缩短到10秒;剩余时间为零或没有blocker proof时保留原错误及其字段。
|
|
28
28
|
|
|
29
29
|
## 错误分类
|
|
30
30
|
|
|
@@ -83,7 +83,10 @@ alps-unity-cli 使用结构化错误码,包含机器可读的 `code`、`transi
|
|
|
83
83
|
|--------|------|------|
|
|
84
84
|
| `E_TOOL_NOT_FOUND_FOR_TARGET` | 名称不属于当前实例完整 Tool 目录 | 重新运行 `tools group` / `tools search <k1|k2|...>` |
|
|
85
85
|
| `E_TOOL_REGISTRY_UNHEALTHY` | 当前实例 Tool catalog 含 malformed descriptor、重复名称或 ownership 冲突 | 修复实例 registry 后重新 discovery |
|
|
86
|
-
| `E_SCHEMA_INVALID` | 输入不符合 schema | 查看对应 `tools describe` 的 inputSchema |
|
|
86
|
+
| `E_SCHEMA_INVALID` | 输入不符合 schema,包括公开数值范围 | 查看对应 `tools describe` 的 inputSchema |
|
|
87
|
+
| `E_REQUEST_BUDGET_INVALID` | request-wide预算为零、负数或超过公开上限 | 传正值且不超过descriptor/schema最大值 |
|
|
88
|
+
| `E_REQUEST_BUDGET_EXCEEDED` | 读取在完整结果前耗尽scan/node/getter/reflection/time/UTF-8预算 | 使用返回的continuation,或收紧selector/提高上限内预算 |
|
|
89
|
+
| `E_CONTINUATION_STALE` | opaque cursor的selector或Unity/assembly generation已变化 | 删除cursor并开始一次fresh读取 |
|
|
87
90
|
|
|
88
91
|
### 可选预览错误
|
|
89
92
|
|
|
@@ -105,6 +108,11 @@ alps-unity-cli 使用结构化错误码,包含机器可读的 `code`、`transi
|
|
|
105
108
|
| `E_SCENE_AMBIGUOUS` | 场景资产名匹配多个 `.unity` 文件;改传精确 `Assets/*.unity` path |
|
|
106
109
|
| `E_SCENE_VIEW_NOT_AVAILABLE` | Scene 视图不可用 |
|
|
107
110
|
| `E_GAMEOBJECT_DELETE_FAILED` | GameObject 在同步删除后仍存在;按 `nextActions` 检查目标与 Unity Console |
|
|
111
|
+
| `E_SCREENSHOT_LIMIT_INVALID` | dimensions/pixels/capture count/temp/artifact计划输入无效或超过上限 |
|
|
112
|
+
| `E_SCREENSHOT_LIMIT_EXCEEDED` | effect后编码结果违反首effect前冻结的artifact计划 |
|
|
113
|
+
| `E_PROFILER_SNAPSHOT_PATH_INVALID` | snapshot不是governed root下的简单`.snap`文件名 |
|
|
114
|
+
| `E_PROFILER_SNAPSHOT_LIMIT_EXCEEDED` | snapshot超过单文件或latest-100/8-GiB保留策略 |
|
|
115
|
+
| `E_PROFILER_SNAPSHOT_CATALOG_UNBOUNDED` | governed snapshot目录超出产品可恢复观察边界 |
|
|
108
116
|
|
|
109
117
|
### Occlusion 错误
|
|
110
118
|
|
|
@@ -186,13 +194,13 @@ alps-unity-cli 使用结构化错误码,包含机器可读的 `code`、`transi
|
|
|
186
194
|
| `E_UNITY_BLOCKED` | effect 前已证明 Unity/UI blocker;原错误的 `details.blockers` 含结构化弹窗摘要 |
|
|
187
195
|
| `E_UNITY_BUSY` | 任务池、修改owner或实例清理owner正在工作;按message与`nextActions`区分是否尚未发送业务请求,`instances prune`可按`retryAfterMs`稍后重试 |
|
|
188
196
|
| `E_UNITY_TRANSITION_TIMEOUT` | 首次ready记录或可恢复状态变化未在原命令截止时间内稳定;确认Unity仍在推进后才使用更大的timeout重试 |
|
|
189
|
-
| `E_EXECUTION_TIMEOUT` |
|
|
197
|
+
| `E_EXECUTION_TIMEOUT` | 已放行调用或本地执行未在既有absolute deadline内返回终态、连接提前断开,或首次mutation POST后Editor session改变;outcome unknown,公开terminal固定且迟到settlement不能改写或重投effect |
|
|
190
198
|
| `E_REQUEST_ID_REUSED` | 同一 root request ID 被不同 exact request bytes 使用 |
|
|
191
199
|
| `E_TOOL_COMPLETION_PROOF_INVALID` | Tool 返回值不满足其 completion contract 或 proof 校验 |
|
|
192
200
|
| `E_UNITY_COMPILE_REQUIRES_EDIT_MODE` | `editor.compile` 在稳定 Play Mode 或 queued-before-effect PlayMode 中被拒绝 |
|
|
193
201
|
| `E_UNITY_COMPILE_FAILED` | owned compilation cycle 完成且包含 compiler error;details 带本次 diagnostics |
|
|
194
202
|
| `E_CODE_COMPILE_FAILED` | Runtime Code 编译失败 |
|
|
195
|
-
| `E_CODE_RUNTIME_EXCEPTION` | Runtime Code
|
|
203
|
+
| `E_CODE_RUNTIME_EXCEPTION` | Runtime Code 执行异常;message 指向最深可操作 cause,details.causes 为循环安全且受深度/字节限制的 cause chain |
|
|
196
204
|
| `E_IO_ERROR` | IO 错误 |
|
|
197
205
|
|
|
198
206
|
## AI Agent 错误处理流程
|
|
@@ -209,7 +217,7 @@ alps-unity-cli 使用结构化错误码,包含机器可读的 `code`、`transi
|
|
|
209
217
|
- Runtime 错误的 `nextActions` 必须指向 `tools run editor.play` 或 Play Mode 相关操作
|
|
210
218
|
- Discovery 错误的 `nextActions` 必须指向 `tools group`、`tools group list`、`tools search <k1|k2|...>` 或 `tools describe`
|
|
211
219
|
- 弹窗 blocker 的 `nextActions` 必须指向先 `tools run editor.dialogs`,再 `tools run editor.dialog.click`;不得要求人工处理、预定义按钮列表、launch-only 入口或额外确认
|
|
212
|
-
- 诊断错误的 `nextActions`
|
|
220
|
+
- 诊断错误的 `nextActions` 必须指向顶层 `doctor` 或对应 owner(`instances list`、`editor.state`、`extensions doctor`、Unity Console)
|
|
213
221
|
|
|
214
222
|
## JSON 字段命名
|
|
215
223
|
|
package/docs/extensions.md
CHANGED
|
@@ -43,13 +43,7 @@ unitycli tools run my.custom-tool --input '{}'
|
|
|
43
43
|
|
|
44
44
|
### 诊断
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
# 检查 CLI 控制面、Bridge 连接和项目工具完整性
|
|
48
|
-
unitycli doctor
|
|
49
|
-
|
|
50
|
-
# 诊断预检(Unity Bridge 工具)
|
|
51
|
-
unitycli tools run diagnose.preflight
|
|
52
|
-
```
|
|
46
|
+
`unitycli doctor` 独立报告 Registry/Health transport identity、主线程 pulse、业务准入、catalog integrity、编译与 Extension 状态。可选但未安装的 Extension 只产生提示;已安装或已启用的损坏 Extension 才使 Extension check 失败。
|
|
53
47
|
|
|
54
48
|
## 扩展包命令
|
|
55
49
|
|
|
@@ -67,7 +67,7 @@ For tools with `supportsDryRun`, `--dry-run` returns the same `plannedEffects` w
|
|
|
67
67
|
|
|
68
68
|
## Project Tool Integrity
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
Each Unity domain validates the complete Tool table before publishing its single executable slot. List and describe read the same publication's descriptor-only projection, while execution reads the executable entry from that slot; the reader cannot obtain invokers, CLR types, or writable metadata. A failed candidate never replaces the prior slot. Source changes become visible only after Unity compiles and replaces the domain and listener generation. `doctor` reads a separate bounded catalog-health snapshot so transport reachability is not confused with registry health.
|
|
71
71
|
|
|
72
72
|
## How to Assess Risk as an AI Agent
|
|
73
73
|
|
|
@@ -75,14 +75,15 @@ Project tools are checked internally before execution. A descriptor mismatch ret
|
|
|
75
75
|
2. **For destructive tools**: Assess the declared effects and invoke directly when authorized by the public call; use `--dry-run` only when a preview is useful.
|
|
76
76
|
3. **For runtime tools**: Verify Play Mode state before calling `target: "runtime"` tools.
|
|
77
77
|
4. **For direct-final tools**: Set an appropriate `--timeout-ms` when the operation may take time, then use the returned business data as the terminal result.
|
|
78
|
-
5. **For project tools**:
|
|
78
|
+
5. **For project tools**: Use `doctor` to inspect current-domain catalog health; fix invalid definitions and let Unity compile before rediscovery.
|
|
79
79
|
|
|
80
80
|
## Known Limitations
|
|
81
81
|
|
|
82
82
|
| Limitation | Risk Level | Mitigation |
|
|
83
83
|
|-----------|-----------|------------|
|
|
84
84
|
| Dry-run is not available for every destructive tool | Medium | Invoke directly with declared effects; use preview only where supported |
|
|
85
|
-
| Project tool registration
|
|
85
|
+
| Project tool registration changes only when Unity replaces the domain | Low | Re-discover after compilation/reload; bind exact session/listener provenance and let the first business POST reject stale generation |
|
|
86
|
+
| Catalog publication can fail closed on an ownership or descriptor error | Medium | Use `doctor` for transport and catalog-health results, fix the reported definition, then reload Unity |
|
|
86
87
|
|
|
87
88
|
## Cross-Reference
|
|
88
89
|
|
|
@@ -36,11 +36,13 @@ alps-unity-cli的安全模型围绕三个核心原则:Tool副作用必须准
|
|
|
36
36
|
| `tools run component.modify` | 修改场景组件或持久 Prefab/资产组件 |
|
|
37
37
|
| `tools run texture.import-settings` | 持久化 TextureImporter 设置 |
|
|
38
38
|
| `tools run texture.sprite` | 持久化 Sprite importer 与切片设置 |
|
|
39
|
-
| `tools run graphics.
|
|
39
|
+
| `tools run graphics.quality` | 持久化 QualitySettings |
|
|
40
|
+
| `tools run graphics.pipeline-settings` | 持久化默认 RenderPipelineAsset 并触发资产导入 |
|
|
40
41
|
| `tools run graphics.bake-settings` | 持久化 LightingSettings 与场景绑定 |
|
|
41
42
|
| `tools run build.platform.set` | 持久切换 active BuildTarget |
|
|
42
43
|
| `tools run build.profile.switch` | 持久切换 active Build Profile |
|
|
43
44
|
| `tools run editor.menu` | 执行编辑器菜单项 |
|
|
45
|
+
| `tools run reflection.method.call` | 调用精确同步 C# overload,并要求独立 completion proof |
|
|
44
46
|
| `tools run package.install` | 安装包 |
|
|
45
47
|
| `tools run package.remove` | 移除包 |
|
|
46
48
|
| `tools run package.deploy` | 复制本地 package 源到项目 Packages 目录 |
|
|
@@ -78,7 +78,7 @@ alias 绑定完整 `instanceId`、canonical project path 和 canonicalization ve
|
|
|
78
78
|
- 准入deadline到达返回effect-before `E_UNITY_BUSY`并证明业务请求未发送;
|
|
79
79
|
- 放行后的超时或终态前断连返回`E_EXECUTION_TIMEOUT`,调用方必须先观察业务状态,再作新的提交决策。
|
|
80
80
|
|
|
81
|
-
普通读取型Tool的成功结果来自同一validated generation
|
|
81
|
+
普通读取型Tool的成功结果来自同一validated generation的完整读取。exact `editor.state`、`editor.dialogs`、`editor.dialog.click`和六个域专用durable status Tool使用frozen本地descriptor进入同一dispatcher,不依赖可能被transition、modal或业务mutation阻断的Live catalog,三个Editor观察Tool不执行普通业务admission acquire/revoke;域status仍严格选择目标实例、取得独立只读root admission并只发送域绑定SafeStatus读取,但不取得mutation lease。`editor.state`在同一dispatch absolute deadline内合并Registry v3、Health v3内存主线程pulse、一次private snapshot Bridge观察、PID/start、project claim和Windows modal证据,返回七态与freshness;4秒/10秒子上限只能缩短该deadline。dialogs保持Windows-only,click仍重新证明exact PID/start/dialog/button并只执行一次effect。其他Tool与catalog listing仍严格依赖Live实例和普通准入。Domain Reload只由Registry lifecycle、新listener generation和该generation首个主线程pulse证明,不读取固定时长marker文件。
|
|
82
82
|
|
|
83
83
|
## Development Player Sidecar
|
|
84
84
|
|
package/docs/tool-discovery.md
CHANGED
|
@@ -17,7 +17,7 @@ unitycli tools group --instance <id|projectPath|alias>
|
|
|
17
17
|
|
|
18
18
|
```text
|
|
19
19
|
tools group
|
|
20
|
-
-> tools group list <group> [--page-size <n>] [--cursor <
|
|
20
|
+
-> tools group list <group> [--page-size <n>] [--cursor <nextCursor>]
|
|
21
21
|
-> tools describe <tool>
|
|
22
22
|
-> tools run <tool> --input '<json>'
|
|
23
23
|
```
|
|
@@ -39,10 +39,10 @@ unitycli tools group --instance my-project
|
|
|
39
39
|
|
|
40
40
|
```powershell
|
|
41
41
|
unitycli tools group list camera --page-size 20
|
|
42
|
-
unitycli tools group list probuilder --page-size 20 --cursor
|
|
42
|
+
unitycli tools group list probuilder --page-size 20 --cursor <nextCursor> --instance my-project
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
分组名称必须来自当前实例的`tools group`输出,不要假设项目能力都位于`custom`分组。每个`tools[].name`已经是完整精确调用名,group只用于筛选,绝不能拼到name前;`available`仅在不可用时以`false
|
|
45
|
+
分组名称必须来自当前实例的`tools group`输出,不要假设项目能力都位于`custom`分组。每个`tools[].name`已经是完整精确调用名,group只用于筛选,绝不能拼到name前;`available`仅在不可用时以`false`出现。`pageInfo.nextCursor`是不透明的 generation-bound continuation,必须原值传回`--cursor`;目录 generation 改变时返回`E_TOOL_CATALOG_CHANGED`,应从第一页重新读取。
|
|
46
46
|
|
|
47
47
|
### `tools search`
|
|
48
48
|
|
|
@@ -50,10 +50,10 @@ unitycli tools group list probuilder --page-size 20 --cursor 20 --instance my-pr
|
|
|
50
50
|
|
|
51
51
|
```powershell
|
|
52
52
|
unitycli tools search 'screenshot|camera' --page-size 20
|
|
53
|
-
unitycli tools search 'project-summary|scene' --page-size 20 --cursor
|
|
53
|
+
unitycli tools search 'project-summary|scene' --page-size 20 --cursor <nextCursor> --instance my-project
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
结果按精确 Tool name 排序;存在`pageInfo.nextCursor`时,将其原值传回同一关键词查询的`--cursor`。
|
|
56
|
+
结果按精确 Tool name 排序;存在`pageInfo.nextCursor`时,将其原值传回同一关键词查询的`--cursor`。cursor绑定原查询和当时的Editor/Runtime catalog generation,不能跨查询或跨generation复用。generation同时绑定当前editor session、listener和listener generation;调用过程中发生reload或listener交接时,旧cursor稳定返回`E_TOOL_CATALOG_CHANGED`。
|
|
57
57
|
|
|
58
58
|
### `tools describe`
|
|
59
59
|
|
|
@@ -76,13 +76,17 @@ unitycli tools describe camera.screenshot
|
|
|
76
76
|
| `requiresPackages` | 非空 Unity Package 依赖 |
|
|
77
77
|
| `examples` | `description`、结构化业务 `input` 与按需 `execution` |
|
|
78
78
|
|
|
79
|
-
`group`和`summary`已在发现层使用,不在单 Tool describe重复;`source`、`outputSchema`、`permissions`、
|
|
79
|
+
`group`和`summary`已在发现层使用,不在单 Tool describe重复;`source`、`outputSchema`、`permissions`、completion 和 handler 只保留在内部 metadata。
|
|
80
80
|
|
|
81
81
|
## 完整目录语义
|
|
82
82
|
|
|
83
|
-
一个已连接实例的 catalog 同时包含 package 内置能力、已安装 Extension 能力、项目 `IUnityCliTool<TReq,TRes>` 能力,以及 Editor、Runtime 和 package-local Tool
|
|
83
|
+
一个已连接实例的 catalog 同时包含 package 内置能力、已安装 Extension 能力、项目 `IUnityCliTool<TReq,TRes>` 能力,以及 Editor、Runtime 和 package-local Tool。Unity 的 `[InitializeOnLoad]` 构造入口在每个 domain 内从编译元数据构建并完整验证一次 Tool table;后续 discovery、describe、run 和 Runtime availability 都只读取这个已发布的只读 table,不重新扫描 assembly、源码或持久化 Tool 状态。
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
`tools group`、`tools group list`、`tools search`和`tools describe`是冻结的顶层CLI控制面,不是可由`tools run`调用的Tool identity;业务动作与读取能力才使用`tools run <tool>`。每个 discovery root 对每个在线target只取得一次准入并读取一份listener-generation-bound snapshot。group/list/search只传输有界路由摘要,完整input schema、examples和风险字段仅由exact-name describe读取;output schema、permissions、completion和内部路由字段始终不进入summary/search传输。
|
|
86
|
+
|
|
87
|
+
目录不按 source、EditMode/PlayMode 或当前可执行性过滤。availability 在投影条目时读取,不会重建 table;当前不可执行的能力仍显示,由 descriptor 和执行错误说明原因。静态 capability snapshot 只供 package 生成、contract 和审计,不进入公开 discovery。
|
|
88
|
+
|
|
89
|
+
每次顶层`tools`或`command`调用只冻结一组私有 discovery provenance:exact editor session、listener ID和listener generation。执行前会把同一 provenance 带入 root admission,并在首次业务 POST前再次比较;若 session、listener或generation已变化,返回`E_TOOL_CATALOG_CHANGED`,不会发送业务请求。provenance不进入业务 input、公开成功响应或公开 error details。
|
|
86
90
|
|
|
87
91
|
## AI Agent 工作流
|
|
88
92
|
|
|
@@ -91,7 +95,7 @@ unitycli tools describe camera.screenshot
|
|
|
91
95
|
3. 用 `tools group list`、`tools search '<k1|k2|...>'` 缩小范围,并消费完所需的`pageInfo.nextCursor`页面。
|
|
92
96
|
4. 用 `tools describe` 获取 schema、状态约束、副作用和示例。
|
|
93
97
|
5. 用 `tools run` 调用同一名称。
|
|
94
|
-
6. 安装 Package、安装 Extension
|
|
98
|
+
6. 安装 Package、安装 Extension、编译/domain reload 或 listener generation 替换后重新 discovery;仅切换 PlayMode 时读取更新后的 availability。
|
|
95
99
|
|
|
96
100
|
## 错误处理
|
|
97
101
|
|
|
@@ -101,6 +105,9 @@ unitycli tools describe camera.screenshot
|
|
|
101
105
|
- `E_INSTANCE_CONFLICT`:同一项目存在至少两个已验证live Editor claim。
|
|
102
106
|
- `E_INSTANCE_UNVERIFIABLE`:PID/start或project ownership证据不完整,不能安全选定session。
|
|
103
107
|
- `E_UNITY_UNRESPONSIVE`:transport identity存在,但近期Unity主线程pulse无法证明。
|
|
104
|
-
- `E_TOOL_REGISTRY_UNHEALTHY`:实例 catalog 有 malformed、重复或 ownership 冲突;修复
|
|
108
|
+
- `E_TOOL_REGISTRY_UNHEALTHY`:实例 catalog 有 malformed、重复或 ownership 冲突;修复 Tool 定义并让 Unity compile/reload 后重新发现。该错误不表示 Bridge transport 不可达。
|
|
109
|
+
- `E_EXTENSION_INVENTORY_MISMATCH`:generated Extension owner、exact compiled assembly、implementation type与manifest contribution无法闭合;重新生成统一 inventory并让 Unity reload。
|
|
110
|
+
- `E_DISCOVERY_CURSOR_INVALID`:cursor损坏或来自其他查询;从当前查询第一页重新读取。
|
|
111
|
+
- `E_TOOL_CATALOG_CHANGED`:continuation绑定的catalog generation已改变;从当前查询第一页重新读取。
|
|
105
112
|
- `E_TOOL_NOT_FOUND_FOR_TARGET`:名称不属于当前实例目录;运行 `tools search <k1|k2|...>` 重新发现相关能力。
|
|
106
113
|
- `E_RUNTIME_NOT_READY`:Runtime Tool 已显示,但执行需要稳定 PlayMode。
|
package/docs/tool-execution.md
CHANGED
|
@@ -46,7 +46,7 @@ unitycli tools run camera.screenshot --input '{}'
|
|
|
46
46
|
|
|
47
47
|
## 调用进程预算
|
|
48
48
|
|
|
49
|
-
外层命令host必须等待`unitycli`进程退出,不能在CLI仍运行时把调用报告为完成。`--timeout-ms T`分别提供最多`T`的Unity任务池准入等待,以及放行后最多`T`的业务执行;因此host等待预算至少为`2 * T + 5000`毫秒。未显式传timeout时,先从`tools describe`的example execution或Tool边界选择`T`。CLI在任一内部deadline到达后输出一个完整JSON envelope;stdout
|
|
49
|
+
外层命令host必须等待`unitycli`进程退出,不能在CLI仍运行时把调用报告为完成。`--timeout-ms T`分别提供最多`T`的Unity任务池准入等待,以及放行后最多`T`的业务执行;因此host等待预算至少为`2 * T + 5000`毫秒。未显式传timeout时,先从`tools describe`的example execution或Tool边界选择`T`。CLI在任一内部deadline到达后输出一个完整JSON envelope;stdout完成且已注册的local owner都settle后退出,或在唯一的1000ms宽限期到达时退出。CLI timeout只结束调用方等待,不会强停Unity中已经开始的effect;host提前退出同样不能作为effect停止证明。
|
|
50
50
|
|
|
51
51
|
## Unity 任务池准入
|
|
52
52
|
|
|
@@ -54,13 +54,15 @@ unitycli tools run camera.screenshot --input '{}'
|
|
|
54
54
|
|
|
55
55
|
准入等待超过`T`时返回`E_UNITY_BUSY`、`transient:true`和`retryAfterMs:100`。该错误明确证明本次业务Bridge请求未发送、effect未开始,可以稍后提交一个新root。放行后的timeout、断连或终态不明仍返回`E_EXECUTION_TIMEOUT`,表示outcome unknown,必须先观察业务状态。
|
|
56
56
|
|
|
57
|
-
统一catalog在Editor和Runtime同时在线时,会在每个参与公开结果的target session分别准入;任一在线target未获准时不返回跨池的部分catalog。
|
|
57
|
+
统一catalog在Editor和Runtime同时在线时,会在每个参与公开结果的target session分别准入;任一在线target未获准时不返回跨池的部分catalog。exact `editor.state`、`editor.dialogs`、`editor.dialog.click`和六个域专用durable status Tool是固定例外:它们使用冻结的本地descriptor完成相同contract、availability、schema、结果与envelope校验。三个Editor观察Tool不取得业务admission;域status取得独立只读root admission后向选定实例发送一次域绑定SafeStatus读取,但不取得mutation lease;其他offline Tool、相邻名称、group或handler不会获得该例外。
|
|
58
58
|
|
|
59
59
|
## Bridge 执行约束
|
|
60
60
|
|
|
61
61
|
Bridge-backed Tool由Unity Editor主线程执行。业务请求发送前,session supervisor会在准入deadline内等待首次ready记录、compile、import、domain reload和listener generation交接;只有能证明目标Unity正在运行时才等待,证明未运行时立即返回。准入放行后只创建一次execution absolute deadline,token重取、status、rebind和terminal recovery不得刷新预算。读取可在新generation重新执行完整读取;mutation只有在`editorSessionId`未改变时才可用完全相同的request bytes续接durable terminal。
|
|
62
62
|
|
|
63
|
-
首次mutation POST后若Editor session改变,CLI禁止向新session再次POST,并返回`E_EXECUTION_TIMEOUT`、`outcome:unknown`。其他超时或终态前断连同样表示没有可信终态;调用方应先用业务读取或`editor.state`收集证据,再决定是否提交全新请求。`editor.state`使用frozen本地descriptor绕过被阻断的Live catalog,再读取Registry/Health v3、内存主线程pulse、Bridge和Windows modal
|
|
63
|
+
首次mutation POST后若Editor session改变,CLI禁止向新session再次POST,并返回`E_EXECUTION_TIMEOUT`、`outcome:unknown`。其他超时或终态前断连同样表示没有可信终态;调用方应先用业务读取或`editor.state`收集证据,再决定是否提交全新请求。`asset.refresh.status`、`build.player.status`、`editor.play-mode.status`、`package.install.status`、`package.remove.status`和`test.run.status`可在同一Editor session内仅凭原root `requestId`读取active phase或exact terminal;digest只由Bridge内部校验,status不获取mutation lease、不刷新deadline且不重放effect。`editor.state`使用frozen本地descriptor绕过被阻断的Live catalog和strict ordinary selector,再读取Registry/Health v3、内存主线程pulse、Bridge和Windows modal证据;它唯一可发出一次无admission的private `internal.editor.state.snapshot` observeNow POST。两个dialog recovery Tool与域status Tool保持只读观察lane,其他Tool不建立静态fallback。
|
|
64
|
+
|
|
65
|
+
一次调用的selector、Bridge、Windows观察和错误blocker补充都消费适用的同一absolute deadline;10秒诊断上限只能缩短它,剩余时间为零时不再观察,主错误保持不变。本地Tool的公开deadline先到后只返回一个固定`E_EXECUTION_TIMEOUT` envelope;迟到Promise不能改变terminal或重放effect,且首次effect barrier已关闭。每次settlement的精确清理只处理未消费lease,并与stdout共用现有最多1秒退出宽限;Unity已消费root仍由WorkItem、coordinator或recovery owner收敛。
|
|
64
66
|
|
|
65
67
|
### `editor.compile`
|
|
66
68
|
|
|
@@ -72,6 +74,14 @@ unitycli tools run editor.compile --input '{"refresh":true,"includeWarnings":tru
|
|
|
72
74
|
|
|
73
75
|
accepted、queued、phase、run ID 和 listener 字段仅属于内部 coordinator,不会成为公开成功。稳定 Play Mode 调用返回 `E_UNITY_COMPILE_REQUIRES_EDIT_MODE`;dry-run 只返回 planned effects,不触发 refresh 或 compile。
|
|
74
76
|
|
|
77
|
+
### `editor.refresh`
|
|
78
|
+
|
|
79
|
+
`editor.refresh` 不递归读取 `Assets`、不计算文件byte hash,也不逐文件调用dependency hash。它在同一 execution deadline/cancel 下读取 Unity-owned global artifact dependency/processed generation,调用一次 `AssetDatabase.Refresh`,观察 import/compile/reload,并在Editor稳定后返回 before/after generation。`changed=false`、`importObserved=false` 是明确成功,不会伪造文件总数或内容指纹;Play Mode 在effect前返回 `E_TOOL_PLAYMODE_UNAVAILABLE`。
|
|
80
|
+
|
|
81
|
+
### Memory snapshots
|
|
82
|
+
|
|
83
|
+
`profiler.memory-snapshot.take` 只写 `Library/UnityCli/memory-snapshots/<name>.snap`。`path` 必须是简单 `.snap` 文件名,单文件上限4 GiB;catalog保留最新100个且总量不超过8 GiB。capture先写同根pending文件,callback成功后串行publication;timeout、cancel、reload、write fault和late callback共享唯一终态并清理orphan。`profiler.memory-snapshot.list`只分页读取该有界目录,不接受任意搜索路径。
|
|
84
|
+
|
|
75
85
|
## 实例 Tool 完整性
|
|
76
86
|
|
|
77
87
|
实例 registry 中的 Tool 在 discovery 时整体校验 descriptor 完整性和名称 ownership;malformed、重复或冲突目录返回 `E_TOOL_REGISTRY_UNHEALTHY`,不会静默形成部分 catalog。项目注册 Tool 在执行前继续经过内部完整性校验。正常 descriptor 与成功 envelope 只提供调用所需信息;校验不匹配时,结构化错误会提供恢复步骤。
|
|
@@ -97,10 +107,11 @@ unitycli tools run asset.delete --input '{"path":"Assets/Temp.mat"}'
|
|
|
97
107
|
通用规则:
|
|
98
108
|
|
|
99
109
|
- discovery 的 `tools group list`、`tools search` 和省略name的`command`列表默认每页20项、最大100项;继续读取时将`pageInfo.nextCursor`原值传回CLI `--cursor`。
|
|
100
|
-
-
|
|
101
|
-
- 深度序列化工具(`object.get-data`、`asset.get-data`、`component.get`)优先传 `paths` 或 `viewQuery
|
|
110
|
+
- `console.get`、`scene.hierarchy`、`go.find`、`profiler.hierarchy`、`profiler.frame-debugger.events`、`profiler.memory-snapshot.list`、`type.schema` 和 `reflection.method.find` 使用 opaque string `nextCursor`。游标绑定原始位置、selector 与 Unity/assembly generation;Frame Debugger 游标还绑定 Editor listener、CLI enable/disable generation、事件数与捕获首尾签名。游标必须原样传回,改变 selector、generation 或捕获后返回 `E_CONTINUATION_STALE`。`truncated=true` 表示还有原始位置;不能把当前页数量当作总数。
|
|
111
|
+
- 深度序列化工具(`object.get-data`、`asset.get-data`、`component.get`)优先传 `paths` 或 `viewQuery`。`maxDepth` 为 `0..16`,`maxArrayItems` 为 `1..1000`,`paths` 最多128条并保持输入顺序;cycle/depth 在展开前裁决,所有路径共享同一预算,非 `IList` enumerable 不会预 materialize。`truncated` 与 `nextPath` 表示被截断子树。
|
|
112
|
+
- 上述 Unity 主线程读取默认共用 `10000` scanned records、`4096` nodes、`2048` getters、`4096` reflection calls、`250ms` monotonic main-thread work 和 `1 MiB` serialized UTF-8。`budget` 可收紧或提高到公开上限 `100000`、`20000`、`10000`、`20000`、`2000ms`、`8 MiB`;零、负数或超限值在读取/effect前返回 `E_SCHEMA_INVALID` 或 `E_REQUEST_BUDGET_INVALID`。
|
|
102
113
|
- 文本源码工具(如 `shader.read`)使用 `offset` 和 `maxBytes` 分段读取。输出 `truncated=true` 时,下一次把 `nextOffset` 作为新的 `offset`。
|
|
103
|
-
-
|
|
114
|
+
- 截图/相机捕获的单图边长最多8192且最多16777216像素,capture count最多36。完整计划必须在首个effect前满足默认33554432 total pixels、128 MiB peak temporary memory、64 MiB artifact bytes;公开上限为67108864、256 MiB、256 MiB。`orbit`逐图释放,`surround`逐图写入contact sheet后释放,不同时保留所有tile。内联图片仍限512 KiB。
|
|
104
115
|
|
|
105
116
|
示例:
|
|
106
117
|
|
|
@@ -124,7 +135,7 @@ unitycli tools run shader.read --input '{"path":"Assets/Shaders/Probe.shader","m
|
|
|
124
135
|
| 只读工具 | 检查输出数据是否符合预期 |
|
|
125
136
|
| 修改工具 | 重新调用只读工具确认变更 |
|
|
126
137
|
| Live Editor Tool | 读取能力自己的终态业务数据,必要时用读取型Tool验证 |
|
|
127
|
-
|
|
|
138
|
+
| 诊断控制面 | 检查 `doctor` 的独立 Registry/Health、pulse、business、catalog、compile 与 Extension checks |
|
|
128
139
|
|
|
129
140
|
## 错误处理
|
|
130
141
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alpsckr/unitycli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"description": "Windows-first CLI for UnityCLI automation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -28,9 +28,7 @@
|
|
|
28
28
|
"prepack": "npm run build",
|
|
29
29
|
"contracts:validate": "npm run build && node dist/contracts/validate-command-contract.js",
|
|
30
30
|
"architecture:audit": "node scripts/audit-final-architecture.mjs",
|
|
31
|
-
"
|
|
32
|
-
"static-catalog:capture": "node scripts/capture-static-capability-catalog.mjs",
|
|
33
|
-
"architecture:validate": "npm run package-closure:validate && npm run init-contract:validate && npm run instances-contract:validate && node scripts/audit-final-architecture.mjs --strict && node scripts/audit-tool-completion-contract.mjs --strict && node scripts/audit-static-capability-catalog.mjs",
|
|
31
|
+
"architecture:validate": "npm run package-closure:validate && npm run init-contract:validate && npm run instances-contract:validate && node scripts/audit-final-architecture.mjs --strict && node scripts/audit-tool-completion-contract.mjs --strict",
|
|
34
32
|
"init-contract:validate": "node scripts/audit-init-contract.mjs",
|
|
35
33
|
"instances-contract:validate": "node scripts/audit-instances-contract.mjs",
|
|
36
34
|
"instances-live:validate": "node scripts/validation/validate-instance-concurrent-readers.mjs && node scripts/validation/validate-instance-dual-writer.mjs && node scripts/validation/validate-instance-multi-cli.mjs && node scripts/validation/validate-instance-multi-prune.mjs",
|
package/skills/unitycli/SKILL.md
CHANGED
|
@@ -26,6 +26,10 @@ unitycli tools group list <group> --instance <id|projectPath|alias>
|
|
|
26
26
|
unitycli tools search '<k1|k2|...>' --instance <id|projectPath|alias>
|
|
27
27
|
unitycli tools describe <tool> --instance <id|projectPath|alias>
|
|
28
28
|
unitycli tools run <tool> --input '<json>' --instance <id|projectPath|alias>
|
|
29
|
+
unitycli extensions list
|
|
30
|
+
unitycli extensions install <extension>
|
|
31
|
+
unitycli extensions remove <extension>
|
|
32
|
+
unitycli extensions doctor
|
|
29
33
|
|
|
30
34
|
unitycli command --project-path <projectPath>
|
|
31
35
|
unitycli command <name> --field <value> --instance <id|projectPath|alias>
|
|
@@ -33,7 +37,12 @@ unitycli command <name> --field <value> --instance <id|projectPath|alias>
|
|
|
33
37
|
|
|
34
38
|
用户已给出目标或当前 Unity 项目 CWD 能唯一解析时可以直接使用;需要 selector 时优先只传一种,冲突的 `--instance` 与 `command --project-path` 会失败。不了解能力领域时可先看 group,已有业务关键词时可直接 search,第一次执行不了解的 Tool 前先 describe。
|
|
35
39
|
|
|
36
|
-
PowerShell 中以单引号包住内联 JSON 和 `tools search '<k1|k2|...>'
|
|
40
|
+
PowerShell 中以单引号包住内联 JSON 和 `tools search '<k1|k2|...>'`。任务明确要求的业务值优先于 schema default 和 example;default/example只说明合法形状,不能把default/example当作连通性或probe调用,也不作为 smoke 调用。分页、artifact、大输出、弹窗和 host 等待按需读取 `references/operation-protocol.md`。
|
|
41
|
+
|
|
42
|
+
- 等待 CLI 进程退出;`--timeout-ms` 应为 host 保留至少 5000 ms 的进程退出时间。不得手工每100毫秒循环轮询;超时不会停止 Unity、已开始的 effect 或 C# 工作。
|
|
43
|
+
- `instances list` 默认过滤 offline 实例并只列出可用实例;需要完整盘点时使用 `instances list --all`,并读取 `invalidRecordCount`。旧、损坏或不可读记录由 CLI 隔离,不要读取、删除或改写内部记录文件;需要清理时使用 `instances prune --instance <id>`,依据返回的 `removed`、`deferred`、`remaining` 计数。启动、编译或 reload 后只等待有界 readiness。
|
|
44
|
+
- `extensions list` 查看浅状态,`extensions install/remove` 管理安装,`extensions doctor` 执行完整检查;不要把 extension 文件系统检查当成普通 Tool 执行的隐式 probe。
|
|
45
|
+
- `auth`、Unity Hub、Cloud、License 和 proxy 属于外部控制面,不由 `unitycli` 代管。
|
|
37
46
|
|
|
38
47
|
## 通用规则
|
|
39
48
|
|
|
@@ -41,7 +50,7 @@ PowerShell 中以单引号包住内联 JSON 和 `tools search '<k1|k2|...>'`。
|
|
|
41
50
|
- 调用公开 Tool 或 CLI 控制面即为授权。风险 metadata 只描述效果与可选 dry-run;Skill 不增加确认或预定义操作范围。
|
|
42
51
|
- 等待 CLI 进程退出。`ok:true` 后检查任务相关的关键业务字段;返回结果不足或任务明确要求验证时,再使用只读 Tool 或业务 readback。
|
|
43
52
|
- 失败时根据结构化 error 和 `nextActions` 形成恢复决策。`transient:true` 与 `nextActions` 仍是建议,不构成额外授权门。
|
|
44
|
-
- `E_EXECUTION_TIMEOUT`、放行后连接丢失或缺少可信 terminal envelope
|
|
53
|
+
- `E_EXECUTION_TIMEOUT`、放行后连接丢失或缺少可信 terminal envelope只表示没有可信终态。对于`asset.refresh`、player build、Play Mode、Package install/remove/update和`test.run`,先按需发现对应域的`.status` Tool并只传原root `requestId`读取同一Editor session的active phase或exact terminal;status不重放effect。其他能力使用只读Tool或业务readback形成新的业务决策;CLI不自动重放,首次mutation POST后Editor session改变时也不会向新session重投。
|
|
45
54
|
- 状态观察使用 `instances`、`doctor` 或 `editor.state`,不操作内部 registry 或 transport。
|
|
46
55
|
|
|
47
56
|
## 能力扩展
|