@chrt-inc/typescript-sdk 1.266.0 → 1.269.0

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 (78) hide show
  1. package/dist/cjs/Client.js +2 -2
  2. package/dist/cjs/api/resources/drivers/client/Client.d.ts +8 -1
  3. package/dist/cjs/api/resources/drivers/client/Client.js +8 -1
  4. package/dist/cjs/api/resources/drivers/client/requests/DriverLastSeenReq.d.ts +8 -1
  5. package/dist/cjs/api/resources/tracking/resources/driver/client/Client.d.ts +8 -1
  6. package/dist/cjs/api/resources/tracking/resources/driver/client/Client.js +8 -1
  7. package/dist/cjs/api/resources/tracking/resources/driver/client/requests/DriverUpdateReq.d.ts +8 -1
  8. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/Client.d.ts +66 -5
  9. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/Client.js +277 -8
  10. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceDataPointsPublicRequest.d.ts +13 -0
  11. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceGetRequest.d.ts +12 -0
  12. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceLastSeenPublicRequest.d.ts +12 -0
  13. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceMarkOutliersRequest1.d.ts +14 -0
  14. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceMarkOutliersRequest1.js +5 -0
  15. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/{SessionByDeviceUpdateCommentsRequest1.d.ts → SessionByDeviceUpdateRequest1.d.ts} +2 -1
  16. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceUpdateRequest1.js +5 -0
  17. package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/index.d.ts +5 -1
  18. package/dist/cjs/api/types/{LocationFeatureInputGeometry.d.ts → Geometry.d.ts} +2 -2
  19. package/dist/cjs/api/types/Geometry.js +5 -0
  20. package/dist/cjs/api/types/LocationFeature.d.ts +5 -1
  21. package/dist/cjs/api/types/LocationProperties.d.ts +2 -0
  22. package/dist/cjs/api/types/OutlierLabellerEnum.d.ts +8 -0
  23. package/dist/cjs/api/types/OutlierLabellerEnum.js +10 -0
  24. package/dist/cjs/api/types/Session1.d.ts +1 -0
  25. package/dist/cjs/api/types/SessionByDeviceMarkOutliersResponse1.d.ts +7 -0
  26. package/dist/cjs/api/types/SessionByDeviceMarkOutliersResponse1.js +5 -0
  27. package/dist/cjs/api/types/TrackingCargoByDeviceDataPointMetadata1.d.ts +3 -0
  28. package/dist/cjs/api/types/TrackingCargoByDriverDataPointMetadata1.d.ts +3 -0
  29. package/dist/cjs/api/types/TrackingSessionByDeviceDataPointMetadata1.d.ts +3 -0
  30. package/dist/cjs/api/types/TrackingTaskGroupByDriverDataPointMetadata1.d.ts +3 -0
  31. package/dist/cjs/api/types/index.d.ts +3 -2
  32. package/dist/cjs/api/types/index.js +3 -2
  33. package/dist/cjs/version.d.ts +1 -1
  34. package/dist/cjs/version.js +1 -1
  35. package/dist/esm/Client.mjs +2 -2
  36. package/dist/esm/api/resources/drivers/client/Client.d.mts +8 -1
  37. package/dist/esm/api/resources/drivers/client/Client.mjs +8 -1
  38. package/dist/esm/api/resources/drivers/client/requests/DriverLastSeenReq.d.mts +8 -1
  39. package/dist/esm/api/resources/tracking/resources/driver/client/Client.d.mts +8 -1
  40. package/dist/esm/api/resources/tracking/resources/driver/client/Client.mjs +8 -1
  41. package/dist/esm/api/resources/tracking/resources/driver/client/requests/DriverUpdateReq.d.mts +8 -1
  42. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/Client.d.mts +66 -5
  43. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/Client.mjs +277 -8
  44. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceDataPointsPublicRequest.d.mts +13 -0
  45. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceGetRequest.d.mts +12 -0
  46. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceLastSeenPublicRequest.d.mts +12 -0
  47. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceMarkOutliersRequest1.d.mts +14 -0
  48. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceMarkOutliersRequest1.mjs +4 -0
  49. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/{SessionByDeviceUpdateCommentsRequest1.d.mts → SessionByDeviceUpdateRequest1.d.mts} +2 -1
  50. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceUpdateRequest1.mjs +4 -0
  51. package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/index.d.mts +5 -1
  52. package/dist/esm/api/types/{LocationFeatureInputGeometry.d.mts → Geometry.d.mts} +2 -2
  53. package/dist/esm/api/types/Geometry.mjs +4 -0
  54. package/dist/esm/api/types/LocationFeature.d.mts +5 -1
  55. package/dist/esm/api/types/LocationProperties.d.mts +2 -0
  56. package/dist/esm/api/types/OutlierLabellerEnum.d.mts +8 -0
  57. package/dist/esm/api/types/OutlierLabellerEnum.mjs +7 -0
  58. package/dist/esm/api/types/Session1.d.mts +1 -0
  59. package/dist/esm/api/types/SessionByDeviceMarkOutliersResponse1.d.mts +7 -0
  60. package/dist/esm/api/types/SessionByDeviceMarkOutliersResponse1.mjs +4 -0
  61. package/dist/esm/api/types/TrackingCargoByDeviceDataPointMetadata1.d.mts +3 -0
  62. package/dist/esm/api/types/TrackingCargoByDriverDataPointMetadata1.d.mts +3 -0
  63. package/dist/esm/api/types/TrackingSessionByDeviceDataPointMetadata1.d.mts +3 -0
  64. package/dist/esm/api/types/TrackingTaskGroupByDriverDataPointMetadata1.d.mts +3 -0
  65. package/dist/esm/api/types/index.d.mts +3 -2
  66. package/dist/esm/api/types/index.mjs +3 -2
  67. package/dist/esm/version.d.mts +1 -1
  68. package/dist/esm/version.mjs +1 -1
  69. package/package.json +1 -1
  70. package/reference.md +283 -4
  71. package/dist/cjs/api/types/LocationFeatureOutputGeometry.d.ts +0 -28
  72. package/dist/esm/api/types/LocationFeatureOutputGeometry.d.mts +0 -28
  73. /package/dist/cjs/api/resources/tracking/resources/sessionByDevice/client/requests/{SessionByDeviceUpdateCommentsRequest1.js → SessionByDeviceDataPointsPublicRequest.js} +0 -0
  74. /package/dist/cjs/api/{types/LocationFeatureInputGeometry.js → resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceGetRequest.js} +0 -0
  75. /package/dist/cjs/api/{types/LocationFeatureOutputGeometry.js → resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceLastSeenPublicRequest.js} +0 -0
  76. /package/dist/esm/api/resources/tracking/resources/sessionByDevice/client/requests/{SessionByDeviceUpdateCommentsRequest1.mjs → SessionByDeviceDataPointsPublicRequest.mjs} +0 -0
  77. /package/dist/esm/api/{types/LocationFeatureInputGeometry.mjs → resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceGetRequest.mjs} +0 -0
  78. /package/dist/esm/api/{types/LocationFeatureOutputGeometry.mjs → resources/tracking/resources/sessionByDevice/client/requests/SessionByDeviceLastSeenPublicRequest.mjs} +0 -0
