@rebasepro/cli 0.24.0 → 0.24.1-canary.gcb918fc

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 (122) hide show
  1. package/bin/rebase.js +3 -0
  2. package/dist/agent-setup-B31F00DC.js +324 -0
  3. package/dist/agent-setup-B31F00DC.js.map +1 -0
  4. package/dist/api-keys-BPBi5nOF.js +524 -0
  5. package/dist/api-keys-BPBi5nOF.js.map +1 -0
  6. package/dist/apps-CPXNElX4.js +256 -0
  7. package/dist/apps-CPXNElX4.js.map +1 -0
  8. package/dist/args-BnmsEXvu.js +109 -0
  9. package/dist/args-BnmsEXvu.js.map +1 -0
  10. package/dist/atlas-dev-database-DTMuEScS.js +62 -0
  11. package/dist/atlas-dev-database-DTMuEScS.js.map +1 -0
  12. package/dist/auth-DvY94ZuL.js +395 -0
  13. package/dist/auth-DvY94ZuL.js.map +1 -0
  14. package/dist/branch-pointer-DIhKbQLp.js +2 -0
  15. package/dist/build-BHvC6Bjs.js +336 -0
  16. package/dist/build-BHvC6Bjs.js.map +1 -0
  17. package/dist/bundle-BQhP_xiA.js +1617 -0
  18. package/dist/bundle-BQhP_xiA.js.map +1 -0
  19. package/dist/cli.d.ts +2 -2
  20. package/dist/cloud-K6P5IHUb.js +9667 -0
  21. package/dist/cloud-K6P5IHUb.js.map +1 -0
  22. package/dist/collection-drift-BKj_BoMq.js +106 -0
  23. package/dist/collection-drift-BKj_BoMq.js.map +1 -0
  24. package/dist/commands/api-keys.d.ts +2 -0
  25. package/dist/commands/console.d.ts +12 -0
  26. package/dist/commands/db.d.ts +64 -24
  27. package/dist/commands/dev.d.ts +103 -0
  28. package/dist/commands/generate_sdk.d.ts +26 -0
  29. package/dist/commands/skills.d.ts +22 -7
  30. package/dist/commands/storage.d.ts +46 -0
  31. package/dist/consent-BWHaYx5p.js +76 -0
  32. package/dist/consent-BWHaYx5p.js.map +1 -0
  33. package/dist/console-Cs00E-dt.js +102 -0
  34. package/dist/console-Cs00E-dt.js.map +1 -0
  35. package/dist/context-BqhRydBg.js +1234 -0
  36. package/dist/context-BqhRydBg.js.map +1 -0
  37. package/dist/daemon-DBn-shxX.js +2 -0
  38. package/dist/{daemon-entry-LTFKtpHy.js → daemon-entry-Da-D3rmH.js} +3 -4
  39. package/dist/daemon-entry-Da-D3rmH.js.map +1 -0
  40. package/dist/db-YbPMFY4Y.js +1252 -0
  41. package/dist/db-YbPMFY4Y.js.map +1 -0
  42. package/dist/derive-QMPMcQZJ.js +484 -0
  43. package/dist/derive-QMPMcQZJ.js.map +1 -0
  44. package/dist/dev-CJ_dd9uP.js +1593 -0
  45. package/dist/dev-CJ_dd9uP.js.map +1 -0
  46. package/dist/dev-db/atlas-dev-database.d.ts +32 -0
  47. package/dist/dev-db/daemon-entry.d.ts +13 -0
  48. package/dist/dev-preflight-N1evJL3S.js +2 -0
  49. package/dist/doctor-CIcpWl_L.js +771 -0
  50. package/dist/doctor-CIcpWl_L.js.map +1 -0
  51. package/dist/eject-BT6t37D0.js +335 -0
  52. package/dist/eject-BT6t37D0.js.map +1 -0
  53. package/dist/fold-static-C1EtHlfV.js +201 -0
  54. package/dist/fold-static-C1EtHlfV.js.map +1 -0
  55. package/dist/function-portability-BIvlvR9q.js +265 -0
  56. package/dist/function-portability-BIvlvR9q.js.map +1 -0
  57. package/dist/generate_sdk-UV635zSe.js +477 -0
  58. package/dist/generate_sdk-UV635zSe.js.map +1 -0
  59. package/dist/index.es.js +150 -24674
  60. package/dist/index.es.js.map +1 -1
  61. package/dist/init-fXeBcxuN.js +1042 -0
  62. package/dist/init-fXeBcxuN.js.map +1 -0
  63. package/dist/manifest-DzlC60WX.js +871 -0
  64. package/dist/manifest-DzlC60WX.js.map +1 -0
  65. package/dist/normalize-imports-CmVdE9iZ.js +100 -0
  66. package/dist/normalize-imports-CmVdE9iZ.js.map +1 -0
  67. package/dist/{package-manager-CXQevsE1.js → package-manager-DSEOwTqM.js} +2 -2
  68. package/dist/{package-manager-CXQevsE1.js.map → package-manager-DSEOwTqM.js.map} +1 -1
  69. package/dist/path-flags-DUBuI2i1.js +77 -0
  70. package/dist/path-flags-DUBuI2i1.js.map +1 -0
  71. package/dist/precompress.d.ts +17 -0
  72. package/dist/prepare-Btn9Ewbn.js +1052 -0
  73. package/dist/prepare-Btn9Ewbn.js.map +1 -0
  74. package/dist/{project-DmaGLmH2.js → project-Wp2zoyeN.js} +33 -4
  75. package/dist/project-Wp2zoyeN.js.map +1 -0
  76. package/dist/resolve-CJLkfFV0.js +2 -0
  77. package/dist/resources-3J3UQg5r.js +161 -0
  78. package/dist/resources-3J3UQg5r.js.map +1 -0
  79. package/dist/schema-ovO8qJDw.js +125 -0
  80. package/dist/schema-ovO8qJDw.js.map +1 -0
  81. package/dist/skills-DTFibT1m.js +642 -0
  82. package/dist/skills-DTFibT1m.js.map +1 -0
  83. package/dist/start-rU2e3Kp5.js +228 -0
  84. package/dist/start-rU2e3Kp5.js.map +1 -0
  85. package/dist/{state-C59Elrnt.js → state-Do7ZJYkF.js} +49 -4
  86. package/dist/state-Do7ZJYkF.js.map +1 -0
  87. package/dist/status-Cfy0TtSb.js +351 -0
  88. package/dist/status-Cfy0TtSb.js.map +1 -0
  89. package/dist/storage-DyvrSTH3.js +303 -0
  90. package/dist/storage-DyvrSTH3.js.map +1 -0
  91. package/dist/telemetry-CAWNCugs.js +338 -0
  92. package/dist/telemetry-CAWNCugs.js.map +1 -0
  93. package/dist/telemetry-DbLqGIBW.js +129 -0
  94. package/dist/telemetry-DbLqGIBW.js.map +1 -0
  95. package/dist/unknown-command-DNwDcX3w.js +98 -0
  96. package/dist/unknown-command-DNwDcX3w.js.map +1 -0
  97. package/dist/upgrade-D-5-Od96.js +1265 -0
  98. package/dist/upgrade-D-5-Od96.js.map +1 -0
  99. package/dist/utils/project.d.ts +16 -0
  100. package/dist/utils/temp-archive.d.ts +9 -0
  101. package/dist/{version-DsgBmP22.js → version-Buyyo1ut.js} +2 -2
  102. package/dist/{version-DsgBmP22.js.map → version-Buyyo1ut.js.map} +1 -1
  103. package/package.json +7 -7
  104. package/templates/eject/backend/src/env.ts +1 -1
  105. package/templates/eject/backend/src/index.ts +10 -2
  106. package/templates/template/README.md +1 -1
  107. package/templates/template/ai-instructions.md +2 -1
  108. package/templates/template/frontend/vite.config.ts +13 -3
  109. package/templates/template/scripts/example.ts +2 -1
  110. package/dist/branch-pointer-kk9F5FBO.js +0 -111
  111. package/dist/branch-pointer-kk9F5FBO.js.map +0 -1
  112. package/dist/constraints-DKGbNfUW.js +0 -48
  113. package/dist/constraints-DKGbNfUW.js.map +0 -1
  114. package/dist/daemon-C8p32i-n.js +0 -357
  115. package/dist/daemon-C8p32i-n.js.map +0 -1
  116. package/dist/daemon-entry-LTFKtpHy.js.map +0 -1
  117. package/dist/dev-preflight-CNLl4rdo.js +0 -367
  118. package/dist/dev-preflight-CNLl4rdo.js.map +0 -1
  119. package/dist/project-DmaGLmH2.js.map +0 -1
  120. package/dist/resolve-BAeRUBhg.js +0 -74
  121. package/dist/resolve-BAeRUBhg.js.map +0 -1
  122. package/dist/state-C59Elrnt.js.map +0 -1
