@illumiarq/lumis 1.2.8 → 1.2.9

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 (296) hide show
  1. package/README.md +38 -0
  2. package/dist/adapter-loader.d.ts +67 -0
  3. package/dist/adapter-loader.d.ts.map +1 -0
  4. package/dist/adapter-loader.js +273 -0
  5. package/dist/adapter-loader.js.map +1 -0
  6. package/dist/cli.d.ts +16 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +173 -402
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/commands.command.d.ts +38 -0
  11. package/dist/commands/commands.command.d.ts.map +1 -0
  12. package/dist/commands/commands.command.js +176 -0
  13. package/dist/commands/commands.command.js.map +1 -0
  14. package/dist/commands/doctor.command.d.ts +9 -0
  15. package/dist/commands/doctor.command.d.ts.map +1 -0
  16. package/dist/commands/doctor.command.js +640 -0
  17. package/dist/commands/doctor.command.js.map +1 -0
  18. package/dist/commands/init.command.d.ts +9 -0
  19. package/dist/commands/init.command.d.ts.map +1 -0
  20. package/dist/commands/init.command.js +121 -0
  21. package/dist/commands/init.command.js.map +1 -0
  22. package/dist/commands/intent.command.d.ts +26 -0
  23. package/dist/commands/intent.command.d.ts.map +1 -0
  24. package/dist/commands/intent.command.js +211 -0
  25. package/dist/commands/intent.command.js.map +1 -0
  26. package/dist/commands/ir-rebuild.command.d.ts +9 -0
  27. package/dist/commands/ir-rebuild.command.d.ts.map +1 -0
  28. package/dist/commands/ir-rebuild.command.js +36 -0
  29. package/dist/commands/ir-rebuild.command.js.map +1 -0
  30. package/dist/commands/ir-show.command.d.ts +9 -0
  31. package/dist/commands/ir-show.command.d.ts.map +1 -0
  32. package/dist/commands/ir-show.command.js +32 -0
  33. package/dist/commands/ir-show.command.js.map +1 -0
  34. package/dist/commands/make.command.d.ts +9 -0
  35. package/dist/commands/make.command.d.ts.map +1 -0
  36. package/dist/commands/make.command.js +93 -0
  37. package/dist/commands/make.command.js.map +1 -0
  38. package/dist/commands/pack.command.d.ts +16 -0
  39. package/dist/commands/pack.command.d.ts.map +1 -0
  40. package/dist/commands/pack.command.js +44 -0
  41. package/dist/commands/pack.command.js.map +1 -0
  42. package/dist/commands/runtime.command.d.ts +6 -0
  43. package/dist/commands/runtime.command.d.ts.map +1 -0
  44. package/dist/commands/runtime.command.js +379 -0
  45. package/dist/commands/runtime.command.js.map +1 -0
  46. package/dist/commands/runtime.d.ts +45 -0
  47. package/dist/commands/runtime.d.ts.map +1 -0
  48. package/dist/commands/runtime.js +66 -0
  49. package/dist/commands/runtime.js.map +1 -0
  50. package/dist/commands/tinker-agent-plan.d.ts +26 -0
  51. package/dist/commands/tinker-agent-plan.d.ts.map +1 -0
  52. package/dist/commands/tinker-agent-plan.js +115 -0
  53. package/dist/commands/tinker-agent-plan.js.map +1 -0
  54. package/dist/commands/tinker-chat-commands.d.ts +19 -0
  55. package/dist/commands/tinker-chat-commands.d.ts.map +1 -0
  56. package/dist/commands/tinker-chat-commands.js +263 -0
  57. package/dist/commands/tinker-chat-commands.js.map +1 -0
  58. package/dist/commands/tinker-chat-runtime.d.ts +30 -0
  59. package/dist/commands/tinker-chat-runtime.d.ts.map +1 -0
  60. package/dist/commands/tinker-chat-runtime.js +227 -0
  61. package/dist/commands/tinker-chat-runtime.js.map +1 -0
  62. package/dist/commands/tinker-classic-mode.d.ts +15 -0
  63. package/dist/commands/tinker-classic-mode.d.ts.map +1 -0
  64. package/dist/commands/tinker-classic-mode.js +160 -0
  65. package/dist/commands/tinker-classic-mode.js.map +1 -0
  66. package/dist/commands/tinker-eval.command.d.ts +3 -0
  67. package/dist/commands/tinker-eval.command.d.ts.map +1 -0
  68. package/dist/commands/tinker-eval.command.js +151 -0
  69. package/dist/commands/tinker-eval.command.js.map +1 -0
  70. package/dist/commands/tinker-repl-display.d.ts +15 -0
  71. package/dist/commands/tinker-repl-display.d.ts.map +1 -0
  72. package/dist/commands/tinker-repl-display.js +147 -0
  73. package/dist/commands/tinker-repl-display.js.map +1 -0
  74. package/dist/commands/tinker-session-runtime.d.ts +27 -0
  75. package/dist/commands/tinker-session-runtime.d.ts.map +1 -0
  76. package/dist/commands/tinker-session-runtime.js +196 -0
  77. package/dist/commands/tinker-session-runtime.js.map +1 -0
  78. package/dist/commands/tinker.command.d.ts +9 -0
  79. package/dist/commands/tinker.command.d.ts.map +1 -0
  80. package/dist/commands/tinker.command.js +142 -0
  81. package/dist/commands/tinker.command.js.map +1 -0
  82. package/dist/commands/use.command.d.ts +10 -0
  83. package/dist/commands/use.command.d.ts.map +1 -0
  84. package/dist/commands/use.command.js +69 -0
  85. package/dist/commands/use.command.js.map +1 -0
  86. package/dist/config-loader.d.ts +68 -0
  87. package/dist/config-loader.d.ts.map +1 -0
  88. package/dist/config-loader.js +81 -0
  89. package/dist/config-loader.js.map +1 -0
  90. package/dist/index.d.ts +19 -15
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +12 -12
  93. package/dist/index.js.map +1 -1
  94. package/dist/launcher.d.ts +16 -0
  95. package/dist/launcher.d.ts.map +1 -0
  96. package/dist/launcher.js +301 -0
  97. package/dist/launcher.js.map +1 -0
  98. package/dist/lib/file-scanner.d.ts +8 -0
  99. package/dist/lib/file-scanner.d.ts.map +1 -0
  100. package/dist/lib/file-scanner.js +70 -0
  101. package/dist/lib/file-scanner.js.map +1 -0
  102. package/dist/lib/tinker-memory.d.ts +19 -0
  103. package/dist/lib/tinker-memory.d.ts.map +1 -0
  104. package/dist/lib/tinker-memory.js +107 -0
  105. package/dist/lib/tinker-memory.js.map +1 -0
  106. package/dist/lib/tinker-observer.d.ts +47 -0
  107. package/dist/lib/tinker-observer.d.ts.map +1 -0
  108. package/dist/lib/tinker-observer.js +77 -0
  109. package/dist/lib/tinker-observer.js.map +1 -0
  110. package/dist/lib/tinker-policy.d.ts +21 -0
  111. package/dist/lib/tinker-policy.d.ts.map +1 -0
  112. package/dist/lib/tinker-policy.js +102 -0
  113. package/dist/lib/tinker-policy.js.map +1 -0
  114. package/dist/lib/tinker-replay.d.ts +51 -0
  115. package/dist/lib/tinker-replay.d.ts.map +1 -0
  116. package/dist/lib/tinker-replay.js +123 -0
  117. package/dist/lib/tinker-replay.js.map +1 -0
  118. package/dist/{console.d.ts → output/ansi.d.ts} +4 -8
  119. package/dist/output/ansi.d.ts.map +1 -0
  120. package/dist/{console.js → output/ansi.js} +4 -12
  121. package/dist/output/ansi.js.map +1 -0
  122. package/dist/output/plan-display.d.ts +4 -0
  123. package/dist/output/plan-display.d.ts.map +1 -0
  124. package/dist/output/plan-display.js +49 -0
  125. package/dist/output/plan-display.js.map +1 -0
  126. package/dist/output/result-display.d.ts +5 -0
  127. package/dist/output/result-display.d.ts.map +1 -0
  128. package/dist/output/result-display.js +17 -0
  129. package/dist/output/result-display.js.map +1 -0
  130. package/dist/plugins/tinker-plugin.d.ts +86 -0
  131. package/dist/plugins/tinker-plugin.d.ts.map +1 -0
  132. package/dist/plugins/tinker-plugin.js +42 -0
  133. package/dist/plugins/tinker-plugin.js.map +1 -0
  134. package/dist/router-preferences.d.ts +5 -0
  135. package/dist/router-preferences.d.ts.map +1 -0
  136. package/dist/router-preferences.js +22 -0
  137. package/dist/router-preferences.js.map +1 -0
  138. package/dist/runtime/executor.d.ts +33 -0
  139. package/dist/runtime/executor.d.ts.map +1 -0
  140. package/dist/runtime/executor.js +180 -0
  141. package/dist/runtime/executor.js.map +1 -0
  142. package/dist/runtime/orchestration.d.ts +43 -0
  143. package/dist/runtime/orchestration.d.ts.map +1 -0
  144. package/dist/runtime/orchestration.js +209 -0
  145. package/dist/runtime/orchestration.js.map +1 -0
  146. package/dist/runtime/policy.d.ts +23 -0
  147. package/dist/runtime/policy.d.ts.map +1 -0
  148. package/dist/runtime/policy.js +43 -0
  149. package/dist/runtime/policy.js.map +1 -0
  150. package/dist/runtime/profiles.d.ts +15 -0
  151. package/dist/runtime/profiles.d.ts.map +1 -0
  152. package/dist/runtime/profiles.js +131 -0
  153. package/dist/runtime/profiles.js.map +1 -0
  154. package/dist/runtime/transcripts.d.ts +59 -0
  155. package/dist/runtime/transcripts.d.ts.map +1 -0
  156. package/dist/runtime/transcripts.js +172 -0
  157. package/dist/runtime/transcripts.js.map +1 -0
  158. package/dist/tools/git-diff.d.ts +3 -0
  159. package/dist/tools/git-diff.d.ts.map +1 -0
  160. package/dist/tools/git-diff.js +16 -0
  161. package/dist/tools/git-diff.js.map +1 -0
  162. package/dist/tools/index.d.ts +24 -0
  163. package/dist/tools/index.d.ts.map +1 -0
  164. package/dist/tools/index.js +88 -0
  165. package/dist/tools/index.js.map +1 -0
  166. package/dist/tools/lint.d.ts +3 -0
  167. package/dist/tools/lint.d.ts.map +1 -0
  168. package/dist/tools/lint.js +35 -0
  169. package/dist/tools/lint.js.map +1 -0
  170. package/dist/tools/read-file.d.ts +3 -0
  171. package/dist/tools/read-file.d.ts.map +1 -0
  172. package/dist/tools/read-file.js +47 -0
  173. package/dist/tools/read-file.js.map +1 -0
  174. package/dist/tools/run-command.d.ts +3 -0
  175. package/dist/tools/run-command.d.ts.map +1 -0
  176. package/dist/tools/run-command.js +71 -0
  177. package/dist/tools/run-command.js.map +1 -0
  178. package/dist/tools/run-tests.d.ts +3 -0
  179. package/dist/tools/run-tests.d.ts.map +1 -0
  180. package/dist/tools/run-tests.js +49 -0
  181. package/dist/tools/run-tests.js.map +1 -0
  182. package/dist/tools/tool-dispatch.d.ts +32 -0
  183. package/dist/tools/tool-dispatch.d.ts.map +1 -0
  184. package/dist/tools/tool-dispatch.js +120 -0
  185. package/dist/tools/tool-dispatch.js.map +1 -0
  186. package/dist/tools/typecheck.d.ts +3 -0
  187. package/dist/tools/typecheck.d.ts.map +1 -0
  188. package/dist/tools/typecheck.js +48 -0
  189. package/dist/tools/typecheck.js.map +1 -0
  190. package/dist/tools/types.d.ts +62 -0
  191. package/dist/tools/types.d.ts.map +1 -0
  192. package/dist/tools/types.js +7 -0
  193. package/dist/tools/types.js.map +1 -0
  194. package/dist/tools/write-file.d.ts +15 -0
  195. package/dist/tools/write-file.d.ts.map +1 -0
  196. package/dist/tools/write-file.js +52 -0
  197. package/dist/tools/write-file.js.map +1 -0
  198. package/dist/tracing/types.d.ts +10 -0
  199. package/dist/tracing/types.d.ts.map +1 -0
  200. package/dist/tracing/types.js +2 -0
  201. package/dist/tracing/types.js.map +1 -0
  202. package/package.json +37 -19
  203. package/dist/bridges/project-bridge.d.ts +0 -2
  204. package/dist/bridges/project-bridge.d.ts.map +0 -1
  205. package/dist/bridges/project-bridge.js +0 -171
  206. package/dist/bridges/project-bridge.js.map +0 -1
  207. package/dist/commands/app/cache-workflows.d.ts +0 -7
  208. package/dist/commands/app/cache-workflows.d.ts.map +0 -1
  209. package/dist/commands/app/cache-workflows.js +0 -139
  210. package/dist/commands/app/cache-workflows.js.map +0 -1
  211. package/dist/commands/app/command-runtime.d.ts +0 -11
  212. package/dist/commands/app/command-runtime.d.ts.map +0 -1
  213. package/dist/commands/app/command-runtime.js +0 -41
  214. package/dist/commands/app/command-runtime.js.map +0 -1
  215. package/dist/commands/app/config-cache.d.ts +0 -3
  216. package/dist/commands/app/config-cache.d.ts.map +0 -1
  217. package/dist/commands/app/config-cache.js +0 -75
  218. package/dist/commands/app/config-cache.js.map +0 -1
  219. package/dist/commands/app/config-publish.d.ts +0 -2
  220. package/dist/commands/app/config-publish.d.ts.map +0 -1
  221. package/dist/commands/app/config-publish.js +0 -68
  222. package/dist/commands/app/config-publish.js.map +0 -1
  223. package/dist/commands/app/config-stubs.d.ts +0 -3
  224. package/dist/commands/app/config-stubs.d.ts.map +0 -1
  225. package/dist/commands/app/config-stubs.js +0 -154
  226. package/dist/commands/app/config-stubs.js.map +0 -1
  227. package/dist/commands/app/database.d.ts +0 -3
  228. package/dist/commands/app/database.d.ts.map +0 -1
  229. package/dist/commands/app/database.js +0 -221
  230. package/dist/commands/app/database.js.map +0 -1
  231. package/dist/commands/app/docs.d.ts +0 -7
  232. package/dist/commands/app/docs.d.ts.map +0 -1
  233. package/dist/commands/app/docs.js +0 -61
  234. package/dist/commands/app/docs.js.map +0 -1
  235. package/dist/commands/app/routes.d.ts +0 -5
  236. package/dist/commands/app/routes.d.ts.map +0 -1
  237. package/dist/commands/app/routes.js +0 -95
  238. package/dist/commands/app/routes.js.map +0 -1
  239. package/dist/commands/app/security.d.ts +0 -3
  240. package/dist/commands/app/security.d.ts.map +0 -1
  241. package/dist/commands/app/security.js +0 -15
  242. package/dist/commands/app/security.js.map +0 -1
  243. package/dist/commands/app/worker-schedule.d.ts +0 -5
  244. package/dist/commands/app/worker-schedule.d.ts.map +0 -1
  245. package/dist/commands/app/worker-schedule.js +0 -94
  246. package/dist/commands/app/worker-schedule.js.map +0 -1
  247. package/dist/commands/app-commands.d.ts +0 -19
  248. package/dist/commands/app-commands.d.ts.map +0 -1
  249. package/dist/commands/app-commands.js +0 -77
  250. package/dist/commands/app-commands.js.map +0 -1
  251. package/dist/commands/build-vercel-fn.d.ts +0 -9
  252. package/dist/commands/build-vercel-fn.d.ts.map +0 -1
  253. package/dist/commands/build-vercel-fn.js +0 -32
  254. package/dist/commands/build-vercel-fn.js.map +0 -1
  255. package/dist/commands/build.d.ts +0 -14
  256. package/dist/commands/build.d.ts.map +0 -1
  257. package/dist/commands/build.js +0 -24
  258. package/dist/commands/build.js.map +0 -1
  259. package/dist/commands/info.d.ts +0 -2
  260. package/dist/commands/info.d.ts.map +0 -1
  261. package/dist/commands/info.js +0 -25
  262. package/dist/commands/info.js.map +0 -1
  263. package/dist/commands/keys.d.ts +0 -3
  264. package/dist/commands/keys.d.ts.map +0 -1
  265. package/dist/commands/keys.js +0 -60
  266. package/dist/commands/keys.js.map +0 -1
  267. package/dist/commands/maintenance.d.ts +0 -9
  268. package/dist/commands/maintenance.d.ts.map +0 -1
  269. package/dist/commands/maintenance.js +0 -38
  270. package/dist/commands/maintenance.js.map +0 -1
  271. package/dist/commands/module-list.d.ts +0 -2
  272. package/dist/commands/module-list.d.ts.map +0 -1
  273. package/dist/commands/module-list.js +0 -27
  274. package/dist/commands/module-list.js.map +0 -1
  275. package/dist/commands/preview.d.ts +0 -14
  276. package/dist/commands/preview.d.ts.map +0 -1
  277. package/dist/commands/preview.js +0 -49
  278. package/dist/commands/preview.js.map +0 -1
  279. package/dist/commands/serve.d.ts +0 -16
  280. package/dist/commands/serve.d.ts.map +0 -1
  281. package/dist/commands/serve.js +0 -61
  282. package/dist/commands/serve.js.map +0 -1
  283. package/dist/console.d.ts.map +0 -1
  284. package/dist/console.js.map +0 -1
  285. package/dist/paths.d.ts +0 -21
  286. package/dist/paths.d.ts.map +0 -1
  287. package/dist/paths.js +0 -47
  288. package/dist/paths.js.map +0 -1
  289. package/dist/server-wrapper.d.ts +0 -12
  290. package/dist/server-wrapper.d.ts.map +0 -1
  291. package/dist/server-wrapper.js +0 -63
  292. package/dist/server-wrapper.js.map +0 -1
  293. package/dist/vercel-wrapper.d.ts +0 -6
  294. package/dist/vercel-wrapper.d.ts.map +0 -1
  295. package/dist/vercel-wrapper.js +0 -50
  296. package/dist/vercel-wrapper.js.map +0 -1
