@mmapp/react-compiler 0.1.0-alpha.6 → 0.1.0-alpha.9

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 (103) hide show
  1. package/dist/auth-3UK75242.mjs +17 -0
  2. package/dist/babel/index.d.mts +2 -2
  3. package/dist/babel/index.d.ts +2 -2
  4. package/dist/babel/index.js +5 -5
  5. package/dist/babel/index.mjs +1 -1
  6. package/dist/chunk-5FTDWKHH.mjs +244 -0
  7. package/dist/chunk-7JRAEFRB.mjs +7510 -0
  8. package/dist/chunk-7T6Q5KAA.mjs +7506 -0
  9. package/dist/chunk-ABYPKRSB.mjs +215 -0
  10. package/dist/chunk-BZEXUPDH.mjs +175 -0
  11. package/dist/chunk-HRYR54PT.mjs +175 -0
  12. package/dist/chunk-J3M4GUS7.mjs +161 -0
  13. package/dist/chunk-JRGFBWTN.mjs +2918 -0
  14. package/dist/chunk-O4AUS7EU.mjs +148 -0
  15. package/dist/chunk-R2DD5GTY.mjs +186 -0
  16. package/dist/chunk-UDDTWG5J.mjs +734 -0
  17. package/dist/chunk-VLTKQDJ3.mjs +244 -0
  18. package/dist/chunk-WVYY32LD.mjs +939 -0
  19. package/dist/chunk-XDVM4YHX.mjs +3450 -0
  20. package/dist/chunk-Z2G5RZ4H.mjs +186 -0
  21. package/dist/chunk-ZE3KCHBM.mjs +2918 -0
  22. package/dist/cli/index.js +4350 -3206
  23. package/dist/cli/index.mjs +77 -179
  24. package/dist/codemod/cli.js +1 -1
  25. package/dist/codemod/cli.mjs +1 -1
  26. package/dist/codemod/index.d.mts +3 -3
  27. package/dist/codemod/index.d.ts +3 -3
  28. package/dist/codemod/index.js +1 -1
  29. package/dist/codemod/index.mjs +1 -1
  30. package/dist/deploy-YAJGW6II.mjs +9 -0
  31. package/dist/dev-server-CrQ041KP.d.mts +79 -0
  32. package/dist/dev-server-CrQ041KP.d.ts +79 -0
  33. package/dist/dev-server.d.mts +2 -2
  34. package/dist/dev-server.d.ts +2 -2
  35. package/dist/dev-server.js +1218 -86
  36. package/dist/dev-server.mjs +4 -4
  37. package/dist/envelope-ChEkuHij.d.mts +265 -0
  38. package/dist/envelope-ChEkuHij.d.ts +265 -0
  39. package/dist/envelope.d.mts +2 -2
  40. package/dist/envelope.d.ts +2 -2
  41. package/dist/envelope.js +5 -5
  42. package/dist/envelope.mjs +2 -2
  43. package/dist/index-CEKyyazf.d.mts +104 -0
  44. package/dist/index-CEKyyazf.d.ts +104 -0
  45. package/dist/index.d.mts +8 -8
  46. package/dist/index.d.ts +8 -8
  47. package/dist/index.js +1266 -342
  48. package/dist/index.mjs +8 -8
  49. package/dist/init-7FJENUDK.mjs +407 -0
  50. package/dist/project-compiler-NNK32MPG.mjs +10 -0
  51. package/dist/project-compiler-ZB4RUYVL.mjs +10 -0
  52. package/dist/project-decompiler-U55HQUHW.mjs +7 -0
  53. package/dist/pull-KOL2QAYQ.mjs +109 -0
  54. package/dist/seed-KOGEPGOJ.mjs +154 -0
  55. package/dist/server-VW6UPCHO.mjs +277 -0
  56. package/dist/testing/index.d.mts +8 -8
  57. package/dist/testing/index.d.ts +8 -8
  58. package/dist/testing/index.js +5 -5
  59. package/dist/testing/index.mjs +1 -1
  60. package/dist/verify-BYHUKARQ.mjs +1833 -0
  61. package/dist/verify-OQDEQYMS.mjs +1833 -0
  62. package/dist/vite/index.d.mts +1 -1
  63. package/dist/vite/index.d.ts +1 -1
  64. package/dist/vite/index.js +5 -5
  65. package/dist/vite/index.mjs +2 -2
  66. package/examples/authentication/main.workflow.tsx +1 -1
  67. package/examples/authentication/mm.config.ts +1 -1
  68. package/examples/authentication/pages/LoginPage.tsx +2 -2
  69. package/examples/authentication/pages/SignupPage.tsx +2 -2
  70. package/examples/counter.workflow.tsx +1 -1
  71. package/examples/dashboard.workflow.tsx +1 -1
  72. package/examples/invoice-approval/actions/invoice.server.ts +1 -1
  73. package/examples/invoice-approval/main.workflow.tsx +1 -1
  74. package/examples/invoice-approval/mm.config.ts +1 -1
  75. package/examples/invoice-approval/pages/InvoiceDetailPage.tsx +1 -1
  76. package/examples/invoice-approval/pages/InvoiceFormPage.tsx +1 -1
  77. package/examples/invoice-approval/pages/InvoiceListPage.tsx +1 -1
  78. package/examples/todo-app.workflow.tsx +1 -1
  79. package/examples/uber-app/actions/matching.server.ts +1 -1
  80. package/examples/uber-app/actions/notifications.server.ts +1 -1
  81. package/examples/uber-app/actions/payments.server.ts +1 -1
  82. package/examples/uber-app/actions/pricing.server.ts +1 -1
  83. package/examples/uber-app/app/admin/analytics.tsx +2 -2
  84. package/examples/uber-app/app/admin/fleet.tsx +2 -2
  85. package/examples/uber-app/app/admin/surge-pricing.tsx +2 -2
  86. package/examples/uber-app/app/driver/dashboard.tsx +2 -2
  87. package/examples/uber-app/app/driver/earnings.tsx +2 -2
  88. package/examples/uber-app/app/driver/navigation.tsx +2 -2
  89. package/examples/uber-app/app/driver/ride-acceptance.tsx +2 -2
  90. package/examples/uber-app/app/rider/home.tsx +2 -2
  91. package/examples/uber-app/app/rider/payment-methods.tsx +2 -2
  92. package/examples/uber-app/app/rider/ride-history.tsx +2 -2
  93. package/examples/uber-app/app/rider/ride-tracking.tsx +2 -2
  94. package/examples/uber-app/components/DriverCard.tsx +1 -1
  95. package/examples/uber-app/components/MapView.tsx +3 -3
  96. package/examples/uber-app/components/RatingStars.tsx +2 -2
  97. package/examples/uber-app/components/RideCard.tsx +1 -1
  98. package/examples/uber-app/mm.config.ts +1 -1
  99. package/examples/uber-app/workflows/dispute-resolution.workflow.tsx +2 -2
  100. package/examples/uber-app/workflows/driver-onboarding.workflow.tsx +2 -2
  101. package/examples/uber-app/workflows/payment-processing.workflow.tsx +2 -2
  102. package/examples/uber-app/workflows/ride-request.workflow.tsx +2 -2
  103. package/package.json +9 -13
