@hiveforge/hivemind-mcp 2.2.0 → 2.4.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 (77) hide show
  1. package/README.md +114 -25
  2. package/dist/cli.js +193 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/graph/builder.d.ts +7 -3
  5. package/dist/graph/builder.d.ts.map +1 -1
  6. package/dist/graph/builder.js +51 -21
  7. package/dist/graph/builder.js.map +1 -1
  8. package/dist/mcp/index.d.ts +8 -0
  9. package/dist/mcp/index.d.ts.map +1 -0
  10. package/dist/mcp/index.js +8 -0
  11. package/dist/mcp/index.js.map +1 -0
  12. package/dist/mcp/tool-generator.d.ts +110 -0
  13. package/dist/mcp/tool-generator.d.ts.map +1 -0
  14. package/dist/mcp/tool-generator.js +281 -0
  15. package/dist/mcp/tool-generator.js.map +1 -0
  16. package/dist/parser/markdown.d.ts +9 -0
  17. package/dist/parser/markdown.d.ts.map +1 -1
  18. package/dist/parser/markdown.js +13 -2
  19. package/dist/parser/markdown.js.map +1 -1
  20. package/dist/search/engine.d.ts +9 -1
  21. package/dist/search/engine.d.ts.map +1 -1
  22. package/dist/search/engine.js +16 -4
  23. package/dist/search/engine.js.map +1 -1
  24. package/dist/server.d.ts +8 -4
  25. package/dist/server.d.ts.map +1 -1
  26. package/dist/server.js +66 -199
  27. package/dist/server.js.map +1 -1
  28. package/dist/templates/builtin/people-management.d.ts +18 -0
  29. package/dist/templates/builtin/people-management.d.ts.map +1 -0
  30. package/dist/templates/builtin/people-management.js +523 -0
  31. package/dist/templates/builtin/people-management.js.map +1 -0
  32. package/dist/templates/builtin/research.d.ts +18 -0
  33. package/dist/templates/builtin/research.d.ts.map +1 -0
  34. package/dist/templates/builtin/research.js +349 -0
  35. package/dist/templates/builtin/research.js.map +1 -0
  36. package/dist/templates/builtin/worldbuilding.d.ts +20 -0
  37. package/dist/templates/builtin/worldbuilding.d.ts.map +1 -0
  38. package/dist/templates/builtin/worldbuilding.js +602 -0
  39. package/dist/templates/builtin/worldbuilding.js.map +1 -0
  40. package/dist/templates/detector.d.ts +51 -0
  41. package/dist/templates/detector.d.ts.map +1 -0
  42. package/dist/templates/detector.js +71 -0
  43. package/dist/templates/detector.js.map +1 -0
  44. package/dist/templates/folder-mapper.d.ts +66 -0
  45. package/dist/templates/folder-mapper.d.ts.map +1 -0
  46. package/dist/templates/folder-mapper.js +148 -0
  47. package/dist/templates/folder-mapper.js.map +1 -0
  48. package/dist/templates/index.d.ts +15 -0
  49. package/dist/templates/index.d.ts.map +1 -0
  50. package/dist/templates/index.js +15 -0
  51. package/dist/templates/index.js.map +1 -0
  52. package/dist/templates/loader.d.ts +117 -0
  53. package/dist/templates/loader.d.ts.map +1 -0
  54. package/dist/templates/loader.js +208 -0
  55. package/dist/templates/loader.js.map +1 -0
  56. package/dist/templates/registry.d.ts +127 -0
  57. package/dist/templates/registry.d.ts.map +1 -0
  58. package/dist/templates/registry.js +205 -0
  59. package/dist/templates/registry.js.map +1 -0
  60. package/dist/templates/schema-factory.d.ts +76 -0
  61. package/dist/templates/schema-factory.d.ts.map +1 -0
  62. package/dist/templates/schema-factory.js +171 -0
  63. package/dist/templates/schema-factory.js.map +1 -0
  64. package/dist/templates/types.d.ts +40 -0
  65. package/dist/templates/types.d.ts.map +1 -1
  66. package/dist/templates/validator.d.ts +310 -0
  67. package/dist/templates/validator.d.ts.map +1 -0
  68. package/dist/templates/validator.js +169 -0
  69. package/dist/templates/validator.js.map +1 -0
  70. package/dist/types/index.d.ts +57 -21
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/index.js +39 -15
  73. package/dist/types/index.js.map +1 -1
  74. package/dist/vault/reader.d.ts.map +1 -1
  75. package/dist/vault/reader.js +15 -1
  76. package/dist/vault/reader.js.map +1 -1
  77. package/package.json +7 -4
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/templates/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,CAAC;AAEb;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,6BAA6B;IAC7B,IAAI,EAAE,SAAS,CAAC;IAEhB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IAEb,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,MAAM,EAAE,WAAW,EAAE,CAAC;IAEtB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IAEX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IAEb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6CAA6C;IAC7C,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEjC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,wDAAwD;IACxD,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE7B,sDAAsD;IACtD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/templates/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,CAAC;AAEb;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,6BAA6B;IAC7B,IAAI,EAAE,SAAS,CAAC;IAEhB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IAEX,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kDAAkD;IAClD,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE9B,kDAAkD;IAClD,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE9B,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IAEvB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IAEb,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,MAAM,EAAE,WAAW,EAAE,CAAC;IAEtB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IAEX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IAEb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6CAA6C;IAC7C,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAEhC,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEjC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,wDAAwD;IACxD,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE7B,sDAAsD;IACtD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE7C,0DAA0D;IAC1D,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CAC1D;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAEhB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,310 @@
1
+ /**
2
+ * Template configuration validation using Zod.
3
+ *
4
+ * Provides schema validation for template configs to fail fast at startup
5
+ * before schema generation, ensuring user configs are valid.
6
+ */
7
+ import { z } from 'zod';
8
+ import type { TemplateConfig } from './types.js';
9
+ /**
10
+ * Zod schema for field configuration validation.
11
+ *
12
+ * Validates:
13
+ * - Field names are camelCase alphanumeric
14
+ * - Type is one of the supported FieldType values
15
+ * - Enum fields have enumValues defined
16
+ * - Array fields have valid arrayItemType
17
+ */
18
+ export declare const FieldConfigSchema: z.ZodObject<{
19
+ name: z.ZodString;
20
+ type: z.ZodEnum<{
21
+ string: "string";
22
+ number: "number";
23
+ boolean: "boolean";
24
+ enum: "enum";
25
+ array: "array";
26
+ date: "date";
27
+ record: "record";
28
+ }>;
29
+ required: z.ZodOptional<z.ZodBoolean>;
30
+ default: z.ZodOptional<z.ZodUnknown>;
31
+ enumValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
+ arrayItemType: z.ZodOptional<z.ZodEnum<{
33
+ string: "string";
34
+ number: "number";
35
+ boolean: "boolean";
36
+ enum: "enum";
37
+ array: "array";
38
+ date: "date";
39
+ record: "record";
40
+ }>>;
41
+ description: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>;
43
+ /**
44
+ * Zod schema for entity type configuration validation.
45
+ *
46
+ * Validates:
47
+ * - Entity type names are lowercase alphanumeric
48
+ * - Display names and plural names are provided
49
+ * - Fields array is valid
50
+ */
51
+ export declare const EntityTypeConfigSchema: z.ZodObject<{
52
+ name: z.ZodString;
53
+ displayName: z.ZodString;
54
+ pluralName: z.ZodString;
55
+ description: z.ZodOptional<z.ZodString>;
56
+ fields: z.ZodArray<z.ZodObject<{
57
+ name: z.ZodString;
58
+ type: z.ZodEnum<{
59
+ string: "string";
60
+ number: "number";
61
+ boolean: "boolean";
62
+ enum: "enum";
63
+ array: "array";
64
+ date: "date";
65
+ record: "record";
66
+ }>;
67
+ required: z.ZodOptional<z.ZodBoolean>;
68
+ default: z.ZodOptional<z.ZodUnknown>;
69
+ enumValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
+ arrayItemType: z.ZodOptional<z.ZodEnum<{
71
+ string: "string";
72
+ number: "number";
73
+ boolean: "boolean";
74
+ enum: "enum";
75
+ array: "array";
76
+ date: "date";
77
+ record: "record";
78
+ }>>;
79
+ description: z.ZodOptional<z.ZodString>;
80
+ }, z.core.$strip>>;
81
+ icon: z.ZodOptional<z.ZodString>;
82
+ }, z.core.$strip>;
83
+ /**
84
+ * Zod schema for relationship type configuration validation.
85
+ *
86
+ * Validates:
87
+ * - Relationship IDs are snake_case
88
+ * - Source/target types are valid
89
+ * - Bidirectional relationships specify reverseId
90
+ */
91
+ export declare const RelationshipTypeConfigSchema: z.ZodObject<{
92
+ id: z.ZodString;
93
+ displayName: z.ZodString;
94
+ description: z.ZodOptional<z.ZodString>;
95
+ sourceTypes: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"any">]>;
96
+ targetTypes: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"any">]>;
97
+ bidirectional: z.ZodDefault<z.ZodBoolean>;
98
+ reverseId: z.ZodOptional<z.ZodString>;
99
+ properties: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
+ name: z.ZodString;
101
+ type: z.ZodEnum<{
102
+ string: "string";
103
+ number: "number";
104
+ boolean: "boolean";
105
+ enum: "enum";
106
+ array: "array";
107
+ date: "date";
108
+ record: "record";
109
+ }>;
110
+ required: z.ZodOptional<z.ZodBoolean>;
111
+ default: z.ZodOptional<z.ZodUnknown>;
112
+ enumValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
113
+ arrayItemType: z.ZodOptional<z.ZodEnum<{
114
+ string: "string";
115
+ number: "number";
116
+ boolean: "boolean";
117
+ enum: "enum";
118
+ array: "array";
119
+ date: "date";
120
+ record: "record";
121
+ }>>;
122
+ description: z.ZodOptional<z.ZodString>;
123
+ }, z.core.$strip>>>;
124
+ }, z.core.$strip>;
125
+ /**
126
+ * Zod schema for template definition validation.
127
+ *
128
+ * Validates:
129
+ * - Template ID is lowercase alphanumeric with hyphens
130
+ * - Version follows semantic versioning (X.Y.Z)
131
+ * - Entity types array is valid and non-empty
132
+ */
133
+ export declare const TemplateDefinitionSchema: z.ZodObject<{
134
+ id: z.ZodString;
135
+ name: z.ZodString;
136
+ version: z.ZodString;
137
+ description: z.ZodOptional<z.ZodString>;
138
+ entityTypes: z.ZodArray<z.ZodObject<{
139
+ name: z.ZodString;
140
+ displayName: z.ZodString;
141
+ pluralName: z.ZodString;
142
+ description: z.ZodOptional<z.ZodString>;
143
+ fields: z.ZodArray<z.ZodObject<{
144
+ name: z.ZodString;
145
+ type: z.ZodEnum<{
146
+ string: "string";
147
+ number: "number";
148
+ boolean: "boolean";
149
+ enum: "enum";
150
+ array: "array";
151
+ date: "date";
152
+ record: "record";
153
+ }>;
154
+ required: z.ZodOptional<z.ZodBoolean>;
155
+ default: z.ZodOptional<z.ZodUnknown>;
156
+ enumValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
157
+ arrayItemType: z.ZodOptional<z.ZodEnum<{
158
+ string: "string";
159
+ number: "number";
160
+ boolean: "boolean";
161
+ enum: "enum";
162
+ array: "array";
163
+ date: "date";
164
+ record: "record";
165
+ }>>;
166
+ description: z.ZodOptional<z.ZodString>;
167
+ }, z.core.$strip>>;
168
+ icon: z.ZodOptional<z.ZodString>;
169
+ }, z.core.$strip>>;
170
+ relationshipTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
171
+ id: z.ZodString;
172
+ displayName: z.ZodString;
173
+ description: z.ZodOptional<z.ZodString>;
174
+ sourceTypes: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"any">]>;
175
+ targetTypes: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"any">]>;
176
+ bidirectional: z.ZodDefault<z.ZodBoolean>;
177
+ reverseId: z.ZodOptional<z.ZodString>;
178
+ properties: z.ZodOptional<z.ZodArray<z.ZodObject<{
179
+ name: z.ZodString;
180
+ type: z.ZodEnum<{
181
+ string: "string";
182
+ number: "number";
183
+ boolean: "boolean";
184
+ enum: "enum";
185
+ array: "array";
186
+ date: "date";
187
+ record: "record";
188
+ }>;
189
+ required: z.ZodOptional<z.ZodBoolean>;
190
+ default: z.ZodOptional<z.ZodUnknown>;
191
+ enumValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
192
+ arrayItemType: z.ZodOptional<z.ZodEnum<{
193
+ string: "string";
194
+ number: "number";
195
+ boolean: "boolean";
196
+ enum: "enum";
197
+ array: "array";
198
+ date: "date";
199
+ record: "record";
200
+ }>>;
201
+ description: z.ZodOptional<z.ZodString>;
202
+ }, z.core.$strip>>>;
203
+ }, z.core.$strip>>>;
204
+ }, z.core.$strip>;
205
+ /**
206
+ * Zod schema for full template configuration validation.
207
+ *
208
+ * Validates:
209
+ * - Templates array (if provided) contains valid templates
210
+ * - activeTemplate is specified
211
+ */
212
+ export declare const TemplateConfigSchema: z.ZodObject<{
213
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
214
+ id: z.ZodString;
215
+ name: z.ZodString;
216
+ version: z.ZodString;
217
+ description: z.ZodOptional<z.ZodString>;
218
+ entityTypes: z.ZodArray<z.ZodObject<{
219
+ name: z.ZodString;
220
+ displayName: z.ZodString;
221
+ pluralName: z.ZodString;
222
+ description: z.ZodOptional<z.ZodString>;
223
+ fields: z.ZodArray<z.ZodObject<{
224
+ name: z.ZodString;
225
+ type: z.ZodEnum<{
226
+ string: "string";
227
+ number: "number";
228
+ boolean: "boolean";
229
+ enum: "enum";
230
+ array: "array";
231
+ date: "date";
232
+ record: "record";
233
+ }>;
234
+ required: z.ZodOptional<z.ZodBoolean>;
235
+ default: z.ZodOptional<z.ZodUnknown>;
236
+ enumValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
237
+ arrayItemType: z.ZodOptional<z.ZodEnum<{
238
+ string: "string";
239
+ number: "number";
240
+ boolean: "boolean";
241
+ enum: "enum";
242
+ array: "array";
243
+ date: "date";
244
+ record: "record";
245
+ }>>;
246
+ description: z.ZodOptional<z.ZodString>;
247
+ }, z.core.$strip>>;
248
+ icon: z.ZodOptional<z.ZodString>;
249
+ }, z.core.$strip>>;
250
+ relationshipTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
251
+ id: z.ZodString;
252
+ displayName: z.ZodString;
253
+ description: z.ZodOptional<z.ZodString>;
254
+ sourceTypes: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"any">]>;
255
+ targetTypes: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"any">]>;
256
+ bidirectional: z.ZodDefault<z.ZodBoolean>;
257
+ reverseId: z.ZodOptional<z.ZodString>;
258
+ properties: z.ZodOptional<z.ZodArray<z.ZodObject<{
259
+ name: z.ZodString;
260
+ type: z.ZodEnum<{
261
+ string: "string";
262
+ number: "number";
263
+ boolean: "boolean";
264
+ enum: "enum";
265
+ array: "array";
266
+ date: "date";
267
+ record: "record";
268
+ }>;
269
+ required: z.ZodOptional<z.ZodBoolean>;
270
+ default: z.ZodOptional<z.ZodUnknown>;
271
+ enumValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
272
+ arrayItemType: z.ZodOptional<z.ZodEnum<{
273
+ string: "string";
274
+ number: "number";
275
+ boolean: "boolean";
276
+ enum: "enum";
277
+ array: "array";
278
+ date: "date";
279
+ record: "record";
280
+ }>>;
281
+ description: z.ZodOptional<z.ZodString>;
282
+ }, z.core.$strip>>>;
283
+ }, z.core.$strip>>>;
284
+ }, z.core.$strip>>>;
285
+ activeTemplate: z.ZodString;
286
+ }, z.core.$strip>;
287
+ /**
288
+ * Custom error class for template validation failures.
289
+ *
290
+ * Provides structured error information and user-friendly messages.
291
+ */
292
+ export declare class TemplateValidationError extends Error {
293
+ readonly issues: z.ZodIssue[];
294
+ constructor(message: string, issues: z.ZodIssue[]);
295
+ /**
296
+ * Converts Zod validation issues to a user-friendly error message.
297
+ *
298
+ * @returns Formatted error message with all validation issues
299
+ */
300
+ toUserMessage(): string;
301
+ }
302
+ /**
303
+ * Validates template configuration against schema.
304
+ *
305
+ * @param config - Template configuration to validate
306
+ * @returns Validated and typed configuration
307
+ * @throws {TemplateValidationError} If validation fails with details of all issues
308
+ */
309
+ export declare function validateTemplateConfig(config: unknown): TemplateConfig;
310
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/templates/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAKV,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;iBAgCM,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAaK,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BM,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBK,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGK,CAAC;AAEvC;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAG9B,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBADpC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAMtC;;;;OAIG;IACH,aAAa,IAAI,MAAM;CAUxB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAQtE"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Template configuration validation using Zod.
3
+ *
4
+ * Provides schema validation for template configs to fail fast at startup
5
+ * before schema generation, ensuring user configs are valid.
6
+ */
7
+ import { z } from 'zod';
8
+ /**
9
+ * Zod schema for field configuration validation.
10
+ *
11
+ * Validates:
12
+ * - Field names are camelCase alphanumeric
13
+ * - Type is one of the supported FieldType values
14
+ * - Enum fields have enumValues defined
15
+ * - Array fields have valid arrayItemType
16
+ */
17
+ export const FieldConfigSchema = z
18
+ .object({
19
+ name: z
20
+ .string()
21
+ .min(1, 'Field name cannot be empty')
22
+ .regex(/^[a-z][a-zA-Z0-9_]*$/, 'Field name must be camelCase or snake_case alphanumeric (e.g., "age", "statusCode", "event_type")'),
23
+ type: z.enum(['string', 'number', 'boolean', 'enum', 'array', 'date', 'record'], {
24
+ message: 'Field type must be one of: string, number, boolean, enum, array, date, record',
25
+ }),
26
+ required: z.boolean().optional(),
27
+ default: z.unknown().optional(),
28
+ enumValues: z.array(z.string()).optional(),
29
+ arrayItemType: z
30
+ .enum(['string', 'number', 'boolean', 'enum', 'array', 'date', 'record'])
31
+ .optional(),
32
+ description: z.string().optional(),
33
+ })
34
+ .refine((field) => {
35
+ // Enum fields must have enumValues
36
+ if (field.type === 'enum' && (!field.enumValues || field.enumValues.length === 0)) {
37
+ return false;
38
+ }
39
+ return true;
40
+ }, {
41
+ message: 'Enum fields must define enumValues with at least one value',
42
+ path: ['enumValues'],
43
+ });
44
+ /**
45
+ * Zod schema for entity type configuration validation.
46
+ *
47
+ * Validates:
48
+ * - Entity type names are lowercase alphanumeric
49
+ * - Display names and plural names are provided
50
+ * - Fields array is valid
51
+ */
52
+ export const EntityTypeConfigSchema = z.object({
53
+ name: z
54
+ .string()
55
+ .min(1, 'Entity type name cannot be empty')
56
+ .regex(/^[a-z][a-z0-9_]*$/, 'Entity type name must be lowercase alphanumeric with underscores (e.g., "character", "one_on_one")'),
57
+ displayName: z.string().min(1, 'Display name cannot be empty'),
58
+ pluralName: z.string().min(1, 'Plural name cannot be empty'),
59
+ description: z.string().optional(),
60
+ fields: z.array(FieldConfigSchema),
61
+ icon: z.string().optional(),
62
+ });
63
+ /**
64
+ * Zod schema for relationship type configuration validation.
65
+ *
66
+ * Validates:
67
+ * - Relationship IDs are snake_case
68
+ * - Source/target types are valid
69
+ * - Bidirectional relationships specify reverseId
70
+ */
71
+ export const RelationshipTypeConfigSchema = z
72
+ .object({
73
+ id: z
74
+ .string()
75
+ .min(1, 'Relationship ID cannot be empty')
76
+ .regex(/^[a-z][a-z0-9_]*$/, 'Relationship ID must be snake_case (e.g., "knows", "allied_with")'),
77
+ displayName: z.string().min(1, 'Display name cannot be empty'),
78
+ description: z.string().optional(),
79
+ sourceTypes: z.union([
80
+ z.array(z.string()).min(1, 'sourceTypes must have at least one type'),
81
+ z.literal('any'),
82
+ ]),
83
+ targetTypes: z.union([
84
+ z.array(z.string()).min(1, 'targetTypes must have at least one type'),
85
+ z.literal('any'),
86
+ ]),
87
+ bidirectional: z.boolean().default(false),
88
+ reverseId: z.string().optional(),
89
+ properties: z.array(FieldConfigSchema).optional(),
90
+ })
91
+ .refine((rel) => !rel.bidirectional || rel.reverseId, {
92
+ message: 'Bidirectional relationships must specify reverseId',
93
+ path: ['reverseId'],
94
+ });
95
+ /**
96
+ * Zod schema for template definition validation.
97
+ *
98
+ * Validates:
99
+ * - Template ID is lowercase alphanumeric with hyphens
100
+ * - Version follows semantic versioning (X.Y.Z)
101
+ * - Entity types array is valid and non-empty
102
+ */
103
+ export const TemplateDefinitionSchema = z.object({
104
+ id: z
105
+ .string()
106
+ .min(1, 'Template ID cannot be empty')
107
+ .regex(/^[a-z][a-z0-9-]*$/, 'Template ID must be lowercase alphanumeric with hyphens (e.g., "worldbuilding", "game-design")'),
108
+ name: z.string().min(1, 'Template name cannot be empty'),
109
+ version: z
110
+ .string()
111
+ .regex(/^\d+\.\d+\.\d+$/, 'Version must follow semantic versioning (e.g., "1.0.0")'),
112
+ description: z.string().optional(),
113
+ entityTypes: z
114
+ .array(EntityTypeConfigSchema)
115
+ .min(1, 'Template must define at least one entity type'),
116
+ relationshipTypes: z.array(RelationshipTypeConfigSchema).optional(),
117
+ });
118
+ /**
119
+ * Zod schema for full template configuration validation.
120
+ *
121
+ * Validates:
122
+ * - Templates array (if provided) contains valid templates
123
+ * - activeTemplate is specified
124
+ */
125
+ export const TemplateConfigSchema = z.object({
126
+ templates: z.array(TemplateDefinitionSchema).optional(),
127
+ activeTemplate: z.string().min(1, 'activeTemplate must be specified'),
128
+ });
129
+ /**
130
+ * Custom error class for template validation failures.
131
+ *
132
+ * Provides structured error information and user-friendly messages.
133
+ */
134
+ export class TemplateValidationError extends Error {
135
+ issues;
136
+ constructor(message, issues) {
137
+ super(message);
138
+ this.issues = issues;
139
+ this.name = 'TemplateValidationError';
140
+ }
141
+ /**
142
+ * Converts Zod validation issues to a user-friendly error message.
143
+ *
144
+ * @returns Formatted error message with all validation issues
145
+ */
146
+ toUserMessage() {
147
+ const lines = ['Template configuration validation failed:', ''];
148
+ for (const issue of this.issues) {
149
+ const path = issue.path.length > 0 ? issue.path.join('.') : 'root';
150
+ lines.push(` • ${path}: ${issue.message}`);
151
+ }
152
+ return lines.join('\n');
153
+ }
154
+ }
155
+ /**
156
+ * Validates template configuration against schema.
157
+ *
158
+ * @param config - Template configuration to validate
159
+ * @returns Validated and typed configuration
160
+ * @throws {TemplateValidationError} If validation fails with details of all issues
161
+ */
162
+ export function validateTemplateConfig(config) {
163
+ const result = TemplateConfigSchema.safeParse(config);
164
+ if (!result.success) {
165
+ throw new TemplateValidationError('Invalid template configuration', result.error.issues);
166
+ }
167
+ return result.data;
168
+ }
169
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/templates/validator.ts"],"names":[],"mappings":"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"}
@@ -7,14 +7,24 @@ export declare const NoteStatusSchema: z.ZodEnum<{
7
7
  archived: "archived";
8
8
  }>;