package/package.json CHANGED
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "name": "@illumiarq/lumis",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "license": "MIT",
5
- "description": "LumiARQ dev CLI \u2014 extends @lumiarq/lumis with serve / build / preview commands",
5
+ "description": "Lumis multi-pack AI coding agent CLI",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
6
9
  "type": "module",
7
- "main": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
10
  "bin": {
10
11
  "lumis": "./dist/cli.js"
11
12
  },
13
+ "main": "./dist/index.js",
14
+ "types": "./dist/index.d.ts",
12
15
  "exports": {
13
16
  ".": {
14
17
  "import": "./dist/index.js",
@@ -20,25 +23,40 @@
20
23
  ],
21
24
  "scripts": {
22
25
  "build": "tsc -p tsconfig.build.json",
23
- "typecheck": "tsc --noEmit",
26
+ "typecheck": "tsc -p tsconfig.json --noEmit",
24
27
  "test": "vitest run",
25
- "clean": "rm -rf dist"
28
+ "test:coverage": "vitest run --coverage",
29
+ "lint": "eslint src tests --ext .ts",
30
+ "publish:dry-run": "node scripts/publish.mjs",
31
+ "publish:all": "node scripts/publish.mjs --publish"
26
32
  },
27
33
  "dependencies": {
28
- "@illumiarq/adapters": "^1.0.0",
29
- "@illumiarq/auth-starter": "^1.0.0",
30
- "@illumiarq/search": "^1.0.0",
31
- "@illumiarq/veil": "^1.0.2",
32
- "@lumiarq/lumis": "^1.2.0"
34
+ "@lumiarq/agent": "workspace:*",
35
+ "@lumiarq/context": "workspace:*",
36
+ "@lumiarq/generator": "workspace:*",
37
+ "@lumiarq/pack-django": "workspace:*",
38
+ "@lumiarq/pack-laravel": "workspace:*",
39
+ "@lumiarq/pack-lumiarq": "workspace:*",
40
+ "@lumiarq/pack-nextjs": "workspace:*",
41
+ "@lumiarq/planner": "workspace:*",
42
+ "@lumiarq/rag": "workspace:*",
43
+ "@lumiarq/tinker": "workspace:*",
44
+ "@lumiarq/verifier": "workspace:*"
33
45
  },
34
46
  "devDependencies": {
35
- "@types/node": "^22.0.0",
36
- "esbuild": "^0.25.0",
37
- "tsx": "^4.21.0",
38
- "typescript": "^5.7.2",
39
- "vitest": "^2.1.9"
47
+ "@eslint/js": "^9.23.0",
48
+ "@types/node": "^22.14.1",
49
+ "@typescript-eslint/eslint-plugin": "^8.29.1",
50
+ "@typescript-eslint/parser": "^8.29.1",
51
+ "@vitest/coverage-v8": "^2.1.8",
52
+ "eslint": "^9.23.0",
53
+ "turbo": "^2.3.3",
54
+ "typescript": "^5.8.2",
55
+ "vitest": "^2.1.8"
40
56
  },
41
- "publishConfig": {
42
- "access": "public"
43
- }
57
+ "engines": {
58
+ "node": ">=20.0.0",
59
+ "pnpm": ">=9.0.0"
60
+ },
61
+ "packageManager": "pnpm@10.32.0"
44
62
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=project-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-bridge.d.ts","sourceRoot":"","sources":["../../src/bridges/project-bridge.ts"],"names":[],"mappings":""}
@@ -1,171 +0,0 @@
1
- import { existsSync, readdirSync } from 'node:fs';
2
- import { join, relative, resolve } from 'node:path';
3
- import { pathToFileURL } from 'node:url';
4
- function walk(dir, matcher, bucket = []) {
5
- if (!existsSync(dir)) {
6
- return bucket;
7
- }
8
- for (const entry of readdirSync(dir, { withFileTypes: true })) {
9
- const fullPath = join(dir, entry.name);
10
- if (entry.isDirectory()) {
11
- walk(fullPath, matcher, bucket);
12
- continue;
13
- }
14
- if (matcher(fullPath)) {
15
- bucket.push(fullPath);
16
- }
17
- }
18
- return bucket;
19
- }
20
- function redact(value) {
21
- if (Array.isArray(value)) {
22
- return value.map((item) => redact(item));
23
- }
24
- if (!value || typeof value !== 'object') {
25
- return value;
26
- }
27
- const result = {};
28
- for (const [key, child] of Object.entries(value)) {
29
- if (/(secret|token|password|private|key)$/i.test(key)) {
30
- result[key] = '[redacted]';
31
- continue;
32
- }
33
- result[key] = redact(child);
34
- }
35
- return result;
36
- }
37
- async function listRoutes(projectRoot) {
38
- const { clearRegisteredRoutes, getRegisteredRoutes } = await import('@illumiarq/http');
39
- clearRegisteredRoutes();
40
- const routeFiles = walk(join(projectRoot, 'src', 'modules'), (filePath) => /\/http\/routes\/.+\.(ts|js)$/.test(filePath)).sort();
41
- for (const filePath of routeFiles) {
42
- await import(pathToFileURL(filePath).href);
43
- }
44
- const routes = getRegisteredRoutes().map((route) => ({
45
- method: route.method ?? 'GET',
46
- path: route.path,
47
- name: route.name ?? '',
48
- render: route.render ?? '',
49
- middleware: (route.middleware ?? []).map((item) => typeof item === 'string' ? item : '[inline]'),
50
- }));
51
- process.stdout.write(`${JSON.stringify({ routes, routeFiles: routeFiles.map((item) => relative(projectRoot, item)) }, null, 2)}\n`);
52
- }
53
- async function showConfig(projectRoot, configName) {
54
- const candidates = [
55
- join(projectRoot, 'config', `${configName}.ts`),
56
- join(projectRoot, 'config', `${configName}.js`),
57
- join(projectRoot, 'config', `${configName}.mjs`),
58
- join(projectRoot, 'config', `${configName}.cjs`),
59
- ];
60
- const target = candidates.find((candidate) => existsSync(candidate));
61
- if (!target) {
62
- throw new Error(`Config file not found for ${configName}`);
63
- }
64
- const mod = await import(pathToFileURL(target).href);
65
- const resolved = 'default' in mod ? mod.default : mod;
66
- process.stdout.write(`${JSON.stringify({ config: redact(resolved) }, null, 2)}\n`);
67
- }
68
- async function listScheduledJobs(projectRoot) {
69
- // Load the bootstrap/schedule.ts so all jobs are registered
70
- const scheduleFile = [
71
- join(projectRoot, 'bootstrap', 'schedule.ts'),
72
- join(projectRoot, 'bootstrap', 'schedule.js'),
73
- ].find((f) => existsSync(f));
74
- // Import providers to get the scheduler instance
75
- const providersFile = [
76
- join(projectRoot, 'bootstrap', 'providers.ts'),
77
- join(projectRoot, 'bootstrap', 'providers.js'),
78
- ].find((f) => existsSync(f));
79
- if (!providersFile) {
80
- throw new Error('bootstrap/providers.ts not found');
81
- }
82
- const providers = await import(pathToFileURL(providersFile).href);
83
- if (scheduleFile) {
84
- await import(pathToFileURL(scheduleFile).href);
85
- }
86
- const scheduler = providers.schedule;
87
- if (!scheduler || typeof scheduler.jobs !== 'function') {
88
- process.stdout.write(`${JSON.stringify({ jobs: [] }, null, 2)}\n`);
89
- return;
90
- }
91
- const jobs = scheduler.jobs();
92
- process.stdout.write(`${JSON.stringify({ jobs }, null, 2)}\n`);
93
- }
94
- async function runScheduledJob(projectRoot, jobName) {
95
- const providersFile = [
96
- join(projectRoot, 'bootstrap', 'providers.ts'),
97
- join(projectRoot, 'bootstrap', 'providers.js'),
98
- ].find((f) => existsSync(f));
99
- if (!providersFile) {
100
- throw new Error('bootstrap/providers.ts not found');
101
- }
102
- const providers = await import(pathToFileURL(providersFile).href);
103
- const scheduleFile = [
104
- join(projectRoot, 'bootstrap', 'schedule.ts'),
105
- join(projectRoot, 'bootstrap', 'schedule.js'),
106
- ].find((f) => existsSync(f));
107
- if (scheduleFile) {
108
- await import(pathToFileURL(scheduleFile).href);
109
- }
110
- const scheduler = providers.schedule;
111
- if (!scheduler) {
112
- throw new Error('No scheduler found in bootstrap/providers.ts — export const schedule = ...');
113
- }
114
- // Support both StubScheduler (executes action directly) and CronScheduler (runByName)
115
- if (typeof scheduler.runByName === 'function') {
116
- await scheduler.runByName(jobName);
117
- }
118
- else {
119
- // StubScheduler fallback: find matching job and call action
120
- const jobs = scheduler.jobs();
121
- const match = jobs.find((j) => j.action === jobName);
122
- if (!match) {
123
- throw new Error(`No scheduled job found with name "${jobName}"`);
124
- }
125
- // Re-import providers to get the raw action
126
- const entries = scheduler._jobs;
127
- const entry = entries?.find((e) => e.name === jobName);
128
- if (entry?.action && typeof entry.action === 'function') {
129
- await entry.action();
130
- }
131
- }
132
- process.stdout.write(`${JSON.stringify({ ran: jobName, success: true }, null, 2)}\n`);
133
- }
134
- async function main() {
135
- const [command, ...rest] = process.argv.slice(2);
136
- const projectRoot = resolve(rest[0] ?? process.cwd());
137
- if (command === 'route:list') {
138
- await listRoutes(projectRoot);
139
- return;
140
- }
141
- if (command === 'route:check') {
142
- await listRoutes(projectRoot);
143
- return;
144
- }
145
- if (command === 'config:show') {
146
- const configName = rest[1];
147
- if (!configName) {
148
- throw new Error('Missing config name');
149
- }
150
- await showConfig(projectRoot, configName);
151
- return;
152
- }
153
- if (command === 'schedule:list') {
154
- await listScheduledJobs(projectRoot);
155
- return;
156
- }
157
- if (command === 'schedule:run') {
158
- const jobName = rest[1];
159
- if (!jobName) {
160
- throw new Error('Missing job name. Usage: schedule:run <JobName>');
161
- }
162
- await runScheduledJob(projectRoot, jobName);
163
- return;
164
- }
165
- throw new Error(`Unknown bridge command: ${command}`);
166
- }
167
- void main().catch((error) => {
168
- process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
169
- process.exit(1);
170
- });
171
- //# sourceMappingURL=project-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-bridge.js","sourceRoot":"","sources":["../../src/bridges/project-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export declare function cacheViews(cwd?: string): Promise<number>;
2
- export declare function clearViews(cwd?: string): Promise<number>;
3
- export declare function cacheSearchIndex(cwd?: string): number;
4
- export declare function clearSearchIndex(cwd?: string): number;
5
- export declare function optimizeForProduction(cwd?: string): Promise<number>;
6
- export declare function clearOptimizationCaches(cwd?: string): Promise<number>;
7
- //# sourceMappingURL=cache-workflows.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-workflows.d.ts","sourceRoot":"","sources":["../../../src/commands/app/cache-workflows.ts"],"names":[],"mappings":"AAYA,wBAAsB,UAAU,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAcrE;AAED,wBAAsB,UAAU,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUrE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAgC5D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAY5D;AAED,wBAAsB,qBAAqB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmChF;AAED,wBAAsB,uBAAuB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmClF"}
@@ -1,139 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
2
- import { dirname, join, relative } from 'node:path';
3
- import { buildSearchIndex } from '@illumiarq/search';
4
- import { viewCache, viewClear } from '@illumiarq/veil';
5
- import { ui, writeError, writeLine } from '../../console.js';
6
- import { readStorageRoot } from '../../paths.js';
7
- import { findDocsRoots, parseFrontmatter, walkMarkdownFiles } from './docs.js';
8
- import { cacheConfig, clearConfigCache } from './config-cache.js';
9
- import { cacheRoutes, clearRouteCache } from './routes.js';
10
- export async function cacheViews(cwd = process.cwd()) {
11
- const storageRoot = readStorageRoot(cwd);
12
- const result = await viewCache(cwd, { viewsCacheDir: `${storageRoot}/framework/cache/views` });
13
- writeLine();
14
- writeLine(ui.section('View Cache'));
15
- writeLine(` ${ui.ok(`Compiled ${result.compiled} views`)}`);
16
- for (const filePath of result.paths.slice(0, 5)) {
17
- writeLine(` ${ui.bullet(relative(cwd, filePath))}`);
18
- }
19
- if (result.paths.length > 5) {
20
- writeLine(` ${ui.dim(`...and ${result.paths.length - 5} more`)}`);
21
- }
22
- writeLine();
23
- return 0;
24
- }
25
- export async function clearViews(cwd = process.cwd()) {
26
- const storageRoot = readStorageRoot(cwd);
27
- const result = await viewClear(cwd, { viewsCacheDir: `${storageRoot}/framework/cache/views` });
28
- writeLine();
29
- writeLine(ui.section('View Clear'));
30
- writeLine(` ${ui.ok(result.cleared ? `Cleared ${relative(cwd, result.dir)}` : `Nothing to clear at ${relative(cwd, result.dir)}`)}`);
31
- writeLine();
32
- return 0;
33
- }
34
- export function cacheSearchIndex(cwd = process.cwd()) {
35
- const docsRoots = findDocsRoots(cwd);
36
- const docs = docsRoots.flatMap((root) => walkMarkdownFiles(root)).sort();
37
- const pages = docs
38
- .map((filePath) => {
39
- const raw = readFileSync(filePath, 'utf8');
40
- const parsed = parseFrontmatter(raw);
41
- if (parsed.data['draft'] === true) {
42
- return null;
43
- }
44
- const rel = relative(cwd, filePath).replace(/\\/g, '/');
45
- return {
46
- slug: `/${rel.replace(/\.md$/i, '')}`,
47
- title: String(parsed.data['title'] ?? relative(cwd, filePath)),
48
- section: String(parsed.data['section'] ?? ''),
49
- description: String(parsed.data['description'] ?? ''),
50
- };
51
- })
52
- .filter((entry) => entry !== null);
53
- const index = buildSearchIndex(pages);
54
- const storageRoot = readStorageRoot(cwd);
55
- const outputPath = join(cwd, storageRoot, 'framework', 'cache', 'search.index.json');
56
- mkdirSync(dirname(outputPath), { recursive: true });
57
- writeFileSync(outputPath, `${JSON.stringify(index, null, 2)}\n`, 'utf8');
58
- writeLine();
59
- writeLine(ui.section('Search Index'));
60
- writeLine(` ${ui.ok(`Indexed ${pages.length} documents`)}`);
61
- writeLine(` ${ui.bullet(relative(cwd, outputPath))}`);
62
- writeLine();
63
- return 0;
64
- }
65
- export function clearSearchIndex(cwd = process.cwd()) {
66
- const storageRoot = readStorageRoot(cwd);
67
- const outputPath = join(cwd, storageRoot, 'framework', 'cache', 'search.index.json');
68
- if (existsSync(outputPath)) {
69
- rmSync(outputPath, { force: true });
70
- }
71
- writeLine();
72
- writeLine(ui.section('Search Clear'));
73
- writeLine(` ${ui.ok(`Removed ${relative(cwd, outputPath)}`)}`);
74
- writeLine();
75
- return 0;
76
- }
77
- export async function optimizeForProduction(cwd = process.cwd()) {
78
- writeLine();
79
- writeLine(ui.section('Optimize'));
80
- writeLine(` ${ui.bullet('Caching config...')}`);
81
- const configStatus = cacheConfig(cwd);
82
- if (configStatus !== 0) {
83
- writeError(ui.fail('Failed while caching config.'));
84
- return configStatus;
85
- }
86
- writeLine(` ${ui.bullet('Caching routes...')}`);
87
- const routesStatus = cacheRoutes(cwd);
88
- if (routesStatus !== 0) {
89
- writeError(ui.fail('Failed while caching routes.'));
90
- return routesStatus;
91
- }
92
- writeLine(` ${ui.bullet('Caching views...')}`);
93
- const viewsStatus = await cacheViews(cwd);
94
- if (viewsStatus !== 0) {
95
- writeError(ui.fail('Failed while caching views.'));
96
- return viewsStatus;
97
- }
98
- writeLine(` ${ui.bullet('Building search index...')}`);
99
- const searchStatus = cacheSearchIndex(cwd);
100
- if (searchStatus !== 0) {
101
- writeError(ui.fail('Failed while building search index.'));
102
- return searchStatus;
103
- }
104
- writeLine(` ${ui.ok('Optimization complete.')}`);
105
- writeLine();
106
- return 0;
107
- }
108
- export async function clearOptimizationCaches(cwd = process.cwd()) {
109
- writeLine();
110
- writeLine(ui.section('Optimize Clear'));
111
- writeLine(` ${ui.bullet('Clearing config cache...')}`);
112
- const configStatus = clearConfigCache(cwd);
113
- if (configStatus !== 0) {
114
- writeError(ui.fail('Failed while clearing config cache.'));
115
- return configStatus;
116
- }
117
- writeLine(` ${ui.bullet('Clearing route cache...')}`);
118
- const routesStatus = clearRouteCache(cwd);
119
- if (routesStatus !== 0) {
120
- writeError(ui.fail('Failed while clearing route cache.'));
121
- return routesStatus;
122
- }
123
- writeLine(` ${ui.bullet('Clearing view cache...')}`);
124
- const viewsStatus = await clearViews(cwd);
125
- if (viewsStatus !== 0) {
126
- writeError(ui.fail('Failed while clearing view cache.'));
127
- return viewsStatus;
128
- }
129
- writeLine(` ${ui.bullet('Clearing search index...')}`);
130
- const searchStatus = clearSearchIndex(cwd);
131
- if (searchStatus !== 0) {
132
- writeError(ui.fail('Failed while clearing search index.'));
133
- return searchStatus;
134
- }
135
- writeLine(` ${ui.ok('Optimization caches cleared.')}`);
136
- writeLine();
137
- return 0;
138
- }
139
- //# sourceMappingURL=cache-workflows.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-workflows.js","sourceRoot":"","sources":["../../../src/commands/app/cache-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAClD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,WAAW,wBAAwB,EAAE,CAAC,CAAC;IAC/F,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACpC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAChD,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAClD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,WAAW,wBAAwB,EAAE,CAAC,CAAC;IAC/F,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACpC,SAAS,CACP,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC3H,CAAC;IACF,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAClD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,KAAK,GAAG,IAAI;SACf,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO;YACL,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;YACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC7C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAsC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACrF,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzE,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACtC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAClD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACrF,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACtC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChE,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC7D,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAElC,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC3D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAClD,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC/D,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC3D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QACzD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC3D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;IACxD,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1,11 +0,0 @@
1
- export type PackageJson = {
2
- scripts?: Record<string, string>;
3
- };
4
- export declare function readPackageJson(cwd: string): PackageJson;
5
- export declare function runBridge(args: string[], cwd: string): {
6
- status: number;
7
- stdout: string;
8
- stderr: string;
9
- };
10
- export declare function runPnpm(args: string[], cwd: string, stdio?: 'inherit' | 'pipe'): number;
11
- //# sourceMappingURL=command-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-runtime.d.ts","sourceRoot":"","sources":["../../../src/commands/app/command-runtime.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE/D,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAOxD;AAMD,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAYpD;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,SAAS,GAAG,MAAkB,GACpC,MAAM,CAcR"}
@@ -1,41 +0,0 @@
1
- import { spawnSync } from 'node:child_process';
2
- import { existsSync, readFileSync } from 'node:fs';
3
- import { fileURLToPath } from 'node:url';
4
- export function readPackageJson(cwd) {
5
- const target = `${cwd}/package.json`;
6
- if (!existsSync(target)) {
7
- return {};
8
- }
9
- return JSON.parse(readFileSync(target, 'utf8'));
10
- }
11
- function bridgePath() {
12
- return fileURLToPath(new URL('../../bridges/project-bridge.ts', import.meta.url));
13
- }
14
- export function runBridge(args, cwd) {
15
- const result = spawnSync('pnpm', ['exec', 'tsx', bridgePath(), ...args], {
16
- cwd,
17
- encoding: 'utf8',
18
- env: { ...process.env, FORCE_COLOR: '1' },
19
- });
20
- return {
21
- status: result.status ?? 1,
22
- stdout: result.stdout ?? '',
23
- stderr: result.stderr ?? '',
24
- };
25
- }
26
- export function runPnpm(args, cwd, stdio = 'inherit') {
27
- const result = spawnSync('pnpm', args, {
28
- cwd,
29
- stdio,
30
- encoding: stdio === 'pipe' ? 'utf8' : undefined,
31
- env: { ...process.env, FORCE_COLOR: '1' },
32
- });
33
- if (stdio === 'pipe') {
34
- if (result.stdout)
35
- process.stdout.write(result.stdout);
36
- if (result.stderr)
37
- process.stderr.write(result.stderr);
38
- }
39
- return result.status ?? 1;
40
- }
41
- //# sourceMappingURL=command-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-runtime.js","sourceRoot":"","sources":["../../../src/commands/app/command-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,GAAG,GAAG,eAAe,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAgB,CAAC;AACjE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAc,EACd,GAAW;IAEX,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE;QACvE,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;KAC1C,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,IAAc,EACd,GAAW,EACX,QAA4B,SAAS;IAErC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;QACrC,GAAG;QACH,KAAK;QACL,QAAQ,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC/C,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;KAC1C,CAAC,CAAC;IAEH,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;AAC5B,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function cacheConfig(cwd?: string): number;
2
- export declare function clearConfigCache(cwd?: string): number;
3
- //# sourceMappingURL=config-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-cache.d.ts","sourceRoot":"","sources":["../../../src/commands/app/config-cache.ts"],"names":[],"mappings":"AA2BA,wBAAgB,WAAW,CAAC,GAAG,SAAgB,GAAG,MAAM,CAkDvD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAW5D"}
@@ -1,75 +0,0 @@
1
- import { existsSync, mkdirSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
2
- import { dirname, join, relative } from 'node:path';
3
- import { ui, writeError, writeLine } from '../../console.js';
4
- import { runBridge } from './command-runtime.js';
5
- function configCachePath(cwd) {
6
- return join(cwd, 'bootstrap', 'cache', 'config.cache.json');
7
- }
8
- function listConfigNames(cwd) {
9
- const configDir = join(cwd, 'config');
10
- if (!existsSync(configDir)) {
11
- return [];
12
- }
13
- return readdirSync(configDir, { withFileTypes: true })
14
- .filter((entry) => entry.isFile() && /\.(ts|js)$/i.test(entry.name))
15
- .map((entry) => entry.name.replace(/\.(ts|js)$/i, ''))
16
- .sort((a, b) => a.localeCompare(b));
17
- }
18
- export function cacheConfig(cwd = process.cwd()) {
19
- const names = listConfigNames(cwd);
20
- if (names.length === 0) {
21
- writeError(ui.fail('No config files found in config/.'));
22
- return 1;
23
- }
24
- const cached = {};
25
- const failures = [];
26
- for (const name of names) {
27
- const result = runBridge(['config:show', cwd, name], cwd);
28
- if (result.status !== 0) {
29
- failures.push(`${name}: ${result.stderr.trim() || 'failed to resolve config'}`);
30
- continue;
31
- }
32
- try {
33
- const parsed = JSON.parse(result.stdout);
34
- cached[name] = parsed.config;
35
- }
36
- catch {
37
- failures.push(`${name}: invalid JSON returned from config resolver`);
38
- }
39
- }
40
- if (failures.length > 0) {
41
- writeLine();
42
- writeLine(ui.section('Config Cache'));
43
- writeError(ui.fail('Unable to cache config due to resolution errors:'));
44
- for (const failure of failures) {
45
- writeError(` - ${failure}`);
46
- }
47
- writeLine();
48
- return 1;
49
- }
50
- const payload = {
51
- generatedAt: new Date().toISOString(),
52
- configs: cached,
53
- };
54
- const outputPath = configCachePath(cwd);
55
- mkdirSync(dirname(outputPath), { recursive: true });
56
- writeFileSync(outputPath, `${JSON.stringify(payload, null, 2)}\n`, 'utf8');
57
- writeLine();
58
- writeLine(ui.section('Config Cache'));
59
- writeLine(` ${ui.ok(`Cached ${Object.keys(cached).length} config files`)}`);
60
- writeLine(` ${ui.bullet(relative(cwd, outputPath))}`);
61
- writeLine();
62
- return 0;
63
- }
64
- export function clearConfigCache(cwd = process.cwd()) {
65
- const outputPath = configCachePath(cwd);
66
- if (existsSync(outputPath)) {
67
- rmSync(outputPath, { force: true });
68
- }
69
- writeLine();
70
- writeLine(ui.section('Config Clear'));
71
- writeLine(` ${ui.ok(`Removed ${relative(cwd, outputPath)}`)}`);
72
- writeLine();
73
- return 0;
74
- }
75
- //# sourceMappingURL=config-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-cache.js","sourceRoot":"","sources":["../../../src/commands/app/config-cache.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function publishConfig(configName: string, force?: boolean, cwd?: string): number;
2
- //# sourceMappingURL=config-publish.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-publish.d.ts","sourceRoot":"","sources":["../../../src/commands/app/config-publish.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,UAAQ,EAAE,GAAG,SAAgB,GAAG,MAAM,CAuD5F"}