@squidcloud/local-backend 1.0.216 → 1.0.218
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/internal-common/src/public-types/integration.public-types.d.ts +2 -0
- package/dist/internal-common/src/public-types/integration.public-types.js +2 -0
- package/dist/internal-common/src/public-types/integration.public-types.js.map +1 -1
- package/dist/internal-common/src/types/ai-chatbot.types.d.ts +11 -4
- package/dist/internal-common/src/types/ai-chatbot.types.js.map +1 -1
- package/dist/internal-common/src/types/integrations/schemas.d.ts +4 -6
- package/dist/internal-common/src/types/integrations/schemas.js +1 -10
- package/dist/internal-common/src/types/integrations/schemas.js.map +1 -1
- package/dist/internal-common/src/types/integrations/storage-types.d.ts +14 -0
- package/dist/internal-common/src/websocket.impl.js +10 -4
- package/dist/internal-common/src/websocket.impl.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -23,7 +23,9 @@ export declare enum IntegrationType {
|
|
|
23
23
|
'confluent' = "confluent",
|
|
24
24
|
'built_in_queue' = "built_in_queue",
|
|
25
25
|
's3' = "s3",
|
|
26
|
+
'gcs' = "gcs",
|
|
26
27
|
'built_in_s3' = "built_in_s3",
|
|
28
|
+
'built_in_gcs' = "built_in_gcs",
|
|
27
29
|
'algolia' = "algolia",
|
|
28
30
|
'elastic_observability' = "elastic_observability",
|
|
29
31
|
'elastic_search' = "elastic_search",
|
|
@@ -27,7 +27,9 @@ var IntegrationType;
|
|
|
27
27
|
IntegrationType["confluent"] = "confluent";
|
|
28
28
|
IntegrationType["built_in_queue"] = "built_in_queue";
|
|
29
29
|
IntegrationType["s3"] = "s3";
|
|
30
|
+
IntegrationType["gcs"] = "gcs";
|
|
30
31
|
IntegrationType["built_in_s3"] = "built_in_s3";
|
|
32
|
+
IntegrationType["built_in_gcs"] = "built_in_gcs";
|
|
31
33
|
IntegrationType["algolia"] = "algolia";
|
|
32
34
|
IntegrationType["elastic_observability"] = "elastic_observability";
|
|
33
35
|
IntegrationType["elastic_search"] = "elastic_search";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.public-types.js","sourceRoot":"","sources":["../../../../../internal-common/src/public-types/integration.public-types.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"integration.public-types.js","sourceRoot":"","sources":["../../../../../internal-common/src/public-types/integration.public-types.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAoDX;AApDD,WAAY,eAAe;IACzB,8CAA6B,CAAA;IAC7B,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,4CAA2B,CAAA;IAC3B,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;IACzB,8BAAa,CAAA;IACb,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;IACrB,wCAAuB,CAAA;IACvB,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;IACrB,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,oDAAmC,CAAA;IACnC,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAE/B,sCAAqB,CAAA;IACrB,kEAAiD,CAAA;IACjD,oDAAmC,CAAA;IACnC,0EAAyD,CAAA;IACzD,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,oDAAmC,CAAA;IACnC,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,8BAAa,CAAA;IACb,sCAAqB,CAAA;IACrB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IACf,0CAAyB,CAAA;IACzB,wDAAuC,CAAA;IACvC,oDAAmC,CAAA;IACnC,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;AACzB,CAAC,EApDW,eAAe,+BAAf,eAAe,QAoD1B;AAED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,4CAAqB,CAAA;AACvB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import { AiChatbotChatOptions, AiChatbotContext, AiChatbotMutationType, AiChatbotResourceType,
|
|
1
|
+
import { AiChatbotChatOptions, AiChatbotContext, AiChatbotMutationType, AiChatbotResourceType, AiChatModelName, AiGenerateImageOptions, ApiKeySource } from '../public-types/ai-chatbot.public-types';
|
|
2
2
|
import { ClientRequestId, IntegrationId } from '../public-types/communication.public-types';
|
|
3
3
|
import { AiChatbotProfileMetadata } from '../public-types/integrations/ai_chatbot.public-types';
|
|
4
|
+
export type AiChatResponseFormat = 'text' | 'json_object';
|
|
5
|
+
export interface AiChatOptions {
|
|
6
|
+
maxTokens: number;
|
|
7
|
+
responseFormat: AiChatResponseFormat;
|
|
8
|
+
temperature: number;
|
|
9
|
+
instructions: string;
|
|
10
|
+
clientId: string;
|
|
11
|
+
}
|
|
4
12
|
type ModelDataType = {
|
|
5
13
|
maxTokens: number;
|
|
6
14
|
defaultTokens: number;
|
|
@@ -22,8 +30,7 @@ export interface AiGenerateImageRequest {
|
|
|
22
30
|
export interface AskQuestionInternalRequest {
|
|
23
31
|
model: AiChatModelName;
|
|
24
32
|
prompt: string;
|
|
25
|
-
|
|
26
|
-
responseFormat?: OpenAiResponseFormat;
|
|
33
|
+
options: Partial<AiChatOptions>;
|
|
27
34
|
}
|
|
28
35
|
export interface AskQuestionInternalResponse {
|
|
29
36
|
answer: string;
|
|
@@ -98,7 +105,7 @@ export interface AiChatbotMetricTag extends Record<string, string> {
|
|
|
98
105
|
appId: string;
|
|
99
106
|
integrationId: string;
|
|
100
107
|
profileId: string;
|
|
101
|
-
|
|
108
|
+
aiModel: AiChatModelName;
|
|
102
109
|
apiKeySource: ApiKeySource;
|
|
103
110
|
}
|
|
104
111
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chatbot.types.js","sourceRoot":"","sources":["../../../../../internal-common/src/types/ai-chatbot.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ai-chatbot.types.js","sourceRoot":"","sources":["../../../../../internal-common/src/types/ai-chatbot.types.ts"],"names":[],"mappings":";;;AA4Ba,QAAA,WAAW,GAA2C;IACjE,OAAO,EAAE;QACP,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;KACpB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,KAAM;QACjB,aAAa,EAAE,KAAM;KACtB;IACD,oBAAoB,EAAE;QACpB,SAAS,EAAE,KAAM;QACjB,aAAa,EAAE,KAAM;KACtB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,KAAM;QACjB,aAAa,EAAE,KAAM;KACtB;IACD,wBAAwB,EAAE;QACxB,SAAS,EAAE,MAAO;QAClB,aAAa,EAAE,KAAM;KACtB;IACD,0BAA0B,EAAE;QAC1B,SAAS,EAAE,MAAO;QAClB,aAAa,EAAE,KAAM;KACtB;IACD,yBAAyB,EAAE;QACzB,SAAS,EAAE,MAAO;QAClB,aAAa,EAAE,KAAM;KACtB;IACD,qBAAqB,EAAE;QACrB,SAAS,EAAE,MAAO;QAClB,aAAa,EAAE,KAAM;KACtB;IACD,aAAa,EAAE;QACb,SAAS,EAAE,MAAO;QAClB,aAAa,EAAE,KAAM;KACtB;CACF,CAAC"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { Auth0IntegrationConfig, CognitoIntegrationConfig, DescopeIntegrationConfig, FirebaseAuthIntegrationConfig, JwtHmacIntegrationConfig, JwtRsaIntegrationConfig, OktaIntegrationConfig } from './auth.types';
|
|
2
|
-
import {
|
|
2
|
+
import { BigQueryIntegrationConfig, ClickHouseIntegrationConfig, CockroachIntegrationConfig, IntegrationDataSchema, InternalIntegrationConfig, MongoIntegrationConfig, MssqlIntegrationConfig, MySqlIntegrationConfig, OracleIntegrationConfig, PostgresIntegrationConfig, SnowflakeIntegrationConfig } from './database.types';
|
|
3
3
|
import { DatadogIntegrationConfig, NewRelicIntegrationConfig } from './observability.types';
|
|
4
4
|
import { IntegrationSchemaType, IntegrationType } from '../../public-types/integration.public-types';
|
|
5
5
|
import { BuiltInQueueIntegrationConfig, ConfluentIntegrationConfig, KafkaIntegrationConfig } from './queue-types';
|
|
6
6
|
import { IntegrationId } from '../../public-types/communication.public-types';
|
|
7
7
|
import { AiChatbotIntegrationConfig } from './ai_chatbot.types';
|
|
8
8
|
import { GraphQLIntegrationConfig, HttpApiIntegrationConfig, IntegrationApiSchema, IntegrationGraphQLSchema } from './api.types';
|
|
9
|
-
import { BuiltInS3IntegrationConfig, S3IntegrationConfig } from './storage-types';
|
|
9
|
+
import { BuiltInGcsIntegrationConfig, BuiltInS3IntegrationConfig, GcsIntegrationConfig, S3IntegrationConfig } from './storage-types';
|
|
10
10
|
export interface IntegrationConfigTypes {
|
|
11
11
|
[IntegrationType.built_in_db]: InternalIntegrationConfig;
|
|
12
12
|
[IntegrationType.built_in_s3]: BuiltInS3IntegrationConfig;
|
|
13
|
+
[IntegrationType.built_in_gcs]: BuiltInGcsIntegrationConfig;
|
|
13
14
|
[IntegrationType.s3]: S3IntegrationConfig;
|
|
15
|
+
[IntegrationType.gcs]: GcsIntegrationConfig;
|
|
14
16
|
[IntegrationType.mongo]: MongoIntegrationConfig;
|
|
15
17
|
[IntegrationType.mysql]: MySqlIntegrationConfig;
|
|
16
18
|
[IntegrationType.clickhouse]: ClickHouseIntegrationConfig;
|
|
@@ -38,8 +40,6 @@ export interface IntegrationConfigTypes {
|
|
|
38
40
|
}
|
|
39
41
|
export interface IntegrationSchemaTypes {
|
|
40
42
|
[IntegrationType.built_in_db]: IntegrationDataSchema;
|
|
41
|
-
[IntegrationType.built_in_s3]: IntegrationDataSchema;
|
|
42
|
-
[IntegrationType.s3]: IntegrationDataSchema;
|
|
43
43
|
[IntegrationType.mongo]: IntegrationDataSchema;
|
|
44
44
|
[IntegrationType.mysql]: IntegrationDataSchema;
|
|
45
45
|
[IntegrationType.clickhouse]: IntegrationDataSchema;
|
|
@@ -60,11 +60,9 @@ export declare const DatabaseIntegrationTypes: readonly [IntegrationType.built_i
|
|
|
60
60
|
export type DatabaseIntegrationType = (typeof DatabaseIntegrationTypes)[number];
|
|
61
61
|
export type DatabaseIntegrationConfig = IntegrationConfigTypes[DatabaseIntegrationType];
|
|
62
62
|
export declare const AuthIntegrationTypes: readonly [IntegrationType.auth0, IntegrationType.jwt_rsa, IntegrationType.jwt_hmac, IntegrationType.cognito, IntegrationType.okta, IntegrationType.descope, IntegrationType.firebase_auth];
|
|
63
|
-
export declare const QueueIntegrationTypes: readonly [IntegrationType.built_in_queue, IntegrationType.kafka, IntegrationType.confluent];
|
|
64
63
|
export type AuthIntegrationType = (typeof AuthIntegrationTypes)[number];
|
|
65
64
|
export type AuthIntegrationConfig = IntegrationConfigTypes[AuthIntegrationType];
|
|
66
65
|
export declare function isDataIntegrationType(type: unknown): type is DatabaseIntegrationType;
|
|
67
|
-
export declare function isDataIntegration(integration: unknown): integration is BaseDatabaseIntegrationConfig;
|
|
68
66
|
export declare function isAuthIntegrationType(type: unknown): type is AuthIntegrationType;
|
|
69
67
|
export declare function isAuthIntegration(integration: unknown): integration is AuthIntegrationConfig;
|
|
70
68
|
export interface BaseIntegrationConfig {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isAuthIntegration = exports.isAuthIntegrationType = exports.
|
|
3
|
+
exports.isAuthIntegration = exports.isAuthIntegrationType = exports.isDataIntegrationType = exports.AuthIntegrationTypes = exports.DatabaseIntegrationTypes = void 0;
|
|
4
4
|
const integration_public_types_1 = require("../../public-types/integration.public-types");
|
|
5
5
|
exports.DatabaseIntegrationTypes = [
|
|
6
6
|
integration_public_types_1.IntegrationType.built_in_db,
|
|
@@ -23,19 +23,10 @@ exports.AuthIntegrationTypes = [
|
|
|
23
23
|
integration_public_types_1.IntegrationType.descope,
|
|
24
24
|
integration_public_types_1.IntegrationType.firebase_auth,
|
|
25
25
|
];
|
|
26
|
-
exports.QueueIntegrationTypes = [
|
|
27
|
-
integration_public_types_1.IntegrationType.built_in_queue,
|
|
28
|
-
integration_public_types_1.IntegrationType.kafka,
|
|
29
|
-
integration_public_types_1.IntegrationType.confluent,
|
|
30
|
-
];
|
|
31
26
|
function isDataIntegrationType(type) {
|
|
32
27
|
return exports.DatabaseIntegrationTypes.includes(type);
|
|
33
28
|
}
|
|
34
29
|
exports.isDataIntegrationType = isDataIntegrationType;
|
|
35
|
-
function isDataIntegration(integration) {
|
|
36
|
-
return isDataIntegrationType(integration === null || integration === void 0 ? void 0 : integration.type);
|
|
37
|
-
}
|
|
38
|
-
exports.isDataIntegration = isDataIntegration;
|
|
39
30
|
function isAuthIntegrationType(type) {
|
|
40
31
|
return exports.AuthIntegrationTypes.includes(type);
|
|
41
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../../internal-common/src/types/integrations/schemas.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../../internal-common/src/types/integrations/schemas.ts"],"names":[],"mappings":";;;AAuBA,0FAAqG;AA6ExF,QAAA,wBAAwB,GAAG;IACtC,0CAAe,CAAC,WAAW;IAC3B,0CAAe,CAAC,KAAK;IACrB,0CAAe,CAAC,KAAK;IACrB,0CAAe,CAAC,UAAU;IAC1B,0CAAe,CAAC,QAAQ;IACxB,0CAAe,CAAC,KAAK;IACrB,0CAAe,CAAC,QAAQ;IACxB,0CAAe,CAAC,SAAS;IACzB,0CAAe,CAAC,SAAS;IACzB,0CAAe,CAAC,QAAQ;CAChB,CAAC;AAQE,QAAA,oBAAoB,GAAG;IAClC,0CAAe,CAAC,KAAK;IACrB,0CAAe,CAAC,OAAO;IACvB,0CAAe,CAAC,QAAQ;IACxB,0CAAe,CAAC,OAAO;IACvB,0CAAe,CAAC,IAAI;IACpB,0CAAe,CAAC,OAAO;IACvB,0CAAe,CAAC,aAAa;CACrB,CAAC;AAQX,SAAgB,qBAAqB,CAAC,IAAa;IACjD,OAAO,gCAAwB,CAAC,QAAQ,CAAC,IAA+B,CAAC,CAAC;AAC5E,CAAC;AAFD,sDAEC;AAGD,SAAgB,qBAAqB,CAAC,IAAa;IACjD,OAAQ,4BAAmD,CAAC,QAAQ,CAAC,IAAuB,CAAC,CAAC;AAChG,CAAC;AAFD,sDAEC;AAGD,SAAgB,iBAAiB,CAAC,WAAoB;IACpD,OAAO,qBAAqB,CAAE,WAAqC,aAArC,WAAW,uBAAX,WAAW,CAA4B,IAAI,CAAC,CAAC;AAC7E,CAAC;AAFD,8CAEC"}
|
|
@@ -15,3 +15,17 @@ export interface S3IntegrationConfig extends BaseStorageIntegrationConfig {
|
|
|
15
15
|
}
|
|
16
16
|
export interface BuiltInS3IntegrationConfig extends BaseStorageIntegrationConfig {
|
|
17
17
|
}
|
|
18
|
+
export interface GcsConfiguration {
|
|
19
|
+
bucket: string;
|
|
20
|
+
region: string;
|
|
21
|
+
accessKey: string;
|
|
22
|
+
secrets: GcsConfigurationSecrets;
|
|
23
|
+
}
|
|
24
|
+
export interface GcsConfigurationSecrets {
|
|
25
|
+
credentialsJson: string;
|
|
26
|
+
}
|
|
27
|
+
export interface GcsIntegrationConfig extends BaseStorageIntegrationConfig {
|
|
28
|
+
configuration: GcsConfiguration;
|
|
29
|
+
}
|
|
30
|
+
export interface BuiltInGcsIntegrationConfig extends BaseStorageIntegrationConfig {
|
|
31
|
+
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.createWebSocketWrapper = void 0;
|
|
5
4
|
const global_utils_1 = require("./utils/global.utils");
|
|
6
5
|
function noop() {
|
|
7
6
|
return;
|
|
8
7
|
}
|
|
9
|
-
const
|
|
10
|
-
const WebSocketClass = (_a = globalObj['WebSocket']) !== null && _a !== void 0 ? _a : require('ws');
|
|
8
|
+
const WebSocketClass = typeof process === 'undefined' ? (0, global_utils_1.getGlobal)()['WebSocket'] : require('ws');
|
|
11
9
|
function createWebSocketWrapper(url, opts = {}) {
|
|
12
10
|
let ws;
|
|
13
11
|
let num = 0;
|
|
@@ -18,7 +16,15 @@ function createWebSocketWrapper(url, opts = {}) {
|
|
|
18
16
|
var _a;
|
|
19
17
|
const wsConstructor = (_a = WebSocketClass === null || WebSocketClass === void 0 ? void 0 : WebSocketClass['WebSocket']) !== null && _a !== void 0 ? _a : WebSocketClass;
|
|
20
18
|
ws = new wsConstructor(url, opts.protocols || []);
|
|
21
|
-
ws.onmessage = opts.onmessage
|
|
19
|
+
ws.onmessage = opts.onmessage
|
|
20
|
+
? (e) => {
|
|
21
|
+
if (!e.data || !opts.onmessage) {
|
|
22
|
+
console.log('No data received from websockets, please contact support@squid.cloud with this message.');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
opts.onmessage(e);
|
|
26
|
+
}
|
|
27
|
+
: noop;
|
|
22
28
|
ws.onopen = function (e) {
|
|
23
29
|
$.connected = true;
|
|
24
30
|
(opts.onopen || noop)(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.impl.js","sourceRoot":"","sources":["../../../../internal-common/src/websocket.impl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket.impl.js","sourceRoot":"","sources":["../../../../internal-common/src/websocket.impl.ts"],"names":[],"mappings":"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"}
|