@squidcloud/local-backend 1.0.49 → 1.0.50

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 (175) 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 +73 -73
  21. package/dist/common/src/bundle-api.types.d.ts +62 -62
  22. package/dist/common/src/bundle-api.types.js +2 -2
  23. package/dist/common/src/bundle-data.types.d.ts +59 -59
  24. package/dist/common/src/bundle-data.types.js +2 -2
  25. package/dist/common/src/communication.types.d.ts +18 -18
  26. package/dist/common/src/communication.types.js +40 -40
  27. package/dist/common/src/context.types.d.ts +24 -24
  28. package/dist/common/src/context.types.js +2 -2
  29. package/dist/common/src/distributed-lock.context.d.ts +5 -5
  30. package/dist/common/src/distributed-lock.context.js +10 -10
  31. package/dist/common/src/document.types.d.ts +32 -32
  32. package/dist/common/src/document.types.js +50 -50
  33. package/dist/common/src/graphql.context.d.ts +14 -14
  34. package/dist/common/src/graphql.context.js +12 -12
  35. package/dist/common/src/graphql.types.d.ts +11 -11
  36. package/dist/common/src/graphql.types.js +34 -34
  37. package/dist/common/src/heartbeat.types.d.ts +4 -4
  38. package/dist/common/src/heartbeat.types.js +16 -16
  39. package/dist/common/src/http-status.enum.d.ts +50 -50
  40. package/dist/common/src/http-status.enum.js +54 -54
  41. package/dist/common/src/index.d.ts +53 -53
  42. package/dist/common/src/index.js +69 -69
  43. package/dist/common/src/integrations/ai_assistant.types.d.ts +30 -30
  44. package/dist/common/src/integrations/ai_assistant.types.js +2 -2
  45. package/dist/common/src/integrations/api.types.d.ts +80 -80
  46. package/dist/common/src/integrations/api.types.js +2 -2
  47. package/dist/common/src/integrations/auth.types.d.ts +39 -39
  48. package/dist/common/src/integrations/auth.types.js +2 -2
  49. package/dist/common/src/integrations/database.types.d.ts +236 -236
  50. package/dist/common/src/integrations/database.types.js +2 -2
  51. package/dist/common/src/integrations/index.d.ts +101 -101
  52. package/dist/common/src/integrations/index.js +105 -105
  53. package/dist/common/src/integrations/observability.types.d.ts +23 -23
  54. package/dist/common/src/integrations/observability.types.js +23 -23
  55. package/dist/common/src/integrations/observability.types.js.map +1 -1
  56. package/dist/common/src/logger.types.d.ts +21 -21
  57. package/dist/common/src/logger.types.js +11 -11
  58. package/dist/common/src/metrics.types.d.ts +73 -73
  59. package/dist/common/src/metrics.types.js +11 -11
  60. package/dist/common/src/mutation.context.d.ts +13 -13
  61. package/dist/common/src/mutation.context.js +26 -26
  62. package/dist/common/src/mutation.schemas.d.ts +5 -5
  63. package/dist/common/src/mutation.schemas.js +114 -114
  64. package/dist/common/src/mutation.types.d.ts +63 -63
  65. package/dist/common/src/mutation.types.js +142 -142
  66. package/dist/common/src/named-query.context.d.ts +4 -4
  67. package/dist/common/src/named-query.context.js +9 -9
  68. package/dist/common/src/named-query.schemas.d.ts +3 -3
  69. package/dist/common/src/named-query.schemas.js +13 -13
  70. package/dist/common/src/named-query.types.d.ts +8 -8
  71. package/dist/common/src/named-query.types.js +2 -2
  72. package/dist/common/src/query/base-query-builder.d.ts +65 -65
  73. package/dist/common/src/query/base-query-builder.js +294 -294
  74. package/dist/common/src/query/index.d.ts +3 -3
  75. package/dist/common/src/query/index.js +19 -19
  76. package/dist/common/src/query/query-context.d.ts +47 -47
  77. package/dist/common/src/query/query-context.js +159 -159
  78. package/dist/common/src/query/serialized-query.types.d.ts +24 -24
  79. package/dist/common/src/query/serialized-query.types.js +2 -2
  80. package/dist/common/src/query.types.d.ts +81 -81
  81. package/dist/common/src/query.types.js +153 -153
  82. package/dist/common/src/regions.d.ts +21 -21
  83. package/dist/common/src/regions.js +46 -46
  84. package/dist/common/src/schema/schema.types.d.ts +30 -30
  85. package/dist/common/src/schema/schema.types.js +172 -172
  86. package/dist/common/src/secret.schemas.d.ts +6 -6
  87. package/dist/common/src/secret.schemas.js +32 -32
  88. package/dist/common/src/secret.types.d.ts +49 -49
  89. package/dist/common/src/secret.types.js +5 -5
  90. package/dist/common/src/security.types.d.ts +3 -3
  91. package/dist/common/src/security.types.js +2 -2
  92. package/dist/common/src/socket.schemas.d.ts +3 -3
  93. package/dist/common/src/socket.schemas.js +58 -58
  94. package/dist/common/src/socket.types.d.ts +108 -108
  95. package/dist/common/src/socket.types.js +2 -2
  96. package/dist/common/src/time-units.d.ts +5 -5
  97. package/dist/common/src/time-units.js +8 -8
  98. package/dist/common/src/trigger.types.d.ts +15 -15
  99. package/dist/common/src/trigger.types.js +2 -2
  100. package/dist/common/src/types.d.ts +21 -21
  101. package/dist/common/src/types.js +2 -2
  102. package/dist/common/src/utils/array.d.ts +8 -8
  103. package/dist/common/src/utils/array.js +51 -51
  104. package/dist/common/src/utils/assert.d.ts +8 -8
  105. package/dist/common/src/utils/assert.js +49 -49
  106. package/dist/common/src/utils/error.d.ts +4 -4
  107. package/dist/common/src/utils/error.js +10 -10
  108. package/dist/common/src/utils/http.d.ts +2 -2
  109. package/dist/common/src/utils/http.js +38 -38
  110. package/dist/common/src/utils/id.d.ts +2 -2
  111. package/dist/common/src/utils/id.js +21 -21
  112. package/dist/common/src/utils/lock.manager.d.ts +9 -9
  113. package/dist/common/src/utils/lock.manager.js +39 -39
  114. package/dist/common/src/utils/nullish.d.ts +2 -2
  115. package/dist/common/src/utils/nullish.js +11 -11
  116. package/dist/common/src/utils/object.d.ts +6 -6
  117. package/dist/common/src/utils/object.js +89 -89
  118. package/dist/common/src/utils/serialization.d.ts +6 -6
  119. package/dist/common/src/utils/serialization.js +77 -77
  120. package/dist/common/src/utils/transforms.d.ts +18 -18
  121. package/dist/common/src/utils/transforms.js +92 -92
  122. package/dist/common/src/utils/url.d.ts +1 -1
  123. package/dist/common/src/utils/url.js +15 -15
  124. package/dist/common/src/utils/validation.d.ts +17 -17
  125. package/dist/common/src/utils/validation.js +209 -209
  126. package/dist/common/src/utils/validation.js.map +1 -1
  127. package/dist/common/src/webhook-response.d.ts +7 -7
  128. package/dist/common/src/webhook-response.js +7 -7
  129. package/dist/internal-common/src/async-queue.d.ts +4 -4
  130. package/dist/internal-common/src/async-queue.js +17 -17
  131. package/dist/internal-common/src/code-executor.types.d.ts +13 -13
  132. package/dist/internal-common/src/code-executor.types.js +2 -2
  133. package/dist/internal-common/src/environment/environment.types.d.ts +74 -74
  134. package/dist/internal-common/src/environment/environment.types.js +2 -2
  135. package/dist/internal-common/src/environment/index.d.ts +6 -6
  136. package/dist/internal-common/src/environment/index.js +27 -27
  137. package/dist/internal-common/src/environment/local.environment.d.ts +2 -2
  138. package/dist/internal-common/src/environment/local.environment.js +62 -62
  139. package/dist/internal-common/src/filters/custom-exception.filter.d.ts +6 -6
  140. package/dist/internal-common/src/filters/custom-exception.filter.js +44 -44
  141. package/dist/internal-common/src/index.d.ts +14 -14
  142. package/dist/internal-common/src/index.js +32 -32
  143. package/dist/internal-common/src/interceptors/body.interceptor.d.ts +5 -5
  144. package/dist/internal-common/src/interceptors/body.interceptor.js +24 -24
  145. package/dist/internal-common/src/kafka/kafka.manager.d.ts +22 -22
  146. package/dist/internal-common/src/kafka/kafka.manager.js +129 -129
  147. package/dist/internal-common/src/kafka/kafka.types.d.ts +17 -17
  148. package/dist/internal-common/src/kafka/kafka.types.js +2 -2
  149. package/dist/internal-common/src/kafka-observability-publisher.d.ts +11 -11
  150. package/dist/internal-common/src/kafka-observability-publisher.js +20 -20
  151. package/dist/internal-common/src/local-dev.types.d.ts +31 -31
  152. package/dist/internal-common/src/local-dev.types.js +2 -2
  153. package/dist/internal-common/src/observability-publisher.d.ts +9 -9
  154. package/dist/internal-common/src/observability-publisher.js +58 -58
  155. package/dist/internal-common/src/observability.types.d.ts +17 -17
  156. package/dist/internal-common/src/observability.types.js +2 -2
  157. package/dist/internal-common/src/shutdown.manager.d.ts +20 -20
  158. package/dist/internal-common/src/shutdown.manager.js +75 -75
  159. package/dist/internal-common/src/utils.d.ts +5 -5
  160. package/dist/internal-common/src/utils.js +29 -29
  161. package/dist/local-backend/src/index.d.ts +4 -4
  162. package/dist/local-backend/src/index.js +20 -20
  163. package/dist/local-backend/src/local-backend-socket.service.d.ts +18 -18
  164. package/dist/local-backend/src/local-backend-socket.service.js +107 -108
  165. package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
  166. package/dist/local-backend/src/local-backend.app.d.ts +2 -2
  167. package/dist/local-backend/src/local-backend.app.js +19 -19
  168. package/dist/local-backend/src/local-backend.controller.d.ts +8 -8
  169. package/dist/local-backend/src/local-backend.controller.js +49 -49
  170. package/dist/local-backend/src/local-backend.module.d.ts +8 -8
  171. package/dist/local-backend/src/local-backend.module.js +53 -53
  172. package/dist/local-backend/src/local-backend.service.d.ts +15 -15
  173. package/dist/local-backend/src/local-backend.service.js +165 -165
  174. package/dist/tsconfig.build.tsbuildinfo +1 -1
  175. 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,74 @@
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
+ 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;
74
74
  //# sourceMappingURL=backend-run.types.js.map
