@base44-preview/cli 0.0.1-pr.5.e49d892 → 0.0.1-pr.7.00b57d1

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 (100) hide show
  1. package/README.md +18 -14
  2. package/dist/cli/commands/auth/login.d.ts.map +1 -1
  3. package/dist/cli/commands/auth/login.js +28 -58
  4. package/dist/cli/commands/auth/login.js.map +1 -1
  5. package/dist/cli/commands/auth/logout.d.ts.map +1 -1
  6. package/dist/cli/commands/auth/logout.js +2 -12
  7. package/dist/cli/commands/auth/logout.js.map +1 -1
  8. package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
  9. package/dist/cli/commands/auth/whoami.js +2 -12
  10. package/dist/cli/commands/auth/whoami.js.map +1 -1
  11. package/dist/cli/commands/project/show-project.d.ts +3 -0
  12. package/dist/cli/commands/project/show-project.d.ts.map +1 -0
  13. package/dist/cli/commands/project/show-project.js +20 -0
  14. package/dist/cli/commands/project/show-project.js.map +1 -0
  15. package/dist/cli/index.js +10 -7
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/utils/index.d.ts +1 -0
  18. package/dist/cli/utils/index.d.ts.map +1 -1
  19. package/dist/cli/utils/index.js +1 -0
  20. package/dist/cli/utils/index.js.map +1 -1
  21. package/dist/cli/utils/packageVersion.js +3 -3
  22. package/dist/cli/utils/packageVersion.js.map +1 -1
  23. package/dist/cli/utils/runCommand.d.ts.map +1 -1
  24. package/dist/cli/utils/runCommand.js +11 -1
  25. package/dist/cli/utils/runCommand.js.map +1 -1
  26. package/dist/cli/utils/runTask.d.ts +14 -0
  27. package/dist/cli/utils/runTask.d.ts.map +1 -0
  28. package/dist/cli/utils/runTask.js +24 -0
  29. package/dist/cli/utils/runTask.js.map +1 -0
  30. package/dist/core/api/auth/client.d.ts +1 -1
  31. package/dist/core/api/auth/client.d.ts.map +1 -1
  32. package/dist/core/api/auth/client.js +4 -4
  33. package/dist/core/api/auth/client.js.map +1 -1
  34. package/dist/core/api/auth/index.d.ts +3 -3
  35. package/dist/core/api/auth/index.js +3 -3
  36. package/dist/core/api/auth/schema.d.ts +1 -1
  37. package/dist/core/api/auth/schema.js +8 -8
  38. package/dist/core/api/index.d.ts +1 -1
  39. package/dist/core/api/index.js +1 -1
  40. package/dist/core/config/auth.d.ts +1 -1
  41. package/dist/core/config/auth.d.ts.map +1 -1
  42. package/dist/core/config/auth.js +5 -5
  43. package/dist/core/config/auth.js.map +1 -1
  44. package/dist/core/config/entities.d.ts +3 -0
  45. package/dist/core/config/entities.d.ts.map +1 -0
  46. package/dist/core/config/entities.js +25 -0
  47. package/dist/core/config/entities.js.map +1 -0
  48. package/dist/core/config/functions.d.ts +4 -0
  49. package/dist/core/config/functions.d.ts.map +1 -0
  50. package/dist/core/config/functions.js +26 -0
  51. package/dist/core/config/functions.js.map +1 -0
  52. package/dist/core/config/index.d.ts +5 -2
  53. package/dist/core/config/index.d.ts.map +1 -1
  54. package/dist/core/config/index.js +5 -2
  55. package/dist/core/config/index.js.map +1 -1
  56. package/dist/core/config/project.d.ts +15 -0
  57. package/dist/core/config/project.d.ts.map +1 -0
  58. package/dist/core/config/project.js +61 -0
  59. package/dist/core/config/project.js.map +1 -0
  60. package/dist/core/consts.d.ts +6 -0
  61. package/dist/core/consts.d.ts.map +1 -0
  62. package/dist/core/consts.js +19 -0
  63. package/dist/core/consts.js.map +1 -0
  64. package/dist/core/errors/index.d.ts +1 -1
  65. package/dist/core/errors/index.js +1 -1
  66. package/dist/core/index.d.ts +5 -5
  67. package/dist/core/index.js +5 -5
  68. package/dist/core/schemas/auth.d.ts +1 -1
  69. package/dist/core/schemas/auth.js +3 -3
  70. package/dist/core/schemas/config.d.ts +22 -0
  71. package/dist/core/schemas/config.d.ts.map +1 -0
  72. package/dist/core/schemas/config.js +14 -0
  73. package/dist/core/schemas/config.js.map +1 -0
  74. package/dist/core/schemas/entity.d.ts +47 -0
  75. package/dist/core/schemas/entity.d.ts.map +1 -0
  76. package/dist/core/schemas/entity.js +29 -0
  77. package/dist/core/schemas/entity.js.map +1 -0
  78. package/dist/core/schemas/function.d.ts +91 -0
  79. package/dist/core/schemas/function.d.ts.map +1 -0
  80. package/dist/core/schemas/function.js +36 -0
  81. package/dist/core/schemas/function.js.map +1 -0
  82. package/dist/core/schemas/index.d.ts +5 -1
  83. package/dist/core/schemas/index.d.ts.map +1 -1
  84. package/dist/core/schemas/index.js +5 -1
  85. package/dist/core/schemas/index.js.map +1 -1
  86. package/dist/core/schemas/project.d.ts +14 -0
  87. package/dist/core/schemas/project.d.ts.map +1 -0
  88. package/dist/core/schemas/project.js +9 -0
  89. package/dist/core/schemas/project.js.map +1 -0
  90. package/dist/core/utils/fs.d.ts +1 -1
  91. package/dist/core/utils/fs.d.ts.map +1 -1
  92. package/dist/core/utils/fs.js +21 -11
  93. package/dist/core/utils/fs.js.map +1 -1
  94. package/dist/core/utils/index.d.ts +1 -1
  95. package/dist/core/utils/index.js +1 -1
  96. package/package.json +11 -4
  97. package/dist/core/config/constants.d.ts +0 -4
  98. package/dist/core/config/constants.d.ts.map +0 -1
  99. package/dist/core/config/constants.js +0 -6
  100. package/dist/core/config/constants.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { AuthDataSchema } from "../schemas/auth.js";
