contentbase 0.4.0 → 0.4.2

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 (323) hide show
  1. package/dist/adapters/node-fs.d.ts +17 -0
  2. package/dist/adapters/node-fs.d.ts.map +1 -0
  3. package/dist/adapters/node-fs.js +71 -0
  4. package/dist/adapters/node-fs.js.map +1 -0
  5. package/dist/ast-query.d.ts +44 -0
  6. package/dist/ast-query.d.ts.map +1 -0
  7. package/dist/ast-query.js +95 -0
  8. package/dist/ast-query.js.map +1 -0
  9. package/dist/base-model.d.ts +8 -0
  10. package/dist/base-model.d.ts.map +1 -0
  11. package/dist/base-model.js +12 -0
  12. package/dist/base-model.js.map +1 -0
  13. package/dist/cli/commands/action.d.ts +2 -0
  14. package/dist/cli/commands/action.d.ts.map +1 -0
  15. package/dist/cli/commands/action.js +73 -0
  16. package/dist/cli/commands/action.js.map +1 -0
  17. package/dist/cli/commands/api/endpoints/actions.d.ts +13 -0
  18. package/dist/cli/commands/api/endpoints/actions.d.ts.map +1 -0
  19. package/dist/cli/commands/api/endpoints/actions.js +28 -0
  20. package/dist/cli/commands/api/endpoints/actions.js.map +1 -0
  21. package/dist/cli/commands/api/endpoints/doc.d.ts +5 -0
  22. package/dist/cli/commands/api/endpoints/doc.d.ts.map +1 -0
  23. package/dist/cli/commands/api/endpoints/doc.js +186 -0
  24. package/dist/cli/commands/api/endpoints/doc.js.map +1 -0
  25. package/dist/cli/commands/api/endpoints/docs-index.d.ts +8 -0
  26. package/dist/cli/commands/api/endpoints/docs-index.d.ts.map +1 -0
  27. package/dist/cli/commands/api/endpoints/docs-index.js +23 -0
  28. package/dist/cli/commands/api/endpoints/docs-index.js.map +1 -0
  29. package/dist/cli/commands/api/endpoints/document.d.ts +47 -0
  30. package/dist/cli/commands/api/endpoints/document.d.ts.map +1 -0
  31. package/dist/cli/commands/api/endpoints/document.js +146 -0
  32. package/dist/cli/commands/api/endpoints/document.js.map +1 -0
  33. package/dist/cli/commands/api/endpoints/documents.d.ts +35 -0
  34. package/dist/cli/commands/api/endpoints/documents.d.ts.map +1 -0
  35. package/dist/cli/commands/api/endpoints/documents.js +56 -0
  36. package/dist/cli/commands/api/endpoints/documents.js.map +1 -0
  37. package/dist/cli/commands/api/endpoints/index.d.ts +22 -0
  38. package/dist/cli/commands/api/endpoints/index.d.ts.map +1 -0
  39. package/dist/cli/commands/api/endpoints/index.js +38 -0
  40. package/dist/cli/commands/api/endpoints/index.js.map +1 -0
  41. package/dist/cli/commands/api/endpoints/inspect.d.ts +10 -0
  42. package/dist/cli/commands/api/endpoints/inspect.d.ts.map +1 -0
  43. package/dist/cli/commands/api/endpoints/inspect.js +15 -0
  44. package/dist/cli/commands/api/endpoints/inspect.js.map +1 -0
  45. package/dist/cli/commands/api/endpoints/models.d.ts +5 -0
  46. package/dist/cli/commands/api/endpoints/models.d.ts.map +1 -0
  47. package/dist/cli/commands/api/endpoints/models.js +9 -0
  48. package/dist/cli/commands/api/endpoints/models.js.map +1 -0
  49. package/dist/cli/commands/api/endpoints/query.d.ts +40 -0
  50. package/dist/cli/commands/api/endpoints/query.d.ts.map +1 -0
  51. package/dist/cli/commands/api/endpoints/query.js +106 -0
  52. package/dist/cli/commands/api/endpoints/query.js.map +1 -0
  53. package/dist/cli/commands/api/endpoints/root.d.ts +5 -0
  54. package/dist/cli/commands/api/endpoints/root.d.ts.map +1 -0
  55. package/dist/cli/commands/api/endpoints/root.js +7 -0
  56. package/dist/cli/commands/api/endpoints/root.js.map +1 -0
  57. package/dist/cli/commands/api/endpoints/search-reindex.d.ts +10 -0
  58. package/dist/cli/commands/api/endpoints/search-reindex.d.ts.map +1 -0
  59. package/dist/cli/commands/api/endpoints/search-reindex.js +38 -0
  60. package/dist/cli/commands/api/endpoints/search-reindex.js.map +1 -0
  61. package/dist/cli/commands/api/endpoints/search-status.d.ts +7 -0
  62. package/dist/cli/commands/api/endpoints/search-status.d.ts.map +1 -0
  63. package/dist/cli/commands/api/endpoints/search-status.js +33 -0
  64. package/dist/cli/commands/api/endpoints/search-status.js.map +1 -0
  65. package/dist/cli/commands/api/endpoints/search.d.ts +24 -0
  66. package/dist/cli/commands/api/endpoints/search.d.ts.map +1 -0
  67. package/dist/cli/commands/api/endpoints/search.js +61 -0
  68. package/dist/cli/commands/api/endpoints/search.js.map +1 -0
  69. package/dist/cli/commands/api/endpoints/semantic-search.d.ts +28 -0
  70. package/dist/cli/commands/api/endpoints/semantic-search.d.ts.map +1 -0
  71. package/dist/cli/commands/api/endpoints/semantic-search.js +76 -0
  72. package/dist/cli/commands/api/endpoints/semantic-search.js.map +1 -0
  73. package/dist/cli/commands/api/endpoints/text-search.d.ts +17 -0
  74. package/dist/cli/commands/api/endpoints/text-search.d.ts.map +1 -0
  75. package/dist/cli/commands/api/endpoints/text-search.js +55 -0
  76. package/dist/cli/commands/api/endpoints/text-search.js.map +1 -0
  77. package/dist/cli/commands/api/endpoints/validate.d.ts +12 -0
  78. package/dist/cli/commands/api/endpoints/validate.d.ts.map +1 -0
  79. package/dist/cli/commands/api/endpoints/validate.js +27 -0
  80. package/dist/cli/commands/api/endpoints/validate.js.map +1 -0
  81. package/dist/cli/commands/api/helpers.d.ts +8 -0
  82. package/dist/cli/commands/api/helpers.d.ts.map +1 -0
  83. package/dist/cli/commands/api/helpers.js +89 -0
  84. package/dist/cli/commands/api/helpers.js.map +1 -0
  85. package/dist/cli/commands/console.d.ts +2 -0
  86. package/dist/cli/commands/console.d.ts.map +1 -0
  87. package/dist/cli/commands/console.js +117 -0
  88. package/dist/cli/commands/console.js.map +1 -0
  89. package/dist/cli/commands/create.d.ts +2 -0
  90. package/dist/cli/commands/create.d.ts.map +1 -0
  91. package/dist/cli/commands/create.js +185 -0
  92. package/dist/cli/commands/create.js.map +1 -0
  93. package/dist/cli/commands/embed.d.ts +2 -0
  94. package/dist/cli/commands/embed.d.ts.map +1 -0
  95. package/dist/cli/commands/embed.js +231 -0
  96. package/dist/cli/commands/embed.js.map +1 -0
  97. package/dist/cli/commands/export.d.ts +2 -0
  98. package/dist/cli/commands/export.d.ts.map +1 -0
  99. package/dist/cli/commands/export.js +55 -0
  100. package/dist/cli/commands/export.js.map +1 -0
  101. package/dist/cli/commands/extract.d.ts +2 -0
  102. package/dist/cli/commands/extract.d.ts.map +1 -0
  103. package/dist/cli/commands/extract.js +149 -0
  104. package/dist/cli/commands/extract.js.map +1 -0
  105. package/dist/cli/commands/help.d.ts +2 -0
  106. package/dist/cli/commands/help.d.ts.map +1 -0
  107. package/dist/cli/commands/help.js +58 -0
  108. package/dist/cli/commands/help.js.map +1 -0
  109. package/dist/cli/commands/index.d.ts +18 -0
  110. package/dist/cli/commands/index.d.ts.map +1 -0
  111. package/dist/cli/commands/index.js +19 -0
  112. package/dist/cli/commands/index.js.map +1 -0
  113. package/dist/cli/commands/init.d.ts +2 -0
  114. package/dist/cli/commands/init.d.ts.map +1 -0
  115. package/dist/cli/commands/init.js +82 -0
  116. package/dist/cli/commands/init.js.map +1 -0
  117. package/dist/cli/commands/inspect.d.ts +2 -0
  118. package/dist/cli/commands/inspect.d.ts.map +1 -0
  119. package/dist/cli/commands/inspect.js +53 -0
  120. package/dist/cli/commands/inspect.js.map +1 -0
  121. package/dist/cli/commands/mcp.d.ts +2 -0
  122. package/dist/cli/commands/mcp.d.ts.map +1 -0
  123. package/dist/cli/commands/mcp.js +92 -0
  124. package/dist/cli/commands/mcp.js.map +1 -0
  125. package/dist/cli/commands/search.d.ts +2 -0
  126. package/dist/cli/commands/search.d.ts.map +1 -0
  127. package/dist/cli/commands/search.js +212 -0
  128. package/dist/cli/commands/search.js.map +1 -0
  129. package/dist/cli/commands/serve.d.ts +2 -0
  130. package/dist/cli/commands/serve.d.ts.map +1 -0
  131. package/dist/cli/commands/serve.js +298 -0
  132. package/dist/cli/commands/serve.js.map +1 -0
  133. package/dist/cli/commands/summary.d.ts +2 -0
  134. package/dist/cli/commands/summary.d.ts.map +1 -0
  135. package/dist/cli/commands/summary.js +58 -0
  136. package/dist/cli/commands/summary.js.map +1 -0
  137. package/dist/cli/commands/teach.d.ts +2 -0
  138. package/dist/cli/commands/teach.d.ts.map +1 -0
  139. package/dist/cli/commands/teach.js +80 -0
  140. package/dist/cli/commands/teach.js.map +1 -0
  141. package/dist/cli/commands/text-search.d.ts +2 -0
  142. package/dist/cli/commands/text-search.d.ts.map +1 -0
  143. package/dist/cli/commands/text-search.js +125 -0
  144. package/dist/cli/commands/text-search.js.map +1 -0
  145. package/dist/cli/commands/update.d.ts +2 -0
  146. package/dist/cli/commands/update.d.ts.map +1 -0
  147. package/dist/cli/commands/update.js +167 -0
  148. package/dist/cli/commands/update.js.map +1 -0
  149. package/dist/cli/commands/validate.d.ts +2 -0
  150. package/dist/cli/commands/validate.d.ts.map +1 -0
  151. package/dist/cli/commands/validate.js +129 -0
  152. package/dist/cli/commands/validate.js.map +1 -0
  153. package/dist/cli/index.d.ts +3 -0
  154. package/dist/cli/index.d.ts.map +1 -0
  155. package/dist/cli/index.js +84 -0
  156. package/dist/cli/index.js.map +1 -0
  157. package/dist/cli/load-collection.d.ts +7 -0
  158. package/dist/cli/load-collection.d.ts.map +1 -0
  159. package/dist/cli/load-collection.js +201 -0
  160. package/dist/cli/load-collection.js.map +1 -0
  161. package/dist/cli/registry.d.ts +17 -0
  162. package/dist/cli/registry.d.ts.map +1 -0
  163. package/dist/cli/registry.js +16 -0
  164. package/dist/cli/registry.js.map +1 -0
  165. package/dist/cnotes +0 -0
  166. package/dist/collection.d.ts +145 -0
  167. package/dist/collection.d.ts.map +1 -0
  168. package/dist/collection.js +684 -0
  169. package/dist/collection.js.map +1 -0
  170. package/dist/define-model.d.ts +45 -0
  171. package/dist/define-model.d.ts.map +1 -0
  172. package/dist/define-model.js +106 -0
  173. package/dist/define-model.js.map +1 -0
  174. package/dist/document.d.ts +123 -0
  175. package/dist/document.d.ts.map +1 -0
  176. package/dist/document.js +434 -0
  177. package/dist/document.js.map +1 -0
  178. package/dist/extract-sections.d.ts +46 -0
  179. package/dist/extract-sections.d.ts.map +1 -0
  180. package/dist/extract-sections.js +153 -0
  181. package/dist/extract-sections.js.map +1 -0
  182. package/dist/index.d.ts +28 -0
  183. package/dist/index.d.ts.map +1 -0
  184. package/dist/index.js +31 -0
  185. package/dist/index.js.map +1 -0
  186. package/dist/mcp/helpers.d.ts +14 -0
  187. package/dist/mcp/helpers.d.ts.map +1 -0
  188. package/dist/mcp/helpers.js +7 -0
  189. package/dist/mcp/helpers.js.map +1 -0
  190. package/dist/mcp/model-info.d.ts +2 -0
  191. package/dist/mcp/model-info.d.ts.map +1 -0
  192. package/dist/mcp/model-info.js +94 -0
  193. package/dist/mcp/model-info.js.map +1 -0
  194. package/dist/mcp/prompts.d.ts +2 -0
  195. package/dist/mcp/prompts.d.ts.map +1 -0
  196. package/dist/mcp/prompts.js +180 -0
  197. package/dist/mcp/prompts.js.map +1 -0
  198. package/dist/mcp/readme.d.ts +2 -0
  199. package/dist/mcp/readme.d.ts.map +1 -0
  200. package/dist/mcp/readme.js +71 -0
  201. package/dist/mcp/readme.js.map +1 -0
  202. package/dist/mcp/resources.d.ts +2 -0
  203. package/dist/mcp/resources.d.ts.map +1 -0
  204. package/dist/mcp/resources.js +85 -0
  205. package/dist/mcp/resources.js.map +1 -0
  206. package/dist/mcp/server.d.ts +18 -0
  207. package/dist/mcp/server.d.ts.map +1 -0
  208. package/dist/mcp/server.js +83 -0
  209. package/dist/mcp/server.js.map +1 -0
  210. package/dist/mcp/tools/mutation.d.ts +2 -0
  211. package/dist/mcp/tools/mutation.d.ts.map +1 -0
  212. package/dist/mcp/tools/mutation.js +155 -0
  213. package/dist/mcp/tools/mutation.js.map +1 -0
  214. package/dist/mcp/tools/query.d.ts +2 -0
  215. package/dist/mcp/tools/query.d.ts.map +1 -0
  216. package/dist/mcp/tools/query.js +130 -0
  217. package/dist/mcp/tools/query.js.map +1 -0
  218. package/dist/mcp/tools/search.d.ts +2 -0
  219. package/dist/mcp/tools/search.d.ts.map +1 -0
  220. package/dist/mcp/tools/search.js +168 -0
  221. package/dist/mcp/tools/search.js.map +1 -0
  222. package/dist/model-instance.d.ts +11 -0
  223. package/dist/model-instance.d.ts.map +1 -0
  224. package/dist/model-instance.js +208 -0
  225. package/dist/model-instance.js.map +1 -0
  226. package/dist/node-shortcuts.d.ts +25 -0
  227. package/dist/node-shortcuts.d.ts.map +1 -0
  228. package/dist/node-shortcuts.js +67 -0
  229. package/dist/node-shortcuts.js.map +1 -0
  230. package/dist/parse.d.ts +45 -0
  231. package/dist/parse.d.ts.map +1 -0
  232. package/dist/parse.js +98 -0
  233. package/dist/parse.js.map +1 -0
  234. package/dist/query/collection-query.d.ts +39 -0
  235. package/dist/query/collection-query.d.ts.map +1 -0
  236. package/dist/query/collection-query.js +184 -0
  237. package/dist/query/collection-query.js.map +1 -0
  238. package/dist/query/index.d.ts +8 -0
  239. package/dist/query/index.d.ts.map +1 -0
  240. package/dist/query/index.js +5 -0
  241. package/dist/query/index.js.map +1 -0
  242. package/dist/query/operators.d.ts +3 -0
  243. package/dist/query/operators.d.ts.map +1 -0
  244. package/dist/query/operators.js +18 -0
  245. package/dist/query/operators.js.map +1 -0
  246. package/dist/query/query-builder.d.ts +34 -0
  247. package/dist/query/query-builder.d.ts.map +1 -0
  248. package/dist/query/query-builder.js +84 -0
  249. package/dist/query/query-builder.js.map +1 -0
  250. package/dist/query/query-dsl.d.ts +36 -0
  251. package/dist/query/query-dsl.d.ts.map +1 -0
  252. package/dist/query/query-dsl.js +195 -0
  253. package/dist/query/query-dsl.js.map +1 -0
  254. package/dist/relationships/belongs-to.d.ts +9 -0
  255. package/dist/relationships/belongs-to.d.ts.map +1 -0
  256. package/dist/relationships/belongs-to.js +34 -0
  257. package/dist/relationships/belongs-to.js.map +1 -0
  258. package/dist/relationships/has-many.d.ts +23 -0
  259. package/dist/relationships/has-many.d.ts.map +1 -0
  260. package/dist/relationships/has-many.js +136 -0
  261. package/dist/relationships/has-many.js.map +1 -0
  262. package/dist/relationships/index.d.ts +26 -0
  263. package/dist/relationships/index.d.ts.map +1 -0
  264. package/dist/relationships/index.js +32 -0
  265. package/dist/relationships/index.js.map +1 -0
  266. package/dist/relationships/types.d.ts +2 -0
  267. package/dist/relationships/types.d.ts.map +1 -0
  268. package/dist/relationships/types.js +2 -0
  269. package/dist/relationships/types.js.map +1 -0
  270. package/dist/search/document-inputs.d.ts +30 -0
  271. package/dist/search/document-inputs.d.ts.map +1 -0
  272. package/dist/search/document-inputs.js +52 -0
  273. package/dist/search/document-inputs.js.map +1 -0
  274. package/dist/search/luca-semantic-search.d.ts +27 -0
  275. package/dist/search/luca-semantic-search.d.ts.map +1 -0
  276. package/dist/search/luca-semantic-search.js +56 -0
  277. package/dist/search/luca-semantic-search.js.map +1 -0
  278. package/dist/section.d.ts +21 -0
  279. package/dist/section.d.ts.map +1 -0
  280. package/dist/section.js +21 -0
  281. package/dist/section.js.map +1 -0
  282. package/dist/types.d.ts +185 -0
  283. package/dist/types.d.ts.map +1 -0
  284. package/dist/types.js +2 -0
  285. package/dist/types.js.map +1 -0
  286. package/dist/utils/index.d.ts +9 -0
  287. package/dist/utils/index.d.ts.map +1 -0
  288. package/dist/utils/index.js +8 -0
  289. package/dist/utils/index.js.map +1 -0
  290. package/dist/utils/inflect.d.ts +6 -0
  291. package/dist/utils/inflect.d.ts.map +1 -0
  292. package/dist/utils/inflect.js +75 -0
  293. package/dist/utils/inflect.js.map +1 -0
  294. package/dist/utils/match-pattern.d.ts +25 -0
  295. package/dist/utils/match-pattern.d.ts.map +1 -0
  296. package/dist/utils/match-pattern.js +52 -0
  297. package/dist/utils/match-pattern.js.map +1 -0
  298. package/dist/utils/normalize-headings.d.ts +8 -0
  299. package/dist/utils/normalize-headings.d.ts.map +1 -0
  300. package/dist/utils/normalize-headings.js +19 -0
  301. package/dist/utils/normalize-headings.js.map +1 -0
  302. package/dist/utils/parse-table.d.ts +7 -0
  303. package/dist/utils/parse-table.d.ts.map +1 -0
  304. package/dist/utils/parse-table.js +17 -0
  305. package/dist/utils/parse-table.js.map +1 -0
  306. package/dist/utils/read-directory.d.ts +5 -0
  307. package/dist/utils/read-directory.d.ts.map +1 -0
  308. package/dist/utils/read-directory.js +29 -0
  309. package/dist/utils/read-directory.js.map +1 -0
  310. package/dist/utils/stringify-ast.d.ts +6 -0
  311. package/dist/utils/stringify-ast.d.ts.map +1 -0
  312. package/dist/utils/stringify-ast.js +8 -0
  313. package/dist/utils/stringify-ast.js.map +1 -0
  314. package/dist/utils/strip-markdown.d.ts +11 -0
  315. package/dist/utils/strip-markdown.d.ts.map +1 -0
  316. package/dist/utils/strip-markdown.js +48 -0
  317. package/dist/utils/strip-markdown.js.map +1 -0
  318. package/dist/validator.d.ts +10 -0
  319. package/dist/validator.d.ts.map +1 -0
  320. package/dist/validator.js +55 -0
  321. package/dist/validator.js.map +1 -0
  322. package/package.json +3 -3
  323. package/src/document.ts +26 -8
