@squidcloud/client 1.0.440 → 1.0.441

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 (43) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/index.js +1 -1
  3. package/dist/internal-common/src/metric-name.d.ts +9 -0
  4. package/dist/internal-common/src/public-types/ai-common.public-types.d.ts +5 -1
  5. package/dist/internal-common/src/public-types-backend/api-call.public-context.d.ts +30 -0
  6. package/dist/internal-common/src/public-types-backend/mutation.public-context.d.ts +148 -0
  7. package/dist/internal-common/src/public-types-backend/native-query.public-context.d.ts +72 -0
  8. package/dist/internal-common/src/public-types-backend/query.public-context.d.ts +177 -0
  9. package/dist/internal-common/src/types/ai-agent.types.d.ts +200 -0
  10. package/dist/internal-common/src/types/ai-knowledge-base.types.d.ts +202 -0
  11. package/dist/internal-common/src/types/ai-matchmaking.types.d.ts +59 -0
  12. package/dist/internal-common/src/types/backend-function.types.d.ts +1 -0
  13. package/dist/internal-common/src/types/communication.types.d.ts +1 -0
  14. package/dist/internal-common/src/types/document.types.d.ts +1 -0
  15. package/dist/internal-common/src/types/file.types.d.ts +6 -0
  16. package/dist/internal-common/src/types/headers.types.d.ts +17 -0
  17. package/dist/internal-common/src/types/management-api-key.types.d.ts +92 -0
  18. package/dist/internal-common/src/types/mutation.types.d.ts +1 -0
  19. package/dist/internal-common/src/types/notification.types.d.ts +5 -0
  20. package/dist/internal-common/src/types/observability.types.d.ts +107 -0
  21. package/dist/internal-common/src/types/query.types.d.ts +13 -0
  22. package/dist/internal-common/src/types/secret.types.d.ts +7 -0
  23. package/dist/internal-common/src/types/socket.types.d.ts +1 -0
  24. package/dist/internal-common/src/types/stage.d.ts +9 -0
  25. package/dist/internal-common/src/types/time-units.d.ts +1 -0
  26. package/dist/internal-common/src/types/url-shortener.types.d.ts +45 -0
  27. package/dist/internal-common/src/utils/array.d.ts +7 -0
  28. package/dist/internal-common/src/utils/e2e-test-utils.d.ts +2 -0
  29. package/dist/internal-common/src/utils/file-utils.d.ts +2 -0
  30. package/dist/internal-common/src/utils/global.utils.d.ts +1 -0
  31. package/dist/internal-common/src/utils/http.d.ts +5 -0
  32. package/dist/internal-common/src/utils/lock.manager.d.ts +14 -0
  33. package/dist/internal-common/src/utils/metric-utils.d.ts +4 -0
  34. package/dist/internal-common/src/utils/metrics.types.d.ts +7 -0
  35. package/dist/internal-common/src/utils/object.d.ts +86 -0
  36. package/dist/internal-common/src/utils/serialization.d.ts +18 -0
  37. package/dist/internal-common/src/utils/squid.constants.d.ts +1 -0
  38. package/dist/internal-common/src/utils/trace-id-generator.d.ts +1 -0
  39. package/dist/internal-common/src/utils/validation.d.ts +19 -0
  40. package/dist/internal-common/src/websocket.impl.d.ts +26 -0
  41. package/dist/typescript-client/src/management-client.d.ts +3 -11
  42. package/dist/typescript-client/src/version.d.ts +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,202 @@
