@hiveforge/hivemind-mcp 2.6.1 → 2.7.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 (113) hide show
  1. package/dist/cli/fix/fixer.d.ts +100 -0
  2. package/dist/cli/fix/fixer.d.ts.map +1 -0
  3. package/dist/cli/fix/fixer.js +256 -0
  4. package/dist/cli/fix/fixer.js.map +1 -0
  5. package/dist/cli/fix/formatter.d.ts +48 -0
  6. package/dist/cli/fix/formatter.d.ts.map +1 -0
  7. package/dist/cli/fix/formatter.js +159 -0
  8. package/dist/cli/fix/formatter.js.map +1 -0
  9. package/dist/cli/fix/id-generator.d.ts +48 -0
  10. package/dist/cli/fix/id-generator.d.ts.map +1 -0
  11. package/dist/cli/fix/id-generator.js +133 -0
  12. package/dist/cli/fix/id-generator.js.map +1 -0
  13. package/dist/cli/fix/index.d.ts +45 -0
  14. package/dist/cli/fix/index.d.ts.map +1 -0
  15. package/dist/cli/fix/index.js +239 -0
  16. package/dist/cli/fix/index.js.map +1 -0
  17. package/dist/cli/fix/types.d.ts +83 -0
  18. package/dist/cli/fix/types.d.ts.map +1 -0
  19. package/dist/cli/fix/types.js +8 -0
  20. package/dist/cli/fix/types.js.map +1 -0
  21. package/dist/cli/fix/writer.d.ts +44 -0
  22. package/dist/cli/fix/writer.d.ts.map +1 -0
  23. package/dist/cli/fix/writer.js +73 -0
  24. package/dist/cli/fix/writer.js.map +1 -0
  25. package/dist/cli/init/detection.d.ts +18 -0
  26. package/dist/cli/init/detection.d.ts.map +1 -0
  27. package/dist/cli/init/detection.js +40 -0
  28. package/dist/cli/init/detection.js.map +1 -0
  29. package/dist/cli/init/index.d.ts +27 -0
  30. package/dist/cli/init/index.d.ts.map +1 -0
  31. package/dist/cli/init/index.js +115 -0
  32. package/dist/cli/init/index.js.map +1 -0
  33. package/dist/cli/init/output.d.ts +58 -0
  34. package/dist/cli/init/output.d.ts.map +1 -0
  35. package/dist/cli/init/output.js +168 -0
  36. package/dist/cli/init/output.js.map +1 -0
  37. package/dist/cli/init/prompts.d.ts +28 -0
  38. package/dist/cli/init/prompts.d.ts.map +1 -0
  39. package/dist/cli/init/prompts.js +85 -0
  40. package/dist/cli/init/prompts.js.map +1 -0
  41. package/dist/cli/init/validators.d.ts +15 -0
  42. package/dist/cli/init/validators.d.ts.map +1 -0
  43. package/dist/cli/init/validators.js +48 -0
  44. package/dist/cli/init/validators.js.map +1 -0
  45. package/dist/cli/init/wizard.d.ts +22 -0
  46. package/dist/cli/init/wizard.d.ts.map +1 -0
  47. package/dist/cli/init/wizard.js +84 -0
  48. package/dist/cli/init/wizard.js.map +1 -0
  49. package/dist/cli/shared/clipboard.d.ts +2 -0
  50. package/dist/cli/shared/clipboard.d.ts.map +1 -0
  51. package/dist/cli/shared/clipboard.js +12 -0
  52. package/dist/cli/shared/clipboard.js.map +1 -0
  53. package/dist/cli/shared/colors.d.ts +6 -0
  54. package/dist/cli/shared/colors.d.ts.map +1 -0
  55. package/dist/cli/shared/colors.js +7 -0
  56. package/dist/cli/shared/colors.js.map +1 -0
  57. package/dist/cli/validate/formatter.d.ts +25 -0
  58. package/dist/cli/validate/formatter.d.ts.map +1 -0
  59. package/dist/cli/validate/formatter.js +156 -0
  60. package/dist/cli/validate/formatter.js.map +1 -0
  61. package/dist/cli/validate/index.d.ts +12 -0
  62. package/dist/cli/validate/index.d.ts.map +1 -0
  63. package/dist/cli/validate/index.js +105 -0
  64. package/dist/cli/validate/index.js.map +1 -0
  65. package/dist/cli/validate/scanner.d.ts +32 -0
  66. package/dist/cli/validate/scanner.d.ts.map +1 -0
  67. package/dist/cli/validate/scanner.js +114 -0
  68. package/dist/cli/validate/scanner.js.map +1 -0
  69. package/dist/cli/validate/types.d.ts +71 -0
  70. package/dist/cli/validate/types.d.ts.map +1 -0
  71. package/dist/cli/validate/types.js +7 -0
  72. package/dist/cli/validate/types.js.map +1 -0
  73. package/dist/cli/validate/validator.d.ts +24 -0
  74. package/dist/cli/validate/validator.d.ts.map +1 -0
  75. package/dist/cli/validate/validator.js +133 -0
  76. package/dist/cli/validate/validator.js.map +1 -0
  77. package/dist/cli.js +24 -353
  78. package/dist/cli.js.map +1 -1
  79. package/dist/comfyui/client.js +1 -1
  80. package/dist/comfyui/client.js.map +1 -1
  81. package/dist/graph/database.js +1 -1
  82. package/dist/graph/database.js.map +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/search/engine.js +1 -1
  86. package/dist/search/engine.js.map +1 -1
  87. package/dist/templates/builtin/people-management.d.ts.map +1 -1
  88. package/dist/templates/builtin/people-management.js +19 -0
  89. package/dist/templates/builtin/people-management.js.map +1 -1
  90. package/dist/templates/builtin/research.d.ts.map +1 -1
  91. package/dist/templates/builtin/research.js +18 -0
  92. package/dist/templates/builtin/research.js.map +1 -1
  93. package/dist/templates/builtin/worldbuilding.d.ts.map +1 -1
  94. package/dist/templates/builtin/worldbuilding.js +44 -0
  95. package/dist/templates/builtin/worldbuilding.js.map +1 -1
  96. package/dist/templates/folder-mapper.d.ts +61 -36
  97. package/dist/templates/folder-mapper.d.ts.map +1 -1
  98. package/dist/templates/folder-mapper.js +176 -53
  99. package/dist/templates/folder-mapper.js.map +1 -1
  100. package/dist/templates/registry.d.ts +11 -1
  101. package/dist/templates/registry.d.ts.map +1 -1
  102. package/dist/templates/registry.js +16 -0
  103. package/dist/templates/registry.js.map +1 -1
  104. package/dist/templates/types.d.ts +47 -0
  105. package/dist/templates/types.d.ts.map +1 -1
  106. package/dist/templates/validator.d.ts +15 -0
  107. package/dist/templates/validator.d.ts.map +1 -1
  108. package/dist/templates/validator.js +8 -0
  109. package/dist/templates/validator.js.map +1 -1
  110. package/dist/types/index.d.ts +5 -5
  111. package/dist/vault/reader.js +1 -1
  112. package/dist/vault/reader.js.map +1 -1
  113. package/package.json +8 -2
