@squidcloud/local-backend 1.0.49 → 1.0.51

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 (179) hide show
  1. package/dist/common/src/ai-assistant.context.d.ts +13 -13
  2. package/dist/common/src/ai-assistant.context.js +19 -19
  3. package/dist/common/src/ai-assistant.schemas.d.ts +243 -243
  4. package/dist/common/src/ai-assistant.schemas.js +210 -210
  5. package/dist/common/src/ai-assistant.types.d.ts +90 -90
  6. package/dist/common/src/ai-assistant.types.js +11 -11
  7. package/dist/common/src/api-call.context.d.ts +13 -13
  8. package/dist/common/src/api-call.context.js +16 -16
  9. package/dist/common/src/api.types.d.ts +23 -23
  10. package/dist/common/src/api.types.js +2 -2
  11. package/dist/common/src/application.schemas.d.ts +1168 -1168
  12. package/dist/common/src/application.schemas.js +741 -741
  13. package/dist/common/src/application.types.d.ts +228 -228
  14. package/dist/common/src/application.types.js +89 -89
  15. package/dist/common/src/backend-function.schemas.d.ts +3 -3
  16. package/dist/common/src/backend-function.schemas.js +12 -12
  17. package/dist/common/src/backend-function.types.d.ts +6 -6
  18. package/dist/common/src/backend-function.types.js +2 -2
  19. package/dist/common/src/backend-run.types.d.ts +54 -54
  20. package/dist/common/src/backend-run.types.js +96 -73
  21. package/dist/common/src/backend-run.types.js.map +1 -1
  22. package/dist/common/src/bundle-api.types.d.ts +63 -62
  23. package/dist/common/src/bundle-api.types.js +2 -2
  24. package/dist/common/src/bundle-data.types.d.ts +59 -59
  25. package/dist/common/src/bundle-data.types.js +2 -2
  26. package/dist/common/src/communication.types.d.ts +18 -18
  27. package/dist/common/src/communication.types.js +40 -40
  28. package/dist/common/src/context.types.d.ts +24 -24
  29. package/dist/common/src/context.types.js +2 -2
  30. package/dist/common/src/distributed-lock.context.d.ts +5 -5
  31. package/dist/common/src/distributed-lock.context.js +10 -10
  32. package/dist/common/src/document.types.d.ts +32 -32
  33. package/dist/common/src/document.types.js +50 -50
  34. package/dist/common/src/graphql.context.d.ts +14 -14
  35. package/dist/common/src/graphql.context.js +12 -12
  36. package/dist/common/src/graphql.types.d.ts +11 -11
  37. package/dist/common/src/graphql.types.js +34 -34
  38. package/dist/common/src/heartbeat.types.d.ts +4 -4
  39. package/dist/common/src/heartbeat.types.js +16 -16
  40. package/dist/common/src/http-status.enum.d.ts +50 -50
  41. package/dist/common/src/http-status.enum.js +54 -54
  42. package/dist/common/src/index.d.ts +53 -53
  43. package/dist/common/src/index.js +69 -69
  44. package/dist/common/src/integrations/ai_assistant.types.d.ts +30 -30
  45. package/dist/common/src/integrations/ai_assistant.types.js +2 -2
  46. package/dist/common/src/integrations/api.types.d.ts +80 -80
  47. package/dist/common/src/integrations/api.types.js +2 -2
  48. package/dist/common/src/integrations/auth.types.d.ts +39 -39
  49. package/dist/common/src/integrations/auth.types.js +2 -2
  50. package/dist/common/src/integrations/database.types.d.ts +236 -236
  51. package/dist/common/src/integrations/database.types.js +2 -2
  52. package/dist/common/src/integrations/index.d.ts +101 -101
  53. package/dist/common/src/integrations/index.js +105 -105
  54. package/dist/common/src/integrations/observability.types.d.ts +23 -23
  55. package/dist/common/src/integrations/observability.types.js +23 -23
  56. package/dist/common/src/integrations/observability.types.js.map +1 -1
  57. package/dist/common/src/logger.types.d.ts +21 -21
  58. package/dist/common/src/logger.types.js +11 -11
  59. package/dist/common/src/metrics.types.d.ts +73 -73
  60. package/dist/common/src/metrics.types.js +11 -11
  61. package/dist/common/src/mutation.context.d.ts +13 -13
  62. package/dist/common/src/mutation.context.js +26 -26
  63. package/dist/common/src/mutation.schemas.d.ts +5 -5
  64. package/dist/common/src/mutation.schemas.js +114 -114
  65. package/dist/common/src/mutation.types.d.ts +63 -63
  66. package/dist/common/src/mutation.types.js +142 -142
  67. package/dist/common/src/named-query.context.d.ts +4 -4
  68. package/dist/common/src/named-query.context.js +9 -9
  69. package/dist/common/src/named-query.schemas.d.ts +3 -3
  70. package/dist/common/src/named-query.schemas.js +13 -13
  71. package/dist/common/src/named-query.types.d.ts +8 -8
  72. package/dist/common/src/named-query.types.js +2 -2
  73. package/dist/common/src/query/base-query-builder.d.ts +65 -65
  74. package/dist/common/src/query/base-query-builder.js +294 -294
  75. package/dist/common/src/query/index.d.ts +3 -3
  76. package/dist/common/src/query/index.js +19 -19
  77. package/dist/common/src/query/query-context.d.ts +47 -47
  78. package/dist/common/src/query/query-context.js +159 -159
  79. package/dist/common/src/query/serialized-query.types.d.ts +24 -24
  80. package/dist/common/src/query/serialized-query.types.js +2 -2
  81. package/dist/common/src/query.types.d.ts +81 -81
  82. package/dist/common/src/query.types.js +153 -153
  83. package/dist/common/src/regions.d.ts +21 -21
  84. package/dist/common/src/regions.js +46 -46
  85. package/dist/common/src/schema/schema.types.d.ts +30 -30
  86. package/dist/common/src/schema/schema.types.js +172 -172
  87. package/dist/common/src/secret.schemas.d.ts +6 -6
  88. package/dist/common/src/secret.schemas.js +32 -32
  89. package/dist/common/src/secret.types.d.ts +49 -49
  90. package/dist/common/src/secret.types.js +5 -5
  91. package/dist/common/src/security.types.d.ts +3 -3
  92. package/dist/common/src/security.types.js +2 -2
  93. package/dist/common/src/socket.schemas.d.ts +3 -3
  94. package/dist/common/src/socket.schemas.js +58 -58
  95. package/dist/common/src/socket.types.d.ts +108 -108
  96. package/dist/common/src/socket.types.js +2 -2
  97. package/dist/common/src/time-units.d.ts +5 -5
  98. package/dist/common/src/time-units.js +8 -8
  99. package/dist/common/src/trigger.types.d.ts +15 -15
  100. package/dist/common/src/trigger.types.js +2 -2
  101. package/dist/common/src/types.d.ts +21 -21
  102. package/dist/common/src/types.js +2 -2
  103. package/dist/common/src/utils/array.d.ts +8 -8
  104. package/dist/common/src/utils/array.js +51 -51
  105. package/dist/common/src/utils/assert.d.ts +8 -8
  106. package/dist/common/src/utils/assert.js +49 -49
  107. package/dist/common/src/utils/error.d.ts +4 -4
  108. package/dist/common/src/utils/error.js +10 -10
  109. package/dist/common/src/utils/http.d.ts +2 -2
  110. package/dist/common/src/utils/http.js +40 -38
  111. package/dist/common/src/utils/http.js.map +1 -1
  112. package/dist/common/src/utils/id.d.ts +2 -2
  113. package/dist/common/src/utils/id.js +21 -21
  114. package/dist/common/src/utils/lock.manager.d.ts +9 -9
  115. package/dist/common/src/utils/lock.manager.js +39 -39
  116. package/dist/common/src/utils/nullish.d.ts +2 -2
  117. package/dist/common/src/utils/nullish.js +11 -11
  118. package/dist/common/src/utils/object.d.ts +5 -6
  119. package/dist/common/src/utils/object.js +75 -89
  120. package/dist/common/src/utils/object.js.map +1 -1
  121. package/dist/common/src/utils/serialization.d.ts +6 -6
  122. package/dist/common/src/utils/serialization.js +77 -77
  123. package/dist/common/src/utils/transforms.d.ts +18 -18
  124. package/dist/common/src/utils/transforms.js +92 -92
  125. package/dist/common/src/utils/url.d.ts +1 -1
  126. package/dist/common/src/utils/url.js +15 -15
  127. package/dist/common/src/utils/validation.d.ts +17 -17
  128. package/dist/common/src/utils/validation.js +209 -209
  129. package/dist/common/src/utils/validation.js.map +1 -1
  130. package/dist/common/src/webhook-response.d.ts +6 -7
  131. package/dist/common/src/webhook-response.js +2 -7
  132. package/dist/common/src/webhook-response.js.map +1 -1
  133. package/dist/internal-common/src/async-queue.d.ts +4 -4
  134. package/dist/internal-common/src/async-queue.js +17 -17
  135. package/dist/internal-common/src/code-executor.types.d.ts +13 -13
  136. package/dist/internal-common/src/code-executor.types.js +2 -2
  137. package/dist/internal-common/src/environment/environment.types.d.ts +74 -74
  138. package/dist/internal-common/src/environment/environment.types.js +2 -2
  139. package/dist/internal-common/src/environment/index.d.ts +6 -6
  140. package/dist/internal-common/src/environment/index.js +27 -27
  141. package/dist/internal-common/src/environment/local.environment.d.ts +2 -2
  142. package/dist/internal-common/src/environment/local.environment.js +62 -62
  143. package/dist/internal-common/src/filters/custom-exception.filter.d.ts +6 -6
  144. package/dist/internal-common/src/filters/custom-exception.filter.js +44 -44
  145. package/dist/internal-common/src/index.d.ts +14 -14
  146. package/dist/internal-common/src/index.js +32 -32
  147. package/dist/internal-common/src/interceptors/body.interceptor.d.ts +5 -5
  148. package/dist/internal-common/src/interceptors/body.interceptor.js +24 -24
  149. package/dist/internal-common/src/kafka/kafka.manager.d.ts +22 -22
  150. package/dist/internal-common/src/kafka/kafka.manager.js +129 -129
  151. package/dist/internal-common/src/kafka/kafka.types.d.ts +17 -17
  152. package/dist/internal-common/src/kafka/kafka.types.js +2 -2
  153. package/dist/internal-common/src/kafka-observability-publisher.d.ts +11 -11
  154. package/dist/internal-common/src/kafka-observability-publisher.js +20 -20
  155. package/dist/internal-common/src/local-dev.types.d.ts +31 -31
  156. package/dist/internal-common/src/local-dev.types.js +2 -2
  157. package/dist/internal-common/src/observability-publisher.d.ts +9 -9
  158. package/dist/internal-common/src/observability-publisher.js +58 -58
  159. package/dist/internal-common/src/observability.types.d.ts +17 -17
  160. package/dist/internal-common/src/observability.types.js +2 -2
  161. package/dist/internal-common/src/shutdown.manager.d.ts +20 -20
  162. package/dist/internal-common/src/shutdown.manager.js +75 -75
  163. package/dist/internal-common/src/utils.d.ts +5 -5
  164. package/dist/internal-common/src/utils.js +29 -29
  165. package/dist/local-backend/src/index.d.ts +4 -4
  166. package/dist/local-backend/src/index.js +20 -20
  167. package/dist/local-backend/src/local-backend-socket.service.d.ts +18 -18
  168. package/dist/local-backend/src/local-backend-socket.service.js +107 -108
  169. package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
  170. package/dist/local-backend/src/local-backend.app.d.ts +2 -2
  171. package/dist/local-backend/src/local-backend.app.js +19 -19
  172. package/dist/local-backend/src/local-backend.controller.d.ts +8 -8
  173. package/dist/local-backend/src/local-backend.controller.js +49 -49
  174. package/dist/local-backend/src/local-backend.module.d.ts +8 -8
  175. package/dist/local-backend/src/local-backend.module.js +53 -53
  176. package/dist/local-backend/src/local-backend.service.d.ts +15 -15
  177. package/dist/local-backend/src/local-backend.service.js +165 -165
  178. package/dist/tsconfig.build.tsbuildinfo +1 -1
  179. package/package.json +2 -1
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExecuteBackendFunctionRequestSchema = void 0;
4
- exports.ExecuteBackendFunctionRequestSchema = {
5
- type: 'object',
6
- required: ['functionName', 'paramsArrayStr', 'clientRequestId'],
7
- properties: {
8
- functionName: { type: 'string', nullable: false },
9
- paramsArrayStr: { type: 'string', nullable: false },
10
- clientRequestId: { type: 'string', nullable: false },
11
- },
12
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecuteBackendFunctionRequestSchema = void 0;
4
+ exports.ExecuteBackendFunctionRequestSchema = {
5
+ type: 'object',
6
+ required: ['functionName', 'paramsArrayStr', 'clientRequestId'],
7
+ properties: {
8
+ functionName: { type: 'string', nullable: false },
9
+ paramsArrayStr: { type: 'string', nullable: false },
10
+ clientRequestId: { type: 'string', nullable: false },
11
+ },
12
+ };
13
13
  //# sourceMappingURL=backend-function.schemas.js.map
@@ -1,6 +1,6 @@
1
- import { ClientRequestId } from './communication.types';
2
- export interface ExecuteBackendFunctionRequest {
3
- functionName: string;
4
- paramsArrayStr: string;
5
- clientRequestId: ClientRequestId;
6
- }
1
+ import { ClientRequestId } from './communication.types';
2
+ export interface ExecuteBackendFunctionRequest {
3
+ functionName: string;
4
+ paramsArrayStr: string;
5
+ clientRequestId: ClientRequestId;
6
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=backend-function.types.js.map
@@ -1,54 +1,54 @@
1
- import { Auth, RunContext } from './context.types';
2
- import { ApplicationSecrets, SecretKey, SecretValue } from './secret.types';
3
- export interface RunPermissions {
4
- hosts: Array<string>;
5
- }
6
- export interface ErrorResponse extends GeneralResponse {
7
- ok: false;
8
- error: string;
9
- details?: string;
10
- functionName: string;
11
- }
12
- export interface GeneralResponse {
13
- ok: boolean;
14
- }
15
- export interface RunConfiguration {
16
- codeUrl: string;
17
- codeUrlId: string;
18
- isSecurityRules: boolean;
19
- permissions: RunPermissions;
20
- }
21
- export interface LoadJsPayload {
22
- codeUrl: string;
23
- }
24
- export declare const ExecuteFunctionSecureAnnotations: readonly ["secureDistributedLock", "secureQuery", "secureMutation", "secureNamedQuery", "secureGraphQL", "secureApi", "secureAiAssistantChat", "secureAiAssistantMutation"];
25
- export type ExecuteFunctionSecureAnnotationType = (typeof ExecuteFunctionSecureAnnotations)[number];
26
- export type ExecuteFunctionAnnotationType = 'executable' | 'webhook' | 'scheduler' | 'trigger' | 'transformRead' | 'transformWrite' | 'metadata' | ExecuteFunctionSecureAnnotationType;
27
- export interface ExecuteFunctionPayload {
28
- functionName: string;
29
- params: Array<unknown>;
30
- context: RunContext;
31
- auth: Auth | undefined;
32
- secrets?: Record<SecretKey, SecretValue>;
33
- backendApiKey: string;
34
- codeDir: string;
35
- executeFunctionAnnotationType: ExecuteFunctionAnnotationType;
36
- }
37
- export declare function transformParams(args: Array<any>, executeFunctionAnnotationType: ExecuteFunctionAnnotationType): unknown[];
38
- export declare function transformResponse(functionResponse: any, executeFunctionAnnotationType: ExecuteFunctionAnnotationType): any;
39
- export type WorkerActionType = 'loadJs' | 'executeFunction' | 'ping' | 'terminate';
40
- export interface ActionRequest {
41
- action: WorkerActionType;
42
- payload?: LoadJsPayload | ExecuteFunctionPayload;
43
- }
44
- export type LoadJsResponse = GeneralResponse;
45
- export type TerminateResponse = GeneralResponse;
46
- export interface ExecuteFunctionResponse extends GeneralResponse {
47
- ok: true;
48
- functionResponse: unknown;
49
- }
50
- export interface RunSecrets {
51
- custom: Record<SecretKey, SecretValue>;
52
- backendApiKey: string;
53
- }
54
- export declare function convertToRunSecrets(appSecrets: ApplicationSecrets): RunSecrets;
1
+ import { Auth, RunContext } from './context.types';
2
+ import { ApplicationSecrets, SecretKey, SecretValue } from './secret.types';
3
+ export interface RunPermissions {
4
+ hosts: Array<string>;
5
+ }
6
+ export interface ErrorResponse extends GeneralResponse {
7
+ ok: false;
8
+ error: string;
9
+ details?: string;
10
+ functionName: string;
11
+ }
12
+ export interface GeneralResponse {
13
+ ok: boolean;
14
+ }
15
+ export interface RunConfiguration {
16
+ codeUrl: string;
17
+ codeUrlId: string;
18
+ isSecurityRules: boolean;
19
+ permissions: RunPermissions;
20
+ }
21
+ export interface LoadJsPayload {
22
+ codeUrl: string;
23
+ }
24
+ export declare const ExecuteFunctionSecureAnnotations: readonly ["secureDistributedLock", "secureQuery", "secureMutation", "secureNamedQuery", "secureGraphQL", "secureApi", "secureAiAssistantChat", "secureAiAssistantMutation"];
25
+ export type ExecuteFunctionSecureAnnotationType = (typeof ExecuteFunctionSecureAnnotations)[number];
26
+ export type ExecuteFunctionAnnotationType = 'executable' | 'webhook' | 'scheduler' | 'trigger' | 'transformRead' | 'transformWrite' | 'metadata' | ExecuteFunctionSecureAnnotationType;
27
+ export interface ExecuteFunctionPayload {
28
+ functionName: string;
29
+ params: Array<unknown>;
30
+ context: RunContext;
31
+ auth: Auth | undefined;
32
+ secrets?: Record<SecretKey, SecretValue>;
33
+ backendApiKey: string;
34
+ codeDir: string;
35
+ executeFunctionAnnotationType: ExecuteFunctionAnnotationType;
36
+ }
37
+ export declare function transformParams(args: Array<any>, executeFunctionAnnotationType: ExecuteFunctionAnnotationType): unknown[];
38
+ export declare function transformResponse(functionResponse: any, executeFunctionAnnotationType: ExecuteFunctionAnnotationType): any;
39
+ export type WorkerActionType = 'loadJs' | 'executeFunction' | 'ping' | 'terminate';
40
+ export interface ActionRequest {
41
+ action: WorkerActionType;
42
+ payload?: LoadJsPayload | ExecuteFunctionPayload;
43
+ }
44
+ export type LoadJsResponse = GeneralResponse;
45
+ export type TerminateResponse = GeneralResponse;
46
+ export interface ExecuteFunctionResponse extends GeneralResponse {
47
+ ok: true;
48
+ functionResponse: unknown;
49
+ }
50
+ export interface RunSecrets {
51
+ custom: Record<SecretKey, SecretValue>;
52
+ backendApiKey: string;
53
+ }
54
+ export declare function convertToRunSecrets(appSecrets: ApplicationSecrets): RunSecrets;
@@ -1,74 +1,97 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertToRunSecrets = exports.transformResponse = exports.transformParams = exports.ExecuteFunctionSecureAnnotations = void 0;
4
- const ai_assistant_context_1 = require("./ai-assistant.context");
5
- const api_call_context_1 = require("./api-call.context");
6
- const distributed_lock_context_1 = require("./distributed-lock.context");
7
- const graphql_context_1 = require("./graphql.context");
8
- const mutation_context_1 = require("./mutation.context");
9
- const named_query_context_1 = require("./named-query.context");
10
- const query_1 = require("./query");
11
- const secret_types_1 = require("./secret.types");
12
- const assert_1 = require("./utils/assert");
13
- exports.ExecuteFunctionSecureAnnotations = [
14
- 'secureDistributedLock',
15
- 'secureQuery',
16
- 'secureMutation',
17
- 'secureNamedQuery',
18
- 'secureGraphQL',
19
- 'secureApi',
20
- 'secureAiAssistantChat',
21
- 'secureAiAssistantMutation',
22
- ];
23
- function transformParams(args, executeFunctionAnnotationType) {
24
- switch (executeFunctionAnnotationType) {
25
- case 'webhook':
26
- case 'executable':
27
- case 'trigger':
28
- case 'transformRead':
29
- case 'transformWrite':
30
- case 'metadata':
31
- return args;
32
- case 'scheduler':
33
- return [];
34
- case 'secureQuery':
35
- return [new query_1.QueryContext(args[0].query)];
36
- case 'secureMutation':
37
- return [new mutation_context_1.MutationContext(args[0].mutation, args[0].beforeAndAfterDocs, args[0].serverTimestamp)];
38
- case 'secureNamedQuery':
39
- return [new named_query_context_1.NamedQueryContext(args[0])];
40
- case 'secureDistributedLock':
41
- return [new distributed_lock_context_1.DistributedLockContext(args[0].mutex, args[0].exclusive)];
42
- case 'secureGraphQL':
43
- return [new graphql_context_1.GraphqlContext(args[0])];
44
- case 'secureApi':
45
- return [new api_call_context_1.ApiCallContext(args[0])];
46
- case 'secureAiAssistantChat':
47
- return [new ai_assistant_context_1.AiAssistantChatContext(args[0])];
48
- case 'secureAiAssistantMutation':
49
- return [new ai_assistant_context_1.AiAssistantMutationContext(args[0])];
50
- }
51
- }
52
- exports.transformParams = transformParams;
53
- function transformResponse(functionResponse, executeFunctionAnnotationType) {
54
- if (!exports.ExecuteFunctionSecureAnnotations.includes(executeFunctionAnnotationType)) {
55
- return functionResponse;
56
- }
57
- return {
58
- rulesPassed: functionResponse,
59
- docsToHash: functionResponse ? {} : undefined,
60
- };
61
- }
62
- exports.transformResponse = transformResponse;
63
- function convertToRunSecrets(appSecrets) {
64
- const result = {
65
- backendApiKey: (0, assert_1.truthy)(appSecrets.apiKeys[secret_types_1.BACKEND_API_KEY].value, 'Cannot find backend API key'),
66
- custom: {},
67
- };
68
- for (const [key, valueWrapper] of Object.entries(appSecrets.custom)) {
69
- result.custom[key] = valueWrapper.value;
70
- }
71
- return result;
72
- }
73
- exports.convertToRunSecrets = convertToRunSecrets;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertToRunSecrets = exports.transformResponse = exports.transformParams = exports.ExecuteFunctionSecureAnnotations = void 0;
4
+ const ai_assistant_context_1 = require("./ai-assistant.context");
5
+ const api_call_context_1 = require("./api-call.context");
6
+ const distributed_lock_context_1 = require("./distributed-lock.context");
7
+ const graphql_context_1 = require("./graphql.context");
8
+ const mutation_context_1 = require("./mutation.context");
9
+ const named_query_context_1 = require("./named-query.context");
10
+ const query_1 = require("./query");
11
+ const secret_types_1 = require("./secret.types");
12
+ const assert_1 = require("./utils/assert");
13
+ const serialization_1 = require("./utils/serialization");
14
+ exports.ExecuteFunctionSecureAnnotations = [
15
+ 'secureDistributedLock',
16
+ 'secureQuery',
17
+ 'secureMutation',
18
+ 'secureNamedQuery',
19
+ 'secureGraphQL',
20
+ 'secureApi',
21
+ 'secureAiAssistantChat',
22
+ 'secureAiAssistantMutation',
23
+ ];
24
+ function transformParams(args, executeFunctionAnnotationType) {
25
+ switch (executeFunctionAnnotationType) {
26
+ case 'webhook':
27
+ case 'executable':
28
+ case 'trigger':
29
+ case 'transformRead':
30
+ case 'transformWrite':
31
+ case 'metadata':
32
+ return args;
33
+ case 'scheduler':
34
+ return [];
35
+ case 'secureQuery':
36
+ return [new query_1.QueryContext(args[0].query)];
37
+ case 'secureMutation':
38
+ return [new mutation_context_1.MutationContext(args[0].mutation, args[0].beforeAndAfterDocs, args[0].serverTimestamp)];
39
+ case 'secureNamedQuery':
40
+ return [new named_query_context_1.NamedQueryContext(args[0])];
41
+ case 'secureDistributedLock':
42
+ return [new distributed_lock_context_1.DistributedLockContext(args[0].mutex, args[0].exclusive)];
43
+ case 'secureGraphQL':
44
+ return [new graphql_context_1.GraphqlContext(args[0])];
45
+ case 'secureApi':
46
+ return [new api_call_context_1.ApiCallContext(args[0])];
47
+ case 'secureAiAssistantChat':
48
+ return [new ai_assistant_context_1.AiAssistantChatContext(args[0])];
49
+ case 'secureAiAssistantMutation':
50
+ return [new ai_assistant_context_1.AiAssistantMutationContext(args[0])];
51
+ }
52
+ }
53
+ exports.transformParams = transformParams;
54
+ function transformResponse(functionResponse, executeFunctionAnnotationType) {
55
+ if (exports.ExecuteFunctionSecureAnnotations.includes(executeFunctionAnnotationType)) {
56
+ return {
57
+ rulesPassed: functionResponse,
58
+ docsToHash: functionResponse ? {} : undefined,
59
+ };
60
+ }
61
+ if (executeFunctionAnnotationType === 'webhook') {
62
+ if (isWebhookResponse(functionResponse)) {
63
+ delete functionResponse['__isWebhookResponse__'];
64
+ return functionResponse;
65
+ }
66
+ functionResponse = functionResponse !== null && functionResponse !== void 0 ? functionResponse : null;
67
+ const isStringOrNullBody = functionResponse === null || typeof functionResponse === 'string';
68
+ const headers = {
69
+ 'content-type': isStringOrNullBody ? 'text/plain' : 'application/json',
70
+ 'cache-control': 'no-cache',
71
+ };
72
+ const body = isStringOrNullBody ? functionResponse || '' : (0, serialization_1.serializeObj)(functionResponse);
73
+ const webhookResponse = {
74
+ headers,
75
+ body,
76
+ statusCode: functionResponse === null ? 204 : 200,
77
+ };
78
+ return webhookResponse;
79
+ }
80
+ return functionResponse;
81
+ }
82
+ exports.transformResponse = transformResponse;
83
+ function convertToRunSecrets(appSecrets) {
84
+ const result = {
85
+ backendApiKey: (0, assert_1.truthy)(appSecrets.apiKeys[secret_types_1.BACKEND_API_KEY].value, 'Cannot find backend API key'),
86
+ custom: {},
87
+ };
88
+ for (const [key, valueWrapper] of Object.entries(appSecrets.custom)) {
89
+ result.custom[key] = valueWrapper.value;
90
+ }
91
+ return result;
92
+ }
93
+ exports.convertToRunSecrets = convertToRunSecrets;
94
+ function isWebhookResponse(response) {
95
+ return response && response.__isWebhookResponse__;
96
+ }
74
97
  //# sourceMappingURL=backend-run.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend-run.types.js","sourceRoot":"","sources":["../../../../common/src/backend-run.types.ts"],"names":[],"mappings":";;;AAAA,iEAA4F;AAC5F,yDAAoD;AAEpD,yEAAoE;AACpE,uDAAmD;AACnD,yDAAqD;AACrD,+DAA0D;AAC1D,mCAAuC;AACvC,iDAA6F;AAC7F,2CAAwC;AAkC3B,QAAA,gCAAgC,GAAG;IAC9C,uBAAuB;IACvB,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,uBAAuB;IACvB,2BAA2B;CACnB,CAAC;AA6BX,SAAgB,eAAe,CAC7B,IAAgB,EAChB,6BAA4D;IAE5D,QAAQ,6BAA6B,EAAE;QACrC,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,SAAS,CAAC;QACf,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,IAAI,CAAC;QACd,KAAK,WAAW;YACd,OAAO,EAAE,CAAC;QACZ,KAAK,aAAa;YAChB,OAAO,CAAC,IAAI,oBAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,KAAK,gBAAgB;YACnB,OAAO,CAAC,IAAI,kCAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACtG,KAAK,kBAAkB;YACrB,OAAO,CAAC,IAAI,uCAAiB,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAC,CAAC;QACjD,KAAK,uBAAuB;YAC1B,OAAO,CAAC,IAAI,iDAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,KAAK,eAAe;YAClB,OAAO,CAAC,IAAI,gCAAc,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAC,CAAC;QAC9C,KAAK,WAAW;YACd,OAAO,CAAC,IAAI,iCAAc,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAC,CAAC;QAC9C,KAAK,uBAAuB;YAC1B,OAAO,CAAC,IAAI,6CAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,2BAA2B;YAC9B,OAAO,CAAC,IAAI,iDAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpD;AACH,CAAC;AA/BD,0CA+BC;AAGD,SAAgB,iBAAiB,CAC/B,gBAAqB,EACrB,6BAA4D;IAE5D,IACE,CAAC,wCAAgC,CAAC,QAAQ,CAAC,6BAAoE,CAAC,EAChH;QACA,OAAO,gBAAgB,CAAC;KACzB;IACD,OAAO;QACL,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC;AACJ,CAAC;AAbD,8CAaC;AA6BD,SAAgB,mBAAmB,CAAC,UAA8B;IAChE,MAAM,MAAM,GAAe;QACzB,aAAa,EAAE,IAAA,eAAM,EAAC,UAAU,CAAC,OAAO,CAAC,8BAAe,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAW;QACzG,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;KACzC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,kDAUC"}
1
+ {"version":3,"file":"backend-run.types.js","sourceRoot":"","sources":["../../../../common/src/backend-run.types.ts"],"names":[],"mappings":"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"}
@@ -1,62 +1,63 @@
1
- import { AiAssistantActionType, DatabaseActionType } from './bundle-data.types';
2
- import { Auth, RunContext } from './context.types';
3
- import { DocumentData, SquidDocId } from './document.types';
4
- import { Logger } from './logger.types';
5
- import { MutationContext } from './mutation.context';
6
- import { MutationType } from './mutation.types';
7
- import { QueryContext } from './query';
8
- import { SecretKey } from './secret.types';
9
- import { ApiCallContext } from './api-call.context';
10
- import { NamedQueryContext } from './named-query.context';
11
- import { GraphqlContext } from './graphql.context';
12
- import { DistributedLockContext } from './distributed-lock.context';
13
- import { AiAssistantChatContext, AiAssistantMutationContext } from './ai-assistant.context';
14
- import { EnvironmentId, SquidDeveloperId } from './communication.types';
15
- export type DocHash = string;
16
- export type SecurityResponse = {
17
- docsToHash: Record<SquidDocId, DocHash | undefined>;
18
- rulesPassed: true;
19
- } | {
20
- rulesPassed: false;
21
- };
22
- export interface ServiceConfig {
23
- context: RunContext;
24
- logger: Logger;
25
- secrets: Record<SecretKey, any>;
26
- backendApiKey: string;
27
- codeDir: string;
28
- auth: Auth | undefined;
29
- squidDeveloperId?: SquidDeveloperId;
30
- environmentId?: EnvironmentId;
31
- }
32
- export type SecureDatabaseAction<T extends DatabaseActionType> = T extends 'all' ? () => boolean | Promise<boolean> : T extends 'read' ? ((context: QueryContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>) : ((context: MutationContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
33
- export type SecureApiAction = ((context: ApiCallContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
34
- export type SecureNamedQueryAction = ((context: NamedQueryContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
35
- export type SecureDistributedLockAction = ((context: DistributedLockContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
36
- export type SecureGraphQLAction = ((context: GraphqlContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
37
- export type SecureAiAssistantAction<T extends AiAssistantActionType> = T extends 'all' ? () => boolean | Promise<boolean> : T extends 'chat' ? ((context: AiAssistantChatContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>) : ((context: AiAssistantMutationContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
38
- export type ExecutableAction = (...args: any[]) => any;
39
- export type TriggerAction = ((request: TriggerRequest) => void | Promise<void>) | (() => void | Promise<void>);
40
- export interface TriggerRequest<T extends DocumentData = any> {
41
- squidDocId: SquidDocId;
42
- mutationType: MutationType;
43
- docBefore?: T;
44
- docAfter?: T;
45
- }
46
- export type SchedulerAction = () => void | Promise<void>;
47
- export type WebhookAction = ((request: WebhookRequest) => any) | (() => any);
48
- export interface WebhookRequest {
49
- body: any;
50
- queryParams: Record<string, string>;
51
- headers: Record<string, string>;
52
- files: Array<SquidFile>;
53
- }
54
- export interface SquidFile {
55
- data: Uint8Array;
56
- fieldName: string;
57
- mimetype: string;
58
- originalName: string;
59
- size: number;
60
- encoding?: string;
61
- }
62
- export type ActionMethodDecorator<U> = <T extends U>(target: Object, propertyName: string, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
1
+ import { AiAssistantActionType, DatabaseActionType } from './bundle-data.types';
2
+ import { Auth, RunContext } from './context.types';
3
+ import { DocumentData, SquidDocId } from './document.types';
4
+ import { Logger } from './logger.types';
5
+ import { MutationContext } from './mutation.context';
6
+ import { MutationType } from './mutation.types';
7
+ import { QueryContext } from './query';
8
+ import { SecretKey } from './secret.types';
9
+ import { ApiCallContext } from './api-call.context';
10
+ import { NamedQueryContext } from './named-query.context';
11
+ import { GraphqlContext } from './graphql.context';
12
+ import { DistributedLockContext } from './distributed-lock.context';
13
+ import { AiAssistantChatContext, AiAssistantMutationContext } from './ai-assistant.context';
14
+ import { EnvironmentId, SquidDeveloperId } from './communication.types';
15
+ export type DocHash = string;
16
+ export type SecurityResponse = {
17
+ docsToHash: Record<SquidDocId, DocHash | undefined>;
18
+ rulesPassed: true;
19
+ } | {
20
+ rulesPassed: false;
21
+ };
22
+ export interface ServiceConfig {
23
+ context: RunContext;
24
+ logger: Logger;
25
+ secrets: Record<SecretKey, any>;
26
+ backendApiKey: string;
27
+ codeDir: string;
28
+ auth: Auth | undefined;
29
+ squidDeveloperId?: SquidDeveloperId;
30
+ environmentId?: EnvironmentId;
31
+ }
32
+ export type SecureDatabaseAction<T extends DatabaseActionType> = T extends 'all' ? () => boolean | Promise<boolean> : T extends 'read' ? ((context: QueryContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>) : ((context: MutationContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
33
+ export type SecureApiAction = ((context: ApiCallContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
34
+ export type SecureNamedQueryAction = ((context: NamedQueryContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
35
+ export type SecureDistributedLockAction = ((context: DistributedLockContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
36
+ export type SecureGraphQLAction = ((context: GraphqlContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
37
+ export type SecureAiAssistantAction<T extends AiAssistantActionType> = T extends 'all' ? () => boolean | Promise<boolean> : T extends 'chat' ? ((context: AiAssistantChatContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>) : ((context: AiAssistantMutationContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
38
+ export type ExecutableAction = (...args: any[]) => any;
39
+ export type TriggerAction = ((request: TriggerRequest) => void | Promise<void>) | (() => void | Promise<void>);
40
+ export interface TriggerRequest<T extends DocumentData = any> {
41
+ squidDocId: SquidDocId;
42
+ mutationType: MutationType;
43
+ docBefore?: T;
44
+ docAfter?: T;
45
+ }
46
+ export type SchedulerAction = () => void | Promise<void>;
47
+ export type WebhookAction = ((request: WebhookRequest) => any) | (() => any);
48
+ export interface WebhookRequest {
49
+ body: any;
50
+ queryParams: Record<string, string>;
51
+ headers: Record<string, string>;
52
+ httpMethod: 'post' | 'get' | 'put' | 'delete';
53
+ files?: Array<SquidFile>;
54
+ }
55
+ export interface SquidFile {
56
+ data: Uint8Array;
57
+ fieldName: string;
58
+ mimetype: string;
59
+ originalName: string;
60
+ size: number;
61
+ encoding?: string;
62
+ }
63
+ export type ActionMethodDecorator<U> = <T extends U>(target: Object, propertyName: string, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=bundle-api.types.js.map
@@ -1,59 +1,59 @@
1
- import { QueryName, SchedulerConfig, SchedulerId, TriggerConfig, TriggerId, WebhookConfig, WebhookId } from './application.types';
2
- import { IntegrationId } from './communication.types';
3
- import { CollectionName } from './document.types';
4
- import { ApiEndpointId } from './integrations';
5
- export type DatabaseActionType = 'read' | 'write' | 'update' | 'insert' | 'delete' | 'all';
6
- export type AiAssistantActionType = 'chat' | 'mutate' | 'all';
7
- export type ServiceName = string;
8
- export type FunctionName = string;
9
- export type ServiceFunctionName = `${ServiceName}:${FunctionName}`;
10
- export interface ApplicationBundleData {
11
- databases: Record<IntegrationId, DatabaseMetadata>;
12
- apis: Record<IntegrationId, {
13
- endpoints: Record<ApiEndpointId, ApiMetadata>;
14
- } & ApiMetadata>;
15
- graphql: Record<IntegrationId, GraphQLMetadata>;
16
- executables: Record<FunctionName, ExecutableMetadata>;
17
- triggers: Record<TriggerId, TriggerConfig>;
18
- schedulers: Record<SchedulerId, SchedulerConfig>;
19
- webhooks: Record<WebhookId, WebhookConfig>;
20
- namedQueries: Record<IntegrationId, Record<QueryName, NamedQueryMetadata>>;
21
- distributedLocks: {
22
- security?: Array<ServiceFunctionName>;
23
- mutexes?: Record<string, {
24
- security?: Array<ServiceFunctionName>;
25
- }>;
26
- };
27
- aiAssistants: Record<IntegrationId, {
28
- profiles: Record<string, AiAssistantMetadata>;
29
- } & AiAssistantMetadata>;
30
- }
31
- export interface DatabaseMetadata {
32
- collections: Record<CollectionName, CollectionMetadata>;
33
- security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
34
- transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
35
- }
36
- export interface CollectionMetadata {
37
- security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
38
- transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
39
- }
40
- export interface DatabaseTransformMetadata {
41
- serviceFunction: ServiceFunctionName;
42
- }
43
- export interface ExecutableMetadata {
44
- serviceFunction: ServiceFunctionName;
45
- }
46
- export interface NamedQueryMetadata {
47
- security?: Array<ServiceFunctionName>;
48
- queryString: string;
49
- }
50
- export interface ApiMetadata {
51
- security: Array<ServiceFunctionName>;
52
- }
53
- interface GraphQLMetadata {
54
- security: Array<ServiceFunctionName>;
55
- }
56
- export interface AiAssistantMetadata {
57
- security: Record<AiAssistantActionType, Array<ServiceFunctionName>>;
58
- }
59
- export {};
1
+ import { QueryName, SchedulerConfig, SchedulerId, TriggerConfig, TriggerId, WebhookConfig, WebhookId } from './application.types';
2
+ import { IntegrationId } from './communication.types';
3
+ import { CollectionName } from './document.types';
4
+ import { ApiEndpointId } from './integrations';
5
+ export type DatabaseActionType = 'read' | 'write' | 'update' | 'insert' | 'delete' | 'all';
6
+ export type AiAssistantActionType = 'chat' | 'mutate' | 'all';
7
+ export type ServiceName = string;
8
+ export type FunctionName = string;
9
+ export type ServiceFunctionName = `${ServiceName}:${FunctionName}`;
10
+ export interface ApplicationBundleData {
11
+ databases: Record<IntegrationId, DatabaseMetadata>;
12
+ apis: Record<IntegrationId, {
13
+ endpoints: Record<ApiEndpointId, ApiMetadata>;
14
+ } & ApiMetadata>;
15
+ graphql: Record<IntegrationId, GraphQLMetadata>;
16
+ executables: Record<FunctionName, ExecutableMetadata>;
17
+ triggers: Record<TriggerId, TriggerConfig>;
18
+ schedulers: Record<SchedulerId, SchedulerConfig>;
19
+ webhooks: Record<WebhookId, WebhookConfig>;
20
+ namedQueries: Record<IntegrationId, Record<QueryName, NamedQueryMetadata>>;
21
+ distributedLocks: {
22
+ security?: Array<ServiceFunctionName>;
23
+ mutexes?: Record<string, {
24
+ security?: Array<ServiceFunctionName>;
25
+ }>;
26
+ };
27
+ aiAssistants: Record<IntegrationId, {
28
+ profiles: Record<string, AiAssistantMetadata>;
29
+ } & AiAssistantMetadata>;
30
+ }
31
+ export interface DatabaseMetadata {
32
+ collections: Record<CollectionName, CollectionMetadata>;
33
+ security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
34
+ transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
35
+ }
36
+ export interface CollectionMetadata {
37
+ security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
38
+ transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
39
+ }
40
+ export interface DatabaseTransformMetadata {
41
+ serviceFunction: ServiceFunctionName;
42
+ }
43
+ export interface ExecutableMetadata {
44
+ serviceFunction: ServiceFunctionName;
45
+ }
46
+ export interface NamedQueryMetadata {
47
+ security?: Array<ServiceFunctionName>;
48
+ queryString: string;
49
+ }
50
+ export interface ApiMetadata {
51
+ security: Array<ServiceFunctionName>;
52
+ }
53
+ interface GraphQLMetadata {
54
+ security: Array<ServiceFunctionName>;
55
+ }
56
+ export interface AiAssistantMetadata {
57
+ security: Record<AiAssistantActionType, Array<ServiceFunctionName>>;
58
+ }
59
+ export {};
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=bundle-data.types.js.map