@mythxengine/types 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 (82) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/rules.test.d.ts +5 -0
  3. package/dist/__tests__/rules.test.d.ts.map +1 -0
  4. package/dist/__tests__/rules.test.js +278 -0
  5. package/dist/__tests__/rules.test.js.map +1 -0
  6. package/dist/__tests__/time.test.d.ts +2 -0
  7. package/dist/__tests__/time.test.d.ts.map +1 -0
  8. package/dist/__tests__/time.test.js +125 -0
  9. package/dist/__tests__/time.test.js.map +1 -0
  10. package/dist/game/abilities.d.ts +77 -0
  11. package/dist/game/abilities.d.ts.map +1 -0
  12. package/dist/game/abilities.js +38 -0
  13. package/dist/game/abilities.js.map +1 -0
  14. package/dist/game/actions.d.ts +84 -0
  15. package/dist/game/actions.d.ts.map +1 -0
  16. package/dist/game/actions.js +10 -0
  17. package/dist/game/actions.js.map +1 -0
  18. package/dist/game/character.d.ts +128 -0
  19. package/dist/game/character.d.ts.map +1 -0
  20. package/dist/game/character.js +16 -0
  21. package/dist/game/character.js.map +1 -0
  22. package/dist/game/combat.d.ts +56 -0
  23. package/dist/game/combat.d.ts.map +1 -0
  24. package/dist/game/combat.js +5 -0
  25. package/dist/game/combat.js.map +1 -0
  26. package/dist/game/conditions.d.ts +216 -0
  27. package/dist/game/conditions.d.ts.map +1 -0
  28. package/dist/game/conditions.js +99 -0
  29. package/dist/game/conditions.js.map +1 -0
  30. package/dist/game/dice.d.ts +87 -0
  31. package/dist/game/dice.d.ts.map +1 -0
  32. package/dist/game/dice.js +13 -0
  33. package/dist/game/dice.js.map +1 -0
  34. package/dist/game/events.d.ts +85 -0
  35. package/dist/game/events.d.ts.map +1 -0
  36. package/dist/game/events.js +10 -0
  37. package/dist/game/events.js.map +1 -0
  38. package/dist/game/index.d.ts +13 -0
  39. package/dist/game/index.d.ts.map +1 -0
  40. package/dist/game/index.js +13 -0
  41. package/dist/game/index.js.map +1 -0
  42. package/dist/game/player.d.ts +110 -0
  43. package/dist/game/player.d.ts.map +1 -0
  44. package/dist/game/player.js +45 -0
  45. package/dist/game/player.js.map +1 -0
  46. package/dist/game/state.d.ts +99 -0
  47. package/dist/game/state.d.ts.map +1 -0
  48. package/dist/game/state.js +60 -0
  49. package/dist/game/state.js.map +1 -0
  50. package/dist/index.d.ts +10 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +14 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/rules/abilities.d.ts +82 -0
  55. package/dist/rules/abilities.d.ts.map +1 -0
  56. package/dist/rules/abilities.js +94 -0
  57. package/dist/rules/abilities.js.map +1 -0
  58. package/dist/rules/custom-tests.d.ts +163 -0
  59. package/dist/rules/custom-tests.d.ts.map +1 -0
  60. package/dist/rules/custom-tests.js +43 -0
  61. package/dist/rules/custom-tests.js.map +1 -0
  62. package/dist/rules/difficulties.d.ts +51 -0
  63. package/dist/rules/difficulties.d.ts.map +1 -0
  64. package/dist/rules/difficulties.js +77 -0
  65. package/dist/rules/difficulties.js.map +1 -0
  66. package/dist/rules/index.d.ts +123 -0
  67. package/dist/rules/index.d.ts.map +1 -0
  68. package/dist/rules/index.js +170 -0
  69. package/dist/rules/index.js.map +1 -0
  70. package/dist/rules/mechanics.d.ts +130 -0
  71. package/dist/rules/mechanics.d.ts.map +1 -0
  72. package/dist/rules/mechanics.js +64 -0
  73. package/dist/rules/mechanics.js.map +1 -0
  74. package/dist/session/index.d.ts +228 -0
  75. package/dist/session/index.d.ts.map +1 -0
  76. package/dist/session/index.js +60 -0
  77. package/dist/session/index.js.map +1 -0
  78. package/dist/tools/contract.d.ts +63 -0
  79. package/dist/tools/contract.d.ts.map +1 -0
  80. package/dist/tools/contract.js +36 -0
  81. package/dist/tools/contract.js.map +1 -0
  82. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AA6PzD;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,EAAE;SACT;QACD,UAAU,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;SACb;QACD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU,EAAE,IAAY;IACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,QAAQ,EAAE;YACR,EAAE;YACF,IAAI;YACJ,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf;QACD,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;QACpC,GAAG,EAAE,CAAC;QACN,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,qBAAqB,EAAE;QACjC,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Tool Execution Contract
