@ellipsis-dev/sdk 0.32.0 → 0.33.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.
@@ -62,7 +62,7 @@ interface paths {
62
62
  patch?: never;
63
63
  trace?: never;
64
64
  };
65
- '/v1/account/api-keys/{api_key_id}': {
65
+ '/v1/account/api-keys/{id}': {
66
66
  parameters: {
67
67
  query?: never;
68
68
  header?: never;
@@ -145,8 +145,8 @@ interface paths {
145
145
  * Requires a human account administrator; API keys and session tokens
146
146
  * cannot change this policy. Supply enabled explicitly. Saving amounts
147
147
  * with enabled=false keeps recharge off; enabling requires a saved card.
148
- * A recharge buys amount_cents of credit and charges the platform fee
149
- * in addition. Amounts and thresholds preserve exact cents.
148
+ * A recharge buys `amount` of credit and charges the platform fee in
149
+ * addition. Amounts and thresholds are millicents in whole cents.
150
150
  */
151
151
  put: operations['update_auto_recharge'];
152
152
  post?: never;
@@ -195,7 +195,7 @@ interface paths {
195
195
  *
196
196
  * Requires a human account administrator. Open the returned URL to
197
197
  * complete payment. Credit is granted only after payment succeeds;
198
- * the platform fee is charged in addition to amount_cents. Returning
198
+ * the platform fee is charged in addition to `amount`. Returning
199
199
  * to Billing carries the checkout session ID for receipt lookup.
200
200
  */
201
201
  post: operations['create_credit_checkout_session'];
@@ -260,7 +260,7 @@ interface paths {
260
260
  };
261
261
  /**
262
262
  * Get Fee Schedule
263
- * @description Get the account's rate card, in US dollars.
263
+ * @description Get the account's rate card, in millicents.
264
264
  */
265
265
  get: operations['get_fee_schedule'];
266
266
  put?: never;
@@ -282,7 +282,7 @@ interface paths {
282
282
  * Get Credit Purchase Options
283
283
  * @description Get credit purchase bounds and the platform fee.
284
284
  *
285
- * All amounts are integer US cents. The fee is added to the credit
285
+ * All amounts are in millicents. The fee is added to the credit
286
286
  * amount; it does not reduce the credit granted.
287
287
  */
288
288
  get: operations['get_credit_purchase_options'];
@@ -294,7 +294,7 @@ interface paths {
294
294
  patch?: never;
295
295
  trace?: never;
296
296
  };
297
- '/v1/account/billing/purchases/{checkout_id}': {
297
+ '/v1/account/billing/purchases/{id}': {
298
298
  parameters: {
299
299
  query?: never;
300
300
  header?: never;
@@ -456,7 +456,7 @@ interface paths {
456
456
  * Set Organization Settings
457
457
  * @description Set the organization settings.
458
458
  *
459
- * `budget_ceiling.session` is in US dollars, at most the platform
459
+ * `budget_ceiling.session` is in millicents, at most the platform
460
460
  * ceiling, and null clears it.
461
461
  * Refused for session tokens (potentially prompt-injected code must
462
462
  * not raise the organization's ceiling).
@@ -484,13 +484,13 @@ interface paths {
484
484
  };
485
485
  /**
486
486
  * Get Usage
487
- * @description Get usage for a calendar month, including its funding sources.
487
+ * @description Get usage for a calendar month, split by billing source.
488
488
  *
489
- * Omit period_start for the current UTC month; select a period returned
490
- * in billing_periods to view history. Credit debits are distinct from
491
- * rated token usage through a developer's Claude or Codex
492
- * subscription. Rated usage estimates are not provider invoices.
493
- * Pending and unresolved requests identify missing measurements.
489
+ * Omit period_start for the current UTC month. Pass a period from
490
+ * billing_periods to view history. Platform usage is charged to
491
+ * Ellipsis credit. Tokens paid by a developer's Claude or Codex
492
+ * subscription show their cost at Ellipsis rates and charge no
493
+ * credit. Pending and unresolved requests are missing measurements.
494
494
  */
495
495
  get: operations['get_account_usage'];
496
496
  put?: never;
@@ -518,7 +518,7 @@ interface paths {
518
518
  * Create Agent
519
519
  * @description Create an agent, managed through the API: no file, live
520
520
  * immediately. To put its definition in a repository instead, create
521
- * it here and then POST /v1/agents/{agent_id}/link.
521
+ * it here and then POST /v1/agents/{id}/link.
522
522
  *
523
523
  * 409 when another live agent already holds the name.
524
524
  */
@@ -546,7 +546,7 @@ interface paths {
546
546
  patch?: never;
547
547
  trace?: never;
548
548
  };
549
- '/v1/agents/{agent_id}': {
549
+ '/v1/agents/{id}': {
550
550
  parameters: {
551
551
  query?: never;
552
552
  header?: never;
@@ -583,7 +583,7 @@ interface paths {
583
583
  patch?: never;
584
584
  trace?: never;
585
585
  };
586
- '/v1/agents/{agent_id}/link': {
586
+ '/v1/agents/{id}/link': {
587
587
  parameters: {
588
588
  query?: never;
589
589
  header?: never;
@@ -608,7 +608,7 @@ interface paths {
608
608
  patch?: never;
609
609
  trace?: never;
610
610
  };
611
- '/v1/agents/{agent_id}/metrics': {
611
+ '/v1/agents/{id}/metrics': {
612
612
  parameters: {
613
613
  query?: never;
614
614
  header?: never;
@@ -634,7 +634,7 @@ interface paths {
634
634
  patch?: never;
635
635
  trace?: never;
636
636
  };
637
- '/v1/agents/{agent_id}/sessions': {
637
+ '/v1/agents/{id}/sessions': {
638
638
  parameters: {
639
639
  query?: never;
640
640
  header?: never;
@@ -666,7 +666,7 @@ interface paths {
666
666
  patch?: never;
667
667
  trace?: never;
668
668
  };
669
- '/v1/agents/{agent_id}/unlink': {
669
+ '/v1/agents/{id}/unlink': {
670
670
  parameters: {
671
671
  query?: never;
672
672
  header?: never;
@@ -715,7 +715,7 @@ interface paths {
715
715
  patch?: never;
716
716
  trace?: never;
717
717
  };
718
- '/v1/alerts/{alert_id}': {
718
+ '/v1/alerts/{id}': {
719
719
  parameters: {
720
720
  query?: never;
721
721
  header?: never;
@@ -737,7 +737,7 @@ interface paths {
737
737
  patch?: never;
738
738
  trace?: never;
739
739
  };
740
- '/v1/alerts/{alert_id}/dismiss': {
740
+ '/v1/alerts/{id}/dismiss': {
741
741
  parameters: {
742
742
  query?: never;
743
743
  header?: never;
@@ -909,7 +909,7 @@ interface paths {
909
909
  patch?: never;
910
910
  trace?: never;
911
911
  };
912
- '/v1/environments/{environment_id}': {
912
+ '/v1/environments/{id}': {
913
913
  parameters: {
914
914
  query?: never;
915
915
  header?: never;
@@ -976,7 +976,7 @@ interface paths {
976
976
  patch?: never;
977
977
  trace?: never;
978
978
  };
979
- '/v1/handlers/{handler_id}/metrics': {
979
+ '/v1/handlers/{id}/metrics': {
980
980
  parameters: {
981
981
  query?: never;
982
982
  header?: never;
@@ -1196,7 +1196,7 @@ interface paths {
1196
1196
  patch?: never;
1197
1197
  trace?: never;
1198
1198
  };
1199
- '/v1/integrations/sentry/{integration_id}': {
1199
+ '/v1/integrations/sentry/{id}': {
1200
1200
  parameters: {
1201
1201
  query?: never;
1202
1202
  header?: never;
@@ -1329,7 +1329,7 @@ interface paths {
1329
1329
  patch?: never;
1330
1330
  trace?: never;
1331
1331
  };
1332
- '/v1/reviews/{review_id}': {
1332
+ '/v1/reviews/{id}': {
1333
1333
  parameters: {
1334
1334
  query?: never;
1335
1335
  header?: never;
@@ -1436,7 +1436,7 @@ interface paths {
1436
1436
  * turn, waiting for one. 400 when `conversation.interactive` is false
1437
1437
  * and there is no prompt, or when `budget.session` exceeds the
1438
1438
  * organization's per-session ceiling. To start a session from a saved
1439
- * agent, use POST /v1/agents/{agent_id}/sessions.
1439
+ * agent, use POST /v1/agents/{id}/sessions.
1440
1440
  */
1441
1441
  post: operations['start_session'];
1442
1442
  delete?: never;
@@ -1479,7 +1479,7 @@ interface paths {
1479
1479
  patch?: never;
1480
1480
  trace?: never;
1481
1481
  };
1482
- '/v1/sessions/{session_id}': {
1482
+ '/v1/sessions/{id}': {
1483
1483
  parameters: {
1484
1484
  query?: never;
1485
1485
  header?: never;
@@ -1518,7 +1518,7 @@ interface paths {
1518
1518
  patch?: never;
1519
1519
  trace?: never;
1520
1520
  };
1521
- '/v1/sessions/{session_id}/analytics': {
1521
+ '/v1/sessions/{id}/analytics': {
1522
1522
  parameters: {
1523
1523
  query?: never;
1524
1524
  header?: never;
@@ -1546,7 +1546,7 @@ interface paths {
1546
1546
  patch?: never;
1547
1547
  trace?: never;
1548
1548
  };
1549
- '/v1/sessions/{session_id}/diff': {
1549
+ '/v1/sessions/{id}/diff': {
1550
1550
  parameters: {
1551
1551
  query?: never;
1552
1552
  header?: never;
@@ -1572,7 +1572,7 @@ interface paths {
1572
1572
  patch?: never;
1573
1573
  trace?: never;
1574
1574
  };
1575
- '/v1/sessions/{session_id}/download': {
1575
+ '/v1/sessions/{id}/download': {
1576
1576
  parameters: {
1577
1577
  query?: never;
1578
1578
  header?: never;
@@ -1601,7 +1601,7 @@ interface paths {
1601
1601
  patch?: never;
1602
1602
  trace?: never;
1603
1603
  };
1604
- '/v1/sessions/{session_id}/git': {
1604
+ '/v1/sessions/{id}/git': {
1605
1605
  parameters: {
1606
1606
  query?: never;
1607
1607
  header?: never;
@@ -1624,7 +1624,7 @@ interface paths {
1624
1624
  patch?: never;
1625
1625
  trace?: never;
1626
1626
  };
1627
- '/v1/sessions/{session_id}/messages': {
1627
+ '/v1/sessions/{id}/messages': {
1628
1628
  parameters: {
1629
1629
  query?: never;
1630
1630
  header?: never;
@@ -1648,7 +1648,7 @@ interface paths {
1648
1648
  patch?: never;
1649
1649
  trace?: never;
1650
1650
  };
1651
- '/v1/sessions/{session_id}/metrics': {
1651
+ '/v1/sessions/{id}/metrics': {
1652
1652
  parameters: {
1653
1653
  query?: never;
1654
1654
  header?: never;
@@ -1671,7 +1671,7 @@ interface paths {
1671
1671
  patch?: never;
1672
1672
  trace?: never;
1673
1673
  };
1674
- '/v1/sessions/{session_id}/records': {
1674
+ '/v1/sessions/{id}/records': {
1675
1675
  parameters: {
1676
1676
  query?: never;
1677
1677
  header?: never;
@@ -1697,7 +1697,7 @@ interface paths {
1697
1697
  patch?: never;
1698
1698
  trace?: never;
1699
1699
  };
1700
- '/v1/sessions/{session_id}/stop': {
1700
+ '/v1/sessions/{id}/stop': {
1701
1701
  parameters: {
1702
1702
  query?: never;
1703
1703
  header?: never;
@@ -1721,7 +1721,7 @@ interface paths {
1721
1721
  patch?: never;
1722
1722
  trace?: never;
1723
1723
  };
1724
- '/v1/sessions/{session_id}/stream-ticket': {
1724
+ '/v1/sessions/{id}/stream-ticket': {
1725
1725
  parameters: {
1726
1726
  query?: never;
1727
1727
  header?: never;
@@ -1738,7 +1738,7 @@ interface paths {
1738
1738
  patch?: never;
1739
1739
  trace?: never;
1740
1740
  };
1741
- '/v1/sessions/{session_id}/transcript': {
1741
+ '/v1/sessions/{id}/transcript': {
1742
1742
  parameters: {
1743
1743
  query?: never;
1744
1744
  header?: never;
@@ -1764,7 +1764,7 @@ interface paths {
1764
1764
  patch?: never;
1765
1765
  trace?: never;
1766
1766
  };
1767
- '/v1/sessions/{session_id}/turns': {
1767
+ '/v1/sessions/{id}/turns': {
1768
1768
  parameters: {
1769
1769
  query?: never;
1770
1770
  header?: never;
@@ -1788,7 +1788,7 @@ interface paths {
1788
1788
  patch?: never;
1789
1789
  trace?: never;
1790
1790
  };
1791
- '/v1/sessions/{session_id}/turns/{turn_id}': {
1791
+ '/v1/sessions/{session_id}/turns/{id}': {
1792
1792
  parameters: {
1793
1793
  query?: never;
1794
1794
  header?: never;
@@ -1869,7 +1869,7 @@ interface paths {
1869
1869
  patch?: never;
1870
1870
  trace?: never;
1871
1871
  };
1872
- '/v1/templates/{template_id}': {
1872
+ '/v1/templates/{id}': {
1873
1873
  parameters: {
1874
1874
  query?: never;
1875
1875
  header?: never;
@@ -2023,7 +2023,7 @@ interface paths {
2023
2023
  patch?: never;
2024
2024
  trace?: never;
2025
2025
  };
2026
- '/v1/user/tokens/{token_id}': {
2026
+ '/v1/user/tokens/{id}': {
2027
2027
  parameters: {
2028
2028
  query?: never;
2029
2029
  header?: never;
@@ -2057,7 +2057,7 @@ interface paths {
2057
2057
  patch?: never;
2058
2058
  trace?: never;
2059
2059
  };
2060
- '/v1/vm-executions/{vm_execution_id}': {
2060
+ '/v1/vm-executions/{id}': {
2061
2061
  parameters: {
2062
2062
  query?: never;
2063
2063
  header?: never;
@@ -2074,7 +2074,7 @@ interface paths {
2074
2074
  patch?: never;
2075
2075
  trace?: never;
2076
2076
  };
2077
- '/v1/vm-executions/{vm_execution_id}/stream-ticket': {
2077
+ '/v1/vm-executions/{id}/stream-ticket': {
2078
2078
  parameters: {
2079
2079
  query?: never;
2080
2080
  header?: never;
@@ -2113,7 +2113,7 @@ interface paths {
2113
2113
  patch?: never;
2114
2114
  trace?: never;
2115
2115
  };
2116
- '/v1/vm-images/{image_id}': {
2116
+ '/v1/vm-images/{id}': {
2117
2117
  parameters: {
2118
2118
  query?: never;
2119
2119
  header?: never;
@@ -2155,7 +2155,7 @@ interface paths {
2155
2155
  patch?: never;
2156
2156
  trace?: never;
2157
2157
  };
2158
- '/v1/vms/{vm_id}': {
2158
+ '/v1/vms/{id}': {
2159
2159
  parameters: {
2160
2160
  query?: never;
2161
2161
  header?: never;
@@ -2175,7 +2175,7 @@ interface paths {
2175
2175
  patch?: never;
2176
2176
  trace?: never;
2177
2177
  };
2178
- '/v1/vms/{vm_id}/metrics': {
2178
+ '/v1/vms/{id}/metrics': {
2179
2179
  parameters: {
2180
2180
  query?: never;
2181
2181
  header?: never;
@@ -2249,7 +2249,7 @@ interface paths {
2249
2249
  patch?: never;
2250
2250
  trace?: never;
2251
2251
  };
2252
- '/v1/webhooks/deliveries/{delivery_id}': {
2252
+ '/v1/webhooks/deliveries/{id}': {
2253
2253
  parameters: {
2254
2254
  query?: never;
2255
2255
  header?: never;
@@ -2272,7 +2272,7 @@ interface paths {
2272
2272
  patch?: never;
2273
2273
  trace?: never;
2274
2274
  };
2275
- '/v1/webhooks/{webhook_id}': {
2275
+ '/v1/webhooks/{id}': {
2276
2276
  parameters: {
2277
2277
  query?: never;
2278
2278
  header?: never;
@@ -2307,7 +2307,7 @@ interface paths {
2307
2307
  patch?: never;
2308
2308
  trace?: never;
2309
2309
  };
2310
- '/v1/webhooks/{webhook_id}/ping': {
2310
+ '/v1/webhooks/{id}/ping': {
2311
2311
  parameters: {
2312
2312
  query?: never;
2313
2313
  header?: never;
@@ -2378,14 +2378,14 @@ interface components {
2378
2378
  exhausted: boolean;
2379
2379
  /** Fraction Used */
2380
2380
  fraction_used: number;
2381
- /** Limit Usd */
2382
- limit_usd: number;
2383
- /** Platform Max Usd */
2384
- platform_max_usd: number;
2385
- /** Remaining Usd */
2386
- remaining_usd: number;
2387
- /** Spent Usd */
2388
- spent_usd: number;
2381
+ /** Limit */
2382
+ limit: number;
2383
+ /** Platform Max */
2384
+ platform_max: number;
2385
+ /** Remaining */
2386
+ remaining: number;
2387
+ /** Spent */
2388
+ spent: number;
2389
2389
  /**
2390
2390
  * Window Days
2391
2391
  * @description Trailing window length: 1, 7 or 28 days.
@@ -2519,6 +2519,11 @@ interface components {
2519
2519
  * @description The open pull request that adds this agent's file. Non-null means the agent is not live yet: it starts running once the pull request merges and syncs.
2520
2520
  */
2521
2521
  pending_pull_request_url?: string | null;
2522
+ /**
2523
+ * Raw Yaml
2524
+ * @description The agent's YAML: the file as written for agents defined in a repository, or the definition rendered as YAML for agents managed through the API. A failed sync keeps the last valid YAML.
2525
+ */
2526
+ raw_yaml: string;
2522
2527
  /**
2523
2528
  * Sha
2524
2529
  * @description The definition's content identity: the version fingerprint frozen onto each session that runs it.
@@ -2655,25 +2660,18 @@ interface components {
2655
2660
  };
2656
2661
  /**
2657
2662
  * AgentSessionSample
2658
- * @description One finished session of the agent, reduced to the three figures
2659
- * the distributions are drawn from.
2663
+ * @description One finished session of the agent: its duration, cost, and tokens.
2660
2664
  */
2661
2665
  AgentSessionSample: {
2662
- /**
2663
- * Cost
2664
- * @description What the session cost, in millicents.
2665
- */
2666
- cost: number;
2666
+ /** @description What the session cost. */
2667
+ cost: components['schemas']['Cost'];
2667
2668
  /**
2668
2669
  * Duration Seconds
2669
2670
  * @description Wall-clock seconds from the session's creation to its last update.
2670
2671
  */
2671
2672
  duration_seconds: number;
2672
- /**
2673
- * Tokens Total
2674
- * @description Tokens the session consumed across every lane, including prompt-cache reads and writes.
2675
- */
2676
- tokens_total: number;
2673
+ /** @description The tokens the session used. */
2674
+ tokens: components['schemas']['Tokens'];
2677
2675
  };
2678
2676
  /**
2679
2677
  * AgentTemplate
@@ -2765,12 +2763,12 @@ interface components {
2765
2763
  * Cta Label
2766
2764
  * @description The label for the call-to-action link.
2767
2765
  */
2768
- cta_label?: string | null;
2766
+ cta_label: string;
2769
2767
  /**
2770
2768
  * Cta Url
2771
- * @description An optional call-to-action link — where this alert should send the reader.
2769
+ * @description Where this alert sends the reader.
2772
2770
  */
2773
- cta_url?: string | null;
2771
+ cta_url: string;
2774
2772
  /**
2775
2773
  * Id
2776
2774
  * @description The alert's unique identifier.
@@ -3128,10 +3126,10 @@ interface components {
3128
3126
  /** AutoRechargeSettings */
3129
3127
  AutoRechargeSettings: {
3130
3128
  /**
3131
- * Amount Cents
3129
+ * Amount
3132
3130
  * @description Credit bought on each recharge, before the platform fee.
3133
3131
  */
3134
- amount_cents: number;
3132
+ amount: number;
3135
3133
  /** @description The saved card, or null when no card is saved. */
3136
3134
  card: components['schemas']['AutoRechargeCard'] | null;
3137
3135
  /** Consecutive Failures */
@@ -3143,22 +3141,22 @@ interface components {
3143
3141
  enabled: boolean;
3144
3142
  /** Last Attempted At */
3145
3143
  last_attempted_at: string | null;
3146
- /** Min Threshold Cents */
3147
- min_threshold_cents: number;
3148
- /** Threshold Cents */
3149
- threshold_cents: number;
3144
+ /** Min Threshold */
3145
+ min_threshold: number;
3146
+ /** Threshold */
3147
+ threshold: number;
3150
3148
  };
3151
3149
  /** AutoRechargeUpdate */
3152
3150
  AutoRechargeUpdate: {
3153
- /** Amount Cents */
3154
- amount_cents: number;
3151
+ /** Amount */
3152
+ amount: number;
3155
3153
  /**
3156
3154
  * Enabled
3157
3155
  * @description Explicit opt-in; enabling requires a saved card.
3158
3156
  */
3159
3157
  enabled: boolean;
3160
- /** Threshold Cents */
3161
- threshold_cents: number;
3158
+ /** Threshold */
3159
+ threshold: number;
3162
3160
  };
3163
3161
  /** BillingCheckout */
3164
3162
  BillingCheckout: {
@@ -3181,6 +3179,55 @@ interface components {
3181
3179
  /** Period Start */
3182
3180
  period_start: string;
3183
3181
  };
3182
+ /**
3183
+ * BillingSource
3184
+ * @enum {string}
3185
+ */
3186
+ BillingSource: 'platform' | 'claude_subscription' | 'codex_subscription' | 'unknown';
3187
+ /**
3188
+ * BillingSourceUsage
3189
+ * @description Usage for one billing source.
3190
+ *
3191
+ * Token cost is priced at the recorded Ellipsis rate, not the provider's
3192
+ * invoice. Missing measurements are reported as pending or unresolved
3193
+ * requests, never as free ones. Amounts are in millicents. charged includes
3194
+ * compute charges and token_charged does not.
3195
+ */
3196
+ BillingSourceUsage: {
3197
+ billing_source: components['schemas']['BillingSource'];
3198
+ /**
3199
+ * Charged
3200
+ * @default 0
3201
+ */
3202
+ charged: number;
3203
+ /**
3204
+ * Pending Requests
3205
+ * @default 0
3206
+ */
3207
+ pending_requests: number;
3208
+ /**
3209
+ * Requests
3210
+ * @default 0
3211
+ */
3212
+ requests: number;
3213
+ /**
3214
+ * Token Charged
3215
+ * @default 0
3216
+ */
3217
+ token_charged: number;
3218
+ /** Token Cost */
3219
+ token_cost?: number | null;
3220
+ /**
3221
+ * Tokens
3222
+ * @default 0
3223
+ */
3224
+ tokens: number;
3225
+ /**
3226
+ * Unresolved Requests
3227
+ * @default 0
3228
+ */
3229
+ unresolved_requests: number;
3230
+ };
3184
3231
  /** BillingStatus */
3185
3232
  BillingStatus: {
3186
3233
  /**
@@ -3191,15 +3238,15 @@ interface components {
3191
3238
  };
3192
3239
  /**
3193
3240
  * BudgetAlertThresholds
3194
- * @description Independent dollar notification thresholds; null disables a window.
3241
+ * @description Independent notification thresholds in millicents. Null disables a window.
3195
3242
  */
3196
3243
  BudgetAlertThresholds: {
3197
- /** Usd 1D */
3198
- usd_1d?: number | null;
3199
- /** Usd 28D */
3200
- usd_28d?: number | null;
3201
- /** Usd 7D */
3202
- usd_7d?: number | null;
3244
+ /** Day */
3245
+ day?: number | null;
3246
+ /** Month */
3247
+ month?: number | null;
3248
+ /** Week */
3249
+ week?: number | null;
3203
3250
  };
3204
3251
  /**
3205
3252
  * BudgetAlerts
@@ -3212,12 +3259,12 @@ interface components {
3212
3259
  };
3213
3260
  /**
3214
3261
  * BudgetCeiling
3215
- * @description The organization's spend ceilings, in US dollars.
3262
+ * @description The organization's spend ceilings, in millicents.
3216
3263
  */
3217
3264
  BudgetCeiling: {
3218
3265
  /**
3219
3266
  * Session
3220
- * @description The most a single session may be budgeted, in US dollars. A session request or agent asking for more is refused with 400. Null means the platform ceiling applies.
3267
+ * @description The most a single session may be budgeted, in millicents, as a whole number of cents. A session request or agent asking for more is refused with 400. Null means the platform ceiling applies.
3221
3268
  */
3222
3269
  session?: number | null;
3223
3270
  };
@@ -3277,27 +3324,27 @@ interface components {
3277
3324
  };
3278
3325
  /**
3279
3326
  * BudgetLimits
3280
- * @description Spending ceilings over trailing 1, 7 and 28 days, in US dollars.
3327
+ * @description Spending ceilings over trailing 1, 7 and 28 days, in millicents. Each is at least 100,000 ($1) and a whole number of cents.
3281
3328
  */
3282
3329
  BudgetLimits: {
3283
- /** Usd 1D */
3284
- usd_1d: number;
3285
- /** Usd 28D */
3286
- usd_28d: number;
3287
- /** Usd 7D */
3288
- usd_7d: number;
3330
+ /** Day */
3331
+ day: number;
3332
+ /** Month */
3333
+ month: number;
3334
+ /** Week */
3335
+ week: number;
3289
3336
  };
3290
3337
  /**
3291
3338
  * BudgetOverrides
3292
- * @description Per-window overrides in US dollars. Null inherits the developer default.
3339
+ * @description Per-window overrides in millicents. Null inherits the developer default.
3293
3340
  */
3294
3341
  BudgetOverrides: {
3295
- /** Usd 1D */
3296
- usd_1d?: number | null;
3297
- /** Usd 28D */
3298
- usd_28d?: number | null;
3299
- /** Usd 7D */
3300
- usd_7d?: number | null;
3342
+ /** Day */
3343
+ day?: number | null;
3344
+ /** Month */
3345
+ month?: number | null;
3346
+ /** Week */
3347
+ week?: number | null;
3301
3348
  };
3302
3349
  /**
3303
3350
  * BudgetPolicy
@@ -3310,8 +3357,8 @@ interface components {
3310
3357
  */
3311
3358
  BudgetPolicy: {
3312
3359
  account: components['schemas']['BudgetLimits'];
3313
- /** Default Session Usd */
3314
- default_session_usd: number;
3360
+ /** Default Session */
3361
+ default_session: number;
3315
3362
  developer_defaults: components['schemas']['BudgetLimits'] | null;
3316
3363
  /** Developer Overrides */
3317
3364
  developer_overrides: {
@@ -3323,7 +3370,7 @@ interface components {
3323
3370
  * @description Prepaid credit and the actual trailing budgets enforced by the proxy.
3324
3371
  *
3325
3372
  * Budget windows roll continuously; they are not monthly credit renewals.
3326
- * Amounts preserve sub-cent precision and may be negative after overshoot.
3373
+ * Amounts are in millicents and may be negative after overshoot.
3327
3374
  * One admitted request can exceed a limit. Concurrent paid requests are bounded by
3328
3375
  * the account and per-session platform allowances.
3329
3376
  */
@@ -3334,8 +3381,8 @@ interface components {
3334
3381
  * Format: date-time
3335
3382
  */
3336
3383
  as_of: string;
3337
- /** Credit Balance Usd */
3338
- credit_balance_usd: number;
3384
+ /** Credit Balance */
3385
+ credit_balance: number;
3339
3386
  /** Credit Exhausted */
3340
3387
  credit_exhausted: boolean;
3341
3388
  developer_limits: components['schemas']['DeveloperBudgets'];
@@ -3354,13 +3401,16 @@ interface components {
3354
3401
  };
3355
3402
  /**
3356
3403
  * CheckRunAction
3357
- * @description What a completed check run did. `failed` covers the conclusions that
3358
- * mean the check did not pass on its own merits (`failure`, `timed_out`); a
3359
- * cancelled, skipped, neutral or stale check is not a failure and never
3360
- * fires (see FAILED_CHECK_RUN_CONCLUSIONS).
3404
+ * @description The state of a check run when GitHub reports it. A run created before it finishes fires its status, and `in_progress` is `started`. A finished run fires its conclusion, `success` is `passed` and `failure` is `failed`. Every other value is the GitHub word.
3405
+ * @enum {string}
3406
+ */
3407
+ CheckRunAction: 'requested' | 'queued' | 'waiting' | 'pending' | 'started' | 'passed' | 'failed' | 'timed_out' | 'cancelled' | 'skipped' | 'neutral' | 'action_required' | 'stale';
3408
+ /**
3409
+ * CheckSuiteAction
3410
+ * @description The conclusion of a finished check suite. `success` is `passed` and `failure` is `failed`. Every other value is the GitHub word.
3361
3411
  * @enum {string}
3362
3412
  */
3363
- CheckRunAction: 'failed';
3413
+ CheckSuiteAction: 'passed' | 'failed' | 'timed_out' | 'cancelled' | 'skipped' | 'neutral' | 'action_required' | 'stale' | 'startup_failure';
3364
3414
  /** ClaudeAssistantEvent */
3365
3415
  ClaudeAssistantEvent: {
3366
3416
  /** Error */
@@ -3798,6 +3848,10 @@ interface components {
3798
3848
  ellipsis: components['schemas']['CodeReviewIdentity'];
3799
3849
  /**
3800
3850
  * @default {
3851
+ * "comments": {
3852
+ * "max_per_review": 64,
3853
+ * "max_per_reviewer": 64
3854
+ * },
3801
3855
  * "on_fail": "comment",
3802
3856
  * "on_pass": "silent",
3803
3857
  * "summary": false
@@ -4901,23 +4955,23 @@ interface components {
4901
4955
  */
4902
4956
  ConfigSpendWindow: {
4903
4957
  /**
4904
- * Limit Usd
4905
- * @description The enforced configuration cap in US dollars: its own budget clamped to the platform maximum, or the maximum when unset. Account and developer limits also apply.
4958
+ * Limit
4959
+ * @description The enforced configuration cap in millicents. It is the configuration's own budget limited to the platform maximum, or the maximum when unset. Account and developer limits also apply.
4906
4960
  */
4907
- limit_usd: number;
4961
+ limit: number;
4908
4962
  /**
4909
- * Platform Max Usd
4910
- * @description The platform ceiling for this window, in US dollars.
4963
+ * Platform Max
4964
+ * @description The platform ceiling for this window, in millicents.
4911
4965
  */
4912
- platform_max_usd: number;
4966
+ platform_max: number;
4913
4967
  /**
4914
- * Spent Usd
4915
- * @description Recorded credit debits during the window across this configuration's sessions, in US dollars. Preserves sub-cent precision.
4968
+ * Spent
4969
+ * @description Recorded credit debits during the window across this configuration's sessions, in millicents.
4916
4970
  */
4917
- spent_usd: number;
4971
+ spent: number;
4918
4972
  /**
4919
4973
  * Window Days
4920
- * @description The trailing window, in days: 1, 7, or 28.
4974
+ * @description The trailing window in days, which is 1, 7, or 28.
4921
4975
  */
4922
4976
  window_days: number;
4923
4977
  };
@@ -4964,6 +5018,44 @@ interface components {
4964
5018
  */
4965
5019
  reviews: number;
4966
5020
  };
5021
+ /**
5022
+ * Cost
5023
+ * @description What something cost, in millicents.
5024
+ */
5025
+ Cost: {
5026
+ /**
5027
+ * Charged
5028
+ * @description What Ellipsis charged to credit, in millicents. It is everything except subscription tokens, and it is what the budget caps.
5029
+ * @default 0
5030
+ */
5031
+ charged: number;
5032
+ /**
5033
+ * Cpu
5034
+ * @description CPU spend in millicents.
5035
+ * @default 0
5036
+ */
5037
+ cpu: number;
5038
+ /**
5039
+ * Fee
5040
+ * @description Platform fee in millicents.
5041
+ * @default 0
5042
+ */
5043
+ fee: number;
5044
+ /** @description LLM token cost, in total and by model, split by who paid. */
5045
+ llm: components['schemas']['LlmCost'];
5046
+ /**
5047
+ * Memory
5048
+ * @description Memory spend in millicents.
5049
+ * @default 0
5050
+ */
5051
+ memory: number;
5052
+ /**
5053
+ * Total
5054
+ * @description Everything it cost, whoever paid, in millicents. It is the sum of llm.all.total, cpu, memory, and fee.
5055
+ * @default 0
5056
+ */
5057
+ total: number;
5058
+ };
4967
5059
  /**
4968
5060
  * CreateAgentRequest
4969
5061
  * @description Parameters for creating an agent.
@@ -5006,10 +5098,10 @@ interface components {
5006
5098
  */
5007
5099
  CreditGrant: {
5008
5100
  /**
5009
- * Amount Cents
5010
- * @description Granted credit; negative for a reversal.
5101
+ * Amount
5102
+ * @description Granted credit. It is negative for a reversal.
5011
5103
  */
5012
- amount_cents: number;
5104
+ amount: number;
5013
5105
  category: components['schemas']['CreditGrantCategory'];
5014
5106
  /**
5015
5107
  * Created At
@@ -5040,10 +5132,10 @@ interface components {
5040
5132
  /** Grants */
5041
5133
  grants: components['schemas']['CreditGrant'][];
5042
5134
  /**
5043
- * Total Granted Cents
5135
+ * Total Granted
5044
5136
  * @description Sum of grants before usage. Read the current balance from /v1/account/budget.
5045
5137
  */
5046
- total_granted_cents: number;
5138
+ total_granted: number;
5047
5139
  };
5048
5140
  /** CreditPurchaseOptions */
5049
5141
  CreditPurchaseOptions: {
@@ -5052,31 +5144,31 @@ interface components {
5052
5144
  * @description Platform fee added to purchased credit.
5053
5145
  */
5054
5146
  fee_fraction: number;
5055
- /** Max Amount Cents */
5056
- max_amount_cents: number;
5057
- /** Min Amount Cents */
5058
- min_amount_cents: number;
5147
+ /** Max Amount */
5148
+ max_amount: number;
5149
+ /** Min Amount */
5150
+ min_amount: number;
5059
5151
  /**
5060
- * Preset Amounts Cents
5152
+ * Preset Amounts
5061
5153
  * @description Suggested purchase amounts.
5062
5154
  */
5063
- preset_amounts_cents: number[];
5155
+ preset_amounts: number[];
5064
5156
  };
5065
5157
  /** CreditPurchaseReceipt */
5066
5158
  CreditPurchaseReceipt: {
5067
5159
  /**
5068
- * Amount Paid Cents
5160
+ * Amount Paid
5069
5161
  * @description Amount collected for a completed credit purchase, including the platform fee.
5070
5162
  */
5071
- amount_paid_cents: number;
5163
+ amount_paid: number;
5072
5164
  };
5073
5165
  /** CreditPurchaseRequest */
5074
5166
  CreditPurchaseRequest: {
5075
5167
  /**
5076
- * Amount Cents
5077
- * @description Credit to buy. The platform fee is added at checkout.
5168
+ * Amount
5169
+ * @description Credit to buy, in millicents, as a whole number of cents. The platform fee is added at checkout.
5078
5170
  */
5079
- amount_cents: number;
5171
+ amount: number;
5080
5172
  };
5081
5173
  /**
5082
5174
  * CronTrigger
@@ -5190,10 +5282,10 @@ interface components {
5190
5282
  };
5191
5283
  /** DeveloperBudgetDefaultWindow */
5192
5284
  DeveloperBudgetDefaultWindow: {
5193
- /** Limit Usd */
5194
- limit_usd: number;
5195
- /** Platform Max Usd */
5196
- platform_max_usd: number;
5285
+ /** Limit */
5286
+ limit: number;
5287
+ /** Platform Max */
5288
+ platform_max: number;
5197
5289
  /** Window Days */
5198
5290
  window_days: number;
5199
5291
  };
@@ -5201,14 +5293,14 @@ interface components {
5201
5293
  DeveloperBudgetWindow: {
5202
5294
  /** Exhausted */
5203
5295
  exhausted: boolean;
5204
- /** Limit Usd */
5205
- limit_usd: number | null;
5206
- /** Override Usd */
5207
- override_usd: number | null;
5208
- /** Remaining Usd */
5209
- remaining_usd: number | null;
5210
- /** Spent Usd */
5211
- spent_usd: number;
5296
+ /** Limit */
5297
+ limit: number | null;
5298
+ /** Override */
5299
+ override: number | null;
5300
+ /** Remaining */
5301
+ remaining: number | null;
5302
+ /** Spent */
5303
+ spent: number;
5212
5304
  /** Window Days */
5213
5305
  window_days: number;
5214
5306
  };
@@ -5225,30 +5317,25 @@ interface components {
5225
5317
  enabled: boolean;
5226
5318
  };
5227
5319
  /**
5228
- * DeveloperUsageBreakdown
5229
- * @description Cost for one developer (a distinct attribution_type + attribution_id)
5230
- * over the whole period, split into the four billed categories (millicents).
5231
- * Agent sessions only.
5320
+ * DeveloperUsage
5321
+ * @description One developer's agent sessions over the period. A developer is a distinct attribution_type and attribution_id.
5232
5322
  */
5233
- DeveloperUsageBreakdown: {
5323
+ DeveloperUsage: {
5234
5324
  /** Attribution Id */
5235
5325
  attribution_id: string | null;
5236
5326
  /** Attribution Login */
5237
5327
  attribution_login: string | null;
5238
5328
  /** Attribution Type */
5239
5329
  attribution_type: string | null;
5240
- /** Cost Cpu Millicents */
5241
- cost_cpu_millicents: number;
5242
- /** Cost Fee Millicents */
5243
- cost_fee_millicents: number;
5244
- /** Cost Memory Millicents */
5245
- cost_memory_millicents: number;
5246
- /** Cost Tokens Millicents */
5247
- cost_tokens_millicents: number;
5248
- /** Runs */
5330
+ /** @description What the developer's agent sessions cost. */
5331
+ cost: components['schemas']['Cost'];
5332
+ /**
5333
+ * Runs
5334
+ * @description Agent sessions the developer started.
5335
+ */
5249
5336
  runs: number;
5250
- /** Tokens */
5251
- tokens: number;
5337
+ /** @description The tokens the developer's agent sessions used. */
5338
+ tokens: components['schemas']['Tokens'];
5252
5339
  };
5253
5340
  /**
5254
5341
  * Duration
@@ -5398,6 +5485,11 @@ interface components {
5398
5485
  * @description The environment's customer-unique addressable name; usable anywhere an environment is referenced, interchangeably with the id.
5399
5486
  */
5400
5487
  name: string;
5488
+ /**
5489
+ * Raw Yaml
5490
+ * @description The environment's YAML: the file as written for environments defined in a repository, or the definition rendered as YAML for environments managed through the API. A failed sync keeps the last valid YAML.
5491
+ */
5492
+ raw_yaml: string;
5401
5493
  /**
5402
5494
  * Sha
5403
5495
  * @description The environment's content identity fingerprint.
@@ -6033,54 +6125,6 @@ interface components {
6033
6125
  FeeScheduleResponse: {
6034
6126
  fee_schedule: components['schemas']['PublicFeeSchedule'];
6035
6127
  };
6036
- /**
6037
- * FundingSource
6038
- * @enum {string}
6039
- */
6040
- FundingSource: 'ellipsis' | 'claude_subscription' | 'codex_subscription' | 'unknown';
6041
- /**
6042
- * FundingSourceUsage
6043
- * @description Actual credit debits and separately rated token usage for one funding source.
6044
- *
6045
- * Rated usage is our estimate at the recorded model rate, not an external
6046
- * provider invoice. Missing measurements are reported explicitly, not as free
6047
- * requests. Compute and carried-forward charges contribute to credit debits.
6048
- */
6049
- FundingSourceUsage: {
6050
- /**
6051
- * Charged Millicents
6052
- * @default 0
6053
- */
6054
- charged_millicents: number;
6055
- funding_source: components['schemas']['FundingSource'];
6056
- /**
6057
- * Pending Requests
6058
- * @default 0
6059
- */
6060
- pending_requests: number;
6061
- /** Rated Token Cost Millicents */
6062
- rated_token_cost_millicents?: number | null;
6063
- /**
6064
- * Requests
6065
- * @default 0
6066
- */
6067
- requests: number;
6068
- /**
6069
- * Token Charged Millicents
6070
- * @default 0
6071
- */
6072
- token_charged_millicents: number;
6073
- /**
6074
- * Tokens
6075
- * @default 0
6076
- */
6077
- tokens: number;
6078
- /**
6079
- * Unresolved Requests
6080
- * @default 0
6081
- */
6082
- unresolved_requests: number;
6083
- };
6084
6128
  /**
6085
6129
  * GetAnalyticsMetricsResponse
6086
6130
  * @description Organization-wide pull-request and review analytics, aggregated
@@ -6246,30 +6290,34 @@ interface components {
6246
6290
  };
6247
6291
  /** GetUsageOverTimeResponse */
6248
6292
  GetUsageOverTimeResponse: {
6249
- /** Agent By Model */
6250
- agent_by_model: components['schemas']['ModelUsageBreakdown'][];
6293
+ /** @description Cost and tokens of agent sessions only. */
6294
+ agent_sessions: components['schemas']['UsageTotals'];
6251
6295
  /** Billing Periods */
6252
6296
  billing_periods: components['schemas']['BillingPeriodOption'][];
6253
- /** By Funding Source */
6254
- by_funding_source?: components['schemas']['FundingSourceUsage'][];
6255
- /** By Model */
6256
- by_model: components['schemas']['ModelUsageBreakdown'][];
6257
- /** Daily */
6258
- daily: components['schemas']['UsageDailyPoint'][];
6259
- /** Developer Spend */
6260
- developer_spend: components['schemas']['DeveloperUsageBreakdown'][];
6297
+ /** By Billing Source */
6298
+ by_billing_source?: components['schemas']['BillingSourceUsage'][];
6299
+ /**
6300
+ * By Day
6301
+ * @description One entry per day of the period, oldest first, with zeros for days without usage.
6302
+ */
6303
+ by_day: components['schemas']['UsageDay'][];
6304
+ /**
6305
+ * By Developer
6306
+ * @description Agent session cost and tokens for each developer, highest cost first.
6307
+ */
6308
+ by_developer: components['schemas']['DeveloperUsage'][];
6309
+ /** @description What the period's usage has cost so far. */
6310
+ cost: components['schemas']['Cost'];
6261
6311
  /** Period End */
6262
6312
  period_end: string;
6263
6313
  /** Period Start */
6264
6314
  period_start: string;
6265
- /** Prior Total Cost Millicents */
6266
- prior_total_cost_millicents: number;
6267
- /** Prior Total Tokens */
6268
- prior_total_tokens: number;
6269
- /** Total Cost Millicents */
6270
- total_cost_millicents: number;
6271
- /** Total Tokens */
6272
- total_tokens: number;
6315
+ /** @description What the prior period cost over the same number of elapsed days. */
6316
+ prior_cost: components['schemas']['Cost'];
6317
+ /** @description The tokens the prior period used over the same number of elapsed days. */
6318
+ prior_tokens: components['schemas']['Tokens'];
6319
+ /** @description The tokens used in the period so far. */
6320
+ tokens: components['schemas']['Tokens'];
6273
6321
  };
6274
6322
  'GithubAccountFilter-Input': {
6275
6323
  /**
@@ -6392,6 +6440,30 @@ interface components {
6392
6440
  /** Url */
6393
6441
  url: string;
6394
6442
  };
6443
+ /** GithubCheckSuiteEvent */
6444
+ GithubCheckSuiteEvent: {
6445
+ action: components['schemas']['CheckSuiteAction'];
6446
+ actor: components['schemas']['SessionEventActor'] | null;
6447
+ /** App */
6448
+ app: string | null;
6449
+ /** Branch */
6450
+ branch: string | null;
6451
+ /** Conclusion */
6452
+ conclusion: string | null;
6453
+ /** Head Sha */
6454
+ head_sha: string;
6455
+ /** Pull Request Number */
6456
+ pull_request_number: number | null;
6457
+ /** Repository */
6458
+ repository: string;
6459
+ /**
6460
+ * @description discriminator enum property added by openapi-typescript
6461
+ * @enum {string}
6462
+ */
6463
+ type: 'github.check_suite';
6464
+ /** Url */
6465
+ url: string;
6466
+ };
6395
6467
  /** GithubConfig */
6396
6468
  GithubConfig: {
6397
6469
  ellipsis: components['schemas']['GithubConfigEllipsis'];
@@ -6640,8 +6712,8 @@ interface components {
6640
6712
  *
6641
6713
  * By default the token carries the installation's full permissions on all of
6642
6714
  * the installation's repositories. `permissions` narrows what it may do:
6643
- * the string `read_only` grants read access to contents, issues, metadata and
6644
- * pull requests; a map requests explicit levels per GitHub App permission
6715
+ * the string `read_only` grants read access to every scope the installation
6716
+ * granted; a map requests explicit levels per GitHub App permission
6645
6717
  * scope (e.g. `{contents: read, pull_requests: write}`) and may never exceed
6646
6718
  * what the installation granted. `repositories` scopes the token to exactly
6647
6719
  * the listed repos, by name (they must belong to the installation).
@@ -6666,8 +6738,8 @@ interface components {
6666
6738
  *
6667
6739
  * By default the token carries the installation's full permissions on all of
6668
6740
  * the installation's repositories. `permissions` narrows what it may do:
6669
- * the string `read_only` grants read access to contents, issues, metadata and
6670
- * pull requests; a map requests explicit levels per GitHub App permission
6741
+ * the string `read_only` grants read access to every scope the installation
6742
+ * granted; a map requests explicit levels per GitHub App permission
6671
6743
  * scope (e.g. `{contents: read, pull_requests: write}`) and may never exceed
6672
6744
  * what the installation granted. `repositories` scopes the token to exactly
6673
6745
  * the listed repos, by name (they must belong to the installation).
@@ -6835,6 +6907,30 @@ interface components {
6835
6907
  /** Repo Id */
6836
6908
  repo_id: number;
6837
6909
  };
6910
+ /** GithubStatusEvent */
6911
+ GithubStatusEvent: {
6912
+ action: components['schemas']['StatusAction'];
6913
+ actor: components['schemas']['SessionEventActor'] | null;
6914
+ /** Branch */
6915
+ branch: string | null;
6916
+ /** Context */
6917
+ context: string;
6918
+ /** Head Sha */
6919
+ head_sha: string;
6920
+ /** Pull Request Number */
6921
+ pull_request_number: number | null;
6922
+ /** Repository */
6923
+ repository: string;
6924
+ /** State */
6925
+ state: string;
6926
+ /**
6927
+ * @description discriminator enum property added by openapi-typescript
6928
+ * @enum {string}
6929
+ */
6930
+ type: 'github.status';
6931
+ /** Url */
6932
+ url: string;
6933
+ };
6838
6934
  /**
6839
6935
  * GithubUser
6840
6936
  * @description This is a full user account. It's the most amount of info we need to represent a GitHub user.
@@ -6928,6 +7024,32 @@ interface components {
6928
7024
  /** User View Type */
6929
7025
  user_view_type?: string | null;
6930
7026
  };
7027
+ /** GithubWorkflowRunEvent */
7028
+ GithubWorkflowRunEvent: {
7029
+ action: components['schemas']['WorkflowRunAction'];
7030
+ actor: components['schemas']['SessionEventActor'] | null;
7031
+ /** Branch */
7032
+ branch: string | null;
7033
+ /** Conclusion */
7034
+ conclusion: string | null;
7035
+ /** Head Sha */
7036
+ head_sha: string;
7037
+ /** Name */
7038
+ name: string;
7039
+ /** Pull Request Number */
7040
+ pull_request_number: number | null;
7041
+ /** Repository */
7042
+ repository: string;
7043
+ /** Run Number */
7044
+ run_number: number;
7045
+ /**
7046
+ * @description discriminator enum property added by openapi-typescript
7047
+ * @enum {string}
7048
+ */
7049
+ type: 'github.workflow_run';
7050
+ /** Url */
7051
+ url: string;
7052
+ };
6931
7053
  /** HTTPValidationError */
6932
7054
  HTTPValidationError: {
6933
7055
  /** Detail */
@@ -6939,11 +7061,8 @@ interface components {
6939
7061
  * @description Session counts and spend attributed to one saved handler.
6940
7062
  */
6941
7063
  HandlerMetricsResponse: {
6942
- /**
6943
- * Cost
6944
- * @description Accumulated cost of the selected sessions in millicents (100,000 per US dollar), including LLM, CPU, memory, and fees.
6945
- */
6946
- cost: number;
7064
+ /** @description What the selected sessions cost together. */
7065
+ cost: components['schemas']['Cost'];
6947
7066
  /**
6948
7067
  * End
6949
7068
  * @description Exclusive session creation-time bound, or null for no upper bound.
@@ -7626,6 +7745,49 @@ interface components {
7626
7745
  /** User Tokens */
7627
7746
  user_tokens: components['schemas']['UserTokenApi'][];
7628
7747
  };
7748
+ /**
7749
+ * LlmCost
7750
+ * @description What LLM tokens cost, in total and by model.
7751
+ */
7752
+ LlmCost: {
7753
+ /** @description Token cost across every model. */
7754
+ all: components['schemas']['LlmCostSplit'];
7755
+ /**
7756
+ * By Model
7757
+ * @description Token cost for each model that used tokens.
7758
+ */
7759
+ by_model: components['schemas']['ModelLlmCostSplit'][];
7760
+ };
7761
+ /**
7762
+ * LlmCostSplit
7763
+ * @description What LLM tokens cost, in millicents, split by who paid (Ellipsis credit or the user's own subscription).
7764
+ */
7765
+ LlmCostSplit: {
7766
+ /**
7767
+ * Claude Subscription
7768
+ * @description Token cost paid by a Claude subscription, at Ellipsis rates, in millicents.
7769
+ * @default 0
7770
+ */
7771
+ claude_subscription: number;
7772
+ /**
7773
+ * Codex Subscription
7774
+ * @description Token cost paid by a Codex subscription, at Ellipsis rates, in millicents.
7775
+ * @default 0
7776
+ */
7777
+ codex_subscription: number;
7778
+ /**
7779
+ * Platform
7780
+ * @description Token cost charged to Ellipsis credit, in millicents.
7781
+ * @default 0
7782
+ */
7783
+ platform: number;
7784
+ /**
7785
+ * Total
7786
+ * @description All token cost, in millicents. It is the sum of platform, claude_subscription, and codex_subscription.
7787
+ * @default 0
7788
+ */
7789
+ total: number;
7790
+ };
7629
7791
  /**
7630
7792
  * McpRemoteServer
7631
7793
  * @description A bring-your-own remote MCP server: the harness talks HTTP to `url`.
@@ -8088,6 +8250,41 @@ interface components {
8088
8250
  */
8089
8251
  reasoning_efforts?: (components['schemas']['EffortLevel'] | components['schemas']['CodexEffortLevel'])[];
8090
8252
  };
8253
+ /**
8254
+ * ModelLlmCostSplit
8255
+ * @description What one model's tokens cost, in millicents, split by who paid.
8256
+ */
8257
+ ModelLlmCostSplit: {
8258
+ /**
8259
+ * Claude Subscription
8260
+ * @description Token cost paid by a Claude subscription, at Ellipsis rates, in millicents.
8261
+ * @default 0
8262
+ */
8263
+ claude_subscription: number;
8264
+ /**
8265
+ * Codex Subscription
8266
+ * @description Token cost paid by a Codex subscription, at Ellipsis rates, in millicents.
8267
+ * @default 0
8268
+ */
8269
+ codex_subscription: number;
8270
+ /**
8271
+ * Model
8272
+ * @description The model that used these tokens.
8273
+ */
8274
+ model: string;
8275
+ /**
8276
+ * Platform
8277
+ * @description Token cost charged to Ellipsis credit, in millicents.
8278
+ * @default 0
8279
+ */
8280
+ platform: number;
8281
+ /**
8282
+ * Total
8283
+ * @description All token cost, in millicents. It is the sum of platform, claude_subscription, and codex_subscription.
8284
+ * @default 0
8285
+ */
8286
+ total: number;
8287
+ };
8091
8288
  /**
8092
8289
  * ModelManufacturer
8093
8290
  * @description Who BUILT a model. Never who serves it.
@@ -8095,7 +8292,6 @@ interface components {
8095
8292
  * Serving path is irrelevant here. Anthropic built every Claude model, so all of
8096
8293
  * them are ANTHROPIC even though OpenRouter is what actually serves them.
8097
8294
  * Likewise the `gpt-5.6-*` rows are OPENAI (OpenAI's models, resold to us by
8098
- * OpenRouter), and GLM is ZAI (Z.ai's model, served by DeepInfra via
8099
8295
  * OpenRouter).
8100
8296
  *
8101
8297
  * So this is deliberately NOT derived from `EgressRoute.provider`: routing is an
@@ -8107,56 +8303,60 @@ interface components {
8107
8303
  * model.
8108
8304
  * @enum {string}
8109
8305
  */
8110
- ModelManufacturer: 'anthropic' | 'openai' | 'zai' | 'minimax' | 'moonshot';
8306
+ ModelManufacturer: 'anthropic' | 'openai';
8111
8307
  /** ModelRateCardApi */
8112
8308
  ModelRateCardApi: {
8113
- /** Cache Read Millicents Per 1M Tokens */
8114
- cache_read_millicents_per_1m_tokens: number;
8115
- /** Cache Write 1H Millicents Per 1M Tokens */
8116
- cache_write_1h_millicents_per_1m_tokens: number;
8117
- /** Cache Write 5M Millicents Per 1M Tokens */
8118
- cache_write_5m_millicents_per_1m_tokens: number;
8119
- /** Input Millicents Per 1M Tokens */
8120
- input_millicents_per_1m_tokens: number;
8121
- /** Output Millicents Per 1M Tokens */
8122
- output_millicents_per_1m_tokens: number;
8309
+ /** Cache Read Per 1M Tokens */
8310
+ cache_read_per_1m_tokens: number;
8311
+ /** Cache Write 1H Per 1M Tokens */
8312
+ cache_write_1h_per_1m_tokens: number;
8313
+ /** Cache Write 5M Per 1M Tokens */
8314
+ cache_write_5m_per_1m_tokens: number;
8315
+ /** Input Per 1M Tokens */
8316
+ input_per_1m_tokens: number;
8317
+ /** Output Per 1M Tokens */
8318
+ output_per_1m_tokens: number;
8123
8319
  };
8124
8320
  /**
8125
- * ModelUsageBreakdown
8126
- * @description Usage and cost for one model over the whole period, split into the four
8127
- * billed categories.
8321
+ * ModelTokenCounts
8322
+ * @description Token counts for one model.
8128
8323
  */
8129
- ModelUsageBreakdown: {
8324
+ ModelTokenCounts: {
8130
8325
  /**
8131
- * Cost Cpu Millicents
8132
- * @description CPU cost, in millicents.
8326
+ * Cache Creation
8327
+ * @description Tokens written to the prompt cache.
8328
+ * @default 0
8133
8329
  */
8134
- cost_cpu_millicents: number;
8330
+ cache_creation: number;
8135
8331
  /**
8136
- * Cost Fee Millicents
8137
- * @description Platform fee, in millicents.
8332
+ * Cache Read
8333
+ * @description Tokens read from the prompt cache.
8334
+ * @default 0
8138
8335
  */
8139
- cost_fee_millicents: number;
8336
+ cache_read: number;
8140
8337
  /**
8141
- * Cost Memory Millicents
8142
- * @description Memory cost, in millicents.
8338
+ * Input
8339
+ * @description Input tokens used.
8340
+ * @default 0
8143
8341
  */
8144
- cost_memory_millicents: number;
8342
+ input: number;
8145
8343
  /**
8146
- * Cost Tokens Millicents
8147
- * @description LLM token cost, in millicents (1000 = $0.01).
8344
+ * Model
8345
+ * @description The model that used these tokens.
8148
8346
  */
8149
- cost_tokens_millicents: number;
8347
+ model: string;
8150
8348
  /**
8151
- * Model Id
8152
- * @description The model's identifier.
8349
+ * Output
8350
+ * @description Output tokens used.
8351
+ * @default 0
8153
8352
  */
8154
- model_id: string;
8353
+ output: number;
8155
8354
  /**
8156
- * Tokens
8157
- * @description All tokens used on this model over the period.
8355
+ * Total
8356
+ * @description All tokens used, including prompt cache reads and writes. Token cost is priced on this.
8357
+ * @default 0
8158
8358
  */
8159
- tokens: number;
8359
+ total: number;
8160
8360
  };
8161
8361
  /** ModelsListResponse */
8162
8362
  ModelsListResponse: {
@@ -8312,17 +8512,17 @@ interface components {
8312
8512
  PromptBlockedReason: 'mention_surface' | 'non_interactive' | 'harness_single_turn' | 'budget_exhausted' | 'closed';
8313
8513
  /**
8314
8514
  * PublicFeeSchedule
8315
- * @description Rates in US dollars; purchase_fee_fraction is a fraction, e.g. 0.10.
8515
+ * @description Rates in millicents. purchase_fee_fraction is a fraction, for example 0.10.
8316
8516
  */
8317
8517
  PublicFeeSchedule: {
8318
- /** Cpu Usd Per Core Hour */
8319
- cpu_usd_per_core_hour: number;
8320
- /** Memory Usd Per Gib Hour */
8321
- memory_usd_per_gib_hour: number;
8518
+ /** Cpu Per Core Hour */
8519
+ cpu_per_core_hour: number;
8520
+ /** Memory Per Gib Hour */
8521
+ memory_per_gib_hour: number;
8322
8522
  /** Purchase Fee Fraction */
8323
8523
  purchase_fee_fraction: number;
8324
- /** Signup Credit Usd */
8325
- signup_credit_usd: number;
8524
+ /** Signup Credit */
8525
+ signup_credit: number;
8326
8526
  };
8327
8527
  /**
8328
8528
  * PullRequestAction
@@ -8555,16 +8755,7 @@ interface components {
8555
8755
  };
8556
8756
  /**
8557
8757
  * ReactCheckRun
8558
- * @description A CI/CD check completing on a commit — a `check_run` from GitHub
8559
- * Actions or any other app that reports checks. `names` narrows to the check
8560
- * runs whose name matches (exact, or a prefix ending in `*`); `branch` is the
8561
- * check suite's head branch. The `for:` audience is the commit's author (the
8562
- * pull request author when the check is attached to one), never the CI app
8563
- * that completed the check — a check run's sender is always a bot.
8564
- *
8565
- * Delivery needs the Ellipsis GitHub App's `checks` permission on the
8566
- * installation; without it GitHub sends no check events and the webhook
8567
- * handler refuses the ones it does see.
8758
+ * @description A check run changing state on a commit. A check run is a GitHub Actions job or a check another CI app reports. `on` lists the states that fire. `names` matches check names exactly or by a prefix ending in `*`. `branch` is the branch the check ran on. `for` is the author of the commit the check ran on. Needs the Checks permission.
8568
8759
  */
8569
8760
  'ReactCheckRun-Input': {
8570
8761
  /** Branch */
@@ -8578,16 +8769,7 @@ interface components {
8578
8769
  };
8579
8770
  /**
8580
8771
  * ReactCheckRun
8581
- * @description A CI/CD check completing on a commit — a `check_run` from GitHub
8582
- * Actions or any other app that reports checks. `names` narrows to the check
8583
- * runs whose name matches (exact, or a prefix ending in `*`); `branch` is the
8584
- * check suite's head branch. The `for:` audience is the commit's author (the
8585
- * pull request author when the check is attached to one), never the CI app
8586
- * that completed the check — a check run's sender is always a bot.
8587
- *
8588
- * Delivery needs the Ellipsis GitHub App's `checks` permission on the
8589
- * installation; without it GitHub sends no check events and the webhook
8590
- * handler refuses the ones it does see.
8772
+ * @description A check run changing state on a commit. A check run is a GitHub Actions job or a check another CI app reports. `on` lists the states that fire. `names` matches check names exactly or by a prefix ending in `*`. `branch` is the branch the check ran on. `for` is the author of the commit the check ran on. Needs the Checks permission.
8591
8773
  */
8592
8774
  'ReactCheckRun-Output': {
8593
8775
  /**
@@ -8610,6 +8792,45 @@ interface components {
8610
8792
  on: components['schemas']['CheckRunAction'][];
8611
8793
  repositories: components['schemas']['RepositoryFilter-Output'];
8612
8794
  };
8795
+ /**
8796
+ * ReactCheckSuite
8797
+ * @description Every check one CI app reported on a commit finishing. GitHub reports a check suite only when it finishes, so `on` takes only finished states. `apps` matches the reporting app slug, such as `github-actions`, exactly or by a prefix ending in `*`. `branch` and `for` work as on `check_run`. Needs the Checks permission.
8798
+ */
8799
+ 'ReactCheckSuite-Input': {
8800
+ /** Apps */
8801
+ apps?: string[];
8802
+ /** Branch */
8803
+ branch?: string[];
8804
+ for?: components['schemas']['GithubAccountSelector-Input'];
8805
+ /** On */
8806
+ on?: components['schemas']['CheckSuiteAction'][];
8807
+ repositories?: components['schemas']['RepositoryFilter-Input'];
8808
+ };
8809
+ /**
8810
+ * ReactCheckSuite
8811
+ * @description Every check one CI app reported on a commit finishing. GitHub reports a check suite only when it finishes, so `on` takes only finished states. `apps` matches the reporting app slug, such as `github-actions`, exactly or by a prefix ending in `*`. `branch` and `for` work as on `check_run`. Needs the Checks permission.
8812
+ */
8813
+ 'ReactCheckSuite-Output': {
8814
+ /**
8815
+ * Apps
8816
+ * @default []
8817
+ */
8818
+ apps: string[];
8819
+ /**
8820
+ * Branch
8821
+ * @default []
8822
+ */
8823
+ branch: string[];
8824
+ for: components['schemas']['GithubAccountSelector-Output'];
8825
+ /**
8826
+ * On
8827
+ * @default [
8828
+ * "failed"
8829
+ * ]
8830
+ */
8831
+ on: components['schemas']['CheckSuiteAction'][];
8832
+ repositories: components['schemas']['RepositoryFilter-Output'];
8833
+ };
8613
8834
  /** ReactIssue */
8614
8835
  'ReactIssue-Input': {
8615
8836
  for?: components['schemas']['GithubAccountSelector-Input'];
@@ -8783,6 +9004,45 @@ interface components {
8783
9004
  };
8784
9005
  /** ReactSlackChannel */
8785
9006
  ReactSlackChannel: Record<string, never>;
9007
+ /**
9008
+ * ReactStatus
9009
+ * @description A commit status changing state, from CI that posts statuses instead of checks. `names` matches status contexts exactly or by a prefix ending in `*`. `branch` matches when any branch GitHub lists for the commit matches. `for` works as on `check_run`. Needs the Commit statuses permission.
9010
+ */
9011
+ 'ReactStatus-Input': {
9012
+ /** Branch */
9013
+ branch?: string[];
9014
+ for?: components['schemas']['GithubAccountSelector-Input'];
9015
+ /** Names */
9016
+ names?: string[];
9017
+ /** On */
9018
+ on?: components['schemas']['StatusAction'][];
9019
+ repositories?: components['schemas']['RepositoryFilter-Input'];
9020
+ };
9021
+ /**
9022
+ * ReactStatus
9023
+ * @description A commit status changing state, from CI that posts statuses instead of checks. `names` matches status contexts exactly or by a prefix ending in `*`. `branch` matches when any branch GitHub lists for the commit matches. `for` works as on `check_run`. Needs the Commit statuses permission.
9024
+ */
9025
+ 'ReactStatus-Output': {
9026
+ /**
9027
+ * Branch
9028
+ * @default []
9029
+ */
9030
+ branch: string[];
9031
+ for: components['schemas']['GithubAccountSelector-Output'];
9032
+ /**
9033
+ * Names
9034
+ * @default []
9035
+ */
9036
+ names: string[];
9037
+ /**
9038
+ * On
9039
+ * @default [
9040
+ * "failed"
9041
+ * ]
9042
+ */
9043
+ on: components['schemas']['StatusAction'][];
9044
+ repositories: components['schemas']['RepositoryFilter-Output'];
9045
+ };
8786
9046
  /**
8787
9047
  * ReactTrigger
8788
9048
  * @description An event trigger: exactly one surface block names the events to match.
@@ -8794,6 +9054,7 @@ interface components {
8794
9054
  */
8795
9055
  'ReactTrigger-Input': {
8796
9056
  check_run?: components['schemas']['ReactCheckRun-Input'] | null;
9057
+ check_suite?: components['schemas']['ReactCheckSuite-Input'] | null;
8797
9058
  /** Enabled */
8798
9059
  enabled?: boolean;
8799
9060
  issue?: components['schemas']['ReactIssue-Input'] | null;
@@ -8803,11 +9064,13 @@ interface components {
8803
9064
  release?: components['schemas']['ReactRelease-Input'] | null;
8804
9065
  sentry?: components['schemas']['ReactSentry-Input'] | null;
8805
9066
  slack_channel?: components['schemas']['ReactSlackChannel'] | null;
9067
+ status?: components['schemas']['ReactStatus-Input'] | null;
8806
9068
  /**
8807
9069
  * @description discriminator enum property added by openapi-typescript
8808
9070
  * @enum {string}
8809
9071
  */
8810
9072
  type: 'react';
9073
+ workflow_run?: components['schemas']['ReactWorkflowRun-Input'] | null;
8811
9074
  };
8812
9075
  /**
8813
9076
  * ReactTrigger
@@ -8820,6 +9083,7 @@ interface components {
8820
9083
  */
8821
9084
  'ReactTrigger-Output': {
8822
9085
  check_run: components['schemas']['ReactCheckRun-Output'] | null;
9086
+ check_suite: components['schemas']['ReactCheckSuite-Output'] | null;
8823
9087
  /**
8824
9088
  * Enabled
8825
9089
  * @default true
@@ -8832,11 +9096,52 @@ interface components {
8832
9096
  release: components['schemas']['ReactRelease-Output'] | null;
8833
9097
  sentry: components['schemas']['ReactSentry-Output'] | null;
8834
9098
  slack_channel: components['schemas']['ReactSlackChannel'] | null;
9099
+ status: components['schemas']['ReactStatus-Output'] | null;
8835
9100
  /**
8836
9101
  * @description discriminator enum property added by openapi-typescript
8837
9102
  * @enum {string}
8838
9103
  */
8839
9104
  type: 'react';
9105
+ workflow_run: components['schemas']['ReactWorkflowRun-Output'] | null;
9106
+ };
9107
+ /**
9108
+ * ReactWorkflowRun
9109
+ * @description A GitHub Actions workflow run changing state. `names` matches workflow names exactly or by a prefix ending in `*`. `branch` is the branch the run is for. `for` works as on `check_run`. Needs the Actions permission.
9110
+ */
9111
+ 'ReactWorkflowRun-Input': {
9112
+ /** Branch */
9113
+ branch?: string[];
9114
+ for?: components['schemas']['GithubAccountSelector-Input'];
9115
+ /** Names */
9116
+ names?: string[];
9117
+ /** On */
9118
+ on?: components['schemas']['WorkflowRunAction'][];
9119
+ repositories?: components['schemas']['RepositoryFilter-Input'];
9120
+ };
9121
+ /**
9122
+ * ReactWorkflowRun
9123
+ * @description A GitHub Actions workflow run changing state. `names` matches workflow names exactly or by a prefix ending in `*`. `branch` is the branch the run is for. `for` works as on `check_run`. Needs the Actions permission.
9124
+ */
9125
+ 'ReactWorkflowRun-Output': {
9126
+ /**
9127
+ * Branch
9128
+ * @default []
9129
+ */
9130
+ branch: string[];
9131
+ for: components['schemas']['GithubAccountSelector-Output'];
9132
+ /**
9133
+ * Names
9134
+ * @default []
9135
+ */
9136
+ names: string[];
9137
+ /**
9138
+ * On
9139
+ * @default [
9140
+ * "failed"
9141
+ * ]
9142
+ */
9143
+ on: components['schemas']['WorkflowRunAction'][];
9144
+ repositories: components['schemas']['RepositoryFilter-Output'];
8840
9145
  };
8841
9146
  /**
8842
9147
  * RecentPullRequest
@@ -9018,16 +9323,13 @@ interface components {
9018
9323
  base_sha: string;
9019
9324
  /**
9020
9325
  * Budget
9021
- * @description The reviewer sessions' spend budgets together, in US dollars.
9326
+ * @description The reviewer sessions' spend budgets together, in millicents.
9022
9327
  */
9023
9328
  budget: number;
9024
9329
  /** Comments */
9025
9330
  comments: components['schemas']['ReviewComment'][];
9026
- /**
9027
- * Cost
9028
- * @description What the reviewer sessions cost together, in millicents.
9029
- */
9030
- cost: number;
9331
+ /** @description What the reviewer sessions cost together. */
9332
+ cost: components['schemas']['Cost'];
9031
9333
  /**
9032
9334
  * Created At
9033
9335
  * Format: date-time
@@ -9062,11 +9364,8 @@ interface components {
9062
9364
  reviewers: components['schemas']['ReviewReviewer'][];
9063
9365
  /** @description running: reviewers are working. posted: one GitHub review was posted. empty: the review passed silently, so nothing was posted. failed: no reviewer finished or GitHub refused the review. */
9064
9366
  status: components['schemas']['CodeReviewStatus'];
9065
- /**
9066
- * Tokens
9067
- * @description Tokens the reviewer sessions consumed together, including prompt-cache reads and writes.
9068
- */
9069
- tokens: number;
9367
+ /** @description Tokens the reviewer sessions used together. */
9368
+ tokens: components['schemas']['Tokens'];
9070
9369
  };
9071
9370
  /**
9072
9371
  * ReviewActor
@@ -9224,6 +9523,19 @@ interface components {
9224
9523
  */
9225
9524
  thumbs_up: number;
9226
9525
  };
9526
+ /** ReviewComments */
9527
+ ReviewComments: {
9528
+ /**
9529
+ * Max Per Review
9530
+ * @default 64
9531
+ */
9532
+ max_per_review: number;
9533
+ /**
9534
+ * Max Per Reviewer
9535
+ * @default 64
9536
+ */
9537
+ max_per_reviewer: number;
9538
+ };
9227
9539
  /**
9228
9540
  * ReviewConfig
9229
9541
  * @description A code review config: a kind: code_review file synced from a
@@ -9262,6 +9574,11 @@ interface components {
9262
9574
  * @description The display name from the file's ellipsis.name, or null when the file sets none.
9263
9575
  */
9264
9576
  name?: string | null;
9577
+ /**
9578
+ * Raw Yaml
9579
+ * @description The config's YAML file as written. A failed sync keeps the last valid YAML.
9580
+ */
9581
+ raw_yaml: string;
9265
9582
  /**
9266
9583
  * Sha
9267
9584
  * @description The config's content identity: it changes with every edit that changes how reviews run.
@@ -9379,9 +9696,18 @@ interface components {
9379
9696
  * @description What the posted review is. A review passes when no reviewer returned a
9380
9697
  * blocking comment and fails otherwise; the pass and fail events are the
9381
9698
  * GitHub review the platform submits in each case. `summary` asks every
9382
- * reviewer for the text the body opens with.
9699
+ * reviewer for the text the body opens with. `comments` caps the comments
9700
+ * one review posts and each reviewer returns; a reviewer's own
9701
+ * `comments.max` wins over `comments.max_per_reviewer`.
9383
9702
  */
9384
9703
  ReviewOutputConfig: {
9704
+ /**
9705
+ * @default {
9706
+ * "max_per_review": 64,
9707
+ * "max_per_reviewer": 64
9708
+ * }
9709
+ */
9710
+ comments: components['schemas']['ReviewComments'];
9385
9711
  /**
9386
9712
  * On Fail
9387
9713
  * @default comment
@@ -9574,6 +9900,8 @@ interface components {
9574
9900
  claude_code?: components['schemas']['ClaudeConfig-Output'] | null;
9575
9901
  /** @description Codex input and native options. Set exactly one of claude_code or codex. */
9576
9902
  codex?: components['schemas']['CodexConfig-Output'] | null;
9903
+ /** @default {} */
9904
+ comments: components['schemas']['ReviewerComments'];
9577
9905
  /**
9578
9906
  * Environment
9579
9907
  * @default {
@@ -9615,6 +9943,11 @@ interface components {
9615
9943
  [key: string]: unknown;
9616
9944
  };
9617
9945
  });
9946
+ /** ReviewerComments */
9947
+ ReviewerComments: {
9948
+ /** Max */
9949
+ max?: number | null;
9950
+ };
9618
9951
  /**
9619
9952
  * ReviewerUsage
9620
9953
  * @description A person who reviewed pull requests in the window.
@@ -10303,7 +10636,7 @@ interface components {
10303
10636
  attribution: components['schemas']['SessionAttribution'];
10304
10637
  /**
10305
10638
  * Budget
10306
- * @description The spend budget enforced for this session, in US dollars, after resolving defaults and ceilings.
10639
+ * @description The spend budget enforced for this session, in millicents, after resolving defaults and ceilings.
10307
10640
  * @default 0
10308
10641
  */
10309
10642
  budget: number;
@@ -10313,8 +10646,8 @@ interface components {
10313
10646
  codex: components['schemas']['CodexConfig-Output'] | null;
10314
10647
  /** @description Whether the session can take more messages, and whether an agent is warm to answer one. */
10315
10648
  conversation: components['schemas']['SessionConversation'];
10316
- /** @description What the session has cost so far, in millicents, broken down by leg and carrying its own total. */
10317
- cost: components['schemas']['SessionCost'];
10649
+ /** @description What the session has cost so far. */
10650
+ cost: components['schemas']['Cost'];
10318
10651
  /**
10319
10652
  * Created At
10320
10653
  * Format: date-time
@@ -10327,7 +10660,7 @@ interface components {
10327
10660
  * Event
10328
10661
  * @description The typed external event that started the session; null for direct and scheduled starts.
10329
10662
  */
10330
- event: (components['schemas']['GithubPullRequestEvent'] | components['schemas']['GithubIssueEvent'] | components['schemas']['GithubPushEvent'] | components['schemas']['GithubCheckRunEvent'] | components['schemas']['GithubReleaseEvent'] | components['schemas']['LinearIssueEvent'] | components['schemas']['SlackMessageEvent'] | components['schemas']['SlackChannelCreatedEvent'] | components['schemas']['SentryAlertEvent']) | null;
10663
+ event: (components['schemas']['GithubPullRequestEvent'] | components['schemas']['GithubIssueEvent'] | components['schemas']['GithubPushEvent'] | components['schemas']['GithubCheckRunEvent'] | components['schemas']['GithubCheckSuiteEvent'] | components['schemas']['GithubWorkflowRunEvent'] | components['schemas']['GithubStatusEvent'] | components['schemas']['GithubReleaseEvent'] | components['schemas']['LinearIssueEvent'] | components['schemas']['SlackMessageEvent'] | components['schemas']['SlackChannelCreatedEvent'] | components['schemas']['SentryAlertEvent']) | null;
10331
10664
  /** @description What the session did to git, one entry per repository in its workspace: the commit and branch it sits on, per-file line counts for its uncommitted changes, and the pull requests it opened. Null if nothing was ever captured. */
10332
10665
  git: components['schemas']['SessionGit'] | null;
10333
10666
  /** @description The saved handler and its effective display name when this session started, frozen at creation. Null for built-in responders, legacy sessions, and sessions started without a handler. */
@@ -10360,8 +10693,8 @@ interface components {
10360
10693
  source: components['schemas']['SessionSource'];
10361
10694
  /** @description The latest live summary of the session's progress while it runs, and when it was generated. */
10362
10695
  summary: components['schemas']['SessionSummary'] | null;
10363
- /** @description The tokens the session spent and the model they went to. `total` includes the prompt-cache lanes. */
10364
- tokens: components['schemas']['SessionTokens'];
10696
+ /** @description The tokens the session has used so far. */
10697
+ tokens: components['schemas']['Tokens'];
10365
10698
  /** @description The turn in progress, or the latest one when none is running. Null until the session has a message. Wait on it: the message you sent is answered when the turn with your message's `turn_id` reaches a final status. */
10366
10699
  turn: components['schemas']['SessionTurn'] | null;
10367
10700
  /**
@@ -10413,10 +10746,8 @@ interface components {
10413
10746
  attribution_request_limit: number;
10414
10747
  /** Bucket Seconds */
10415
10748
  bucket_seconds: number;
10416
- /** Charged Millicents */
10417
- charged_millicents: number;
10418
- /** External Token Value Millicents */
10419
- external_token_value_millicents: number;
10749
+ /** Charged */
10750
+ charged: number;
10420
10751
  /**
10421
10752
  * Historical Entries
10422
10753
  * @description Carried-forward billing totals without per-request measurements. Included in spend, excluded from the timeline and request counts.
@@ -10473,15 +10804,15 @@ interface components {
10473
10804
  };
10474
10805
  /** SessionBudgetDefault */
10475
10806
  SessionBudgetDefault: {
10476
- /** Budget Usd */
10477
- budget_usd: number;
10807
+ /** Budget */
10808
+ budget: number;
10478
10809
  /**
10479
- * Ceiling Usd
10810
+ * Ceiling
10480
10811
  * @description Current effective session ceiling from /account/settings.
10481
10812
  */
10482
- ceiling_usd: number;
10483
- /** Platform Max Usd */
10484
- platform_max_usd: number;
10813
+ ceiling: number;
10814
+ /** Platform Max */
10815
+ platform_max: number;
10485
10816
  };
10486
10817
  /**
10487
10818
  * SessionCapability
@@ -10720,50 +11051,10 @@ interface components {
10720
11051
  */
10721
11052
  interactive: boolean;
10722
11053
  };
10723
- /**
10724
- * SessionCost
10725
- * @description What a session (or one turn of it) cost, in millicents.
10726
- *
10727
- * `llm` is deliberately NOT called `tokens`: it would sit beside the `tokens`
10728
- * object and read as "the token count's cost" rather than "the cost of the
10729
- * LLM leg".
10730
- */
10731
- SessionCost: {
10732
- /**
10733
- * Cpu
10734
- * @description CPU spend in millicents.
10735
- * @default 0
10736
- */
10737
- cpu: number;
10738
- /**
10739
- * Fee
10740
- * @description Platform fee in millicents.
10741
- * @default 0
10742
- */
10743
- fee: number;
10744
- /**
10745
- * Llm
10746
- * @description LLM spend in millicents.
10747
- * @default 0
10748
- */
10749
- llm: number;
10750
- /**
10751
- * Memory
10752
- * @description Memory spend in millicents.
10753
- * @default 0
10754
- */
10755
- memory: number;
10756
- /**
10757
- * Total
10758
- * @description The grand total in millicents: llm + cpu + memory + fee.
10759
- * @default 0
10760
- */
10761
- total: number;
10762
- };
10763
11054
  /** SessionCostCategory */
10764
11055
  SessionCostCategory: {
10765
- /** Charged Millicents */
10766
- charged_millicents: number;
11056
+ /** Charged */
11057
+ charged: number;
10767
11058
  /** Items */
10768
11059
  items: components['schemas']['SessionSpendItem'][];
10769
11060
  /** Key */
@@ -11122,7 +11413,7 @@ interface components {
11122
11413
  SessionMessageResponse: {
11123
11414
  /** @description The message. */
11124
11415
  message: components['schemas']['SessionMessage'];
11125
- /** @description The turn that will answer the message. Wait on it: poll GET /v1/sessions/{id}/turns/{turn_id} or watch the stream's session frames until its status is final. */
11416
+ /** @description The turn that will answer the message. Wait on it: poll GET /v1/sessions/{session_id}/turns/{id} or watch the stream's session frames until its status is final. */
11126
11417
  turn: components['schemas']['SessionTurn'];
11127
11418
  };
11128
11419
  /**
@@ -11371,19 +11662,19 @@ interface components {
11371
11662
  /** SessionSpendItem */
11372
11663
  SessionSpendItem: {
11373
11664
  /**
11374
- * Charged Millicents
11665
+ * Charged
11375
11666
  * @default 0
11376
11667
  */
11377
- charged_millicents: number;
11378
- /** Key */
11379
- key: string;
11380
- /** Label */
11381
- label: string;
11668
+ charged: number;
11382
11669
  /**
11383
- * Rated Millicents
11670
+ * Cost
11384
11671
  * @default 0
11385
11672
  */
11386
- rated_millicents: number;
11673
+ cost: number;
11674
+ /** Key */
11675
+ key: string;
11676
+ /** Label */
11677
+ label: string;
11387
11678
  /**
11388
11679
  * Tokens
11389
11680
  * @default 0
@@ -11429,54 +11720,6 @@ interface components {
11429
11720
  */
11430
11721
  description: string;
11431
11722
  };
11432
- /**
11433
- * SessionTokens
11434
- * @description The token counts a session (or turn) spent, and the model they went to.
11435
- *
11436
- * `total` INCLUDES the cache lanes, unlike the old flat `tokens_total` which
11437
- * counted input+output+thinking only and left callers to add cache reads and
11438
- * writes back themselves (the deleted `tokensTotalAll` helper). Cache tokens
11439
- * dominate an agent run's token bill, so a "total" that omits them is the
11440
- * wrong default and produced two competing totals in the dashboard.
11441
- */
11442
- SessionTokens: {
11443
- /**
11444
- * Cache Creation
11445
- * @description Tokens written to the prompt cache.
11446
- * @default 0
11447
- */
11448
- cache_creation: number;
11449
- /**
11450
- * Cache Read
11451
- * @description Tokens read from the prompt cache.
11452
- * @default 0
11453
- */
11454
- cache_read: number;
11455
- /**
11456
- * Input
11457
- * @description Input tokens used.
11458
- * @default 0
11459
- */
11460
- input: number;
11461
- /**
11462
- * Model
11463
- * @description The model the token counts are attributed to.
11464
- * @default
11465
- */
11466
- model: string;
11467
- /**
11468
- * Output
11469
- * @description Output tokens used.
11470
- * @default 0
11471
- */
11472
- output: number;
11473
- /**
11474
- * Total
11475
- * @description Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
11476
- * @default 0
11477
- */
11478
- total: number;
11479
- };
11480
11723
  /** SessionToolCount */
11481
11724
  SessionToolCount: {
11482
11725
  /** Calls */
@@ -11493,7 +11736,7 @@ interface components {
11493
11736
  */
11494
11737
  SessionTurn: {
11495
11738
  /** @description What the turn cost so far, in millicents, broken down by leg. */
11496
- cost: components['schemas']['SessionCost'];
11739
+ cost: components['schemas']['Cost'];
11497
11740
  /**
11498
11741
  * Created At
11499
11742
  * Format: date-time
@@ -11532,7 +11775,7 @@ interface components {
11532
11775
  /** @description When and by whom a stop was requested; null when none was. */
11533
11776
  stopped: components['schemas']['SessionStopped'] | null;
11534
11777
  /** @description The tokens the turn spent and the model they went to. */
11535
- tokens: components['schemas']['SessionTokens'];
11778
+ tokens: components['schemas']['Tokens'];
11536
11779
  };
11537
11780
  /**
11538
11781
  * SessionTurnResponse
@@ -11571,10 +11814,10 @@ interface components {
11571
11814
  */
11572
11815
  cache_write_tokens: number;
11573
11816
  /**
11574
- * Charged Millicents
11817
+ * Charged
11575
11818
  * @default 0
11576
11819
  */
11577
- charged_millicents: number;
11820
+ charged: number;
11578
11821
  /**
11579
11822
  * Date
11580
11823
  * Format: date-time
@@ -12124,7 +12367,7 @@ interface components {
12124
12367
  * vocabulary: the `session:` block of an agent file pastes in as the request
12125
12368
  * body, except that the agent-wide `budget.day`, `week`, and `month` are
12126
12369
  * rejected here. There is no agent behind a raw session; to start a
12127
- * session from a saved agent, use POST /v1/agents/{agent_id}/sessions.
12370
+ * session from a saved agent, use POST /v1/agents/{id}/sessions.
12128
12371
  *
12129
12372
  * Extra keys are a 422, not silently dropped: a retired field
12130
12373
  * (`from_config_id`, `input`, `ellipsis`, `config_id`, `repositories`) must
@@ -12181,6 +12424,12 @@ interface components {
12181
12424
  [key: string]: unknown;
12182
12425
  };
12183
12426
  });
12427
+ /**
12428
+ * StatusAction
12429
+ * @description The state of a commit status. `success` is `passed`, `failure` is `failed`, and `error` is `errored`.
12430
+ * @enum {string}
12431
+ */
12432
+ StatusAction: 'pending' | 'passed' | 'failed' | 'errored';
12184
12433
  /**
12185
12434
  * StreamTicketResponse
12186
12435
  * @description Open ws_url with ?ticket=<ticket> within 60 seconds.
@@ -12340,6 +12589,42 @@ interface components {
12340
12589
  */
12341
12590
  utilization: number;
12342
12591
  };
12592
+ /**
12593
+ * TokenCounts
12594
+ * @description Token counts.
12595
+ */
12596
+ TokenCounts: {
12597
+ /**
12598
+ * Cache Creation
12599
+ * @description Tokens written to the prompt cache.
12600
+ * @default 0
12601
+ */
12602
+ cache_creation: number;
12603
+ /**
12604
+ * Cache Read
12605
+ * @description Tokens read from the prompt cache.
12606
+ * @default 0
12607
+ */
12608
+ cache_read: number;
12609
+ /**
12610
+ * Input
12611
+ * @description Input tokens used.
12612
+ * @default 0
12613
+ */
12614
+ input: number;
12615
+ /**
12616
+ * Output
12617
+ * @description Output tokens used.
12618
+ * @default 0
12619
+ */
12620
+ output: number;
12621
+ /**
12622
+ * Total
12623
+ * @description All tokens used, including prompt cache reads and writes. Token cost is priced on this.
12624
+ * @default 0
12625
+ */
12626
+ total: number;
12627
+ };
12343
12628
  /** TokenRevokedResponse */
12344
12629
  TokenRevokedResponse: {
12345
12630
  /**
@@ -12348,6 +12633,19 @@ interface components {
12348
12633
  */
12349
12634
  ok: boolean;
12350
12635
  };
12636
+ /**
12637
+ * Tokens
12638
+ * @description Tokens used, in total and by model.
12639
+ */
12640
+ Tokens: {
12641
+ /** @description Token counts across every model. */
12642
+ all: components['schemas']['TokenCounts'];
12643
+ /**
12644
+ * By Model
12645
+ * @description Token counts for each model that used tokens.
12646
+ */
12647
+ by_model: components['schemas']['ModelTokenCounts'][];
12648
+ };
12351
12649
  /**
12352
12650
  * TokensInfo
12353
12651
  * @description Token/cost usage, per record (one API call's counts, aggregate fields at
@@ -12694,61 +12992,29 @@ interface components {
12694
12992
  archived: boolean;
12695
12993
  };
12696
12994
  /**
12697
- * UsageDailyPoint
12698
- * @description One day's usage: tokens split by type, and cost split into the four
12699
- * billed categories. `tokens` is the sum of the four token types.
12995
+ * UsageDay
12996
+ * @description One UTC day's cost and tokens.
12700
12997
  */
12701
- UsageDailyPoint: {
12702
- /**
12703
- * Cost Cpu Millicents
12704
- * @description CPU cost this day, in millicents.
12705
- */
12706
- cost_cpu_millicents: number;
12707
- /**
12708
- * Cost Fee Millicents
12709
- * @description Platform fee this day, in millicents.
12710
- */
12711
- cost_fee_millicents: number;
12712
- /**
12713
- * Cost Memory Millicents
12714
- * @description Memory cost this day, in millicents.
12715
- */
12716
- cost_memory_millicents: number;
12717
- /**
12718
- * Cost Tokens Millicents
12719
- * @description LLM token cost this day, in millicents (1000 = $0.01).
12720
- */
12721
- cost_tokens_millicents: number;
12998
+ UsageDay: {
12999
+ /** @description What the day's usage cost. */
13000
+ cost: components['schemas']['Cost'];
12722
13001
  /**
12723
13002
  * Date
12724
13003
  * @description The UTC day, formatted yyyy-MM-dd.
12725
13004
  */
12726
13005
  date: string;
12727
- /**
12728
- * Tokens
12729
- * @description All tokens used this day — the sum of the four token types.
12730
- */
12731
- tokens: number;
12732
- /**
12733
- * Tokens Cache Creation
12734
- * @description Cache-creation tokens used this day.
12735
- */
12736
- tokens_cache_creation: number;
12737
- /**
12738
- * Tokens Cache Read
12739
- * @description Cache-read tokens used this day.
12740
- */
12741
- tokens_cache_read: number;
12742
- /**
12743
- * Tokens Input
12744
- * @description Input tokens used this day.
12745
- */
12746
- tokens_input: number;
12747
- /**
12748
- * Tokens Output
12749
- * @description Output tokens used this day.
12750
- */
12751
- tokens_output: number;
13006
+ /** @description The tokens used that day. */
13007
+ tokens: components['schemas']['Tokens'];
13008
+ };
13009
+ /**
13010
+ * UsageTotals
13011
+ * @description Cost and tokens over a set of sessions.
13012
+ */
13013
+ UsageTotals: {
13014
+ /** @description What the sessions cost. */
13015
+ cost: components['schemas']['Cost'];
13016
+ /** @description The tokens the sessions used. */
13017
+ tokens: components['schemas']['Tokens'];
12752
13018
  };
12753
13019
  /** UserPlan */
12754
13020
  UserPlan: {
@@ -13220,6 +13486,12 @@ interface components {
13220
13486
  /** Webhooks */
13221
13487
  webhooks: components['schemas']['Webhook'][];
13222
13488
  };
13489
+ /**
13490
+ * WorkflowRunAction
13491
+ * @description The state of a GitHub Actions workflow run when GitHub reports it. Before the run finishes it is the status, and `in_progress` is `started`. After it finishes it is the conclusion, `success` is `passed` and `failure` is `failed`. Every other value is the GitHub word.
13492
+ * @enum {string}
13493
+ */
13494
+ WorkflowRunAction: 'requested' | 'queued' | 'waiting' | 'pending' | 'started' | 'passed' | 'failed' | 'timed_out' | 'cancelled' | 'skipped' | 'neutral' | 'action_required' | 'stale' | 'startup_failure';
13223
13495
  };
13224
13496
  responses: never;
13225
13497
  parameters: never;
@@ -13439,7 +13711,7 @@ interface operations {
13439
13711
  'user-agent'?: string | null;
13440
13712
  };
13441
13713
  path: {
13442
- api_key_id: string;
13714
+ id: string;
13443
13715
  };
13444
13716
  cookie?: never;
13445
13717
  };
@@ -13988,7 +14260,7 @@ interface operations {
13988
14260
  'user-agent'?: string | null;
13989
14261
  };
13990
14262
  path: {
13991
- checkout_id: string;
14263
+ id: string;
13992
14264
  };
13993
14265
  cookie?: never;
13994
14266
  };
@@ -14738,7 +15010,7 @@ interface operations {
14738
15010
  'user-agent'?: string | null;
14739
15011
  };
14740
15012
  path: {
14741
- agent_id: string;
15013
+ id: string;
14742
15014
  };
14743
15015
  cookie?: never;
14744
15016
  };
@@ -14798,7 +15070,7 @@ interface operations {
14798
15070
  'user-agent'?: string | null;
14799
15071
  };
14800
15072
  path: {
14801
- agent_id: string;
15073
+ id: string;
14802
15074
  };
14803
15075
  cookie?: never;
14804
15076
  };
@@ -14880,7 +15152,7 @@ interface operations {
14880
15152
  'user-agent'?: string | null;
14881
15153
  };
14882
15154
  path: {
14883
- agent_id: string;
15155
+ id: string;
14884
15156
  };
14885
15157
  cookie?: never;
14886
15158
  };
@@ -14947,7 +15219,7 @@ interface operations {
14947
15219
  'user-agent'?: string | null;
14948
15220
  };
14949
15221
  path: {
14950
- agent_id: string;
15222
+ id: string;
14951
15223
  };
14952
15224
  cookie?: never;
14953
15225
  };
@@ -15029,7 +15301,7 @@ interface operations {
15029
15301
  'user-agent'?: string | null;
15030
15302
  };
15031
15303
  path: {
15032
- agent_id: string;
15304
+ id: string;
15033
15305
  };
15034
15306
  cookie?: never;
15035
15307
  };
@@ -15089,7 +15361,7 @@ interface operations {
15089
15361
  'user-agent'?: string | null;
15090
15362
  };
15091
15363
  path: {
15092
- agent_id: string;
15364
+ id: string;
15093
15365
  };
15094
15366
  cookie?: never;
15095
15367
  };
@@ -15162,7 +15434,7 @@ interface operations {
15162
15434
  'user-agent'?: string | null;
15163
15435
  };
15164
15436
  path: {
15165
- agent_id: string;
15437
+ id: string;
15166
15438
  };
15167
15439
  cookie?: never;
15168
15440
  };
@@ -15285,7 +15557,7 @@ interface operations {
15285
15557
  'user-agent'?: string | null;
15286
15558
  };
15287
15559
  path: {
15288
- alert_id: string;
15560
+ id: string;
15289
15561
  };
15290
15562
  cookie?: never;
15291
15563
  };
@@ -15345,7 +15617,7 @@ interface operations {
15345
15617
  'user-agent'?: string | null;
15346
15618
  };
15347
15619
  path: {
15348
- alert_id: string;
15620
+ id: string;
15349
15621
  };
15350
15622
  cookie?: never;
15351
15623
  };
@@ -15836,7 +16108,7 @@ interface operations {
15836
16108
  'user-agent'?: string | null;
15837
16109
  };
15838
16110
  path: {
15839
- environment_id: string;
16111
+ id: string;
15840
16112
  };
15841
16113
  cookie?: never;
15842
16114
  };
@@ -15896,7 +16168,7 @@ interface operations {
15896
16168
  'user-agent'?: string | null;
15897
16169
  };
15898
16170
  path: {
15899
- environment_id: string;
16171
+ id: string;
15900
16172
  };
15901
16173
  cookie?: never;
15902
16174
  };
@@ -15978,7 +16250,7 @@ interface operations {
15978
16250
  'user-agent'?: string | null;
15979
16251
  };
15980
16252
  path: {
15981
- environment_id: string;
16253
+ id: string;
15982
16254
  };
15983
16255
  cookie?: never;
15984
16256
  };
@@ -16099,7 +16371,7 @@ interface operations {
16099
16371
  'user-agent'?: string | null;
16100
16372
  };
16101
16373
  path: {
16102
- handler_id: string;
16374
+ id: string;
16103
16375
  };
16104
16376
  cookie?: never;
16105
16377
  };
@@ -16617,7 +16889,7 @@ interface operations {
16617
16889
  'user-agent'?: string | null;
16618
16890
  };
16619
16891
  path: {
16620
- integration_id: string;
16892
+ id: string;
16621
16893
  };
16622
16894
  cookie?: never;
16623
16895
  };
@@ -17003,7 +17275,7 @@ interface operations {
17003
17275
  'user-agent'?: string | null;
17004
17276
  };
17005
17277
  path: {
17006
- review_id: string;
17278
+ id: string;
17007
17279
  };
17008
17280
  cookie?: never;
17009
17281
  };
@@ -17480,7 +17752,7 @@ interface operations {
17480
17752
  'user-agent'?: string | null;
17481
17753
  };
17482
17754
  path: {
17483
- session_id: string;
17755
+ id: string;
17484
17756
  };
17485
17757
  cookie?: never;
17486
17758
  };
@@ -17540,7 +17812,7 @@ interface operations {
17540
17812
  'user-agent'?: string | null;
17541
17813
  };
17542
17814
  path: {
17543
- session_id: string;
17815
+ id: string;
17544
17816
  };
17545
17817
  cookie?: never;
17546
17818
  };
@@ -17604,7 +17876,7 @@ interface operations {
17604
17876
  'user-agent'?: string | null;
17605
17877
  };
17606
17878
  path: {
17607
- session_id: string;
17879
+ id: string;
17608
17880
  };
17609
17881
  cookie?: never;
17610
17882
  };
@@ -17655,7 +17927,7 @@ interface operations {
17655
17927
  'user-agent'?: string | null;
17656
17928
  };
17657
17929
  path: {
17658
- session_id: string;
17930
+ id: string;
17659
17931
  };
17660
17932
  cookie?: never;
17661
17933
  };
@@ -17715,7 +17987,7 @@ interface operations {
17715
17987
  'user-agent'?: string | null;
17716
17988
  };
17717
17989
  path: {
17718
- session_id: string;
17990
+ id: string;
17719
17991
  };
17720
17992
  cookie?: never;
17721
17993
  };
@@ -17775,7 +18047,7 @@ interface operations {
17775
18047
  'user-agent'?: string | null;
17776
18048
  };
17777
18049
  path: {
17778
- session_id: string;
18050
+ id: string;
17779
18051
  };
17780
18052
  cookie?: never;
17781
18053
  };
@@ -17826,7 +18098,7 @@ interface operations {
17826
18098
  'user-agent'?: string | null;
17827
18099
  };
17828
18100
  path: {
17829
- session_id: string;
18101
+ id: string;
17830
18102
  };
17831
18103
  cookie?: never;
17832
18104
  };
@@ -17908,7 +18180,7 @@ interface operations {
17908
18180
  'user-agent'?: string | null;
17909
18181
  };
17910
18182
  path: {
17911
- session_id: string;
18183
+ id: string;
17912
18184
  };
17913
18185
  cookie?: never;
17914
18186
  };
@@ -17962,7 +18234,7 @@ interface operations {
17962
18234
  'user-agent'?: string | null;
17963
18235
  };
17964
18236
  path: {
17965
- session_id: string;
18237
+ id: string;
17966
18238
  };
17967
18239
  cookie?: never;
17968
18240
  };
@@ -18022,7 +18294,7 @@ interface operations {
18022
18294
  'user-agent'?: string | null;
18023
18295
  };
18024
18296
  path: {
18025
- session_id: string;
18297
+ id: string;
18026
18298
  };
18027
18299
  cookie?: never;
18028
18300
  };
@@ -18091,7 +18363,7 @@ interface operations {
18091
18363
  'user-agent'?: string | null;
18092
18364
  };
18093
18365
  path: {
18094
- session_id: string;
18366
+ id: string;
18095
18367
  };
18096
18368
  cookie?: never;
18097
18369
  };
@@ -18142,7 +18414,7 @@ interface operations {
18142
18414
  'user-agent'?: string | null;
18143
18415
  };
18144
18416
  path: {
18145
- session_id: string;
18417
+ id: string;
18146
18418
  };
18147
18419
  cookie?: never;
18148
18420
  };
@@ -18215,7 +18487,7 @@ interface operations {
18215
18487
  'user-agent'?: string | null;
18216
18488
  };
18217
18489
  path: {
18218
- session_id: string;
18490
+ id: string;
18219
18491
  };
18220
18492
  cookie?: never;
18221
18493
  };
@@ -18276,7 +18548,7 @@ interface operations {
18276
18548
  };
18277
18549
  path: {
18278
18550
  session_id: string;
18279
- turn_id: string;
18551
+ id: string;
18280
18552
  };
18281
18553
  cookie?: never;
18282
18554
  };
@@ -18540,7 +18812,7 @@ interface operations {
18540
18812
  'user-agent'?: string | null;
18541
18813
  };
18542
18814
  path: {
18543
- template_id: string;
18815
+ id: string;
18544
18816
  };
18545
18817
  cookie?: never;
18546
18818
  };
@@ -19009,7 +19281,7 @@ interface operations {
19009
19281
  'user-agent'?: string | null;
19010
19282
  };
19011
19283
  path: {
19012
- token_id: string;
19284
+ id: string;
19013
19285
  };
19014
19286
  cookie?: never;
19015
19287
  };
@@ -19109,7 +19381,7 @@ interface operations {
19109
19381
  'user-agent'?: string | null;
19110
19382
  };
19111
19383
  path: {
19112
- vm_execution_id: string;
19384
+ id: string;
19113
19385
  };
19114
19386
  cookie?: never;
19115
19387
  };
@@ -19160,7 +19432,7 @@ interface operations {
19160
19432
  'user-agent'?: string | null;
19161
19433
  };
19162
19434
  path: {
19163
- vm_execution_id: string;
19435
+ id: string;
19164
19436
  };
19165
19437
  cookie?: never;
19166
19438
  };
@@ -19263,7 +19535,7 @@ interface operations {
19263
19535
  'user-agent'?: string | null;
19264
19536
  };
19265
19537
  path: {
19266
- image_id: string;
19538
+ id: string;
19267
19539
  };
19268
19540
  cookie?: never;
19269
19541
  };
@@ -19366,7 +19638,7 @@ interface operations {
19366
19638
  'user-agent'?: string | null;
19367
19639
  };
19368
19640
  path: {
19369
- vm_id: string;
19641
+ id: string;
19370
19642
  };
19371
19643
  cookie?: never;
19372
19644
  };
@@ -19422,7 +19694,7 @@ interface operations {
19422
19694
  'user-agent'?: string | null;
19423
19695
  };
19424
19696
  path: {
19425
- vm_id: string;
19697
+ id: string;
19426
19698
  };
19427
19699
  cookie?: never;
19428
19700
  };
@@ -19668,7 +19940,7 @@ interface operations {
19668
19940
  'user-agent'?: string | null;
19669
19941
  };
19670
19942
  path: {
19671
- delivery_id: string;
19943
+ id: string;
19672
19944
  };
19673
19945
  cookie?: never;
19674
19946
  };
@@ -19728,7 +20000,7 @@ interface operations {
19728
20000
  'user-agent'?: string | null;
19729
20001
  };
19730
20002
  path: {
19731
- webhook_id: string;
20003
+ id: string;
19732
20004
  };
19733
20005
  cookie?: never;
19734
20006
  };
@@ -19788,7 +20060,7 @@ interface operations {
19788
20060
  'user-agent'?: string | null;
19789
20061
  };
19790
20062
  path: {
19791
- webhook_id: string;
20063
+ id: string;
19792
20064
  };
19793
20065
  cookie?: never;
19794
20066
  };
@@ -19861,7 +20133,7 @@ interface operations {
19861
20133
  'user-agent'?: string | null;
19862
20134
  };
19863
20135
  path: {
19864
- webhook_id: string;
20136
+ id: string;
19865
20137
  };
19866
20138
  cookie?: never;
19867
20139
  };
@@ -19919,7 +20191,7 @@ interface operations {
19919
20191
  'user-agent'?: string | null;
19920
20192
  };
19921
20193
  path: {
19922
- webhook_id: string;
20194
+ id: string;
19923
20195
  };
19924
20196
  cookie?: never;
19925
20197
  };
@@ -20006,7 +20278,7 @@ type Session = {
20006
20278
  archived: SessionArchived | null;
20007
20279
  attribution: SessionAttribution;
20008
20280
  /**
20009
- * The spend budget enforced for this session, in US dollars, after resolving defaults and ceilings.
20281
+ * The spend budget enforced for this session, in millicents, after resolving defaults and ceilings.
20010
20282
  */
20011
20283
  budget: number;
20012
20284
  /**
@@ -20018,7 +20290,7 @@ type Session = {
20018
20290
  */
20019
20291
  codex: CodexConfig | null;
20020
20292
  conversation: SessionConversation;
20021
- cost: SessionCost;
20293
+ cost: Cost;
20022
20294
  /**
20023
20295
  * When the session was created.
20024
20296
  */
@@ -20027,7 +20299,7 @@ type Session = {
20027
20299
  /**
20028
20300
  * The typed external event that started the session; null for direct and scheduled starts.
20029
20301
  */
20030
- event: (GithubPullRequestEvent | GithubIssueEvent | GithubPushEvent | GithubCheckRunEvent | GithubReleaseEvent | LinearIssueEvent | SlackMessageEvent | SlackChannelCreatedEvent | SentryAlertEvent) | null;
20302
+ event: (GithubPullRequestEvent | GithubIssueEvent | GithubPushEvent | GithubCheckRunEvent | GithubCheckSuiteEvent | GithubWorkflowRunEvent | GithubStatusEvent | GithubReleaseEvent | LinearIssueEvent | SlackMessageEvent | SlackChannelCreatedEvent | SentryAlertEvent) | null;
20031
20303
  /**
20032
20304
  * What the session did to git, one entry per repository in its workspace: the commit and branch it sits on, per-file line counts for its uncommitted changes, and the pull requests it opened. Null if nothing was ever captured.
20033
20305
  */
@@ -20064,7 +20336,7 @@ type Session = {
20064
20336
  * The latest live summary of the session's progress while it runs, and when it was generated.
20065
20337
  */
20066
20338
  summary: SessionSummary | null;
20067
- tokens: SessionTokens;
20339
+ tokens: Tokens;
20068
20340
  /**
20069
20341
  * The turn in progress, or the latest one when none is running. Null until the session has a message. Wait on it: the message you sent is answered when the turn with your message's `turn_id` reaches a final status.
20070
20342
  */
@@ -20142,16 +20414,17 @@ type GithubAccountFilter = {
20142
20414
  include: string[] | boolean;
20143
20415
  } | boolean | string[];
20144
20416
  /**
20145
- * What a completed check run did. `failed` covers the conclusions that
20146
- * mean the check did not pass on its own merits (`failure`, `timed_out`); a
20147
- * cancelled, skipped, neutral or stale check is not a failure and never
20148
- * fires (see FAILED_CHECK_RUN_CONCLUSIONS).
20417
+ * The state of a check run when GitHub reports it. A run created before it finishes fires its status, and `in_progress` is `started`. A finished run fires its conclusion, `success` is `passed` and `failure` is `failed`. Every other value is the GitHub word.
20149
20418
  */
20150
- type CheckRunAction = 'failed';
20419
+ type CheckRunAction = 'requested' | 'queued' | 'waiting' | 'pending' | 'started' | 'passed' | 'failed' | 'timed_out' | 'cancelled' | 'skipped' | 'neutral' | 'action_required' | 'stale';
20151
20420
  type RepositoryFilter = {
20152
20421
  exclude: string[];
20153
20422
  include: string[];
20154
20423
  } | string[];
20424
+ /**
20425
+ * The conclusion of a finished check suite. `success` is `passed` and `failure` is `failed`. Every other value is the GitHub word.
20426
+ */
20427
+ type CheckSuiteAction = 'passed' | 'failed' | 'timed_out' | 'cancelled' | 'skipped' | 'neutral' | 'action_required' | 'stale' | 'startup_failure';
20155
20428
  type IssueAction = 'opened' | 'closed' | 'commented';
20156
20429
  type LinearIssueAction = 'opened';
20157
20430
  type PullRequestAction = 'opened' | 'pushed' | 'merged' | 'closed' | 'review_submitted' | 'commented';
@@ -20162,6 +20435,14 @@ type PullRequestAction = 'opened' | 'pushed' | 'merged' | 'closed' | 'review_sub
20162
20435
  */
20163
20436
  type ReleaseAction = 'published';
20164
20437
  type SentryAction = 'issue_alert' | 'metric_alert';
20438
+ /**
20439
+ * The state of a commit status. `success` is `passed`, `failure` is `failed`, and `error` is `errored`.
20440
+ */
20441
+ type StatusAction = 'pending' | 'passed' | 'failed' | 'errored';
20442
+ /**
20443
+ * The state of a GitHub Actions workflow run when GitHub reports it. Before the run finishes it is the status, and `in_progress` is `started`. After it finishes it is the conclusion, `success` is `passed` and `failure` is `failed`. Every other value is the GitHub word.
20444
+ */
20445
+ type WorkflowRunAction = 'requested' | 'queued' | 'waiting' | 'pending' | 'started' | 'passed' | 'failed' | 'timed_out' | 'cancelled' | 'skipped' | 'neutral' | 'action_required' | 'stale' | 'startup_failure';
20165
20446
  type GithubAccountType = 'User' | 'Organization' | 'Bot' | 'Mannequin';
20166
20447
  /**
20167
20448
  * Why direct prompting is refused. Absent when prompting is allowed.
@@ -20215,7 +20496,7 @@ type Session1 = {
20215
20496
  archived: SessionArchived | null;
20216
20497
  attribution: SessionAttribution;
20217
20498
  /**
20218
- * The spend budget enforced for this session, in US dollars, after resolving defaults and ceilings.
20499
+ * The spend budget enforced for this session, in millicents, after resolving defaults and ceilings.
20219
20500
  */
20220
20501
  budget: number;
20221
20502
  /**
@@ -20227,7 +20508,7 @@ type Session1 = {
20227
20508
  */
20228
20509
  codex: CodexConfig | null;
20229
20510
  conversation: SessionConversation;
20230
- cost: SessionCost;
20511
+ cost: Cost;
20231
20512
  /**
20232
20513
  * When the session was created.
20233
20514
  */
@@ -20236,7 +20517,7 @@ type Session1 = {
20236
20517
  /**
20237
20518
  * The typed external event that started the session; null for direct and scheduled starts.
20238
20519
  */
20239
- event: (GithubPullRequestEvent | GithubIssueEvent | GithubPushEvent | GithubCheckRunEvent | GithubReleaseEvent | LinearIssueEvent | SlackMessageEvent | SlackChannelCreatedEvent | SentryAlertEvent) | null;
20520
+ event: (GithubPullRequestEvent | GithubIssueEvent | GithubPushEvent | GithubCheckRunEvent | GithubCheckSuiteEvent | GithubWorkflowRunEvent | GithubStatusEvent | GithubReleaseEvent | LinearIssueEvent | SlackMessageEvent | SlackChannelCreatedEvent | SentryAlertEvent) | null;
20240
20521
  /**
20241
20522
  * What the session did to git, one entry per repository in its workspace: the commit and branch it sits on, per-file line counts for its uncommitted changes, and the pull requests it opened. Null if nothing was ever captured.
20242
20523
  */
@@ -20273,7 +20554,7 @@ type Session1 = {
20273
20554
  * The latest live summary of the session's progress while it runs, and when it was generated.
20274
20555
  */
20275
20556
  summary: SessionSummary | null;
20276
- tokens: SessionTokens;
20557
+ tokens: Tokens;
20277
20558
  /**
20278
20559
  * The turn in progress, or the latest one when none is running. Null until the session has a message. Wait on it: the message you sent is answered when the turn with your message's `turn_id` reaches a final status.
20279
20560
  */
@@ -20768,8 +21049,8 @@ interface EllipsisGrant {
20768
21049
  *
20769
21050
  * By default the token carries the installation's full permissions on all of
20770
21051
  * the installation's repositories. `permissions` narrows what it may do:
20771
- * the string `read_only` grants read access to contents, issues, metadata and
20772
- * pull requests; a map requests explicit levels per GitHub App permission
21052
+ * the string `read_only` grants read access to every scope the installation
21053
+ * granted; a map requests explicit levels per GitHub App permission
20773
21054
  * scope (e.g. `{contents: read, pull_requests: write}`) and may never exceed
20774
21055
  * what the installation granted. `repositories` scopes the token to exactly
20775
21056
  * the listed repos, by name (they must belong to the installation).
@@ -20817,6 +21098,7 @@ interface CronTrigger {
20817
21098
  */
20818
21099
  interface ReactTrigger {
20819
21100
  check_run: ReactCheckRun | null;
21101
+ check_suite: ReactCheckSuite | null;
20820
21102
  enabled: boolean;
20821
21103
  issue: ReactIssue | null;
20822
21104
  linear_issue: ReactLinearIssue | null;
@@ -20825,19 +21107,12 @@ interface ReactTrigger {
20825
21107
  release: ReactRelease | null;
20826
21108
  sentry: ReactSentry | null;
20827
21109
  slack_channel: ReactSlackChannel | null;
21110
+ status: ReactStatus | null;
20828
21111
  type: 'react';
21112
+ workflow_run: ReactWorkflowRun | null;
20829
21113
  }
20830
21114
  /**
20831
- * A CI/CD check completing on a commit — a `check_run` from GitHub
20832
- * Actions or any other app that reports checks. `names` narrows to the check
20833
- * runs whose name matches (exact, or a prefix ending in `*`); `branch` is the
20834
- * check suite's head branch. The `for:` audience is the commit's author (the
20835
- * pull request author when the check is attached to one), never the CI app
20836
- * that completed the check — a check run's sender is always a bot.
20837
- *
20838
- * Delivery needs the Ellipsis GitHub App's `checks` permission on the
20839
- * installation; without it GitHub sends no check events and the webhook
20840
- * handler refuses the ones it does see.
21115
+ * A check run changing state on a commit. A check run is a GitHub Actions job or a check another CI app reports. `on` lists the states that fire. `names` matches check names exactly or by a prefix ending in `*`. `branch` is the branch the check ran on. `for` is the author of the commit the check ran on. Needs the Checks permission.
20841
21116
  */
20842
21117
  interface ReactCheckRun {
20843
21118
  branch: string[];
@@ -20867,6 +21142,16 @@ interface GithubAccountSelector {
20867
21142
  teams: string[];
20868
21143
  users: GithubAccountFilter;
20869
21144
  }
21145
+ /**
21146
+ * Every check one CI app reported on a commit finishing. GitHub reports a check suite only when it finishes, so `on` takes only finished states. `apps` matches the reporting app slug, such as `github-actions`, exactly or by a prefix ending in `*`. `branch` and `for` work as on `check_run`. Needs the Checks permission.
21147
+ */
21148
+ interface ReactCheckSuite {
21149
+ apps: string[];
21150
+ branch: string[];
21151
+ for: GithubAccountSelector;
21152
+ on: CheckSuiteAction[];
21153
+ repositories: RepositoryFilter;
21154
+ }
20870
21155
  interface ReactIssue {
20871
21156
  for: GithubAccountSelector;
20872
21157
  labels: string[];
@@ -20914,6 +21199,26 @@ interface ReactSentry {
20914
21199
  }
20915
21200
  interface ReactSlackChannel {
20916
21201
  }
21202
+ /**
21203
+ * A commit status changing state, from CI that posts statuses instead of checks. `names` matches status contexts exactly or by a prefix ending in `*`. `branch` matches when any branch GitHub lists for the commit matches. `for` works as on `check_run`. Needs the Commit statuses permission.
21204
+ */
21205
+ interface ReactStatus {
21206
+ branch: string[];
21207
+ for: GithubAccountSelector;
21208
+ names: string[];
21209
+ on: StatusAction[];
21210
+ repositories: RepositoryFilter;
21211
+ }
21212
+ /**
21213
+ * A GitHub Actions workflow run changing state. `names` matches workflow names exactly or by a prefix ending in `*`. `branch` is the branch the run is for. `for` works as on `check_run`. Needs the Actions permission.
21214
+ */
21215
+ interface ReactWorkflowRun {
21216
+ branch: string[];
21217
+ for: GithubAccountSelector;
21218
+ names: string[];
21219
+ on: WorkflowRunAction[];
21220
+ repositories: RepositoryFilter;
21221
+ }
20917
21222
  /**
20918
21223
  * When the session was archived and the GitHub user who archived it.
20919
21224
  */
@@ -20983,9 +21288,13 @@ interface SessionPrompting {
20983
21288
  surface_name: string | null;
20984
21289
  }
20985
21290
  /**
20986
- * What the session has cost so far, in millicents, broken down by leg and carrying its own total.
21291
+ * What the session has cost so far.
20987
21292
  */
20988
- interface SessionCost {
21293
+ interface Cost {
21294
+ /**
21295
+ * What Ellipsis charged to credit, in millicents. It is everything except subscription tokens, and it is what the budget caps.
21296
+ */
21297
+ charged: number;
20989
21298
  /**
20990
21299
  * CPU spend in millicents.
20991
21300
  */
@@ -20994,16 +21303,69 @@ interface SessionCost {
20994
21303
  * Platform fee in millicents.
20995
21304
  */
20996
21305
  fee: number;
20997
- /**
20998
- * LLM spend in millicents.
20999
- */
21000
- llm: number;
21306
+ llm: LlmCost;
21001
21307
  /**
21002
21308
  * Memory spend in millicents.
21003
21309
  */
21004
21310
  memory: number;
21005
21311
  /**
21006
- * The grand total in millicents: llm + cpu + memory + fee.
21312
+ * Everything it cost, whoever paid, in millicents. It is the sum of llm.all.total, cpu, memory, and fee.
21313
+ */
21314
+ total: number;
21315
+ }
21316
+ /**
21317
+ * LLM token cost, in total and by model, split by who paid.
21318
+ */
21319
+ interface LlmCost {
21320
+ all: LlmCostSplit;
21321
+ /**
21322
+ * Token cost for each model that used tokens.
21323
+ */
21324
+ by_model: ModelLlmCostSplit[];
21325
+ }
21326
+ /**
21327
+ * Token cost across every model.
21328
+ */
21329
+ interface LlmCostSplit {
21330
+ /**
21331
+ * Token cost paid by a Claude subscription, at Ellipsis rates, in millicents.
21332
+ */
21333
+ claude_subscription: number;
21334
+ /**
21335
+ * Token cost paid by a Codex subscription, at Ellipsis rates, in millicents.
21336
+ */
21337
+ codex_subscription: number;
21338
+ /**
21339
+ * Token cost charged to Ellipsis credit, in millicents.
21340
+ */
21341
+ platform: number;
21342
+ /**
21343
+ * All token cost, in millicents. It is the sum of platform, claude_subscription, and codex_subscription.
21344
+ */
21345
+ total: number;
21346
+ }
21347
+ /**
21348
+ * What one model's tokens cost, in millicents, split by who paid.
21349
+ */
21350
+ interface ModelLlmCostSplit {
21351
+ /**
21352
+ * Token cost paid by a Claude subscription, at Ellipsis rates, in millicents.
21353
+ */
21354
+ claude_subscription: number;
21355
+ /**
21356
+ * Token cost paid by a Codex subscription, at Ellipsis rates, in millicents.
21357
+ */
21358
+ codex_subscription: number;
21359
+ /**
21360
+ * The model that used these tokens.
21361
+ */
21362
+ model: string;
21363
+ /**
21364
+ * Token cost charged to Ellipsis credit, in millicents.
21365
+ */
21366
+ platform: number;
21367
+ /**
21368
+ * All token cost, in millicents. It is the sum of platform, claude_subscription, and codex_subscription.
21007
21369
  */
21008
21370
  total: number;
21009
21371
  }
@@ -21130,6 +21492,43 @@ interface GithubCheckRunEvent {
21130
21492
  type: 'github.check_run';
21131
21493
  url: string;
21132
21494
  }
21495
+ interface GithubCheckSuiteEvent {
21496
+ action: CheckSuiteAction;
21497
+ actor: SessionEventActor | null;
21498
+ app: string | null;
21499
+ branch: string | null;
21500
+ conclusion: string | null;
21501
+ head_sha: string;
21502
+ pull_request_number: number | null;
21503
+ repository: string;
21504
+ type: 'github.check_suite';
21505
+ url: string;
21506
+ }
21507
+ interface GithubWorkflowRunEvent {
21508
+ action: WorkflowRunAction;
21509
+ actor: SessionEventActor | null;
21510
+ branch: string | null;
21511
+ conclusion: string | null;
21512
+ head_sha: string;
21513
+ name: string;
21514
+ pull_request_number: number | null;
21515
+ repository: string;
21516
+ run_number: number;
21517
+ type: 'github.workflow_run';
21518
+ url: string;
21519
+ }
21520
+ interface GithubStatusEvent {
21521
+ action: StatusAction;
21522
+ actor: SessionEventActor | null;
21523
+ branch: string | null;
21524
+ context: string;
21525
+ head_sha: string;
21526
+ pull_request_number: number | null;
21527
+ repository: string;
21528
+ state: string;
21529
+ type: 'github.status';
21530
+ url: string;
21531
+ }
21133
21532
  interface GithubReleaseEvent {
21134
21533
  action: ReleaseAction;
21135
21534
  actor: SessionEventActor | null;
@@ -21300,9 +21699,44 @@ interface SessionSummary {
21300
21699
  description: string;
21301
21700
  }
21302
21701
  /**
21303
- * The tokens the session spent and the model they went to. `total` includes the prompt-cache lanes.
21702
+ * The tokens the session has used so far.
21703
+ */
21704
+ interface Tokens {
21705
+ all: TokenCounts;
21706
+ /**
21707
+ * Token counts for each model that used tokens.
21708
+ */
21709
+ by_model: ModelTokenCounts[];
21710
+ }
21711
+ /**
21712
+ * Token counts across every model.
21713
+ */
21714
+ interface TokenCounts {
21715
+ /**
21716
+ * Tokens written to the prompt cache.
21717
+ */
21718
+ cache_creation: number;
21719
+ /**
21720
+ * Tokens read from the prompt cache.
21721
+ */
21722
+ cache_read: number;
21723
+ /**
21724
+ * Input tokens used.
21725
+ */
21726
+ input: number;
21727
+ /**
21728
+ * Output tokens used.
21729
+ */
21730
+ output: number;
21731
+ /**
21732
+ * All tokens used, including prompt cache reads and writes. Token cost is priced on this.
21733
+ */
21734
+ total: number;
21735
+ }
21736
+ /**
21737
+ * Token counts for one model.
21304
21738
  */
21305
- interface SessionTokens {
21739
+ interface ModelTokenCounts {
21306
21740
  /**
21307
21741
  * Tokens written to the prompt cache.
21308
21742
  */
@@ -21316,7 +21750,7 @@ interface SessionTokens {
21316
21750
  */
21317
21751
  input: number;
21318
21752
  /**
21319
- * The model the token counts are attributed to.
21753
+ * The model that used these tokens.
21320
21754
  */
21321
21755
  model: string;
21322
21756
  /**
@@ -21324,7 +21758,7 @@ interface SessionTokens {
21324
21758
  */
21325
21759
  output: number;
21326
21760
  /**
21327
- * Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
21761
+ * All tokens used, including prompt cache reads and writes. Token cost is priced on this.
21328
21762
  */
21329
21763
  total: number;
21330
21764
  }
@@ -21335,7 +21769,7 @@ interface SessionTokens {
21335
21769
  * `cancelled`.
21336
21770
  */
21337
21771
  interface SessionTurn {
21338
- cost: SessionCost1;
21772
+ cost: Cost1;
21339
21773
  /**
21340
21774
  * When the turn's message was received.
21341
21775
  */
@@ -21369,12 +21803,16 @@ interface SessionTurn {
21369
21803
  * When and by whom a stop was requested; null when none was.
21370
21804
  */
21371
21805
  stopped: SessionStopped | null;
21372
- tokens: SessionTokens1;
21806
+ tokens: Tokens1;
21373
21807
  }
21374
21808
  /**
21375
21809
  * What the turn cost so far, in millicents, broken down by leg.
21376
21810
  */
21377
- interface SessionCost1 {
21811
+ interface Cost1 {
21812
+ /**
21813
+ * What Ellipsis charged to credit, in millicents. It is everything except subscription tokens, and it is what the budget caps.
21814
+ */
21815
+ charged: number;
21378
21816
  /**
21379
21817
  * CPU spend in millicents.
21380
21818
  */
@@ -21383,16 +21821,13 @@ interface SessionCost1 {
21383
21821
  * Platform fee in millicents.
21384
21822
  */
21385
21823
  fee: number;
21386
- /**
21387
- * LLM spend in millicents.
21388
- */
21389
- llm: number;
21824
+ llm: LlmCost;
21390
21825
  /**
21391
21826
  * Memory spend in millicents.
21392
21827
  */
21393
21828
  memory: number;
21394
21829
  /**
21395
- * The grand total in millicents: llm + cpu + memory + fee.
21830
+ * Everything it cost, whoever paid, in millicents. It is the sum of llm.all.total, cpu, memory, and fee.
21396
21831
  */
21397
21832
  total: number;
21398
21833
  }
@@ -21412,31 +21847,12 @@ interface SessionStopped {
21412
21847
  /**
21413
21848
  * The tokens the turn spent and the model they went to.
21414
21849
  */
21415
- interface SessionTokens1 {
21416
- /**
21417
- * Tokens written to the prompt cache.
21418
- */
21419
- cache_creation: number;
21850
+ interface Tokens1 {
21851
+ all: TokenCounts;
21420
21852
  /**
21421
- * Tokens read from the prompt cache.
21422
- */
21423
- cache_read: number;
21424
- /**
21425
- * Input tokens used.
21426
- */
21427
- input: number;
21428
- /**
21429
- * The model the token counts are attributed to.
21853
+ * Token counts for each model that used tokens.
21430
21854
  */
21431
- model: string;
21432
- /**
21433
- * Output tokens used.
21434
- */
21435
- output: number;
21436
- /**
21437
- * Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
21438
- */
21439
- total: number;
21855
+ by_model: ModelTokenCounts[];
21440
21856
  }
21441
21857
  /**
21442
21858
  * Cursored append-only delivery of session records, ordered by feed_seq,
@@ -22745,4 +23161,4 @@ type ReviewsListResponse = components['schemas']['ReviewsListResponse'];
22745
23161
  type ReviewConfig = components['schemas']['ReviewConfig'];
22746
23162
  type ReviewConfigsListResponse = components['schemas']['ReviewConfigsListResponse'];
22747
23163
 
22748
- export type { CodexReasoning as $, AgentConfig as A, BudgetConfig as B, CheckRunAction as C, CodexConfig as D, CodexContextCompaction as E, CodexEffortLevel as F, CodexErrorEvent as G, CodexErrorItem as H, CodexErrorParams as I, CodexEvent as J, CodexFileChange as K, CodexFileChangeItem as L, CodexFileUpdate as M, CodexItem as N, CodexItemCompleted as O, CodexItemCompletedEvent as P, CodexItemParams as Q, CodexItemStarted as R, CodexItemStartedEvent as S, CodexItemUpdatedEvent as T, CodexLocalImageInput as U, CodexMcpToolCall as V, CodexMcpToolCallAppContext as W, CodexMcpToolCallError as X, CodexMcpToolCallItem as Y, CodexMcpToolCallResult as Z, CodexPlan as _, AgentIdentity as a, LegacyAssistantPayload as a$, CodexReasoningItem as a0, CodexSessionRecord as a1, CodexTextInput as a2, CodexThread as a3, CodexThreadStarted as a4, CodexThreadStartedEvent as a5, CodexThreadStartedParams as a6, CodexThreadTokenUsage as a7, CodexTodoListItem as a8, CodexTokenUsageBreakdown as a9, EnvironmentConfig as aA, EnvironmentHooks as aB, EnvironmentHooks1 as aC, EnvironmentOutputPayload as aD, EnvironmentOutputRecord as aE, EnvironmentPhasePayload as aF, EnvironmentPhaseRecord as aG, EnvironmentReadyPayload as aH, EnvironmentReadyRecord as aI, EnvironmentScript as aJ, EnvironmentSource as aK, EnvironmentVariable as aL, ErrorFrame as aM, GithubAccountFilter as aN, GithubAccountSelector as aO, GithubAccountSnippet as aP, GithubAccountType as aQ, GithubCheckRunEvent as aR, GithubIssueEvent as aS, GithubPermissions as aT, GithubPullRequestEvent as aU, GithubPushEvent as aV, GithubReleaseEvent as aW, HandlerService as aX, HeartbeatFrame as aY, InputContract as aZ, IssueAction as a_, CodexTokenUsageParams as aa, CodexTokenUsageUpdated as ab, CodexTurn as ac, CodexTurnCompleted as ad, CodexTurnCompletedEvent as ae, CodexTurnError as af, CodexTurnFailedEvent as ag, CodexTurnParams as ah, CodexTurnStarted as ai, CodexTurnStartedEvent as aj, CodexUsage as ak, CodexUserInput as al, CodexUserMessage as am, CodexWebSearch as an, CodexWebSearchItem as ao, ComputeConfig as ap, ComputeConfig1 as aq, ConfigMetadata as ar, CronTrigger as as, DeltaFrame as at, DoneFrame as au, Duration as av, EffortLevel as aw, EllipsisGrant as ax, EllipsisPermissions as ay, EnvironmentBaseBuild as az, AttributionType as b, SessionAgent as b$, LegacyNativeUsage as b0, LegacyResultPayload as b1, Level as b2, LifecycleSessionRecord as b3, LinearIssueAction as b4, LinearIssueEvent as b5, McpRemoteServer as b6, McpServerRef as b7, McpStdioServer as b8, MemorySize as b9, ReviewComment as bA, ReviewConfig as bB, ReviewConfigsListResponse as bC, ReviewPullRequest as bD, ReviewPullRequestAuthor as bE, ReviewReviewer as bF, ReviewSummary as bG, ReviewsListResponse as bH, SdkAssistantRecord as bI, SdkCacheCreation as bJ, SdkContentBlock as bK, SdkRateLimitRecord as bL, SdkRecord as bM, SdkResultRecord as bN, SdkServerToolResultBlock as bO, SdkServerToolUseBlock as bP, SdkSystemRecord as bQ, SdkTextBlock as bR, SdkThinkingBlock as bS, SdkToolResultBlock as bT, SdkToolUseBlock as bU, SdkUserRecord as bV, SendSessionMessageRequest as bW, SentryAction as bX, SentryAlertEvent as bY, Session as bZ, Session1 as b_, MessageDeliveredPayload as ba, MessageDeliveredRecord as bb, MessageReceivedPayload as bc, MessageReceivedRecord as bd, MessageRequeuedPayload as be, MessageRequeuedRecord as bf, OutputConfig as bg, PermissionsConfig as bh, PermissionsConfig1 as bi, PlatformSessionRecord as bj, PromptBlockedReason as bk, PullRequestAction as bl, ReactCheckRun as bm, ReactIssue as bn, ReactLinearIssue as bo, ReactPullRequest as bp, ReactPush as bq, ReactRelease as br, ReactSentry as bs, ReactSlackChannel as bt, ReactTrigger as bu, RecordsAppendFrame as bv, ReleaseAction as bw, RepositoryFilter as bx, RepositoryRef as by, Review as bz, components as c, SessionArchived as c0, SessionAttribution as c1, SessionClosedPayload as c2, SessionClosedRecord as c3, SessionConfig as c4, SessionConversation as c5, SessionConversationConfig as c6, SessionCost as c7, SessionCost1 as c8, SessionEnvironment as c9, SessionTurnResponse as cA, SessionTurnsListResponse as cB, SessionsListResponse as cC, SettingsRef as cD, SkillRef as cE, SlackChannelCreatedEvent as cF, SlackMessageEvent as cG, SnapshotFrame as cH, StreamFrame as cI, TokensInfo as cJ, TurnEndedPayload as cK, TurnEndedRecord as cL, TurnReason as cM, TurnStartedPayload as cN, TurnStartedRecord as cO, TurnStatus as cP, UnknownSessionRecord as cQ, UpdateSessionRequest as cR, paths as cS, SessionEventActor as ca, SessionFrame as cb, SessionGit as cc, SessionGitCommit as cd, SessionGitFile as ce, SessionGitPr as cf, SessionGitRepo as cg, SessionHandler as ch, SessionMessage as ci, SessionMessageImage as cj, SessionMessageResponse as ck, SessionMessageStatus as cl, SessionOutput as cm, SessionParent as cn, SessionPrompting as co, SessionRecord as cp, SessionRecordsListResponse as cq, SessionResponse as cr, SessionSource as cs, SessionState as ct, SessionStopped as cu, SessionStreamFrame as cv, SessionSummary as cw, SessionTokens as cx, SessionTokens1 as cy, SessionTurn as cz, ClaudeAssistantEvent as d, ClaudeAssistantMessage as e, ClaudeConfig as f, ClaudeConversationResetEvent as g, ClaudeNativeEvent as h, ClaudeNativeSessionRecord as i, ClaudeNativeUsage as j, ClaudeRateLimitEvent as k, ClaudeRateLimitInfo as l, ClaudeResultEvent as m, ClaudeSessionRecord as n, ClaudeSystemEvent as o, ClaudeUserEvent as p, ClaudeUserMessage as q, CodexAgentMessage as r, CodexAgentMessageItem as s, CodexAppServerError as t, CodexAppServerEvent as u, CodexAppServerItem as v, CodexAppServerNotification as w, CodexAppServerSessionRecord as x, CodexCommandExecution as y, CodexCommandExecutionItem as z };
23164
+ export type { CodexPlan as $, AgentConfig as A, BudgetConfig as B, CheckRunAction as C, CodexCommandExecutionItem as D, CodexConfig as E, CodexContextCompaction as F, CodexEffortLevel as G, CodexErrorEvent as H, CodexErrorItem as I, CodexErrorParams as J, CodexEvent as K, CodexFileChange as L, CodexFileChangeItem as M, CodexFileUpdate as N, CodexItem as O, CodexItemCompleted as P, CodexItemCompletedEvent as Q, CodexItemParams as R, CodexItemStarted as S, CodexItemStartedEvent as T, CodexItemUpdatedEvent as U, CodexLocalImageInput as V, CodexMcpToolCall as W, CodexMcpToolCallAppContext as X, CodexMcpToolCallError as Y, CodexMcpToolCallItem as Z, CodexMcpToolCallResult as _, AgentIdentity as a, GithubStatusEvent as a$, CodexReasoning as a0, CodexReasoningItem as a1, CodexSessionRecord as a2, CodexTextInput as a3, CodexThread as a4, CodexThreadStarted as a5, CodexThreadStartedEvent as a6, CodexThreadStartedParams as a7, CodexThreadTokenUsage as a8, CodexTodoListItem as a9, EllipsisGrant as aA, EllipsisPermissions as aB, EnvironmentBaseBuild as aC, EnvironmentConfig as aD, EnvironmentHooks as aE, EnvironmentHooks1 as aF, EnvironmentOutputPayload as aG, EnvironmentOutputRecord as aH, EnvironmentPhasePayload as aI, EnvironmentPhaseRecord as aJ, EnvironmentReadyPayload as aK, EnvironmentReadyRecord as aL, EnvironmentScript as aM, EnvironmentSource as aN, EnvironmentVariable as aO, ErrorFrame as aP, GithubAccountFilter as aQ, GithubAccountSelector as aR, GithubAccountSnippet as aS, GithubAccountType as aT, GithubCheckRunEvent as aU, GithubCheckSuiteEvent as aV, GithubIssueEvent as aW, GithubPermissions as aX, GithubPullRequestEvent as aY, GithubPushEvent as aZ, GithubReleaseEvent as a_, CodexTokenUsageBreakdown as aa, CodexTokenUsageParams as ab, CodexTokenUsageUpdated as ac, CodexTurn as ad, CodexTurnCompleted as ae, CodexTurnCompletedEvent as af, CodexTurnError as ag, CodexTurnFailedEvent as ah, CodexTurnParams as ai, CodexTurnStarted as aj, CodexTurnStartedEvent as ak, CodexUsage as al, CodexUserInput as am, CodexUserMessage as an, CodexWebSearch as ao, CodexWebSearchItem as ap, ComputeConfig as aq, ComputeConfig1 as ar, ConfigMetadata as as, Cost as at, Cost1 as au, CronTrigger as av, DeltaFrame as aw, DoneFrame as ax, Duration as ay, EffortLevel as az, AttributionType as b, SdkServerToolResultBlock as b$, GithubWorkflowRunEvent as b0, HandlerService as b1, HeartbeatFrame as b2, InputContract as b3, IssueAction as b4, LegacyAssistantPayload as b5, LegacyNativeUsage as b6, LegacyResultPayload as b7, Level as b8, LifecycleSessionRecord as b9, ReactPullRequest as bA, ReactPush as bB, ReactRelease as bC, ReactSentry as bD, ReactSlackChannel as bE, ReactStatus as bF, ReactTrigger as bG, ReactWorkflowRun as bH, RecordsAppendFrame as bI, ReleaseAction as bJ, RepositoryFilter as bK, RepositoryRef as bL, Review as bM, ReviewComment as bN, ReviewConfig as bO, ReviewConfigsListResponse as bP, ReviewPullRequest as bQ, ReviewPullRequestAuthor as bR, ReviewReviewer as bS, ReviewSummary as bT, ReviewsListResponse as bU, SdkAssistantRecord as bV, SdkCacheCreation as bW, SdkContentBlock as bX, SdkRateLimitRecord as bY, SdkRecord as bZ, SdkResultRecord as b_, LinearIssueAction as ba, LinearIssueEvent as bb, LlmCost as bc, LlmCostSplit as bd, McpRemoteServer as be, McpServerRef as bf, McpStdioServer as bg, MemorySize as bh, MessageDeliveredPayload as bi, MessageDeliveredRecord as bj, MessageReceivedPayload as bk, MessageReceivedRecord as bl, MessageRequeuedPayload as bm, MessageRequeuedRecord as bn, ModelLlmCostSplit as bo, ModelTokenCounts as bp, OutputConfig as bq, PermissionsConfig as br, PermissionsConfig1 as bs, PlatformSessionRecord as bt, PromptBlockedReason as bu, PullRequestAction as bv, ReactCheckRun as bw, ReactCheckSuite as bx, ReactIssue as by, ReactLinearIssue as bz, components as c, TurnStartedRecord as c$, SdkServerToolUseBlock as c0, SdkSystemRecord as c1, SdkTextBlock as c2, SdkThinkingBlock as c3, SdkToolResultBlock as c4, SdkToolUseBlock as c5, SdkUserRecord as c6, SendSessionMessageRequest as c7, SentryAction as c8, SentryAlertEvent as c9, SessionRecord as cA, SessionRecordsListResponse as cB, SessionResponse as cC, SessionSource as cD, SessionState as cE, SessionStopped as cF, SessionStreamFrame as cG, SessionSummary as cH, SessionTurn as cI, SessionTurnResponse as cJ, SessionTurnsListResponse as cK, SessionsListResponse as cL, SettingsRef as cM, SkillRef as cN, SlackChannelCreatedEvent as cO, SlackMessageEvent as cP, SnapshotFrame as cQ, StatusAction as cR, StreamFrame as cS, TokenCounts as cT, Tokens as cU, Tokens1 as cV, TokensInfo as cW, TurnEndedPayload as cX, TurnEndedRecord as cY, TurnReason as cZ, TurnStartedPayload as c_, Session as ca, Session1 as cb, SessionAgent as cc, SessionArchived as cd, SessionAttribution as ce, SessionClosedPayload as cf, SessionClosedRecord as cg, SessionConfig as ch, SessionConversation as ci, SessionConversationConfig as cj, SessionEnvironment as ck, SessionEventActor as cl, SessionFrame as cm, SessionGit as cn, SessionGitCommit as co, SessionGitFile as cp, SessionGitPr as cq, SessionGitRepo as cr, SessionHandler as cs, SessionMessage as ct, SessionMessageImage as cu, SessionMessageResponse as cv, SessionMessageStatus as cw, SessionOutput as cx, SessionParent as cy, SessionPrompting as cz, CheckSuiteAction as d, TurnStatus as d0, UnknownSessionRecord as d1, UpdateSessionRequest as d2, WorkflowRunAction as d3, paths as d4, ClaudeAssistantEvent as e, ClaudeAssistantMessage as f, ClaudeConfig as g, ClaudeConversationResetEvent as h, ClaudeNativeEvent as i, ClaudeNativeSessionRecord as j, ClaudeNativeUsage as k, ClaudeRateLimitEvent as l, ClaudeRateLimitInfo as m, ClaudeResultEvent as n, ClaudeSessionRecord as o, ClaudeSystemEvent as p, ClaudeUserEvent as q, ClaudeUserMessage as r, CodexAgentMessage as s, CodexAgentMessageItem as t, CodexAppServerError as u, CodexAppServerEvent as v, CodexAppServerItem as w, CodexAppServerNotification as x, CodexAppServerSessionRecord as y, CodexCommandExecution as z };