@@ -68,8 +68,8 @@ class ChrtClient {
68
68
  this._options = Object.assign(Object.assign({}, _options), { headers: (0, headers_js_1.mergeHeaders)({
69
69
  "X-Fern-Language": "JavaScript",
70
70
  "X-Fern-SDK-Name": "@chrt-inc/typescript-sdk",
71
- "X-Fern-SDK-Version": "1.266.0",
72
- "User-Agent": "@chrt-inc/typescript-sdk/1.266.0",
71
+ "X-Fern-SDK-Version": "1.269.0",
72
+ "User-Agent": "@chrt-inc/typescript-sdk/1.269.0",
73
73
  "X-Fern-Runtime": core.RUNTIME.type,
74
74
  "X-Fern-Runtime-Version": core.RUNTIME.version,
75
75
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -131,7 +131,14 @@ export declare class Drivers {
131
131
  * @example
132
132
  * await client.drivers.lastSeen({
133
133
  * location: {
134
- * type: "Feature"
134
+ * type: "Feature",
135
+ * geometry: {
136
+ * type: "GeometryCollection",
137
+ * geometries: [{
138
+ * type: "LineString",
139
+ * coordinates: [[]]
140
+ * }]
141
+ * }
135
142
  * }
136
143
  * })
137
144
  */
@@ -469,7 +469,14 @@ class Drivers {
469
469
  * @example
470
470
  * await client.drivers.lastSeen({
471
471
  * location: {
472
- * type: "Feature"
472
+ * type: "Feature",
473
+ * geometry: {
474
+ * type: "GeometryCollection",
475
+ * geometries: [{
476
+ * type: "LineString",
477
+ * coordinates: [[]]
478
+ * }]
479
+ * }
473
480
  * }
474
481
  * })
475
482
  */
@@ -6,7 +6,14 @@ import * as Chrt from "../../../../index.js";
6
6
  * @example
7
7
  * {
8
8
  * location: {
9
- * type: "Feature"
9
+ * type: "Feature",
10
+ * geometry: {
11
+ * type: "GeometryCollection",
12
+ * geometries: [{
13
+ * type: "LineString",
14
+ * coordinates: [[]]
15
+ * }]
16
+ * }
10
17
  * }
11
18
  * }
12
19
  */
@@ -43,7 +43,14 @@ export declare class Driver {
43
43
  * task_group_id: "task_group_id",
44
44
  * timestamp: "2024-01-15T09:30:00Z",
45
45
  * location: {
46
- * type: "Feature"
46
+ * type: "Feature",
47
+ * geometry: {
48
+ * type: "GeometryCollection",
49
+ * geometries: [{
50
+ * type: "LineString",
51
+ * coordinates: [[]]
52
+ * }]
53
+ * }
47
54
  * }
48
55
  * })
49
56
  */
@@ -68,7 +68,14 @@ class Driver {
68
68
  * task_group_id: "task_group_id",
69
69
  * timestamp: "2024-01-15T09:30:00Z",
70
70
  * location: {
71
- * type: "Feature"
71
+ * type: "Feature",
72
+ * geometry: {
73
+ * type: "GeometryCollection",
74
+ * geometries: [{
75
+ * type: "LineString",
76
+ * coordinates: [[]]
77
+ * }]
78
+ * }
72
79
  * }
73
80
  * })
74
81
  */
@@ -8,7 +8,14 @@ import * as Chrt from "../../../../../../index.js";
8
8
  * task_group_id: "task_group_id",
9
9
  * timestamp: "2024-01-15T09:30:00Z",
10
10
  * location: {
11
- * type: "Feature"
11
+ * type: "Feature",
12
+ * geometry: {
13
+ * type: "GeometryCollection",
14
+ * geometries: [{
15
+ * type: "LineString",
16
+ * coordinates: [[]]
17
+ * }]
18
+ * }
12
19
  * }
13
20
  * }
14
21
  */
@@ -40,6 +40,21 @@ export declare class SessionByDevice {
40
40
  */
41
41
  list(requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<Chrt.Session1[]>;
42
42
  private __list;
43
+ /**
44
+ * Get a single session document by session_id.
45
+ *
46
+ * @param {Chrt.tracking.SessionByDeviceGetRequest} request
47
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
48
+ *
49
+ * @throws {@link Chrt.UnprocessableEntityError}
50
+ *
51
+ * @example
52
+ * await client.tracking.sessionByDevice.get({
53
+ * session_id: "session_id"
54
+ * })
55
+ */
56
+ get(request: Chrt.tracking.SessionByDeviceGetRequest, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<Chrt.Session1>;
57
+ private __get;
43
58
  /**
44
59
  * Return the most recent datapoint for a session.
45
60
  *
@@ -86,20 +101,20 @@ export declare class SessionByDevice {
86
101
  createSession(request: Chrt.tracking.SessionByDeviceCreateSessionRequest1, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<string>;
87
102
  private __createSession;
88
103
  /**
89
- * Overwrite or delete the comments for a session.
104
+ * Update a session's comments and/or public visibility status.
90
105
  *
91
- * @param {Chrt.tracking.SessionByDeviceUpdateCommentsRequest1} request
106
+ * @param {Chrt.tracking.SessionByDeviceUpdateRequest1} request
92
107
  * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
93
108
  *
94
109
  * @throws {@link Chrt.UnprocessableEntityError}
95
110
  *
96
111
  * @example
97
- * await client.tracking.sessionByDevice.updateComments({
112
+ * await client.tracking.sessionByDevice.update({
98
113
  * session_id: "session_id"
99
114
  * })
100
115
  */
101
- updateComments(request: Chrt.tracking.SessionByDeviceUpdateCommentsRequest1, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<boolean>;
102
- private __updateComments;
116
+ update(request: Chrt.tracking.SessionByDeviceUpdateRequest1, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<boolean>;
117
+ private __update;
103
118
  /**
104
119
  * Start a session (set recording=true).
105
120
  *
@@ -160,6 +175,22 @@ export declare class SessionByDevice {
160
175
  */
161
176
  terminate(request: Chrt.tracking.SessionByDeviceTerminateRequest, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<boolean>;
162
177
  private __terminate;
178
+ /**
179
+ * Mark data points as outliers or non-outliers. Uses atomic delete + insert strategy for time-series collection updates.
180
+ *
181
+ * @param {Chrt.tracking.SessionByDeviceMarkOutliersRequest1} request
182
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
183
+ *
184
+ * @throws {@link Chrt.UnprocessableEntityError}
185
+ *
186
+ * @example
187
+ * await client.tracking.sessionByDevice.outlier({
188
+ * tracking_session_by_device_data_point_ids: ["tracking_session_by_device_data_point_ids"],
189
+ * outlier: true
190
+ * })
191
+ */
192
+ outlier(request: Chrt.tracking.SessionByDeviceMarkOutliersRequest1, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<Chrt.SessionByDeviceMarkOutliersResponse1>;
193
+ private __outlier;
163
194
  /**
164
195
  * Delete a terminated session and all associated timeseries data.
165
196
  *
@@ -175,5 +206,35 @@ export declare class SessionByDevice {
175
206
  */
176
207
  delete(request: Chrt.tracking.SessionByDeviceDeleteRequest, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<Chrt.SessionByDeviceDeleteResponse1>;
177
208
  private __delete;
209
+ /**
210
+ * Return the most recent datapoint for a session. Session must be have public=True.
211
+ *
212
+ * @param {Chrt.tracking.SessionByDeviceLastSeenPublicRequest} request
213
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
214
+ *
215
+ * @throws {@link Chrt.UnprocessableEntityError}
216
+ *
217
+ * @example
218
+ * await client.tracking.sessionByDevice.lastSeenPublic({
219
+ * session_id: "session_id"
220
+ * })
221
+ */
222
+ lastSeenPublic(request: Chrt.tracking.SessionByDeviceLastSeenPublicRequest, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<(Chrt.TrackingSessionByDeviceDataPoint1 | null) | undefined>;
223
+ private __lastSeenPublic;
224
+ /**
225
+ * Return a specified number of data points for a public session, intelligently sampled across the time range. Session must have public=True.
226
+ *
227
+ * @param {Chrt.tracking.SessionByDeviceDataPointsPublicRequest} request
228
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
229
+ *
230
+ * @throws {@link Chrt.UnprocessableEntityError}
231
+ *
232
+ * @example
233
+ * await client.tracking.sessionByDevice.dataPointsPublic({
234
+ * session_id: "session_id"
235
+ * })
236
+ */
237
+ dataPointsPublic(request: Chrt.tracking.SessionByDeviceDataPointsPublicRequest, requestOptions?: SessionByDevice.RequestOptions): core.HttpResponsePromise<Chrt.TrackingSessionByDeviceDataPoint1[]>;
238
+ private __dataPointsPublic;
178
239
  protected _getAuthorizationHeader(): Promise<string | undefined>;
179
240
  }
@@ -106,6 +106,70 @@ class SessionByDevice {
106
106
  }
107
107
  });
108
108
  }
109
+ /**
110
+ * Get a single session document by session_id.
111
+ *
112
+ * @param {Chrt.tracking.SessionByDeviceGetRequest} request
113
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
114
+ *
115
+ * @throws {@link Chrt.UnprocessableEntityError}
116
+ *
117
+ * @example
118
+ * await client.tracking.sessionByDevice.get({
119
+ * session_id: "session_id"
120
+ * })
121
+ */
122
+ get(request, requestOptions) {
123
+ return core.HttpResponsePromise.fromPromise(this.__get(request, requestOptions));
124
+ }
125
+ __get(request, requestOptions) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ var _a, _b, _c, _d;
128
+ const { session_id: sessionId } = request;
129
+ const _queryParams = {};
130
+ _queryParams["session_id"] = sessionId;
131
+ let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
132
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
133
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.ChrtEnvironment.Local, "tracking/session_by_device/get"),
134
+ method: "GET",
135
+ headers: _headers,
136
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
137
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
138
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
139
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
140
+ });
141
+ if (_response.ok) {
142
+ return { data: _response.body, rawResponse: _response.rawResponse };
143
+ }
144
+ if (_response.error.reason === "status-code") {
145
+ switch (_response.error.statusCode) {
146
+ case 422:
147
+ throw new Chrt.UnprocessableEntityError(_response.error.body, _response.rawResponse);
148
+ default:
149
+ throw new errors.ChrtError({
150
+ statusCode: _response.error.statusCode,
151
+ body: _response.error.body,
152
+ rawResponse: _response.rawResponse,
153
+ });
154
+ }
155
+ }
156
+ switch (_response.error.reason) {
157
+ case "non-json":
158
+ throw new errors.ChrtError({
159
+ statusCode: _response.error.statusCode,
160
+ body: _response.error.rawBody,
161
+ rawResponse: _response.rawResponse,
162
+ });
163
+ case "timeout":
164
+ throw new errors.ChrtTimeoutError("Timeout exceeded when calling GET /tracking/session_by_device/get.");
165
+ case "unknown":
166
+ throw new errors.ChrtError({
167
+ message: _response.error.errorMessage,
168
+ rawResponse: _response.rawResponse,
169
+ });
170
+ }
171
+ });
172
+ }
109
173
  /**
110
174
  * Return the most recent datapoint for a session.
111
175
  *
@@ -308,27 +372,27 @@ class SessionByDevice {
308
372
  });
309
373
  }
310
374
  /**
311
- * Overwrite or delete the comments for a session.
375
+ * Update a session's comments and/or public visibility status.
312
376
  *
313
- * @param {Chrt.tracking.SessionByDeviceUpdateCommentsRequest1} request
377
+ * @param {Chrt.tracking.SessionByDeviceUpdateRequest1} request
314
378
  * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
315
379
  *
316
380
  * @throws {@link Chrt.UnprocessableEntityError}
317
381
  *
318
382
  * @example
319
- * await client.tracking.sessionByDevice.updateComments({
383
+ * await client.tracking.sessionByDevice.update({
320
384
  * session_id: "session_id"
321
385
  * })
322
386
  */
323
- updateComments(request, requestOptions) {
324
- return core.HttpResponsePromise.fromPromise(this.__updateComments(request, requestOptions));
387
+ update(request, requestOptions) {
388
+ return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions));
325
389
  }
326
- __updateComments(request, requestOptions) {
390
+ __update(request, requestOptions) {
327
391
  return __awaiter(this, void 0, void 0, function* () {
328
392
  var _a, _b, _c, _d;
329
393
  let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
330
394
  const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
331
- url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.ChrtEnvironment.Local, "tracking/session_by_device/update_comments"),
395
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.ChrtEnvironment.Local, "tracking/session_by_device/update"),
332
396
  method: "POST",
333
397
  headers: _headers,
334
398
  contentType: "application/json",
@@ -362,7 +426,7 @@ class SessionByDevice {
362
426
  rawResponse: _response.rawResponse,
363
427
  });
364
428
  case "timeout":
365
- throw new errors.ChrtTimeoutError("Timeout exceeded when calling POST /tracking/session_by_device/update_comments.");
429
+ throw new errors.ChrtTimeoutError("Timeout exceeded when calling POST /tracking/session_by_device/update.");
366
430
  case "unknown":
367
431
  throw new errors.ChrtError({
368
432
  message: _response.error.errorMessage,
@@ -627,6 +691,74 @@ class SessionByDevice {
627
691
  }
628
692
  });
629
693
  }
694
+ /**
695
+ * Mark data points as outliers or non-outliers. Uses atomic delete + insert strategy for time-series collection updates.
696
+ *
697
+ * @param {Chrt.tracking.SessionByDeviceMarkOutliersRequest1} request
698
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
699
+ *
700
+ * @throws {@link Chrt.UnprocessableEntityError}
701
+ *
702
+ * @example
703
+ * await client.tracking.sessionByDevice.outlier({
704
+ * tracking_session_by_device_data_point_ids: ["tracking_session_by_device_data_point_ids"],
705
+ * outlier: true
706
+ * })
707
+ */
708
+ outlier(request, requestOptions) {
709
+ return core.HttpResponsePromise.fromPromise(this.__outlier(request, requestOptions));
710
+ }
711
+ __outlier(request, requestOptions) {
712
+ return __awaiter(this, void 0, void 0, function* () {
713
+ var _a, _b, _c, _d;
714
+ let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
715
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
716
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.ChrtEnvironment.Local, "tracking/session_by_device/outlier"),
717
+ method: "POST",
718
+ headers: _headers,
719
+ contentType: "application/json",
720
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
721
+ requestType: "json",
722
+ body: request,
723
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
724
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
725
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
726
+ });
727
+ if (_response.ok) {
728
+ return {
729
+ data: _response.body,
730
+ rawResponse: _response.rawResponse,
731
+ };
732
+ }
733
+ if (_response.error.reason === "status-code") {
734
+ switch (_response.error.statusCode) {
735
+ case 422:
736
+ throw new Chrt.UnprocessableEntityError(_response.error.body, _response.rawResponse);
737
+ default:
738
+ throw new errors.ChrtError({
739
+ statusCode: _response.error.statusCode,
740
+ body: _response.error.body,
741
+ rawResponse: _response.rawResponse,
742
+ });
743
+ }
744
+ }
745
+ switch (_response.error.reason) {
746
+ case "non-json":
747
+ throw new errors.ChrtError({
748
+ statusCode: _response.error.statusCode,
749
+ body: _response.error.rawBody,
750
+ rawResponse: _response.rawResponse,
751
+ });
752
+ case "timeout":
753
+ throw new errors.ChrtTimeoutError("Timeout exceeded when calling POST /tracking/session_by_device/outlier.");
754
+ case "unknown":
755
+ throw new errors.ChrtError({
756
+ message: _response.error.errorMessage,
757
+ rawResponse: _response.rawResponse,
758
+ });
759
+ }
760
+ });
761
+ }
630
762
  /**
631
763
  * Delete a terminated session and all associated timeseries data.
632
764
  *
@@ -691,6 +823,143 @@ class SessionByDevice {
691
823
  }
692
824
  });
693
825
  }
826
+ /**
827
+ * Return the most recent datapoint for a session. Session must be have public=True.
828
+ *
829
+ * @param {Chrt.tracking.SessionByDeviceLastSeenPublicRequest} request
830
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
831
+ *
832
+ * @throws {@link Chrt.UnprocessableEntityError}
833
+ *
834
+ * @example
835
+ * await client.tracking.sessionByDevice.lastSeenPublic({
836
+ * session_id: "session_id"
837
+ * })
838
+ */
839
+ lastSeenPublic(request, requestOptions) {
840
+ return core.HttpResponsePromise.fromPromise(this.__lastSeenPublic(request, requestOptions));
841
+ }
842
+ __lastSeenPublic(request, requestOptions) {
843
+ return __awaiter(this, void 0, void 0, function* () {
844
+ var _a, _b, _c, _d;
845
+ const { session_id: sessionId } = request;
846
+ const _queryParams = {};
847
+ _queryParams["session_id"] = sessionId;
848
+ let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
849
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
850
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.ChrtEnvironment.Local, "tracking/session_by_device/last_seen_public"),
851
+ method: "GET",
852
+ headers: _headers,
853
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
854
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
855
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
856
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
857
+ });
858
+ if (_response.ok) {
859
+ return {
860
+ data: _response.body,
861
+ rawResponse: _response.rawResponse,
862
+ };
863
+ }
864
+ if (_response.error.reason === "status-code") {
865
+ switch (_response.error.statusCode) {
866
+ case 422:
867
+ throw new Chrt.UnprocessableEntityError(_response.error.body, _response.rawResponse);
868
+ default:
869
+ throw new errors.ChrtError({
870
+ statusCode: _response.error.statusCode,
871
+ body: _response.error.body,
872
+ rawResponse: _response.rawResponse,
873
+ });
874
+ }
875
+ }
876
+ switch (_response.error.reason) {
877
+ case "non-json":
878
+ throw new errors.ChrtError({
879
+ statusCode: _response.error.statusCode,
880
+ body: _response.error.rawBody,
881
+ rawResponse: _response.rawResponse,
882
+ });
883
+ case "timeout":
884
+ throw new errors.ChrtTimeoutError("Timeout exceeded when calling GET /tracking/session_by_device/last_seen_public.");
885
+ case "unknown":
886
+ throw new errors.ChrtError({
887
+ message: _response.error.errorMessage,
888
+ rawResponse: _response.rawResponse,
889
+ });
890
+ }
891
+ });
892
+ }
893
+ /**
894
+ * Return a specified number of data points for a public session, intelligently sampled across the time range. Session must have public=True.
895
+ *
896
+ * @param {Chrt.tracking.SessionByDeviceDataPointsPublicRequest} request
897
+ * @param {SessionByDevice.RequestOptions} requestOptions - Request-specific configuration.
898
+ *
899
+ * @throws {@link Chrt.UnprocessableEntityError}
900
+ *
901
+ * @example
902
+ * await client.tracking.sessionByDevice.dataPointsPublic({
903
+ * session_id: "session_id"
904
+ * })
905
+ */
906
+ dataPointsPublic(request, requestOptions) {
907
+ return core.HttpResponsePromise.fromPromise(this.__dataPointsPublic(request, requestOptions));
908
+ }
909
+ __dataPointsPublic(request, requestOptions) {
910
+ return __awaiter(this, void 0, void 0, function* () {
911
+ var _a, _b, _c, _d, _e;
912
+ const { session_id: sessionId, limit } = request;
913
+ const _queryParams = {};
914
+ _queryParams["session_id"] = sessionId;
915
+ if (limit !== undefined) {
916
+ _queryParams["limit"] = (_a = limit === null || limit === void 0 ? void 0 : limit.toString()) !== null && _a !== void 0 ? _a : null;
917
+ }
918
+ let _headers = (0, headers_js_1.mergeHeaders)((_b = this._options) === null || _b === void 0 ? void 0 : _b.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
919
+ const _response = yield ((_c = this._options.fetcher) !== null && _c !== void 0 ? _c : core.fetcher)({
920
+ url: core.url.join((_e = (_d = (yield core.Supplier.get(this._options.baseUrl))) !== null && _d !== void 0 ? _d : (yield core.Supplier.get(this._options.environment))) !== null && _e !== void 0 ? _e : environments.ChrtEnvironment.Local, "tracking/session_by_device/data_points/public"),
921
+ method: "GET",
922
+ headers: _headers,
923
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
924
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
925
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
926
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
927
+ });
928
+ if (_response.ok) {
929
+ return {
930
+ data: _response.body,
931
+ rawResponse: _response.rawResponse,
932
+ };
933
+ }
934
+ if (_response.error.reason === "status-code") {
935
+ switch (_response.error.statusCode) {
936
+ case 422:
937
+ throw new Chrt.UnprocessableEntityError(_response.error.body, _response.rawResponse);
938
+ default:
939
+ throw new errors.ChrtError({
940
+ statusCode: _response.error.statusCode,
941
+ body: _response.error.body,
942
+ rawResponse: _response.rawResponse,
943
+ });
944
+ }
945
+ }
946
+ switch (_response.error.reason) {
947
+ case "non-json":
948
+ throw new errors.ChrtError({
949
+ statusCode: _response.error.statusCode,
950
+ body: _response.error.rawBody,
951
+ rawResponse: _response.rawResponse,
952
+ });
953
+ case "timeout":
954
+ throw new errors.ChrtTimeoutError("Timeout exceeded when calling GET /tracking/session_by_device/data_points/public.");
955
+ case "unknown":
956
+ throw new errors.ChrtError({
957
+ message: _response.error.errorMessage,
958
+ rawResponse: _response.rawResponse,
959
+ });
960
+ }
961
+ });
962
+ }
694
963
  _getAuthorizationHeader() {
695
964
  return __awaiter(this, void 0, void 0, function* () {
696
965
  const bearer = yield core.Supplier.get(this._options.token);
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * session_id: "session_id"
8
+ * }
9
+ */
10
+ export interface SessionByDeviceDataPointsPublicRequest {
11
+ session_id: string;
12
+ limit?: number | null;
13
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * session_id: "session_id"
8
+ * }
9
+ */
10
+ export interface SessionByDeviceGetRequest {
11
+ session_id: string;
12
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * session_id: "session_id"
8
+ * }
9
+ */
10
+ export interface SessionByDeviceLastSeenPublicRequest {
11
+ session_id: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * tracking_session_by_device_data_point_ids: ["tracking_session_by_device_data_point_ids"],
8
+ * outlier: true
9
+ * }
10
+ */
11
+ export interface SessionByDeviceMarkOutliersRequest1 {
12
+ tracking_session_by_device_data_point_ids: string[];
13
+ outlier: boolean;
14
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,8 +7,9 @@
7
7
  * session_id: "session_id"
8
8
  * }
9
9
  */
10
- export interface SessionByDeviceUpdateCommentsRequest1 {
10
+ export interface SessionByDeviceUpdateRequest1 {
11
11
  session_id: string;
12
12
  comments?: string | null;
13
13
  delete_comments?: boolean;
14
+ public?: boolean | null;
14
15
  }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +1,13 @@
1
+ export { type SessionByDeviceGetRequest } from "./SessionByDeviceGetRequest.js";
1
2
  export { type SessionByDeviceLastSeenRequest } from "./SessionByDeviceLastSeenRequest.js";
2
3
  export { type SessionByDeviceDataPointsRequest } from "./SessionByDeviceDataPointsRequest.js";
3
4
  export { type SessionByDeviceCreateSessionRequest1 } from "./SessionByDeviceCreateSessionRequest1.js";
4
- export { type SessionByDeviceUpdateCommentsRequest1 } from "./SessionByDeviceUpdateCommentsRequest1.js";
5
+ export { type SessionByDeviceUpdateRequest1 } from "./SessionByDeviceUpdateRequest1.js";
5
6
  export { type SessionByDeviceStartRequest } from "./SessionByDeviceStartRequest.js";
6
7
  export { type SessionByDevicePauseRecordingRequest } from "./SessionByDevicePauseRecordingRequest.js";
7
8
  export { type SessionByDeviceResumeRecordingRequest } from "./SessionByDeviceResumeRecordingRequest.js";
8
9
  export { type SessionByDeviceTerminateRequest } from "./SessionByDeviceTerminateRequest.js";
10
+ export { type SessionByDeviceMarkOutliersRequest1 } from "./SessionByDeviceMarkOutliersRequest1.js";
9
11
  export { type SessionByDeviceDeleteRequest } from "./SessionByDeviceDeleteRequest.js";
12
+ export { type SessionByDeviceLastSeenPublicRequest } from "./SessionByDeviceLastSeenPublicRequest.js";
13
+ export { type SessionByDeviceDataPointsPublicRequest } from "./SessionByDeviceDataPointsPublicRequest.js";