@l4yercak3/cli 1.3.2 → 2.0.0-alpha.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 (357) hide show
  1. package/README.md +10 -220
  2. package/dist/api/client.d.ts +12 -0
  3. package/dist/api/client.d.ts.map +1 -0
  4. package/dist/api/client.js +37 -0
  5. package/dist/api/client.js.map +1 -0
  6. package/dist/api/platform.d.ts +161 -0
  7. package/dist/api/platform.d.ts.map +1 -0
  8. package/dist/api/platform.js +70 -0
  9. package/dist/api/platform.js.map +1 -0
  10. package/dist/bin/sevenlayers.d.ts +3 -0
  11. package/dist/bin/sevenlayers.d.ts.map +1 -0
  12. package/dist/bin/sevenlayers.js +198 -0
  13. package/dist/bin/sevenlayers.js.map +1 -0
  14. package/dist/commands/agent/catalog.d.ts +5 -0
  15. package/dist/commands/agent/catalog.d.ts.map +1 -0
  16. package/dist/commands/agent/catalog.js +142 -0
  17. package/dist/commands/agent/catalog.js.map +1 -0
  18. package/dist/commands/agent/drift.d.ts +5 -0
  19. package/dist/commands/agent/drift.d.ts.map +1 -0
  20. package/dist/commands/agent/drift.js +113 -0
  21. package/dist/commands/agent/drift.js.map +1 -0
  22. package/dist/commands/agent/init.d.ts +5 -0
  23. package/dist/commands/agent/init.d.ts.map +1 -0
  24. package/dist/commands/agent/init.js +75 -0
  25. package/dist/commands/agent/init.js.map +1 -0
  26. package/dist/commands/agent/permissions.d.ts +5 -0
  27. package/dist/commands/agent/permissions.d.ts.map +1 -0
  28. package/dist/commands/agent/permissions.js +88 -0
  29. package/dist/commands/agent/permissions.js.map +1 -0
  30. package/dist/commands/agent/runner.d.ts +14 -0
  31. package/dist/commands/agent/runner.d.ts.map +1 -0
  32. package/dist/commands/agent/runner.js +59 -0
  33. package/dist/commands/agent/runner.js.map +1 -0
  34. package/dist/commands/agent/shared.d.ts +13 -0
  35. package/dist/commands/agent/shared.d.ts.map +1 -0
  36. package/dist/commands/agent/shared.js +31 -0
  37. package/dist/commands/agent/shared.js.map +1 -0
  38. package/dist/commands/agent/template.d.ts +5 -0
  39. package/dist/commands/agent/template.d.ts.map +1 -0
  40. package/dist/commands/agent/template.js +104 -0
  41. package/dist/commands/agent/template.js.map +1 -0
  42. package/dist/commands/app/connect.d.ts +7 -0
  43. package/dist/commands/app/connect.d.ts.map +1 -0
  44. package/dist/commands/app/connect.js +12 -0
  45. package/dist/commands/app/connect.js.map +1 -0
  46. package/dist/commands/app/init.d.ts +7 -0
  47. package/dist/commands/app/init.d.ts.map +1 -0
  48. package/dist/commands/app/init.js +12 -0
  49. package/dist/commands/app/init.js.map +1 -0
  50. package/dist/commands/app/link.d.ts +3 -0
  51. package/dist/commands/app/link.d.ts.map +1 -0
  52. package/dist/commands/app/link.js +92 -0
  53. package/dist/commands/app/link.js.map +1 -0
  54. package/dist/commands/app/pages.d.ts +15 -0
  55. package/dist/commands/app/pages.d.ts.map +1 -0
  56. package/dist/commands/app/pages.js +180 -0
  57. package/dist/commands/app/pages.js.map +1 -0
  58. package/dist/commands/app/register.d.ts +3 -0
  59. package/dist/commands/app/register.d.ts.map +1 -0
  60. package/dist/commands/app/register.js +120 -0
  61. package/dist/commands/app/register.js.map +1 -0
  62. package/dist/commands/app/remote.d.ts +14 -0
  63. package/dist/commands/app/remote.d.ts.map +1 -0
  64. package/dist/commands/app/remote.js +44 -0
  65. package/dist/commands/app/remote.js.map +1 -0
  66. package/dist/commands/app/setup.d.ts +3 -0
  67. package/dist/commands/app/setup.d.ts.map +1 -0
  68. package/dist/commands/app/setup.js +299 -0
  69. package/dist/commands/app/setup.js.map +1 -0
  70. package/dist/commands/app/shared.d.ts +9 -0
  71. package/dist/commands/app/shared.d.ts.map +1 -0
  72. package/dist/commands/app/shared.js +122 -0
  73. package/dist/commands/app/shared.js.map +1 -0
  74. package/dist/commands/app/sync.d.ts +7 -0
  75. package/dist/commands/app/sync.d.ts.map +1 -0
  76. package/dist/commands/app/sync.js +107 -0
  77. package/dist/commands/app/sync.js.map +1 -0
  78. package/dist/commands/booking/check.d.ts +3 -0
  79. package/dist/commands/booking/check.d.ts.map +1 -0
  80. package/dist/commands/booking/check.js +68 -0
  81. package/dist/commands/booking/check.js.map +1 -0
  82. package/dist/commands/booking/setup.d.ts +3 -0
  83. package/dist/commands/booking/setup.d.ts.map +1 -0
  84. package/dist/commands/booking/setup.js +95 -0
  85. package/dist/commands/booking/setup.js.map +1 -0
  86. package/dist/commands/booking/shared.d.ts +31 -0
  87. package/dist/commands/booking/shared.d.ts.map +1 -0
  88. package/dist/commands/booking/shared.js +112 -0
  89. package/dist/commands/booking/shared.js.map +1 -0
  90. package/dist/commands/booking/smoke.d.ts +3 -0
  91. package/dist/commands/booking/smoke.d.ts.map +1 -0
  92. package/dist/commands/booking/smoke.js +101 -0
  93. package/dist/commands/booking/smoke.js.map +1 -0
  94. package/dist/commands/cms/bind.d.ts +3 -0
  95. package/dist/commands/cms/bind.d.ts.map +1 -0
  96. package/dist/commands/cms/bind.js +212 -0
  97. package/dist/commands/cms/bind.js.map +1 -0
  98. package/dist/commands/cms/content.d.ts +40 -0
  99. package/dist/commands/cms/content.d.ts.map +1 -0
  100. package/dist/commands/cms/content.js +169 -0
  101. package/dist/commands/cms/content.js.map +1 -0
  102. package/dist/commands/cms/doctor.d.ts +3 -0
  103. package/dist/commands/cms/doctor.d.ts.map +1 -0
  104. package/dist/commands/cms/doctor.js +69 -0
  105. package/dist/commands/cms/doctor.js.map +1 -0
  106. package/dist/commands/cms/migrate.d.ts +3 -0
  107. package/dist/commands/cms/migrate.d.ts.map +1 -0
  108. package/dist/commands/cms/migrate.js +78 -0
  109. package/dist/commands/cms/migrate.js.map +1 -0
  110. package/dist/commands/cms/registry.d.ts +3 -0
  111. package/dist/commands/cms/registry.d.ts.map +1 -0
  112. package/dist/commands/cms/registry.js +161 -0
  113. package/dist/commands/cms/registry.js.map +1 -0
  114. package/dist/commands/cms/seed.d.ts +3 -0
  115. package/dist/commands/cms/seed.d.ts.map +1 -0
  116. package/dist/commands/cms/seed.js +102 -0
  117. package/dist/commands/cms/seed.js.map +1 -0
  118. package/dist/commands/cms/shared.d.ts +22 -0
  119. package/dist/commands/cms/shared.d.ts.map +1 -0
  120. package/dist/commands/cms/shared.js +82 -0
  121. package/dist/commands/cms/shared.js.map +1 -0
  122. package/dist/commands/doctor/target.d.ts +3 -0
  123. package/dist/commands/doctor/target.d.ts.map +1 -0
  124. package/dist/commands/doctor/target.js +46 -0
  125. package/dist/commands/doctor/target.js.map +1 -0
  126. package/dist/commands/env/list.d.ts +3 -0
  127. package/dist/commands/env/list.d.ts.map +1 -0
  128. package/dist/commands/env/list.js +28 -0
  129. package/dist/commands/env/list.js.map +1 -0
  130. package/dist/commands/env/set.d.ts +3 -0
  131. package/dist/commands/env/set.d.ts.map +1 -0
  132. package/dist/commands/env/set.js +36 -0
  133. package/dist/commands/env/set.js.map +1 -0
  134. package/dist/commands/env/use.d.ts +3 -0
  135. package/dist/commands/env/use.d.ts.map +1 -0
  136. package/dist/commands/env/use.js +15 -0
  137. package/dist/commands/env/use.js.map +1 -0
  138. package/dist/commands/legacy/connect.d.ts +3 -0
  139. package/dist/commands/legacy/connect.d.ts.map +1 -0
  140. package/dist/commands/legacy/connect.js +8 -0
  141. package/dist/commands/legacy/connect.js.map +1 -0
  142. package/dist/commands/legacy/pages.d.ts +3 -0
  143. package/dist/commands/legacy/pages.d.ts.map +1 -0
  144. package/dist/commands/legacy/pages.js +16 -0
  145. package/dist/commands/legacy/pages.js.map +1 -0
  146. package/dist/commands/legacy/spread.d.ts +3 -0
  147. package/dist/commands/legacy/spread.d.ts.map +1 -0
  148. package/dist/commands/legacy/spread.js +8 -0
  149. package/dist/commands/legacy/spread.js.map +1 -0
  150. package/dist/commands/legacy/sync.d.ts +3 -0
  151. package/dist/commands/legacy/sync.d.ts.map +1 -0
  152. package/dist/commands/legacy/sync.js +8 -0
  153. package/dist/commands/legacy/sync.js.map +1 -0
  154. package/dist/config/env-diff.d.ts +10 -0
  155. package/dist/config/env-diff.d.ts.map +1 -0
  156. package/dist/config/env-diff.js +24 -0
  157. package/dist/config/env-diff.js.map +1 -0
  158. package/dist/config/env-parser.d.ts +20 -0
  159. package/dist/config/env-parser.d.ts.map +1 -0
  160. package/dist/config/env-parser.js +70 -0
  161. package/dist/config/env-parser.js.map +1 -0
  162. package/dist/config/env-writer.d.ts +22 -0
  163. package/dist/config/env-writer.d.ts.map +1 -0
  164. package/dist/config/env-writer.js +172 -0
  165. package/dist/config/env-writer.js.map +1 -0
  166. package/dist/config/profile-store.d.ts +29 -0
  167. package/dist/config/profile-store.d.ts.map +1 -0
  168. package/dist/config/profile-store.js +257 -0
  169. package/dist/config/profile-store.js.map +1 -0
  170. package/dist/core/args.d.ts +11 -0
  171. package/dist/core/args.d.ts.map +1 -0
  172. package/dist/core/args.js +106 -0
  173. package/dist/core/args.js.map +1 -0
  174. package/dist/core/colors.d.ts +6 -0
  175. package/dist/core/colors.d.ts.map +1 -0
  176. package/dist/core/colors.js +29 -0
  177. package/dist/core/colors.js.map +1 -0
  178. package/dist/safety/target-guard.d.ts +16 -0
  179. package/dist/safety/target-guard.d.ts.map +1 -0
  180. package/dist/safety/target-guard.js +55 -0
  181. package/dist/safety/target-guard.js.map +1 -0
  182. package/dist/testing/booking-smoke.d.ts +17 -0
  183. package/dist/testing/booking-smoke.d.ts.map +1 -0
  184. package/dist/testing/booking-smoke.js +43 -0
  185. package/dist/testing/booking-smoke.js.map +1 -0
  186. package/dist/tests/agent-commands.test.d.ts +2 -0
  187. package/dist/tests/agent-commands.test.d.ts.map +1 -0
  188. package/dist/tests/agent-commands.test.js +180 -0
  189. package/dist/tests/agent-commands.test.js.map +1 -0
  190. package/dist/tests/agent-governance.test.d.ts +2 -0
  191. package/dist/tests/agent-governance.test.d.ts.map +1 -0
  192. package/dist/tests/agent-governance.test.js +233 -0
  193. package/dist/tests/agent-governance.test.js.map +1 -0
  194. package/dist/tests/app-commands.test.d.ts +2 -0
  195. package/dist/tests/app-commands.test.d.ts.map +1 -0
  196. package/dist/tests/app-commands.test.js +462 -0
  197. package/dist/tests/app-commands.test.js.map +1 -0
  198. package/dist/tests/booking-commands.test.d.ts +2 -0
  199. package/dist/tests/booking-commands.test.d.ts.map +1 -0
  200. package/dist/tests/booking-commands.test.js +204 -0
  201. package/dist/tests/booking-commands.test.js.map +1 -0
  202. package/dist/tests/booking-smoke.test.d.ts +2 -0
  203. package/dist/tests/booking-smoke.test.d.ts.map +1 -0
  204. package/dist/tests/booking-smoke.test.js +183 -0
  205. package/dist/tests/booking-smoke.test.js.map +1 -0
  206. package/dist/tests/cms-commands.test.d.ts +2 -0
  207. package/dist/tests/cms-commands.test.d.ts.map +1 -0
  208. package/dist/tests/cms-commands.test.js +254 -0
  209. package/dist/tests/cms-commands.test.js.map +1 -0
  210. package/dist/tests/cms-ops.test.d.ts +2 -0
  211. package/dist/tests/cms-ops.test.d.ts.map +1 -0
  212. package/dist/tests/cms-ops.test.js +125 -0
  213. package/dist/tests/cms-ops.test.js.map +1 -0
  214. package/dist/tests/env-writer.test.d.ts +2 -0
  215. package/dist/tests/env-writer.test.d.ts.map +1 -0
  216. package/dist/tests/env-writer.test.js +90 -0
  217. package/dist/tests/env-writer.test.js.map +1 -0
  218. package/dist/tests/profile-store.test.d.ts +2 -0
  219. package/dist/tests/profile-store.test.d.ts.map +1 -0
  220. package/dist/tests/profile-store.test.js +88 -0
  221. package/dist/tests/profile-store.test.js.map +1 -0
  222. package/dist/tests/target-guard.test.d.ts +2 -0
  223. package/dist/tests/target-guard.test.d.ts.map +1 -0
  224. package/dist/tests/target-guard.test.js +132 -0
  225. package/dist/tests/target-guard.test.js.map +1 -0
  226. package/dist/ui/logo.d.ts +2 -0
  227. package/dist/ui/logo.d.ts.map +1 -0
  228. package/dist/ui/logo.js +22 -0
  229. package/dist/ui/logo.js.map +1 -0
  230. package/package.json +17 -53
  231. package/.claude/settings.local.json +0 -36
  232. package/.cursor/rules.md +0 -203
  233. package/.eslintrc.js +0 -31
  234. package/CLAUDE.md +0 -100
  235. package/bin/cli.js +0 -116
  236. package/docs/ADDING_FRAMEWORK_DETECTORS.md +0 -391
  237. package/docs/ADDING_NEW_PROJECT_TYPE.md +0 -156
  238. package/docs/ARCHITECTURE_RELATIONSHIPS.md +0 -411
  239. package/docs/CLI_AUTHENTICATION.md +0 -214
  240. package/docs/CLI_PAGE_DETECTION_REQUIREMENTS.md +0 -519
  241. package/docs/CRM-PIPELINES-SEQUENCES-SPEC.md +0 -429
  242. package/docs/DETECTOR_ARCHITECTURE.md +0 -326
  243. package/docs/DEVELOPMENT.md +0 -194
  244. package/docs/IMPLEMENTATION_PHASES.md +0 -468
  245. package/docs/INTEGRATION_PATHS_ARCHITECTURE.md +0 -1543
  246. package/docs/OAUTH_CLARIFICATION.md +0 -258
  247. package/docs/OAUTH_SETUP_GUIDE_TEMPLATE.md +0 -211
  248. package/docs/PHASE_0_PROGRESS.md +0 -120
  249. package/docs/PHASE_1_COMPLETE.md +0 -366
  250. package/docs/PHASE_SUMMARY.md +0 -149
  251. package/docs/PLAN.md +0 -511
  252. package/docs/README.md +0 -56
  253. package/docs/STRIPE_INTEGRATION.md +0 -447
  254. package/docs/SUMMARY.md +0 -230
  255. package/docs/UPDATED_PLAN.md +0 -447
  256. package/docs/mcp_server/MCP_EXTENSION_GUIDE.md +0 -1313
  257. package/docs/mcp_server/MCP_SERVER_ARCHITECTURE.md +0 -1481
  258. package/docs/mcp_server/applicationOntology.ts +0 -817
  259. package/docs/mcp_server/cliApplications.ts +0 -639
  260. package/docs/mcp_server/crmOntology.ts +0 -1063
  261. package/docs/mcp_server/eventOntology.ts +0 -1183
  262. package/docs/mcp_server/formsOntology.ts +0 -1401
  263. package/docs/mcp_server/ontologySchemas.ts +0 -185
  264. package/docs/mcp_server/schema.ts +0 -250
  265. package/docs/microsass_production_machine/CLI_API_REFERENCE.md +0 -1197
  266. package/docs/microsass_production_machine/CLI_PRODUCT_VISION.md +0 -676
  267. package/docs/microsass_production_machine/CLI_REQUIREMENTS.md +0 -606
  268. package/docs/microsass_production_machine/CONNECTED_APPLICATIONS_SPEC.md +0 -390
  269. package/docs/microsass_production_machine/IMPLEMENTATION_ROADMAP.md +0 -725
  270. package/docs/microsass_production_machine/OBJECT_MAPPINGS.md +0 -808
  271. package/docs/microsass_production_machine/REFERENCE_IMPLEMENTATION.md +0 -532
  272. package/src/api/backend-client.js +0 -449
  273. package/src/commands/api-keys.js +0 -119
  274. package/src/commands/connect.js +0 -253
  275. package/src/commands/login.js +0 -332
  276. package/src/commands/logout.js +0 -30
  277. package/src/commands/mcp-server.js +0 -85
  278. package/src/commands/mcp-setup.js +0 -686
  279. package/src/commands/pages.js +0 -317
  280. package/src/commands/scaffold.js +0 -409
  281. package/src/commands/spread.js +0 -861
  282. package/src/commands/status.js +0 -62
  283. package/src/commands/sync.js +0 -169
  284. package/src/commands/upgrade.js +0 -48
  285. package/src/config/config-manager.js +0 -206
  286. package/src/detectors/api-client-detector.js +0 -85
  287. package/src/detectors/base-detector.js +0 -77
  288. package/src/detectors/database-detector.js +0 -245
  289. package/src/detectors/expo-detector.js +0 -166
  290. package/src/detectors/github-detector.js +0 -74
  291. package/src/detectors/index.js +0 -106
  292. package/src/detectors/mapping-suggestor.js +0 -119
  293. package/src/detectors/model-detector.js +0 -318
  294. package/src/detectors/nextjs-detector.js +0 -139
  295. package/src/detectors/oauth-detector.js +0 -122
  296. package/src/detectors/page-detector.js +0 -480
  297. package/src/detectors/registry.js +0 -121
  298. package/src/generators/api-client-generator.js +0 -223
  299. package/src/generators/api-only/client.js +0 -683
  300. package/src/generators/api-only/index.js +0 -96
  301. package/src/generators/api-only/types.js +0 -618
  302. package/src/generators/api-only/webhooks.js +0 -377
  303. package/src/generators/env-generator.js +0 -191
  304. package/src/generators/expo-auth-generator.js +0 -1009
  305. package/src/generators/gitignore-generator.js +0 -92
  306. package/src/generators/index.js +0 -166
  307. package/src/generators/manifest-generator.js +0 -154
  308. package/src/generators/mcp-guide-generator.js +0 -256
  309. package/src/generators/nextauth-generator.js +0 -247
  310. package/src/generators/oauth-guide-generator.js +0 -277
  311. package/src/generators/quickstart/components/index.js +0 -1699
  312. package/src/generators/quickstart/components-mobile/index.js +0 -1440
  313. package/src/generators/quickstart/database/convex.js +0 -1257
  314. package/src/generators/quickstart/database/index.js +0 -34
  315. package/src/generators/quickstart/database/supabase.js +0 -1132
  316. package/src/generators/quickstart/hooks/index.js +0 -1065
  317. package/src/generators/quickstart/index.js +0 -191
  318. package/src/generators/quickstart/pages/index.js +0 -1466
  319. package/src/generators/quickstart/screens/index.js +0 -1498
  320. package/src/logo.js +0 -116
  321. package/src/mcp/auth.js +0 -127
  322. package/src/mcp/registry/domains/applications.js +0 -516
  323. package/src/mcp/registry/domains/benefits.js +0 -798
  324. package/src/mcp/registry/domains/codegen.js +0 -894
  325. package/src/mcp/registry/domains/core.js +0 -324
  326. package/src/mcp/registry/domains/crm.js +0 -591
  327. package/src/mcp/registry/domains/events.js +0 -649
  328. package/src/mcp/registry/domains/forms.js +0 -696
  329. package/src/mcp/registry/index.js +0 -164
  330. package/src/mcp/server.js +0 -116
  331. package/src/utils/file-utils.js +0 -117
  332. package/src/utils/init-helpers.js +0 -243
  333. package/src/utils/prompt-utils.js +0 -195
  334. package/templates/CLAUDE.md +0 -86
  335. package/tests/api-client-detector.test.js +0 -214
  336. package/tests/api-client-generator.test.js +0 -176
  337. package/tests/backend-client.test.js +0 -640
  338. package/tests/base-detector.test.js +0 -101
  339. package/tests/commands/login.test.js +0 -143
  340. package/tests/commands/logout.test.js +0 -84
  341. package/tests/commands/status.test.js +0 -167
  342. package/tests/config-manager.test.js +0 -321
  343. package/tests/database-detector.test.js +0 -221
  344. package/tests/detector-index.test.js +0 -209
  345. package/tests/detector-registry.test.js +0 -93
  346. package/tests/env-generator.test.js +0 -278
  347. package/tests/expo-detector.test.js +0 -263
  348. package/tests/file-utils.test.js +0 -194
  349. package/tests/generators-index.test.js +0 -454
  350. package/tests/github-detector.test.js +0 -145
  351. package/tests/gitignore-generator.test.js +0 -109
  352. package/tests/logo.test.js +0 -96
  353. package/tests/nextauth-generator.test.js +0 -255
  354. package/tests/nextjs-detector.test.js +0 -235
  355. package/tests/oauth-detector.test.js +0 -264
  356. package/tests/oauth-guide-generator.test.js +0 -273
  357. package/tests/page-detector.test.js +0 -371
