@cimplify/cli 0.13.3 → 0.13.5

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 (96) hide show
  1. package/README.md +11 -8
  2. package/dist/{add-F7GKDXAD.mjs → add-NZ47GUMD.mjs} +4 -5
  3. package/dist/{assets-Y4JE6MSG.mjs → assets-OEY6FHHZ.mjs} +4 -5
  4. package/dist/{auth-step-up-EHL5PM2L.mjs → auth-step-up-ALEUQUCE.mjs} +5 -6
  5. package/dist/{cancel-QSZE2XC2.mjs → cancel-FD66LTTS.mjs} +4 -5
  6. package/dist/chunk-4O4G2CDE.mjs +162 -0
  7. package/dist/{chunk-C4M3DXKC.mjs → chunk-5KYR6WJB.mjs} +10 -2
  8. package/dist/{chunk-QKDCMUWP.mjs → chunk-5YVMA7A5.mjs} +3 -2
  9. package/dist/{chunk-4YIFBYBV.mjs → chunk-5ZQURRIM.mjs} +1 -2
  10. package/dist/{chunk-QA36VSLX.mjs → chunk-6CHBU7O4.mjs} +1 -1
  11. package/dist/{chunk-SVJPU4K7.mjs → chunk-BDC7XQIL.mjs} +51 -43
  12. package/dist/{chunk-72VM62IN.mjs → chunk-GOTWRZVM.mjs} +6 -6
  13. package/dist/{chunk-UP7N53C4.mjs → chunk-IK6NQHTG.mjs} +1 -1
  14. package/dist/{chunk-OVHZV57L.mjs → chunk-MLVBE5V2.mjs} +1 -1
  15. package/dist/{chunk-RR4NOZGY.mjs → chunk-OE7YRDLH.mjs} +5 -6
  16. package/dist/{chunk-VJJDGHZC.mjs → chunk-PDGKBATF.mjs} +1 -2
  17. package/dist/{chunk-5U5OXOPN.mjs → chunk-RU53TQLZ.mjs} +1 -1
  18. package/dist/{chunk-JPXK5BLA.mjs → chunk-TOQGLBWF.mjs} +1 -1
  19. package/dist/{deploy-UTAYLZOM.mjs → deploy-SLRFPGTH.mjs} +8 -9
  20. package/dist/{dev-SYFBDJSY.mjs → dev-L3W6UXYN.mjs} +19 -26
  21. package/dist/dispatcher.mjs +41 -33
  22. package/dist/{doctor-QPCWLW4L.mjs → doctor-6NI2XNTD.mjs} +8 -9
  23. package/dist/{domains-OS3DXSDN.mjs → domains-7D7WJAMC.mjs} +5 -6
  24. package/dist/{env-UVO4OIEO.mjs → env-PAENNABF.mjs} +6 -7
  25. package/dist/{explain-XB67PYQQ.mjs → explain-HPRJBFHS.mjs} +3 -4
  26. package/dist/{inspect-ULWQHT7J.mjs → inspect-MGVG4Z44.mjs} +3 -4
  27. package/dist/introspect-3OYRCVUF.mjs +8 -0
  28. package/dist/{link-VQN2WPZO.mjs → link-KGNQWCSZ.mjs} +4 -5
  29. package/dist/lint-EYKIQ6RO.mjs +1331 -0
  30. package/dist/{list-DZTPWNU3.mjs → list-QNEUCCP5.mjs} +3 -4
  31. package/dist/{login-UZ5Y7GIO.mjs → login-NCO4P5G5.mjs} +5 -6
  32. package/dist/{logout-XYWZR6QJ.mjs → logout-MF6SOLPE.mjs} +2 -3
  33. package/dist/{logs-YNXDXAF7.mjs → logs-76TCJBIQ.mjs} +4 -5
  34. package/dist/{mock-HFVAAYK2.mjs → mock-CAWNXSGC.mjs} +2 -3
  35. package/dist/{projects-RJ44DJKZ.mjs → projects-U75DOOR7.mjs} +4 -5
  36. package/dist/repo-IE5IOLR5.mjs +8 -0
  37. package/dist/{rollback-Z2PRL7FS.mjs → rollback-ZL3V7SYH.mjs} +5 -6
  38. package/dist/{status-RR3GGTVU.mjs → status-52HG63FE.mjs} +4 -5
  39. package/dist/{unlink-JBVZYOA3.mjs → unlink-TCG3NBAR.mjs} +2 -3
  40. package/dist/{update-B5HANRBK.mjs → update-47HG7LN7.mjs} +4 -5
  41. package/dist/{whoami-5G32NNEP.mjs → whoami-B5Y5KSOZ.mjs} +3 -4
  42. package/package.json +3 -2
  43. package/templates/storefront-auto/app/categories/[slug]/page.tsx +1 -0
  44. package/templates/storefront-auto/app/collections/[slug]/page.tsx +1 -0
  45. package/templates/storefront-auto/app/page.tsx +4 -1
  46. package/templates/storefront-auto/app/products/[slug]/page.tsx +1 -0
  47. package/templates/storefront-auto/components/auth-error-toast.tsx +2 -2
  48. package/templates/storefront-auto/package.json +1 -1
  49. package/templates/storefront-bakery/app/categories/[slug]/page.tsx +1 -0
  50. package/templates/storefront-bakery/app/collections/[slug]/page.tsx +1 -0
  51. package/templates/storefront-bakery/app/page.tsx +1 -1
  52. package/templates/storefront-bakery/components/auth-error-toast.tsx +2 -2
  53. package/templates/storefront-bakery/package.json +1 -1
  54. package/templates/storefront-fashion/app/categories/[slug]/page.tsx +1 -0
  55. package/templates/storefront-fashion/app/collections/[slug]/page.tsx +1 -0
  56. package/templates/storefront-fashion/app/page.tsx +1 -1
  57. package/templates/storefront-fashion/app/products/[slug]/page.tsx +1 -0
  58. package/templates/storefront-fashion/components/auth-error-toast.tsx +2 -2
  59. package/templates/storefront-fashion/package.json +1 -1
  60. package/templates/storefront-grocery/app/categories/[slug]/page.tsx +1 -0
  61. package/templates/storefront-grocery/app/collections/[slug]/page.tsx +1 -0
  62. package/templates/storefront-grocery/app/page.tsx +1 -1
  63. package/templates/storefront-grocery/components/auth-error-toast.tsx +2 -2
  64. package/templates/storefront-grocery/package.json +1 -1
  65. package/templates/storefront-pharmacy/app/categories/[slug]/page.tsx +1 -0
  66. package/templates/storefront-pharmacy/app/collections/[slug]/page.tsx +1 -0
  67. package/templates/storefront-pharmacy/app/globals.css +11 -3
  68. package/templates/storefront-pharmacy/app/page.tsx +4 -1
  69. package/templates/storefront-pharmacy/app/products/[slug]/page.tsx +1 -0
  70. package/templates/storefront-pharmacy/components/auth-error-toast.tsx +2 -2
  71. package/templates/storefront-pharmacy/components/pharmacy-hero.tsx +10 -3
  72. package/templates/storefront-pharmacy/components/urgent-ctas.tsx +30 -5
  73. package/templates/storefront-pharmacy/package.json +1 -1
  74. package/templates/storefront-restaurant/app/categories/[slug]/page.tsx +1 -0
  75. package/templates/storefront-restaurant/app/collections/[slug]/page.tsx +1 -0
  76. package/templates/storefront-restaurant/app/page.tsx +1 -1
  77. package/templates/storefront-restaurant/components/auth-error-toast.tsx +2 -2
  78. package/templates/storefront-restaurant/package.json +1 -1
  79. package/templates/storefront-retail/app/categories/[slug]/page.tsx +1 -0
  80. package/templates/storefront-retail/app/collections/[slug]/page.tsx +1 -0
  81. package/templates/storefront-retail/app/page.tsx +1 -1
  82. package/templates/storefront-retail/app/products/[slug]/page.tsx +1 -0
  83. package/templates/storefront-retail/components/auth-error-toast.tsx +2 -2
  84. package/templates/storefront-retail/package.json +1 -1
  85. package/templates/storefront-services/app/book/book-client.tsx +3 -5
  86. package/templates/storefront-services/app/categories/[slug]/page.tsx +1 -0
  87. package/templates/storefront-services/app/collections/[slug]/page.tsx +1 -0
  88. package/templates/storefront-services/app/page.tsx +1 -1
  89. package/templates/storefront-services/components/auth-error-toast.tsx +2 -2
  90. package/templates/storefront-services/package.json +1 -1
  91. package/dist/agent-CEYZNYXA.mjs +0 -25
  92. package/dist/chunk-KNTFZ6LD.mjs +0 -2090
  93. package/dist/chunk-YPC4VU65.mjs +0 -76
  94. package/dist/chunk-ZPVN6UXL.mjs +0 -74
  95. package/dist/introspect-D4473WPV.mjs +0 -9
  96. package/dist/repo-OK6CVG3G.mjs +0 -9
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { gitDetectRoot, gitCurrentBranch, gitCurrentSha, gitStatusPorcelain } from './chunk-OVHZV57L.mjs';
3
- import { parseEnvFile } from './chunk-5U5OXOPN.mjs';
4
- import { package_default } from './chunk-QKDCMUWP.mjs';
5
- import { parseArgs } from './chunk-C4M3DXKC.mjs';
6
- import { readAuthOrNull, readProjectLinkOrNull, readProjectState } from './chunk-QA36VSLX.mjs';
7
- import { bold, dim, yellow, green, info, result, red } from './chunk-ZPVN6UXL.mjs';
2
+ import { gitDetectRoot, gitCurrentBranch, gitCurrentSha, gitStatusPorcelain } from './chunk-MLVBE5V2.mjs';
3
+ import { parseEnvFile } from './chunk-RU53TQLZ.mjs';
4
+ import { package_default } from './chunk-5YVMA7A5.mjs';
5
+ import { parseArgs } from './chunk-5KYR6WJB.mjs';
6
+ import { readAuthOrNull, readProjectLinkOrNull, readProjectState } from './chunk-6CHBU7O4.mjs';
7
+ import { bold, dim, yellow, green, info, result, red } from './chunk-4O4G2CDE.mjs';
8
8
  import { promises } from 'fs';
