@squidcloud/local-backend 1.0.74 → 1.0.76

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 (193) 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 +85 -85
  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 +1332 -1312
  12. package/dist/common/src/application.schemas.js +880 -860
  13. package/dist/common/src/application.schemas.js.map +1 -1
  14. package/dist/common/src/application.types.d.ts +189 -186
  15. package/dist/common/src/application.types.js +89 -89
  16. package/dist/common/src/application.types.js.map +1 -1
  17. package/dist/common/src/backend-function.schemas.d.ts +3 -3
  18. package/dist/common/src/backend-function.schemas.js +12 -12
  19. package/dist/common/src/backend-function.types.d.ts +6 -6
  20. package/dist/common/src/backend-function.types.js +2 -2
  21. package/dist/common/src/backend-run.types.d.ts +54 -54
  22. package/dist/common/src/backend-run.types.js +91 -91
  23. package/dist/common/src/bundle-api.types.d.ts +65 -65
  24. package/dist/common/src/bundle-api.types.js +2 -2
  25. package/dist/common/src/bundle-data.types.d.ts +60 -60
  26. package/dist/common/src/bundle-data.types.js +2 -2
  27. package/dist/common/src/communication.types.d.ts +18 -18
  28. package/dist/common/src/communication.types.js +40 -40
  29. package/dist/common/src/context.types.d.ts +24 -24
  30. package/dist/common/src/context.types.js +2 -2
  31. package/dist/common/src/distributed-lock.context.d.ts +5 -5
  32. package/dist/common/src/distributed-lock.context.js +10 -10
  33. package/dist/common/src/document.types.d.ts +32 -32
  34. package/dist/common/src/document.types.js +50 -50
  35. package/dist/common/src/graphql.context.d.ts +14 -14
  36. package/dist/common/src/graphql.context.js +12 -12
  37. package/dist/common/src/graphql.types.d.ts +11 -11
  38. package/dist/common/src/graphql.types.js +34 -34
  39. package/dist/common/src/heartbeat.types.d.ts +4 -4
  40. package/dist/common/src/heartbeat.types.js +16 -16
  41. package/dist/common/src/http-status.enum.d.ts +50 -50
  42. package/dist/common/src/http-status.enum.js +54 -54
  43. package/dist/common/src/http-status.enum.js.map +1 -1
  44. package/dist/common/src/index.d.ts +55 -55
  45. package/dist/common/src/index.js +71 -71
  46. package/dist/common/src/integrations/ai_assistant.types.d.ts +30 -26
  47. package/dist/common/src/integrations/ai_assistant.types.js +2 -2
  48. package/dist/common/src/integrations/api.types.d.ts +80 -80
  49. package/dist/common/src/integrations/api.types.js +2 -2
  50. package/dist/common/src/integrations/auth.types.d.ts +39 -39
  51. package/dist/common/src/integrations/auth.types.js +2 -2
  52. package/dist/common/src/integrations/database.types.d.ts +231 -231
  53. package/dist/common/src/integrations/database.types.js +2 -2
  54. package/dist/common/src/integrations/index.d.ts +126 -126
  55. package/dist/common/src/integrations/index.js +113 -113
  56. package/dist/common/src/integrations/index.js.map +1 -1
  57. package/dist/common/src/integrations/observability.types.d.ts +23 -23
  58. package/dist/common/src/integrations/observability.types.js +23 -23
  59. package/dist/common/src/logger.types.d.ts +21 -21
  60. package/dist/common/src/logger.types.js +11 -11
  61. package/dist/common/src/logger.types.js.map +1 -1
  62. package/dist/common/src/metrics.types.d.ts +73 -73
  63. package/dist/common/src/metrics.types.js +11 -11
  64. package/dist/common/src/mutation.context.d.ts +13 -13
  65. package/dist/common/src/mutation.context.js +26 -26
  66. package/dist/common/src/mutation.schemas.d.ts +5 -5
  67. package/dist/common/src/mutation.schemas.js +114 -114
  68. package/dist/common/src/mutation.types.d.ts +63 -63
  69. package/dist/common/src/mutation.types.js +142 -142
  70. package/dist/common/src/named-query.context.d.ts +4 -4
  71. package/dist/common/src/named-query.context.js +9 -9
  72. package/dist/common/src/named-query.schemas.d.ts +3 -3
  73. package/dist/common/src/named-query.schemas.js +13 -13
  74. package/dist/common/src/named-query.types.d.ts +8 -8
  75. package/dist/common/src/named-query.types.js +2 -2
  76. package/dist/common/src/query/base-query-builder.d.ts +37 -37
  77. package/dist/common/src/query/base-query-builder.js +36 -36
  78. package/dist/common/src/query/index.d.ts +4 -4
  79. package/dist/common/src/query/index.js +20 -20
  80. package/dist/common/src/query/pagination.d.ts +42 -42
  81. package/dist/common/src/query/pagination.js +164 -164
  82. package/dist/common/src/query/query-context.d.ts +47 -47
  83. package/dist/common/src/query/query-context.js +159 -159
  84. package/dist/common/src/query/serialized-query.types.d.ts +24 -24
  85. package/dist/common/src/query/serialized-query.types.js +2 -2
  86. package/dist/common/src/query.types.d.ts +86 -86
  87. package/dist/common/src/query.types.js +153 -153
  88. package/dist/common/src/regions.d.ts +21 -21
  89. package/dist/common/src/regions.js +46 -46
  90. package/dist/common/src/schema/schema.types.d.ts +30 -30
  91. package/dist/common/src/schema/schema.types.js +172 -172
  92. package/dist/common/src/secret.schemas.d.ts +4 -4
  93. package/dist/common/src/secret.schemas.js +17 -17
  94. package/dist/common/src/secret.types.d.ts +65 -65
  95. package/dist/common/src/secret.types.js +5 -5
  96. package/dist/common/src/security.types.d.ts +3 -3
  97. package/dist/common/src/security.types.js +2 -2
  98. package/dist/common/src/socket.schemas.d.ts +3 -3
  99. package/dist/common/src/socket.schemas.js +58 -58
  100. package/dist/common/src/socket.types.d.ts +125 -117
  101. package/dist/common/src/socket.types.js +9 -9
  102. package/dist/common/src/socket.types.js.map +1 -1
  103. package/dist/common/src/time-units.d.ts +5 -5
  104. package/dist/common/src/time-units.js +8 -8
  105. package/dist/common/src/trigger.types.d.ts +15 -15
  106. package/dist/common/src/trigger.types.js +2 -2
  107. package/dist/common/src/types.d.ts +21 -21
  108. package/dist/common/src/types.js +2 -2
  109. package/dist/common/src/utils/array.d.ts +8 -8
  110. package/dist/common/src/utils/array.js +54 -54
  111. package/dist/common/src/utils/assert.d.ts +8 -8
  112. package/dist/common/src/utils/assert.js +49 -49
  113. package/dist/common/src/utils/error.d.ts +4 -4
  114. package/dist/common/src/utils/error.js +10 -10
  115. package/dist/common/src/utils/global.utils.d.ts +11 -11
  116. package/dist/common/src/utils/global.utils.js +50 -50
  117. package/dist/common/src/utils/http.d.ts +2 -2
  118. package/dist/common/src/utils/http.js +41 -41
  119. package/dist/common/src/utils/id.d.ts +2 -2
  120. package/dist/common/src/utils/id.js +21 -21
  121. package/dist/common/src/utils/lock.manager.d.ts +9 -9
  122. package/dist/common/src/utils/lock.manager.js +39 -39
  123. package/dist/common/src/utils/nullish.d.ts +2 -2
  124. package/dist/common/src/utils/nullish.js +11 -11
  125. package/dist/common/src/utils/object.d.ts +5 -5
  126. package/dist/common/src/utils/object.js +75 -75
  127. package/dist/common/src/utils/serialization.d.ts +6 -6
  128. package/dist/common/src/utils/serialization.js +77 -77
  129. package/dist/common/src/utils/transforms.d.ts +18 -18
  130. package/dist/common/src/utils/transforms.js +92 -92
  131. package/dist/common/src/utils/url.d.ts +1 -1
  132. package/dist/common/src/utils/url.js +15 -15
  133. package/dist/common/src/utils/validation.d.ts +17 -17
  134. package/dist/common/src/utils/validation.js +209 -209
  135. package/dist/common/src/webhook-response.d.ts +6 -6
  136. package/dist/common/src/webhook-response.js +2 -2
  137. package/dist/common/src/websocket.impl.d.ts +21 -21
  138. package/dist/common/src/websocket.impl.js +76 -76
  139. package/dist/internal-common/src/async-queue.d.ts +4 -4
  140. package/dist/internal-common/src/async-queue.js +17 -17
  141. package/dist/internal-common/src/code-executor.types.d.ts +13 -13
  142. package/dist/internal-common/src/code-executor.types.js +2 -2
  143. package/dist/internal-common/src/dao.types.d.ts +49 -49
  144. package/dist/internal-common/src/dao.types.js +2 -2
  145. package/dist/internal-common/src/environment/environment.types.d.ts +74 -74
  146. package/dist/internal-common/src/environment/environment.types.js +2 -2
  147. package/dist/internal-common/src/environment/index.d.ts +6 -6
  148. package/dist/internal-common/src/environment/index.js +27 -27
  149. package/dist/internal-common/src/environment/local.environment.d.ts +2 -2
  150. package/dist/internal-common/src/environment/local.environment.js +62 -62
  151. package/dist/internal-common/src/filters/custom-exception.filter.d.ts +6 -6
  152. package/dist/internal-common/src/filters/custom-exception.filter.js +44 -44
  153. package/dist/internal-common/src/filters/custom-exception.filter.js.map +1 -1
  154. package/dist/internal-common/src/index.d.ts +14 -14
  155. package/dist/internal-common/src/index.js +32 -32
  156. package/dist/internal-common/src/interceptors/body.interceptor.d.ts +5 -5
  157. package/dist/internal-common/src/interceptors/body.interceptor.js +24 -24
  158. package/dist/internal-common/src/interceptors/body.interceptor.js.map +1 -1
  159. package/dist/internal-common/src/kafka/kafka.manager.d.ts +22 -22
  160. package/dist/internal-common/src/kafka/kafka.manager.js +116 -116
  161. package/dist/internal-common/src/kafka/kafka.types.d.ts +17 -17
  162. package/dist/internal-common/src/kafka/kafka.types.js +2 -2
  163. package/dist/internal-common/src/kafka-observability-publisher.d.ts +11 -11
  164. package/dist/internal-common/src/kafka-observability-publisher.js +20 -20
  165. package/dist/internal-common/src/local-dev.types.d.ts +35 -35
  166. package/dist/internal-common/src/local-dev.types.js +2 -2
  167. package/dist/internal-common/src/observability-publisher.d.ts +9 -9
  168. package/dist/internal-common/src/observability-publisher.js +58 -58
  169. package/dist/internal-common/src/observability.types.d.ts +17 -17
  170. package/dist/internal-common/src/observability.types.js +2 -2
  171. package/dist/internal-common/src/shutdown.manager.d.ts +20 -20
  172. package/dist/internal-common/src/shutdown.manager.js +75 -75
  173. package/dist/internal-common/src/shutdown.manager.js.map +1 -1
  174. package/dist/internal-common/src/utils.d.ts +5 -5
  175. package/dist/internal-common/src/utils.js +29 -29
  176. package/dist/local-backend/src/index.d.ts +4 -4
  177. package/dist/local-backend/src/index.js +20 -20
  178. package/dist/local-backend/src/local-backend-socket.service.d.ts +19 -19
  179. package/dist/local-backend/src/local-backend-socket.service.js +110 -110
  180. package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
  181. package/dist/local-backend/src/local-backend.app.d.ts +2 -2
  182. package/dist/local-backend/src/local-backend.app.js +19 -19
  183. package/dist/local-backend/src/local-backend.controller.d.ts +8 -8
  184. package/dist/local-backend/src/local-backend.controller.js +49 -49
  185. package/dist/local-backend/src/local-backend.controller.js.map +1 -1
  186. package/dist/local-backend/src/local-backend.module.d.ts +8 -8
  187. package/dist/local-backend/src/local-backend.module.js +53 -53
  188. package/dist/local-backend/src/local-backend.module.js.map +1 -1
  189. package/dist/local-backend/src/local-backend.service.d.ts +15 -15
  190. package/dist/local-backend/src/local-backend.service.js +170 -170
  191. package/dist/local-backend/src/local-backend.service.js.map +1 -1
  192. package/dist/tsconfig.build.tsbuildinfo +1 -1
  193. package/package.json +8 -33
