alepha 0.15.2 → 0.15.4

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 (180) hide show
  1. package/README.md +68 -80
  2. package/dist/api/audits/index.d.ts.map +1 -1
  3. package/dist/api/audits/index.js +8 -0
  4. package/dist/api/audits/index.js.map +1 -1
  5. package/dist/api/files/index.d.ts +170 -170
  6. package/dist/api/files/index.d.ts.map +1 -1
  7. package/dist/api/files/index.js +1 -0
  8. package/dist/api/files/index.js.map +1 -1
  9. package/dist/api/jobs/index.d.ts.map +1 -1
  10. package/dist/api/jobs/index.js +3 -0
  11. package/dist/api/jobs/index.js.map +1 -1
  12. package/dist/api/notifications/index.browser.js +1 -0
  13. package/dist/api/notifications/index.browser.js.map +1 -1
  14. package/dist/api/notifications/index.js +1 -0
  15. package/dist/api/notifications/index.js.map +1 -1
  16. package/dist/api/parameters/index.d.ts +260 -260
  17. package/dist/api/parameters/index.d.ts.map +1 -1
  18. package/dist/api/parameters/index.js +10 -0
  19. package/dist/api/parameters/index.js.map +1 -1
  20. package/dist/api/users/index.d.ts +12 -1
  21. package/dist/api/users/index.d.ts.map +1 -1
  22. package/dist/api/users/index.js +18 -2
  23. package/dist/api/users/index.js.map +1 -1
  24. package/dist/batch/index.d.ts +4 -4
  25. package/dist/bucket/index.d.ts +8 -0
  26. package/dist/bucket/index.d.ts.map +1 -1
  27. package/dist/bucket/index.js +7 -2
  28. package/dist/bucket/index.js.map +1 -1
  29. package/dist/cli/index.d.ts +196 -74
  30. package/dist/cli/index.d.ts.map +1 -1
  31. package/dist/cli/index.js +234 -50
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/command/index.d.ts +10 -0
  34. package/dist/command/index.d.ts.map +1 -1
  35. package/dist/command/index.js +67 -13
  36. package/dist/command/index.js.map +1 -1
  37. package/dist/core/index.browser.js +28 -21
  38. package/dist/core/index.browser.js.map +1 -1
  39. package/dist/core/index.d.ts.map +1 -1
  40. package/dist/core/index.js +28 -21
  41. package/dist/core/index.js.map +1 -1
  42. package/dist/core/index.native.js +28 -21
  43. package/dist/core/index.native.js.map +1 -1
  44. package/dist/email/index.d.ts +21 -13
  45. package/dist/email/index.d.ts.map +1 -1
  46. package/dist/email/index.js +10561 -4
  47. package/dist/email/index.js.map +1 -1
  48. package/dist/lock/core/index.d.ts +6 -1
  49. package/dist/lock/core/index.d.ts.map +1 -1
  50. package/dist/lock/core/index.js +9 -1
  51. package/dist/lock/core/index.js.map +1 -1
  52. package/dist/mcp/index.d.ts +5 -5
  53. package/dist/orm/index.bun.js +32 -16
  54. package/dist/orm/index.bun.js.map +1 -1
  55. package/dist/orm/index.d.ts +4 -1
  56. package/dist/orm/index.d.ts.map +1 -1
  57. package/dist/orm/index.js +34 -22
  58. package/dist/orm/index.js.map +1 -1
  59. package/dist/react/auth/index.browser.js +2 -1
  60. package/dist/react/auth/index.browser.js.map +1 -1
  61. package/dist/react/auth/index.js +2 -1
  62. package/dist/react/auth/index.js.map +1 -1
  63. package/dist/react/core/index.d.ts +3 -3
  64. package/dist/react/router/index.browser.js +9 -15
  65. package/dist/react/router/index.browser.js.map +1 -1
  66. package/dist/react/router/index.d.ts +305 -407
  67. package/dist/react/router/index.d.ts.map +1 -1
  68. package/dist/react/router/index.js +581 -781
  69. package/dist/react/router/index.js.map +1 -1
  70. package/dist/scheduler/index.d.ts +13 -1
  71. package/dist/scheduler/index.d.ts.map +1 -1
  72. package/dist/scheduler/index.js +42 -4
  73. package/dist/scheduler/index.js.map +1 -1
  74. package/dist/security/index.d.ts +42 -42
  75. package/dist/security/index.d.ts.map +1 -1
  76. package/dist/security/index.js +8 -7
  77. package/dist/security/index.js.map +1 -1
  78. package/dist/server/auth/index.d.ts +167 -167
  79. package/dist/server/compress/index.d.ts.map +1 -1
  80. package/dist/server/compress/index.js +1 -0
  81. package/dist/server/compress/index.js.map +1 -1
  82. package/dist/server/health/index.d.ts +17 -17
  83. package/dist/server/links/index.d.ts +39 -39
  84. package/dist/server/links/index.js +1 -1
  85. package/dist/server/links/index.js.map +1 -1
  86. package/dist/server/static/index.js +7 -2
  87. package/dist/server/static/index.js.map +1 -1
  88. package/dist/server/swagger/index.d.ts +8 -0
  89. package/dist/server/swagger/index.d.ts.map +1 -1
  90. package/dist/server/swagger/index.js +7 -2
  91. package/dist/server/swagger/index.js.map +1 -1
  92. package/dist/sms/index.d.ts +8 -0
  93. package/dist/sms/index.d.ts.map +1 -1
  94. package/dist/sms/index.js +7 -2
  95. package/dist/sms/index.js.map +1 -1
  96. package/dist/system/index.browser.js +734 -12
  97. package/dist/system/index.browser.js.map +1 -1
  98. package/dist/system/index.d.ts +8 -0
  99. package/dist/system/index.d.ts.map +1 -1
  100. package/dist/system/index.js +7 -2
  101. package/dist/system/index.js.map +1 -1
  102. package/dist/vite/index.d.ts +3 -2
  103. package/dist/vite/index.d.ts.map +1 -1
  104. package/dist/vite/index.js +42 -8
  105. package/dist/vite/index.js.map +1 -1
  106. package/dist/websocket/index.d.ts +34 -34
  107. package/dist/websocket/index.d.ts.map +1 -1
  108. package/package.json +9 -4
  109. package/src/api/audits/controllers/AdminAuditController.ts +8 -0
  110. package/src/api/files/controllers/AdminFileStatsController.ts +1 -0
  111. package/src/api/jobs/controllers/AdminJobController.ts +3 -0
  112. package/src/api/logs/TODO.md +13 -10
  113. package/src/api/notifications/controllers/AdminNotificationController.ts +1 -0
  114. package/src/api/parameters/controllers/AdminConfigController.ts +10 -0
  115. package/src/api/users/controllers/AdminIdentityController.ts +3 -0
  116. package/src/api/users/controllers/AdminSessionController.ts +3 -0
  117. package/src/api/users/controllers/AdminUserController.ts +5 -0
  118. package/src/cli/apps/AlephaPackageBuilderCli.ts +9 -0
  119. package/src/cli/atoms/buildOptions.ts +99 -9
  120. package/src/cli/commands/build.ts +150 -32
  121. package/src/cli/commands/db.ts +5 -7
  122. package/src/cli/commands/init.spec.ts +50 -6
  123. package/src/cli/commands/init.ts +28 -5
  124. package/src/cli/providers/ViteDevServerProvider.ts +31 -9
  125. package/src/cli/services/AlephaCliUtils.ts +16 -0
  126. package/src/cli/services/PackageManagerUtils.ts +2 -0
  127. package/src/cli/services/ProjectScaffolder.spec.ts +97 -0
  128. package/src/cli/services/ProjectScaffolder.ts +28 -6
  129. package/src/cli/templates/agentMd.ts +6 -1
  130. package/src/cli/templates/apiAppSecurityTs.ts +11 -0
  131. package/src/cli/templates/apiIndexTs.ts +18 -4
  132. package/src/cli/templates/webAppRouterTs.ts +25 -1
  133. package/src/cli/templates/webHelloComponentTsx.ts +15 -5
  134. package/src/command/helpers/Runner.spec.ts +135 -0
  135. package/src/command/helpers/Runner.ts +4 -1
  136. package/src/command/providers/CliProvider.spec.ts +325 -0
  137. package/src/command/providers/CliProvider.ts +117 -7
  138. package/src/core/Alepha.ts +32 -25
  139. package/src/email/index.workerd.ts +36 -0
  140. package/src/email/providers/WorkermailerEmailProvider.ts +221 -0
  141. package/src/lock/core/primitives/$lock.ts +13 -1
  142. package/src/orm/index.bun.ts +1 -1
  143. package/src/orm/index.ts +2 -6
  144. package/src/orm/providers/drivers/BunSqliteProvider.ts +4 -1
  145. package/src/orm/providers/drivers/CloudflareD1Provider.ts +57 -30
  146. package/src/orm/providers/drivers/DatabaseProvider.ts +9 -1
  147. package/src/orm/providers/drivers/NodeSqliteProvider.ts +4 -1
  148. package/src/react/auth/services/ReactAuth.ts +3 -1
  149. package/src/react/router/atoms/ssrManifestAtom.ts +7 -0
  150. package/src/react/router/hooks/useActive.ts +1 -1
  151. package/src/react/router/hooks/useRouter.ts +1 -1
  152. package/src/react/router/index.ts +4 -0
  153. package/src/react/router/primitives/$page.browser.spec.tsx +24 -24
  154. package/src/react/router/primitives/$page.spec.tsx +0 -32
  155. package/src/react/router/primitives/$page.ts +6 -14
  156. package/src/react/router/providers/ReactBrowserProvider.ts +6 -3
  157. package/src/react/router/providers/ReactPageProvider.ts +1 -1
  158. package/src/react/router/providers/ReactPreloadProvider.spec.ts +142 -0
  159. package/src/react/router/providers/ReactPreloadProvider.ts +85 -0
  160. package/src/react/router/providers/ReactServerProvider.ts +21 -82
  161. package/src/react/router/providers/ReactServerTemplateProvider.spec.ts +210 -0
  162. package/src/react/router/providers/ReactServerTemplateProvider.ts +228 -665
  163. package/src/react/router/providers/SSRManifestProvider.ts +7 -0
  164. package/src/react/router/services/ReactRouter.ts +13 -13
  165. package/src/scheduler/index.workerd.ts +43 -0
  166. package/src/scheduler/providers/CronProvider.ts +53 -6
  167. package/src/scheduler/providers/WorkerdCronProvider.ts +102 -0
  168. package/src/security/__tests__/ServerSecurityProvider.spec.ts +77 -0
  169. package/src/security/providers/ServerSecurityProvider.ts +30 -22
  170. package/src/server/compress/providers/ServerCompressProvider.ts +6 -0
  171. package/src/server/core/providers/NodeHttpServerProvider.spec.ts +9 -3
  172. package/src/server/links/providers/ServerLinksProvider.spec.ts +332 -0
  173. package/src/server/links/providers/ServerLinksProvider.ts +1 -1
  174. package/src/system/index.browser.ts +25 -0
  175. package/src/system/index.workerd.ts +1 -0
  176. package/src/system/providers/FileSystemProvider.ts +8 -0
  177. package/src/system/providers/NodeFileSystemProvider.ts +11 -2
  178. package/src/vite/tasks/buildServer.ts +2 -12
  179. package/src/vite/tasks/generateCloudflare.ts +47 -8
  180. package/src/vite/tasks/generateDocker.ts +4 -0
