@miradorlabs/web-grpc 3.3.0 → 3.4.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.
@@ -10,12 +10,7 @@ import type { Metadata } from "@grpc/grpc-js";
10
10
  import { Timestamp } from "../../../../google/protobuf/timestamp";
11
11
  import { ResponseStatus } from "../../common/v1/status";
12
12
  import { InviteCodeState, inviteCodeStateFromJSON, inviteCodeStateToJSON } from "./beta_gateway";
13
- import {
14
- ListAIReferenceNamesResponse,
15
- ListAllAIReferenceNamesRequest,
16
- UpdateAIReferenceNameRequest,
17
- UpdateAIReferenceNameResponse,
18
- } from "./reference_gateway";
13
+ import { AIReferenceName } from "./reference_gateway";
19
14
 
20
15
  export const protobufPackage = "gateway.web.v1";
21
16
 
@@ -58,6 +53,54 @@ export interface ListInviteCodesResponse {
58
53
  codes: InviteCode[];
59
54
  }
60
55
 
56
+ export interface UpdateAIProviderRequest {
57
+ /** Required. */
58
+ name: string;
59
+ /** Required, with a letter or digit. Stored as its lowercase slug ("GPT 6 Sol" -> "gpt-6-sol"). */
60
+ displayName: string;
61
+ }
62
+
63
+ export interface UpdateAIProviderResponse {
64
+ status: ResponseStatus | undefined;
65
+ provider: AIReferenceName | undefined;
66
+ }
67
+
68
+ export interface UpdateAIModelRequest {
69
+ /** Required. */
70
+ name: string;
71
+ /** Required, with a letter or digit. Stored as its lowercase slug ("GPT 6 Sol" -> "gpt-6-sol"). */
72
+ displayName: string;
73
+ }
74
+
75
+ export interface UpdateAIModelResponse {
76
+ status: ResponseStatus | undefined;
77
+ model: AIReferenceName | undefined;
78
+ }
79
+
80
+ export interface UpdateAIEffortRequest {
81
+ /** Required, except that "" is a valid effort name. */
82
+ name: string;
83
+ /** Required, with a letter or digit. Stored as its lowercase slug ("GPT 6 Sol" -> "gpt-6-sol"). */
84
+ displayName: string;
85
+ }
86
+
87
+ export interface UpdateAIEffortResponse {
88
+ status: ResponseStatus | undefined;
89
+ effort: AIReferenceName | undefined;
90
+ }
91
+
92
+ export interface UpdateAIBillerRequest {
93
+ /** Required. */
94
+ name: string;
95
+ /** Required, with a letter or digit. Stored as its lowercase slug ("GPT 6 Sol" -> "gpt-6-sol"). */
96
+ displayName: string;
97
+ }
98
+
99
+ export interface UpdateAIBillerResponse {
100
+ status: ResponseStatus | undefined;
101
+ biller: AIReferenceName | undefined;
102
+ }
103
+
61
104
  function createBaseGetAdminStatusRequest(): GetAdminStatusRequest {
62
105
  return {};
63
106
  }
@@ -755,126 +798,794 @@ export const ListInviteCodesResponse: MessageFns<ListInviteCodesResponse> = {
755
798
  },
756
799
  };
757
800
 
