opik 2.0.62 → 2.0.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -371,6 +371,36 @@ interface GetLatestBlueprintRequest {
371
371
  maskId?: string;
372
372
  }
373
373
 
374
+ /**
375
+ * @example
376
+ * {
377
+ * body: {
378
+ * intervalStart: new Date("2024-01-15T09:30:00.000Z"),
379
+ * intervalEnd: new Date("2024-01-15T09:30:00.000Z")
380
+ * }
381
+ * }
382
+ */
383
+ interface GetSpendLaneBreakdownRequest {
384
+ body: SpendMetricRequest;
385
+ }
386
+
387
+ /**
388
+ * @example
389
+ * {
390
+ * body: {
391
+ * intervalStart: new Date("2024-01-15T09:30:00.000Z"),
392
+ * intervalEnd: new Date("2024-01-15T09:30:00.000Z")
393
+ * }
394
+ * }
395
+ */
396
+ interface GetSpendUsersRequest {
397
+ page?: number;
398
+ size?: number;
399
+ sorting?: string;
400
+ name?: string;
401
+ body: SpendMetricRequest;
402
+ }
403
+
374
404
  /**
375
405
  * @example
376
406
  * {}
@@ -455,6 +485,7 @@ interface AnnotationQueueUpdate {
455
485
  commentsEnabled?: boolean;
456
486
  feedbackDefinitionNames?: string[];
457
487
  annotatorsPerItem?: number;
488
+ lockTimeoutSeconds?: number;
458
489
  }
459
490
 
460
491
  /**
@@ -475,6 +506,18 @@ interface FindAnnotationQueuesRequest {
475
506
  */
476
507
  type GetAnnotationQueueByIdRequest = {};
477
508
 
509
+ /**
510
+ * @example
511
+ * {}
512
+ */
513
+ type GetAnnotationQueueLocksRequest = {};
514
+
515
+ /**
516
+ * @example
517
+ * {}
518
+ */
519
+ type LockAnnotationQueueItemRequest = {};
520
+
478
521
  /**
479
522
  * @example
480
523
  * {
@@ -1254,6 +1297,8 @@ interface ExperimentItemBulkUploadExperimentItemBulkWriteView {
1254
1297
  datasetName: string;
1255
1298
  /** Optional experiment ID. If provided, items will be added to the existing experiment and experimentName will be ignored. If not provided or experiment with that ID doesn't exist, a new experiment will be created with the given experimentName */
1256
1299
  experimentId?: string;
1300
+ /** Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If null, the default project is used; relying on this fallback is deprecated, please provide project_name explicitly. */
1301
+ projectName?: string;
1257
1302
  items: ExperimentItemBulkRecordExperimentItemBulkWriteView[];
1258
1303
  }
1259
1304
 
@@ -1571,6 +1616,79 @@ declare const ProviderApiKeyWriteProvider: {
1571
1616
  };
1572
1617
  type ProviderApiKeyWriteProvider = (typeof ProviderApiKeyWriteProvider)[keyof typeof ProviderApiKeyWriteProvider];
1573
1618
 