@@ -225,6 +225,7 @@ declare class Runner {
225
225
  protected cliName: string;
226
226
  protected commandName: string;
227
227
  protected firstTaskStarted: boolean;
228
+ protected taskCounter: number;
228
229
  constructor();
229
230
  protected get useDynamicLogger(): boolean;
230
231
  /**
@@ -760,6 +761,15 @@ declare class CliProvider {
760
761
  protected getMaxFlagLength(flags: {
761
762
  aliases: string[];
762
763
  }[]): number;
764
+ /**
765
+ * Extract enum values from a schema if it represents an enum.
766
+ * Returns undefined if the schema is not an enum.
767
+ */
768
+ protected getEnumValues(schema: TSchema): string[] | undefined;
769
+ /**
770
+ * Format flag description with enum values if applicable.
771
+ */
772
+ protected formatFlagDescription(description: string | undefined, schema: TSchema | undefined): string;
763
773
  }
764
774
  //#endregion
765
775
  //#region ../../src/command/index.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/command/errors/CommandError.ts","../../src/command/helpers/Asker.ts","../../src/command/helpers/EnvUtils.ts","../../src/command/helpers/PrettyPrint.ts","../../src/system/providers/ShellProvider.ts","../../src/command/helpers/Runner.ts","../../src/command/primitives/$command.ts","../../src/logger/providers/ConsoleColorProvider.ts","../../src/command/providers/CliProvider.ts","../../src/command/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/command/errors/CommandError.ts","../../src/command/helpers/Asker.ts","../../src/command/helpers/EnvUtils.ts","../../src/command/helpers/PrettyPrint.ts","../../src/system/providers/ShellProvider.ts","../../src/command/helpers/Runner.ts","../../src/command/primitives/$command.ts","../../src/logger/providers/ConsoleColorProvider.ts","../../src/command/providers/CliProvider.ts","../../src/command/index.ts"],"mappings":"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"}
