unity-open-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +145 -0
- package/dist/batch-spawn.d.ts +33 -0
- package/dist/batch-spawn.js +329 -0
- package/dist/batch-spawn.js.map +1 -0
- package/dist/capabilities/build-capabilities.d.ts +155 -0
- package/dist/capabilities/build-capabilities.js +475 -0
- package/dist/capabilities/build-capabilities.js.map +1 -0
- package/dist/capabilities/list-rules.d.ts +45 -0
- package/dist/capabilities/list-rules.js +121 -0
- package/dist/capabilities/list-rules.js.map +1 -0
- package/dist/capabilities/rule-catalog.d.ts +44 -0
- package/dist/capabilities/rule-catalog.js +330 -0
- package/dist/capabilities/rule-catalog.js.map +1 -0
- package/dist/capabilities/tool-groups.d.ts +53 -0
- package/dist/capabilities/tool-groups.js +396 -0
- package/dist/capabilities/tool-groups.js.map +1 -0
- package/dist/cli/args.d.ts +36 -0
- package/dist/cli/args.js +239 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/cli.d.ts +23 -0
- package/dist/cli/cli.js +125 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/commands.d.ts +37 -0
- package/dist/cli/commands.js +277 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/ping-poller.d.ts +81 -0
- package/dist/cli/ping-poller.js +161 -0
- package/dist/cli/ping-poller.js.map +1 -0
- package/dist/compat.d.ts +32 -0
- package/dist/compat.js +121 -0
- package/dist/compat.js.map +1 -0
- package/dist/compiler-errors.d.ts +31 -0
- package/dist/compiler-errors.js +91 -0
- package/dist/compiler-errors.js.map +1 -0
- package/dist/compressible-router.d.ts +18 -0
- package/dist/compressible-router.js +191 -0
- package/dist/compressible-router.js.map +1 -0
- package/dist/compression/asset-model.d.ts +86 -0
- package/dist/compression/asset-model.js +15 -0
- package/dist/compression/asset-model.js.map +1 -0
- package/dist/compression/compact.d.ts +153 -0
- package/dist/compression/compact.js +501 -0
- package/dist/compression/compact.js.map +1 -0
- package/dist/dialog-dismiss.d.ts +197 -0
- package/dist/dialog-dismiss.js +533 -0
- package/dist/dialog-dismiss.js.map +1 -0
- package/dist/event-stream.d.ts +60 -0
- package/dist/event-stream.js +228 -0
- package/dist/event-stream.js.map +1 -0
- package/dist/gate-error.d.ts +18 -0
- package/dist/gate-error.js +11 -0
- package/dist/gate-error.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +146 -0
- package/dist/index.js.map +1 -0
- package/dist/instance-discovery.d.ts +117 -0
- package/dist/instance-discovery.js +202 -0
- package/dist/instance-discovery.js.map +1 -0
- package/dist/live-client.d.ts +68 -0
- package/dist/live-client.js +583 -0
- package/dist/live-client.js.map +1 -0
- package/dist/offline.d.ts +75 -0
- package/dist/offline.js +1495 -0
- package/dist/offline.js.map +1 -0
- package/dist/package-version.d.ts +8 -0
- package/dist/package-version.js +41 -0
- package/dist/package-version.js.map +1 -0
- package/dist/ping-cache.d.ts +15 -0
- package/dist/ping-cache.js +10 -0
- package/dist/ping-cache.js.map +1 -0
- package/dist/project-health.d.ts +52 -0
- package/dist/project-health.js +177 -0
- package/dist/project-health.js.map +1 -0
- package/dist/resource-router.d.ts +26 -0
- package/dist/resource-router.js +143 -0
- package/dist/resource-router.js.map +1 -0
- package/dist/resources/index.d.ts +6 -0
- package/dist/resources/index.js +40 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/results.d.ts +14 -0
- package/dist/results.js +22 -0
- package/dist/results.js.map +1 -0
- package/dist/router.d.ts +5 -0
- package/dist/router.js +2 -0
- package/dist/router.js.map +1 -0
- package/dist/routers.d.ts +44 -0
- package/dist/routers.js +73 -0
- package/dist/routers.js.map +1 -0
- package/dist/schema-defaults.d.ts +10 -0
- package/dist/schema-defaults.js +43 -0
- package/dist/schema-defaults.js.map +1 -0
- package/dist/skill/client-paths.d.ts +33 -0
- package/dist/skill/client-paths.js +131 -0
- package/dist/skill/client-paths.js.map +1 -0
- package/dist/skill/generate-skill.d.ts +38 -0
- package/dist/skill/generate-skill.js +389 -0
- package/dist/skill/generate-skill.js.map +1 -0
- package/dist/tool-router.d.ts +40 -0
- package/dist/tool-router.js +778 -0
- package/dist/tool-router.js.map +1 -0
- package/dist/tool-session-state.d.ts +55 -0
- package/dist/tool-session-state.js +116 -0
- package/dist/tool-session-state.js.map +1 -0
- package/dist/tools/agent-capabilities.d.ts +2 -0
- package/dist/tools/agent-capabilities.js +24 -0
- package/dist/tools/agent-capabilities.js.map +1 -0
- package/dist/tools/animation-create.d.ts +2 -0
- package/dist/tools/animation-create.js +31 -0
- package/dist/tools/animation-create.js.map +1 -0
- package/dist/tools/animation-get-data.d.ts +2 -0
- package/dist/tools/animation-get-data.js +23 -0
- package/dist/tools/animation-get-data.js.map +1 -0
- package/dist/tools/animation-modify.d.ts +2 -0
- package/dist/tools/animation-modify.js +45 -0
- package/dist/tools/animation-modify.js.map +1 -0
- package/dist/tools/animator-create.d.ts +2 -0
- package/dist/tools/animator-create.js +31 -0
- package/dist/tools/animator-create.js.map +1 -0
- package/dist/tools/animator-get-data.d.ts +2 -0
- package/dist/tools/animator-get-data.js +23 -0
- package/dist/tools/animator-get-data.js.map +1 -0
- package/dist/tools/animator-modify.d.ts +2 -0
- package/dist/tools/animator-modify.js +51 -0
- package/dist/tools/animator-modify.js.map +1 -0
- package/dist/tools/apply-fix.d.ts +2 -0
- package/dist/tools/apply-fix.js +39 -0
- package/dist/tools/apply-fix.js.map +1 -0
- package/dist/tools/assets-copy.d.ts +2 -0
- package/dist/tools/assets-copy.js +50 -0
- package/dist/tools/assets-copy.js.map +1 -0
- package/dist/tools/assets-create-folder.d.ts +2 -0
- package/dist/tools/assets-create-folder.js +53 -0
- package/dist/tools/assets-create-folder.js.map +1 -0
- package/dist/tools/assets-delete.d.ts +2 -0
- package/dist/tools/assets-delete.js +34 -0
- package/dist/tools/assets-delete.js.map +1 -0
- package/dist/tools/assets-move.d.ts +2 -0
- package/dist/tools/assets-move.js +50 -0
- package/dist/tools/assets-move.js.map +1 -0
- package/dist/tools/assets-refresh.d.ts +2 -0
- package/dist/tools/assets-refresh.js +37 -0
- package/dist/tools/assets-refresh.js.map +1 -0
- package/dist/tools/baseline-create.d.ts +2 -0
- package/dist/tools/baseline-create.js +20 -0
- package/dist/tools/baseline-create.js.map +1 -0
- package/dist/tools/bridge-status.d.ts +2 -0
- package/dist/tools/bridge-status.js +44 -0
- package/dist/tools/bridge-status.js.map +1 -0
- package/dist/tools/build-get-active-target.d.ts +2 -0
- package/dist/tools/build-get-active-target.js +16 -0
- package/dist/tools/build-get-active-target.js.map +1 -0
- package/dist/tools/build-get-defines.d.ts +2 -0
- package/dist/tools/build-get-defines.js +16 -0
- package/dist/tools/build-get-defines.js.map +1 -0
- package/dist/tools/build-get-scenes.d.ts +2 -0
- package/dist/tools/build-get-scenes.js +16 -0
- package/dist/tools/build-get-scenes.js.map +1 -0
- package/dist/tools/build-get-targets.d.ts +2 -0
- package/dist/tools/build-get-targets.js +18 -0
- package/dist/tools/build-get-targets.js.map +1 -0
- package/dist/tools/build-set-defines.d.ts +2 -0
- package/dist/tools/build-set-defines.js +50 -0
- package/dist/tools/build-set-defines.js.map +1 -0
- package/dist/tools/build-set-scenes.d.ts +2 -0
- package/dist/tools/build-set-scenes.js +60 -0
- package/dist/tools/build-set-scenes.js.map +1 -0
- package/dist/tools/build-set-target.d.ts +2 -0
- package/dist/tools/build-set-target.js +49 -0
- package/dist/tools/build-set-target.js.map +1 -0
- package/dist/tools/build-start.d.ts +2 -0
- package/dist/tools/build-start.js +64 -0
- package/dist/tools/build-start.js.map +1 -0
- package/dist/tools/capture-inline.d.ts +2 -0
- package/dist/tools/capture-inline.js +57 -0
- package/dist/tools/capture-inline.js.map +1 -0
- package/dist/tools/checkpoint-create.d.ts +2 -0
- package/dist/tools/checkpoint-create.js +16 -0
- package/dist/tools/checkpoint-create.js.map +1 -0
- package/dist/tools/compile-check.d.ts +2 -0
- package/dist/tools/compile-check.js +26 -0
- package/dist/tools/compile-check.js.map +1 -0
- package/dist/tools/component-add.d.ts +2 -0
- package/dist/tools/component-add.js +47 -0
- package/dist/tools/component-add.js.map +1 -0
- package/dist/tools/component-destroy.d.ts +2 -0
- package/dist/tools/component-destroy.js +46 -0
- package/dist/tools/component-destroy.js.map +1 -0
- package/dist/tools/component-get.d.ts +2 -0
- package/dist/tools/component-get.js +54 -0
- package/dist/tools/component-get.js.map +1 -0
- package/dist/tools/component-list-all.d.ts +2 -0
- package/dist/tools/component-list-all.js +38 -0
- package/dist/tools/component-list-all.js.map +1 -0
- package/dist/tools/component-modify.d.ts +2 -0
- package/dist/tools/component-modify.js +80 -0
- package/dist/tools/component-modify.js.map +1 -0
- package/dist/tools/console-clear.d.ts +2 -0
- package/dist/tools/console-clear.js +19 -0
- package/dist/tools/console-clear.js.map +1 -0
- package/dist/tools/console-log.d.ts +2 -0
- package/dist/tools/console-log.js +47 -0
- package/dist/tools/console-log.js.map +1 -0
- package/dist/tools/delta.d.ts +2 -0
- package/dist/tools/delta.js +17 -0
- package/dist/tools/delta.js.map +1 -0
- package/dist/tools/editor-add-layer.d.ts +2 -0
- package/dist/tools/editor-add-layer.js +51 -0
- package/dist/tools/editor-add-layer.js.map +1 -0
- package/dist/tools/editor-add-tag.d.ts +2 -0
- package/dist/tools/editor-add-tag.js +41 -0
- package/dist/tools/editor-add-tag.js.map +1 -0
- package/dist/tools/editor-get-layers.d.ts +2 -0
- package/dist/tools/editor-get-layers.js +22 -0
- package/dist/tools/editor-get-layers.js.map +1 -0
- package/dist/tools/editor-get-tags.d.ts +2 -0
- package/dist/tools/editor-get-tags.js +19 -0
- package/dist/tools/editor-get-tags.js.map +1 -0
- package/dist/tools/editor-redo.d.ts +2 -0
- package/dist/tools/editor-redo.js +27 -0
- package/dist/tools/editor-redo.js.map +1 -0
- package/dist/tools/editor-set-state.d.ts +2 -0
- package/dist/tools/editor-set-state.js +57 -0
- package/dist/tools/editor-set-state.js.map +1 -0
- package/dist/tools/editor-status.d.ts +2 -0
- package/dist/tools/editor-status.js +17 -0
- package/dist/tools/editor-status.js.map +1 -0
- package/dist/tools/editor-undo.d.ts +2 -0
- package/dist/tools/editor-undo.js +29 -0
- package/dist/tools/editor-undo.js.map +1 -0
- package/dist/tools/execute-csharp.d.ts +2 -0
- package/dist/tools/execute-csharp.js +74 -0
- package/dist/tools/execute-csharp.js.map +1 -0
- package/dist/tools/execute-menu.d.ts +2 -0
- package/dist/tools/execute-menu.js +40 -0
- package/dist/tools/execute-menu.js.map +1 -0
- package/dist/tools/find-members.d.ts +2 -0
- package/dist/tools/find-members.js +56 -0
- package/dist/tools/find-members.js.map +1 -0
- package/dist/tools/find-references.d.ts +2 -0
- package/dist/tools/find-references.js +29 -0
- package/dist/tools/find-references.js.map +1 -0
- package/dist/tools/gameobject-create.d.ts +2 -0
- package/dist/tools/gameobject-create.js +61 -0
- package/dist/tools/gameobject-create.js.map +1 -0
- package/dist/tools/gameobject-destroy.d.ts +2 -0
- package/dist/tools/gameobject-destroy.js +38 -0
- package/dist/tools/gameobject-destroy.js.map +1 -0
- package/dist/tools/gameobject-duplicate.d.ts +2 -0
- package/dist/tools/gameobject-duplicate.js +40 -0
- package/dist/tools/gameobject-duplicate.js.map +1 -0
- package/dist/tools/gameobject-find.d.ts +2 -0
- package/dist/tools/gameobject-find.js +59 -0
- package/dist/tools/gameobject-find.js.map +1 -0
- package/dist/tools/gameobject-modify.d.ts +2 -0
- package/dist/tools/gameobject-modify.js +76 -0
- package/dist/tools/gameobject-modify.js.map +1 -0
- package/dist/tools/gameobject-set-parent.d.ts +2 -0
- package/dist/tools/gameobject-set-parent.js +55 -0
- package/dist/tools/gameobject-set-parent.js.map +1 -0
- package/dist/tools/gate-budget-estimate.d.ts +2 -0
- package/dist/tools/gate-budget-estimate.js +59 -0
- package/dist/tools/gate-budget-estimate.js.map +1 -0
- package/dist/tools/generate-skill.d.ts +2 -0
- package/dist/tools/generate-skill.js +37 -0
- package/dist/tools/generate-skill.js.map +1 -0
- package/dist/tools/impact-preview.d.ts +2 -0
- package/dist/tools/impact-preview.js +50 -0
- package/dist/tools/impact-preview.js.map +1 -0
- package/dist/tools/index.d.ts +30 -0
- package/dist/tools/index.js +576 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inputsystem-action-add.d.ts +2 -0
- package/dist/tools/inputsystem-action-add.js +61 -0
- package/dist/tools/inputsystem-action-add.js.map +1 -0
- package/dist/tools/inputsystem-actionmap-add.d.ts +2 -0
- package/dist/tools/inputsystem-actionmap-add.js +31 -0
- package/dist/tools/inputsystem-actionmap-add.js.map +1 -0
- package/dist/tools/inputsystem-asset-create.d.ts +2 -0
- package/dist/tools/inputsystem-asset-create.js +35 -0
- package/dist/tools/inputsystem-asset-create.js.map +1 -0
- package/dist/tools/inputsystem-binding-add.d.ts +2 -0
- package/dist/tools/inputsystem-binding-add.js +48 -0
- package/dist/tools/inputsystem-binding-add.js.map +1 -0
- package/dist/tools/inputsystem-binding-composite-add.d.ts +2 -0
- package/dist/tools/inputsystem-binding-composite-add.js +51 -0
- package/dist/tools/inputsystem-binding-composite-add.js.map +1 -0
- package/dist/tools/inputsystem-controlscheme-add.d.ts +2 -0
- package/dist/tools/inputsystem-controlscheme-add.js +43 -0
- package/dist/tools/inputsystem-controlscheme-add.js.map +1 -0
- package/dist/tools/inputsystem-get.d.ts +2 -0
- package/dist/tools/inputsystem-get.js +22 -0
- package/dist/tools/inputsystem-get.js.map +1 -0
- package/dist/tools/invoke-method.d.ts +2 -0
- package/dist/tools/invoke-method.js +104 -0
- package/dist/tools/invoke-method.js.map +1 -0
- package/dist/tools/list-assets.d.ts +2 -0
- package/dist/tools/list-assets.js +30 -0
- package/dist/tools/list-assets.js.map +1 -0
- package/dist/tools/list-rules.d.ts +2 -0
- package/dist/tools/list-rules.js +27 -0
- package/dist/tools/list-rules.js.map +1 -0
- package/dist/tools/manage-tools.d.ts +2 -0
- package/dist/tools/manage-tools.js +47 -0
- package/dist/tools/manage-tools.js.map +1 -0
- package/dist/tools/material-create.d.ts +2 -0
- package/dist/tools/material-create.js +37 -0
- package/dist/tools/material-create.js.map +1 -0
- package/dist/tools/material-get-keywords.d.ts +2 -0
- package/dist/tools/material-get-keywords.js +23 -0
- package/dist/tools/material-get-keywords.js.map +1 -0
- package/dist/tools/material-get-properties.d.ts +2 -0
- package/dist/tools/material-get-properties.js +32 -0
- package/dist/tools/material-get-properties.js.map +1 -0
- package/dist/tools/material-set-keyword.d.ts +2 -0
- package/dist/tools/material-set-keyword.js +42 -0
- package/dist/tools/material-set-keyword.js.map +1 -0
- package/dist/tools/material-set-property.d.ts +2 -0
- package/dist/tools/material-set-property.js +49 -0
- package/dist/tools/material-set-property.js.map +1 -0
- package/dist/tools/material-set-shader.d.ts +2 -0
- package/dist/tools/material-set-shader.js +39 -0
- package/dist/tools/material-set-shader.js.map +1 -0
- package/dist/tools/mutation-explain.d.ts +2 -0
- package/dist/tools/mutation-explain.js +44 -0
- package/dist/tools/mutation-explain.js.map +1 -0
- package/dist/tools/navigation-agent-add.d.ts +2 -0
- package/dist/tools/navigation-agent-add.js +38 -0
- package/dist/tools/navigation-agent-add.js.map +1 -0
- package/dist/tools/navigation-agent-set-destination.d.ts +2 -0
- package/dist/tools/navigation-agent-set-destination.js +33 -0
- package/dist/tools/navigation-agent-set-destination.js.map +1 -0
- package/dist/tools/navigation-get.d.ts +2 -0
- package/dist/tools/navigation-get.js +20 -0
- package/dist/tools/navigation-get.js.map +1 -0
- package/dist/tools/navigation-link-add.d.ts +2 -0
- package/dist/tools/navigation-link-add.js +57 -0
- package/dist/tools/navigation-link-add.js.map +1 -0
- package/dist/tools/navigation-list.d.ts +2 -0
- package/dist/tools/navigation-list.js +16 -0
- package/dist/tools/navigation-list.js.map +1 -0
- package/dist/tools/navigation-modifier-add.d.ts +2 -0
- package/dist/tools/navigation-modifier-add.js +42 -0
- package/dist/tools/navigation-modifier-add.js.map +1 -0
- package/dist/tools/navigation-modifier-volume-add.d.ts +2 -0
- package/dist/tools/navigation-modifier-volume-add.js +41 -0
- package/dist/tools/navigation-modifier-volume-add.js.map +1 -0
- package/dist/tools/navigation-modify.d.ts +2 -0
- package/dist/tools/navigation-modify.js +47 -0
- package/dist/tools/navigation-modify.js.map +1 -0
- package/dist/tools/navigation-set-bake-settings.d.ts +2 -0
- package/dist/tools/navigation-set-bake-settings.js +42 -0
- package/dist/tools/navigation-set-bake-settings.js.map +1 -0
- package/dist/tools/navigation-surface-add.d.ts +2 -0
- package/dist/tools/navigation-surface-add.js +62 -0
- package/dist/tools/navigation-surface-add.js.map +1 -0
- package/dist/tools/navigation-surface-bake.d.ts +2 -0
- package/dist/tools/navigation-surface-bake.js +30 -0
- package/dist/tools/navigation-surface-bake.js.map +1 -0
- package/dist/tools/object-get-data.d.ts +2 -0
- package/dist/tools/object-get-data.js +59 -0
- package/dist/tools/object-get-data.js.map +1 -0
- package/dist/tools/object-modify.d.ts +2 -0
- package/dist/tools/object-modify.js +73 -0
- package/dist/tools/object-modify.js.map +1 -0
- package/dist/tools/package-add.d.ts +2 -0
- package/dist/tools/package-add.js +42 -0
- package/dist/tools/package-add.js.map +1 -0
- package/dist/tools/package-check.d.ts +2 -0
- package/dist/tools/package-check.js +27 -0
- package/dist/tools/package-check.js.map +1 -0
- package/dist/tools/package-get-dependencies.d.ts +2 -0
- package/dist/tools/package-get-dependencies.js +17 -0
- package/dist/tools/package-get-dependencies.js.map +1 -0
- package/dist/tools/package-get-info.d.ts +2 -0
- package/dist/tools/package-get-info.js +33 -0
- package/dist/tools/package-get-info.js.map +1 -0
- package/dist/tools/package-list.d.ts +2 -0
- package/dist/tools/package-list.js +57 -0
- package/dist/tools/package-list.js.map +1 -0
- package/dist/tools/package-remove.d.ts +2 -0
- package/dist/tools/package-remove.js +40 -0
- package/dist/tools/package-remove.js.map +1 -0
- package/dist/tools/package-search.d.ts +2 -0
- package/dist/tools/package-search.js +42 -0
- package/dist/tools/package-search.js.map +1 -0
- package/dist/tools/particle-system-get.d.ts +2 -0
- package/dist/tools/particle-system-get.js +42 -0
- package/dist/tools/particle-system-get.js.map +1 -0
- package/dist/tools/particle-system-modify.d.ts +2 -0
- package/dist/tools/particle-system-modify.js +73 -0
- package/dist/tools/particle-system-modify.js.map +1 -0
- package/dist/tools/ping.d.ts +2 -0
- package/dist/tools/ping.js +10 -0
- package/dist/tools/ping.js.map +1 -0
- package/dist/tools/prefab-apply.d.ts +2 -0
- package/dist/tools/prefab-apply.js +39 -0
- package/dist/tools/prefab-apply.js.map +1 -0
- package/dist/tools/prefab-close.d.ts +2 -0
- package/dist/tools/prefab-close.js +29 -0
- package/dist/tools/prefab-close.js.map +1 -0
- package/dist/tools/prefab-create.d.ts +2 -0
- package/dist/tools/prefab-create.js +52 -0
- package/dist/tools/prefab-create.js.map +1 -0
- package/dist/tools/prefab-get-overrides.d.ts +2 -0
- package/dist/tools/prefab-get-overrides.js +27 -0
- package/dist/tools/prefab-get-overrides.js.map +1 -0
- package/dist/tools/prefab-instantiate.d.ts +2 -0
- package/dist/tools/prefab-instantiate.js +52 -0
- package/dist/tools/prefab-instantiate.js.map +1 -0
- package/dist/tools/prefab-open.d.ts +2 -0
- package/dist/tools/prefab-open.js +30 -0
- package/dist/tools/prefab-open.js.map +1 -0
- package/dist/tools/prefab-revert.d.ts +2 -0
- package/dist/tools/prefab-revert.js +37 -0
- package/dist/tools/prefab-revert.js.map +1 -0
- package/dist/tools/prefab-save.d.ts +2 -0
- package/dist/tools/prefab-save.js +24 -0
- package/dist/tools/prefab-save.js.map +1 -0
- package/dist/tools/prefab-status.d.ts +2 -0
- package/dist/tools/prefab-status.js +29 -0
- package/dist/tools/prefab-status.js.map +1 -0
- package/dist/tools/prefab-unpack.d.ts +2 -0
- package/dist/tools/prefab-unpack.js +43 -0
- package/dist/tools/prefab-unpack.js.map +1 -0
- package/dist/tools/probuilder-create-shape.d.ts +2 -0
- package/dist/tools/probuilder-create-shape.js +40 -0
- package/dist/tools/probuilder-create-shape.js.map +1 -0
- package/dist/tools/probuilder-delete-faces.d.ts +2 -0
- package/dist/tools/probuilder-delete-faces.js +47 -0
- package/dist/tools/probuilder-delete-faces.js.map +1 -0
- package/dist/tools/probuilder-extrude.d.ts +2 -0
- package/dist/tools/probuilder-extrude.js +58 -0
- package/dist/tools/probuilder-extrude.js.map +1 -0
- package/dist/tools/probuilder-get-mesh-info.d.ts +2 -0
- package/dist/tools/probuilder-get-mesh-info.js +21 -0
- package/dist/tools/probuilder-get-mesh-info.js.map +1 -0
- package/dist/tools/probuilder-set-face-material.d.ts +2 -0
- package/dist/tools/probuilder-set-face-material.js +53 -0
- package/dist/tools/probuilder-set-face-material.js.map +1 -0
- package/dist/tools/profiler-capture.d.ts +2 -0
- package/dist/tools/profiler-capture.js +84 -0
- package/dist/tools/profiler-capture.js.map +1 -0
- package/dist/tools/profiler-clear-data.d.ts +2 -0
- package/dist/tools/profiler-clear-data.js +20 -0
- package/dist/tools/profiler-clear-data.js.map +1 -0
- package/dist/tools/profiler-enable-module.d.ts +2 -0
- package/dist/tools/profiler-enable-module.js +32 -0
- package/dist/tools/profiler-enable-module.js.map +1 -0
- package/dist/tools/profiler-get-config.d.ts +2 -0
- package/dist/tools/profiler-get-config.js +21 -0
- package/dist/tools/profiler-get-config.js.map +1 -0
- package/dist/tools/profiler-get-script-stats.d.ts +2 -0
- package/dist/tools/profiler-get-script-stats.js +20 -0
- package/dist/tools/profiler-get-script-stats.js.map +1 -0
- package/dist/tools/profiler-get-status.d.ts +2 -0
- package/dist/tools/profiler-get-status.js +22 -0
- package/dist/tools/profiler-get-status.js.map +1 -0
- package/dist/tools/profiler-list-modules.d.ts +2 -0
- package/dist/tools/profiler-list-modules.js +20 -0
- package/dist/tools/profiler-list-modules.js.map +1 -0
- package/dist/tools/profiler-load-data.d.ts +2 -0
- package/dist/tools/profiler-load-data.js +38 -0
- package/dist/tools/profiler-load-data.js.map +1 -0
- package/dist/tools/profiler-memory.d.ts +2 -0
- package/dist/tools/profiler-memory.js +21 -0
- package/dist/tools/profiler-memory.js.map +1 -0
- package/dist/tools/profiler-rendering.d.ts +2 -0
- package/dist/tools/profiler-rendering.js +14 -0
- package/dist/tools/profiler-rendering.js.map +1 -0
- package/dist/tools/profiler-save-data.d.ts +2 -0
- package/dist/tools/profiler-save-data.js +38 -0
- package/dist/tools/profiler-save-data.js.map +1 -0
- package/dist/tools/profiler-set-config.d.ts +2 -0
- package/dist/tools/profiler-set-config.js +72 -0
- package/dist/tools/profiler-set-config.js.map +1 -0
- package/dist/tools/profiler-start.d.ts +2 -0
- package/dist/tools/profiler-start.js +31 -0
- package/dist/tools/profiler-start.js.map +1 -0
- package/dist/tools/profiler-stop.d.ts +2 -0
- package/dist/tools/profiler-stop.js +20 -0
- package/dist/tools/profiler-stop.js.map +1 -0
- package/dist/tools/pull-events.d.ts +2 -0
- package/dist/tools/pull-events.js +43 -0
- package/dist/tools/pull-events.js.map +1 -0
- package/dist/tools/read-asset.d.ts +2 -0
- package/dist/tools/read-asset.js +62 -0
- package/dist/tools/read-asset.js.map +1 -0
- package/dist/tools/read-compile-errors.d.ts +2 -0
- package/dist/tools/read-compile-errors.js +59 -0
- package/dist/tools/read-compile-errors.js.map +1 -0
- package/dist/tools/read-console.d.ts +2 -0
- package/dist/tools/read-console.js +57 -0
- package/dist/tools/read-console.js.map +1 -0
- package/dist/tools/regression-check.d.ts +2 -0
- package/dist/tools/regression-check.js +36 -0
- package/dist/tools/regression-check.js.map +1 -0
- package/dist/tools/reserialize.d.ts +2 -0
- package/dist/tools/reserialize.js +31 -0
- package/dist/tools/reserialize.js.map +1 -0
- package/dist/tools/run-tests.d.ts +2 -0
- package/dist/tools/run-tests.js +49 -0
- package/dist/tools/run-tests.js.map +1 -0
- package/dist/tools/scan-all.d.ts +2 -0
- package/dist/tools/scan-all.js +25 -0
- package/dist/tools/scan-all.js.map +1 -0
- package/dist/tools/scan-paths.d.ts +2 -0
- package/dist/tools/scan-paths.js +40 -0
- package/dist/tools/scan-paths.js.map +1 -0
- package/dist/tools/scene-create.d.ts +2 -0
- package/dist/tools/scene-create.js +47 -0
- package/dist/tools/scene-create.js.map +1 -0
- package/dist/tools/scene-focus.d.ts +2 -0
- package/dist/tools/scene-focus.js +55 -0
- package/dist/tools/scene-focus.js.map +1 -0
- package/dist/tools/scene-get-data.d.ts +2 -0
- package/dist/tools/scene-get-data.js +52 -0
- package/dist/tools/scene-get-data.js.map +1 -0
- package/dist/tools/scene-get-dirty-summary.d.ts +2 -0
- package/dist/tools/scene-get-dirty-summary.js +17 -0
- package/dist/tools/scene-get-dirty-summary.js.map +1 -0
- package/dist/tools/scene-list-opened.d.ts +2 -0
- package/dist/tools/scene-list-opened.js +16 -0
- package/dist/tools/scene-list-opened.js.map +1 -0
- package/dist/tools/scene-open.d.ts +2 -0
- package/dist/tools/scene-open.js +48 -0
- package/dist/tools/scene-open.js.map +1 -0
- package/dist/tools/scene-save.d.ts +2 -0
- package/dist/tools/scene-save.js +38 -0
- package/dist/tools/scene-save.js.map +1 -0
- package/dist/tools/scene-set-active.d.ts +2 -0
- package/dist/tools/scene-set-active.js +33 -0
- package/dist/tools/scene-set-active.js.map +1 -0
- package/dist/tools/scene-unload.d.ts +2 -0
- package/dist/tools/scene-unload.js +33 -0
- package/dist/tools/scene-unload.js.map +1 -0
- package/dist/tools/screenshot-camera.d.ts +2 -0
- package/dist/tools/screenshot-camera.js +59 -0
- package/dist/tools/screenshot-camera.js.map +1 -0
- package/dist/tools/screenshot-window.d.ts +2 -0
- package/dist/tools/screenshot-window.js +54 -0
- package/dist/tools/screenshot-window.js.map +1 -0
- package/dist/tools/screenshot.d.ts +2 -0
- package/dist/tools/screenshot.js +47 -0
- package/dist/tools/screenshot.js.map +1 -0
- package/dist/tools/script-delete.d.ts +2 -0
- package/dist/tools/script-delete.js +37 -0
- package/dist/tools/script-delete.js.map +1 -0
- package/dist/tools/script-read.d.ts +2 -0
- package/dist/tools/script-read.js +46 -0
- package/dist/tools/script-read.js.map +1 -0
- package/dist/tools/script-write.d.ts +2 -0
- package/dist/tools/script-write.js +56 -0
- package/dist/tools/script-write.js.map +1 -0
- package/dist/tools/search-assets.d.ts +2 -0
- package/dist/tools/search-assets.js +49 -0
- package/dist/tools/search-assets.js.map +1 -0
- package/dist/tools/selection-get.d.ts +2 -0
- package/dist/tools/selection-get.js +28 -0
- package/dist/tools/selection-get.js.map +1 -0
- package/dist/tools/selection-set.d.ts +2 -0
- package/dist/tools/selection-set.js +72 -0
- package/dist/tools/selection-set.js.map +1 -0
- package/dist/tools/settings-get-lighting.d.ts +2 -0
- package/dist/tools/settings-get-lighting.js +21 -0
- package/dist/tools/settings-get-lighting.js.map +1 -0
- package/dist/tools/settings-get-physics.d.ts +2 -0
- package/dist/tools/settings-get-physics.js +17 -0
- package/dist/tools/settings-get-physics.js.map +1 -0
- package/dist/tools/settings-get-player.d.ts +2 -0
- package/dist/tools/settings-get-player.js +16 -0
- package/dist/tools/settings-get-player.js.map +1 -0
- package/dist/tools/settings-get-quality.d.ts +2 -0
- package/dist/tools/settings-get-quality.js +16 -0
- package/dist/tools/settings-get-quality.js.map +1 -0
- package/dist/tools/settings-set-lighting.d.ts +2 -0
- package/dist/tools/settings-set-lighting.js +58 -0
- package/dist/tools/settings-set-lighting.js.map +1 -0
- package/dist/tools/settings-set-physics.d.ts +2 -0
- package/dist/tools/settings-set-physics.js +52 -0
- package/dist/tools/settings-set-physics.js.map +1 -0
- package/dist/tools/settings-set-player.d.ts +2 -0
- package/dist/tools/settings-set-player.js +62 -0
- package/dist/tools/settings-set-player.js.map +1 -0
- package/dist/tools/settings-set-quality.d.ts +2 -0
- package/dist/tools/settings-set-quality.js +51 -0
- package/dist/tools/settings-set-quality.js.map +1 -0
- package/dist/tools/shader-get-data.d.ts +2 -0
- package/dist/tools/shader-get-data.js +31 -0
- package/dist/tools/shader-get-data.js.map +1 -0
- package/dist/tools/shader-list-all.d.ts +2 -0
- package/dist/tools/shader-list-all.js +24 -0
- package/dist/tools/shader-list-all.js.map +1 -0
- package/dist/tools/spatial-query.d.ts +2 -0
- package/dist/tools/spatial-query.js +117 -0
- package/dist/tools/spatial-query.js.map +1 -0
- package/dist/tools/splines-add-knot.d.ts +2 -0
- package/dist/tools/splines-add-knot.js +44 -0
- package/dist/tools/splines-add-knot.js.map +1 -0
- package/dist/tools/splines-container-create.d.ts +2 -0
- package/dist/tools/splines-container-create.js +39 -0
- package/dist/tools/splines-container-create.js.map +1 -0
- package/dist/tools/splines-evaluate.d.ts +2 -0
- package/dist/tools/splines-evaluate.js +31 -0
- package/dist/tools/splines-evaluate.js.map +1 -0
- package/dist/tools/splines-get-knots.d.ts +2 -0
- package/dist/tools/splines-get-knots.js +25 -0
- package/dist/tools/splines-get-knots.js.map +1 -0
- package/dist/tools/splines-modify.d.ts +2 -0
- package/dist/tools/splines-modify.js +35 -0
- package/dist/tools/splines-modify.js.map +1 -0
- package/dist/tools/splines-set-knot.d.ts +2 -0
- package/dist/tools/splines-set-knot.js +41 -0
- package/dist/tools/splines-set-knot.js.map +1 -0
- package/dist/tools/splines-set-tangent-mode.d.ts +2 -0
- package/dist/tools/splines-set-tangent-mode.js +43 -0
- package/dist/tools/splines-set-tangent-mode.js.map +1 -0
- package/dist/tools/type-schema.d.ts +2 -0
- package/dist/tools/type-schema.js +62 -0
- package/dist/tools/type-schema.js.map +1 -0
- package/dist/tools/validate-edit.d.ts +2 -0
- package/dist/tools/validate-edit.js +43 -0
- package/dist/tools/validate-edit.js.map +1 -0
- package/dist/unity-install-discovery.d.ts +79 -0
- package/dist/unity-install-discovery.js +206 -0
- package/dist/unity-install-discovery.js.map +1 -0
- package/dist/unity-log.d.ts +35 -0
- package/dist/unity-log.js +110 -0
- package/dist/unity-log.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export const healthSummary = {
|
|
2
|
+
uri: "unity-open-mcp://health/summary",
|
|
3
|
+
name: "Health summary",
|
|
4
|
+
mimeType: "application/json",
|
|
5
|
+
description: "Cached verify health summary (error/warn/info counts) from the last scan or gate validation.",
|
|
6
|
+
};
|
|
7
|
+
export const healthBaseline = {
|
|
8
|
+
uri: "unity-open-mcp://health/baseline",
|
|
9
|
+
name: "Health baseline",
|
|
10
|
+
mimeType: "application/json",
|
|
11
|
+
description: "Baseline JSON file summary (schemaVersion, platformProfile, severity counts) read from disk.",
|
|
12
|
+
};
|
|
13
|
+
export const bridgeStatus = {
|
|
14
|
+
uri: "unity-open-mcp://bridge/status",
|
|
15
|
+
name: "Bridge status",
|
|
16
|
+
mimeType: "application/json",
|
|
17
|
+
description: "Cached snapshot of the last successful bridge /ping response (connection, compile, play mode).",
|
|
18
|
+
};
|
|
19
|
+
// M18 Plan 2 / T18.2.3 — tool-groups capability resource. Static catalog
|
|
20
|
+
// (group ids, descriptions, default-enabled flags) discoverable before the
|
|
21
|
+
// first domain tool call. For compiled-state availability and the per-tool
|
|
22
|
+
// roster, call unity_open_mcp_capabilities (which embeds the full
|
|
23
|
+
// toolGroups block). For session activation state, call
|
|
24
|
+
// unity_open_mcp_manage_tools(action="list_groups").
|
|
25
|
+
export const toolGroups = {
|
|
26
|
+
uri: "unity-open-mcp://tool-groups",
|
|
27
|
+
name: "Tool groups",
|
|
28
|
+
mimeType: "application/json",
|
|
29
|
+
description: "Tool-group catalog (ids, descriptions, default-enabled flags). " +
|
|
30
|
+
"Call unity_open_mcp_manage_tools to activate a group before using " +
|
|
31
|
+
"its tools; call unity_open_mcp_capabilities for compiled-state " +
|
|
32
|
+
"availability and the per-tool roster.",
|
|
33
|
+
};
|
|
34
|
+
export const ALL_RESOURCES = [
|
|
35
|
+
healthSummary,
|
|
36
|
+
healthBaseline,
|
|
37
|
+
bridgeStatus,
|
|
38
|
+
toolGroups,
|
|
39
|
+
];
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,GAAG,EAAE,iCAAiC;IACtC,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EACT,8FAA8F;CACjG,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,GAAG,EAAE,kCAAkC;IACvC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EACT,8FAA8F;CACjG,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,GAAG,EAAE,gCAAgC;IACrC,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EACT,gGAAgG;CACnG,CAAC;AAEF,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,kEAAkE;AAClE,wDAAwD;AACxD,qDAAqD;AACrD,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,GAAG,EAAE,8BAA8B;IACnC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EACT,iEAAiE;QACjE,oEAAoE;QACpE,iEAAiE;QACjE,uCAAuC;CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,aAAa;IACb,cAAc;IACd,YAAY;IACZ,UAAU;CACX,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export interface ErrorResultInput {
|
|
3
|
+
/** Stable machine-readable code (e.g. `bridge_error`, `batch_not_supported`). */
|
|
4
|
+
code: string;
|
|
5
|
+
/** Human-readable explanation. */
|
|
6
|
+
message: string;
|
|
7
|
+
/**
|
|
8
|
+
* Optional custom body. When provided (non-nullish), it replaces the default
|
|
9
|
+
* `{ error: { code, message } }` envelope. Use this when a caller needs to
|
|
10
|
+
* surface richer structured data (e.g. HTTP status + body from the bridge).
|
|
11
|
+
*/
|
|
12
|
+
detail?: unknown;
|
|
13
|
+
}
|
|
14
|
+
export declare function makeErrorResult(input: ErrorResultInput): CallToolResult;
|
package/dist/results.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Shared CallToolResult error factory.
|
|
2
|
+
//
|
|
3
|
+
// This used to live as three near-identical private helpers in batch-spawn.ts,
|
|
4
|
+
// compressible-router.ts, and live-client.ts — with two different positional
|
|
5
|
+
// argument orders (the compressible-router copy had `message, code` while the
|
|
6
|
+
// others used `code, message`). That made it easy to swap the arguments by
|
|
7
|
+
// mistake at any call site. The single named-argument factory below removes the
|
|
8
|
+
// ambiguity: code, message, and the optional `detail` override are named.
|
|
9
|
+
//
|
|
10
|
+
// Wire shape is unchanged. When `detail` is omitted (or nullish), the result
|
|
11
|
+
// body is `{ error: { code, message } }` — exactly what every downstream parser
|
|
12
|
+
// (and every existing test asserting `body.error.code`) expects. When `detail`
|
|
13
|
+
// is supplied, it replaces the error envelope entirely (callers that build a
|
|
14
|
+
// richer custom body rely on this).
|
|
15
|
+
export function makeErrorResult(input) {
|
|
16
|
+
const body = input.detail ?? { error: { code: input.code, message: input.message } };
|
|
17
|
+
return {
|
|
18
|
+
content: [{ type: "text", text: JSON.stringify(body) }],
|
|
19
|
+
isError: true,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,gFAAgF;AAChF,0EAA0E;AAC1E,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,oCAAoC;AAiBpC,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;IACrF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
package/dist/router.d.ts
ADDED
package/dist/router.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { LiveClient } from "./live-client.js";
|
|
2
|
+
import { BatchSpawn } from "./batch-spawn.js";
|
|
3
|
+
import { ToolRouter } from "./tool-router.js";
|
|
4
|
+
import { PingCache } from "./ping-cache.js";
|
|
5
|
+
import { ResourceRouter } from "./resource-router.js";
|
|
6
|
+
import { BridgeEventStream } from "./event-stream.js";
|
|
7
|
+
import { ToolSessionState } from "./tool-session-state.js";
|
|
8
|
+
export interface ResolvedEnv {
|
|
9
|
+
projectPath: string;
|
|
10
|
+
port: number;
|
|
11
|
+
authToken: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the project path / port / auth token from explicit overrides (CLI
|
|
15
|
+
* flags) or the process env (MCP server). Throws when no project path is set —
|
|
16
|
+
* callers print a friendly message and exit non-zero.
|
|
17
|
+
*
|
|
18
|
+
* Mirrors the precedence in index.ts#getEnv:
|
|
19
|
+
* projectPath: override > UNITY_PROJECT_PATH
|
|
20
|
+
* port: override > UNITY_OPEN_MCP_BRIDGE_PORT > lock file > hash
|
|
21
|
+
* authToken: discovered from the same lock as the port (no token with an
|
|
22
|
+
* explicit port override)
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveEnv(projectPathOverride?: string, portOverride?: number): ResolvedEnv;
|
|
25
|
+
export declare class ResolveEnvError extends Error {
|
|
26
|
+
}
|
|
27
|
+
export interface RouterStack {
|
|
28
|
+
live: LiveClient;
|
|
29
|
+
batch: BatchSpawn;
|
|
30
|
+
router: ToolRouter;
|
|
31
|
+
pingCache: PingCache;
|
|
32
|
+
resourceRouter: ResourceRouter;
|
|
33
|
+
eventStream: BridgeEventStream;
|
|
34
|
+
sessionState: ToolSessionState;
|
|
35
|
+
projectPath: string;
|
|
36
|
+
port: number;
|
|
37
|
+
authToken: string | undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Build the full router stack from resolved env. The CLI uses this directly;
|
|
41
|
+
* the stdio server wraps the result in an MCP Server (see createServer in
|
|
42
|
+
* index.ts).
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildRouterStack(env: ResolvedEnv): RouterStack;
|
package/dist/routers.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// M15 T6.1 — Shared router-stack construction.
|
|
2
|
+
//
|
|
3
|
+
// `index.ts` (stdio server) and `src/cli/` (thin CLI) both need the same
|
|
4
|
+
// LiveClient + BatchSpawn + ToolRouter wiring. Centralizing it here means a
|
|
5
|
+
// CLI command sees the exact same routing decisions an MCP client would — the
|
|
6
|
+
// acceptance criterion "run-tool returns the same JSON the MCP server would"
|
|
7
|
+
// holds by construction.
|
|
8
|
+
import { LiveClient } from "./live-client.js";
|
|
9
|
+
import { BatchSpawn } from "./batch-spawn.js";
|
|
10
|
+
import { ToolRouter } from "./tool-router.js";
|
|
11
|
+
import { PingCache } from "./ping-cache.js";
|
|
12
|
+
import { ResourceRouter } from "./resource-router.js";
|
|
13
|
+
import { BridgeEventStream } from "./event-stream.js";
|
|
14
|
+
import { resolvePort, resolveAuthToken } from "./instance-discovery.js";
|
|
15
|
+
import { ToolSessionState } from "./tool-session-state.js";
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the project path / port / auth token from explicit overrides (CLI
|
|
18
|
+
* flags) or the process env (MCP server). Throws when no project path is set —
|
|
19
|
+
* callers print a friendly message and exit non-zero.
|
|
20
|
+
*
|
|
21
|
+
* Mirrors the precedence in index.ts#getEnv:
|
|
22
|
+
* projectPath: override > UNITY_PROJECT_PATH
|
|
23
|
+
* port: override > UNITY_OPEN_MCP_BRIDGE_PORT > lock file > hash
|
|
24
|
+
* authToken: discovered from the same lock as the port (no token with an
|
|
25
|
+
* explicit port override)
|
|
26
|
+
*/
|
|
27
|
+
export function resolveEnv(projectPathOverride, portOverride) {
|
|
28
|
+
const projectPath = projectPathOverride ?? process.env.UNITY_PROJECT_PATH;
|
|
29
|
+
if (!projectPath) {
|
|
30
|
+
throw new ResolveEnvError("UNITY_PROJECT_PATH environment variable is required " +
|
|
31
|
+
"(or pass --project <path>).");
|
|
32
|
+
}
|
|
33
|
+
const rawEnvPort = process.env.UNITY_OPEN_MCP_BRIDGE_PORT;
|
|
34
|
+
const envPort = rawEnvPort ? parseInt(rawEnvPort, 10) : undefined;
|
|
35
|
+
const effectiveEnvPort = rawEnvPort && Number.isInteger(envPort) ? envPort : undefined;
|
|
36
|
+
const port = resolvePort(projectPath, portOverride ?? effectiveEnvPort);
|
|
37
|
+
const authToken = resolveAuthToken(projectPath, portOverride ?? effectiveEnvPort);
|
|
38
|
+
return { projectPath, port, authToken };
|
|
39
|
+
}
|
|
40
|
+
export class ResolveEnvError extends Error {
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build the full router stack from resolved env. The CLI uses this directly;
|
|
44
|
+
* the stdio server wraps the result in an MCP Server (see createServer in
|
|
45
|
+
* index.ts).
|
|
46
|
+
*/
|
|
47
|
+
export function buildRouterStack(env) {
|
|
48
|
+
const pingCache = new PingCache();
|
|
49
|
+
const live = new LiveClient(env.port, pingCache, env.authToken, env.projectPath);
|
|
50
|
+
const batch = new BatchSpawn();
|
|
51
|
+
const eventStream = new BridgeEventStream(`http://127.0.0.1:${env.port}`, undefined, env.authToken);
|
|
52
|
+
const sessionState = new ToolSessionState();
|
|
53
|
+
const router = new ToolRouter(live, batch, env.projectPath, eventStream, sessionState);
|
|
54
|
+
const resourceRouter = new ResourceRouter({
|
|
55
|
+
live,
|
|
56
|
+
pingCache,
|
|
57
|
+
projectPath: env.projectPath,
|
|
58
|
+
port: env.port,
|
|
59
|
+
});
|
|
60
|
+
return {
|
|
61
|
+
live,
|
|
62
|
+
batch,
|
|
63
|
+
router,
|
|
64
|
+
pingCache,
|
|
65
|
+
resourceRouter,
|
|
66
|
+
eventStream,
|
|
67
|
+
sessionState,
|
|
68
|
+
projectPath: env.projectPath,
|
|
69
|
+
port: env.port,
|
|
70
|
+
authToken: env.authToken,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=routers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routers.js","sourceRoot":"","sources":["../src/routers.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yBAAyB;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQ3D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACxB,mBAA4B,EAC5B,YAAqB;IAErB,MAAM,WAAW,GAAG,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,eAAe,CACvB,sDAAsD;YACpD,6BAA6B,CAChC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,gBAAgB,GACpB,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhE,MAAM,IAAI,GAAG,WAAW,CACtB,WAAW,EACX,YAAY,IAAI,gBAAgB,CACjC,CAAC;IACF,MAAM,SAAS,GAAG,gBAAgB,CAChC,WAAW,EACX,YAAY,IAAI,gBAAgB,CACjC,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAkB7C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,iBAAiB,CACvC,oBAAoB,GAAG,CAAC,IAAI,EAAE,EAC9B,SAAS,EACT,GAAG,CAAC,SAAS,CACd,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC;QACxC,IAAI;QACJ,SAAS;QACT,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,SAAS;QACT,cAAc;QACd,WAAW;QACX,YAAY;QACZ,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns a copy of `args` with missing top-level scalar defaults filled in
|
|
4
|
+
* from the given tool's input schema. Object/array defaults are ignored (they
|
|
5
|
+
* require deep merge and no tool currently uses them).
|
|
6
|
+
*
|
|
7
|
+
* The original `args` object is never mutated. Existing caller-supplied values
|
|
8
|
+
* are preserved verbatim, including `undefined`/`null`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function withSchemaDefaults(tool: Tool, args: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Schema-default injection.
|
|
2
|
+
//
|
|
3
|
+
// MCP JSON-Schema documents advertise per-property `default` values (e.g.
|
|
4
|
+
// `run_tests` documents `timeout_ms` default 60000). Those defaults are advisory:
|
|
5
|
+
// an MCP client MAY echo them, but many send args verbatim and omit the field
|
|
6
|
+
// entirely. When that happens, every downstream layer (the TS HTTP fetch, the
|
|
7
|
+
// C# bridge, the Unity-side dispatch) independently falls back to its own
|
|
8
|
+
// hardcoded default — historically 30000 — which silently contradicts the
|
|
9
|
+
// documented value and produced the "tool times out at 30s" bug for
|
|
10
|
+
// run_tests (whose schema default is 60000).
|
|
11
|
+
//
|
|
12
|
+
// To make the schema the single source of truth, the CallTool handler fills in
|
|
13
|
+
// any missing top-level argument whose property declares a scalar `default`
|
|
14
|
+
// before dispatching. This keeps client-supplied values authoritative and only
|
|
15
|
+
// ever adds missing fields.
|
|
16
|
+
function isScalarDefault(value) {
|
|
17
|
+
return (typeof value === "number" ||
|
|
18
|
+
typeof value === "boolean" ||
|
|
19
|
+
typeof value === "string");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns a copy of `args` with missing top-level scalar defaults filled in
|
|
23
|
+
* from the given tool's input schema. Object/array defaults are ignored (they
|
|
24
|
+
* require deep merge and no tool currently uses them).
|
|
25
|
+
*
|
|
26
|
+
* The original `args` object is never mutated. Existing caller-supplied values
|
|
27
|
+
* are preserved verbatim, including `undefined`/`null`.
|
|
28
|
+
*/
|
|
29
|
+
export function withSchemaDefaults(tool, args) {
|
|
30
|
+
const properties = tool.inputSchema?.properties;
|
|
31
|
+
if (!properties)
|
|
32
|
+
return { ...args };
|
|
33
|
+
const out = { ...args };
|
|
34
|
+
for (const [key, schema] of Object.entries(properties)) {
|
|
35
|
+
if (key in out)
|
|
36
|
+
continue;
|
|
37
|
+
const def = schema?.default;
|
|
38
|
+
if (isScalarDefault(def))
|
|
39
|
+
out[key] = def;
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=schema-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-defaults.js","sourceRoot":"","sources":["../src/schema-defaults.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,0EAA0E;AAC1E,kFAAkF;AAClF,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,0EAA0E;AAC1E,oEAAoE;AACpE,6CAA6C;AAC7C,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,4BAA4B;AAY5B,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ,CAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAU,EACV,IAA6B;IAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAExB,CAAC;IACd,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpC,MAAM,GAAG,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,IAAI,GAAG,IAAI,GAAG;YAAE,SAAS;QACzB,MAAM,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC;QAC5B,IAAI,eAAe,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface ClientPathEntry {
|
|
2
|
+
relativePath: string;
|
|
3
|
+
}
|
|
4
|
+
export interface ClientPathsManifest {
|
|
5
|
+
skillId: string;
|
|
6
|
+
templateRelativePath: string;
|
|
7
|
+
clients: Record<string, ClientPathEntry>;
|
|
8
|
+
mcpClientMapping: Record<string, string[]>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Bundled fallback mirroring `skills/client-paths.json`. A unit test
|
|
12
|
+
* asserts this stays in sync with the on-disk manifest so the two
|
|
13
|
+
* never drift silently.
|
|
14
|
+
*/
|
|
15
|
+
export declare const BUNDLED_MANIFEST: ClientPathsManifest;
|
|
16
|
+
/**
|
|
17
|
+
* Load the client-paths manifest. Resolution is cached after the
|
|
18
|
+
* first call (the manifest is immutable for the lifetime of the
|
|
19
|
+
* process).
|
|
20
|
+
*/
|
|
21
|
+
export declare function loadClientPathsManifest(): ClientPathsManifest;
|
|
22
|
+
/**
|
|
23
|
+
* Project-relative skill path for a client key
|
|
24
|
+
* (`cursor` / `claude` / `opencode` / `agents`). Throws for unknown
|
|
25
|
+
* keys so callers fail loudly instead of writing to a wrong path.
|
|
26
|
+
*/
|
|
27
|
+
export declare function clientSkillRelativePath(clientKey: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* All known client keys from the manifest — used to derive the
|
|
30
|
+
* `unity_open_mcp_generate_skill` `clients` enum and the allowlist in
|
|
31
|
+
* the tool router.
|
|
32
|
+
*/
|
|
33
|
+
export declare function knownClientKeys(): string[];
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// Skill client-path manifest — single source of truth.
|
|
2
|
+
//
|
|
3
|
+
// The checked-in manifest lives at the toolkit root:
|
|
4
|
+
// `skills/client-paths.json`
|
|
5
|
+
// This module is the ONLY consumer on the mcp-server side. The Hub
|
|
6
|
+
// wizard (`hub/src-tauri/src/config/mcp_config.rs`) reads the same
|
|
7
|
+
// file directly from the toolkit root. To add or rename a client,
|
|
8
|
+
// edit `skills/client-paths.json` — do not hand-maintain duplicate
|
|
9
|
+
// constants here or in Rust.
|
|
10
|
+
//
|
|
11
|
+
// Resolution strategy:
|
|
12
|
+
// 1. `UNITY_OPEN_MCP_TOOLKIT_ROOT` env var (when the Hub or a
|
|
13
|
+
// launcher pins the toolkit root explicitly).
|
|
14
|
+
// 2. Walk up from this module's location looking for
|
|
15
|
+
// `skills/client-paths.json` (covers `mcp-server/src/` in dev
|
|
16
|
+
// and `mcp-server/dist/` in a built checkout).
|
|
17
|
+
// 3. Bundled fallback constant (kept in sync with the manifest by
|
|
18
|
+
// a unit test) so the skill generator still works in a
|
|
19
|
+
// standalone `mcp-server/` install that lacks the toolkit tree.
|
|
20
|
+
import { readFileSync } from "node:fs";
|
|
21
|
+
import { join, dirname } from "node:path";
|
|
22
|
+
import { fileURLToPath } from "node:url";
|
|
23
|
+
const MANIFEST_REL = "skills/client-paths.json";
|
|
24
|
+
/**
|
|
25
|
+
* Bundled fallback mirroring `skills/client-paths.json`. A unit test
|
|
26
|
+
* asserts this stays in sync with the on-disk manifest so the two
|
|
27
|
+
* never drift silently.
|
|
28
|
+
*/
|
|
29
|
+
export const BUNDLED_MANIFEST = {
|
|
30
|
+
skillId: "unity-open-mcp",
|
|
31
|
+
templateRelativePath: "skills/unity-open-mcp/SKILL.md",
|
|
32
|
+
clients: {
|
|
33
|
+
cursor: { relativePath: ".cursor/skills/unity-open-mcp/SKILL.md" },
|
|
34
|
+
claude: { relativePath: ".claude/skills/unity-open-mcp/SKILL.md" },
|
|
35
|
+
opencode: { relativePath: ".opencode/skills/unity-open-mcp/SKILL.md" },
|
|
36
|
+
agents: { relativePath: ".agents/skills/unity-open-mcp/SKILL.md" },
|
|
37
|
+
},
|
|
38
|
+
mcpClientMapping: {
|
|
39
|
+
cursor: ["cursor"],
|
|
40
|
+
"claude-desktop": ["claude"],
|
|
41
|
+
"claude-code": ["claude"],
|
|
42
|
+
"opencode-global": ["opencode"],
|
|
43
|
+
"opencode-project": ["opencode"],
|
|
44
|
+
"zcode-global": ["agents"],
|
|
45
|
+
"zcode-project": ["agents"],
|
|
46
|
+
manual: ["cursor", "claude", "opencode", "agents"],
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
function hereDir() {
|
|
50
|
+
// Works under both `node --experimental-strip-types` (src) and the
|
|
51
|
+
// compiled `dist/` output.
|
|
52
|
+
if (typeof __dirname !== "undefined")
|
|
53
|
+
return __dirname;
|
|
54
|
+
return dirname(fileURLToPath(import.meta.url));
|
|
55
|
+
}
|
|
56
|
+
function tryReadManifest(path) {
|
|
57
|
+
try {
|
|
58
|
+
const raw = readFileSync(path, "utf-8");
|
|
59
|
+
const parsed = JSON.parse(raw);
|
|
60
|
+
if (typeof parsed.skillId === "string" &&
|
|
61
|
+
typeof parsed.templateRelativePath === "string" &&
|
|
62
|
+
parsed.clients &&
|
|
63
|
+
typeof parsed.clients === "object" &&
|
|
64
|
+
parsed.mcpClientMapping &&
|
|
65
|
+
typeof parsed.mcpClientMapping === "object") {
|
|
66
|
+
return parsed;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function resolveManifest() {
|
|
75
|
+
// 1. Explicit env override.
|
|
76
|
+
const envRoot = process.env.UNITY_OPEN_MCP_TOOLKIT_ROOT?.trim();
|
|
77
|
+
if (envRoot) {
|
|
78
|
+
const fromEnv = tryReadManifest(join(envRoot, MANIFEST_REL));
|
|
79
|
+
if (fromEnv)
|
|
80
|
+
return fromEnv;
|
|
81
|
+
}
|
|
82
|
+
// 2. Walk up from this module's directory looking for the toolkit
|
|
83
|
+
// root (i.e. a parent dir containing `skills/client-paths.json`).
|
|
84
|
+
let dir = hereDir();
|
|
85
|
+
for (let i = 0; i < 8; i++) {
|
|
86
|
+
const candidate = join(dir, MANIFEST_REL);
|
|
87
|
+
const m = tryReadManifest(candidate);
|
|
88
|
+
if (m)
|
|
89
|
+
return m;
|
|
90
|
+
const parent = dirname(dir);
|
|
91
|
+
if (parent === dir)
|
|
92
|
+
break;
|
|
93
|
+
dir = parent;
|
|
94
|
+
}
|
|
95
|
+
// 3. Bundled fallback (validated against the manifest by tests).
|
|
96
|
+
return BUNDLED_MANIFEST;
|
|
97
|
+
}
|
|
98
|
+
let cached = null;
|
|
99
|
+
/**
|
|
100
|
+
* Load the client-paths manifest. Resolution is cached after the
|
|
101
|
+
* first call (the manifest is immutable for the lifetime of the
|
|
102
|
+
* process).
|
|
103
|
+
*/
|
|
104
|
+
export function loadClientPathsManifest() {
|
|
105
|
+
if (cached)
|
|
106
|
+
return cached;
|
|
107
|
+
cached = resolveManifest();
|
|
108
|
+
return cached;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Project-relative skill path for a client key
|
|
112
|
+
* (`cursor` / `claude` / `opencode` / `agents`). Throws for unknown
|
|
113
|
+
* keys so callers fail loudly instead of writing to a wrong path.
|
|
114
|
+
*/
|
|
115
|
+
export function clientSkillRelativePath(clientKey) {
|
|
116
|
+
const manifest = loadClientPathsManifest();
|
|
117
|
+
const entry = manifest.clients[clientKey];
|
|
118
|
+
if (!entry) {
|
|
119
|
+
throw new Error(`Unknown skill client key "${clientKey}". Known keys: ${Object.keys(manifest.clients).join(", ")}.`);
|
|
120
|
+
}
|
|
121
|
+
return entry.relativePath;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* All known client keys from the manifest — used to derive the
|
|
125
|
+
* `unity_open_mcp_generate_skill` `clients` enum and the allowlist in
|
|
126
|
+
* the tool router.
|
|
127
|
+
*/
|
|
128
|
+
export function knownClientKeys() {
|
|
129
|
+
return Object.keys(loadClientPathsManifest().clients);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=client-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-paths.js","sourceRoot":"","sources":["../../src/skill/client-paths.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,qDAAqD;AACrD,+BAA+B;AAC/B,mEAAmE;AACnE,mEAAmE;AACnE,kEAAkE;AAClE,mEAAmE;AACnE,6BAA6B;AAC7B,EAAE;AACF,uBAAuB;AACvB,gEAAgE;AAChE,mDAAmD;AACnD,uDAAuD;AACvD,mEAAmE;AACnE,oDAAoD;AACpD,oEAAoE;AACpE,4DAA4D;AAC5D,qEAAqE;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAazC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwB;IACnD,OAAO,EAAE,gBAAgB;IACzB,oBAAoB,EAAE,gCAAgC;IACtD,OAAO,EAAE;QACP,MAAM,EAAE,EAAE,YAAY,EAAE,wCAAwC,EAAE;QAClE,MAAM,EAAE,EAAE,YAAY,EAAE,wCAAwC,EAAE;QAClE,QAAQ,EAAE,EAAE,YAAY,EAAE,0CAA0C,EAAE;QACtE,MAAM,EAAE,EAAE,YAAY,EAAE,wCAAwC,EAAE;KACnE;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;QAC5B,aAAa,EAAE,CAAC,QAAQ,CAAC;QACzB,iBAAiB,EAAE,CAAC,UAAU,CAAC;QAC/B,kBAAkB,EAAE,CAAC,UAAU,CAAC;QAChC,cAAc,EAAE,CAAC,QAAQ,CAAC;QAC1B,eAAe,EAAE,CAAC,QAAQ,CAAC;QAC3B,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;KACnD;CACF,CAAC;AAEF,SAAS,OAAO;IACd,mEAAmE;IACnE,2BAA2B;IAC3B,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;QAC/D,IACE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;YAC/C,MAAM,CAAC,OAAO;YACd,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,MAAM,CAAC,gBAAgB;YACvB,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAC3C,CAAC;YACD,OAAO,MAA6B,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,4BAA4B;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7D,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,kEAAkE;IAClE,qEAAqE;IACrE,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,iEAAiE;IACjE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,IAAI,MAAM,GAA+B,IAAI,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,eAAe,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,kBAAkB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,YAAY,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { CapabilitiesResult } from "../capabilities/build-capabilities.js";
|
|
2
|
+
export interface PackageEntry {
|
|
3
|
+
id: string;
|
|
4
|
+
version: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TypeEntry {
|
|
7
|
+
name: string;
|
|
8
|
+
namespace: string;
|
|
9
|
+
filePath: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ProjectState {
|
|
12
|
+
projectName: string;
|
|
13
|
+
unityVersion: string;
|
|
14
|
+
packages: PackageEntry[];
|
|
15
|
+
bridgeVersion: string | null;
|
|
16
|
+
verifyVersion: string | null;
|
|
17
|
+
monoBehaviours: TypeEntry[];
|
|
18
|
+
scriptableObjects: TypeEntry[];
|
|
19
|
+
}
|
|
20
|
+
export interface SkillWriteTarget {
|
|
21
|
+
client: string;
|
|
22
|
+
relativePath: string;
|
|
23
|
+
absolutePath: string;
|
|
24
|
+
written: boolean;
|
|
25
|
+
existed: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface GenerateSkillResult {
|
|
28
|
+
skill: string;
|
|
29
|
+
project: ProjectState;
|
|
30
|
+
written: SkillWriteTarget[];
|
|
31
|
+
}
|
|
32
|
+
export declare function readProjectState(projectRoot: string): Promise<ProjectState>;
|
|
33
|
+
export declare function generateSkillMarkdown(state: ProjectState, caps: CapabilitiesResult): string;
|
|
34
|
+
export declare function writeSkillToClients(projectRoot: string, content: string, clients: string[]): Promise<SkillWriteTarget[]>;
|
|
35
|
+
export declare function generateSkill(projectRoot: string, caps: CapabilitiesResult, options?: {
|
|
36
|
+
write?: boolean;
|
|
37
|
+
clients?: string[];
|
|
38
|
+
}): Promise<GenerateSkillResult>;
|