@@ -1,15 +1,179 @@
1
1
  /**
2
2
  * Folder-to-type mapping utility.
3
3
  *
4
- * Infers entity types from file paths based on folder names.
4
+ * Infers entity types from file paths based on folder patterns.
5
5
  * Used by the CLI 'fix' command and Obsidian plugin to auto-suggest
6
6
  * entity types for files without frontmatter.
7
7
  */
8
+ import picomatch from 'picomatch';
8
9
  /**
9
- * Default folder-to-type mappings for common worldbuilding folder structures.
10
+ * Calculate pattern specificity for "most specific wins" resolution.
11
+ * Higher score = more specific pattern.
12
+ */
13
+ function calculateSpecificity(pattern) {
14
+ let score = 0;
15
+ // Base: character count (longer = more specific)
16
+ score += pattern.length;
17
+ // Wildcards reduce specificity
18
+ const doubleStars = (pattern.match(/\*\*/g) || []).length;
19
+ const singleStars = (pattern.match(/(?<!\*)\*(?!\*)/g) || []).length;
20
+ score -= doubleStars * 10; // ** is very generic
21
+ score -= singleStars * 5; // * is somewhat generic
22
+ // Path depth increases specificity
23
+ const depth = pattern.split('/').filter(s => s.length > 0).length;
24
+ score += depth * 8;
25
+ // Literal segments (no wildcards) are highly specific
26
+ const segments = pattern.split('/').filter(s => s.length > 0);
27
+ const literalSegs = segments.filter(s => !s.includes('*')).length;
28
+ score += literalSegs * 12;
29
+ return score;
30
+ }
31
+ /**
32
+ * Normalize path to forward slashes for glob matching.
33
+ * Windows backslashes become forward slashes.
34
+ */
35
+ function normalizePath(filePath) {
36
+ return filePath.replace(/\\/g, '/');
37
+ }
38
+ /**
39
+ * FolderMapper resolves file paths to entity types using glob patterns.
10
40
  *
11
- * Supports multiple naming conventions (e.g., 'characters', 'people', 'npcs')
12
- * mapping to the same entity type.
41
+ * Shared between CLI and Obsidian plugin - no duplication.
42
+ * Uses picomatch for fast, standards-compliant glob matching.
43
+ */
44
+ export class FolderMapper {
45
+ compiledMappings;
46
+ fallbackType;
47
+ /**
48
+ * Private constructor - use FolderMapper.create() instead.
49
+ */
50
+ constructor(compiledMappings, fallbackType) {
51
+ this.compiledMappings = compiledMappings;
52
+ this.fallbackType = fallbackType;
53
+ }
54
+ /**
55
+ * Create a FolderMapper from configuration.
56
+ *
57
+ * Validates patterns and pre-compiles matchers for performance.
58
+ * Throws on invalid glob patterns.
59
+ *
60
+ * @param config - Folder mapping configuration
61
+ * @returns Promise resolving to configured FolderMapper
62
+ */
63
+ static async create(config) {
64
+ const compiled = [];
65
+ for (const rule of config.mappings) {
66
+ // Normalize pattern (backslashes to forward slashes)
67
+ const normalizedPattern = normalizePath(rule.folder);
68
+ // Validate pattern by attempting to parse
69
+ try {
70
+ picomatch.parse(normalizedPattern);
71
+ }
72
+ catch (error) {
73
+ throw new Error(`Invalid glob pattern "${rule.folder}": ${error.message}`);
74
+ }
75
+ compiled.push({
76
+ rule: { ...rule, folder: normalizedPattern },
77
+ matcher: picomatch(normalizedPattern),
78
+ specificity: calculateSpecificity(normalizedPattern),
79
+ });
80
+ }
81
+ // Sort by specificity (highest first) for "most specific wins"
82
+ compiled.sort((a, b) => b.specificity - a.specificity);
83
+ return new FolderMapper(compiled, config.fallbackType);
84
+ }
85
+ /**
86
+ * Create a FolderMapper with default worldbuilding mappings.
87
+ * Convenience method for backwards compatibility.
88
+ */
89
+ static async createWithDefaults() {
90
+ return FolderMapper.create({
91
+ mappings: DEFAULT_FOLDER_MAPPINGS.map(m => ({
92
+ folder: `**/${m.pattern}/**`,
93
+ types: [m.entityType],
94
+ })),
95
+ });
96
+ }
97
+ /**
98
+ * Create a FolderMapper from template folderMappings.
99
+ *
100
+ * Converts template-style FolderMappingRule[] to FolderMappingConfig.
101
+ * Falls back to defaults if no mappings provided.
102
+ *
103
+ * @param folderMappings - Array of folder mapping rules from template
104
+ * @param fallbackType - Optional fallback type when no pattern matches
105
+ * @returns Promise resolving to configured FolderMapper
106
+ */
107
+ static async createFromTemplate(folderMappings, fallbackType) {
108
+ // If template has mappings, use them
109
+ if (folderMappings && folderMappings.length > 0) {
110
+ return FolderMapper.create({
111
+ mappings: folderMappings,
112
+ fallbackType,
113
+ });
114
+ }
115
+ // Fall back to defaults (worldbuilding patterns)
116
+ return FolderMapper.createWithDefaults();
117
+ }
118
+ /**
119
+ * Resolve a file path to entity type(s).
120
+ *
121
+ * Async API for future extensibility (e.g., loading config from disk).
122
+ *
123
+ * @param filePath - File path (absolute or vault-relative)
124
+ * @returns Resolve result with types and confidence
125
+ */
126
+ async resolveType(filePath) {
127
+ const normalized = normalizePath(filePath);
128
+ // Find first matching pattern (already sorted by specificity)
129
+ for (const compiled of this.compiledMappings) {
130
+ if (compiled.matcher(normalized)) {
131
+ const types = compiled.rule.types;
132
+ return {
133
+ types,
134
+ matchedPattern: compiled.rule.folder,
135
+ confidence: types.length === 1 ? 'exact' : 'ambiguous',
136
+ };
137
+ }
138
+ }
139
+ // No match - use fallback or return none
140
+ if (this.fallbackType) {
141
+ return {
142
+ types: [this.fallbackType],
143
+ matchedPattern: null,
144
+ confidence: 'fallback',
145
+ };
146
+ }
147
+ return {
148
+ types: [],
149
+ matchedPattern: null,
150
+ confidence: 'none',
151
+ };
152
+ }
153
+ /**
154
+ * Resolve types for multiple file paths.
155
+ *
156
+ * @param filePaths - Array of file paths
157
+ * @returns Map of file path to resolve result
158
+ */
159
+ async resolveTypes(filePaths) {
160
+ const results = new Map();
161
+ for (const path of filePaths) {
162
+ results.set(path, await this.resolveType(path));
163
+ }
164
+ return results;
165
+ }
166
+ /**
167
+ * Get all configured mappings.
168
+ */
169
+ getMappings() {
170
+ return this.compiledMappings.map(c => c.rule);
171
+ }
172
+ }
173
+ // ===== Legacy API for backwards compatibility =====
174
+ /**
175
+ * Default folder-to-type mappings for common worldbuilding folder structures.
176
+ * @deprecated Use FolderMapper.create() with explicit config instead.
13
177
  */
