@hiveforge/hivemind-mcp 3.4.0 → 3.5.1

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 (78) hide show
  1. package/README.md +89 -309
  2. package/dist/cli/fix/fixer.js +1 -1
  3. package/dist/cli/fix/fixer.js.map +1 -1
  4. package/dist/cli/fix/writer.d.ts.map +1 -1
  5. package/dist/cli/fix/writer.js +75 -3
  6. package/dist/cli/fix/writer.js.map +1 -1
  7. package/dist/cli/init/output.d.ts.map +1 -1
  8. package/dist/cli/init/output.js +6 -5
  9. package/dist/cli/init/output.js.map +1 -1
  10. package/dist/cli/validate/formatter.d.ts.map +1 -1
  11. package/dist/cli/validate/formatter.js +16 -0
  12. package/dist/cli/validate/formatter.js.map +1 -1
  13. package/dist/cli/validate/types.d.ts +3 -0
  14. package/dist/cli/validate/types.d.ts.map +1 -1
  15. package/dist/cli/validate/validator.d.ts.map +1 -1
  16. package/dist/cli/validate/validator.js +32 -1
  17. package/dist/cli/validate/validator.js.map +1 -1
  18. package/dist/cli.js +2 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/graph/database.d.ts +152 -0
  21. package/dist/graph/database.d.ts.map +1 -1
  22. package/dist/graph/database.js +418 -30
  23. package/dist/graph/database.js.map +1 -1
  24. package/dist/mcp/graph-tools.d.ts +78 -0
  25. package/dist/mcp/graph-tools.d.ts.map +1 -0
  26. package/dist/mcp/graph-tools.js +284 -0
  27. package/dist/mcp/graph-tools.js.map +1 -0
  28. package/dist/mcp/timeline-tools.d.ts +116 -0
  29. package/dist/mcp/timeline-tools.d.ts.map +1 -0
  30. package/dist/mcp/timeline-tools.js +317 -0
  31. package/dist/mcp/timeline-tools.js.map +1 -0
  32. package/dist/search/engine.d.ts +186 -0
  33. package/dist/search/engine.d.ts.map +1 -1
  34. package/dist/search/engine.js +263 -0
  35. package/dist/search/engine.js.map +1 -1
  36. package/dist/server.d.ts +52 -0
  37. package/dist/server.d.ts.map +1 -1
  38. package/dist/server.js +472 -0
  39. package/dist/server.js.map +1 -1
  40. package/dist/templates/builtin/worldbuilding.d.ts.map +1 -1
  41. package/dist/templates/builtin/worldbuilding.js +401 -1
  42. package/dist/templates/builtin/worldbuilding.js.map +1 -1
  43. package/dist/templates/community/dnd-35e.d.ts +18 -0
  44. package/dist/templates/community/dnd-35e.d.ts.map +1 -0
  45. package/dist/templates/community/dnd-35e.js +859 -0
  46. package/dist/templates/community/dnd-35e.js.map +1 -0
  47. package/dist/templates/community/dnd-5e.d.ts +16 -0
  48. package/dist/templates/community/dnd-5e.d.ts.map +1 -0
  49. package/dist/templates/community/dnd-5e.js +509 -0
  50. package/dist/templates/community/dnd-5e.js.map +1 -0
  51. package/dist/templates/community/index.d.ts +9 -0
  52. package/dist/templates/community/index.d.ts.map +1 -1
  53. package/dist/templates/community/index.js +16 -0
  54. package/dist/templates/community/index.js.map +1 -1
  55. package/dist/templates/community/pathfinder-2e.d.ts +16 -0
  56. package/dist/templates/community/pathfinder-2e.d.ts.map +1 -0
  57. package/dist/templates/community/pathfinder-2e.js +711 -0
  58. package/dist/templates/community/pathfinder-2e.js.map +1 -0
  59. package/dist/templates/community/ttrpg-base.d.ts +17 -0
  60. package/dist/templates/community/ttrpg-base.d.ts.map +1 -0
  61. package/dist/templates/community/ttrpg-base.js +889 -0
  62. package/dist/templates/community/ttrpg-base.js.map +1 -0
  63. package/dist/templates/loader.d.ts +2 -0
  64. package/dist/templates/loader.d.ts.map +1 -1
  65. package/dist/templates/loader.js +45 -1
  66. package/dist/templates/loader.js.map +1 -1
  67. package/dist/templates/registry.d.ts +49 -2
  68. package/dist/templates/registry.d.ts.map +1 -1
  69. package/dist/templates/registry.js +276 -6
  70. package/dist/templates/registry.js.map +1 -1
  71. package/dist/templates/types.d.ts +28 -1
  72. package/dist/templates/types.d.ts.map +1 -1
  73. package/dist/templates/validator.d.ts +80 -1
  74. package/dist/templates/validator.d.ts.map +1 -1
  75. package/dist/templates/validator.js +22 -5
  76. package/dist/templates/validator.js.map +1 -1
  77. package/dist/types/index.d.ts +18 -18
  78. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ttrpg-base.js","sourceRoot":"","sources":["../../../src/templates/community/ttrpg-base.ts"],"names":[],"mappings":"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"}
