@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.
- package/README.md +114 -25
- package/dist/cli.js +193 -2
- package/dist/cli.js.map +1 -1
- package/dist/graph/builder.d.ts +7 -3
- package/dist/graph/builder.d.ts.map +1 -1
- package/dist/graph/builder.js +51 -21
- package/dist/graph/builder.js.map +1 -1
- package/dist/mcp/index.d.ts +8 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +8 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/tool-generator.d.ts +110 -0
- package/dist/mcp/tool-generator.d.ts.map +1 -0
- package/dist/mcp/tool-generator.js +281 -0
- package/dist/mcp/tool-generator.js.map +1 -0
- package/dist/parser/markdown.d.ts +9 -0
- package/dist/parser/markdown.d.ts.map +1 -1
- package/dist/parser/markdown.js +13 -2
- package/dist/parser/markdown.js.map +1 -1
- package/dist/search/engine.d.ts +9 -1
- package/dist/search/engine.d.ts.map +1 -1
- package/dist/search/engine.js +16 -4
- package/dist/search/engine.js.map +1 -1
- package/dist/server.d.ts +8 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +66 -199
- package/dist/server.js.map +1 -1
- package/dist/templates/builtin/people-management.d.ts +18 -0
- package/dist/templates/builtin/people-management.d.ts.map +1 -0
- package/dist/templates/builtin/people-management.js +523 -0
- package/dist/templates/builtin/people-management.js.map +1 -0
- package/dist/templates/builtin/research.d.ts +18 -0
- package/dist/templates/builtin/research.d.ts.map +1 -0
- package/dist/templates/builtin/research.js +349 -0
- package/dist/templates/builtin/research.js.map +1 -0
- package/dist/templates/builtin/worldbuilding.d.ts +20 -0
- package/dist/templates/builtin/worldbuilding.d.ts.map +1 -0
- package/dist/templates/builtin/worldbuilding.js +602 -0
- package/dist/templates/builtin/worldbuilding.js.map +1 -0
- package/dist/templates/detector.d.ts +51 -0
- package/dist/templates/detector.d.ts.map +1 -0
- package/dist/templates/detector.js +71 -0
- package/dist/templates/detector.js.map +1 -0
- package/dist/templates/folder-mapper.d.ts +66 -0
- package/dist/templates/folder-mapper.d.ts.map +1 -0
- package/dist/templates/folder-mapper.js +148 -0
- package/dist/templates/folder-mapper.js.map +1 -0
- package/dist/templates/index.d.ts +15 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +15 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/loader.d.ts +117 -0
- package/dist/templates/loader.d.ts.map +1 -0
- package/dist/templates/loader.js +208 -0
- package/dist/templates/loader.js.map +1 -0
- package/dist/templates/registry.d.ts +127 -0
- package/dist/templates/registry.d.ts.map +1 -0
- package/dist/templates/registry.js +205 -0
- package/dist/templates/registry.js.map +1 -0
- package/dist/templates/schema-factory.d.ts +76 -0
- package/dist/templates/schema-factory.d.ts.map +1 -0
- package/dist/templates/schema-factory.js +171 -0
- package/dist/templates/schema-factory.js.map +1 -0
- package/dist/templates/types.d.ts +40 -0
- package/dist/templates/types.d.ts.map +1 -1
- package/dist/templates/validator.d.ts +310 -0
- package/dist/templates/validator.d.ts.map +1 -0
- package/dist/templates/validator.js +169 -0
- package/dist/templates/validator.js.map +1 -0
- package/dist/types/index.d.ts +57 -21
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +39 -15
- package/dist/types/index.js.map +1 -1
- package/dist/vault/reader.d.ts.map +1 -1
- package/dist/vault/reader.js +15 -1
- package/dist/vault/reader.js.map +1 -1
- package/package.json +7 -4
|
@@ -0,0 +1,602 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in worldbuilding template.
|
|
3
|
+
*
|
|
4
|
+
* Defines entity types for worldbuilding projects:
|
|
5
|
+
* - character: NPCs, player characters, historical figures
|
|
6
|
+
* - location: Places, regions, buildings, rooms
|
|
7
|
+
* - event: Historical events, current events, plot points
|
|
8
|
+
* - faction: Organizations, governments, guilds, houses
|
|
9
|
+
* - lore: Mythology, magic systems, cultural knowledge
|
|
10
|
+
* - asset: Visual and media assets (images, audio, video)
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Worldbuilding template definition.
|
|
14
|
+
*
|
|
15
|
+
* Matches the existing hardcoded schemas in src/types/index.ts to ensure
|
|
16
|
+
* backwards compatibility with existing vaults.
|
|
17
|
+
*/
|
|
18
|
+
export const worldbuildingTemplate = {
|
|
19
|
+
id: 'worldbuilding',
|
|
20
|
+
name: 'Worldbuilding',
|
|
21
|
+
version: '1.0.0',
|
|
22
|
+
description: 'Template for fictional world creation with characters, locations, events, factions, lore, and assets',
|
|
23
|
+
// Relationship type definitions for the knowledge graph
|
|
24
|
+
relationshipTypes: [
|
|
25
|
+
// Character relationships
|
|
26
|
+
{
|
|
27
|
+
id: 'knows',
|
|
28
|
+
displayName: 'Knows',
|
|
29
|
+
description: 'Characters who know each other',
|
|
30
|
+
sourceTypes: ['character'],
|
|
31
|
+
targetTypes: ['character'],
|
|
32
|
+
bidirectional: true,
|
|
33
|
+
reverseId: 'knows',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 'located_in',
|
|
37
|
+
displayName: 'Located In',
|
|
38
|
+
description: 'Character is located in or associated with a location',
|
|
39
|
+
sourceTypes: ['character'],
|
|
40
|
+
targetTypes: ['location'],
|
|
41
|
+
bidirectional: true,
|
|
42
|
+
reverseId: 'has_inhabitant',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'has_inhabitant',
|
|
46
|
+
displayName: 'Has Inhabitant',
|
|
47
|
+
description: 'Location has an inhabitant character',
|
|
48
|
+
sourceTypes: ['location'],
|
|
49
|
+
targetTypes: ['character'],
|
|
50
|
+
bidirectional: false,
|
|
51
|
+
},
|
|
52
|
+
// Faction relationships
|
|
53
|
+
{
|
|
54
|
+
id: 'member_of',
|
|
55
|
+
displayName: 'Member Of',
|
|
56
|
+
description: 'Character is a member of a faction',
|
|
57
|
+
sourceTypes: ['character'],
|
|
58
|
+
targetTypes: ['faction'],
|
|
59
|
+
bidirectional: true,
|
|
60
|
+
reverseId: 'has_member',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 'has_member',
|
|
64
|
+
displayName: 'Has Member',
|
|
65
|
+
description: 'Faction has a member character',
|
|
66
|
+
sourceTypes: ['faction'],
|
|
67
|
+
targetTypes: ['character'],
|
|
68
|
+
bidirectional: false,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 'allied_with',
|
|
72
|
+
displayName: 'Allied With',
|
|
73
|
+
description: 'Factions that are allied',
|
|
74
|
+
sourceTypes: ['faction'],
|
|
75
|
+
targetTypes: ['faction'],
|
|
76
|
+
bidirectional: true,
|
|
77
|
+
reverseId: 'allied_with',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: 'rivals_with',
|
|
81
|
+
displayName: 'Rivals With',
|
|
82
|
+
description: 'Factions that are rivals or enemies',
|
|
83
|
+
sourceTypes: ['faction'],
|
|
84
|
+
targetTypes: ['faction'],
|
|
85
|
+
bidirectional: true,
|
|
86
|
+
reverseId: 'rivals_with',
|
|
87
|
+
},
|
|
88
|
+
// Location relationships
|
|
89
|
+
{
|
|
90
|
+
id: 'connected_to',
|
|
91
|
+
displayName: 'Connected To',
|
|
92
|
+
description: 'Locations that are connected or adjacent',
|
|
93
|
+
sourceTypes: ['location'],
|
|
94
|
+
targetTypes: ['location'],
|
|
95
|
+
bidirectional: true,
|
|
96
|
+
reverseId: 'connected_to',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: 'contains',
|
|
100
|
+
displayName: 'Contains',
|
|
101
|
+
description: 'Location contains another location (parent-child hierarchy)',
|
|
102
|
+
sourceTypes: ['location'],
|
|
103
|
+
targetTypes: ['location'],
|
|
104
|
+
bidirectional: true,
|
|
105
|
+
reverseId: 'contained_in',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
id: 'contained_in',
|
|
109
|
+
displayName: 'Contained In',
|
|
110
|
+
description: 'Location is contained within another location',
|
|
111
|
+
sourceTypes: ['location'],
|
|
112
|
+
targetTypes: ['location'],
|
|
113
|
+
bidirectional: false,
|
|
114
|
+
},
|
|
115
|
+
// Event relationships
|
|
116
|
+
{
|
|
117
|
+
id: 'participated_in',
|
|
118
|
+
displayName: 'Participated In',
|
|
119
|
+
description: 'Character participated in an event',
|
|
120
|
+
sourceTypes: ['character'],
|
|
121
|
+
targetTypes: ['event'],
|
|
122
|
+
bidirectional: true,
|
|
123
|
+
reverseId: 'has_participant',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: 'has_participant',
|
|
127
|
+
displayName: 'Has Participant',
|
|
128
|
+
description: 'Event has a participant character',
|
|
129
|
+
sourceTypes: ['event'],
|
|
130
|
+
targetTypes: ['character'],
|
|
131
|
+
bidirectional: false,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: 'occurred_at',
|
|
135
|
+
displayName: 'Occurred At',
|
|
136
|
+
description: 'Event occurred at a location',
|
|
137
|
+
sourceTypes: ['event'],
|
|
138
|
+
targetTypes: ['location'],
|
|
139
|
+
bidirectional: true,
|
|
140
|
+
reverseId: 'hosted_event',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: 'hosted_event',
|
|
144
|
+
displayName: 'Hosted Event',
|
|
145
|
+
description: 'Location hosted an event',
|
|
146
|
+
sourceTypes: ['location'],
|
|
147
|
+
targetTypes: ['event'],
|
|
148
|
+
bidirectional: false,
|
|
149
|
+
},
|
|
150
|
+
// Generic fallback relationship
|
|
151
|
+
{
|
|
152
|
+
id: 'related',
|
|
153
|
+
displayName: 'Related',
|
|
154
|
+
description: 'Generic relationship between any entities',
|
|
155
|
+
sourceTypes: 'any',
|
|
156
|
+
targetTypes: 'any',
|
|
157
|
+
bidirectional: true,
|
|
158
|
+
reverseId: 'related',
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
entityTypes: [
|
|
162
|
+
// Character entity type
|
|
163
|
+
{
|
|
164
|
+
name: 'character',
|
|
165
|
+
displayName: 'Character',
|
|
166
|
+
pluralName: 'Characters',
|
|
167
|
+
description: 'NPCs, player characters, and historical figures',
|
|
168
|
+
icon: 'user',
|
|
169
|
+
fields: [
|
|
170
|
+
{
|
|
171
|
+
name: 'name',
|
|
172
|
+
type: 'string',
|
|
173
|
+
required: true,
|
|
174
|
+
description: 'Character name',
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
name: 'age',
|
|
178
|
+
type: 'number',
|
|
179
|
+
description: 'Character age in years',
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
name: 'gender',
|
|
183
|
+
type: 'string',
|
|
184
|
+
description: 'Character gender',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: 'race',
|
|
188
|
+
type: 'string',
|
|
189
|
+
description: 'Character species or race',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
name: 'appearance',
|
|
193
|
+
type: 'record',
|
|
194
|
+
description: 'Physical appearance details',
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: 'personality',
|
|
198
|
+
type: 'record',
|
|
199
|
+
description: 'Personality traits and characteristics',
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: 'relationships',
|
|
203
|
+
type: 'array',
|
|
204
|
+
arrayItemType: 'record',
|
|
205
|
+
description: 'Relationships with other characters',
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
name: 'assets',
|
|
209
|
+
type: 'array',
|
|
210
|
+
arrayItemType: 'string',
|
|
211
|
+
description: 'Asset IDs depicting this character',
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
},
|
|
215
|
+
// Location entity type
|
|
216
|
+
{
|
|
217
|
+
name: 'location',
|
|
218
|
+
displayName: 'Location',
|
|
219
|
+
pluralName: 'Locations',
|
|
220
|
+
description: 'Places, regions, buildings, and rooms',
|
|
221
|
+
icon: 'map-pin',
|
|
222
|
+
fields: [
|
|
223
|
+
{
|
|
224
|
+
name: 'name',
|
|
225
|
+
type: 'string',
|
|
226
|
+
required: true,
|
|
227
|
+
description: 'Location name',
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: 'region',
|
|
231
|
+
type: 'string',
|
|
232
|
+
description: 'Geographic region',
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: 'category',
|
|
236
|
+
type: 'string',
|
|
237
|
+
description: 'Location category or type',
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
name: 'parent',
|
|
241
|
+
type: 'string',
|
|
242
|
+
description: 'Parent location in hierarchy',
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
name: 'hierarchy_level',
|
|
246
|
+
type: 'enum',
|
|
247
|
+
enumValues: ['continent', 'region', 'settlement', 'building', 'room'],
|
|
248
|
+
description: 'Level in location hierarchy',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'children',
|
|
252
|
+
type: 'array',
|
|
253
|
+
arrayItemType: 'string',
|
|
254
|
+
description: 'Child locations in hierarchy',
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: 'climate',
|
|
258
|
+
type: 'string',
|
|
259
|
+
description: 'Climate type',
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
name: 'terrain',
|
|
263
|
+
type: 'array',
|
|
264
|
+
arrayItemType: 'string',
|
|
265
|
+
description: 'Terrain types present',
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
name: 'inhabitants',
|
|
269
|
+
type: 'array',
|
|
270
|
+
arrayItemType: 'string',
|
|
271
|
+
description: 'Character IDs of inhabitants',
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: 'connections',
|
|
275
|
+
type: 'array',
|
|
276
|
+
arrayItemType: 'record',
|
|
277
|
+
description: 'Connections to other locations',
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: 'assets',
|
|
281
|
+
type: 'array',
|
|
282
|
+
arrayItemType: 'string',
|
|
283
|
+
description: 'Asset IDs depicting this location',
|
|
284
|
+
},
|
|
285
|
+
],
|
|
286
|
+
},
|
|
287
|
+
// Event entity type
|
|
288
|
+
{
|
|
289
|
+
name: 'event',
|
|
290
|
+
displayName: 'Event',
|
|
291
|
+
pluralName: 'Events',
|
|
292
|
+
description: 'Historical events, current events, and plot points',
|
|
293
|
+
icon: 'calendar',
|
|
294
|
+
fields: [
|
|
295
|
+
{
|
|
296
|
+
name: 'name',
|
|
297
|
+
type: 'string',
|
|
298
|
+
required: true,
|
|
299
|
+
description: 'Event name',
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
name: 'date',
|
|
303
|
+
type: 'string',
|
|
304
|
+
description: 'Event date',
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
name: 'date_start',
|
|
308
|
+
type: 'string',
|
|
309
|
+
description: 'Event start date (for multi-day events)',
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
name: 'date_end',
|
|
313
|
+
type: 'string',
|
|
314
|
+
description: 'Event end date (for multi-day events)',
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
name: 'date_display',
|
|
318
|
+
type: 'string',
|
|
319
|
+
description: 'Human-readable date display',
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
name: 'event_type',
|
|
323
|
+
type: 'string',
|
|
324
|
+
description: 'Type of event',
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
name: 'participants',
|
|
328
|
+
type: 'array',
|
|
329
|
+
arrayItemType: 'string',
|
|
330
|
+
description: 'Character IDs of participants',
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
name: 'locations',
|
|
334
|
+
type: 'array',
|
|
335
|
+
arrayItemType: 'string',
|
|
336
|
+
description: 'Location IDs where event occurred',
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
name: 'factions',
|
|
340
|
+
type: 'array',
|
|
341
|
+
arrayItemType: 'string',
|
|
342
|
+
description: 'Faction IDs involved in event',
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
name: 'outcome',
|
|
346
|
+
type: 'string',
|
|
347
|
+
description: 'Event outcome or result',
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
name: 'consequences',
|
|
351
|
+
type: 'array',
|
|
352
|
+
arrayItemType: 'string',
|
|
353
|
+
description: 'Consequences of the event',
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
name: 'timeline',
|
|
357
|
+
type: 'string',
|
|
358
|
+
description: 'Timeline this event belongs to',
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
name: 'previous_event',
|
|
362
|
+
type: 'string',
|
|
363
|
+
description: 'Previous event in sequence',
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
name: 'next_event',
|
|
367
|
+
type: 'string',
|
|
368
|
+
description: 'Next event in sequence',
|
|
369
|
+
},
|
|
370
|
+
],
|
|
371
|
+
},
|
|
372
|
+
// Faction entity type
|
|
373
|
+
{
|
|
374
|
+
name: 'faction',
|
|
375
|
+
displayName: 'Faction',
|
|
376
|
+
pluralName: 'Factions',
|
|
377
|
+
description: 'Organizations, governments, guilds, and houses',
|
|
378
|
+
icon: 'users',
|
|
379
|
+
fields: [
|
|
380
|
+
{
|
|
381
|
+
name: 'name',
|
|
382
|
+
type: 'string',
|
|
383
|
+
required: true,
|
|
384
|
+
description: 'Faction name',
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
name: 'faction_type',
|
|
388
|
+
type: 'enum',
|
|
389
|
+
enumValues: ['house', 'guild', 'organization', 'government', 'military', 'religion', 'other'],
|
|
390
|
+
description: 'Type of faction',
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
name: 'leader',
|
|
394
|
+
type: 'string',
|
|
395
|
+
description: 'Character ID of faction leader',
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
name: 'members',
|
|
399
|
+
type: 'array',
|
|
400
|
+
arrayItemType: 'string',
|
|
401
|
+
description: 'Character IDs of faction members',
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
name: 'headquarters',
|
|
405
|
+
type: 'string',
|
|
406
|
+
description: 'Location ID of faction headquarters',
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
name: 'founded',
|
|
410
|
+
type: 'string',
|
|
411
|
+
description: 'When the faction was founded',
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
name: 'goals',
|
|
415
|
+
type: 'array',
|
|
416
|
+
arrayItemType: 'string',
|
|
417
|
+
description: 'Faction goals and objectives',
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
name: 'resources',
|
|
421
|
+
type: 'array',
|
|
422
|
+
arrayItemType: 'string',
|
|
423
|
+
description: 'Resources controlled by faction',
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
name: 'allies',
|
|
427
|
+
type: 'array',
|
|
428
|
+
arrayItemType: 'string',
|
|
429
|
+
description: 'Faction IDs of allies',
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
name: 'rivals',
|
|
433
|
+
type: 'array',
|
|
434
|
+
arrayItemType: 'string',
|
|
435
|
+
description: 'Faction IDs of rivals',
|
|
436
|
+
},
|
|
437
|
+
],
|
|
438
|
+
},
|
|
439
|
+
// Lore entity type
|
|
440
|
+
{
|
|
441
|
+
name: 'lore',
|
|
442
|
+
displayName: 'Lore',
|
|
443
|
+
pluralName: 'Lore',
|
|
444
|
+
description: 'Mythology, magic systems, and cultural knowledge',
|
|
445
|
+
icon: 'book',
|
|
446
|
+
fields: [
|
|
447
|
+
{
|
|
448
|
+
name: 'name',
|
|
449
|
+
type: 'string',
|
|
450
|
+
required: true,
|
|
451
|
+
description: 'Lore entry name',
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
name: 'category',
|
|
455
|
+
type: 'enum',
|
|
456
|
+
enumValues: ['mythology', 'history', 'magic', 'technology', 'culture', 'religion', 'other'],
|
|
457
|
+
description: 'Lore category',
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
name: 'related_entities',
|
|
461
|
+
type: 'array',
|
|
462
|
+
arrayItemType: 'string',
|
|
463
|
+
description: 'IDs of related entities',
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
name: 'source',
|
|
467
|
+
type: 'enum',
|
|
468
|
+
enumValues: ['in-world', 'meta', 'player-knowledge'],
|
|
469
|
+
description: 'Knowledge source type',
|
|
470
|
+
},
|
|
471
|
+
],
|
|
472
|
+
},
|
|
473
|
+
// Asset entity type
|
|
474
|
+
{
|
|
475
|
+
name: 'asset',
|
|
476
|
+
displayName: 'Asset',
|
|
477
|
+
pluralName: 'Assets',
|
|
478
|
+
description: 'Visual and media assets (images, audio, video)',
|
|
479
|
+
icon: 'image',
|
|
480
|
+
fields: [
|
|
481
|
+
{
|
|
482
|
+
name: 'asset_type',
|
|
483
|
+
type: 'enum',
|
|
484
|
+
enumValues: ['image', 'audio', 'video', 'document'],
|
|
485
|
+
default: 'image',
|
|
486
|
+
description: 'Type of asset',
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
name: 'file_path',
|
|
490
|
+
type: 'string',
|
|
491
|
+
required: true,
|
|
492
|
+
description: 'Path to asset file in vault',
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
name: 'file_format',
|
|
496
|
+
type: 'string',
|
|
497
|
+
description: 'File format (e.g., png, jpg, mp3)',
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
name: 'depicts',
|
|
501
|
+
type: 'array',
|
|
502
|
+
arrayItemType: 'string',
|
|
503
|
+
description: 'Entity IDs depicted in this asset',
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
name: 'generation_date',
|
|
507
|
+
type: 'string',
|
|
508
|
+
description: 'When asset was generated',
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
name: 'generator',
|
|
512
|
+
type: 'string',
|
|
513
|
+
description: 'Tool or system that generated the asset',
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
name: 'workflow_id',
|
|
517
|
+
type: 'string',
|
|
518
|
+
description: 'ComfyUI workflow ID used to generate',
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
name: 'prompt',
|
|
522
|
+
type: 'string',
|
|
523
|
+
description: 'Generation prompt used',
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
name: 'negative_prompt',
|
|
527
|
+
type: 'string',
|
|
528
|
+
description: 'Negative prompt for generation',
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
name: 'model',
|
|
532
|
+
type: 'string',
|
|
533
|
+
description: 'AI model used for generation',
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
name: 'seed',
|
|
537
|
+
type: 'number',
|
|
538
|
+
description: 'Random seed for reproducible generation',
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
name: 'parameters',
|
|
542
|
+
type: 'record',
|
|
543
|
+
description: 'Generation parameters (seed, steps, cfg, etc.)',
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
name: 'approved_by',
|
|
547
|
+
type: 'string',
|
|
548
|
+
description: 'Who approved this asset',
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
name: 'approval_date',
|
|
552
|
+
type: 'string',
|
|
553
|
+
description: 'When this asset was approved',
|
|
554
|
+
},
|
|
555
|
+
],
|
|
556
|
+
},
|
|
557
|
+
// Reference entity type
|
|
558
|
+
{
|
|
559
|
+
name: 'reference',
|
|
560
|
+
displayName: 'Reference',
|
|
561
|
+
pluralName: 'References',
|
|
562
|
+
description: 'Out-of-world reference material (sources, inspiration, rules, notes)',
|
|
563
|
+
icon: 'bookmark',
|
|
564
|
+
fields: [
|
|
565
|
+
{
|
|
566
|
+
name: 'name',
|
|
567
|
+
type: 'string',
|
|
568
|
+
required: true,
|
|
569
|
+
description: 'Reference name or title',
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
name: 'category',
|
|
573
|
+
type: 'enum',
|
|
574
|
+
enumValues: ['source', 'inspiration', 'rules', 'notes', 'other'],
|
|
575
|
+
description: 'Type of reference material',
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
name: 'source_url',
|
|
579
|
+
type: 'string',
|
|
580
|
+
description: 'URL to external source material',
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
name: 'related_entities',
|
|
584
|
+
type: 'array',
|
|
585
|
+
arrayItemType: 'string',
|
|
586
|
+
description: 'IDs of entities related to this reference',
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
name: 'author',
|
|
590
|
+
type: 'string',
|
|
591
|
+
description: 'Author or creator of the reference material',
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
name: 'date_accessed',
|
|
595
|
+
type: 'string',
|
|
596
|
+
description: 'When this reference was accessed or added',
|
|
597
|
+
},
|
|
598
|
+
],
|
|
599
|
+
},
|
|
600
|
+
],
|
|
601
|
+
};
|
|
602
|
+
//# sourceMappingURL=worldbuilding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worldbuilding.js","sourceRoot":"","sources":["../../../src/templates/builtin/worldbuilding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template auto-detection from vault folder structure.
|
|
3
|
+
*
|
|
4
|
+
* This module enables backwards compatibility by automatically identifying
|
|
5
|
+
* templates based on vault organization patterns.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Result of template detection with confidence level.
|
|
9
|
+
*/
|
|
10
|
+
export interface DetectionResult {
|
|
11
|
+
/** Detected template identifier */
|
|
12
|
+
templateId: string;
|
|
13
|
+
/** Confidence level based on pattern matches */
|
|
14
|
+
confidence: 'high' | 'medium' | 'low';
|
|
15
|
+
/** Folder names that matched detection patterns */
|
|
16
|
+
matchedPatterns: string[];
|
|
17
|
+
/** User-friendly notification message */
|
|
18
|
+
message: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Detects template type from vault folder structure.
|
|
22
|
+
*
|
|
23
|
+
* Provides automatic template identification for backwards compatibility
|
|
24
|
+
* with existing vaults.
|
|
25
|
+
*/
|
|
26
|
+
export declare class TemplateDetector {
|
|
27
|
+
/**
|
|
28
|
+
* Worldbuilding folder patterns (case-insensitive).
|
|
29
|
+
*
|
|
30
|
+
* Vaults with 2+ matching folders are detected as worldbuilding templates.
|
|
31
|
+
*/
|
|
32
|
+
private static readonly WORLDBUILDING_PATTERNS;
|
|
33
|
+
/**
|
|
34
|
+
* Detect template from vault folder structure.
|
|
35
|
+
*
|
|
36
|
+
* Scans top-level folders and matches against known template patterns.
|
|
37
|
+
* Returns null if no template can be confidently detected.
|
|
38
|
+
*
|
|
39
|
+
* @param vaultPath - Absolute path to vault directory
|
|
40
|
+
* @returns Detection result with confidence level, or null if no match
|
|
41
|
+
*/
|
|
42
|
+
detectTemplate(vaultPath: string): Promise<DetectionResult | null>;
|
|
43
|
+
/**
|
|
44
|
+
* List top-level folders in vault, excluding hidden directories.
|
|
45
|
+
*
|
|
46
|
+
* @param vaultPath - Absolute path to vault directory
|
|
47
|
+
* @returns Array of folder names
|
|
48
|
+
*/
|
|
49
|
+
private listTopLevelFolders;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/templates/detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEtC,mDAAmD;IACnD,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAY5C;IAEF;;;;;;;;OAQG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAyBxE;;;;;OAKG;YACW,mBAAmB;CAOlC"}
|