@stigmer/protos 3.2.3 → 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.
Files changed (97) hide show
  1. package/ai/stigmer/agentic/agent/v1/spec_pb.d.ts +41 -0
  2. package/ai/stigmer/agentic/agent/v1/spec_pb.js +8 -3
  3. package/ai/stigmer/agentic/agent/v1/spec_pb.js.map +1 -1
  4. package/ai/stigmer/agentic/agentexecution/v1/usage_pb.d.ts +62 -0
  5. package/ai/stigmer/agentic/agentexecution/v1/usage_pb.js +37 -1
  6. package/ai/stigmer/agentic/agentexecution/v1/usage_pb.js.map +1 -1
  7. package/ai/stigmer/agentic/agentinstance/v1/spec_pb.d.ts +21 -0
  8. package/ai/stigmer/agentic/agentinstance/v1/spec_pb.js +1 -1
  9. package/ai/stigmer/agentic/agentinstance/v1/spec_pb.js.map +1 -1
  10. package/ai/stigmer/agentic/datastore/v1/api_pb.d.ts +64 -0
  11. package/ai/stigmer/agentic/datastore/v1/api_pb.js +18 -0
  12. package/ai/stigmer/agentic/datastore/v1/api_pb.js.map +1 -0
  13. package/ai/stigmer/agentic/datastore/v1/command_connect.d.ts +111 -0
  14. package/ai/stigmer/agentic/datastore/v1/command_connect.js +119 -0
  15. package/ai/stigmer/agentic/datastore/v1/command_connect.js.map +1 -0
  16. package/ai/stigmer/agentic/datastore/v1/command_pb.d.ts +110 -0
  17. package/ai/stigmer/agentic/datastore/v1/command_pb.js +19 -0
  18. package/ai/stigmer/agentic/datastore/v1/command_pb.js.map +1 -0
  19. package/ai/stigmer/agentic/datastore/v1/io_pb.d.ts +64 -0
  20. package/ai/stigmer/agentic/datastore/v1/io_pb.js +22 -0
  21. package/ai/stigmer/agentic/datastore/v1/io_pb.js.map +1 -0
  22. package/ai/stigmer/agentic/datastore/v1/query_connect.d.ts +59 -0
  23. package/ai/stigmer/agentic/datastore/v1/query_connect.js +68 -0
  24. package/ai/stigmer/agentic/datastore/v1/query_connect.js.map +1 -0
  25. package/ai/stigmer/agentic/datastore/v1/query_pb.d.ts +61 -0
  26. package/ai/stigmer/agentic/datastore/v1/query_pb.js +24 -0
  27. package/ai/stigmer/agentic/datastore/v1/query_pb.js.map +1 -0
  28. package/ai/stigmer/agentic/datastore/v1/record_command_connect.d.ts +75 -0
  29. package/ai/stigmer/agentic/datastore/v1/record_command_connect.js +82 -0
  30. package/ai/stigmer/agentic/datastore/v1/record_command_connect.js.map +1 -0
  31. package/ai/stigmer/agentic/datastore/v1/record_command_pb.d.ts +75 -0
  32. package/ai/stigmer/agentic/datastore/v1/record_command_pb.js +32 -0
  33. package/ai/stigmer/agentic/datastore/v1/record_command_pb.js.map +1 -0
  34. package/ai/stigmer/agentic/datastore/v1/record_io_pb.d.ts +752 -0
  35. package/ai/stigmer/agentic/datastore/v1/record_io_pb.js +198 -0
  36. package/ai/stigmer/agentic/datastore/v1/record_io_pb.js.map +1 -0
  37. package/ai/stigmer/agentic/datastore/v1/record_query_connect.d.ts +69 -0
  38. package/ai/stigmer/agentic/datastore/v1/record_query_connect.js +76 -0
  39. package/ai/stigmer/agentic/datastore/v1/record_query_connect.js.map +1 -0
  40. package/ai/stigmer/agentic/datastore/v1/record_query_pb.d.ts +70 -0
  41. package/ai/stigmer/agentic/datastore/v1/record_query_pb.js +38 -0
  42. package/ai/stigmer/agentic/datastore/v1/record_query_pb.js.map +1 -0
  43. package/ai/stigmer/agentic/datastore/v1/spec_pb.d.ts +735 -0
  44. package/ai/stigmer/agentic/datastore/v1/spec_pb.js +195 -0
  45. package/ai/stigmer/agentic/datastore/v1/spec_pb.js.map +1 -0
  46. package/ai/stigmer/agentic/datastore/v1/status_pb.d.ts +159 -0
  47. package/ai/stigmer/agentic/datastore/v1/status_pb.js +93 -0
  48. package/ai/stigmer/agentic/datastore/v1/status_pb.js.map +1 -0
  49. package/ai/stigmer/agentic/session/v1/spec_pb.d.ts +18 -0
  50. package/ai/stigmer/agentic/session/v1/spec_pb.js +1 -1
  51. package/ai/stigmer/agentic/session/v1/spec_pb.js.map +1 -1
  52. package/ai/stigmer/billing/v1/command_connect.d.ts +43 -0
  53. package/ai/stigmer/billing/v1/command_connect.js +46 -1
  54. package/ai/stigmer/billing/v1/command_connect.js.map +1 -1
  55. package/ai/stigmer/billing/v1/command_pb.d.ts +43 -1
  56. package/ai/stigmer/billing/v1/command_pb.js +3 -1
  57. package/ai/stigmer/billing/v1/command_pb.js.map +1 -1
  58. package/ai/stigmer/billing/v1/io_pb.d.ts +299 -1
  59. package/ai/stigmer/billing/v1/io_pb.js +44 -2
  60. package/ai/stigmer/billing/v1/io_pb.js.map +1 -1
  61. package/ai/stigmer/billing/v1/model_pricing_baseline_pb.d.ts +369 -0
  62. package/ai/stigmer/billing/v1/model_pricing_baseline_pb.js +79 -0
  63. package/ai/stigmer/billing/v1/model_pricing_baseline_pb.js.map +1 -0
  64. package/ai/stigmer/billing/v1/pricing_override_pb.d.ts +272 -0
  65. package/ai/stigmer/billing/v1/pricing_override_pb.js +116 -0
  66. package/ai/stigmer/billing/v1/pricing_override_pb.js.map +1 -0
  67. package/ai/stigmer/billing/v1/query_connect.d.ts +31 -0
  68. package/ai/stigmer/billing/v1/query_connect.js +32 -1
  69. package/ai/stigmer/billing/v1/query_connect.js.map +1 -1
  70. package/ai/stigmer/billing/v1/query_pb.d.ts +30 -1
  71. package/ai/stigmer/billing/v1/query_pb.js +1 -1
  72. package/ai/stigmer/billing/v1/query_pb.js.map +1 -1
  73. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.d.ts +7 -0
  74. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js +8 -1
  75. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js.map +1 -1
  76. package/ai/stigmer/iam/v1/enum_pb.d.ts +44 -1
  77. package/ai/stigmer/iam/v1/enum_pb.js +44 -1
  78. package/ai/stigmer/iam/v1/enum_pb.js.map +1 -1
  79. package/ai/stigmer/platform/cursoraccount/v1/command_connect.d.ts +102 -0
  80. package/ai/stigmer/platform/cursoraccount/v1/command_connect.js +110 -0
  81. package/ai/stigmer/platform/cursoraccount/v1/command_connect.js.map +1 -0
  82. package/ai/stigmer/platform/cursoraccount/v1/command_pb.d.ts +100 -0
  83. package/ai/stigmer/platform/cursoraccount/v1/command_pb.js +32 -0
  84. package/ai/stigmer/platform/cursoraccount/v1/command_pb.js.map +1 -0
  85. package/ai/stigmer/platform/cursoraccount/v1/cursor_account_pb.d.ts +409 -0
  86. package/ai/stigmer/platform/cursoraccount/v1/cursor_account_pb.js +36 -0
  87. package/ai/stigmer/platform/cursoraccount/v1/cursor_account_pb.js.map +1 -0
  88. package/ai/stigmer/platform/cursoraccount/v1/io_pb.d.ts +383 -0
  89. package/ai/stigmer/platform/cursoraccount/v1/io_pb.js +115 -0
  90. package/ai/stigmer/platform/cursoraccount/v1/io_pb.js.map +1 -0
  91. package/ai/stigmer/platform/cursoraccount/v1/query_connect.d.ts +44 -0
  92. package/ai/stigmer/platform/cursoraccount/v1/query_connect.js +51 -0
  93. package/ai/stigmer/platform/cursoraccount/v1/query_connect.js.map +1 -0
  94. package/ai/stigmer/platform/cursoraccount/v1/query_pb.d.ts +45 -0
  95. package/ai/stigmer/platform/cursoraccount/v1/query_pb.js +25 -0
  96. package/ai/stigmer/platform/cursoraccount/v1/query_pb.js.map +1 -0
  97. package/package.json +1 -1