2
- import { AUTH_FILE_PATH } from "./constants.js";
3
- import { readJsonFile, writeJsonFile, deleteFile, } from "../utils/fs.js";
2
+ import { getAuthFilePath } from "../consts.js";
3
+ import { readJsonFile, writeJsonFile, deleteFile } from "../utils/fs.js";
4
4
  export async function readAuth() {
5
5
  try {
6
- const parsed = await readJsonFile(AUTH_FILE_PATH);
6
+ const parsed = await readJsonFile(getAuthFilePath());
7
7
  const result = AuthDataSchema.safeParse(parsed);
8
8
  if (!result.success) {
9
9
  throw new Error(`Invalid authentication data: ${result.error.issues
@@ -30,7 +30,7 @@ export async function writeAuth(authData) {
30
30
  .join(", ")}`);
31
31
  }
32
32
  try {
33
- await writeJsonFile(AUTH_FILE_PATH, result.data);
33
+ await writeJsonFile(getAuthFilePath(), result.data);
34
34
  }
35
35
  catch (error) {
36
36
  throw new Error(`Failed to write authentication file: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -38,7 +38,7 @@ export async function writeAuth(authData) {
38
38
  }
39
39
  export async function deleteAuth() {
40
40
  try {
41
- await deleteFile(AUTH_FILE_PATH);
41
+ await deleteFile(getAuthFilePath());
42
42
  }
43
43
  catch (error) {
44
44
  throw new Error(`Failed to delete authentication file: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/core/config/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAEL,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM;iBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM;aAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,wCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,yCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/core/config/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM;iBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM;aAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,wCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,yCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Entity } from "../schemas/entity.js";
2
+ export declare function readAllEntities(entitiesDir: string): Promise<Entity[]>;
3
+ //# sourceMappingURL=entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/core/config/entities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAkBnD,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe5E"}
@@ -0,0 +1,25 @@
1
+ import { globby } from "globby";
2
+ import { EntitySchema } from "../schemas/entity.js";
3
+ import { readJsonFile, pathExists } from "../utils/fs.js";
4
+ async function readEntityFile(entityPath) {
5
+ const parsed = await readJsonFile(entityPath);
6
+ const result = EntitySchema.safeParse(parsed);
7
+ if (!result.success) {
8
+ throw new Error(`Invalid entity configuration in ${entityPath}: ${result.error.issues
9
+ .map((e) => e.message)
10
+ .join(", ")}`);
11
+ }
12
+ return result.data;
13
+ }
14
+ export async function readAllEntities(entitiesDir) {
15
+ if (!(await pathExists(entitiesDir))) {
16
+ return [];
17
+ }
18
+ const files = await globby("*.{json,jsonc}", {
19
+ cwd: entitiesDir,
20
+ absolute: true,
21
+ });
22
+ const entities = await Promise.all(files.map((filePath) => readEntityFile(filePath)));
23
+ return entities;
24
+ }
25
+ //# sourceMappingURL=entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/core/config/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1D,KAAK,UAAU,cAAc,CAAC,UAAkB;IAC9C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,mCAAmC,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM;aAClE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB;IACvD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE;QAC3C,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAClD,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FunctionConfig } from "../schemas/function.js";
2
+ export declare function readFunctionConfig(configPath: string): Promise<FunctionConfig>;
3
+ export declare function readAllFunctions(functionsDir: string): Promise<FunctionConfig[]>;
4
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/core/config/functions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,EAAE,CAAC,CAe3B"}
@@ -0,0 +1,26 @@
1
+ import { globby } from "globby";
2
+ import { FunctionConfigSchema } from "../schemas/function.js";
3
+ import { FUNCTION_CONFIG_FILE } from "../consts.js";
4
+ import { readJsonFile, pathExists } from "../utils/fs.js";
5
+ export async function readFunctionConfig(configPath) {
6
+ const parsed = await readJsonFile(configPath);
7
+ const result = FunctionConfigSchema.safeParse(parsed);
8
+ if (!result.success) {
9
+ throw new Error(`Invalid function configuration in ${configPath}: ${result.error.issues
10
+ .map((e) => e.message)
11
+ .join(", ")}`);
12
+ }
13
+ return result.data;
14
+ }
15
+ export async function readAllFunctions(functionsDir) {
16
+ if (!(await pathExists(functionsDir))) {
17
+ return [];
18
+ }
19
+ const configFiles = await globby(`*/${FUNCTION_CONFIG_FILE}`, {
20
+ cwd: functionsDir,
21
+ absolute: true,
22
+ });
23
+ const functionConfigs = await Promise.all(configFiles.map((configPath) => readFunctionConfig(configPath)));
24
+ return functionConfigs;
25
+ }
26
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/core/config/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,qCAAqC,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM;aACpE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAAoB;IAEpB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,oBAAoB,EAAE,EAAE;QAC5D,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAChE,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -1,3 +1,6 @@
1
- export * from './constants.js';
2
- export * from './auth.js';
1
+ export * from "../consts.js";
2
+ export * from "./auth.js";
3
+ export * from "./project.js";
4
+ export * from "./entities.js";
5
+ export * from "./functions.js";
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -1,3 +1,6 @@
1
- export * from './constants.js';
2
- export * from './auth.js';
1
+ export * from "../consts.js";
2
+ export * from "./auth.js";
3
+ export * from "./project.js";
4
+ export * from "./entities.js";
5
+ export * from "./functions.js";
3
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ProjectWithPaths } from "../schemas/project.js";
2
+ import type { Entity } from "../schemas/entity.js";
3
+ import type { FunctionConfig } from "../schemas/function.js";
4
+ export interface ProjectRoot {
5
+ root: string;
6
+ configPath: string;
7
+ }
8
+ export interface ProjectData {
9
+ project: ProjectWithPaths;
10
+ entities: Entity[];
11
+ functions: FunctionConfig[];
12
+ }
13
+ export declare function findProjectRoot(startPath?: string): Promise<ProjectRoot | null>;
14
+ export declare function readProjectConfig(projectRoot?: string): Promise<ProjectData>;
15
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/core/config/project.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAYD,wBAAsB,eAAe,CACnC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAY7B;AAED,wBAAsB,iBAAiB,CACrC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,CAyCtB"}
@@ -0,0 +1,61 @@
1
+ import { join, dirname } from "node:path";
2
+ import { globby } from "globby";
3
+ import { ProjectConfigSchema } from "../schemas/project.js";
4
+ import { getProjectConfigPatterns, PROJECT_SUBDIR } from "../consts.js";
5
+ import { readJsonFile } from "../utils/fs.js";
6
+ import { readAllEntities } from "./entities.js";
7
+ import { readAllFunctions } from "./functions.js";
8
+ // Finds config file in a directory using globby, respecting priority order.
9
+ async function findConfigInDir(dir) {
10
+ const files = await globby(getProjectConfigPatterns(), {
11
+ cwd: dir,
12
+ absolute: true,
13
+ });
14
+ return files[0] ?? null;
15
+ }
16
+ // Walks up the directory tree to locate a Base44 project config file.
17
+ export async function findProjectRoot(startPath) {
18
+ let current = startPath || process.cwd();
19
+ while (current !== dirname(current)) {
20
+ const configPath = await findConfigInDir(current);
21
+ if (configPath) {
22
+ return { root: current, configPath };
23
+ }
24
+ current = dirname(current);
25
+ }
26
+ return null;
27
+ }
28
+ export async function readProjectConfig(projectRoot) {
29
+ let found;
30
+ if (projectRoot) {
31
+ const configPath = await findConfigInDir(projectRoot);
32
+ found = configPath ? { root: projectRoot, configPath } : null;
33
+ }
34
+ else {
35
+ found = await findProjectRoot();
36
+ }
37
+ if (!found) {
38
+ throw new Error(`Project root not found. Please ensure config.jsonc or config.json exists in the project directory or ${PROJECT_SUBDIR}/ subdirectory.`);
39
+ }
40
+ const { root, configPath } = found;
41
+ const parsed = await readJsonFile(configPath);
42
+ const result = ProjectConfigSchema.safeParse(parsed);
43
+ if (!result.success) {
44
+ const errors = result.error.issues.map((e) => e.message).join(", ");
45
+ throw new Error(`Invalid project configuration: ${errors}`);
46
+ }
47
+ const project = result.data;
48
+ const configDir = dirname(configPath);
49
+ const entitiesPath = join(configDir, project.entitySrc);
50
+ const functionsPath = join(configDir, project.functionSrc);
51
+ const [entities, functions] = await Promise.all([
52
+ readAllEntities(entitiesPath),
53
+ readAllFunctions(functionsPath),
54
+ ]);
55
+ return {
56
+ project: { ...project, root, configPath },
57
+ entities,
58
+ functions,
59
+ };
60
+ }
61
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/core/config/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const PROJECT_SUBDIR = "base44";
2
+ export declare const FUNCTION_CONFIG_FILE = "function.jsonc";
3
+ export declare function getBase44Dir(): string;
4
+ export declare function getAuthFilePath(): string;
5
+ export declare function getProjectConfigPatterns(): string[];
6
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/core/consts.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD,wBAAgB,YAAY,WAE3B;AAED,wBAAgB,eAAe,WAE9B;AAED,wBAAgB,wBAAwB,aAOvC"}
@@ -0,0 +1,19 @@
1
+ import { join } from "node:path";
2
+ import { homedir } from "node:os";
3
+ export const PROJECT_SUBDIR = "base44";
4
+ export const FUNCTION_CONFIG_FILE = "function.jsonc";
5
+ export function getBase44Dir() {
6
+ return join(homedir(), ".base44");
7
+ }
8
+ export function getAuthFilePath() {
9
+ return join(getBase44Dir(), "auth", "auth.json");
10
+ }
11
+ export function getProjectConfigPatterns() {
12
+ return [
13
+ `${PROJECT_SUBDIR}/config.jsonc`,
14
+ `${PROJECT_SUBDIR}/config.json`,
15
+ "config.jsonc",
16
+ "config.json",
17
+ ];
18
+ }
19
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/core/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,GAAG,cAAc,eAAe;QAChC,GAAG,cAAc,cAAc;QAC/B,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from './errors.js';
1
+ export * from "./errors.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export * from './errors.js';
1
+ export * from "./errors.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
- export * from './schemas/index.js';
2
- export * from './config/index.js';
3
- export * from './utils/index.js';
4
- export * from './api/index.js';
5
- export * from './errors/index.js';
1
+ export * from "./schemas/index.js";
2
+ export * from "./config/index.js";
3
+ export * from "./utils/index.js";
4
+ export * from "./api/index.js";
5
+ export * from "./errors/index.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
- export * from './schemas/index.js';
2
- export * from './config/index.js';
3
- export * from './utils/index.js';
4
- export * from './api/index.js';
5
- export * from './errors/index.js';
1
+ export * from "./schemas/index.js";
2
+ export * from "./config/index.js";
3
+ export * from "./utils/index.js";
4
+ export * from "./api/index.js";
5
+ export * from "./errors/index.js";
6
6
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  export declare const AuthDataSchema: z.ZodObject<{
3
3
  token: z.ZodString;
4
4
  email: z.ZodEmail;
@@ -1,7 +1,7 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  export const AuthDataSchema = z.object({
3
- token: z.string().min(1, 'Token cannot be empty'),
3
+ token: z.string().min(1, "Token cannot be empty"),
4
4
  email: z.email(),
5
- name: z.string().min(1, 'Name cannot be empty'),
5
+ name: z.string().min(1, "Name cannot be empty"),
6
6
  });
7
7
  //# sourceMappingURL=auth.js.map
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ declare const SiteConfigSchema: z.ZodObject<{
3
+ buildCommand: z.ZodOptional<z.ZodString>;
4
+ serveCommand: z.ZodOptional<z.ZodString>;
5
+ outputDirectory: z.ZodOptional<z.ZodString>;
6
+ installCommand: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>;
8
+ export declare const AppConfigSchema: z.ZodObject<{
9
+ name: z.ZodString;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ site: z.ZodOptional<z.ZodObject<{
12
+ buildCommand: z.ZodOptional<z.ZodString>;
13
+ serveCommand: z.ZodOptional<z.ZodString>;
14
+ outputDirectory: z.ZodOptional<z.ZodString>;
15
+ installCommand: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>>;
17
+ domains: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
+ }, z.core.$strip>;
19
+ export type SiteConfig = z.infer<typeof SiteConfigSchema>;
20
+ export type AppConfig = z.infer<typeof AppConfigSchema>;
21
+ export {};
22
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,gBAAgB;;;;;iBAKpB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;iBAK1B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from "zod";
2
+ const SiteConfigSchema = z.object({
3
+ buildCommand: z.string().optional(),
4
+ serveCommand: z.string().optional(),
5
+ outputDirectory: z.string().optional(),
6
+ installCommand: z.string().optional(),
7
+ });
8
+ export const AppConfigSchema = z.object({
9
+ name: z.string().min(1, "App name cannot be empty"),
10
+ description: z.string().optional(),
11
+ site: SiteConfigSchema.optional(),
12
+ domains: z.array(z.string()).optional(),
13
+ });
14
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { z } from "zod";
2
+ declare const EntityPropertySchema: z.ZodObject<{
3
+ type: z.ZodString;
4
+ description: z.ZodOptional<z.ZodString>;
5
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
6
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
7
+ format: z.ZodOptional<z.ZodString>;
8
+ items: z.ZodOptional<z.ZodAny>;
9
+ relation: z.ZodOptional<z.ZodObject<{
10
+ entity: z.ZodString;
11
+ type: z.ZodString;
12
+ }, z.core.$strip>>;
13
+ }, z.core.$strip>;
14
+ declare const EntityPoliciesSchema: z.ZodObject<{
15
+ read: z.ZodOptional<z.ZodString>;
16
+ create: z.ZodOptional<z.ZodString>;
17
+ update: z.ZodOptional<z.ZodString>;
18
+ delete: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>;
20
+ export declare const EntitySchema: z.ZodObject<{
21
+ name: z.ZodString;
22
+ type: z.ZodLiteral<"object">;
23
+ properties: z.ZodRecord<z.ZodString, z.ZodObject<{
24
+ type: z.ZodString;
25
+ description: z.ZodOptional<z.ZodString>;
26
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
27
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
28
+ format: z.ZodOptional<z.ZodString>;
29
+ items: z.ZodOptional<z.ZodAny>;
30
+ relation: z.ZodOptional<z.ZodObject<{
31
+ entity: z.ZodString;
32
+ type: z.ZodString;
33
+ }, z.core.$strip>>;
34
+ }, z.core.$strip>>;
35
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ policies: z.ZodOptional<z.ZodObject<{
37
+ read: z.ZodOptional<z.ZodString>;
38
+ create: z.ZodOptional<z.ZodString>;
39
+ update: z.ZodOptional<z.ZodString>;
40
+ delete: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>>;
42
+ }, z.core.$strip>;
43
+ export type EntityProperty = z.infer<typeof EntityPropertySchema>;
44
+ export type EntityPolicies = z.infer<typeof EntityPoliciesSchema>;
45
+ export type Entity = z.infer<typeof EntitySchema>;
46
+ export {};
47
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,oBAAoB;;;;;;;;;;;iBAaxB,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;;;iBAKxB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;iBAMvB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { z } from "zod";
2
+ const EntityPropertySchema = z.object({
3
+ type: z.string(),
4
+ description: z.string().optional(),
5
+ enum: z.array(z.string()).optional(),
6
+ default: z.union([z.string(), z.number(), z.boolean()]).optional(),
7
+ format: z.string().optional(),
8
+ items: z.any().optional(),
9
+ relation: z
10
+ .object({
11
+ entity: z.string(),
12
+ type: z.string(),
13
+ })
14
+ .optional(),
15
+ });
16
+ const EntityPoliciesSchema = z.object({
17
+ read: z.string().optional(),
18
+ create: z.string().optional(),
19
+ update: z.string().optional(),
20
+ delete: z.string().optional(),
21
+ });
22
+ export const EntitySchema = z.object({
23
+ name: z.string().min(1, "Entity name cannot be empty"),
24
+ type: z.literal("object"),
25
+ properties: z.record(z.string(), EntityPropertySchema),
26
+ required: z.array(z.string()).optional(),
27
+ policies: EntityPoliciesSchema.optional(),
28
+ });
29
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/core/schemas/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACzB,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { z } from "zod";
2
+ declare const HttpTriggerSchema: z.ZodObject<{
3
+ id: z.ZodOptional<z.ZodString>;
4
+ name: z.ZodOptional<z.ZodString>;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ type: z.ZodLiteral<"http">;
7
+ path: z.ZodString;
8
+ }, z.core.$strip>;
9
+ declare const ScheduleTriggerSchema: z.ZodObject<{
10
+ id: z.ZodOptional<z.ZodString>;
11
+ name: z.ZodOptional<z.ZodString>;
12
+ description: z.ZodOptional<z.ZodString>;
13
+ type: z.ZodLiteral<"schedule">;
14
+ scheduleMode: z.ZodOptional<z.ZodEnum<{
15
+ recurring: "recurring";
16
+ once: "once";
17
+ }>>;
18
+ cron: z.ZodString;
19
+ isActive: z.ZodOptional<z.ZodBoolean>;
20
+ timezone: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ declare const EventTriggerSchema: z.ZodObject<{
23
+ id: z.ZodOptional<z.ZodString>;
24
+ name: z.ZodOptional<z.ZodString>;
25
+ description: z.ZodOptional<z.ZodString>;
26
+ type: z.ZodLiteral<"event">;
27
+ entity: z.ZodString;
28
+ event: z.ZodString;
29
+ }, z.core.$strip>;
30
+ declare const TriggerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
31
+ id: z.ZodOptional<z.ZodString>;
32
+ name: z.ZodOptional<z.ZodString>;
33
+ description: z.ZodOptional<z.ZodString>;
34
+ type: z.ZodLiteral<"http">;
35
+ path: z.ZodString;
36
+ }, z.core.$strip>, z.ZodObject<{
37
+ id: z.ZodOptional<z.ZodString>;
38
+ name: z.ZodOptional<z.ZodString>;
39
+ description: z.ZodOptional<z.ZodString>;
40
+ type: z.ZodLiteral<"schedule">;
41
+ scheduleMode: z.ZodOptional<z.ZodEnum<{
42
+ recurring: "recurring";
43
+ once: "once";
44
+ }>>;
45
+ cron: z.ZodString;
46
+ isActive: z.ZodOptional<z.ZodBoolean>;
47
+ timezone: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>, z.ZodObject<{
49
+ id: z.ZodOptional<z.ZodString>;
50
+ name: z.ZodOptional<z.ZodString>;
51
+ description: z.ZodOptional<z.ZodString>;
52
+ type: z.ZodLiteral<"event">;
53
+ entity: z.ZodString;
54
+ event: z.ZodString;
55
+ }, z.core.$strip>], "type">;
56
+ export declare const FunctionConfigSchema: z.ZodObject<{
57
+ entry: z.ZodString;
58
+ triggers: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
59
+ id: z.ZodOptional<z.ZodString>;
60
+ name: z.ZodOptional<z.ZodString>;
61
+ description: z.ZodOptional<z.ZodString>;
62
+ type: z.ZodLiteral<"http">;
63
+ path: z.ZodString;
64
+ }, z.core.$strip>, z.ZodObject<{
65
+ id: z.ZodOptional<z.ZodString>;
66
+ name: z.ZodOptional<z.ZodString>;
67
+ description: z.ZodOptional<z.ZodString>;
68
+ type: z.ZodLiteral<"schedule">;
69
+ scheduleMode: z.ZodOptional<z.ZodEnum<{
70
+ recurring: "recurring";
71
+ once: "once";
72
+ }>>;
73
+ cron: z.ZodString;
74
+ isActive: z.ZodOptional<z.ZodBoolean>;
75
+ timezone: z.ZodOptional<z.ZodString>;
76
+ }, z.core.$strip>, z.ZodObject<{
77
+ id: z.ZodOptional<z.ZodString>;
78
+ name: z.ZodOptional<z.ZodString>;
79
+ description: z.ZodOptional<z.ZodString>;
80
+ type: z.ZodLiteral<"event">;
81
+ entity: z.ZodString;
82
+ event: z.ZodString;
83
+ }, z.core.$strip>], "type">>>;
84
+ }, z.core.$strip>;
85
+ export type HttpTrigger = z.infer<typeof HttpTriggerSchema>;
86
+ export type ScheduleTrigger = z.infer<typeof ScheduleTriggerSchema>;
87
+ export type EventTrigger = z.infer<typeof EventTriggerSchema>;
88
+ export type Trigger = z.infer<typeof TriggerSchema>;
89
+ export type FunctionConfig = z.infer<typeof FunctionConfigSchema>;
90
+ export {};
91
+ //# sourceMappingURL=function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,iBAAiB;;;;;;iBAMrB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;iBASzB,CAAC;AAEH,QAAA,MAAM,kBAAkB;;;;;;;iBAOtB,CAAC;AAEH,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;2BAIjB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG/B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { z } from "zod";
2
+ const HttpTriggerSchema = z.object({
3
+ id: z.string().optional(),
4
+ name: z.string().optional(),
5
+ description: z.string().optional(),
6
+ type: z.literal("http"),
7
+ path: z.string().min(1, "Path cannot be empty"),
8
+ });
9
+ const ScheduleTriggerSchema = z.object({
10
+ id: z.string().optional(),
11
+ name: z.string().optional(),
12
+ description: z.string().optional(),
13
+ type: z.literal("schedule"),
14
+ scheduleMode: z.enum(["recurring", "once"]).optional(),
15
+ cron: z.string().min(1, "Cron expression cannot be empty"),
16
+ isActive: z.boolean().optional(),
17
+ timezone: z.string().optional(),
18
+ });
19
+ const EventTriggerSchema = z.object({
20
+ id: z.string().optional(),
21
+ name: z.string().optional(),
22
+ description: z.string().optional(),
23
+ type: z.literal("event"),
24
+ entity: z.string().min(1, "Entity name cannot be empty"),
25
+ event: z.string().min(1, "Event type cannot be empty"),
26
+ });
27
+ const TriggerSchema = z.discriminatedUnion("type", [
28
+ HttpTriggerSchema,
29
+ ScheduleTriggerSchema,
30
+ EventTriggerSchema,
31
+ ]);
32
+ export const FunctionConfigSchema = z.object({
33
+ entry: z.string().min(1, "Entry point cannot be empty"),
34
+ triggers: z.array(TriggerSchema).optional(),
35
+ });
36
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/core/schemas/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iCAAiC,CAAC;IAC1D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjD,iBAAiB;IACjB,qBAAqB;IACrB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC"}
@@ -1,2 +1,6 @@
1
- export * from './auth.js';
1
+ export * from "./auth.js";
2
+ export * from "./project.js";
3
+ export * from "./config.js";
4
+ export * from "./entity.js";
5
+ export * from "./function.js";
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}