@athenaintel/sdk 4.3.2209 → 4.3.2210

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 (36) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/computer/client/Client.d.ts +38 -0
  3. package/dist/cjs/api/resources/computer/client/Client.js +172 -0
  4. package/dist/cjs/api/resources/computer/client/requests/ListSshAccessTokensComputerRequest.d.ts +9 -0
  5. package/dist/cjs/api/resources/computer/client/requests/ListSshAccessTokensComputerRequest.js +3 -0
  6. package/dist/cjs/api/resources/computer/client/requests/RevokeSshAccessTokenComputerRequest.d.ts +11 -0
  7. package/dist/cjs/api/resources/computer/client/requests/RevokeSshAccessTokenComputerRequest.js +3 -0
  8. package/dist/cjs/api/resources/computer/client/requests/index.d.ts +2 -0
  9. package/dist/cjs/api/types/SshAccessResponseOut.d.ts +2 -0
  10. package/dist/cjs/api/types/SshAccessTokenListOut.d.ts +8 -0
  11. package/dist/cjs/api/types/SshAccessTokenListOut.js +3 -0
  12. package/dist/cjs/api/types/SshAccessTokenOut.d.ts +15 -0
  13. package/dist/cjs/api/types/SshAccessTokenOut.js +3 -0
  14. package/dist/cjs/api/types/index.d.ts +2 -0
  15. package/dist/cjs/api/types/index.js +2 -0
  16. package/dist/cjs/version.d.ts +1 -1
  17. package/dist/cjs/version.js +1 -1
  18. package/dist/esm/BaseClient.mjs +2 -2
  19. package/dist/esm/api/resources/computer/client/Client.d.mts +38 -0
  20. package/dist/esm/api/resources/computer/client/Client.mjs +172 -0
  21. package/dist/esm/api/resources/computer/client/requests/ListSshAccessTokensComputerRequest.d.mts +9 -0
  22. package/dist/esm/api/resources/computer/client/requests/ListSshAccessTokensComputerRequest.mjs +2 -0
  23. package/dist/esm/api/resources/computer/client/requests/RevokeSshAccessTokenComputerRequest.d.mts +11 -0
  24. package/dist/esm/api/resources/computer/client/requests/RevokeSshAccessTokenComputerRequest.mjs +2 -0
  25. package/dist/esm/api/resources/computer/client/requests/index.d.mts +2 -0
  26. package/dist/esm/api/types/SshAccessResponseOut.d.mts +2 -0
  27. package/dist/esm/api/types/SshAccessTokenListOut.d.mts +8 -0
  28. package/dist/esm/api/types/SshAccessTokenListOut.mjs +2 -0
  29. package/dist/esm/api/types/SshAccessTokenOut.d.mts +15 -0
  30. package/dist/esm/api/types/SshAccessTokenOut.mjs +2 -0
  31. package/dist/esm/api/types/index.d.mts +2 -0
  32. package/dist/esm/api/types/index.mjs +2 -0
  33. package/dist/esm/version.d.mts +1 -1
  34. package/dist/esm/version.mjs +1 -1
  35. package/package.json +1 -1
  36. package/reference.md +131 -0
