@miradorlabs/web-grpc 3.40.0 → 3.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/google/api/field_behavior.ts +1 -1
  2. package/google/protobuf/descriptor.ts +1 -1
  3. package/google/protobuf/duration.ts +1 -1
  4. package/google/protobuf/timestamp.ts +1 -1
  5. package/package.json +1 -1
  6. package/proto/gateway/common/v1/attribute_value.ts +1 -1
  7. package/proto/gateway/common/v1/status.ts +1 -1
  8. package/proto/gateway/common/v1/types.ts +1 -1
  9. package/proto/gateway/web/v1/account_gateway.ts +1 -1
  10. package/proto/gateway/web/v1/admin_gateway.ts +1 -1
  11. package/proto/gateway/web/v1/ai_gateway.ts +212 -1
  12. package/proto/gateway/web/v1/ai_gateway_pb.js +138 -3
  13. package/proto/gateway/web/v1/attribute_value.ts +1 -1
  14. package/proto/gateway/web/v1/beta_gateway.ts +1 -1
  15. package/proto/gateway/web/v1/chain_gateway.ts +1 -1
  16. package/proto/gateway/web/v1/claude_enterprise_gateway.ts +1346 -0
  17. package/proto/gateway/web/v1/claude_enterprise_gateway_grpc_pb.js +157 -0
  18. package/proto/gateway/web/v1/claude_enterprise_gateway_pb.js +2246 -0
  19. package/proto/gateway/web/v1/common.ts +1 -1
  20. package/proto/gateway/web/v1/derived_metric_gateway.ts +1 -1
  21. package/proto/gateway/web/v1/github_connector.ts +1 -1
  22. package/proto/gateway/web/v1/integration_gateway.ts +1 -1
  23. package/proto/gateway/web/v1/log_gateway.ts +1 -1
  24. package/proto/gateway/web/v1/market_gateway.ts +1 -1
  25. package/proto/gateway/web/v1/metric_gateway.ts +1 -1
  26. package/proto/gateway/web/v1/oauth_gateway.ts +1 -1
  27. package/proto/gateway/web/v1/plan_gateway.ts +1 -1
  28. package/proto/gateway/web/v1/policy_gateway.ts +2 -2
  29. package/proto/gateway/web/v1/policy_gateway_grpc_pb.js +1 -1
  30. package/proto/gateway/web/v1/reference_gateway.ts +1 -1
  31. package/proto/gateway/web/v1/rule_gateway.ts +1 -1
  32. package/proto/gateway/web/v1/slo_gateway.ts +1 -1
  33. package/proto/gateway/web/v1/trace_gateway.ts +1 -1
  34. package/proto/gateway/web/v1/trace_measure_gateway.ts +1 -1