@@ -0,0 +1,17 @@
1
+ import type { StorageAdapter, FileEntry, FileStat } from "../types";
2
+ /**
3
+ * Default StorageAdapter that reads and writes from the local file system
4
+ * using Node's fs/promises module. This is used automatically when no
5
+ * adapter is passed to the Collection constructor.
6
+ */
7
+ export declare class NodeStorageAdapter implements StorageAdapter {
8
+ listFiles(rootPath: string, match: RegExp): Promise<FileEntry[]>;
9
+ readFile(key: string): Promise<string>;
10
+ stat(key: string): Promise<FileStat>;
11
+ writeFile(key: string, content: string): Promise<void>;
12
+ deleteFile(key: string): Promise<void>;
13
+ join(root: string, ...parts: string[]): string;
14
+ relative(root: string, key: string): string;
15
+ extname(key: string): string;
16
+ }
17
+ //# sourceMappingURL=node-fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-fs.d.ts","sourceRoot":"","sources":["../../src/adapters/node-fs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpE;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACjD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoChE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKpC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAI9C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG7B"}
@@ -0,0 +1,71 @@
1
+ import fs from "fs/promises";
2
+ import path from "path";
3
+ /**
4
+ * Default StorageAdapter that reads and writes from the local file system
5
+ * using Node's fs/promises module. This is used automatically when no
6
+ * adapter is passed to the Collection constructor.
7
+ */
8
+ export class NodeStorageAdapter {
9
+ async listFiles(rootPath, match) {
10
+ const results = [];
11
+ const scan = async (dirPath) => {
12
+ let entries;
13
+ try {
14
+ entries = await fs.readdir(dirPath);
15
+ }
16
+ catch {
17
+ return;
18
+ }
19
+ for (const entry of entries) {
20
+ if (entry.startsWith("."))
21
+ continue;
22
+ const filePath = path.join(dirPath, entry);
23
+ const stat = await fs.stat(filePath);
24
+ if (stat.isDirectory()) {
25
+ await scan(filePath);
26
+ }
27
+ else if (stat.isFile() && match.test(filePath)) {
28
+ results.push({
29
+ key: filePath,
30
+ stat: {
31
+ createdAt: stat.ctime,
32
+ updatedAt: stat.mtime,
33
+ size: stat.size,
34
+ },
35
+ });
36
+ }
37
+ }
38
+ };
39
+ await scan(rootPath);
40
+ return results;
41
+ }
42
+ async readFile(key) {
43
+ return fs.readFile(key, "utf8");
44
+ }
45
+ async stat(key) {
46
+ const s = await fs.stat(key);
47
+ return { createdAt: s.ctime, updatedAt: s.mtime, size: s.size };
48
+ }
49
+ async writeFile(key, content) {
50
+ await fs.mkdir(path.parse(key).dir, { recursive: true });
51
+ await fs.writeFile(key, content, "utf8");
52
+ }
53
+ async deleteFile(key) {
54
+ try {
55
+ await fs.rm(key);
56
+ }
57
+ catch {
58
+ // Silently ignore missing files — matches existing behavior
59
+ }
60
+ }
61
+ join(root, ...parts) {
62
+ return path.resolve(root, ...parts);
63
+ }
64
+ relative(root, key) {
65
+ return path.relative(root, key);
66
+ }
67
+ extname(key) {
68
+ return path.extname(key);
69
+ }
70
+ }
71
+ //# sourceMappingURL=node-fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-fs.js","sourceRoot":"","sources":["../../src/adapters/node-fs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { Root, Content, Heading } from "mdast";
2
+ export declare class AstQuery {
3
+ readonly ast: Root;
4
+ constructor(ast: Root);
5
+ /** Find the first node matching a unist-util-select selector. */
6
+ select(selector: string): Content | null;
7
+ /** Find all nodes matching a unist-util-select selector. */
8
+ selectAll(selector: string): Content[];
9
+ /** Walk the tree, calling visitor for each node. */
10
+ visit(visitor: (node: Content) => void): void;
11
+ /** Find all nodes before the given node. */
12
+ findAllBefore(node: Content, test?: string | ((node: Content) => boolean)): Content[];
13
+ /** Find all nodes after the given node. */
14
+ findAllAfter(node: Content, test?: string | ((node: Content) => boolean)): Content[];
15
+ /** Find the first node before the given node matching the test. */
16
+ findBefore(node: Content, test?: string | ((node: Content) => boolean)): Content | null;
17
+ /** Find the first node after the given node matching the test. */
18
+ findAfter(node: Content, test?: string | ((node: Content) => boolean)): Content | null;
19
+ /**
20
+ * Find all nodes between two nodes (exclusive on both ends),
21
+ * based on line position.
22
+ */
23
+ findBetween(nodeOne: Content, nodeTwo: Content): Content[];
24
+ /** Get the node at a given line number. */
25
+ atLine(lineNumber: number): Content | undefined;
26
+ /**
27
+ * Get all headings at a given depth (1-6).
28
+ * Fixed: original had a bug calling this.astQuery.selectAll instead of this.selectAll
29
+ */
30
+ headingsAtDepth(depth: number): Heading[];
31
+ /** Find the next heading node with the same depth as the given heading. */
32
+ findNextSiblingHeadingTo(headingNode: Heading): Heading | undefined;
33
+ /**
34
+ * Find a heading by its text content. Case insensitive.
35
+ * Pass exact=false for substring matching.
36
+ */
37
+ findHeadingByText(text: string, exact?: boolean): Heading | undefined;
38
+ /**
39
+ * Find all headings matching the text. Case insensitive.
40
+ * Pass exact=false for substring matching.
41
+ */
42
+ findAllHeadingsByText(text: string, exact?: boolean): Heading[];
43
+ }
44
+ //# sourceMappingURL=ast-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-query.d.ts","sourceRoot":"","sources":["../src/ast-query.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAe,MAAM,OAAO,CAAC;AAEjE,qBAAa,QAAQ;IACnB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;gBAEP,GAAG,EAAE,IAAI;IAIrB,iEAAiE;IACjE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAIxC,4DAA4D;IAC5D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;IAItC,oDAAoD;IACpD,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAM7C,4CAA4C;IAC5C,aAAa,CACX,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAC3C,OAAO,EAAE;IAIZ,2CAA2C;IAC3C,YAAY,CACV,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAC3C,OAAO,EAAE;IAIZ,mEAAmE;IACnE,UAAU,CACR,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAC3C,OAAO,GAAG,IAAI;IAIjB,kEAAkE;IAClE,SAAS,CACP,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAC3C,OAAO,GAAG,IAAI;IAIjB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE;IAU1D,2CAA2C;IAC3C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAM/C;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE;IAMzC,2EAA2E;IAC3E,wBAAwB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IASnE;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,OAAO,GAAG,SAAS;IASlE;;;OAGG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,OAAO,EAAE;CAQ7D"}
@@ -0,0 +1,95 @@
1
+ import { findBefore } from "unist-util-find-before";
2
+ import { findAfter } from "unist-util-find-after";
3
+ import { findAllBefore } from "unist-util-find-all-before";
4
+ import { findAllAfter } from "unist-util-find-all-after";
5
+ import { visit } from "unist-util-visit";
6
+ import { selectAll, select } from "unist-util-select";
7
+ import { toString } from "mdast-util-to-string";
8
+ export class AstQuery {
9
+ ast;
10
+ constructor(ast) {
11
+ this.ast = ast;
12
+ }
13
+ /** Find the first node matching a unist-util-select selector. */
14
+ select(selector) {
15
+ return select(selector, this.ast);
16
+ }
17
+ /** Find all nodes matching a unist-util-select selector. */
18
+ selectAll(selector) {
19
+ return selectAll(selector, this.ast);
20
+ }
21
+ /** Walk the tree, calling visitor for each node. */
22
+ visit(visitor) {
23
+ visit(this.ast, (node) => {
24
+ visitor(node);
25
+ });
26
+ }
27
+ /** Find all nodes before the given node. */
28
+ findAllBefore(node, test) {
29
+ return findAllBefore(this.ast, node, test);
30
+ }
31
+ /** Find all nodes after the given node. */
32
+ findAllAfter(node, test) {
33
+ return findAllAfter(this.ast, node, test);
34
+ }
35
+ /** Find the first node before the given node matching the test. */
36
+ findBefore(node, test) {
37
+ return findBefore(this.ast, node, test);
38
+ }
39
+ /** Find the first node after the given node matching the test. */
40
+ findAfter(node, test) {
41
+ return findAfter(this.ast, node, test);
42
+ }
43
+ /**
44
+ * Find all nodes between two nodes (exclusive on both ends),
45
+ * based on line position.
46
+ */
47
+ findBetween(nodeOne, nodeTwo) {
48
+ const startLine = nodeOne.position?.end?.line ?? 0;
49
+ const endLine = nodeTwo.position?.start?.line ?? Infinity;
50
+ return this.ast.children.filter((child) => (child.position?.start?.line ?? 0) > startLine &&
51
+ (child.position?.end?.line ?? 0) < endLine);
52
+ }
53
+ /** Get the node at a given line number. */
54
+ atLine(lineNumber) {
55
+ return this.ast.children.find((child) => child.position?.start?.line === lineNumber);
56
+ }
57
+ /**
58
+ * Get all headings at a given depth (1-6).
59
+ * Fixed: original had a bug calling this.astQuery.selectAll instead of this.selectAll
60
+ */
61
+ headingsAtDepth(depth) {
62
+ return this.selectAll("heading").filter((h) => h.depth === depth);
63
+ }
64
+ /** Find the next heading node with the same depth as the given heading. */
65
+ findNextSiblingHeadingTo(headingNode) {
66
+ const startLine = headingNode.position?.end?.line ?? 0;
67
+ return this.selectAll("heading").find((h) => h.depth === headingNode.depth &&
68
+ (h.position?.start?.line ?? 0) > startLine);
69
+ }
70
+ /**
71
+ * Find a heading by its text content. Case insensitive.
72
+ * Pass exact=false for substring matching.
73
+ */
74
+ findHeadingByText(text, exact = true) {
75
+ return this.selectAll("heading").find((heading) => {
76
+ const headingText = toString(heading).toLowerCase();
77
+ return exact
78
+ ? headingText.trim() === text.toLowerCase()
79
+ : headingText.includes(text.toLowerCase());
80
+ });
81
+ }
82
+ /**
83
+ * Find all headings matching the text. Case insensitive.
84
+ * Pass exact=false for substring matching.
85
+ */
86
+ findAllHeadingsByText(text, exact = true) {
87
+ return this.selectAll("heading").filter((heading) => {
88
+ const headingText = toString(heading).toLowerCase();
89
+ return exact
90
+ ? headingText.trim() === text.toLowerCase()
91
+ : headingText.includes(text.toLowerCase());
92
+ });
93
+ }
94
+ }
95
+ //# sourceMappingURL=ast-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-query.js","sourceRoot":"","sources":["../src/ast-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Built-in Base model that serves as a catch-all for documents
4
+ * that don't match any other registered model.
5
+ * Auto-registered by Collection.load() unless overridden.
6
+ */
7
+ export declare const Base: import("./types").ModelDefinition<"Base", z.ZodObject<{}, z.core.$loose>, Record<string, never>, Record<string, never>, Record<string, never>>;
8
+ //# sourceMappingURL=base-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-model.d.ts","sourceRoot":"","sources":["../src/base-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,IAAI,gJAGf,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ import { defineModel } from "./define-model";
3
+ /**
4
+ * Built-in Base model that serves as a catch-all for documents
5
+ * that don't match any other registered model.
6
+ * Auto-registered by Collection.load() unless overridden.
7
+ */
8
+ export const Base = defineModel("Base", {
9
+ prefix: "",
10
+ meta: z.looseObject({}),
11
+ });
12
+ //# sourceMappingURL=base-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-model.js","sourceRoot":"","sources":["../src/base-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE;IACtC,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;CACxB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/action.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import { z } from 'zod';
2
+ import { commands } from '../registry.js';
3
+ import { loadCollection } from '../load-collection.js';
4
+ const argsSchema = z.object({
5
+ contentFolder: z.string().optional(),
6
+ });
7
+ async function handler(options, context) {
8
+ const collection = await loadCollection({
9
+ contentFolder: options.contentFolder,
10
+ });
11
+ const actionName = context.container.argv._[1];
12
+ if (!actionName) {
13
+ console.error('Usage: cnotes action <name>');
14
+ console.error(`Available: ${collection.availableActions.join(', ') || '(none)'}`);
15
+ process.exit(1);
16
+ }
17
+ if (!collection.actions.has(actionName)) {
18
+ console.error(`Action "${actionName}" not found. Available: ${collection.availableActions.join(', ') || '(none)'}`);
19
+ process.exit(1);
20
+ }
21
+ const result = await collection.runAction(actionName);
22
+ if (result !== undefined) {
23
+ console.log(typeof result === 'string'
24
+ ? result
25
+ : JSON.stringify(result, null, 2));
26
+ }
27
+ }
28
+ commands.register('action', {
29
+ description: 'Run a named action on the collection',
30
+ usage: '<name>',
31
+ help: `# cnotes action
32
+
33
+ Run a named action registered on the collection. Actions are custom functions defined in your collection's entry point.
34
+
35
+ ## Usage
36
+
37
+ \`\`\`
38
+ cnotes action <name> [options]
39
+ \`\`\`
40
+
41
+ ## Arguments
42
+
43
+ | Argument | Description |
44
+ |----------|-------------|
45
+ | \`name\` | The registered action name |
46
+
47
+ ## Options
48
+
49
+ | Option | Description |
50
+ |--------|-------------|
51
+ | \`--contentFolder\` | Path to content folder |
52
+
53
+ ## Output
54
+
55
+ If the action returns a value, it is printed to stdout (strings directly, objects as JSON).
56
+
57
+ ## Examples
58
+
59
+ \`\`\`bash
60
+ # Run an action
61
+ cnotes action generate-report
62
+
63
+ # Run an action on a specific content folder
64
+ cnotes action sync --contentFolder ./docs
65
+
66
+ # List available actions (shows error with available names)
67
+ cnotes action
68
+ \`\`\`
69
+ `,
70
+ argsSchema,
71
+ handler,
72
+ });
73
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/cli/commands/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAA;AAEF,KAAK,UAAU,OAAO,CAAC,OAAmC,EAAE,OAA2B;IACrF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAuB,CAAA;IAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,cAAc,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAA;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CACX,WAAW,UAAU,2BAA2B,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CACrG,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CACpC,CAAA;IACH,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE;IAC1B,WAAW,EAAE,sCAAsC;IACnD,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCP;IACC,UAAU;IACV,OAAO;CACR,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ export declare const path = "/api/actions";
3
+ export declare const description = "List or execute collection actions";
4
+ export declare const tags: string[];
5
+ export declare function get(_params: any, ctx: any): Promise<{
6
+ actions: any;
7
+ }>;
8
+ export declare const postSchema: z.ZodObject<{
9
+ name: z.ZodString;
10
+ args: z.ZodOptional<z.ZodArray<z.ZodAny>>;
11
+ }, z.core.$strip>;
12
+ export declare function post(params: any, ctx: any): Promise<any>;
13
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/api/endpoints/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,IAAI,iBAAiB,CAAA;AAClC,eAAO,MAAM,WAAW,uCAAuC,CAAA;AAC/D,eAAO,MAAM,IAAI,UAAc,CAAA;AAE/B,wBAAsB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;;GAG/C;AAED,eAAO,MAAM,UAAU;;;iBAGrB,CAAA;AAEF,wBAAsB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,gBAiB/C"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export const path = '/api/actions';
3
+ export const description = 'List or execute collection actions';
4
+ export const tags = ['actions'];
5
+ export async function get(_params, ctx) {
6
+ const collection = ctx.container._contentbaseCollection;
7
+ return { actions: collection.availableActions };
8
+ }
9
+ export const postSchema = z.object({
10
+ name: z.string(),
11
+ args: z.array(z.any()).optional(),
12
+ });
13
+ export async function post(params, ctx) {
14
+ if (ctx.container._contentbaseReadOnly) {
15
+ ctx.response.status(403);
16
+ return { error: 'Server is running in read-only mode' };
17
+ }
18
+ const collection = ctx.container._contentbaseCollection;
19
+ if (!collection.availableActions.includes(params.name)) {
20
+ ctx.response.status(400);
21
+ return {
22
+ error: `Unknown action: ${params.name}. Available: ${collection.availableActions.join(', ') || '(none)'}`,
23
+ };
24
+ }
25
+ const result = await collection.runAction(params.name, ...(params.args || []));
26
+ return typeof result === 'string' ? { result } : result;
27
+ }
28
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../../src/cli/commands/api/endpoints/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAA;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAA;AAC/D,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;AAE/B,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAY,EAAE,GAAQ;IAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAA;IACvD,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAA;AACjD,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAW,EAAE,GAAQ;IAC9C,IAAI,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxB,OAAO,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAA;IACzD,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAA;IAEvD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxB,OAAO;YACL,KAAK,EAAE,mBAAmB,MAAM,CAAC,IAAI,gBAAgB,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;SAC1G,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9E,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AACzD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const path = "/docs/:docPath(.*)";
2
+ export declare const description = "Content-negotiated document serving (JSON, HTML, or Markdown)";
3
+ export declare const tags: string[];
4
+ export declare function get(params: any, ctx: any): Promise<Record<string, unknown> | undefined>;
5
+ //# sourceMappingURL=doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/api/endpoints/doc.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,uBAAuB,CAAA;AACxC,eAAO,MAAM,WAAW,kEAAkE,CAAA;AAC1F,eAAO,MAAM,IAAI,UAAW,CAAA;AAE5B,wBAAsB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,gDAmL9C"}
@@ -0,0 +1,186 @@
1
+ import matter from 'gray-matter';
2
+ import { renderMarkdownToHtml, rewriteDocLinks } from '../helpers.js';
3
+ export const path = '/docs/:docPath(.*)';
4
+ export const description = 'Content-negotiated document serving (JSON, HTML, or Markdown)';
5
+ export const tags = ['docs'];
6
+ export async function get(params, ctx) {
7
+ const collection = ctx.container._contentbaseCollection;
8
+ let docPath = params.docPath || '';
9
+ // Determine format from extension or Accept header
10
+ let format = 'json';
11
+ if (docPath.endsWith('.json')) {
12
+ format = 'json';
13
+ docPath = docPath.slice(0, -5);
14
+ }
15
+ else if (docPath.endsWith('.html')) {
16
+ format = 'html';
17
+ docPath = docPath.slice(0, -5);
18
+ }
19
+ else if (docPath.endsWith('.md')) {
20
+ format = 'md';
21
+ docPath = docPath.slice(0, -3);
22
+ }
23
+ else {
24
+ const accept = ctx.request.headers?.accept || '';
25
+ if (accept.includes('text/html'))
26
+ format = 'html';
27
+ else if (accept.includes('text/markdown'))
28
+ format = 'md';
29
+ }
30
+ if (!collection.available.includes(docPath)) {
31
+ ctx.response.status(404);
32
+ return { error: `Document not found: ${docPath}` };
33
+ }
34
+ const doc = collection.document(docPath);
35
+ const modelDef = collection.findModelDefinition(docPath);
36
+ switch (format) {
37
+ case 'md': {
38
+ const raw = matter.stringify(doc.content, doc.meta);
39
+ ctx.response.type('text/markdown');
40
+ ctx.response.send(raw);
41
+ return;
42
+ }
43
+ case 'html': {
44
+ const html = rewriteDocLinks(await renderMarkdownToHtml(doc.content));
45
+ const page = `<!DOCTYPE html>
46
+ <html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
47
+ <title>${doc.title}</title>
48
+ <link rel="preconnect" href="https://fonts.googleapis.com">
49
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
50
+ <link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
51
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css">
52
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"><\/script>
53
+ <style>
54
+ *, *::before, *::after { box-sizing: border-box; }
55
+ body {
56
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
57
+ max-width: 52rem;
58
+ margin: 0 auto;
59
+ padding: 2rem 1.5rem;
60
+ line-height: 1.7;
61
+ color: #1a1a2e;
62
+ background: #fafafa;
63
+ }
64
+ h1 { font-size: 2rem; font-weight: 600; margin: 2rem 0 1rem; color: #0f0f23; }
65
+ h2 { font-size: 1.5rem; font-weight: 600; margin: 2.5rem 0 0.75rem; color: #16163a; border-bottom: 1px solid #e2e2e8; padding-bottom: 0.4rem; }
66
+ h3 { font-size: 1.2rem; font-weight: 600; margin: 2rem 0 0.5rem; color: #1a1a2e; }
67
+ h4, h5, h6 { font-weight: 600; margin: 1.5rem 0 0.5rem; }
68
+ p { margin: 0 0 1rem; }
69
+ a { color: #2563eb; text-decoration: none; }
70
+ a:hover { text-decoration: underline; }
71
+ blockquote {
72
+ border-left: 3px solid #6366f1;
73
+ margin: 1rem 0;
74
+ padding: 0.5rem 1rem;
75
+ background: #f0f0ff;
76
+ color: #3730a3;
77
+ border-radius: 0 6px 6px 0;
78
+ }
79
+ blockquote p { margin: 0; }
80
+ code {
81
+ font-family: 'Fira Code', 'Cascadia Code', 'JetBrains Mono', monospace;
82
+ font-feature-settings: "liga" 1, "calt" 1;
83
+ -webkit-font-feature-settings: "liga" 1, "calt" 1;
84
+ font-size: 0.875em;
85
+ background: #ededf0;
86
+ padding: 0.15em 0.4em;
87
+ border-radius: 4px;
88
+ color: #d6336c;
89
+ }
90
+ pre {
91
+ margin: 1rem 0;
92
+ border-radius: 8px;
93
+ overflow: hidden;
94
+ background: #282c34;
95
+ box-shadow: 0 2px 8px rgba(0,0,0,0.12);
96
+ }
97
+ pre code {
98
+ display: block;
99
+ padding: 1.25rem 1.5rem;
100
+ overflow-x: auto;
101
+ font-size: 0.9rem;
102
+ line-height: 1.6;
103
+ background: none;
104
+ color: #abb2bf;
105
+ border-radius: 0;
106
+ }
107
+ pre code .hljs-comment { font-style: italic; }
108
+ ul, ol { padding-left: 1.5rem; margin: 0.5rem 0 1rem; }
109
+ li { margin: 0.3rem 0; }
110
+ li > ul, li > ol { margin: 0.2rem 0; }
111
+ table { border-collapse: collapse; width: 100%; margin: 1rem 0; }
112
+ th { background: #f0f0f5; font-weight: 600; text-align: left; }
113
+ td, th { border: 1px solid #ddd; padding: 0.6em 0.8em; font-size: 0.95rem; }
114
+ tr:nth-child(even) { background: #f8f8fb; }
115
+ hr { border: none; border-top: 1px solid #e2e2e8; margin: 2rem 0; }
116
+ img { max-width: 100%; height: auto; border-radius: 6px; }
117
+ .meta-header { color: #6b7280; font-size: 0.85rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid #e2e2e8; }
118
+ .meta-header span { margin-right: 1.5rem; }
119
+ </style>
120
+ </head>
121
+ <body>
122
+ ${doc.meta && Object.keys(doc.meta).length > 0 ? `<div class="meta-header">${Object.entries(doc.meta).filter(([k]) => k !== 'title').map(([k, v]) => `<span><strong>${k}:</strong> ${v}</span>`).join('')}</div>` : ''}
123
+ ${html}
124
+ <script>hljs.highlightAll();<\/script>
125
+ </body></html>`;
126
+ ctx.response.type('text/html');
127
+ ctx.response.send(page);
128
+ return;
129
+ }
130
+ default: {
131
+ const result = {
132
+ id: doc.id,
133
+ title: doc.title,
134
+ meta: doc.meta,
135
+ content: doc.content,
136
+ outline: doc.toOutline(),
137
+ model: modelDef?.name || null,
138
+ createdAt: doc.createdAt,
139
+ updatedAt: doc.updatedAt,
140
+ size: doc.size,
141
+ };
142
+ if (modelDef) {
143
+ const instance = collection.getModel(docPath, modelDef);
144
+ const sectionKeys = modelDef.sections ? Object.keys(modelDef.sections) : [];
145
+ const computedKeys = modelDef.computed ? Object.keys(modelDef.computed) : [];
146
+ const relationshipKeys = modelDef.relationships ? Object.keys(modelDef.relationships) : [];
147
+ if (sectionKeys.length) {
148
+ result.sections = {};
149
+ for (const key of sectionKeys) {
150
+ try {
151
+ result.sections[key] = instance.sections[key];
152
+ }
153
+ catch { }
154
+ }
155
+ }
156
+ if (computedKeys.length) {
157
+ result.computed = {};
158
+ for (const key of computedKeys) {
159
+ try {
160
+ result.computed[key] = instance.computed[key];
161
+ }
162
+ catch { }
163
+ }
164
+ }
165
+ if (relationshipKeys.length) {
166
+ result.relationships = {};
167
+ for (const key of relationshipKeys) {
168
+ try {
169
+ const rel = instance.relationships[key];
170
+ if ('fetchAll' in rel) {
171
+ result.relationships[key] = rel.fetchAll().map((i) => ({ id: i.id, title: i.title }));
172
+ }
173
+ else if ('fetch' in rel) {
174
+ const parentInstance = rel.fetch();
175
+ result.relationships[key] = parentInstance ? { id: parentInstance.id, title: parentInstance.title } : null;
176
+ }
177
+ }
178
+ catch { }
179
+ }
180
+ }
181
+ }
182
+ return result;
183
+ }
184
+ }
185
+ }
186
+ //# sourceMappingURL=doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.js","sourceRoot":"","sources":["../../../../../src/cli/commands/api/endpoints/doc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const path = "/docs";
2
+ export declare const description = "Table of contents for all documents";
3
+ export declare const tags: string[];
4
+ export declare function get(_params: any, ctx: any): Promise<{
5
+ title: string;
6
+ documents: any;
7
+ } | undefined>;
8
+ //# sourceMappingURL=docs-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/api/endpoints/docs-index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,UAAU,CAAA;AAC3B,eAAO,MAAM,WAAW,wCAAwC,CAAA;AAChE,eAAO,MAAM,IAAI,UAAW,CAAA;AAE5B,wBAAsB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;;;eAmB/C"}