@@ -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.2209",
47
- "User-Agent": "@athenaintel/sdk/4.3.2209",
46
+ "X-Fern-SDK-Version": "4.3.2210",
47
+ "User-Agent": "@athenaintel/sdk/4.3.2210",
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,
@@ -108,6 +108,44 @@ export declare class ComputerClient {
108
108
  */
109
109
  revokeSshAccess(request: AthenaIntelligence.RevokeSshAccessRequestIn, requestOptions?: ComputerClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.RevokeSshAccessResponseOut>;
110
110
  private __revokeSshAccess;
111
+ /**
112
+ * List the unrevoked temporary SSH tokens YOU minted for this computer with `create_ssh_access` — each with its id, the token's last 4 characters, and its creation and expiry times. Tokens that expired in the last 15 minutes are included with `expired: true`, because a session opened before expiry can outlive it briefly. The token itself is never returned again after it is minted, and tokens other users minted are not listed. Requires edit access to the computer. Tokens minted before this listing existed are not listed; they expire on their own.
113
+ *
114
+ * @param {AthenaIntelligence.ListSshAccessTokensComputerRequest} request
115
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
116
+ *
117
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
118
+ * @throws {@link AthenaIntelligence.ForbiddenError}
119
+ * @throws {@link AthenaIntelligence.NotFoundError}
120
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
121
+ *
122
+ * @example
123
+ * await client.computer.listSshAccessTokens({
124
+ * asset_id: "asset_id"
125
+ * })
126
+ */
127
+ listSshAccessTokens(request: AthenaIntelligence.ListSshAccessTokensComputerRequest, requestOptions?: ComputerClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.SshAccessTokenListOut>;
128
+ private __listSshAccessTokens;
129
+ /**
130
+ * Revoke a temporary SSH token you minted for this computer, by the id `list_ssh_access_tokens` returns. The token stops admitting connections and every open SSH session using it is disconnected. An expired token can still be revoked, which ends a session that outlived its expiry. Returns 404 for an id that is not one of your unrevoked tokens on this computer. Requires edit access to the computer.
131
+ *
132
+ * @param {AthenaIntelligence.RevokeSshAccessTokenComputerRequest} request
133
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
134
+ *
135
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
136
+ * @throws {@link AthenaIntelligence.ForbiddenError}
137
+ * @throws {@link AthenaIntelligence.NotFoundError}
138
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
139
+ * @throws {@link AthenaIntelligence.BadGatewayError}
140
+ *
141
+ * @example
142
+ * await client.computer.revokeSshAccessToken({
143
+ * asset_id: "asset_id",
144
+ * token_id: "token_id"
145
+ * })
146
+ */
147
+ revokeSshAccessToken(request: AthenaIntelligence.RevokeSshAccessTokenComputerRequest, requestOptions?: ComputerClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.RevokeSshAccessResponseOut>;
148
+ private __revokeSshAccessToken;
111
149
  /**
112
150
  * Start a stopped computer's runtime and wait for it to come up — the same operation as the Start button in Athena. Idempotent for a running computer. Returns 409 when the computer's provider does not support lifecycle operations.
113
151
  *
@@ -506,6 +506,178 @@ class ComputerClient {
506
506
  }
507
507
  });
508
508
  }
509
+ /**
510
+ * List the unrevoked temporary SSH tokens YOU minted for this computer with `create_ssh_access` — each with its id, the token's last 4 characters, and its creation and expiry times. Tokens that expired in the last 15 minutes are included with `expired: true`, because a session opened before expiry can outlive it briefly. The token itself is never returned again after it is minted, and tokens other users minted are not listed. Requires edit access to the computer. Tokens minted before this listing existed are not listed; they expire on their own.
511
+ *
512
+ * @param {AthenaIntelligence.ListSshAccessTokensComputerRequest} request
513
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
514
+ *
515
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
516
+ * @throws {@link AthenaIntelligence.ForbiddenError}
517
+ * @throws {@link AthenaIntelligence.NotFoundError}
518
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
519
+ *
520
+ * @example
521
+ * await client.computer.listSshAccessTokens({
522
+ * asset_id: "asset_id"
523
+ * })
524
+ */
525
+ listSshAccessTokens(request, requestOptions) {
526
+ return core.HttpResponsePromise.fromPromise(this.__listSshAccessTokens(request, requestOptions));
527
+ }
528
+ __listSshAccessTokens(request, requestOptions) {
529
+ return __awaiter(this, void 0, void 0, function* () {
530
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
531
+ const { asset_id: assetId } = request;
532
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
533
+ 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)({
534
+ "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,
535
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
536
+ const _response = yield ((_d = this._options.fetcher) !== null && _d !== void 0 ? _d : core.fetcher)({
537
+ 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/computer/${core.url.encodePathParam(assetId)}/ssh-access/tokens`),
538
+ method: "GET",
539
+ headers: _headers,
540
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
541
+ 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,
542
+ 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,
543
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
544
+ fetchFn: (_m = this._options) === null || _m === void 0 ? void 0 : _m.fetch,
545
+ logging: this._options.logging,
546
+ });
547
+ if (_response.ok) {
548
+ return {
549
+ data: _response.body,
550
+ rawResponse: _response.rawResponse,
551
+ };
552
+ }
553
+ if (_response.error.reason === "status-code") {
554
+ switch (_response.error.statusCode) {
555
+ case 401:
556
+ throw new AthenaIntelligence.UnauthorizedError(_response.error.body, _response.rawResponse);
557
+ case 403:
558
+ throw new AthenaIntelligence.ForbiddenError(_response.error.body, _response.rawResponse);
559
+ case 404:
560
+ throw new AthenaIntelligence.NotFoundError(_response.error.body, _response.rawResponse);
561
+ case 422:
562
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
563
+ default:
564
+ throw new errors.AthenaIntelligenceError({
565
+ statusCode: _response.error.statusCode,
566
+ body: _response.error.body,
567
+ rawResponse: _response.rawResponse,
568
+ });
569
+ }
570
+ }
571
+ switch (_response.error.reason) {
572
+ case "non-json":
573
+ throw new errors.AthenaIntelligenceError({
574
+ statusCode: _response.error.statusCode,
575
+ body: _response.error.rawBody,
576
+ rawResponse: _response.rawResponse,
577
+ });
578
+ case "body-is-null":
579
+ throw new errors.AthenaIntelligenceError({
580
+ statusCode: _response.error.statusCode,
581
+ rawResponse: _response.rawResponse,
582
+ });
583
+ case "timeout":
584
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling GET /api/v0/computer/{asset_id}/ssh-access/tokens.");
585
+ case "unknown":
586
+ throw new errors.AthenaIntelligenceError({
587
+ message: _response.error.errorMessage,
588
+ rawResponse: _response.rawResponse,
589
+ });
590
+ }
591
+ });
592
+ }
593
+ /**
594
+ * Revoke a temporary SSH token you minted for this computer, by the id `list_ssh_access_tokens` returns. The token stops admitting connections and every open SSH session using it is disconnected. An expired token can still be revoked, which ends a session that outlived its expiry. Returns 404 for an id that is not one of your unrevoked tokens on this computer. Requires edit access to the computer.
595
+ *
596
+ * @param {AthenaIntelligence.RevokeSshAccessTokenComputerRequest} request
597
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
598
+ *
599
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
600
+ * @throws {@link AthenaIntelligence.ForbiddenError}
601
+ * @throws {@link AthenaIntelligence.NotFoundError}
602
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
603
+ * @throws {@link AthenaIntelligence.BadGatewayError}
604
+ *
605
+ * @example
606
+ * await client.computer.revokeSshAccessToken({
607
+ * asset_id: "asset_id",
608
+ * token_id: "token_id"
609
+ * })
610
+ */
611
+ revokeSshAccessToken(request, requestOptions) {
612
+ return core.HttpResponsePromise.fromPromise(this.__revokeSshAccessToken(request, requestOptions));
613
+ }
614
+ __revokeSshAccessToken(request, requestOptions) {
615
+ return __awaiter(this, void 0, void 0, function* () {
616
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
617
+ const { asset_id: assetId, token_id: tokenId } = request;
618
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
619
+ 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)({
620
+ "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,
621
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
622
+ const _response = yield ((_d = this._options.fetcher) !== null && _d !== void 0 ? _d : core.fetcher)({
623
+ 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/computer/${core.url.encodePathParam(assetId)}/ssh-access/tokens/${core.url.encodePathParam(tokenId)}`),
624
+ method: "DELETE",
625
+ headers: _headers,
626
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
627
+ 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,
628
+ 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,
629
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
630
+ fetchFn: (_m = this._options) === null || _m === void 0 ? void 0 : _m.fetch,
631
+ logging: this._options.logging,
632
+ });
633
+ if (_response.ok) {
634
+ return {
635
+ data: _response.body,
636
+ rawResponse: _response.rawResponse,
637
+ };
638
+ }
639
+ if (_response.error.reason === "status-code") {
640
+ switch (_response.error.statusCode) {
641
+ case 401:
642
+ throw new AthenaIntelligence.UnauthorizedError(_response.error.body, _response.rawResponse);
643
+ case 403:
644
+ throw new AthenaIntelligence.ForbiddenError(_response.error.body, _response.rawResponse);
645
+ case 404:
646
+ throw new AthenaIntelligence.NotFoundError(_response.error.body, _response.rawResponse);
647
+ case 422:
648
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
649
+ case 502:
650
+ throw new AthenaIntelligence.BadGatewayError(_response.error.body, _response.rawResponse);
651
+ default:
652
+ throw new errors.AthenaIntelligenceError({
653
+ statusCode: _response.error.statusCode,
654
+ body: _response.error.body,
655
+ rawResponse: _response.rawResponse,
656
+ });
657
+ }
658
+ }
659
+ switch (_response.error.reason) {
660
+ case "non-json":
661
+ throw new errors.AthenaIntelligenceError({
662
+ statusCode: _response.error.statusCode,
663
+ body: _response.error.rawBody,
664
+ rawResponse: _response.rawResponse,
665
+ });
666
+ case "body-is-null":
667
+ throw new errors.AthenaIntelligenceError({
668
+ statusCode: _response.error.statusCode,
669
+ rawResponse: _response.rawResponse,
670
+ });
671
+ case "timeout":
672
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling DELETE /api/v0/computer/{asset_id}/ssh-access/tokens/{token_id}.");
673
+ case "unknown":
674
+ throw new errors.AthenaIntelligenceError({
675
+ message: _response.error.errorMessage,
676
+ rawResponse: _response.rawResponse,
677
+ });
678
+ }
679
+ });
680
+ }
509
681
  /**
510
682
  * Start a stopped computer's runtime and wait for it to come up — the same operation as the Start button in Athena. Idempotent for a running computer. Returns 409 when the computer's provider does not support lifecycle operations.
511
683
  *
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * asset_id: "asset_id"
5
+ * }
6
+ */
7
+ export interface ListSshAccessTokensComputerRequest {
8
+ asset_id: string;
9
+ }
@@ -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 });
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * asset_id: "asset_id",
5
+ * token_id: "token_id"
6
+ * }
7
+ */
8
+ export interface RevokeSshAccessTokenComputerRequest {
9
+ asset_id: string;
10
+ token_id: string;
11
+ }
@@ -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,6 +2,8 @@ export type { CreateSshAccessRequestIn } from "./CreateSshAccessRequestIn.js";
2
2
  export type { DeployComputerRequestIn } from "./DeployComputerRequestIn.js";
3
3
  export type { GetInitializationComputerRequest } from "./GetInitializationComputerRequest.js";
4
4
  export type { GetSshAccessComputerRequest } from "./GetSshAccessComputerRequest.js";
5
+ export type { ListSshAccessTokensComputerRequest } from "./ListSshAccessTokensComputerRequest.js";
5
6
  export type { RevokeSshAccessRequestIn } from "./RevokeSshAccessRequestIn.js";
7
+ export type { RevokeSshAccessTokenComputerRequest } from "./RevokeSshAccessTokenComputerRequest.js";
6
8
  export type { StartComputerComputerRequest } from "./StartComputerComputerRequest.js";
7
9
  export type { StopComputerComputerRequest } from "./StopComputerComputerRequest.js";
@@ -10,4 +10,6 @@ export interface SshAccessResponseOut {
10
10
  proxy_command?: string | null;
11
11
  /** SSH access token used for authentication */
12
12
  token: string;
13
+ /** Id of the minted token in `list_ssh_access_tokens`; pass it to `revoke_ssh_access_token` to revoke it without the raw token. */
14
+ token_id?: string | null;
13
15
  }
@@ -0,0 +1,8 @@
1
+ import type * as AthenaIntelligence from "../index.js";
2
+ /**
3
+ * The caller's live temporary SSH tokens on one computer.
4
+ */
5
+ export interface SshAccessTokenListOut {
6
+ /** Newest first. */
7
+ tokens: AthenaIntelligence.SshAccessTokenOut[];
8
+ }
@@ -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 });
@@ -0,0 +1,15 @@
1
+ /**
2
+ * One live temporary SSH token the caller minted. Never the token itself.
3
+ */
4
+ export interface SshAccessTokenOut {
5
+ /** When the token was minted. */
6
+ created_at: string;
7
+ /** Whether the token has expired. An expired token admits no new connection, but a session opened before expiry can still be running for a few minutes; revoking it ends that session. */
8
+ expired: boolean;
9
+ /** When the token stops admitting new connections. */
10
+ expires_at: string;
11
+ /** Token id — a 16-hex prefix of the token's SHA-256 digest; use it with `revoke_ssh_access_token`. */
12
+ id: string;
13
+ /** The token's last 4 characters, to tell tokens apart. */
14
+ token_hint: string;
15
+ }
@@ -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 });
@@ -124,6 +124,8 @@ export * from "./SheetOperationResponse.js";
124
124
  export * from "./SnapshotImportProgress.js";
