@athenaintel/sdk 4.3.2253 → 4.3.2255

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 (32) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/meetings/client/Client.d.ts +10 -11
  3. package/dist/cjs/api/resources/meetings/client/Client.js +78 -10
  4. package/dist/cjs/api/resources/meetings/client/requests/ClipMeetingsRequest.d.ts +19 -0
  5. package/dist/cjs/api/resources/meetings/client/requests/ClipMeetingsRequest.js +3 -0
  6. package/dist/cjs/api/resources/meetings/client/requests/DownloadMeetingsRequest.d.ts +2 -2
  7. package/dist/cjs/api/resources/meetings/client/requests/index.d.ts +1 -0
  8. package/dist/cjs/api/resources/meetings/types/ClipMeetingsRequestMedia.d.ts +5 -0
  9. package/dist/cjs/api/resources/meetings/types/ClipMeetingsRequestMedia.js +8 -0
  10. package/dist/cjs/api/resources/meetings/types/DownloadMeetingsRequestArtifact.d.ts +1 -1
  11. package/dist/cjs/api/resources/meetings/types/DownloadMeetingsRequestArtifact.js +1 -1
  12. package/dist/cjs/api/resources/meetings/types/index.d.ts +1 -0
  13. package/dist/cjs/api/resources/meetings/types/index.js +1 -0
  14. package/dist/cjs/version.d.ts +1 -1
  15. package/dist/cjs/version.js +1 -1
  16. package/dist/esm/BaseClient.mjs +2 -2
  17. package/dist/esm/api/resources/meetings/client/Client.d.mts +10 -11
  18. package/dist/esm/api/resources/meetings/client/Client.mjs +78 -10
  19. package/dist/esm/api/resources/meetings/client/requests/ClipMeetingsRequest.d.mts +19 -0
  20. package/dist/esm/api/resources/meetings/client/requests/ClipMeetingsRequest.mjs +2 -0
  21. package/dist/esm/api/resources/meetings/client/requests/DownloadMeetingsRequest.d.mts +2 -2
  22. package/dist/esm/api/resources/meetings/client/requests/index.d.mts +1 -0
  23. package/dist/esm/api/resources/meetings/types/ClipMeetingsRequestMedia.d.mts +5 -0
  24. package/dist/esm/api/resources/meetings/types/ClipMeetingsRequestMedia.mjs +5 -0
  25. package/dist/esm/api/resources/meetings/types/DownloadMeetingsRequestArtifact.d.mts +1 -1
  26. package/dist/esm/api/resources/meetings/types/DownloadMeetingsRequestArtifact.mjs +1 -1
  27. package/dist/esm/api/resources/meetings/types/index.d.mts +1 -0
  28. package/dist/esm/api/resources/meetings/types/index.mjs +1 -0
  29. package/dist/esm/version.d.mts +1 -1
  30. package/dist/esm/version.mjs +1 -1
  31. package/package.json +1 -1
  32. package/reference.md +70 -3
