@base44-preview/cli 0.0.1-pr.10.77d2052

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 (134) hide show
  1. package/README.md +49 -0
  2. package/dist/cli/commands/auth/login.d.ts +3 -0
  3. package/dist/cli/commands/auth/login.d.ts.map +1 -0
  4. package/dist/cli/commands/auth/login.js +69 -0
  5. package/dist/cli/commands/auth/login.js.map +1 -0
  6. package/dist/cli/commands/auth/logout.d.ts +3 -0
  7. package/dist/cli/commands/auth/logout.d.ts.map +1 -0
  8. package/dist/cli/commands/auth/logout.js +14 -0
  9. package/dist/cli/commands/auth/logout.js.map +1 -0
  10. package/dist/cli/commands/auth/whoami.d.ts +3 -0
  11. package/dist/cli/commands/auth/whoami.d.ts.map +1 -0
  12. package/dist/cli/commands/auth/whoami.js +14 -0
  13. package/dist/cli/commands/auth/whoami.js.map +1 -0
  14. package/dist/cli/commands/project/show-project.d.ts +3 -0
  15. package/dist/cli/commands/project/show-project.d.ts.map +1 -0
  16. package/dist/cli/commands/project/show-project.js +20 -0
  17. package/dist/cli/commands/project/show-project.js.map +1 -0
  18. package/dist/cli/index.d.ts +3 -0
  19. package/dist/cli/index.d.ts.map +1 -0
  20. package/dist/cli/index.js +21 -0
  21. package/dist/cli/index.js.map +1 -0
  22. package/dist/cli/utils/index.d.ts +4 -0
  23. package/dist/cli/utils/index.d.ts.map +1 -0
  24. package/dist/cli/utils/index.js +4 -0
  25. package/dist/cli/utils/index.js.map +1 -0
  26. package/dist/cli/utils/packageVersion.d.ts +2 -0
  27. package/dist/cli/utils/packageVersion.d.ts.map +1 -0
  28. package/dist/cli/utils/packageVersion.js +12 -0
  29. package/dist/cli/utils/packageVersion.js.map +1 -0
  30. package/dist/cli/utils/runCommand.d.ts +8 -0
  31. package/dist/cli/utils/runCommand.d.ts.map +1 -0
  32. package/dist/cli/utils/runCommand.js +25 -0
  33. package/dist/cli/utils/runCommand.js.map +1 -0
  34. package/dist/cli/utils/runTask.d.ts +14 -0
  35. package/dist/cli/utils/runTask.d.ts.map +1 -0
  36. package/dist/cli/utils/runTask.js +24 -0
  37. package/dist/cli/utils/runTask.js.map +1 -0
  38. package/dist/core/auth/api.d.ts +5 -0
  39. package/dist/core/auth/api.d.ts.map +1 -0
  40. package/dist/core/auth/api.js +81 -0
  41. package/dist/core/auth/api.js.map +1 -0
  42. package/dist/core/auth/authClient.d.ts +7 -0
  43. package/dist/core/auth/authClient.d.ts.map +1 -0
  44. package/dist/core/auth/authClient.js +14 -0
  45. package/dist/core/auth/authClient.js.map +1 -0
  46. package/dist/core/auth/config.d.ts +11 -0
  47. package/dist/core/auth/config.d.ts.map +1 -0
  48. package/dist/core/auth/config.js +70 -0
  49. package/dist/core/auth/config.js.map +1 -0
  50. package/dist/core/auth/index.d.ts +4 -0
  51. package/dist/core/auth/index.d.ts.map +1 -0
  52. package/dist/core/auth/index.js +4 -0
  53. package/dist/core/auth/index.js.map +1 -0
  54. package/dist/core/auth/schema.d.ts +63 -0
  55. package/dist/core/auth/schema.d.ts.map +1 -0
  56. package/dist/core/auth/schema.js +62 -0
  57. package/dist/core/auth/schema.js.map +1 -0
  58. package/dist/core/config/app.d.ts +22 -0
  59. package/dist/core/config/app.d.ts.map +1 -0
  60. package/dist/core/config/app.js +14 -0
  61. package/dist/core/config/app.js.map +1 -0
  62. package/dist/core/config/index.d.ts +4 -0
  63. package/dist/core/config/index.d.ts.map +1 -0
  64. package/dist/core/config/index.js +3 -0
  65. package/dist/core/config/index.js.map +1 -0
  66. package/dist/core/config/project.d.ts +25 -0
  67. package/dist/core/config/project.d.ts.map +1 -0
  68. package/dist/core/config/project.js +62 -0
  69. package/dist/core/config/project.js.map +1 -0
  70. package/dist/core/config/resource.d.ts +4 -0
  71. package/dist/core/config/resource.d.ts.map +1 -0
  72. package/dist/core/config/resource.js +2 -0
  73. package/dist/core/config/resource.js.map +1 -0
  74. package/dist/core/consts.d.ts +8 -0
  75. package/dist/core/consts.d.ts.map +1 -0
  76. package/dist/core/consts.js +24 -0
  77. package/dist/core/consts.js.map +1 -0
  78. package/dist/core/errors.d.ts +8 -0
  79. package/dist/core/errors.d.ts.map +1 -0
  80. package/dist/core/errors.js +15 -0
  81. package/dist/core/errors.js.map +1 -0
  82. package/dist/core/index.d.ts +6 -0
  83. package/dist/core/index.d.ts.map +1 -0
  84. package/dist/core/index.js +6 -0
  85. package/dist/core/index.js.map +1 -0
  86. package/dist/core/resources/entity/config.d.ts +3 -0
  87. package/dist/core/resources/entity/config.d.ts.map +1 -0
  88. package/dist/core/resources/entity/config.js +25 -0
  89. package/dist/core/resources/entity/config.js.map +1 -0
  90. package/dist/core/resources/entity/index.d.ts +4 -0
  91. package/dist/core/resources/entity/index.d.ts.map +1 -0
  92. package/dist/core/resources/entity/index.js +4 -0
  93. package/dist/core/resources/entity/index.js.map +1 -0
  94. package/dist/core/resources/entity/resource.d.ts +4 -0
  95. package/dist/core/resources/entity/resource.d.ts.map +1 -0
  96. package/dist/core/resources/entity/resource.js +5 -0
  97. package/dist/core/resources/entity/resource.js.map +1 -0
  98. package/dist/core/resources/entity/schema.d.ts +47 -0
  99. package/dist/core/resources/entity/schema.d.ts.map +1 -0
  100. package/dist/core/resources/entity/schema.js +29 -0
  101. package/dist/core/resources/entity/schema.js.map +1 -0
  102. package/dist/core/resources/function/config.d.ts +4 -0
  103. package/dist/core/resources/function/config.d.ts.map +1 -0
  104. package/dist/core/resources/function/config.js +26 -0
  105. package/dist/core/resources/function/config.js.map +1 -0
  106. package/dist/core/resources/function/index.d.ts +4 -0
  107. package/dist/core/resources/function/index.d.ts.map +1 -0
  108. package/dist/core/resources/function/index.js +4 -0
  109. package/dist/core/resources/function/index.js.map +1 -0
  110. package/dist/core/resources/function/resource.d.ts +4 -0
  111. package/dist/core/resources/function/resource.d.ts.map +1 -0
  112. package/dist/core/resources/function/resource.js +5 -0
  113. package/dist/core/resources/function/resource.js.map +1 -0
  114. package/dist/core/resources/function/schema.d.ts +91 -0
  115. package/dist/core/resources/function/schema.d.ts.map +1 -0
  116. package/dist/core/resources/function/schema.js +36 -0
  117. package/dist/core/resources/function/schema.js.map +1 -0
  118. package/dist/core/resources/index.d.ts +3 -0
  119. package/dist/core/resources/index.d.ts.map +1 -0
  120. package/dist/core/resources/index.js +3 -0
  121. package/dist/core/resources/index.js.map +1 -0
  122. package/dist/core/utils/fs.d.ts +5 -0
  123. package/dist/core/utils/fs.d.ts.map +1 -0
  124. package/dist/core/utils/fs.js +56 -0
  125. package/dist/core/utils/fs.js.map +1 -0
  126. package/dist/core/utils/httpClient.d.ts +3 -0
  127. package/dist/core/utils/httpClient.d.ts.map +1 -0
  128. package/dist/core/utils/httpClient.js +41 -0
  129. package/dist/core/utils/httpClient.js.map +1 -0
  130. package/dist/core/utils/index.d.ts +3 -0
  131. package/dist/core/utils/index.d.ts.map +1 -0
  132. package/dist/core/utils/index.js +3 -0
  133. package/dist/core/utils/index.js.map +1 -0
  134. package/package.json +65 -0