125
125
  export * from "./SshAccessInfoOut.js";
126
126
  export * from "./SshAccessResponseOut.js";
127
+ export * from "./SshAccessTokenListOut.js";
128
+ export * from "./SshAccessTokenOut.js";
127
129
  export * from "./SshKeyListResponseOut.js";
128
130
  export * from "./SshKeyOut.js";
129
131
  export * from "./StructuredDataExtractorResponse.js";
@@ -140,6 +140,8 @@ __exportStar(require("./SheetOperationResponse.js"), exports);
140
140
  __exportStar(require("./SnapshotImportProgress.js"), exports);
141
141
  __exportStar(require("./SshAccessInfoOut.js"), exports);
142
142
  __exportStar(require("./SshAccessResponseOut.js"), exports);
143
+ __exportStar(require("./SshAccessTokenListOut.js"), exports);
144
+ __exportStar(require("./SshAccessTokenOut.js"), exports);
143
145
  __exportStar(require("./SshKeyListResponseOut.js"), exports);
144
146
  __exportStar(require("./SshKeyOut.js"), exports);
145
147
  __exportStar(require("./StructuredDataExtractorResponse.js"), exports);
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "4.3.2209";
1
+ export declare const SDK_VERSION = "4.3.2210";
@@ -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.2209";
4
+ exports.SDK_VERSION = "4.3.2210";
@@ -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.2209",
10
- "User-Agent": "@athenaintel/sdk/4.3.2209",
9
+ "X-Fern-SDK-Version": "4.3.2210",
10
+ "User-Agent": "@athenaintel/sdk/4.3.2210",
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,
@@ -108,6 +108,44 @@ export declare class ComputerClient {
108
108
  */
109
109
  revokeSshAccess(request: AthenaIntelligence.RevokeSshAccessRequestIn, requestOptions?: ComputerClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.RevokeSshAccessResponseOut>;
110
110
  private __revokeSshAccess;
111
+ /**
112
+ * List the unrevoked temporary SSH tokens YOU minted for this computer with `create_ssh_access` — each with its id, the token's last 4 characters, and its creation and expiry times. Tokens that expired in the last 15 minutes are included with `expired: true`, because a session opened before expiry can outlive it briefly. The token itself is never returned again after it is minted, and tokens other users minted are not listed. Requires edit access to the computer. Tokens minted before this listing existed are not listed; they expire on their own.
113
+ *
114
+ * @param {AthenaIntelligence.ListSshAccessTokensComputerRequest} request
115
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
116
+ *
117
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
118
+ * @throws {@link AthenaIntelligence.ForbiddenError}
119
+ * @throws {@link AthenaIntelligence.NotFoundError}
120
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
121
+ *
122
+ * @example
123
+ * await client.computer.listSshAccessTokens({
124
+ * asset_id: "asset_id"
125
+ * })
126
+ */
127
+ listSshAccessTokens(request: AthenaIntelligence.ListSshAccessTokensComputerRequest, requestOptions?: ComputerClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.SshAccessTokenListOut>;
128
+ private __listSshAccessTokens;
129
+ /**
130
+ * Revoke a temporary SSH token you minted for this computer, by the id `list_ssh_access_tokens` returns. The token stops admitting connections and every open SSH session using it is disconnected. An expired token can still be revoked, which ends a session that outlived its expiry. Returns 404 for an id that is not one of your unrevoked tokens on this computer. Requires edit access to the computer.
131
+ *
132
+ * @param {AthenaIntelligence.RevokeSshAccessTokenComputerRequest} request
133
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
134
+ *
135
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
136
+ * @throws {@link AthenaIntelligence.ForbiddenError}
137
+ * @throws {@link AthenaIntelligence.NotFoundError}
138
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
139
+ * @throws {@link AthenaIntelligence.BadGatewayError}
140
+ *
141
+ * @example
142
+ * await client.computer.revokeSshAccessToken({
143
+ * asset_id: "asset_id",
144
+ * token_id: "token_id"
145
+ * })
146
+ */
147
+ revokeSshAccessToken(request: AthenaIntelligence.RevokeSshAccessTokenComputerRequest, requestOptions?: ComputerClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.RevokeSshAccessResponseOut>;
148
+ private __revokeSshAccessToken;
111
149
  /**
112
150
  * Start a stopped computer's runtime and wait for it to come up — the same operation as the Start button in Athena. Idempotent for a running computer. Returns 409 when the computer's provider does not support lifecycle operations.
113
151
  *
@@ -470,6 +470,178 @@ export class ComputerClient {
470
470
  }
471
471
  });
472
472
  }
473
+ /**
474
+ * List the unrevoked temporary SSH tokens YOU minted for this computer with `create_ssh_access` — each with its id, the token's last 4 characters, and its creation and expiry times. Tokens that expired in the last 15 minutes are included with `expired: true`, because a session opened before expiry can outlive it briefly. The token itself is never returned again after it is minted, and tokens other users minted are not listed. Requires edit access to the computer. Tokens minted before this listing existed are not listed; they expire on their own.
475
+ *
476
+ * @param {AthenaIntelligence.ListSshAccessTokensComputerRequest} request
477
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
478
+ *
479
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
480
+ * @throws {@link AthenaIntelligence.ForbiddenError}
481
+ * @throws {@link AthenaIntelligence.NotFoundError}
482
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
483
+ *
484
+ * @example
485
+ * await client.computer.listSshAccessTokens({
486
+ * asset_id: "asset_id"
487
+ * })
488
+ */
489
+ listSshAccessTokens(request, requestOptions) {
490
+ return core.HttpResponsePromise.fromPromise(this.__listSshAccessTokens(request, requestOptions));
491
+ }
492
+ __listSshAccessTokens(request, requestOptions) {
493
+ return __awaiter(this, void 0, void 0, function* () {
494
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
495
+ const { asset_id: assetId } = request;
496
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
497
+ const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
498
+ "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,
499
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
500
+ const _response = yield ((_d = this._options.fetcher) !== null && _d !== void 0 ? _d : core.fetcher)({
501
+ 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/computer/${core.url.encodePathParam(assetId)}/ssh-access/tokens`),
502
+ method: "GET",
503
+ headers: _headers,
504
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
505
+ 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,
506
+ 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,
507
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
508
+ fetchFn: (_m = this._options) === null || _m === void 0 ? void 0 : _m.fetch,
509
+ logging: this._options.logging,
510
+ });
511
+ if (_response.ok) {
512
+ return {
513
+ data: _response.body,
514
+ rawResponse: _response.rawResponse,
515
+ };
516
+ }
517
+ if (_response.error.reason === "status-code") {
518
+ switch (_response.error.statusCode) {
519
+ case 401:
520
+ throw new AthenaIntelligence.UnauthorizedError(_response.error.body, _response.rawResponse);
521
+ case 403:
522
+ throw new AthenaIntelligence.ForbiddenError(_response.error.body, _response.rawResponse);
523
+ case 404:
524
+ throw new AthenaIntelligence.NotFoundError(_response.error.body, _response.rawResponse);
525
+ case 422:
526
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
527
+ default:
528
+ throw new errors.AthenaIntelligenceError({
529
+ statusCode: _response.error.statusCode,
530
+ body: _response.error.body,
531
+ rawResponse: _response.rawResponse,
532
+ });
533
+ }
534
+ }
535
+ switch (_response.error.reason) {
536
+ case "non-json":
537
+ throw new errors.AthenaIntelligenceError({
538
+ statusCode: _response.error.statusCode,
539
+ body: _response.error.rawBody,
540
+ rawResponse: _response.rawResponse,
541
+ });
542
+ case "body-is-null":
543
+ throw new errors.AthenaIntelligenceError({
544
+ statusCode: _response.error.statusCode,
545
+ rawResponse: _response.rawResponse,
546
+ });
547
+ case "timeout":
548
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling GET /api/v0/computer/{asset_id}/ssh-access/tokens.");
549
+ case "unknown":
550
+ throw new errors.AthenaIntelligenceError({
551
+ message: _response.error.errorMessage,
552
+ rawResponse: _response.rawResponse,
553
+ });
554
+ }
555
+ });
556
+ }
557
+ /**
558
+ * Revoke a temporary SSH token you minted for this computer, by the id `list_ssh_access_tokens` returns. The token stops admitting connections and every open SSH session using it is disconnected. An expired token can still be revoked, which ends a session that outlived its expiry. Returns 404 for an id that is not one of your unrevoked tokens on this computer. Requires edit access to the computer.
559
+ *
560
+ * @param {AthenaIntelligence.RevokeSshAccessTokenComputerRequest} request
561
+ * @param {ComputerClient.RequestOptions} requestOptions - Request-specific configuration.
562
+ *
563
+ * @throws {@link AthenaIntelligence.UnauthorizedError}
564
+ * @throws {@link AthenaIntelligence.ForbiddenError}
565
+ * @throws {@link AthenaIntelligence.NotFoundError}
566
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
567
+ * @throws {@link AthenaIntelligence.BadGatewayError}
568
+ *
569
+ * @example
570
+ * await client.computer.revokeSshAccessToken({
571
+ * asset_id: "asset_id",
572
+ * token_id: "token_id"
573
+ * })
574
+ */
575
+ revokeSshAccessToken(request, requestOptions) {
576
+ return core.HttpResponsePromise.fromPromise(this.__revokeSshAccessToken(request, requestOptions));
577
+ }
578
+ __revokeSshAccessToken(request, requestOptions) {
579
+ return __awaiter(this, void 0, void 0, function* () {
580
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
581
+ const { asset_id: assetId, token_id: tokenId } = request;
582
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
583
+ const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
584
+ "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,
585
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
586
+ const _response = yield ((_d = this._options.fetcher) !== null && _d !== void 0 ? _d : core.fetcher)({
587
+ 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/computer/${core.url.encodePathParam(assetId)}/ssh-access/tokens/${core.url.encodePathParam(tokenId)}`),
588
+ method: "DELETE",
589
+ headers: _headers,
590
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
591
+ 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,
592
+ 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,
593
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
594
+ fetchFn: (_m = this._options) === null || _m === void 0 ? void 0 : _m.fetch,
595
+ logging: this._options.logging,
596
+ });
597
+ if (_response.ok) {
598
+ return {
599
+ data: _response.body,
600
+ rawResponse: _response.rawResponse,
601
+ };
602
+ }
603
+ if (_response.error.reason === "status-code") {
604
+ switch (_response.error.statusCode) {
605
+ case 401:
606
+ throw new AthenaIntelligence.UnauthorizedError(_response.error.body, _response.rawResponse);
607
+ case 403:
608
+ throw new AthenaIntelligence.ForbiddenError(_response.error.body, _response.rawResponse);
609
+ case 404:
610
+ throw new AthenaIntelligence.NotFoundError(_response.error.body, _response.rawResponse);
611
+ case 422:
612
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
613
+ case 502:
614
+ throw new AthenaIntelligence.BadGatewayError(_response.error.body, _response.rawResponse);
615
+ default:
616
+ throw new errors.AthenaIntelligenceError({
617
+ statusCode: _response.error.statusCode,
618
+ body: _response.error.body,
619
+ rawResponse: _response.rawResponse,
620
+ });
621
+ }
622
+ }
623
+ switch (_response.error.reason) {
624
+ case "non-json":
625
+ throw new errors.AthenaIntelligenceError({
626
+ statusCode: _response.error.statusCode,
627
+ body: _response.error.rawBody,
628
+ rawResponse: _response.rawResponse,
629
+ });
630
+ case "body-is-null":
631
+ throw new errors.AthenaIntelligenceError({
632
+ statusCode: _response.error.statusCode,
633
+ rawResponse: _response.rawResponse,
634
+ });
635
+ case "timeout":
636
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling DELETE /api/v0/computer/{asset_id}/ssh-access/tokens/{token_id}.");
637
+ case "unknown":
638
+ throw new errors.AthenaIntelligenceError({
639
+ message: _response.error.errorMessage,
640
+ rawResponse: _response.rawResponse,
641
+ });
642
+ }
643
+ });
644
+ }
473
645
  /**
474
646
  * Start a stopped computer's runtime and wait for it to come up — the same operation as the Start button in Athena. Idempotent for a running computer. Returns 409 when the computer's provider does not support lifecycle operations.
475
647
  *
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * asset_id: "asset_id"
5
+ * }
6
+ */
7
+ export interface ListSshAccessTokensComputerRequest {
8
+ asset_id: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * asset_id: "asset_id",
5
+ * token_id: "token_id"
6
+ * }
7
+ */
8
+ export interface RevokeSshAccessTokenComputerRequest {
9
+ asset_id: string;
10
+ token_id: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -2,6 +2,8 @@ export type { CreateSshAccessRequestIn } from "./CreateSshAccessRequestIn.mjs";
2
2
  export type { DeployComputerRequestIn } from "./DeployComputerRequestIn.mjs";
3
3
  export type { GetInitializationComputerRequest } from "./GetInitializationComputerRequest.mjs";
4
4
  export type { GetSshAccessComputerRequest } from "./GetSshAccessComputerRequest.mjs";
5
+ export type { ListSshAccessTokensComputerRequest } from "./ListSshAccessTokensComputerRequest.mjs";
5
6
  export type { RevokeSshAccessRequestIn } from "./RevokeSshAccessRequestIn.mjs";
7
+ export type { RevokeSshAccessTokenComputerRequest } from "./RevokeSshAccessTokenComputerRequest.mjs";
6
8
  export type { StartComputerComputerRequest } from "./StartComputerComputerRequest.mjs";
7
9
  export type { StopComputerComputerRequest } from "./StopComputerComputerRequest.mjs";
@@ -10,4 +10,6 @@ export interface SshAccessResponseOut {
10
10
  proxy_command?: string | null;
11
11
  /** SSH access token used for authentication */
12
12
  token: string;
13
+ /** Id of the minted token in `list_ssh_access_tokens`; pass it to `revoke_ssh_access_token` to revoke it without the raw token. */
14
+ token_id?: string | null;
13
15
  }
@@ -0,0 +1,8 @@
1
+ import type * as AthenaIntelligence from "../index.mjs";
2
+ /**
3
+ * The caller's live temporary SSH tokens on one computer.
4
+ */
5
+ export interface SshAccessTokenListOut {
6
+ /** Newest first. */
7
+ tokens: AthenaIntelligence.SshAccessTokenOut[];
8
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * One live temporary SSH token the caller minted. Never the token itself.
3
+ */
4
+ export interface SshAccessTokenOut {
5
+ /** When the token was minted. */
6
+ created_at: string;
7
+ /** Whether the token has expired. An expired token admits no new connection, but a session opened before expiry can still be running for a few minutes; revoking it ends that session. */
8
+ expired: boolean;
9
+ /** When the token stops admitting new connections. */
10
+ expires_at: string;
11
+ /** Token id — a 16-hex prefix of the token's SHA-256 digest; use it with `revoke_ssh_access_token`. */
12
+ id: string;
13
+ /** The token's last 4 characters, to tell tokens apart. */
14
+ token_hint: string;
15
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -124,6 +124,8 @@ export * from "./SheetOperationResponse.mjs";
124
124
  export * from "./SnapshotImportProgress.mjs";
125
125
  export * from "./SshAccessInfoOut.mjs";
126
126
  export * from "./SshAccessResponseOut.mjs";
127
+ export * from "./SshAccessTokenListOut.mjs";
128
+ export * from "./SshAccessTokenOut.mjs";
127
129
  export * from "./SshKeyListResponseOut.mjs";
128
130
  export * from "./SshKeyOut.mjs";
129
131
  export * from "./StructuredDataExtractorResponse.mjs";
@@ -124,6 +124,8 @@ export * from "./SheetOperationResponse.mjs";
124
124
  export * from "./SnapshotImportProgress.mjs";
125
125
  export * from "./SshAccessInfoOut.mjs";
126
126
  export * from "./SshAccessResponseOut.mjs";
127
+ export * from "./SshAccessTokenListOut.mjs";
128
+ export * from "./SshAccessTokenOut.mjs";
127
129
  export * from "./SshKeyListResponseOut.mjs";
128
130
  export * from "./SshKeyOut.mjs";
129
131
  export * from "./StructuredDataExtractorResponse.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "4.3.2209";
1
+ export declare const SDK_VERSION = "4.3.2210";
@@ -1 +1 @@
1
- export const SDK_VERSION = "4.3.2209";
1
+ export const SDK_VERSION = "4.3.2210";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@athenaintel/sdk",
3
- "version": "4.3.2209",
3
+ "version": "4.3.2210",
4
4
  "private": false,
5
5
  "repository": "github:Athena-Intel/athena-typescript",
6
6
  "type": "commonjs",
package/reference.md CHANGED
@@ -1975,6 +1975,137 @@ await client.computer.revokeSshAccess({
1975
1975
  </dl>
1976
1976
 
1977
1977
 
1978
+ </dd>
1979
+ </dl>
1980
+ </details>
1981
+
1982
+ <details><summary><code>client.computer.<a href="/src/api/resources/computer/client/Client.ts">listSshAccessTokens</a>({ ...params }) -> AthenaIntelligence.SshAccessTokenListOut</code></summary>
1983
+ <dl>
1984
+ <dd>
1985
+
1986
+ #### 📝 Description
1987
+
1988
+ <dl>
1989
+ <dd>
1990
+
1991
+ <dl>
1992
+ <dd>
1993
+
1994
+ List the unrevoked temporary SSH tokens YOU minted for this computer with `create_ssh_access` — each with its id, the token's last 4 characters, and its creation and expiry times. Tokens that expired in the last 15 minutes are included with `expired: true`, because a session opened before expiry can outlive it briefly. The token itself is never returned again after it is minted, and tokens other users minted are not listed. Requires edit access to the computer. Tokens minted before this listing existed are not listed; they expire on their own.
1995
+ </dd>
1996
+ </dl>
1997
+ </dd>
1998
+ </dl>
1999
+
2000
+ #### 🔌 Usage
2001
+
2002
+ <dl>
2003
+ <dd>
2004
+
2005
+ <dl>
2006
+ <dd>
2007
+
2008
+ ```typescript
2009
+ await client.computer.listSshAccessTokens({
2010
+ asset_id: "asset_id"
2011
+ });
2012
+
2013
+ ```
2014
+ </dd>
2015
+ </dl>
2016
+ </dd>
2017
+ </dl>
2018
+
2019
+ #### ⚙️ Parameters
2020
+
2021
+ <dl>
2022
+ <dd>
2023
+
2024
+ <dl>
2025
+ <dd>
2026
+
2027
+ **request:** `AthenaIntelligence.ListSshAccessTokensComputerRequest`
2028
+
2029
+ </dd>
2030
+ </dl>
2031
+
2032
+ <dl>
2033
+ <dd>
2034
+
2035
+ **requestOptions:** `ComputerClient.RequestOptions`
2036
+
2037
+ </dd>
2038
+ </dl>
2039
+ </dd>
2040
+ </dl>
2041
+
2042
+
2043
+ </dd>
2044
+ </dl>
2045
+ </details>
2046
+
2047
+ <details><summary><code>client.computer.<a href="/src/api/resources/computer/client/Client.ts">revokeSshAccessToken</a>({ ...params }) -> AthenaIntelligence.RevokeSshAccessResponseOut</code></summary>
2048
+ <dl>
2049
+ <dd>
2050
+
2051
+ #### 📝 Description
2052
+
2053
+ <dl>
2054
+ <dd>
2055
+
2056
+ <dl>
2057
+ <dd>
2058
+
2059
+ Revoke a temporary SSH token you minted for this computer, by the id `list_ssh_access_tokens` returns. The token stops admitting connections and every open SSH session using it is disconnected. An expired token can still be revoked, which ends a session that outlived its expiry. Returns 404 for an id that is not one of your unrevoked tokens on this computer. Requires edit access to the computer.
2060
+ </dd>
2061
+ </dl>
2062
+ </dd>
2063
+ </dl>
2064
+
2065
+ #### 🔌 Usage
2066
+
2067
+ <dl>
2068
+ <dd>
2069
+
2070
+ <dl>
2071
+ <dd>
2072
+
2073
+ ```typescript
2074
+ await client.computer.revokeSshAccessToken({
2075
+ asset_id: "asset_id",
2076
+ token_id: "token_id"
2077
+ });
2078
+
2079
+ ```
2080
+ </dd>
2081
+ </dl>
2082
+ </dd>
2083
+ </dl>
2084
+
2085
+ #### ⚙️ Parameters
2086
+
2087
+ <dl>
2088
+ <dd>
2089
+
2090
+ <dl>
2091
+ <dd>
2092
+
2093
+ **request:** `AthenaIntelligence.RevokeSshAccessTokenComputerRequest`
2094
+
2095
+ </dd>
2096
+ </dl>
2097
+
2098
+ <dl>
2099
+ <dd>
2100
+
2101
+ **requestOptions:** `ComputerClient.RequestOptions`
2102
+
2103
+ </dd>
2104
+ </dl>
2105
+ </dd>
2106
+ </dl>
2107
+
2108
+
1978
2109
  </dd>
1979
2110
  </dl>
1980
2111
  </details>