@@ -1,15 +1,19 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ login,
4
+ logout,
5
+ resolveToken,
6
+ whoami
7
+ } from "../chunk-J3M4GUS7.mjs";
2
8
  import {
3
9
  deploy
4
- } from "../chunk-52XHYD2V.mjs";
10
+ } from "../chunk-ABYPKRSB.mjs";
5
11
  import {
6
12
  build
7
- } from "../chunk-THFYE5ZX.mjs";
13
+ } from "../chunk-VLTKQDJ3.mjs";
8
14
  import "../chunk-5M7DKKBC.mjs";
9
- import "../chunk-OPJKP747.mjs";
10
- import {
11
- __require
12
- } from "../chunk-CIESM3BP.mjs";
15
+ import "../chunk-7T6Q5KAA.mjs";
16
+ import "../chunk-CIESM3BP.mjs";
13
17
 
14
18
  // src/cli/test.ts
15
19
  import { glob } from "glob";
@@ -39,8 +43,8 @@ async function test(options = {}) {
39
43
  const rel = f.startsWith(srcDir + "/") ? f.slice(srcDir.length + 1) : f;
40
44
  fileMap[rel] = readFileSync(f, "utf-8");
41
45
  }
42
- const { compileProject } = await import("../project-compiler-OP2VVGJQ.mjs");
43
- const { decompileProjectEnhanced } = await import("../project-decompiler-US7GAVIC.mjs");
46
+ const { compileProject } = await import("../project-compiler-ZB4RUYVL.mjs");
47
+ const { decompileProjectEnhanced } = await import("../project-decompiler-U55HQUHW.mjs");
44
48
  process.stdout.write(` Compiling project...`);
45
49
  const t0 = performance.now();
46
50
  let ir1;
@@ -285,155 +289,6 @@ function compareTransitions(diffs, transitions1, transitions2) {
285
289
  return { transitionMatch, transitionCount };
286
290
  }
287
291
 