3
+ *
4
+ * All MCP tools follow a uniform pattern for consistent error handling
5
+ * and response formatting.
6
+ */
7
+ import { z } from "zod";
8
+ import type { GameEvent } from "../game/index.js";
9
+ /**
10
+ * Standard tool error
11
+ */
12
+ export interface ToolError {
13
+ code: string;
14
+ message: string;
15
+ field?: string;
16
+ }
17
+ /**
18
+ * Standard tool output envelope
19
+ */
20
+ export interface ToolOutput<T = unknown> {
21
+ success: boolean;
22
+ result?: T;
23
+ events?: GameEvent[];
24
+ errors: ToolError[];
25
+ }
26
+ /**
27
+ * MCP tool entry for registry
28
+ */
29
+ export interface MCPToolEntry {
30
+ name: string;
31
+ description: string;
32
+ inputSchema: Record<string, unknown>;
33
+ handler: (args: unknown) => Promise<unknown>;
34
+ }
35
+ /**
36
+ * Tool registry type
37
+ */
38
+ export type MCPToolRegistry = Map<string, MCPToolEntry>;
39
+ /**
40
+ * Zod schema for tool errors
41
+ */
42
+ export declare const ToolErrorSchema: z.ZodObject<{
43
+ code: z.ZodString;
44
+ message: z.ZodString;
45
+ field: z.ZodOptional<z.ZodString>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ code: string;
48
+ message: string;
49
+ field?: string | undefined;
50
+ }, {
51
+ code: string;
52
+ message: string;
53
+ field?: string | undefined;
54
+ }>;
55
+ /**
56
+ * Create a success output
57
+ */
58
+ export declare function successOutput<T>(result: T, events?: GameEvent[]): ToolOutput<T>;
59
+ /**
60
+ * Create an error output
61
+ */
62
+ export declare function errorOutput(code: string, message: string, field?: string): ToolOutput<never>;
63
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/tools/contract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAO/E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAK5F"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Tool Execution Contract
3
+ *
4
+ * All MCP tools follow a uniform pattern for consistent error handling
5
+ * and response formatting.
6
+ */
7
+ import { z } from "zod";
8
+ /**
9
+ * Zod schema for tool errors
10
+ */
11
+ export const ToolErrorSchema = z.object({
12
+ code: z.string(),
13
+ message: z.string(),
14
+ field: z.string().optional(),
15
+ });
16
+ /**
17
+ * Create a success output
18
+ */
19
+ export function successOutput(result, events) {
20
+ return {
21
+ success: true,
22
+ result,
23
+ events,
24
+ errors: [],
25
+ };
26
+ }
27
+ /**
28
+ * Create an error output
29
+ */
30
+ export function errorOutput(code, message, field) {
31
+ return {
32
+ success: false,
33
+ errors: [{ code, message, field }],
34
+ };
35
+ }
36
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/tools/contract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqCxB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAI,MAAS,EAAE,MAAoB;IAC9D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM;QACN,MAAM;QACN,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,KAAc;IACvE,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@mythxengine/types",
3
+ "version": "0.1.0",
4
+ "description": "Core type definitions for MythX RPG engine",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.js"
10
+ }
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "keywords": [
16
+ "rpg",
17
+ "tabletop",
18
+ "mcp",
19
+ "types",
20
+ "typescript"
21
+ ],
22
+ "author": "Proto Labs AI",
23
+ "license": "MIT",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/proto-labs-ai/rpg-claude-plugin.git",
27
+ "directory": "packages/types"
28
+ },
29
+ "bugs": {
30
+ "url": "https://github.com/proto-labs-ai/rpg-claude-plugin/issues"
31
+ },
32
+ "homepage": "https://github.com/proto-labs-ai/rpg-claude-plugin#readme",
33
+ "dependencies": {
34
+ "zod": "^3.24.0"
35
+ },
36
+ "devDependencies": {
37
+ "typescript": "^5.7.0",
38
+ "vitest": "^2.1.0"
39
+ },
40
+ "scripts": {
41
+ "build": "tsc",
42
+ "dev": "tsc --watch",
43
+ "test": "vitest run",
44
+ "test:watch": "vitest",
45
+ "clean": "rm -rf dist"
46
+ }
47
+ }