9
9
  import path from 'path';
10
10
 
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
2
+ import { CliError, CLI_ERROR_CODE } from './chunk-4O4G2CDE.mjs';
3
3
  import { randomBytes, createHash } from 'crypto';
4
4
  import { createServer } from 'http';
5
5
  import { spawn } from 'child_process';
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
2
+ import { CliError, CLI_ERROR_CODE } from './chunk-4O4G2CDE.mjs';
3
3
  import { spawn } from 'child_process';
4
4
 
5
5
  var GIT_BINARY = "git";
@@ -1,11 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { promptYesNo } from './chunk-4YIFBYBV.mjs';
2
+ import { promptYesNo } from './chunk-5ZQURRIM.mjs';
3
3
  import { TOKEN_PURPOSE, REPO_PROVIDER, REPO_PROVIDER_VALUES } from './chunk-MXYUAJEW.mjs';
4
- import { parseArgs, flagString, flagBool } from './chunk-C4M3DXKC.mjs';
5
- import { ApiClient } from './chunk-JPXK5BLA.mjs';
6
- import { readAuth, readProjectLink } from './chunk-QA36VSLX.mjs';
7
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
8
- import { isJsonMode, result, dim, success, info, bold } from './chunk-ZPVN6UXL.mjs';
4
+ import { parseArgs, flagString, flagBool } from './chunk-5KYR6WJB.mjs';
5
+ import { ApiClient } from './chunk-TOQGLBWF.mjs';
6
+ import { readAuth, readProjectLink } from './chunk-6CHBU7O4.mjs';
7
+ import { CliError, CLI_ERROR_CODE, isJsonMode, result, dim, success, info, bold } from './chunk-4O4G2CDE.mjs';
9
8
 