14
178
  export const DEFAULT_FOLDER_MAPPINGS = [
15
179
  // Character mappings
@@ -55,64 +219,33 @@ export const DEFAULT_FOLDER_MAPPINGS = [
55
219
  { pattern: 'meta', entityType: 'reference' },
56
220
  ];
57
221
  /**
58
- * FolderMapper infers entity types from file paths.
59
- *
60
- * Checks each path segment against folder mappings to determine
61
- * the most likely entity type for a file.
222
+ * Legacy FolderMapper using simple string matching.
223
+ * @deprecated Use async FolderMapper.create() for glob support.
62
224
  */
63
- export class FolderMapper {
225
+ export class LegacyFolderMapper {
64
226
  mappings;
65
- /**
66
- * Create a FolderMapper with optional custom mappings.
67
- *
68
- * @param customMappings - Additional or override mappings.
69
- * Custom mappings take precedence over defaults.
70
- */
71
227
  constructor(customMappings = []) {
72
228
  this.mappings = new Map();
73
- // Add default mappings first
74
229
  for (const mapping of DEFAULT_FOLDER_MAPPINGS) {
75
230
  this.mappings.set(mapping.pattern.toLowerCase(), mapping.entityType);
76
231
  }
77
- // Override with custom mappings
78
232
  for (const mapping of customMappings) {
79
233
  this.mappings.set(mapping.pattern.toLowerCase(), mapping.entityType);
80
234
  }
81
235
  }
82
- /**
83
- * Infer entity type from a file path.
84
- *
85
- * Checks each folder in the path against mappings.
86
- * Returns the first match found, or null if no match.
87
- *
88
- * @param filePath - Relative or absolute file path
89
- * @returns Inferred entity type name, or null if no match
90
- */
91
236
  inferType(filePath) {
92
- // Split on both forward and back slashes
93
237
  const parts = filePath.toLowerCase().split(/[/\\]/);
94
- // Check each path part against mappings
95
238
  for (const part of parts) {
96
- // Exact match
97
239
  const exactMatch = this.mappings.get(part);
98
- if (exactMatch) {
240
+ if (exactMatch)
99
241
  return exactMatch;
100
- }
101
- // Prefix match (e.g., 'characters-main' matches 'characters')
102
242
  for (const [pattern, entityType] of this.mappings) {
103
- if (part.startsWith(pattern)) {
243
+ if (part.startsWith(pattern))
104
244
  return entityType;
105
- }
106
245
  }
107
246
  }
108
247
  return null;
109
248
  }
110
- /**
111
- * Infer types for multiple file paths.
112
- *
113
- * @param filePaths - Array of file paths
114
- * @returns Map of file path to inferred type (or null)
115
- */
116
249
  inferTypes(filePaths) {
117
250
  const results = new Map();
118
251
  for (const path of filePaths) {
@@ -120,29 +253,19 @@ export class FolderMapper {
120
253
  }
121
254
  return results;
122
255
  }
123
- /**
124
- * Get all registered mappings.
125
- *
126
- * @returns Array of folder mappings
127
- */
128
256
  getMappings() {
129
257
  return Array.from(this.mappings.entries()).map(([pattern, entityType]) => ({
130
258
  pattern,
131
259
  entityType,
132
260
  }));
133
261
  }
134
- /**
135
- * Add a new mapping.
136
- *
137
- * @param pattern - Folder name pattern
138
- * @param entityType - Entity type to assign
139
- */
140
262
  addMapping(pattern, entityType) {
141
263
  this.mappings.set(pattern.toLowerCase(), entityType);
142
264
  }
143
265
  }
144
266
  /**
145
- * Singleton instance for convenience.
267
+ * Legacy singleton instance.
268
+ * @deprecated Use async FolderMapper.create() for glob support.
146
269
  */
147
- export const folderMapper = new FolderMapper();
270
+ export const folderMapper = new LegacyFolderMapper();
148
271
  //# sourceMappingURL=folder-mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"folder-mapper.js","sourceRoot":"","sources":["../../src/templates/folder-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAoB;IACtD,qBAAqB;IACrB,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE;IAClD,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE;IAC9C,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;IAC5C,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE;IAC3C,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;IAE5C,oBAAoB;IACpB,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;IAChD,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;IAC7C,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;IAChD,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5C,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;IAC9C,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;IAC7C,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE;IAE5C,iBAAiB;IACjB,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE;IAC1C,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE;IAC5C,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE;IAC3C,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE;IAE5C,mBAAmB;IACnB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE;IAC9C,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE;IACnD,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;IAC5C,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;IAC5C,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;IAE5C,gBAAgB;IAChB,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IACvC,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE;IAC5C,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE;IACxC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;IAC1C,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE;IAE3C,iBAAiB;IACjB,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE;IAC1C,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE;IAC1C,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;IAEzC,qBAAqB;IACrB,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE;IAClD,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;IAC/C,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE;IACnD,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE;IAC7C,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACf,QAAQ,CAAsB;IAEtC;;;;;OAKG;IACH,YAAY,iBAAkC,EAAE;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,6BAA6B;QAC7B,KAAK,MAAM,OAAO,IAAI,uBAAuB,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACvE,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAgB;QACxB,yCAAyC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpD,wCAAwC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,cAAc;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,8DAA8D;YAC9D,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,SAAmB;QAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YACzE,OAAO;YACP,UAAU;SACX,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,OAAe,EAAE,UAAkB;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"folder-mapper.js","sourceRoot":"","sources":["../../src/templates/folder-mapper.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Provides centralized template management with O(1) lookups
5
5
  * and validation on registration.
6
6
  */
7
- import type { TemplateDefinition, TemplateRegistryEntry, EntityTypeConfig, RelationshipTypeConfig } from './types.js';
7
+ import type { TemplateDefinition, TemplateRegistryEntry, EntityTypeConfig, RelationshipTypeConfig, FolderMappingRule } from './types.js';
8
8
  /**
9
9
  * Source of a template registration.
10
10
  */
@@ -97,6 +97,16 @@ export declare class TemplateRegistry {
97
97
  * @throws {Error} If no template is active
98
98
  */
99
99
  getRelationshipTypes(): RelationshipTypeConfig[];
100
+ /**
101
+ * Gets folder mappings from the active template.
102
+ *
103
+ * Returns the template's configured folder mappings for entity type inference.
104
+ * Returns undefined if the template has no folder mappings defined.
105
+ *
106
+ * @returns Array of folder mapping rules, or undefined if not configured
107
+ * @throws {Error} If no template is active
108
+ */
109
+ getFolderMappings(): FolderMappingRule[] | undefined;
100
110
  /**
101
111
  * Gets valid relationship types for a source-target entity type pair.
102
112
  *
@@ -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,EACvB,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;;;;;;;;;;;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;;;;;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"}
@@ -162,6 +162,22 @@ export class TemplateRegistry {
162
162
  }
163
163
  return active.relationshipTypes || [];
164
164
  }
165
+ /**
166
+ * Gets folder mappings from the active template.
167
+ *
168
+ * Returns the template's configured folder mappings for entity type inference.
169
+ * Returns undefined if the template has no folder mappings defined.
170
+ *
171
+ * @returns Array of folder mapping rules, or undefined if not configured
172
+ * @throws {Error} If no template is active
173
+ */
174
+ getFolderMappings() {
175
+ const active = this.getActive();
176
+ if (!active) {
177
+ throw new Error('Cannot get folder mappings: no active template');
178
+ }
179
+ return active.folderMappings;
180
+ }
165
181
  /**
166
182
  * Gets valid relationship types for a source-target entity type pair.
167
183
  *
@@ -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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"}
@@ -131,6 +131,8 @@ export interface TemplateDefinition {
131
131
  license?: string;
132
132
  /** Minimum Hivemind version required */
133
133
  minHivemindVersion?: string;
134
+ /** Folder-to-type mappings for this template */
135
+ folderMappings?: FolderMappingRule[];
134
136
  }
135
137
  /**
136
138
  * Structure of the template configuration in config.json.
@@ -168,4 +170,49 @@ export interface FolderMapping {
168
170
  /** Entity type to assign when pattern matches */
169
171
  entityType: string;
170
172
  }
173
+ /**
174
+ * Configuration for folder-to-type mappings.
175
+ * Lives inside template config - each template defines its own mappings.
176
+ */
177
+ export interface FolderMappingConfig {
178
+ /** Array of folder-to-type mapping rules */
179
+ mappings: FolderMappingRule[];
180
+ /** Optional fallback type when no mapping matches */
181
+ fallbackType?: string;
182
+ }
183
+ /**
184
+ * Single folder-to-type mapping rule.
185
+ * Supports glob patterns and multiple types per folder.
186
+ */
187
+ export interface FolderMappingRule {
188
+ /**
189
+ * Glob pattern to match folder paths
190
+ * Examples: "People/", "Notes/**", "&#42;&#42;/Characters/&#42;&#42;"
191
+ * Patterns are relative to vault root. Use forward slashes.
192
+ */
193
+ folder: string;
194
+ /**
195
+ * Entity type(s) to assign when pattern matches.
196
+ * Single type: file is assigned that type.
197
+ * Multiple types: consumer should prompt user to choose.
198
+ */
199
+ types: string[];
200
+ }
201
+ /**
202
+ * Result of resolving a file path to entity type(s).
203
+ */
204
+ export interface ResolveResult {
205
+ /** Resolved entity type(s) */
206
+ types: string[];
207
+ /** Pattern that matched (null if fallback or no match) */
208
+ matchedPattern: string | null;
209
+ /**
210
+ * Confidence level:
211
+ * - 'exact': Single type from exact pattern match
212
+ * - 'ambiguous': Multiple types, consumer should prompt
213
+ * - 'fallback': Used fallback type (no pattern matched)
214
+ * - 'none': No match and no fallback
215
+ */
216
+ confidence: 'exact' | 'ambiguous' | 'fallback' | 'none';
217
+ }
171
218
  //# sourceMappingURL=types.d.ts.map
@@ -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,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;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,UAAU,GACV,aAAa,GACb,UAAU,GACV,UAAU,GACV,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;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;IAI7C,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,yBAAyB;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/templates/types.ts"],"names":[],"mappings":"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"}
@@ -141,6 +141,13 @@ export declare const TemplateAuthorSchema: z.ZodObject<{
141
141
  url: z.ZodOptional<z.ZodString>;
142
142
  email: z.ZodOptional<z.ZodString>;
143
143
  }, z.core.$strip>;
144
+ /**
145
+ * Zod schema for folder mapping rule validation.
146
+ */
147
+ export declare const FolderMappingRuleSchema: z.ZodObject<{
148
+ folder: z.ZodString;
149
+ types: z.ZodArray<z.ZodString>;
150
+ }, z.core.$strip>;
144
151
  /**
145
152
  * Zod schema for template definition validation.
146
153
  *
@@ -239,6 +246,10 @@ export declare const TemplateDefinitionSchema: z.ZodObject<{
239
246
  sampleVault: z.ZodOptional<z.ZodString>;
240
247
  license: z.ZodOptional<z.ZodString>;
241
248
  minHivemindVersion: z.ZodOptional<z.ZodString>;
249
+ folderMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
250
+ folder: z.ZodString;
251
+ types: z.ZodArray<z.ZodString>;
252
+ }, z.core.$strip>>>;
242
253
  }, z.core.$strip>;
243
254
  /**
244
255
  * Zod schema for full template configuration validation.
@@ -337,6 +348,10 @@ export declare const TemplateConfigSchema: z.ZodObject<{
337
348
  sampleVault: z.ZodOptional<z.ZodString>;
338
349
  license: z.ZodOptional<z.ZodString>;
339
350
  minHivemindVersion: z.ZodOptional<z.ZodString>;
351
+ folderMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
352
+ folder: z.ZodString;
353
+ types: z.ZodArray<z.ZodString>;
354
+ }, z.core.$strip>>>;
340
355
  }, z.core.$strip>>>;
341
356
  activeTemplate: z.ZodString;
342
357
  }, z.core.$strip>;
@@ -1 +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,EAGf,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;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;EAOK,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;iBAIK,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BK,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"}
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,EAGf,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;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;EAOK,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;iBAIK,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BK,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"}
@@ -111,6 +111,13 @@ export const TemplateAuthorSchema = z.object({
111
111
  url: z.string().url('Author URL must be a valid URL').optional(),
112
112
  email: z.string().email('Author email must be a valid email').optional(),
113
113
  });
114
+ /**
115
+ * Zod schema for folder mapping rule validation.
116
+ */
117
+ export const FolderMappingRuleSchema = z.object({
118
+ folder: z.string().min(1, 'Folder pattern is required'),
119
+ types: z.array(z.string().min(1)).min(1, 'At least one type is required'),
120
+ });
114
121
  /**
115
122
  * Zod schema for template definition validation.
116
123
  *
@@ -146,6 +153,7 @@ export const TemplateDefinitionSchema = z.object({
146
153
  .string()
147
154
  .regex(/^\d+\.\d+\.\d+$/, 'minHivemindVersion must follow semantic versioning')
148
155
  .optional(),
156
+ folderMappings: z.array(FolderMappingRuleSchema).optional(),
149
157
  });
150
158
  /**
151
159
  * Zod schema for full template configuration validation.
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/templates/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/templates/validator.ts"],"names":[],"mappings":"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"}
@@ -247,12 +247,12 @@ export declare const FactionFrontmatterSchema: z.ZodObject<{
247
247
  name: z.ZodString;
248
248
  faction_type: z.ZodOptional<z.ZodEnum<{
249
249
  other: "other";
250
- religion: "religion";
251
250
  house: "house";
252
251
  guild: "guild";
253
252
  organization: "organization";
254
253
  government: "government";
255
254
  military: "military";
255
+ religion: "religion";
256
256
  }>>;
257
257
  leader: z.ZodOptional<z.ZodString>;
258
258
  members: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -293,17 +293,17 @@ export declare const LoreFrontmatterSchema: z.ZodObject<{
293
293
  name: z.ZodString;
294
294
  category: z.ZodOptional<z.ZodEnum<{
295
295
  other: "other";
296
- history: "history";
296
+ religion: "religion";
297
297
  mythology: "mythology";
298
+ history: "history";
298
299
  magic: "magic";
299
- culture: "culture";
300
- religion: "religion";
301
300
  technology: "technology";
301
+ culture: "culture";
302
302
  }>>;
303
303
  related_entities: z.ZodOptional<z.ZodArray<z.ZodString>>;
304
304
  source: z.ZodOptional<z.ZodEnum<{
305
- meta: "meta";
306
305
  "in-world": "in-world";
306
+ meta: "meta";
307
307
  "player-knowledge": "player-knowledge";
308
308
  }>>;
309
309
  }, z.core.$strip>;
@@ -309,7 +309,7 @@ export class VaultReader {
309
309
  return true;
310
310
  }
311
311
  }
312
- catch (error) {
312
+ catch (_error) {
313
313
  // Skip files we can't stat
314
314
  continue;
315
315
  }