@fractary/core 0.3.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/__tests__/factories.test.d.ts +5 -0
  2. package/dist/__tests__/factories.test.d.ts.map +1 -0
  3. package/dist/__tests__/factories.test.js +66 -0
  4. package/dist/__tests__/factories.test.js.map +1 -0
  5. package/dist/auth/__tests__/create-token-provider.test.d.ts +5 -0
  6. package/dist/auth/__tests__/create-token-provider.test.d.ts.map +1 -0
  7. package/dist/auth/__tests__/create-token-provider.test.js +104 -0
  8. package/dist/auth/__tests__/create-token-provider.test.js.map +1 -0
  9. package/dist/auth/__tests__/github-app-auth.test.d.ts +5 -0
  10. package/dist/auth/__tests__/github-app-auth.test.d.ts.map +1 -0
  11. package/dist/auth/__tests__/github-app-auth.test.js +293 -0
  12. package/dist/auth/__tests__/github-app-auth.test.js.map +1 -0
  13. package/dist/auth/__tests__/static-token-provider.test.d.ts +5 -0
  14. package/dist/auth/__tests__/static-token-provider.test.d.ts.map +1 -0
  15. package/dist/auth/__tests__/static-token-provider.test.js +54 -0
  16. package/dist/auth/__tests__/static-token-provider.test.js.map +1 -0
  17. package/dist/auth/github-app-auth.d.ts +109 -0
  18. package/dist/auth/github-app-auth.d.ts.map +1 -0
  19. package/dist/auth/github-app-auth.js +262 -0
  20. package/dist/auth/github-app-auth.js.map +1 -0
  21. package/dist/auth/github-app-token-provider.d.ts +59 -0
  22. package/dist/auth/github-app-token-provider.d.ts.map +1 -0
  23. package/dist/auth/github-app-token-provider.js +68 -0
  24. package/dist/auth/github-app-token-provider.js.map +1 -0
  25. package/dist/auth/index.d.ts +45 -0
  26. package/dist/auth/index.d.ts.map +1 -0
  27. package/dist/auth/index.js +74 -0
  28. package/dist/auth/index.js.map +1 -0
  29. package/dist/auth/static-token-provider.d.ts +35 -0
  30. package/dist/auth/static-token-provider.d.ts.map +1 -0
  31. package/dist/auth/static-token-provider.js +45 -0
  32. package/dist/auth/static-token-provider.js.map +1 -0
  33. package/dist/auth/types.d.ts +49 -0
  34. package/dist/auth/types.d.ts.map +1 -0
  35. package/dist/auth/types.js +8 -0
  36. package/dist/auth/types.js.map +1 -0
  37. package/dist/common/__tests__/secrets.test.d.ts +7 -0
  38. package/dist/common/__tests__/secrets.test.d.ts.map +1 -0
  39. package/dist/common/__tests__/secrets.test.js +320 -0
  40. package/dist/common/__tests__/secrets.test.js.map +1 -0
  41. package/dist/common/config.d.ts +6 -4
  42. package/dist/common/config.d.ts.map +1 -1
  43. package/dist/common/config.js +4 -30
  44. package/dist/common/config.js.map +1 -1
  45. package/dist/common/index.d.ts +1 -0
  46. package/dist/common/index.d.ts.map +1 -1
  47. package/dist/common/index.js +1 -0
  48. package/dist/common/index.js.map +1 -1
  49. package/dist/common/secrets.d.ts +68 -0
  50. package/dist/common/secrets.d.ts.map +1 -0
  51. package/dist/common/secrets.js +180 -0
  52. package/dist/common/secrets.js.map +1 -0
  53. package/dist/common/yaml-config.d.ts +10 -0
  54. package/dist/common/yaml-config.d.ts.map +1 -1
  55. package/dist/common/yaml-config.js.map +1 -1
  56. package/dist/config/__tests__/loader.test.d.ts +5 -0
  57. package/dist/config/__tests__/loader.test.d.ts.map +1 -0
  58. package/dist/config/__tests__/loader.test.js +129 -0
  59. package/dist/config/__tests__/loader.test.js.map +1 -0
  60. package/dist/config/index.d.ts +8 -0
  61. package/dist/config/index.d.ts.map +1 -0
  62. package/dist/config/index.js +27 -0
  63. package/dist/config/index.js.map +1 -0
  64. package/dist/config/loader.d.ts +126 -0
  65. package/dist/config/loader.d.ts.map +1 -0
  66. package/dist/config/loader.js +277 -0
  67. package/dist/config/loader.js.map +1 -0
  68. package/dist/docs/index.d.ts +5 -0
  69. package/dist/docs/index.d.ts.map +1 -1
  70. package/dist/docs/index.js +6 -1
  71. package/dist/docs/index.js.map +1 -1
  72. package/dist/docs/manager.d.ts +27 -0
  73. package/dist/docs/manager.d.ts.map +1 -1
  74. package/dist/docs/manager.js +168 -15
  75. package/dist/docs/manager.js.map +1 -1
  76. package/dist/docs/type-registry.d.ts +123 -0
  77. package/dist/docs/type-registry.d.ts.map +1 -0
  78. package/dist/docs/type-registry.js +393 -0
  79. package/dist/docs/type-registry.js.map +1 -0
  80. package/dist/docs/types.d.ts +93 -0
  81. package/dist/docs/types.d.ts.map +1 -1
  82. package/dist/factories.d.ts +89 -0
  83. package/dist/factories.d.ts.map +1 -0
  84. package/dist/factories.js +228 -0
  85. package/dist/factories.js.map +1 -0
  86. package/dist/file/factory.d.ts +41 -0
  87. package/dist/file/factory.d.ts.map +1 -0
  88. package/dist/file/factory.js +237 -0
  89. package/dist/file/factory.js.map +1 -0
  90. package/dist/file/gcs.d.ts +66 -0
  91. package/dist/file/gcs.d.ts.map +1 -0
  92. package/dist/file/gcs.js +226 -0
  93. package/dist/file/gcs.js.map +1 -0
  94. package/dist/file/gdrive.d.ts +78 -0
  95. package/dist/file/gdrive.d.ts.map +1 -0
  96. package/dist/file/gdrive.js +302 -0
  97. package/dist/file/gdrive.js.map +1 -0
  98. package/dist/file/index.d.ts +13 -1
  99. package/dist/file/index.d.ts.map +1 -1
  100. package/dist/file/index.js +25 -1
  101. package/dist/file/index.js.map +1 -1
  102. package/dist/file/manager.d.ts +83 -2
  103. package/dist/file/manager.d.ts.map +1 -1
  104. package/dist/file/manager.js +125 -4
  105. package/dist/file/manager.js.map +1 -1
  106. package/dist/file/r2.d.ts +56 -0
  107. package/dist/file/r2.d.ts.map +1 -0
  108. package/dist/file/r2.js +96 -0
  109. package/dist/file/r2.js.map +1 -0
  110. package/dist/file/s3.d.ts +61 -0
  111. package/dist/file/s3.d.ts.map +1 -0
  112. package/dist/file/s3.js +258 -0
  113. package/dist/file/s3.js.map +1 -0
  114. package/dist/file/types.d.ts +145 -2
  115. package/dist/file/types.d.ts.map +1 -1
  116. package/dist/index.d.ts +3 -0
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +6 -0
  119. package/dist/index.js.map +1 -1
  120. package/dist/logs/index.d.ts +1 -0
  121. package/dist/logs/index.d.ts.map +1 -1
  122. package/dist/logs/index.js +3 -1
  123. package/dist/logs/index.js.map +1 -1
  124. package/dist/logs/manager.d.ts +29 -2
  125. package/dist/logs/manager.d.ts.map +1 -1
  126. package/dist/logs/manager.js +48 -7
  127. package/dist/logs/manager.js.map +1 -1
  128. package/dist/logs/type-registry.d.ts +180 -0
  129. package/dist/logs/type-registry.d.ts.map +1 -0
  130. package/dist/logs/type-registry.js +421 -0
  131. package/dist/logs/type-registry.js.map +1 -0
  132. package/dist/logs/type-registry.test.d.ts +5 -0
  133. package/dist/logs/type-registry.test.d.ts.map +1 -0
  134. package/dist/logs/type-registry.test.js +671 -0
  135. package/dist/logs/type-registry.test.js.map +1 -0
  136. package/dist/logs/types.d.ts +2 -0
  137. package/dist/logs/types.d.ts.map +1 -1
  138. package/package.json +76 -8