10
9
  // src/commands/repo.ts
11
10
  var SUB_PROVISION = "provision";
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { TERMINAL_DEPLOYMENT_STATUSES, DEPLOYMENT_STATUS } from './chunk-MXYUAJEW.mjs';
3
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
4
- import { dim, failure, success, isJsonMode } from './chunk-ZPVN6UXL.mjs';
3
+ import { dim, CliError, CLI_ERROR_CODE, failure, success, isJsonMode } from './chunk-4O4G2CDE.mjs';
5
4
 
6
5
  // src/progress.ts
7
6
  var POLL_INTERVAL_MS = 1e3;
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
2
+ import { CliError, CLI_ERROR_CODE } from './chunk-4O4G2CDE.mjs';
3
3
 
4
4
  // src/envfile.ts
5
5
  var COMMENT_CHAR = "#";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
2
+ import { CliError, CLI_ERROR_CODE } from './chunk-4O4G2CDE.mjs';
3
3
 
4
4
  // src/api-client.ts
5
5
  var DEFAULT_API_BASE_URL = "https://api.cimplify.io";
@@ -1,14 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { isFreestyleRemote, gitDetectRoot, gitStatusPorcelain, gitCurrentBranch, gitCurrentSha, gitGetRemoteUrl, gitPushToUrl, gitPush } from './chunk-OVHZV57L.mjs';
3
- import { pollDeployment } from './chunk-VJJDGHZC.mjs';
4
- import { fetchRepoRecord, fetchCloneToken } from './chunk-RR4NOZGY.mjs';
5
- import { promptYesNo } from './chunk-4YIFBYBV.mjs';
2
+ import { isFreestyleRemote, gitDetectRoot, gitStatusPorcelain, gitCurrentBranch, gitCurrentSha, gitGetRemoteUrl, gitPushToUrl, gitPush } from './chunk-MLVBE5V2.mjs';
3
+ import { pollDeployment } from './chunk-PDGKBATF.mjs';
4
+ import { fetchRepoRecord, fetchCloneToken } from './chunk-OE7YRDLH.mjs';
5
+ import { promptYesNo } from './chunk-5ZQURRIM.mjs';
6
6
  import { REPO_PROVIDER, ENV_SCOPE, DEPLOY_TRIGGER, DEPLOYMENT_STATUS, TOKEN_PURPOSE } from './chunk-MXYUAJEW.mjs';
