@fougere/cli 0.12.5-alpha.0 → 0.12.6-alpha.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 (335) hide show
  1. package/dist/.fougere/scan.generated.d.ts +3 -0
  2. package/dist/.fougere/scan.generated.d.ts.map +1 -0
  3. package/dist/.fougere/scan.generated.js +140 -0
  4. package/dist/.fougere/scan.generated.js.map +1 -0
  5. package/dist/app/commands/BuildCommand.d.ts +18 -0
  6. package/dist/app/commands/BuildCommand.d.ts.map +1 -0
  7. package/dist/app/commands/BuildCommand.js +35 -0
  8. package/dist/app/commands/BuildCommand.js.map +1 -0
  9. package/dist/app/commands/CallCommand.d.ts +16 -0
  10. package/dist/app/commands/CallCommand.d.ts.map +1 -0
  11. package/dist/app/commands/CallCommand.js +73 -0
  12. package/dist/app/commands/CallCommand.js.map +1 -0
  13. package/dist/app/commands/CheckCommand.d.ts +11 -0
  14. package/dist/app/commands/CheckCommand.d.ts.map +1 -0
  15. package/dist/app/commands/CheckCommand.js +59 -0
  16. package/dist/app/commands/CheckCommand.js.map +1 -0
  17. package/dist/app/commands/CompletionCommand.d.ts +7 -0
  18. package/dist/app/commands/CompletionCommand.d.ts.map +1 -0
  19. package/dist/app/commands/CompletionCommand.js +23 -0
  20. package/dist/app/commands/CompletionCommand.js.map +1 -0
  21. package/dist/app/commands/DevtoolsCommand.d.ts +20 -0
  22. package/dist/app/commands/DevtoolsCommand.d.ts.map +1 -0
  23. package/dist/app/commands/DevtoolsCommand.js +79 -0
  24. package/dist/app/commands/DevtoolsCommand.js.map +1 -0
  25. package/dist/app/commands/ExplainCommand.d.ts +18 -0
  26. package/dist/app/commands/ExplainCommand.d.ts.map +1 -0
  27. package/dist/app/commands/ExplainCommand.js +111 -0
  28. package/dist/app/commands/ExplainCommand.js.map +1 -0
  29. package/dist/app/commands/FreezeCommand.d.ts +21 -0
  30. package/dist/app/commands/FreezeCommand.d.ts.map +1 -0
  31. package/dist/app/commands/FreezeCommand.js +102 -0
  32. package/dist/app/commands/FreezeCommand.js.map +1 -0
  33. package/dist/app/commands/GrantCommand.d.ts +18 -0
  34. package/dist/app/commands/GrantCommand.d.ts.map +1 -0
  35. package/dist/app/commands/GrantCommand.js +39 -0
  36. package/dist/app/commands/GrantCommand.js.map +1 -0
  37. package/dist/app/commands/GraphCommand.d.ts +11 -0
  38. package/dist/app/commands/GraphCommand.d.ts.map +1 -0
  39. package/dist/app/commands/GraphCommand.js +72 -0
  40. package/dist/app/commands/GraphCommand.js.map +1 -0
  41. package/dist/app/commands/KeysCommand.d.ts +22 -0
  42. package/dist/app/commands/KeysCommand.d.ts.map +1 -0
  43. package/dist/app/commands/KeysCommand.js +50 -0
  44. package/dist/app/commands/KeysCommand.js.map +1 -0
  45. package/dist/app/commands/LoadCommand.d.ts +19 -0
  46. package/dist/app/commands/LoadCommand.d.ts.map +1 -0
  47. package/dist/app/commands/LoadCommand.js +37 -0
  48. package/dist/app/commands/LoadCommand.js.map +1 -0
  49. package/dist/app/commands/MigrateCommand.d.ts +17 -0
  50. package/dist/app/commands/MigrateCommand.d.ts.map +1 -0
  51. package/dist/app/commands/MigrateCommand.js +47 -0
  52. package/dist/app/commands/MigrateCommand.js.map +1 -0
  53. package/dist/app/commands/NewCommand.d.ts +24 -0
  54. package/dist/app/commands/NewCommand.d.ts.map +1 -0
  55. package/dist/app/commands/NewCommand.js +131 -0
  56. package/dist/app/commands/NewCommand.js.map +1 -0
  57. package/dist/app/commands/ServeCommand.d.ts +17 -0
  58. package/dist/app/commands/ServeCommand.d.ts.map +1 -0
  59. package/dist/app/commands/ServeCommand.js +93 -0
  60. package/dist/app/commands/ServeCommand.js.map +1 -0
  61. package/dist/app/commands/grant-material.d.ts +5 -0
  62. package/dist/app/commands/grant-material.d.ts.map +1 -0
  63. package/{app/commands/grant-material.ts → dist/app/commands/grant-material.js} +2 -2
  64. package/dist/app/commands/grant-material.js.map +1 -0
  65. package/dist/fronds/analysis/entities/Build.d.ts +10 -0
  66. package/dist/fronds/analysis/entities/Build.d.ts.map +1 -0
  67. package/dist/fronds/analysis/entities/Build.js +9 -0
  68. package/dist/fronds/analysis/entities/Build.js.map +1 -0
  69. package/dist/fronds/analysis/entities/Check.d.ts +8 -0
  70. package/dist/fronds/analysis/entities/Check.d.ts.map +1 -0
  71. package/dist/fronds/analysis/entities/Check.js +7 -0
  72. package/dist/fronds/analysis/entities/Check.js.map +1 -0
  73. package/dist/fronds/analysis/entities/Devtools.d.ts +10 -0
  74. package/dist/fronds/analysis/entities/Devtools.d.ts.map +1 -0
  75. package/dist/fronds/analysis/entities/Devtools.js +9 -0
  76. package/dist/fronds/analysis/entities/Devtools.js.map +1 -0
  77. package/dist/fronds/analysis/entities/Explain.d.ts +11 -0
  78. package/dist/fronds/analysis/entities/Explain.d.ts.map +1 -0
  79. package/dist/fronds/analysis/entities/Explain.js +10 -0
  80. package/dist/fronds/analysis/entities/Explain.js.map +1 -0
  81. package/dist/fronds/analysis/entities/Freeze.d.ts +10 -0
  82. package/dist/fronds/analysis/entities/Freeze.d.ts.map +1 -0
  83. package/dist/fronds/analysis/entities/Freeze.js +9 -0
  84. package/dist/fronds/analysis/entities/Freeze.js.map +1 -0
  85. package/dist/fronds/analysis/entities/Graph.d.ts +9 -0
  86. package/dist/fronds/analysis/entities/Graph.d.ts.map +1 -0
  87. package/dist/fronds/analysis/entities/Graph.js +8 -0
  88. package/dist/fronds/analysis/entities/Graph.js.map +1 -0
  89. package/dist/fronds/analysis/entities/Load.d.ts +10 -0
  90. package/dist/fronds/analysis/entities/Load.d.ts.map +1 -0
  91. package/dist/fronds/analysis/entities/Load.js +9 -0
  92. package/dist/fronds/analysis/entities/Load.js.map +1 -0
  93. package/dist/fronds/analysis/entities/Migrate.d.ts +10 -0
  94. package/dist/fronds/analysis/entities/Migrate.d.ts.map +1 -0
  95. package/dist/fronds/analysis/entities/Migrate.js +9 -0
  96. package/dist/fronds/analysis/entities/Migrate.js.map +1 -0
  97. package/dist/fronds/analysis/handlers/BuildHandler.d.ts +50 -0
  98. package/dist/fronds/analysis/handlers/BuildHandler.d.ts.map +1 -0
  99. package/dist/fronds/analysis/handlers/BuildHandler.js +63 -0
  100. package/dist/fronds/analysis/handlers/BuildHandler.js.map +1 -0
  101. package/dist/fronds/analysis/handlers/CheckHandler.d.ts +30 -0
  102. package/dist/fronds/analysis/handlers/CheckHandler.d.ts.map +1 -0
  103. package/dist/fronds/analysis/handlers/CheckHandler.js +196 -0
  104. package/dist/fronds/analysis/handlers/CheckHandler.js.map +1 -0
  105. package/dist/fronds/analysis/handlers/DevtoolsHandler.d.ts +45 -0
  106. package/dist/fronds/analysis/handlers/DevtoolsHandler.d.ts.map +1 -0
  107. package/dist/fronds/analysis/handlers/DevtoolsHandler.js +61 -0
  108. package/dist/fronds/analysis/handlers/DevtoolsHandler.js.map +1 -0
  109. package/dist/fronds/analysis/handlers/ExplainHandler.d.ts +99 -0
  110. package/dist/fronds/analysis/handlers/ExplainHandler.d.ts.map +1 -0
  111. package/dist/fronds/analysis/handlers/ExplainHandler.js +157 -0
  112. package/dist/fronds/analysis/handlers/ExplainHandler.js.map +1 -0
  113. package/dist/fronds/analysis/handlers/FreezeHandler.d.ts +55 -0
  114. package/dist/fronds/analysis/handlers/FreezeHandler.d.ts.map +1 -0
  115. package/dist/fronds/analysis/handlers/FreezeHandler.js +145 -0
  116. package/dist/fronds/analysis/handlers/FreezeHandler.js.map +1 -0
  117. package/dist/fronds/analysis/handlers/GraphHandler.d.ts +23 -0
  118. package/dist/fronds/analysis/handlers/GraphHandler.d.ts.map +1 -0
  119. package/dist/fronds/analysis/handlers/GraphHandler.js +23 -0
  120. package/dist/fronds/analysis/handlers/GraphHandler.js.map +1 -0
  121. package/dist/fronds/analysis/handlers/LoadHandler.d.ts +26 -0
  122. package/dist/fronds/analysis/handlers/LoadHandler.d.ts.map +1 -0
  123. package/dist/fronds/analysis/handlers/LoadHandler.js +35 -0
  124. package/dist/fronds/analysis/handlers/LoadHandler.js.map +1 -0
  125. package/dist/fronds/analysis/handlers/MigrateHandler.d.ts +34 -0
  126. package/dist/fronds/analysis/handlers/MigrateHandler.d.ts.map +1 -0
  127. package/dist/fronds/analysis/handlers/MigrateHandler.js +92 -0
  128. package/dist/fronds/analysis/handlers/MigrateHandler.js.map +1 -0
  129. package/dist/fronds/analysis/services/ProjectScan.d.ts +22 -0
  130. package/dist/fronds/analysis/services/ProjectScan.d.ts.map +1 -0
  131. package/dist/fronds/analysis/services/ProjectScan.js +48 -0
  132. package/dist/fronds/analysis/services/ProjectScan.js.map +1 -0
  133. package/dist/fronds/analysis/versions.d.ts +21 -0
  134. package/dist/fronds/analysis/versions.d.ts.map +1 -0
  135. package/dist/fronds/analysis/versions.js +48 -0
  136. package/dist/fronds/analysis/versions.js.map +1 -0
  137. package/dist/fronds/scaffold/entities/BuildFrond.d.ts +7 -0
  138. package/dist/fronds/scaffold/entities/BuildFrond.d.ts.map +1 -0
  139. package/dist/fronds/scaffold/entities/BuildFrond.js +6 -0
  140. package/dist/fronds/scaffold/entities/BuildFrond.js.map +1 -0
  141. package/dist/fronds/scaffold/entities/Call.d.ts +8 -0
  142. package/dist/fronds/scaffold/entities/Call.d.ts.map +1 -0
  143. package/{fronds/scaffold/entities/Call.ts → dist/fronds/scaffold/entities/Call.js} +4 -3
  144. package/dist/fronds/scaffold/entities/Call.js.map +1 -0
  145. package/dist/fronds/scaffold/entities/Completion.d.ts +7 -0
  146. package/dist/fronds/scaffold/entities/Completion.d.ts.map +1 -0
  147. package/dist/fronds/scaffold/entities/Completion.js +6 -0
  148. package/dist/fronds/scaffold/entities/Completion.js.map +1 -0
  149. package/dist/fronds/scaffold/entities/Grant.d.ts +8 -0
  150. package/dist/fronds/scaffold/entities/Grant.d.ts.map +1 -0
  151. package/{fronds/scaffold/entities/Grant.ts → dist/fronds/scaffold/entities/Grant.js} +4 -3
  152. package/dist/fronds/scaffold/entities/Grant.js.map +1 -0
  153. package/dist/fronds/scaffold/entities/Keys.d.ts +6 -0
  154. package/dist/fronds/scaffold/entities/Keys.d.ts.map +1 -0
  155. package/{fronds/scaffold/entities/Keys.ts → dist/fronds/scaffold/entities/Keys.js} +3 -2
  156. package/dist/fronds/scaffold/entities/Keys.js.map +1 -0
  157. package/dist/fronds/scaffold/entities/New.d.ts +21 -0
  158. package/dist/fronds/scaffold/entities/New.d.ts.map +1 -0
  159. package/dist/fronds/scaffold/entities/New.js +20 -0
  160. package/dist/fronds/scaffold/entities/New.js.map +1 -0
  161. package/dist/fronds/scaffold/entities/Serve.d.ts +10 -0
  162. package/dist/fronds/scaffold/entities/Serve.d.ts.map +1 -0
  163. package/dist/fronds/scaffold/entities/Serve.js +9 -0
  164. package/dist/fronds/scaffold/entities/Serve.js.map +1 -0
  165. package/dist/fronds/scaffold/entities/Sync.d.ts +8 -0
  166. package/dist/fronds/scaffold/entities/Sync.d.ts.map +1 -0
  167. package/dist/fronds/scaffold/entities/Sync.js +7 -0
  168. package/dist/fronds/scaffold/entities/Sync.js.map +1 -0
  169. package/dist/fronds/scaffold/handlers/BuildFrondHandler.d.ts +11 -0
  170. package/dist/fronds/scaffold/handlers/BuildFrondHandler.d.ts.map +1 -0
  171. package/dist/fronds/scaffold/handlers/BuildFrondHandler.js +82 -0
  172. package/dist/fronds/scaffold/handlers/BuildFrondHandler.js.map +1 -0
  173. package/dist/fronds/scaffold/handlers/CallHandler.d.ts +10 -0
  174. package/dist/fronds/scaffold/handlers/CallHandler.d.ts.map +1 -0
  175. package/{fronds/scaffold/handlers/CallHandler.ts → dist/fronds/scaffold/handlers/CallHandler.js} +3 -2
  176. package/dist/fronds/scaffold/handlers/CallHandler.js.map +1 -0
  177. package/dist/fronds/scaffold/handlers/CompletionHandler.d.ts +9 -0
  178. package/dist/fronds/scaffold/handlers/CompletionHandler.d.ts.map +1 -0
  179. package/{fronds/scaffold/handlers/CompletionHandler.ts → dist/fronds/scaffold/handlers/CompletionHandler.js} +3 -2
  180. package/dist/fronds/scaffold/handlers/CompletionHandler.js.map +1 -0
  181. package/dist/fronds/scaffold/handlers/GrantHandler.d.ts +9 -0
  182. package/dist/fronds/scaffold/handlers/GrantHandler.d.ts.map +1 -0
  183. package/{fronds/scaffold/handlers/GrantHandler.ts → dist/fronds/scaffold/handlers/GrantHandler.js} +3 -2
  184. package/dist/fronds/scaffold/handlers/GrantHandler.js.map +1 -0
  185. package/dist/fronds/scaffold/handlers/KeysHandler.d.ts +9 -0
  186. package/dist/fronds/scaffold/handlers/KeysHandler.d.ts.map +1 -0
  187. package/{fronds/scaffold/handlers/KeysHandler.ts → dist/fronds/scaffold/handlers/KeysHandler.js} +3 -2
  188. package/dist/fronds/scaffold/handlers/KeysHandler.js.map +1 -0
  189. package/dist/fronds/scaffold/handlers/NewHandler.d.ts +9 -0
  190. package/dist/fronds/scaffold/handlers/NewHandler.d.ts.map +1 -0
  191. package/{fronds/scaffold/handlers/NewHandler.ts → dist/fronds/scaffold/handlers/NewHandler.js} +3 -2
  192. package/dist/fronds/scaffold/handlers/NewHandler.js.map +1 -0
  193. package/dist/fronds/scaffold/handlers/ServeHandler.d.ts +10 -0
  194. package/dist/fronds/scaffold/handlers/ServeHandler.d.ts.map +1 -0
  195. package/{fronds/scaffold/handlers/ServeHandler.ts → dist/fronds/scaffold/handlers/ServeHandler.js} +3 -2
  196. package/dist/fronds/scaffold/handlers/ServeHandler.js.map +1 -0
  197. package/dist/fronds/scaffold/handlers/SyncHandler.d.ts +20 -0
  198. package/dist/fronds/scaffold/handlers/SyncHandler.d.ts.map +1 -0
  199. package/dist/fronds/scaffold/handlers/SyncHandler.js +349 -0
  200. package/dist/fronds/scaffold/handlers/SyncHandler.js.map +1 -0
  201. package/dist/fronds/scaffold/services/ProjectWriter.d.ts +71 -0
  202. package/dist/fronds/scaffold/services/ProjectWriter.d.ts.map +1 -0
  203. package/dist/fronds/scaffold/services/ProjectWriter.js +341 -0
  204. package/dist/fronds/scaffold/services/ProjectWriter.js.map +1 -0
  205. package/dist/src/bin.d.ts.map +1 -0
  206. package/dist/src/bin.js +11 -0
  207. package/dist/src/bin.js.map +1 -0
  208. package/dist/src/bridge.d.ts.map +1 -0
  209. package/dist/src/bridge.js.map +1 -0
  210. package/dist/src/completion.d.ts.map +1 -0
  211. package/dist/src/completion.js.map +1 -0
  212. package/dist/src/index.d.ts.map +1 -0
  213. package/dist/src/index.js.map +1 -0
  214. package/dist/src/loader.d.ts.map +1 -0
  215. package/dist/src/loader.js.map +1 -0
  216. package/dist/src/machine.d.ts.map +1 -0
  217. package/dist/src/machine.js.map +1 -0
  218. package/dist/src/main.d.ts +2 -0
  219. package/dist/src/main.d.ts.map +1 -0
  220. package/dist/src/main.js +19 -0
  221. package/dist/src/main.js.map +1 -0
  222. package/dist/src/runner.d.ts.map +1 -0
  223. package/dist/{runner.js → src/runner.js} +22 -22
  224. package/dist/src/runner.js.map +1 -0
  225. package/dist/src/theme.d.ts.map +1 -0
  226. package/dist/src/theme.js.map +1 -0
  227. package/dist/src/typescript/EntityTypes.d.ts.map +1 -0
  228. package/dist/src/typescript/EntityTypes.js.map +1 -0
  229. package/dist/src/typescript/FacadeTypes.d.ts.map +1 -0
  230. package/dist/src/typescript/FacadeTypes.js.map +1 -0
  231. package/dist/src/typescript/syntax.d.ts.map +1 -0
  232. package/dist/src/typescript/syntax.js.map +1 -0
  233. package/dist/{ui.d.ts → src/ui.d.ts} +0 -1
  234. package/dist/src/ui.d.ts.map +1 -0
  235. package/dist/{ui.js → src/ui.js} +24 -22
  236. package/dist/src/ui.js.map +1 -0
  237. package/package.json +23 -27
  238. package/app/commands/BuildCommand.ts +0 -43
  239. package/app/commands/CallCommand.ts +0 -70
  240. package/app/commands/CheckCommand.ts +0 -70
  241. package/app/commands/CompletionCommand.ts +0 -24
  242. package/app/commands/DevtoolsCommand.ts +0 -92
  243. package/app/commands/ExplainCommand.ts +0 -136
  244. package/app/commands/FreezeCommand.ts +0 -119
  245. package/app/commands/GrantCommand.ts +0 -46
  246. package/app/commands/GraphCommand.ts +0 -91
  247. package/app/commands/KeysCommand.ts +0 -57
  248. package/app/commands/LoadCommand.ts +0 -46
  249. package/app/commands/MigrateCommand.ts +0 -61
  250. package/app/commands/NewCommand.ts +0 -137
  251. package/app/commands/ServeCommand.ts +0 -108
  252. package/dist/bin.d.ts.map +0 -1
  253. package/dist/bin.js +0 -64
  254. package/dist/bin.js.map +0 -1
  255. package/dist/bridge.d.ts.map +0 -1
  256. package/dist/bridge.js.map +0 -1
  257. package/dist/completion.d.ts.map +0 -1
  258. package/dist/completion.js.map +0 -1
  259. package/dist/index.d.ts.map +0 -1
  260. package/dist/index.js.map +0 -1
  261. package/dist/loader.d.ts.map +0 -1
  262. package/dist/loader.js.map +0 -1
  263. package/dist/machine.d.ts.map +0 -1
  264. package/dist/machine.js.map +0 -1
  265. package/dist/runner.d.ts.map +0 -1
  266. package/dist/runner.js.map +0 -1
  267. package/dist/theme.d.ts.map +0 -1
  268. package/dist/theme.js.map +0 -1
  269. package/dist/typescript/EntityTypes.d.ts.map +0 -1
  270. package/dist/typescript/EntityTypes.js.map +0 -1
  271. package/dist/typescript/FacadeTypes.d.ts.map +0 -1
  272. package/dist/typescript/FacadeTypes.js.map +0 -1
  273. package/dist/typescript/syntax.d.ts.map +0 -1
  274. package/dist/typescript/syntax.js.map +0 -1
  275. package/dist/ui.d.ts.map +0 -1
  276. package/dist/ui.js.map +0 -1
  277. package/fronds/analysis/entities/Build.ts +0 -8
  278. package/fronds/analysis/entities/Check.ts +0 -6
  279. package/fronds/analysis/entities/Devtools.ts +0 -8
  280. package/fronds/analysis/entities/Explain.ts +0 -9
  281. package/fronds/analysis/entities/Freeze.ts +0 -8
  282. package/fronds/analysis/entities/Graph.ts +0 -7
  283. package/fronds/analysis/entities/Load.ts +0 -8
  284. package/fronds/analysis/entities/Migrate.ts +0 -8
  285. package/fronds/analysis/handlers/BuildHandler.ts +0 -87
  286. package/fronds/analysis/handlers/CheckHandler.ts +0 -217
  287. package/fronds/analysis/handlers/DevtoolsHandler.ts +0 -97
  288. package/fronds/analysis/handlers/ExplainHandler.ts +0 -263
  289. package/fronds/analysis/handlers/FreezeHandler.ts +0 -183
  290. package/fronds/analysis/handlers/GraphHandler.ts +0 -38
  291. package/fronds/analysis/handlers/LoadHandler.ts +0 -44
  292. package/fronds/analysis/handlers/MigrateHandler.ts +0 -110
  293. package/fronds/analysis/services/ProjectScan.ts +0 -55
  294. package/fronds/analysis/versions.ts +0 -59
  295. package/fronds/scaffold/entities/BuildFrond.ts +0 -5
  296. package/fronds/scaffold/entities/Completion.ts +0 -5
  297. package/fronds/scaffold/entities/New.ts +0 -19
  298. package/fronds/scaffold/entities/Serve.ts +0 -8
  299. package/fronds/scaffold/entities/Sync.ts +0 -6
  300. package/fronds/scaffold/handlers/BuildFrondHandler.ts +0 -96
  301. package/fronds/scaffold/handlers/SyncHandler.ts +0 -376
  302. package/fronds/scaffold/services/ProjectWriter.ts +0 -339
  303. package/fronds/shims.d.ts +0 -9
  304. package/src/bin.ts +0 -77
  305. package/src/bridge.ts +0 -118
  306. package/src/completion.ts +0 -145
  307. package/src/index.ts +0 -1
  308. package/src/loader.ts +0 -28
  309. package/src/machine.ts +0 -17
  310. package/src/runner.ts +0 -152
  311. package/src/theme.ts +0 -19
  312. package/src/typescript/EntityTypes.ts +0 -92
  313. package/src/typescript/FacadeTypes.ts +0 -50
  314. package/src/typescript/syntax.ts +0 -11
  315. package/src/ui.ts +0 -142
  316. /package/dist/{bin.d.ts → src/bin.d.ts} +0 -0
  317. /package/dist/{bridge.d.ts → src/bridge.d.ts} +0 -0
  318. /package/dist/{bridge.js → src/bridge.js} +0 -0
  319. /package/dist/{completion.d.ts → src/completion.d.ts} +0 -0
  320. /package/dist/{completion.js → src/completion.js} +0 -0
  321. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  322. /package/dist/{index.js → src/index.js} +0 -0
  323. /package/dist/{loader.d.ts → src/loader.d.ts} +0 -0
  324. /package/dist/{loader.js → src/loader.js} +0 -0
  325. /package/dist/{machine.d.ts → src/machine.d.ts} +0 -0
  326. /package/dist/{machine.js → src/machine.js} +0 -0
  327. /package/dist/{runner.d.ts → src/runner.d.ts} +0 -0
  328. /package/dist/{theme.d.ts → src/theme.d.ts} +0 -0
  329. /package/dist/{theme.js → src/theme.js} +0 -0
  330. /package/dist/{typescript → src/typescript}/EntityTypes.d.ts +0 -0
  331. /package/dist/{typescript → src/typescript}/EntityTypes.js +0 -0
  332. /package/dist/{typescript → src/typescript}/FacadeTypes.d.ts +0 -0
  333. /package/dist/{typescript → src/typescript}/FacadeTypes.js +0 -0
  334. /package/dist/{typescript → src/typescript}/syntax.d.ts +0 -0
  335. /package/dist/{typescript → src/typescript}/syntax.js +0 -0