1
+ import { AiKnowledgeBase, AiKnowledgeBaseChatOptions, AiKnowledgeBaseContext, AiKnowledgeBaseContextRequest, AiKnowledgeBaseSearchResultChunk, AiKnowledgeBaseWithOptionalChatModel } from '../public-types/ai-knowledge-base.public-types';
2
+ import { AiContextId, AiKnowledgeBaseId, AppId } from '../public-types/communication.public-types';
3
+ /**
4
+ * Request structure for getting an AiKnowledgeBase
5
+ * @category AI
6
+ */
7
+ export interface GetAiKnowledgeBaseRequest {
8
+ /** The id of the app */
9
+ appId: AppId;
10
+ /** The id of the AiKnowledgeBase */
11
+ knowledgeBaseId: AiKnowledgeBaseId;
12
+ }
13
+ /**
14
+ * Request structure for getting all AiKnowledgeBases
15
+ * @category AI
16
+ */
17
+ export interface GetAiKnowledgeBasesRequest {
18
+ /** The id of the app */
19
+ appId: AppId;
20
+ }
21
+ /**
22
+ * Response structure for getting an AiKnowledgeBase
23
+ * @category AI
24
+ */
25
+ export interface GetAiKnowledgeBaseResponse {
26
+ /** The resulting AiKnowledgeBase, if it is found */
27
+ knowledgeBase: AiKnowledgeBase | undefined;
28
+ }
29
+ /**
30
+ * Request structure for deleting an AiKnowledgeBase
31
+ * @category AI
32
+ */
33
+ export interface DeleteAiKnowledgeBaseRequest {
34
+ /** The id of the AiKnowledgeBase */
35
+ id: string;
36
+ }
37
+ /**
38
+ * Request structure for upserting an AiKnowledgeBase
39
+ * @category AI
40
+ */
41
+ export interface UpsertAiKnowledgeBaseRequest {
42
+ /** The AiKnowledgeBase to upsert */
43
+ knowledgeBase: Omit<AiKnowledgeBaseWithOptionalChatModel, 'appId' | 'updatedAt'>;
44
+ }
45
+ /**
46
+ * Response structure for listing AiKnowledgeBases
47
+ * @category AI
48
+ */
49
+ export interface ListAiKnowledgeBasesResponse {
50
+ /** The list of AiKnowledgeBases */
51
+ knowledgeBases: Array<AiKnowledgeBase>;
52
+ }
53
+ /**
54
+ * Request structure for listing AiKnowledgeBaseContexts
55
+ * @category AI
56
+ */
57
+ export interface ListAiKnowledgeBaseContextsRequest {
58
+ /** The id of the AiKnowledgeBase */
59
+ id: string;
60
+ /** The number of characters after which text is truncated. Optional */
61
+ truncateTextAfter?: number;
62
+ }
63
+ /**
64
+ * Response structure to list AiKnowledgeBaseContexts
65
+ * @category AI
66
+ */
67
+ export interface ListAiKnowledgeBaseContextsResponse {
68
+ /** The list of AiKnowledgeBaseContexts */
69
+ contexts: Array<AiKnowledgeBaseContext>;
70
+ }
71
+ /**
72
+ * Response structure to list contextids for an AiKnowledgeBase
73
+ * @category AI
74
+ */
75
+ export interface ListAiKnowledgeBaseContextIdsResponse {
76
+ /** The list of AiContextIds */
77
+ contextIds: Array<AiContextId>;
78
+ }
79
+ /**
80
+ * Request structure for deleting AiKnowledgeBaseContexts
81
+ * @category AI
82
+ */
83
+ export interface DeleteAiKnowledgeBaseContextsRequest {
84
+ /** The id of the AiKnowledgeBase */
85
+ knowledgeBaseId: string;
86
+ /** An array of AiKnowledgeBaseContext ids */
87
+ contextIds: Array<string>;
88
+ }
89
+ /**
90
+ * Request structure for getting an AiKnowledgeBaseContext
91
+ * @category AI
92
+ */
93
+ export interface GetAiKnowledgeBaseContextRequest {
94
+ /** The id of the AiKnowledgeBase */
95
+ knowledgeBaseId: string;
96
+ /** The id of the AiKnowledgeBaseContext */
97
+ contextId: string;
98
+ }
99
+ /**
100
+ * Request structure for getting all AiKnowledgeBaseContexts
101
+ * for a given knowledge base
102
+ * @category AI
103
+ */
104
+ export interface GetAiKnowledgeBaseContextsRequest {
105
+ /** The id of the app */
106
+ appId: AppId;
107
+ /** The id of the AiKnowledgeBase */
108
+ knowledgeBaseId: AiKnowledgeBaseId;
109
+ /** The number of characters after which text is truncated. Optional */
110
+ truncateTextAfter?: number;
111
+ }
112
+ /**
113
+ * Response structure for getting an AiKnowledgeBaseContext
114
+ * @category AI
115
+ */
116
+ export interface GetAiKnowledgeBaseContextResponse {
117
+ /** The resulting AiKnowledgeBaseContext, if it is found */
118
+ context: AiKnowledgeBaseContext | undefined;
119
+ }
120
+ /**
121
+ * Request structure for upserting context for an AiKnowledgeBase
122
+ * @category AI
123
+ */
124
+ export interface UpsertAiKnowledgeBaseContextsRequest {
125
+ /** The id of the AiKnowledgeBase */
126
+ knowledgeBaseId: string;
127
+ /** The AiKnowledgeBaseContext data, which could be a file or text */
128
+ contextRequests: Array<AiKnowledgeBaseContextRequest>;
129
+ /** The job ID to use for the async upsert job */
130
+ jobId: string;
131
+ }
132
+ /**
133
+ * Response structure for searching an AiKnowledgeBase
134
+ * @category AI
135
+ */
136
+ export interface AiKnowledgeBaseSearchResponse {
137
+ /** Array of result chunks from the search */
138
+ chunks: Array<AiKnowledgeBaseSearchResultChunk>;
139
+ }
140
+ /**
141
+ * Request structure for getting the size of context
142
+ * for an AiKnowledgeBase
143
+ * @category AI
144
+ */
145
+ export interface AiKnowledgeBaseContextSizeRequest {
146
+ /** The ID of the App */
147
+ appId: AppId;
148
+ /** The ID of the AIKnowledgeBase */
149
+ knowledgeBaseId: AiKnowledgeBaseId;
150
+ }
151
+ /**
152
+ * Request structure for identifying a knowledge base to reimport the context files (when possible).
153
+ */
154
+ export interface AiKnowledgeBaseReimportAllFilesRequest {
155
+ /** The ID of the AIKnowledgeBase */
156
+ knowledgeBaseId: AiKnowledgeBaseId;
157
+ }
158
+ /**
159
+ * Request structure for identifying a knowledge base to reimport the context files (when possible).
160
+ */
161
+ export interface AiKnowledgeBaseReimportFilesRequest {
162
+ /** The ID of the AIKnowledgeBase */
163
+ knowledgeBaseId: AiKnowledgeBaseId;
164
+ /** The ids of the AiKnowledgeBaseContexts to reimport */
165
+ contextIds: Array<string>;
166
+ }
167
+ /**
168
+ * Response structure for getting size of context
169
+ * @category AI
170
+ */
171
+ export interface AiKnowledgeBaseContextSizeResponse {
172
+ /** Size of context bytes, as a number */
173
+ sizeBytes: number;
174
+ }
175
+ /**
176
+ * Request structure for getting the values vector of
177
+ * a specific context
178
+ *
179
+ * @category AI
180
+ */
181
+ export interface AiKnowledgeBaseValueVectorRequest {
182
+ /** The ID of the App */
183
+ appId: AppId;
184
+ /** The ID of the AIKnowledgeBase */
185
+ knowledgeBaseId: AiKnowledgeBaseId;
186
+ /** The ID of the context */
187
+ contextId: AiContextId;
188
+ }
189
+ /**
190
+ * Response structure for getting values vector of a
191
+ * specific context
192
+ * @category AI
193
+ */
194
+ export interface AiKnowledgeBaseValueVectorResponse {
195
+ /** The vector */
196
+ vector: number[];
197
+ }
198
+ export interface AiKnowledgeBaseChatRequest {
199
+ knowledgeBaseId: AiKnowledgeBaseId;
200
+ prompt?: string;
201
+ options?: AiKnowledgeBaseChatOptions;
202
+ }
@@ -0,0 +1,59 @@
1
+ import { MmEntity, MmEntityMatch, MmFindMatchesOptions, MmListEntitiesOptions, MmMatchMaker } from '../public-types/ai-matchmaking.public-types';
2
+ export interface MmCreateMatchMakerRequest {
3
+ matchMaker: MmMatchMaker;
4
+ }
5
+ export interface MmDeleteMatchMakerRequest {
6
+ matchMakerId: string;
7
+ }
8
+ export interface MmGetMatchMakerRequest {
9
+ matchMakerId: string;
10
+ }
11
+ export interface MmGetMatchMakerResponse {
12
+ matchMaker: MmMatchMaker | undefined;
13
+ }
14
+ export interface MmDeleteEntityRequest {
15
+ matchMakerId: string;
16
+ entityId: string;
17
+ }
18
+ export interface MmInsertEntityRequest {
19
+ matchMakerId: string;
20
+ entity: MmEntity;
21
+ }
22
+ export interface MmInsertEntitiesRequest {
23
+ matchMakerId: string;
24
+ entities: Array<MmEntity>;
25
+ }
26
+ export interface MmFindMatchesRequest {
27
+ matchMakerId: string;
28
+ entityId: string;
29
+ options: MmFindMatchesOptions;
30
+ }
31
+ export interface MmFindMatchesResponse {
32
+ matches: Array<MmEntityMatch>;
33
+ }
34
+ export interface MmFindMatchesForEntityRequest {
35
+ matchMakerId: string;
36
+ entity: Omit<MmEntity, 'metadata' | 'id'>;
37
+ options: MmFindMatchesOptions;
38
+ }
39
+ export interface MmFindMatchesForEntityResponse {
40
+ matches: Array<MmEntityMatch>;
41
+ }
42
+ export interface MmListMatchMakersResponse {
43
+ matchMakers: Array<MmMatchMaker>;
44
+ }
45
+ export interface MmListEntitiesRequest {
46
+ matchMakerId: string;
47
+ categoryId: string;
48
+ options: MmListEntitiesOptions;
49
+ }
50
+ export interface MmListEntitiesResponse {
51
+ entities: Array<MmEntity>;
52
+ }
53
+ export interface MmGetEntityRequest {
54
+ matchMakerId: string;
55
+ entityId: string;
56
+ }
57
+ export interface MmGetEntityResponse {
58
+ entity: MmEntity | undefined;
59
+ }
@@ -0,0 +1 @@
1
+ export type ChatId = string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface Base64File {
2
+ filename: string;
3
+ mimetype: string;
4
+ base64: string;
5
+ __isSquidBase64File__: true;
6
+ }
@@ -0,0 +1,17 @@
1
+ /** HTTP header names used by Squid for request metadata. */
2
+ export declare const SquidHeaders: {
3
+ /** Correlates logs and spans across distributed calls. */
4
+ readonly TRACE_ID: "x-squid-traceid";
5
+ /** Shared secret header for internal authentication. */
6
+ readonly SECRET: "x-squid-secret";
7
+ /** API key provided by the calling application. */
8
+ readonly APP_API_KEY: "x-app-api-key";
9
+ /** Unique identifier of the client application. */
10
+ readonly APP_ID: "x-squid-appid";
11
+ /** Unique identifier of the end user or service client. */
12
+ readonly CLIENT_ID: "x-squid-clientid";
13
+ /** Version string of the Squid client library. */
14
+ readonly CLIENT_VERSION: "x-squid-client-version";
15
+ /** Originating IP address of the request. */
16
+ readonly SOURCE_IP: "x-squid-source-ip";
17
+ };
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Status lifecycle for management API keys.
3
+ * Keys must be suspended before they can be deleted.
4
+ * @category ManagementApiKey
5
+ */
6
+ export type ManagementApiKeyStatus = 'active' | 'suspended' | 'deleted';
7
+ /**
8
+ * Prefix for all management API keys.
9
+ * Used to identify and validate management keys.
10
+ * @category ManagementApiKey
11
+ */
12
+ export declare const MANAGEMENT_API_KEY_PREFIX = "squid_mgmt_";
13
+ /**
14
+ * Represents a user-level management API key.
15
+ * These keys provide programmatic access to manage organizations and applications
16
+ * where the user is an admin.
17
+ * @category ManagementApiKey
18
+ */
19
+ export interface ManagementApiKey {
20
+ /** Unique identifier for the API key */
21
+ id: string;
22
+ /** The user ID who owns this key */
23
+ userId: string;
24
+ /** Optional description for the key */
25
+ description?: string;
26
+ /** Current status of the key */
27
+ status: ManagementApiKeyStatus;
28
+ /** Timestamp when the key was created */
29
+ createdAt: Date;
30
+ /** Timestamp when the key was last updated */
31
+ updatedAt: Date;
32
+ /** Timestamp when the key was last used, if ever */
33
+ lastUsedAt?: Date;
34
+ }
35
+ /**
36
+ * Request to create a new management API key.
37
+ * @category ManagementApiKey
38
+ */
39
+ export interface CreateManagementApiKeyRequest {
40
+ /** Optional description for the key */
41
+ description?: string;
42
+ }
43
+ /**
44
+ * Response when creating a new management API key.
45
+ * The keyValue is only returned once during creation.
46
+ * @category ManagementApiKey
47
+ */
48
+ export interface CreateManagementApiKeyResponse {
49
+ /** The created key with its value (only shown once) */
50
+ key: ManagementApiKey & {
51
+ keyValue: string;
52
+ };
53
+ }
54
+ /**
55
+ * Request to update a management API key's status.
56
+ * @category ManagementApiKey
57
+ */
58
+ export interface UpdateManagementApiKeyRequest {
59
+ /** The ID of the key to update */
60
+ keyId: string;
61
+ /** New status (can only toggle between active and suspended) */
62
+ status: 'active' | 'suspended';
63
+ }
64
+ /**
65
+ * Request to delete a management API key.
66
+ * The key must be suspended before deletion.
67
+ * @category ManagementApiKey
68
+ */
69
+ export interface DeleteManagementApiKeyRequest {
70
+ /** The ID of the key to delete */
71
+ keyId: string;
72
+ }
73
+ /**
74
+ * Response containing a list of user's management API keys.
75
+ * @category ManagementApiKey
76
+ */
77
+ export interface ListManagementApiKeysResponse {
78
+ /** List of management API keys (without key values) */
79
+ keys: ManagementApiKey[];
80
+ }
81
+ /**
82
+ * Response from validating a management API key.
83
+ * @category ManagementApiKey
84
+ */
85
+ export interface ValidateManagementApiKeyResponse {
86
+ /** Whether the key is valid and active */
87
+ valid: boolean;
88
+ /** The user ID associated with the key (if valid) */
89
+ userId?: string;
90
+ /** The key ID (if valid) */
91
+ keyId?: string;
92
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { ClientId } from '../public-types/communication.public-types';
2
+ export interface PublishNotificationRequest {
3
+ clientIds: Array<ClientId>;
4
+ payload: unknown;
5
+ }
@@ -0,0 +1,107 @@
1
+ import { MetricName } from '../metric-name';
2
+ import { AppId } from '../public-types/communication.public-types';
3
+ export interface ObservableNameMetrics {
4
+ count: MetricName;
5
+ time: MetricName;
6
+ }
7
+ export declare const ObservableNames: {
8
+ readonly functionExecution: ObservableNameMetrics;
9
+ readonly codeInitialization: ObservableNameMetrics;
10
+ readonly getAiChatbotProfiles: ObservableNameMetrics;
11
+ readonly aiImageGeneration: ObservableNameMetrics;
12
+ readonly aiRemoveBackground: ObservableNameMetrics;
13
+ readonly aiAudioTranscribe: ObservableNameMetrics;
14
+ readonly aiAudioCreateSpeech: ObservableNameMetrics;
15
+ readonly discoverGraphQLConnectionSchema: ObservableNameMetrics;
16
+ readonly discoverOpenApiSchema: ObservableNameMetrics;
17
+ readonly discoverOpenApiSchemaFromFile: ObservableNameMetrics;
18
+ readonly graphqlQuery: ObservableNameMetrics;
19
+ readonly testGraphQLConnection: ObservableNameMetrics;
20
+ readonly testAgentProtocolConnection: ObservableNameMetrics;
21
+ readonly graphql: ObservableNameMetrics;
22
+ };
23
+ export type ObservableName = keyof typeof ObservableNames;
24
+ export interface MetricEvent {
25
+ appId: AppId;
26
+ name: MetricName;
27
+ tags: Record<string, string>;
28
+ timestamp: Date;
29
+ value: number;
30
+ isExposedToUser: boolean;
31
+ }
32
+ export interface LogEvent {
33
+ message: string;
34
+ level: string;
35
+ tags: Record<string, string>;
36
+ timestamp: Date;
37
+ isExposedToUser: boolean;
38
+ host: string;
39
+ source?: string;
40
+ service?: string;
41
+ }
42
+ export declare const AUDIT_LOG_EVENT_NAMES: readonly ["ai_agent"];
43
+ export type AuditLogEventName = (typeof AUDIT_LOG_EVENT_NAMES)[number];
44
+ export interface AuditLogEvent {
45
+ appId: AppId;
46
+ name: AuditLogEventName;
47
+ timestamp: Date;
48
+ context: {
49
+ clientId?: string;
50
+ userId: string;
51
+ };
52
+ tags: Record<string, string>;
53
+ }
54
+ /** Agent audit log entry - one per agent invocation */
55
+ export interface AgentAuditLogEvent {
56
+ appId: AppId;
57
+ /** Agent ID (nullable for query-with-AI operations without an agent) */
58
+ agentId?: string;
59
+ jobId: string;
60
+ prompt: string;
61
+ tags: Record<string, string>;
62
+ createdAt: Date;
63
+ /** Integration ID for query-with-AI operations (nullable, used when not invoked via agent) */
64
+ integrationId?: string;
65
+ }
66
+ export type AgentAuditLogUpdateType = 'statusUpdate' | 'response';
67
+ /** Agent audit log update entry - status updates and responses for agent invocations */
68
+ export interface AgentAuditLogUpdateEvent {
69
+ appId: AppId;
70
+ /** Agent ID (nullable for query-with-AI operations without an agent) */
71
+ agentId?: string;
72
+ jobId: string;
73
+ statusUpdateId: string;
74
+ title: string;
75
+ parentStatusUpdateId?: string;
76
+ tags: Record<string, string>;
77
+ body: string;
78
+ type: AgentAuditLogUpdateType;
79
+ createdAt: Date;
80
+ /** Integration ID for query-with-AI operations (nullable, used when not invoked via agent) */
81
+ integrationId?: string;
82
+ }
83
+ /** Tag for metric events. Value: '0' - not an error, '1' - is an error. */
84
+ export declare const O11Y_TAG_IS_ERROR = "isError";
85
+ /** Tag for log events. Metrics have an explicit appId field. */
86
+ export declare const O11Y_TAG_APP_ID = "appId";
87
+ /** Tag for metric and log events. */
88
+ export declare const O11Y_TAG_INTEGRATION_ID = "integrationId";
89
+ /** Tag for AI events. */
90
+ export declare const O11Y_TAG_AI_MODEL = "aiModel";
91
+ export declare const O11Y_TAG_AI_PROFILE = "aiProfile";
92
+ /** Tag for AI KnowledgeBase events */
93
+ export declare const O11Y_TAG_AI_KNOWLEDGE_BASE_MODEL = "aiKnowledgeBaseModel";
94
+ export declare const O11Y_TAG_API_KEY_SOURCE = "apiKeySource";
95
+ /** Tag for metric and log events. Value: '0' - not a tenant originated, '1' - is a tenant originated. */
96
+ export declare const O11Y_TAG_IS_TENANT_ORIGINATED = "isTenantOriginated";
97
+ /** Contains a full (with a service name) function name for backend functions. */
98
+ export declare const O11Y_TAG_FUNCTION_NAME = "functionName";
99
+ /** Contains a type of the function name for backend functions (See ExecuteFunctionAnnotationType.). */
100
+ export declare const O11Y_TAG_FUNCTION_TYPE = "functionType";
101
+ /** Tag for the trace ID. Used in logs. */
102
+ export declare const O11Y_TAG_TRACE_ID = "trace_id";
103
+ /** Tag for the span ID. Used in logs. */
104
+ export declare const O11Y_TAG_SPAN_ID = "span_id";
105
+ export declare function getBooleanMetricTagValue(value: boolean): string;
106
+ export declare const COUNT_METRIC_SUFFIXES: string[];
107
+ export declare const GAUGE_METRIC_SUFFIXES: string[];
@@ -0,0 +1,13 @@
1
+ import { Condition, SimpleCondition } from '../public-types/query.public-types';
2
+ /**
3
+ * Generates the regex pattern, handling special characters as follows:
4
+ * - `_` is replaced with a `.`
5
+ * - `%` is replaced with `[\s\S]*`.
6
+ * - The above characters can be escaped with \, eg. `\_` is replaced with `_` and `\%` with `%`.
7
+ * - All special characters in regex (-, /, \, ^, $, *, +, ?, ., (, ), |, [, ], {, }) get escaped with \
8
+ *
9
+ * Exported for testing purposes.
10
+ * */
11
+ export declare function replaceSpecialCharacters(input: string): string;
12
+ /** Returns true if the condition is a 'SimpleCondition' or false otherwise. */
13
+ export declare function isSimpleCondition(condition: Condition): condition is SimpleCondition;
@@ -0,0 +1,7 @@
1
+ import { ApiKeyEntry } from '../public-types/secret.public-types';
2
+ export declare const BACKEND_API_KEY = "_BACKEND_API_KEY";
3
+ export declare const APP_API_KEY = "APP_API_KEY";
4
+ export declare const AGENT_API_HEADER = "x-squid-agent-api-key";
5
+ export interface AgentSecrets {
6
+ apiKey: ApiKeyEntry | undefined;
7
+ }
@@ -0,0 +1 @@
1
+ export declare const SOCKET_RECONNECT_TIMEOUT: number;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Stage of the Squid deployment:
3
+ * - 'local' - Squid is run locally.
4
+ * - 'prod' - Production environment (https://console.getsquid.ai).
5
+ * - 'sandbox' - One of the sandbox environments (https://console.sandbox.squid.cloud).
6
+ * - 'staging' - One of the staging environments (https://console.staging.squid.cloud).
7
+ */
8
+ export declare const STAGES: readonly ["local", "prod", "sandbox", "staging"];
9
+ export type Stage = (typeof STAGES)[number];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,45 @@
1
+ import { AppId } from '../public-types/communication.public-types';
2
+ /**
3
+ * Request to create a shortened URL.
4
+ */
5
+ export interface ShortUrlRequest {
6
+ /** The URL to shorten. It must be a valid URL and should include the protocol (start with http:// or https://). */
7
+ url: string;
8
+ /** The application ID that will own this shortened URL. */
9
+ appId: AppId;
10
+ /** Seconds to live for the shortened URL. If set to 0, the URL will never expire. Defaults to 1 day. */
11
+ secondsToLive?: number;
12
+ /** Optional file extension to include in the shortened URL ID (e.g., 'pdf', 'html'). The extension becomes part of the ID, so 'abc123.pdf' and 'abc123.jpg' are distinct URLs. */
13
+ fileExtension?: string;
14
+ }
15
+ /**
16
+ * Request to create shortened URLs.
17
+ */
18
+ export interface ShortUrlBulkRequest {
19
+ /** The URLs to shorten. They must be valid URLs and should include the protocol (start with http:// or https://). */
20
+ urls: string[];
21
+ /** The application ID that will own these shortened URLs. */
22
+ appId: AppId;
23
+ /** Seconds to live for all shortened URLs. If set to 0, the URLs will never expire. Defaults to 1 day. */
24
+ secondsToLive?: number;
25
+ /** Optional file extension to include in all shortened URL IDs (e.g., 'pdf', 'html'). The extension becomes part of each ID, so 'abc123.pdf' and 'abc123.jpg' are distinct URLs. */
26
+ fileExtension?: string;
27
+ }
28
+ /**
29
+ * Request to delete a shortened URL.
30
+ */
31
+ export interface ShortUrlDeleteRequest {
32
+ /** The ID of the shortened URL to delete. */
33
+ id: string;
34
+ /** The application ID that owns the shortened URL. */
35
+ appId: AppId;
36
+ }
37
+ /**
38
+ * Request to delete a shortened URL.
39
+ */
40
+ export interface ShortUrlBulkDeleteRequest {
41
+ /** The IDs of the shortened URLs to delete. */
42
+ ids: string[];
43
+ /** The application ID that owns the shortened URLs. */
44
+ appId: AppId;
45
+ }
@@ -0,0 +1,7 @@
1
+ export declare function truncateOrPadArray(arr: number[], length: number): number[];
2
+ /**
3
+ * Computes a single “recommended” chunk size so that if you loop
4
+ * `for (let i = 0; i < length; i += chunkSize)`,
5
+ * no slice will exceed `maxChunkSize` and all chunk sizes are 'almost' equal.
6
+ */
7
+ export declare function computeRecommendedChunkSize(length: number, maxChunkSize: number): number;
@@ -0,0 +1,2 @@
1
+ /** Returns true if the application is run by a Playwright test. */
2
+ export declare function isPlaywrightTestMode(): boolean | undefined;
@@ -0,0 +1,2 @@
1
+ /** Gets file extension from filename. */
2
+ export declare function getFileExtension(filename: string): string | undefined;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { AppId } from '../public-types/communication.public-types';
2
+ import { Stage } from '../types/stage';
3
+ export declare const KOTLIN_CONTROLLERS: string[];
4
+ export declare function getEnvironmentPrefix(shard: string | undefined, region: string, cloudId: string, stage: Stage): string;
5
+ export declare function getApplicationUrl(environmentPrefix: string, appId: string, path: string, appIdPlaceholder?: AppId, environmentPrefixPlaceholder?: string, forceKotlin?: boolean): string;
@@ -0,0 +1,14 @@
1
+ type LockMutex = string;
2
+ /**
3
+ * A simple lock manager that locks a list of mutexes.
4
+ * When locking a list of mutexes, the lock will start only when all the mutexes are available - preventing partial lock
5
+ * and potential deadlocks.
6
+ */
7
+ export declare class LockManager {
8
+ private readonly locks;
9
+ lock(...mutexes: LockMutex[]): Promise<void>;
10
+ release(...mutexes: LockMutex[]): void;
11
+ canGetLock(...mutexes: LockMutex[]): boolean;
12
+ lockSync(...mutexes: LockMutex[]): void;
13
+ }
14
+ export {};
@@ -0,0 +1,4 @@
1
+ import { QueryMetricsRequestCommon, QueryMetricsResultGroup } from '../public-types/metric.public-types';
2
+ export type QueryMetricsRequestIntervals = Required<Pick<QueryMetricsRequestCommon, 'fillValue' | 'fn' | 'groupByTags' | 'periodEndSeconds' | 'periodStartSeconds' | 'pointIntervalAlignment' | 'pointIntervalSeconds' | 'tagDomains' | 'noDataBehavior'>>;
3
+ /** Adds missed known tag domain groups and fills all missed points with a request.fillValue. */
4
+ export declare function fillMissedPoints(request: QueryMetricsRequestIntervals, resultGroups: Array<QueryMetricsResultGroup>): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Type suffixes defines the type of the metric and can be used for
3
+ * metric value validation for incoming metrics.
4
+ */
5
+ export declare const SQUID_METRIC_TYPE_SUFFIXES: readonly ["_count", "_time", "_size", "_entries", "_value"];
6
+ /** Returns true if the given metric has a valid metric type. */
7
+ export declare function hasValidMetricTypeSuffix(metricName: string): boolean;