@@ -48,9 +48,11 @@ const yaml = __importStar(require("js-yaml"));
48
48
  class DocsManager {
49
49
  docsDir;
50
50
  defaultFormat;
51
+ metadataMode;
51
52
  constructor(config) {
52
53
  this.docsDir = config.docsDir;
53
54
  this.defaultFormat = config.defaultFormat || 'markdown';
55
+ this.metadataMode = config.metadataMode || 'frontmatter';
54
56
  this.ensureDir(this.docsDir);
55
57
  }
56
58
  ensureDir(dirPath) {
@@ -74,26 +76,144 @@ class DocsManager {
74
76
  };
75
77
  return extensions[format];
76
78
  }
79
+ /**
80
+ * Determine the effective metadata mode for a document format
81
+ * Frontmatter only makes sense for markdown files
82
+ */
83
+ getEffectiveMetadataMode(format) {
84
+ if (format !== 'markdown') {
85
+ return 'sidecar';
86
+ }
87
+ return this.metadataMode;
88
+ }
89
+ /**
90
+ * Parse frontmatter from markdown content
91
+ */
92
+ parseFrontmatter(content) {
93
+ const frontmatterRegex = /^---\r?\n([\s\S]*?)\r?\n---\r?\n([\s\S]*)$/;
94
+ const match = content.match(frontmatterRegex);
95
+ if (!match) {
96
+ // No frontmatter found, return content as-is with minimal metadata
97
+ return {
98
+ metadata: { title: '' },
99
+ body: content,
100
+ };
101
+ }
102
+ const frontmatterContent = match[1];
103
+ const body = match[2];
104
+ let metadata;
105
+ try {
106
+ const parsed = yaml.load(frontmatterContent);
107
+ metadata = {
108
+ title: parsed.title || '',
109
+ description: parsed.description,
110
+ authors: parsed.authors,
111
+ tags: parsed.tags,
112
+ docType: parsed.docType,
113
+ status: parsed.status,
114
+ version: parsed.version,
115
+ };
116
+ // Parse dates
117
+ if (parsed.createdAt) {
118
+ metadata.createdAt = new Date(parsed.createdAt);
119
+ }
120
+ if (parsed.updatedAt) {
121
+ metadata.updatedAt = new Date(parsed.updatedAt);
122
+ }
123
+ // Copy any additional fields
124
+ for (const [key, value] of Object.entries(parsed)) {
125
+ if (!(key in metadata)) {
126
+ metadata[key] = value;
127
+ }
128
+ }
129
+ }
130
+ catch {
131
+ metadata = { title: '' };
132
+ }
133
+ return { metadata, body };
134
+ }
135
+ /**
136
+ * Write frontmatter to markdown content
137
+ */
138
+ writeFrontmatter(metadata, body) {
139
+ // Prepare metadata object for YAML serialization
140
+ const yamlMetadata = {};
141
+ // Add standard fields
142
+ if (metadata.title)
143
+ yamlMetadata.title = metadata.title;
144
+ if (metadata.description)
145
+ yamlMetadata.description = metadata.description;
146
+ if (metadata.authors && metadata.authors.length > 0)
147
+ yamlMetadata.authors = metadata.authors;
148
+ if (metadata.tags && metadata.tags.length > 0)
149
+ yamlMetadata.tags = metadata.tags;
150
+ if (metadata.docType)
151
+ yamlMetadata.docType = metadata.docType;
152
+ if (metadata.status)
153
+ yamlMetadata.status = metadata.status;
154
+ if (metadata.version)
155
+ yamlMetadata.version = metadata.version;
156
+ // Add dates
157
+ if (metadata.createdAt) {
158
+ yamlMetadata.createdAt = metadata.createdAt instanceof Date
159
+ ? metadata.createdAt.toISOString()
160
+ : metadata.createdAt;
161
+ }
162
+ if (metadata.updatedAt) {
163
+ yamlMetadata.updatedAt = metadata.updatedAt instanceof Date
164
+ ? metadata.updatedAt.toISOString()
165
+ : metadata.updatedAt;
166
+ }
167
+ // Add any additional custom fields
168
+ for (const [key, value] of Object.entries(metadata)) {
169
+ if (value !== undefined &&
170
+ !['title', 'description', 'authors', 'tags', 'docType', 'status', 'version', 'createdAt', 'updatedAt'].includes(key)) {
171
+ yamlMetadata[key] = value;
172
+ }
173
+ }
174
+ const frontmatter = yaml.dump(yamlMetadata, { lineWidth: -1 });
175
+ return `---\n${frontmatter}---\n\n${body}`;
176
+ }
177
+ /**
178
+ * Extract body content from content that may have frontmatter
179
+ */
180
+ extractBody(content) {
181
+ const result = this.parseFrontmatter(content);
182
+ return result.body;
183
+ }
77
184
  /**
78
185
  * Create a new document
186
+ * @param id - Document identifier
187
+ * @param content - Document body content (without frontmatter)
188
+ * @param metadata - Document metadata
189
+ * @param format - Document format (default: markdown)
79
190
  */
80
191
  async createDoc(id, content, metadata, format) {
81
192
  const docFormat = format || this.defaultFormat;
82
193
  const docPath = this.getDocPath(id, docFormat);
83
- const metaPath = this.getMetadataPath(id);
194
+ const effectiveMode = this.getEffectiveMetadataMode(docFormat);
84
195
  // Add timestamps
85
196
  const fullMetadata = {
86
197
  ...metadata,
87
198
  createdAt: metadata.createdAt || new Date(),
88
199
  updatedAt: new Date(),
89
200
  };
90
- // Write content
91
- fs.writeFileSync(docPath, content, 'utf-8');
92
- // Write metadata
93
- fs.writeFileSync(metaPath, yaml.dump(fullMetadata), 'utf-8');
201
+ // Extract body content in case content already has frontmatter
202
+ const bodyContent = this.extractBody(content);
203
+ if (effectiveMode === 'frontmatter') {
204
+ // Write content with embedded frontmatter
205
+ const fullContent = this.writeFrontmatter(fullMetadata, bodyContent);
206
+ fs.writeFileSync(docPath, fullContent, 'utf-8');
207
+ }
208
+ else {
209
+ // Sidecar mode: separate content and metadata files
210
+ const metaPath = this.getMetadataPath(id);
211
+ fs.writeFileSync(docPath, bodyContent, 'utf-8');
212
+ fs.writeFileSync(metaPath, yaml.dump(fullMetadata), 'utf-8');
213
+ }
94
214
  return {
95
215
  id,
96
- content,
216
+ content: bodyContent,
97
217
  format: docFormat,
98
218
  metadata: fullMetadata,
99
219
  path: docPath,
@@ -101,6 +221,7 @@ class DocsManager {
101
221
  }
102
222
  /**
103
223
  * Get a document by ID
224
+ * Supports both frontmatter and sidecar metadata modes
104
225
  */
105
226
  async getDoc(id) {
106
227
  // Try to find the doc with any format
@@ -108,12 +229,24 @@ class DocsManager {
108
229
  for (const format of formats) {
109
230
  const docPath = this.getDocPath(id, format);
110
231
  if (fs.existsSync(docPath)) {
111
- const content = fs.readFileSync(docPath, 'utf-8');
112
- const metaPath = this.getMetadataPath(id);
232
+ const rawContent = fs.readFileSync(docPath, 'utf-8');
233
+ const effectiveMode = this.getEffectiveMetadataMode(format);
113
234
  let metadata = { title: id };
114
- if (fs.existsSync(metaPath)) {
115
- const metaContent = fs.readFileSync(metaPath, 'utf-8');
116
- metadata = yaml.load(metaContent);
235
+ let content;
236
+ if (effectiveMode === 'frontmatter') {
237
+ // Parse frontmatter from content
238
+ const result = this.parseFrontmatter(rawContent);
239
+ metadata = result.metadata.title ? result.metadata : { ...metadata, ...result.metadata };
240
+ content = result.body;
241
+ }
242
+ else {
243
+ // Sidecar mode: check for .meta.yaml file
244
+ content = rawContent;
245
+ const metaPath = this.getMetadataPath(id);
246
+ if (fs.existsSync(metaPath)) {
247
+ const metaContent = fs.readFileSync(metaPath, 'utf-8');
248
+ metadata = yaml.load(metaContent);
249
+ }
117
250
  }
118
251
  return {
119
252
  id,
@@ -128,6 +261,9 @@ class DocsManager {
128
261
  }
129
262
  /**
130
263
  * Update a document
264
+ * @param id - Document identifier
265
+ * @param content - New body content (without frontmatter)
266
+ * @param metadata - Metadata fields to update (merged with existing)
131
267
  */
132
268
  async updateDoc(id, content, metadata) {
133
269
  const existingDoc = await this.getDoc(id);
@@ -140,12 +276,23 @@ class DocsManager {
140
276
  updatedAt: new Date(),
141
277
  };
142
278
  const docPath = this.getDocPath(id, existingDoc.format);
143
- const metaPath = this.getMetadataPath(id);
144
- fs.writeFileSync(docPath, content, 'utf-8');
145
- fs.writeFileSync(metaPath, yaml.dump(updatedMetadata), 'utf-8');
279
+ const effectiveMode = this.getEffectiveMetadataMode(existingDoc.format);
280
+ // Extract body content in case content already has frontmatter
281
+ const bodyContent = this.extractBody(content);
282
+ if (effectiveMode === 'frontmatter') {
283
+ // Write content with embedded frontmatter
284
+ const fullContent = this.writeFrontmatter(updatedMetadata, bodyContent);
285
+ fs.writeFileSync(docPath, fullContent, 'utf-8');
286
+ }
287
+ else {
288
+ // Sidecar mode: separate content and metadata files
289
+ const metaPath = this.getMetadataPath(id);
290
+ fs.writeFileSync(docPath, bodyContent, 'utf-8');
291
+ fs.writeFileSync(metaPath, yaml.dump(updatedMetadata), 'utf-8');
292
+ }
146
293
  return {
147
294
  id,
148
- content,
295
+ content: bodyContent,
149
296
  format: existingDoc.format,
150
297
  metadata: updatedMetadata,
151
298
  path: docPath,
@@ -153,6 +300,7 @@ class DocsManager {
153
300
  }
154
301
  /**
155
302
  * Delete a document
303
+ * Removes both the document file and any sidecar metadata file if it exists
156
304
  */
157
305
  async deleteDoc(id) {
158
306
  const doc = await this.getDoc(id);
@@ -164,6 +312,7 @@ class DocsManager {
164
312
  if (fs.existsSync(docPath)) {
165
313
  fs.unlinkSync(docPath);
166
314
  }
315
+ // Also delete sidecar metadata file if it exists (for backward compatibility)
167
316
  if (fs.existsSync(metaPath)) {
168
317
  fs.unlinkSync(metaPath);
169
318
  }
@@ -216,6 +365,10 @@ class DocsManager {
216
365
  if (query.author) {
217
366
  results = results.filter((doc) => doc.metadata.authors?.includes(query.author));
218
367
  }
368
+ // Filter by docType
369
+ if (query.docType) {
370
+ results = results.filter((doc) => doc.metadata.docType === query.docType);
371
+ }
219
372
  // Filter by date range
220
373
  if (query.dateRange) {
221
374
  results = results.filter((doc) => {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/docs/manager.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,8CAAgC;AAShC;;GAEG;AACH,MAAa,WAAW;IACd,OAAO,CAAS;IAChB,aAAa,CAAY;IAEjC,YAAY,MAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,UAAU,CAAC;QACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEO,SAAS,CAAC,OAAe;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,EAAU,EAAE,MAAiB;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAEO,eAAe,CAAC,EAAU;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAEO,gBAAgB,CAAC,MAAiB;QACxC,MAAM,UAAU,GAA8B;YAC5C,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,MAAM;SACb,CAAC;QACF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,EAAU,EACV,OAAe,EACf,QAAqB,EACrB,MAAkB;QAElB,MAAM,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAE1C,iBAAiB;QACjB,MAAM,YAAY,GAAgB;YAChC,GAAG,QAAQ;YACX,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE;YAC3C,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,gBAAgB;QAChB,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5C,iBAAiB;QACjB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7D,OAAO;YACL,EAAE;YACF,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,sCAAsC;QACtC,MAAM,OAAO,GAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAC1C,IAAI,QAAQ,GAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBAE1C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACvD,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAgB,CAAC;gBACnD,CAAC;gBAED,OAAO;oBACL,EAAE;oBACF,OAAO;oBACP,MAAM;oBACN,QAAQ;oBACR,IAAI,EAAE,OAAO;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,EAAU,EACV,OAAe,EACf,QAA+B;QAE/B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAgB;YACnC,GAAG,WAAW,CAAC,QAAQ;YACvB,GAAG,QAAQ;YACX,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAE1C,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;QAEhE,OAAO;YACL,EAAE;YACF,OAAO;YACP,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAE1C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,4DAA4D;QAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAU,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAqB;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,GAAG,OAAO,CAAC;QAEtB,iBAAiB;QACjB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9C,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACrD,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC/D,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAO,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjE,IAAI,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAC;gBAE3B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,KAAK,CAAC,SAAU,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,SAAU,CAAC,IAAI,EAAE,CAAC;oBAC1D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,KAAK,CAAC,SAAU,CAAC,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,SAAU,CAAC,EAAE,EAAE,CAAC;oBACtD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAED,cAAc;QACd,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;CACF;AA9PD,kCA8PC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/docs/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @fractary/core - Doc Type Registry
3
+ *
4
+ * Manages document type definitions for structured documentation.
5
+ * Loads core types from YAML/Markdown files and custom types from config.
6
+ *
7
+ * Doc types are stored as directories containing:
8
+ * - type.yaml: Type definition (schema, frontmatter rules, file naming)
9
+ * - template.md: Mustache template for document generation
10
+ * - standards.md: Standards and conventions for this type
11
+ */
12
+ import { DocType } from './types';
13
+ /**
14
+ * Configuration for custom doc types
15
+ */
16
+ export interface CustomDocTypeConfig {
17
+ /** Type identifier */
18
+ id: string;
19
+ /** Local path to type directory */
20
+ path?: string;
21
+ /** Remote URL to type.yaml */
22
+ url?: string;
23
+ }
24
+ /**
25
+ * Registry configuration
26
+ */
27
+ export interface DocTypeRegistryConfig {
28
+ /**
29
+ * Custom doc types to load from config (individual type configs)
30
+ */
31
+ customTypes?: CustomDocTypeConfig[];
32
+ /**
33
+ * Path to custom manifest.yaml file (loads all types from manifest)
34
+ * This is typically set from docs.custom_templates_path in config.yaml
35
+ */
36
+ customManifestPath?: string;
37
+ /**
38
+ * Base directory for resolving relative paths
39
+ */
40
+ baseDir?: string;
41
+ /**
42
+ * Path to core templates/docs directory (defaults to bundled types)
43
+ */
44
+ coreTypesPath?: string;
45
+ /**
46
+ * Skip loading core types (useful for testing)
47
+ */
48
+ skipCoreTypes?: boolean;
49
+ }
50
+ /**
51
+ * Doc Type Registry - Load and manage document type definitions
52
+ */
53
+ export declare class DocTypeRegistry {
54
+ private coreTypes;
55
+ private customTypes;
56
+ private baseDir;
57
+ private coreTypesPath;
58
+ constructor(config?: DocTypeRegistryConfig);
59
+ /**
60
+ * Find the core templates/docs directory (templates/docs)
61
+ */
62
+ private findCoreTypesPath;
63
+ /**
64
+ * Load all core doc types from the templates/docs directory
65
+ */
66
+ private loadCoreTypes;
67
+ /**
68
+ * Load custom doc types from a manifest file
69
+ * This is used when docs.custom_templates_path is set in config.yaml
70
+ */
71
+ private loadCustomTypesFromManifest;
72
+ /**
73
+ * Load a doc type from a directory
74
+ */
75
+ private loadDocTypeFromDirectory;
76
+ /**
77
+ * Load custom types from config paths
78
+ */
79
+ private loadCustomTypes;
80
+ /**
81
+ * Load a custom doc type from a URL (async)
82
+ * @param id - Type identifier
83
+ * @param baseUrl - Base URL to the type directory (should contain type.yaml, template.md, standards.md)
84
+ */
85
+ loadCustomTypeFromUrl(id: string, baseUrl: string): Promise<DocType | null>;
86
+ /**
87
+ * Get all available doc types (core + custom)
88
+ */
89
+ getAllTypes(): DocType[];
90
+ /**
91
+ * Get a doc type by ID
92
+ */
93
+ getType(id: string): DocType | null;
94
+ /**
95
+ * Check if a doc type exists
96
+ */
97
+ hasType(id: string): boolean;
98
+ /**
99
+ * Get only core types
100
+ */
101
+ getCoreTypes(): DocType[];
102
+ /**
103
+ * Get only custom types
104
+ */
105
+ getCustomTypes(): DocType[];
106
+ /**
107
+ * Register a custom type programmatically
108
+ */
109
+ registerType(docType: DocType): void;
110
+ /**
111
+ * Unregister a custom type
112
+ */
113
+ unregisterType(id: string): boolean;
114
+ /**
115
+ * Get the manifest URL for core types
116
+ */
117
+ static getCoreManifestUrl(): string;
118
+ /**
119
+ * Get the base URL for a specific core type
120
+ */
121
+ static getCoreTypeUrl(typeId: string): string;
122
+ }
123
+ //# sourceMappingURL=type-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-registry.d.ts","sourceRoot":"","sources":["../../src/docs/type-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA2DlC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAqDD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;gBAElB,MAAM,CAAC,EAAE,qBAAqB;IA0B1C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgCnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;;;OAIG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA8CjF;;OAEG;IACH,WAAW,IAAI,OAAO,EAAE;IAqBxB;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASnC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACH,YAAY,IAAI,OAAO,EAAE;IAIzB;;OAEG;IACH,cAAc,IAAI,OAAO,EAAE;IAI3B;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM;IAInC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAG9C"}