@@ -0,0 +1,1346 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.18.3
4
+ // protoc v3.21.12
5
+ // source: proto/gateway/web/v1/claude_enterprise_gateway.proto
6
+
7
+ /* eslint-disable */
8
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
9
+ import type { Metadata } from "@grpc/grpc-js";
10
+ import { Timestamp } from "../../../../google/protobuf/timestamp";
11
+ import { ResponseStatus } from "../../common/v1/status";
12
+
13
+ export const protobufPackage = "gateway.web.v1";
14
+
15
+ export const protobufFileName = "proto/gateway/web/v1/claude_enterprise_gateway.proto";
16
+
17
+ /** An Anthropic API a key reads, found by calling it when the key is saved. */
18
+ export enum ClaudeEnterpriseCapability {
19
+ CLAUDE_ENTERPRISE_CAPABILITY_UNSPECIFIED = 0,
20
+ /** CLAUDE_ENTERPRISE_CAPABILITY_USAGE_REPORTS - Billed usage, seats and adoption. Anthropic: read:analytics. */
21
+ CLAUDE_ENTERPRISE_CAPABILITY_USAGE_REPORTS = 1,
22
+ /** CLAUDE_ENTERPRISE_CAPABILITY_MEMBER_DIRECTORY - The member directory. Anthropic: read:members or read:org_audit. */
23
+ CLAUDE_ENTERPRISE_CAPABILITY_MEMBER_DIRECTORY = 2,
24
+ UNRECOGNIZED = -1,
25
+ }
26
+
27
+ export function claudeEnterpriseCapabilityFromJSON(object: any): ClaudeEnterpriseCapability {
28
+ switch (object) {
29
+ case 0:
30
+ case "CLAUDE_ENTERPRISE_CAPABILITY_UNSPECIFIED":
31
+ return ClaudeEnterpriseCapability.CLAUDE_ENTERPRISE_CAPABILITY_UNSPECIFIED;
32
+ case 1:
33
+ case "CLAUDE_ENTERPRISE_CAPABILITY_USAGE_REPORTS":
34
+ return ClaudeEnterpriseCapability.CLAUDE_ENTERPRISE_CAPABILITY_USAGE_REPORTS;
35
+ case 2:
36
+ case "CLAUDE_ENTERPRISE_CAPABILITY_MEMBER_DIRECTORY":
37
+ return ClaudeEnterpriseCapability.CLAUDE_ENTERPRISE_CAPABILITY_MEMBER_DIRECTORY;
38
+ case -1:
39
+ case "UNRECOGNIZED":
40
+ default:
41
+ return ClaudeEnterpriseCapability.UNRECOGNIZED;
42
+ }
43
+ }
44
+
45
+ export function claudeEnterpriseCapabilityToJSON(object: ClaudeEnterpriseCapability): string {
46
+ switch (object) {
47
+ case ClaudeEnterpriseCapability.CLAUDE_ENTERPRISE_CAPABILITY_UNSPECIFIED:
48
+ return "CLAUDE_ENTERPRISE_CAPABILITY_UNSPECIFIED";
49
+ case ClaudeEnterpriseCapability.CLAUDE_ENTERPRISE_CAPABILITY_USAGE_REPORTS:
50
+ return "CLAUDE_ENTERPRISE_CAPABILITY_USAGE_REPORTS";
51
+ case ClaudeEnterpriseCapability.CLAUDE_ENTERPRISE_CAPABILITY_MEMBER_DIRECTORY:
52
+ return "CLAUDE_ENTERPRISE_CAPABILITY_MEMBER_DIRECTORY";
53
+ case ClaudeEnterpriseCapability.UNRECOGNIZED:
54
+ default:
55
+ return "UNRECOGNIZED";
56
+ }
57
+ }
58
+
59
+ /** The admin's statement of how Anthropic charges the organization; Anthropic's API does not expose it. */
60
+ export enum ClaudeEnterpriseBillingModel {
61
+ CLAUDE_ENTERPRISE_BILLING_MODEL_UNSPECIFIED = 0,
62
+ /** CLAUDE_ENTERPRISE_BILLING_MODEL_USAGE_BASED - Every token billed at API rates: Anthropic's reports cover all usage. */
63
+ CLAUDE_ENTERPRISE_BILLING_MODEL_USAGE_BASED = 1,
64
+ /** CLAUDE_ENTERPRISE_BILLING_MODEL_SEAT_BASED - Seats (legacy Standard/Premium): Anthropic's usage and cost reports cover overage only. */
65
+ CLAUDE_ENTERPRISE_BILLING_MODEL_SEAT_BASED = 2,
66
+ UNRECOGNIZED = -1,
67
+ }
68
+
69
+ export function claudeEnterpriseBillingModelFromJSON(object: any): ClaudeEnterpriseBillingModel {
70
+ switch (object) {
71
+ case 0:
72
+ case "CLAUDE_ENTERPRISE_BILLING_MODEL_UNSPECIFIED":
73
+ return ClaudeEnterpriseBillingModel.CLAUDE_ENTERPRISE_BILLING_MODEL_UNSPECIFIED;
74
+ case 1:
75
+ case "CLAUDE_ENTERPRISE_BILLING_MODEL_USAGE_BASED":
76
+ return ClaudeEnterpriseBillingModel.CLAUDE_ENTERPRISE_BILLING_MODEL_USAGE_BASED;
77
+ case 2:
78
+ case "CLAUDE_ENTERPRISE_BILLING_MODEL_SEAT_BASED":
79
+ return ClaudeEnterpriseBillingModel.CLAUDE_ENTERPRISE_BILLING_MODEL_SEAT_BASED;
80
+ case -1:
81
+ case "UNRECOGNIZED":
82
+ default:
83
+ return ClaudeEnterpriseBillingModel.UNRECOGNIZED;
84
+ }
85
+ }
86
+
87
+ export function claudeEnterpriseBillingModelToJSON(object: ClaudeEnterpriseBillingModel): string {
88
+ switch (object) {
89
+ case ClaudeEnterpriseBillingModel.CLAUDE_ENTERPRISE_BILLING_MODEL_UNSPECIFIED:
90
+ return "CLAUDE_ENTERPRISE_BILLING_MODEL_UNSPECIFIED";
91
+ case ClaudeEnterpriseBillingModel.CLAUDE_ENTERPRISE_BILLING_MODEL_USAGE_BASED:
92
+ return "CLAUDE_ENTERPRISE_BILLING_MODEL_USAGE_BASED";
93
+ case ClaudeEnterpriseBillingModel.CLAUDE_ENTERPRISE_BILLING_MODEL_SEAT_BASED:
94
+ return "CLAUDE_ENTERPRISE_BILLING_MODEL_SEAT_BASED";
95
+ case ClaudeEnterpriseBillingModel.UNRECOGNIZED:
96
+ default:
97
+ return "UNRECOGNIZED";
98
+ }
99
+ }
100
+
101
+ export interface GetClaudeEnterpriseConnectorRequest {
102
+ organizationId: string;
103
+ }
104
+
105
+ export interface GetClaudeEnterpriseConnectorResponse {
106
+ status: ResponseStatus | undefined;
107
+ canManage: boolean;
108
+ /** Absent when the organization has not connected. */
109
+ connection: ClaudeEnterpriseConnection | undefined;
110
+ }
111
+
112
+ export interface ClaudeEnterpriseConnection {
113
+ billingModel: ClaudeEnterpriseBillingModel;
114
+ /** Every capability some key reads. */
115
+ capabilities: ClaudeEnterpriseCapability[];
116
+ /** Newest first. */
117
+ keys: ClaudeEnterpriseKey[];
118
+ }
119
+
120
+ /** A key is never changed: what it read when it was saved holds until it is deleted. */
121
+ export interface ClaudeEnterpriseKey {
122
+ keyId: string;
123
+ /** The key's last four characters. The key itself is never returned. */
124
+ apiKeyHint: string;
125
+ capabilities: ClaudeEnterpriseCapability[];
126
+ createdAt: Date | undefined;
127
+ }
128
+
129
+ export interface CreateClaudeEnterpriseKeyRequest {
130
+ organizationId: string;
131
+ /** An Analytics API key created in claude.ai > Organization settings > API by the primary owner (read:analytics). */
132
+ apiKey: string;
133
+ billingModel: ClaudeEnterpriseBillingModel;
134
+ }
135
+
136
+ export interface CreateClaudeEnterpriseKeyResponse {
137
+ status: ResponseStatus | undefined;
138
+ connection: ClaudeEnterpriseConnection | undefined;
139
+ key: ClaudeEnterpriseKey | undefined;
140
+ }
141
+
142
+ export interface DeleteClaudeEnterpriseKeyRequest {
143
+ organizationId: string;
144
+ keyId: string;
145
+ }
146
+
147
+ export interface DeleteClaudeEnterpriseKeyResponse {
148
+ status:
149
+ | ResponseStatus
150
+ | undefined;
151
+ /** Absent when the deleted key was the connection's last. */
152
+ connection: ClaudeEnterpriseConnection | undefined;
153
+ }
154
+
155
+ export interface DeleteClaudeEnterpriseConnectionRequest {
156
+ organizationId: string;
157
+ }
158
+
159
+ export interface DeleteClaudeEnterpriseConnectionResponse {
160
+ status:
161
+ | ResponseStatus
162
+ | undefined;
163
+ /** False when there was no connection to delete. */
164
+ deleted: boolean;
165
+ }
166
+
167
+ function createBaseGetClaudeEnterpriseConnectorRequest(): GetClaudeEnterpriseConnectorRequest {
168
+ return { organizationId: "" };
169
+ }
170
+
171
+ export const GetClaudeEnterpriseConnectorRequest: MessageFns<GetClaudeEnterpriseConnectorRequest> = {
172
+ encode(message: GetClaudeEnterpriseConnectorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
173
+ if (message.organizationId !== "") {
174
+ writer.uint32(10).string(message.organizationId);
175
+ }
176
+ return writer;
177
+ },
178
+
179
+ decode(input: BinaryReader | Uint8Array, length?: number): GetClaudeEnterpriseConnectorRequest {
180
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
181
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
182
+ if (previousRecursionDepth >= 100) {
183
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
184
+ }
185
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
186
+ try {
187
+ const end = length === undefined ? reader.len : reader.pos + length;
188
+ const message = createBaseGetClaudeEnterpriseConnectorRequest();
189
+ while (reader.pos < end) {
190
+ const tag = reader.uint32();
191
+ switch (tag >>> 3) {
192
+ case 1: {
193
+ if (tag !== 10) {
194
+ break;
195
+ }
196
+
197
+ message.organizationId = reader.string();
198
+ continue;
199
+ }
200
+ }
201
+ if ((tag & 7) === 4 || tag === 0) {
202
+ break;
203
+ }
204
+ reader.skip(tag & 7);
205
+ }
206
+ return message;
207
+ } finally {
208
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
209
+ }
210
+ },
211
+
212
+ fromJSON(object: any): GetClaudeEnterpriseConnectorRequest {
213
+ return {
214
+ organizationId: isSet(object.organizationId)
215
+ ? globalThis.String(object.organizationId)
216
+ : isSet(object.organization_id)
217
+ ? globalThis.String(object.organization_id)
218
+ : "",
219
+ };
220
+ },
221
+
222
+ toJSON(message: GetClaudeEnterpriseConnectorRequest): unknown {
223
+ const obj: any = {};
224
+ if (message.organizationId !== "") {
225
+ obj.organizationId = message.organizationId;
226
+ }
227
+ return obj;
228
+ },
229
+
230
+ create<I extends Exact<DeepPartial<GetClaudeEnterpriseConnectorRequest>, I>>(
231
+ base?: I,
232
+ ): GetClaudeEnterpriseConnectorRequest {
233
+ return GetClaudeEnterpriseConnectorRequest.fromPartial(base ?? ({} as any));
234
+ },
235
+ fromPartial<I extends Exact<DeepPartial<GetClaudeEnterpriseConnectorRequest>, I>>(
236
+ object: I,
237
+ ): GetClaudeEnterpriseConnectorRequest {
238
+ const message = createBaseGetClaudeEnterpriseConnectorRequest();
239
+ message.organizationId = object.organizationId ?? "";
240
+ return message;
241
+ },
242
+ };
243
+
244
+ function createBaseGetClaudeEnterpriseConnectorResponse(): GetClaudeEnterpriseConnectorResponse {
245
+ return { status: undefined, canManage: false, connection: undefined };
246
+ }
247
+
248
+ export const GetClaudeEnterpriseConnectorResponse: MessageFns<GetClaudeEnterpriseConnectorResponse> = {
249
+ encode(message: GetClaudeEnterpriseConnectorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
250
+ if (message.status !== undefined) {
251
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
252
+ }
253
+ if (message.canManage !== false) {
254
+ writer.uint32(16).bool(message.canManage);
255
+ }
256
+ if (message.connection !== undefined) {
257
+ ClaudeEnterpriseConnection.encode(message.connection, writer.uint32(26).fork()).join();
258
+ }
259
+ return writer;
260
+ },
261
+
262
+ decode(input: BinaryReader | Uint8Array, length?: number): GetClaudeEnterpriseConnectorResponse {
263
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
264
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
265
+ if (previousRecursionDepth >= 100) {
266
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
267
+ }
268
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
269
+ try {
270
+ const end = length === undefined ? reader.len : reader.pos + length;
271
+ const message = createBaseGetClaudeEnterpriseConnectorResponse();
272
+ while (reader.pos < end) {
273
+ const tag = reader.uint32();
274
+ switch (tag >>> 3) {
275
+ case 1: {
276
+ if (tag !== 10) {
277
+ break;
278
+ }
279
+
280
+ message.status = ResponseStatus.decode(reader, reader.uint32());
281
+ continue;
282
+ }
283
+ case 2: {
284
+ if (tag !== 16) {
285
+ break;
286
+ }
287
+
288
+ message.canManage = reader.bool();
289
+ continue;
290
+ }
291
+ case 3: {
292
+ if (tag !== 26) {
293
+ break;
294
+ }
295
+
296
+ message.connection = ClaudeEnterpriseConnection.decode(reader, reader.uint32());
297
+ continue;
298
+ }
299
+ }
300
+ if ((tag & 7) === 4 || tag === 0) {
301
+ break;
302
+ }
303
+ reader.skip(tag & 7);
304
+ }
305
+ return message;
306
+ } finally {
307
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
308
+ }
309
+ },
310
+
311
+ fromJSON(object: any): GetClaudeEnterpriseConnectorResponse {
312
+ return {
313
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
314
+ canManage: isSet(object.canManage)
315
+ ? globalThis.Boolean(object.canManage)
316
+ : isSet(object.can_manage)
317
+ ? globalThis.Boolean(object.can_manage)
318
+ : false,
319
+ connection: isSet(object.connection) ? ClaudeEnterpriseConnection.fromJSON(object.connection) : undefined,
320
+ };
321
+ },
322
+
323
+ toJSON(message: GetClaudeEnterpriseConnectorResponse): unknown {
324
+ const obj: any = {};
325
+ if (message.status !== undefined) {
326
+ obj.status = ResponseStatus.toJSON(message.status);
327
+ }
328
+ if (message.canManage !== false) {
329
+ obj.canManage = message.canManage;
330
+ }
331
+ if (message.connection !== undefined) {
332
+ obj.connection = ClaudeEnterpriseConnection.toJSON(message.connection);
333
+ }
334
+ return obj;
335
+ },
336
+
337
+ create<I extends Exact<DeepPartial<GetClaudeEnterpriseConnectorResponse>, I>>(
338
+ base?: I,
339
+ ): GetClaudeEnterpriseConnectorResponse {
340
+ return GetClaudeEnterpriseConnectorResponse.fromPartial(base ?? ({} as any));
341
+ },
342
+ fromPartial<I extends Exact<DeepPartial<GetClaudeEnterpriseConnectorResponse>, I>>(
343
+ object: I,
344
+ ): GetClaudeEnterpriseConnectorResponse {
345
+ const message = createBaseGetClaudeEnterpriseConnectorResponse();
346
+ message.status = (object.status !== undefined && object.status !== null)
347
+ ? ResponseStatus.fromPartial(object.status)
348
+ : undefined;
349
+ message.canManage = object.canManage ?? false;
350
+ message.connection = (object.connection !== undefined && object.connection !== null)
351
+ ? ClaudeEnterpriseConnection.fromPartial(object.connection)
352
+ : undefined;
353
+ return message;
354
+ },
355
+ };
356
+
357
+ function createBaseClaudeEnterpriseConnection(): ClaudeEnterpriseConnection {
358
+ return { billingModel: 0, capabilities: [], keys: [] };
359
+ }
360
+
361
+ export const ClaudeEnterpriseConnection: MessageFns<ClaudeEnterpriseConnection> = {
362
+ encode(message: ClaudeEnterpriseConnection, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
363
+ if (message.billingModel !== 0) {
364
+ writer.uint32(8).int32(message.billingModel);
365
+ }
366
+ if (message.capabilities.length !== 0) {
367
+ writer.uint32(18).fork();
368
+ for (const v of message.capabilities) {
369
+ writer.int32(v);
370
+ }
371
+ writer.join();
372
+ }
373
+ for (const v of message.keys) {
374
+ ClaudeEnterpriseKey.encode(v!, writer.uint32(26).fork()).join();
375
+ }
376
+ return writer;
377
+ },
378
+
379
+ decode(input: BinaryReader | Uint8Array, length?: number): ClaudeEnterpriseConnection {
380
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
381
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
382
+ if (previousRecursionDepth >= 100) {
383
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
384
+ }
385
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
386
+ try {
387
+ const end = length === undefined ? reader.len : reader.pos + length;
388
+ const message = createBaseClaudeEnterpriseConnection();
389
+ while (reader.pos < end) {
390
+ const tag = reader.uint32();
391
+ switch (tag >>> 3) {
392
+ case 1: {
393
+ if (tag !== 8) {
394
+ break;
395
+ }
396
+
397
+ message.billingModel = reader.int32() as any;
398
+ continue;
399
+ }
400
+ case 2: {
401
+ if (tag === 16) {
402
+ message.capabilities.push(reader.int32() as any);
403
+
404
+ continue;
405
+ }
406
+
407
+ if (tag === 18) {
408
+ const end2 = reader.uint32() + reader.pos;
409
+ while (reader.pos < end2) {
410
+ message.capabilities.push(reader.int32() as any);
411
+ }
412
+
413
+ continue;
414
+ }
415
+
416
+ break;
417
+ }
418
+ case 3: {
419
+ if (tag !== 26) {
420
+ break;
421
+ }
422
+
423
+ message.keys.push(ClaudeEnterpriseKey.decode(reader, reader.uint32()));
424
+ continue;
425
+ }
426
+ }
427
+ if ((tag & 7) === 4 || tag === 0) {
428
+ break;
429
+ }
430
+ reader.skip(tag & 7);
431
+ }
432
+ return message;
433
+ } finally {
434
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
435
+ }
436
+ },
437
+
438
+ fromJSON(object: any): ClaudeEnterpriseConnection {
439
+ return {
440
+ billingModel: isSet(object.billingModel)
441
+ ? claudeEnterpriseBillingModelFromJSON(object.billingModel)
442
+ : isSet(object.billing_model)
443
+ ? claudeEnterpriseBillingModelFromJSON(object.billing_model)
444
+ : 0,
445
+ capabilities: globalThis.Array.isArray(object?.capabilities)
446
+ ? object.capabilities.map((e: any) => claudeEnterpriseCapabilityFromJSON(e))
447
+ : [],
448
+ keys: globalThis.Array.isArray(object?.keys) ? object.keys.map((e: any) => ClaudeEnterpriseKey.fromJSON(e)) : [],
449
+ };
450
+ },
451
+
452
+ toJSON(message: ClaudeEnterpriseConnection): unknown {
453
+ const obj: any = {};
454
+ if (message.billingModel !== 0) {
455
+ obj.billingModel = claudeEnterpriseBillingModelToJSON(message.billingModel);
456
+ }
457
+ if (message.capabilities?.length) {
458
+ obj.capabilities = message.capabilities.map((e) => claudeEnterpriseCapabilityToJSON(e));
459
+ }
460
+ if (message.keys?.length) {
461
+ obj.keys = message.keys.map((e) => ClaudeEnterpriseKey.toJSON(e));
462
+ }
463
+ return obj;
464
+ },
465
+
466
+ create<I extends Exact<DeepPartial<ClaudeEnterpriseConnection>, I>>(base?: I): ClaudeEnterpriseConnection {
467
+ return ClaudeEnterpriseConnection.fromPartial(base ?? ({} as any));
468
+ },
469
+ fromPartial<I extends Exact<DeepPartial<ClaudeEnterpriseConnection>, I>>(object: I): ClaudeEnterpriseConnection {
470
+ const message = createBaseClaudeEnterpriseConnection();
471
+ message.billingModel = object.billingModel ?? 0;
472
+ message.capabilities = object.capabilities?.map((e) => e) || [];
473
+ message.keys = object.keys?.map((e) => ClaudeEnterpriseKey.fromPartial(e)) || [];
474
+ return message;
475
+ },
476
+ };
477
+
478
+ function createBaseClaudeEnterpriseKey(): ClaudeEnterpriseKey {
479
+ return { keyId: "", apiKeyHint: "", capabilities: [], createdAt: undefined };
480
+ }
481
+
482
+ export const ClaudeEnterpriseKey: MessageFns<ClaudeEnterpriseKey> = {
483
+ encode(message: ClaudeEnterpriseKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
484
+ if (message.keyId !== "") {
485
+ writer.uint32(10).string(message.keyId);
486
+ }
487
+ if (message.apiKeyHint !== "") {
488
+ writer.uint32(18).string(message.apiKeyHint);
489
+ }
490
+ if (message.capabilities.length !== 0) {
491
+ writer.uint32(26).fork();
492
+ for (const v of message.capabilities) {
493
+ writer.int32(v);
494
+ }
495
+ writer.join();
496
+ }
497
+ if (message.createdAt !== undefined) {
498
+ Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(34).fork()).join();
499
+ }
500
+ return writer;
501
+ },
502
+
503
+ decode(input: BinaryReader | Uint8Array, length?: number): ClaudeEnterpriseKey {
504
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
505
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
506
+ if (previousRecursionDepth >= 100) {
507
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
508
+ }
509
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
510
+ try {
511
+ const end = length === undefined ? reader.len : reader.pos + length;
512
+ const message = createBaseClaudeEnterpriseKey();
513
+ while (reader.pos < end) {
514
+ const tag = reader.uint32();
515
+ switch (tag >>> 3) {
516
+ case 1: {
517
+ if (tag !== 10) {
518
+ break;
519
+ }
520
+
521
+ message.keyId = reader.string();
522
+ continue;
523
+ }
524
+ case 2: {
525
+ if (tag !== 18) {
526
+ break;
527
+ }
528
+
529
+ message.apiKeyHint = reader.string();
530
+ continue;
531
+ }
532
+ case 3: {
533
+ if (tag === 24) {
534
+ message.capabilities.push(reader.int32() as any);
535
+
536
+ continue;
537
+ }
538
+
539
+ if (tag === 26) {
540
+ const end2 = reader.uint32() + reader.pos;
541
+ while (reader.pos < end2) {
542
+ message.capabilities.push(reader.int32() as any);
543
+ }
544
+
545
+ continue;
546
+ }
547
+
548
+ break;
549
+ }
550
+ case 4: {
551
+ if (tag !== 34) {
552
+ break;
553
+ }
554
+
555
+ message.createdAt = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
556
+ continue;
557
+ }
558
+ }
559
+ if ((tag & 7) === 4 || tag === 0) {
560
+ break;
561
+ }
562
+ reader.skip(tag & 7);
563
+ }
564
+ return message;
565
+ } finally {
566
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
567
+ }
568
+ },
569
+
570
+ fromJSON(object: any): ClaudeEnterpriseKey {
571
+ return {
572
+ keyId: isSet(object.keyId)
573
+ ? globalThis.String(object.keyId)
574
+ : isSet(object.key_id)
575
+ ? globalThis.String(object.key_id)
576
+ : "",
577
+ apiKeyHint: isSet(object.apiKeyHint)
578
+ ? globalThis.String(object.apiKeyHint)
579
+ : isSet(object.api_key_hint)
580
+ ? globalThis.String(object.api_key_hint)
581
+ : "",
582
+ capabilities: globalThis.Array.isArray(object?.capabilities)
583
+ ? object.capabilities.map((e: any) => claudeEnterpriseCapabilityFromJSON(e))
584
+ : [],
585
+ createdAt: isSet(object.createdAt)
586
+ ? fromJsonTimestamp(object.createdAt)
587
+ : isSet(object.created_at)
588
+ ? fromJsonTimestamp(object.created_at)
589
+ : undefined,
590
+ };
591
+ },
592
+
593
+ toJSON(message: ClaudeEnterpriseKey): unknown {
594
+ const obj: any = {};
595
+ if (message.keyId !== "") {
596
+ obj.keyId = message.keyId;
597
+ }
598
+ if (message.apiKeyHint !== "") {
599
+ obj.apiKeyHint = message.apiKeyHint;
600
+ }
601
+ if (message.capabilities?.length) {
602
+ obj.capabilities = message.capabilities.map((e) => claudeEnterpriseCapabilityToJSON(e));
603
+ }
604
+ if (message.createdAt !== undefined) {
605
+ obj.createdAt = message.createdAt.toISOString();
606
+ }
607
+ return obj;
608
+ },
609
+
610
+ create<I extends Exact<DeepPartial<ClaudeEnterpriseKey>, I>>(base?: I): ClaudeEnterpriseKey {
611
+ return ClaudeEnterpriseKey.fromPartial(base ?? ({} as any));
612
+ },
613
+ fromPartial<I extends Exact<DeepPartial<ClaudeEnterpriseKey>, I>>(object: I): ClaudeEnterpriseKey {
614
+ const message = createBaseClaudeEnterpriseKey();
615
+ message.keyId = object.keyId ?? "";
616
+ message.apiKeyHint = object.apiKeyHint ?? "";
617
+ message.capabilities = object.capabilities?.map((e) => e) || [];
618
+ message.createdAt = object.createdAt ?? undefined;
619
+ return message;
620
+ },
621
+ };
622
+
623
+ function createBaseCreateClaudeEnterpriseKeyRequest(): CreateClaudeEnterpriseKeyRequest {
624
+ return { organizationId: "", apiKey: "", billingModel: 0 };
625
+ }
626
+
627
+ export const CreateClaudeEnterpriseKeyRequest: MessageFns<CreateClaudeEnterpriseKeyRequest> = {
628
+ encode(message: CreateClaudeEnterpriseKeyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
629
+ if (message.organizationId !== "") {
630
+ writer.uint32(10).string(message.organizationId);
631
+ }
632
+ if (message.apiKey !== "") {
633
+ writer.uint32(18).string(message.apiKey);
634
+ }
635
+ if (message.billingModel !== 0) {
636
+ writer.uint32(24).int32(message.billingModel);
637
+ }
638
+ return writer;
639
+ },
640
+
641
+ decode(input: BinaryReader | Uint8Array, length?: number): CreateClaudeEnterpriseKeyRequest {
642
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
643
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
644
+ if (previousRecursionDepth >= 100) {
645
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
646
+ }
647
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
648
+ try {
649
+ const end = length === undefined ? reader.len : reader.pos + length;
650
+ const message = createBaseCreateClaudeEnterpriseKeyRequest();
651
+ while (reader.pos < end) {
652
+ const tag = reader.uint32();
653
+ switch (tag >>> 3) {
654
+ case 1: {
655
+ if (tag !== 10) {
656
+ break;
657
+ }
658
+
659
+ message.organizationId = reader.string();
660
+ continue;
661
+ }
662
+ case 2: {
663
+ if (tag !== 18) {
664
+ break;
665
+ }
666
+
667
+ message.apiKey = reader.string();
668
+ continue;
669
+ }
670
+ case 3: {
671
+ if (tag !== 24) {
672
+ break;
673
+ }
674
+
675
+ message.billingModel = reader.int32() as any;
676
+ continue;
677
+ }
678
+ }
679
+ if ((tag & 7) === 4 || tag === 0) {
680
+ break;
681
+ }
682
+ reader.skip(tag & 7);
683
+ }
684
+ return message;
685
+ } finally {
686
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
687
+ }
688
+ },
689
+
690
+ fromJSON(object: any): CreateClaudeEnterpriseKeyRequest {
691
+ return {
692
+ organizationId: isSet(object.organizationId)
693
+ ? globalThis.String(object.organizationId)
694
+ : isSet(object.organization_id)
695
+ ? globalThis.String(object.organization_id)
696
+ : "",
697
+ apiKey: isSet(object.apiKey)
698
+ ? globalThis.String(object.apiKey)
699
+ : isSet(object.api_key)
700
+ ? globalThis.String(object.api_key)
701
+ : "",
702
+ billingModel: isSet(object.billingModel)
703
+ ? claudeEnterpriseBillingModelFromJSON(object.billingModel)
704
+ : isSet(object.billing_model)
705
+ ? claudeEnterpriseBillingModelFromJSON(object.billing_model)
706
+ : 0,
707
+ };
708
+ },
709
+
710
+ toJSON(message: CreateClaudeEnterpriseKeyRequest): unknown {
711
+ const obj: any = {};
712
+ if (message.organizationId !== "") {
713
+ obj.organizationId = message.organizationId;
714
+ }
715
+ if (message.apiKey !== "") {
716
+ obj.apiKey = message.apiKey;
717
+ }
718
+ if (message.billingModel !== 0) {
719
+ obj.billingModel = claudeEnterpriseBillingModelToJSON(message.billingModel);
720
+ }
721
+ return obj;
722
+ },
723
+
724
+ create<I extends Exact<DeepPartial<CreateClaudeEnterpriseKeyRequest>, I>>(
725
+ base?: I,
726
+ ): CreateClaudeEnterpriseKeyRequest {
727
+ return CreateClaudeEnterpriseKeyRequest.fromPartial(base ?? ({} as any));
728
+ },
729
+ fromPartial<I extends Exact<DeepPartial<CreateClaudeEnterpriseKeyRequest>, I>>(
730
+ object: I,
731
+ ): CreateClaudeEnterpriseKeyRequest {
732
+ const message = createBaseCreateClaudeEnterpriseKeyRequest();
733
+ message.organizationId = object.organizationId ?? "";
734
+ message.apiKey = object.apiKey ?? "";
735
+ message.billingModel = object.billingModel ?? 0;
736
+ return message;
737
+ },
738
+ };
739
+
740
+ function createBaseCreateClaudeEnterpriseKeyResponse(): CreateClaudeEnterpriseKeyResponse {
741
+ return { status: undefined, connection: undefined, key: undefined };
742
+ }
743
+
744
+ export const CreateClaudeEnterpriseKeyResponse: MessageFns<CreateClaudeEnterpriseKeyResponse> = {
745
+ encode(message: CreateClaudeEnterpriseKeyResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
746
+ if (message.status !== undefined) {
747
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
748
+ }
749
+ if (message.connection !== undefined) {
750
+ ClaudeEnterpriseConnection.encode(message.connection, writer.uint32(18).fork()).join();
751
+ }
752
+ if (message.key !== undefined) {
753
+ ClaudeEnterpriseKey.encode(message.key, writer.uint32(26).fork()).join();
754
+ }
755
+ return writer;
756
+ },
757
+
758
+ decode(input: BinaryReader | Uint8Array, length?: number): CreateClaudeEnterpriseKeyResponse {
759
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
760
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
761
+ if (previousRecursionDepth >= 100) {
762
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
763
+ }
764
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
765
+ try {
766
+ const end = length === undefined ? reader.len : reader.pos + length;
767
+ const message = createBaseCreateClaudeEnterpriseKeyResponse();
768
+ while (reader.pos < end) {
769
+ const tag = reader.uint32();
770
+ switch (tag >>> 3) {
771
+ case 1: {
772
+ if (tag !== 10) {
773
+ break;
774
+ }
775
+
776
+ message.status = ResponseStatus.decode(reader, reader.uint32());
777
+ continue;
778
+ }
779
+ case 2: {
780
+ if (tag !== 18) {
781
+ break;
782
+ }
783
+
784
+ message.connection = ClaudeEnterpriseConnection.decode(reader, reader.uint32());
785
+ continue;
786
+ }
787
+ case 3: {
788
+ if (tag !== 26) {
789
+ break;
790
+ }
791
+
792
+ message.key = ClaudeEnterpriseKey.decode(reader, reader.uint32());
793
+ continue;
794
+ }
795
+ }
796
+ if ((tag & 7) === 4 || tag === 0) {
797
+ break;
798
+ }
799
+ reader.skip(tag & 7);
800
+ }
801
+ return message;
802
+ } finally {
803
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
804
+ }
805
+ },
806
+
807
+ fromJSON(object: any): CreateClaudeEnterpriseKeyResponse {
808
+ return {
809
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
810
+ connection: isSet(object.connection) ? ClaudeEnterpriseConnection.fromJSON(object.connection) : undefined,
811
+ key: isSet(object.key) ? ClaudeEnterpriseKey.fromJSON(object.key) : undefined,
812
+ };
813
+ },
814
+
815
+ toJSON(message: CreateClaudeEnterpriseKeyResponse): unknown {
816
+ const obj: any = {};
817
+ if (message.status !== undefined) {
818
+ obj.status = ResponseStatus.toJSON(message.status);
819
+ }
820
+ if (message.connection !== undefined) {
821
+ obj.connection = ClaudeEnterpriseConnection.toJSON(message.connection);
822
+ }
823
+ if (message.key !== undefined) {
824
+ obj.key = ClaudeEnterpriseKey.toJSON(message.key);
825
+ }
826
+ return obj;
827
+ },
828
+
829
+ create<I extends Exact<DeepPartial<CreateClaudeEnterpriseKeyResponse>, I>>(
830
+ base?: I,
831
+ ): CreateClaudeEnterpriseKeyResponse {
832
+ return CreateClaudeEnterpriseKeyResponse.fromPartial(base ?? ({} as any));
833
+ },
834
+ fromPartial<I extends Exact<DeepPartial<CreateClaudeEnterpriseKeyResponse>, I>>(
835
+ object: I,
836
+ ): CreateClaudeEnterpriseKeyResponse {
837
+ const message = createBaseCreateClaudeEnterpriseKeyResponse();
838
+ message.status = (object.status !== undefined && object.status !== null)
839
+ ? ResponseStatus.fromPartial(object.status)
840
+ : undefined;
841
+ message.connection = (object.connection !== undefined && object.connection !== null)
842
+ ? ClaudeEnterpriseConnection.fromPartial(object.connection)
843
+ : undefined;
844
+ message.key = (object.key !== undefined && object.key !== null)
845
+ ? ClaudeEnterpriseKey.fromPartial(object.key)
846
+ : undefined;
847
+ return message;
848
+ },
849
+ };
850
+
851
+ function createBaseDeleteClaudeEnterpriseKeyRequest(): DeleteClaudeEnterpriseKeyRequest {
852
+ return { organizationId: "", keyId: "" };
853
+ }
854
+
855
+ export const DeleteClaudeEnterpriseKeyRequest: MessageFns<DeleteClaudeEnterpriseKeyRequest> = {
856
+ encode(message: DeleteClaudeEnterpriseKeyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
857
+ if (message.organizationId !== "") {
858
+ writer.uint32(10).string(message.organizationId);
859
+ }
860
+ if (message.keyId !== "") {
861
+ writer.uint32(18).string(message.keyId);
862
+ }
863
+ return writer;
864
+ },
865
+
866
+ decode(input: BinaryReader | Uint8Array, length?: number): DeleteClaudeEnterpriseKeyRequest {
867
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
868
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
869
+ if (previousRecursionDepth >= 100) {
870
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
871
+ }
872
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
873
+ try {
874
+ const end = length === undefined ? reader.len : reader.pos + length;
875
+ const message = createBaseDeleteClaudeEnterpriseKeyRequest();
876
+ while (reader.pos < end) {
877
+ const tag = reader.uint32();
878
+ switch (tag >>> 3) {
879
+ case 1: {
880
+ if (tag !== 10) {
881
+ break;
882
+ }
883
+
884
+ message.organizationId = reader.string();
885
+ continue;
886
+ }
887
+ case 2: {
888
+ if (tag !== 18) {
889
+ break;
890
+ }
891
+
892
+ message.keyId = reader.string();
893
+ continue;
894
+ }
895
+ }
896
+ if ((tag & 7) === 4 || tag === 0) {
897
+ break;
898
+ }
899
+ reader.skip(tag & 7);
900
+ }
901
+ return message;
902
+ } finally {
903
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
904
+ }
905
+ },
906
+
907
+ fromJSON(object: any): DeleteClaudeEnterpriseKeyRequest {
908
+ return {
909
+ organizationId: isSet(object.organizationId)
910
+ ? globalThis.String(object.organizationId)
911
+ : isSet(object.organization_id)
912
+ ? globalThis.String(object.organization_id)
913
+ : "",
914
+ keyId: isSet(object.keyId)
915
+ ? globalThis.String(object.keyId)
916
+ : isSet(object.key_id)
917
+ ? globalThis.String(object.key_id)
918
+ : "",
919
+ };
920
+ },
921
+
922
+ toJSON(message: DeleteClaudeEnterpriseKeyRequest): unknown {
923
+ const obj: any = {};
924
+ if (message.organizationId !== "") {
925
+ obj.organizationId = message.organizationId;
926
+ }
927
+ if (message.keyId !== "") {
928
+ obj.keyId = message.keyId;
929
+ }
930
+ return obj;
931
+ },
932
+
933
+ create<I extends Exact<DeepPartial<DeleteClaudeEnterpriseKeyRequest>, I>>(
934
+ base?: I,
935
+ ): DeleteClaudeEnterpriseKeyRequest {
936
+ return DeleteClaudeEnterpriseKeyRequest.fromPartial(base ?? ({} as any));
937
+ },
938
+ fromPartial<I extends Exact<DeepPartial<DeleteClaudeEnterpriseKeyRequest>, I>>(
939
+ object: I,
940
+ ): DeleteClaudeEnterpriseKeyRequest {
941
+ const message = createBaseDeleteClaudeEnterpriseKeyRequest();
942
+ message.organizationId = object.organizationId ?? "";
943
+ message.keyId = object.keyId ?? "";
944
+ return message;
945
+ },
946
+ };
947
+
948
+ function createBaseDeleteClaudeEnterpriseKeyResponse(): DeleteClaudeEnterpriseKeyResponse {
949
+ return { status: undefined, connection: undefined };
950
+ }
951
+
952
+ export const DeleteClaudeEnterpriseKeyResponse: MessageFns<DeleteClaudeEnterpriseKeyResponse> = {
953
+ encode(message: DeleteClaudeEnterpriseKeyResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
954
+ if (message.status !== undefined) {
955
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
956
+ }
957
+ if (message.connection !== undefined) {
958
+ ClaudeEnterpriseConnection.encode(message.connection, writer.uint32(18).fork()).join();
959
+ }
960
+ return writer;
961
+ },
962
+
963
+ decode(input: BinaryReader | Uint8Array, length?: number): DeleteClaudeEnterpriseKeyResponse {
964
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
965
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
966
+ if (previousRecursionDepth >= 100) {
967
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
968
+ }
969
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
970
+ try {
971
+ const end = length === undefined ? reader.len : reader.pos + length;
972
+ const message = createBaseDeleteClaudeEnterpriseKeyResponse();
973
+ while (reader.pos < end) {
974
+ const tag = reader.uint32();
975
+ switch (tag >>> 3) {
976
+ case 1: {
977
+ if (tag !== 10) {
978
+ break;
979
+ }
980
+
981
+ message.status = ResponseStatus.decode(reader, reader.uint32());
982
+ continue;
983
+ }
984
+ case 2: {
985
+ if (tag !== 18) {
986
+ break;
987
+ }
988
+
989
+ message.connection = ClaudeEnterpriseConnection.decode(reader, reader.uint32());
990
+ continue;
991
+ }
992
+ }
993
+ if ((tag & 7) === 4 || tag === 0) {
994
+ break;
995
+ }
996
+ reader.skip(tag & 7);
997
+ }
998
+ return message;
999
+ } finally {
1000
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1001
+ }
1002
+ },
1003
+
1004
+ fromJSON(object: any): DeleteClaudeEnterpriseKeyResponse {
1005
+ return {
1006
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
1007
+ connection: isSet(object.connection) ? ClaudeEnterpriseConnection.fromJSON(object.connection) : undefined,
1008
+ };
1009
+ },
1010
+
1011
+ toJSON(message: DeleteClaudeEnterpriseKeyResponse): unknown {
1012
+ const obj: any = {};
1013
+ if (message.status !== undefined) {
1014
+ obj.status = ResponseStatus.toJSON(message.status);
1015
+ }
1016
+ if (message.connection !== undefined) {
1017
+ obj.connection = ClaudeEnterpriseConnection.toJSON(message.connection);
1018
+ }
1019
+ return obj;
1020
+ },
1021
+
1022
+ create<I extends Exact<DeepPartial<DeleteClaudeEnterpriseKeyResponse>, I>>(
1023
+ base?: I,
1024
+ ): DeleteClaudeEnterpriseKeyResponse {
1025
+ return DeleteClaudeEnterpriseKeyResponse.fromPartial(base ?? ({} as any));
1026
+ },
1027
+ fromPartial<I extends Exact<DeepPartial<DeleteClaudeEnterpriseKeyResponse>, I>>(
1028
+ object: I,
1029
+ ): DeleteClaudeEnterpriseKeyResponse {
1030
+ const message = createBaseDeleteClaudeEnterpriseKeyResponse();
1031
+ message.status = (object.status !== undefined && object.status !== null)
1032
+ ? ResponseStatus.fromPartial(object.status)
1033
+ : undefined;
1034
+ message.connection = (object.connection !== undefined && object.connection !== null)
1035
+ ? ClaudeEnterpriseConnection.fromPartial(object.connection)
1036
+ : undefined;
1037
+ return message;
1038
+ },
1039
+ };
1040
+
1041
+ function createBaseDeleteClaudeEnterpriseConnectionRequest(): DeleteClaudeEnterpriseConnectionRequest {
1042
+ return { organizationId: "" };
1043
+ }
1044
+
1045
+ export const DeleteClaudeEnterpriseConnectionRequest: MessageFns<DeleteClaudeEnterpriseConnectionRequest> = {
1046
+ encode(message: DeleteClaudeEnterpriseConnectionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1047
+ if (message.organizationId !== "") {
1048
+ writer.uint32(10).string(message.organizationId);
1049
+ }
1050
+ return writer;
1051
+ },
1052
+
1053
+ decode(input: BinaryReader | Uint8Array, length?: number): DeleteClaudeEnterpriseConnectionRequest {
1054
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1055
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1056
+ if (previousRecursionDepth >= 100) {
1057
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1058
+ }
1059
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1060
+ try {
1061
+ const end = length === undefined ? reader.len : reader.pos + length;
1062
+ const message = createBaseDeleteClaudeEnterpriseConnectionRequest();
1063
+ while (reader.pos < end) {
1064
+ const tag = reader.uint32();
1065
+ switch (tag >>> 3) {
1066
+ case 1: {
1067
+ if (tag !== 10) {
1068
+ break;
1069
+ }
1070
+
1071
+ message.organizationId = reader.string();
1072
+ continue;
1073
+ }
1074
+ }
1075
+ if ((tag & 7) === 4 || tag === 0) {
1076
+ break;
1077
+ }
1078
+ reader.skip(tag & 7);
1079
+ }
1080
+ return message;
1081
+ } finally {
1082
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1083
+ }
1084
+ },
1085
+
1086
+ fromJSON(object: any): DeleteClaudeEnterpriseConnectionRequest {
1087
+ return {
1088
+ organizationId: isSet(object.organizationId)
1089
+ ? globalThis.String(object.organizationId)
1090
+ : isSet(object.organization_id)
1091
+ ? globalThis.String(object.organization_id)
1092
+ : "",
1093
+ };
1094
+ },
1095
+
1096
+ toJSON(message: DeleteClaudeEnterpriseConnectionRequest): unknown {
1097
+ const obj: any = {};
1098
+ if (message.organizationId !== "") {
1099
+ obj.organizationId = message.organizationId;
1100
+ }
1101
+ return obj;
1102
+ },
1103
+
1104
+ create<I extends Exact<DeepPartial<DeleteClaudeEnterpriseConnectionRequest>, I>>(
1105
+ base?: I,
1106
+ ): DeleteClaudeEnterpriseConnectionRequest {
1107
+ return DeleteClaudeEnterpriseConnectionRequest.fromPartial(base ?? ({} as any));
1108
+ },
1109
+ fromPartial<I extends Exact<DeepPartial<DeleteClaudeEnterpriseConnectionRequest>, I>>(
1110
+ object: I,
1111
+ ): DeleteClaudeEnterpriseConnectionRequest {
1112
+ const message = createBaseDeleteClaudeEnterpriseConnectionRequest();
1113
+ message.organizationId = object.organizationId ?? "";
1114
+ return message;
1115
+ },
1116
+ };
1117
+
1118
+ function createBaseDeleteClaudeEnterpriseConnectionResponse(): DeleteClaudeEnterpriseConnectionResponse {
1119
+ return { status: undefined, deleted: false };
1120
+ }
1121
+
1122
+ export const DeleteClaudeEnterpriseConnectionResponse: MessageFns<DeleteClaudeEnterpriseConnectionResponse> = {
1123
+ encode(message: DeleteClaudeEnterpriseConnectionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1124
+ if (message.status !== undefined) {
1125
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
1126
+ }
1127
+ if (message.deleted !== false) {
1128
+ writer.uint32(16).bool(message.deleted);
1129
+ }
1130
+ return writer;
1131
+ },
1132
+
1133
+ decode(input: BinaryReader | Uint8Array, length?: number): DeleteClaudeEnterpriseConnectionResponse {
1134
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1135
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1136
+ if (previousRecursionDepth >= 100) {
1137
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1138
+ }
1139
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1140
+ try {
1141
+ const end = length === undefined ? reader.len : reader.pos + length;
1142
+ const message = createBaseDeleteClaudeEnterpriseConnectionResponse();
1143
+ while (reader.pos < end) {
1144
+ const tag = reader.uint32();
1145
+ switch (tag >>> 3) {
1146
+ case 1: {
1147
+ if (tag !== 10) {
1148
+ break;
1149
+ }
1150
+
1151
+ message.status = ResponseStatus.decode(reader, reader.uint32());
1152
+ continue;
1153
+ }
1154
+ case 2: {
1155
+ if (tag !== 16) {
1156
+ break;
1157
+ }
1158
+
1159
+ message.deleted = reader.bool();
1160
+ continue;
1161
+ }
1162
+ }
1163
+ if ((tag & 7) === 4 || tag === 0) {
1164
+ break;
1165
+ }
1166
+ reader.skip(tag & 7);
1167
+ }
1168
+ return message;
1169
+ } finally {
1170
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1171
+ }
1172
+ },
1173
+
1174
+ fromJSON(object: any): DeleteClaudeEnterpriseConnectionResponse {
1175
+ return {
1176
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
1177
+ deleted: isSet(object.deleted) ? globalThis.Boolean(object.deleted) : false,
1178
+ };
1179
+ },
1180
+
1181
+ toJSON(message: DeleteClaudeEnterpriseConnectionResponse): unknown {
1182
+ const obj: any = {};
1183
+ if (message.status !== undefined) {
1184
+ obj.status = ResponseStatus.toJSON(message.status);
1185
+ }
1186
+ if (message.deleted !== false) {
1187
+ obj.deleted = message.deleted;
1188
+ }
1189
+ return obj;
1190
+ },
1191
+
1192
+ create<I extends Exact<DeepPartial<DeleteClaudeEnterpriseConnectionResponse>, I>>(
1193
+ base?: I,
1194
+ ): DeleteClaudeEnterpriseConnectionResponse {
1195
+ return DeleteClaudeEnterpriseConnectionResponse.fromPartial(base ?? ({} as any));
1196
+ },
1197
+ fromPartial<I extends Exact<DeepPartial<DeleteClaudeEnterpriseConnectionResponse>, I>>(
1198
+ object: I,
1199
+ ): DeleteClaudeEnterpriseConnectionResponse {
1200
+ const message = createBaseDeleteClaudeEnterpriseConnectionResponse();
1201
+ message.status = (object.status !== undefined && object.status !== null)
1202
+ ? ResponseStatus.fromPartial(object.status)
1203
+ : undefined;
1204
+ message.deleted = object.deleted ?? false;
1205
+ return message;
1206
+ },
1207
+ };
1208
+
1209
+ /**
1210
+ * An organization's Claude Enterprise account: an org admin connects read-only Anthropic keys, each checked against
1211
+ * Anthropic before it is stored. An organization-level surface, never a team's. Terma only. An organization with no
1212
+ * key reads as never connected, from the moment its last key is deleted.
1213
+ */
1214
+ export interface ClaudeEnterpriseGatewayService {
1215
+ /** The connection and its keys. can_manage tells the client whether to offer adding and deleting keys. */
1216
+ GetClaudeEnterpriseConnector(
1217
+ request: GetClaudeEnterpriseConnectorRequest,
1218
+ metadata?: Metadata,
1219
+ ): Promise<GetClaudeEnterpriseConnectorResponse>;
1220
+ /**
1221
+ * Org admin. Anthropic must accept the key for its usage reports, or it is not stored and the status is
1222
+ * STATUS_CODE_VALIDATION_ERROR naming the reason, Anthropic's own words included. The first key creates the
1223
+ * connection, every key sets its billing model, and a stored key whose capabilities the new key all reads is
1224
+ * replaced.
1225
+ */
1226
+ CreateClaudeEnterpriseKey(
1227
+ request: CreateClaudeEnterpriseKeyRequest,
1228
+ metadata?: Metadata,
1229
+ ): Promise<CreateClaudeEnterpriseKeyResponse>;
1230
+ /**
1231
+ * Org admin. Deleting the connection's last key disconnects it. STATUS_CODE_NOT_FOUND for a key the
1232
+ * organization's connection does not hold.
1233
+ */
1234
+ DeleteClaudeEnterpriseKey(
1235
+ request: DeleteClaudeEnterpriseKeyRequest,
1236
+ metadata?: Metadata,
1237
+ ): Promise<DeleteClaudeEnterpriseKeyResponse>;
1238
+ /** Org admin. Deletes every key. */
1239
+ DeleteClaudeEnterpriseConnection(
1240
+ request: DeleteClaudeEnterpriseConnectionRequest,
1241
+ metadata?: Metadata,
1242
+ ): Promise<DeleteClaudeEnterpriseConnectionResponse>;
1243
+ }
1244
+
1245
+ export const ClaudeEnterpriseGatewayServiceServiceName = "gateway.web.v1.ClaudeEnterpriseGatewayService";
1246
+ export class ClaudeEnterpriseGatewayServiceClientImpl implements ClaudeEnterpriseGatewayService {
1247
+ private readonly rpc: Rpc;
1248
+ private readonly service: string;
1249
+ constructor(rpc: Rpc, opts?: { service?: string }) {
1250
+ this.service = opts?.service || ClaudeEnterpriseGatewayServiceServiceName;
1251
+ this.rpc = rpc;
1252
+ this.GetClaudeEnterpriseConnector = this.GetClaudeEnterpriseConnector.bind(this);
1253
+ this.CreateClaudeEnterpriseKey = this.CreateClaudeEnterpriseKey.bind(this);
1254
+ this.DeleteClaudeEnterpriseKey = this.DeleteClaudeEnterpriseKey.bind(this);
1255
+ this.DeleteClaudeEnterpriseConnection = this.DeleteClaudeEnterpriseConnection.bind(this);
1256
+ }
1257
+ GetClaudeEnterpriseConnector(
1258
+ request: GetClaudeEnterpriseConnectorRequest,
1259
+ metadata?: Metadata,
1260
+ ): Promise<GetClaudeEnterpriseConnectorResponse> {
1261
+ const data = GetClaudeEnterpriseConnectorRequest.encode(request).finish();
1262
+ const promise = this.rpc.request(this.service, "GetClaudeEnterpriseConnector", data, metadata);
1263
+ return promise.then((data) => GetClaudeEnterpriseConnectorResponse.decode(new BinaryReader(data)));
1264
+ }
1265
+
1266
+ CreateClaudeEnterpriseKey(
1267
+ request: CreateClaudeEnterpriseKeyRequest,
1268
+ metadata?: Metadata,
1269
+ ): Promise<CreateClaudeEnterpriseKeyResponse> {
1270
+ const data = CreateClaudeEnterpriseKeyRequest.encode(request).finish();
1271
+ const promise = this.rpc.request(this.service, "CreateClaudeEnterpriseKey", data, metadata);
1272
+ return promise.then((data) => CreateClaudeEnterpriseKeyResponse.decode(new BinaryReader(data)));
1273
+ }
1274
+
1275
+ DeleteClaudeEnterpriseKey(
1276
+ request: DeleteClaudeEnterpriseKeyRequest,
1277
+ metadata?: Metadata,
1278
+ ): Promise<DeleteClaudeEnterpriseKeyResponse> {
1279
+ const data = DeleteClaudeEnterpriseKeyRequest.encode(request).finish();
1280
+ const promise = this.rpc.request(this.service, "DeleteClaudeEnterpriseKey", data, metadata);
1281
+ return promise.then((data) => DeleteClaudeEnterpriseKeyResponse.decode(new BinaryReader(data)));
1282
+ }
1283
+
1284
+ DeleteClaudeEnterpriseConnection(
1285
+ request: DeleteClaudeEnterpriseConnectionRequest,
1286
+ metadata?: Metadata,
1287
+ ): Promise<DeleteClaudeEnterpriseConnectionResponse> {
1288
+ const data = DeleteClaudeEnterpriseConnectionRequest.encode(request).finish();
1289
+ const promise = this.rpc.request(this.service, "DeleteClaudeEnterpriseConnection", data, metadata);
1290
+ return promise.then((data) => DeleteClaudeEnterpriseConnectionResponse.decode(new BinaryReader(data)));
1291
+ }
1292
+ }
1293
+
1294
+ interface Rpc {
1295
+ request(service: string, method: string, data: Uint8Array, metadata?: Metadata): Promise<Uint8Array>;
1296
+ }
1297
+
1298
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
1299
+
1300
+ export type DeepPartial<T> = T extends Builtin ? T
1301
+ : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
1302
+ : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
1303
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
1304
+ : Partial<T>;
1305
+
1306
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
1307
+ export type Exact<P, I> = P extends Builtin ? P
1308
+ :
1309
+ & P
1310
+ & { [K in keyof P as Extract<K, keyof I>]: Exact<P[K], I[K & keyof I]> }
1311
+ & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
1312
+
1313
+ function toTimestamp(date: Date): Timestamp {
1314
+ const seconds = Math.trunc(date.getTime() / 1_000);
1315
+ const nanos = (date.getTime() % 1_000) * 1_000_000;
1316
+ return { seconds, nanos };
1317
+ }
1318
+
1319
+ function fromTimestamp(t: Timestamp): Date {
1320
+ let millis = (t.seconds || 0) * 1_000;
1321
+ millis += (t.nanos || 0) / 1_000_000;
1322
+ return new globalThis.Date(millis);
1323
+ }
1324
+
1325
+ function fromJsonTimestamp(o: any): Date {
1326
+ if (o instanceof globalThis.Date) {
1327
+ return o;
1328
+ } else if (typeof o === "string") {
1329
+ return new globalThis.Date(o);
1330
+ } else {
1331
+ return fromTimestamp(Timestamp.fromJSON(o));
1332
+ }
1333
+ }
1334
+
1335
+ function isSet(value: any): boolean {
1336
+ return value !== null && value !== undefined;
1337
+ }
1338
+
1339
+ export interface MessageFns<T> {
1340
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
1341
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
1342
+ fromJSON(object: any): T;
1343
+ toJSON(message: T): unknown;
1344
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
1345
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
1346
+ }