import type { Engine } from "@nengine/core"; import type { McpGateway } from "./gateway.js"; import type { McpNamespace } from "./namespace.js"; import { createServerNamespace } from "./namespaces/server.js"; import { createMapNamespace } from "./namespaces/map.js"; import { createTimeNamespace } from "./namespaces/time.js"; import { createItemNamespace } from "./namespaces/item.js"; import { createCraftNamespace } from "./namespaces/craft.js"; import { createCropNamespace } from "./namespaces/crop.js"; import { createShopNamespace } from "./namespaces/shop.js"; import { createSaveNamespace } from "./namespaces/save.js"; import { createBehaviorNamespace } from "./namespaces/behavior.js"; import { createDialogueNamespace } from "./namespaces/dialogue.js"; import { createWeatherNamespace } from "./namespaces/weather.js"; import { createPlacementNamespace } from "./namespaces/placement.js"; import { createNpcNamespace } from "./namespaces/npc.js"; import { createPlayerNamespace } from "./namespaces/player.js"; import { createAnimalNamespace } from "./namespaces/animal.js"; import { createModNamespace } from "./namespaces/mod.js"; import { createSpriteNamespace } from "./namespaces/sprite.js"; import { createSoundNamespace } from "./namespaces/sound.js"; import { createRngNamespace } from "./namespaces/rng.js"; import { createParticleNamespace } from "./namespaces/particle.js"; import { createShaderNamespace } from "./namespaces/shader.js"; import { createAnimationNamespace } from "./namespaces/animation.js"; import { createSceneNamespace } from "./namespaces/scene.js"; export { McpGateway, McpGatewayError } from "./gateway.js"; export type { McpNamespaceStatus, McpToolListing, McpResourceListing, McpPromptListing, } from "./gateway.js"; export type { McpNamespace, McpTool, McpToolInputSchema, McpTextContent, McpToolResult, McpResource, McpResourceContents, McpResourceReadResult, McpPrompt, McpPromptMessage, McpPromptResult, } from "./namespace.js"; export { createServerNamespace } from "./namespaces/server.js"; export type { ServerNamespaceOptions } from "./namespaces/server.js"; export { createMapNamespace } from "./namespaces/map.js"; export { createTimeNamespace } from "./namespaces/time.js"; export { createItemNamespace } from "./namespaces/item.js"; export { createCraftNamespace } from "./namespaces/craft.js"; export { createCropNamespace } from "./namespaces/crop.js"; export { createShopNamespace } from "./namespaces/shop.js"; export { createSaveNamespace } from "./namespaces/save.js"; export { createBehaviorNamespace } from "./namespaces/behavior.js"; export { createDialogueNamespace } from "./namespaces/dialogue.js"; export { createWeatherNamespace } from "./namespaces/weather.js"; export { createPlacementNamespace } from "./namespaces/placement.js"; export { createNpcNamespace } from "./namespaces/npc.js"; export { createPlayerNamespace } from "./namespaces/player.js"; export { createAnimalNamespace } from "./namespaces/animal.js"; export { createModNamespace } from "./namespaces/mod.js"; export { createSpriteNamespace } from "./namespaces/sprite.js"; export { createSoundNamespace } from "./namespaces/sound.js"; export { createRngNamespace } from "./namespaces/rng.js"; export { createParticleNamespace } from "./namespaces/particle.js"; export { createShaderNamespace } from "./namespaces/shader.js"; export { createAnimationNamespace } from "./namespaces/animation.js"; export { createSceneNamespace } from "./namespaces/scene.js"; export interface EngineNamespacesOptions { gateway?: McpGateway | undefined; } export function createEngineNamespaces(engine: Engine, options: EngineNamespacesOptions = {}): McpNamespace[] { return [ createServerNamespace(engine, options.gateway ? { gateway: options.gateway } : {}), createMapNamespace(engine), createTimeNamespace(engine), createItemNamespace(engine), createCraftNamespace(engine), createCropNamespace(engine), createShopNamespace(engine), createSaveNamespace(engine), createBehaviorNamespace(engine), createDialogueNamespace(engine), createWeatherNamespace(engine), createPlacementNamespace(engine), createNpcNamespace(engine), createPlayerNamespace(engine), createAnimalNamespace(engine), createModNamespace(engine), createSpriteNamespace(engine), createSoundNamespace(engine), createRngNamespace(engine), createParticleNamespace(engine), createShaderNamespace(engine), createAnimationNamespace(engine), createSceneNamespace(engine), ]; }