kustodian 1.0.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 (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +346 -0
  3. package/dist/cli/bin.d.ts +3 -0
  4. package/dist/cli/bin.d.ts.map +1 -0
  5. package/dist/cli/bin.js +67 -0
  6. package/dist/cli/bin.js.map +1 -0
  7. package/dist/cli/command.d.ts +57 -0
  8. package/dist/cli/command.d.ts.map +1 -0
  9. package/dist/cli/command.js +26 -0
  10. package/dist/cli/command.js.map +1 -0
  11. package/dist/cli/commands/apply.d.ts +8 -0
  12. package/dist/cli/commands/apply.d.ts.map +1 -0
  13. package/dist/cli/commands/apply.js +802 -0
  14. package/dist/cli/commands/apply.js.map +1 -0
  15. package/dist/cli/commands/init.d.ts +5 -0
  16. package/dist/cli/commands/init.d.ts.map +1 -0
  17. package/dist/cli/commands/init.js +403 -0
  18. package/dist/cli/commands/init.js.map +1 -0
  19. package/dist/cli/commands/sources.d.ts +5 -0
  20. package/dist/cli/commands/sources.d.ts.map +1 -0
  21. package/dist/cli/commands/sources.js +377 -0
  22. package/dist/cli/commands/sources.js.map +1 -0
  23. package/dist/cli/commands/update.d.ts +5 -0
  24. package/dist/cli/commands/update.d.ts.map +1 -0
  25. package/dist/cli/commands/update.js +314 -0
  26. package/dist/cli/commands/update.js.map +1 -0
  27. package/dist/cli/commands/validate.d.ts +5 -0
  28. package/dist/cli/commands/validate.d.ts.map +1 -0
  29. package/dist/cli/commands/validate.js +126 -0
  30. package/dist/cli/commands/validate.js.map +1 -0
  31. package/dist/cli/container.d.ts +48 -0
  32. package/dist/cli/container.d.ts.map +1 -0
  33. package/dist/cli/container.js +49 -0
  34. package/dist/cli/container.js.map +1 -0
  35. package/dist/cli/index.d.ts +8 -0
  36. package/dist/cli/index.d.ts.map +1 -0
  37. package/dist/cli/index.js +9 -0
  38. package/dist/cli/index.js.map +1 -0
  39. package/dist/cli/middleware.d.ts +118 -0
  40. package/dist/cli/middleware.d.ts.map +1 -0
  41. package/dist/cli/middleware.js +280 -0
  42. package/dist/cli/middleware.js.map +1 -0
  43. package/dist/cli/runner.d.ts +34 -0
  44. package/dist/cli/runner.d.ts.map +1 -0
  45. package/dist/cli/runner.js +156 -0
  46. package/dist/cli/runner.js.map +1 -0
  47. package/dist/cli/utils/defaults.d.ts +23 -0
  48. package/dist/cli/utils/defaults.d.ts.map +1 -0
  49. package/dist/cli/utils/defaults.js +43 -0
  50. package/dist/cli/utils/defaults.js.map +1 -0
  51. package/dist/core/error.d.ts +117 -0
  52. package/dist/core/error.d.ts.map +1 -0
  53. package/dist/core/error.js +210 -0
  54. package/dist/core/error.js.map +1 -0
  55. package/dist/core/index.d.ts +6 -0
  56. package/dist/core/index.d.ts.map +1 -0
  57. package/dist/core/index.js +6 -0
  58. package/dist/core/index.js.map +1 -0
  59. package/dist/core/logger.d.ts +31 -0
  60. package/dist/core/logger.d.ts.map +1 -0
  61. package/dist/core/logger.js +78 -0
  62. package/dist/core/logger.js.map +1 -0
  63. package/dist/core/path.d.ts +57 -0
  64. package/dist/core/path.d.ts.map +1 -0
  65. package/dist/core/path.js +154 -0
  66. package/dist/core/path.js.map +1 -0
  67. package/dist/core/result.d.ts +80 -0
  68. package/dist/core/result.d.ts.map +1 -0
  69. package/dist/core/result.js +150 -0
  70. package/dist/core/result.js.map +1 -0
  71. package/dist/core/types.d.ts +80 -0
  72. package/dist/core/types.d.ts.map +1 -0
  73. package/dist/core/types.js +5 -0
  74. package/dist/core/types.js.map +1 -0
  75. package/dist/generator/external-substitutions.d.ts +21 -0
  76. package/dist/generator/external-substitutions.d.ts.map +1 -0
  77. package/dist/generator/external-substitutions.js +49 -0
  78. package/dist/generator/external-substitutions.js.map +1 -0
  79. package/dist/generator/flux.d.ts +61 -0
  80. package/dist/generator/flux.d.ts.map +1 -0
  81. package/dist/generator/flux.js +294 -0
  82. package/dist/generator/flux.js.map +1 -0
  83. package/dist/generator/generator.d.ts +77 -0
  84. package/dist/generator/generator.d.ts.map +1 -0
  85. package/dist/generator/generator.js +183 -0
  86. package/dist/generator/generator.js.map +1 -0
  87. package/dist/generator/index.d.ts +9 -0
  88. package/dist/generator/index.d.ts.map +1 -0
  89. package/dist/generator/index.js +9 -0
  90. package/dist/generator/index.js.map +1 -0
  91. package/dist/generator/kustomization-resolution.d.ts +40 -0
  92. package/dist/generator/kustomization-resolution.d.ts.map +1 -0
  93. package/dist/generator/kustomization-resolution.js +59 -0
  94. package/dist/generator/kustomization-resolution.js.map +1 -0
  95. package/dist/generator/namespace.d.ts +74 -0
  96. package/dist/generator/namespace.d.ts.map +1 -0
  97. package/dist/generator/namespace.js +109 -0
  98. package/dist/generator/namespace.js.map +1 -0
  99. package/dist/generator/output.d.ts +56 -0
  100. package/dist/generator/output.d.ts.map +1 -0
  101. package/dist/generator/output.js +171 -0
  102. package/dist/generator/output.js.map +1 -0
  103. package/dist/generator/preservation.d.ts +45 -0
  104. package/dist/generator/preservation.d.ts.map +1 -0
  105. package/dist/generator/preservation.js +71 -0
  106. package/dist/generator/preservation.js.map +1 -0
  107. package/dist/generator/substitution.d.ts +79 -0
  108. package/dist/generator/substitution.d.ts.map +1 -0
  109. package/dist/generator/substitution.js +210 -0
  110. package/dist/generator/substitution.js.map +1 -0
  111. package/dist/generator/types.d.ts +162 -0
  112. package/dist/generator/types.d.ts.map +1 -0
  113. package/dist/generator/types.js +2 -0
  114. package/dist/generator/types.js.map +1 -0
  115. package/dist/generator/validation/cycle-detection.d.ts +25 -0
  116. package/dist/generator/validation/cycle-detection.d.ts.map +1 -0
  117. package/dist/generator/validation/cycle-detection.js +101 -0
  118. package/dist/generator/validation/cycle-detection.js.map +1 -0
  119. package/dist/generator/validation/enablement.d.ts +24 -0
  120. package/dist/generator/validation/enablement.d.ts.map +1 -0
  121. package/dist/generator/validation/enablement.js +69 -0
  122. package/dist/generator/validation/enablement.js.map +1 -0
  123. package/dist/generator/validation/graph.d.ts +29 -0
  124. package/dist/generator/validation/graph.d.ts.map +1 -0
  125. package/dist/generator/validation/graph.js +106 -0
  126. package/dist/generator/validation/graph.js.map +1 -0
  127. package/dist/generator/validation/index.d.ts +38 -0
  128. package/dist/generator/validation/index.d.ts.map +1 -0
  129. package/dist/generator/validation/index.js +64 -0
  130. package/dist/generator/validation/index.js.map +1 -0
  131. package/dist/generator/validation/reference.d.ts +45 -0
  132. package/dist/generator/validation/reference.d.ts.map +1 -0
  133. package/dist/generator/validation/reference.js +143 -0
  134. package/dist/generator/validation/reference.js.map +1 -0
  135. package/dist/generator/validation/requirements.d.ts +25 -0
  136. package/dist/generator/validation/requirements.d.ts.map +1 -0
  137. package/dist/generator/validation/requirements.js +64 -0
  138. package/dist/generator/validation/requirements.js.map +1 -0
  139. package/dist/generator/validation/types.d.ts +116 -0
  140. package/dist/generator/validation/types.d.ts.map +1 -0
  141. package/dist/generator/validation/types.js +13 -0
  142. package/dist/generator/validation/types.js.map +1 -0
  143. package/dist/k8s/exec.d.ts +20 -0
  144. package/dist/k8s/exec.d.ts.map +1 -0
  145. package/dist/k8s/exec.js +47 -0
  146. package/dist/k8s/exec.js.map +1 -0
  147. package/dist/k8s/flux.d.ts +57 -0
  148. package/dist/k8s/flux.d.ts.map +1 -0
  149. package/dist/k8s/flux.js +202 -0
  150. package/dist/k8s/flux.js.map +1 -0
  151. package/dist/k8s/index.d.ts +6 -0
  152. package/dist/k8s/index.d.ts.map +1 -0
  153. package/dist/k8s/index.js +6 -0
  154. package/dist/k8s/index.js.map +1 -0
  155. package/dist/k8s/kubeconfig.d.ts +45 -0
  156. package/dist/k8s/kubeconfig.d.ts.map +1 -0
  157. package/dist/k8s/kubeconfig.js +152 -0
  158. package/dist/k8s/kubeconfig.js.map +1 -0
  159. package/dist/k8s/kubectl.d.ts +68 -0
  160. package/dist/k8s/kubectl.d.ts.map +1 -0
  161. package/dist/k8s/kubectl.js +187 -0
  162. package/dist/k8s/kubectl.js.map +1 -0
  163. package/dist/k8s/types.d.ts +65 -0
  164. package/dist/k8s/types.d.ts.map +1 -0
  165. package/dist/k8s/types.js +2 -0
  166. package/dist/k8s/types.js.map +1 -0
  167. package/dist/loader/file.d.ts +39 -0
  168. package/dist/loader/file.d.ts.map +1 -0
  169. package/dist/loader/file.js +121 -0
  170. package/dist/loader/file.js.map +1 -0
  171. package/dist/loader/index.d.ts +5 -0
  172. package/dist/loader/index.d.ts.map +1 -0
  173. package/dist/loader/index.js +5 -0
  174. package/dist/loader/index.js.map +1 -0
  175. package/dist/loader/profile.d.ts +23 -0
  176. package/dist/loader/profile.d.ts.map +1 -0
  177. package/dist/loader/profile.js +84 -0
  178. package/dist/loader/profile.js.map +1 -0
  179. package/dist/loader/project.d.ts +76 -0
  180. package/dist/loader/project.d.ts.map +1 -0
  181. package/dist/loader/project.js +279 -0
  182. package/dist/loader/project.js.map +1 -0
  183. package/dist/loader/yaml.d.ts +15 -0
  184. package/dist/loader/yaml.d.ts.map +1 -0
  185. package/dist/loader/yaml.js +44 -0
  186. package/dist/loader/yaml.js.map +1 -0
  187. package/dist/nodes/index.d.ts +5 -0
  188. package/dist/nodes/index.d.ts.map +1 -0
  189. package/dist/nodes/index.js +5 -0
  190. package/dist/nodes/index.js.map +1 -0
  191. package/dist/nodes/kubectl-labeler.d.ts +7 -0
  192. package/dist/nodes/kubectl-labeler.d.ts.map +1 -0
  193. package/dist/nodes/kubectl-labeler.js +89 -0
  194. package/dist/nodes/kubectl-labeler.js.map +1 -0
  195. package/dist/nodes/labeler.d.ts +74 -0
  196. package/dist/nodes/labeler.d.ts.map +1 -0
  197. package/dist/nodes/labeler.js +118 -0
  198. package/dist/nodes/labeler.js.map +1 -0
  199. package/dist/nodes/profile.d.ts +58 -0
  200. package/dist/nodes/profile.d.ts.map +1 -0
  201. package/dist/nodes/profile.js +128 -0
  202. package/dist/nodes/profile.js.map +1 -0
  203. package/dist/nodes/types.d.ts +84 -0
  204. package/dist/nodes/types.d.ts.map +1 -0
  205. package/dist/nodes/types.js +77 -0
  206. package/dist/nodes/types.js.map +1 -0
  207. package/dist/plugins/generators.d.ts +49 -0
  208. package/dist/plugins/generators.d.ts.map +1 -0
  209. package/dist/plugins/generators.js +7 -0
  210. package/dist/plugins/generators.js.map +1 -0
  211. package/dist/plugins/hooks.d.ts +120 -0
  212. package/dist/plugins/hooks.d.ts.map +1 -0
  213. package/dist/plugins/hooks.js +41 -0
  214. package/dist/plugins/hooks.js.map +1 -0
  215. package/dist/plugins/index.d.ts +8 -0
  216. package/dist/plugins/index.d.ts.map +1 -0
  217. package/dist/plugins/index.js +15 -0
  218. package/dist/plugins/index.js.map +1 -0
  219. package/dist/plugins/loader.d.ts +40 -0
  220. package/dist/plugins/loader.d.ts.map +1 -0
  221. package/dist/plugins/loader.js +236 -0
  222. package/dist/plugins/loader.js.map +1 -0
  223. package/dist/plugins/object-types.d.ts +71 -0
  224. package/dist/plugins/object-types.d.ts.map +1 -0
  225. package/dist/plugins/object-types.js +65 -0
  226. package/dist/plugins/object-types.js.map +1 -0
  227. package/dist/plugins/registry.d.ts +87 -0
  228. package/dist/plugins/registry.d.ts.map +1 -0
  229. package/dist/plugins/registry.js +158 -0
  230. package/dist/plugins/registry.js.map +1 -0
  231. package/dist/plugins/substitution-providers.d.ts +48 -0
  232. package/dist/plugins/substitution-providers.d.ts.map +1 -0
  233. package/dist/plugins/substitution-providers.js +2 -0
  234. package/dist/plugins/substitution-providers.js.map +1 -0
  235. package/dist/plugins/types.d.ts +288 -0
  236. package/dist/plugins/types.d.ts.map +1 -0
  237. package/dist/plugins/types.js +25 -0
  238. package/dist/plugins/types.js.map +1 -0
  239. package/dist/registry/auth.d.ts +14 -0
  240. package/dist/registry/auth.d.ts.map +1 -0
  241. package/dist/registry/auth.js +40 -0
  242. package/dist/registry/auth.js.map +1 -0
  243. package/dist/registry/client.d.ts +24 -0
  244. package/dist/registry/client.d.ts.map +1 -0
  245. package/dist/registry/client.js +85 -0
  246. package/dist/registry/client.js.map +1 -0
  247. package/dist/registry/dockerhub.d.ts +6 -0
  248. package/dist/registry/dockerhub.d.ts.map +1 -0
  249. package/dist/registry/dockerhub.js +91 -0
  250. package/dist/registry/dockerhub.js.map +1 -0
  251. package/dist/registry/ghcr.d.ts +6 -0
  252. package/dist/registry/ghcr.d.ts.map +1 -0
  253. package/dist/registry/ghcr.js +95 -0
  254. package/dist/registry/ghcr.js.map +1 -0
  255. package/dist/registry/helm.d.ts +11 -0
  256. package/dist/registry/helm.d.ts.map +1 -0
  257. package/dist/registry/helm.js +124 -0
  258. package/dist/registry/helm.js.map +1 -0
  259. package/dist/registry/index.d.ts +8 -0
  260. package/dist/registry/index.d.ts.map +1 -0
  261. package/dist/registry/index.js +12 -0
  262. package/dist/registry/index.js.map +1 -0
  263. package/dist/registry/types.d.ts +55 -0
  264. package/dist/registry/types.d.ts.map +1 -0
  265. package/dist/registry/types.js +2 -0
  266. package/dist/registry/types.js.map +1 -0
  267. package/dist/registry/version.d.ts +22 -0
  268. package/dist/registry/version.d.ts.map +1 -0
  269. package/dist/registry/version.js +62 -0
  270. package/dist/registry/version.js.map +1 -0
  271. package/dist/schema/cluster.d.ts +2890 -0
  272. package/dist/schema/cluster.d.ts.map +1 -0
  273. package/dist/schema/cluster.js +231 -0
  274. package/dist/schema/cluster.js.map +1 -0
  275. package/dist/schema/common.d.ts +1059 -0
  276. package/dist/schema/common.d.ts.map +1 -0
  277. package/dist/schema/common.js +340 -0
  278. package/dist/schema/common.js.map +1 -0
  279. package/dist/schema/index.d.ts +8 -0
  280. package/dist/schema/index.d.ts.map +1 -0
  281. package/dist/schema/index.js +8 -0
  282. package/dist/schema/index.js.map +1 -0
  283. package/dist/schema/node-list.d.ts +361 -0
  284. package/dist/schema/node-list.d.ts.map +1 -0
  285. package/dist/schema/node-list.js +104 -0
  286. package/dist/schema/node-list.js.map +1 -0
  287. package/dist/schema/profile.d.ts +166 -0
  288. package/dist/schema/profile.d.ts.map +1 -0
  289. package/dist/schema/profile.js +61 -0
  290. package/dist/schema/profile.js.map +1 -0
  291. package/dist/schema/project.d.ts +168 -0
  292. package/dist/schema/project.d.ts.map +1 -0
  293. package/dist/schema/project.js +40 -0
  294. package/dist/schema/project.js.map +1 -0
  295. package/dist/schema/sources.d.ts +338 -0
  296. package/dist/schema/sources.d.ts.map +1 -0
  297. package/dist/schema/sources.js +111 -0
  298. package/dist/schema/sources.js.map +1 -0
  299. package/dist/schema/template.d.ts +2711 -0
  300. package/dist/schema/template.d.ts.map +1 -0
  301. package/dist/schema/template.js +97 -0
  302. package/dist/schema/template.js.map +1 -0
  303. package/dist/sources/cache/index.d.ts +9 -0
  304. package/dist/sources/cache/index.d.ts.map +1 -0
  305. package/dist/sources/cache/index.js +278 -0
  306. package/dist/sources/cache/index.js.map +1 -0
  307. package/dist/sources/cache/metadata.d.ts +36 -0
  308. package/dist/sources/cache/metadata.d.ts.map +1 -0
  309. package/dist/sources/cache/metadata.js +21 -0
  310. package/dist/sources/cache/metadata.js.map +1 -0
  311. package/dist/sources/cache/ttl.d.ts +20 -0
  312. package/dist/sources/cache/ttl.d.ts.map +1 -0
  313. package/dist/sources/cache/ttl.js +53 -0
  314. package/dist/sources/cache/ttl.js.map +1 -0
  315. package/dist/sources/fetchers/git.d.ts +6 -0
  316. package/dist/sources/fetchers/git.d.ts.map +1 -0
  317. package/dist/sources/fetchers/git.js +165 -0
  318. package/dist/sources/fetchers/git.js.map +1 -0
  319. package/dist/sources/fetchers/http.d.ts +6 -0
  320. package/dist/sources/fetchers/http.d.ts.map +1 -0
  321. package/dist/sources/fetchers/http.js +159 -0
  322. package/dist/sources/fetchers/http.js.map +1 -0
  323. package/dist/sources/fetchers/index.d.ts +11 -0
  324. package/dist/sources/fetchers/index.d.ts.map +1 -0
  325. package/dist/sources/fetchers/index.js +24 -0
  326. package/dist/sources/fetchers/index.js.map +1 -0
  327. package/dist/sources/fetchers/oci.d.ts +6 -0
  328. package/dist/sources/fetchers/oci.d.ts.map +1 -0
  329. package/dist/sources/fetchers/oci.js +156 -0
  330. package/dist/sources/fetchers/oci.js.map +1 -0
  331. package/dist/sources/fetchers/types.d.ts +25 -0
  332. package/dist/sources/fetchers/types.d.ts.map +1 -0
  333. package/dist/sources/fetchers/types.js +2 -0
  334. package/dist/sources/fetchers/types.js.map +1 -0
  335. package/dist/sources/index.d.ts +6 -0
  336. package/dist/sources/index.d.ts.map +1 -0
  337. package/dist/sources/index.js +10 -0
  338. package/dist/sources/index.js.map +1 -0
  339. package/dist/sources/loader.d.ts +34 -0
  340. package/dist/sources/loader.d.ts.map +1 -0
  341. package/dist/sources/loader.js +89 -0
  342. package/dist/sources/loader.js.map +1 -0
  343. package/dist/sources/resolver.d.ts +17 -0
  344. package/dist/sources/resolver.d.ts.map +1 -0
  345. package/dist/sources/resolver.js +125 -0
  346. package/dist/sources/resolver.js.map +1 -0
  347. package/dist/sources/types.d.ts +151 -0
  348. package/dist/sources/types.d.ts.map +1 -0
  349. package/dist/sources/types.js +2 -0
  350. package/dist/sources/types.js.map +1 -0
  351. package/package.json +101 -0
@@ -0,0 +1,377 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ import { parse } from 'yaml';
4
+ import { failure, success } from '../../core/index.js';
5
+ import { find_project_root } from '../../loader/index.js';
6
+ import { DEFAULT_CACHE_DIR, create_cache_manager, get_fetcher_for_source, load_templates_from_sources, } from '../../sources/index.js';
7
+ import { define_command } from '../command.js';
8
+ /**
9
+ * Reads template sources from project config.
10
+ */
11
+ async function get_template_sources(project_root) {
12
+ const config_path = path.join(project_root, 'kustodian.yaml');
13
+ try {
14
+ const content = await fs.readFile(config_path, 'utf-8');
15
+ const config = parse(content);
16
+ return config?.spec?.template_sources ?? [];
17
+ }
18
+ catch {
19
+ return [];
20
+ }
21
+ }
22
+ /**
23
+ * Formats bytes to human-readable size.
24
+ */
25
+ function format_bytes(bytes) {
26
+ if (bytes < 1024)
27
+ return `${bytes} B`;
28
+ if (bytes < 1024 * 1024)
29
+ return `${(bytes / 1024).toFixed(1)} KB`;
30
+ if (bytes < 1024 * 1024 * 1024)
31
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
32
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
33
+ }
34
+ /**
35
+ * Sources command - manage template sources.
36
+ */
37
+ export const sources_command = define_command({
38
+ name: 'sources',
39
+ description: 'Manage template sources',
40
+ subcommands: [
41
+ // sources fetch
42
+ {
43
+ name: 'fetch',
44
+ description: 'Fetch or update template sources',
45
+ options: [
46
+ {
47
+ name: 'force',
48
+ short: 'f',
49
+ description: 'Force refresh all sources (ignore cache)',
50
+ type: 'boolean',
51
+ },
52
+ {
53
+ name: 'source',
54
+ short: 's',
55
+ description: 'Fetch a specific source only',
56
+ type: 'string',
57
+ },
58
+ {
59
+ name: 'project',
60
+ short: 'p',
61
+ description: 'Path to project root',
62
+ type: 'string',
63
+ },
64
+ ],
65
+ handler: async (ctx) => {
66
+ const project_path = ctx.options['project'] || process.cwd();
67
+ const force_refresh = ctx.options['force'];
68
+ const source_filter = ctx.options['source'];
69
+ // Find project root
70
+ const root_result = await find_project_root(project_path);
71
+ if (!root_result.success) {
72
+ console.error(`Error: ${root_result.error.message}`);
73
+ return root_result;
74
+ }
75
+ const project_root = root_result.value;
76
+ // Get template sources from project config
77
+ let sources = await get_template_sources(project_root);
78
+ if (sources.length === 0) {
79
+ console.log('No template sources configured in kustodian.yaml');
80
+ return success(undefined);
81
+ }
82
+ // Filter if specific source requested
83
+ if (source_filter) {
84
+ sources = sources.filter((s) => s.name === source_filter);
85
+ if (sources.length === 0) {
86
+ console.error(`Source '${source_filter}' not found in configuration`);
87
+ return failure({ code: 'NOT_FOUND', message: `Source '${source_filter}' not found` });
88
+ }
89
+ }
90
+ console.log(`Fetching ${sources.length} template source(s)...`);
91
+ if (force_refresh) {
92
+ console.log('(force refresh enabled)\n');
93
+ }
94
+ else {
95
+ console.log('');
96
+ }
97
+ const cache_dir = path.join(project_root, DEFAULT_CACHE_DIR);
98
+ const result = await load_templates_from_sources(sources, {
99
+ cache_dir,
100
+ force_refresh,
101
+ });
102
+ if (!result.success) {
103
+ console.error(`\nError: ${result.error.message}`);
104
+ return result;
105
+ }
106
+ // Report results
107
+ for (const resolved of result.value.resolved) {
108
+ const status = resolved.fetch_result.from_cache ? '(cached)' : '(fetched)';
109
+ console.log(` ✓ ${resolved.source.name} @ ${resolved.fetch_result.version} ${status}`);
110
+ }
111
+ console.log(`\n✓ Loaded ${result.value.templates.length} template(s) from sources`);
112
+ return success(undefined);
113
+ },
114
+ },
115
+ // sources list
116
+ {
117
+ name: 'list',
118
+ description: 'List configured template sources',
119
+ options: [
120
+ {
121
+ name: 'cached',
122
+ short: 'c',
123
+ description: 'Show cached sources only',
124
+ type: 'boolean',
125
+ },
126
+ {
127
+ name: 'project',
128
+ short: 'p',
129
+ description: 'Path to project root',
130
+ type: 'string',
131
+ },
132
+ ],
133
+ handler: async (ctx) => {
134
+ const project_path = ctx.options['project'] || process.cwd();
135
+ const show_cached = ctx.options['cached'];
136
+ // Find project root
137
+ const root_result = await find_project_root(project_path);
138
+ if (!root_result.success) {
139
+ console.error(`Error: ${root_result.error.message}`);
140
+ return root_result;
141
+ }
142
+ const project_root = root_result.value;
143
+ const cache_dir = path.join(project_root, DEFAULT_CACHE_DIR);
144
+ if (show_cached) {
145
+ // Show cached sources
146
+ const cache = create_cache_manager(cache_dir);
147
+ const entries_result = await cache.list();
148
+ if (!entries_result.success) {
149
+ console.error(`Error: ${entries_result.error.message}`);
150
+ return entries_result;
151
+ }
152
+ const entries = entries_result.value;
153
+ if (entries.length === 0) {
154
+ console.log('No cached sources');
155
+ return success(undefined);
156
+ }
157
+ console.log('Cached sources:\n');
158
+ for (const entry of entries) {
159
+ const expired = entry.expires_at && entry.expires_at < new Date() ? ' (expired)' : '';
160
+ const mutable = entry.expires_at ? '(mutable)' : '(immutable)';
161
+ console.log(` ${entry.source_name} @ ${entry.version}`);
162
+ console.log(` Type: ${entry.source_type} ${mutable}${expired}`);
163
+ console.log(` Fetched: ${entry.fetched_at.toISOString()}`);
164
+ console.log('');
165
+ }
166
+ }
167
+ else {
168
+ // Show configured sources
169
+ const sources = await get_template_sources(project_root);
170
+ if (sources.length === 0) {
171
+ console.log('No template sources configured');
172
+ return success(undefined);
173
+ }
174
+ console.log('Configured sources:\n');
175
+ for (const source of sources) {
176
+ const type = source.git ? 'git' : source.http ? 'http' : source.oci ? 'oci' : 'unknown';
177
+ console.log(` ${source.name} (${type})`);
178
+ if (source.git) {
179
+ const ref = source.git.ref.tag ?? source.git.ref.branch ?? source.git.ref.commit;
180
+ console.log(` URL: ${source.git.url}`);
181
+ console.log(` Ref: ${ref}`);
182
+ if (source.git.path)
183
+ console.log(` Path: ${source.git.path}`);
184
+ }
185
+ if (source.http) {
186
+ console.log(` URL: ${source.http.url}`);
187
+ if (source.http.checksum)
188
+ console.log(` Checksum: ${source.http.checksum}`);
189
+ }
190
+ if (source.oci) {
191
+ const ref = source.oci.digest ?? source.oci.tag;
192
+ console.log(` Registry: ${source.oci.registry}/${source.oci.repository}`);
193
+ console.log(` Tag: ${ref}`);
194
+ }
195
+ if (source.ttl)
196
+ console.log(` TTL: ${source.ttl}`);
197
+ console.log('');
198
+ }
199
+ }
200
+ return success(undefined);
201
+ },
202
+ },
203
+ // sources cache
204
+ {
205
+ name: 'cache',
206
+ description: 'Manage template cache',
207
+ subcommands: [
208
+ // sources cache info
209
+ {
210
+ name: 'info',
211
+ description: 'Show cache statistics',
212
+ options: [
213
+ {
214
+ name: 'project',
215
+ short: 'p',
216
+ description: 'Path to project root',
217
+ type: 'string',
218
+ },
219
+ ],
220
+ handler: async (ctx) => {
221
+ const project_path = ctx.options['project'] || process.cwd();
222
+ const root_result = await find_project_root(project_path);
223
+ if (!root_result.success) {
224
+ console.error(`Error: ${root_result.error.message}`);
225
+ return root_result;
226
+ }
227
+ const project_root = root_result.value;
228
+ const cache_dir = path.join(project_root, DEFAULT_CACHE_DIR);
229
+ const cache = create_cache_manager(cache_dir);
230
+ const entries_result = await cache.list();
231
+ const size_result = await cache.size();
232
+ if (!entries_result.success || !size_result.success) {
233
+ console.log('Cache directory not found or empty');
234
+ return success(undefined);
235
+ }
236
+ const entries = entries_result.value;
237
+ const total_size = size_result.value;
238
+ const expired = entries.filter((e) => e.expires_at && e.expires_at < new Date()).length;
239
+ console.log('Cache statistics:\n');
240
+ console.log(` Location: ${cache_dir}`);
241
+ console.log(` Total entries: ${entries.length}`);
242
+ console.log(` Expired entries: ${expired}`);
243
+ console.log(` Total size: ${format_bytes(total_size)}`);
244
+ return success(undefined);
245
+ },
246
+ },
247
+ // sources cache prune
248
+ {
249
+ name: 'prune',
250
+ description: 'Remove expired cache entries',
251
+ options: [
252
+ {
253
+ name: 'project',
254
+ short: 'p',
255
+ description: 'Path to project root',
256
+ type: 'string',
257
+ },
258
+ ],
259
+ handler: async (ctx) => {
260
+ const project_path = ctx.options['project'] || process.cwd();
261
+ const root_result = await find_project_root(project_path);
262
+ if (!root_result.success) {
263
+ console.error(`Error: ${root_result.error.message}`);
264
+ return root_result;
265
+ }
266
+ const project_root = root_result.value;
267
+ const cache_dir = path.join(project_root, DEFAULT_CACHE_DIR);
268
+ const cache = create_cache_manager(cache_dir);
269
+ console.log('Pruning expired cache entries...');
270
+ const result = await cache.prune();
271
+ if (!result.success) {
272
+ console.error(`Error: ${result.error.message}`);
273
+ return result;
274
+ }
275
+ console.log(`✓ Removed ${result.value} expired entries`);
276
+ return success(undefined);
277
+ },
278
+ },
279
+ // sources cache clear
280
+ {
281
+ name: 'clear',
282
+ description: 'Clear all cached templates',
283
+ options: [
284
+ {
285
+ name: 'project',
286
+ short: 'p',
287
+ description: 'Path to project root',
288
+ type: 'string',
289
+ },
290
+ ],
291
+ handler: async (ctx) => {
292
+ const project_path = ctx.options['project'] || process.cwd();
293
+ const root_result = await find_project_root(project_path);
294
+ if (!root_result.success) {
295
+ console.error(`Error: ${root_result.error.message}`);
296
+ return root_result;
297
+ }
298
+ const project_root = root_result.value;
299
+ const cache_dir = path.join(project_root, DEFAULT_CACHE_DIR);
300
+ const cache = create_cache_manager(cache_dir);
301
+ console.log('Clearing template cache...');
302
+ const result = await cache.clear();
303
+ if (!result.success) {
304
+ console.error(`Error: ${result.error.message}`);
305
+ return result;
306
+ }
307
+ console.log('✓ Cache cleared');
308
+ return success(undefined);
309
+ },
310
+ },
311
+ ],
312
+ },
313
+ // sources versions
314
+ {
315
+ name: 'versions',
316
+ description: 'List available versions for a source',
317
+ arguments: [
318
+ {
319
+ name: 'source',
320
+ description: 'Source name',
321
+ required: true,
322
+ },
323
+ ],
324
+ options: [
325
+ {
326
+ name: 'project',
327
+ short: 'p',
328
+ description: 'Path to project root',
329
+ type: 'string',
330
+ },
331
+ ],
332
+ handler: async (ctx) => {
333
+ const project_path = ctx.options['project'] || process.cwd();
334
+ const source_name = ctx.args[0];
335
+ if (!source_name) {
336
+ console.error('Error: Source name is required');
337
+ return failure({ code: 'INVALID_ARGUMENT', message: 'Source name is required' });
338
+ }
339
+ const root_result = await find_project_root(project_path);
340
+ if (!root_result.success) {
341
+ console.error(`Error: ${root_result.error.message}`);
342
+ return root_result;
343
+ }
344
+ const project_root = root_result.value;
345
+ const sources = await get_template_sources(project_root);
346
+ const source = sources.find((s) => s.name === source_name);
347
+ if (!source) {
348
+ console.error(`Source '${source_name}' not found in configuration`);
349
+ return failure({ code: 'NOT_FOUND', message: `Source '${source_name}' not found` });
350
+ }
351
+ const fetcher = get_fetcher_for_source(source);
352
+ console.log(`Fetching versions for '${source_name}'...`);
353
+ const versions_result = await fetcher.list_versions(source);
354
+ if (!versions_result.success) {
355
+ console.error(`Error: ${versions_result.error.message}`);
356
+ return versions_result;
357
+ }
358
+ const versions = versions_result.value;
359
+ if (versions.length === 0) {
360
+ console.log('No versions found (this source type may not support version listing)');
361
+ return success(undefined);
362
+ }
363
+ console.log(`\nAvailable versions (${versions.length}):\n`);
364
+ for (const v of versions.slice(0, 50)) {
365
+ // Limit to 50
366
+ const digest = v.digest ? ` (${v.digest.slice(0, 12)})` : '';
367
+ console.log(` ${v.version}${digest}`);
368
+ }
369
+ if (versions.length > 50) {
370
+ console.log(` ... and ${versions.length - 50} more`);
371
+ }
372
+ return success(undefined);
373
+ },
374
+ },
375
+ ],
376
+ });
377
+ //# sourceMappingURL=sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Update command - checks and updates version substitutions.
3
+ */
4
+ export declare const update_command: import("../command.js").CommandType;
5
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AA6CA;;GAEG;AACH,eAAO,MAAM,cAAc,qCA0VzB,CAAC"}