/** * Pre-namespace location of the bridge script: the project root. Read by * `BridgeManager.removeBridgeArtifacts` (migration cleanup) and * `BridgeManager.repairOrphaned` (stranded-artifact detection). */ export declare const LEGACY_BRIDGE_SCRIPT_FILENAME: "mcp_bridge.gd"; /** `res://` path registered as the `McpBridge` autoload in project.godot. */ export declare const BRIDGE_SCRIPT_RES_PATH: "res://.mcp/godot-runtime/bridge/mcp_bridge.gd"; /** * Project-relative directory for validate temp scripts. Handed to * `godot_operations.gd` as the prefix of a `script_path` parameter, so it must * stay POSIX-separated regardless of host platform. */ export declare const VALIDATE_RES_DIR: ".mcp/godot-runtime/validate"; /** `/.mcp` — home of the `.gdignore` marker. */ export declare function mcpDir(projectPath: string): string; /** `/.mcp/godot-runtime/bridge` — removed wholesale on session cleanup. */ export declare function bridgeDir(projectPath: string): string; /** Absolute path of the injected bridge autoload script. */ export declare function bridgeScriptAbsPath(projectPath: string): string; /** * `/.mcp/godot-runtime/bridge/owners` — one JSON file per live * session on this project (registered by `BridgeManager.inject`, removed by * that session's own `BridgeManager.cleanup`). Read by every session to * decide whether it is the last leaver before removing the shared script and * autoload entry. */ export declare function bridgeOwnersDir(projectPath: string): string; /** * `/.mcp/godot-runtime/screenshots` — where the bridge saves PNGs and * the only directory `take_screenshot` will read one back from. * * KEEP IN SYNC: `src/scripts/mcp_bridge.gd` builds the same directory from its * own `SCREENSHOT_DIR_RES_PATH` const (it cannot import TypeScript), and * `handleTakeScreenshot` in `src/tools/runtime-tools.ts` uses this function as * the containment root for what the bridge hands back. All three move together. */ export declare function screenshotsDir(projectPath: string): string; /** `/.mcp/godot-runtime/scripts` — run_script audit pairs, never cleaned. */ export declare function auditScriptsDir(projectPath: string): string; /** `/.mcp/godot-runtime/validate` — temp scripts, deleted per call. */ export declare function validateTempDir(projectPath: string): string; /** * True when an `[autoload]` path registered under the reserved `McpBridge` * name points at a location this server owns, and is therefore safe to rewrite * (migration) or delete (cleanup). * * Server-owned means exactly two shapes, after normalizing separators and * stripping a `res://` scheme and any `./` prefix: * * - `mcp_bridge.gd` at the project root — the pre-namespace location. * - anything at all under `.mcp/` — the current namespace and any older * `.mcp/`-relative layout. * * WIDEST INPUT: this accepts every path beneath `.mcp/`, not just the bridge * script — `.mcp/anything.gd`, `.mcp/godot-runtime/scripts/x.gd`, a directory * path, a path with backslash separators. It also accepts a bare * `mcp_bridge.gd` written without the `res://` scheme. It does NOT accept: * a `uid://` form (an entry Godot rewrote to a UID reads as user-owned and * blocks inject rather than being silently clobbered), `addons/.mcp/...` or * any other path with `.mcp` below the root, `sub/mcp_bridge.gd`, or an * absolute filesystem path. Everything it rejects is treated as a user's own * autoload that happens to share the `McpBridge` name: left untouched, with * `inject` failing loudly instead of overwriting it. */ export declare function isServerOwnedBridgePath(autoloadPath: string): boolean; //# sourceMappingURL=artifact-paths.d.ts.map