758
- /**
759
- * AdminGatewayService is the browser-facing surface of the admin tools, across every domain, which only
760
- * Mirador staff (a verified mirador.org primary email) may use. The gateway's admin gate admits every RPC
761
- * here except GetAdminStatus, which tells the frontend whether to show the admin tools at all.
762
- */
763
- export interface AdminGatewayService {
764
- /** GetAdminStatus reports whether the authenticated caller may use the admin tools. */
765
- GetAdminStatus(request: GetAdminStatusRequest, metadata?: Metadata): Promise<GetAdminStatusResponse>;
766
- /** Beta invite codes for this gateway's product. */
767
- GenerateInviteCodes(request: GenerateInviteCodesRequest, metadata?: Metadata): Promise<GenerateInviteCodesResponse>;
768
- ListInviteCodes(request: ListInviteCodesRequest, metadata?: Metadata): Promise<ListInviteCodesResponse>;
769
- /**
770
- * The global AI reference tables: every name any organization reported, and its display name for all of
771
- * them. An update makes the name MANUAL; the model processor never overwrites it.
772
- */
773
- ListAIProviders(request: ListAllAIReferenceNamesRequest, metadata?: Metadata): Promise<ListAIReferenceNamesResponse>;
774
- ListAIModels(request: ListAllAIReferenceNamesRequest, metadata?: Metadata): Promise<ListAIReferenceNamesResponse>;
775
- ListAIEfforts(request: ListAllAIReferenceNamesRequest, metadata?: Metadata): Promise<ListAIReferenceNamesResponse>;
776
- ListAIBillingParties(
777
- request: ListAllAIReferenceNamesRequest,
778
- metadata?: Metadata,
779
- ): Promise<ListAIReferenceNamesResponse>;
780
- UpdateAIProvider(request: UpdateAIReferenceNameRequest, metadata?: Metadata): Promise<UpdateAIReferenceNameResponse>;
781
- UpdateAIModel(request: UpdateAIReferenceNameRequest, metadata?: Metadata): Promise<UpdateAIReferenceNameResponse>;
782
- UpdateAIEffort(request: UpdateAIReferenceNameRequest, metadata?: Metadata): Promise<UpdateAIReferenceNameResponse>;
783
- UpdateAIBillingParty(
784
- request: UpdateAIReferenceNameRequest,
785
- metadata?: Metadata,
786
- ): Promise<UpdateAIReferenceNameResponse>;
801
+ function createBaseUpdateAIProviderRequest(): UpdateAIProviderRequest {
802
+ return { name: "", displayName: "" };
787
803
  }
788
804
 
789
- export const AdminGatewayServiceServiceName = "gateway.web.v1.AdminGatewayService";
790
- export class AdminGatewayServiceClientImpl implements AdminGatewayService {
791
- private readonly rpc: Rpc;
792
- private readonly service: string;
793
- constructor(rpc: Rpc, opts?: { service?: string }) {
794
- this.service = opts?.service || AdminGatewayServiceServiceName;
795
- this.rpc = rpc;
796
- this.GetAdminStatus = this.GetAdminStatus.bind(this);
797
- this.GenerateInviteCodes = this.GenerateInviteCodes.bind(this);
798
- this.ListInviteCodes = this.ListInviteCodes.bind(this);
799
- this.ListAIProviders = this.ListAIProviders.bind(this);
800
- this.ListAIModels = this.ListAIModels.bind(this);
801
- this.ListAIEfforts = this.ListAIEfforts.bind(this);
802
- this.ListAIBillingParties = this.ListAIBillingParties.bind(this);
803
- this.UpdateAIProvider = this.UpdateAIProvider.bind(this);
804
- this.UpdateAIModel = this.UpdateAIModel.bind(this);
805
- this.UpdateAIEffort = this.UpdateAIEffort.bind(this);
806
- this.UpdateAIBillingParty = this.UpdateAIBillingParty.bind(this);
807
- }
808
- GetAdminStatus(request: GetAdminStatusRequest, metadata?: Metadata): Promise<GetAdminStatusResponse> {
809
- const data = GetAdminStatusRequest.encode(request).finish();
810
- const promise = this.rpc.request(this.service, "GetAdminStatus", data, metadata);
811
- return promise.then((data) => GetAdminStatusResponse.decode(new BinaryReader(data)));
812
- }
805
+ export const UpdateAIProviderRequest: MessageFns<UpdateAIProviderRequest> = {
806
+ encode(message: UpdateAIProviderRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
807
+ if (message.name !== "") {
808
+ writer.uint32(10).string(message.name);
809
+ }
810
+ if (message.displayName !== "") {
811
+ writer.uint32(18).string(message.displayName);
812
+ }
813
+ return writer;
814
+ },
813
815
 
814
- GenerateInviteCodes(request: GenerateInviteCodesRequest, metadata?: Metadata): Promise<GenerateInviteCodesResponse> {
815
- const data = GenerateInviteCodesRequest.encode(request).finish();
816
- const promise = this.rpc.request(this.service, "GenerateInviteCodes", data, metadata);
817
- return promise.then((data) => GenerateInviteCodesResponse.decode(new BinaryReader(data)));
818
- }
816
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIProviderRequest {
817
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
818
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
819
+ if (previousRecursionDepth >= 100) {
820
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
821
+ }
822
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
823
+ try {
824
+ const end = length === undefined ? reader.len : reader.pos + length;
825
+ const message = createBaseUpdateAIProviderRequest();
826
+ while (reader.pos < end) {
827
+ const tag = reader.uint32();
828
+ switch (tag >>> 3) {
829
+ case 1: {
830
+ if (tag !== 10) {
831
+ break;
832
+ }
819
833
 
820
- ListInviteCodes(request: ListInviteCodesRequest, metadata?: Metadata): Promise<ListInviteCodesResponse> {
821
- const data = ListInviteCodesRequest.encode(request).finish();
822
- const promise = this.rpc.request(this.service, "ListInviteCodes", data, metadata);
823
- return promise.then((data) => ListInviteCodesResponse.decode(new BinaryReader(data)));
824
- }
834
+ message.name = reader.string();
835
+ continue;
836
+ }
837
+ case 2: {
838
+ if (tag !== 18) {
839
+ break;
840
+ }
825
841
 
826
- ListAIProviders(request: ListAllAIReferenceNamesRequest, metadata?: Metadata): Promise<ListAIReferenceNamesResponse> {
827
- const data = ListAllAIReferenceNamesRequest.encode(request).finish();
828
- const promise = this.rpc.request(this.service, "ListAIProviders", data, metadata);
829
- return promise.then((data) => ListAIReferenceNamesResponse.decode(new BinaryReader(data)));
830
- }
842
+ message.displayName = reader.string();
843
+ continue;
844
+ }
845
+ }
846
+ if ((tag & 7) === 4 || tag === 0) {
847
+ break;
848
+ }
849
+ reader.skip(tag & 7);
850
+ }
851
+ return message;
852
+ } finally {
853
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
854
+ }
855
+ },
831
856
 
832
- ListAIModels(request: ListAllAIReferenceNamesRequest, metadata?: Metadata): Promise<ListAIReferenceNamesResponse> {
833
- const data = ListAllAIReferenceNamesRequest.encode(request).finish();
834
- const promise = this.rpc.request(this.service, "ListAIModels", data, metadata);
835
- return promise.then((data) => ListAIReferenceNamesResponse.decode(new BinaryReader(data)));
836
- }
857
+ fromJSON(object: any): UpdateAIProviderRequest {
858
+ return {
859
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
860
+ displayName: isSet(object.displayName)
861
+ ? globalThis.String(object.displayName)
862
+ : isSet(object.display_name)
863
+ ? globalThis.String(object.display_name)
864
+ : "",
865
+ };
866
+ },
837
867
 
838
- ListAIEfforts(request: ListAllAIReferenceNamesRequest, metadata?: Metadata): Promise<ListAIReferenceNamesResponse> {
839
- const data = ListAllAIReferenceNamesRequest.encode(request).finish();
840
- const promise = this.rpc.request(this.service, "ListAIEfforts", data, metadata);
841
- return promise.then((data) => ListAIReferenceNamesResponse.decode(new BinaryReader(data)));
842
- }
868
+ toJSON(message: UpdateAIProviderRequest): unknown {
869
+ const obj: any = {};
870
+ if (message.name !== "") {
871
+ obj.name = message.name;
872
+ }
873
+ if (message.displayName !== "") {
874
+ obj.displayName = message.displayName;
875
+ }
876
+ return obj;
877
+ },
878
+
879
+ create<I extends Exact<DeepPartial<UpdateAIProviderRequest>, I>>(base?: I): UpdateAIProviderRequest {
880
+ return UpdateAIProviderRequest.fromPartial(base ?? ({} as any));
881
+ },
882
+ fromPartial<I extends Exact<DeepPartial<UpdateAIProviderRequest>, I>>(object: I): UpdateAIProviderRequest {
883
+ const message = createBaseUpdateAIProviderRequest();
884
+ message.name = object.name ?? "";
885
+ message.displayName = object.displayName ?? "";
886
+ return message;
887
+ },
888
+ };
889
+
890
+ function createBaseUpdateAIProviderResponse(): UpdateAIProviderResponse {
891
+ return { status: undefined, provider: undefined };
892
+ }
893
+
894
+ export const UpdateAIProviderResponse: MessageFns<UpdateAIProviderResponse> = {
895
+ encode(message: UpdateAIProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
896
+ if (message.status !== undefined) {
897
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
898
+ }
899
+ if (message.provider !== undefined) {
900
+ AIReferenceName.encode(message.provider, writer.uint32(18).fork()).join();
901
+ }
902
+ return writer;
903
+ },
904
+
905
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIProviderResponse {
906
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
907
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
908
+ if (previousRecursionDepth >= 100) {
909
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
910
+ }
911
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
912
+ try {
913
+ const end = length === undefined ? reader.len : reader.pos + length;
914
+ const message = createBaseUpdateAIProviderResponse();
915
+ while (reader.pos < end) {
916
+ const tag = reader.uint32();
917
+ switch (tag >>> 3) {
918
+ case 1: {
919
+ if (tag !== 10) {
920
+ break;
921
+ }
922
+
923
+ message.status = ResponseStatus.decode(reader, reader.uint32());
924
+ continue;
925
+ }
926
+ case 2: {
927
+ if (tag !== 18) {
928
+ break;
929
+ }
930
+
931
+ message.provider = AIReferenceName.decode(reader, reader.uint32());
932
+ continue;
933
+ }
934
+ }
935
+ if ((tag & 7) === 4 || tag === 0) {
936
+ break;
937
+ }
938
+ reader.skip(tag & 7);
939
+ }
940
+ return message;
941
+ } finally {
942
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
943
+ }
944
+ },
945
+
946
+ fromJSON(object: any): UpdateAIProviderResponse {
947
+ return {
948
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
949
+ provider: isSet(object.provider) ? AIReferenceName.fromJSON(object.provider) : undefined,
950
+ };
951
+ },
952
+
953
+ toJSON(message: UpdateAIProviderResponse): unknown {
954
+ const obj: any = {};
955
+ if (message.status !== undefined) {
956
+ obj.status = ResponseStatus.toJSON(message.status);
957
+ }
958
+ if (message.provider !== undefined) {
959
+ obj.provider = AIReferenceName.toJSON(message.provider);
960
+ }
961
+ return obj;
962
+ },
963
+
964
+ create<I extends Exact<DeepPartial<UpdateAIProviderResponse>, I>>(base?: I): UpdateAIProviderResponse {
965
+ return UpdateAIProviderResponse.fromPartial(base ?? ({} as any));
966
+ },
967
+ fromPartial<I extends Exact<DeepPartial<UpdateAIProviderResponse>, I>>(object: I): UpdateAIProviderResponse {
968
+ const message = createBaseUpdateAIProviderResponse();
969
+ message.status = (object.status !== undefined && object.status !== null)
970
+ ? ResponseStatus.fromPartial(object.status)
971
+ : undefined;
972
+ message.provider = (object.provider !== undefined && object.provider !== null)
973
+ ? AIReferenceName.fromPartial(object.provider)
974
+ : undefined;
975
+ return message;
976
+ },
977
+ };
978
+
979
+ function createBaseUpdateAIModelRequest(): UpdateAIModelRequest {
980
+ return { name: "", displayName: "" };
981
+ }
982
+
983
+ export const UpdateAIModelRequest: MessageFns<UpdateAIModelRequest> = {
984
+ encode(message: UpdateAIModelRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
985
+ if (message.name !== "") {
986
+ writer.uint32(10).string(message.name);
987
+ }
988
+ if (message.displayName !== "") {
989
+ writer.uint32(18).string(message.displayName);
990
+ }
991
+ return writer;
992
+ },
993
+
994
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIModelRequest {
995
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
996
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
997
+ if (previousRecursionDepth >= 100) {
998
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
999
+ }
1000
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1001
+ try {
1002
+ const end = length === undefined ? reader.len : reader.pos + length;
1003
+ const message = createBaseUpdateAIModelRequest();
1004
+ while (reader.pos < end) {
1005
+ const tag = reader.uint32();
1006
+ switch (tag >>> 3) {
1007
+ case 1: {
1008
+ if (tag !== 10) {
1009
+ break;
1010
+ }
1011
+
1012
+ message.name = reader.string();
1013
+ continue;
1014
+ }
1015
+ case 2: {
1016
+ if (tag !== 18) {
1017
+ break;
1018
+ }
1019
+
1020
+ message.displayName = reader.string();
1021
+ continue;
1022
+ }
1023
+ }
1024
+ if ((tag & 7) === 4 || tag === 0) {
1025
+ break;
1026
+ }
1027
+ reader.skip(tag & 7);
1028
+ }
1029
+ return message;
1030
+ } finally {
1031
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1032
+ }
1033
+ },
1034
+
1035
+ fromJSON(object: any): UpdateAIModelRequest {
1036
+ return {
1037
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1038
+ displayName: isSet(object.displayName)
1039
+ ? globalThis.String(object.displayName)
1040
+ : isSet(object.display_name)
1041
+ ? globalThis.String(object.display_name)
1042
+ : "",
1043
+ };
1044
+ },
1045
+
1046
+ toJSON(message: UpdateAIModelRequest): unknown {
1047
+ const obj: any = {};
1048
+ if (message.name !== "") {
1049
+ obj.name = message.name;
1050
+ }
1051
+ if (message.displayName !== "") {
1052
+ obj.displayName = message.displayName;
1053
+ }
1054
+ return obj;
1055
+ },
1056
+
1057
+ create<I extends Exact<DeepPartial<UpdateAIModelRequest>, I>>(base?: I): UpdateAIModelRequest {
1058
+ return UpdateAIModelRequest.fromPartial(base ?? ({} as any));
1059
+ },
1060
+ fromPartial<I extends Exact<DeepPartial<UpdateAIModelRequest>, I>>(object: I): UpdateAIModelRequest {
1061
+ const message = createBaseUpdateAIModelRequest();
1062
+ message.name = object.name ?? "";
1063
+ message.displayName = object.displayName ?? "";
1064
+ return message;
1065
+ },
1066
+ };
1067
+
1068
+ function createBaseUpdateAIModelResponse(): UpdateAIModelResponse {
1069
+ return { status: undefined, model: undefined };
1070
+ }
843
1071
 
844
- ListAIBillingParties(
845
- request: ListAllAIReferenceNamesRequest,
846
- metadata?: Metadata,
847
- ): Promise<ListAIReferenceNamesResponse> {
848
- const data = ListAllAIReferenceNamesRequest.encode(request).finish();
849
- const promise = this.rpc.request(this.service, "ListAIBillingParties", data, metadata);
850
- return promise.then((data) => ListAIReferenceNamesResponse.decode(new BinaryReader(data)));
1072
+ export const UpdateAIModelResponse: MessageFns<UpdateAIModelResponse> = {
1073
+ encode(message: UpdateAIModelResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1074
+ if (message.status !== undefined) {
1075
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
1076
+ }
1077
+ if (message.model !== undefined) {
1078
+ AIReferenceName.encode(message.model, writer.uint32(18).fork()).join();
1079
+ }
1080
+ return writer;
1081
+ },
1082
+
1083
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIModelResponse {
1084
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1085
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1086
+ if (previousRecursionDepth >= 100) {
1087
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1088
+ }
1089
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1090
+ try {
1091
+ const end = length === undefined ? reader.len : reader.pos + length;
1092
+ const message = createBaseUpdateAIModelResponse();
1093
+ while (reader.pos < end) {
1094
+ const tag = reader.uint32();
1095
+ switch (tag >>> 3) {
1096
+ case 1: {
1097
+ if (tag !== 10) {
1098
+ break;
1099
+ }
1100
+
1101
+ message.status = ResponseStatus.decode(reader, reader.uint32());
1102
+ continue;
1103
+ }
1104
+ case 2: {
1105
+ if (tag !== 18) {
1106
+ break;
1107
+ }
1108
+
1109
+ message.model = AIReferenceName.decode(reader, reader.uint32());
1110
+ continue;
1111
+ }
1112
+ }
1113
+ if ((tag & 7) === 4 || tag === 0) {
1114
+ break;
1115
+ }
1116
+ reader.skip(tag & 7);
1117
+ }
1118
+ return message;
1119
+ } finally {
1120
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1121
+ }
1122
+ },
1123
+
1124
+ fromJSON(object: any): UpdateAIModelResponse {
1125
+ return {
1126
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
1127
+ model: isSet(object.model) ? AIReferenceName.fromJSON(object.model) : undefined,
1128
+ };
1129
+ },
1130
+
1131
+ toJSON(message: UpdateAIModelResponse): unknown {
1132
+ const obj: any = {};
1133
+ if (message.status !== undefined) {
1134
+ obj.status = ResponseStatus.toJSON(message.status);
1135
+ }
1136
+ if (message.model !== undefined) {
1137
+ obj.model = AIReferenceName.toJSON(message.model);
1138
+ }
1139
+ return obj;
1140
+ },
1141
+
1142
+ create<I extends Exact<DeepPartial<UpdateAIModelResponse>, I>>(base?: I): UpdateAIModelResponse {
1143
+ return UpdateAIModelResponse.fromPartial(base ?? ({} as any));
1144
+ },
1145
+ fromPartial<I extends Exact<DeepPartial<UpdateAIModelResponse>, I>>(object: I): UpdateAIModelResponse {
1146
+ const message = createBaseUpdateAIModelResponse();
1147
+ message.status = (object.status !== undefined && object.status !== null)
1148
+ ? ResponseStatus.fromPartial(object.status)
1149
+ : undefined;
1150
+ message.model = (object.model !== undefined && object.model !== null)
1151
+ ? AIReferenceName.fromPartial(object.model)
1152
+ : undefined;
1153
+ return message;
1154
+ },
1155
+ };
1156
+
1157
+ function createBaseUpdateAIEffortRequest(): UpdateAIEffortRequest {
1158
+ return { name: "", displayName: "" };
1159
+ }
1160
+
1161
+ export const UpdateAIEffortRequest: MessageFns<UpdateAIEffortRequest> = {
1162
+ encode(message: UpdateAIEffortRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1163
+ if (message.name !== "") {
1164
+ writer.uint32(10).string(message.name);
1165
+ }
1166
+ if (message.displayName !== "") {
1167
+ writer.uint32(18).string(message.displayName);
1168
+ }
1169
+ return writer;
1170
+ },
1171
+
1172
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIEffortRequest {
1173
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1174
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1175
+ if (previousRecursionDepth >= 100) {
1176
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1177
+ }
1178
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1179
+ try {
1180
+ const end = length === undefined ? reader.len : reader.pos + length;
1181
+ const message = createBaseUpdateAIEffortRequest();
1182
+ while (reader.pos < end) {
1183
+ const tag = reader.uint32();
1184
+ switch (tag >>> 3) {
1185
+ case 1: {
1186
+ if (tag !== 10) {
1187
+ break;
1188
+ }
1189
+
1190
+ message.name = reader.string();
1191
+ continue;
1192
+ }
1193
+ case 2: {
1194
+ if (tag !== 18) {
1195
+ break;
1196
+ }
1197
+
1198
+ message.displayName = reader.string();
1199
+ continue;
1200
+ }
1201
+ }
1202
+ if ((tag & 7) === 4 || tag === 0) {
1203
+ break;
1204
+ }
1205
+ reader.skip(tag & 7);
1206
+ }
1207
+ return message;
1208
+ } finally {
1209
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1210
+ }
1211
+ },
1212
+
1213
+ fromJSON(object: any): UpdateAIEffortRequest {
1214
+ return {
1215
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1216
+ displayName: isSet(object.displayName)
1217
+ ? globalThis.String(object.displayName)
1218
+ : isSet(object.display_name)
1219
+ ? globalThis.String(object.display_name)
1220
+ : "",
1221
+ };
1222
+ },
1223
+
1224
+ toJSON(message: UpdateAIEffortRequest): unknown {
1225
+ const obj: any = {};
1226
+ if (message.name !== "") {
1227
+ obj.name = message.name;
1228
+ }
1229
+ if (message.displayName !== "") {
1230
+ obj.displayName = message.displayName;
1231
+ }
1232
+ return obj;
1233
+ },
1234
+
1235
+ create<I extends Exact<DeepPartial<UpdateAIEffortRequest>, I>>(base?: I): UpdateAIEffortRequest {
1236
+ return UpdateAIEffortRequest.fromPartial(base ?? ({} as any));
1237
+ },
1238
+ fromPartial<I extends Exact<DeepPartial<UpdateAIEffortRequest>, I>>(object: I): UpdateAIEffortRequest {
1239
+ const message = createBaseUpdateAIEffortRequest();
1240
+ message.name = object.name ?? "";
1241
+ message.displayName = object.displayName ?? "";
1242
+ return message;
1243
+ },
1244
+ };
1245
+
1246
+ function createBaseUpdateAIEffortResponse(): UpdateAIEffortResponse {
1247
+ return { status: undefined, effort: undefined };
1248
+ }
1249
+
1250
+ export const UpdateAIEffortResponse: MessageFns<UpdateAIEffortResponse> = {
1251
+ encode(message: UpdateAIEffortResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1252
+ if (message.status !== undefined) {
1253
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
1254
+ }
1255
+ if (message.effort !== undefined) {
1256
+ AIReferenceName.encode(message.effort, writer.uint32(18).fork()).join();
1257
+ }
1258
+ return writer;
1259
+ },
1260
+
1261
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIEffortResponse {
1262
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1263
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1264
+ if (previousRecursionDepth >= 100) {
1265
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1266
+ }
1267
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1268
+ try {
1269
+ const end = length === undefined ? reader.len : reader.pos + length;
1270
+ const message = createBaseUpdateAIEffortResponse();
1271
+ while (reader.pos < end) {
1272
+ const tag = reader.uint32();
1273
+ switch (tag >>> 3) {
1274
+ case 1: {
1275
+ if (tag !== 10) {
1276
+ break;
1277
+ }
1278
+
1279
+ message.status = ResponseStatus.decode(reader, reader.uint32());
1280
+ continue;
1281
+ }
1282
+ case 2: {
1283
+ if (tag !== 18) {
1284
+ break;
1285
+ }
1286
+
1287
+ message.effort = AIReferenceName.decode(reader, reader.uint32());
1288
+ continue;
1289
+ }
1290
+ }
1291
+ if ((tag & 7) === 4 || tag === 0) {
1292
+ break;
1293
+ }
1294
+ reader.skip(tag & 7);
1295
+ }
1296
+ return message;
1297
+ } finally {
1298
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1299
+ }
1300
+ },
1301
+
1302
+ fromJSON(object: any): UpdateAIEffortResponse {
1303
+ return {
1304
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
1305
+ effort: isSet(object.effort) ? AIReferenceName.fromJSON(object.effort) : undefined,
1306
+ };
1307
+ },
1308
+
1309
+ toJSON(message: UpdateAIEffortResponse): unknown {
1310
+ const obj: any = {};
1311
+ if (message.status !== undefined) {
1312
+ obj.status = ResponseStatus.toJSON(message.status);
1313
+ }
1314
+ if (message.effort !== undefined) {
1315
+ obj.effort = AIReferenceName.toJSON(message.effort);
1316
+ }
1317
+ return obj;
1318
+ },
1319
+
1320
+ create<I extends Exact<DeepPartial<UpdateAIEffortResponse>, I>>(base?: I): UpdateAIEffortResponse {
1321
+ return UpdateAIEffortResponse.fromPartial(base ?? ({} as any));
1322
+ },
1323
+ fromPartial<I extends Exact<DeepPartial<UpdateAIEffortResponse>, I>>(object: I): UpdateAIEffortResponse {
1324
+ const message = createBaseUpdateAIEffortResponse();
1325
+ message.status = (object.status !== undefined && object.status !== null)
1326
+ ? ResponseStatus.fromPartial(object.status)
1327
+ : undefined;
1328
+ message.effort = (object.effort !== undefined && object.effort !== null)
1329
+ ? AIReferenceName.fromPartial(object.effort)
1330
+ : undefined;
1331
+ return message;
1332
+ },
1333
+ };
1334
+
1335
+ function createBaseUpdateAIBillerRequest(): UpdateAIBillerRequest {
1336
+ return { name: "", displayName: "" };
1337
+ }
1338
+
1339
+ export const UpdateAIBillerRequest: MessageFns<UpdateAIBillerRequest> = {
1340
+ encode(message: UpdateAIBillerRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1341
+ if (message.name !== "") {
1342
+ writer.uint32(10).string(message.name);
1343
+ }
1344
+ if (message.displayName !== "") {
1345
+ writer.uint32(18).string(message.displayName);
1346
+ }
1347
+ return writer;
1348
+ },
1349
+
1350
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIBillerRequest {
1351
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1352
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1353
+ if (previousRecursionDepth >= 100) {
1354
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1355
+ }
1356
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1357
+ try {
1358
+ const end = length === undefined ? reader.len : reader.pos + length;
1359
+ const message = createBaseUpdateAIBillerRequest();
1360
+ while (reader.pos < end) {
1361
+ const tag = reader.uint32();
1362
+ switch (tag >>> 3) {
1363
+ case 1: {
1364
+ if (tag !== 10) {
1365
+ break;
1366
+ }
1367
+
1368
+ message.name = reader.string();
1369
+ continue;
1370
+ }
1371
+ case 2: {
1372
+ if (tag !== 18) {
1373
+ break;
1374
+ }
1375
+
1376
+ message.displayName = reader.string();
1377
+ continue;
1378
+ }
1379
+ }
1380
+ if ((tag & 7) === 4 || tag === 0) {
1381
+ break;
1382
+ }
1383
+ reader.skip(tag & 7);
1384
+ }
1385
+ return message;
1386
+ } finally {
1387
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1388
+ }
1389
+ },
1390
+
1391
+ fromJSON(object: any): UpdateAIBillerRequest {
1392
+ return {
1393
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1394
+ displayName: isSet(object.displayName)
1395
+ ? globalThis.String(object.displayName)
1396
+ : isSet(object.display_name)
1397
+ ? globalThis.String(object.display_name)
1398
+ : "",
1399
+ };
1400
+ },
1401
+
1402
+ toJSON(message: UpdateAIBillerRequest): unknown {
1403
+ const obj: any = {};
1404
+ if (message.name !== "") {
1405
+ obj.name = message.name;
1406
+ }
1407
+ if (message.displayName !== "") {
1408
+ obj.displayName = message.displayName;
1409
+ }
1410
+ return obj;
1411
+ },
1412
+
1413
+ create<I extends Exact<DeepPartial<UpdateAIBillerRequest>, I>>(base?: I): UpdateAIBillerRequest {
1414
+ return UpdateAIBillerRequest.fromPartial(base ?? ({} as any));
1415
+ },
1416
+ fromPartial<I extends Exact<DeepPartial<UpdateAIBillerRequest>, I>>(object: I): UpdateAIBillerRequest {
1417
+ const message = createBaseUpdateAIBillerRequest();
1418
+ message.name = object.name ?? "";
1419
+ message.displayName = object.displayName ?? "";
1420
+ return message;
1421
+ },
1422
+ };
1423
+
1424
+ function createBaseUpdateAIBillerResponse(): UpdateAIBillerResponse {
1425
+ return { status: undefined, biller: undefined };
1426
+ }
1427
+
1428
+ export const UpdateAIBillerResponse: MessageFns<UpdateAIBillerResponse> = {
1429
+ encode(message: UpdateAIBillerResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1430
+ if (message.status !== undefined) {
1431
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
1432
+ }
1433
+ if (message.biller !== undefined) {
1434
+ AIReferenceName.encode(message.biller, writer.uint32(18).fork()).join();
1435
+ }
1436
+ return writer;
1437
+ },
1438
+
1439
+ decode(input: BinaryReader | Uint8Array, length?: number): UpdateAIBillerResponse {
1440
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1441
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1442
+ if (previousRecursionDepth >= 100) {
1443
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1444
+ }
1445
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1446
+ try {
1447
+ const end = length === undefined ? reader.len : reader.pos + length;
1448
+ const message = createBaseUpdateAIBillerResponse();
1449
+ while (reader.pos < end) {
1450
+ const tag = reader.uint32();
1451
+ switch (tag >>> 3) {
1452
+ case 1: {
1453
+ if (tag !== 10) {
1454
+ break;
1455
+ }
1456
+
1457
+ message.status = ResponseStatus.decode(reader, reader.uint32());
1458
+ continue;
1459
+ }
1460
+ case 2: {
1461
+ if (tag !== 18) {
1462
+ break;
1463
+ }
1464
+
1465
+ message.biller = AIReferenceName.decode(reader, reader.uint32());
1466
+ continue;
1467
+ }
1468
+ }
1469
+ if ((tag & 7) === 4 || tag === 0) {
1470
+ break;
1471
+ }
1472
+ reader.skip(tag & 7);
1473
+ }
1474
+ return message;
1475
+ } finally {
1476
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1477
+ }
1478
+ },
1479
+
1480
+ fromJSON(object: any): UpdateAIBillerResponse {
1481
+ return {
1482
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
1483
+ biller: isSet(object.biller) ? AIReferenceName.fromJSON(object.biller) : undefined,
1484
+ };
1485
+ },
1486
+
1487
+ toJSON(message: UpdateAIBillerResponse): unknown {
1488
+ const obj: any = {};
1489
+ if (message.status !== undefined) {
1490
+ obj.status = ResponseStatus.toJSON(message.status);
1491
+ }
1492
+ if (message.biller !== undefined) {
1493
+ obj.biller = AIReferenceName.toJSON(message.biller);
1494
+ }
1495
+ return obj;
1496
+ },
1497
+
1498
+ create<I extends Exact<DeepPartial<UpdateAIBillerResponse>, I>>(base?: I): UpdateAIBillerResponse {
1499
+ return UpdateAIBillerResponse.fromPartial(base ?? ({} as any));
1500
+ },
1501
+ fromPartial<I extends Exact<DeepPartial<UpdateAIBillerResponse>, I>>(object: I): UpdateAIBillerResponse {
1502
+ const message = createBaseUpdateAIBillerResponse();
1503
+ message.status = (object.status !== undefined && object.status !== null)
1504
+ ? ResponseStatus.fromPartial(object.status)
1505
+ : undefined;
1506
+ message.biller = (object.biller !== undefined && object.biller !== null)
1507
+ ? AIReferenceName.fromPartial(object.biller)
1508
+ : undefined;
1509
+ return message;
1510
+ },
1511
+ };
1512
+
1513
+ /**
1514
+ * AdminGatewayService is the browser-facing surface of the admin tools, across every domain, which only
1515
+ * Mirador staff (a verified mirador.org primary email) may use. The gateway's admin gate admits every RPC
1516
+ * here except GetAdminStatus, which tells the frontend whether to show the admin tools at all.
1517
+ */
1518
+ export interface AdminGatewayService {
1519
+ /** GetAdminStatus reports whether the authenticated caller may use the admin tools. */
1520
+ GetAdminStatus(request: GetAdminStatusRequest, metadata?: Metadata): Promise<GetAdminStatusResponse>;
1521
+ /** Beta invite codes for this gateway's product. */
1522
+ GenerateInviteCodes(request: GenerateInviteCodesRequest, metadata?: Metadata): Promise<GenerateInviteCodesResponse>;
1523
+ ListInviteCodes(request: ListInviteCodesRequest, metadata?: Metadata): Promise<ListInviteCodesResponse>;
1524
+ /**
1525
+ * Staff set a global AI name's display name for every organization. An update makes the name MANUAL; the
1526
+ * model processor never overwrites it. The tables are read through ReferenceGatewayService.
1527
+ */
1528
+ UpdateAIProvider(request: UpdateAIProviderRequest, metadata?: Metadata): Promise<UpdateAIProviderResponse>;
1529
+ UpdateAIModel(request: UpdateAIModelRequest, metadata?: Metadata): Promise<UpdateAIModelResponse>;
1530
+ UpdateAIEffort(request: UpdateAIEffortRequest, metadata?: Metadata): Promise<UpdateAIEffortResponse>;
1531
+ UpdateAIBiller(request: UpdateAIBillerRequest, metadata?: Metadata): Promise<UpdateAIBillerResponse>;
1532
+ }
1533
+
1534
+ export const AdminGatewayServiceServiceName = "gateway.web.v1.AdminGatewayService";
1535
+ export class AdminGatewayServiceClientImpl implements AdminGatewayService {
1536
+ private readonly rpc: Rpc;
1537
+ private readonly service: string;
1538
+ constructor(rpc: Rpc, opts?: { service?: string }) {
1539
+ this.service = opts?.service || AdminGatewayServiceServiceName;
1540
+ this.rpc = rpc;
1541
+ this.GetAdminStatus = this.GetAdminStatus.bind(this);
1542
+ this.GenerateInviteCodes = this.GenerateInviteCodes.bind(this);
1543
+ this.ListInviteCodes = this.ListInviteCodes.bind(this);
1544
+ this.UpdateAIProvider = this.UpdateAIProvider.bind(this);
1545
+ this.UpdateAIModel = this.UpdateAIModel.bind(this);
1546
+ this.UpdateAIEffort = this.UpdateAIEffort.bind(this);
1547
+ this.UpdateAIBiller = this.UpdateAIBiller.bind(this);
1548
+ }
1549
+ GetAdminStatus(request: GetAdminStatusRequest, metadata?: Metadata): Promise<GetAdminStatusResponse> {
1550
+ const data = GetAdminStatusRequest.encode(request).finish();
1551
+ const promise = this.rpc.request(this.service, "GetAdminStatus", data, metadata);
1552
+ return promise.then((data) => GetAdminStatusResponse.decode(new BinaryReader(data)));
1553
+ }
1554
+
1555
+ GenerateInviteCodes(request: GenerateInviteCodesRequest, metadata?: Metadata): Promise<GenerateInviteCodesResponse> {
1556
+ const data = GenerateInviteCodesRequest.encode(request).finish();
1557
+ const promise = this.rpc.request(this.service, "GenerateInviteCodes", data, metadata);
1558
+ return promise.then((data) => GenerateInviteCodesResponse.decode(new BinaryReader(data)));
1559
+ }
1560
+
1561
+ ListInviteCodes(request: ListInviteCodesRequest, metadata?: Metadata): Promise<ListInviteCodesResponse> {
1562
+ const data = ListInviteCodesRequest.encode(request).finish();
1563
+ const promise = this.rpc.request(this.service, "ListInviteCodes", data, metadata);
1564
+ return promise.then((data) => ListInviteCodesResponse.decode(new BinaryReader(data)));
851
1565
  }
852
1566
 
853
- UpdateAIProvider(request: UpdateAIReferenceNameRequest, metadata?: Metadata): Promise<UpdateAIReferenceNameResponse> {
854
- const data = UpdateAIReferenceNameRequest.encode(request).finish();
1567
+ UpdateAIProvider(request: UpdateAIProviderRequest, metadata?: Metadata): Promise<UpdateAIProviderResponse> {
1568
+ const data = UpdateAIProviderRequest.encode(request).finish();
855
1569
  const promise = this.rpc.request(this.service, "UpdateAIProvider", data, metadata);
856
- return promise.then((data) => UpdateAIReferenceNameResponse.decode(new BinaryReader(data)));
1570
+ return promise.then((data) => UpdateAIProviderResponse.decode(new BinaryReader(data)));
857
1571
  }
858
1572
 
859
- UpdateAIModel(request: UpdateAIReferenceNameRequest, metadata?: Metadata): Promise<UpdateAIReferenceNameResponse> {
860
- const data = UpdateAIReferenceNameRequest.encode(request).finish();
1573
+ UpdateAIModel(request: UpdateAIModelRequest, metadata?: Metadata): Promise<UpdateAIModelResponse> {
1574
+ const data = UpdateAIModelRequest.encode(request).finish();
861
1575
  const promise = this.rpc.request(this.service, "UpdateAIModel", data, metadata);
862
- return promise.then((data) => UpdateAIReferenceNameResponse.decode(new BinaryReader(data)));
1576
+ return promise.then((data) => UpdateAIModelResponse.decode(new BinaryReader(data)));
863
1577
  }
864
1578
 
865
- UpdateAIEffort(request: UpdateAIReferenceNameRequest, metadata?: Metadata): Promise<UpdateAIReferenceNameResponse> {
866
- const data = UpdateAIReferenceNameRequest.encode(request).finish();
1579
+ UpdateAIEffort(request: UpdateAIEffortRequest, metadata?: Metadata): Promise<UpdateAIEffortResponse> {
1580
+ const data = UpdateAIEffortRequest.encode(request).finish();
867
1581
  const promise = this.rpc.request(this.service, "UpdateAIEffort", data, metadata);
868
- return promise.then((data) => UpdateAIReferenceNameResponse.decode(new BinaryReader(data)));
1582
+ return promise.then((data) => UpdateAIEffortResponse.decode(new BinaryReader(data)));
869
1583
  }
870
1584
 
871
- UpdateAIBillingParty(
872
- request: UpdateAIReferenceNameRequest,
873
- metadata?: Metadata,
874
- ): Promise<UpdateAIReferenceNameResponse> {
875
- const data = UpdateAIReferenceNameRequest.encode(request).finish();
876
- const promise = this.rpc.request(this.service, "UpdateAIBillingParty", data, metadata);
877
- return promise.then((data) => UpdateAIReferenceNameResponse.decode(new BinaryReader(data)));
1585
+ UpdateAIBiller(request: UpdateAIBillerRequest, metadata?: Metadata): Promise<UpdateAIBillerResponse> {
1586
+ const data = UpdateAIBillerRequest.encode(request).finish();
1587
+ const promise = this.rpc.request(this.service, "UpdateAIBiller", data, metadata);
1588
+ return promise.then((data) => UpdateAIBillerResponse.decode(new BinaryReader(data)));
878
1589
  }
879
1590
  }
880
1591