@@ -1587,8 +1587,13 @@ var NodeFileSystemProvider = class {
1587
1587
  * await fs.mkdir("/tmp/mydir", { mode: 0o755 });
1588
1588
  * ```
1589
1589
  */
1590
- async mkdir(path, options) {
1591
- await mkdir(path, options);
1590
+ async mkdir(path, options = {}) {
1591
+ const p = mkdir(path, {
1592
+ recursive: options.recursive ?? true,
1593
+ mode: options.mode
1594
+ });
1595
+ if (options.force === false) await p;
1596
+ else await p.catch(() => {});
1592
1597
  }
1593
1598
  /**
1594
1599
  * Lists files in a directory.
@@ -2082,6 +2087,7 @@ var Runner = class {
2082
2087
  cliName = "";
2083
2088
  commandName = "";
2084
2089
  firstTaskStarted = false;
2090
+ taskCounter = 0;
2085
2091
  constructor() {
2086
2092
  this.run = this.createRunMethod();
2087
2093
  }
@@ -2095,6 +2101,8 @@ var Runner = class {
2095
2101
  startCommand(cliName, commandName) {
2096
2102
  this.cliName = cliName;
2097
2103
  this.commandName = commandName;
2104
+ this.firstTaskStarted = false;
2105
+ this.taskCounter = 0;
2098
2106
  }
2099
2107
  createRunMethod() {
2100
2108
  const runFn = async (cmd, options) => {
@@ -2176,7 +2184,7 @@ var Runner = class {
2176
2184
  }
2177
2185
  async executeTask(task) {
2178
2186
  const now = Date.now();
2179
- const taskId = task.name;
2187
+ const taskId = `task-${++this.taskCounter}`;
2180
2188
  if (this.useDynamicLogger) this.prettyPrint.startSpinner(taskId, task.name);
2181
2189
  else this.log.info(`Starting '${task.name}' ...`);
2182
2190
  let stdout = "";
@@ -2674,8 +2682,15 @@ var CliProvider = class {
2674
2682
  if (strict) throw new CommandError(`Unknown flag: --${rawKey}`);
2675
2683
  continue;
2676
2684
  }
2685
+ const isUnionWithBoolean = t.schema.isUnion(def.schema) && def.schema.anyOf.some((s) => t.schema.isBoolean(s));
2677
2686
  if (t.schema.isBoolean(def.schema)) result[def.key] = true;
2678
- else if (value) try {
2687
+ else if (isUnionWithBoolean && !value) {
2688
+ const nextArg = argv[i + 1];
2689
+ if (nextArg && !nextArg.startsWith("-")) {
2690
+ result[def.key] = nextArg;
2691
+ i++;
2692
+ } else result[def.key] = true;
2693
+ } else if (value) try {
2679
2694
  if (t.schema.isObject(def.schema) || t.schema.isArray(def.schema)) result[def.key] = JSON.parse(value);
2680
2695
  else result[def.key] = value;
2681
2696
  } catch {
@@ -2707,7 +2722,11 @@ var CliProvider = class {
2707
2722
  const hasEqualValue = valueParts.length > 0;
2708
2723
  const def = flagDefs.find((d) => d.aliases.includes(rawKey));
2709
2724
  if (!def) continue;
2710
- if (!t.schema.isBoolean(def.schema) && !hasEqualValue) {
2725
+ const isUnionWithBoolean = t.schema.isUnion(def.schema) && def.schema.anyOf.some((s) => t.schema.isBoolean(s));
2726
+ if (!t.schema.isBoolean(def.schema) && !isUnionWithBoolean && !hasEqualValue) {
2727
+ const nextArg = argv[i + 1];
2728
+ if (nextArg && !nextArg.startsWith("-")) consumed.add(i + 1);
2729
+ } else if (isUnionWithBoolean && !hasEqualValue) {
2711
2730
  const nextArg = argv[i + 1];
2712
2731
  if (nextArg && !nextArg.startsWith("-")) consumed.add(i + 1);
2713
2732
  }
@@ -2828,13 +2847,14 @@ var CliProvider = class {
2828
2847
  ...Object.entries(command.flags.properties).map(([key, value]) => ({
2829
2848
  key,
2830
2849
  schema: value,
2831
- aliases: value.alias ?? [key],
2850
+ aliases: [key, ...value.aliases ?? (value.alias ? [value.alias] : [])],
2832
2851
  description: value.description
2833
2852
  })),
2834
2853
  ...command.options.mode ? [{
2835
2854
  key: "mode",
2836
2855
  aliases: ["m", "mode"],
2837
- description: typeof command.options.mode === "string" ? `Environment mode - loads .env.{mode} (default: ${command.options.mode})` : "Environment mode (e.g., production, staging) - loads .env.{mode}"
2856
+ description: typeof command.options.mode === "string" ? `Environment mode - loads .env.{mode} (default: ${command.options.mode})` : "Environment mode (e.g., production, staging) - loads .env.{mode}",
2857
+ schema: t.string()
2838
2858
  }] : [],
2839
2859
  ...Object.entries(this.getAllGlobalFlags()).map(([key, value]) => ({
2840
2860
  key,
@@ -2842,11 +2862,14 @@ var CliProvider = class {
2842
2862
  }))
2843
2863
  ];
2844
2864
  const maxFlagLength = this.getMaxFlagLength(flags);
2845
- for (const { aliases, description } of flags) {
2846
- const flagStr = (Array.isArray(aliases) ? aliases : [aliases]).map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ");
2865
+ for (const flag of flags) {
2866
+ const { aliases, description } = flag;
2867
+ const schema = "schema" in flag ? flag.schema : void 0;
2868
+ const flagStr = (Array.isArray(aliases) ? aliases : [aliases]).slice().sort((a, b) => a.length - b.length).map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ");
2847
2869
  const coloredFlag = c.set("GREY_LIGHT", flagStr);
2848
2870
  const padding = " ".repeat(Math.max(0, maxFlagLength - flagStr.length));
2849
- this.log.info(` ${coloredFlag}${padding} ${description ?? ""}`);
2871
+ const formattedDesc = this.formatFlagDescription(description, schema);
2872
+ this.log.info(` ${coloredFlag}${padding} ${formattedDesc}`);
2850
2873
  }
2851
2874
  const envVars = Object.entries(command.env.properties);
2852
2875
  if (envVars.length > 0) {
@@ -2881,14 +2904,16 @@ var CliProvider = class {
2881
2904
  const globalFlags = [...rootCommand ? Object.entries(rootCommand.flags.properties).map(([key, value]) => ({
2882
2905
  key,
2883
2906
  aliases: [key, ...value.aliases ?? (value.alias ? [value.alias] : void 0) ?? []],
2884
- description: value.description
2907
+ description: value.description,
2908
+ schema: value
2885
2909
  })) : [], ...Object.values(this.getAllGlobalFlags())];
2886
2910
  const maxFlagLength = this.getMaxFlagLength(globalFlags);
2887
- for (const { aliases, description } of globalFlags) {
2911
+ for (const { aliases, description, schema } of globalFlags) {
2888
2912
  const flagStr = aliases.map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ");
2889
2913
  const coloredFlag = c.set("GREY_LIGHT", flagStr);
2890
2914
  const padding = " ".repeat(Math.max(0, maxFlagLength - flagStr.length));
2891
- this.log.info(` ${coloredFlag}${padding} ${description ?? ""}`);
2915
+ const formattedDesc = this.formatFlagDescription(description, schema);
2916
+ this.log.info(` ${coloredFlag}${padding} ${formattedDesc}`);
2892
2917
  }
2893
2918
  }
2894
2919
  this.log.info("");
@@ -2952,6 +2977,35 @@ var CliProvider = class {
2952
2977
  return (Array.isArray(f.aliases) ? f.aliases : [f.aliases]).map((a) => a.length === 1 ? `-${a}` : `--${a}`).join(", ").length;
2953
2978
  }));
2954
2979
  }
2980
+ /**
2981
+ * Extract enum values from a schema if it represents an enum.
2982
+ * Returns undefined if the schema is not an enum.
2983
+ */
2984
+ getEnumValues(schema) {
2985
+ if (!schema) return void 0;
2986
+ if ("enum" in schema && Array.isArray(schema.enum) && schema.enum.every((v) => typeof v === "string")) return schema.enum;
2987
+ if (t.schema.isUnion(schema)) {
2988
+ const union = schema;
2989
+ const values = [];
2990
+ for (const variant of union.anyOf) if (t.schema.isString(variant) && "const" in variant && typeof variant.const === "string") values.push(variant.const);
2991
+ else return;
2992
+ return values.length > 0 ? values : void 0;
2993
+ }
2994
+ }
2995
+ /**
2996
+ * Format flag description with enum values if applicable.
2997
+ */
2998
+ formatFlagDescription(description, schema) {
2999
+ const baseDesc = description ?? "";
3000
+ if (!schema) return baseDesc;
3001
+ const enumValues = this.getEnumValues(schema);
3002
+ if (enumValues && enumValues.length > 0) {
3003
+ const valuesStr = enumValues.join(", ");
3004
+ const enumHint = this.color.set("GREY_DARK", `[${valuesStr}]`);
3005
+ return baseDesc ? `${baseDesc} ${enumHint}` : enumHint;
3006
+ }
3007
+ return baseDesc;
3008
+ }
2955
3009
  };
2956
3010
 
2957
3011
  //#endregion