@miradorlabs/web-grpc 3.2.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.
- package/package.json +1 -1
- package/proto/gateway/web/v1/admin_gateway.ts +818 -107
- package/proto/gateway/web/v1/admin_gateway_grpc_pb.js +103 -103
- package/proto/gateway/web/v1/admin_gateway_pb.js +1624 -0
- package/proto/gateway/web/v1/ai_gateway.ts +222 -61
- package/proto/gateway/web/v1/ai_gateway_grpc_pb.js +2 -2
- package/proto/gateway/web/v1/ai_gateway_pb.js +223 -48
- package/proto/gateway/web/v1/reference_gateway.ts +681 -223
- package/proto/gateway/web/v1/reference_gateway_grpc_pb.js +105 -39
- package/proto/gateway/web/v1/reference_gateway_pb.js +1196 -320
- package/proto/gateway/web/v1/model_gateway.ts +0 -728
- package/proto/gateway/web/v1/model_gateway_grpc_pb.js +0 -85
- package/proto/gateway/web/v1/model_gateway_pb.js +0 -1261
|
@@ -93,6 +93,16 @@ export enum AISessionEventKind {
|
|
|
93
93
|
AI_SESSION_EVENT_KIND_ERROR = 10,
|
|
94
94
|
/** AI_SESSION_EVENT_KIND_SUBAGENT_RUN - One subagent run: what launched it, its parent and type, how it ended. Carries no usage. */
|
|
95
95
|
AI_SESSION_EVENT_KIND_SUBAGENT_RUN = 11,
|
|
96
|
+
/**
|
|
97
|
+
* AI_SESSION_EVENT_KIND_AUTH - The harness's ambient records: no usage, and none of them makes a session on its own. Presence,
|
|
98
|
+
* status and duration only; what they report stays in the stored event's attributes.
|
|
99
|
+
*/
|
|
100
|
+
AI_SESSION_EVENT_KIND_AUTH = 12,
|
|
101
|
+
AI_SESSION_EVENT_KIND_MCP_CONNECTION = 13,
|
|
102
|
+
AI_SESSION_EVENT_KIND_SKILL_ACTIVATION = 14,
|
|
103
|
+
AI_SESSION_EVENT_KIND_PERMISSION_CHANGE = 15,
|
|
104
|
+
AI_SESSION_EVENT_KIND_CONTEXT_MENTION = 16,
|
|
105
|
+
AI_SESSION_EVENT_KIND_USER_FEEDBACK = 17,
|
|
96
106
|
UNRECOGNIZED = -1,
|
|
97
107
|
}
|
|
98
108
|
|
|
@@ -134,6 +144,24 @@ export function aISessionEventKindFromJSON(object: any): AISessionEventKind {
|
|
|
134
144
|
case 11:
|
|
135
145
|
case "AI_SESSION_EVENT_KIND_SUBAGENT_RUN":
|
|
136
146
|
return AISessionEventKind.AI_SESSION_EVENT_KIND_SUBAGENT_RUN;
|
|
147
|
+
case 12:
|
|
148
|
+
case "AI_SESSION_EVENT_KIND_AUTH":
|
|
149
|
+
return AISessionEventKind.AI_SESSION_EVENT_KIND_AUTH;
|
|
150
|
+
case 13:
|
|
151
|
+
case "AI_SESSION_EVENT_KIND_MCP_CONNECTION":
|
|
152
|
+
return AISessionEventKind.AI_SESSION_EVENT_KIND_MCP_CONNECTION;
|
|
153
|
+
case 14:
|
|
154
|
+
case "AI_SESSION_EVENT_KIND_SKILL_ACTIVATION":
|
|
155
|
+
return AISessionEventKind.AI_SESSION_EVENT_KIND_SKILL_ACTIVATION;
|
|
156
|
+
case 15:
|
|
157
|
+
case "AI_SESSION_EVENT_KIND_PERMISSION_CHANGE":
|
|
158
|
+
return AISessionEventKind.AI_SESSION_EVENT_KIND_PERMISSION_CHANGE;
|
|
159
|
+
case 16:
|
|
160
|
+
case "AI_SESSION_EVENT_KIND_CONTEXT_MENTION":
|
|
161
|
+
return AISessionEventKind.AI_SESSION_EVENT_KIND_CONTEXT_MENTION;
|
|
162
|
+
case 17:
|
|
163
|
+
case "AI_SESSION_EVENT_KIND_USER_FEEDBACK":
|
|
164
|
+
return AISessionEventKind.AI_SESSION_EVENT_KIND_USER_FEEDBACK;
|
|
137
165
|
case -1:
|
|
138
166
|
case "UNRECOGNIZED":
|
|
139
167
|
default:
|
|
@@ -167,6 +195,18 @@ export function aISessionEventKindToJSON(object: AISessionEventKind): string {
|
|
|
167
195
|
return "AI_SESSION_EVENT_KIND_ERROR";
|
|
168
196
|
case AISessionEventKind.AI_SESSION_EVENT_KIND_SUBAGENT_RUN:
|
|
169
197
|
return "AI_SESSION_EVENT_KIND_SUBAGENT_RUN";
|
|
198
|
+
case AISessionEventKind.AI_SESSION_EVENT_KIND_AUTH:
|
|
199
|
+
return "AI_SESSION_EVENT_KIND_AUTH";
|
|
200
|
+
case AISessionEventKind.AI_SESSION_EVENT_KIND_MCP_CONNECTION:
|
|
201
|
+
return "AI_SESSION_EVENT_KIND_MCP_CONNECTION";
|
|
202
|
+
case AISessionEventKind.AI_SESSION_EVENT_KIND_SKILL_ACTIVATION:
|
|
203
|
+
return "AI_SESSION_EVENT_KIND_SKILL_ACTIVATION";
|
|
204
|
+
case AISessionEventKind.AI_SESSION_EVENT_KIND_PERMISSION_CHANGE:
|
|
205
|
+
return "AI_SESSION_EVENT_KIND_PERMISSION_CHANGE";
|
|
206
|
+
case AISessionEventKind.AI_SESSION_EVENT_KIND_CONTEXT_MENTION:
|
|
207
|
+
return "AI_SESSION_EVENT_KIND_CONTEXT_MENTION";
|
|
208
|
+
case AISessionEventKind.AI_SESSION_EVENT_KIND_USER_FEEDBACK:
|
|
209
|
+
return "AI_SESSION_EVENT_KIND_USER_FEEDBACK";
|
|
170
210
|
case AISessionEventKind.UNRECOGNIZED:
|
|
171
211
|
default:
|
|
172
212
|
return "UNRECOGNIZED";
|
|
@@ -838,7 +878,7 @@ export interface AISessionSummary {
|
|
|
838
878
|
/** The efforts the session's model calls ran at; "" when a call reported none. */
|
|
839
879
|
efforts: string[];
|
|
840
880
|
/** Who billed the session's model calls (stored names; map them through ReferenceGatewayService). */
|
|
841
|
-
|
|
881
|
+
billers: string[];
|
|
842
882
|
/** How the session's model-call costs were obtained: 'reported' by the source, 'estimated' by Mirador. */
|
|
843
883
|
costSources: string[];
|
|
844
884
|
/** The seats the session's model calls drew on (an account can change mid-session). */
|
|
@@ -1693,10 +1733,15 @@ export interface ListModelPricesRequest {
|
|
|
1693
1733
|
pageToken: string;
|
|
1694
1734
|
}
|
|
1695
1735
|
|
|
1736
|
+
/**
|
|
1737
|
+
* AIModelPriceFilter selects prices by stored name, matched exactly (any-of within a field, AND across
|
|
1738
|
+
* fields). Filter on a display name by sending every stored name the reference registry maps onto it.
|
|
1739
|
+
*/
|
|
1696
1740
|
export interface AIModelPriceFilter {
|
|
1697
1741
|
source: string[];
|
|
1698
|
-
|
|
1699
|
-
|
|
1742
|
+
biller: string[];
|
|
1743
|
+
modelRaw: string[];
|
|
1744
|
+
providerRaw: string[];
|
|
1700
1745
|
}
|
|
1701
1746
|
|
|
1702
1747
|
export interface ListModelPricesResponse {
|
|
@@ -1709,7 +1754,7 @@ export interface ListModelPricesResponse {
|
|
|
1709
1754
|
export interface ListModelPriceHistoryRequest {
|
|
1710
1755
|
organizationId: string;
|
|
1711
1756
|
projectId: string;
|
|
1712
|
-
/**
|
|
1757
|
+
/** model_raw is required; source, biller and provider_raw narrow it further. */
|
|
1713
1758
|
filter:
|
|
1714
1759
|
| AIModelPriceFilter
|
|
1715
1760
|
| undefined;
|
|
@@ -1726,15 +1771,29 @@ export interface ListModelPriceHistoryResponse {
|
|
|
1726
1771
|
truncated: boolean;
|
|
1727
1772
|
}
|
|
1728
1773
|
|
|
1774
|
+
/**
|
|
1775
|
+
* AIModelPrice is one catalog listing's latest list price, under stored names the caller maps through
|
|
1776
|
+
* the reference registry (ListAIModels / ListAIProviders / ListAIBillers).
|
|
1777
|
+
*/
|
|
1729
1778
|
export interface AIModelPrice {
|
|
1730
1779
|
source: string;
|
|
1731
|
-
|
|
1732
|
-
|
|
1780
|
+
/** The platform that bills for the model (openrouter, anthropic, amazon-bedrock). */
|
|
1781
|
+
biller: string;
|
|
1782
|
+
/** The model as an AI call names it (claude-sonnet-4.5, not anthropic/claude-sonnet-4.5). */
|
|
1783
|
+
modelRaw: string;
|
|
1733
1784
|
scrapedAt: Date | undefined;
|
|
1734
1785
|
inputUsdPerMtok: number;
|
|
1735
1786
|
outputUsdPerMtok: number;
|
|
1736
1787
|
cacheReadUsdPerMtok: number;
|
|
1737
1788
|
cacheWriteUsdPerMtok: number;
|
|
1789
|
+
/** The model vendor the listing names ("anthropic"), "" when it names none. */
|
|
1790
|
+
providerRaw: string;
|
|
1791
|
+
/** The effort the listing prices, "" when the catalog states none (every source today). */
|
|
1792
|
+
effortRaw: string;
|
|
1793
|
+
/** The catalog's exact model id: tells apart two listings of one model at one biller. */
|
|
1794
|
+
listingId: string;
|
|
1795
|
+
/** Normalized geography the price applies to (global, us, eu, ...), "" unscoped. */
|
|
1796
|
+
region: string;
|
|
1738
1797
|
}
|
|
1739
1798
|
|
|
1740
1799
|
export interface AITokenUsage {
|
|
@@ -1788,11 +1847,11 @@ export interface EntitlementsSnapshot {
|
|
|
1788
1847
|
* SeatEntitlement mirrors telemetry.api.v1.SeatEntitlement: one entitlement owner's latest observed
|
|
1789
1848
|
* funding state. Seat-scoped ((source_system, account_id)); principal_id/name best-effort. Seat-scoped:
|
|
1790
1849
|
* windows are one seat's usage bars, never a team-pool sum. credits_balance_raw is verbatim, not USD.
|
|
1791
|
-
* A seat is an entitlement owner (
|
|
1850
|
+
* A seat is an entitlement owner (biller, account_id), linked to a person through its principal and
|
|
1792
1851
|
* the org member an admin linked that principal to. Mirrors telemetry.api.v1.SeatEntitlement.
|
|
1793
1852
|
*/
|
|
1794
1853
|
export interface SeatEntitlement {
|
|
1795
|
-
|
|
1854
|
+
biller: string;
|
|
1796
1855
|
accountId: string;
|
|
1797
1856
|
principalId: string;
|
|
1798
1857
|
principalName: string;
|
|
@@ -2433,7 +2492,7 @@ function createBaseAISessionSummary(): AISessionSummary {
|
|
|
2433
2492
|
sessionVersion: 0,
|
|
2434
2493
|
subagents: 0,
|
|
2435
2494
|
efforts: [],
|
|
2436
|
-
|
|
2495
|
+
billers: [],
|
|
2437
2496
|
costSources: [],
|
|
2438
2497
|
accountIds: [],
|
|
2439
2498
|
observer: "",
|
|
@@ -2522,7 +2581,7 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
|
|
|
2522
2581
|
for (const v of message.efforts) {
|
|
2523
2582
|
writer.uint32(210).string(v!);
|
|
2524
2583
|
}
|
|
2525
|
-
for (const v of message.
|
|
2584
|
+
for (const v of message.billers) {
|
|
2526
2585
|
writer.uint32(218).string(v!);
|
|
2527
2586
|
}
|
|
2528
2587
|
for (const v of message.costSources) {
|
|
@@ -2769,7 +2828,7 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
|
|
|
2769
2828
|
break;
|
|
2770
2829
|
}
|
|
2771
2830
|
|
|
2772
|
-
message.
|
|
2831
|
+
message.billers.push(reader.string());
|
|
2773
2832
|
continue;
|
|
2774
2833
|
}
|
|
2775
2834
|
case 28: {
|
|
@@ -2932,10 +2991,8 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
|
|
|
2932
2991
|
efforts: globalThis.Array.isArray(object?.efforts)
|
|
2933
2992
|
? object.efforts.map((e: any) => globalThis.String(e))
|
|
2934
2993
|
: [],
|
|
2935
|
-
|
|
2936
|
-
? object.
|
|
2937
|
-
: globalThis.Array.isArray(object?.billing_parties)
|
|
2938
|
-
? object.billing_parties.map((e: any) => globalThis.String(e))
|
|
2994
|
+
billers: globalThis.Array.isArray(object?.billers)
|
|
2995
|
+
? object.billers.map((e: any) => globalThis.String(e))
|
|
2939
2996
|
: [],
|
|
2940
2997
|
costSources: globalThis.Array.isArray(object?.costSources)
|
|
2941
2998
|
? object.costSources.map((e: any) => globalThis.String(e))
|
|
@@ -3039,8 +3096,8 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
|
|
|
3039
3096
|
if (message.efforts?.length) {
|
|
3040
3097
|
obj.efforts = message.efforts;
|
|
3041
3098
|
}
|
|
3042
|
-
if (message.
|
|
3043
|
-
obj.
|
|
3099
|
+
if (message.billers?.length) {
|
|
3100
|
+
obj.billers = message.billers;
|
|
3044
3101
|
}
|
|
3045
3102
|
if (message.costSources?.length) {
|
|
3046
3103
|
obj.costSources = message.costSources;
|
|
@@ -3093,7 +3150,7 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
|
|
|
3093
3150
|
message.sessionVersion = object.sessionVersion ?? 0;
|
|
3094
3151
|
message.subagents = object.subagents ?? 0;
|
|
3095
3152
|
message.efforts = object.efforts?.map((e) => e) || [];
|
|
3096
|
-
message.
|
|
3153
|
+
message.billers = object.billers?.map((e) => e) || [];
|
|
3097
3154
|
message.costSources = object.costSources?.map((e) => e) || [];
|
|
3098
3155
|
message.accountIds = object.accountIds?.map((e) => e) || [];
|
|
3099
3156
|
message.observer = object.observer ?? "";
|
|
@@ -15511,7 +15568,7 @@ export const ListModelPricesRequest: MessageFns<ListModelPricesRequest> = {
|
|
|
15511
15568
|
};
|
|
15512
15569
|
|
|
15513
15570
|
function createBaseAIModelPriceFilter(): AIModelPriceFilter {
|
|
15514
|
-
return { source: [],
|
|
15571
|
+
return { source: [], biller: [], modelRaw: [], providerRaw: [] };
|
|
15515
15572
|
}
|
|
15516
15573
|
|
|
15517
15574
|
export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
|
|
@@ -15519,12 +15576,15 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
|
|
|
15519
15576
|
for (const v of message.source) {
|
|
15520
15577
|
writer.uint32(10).string(v!);
|
|
15521
15578
|
}
|
|
15522
|
-
for (const v of message.
|
|
15579
|
+
for (const v of message.biller) {
|
|
15523
15580
|
writer.uint32(18).string(v!);
|
|
15524
15581
|
}
|
|
15525
|
-
for (const v of message.
|
|
15582
|
+
for (const v of message.modelRaw) {
|
|
15526
15583
|
writer.uint32(26).string(v!);
|
|
15527
15584
|
}
|
|
15585
|
+
for (const v of message.providerRaw) {
|
|
15586
|
+
writer.uint32(34).string(v!);
|
|
15587
|
+
}
|
|
15528
15588
|
return writer;
|
|
15529
15589
|
},
|
|
15530
15590
|
|
|
@@ -15554,7 +15614,7 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
|
|
|
15554
15614
|
break;
|
|
15555
15615
|
}
|
|
15556
15616
|
|
|
15557
|
-
message.
|
|
15617
|
+
message.biller.push(reader.string());
|
|
15558
15618
|
continue;
|
|
15559
15619
|
}
|
|
15560
15620
|
case 3: {
|
|
@@ -15562,7 +15622,15 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
|
|
|
15562
15622
|
break;
|
|
15563
15623
|
}
|
|
15564
15624
|
|
|
15565
|
-
message.
|
|
15625
|
+
message.modelRaw.push(reader.string());
|
|
15626
|
+
continue;
|
|
15627
|
+
}
|
|
15628
|
+
case 4: {
|
|
15629
|
+
if (tag !== 34) {
|
|
15630
|
+
break;
|
|
15631
|
+
}
|
|
15632
|
+
|
|
15633
|
+
message.providerRaw.push(reader.string());
|
|
15566
15634
|
continue;
|
|
15567
15635
|
}
|
|
15568
15636
|
}
|
|
@@ -15580,8 +15648,17 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
|
|
|
15580
15648
|
fromJSON(object: any): AIModelPriceFilter {
|
|
15581
15649
|
return {
|
|
15582
15650
|
source: globalThis.Array.isArray(object?.source) ? object.source.map((e: any) => globalThis.String(e)) : [],
|
|
15583
|
-
|
|
15584
|
-
|
|
15651
|
+
biller: globalThis.Array.isArray(object?.biller) ? object.biller.map((e: any) => globalThis.String(e)) : [],
|
|
15652
|
+
modelRaw: globalThis.Array.isArray(object?.modelRaw)
|
|
15653
|
+
? object.modelRaw.map((e: any) => globalThis.String(e))
|
|
15654
|
+
: globalThis.Array.isArray(object?.model_raw)
|
|
15655
|
+
? object.model_raw.map((e: any) => globalThis.String(e))
|
|
15656
|
+
: [],
|
|
15657
|
+
providerRaw: globalThis.Array.isArray(object?.providerRaw)
|
|
15658
|
+
? object.providerRaw.map((e: any) => globalThis.String(e))
|
|
15659
|
+
: globalThis.Array.isArray(object?.provider_raw)
|
|
15660
|
+
? object.provider_raw.map((e: any) => globalThis.String(e))
|
|
15661
|
+
: [],
|
|
15585
15662
|
};
|
|
15586
15663
|
},
|
|
15587
15664
|
|
|
@@ -15590,11 +15667,14 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
|
|
|
15590
15667
|
if (message.source?.length) {
|
|
15591
15668
|
obj.source = message.source;
|
|
15592
15669
|
}
|
|
15593
|
-
if (message.
|
|
15594
|
-
obj.
|
|
15670
|
+
if (message.biller?.length) {
|
|
15671
|
+
obj.biller = message.biller;
|
|
15595
15672
|
}
|
|
15596
|
-
if (message.
|
|
15597
|
-
obj.
|
|
15673
|
+
if (message.modelRaw?.length) {
|
|
15674
|
+
obj.modelRaw = message.modelRaw;
|
|
15675
|
+
}
|
|
15676
|
+
if (message.providerRaw?.length) {
|
|
15677
|
+
obj.providerRaw = message.providerRaw;
|
|
15598
15678
|
}
|
|
15599
15679
|
return obj;
|
|
15600
15680
|
},
|
|
@@ -15605,8 +15685,9 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
|
|
|
15605
15685
|
fromPartial<I extends Exact<DeepPartial<AIModelPriceFilter>, I>>(object: I): AIModelPriceFilter {
|
|
15606
15686
|
const message = createBaseAIModelPriceFilter();
|
|
15607
15687
|
message.source = object.source?.map((e) => e) || [];
|
|
15608
|
-
message.
|
|
15609
|
-
message.
|
|
15688
|
+
message.biller = object.biller?.map((e) => e) || [];
|
|
15689
|
+
message.modelRaw = object.modelRaw?.map((e) => e) || [];
|
|
15690
|
+
message.providerRaw = object.providerRaw?.map((e) => e) || [];
|
|
15610
15691
|
return message;
|
|
15611
15692
|
},
|
|
15612
15693
|
};
|
|
@@ -16024,13 +16105,17 @@ export const ListModelPriceHistoryResponse: MessageFns<ListModelPriceHistoryResp
|
|
|
16024
16105
|
function createBaseAIModelPrice(): AIModelPrice {
|
|
16025
16106
|
return {
|
|
16026
16107
|
source: "",
|
|
16027
|
-
|
|
16028
|
-
|
|
16108
|
+
biller: "",
|
|
16109
|
+
modelRaw: "",
|
|
16029
16110
|
scrapedAt: undefined,
|
|
16030
16111
|
inputUsdPerMtok: 0,
|
|
16031
16112
|
outputUsdPerMtok: 0,
|
|
16032
16113
|
cacheReadUsdPerMtok: 0,
|
|
16033
16114
|
cacheWriteUsdPerMtok: 0,
|
|
16115
|
+
providerRaw: "",
|
|
16116
|
+
effortRaw: "",
|
|
16117
|
+
listingId: "",
|
|
16118
|
+
region: "",
|
|
16034
16119
|
};
|
|
16035
16120
|
}
|
|
16036
16121
|
|
|
@@ -16039,11 +16124,11 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16039
16124
|
if (message.source !== "") {
|
|
16040
16125
|
writer.uint32(10).string(message.source);
|
|
16041
16126
|
}
|
|
16042
|
-
if (message.
|
|
16043
|
-
writer.uint32(18).string(message.
|
|
16127
|
+
if (message.biller !== "") {
|
|
16128
|
+
writer.uint32(18).string(message.biller);
|
|
16044
16129
|
}
|
|
16045
|
-
if (message.
|
|
16046
|
-
writer.uint32(26).string(message.
|
|
16130
|
+
if (message.modelRaw !== "") {
|
|
16131
|
+
writer.uint32(26).string(message.modelRaw);
|
|
16047
16132
|
}
|
|
16048
16133
|
if (message.scrapedAt !== undefined) {
|
|
16049
16134
|
Timestamp.encode(toTimestamp(message.scrapedAt), writer.uint32(34).fork()).join();
|
|
@@ -16060,6 +16145,18 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16060
16145
|
if (message.cacheWriteUsdPerMtok !== 0) {
|
|
16061
16146
|
writer.uint32(65).double(message.cacheWriteUsdPerMtok);
|
|
16062
16147
|
}
|
|
16148
|
+
if (message.providerRaw !== "") {
|
|
16149
|
+
writer.uint32(74).string(message.providerRaw);
|
|
16150
|
+
}
|
|
16151
|
+
if (message.effortRaw !== "") {
|
|
16152
|
+
writer.uint32(82).string(message.effortRaw);
|
|
16153
|
+
}
|
|
16154
|
+
if (message.listingId !== "") {
|
|
16155
|
+
writer.uint32(90).string(message.listingId);
|
|
16156
|
+
}
|
|
16157
|
+
if (message.region !== "") {
|
|
16158
|
+
writer.uint32(98).string(message.region);
|
|
16159
|
+
}
|
|
16063
16160
|
return writer;
|
|
16064
16161
|
},
|
|
16065
16162
|
|
|
@@ -16089,7 +16186,7 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16089
16186
|
break;
|
|
16090
16187
|
}
|
|
16091
16188
|
|
|
16092
|
-
message.
|
|
16189
|
+
message.biller = reader.string();
|
|
16093
16190
|
continue;
|
|
16094
16191
|
}
|
|
16095
16192
|
case 3: {
|
|
@@ -16097,7 +16194,7 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16097
16194
|
break;
|
|
16098
16195
|
}
|
|
16099
16196
|
|
|
16100
|
-
message.
|
|
16197
|
+
message.modelRaw = reader.string();
|
|
16101
16198
|
continue;
|
|
16102
16199
|
}
|
|
16103
16200
|
case 4: {
|
|
@@ -16140,6 +16237,38 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16140
16237
|
message.cacheWriteUsdPerMtok = reader.double();
|
|
16141
16238
|
continue;
|
|
16142
16239
|
}
|
|
16240
|
+
case 9: {
|
|
16241
|
+
if (tag !== 74) {
|
|
16242
|
+
break;
|
|
16243
|
+
}
|
|
16244
|
+
|
|
16245
|
+
message.providerRaw = reader.string();
|
|
16246
|
+
continue;
|
|
16247
|
+
}
|
|
16248
|
+
case 10: {
|
|
16249
|
+
if (tag !== 82) {
|
|
16250
|
+
break;
|
|
16251
|
+
}
|
|
16252
|
+
|
|
16253
|
+
message.effortRaw = reader.string();
|
|
16254
|
+
continue;
|
|
16255
|
+
}
|
|
16256
|
+
case 11: {
|
|
16257
|
+
if (tag !== 90) {
|
|
16258
|
+
break;
|
|
16259
|
+
}
|
|
16260
|
+
|
|
16261
|
+
message.listingId = reader.string();
|
|
16262
|
+
continue;
|
|
16263
|
+
}
|
|
16264
|
+
case 12: {
|
|
16265
|
+
if (tag !== 98) {
|
|
16266
|
+
break;
|
|
16267
|
+
}
|
|
16268
|
+
|
|
16269
|
+
message.region = reader.string();
|
|
16270
|
+
continue;
|
|
16271
|
+
}
|
|
16143
16272
|
}
|
|
16144
16273
|
if ((tag & 7) === 4 || tag === 0) {
|
|
16145
16274
|
break;
|
|
@@ -16155,8 +16284,12 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16155
16284
|
fromJSON(object: any): AIModelPrice {
|
|
16156
16285
|
return {
|
|
16157
16286
|
source: isSet(object.source) ? globalThis.String(object.source) : "",
|
|
16158
|
-
|
|
16159
|
-
|
|
16287
|
+
biller: isSet(object.biller) ? globalThis.String(object.biller) : "",
|
|
16288
|
+
modelRaw: isSet(object.modelRaw)
|
|
16289
|
+
? globalThis.String(object.modelRaw)
|
|
16290
|
+
: isSet(object.model_raw)
|
|
16291
|
+
? globalThis.String(object.model_raw)
|
|
16292
|
+
: "",
|
|
16160
16293
|
scrapedAt: isSet(object.scrapedAt)
|
|
16161
16294
|
? fromJsonTimestamp(object.scrapedAt)
|
|
16162
16295
|
: isSet(object.scraped_at)
|
|
@@ -16182,6 +16315,22 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16182
16315
|
: isSet(object.cache_write_usd_per_mtok)
|
|
16183
16316
|
? globalThis.Number(object.cache_write_usd_per_mtok)
|
|
16184
16317
|
: 0,
|
|
16318
|
+
providerRaw: isSet(object.providerRaw)
|
|
16319
|
+
? globalThis.String(object.providerRaw)
|
|
16320
|
+
: isSet(object.provider_raw)
|
|
16321
|
+
? globalThis.String(object.provider_raw)
|
|
16322
|
+
: "",
|
|
16323
|
+
effortRaw: isSet(object.effortRaw)
|
|
16324
|
+
? globalThis.String(object.effortRaw)
|
|
16325
|
+
: isSet(object.effort_raw)
|
|
16326
|
+
? globalThis.String(object.effort_raw)
|
|
16327
|
+
: "",
|
|
16328
|
+
listingId: isSet(object.listingId)
|
|
16329
|
+
? globalThis.String(object.listingId)
|
|
16330
|
+
: isSet(object.listing_id)
|
|
16331
|
+
? globalThis.String(object.listing_id)
|
|
16332
|
+
: "",
|
|
16333
|
+
region: isSet(object.region) ? globalThis.String(object.region) : "",
|
|
16185
16334
|
};
|
|
16186
16335
|
},
|
|
16187
16336
|
|
|
@@ -16190,11 +16339,11 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16190
16339
|
if (message.source !== "") {
|
|
16191
16340
|
obj.source = message.source;
|
|
16192
16341
|
}
|
|
16193
|
-
if (message.
|
|
16194
|
-
obj.
|
|
16342
|
+
if (message.biller !== "") {
|
|
16343
|
+
obj.biller = message.biller;
|
|
16195
16344
|
}
|
|
16196
|
-
if (message.
|
|
16197
|
-
obj.
|
|
16345
|
+
if (message.modelRaw !== "") {
|
|
16346
|
+
obj.modelRaw = message.modelRaw;
|
|
16198
16347
|
}
|
|
16199
16348
|
if (message.scrapedAt !== undefined) {
|
|
16200
16349
|
obj.scrapedAt = message.scrapedAt.toISOString();
|
|
@@ -16211,6 +16360,18 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16211
16360
|
if (message.cacheWriteUsdPerMtok !== 0) {
|
|
16212
16361
|
obj.cacheWriteUsdPerMtok = message.cacheWriteUsdPerMtok;
|
|
16213
16362
|
}
|
|
16363
|
+
if (message.providerRaw !== "") {
|
|
16364
|
+
obj.providerRaw = message.providerRaw;
|
|
16365
|
+
}
|
|
16366
|
+
if (message.effortRaw !== "") {
|
|
16367
|
+
obj.effortRaw = message.effortRaw;
|
|
16368
|
+
}
|
|
16369
|
+
if (message.listingId !== "") {
|
|
16370
|
+
obj.listingId = message.listingId;
|
|
16371
|
+
}
|
|
16372
|
+
if (message.region !== "") {
|
|
16373
|
+
obj.region = message.region;
|
|
16374
|
+
}
|
|
16214
16375
|
return obj;
|
|
16215
16376
|
},
|
|
16216
16377
|
|
|
@@ -16220,13 +16381,17 @@ export const AIModelPrice: MessageFns<AIModelPrice> = {
|
|
|
16220
16381
|
fromPartial<I extends Exact<DeepPartial<AIModelPrice>, I>>(object: I): AIModelPrice {
|
|
16221
16382
|
const message = createBaseAIModelPrice();
|
|
16222
16383
|
message.source = object.source ?? "";
|
|
16223
|
-
message.
|
|
16224
|
-
message.
|
|
16384
|
+
message.biller = object.biller ?? "";
|
|
16385
|
+
message.modelRaw = object.modelRaw ?? "";
|
|
16225
16386
|
message.scrapedAt = object.scrapedAt ?? undefined;
|
|
16226
16387
|
message.inputUsdPerMtok = object.inputUsdPerMtok ?? 0;
|
|
16227
16388
|
message.outputUsdPerMtok = object.outputUsdPerMtok ?? 0;
|
|
16228
16389
|
message.cacheReadUsdPerMtok = object.cacheReadUsdPerMtok ?? 0;
|
|
16229
16390
|
message.cacheWriteUsdPerMtok = object.cacheWriteUsdPerMtok ?? 0;
|
|
16391
|
+
message.providerRaw = object.providerRaw ?? "";
|
|
16392
|
+
message.effortRaw = object.effortRaw ?? "";
|
|
16393
|
+
message.listingId = object.listingId ?? "";
|
|
16394
|
+
message.region = object.region ?? "";
|
|
16230
16395
|
return message;
|
|
16231
16396
|
},
|
|
16232
16397
|
};
|
|
@@ -16799,7 +16964,7 @@ export const EntitlementsSnapshot: MessageFns<EntitlementsSnapshot> = {
|
|
|
16799
16964
|
|
|
16800
16965
|
function createBaseSeatEntitlement(): SeatEntitlement {
|
|
16801
16966
|
return {
|
|
16802
|
-
|
|
16967
|
+
biller: "",
|
|
16803
16968
|
accountId: "",
|
|
16804
16969
|
principalId: "",
|
|
16805
16970
|
principalName: "",
|
|
@@ -16819,8 +16984,8 @@ function createBaseSeatEntitlement(): SeatEntitlement {
|
|
|
16819
16984
|
|
|
16820
16985
|
export const SeatEntitlement: MessageFns<SeatEntitlement> = {
|
|
16821
16986
|
encode(message: SeatEntitlement, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
16822
|
-
if (message.
|
|
16823
|
-
writer.uint32(10).string(message.
|
|
16987
|
+
if (message.biller !== "") {
|
|
16988
|
+
writer.uint32(10).string(message.biller);
|
|
16824
16989
|
}
|
|
16825
16990
|
if (message.accountId !== "") {
|
|
16826
16991
|
writer.uint32(18).string(message.accountId);
|
|
@@ -16885,7 +17050,7 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
|
|
|
16885
17050
|
break;
|
|
16886
17051
|
}
|
|
16887
17052
|
|
|
16888
|
-
message.
|
|
17053
|
+
message.biller = reader.string();
|
|
16889
17054
|
continue;
|
|
16890
17055
|
}
|
|
16891
17056
|
case 2: {
|
|
@@ -17014,11 +17179,7 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
|
|
|
17014
17179
|
|
|
17015
17180
|
fromJSON(object: any): SeatEntitlement {
|
|
17016
17181
|
return {
|
|
17017
|
-
|
|
17018
|
-
? globalThis.String(object.billingParty)
|
|
17019
|
-
: isSet(object.billing_party)
|
|
17020
|
-
? globalThis.String(object.billing_party)
|
|
17021
|
-
: "",
|
|
17182
|
+
biller: isSet(object.biller) ? globalThis.String(object.biller) : "",
|
|
17022
17183
|
accountId: isSet(object.accountId)
|
|
17023
17184
|
? globalThis.String(object.accountId)
|
|
17024
17185
|
: isSet(object.account_id)
|
|
@@ -17092,8 +17253,8 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
|
|
|
17092
17253
|
|
|
17093
17254
|
toJSON(message: SeatEntitlement): unknown {
|
|
17094
17255
|
const obj: any = {};
|
|
17095
|
-
if (message.
|
|
17096
|
-
obj.
|
|
17256
|
+
if (message.biller !== "") {
|
|
17257
|
+
obj.biller = message.biller;
|
|
17097
17258
|
}
|
|
17098
17259
|
if (message.accountId !== "") {
|
|
17099
17260
|
obj.accountId = message.accountId;
|
|
@@ -17145,7 +17306,7 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
|
|
|
17145
17306
|
},
|
|
17146
17307
|
fromPartial<I extends Exact<DeepPartial<SeatEntitlement>, I>>(object: I): SeatEntitlement {
|
|
17147
17308
|
const message = createBaseSeatEntitlement();
|
|
17148
|
-
message.
|
|
17309
|
+
message.biller = object.biller ?? "";
|
|
17149
17310
|
message.accountId = object.accountId ?? "";
|
|
17150
17311
|
message.principalId = object.principalId ?? "";
|
|
17151
17312
|
message.principalName = object.principalName ?? "";
|
|
@@ -17388,11 +17549,11 @@ export interface AIGatewayService {
|
|
|
17388
17549
|
* unverified, a complete snapshot re-derived each tick.
|
|
17389
17550
|
*/
|
|
17390
17551
|
StreamFilesSummary(request: FilesSummaryRequest, metadata?: Metadata): Observable<FilesSummary>;
|
|
17391
|
-
/** Latest observed list price per
|
|
17552
|
+
/** Latest observed list price per catalog listing from the global catalog, under stored names. */
|
|
17392
17553
|
ListModelPrices(request: ListModelPricesRequest, metadata?: Metadata): Promise<ListModelPricesResponse>;
|
|
17393
17554
|
/**
|
|
17394
17555
|
* Every stored observation for the filtered models over a time range, oldest first —
|
|
17395
|
-
* the rows ListModelPrices collapses. filter.
|
|
17556
|
+
* the rows ListModelPrices collapses. filter.model_raw is required.
|
|
17396
17557
|
*/
|
|
17397
17558
|
ListModelPriceHistory(
|
|
17398
17559
|
request: ListModelPriceHistoryRequest,
|
|
@@ -713,7 +713,7 @@ streamFilesSummary: {
|
|
|
713
713
|
responseSerialize: serialize_gateway_web_v1_FilesSummary,
|
|
714
714
|
responseDeserialize: deserialize_gateway_web_v1_FilesSummary,
|
|
715
715
|
},
|
|
716
|
-
// Latest observed list price per
|
|
716
|
+
// Latest observed list price per catalog listing from the global catalog, under stored names.
|
|
717
717
|
listModelPrices: {
|
|
718
718
|
path: '/gateway.web.v1.AIGatewayService/ListModelPrices',
|
|
719
719
|
requestStream: false,
|
|
@@ -726,7 +726,7 @@ listModelPrices: {
|
|
|
726
726
|
responseDeserialize: deserialize_gateway_web_v1_ListModelPricesResponse,
|
|
727
727
|
},
|
|
728
728
|
// Every stored observation for the filtered models over a time range, oldest first —
|
|
729
|
-
// the rows ListModelPrices collapses. filter.
|
|
729
|
+
// the rows ListModelPrices collapses. filter.model_raw is required.
|
|
730
730
|
listModelPriceHistory: {
|
|
731
731
|
path: '/gateway.web.v1.AIGatewayService/ListModelPriceHistory',
|
|
732
732
|
requestStream: false,
|