7
- import { parseArgs, flagBool, flagString } from './chunk-C4M3DXKC.mjs';
8
- import { ApiClient } from './chunk-JPXK5BLA.mjs';
9
- import { readAuth, readProjectLink, writeProjectState } from './chunk-QA36VSLX.mjs';
10
- import { CliError, CLI_ERROR_CODE, EXIT_CODE } from './chunk-YPC4VU65.mjs';
11
- import { info, dim, step, success, result } from './chunk-ZPVN6UXL.mjs';
7
+ import { parseArgs, flagBool, flagString } from './chunk-5KYR6WJB.mjs';
8
+ import { ApiClient } from './chunk-TOQGLBWF.mjs';
9
+ import { readAuth, readProjectLink, writeProjectState } from './chunk-6CHBU7O4.mjs';
10
+ import { CliError, CLI_ERROR_CODE, info, dim, step, success, result, EXIT_CODE } from './chunk-4O4G2CDE.mjs';
12
11
 
13
12
  // src/commands/deploy.ts
14
13
  var FLAG_PROD = "prod";
@@ -1,12 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { startTunnelRuntime, TUNNEL_URL_ENV } from './chunk-KNTFZ6LD.mjs';
3
- import { parseEnvFile, formatEnvFile } from './chunk-5U5OXOPN.mjs';
2
+ import { parseEnvFile, formatEnvFile } from './chunk-RU53TQLZ.mjs';
4
3
  import { ENV_SCOPE, PUBLIC_ENV_PREFIX } from './chunk-MXYUAJEW.mjs';
5
- import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
6
- import { ApiClient } from './chunk-JPXK5BLA.mjs';
7
- import { readAuth, readProjectLink } from './chunk-QA36VSLX.mjs';
8
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
9
- import { info, dim } from './chunk-ZPVN6UXL.mjs';
4
+ import { parseArgs, flagBool } from './chunk-5KYR6WJB.mjs';
5
+ import { ApiClient } from './chunk-TOQGLBWF.mjs';
6
+ import { readAuth, readProjectLink } from './chunk-6CHBU7O4.mjs';
7
+ import { info, CliError, CLI_ERROR_CODE, dim } from './chunk-4O4G2CDE.mjs';
10
8
  import { spawn } from 'child_process';
11
9
  import { promises } from 'fs';
12
10
  import path from 'path';
@@ -26,9 +24,7 @@ async function applyPreviewOrigin(cwd, originList) {
26
24
  const result = await ensurePreviewOrigin(cwd, origins);
27
25
  if (result.status === "unrecognized") {
28
26
  info(
29
- dim(
30
- `(preview: could not resolve ${result.file} config shape; hot-reload may be limited)`
31
- )
27
+ dim(`(preview: could not resolve ${result.file} config shape; hot-reload may be limited)`)
32
28
  );
33
29
  }
34
30
  } catch (err) {
@@ -126,7 +122,9 @@ async function run(argv) {
126
122
  cwd
127
123
  );
128
124
  const label = link.businessHandle ?? auth.businessHandle ?? auth.businessId;
129
- info(`Dev mode: connected to ${label} production data (${publicCount} public var${publicCount === 1 ? "" : "s"} merged)`);
125
+ info(
126
+ `Dev mode: connected to ${label} production data (${publicCount} public var${publicCount === 1 ? "" : "s"} merged)`
127
+ );
130
128
  } else if (previewOrigin) {
131
129
  info("Dev mode: hosted preview");
132
130
  } else {
@@ -139,31 +137,26 @@ async function run(argv) {
139
137
  `No "${SCRIPT_DEV}" script in package.json. Add one (e.g. "next dev") and re-run.`
140
138
  );
141
139
  }