@@ -1,62 +1,62 @@
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
+ 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,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
@@ -1,18 +1,18 @@
1
- export type AppId = string;
2
- export type EnvironmentId = 'prod' | 'dev';
3
- export declare const allEnvironmentIds: Array<EnvironmentId>;
4
- export type IntegrationId = string;
5
- export type ClientId = string;
6
- export type ClientRequestId = string;
7
- export type SquidDeveloperId = string;
8
- export interface ParsedAppId {
9
- appId: AppId;
10
- environmentId: EnvironmentId;
11
- squidDeveloperId?: SquidDeveloperId;
12
- }
13
- export declare function parseAppId(appId: AppId): ParsedAppId;
14
- export declare function appIdWithEnvironmentId(appId: AppId, environmentId: EnvironmentId | undefined): AppId;
15
- export declare function appIdWithEnvironmentIdAndDevId(appId: AppId, environmentId: EnvironmentId | undefined, developerId: SquidDeveloperId | undefined): AppId;
16
- export declare function validateEnvironment(appId: AppId): ParsedAppId;
17
- export declare function verifyWithSquidDevId(appId: AppId): void;
18
- export declare function omitSquidDevId(appId: AppId): AppId;
1
+ export type AppId = string;
2
+ export type EnvironmentId = 'prod' | 'dev';
3
+ export declare const allEnvironmentIds: Array<EnvironmentId>;
4
+ export type IntegrationId = string;
5
+ export type ClientId = string;
6
+ export type ClientRequestId = string;
7
+ export type SquidDeveloperId = string;
8
+ export interface ParsedAppId {
9
+ appId: AppId;
10
+ environmentId: EnvironmentId;
11
+ squidDeveloperId?: SquidDeveloperId;
12
+ }
13
+ export declare function parseAppId(appId: AppId): ParsedAppId;
14
+ export declare function appIdWithEnvironmentId(appId: AppId, environmentId: EnvironmentId | undefined): AppId;
15
+ export declare function appIdWithEnvironmentIdAndDevId(appId: AppId, environmentId: EnvironmentId | undefined, developerId: SquidDeveloperId | undefined): AppId;
16
+ export declare function validateEnvironment(appId: AppId): ParsedAppId;
17
+ export declare function verifyWithSquidDevId(appId: AppId): void;
18
+ export declare function omitSquidDevId(appId: AppId): AppId;