@@ -0,0 +1,462 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_test_1 = __importDefault(require("node:test"));
7
+ const strict_1 = __importDefault(require("node:assert/strict"));
8
+ const promises_1 = __importDefault(require("node:fs/promises"));
9
+ const node_os_1 = __importDefault(require("node:os"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const args_1 = require("../core/args");
12
+ const profile_store_1 = require("../config/profile-store");
13
+ const link_1 = require("../commands/app/link");
14
+ const pages_1 = require("../commands/app/pages");
15
+ const register_1 = require("../commands/app/register");
16
+ const setup_1 = require("../commands/app/setup");
17
+ const sync_1 = require("../commands/app/sync");
18
+ const pages_2 = require("../commands/legacy/pages");
19
+ const sync_2 = require("../commands/legacy/sync");
20
+ async function withTempDir(run) {
21
+ const directory = await promises_1.default.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), "sevenlayers-app-commands-"));
22
+ try {
23
+ await run(directory);
24
+ }
25
+ finally {
26
+ await promises_1.default.rm(directory, { recursive: true, force: true });
27
+ }
28
+ }
29
+ async function withProfileStore(defaults, run) {
30
+ await withTempDir(async (directory) => {
31
+ const storePath = node_path_1.default.join(directory, "profiles.json");
32
+ await (0, profile_store_1.upsertProfile)({
33
+ name: "staging",
34
+ backendUrl: "https://example.convex.site",
35
+ appUrl: "",
36
+ defaultOrgId: defaults.orgId,
37
+ defaultAppId: defaults.appId,
38
+ requiresConfirmation: false
39
+ }, { filePath: storePath });
40
+ const previous = process.env.SEVENLAYERS_PROFILE_STORE_PATH;
41
+ process.env.SEVENLAYERS_PROFILE_STORE_PATH = storePath;
42
+ try {
43
+ await run(storePath);
44
+ }
45
+ finally {
46
+ if (previous === undefined) {
47
+ delete process.env.SEVENLAYERS_PROFILE_STORE_PATH;
48
+ }
49
+ else {
50
+ process.env.SEVENLAYERS_PROFILE_STORE_PATH = previous;
51
+ }
52
+ }
53
+ });
54
+ }
55
+ async function withMockFetch(handler, run) {
56
+ const original = globalThis.fetch;
57
+ globalThis.fetch = handler;
58
+ try {
59
+ await run();
60
+ }
61
+ finally {
62
+ globalThis.fetch = original;
63
+ }
64
+ }
65
+ async function captureOutput(run) {
66
+ const stdoutLines = [];
67
+ const stderrLines = [];
68
+ const originalLog = console.log;
69
+ const originalError = console.error;
70
+ console.log = (...args) => {
71
+ stdoutLines.push(args.map((arg) => String(arg)).join(" "));
72
+ };
73
+ console.error = (...args) => {
74
+ stderrLines.push(args.map((arg) => String(arg)).join(" "));
75
+ };
76
+ try {
77
+ const exitCode = await run();
78
+ return {
79
+ exitCode,
80
+ stdout: stdoutLines.join("\n"),
81
+ stderr: stderrLines.join("\n")
82
+ };
83
+ }
84
+ finally {
85
+ console.log = originalLog;
86
+ console.error = originalError;
87
+ }
88
+ }
89
+ function jsonResponse(payload, status = 200) {
90
+ return new Response(JSON.stringify(payload), {
91
+ status,
92
+ headers: { "Content-Type": "application/json" }
93
+ });
94
+ }
95
+ (0, node_test_1.default)("app register posts to cli applications endpoint with deterministic JSON output", async () => {
96
+ await withProfileStore({ orgId: "org_staging" }, async () => {
97
+ await withMockFetch(async (input, init) => {
98
+ const url = String(input);
99
+ strict_1.default.equal(url, "https://example.convex.site/api/v1/cli/applications");
100
+ strict_1.default.equal(init?.method, "POST");
101
+ const body = JSON.parse(String(init?.body));
102
+ strict_1.default.equal(body.organizationId, "org_staging");
103
+ strict_1.default.equal(body.name, "demo-app");
104
+ strict_1.default.equal(body.connection.features instanceof Array, true);
105
+ return jsonResponse({
106
+ success: true,
107
+ applicationId: "app_123",
108
+ existingApplication: false,
109
+ backendUrl: "https://example.convex.site",
110
+ apiKey: {
111
+ id: "key_1",
112
+ key: "sk_xxx",
113
+ prefix: "sk_xxx..."
114
+ }
115
+ });
116
+ }, async () => {
117
+ const parsed = (0, args_1.parseArgv)([
118
+ "app",
119
+ "register",
120
+ "--env",
121
+ "staging",
122
+ "--token",
123
+ "tok_123",
124
+ "--name",
125
+ "demo-app",
126
+ "--framework",
127
+ "nextjs",
128
+ "--feature",
129
+ "crm",
130
+ "--feature",
131
+ "events",
132
+ "--json"
133
+ ]);
134
+ const output = await captureOutput(() => (0, register_1.handleAppRegister)(parsed));
135
+ strict_1.default.equal(output.exitCode, 0);
136
+ const payload = JSON.parse(output.stdout);
137
+ strict_1.default.equal(payload.applicationId, "app_123");
138
+ strict_1.default.equal(payload.organizationId, "org_staging");
139
+ strict_1.default.equal(payload.existingApplication, false);
140
+ });
141
+ });
142
+ });
143
+ (0, node_test_1.default)("app register can persist resulting app id as profile default", async () => {
144
+ await withProfileStore({ orgId: "org_staging" }, async (storePath) => {
145
+ await withMockFetch(async (input, init) => {
146
+ const url = String(input);
147
+ strict_1.default.equal(url, "https://example.convex.site/api/v1/cli/applications");
148
+ strict_1.default.equal(init?.method, "POST");
149
+ return jsonResponse({
150
+ success: true,
151
+ applicationId: "app_999",
152
+ existingApplication: false,
153
+ backendUrl: "https://example.convex.site"
154
+ });
155
+ }, async () => {
156
+ const parsed = (0, args_1.parseArgv)([
157
+ "app",
158
+ "register",
159
+ "--env",
160
+ "staging",
161
+ "--token",
162
+ "tok_123",
163
+ "--name",
164
+ "demo-app",
165
+ "--framework",
166
+ "nextjs",
167
+ "--save-profile-default",
168
+ "--json"
169
+ ]);
170
+ const output = await captureOutput(() => (0, register_1.handleAppRegister)(parsed));
171
+ strict_1.default.equal(output.exitCode, 0);
172
+ const payload = JSON.parse(output.stdout);
173
+ strict_1.default.equal(payload.profileDefaultsUpdated, true);
174
+ const store = JSON.parse(await promises_1.default.readFile(storePath, "utf8"));
175
+ strict_1.default.equal(store.profiles.staging.defaultAppId, "app_999");
176
+ strict_1.default.equal(store.profiles.staging.defaultOrgId, "org_staging");
177
+ });
178
+ });
179
+ });
180
+ (0, node_test_1.default)("app setup bootstraps profile, registers app, writes env, and pins cms registry", async () => {
181
+ await withTempDir(async (directory) => {
182
+ const storePath = node_path_1.default.join(directory, "profiles.json");
183
+ const envFilePath = node_path_1.default.join(directory, ".env.local");
184
+ await (0, profile_store_1.upsertProfile)({
185
+ name: "prod",
186
+ backendUrl: "",
187
+ appUrl: "",
188
+ defaultOrgId: undefined,
189
+ defaultAppId: undefined,
190
+ requiresConfirmation: true
191
+ }, { filePath: storePath });
192
+ const previous = process.env.SEVENLAYERS_PROFILE_STORE_PATH;
193
+ process.env.SEVENLAYERS_PROFILE_STORE_PATH = storePath;
194
+ try {
195
+ let callCount = 0;
196
+ await withMockFetch(async (input, init) => {
197
+ callCount += 1;
198
+ const url = String(input);
199
+ if (callCount === 1) {
200
+ strict_1.default.equal(url, "https://dashing-cuttlefish-674.eu-west-1.convex.site/api/v1/cli/applications");
201
+ strict_1.default.equal(init?.method, "POST");
202
+ const body = JSON.parse(String(init?.body));
203
+ strict_1.default.equal(body.organizationId, "org_prod");
204
+ strict_1.default.equal(body.name, "Segelschule Altwarp");
205
+ return jsonResponse({
206
+ success: true,
207
+ applicationId: "app_setup_1",
208
+ existingApplication: false,
209
+ backendUrl: "https://dashing-cuttlefish-674.eu-west-1.convex.site"
210
+ });
211
+ }
212
+ if (callCount === 2) {
213
+ strict_1.default.equal(url, "https://dashing-cuttlefish-674.eu-west-1.convex.site/api/v1/cli/applications/app_setup_1");
214
+ strict_1.default.equal(init?.method, "GET");
215
+ return jsonResponse({
216
+ success: true,
217
+ application: {
218
+ id: "app_setup_1",
219
+ name: "Segelschule Altwarp",
220
+ status: "active",
221
+ connection: {
222
+ features: ["crm"]
223
+ },
224
+ createdAt: 1,
225
+ updatedAt: 2
226
+ }
227
+ });
228
+ }
229
+ if (callCount === 3) {
230
+ strict_1.default.equal(url, "https://dashing-cuttlefish-674.eu-west-1.convex.site/api/v1/cli/applications/app_setup_1");
231
+ strict_1.default.equal(init?.method, "PATCH");
232
+ const body = JSON.parse(String(init?.body));
233
+ const features = body.connection.features;
234
+ strict_1.default.equal(features.includes("cms_registry:segelschule.home.v1"), true);
235
+ return jsonResponse({ success: true });
236
+ }
237
+ throw new Error(`Unexpected fetch call: ${url}`);
238
+ }, async () => {
239
+ const parsed = (0, args_1.parseArgv)([
240
+ "app",
241
+ "setup",
242
+ "--env",
243
+ "prod",
244
+ "--org-id",
245
+ "org_prod",
246
+ "--name",
247
+ "Segelschule Altwarp",
248
+ "--framework",
249
+ "nextjs",
250
+ "--typescript",
251
+ "--token",
252
+ "tok_123",
253
+ "--env-file",
254
+ envFilePath,
255
+ "--yes",
256
+ "--confirm-prod",
257
+ "PROD",
258
+ "--json"
259
+ ]);
260
+ const output = await captureOutput(() => (0, setup_1.handleAppSetup)(parsed));
261
+ strict_1.default.equal(output.exitCode, 0);
262
+ const payload = JSON.parse(output.stdout);
263
+ strict_1.default.equal(payload.applicationId, "app_setup_1");
264
+ strict_1.default.equal(payload.organizationId, "org_prod");
265
+ strict_1.default.equal(payload.profile, "prod");
266
+ const store = JSON.parse(await promises_1.default.readFile(storePath, "utf8"));
267
+ strict_1.default.equal(store.profiles.prod.backendUrl, "https://dashing-cuttlefish-674.eu-west-1.convex.site");
268
+ strict_1.default.equal(store.profiles.prod.defaultOrgId, "org_prod");
269
+ strict_1.default.equal(store.profiles.prod.defaultAppId, "app_setup_1");
270
+ const envContent = await promises_1.default.readFile(envFilePath, "utf8");
271
+ strict_1.default.match(envContent, /L4YERCAK3_BACKEND_URL=https:\/\/dashing-cuttlefish-674\.eu-west-1\.convex\.site/);
272
+ strict_1.default.match(envContent, /NEXT_PUBLIC_L4YERCAK3_BACKEND_URL=https:\/\/dashing-cuttlefish-674\.eu-west-1\.convex\.site/);
273
+ strict_1.default.match(envContent, /NEXT_PUBLIC_API_ENDPOINT_URL=https:\/\/dashing-cuttlefish-674\.eu-west-1\.convex\.site/);
274
+ strict_1.default.match(envContent, /NEXT_PUBLIC_CONVEX_URL=https:\/\/dashing-cuttlefish-674\.eu-west-1\.convex\.cloud/);
275
+ strict_1.default.match(envContent, /L4YERCAK3_ORG_ID=org_prod/);
276
+ strict_1.default.match(envContent, /L4YERCAK3_APP_ID=app_setup_1/);
277
+ strict_1.default.equal(callCount, 3);
278
+ });
279
+ }
280
+ finally {
281
+ if (previous === undefined) {
282
+ delete process.env.SEVENLAYERS_PROFILE_STORE_PATH;
283
+ }
284
+ else {
285
+ process.env.SEVENLAYERS_PROFILE_STORE_PATH = previous;
286
+ }
287
+ }
288
+ });
289
+ });
290
+ (0, node_test_1.default)("app link patches app metadata and fetches updated application", async () => {
291
+ await withProfileStore({ orgId: "org_staging", appId: "app_123" }, async () => {
292
+ let callCount = 0;
293
+ await withMockFetch(async (input, init) => {
294
+ callCount += 1;
295
+ const url = String(input);
296
+ if (callCount === 1) {
297
+ strict_1.default.equal(url, "https://example.convex.site/api/v1/cli/applications/app_123");
298
+ strict_1.default.equal(init?.method, "PATCH");
299
+ const body = JSON.parse(String(init?.body));
300
+ const connection = body.connection;
301
+ const deployment = body.deployment;
302
+ strict_1.default.deepEqual(connection.features, ["crm", "events"]);
303
+ strict_1.default.equal(deployment.githubRepo, "foundbrand/vc83-com");
304
+ return jsonResponse({ success: true });
305
+ }
306
+ strict_1.default.equal(url, "https://example.convex.site/api/v1/cli/applications/app_123");
307
+ strict_1.default.equal(init?.method, "GET");
308
+ return jsonResponse({
309
+ success: true,
310
+ application: {
311
+ id: "app_123",
312
+ name: "Demo App",
313
+ status: "active",
314
+ createdAt: 1,
315
+ updatedAt: 2
316
+ }
317
+ });
318
+ }, async () => {
319
+ const parsed = (0, args_1.parseArgv)([
320
+ "app",
321
+ "link",
322
+ "--env",
323
+ "staging",
324
+ "--token",
325
+ "tok_123",
326
+ "--feature",
327
+ "crm,events",
328
+ "--github-repo",
329
+ "foundbrand/vc83-com",
330
+ "--json"
331
+ ]);
332
+ const output = await captureOutput(() => (0, link_1.handleAppLink)(parsed));
333
+ strict_1.default.equal(output.exitCode, 0);
334
+ const payload = JSON.parse(output.stdout);
335
+ strict_1.default.equal(payload.success, true);
336
+ const application = payload.application;
337
+ strict_1.default.equal(application.id, "app_123");
338
+ strict_1.default.equal(callCount, 2);
339
+ });
340
+ });
341
+ });
342
+ (0, node_test_1.default)("app sync posts sync payload with model list and dry-run", async () => {
343
+ await withProfileStore({ orgId: "org_staging", appId: "app_123" }, async () => {
344
+ await withMockFetch(async (input, init) => {
345
+ const url = String(input);
346
+ strict_1.default.equal(url, "https://example.convex.site/api/v1/cli/applications/app_123/sync");
347
+ strict_1.default.equal(init?.method, "POST");
348
+ const body = JSON.parse(String(init?.body));
349
+ strict_1.default.equal(body.direction, "push");
350
+ strict_1.default.deepEqual(body.models, ["Contact", "Event"]);
351
+ strict_1.default.equal(body.dryRun, true);
352
+ return jsonResponse({ success: true, syncId: "sync_1" });
353
+ }, async () => {
354
+ const parsed = (0, args_1.parseArgv)([
355
+ "app",
356
+ "sync",
357
+ "--env",
358
+ "staging",
359
+ "--token",
360
+ "tok_123",
361
+ "--direction",
362
+ "push",
363
+ "--model",
364
+ "Contact",
365
+ "--model",
366
+ "Event",
367
+ "--dry-run",
368
+ "--json"
369
+ ]);
370
+ const output = await captureOutput(() => (0, sync_1.handleAppSync)(parsed));
371
+ strict_1.default.equal(output.exitCode, 0);
372
+ const payload = JSON.parse(output.stdout);
373
+ strict_1.default.equal(payload.success, true);
374
+ strict_1.default.equal(payload.direction, "push");
375
+ });
376
+ });
377
+ });
378
+ (0, node_test_1.default)("app pages sync posts parsed page declarations", async () => {
379
+ await withProfileStore({ orgId: "org_staging", appId: "app_123" }, async () => {
380
+ await withMockFetch(async (input, init) => {
381
+ const url = String(input);
382
+ strict_1.default.equal(url, "https://example.convex.site/api/v1/activity/pages/bulk");
383
+ strict_1.default.equal(init?.method, "POST");
384
+ const body = JSON.parse(String(init?.body));
385
+ strict_1.default.equal(body.applicationId, "app_123");
386
+ const pages = body.pages;
387
+ strict_1.default.equal(pages.length, 2);
388
+ strict_1.default.equal(pages[0].detectionMethod, "cli_detector");
389
+ strict_1.default.equal(pages[1].detectionMethod, "cli_manual");
390
+ return jsonResponse({
391
+ success: true,
392
+ total: 2,
393
+ created: 1,
394
+ updated: 1,
395
+ results: []
396
+ });
397
+ }, async () => {
398
+ const parsed = (0, args_1.parseArgv)([
399
+ "app",
400
+ "pages",
401
+ "sync",
402
+ "--env",
403
+ "staging",
404
+ "--token",
405
+ "tok_123",
406
+ "--page",
407
+ "/home:Home:static:cli_detector",
408
+ "--page",
409
+ "/about:About:static",
410
+ "--json"
411
+ ]);
412
+ const output = await captureOutput(() => (0, pages_1.handleAppPages)(parsed));
413
+ strict_1.default.equal(output.exitCode, 0);
414
+ const payload = JSON.parse(output.stdout);
415
+ strict_1.default.equal(payload.total, 2);
416
+ strict_1.default.equal(payload.created, 1);
417
+ strict_1.default.equal(payload.updated, 1);
418
+ });
419
+ });
420
+ });
421
+ (0, node_test_1.default)("page spec parser rejects malformed input", () => {
422
+ strict_1.default.throws(() => (0, pages_1.parsePageSpec)("/home"), /Invalid --page value/);
423
+ });
424
+ (0, node_test_1.default)("legacy sync bridges to app sync with migration message", async () => {
425
+ await withProfileStore({ orgId: "org_staging", appId: "app_123" }, async () => {
426
+ await withMockFetch(async (input, init) => {
427
+ const url = String(input);
428
+ strict_1.default.equal(url, "https://example.convex.site/api/v1/cli/applications/app_123/sync");
429
+ strict_1.default.equal(init?.method, "POST");
430
+ return jsonResponse({ success: true, syncId: "sync_legacy" });
431
+ }, async () => {
432
+ const parsed = (0, args_1.parseArgv)([
433
+ "sync",
434
+ "--env",
435
+ "staging",
436
+ "--token",
437
+ "tok_123"
438
+ ]);
439
+ const output = await captureOutput(() => (0, sync_2.handleLegacySync)(parsed));
440
+ strict_1.default.equal(output.exitCode, 0);
441
+ strict_1.default.match(output.stdout, /Legacy command 'sync' mapped to 'sevenlayers app sync'/);
442
+ });
443
+ });
444
+ });
445
+ (0, node_test_1.default)("legacy pages defaults to app pages sync bridge", async () => {
446
+ await withProfileStore({ orgId: "org_staging", appId: "app_123" }, async () => {
447
+ const parsed = (0, args_1.parseArgv)([
448
+ "pages",
449
+ "--env",
450
+ "staging",
451
+ "--token",
452
+ "tok_123",
453
+ "--page",
454
+ "/home:Home:static",
455
+ "--dry-run"
456
+ ]);
457
+ const output = await captureOutput(() => (0, pages_2.handleLegacyPages)(parsed));
458
+ strict_1.default.equal(output.exitCode, 0);
459
+ strict_1.default.match(output.stdout, /Legacy command 'pages' mapped to 'sevenlayers app pages sync'/);
460
+ });
461
+ });
462
+ //# sourceMappingURL=app-commands.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-commands.test.js","sourceRoot":"","sources":["../../src/tests/app-commands.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=booking-commands.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking-commands.test.d.ts","sourceRoot":"","sources":["../../src/tests/booking-commands.test.ts"],"names":[],"mappings":""}