@@ -0,0 +1,409 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
2
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file ai/stigmer/platform/cursoraccount/v1/cursor_account.proto.
6
+ */
7
+ export declare const file_ai_stigmer_platform_cursoraccount_v1_cursor_account: GenFile;
8
+ /**
9
+ * CursorAccount is one managed Cursor team: the platform-operator resource
10
+ * that is the ONLY source of Cursor credentials for the cursor harness —
11
+ * member keys for execution and unscoped platform traffic, the team admin
12
+ * key for roster/spend sync and ledger reconciliation. (It replaced the
13
+ * historical single STIGMER_PROXY_CURSOR_API_KEY env var, which is gone.)
14
+ *
15
+ * One document = one Cursor team. It carries two credential classes with
16
+ * strictly different capabilities (verified empirically 2026-07-22, see the
17
+ * harness-cost-parity T04 probe note):
18
+ *
19
+ * - the team ADMIN key ("Team API Keys" dashboard tab) — works ONLY
20
+ * against the Cursor Admin API (roster, spend, usage events). It can
21
+ * NEVER run executions; Cursor rejects it on execution surfaces.
22
+ * - MEMBER keys (user-scoped API keys, one per team member) — the keys
23
+ * the proxy injects into execution traffic. Each is validated and
24
+ * bound to its owning team member via Cursor's /v1/me at save time.
25
+ *
26
+ * Consequently an account with no enabled member keys is visible but NOT
27
+ * routable — no execution traffic can be sent under it.
28
+ *
29
+ * Org assignment — two account classes, derived from org_ids alone:
30
+ *
31
+ * - DEDICATED (org_ids non-empty): the account is a cost boundary for
32
+ * exactly those organizations. Their sessions are served only by this
33
+ * account's keys; when it has no usable keys, sessions fail with an
34
+ * explicit operator-actionable error rather than silently spending
35
+ * another team's quota (DD-008).
36
+ * - SHARED POOL (org_ids empty + enabled): the account is part of the
37
+ * platform-operated pool serving every org with no dedicated account.
38
+ * Pool sessions may move across pool accounts when their current
39
+ * account is depleted — all pool teams bill to the platform operator,
40
+ * so movement is capacity management, not a cost-boundary breach.
41
+ * Keep an account out of rotation (e.g. a quarantined probe team) by
42
+ * leaving it disabled.
43
+ *
44
+ * Load spreading for NEW sessions is least-recently-used across the
45
+ * eligible key set (the dedicated account's keys, or all pool accounts'
46
+ * keys); an existing session stays pinned to one key until that key
47
+ * becomes unusable.
48
+ *
49
+ * Secrets at rest: admin_api_key and CursorMemberKey.api_key are encrypted
50
+ * (AES-256-GCM, "enc:v1:" prefix) before persistence and replaced with
51
+ * "***REDACTED***" on every read surface. Sending the redaction marker
52
+ * back on update means "keep the stored value" (the ChannelApp secret
53
+ * round-trip convention).
54
+ *
55
+ * @generated from message ai.stigmer.platform.cursoraccount.v1.CursorAccount
56
+ */
57
+ export type CursorAccount = Message<"ai.stigmer.platform.cursoraccount.v1.CursorAccount"> & {
58
+ /**
59
+ * Unique identifier (UUID). Server-assigned on create; required on
60
+ * update.
61
+ *
62
+ * @generated from field: string account_id = 1;
63
+ */
64
+ accountId: string;
65
+ /**
66
+ * Human-readable name shown in the operator console (e.g. the Cursor
67
+ * team name, "scenar.ai team").
68
+ *
69
+ * @generated from field: string display_name = 2;
70
+ */
71
+ displayName: string;
72
+ /**
73
+ * Team Admin API key. Used exclusively for Admin API calls (roster,
74
+ * spend); never injected into execution traffic. Validated at save time
75
+ * by a live GET /teams/members call.
76
+ *
77
+ * Write: plaintext on create/rotate, or "***REDACTED***" to keep the
78
+ * stored value. Read: always "***REDACTED***".
79
+ *
80
+ * @generated from field: string admin_api_key = 3;
81
+ */
82
+ adminApiKey: string;
83
+ /**
84
+ * Whether this account participates in key selection. Disabled accounts
85
+ * stop receiving NEW sessions immediately; sessions already pinned to
86
+ * one of its keys keep working (the hard kill switch is revoking the
87
+ * key in the Cursor dashboard).
88
+ *
89
+ * @generated from field: bool enabled = 4;
90
+ */
91
+ enabled: boolean;
92
+ /**
93
+ * Deprecated: superseded by the derived shared pool (DD-008). Every
94
+ * enabled account with empty org_ids now serves unassigned orgs; a
95
+ * single "default" marker is meaningless under that rule, so selection
96
+ * and the console ignore this field. Kept on the wire for old clients;
97
+ * never written by current ones.
98
+ *
99
+ * @generated from field: bool is_platform_default = 5 [deprecated = true];
100
+ * @deprecated
101
+ */
102
+ isPlatformDefault: boolean;
103
+ /**
104
+ * Stigmer organization ids this account is DEDICATED to. An org may
105
+ * appear in at most one account across the collection
106
+ * (unique-multikey-index-enforced). Empty = shared-pool account (see
107
+ * the message doc for the two account classes).
108
+ *
109
+ * @generated from field: repeated string org_ids = 6;
110
+ */
111
+ orgIds: string[];
112
+ /**
113
+ * Execution-capable member keys. Selection picks among enabled entries
114
+ * (least-recently-used for new sessions, then sticky per session).
115
+ *
116
+ * @generated from field: repeated ai.stigmer.platform.cursoraccount.v1.CursorMemberKey member_keys = 7;
117
+ */
118
+ memberKeys: CursorMemberKey[];
119
+ /**
120
+ * Operator identity that created the account.
121
+ *
122
+ * @generated from field: string created_by = 8;
123
+ */
124
+ createdBy: string;
125
+ /**
126
+ * @generated from field: google.protobuf.Timestamp created_at = 9;
127
+ */
128
+ createdAt?: Timestamp;
129
+ /**
130
+ * Operator identity of the latest mutation (account fields or keys).
131
+ *
132
+ * @generated from field: string updated_by = 10;
133
+ */
134
+ updatedBy: string;
135
+ /**
136
+ * @generated from field: google.protobuf.Timestamp updated_at = 11;
137
+ */
138
+ updatedAt?: Timestamp;
139
+ /**
140
+ * Operator's assertion that this Cursor team's on-demand usage toggle
141
+ * is OFF in the Cursor dashboard. Declared, not synced: the Admin API
142
+ * exposes no settings surface, so Cursor cannot report it (verified
143
+ * 2026-07-22 against docs and live API).
144
+ *
145
+ * When true, member keys whose included API-pool usage crosses the
146
+ * platform soft limit are excluded from NEW-session selection — with
147
+ * on-demand off, an exhausted key can no longer serve third-party
148
+ * models (T06 probe: runs error, no silent degrade).
149
+ *
150
+ * Deliberately the negative of Cursor's "on-demand enabled" wording:
151
+ * proto3 bool absence must mean "assume Cursor's team default
152
+ * (on-demand ON, guard inactive)" so accounts created before this
153
+ * field keep their exact selection behavior with no migration. A
154
+ * positive `on_demand_usage_enabled` field would read false on every
155
+ * existing document and silently activate the guard fleet-wide.
156
+ *
157
+ * @generated from field: bool on_demand_usage_disabled = 12;
158
+ */
159
+ onDemandUsageDisabled: boolean;
160
+ /**
161
+ * Operator-pasted team invite link from the Cursor dashboard (Invite
162
+ * Members → Copy Invite Link). Cursor's Admin API cannot mint or fetch
163
+ * one, so this is declared, not synced. Long-lived and joinable by
164
+ * anyone holding it (each join consumes a paid seat), so it is
165
+ * encrypted at rest — but unlike the API keys it IS returned readable
166
+ * on read: a link operators cannot copy serves no one, and every read
167
+ * surface is operator-gated. Optional: when empty the console shows
168
+ * dashboard guidance instead of a per-row "Copy invite" action.
169
+ *
170
+ * Write: plaintext https:// URL to set/rotate, empty to clear.
171
+ * Read: plaintext.
172
+ *
173
+ * @generated from field: string team_invite_link = 13;
174
+ */
175
+ teamInviteLink: string;
176
+ };
177
+ /**
178
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorAccount.
179
+ * Use `create(CursorAccountSchema)` to create a new message.
180
+ */
181
+ export declare const CursorAccountSchema: GenMessage<CursorAccount>;
182
+ /**
183
+ * CursorMemberKey is one execution-capable, user-scoped Cursor API key
184
+ * held by a CursorAccount.
185
+ *
186
+ * Identity binding is server-owned: at save time the key is presented to
187
+ * Cursor's GET /v1/me, which returns the owning member's email and user
188
+ * id — a team admin key pasted here fails that call with Cursor's own
189
+ * explanatory 401. There is no manual "which member is this" mapping to
190
+ * drift.
191
+ *
192
+ * @generated from message ai.stigmer.platform.cursoraccount.v1.CursorMemberKey
193
+ */
194
+ export type CursorMemberKey = Message<"ai.stigmer.platform.cursoraccount.v1.CursorMemberKey"> & {
195
+ /**
196
+ * Unique identifier (UUID) of this key entry. Server-assigned. Stable
197
+ * across enable/disable; referenced by session pins and usage
198
+ * attribution (the key material itself never leaves the proxy).
199
+ *
200
+ * @generated from field: string key_id = 1;
201
+ */
202
+ keyId: string;
203
+ /**
204
+ * The user-scoped API key. Write: plaintext on add, "***REDACTED***"
205
+ * never accepted here (rotation = remove + add, so the /v1/me binding
206
+ * can never go stale). Read: always "***REDACTED***".
207
+ *
208
+ * @generated from field: string api_key = 2;
209
+ */
210
+ apiKey: string;
211
+ /**
212
+ * Optional operator label (e.g. "zane — stigmer-prod").
213
+ *
214
+ * @generated from field: string label = 3;
215
+ */
216
+ label: string;
217
+ /**
218
+ * Email of the Cursor team member that owns this key.
219
+ *
220
+ * @generated from field: string bound_email = 4;
221
+ */
222
+ boundEmail: string;
223
+ /**
224
+ * Cursor numeric user id of the owning member, as a string.
225
+ *
226
+ * @generated from field: string bound_user_id = 5;
227
+ */
228
+ boundUserId: string;
229
+ /**
230
+ * Cursor-side name of the key (apiKeyName from /v1/me), for
231
+ * cross-referencing in the Cursor dashboard.
232
+ *
233
+ * @generated from field: string cursor_key_name = 6;
234
+ */
235
+ cursorKeyName: string;
236
+ /**
237
+ * Whether this key participates in selection for NEW sessions.
238
+ * Sessions already pinned to it keep using it (conversation continuity
239
+ * and end-of-session agent disposal both require the original key).
240
+ *
241
+ * @generated from field: bool enabled = 7;
242
+ */
243
+ enabled: boolean;
244
+ /**
245
+ * Operator identity that added the key.
246
+ *
247
+ * @generated from field: string added_by = 8;
248
+ */
249
+ addedBy: string;
250
+ /**
251
+ * @generated from field: google.protobuf.Timestamp added_at = 9;
252
+ */
253
+ addedAt?: Timestamp;
254
+ };
255
+ /**
256
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorMemberKey.
257
+ * Use `create(CursorMemberKeySchema)` to create a new message.
258
+ */
259
+ export declare const CursorMemberKeySchema: GenMessage<CursorMemberKey>;
260
+ /**
261
+ * CursorTeamMember is one roster entry from the Admin API
262
+ * (GET /teams/members), captured by the periodic sync.
263
+ *
264
+ * @generated from message ai.stigmer.platform.cursoraccount.v1.CursorTeamMember
265
+ */
266
+ export type CursorTeamMember = Message<"ai.stigmer.platform.cursoraccount.v1.CursorTeamMember"> & {
267
+ /**
268
+ * Cursor user id (e.g. "user_..." or numeric, as returned).
269
+ *
270
+ * @generated from field: string user_id = 1;
271
+ */
272
+ userId: string;
273
+ /**
274
+ * @generated from field: string email = 2;
275
+ */
276
+ email: string;
277
+ /**
278
+ * @generated from field: string name = 3;
279
+ */
280
+ name: string;
281
+ /**
282
+ * Cursor-reported role: "owner", "member", or "removed". Removed
283
+ * members remain in the roster response; a stored member key whose
284
+ * owner shows as removed is flagged for the operator and excluded
285
+ * from selection.
286
+ *
287
+ * @generated from field: string role = 4;
288
+ */
289
+ role: string;
290
+ };
291
+ /**
292
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorTeamMember.
293
+ * Use `create(CursorTeamMemberSchema)` to create a new message.
294
+ */
295
+ export declare const CursorTeamMemberSchema: GenMessage<CursorTeamMember>;
296
+ /**
297
+ * CursorMemberSpend is one member's spend for the current billing cycle
298
+ * from the Admin API (POST /teams/spend).
299
+ *
300
+ * Money follows the platform integer-micro convention: Cursor reports
301
+ * (possibly fractional) cents; the sync converts cents x 10,000 to
302
+ * micro-USD. Cursor's response schema has drifted from its docs
303
+ * (overallSpendCents absent, includedSpendCents undocumented) — the sync
304
+ * parses defensively and omits fields Cursor omits.
305
+ *
306
+ * @generated from message ai.stigmer.platform.cursoraccount.v1.CursorMemberSpend
307
+ */
308
+ export type CursorMemberSpend = Message<"ai.stigmer.platform.cursoraccount.v1.CursorMemberSpend"> & {
309
+ /**
310
+ * @generated from field: string user_id = 1;
311
+ */
312
+ userId: string;
313
+ /**
314
+ * @generated from field: string email = 2;
315
+ */
316
+ email: string;
317
+ /**
318
+ * Spend covered by the plan's included quota this cycle, micro-USD.
319
+ *
320
+ * @generated from field: int64 included_spend_usd_micros = 3;
321
+ */
322
+ includedSpendUsdMicros: bigint;
323
+ /**
324
+ * On-demand overage spend this cycle, micro-USD (Cursor "spendCents").
325
+ *
326
+ * @generated from field: int64 overage_spend_usd_micros = 4;
327
+ */
328
+ overageSpendUsdMicros: bigint;
329
+ /**
330
+ * Percent (0–100) of the member's blended usage allowance consumed
331
+ * (Cursor's totalPercentUsed, live-verified 2026-07-22 — the T06
332
+ * probe observed 22.35 for a member at 22%). 0 when Cursor omits it
333
+ * (non-tiered/Enterprise teams). Caution: removed members report a
334
+ * flat 100 here regardless of real usage — roster state, not this
335
+ * field, decides "removed".
336
+ *
337
+ * @generated from field: double total_percent_used = 5;
338
+ */
339
+ totalPercentUsed: number;
340
+ /**
341
+ * Percent (0–100) of the FIRST-PARTY model pool (Auto/Composer)
342
+ * consumed — Cursor's autoPercentUsed. 0 when unreported.
343
+ *
344
+ * @generated from field: double auto_percent_used = 6;
345
+ */
346
+ autoPercentUsed: number;
347
+ /**
348
+ * Percent (0–100) of the THIRD-PARTY API model pool (Claude/GPT/…)
349
+ * consumed — Cursor's apiPercentUsed. 0 when unreported. This is the
350
+ * usage-guard metric: the pools diverge hard in practice (T06
351
+ * observed api=100 while total=22.35), so the blended figure must
352
+ * never gate selection.
353
+ *
354
+ * @generated from field: double api_percent_used = 7;
355
+ */
356
+ apiPercentUsed: number;
357
+ };
358
+ /**
359
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorMemberSpend.
360
+ * Use `create(CursorMemberSpendSchema)` to create a new message.
361
+ */
362
+ export declare const CursorMemberSpendSchema: GenMessage<CursorMemberSpend>;
363
+ /**
364
+ * CursorAccountSyncSnapshot is the roster + spend state of one account as
365
+ * of one sync run. Append-only: each sync inserts a new snapshot, so the
366
+ * collection is a spend-over-time history; read surfaces use the latest.
367
+ *
368
+ * @generated from message ai.stigmer.platform.cursoraccount.v1.CursorAccountSyncSnapshot
369
+ */
370
+ export type CursorAccountSyncSnapshot = Message<"ai.stigmer.platform.cursoraccount.v1.CursorAccountSyncSnapshot"> & {
371
+ /**
372
+ * Account this snapshot belongs to.
373
+ *
374
+ * @generated from field: string account_id = 1;
375
+ */
376
+ accountId: string;
377
+ /**
378
+ * @generated from field: google.protobuf.Timestamp synced_at = 2;
379
+ */
380
+ syncedAt?: Timestamp;
381
+ /**
382
+ * @generated from field: repeated ai.stigmer.platform.cursoraccount.v1.CursorTeamMember members = 3;
383
+ */
384
+ members: CursorTeamMember[];
385
+ /**
386
+ * @generated from field: repeated ai.stigmer.platform.cursoraccount.v1.CursorMemberSpend spend = 4;
387
+ */
388
+ spend: CursorMemberSpend[];
389
+ /**
390
+ * Start of the Cursor billing cycle the spend figures cover
391
+ * (subscriptionCycleStart).
392
+ *
393
+ * @generated from field: google.protobuf.Timestamp cycle_start = 5;
394
+ */
395
+ cycleStart?: Timestamp;
396
+ /**
397
+ * Non-empty when the sync partially failed (e.g. spend endpoint
398
+ * errored while roster succeeded). The snapshot still records what was
399
+ * fetched; the console surfaces the message.
400
+ *
401
+ * @generated from field: string sync_error = 6;
402
+ */
403
+ syncError: string;
404
+ };
405
+ /**
406
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorAccountSyncSnapshot.
407
+ * Use `create(CursorAccountSyncSnapshotSchema)` to create a new message.
408
+ */
409
+ export declare const CursorAccountSyncSnapshotSchema: GenMessage<CursorAccountSyncSnapshot>;
@@ -0,0 +1,36 @@
1
+ // @generated by protoc-gen-es v2.2.2 with parameter "target=ts,import_extension=js"
2
+ // @generated from file ai/stigmer/platform/cursoraccount/v1/cursor_account.proto (package ai.stigmer.platform.cursoraccount.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
5
+ import { file_buf_validate_validate } from "../../../../../buf/validate/validate_pb.js";
6
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
+ /**
8
+ * Describes the file ai/stigmer/platform/cursoraccount/v1/cursor_account.proto.
9
+ */
10
+ export const file_ai_stigmer_platform_cursoraccount_v1_cursor_account = /*@__PURE__*/ fileDesc("CjlhaS9zdGlnbWVyL3BsYXRmb3JtL2N1cnNvcmFjY291bnQvdjEvY3Vyc29yX2FjY291bnQucHJvdG8SJGFpLnN0aWdtZXIucGxhdGZvcm0uY3Vyc29yYWNjb3VudC52MSLTAwoNQ3Vyc29yQWNjb3VudBISCgphY2NvdW50X2lkGAEgASgJEiEKDGRpc3BsYXlfbmFtZRgCIAEoCUILukgIyAEBcgMYgAESHwoNYWRtaW5fYXBpX2tleRgDIAEoCUIIukgFcgMYgAISDwoHZW5hYmxlZBgEIAEoCBIfChNpc19wbGF0Zm9ybV9kZWZhdWx0GAUgASgIQgIYARIeCgdvcmdfaWRzGAYgAygJQg26SAqSAQciBXIDGIABEkoKC21lbWJlcl9rZXlzGAcgAygLMjUuYWkuc3RpZ21lci5wbGF0Zm9ybS5jdXJzb3JhY2NvdW50LnYxLkN1cnNvck1lbWJlcktleRISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnVwZGF0ZWRfYnkYCiABKAkSLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoYb25fZGVtYW5kX3VzYWdlX2Rpc2FibGVkGAwgASgIEiIKEHRlYW1faW52aXRlX2xpbmsYDSABKAlCCLpIBXIDGIAEIusBCg9DdXJzb3JNZW1iZXJLZXkSDgoGa2V5X2lkGAEgASgJEhkKB2FwaV9rZXkYAiABKAlCCLpIBXIDGIACEhcKBWxhYmVsGAMgASgJQgi6SAVyAxiAARITCgtib3VuZF9lbWFpbBgEIAEoCRIVCg1ib3VuZF91c2VyX2lkGAUgASgJEhcKD2N1cnNvcl9rZXlfbmFtZRgGIAEoCRIPCgdlbmFibGVkGAcgASgIEhAKCGFkZGVkX2J5GAggASgJEiwKCGFkZGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJOChBDdXJzb3JUZWFtTWVtYmVyEg8KB3VzZXJfaWQYASABKAkSDQoFZW1haWwYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgRyb2xlGAQgASgJItsBChFDdXJzb3JNZW1iZXJTcGVuZBIPCgd1c2VyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEioKGWluY2x1ZGVkX3NwZW5kX3VzZF9taWNyb3MYAyABKANCB7pIBCICKAASKQoYb3ZlcmFnZV9zcGVuZF91c2RfbWljcm9zGAQgASgDQge6SAQiAigAEhoKEnRvdGFsX3BlcmNlbnRfdXNlZBgFIAEoARIZChFhdXRvX3BlcmNlbnRfdXNlZBgGIAEoARIYChBhcGlfcGVyY2VudF91c2VkGAcgASgBIrQCChlDdXJzb3JBY2NvdW50U3luY1NuYXBzaG90EhIKCmFjY291bnRfaWQYASABKAkSLQoJc3luY2VkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJHCgdtZW1iZXJzGAMgAygLMjYuYWkuc3RpZ21lci5wbGF0Zm9ybS5jdXJzb3JhY2NvdW50LnYxLkN1cnNvclRlYW1NZW1iZXISRgoFc3BlbmQYBCADKAsyNy5haS5zdGlnbWVyLnBsYXRmb3JtLmN1cnNvcmFjY291bnQudjEuQ3Vyc29yTWVtYmVyU3BlbmQSLwoLY3ljbGVfc3RhcnQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnN5bmNfZXJyb3IYBiABKAliBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp]);
11
+ /**
12
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorAccount.
13
+ * Use `create(CursorAccountSchema)` to create a new message.
14
+ */
15
+ export const CursorAccountSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_platform_cursoraccount_v1_cursor_account, 0);
16
+ /**
17
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorMemberKey.
18
+ * Use `create(CursorMemberKeySchema)` to create a new message.
19
+ */
20
+ export const CursorMemberKeySchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_platform_cursoraccount_v1_cursor_account, 1);
21
+ /**
22
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorTeamMember.
23
+ * Use `create(CursorTeamMemberSchema)` to create a new message.
24
+ */
25
+ export const CursorTeamMemberSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_platform_cursoraccount_v1_cursor_account, 2);
26
+ /**
27
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorMemberSpend.
28
+ * Use `create(CursorMemberSpendSchema)` to create a new message.
29
+ */
30
+ export const CursorMemberSpendSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_platform_cursoraccount_v1_cursor_account, 3);
31
+ /**
32
+ * Describes the message ai.stigmer.platform.cursoraccount.v1.CursorAccountSyncSnapshot.
33
+ * Use `create(CursorAccountSyncSnapshotSchema)` to create a new message.
34
+ */
35
+ export const CursorAccountSyncSnapshotSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_platform_cursoraccount_v1_cursor_account, 4);
36
+ //# sourceMappingURL=cursor_account_pb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor_account_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/platform/cursoraccount/v1/cursor_account_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,+IAA+I;AAC/I,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAGxE;;GAEG;AACH,MAAM,CAAC,MAAM,wDAAwD,GAAY,aAAa,CAC5F,QAAQ,CAAC,g3DAAg3D,EAAE,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAC,CAAC;AAwL37D;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA8B,aAAa,CACzE,WAAW,CAAC,wDAAwD,EAAE,CAAC,CAAC,CAAC;AAoF3E;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,wDAAwD,EAAE,CAAC,CAAC,CAAC;AAqC3E;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,wDAAwD,EAAE,CAAC,CAAC,CAAC;AAuE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,wDAAwD,EAAE,CAAC,CAAC,CAAC;AAkD3E;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0C,aAAa,CACjG,WAAW,CAAC,wDAAwD,EAAE,CAAC,CAAC,CAAC"}