@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
package/dist/tools/commands.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { getString } from "../args.js";
|
|
2
2
|
import { failure } from "../output.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { resolveCatalogIndependentOperabilityTool } from "./catalog.js";
|
|
4
|
+
import { projectCatalogDescribe, projectCatalogGroups, projectCatalogPage } from "./catalog-control.js";
|
|
5
|
+
import { groupSummary } from "./tools/group-summaries.js";
|
|
6
|
+
import { dispatchCatalogProjection, dispatchTool } from "./dispatcher.js";
|
|
7
|
+
/** tools discovery 属于直接控制面;只有 tools run 进入公开 Tool dispatcher。 */
|
|
5
8
|
export async function handleToolsCommand(command, positional, flags, runtime, requestId) {
|
|
6
9
|
const flagError = rejectUnknownToolFlags(command, positional, flags, requestId);
|
|
7
10
|
if (flagError)
|
|
@@ -12,24 +15,49 @@ export async function handleToolsCommand(command, positional, flags, runtime, re
|
|
|
12
15
|
}
|
|
13
16
|
if (command === "group") {
|
|
14
17
|
if (positional[0] === "list") {
|
|
15
|
-
|
|
18
|
+
const group = positional[1];
|
|
19
|
+
if (!group)
|
|
20
|
+
return failure(requestId, "TOOLS_GROUP_LIST_NAME_REQUIRED", "Pass a group name: unitycli tools group list <group>.", ["Run unitycli tools group to see all tool groups."]);
|
|
21
|
+
const page = pageSeed(flags);
|
|
22
|
+
return dispatchCatalogProjection("catalog.group-list", { group, ...page }, flags, runtime, requestId, (rootRuntime) => projectCatalogPage(`catalog.group-list:${group}`, page, flags, rootRuntime, requestId, {
|
|
23
|
+
group,
|
|
24
|
+
includeExtensionAvailability: true,
|
|
25
|
+
extraData: { summary: groupSummary(group) },
|
|
26
|
+
projectItem: (tool) => ({ name: tool.name, summary: tool.summary, ...(tool.available === false ? { available: false } : {}) }),
|
|
27
|
+
}, catalogDeadline(rootRuntime)));
|
|
16
28
|
}
|
|
17
|
-
return
|
|
29
|
+
return dispatchCatalogProjection("catalog.groups", {}, flags, runtime, requestId, (rootRuntime) => projectCatalogGroups(flags, rootRuntime, requestId, catalogDeadline(rootRuntime)));
|
|
18
30
|
}
|
|
19
31
|
if (command === "search") {
|
|
20
32
|
const keyword = positional[0] ?? getString(flags, "keyword") ?? getString(flags, "query");
|
|
21
|
-
|
|
33
|
+
const tokens = (keyword ?? "").split("|").map((token) => token.trim()).filter(Boolean);
|
|
34
|
+
if (tokens.length === 0)
|
|
35
|
+
return failure(requestId, "TOOLS_SEARCH_KEYWORD_REQUIRED", "Pass one or more `|`-separated keywords: unitycli tools search <k1|k2|...>.", ["Run unitycli tools group to see tool groups."]);
|
|
36
|
+
if (tokens.length > 16 || tokens.some((token) => token.length > 128))
|
|
37
|
+
return failure(requestId, "E_SCHEMA_INVALID", "tools search accepts at most 16 keywords of at most 128 characters each.", [
|
|
38
|
+
"Reduce the number or length of search keywords before retrying."
|
|
39
|
+
], { path: "$.keyword", expected: "1..16 keywords, each 1..128 characters", actual: keyword });
|
|
40
|
+
const normalizedKeyword = tokens.join("|");
|
|
41
|
+
const page = pageSeed(flags);
|
|
42
|
+
return dispatchCatalogProjection("catalog.search", { keyword: normalizedKeyword, ...page }, flags, runtime, requestId, (rootRuntime) => projectCatalogPage(`catalog.search:${normalizedKeyword.toLowerCase()}`, page, flags, rootRuntime, requestId, {
|
|
43
|
+
keyword: normalizedKeyword,
|
|
44
|
+
projectItem: (tool) => ({ name: tool.name, summary: tool.summary, group: tool.group }),
|
|
45
|
+
}, catalogDeadline(rootRuntime)));
|
|
22
46
|
}
|
|
23
47
|
if (command === "describe") {
|
|
24
|
-
const name = positional[0] ?? getString(flags, "name") ?? getString(flags, "tool");
|
|
25
|
-
|
|
48
|
+
const name = positional[0] ?? getString(flags, "name") ?? getString(flags, "tool") ?? "";
|
|
49
|
+
if (!name)
|
|
50
|
+
return failure(requestId, "TOOLS_DESCRIBE_NAME_REQUIRED", "Pass a tool name: unitycli tools describe <tool>.", ["Run unitycli tools group to see tool groups."]);
|
|
51
|
+
if (resolveCatalogIndependentOperabilityTool(name))
|
|
52
|
+
return projectCatalogDescribe(name, flags, runtime, requestId);
|
|
53
|
+
return dispatchCatalogProjection("catalog.describe", { name }, flags, runtime, requestId, (rootRuntime) => projectCatalogDescribe(name, flags, rootRuntime, requestId, catalogDeadline(rootRuntime)));
|
|
26
54
|
}
|
|
27
55
|
return failure(requestId, "UNKNOWN_TOOLS_COMMAND", "Expected tools group, tools group list <group>, tools describe <tool>, tools run <tool>, or tools search <k1|k2|...>.", [
|
|
28
56
|
"Run unitycli tools group to see tool categories.",
|
|
29
|
-
"Run unitycli tools describe <tool> for full metadata."
|
|
57
|
+
"Run unitycli tools describe <tool> for full metadata.",
|
|
30
58
|
]);
|
|
31
59
|
}
|
|
32
|
-
/** 公开 Tool 参数只允许 JSON input
|
|
60
|
+
/** 公开 Tool 参数只允许 JSON input 与明确命令控制项。 */
|
|
33
61
|
function rejectUnknownToolFlags(command, positional, flags, requestId) {
|
|
34
62
|
const common = ["instance", "pretty"];
|
|
35
63
|
const pagedDiscovery = command === "search" || command === "group" && positional[0] === "list";
|
|
@@ -40,13 +68,18 @@ function rejectUnknownToolFlags(command, positional, flags, requestId) {
|
|
|
40
68
|
if (!unknown)
|
|
41
69
|
return undefined;
|
|
42
70
|
return failure(requestId, "E_UNKNOWN_OPTION", `Unknown option for tools ${command ?? ""}: --${unknown}.`, [
|
|
43
|
-
command === "run" ? "Put business fields inside --input <json>." : "Run unitycli --help for the supported options."
|
|
71
|
+
command === "run" ? "Put business fields inside --input <json>." : "Run unitycli --help for the supported options.",
|
|
44
72
|
], { option: `--${unknown}`, command: `tools ${command ?? ""}`.trim(), positional });
|
|
45
73
|
}
|
|
46
74
|
function pageSeed(flags) {
|
|
47
75
|
return {
|
|
48
76
|
...(flags["page-size"] !== undefined ? { pageSize: Number(flags["page-size"]) } : {}),
|
|
49
|
-
...(flags.cursor
|
|
77
|
+
...(typeof flags.cursor === "string" ? { cursor: flags.cursor } : {}),
|
|
50
78
|
};
|
|
51
79
|
}
|
|
80
|
+
function catalogDeadline(runtime) {
|
|
81
|
+
return runtime.rootAdmissions?.editor?.executionAbsoluteDeadlineMs
|
|
82
|
+
?? runtime.rootAdmissions?.runtime?.executionAbsoluteDeadlineMs
|
|
83
|
+
?? runtime.rootAdmission?.executionAbsoluteDeadlineMs;
|
|
84
|
+
}
|
|
52
85
|
//# sourceMappingURL=commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/tools/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAqB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/tools/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/define.js
CHANGED
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
* TS Tool 声明工厂与运行时注册表。
|
|
3
3
|
* 一个能力文件默认导出一个 defineTool;公开 schema 由构建期从 Request/Result 类型生成并注入。
|
|
4
4
|
*/
|
|
5
|
+
import { isRegisteredToolName, MAX_TOOL_NAME_UTF8_BYTES } from "../tool-name.js";
|
|
5
6
|
const registry = new Map();
|
|
6
7
|
/**
|
|
7
8
|
* 声明一个 TS 工具。在 src/tools/<域>/<工具>.ts 中 `export default defineTool({...})`。
|
|
8
9
|
* 返回原 definition(便于文件 default 导出)。
|
|
9
10
|
*/
|
|
10
11
|
export function defineTool(definition) {
|
|
11
|
-
if (!definition.name)
|
|
12
|
-
throw new Error(
|
|
12
|
+
if (!isRegisteredToolName(definition.name))
|
|
13
|
+
throw new Error(`defineTool name must use the registered Tool syntax and fit ${MAX_TOOL_NAME_UTF8_BYTES} UTF-8 bytes`);
|
|
13
14
|
if (registry.has(definition.name)) {
|
|
14
15
|
throw new Error(`duplicate defineTool registration: ${definition.name}`);
|
|
15
16
|
}
|
package/dist/tools/define.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/tools/define.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/tools/define.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAyEjF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAa,UAAsC;IAC3E,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,wBAAwB,cAAc,CAAC,CAAC;IACnK,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAA4B,EAAE,CAAC,CAAC;IAC5E,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,WAAoC,EAAE,YAAsC;IACzH,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;AACpC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;SACrC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AACxC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type BridgeRuntime } from "../bridge/index.js";
|
|
1
|
+
import { SessionSupervisor, type BridgeRuntime, type DiscoveryProvenance, type RootAdmissionLease } from "../bridge/index.js";
|
|
2
|
+
import { selectObservationInstanceForFlags, type InstanceTarget } from "../instances.js";
|
|
2
3
|
import { EditorBlockerObserver } from "../editor-blocker-observer.js";
|
|
3
4
|
import type { ProjectToolRuntime } from "../project-tool-discovery.js";
|
|
4
5
|
import type { CliResult } from "../types.js";
|
|
@@ -11,17 +12,63 @@ export type ToolsRuntime = ProjectToolRuntime & Partial<BridgeRuntime> & {
|
|
|
11
12
|
status: number;
|
|
12
13
|
text: () => Promise<string>;
|
|
13
14
|
}>;
|
|
15
|
+
/** 仅供隔离测试观察准入边界。 */
|
|
16
|
+
createSessionSupervisor?: (flags: Record<string, string | boolean>, runtime: BridgeRuntime) => SessionSupervisor;
|
|
17
|
+
/** live descriptor discovery 的调用级 exact session/listener provenance。 */
|
|
18
|
+
discoveryProvenances?: Partial<Record<InstanceTarget, DiscoveryProvenance>>;
|
|
19
|
+
};
|
|
20
|
+
export interface ToolInvocationContext {
|
|
21
|
+
readonly timeoutMs: number;
|
|
22
|
+
readonly admissionAbsoluteDeadlineMs: number;
|
|
23
|
+
readonly discoveryProvenances?: Partial<Record<InstanceTarget, DiscoveryProvenance>>;
|
|
24
|
+
}
|
|
25
|
+
/** command 与 tools run 在第一次 live discovery 前只创建一次顶层 admission deadline。 */
|
|
26
|
+
export declare function beginToolInvocation(flags: Record<string, string | boolean>, requestId: string, timeoutMetadata?: Pick<ToolMetadata, "timeoutMs">, startedAtMs?: number): {
|
|
27
|
+
ok: true;
|
|
28
|
+
context: ToolInvocationContext;
|
|
29
|
+
} | {
|
|
30
|
+
ok: false;
|
|
31
|
+
result: CliResult;
|
|
14
32
|
};
|
|
15
33
|
/**
|
|
16
34
|
* Tool 分发顺序固定为输入解析、catalog 解析、schema 校验、目标选择、执行与 envelope。
|
|
17
35
|
* 调用即授权,只保留 schema、目标与 descriptor 的正确性验证。
|
|
18
36
|
*/
|
|
19
|
-
export declare function dispatchTool(name: string | undefined, positionalTarget: string | undefined, flags: Record<string, string | boolean>, runtime: ToolsRuntime, requestId: string, seed?: Record<string, unknown>, resolvedTool?: ToolMetadata): Promise<CliResult>;
|
|
37
|
+
export declare function dispatchTool(name: string | undefined, positionalTarget: string | undefined, flags: Record<string, string | boolean>, runtime: ToolsRuntime, requestId: string, seed?: Record<string, unknown>, resolvedTool?: ToolMetadata, invocationContext?: ToolInvocationContext): Promise<CliResult>;
|
|
38
|
+
/**
|
|
39
|
+
* live exact descriptor 在真实 catalog admission 上读取,并把 exact listener provenance 带回同一顶层调用。
|
|
40
|
+
* fixture 仍走相同 resolver,但没有伪造 registry identity。
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveCatalogToolForInvocation(name: string, flags: Record<string, string | boolean>, runtime: ToolsRuntime, requestId: string, context: ToolInvocationContext, fallbackName?: string): Promise<({
|
|
43
|
+
ok: true;
|
|
44
|
+
tool?: ToolMetadata;
|
|
45
|
+
context: ToolInvocationContext;
|
|
46
|
+
}) | (CliResult & {
|
|
47
|
+
ok: false;
|
|
48
|
+
})>;
|
|
20
49
|
/** 公开统一catalog对每个在线target session分别占一个slot,禁止跨池旁路输出。 */
|
|
21
50
|
export declare function dispatchCatalogProjection(command: string, input: Record<string, unknown>, flags: Record<string, string | boolean>, runtime: ToolsRuntime, requestId: string, execute: (rootRuntime: ToolsRuntime) => Promise<CliResult>): Promise<CliResult>;
|
|
22
|
-
/**
|
|
23
|
-
export declare function
|
|
51
|
+
/** 迟到cleanup只接管仍由CLI持有的未消费lease。 */
|
|
52
|
+
export declare function completeUnconsumedRootAdmission(admission: RootAdmissionLease, supervisor: Pick<SessionSupervisor, "completeRootAdmission">): Promise<void>;
|
|
53
|
+
/** 首个effect barrier在公开timeout后永久关闭;此前已跨过时保持原owner。 */
|
|
54
|
+
export declare class LocalEffectBarrier {
|
|
55
|
+
private readonly toolName;
|
|
56
|
+
private readonly absoluteDeadlineMs;
|
|
57
|
+
private readonly now;
|
|
58
|
+
private closed;
|
|
59
|
+
private committed;
|
|
60
|
+
constructor(toolName: string, absoluteDeadlineMs: number, now?: () => number);
|
|
61
|
+
readonly commitEffect: () => Promise<void>;
|
|
62
|
+
readonly close: () => void;
|
|
63
|
+
}
|
|
64
|
+
export interface LocalExecutionDeadlineHooks {
|
|
65
|
+
closeEffectBarrier?: () => void;
|
|
66
|
+
cleanupAfterLateSettlement?: () => Promise<void>;
|
|
67
|
+
now?: () => number;
|
|
68
|
+
}
|
|
69
|
+
/** Tool自己的wait未按时settle时只关闭公开terminal;每次settlement只执行一次精确cleanup。 */
|
|
70
|
+
export declare function settleToolExecutionAtDeadline(toolName: string, requestId: string, mutation: boolean, absoluteDeadlineMs: number, run: () => Promise<CliResult>, hooks?: LocalExecutionDeadlineHooks): Promise<CliResult>;
|
|
24
71
|
/** TS Tool 的 terminal proof 与 C# driver 使用同一 execution-class 约束。 */
|
|
25
72
|
export declare function validateLocalCompletionProof(toolName: string, completion: GeneratedToolCompletionContract | NonNullable<ToolMetadata["completionContract"]>, result: unknown, input?: Record<string, unknown>): void;
|
|
26
|
-
/** Bridge
|
|
27
|
-
export declare function enrichTargetFailureWithDialogBlocker(result: CliResult, flags: Record<string, string | boolean>, runtime: ToolsRuntime, observer?: EditorBlockerObserver): Promise<CliResult>;
|
|
73
|
+
/** Bridge wrapper失败只在原absolute deadline内追加一次有界modal诊断。 */
|
|
74
|
+
export declare function enrichTargetFailureWithDialogBlocker(result: CliResult, flags: Record<string, string | boolean>, runtime: ToolsRuntime, absoluteDeadlineMs: number, observer?: EditorBlockerObserver, selectObservation?: typeof selectObservationInstanceForFlags, now?: () => number): Promise<CliResult>;
|