288
- // src/cli/auth.ts
289
- import { readFileSync as readFileSync2, writeFileSync, mkdirSync, existsSync as existsSync2, unlinkSync } from "fs";
290
- import { join } from "path";
291
- import { homedir } from "os";
292
- import { createInterface } from "readline";
293
- var MMRC_DIR = join(homedir(), ".mmrc");
294
- var CREDENTIALS_PATH = join(MMRC_DIR, "credentials.json");
295
- function loadCredentials() {
296
- if (!existsSync2(CREDENTIALS_PATH)) return {};
297
- try {
298
- return JSON.parse(readFileSync2(CREDENTIALS_PATH, "utf-8"));
299
- } catch {
300
- return {};
301
- }
302
- }
303
- function saveCredentials(apiUrl, token) {
304
- mkdirSync(MMRC_DIR, { recursive: true, mode: 448 });
305
- const creds = loadCredentials();
306
- creds[apiUrl] = { token, savedAt: (/* @__PURE__ */ new Date()).toISOString() };
307
- writeFileSync(CREDENTIALS_PATH, JSON.stringify(creds, null, 2), "utf-8");
308
- try {
309
- const { chmodSync } = __require("fs");
310
- chmodSync(CREDENTIALS_PATH, 384);
311
- } catch {
312
- }
313
- }
314
- function removeCredentials(apiUrl) {
315
- if (!existsSync2(CREDENTIALS_PATH)) return;
316
- if (!apiUrl) {
317
- unlinkSync(CREDENTIALS_PATH);
318
- return;
319
- }
320
- const creds = loadCredentials();
321
- delete creds[apiUrl];
322
- if (Object.keys(creds).length === 0) {
323
- unlinkSync(CREDENTIALS_PATH);
324
- } else {
325
- writeFileSync(CREDENTIALS_PATH, JSON.stringify(creds, null, 2), "utf-8");
326
- }
327
- }
328
- function resolveToken(apiUrl, explicitToken) {
329
- if (explicitToken) return explicitToken;
330
- const envToken = process.env.MMRC_TOKEN;
331
- if (envToken) return envToken;
332
- const creds = loadCredentials();
333
- const entry = creds[apiUrl];
334
- if (entry?.token) return entry.token;
335
- return null;
336
- }
337
- function prompt(question, hidden = false) {
338
- return new Promise((resolve2) => {
339
- const rl = createInterface({
340
- input: process.stdin,
341
- output: process.stdout
342
- });
343
- if (hidden && process.stdin.isTTY) {
344
- const origWrite = process.stdout.write.bind(process.stdout);
345
- process.stdout.write = ((chunk, encodingOrCb, cb) => {
346
- if (typeof chunk === "string" && chunk.includes(question)) {
347
- return origWrite(chunk, encodingOrCb, cb);
348
- }
349
- if (typeof chunk === "string" && !chunk.includes("\n")) {
350
- return true;
351
- }
352
- return origWrite(chunk, encodingOrCb, cb);
353
- });
354
- rl.question(question, (answer) => {
355
- process.stdout.write = origWrite;
356
- console.log();
357
- rl.close();
358
- resolve2(answer.trim());
359
- });
360
- } else {
361
- rl.question(question, (answer) => {
362
- rl.close();
363
- resolve2(answer.trim());
364
- });
365
- }
366
- });
367
- }
368
- async function login(apiUrl, email, password) {
369
- if (!email) {
370
- email = await prompt("Email: ");
371
- }
372
- if (!password) {
373
- password = await prompt("Password: ", true);
374
- }
375
- if (!email || !password) {
376
- throw new Error("Email and password are required");
377
- }
378
- console.log(`[mmrc] Logging in to ${apiUrl}...`);
379
- const res = await fetch(`${apiUrl}/auth/login`, {
380
- method: "POST",
381
- headers: { "Content-Type": "application/json" },
382
- body: JSON.stringify({ email, password })
383
- });
384
- if (!res.ok) {
385
- const text = await res.text();
386
- throw new Error(`Login failed: ${res.status} ${text}`);
387
- }
388
- const data = await res.json();
389
- const token = data.token ?? data.access_token ?? data.accessToken;
390
- if (!token) {
391
- throw new Error("Login succeeded but no token in response");
392
- }
393
- saveCredentials(apiUrl, token);
394
- const userName = data.name ?? data.user?.name ?? data.user?.email ?? email;
395
- console.log(`[mmrc] Logged in as ${userName}`);
396
- console.log(`[mmrc] Token saved to ${CREDENTIALS_PATH}`);
397
- return token;
398
- }
399
- function logout(apiUrl) {
400
- if (apiUrl) {
401
- removeCredentials(apiUrl);
402
- console.log(`[mmrc] Credentials removed for ${apiUrl}`);
403
- } else {
404
- removeCredentials();
405
- console.log("[mmrc] All saved credentials removed");
406
- }
407
- }
408
- async function whoami(apiUrl) {
409
- const token = resolveToken(apiUrl);
410
- if (!token) {
411
- console.log("[mmrc] Not logged in. Run `mmrc login` to authenticate.");
412
- return;
413
- }
414
- try {
415
- const res = await fetch(`${apiUrl}/auth/me`, {
416
- headers: { Authorization: `Bearer ${token}` }
417
- });
418
- if (!res.ok) {
419
- if (res.status === 401) {
420
- console.log("[mmrc] Token is expired or invalid. Run `mmrc login` to re-authenticate.");
421
- return;
422
- }
423
- console.log(`[mmrc] Failed to fetch user info: ${res.status}`);
424
- return;
425
- }
426
- const user = await res.json();
427
- console.log(`[mmrc] Logged in to ${apiUrl}`);
428
- console.log(` Name: ${user.name ?? "(unknown)"}`);
429
- console.log(` Email: ${user.email ?? "(unknown)"}`);
430
- if (user.id) console.log(` ID: ${user.id}`);
431
- if (user.role) console.log(` Role: ${user.role}`);
432
- } catch (error) {
433
- console.log(`[mmrc] Could not connect to ${apiUrl}: ${error.message}`);
434
- }
435
- }
436
-
437
292
  // src/cli/index.ts