@@ -0,0 +1,102 @@
1
+ import { n as parseCommandArgs, r as wantsHelp } from "./args-BnmsEXvu.js";
2
+ import { r as refuseMissingCollectionsPath, t as COLLECTIONS_FLAG_HELP } from "./path-flags-DUBuI2i1.js";
3
+ import { managedNotices, prepareDatabaseEnv } from "./prepare-Btn9Ewbn.js";
4
+ import { absolutizeLocalPathArgs, ensureDockerDatabase, n as argsFromCommand, resolveDriverCli, spawnDriverCli, t as reportSpawnFailure } from "./db-YbPMFY4Y.js";
5
+ import chalk from "chalk";
6
+ import path from "path";
7
+ //#region src/commands/console.ts
8
+ /**
9
+ * CLI command: rebase console
10
+ *
11
+ * A Node REPL with the project open — `rebase` (what `openRebase` from
12
+ * `@rebasepro/server-postgres` returns: `dataAsAdmin`, `sql`, `withAuth`) and
13
+ * `collections` in scope — or, with `--eval`, one piece of code run and its
14
+ * result printed as JSON.
15
+ *
16
+ * Resolved like `rebase db push`: the same project and `.env`, the same
17
+ * database (the managed one started if that is what the project uses), the
18
+ * same `--collections` loader — the driver's, spawned in `backend/`. Opening
19
+ * the database changes nothing in it.
20
+ */
21
+ var CONSOLE_FLAGS = {
22
+ "--eval": String,
23
+ "-e": "--eval",
24
+ "--collections": String,
25
+ "-c": "--collections",
26
+ "--database-url": String,
27
+ "--docker": Boolean
28
+ };
29
+ /** What each long flag above does, for the Options block. */
30
+ var CONSOLE_FLAG_HELP = {
31
+ "--eval": "Run this code instead of the REPL, print its awaited result as JSON, and exit 1 if it throws",
32
+ "--collections": COLLECTIONS_FLAG_HELP,
33
+ "--database-url": "Open this database instead of the project's",
34
+ "--docker": "Use the database from docker compose, starting it if needed"
35
+ };
36
+ /** Where the REPL keeps its history: the project's own `.rebase/`, which the scaffold ignores. */
37
+ function consoleHistoryPath(projectRoot) {
38
+ return path.join(projectRoot, ".rebase", "console_history");
39
+ }
40
+ function flagLabel(flag) {
41
+ return [flag, ...Object.entries(CONSOLE_FLAGS).filter(([, target]) => target === flag).map(([alias]) => alias)].join(", ");
42
+ }
43
+ function printConsoleHelp() {
44
+ console.log(`
45
+ ${chalk.bold("rebase console")} — Explore the project's data from a REPL
46
+
47
+ ${chalk.green.bold("Usage")}
48
+ rebase console [options]
49
+
50
+ ${chalk.green.bold("Options")}
51
+ ${Object.keys(CONSOLE_FLAG_HELP).map((flag) => ` ${chalk.blue(flagLabel(flag).padEnd(22))} ${CONSOLE_FLAG_HELP[flag]}`).join("\n")}
52
+
53
+ In scope:
54
+ rebase dataAsAdmin, sql(query, { params }), withAuth(user) → { data }, close()
55
+ collections the project's collections
56
+
57
+ Top-level await works. Opening the database changes nothing in it: no table,
58
+ role or trigger is created. withAuth runs as the user under row-level security.
59
+
60
+ ${chalk.green.bold("Examples")}
61
+ rebase console
62
+ rebase console -e "rebase.dataAsAdmin.posts.find({ limit: 5 })"
63
+ rebase console -e "(await rebase.withAuth({ uid: 'u1', roles: ['user'] })).data.posts.find()"
64
+ rebase console -e "rebase.sql('select count(*) from posts')"
65
+ `);
66
+ }
67
+ async function consoleCommand(rawArgs) {
68
+ if (wantsHelp(rawArgs)) {
69
+ printConsoleHelp();
70
+ return;
71
+ }
72
+ const { flags } = parseCommandArgs({
73
+ spec: CONSOLE_FLAGS,
74
+ rawArgs,
75
+ commandWords: 1,
76
+ command: "console",
77
+ maxPositionals: 0
78
+ });
79
+ const resolved = await resolveDriverCli();
80
+ const { projectRoot, backendDir } = resolved;
81
+ refuseMissingCollectionsPath(rawArgs, process.cwd(), backendDir);
82
+ await ensureDockerDatabase(projectRoot, rawArgs);
83
+ const say = flags["--eval"] === void 0 ? (line) => console.log(chalk.gray(` ${line}`)) : (line) => console.error(chalk.gray(` ${line}`));
84
+ const prepared = await prepareDatabaseEnv(projectRoot, {
85
+ flagUrl: flags["--database-url"] ?? null,
86
+ flagDocker: flags["--docker"] === true,
87
+ onProgress: say
88
+ });
89
+ Object.assign(resolved.env, prepared.env);
90
+ for (const line of managedNotices(prepared)) say(line);
91
+ const childArgs = [...absolutizeLocalPathArgs(argsFromCommand(rawArgs, "console"), process.cwd()), `--history=${consoleHistoryPath(projectRoot)}`];
92
+ try {
93
+ await spawnDriverCli(resolved, childArgs);
94
+ } catch (error) {
95
+ reportSpawnFailure(error);
96
+ process.exit(1);
97
+ }
98
+ }
99
+ //#endregion
100
+ export { consoleCommand };
101
+
102
+ //# sourceMappingURL=console-Cs00E-dt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-Cs00E-dt.js","names":[],"sources":["../src/commands/console.ts"],"sourcesContent":["/**\n * CLI command: rebase console\n *\n * A Node REPL with the project open — `rebase` (what `openRebase` from\n * `@rebasepro/server-postgres` returns: `dataAsAdmin`, `sql`, `withAuth`) and\n * `collections` in scope — or, with `--eval`, one piece of code run and its\n * result printed as JSON.\n *\n * Resolved like `rebase db push`: the same project and `.env`, the same\n * database (the managed one started if that is what the project uses), the\n * same `--collections` loader — the driver's, spawned in `backend/`. Opening\n * the database changes nothing in it.\n */\nimport chalk from \"chalk\";\nimport path from \"path\";\nimport { parseCommandArgs, wantsHelp } from \"../utils/args\";\nimport { argsFromCommand } from \"../utils/command-words\";\nimport { COLLECTIONS_FLAG_HELP, refuseMissingCollectionsPath } from \"../utils/path-flags\";\nimport { reportSpawnFailure } from \"../utils/spawn-error\";\nimport { managedNotices, prepareDatabaseEnv } from \"../dev-db/prepare\";\nimport { absolutizeLocalPathArgs, ensureDockerDatabase, resolveDriverCli, spawnDriverCli } from \"./db\";\n\nexport const CONSOLE_FLAGS = {\n \"--eval\": String,\n \"-e\": \"--eval\",\n \"--collections\": String,\n \"-c\": \"--collections\",\n \"--database-url\": String,\n \"--docker\": Boolean\n} as const;\n\n/** What each long flag above does, for the Options block. */\nconst CONSOLE_FLAG_HELP: Record<string, string> = {\n \"--eval\": \"Run this code instead of the REPL, print its awaited result as JSON, and exit 1 if it throws\",\n \"--collections\": COLLECTIONS_FLAG_HELP,\n \"--database-url\": \"Open this database instead of the project's\",\n \"--docker\": \"Use the database from docker compose, starting it if needed\"\n};\n\n/** Where the REPL keeps its history: the project's own `.rebase/`, which the scaffold ignores. */\nexport function consoleHistoryPath(projectRoot: string): string {\n return path.join(projectRoot, \".rebase\", \"console_history\");\n}\n\nfunction flagLabel(flag: string): string {\n const aliases = Object.entries(CONSOLE_FLAGS)\n .filter(([, target]) => target === flag)\n .map(([alias]) => alias);\n return [flag, ...aliases].join(\", \");\n}\n\nexport function printConsoleHelp(): void {\n console.log(`\n${chalk.bold(\"rebase console\")} — Explore the project's data from a REPL\n\n${chalk.green.bold(\"Usage\")}\n rebase console [options]\n\n${chalk.green.bold(\"Options\")}\n${Object.keys(CONSOLE_FLAG_HELP)\n .map(flag => ` ${chalk.blue(flagLabel(flag).padEnd(22))} ${CONSOLE_FLAG_HELP[flag]}`)\n .join(\"\\n\")}\n\nIn scope:\n rebase dataAsAdmin, sql(query, { params }), withAuth(user) → { data }, close()\n collections the project's collections\n\nTop-level await works. Opening the database changes nothing in it: no table,\nrole or trigger is created. withAuth runs as the user under row-level security.\n\n${chalk.green.bold(\"Examples\")}\n rebase console\n rebase console -e \"rebase.dataAsAdmin.posts.find({ limit: 5 })\"\n rebase console -e \"(await rebase.withAuth({ uid: 'u1', roles: ['user'] })).data.posts.find()\"\n rebase console -e \"rebase.sql('select count(*) from posts')\"\n`);\n}\n\nexport async function consoleCommand(rawArgs: string[]): Promise<void> {\n if (wantsHelp(rawArgs)) {\n printConsoleHelp();\n return;\n }\n\n // Strictly, before the line is relayed: the driver would otherwise be the\n // first to see a mistyped flag, after a database had been started for it.\n const { flags } = parseCommandArgs({\n spec: CONSOLE_FLAGS,\n rawArgs,\n commandWords: 1,\n command: \"console\",\n maxPositionals: 0\n });\n\n const resolved = await resolveDriverCli();\n const { projectRoot, backendDir } = resolved;\n refuseMissingCollectionsPath(rawArgs, process.cwd(), backendDir);\n await ensureDockerDatabase(projectRoot, rawArgs);\n\n // With --eval, stdout is the result and nothing else, so it can be piped\n // into `jq`; what the database resolution has to say goes to stderr.\n const say = flags[\"--eval\"] === undefined\n ? (line: string) => console.log(chalk.gray(` ${line}`))\n : (line: string) => console.error(chalk.gray(` ${line}`));\n const prepared = await prepareDatabaseEnv(projectRoot, {\n flagUrl: flags[\"--database-url\"] ?? null,\n flagDocker: flags[\"--docker\"] === true,\n onProgress: say\n });\n Object.assign(resolved.env, prepared.env);\n for (const line of managedNotices(prepared)) say(line);\n\n const childArgs = [\n ...absolutizeLocalPathArgs(argsFromCommand(rawArgs, \"console\"), process.cwd()),\n `--history=${consoleHistoryPath(projectRoot)}`\n ];\n\n try {\n await spawnDriverCli(resolved, childArgs);\n } catch (error) {\n // A child that exited non-zero has already said why, on the terminal it\n // shares — an `--eval` that threw, a database that refused.\n reportSpawnFailure(error);\n process.exit(1);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA,IAAa,gBAAgB;CACzB,UAAU;CACV,MAAM;CACN,iBAAiB;CACjB,MAAM;CACN,kBAAkB;CAClB,YAAY;AAChB;;AAGA,IAAM,oBAA4C;CAC9C,UAAU;CACV,iBAAiB;CACjB,kBAAkB;CAClB,YAAY;AAChB;;AAGA,SAAgB,mBAAmB,aAA6B;CAC5D,OAAO,KAAK,KAAK,aAAa,WAAW,iBAAiB;AAC9D;AAEA,SAAS,UAAU,MAAsB;CAIrC,OAAO,CAAC,MAAM,GAHE,OAAO,QAAQ,aAAa,CAAC,CACxC,QAAQ,GAAG,YAAY,WAAW,IAAI,CAAC,CACvC,KAAK,CAAC,WAAW,KACL,CAAO,CAAC,CAAC,KAAK,IAAI;AACvC;AAEA,SAAgB,mBAAyB;CACrC,QAAQ,IAAI;EACd,MAAM,KAAK,gBAAgB,EAAE;;EAE7B,MAAM,MAAM,KAAK,OAAO,EAAE;;;EAG1B,MAAM,MAAM,KAAK,SAAS,EAAE;EAC5B,OAAO,KAAK,iBAAiB,CAAC,CACvB,KAAI,SAAQ,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,kBAAkB,OAAO,CAAC,CACrF,KAAK,IAAI,EAAE;;;;;;;;;EASlB,MAAM,MAAM,KAAK,UAAU,EAAE;;;;;CAK9B;AACD;AAEA,eAAsB,eAAe,SAAkC;CACnE,IAAI,UAAU,OAAO,GAAG;EACpB,iBAAiB;EACjB;CACJ;CAIA,MAAM,EAAE,UAAU,iBAAiB;EAC/B,MAAM;EACN;EACA,cAAc;EACd,SAAS;EACT,gBAAgB;CACpB,CAAC;CAED,MAAM,WAAW,MAAM,iBAAiB;CACxC,MAAM,EAAE,aAAa,eAAe;CACpC,6BAA6B,SAAS,QAAQ,IAAI,GAAG,UAAU;CAC/D,MAAM,qBAAqB,aAAa,OAAO;CAI/C,MAAM,MAAM,MAAM,cAAc,KAAA,KACzB,SAAiB,QAAQ,IAAI,MAAM,KAAK,KAAK,MAAM,CAAC,KACpD,SAAiB,QAAQ,MAAM,MAAM,KAAK,KAAK,MAAM,CAAC;CAC7D,MAAM,WAAW,MAAM,mBAAmB,aAAa;EACnD,SAAS,MAAM,qBAAqB;EACpC,YAAY,MAAM,gBAAgB;EAClC,YAAY;CAChB,CAAC;CACD,OAAO,OAAO,SAAS,KAAK,SAAS,GAAG;CACxC,KAAK,MAAM,QAAQ,eAAe,QAAQ,GAAG,IAAI,IAAI;CAErD,MAAM,YAAY,CACd,GAAG,wBAAwB,gBAAgB,SAAS,SAAS,GAAG,QAAQ,IAAI,CAAC,GAC7E,aAAa,mBAAmB,WAAW,GAC/C;CAEA,IAAI;EACA,MAAM,eAAe,UAAU,SAAS;CAC5C,SAAS,OAAO;EAGZ,mBAAmB,KAAK;EACxB,QAAQ,KAAK,CAAC;CAClB;AACJ"}