@squidcloud/client 1.0.469 → 1.0.471
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/cjs/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/internal-common/src/metric-name.d.ts +1 -1
- package/dist/internal-common/src/public-types/ai-agent.public-types.d.ts +13 -0
- package/dist/internal-common/src/public-types/ai-common.public-types.d.ts +23 -0
- package/dist/internal-common/src/public-types/ai-knowledge-base.public-types.d.ts +15 -43
- package/dist/internal-common/src/public-types/extraction.public-types.d.ts +33 -0
- package/dist/internal-common/src/public-types/metadata-filter.public-types.d.ts +85 -0
- package/dist/internal-common/src/public-types/metric.public-types.d.ts +23 -3
- package/dist/internal-common/src/types/observability.types.d.ts +7 -0
- package/dist/typescript-client/src/ai-client.d.ts +4 -2
- package/dist/typescript-client/src/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* See MetricName.kt for documentation on each value.
|
|
10
10
|
*/
|
|
11
|
-
export declare const ALL_SQUID_METRIC_NAMES: readonly ["squid_functionExecution_count", "squid_functionExecution_time", "squid_aiChatbotContext_size", "squid_aiChatbotChatInputTokens_count", "squid_aiChatbotChatOutputTokens_count", "squid_aiChatbotChatOutcome_count", "squid_aiImageGeneration_count", "squid_aiImageGeneration_time", "squid_aiRemoveBackground_count", "squid_aiRemoveBackground_time", "squid_aiAudioTranscribe_count", "squid_aiAudioTranscribe_time", "squid_aiAudioCreateSpeech_count", "squid_aiAudioCreateSpeech_time", "squid_aiIntegrationData_count", "squid_aiIntegrationData_time", "squid_aiIntegrationApi_count", "squid_aiIntegrationApi_time", "squid_apiControllerCall_count", "squid_apiControllerCall_time", "squid_aiContextUpsert_count", "squid_aiContextDelete_count", "squid_codeInitialization_count", "squid_codeInitialization_time", "squid_deleteApiKey_count", "squid_deleteApiKey_time", "squid_deleteSecret_count", "squid_deleteSecret_time", "squid_discoverGraphQLConnectionSchema_count", "squid_discoverGraphQLConnectionSchema_time", "squid_discoverOpenApiSchema_count", "squid_discoverOpenApiSchema_time", "squid_discoverOpenApiSchemaFromFile_count", "squid_discoverOpenApiSchemaFromFile_time", "squid_executeBackendFunction_count", "squid_executeBackendFunction_time", "squid_getAiChatbotProfiles_count", "squid_getAiChatbotProfiles_time", "squid_getAllApiKeys_count", "squid_getAllApiKeys_time", "squid_getAllSecrets_count", "squid_getAllSecrets_time", "squid_getAppApiKey_count", "squid_getAppApiKey_time", "squid_getSecret_count", "squid_getSecret_time", "squid_graphql_count", "squid_graphql_time", "squid_graphqlQuery_count", "squid_graphqlQuery_time", "squid_integrationCount_value", "squid_mutate_count", "squid_mutate_time", "squid_metricQuery_count", "squid_metricQuery_time", "squid_metricReport_count", "squid_metricReport_time", "squid_nativeQuery_count", "squid_nativeQuery_time", "squid_openapi_count", "squid_openapi_time", "squid_produceTopicMessage_count", "squid_produceTopicMessage_time", "squid_query_count", "squid_query_time", "squid_registerQuery_count", "squid_registerQuery_time", "squid_rerankChunks_count", "squid_rerankChunks_time", "squid_schedulerJob_count", "squid_schedulerJob_time", "squid_schema_size", "squid_secrets_entries", "squid_storageDeleteFiles_count", "squid_storageDeleteFiles_time", "squid_storageGetDownloadUrl_count", "squid_storageGetDownloadUrl_time", "squid_storageGetFileMetadata_count", "squid_storageGetFileMetadata_time", "squid_storageListDirectoryContents_count", "squid_storageListDirectoryContents_time", "squid_storageUploadFile_count", "squid_storageUploadFile_time", "squid_subscribeToTopic_count", "squid_subscribeToTopic_time", "squid_testGraphQLConnection_count", "squid_testGraphQLConnection_time", "squid_testAgentProtocolConnection_count", "squid_testAgentProtocolConnection_time", "squid_trigger_count", "squid_trigger_time", "squid_upsertApiKey_count", "squid_upsertApiKey_time", "squid_upsertSecret_count", "squid_upsertSecret_time", "squid_vectorChunks_count", "squid_vectorChunks_time", "squid_webhook_count", "squid_webhook_time", "squid_acquireLock_count", "squid_acquireLock_time", "squid_releaseLock_count", "squid_releaseLock_time"];
|
|
11
|
+
export declare const ALL_SQUID_METRIC_NAMES: readonly ["squid_functionExecution_count", "squid_functionExecution_time", "squid_aiChatbotContext_size", "squid_aiChatbotChatInputTokens_count", "squid_aiChatbotChatOutputTokens_count", "squid_aiChatbotChatReasoningTokens_count", "squid_aiChatbotChatCacheReadInputTokens_count", "squid_aiChatbotChatCacheWriteInputTokens_count", "squid_aiChatbotChatOutcome_count", "squid_aiImageGeneration_count", "squid_aiImageGeneration_time", "squid_aiRemoveBackground_count", "squid_aiRemoveBackground_time", "squid_aiAudioTranscribe_count", "squid_aiAudioTranscribe_time", "squid_aiAudioCreateSpeech_count", "squid_aiAudioCreateSpeech_time", "squid_aiIntegrationData_count", "squid_aiIntegrationData_time", "squid_aiIntegrationApi_count", "squid_aiIntegrationApi_time", "squid_apiControllerCall_count", "squid_apiControllerCall_time", "squid_aiContextUpsert_count", "squid_aiContextDelete_count", "squid_codeInitialization_count", "squid_codeInitialization_time", "squid_deleteApiKey_count", "squid_deleteApiKey_time", "squid_deleteSecret_count", "squid_deleteSecret_time", "squid_discoverGraphQLConnectionSchema_count", "squid_discoverGraphQLConnectionSchema_time", "squid_discoverOpenApiSchema_count", "squid_discoverOpenApiSchema_time", "squid_discoverOpenApiSchemaFromFile_count", "squid_discoverOpenApiSchemaFromFile_time", "squid_executeBackendFunction_count", "squid_executeBackendFunction_time", "squid_getAiChatbotProfiles_count", "squid_getAiChatbotProfiles_time", "squid_getAllApiKeys_count", "squid_getAllApiKeys_time", "squid_getAllSecrets_count", "squid_getAllSecrets_time", "squid_getAppApiKey_count", "squid_getAppApiKey_time", "squid_getSecret_count", "squid_getSecret_time", "squid_graphql_count", "squid_graphql_time", "squid_graphqlQuery_count", "squid_graphqlQuery_time", "squid_integrationCount_value", "squid_mutate_count", "squid_mutate_time", "squid_metricQuery_count", "squid_metricQuery_time", "squid_metricReport_count", "squid_metricReport_time", "squid_nativeQuery_count", "squid_nativeQuery_time", "squid_openapi_count", "squid_openapi_time", "squid_produceTopicMessage_count", "squid_produceTopicMessage_time", "squid_query_count", "squid_query_time", "squid_registerQuery_count", "squid_registerQuery_time", "squid_rerankChunks_count", "squid_rerankChunks_time", "squid_schedulerJob_count", "squid_schedulerJob_time", "squid_schema_size", "squid_secrets_entries", "squid_storageDeleteFiles_count", "squid_storageDeleteFiles_time", "squid_storageGetDownloadUrl_count", "squid_storageGetDownloadUrl_time", "squid_storageGetFileMetadata_count", "squid_storageGetFileMetadata_time", "squid_storageListDirectoryContents_count", "squid_storageListDirectoryContents_time", "squid_storageUploadFile_count", "squid_storageUploadFile_time", "squid_subscribeToTopic_count", "squid_subscribeToTopic_time", "squid_testGraphQLConnection_count", "squid_testGraphQLConnection_time", "squid_testAgentProtocolConnection_count", "squid_testAgentProtocolConnection_time", "squid_trigger_count", "squid_trigger_time", "squid_upsertApiKey_count", "squid_upsertApiKey_time", "squid_upsertSecret_count", "squid_upsertSecret_time", "squid_vectorChunks_count", "squid_vectorChunks_time", "squid_webhook_count", "squid_webhook_time", "squid_acquireLock_count", "squid_acquireLock_time", "squid_releaseLock_count", "squid_releaseLock_time"];
|
|
12
12
|
export type MetricName = (typeof ALL_SQUID_METRIC_NAMES)[number];
|
|
13
13
|
/** Common prefix for all Squid metrics. */
|
|
14
14
|
export declare const SQUID_METRIC_NAME_PREFIX = "squid_";
|
|
@@ -1041,9 +1041,22 @@ export interface ListAgentsResponse {
|
|
|
1041
1041
|
/** All AI agents defined for the application. */
|
|
1042
1042
|
agents: Array<AiAgent>;
|
|
1043
1043
|
}
|
|
1044
|
+
/**
|
|
1045
|
+
* Request options for listing the chat models available to an application.
|
|
1046
|
+
* @category AI
|
|
1047
|
+
*/
|
|
1048
|
+
export interface ListChatModelsRequest {
|
|
1049
|
+
/**
|
|
1050
|
+
* When true, deprecated vendor models (those with `replacedBy`) are included.
|
|
1051
|
+
* Defaults to false (only active models are returned).
|
|
1052
|
+
*/
|
|
1053
|
+
includeDeprecated?: boolean;
|
|
1054
|
+
}
|
|
1044
1055
|
/**
|
|
1045
1056
|
* Response containing the list of chat models available to an application.
|
|
1046
1057
|
* Includes both Squid-provided vendor models and any custom integration models.
|
|
1058
|
+
* Vendor models carry a human-readable `description`. Deprecated vendor models are
|
|
1059
|
+
* included only when requested via `includeDeprecated` and are marked with `replacedBy`.
|
|
1047
1060
|
* @category AI
|
|
1048
1061
|
*/
|
|
1049
1062
|
export interface ListChatModelsResponse {
|
|
@@ -206,6 +206,15 @@ export type StableDiffusionModelName = (typeof STABLE_DIFFUSION_MODEL_NAMES)[num
|
|
|
206
206
|
* @category AI
|
|
207
207
|
*/
|
|
208
208
|
export type FluxModelName = (typeof FLUX_MODEL_NAMES)[number];
|
|
209
|
+
/**
|
|
210
|
+
* Where a chat model offered to an app comes from. See {@link ModelIdSpec.source}.
|
|
211
|
+
* @category AI
|
|
212
|
+
*/
|
|
213
|
+
export declare const AI_MODEL_SOURCES: readonly ["vendor", "connector", "custom"];
|
|
214
|
+
/**
|
|
215
|
+
* @category AI
|
|
216
|
+
*/
|
|
217
|
+
export type AiModelSource = (typeof AI_MODEL_SOURCES)[number];
|
|
209
218
|
/** Represents an AI model. */
|
|
210
219
|
export interface ModelIdSpec {
|
|
211
220
|
/** The model ID used for API calls. */
|
|
@@ -214,6 +223,20 @@ export interface ModelIdSpec {
|
|
|
214
223
|
integrationId?: string;
|
|
215
224
|
/** Human-readable display name for the model (e.g. "GPT-4o"). */
|
|
216
225
|
displayName?: string;
|
|
226
|
+
/** Short human-readable description of the model. Undefined for custom integration models. */
|
|
227
|
+
description?: string;
|
|
228
|
+
/**
|
|
229
|
+
* Set only for deprecated models: the active model that calls to this model are routed to.
|
|
230
|
+
* Undefined for active models.
|
|
231
|
+
*/
|
|
232
|
+
replacedBy?: AiChatModelName;
|
|
233
|
+
/**
|
|
234
|
+
* Where the model comes from. Always set on `listChatModels()` results:
|
|
235
|
+
* - 'vendor': a Squid-provided model from the vendor model registry.
|
|
236
|
+
* - 'connector': provided by an integration configured on the app (OpenAI-compatible, Bedrock, Vertex).
|
|
237
|
+
* - 'custom': a user-added model from the app's bundle (e.g. CLI agent models like Claude Code or Codex).
|
|
238
|
+
*/
|
|
239
|
+
source?: AiModelSource;
|
|
217
240
|
}
|
|
218
241
|
/**
|
|
219
242
|
* Type guard to check if a model selection is integration-based.
|
|
@@ -2,6 +2,7 @@ import { AgentContextRequest, AiChatModelSelection, UpsertContextStatusError } f
|
|
|
2
2
|
import { AiEmbeddingsModelSelection, AiRerankProvider } from './ai-common.public-types';
|
|
3
3
|
import { AiContextId, AiKnowledgeBaseId, AppId } from './communication.public-types';
|
|
4
4
|
import { DocumentExtractionMethod } from './extraction.public-types';
|
|
5
|
+
import { MetadataAndFilter, MetadataFieldFilter, MetadataFilter, MetadataOrFilter, MetadataSimpleFilter, MetadataValue, MetadataValueArray } from './metadata-filter.public-types';
|
|
5
6
|
/**
|
|
6
7
|
* The set of supported vector store backends for a knowledge base. The authoritative backend for a
|
|
7
8
|
* given KB is persisted on its record; reads/writes route through the matching vector provider.
|
|
@@ -57,67 +58,37 @@ export interface AiKnowledgeBaseMetadataField {
|
|
|
57
58
|
export type AiContextMetadata = Record<string, AiContextMetadataValue>;
|
|
58
59
|
/**
|
|
59
60
|
* @category AI
|
|
61
|
+
* @deprecated Use {@link MetadataValue} from `metadata-filter.public-types` instead.
|
|
60
62
|
*/
|
|
61
|
-
export type AiContextMetadataValue =
|
|
63
|
+
export type AiContextMetadataValue = MetadataValue;
|
|
62
64
|
/**
|
|
63
65
|
* @category AI
|
|
66
|
+
* @deprecated Use {@link MetadataValueArray} from `metadata-filter.public-types` instead.
|
|
64
67
|
*/
|
|
65
|
-
export type AiContextMetadataValueArray =
|
|
66
|
-
interface AiContextMetadataEqFilter {
|
|
67
|
-
$eq: AiContextMetadataValue;
|
|
68
|
-
}
|
|
69
|
-
interface AiContextMetadataNeFilter {
|
|
70
|
-
$ne: AiContextMetadataValue;
|
|
71
|
-
}
|
|
72
|
-
interface AiContextMetadataGtFilter {
|
|
73
|
-
$gt: number;
|
|
74
|
-
}
|
|
75
|
-
interface AiContextMetadataGteFilter {
|
|
76
|
-
$gte: number;
|
|
77
|
-
}
|
|
78
|
-
interface AiContextMetadataLtFilter {
|
|
79
|
-
$lt: number;
|
|
80
|
-
}
|
|
81
|
-
interface AiContextMetadataLteFilter {
|
|
82
|
-
$lte: number;
|
|
83
|
-
}
|
|
84
|
-
interface AiContextMetadataInFilter {
|
|
85
|
-
$in: AiContextMetadataValueArray;
|
|
86
|
-
}
|
|
87
|
-
interface AiContextMetadataNinFilter {
|
|
88
|
-
$nin: AiContextMetadataValueArray;
|
|
89
|
-
}
|
|
90
|
-
interface AiContextMetadataExistsFilter {
|
|
91
|
-
$exists: boolean;
|
|
92
|
-
}
|
|
68
|
+
export type AiContextMetadataValueArray = MetadataValueArray;
|
|
93
69
|
/**
|
|
94
70
|
* @category AI
|
|
71
|
+
* @deprecated Use {@link MetadataSimpleFilter} from `metadata-filter.public-types` instead.
|
|
95
72
|
*/
|
|
96
|
-
export type AiContextMetadataSimpleFilter =
|
|
73
|
+
export type AiContextMetadataSimpleFilter = MetadataSimpleFilter;
|
|
97
74
|
/**
|
|
98
75
|
* A filter for AI context metadata based on field-specific conditions or values.
|
|
99
76
|
* @category AI
|
|
77
|
+
* @deprecated Use {@link MetadataFieldFilter} from `metadata-filter.public-types` instead.
|
|
100
78
|
*/
|
|
101
|
-
export
|
|
102
|
-
/** A record where keys are field names and values are either simple filters or direct metadata values. */
|
|
103
|
-
[field: string]: AiContextMetadataSimpleFilter | AiContextMetadataValue;
|
|
104
|
-
}
|
|
79
|
+
export type AiContextMetadataFieldFilter = MetadataFieldFilter;
|
|
105
80
|
/**
|
|
106
81
|
* A filter combining multiple AI context metadata filters with a logical AND operation.
|
|
107
82
|
* @category AI
|
|
83
|
+
* @deprecated Use {@link MetadataAndFilter} from `metadata-filter.public-types` instead.
|
|
108
84
|
*/
|
|
109
|
-
export
|
|
110
|
-
/** An array of filters that must all be true for the condition to pass. */
|
|
111
|
-
$and: AiContextMetadataFilter[];
|
|
112
|
-
}
|
|
85
|
+
export type AiContextMetadataAndFilter = MetadataAndFilter;
|
|
113
86
|
/**
|
|
114
87
|
* A filter combining multiple AI context metadata filters with a logical OR operation.
|
|
115
88
|
* @category AI
|
|
89
|
+
* @deprecated Use {@link MetadataOrFilter} from `metadata-filter.public-types` instead.
|
|
116
90
|
*/
|
|
117
|
-
export
|
|
118
|
-
/** An array of filters where at least one must be true for the condition to pass. */
|
|
119
|
-
$or: AiContextMetadataFilter[];
|
|
120
|
-
}
|
|
91
|
+
export type AiContextMetadataOrFilter = MetadataOrFilter;
|
|
121
92
|
/**
|
|
122
93
|
* The options for the AI knowledgebase search method.
|
|
123
94
|
* @category AI
|
|
@@ -167,8 +138,9 @@ export interface AiHybridSearchWeights {
|
|
|
167
138
|
}
|
|
168
139
|
/**
|
|
169
140
|
* @category AI
|
|
141
|
+
* @deprecated Use {@link MetadataFilter} from `metadata-filter.public-types` instead.
|
|
170
142
|
*/
|
|
171
|
-
export type AiContextMetadataFilter =
|
|
143
|
+
export type AiContextMetadataFilter = MetadataFilter;
|
|
172
144
|
/**
|
|
173
145
|
* Represents an AI knowledge base's context entry with metadata and content.
|
|
174
146
|
* @category AI
|
|
@@ -35,6 +35,15 @@ export interface ExtractDataFromDocumentOptions {
|
|
|
35
35
|
* the content. Only consulted by extractors that handle text input.
|
|
36
36
|
*/
|
|
37
37
|
textFormat?: 'auto' | 'markdown' | 'html' | 'plain';
|
|
38
|
+
/**
|
|
39
|
+
* Whether to read document-level properties (title/author/dates) from the source container and
|
|
40
|
+
* return them as `documentMetadata`. Off by default: container parsing has a real per-file cost
|
|
41
|
+
* (zip/PDF re-parse), so callers opt in only when the owning knowledge base declares metadata fields.
|
|
42
|
+
*
|
|
43
|
+
* Honored only by file-based extraction (which owns the original buffer for every format);
|
|
44
|
+
* URL-based extraction ignores it and never returns `documentMetadata`.
|
|
45
|
+
*/
|
|
46
|
+
collectDocumentMetadata?: boolean;
|
|
38
47
|
}
|
|
39
48
|
/**
|
|
40
49
|
* Request payload for extracting data from a document via URL.
|
|
@@ -108,6 +117,11 @@ export interface ExtractDataFromDocumentResponse {
|
|
|
108
117
|
* Path to the original file in cloud storage, if applicable.
|
|
109
118
|
*/
|
|
110
119
|
longTermStoragePath?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Document-level metadata extracted from the source container (best-effort). Present only when the
|
|
122
|
+
* extractor was able to read it.
|
|
123
|
+
*/
|
|
124
|
+
documentMetadata?: DocumentMetadata;
|
|
111
125
|
}
|
|
112
126
|
/**
|
|
113
127
|
* Create PDF request type.
|
|
@@ -186,3 +200,22 @@ export interface CreatePdfResponse {
|
|
|
186
200
|
/** The generated filename. */
|
|
187
201
|
fileName?: string;
|
|
188
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Document-level properties read from the source container during extraction. Every field is optional
|
|
205
|
+
* and best-effort: when a container does not expose a property (or parsing fails) the field is simply
|
|
206
|
+
* absent. Consumed by schema-driven metadata extraction as the deterministic source for matching
|
|
207
|
+
* knowledge-base `metadataFields` before falling back to LLM extraction.
|
|
208
|
+
* @category AI
|
|
209
|
+
*/
|
|
210
|
+
export interface DocumentMetadata {
|
|
211
|
+
/** Document title (e.g. OOXML `dc:title`, PDF `/Title`, front-matter `title`, `<title>`). */
|
|
212
|
+
docTitle?: string;
|
|
213
|
+
/** Document author (e.g. OOXML `dc:creator`, PDF `/Author`, front-matter / `<meta author>`). */
|
|
214
|
+
docAuthor?: string;
|
|
215
|
+
/** Creation timestamp, ISO 8601. */
|
|
216
|
+
docCreatedAt?: string;
|
|
217
|
+
/** Last-modified timestamp, ISO 8601. */
|
|
218
|
+
docModifiedAt?: string;
|
|
219
|
+
/** Source document type: `pdf` | `docx` | `pptx` | `xlsx` | `md` | `html` | `txt`. */
|
|
220
|
+
docType?: string;
|
|
221
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic metadata filter types used across the platform.
|
|
3
|
+
*
|
|
4
|
+
* These types define a MongoDB-style filter syntax for filtering records by metadata
|
|
5
|
+
* fields. They support field-level operators (`$eq`, `$ne`, `$gt`, `$gte`, `$lt`,
|
|
6
|
+
* `$lte`, `$in`, `$nin`, `$exists`) and boolean combinators (`$and`, `$or`).
|
|
7
|
+
*
|
|
8
|
+
* Originally created for AI knowledge base context filtering, these types are now
|
|
9
|
+
* shared across metrics tag filtering, matchmaking, and other subsystems.
|
|
10
|
+
*/
|
|
11
|
+
/** Primitive metadata value. */
|
|
12
|
+
export type MetadataValue = number | string | boolean | undefined;
|
|
13
|
+
/** Array of metadata values (used by `$in` / `$nin`). */
|
|
14
|
+
export type MetadataValueArray = MetadataValue[];
|
|
15
|
+
interface MetadataEqFilter {
|
|
16
|
+
$eq: MetadataValue;
|
|
17
|
+
}
|
|
18
|
+
interface MetadataNeFilter {
|
|
19
|
+
$ne: MetadataValue;
|
|
20
|
+
}
|
|
21
|
+
interface MetadataGtFilter {
|
|
22
|
+
$gt: number;
|
|
23
|
+
}
|
|
24
|
+
interface MetadataGteFilter {
|
|
25
|
+
$gte: number;
|
|
26
|
+
}
|
|
27
|
+
interface MetadataLtFilter {
|
|
28
|
+
$lt: number;
|
|
29
|
+
}
|
|
30
|
+
interface MetadataLteFilter {
|
|
31
|
+
$lte: number;
|
|
32
|
+
}
|
|
33
|
+
interface MetadataInFilter {
|
|
34
|
+
$in: MetadataValueArray;
|
|
35
|
+
}
|
|
36
|
+
interface MetadataNinFilter {
|
|
37
|
+
$nin: MetadataValueArray;
|
|
38
|
+
}
|
|
39
|
+
interface MetadataExistsFilter {
|
|
40
|
+
$exists: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** A single-field operator: one of `$eq`, `$ne`, `$gt`, `$gte`, `$lt`, `$lte`, `$in`, `$nin`, `$exists`. */
|
|
43
|
+
export type MetadataSimpleFilter = MetadataEqFilter | MetadataNeFilter | MetadataGtFilter | MetadataGteFilter | MetadataLtFilter | MetadataLteFilter | MetadataInFilter | MetadataNinFilter | MetadataExistsFilter;
|
|
44
|
+
/**
|
|
45
|
+
* A filter for metadata based on field-specific conditions or direct values.
|
|
46
|
+
* @category Metadata
|
|
47
|
+
*/
|
|
48
|
+
export interface MetadataFieldFilter {
|
|
49
|
+
/** A record where keys are field names and values are either operator objects or direct scalar values. */
|
|
50
|
+
[field: string]: MetadataSimpleFilter | MetadataValue;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A filter combining multiple metadata filters with a logical AND operation.
|
|
54
|
+
* @category Metadata
|
|
55
|
+
*/
|
|
56
|
+
export interface MetadataAndFilter {
|
|
57
|
+
/** An array of filters that must all be true for the condition to pass. */
|
|
58
|
+
$and: MetadataFilter[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A filter combining multiple metadata filters with a logical OR operation.
|
|
62
|
+
* @category Metadata
|
|
63
|
+
*/
|
|
64
|
+
export interface MetadataOrFilter {
|
|
65
|
+
/** An array of filters where at least one must be true for the condition to pass. */
|
|
66
|
+
$or: MetadataFilter[];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A composable metadata filter supporting field operators and boolean combinators.
|
|
70
|
+
*
|
|
71
|
+
* @example Simple equality
|
|
72
|
+
* ```ts
|
|
73
|
+
* { status: 'active' }
|
|
74
|
+
* ```
|
|
75
|
+
* @example Operators
|
|
76
|
+
* ```ts
|
|
77
|
+
* { age: { $gte: 18 }, role: { $in: ['admin', 'editor'] } }
|
|
78
|
+
* ```
|
|
79
|
+
* @example Boolean combinators
|
|
80
|
+
* ```ts
|
|
81
|
+
* { $or: [{ status: 'active' }, { role: { $ne: 'guest' } }] }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export type MetadataFilter = MetadataFieldFilter | MetadataAndFilter | MetadataOrFilter;
|
|
85
|
+
export {};
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import { MetadataFilter } from './metadata-filter.public-types';
|
|
2
|
+
/**
|
|
3
|
+
* Tag filter for metric queries. Accepts either a simple key-value record (backward compatible)
|
|
4
|
+
* or the full {@link MetadataFilter} tree with `$eq`, `$ne`, `$in`, `$nin`, `$exists`,
|
|
5
|
+
* `$gt`, `$gte`, `$lt`, `$lte`, `$and`, `$or`.
|
|
6
|
+
* @category Metrics
|
|
7
|
+
*/
|
|
8
|
+
export type MetricTagFilter = Record<string, string> | MetadataFilter;
|
|
1
9
|
/**
|
|
2
10
|
* Name of metrics publicly provided by the system.
|
|
3
11
|
* - Metrics suffixed by '_time' are 'gauge' metrics.
|
|
@@ -49,10 +57,22 @@ export interface QueryMetricsRequestCommon {
|
|
|
49
57
|
*/
|
|
50
58
|
fillValue?: number | null;
|
|
51
59
|
/**
|
|
52
|
-
* Tag filters.
|
|
53
|
-
*
|
|
60
|
+
* Tag filters. Supports two formats:
|
|
61
|
+
* - Simple: `Record<string, string>` — each key-value pair is an exact equality match.
|
|
62
|
+
* - Advanced: `AiContextMetadataFilter` — the same filter syntax used by AI knowledge base
|
|
63
|
+
* metadata, supporting `$eq`, `$ne`, `$in`, `$nin`, `$exists`, `$and`, `$or`, and
|
|
64
|
+
* comparison operators (`$gt`, `$gte`, `$lt`, `$lte` — numeric comparisons on string tags).
|
|
65
|
+
*
|
|
66
|
+
* @example Simple format
|
|
67
|
+
* ```ts
|
|
68
|
+
* tagFilter: { aiModel: 'claude-sonnet-4-5-20250514', isError: '0' }
|
|
69
|
+
* ```
|
|
70
|
+
* @example Advanced format
|
|
71
|
+
* ```ts
|
|
72
|
+
* tagFilter: { $or: [{ aiModel: { $in: ['claude-sonnet-4-5-20250514', 'gpt-4o'] } }, { isError: { $ne: '0' } }] }
|
|
73
|
+
* ```
|
|
54
74
|
*/
|
|
55
|
-
tagFilter?:
|
|
75
|
+
tagFilter?: MetricTagFilter;
|
|
56
76
|
/**
|
|
57
77
|
* A mapping of known tag values that must be present in the response groups.
|
|
58
78
|
*
|
|
@@ -107,6 +107,12 @@ export interface AgentAuditLogUpdateEvent {
|
|
|
107
107
|
inputUsage?: AiUsageMetric;
|
|
108
108
|
/** Output usage metric (tokens or characters depending on provider). */
|
|
109
109
|
outputUsage?: AiUsageMetric;
|
|
110
|
+
/** Reasoning tokens consumed (where the provider reports them separately from output tokens). */
|
|
111
|
+
reasoningTokens?: number;
|
|
112
|
+
/** Number of input tokens served from the provider's prompt cache (read hits). */
|
|
113
|
+
cacheReadInputTokens?: number;
|
|
114
|
+
/** Number of input tokens written into the provider's prompt cache (cache misses that created new entries). */
|
|
115
|
+
cacheWriteInputTokens?: number;
|
|
110
116
|
}
|
|
111
117
|
/** Tag for metric events. Value: '0' - not an error, '1' - is an error. */
|
|
112
118
|
export declare const O11Y_TAG_IS_ERROR = "isError";
|
|
@@ -120,6 +126,7 @@ export declare const O11Y_TAG_AI_PROFILE = "aiProfile";
|
|
|
120
126
|
/** Tag for AI KnowledgeBase events */
|
|
121
127
|
export declare const O11Y_TAG_AI_KNOWLEDGE_BASE_MODEL = "aiKnowledgeBaseModel";
|
|
122
128
|
export declare const O11Y_TAG_API_KEY_SOURCE = "apiKeySource";
|
|
129
|
+
export declare const O11Y_TAG_AI_JOB_ID = "aiJobId";
|
|
123
130
|
/** Tag for metric and log events. Value: '0' - not a tenant originated, '1' - is a tenant originated. */
|
|
124
131
|
export declare const O11Y_TAG_IS_TENANT_ORIGINATED = "isTenantOriginated";
|
|
125
132
|
/** Contains a full (with a service name) function name for backend functions. */
|
|
@@ -8,7 +8,7 @@ import { AiFilesClient } from './ai-files-client';
|
|
|
8
8
|
import { AiImageClient } from './ai-image-client';
|
|
9
9
|
import { AiKnowledgeBaseReference } from './ai-knowledge-base/ai-knowledge-base-client-reference';
|
|
10
10
|
import { AiMatchMakingClient } from './ai-matchmaking-client';
|
|
11
|
-
import { AiAgent, AiAgentApiIntegrationOptions, AiAgentId, AiFileProviderType, AiKnowledgeBase, AiKnowledgeBaseId, AiProviderType, AiSessionContext, AiStatusMessage, ApplicationAiSettings, IntegrationId, JobId, ModelIdSpec, SecretKey } from './public-types';
|
|
11
|
+
import { AiAgent, AiAgentApiIntegrationOptions, AiAgentId, AiFileProviderType, AiKnowledgeBase, AiKnowledgeBaseId, AiProviderType, AiSessionContext, AiStatusMessage, ApplicationAiSettings, IntegrationId, JobId, ListChatModelsRequest, ModelIdSpec, SecretKey } from './public-types';
|
|
12
12
|
/**
|
|
13
13
|
* AiClient class serves as a facade for interacting with different AI services.
|
|
14
14
|
* It provides simplified access to AI chatbot and assistant functionalities
|
|
@@ -47,8 +47,10 @@ export declare class AiClient {
|
|
|
47
47
|
/**
|
|
48
48
|
* Returns a list of all available AI chat models.
|
|
49
49
|
* Includes both Squid-provided vendor models and custom integration models.
|
|
50
|
+
* Vendor models carry a human-readable `description`. Deprecated vendor models are
|
|
51
|
+
* included only when `options.includeDeprecated` is true and are marked with `replacedBy`.
|
|
50
52
|
*/
|
|
51
|
-
listChatModels(): Promise<ModelIdSpec[]>;
|
|
53
|
+
listChatModels(options?: ListChatModelsRequest): Promise<ModelIdSpec[]>;
|
|
52
54
|
/**
|
|
53
55
|
* Retrieves an AI image client.
|
|
54
56
|
*/
|