142
- let stopTunnel = null;
143
140
  if (previewOrigin) {
144
141
  await applyPreviewOrigin(cwd, previewOrigin);
145
- if (!process.env[AGENT_EXTERNAL_ENV]) {
146
- stopTunnel = startTunnelRuntime(cwd);
147
- }
148
142
  }
149
143
  const pm = await detectPackageManager(cwd);
150
144
  info(dim(`(running: ${pm} run ${SCRIPT_DEV})`));
151
- const hosted = Boolean(process.env[AGENT_EXTERNAL_ENV] || process.env[TUNNEL_URL_ENV]);
145
+ const hosted = Boolean(previewOrigin || process.env[AGENT_EXTERNAL_ENV]);
152
146
  const child = spawn(pm, ["run", SCRIPT_DEV], {
153
147
  cwd,
154
148
  stdio: [hosted ? "pipe" : "inherit", "inherit", "inherit"]
155
149
  });
156
- try {
157
- await new Promise((resolve, reject) => {
158
- child.on("error", (err) => reject(new CliError(CLI_ERROR_CODE.INVALID_INPUT, `Failed to spawn ${pm}: ${err.message}`)));
159
- child.on("close", (code) => {
160
- process.exitCode = code ?? 0;
161
- resolve();
162
- });
150
+ await new Promise((resolve, reject) => {
151
+ child.on(
152
+ "error",
153
+ (err) => reject(new CliError(CLI_ERROR_CODE.INVALID_INPUT, `Failed to spawn ${pm}: ${err.message}`))
154
+ );
155
+ child.on("close", (code) => {
156
+ process.exitCode = code ?? 0;
157
+ resolve();
163
158
  });
164
- } finally {
165
- stopTunnel?.();
166
- }
159
+ });
167
160
  }
168
161
 
169
162
  export { run as default, detectPackageManager, mergeEnvEntries };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { TEMPLATES } from './chunk-SVJPU4K7.mjs';
3
- import { package_default } from './chunk-QKDCMUWP.mjs';
2
+ import { TEMPLATES } from './chunk-BDC7XQIL.mjs';
3
+ import { package_default } from './chunk-5YVMA7A5.mjs';
4
4
 
5
5
  // src/dispatcher.ts
6
6
  var VERSION = package_default.version ?? "unknown";
@@ -21,6 +21,7 @@ Project:
21
21
  cimplify introspect Snapshot the current storefront: auth, link, brand, mock, env, git
22
22
  cimplify inspect [catalogue] Read-only snapshot of the live catalogue (products + collections + gaps)
23
23
  cimplify doctor [--offline] Run pre-flight checks; verdicts + fix hints (exit 1 on any fail)
24
+ cimplify lint [paths...] [flags] Check storefront source against the installed SDK's rules
24
25
  cimplify explain [topic] Print canonical guidance on cart, products, bundles, errors, \u2026
25
26
  cimplify assets upload <dir> Upload storefront brand assets to the Cimplify CDN
26
27
  cimplify assets ls List uploaded assets from cimplify-assets.json
@@ -33,7 +34,6 @@ Deploy:
33
34
  cimplify status Show the latest deployment for the linked project
34
35
  cimplify logs [flags] Stream build logs for the latest (or given) deployment
35
36
  cimplify dev [--remote] Run your project's dev script (optionally with prod env)
36
- cimplify agent Supervise the preview tunnel (dev VMs; runs in its own unit)
37
37
  cimplify mock [flags] Boot the local Cimplify API mock (custom seeds welcome)
38
38
  cimplify mock init [--from <seed>] Scaffold a cimplify.seed.ts (or --format json) to customise
39
39
 
@@ -123,6 +123,10 @@ Logs flags:
123
123
  --deployment <id> Override which deployment to read (default: latest)
124
124
  --follow Poll until the deployment terminates
125
125
 
126
+ Lint flags:
127
+ --format human|json Stable human diagnostics or a JSON result envelope
128
+ --fix Apply mechanically safe fixes and lint changed files again
129
+
126
130
  Local mock server (custom demo data, no fork needed):
127
131
  cimplify mock [flags] Boot the mock (auto-loads ./cimplify.seed.{ts,json})
128
132
  cimplify mock init --from retail Scaffold an editable seed to start from a built-in
@@ -130,33 +134,33 @@ Local mock server (custom demo data, no fork needed):
130
134
  cimplify mock --seed-module ./seed.ts Boot from a seed module (defineSeed from @cimplify/sdk/mock)
131
135
  `;
132
136
  var COMMANDS = {
133
- login: () => import('./login-UZ5Y7GIO.mjs'),
134
- logout: () => import('./logout-XYWZR6QJ.mjs'),
135
- whoami: () => import('./whoami-5G32NNEP.mjs'),
136
- projects: () => import('./projects-RJ44DJKZ.mjs'),
137
- link: () => import('./link-VQN2WPZO.mjs'),
138
- unlink: () => import('./unlink-JBVZYOA3.mjs'),
139
- deploy: () => import('./deploy-UTAYLZOM.mjs'),
140
- cancel: () => import('./cancel-QSZE2XC2.mjs'),
141
- rollback: () => import('./rollback-Z2PRL7FS.mjs'),
142
- env: () => import('./env-UVO4OIEO.mjs'),
143
- domains: () => import('./domains-OS3DXSDN.mjs'),
144
- logs: () => import('./logs-YNXDXAF7.mjs'),
145
- status: () => import('./status-RR3GGTVU.mjs'),
146
- dev: () => import('./dev-SYFBDJSY.mjs'),
147
- agent: () => import('./agent-CEYZNYXA.mjs'),
148
- mock: () => import('./mock-HFVAAYK2.mjs'),
149
- introspect: () => import('./introspect-D4473WPV.mjs'),
150
- inspect: () => import('./inspect-ULWQHT7J.mjs'),
151
- doctor: () => import('./doctor-QPCWLW4L.mjs'),
152
- explain: () => import('./explain-XB67PYQQ.mjs'),
153
- assets: () => import('./assets-Y4JE6MSG.mjs'),
154
- repo: () => import('./repo-OK6CVG3G.mjs'),
155
- list: () => import('./list-DZTPWNU3.mjs'),
156
- add: () => import('./add-F7GKDXAD.mjs'),
157
- update: () => import('./update-B5HANRBK.mjs'),
158
- upgrade: () => import('./update-B5HANRBK.mjs'),
159
- "auth-step-up": () => import('./auth-step-up-EHL5PM2L.mjs')
137
+ login: () => import('./login-NCO4P5G5.mjs'),
138
+ logout: () => import('./logout-MF6SOLPE.mjs'),
139
+ whoami: () => import('./whoami-B5Y5KSOZ.mjs'),
140
+ projects: () => import('./projects-U75DOOR7.mjs'),
141
+ link: () => import('./link-KGNQWCSZ.mjs'),
142
+ unlink: () => import('./unlink-TCG3NBAR.mjs'),
143
+ deploy: () => import('./deploy-SLRFPGTH.mjs'),
144
+ cancel: () => import('./cancel-FD66LTTS.mjs'),
145
+ rollback: () => import('./rollback-ZL3V7SYH.mjs'),
146
+ env: () => import('./env-PAENNABF.mjs'),
147
+ domains: () => import('./domains-7D7WJAMC.mjs'),
148
+ logs: () => import('./logs-76TCJBIQ.mjs'),
149
+ status: () => import('./status-52HG63FE.mjs'),
150
+ dev: () => import('./dev-L3W6UXYN.mjs'),
151
+ mock: () => import('./mock-CAWNXSGC.mjs'),
152
+ introspect: () => import('./introspect-3OYRCVUF.mjs'),
153
+ inspect: () => import('./inspect-MGVG4Z44.mjs'),
154
+ doctor: () => import('./doctor-6NI2XNTD.mjs'),
155
+ lint: () => import('./lint-EYKIQ6RO.mjs'),
156
+ explain: () => import('./explain-HPRJBFHS.mjs'),
157
+ assets: () => import('./assets-OEY6FHHZ.mjs'),
158
+ repo: () => import('./repo-IE5IOLR5.mjs'),
159
+ list: () => import('./list-QNEUCCP5.mjs'),
160
+ add: () => import('./add-NZ47GUMD.mjs'),
161
+ update: () => import('./update-47HG7LN7.mjs'),
162
+ upgrade: () => import('./update-47HG7LN7.mjs'),
163
+ "auth-step-up": () => import('./auth-step-up-ALEUQUCE.mjs')
160
164
  };
161
165
  var COMMAND_PREFIXES = {
162
166
  auth: { "step-up": "auth-step-up" }
@@ -166,9 +170,11 @@ function extractGlobalFlags(argv) {
166
170
  const cleaned = [];
167
171
  let json = process.env.CIMPLIFY_JSON === "1" || process.env.CIMPLIFY_JSON === "true";
168
172
  let yes = false;
173
+ let optionsEnded = false;
169
174
  for (const a of argv) {
170
- if (!GLOBAL_FLAGS.has(a)) {
175
+ if (optionsEnded || !GLOBAL_FLAGS.has(a)) {
171
176
  cleaned.push(a);
177
+ if (a === "--") optionsEnded = true;
172
178
  continue;
173
179
  }
174
180
  if (a === "--json") json = true;
@@ -342,8 +348,10 @@ async function emitError(sub, err) {
342
348
  `);
