@airweave/sdk 0.1.46 → 0.1.49
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/Client.js +2 -2
- package/dist/cjs/api/resources/collections/client/Client.d.ts +54 -0
- package/dist/cjs/api/resources/collections/client/Client.js +114 -1
- package/dist/cjs/api/resources/collections/client/requests/SearchCollectionCollectionsReadableIdSearchGetRequest.d.ts +16 -0
- package/dist/cjs/api/resources/collections/client/requests/SearchRequest.d.ts +40 -0
- package/dist/cjs/api/resources/collections/client/requests/index.d.ts +1 -0
- package/dist/cjs/api/resources/sourceConnections/client/Client.d.ts +3 -0
- package/dist/cjs/api/resources/sourceConnections/client/Client.js +3 -0
- package/dist/cjs/api/resources/sources/client/Client.d.ts +3 -0
- package/dist/cjs/api/resources/sources/client/Client.js +3 -0
- package/dist/cjs/api/resources/whiteLabels/client/Client.d.ts +10 -7
- package/dist/cjs/api/resources/whiteLabels/client/Client.js +12 -9
- package/dist/cjs/api/resources/whiteLabels/client/requests/{BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodePost.d.ts → BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions.d.ts} +1 -1
- package/dist/cjs/api/resources/whiteLabels/client/requests/BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions.js +5 -0
- package/dist/cjs/api/resources/whiteLabels/client/requests/index.d.ts +1 -1
- package/dist/cjs/api/types/DatetimeRange.d.ts +34 -0
- package/dist/cjs/api/types/DatetimeRange.js +5 -0
- package/dist/cjs/api/types/FieldCondition.d.ts +33 -0
- package/dist/cjs/api/types/FieldCondition.js +5 -0
- package/dist/cjs/api/types/Filter.d.ts +28 -0
- package/dist/cjs/api/types/Filter.js +5 -0
- package/dist/cjs/api/types/GeoBoundingBox.d.ts +13 -0
- package/dist/cjs/api/types/GeoBoundingBox.js +5 -0
- package/dist/cjs/api/types/GeoLineString.d.ts +11 -0
- package/dist/cjs/api/types/GeoLineString.js +5 -0
- package/dist/cjs/api/types/GeoPoint.d.ts +12 -0
- package/dist/cjs/api/types/GeoPoint.js +5 -0
- package/dist/cjs/api/types/GeoPolygon.d.ts +13 -0
- package/dist/cjs/api/types/GeoPolygon.js +5 -0
- package/dist/cjs/api/types/GeoRadius.d.ts +13 -0
- package/dist/cjs/api/types/GeoRadius.js +5 -0
- package/dist/cjs/api/types/HasIdCondition.d.ts +16 -0
- package/dist/cjs/api/types/HasIdCondition.js +5 -0
- package/dist/cjs/api/types/HasVectorCondition.d.ts +10 -0
- package/dist/cjs/api/types/HasVectorCondition.js +5 -0
- package/dist/cjs/api/types/IsEmptyCondition.d.ts +11 -0
- package/dist/cjs/api/types/IsEmptyCondition.js +5 -0
- package/dist/cjs/api/types/IsNullCondition.d.ts +11 -0
- package/dist/cjs/api/types/IsNullCondition.js +5 -0
- package/dist/cjs/api/types/MatchAny.d.ts +16 -0
- package/dist/cjs/api/types/MatchAny.js +5 -0
- package/dist/cjs/api/types/MatchExcept.d.ts +16 -0
- package/dist/cjs/api/types/MatchExcept.js +5 -0
- package/dist/cjs/api/types/MatchText.d.ts +10 -0
- package/dist/cjs/api/types/MatchText.js +5 -0
- package/dist/cjs/api/types/MatchValue.d.ts +16 -0
- package/dist/cjs/api/types/MatchValue.js +5 -0
- package/dist/cjs/api/types/MinShould.d.ts +16 -0
- package/dist/cjs/api/types/MinShould.js +5 -0
- package/dist/cjs/api/types/Nested.d.ts +13 -0
- package/dist/cjs/api/types/Nested.js +5 -0
- package/dist/cjs/api/types/NestedCondition.d.ts +8 -0
- package/dist/cjs/api/types/NestedCondition.js +5 -0
- package/dist/cjs/api/types/PayloadField.d.ts +10 -0
- package/dist/cjs/api/types/PayloadField.js +5 -0
- package/dist/cjs/api/types/QueryExpansionStrategy.d.ts +12 -0
- package/dist/cjs/api/types/QueryExpansionStrategy.js +11 -0
- package/dist/cjs/api/types/Range.d.ts +16 -0
- package/dist/cjs/api/types/Range.js +5 -0
- package/dist/cjs/api/types/ValuesCount.d.ts +16 -0
- package/dist/cjs/api/types/ValuesCount.js +5 -0
- package/dist/cjs/api/types/index.d.ts +23 -0
- package/dist/cjs/api/types/index.js +23 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Client.mjs +2 -2
- package/dist/esm/api/resources/collections/client/Client.d.mts +54 -0
- package/dist/esm/api/resources/collections/client/Client.mjs +114 -1
- package/dist/esm/api/resources/collections/client/requests/SearchCollectionCollectionsReadableIdSearchGetRequest.d.mts +16 -0
- package/dist/esm/api/resources/collections/client/requests/SearchRequest.d.mts +40 -0
- package/dist/esm/api/resources/collections/client/requests/index.d.mts +1 -0
- package/dist/esm/api/resources/sourceConnections/client/Client.d.mts +3 -0
- package/dist/esm/api/resources/sourceConnections/client/Client.mjs +3 -0
- package/dist/esm/api/resources/sources/client/Client.d.mts +3 -0
- package/dist/esm/api/resources/sources/client/Client.mjs +3 -0
- package/dist/esm/api/resources/whiteLabels/client/Client.d.mts +10 -7
- package/dist/esm/api/resources/whiteLabels/client/Client.mjs +12 -9
- package/dist/esm/api/resources/whiteLabels/client/requests/{BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodePost.d.mts → BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions.d.mts} +1 -1
- package/dist/esm/api/resources/whiteLabels/client/requests/BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions.mjs +4 -0
- package/dist/esm/api/resources/whiteLabels/client/requests/index.d.mts +1 -1
- package/dist/esm/api/types/DatetimeRange.d.mts +34 -0
- package/dist/esm/api/types/DatetimeRange.mjs +4 -0
- package/dist/esm/api/types/FieldCondition.d.mts +33 -0
- package/dist/esm/api/types/FieldCondition.mjs +4 -0
- package/dist/esm/api/types/Filter.d.mts +28 -0
- package/dist/esm/api/types/Filter.mjs +4 -0
- package/dist/esm/api/types/GeoBoundingBox.d.mts +13 -0
- package/dist/esm/api/types/GeoBoundingBox.mjs +4 -0
- package/dist/esm/api/types/GeoLineString.d.mts +11 -0
- package/dist/esm/api/types/GeoLineString.mjs +4 -0
- package/dist/esm/api/types/GeoPoint.d.mts +12 -0
- package/dist/esm/api/types/GeoPoint.mjs +4 -0
- package/dist/esm/api/types/GeoPolygon.d.mts +13 -0
- package/dist/esm/api/types/GeoPolygon.mjs +4 -0
- package/dist/esm/api/types/GeoRadius.d.mts +13 -0
- package/dist/esm/api/types/GeoRadius.mjs +4 -0
- package/dist/esm/api/types/HasIdCondition.d.mts +16 -0
- package/dist/esm/api/types/HasIdCondition.mjs +4 -0
- package/dist/esm/api/types/HasVectorCondition.d.mts +10 -0
- package/dist/esm/api/types/HasVectorCondition.mjs +4 -0
- package/dist/esm/api/types/IsEmptyCondition.d.mts +11 -0
- package/dist/esm/api/types/IsEmptyCondition.mjs +4 -0
- package/dist/esm/api/types/IsNullCondition.d.mts +11 -0
- package/dist/esm/api/types/IsNullCondition.mjs +4 -0
- package/dist/esm/api/types/MatchAny.d.mts +16 -0
- package/dist/esm/api/types/MatchAny.mjs +4 -0
- package/dist/esm/api/types/MatchExcept.d.mts +16 -0
- package/dist/esm/api/types/MatchExcept.mjs +4 -0
- package/dist/esm/api/types/MatchText.d.mts +10 -0
- package/dist/esm/api/types/MatchText.mjs +4 -0
- package/dist/esm/api/types/MatchValue.d.mts +16 -0
- package/dist/esm/api/types/MatchValue.mjs +4 -0
- package/dist/esm/api/types/MinShould.d.mts +16 -0
- package/dist/esm/api/types/MinShould.mjs +4 -0
- package/dist/esm/api/types/Nested.d.mts +13 -0
- package/dist/esm/api/types/Nested.mjs +4 -0
- package/dist/esm/api/types/NestedCondition.d.mts +8 -0
- package/dist/esm/api/types/NestedCondition.mjs +4 -0
- package/dist/esm/api/types/PayloadField.d.mts +10 -0
- package/dist/esm/api/types/PayloadField.mjs +4 -0
- package/dist/esm/api/types/QueryExpansionStrategy.d.mts +12 -0
- package/dist/esm/api/types/QueryExpansionStrategy.mjs +8 -0
- package/dist/esm/api/types/Range.d.mts +16 -0
- package/dist/esm/api/types/Range.mjs +4 -0
- package/dist/esm/api/types/ValuesCount.d.mts +16 -0
- package/dist/esm/api/types/ValuesCount.mjs +4 -0
- package/dist/esm/api/types/index.d.mts +23 -0
- package/dist/esm/api/types/index.mjs +23 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +1 -1
- package/reference.md +119 -9
- /package/dist/cjs/api/resources/{whiteLabels/client/requests/BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodePost.js → collections/client/requests/SearchRequest.js} +0 -0
- /package/dist/esm/api/resources/{whiteLabels/client/requests/BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodePost.mjs → collections/client/requests/SearchRequest.mjs} +0 -0
package/dist/cjs/Client.js
CHANGED
|
@@ -48,8 +48,8 @@ class AirweaveSDKClient {
|
|
|
48
48
|
this._options = Object.assign(Object.assign({}, _options), { headers: (0, headers_js_1.mergeHeaders)({
|
|
49
49
|
"X-Fern-Language": "JavaScript",
|
|
50
50
|
"X-Fern-SDK-Name": "@airweave/sdk",
|
|
51
|
-
"X-Fern-SDK-Version": "v0.1.
|
|
52
|
-
"User-Agent": "@airweave/sdk/v0.1.
|
|
51
|
+
"X-Fern-SDK-Version": "v0.1.49",
|
|
52
|
+
"User-Agent": "@airweave/sdk/v0.1.49",
|
|
53
53
|
"X-Fern-Runtime": core.RUNTIME.type,
|
|
54
54
|
"X-Fern-Runtime-Version": core.RUNTIME.version,
|
|
55
55
|
}, _options === null || _options === void 0 ? void 0 : _options.headers) });
|
|
@@ -24,6 +24,9 @@ export declare namespace Collections {
|
|
|
24
24
|
headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* API endpoints for managing collections - logical groups of data sources that provide unified search capabilities
|
|
29
|
+
*/
|
|
27
30
|
export declare class Collections {
|
|
28
31
|
protected readonly _options: Collections.Options;
|
|
29
32
|
constructor(_options: Collections.Options);
|
|
@@ -117,6 +120,9 @@ export declare class Collections {
|
|
|
117
120
|
/**
|
|
118
121
|
* Search across all data sources within the specified collection.
|
|
119
122
|
*
|
|
123
|
+
* This GET endpoint provides basic search functionality. For advanced filtering
|
|
124
|
+
* and options, use the POST /search endpoint.
|
|
125
|
+
*
|
|
120
126
|
* @param {string} readableId - The unique readable identifier of the collection to search
|
|
121
127
|
* @param {AirweaveSDK.SearchCollectionCollectionsReadableIdSearchGetRequest} request
|
|
122
128
|
* @param {Collections.RequestOptions} requestOptions - Request-specific configuration.
|
|
@@ -130,6 +136,54 @@ export declare class Collections {
|
|
|
130
136
|
*/
|
|
131
137
|
searchCollection(readableId: string, request: AirweaveSDK.SearchCollectionCollectionsReadableIdSearchGetRequest, requestOptions?: Collections.RequestOptions): core.HttpResponsePromise<AirweaveSDK.SearchResponse>;
|
|
132
138
|
private __searchCollection;
|
|
139
|
+
/**
|
|
140
|
+
* Advanced search with comprehensive filtering and options.
|
|
141
|
+
*
|
|
142
|
+
* This endpoint supports:
|
|
143
|
+
* - Metadata filtering using Qdrant's native filter syntax
|
|
144
|
+
* - Pagination with offset and limit
|
|
145
|
+
* - Score threshold filtering
|
|
146
|
+
* - Query expansion strategies
|
|
147
|
+
* - Result summarization
|
|
148
|
+
* - Control over included metadata and vectors
|
|
149
|
+
*
|
|
150
|
+
* Example request body:
|
|
151
|
+
* ```json
|
|
152
|
+
* {
|
|
153
|
+
* "query": "customer payment issues",
|
|
154
|
+
* "filter": {
|
|
155
|
+
* "must": [
|
|
156
|
+
* {"key": "source", "match": {"value": "stripe"}},
|
|
157
|
+
* {"key": "created_at", "range": {"gte": "2024-01-01T00:00:00Z"}}
|
|
158
|
+
* ]
|
|
159
|
+
* },
|
|
160
|
+
* "limit": 50,
|
|
161
|
+
* "score_threshold": 0.7,
|
|
162
|
+
* "response_type": "completion"
|
|
163
|
+
* }
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* @param {string} readableId - The unique readable identifier of the collection to search
|
|
167
|
+
* @param {AirweaveSDK.SearchRequest} request
|
|
168
|
+
* @param {Collections.RequestOptions} requestOptions - Request-specific configuration.
|
|
169
|
+
*
|
|
170
|
+
* @throws {@link AirweaveSDK.UnprocessableEntityError}
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* await client.collections.searchCollectionAdvanced("readable_id", {
|
|
174
|
+
* query: "customer payment issues",
|
|
175
|
+
* filter: {
|
|
176
|
+
* must: {
|
|
177
|
+
* key: "key"
|
|
178
|
+
* }
|
|
179
|
+
* },
|
|
180
|
+
* limit: 50,
|
|
181
|
+
* score_threshold: 0.7,
|
|
182
|
+
* response_type: "completion"
|
|
183
|
+
* })
|
|
184
|
+
*/
|
|
185
|
+
searchCollectionAdvanced(readableId: string, request: AirweaveSDK.SearchRequest, requestOptions?: Collections.RequestOptions): core.HttpResponsePromise<AirweaveSDK.SearchResponse>;
|
|
186
|
+
private __searchCollectionAdvanced;
|
|
133
187
|
/**
|
|
134
188
|
* Trigger data synchronization for all source connections in the collection.
|
|
135
189
|
*
|
|
@@ -51,6 +51,9 @@ const core = __importStar(require("../../../../core/index.js"));
|
|
|
51
51
|
const AirweaveSDK = __importStar(require("../../../index.js"));
|
|
52
52
|
const headers_js_1 = require("../../../../core/headers.js");
|
|
53
53
|
const errors = __importStar(require("../../../../errors/index.js"));
|
|
54
|
+
/**
|
|
55
|
+
* API endpoints for managing collections - logical groups of data sources that provide unified search capabilities
|
|
56
|
+
*/
|
|
54
57
|
class Collections {
|
|
55
58
|
constructor(_options) {
|
|
56
59
|
this._options = _options;
|
|
@@ -386,6 +389,9 @@ class Collections {
|
|
|
386
389
|
/**
|
|
387
390
|
* Search across all data sources within the specified collection.
|
|
388
391
|
*
|
|
392
|
+
* This GET endpoint provides basic search functionality. For advanced filtering
|
|
393
|
+
* and options, use the POST /search endpoint.
|
|
394
|
+
*
|
|
389
395
|
* @param {string} readableId - The unique readable identifier of the collection to search
|
|
390
396
|
* @param {AirweaveSDK.SearchCollectionCollectionsReadableIdSearchGetRequest} request
|
|
391
397
|
* @param {Collections.RequestOptions} requestOptions - Request-specific configuration.
|
|
@@ -403,12 +409,24 @@ class Collections {
|
|
|
403
409
|
__searchCollection(readableId, request, requestOptions) {
|
|
404
410
|
return __awaiter(this, void 0, void 0, function* () {
|
|
405
411
|
var _a, _b, _c;
|
|
406
|
-
const { query, response_type: responseType } = request;
|
|
412
|
+
const { query, response_type: responseType, limit, offset, score_threshold: scoreThreshold, expansion_strategy: expansionStrategy, } = request;
|
|
407
413
|
const _queryParams = {};
|
|
408
414
|
_queryParams["query"] = query;
|
|
409
415
|
if (responseType != null) {
|
|
410
416
|
_queryParams["response_type"] = responseType;
|
|
411
417
|
}
|
|
418
|
+
if (limit != null) {
|
|
419
|
+
_queryParams["limit"] = limit.toString();
|
|
420
|
+
}
|
|
421
|
+
if (offset != null) {
|
|
422
|
+
_queryParams["offset"] = offset.toString();
|
|
423
|
+
}
|
|
424
|
+
if (scoreThreshold != null) {
|
|
425
|
+
_queryParams["score_threshold"] = scoreThreshold.toString();
|
|
426
|
+
}
|
|
427
|
+
if (expansionStrategy != null) {
|
|
428
|
+
_queryParams["expansion_strategy"] = expansionStrategy;
|
|
429
|
+
}
|
|
412
430
|
const _response = yield core.fetcher({
|
|
413
431
|
url: core.url.join((_b = (_a = (yield core.Supplier.get(this._options.baseUrl))) !== null && _a !== void 0 ? _a : (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.AirweaveSDKEnvironment.Production, `collections/${encodeURIComponent(readableId)}/search`),
|
|
414
432
|
method: "GET",
|
|
@@ -450,6 +468,101 @@ class Collections {
|
|
|
450
468
|
}
|
|
451
469
|
});
|
|
452
470
|
}
|
|
471
|
+
/**
|
|
472
|
+
* Advanced search with comprehensive filtering and options.
|
|
473
|
+
*
|
|
474
|
+
* This endpoint supports:
|
|
475
|
+
* - Metadata filtering using Qdrant's native filter syntax
|
|
476
|
+
* - Pagination with offset and limit
|
|
477
|
+
* - Score threshold filtering
|
|
478
|
+
* - Query expansion strategies
|
|
479
|
+
* - Result summarization
|
|
480
|
+
* - Control over included metadata and vectors
|
|
481
|
+
*
|
|
482
|
+
* Example request body:
|
|
483
|
+
* ```json
|
|
484
|
+
* {
|
|
485
|
+
* "query": "customer payment issues",
|
|
486
|
+
* "filter": {
|
|
487
|
+
* "must": [
|
|
488
|
+
* {"key": "source", "match": {"value": "stripe"}},
|
|
489
|
+
* {"key": "created_at", "range": {"gte": "2024-01-01T00:00:00Z"}}
|
|
490
|
+
* ]
|
|
491
|
+
* },
|
|
492
|
+
* "limit": 50,
|
|
493
|
+
* "score_threshold": 0.7,
|
|
494
|
+
* "response_type": "completion"
|
|
495
|
+
* }
|
|
496
|
+
* ```
|
|
497
|
+
*
|
|
498
|
+
* @param {string} readableId - The unique readable identifier of the collection to search
|
|
499
|
+
* @param {AirweaveSDK.SearchRequest} request
|
|
500
|
+
* @param {Collections.RequestOptions} requestOptions - Request-specific configuration.
|
|
501
|
+
*
|
|
502
|
+
* @throws {@link AirweaveSDK.UnprocessableEntityError}
|
|
503
|
+
*
|
|
504
|
+
* @example
|
|
505
|
+
* await client.collections.searchCollectionAdvanced("readable_id", {
|
|
506
|
+
* query: "customer payment issues",
|
|
507
|
+
* filter: {
|
|
508
|
+
* must: {
|
|
509
|
+
* key: "key"
|
|
510
|
+
* }
|
|
511
|
+
* },
|
|
512
|
+
* limit: 50,
|
|
513
|
+
* score_threshold: 0.7,
|
|
514
|
+
* response_type: "completion"
|
|
515
|
+
* })
|
|
516
|
+
*/
|
|
517
|
+
searchCollectionAdvanced(readableId, request, requestOptions) {
|
|
518
|
+
return core.HttpResponsePromise.fromPromise(this.__searchCollectionAdvanced(readableId, request, requestOptions));
|
|
519
|
+
}
|
|
520
|
+
__searchCollectionAdvanced(readableId, request, requestOptions) {
|
|
521
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
522
|
+
var _a, _b, _c;
|
|
523
|
+
const _response = yield core.fetcher({
|
|
524
|
+
url: core.url.join((_b = (_a = (yield core.Supplier.get(this._options.baseUrl))) !== null && _a !== void 0 ? _a : (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.AirweaveSDKEnvironment.Production, `collections/${encodeURIComponent(readableId)}/search`),
|
|
525
|
+
method: "POST",
|
|
526
|
+
headers: (0, headers_js_1.mergeHeaders)((_c = this._options) === null || _c === void 0 ? void 0 : _c.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
527
|
+
contentType: "application/json",
|
|
528
|
+
requestType: "json",
|
|
529
|
+
body: request,
|
|
530
|
+
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
531
|
+
maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
|
|
532
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
533
|
+
});
|
|
534
|
+
if (_response.ok) {
|
|
535
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
536
|
+
}
|
|
537
|
+
if (_response.error.reason === "status-code") {
|
|
538
|
+
switch (_response.error.statusCode) {
|
|
539
|
+
case 422:
|
|
540
|
+
throw new AirweaveSDK.UnprocessableEntityError(_response.error.body, _response.rawResponse);
|
|
541
|
+
default:
|
|
542
|
+
throw new errors.AirweaveSDKError({
|
|
543
|
+
statusCode: _response.error.statusCode,
|
|
544
|
+
body: _response.error.body,
|
|
545
|
+
rawResponse: _response.rawResponse,
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
switch (_response.error.reason) {
|
|
550
|
+
case "non-json":
|
|
551
|
+
throw new errors.AirweaveSDKError({
|
|
552
|
+
statusCode: _response.error.statusCode,
|
|
553
|
+
body: _response.error.rawBody,
|
|
554
|
+
rawResponse: _response.rawResponse,
|
|
555
|
+
});
|
|
556
|
+
case "timeout":
|
|
557
|
+
throw new errors.AirweaveSDKTimeoutError("Timeout exceeded when calling POST /collections/{readable_id}/search.");
|
|
558
|
+
case "unknown":
|
|
559
|
+
throw new errors.AirweaveSDKError({
|
|
560
|
+
message: _response.error.errorMessage,
|
|
561
|
+
rawResponse: _response.rawResponse,
|
|
562
|
+
});
|
|
563
|
+
}
|
|
564
|
+
});
|
|
565
|
+
}
|
|
453
566
|
/**
|
|
454
567
|
* Trigger data synchronization for all source connections in the collection.
|
|
455
568
|
*
|
|
@@ -17,4 +17,20 @@ export interface SearchCollectionCollectionsReadableIdSearchGetRequest {
|
|
|
17
17
|
* Format of the response: 'raw' returns search results, 'completion' returns AI-generated answers
|
|
18
18
|
*/
|
|
19
19
|
response_type?: AirweaveSDK.ResponseType;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum number of results to return
|
|
22
|
+
*/
|
|
23
|
+
limit?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Number of results to skip for pagination
|
|
26
|
+
*/
|
|
27
|
+
offset?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Minimum similarity score threshold
|
|
30
|
+
*/
|
|
31
|
+
score_threshold?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Query expansion strategy (auto, llm, or no_expansion)
|
|
34
|
+
*/
|
|
35
|
+
expansion_strategy?: AirweaveSDK.QueryExpansionStrategy;
|
|
20
36
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
*/
|
|
4
|
+
import * as AirweaveSDK from "../../../../index.js";
|
|
5
|
+
/**
|
|
6
|
+
* @example
|
|
7
|
+
* {
|
|
8
|
+
* query: "customer payment issues",
|
|
9
|
+
* filter: {
|
|
10
|
+
* must: {
|
|
11
|
+
* key: "key"
|
|
12
|
+
* }
|
|
13
|
+
* },
|
|
14
|
+
* limit: 50,
|
|
15
|
+
* score_threshold: 0.7,
|
|
16
|
+
* response_type: "completion"
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
export interface SearchRequest {
|
|
20
|
+
/** The search query text */
|
|
21
|
+
query: string;
|
|
22
|
+
/** Qdrant native filter for metadata-based filtering */
|
|
23
|
+
filter?: AirweaveSDK.Filter;
|
|
24
|
+
/** Number of results to skip */
|
|
25
|
+
offset?: number;
|
|
26
|
+
/** Maximum number of results to return */
|
|
27
|
+
limit?: number;
|
|
28
|
+
/** Minimum similarity score threshold */
|
|
29
|
+
score_threshold?: number;
|
|
30
|
+
/** Whether to summarize results */
|
|
31
|
+
summarize?: boolean;
|
|
32
|
+
/** Type of response (raw or completion) */
|
|
33
|
+
response_type?: AirweaveSDK.ResponseType;
|
|
34
|
+
/** Query expansion strategy */
|
|
35
|
+
expansion_strategy?: AirweaveSDK.QueryExpansionStrategy;
|
|
36
|
+
/** Whether to include metadata in results */
|
|
37
|
+
include_metadata?: boolean;
|
|
38
|
+
/** Whether to include vectors in response */
|
|
39
|
+
with_vectors?: boolean;
|
|
40
|
+
}
|
|
@@ -3,3 +3,4 @@ export { type CollectionCreate } from "./CollectionCreate.js";
|
|
|
3
3
|
export { type CollectionUpdate } from "./CollectionUpdate.js";
|
|
4
4
|
export { type DeleteCollectionCollectionsReadableIdDeleteRequest } from "./DeleteCollectionCollectionsReadableIdDeleteRequest.js";
|
|
5
5
|
export { type SearchCollectionCollectionsReadableIdSearchGetRequest } from "./SearchCollectionCollectionsReadableIdSearchGetRequest.js";
|
|
6
|
+
export { type SearchRequest } from "./SearchRequest.js";
|
|
@@ -24,6 +24,9 @@ export declare namespace SourceConnections {
|
|
|
24
24
|
headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* API endpoints for managing live connections to data sources. Source connections are the actual configured instances that Airweave uses to sync data from your apps and databases, transforming it into searchable, structured information within collections
|
|
29
|
+
*/
|
|
27
30
|
export declare class SourceConnections {
|
|
28
31
|
protected readonly _options: SourceConnections.Options;
|
|
29
32
|
constructor(_options: SourceConnections.Options);
|
|
@@ -51,6 +51,9 @@ const core = __importStar(require("../../../../core/index.js"));
|
|
|
51
51
|
const AirweaveSDK = __importStar(require("../../../index.js"));
|
|
52
52
|
const headers_js_1 = require("../../../../core/headers.js");
|
|
53
53
|
const errors = __importStar(require("../../../../errors/index.js"));
|
|
54
|
+
/**
|
|
55
|
+
* API endpoints for managing live connections to data sources. Source connections are the actual configured instances that Airweave uses to sync data from your apps and databases, transforming it into searchable, structured information within collections
|
|
56
|
+
*/
|
|
54
57
|
class SourceConnections {
|
|
55
58
|
constructor(_options) {
|
|
56
59
|
this._options = _options;
|
|
@@ -24,6 +24,9 @@ export declare namespace Sources {
|
|
|
24
24
|
headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* API endpoints for discovering available data source connectors and their configuration requirements
|
|
29
|
+
*/
|
|
27
30
|
export declare class Sources {
|
|
28
31
|
protected readonly _options: Sources.Options;
|
|
29
32
|
constructor(_options: Sources.Options);
|
|
@@ -51,6 +51,9 @@ const core = __importStar(require("../../../../core/index.js"));
|
|
|
51
51
|
const AirweaveSDK = __importStar(require("../../../index.js"));
|
|
52
52
|
const headers_js_1 = require("../../../../core/headers.js");
|
|
53
53
|
const errors = __importStar(require("../../../../errors/index.js"));
|
|
54
|
+
/**
|
|
55
|
+
* API endpoints for discovering available data source connectors and their configuration requirements
|
|
56
|
+
*/
|
|
54
57
|
class Sources {
|
|
55
58
|
constructor(_options) {
|
|
56
59
|
this._options = _options;
|
|
@@ -24,6 +24,9 @@ export declare namespace WhiteLabels {
|
|
|
24
24
|
headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* API endpoints for managing custom OAuth2 integrations with your own branding and credentials
|
|
29
|
+
*/
|
|
27
30
|
export declare class WhiteLabels {
|
|
28
31
|
protected readonly _options: WhiteLabels.Options;
|
|
29
32
|
constructor(_options: WhiteLabels.Options);
|
|
@@ -137,10 +140,10 @@ export declare class WhiteLabels {
|
|
|
137
140
|
* @throws {@link AirweaveSDK.UnprocessableEntityError}
|
|
138
141
|
*
|
|
139
142
|
* @example
|
|
140
|
-
* await client.whiteLabels.
|
|
143
|
+
* await client.whiteLabels.getWhiteLabelOauth2AuthUrlWhiteLabelsWhiteLabelIdOauth2AuthUrlOptions("white_label_id")
|
|
141
144
|
*/
|
|
142
|
-
|
|
143
|
-
private
|
|
145
|
+
getWhiteLabelOauth2AuthUrlWhiteLabelsWhiteLabelIdOauth2AuthUrlOptions(whiteLabelId: string, requestOptions?: WhiteLabels.RequestOptions): core.HttpResponsePromise<string>;
|
|
146
|
+
private __getWhiteLabelOauth2AuthUrlWhiteLabelsWhiteLabelIdOauth2AuthUrlOptions;
|
|
144
147
|
/**
|
|
145
148
|
* List all source connections created through a specific white label integration.
|
|
146
149
|
*
|
|
@@ -168,18 +171,18 @@ export declare class WhiteLabels {
|
|
|
168
171
|
* tracking and branding purposes.
|
|
169
172
|
*
|
|
170
173
|
* @param {string} whiteLabelId - The unique identifier of the white label integration
|
|
171
|
-
* @param {AirweaveSDK.
|
|
174
|
+
* @param {AirweaveSDK.BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions} request
|
|
172
175
|
* @param {WhiteLabels.RequestOptions} requestOptions - Request-specific configuration.
|
|
173
176
|
*
|
|
174
177
|
* @throws {@link AirweaveSDK.UnprocessableEntityError}
|
|
175
178
|
*
|
|
176
179
|
* @example
|
|
177
|
-
* await client.whiteLabels.
|
|
180
|
+
* await client.whiteLabels.exchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions("white_label_id", {
|
|
178
181
|
* code: "4/P7q7W91a-oMsCeLvIaQm6bTrgtp7"
|
|
179
182
|
* })
|
|
180
183
|
*/
|
|
181
|
-
|
|
182
|
-
private
|
|
184
|
+
exchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions(whiteLabelId: string, request: AirweaveSDK.BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions, requestOptions?: WhiteLabels.RequestOptions): core.HttpResponsePromise<AirweaveSDK.SourceConnection>;
|
|
185
|
+
private __exchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions;
|
|
183
186
|
protected _getCustomAuthorizationHeaders(): Promise<{
|
|
184
187
|
"x-api-key": string;
|
|
185
188
|
}>;
|
|
@@ -51,6 +51,9 @@ const core = __importStar(require("../../../../core/index.js"));
|
|
|
51
51
|
const AirweaveSDK = __importStar(require("../../../index.js"));
|
|
52
52
|
const headers_js_1 = require("../../../../core/headers.js");
|
|
53
53
|
const errors = __importStar(require("../../../../errors/index.js"));
|
|
54
|
+
/**
|
|
55
|
+
* API endpoints for managing custom OAuth2 integrations with your own branding and credentials
|
|
56
|
+
*/
|
|
54
57
|
class WhiteLabels {
|
|
55
58
|
constructor(_options) {
|
|
56
59
|
this._options = _options;
|
|
@@ -391,12 +394,12 @@ class WhiteLabels {
|
|
|
391
394
|
* @throws {@link AirweaveSDK.UnprocessableEntityError}
|
|
392
395
|
*
|
|
393
396
|
* @example
|
|
394
|
-
* await client.whiteLabels.
|
|
397
|
+
* await client.whiteLabels.getWhiteLabelOauth2AuthUrlWhiteLabelsWhiteLabelIdOauth2AuthUrlOptions("white_label_id")
|
|
395
398
|
*/
|
|
396
|
-
|
|
397
|
-
return core.HttpResponsePromise.fromPromise(this.
|
|
399
|
+
getWhiteLabelOauth2AuthUrlWhiteLabelsWhiteLabelIdOauth2AuthUrlOptions(whiteLabelId, requestOptions) {
|
|
400
|
+
return core.HttpResponsePromise.fromPromise(this.__getWhiteLabelOauth2AuthUrlWhiteLabelsWhiteLabelIdOauth2AuthUrlOptions(whiteLabelId, requestOptions));
|
|
398
401
|
}
|
|
399
|
-
|
|
402
|
+
__getWhiteLabelOauth2AuthUrlWhiteLabelsWhiteLabelIdOauth2AuthUrlOptions(whiteLabelId, requestOptions) {
|
|
400
403
|
return __awaiter(this, void 0, void 0, function* () {
|
|
401
404
|
var _a, _b, _c;
|
|
402
405
|
const _response = yield core.fetcher({
|
|
@@ -513,20 +516,20 @@ class WhiteLabels {
|
|
|
513
516
|
* tracking and branding purposes.
|
|
514
517
|
*
|
|
515
518
|
* @param {string} whiteLabelId - The unique identifier of the white label integration
|
|
516
|
-
* @param {AirweaveSDK.
|
|
519
|
+
* @param {AirweaveSDK.BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions} request
|
|
517
520
|
* @param {WhiteLabels.RequestOptions} requestOptions - Request-specific configuration.
|
|
518
521
|
*
|
|
519
522
|
* @throws {@link AirweaveSDK.UnprocessableEntityError}
|
|
520
523
|
*
|
|
521
524
|
* @example
|
|
522
|
-
* await client.whiteLabels.
|
|
525
|
+
* await client.whiteLabels.exchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions("white_label_id", {
|
|
523
526
|
* code: "4/P7q7W91a-oMsCeLvIaQm6bTrgtp7"
|
|
524
527
|
* })
|
|
525
528
|
*/
|
|
526
|
-
|
|
527
|
-
return core.HttpResponsePromise.fromPromise(this.
|
|
529
|
+
exchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions(whiteLabelId, request, requestOptions) {
|
|
530
|
+
return core.HttpResponsePromise.fromPromise(this.__exchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions(whiteLabelId, request, requestOptions));
|
|
528
531
|
}
|
|
529
|
-
|
|
532
|
+
__exchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions(whiteLabelId, request, requestOptions) {
|
|
530
533
|
return __awaiter(this, void 0, void 0, function* () {
|
|
531
534
|
var _a, _b, _c;
|
|
532
535
|
const _response = yield core.fetcher({
|
|
@@ -8,7 +8,7 @@ import * as AirweaveSDK from "../../../../index.js";
|
|
|
8
8
|
* code: "4/P7q7W91a-oMsCeLvIaQm6bTrgtp7"
|
|
9
9
|
* }
|
|
10
10
|
*/
|
|
11
|
-
export interface
|
|
11
|
+
export interface BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions {
|
|
12
12
|
/** The OAuth2 authorization code received from the OAuth callback after customer authentication */
|
|
13
13
|
code: string;
|
|
14
14
|
/** Optional configuration for the source connection. If not provided, a source connection will be created automatically with default settings. The white label integration is automatically linked to the source connection. */
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { type WhiteLabelCreate } from "./WhiteLabelCreate.js";
|
|
2
2
|
export { type WhiteLabelUpdate } from "./WhiteLabelUpdate.js";
|
|
3
|
-
export { type
|
|
3
|
+
export { type BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions } from "./BodyExchangeWhiteLabelOauth2CodeWhiteLabelsWhiteLabelIdOauth2CodeOptions.js";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Range filter request
|
|
6
|
+
*/
|
|
7
|
+
export interface DatetimeRange {
|
|
8
|
+
/** point.key < range.lt */
|
|
9
|
+
lt?: DatetimeRange.Lt;
|
|
10
|
+
/** point.key > range.gt */
|
|
11
|
+
gt?: DatetimeRange.Gt;
|
|
12
|
+
/** point.key >= range.gte */
|
|
13
|
+
gte?: DatetimeRange.Gte;
|
|
14
|
+
/** point.key <= range.lte */
|
|
15
|
+
lte?: DatetimeRange.Lte;
|
|
16
|
+
}
|
|
17
|
+
export declare namespace DatetimeRange {
|
|
18
|
+
/**
|
|
19
|
+
* point.key < range.lt
|
|
20
|
+
*/
|
|
21
|
+
type Lt = string | string;
|
|
22
|
+
/**
|
|
23
|
+
* point.key > range.gt
|
|
24
|
+
*/
|
|
25
|
+
type Gt = string | string;
|
|
26
|
+
/**
|
|
27
|
+
* point.key >= range.gte
|
|
28
|
+
*/
|
|
29
|
+
type Gte = string | string;
|
|
30
|
+
/**
|
|
31
|
+
* point.key <= range.lte
|
|
32
|
+
*/
|
|
33
|
+
type Lte = string | string;
|
|
34
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
*/
|
|
4
|
+
import * as AirweaveSDK from "../index.js";
|
|
5
|
+
/**
|
|
6
|
+
* All possible payload filtering conditions
|
|
7
|
+
*/
|
|
8
|
+
export interface FieldCondition {
|
|
9
|
+
/** Payload key */
|
|
10
|
+
key: string;
|
|
11
|
+
/** Check if point has field with a given value */
|
|
12
|
+
match?: FieldCondition.Match;
|
|
13
|
+
/** Check if points value lies in a given range */
|
|
14
|
+
range?: AirweaveSDK.Range;
|
|
15
|
+
/** Check if points geolocation lies in a given area */
|
|
16
|
+
geo_bounding_box?: AirweaveSDK.GeoBoundingBox;
|
|
17
|
+
/** Check if geo point is within a given radius */
|
|
18
|
+
geo_radius?: AirweaveSDK.GeoRadius;
|
|
19
|
+
/** Check if geo point is within a given polygon */
|
|
20
|
+
geo_polygon?: AirweaveSDK.GeoPolygon;
|
|
21
|
+
/** Check number of values of the field */
|
|
22
|
+
values_count?: AirweaveSDK.ValuesCount;
|
|
23
|
+
/** Check that the field is empty, alternative syntax for `is_empty: \"field_name\"` */
|
|
24
|
+
is_empty?: boolean;
|
|
25
|
+
/** Check that the field is null, alternative syntax for `is_null: \"field_name\"` */
|
|
26
|
+
is_null?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare namespace FieldCondition {
|
|
29
|
+
/**
|
|
30
|
+
* Check if point has field with a given value
|
|
31
|
+
*/
|
|
32
|
+
type Match = AirweaveSDK.MatchValue | AirweaveSDK.MatchText | AirweaveSDK.MatchAny | AirweaveSDK.MatchExcept;
|
|
33
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
*/
|
|
4
|
+
import * as AirweaveSDK from "../index.js";
|
|
5
|
+
export interface Filter {
|
|
6
|
+
/** At least one of those conditions should match */
|
|
7
|
+
should?: Filter.Should;
|
|
8
|
+
/** At least minimum amount of given conditions should match */
|
|
9
|
+
min_should?: AirweaveSDK.MinShould;
|
|
10
|
+
/** All conditions must match */
|
|
11
|
+
must?: Filter.Must;
|
|
12
|
+
/** All conditions must NOT match */
|
|
13
|
+
must_not?: Filter.MustNot;
|
|
14
|
+
}
|
|
15
|
+
export declare namespace Filter {
|
|
16
|
+
/**
|
|
17
|
+
* At least one of those conditions should match
|
|
18
|
+
*/
|
|
19
|
+
type Should = (AirweaveSDK.FieldCondition | AirweaveSDK.IsEmptyCondition | AirweaveSDK.IsNullCondition | AirweaveSDK.HasIdCondition | AirweaveSDK.HasVectorCondition | AirweaveSDK.NestedCondition | AirweaveSDK.Filter)[] | AirweaveSDK.FieldCondition | AirweaveSDK.IsEmptyCondition | AirweaveSDK.IsNullCondition | AirweaveSDK.HasIdCondition | AirweaveSDK.HasVectorCondition | AirweaveSDK.NestedCondition | AirweaveSDK.Filter;
|
|
20
|
+
/**
|
|
21
|
+
* All conditions must match
|
|
22
|
+
*/
|
|
23
|
+
type Must = (AirweaveSDK.FieldCondition | AirweaveSDK.IsEmptyCondition | AirweaveSDK.IsNullCondition | AirweaveSDK.HasIdCondition | AirweaveSDK.HasVectorCondition | AirweaveSDK.NestedCondition | AirweaveSDK.Filter)[] | AirweaveSDK.FieldCondition | AirweaveSDK.IsEmptyCondition | AirweaveSDK.IsNullCondition | AirweaveSDK.HasIdCondition | AirweaveSDK.HasVectorCondition | AirweaveSDK.NestedCondition | AirweaveSDK.Filter;
|
|
24
|
+
/**
|
|
25
|
+
* All conditions must NOT match
|
|
26
|
+
*/
|
|
27
|
+
type MustNot = (AirweaveSDK.FieldCondition | AirweaveSDK.IsEmptyCondition | AirweaveSDK.IsNullCondition | AirweaveSDK.HasIdCondition | AirweaveSDK.HasVectorCondition | AirweaveSDK.NestedCondition | AirweaveSDK.Filter)[] | AirweaveSDK.FieldCondition | AirweaveSDK.IsEmptyCondition | AirweaveSDK.IsNullCondition | AirweaveSDK.HasIdCondition | AirweaveSDK.HasVectorCondition | AirweaveSDK.NestedCondition | AirweaveSDK.Filter;
|
|
28
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
*/
|
|
4
|
+
import * as AirweaveSDK from "../index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Geo filter request Matches coordinates inside the rectangle, described by coordinates of lop-left and bottom-right edges
|
|
7
|
+
*/
|
|
8
|
+
export interface GeoBoundingBox {
|
|
9
|
+
/** Geo filter request Matches coordinates inside the rectangle, described by coordinates of lop-left and bottom-right edges */
|
|
10
|
+
top_left: AirweaveSDK.GeoPoint;
|
|
11
|
+
/** Geo filter request Matches coordinates inside the rectangle, described by coordinates of lop-left and bottom-right edges */
|
|
12
|
+
bottom_right: AirweaveSDK.GeoPoint;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
*/
|
|
4
|
+
import * as AirweaveSDK from "../index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Ordered sequence of GeoPoints representing the line
|
|
7
|
+
*/
|
|
8
|
+
export interface GeoLineString {
|
|
9
|
+
/** Ordered sequence of GeoPoints representing the line */
|
|
10
|
+
points: AirweaveSDK.GeoPoint[];
|
|
11
|
+
}
|