@cimplify/cli 0.15.3 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -2
  3. package/dist/add-SXC6RUPQ.mjs +140 -0
  4. package/dist/{add-KRIIKAS4.mjs → add-XQVQLD3F.mjs} +4 -4
  5. package/dist/ai-NQH5L4I6.mjs +17 -0
  6. package/dist/{assets-CWB72PZG.mjs → assets-FZGVOQXH.mjs} +12 -7
  7. package/dist/{auth-step-up-Z6KOTTV7.mjs → auth-step-up-67LCPDNL.mjs} +5 -5
  8. package/dist/build-J4ZUIOPX.mjs +625 -0
  9. package/dist/{cancel-ZHVVILOU.mjs → cancel-VGJHZJ4J.mjs} +4 -4
  10. package/dist/capture-RAJ2B3BH.mjs +69 -0
  11. package/dist/chunk-25ZPFHLF.mjs +51 -0
  12. package/dist/chunk-47ZXSY47.mjs +52 -0
  13. package/dist/{chunk-O2TO2J4I.mjs → chunk-54J3XR4T.mjs} +2 -2
  14. package/dist/chunk-5HP2INMY.mjs +10631 -0
  15. package/dist/chunk-7JR6JCFF.mjs +32 -0
  16. package/dist/chunk-7PQL7E7K.mjs +68 -0
  17. package/dist/chunk-AKACUJ3W.mjs +81 -0
  18. package/dist/chunk-BYNE553A.mjs +2945 -0
  19. package/dist/{chunk-NYXA6X56.mjs → chunk-CLQYPTJ2.mjs} +31 -11
  20. package/dist/chunk-CNZAOVSK.mjs +104 -0
  21. package/dist/chunk-CPBESPWK.mjs +5576 -0
  22. package/dist/{chunk-3RPR33MO.mjs → chunk-DYWUPHV3.mjs} +11 -7
  23. package/dist/chunk-EAV2P4N3.mjs +1941 -0
  24. package/dist/{chunk-UTD34C2H.mjs → chunk-EDZSOL5O.mjs} +2 -4
  25. package/dist/chunk-EGQIPYUN.mjs +696 -0
  26. package/dist/{chunk-DMLQBAGC.mjs → chunk-EOO4UOQD.mjs} +1 -1
  27. package/dist/chunk-EYEMPIMP.mjs +74 -0
  28. package/dist/chunk-G2ZEFSQJ.mjs +46 -0
  29. package/dist/{chunk-TH4XENKH.mjs → chunk-I4HNHPEM.mjs} +1 -1
  30. package/dist/chunk-JEVSFNPT.mjs +363 -0
  31. package/dist/chunk-JKECUAAV.mjs +2169 -0
  32. package/dist/chunk-KMHORI4Y.mjs +638 -0
  33. package/dist/chunk-KNPYBZ6B.mjs +502 -0
  34. package/dist/{chunk-3QUK5BPY.mjs → chunk-KOD4GBQ5.mjs} +8 -1
  35. package/dist/chunk-KQNZKV6E.mjs +535 -0
  36. package/dist/{chunk-2MKZKUVH.mjs → chunk-LLRUOIMU.mjs} +1 -2
  37. package/dist/{chunk-OLZKNUMK.mjs → chunk-LNMITJ4Z.mjs} +6 -6
  38. package/dist/chunk-MEM3MDV4.mjs +6463 -0
  39. package/dist/chunk-NY4YT7O6.mjs +84 -0
  40. package/dist/{chunk-LZEG3FEY.mjs → chunk-Q6CF4C3E.mjs} +7 -7
  41. package/dist/chunk-RP66A52P.mjs +86 -0
  42. package/dist/{chunk-I2UP7YTG.mjs → chunk-SAXGWS2K.mjs} +1 -1
  43. package/dist/chunk-SCKQ4XSD.mjs +41 -0
  44. package/dist/chunk-SF44L2OD.mjs +1152 -0
  45. package/dist/chunk-SGT5IJVW.mjs +28 -0
  46. package/dist/{chunk-LJEKKFC7.mjs → chunk-SS4JTMIV.mjs} +8 -8
  47. package/dist/chunk-T4MW3PD4.mjs +1456 -0
  48. package/dist/chunk-THATLMEX.mjs +1227 -0
  49. package/dist/{chunk-MLE4MVYC.mjs → chunk-TT4YI33G.mjs} +2 -2
  50. package/dist/chunk-TYV2SVFN.mjs +101 -0
  51. package/dist/chunk-VHK7WBO3.mjs +189 -0
  52. package/dist/chunk-VSA44UKR.mjs +391 -0
  53. package/dist/chunk-XL54SQJ3.mjs +42 -0
  54. package/dist/{chunk-5KYR6WJB.mjs → chunk-XQAHREKO.mjs} +17 -1
  55. package/dist/chunk-ZUCDXRFI.mjs +2011 -0
  56. package/dist/create-4S2EAUR3.mjs +10 -0
  57. package/dist/credits-NJOAOPPW.mjs +33 -0
  58. package/dist/{deploy-STWZ3OSM.mjs → deploy-26Y4UGZZ.mjs} +11 -11
  59. package/dist/dev-MOYURRWQ.mjs +401 -0
  60. package/dist/dev-WL43Q7VD.mjs +8 -0
  61. package/dist/dispatcher.mjs +131 -30
  62. package/dist/{doctor-3RW3OGZJ.mjs → doctor-E6ETD2GJ.mjs} +12 -20
  63. package/dist/{domains-FTNK4IKY.mjs → domains-LOTQMVOR.mjs} +6 -6
  64. package/dist/engine-runtime-fetch-CIE7S7PB.mjs +10 -0
  65. package/dist/{env-TNCYUAMT.mjs → env-3PDFC5XF.mjs} +7 -7
  66. package/dist/env-MOTYOPM5.mjs +19 -0
  67. package/dist/explain-K5QEVWCD.mjs +251 -0
  68. package/dist/{inspect-X3M7WSTL.mjs → inspect-Q3E2DHYY.mjs} +3 -3
  69. package/dist/inspect-SJ4WBAXO.mjs +86 -0
  70. package/dist/introspect-7F34YN5V.mjs +9 -0
  71. package/dist/kernel-DEGWMHFL.mjs +662 -0
  72. package/dist/kernel-plugin.js +6862 -0
  73. package/dist/keys-W5SN3DPK.mjs +71 -0
  74. package/dist/lines-XGJYTQ7P.mjs +56 -0
  75. package/dist/{link-76Z6V6CJ.mjs → link-NKUAVNM2.mjs} +6 -6
  76. package/dist/{lint-DDZ7HUQN.mjs → lint-G4YPQSSO.mjs} +2 -2
  77. package/dist/{list-2MFOQKKQ.mjs → list-TDR7K2JB.mjs} +3 -3
  78. package/dist/lock-EJPW2LM3.mjs +57 -0
  79. package/dist/{login-RLMDEWAL.mjs → login-AYLU7JU7.mjs} +10 -8
  80. package/dist/{logout-Z57X6HPE.mjs → logout-3M6VMHLH.mjs} +2 -2
  81. package/dist/{logs-TNDM4RFE.mjs → logs-4EL5SOXN.mjs} +5 -5
  82. package/dist/logs-4QQGG2XY.mjs +44 -0
  83. package/dist/mcp-4R2R6E5M.mjs +1077 -0
  84. package/dist/{mock-EVER34IX.mjs → mock-AK24GSP2.mjs} +2 -2
  85. package/dist/outdated-JEKCVLTG.mjs +58 -0
  86. package/dist/port-SBZ7X3EH.mjs +2408 -0
  87. package/dist/{projects-YL4T24VV.mjs → projects-7JKTC5WJ.mjs} +6 -6
  88. package/dist/publish-QQCX47HK.mjs +20 -0
  89. package/dist/remix-NLLYD3BI.mjs +125 -0
  90. package/dist/repo-Z4G4EW3N.mjs +9 -0
  91. package/dist/report-M7F4ZYP7.mjs +2 -0
  92. package/dist/rollback-2WQ2CW7T.mjs +43 -0
  93. package/dist/{rollback-47VQ4HJK.mjs → rollback-ZGU32HGT.mjs} +6 -6
  94. package/dist/scene-HXARHUM7.mjs +324 -0
  95. package/dist/{status-TWPOMWNA.mjs → status-C3ZSLZ7Q.mjs} +5 -5
  96. package/dist/status-WEQOC25K.mjs +18 -0
  97. package/dist/test-ZPBWV4VX.mjs +233 -0
  98. package/dist/testers-A3LMXOJJ.mjs +49 -0
  99. package/dist/{unlink-H3BO3DOQ.mjs → unlink-4G4FE4RJ.mjs} +2 -2
  100. package/dist/{update-FLY46XI3.mjs → update-GHKKM5FS.mjs} +4 -4
  101. package/dist/{whoami-CQPPARRS.mjs → whoami-3QQN6G2A.mjs} +3 -3
  102. package/dist/workshop-CD74D2LK.mjs +1703 -0
  103. package/package.json +11 -7
  104. package/templates/storefront-auto/app/products/[slug]/page.tsx +1 -1
  105. package/templates/storefront-auto/package.json +1 -1
  106. package/templates/storefront-bakery/package.json +1 -1
  107. package/templates/storefront-fashion/app/products/[slug]/page.tsx +1 -1
  108. package/templates/storefront-fashion/package.json +1 -1
  109. package/templates/storefront-grocery/package.json +1 -1
  110. package/templates/storefront-pharmacy/app/products/[slug]/page.tsx +1 -1
  111. package/templates/storefront-pharmacy/package.json +1 -1
  112. package/templates/storefront-restaurant/package.json +1 -1
  113. package/templates/storefront-retail/app/products/[slug]/page.tsx +1 -1
  114. package/templates/storefront-retail/package.json +1 -1
  115. package/templates/storefront-services/package.json +1 -1
  116. package/dist/chunk-ARIDYKLO.mjs +0 -6463
  117. package/dist/dev-7O65HY6C.mjs +0 -8
  118. package/dist/explain-DLRUUCNS.mjs +0 -251
  119. package/dist/introspect-RC265ACF.mjs +0 -9
  120. package/dist/repo-UUT3AZ3L.mjs +0 -9
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { TEMPLATES } from './chunk-ARIDYKLO.mjs';
3
- import { package_default } from './chunk-3RPR33MO.mjs';
2
+ import { TEMPLATES } from './chunk-MEM3MDV4.mjs';
3
+ import { package_default } from './chunk-DYWUPHV3.mjs';
4
4
 
