@squidcloud/local-backend 1.0.450 → 1.0.451
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/backend/src/actions.js +264 -0
- package/dist/backend/src/actions.js.map +1 -0
- package/dist/backend/src/index.js +24 -0
- package/dist/backend/src/index.js.map +1 -0
- package/dist/backend/src/llm-service.js +8 -0
- package/dist/backend/src/llm-service.js.map +1 -0
- package/dist/backend/src/metadata.js +336 -0
- package/dist/backend/src/metadata.js.map +1 -0
- package/dist/backend/src/project.js +31 -0
- package/dist/backend/src/project.js.map +1 -0
- package/dist/backend/src/public-types.js +32 -0
- package/dist/backend/src/public-types.js.map +1 -0
- package/dist/backend/src/squid.service.js +194 -0
- package/dist/backend/src/squid.service.js.map +1 -0
- package/dist/backend/src/utils.js +13 -0
- package/dist/backend/src/utils.js.map +1 -0
- package/dist/internal-common/src/ai/ai-model.registry.js +564 -0
- package/dist/internal-common/src/ai/ai-model.registry.js.map +1 -0
- package/dist/internal-common/src/public-types/ai-common.public-types.js +1 -1
- package/dist/internal-common/src/public-types/ai-common.public-types.js.map +1 -1
- package/dist/internal-common/src/public-types/ai-matchmaking.public-types.js +3 -0
- package/dist/internal-common/src/public-types/ai-matchmaking.public-types.js.map +1 -0
- package/dist/internal-common/src/public-types/external-auth/external-auth.public-types.js +3 -0
- package/dist/internal-common/src/public-types/external-auth/external-auth.public-types.js.map +1 -0
- package/dist/internal-common/src/public-types/http-status.public-types.js +64 -0
- package/dist/internal-common/src/public-types/http-status.public-types.js.map +1 -0
- package/dist/internal-common/src/public-types/regions.public-types.js +5 -0
- package/dist/internal-common/src/public-types/regions.public-types.js.map +1 -0
- package/dist/internal-common/src/public-types/serialized-query.public-types.js +3 -0
- package/dist/internal-common/src/public-types/serialized-query.public-types.js.map +1 -0
- package/dist/internal-common/src/public-types/web.public-types.js +3 -0
- package/dist/internal-common/src/public-types/web.public-types.js.map +1 -0
- package/dist/internal-common/src/public-types-backend/bundle-data.public-types.js +2 -1
- package/dist/internal-common/src/public-types-backend/bundle-data.public-types.js.map +1 -1
- package/dist/internal-common/src/public-types-backend/llm.public-types.js +3 -0
- package/dist/internal-common/src/public-types-backend/llm.public-types.js.map +1 -0
- package/dist/internal-common/src/public-utils/context-utils.js +12 -0
- package/dist/internal-common/src/public-utils/context-utils.js.map +1 -0
- package/dist/internal-common/src/public-utils/id-utils.js +60 -0
- package/dist/internal-common/src/public-utils/id-utils.js.map +1 -0
- package/dist/internal-common/src/types/ai-knowledge-base.types.js +3 -0
- package/dist/internal-common/src/types/ai-knowledge-base.types.js.map +1 -0
- package/dist/internal-common/src/types/ai-matchmaking.types.js +3 -0
- package/dist/internal-common/src/types/ai-matchmaking.types.js.map +1 -0
- package/dist/internal-common/src/types/application.types.js +4 -0
- package/dist/internal-common/src/types/application.types.js.map +1 -1
- package/dist/internal-common/src/types/backend-function.types.js +3 -0
- package/dist/internal-common/src/types/backend-function.types.js.map +1 -0
- package/dist/internal-common/src/types/backend-run.types.js.map +1 -1
- package/dist/internal-common/src/types/bundle-data.types.js.map +1 -1
- package/dist/internal-common/src/types/headers.types.js +13 -0
- package/dist/internal-common/src/types/headers.types.js.map +1 -0
- package/dist/internal-common/src/types/integrration-lifecycle.types.js +3 -0
- package/dist/internal-common/src/types/integrration-lifecycle.types.js.map +1 -0
- package/dist/internal-common/src/types/management-api-key.types.js +5 -0
- package/dist/internal-common/src/types/management-api-key.types.js.map +1 -0
- package/dist/internal-common/src/types/mutation.types.js +187 -0
- package/dist/internal-common/src/types/mutation.types.js.map +1 -0
- package/dist/internal-common/src/types/notification.types.js +3 -0
- package/dist/internal-common/src/types/notification.types.js.map +1 -0
- package/dist/internal-common/src/types/quota.types.js +52 -0
- package/dist/internal-common/src/types/quota.types.js.map +1 -0
- package/dist/internal-common/src/types/socket.types.js +6 -0
- package/dist/internal-common/src/types/socket.types.js.map +1 -0
- package/dist/internal-common/src/types/url-shortener.types.js +3 -0
- package/dist/internal-common/src/types/url-shortener.types.js.map +1 -0
- package/dist/internal-common/src/utils/array.js +75 -0
- package/dist/internal-common/src/utils/array.js.map +1 -0
- package/dist/internal-common/src/utils/backend-transforms.js +11 -4
- package/dist/internal-common/src/utils/backend-transforms.js.map +1 -1
- package/dist/internal-common/src/utils/e2e-test-utils.js +7 -0
- package/dist/internal-common/src/utils/e2e-test-utils.js.map +1 -0
- package/dist/internal-common/src/utils/file-utils.js +18 -0
- package/dist/internal-common/src/utils/file-utils.js.map +1 -0
- package/dist/internal-common/src/utils/http.js +0 -2
- package/dist/internal-common/src/utils/http.js.map +1 -1
- package/dist/internal-common/src/utils/lock.manager.js +40 -0
- package/dist/internal-common/src/utils/lock.manager.js.map +1 -0
- package/dist/internal-common/src/utils/metric-utils.js +105 -0
- package/dist/internal-common/src/utils/metric-utils.js.map +1 -0
- package/dist/internal-common/src/utils/python-ipc.js +218 -0
- package/dist/internal-common/src/utils/python-ipc.js.map +1 -0
- package/dist/internal-common/src/utils/squid-service.utils.js +33 -5
- package/dist/internal-common/src/utils/squid-service.utils.js.map +1 -1
- package/dist/internal-common/src/utils/trace-id-generator.js +8 -0
- package/dist/internal-common/src/utils/trace-id-generator.js.map +1 -0
- package/dist/internal-common/src/utils/tsoa-utils.js +26 -24
- package/dist/internal-common/src/utils/tsoa-utils.js.map +1 -1
- package/dist/internal-common/src/utils/validation.js +46 -0
- package/dist/internal-common/src/utils/validation.js.map +1 -0
- package/dist/internal-common/src/utils.js +7 -0
- package/dist/internal-common/src/utils.js.map +1 -1
- package/dist/local-backend/src/local-backend-socket.service.js +20 -3
- package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
- package/dist/local-backend/src/local-backend.app.js +43 -0
- package/dist/local-backend/src/local-backend.app.js.map +1 -1
- package/dist/local-backend/src/local-backend.module.js +9 -4
- package/dist/local-backend/src/local-backend.module.js.map +1 -1
- package/dist/local-backend/src/local-backend.service.js +73 -10
- package/dist/local-backend/src/local-backend.service.js.map +1 -1
- package/dist/local-backend/src/local-backend.types.js +3 -2
- package/dist/local-backend/src/local-backend.types.js.map +1 -1
- package/dist/local-backend/src/main.js +143 -11
- package/dist/local-backend/src/main.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/typescript-client/src/admin-client.js +23 -0
- package/dist/typescript-client/src/admin-client.js.map +1 -0
- package/dist/typescript-client/src/agent/ai-agent-client-reference.js +389 -0
- package/dist/typescript-client/src/agent/ai-agent-client-reference.js.map +1 -0
- package/dist/typescript-client/src/agent/ai-agent-client.js +60 -0
- package/dist/typescript-client/src/agent/ai-agent-client.js.map +1 -0
- package/dist/typescript-client/src/agent/ai-agent-client.types.js +5 -0
- package/dist/typescript-client/src/agent/ai-agent-client.types.js.map +1 -0
- package/dist/typescript-client/src/ai-audio-client.js +20 -0
- package/dist/typescript-client/src/ai-audio-client.js.map +1 -0
- package/dist/typescript-client/src/ai-client.js +110 -0
- package/dist/typescript-client/src/ai-client.js.map +1 -0
- package/dist/typescript-client/src/ai-files-client.js +27 -0
- package/dist/typescript-client/src/ai-files-client.js.map +1 -0
- package/dist/typescript-client/src/ai-image-client.js +20 -0
- package/dist/typescript-client/src/ai-image-client.js.map +1 -0
- package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client-reference.js +111 -0
- package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client-reference.js.map +1 -0
- package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client.js +24 -0
- package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client.js.map +1 -0
- package/dist/typescript-client/src/ai-matchmaking-client.js +93 -0
- package/dist/typescript-client/src/ai-matchmaking-client.js.map +1 -0
- package/dist/typescript-client/src/api-client.js +55 -0
- package/dist/typescript-client/src/api-client.js.map +1 -0
- package/dist/typescript-client/src/auth.manager.js +36 -0
- package/dist/typescript-client/src/auth.manager.js.map +1 -0
- package/dist/typescript-client/src/backend-function.manager.js +60 -0
- package/dist/typescript-client/src/backend-function.manager.js.map +1 -0
- package/dist/typescript-client/src/client-customization.utils.js +11 -0
- package/dist/typescript-client/src/client-customization.utils.js.map +1 -0
- package/dist/typescript-client/src/client-id.service.js +60 -0
- package/dist/typescript-client/src/client-id.service.js.map +1 -0
- package/dist/typescript-client/src/collection-reference.factory.js +28 -0
- package/dist/typescript-client/src/collection-reference.factory.js.map +1 -0
- package/dist/typescript-client/src/collection-reference.js +181 -0
- package/dist/typescript-client/src/collection-reference.js.map +1 -0
- package/dist/typescript-client/src/connection-details.js +25 -0
- package/dist/typescript-client/src/connection-details.js.map +1 -0
- package/dist/typescript-client/src/console-utils.js +25 -0
- package/dist/typescript-client/src/console-utils.js.map +1 -0
- package/dist/typescript-client/src/data.manager.js +605 -0
- package/dist/typescript-client/src/data.manager.js.map +1 -0
- package/dist/typescript-client/src/destruct.manager.js +46 -0
- package/dist/typescript-client/src/destruct.manager.js.map +1 -0
- package/dist/typescript-client/src/distributed-lock.manager.js +108 -0
- package/dist/typescript-client/src/distributed-lock.manager.js.map +1 -0
- package/dist/typescript-client/src/document-identity.service.js +24 -0
- package/dist/typescript-client/src/document-identity.service.js.map +1 -0
- package/dist/typescript-client/src/document-reference.factory.js +52 -0
- package/dist/typescript-client/src/document-reference.factory.js.map +1 -0
- package/dist/typescript-client/src/document-reference.js +204 -0
- package/dist/typescript-client/src/document-reference.js.map +1 -0
- package/dist/typescript-client/src/document-store.js +158 -0
- package/dist/typescript-client/src/document-store.js.map +1 -0
- package/dist/typescript-client/src/execute-function-options.js +47 -0
- package/dist/typescript-client/src/execute-function-options.js.map +1 -0
- package/dist/typescript-client/src/external-auth-client.js +32 -0
- package/dist/typescript-client/src/external-auth-client.js.map +1 -0
- package/dist/typescript-client/src/extraction-client.js +27 -0
- package/dist/typescript-client/src/extraction-client.js.map +1 -0
- package/dist/typescript-client/src/file-args-transformer.js +44 -0
- package/dist/typescript-client/src/file-args-transformer.js.map +1 -0
- package/dist/typescript-client/src/index.js +80 -0
- package/dist/typescript-client/src/index.js.map +1 -0
- package/dist/typescript-client/src/integration-client.js +62 -0
- package/dist/typescript-client/src/integration-client.js.map +1 -0
- package/dist/typescript-client/src/job-client.js +68 -0
- package/dist/typescript-client/src/job-client.js.map +1 -0
- package/dist/typescript-client/src/management-client.js +66 -0
- package/dist/typescript-client/src/management-client.js.map +1 -0
- package/dist/typescript-client/src/mutation/mutation-sender.js +38 -0
- package/dist/typescript-client/src/mutation/mutation-sender.js.map +1 -0
- package/dist/typescript-client/src/native-query-manager.js +13 -0
- package/dist/typescript-client/src/native-query-manager.js.map +1 -0
- package/dist/typescript-client/src/notification-client.js +32 -0
- package/dist/typescript-client/src/notification-client.js.map +1 -0
- package/dist/typescript-client/src/observability-client.js +56 -0
- package/dist/typescript-client/src/observability-client.js.map +1 -0
- package/dist/typescript-client/src/public-types.js +47 -0
- package/dist/typescript-client/src/public-types.js.map +1 -0
- package/dist/typescript-client/src/public-utils.js +18 -0
- package/dist/typescript-client/src/public-utils.js.map +1 -0
- package/dist/typescript-client/src/query/deserializer.js +78 -0
- package/dist/typescript-client/src/query/deserializer.js.map +1 -0
- package/dist/typescript-client/src/query/join-query-builder.factory.js +335 -0
- package/dist/typescript-client/src/query/join-query-builder.factory.js.map +1 -0
- package/dist/typescript-client/src/query/local-query-manager.js +29 -0
- package/dist/typescript-client/src/query/local-query-manager.js.map +1 -0
- package/dist/typescript-client/src/query/pagination.js +205 -0
- package/dist/typescript-client/src/query/pagination.js.map +1 -0
- package/dist/typescript-client/src/query/query-builder.factory.js +423 -0
- package/dist/typescript-client/src/query/query-builder.factory.js.map +1 -0
- package/dist/typescript-client/src/query/query-sender.js +81 -0
- package/dist/typescript-client/src/query/query-sender.js.map +1 -0
- package/dist/typescript-client/src/query/query-subscription.manager.js +820 -0
- package/dist/typescript-client/src/query/query-subscription.manager.js.map +1 -0
- package/dist/typescript-client/src/query/query.types.js +11 -0
- package/dist/typescript-client/src/query/query.types.js.map +1 -0
- package/dist/typescript-client/src/query/snapshot-emitter.js +3 -0
- package/dist/typescript-client/src/query/snapshot-emitter.js.map +1 -0
- package/dist/typescript-client/src/query-utils.js +21 -0
- package/dist/typescript-client/src/query-utils.js.map +1 -0
- package/dist/typescript-client/src/queue.manager.js +123 -0
- package/dist/typescript-client/src/queue.manager.js.map +1 -0
- package/dist/typescript-client/src/rate-limiter.js +35 -0
- package/dist/typescript-client/src/rate-limiter.js.map +1 -0
- package/dist/typescript-client/src/rpc.manager.js +214 -0
- package/dist/typescript-client/src/rpc.manager.js.map +1 -0
- package/dist/typescript-client/src/runtime-options.js +9 -0
- package/dist/typescript-client/src/runtime-options.js.map +1 -0
- package/dist/typescript-client/src/scheduler-client.js +29 -0
- package/dist/typescript-client/src/scheduler-client.js.map +1 -0
- package/dist/typescript-client/src/secret.client.js +62 -0
- package/dist/typescript-client/src/secret.client.js.map +1 -0
- package/dist/typescript-client/src/socket.manager.js +249 -0
- package/dist/typescript-client/src/socket.manager.js.map +1 -0
- package/dist/typescript-client/src/squid-http-client.js +135 -0
- package/dist/typescript-client/src/squid-http-client.js.map +1 -0
- package/dist/typescript-client/src/squid.js +259 -0
- package/dist/typescript-client/src/squid.js.map +1 -0
- package/dist/typescript-client/src/storage-client.js +51 -0
- package/dist/typescript-client/src/storage-client.js.map +1 -0
- package/dist/typescript-client/src/types.js +18 -0
- package/dist/typescript-client/src/types.js.map +1 -0
- package/dist/typescript-client/src/version.js +5 -0
- package/dist/typescript-client/src/version.js.map +1 -0
- package/dist/typescript-client/src/web-client.js +92 -0
- package/dist/typescript-client/src/web-client.js.map +1 -0
- package/dist/typescript-client/src/webhook.manager.js +85 -0
- package/dist/typescript-client/src/webhook.manager.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SquidProject = void 0;
|
|
4
|
+
const client_1 = require("@squidcloud/client");
|
|
5
|
+
const metadata_1 = require("./metadata");
|
|
6
|
+
const squid_service_1 = require("./squid.service");
|
|
7
|
+
class SquidProject {
|
|
8
|
+
constructor() {
|
|
9
|
+
metadata_1.metadata.setIntegrationLifecycleHooks({
|
|
10
|
+
onIntegrationCreated: this.onIntegrationCreated !== SquidProject.prototype.onIntegrationCreated,
|
|
11
|
+
onIntegrationDeleted: this.onIntegrationDeleted !== SquidProject.prototype.onIntegrationDeleted,
|
|
12
|
+
onIntegrationChanged: this.onIntegrationChanged !== SquidProject.prototype.onIntegrationChanged,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
get squid() {
|
|
16
|
+
return (0, squid_service_1.getSquid)();
|
|
17
|
+
}
|
|
18
|
+
metadata() {
|
|
19
|
+
return metadata_1.metadata.data;
|
|
20
|
+
}
|
|
21
|
+
async onIntegrationCreated(_context) { }
|
|
22
|
+
async onIntegrationChanged(_context) { }
|
|
23
|
+
async onIntegrationDeleted(_context) { }
|
|
24
|
+
async cleanup() {
|
|
25
|
+
for (const instance of client_1.Squid.getInstances()) {
|
|
26
|
+
await instance.destruct();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.SquidProject = SquidProject;
|
|
31
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../backend/src/project.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAG3C,yCAAsC;AACtC,mDAA2C;AAK3C,MAAa,YAAY;IAIvB;QACE,mBAAQ,CAAC,4BAA4B,CAAC;YACpC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,KAAK,YAAY,CAAC,SAAS,CAAC,oBAAoB;YAC/F,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,KAAK,YAAY,CAAC,SAAS,CAAC,oBAAoB;YAC/F,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,KAAK,YAAY,CAAC,SAAS,CAAC,oBAAoB;SAChG,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAA,wBAAQ,GAAE,CAAC;IACpB,CAAC;IAKD,QAAQ;QACN,OAAO,mBAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,oBAAoB,CAAC,QAAqC,IAAkB,CAAC;IAMnF,KAAK,CAAC,oBAAoB,CAAC,QAAqC,IAAkB,CAAC;IASnF,KAAK,CAAC,oBAAoB,CAAC,QAAqC,IAAkB,CAAC;IAOnF,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,QAAQ,IAAI,cAAK,CAAC,YAAY,EAAE,EAAE,CAAC;YAC5C,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAvDD,oCAuDC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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("../../internal-common/src/public-types-backend/ai-agent.public-context"), exports);
|
|
18
|
+
__exportStar(require("../../internal-common/src/public-types-backend/api-call.public-context"), exports);
|
|
19
|
+
__exportStar(require("../../internal-common/src/public-types-backend/application.public-types"), exports);
|
|
20
|
+
__exportStar(require("../../internal-common/src/public-types-backend/bundle-api.public-types"), exports);
|
|
21
|
+
__exportStar(require("../../internal-common/src/public-types-backend/bundle-data.public-types"), exports);
|
|
22
|
+
__exportStar(require("../../internal-common/src/public-types-backend/distributed-lock.public-context"), exports);
|
|
23
|
+
__exportStar(require("../../internal-common/src/public-types-backend/graphql.public-context"), exports);
|
|
24
|
+
__exportStar(require("../../internal-common/src/public-types-backend/llm.public-types"), exports);
|
|
25
|
+
__exportStar(require("../../internal-common/src/public-types-backend/mcp.public-types"), exports);
|
|
26
|
+
__exportStar(require("../../internal-common/src/public-types-backend/metric.public-context"), exports);
|
|
27
|
+
__exportStar(require("../../internal-common/src/public-types-backend/mutation.public-context"), exports);
|
|
28
|
+
__exportStar(require("../../internal-common/src/public-types-backend/native-query.public-context"), exports);
|
|
29
|
+
__exportStar(require("../../internal-common/src/public-types-backend/query.public-context"), exports);
|
|
30
|
+
__exportStar(require("../../internal-common/src/public-types-backend/storage.public-types"), exports);
|
|
31
|
+
__exportStar(require("../../internal-common/src/public-types-backend/topic.public-context"), exports);
|
|
32
|
+
//# sourceMappingURL=public-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-types.js","sourceRoot":"","sources":["../../../../backend/src/public-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yGAAuF;AACvF,yGAAuF;AACvF,0GAAwF;AACxF,yGAAuF;AACvF,0GAAwF;AACxF,iHAA+F;AAC/F,wGAAsF;AACtF,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,yGAAuF;AACvF,6GAA2F;AAC3F,sGAAoF;AACpF,sGAAoF;AACpF,sGAAoF"}
|
|
@@ -0,0 +1,194 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.SquidService = void 0;
|
|
37
|
+
exports.getSquidService = getSquidService;
|
|
38
|
+
exports.squidInject = squidInject;
|
|
39
|
+
exports.getSquid = getSquid;
|
|
40
|
+
const client_1 = require("@squidcloud/client");
|
|
41
|
+
const assertic_1 = require("assertic");
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const bundle_data_public_types_1 = require("../../internal-common/src/public-types-backend/bundle-data.public-types");
|
|
44
|
+
const communication_types_1 = require("../../internal-common/src/types/communication.types");
|
|
45
|
+
const http_1 = require("../../internal-common/src/utils/http");
|
|
46
|
+
const squid_service_utils_1 = require("../../internal-common/src/utils/squid-service.utils");
|
|
47
|
+
class SquidService {
|
|
48
|
+
constructor() {
|
|
49
|
+
this.region = process.env['SQUID_REGION'] || 'local';
|
|
50
|
+
this.config = (0, squid_service_utils_1.getSquidTenantGlobalConfig)();
|
|
51
|
+
(0, squid_service_utils_1.setSquidServiceMetadata)(this);
|
|
52
|
+
this.backendBaseUrl = (0, http_1.getApplicationUrl)(this.region, this.config.appId, '');
|
|
53
|
+
}
|
|
54
|
+
get secrets() {
|
|
55
|
+
return this.config.secrets;
|
|
56
|
+
}
|
|
57
|
+
get apiKeys() {
|
|
58
|
+
return this.config.apiKeys;
|
|
59
|
+
}
|
|
60
|
+
get context() {
|
|
61
|
+
return this.getRequestConfig().context;
|
|
62
|
+
}
|
|
63
|
+
get squid() {
|
|
64
|
+
return getSquid();
|
|
65
|
+
}
|
|
66
|
+
get assetsDirectory() {
|
|
67
|
+
const className = Object.getPrototypeOf(this).constructor.name;
|
|
68
|
+
const oldApiCodeDir = this.config.codeDir;
|
|
69
|
+
const bundleCodeDir = oldApiCodeDir || this.config.codeDirByServiceClassName.get(className);
|
|
70
|
+
(0, assertic_1.assertTruthy)(bundleCodeDir, () => `No codeDir found for service: ${className}`);
|
|
71
|
+
return path.resolve(bundleCodeDir, 'public');
|
|
72
|
+
}
|
|
73
|
+
getApiKey() {
|
|
74
|
+
return this.config.backendApiKey;
|
|
75
|
+
}
|
|
76
|
+
getUserAuth() {
|
|
77
|
+
const { auth } = this.getRequestConfig();
|
|
78
|
+
return auth?.type === 'Bearer' ? auth : undefined;
|
|
79
|
+
}
|
|
80
|
+
getApiKeyAuth() {
|
|
81
|
+
const { auth } = this.getRequestConfig();
|
|
82
|
+
return auth?.type === 'ApiKey' ? auth : undefined;
|
|
83
|
+
}
|
|
84
|
+
isAuthenticated() {
|
|
85
|
+
const { auth } = this.getRequestConfig();
|
|
86
|
+
return !!auth;
|
|
87
|
+
}
|
|
88
|
+
assertIsAuthenticated() {
|
|
89
|
+
this.assertInRequestScope();
|
|
90
|
+
(0, assertic_1.assertTruthy)(this.isAuthenticated(), 'UNAUTHORIZED');
|
|
91
|
+
}
|
|
92
|
+
assertInRequestScope() {
|
|
93
|
+
(0, assertic_1.assertTruthy)(this.config.requestLocalStorage.getStore(), `This method can only be called with a valid request scope.`);
|
|
94
|
+
}
|
|
95
|
+
assertApiKeyCall() {
|
|
96
|
+
(0, assertic_1.assertTruthy)(this.getApiKeyAuth(), 'This method can only be called with API key');
|
|
97
|
+
}
|
|
98
|
+
createWebhookResponse(body, statusCode, headers) {
|
|
99
|
+
return {
|
|
100
|
+
body: body || '',
|
|
101
|
+
statusCode: statusCode || (body ? 200 : 204),
|
|
102
|
+
headers: headers || {},
|
|
103
|
+
__isWebhookResponse__: true,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
throwWebhookResponse(content) {
|
|
107
|
+
throw {
|
|
108
|
+
body: content.body || '',
|
|
109
|
+
statusCode: content.statusCode || 500,
|
|
110
|
+
headers: content.headers || {},
|
|
111
|
+
__isWebhookResponse__: true,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
createOpenApiResponse(body, statusCode, headers) {
|
|
115
|
+
return {
|
|
116
|
+
body: body || '',
|
|
117
|
+
statusCode: statusCode || (body ? 200 : 204),
|
|
118
|
+
headers: headers || {},
|
|
119
|
+
__isOpenApiResponse__: true,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
throwOpenApiResponse(content) {
|
|
123
|
+
throw {
|
|
124
|
+
body: content.body || '',
|
|
125
|
+
statusCode: content.statusCode || 500,
|
|
126
|
+
headers: content.headers || {},
|
|
127
|
+
__isOpenApiResponse__: true,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
async convertToSquidFile(file) {
|
|
131
|
+
return {
|
|
132
|
+
__isSquidFile__: true,
|
|
133
|
+
data: new Uint8Array(await file.arrayBuffer()),
|
|
134
|
+
fieldName: file.name,
|
|
135
|
+
mimetype: file.type,
|
|
136
|
+
originalName: file.name,
|
|
137
|
+
size: file.size,
|
|
138
|
+
encoding: file.type,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
async publishAiStatusUpdate(update, clientId) {
|
|
142
|
+
const messageToClient = {
|
|
143
|
+
type: 'aiStatus',
|
|
144
|
+
agentId: update.agentId,
|
|
145
|
+
messageId: update.messageId,
|
|
146
|
+
chatId: update.chatId,
|
|
147
|
+
jobId: update.jobId,
|
|
148
|
+
payload: {
|
|
149
|
+
title: update.title,
|
|
150
|
+
body: update.body,
|
|
151
|
+
parentStatusUpdateId: update.parentStatusUpdateId,
|
|
152
|
+
tags: update.tags,
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
await this.squid.getNotificationClient().publishSystemNotification(messageToClient, [clientId]);
|
|
156
|
+
}
|
|
157
|
+
getRequestConfig() {
|
|
158
|
+
this.assertInRequestScope();
|
|
159
|
+
return (0, squid_service_utils_1.getSquidServiceRequestConfig)(this.config.requestLocalStorage);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.SquidService = SquidService;
|
|
163
|
+
function getSquidServiceByCodeDir(ctor, codeDir) {
|
|
164
|
+
const requestConfig = {};
|
|
165
|
+
return (0, squid_service_utils_1.getOrCreateSquidService)(ctor, requestConfig, codeDir);
|
|
166
|
+
}
|
|
167
|
+
function getSquidService(ctor, callerService) {
|
|
168
|
+
const callerServiceClassName = Object.getPrototypeOf(callerService).constructor.name;
|
|
169
|
+
const globalConfig = (0, squid_service_utils_1.getSquidTenantGlobalConfig)();
|
|
170
|
+
const callerCodeDir = globalConfig.codeDirByServiceClassName.get(callerServiceClassName);
|
|
171
|
+
(0, assertic_1.assertTruthy)(callerCodeDir, () => `Caller class codeDir is not set: ${callerServiceClassName}`);
|
|
172
|
+
return getSquidServiceByCodeDir(ctor, callerCodeDir);
|
|
173
|
+
}
|
|
174
|
+
function squidInject(ctor, moduleId = bundle_data_public_types_1.USER_CODE_MODULE_ID) {
|
|
175
|
+
const globalConfig = (0, squid_service_utils_1.getSquidTenantGlobalConfig)();
|
|
176
|
+
const moduleInfo = (0, assertic_1.truthy)(globalConfig.moduleById.get(moduleId), 'Module not found: ' + moduleId);
|
|
177
|
+
return getSquidServiceByCodeDir(ctor, moduleInfo.codeDir);
|
|
178
|
+
}
|
|
179
|
+
function getSquid() {
|
|
180
|
+
const config = (0, squid_service_utils_1.getSquidTenantGlobalConfig)();
|
|
181
|
+
const region = process.env['SQUID_REGION'] || 'local';
|
|
182
|
+
const consoleRegion = process.env['SQUID_CONSOLE_REGION'];
|
|
183
|
+
const parsedAppId = (0, communication_types_1.parseAppId)(config.appId);
|
|
184
|
+
const options = {
|
|
185
|
+
appId: parsedAppId.appId,
|
|
186
|
+
apiKey: config.backendApiKey,
|
|
187
|
+
squidDeveloperId: parsedAppId.squidDeveloperId,
|
|
188
|
+
environmentId: parsedAppId.environmentId,
|
|
189
|
+
region,
|
|
190
|
+
consoleRegion,
|
|
191
|
+
};
|
|
192
|
+
return client_1.Squid.getInstance(options);
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=squid.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"squid.service.js","sourceRoot":"","sources":["../../../../backend/src/squid.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createWebhookResponse = createWebhookResponse;
|
|
4
|
+
function createWebhookResponse(partialResponse) {
|
|
5
|
+
return {
|
|
6
|
+
__isWebhookResponse__: true,
|
|
7
|
+
body: '',
|
|
8
|
+
statusCode: 204,
|
|
9
|
+
headers: {},
|
|
10
|
+
...partialResponse,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../backend/src/utils.ts"],"names":[],"mappings":";;AAGA,sDAQC;AARD,SAAgB,qBAAqB,CAAC,eAAyC;IAC7E,OAAO;QACL,qBAAqB,EAAE,IAAI;QAC3B,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,EAAE;QACX,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC"}
|