438
293
  var args = process.argv.slice(2);
439
294
  var command = args[0];
@@ -452,11 +307,11 @@ function getPositional() {
452
307
  }
453
308
  async function loadDevConfig() {
454
309
  try {
455
- const { existsSync: existsSync3, readFileSync: readFileSync3 } = await import("fs");
310
+ const { existsSync: existsSync2, readFileSync: readFileSync2 } = await import("fs");
456
311
  const { resolve: resolve2 } = await import("path");
457
312
  const configPath = resolve2(process.cwd(), "mm.config.ts");
458
- if (!existsSync3(configPath)) return {};
459
- const content = readFileSync3(configPath, "utf-8");
313
+ if (!existsSync2(configPath)) return {};
314
+ const content = readFileSync2(configPath, "utf-8");
460
315
  const devMatch = content.match(/dev\s*:\s*\{([^}]*)\}/s);
461
316
  if (!devMatch) return {};
462
317
  const block = devMatch[1];
@@ -484,7 +339,7 @@ async function main() {
484
339
  const src = getFlag("--src") ?? devCfg.src;
485
340
  const mode = getFlag("--mode") ?? devCfg.mode;
486
341
  const seed = hasFlag("--seed") || devCfg.seed === true;
487
- const apiUrl = getFlag("--api-url") ?? devCfg.apiUrl;
342
+ const apiUrl = hasFlag("--local") ? "local" : getFlag("--api-url") ?? devCfg.apiUrl;
488
343
  const authToken = getFlag("--token") ?? devCfg.token;
489
344
  const open = hasFlag("--open") || devCfg.open === true;
490
345
  const { createDevServer } = await import("../dev-server.mjs");
@@ -555,19 +410,19 @@ async function main() {
555
410
  const srcDir = src ?? ".";
556
411
  const outDir = dir ?? "dist/workflows";
557
412
  console.log("[mmrc] Building before deploy...\n");
558
- const { existsSync: existsSync3, readFileSync: readFileSync3, writeFileSync: writeFileSync2, mkdirSync: mkdirSync2 } = await import("fs");
559
- const { resolve: resolve2, join: join2 } = await import("path");
413
+ const { existsSync: existsSync2, readFileSync: readFileSync2, writeFileSync, mkdirSync } = await import("fs");
414
+ const { resolve: resolve2, join } = await import("path");
560
415
  const { glob: glob2 } = await import("glob");
561
416
  const configPath = resolve2(srcDir, "mm.config.ts");
562
- if (existsSync3(configPath)) {
563
- const { compileProject } = await import("../project-compiler-OP2VVGJQ.mjs");
417
+ if (existsSync2(configPath)) {
418
+ const { compileProject } = await import("../project-compiler-ZB4RUYVL.mjs");
564
419
  const allFiles = await glob2(`${srcDir}/**/*.{ts,tsx}`, {
565
420
  ignore: ["**/node_modules/**", "**/dist/**", "**/__tests__/**", "**/*.test.*"]
566
421
  });
567
422
  const fileMap = {};
568
423
  for (const f of allFiles) {
569
424
  const rel = f.startsWith(srcDir + "/") ? f.slice(srcDir.length + 1) : f;
570
- fileMap[rel] = readFileSync3(f, "utf-8");
425
+ fileMap[rel] = readFileSync2(f, "utf-8");
571
426
  }
572
427
  console.log(` Compiling project (${Object.keys(fileMap).length} files)...`);
573
428
  const result = compileProject(fileMap);
@@ -580,16 +435,16 @@ async function main() {
580
435
  [mmrc] Build failed with ${errors.length} errors \u2014 aborting deploy.`);
581
436
  process.exit(1);
582
437
  }
583
- mkdirSync2(outDir, { recursive: true });
584
- const irPath = join2(outDir, `${result.ir.slug}.workflow.json`);
585
- writeFileSync2(irPath, JSON.stringify(result.ir, null, 2), "utf-8");
438
+ mkdirSync(outDir, { recursive: true });
439
+ const irPath = join(outDir, `${result.ir.slug}.workflow.json`);
440
+ writeFileSync(irPath, JSON.stringify(result.ir, null, 2), "utf-8");
586
441
  console.log(` + ${result.ir.slug}.workflow.json`);
587
442
  const seenSlugs = /* @__PURE__ */ new Set([result.ir.slug]);
588
443
  for (const child of result.childDefinitions) {
589
444
  if (seenSlugs.has(child.slug)) continue;
590
445
  seenSlugs.add(child.slug);
591
- const childPath = join2(outDir, `${child.slug}.workflow.json`);
592
- writeFileSync2(childPath, JSON.stringify(child, null, 2), "utf-8");
446
+ const childPath = join(outDir, `${child.slug}.workflow.json`);
447
+ writeFileSync(childPath, JSON.stringify(child, null, 2), "utf-8");
593
448
  console.log(` + ${child.slug}.workflow.json`);
594
449
  }
595
450
  console.log(` Compiled ${1 + result.childDefinitions.length} definitions.
@@ -623,7 +478,7 @@ async function main() {
623
478
  console.error('[mmrc] Error: name is required\n Usage: mmrc init <name> [--description "..."] [--icon "..."] [--author "..."]');
624
479
  process.exit(1);
625
480
  }
626
- const { init } = await import("../init-DQDX3QK6.mjs");
481
+ const { init } = await import("../init-7FJENUDK.mjs");
627
482
  await init({
628
483
  name,
629
484
  description: getFlag("--description"),
@@ -636,7 +491,7 @@ async function main() {
636
491
  console.error("[mmrc] Error: target path is required\n Usage: mmrc verify <file-or-dir> [options]");
637
492
  process.exit(1);
638
493
  }
639
- const { verifyCommand } = await import("../verify-SEIXUGN4.mjs");
494
+ const { verifyCommand } = await import("../verify-OQDEQYMS.mjs");
640
495
  const result = await verifyCommand({
641
496
  target,
642
497
  static: hasFlag("--static"),
@@ -663,8 +518,24 @@ async function main() {
663
518
  console.error(" 3. Set MMRC_TOKEN environment variable");
664
519
  process.exit(1);
665
520
  }
666
- const { pull } = await import("../pull-P44LDRWB.mjs");
521
+ const { pull } = await import("../pull-KOL2QAYQ.mjs");
667
522
  await pull({ slug, apiUrl, token, outDir });
523
+ } else if (command === "seed") {
524
+ const apiUrl = getFlag("--api-url") ?? "http://localhost:4200/api/v1";
525
+ const token = resolveToken(apiUrl, getFlag("--token"));
526
+ const dir = getFlag("--dir");
527
+ const count = getFlag("--count") ? parseInt(getFlag("--count"), 10) : void 0;
528
+ if (!token) {
529
+ console.error("[mmrc] Error: No auth token found. Run `mmrc login` first.");
530
+ process.exit(1);
531
+ }
532
+ const { seedInstances } = await import("../seed-KOGEPGOJ.mjs");
533
+ const result = await seedInstances({ apiUrl, token, dir, count });
534
+ console.log(`
535
+ [mmrc] Seed complete: ${result.created} instances across ${result.definitions} definitions`);
536
+ if (result.errors.length > 0) {
537
+ console.warn(` ${result.errors.length} error(s)`);
538
+ }
668
539
  } else if (command === "config") {
669
540
  const subcommand = args[1];
670
541
  const { getConfig, getConfigValue, setConfigValue, flattenConfig, findConfigPath, writeConfigFile } = await import("../config-PL24KEWL.mjs");
@@ -709,17 +580,44 @@ async function main() {
709
580
  console.error(" Usage: mmrc config [get <key> | set <key> <value> | list]");
710
581
  process.exit(1);
711
582
  }
583
+ } else if (command === "server") {
584
+ const subcommand = args[1];
585
+ const { serverStart, serverMigrate, serverInit, serverStatus, serverConfig } = await import("../server-VW6UPCHO.mjs");
586
+ if (subcommand === "start") {
587
+ await serverStart({
588
+ config: getFlag("--config"),
589
+ port: getFlag("--port") ? parseInt(getFlag("--port"), 10) : void 0,
590
+ migrate: hasFlag("--migrate"),
591
+ binary: getFlag("--binary")
592
+ });
593
+ } else if (subcommand === "migrate") {
594
+ await serverMigrate({ apiUrl: getFlag("--api-url"), config: getFlag("--config") });
595
+ } else if (subcommand === "init") {
596
+ serverInit({
597
+ mode: getFlag("--mode"),
598
+ db: getFlag("--db"),
599
+ output: getFlag("--output")
600
+ });
601
+ } else if (subcommand === "status") {
602
+ await serverStatus({ apiUrl: getFlag("--api-url") });
603
+ } else if (subcommand === "config") {
604
+ serverConfig({ config: getFlag("--config") });
605
+ } else {
606
+ console.error(`[mmrc] Unknown server subcommand: ${subcommand ?? "(none)"}`);
607
+ console.error(" Usage: mmrc server [start|migrate|init|status|config]");
608
+ process.exit(1);
609
+ }
712
610
  } else if (command === "version" || command === "-v" || command === "--version" || hasFlag("--version") || hasFlag("-v")) {
713
- const { readFileSync: readFileSync3 } = await import("fs");
611
+ const { readFileSync: readFileSync2 } = await import("fs");
714
612
  const { resolve: resolve2, dirname } = await import("path");
715
613
  try {
716
614
  const pkgPath = resolve2(dirname(new URL(import.meta.url).pathname), "../../package.json");
717
- const pkg = JSON.parse(readFileSync3(pkgPath, "utf-8"));
615
+ const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
718
616
  console.log(`mmrc ${pkg.version}`);
719
617
  } catch {
720
618
  try {
721
619
  const pkgPath = resolve2(__dirname, "../../package.json");
722
- const pkg = JSON.parse(readFileSync3(pkgPath, "utf-8"));
620
+ const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
723
621
  console.log(`mmrc ${pkg.version}`);
724
622
  } catch {
725
623
  console.log("mmrc (version unknown)");
@@ -728,10 +626,10 @@ async function main() {
728
626
  } else {
729
627
  let version = "";
730
628
  try {
731
- const { readFileSync: readFileSync3 } = await import("fs");
629
+ const { readFileSync: readFileSync2 } = await import("fs");
732
630
  const { resolve: resolve2 } = await import("path");
733
631
  const pkgPath = resolve2(__dirname, "../../package.json");
734
- const pkg = JSON.parse(readFileSync3(pkgPath, "utf-8"));
632
+ const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
735
633
  version = ` v${pkg.version}`;
736
634
  } catch {
737
635
  }
@@ -118,7 +118,7 @@ var CONTROL_FLOW_ATOMS = /* @__PURE__ */ new Set([
118
118
  "Slot",
119
119
  "Divider"
120
120
  ]);
121
- var ATOM_IMPORT_SOURCE = "@mindmatrix/react/atoms";
121
+ var ATOM_IMPORT_SOURCE = "@mmapp/react/atoms";
122
122
  var TEXT_VARIANT_TO_TAG = {
123
123
  h1: "h1",
124
124
  h2: "h2",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  transform
4
- } from "../chunk-CKGOZAB7.mjs";
4
+ } from "../chunk-WVYY32LD.mjs";
5
5
  import "../chunk-CIESM3BP.mjs";
6
6
 
7
7
  // src/codemod/cli.ts
@@ -105,7 +105,7 @@ declare const REVERSE_RULES: ReverseRule[];
105
105
  /**
106
106
  * Atom import source
107
107
  */
108
- declare const ATOM_IMPORT_SOURCE = "@mindmatrix/react/atoms";
108
+ declare const ATOM_IMPORT_SOURCE = "@mmapp/react/atoms";
109
109
 
110
110
  /**
111
111
  * Bidirectional React ↔ Workflow Atom Codemod
@@ -113,10 +113,10 @@ declare const ATOM_IMPORT_SOURCE = "@mindmatrix/react/atoms";
113
113
  * Babel plugin entry point. Dispatches by `direction` option.
114
114
  *
115
115
  * Usage as Babel plugin:
116
- * plugins: [['@mindmatrix/react-compiler/codemod', { direction: 'forward' }]]
116
+ * plugins: [['@mmapp/react-compiler/codemod', { direction: 'forward' }]]
117
117
  *
118
118
  * Usage programmatic:
119
- * import { transform } from '@mindmatrix/react-compiler/codemod';
119
+ * import { transform } from '@mmapp/react-compiler/codemod';
120
120
  * const result = transform(source, { direction: 'forward' });
121
121
  */
122
122
 
@@ -105,7 +105,7 @@ declare const REVERSE_RULES: ReverseRule[];
105
105
  /**
106
106
  * Atom import source
107
107
  */
108
- declare const ATOM_IMPORT_SOURCE = "@mindmatrix/react/atoms";
108
+ declare const ATOM_IMPORT_SOURCE = "@mmapp/react/atoms";
109
109
 
110
110
  /**
111
111
  * Bidirectional React ↔ Workflow Atom Codemod
@@ -113,10 +113,10 @@ declare const ATOM_IMPORT_SOURCE = "@mindmatrix/react/atoms";
113
113
  * Babel plugin entry point. Dispatches by `direction` option.
114
114
  *
115
115
  * Usage as Babel plugin:
116
- * plugins: [['@mindmatrix/react-compiler/codemod', { direction: 'forward' }]]
116
+ * plugins: [['@mmapp/react-compiler/codemod', { direction: 'forward' }]]
117
117
  *
118
118
  * Usage programmatic:
119
- * import { transform } from '@mindmatrix/react-compiler/codemod';
119
+ * import { transform } from '@mmapp/react-compiler/codemod';
120
120
  * const result = transform(source, { direction: 'forward' });
121
121
  */
122
122
 
@@ -131,7 +131,7 @@ var CONTROL_FLOW_ATOMS = /* @__PURE__ */ new Set([
131
131
  "Slot",
132
132
  "Divider"
133
133
  ]);
134
- var ATOM_IMPORT_SOURCE = "@mindmatrix/react/atoms";
134
+ var ATOM_IMPORT_SOURCE = "@mmapp/react/atoms";
135
135
  var TEXT_VARIANT_TO_TAG = {
136
136
  h1: "h1",
137
137
  h2: "h2",
@@ -9,7 +9,7 @@ import {
9
9
  extractStaticClasses,
10
10
  reverseClassifyAtom,
11
11
  transform
12
- } from "../chunk-CKGOZAB7.mjs";
12
+ } from "../chunk-WVYY32LD.mjs";
13
13
  import "../chunk-CIESM3BP.mjs";
14
14
  export {
15
15
  ATOM_IMPORT_SOURCE,
@@ -0,0 +1,9 @@
1
+ import {
2
+ deploy,
3
+ syncServices
4
+ } from "./chunk-ABYPKRSB.mjs";
5
+ import "./chunk-CIESM3BP.mjs";
6
+ export {
7
+ deploy,
8
+ syncServices
9
+ };
@@ -0,0 +1,79 @@
1
+ import { ViteDevServer } from 'vite';
2
+ import { IRWorkflowDefinition } from '@mmapp/player-core';
3
+
4
+ /**
5
+ * CLI Build Command — compiles workflow files to Pure Form JSON.
6
+ *
7
+ * Supports three file types:
8
+ * - *.workflow.tsx — React workflow components
9
+ * - models/*.ts — TypeScript model files
10
+ * - *.server.ts — Server action files
11
+ *
12
+ * Produces:
13
+ * - *.workflow.json — IR (Pure Form)
14
+ * - *.json — Engine-compatible definition
15
+ * - envelope.json — Source envelope with file manifest
16
+ */
17
+
18
+ interface BuildOptions {
19
+ src?: string;
20
+ outDir?: string;
21
+ mode?: 'strict' | 'infer';
22
+ /** Generate source envelope. */
23
+ envelope?: boolean;
24
+ /** Blueprint slug for envelope. */
25
+ slug?: string;
26
+ /** Blueprint version for envelope. */
27
+ version?: string;
28
+ /** Skip TypeScript type checking (not recommended). */
29
+ skipTypeCheck?: boolean;
30
+ /** Watch mode: auto-recompile on file changes. */
31
+ watch?: boolean;
32
+ }
33
+ interface BuildResult {
34
+ compiled: number;
35
+ errors: number;
36
+ warnings: number;
37
+ definitions: IRWorkflowDefinition[];
38
+ errorDetails: {
39
+ file: string;
40
+ message: string;
41
+ line?: number;
42
+ }[];
43
+ }
44
+ declare function build(options?: BuildOptions): Promise<BuildResult>;
45
+
46
+ /**
47
+ * Dev Server -- Vite dev server for MindMatrix React workflows.
48
+ *
49
+ * Design 39 Phase 2 + ISS-083 (error overlay) + ISS-084 (auto-seed).
50
+ */
51
+
52
+ interface WsClient {
53
+ readyState: number;
54
+ send(data: string): void;
55
+ close(): void;
56
+ on(event: string, listener: (...args: unknown[]) => void): void;
57
+ }
58
+ interface DevServerOptions {
59
+ port?: number;
60
+ src?: string;
61
+ mode?: 'strict' | 'infer';
62
+ include?: string[];
63
+ outDir?: string;
64
+ seed?: boolean;
65
+ apiUrl?: string;
66
+ authToken?: string;
67
+ ws?: boolean;
68
+ open?: boolean;
69
+ }
70
+ interface DevServerInstance {
71
+ vite: ViteDevServer;
72
+ port: number;
73
+ clients: Set<WsClient>;
74
+ rebuild: () => Promise<BuildResult>;
75
+ close: () => Promise<void>;
76
+ }
77
+ declare function createDevServer(options?: DevServerOptions): Promise<DevServerInstance>;
78
+
79
+ export { type BuildOptions as B, type DevServerOptions as D, type DevServerInstance as a, build as b, createDevServer as c, type BuildResult as d };
@@ -0,0 +1,79 @@
1
+ import { ViteDevServer } from 'vite';
2
+ import { IRWorkflowDefinition } from '@mmapp/player-core';
3
+
4
+ /**
5
+ * CLI Build Command — compiles workflow files to Pure Form JSON.
6
+ *
7
+ * Supports three file types:
8
+ * - *.workflow.tsx — React workflow components
9
+ * - models/*.ts — TypeScript model files
10
+ * - *.server.ts — Server action files
11
+ *
12
+ * Produces:
13
+ * - *.workflow.json — IR (Pure Form)
14
+ * - *.json — Engine-compatible definition
15
+ * - envelope.json — Source envelope with file manifest
16
+ */
17
+
18
+ interface BuildOptions {
19
+ src?: string;
20
+ outDir?: string;
21
+ mode?: 'strict' | 'infer';
22
+ /** Generate source envelope. */
23
+ envelope?: boolean;
24
+ /** Blueprint slug for envelope. */
25
+ slug?: string;
26
+ /** Blueprint version for envelope. */
27
+ version?: string;
28
+ /** Skip TypeScript type checking (not recommended). */
29
+ skipTypeCheck?: boolean;
30
+ /** Watch mode: auto-recompile on file changes. */
31
+ watch?: boolean;
32
+ }
33
+ interface BuildResult {
34
+ compiled: number;
35
+ errors: number;
36
+ warnings: number;
37
+ definitions: IRWorkflowDefinition[];
38
+ errorDetails: {
39
+ file: string;
40
+ message: string;
41
+ line?: number;
42
+ }[];
43
+ }
44
+ declare function build(options?: BuildOptions): Promise<BuildResult>;
45
+
46
+ /**
47
+ * Dev Server -- Vite dev server for MindMatrix React workflows.
48
+ *
49
+ * Design 39 Phase 2 + ISS-083 (error overlay) + ISS-084 (auto-seed).
50
+ */
51
+
52
+ interface WsClient {
53
+ readyState: number;
54
+ send(data: string): void;
55
+ close(): void;
56
+ on(event: string, listener: (...args: unknown[]) => void): void;
57
+ }
58
+ interface DevServerOptions {
59
+ port?: number;
60
+ src?: string;
61
+ mode?: 'strict' | 'infer';
62
+ include?: string[];
63
+ outDir?: string;
64
+ seed?: boolean;
65
+ apiUrl?: string;
66
+ authToken?: string;
67
+ ws?: boolean;
68
+ open?: boolean;
69
+ }
70
+ interface DevServerInstance {
71
+ vite: ViteDevServer;
72
+ port: number;
73
+ clients: Set<WsClient>;
74
+ rebuild: () => Promise<BuildResult>;
75
+ close: () => Promise<void>;
76
+ }
77
+ declare function createDevServer(options?: DevServerOptions): Promise<DevServerInstance>;
78
+
79
+ export { type BuildOptions as B, type DevServerOptions as D, type DevServerInstance as a, build as b, createDevServer as c, type BuildResult as d };
@@ -1,3 +1,3 @@
1
1
  import 'vite';
2
- export { a as DevServerInstance, D as DevServerOptions, c as createDevServer } from './dev-server-RmGHIntF.mjs';
3
- import '@mindmatrix/player-core';
2
+ export { a as DevServerInstance, D as DevServerOptions, c as createDevServer } from './dev-server-CrQ041KP.mjs';
3
+ import '@mmapp/player-core';
@@ -1,3 +1,3 @@
1
1
  import 'vite';
2
- export { a as DevServerInstance, D as DevServerOptions, c as createDevServer } from './dev-server-RmGHIntF.js';
3
- import '@mindmatrix/player-core';
2
+ export { a as DevServerInstance, D as DevServerOptions, c as createDevServer } from './dev-server-CrQ041KP.js';
3
+ import '@mmapp/player-core';