1619
+ /**
1620
+ * @example
1621
+ * {
1622
+ * clientId: "client_id",
1623
+ * redirectUri: "redirect_uri"
1624
+ * }
1625
+ */
1626
+ interface AuthorizeRequest {
1627
+ clientId: string;
1628
+ redirectUri: string;
1629
+ responseType?: string;
1630
+ codeChallenge?: string;
1631
+ codeChallengeMethod?: string;
1632
+ resource?: string;
1633
+ state?: string;
1634
+ }
1635
+
1636
+ /**
1637
+ * @example
1638
+ * {
1639
+ * clientId: "client_id",
1640
+ * redirectUri: "redirect_uri",
1641
+ * codeChallenge: "code_challenge",
1642
+ * codeChallengeMethod: "code_challenge_method",
1643
+ * resource: "resource"
1644
+ * }
1645
+ */
1646
+ interface ConsentRequest {
1647
+ clientId: string;
1648
+ redirectUri: string;
1649
+ codeChallenge: string;
1650
+ codeChallengeMethod: string;
1651
+ resource: string;
1652
+ state?: string;
1653
+ workspaceId?: string;
1654
+ workspaceName?: string;
1655
+ csrf?: string;
1656
+ }
1657
+
1658
+ /**
1659
+ * @example
1660
+ * {
1661
+ * clientId: "client_id",
1662
+ * redirectUri: "redirect_uri"
1663
+ * }
1664
+ */
1665
+ interface GetAuthorizeContextRequest {
1666
+ clientId: string;
1667
+ redirectUri: string;
1668
+ }
1669
+
1670
+ /**
1671
+ * @example
1672
+ * {}
1673
+ */
1674
+ interface RevokeRequest {
1675
+ token?: string;
1676
+ clientId?: string;
1677
+ }
1678
+
1679
+ /**
1680
+ * @example
1681
+ * {}
1682
+ */
1683
+ interface TokenRequest {
1684
+ grantType?: string;
1685
+ code?: string;
1686
+ redirectUri?: string;
1687
+ clientId?: string;
1688
+ codeVerifier?: string;
1689
+ refreshToken?: string;
1690
+ }
1691
+
1574
1692
  /**
1575
1693
  * @example
1576
1694
  * {}
@@ -2171,6 +2289,57 @@ interface ProjectsRedirectRequest {
2171
2289
  path: string;
2172
2290
  }
2173
2291
 
2292
+ /**
2293
+ * @example
2294
+ * {}
2295
+ */
2296
+ type GenerateReportRequest = {};
2297
+
2298
+ /**
2299
+ * @example
2300
+ * {}
2301
+ */
2302
+ type GetReportPreferenceRequest = {};
2303
+
2304
+ /**
2305
+ * @example
2306
+ * {}
2307
+ */
2308
+ interface GetReportsRequest {
2309
+ page?: number;
2310
+ size?: number;
2311
+ }
2312
+
2313
+ /**
2314
+ * @example
2315
+ * {
2316
+ * status: "pending"
2317
+ * }
2318
+ */
2319
+ interface ReportCompleteRequest {
2320
+ content?: string;
2321
+ status: ReportCompleteRequestStatus;
2322
+ sessionId?: string;
2323
+ recommendedActions?: JsonNode;
2324
+ }
2325
+
2326
+ /**
2327
+ * @example
2328
+ * {
2329
+ * body: {}
2330
+ * }
2331
+ */
2332
+ interface UpdateReportPreferenceRequest {
2333
+ body: ReportPreference;
2334
+ }
2335
+
2336
+ declare const ReportCompleteRequestStatus: {
2337
+ readonly Pending: "pending";
2338
+ readonly Completed: "completed";
2339
+ readonly Failed: "failed";
2340
+ };
2341
+ type ReportCompleteRequestStatus = (typeof ReportCompleteRequestStatus)[keyof typeof ReportCompleteRequestStatus];
2342
+
2174
2343
  /**
2175
2344
  * @example
2176
2345
  * {}
@@ -3360,6 +3529,7 @@ interface AnnotationQueuePublic {
3360
3529
  commentsEnabled?: boolean;
3361
3530
  feedbackDefinitionNames?: string[];
3362
3531
  annotatorsPerItem?: number;
3532
+ lockTimeoutSeconds?: number;
3363
3533
  reviewers?: AnnotationQueueReviewerPublic[];
3364
3534
  feedbackScores?: FeedbackScoreAveragePublic[];
3365
3535
  itemsCount?: number;
@@ -3393,6 +3563,7 @@ interface AnnotationQueueWrite {
3393
3563
  commentsEnabled?: boolean;
3394
3564
  feedbackDefinitionNames?: string[];
3395
3565
  annotatorsPerItem?: number;
3566
+ lockTimeoutSeconds?: number;
3396
3567
  }
3397
3568
 
3398
3569
  declare const AnnotationQueueWriteScope: {
@@ -3493,6 +3664,25 @@ interface AudioUrlWrite {
3493
3664
 
3494
3665
  type AuthDetailsHolder = Record<string, unknown>;
3495
3666
 
3667
+ interface AuthorizationServerMetadata {
3668
+ issuer?: string;
3669
+ authorizationEndpoint?: string;
3670
+ tokenEndpoint?: string;
3671
+ revocationEndpoint?: string;
3672
+ registrationEndpoint?: string;
3673
+ responseTypesSupported?: string[];
3674
+ grantTypesSupported?: string[];
3675
+ codeChallengeMethodsSupported?: string[];
3676
+ tokenEndpointAuthMethodsSupported?: string[];
3677
+ }
3678
+
3679
+ interface AuthorizeContext {
3680
+ clientName?: string;
3681
+ clientLogoUri?: string;
3682
+ workspaces?: WorkspaceInfo[];
3683
+ csrfToken?: string;
3684
+ }
3685
+
3496
3686
  interface AutomationRuleEvaluatorLlmAsJudgePublic {
3497
3687
  filters?: TraceFilterPublic[];
3498
3688
  code?: LlmAsJudgeCodePublic;
@@ -4078,6 +4268,10 @@ interface CompletionTokensDetails {
4078
4268
  reasoningTokens?: number;
4079
4269
  }
4080
4270
 
4271
+ interface ConsentResponse {
4272
+ redirectTo?: string;
4273
+ }
4274
+
4081
4275
  interface CountValueStatPublic {
4082
4276
  value?: number;
4083
4277
  }
@@ -5238,6 +5432,13 @@ interface FunctionCall {
5238
5432
  arguments?: string;
5239
5433
  }
5240
5434
 
5435
+ /**
5436
+ * Response for report generation trigger
5437
+ */
5438
+ interface GenerateReportResponse {
5439
+ reportId?: string;
5440
+ }
5441
+
5241
5442
  interface GroupContent {
5242
5443
  label?: string;
5243
5444
  }
@@ -5289,6 +5490,11 @@ declare const GuardrailWriteResult: {
5289
5490
  };
