@stamhoofd/cli 2.122.1

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 (348) hide show
  1. package/LICENSE.md +32 -0
  2. package/README.md +365 -0
  3. package/bin/stam.js +19 -0
  4. package/dist/base-command.d.ts +22 -0
  5. package/dist/base-command.d.ts.map +1 -0
  6. package/dist/base-command.js +23 -0
  7. package/dist/base-command.js.map +1 -0
  8. package/dist/command-flags.d.ts +8 -0
  9. package/dist/command-flags.d.ts.map +1 -0
  10. package/dist/command-flags.js +32 -0
  11. package/dist/command-flags.js.map +1 -0
  12. package/dist/commands/build.d.ts +12 -0
  13. package/dist/commands/build.d.ts.map +1 -0
  14. package/dist/commands/build.js +16 -0
  15. package/dist/commands/build.js.map +1 -0
  16. package/dist/commands/check/all.d.ts +12 -0
  17. package/dist/commands/check/all.d.ts.map +1 -0
  18. package/dist/commands/check/all.js +21 -0
  19. package/dist/commands/check/all.js.map +1 -0
  20. package/dist/commands/check/index.d.ts +8 -0
  21. package/dist/commands/check/index.d.ts.map +1 -0
  22. package/dist/commands/check/index.js +15 -0
  23. package/dist/commands/check/index.js.map +1 -0
  24. package/dist/commands/check/lint.d.ts +11 -0
  25. package/dist/commands/check/lint.d.ts.map +1 -0
  26. package/dist/commands/check/lint.js +16 -0
  27. package/dist/commands/check/lint.js.map +1 -0
  28. package/dist/commands/check/typecheck.d.ts +11 -0
  29. package/dist/commands/check/typecheck.d.ts.map +1 -0
  30. package/dist/commands/check/typecheck.js +16 -0
  31. package/dist/commands/check/typecheck.js.map +1 -0
  32. package/dist/commands/clean/index.d.ts +31 -0
  33. package/dist/commands/clean/index.d.ts.map +1 -0
  34. package/dist/commands/clean/index.js +131 -0
  35. package/dist/commands/clean/index.js.map +1 -0
  36. package/dist/commands/config/explain.d.ts +13 -0
  37. package/dist/commands/config/explain.d.ts.map +1 -0
  38. package/dist/commands/config/explain.js +26 -0
  39. package/dist/commands/config/explain.js.map +1 -0
  40. package/dist/commands/config/index.d.ts +8 -0
  41. package/dist/commands/config/index.d.ts.map +1 -0
  42. package/dist/commands/config/index.js +15 -0
  43. package/dist/commands/config/index.js.map +1 -0
  44. package/dist/commands/config/print.d.ts +13 -0
  45. package/dist/commands/config/print.d.ts.map +1 -0
  46. package/dist/commands/config/print.js +19 -0
  47. package/dist/commands/config/print.js.map +1 -0
  48. package/dist/commands/db/backup/index.d.ts +13 -0
  49. package/dist/commands/db/backup/index.d.ts.map +1 -0
  50. package/dist/commands/db/backup/index.js +31 -0
  51. package/dist/commands/db/backup/index.js.map +1 -0
  52. package/dist/commands/db/backup/list.d.ts +13 -0
  53. package/dist/commands/db/backup/list.d.ts.map +1 -0
  54. package/dist/commands/db/backup/list.js +38 -0
  55. package/dist/commands/db/backup/list.js.map +1 -0
  56. package/dist/commands/db/backup/remove.d.ts +15 -0
  57. package/dist/commands/db/backup/remove.d.ts.map +1 -0
  58. package/dist/commands/db/backup/remove.js +24 -0
  59. package/dist/commands/db/backup/remove.js.map +1 -0
  60. package/dist/commands/db/backup/rename.d.ts +15 -0
  61. package/dist/commands/db/backup/rename.d.ts.map +1 -0
  62. package/dist/commands/db/backup/rename.js +24 -0
  63. package/dist/commands/db/backup/rename.js.map +1 -0
  64. package/dist/commands/db/copy.d.ts +16 -0
  65. package/dist/commands/db/copy.d.ts.map +1 -0
  66. package/dist/commands/db/copy.js +27 -0
  67. package/dist/commands/db/copy.js.map +1 -0
  68. package/dist/commands/db/index.d.ts +8 -0
  69. package/dist/commands/db/index.d.ts.map +1 -0
  70. package/dist/commands/db/index.js +20 -0
  71. package/dist/commands/db/index.js.map +1 -0
  72. package/dist/commands/db/migrate.d.ts +13 -0
  73. package/dist/commands/db/migrate.d.ts.map +1 -0
  74. package/dist/commands/db/migrate.js +16 -0
  75. package/dist/commands/db/migrate.js.map +1 -0
  76. package/dist/commands/db/move.d.ts +16 -0
  77. package/dist/commands/db/move.d.ts.map +1 -0
  78. package/dist/commands/db/move.js +28 -0
  79. package/dist/commands/db/move.js.map +1 -0
  80. package/dist/commands/db/remove.d.ts +15 -0
  81. package/dist/commands/db/remove.d.ts.map +1 -0
  82. package/dist/commands/db/remove.js +25 -0
  83. package/dist/commands/db/remove.js.map +1 -0
  84. package/dist/commands/db/restore.d.ts +13 -0
  85. package/dist/commands/db/restore.d.ts.map +1 -0
  86. package/dist/commands/db/restore.js +31 -0
  87. package/dist/commands/db/restore.js.map +1 -0
  88. package/dist/commands/db/shell.d.ts +13 -0
  89. package/dist/commands/db/shell.d.ts.map +1 -0
  90. package/dist/commands/db/shell.js +20 -0
  91. package/dist/commands/db/shell.js.map +1 -0
  92. package/dist/commands/dev/index.d.ts +19 -0
  93. package/dist/commands/dev/index.d.ts.map +1 -0
  94. package/dist/commands/dev/index.js +63 -0
  95. package/dist/commands/dev/index.js.map +1 -0
  96. package/dist/commands/services/down.d.ts +11 -0
  97. package/dist/commands/services/down.d.ts.map +1 -0
  98. package/dist/commands/services/down.js +17 -0
  99. package/dist/commands/services/down.js.map +1 -0
  100. package/dist/commands/services/index.d.ts +8 -0
  101. package/dist/commands/services/index.d.ts.map +1 -0
  102. package/dist/commands/services/index.js +15 -0
  103. package/dist/commands/services/index.js.map +1 -0
  104. package/dist/commands/services/logs.d.ts +11 -0
  105. package/dist/commands/services/logs.d.ts.map +1 -0
  106. package/dist/commands/services/logs.js +15 -0
  107. package/dist/commands/services/logs.js.map +1 -0
  108. package/dist/commands/services/restart.d.ts +11 -0
  109. package/dist/commands/services/restart.d.ts.map +1 -0
  110. package/dist/commands/services/restart.js +18 -0
  111. package/dist/commands/services/restart.js.map +1 -0
  112. package/dist/commands/services/status.d.ts +11 -0
  113. package/dist/commands/services/status.d.ts.map +1 -0
  114. package/dist/commands/services/status.js +16 -0
  115. package/dist/commands/services/status.js.map +1 -0
  116. package/dist/commands/services/stop.d.ts +2 -0
  117. package/dist/commands/services/stop.d.ts.map +1 -0
  118. package/dist/commands/services/stop.js +2 -0
  119. package/dist/commands/services/stop.js.map +1 -0
  120. package/dist/commands/services/up.d.ts +11 -0
  121. package/dist/commands/services/up.d.ts.map +1 -0
  122. package/dist/commands/services/up.js +16 -0
  123. package/dist/commands/services/up.js.map +1 -0
  124. package/dist/commands/setup/index.d.ts +22 -0
  125. package/dist/commands/setup/index.d.ts.map +1 -0
  126. package/dist/commands/setup/index.js +69 -0
  127. package/dist/commands/setup/index.js.map +1 -0
  128. package/dist/commands/sso/config.d.ts +16 -0
  129. package/dist/commands/sso/config.d.ts.map +1 -0
  130. package/dist/commands/sso/config.js +21 -0
  131. package/dist/commands/sso/config.js.map +1 -0
  132. package/dist/commands/sso/index.d.ts +8 -0
  133. package/dist/commands/sso/index.d.ts.map +1 -0
  134. package/dist/commands/sso/index.js +16 -0
  135. package/dist/commands/sso/index.js.map +1 -0
  136. package/dist/commands/sso/logs.d.ts +13 -0
  137. package/dist/commands/sso/logs.d.ts.map +1 -0
  138. package/dist/commands/sso/logs.js +17 -0
  139. package/dist/commands/sso/logs.js.map +1 -0
  140. package/dist/commands/sso/start.d.ts +17 -0
  141. package/dist/commands/sso/start.d.ts.map +1 -0
  142. package/dist/commands/sso/start.js +32 -0
  143. package/dist/commands/sso/start.js.map +1 -0
  144. package/dist/commands/sso/stop.d.ts +13 -0
  145. package/dist/commands/sso/stop.d.ts.map +1 -0
  146. package/dist/commands/sso/stop.js +18 -0
  147. package/dist/commands/sso/stop.js.map +1 -0
  148. package/dist/commands/status.d.ts +15 -0
  149. package/dist/commands/status.d.ts.map +1 -0
  150. package/dist/commands/status.js +61 -0
  151. package/dist/commands/status.js.map +1 -0
  152. package/dist/commands/test/all.d.ts +12 -0
  153. package/dist/commands/test/all.d.ts.map +1 -0
  154. package/dist/commands/test/all.js +19 -0
  155. package/dist/commands/test/all.js.map +1 -0
  156. package/dist/commands/test/e2e.d.ts +16 -0
  157. package/dist/commands/test/e2e.d.ts.map +1 -0
  158. package/dist/commands/test/e2e.js +32 -0
  159. package/dist/commands/test/e2e.js.map +1 -0
  160. package/dist/commands/test/index.d.ts +8 -0
  161. package/dist/commands/test/index.d.ts.map +1 -0
  162. package/dist/commands/test/index.js +16 -0
  163. package/dist/commands/test/index.js.map +1 -0
  164. package/dist/commands/test/unit.d.ts +12 -0
  165. package/dist/commands/test/unit.d.ts.map +1 -0
  166. package/dist/commands/test/unit.js +17 -0
  167. package/dist/commands/test/unit.js.map +1 -0
  168. package/dist/config/build-config.d.ts +15 -0
  169. package/dist/config/build-config.d.ts.map +1 -0
  170. package/dist/config/build-config.js +8 -0
  171. package/dist/config/build-config.js.map +1 -0
  172. package/dist/config/caddy-config.d.ts +122 -0
  173. package/dist/config/caddy-config.d.ts.map +1 -0
  174. package/dist/config/caddy-config.js +127 -0
  175. package/dist/config/caddy-config.js.map +1 -0
  176. package/dist/config/development-config.d.ts +48 -0
  177. package/dist/config/development-config.d.ts.map +1 -0
  178. package/dist/config/development-config.js +230 -0
  179. package/dist/config/development-config.js.map +1 -0
  180. package/dist/config/internal-secrets.d.ts +13 -0
  181. package/dist/config/internal-secrets.d.ts.map +1 -0
  182. package/dist/config/internal-secrets.js +65 -0
  183. package/dist/config/internal-secrets.js.map +1 -0
  184. package/dist/config/shared-service-config.d.ts +60 -0
  185. package/dist/config/shared-service-config.d.ts.map +1 -0
  186. package/dist/config/shared-service-config.js +94 -0
  187. package/dist/config/shared-service-config.js.map +1 -0
  188. package/dist/config/shared-service-profile.d.ts +29 -0
  189. package/dist/config/shared-service-profile.d.ts.map +1 -0
  190. package/dist/config/shared-service-profile.js +56 -0
  191. package/dist/config/shared-service-profile.js.map +1 -0
  192. package/dist/context/create-context.d.ts +19 -0
  193. package/dist/context/create-context.d.ts.map +1 -0
  194. package/dist/context/create-context.js +26 -0
  195. package/dist/context/create-context.js.map +1 -0
  196. package/dist/context/instance.d.ts +12 -0
  197. package/dist/context/instance.d.ts.map +1 -0
  198. package/dist/context/instance.js +26 -0
  199. package/dist/context/instance.js.map +1 -0
  200. package/dist/context/port-allocation.d.ts +3 -0
  201. package/dist/context/port-allocation.d.ts.map +1 -0
  202. package/dist/context/port-allocation.js +77 -0
  203. package/dist/context/port-allocation.js.map +1 -0
  204. package/dist/context/ports.d.ts +14 -0
  205. package/dist/context/ports.d.ts.map +1 -0
  206. package/dist/context/ports.js +17 -0
  207. package/dist/context/ports.js.map +1 -0
  208. package/dist/context/project-path.d.ts +2 -0
  209. package/dist/context/project-path.d.ts.map +1 -0
  210. package/dist/context/project-path.js +7 -0
  211. package/dist/context/project-path.js.map +1 -0
  212. package/dist/context/workspace.d.ts +5 -0
  213. package/dist/context/workspace.d.ts.map +1 -0
  214. package/dist/context/workspace.js +47 -0
  215. package/dist/context/workspace.js.map +1 -0
  216. package/dist/help.d.ts +13 -0
  217. package/dist/help.d.ts.map +1 -0
  218. package/dist/help.js +125 -0
  219. package/dist/help.js.map +1 -0
  220. package/dist/index.d.ts +13 -0
  221. package/dist/index.d.ts.map +1 -0
  222. package/dist/index.js +10 -0
  223. package/dist/index.js.map +1 -0
  224. package/dist/runtime/command-runner.d.ts +20 -0
  225. package/dist/runtime/command-runner.d.ts.map +1 -0
  226. package/dist/runtime/command-runner.js +75 -0
  227. package/dist/runtime/command-runner.js.map +1 -0
  228. package/dist/runtime/database-command-helpers.d.ts +16 -0
  229. package/dist/runtime/database-command-helpers.d.ts.map +1 -0
  230. package/dist/runtime/database-command-helpers.js +64 -0
  231. package/dist/runtime/database-command-helpers.js.map +1 -0
  232. package/dist/runtime/db-backup-helpers.d.ts +24 -0
  233. package/dist/runtime/db-backup-helpers.d.ts.map +1 -0
  234. package/dist/runtime/db-backup-helpers.js +145 -0
  235. package/dist/runtime/db-backup-helpers.js.map +1 -0
  236. package/dist/runtime/live-output.d.ts +31 -0
  237. package/dist/runtime/live-output.d.ts.map +1 -0
  238. package/dist/runtime/live-output.js +139 -0
  239. package/dist/runtime/live-output.js.map +1 -0
  240. package/dist/runtime/manifest-store.d.ts +66 -0
  241. package/dist/runtime/manifest-store.d.ts.map +1 -0
  242. package/dist/runtime/manifest-store.js +188 -0
  243. package/dist/runtime/manifest-store.js.map +1 -0
  244. package/dist/runtime/monorepo-runner.d.ts +20 -0
  245. package/dist/runtime/monorepo-runner.d.ts.map +1 -0
  246. package/dist/runtime/monorepo-runner.js +175 -0
  247. package/dist/runtime/monorepo-runner.js.map +1 -0
  248. package/dist/runtime/one-password.d.ts +7 -0
  249. package/dist/runtime/one-password.d.ts.map +1 -0
  250. package/dist/runtime/one-password.js +90 -0
  251. package/dist/runtime/one-password.js.map +1 -0
  252. package/dist/runtime/output-target.d.ts +13 -0
  253. package/dist/runtime/output-target.d.ts.map +1 -0
  254. package/dist/runtime/output-target.js +22 -0
  255. package/dist/runtime/output-target.js.map +1 -0
  256. package/dist/runtime/show-help.d.ts +3 -0
  257. package/dist/runtime/show-help.d.ts.map +1 -0
  258. package/dist/runtime/show-help.js +6 -0
  259. package/dist/runtime/show-help.js.map +1 -0
  260. package/dist/runtime/status.d.ts +10 -0
  261. package/dist/runtime/status.d.ts.map +1 -0
  262. package/dist/runtime/status.js +28 -0
  263. package/dist/runtime/status.js.map +1 -0
  264. package/dist/runtime/ux.d.ts +62 -0
  265. package/dist/runtime/ux.d.ts.map +1 -0
  266. package/dist/runtime/ux.js +255 -0
  267. package/dist/runtime/ux.js.map +1 -0
  268. package/dist/services/definitions/caddy-service.d.ts +31 -0
  269. package/dist/services/definitions/caddy-service.d.ts.map +1 -0
  270. package/dist/services/definitions/caddy-service.js +93 -0
  271. package/dist/services/definitions/caddy-service.js.map +1 -0
  272. package/dist/services/definitions/coredns-service.d.ts +20 -0
  273. package/dist/services/definitions/coredns-service.d.ts.map +1 -0
  274. package/dist/services/definitions/coredns-service.js +43 -0
  275. package/dist/services/definitions/coredns-service.js.map +1 -0
  276. package/dist/services/definitions/maildev-service.d.ts +14 -0
  277. package/dist/services/definitions/maildev-service.d.ts.map +1 -0
  278. package/dist/services/definitions/maildev-service.js +28 -0
  279. package/dist/services/definitions/maildev-service.js.map +1 -0
  280. package/dist/services/definitions/mysql-service.d.ts +19 -0
  281. package/dist/services/definitions/mysql-service.d.ts.map +1 -0
  282. package/dist/services/definitions/mysql-service.js +41 -0
  283. package/dist/services/definitions/mysql-service.js.map +1 -0
  284. package/dist/services/definitions/rustfs-service.d.ts +16 -0
  285. package/dist/services/definitions/rustfs-service.d.ts.map +1 -0
  286. package/dist/services/definitions/rustfs-service.js +36 -0
  287. package/dist/services/definitions/rustfs-service.js.map +1 -0
  288. package/dist/services/definitions/sso-service.d.ts +27 -0
  289. package/dist/services/definitions/sso-service.d.ts.map +1 -0
  290. package/dist/services/definitions/sso-service.js +41 -0
  291. package/dist/services/definitions/sso-service.js.map +1 -0
  292. package/dist/services/definitions/stripe-service.d.ts +26 -0
  293. package/dist/services/definitions/stripe-service.d.ts.map +1 -0
  294. package/dist/services/definitions/stripe-service.js +70 -0
  295. package/dist/services/definitions/stripe-service.js.map +1 -0
  296. package/dist/services/docker-service.d.ts +39 -0
  297. package/dist/services/docker-service.d.ts.map +1 -0
  298. package/dist/services/docker-service.js +98 -0
  299. package/dist/services/docker-service.js.map +1 -0
  300. package/dist/services/docker.d.ts +23 -0
  301. package/dist/services/docker.d.ts.map +1 -0
  302. package/dist/services/docker.js +86 -0
  303. package/dist/services/docker.js.map +1 -0
  304. package/dist/services/manager.d.ts +25 -0
  305. package/dist/services/manager.d.ts.map +1 -0
  306. package/dist/services/manager.js +238 -0
  307. package/dist/services/manager.js.map +1 -0
  308. package/dist/services/registry.d.ts +3 -0
  309. package/dist/services/registry.d.ts.map +1 -0
  310. package/dist/services/registry.js +13 -0
  311. package/dist/services/registry.js.map +1 -0
  312. package/dist/services/service.d.ts +24 -0
  313. package/dist/services/service.d.ts.map +1 -0
  314. package/dist/services/service.js +2 -0
  315. package/dist/services/service.js.map +1 -0
  316. package/dist/services/shared-services.d.ts +17 -0
  317. package/dist/services/shared-services.d.ts.map +1 -0
  318. package/dist/services/shared-services.js +67 -0
  319. package/dist/services/shared-services.js.map +1 -0
  320. package/dist/services/sso-config.d.ts +14 -0
  321. package/dist/services/sso-config.d.ts.map +1 -0
  322. package/dist/services/sso-config.js +106 -0
  323. package/dist/services/sso-config.js.map +1 -0
  324. package/dist/services/stripe.d.ts +4 -0
  325. package/dist/services/stripe.d.ts.map +1 -0
  326. package/dist/services/stripe.js +8 -0
  327. package/dist/services/stripe.js.map +1 -0
  328. package/dist/workflows/setup-machine.d.ts +55 -0
  329. package/dist/workflows/setup-machine.d.ts.map +1 -0
  330. package/dist/workflows/setup-machine.js +529 -0
  331. package/dist/workflows/setup-machine.js.map +1 -0
  332. package/dist/workflows/setup-node.d.ts +14 -0
  333. package/dist/workflows/setup-node.d.ts.map +1 -0
  334. package/dist/workflows/setup-node.js +49 -0
  335. package/dist/workflows/setup-node.js.map +1 -0
  336. package/dist/workflows/setup-shell.d.ts +32 -0
  337. package/dist/workflows/setup-shell.d.ts.map +1 -0
  338. package/dist/workflows/setup-shell.js +104 -0
  339. package/dist/workflows/setup-shell.js.map +1 -0
  340. package/dist/workflows/start-dev.d.ts +13 -0
  341. package/dist/workflows/start-dev.d.ts.map +1 -0
  342. package/dist/workflows/start-dev.js +339 -0
  343. package/dist/workflows/start-dev.js.map +1 -0
  344. package/dist/workflows/start-services.d.ts +3 -0
  345. package/dist/workflows/start-services.d.ts.map +1 -0
  346. package/dist/workflows/start-services.js +6 -0
  347. package/dist/workflows/start-services.js.map +1 -0
  348. package/package.json +69 -0
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ import { printSharedServicesStatus } from '../../services/shared-services.js';
3
+ export default class ServicesStatus extends BaseCommand {
4
+ static summary = 'Show shared service status';
5
+ static description = 'Use this when local development is failing and you want a quick overview of which shared services are running and how to access them.';
6
+ static examples = [
7
+ 'stam services status',
8
+ 'stam services status --verbose',
9
+ ];
10
+ static flags = BaseCommand.verboseFlags;
11
+ async run() {
12
+ const { flags } = await this.parse(ServicesStatus);
13
+ await printSharedServicesStatus(await this.createContext(flags));
14
+ }
15
+ }
16
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/services/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,GAAG,4BAA4B,CAAC;IAC9C,MAAM,CAAC,WAAW,GAAG,uIAAuI,CAAC;IAC7J,MAAM,CAAC,QAAQ,GAAG;QACd,sBAAsB;QACtB,gCAAgC;KACnC,CAAC;IACF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC;IAExC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,yBAAyB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './down.js';
2
+ //# sourceMappingURL=stop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/services/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './down.js';
2
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/services/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class ServicesUp extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=up.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../../src/commands/services/up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,SAA2B;IACzC,MAAM,CAAC,WAAW,SAA4I;IAC9J,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;MAA4B;IAElC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ import { runServices } from '../../workflows/start-services.js';
3
+ export default class ServicesUp extends BaseCommand {
4
+ static summary = 'Start shared services';
5
+ static description = 'Use this when you want shared infrastructure running before starting an app instance or when debugging a service container on its own.';
6
+ static examples = [
7
+ 'stam services up',
8
+ 'stam services up --verbose',
9
+ ];
10
+ static flags = BaseCommand.verboseFlags;
11
+ async run() {
12
+ const { flags } = await this.parse(ServicesUp);
13
+ await runServices(await this.createContext(flags));
14
+ }
15
+ }
16
+ //# sourceMappingURL=up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up.js","sourceRoot":"","sources":["../../../src/commands/services/up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,GAAG,uBAAuB,CAAC;IACzC,MAAM,CAAC,WAAW,GAAG,wIAAwI,CAAC;IAC9J,MAAM,CAAC,QAAQ,GAAG;QACd,kBAAkB;QAClB,4BAA4B;KAC/B,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC;IAExC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,WAAW,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export declare enum SetupAction {
3
+ Cert = "cert",
4
+ Dns = "dns",
5
+ Node = "node",
6
+ Shell = "shell"
7
+ }
8
+ export default class Setup extends BaseCommand {
9
+ static summary: string;
10
+ static description: string;
11
+ static examples: string[];
12
+ static args: {
13
+ action: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
14
+ };
15
+ static flags: {
16
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ };
20
+ run(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/setup/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAID,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC1C,MAAM,CAAC,OAAO,SAAgD;IAC9D,MAAM,CAAC,WAAW,SAAoI;IACtJ,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAMT;IAEF,MAAM,CAAC,KAAK;;;;MAAwE;IAE9E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuC7B"}
@@ -0,0 +1,69 @@
1
+ import path from 'node:path';
2
+ import { Args } from '@oclif/core';
3
+ import { BaseCommand } from '../../base-command.js';
4
+ import { dryRunFlag, yesFlag } from '../../command-flags.js';
5
+ import { getProjectPath } from '../../context/project-path.js';
6
+ import { confirm } from '../../runtime/ux.js';
7
+ import { runSetup, setupCert, setupDns } from '../../workflows/setup-machine.js';
8
+ import { checkNodeVersion, printNodeVersionStatus, setupNodeVersion } from '../../workflows/setup-node.js';
9
+ import { setupShellShortcut } from '../../workflows/setup-shell.js';
10
+ export var SetupAction;
11
+ (function (SetupAction) {
12
+ SetupAction["Cert"] = "cert";
13
+ SetupAction["Dns"] = "dns";
14
+ SetupAction["Node"] = "node";
15
+ SetupAction["Shell"] = "shell";
16
+ })(SetupAction || (SetupAction = {}));
17
+ const setupActions = Object.values(SetupAction);
18
+ export default class Setup extends BaseCommand {
19
+ static summary = 'Prepare this machine for local development';
20
+ static description = 'Use this first on a new machine, or when DNS, certificates, or container runtime access for local development stopped working.';
21
+ static examples = [
22
+ 'stam setup',
23
+ 'stam setup node',
24
+ 'stam setup dns --dry-run',
25
+ 'stam setup cert --yes --verbose',
26
+ 'stam setup shell',
27
+ ];
28
+ static args = {
29
+ action: Args.string({
30
+ description: 'Setup action to run directly',
31
+ options: [...setupActions],
32
+ required: false,
33
+ }),
34
+ };
35
+ static flags = { ...BaseCommand.verboseFlags, yes: yesFlag, 'dry-run': dryRunFlag };
36
+ async run() {
37
+ const { args, flags } = await this.parse(Setup);
38
+ const rootDir = path.resolve(getProjectPath());
39
+ if (args.action === SetupAction.Node) {
40
+ await setupNodeVersion(rootDir, { verbose: flags.verbose, dryRun: flags['dry-run'] });
41
+ return;
42
+ }
43
+ if (!args.action) {
44
+ const nodeCheck = await checkNodeVersion(rootDir);
45
+ if (!nodeCheck.ok) {
46
+ printNodeVersionStatus(nodeCheck);
47
+ if (await confirm(`Install Node.js ${nodeCheck.expected} now?`, { default: true })) {
48
+ await setupNodeVersion(rootDir, { verbose: flags.verbose });
49
+ }
50
+ return;
51
+ }
52
+ }
53
+ const context = await this.createContext(flags);
54
+ if (args.action === SetupAction.Dns) {
55
+ await setupDns({ yes: flags.yes, dryRun: flags['dry-run'], verbose: flags.verbose });
56
+ return;
57
+ }
58
+ if (args.action === SetupAction.Cert) {
59
+ await setupCert(context, { yes: flags.yes, dryRun: flags['dry-run'] });
60
+ return;
61
+ }
62
+ if (args.action === SetupAction.Shell) {
63
+ await setupShellShortcut({ dryRun: flags['dry-run'] });
64
+ return;
65
+ }
66
+ await runSetup(context);
67
+ }
68
+ }
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/setup/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class SsoConfig extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static args: {
7
+ redirectUri: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
+ };
9
+ static flags: {
10
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/sso/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAC9C,MAAM,CAAC,OAAO,SAA8B;IAC5C,MAAM,CAAC,WAAW,SAAuI;IACzJ,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,IAAI;;MAAqD;IAChE,MAAM,CAAC,KAAK;;;;MAA6B;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
@@ -0,0 +1,21 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ import { buildDomains } from '../../config/build-config.js';
4
+ import { buildSsoConfigOutput } from '../../services/sso-config.js';
5
+ export default class SsoConfig extends BaseCommand {
6
+ static summary = 'Print local SSO settings';
7
+ static description = 'Use this while configuring SSO in Stamhoofd or checking which issuer, credentials, and redirect URI the local SSO server expects.';
8
+ static examples = [
9
+ 'stam sso config',
10
+ 'stam sso config "https://keeo.api.stamhoofd/openid/callback"',
11
+ ];
12
+ static args = { redirectUri: Args.string({ required: false }) };
13
+ static flags = BaseCommand.instanceFlags;
14
+ async run() {
15
+ const { args, flags } = await this.parse(SsoConfig);
16
+ const context = await this.createContext(flags);
17
+ const domains = buildDomains(context);
18
+ this.log(buildSsoConfigOutput(domains, args.redirectUri));
19
+ }
20
+ }
21
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/sso/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAC9C,MAAM,CAAC,OAAO,GAAG,0BAA0B,CAAC;IAC5C,MAAM,CAAC,WAAW,GAAG,mIAAmI,CAAC;IACzJ,MAAM,CAAC,QAAQ,GAAG;QACd,iBAAiB;QACjB,8DAA8D;KACjE,CAAC;IACF,MAAM,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAChE,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IAEzC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Sso extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ run(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sso/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IACpC,MAAM,CAAC,OAAO,SAAqC;IACnD,MAAM,CAAC,WAAW,SAA4I;IAC9J,MAAM,CAAC,QAAQ,WAKb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -0,0 +1,16 @@
1
+ import { Command } from '@oclif/core';
2
+ import { showHelp } from '../../runtime/show-help.js';
3
+ export default class Sso extends Command {
4
+ static summary = 'Manage local SSO testing server';
5
+ static description = 'Use these commands to print local SSO settings, start the local SSO server, inspect logs, and stop it again while testing login flows.';
6
+ static examples = [
7
+ 'stam sso config',
8
+ 'stam sso start "https://<organization-id>.api.stamhoofd/openid/callback"',
9
+ 'stam sso logs',
10
+ 'stam sso stop',
11
+ ];
12
+ async run() {
13
+ await showHelp(this.config, ['sso']);
14
+ }
15
+ }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sso/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IACpC,MAAM,CAAC,OAAO,GAAG,iCAAiC,CAAC;IACnD,MAAM,CAAC,WAAW,GAAG,wIAAwI,CAAC;IAC9J,MAAM,CAAC,QAAQ,GAAG;QACd,iBAAiB;QACjB,0EAA0E;QAC1E,eAAe;QACf,eAAe;KAClB,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class SsoLogs extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/commands/sso/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,SAAgC;IAC9C,MAAM,CAAC,WAAW,SAA4G;IAC9H,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,KAAK;;;;MAA6B;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ import { ssoService } from '../../services/definitions/sso-service.js';
3
+ export default class SsoLogs extends BaseCommand {
4
+ static summary = 'Tail local SSO server logs';
5
+ static description = 'Use this while debugging login failures, redirect problems, or identity provider configuration issues.';
6
+ static examples = [
7
+ 'stam sso logs',
8
+ 'stam sso logs --env keeo',
9
+ ];
10
+ static flags = BaseCommand.instanceFlags;
11
+ async run() {
12
+ const { flags } = await this.parse(SsoLogs);
13
+ const context = await this.createContext(flags);
14
+ await ssoService.logs?.(context);
15
+ }
16
+ }
17
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/commands/sso/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,GAAG,4BAA4B,CAAC;IAC9C,MAAM,CAAC,WAAW,GAAG,wGAAwG,CAAC;IAC9H,MAAM,CAAC,QAAQ,GAAG;QACd,eAAe;QACf,0BAA0B;KAC7B,CAAC;IACF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IAEzC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class SsoStart extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static args: {
7
+ redirectUri: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ static flags: {
10
+ background: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/sso/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAAgC;IAC9C,MAAM,CAAC,WAAW,SAAqM;IACvN,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAAoH;IAC/H,MAAM,CAAC,KAAK;;;;;MAA8F;IAEpG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
@@ -0,0 +1,32 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ import { buildDomains } from '../../config/build-config.js';
4
+ import { CaddyService } from '../../services/definitions/caddy-service.js';
5
+ import { ssoService } from '../../services/definitions/sso-service.js';
6
+ import { allRunning, startServices } from '../../services/manager.js';
7
+ import { sharedServiceDefinitions } from '../../services/registry.js';
8
+ import { buildSsoConfigOutput } from '../../services/sso-config.js';
9
+ export default class SsoStart extends BaseCommand {
10
+ static summary = 'Start the local SSO server';
11
+ static description = 'Use this after enabling SSO for an organization so you can test the login flow locally. The selected environment or instance still determines the local SSO hostname, container name, and port.';
12
+ static examples = [
13
+ 'stam sso start "https://<organization-id>.api.stamhoofd/openid/callback"',
14
+ 'stam sso start --background "https://<organization-id>.api.stamhoofd/openid/callback"',
15
+ ];
16
+ static args = { redirectUri: Args.string({ required: true, description: 'Redirect URI copied from Stamhoofd SSO settings' }) };
17
+ static flags = { ...BaseCommand.instanceFlags, background: Flags.boolean({ char: 'b', default: false }) };
18
+ async run() {
19
+ const { args, flags } = await this.parse(SsoStart);
20
+ if (!args.redirectUri.startsWith('https://') || !args.redirectUri.endsWith('/openid/callback')) {
21
+ this.error('Expected an HTTPS /openid/callback URL copied from the SSO settings view.');
22
+ }
23
+ const context = await this.createContext(flags);
24
+ this.log(buildSsoConfigOutput(buildDomains(context), args.redirectUri));
25
+ if (!(await allRunning(context, sharedServiceDefinitions))) {
26
+ await startServices(context, sharedServiceDefinitions);
27
+ }
28
+ await CaddyService.reload(context);
29
+ await ssoService.start(context, { redirectUri: args.redirectUri, background: flags.background });
30
+ }
31
+ }
32
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/sso/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,GAAG,4BAA4B,CAAC;IAC9C,MAAM,CAAC,WAAW,GAAG,iMAAiM,CAAC;IACvN,MAAM,CAAC,QAAQ,GAAG;QACd,0EAA0E;QAC1E,uFAAuF;KAC1F,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC,EAAE,CAAC;IAC/H,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,WAAW,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAE1G,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7F,IAAI,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,aAAa,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACrG,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class SsoStop extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=stop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/sso/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,SAA+B;IAC7C,MAAM,CAAC,WAAW,SAAsG;IACxH,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,KAAK;;;;MAA6B;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
@@ -0,0 +1,18 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ import { ssoService } from '../../services/definitions/sso-service.js';
3
+ export default class SsoStop extends BaseCommand {
4
+ static summary = 'Stop the local SSO server';
5
+ static description = 'Use this when you want to restart SSO with a new redirect URL or fully stop local login testing.';
6
+ static examples = [
7
+ 'stam sso stop',
8
+ 'stam sso stop --env keeo',
9
+ ];
10
+ static flags = BaseCommand.instanceFlags;
11
+ async run() {
12
+ const { flags } = await this.parse(SsoStop);
13
+ const context = await this.createContext(flags);
14
+ await ssoService.stop(context);
15
+ this.log('Local SSO server stopped.');
16
+ }
17
+ }
18
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/sso/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC;IAC7C,MAAM,CAAC,WAAW,GAAG,kGAAkG,CAAC;IACxH,MAAM,CAAC,QAAQ,GAAG;QACd,eAAe;QACf,0BAA0B;KAC7B,CAAC;IACF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IAEzC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC1C,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../base-command.js';
2
+ export default class Status extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ current: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ watch: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ private printStatus;
13
+ private printCredentials;
14
+ }
15
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC3C,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAAoI;IACtJ,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;MAA2O;IAEjP,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBZ,WAAW;IAoBzB,OAAO,CAAC,gBAAgB;CAM3B"}
@@ -0,0 +1,61 @@
1
+ import path from 'node:path';
2
+ import { Flags } from '@oclif/core';
3
+ import { BaseCommand } from '../base-command.js';
4
+ import { localFilesAccessKey, localFilesSecretKey, maildevPassword, maildevUsername, successSymbol } from '../config/shared-service-config.js';
5
+ import { getProjectPath } from '../context/project-path.js';
6
+ import { listActiveInstanceManifests } from '../runtime/manifest-store.js';
7
+ import { printSharedServicesStatus } from '../services/shared-services.js';
8
+ import { link } from '../runtime/ux.js';
9
+ import { checkNodeVersion, printNodeVersionStatus } from '../workflows/setup-node.js';
10
+ export default class Status extends BaseCommand {
11
+ static summary = 'Show local development status';
12
+ static description = 'Use this for a quick overview of what is already running, which instances are active, and which URLs and logins are available.';
13
+ static examples = [
14
+ 'stam status',
15
+ 'stam status --current',
16
+ 'stam status --watch',
17
+ ];
18
+ static flags = { ...BaseCommand.verboseFlags, current: Flags.boolean({ default: false, description: 'Only show the inferred current instance' }), watch: Flags.boolean({ default: false, description: 'Refresh the status view until interrupted' }) };
19
+ async run() {
20
+ const { flags } = await this.parse(Status);
21
+ const rootDir = path.resolve(getProjectPath());
22
+ const nodeCheck = await checkNodeVersion(rootDir);
23
+ printNodeVersionStatus(nodeCheck);
24
+ this.log('');
25
+ const context = await this.createContext({ verbose: flags.verbose });
26
+ if (flags.watch) {
27
+ while (true) {
28
+ process.stdout.write('\x1Bc');
29
+ await this.printStatus(context, flags.current);
30
+ await new Promise(resolve => setTimeout(resolve, 2000));
31
+ }
32
+ }
33
+ await this.printStatus(context, flags.current);
34
+ }
35
+ async printStatus(context, current) {
36
+ await printSharedServicesStatus(context);
37
+ const instances = await listActiveInstanceManifests(context);
38
+ const visible = current ? instances.filter(instance => instance.name === context.instance.name) : instances;
39
+ this.log('\nActive instances:');
40
+ if (visible.length === 0) {
41
+ this.log(' none');
42
+ this.printCredentials();
43
+ return;
44
+ }
45
+ for (const instance of visible) {
46
+ this.log(` ${successSymbol} ${instance.name}`);
47
+ this.log(` Env: ${instance.env}`);
48
+ this.log(` Workspace: ${instance.workspace}`);
49
+ this.log(` Dashboard: ${link(`https://${instance.domains.dashboard}`, `https://${instance.domains.dashboard}`)}`);
50
+ this.log(` API: ${link(`https://${instance.domains.api}`, `https://${instance.domains.api}`)}`);
51
+ }
52
+ this.printCredentials();
53
+ }
54
+ printCredentials() {
55
+ this.log('\nCredentials:');
56
+ this.log(` MailDev: ${maildevUsername} / ${maildevPassword}`);
57
+ this.log(` Files UI: ${localFilesAccessKey} / ${localFilesSecretKey}`);
58
+ this.log(' SSO: sso@example.com / password');
59
+ }
60
+ }
61
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class TestAll extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ ci: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../../src/commands/test/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAA2H;IAC7I,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,KAAK;;;MAA+C;IAErD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
@@ -0,0 +1,19 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ import { ciFlag } from '../../command-flags.js';
3
+ import { testE2e, testUnit } from '../../runtime/monorepo-runner.js';
4
+ export default class TestAll extends BaseCommand {
5
+ static summary = 'Run unit and Playwright tests';
6
+ static description = 'Use this when you want broad confidence locally before pushing changes that touch both backend and frontend behavior.';
7
+ static examples = [
8
+ 'stam test all --ci',
9
+ 'stam test all --verbose',
10
+ ];
11
+ static flags = { ...BaseCommand.verboseFlags, ci: ciFlag };
12
+ async run() {
13
+ const { flags } = await this.parse(TestAll);
14
+ const context = await this.createContext(flags);
15
+ await testUnit(context, flags.ci);
16
+ await testE2e(context, { ci: flags.ci, clear: false, ui: false });
17
+ }
18
+ }
19
+ //# sourceMappingURL=all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all.js","sourceRoot":"","sources":["../../../src/commands/test/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,GAAG,+BAA+B,CAAC;IACjD,MAAM,CAAC,WAAW,GAAG,uHAAuH,CAAC;IAC7I,MAAM,CAAC,QAAQ,GAAG;QACd,oBAAoB;QACpB,yBAAyB;KAC5B,CAAC;IACF,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAE3D,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class TestE2e extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ ci: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ clear: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ extra: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ ui: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ workers: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=e2e.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e.d.ts","sourceRoot":"","sources":["../../../src/commands/test/e2e.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,SAAkC;IAChD,MAAM,CAAC,WAAW,SAA6G;IAC/H,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
@@ -0,0 +1,32 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ import { ciFlag } from '../../command-flags.js';
4
+ import { testE2e } from '../../runtime/monorepo-runner.js';
5
+ export default class TestE2e extends BaseCommand {
6
+ static summary = 'Run Playwright browser tests';
7
+ static description = 'Use this when you changed user-facing flows and want to validate the app in a real browser environment.';
8
+ static examples = [
9
+ 'stam test e2e',
10
+ 'stam test e2e --clear',
11
+ 'stam test e2e --ci',
12
+ 'stam test e2e --extra',
13
+ 'stam test e2e --workers 2',
14
+ 'stam test e2e --ui --verbose',
15
+ ];
16
+ static flags = {
17
+ ...BaseCommand.verboseFlags,
18
+ ci: ciFlag,
19
+ clear: Flags.boolean({ default: false, description: 'Clear the persistent e2e database before running tests' }),
20
+ extra: Flags.boolean({ default: false, description: 'Include Playwright tests tagged @extra' }),
21
+ ui: Flags.boolean({ default: false, description: 'Run Playwright in UI mode' }),
22
+ workers: Flags.integer({ description: 'Number of Playwright workers' }),
23
+ };
24
+ async run() {
25
+ const { flags } = await this.parse(TestE2e);
26
+ if (flags.workers !== undefined && flags.workers < 1) {
27
+ throw new Error('--workers must be at least 1');
28
+ }
29
+ await testE2e(await this.createContext(flags), { ci: flags.ci, clear: flags.clear, extra: flags.extra, ui: flags.ui, workers: flags.workers });
30
+ }
31
+ }
32
+ //# sourceMappingURL=e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e.js","sourceRoot":"","sources":["../../../src/commands/test/e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,GAAG,8BAA8B,CAAC;IAChD,MAAM,CAAC,WAAW,GAAG,yGAAyG,CAAC;IAC/H,MAAM,CAAC,QAAQ,GAAG;QACd,eAAe;QACf,uBAAuB;QACvB,oBAAoB;QACpB,uBAAuB;QACvB,2BAA2B;QAC3B,8BAA8B;KACjC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACX,GAAG,WAAW,CAAC,YAAY;QAC3B,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;QAC/G,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;QAC/F,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QAC/E,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;KAC1E,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Test extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ run(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map