@@ -43,8 +43,8 @@ function normalizeClientOptions(options) {
43
43
  const headers = (0, headers_js_1.mergeHeaders)({
44
44
  "X-Fern-Language": "JavaScript",
45
45
  "X-Fern-SDK-Name": "@athenaintel/sdk",
46
- "X-Fern-SDK-Version": "4.3.2253",
47
- "User-Agent": "@athenaintel/sdk/4.3.2253",
46
+ "X-Fern-SDK-Version": "4.3.2255",
47
+ "User-Agent": "@athenaintel/sdk/4.3.2255",
48
48
  "X-Fern-Runtime": core.RUNTIME.type,
49
49
  "X-Fern-Runtime-Version": core.RUNTIME.version,
50
50
  "X-Athena-Session-Credential": options === null || options === void 0 ? void 0 : options.sessionCredential,
@@ -44,20 +44,19 @@ export declare class MeetingsClient {
44
44
  get(request: AthenaIntelligence.GetMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.MeetingOut>;
45
45
  private __get;
46
46
  /**
47
- * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets.
48
- *
49
- * @param {AthenaIntelligence.DownloadMeetingsRequest} request
50
- * @param {MeetingsClient.RequestOptions} requestOptions - Request-specific configuration.
51
- *
47
+ * Cut the range [start, end) seconds out of a meeting's video recording, a voice memo, or a video/audio asset and stream it back: H.264/AAC MP4 for video, AAC audio (audio/mp4) for audio. The clip is not saved as an asset. Ranges are limited to 10 minutes.
48
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
49
+ * @throws {@link AthenaIntelligence.NotFoundError}
50
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
51
+ */
52
+ clip(request: AthenaIntelligence.ClipMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<core.BinaryResponse>;
53
+ private __clip;
54
+ /**
55
+ * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets. Also accepts a voice memo asset ID with artifact=recording, which streams the memo's recorded audio (for example audio/webm).
52
56
  * @throws {@link AthenaIntelligence.UnauthorizedError}
53
57
  * @throws {@link AthenaIntelligence.NotFoundError}
54
58
  * @throws {@link AthenaIntelligence.UnprocessableEntityError}
55
- *
56
- * @example
57
- * await client.meetings.download({
58
- * asset_id: "asset_92492920-d118-42d3-95b4-00eccfe0754f"
59
- * })
60
59
  */
61
- download(request: AthenaIntelligence.DownloadMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<unknown>;
60
+ download(request: AthenaIntelligence.DownloadMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<core.BinaryResponse>;
62
61
  private __download;
63
62
  }
@@ -255,19 +255,86 @@ class MeetingsClient {
255
255
  });
256
256
  }
257
257
  /**
258
- * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets.
259
- *
260
- * @param {AthenaIntelligence.DownloadMeetingsRequest} request
261
- * @param {MeetingsClient.RequestOptions} requestOptions - Request-specific configuration.
262
- *
258
+ * Cut the range [start, end) seconds out of a meeting's video recording, a voice memo, or a video/audio asset and stream it back: H.264/AAC MP4 for video, AAC audio (audio/mp4) for audio. The clip is not saved as an asset. Ranges are limited to 10 minutes.
259
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
260
+ * @throws {@link AthenaIntelligence.NotFoundError}
261
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
262
+ */
263
+ clip(request, requestOptions) {
264
+ return core.HttpResponsePromise.fromPromise(this.__clip(request, requestOptions));
265
+ }
266
+ __clip(request, requestOptions) {
267
+ return __awaiter(this, void 0, void 0, function* () {
268
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
269
+ const { asset_id: assetId, start, end, media } = request;
270
+ const _queryParams = {};
271
+ _queryParams.start = start.toString();
272
+ _queryParams.end = end.toString();
273
+ if (media !== undefined) {
274
+ _queryParams.media = media;
275
+ }
276
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
277
+ const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({
278
+ "X-Athena-Session-Credential": (_b = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.sessionCredential) !== null && _b !== void 0 ? _b : (_c = this._options) === null || _c === void 0 ? void 0 : _c.sessionCredential,
279
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
280
+ const _response = yield ((_d = this._options.fetcher) !== null && _d !== void 0 ? _d : core.fetcher)({
281
+ url: core.url.join((_f = (_e = (yield core.Supplier.get(this._options.baseUrl))) !== null && _e !== void 0 ? _e : (yield core.Supplier.get(this._options.environment))) !== null && _f !== void 0 ? _f : environments.AthenaIntelligenceEnvironment.Production, `api/v0/meetings/${core.url.encodePathParam(assetId)}/clip`),
282
+ method: "GET",
283
+ headers: _headers,
284
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
285
+ responseType: "binary-response",
286
+ timeoutMs: ((_j = (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.timeoutInSeconds) !== null && _j !== void 0 ? _j : 60) * 1000,
287
+ maxRetries: (_k = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _k !== void 0 ? _k : (_l = this._options) === null || _l === void 0 ? void 0 : _l.maxRetries,
288
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
289
+ fetchFn: (_m = this._options) === null || _m === void 0 ? void 0 : _m.fetch,
290
+ logging: this._options.logging,
291
+ });
292
+ if (_response.ok) {
293
+ return { data: _response.body, rawResponse: _response.rawResponse };
294
+ }
295
+ if (_response.error.reason === "status-code") {
296
+ switch (_response.error.statusCode) {
297
+ case 401:
298
+ throw new AthenaIntelligence.UnauthorizedError(_response.error.body, _response.rawResponse);
299
+ case 404:
300
+ throw new AthenaIntelligence.NotFoundError(_response.error.body, _response.rawResponse);
301
+ case 422:
302
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
303
+ default:
304
+ throw new errors.AthenaIntelligenceError({
305
+ statusCode: _response.error.statusCode,
306
+ body: _response.error.body,
307
+ rawResponse: _response.rawResponse,
308
+ });
309
+ }
310
+ }
311
+ switch (_response.error.reason) {
312
+ case "non-json":
313
+ throw new errors.AthenaIntelligenceError({
314
+ statusCode: _response.error.statusCode,
315
+ body: _response.error.rawBody,
316
+ rawResponse: _response.rawResponse,
317
+ });
318
+ case "body-is-null":
319
+ throw new errors.AthenaIntelligenceError({
320
+ statusCode: _response.error.statusCode,
321
+ rawResponse: _response.rawResponse,
322
+ });
323
+ case "timeout":
324
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling GET /api/v0/meetings/{asset_id}/clip.");
325
+ case "unknown":
326
+ throw new errors.AthenaIntelligenceError({
327
+ message: _response.error.errorMessage,
328
+ rawResponse: _response.rawResponse,
329
+ });
330
+ }
331
+ });
332
+ }
333
+ /**
334
+ * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets. Also accepts a voice memo asset ID with artifact=recording, which streams the memo's recorded audio (for example audio/webm).
263
335
  * @throws {@link AthenaIntelligence.UnauthorizedError}
264
336
  * @throws {@link AthenaIntelligence.NotFoundError}
265
337
  * @throws {@link AthenaIntelligence.UnprocessableEntityError}
266
- *
267
- * @example
268
- * await client.meetings.download({
269
- * asset_id: "asset_92492920-d118-42d3-95b4-00eccfe0754f"
270
- * })
271
338
  */
272
339
  download(request, requestOptions) {
273
340
  return core.HttpResponsePromise.fromPromise(this.__download(request, requestOptions));
@@ -289,6 +356,7 @@ class MeetingsClient {
289
356
  method: "GET",
290
357
  headers: _headers,
291
358
  queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
359
+ responseType: "binary-response",
292
360
  timeoutMs: ((_j = (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.timeoutInSeconds) !== null && _j !== void 0 ? _j : 60) * 1000,
293
361
  maxRetries: (_k = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _k !== void 0 ? _k : (_l = this._options) === null || _l === void 0 ? void 0 : _l.maxRetries,
294
362
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
@@ -0,0 +1,19 @@
1
+ import type * as AthenaIntelligence from "../../../../index.js";
2
+ /**
3
+ * @example
4
+ * {
5
+ * asset_id: "asset_id",
6
+ * start: 1.1,
7
+ * end: 1.1
8
+ * }
9
+ */
10
+ export interface ClipMeetingsRequest {
11
+ /** Meeting, voice memo, or video/audio asset to clip */
12
+ asset_id: string;
13
+ /** Clip start, in seconds */
14
+ start: number;
15
+ /** Clip end, in seconds */
16
+ end: number;
17
+ /** 'video' (MP4) or 'audio' (M4A); defaults to video for meetings and video assets, audio for voice memos and audio assets */
18
+ media?: AthenaIntelligence.ClipMeetingsRequestMedia | null;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -2,12 +2,12 @@ import type * as AthenaIntelligence from "../../../../index.js";
2
2
  /**
3
3
  * @example
4
4
  * {
5
- * asset_id: "asset_92492920-d118-42d3-95b4-00eccfe0754f"
5
+ * asset_id: "asset_id"
6
6
  * }
7
7
  */
8
8
  export interface DownloadMeetingsRequest {
9
9
  /** Unique identifier of the meeting asset to download */
10
10
  asset_id: string;
11
- /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat' */
11
+ /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat'. A voice memo supports only 'recording' (its audio). */
12
12
  artifact?: AthenaIntelligence.DownloadMeetingsRequestArtifact;
13
13
  }
@@ -1,3 +1,4 @@
1
+ export type { ClipMeetingsRequest } from "./ClipMeetingsRequest.js";
1
2
  export type { DownloadMeetingsRequest } from "./DownloadMeetingsRequest.js";
2
3
  export type { GetMeetingsRequest } from "./GetMeetingsRequest.js";
3
4
  export type { ListMeetingsRequest } from "./ListMeetingsRequest.js";
@@ -0,0 +1,5 @@
1
+ export declare const ClipMeetingsRequestMedia: {
2
+ readonly Video: "video";
3
+ readonly Audio: "audio";
4
+ };
5
+ export type ClipMeetingsRequestMedia = (typeof ClipMeetingsRequestMedia)[keyof typeof ClipMeetingsRequestMedia];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ClipMeetingsRequestMedia = void 0;
5
+ exports.ClipMeetingsRequestMedia = {
6
+ Video: "video",
7
+ Audio: "audio",
8
+ };
@@ -1,4 +1,4 @@
1
- /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat' */
1
+ /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat'. A voice memo supports only 'recording' (its audio). */
2
2
  export declare const DownloadMeetingsRequestArtifact: {
3
3
  readonly Zip: "zip";
4
4
  readonly Recording: "recording";
@@ -2,7 +2,7 @@
2
2
  // This file was auto-generated by Fern from our API Definition.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.DownloadMeetingsRequestArtifact = void 0;
5
- /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat' */
5
+ /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat'. A voice memo supports only 'recording' (its audio). */
6
6
  exports.DownloadMeetingsRequestArtifact = {
7
7
  Zip: "zip",
8
8
  Recording: "recording",
@@ -1,3 +1,4 @@
1
+ export * from "./ClipMeetingsRequestMedia.js";
1
2
  export * from "./DownloadMeetingsRequestArtifact.js";
2
3
  export * from "./ListMeetingsRequestDomainMatch.js";
3
4
  export * from "./ListMeetingsRequestParticipantMatch.js";
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ClipMeetingsRequestMedia.js"), exports);
17
18
  __exportStar(require("./DownloadMeetingsRequestArtifact.js"), exports);
18
19
  __exportStar(require("./ListMeetingsRequestDomainMatch.js"), exports);
19
20
  __exportStar(require("./ListMeetingsRequestParticipantMatch.js"), exports);
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "4.3.2253";
1
+ export declare const SDK_VERSION = "4.3.2255";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "4.3.2253";
4
+ exports.SDK_VERSION = "4.3.2255";
@@ -6,8 +6,8 @@ export function normalizeClientOptions(options) {
6
6
  const headers = mergeHeaders({
7
7
  "X-Fern-Language": "JavaScript",
8
8
  "X-Fern-SDK-Name": "@athenaintel/sdk",
9
- "X-Fern-SDK-Version": "4.3.2253",
10
- "User-Agent": "@athenaintel/sdk/4.3.2253",
9
+ "X-Fern-SDK-Version": "4.3.2255",
10
+ "User-Agent": "@athenaintel/sdk/4.3.2255",
11
11
  "X-Fern-Runtime": core.RUNTIME.type,
12
12
  "X-Fern-Runtime-Version": core.RUNTIME.version,
13
13
  "X-Athena-Session-Credential": options === null || options === void 0 ? void 0 : options.sessionCredential,
@@ -44,20 +44,19 @@ export declare class MeetingsClient {
44
44
  get(request: AthenaIntelligence.GetMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.MeetingOut>;
45
45
  private __get;
46
46
  /**
47
- * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets.
48
- *
49
- * @param {AthenaIntelligence.DownloadMeetingsRequest} request
50
- * @param {MeetingsClient.RequestOptions} requestOptions - Request-specific configuration.
51
- *
47
+ * Cut the range [start, end) seconds out of a meeting's video recording, a voice memo, or a video/audio asset and stream it back: H.264/AAC MP4 for video, AAC audio (audio/mp4) for audio. The clip is not saved as an asset. Ranges are limited to 10 minutes.
48
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
49
+ * @throws {@link AthenaIntelligence.NotFoundError}
50
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
51
+ */
52
+ clip(request: AthenaIntelligence.ClipMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<core.BinaryResponse>;
53
+ private __clip;
54
+ /**
55
+ * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets. Also accepts a voice memo asset ID with artifact=recording, which streams the memo's recorded audio (for example audio/webm).
52
56
  * @throws {@link AthenaIntelligence.UnauthorizedError}
53
57
  * @throws {@link AthenaIntelligence.NotFoundError}
54
58
  * @throws {@link AthenaIntelligence.UnprocessableEntityError}
55
- *
56
- * @example
57
- * await client.meetings.download({
58
- * asset_id: "asset_92492920-d118-42d3-95b4-00eccfe0754f"
59
- * })
60
59
  */
61
- download(request: AthenaIntelligence.DownloadMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<unknown>;
60
+ download(request: AthenaIntelligence.DownloadMeetingsRequest, requestOptions?: MeetingsClient.RequestOptions): core.HttpResponsePromise<core.BinaryResponse>;
62
61
  private __download;
63
62
  }
@@ -219,19 +219,86 @@ export class MeetingsClient {
219
219
  });
220
220
  }
221
221
  /**
222
- * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets.
223
- *
224
- * @param {AthenaIntelligence.DownloadMeetingsRequest} request
225
- * @param {MeetingsClient.RequestOptions} requestOptions - Request-specific configuration.
226
- *
222
+ * Cut the range [start, end) seconds out of a meeting's video recording, a voice memo, or a video/audio asset and stream it back: H.264/AAC MP4 for video, AAC audio (audio/mp4) for audio. The clip is not saved as an asset. Ranges are limited to 10 minutes.
223
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
224
+ * @throws {@link AthenaIntelligence.NotFoundError}
225
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
226
+ */
227
+ clip(request, requestOptions) {
228
+ return core.HttpResponsePromise.fromPromise(this.__clip(request, requestOptions));
229
+ }
230
+ __clip(request, requestOptions) {
231
+ return __awaiter(this, void 0, void 0, function* () {
232
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
233
+ const { asset_id: assetId, start, end, media } = request;
234
+ const _queryParams = {};
235
+ _queryParams.start = start.toString();
236
+ _queryParams.end = end.toString();
237
+ if (media !== undefined) {
238
+ _queryParams.media = media;
239
+ }
240
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
241
+ const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
242
+ "X-Athena-Session-Credential": (_b = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.sessionCredential) !== null && _b !== void 0 ? _b : (_c = this._options) === null || _c === void 0 ? void 0 : _c.sessionCredential,
243
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
244
+ const _response = yield ((_d = this._options.fetcher) !== null && _d !== void 0 ? _d : core.fetcher)({
245
+ url: core.url.join((_f = (_e = (yield core.Supplier.get(this._options.baseUrl))) !== null && _e !== void 0 ? _e : (yield core.Supplier.get(this._options.environment))) !== null && _f !== void 0 ? _f : environments.AthenaIntelligenceEnvironment.Production, `api/v0/meetings/${core.url.encodePathParam(assetId)}/clip`),
246
+ method: "GET",
247
+ headers: _headers,
248
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
249
+ responseType: "binary-response",
250
+ timeoutMs: ((_j = (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.timeoutInSeconds) !== null && _j !== void 0 ? _j : 60) * 1000,
251
+ maxRetries: (_k = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _k !== void 0 ? _k : (_l = this._options) === null || _l === void 0 ? void 0 : _l.maxRetries,
252
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
253
+ fetchFn: (_m = this._options) === null || _m === void 0 ? void 0 : _m.fetch,
254
+ logging: this._options.logging,
255
+ });
256
+ if (_response.ok) {
257
+ return { data: _response.body, rawResponse: _response.rawResponse };
258
+ }
259
+ if (_response.error.reason === "status-code") {
260
+ switch (_response.error.statusCode) {
261
+ case 401:
262
+ throw new AthenaIntelligence.UnauthorizedError(_response.error.body, _response.rawResponse);
263
+ case 404:
264
+ throw new AthenaIntelligence.NotFoundError(_response.error.body, _response.rawResponse);
265
+ case 422:
266
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
267
+ default:
268
+ throw new errors.AthenaIntelligenceError({
269
+ statusCode: _response.error.statusCode,
270
+ body: _response.error.body,
271
+ rawResponse: _response.rawResponse,
272
+ });
273
+ }
274
+ }
275
+ switch (_response.error.reason) {
276
+ case "non-json":
277
+ throw new errors.AthenaIntelligenceError({
278
+ statusCode: _response.error.statusCode,
279
+ body: _response.error.rawBody,
280
+ rawResponse: _response.rawResponse,
281
+ });
282
+ case "body-is-null":
283
+ throw new errors.AthenaIntelligenceError({
284
+ statusCode: _response.error.statusCode,
285
+ rawResponse: _response.rawResponse,
286
+ });
287
+ case "timeout":
288
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling GET /api/v0/meetings/{asset_id}/clip.");
289
+ case "unknown":
290
+ throw new errors.AthenaIntelligenceError({
291
+ message: _response.error.errorMessage,
292
+ rawResponse: _response.rawResponse,
293
+ });
294
+ }
295
+ });
296
+ }
297
+ /**
298
+ * Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets. Also accepts a voice memo asset ID with artifact=recording, which streams the memo's recorded audio (for example audio/webm).
227
299
  * @throws {@link AthenaIntelligence.UnauthorizedError}
228
300
  * @throws {@link AthenaIntelligence.NotFoundError}
229
301
  * @throws {@link AthenaIntelligence.UnprocessableEntityError}
230
- *
231
- * @example
232
- * await client.meetings.download({
233
- * asset_id: "asset_92492920-d118-42d3-95b4-00eccfe0754f"
234
- * })
235
302
  */
236
303
  download(request, requestOptions) {
237
304
  return core.HttpResponsePromise.fromPromise(this.__download(request, requestOptions));
@@ -253,6 +320,7 @@ export class MeetingsClient {
253
320
  method: "GET",
254
321
  headers: _headers,
255
322
  queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
323
+ responseType: "binary-response",
256
324
  timeoutMs: ((_j = (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.timeoutInSeconds) !== null && _j !== void 0 ? _j : 60) * 1000,
257
325
  maxRetries: (_k = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _k !== void 0 ? _k : (_l = this._options) === null || _l === void 0 ? void 0 : _l.maxRetries,
258
326
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
@@ -0,0 +1,19 @@
1
+ import type * as AthenaIntelligence from "../../../../index.mjs";
2
+ /**
3
+ * @example
4
+ * {
5
+ * asset_id: "asset_id",
6
+ * start: 1.1,
7
+ * end: 1.1
8
+ * }
9
+ */
10
+ export interface ClipMeetingsRequest {
11
+ /** Meeting, voice memo, or video/audio asset to clip */
12
+ asset_id: string;
13
+ /** Clip start, in seconds */
14
+ start: number;
15
+ /** Clip end, in seconds */
16
+ end: number;
17
+ /** 'video' (MP4) or 'audio' (M4A); defaults to video for meetings and video assets, audio for voice memos and audio assets */
18
+ media?: AthenaIntelligence.ClipMeetingsRequestMedia | null;
19
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -2,12 +2,12 @@ import type * as AthenaIntelligence from "../../../../index.mjs";
2
2
  /**
3
3
  * @example
4
4
  * {
5
- * asset_id: "asset_92492920-d118-42d3-95b4-00eccfe0754f"
5
+ * asset_id: "asset_id"
6
6
  * }
7
7
  */
8
8
  export interface DownloadMeetingsRequest {
9
9
  /** Unique identifier of the meeting asset to download */
10
10
  asset_id: string;
11
- /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat' */
11
+ /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat'. A voice memo supports only 'recording' (its audio). */
12
12
  artifact?: AthenaIntelligence.DownloadMeetingsRequestArtifact;
13
13
  }
@@ -1,3 +1,4 @@
1
+ export type { ClipMeetingsRequest } from "./ClipMeetingsRequest.mjs";
1
2
  export type { DownloadMeetingsRequest } from "./DownloadMeetingsRequest.mjs";
2
3
  export type { GetMeetingsRequest } from "./GetMeetingsRequest.mjs";
3
4
  export type { ListMeetingsRequest } from "./ListMeetingsRequest.mjs";
@@ -0,0 +1,5 @@
1
+ export declare const ClipMeetingsRequestMedia: {
2
+ readonly Video: "video";
3
+ readonly Audio: "audio";
4
+ };
5
+ export type ClipMeetingsRequestMedia = (typeof ClipMeetingsRequestMedia)[keyof typeof ClipMeetingsRequestMedia];
@@ -0,0 +1,5 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export const ClipMeetingsRequestMedia = {
3
+ Video: "video",
4
+ Audio: "audio",
5
+ };
@@ -1,4 +1,4 @@
1
- /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat' */
1
+ /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat'. A voice memo supports only 'recording' (its audio). */
2
2
  export declare const DownloadMeetingsRequestArtifact: {
3
3
  readonly Zip: "zip";
4
4
  readonly Recording: "recording";
@@ -1,5 +1,5 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
- /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat' */
2
+ /** Which artifact to download: 'zip' (full export), 'recording', 'transcript', 'formatted_transcript', or 'chat'. A voice memo supports only 'recording' (its audio). */
3
3
  export const DownloadMeetingsRequestArtifact = {
4
4
  Zip: "zip",
5
5
  Recording: "recording",
@@ -1,3 +1,4 @@
1
+ export * from "./ClipMeetingsRequestMedia.mjs";
1
2
  export * from "./DownloadMeetingsRequestArtifact.mjs";
2
3
  export * from "./ListMeetingsRequestDomainMatch.mjs";
3
4
  export * from "./ListMeetingsRequestParticipantMatch.mjs";
@@ -1,3 +1,4 @@
1
+ export * from "./ClipMeetingsRequestMedia.mjs";
1
2
  export * from "./DownloadMeetingsRequestArtifact.mjs";
2
3
  export * from "./ListMeetingsRequestDomainMatch.mjs";
3
4
  export * from "./ListMeetingsRequestParticipantMatch.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "4.3.2253";
1
+ export declare const SDK_VERSION = "4.3.2255";
@@ -1 +1 @@
1
- export const SDK_VERSION = "4.3.2253";
1
+ export const SDK_VERSION = "4.3.2255";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@athenaintel/sdk",
3
- "version": "4.3.2253",
3
+ "version": "4.3.2255",
4
4
  "private": false,
5
5
  "repository": "github:Athena-Intel/athena-typescript",
6
6
  "type": "commonjs",
package/reference.md CHANGED
@@ -3801,7 +3801,7 @@ await client.meetings.get({
3801
3801
  </dl>
3802
3802
  </details>
3803
3803
 
3804
- <details><summary><code>client.meetings.<a href="/src/api/resources/meetings/client/Client.ts">download</a>({ ...params }) -> unknown</code></summary>
3804
+ <details><summary><code>client.meetings.<a href="/src/api/resources/meetings/client/Client.ts">clip</a>({ ...params }) -> core.BinaryResponse</code></summary>
3805
3805
  <dl>
3806
3806
  <dd>
3807
3807
 
@@ -3813,7 +3813,74 @@ await client.meetings.get({
3813
3813
  <dl>
3814
3814
  <dd>
3815
3815
 
3816
- Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets.
3816
+ Cut the range [start, end) seconds out of a meeting's video recording, a voice memo, or a video/audio asset and stream it back: H.264/AAC MP4 for video, AAC audio (audio/mp4) for audio. The clip is not saved as an asset. Ranges are limited to 10 minutes.
3817
+ </dd>
3818
+ </dl>
3819
+ </dd>
3820
+ </dl>
3821
+
3822
+ #### 🔌 Usage
3823
+
3824
+ <dl>
3825
+ <dd>
3826
+
3827
+ <dl>
3828
+ <dd>
3829
+
3830
+ ```typescript
3831
+ await client.meetings.clip({
3832
+ asset_id: "asset_id",
3833
+ start: 1.1,
3834
+ end: 1.1
3835
+ });
3836
+
3837
+ ```
3838
+ </dd>
3839
+ </dl>
3840
+ </dd>
3841
+ </dl>
3842
+
3843
+ #### ⚙️ Parameters
3844
+
3845
+ <dl>
3846
+ <dd>
3847
+
3848
+ <dl>
3849
+ <dd>
3850
+
3851
+ **request:** `AthenaIntelligence.ClipMeetingsRequest`
3852
+
3853
+ </dd>
3854
+ </dl>
3855
+
3856
+ <dl>
3857
+ <dd>
3858
+
3859
+ **requestOptions:** `MeetingsClient.RequestOptions`
3860
+
3861
+ </dd>
3862
+ </dl>
3863
+ </dd>
3864
+ </dl>
3865
+
3866
+
3867
+ </dd>
3868
+ </dl>
3869
+ </details>
3870
+
3871
+ <details><summary><code>client.meetings.<a href="/src/api/resources/meetings/client/Client.ts">download</a>({ ...params }) -> core.BinaryResponse</code></summary>
3872
+ <dl>
3873
+ <dd>
3874
+
3875
+ #### 📝 Description
3876
+
3877
+ <dl>
3878
+ <dd>
3879
+
3880
+ <dl>
3881
+ <dd>
3882
+
3883
+ Download a meeting artifact. By default streams a ZIP archive containing metadata.json plus every available artifact (video recording, raw transcript, formatted transcript, chat). Pass the artifact parameter to download a single artifact instead. Works for every meeting, whether its artifacts are stored on the meeting itself (meetings captured since September 2026, whose artifact asset IDs are null) or as separate child assets. Also accepts a voice memo asset ID with artifact=recording, which streams the memo's recorded audio (for example audio/webm).
3817
3884
  </dd>
3818
3885
  </dl>
3819
3886
  </dd>
@@ -3829,7 +3896,7 @@ Download a meeting artifact. By default streams a ZIP archive containing metadat
3829
3896
 
3830
3897
  ```typescript
3831
3898
  await client.meetings.download({
3832
- asset_id: "asset_92492920-d118-42d3-95b4-00eccfe0754f"
3899
+ asset_id: "asset_id"
3833
3900
  });
3834
3901
 
3835
3902
  ```