5290
5491
  type GuardrailWriteResult = (typeof GuardrailWriteResult)[keyof typeof GuardrailWriteResult];
5291
5492
 
5493
+ interface HarnessEntry {
5494
+ key?: string;
5495
+ label?: string;
5496
+ }
5497
+
5292
5498
  interface ImageUrl {
5293
5499
  url: string;
5294
5500
  detail?: string;
@@ -5304,6 +5510,28 @@ interface ImageUrlWrite {
5304
5510
  detail?: string;
5305
5511
  }
5306
5512
 
5513
+ interface Item {
5514
+ id?: string;
5515
+ title?: string;
5516
+ body?: string;
5517
+ impact?: ItemImpact;
5518
+ estimatedSavingsTokens?: number;
5519
+ docsUrl?: string;
5520
+ relatedLaneKey?: string;
5521
+ }
5522
+
5523
+ declare const ItemImpact: {
5524
+ readonly High: "high";
5525
+ readonly Medium: "medium";
5526
+ readonly Low: "low";
5527
+ };
5528
+ type ItemImpact = (typeof ItemImpact)[keyof typeof ItemImpact];
5529
+
5530
+ interface ItemLockInfo {
5531
+ activeLocks?: number;
5532
+ lockedBy?: string[];
5533
+ }
5534
+
5307
5535
  type JsonListString = Record<string, unknown> | Record<string, unknown>[] | string;
5308
5536
 
5309
5537
  type JsonListStringCompare = Record<string, unknown> | Record<string, unknown>[] | string;
@@ -5350,6 +5578,14 @@ declare const KpiMetricType: {
5350
5578
  };
5351
5579
  type KpiMetricType = (typeof KpiMetricType)[keyof typeof KpiMetricType];
5352
5580
 
5581
+ interface Lane {
5582
+ key?: string;
5583
+ label?: string;
5584
+ totalTokens?: number;
5585
+ byModel?: ModelTiers[];
5586
+ hasBreakdown?: boolean;
5587
+ }
5588
+
5353
5589
  interface LlmAsJudgeCode {
5354
5590
  model: LlmAsJudgeModelParameters;
5355
5591
  messages: LlmAsJudgeMessage[];
@@ -5592,6 +5828,17 @@ declare const LocalRunnerType: {
5592
5828
  };
5593
5829
  type LocalRunnerType = (typeof LocalRunnerType)[keyof typeof LocalRunnerType];
5594
5830
 
5831
+ interface LockResponse {
5832
+ acquired?: boolean;
5833
+ itemId?: string;
5834
+ lockedBy?: string;
5835
+ expiresAt?: Date;
5836
+ }
5837
+
5838
+ interface LocksResponse {
5839
+ locks?: Record<string, ItemLockInfo>;
5840
+ }
5841
+
5595
5842
  interface LogItem {
5596
5843
  timestamp?: Date;
5597
5844
  ruleId?: string;
@@ -5657,6 +5904,14 @@ interface Message {
5657
5904
  content: JsonNode;
5658
5905
  }
5659
5906
 
5907
+ interface ModelTiers {
5908
+ model?: string;
5909
+ inputTokens?: number;
5910
+ cacheReadTokens?: number;
5911
+ cacheCreationTokens?: number;
5912
+ outputTokens?: number;
5913
+ }
5914
+
5660
5915
  interface MultipartUploadPart {
5661
5916
  eTag: string;
5662
5917
  partNumber: number;
@@ -5729,6 +5984,31 @@ interface OllamaModel {
5729
5984
  modifiedAt?: Date;
5730
5985
  }
5731
5986
 
5987
+ interface OllieReport {
5988
+ id?: string;
5989
+ projectId?: string;
5990
+ sessionId?: string;
5991
+ content?: string;
5992
+ recommendedActions?: JsonNode;
5993
+ status?: OllieReportStatus;
5994
+ createdAt?: Date;
5995
+ lastUpdatedAt?: Date;
5996
+ }
5997
+
5998
+ interface OllieReportPage {
5999
+ page?: number;
6000
+ size?: number;
6001
+ total?: number;
6002
+ content?: OllieReport[];
6003
+ }
6004
+
6005
+ declare const OllieReportStatus: {
6006
+ readonly Pending: "pending";
6007
+ readonly Completed: "completed";
6008
+ readonly Failed: "failed";
6009
+ };
6010
+ type OllieReportStatus = (typeof OllieReportStatus)[keyof typeof OllieReportStatus];
6011
+
5732
6012
  interface OptimizationPagePublic {
5733
6013
  page?: number;
5734
6014
  size?: number;
@@ -6248,12 +6528,13 @@ interface RecentActivityItemPublic {
6248
6528
  }
6249
6529
 
6250
6530
  declare const RecentActivityItemPublicType: {
6531
+ readonly TraceDaily: "trace_daily";
6251
6532
  readonly Experiment: "experiment";
6252
6533
  readonly DatasetVersion: "dataset_version";
6253
6534
  readonly TestSuiteVersion: "test_suite_version";
6254
6535
  readonly AlertEvent: "alert_event";
6255
6536
  readonly Optimization: "optimization";
6256
- readonly AgentConfigVersion: "agent_config_version";
6537
+ readonly PromptVersion: "prompt_version";
6257
6538
  };
6258
6539
  type RecentActivityItemPublicType = (typeof RecentActivityItemPublicType)[keyof typeof RecentActivityItemPublicType];
6259
6540
 
@@ -6264,6 +6545,15 @@ interface RecentActivityPagePublic {
6264
6545
  content?: RecentActivityItemPublic[];
6265
6546
  }
6266
6547
 
6548
+ interface ReportPreference {
6549
+ projectId?: string;
6550
+ enabled?: boolean;
6551
+ scheduleTime?: string;
6552
+ customPrompt?: string;
6553
+ createdAt?: Date;
6554
+ lastUpdatedAt?: Date;
6555
+ }
6556
+
6267
6557
  interface ResponseFormat {
6268
6558
  type?: ResponseFormatType;
6269
6559
  jsonSchema?: JsonSchema;
@@ -6362,7 +6652,9 @@ interface ServiceTogglesConfig {
6362
6652
  customllmProviderEnabled: boolean;
6363
6653
  ollamaProviderEnabled: boolean;
6364
6654
  ollieEnabled: boolean;
6655
+ projectHomepageEnabled: boolean;
6365
6656
  agenticToolsEnabled: boolean;
6657
+ agentInsightsEnabled: boolean;
6366
6658
  v2WorkspaceAllowlistIds: string[];
6367
6659
  v1WorkspaceAllowlistIds: string[];
6368
6660
  forceWorkspaceVersion: string;
@@ -6371,6 +6663,11 @@ interface ServiceTogglesConfig {
6371
6663
  v1WorkspaceAllowlist?: string;
6372
6664
  }
6373
6665
 
6666
+ interface Side {
6667
+ totalTokens?: number;
6668
+ lanes?: Lane[];
6669
+ }
6670
+
6374
6671
  interface Span$1 {
6375
6672
  id?: string;
6376
6673
  /** If null, the default project is used */
@@ -6735,6 +7032,66 @@ declare const SpanWriteType: {
6735
7032
  };
6736
7033
  type SpanWriteType = (typeof SpanWriteType)[keyof typeof SpanWriteType];
6737
7034
 
7035
+ interface SpendBreakdownResponse {
7036
+ laneKey?: string;
7037
+ title?: string;
7038
+ subtitle?: string;
7039
+ totalTokens?: number;
7040
+ byModel?: ModelTiers[];
7041
+ itemCount?: number;
7042
+ itemUnit?: string;
7043
+ items?: Item[];
7044
+ }
7045
+
7046
+ interface SpendCompositionResponse {
7047
+ input?: Side;
7048
+ harness?: HarnessEntry[];
7049
+ output?: Side;
7050
+ }
7051
+
7052
+ interface SpendMetricRequest {
7053
+ projectId?: string;
7054
+ projectName?: string;
7055
+ intervalStart: Date;
7056
+ intervalEnd: Date;
7057
+ userId?: string;
7058
+ startBeforeEnd?: boolean;
7059
+ projectProvided?: boolean;
7060
+ }
7061
+
7062
+ interface SpendRecommendationsResponse {
7063
+ totalSavingsTokens?: number;
7064
+ items?: Item[];
7065
+ }
7066
+
7067
+ interface SpendSummaryResponse {
7068
+ results?: Result[];
7069
+ spendCurrent?: ModelTiers[];
7070
+ spendPrevious?: ModelTiers[];
7071
+ }
7072
+
7073
+ interface SpendUserPage {
7074
+ page?: number;
7075
+ size?: number;
7076
+ total?: number;
7077
+ content?: SpendUserRow[];
7078
+ sortableBy?: string[];
7079
+ }
7080
+
7081
+ interface SpendUserRow {
7082
+ userUuid?: string;
7083
+ userEmail?: string;
7084
+ userDisplayName?: string;
7085
+ byModel?: ModelTiers[];
7086
+ totalTokens?: number;
7087
+ requests?: number;
7088
+ skills?: number;
7089
+ mcps?: number;
7090
+ mcpCalls?: number;
7091
+ repositories?: string[];
7092
+ flags?: string[];
7093
+ }
7094
+
6738
7095
  interface StartMultipartUploadResponse {
6739
7096
  uploadId: string;
6740
7097
  preSignUrls: string[];
@@ -6800,6 +7157,15 @@ interface StudioPromptWrite {
6800
7157
  messages: StudioMessageWrite[];
6801
7158
  }
6802
7159
 
7160
+ interface TokenResponse {
7161
+ accessToken?: string;
7162
+ refreshToken?: string;
7163
+ tokenType?: string;
7164
+ expiresIn?: number;
7165
+ workspaceId?: string;
7166
+ workspaceName?: string;
7167
+ }
7168
+
6803
7169
  interface TokenUsageNames {
6804
7170
  names?: string[];
6805
7171
  }
@@ -7430,6 +7796,11 @@ interface WorkspaceConfiguration {
7430
7796
  colorMap?: Record<string, string>;
7431
7797
  }
7432
7798
 
7799
+ interface WorkspaceInfo {
7800
+ id?: string;
7801
+ name?: string;
7802
+ }
7803
+
7433
7804
  interface WorkspaceMetricResponse {
7434
7805
  results?: Result[];
7435
7806
  }
@@ -7768,6 +8139,104 @@ declare class AgentConfigsClient {
7768
8139
  private __removeConfigKeys;
7769
8140
  }
7770
8141
 
8142
+ declare namespace AiSpendClient {
8143
+ type Options = BaseClientOptions;
8144
+ interface RequestOptions extends BaseRequestOptions {
8145
+ }
8146
+ }
8147
+ /**
8148
+ * Coding-agent spend analytics
8149
+ */
8150
+ declare class AiSpendClient {
8151
+ protected readonly _options: NormalizedClientOptions<AiSpendClient.Options>;
8152
+ constructor(options?: AiSpendClient.Options);
8153
+ /**
8154
+ * Get coding-agent token-flow composition (Sankey)
8155
+ *
8156
+ * @param {OpikApi.SpendMetricRequest} request
8157
+ * @param {AiSpendClient.RequestOptions} requestOptions - Request-specific configuration.
8158
+ *
8159
+ * @throws {@link OpikApi.BadRequestError}
8160
+ *
8161
+ * @example
8162
+ * await client.aiSpend.getSpendComposition({
8163
+ * intervalStart: new Date("2024-01-15T09:30:00.000Z"),
8164
+ * intervalEnd: new Date("2024-01-15T09:30:00.000Z")
8165
+ * })
8166
+ */
8167
+ getSpendComposition(request: SpendMetricRequest, requestOptions?: AiSpendClient.RequestOptions): HttpResponsePromise<SpendCompositionResponse>;
8168
+ private __getSpendComposition;
8169
+ /**
8170
+ * Get the per-item breakdown for a composition lane
8171
+ *
8172
+ * @param {string} laneKey
8173
+ * @param {OpikApi.GetSpendLaneBreakdownRequest} request
8174
+ * @param {AiSpendClient.RequestOptions} requestOptions - Request-specific configuration.
8175
+ *
8176
+ * @throws {@link OpikApi.BadRequestError}
8177
+ *
8178
+ * @example
8179
+ * await client.aiSpend.getSpendLaneBreakdown("laneKey", {
8180
+ * body: {
8181
+ * intervalStart: new Date("2024-01-15T09:30:00.000Z"),
8182
+ * intervalEnd: new Date("2024-01-15T09:30:00.000Z")
8183
+ * }
8184
+ * })
8185
+ */
8186
+ getSpendLaneBreakdown(laneKey: string, request: GetSpendLaneBreakdownRequest, requestOptions?: AiSpendClient.RequestOptions): HttpResponsePromise<SpendBreakdownResponse>;
8187
+ private __getSpendLaneBreakdown;
8188
+ /**
8189
+ * Get coding-agent cost-saving recommendations
8190
+ *
8191
+ * @param {OpikApi.SpendMetricRequest} request
8192
+ * @param {AiSpendClient.RequestOptions} requestOptions - Request-specific configuration.
8193
+ *
8194
+ * @throws {@link OpikApi.BadRequestError}
8195
+ *
8196
+ * @example
8197
+ * await client.aiSpend.getSpendRecommendations({
8198
+ * intervalStart: new Date("2024-01-15T09:30:00.000Z"),
8199
+ * intervalEnd: new Date("2024-01-15T09:30:00.000Z")
8200
+ * })
8201
+ */
8202
+ getSpendRecommendations(request: SpendMetricRequest, requestOptions?: AiSpendClient.RequestOptions): HttpResponsePromise<SpendRecommendationsResponse>;
8203
+ private __getSpendRecommendations;
8204
+ /**
8205
+ * Get coding-agent spend KPI summary
8206
+ *
8207
+ * @param {OpikApi.SpendMetricRequest} request
8208
+ * @param {AiSpendClient.RequestOptions} requestOptions - Request-specific configuration.
8209
+ *
8210
+ * @throws {@link OpikApi.BadRequestError}
8211
+ *
8212
+ * @example
8213
+ * await client.aiSpend.getSpendSummary({
8214
+ * intervalStart: new Date("2024-01-15T09:30:00.000Z"),
8215
+ * intervalEnd: new Date("2024-01-15T09:30:00.000Z")
8216
+ * })
8217
+ */
8218
+ getSpendSummary(request: SpendMetricRequest, requestOptions?: AiSpendClient.RequestOptions): HttpResponsePromise<SpendSummaryResponse>;
8219
+ private __getSpendSummary;
8220
+ /**
8221
+ * Get coding-agent spend per user
8222
+ *
8223
+ * @param {OpikApi.GetSpendUsersRequest} request
8224
+ * @param {AiSpendClient.RequestOptions} requestOptions - Request-specific configuration.
8225
+ *
8226
+ * @throws {@link OpikApi.BadRequestError}
8227
+ *
8228
+ * @example
8229
+ * await client.aiSpend.getSpendUsers({
8230
+ * body: {
8231
+ * intervalStart: new Date("2024-01-15T09:30:00.000Z"),
8232
+ * intervalEnd: new Date("2024-01-15T09:30:00.000Z")
8233
+ * }
8234
+ * })
8235
+ */
8236
+ getSpendUsers(request: GetSpendUsersRequest, requestOptions?: AiSpendClient.RequestOptions): HttpResponsePromise<SpendUserPage>;
8237
+ private __getSpendUsers;
8238
+ }
8239
+
7771
8240
  declare namespace AlertsClient {
7772
8241
  type Options = BaseClientOptions;
7773
8242
  interface RequestOptions extends BaseRequestOptions {
@@ -8012,6 +8481,31 @@ declare class AnnotationQueuesClient {
8012
8481
  */
8013
8482
  updateAnnotationQueue(id: string, request?: AnnotationQueueUpdate, requestOptions?: AnnotationQueuesClient.RequestOptions): HttpResponsePromise<void>;
8014
8483
  private __updateAnnotationQueue;
8484
+ /**
8485
+ * Returns lock status for all actively locked items in the queue
8486
+ *
8487
+ * @param {string} queueId
8488
+ * @param {OpikApi.GetAnnotationQueueLocksRequest} request
8489
+ * @param {AnnotationQueuesClient.RequestOptions} requestOptions - Request-specific configuration.
8490
+ *
8491
+ * @example
8492
+ * await client.annotationQueues.getAnnotationQueueLocks("queueId")
8493
+ */
8494
+ getAnnotationQueueLocks(queueId: string, request?: GetAnnotationQueueLocksRequest, requestOptions?: AnnotationQueuesClient.RequestOptions): HttpResponsePromise<LocksResponse>;
8495
+ private __getAnnotationQueueLocks;
8496
+ /**
8497
+ * Claim an annotation queue item for the current user, or extend an existing lock
8498
+ *
8499
+ * @param {string} queueId
8500
+ * @param {string} itemId
8501
+ * @param {OpikApi.LockAnnotationQueueItemRequest} request
8502
+ * @param {AnnotationQueuesClient.RequestOptions} requestOptions - Request-specific configuration.
8503
+ *
8504
+ * @example
8505
+ * await client.annotationQueues.lockAnnotationQueueItem("queueId", "itemId")
8506
+ */
8507
+ lockAnnotationQueueItem(queueId: string, itemId: string, request?: LockAnnotationQueueItemRequest, requestOptions?: AnnotationQueuesClient.RequestOptions): HttpResponsePromise<LockResponse>;
8508
+ private __lockAnnotationQueueItem;
8015
8509
  /**
8016
8510
  * Remove items from annotation queue
8017
8511
  *
@@ -9731,6 +10225,98 @@ declare class ManualEvaluationClient {
9731
10225
  private __evaluateTraces;
9732
10226
  }
9733
10227
 
10228
+ declare namespace McpOAuthClient {
10229
+ type Options = BaseClientOptions;
10230
+ interface RequestOptions extends BaseRequestOptions {
10231
+ }
10232
+ }
10233
+ /**
10234
+ * MCP OAuth 2.1 Authorization Server resources
10235
+ */
10236
+ declare class McpOAuthClient {
10237
+ protected readonly _options: NormalizedClientOptions<McpOAuthClient.Options>;
10238
+ constructor(options?: McpOAuthClient.Options);
10239
+ /**
10240
+ * OAuth 2.1 authorization endpoint (RFC 6749 §3.1). Validates the client and PKCE parameters, then redirects to the login or consent page
10241
+ *
10242
+ * @param {OpikApi.AuthorizeRequest} request
10243
+ * @param {McpOAuthClient.RequestOptions} requestOptions - Request-specific configuration.
10244
+ *
10245
+ * @example
10246
+ * await client.mcpOAuth.authorize({
10247
+ * clientId: "client_id",
10248
+ * redirectUri: "redirect_uri"
10249
+ * })
10250
+ */
10251
+ authorize(request: AuthorizeRequest, requestOptions?: McpOAuthClient.RequestOptions): HttpResponsePromise<void>;
10252
+ private __authorize;
10253
+ /**
10254
+ * Submit the user's consent, issue an authorization code, and return the client redirect target
10255
+ *
10256
+ * @param {OpikApi.ConsentRequest} request
10257
+ * @param {McpOAuthClient.RequestOptions} requestOptions - Request-specific configuration.
10258
+ *
10259
+ * @example
10260
+ * await client.mcpOAuth.consent({
10261
+ * clientId: "client_id",
10262
+ * redirectUri: "redirect_uri",
10263
+ * codeChallenge: "code_challenge",
10264
+ * codeChallengeMethod: "code_challenge_method",
10265
+ * resource: "resource"
10266
+ * })
10267
+ */
10268
+ consent(request: ConsentRequest, requestOptions?: McpOAuthClient.RequestOptions): HttpResponsePromise<ConsentResponse>;
10269
+ private __consent;
10270
+ /**
10271
+ * Get the client details, eligible workspaces, and a CSRF token used to render the consent screen
10272
+ *
10273
+ * @param {OpikApi.GetAuthorizeContextRequest} request
10274
+ * @param {McpOAuthClient.RequestOptions} requestOptions - Request-specific configuration.
10275
+ *
10276
+ * @example
10277
+ * await client.mcpOAuth.getAuthorizeContext({
10278
+ * clientId: "client_id",
10279
+ * redirectUri: "redirect_uri"
10280
+ * })
10281
+ */
10282
+ getAuthorizeContext(request: GetAuthorizeContextRequest, requestOptions?: McpOAuthClient.RequestOptions): HttpResponsePromise<AuthorizeContext>;
10283
+ private __getAuthorizeContext;
10284
+ /**
10285
+ * Get OAuth 2.1 Authorization Server Metadata (RFC 8414)
10286
+ *
10287
+ * @param {McpOAuthClient.RequestOptions} requestOptions - Request-specific configuration.
10288
+ *
10289
+ * @example
10290
+ * await client.mcpOAuth.getOAuthAuthorizationServerMetadata()
10291
+ */
10292
+ getOAuthAuthorizationServerMetadata(requestOptions?: McpOAuthClient.RequestOptions): HttpResponsePromise<AuthorizationServerMetadata>;
10293
+ private __getOAuthAuthorizationServerMetadata;
10294
+ /**
10295
+ * OAuth 2.0 token revocation endpoint (RFC 7009). Always returns 200, whether the token was revoked, never existed, or was invalid
10296
+ *
10297
+ * @param {OpikApi.RevokeRequest} request
10298
+ * @param {McpOAuthClient.RequestOptions} requestOptions - Request-specific configuration.
10299
+ *
10300
+ * @example
10301
+ * await client.mcpOAuth.revoke()
10302
+ */
10303
+ revoke(request?: RevokeRequest, requestOptions?: McpOAuthClient.RequestOptions): HttpResponsePromise<void>;
10304
+ private __revoke;
10305
+ /**
10306
+ * OAuth 2.1 token endpoint (RFC 6749 §4.1.3, §6). Exchanges an authorization code with PKCE or a refresh token for an access/refresh token pair
10307
+ *
10308
+ * @param {OpikApi.TokenRequest} request
10309
+ * @param {McpOAuthClient.RequestOptions} requestOptions - Request-specific configuration.
10310
+ *
10311
+ * @throws {@link OpikApi.BadRequestError}
10312
+ *
10313
+ * @example
10314
+ * await client.mcpOAuth.token()
10315
+ */
10316
+ token(request?: TokenRequest, requestOptions?: McpOAuthClient.RequestOptions): HttpResponsePromise<TokenResponse>;
10317
+ private __token;
10318
+ }
10319
+
9734
10320
  declare namespace OllamaClient {
9735
10321
  type Options = BaseClientOptions;
9736
10322
  interface RequestOptions extends BaseRequestOptions {
@@ -10658,6 +11244,89 @@ declare class RedirectClient {
10658
11244
  private __projectsRedirect;
10659
11245
  }
10660
11246
 
11247
+ declare namespace ReportsClient {
11248
+ type Options = BaseClientOptions;
11249
+ interface RequestOptions extends BaseRequestOptions {
11250
+ }
11251
+ }
11252
+ /**
11253
+ * Ollie daily report management
11254
+ */
11255
+ declare class ReportsClient {
11256
+ protected readonly _options: NormalizedClientOptions<ReportsClient.Options>;
11257
+ constructor(options?: ReportsClient.Options);
11258
+ /**
11259
+ * Callback from Ollie to update report status and content after generation.
11260
+ *
11261
+ * @param {string} projectId
11262
+ * @param {string} reportId
11263
+ * @param {OpikApi.ReportCompleteRequest} request
11264
+ * @param {ReportsClient.RequestOptions} requestOptions - Request-specific configuration.
11265
+ *
11266
+ * @throws {@link OpikApi.NotFoundError}
11267
+ *
11268
+ * @example
11269
+ * await client.reports.completeReport("projectId", "reportId", {
11270
+ * status: "pending"
11271
+ * })
11272
+ */
11273
+ completeReport(projectId: string, reportId: string, request: ReportCompleteRequest, requestOptions?: ReportsClient.RequestOptions): HttpResponsePromise<void>;
11274
+ private __completeReport;
11275
+ /**
11276
+ * Creates a pending report and triggers asynchronous generation via the orchestrator.
11277
+ *
11278
+ * @param {string} projectId
11279
+ * @param {OpikApi.GenerateReportRequest} request
11280
+ * @param {ReportsClient.RequestOptions} requestOptions - Request-specific configuration.
11281
+ *
11282
+ * @throws {@link OpikApi.UnauthorizedError}
11283
+ * @throws {@link OpikApi.ForbiddenError}
11284
+ *
11285
+ * @example
11286
+ * await client.reports.generateReport("projectId")
11287
+ */
11288
+ generateReport(projectId: string, request?: GenerateReportRequest, requestOptions?: ReportsClient.RequestOptions): HttpResponsePromise<GenerateReportResponse>;
11289
+ private __generateReport;
11290
+ /**
11291
+ * Returns report preferences for a project, or null if none have been set.
11292
+ *
11293
+ * @param {string} projectId
11294
+ * @param {OpikApi.GetReportPreferenceRequest} request
11295
+ * @param {ReportsClient.RequestOptions} requestOptions - Request-specific configuration.
11296
+ *
11297
+ * @example
11298
+ * await client.reports.getReportPreference("projectId")
11299
+ */
11300
+ getReportPreference(projectId: string, request?: GetReportPreferenceRequest, requestOptions?: ReportsClient.RequestOptions): HttpResponsePromise<ReportPreference>;
11301
+ private __getReportPreference;
11302
+ /**
11303
+ * Enable or disable daily report generation for a project.
11304
+ *
11305
+ * @param {string} projectId
11306
+ * @param {OpikApi.UpdateReportPreferenceRequest} request
11307
+ * @param {ReportsClient.RequestOptions} requestOptions - Request-specific configuration.
11308
+ *
11309
+ * @example
11310
+ * await client.reports.updateReportPreference("projectId", {
11311
+ * body: {}
11312
+ * })
11313
+ */
11314
+ updateReportPreference(projectId: string, request: UpdateReportPreferenceRequest, requestOptions?: ReportsClient.RequestOptions): HttpResponsePromise<ReportPreference>;
11315
+ private __updateReportPreference;
11316
+ /**
11317
+ * Returns a paginated list of reports, newest first.
11318
+ *
11319
+ * @param {string} projectId
11320
+ * @param {OpikApi.GetReportsRequest} request
11321
+ * @param {ReportsClient.RequestOptions} requestOptions - Request-specific configuration.
11322
+ *
11323
+ * @example
11324
+ * await client.reports.getReports("projectId")
11325
+ */
11326
+ getReports(projectId: string, request?: GetReportsRequest, requestOptions?: ReportsClient.RequestOptions): HttpResponsePromise<OllieReportPage>;
11327
+ private __getReports;
11328
+ }
11329
+
10661
11330
  declare namespace RetentionRulesClient {
10662
11331
  type Options = BaseClientOptions;
10663
11332
  interface RequestOptions extends BaseRequestOptions {
@@ -12063,8 +12732,10 @@ declare namespace OpikApiClient {
12063
12732
  }
12064
12733
  declare class OpikApiClient {
12065
12734
  protected readonly _options: NormalizedClientOptions<OpikApiClient.Options>;
12735
+ protected _mcpOAuth: McpOAuthClient | undefined;
12066
12736
  protected _systemUsage: SystemUsageClient | undefined;
12067
12737
  protected _agentConfigs: AgentConfigsClient | undefined;
12738
+ protected _aiSpend: AiSpendClient | undefined;
12068
12739
  protected _alerts: AlertsClient | undefined;
12069
12740
  protected _annotationQueues: AnnotationQueuesClient | undefined;
12070
12741
  protected _assertionResults: AssertionResultsClient | undefined;
@@ -12090,6 +12761,7 @@ declare class OpikApiClient {
12090
12761
  protected _pairing: PairingClient | undefined;
12091
12762
  protected _projects: ProjectsClient | undefined;
12092
12763
  protected _prompts: PromptsClient | undefined;
12764
+ protected _reports: ReportsClient | undefined;
12093
12765
  protected _retentionRules: RetentionRulesClient | undefined;
12094
12766
  protected _serviceToggles: ServiceTogglesClient | undefined;
12095
12767
  protected _spans: SpansClient | undefined;
@@ -12099,8 +12771,10 @@ declare class OpikApiClient {
12099
12771
  protected _workspaces: WorkspacesClient | undefined;
12100
12772
  protected _redirect: RedirectClient | undefined;
12101
12773
  constructor(options?: OpikApiClient.Options);
12774
+ get mcpOAuth(): McpOAuthClient;
12102
12775
  get systemUsage(): SystemUsageClient;
12103
12776
  get agentConfigs(): AgentConfigsClient;
12777
+ get aiSpend(): AiSpendClient;
12104
12778
  get alerts(): AlertsClient;
12105
12779
  get annotationQueues(): AnnotationQueuesClient;
12106
12780
  get assertionResults(): AssertionResultsClient;
@@ -12126,6 +12800,7 @@ declare class OpikApiClient {
12126
12800
  get pairing(): PairingClient;
12127
12801
  get projects(): ProjectsClient;
12128
12802
  get prompts(): PromptsClient;
12803
+ get reports(): ReportsClient;
12129
12804
  get retentionRules(): RetentionRulesClient;
12130
12805
  get serviceToggles(): ServiceTogglesClient;
12131
12806
  get spans(): SpansClient;