@@ -0,0 +1,4 @@
1
+ export * from "./schema.js";
2
+ export * from "./api.js";
3
+ export * from "./config.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./schema.js";
2
+ export * from "./api.js";
3
+ export * from "./config.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { z } from "zod";
2
+ export declare const AuthDataSchema: z.ZodObject<{
3
+ accessToken: z.ZodString;
4
+ refreshToken: z.ZodString;
5
+ email: z.ZodEmail;
6
+ name: z.ZodString;
7
+ }, z.core.$strip>;
8
+ export type AuthData = z.infer<typeof AuthDataSchema>;
9
+ export declare const DeviceCodeResponseSchema: z.ZodPipe<z.ZodObject<{
10
+ device_code: z.ZodString;
11
+ user_code: z.ZodString;
12
+ verification_uri: z.ZodURL;
13
+ verification_uri_complete: z.ZodURL;
14
+ expires_in: z.ZodNumber;
15
+ interval: z.ZodNumber;
16
+ }, z.core.$strip>, z.ZodTransform<{
17
+ deviceCode: string;
18
+ userCode: string;
19
+ verificationUri: string;
20
+ verificationUriComplete: string;
21
+ expiresIn: number;
22
+ interval: number;
23
+ }, {
24
+ device_code: string;
25
+ user_code: string;
26
+ verification_uri: string;
27
+ verification_uri_complete: string;
28
+ expires_in: number;
29
+ interval: number;
30
+ }>>;
31
+ export type DeviceCodeResponse = z.infer<typeof DeviceCodeResponseSchema>;
32
+ export declare const TokenResponseSchema: z.ZodPipe<z.ZodObject<{
33
+ access_token: z.ZodString;
34
+ token_type: z.ZodString;
35
+ expires_in: z.ZodNumber;
36
+ refresh_token: z.ZodString;
37
+ scope: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>, z.ZodTransform<{
39
+ accessToken: string;
40
+ tokenType: string;
41
+ expiresIn: number;
42
+ refreshToken: string;
43
+ scope: string | undefined;
44
+ }, {
45
+ access_token: string;
46
+ token_type: string;
47
+ expires_in: number;
48
+ refresh_token: string;
49
+ scope?: string | undefined;
50
+ }>>;
51
+ export type TokenResponse = z.infer<typeof TokenResponseSchema>;
52
+ export declare const OAuthErrorSchema: z.ZodObject<{
53
+ error: z.ZodEnum<{
54
+ authorization_pending: "authorization_pending";
55
+ slow_down: "slow_down";
56
+ expired_token: "expired_token";
57
+ access_denied: "access_denied";
58
+ invalid_grant: "invalid_grant";
59
+ }>;
60
+ error_description: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>;
62
+ export type OAuthError = z.infer<typeof OAuthErrorSchema>;
63
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/auth/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;iBAKzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAGtD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;GAsBhC,CAAC;AAEN,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;GAiB3B,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,gBAAgB;;;;;;;;;iBAS3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { z } from "zod";
2
+ // Auth data schema (stored locally)
3
+ export const AuthDataSchema = z.object({
4
+ accessToken: z.string().min(1, "Token cannot be empty"),
5
+ refreshToken: z.string().min(1, "Refresh token cannot be empty"),
6
+ email: z.email(),
7
+ name: z.string().min(1, "Name cannot be empty"),
8
+ });
9
+ // API response schemas
10
+ export const DeviceCodeResponseSchema = z
11
+ .object({
12
+ device_code: z.string().min(1, "Device code cannot be empty"),
13
+ user_code: z.string().min(1, "User code cannot be empty"),
14
+ verification_uri: z.url("Invalid verification URL"),
15
+ verification_uri_complete: z.url("Invalid complete verification URL"),
16
+ expires_in: z
17
+ .number()
18
+ .int()
19
+ .positive("Expires in must be a positive integer"),
20
+ interval: z
21
+ .number()
22
+ .int()
23
+ .positive("Interval in must be a positive integer"),
24
+ })
25
+ .transform((data) => ({
26
+ deviceCode: data.device_code,
27
+ userCode: data.user_code,
28
+ verificationUri: data.verification_uri,
29
+ verificationUriComplete: data.verification_uri_complete,
30
+ expiresIn: data.expires_in,
31
+ interval: data.interval,
32
+ }));
33
+ export const TokenResponseSchema = z
34
+ .object({
35
+ access_token: z.string().min(1, "Token cannot be empty"),
36
+ token_type: z.string().min(1, "Token type cannot be empty"),
37
+ expires_in: z
38
+ .number()
39
+ .int()
40
+ .positive("Expires in must be a positive integer"),
41
+ refresh_token: z.string().min(1, "Refresh token cannot be empty"),
42
+ scope: z.string().optional(),
43
+ })
44
+ .transform((data) => ({
45
+ accessToken: data.access_token,
46
+ tokenType: data.token_type,
47
+ expiresIn: data.expires_in,
48
+ refreshToken: data.refresh_token,
49
+ scope: data.scope,
50
+ }));
51
+ // OAuth error response schema
52
+ export const OAuthErrorSchema = z.object({
53
+ error: z.enum([
54
+ "authorization_pending",
55
+ "slow_down",
56
+ "expired_token",
57
+ "access_denied",
58
+ "invalid_grant",
59
+ ]),
60
+ error_description: z.string().optional(),
61
+ });
62
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/auth/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oCAAoC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACvD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC,CAAC;AAIH,uBAAuB;AACvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;IACzD,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACnD,yBAAyB,EAAE,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC;IACrE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CAAC,uCAAuC,CAAC;IACpD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CAAC,wCAAwC,CAAC;CACtD,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC,WAAW;IAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;IACxB,eAAe,EAAE,IAAI,CAAC,gBAAgB;IACtC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB;IACvD,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;CACxB,CAAC,CAAC,CAAC;AAIN,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;IAC3D,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CAAC,uCAAuC,CAAC;IACpD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,WAAW,EAAE,IAAI,CAAC,YAAY;IAC9B,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,YAAY,EAAE,IAAI,CAAC,aAAa;IAChC,KAAK,EAAE,IAAI,CAAC,KAAK;CAClB,CAAC,CAAC,CAAC;AAIN,8BAA8B;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;QACZ,uBAAuB;QACvB,WAAW;QACX,eAAe;QACf,eAAe;QACf,eAAe;KAChB,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC"}
@@ -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=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/core/config/app.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=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/core/config/app.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,4 @@
1
+ export type * from "./resource.js";
2
+ export * from "./project.js";
3
+ export * from "./app.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./project.js";
2
+ export * from "./app.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ import type { Entity } from "../resources/entity/index.js";
3
+ import type { FunctionConfig } from "../resources/function/index.js";
4
+ export declare const ProjectConfigSchema: z.ZodObject<{
5
+ name: z.ZodString;
6
+ entitySrc: z.ZodDefault<z.ZodString>;
7
+ functionSrc: z.ZodDefault<z.ZodString>;
8
+ }, z.core.$loose>;
9
+ export type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
10
+ export interface ProjectWithPaths extends ProjectConfig {
11
+ root: string;
12
+ configPath: string;
13
+ }
14
+ export interface ProjectRoot {
15
+ root: string;
16
+ configPath: string;
17
+ }
18
+ export interface ProjectData {
19
+ project: ProjectWithPaths;
20
+ entities: Entity[];
21
+ functions: FunctionConfig[];
22
+ }
23
+ export declare function findProjectRoot(startPath?: string): Promise<ProjectRoot | null>;
24
+ export declare function readProjectConfig(projectRoot?: string): Promise<ProjectData>;
25
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/core/config/project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,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;AAUD,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,CAuCtB"}
@@ -0,0 +1,62 @@
1
+ import { join, dirname } from "node:path";
2
+ import { z } from "zod";
3
+ import { globby } from "globby";
4
+ import { getProjectConfigPatterns, PROJECT_SUBDIR } from "../consts.js";
5
+ import { readJsonFile } from "../utils/fs.js";
6
+ import { entityResource } from "../resources/entity/index.js";
7
+ import { functionResource } from "../resources/function/index.js";
8
+ export const ProjectConfigSchema = z.looseObject({
9
+ name: z.string().min(1, "Project name cannot be empty"),
10
+ entitySrc: z.string().default("./entities"),
11
+ functionSrc: z.string().default("./functions"),
12
+ });
13
+ async function findConfigInDir(dir) {
14
+ const files = await globby(getProjectConfigPatterns(), {
15
+ cwd: dir,
16
+ absolute: true,
17
+ });
18
+ return files[0] ?? null;
19
+ }
20
+ export async function findProjectRoot(startPath) {
21
+ let current = startPath || process.cwd();
22
+ while (current !== dirname(current)) {
23
+ const configPath = await findConfigInDir(current);
24
+ if (configPath) {
25
+ return { root: current, configPath };
26
+ }
27
+ current = dirname(current);
28
+ }
29
+ return null;
30
+ }
31
+ export async function readProjectConfig(projectRoot) {
32
+ let found;
33
+ if (projectRoot) {
34
+ const configPath = await findConfigInDir(projectRoot);
35
+ found = configPath ? { root: projectRoot, configPath } : null;
36
+ }
37
+ else {
38
+ found = await findProjectRoot();
39
+ }
40
+ if (!found) {
41
+ throw new Error(`Project root not found. Please ensure config.jsonc or config.json exists in the project directory or ${PROJECT_SUBDIR}/ subdirectory.`);
42
+ }
43
+ const { root, configPath } = found;
44
+ const parsed = await readJsonFile(configPath);
45
+ const result = ProjectConfigSchema.safeParse(parsed);
46
+ if (!result.success) {
47
+ const errors = result.error.issues.map((e) => e.message).join(", ");
48
+ throw new Error(`Invalid project configuration: ${errors}`);
49
+ }
50
+ const project = result.data;
51
+ const configDir = dirname(configPath);
52
+ const [entities, functions] = await Promise.all([
53
+ entityResource.readAll(join(configDir, project.entitySrc)),
54
+ functionResource.readAll(join(configDir, project.functionSrc)),
55
+ ]);
56
+ return {
57
+ project: { ...project, root, configPath },
58
+ entities,
59
+ functions,
60
+ };
61
+ }
62
+ //# 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,4 @@
1
+ export interface Resource<T> {
2
+ readAll: (dir: string) => Promise<T[]>;
3
+ }
4
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/core/config/resource.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/core/config/resource.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
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
+ export declare const AUTH_CLIENT_ID = "base44_cli";
7
+ export declare function getBase44ApiUrl(): string;
8
+ //# 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;AAED,eAAO,MAAM,cAAc,eAAe,CAAC;AAI3C,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
@@ -0,0 +1,24 @@
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
+ export const AUTH_CLIENT_ID = "base44_cli";
20
+ const DEFAULT_API_URL = "https://app.base44.com";
21
+ export function getBase44ApiUrl() {
22
+ return process.env.BASE44_API_URL || DEFAULT_API_URL;
23
+ }
24
+ //# 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;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;AACvD,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare class AuthApiError extends Error {
2
+ readonly cause?: unknown | undefined;
3
+ constructor(message: string, cause?: unknown | undefined);
4
+ }
5
+ export declare class AuthValidationError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;aACQ,KAAK,CAAC,EAAE,OAAO;gBAAhD,OAAO,EAAE,MAAM,EAAkB,KAAK,CAAC,EAAE,OAAO,YAAA;CAI7D;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,15 @@
1
+ export class AuthApiError extends Error {
2
+ cause;
3
+ constructor(message, cause) {
4
+ super(message);
5
+ this.cause = cause;
6
+ this.name = "AuthApiError";
7
+ }
8
+ }
9
+ export class AuthValidationError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "AuthValidationError";
13
+ }
14
+ }
15
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IACQ;IAA7C,YAAY,OAAe,EAAkB,KAAe;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,UAAK,GAAL,KAAK,CAAU;QAE1D,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export * from "./auth/index.js";
2
+ export * from "./resources/index.js";
3
+ export * from "./config/index.js";
4
+ export * from "./utils/index.js";
5
+ export * from "./errors.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./auth/index.js";
2
+ export * from "./resources/index.js";
3
+ export * from "./config/index.js";
4
+ export * from "./utils/index.js";
5
+ export * from "./errors.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Entity } from "./schema.js";
2
+ export declare function readAllEntities(entitiesDir: string): Promise<Entity[]>;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/entity/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAiB1C,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe5E"}
@@ -0,0 +1,25 @@
1
+ import { globby } from "globby";
2
+ import { readJsonFile, pathExists } from "../../utils/fs.js";
3
+ import { EntitySchema } from "./schema.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=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/core/resources/entity/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,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
+ export * from "./schema.js";
2
+ export * from "./config.js";
3
+ export * from "./resource.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/entity/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./schema.js";
2
+ export * from "./config.js";
3
+ export * from "./resource.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/resources/entity/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Resource } from "../../config/resource.js";
2
+ import type { Entity } from "./schema.js";
3
+ export declare const entityResource: Resource<Entity>;
4
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/entity/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAE3C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { readAllEntities } from "./config.js";
2
+ export const entityResource = {
3
+ readAll: readAllEntities,
4
+ };
5
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../../src/core/resources/entity/resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,OAAO,EAAE,eAAe;CACzB,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=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/entity/schema.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=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/core/resources/entity/schema.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,4 @@
1
+ import type { FunctionConfig } from "./schema.js";
2
+ export declare function readFunctionConfig(configPath: string): Promise<FunctionConfig>;
3
+ export declare function readAllFunctions(functionsDir: string): Promise<FunctionConfig[]>;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/function/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,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"}