@anthropic-ai/sdk 0.111.0 → 0.112.1

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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/bin/migration-config.json +74 -0
  4. package/package.json +1 -1
  5. package/resources/beta/beta.d.mts +4 -0
  6. package/resources/beta/beta.d.mts.map +1 -1
  7. package/resources/beta/beta.d.ts +4 -0
  8. package/resources/beta/beta.d.ts.map +1 -1
  9. package/resources/beta/beta.js +4 -0
  10. package/resources/beta/beta.js.map +1 -1
  11. package/resources/beta/beta.mjs +4 -0
  12. package/resources/beta/beta.mjs.map +1 -1
  13. package/resources/beta/index.d.mts +1 -0
  14. package/resources/beta/index.d.mts.map +1 -1
  15. package/resources/beta/index.d.ts +1 -0
  16. package/resources/beta/index.d.ts.map +1 -1
  17. package/resources/beta/index.js +5 -3
  18. package/resources/beta/index.js.map +1 -1
  19. package/resources/beta/index.mjs +1 -0
  20. package/resources/beta/index.mjs.map +1 -1
  21. package/resources/beta/tunnels/certificates.d.mts +163 -0
  22. package/resources/beta/tunnels/certificates.d.mts.map +1 -0
  23. package/resources/beta/tunnels/certificates.d.ts +163 -0
  24. package/resources/beta/tunnels/certificates.d.ts.map +1 -0
  25. package/resources/beta/tunnels/certificates.js +129 -0
  26. package/resources/beta/tunnels/certificates.js.map +1 -0
  27. package/resources/beta/tunnels/certificates.mjs +125 -0
  28. package/resources/beta/tunnels/certificates.mjs.map +1 -0
  29. package/resources/beta/tunnels/index.d.mts +3 -0
  30. package/resources/beta/tunnels/index.d.mts.map +1 -0
  31. package/resources/beta/tunnels/index.d.ts +3 -0
  32. package/resources/beta/tunnels/index.d.ts.map +1 -0
  33. package/resources/beta/tunnels/index.js +9 -0
  34. package/resources/beta/tunnels/index.js.map +1 -0
  35. package/resources/beta/tunnels/index.mjs +4 -0
  36. package/resources/beta/tunnels/index.mjs.map +1 -0
  37. package/resources/beta/tunnels/tunnels.d.mts +212 -0
  38. package/resources/beta/tunnels/tunnels.d.mts.map +1 -0
  39. package/resources/beta/tunnels/tunnels.d.ts +212 -0
  40. package/resources/beta/tunnels/tunnels.d.ts.map +1 -0
  41. package/resources/beta/tunnels/tunnels.js +181 -0
  42. package/resources/beta/tunnels/tunnels.js.map +1 -0
  43. package/resources/beta/tunnels/tunnels.mjs +176 -0
  44. package/resources/beta/tunnels/tunnels.mjs.map +1 -0
  45. package/resources/beta/tunnels.d.mts +2 -0
  46. package/resources/beta/tunnels.d.mts.map +1 -0
  47. package/resources/beta/tunnels.d.ts +2 -0
  48. package/resources/beta/tunnels.d.ts.map +1 -0
  49. package/resources/beta/tunnels.js +6 -0
  50. package/resources/beta/tunnels.js.map +1 -0
  51. package/resources/beta/tunnels.mjs +3 -0
  52. package/resources/beta/tunnels.mjs.map +1 -0
  53. package/src/resources/beta/beta.ts +28 -0
  54. package/src/resources/beta/index.ts +12 -0
  55. package/src/resources/beta/tunnels/certificates.ts +252 -0
  56. package/src/resources/beta/tunnels/index.ts +23 -0
  57. package/src/resources/beta/tunnels/tunnels.ts +347 -0
  58. package/src/resources/beta/tunnels.ts +3 -0
  59. package/src/version.ts +1 -1
  60. package/version.d.mts +1 -1
  61. package/version.d.ts +1 -1
  62. package/version.js +1 -1
  63. package/version.mjs +1 -1
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Tunnels = void 0;
5
+ const tslib_1 = require("../../../internal/tslib.js");
6
+ const resource_1 = require("../../../core/resource.js");
7
+ const CertificatesAPI = tslib_1.__importStar(require("./certificates.js"));
8
+ const certificates_1 = require("./certificates.js");
9
+ const pagination_1 = require("../../../core/pagination.js");
10
+ const headers_1 = require("../../../internal/headers.js");
11
+ const path_1 = require("../../../internal/utils/path.js");
12
+ class Tunnels extends resource_1.APIResource {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.certificates = new CertificatesAPI.Certificates(this._client);
16
+ }
17
+ /**
18
+ * The Tunnels API is in research preview. It requires the
19
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
20
+ * deprecation period. It supersedes the Admin API endpoints at
21
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
22
+ *
23
+ * Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel;
24
+ * it is not idempotent. The new tunnel rejects MCP traffic until at least one CA
25
+ * certificate is added.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const betaTunnel = await client.beta.tunnels.create();
30
+ * ```
31
+ */
32
+ create(params, options) {
33
+ const { betas, ...body } = params;
34
+ return this._client.post('/v1/tunnels?beta=true', {
35
+ body,
36
+ ...options,
37
+ headers: (0, headers_1.buildHeaders)([
38
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
39
+ options?.headers,
40
+ ]),
41
+ });
42
+ }
43
+ /**
44
+ * The Tunnels API is in research preview. It requires the
45
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
46
+ * deprecation period. It supersedes the Admin API endpoints at
47
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
48
+ *
49
+ * Fetches a tunnel by ID.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const betaTunnel = await client.beta.tunnels.retrieve(
54
+ * 'tunnel_id',
55
+ * );
56
+ * ```
57
+ */
58
+ retrieve(tunnelID, params = {}, options) {
59
+ const { betas } = params ?? {};
60
+ return this._client.get((0, path_1.path) `/v1/tunnels/${tunnelID}?beta=true`, {
61
+ ...options,
62
+ headers: (0, headers_1.buildHeaders)([
63
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
64
+ options?.headers,
65
+ ]),
66
+ });
67
+ }
68
+ /**
69
+ * The Tunnels API is in research preview. It requires the
70
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
71
+ * deprecation period. It supersedes the Admin API endpoints at
72
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
73
+ *
74
+ * Lists tunnels. Results are ordered by creation time, newest first; archived
75
+ * tunnels are excluded unless include_archived is set.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * // Automatically fetches more pages as needed.
80
+ * for await (const betaTunnel of client.beta.tunnels.list()) {
81
+ * // ...
82
+ * }
83
+ * ```
84
+ */
85
+ list(params = {}, options) {
86
+ const { betas, ...query } = params ?? {};
87
+ return this._client.getAPIList('/v1/tunnels?beta=true', (pagination_1.PageCursor), {
88
+ query,
89
+ ...options,
90
+ headers: (0, headers_1.buildHeaders)([
91
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
92
+ options?.headers,
93
+ ]),
94
+ });
95
+ }
96
+ /**
97
+ * The Tunnels API is in research preview. It requires the
98
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
99
+ * deprecation period. It supersedes the Admin API endpoints at
100
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
101
+ *
102
+ * Archives a tunnel. Archival is irreversible: every non-archived certificate on
103
+ * the tunnel is archived in the same operation, the hostname is retired and never
104
+ * re-allocated, and the tunnel token is invalidated. Retrying against an
105
+ * already-archived tunnel returns the existing record unchanged.
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * const betaTunnel = await client.beta.tunnels.archive(
110
+ * 'tunnel_id',
111
+ * );
112
+ * ```
113
+ */
114
+ archive(tunnelID, params = {}, options) {
115
+ const { betas } = params ?? {};
116
+ return this._client.post((0, path_1.path) `/v1/tunnels/${tunnelID}/archive?beta=true`, {
117
+ ...options,
118
+ headers: (0, headers_1.buildHeaders)([
119
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
120
+ options?.headers,
121
+ ]),
122
+ });
123
+ }
124
+ /**
125
+ * The Tunnels API is in research preview. It requires the
126
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
127
+ * deprecation period. It supersedes the Admin API endpoints at
128
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
129
+ *
130
+ * Reveals a tunnel's connector token. The value is fetched live on each call;
131
+ * Anthropic does not store it. Repeated calls return the same value until the
132
+ * token is rotated. Exposed as POST so the token does not appear in intermediary
133
+ * access logs.
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * const betaTunnelToken =
138
+ * await client.beta.tunnels.revealToken('tunnel_id');
139
+ * ```
140
+ */
141
+ revealToken(tunnelID, params = {}, options) {
142
+ const { betas } = params ?? {};
143
+ return this._client.post((0, path_1.path) `/v1/tunnels/${tunnelID}/reveal_token?beta=true`, {
144
+ ...options,
145
+ headers: (0, headers_1.buildHeaders)([
146
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
147
+ options?.headers,
148
+ ]),
149
+ });
150
+ }
151
+ /**
152
+ * The Tunnels API is in research preview. It requires the
153
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
154
+ * deprecation period. It supersedes the Admin API endpoints at
155
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
156
+ *
157
+ * Rotates a tunnel's connector token. Rotation invalidates the current token for
158
+ * new connections and returns a fresh value; established connections are not
159
+ * severed. A connector restarted after rotation must use the new value.
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * const betaTunnelToken =
164
+ * await client.beta.tunnels.rotateToken('tunnel_id');
165
+ * ```
166
+ */
167
+ rotateToken(tunnelID, params, options) {
168
+ const { betas, ...body } = params;
169
+ return this._client.post((0, path_1.path) `/v1/tunnels/${tunnelID}/rotate_token?beta=true`, {
170
+ body,
171
+ ...options,
172
+ headers: (0, headers_1.buildHeaders)([
173
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
174
+ options?.headers,
175
+ ]),
176
+ });
177
+ }
178
+ }
179
+ exports.Tunnels = Tunnels;
180
+ Tunnels.Certificates = certificates_1.Certificates;
181
+ //# sourceMappingURL=tunnels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnels.js","sourceRoot":"","sources":["../../../src/resources/beta/tunnels/tunnels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../../../core/resource.mjs";
3
+ import * as CertificatesAPI from "./certificates.mjs";
4
+ import { Certificates, } from "./certificates.mjs";
5
+ import { PageCursor } from "../../../core/pagination.mjs";
6
+ import { buildHeaders } from "../../../internal/headers.mjs";
7
+ import { path } from "../../../internal/utils/path.mjs";
8
+ export class Tunnels extends APIResource {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.certificates = new CertificatesAPI.Certificates(this._client);
12
+ }
13
+ /**
14
+ * The Tunnels API is in research preview. It requires the
15
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
16
+ * deprecation period. It supersedes the Admin API endpoints at
17
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
18
+ *
19
+ * Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel;
20
+ * it is not idempotent. The new tunnel rejects MCP traffic until at least one CA
21
+ * certificate is added.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const betaTunnel = await client.beta.tunnels.create();
26
+ * ```
27
+ */
28
+ create(params, options) {
29
+ const { betas, ...body } = params;
30
+ return this._client.post('/v1/tunnels?beta=true', {
31
+ body,
32
+ ...options,
33
+ headers: buildHeaders([
34
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
35
+ options?.headers,
36
+ ]),
37
+ });
38
+ }
39
+ /**
40
+ * The Tunnels API is in research preview. It requires the
41
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
42
+ * deprecation period. It supersedes the Admin API endpoints at
43
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
44
+ *
45
+ * Fetches a tunnel by ID.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const betaTunnel = await client.beta.tunnels.retrieve(
50
+ * 'tunnel_id',
51
+ * );
52
+ * ```
53
+ */
54
+ retrieve(tunnelID, params = {}, options) {
55
+ const { betas } = params ?? {};
56
+ return this._client.get(path `/v1/tunnels/${tunnelID}?beta=true`, {
57
+ ...options,
58
+ headers: buildHeaders([
59
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
60
+ options?.headers,
61
+ ]),
62
+ });
63
+ }
64
+ /**
65
+ * The Tunnels API is in research preview. It requires the
66
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
67
+ * deprecation period. It supersedes the Admin API endpoints at
68
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
69
+ *
70
+ * Lists tunnels. Results are ordered by creation time, newest first; archived
71
+ * tunnels are excluded unless include_archived is set.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * // Automatically fetches more pages as needed.
76
+ * for await (const betaTunnel of client.beta.tunnels.list()) {
77
+ * // ...
78
+ * }
79
+ * ```
80
+ */
81
+ list(params = {}, options) {
82
+ const { betas, ...query } = params ?? {};
83
+ return this._client.getAPIList('/v1/tunnels?beta=true', (PageCursor), {
84
+ query,
85
+ ...options,
86
+ headers: buildHeaders([
87
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
88
+ options?.headers,
89
+ ]),
90
+ });
91
+ }
92
+ /**
93
+ * The Tunnels API is in research preview. It requires the
94
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
95
+ * deprecation period. It supersedes the Admin API endpoints at
96
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
97
+ *
98
+ * Archives a tunnel. Archival is irreversible: every non-archived certificate on
99
+ * the tunnel is archived in the same operation, the hostname is retired and never
100
+ * re-allocated, and the tunnel token is invalidated. Retrying against an
101
+ * already-archived tunnel returns the existing record unchanged.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const betaTunnel = await client.beta.tunnels.archive(
106
+ * 'tunnel_id',
107
+ * );
108
+ * ```
109
+ */
110
+ archive(tunnelID, params = {}, options) {
111
+ const { betas } = params ?? {};
112
+ return this._client.post(path `/v1/tunnels/${tunnelID}/archive?beta=true`, {
113
+ ...options,
114
+ headers: buildHeaders([
115
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
116
+ options?.headers,
117
+ ]),
118
+ });
119
+ }
120
+ /**
121
+ * The Tunnels API is in research preview. It requires the
122
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
123
+ * deprecation period. It supersedes the Admin API endpoints at
124
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
125
+ *
126
+ * Reveals a tunnel's connector token. The value is fetched live on each call;
127
+ * Anthropic does not store it. Repeated calls return the same value until the
128
+ * token is rotated. Exposed as POST so the token does not appear in intermediary
129
+ * access logs.
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * const betaTunnelToken =
134
+ * await client.beta.tunnels.revealToken('tunnel_id');
135
+ * ```
136
+ */
137
+ revealToken(tunnelID, params = {}, options) {
138
+ const { betas } = params ?? {};
139
+ return this._client.post(path `/v1/tunnels/${tunnelID}/reveal_token?beta=true`, {
140
+ ...options,
141
+ headers: buildHeaders([
142
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
143
+ options?.headers,
144
+ ]),
145
+ });
146
+ }
147
+ /**
148
+ * The Tunnels API is in research preview. It requires the
149
+ * `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a
150
+ * deprecation period. It supersedes the Admin API endpoints at
151
+ * `/v1/organizations/tunnels`, which remain available during a migration window.
152
+ *
153
+ * Rotates a tunnel's connector token. Rotation invalidates the current token for
154
+ * new connections and returns a fresh value; established connections are not
155
+ * severed. A connector restarted after rotation must use the new value.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * const betaTunnelToken =
160
+ * await client.beta.tunnels.rotateToken('tunnel_id');
161
+ * ```
162
+ */
163
+ rotateToken(tunnelID, params, options) {
164
+ const { betas, ...body } = params;
165
+ return this._client.post(path `/v1/tunnels/${tunnelID}/rotate_token?beta=true`, {
166
+ body,
167
+ ...options,
168
+ headers: buildHeaders([
169
+ { 'anthropic-beta': [...(betas ?? []), 'mcp-tunnels-2026-06-22'].toString() },
170
+ options?.headers,
171
+ ]),
172
+ });
173
+ }
174
+ }
175
+ Tunnels.Certificates = Certificates;
176
+ //# sourceMappingURL=tunnels.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnels.mjs","sourceRoot":"","sources":["../../../src/resources/beta/tunnels/tunnels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./tunnels/index.mjs";
2
+ //# sourceMappingURL=tunnels.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnels.d.mts","sourceRoot":"","sources":["../../src/resources/beta/tunnels.ts"],"names":[],"mappings":"AAEA,oCAAgC"}
@@ -0,0 +1,2 @@
1
+ export * from "./tunnels/index.js";
2
+ //# sourceMappingURL=tunnels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnels.d.ts","sourceRoot":"","sources":["../../src/resources/beta/tunnels.ts"],"names":[],"mappings":"AAEA,mCAAgC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("../../internal/tslib.js");
5
+ tslib_1.__exportStar(require("./tunnels/index.js"), exports);
6
+ //# sourceMappingURL=tunnels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnels.js","sourceRoot":"","sources":["../../src/resources/beta/tunnels.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,6DAAgC"}
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export * from "./tunnels/index.mjs";
3
+ //# sourceMappingURL=tunnels.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnels.mjs","sourceRoot":"","sources":["../../src/resources/beta/tunnels.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,oCAAgC"}
@@ -546,6 +546,19 @@ import {
546
546
  SkillRetrieveResponse,
547
547
  Skills,
548
548
  } from './skills/skills';
