@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.
- package/dist/common/src/ai-assistant.context.d.ts +13 -13
- package/dist/common/src/ai-assistant.context.js +19 -19
- package/dist/common/src/ai-assistant.schemas.d.ts +243 -243
- package/dist/common/src/ai-assistant.schemas.js +210 -210
- package/dist/common/src/ai-assistant.types.d.ts +90 -90
- package/dist/common/src/ai-assistant.types.js +11 -11
- package/dist/common/src/api-call.context.d.ts +13 -13
- package/dist/common/src/api-call.context.js +16 -16
- package/dist/common/src/api.types.d.ts +23 -23
- package/dist/common/src/api.types.js +2 -2
- package/dist/common/src/application.schemas.d.ts +1168 -1168
- package/dist/common/src/application.schemas.js +741 -741
- package/dist/common/src/application.types.d.ts +228 -228
- package/dist/common/src/application.types.js +89 -89
- package/dist/common/src/backend-function.schemas.d.ts +3 -3
- package/dist/common/src/backend-function.schemas.js +12 -12
- package/dist/common/src/backend-function.types.d.ts +6 -6
- package/dist/common/src/backend-function.types.js +2 -2
- package/dist/common/src/backend-run.types.d.ts +54 -54
- package/dist/common/src/backend-run.types.js +96 -73
- package/dist/common/src/backend-run.types.js.map +1 -1
- package/dist/common/src/bundle-api.types.d.ts +63 -62
- package/dist/common/src/bundle-api.types.js +2 -2
- package/dist/common/src/bundle-data.types.d.ts +59 -59
- package/dist/common/src/bundle-data.types.js +2 -2
- package/dist/common/src/communication.types.d.ts +18 -18
- package/dist/common/src/communication.types.js +40 -40
- package/dist/common/src/context.types.d.ts +24 -24
- package/dist/common/src/context.types.js +2 -2
- package/dist/common/src/distributed-lock.context.d.ts +5 -5
- package/dist/common/src/distributed-lock.context.js +10 -10
- package/dist/common/src/document.types.d.ts +32 -32
- package/dist/common/src/document.types.js +50 -50
- package/dist/common/src/graphql.context.d.ts +14 -14
- package/dist/common/src/graphql.context.js +12 -12
- package/dist/common/src/graphql.types.d.ts +11 -11
- package/dist/common/src/graphql.types.js +34 -34
- package/dist/common/src/heartbeat.types.d.ts +4 -4
- package/dist/common/src/heartbeat.types.js +16 -16
- package/dist/common/src/http-status.enum.d.ts +50 -50
- package/dist/common/src/http-status.enum.js +54 -54
- package/dist/common/src/index.d.ts +53 -53
- package/dist/common/src/index.js +69 -69
- package/dist/common/src/integrations/ai_assistant.types.d.ts +30 -30
- package/dist/common/src/integrations/ai_assistant.types.js +2 -2
- package/dist/common/src/integrations/api.types.d.ts +80 -80
- package/dist/common/src/integrations/api.types.js +2 -2
- package/dist/common/src/integrations/auth.types.d.ts +39 -39
- package/dist/common/src/integrations/auth.types.js +2 -2
- package/dist/common/src/integrations/database.types.d.ts +236 -236
- package/dist/common/src/integrations/database.types.js +2 -2
- package/dist/common/src/integrations/index.d.ts +101 -101
- package/dist/common/src/integrations/index.js +105 -105
- package/dist/common/src/integrations/observability.types.d.ts +23 -23
- package/dist/common/src/integrations/observability.types.js +23 -23
- package/dist/common/src/integrations/observability.types.js.map +1 -1
- package/dist/common/src/logger.types.d.ts +21 -21
- package/dist/common/src/logger.types.js +11 -11
- package/dist/common/src/metrics.types.d.ts +73 -73
- package/dist/common/src/metrics.types.js +11 -11
- package/dist/common/src/mutation.context.d.ts +13 -13
- package/dist/common/src/mutation.context.js +26 -26
- package/dist/common/src/mutation.schemas.d.ts +5 -5
- package/dist/common/src/mutation.schemas.js +114 -114
- package/dist/common/src/mutation.types.d.ts +63 -63
- package/dist/common/src/mutation.types.js +142 -142
- package/dist/common/src/named-query.context.d.ts +4 -4
- package/dist/common/src/named-query.context.js +9 -9
- package/dist/common/src/named-query.schemas.d.ts +3 -3
- package/dist/common/src/named-query.schemas.js +13 -13
- package/dist/common/src/named-query.types.d.ts +8 -8
- package/dist/common/src/named-query.types.js +2 -2
- package/dist/common/src/query/base-query-builder.d.ts +65 -65
- package/dist/common/src/query/base-query-builder.js +294 -294
- package/dist/common/src/query/index.d.ts +3 -3
- package/dist/common/src/query/index.js +19 -19
- package/dist/common/src/query/query-context.d.ts +47 -47
- package/dist/common/src/query/query-context.js +159 -159
- package/dist/common/src/query/serialized-query.types.d.ts +24 -24
- package/dist/common/src/query/serialized-query.types.js +2 -2
- package/dist/common/src/query.types.d.ts +81 -81
- package/dist/common/src/query.types.js +153 -153
- package/dist/common/src/regions.d.ts +21 -21
- package/dist/common/src/regions.js +46 -46
- package/dist/common/src/schema/schema.types.d.ts +30 -30
- package/dist/common/src/schema/schema.types.js +172 -172
- package/dist/common/src/secret.schemas.d.ts +6 -6
- package/dist/common/src/secret.schemas.js +32 -32
- package/dist/common/src/secret.types.d.ts +49 -49
- package/dist/common/src/secret.types.js +5 -5
- package/dist/common/src/security.types.d.ts +3 -3
- package/dist/common/src/security.types.js +2 -2
- package/dist/common/src/socket.schemas.d.ts +3 -3
- package/dist/common/src/socket.schemas.js +58 -58
- package/dist/common/src/socket.types.d.ts +108 -108
- package/dist/common/src/socket.types.js +2 -2
- package/dist/common/src/time-units.d.ts +5 -5
- package/dist/common/src/time-units.js +8 -8
- package/dist/common/src/trigger.types.d.ts +15 -15
- package/dist/common/src/trigger.types.js +2 -2
- package/dist/common/src/types.d.ts +21 -21
- package/dist/common/src/types.js +2 -2
- package/dist/common/src/utils/array.d.ts +8 -8
- package/dist/common/src/utils/array.js +51 -51
- package/dist/common/src/utils/assert.d.ts +8 -8
- package/dist/common/src/utils/assert.js +49 -49
- package/dist/common/src/utils/error.d.ts +4 -4
- package/dist/common/src/utils/error.js +10 -10
- package/dist/common/src/utils/http.d.ts +2 -2
- package/dist/common/src/utils/http.js +40 -38
- package/dist/common/src/utils/http.js.map +1 -1
- package/dist/common/src/utils/id.d.ts +2 -2
- package/dist/common/src/utils/id.js +21 -21
- package/dist/common/src/utils/lock.manager.d.ts +9 -9
- package/dist/common/src/utils/lock.manager.js +39 -39
- package/dist/common/src/utils/nullish.d.ts +2 -2
- package/dist/common/src/utils/nullish.js +11 -11
- package/dist/common/src/utils/object.d.ts +5 -6
- package/dist/common/src/utils/object.js +75 -89
- package/dist/common/src/utils/object.js.map +1 -1
- package/dist/common/src/utils/serialization.d.ts +6 -6
- package/dist/common/src/utils/serialization.js +77 -77
- package/dist/common/src/utils/transforms.d.ts +18 -18
- package/dist/common/src/utils/transforms.js +92 -92
- package/dist/common/src/utils/url.d.ts +1 -1
- package/dist/common/src/utils/url.js +15 -15
- package/dist/common/src/utils/validation.d.ts +17 -17
- package/dist/common/src/utils/validation.js +209 -209
- package/dist/common/src/utils/validation.js.map +1 -1
- package/dist/common/src/webhook-response.d.ts +6 -7
- package/dist/common/src/webhook-response.js +2 -7
- package/dist/common/src/webhook-response.js.map +1 -1
- package/dist/internal-common/src/async-queue.d.ts +4 -4
- package/dist/internal-common/src/async-queue.js +17 -17
- package/dist/internal-common/src/code-executor.types.d.ts +13 -13
- package/dist/internal-common/src/code-executor.types.js +2 -2
- package/dist/internal-common/src/environment/environment.types.d.ts +74 -74
- package/dist/internal-common/src/environment/environment.types.js +2 -2
- package/dist/internal-common/src/environment/index.d.ts +6 -6
- package/dist/internal-common/src/environment/index.js +27 -27
- package/dist/internal-common/src/environment/local.environment.d.ts +2 -2
- package/dist/internal-common/src/environment/local.environment.js +62 -62
- package/dist/internal-common/src/filters/custom-exception.filter.d.ts +6 -6
- package/dist/internal-common/src/filters/custom-exception.filter.js +44 -44
- package/dist/internal-common/src/index.d.ts +14 -14
- package/dist/internal-common/src/index.js +32 -32
- package/dist/internal-common/src/interceptors/body.interceptor.d.ts +5 -5
- package/dist/internal-common/src/interceptors/body.interceptor.js +24 -24
- package/dist/internal-common/src/kafka/kafka.manager.d.ts +22 -22
- package/dist/internal-common/src/kafka/kafka.manager.js +129 -129
- package/dist/internal-common/src/kafka/kafka.types.d.ts +17 -17
- package/dist/internal-common/src/kafka/kafka.types.js +2 -2
- package/dist/internal-common/src/kafka-observability-publisher.d.ts +11 -11
- package/dist/internal-common/src/kafka-observability-publisher.js +20 -20
- package/dist/internal-common/src/local-dev.types.d.ts +31 -31
- package/dist/internal-common/src/local-dev.types.js +2 -2
- package/dist/internal-common/src/observability-publisher.d.ts +9 -9
- package/dist/internal-common/src/observability-publisher.js +58 -58
- package/dist/internal-common/src/observability.types.d.ts +17 -17
- package/dist/internal-common/src/observability.types.js +2 -2
- package/dist/internal-common/src/shutdown.manager.d.ts +20 -20
- package/dist/internal-common/src/shutdown.manager.js +75 -75
- package/dist/internal-common/src/utils.d.ts +5 -5
- package/dist/internal-common/src/utils.js +29 -29
- package/dist/local-backend/src/index.d.ts +4 -4
- package/dist/local-backend/src/index.js +20 -20
- package/dist/local-backend/src/local-backend-socket.service.d.ts +18 -18
- package/dist/local-backend/src/local-backend-socket.service.js +107 -108
- package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
- package/dist/local-backend/src/local-backend.app.d.ts +2 -2
- package/dist/local-backend/src/local-backend.app.js +19 -19
- package/dist/local-backend/src/local-backend.controller.d.ts +8 -8
- package/dist/local-backend/src/local-backend.controller.js +49 -49
- package/dist/local-backend/src/local-backend.module.d.ts +8 -8
- package/dist/local-backend/src/local-backend.module.js +53 -53
- package/dist/local-backend/src/local-backend.service.d.ts +15 -15
- package/dist/local-backend/src/local-backend.service.js +165 -165
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { MetricType } from '@squidcloud/common';
|
|
2
|
-
export type MetricName = 'queryCount';
|
|
3
|
-
export interface MetricEvent {
|
|
4
|
-
name: string | MetricName;
|
|
5
|
-
type: MetricType;
|
|
6
|
-
tags: Record<string, string>;
|
|
7
|
-
timestamp: Date;
|
|
8
|
-
value: number;
|
|
9
|
-
isExposedToUser: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface LogEvent {
|
|
12
|
-
message: string;
|
|
13
|
-
level: string;
|
|
14
|
-
tags: Record<string, string>;
|
|
15
|
-
timestamp: Date;
|
|
16
|
-
isExposedToUser: boolean;
|
|
17
|
-
}
|
|
1
|
+
import { MetricType } from '@squidcloud/common';
|
|
2
|
+
export type MetricName = 'queryCount';
|
|
3
|
+
export interface MetricEvent {
|
|
4
|
+
name: string | MetricName;
|
|
5
|
+
type: MetricType;
|
|
6
|
+
tags: Record<string, string>;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
value: number;
|
|
9
|
+
isExposedToUser: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface LogEvent {
|
|
12
|
+
message: string;
|
|
13
|
+
level: string;
|
|
14
|
+
tags: Record<string, string>;
|
|
15
|
+
timestamp: Date;
|
|
16
|
+
isExposedToUser: boolean;
|
|
17
|
+
}
|
|
@@ -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=observability.types.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { Logger } from '@squidcloud/common';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
export type ShutdownHook = () => Promise<void>;
|
|
4
|
-
export declare class ShutdownManager {
|
|
5
|
-
private static readonly instance;
|
|
6
|
-
private logger?;
|
|
7
|
-
private hooks;
|
|
8
|
-
private shutdownOnError;
|
|
9
|
-
private readonly errorSubject;
|
|
10
|
-
private readonly sigTermSubject;
|
|
11
|
-
private constructor();
|
|
12
|
-
setShutdownOnError(enable?: boolean): void;
|
|
13
|
-
static getInstance(): ShutdownManager;
|
|
14
|
-
register(hook: ShutdownHook): void;
|
|
15
|
-
observeErrorCount(): Observable<number>;
|
|
16
|
-
observeSigTerm(): Observable<void>;
|
|
17
|
-
private handleError;
|
|
18
|
-
setLogger(logger: Logger): void;
|
|
19
|
-
forceShutdown(): Promise<never>;
|
|
20
|
-
}
|
|
1
|
+
import { Logger } from '@squidcloud/common';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export type ShutdownHook = () => Promise<void>;
|
|
4
|
+
export declare class ShutdownManager {
|
|
5
|
+
private static readonly instance;
|
|
6
|
+
private logger?;
|
|
7
|
+
private hooks;
|
|
8
|
+
private shutdownOnError;
|
|
9
|
+
private readonly errorSubject;
|
|
10
|
+
private readonly sigTermSubject;
|
|
11
|
+
private constructor();
|
|
12
|
+
setShutdownOnError(enable?: boolean): void;
|
|
13
|
+
static getInstance(): ShutdownManager;
|
|
14
|
+
register(hook: ShutdownHook): void;
|
|
15
|
+
observeErrorCount(): Observable<number>;
|
|
16
|
+
observeSigTerm(): Observable<void>;
|
|
17
|
+
private handleError;
|
|
18
|
+
setLogger(logger: Logger): void;
|
|
19
|
+
forceShutdown(): Promise<never>;
|
|
20
|
+
}
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ShutdownManager = void 0;
|
|
4
|
-
const node_process_1 = require("node:process");
|
|
5
|
-
const rxjs_1 = require("rxjs");
|
|
6
|
-
class ShutdownManager {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.hooks = [];
|
|
9
|
-
this.shutdownOnError = false;
|
|
10
|
-
this.errorSubject = new rxjs_1.Subject();
|
|
11
|
-
this.sigTermSubject = new rxjs_1.Subject();
|
|
12
|
-
if (node_process_1.default.platform !== 'win32') {
|
|
13
|
-
node_process_1.default.prependOnceListener('SIGTERM', async () => {
|
|
14
|
-
this.sigTermSubject.next();
|
|
15
|
-
await this.handleError('SIGTERM');
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
node_process_1.default.prependOnceListener('uncaughtException', (err) => this.handleError('ShutdownManager: Uncaught error', err));
|
|
19
|
-
node_process_1.default.prependOnceListener('unhandledRejection', (err) => this.handleError('ShutdownManager: Unhandled rejection', err));
|
|
20
|
-
protectProcessFromThirdPartyListeners();
|
|
21
|
-
}
|
|
22
|
-
setShutdownOnError(enable = true) {
|
|
23
|
-
}
|
|
24
|
-
static getInstance() {
|
|
25
|
-
return ShutdownManager.instance;
|
|
26
|
-
}
|
|
27
|
-
register(hook) {
|
|
28
|
-
this.hooks.push(hook);
|
|
29
|
-
}
|
|
30
|
-
observeErrorCount() {
|
|
31
|
-
return this.errorSubject.pipe((0, rxjs_1.bufferTime)(10000), (0, rxjs_1.map)((errors) => errors.length));
|
|
32
|
-
}
|
|
33
|
-
observeSigTerm() {
|
|
34
|
-
return this.sigTermSubject.pipe((0, rxjs_1.delay)(15000));
|
|
35
|
-
}
|
|
36
|
-
async handleError(reason, err) {
|
|
37
|
-
var _a, _b;
|
|
38
|
-
console.log({ reason, err });
|
|
39
|
-
this.errorSubject.next({ reason, err });
|
|
40
|
-
if (err) {
|
|
41
|
-
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(reason, { err });
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.info(reason);
|
|
45
|
-
}
|
|
46
|
-
if (this.shutdownOnError) {
|
|
47
|
-
await this.forceShutdown();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
setLogger(logger) {
|
|
51
|
-
this.logger = logger;
|
|
52
|
-
}
|
|
53
|
-
async forceShutdown() {
|
|
54
|
-
try {
|
|
55
|
-
await Promise.all(this.hooks.map((hook) => hook()));
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
console.error(err);
|
|
59
|
-
}
|
|
60
|
-
finally {
|
|
61
|
-
node_process_1.default.exit();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
exports.ShutdownManager = ShutdownManager;
|
|
66
|
-
ShutdownManager.instance = new ShutdownManager();
|
|
67
|
-
function protectProcessFromThirdPartyListeners() {
|
|
68
|
-
const processOn = node_process_1.default.on.bind(node_process_1.default);
|
|
69
|
-
node_process_1.default.on = (event, listener) => {
|
|
70
|
-
if (event !== 'SIGTERM' && event !== 'uncaughtException' && event !== 'unhandledRejection') {
|
|
71
|
-
processOn(event, listener);
|
|
72
|
-
}
|
|
73
|
-
return node_process_1.default;
|
|
74
|
-
};
|
|
75
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShutdownManager = void 0;
|
|
4
|
+
const node_process_1 = require("node:process");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
class ShutdownManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.hooks = [];
|
|
9
|
+
this.shutdownOnError = false;
|
|
10
|
+
this.errorSubject = new rxjs_1.Subject();
|
|
11
|
+
this.sigTermSubject = new rxjs_1.Subject();
|
|
12
|
+
if (node_process_1.default.platform !== 'win32') {
|
|
13
|
+
node_process_1.default.prependOnceListener('SIGTERM', async () => {
|
|
14
|
+
this.sigTermSubject.next();
|
|
15
|
+
await this.handleError('SIGTERM');
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
node_process_1.default.prependOnceListener('uncaughtException', (err) => this.handleError('ShutdownManager: Uncaught error', err));
|
|
19
|
+
node_process_1.default.prependOnceListener('unhandledRejection', (err) => this.handleError('ShutdownManager: Unhandled rejection', err));
|
|
20
|
+
protectProcessFromThirdPartyListeners();
|
|
21
|
+
}
|
|
22
|
+
setShutdownOnError(enable = true) {
|
|
23
|
+
}
|
|
24
|
+
static getInstance() {
|
|
25
|
+
return ShutdownManager.instance;
|
|
26
|
+
}
|
|
27
|
+
register(hook) {
|
|
28
|
+
this.hooks.push(hook);
|
|
29
|
+
}
|
|
30
|
+
observeErrorCount() {
|
|
31
|
+
return this.errorSubject.pipe((0, rxjs_1.bufferTime)(10000), (0, rxjs_1.map)((errors) => errors.length));
|
|
32
|
+
}
|
|
33
|
+
observeSigTerm() {
|
|
34
|
+
return this.sigTermSubject.pipe((0, rxjs_1.delay)(15000));
|
|
35
|
+
}
|
|
36
|
+
async handleError(reason, err) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
console.log({ reason, err });
|
|
39
|
+
this.errorSubject.next({ reason, err });
|
|
40
|
+
if (err) {
|
|
41
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(reason, { err });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.info(reason);
|
|
45
|
+
}
|
|
46
|
+
if (this.shutdownOnError) {
|
|
47
|
+
await this.forceShutdown();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
setLogger(logger) {
|
|
51
|
+
this.logger = logger;
|
|
52
|
+
}
|
|
53
|
+
async forceShutdown() {
|
|
54
|
+
try {
|
|
55
|
+
await Promise.all(this.hooks.map((hook) => hook()));
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
console.error(err);
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
node_process_1.default.exit();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.ShutdownManager = ShutdownManager;
|
|
66
|
+
ShutdownManager.instance = new ShutdownManager();
|
|
67
|
+
function protectProcessFromThirdPartyListeners() {
|
|
68
|
+
const processOn = node_process_1.default.on.bind(node_process_1.default);
|
|
69
|
+
node_process_1.default.on = (event, listener) => {
|
|
70
|
+
if (event !== 'SIGTERM' && event !== 'uncaughtException' && event !== 'unhandledRejection') {
|
|
71
|
+
processOn(event, listener);
|
|
72
|
+
}
|
|
73
|
+
return node_process_1.default;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
76
|
//# sourceMappingURL=shutdown.manager.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { EnvironmentVars } from './environment';
|
|
3
|
-
import NodeVault from 'node-vault';
|
|
4
|
-
export declare function extractFromBuffer(buffer: Buffer, path: string): Promise<void>;
|
|
5
|
-
export declare function getVaultClient(vaultConfig: EnvironmentVars['vault']): Promise<NodeVault.client>;
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EnvironmentVars } from './environment';
|
|
3
|
+
import NodeVault from 'node-vault';
|
|
4
|
+
export declare function extractFromBuffer(buffer: Buffer, path: string): Promise<void>;
|
|
5
|
+
export declare function getVaultClient(vaultConfig: EnvironmentVars['vault']): Promise<NodeVault.client>;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getVaultClient = exports.extractFromBuffer = void 0;
|
|
4
|
-
const decompress_1 = require("decompress");
|
|
5
|
-
const promises_1 = require("fs/promises");
|
|
6
|
-
const node_vault_1 = require("node-vault");
|
|
7
|
-
const lodash_1 = require("lodash");
|
|
8
|
-
async function extractFromBuffer(buffer, path) {
|
|
9
|
-
await (0, promises_1.mkdir)(path, { recursive: true });
|
|
10
|
-
await (0, decompress_1.default)(buffer, path);
|
|
11
|
-
}
|
|
12
|
-
exports.extractFromBuffer = extractFromBuffer;
|
|
13
|
-
async function getVaultClient(vaultConfig) {
|
|
14
|
-
if ('token' in vaultConfig) {
|
|
15
|
-
const vaultClient = (0, node_vault_1.default)(vaultConfig);
|
|
16
|
-
await vaultClient.health();
|
|
17
|
-
return vaultClient;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
const vaultClient = (0, node_vault_1.default)({ endpoint: vaultConfig.endpoint, namespace: 'admin' });
|
|
21
|
-
await vaultClient.health();
|
|
22
|
-
await vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
23
|
-
setInterval(() => {
|
|
24
|
-
vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
25
|
-
}, 3000000);
|
|
26
|
-
return vaultClient;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.getVaultClient = getVaultClient;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVaultClient = exports.extractFromBuffer = void 0;
|
|
4
|
+
const decompress_1 = require("decompress");
|
|
5
|
+
const promises_1 = require("fs/promises");
|
|
6
|
+
const node_vault_1 = require("node-vault");
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
async function extractFromBuffer(buffer, path) {
|
|
9
|
+
await (0, promises_1.mkdir)(path, { recursive: true });
|
|
10
|
+
await (0, decompress_1.default)(buffer, path);
|
|
11
|
+
}
|
|
12
|
+
exports.extractFromBuffer = extractFromBuffer;
|
|
13
|
+
async function getVaultClient(vaultConfig) {
|
|
14
|
+
if ('token' in vaultConfig) {
|
|
15
|
+
const vaultClient = (0, node_vault_1.default)(vaultConfig);
|
|
16
|
+
await vaultClient.health();
|
|
17
|
+
return vaultClient;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const vaultClient = (0, node_vault_1.default)({ endpoint: vaultConfig.endpoint, namespace: 'admin' });
|
|
21
|
+
await vaultClient.health();
|
|
22
|
+
await vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
23
|
+
setInterval(() => {
|
|
24
|
+
vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
25
|
+
}, 3000000);
|
|
26
|
+
return vaultClient;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.getVaultClient = getVaultClient;
|
|
30
30
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './local-backend.module';
|
|
2
|
-
export * from './local-backend.app';
|
|
3
|
-
export * from './local-backend.controller';
|
|
4
|
-
export * from './local-backend.service';
|
|
1
|
+
export * from './local-backend.module';
|
|
2
|
+
export * from './local-backend.app';
|
|
3
|
+
export * from './local-backend.controller';
|
|
4
|
+
export * from './local-backend.service';
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./local-backend.module"), exports);
|
|
18
|
-
__exportStar(require("./local-backend.app"), exports);
|
|
19
|
-
__exportStar(require("./local-backend.controller"), exports);
|
|
20
|
-
__exportStar(require("./local-backend.service"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./local-backend.module"), exports);
|
|
18
|
+
__exportStar(require("./local-backend.app"), exports);
|
|
19
|
+
__exportStar(require("./local-backend.controller"), exports);
|
|
20
|
+
__exportStar(require("./local-backend.service"), exports);
|
|
21
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { LocalBackendService } from './local-backend.service';
|
|
2
|
-
export declare class LocalBackendSocketService {
|
|
3
|
-
private readonly localBackendService;
|
|
4
|
-
private readonly socketIoEndpoint;
|
|
5
|
-
private socket;
|
|
6
|
-
private readonly appId;
|
|
7
|
-
private readonly region;
|
|
8
|
-
private readonly apiKey;
|
|
9
|
-
private readonly environmentId;
|
|
10
|
-
private readonly squidDeveloperId;
|
|
11
|
-
private readonly connectionReady;
|
|
12
|
-
private readonly fullAppId;
|
|
13
|
-
constructor(localBackendService: LocalBackendService);
|
|
14
|
-
private connectToSocket;
|
|
15
|
-
private handleExecuteFunctionMessage;
|
|
16
|
-
private sendMessageThroughSocket;
|
|
17
|
-
private printInfoAboutBundleData;
|
|
18
|
-
}
|
|
1
|
+
import { LocalBackendService } from './local-backend.service';
|
|
2
|
+
export declare class LocalBackendSocketService {
|
|
3
|
+
private readonly localBackendService;
|
|
4
|
+
private readonly socketIoEndpoint;
|
|
5
|
+
private socket;
|
|
6
|
+
private readonly appId;
|
|
7
|
+
private readonly region;
|
|
8
|
+
private readonly apiKey;
|
|
9
|
+
private readonly environmentId;
|
|
10
|
+
private readonly squidDeveloperId;
|
|
11
|
+
private readonly connectionReady;
|
|
12
|
+
private readonly fullAppId;
|
|
13
|
+
constructor(localBackendService: LocalBackendService);
|
|
14
|
+
private connectToSocket;
|
|
15
|
+
private handleExecuteFunctionMessage;
|
|
16
|
+
private sendMessageThroughSocket;
|
|
17
|
+
private printInfoAboutBundleData;
|
|
18
|
+
}
|
|
@@ -1,109 +1,108 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LocalBackendSocketService = void 0;
|
|
13
|
-
const socket_io_client_1 = require("socket.io-client");
|
|
14
|
-
const common_1 = require("@squidcloud/common");
|
|
15
|
-
const common_2 = require("@nestjs/common");
|
|
16
|
-
const local_backend_service_1 = require("./local-backend.service");
|
|
17
|
-
const rxjs_1 = require("rxjs");
|
|
18
|
-
const
|
|
19
|
-
let LocalBackendSocketService = class LocalBackendSocketService {
|
|
20
|
-
constructor(localBackendService) {
|
|
21
|
-
this.localBackendService = localBackendService;
|
|
22
|
-
this.appId = (0, common_1.truthy)(process.env
|
|
23
|
-
this.region = (0, common_1.truthy)(process.env
|
|
24
|
-
this.apiKey = (0, common_1.truthy)(process.env
|
|
25
|
-
this.environmentId = (0, common_1.truthy)(process.env
|
|
26
|
-
this.squidDeveloperId = (0, common_1.truthy)(process.env
|
|
27
|
-
this.connectionReady = new rxjs_1.BehaviorSubject(false);
|
|
28
|
-
this.fullAppId = (0, common_1.appIdWithEnvironmentIdAndDevId)(this.appId, this.environmentId, this.squidDeveloperId);
|
|
29
|
-
if (this.squidDeveloperId === 'prod') {
|
|
30
|
-
console.error('The local backend can only be
|
|
31
|
-
process.exit(1);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
this.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this.
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
exports.LocalBackendSocketService = LocalBackendSocketService;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LocalBackendSocketService = void 0;
|
|
13
|
+
const socket_io_client_1 = require("socket.io-client");
|
|
14
|
+
const common_1 = require("@squidcloud/common");
|
|
15
|
+
const common_2 = require("@nestjs/common");
|
|
16
|
+
const local_backend_service_1 = require("./local-backend.service");
|
|
17
|
+
const rxjs_1 = require("rxjs");
|
|
18
|
+
const cliBox = require('cli-box');
|
|
19
|
+
let LocalBackendSocketService = class LocalBackendSocketService {
|
|
20
|
+
constructor(localBackendService) {
|
|
21
|
+
this.localBackendService = localBackendService;
|
|
22
|
+
this.appId = (0, common_1.truthy)(process.env['SQUID_APP_ID'], 'SQUID_APP_ID_MUST_BE_PROVIDED');
|
|
23
|
+
this.region = (0, common_1.truthy)(process.env['SQUID_REGION'], 'SQUID_REGION_MUST_BE_PROVIDED');
|
|
24
|
+
this.apiKey = (0, common_1.truthy)(process.env['SQUID_API_KEY'], 'SQUID_API_KEY_MUST_BE_PROVIDED');
|
|
25
|
+
this.environmentId = (0, common_1.truthy)(process.env['SQUID_ENVIRONMENT_ID'], 'SQUID_ENVIRONMENT_ID_MUST_BE_PROVIDED');
|
|
26
|
+
this.squidDeveloperId = (0, common_1.truthy)(process.env['SQUID_DEVELOPER_ID'], 'SQUID_DEVELOPER_ID_MUST_BE_PROVIDED');
|
|
27
|
+
this.connectionReady = new rxjs_1.BehaviorSubject(false);
|
|
28
|
+
this.fullAppId = (0, common_1.appIdWithEnvironmentIdAndDevId)(this.appId, this.environmentId, this.squidDeveloperId);
|
|
29
|
+
if (this.squidDeveloperId === 'prod') {
|
|
30
|
+
console.error('The local backend can only be run using the "dev" environment. Please follow the instructions in: https://docs.squid.cloud/docs/local-dev');
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
this.socketIoEndpoint = (0, common_1.getApplicationUrl)(this.region, this.fullAppId, '');
|
|
34
|
+
this.connectToSocket();
|
|
35
|
+
}
|
|
36
|
+
connectToSocket() {
|
|
37
|
+
const socketUri = `${this.socketIoEndpoint}`;
|
|
38
|
+
const query = { apiKey: this.apiKey };
|
|
39
|
+
console.log('Connecting to local dev socket: ', socketUri, query);
|
|
40
|
+
this.socket = (0, socket_io_client_1.io)(socketUri, {
|
|
41
|
+
query,
|
|
42
|
+
reconnectionDelay: 5000,
|
|
43
|
+
transports: ['websocket'],
|
|
44
|
+
path: '/localdev',
|
|
45
|
+
});
|
|
46
|
+
this.socket.on('connect', () => {
|
|
47
|
+
console.log('Connected to local dev socket');
|
|
48
|
+
});
|
|
49
|
+
this.socket.on('disconnect', (_reason, _description) => {
|
|
50
|
+
console.log(`Disconnected from socket, reason: "${_reason}":`, _description);
|
|
51
|
+
this.connectionReady.next(false);
|
|
52
|
+
});
|
|
53
|
+
this.socket.on('connect_error', (error) => {
|
|
54
|
+
console.log(`An error occurred while connecting to the local dev socket with url: `, this.socketIoEndpoint, error);
|
|
55
|
+
});
|
|
56
|
+
this.socket.on('message', async (messageStr) => {
|
|
57
|
+
const message = (0, common_1.deserializeObj)(messageStr);
|
|
58
|
+
switch (message.type) {
|
|
59
|
+
case 'localBackendData':
|
|
60
|
+
this.connectionReady.next(true);
|
|
61
|
+
const bundleData = await this.localBackendService.initializeAndGetBackendData(message.payload.secrets, this.appId);
|
|
62
|
+
const bundleDataMessage = {
|
|
63
|
+
type: 'response',
|
|
64
|
+
requestId: message.requestId,
|
|
65
|
+
payload: bundleData,
|
|
66
|
+
};
|
|
67
|
+
await this.sendMessageThroughSocket(bundleDataMessage);
|
|
68
|
+
this.printInfoAboutBundleData(bundleData);
|
|
69
|
+
break;
|
|
70
|
+
case 'executeFunction':
|
|
71
|
+
await this.handleExecuteFunctionMessage(message);
|
|
72
|
+
break;
|
|
73
|
+
default:
|
|
74
|
+
console.error('Unsupported message type: ', message.type);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
async handleExecuteFunctionMessage(message) {
|
|
80
|
+
const { responses } = await this.localBackendService.processRunCode(message.payload);
|
|
81
|
+
const response = {
|
|
82
|
+
type: 'response',
|
|
83
|
+
requestId: message.requestId,
|
|
84
|
+
payload: responses,
|
|
85
|
+
};
|
|
86
|
+
await this.sendMessageThroughSocket(response);
|
|
87
|
+
}
|
|
88
|
+
async sendMessageThroughSocket(message) {
|
|
89
|
+
await (0, rxjs_1.firstValueFrom)(this.connectionReady.pipe((0, rxjs_1.filter)(Boolean)));
|
|
90
|
+
this.socket.emit('message', (0, common_1.serializeObj)(message));
|
|
91
|
+
}
|
|
92
|
+
printInfoAboutBundleData(bundleData) {
|
|
93
|
+
const webhooks = Object.entries(bundleData.webhooks || {});
|
|
94
|
+
if (webhooks.length) {
|
|
95
|
+
let message = 'Available webhooks:';
|
|
96
|
+
for (const [id] of webhooks) {
|
|
97
|
+
message += `\nWebhook URL for ${id}: ${(0, common_1.getApplicationUrl)(this.region, this.fullAppId, `webhooks/${id}`)}`;
|
|
98
|
+
}
|
|
99
|
+
console.log(cliBox({ w: 200, h: webhooks.length + 3, marks: { w: '| ', ne: '─┐', se: '─┘' } }, { text: message, autoEOL: true, vAlign: 'center', hAlign: 'left', stretch: false }));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
LocalBackendSocketService = __decorate([
|
|
104
|
+
(0, common_2.Injectable)(),
|
|
105
|
+
__metadata("design:paramtypes", [local_backend_service_1.LocalBackendService])
|
|
106
|
+
], LocalBackendSocketService);
|
|
107
|
+
exports.LocalBackendSocketService = LocalBackendSocketService;
|
|
109
108
|
//# sourceMappingURL=local-backend-socket.service.js.map
|