@@ -0,0 +1,3 @@
1
+ import type { ScanResult } from '@fougere/core';
2
+ export declare const scan: ScanResult;
3
+ //# sourceMappingURL=scan.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.generated.d.ts","sourceRoot":"","sources":["../../.fougere/scan.generated.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAoChD,eAAO,MAAM,IAAI,EAAE,UAmGlB,CAAC"}
@@ -0,0 +1,140 @@
1
+ // Generated by `fougere build` — the scan, written down. Do not edit.
2
+ //
3
+ // `createApp` reads this instead of a disk. Everything here was decided by the scan that
4
+ // produced it; nothing is resolved a second time.
5
+ import { Fronds } from '@fougere/core';
6
+ import _0 from '../fronds/analysis/entities/Build.js';
7
+ import _1 from '../fronds/analysis/entities/Check.js';
8
+ import _2 from '../fronds/analysis/entities/Devtools.js';
9
+ import _3 from '../fronds/analysis/entities/Explain.js';
10
+ import _4 from '../fronds/analysis/entities/Freeze.js';
11
+ import _5 from '../fronds/analysis/entities/Graph.js';
12
+ import _6 from '../fronds/analysis/entities/Load.js';
13
+ import _7 from '../fronds/analysis/entities/Migrate.js';
14
+ import _8 from '../fronds/analysis/services/ProjectScan.js';
15
+ import _9 from '../fronds/analysis/handlers/BuildHandler.js';
16
+ import _10 from '../fronds/analysis/handlers/CheckHandler.js';
17
+ import _11 from '../fronds/analysis/handlers/DevtoolsHandler.js';
18
+ import _12 from '../fronds/analysis/handlers/ExplainHandler.js';
19
+ import _13 from '../fronds/analysis/handlers/FreezeHandler.js';
20
+ import _14 from '../fronds/analysis/handlers/GraphHandler.js';
21
+ import _15 from '../fronds/analysis/handlers/LoadHandler.js';
22
+ import _16 from '../fronds/analysis/handlers/MigrateHandler.js';
23
+ import _17 from '../fronds/scaffold/entities/BuildFrond.js';
24
+ import _18 from '../fronds/scaffold/entities/Call.js';
25
+ import _19 from '../fronds/scaffold/entities/Completion.js';
26
+ import _20 from '../fronds/scaffold/entities/Grant.js';
27
+ import _21 from '../fronds/scaffold/entities/Keys.js';
28
+ import _22 from '../fronds/scaffold/entities/New.js';
29
+ import _23 from '../fronds/scaffold/entities/Serve.js';
30
+ import _24 from '../fronds/scaffold/entities/Sync.js';
31
+ import _25 from '../fronds/scaffold/services/ProjectWriter.js';
32
+ import _26 from '../fronds/scaffold/handlers/BuildFrondHandler.js';
33
+ import _27 from '../fronds/scaffold/handlers/CallHandler.js';
34
+ import _28 from '../fronds/scaffold/handlers/CompletionHandler.js';
35
+ import _29 from '../fronds/scaffold/handlers/GrantHandler.js';
36
+ import _30 from '../fronds/scaffold/handlers/KeysHandler.js';
37
+ import _31 from '../fronds/scaffold/handlers/NewHandler.js';
38
+ import _32 from '../fronds/scaffold/handlers/ServeHandler.js';
39
+ import _33 from '../fronds/scaffold/handlers/SyncHandler.js';
40
+ export const scan = {
41
+ fronds: Fronds.hosting([
42
+ {
43
+ name: "analysis",
44
+ source: { "path": "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis", "package": "@fronds/analysis" },
45
+ providers: [
46
+ { name: "ProjectScan", ctor: _8, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/services/ProjectScan.ts" },
47
+ ],
48
+ entities: [
49
+ { name: "build", entityClass: _0, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Build.ts", exposed: true },
50
+ { name: "check", entityClass: _1, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Check.ts", exposed: true },
51
+ { name: "devtools", entityClass: _2, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Devtools.ts", exposed: true },
52
+ { name: "explain", entityClass: _3, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Explain.ts", exposed: true },
53
+ { name: "freeze", entityClass: _4, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Freeze.ts", exposed: true },
54
+ { name: "graph", entityClass: _5, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Graph.ts", exposed: true },
55
+ { name: "load", entityClass: _6, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Load.ts", exposed: true },
56
+ { name: "migrate", entityClass: _7, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/entities/Migrate.ts", exposed: true },
57
+ ],
58
+ handlers: [
59
+ { name: "buildHandler", address: "build", ctor: _9, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/BuildHandler.ts", exposed: true, operations: new Map([
60
+ ["execute", { input: _0, description: "Write down what a scan found, so a deployment reads no disk.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "Omit<Build, 'json'>", "name": "Omit", "generics": [{ "raw": "Build", "name": "Build" }, { "raw": "\"json\"", "name": "string" }] }, "optional": false }], "returnType": { "raw": "Promise<BuildReport>", "name": "BuildReport", "promise": true }, "description": "Write down what a scan found, so a deployment reads no disk." } }]
61
+ ]) },
62
+ { name: "checkHandler", address: "check", ctor: _10, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/CheckHandler.ts", exposed: true, operations: new Map([
63
+ ["execute", { description: "Report what does not hold in a Fougere app, without booting it.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "{ root?: string }", "name": "{ root?: string | undefined; }" }, "optional": false }], "returnType": { "raw": "Promise<CheckResult>", "name": "CheckResult", "promise": true }, "description": "Report what does not hold in a Fougere app, without booting it." } }]
64
+ ]) },
65
+ { name: "devtoolsHandler", address: "devtools", ctor: _11, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/DevtoolsHandler.ts", exposed: true, operations: new Map([
66
+ ["execute", { description: "Read what the running apps have dispatched since a cursor per address.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "{ url?: string; root?: string; since?: Record<string, number> }", "name": "{ url?: string | undefined; root?: string | undefined; since?: Record<string, number> | undefined; }" }, "optional": false }], "returnType": { "raw": "Promise<CallsView>", "name": "CallsView", "promise": true }, "description": "Read what the running apps have dispatched since a cursor per address." } }]
67
+ ]) },
68
+ { name: "explainHandler", address: "explain", ctor: _12, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/ExplainHandler.ts", exposed: true, operations: new Map([
69
+ ["list", { description: "The names this project serves — the list `explain` used to spell in a refusal only.", cardinality: "one", signature: { "name": "list", "params": [{ "name": "input", "type": { "raw": "{ root?: string }", "name": "{ root?: string | undefined; }" }, "optional": false }], "returnType": { "raw": "Promise<ExplainListing>", "name": "ExplainListing", "promise": true }, "description": "The names this project serves — the list `explain` used to spell in a refusal only." } }],
70
+ ["execute", { description: "Print the contract one operation will be served under.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "{ operation?: string; root?: string; json?: boolean }", "name": "{ operation?: string | undefined; root?: string | undefined; json?: boolean | undefined; }" }, "optional": false }], "returnType": { "raw": "Promise<ExplainResult>", "name": "ExplainResult", "promise": true }, "description": "Print the contract one operation will be served under." } }]
71
+ ]) },
72
+ { name: "freezeHandler", address: "freeze", ctor: _13, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/FreezeHandler.ts", exposed: true, operations: new Map([
73
+ ["execute", { description: "Record this version — or report what stops it, having written nothing.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "Omit<Freeze, 'json'> & { renamed?: Record<string, Record<string, string>> }", "name": "Omit<Freeze, \"json\"> & { renamed?: Record<string, Record<string, string>> | undefined; }" }, "optional": false }], "returnType": { "raw": "Promise<FreezeInspection>", "name": "FreezeInspection", "promise": true }, "description": "Record this version — or report what stops it, having written nothing." } }]
74
+ ]) },
75
+ { name: "graphHandler", address: "graph", ctor: _14, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/GraphHandler.ts", exposed: true, operations: new Map([
76
+ ["execute", { description: "Report how a workspace's fronds and entities reference each other.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "{ root?: string; minEntities?: number }", "name": "{ root?: string | undefined; minEntities?: number | undefined; }" }, "optional": false }], "returnType": { "raw": "Promise<GraphResult>", "name": "GraphResult", "promise": true }, "description": "Report how a workspace's fronds and entities reference each other." } }]
77
+ ]) },
78
+ { name: "loadHandler", address: "load", ctor: _15, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/LoadHandler.ts", exposed: true, operations: new Map([
79
+ ["execute", { description: "Generate a k6 scenario covering every operation the default facade answers.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "{ root?: string; facade?: string; out?: string }", "name": "{ root?: string | undefined; facade?: string | undefined; out?: string | undefined; }" }, "optional": false }], "returnType": { "raw": "Promise<LoadScenario>", "name": "LoadScenario", "promise": true }, "description": "Generate a k6 scenario covering every operation the default facade answers." } }]
80
+ ]) },
81
+ { name: "migrateHandler", address: "migrate", ctor: _16, deps: ["ProjectScan"], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/analysis/handlers/MigrateHandler.ts", exposed: true, operations: new Map([
82
+ ["execute", { input: _7, description: "Realise the frozen steps this database has not caught up with.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "Omit<Migrate, 'json'>", "name": "Omit", "generics": [{ "raw": "Migrate", "name": "Migrate" }, { "raw": "\"json\"", "name": "string" }] }, "optional": false }], "returnType": { "raw": "Promise<MigrationPlan>", "name": "MigrationPlan", "promise": true }, "description": "Realise the frozen steps this database has not caught up with." } }]
83
+ ]) },
84
+ ],
85
+ presenters: [],
86
+ collectors: [],
87
+ seeds: [],
88
+ middlewares: [],
89
+ },
90
+ {
91
+ name: "scaffold",
92
+ source: { "path": "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold", "package": "@fronds/scaffold" },
93
+ providers: [
94
+ { name: "ProjectWriter", ctor: _25, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/services/ProjectWriter.ts" },
95
+ ],
96
+ entities: [
97
+ { name: "buildFrond", entityClass: _17, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/BuildFrond.ts", exposed: true },
98
+ { name: "call", entityClass: _18, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/Call.ts", exposed: true },
99
+ { name: "completion", entityClass: _19, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/Completion.ts", exposed: true },
100
+ { name: "grant", entityClass: _20, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/Grant.ts", exposed: true },
101
+ { name: "keys", entityClass: _21, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/Keys.ts", exposed: true },
102
+ { name: "new", entityClass: _22, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/New.ts", exposed: true },
103
+ { name: "serve", entityClass: _23, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/Serve.ts", exposed: true },
104
+ { name: "sync", entityClass: _24, filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/entities/Sync.ts", exposed: true },
105
+ ],
106
+ handlers: [
107
+ { name: "buildFrondHandler", address: "buildFrond", ctor: _26, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/BuildFrondHandler.ts", exposed: true, operations: new Map([
108
+ ["execute", { description: "Build a frond into a standalone deployable package.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "{ frond: string }", "name": "{ frond: string; }" }, "optional": false }], "returnType": { "raw": "Promise<{ path: string; entities: string[] }>", "name": "{ path: string; entities: string[]; }", "promise": true }, "description": "Build a frond into a standalone deployable package." } }]
109
+ ]) },
110
+ { name: "callHandler", address: "call", ctor: _27, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/CallHandler.ts", exposed: true, operations: new Map([
111
+ ["execute", { description: "Invoke one operation of a frond from the terminal.", cardinality: "none", signature: { "name": "execute", "params": [], "returnType": { "raw": "Promise<void>", "name": "void", "undefined": true, "promise": true }, "description": "Invoke one operation of a frond from the terminal." } }]
112
+ ]) },
113
+ { name: "completionHandler", address: "completion", ctor: _28, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/CompletionHandler.ts", exposed: true, operations: new Map([
114
+ ["execute", { description: "Print the shell completion script for this CLI.", cardinality: "none", signature: { "name": "execute", "params": [], "returnType": { "raw": "Promise<void>", "name": "void", "undefined": true, "promise": true }, "description": "Print the shell completion script for this CLI." } }]
115
+ ]) },
116
+ { name: "grantHandler", address: "grant", ctor: _29, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/GrantHandler.ts", exposed: true, operations: new Map([
117
+ ["execute", { description: "Bind a frond's name to a fresh key, signed by the root.", cardinality: "none", signature: { "name": "execute", "params": [], "returnType": { "raw": "Promise<void>", "name": "void", "undefined": true, "promise": true }, "description": "Bind a frond's name to a fresh key, signed by the root." } }]
118
+ ]) },
119
+ { name: "keysHandler", address: "keys", ctor: _30, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/KeysHandler.ts", exposed: true, operations: new Map([
120
+ ["execute", { description: "Create the root key a split deployment's grants are signed by.", cardinality: "none", signature: { "name": "execute", "params": [], "returnType": { "raw": "Promise<void>", "name": "void", "undefined": true, "promise": true }, "description": "Create the root key a split deployment's grants are signed by." } }]
121
+ ]) },
122
+ { name: "newHandler", address: "new", ctor: _31, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/NewHandler.ts", exposed: true, operations: new Map([
123
+ ["execute", { description: "Create a Fougere project, workspace or flat.", cardinality: "none", signature: { "name": "execute", "params": [], "returnType": { "raw": "Promise<void>", "name": "void", "undefined": true, "promise": true }, "description": "Create a Fougere project, workspace or flat." } }]
124
+ ]) },
125
+ { name: "serveHandler", address: "serve", ctor: _32, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/ServeHandler.ts", exposed: true, operations: new Map([
126
+ ["execute", { description: "Host a frond in its own process, behind JSON-RPC.", cardinality: "none", signature: { "name": "execute", "params": [], "returnType": { "raw": "Promise<void>", "name": "void", "undefined": true, "promise": true }, "description": "Host a frond in its own process, behind JSON-RPC." } }]
127
+ ]) },
128
+ { name: "syncHandler", address: "sync", ctor: _33, deps: [], filePath: "/Volumes/Personnel/fougere-public/packages/cli/fronds/scaffold/handlers/SyncHandler.ts", exposed: true, operations: new Map([
129
+ ["execute", { description: "Mirror a remote frond's contract into local entities.", cardinality: "one", signature: { "name": "execute", "params": [{ "name": "input", "type": { "raw": "{ frond: string; from: string }", "name": "{ frond: string; from: string; }" }, "optional": false }], "returnType": { "raw": "Promise<{ path: string; entities: string[]; removed: string[] }>", "name": "{ path: string; entities: string[]; removed: string[]; }", "promise": true }, "description": "Mirror a remote frond's contract into local entities." } }]
130
+ ]) },
131
+ ],
132
+ presenters: [],
133
+ collectors: [],
134
+ seeds: [],
135
+ middlewares: [],
136
+ }
137
+ ]),
138
+ diagnostics: [],
139
+ };
140
+ //# sourceMappingURL=scan.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.generated.js","sourceRoot":"","sources":["../../.fougere/scan.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { App } from '@fougere/core';
2
+ import type { ui as createUi } from '../../src/ui.js';
3
+ type Ui = ReturnType<typeof createUi>;
4
+ /**
5
+ * `fougere build` — the scan, written down.
6
+ *
7
+ * It reports what the module HOLDS rather than that it was written: a build that found
8
+ * one frond where the project has three has succeeded at the wrong thing, and the path
9
+ * alone does not say so.
10
+ */
11
+ export default class BuildCommand {
12
+ private app;
13
+ private ui;
14
+ constructor(app: App, ui: Ui);
15
+ run(raw: Record<string, unknown>): Promise<void>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=BuildCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildCommand.d.ts","sourceRoot":"","sources":["../../../app/commands/BuildCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKtD,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACnB,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,EAAE;IAAxC,YAAoB,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,EAAE,EAAI;IAE1C,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAsBrC;CACF"}
@@ -0,0 +1,35 @@
1
+ import { createAppRunner } from '@fougere/core';
2
+ import pc from 'picocolors';
3
+ import { machineWanted, printMachine } from '../../src/machine.js';
4
+ /**
5
+ * `fougere build` — the scan, written down.
6
+ *
7
+ * It reports what the module HOLDS rather than that it was written: a build that found
8
+ * one frond where the project has three has succeeded at the wrong thing, and the path
9
+ * alone does not say so.
10
+ */
11
+ export default class BuildCommand {
12
+ app;
13
+ ui;
14
+ constructor(app, ui) {
15
+ this.app = app;
16
+ this.ui = ui;
17
+ }
18
+ async run(raw) {
19
+ const built = (await createAppRunner(this.app)({ entity: 'build', op: 'execute' }, { params: {}, query: {}, input: raw, state: {} }));
20
+ if (machineWanted(raw))
21
+ return printMachine(built);
22
+ if (built.fronds.length === 0) {
23
+ this.ui.warn('No fronds found. Run this from a Fougere project root.');
24
+ return;
25
+ }
26
+ this.ui.success(`${built.path} — ${built.fronds.length} frond(s), ${built.entities} entities, ${built.handlers} handlers`);
27
+ this.ui.step(built.fronds.map((name) => pc.bold(name)).join(', '));
28
+ // A diagnostic travels INTO the module, so a boot from it says the same thing. Saying
29
+ // it here too is not a duplicate: this is the moment someone can still fix the source.
30
+ for (const diagnostic of built.diagnostics)
31
+ this.ui.warn(diagnostic);
32
+ this.ui.step(pc.dim('hand it to createApp as `scan:` — nothing reads a disk after this'));
33
+ }
34
+ }
35
+ //# sourceMappingURL=BuildCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildCommand.js","sourceRoot":"","sources":["../../../app/commands/BuildCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAInE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACX,GAAG;IAAe,EAAE;IAAxC,YAAoB,GAAQ,EAAU,EAAM;mBAAxB,GAAG;kBAAe,EAAE;IAAO,CAAC;IAEhD,KAAK,CAAC,GAAG,CAAC,GAA4B;QACpC,MAAM,KAAK,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5C,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAClC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CACjD,CAAgB,CAAC;QAElB,IAAI,aAAa,CAAC,GAAG,CAAC;YAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAEvE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,cAAc,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,QAAQ,WAAW,CAAC,CAAC;QAC3H,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,sFAAsF;QACtF,uFAAuF;QACvF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW;YAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAC;IAC5F,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import type { App } from '@fougere/core';
2
+ import type { ui as createUi } from '../../src/ui.js';
3
+ type Ui = ReturnType<typeof createUi>;
4
+ /**
5
+ * The client end of the gradient: drive one operation on the project's app and
6
+ * print the result. It follows the topology — if `remotes:` sends the frond
7
+ * elsewhere, the call travels there. Same envelope every consumer uses.
8
+ */
9
+ export default class CallCommand {
10
+ private app;
11
+ private ui;
12
+ constructor(app: App, ui: Ui);
13
+ run(raw: Record<string, unknown>): Promise<void>;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=CallCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallCommand.d.ts","sourceRoot":"","sources":["../../../app/commands/CallCommand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAwBtC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAClB,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,EAAE;IAAxC,YAAoB,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,EAAE,EAAI;IAE1C,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBA+BrC;CACF"}
@@ -0,0 +1,73 @@
1
+ import { createAppRunner } from '@fougere/core';
2
+ import { lowerFirst } from '@fougere/core/contract';
3
+ /**
4
+ * Parse `--field value` / `--field=value` / `--flag` from the raw argv.
5
+ * `call`'s payload is free-form (any entity's fields), so it can't be declared
6
+ * on the Call entity — citty would boolean-ify undeclared flags. We read the
7
+ * tail ourselves; positionals (the target) are ignored (not `--`-prefixed).
8
+ */
9
+ function parseFlags(tokens) {
10
+ const out = {};
11
+ for (let i = 0; i < tokens.length; i++) {
12
+ const t = tokens[i];
13
+ if (!t.startsWith('--'))
14
+ continue;
15
+ const eq = t.indexOf('=');
16
+ if (eq !== -1) {
17
+ out[t.slice(2, eq)] = t.slice(eq + 1);
18
+ continue;
19
+ }
20
+ const key = t.slice(2);
21
+ const next = tokens[i + 1];
22
+ if (next === undefined || next.startsWith('--'))
23
+ out[key] = true;
24
+ else {
25
+ out[key] = next;
26
+ i++;
27
+ }
28
+ }
29
+ return out;
30
+ }
31
+ /**
32
+ * The client end of the gradient: drive one operation on the project's app and
33
+ * print the result. It follows the topology — if `remotes:` sends the frond
34
+ * elsewhere, the call travels there. Same envelope every consumer uses.
35
+ */
36
+ export default class CallCommand {
37
+ app;
38
+ ui;
39
+ constructor(app, ui) {
40
+ this.app = app;
41
+ this.ui = ui;
42
+ }
43
+ async run(raw) {
44
+ const target = raw.operation;
45
+ if (!target || !target.includes('.')) {
46
+ this.ui.error('Usage: fougere call <entity>.<op> [--field value …]');
47
+ return;
48
+ }
49
+ const [entityName, op] = target.split('.');
50
+ // Flags → invocation, by the same rule the framework's binding uses:
51
+ // a primitive param (like `id`) resolves from `params`, an object from
52
+ // `body`. So `--id` is a route param, every other flag is the body.
53
+ const flags = parseFlags(process.argv.slice(2));
54
+ const params = {};
55
+ const input = {};
56
+ for (const [k, v] of Object.entries(flags)) {
57
+ if (k === 'id')
58
+ params.id = String(v);
59
+ else
60
+ input[k] = v;
61
+ }
62
+ const { bootApp } = await import('@fougere/defaults');
63
+ const app = await bootApp(process.cwd(), {});
64
+ try {
65
+ const result = await createAppRunner(app)({ entity: lowerFirst(entityName), op }, { params, query: {}, input, state: {} });
66
+ this.ui.note(JSON.stringify(result, null, 2), target);
67
+ }
68
+ finally {
69
+ await app.dispose();
70
+ }
71
+ }
72
+ }
73
+ //# sourceMappingURL=CallCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallCommand.js","sourceRoot":"","sources":["../../../app/commands/CallCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { App } from '@fougere/core';
2
+ import type { ui as createUi } from '../../src/ui.js';
3
+ type Ui = ReturnType<typeof createUi>;
4
+ export default class CheckCommand {
5
+ private app;
6
+ private ui;
7
+ constructor(app: App, ui: Ui);
8
+ run(raw: Record<string, unknown>): Promise<void>;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=CheckCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckCommand.d.ts","sourceRoot":"","sources":["../../../app/commands/CheckCommand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKtD,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,YAAY;IACnB,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,EAAE;IAAxC,YAAoB,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,EAAE,EAAI;IAE1C,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAiCrC;CACF"}
@@ -0,0 +1,59 @@
1
+ import { createAppRunner } from '@fougere/core';
2
+ import pc from 'picocolors';
3
+ import { relative } from 'node:path';
4
+ import { machineWanted, printMachine } from '../../src/machine.js';
5
+ export default class CheckCommand {
6
+ app;
7
+ ui;
8
+ constructor(app, ui) {
9
+ this.app = app;
10
+ this.ui = ui;
11
+ }
12
+ async run(raw) {
13
+ // Ride the call contract — the same envelope every consumer uses.
14
+ const result = await createAppRunner(this.app)({ entity: 'check', op: 'execute' }, { params: {}, query: {}, input: raw, state: {} });
15
+ // A non-zero exit is what makes this usable in CI, so it is decided before the two
16
+ // renderings rather than inside the terminal one.
17
+ const blocking = result.findings.filter((f) => f.severity === 'blocking').length;
18
+ if (blocking > 0)
19
+ process.exitCode = 1;
20
+ if (machineWanted(raw))
21
+ return printMachine(result);
22
+ if (result.fronds === 0) {
23
+ this.ui.warn('No fronds found. Run this from a Fougere project root.');
24
+ return;
25
+ }
26
+ this.ui.step(`${pc.bold(String(result.fronds))} frond(s), ${pc.bold(String(result.handlers))} handler(s)`);
27
+ if (result.findings.length === 0) {
28
+ this.ui.success('Nothing to report.');
29
+ return;
30
+ }
31
+ this.ui.note(result.findings.map(render).join('\n\n'), 'Findings');
32
+ // Warnings do not fail: an unresolvable base class with no operation is ordinary,
33
+ // and a check that cries wolf stops being read.
34
+ this.ui.info(`${blocking} blocking, ${result.findings.length - blocking} warning(s)`);
35
+ }
36
+ }
37
+ function render(f) {
38
+ const mark = f.severity === 'blocking' ? pc.red('✗') : pc.yellow('⚠');
39
+ const where = relative(process.cwd(), f.filePath) || f.filePath;
40
+ const what = f.subject ? ` ${f.subject}` : '';
41
+ return ` ${mark} ${pc.bold(`[${f.code}]`)}${what}\n${wrap(f.message, 76, ' ')}\n ${pc.dim(where)}`;
42
+ }
43
+ /** A box grows to its longest line, so a one-line sentence makes an unreadable box. */
44
+ function wrap(text, width, indent) {
45
+ const lines = [];
46
+ let line = '';
47
+ for (const word of text.split(' ')) {
48
+ if (line && line.length + 1 + word.length > width) {
49
+ lines.push(line);
50
+ line = word;
51
+ }
52
+ else
53
+ line = line ? `${line} ${word}` : word;
54
+ }
55
+ if (line)
56
+ lines.push(line);
57
+ return lines.map((l) => indent + l).join('\n');
58
+ }
59
+ //# sourceMappingURL=CheckCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckCommand.js","sourceRoot":"","sources":["../../../app/commands/CheckCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { App } from '@fougere/core';
2
+ export default class CompletionCommand {
3
+ private app;
4
+ constructor(app: App);
5
+ run(raw: Record<string, unknown>): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=CompletionCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompletionCommand.d.ts","sourceRoot":"","sources":["../../../app/commands/CompletionCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACxB,OAAO,CAAC,GAAG;IAAvB,YAAoB,GAAG,EAAE,GAAG,EAAI;IAE1B,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAMrC;CACF"}
@@ -0,0 +1,23 @@
1
+ import { generateZshCompletion, generateBashCompletion } from '../../src/completion.js';
2
+ export default class CompletionCommand {
3
+ app;
4
+ constructor(app) {
5
+ this.app = app;
6
+ }
7
+ async run(raw) {
8
+ const shell = raw.shell || detectShell();
9
+ const script = shell === 'bash'
10
+ ? generateBashCompletion(this.app)
11
+ : generateZshCompletion(this.app);
12
+ console.log(script);
13
+ }
14
+ }
15
+ function detectShell() {
16
+ const shell = process.env.SHELL ?? '';
17
+ if (shell.includes('zsh'))
18
+ return 'zsh';
19
+ if (shell.includes('bash'))
20
+ return 'bash';
21
+ return 'zsh';
22
+ }
23
+ //# sourceMappingURL=CompletionCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompletionCommand.js","sourceRoot":"","sources":["../../../app/commands/CompletionCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAExF,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAChB,GAAG;IAAvB,YAAoB,GAAQ;mBAAR,GAAG;IAAQ,CAAC;IAEhC,KAAK,CAAC,GAAG,CAAC,GAA4B;QACpC,MAAM,KAAK,GAAI,GAAG,CAAC,KAAgB,IAAI,WAAW,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM;YAC7B,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC;YAClC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;CACF;AAED,SAAS,WAAW;IAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { App } from '@fougere/core';
2
+ import type { ui as createUi } from '../../src/ui.js';
3
+ type Ui = ReturnType<typeof createUi>;
4
+ /**
5
+ * `fougere devtools` — the call log of every running app of this project, followed.
6
+ *
7
+ * A cursor per address, because each app numbers its own ring: asking for what this reader
8
+ * has not seen is the whole protocol, and it is per source or nothing.
9
+ */
10
+ export default class DevtoolsCommand {
11
+ private app;
12
+ private ui;
13
+ constructor(app: App, ui: Ui);
14
+ run(raw: Record<string, unknown>): Promise<void>;
15
+ /** What is being watched, and what refused — stated before the first line scrolls. */
16
+ private announce;
17
+ private view;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=DevtoolsCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevtoolsCommand.d.ts","sourceRoot":"","sources":["../../../app/commands/DevtoolsCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAc,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAItD,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAOtC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACtB,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,EAAE;IAAxC,YAAoB,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,EAAE,EAAI;IAE1C,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAwBrC;IAED,sFAAsF;IACtF,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,IAAI;CAMb"}
@@ -0,0 +1,79 @@
1
+ import { createAppRunner } from '@fougere/core';
2
+ import { machineWanted, printMachine } from '../../src/machine.js';
3
+ import pc from 'picocolors';
4
+ /** How long between two reads. Fast enough to read as a stream, cheap enough to ignore. */
5
+ const EVERY_MS = 500;
6
+ const ROUTE = { local: pc.green, remote: pc.cyan, system: pc.magenta };
7
+ /**
8
+ * `fougere devtools` — the call log of every running app of this project, followed.
9
+ *
10
+ * A cursor per address, because each app numbers its own ring: asking for what this reader
11
+ * has not seen is the whole protocol, and it is per source or nothing.
12
+ */
13
+ export default class DevtoolsCommand {
14
+ app;
15
+ ui;
16
+ constructor(app, ui) {
17
+ this.app = app;
18
+ this.ui = ui;
19
+ }
20
+ async run(raw) {
21
+ const since = {};
22
+ if (machineWanted(raw))
23
+ return printMachine(await this.view(raw, since));
24
+ const first = await this.view(raw, since);
25
+ this.announce(first);
26
+ const told = {};
27
+ for (let view = first;; view = await this.view(raw, since)) {
28
+ for (const source of view.sources) {
29
+ since[source.url] = source.cursor;
30
+ // Said once per address, and only when it grows: a ring that dropped is not a
31
+ // quiet period, and repeating it every half second would bury the calls.
32
+ if (source.dropped > (told[source.url] ?? 0)) {
33
+ this.ui.warn(`${source.url} dropped ${source.dropped - (told[source.url] ?? 0)} call(s) — its ring is smaller than this traffic`);
34
+ told[source.url] = source.dropped;
35
+ }
36
+ }
37
+ for (const call of view.calls)
38
+ process.stdout.write(render(call, view.sources.length > 1) + '\n');
39
+ await new Promise((wake) => setTimeout(wake, EVERY_MS));
40
+ }
41
+ }
42
+ /** What is being watched, and what refused — stated before the first line scrolls. */
43
+ announce(view) {
44
+ for (const source of view.sources) {
45
+ const name = source.frond ? `${pc.bold(source.frond)} ${pc.dim(source.url)}` : pc.bold(source.url);
46
+ if (source.refusal)
47
+ this.ui.warn(`${name} — ${source.refusal}`);
48
+ else
49
+ this.ui.step(`following ${name}`);
50
+ }
51
+ this.ui.info(pc.dim('ctrl-c to stop'));
52
+ }
53
+ view(raw, since) {
54
+ return createAppRunner(this.app)({ entity: 'devtools', op: 'execute' }, { params: {}, query: {}, input: { ...raw, since }, state: {} });
55
+ }
56
+ }
57
+ function render(call, many) {
58
+ // Padded BEFORE colouring: an escape sequence counts in a string's length, so padding a
59
+ // coloured value moves the column by however many bytes the colour took.
60
+ const at = many ? pc.dim(pad(new URL(call.source).port || call.source, 5)) : '';
61
+ const frond = pc.dim(pad(call.frond ?? '—', 9));
62
+ const address = pc.bold(pad(`${call.entity}.${call.operation}${call.surface ? `/${call.surface}` : ''}`, 22));
63
+ const route = call.route
64
+ ? (ROUTE[call.route] ?? pc.dim)(pad(call.route, 9))
65
+ : pc.red(pad('unrouted', 9));
66
+ const took = pc.dim(lead(call.ms === undefined ? '' : `${call.ms}ms`, 7));
67
+ const verdict = call.verdict === 'failed'
68
+ ? pc.red(call.refusal?.code ?? 'failed')
69
+ : call.verdict === 'ok' ? pc.dim('ok') : pc.yellow('running');
70
+ return [at, frond, address, route, took, verdict, call.trace ? pc.dim(call.trace.slice(3, 11)) : '']
71
+ .filter(Boolean).join(' ');
72
+ }
73
+ function pad(value, width) {
74
+ return value.length >= width ? value : value + ' '.repeat(width - value.length);
75
+ }
76
+ function lead(value, width) {
77
+ return value.length >= width ? value : ' '.repeat(width - value.length) + value;
78
+ }
79
+ //# sourceMappingURL=DevtoolsCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevtoolsCommand.js","sourceRoot":"","sources":["../../../app/commands/DevtoolsCommand.ts"],"names":[],"mappings":"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"}