@@ -60,9 +60,11 @@ export declare function registerCommunityTemplates(): void;
60
60
  * Register user-defined templates from config.
61
61
  *
62
62
  * Validates each template and registers it in the registry.
63
+ * Templates are sorted topologically to ensure parents are registered before children.
63
64
  *
64
65
  * @param config - Template configuration from config.json
65
66
  * @throws {Error} If any user template fails validation or has duplicate ID
67
+ * @throws {Error} If circular inheritance is detected
66
68
  */
67
69
  export declare function registerUserTemplates(config: TemplateConfig): void;
68
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/templates/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AASrE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CA8EtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAI/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAOjD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CASlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAoBvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CA2BrE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAEzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM;;kCAWrD"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/templates/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AASrE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CA8EtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAI/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAOjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAYlE;AAqDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAoBvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CA2BrE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAEzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM;;kCAWrD"}
@@ -161,19 +161,63 @@ export function registerCommunityTemplates() {
161
161
  * Register user-defined templates from config.
162
162
  *
163
163
  * Validates each template and registers it in the registry.
164
+ * Templates are sorted topologically to ensure parents are registered before children.
164
165
  *
165
166
  * @param config - Template configuration from config.json
166
167
  * @throws {Error} If any user template fails validation or has duplicate ID
168
+ * @throws {Error} If circular inheritance is detected
167
169
  */
168
170
  export function registerUserTemplates(config) {
169
171
  if (!config.templates || config.templates.length === 0) {
170
172
  return;
171
173
  }
172
- for (const template of config.templates) {
174
+ // Sort templates topologically so parents are registered before children
175
+ const sortedTemplates = sortTemplatesByInheritance(config.templates);
176
+ for (const template of sortedTemplates) {
173
177
  // Template already validated by loadTemplateConfig
174
178
  templateRegistry.register(template, 'config');
175
179
  }
176
180
  }
181
+ /**
182
+ * Sorts templates topologically based on inheritance dependencies.
183
+ * Templates that extend other templates come after their parents.
184
+ *
185
+ * @param templates - Array of template definitions to sort
186
+ * @returns Sorted array with parent templates before children
187
+ * @throws {Error} If circular inheritance is detected
188
+ */
189
+ function sortTemplatesByInheritance(templates) {
190
+ // Build a map for quick lookup
191
+ const templateMap = new Map();
192
+ for (const template of templates) {
193
+ templateMap.set(template.id, template);
194
+ }
195
+ const sorted = [];
196
+ const visited = new Set();
197
+ const visiting = new Set(); // For cycle detection
198
+ function visit(template) {
199
+ if (visited.has(template.id)) {
200
+ return;
201
+ }
202
+ if (visiting.has(template.id)) {
203
+ throw new Error(`Circular template inheritance detected involving "${template.id}"`);
204
+ }
205
+ visiting.add(template.id);
206
+ // If this template extends another user-defined template, visit parent first
207
+ if (template.extendsTemplate && templateMap.has(template.extendsTemplate)) {
208
+ const parent = templateMap.get(template.extendsTemplate);
209
+ visit(parent);
210
+ }
211
+ // If parent is a builtin template, it's already registered, no need to visit
212
+ visiting.delete(template.id);
213
+ visited.add(template.id);
214
+ sorted.push(template);
215
+ }
216
+ for (const template of templates) {
217
+ visit(template);
218
+ }
219
+ return sorted;
220
+ }
177
221
  /**
178
222
  * Activate the selected template.
179
223
  *
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/templates/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,UAAmB;IAChD,oCAAoC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,gCAAgC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iDAAiD;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAmB;IACpD,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAElD,2CAA2C;IAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;YACL,cAAc,EAAE,eAAe;YAC/B,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,aAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC1D,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0CAA0C,cAAc,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChH,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,kBAAkB,cAAc,6BAA6B,CAAC,CAAC;IACjF,CAAC;IAED,qDAAqD;IACrD,MAAM,SAAS,GAAG,aAAwC,CAAC;IAC3D,oFAAoF;IACpF,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI;QAC5C,cAAc,EAAE,eAAe;QAC/B,SAAS,EAAE,EAAE;KACd,CAAkE,CAAC;IAEpE,2DAA2D;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,sBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEnE,IAAI,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;YAEpE,gCAAgC;YAChC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAC9B,cAAc,CAAC,SAAS,GAAG,EAAE,CAAC;YAChC,CAAC;YAED,0DAA0D;YAC1D,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,SAAS,CACtD,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,CAC1D,CAAC;YAEF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,0DAA0D;gBAC1D,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,kBAAkB,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACpD,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,cAAc,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc,KAAK,eAAe,EAAE,CAAC;gBACxF,cAAc,CAAC,cAAc,GAAG,kBAAkB,CAAC,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mDAAmD;YACnD,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;gBAC3C,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,4CAA4C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,OAAO,sBAAsB,CAAC,cAAc,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB;IACtC,gBAAgB,CAAC,QAAQ,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAC5D,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACvD,gBAAgB,CAAC,QAAQ,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B;IACxC,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QAC1C,sDAAsD;QACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO;IACT,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,mDAAmD;QACnD,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,cAAc,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;IACpD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,wCAAwC;IACxC,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAmB;IACrD,iCAAiC;IACjC,wBAAwB,EAAE,CAAC;IAE3B,kCAAkC;IAClC,0BAA0B,EAAE,CAAC;IAE7B,iBAAiB;IACjB,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,gCAAgC;IAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,0BAA0B;IAC1B,kBAAkB,EAAE,CAAC;IAErB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mCAAmC,YAAY,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IAED,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,6BAA6B,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,cAAsB;IACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAC3F,MAAM,IAAI,KAAK,CACb,gBAAgB,cAAc,oDAAoD,cAAc,EAAE,CACnG,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/templates/loader.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@
2
2
  * Template registry for managing template lifecycle.
3
3
  *
4
4
  * Provides centralized template management with O(1) lookups
5
- * and validation on registration.
5
+ * and validation on registration. Supports template inheritance
6
+ * via the `extendsTemplate` field.
6
7
  */
7
8
  import type { TemplateDefinition, TemplateRegistryEntry, EntityTypeConfig, RelationshipTypeConfig, FolderMappingRule } from './types.js';
8
9
  /**
@@ -23,13 +24,29 @@ export declare class TemplateRegistry {
23
24
  /**
24
25
  * Registers a template in the registry.
25
26
  *
26
- * Validates the template definition and creates optimized lookup maps.
27
+ * Validates the template definition, resolves inheritance if `extendsTemplate`
28
+ * is specified, and creates optimized lookup maps.
27
29
  *
28
30
  * @param template - Template definition to register
29
31
  * @param source - Source of the template (builtin or config)
30
32
  * @throws {Error} If template with this ID is already registered
33
+ * @throws {Error} If parent template is not found (when using extendsTemplate)
34
+ * @throws {Error} If circular inheritance is detected
31
35
  */
32
36
  register(template: TemplateDefinition, source: TemplateSource): void;
37
+ /**
38
+ * Resolves template inheritance by merging with parent template(s).
39
+ *
40
+ * Handles multi-level inheritance (e.g., A extends B extends C) by
41
+ * recursively resolving the parent chain.
42
+ *
43
+ * @param template - Child template with extendsTemplate specified
44
+ * @param visited - Set of template IDs in the current inheritance chain (for cycle detection)
45
+ * @returns Resolved template with merged entity types, relationships, and mappings
46
+ * @throws {Error} If parent template is not found
47
+ * @throws {Error} If circular inheritance is detected
48
+ */
49
+ private resolveInheritance;
33
50
  /**
34
51
  * Sets the active template by ID.
35
52
  *
@@ -120,6 +137,36 @@ export declare class TemplateRegistry {
120
137
  * @throws {Error} If no template is active
121
138
  */
122
139
  getValidRelationships(sourceType: string, targetType: string): RelationshipTypeConfig[];
140
+ /**
141
+ * Builds a frontmatter template object for a specific entity type.
142
+ *
143
+ * Creates a complete frontmatter object with:
144
+ * - Base fields (id, type, status, title, importance, tags, aliases)
145
+ * - Custom fields from entity type config with default values
146
+ *
147
+ * @param entityTypeName - Name of entity type to build template for
148
+ * @returns Frontmatter template object
149
+ * @throws {Error} If no template is active or entity type not found
150
+ */
151
+ buildFrontmatterTemplate(entityTypeName: string): Record<string, unknown>;
152
+ /**
153
+ * Builds frontmatter templates for all entity types in the active template.
154
+ *
155
+ * @returns Map of entity type names to their frontmatter templates
156
+ * @throws {Error} If no template is active
157
+ */
158
+ buildAllFrontmatterTemplates(): Record<string, Record<string, unknown>>;
159
+ /**
160
+ * Gets the default value for a field based on its configuration.
161
+ *
162
+ * Uses field.default if provided, otherwise derives from field type.
163
+ * Note: Empty values ([], {}) are returned here but should be filtered
164
+ * out when serializing to YAML to avoid parsing issues.
165
+ *
166
+ * @param field - Field configuration
167
+ * @returns Default value for the field
168
+ */
169
+ private getFieldDefaultValue;
123
170
  /**
124
171
  * Clears all registered templates and resets active template.
125
172
  *
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3C;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,6CAA6C;IAC7C,OAAO,CAAC,SAAS,CAA4C;IAE7D,0CAA0C;IAC1C,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAuCpE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAUlC;;;;OAIG;IACH,SAAS,IAAI,qBAAqB,GAAG,IAAI;IAOzC;;;;;OAKG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI1D;;;;;OAKG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;OAIG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;;;;;OAQG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAQzD;;;;;OAKG;IACH,cAAc,IAAI,gBAAgB,EAAE;IAQpC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAQnE;;;;;OAKG;IACH,oBAAoB,IAAI,sBAAsB,EAAE;IAQhD;;;;;;;;OAQG;IACH,iBAAiB,IAAI,iBAAiB,EAAE,GAAG,SAAS;IAQpD;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAgBvF;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAwI3C;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,6CAA6C;IAC7C,OAAO,CAAC,SAAS,CAA4C;IAE7D,0CAA0C;IAC1C,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IA6CpE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IAqD1B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAUlC;;;;OAIG;IACH,SAAS,IAAI,qBAAqB,GAAG,IAAI;IAOzC;;;;;OAKG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI1D;;;;;OAKG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;OAIG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;;;;;OAQG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAQzD;;;;;OAKG;IACH,cAAc,IAAI,gBAAgB,EAAE;IAQpC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAQnE;;;;;OAKG;IACH,oBAAoB,IAAI,sBAAsB,EAAE;IAQhD;;;;;;;;OAQG;IACH,iBAAiB,IAAI,iBAAiB,EAAE,GAAG,SAAS;IAQpD;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAgBvF;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAgCzE;;;;;OAKG;IACH,4BAA4B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAWvE;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAqD5B;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -2,8 +2,115 @@
2
2
  * Template registry for managing template lifecycle.
3
3
  *
4
4
  * Provides centralized template management with O(1) lookups
5
- * and validation on registration.
5
+ * and validation on registration. Supports template inheritance
6
+ * via the `extendsTemplate` field.
6
7
  */
8
+ /**
9
+ * Merges two arrays of field configs, with child fields taking precedence.
10
+ * Fields with the same name in the child override the parent field.
11
+ *
12
+ * @param parentFields - Fields from the parent entity type
13
+ * @param childFields - Additional fields from the child entity type
14
+ * @returns Merged array of field configs
15
+ */
16
+ function mergeFields(parentFields, childFields) {
17
+ const fieldMap = new Map();
18
+ // Add parent fields first
19
+ for (const field of parentFields) {
20
+ fieldMap.set(field.name, field);
21
+ }
22
+ // Child fields override parent fields with same name
23
+ for (const field of childFields) {
24
+ fieldMap.set(field.name, field);
25
+ }
26
+ return Array.from(fieldMap.values());
27
+ }
28
+ /**
29
+ * Merges entity type configs from parent and child templates.
30
+ *
31
+ * Rules:
32
+ * - Entity types only in parent: included as-is
33
+ * - Entity types only in child: included as-is
34
+ * - Entity types in both: child's additionalFields are merged with parent's fields
35
+ *
36
+ * @param parentTypes - Entity types from parent template
37
+ * @param childTypes - Entity types from child template
38
+ * @returns Merged array of entity type configs
39
+ */
40
+ function mergeEntityTypes(parentTypes, childTypes) {
41
+ const typeMap = new Map();
42
+ // Add all parent types
43
+ for (const parentType of parentTypes) {
44
+ typeMap.set(parentType.name, { ...parentType });
45
+ }
46
+ // Process child types
47
+ for (const childType of childTypes) {
48
+ const parentType = typeMap.get(childType.name);
49
+ if (parentType) {
50
+ // Extending existing type - merge fields
51
+ const mergedFields = mergeFields(parentType.fields, childType.additionalFields || childType.fields);
52
+ typeMap.set(childType.name, {
53
+ ...parentType,
54
+ // Child can override display metadata
55
+ displayName: childType.displayName || parentType.displayName,
56
+ pluralName: childType.pluralName || parentType.pluralName,
57
+ description: childType.description || parentType.description,
58
+ icon: childType.icon || parentType.icon,
59
+ fields: mergedFields,
60
+ // Clear additionalFields after merge
61
+ additionalFields: undefined,
62
+ });
63
+ }
64
+ else {
65
+ // New type from child - add as-is
66
+ typeMap.set(childType.name, { ...childType });
67
+ }
68
+ }
69
+ return Array.from(typeMap.values());
70
+ }
71
+ /**
72
+ * Merges relationship type configs from parent and child templates.
73
+ * Child relationship types with the same ID override parent types.
74
+ *
75
+ * @param parentTypes - Relationship types from parent template
76
+ * @param childTypes - Relationship types from child template
77
+ * @returns Merged array of relationship type configs
78
+ */
79
+ function mergeRelationshipTypes(parentTypes, childTypes) {
80
+ if (!parentTypes && !childTypes) {
81
+ return undefined;
82
+ }
83
+ const typeMap = new Map();
84
+ // Add parent types first
85
+ if (parentTypes) {
86
+ for (const relType of parentTypes) {
87
+ typeMap.set(relType.id, relType);
88
+ }
89
+ }
90
+ // Child types override parent types with same ID
91
+ if (childTypes) {
92
+ for (const relType of childTypes) {
93
+ typeMap.set(relType.id, relType);
94
+ }
95
+ }
96
+ return Array.from(typeMap.values());
97
+ }
98
+ /**
99
+ * Merges folder mappings from parent and child templates.
100
+ * Child mappings are appended to parent mappings (child takes precedence
101
+ * when patterns match, since they come later in the array).
102
+ *
103
+ * @param parentMappings - Folder mappings from parent template
104
+ * @param childMappings - Folder mappings from child template
105
+ * @returns Merged array of folder mapping rules
106
+ */
107
+ function mergeFolderMappings(parentMappings, childMappings) {
108
+ if (!parentMappings && !childMappings) {
109
+ return undefined;
110
+ }
111
+ // Child mappings come after parent, so they take precedence in matching
112
+ return [...(parentMappings || []), ...(childMappings || [])];
113
+ }
7
114
  /**
8
115
  * Manages registered templates with fast lookups.
9
116
  *
@@ -18,19 +125,27 @@ export class TemplateRegistry {
18
125
  /**
19
126
  * Registers a template in the registry.
20
127
  *
21
- * Validates the template definition and creates optimized lookup maps.
128
+ * Validates the template definition, resolves inheritance if `extendsTemplate`
129
+ * is specified, and creates optimized lookup maps.
22
130
  *
23
131
  * @param template - Template definition to register
24
132
  * @param source - Source of the template (builtin or config)
25
133
  * @throws {Error} If template with this ID is already registered
134
+ * @throws {Error} If parent template is not found (when using extendsTemplate)
135
+ * @throws {Error} If circular inheritance is detected
26
136
  */
27
137
  register(template, source) {
28
138
  if (this.templates.has(template.id)) {
29
139
  throw new Error(`Template "${template.id}" is already registered`);
30
140
  }
141
+ // Resolve template inheritance
142
+ let resolvedTemplate = template;
143
+ if (template.extendsTemplate) {
144
+ resolvedTemplate = this.resolveInheritance(template);
145
+ }
31
146
  // Create entity type lookup map for O(1) access
32
147
  const entityTypeMap = new Map();
33
- for (const entityType of template.entityTypes) {
148
+ for (const entityType of resolvedTemplate.entityTypes) {
34
149
  if (entityTypeMap.has(entityType.name)) {
35
150
  throw new Error(`Duplicate entity type "${entityType.name}" in template "${template.id}"`);
36
151
  }
@@ -38,8 +153,8 @@ export class TemplateRegistry {
38
153
  }
39
154
  // Create relationship type lookup map for O(1) access
40
155
  const relationshipTypeMap = new Map();
41
- if (template.relationshipTypes) {
42
- for (const relType of template.relationshipTypes) {
156
+ if (resolvedTemplate.relationshipTypes) {
157
+ for (const relType of resolvedTemplate.relationshipTypes) {
43
158
  if (relationshipTypeMap.has(relType.id)) {
44
159
  throw new Error(`Duplicate relationship type "${relType.id}" in template "${template.id}"`);
45
160
  }
@@ -47,13 +162,57 @@ export class TemplateRegistry {
47
162
  }
48
163
  }
49
164
  const entry = {
50
- ...template,
165
+ ...resolvedTemplate,
51
166
  source,
52
167
  entityTypeMap,
53
168
  relationshipTypeMap,
54
169
  };
55
170
  this.templates.set(template.id, entry);
56
171
  }
172
+ /**
173
+ * Resolves template inheritance by merging with parent template(s).
174
+ *
175
+ * Handles multi-level inheritance (e.g., A extends B extends C) by
176
+ * recursively resolving the parent chain.
177
+ *
178
+ * @param template - Child template with extendsTemplate specified
179
+ * @param visited - Set of template IDs in the current inheritance chain (for cycle detection)
180
+ * @returns Resolved template with merged entity types, relationships, and mappings
181
+ * @throws {Error} If parent template is not found
182
+ * @throws {Error} If circular inheritance is detected
183
+ */
184
+ resolveInheritance(template, visited = new Set()) {
185
+ if (!template.extendsTemplate) {
186
+ return template;
187
+ }
188
+ // Check for circular inheritance
189
+ if (visited.has(template.id)) {
190
+ throw new Error(`Circular template inheritance detected: ${Array.from(visited).join(' -> ')} -> ${template.id}`);
191
+ }
192
+ visited.add(template.id);
193
+ // Get parent template
194
+ const parentEntry = this.templates.get(template.extendsTemplate);
195
+ if (!parentEntry) {
196
+ throw new Error(`Template "${template.id}" extends "${template.extendsTemplate}", but parent template is not registered. ` +
197
+ `Make sure parent templates are registered before child templates.`);
198
+ }
199
+ // If parent also extends another template, recursively resolve
200
+ // Note: Parent is already registered, so it's already resolved
201
+ // We just need to merge with the resolved parent
202
+ // Merge entity types
203
+ const mergedEntityTypes = mergeEntityTypes(parentEntry.entityTypes, template.entityTypes);
204
+ // Merge relationship types
205
+ const mergedRelationshipTypes = mergeRelationshipTypes(parentEntry.relationshipTypes, template.relationshipTypes);
206
+ // Merge folder mappings
207
+ const mergedFolderMappings = mergeFolderMappings(parentEntry.folderMappings, template.folderMappings);
208
+ // Return resolved template
209
+ return {
210
+ ...template,
211
+ entityTypes: mergedEntityTypes,
212
+ relationshipTypes: mergedRelationshipTypes,
213
+ folderMappings: mergedFolderMappings,
214
+ };
215
+ }
57
216
  /**
58
217
  * Sets the active template by ID.
59
218
  *
@@ -202,6 +361,117 @@ export class TemplateRegistry {
202
361
  return sourceValid && targetValid;
203
362
  });
204
363
  }
364
+ /**
365
+ * Builds a frontmatter template object for a specific entity type.
366
+ *
367
+ * Creates a complete frontmatter object with:
368
+ * - Base fields (id, type, status, title, importance, tags, aliases)
369
+ * - Custom fields from entity type config with default values
370
+ *
371
+ * @param entityTypeName - Name of entity type to build template for
372
+ * @returns Frontmatter template object
373
+ * @throws {Error} If no template is active or entity type not found
374
+ */
375
+ buildFrontmatterTemplate(entityTypeName) {
376
+ const entityType = this.getEntityType(entityTypeName);
377
+ if (!entityType) {
378
+ throw new Error(`Cannot build frontmatter template: entity type "${entityTypeName}" not found in active template`);
379
+ }
380
+ // Base fields common to all entity types
381
+ const baseFields = {
382
+ id: '',
383
+ type: entityTypeName,
384
+ status: 'draft',
385
+ title: '',
386
+ tags: [],
387
+ aliases: [],
388
+ };
389
+ // Asset type doesn't have importance field
390
+ if (entityTypeName !== 'asset') {
391
+ baseFields.importance = 'minor';
392
+ }
393
+ // Build custom fields from entity type config
394
+ const customFields = {};
395
+ for (const field of entityType.fields) {
396
+ customFields[field.name] = this.getFieldDefaultValue(field);
397
+ }
398
+ return { ...baseFields, ...customFields };
399
+ }
400
+ /**
401
+ * Builds frontmatter templates for all entity types in the active template.
402
+ *
403
+ * @returns Map of entity type names to their frontmatter templates
404
+ * @throws {Error} If no template is active
405
+ */
406
+ buildAllFrontmatterTemplates() {
407
+ const entityTypes = this.getEntityTypes();
408
+ const templates = {};
409
+ for (const entityType of entityTypes) {
410
+ templates[entityType.name] = this.buildFrontmatterTemplate(entityType.name);
411
+ }
412
+ return templates;
413
+ }
414
+ /**
415
+ * Gets the default value for a field based on its configuration.
416
+ *
417
+ * Uses field.default if provided, otherwise derives from field type.
418
+ * Note: Empty values ([], {}) are returned here but should be filtered
419
+ * out when serializing to YAML to avoid parsing issues.
420
+ *
421
+ * @param field - Field configuration
422
+ * @returns Default value for the field
423
+ */
424
+ getFieldDefaultValue(field) {
425
+ // Use explicit default if provided
426
+ if (field.default !== undefined) {
427
+ return field.default;
428
+ }
429
+ // Derive default from field type
430
+ switch (field.type) {
431
+ case 'string':
432
+ return '';
433
+ case 'number':
434
+ return null;
435
+ case 'boolean':
436
+ return false;
437
+ case 'enum':
438
+ return '';
439
+ case 'array':
440
+ return [];
441
+ case 'date':
442
+ return '';
443
+ case 'record':
444
+ // For record types, check if there are known nested structures
445
+ // Character-specific nested objects
446
+ if (field.name === 'appearance') {
447
+ return {
448
+ height: '',
449
+ build: '',
450
+ hair: '',
451
+ eyes: '',
452
+ distinctive_features: ''
453
+ };
454
+ }
455
+ if (field.name === 'personality') {
456
+ return {
457
+ traits: [],
458
+ motivations: [],
459
+ flaws: []
460
+ };
461
+ }
462
+ if (field.name === 'background') {
463
+ return {
464
+ birthplace: '',
465
+ occupation: '',
466
+ affiliations: []
467
+ };
468
+ }
469
+ // Default record is empty object
470
+ return {};
471
+ default:
472
+ return null;
473
+ }
474
+ }
205
475
  /**
206
476
  * Clears all registered templates and resets active template.
207
477
  *
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}