@mythxengine/mcp-server 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.
Files changed (214) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/assemble.test.d.ts +2 -0
  3. package/dist/__tests__/assemble.test.d.ts.map +1 -0
  4. package/dist/__tests__/assemble.test.js +81 -0
  5. package/dist/__tests__/assemble.test.js.map +1 -0
  6. package/dist/index.d.ts +10 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +38 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/resources/index.d.ts +9 -0
  11. package/dist/resources/index.d.ts.map +1 -0
  12. package/dist/resources/index.js +202 -0
  13. package/dist/resources/index.js.map +1 -0
  14. package/dist/server.d.ts +41 -0
  15. package/dist/server.d.ts.map +1 -0
  16. package/dist/server.js +91 -0
  17. package/dist/server.js.map +1 -0
  18. package/dist/state/manager.d.ts +88 -0
  19. package/dist/state/manager.d.ts.map +1 -0
  20. package/dist/state/manager.js +308 -0
  21. package/dist/state/manager.js.map +1 -0
  22. package/dist/state/rules.d.ts +30 -0
  23. package/dist/state/rules.d.ts.map +1 -0
  24. package/dist/state/rules.js +61 -0
  25. package/dist/state/rules.js.map +1 -0
  26. package/dist/state/worldpacks.d.ts +43 -0
  27. package/dist/state/worldpacks.d.ts.map +1 -0
  28. package/dist/state/worldpacks.js +125 -0
  29. package/dist/state/worldpacks.js.map +1 -0
  30. package/dist/tools/augmentation/augment.d.ts +15 -0
  31. package/dist/tools/augmentation/augment.d.ts.map +1 -0
  32. package/dist/tools/augmentation/augment.js +512 -0
  33. package/dist/tools/augmentation/augment.js.map +1 -0
  34. package/dist/tools/augmentation/index.d.ts +6 -0
  35. package/dist/tools/augmentation/index.d.ts.map +1 -0
  36. package/dist/tools/augmentation/index.js +7 -0
  37. package/dist/tools/augmentation/index.js.map +1 -0
  38. package/dist/tools/characters.d.ts +26 -0
  39. package/dist/tools/characters.d.ts.map +1 -0
  40. package/dist/tools/characters.js +362 -0
  41. package/dist/tools/characters.js.map +1 -0
  42. package/dist/tools/clocks.d.ts +33 -0
  43. package/dist/tools/clocks.d.ts.map +1 -0
  44. package/dist/tools/clocks.js +438 -0
  45. package/dist/tools/clocks.js.map +1 -0
  46. package/dist/tools/combat.d.ts +38 -0
  47. package/dist/tools/combat.d.ts.map +1 -0
  48. package/dist/tools/combat.js +574 -0
  49. package/dist/tools/combat.js.map +1 -0
  50. package/dist/tools/dice.d.ts +9 -0
  51. package/dist/tools/dice.d.ts.map +1 -0
  52. package/dist/tools/dice.js +287 -0
  53. package/dist/tools/dice.js.map +1 -0
  54. package/dist/tools/encounters.d.ts +21 -0
  55. package/dist/tools/encounters.d.ts.map +1 -0
  56. package/dist/tools/encounters.js +521 -0
  57. package/dist/tools/encounters.js.map +1 -0
  58. package/dist/tools/engagement.d.ts +25 -0
  59. package/dist/tools/engagement.d.ts.map +1 -0
  60. package/dist/tools/engagement.js +491 -0
  61. package/dist/tools/engagement.js.map +1 -0
  62. package/dist/tools/expansion/archetype.d.ts +12 -0
  63. package/dist/tools/expansion/archetype.d.ts.map +1 -0
  64. package/dist/tools/expansion/archetype.js +157 -0
  65. package/dist/tools/expansion/archetype.js.map +1 -0
  66. package/dist/tools/expansion/index.d.ts +12 -0
  67. package/dist/tools/expansion/index.d.ts.map +1 -0
  68. package/dist/tools/expansion/index.js +21 -0
  69. package/dist/tools/expansion/index.js.map +1 -0
  70. package/dist/tools/expansion/location.d.ts +12 -0
  71. package/dist/tools/expansion/location.d.ts.map +1 -0
  72. package/dist/tools/expansion/location.js +149 -0
  73. package/dist/tools/expansion/location.js.map +1 -0
  74. package/dist/tools/expansion/monster.d.ts +12 -0
  75. package/dist/tools/expansion/monster.d.ts.map +1 -0
  76. package/dist/tools/expansion/monster.js +157 -0
  77. package/dist/tools/expansion/monster.js.map +1 -0
  78. package/dist/tools/expansion/npc.d.ts +12 -0
  79. package/dist/tools/expansion/npc.d.ts.map +1 -0
  80. package/dist/tools/expansion/npc.js +153 -0
  81. package/dist/tools/expansion/npc.js.map +1 -0
  82. package/dist/tools/generation/archetypes.d.ts +12 -0
  83. package/dist/tools/generation/archetypes.d.ts.map +1 -0
  84. package/dist/tools/generation/archetypes.js +129 -0
  85. package/dist/tools/generation/archetypes.js.map +1 -0
  86. package/dist/tools/generation/arcs.d.ts +13 -0
  87. package/dist/tools/generation/arcs.d.ts.map +1 -0
  88. package/dist/tools/generation/arcs.js +186 -0
  89. package/dist/tools/generation/arcs.js.map +1 -0
  90. package/dist/tools/generation/encounters.d.ts +12 -0
  91. package/dist/tools/generation/encounters.d.ts.map +1 -0
  92. package/dist/tools/generation/encounters.js +169 -0
  93. package/dist/tools/generation/encounters.js.map +1 -0
  94. package/dist/tools/generation/index.d.ts +19 -0
  95. package/dist/tools/generation/index.d.ts.map +1 -0
  96. package/dist/tools/generation/index.js +42 -0
  97. package/dist/tools/generation/index.js.map +1 -0
  98. package/dist/tools/generation/items.d.ts +12 -0
  99. package/dist/tools/generation/items.d.ts.map +1 -0
  100. package/dist/tools/generation/items.js +149 -0
  101. package/dist/tools/generation/items.js.map +1 -0
  102. package/dist/tools/generation/locations.d.ts +12 -0
  103. package/dist/tools/generation/locations.d.ts.map +1 -0
  104. package/dist/tools/generation/locations.js +131 -0
  105. package/dist/tools/generation/locations.js.map +1 -0
  106. package/dist/tools/generation/monsters.d.ts +12 -0
  107. package/dist/tools/generation/monsters.d.ts.map +1 -0
  108. package/dist/tools/generation/monsters.js +154 -0
  109. package/dist/tools/generation/monsters.js.map +1 -0
  110. package/dist/tools/generation/narrative.d.ts +12 -0
  111. package/dist/tools/generation/narrative.d.ts.map +1 -0
  112. package/dist/tools/generation/narrative.js +129 -0
  113. package/dist/tools/generation/narrative.js.map +1 -0
  114. package/dist/tools/generation/npcs.d.ts +12 -0
  115. package/dist/tools/generation/npcs.d.ts.map +1 -0
  116. package/dist/tools/generation/npcs.js +136 -0
  117. package/dist/tools/generation/npcs.js.map +1 -0
  118. package/dist/tools/generation/resume.d.ts +12 -0
  119. package/dist/tools/generation/resume.d.ts.map +1 -0
  120. package/dist/tools/generation/resume.js +288 -0
  121. package/dist/tools/generation/resume.js.map +1 -0
  122. package/dist/tools/generation/rules-prompt.d.ts +23 -0
  123. package/dist/tools/generation/rules-prompt.d.ts.map +1 -0
  124. package/dist/tools/generation/rules-prompt.js +209 -0
  125. package/dist/tools/generation/rules-prompt.js.map +1 -0
  126. package/dist/tools/generation/seed.d.ts +12 -0
  127. package/dist/tools/generation/seed.d.ts.map +1 -0
  128. package/dist/tools/generation/seed.js +171 -0
  129. package/dist/tools/generation/seed.js.map +1 -0
  130. package/dist/tools/generation/situations.d.ts +13 -0
  131. package/dist/tools/generation/situations.d.ts.map +1 -0
  132. package/dist/tools/generation/situations.js +247 -0
  133. package/dist/tools/generation/situations.js.map +1 -0
  134. package/dist/tools/gm-guidance.d.ts +13 -0
  135. package/dist/tools/gm-guidance.d.ts.map +1 -0
  136. package/dist/tools/gm-guidance.js +395 -0
  137. package/dist/tools/gm-guidance.js.map +1 -0
  138. package/dist/tools/index.d.ts +33 -0
  139. package/dist/tools/index.d.ts.map +1 -0
  140. package/dist/tools/index.js +80 -0
  141. package/dist/tools/index.js.map +1 -0
  142. package/dist/tools/investigation.d.ts +41 -0
  143. package/dist/tools/investigation.d.ts.map +1 -0
  144. package/dist/tools/investigation.js +586 -0
  145. package/dist/tools/investigation.js.map +1 -0
  146. package/dist/tools/leads.d.ts +29 -0
  147. package/dist/tools/leads.d.ts.map +1 -0
  148. package/dist/tools/leads.js +460 -0
  149. package/dist/tools/leads.js.map +1 -0
  150. package/dist/tools/players.d.ts +30 -0
  151. package/dist/tools/players.d.ts.map +1 -0
  152. package/dist/tools/players.js +448 -0
  153. package/dist/tools/players.js.map +1 -0
  154. package/dist/tools/portable-clues.d.ts +29 -0
  155. package/dist/tools/portable-clues.d.ts.map +1 -0
  156. package/dist/tools/portable-clues.js +490 -0
  157. package/dist/tools/portable-clues.js.map +1 -0
  158. package/dist/tools/relationships.d.ts +29 -0
  159. package/dist/tools/relationships.d.ts.map +1 -0
  160. package/dist/tools/relationships.js +471 -0
  161. package/dist/tools/relationships.js.map +1 -0
  162. package/dist/tools/scene-framing.d.ts +21 -0
  163. package/dist/tools/scene-framing.d.ts.map +1 -0
  164. package/dist/tools/scene-framing.js +380 -0
  165. package/dist/tools/scene-framing.js.map +1 -0
  166. package/dist/tools/sessions.d.ts +30 -0
  167. package/dist/tools/sessions.d.ts.map +1 -0
  168. package/dist/tools/sessions.js +253 -0
  169. package/dist/tools/sessions.js.map +1 -0
  170. package/dist/tools/time.d.ts +26 -0
  171. package/dist/tools/time.d.ts.map +1 -0
  172. package/dist/tools/time.js +438 -0
  173. package/dist/tools/time.js.map +1 -0
  174. package/dist/tools/turns.d.ts +38 -0
  175. package/dist/tools/turns.d.ts.map +1 -0
  176. package/dist/tools/turns.js +560 -0
  177. package/dist/tools/turns.js.map +1 -0
  178. package/dist/tools/worldpack/assemble.d.ts +20 -0
  179. package/dist/tools/worldpack/assemble.d.ts.map +1 -0
  180. package/dist/tools/worldpack/assemble.js +237 -0
  181. package/dist/tools/worldpack/assemble.js.map +1 -0
  182. package/dist/tools/worldpack/docs-generator.d.ts +18 -0
  183. package/dist/tools/worldpack/docs-generator.d.ts.map +1 -0
  184. package/dist/tools/worldpack/docs-generator.js +264 -0
  185. package/dist/tools/worldpack/docs-generator.js.map +1 -0
  186. package/dist/tools/worldpack/export.d.ts +12 -0
  187. package/dist/tools/worldpack/export.d.ts.map +1 -0
  188. package/dist/tools/worldpack/export.js +209 -0
  189. package/dist/tools/worldpack/export.js.map +1 -0
  190. package/dist/tools/worldpack/index.d.ts +15 -0
  191. package/dist/tools/worldpack/index.d.ts.map +1 -0
  192. package/dist/tools/worldpack/index.js +30 -0
  193. package/dist/tools/worldpack/index.js.map +1 -0
  194. package/dist/tools/worldpack/lookup.d.ts +19 -0
  195. package/dist/tools/worldpack/lookup.d.ts.map +1 -0
  196. package/dist/tools/worldpack/lookup.js +320 -0
  197. package/dist/tools/worldpack/lookup.js.map +1 -0
  198. package/dist/tools/worldpack/manage.d.ts +20 -0
  199. package/dist/tools/worldpack/manage.d.ts.map +1 -0
  200. package/dist/tools/worldpack/manage.js +101 -0
  201. package/dist/tools/worldpack/manage.js.map +1 -0
  202. package/dist/tools/worldpack/save-result.d.ts +12 -0
  203. package/dist/tools/worldpack/save-result.d.ts.map +1 -0
  204. package/dist/tools/worldpack/save-result.js +222 -0
  205. package/dist/tools/worldpack/save-result.js.map +1 -0
  206. package/dist/tools/worldpack/summary.d.ts +13 -0
  207. package/dist/tools/worldpack/summary.d.ts.map +1 -0
  208. package/dist/tools/worldpack/summary.js +180 -0
  209. package/dist/tools/worldpack/summary.js.map +1 -0
  210. package/dist/tools/worldpack/validate.d.ts +12 -0
  211. package/dist/tools/worldpack/validate.d.ts.map +1 -0
  212. package/dist/tools/worldpack/validate.js +388 -0
  213. package/dist/tools/worldpack/validate.js.map +1 -0
  214. package/package.json +59 -0
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Export World Pack Tool
3
+ *
4
+ * Exports a world pack to various formats.
5
+ */
6
+ import { z } from "zod";
7
+ import { writeFile, mkdir } from "fs/promises";
8
+ import { join } from "path";
9
+ import { sessionManager } from "../../state/manager.js";
10
+ import { worldPackManager } from "../../state/worldpacks.js";
11
+ const DATA_DIR = process.env.RPG_MCP_DATA_DIR || join(process.cwd(), "data");
12
+ const EXPORT_DIR = join(DATA_DIR, "exports");
13
+ const ExportWorldPackInput = z.object({
14
+ sessionId: z.string().optional().describe("Session ID (if exporting from session)"),
15
+ packId: z.string().optional().describe("Pack ID (if exporting saved pack)"),
16
+ format: z.enum(["json", "markdown", "both"]).optional().default("json"),
17
+ });
18
+ /**
19
+ * export_world_pack tool
20
+ */
21
+ export const exportWorldPackTool = {
22
+ name: "export_world_pack",
23
+ description: "Export a world pack to JSON and/or markdown format.",
24
+ inputSchema: {
25
+ type: "object",
26
+ properties: {
27
+ sessionId: { type: "string", description: "Session ID (if exporting from session)" },
28
+ packId: { type: "string", description: "Pack ID (if exporting saved pack)" },
29
+ format: {
30
+ type: "string",
31
+ enum: ["json", "markdown", "both"],
32
+ description: "Export format (default: json)"
33
+ },
34
+ },
35
+ },
36
+ handler: async (args) => {
37
+ const input = ExportWorldPackInput.parse(args);
38
+ if (!input.sessionId && !input.packId) {
39
+ throw new Error("Either sessionId or packId must be provided");
40
+ }
41
+ let worldPack = null;
42
+ let packId;
43
+ if (input.packId) {
44
+ packId = input.packId;
45
+ worldPack = await worldPackManager.get(packId);
46
+ if (!worldPack) {
47
+ throw new Error(`World pack not found: ${packId}`);
48
+ }
49
+ }
50
+ else if (input.sessionId) {
51
+ const session = await sessionManager.get(input.sessionId);
52
+ if (!session) {
53
+ throw new Error(`Session not found: ${input.sessionId}`);
54
+ }
55
+ if (!session.generation?.worldPackId) {
56
+ throw new Error("No assembled world pack in session. Call assemble_world_pack first.");
57
+ }
58
+ packId = session.generation.worldPackId;
59
+ worldPack = await worldPackManager.get(packId);
60
+ if (!worldPack) {
61
+ throw new Error(`World pack not found: ${packId}`);
62
+ }
63
+ }
64
+ else {
65
+ throw new Error("Could not determine pack ID");
66
+ }
67
+ await mkdir(EXPORT_DIR, { recursive: true });
68
+ const exportedFiles = [];
69
+ const format = input.format || "json";
70
+ // Export JSON
71
+ if (format === "json" || format === "both") {
72
+ const jsonPath = join(EXPORT_DIR, `${packId}.json`);
73
+ await writeFile(jsonPath, JSON.stringify(worldPack, null, 2), "utf-8");
74
+ exportedFiles.push(jsonPath);
75
+ }
76
+ // Export Markdown
77
+ if (format === "markdown" || format === "both") {
78
+ const markdown = generateMarkdown(worldPack);
79
+ const mdPath = join(EXPORT_DIR, `${packId}.md`);
80
+ await writeFile(mdPath, markdown, "utf-8");
81
+ exportedFiles.push(mdPath);
82
+ }
83
+ return {
84
+ message: `World pack exported`,
85
+ packId,
86
+ name: worldPack.meta.name,
87
+ files: exportedFiles,
88
+ };
89
+ },
90
+ };
91
+ /**
92
+ * Generate markdown documentation for a world pack
93
+ */
94
+ function generateMarkdown(pack) {
95
+ const lines = [];
96
+ // Header
97
+ lines.push(`# ${pack.meta.name}`);
98
+ lines.push("");
99
+ lines.push(`> ${pack.meta.tagline}`);
100
+ lines.push("");
101
+ // Overview
102
+ lines.push("## Overview");
103
+ lines.push("");
104
+ lines.push(`**Tone:** ${pack.meta.aesthetic.tone}`);
105
+ lines.push(`**Themes:** ${pack.meta.aesthetic.themes.join(", ")}`);
106
+ lines.push(`**Visual Style:** ${pack.meta.aesthetic.visualStyle}`);
107
+ lines.push("");
108
+ lines.push(`**Settings:**`);
109
+ lines.push(`- Lethality: ${pack.meta.settings.lethality}`);
110
+ lines.push(`- Magic Level: ${pack.meta.settings.magicLevel}`);
111
+ lines.push(`- Technology: ${pack.meta.settings.technologyLevel}`);
112
+ lines.push(`- Supernatural: ${pack.meta.settings.supernaturalPresence}`);
113
+ lines.push("");
114
+ // Archetypes
115
+ lines.push("## Archetypes");
116
+ lines.push("");
117
+ for (const archetype of Object.values(pack.archetypes)) {
118
+ lines.push(`### ${archetype.name}`);
119
+ lines.push(`*${archetype.tagline}*`);
120
+ lines.push("");
121
+ lines.push(archetype.description);
122
+ lines.push("");
123
+ lines.push(`**Starting Stats:** HP ${archetype.starting.hp} | STR ${archetype.starting.abilities.STR} AGI ${archetype.starting.abilities.AGI} WIT ${archetype.starting.abilities.WIT} CON ${archetype.starting.abilities.CON}`);
124
+ lines.push("");
125
+ lines.push("**Features:**");
126
+ for (const feature of archetype.features) {
127
+ lines.push(`- **${feature.name}:** ${feature.description}`);
128
+ }
129
+ lines.push("");
130
+ lines.push(`**Playstyle:** ${archetype.playstyle}`);
131
+ lines.push("");
132
+ lines.push(`*${archetype.flavor}*`);
133
+ lines.push("");
134
+ }
135
+ // Locations
136
+ lines.push("## Locations");
137
+ lines.push("");
138
+ for (const location of Object.values(pack.locations)) {
139
+ lines.push(`### ${location.name}`);
140
+ lines.push(`*${location.type}*`);
141
+ lines.push("");
142
+ lines.push(location.description);
143
+ lines.push("");
144
+ lines.push(`**Atmosphere:** ${location.atmosphere}`);
145
+ lines.push("");
146
+ if (location.features.length > 0) {
147
+ lines.push("**Features:**");
148
+ for (const feature of location.features) {
149
+ lines.push(`- ${feature}`);
150
+ }
151
+ lines.push("");
152
+ }
153
+ }
154
+ // NPCs
155
+ lines.push("## NPCs");
156
+ lines.push("");
157
+ for (const npc of Object.values(pack.npcs)) {
158
+ lines.push(`### ${npc.name}`);
159
+ lines.push(`*${npc.narrativeRole} - ${npc.attitude}*`);
160
+ lines.push("");
161
+ lines.push(npc.description);
162
+ lines.push("");
163
+ lines.push(`**Personality:** ${npc.personality}`);
164
+ lines.push(`**Motivation:** ${npc.motivation}`);
165
+ lines.push("");
166
+ }
167
+ // Monsters
168
+ lines.push("## Monsters");
169
+ lines.push("");
170
+ for (const monster of Object.values(pack.monsters)) {
171
+ lines.push(`### ${monster.name}`);
172
+ lines.push(`*${monster.threat}*`);
173
+ lines.push("");
174
+ lines.push(monster.description);
175
+ lines.push("");
176
+ lines.push(`**Stats:** HP ${monster.hp} | Armor ${monster.armor} | STR ${monster.abilities.STR} AGI ${monster.abilities.AGI} WIT ${monster.abilities.WIT} CON ${monster.abilities.CON}`);
177
+ lines.push("");
178
+ lines.push("**Attacks:**");
179
+ for (const attack of monster.attacks) {
180
+ lines.push(`- **${attack.name}:** ${attack.damage} (${attack.ability}) - ${attack.flavor}`);
181
+ }
182
+ lines.push("");
183
+ lines.push(`**Tactics:** ${monster.tactics.specialBehavior || `Prefers ${monster.tactics.preferredRange}, targets ${monster.tactics.targetPriority}`}`);
184
+ lines.push("");
185
+ lines.push(`**Lore:** ${monster.lore}`);
186
+ lines.push("");
187
+ }
188
+ // Narrative Guidance
189
+ lines.push("## Narrative Guidance");
190
+ lines.push("");
191
+ lines.push("### Opening Scenes");
192
+ for (const scene of pack.narrativeGuidance.openingScenes) {
193
+ lines.push(`- ${scene}`);
194
+ }
195
+ lines.push("");
196
+ lines.push("### Plot Hooks");
197
+ for (const hook of pack.narrativeGuidance.plotHooks) {
198
+ lines.push(`- ${hook}`);
199
+ }
200
+ lines.push("");
201
+ lines.push("### Common Conflicts");
202
+ for (const conflict of pack.narrativeGuidance.commonConflicts) {
203
+ lines.push(`- ${conflict}`);
204
+ }
205
+ lines.push("");
206
+ return lines.join("\n");
207
+ }
208
+ export const exportTools = [exportWorldPackTool];
209
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/tools/worldpack/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;AAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE7C,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACnF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC3E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACxE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC/C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,qDAAqD;IAClE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;YACpF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC5E,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;gBAClC,WAAW,EAAE,+BAA+B;aAC7C;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,SAAS,GAA4B,IAAI,CAAC;QAC9C,IAAI,MAAc,CAAC;QAEnB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACtB,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;YACxC,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;QAEtC,cAAc;QACd,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;YACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;YAChD,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,OAAO,EAAE,qBAAqB;YAC9B,MAAM;YACN,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI;YACzB,KAAK,EAAE,aAAa;SACrB,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAsB;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,WAAW;IACX,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAChO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YAC7B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO;IACP,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,MAAM,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,WAAW;IACX,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACzL,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,OAAO,CAAC,eAAe,IAAI,WAAW,OAAO,CAAC,OAAO,CAAC,cAAc,aAAa,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACxJ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * World pack tools - assembly, validation, export, management, summary, and lookup
3
+ */
4
+ export { saveResultTools, saveGenerationResultTool } from "./save-result.js";
5
+ export { assembleTools, assembleWorldPackTool } from "./assemble.js";
6
+ export { validateTools, validateWorldPackTool } from "./validate.js";
7
+ export { exportTools, exportWorldPackTool } from "./export.js";
8
+ export { manageTools, listWorldPacksTool, loadWorldPackTool, deleteWorldPackTool } from "./manage.js";
9
+ export { summaryTools, loadWorldSummaryTool } from "./summary.js";
10
+ export { lookupTools, getArchetypeTool, getLocationTool, getNpcTool, getMonsterTool, getItemTool, getEncounterTool, getConditionTool, getSituationTool, getArcTool, getFactionTool, } from "./lookup.js";
11
+ /**
12
+ * All world pack tools
13
+ */
14
+ export declare const worldpackTools: import("@mythxengine/types").MCPToolEntry[];
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/worldpack/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC;AAUrB;;GAEG;AACH,eAAO,MAAM,cAAc,6CAQ1B,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * World pack tools - assembly, validation, export, management, summary, and lookup
3
+ */
4
+ export { saveResultTools, saveGenerationResultTool } from "./save-result.js";
5
+ export { assembleTools, assembleWorldPackTool } from "./assemble.js";
6
+ export { validateTools, validateWorldPackTool } from "./validate.js";
7
+ export { exportTools, exportWorldPackTool } from "./export.js";
8
+ export { manageTools, listWorldPacksTool, loadWorldPackTool, deleteWorldPackTool } from "./manage.js";
9
+ export { summaryTools, loadWorldSummaryTool } from "./summary.js";
10
+ export { lookupTools, getArchetypeTool, getLocationTool, getNpcTool, getMonsterTool, getItemTool, getEncounterTool, getConditionTool, getSituationTool, getArcTool, getFactionTool, } from "./lookup.js";
11
+ import { saveResultTools } from "./save-result.js";
12
+ import { assembleTools } from "./assemble.js";
13
+ import { validateTools } from "./validate.js";
14
+ import { exportTools } from "./export.js";
15
+ import { manageTools } from "./manage.js";
16
+ import { summaryTools } from "./summary.js";
17
+ import { lookupTools } from "./lookup.js";
18
+ /**
19
+ * All world pack tools
20
+ */
21
+ export const worldpackTools = [
22
+ ...saveResultTools,
23
+ ...assembleTools,
24
+ ...validateTools,
25
+ ...exportTools,
26
+ ...manageTools,
27
+ ...summaryTools,
28
+ ...lookupTools,
29
+ ];
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/worldpack/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,aAAa;IAChB,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,YAAY;IACf,GAAG,WAAW;CACf,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * World Pack Lookup Tools
3
+ *
4
+ * Individual entity lookup tools for on-demand access to full entity details.
5
+ * Use load_world_summary for a compact overview, then these tools for specifics.
6
+ */
7
+ import type { MCPToolEntry } from "@mythxengine/types";
8
+ export declare const getArchetypeTool: MCPToolEntry;
9
+ export declare const getLocationTool: MCPToolEntry;
10
+ export declare const getNpcTool: MCPToolEntry;
11
+ export declare const getMonsterTool: MCPToolEntry;
12
+ export declare const getItemTool: MCPToolEntry;
13
+ export declare const getEncounterTool: MCPToolEntry;
14
+ export declare const getConditionTool: MCPToolEntry;
15
+ export declare const getSituationTool: MCPToolEntry;
16
+ export declare const getArcTool: MCPToolEntry;
17
+ export declare const getFactionTool: MCPToolEntry;
18
+ export declare const lookupTools: MCPToolEntry[];
19
+ //# sourceMappingURL=lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/tools/worldpack/lookup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAYvD,eAAO,MAAM,gBAAgB,EAAE,YAqB9B,CAAC;AAWF,eAAO,MAAM,eAAe,EAAE,YAqB7B,CAAC;AAWF,eAAO,MAAM,UAAU,EAAE,YAqBxB,CAAC;AAWF,eAAO,MAAM,cAAc,EAAE,YAqB5B,CAAC;AAWF,eAAO,MAAM,WAAW,EAAE,YAqBzB,CAAC;AAWF,eAAO,MAAM,gBAAgB,EAAE,YAqB9B,CAAC;AAWF,eAAO,MAAM,gBAAgB,EAAE,YAqB9B,CAAC;AAWF,eAAO,MAAM,gBAAgB,EAAE,YAsB9B,CAAC;AAWF,eAAO,MAAM,UAAU,EAAE,YAsBxB,CAAC;AAWF,eAAO,MAAM,cAAc,EAAE,YAsB5B,CAAC;AAMF,eAAO,MAAM,WAAW,gBAWvB,CAAC"}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * World Pack Lookup Tools
3
+ *
4
+ * Individual entity lookup tools for on-demand access to full entity details.
5
+ * Use load_world_summary for a compact overview, then these tools for specifics.
6
+ */
7
+ import { z } from "zod";
8
+ import { worldPackManager } from "../../state/worldpacks.js";
9
+ // ============================================================================
10
+ // GET ARCHETYPE
11
+ // ============================================================================
12
+ const GetArchetypeInput = z.object({
13
+ packId: z.string(),
14
+ archetypeId: z.string(),
15
+ });
16
+ export const getArchetypeTool = {
17
+ name: "get_archetype",
18
+ description: "Get full details for a specific archetype from a world pack.",
19
+ inputSchema: {
20
+ type: "object",
21
+ properties: {
22
+ packId: { type: "string", description: "Pack ID" },
23
+ archetypeId: { type: "string", description: "Archetype ID to retrieve" },
24
+ },
25
+ required: ["packId", "archetypeId"],
26
+ },
27
+ handler: async (args) => {
28
+ const input = GetArchetypeInput.parse(args);
29
+ const pack = await worldPackManager.get(input.packId);
30
+ if (!pack)
31
+ throw new Error(`World pack not found: ${input.packId}`);
32
+ const archetype = pack.archetypes[input.archetypeId];
33
+ if (!archetype)
34
+ throw new Error(`Archetype not found: ${input.archetypeId}`);
35
+ return { archetype };
36
+ },
37
+ };
38
+ // ============================================================================
39
+ // GET LOCATION
40
+ // ============================================================================
41
+ const GetLocationInput = z.object({
42
+ packId: z.string(),
43
+ locationId: z.string(),
44
+ });
45
+ export const getLocationTool = {
46
+ name: "get_location",
47
+ description: "Get full details for a specific location from a world pack.",
48
+ inputSchema: {
49
+ type: "object",
50
+ properties: {
51
+ packId: { type: "string", description: "Pack ID" },
52
+ locationId: { type: "string", description: "Location ID to retrieve" },
53
+ },
54
+ required: ["packId", "locationId"],
55
+ },
56
+ handler: async (args) => {
57
+ const input = GetLocationInput.parse(args);
58
+ const pack = await worldPackManager.get(input.packId);
59
+ if (!pack)
60
+ throw new Error(`World pack not found: ${input.packId}`);
61
+ const location = pack.locations[input.locationId];
62
+ if (!location)
63
+ throw new Error(`Location not found: ${input.locationId}`);
64
+ return { location };
65
+ },
66
+ };
67
+ // ============================================================================
68
+ // GET NPC
69
+ // ============================================================================
70
+ const GetNpcInput = z.object({
71
+ packId: z.string(),
72
+ npcId: z.string(),
73
+ });
74
+ export const getNpcTool = {
75
+ name: "get_npc",
76
+ description: "Get full details for a specific NPC from a world pack.",
77
+ inputSchema: {
78
+ type: "object",
79
+ properties: {
80
+ packId: { type: "string", description: "Pack ID" },
81
+ npcId: { type: "string", description: "NPC ID to retrieve" },
82
+ },
83
+ required: ["packId", "npcId"],
84
+ },
85
+ handler: async (args) => {
86
+ const input = GetNpcInput.parse(args);
87
+ const pack = await worldPackManager.get(input.packId);
88
+ if (!pack)
89
+ throw new Error(`World pack not found: ${input.packId}`);
90
+ const npc = pack.npcs[input.npcId];
91
+ if (!npc)
92
+ throw new Error(`NPC not found: ${input.npcId}`);
93
+ return { npc };
94
+ },
95
+ };
96
+ // ============================================================================
97
+ // GET MONSTER
98
+ // ============================================================================
99
+ const GetMonsterInput = z.object({
100
+ packId: z.string(),
101
+ monsterId: z.string(),
102
+ });
103
+ export const getMonsterTool = {
104
+ name: "get_monster",
105
+ description: "Get full details for a specific monster from a world pack.",
106
+ inputSchema: {
107
+ type: "object",
108
+ properties: {
109
+ packId: { type: "string", description: "Pack ID" },
110
+ monsterId: { type: "string", description: "Monster ID to retrieve" },
111
+ },
112
+ required: ["packId", "monsterId"],
113
+ },
114
+ handler: async (args) => {
115
+ const input = GetMonsterInput.parse(args);
116
+ const pack = await worldPackManager.get(input.packId);
117
+ if (!pack)
118
+ throw new Error(`World pack not found: ${input.packId}`);
119
+ const monster = pack.monsters[input.monsterId];
120
+ if (!monster)
121
+ throw new Error(`Monster not found: ${input.monsterId}`);
122
+ return { monster };
123
+ },
124
+ };
125
+ // ============================================================================
126
+ // GET ITEM
127
+ // ============================================================================
128
+ const GetItemInput = z.object({
129
+ packId: z.string(),
130
+ itemId: z.string(),
131
+ });
132
+ export const getItemTool = {
133
+ name: "get_item",
134
+ description: "Get full details for a specific item from a world pack.",
135
+ inputSchema: {
136
+ type: "object",
137
+ properties: {
138
+ packId: { type: "string", description: "Pack ID" },
139
+ itemId: { type: "string", description: "Item ID to retrieve" },
140
+ },
141
+ required: ["packId", "itemId"],
142
+ },
143
+ handler: async (args) => {
144
+ const input = GetItemInput.parse(args);
145
+ const pack = await worldPackManager.get(input.packId);
146
+ if (!pack)
147
+ throw new Error(`World pack not found: ${input.packId}`);
148
+ const item = pack.items[input.itemId];
149
+ if (!item)
150
+ throw new Error(`Item not found: ${input.itemId}`);
151
+ return { item };
152
+ },
153
+ };
154
+ // ============================================================================
155
+ // GET ENCOUNTER
156
+ // ============================================================================
157
+ const GetEncounterInput = z.object({
158
+ packId: z.string(),
159
+ encounterId: z.string(),
160
+ });
161
+ export const getEncounterTool = {
162
+ name: "get_encounter",
163
+ description: "Get full details for a specific encounter from a world pack.",
164
+ inputSchema: {
165
+ type: "object",
166
+ properties: {
167
+ packId: { type: "string", description: "Pack ID" },
168
+ encounterId: { type: "string", description: "Encounter ID to retrieve" },
169
+ },
170
+ required: ["packId", "encounterId"],
171
+ },
172
+ handler: async (args) => {
173
+ const input = GetEncounterInput.parse(args);
174
+ const pack = await worldPackManager.get(input.packId);
175
+ if (!pack)
176
+ throw new Error(`World pack not found: ${input.packId}`);
177
+ const encounter = pack.encounters[input.encounterId];
178
+ if (!encounter)
179
+ throw new Error(`Encounter not found: ${input.encounterId}`);
180
+ return { encounter };
181
+ },
182
+ };
183
+ // ============================================================================
184
+ // GET CONDITION
185
+ // ============================================================================
186
+ const GetConditionInput = z.object({
187
+ packId: z.string(),
188
+ conditionId: z.string(),
189
+ });
190
+ export const getConditionTool = {
191
+ name: "get_condition",
192
+ description: "Get full details for a specific condition from a world pack.",
193
+ inputSchema: {
194
+ type: "object",
195
+ properties: {
196
+ packId: { type: "string", description: "Pack ID" },
197
+ conditionId: { type: "string", description: "Condition ID to retrieve" },
198
+ },
199
+ required: ["packId", "conditionId"],
200
+ },
201
+ handler: async (args) => {
202
+ const input = GetConditionInput.parse(args);
203
+ const pack = await worldPackManager.get(input.packId);
204
+ if (!pack)
205
+ throw new Error(`World pack not found: ${input.packId}`);
206
+ const condition = pack.conditions[input.conditionId];
207
+ if (!condition)
208
+ throw new Error(`Condition not found: ${input.conditionId}`);
209
+ return { condition };
210
+ },
211
+ };
212
+ // ============================================================================
213
+ // GET SITUATION
214
+ // ============================================================================
215
+ const GetSituationInput = z.object({
216
+ packId: z.string(),
217
+ situationId: z.string(),
218
+ });
219
+ export const getSituationTool = {
220
+ name: "get_situation",
221
+ description: "Get full details for a specific situation from a world pack. Includes leads, clock, complications, and outcomes.",
222
+ inputSchema: {
223
+ type: "object",
224
+ properties: {
225
+ packId: { type: "string", description: "Pack ID" },
226
+ situationId: { type: "string", description: "Situation ID to retrieve" },
227
+ },
228
+ required: ["packId", "situationId"],
229
+ },
230
+ handler: async (args) => {
231
+ const input = GetSituationInput.parse(args);
232
+ const pack = await worldPackManager.get(input.packId);
233
+ if (!pack)
234
+ throw new Error(`World pack not found: ${input.packId}`);
235
+ if (!pack.situations)
236
+ throw new Error(`No situations in world pack: ${input.packId}`);
237
+ const situation = pack.situations[input.situationId];
238
+ if (!situation)
239
+ throw new Error(`Situation not found: ${input.situationId}`);
240
+ return { situation };
241
+ },
242
+ };
243
+ // ============================================================================
244
+ // GET ARC
245
+ // ============================================================================
246
+ const GetArcInput = z.object({
247
+ packId: z.string(),
248
+ arcId: z.string(),
249
+ });
250
+ export const getArcTool = {
251
+ name: "get_arc",
252
+ description: "Get full details for a specific story arc from a world pack. Includes structure, situations, and resolution patterns.",
253
+ inputSchema: {
254
+ type: "object",
255
+ properties: {
256
+ packId: { type: "string", description: "Pack ID" },
257
+ arcId: { type: "string", description: "Arc ID to retrieve" },
258
+ },
259
+ required: ["packId", "arcId"],
260
+ },
261
+ handler: async (args) => {
262
+ const input = GetArcInput.parse(args);
263
+ const pack = await worldPackManager.get(input.packId);
264
+ if (!pack)
265
+ throw new Error(`World pack not found: ${input.packId}`);
266
+ if (!pack.arcs)
267
+ throw new Error(`No arcs in world pack: ${input.packId}`);
268
+ const arc = pack.arcs[input.arcId];
269
+ if (!arc)
270
+ throw new Error(`Arc not found: ${input.arcId}`);
271
+ return { arc };
272
+ },
273
+ };
274
+ // ============================================================================
275
+ // GET FACTION
276
+ // ============================================================================
277
+ const GetFactionInput = z.object({
278
+ packId: z.string(),
279
+ factionId: z.string(),
280
+ });
281
+ export const getFactionTool = {
282
+ name: "get_faction",
283
+ description: "Get full details for a specific faction from a world pack.",
284
+ inputSchema: {
285
+ type: "object",
286
+ properties: {
287
+ packId: { type: "string", description: "Pack ID" },
288
+ factionId: { type: "string", description: "Faction ID to retrieve" },
289
+ },
290
+ required: ["packId", "factionId"],
291
+ },
292
+ handler: async (args) => {
293
+ const input = GetFactionInput.parse(args);
294
+ const pack = await worldPackManager.get(input.packId);
295
+ if (!pack)
296
+ throw new Error(`World pack not found: ${input.packId}`);
297
+ if (!pack.factions)
298
+ throw new Error(`No factions in world pack: ${input.packId}`);
299
+ const faction = pack.factions[input.factionId];
300
+ if (!faction)
301
+ throw new Error(`Faction not found: ${input.factionId}`);
302
+ return { faction };
303
+ },
304
+ };
305
+ // ============================================================================
306
+ // EXPORT
307
+ // ============================================================================
308
+ export const lookupTools = [
309
+ getArchetypeTool,
310
+ getLocationTool,
311
+ getNpcTool,
312
+ getMonsterTool,
313
+ getItemTool,
314
+ getEncounterTool,
315
+ getConditionTool,
316
+ getSituationTool,
317
+ getArcTool,
318
+ getFactionTool,
319
+ ];
320
+ //# sourceMappingURL=lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/tools/worldpack/lookup.ts"],"names":[],"mappings":"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"}