index.ts 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import type { Engine } from "@nengine/core";
  2. import type { McpGateway } from "./gateway.js";
  3. import type { McpNamespace } from "./namespace.js";
  4. import { createServerNamespace } from "./namespaces/server.js";
  5. import { createMapNamespace } from "./namespaces/map.js";
  6. import { createTimeNamespace } from "./namespaces/time.js";
  7. import { createItemNamespace } from "./namespaces/item.js";
  8. import { createCraftNamespace } from "./namespaces/craft.js";
  9. import { createCropNamespace } from "./namespaces/crop.js";
  10. import { createShopNamespace } from "./namespaces/shop.js";
  11. import { createSaveNamespace } from "./namespaces/save.js";
  12. import { createBehaviorNamespace } from "./namespaces/behavior.js";
  13. import { createDialogueNamespace } from "./namespaces/dialogue.js";
  14. import { createWeatherNamespace } from "./namespaces/weather.js";
  15. import { createPlacementNamespace } from "./namespaces/placement.js";
  16. import { createNpcNamespace } from "./namespaces/npc.js";
  17. import { createPlayerNamespace } from "./namespaces/player.js";
  18. import { createAnimalNamespace } from "./namespaces/animal.js";
  19. import { createModNamespace } from "./namespaces/mod.js";
  20. import { createSpriteNamespace } from "./namespaces/sprite.js";
  21. import { createSoundNamespace } from "./namespaces/sound.js";
  22. import { createRngNamespace } from "./namespaces/rng.js";
  23. import { createParticleNamespace } from "./namespaces/particle.js";
  24. import { createShaderNamespace } from "./namespaces/shader.js";
  25. import { createAnimationNamespace } from "./namespaces/animation.js";
  26. import { createSceneNamespace } from "./namespaces/scene.js";
  27. export { McpGateway, McpGatewayError } from "./gateway.js";
  28. export type {
  29. McpNamespaceStatus,
  30. McpToolListing,
  31. McpResourceListing,
  32. McpPromptListing,
  33. } from "./gateway.js";
  34. export type {
  35. McpNamespace,
  36. McpTool,
  37. McpToolInputSchema,
  38. McpTextContent,
  39. McpToolResult,
  40. McpResource,
  41. McpResourceContents,
  42. McpResourceReadResult,
  43. McpPrompt,
  44. McpPromptMessage,
  45. McpPromptResult,
  46. } from "./namespace.js";
  47. export { createServerNamespace } from "./namespaces/server.js";
  48. export type { ServerNamespaceOptions } from "./namespaces/server.js";
  49. export { createMapNamespace } from "./namespaces/map.js";
  50. export { createTimeNamespace } from "./namespaces/time.js";
  51. export { createItemNamespace } from "./namespaces/item.js";
  52. export { createCraftNamespace } from "./namespaces/craft.js";
  53. export { createCropNamespace } from "./namespaces/crop.js";
  54. export { createShopNamespace } from "./namespaces/shop.js";
  55. export { createSaveNamespace } from "./namespaces/save.js";
  56. export { createBehaviorNamespace } from "./namespaces/behavior.js";
  57. export { createDialogueNamespace } from "./namespaces/dialogue.js";
  58. export { createWeatherNamespace } from "./namespaces/weather.js";
  59. export { createPlacementNamespace } from "./namespaces/placement.js";
  60. export { createNpcNamespace } from "./namespaces/npc.js";
  61. export { createPlayerNamespace } from "./namespaces/player.js";
  62. export { createAnimalNamespace } from "./namespaces/animal.js";
  63. export { createModNamespace } from "./namespaces/mod.js";
  64. export { createSpriteNamespace } from "./namespaces/sprite.js";
  65. export { createSoundNamespace } from "./namespaces/sound.js";
  66. export { createRngNamespace } from "./namespaces/rng.js";
  67. export { createParticleNamespace } from "./namespaces/particle.js";
  68. export { createShaderNamespace } from "./namespaces/shader.js";
  69. export { createAnimationNamespace } from "./namespaces/animation.js";
  70. export { createSceneNamespace } from "./namespaces/scene.js";
  71. export interface EngineNamespacesOptions {
  72. gateway?: McpGateway | undefined;
  73. }
  74. export function createEngineNamespaces(engine: Engine, options: EngineNamespacesOptions = {}): McpNamespace[] {
  75. return [
  76. createServerNamespace(engine, options.gateway ? { gateway: options.gateway } : {}),
  77. createMapNamespace(engine),
  78. createTimeNamespace(engine),
  79. createItemNamespace(engine),
  80. createCraftNamespace(engine),
  81. createCropNamespace(engine),
  82. createShopNamespace(engine),
  83. createSaveNamespace(engine),
  84. createBehaviorNamespace(engine),
  85. createDialogueNamespace(engine),
  86. createWeatherNamespace(engine),
  87. createPlacementNamespace(engine),
  88. createNpcNamespace(engine),
  89. createPlayerNamespace(engine),
  90. createAnimalNamespace(engine),
  91. createModNamespace(engine),
  92. createSpriteNamespace(engine),
  93. createSoundNamespace(engine),
  94. createRngNamespace(engine),
  95. createParticleNamespace(engine),
  96. createShaderNamespace(engine),
  97. createAnimationNamespace(engine),
  98. createSceneNamespace(engine),
  99. ];
  100. }