343
349
  } else {
344
350
  const message = err instanceof Error ? err.message : String(err);
345
- process.stdout.write(`${JSON.stringify({ ok: false, error: { code: "INTERNAL", message } })}
346
- `);
351
+ process.stdout.write(
352
+ `${JSON.stringify({ ok: false, error: { code: "INTERNAL", message } })}
353
+ `
354
+ );
347
355
  }
348
356
  return;
349
357
  }
@@ -1,13 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import { gatherIntrospection } from './chunk-72VM62IN.mjs';
3
- import './chunk-OVHZV57L.mjs';
4
- import './chunk-5U5OXOPN.mjs';
5
- import './chunk-QKDCMUWP.mjs';
6
- import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
7
- import { SDK_ENV_API_URL, DEFAULT_API_BASE_URL, ApiClient, ENV_API_BASE_URL } from './chunk-JPXK5BLA.mjs';
8
- import { readAuthOrNull } from './chunk-QA36VSLX.mjs';
9
- import { isCliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
10
- import { bold, dim, info, result, red, yellow, green } from './chunk-ZPVN6UXL.mjs';
2
+ import { gatherIntrospection } from './chunk-GOTWRZVM.mjs';
3
+ import './chunk-MLVBE5V2.mjs';
4
+ import './chunk-RU53TQLZ.mjs';
5
+ import './chunk-5YVMA7A5.mjs';
6
+ import { parseArgs, flagBool } from './chunk-5KYR6WJB.mjs';
7
+ import { SDK_ENV_API_URL, DEFAULT_API_BASE_URL, ApiClient, ENV_API_BASE_URL } from './chunk-TOQGLBWF.mjs';
8
+ import { readAuthOrNull } from './chunk-6CHBU7O4.mjs';
9
+ import { bold, dim, info, result, isCliError, CLI_ERROR_CODE, red, yellow, green } from './chunk-4O4G2CDE.mjs';
11
10
  import { promises } from 'fs';
12
11
  import path from 'path';
13
12
 
@@ -1,11 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { promptYesNo } from './chunk-4YIFBYBV.mjs';
2
+ import { promptYesNo } from './chunk-5ZQURRIM.mjs';
3
3
  import { ENV_SCOPE, DOMAIN_TYPE } from './chunk-MXYUAJEW.mjs';
4
- import { parseArgs, flagBool, flagString } from './chunk-C4M3DXKC.mjs';
5
- import { ApiClient } from './chunk-JPXK5BLA.mjs';
6
- import { readAuth, readProjectLink } from './chunk-QA36VSLX.mjs';
7
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
8
- import { result, info, dim, bold, success } from './chunk-ZPVN6UXL.mjs';
4
+ import { parseArgs, flagBool, flagString } from './chunk-5KYR6WJB.mjs';
5
+ import { ApiClient } from './chunk-TOQGLBWF.mjs';
6
+ import { readAuth, readProjectLink } from './chunk-6CHBU7O4.mjs';
7
+ import { CliError, CLI_ERROR_CODE, result, info, dim, bold, success } from './chunk-4O4G2CDE.mjs';
9
8
 
10
9
  // src/commands/domains.ts
11
10
  var SUB_LS = "ls";
@@ -1,12 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import { formatEnvFile, parseEnvFile, parseKeyValueArg } from './chunk-5U5OXOPN.mjs';
3
- import { promptYesNo } from './chunk-4YIFBYBV.mjs';
2
+ import { formatEnvFile, parseEnvFile, parseKeyValueArg } from './chunk-RU53TQLZ.mjs';
3
+ import { promptYesNo } from './chunk-5ZQURRIM.mjs';
4
4
  import { ENV_SCOPE, PUBLIC_ENV_PREFIX, SECRET_MASK } from './chunk-MXYUAJEW.mjs';
5
- import { parseArgs, flagString, flagBool } from './chunk-C4M3DXKC.mjs';
6
- import { ApiClient } from './chunk-JPXK5BLA.mjs';
7
- import { readAuth, readProjectLink } from './chunk-QA36VSLX.mjs';
8
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
9
- import { info, dim, result, bold, success } from './chunk-ZPVN6UXL.mjs';
5
+ import { parseArgs, flagString, flagBool } from './chunk-5KYR6WJB.mjs';
6
+ import { ApiClient } from './chunk-TOQGLBWF.mjs';
7
+ import { readAuth, readProjectLink } from './chunk-6CHBU7O4.mjs';
8
+ import { CliError, CLI_ERROR_CODE, info, dim, result, bold, success } from './chunk-4O4G2CDE.mjs';
10
9
  import { promises } from 'fs';
11
10
  import path from 'path';
12
11
 
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { package_default } from './chunk-QKDCMUWP.mjs';
3
- import { parseArgs } from './chunk-C4M3DXKC.mjs';
4
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
5
- import { bold, dim, info, result } from './chunk-ZPVN6UXL.mjs';
2
+ import { package_default } from './chunk-5YVMA7A5.mjs';
3
+ import { parseArgs } from './chunk-5KYR6WJB.mjs';
4
+ import { bold, dim, info, result, CliError, CLI_ERROR_CODE } from './chunk-4O4G2CDE.mjs';
6
5
 
7
6
  // src/embedded-docs.ts
8
7
  var TOPICS = [
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { parseEnvFile } from './chunk-5U5OXOPN.mjs';
3
- import { parseArgs, flagString, flagBool } from './chunk-C4M3DXKC.mjs';
4
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
5
- import { isJsonMode, result, info, bold, dim, yellow, green, red } from './chunk-ZPVN6UXL.mjs';
2
+ import { parseEnvFile } from './chunk-RU53TQLZ.mjs';
3
+ import { parseArgs, flagString, flagBool } from './chunk-5KYR6WJB.mjs';
4
+ import { CliError, CLI_ERROR_CODE, isJsonMode, result, info, bold, dim, yellow, green, red } from './chunk-4O4G2CDE.mjs';
6
5
  import { promises } from 'fs';
7
6
  import path from 'path';
8
7
  import { createCimplifyClient } from '@cimplify/sdk';
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ export { run as default, extractMockSeed, gatherIntrospection, renderIntrospection } from './chunk-GOTWRZVM.mjs';
3
+ import './chunk-MLVBE5V2.mjs';
4
+ import './chunk-RU53TQLZ.mjs';
5
+ import './chunk-5YVMA7A5.mjs';
6
+ import './chunk-5KYR6WJB.mjs';
7
+ import './chunk-6CHBU7O4.mjs';
8
+ import './chunk-4O4G2CDE.mjs';
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { parseArgs } from './chunk-C4M3DXKC.mjs';
3
- import { ApiClient } from './chunk-JPXK5BLA.mjs';
4
- import { readAuth, writeProjectLink } from './chunk-QA36VSLX.mjs';
5
- import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
6
- import { success, info, dim, result } from './chunk-ZPVN6UXL.mjs';
2
+ import { parseArgs } from './chunk-5KYR6WJB.mjs';
3
+ import { ApiClient } from './chunk-TOQGLBWF.mjs';
4
+ import { readAuth, writeProjectLink } from './chunk-6CHBU7O4.mjs';
5
+ import { CliError, CLI_ERROR_CODE, success, info, dim, result } from './chunk-4O4G2CDE.mjs';
7
6
 
8
7
  // src/commands/link.ts
9
8
  function projectEndpoint(businessId, projectId) {