@@ -1,65 +1,65 @@
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 { ClientId, EnvironmentId, SquidDeveloperId } from './communication.types';
15
- import { ClientConnectionState } from './socket.types';
16
- export type DocHash = string;
17
- export type SecurityResponse = {
18
- docsToHash: Record<SquidDocId, DocHash | undefined>;
19
- rulesPassed: true;
20
- } | {
21
- rulesPassed: false;
22
- };
23
- export interface ServiceConfig {
24
- context: RunContext;
25
- logger: Logger;
26
- secrets: Record<SecretKey, any>;
27
- backendApiKey: string;
28
- codeDir: string;
29
- auth: Auth | undefined;
30
- squidDeveloperId?: SquidDeveloperId;
31
- environmentId?: EnvironmentId;
32
- }
33
- 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>);
34
- export type SecureApiAction = ((context: ApiCallContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
35
- export type SecureNamedQueryAction = ((context: NamedQueryContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
36
- export type SecureDistributedLockAction = ((context: DistributedLockContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
37
- export type SecureGraphQLAction = ((context: GraphqlContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
38
- 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>);
39
- export type ClientConnectionStateChangeAction = (clientId: ClientId, clientConnectionState: ClientConnectionState) => Promise<void> | void;
40
- export type ExecutableAction = (...args: any[]) => any;
41
- export type TriggerAction = ((request: TriggerRequest) => void | Promise<void>) | (() => void | Promise<void>);
42
- export interface TriggerRequest<T extends DocumentData = any> {
43
- squidDocId: SquidDocId;
44
- mutationType: MutationType;
45
- docBefore?: T;
46
- docAfter?: T;
47
- }
48
- export type SchedulerAction = () => void | Promise<void>;
49
- export type WebhookAction = ((request: WebhookRequest) => any) | (() => any);
50
- export interface WebhookRequest {
51
- body: any;
52
- queryParams: Record<string, string>;
53
- headers: Record<string, string>;
54
- httpMethod: 'post' | 'get' | 'put' | 'delete';
55
- files?: Array<SquidFile>;
56
- }
57
- export interface SquidFile {
58
- data: Uint8Array;
59
- fieldName: string;
60
- mimetype: string;
61
- originalName: string;
62
- size: number;
63
- encoding?: string;
64
- }
65
- 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 { ClientId, EnvironmentId, SquidDeveloperId } from './communication.types';
15
+ import { ClientConnectionState } from './socket.types';
16
+ export type DocHash = string;
17
+ export type SecurityResponse = {
18
+ docsToHash: Record<SquidDocId, DocHash | undefined>;
19
+ rulesPassed: true;
20
+ } | {
21
+ rulesPassed: false;
22
+ };
23
+ export interface ServiceConfig {
24
+ context: RunContext;
25
+ logger: Logger;
26
+ secrets: Record<SecretKey, any>;
27
+ backendApiKey: string;
28
+ codeDir: string;
29
+ auth: Auth | undefined;
30
+ squidDeveloperId?: SquidDeveloperId;
31
+ environmentId?: EnvironmentId;
32
+ }
33
+ 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>);
34
+ export type SecureApiAction = ((context: ApiCallContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
35
+ export type SecureNamedQueryAction = ((context: NamedQueryContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
36
+ export type SecureDistributedLockAction = ((context: DistributedLockContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
37
+ export type SecureGraphQLAction = ((context: GraphqlContext) => boolean | Promise<boolean>) | (() => boolean | Promise<boolean>);
38
+ 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>);
39
+ export type ClientConnectionStateChangeAction = (clientId: ClientId, clientConnectionState: ClientConnectionState) => Promise<void> | void;
40
+ export type ExecutableAction = (...args: any[]) => any;
41
+ export type TriggerAction = ((request: TriggerRequest) => void | Promise<void>) | (() => void | Promise<void>);
42
+ export interface TriggerRequest<T extends DocumentData = any> {
43
+ squidDocId: SquidDocId;
44
+ mutationType: MutationType;
45
+ docBefore?: T;
46
+ docAfter?: T;
47
+ }
48
+ export type SchedulerAction = () => void | Promise<void>;
49
+ export type WebhookAction = ((request: WebhookRequest) => any) | (() => any);
50
+ export interface WebhookRequest {
51
+ body: any;
52
+ queryParams: Record<string, string>;
53
+ headers: Record<string, string>;
54
+ httpMethod: 'post' | 'get' | 'put' | 'delete';
55
+ files?: Array<SquidFile>;
56
+ }
57
+ export interface SquidFile {
58
+ data: Uint8Array;
59
+ fieldName: string;
60
+ mimetype: string;
61
+ originalName: string;
62
+ size: number;
63
+ encoding?: string;
64
+ }
65
+ 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,60 +1,60 @@
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
- clientConnectionStateChangeHandlers?: Array<ServiceFunctionName>;
31
- }
32
- export interface DatabaseMetadata {
33
- collections: Record<CollectionName, CollectionMetadata>;
34
- security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
35
- transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
36
- }
37
- export interface CollectionMetadata {
38
- security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
39
- transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
40
- }
41
- export interface DatabaseTransformMetadata {
42
- serviceFunction: ServiceFunctionName;
43
- }
44
- export interface ExecutableMetadata {
45
- serviceFunction: ServiceFunctionName;
46
- }
47
- export interface NamedQueryMetadata {
48
- security?: Array<ServiceFunctionName>;
49
- queryString: string;
50
- }
51
- export interface ApiMetadata {
52
- security: Array<ServiceFunctionName>;
53
- }
54
- interface GraphQLMetadata {
55
- security: Array<ServiceFunctionName>;
56
- }
57
- export interface AiAssistantMetadata {
58
- security: Record<AiAssistantActionType, Array<ServiceFunctionName>>;
59
- }
60
- 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
+ clientConnectionStateChangeHandlers?: Array<ServiceFunctionName>;
31
+ }
32
+ export interface DatabaseMetadata {
33
+ collections: Record<CollectionName, CollectionMetadata>;
34
+ security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
35
+ transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
36
+ }
37
+ export interface CollectionMetadata {
38
+ security?: Record<DatabaseActionType, Array<ServiceFunctionName>>;
39
+ transform?: Record<DatabaseActionType, DatabaseTransformMetadata>;
40
+ }
41
+ export interface DatabaseTransformMetadata {
42
+ serviceFunction: ServiceFunctionName;
43
+ }
44
+ export interface ExecutableMetadata {
45
+ serviceFunction: ServiceFunctionName;
46
+ }
47
+ export interface NamedQueryMetadata {
48
+ security?: Array<ServiceFunctionName>;
49
+ queryString: string;
50
+ }
51
+ export interface ApiMetadata {
52
+ security: Array<ServiceFunctionName>;
53
+ }
54
+ interface GraphQLMetadata {
55
+ security: Array<ServiceFunctionName>;
56
+ }
57
+ export interface AiAssistantMetadata {
58
+ security: Record<AiAssistantActionType, Array<ServiceFunctionName>>;
59
+ }
60
+ 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;
@@ -1,41 +1,41 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.omitSquidDevId = exports.verifyWithSquidDevId = exports.validateEnvironment = exports.appIdWithEnvironmentIdAndDevId = exports.appIdWithEnvironmentId = exports.parseAppId = exports.allEnvironmentIds = void 0;
4
- const assert_1 = require("./utils/assert");
5
- exports.allEnvironmentIds = ['prod', 'dev'];
6
- function parseAppId(appId) {
7
- const [appIdWithoutEnv, environmentId, squidDeveloperId, other] = appId.split(/[_-]/);
8
- (0, assert_1.assertTruthy)(!other, 'Invalid appId: ' + appId);
9
- return {
10
- appId: appIdWithoutEnv,
11
- environmentId: (environmentId !== null && environmentId !== void 0 ? environmentId : 'prod'),
12
- squidDeveloperId,
13
- };
14
- }
15
- exports.parseAppId = parseAppId;
16
- function appIdWithEnvironmentId(appId, environmentId) {
17
- const parsedAppId = parseAppId(appId);
18
- return `${parsedAppId.appId}${!environmentId || environmentId === 'prod' ? '' : `-${environmentId}`}`;
19
- }
20
- exports.appIdWithEnvironmentId = appIdWithEnvironmentId;
21
- function appIdWithEnvironmentIdAndDevId(appId, environmentId, developerId) {
22
- return `${appIdWithEnvironmentId(appId, environmentId)}${developerId ? `-${developerId}` : ''}`;
23
- }
24
- exports.appIdWithEnvironmentIdAndDevId = appIdWithEnvironmentIdAndDevId;
25
- function validateEnvironment(appId) {
26
- const parsedAppId = parseAppId(appId);
27
- (0, assert_1.assertTruthy)(parsedAppId.environmentId !== 'prod' || !parsedAppId.squidDeveloperId, 'Cannot use developer ID in production');
28
- return parsedAppId;
29
- }
30
- exports.validateEnvironment = validateEnvironment;
31
- function verifyWithSquidDevId(appId) {
32
- const parsedAppId = parseAppId(appId);
33
- (0, assert_1.assertTruthy)(parsedAppId.squidDeveloperId, 'Must provide squid developer ID');
34
- }
35
- exports.verifyWithSquidDevId = verifyWithSquidDevId;
36
- function omitSquidDevId(appId) {
37
- const parsedAppId = parseAppId(appId);
38
- return appIdWithEnvironmentId(parsedAppId.appId, parsedAppId.environmentId);
39
- }
40
- exports.omitSquidDevId = omitSquidDevId;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.omitSquidDevId = exports.verifyWithSquidDevId = exports.validateEnvironment = exports.appIdWithEnvironmentIdAndDevId = exports.appIdWithEnvironmentId = exports.parseAppId = exports.allEnvironmentIds = void 0;
4
+ const assert_1 = require("./utils/assert");
5
+ exports.allEnvironmentIds = ['prod', 'dev'];
6
+ function parseAppId(appId) {
7
+ const [appIdWithoutEnv, environmentId, squidDeveloperId, other] = appId.split(/[_-]/);
8
+ (0, assert_1.assertTruthy)(!other, 'Invalid appId: ' + appId);
9
+ return {
10
+ appId: appIdWithoutEnv,
11
+ environmentId: (environmentId !== null && environmentId !== void 0 ? environmentId : 'prod'),
12
+ squidDeveloperId,
13
+ };
14
+ }
15
+ exports.parseAppId = parseAppId;
16
+ function appIdWithEnvironmentId(appId, environmentId) {
17
+ const parsedAppId = parseAppId(appId);
18
+ return `${parsedAppId.appId}${!environmentId || environmentId === 'prod' ? '' : `-${environmentId}`}`;
19
+ }
20
+ exports.appIdWithEnvironmentId = appIdWithEnvironmentId;
21
+ function appIdWithEnvironmentIdAndDevId(appId, environmentId, developerId) {
22
+ return `${appIdWithEnvironmentId(appId, environmentId)}${developerId ? `-${developerId}` : ''}`;
23
+ }
24
+ exports.appIdWithEnvironmentIdAndDevId = appIdWithEnvironmentIdAndDevId;
25
+ function validateEnvironment(appId) {
26
+ const parsedAppId = parseAppId(appId);
27
+ (0, assert_1.assertTruthy)(parsedAppId.environmentId !== 'prod' || !parsedAppId.squidDeveloperId, 'Cannot use developer ID in production');
28
+ return parsedAppId;
29
+ }
30
+ exports.validateEnvironment = validateEnvironment;
31
+ function verifyWithSquidDevId(appId) {
32
+ const parsedAppId = parseAppId(appId);
33
+ (0, assert_1.assertTruthy)(parsedAppId.squidDeveloperId, 'Must provide squid developer ID');
34
+ }
35
+ exports.verifyWithSquidDevId = verifyWithSquidDevId;
36
+ function omitSquidDevId(appId) {
37
+ const parsedAppId = parseAppId(appId);
38
+ return appIdWithEnvironmentId(parsedAppId.appId, parsedAppId.environmentId);
39
+ }
40
+ exports.omitSquidDevId = omitSquidDevId;
41
41
  //# sourceMappingURL=communication.types.js.map
@@ -1,24 +1,24 @@
1
- import { AppId, ClientId } from './communication.types';
2
- export type AuthType = 'Bearer' | 'ApiKey';
3
- export interface AuthWithBearer {
4
- type: 'Bearer';
5
- userId: string;
6
- expiration: number;
7
- attributes: Record<string, any>;
8
- }
9
- export interface AuthWithApiKey {
10
- type: 'ApiKey';
11
- apiKey: string;
12
- }
13
- export type Auth = AuthWithBearer | AuthWithApiKey;
14
- export interface AuthToken {
15
- type: AuthType;
16
- token: string;
17
- integrationId?: string;
18
- }
19
- export interface RunContext {
20
- appId: AppId;
21
- clientId?: ClientId;
22
- sourceIp?: string;
23
- headers?: Record<string, any>;
24
- }
1
+ import { AppId, ClientId } from './communication.types';
2
+ export type AuthType = 'Bearer' | 'ApiKey';
3
+ export interface AuthWithBearer {
4
+ type: 'Bearer';
5
+ userId: string;
6
+ expiration: number;
7
+ attributes: Record<string, any>;
8
+ }
9
+ export interface AuthWithApiKey {
10
+ type: 'ApiKey';
11
+ apiKey: string;
12
+ }
13
+ export type Auth = AuthWithBearer | AuthWithApiKey;
14
+ export interface AuthToken {
15
+ type: AuthType;
16
+ token: string;
17
+ integrationId?: string;
18
+ }
19
+ export interface RunContext {
20
+ appId: AppId;
21
+ clientId?: ClientId;
22
+ sourceIp?: string;
23
+ headers?: Record<string, any>;
24
+ }
@@ -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=context.types.js.map
@@ -1,5 +1,5 @@
1
- export declare class DistributedLockContext {
2
- readonly mutex: string;
3
- readonly exclusive: boolean;
4
- constructor(mutex: string, exclusive: boolean);
5
- }
1
+ export declare class DistributedLockContext {
2
+ readonly mutex: string;
3
+ readonly exclusive: boolean;
4
+ constructor(mutex: string, exclusive: boolean);
5
+ }
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DistributedLockContext = void 0;
4
- class DistributedLockContext {
5
- constructor(mutex, exclusive) {
6
- this.mutex = mutex;
7
- this.exclusive = exclusive;
8
- }
9
- }
10
- exports.DistributedLockContext = DistributedLockContext;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DistributedLockContext = void 0;
4
+ class DistributedLockContext {
5
+ constructor(mutex, exclusive) {
6
+ this.mutex = mutex;
7
+ this.exclusive = exclusive;
8
+ }
9
+ }
10
+ exports.DistributedLockContext = DistributedLockContext;
11
11
  //# sourceMappingURL=distributed-lock.context.js.map
@@ -1,32 +1,32 @@
1
- import { IntegrationId } from './communication.types';
2
- export type FieldName<T = any> = string & keyof T;
3
- export type PrimitiveFieldType = string | number | boolean | null | Date;
4
- export type FieldType = PrimitiveFieldType | Array<FieldType> | {
5
- [key: string]: FieldType;
6
- };
7
- export type DocId = string;
8
- export type DocIdObj = Record<FieldName, any>;
9
- export type CollectionName = string;
10
- export type FullCollectionName = string;
11
- export type DocTimestamp = number;
12
- export declare const SquidPlaceholderId = "__squidId";
13
- export interface SquidDocIdObj {
14
- collectionName: CollectionName;
15
- docId: DocId;
16
- integrationId: IntegrationId;
17
- }
18
- export interface BeforeAndAfterDocs<T = SquidDocument> {
19
- before: T | undefined;
20
- after: T | undefined;
21
- }
22
- export type SquidDocId = string;
23
- export interface SquidDocument {
24
- __docId__: DocId;
25
- __ts__: DocTimestamp;
26
- [fieldName: string]: FieldType | undefined;
27
- }
28
- export type DocumentData = Record<FieldName, any | undefined>;
29
- export declare function parseSquidDocId(squidDocId: SquidDocId): SquidDocIdObj;
30
- export declare function getSquidDocId(squidDocIdObj: SquidDocIdObj): SquidDocId;
31
- export declare function getSquidDocId(docId: DocId, collectionName: CollectionName, integrationId: IntegrationId): SquidDocId;
32
- export declare function hasDocumentDiff(beforeDoc: SquidDocument | undefined, afterDoc: SquidDocument | undefined): boolean;
1
+ import { IntegrationId } from './communication.types';
2
+ export type FieldName<T = any> = string & keyof T;
3
+ export type PrimitiveFieldType = string | number | boolean | null | Date;
4
+ export type FieldType = PrimitiveFieldType | Array<FieldType> | {
5
+ [key: string]: FieldType;
6
+ };
7
+ export type DocId = string;
8
+ export type DocIdObj = Record<FieldName, any>;
9
+ export type CollectionName = string;
10
+ export type FullCollectionName = string;
11
+ export type DocTimestamp = number;
12
+ export declare const SquidPlaceholderId = "__squidId";
13
+ export interface SquidDocIdObj {
14
+ collectionName: CollectionName;
15
+ docId: DocId;
16
+ integrationId: IntegrationId;
17
+ }
18
+ export interface BeforeAndAfterDocs<T = SquidDocument> {
19
+ before: T | undefined;
20
+ after: T | undefined;
21
+ }
22
+ export type SquidDocId = string;
23
+ export interface SquidDocument {
24
+ __docId__: DocId;
25
+ __ts__: DocTimestamp;
26
+ [fieldName: string]: FieldType | undefined;
27
+ }
28
+ export type DocumentData = Record<FieldName, any | undefined>;
29
+ export declare function parseSquidDocId(squidDocId: SquidDocId): SquidDocIdObj;
30
+ export declare function getSquidDocId(squidDocIdObj: SquidDocIdObj): SquidDocId;
31
+ export declare function getSquidDocId(docId: DocId, collectionName: CollectionName, integrationId: IntegrationId): SquidDocId;
32
+ export declare function hasDocumentDiff(beforeDoc: SquidDocument | undefined, afterDoc: SquidDocument | undefined): boolean;