5
5
  // src/dispatcher.ts
6
6
  var VERSION = package_default.version ?? "unknown";
@@ -37,6 +37,64 @@ Deploy:
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
 
40
+ Interactives (add, dev, status, logs, rollback and inspect switch to these in a folder with interactive.toml):
41
+ cimplify add <owner>/<item>[@<range>] Add Workshop content: lock it by digest, cache its chunks and credit it
42
+ cimplify workshop pack <dir> | import Pack Cimplify's curated Workshop items locally, or import them (operators)
43
+ cimplify workshop init <dir> --type <t> --item <handle/slug> Start a Workshop item with a content.toml
44
+ cimplify workshop publish [dir] Upload a content.toml item to the Workshop for moderation, baking and listing
45
+ cimplify workshop status <upload id> Show where a Workshop upload is in moderation and baking
46
+ cimplify outdated List Workshop items with newer versions (patch, minor, major)
47
+ cimplify lock [--update] Show the ctx contract cimplify.lock pins; --update moves it to the current one
48
+ cimplify credits Print the credits the next build will sign
49
+ cimplify create <name> --template <t> Scaffold an Interactive: blank, quiz, ordering, booking, racing, sport, board, tycoon, shootout, runner, five-a-side, ludo, word, danfo, courier, frontier
50
+ cimplify dev [--lan] [--port <n>] [--content-origin <url>] [--env <name>] [--record <file.json> [--seed <n>]]
51
+ [--locale <tag>] [--currency <code>] [--time-zone <zone>]
52
+ Run the local simulator with mocked ctx and hot reload, an Ask AI panel and a Publish button;
53
+ --record writes taps, drags, keys and text by frame as a capture --script;
54
+ the player's locale follows this computer unless --locale, --currency or --time-zone set it
55
+ cimplify test [--skip-project-tests] [--visual [--update]]
56
+ Run project tests and the publication gates (build, analysis, size, frames, heap,
57
+ game UI checks); --visual compares captures with test/visual goldens;
58
+ test/readiness.json adds the readiness gate (first frame, bytes before play, stalls)
59
+ cimplify capture [--frame <n>|--time <s>] [--device <d>] [--backend swiftshader|hardware] [--seed <n>] [--scene <s>] [--script <f>] [--out <png>]
60
+ Headless screenshot of the game (PNG plus JSON sidecar with readiness), deterministic clock and seed;
61
+ devices: phone-portrait, phone-landscape, phone-small, tablet, tablet-landscape, WxH@S
62
+ cimplify inspect [same flags as capture] [--text]
63
+ Dump the game UI tree (rects, resolved styles, text, z-order, state, source) and its findings
64
+ cimplify build [dir] [--out <dir>] Build a source set into a content-addressed package plus result.json
65
+ cimplify publish [--channel test] Sign and upload the source set; unchanged files are skipped
66
+ cimplify testers add|remove <account_id> Name the accounts that may open the test channel (testers list shows them)
67
+ cimplify keys list|rotate|revoke <key_id> Manage the signing keys registered with your account
68
+ cimplify status Show the live and test revisions
69
+ cimplify logs [--revision <r>] Show build, admission and channel logs
70
+ cimplify rollback <revision> [--channel test]
71
+ Point a channel at an earlier admitted revision
72
+ cimplify env list|create|delete|deploy|diff|migrate|promote|seed|rollback|migrations|reset
73
+ Branch environments with their own data and preview link, reviewed
74
+ migrations at promote, test seeded from live, rollback of code and data;
75
+ env reset clears the local data cimplify dev keeps (--env <name> picks one)
76
+ cimplify mcp Serve create, build, test, capture, inspect, docs and API lookup to coding agents
77
+ over MCP (stdio); register with: claude mcp add cimplify -- cimplify mcp
78
+ (--production <draft.cprs> adds the production tools, editing that draft)
79
+ cimplify ai "<what to change>" Ask the AI to change the project; it edits src, builds and repairs errors (needs ANTHROPIC_API_KEY)
80
+ cimplify lines [dir] [--templates] Count game code lines per file (or per shipped template with --templates)
81
+ cimplify remix <template> [--set slot=value]... [--parent <remix.json>] [--out <remix.json>]
82
+ Swap a slotted template's theme, characters, scenes, music or rules into a
83
+ content-addressed remix manifest (CIMPLIFY_TEMPLATE_SLOTS=0 switches it off)
84
+ cimplify scene solve <file> [--json] [--seed <n>] [--export <name>]
85
+ Solve a scene() layout deterministically and print its placement report
86
+ cimplify scene resolve <file> [--json] [--out <assets.json>] [--tier low|mid|high] [--no-generate] [--wait <s>] [--export <name>]
87
+ Turn each kind a solved scene uses into a Workshop asset (retrieval first,
88
+ generation as the fallback); CIMPLIFY_GENERATIVE_SCENES=0 switches scenes off
89
+ cimplify kernel tune <file>[#kernel] --objective <file> --params <A,B> --inputs <recording.json> [--apply]
90
+ Tune named kernel constants against a differentiable objective over recorded
91
+ inputs (off-line, f64 surrogate); writes the new constants as a reviewed diff
92
+ cimplify kernel train <samples.json> --widths 32,64,64,8 [--epochs <n>] [--out <net.mlp>]
93
+ Train a small network for mlp() from your own samples or recorded play
94
+ ({ "inputs": [[...]], "targets": [[...]] }); the same samples give the same file on every machine
95
+ cimplify port threejs <dir> [--out <dir>] [--ai]
96
+ Convert a Three.js game into a game_api Interactive; writes port-report.json (--ai lets Reesa finish it)
97
+
40
98
  Env vars:
41
99
  cimplify env ls [--scope=<s>] List env vars (default scope: preview)
42
100
  cimplify env pull [--scope=<s>] Write public env vars to .env.local
@@ -134,34 +192,71 @@ Local mock server (custom demo data, no fork needed):
134
192
  cimplify mock --seed-module ./seed.ts Boot from a seed module (defineSeed from @cimplify/sdk/mock)
135
193
  `;
136
194
  var COMMANDS = {
137
- login: () => import('./login-RLMDEWAL.mjs'),
138
- logout: () => import('./logout-Z57X6HPE.mjs'),
139
- whoami: () => import('./whoami-CQPPARRS.mjs'),
140
- projects: () => import('./projects-YL4T24VV.mjs'),
141
- link: () => import('./link-76Z6V6CJ.mjs'),
142
- unlink: () => import('./unlink-H3BO3DOQ.mjs'),
143
- deploy: () => import('./deploy-STWZ3OSM.mjs'),
144
- cancel: () => import('./cancel-ZHVVILOU.mjs'),
145
- rollback: () => import('./rollback-47VQ4HJK.mjs'),
146
- env: () => import('./env-TNCYUAMT.mjs'),
147
- domains: () => import('./domains-FTNK4IKY.mjs'),
148
- logs: () => import('./logs-TNDM4RFE.mjs'),
149
- status: () => import('./status-TWPOMWNA.mjs'),
150
- dev: () => import('./dev-7O65HY6C.mjs'),
151
- mock: () => import('./mock-EVER34IX.mjs'),
152
- introspect: () => import('./introspect-RC265ACF.mjs'),
153
- inspect: () => import('./inspect-X3M7WSTL.mjs'),
154
- doctor: () => import('./doctor-3RW3OGZJ.mjs'),
155
- lint: () => import('./lint-DDZ7HUQN.mjs'),
156
- explain: () => import('./explain-DLRUUCNS.mjs'),
157
- assets: () => import('./assets-CWB72PZG.mjs'),
158
- repo: () => import('./repo-UUT3AZ3L.mjs'),
159
- list: () => import('./list-2MFOQKKQ.mjs'),
160
- add: () => import('./add-KRIIKAS4.mjs'),
161
- update: () => import('./update-FLY46XI3.mjs'),
162
- upgrade: () => import('./update-FLY46XI3.mjs'),
163
- "auth-step-up": () => import('./auth-step-up-Z6KOTTV7.mjs')
195
+ login: () => import('./login-AYLU7JU7.mjs'),
196
+ logout: () => import('./logout-3M6VMHLH.mjs'),
197
+ whoami: () => import('./whoami-3QQN6G2A.mjs'),
198
+ projects: () => import('./projects-7JKTC5WJ.mjs'),
199
+ link: () => import('./link-NKUAVNM2.mjs'),
200
+ unlink: () => import('./unlink-4G4FE4RJ.mjs'),
201
+ deploy: () => import('./deploy-26Y4UGZZ.mjs'),
202
+ cancel: () => import('./cancel-VGJHZJ4J.mjs'),
203
+ rollback: () => import('./rollback-ZGU32HGT.mjs'),
204
+ env: () => import('./env-3PDFC5XF.mjs'),
205
+ domains: () => import('./domains-LOTQMVOR.mjs'),
206
+ logs: () => import('./logs-4EL5SOXN.mjs'),
207
+ status: () => import('./status-C3ZSLZ7Q.mjs'),
208
+ dev: () => import('./dev-WL43Q7VD.mjs'),
209
+ mock: () => import('./mock-AK24GSP2.mjs'),
210
+ introspect: () => import('./introspect-7F34YN5V.mjs'),
211
+ inspect: () => import('./inspect-Q3E2DHYY.mjs'),
212
+ doctor: () => import('./doctor-E6ETD2GJ.mjs'),
213
+ lint: () => import('./lint-G4YPQSSO.mjs'),
214
+ explain: () => import('./explain-K5QEVWCD.mjs'),
215
+ mcp: () => import('./mcp-4R2R6E5M.mjs'),
216
+ assets: () => import('./assets-FZGVOQXH.mjs'),
217
+ repo: () => import('./repo-Z4G4EW3N.mjs'),
218
+ list: () => import('./list-TDR7K2JB.mjs'),
219
+ add: () => import('./add-XQVQLD3F.mjs'),
220
+ update: () => import('./update-GHKKM5FS.mjs'),
221
+ upgrade: () => import('./update-GHKKM5FS.mjs'),
222
+ "auth-step-up": () => import('./auth-step-up-67LCPDNL.mjs')
223
+ };
224
+ var INTERACTIVE_MANIFEST = "interactive.toml";
225
+ var INTERACTIVE_COMMANDS = {
226
+ create: () => import('./create-4S2EAUR3.mjs'),
227
+ build: () => import('./build-J4ZUIOPX.mjs'),
228
+ test: () => import('./test-ZPBWV4VX.mjs'),
229
+ publish: () => import('./publish-QQCX47HK.mjs'),
230
+ dev: () => import('./dev-MOYURRWQ.mjs'),
231
+ status: () => import('./status-WEQOC25K.mjs'),
232
+ logs: () => import('./logs-4QQGG2XY.mjs'),
233
+ rollback: () => import('./rollback-2WQ2CW7T.mjs'),
234
+ testers: () => import('./testers-A3LMXOJJ.mjs'),
235
+ env: () => import('./env-MOTYOPM5.mjs'),
236
+ keys: () => import('./keys-W5SN3DPK.mjs'),
237
+ add: () => import('./add-SXC6RUPQ.mjs'),
238
+ workshop: () => import('./workshop-CD74D2LK.mjs'),
239
+ outdated: () => import('./outdated-JEKCVLTG.mjs'),
240
+ lock: () => import('./lock-EJPW2LM3.mjs'),
241
+ credits: () => import('./credits-NJOAOPPW.mjs'),
242
+ ai: () => import('./ai-NQH5L4I6.mjs'),
243
+ lines: () => import('./lines-XGJYTQ7P.mjs'),
244
+ scene: () => import('./scene-HXARHUM7.mjs'),
245
+ port: () => import('./port-SBZ7X3EH.mjs'),
246
+ remix: () => import('./remix-NLLYD3BI.mjs'),
247
+ capture: () => import('./capture-RAJ2B3BH.mjs'),
248
+ inspect: () => import('./inspect-SJ4WBAXO.mjs'),
249
+ kernel: () => import('./kernel-DEGWMHFL.mjs')
164
250
  };
251
+ var INTERACTIVE_ONLY = /* @__PURE__ */ new Set(["create", "build", "test", "publish", "testers", "keys", "workshop", "ai", "lines", "scene", "port", "capture", "remix", "lock", "kernel"]);
252
+ async function interactiveLoader(sub) {
253
+ const loader = INTERACTIVE_COMMANDS[sub];
254
+ if (!loader) return null;
255
+ if (INTERACTIVE_ONLY.has(sub)) return loader;
256
+ const { existsSync } = await import('fs');
257
+ const { join } = await import('path');
258
+ return existsSync(join(process.cwd(), INTERACTIVE_MANIFEST)) ? loader : null;
259
+ }
165
260
  var COMMAND_PREFIXES = {
166
261
  auth: { "step-up": "auth-step-up" }
167
262
  };
@@ -218,6 +313,11 @@ async function main() {
218
313
  args = args.slice(1);
219
314
  }
220
315
  }
316
+ const interactive = await interactiveLoader(sub);
317
+ if (interactive) {
318
+ await runCommand(sub, interactive, args);
319
+ return;
320
+ }
221
321
  const loader = COMMANDS[sub];
222
322
  if (!loader) {
223
323
  console.error(`cimplify: unknown command "${sub}"`);
@@ -341,7 +441,8 @@ async function emitError(sub, err) {
341
441
  error: {
342
442
  code: err.code,
343
443
  message: err.message,
344
- ...err.remediation ? { remediation: err.remediation } : {}
444
+ ...err.remediation ? { remediation: err.remediation } : {},
445
+ ...err.details !== void 0 ? { details: err.details } : {}
345
446
  }
346
447
  };
347
448
  process.stdout.write(`${JSON.stringify(payload)}
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { gatherIntrospection } from './chunk-LJEKKFC7.mjs';
3
- import './chunk-I2UP7YTG.mjs';
4
- import './chunk-3RPR33MO.mjs';
5
- import './chunk-UTD34C2H.mjs';
6
- import './chunk-2MKZKUVH.mjs';
7
- import { parseArgs, flagBool } from './chunk-5KYR6WJB.mjs';
8
- import { SDK_ENV_API_URL, DEFAULT_API_BASE_URL, ApiClient, ENV_API_BASE_URL } from './chunk-NYXA6X56.mjs';
9
- import { readAuthOrNull } from './chunk-MLE4MVYC.mjs';
10
- import { bold, dim, info, result, isCliError, CLI_ERROR_CODE, red, yellow, green } from './chunk-3QUK5BPY.mjs';
2
+ import { gatherIntrospection } from './chunk-SS4JTMIV.mjs';
3
+ import './chunk-SAXGWS2K.mjs';
4
+ import './chunk-DYWUPHV3.mjs';
5
+ import './chunk-EDZSOL5O.mjs';
6
+ import './chunk-LLRUOIMU.mjs';
7
+ import { parseArgs, flagBool } from './chunk-XQAHREKO.mjs';
8
+ import { SDK_ENV_API_URL, DEFAULT_API_BASE_URL, ApiClient, ENV_API_BASE_URL } from './chunk-CLQYPTJ2.mjs';
9
+ import { readAuthOrNull } from './chunk-TT4YI33G.mjs';
10
+ import { bold, dim, info, result, isCliError, CLI_ERROR_CODE, red, yellow, green } from './chunk-KOD4GBQ5.mjs';
11
11
  import { promises } from 'fs';
12
12
  import path from 'path';
13
13
 
@@ -113,23 +113,15 @@ function deriveLocalChecks(snapshot, extras) {
113
113
  if (snapshot.next_config.path === null) {
114
114
  checks.push(skip("next_config", "no next.config \u2014 non-Next project?"));
115
115
  } else if (snapshot.next_config.cache_components === true) {
116
- checks.push(ok("next_config", "cacheComponents: true"));
117
- } else if (snapshot.next_config.cache_components === false) {
118
116
  checks.push(
119
117
  fail(
120
118
  "next_config",
121
- "cacheComponents is explicitly false",
122
- "set `cacheComponents: true` in next.config.ts \u2014 Cimplify templates rely on Next 16 cache primitives"
119
+ "cacheComponents is on; it is incompatible with Cloudflare Workers, where storefronts use the ISR Previous Model",
120
+ "remove `cacheComponents: true` from next.config.ts and cache with `export const revalidate` plus the SDK's `cacheOptions`, as the templates do"
123
121
  )
124
122
  );
125
123
  } else {
126
- checks.push(
127
- warn(
128
- "next_config",
129
- "cacheComponents not set",
130
- "add `cacheComponents: true` to enable `'use cache'` + `cacheTag`"
131
- )
132
- );
124
+ checks.push(ok("next_config", "ISR Previous Model (cacheComponents off)"));
133
125
  }
134
126
  if (snapshot.theme.globals_css_path === null) {
135
127
  checks.push(skip("globals_css", "no app/globals.css"));
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { promptYesNo } from './chunk-TH4XENKH.mjs';
3
- import { ENV_SCOPE, DOMAIN_TYPE } from './chunk-2MKZKUVH.mjs';
4
- import { parseArgs, flagBool, flagString } from './chunk-5KYR6WJB.mjs';
5
- import { ApiClient } from './chunk-NYXA6X56.mjs';
6
- import { readAuth, readProjectLink } from './chunk-MLE4MVYC.mjs';
7
- import { CliError, CLI_ERROR_CODE, result, info, dim, bold, success } from './chunk-3QUK5BPY.mjs';
2
+ import { promptYesNo } from './chunk-I4HNHPEM.mjs';
3
+ import { ENV_SCOPE, DOMAIN_TYPE } from './chunk-LLRUOIMU.mjs';
4
+ import { parseArgs, flagBool, flagString } from './chunk-XQAHREKO.mjs';
5
+ import { ApiClient } from './chunk-CLQYPTJ2.mjs';
6
+ import { readAuth, readProjectLink } from './chunk-TT4YI33G.mjs';
7
+ import { CliError, CLI_ERROR_CODE, result, info, dim, bold, success } from './chunk-KOD4GBQ5.mjs';
8
8
 
9
9
  // src/commands/domains.ts
10
10
  var SUB_LS = "ls";
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ export { ENGINE_RUNTIME_FILES_ROUTE, ENGINE_RUNTIME_ROUTE, ensureEngineRuntime, refreshEngineRuntime } from './chunk-G2ZEFSQJ.mjs';
3
+ import './chunk-ZUCDXRFI.mjs';
4
+ import './chunk-EYEMPIMP.mjs';
5
+ import './chunk-AKACUJ3W.mjs';
6
+ import './chunk-25ZPFHLF.mjs';
7
+ import './chunk-SGT5IJVW.mjs';
8
+ import './chunk-CLQYPTJ2.mjs';
9
+ import './chunk-TT4YI33G.mjs';
10
+ import './chunk-KOD4GBQ5.mjs';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import { formatEnvFile, parseEnvFile, parseKeyValueArg } from './chunk-I2UP7YTG.mjs';
3
- import { promptYesNo } from './chunk-TH4XENKH.mjs';
4
- import { ENV_SCOPE, PUBLIC_ENV_PREFIX, SECRET_MASK } from './chunk-2MKZKUVH.mjs';
5
- import { parseArgs, flagString, flagBool } from './chunk-5KYR6WJB.mjs';
6
- import { ApiClient } from './chunk-NYXA6X56.mjs';
7
- import { readAuth, readProjectLink } from './chunk-MLE4MVYC.mjs';
8
- import { CliError, CLI_ERROR_CODE, info, dim, result, bold, success } from './chunk-3QUK5BPY.mjs';
2
+ import { formatEnvFile, parseEnvFile, parseKeyValueArg } from './chunk-SAXGWS2K.mjs';
3
+ import { promptYesNo } from './chunk-I4HNHPEM.mjs';
4
+ import { ENV_SCOPE, PUBLIC_ENV_PREFIX, SECRET_MASK } from './chunk-LLRUOIMU.mjs';
5
+ import { parseArgs, flagString, flagBool } from './chunk-XQAHREKO.mjs';
6
+ import { ApiClient } from './chunk-CLQYPTJ2.mjs';
7
+ import { readAuth, readProjectLink } from './chunk-TT4YI33G.mjs';
8
+ import { CliError, CLI_ERROR_CODE, info, dim, result, bold, success } from './chunk-KOD4GBQ5.mjs';
9
9
  import { promises } from 'fs';
10
10
  import path from 'path';
11
11
 
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ export { run as default, localEnvironmentName, parseEnvCommand, renderDiff, renderEnvOutcome, runEnvCommand } from './chunk-JEVSFNPT.mjs';
3
+ import './chunk-SF44L2OD.mjs';
4
+ import './chunk-SCKQ4XSD.mjs';
5
+ import './chunk-CPBESPWK.mjs';
6
+ import './chunk-VHK7WBO3.mjs';
7
+ import './chunk-5HP2INMY.mjs';
8
+ import './chunk-JKECUAAV.mjs';
9
+ import './chunk-T4MW3PD4.mjs';
10
+ import './chunk-KQNZKV6E.mjs';
11
+ import './chunk-ZUCDXRFI.mjs';
12
+ import './chunk-EYEMPIMP.mjs';
13
+ import './chunk-AKACUJ3W.mjs';
14
+ import './chunk-25ZPFHLF.mjs';
15
+ import './chunk-SGT5IJVW.mjs';
16
+ import './chunk-XQAHREKO.mjs';
17
+ import './chunk-CLQYPTJ2.mjs';
18
+ import './chunk-TT4YI33G.mjs';
19
+ import './chunk-KOD4GBQ5.mjs';