9
9
  export type NoteStatus = z.infer<typeof NoteStatusSchema>;
10
+ /** Base entity types that are always supported */
11
+ export declare const BASE_NOTE_TYPES: readonly ["character", "location", "event", "faction", "system", "asset", "lore"];
12
+ /**
13
+ * Factory function for dynamic NoteType support.
14
+ * Allows custom types (e.g., 'reference') beyond the hardcoded base types.
15
+ *
16
+ * @param additionalTypes - Custom entity type names to include
17
+ * @returns Zod schema that validates against base + additional types
18
+ */
19
+ export declare function createNoteTypeSchema(additionalTypes?: string[]): z.ZodType<string>;
10
20
  export declare const NoteTypeSchema: z.ZodEnum<{
11
21
  character: "character";
12
22
  location: "location";
13
23
  event: "event";
14
24
  faction: "faction";
15
- system: "system";
16
- asset: "asset";
17
25
  lore: "lore";
26
+ asset: "asset";
27
+ system: "system";
18
28
  }>;
19
29
  export type NoteType = z.infer<typeof NoteTypeSchema>;
20
30
  export declare const ImportanceSchema: z.ZodEnum<{
@@ -23,17 +33,43 @@ export declare const ImportanceSchema: z.ZodEnum<{
23
33
  background: "background";
24
34
  }>;
25
35
  export type Importance = z.infer<typeof ImportanceSchema>;
36
+ /**
37
+ * Factory function for dynamic BaseFrontmatter schema.
38
+ * Uses a custom NoteType schema for template-aware validation.
39
+ *
40
+ * @param noteTypeSchema - Custom NoteType schema (from createNoteTypeSchema)
41
+ * @returns Base frontmatter schema with the custom type validation
42
+ */
43
+ export declare function createBaseFrontmatterSchema(noteTypeSchema: z.ZodType<string>): z.ZodObject<{
44
+ id: z.ZodString;
45
+ type: z.ZodType<string, unknown, z.core.$ZodTypeInternals<string, unknown>>;
46
+ status: z.ZodDefault<z.ZodEnum<{
47
+ draft: "draft";
48
+ pending: "pending";
49
+ canon: "canon";
50
+ "non-canon": "non-canon";
51
+ archived: "archived";
52
+ }>>;
53
+ title: z.ZodOptional<z.ZodString>;
54
+ world: z.ZodOptional<z.ZodString>;
55
+ importance: z.ZodOptional<z.ZodEnum<{
56
+ major: "major";
57
+ minor: "minor";
58
+ background: "background";
59
+ }>>;
60
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
61
+ aliases: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
62
+ created: z.ZodOptional<z.ZodString>;
63
+ updated: z.ZodOptional<z.ZodString>;
64
+ canon_authority: z.ZodOptional<z.ZodEnum<{
65
+ high: "high";
66
+ medium: "medium";
67
+ low: "low";
68
+ }>>;
69
+ }, z.core.$strip>;
26
70
  export declare const BaseFrontmatterSchema: z.ZodObject<{
27
71
  id: z.ZodString;
28
- type: z.ZodEnum<{
29
- character: "character";
30
- location: "location";
31
- event: "event";
32
- faction: "faction";
33
- system: "system";
34
- asset: "asset";
35
- lore: "lore";
36
- }>;
72
+ type: z.ZodType<string, unknown, z.core.$ZodTypeInternals<string, unknown>>;
37
73
  status: z.ZodDefault<z.ZodEnum<{
38
74
  draft: "draft";
39
75
  pending: "pending";
@@ -210,12 +246,12 @@ export declare const FactionFrontmatterSchema: z.ZodObject<{
210
246
  type: z.ZodLiteral<"faction">;
211
247
  name: z.ZodString;
212
248
  faction_type: z.ZodOptional<z.ZodEnum<{
249
+ religion: "religion";
213
250
  house: "house";
214
251
  guild: "guild";
215
252
  organization: "organization";
216
253
  government: "government";
217
254
  military: "military";
218
- religion: "religion";
219
255
  other: "other";
220
256
  }>>;
221
257
  leader: z.ZodOptional<z.ZodString>;
@@ -256,18 +292,18 @@ export declare const LoreFrontmatterSchema: z.ZodObject<{
256
292
  type: z.ZodLiteral<"lore">;
257
293
  name: z.ZodString;
258
294
  category: z.ZodOptional<z.ZodEnum<{
259
- religion: "religion";
260
- other: "other";
261
- mythology: "mythology";
262
295
  history: "history";
296
+ mythology: "mythology";
263
297
  magic: "magic";
264
- technology: "technology";
265
298
  culture: "culture";
299
+ religion: "religion";
300
+ other: "other";
301
+ technology: "technology";
266
302
  }>>;
267
303
  related_entities: z.ZodOptional<z.ZodArray<z.ZodString>>;
268
304
  source: z.ZodOptional<z.ZodEnum<{
269
- "in-world": "in-world";
270
305
  meta: "meta";
306
+ "in-world": "in-world";
271
307
  "player-knowledge": "player-knowledge";
272
308
  }>>;
273
309
  }, z.core.$strip>;
@@ -416,9 +452,9 @@ export declare const SearchVaultArgsSchema: z.ZodObject<{
416
452
  location: "location";
417
453
  event: "event";
418
454
  faction: "faction";
419
- system: "system";
420
- asset: "asset";
421
455
  lore: "lore";
456
+ asset: "asset";
457
+ system: "system";
422
458
  }>>>;
423
459
  status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
424
460
  draft: "draft";
@@ -557,8 +593,8 @@ export declare const GetCanonStatusArgsSchema: z.ZodObject<{
557
593
  location: "location";
558
594
  event: "event";
559
595
  faction: "faction";
560
- asset: "asset";
561
596
  lore: "lore";
597
+ asset: "asset";
562
598
  }>>;
563
599
  }, z.core.$strip>;
564
600
  export type GetCanonStatusArgs = z.infer<typeof GetCanonStatusArgsSchema>;
@@ -574,8 +610,8 @@ export declare const ValidateConsistencyArgsSchema: z.ZodObject<{
574
610
  location: "location";
575
611
  event: "event";
576
612
  faction: "faction";
577
- asset: "asset";
578
613
  lore: "lore";
614
+ asset: "asset";
579
615
  }>>;
580
616
  }, z.core.$strip>;
581
617
  export type ValidateConsistencyArgs = z.infer<typeof ValidateConsistencyArgsSchema>;