549
+ import * as TunnelsAPI from './tunnels/tunnels';
550
+ import {
551
+ BetaTunnel,
552
+ BetaTunnelToken,
553
+ BetaTunnelsPageCursor,
554
+ TunnelArchiveParams,
555
+ TunnelCreateParams,
556
+ TunnelListParams,
557
+ TunnelRetrieveParams,
558
+ TunnelRevealTokenParams,
559
+ TunnelRotateTokenParams,
560
+ Tunnels,
561
+ } from './tunnels/tunnels';
549
562
  import * as VaultsAPI from './vaults/vaults';
550
563
  import {
551
564
  BetaManagedAgentsDeletedVault,
@@ -575,6 +588,7 @@ export class Beta extends APIResource {
575
588
  webhooks: WebhooksAPI.Webhooks = new WebhooksAPI.Webhooks(this._client);
576
589
  userProfiles: UserProfilesAPI.UserProfiles = new UserProfilesAPI.UserProfiles(this._client);
577
590
  dreams: DreamsAPI.Dreams = new DreamsAPI.Dreams(this._client);
591
+ tunnels: TunnelsAPI.Tunnels = new TunnelsAPI.Tunnels(this._client);
578
592
  }
579
593
 
580
594
  export type AnthropicBeta =
@@ -697,6 +711,7 @@ Beta.Skills = Skills;
697
711
  Beta.Webhooks = Webhooks;
698
712
  Beta.UserProfiles = UserProfiles;
699
713
  Beta.Dreams = Dreams;
714
+ Beta.Tunnels = Tunnels;
700
715
 
701
716
  export declare namespace Beta {
702
717
  export {
@@ -1271,4 +1286,17 @@ export declare namespace Beta {
1271
1286
  type DreamArchiveParams as DreamArchiveParams,
1272
1287
  type DreamCancelParams as DreamCancelParams,
1273
1288
  };
1289
+
1290
+ export {
1291
+ Tunnels as Tunnels,
1292
+ type BetaTunnel as BetaTunnel,
1293
+ type BetaTunnelToken as BetaTunnelToken,
1294
+ type BetaTunnelsPageCursor as BetaTunnelsPageCursor,
1295
+ type TunnelCreateParams as TunnelCreateParams,
1296
+ type TunnelRetrieveParams as TunnelRetrieveParams,
1297
+ type TunnelListParams as TunnelListParams,
1298
+ type TunnelArchiveParams as TunnelArchiveParams,
1299
+ type TunnelRevealTokenParams as TunnelRevealTokenParams,
1300
+ type TunnelRotateTokenParams as TunnelRotateTokenParams,
1301
+ };
1274
1302
  }
@@ -503,6 +503,18 @@ export {
503
503
  type SkillDeleteParams,
504
504
  type SkillListResponsesPageCursor,
505
505
  } from './skills/index';
506
+ export {
507
+ Tunnels,
508
+ type BetaTunnel,
509
+ type BetaTunnelToken,
510
+ type TunnelCreateParams,
511
+ type TunnelRetrieveParams,
512
+ type TunnelListParams,
513
+ type TunnelArchiveParams,
514
+ type TunnelRevealTokenParams,
515
+ type TunnelRotateTokenParams,
516
+ type BetaTunnelsPageCursor,
517
+ } from './tunnels/index';
506
518
  export {
507
519
  UserProfiles,
508
520
  type BetaUserProfile,