@arbidocs/client 0.3.28 → 0.3.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.cts +1118 -271
  2. package/dist/index.d.ts +1118 -271
  3. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -5,6 +5,177 @@ import createFetchClient, { Middleware } from 'openapi-fetch';
5
5
  * Do not make direct changes to the file.
6
6
  */
7
7
  interface paths {
8
+ '/v1/user/projects/': {
9
+ parameters: {
10
+ query?: never;
11
+ header?: never;
12
+ path?: never;
13
+ cookie?: never;
14
+ };
15
+ /**
16
+ * List Projects
17
+ * @description List all projects owned by the current user.
18
+ */
19
+ get: operations['list_projects'];
20
+ put?: never;
21
+ /**
22
+ * Create Project
23
+ * @description Create a new project.
24
+ */
25
+ post: operations['create_project'];
26
+ delete?: never;
27
+ options?: never;
28
+ head?: never;
29
+ patch?: never;
30
+ trace?: never;
31
+ };
32
+ '/v1/user/projects/{project_ext_id}': {
33
+ parameters: {
34
+ query?: never;
35
+ header?: never;
36
+ path?: never;
37
+ cookie?: never;
38
+ };
39
+ get?: never;
40
+ put?: never;
41
+ post?: never;
42
+ /**
43
+ * Delete Project
44
+ * @description Delete a project. Only allowed when empty (no workspaces, no subscription).
45
+ */
46
+ delete: operations['delete_project'];
47
+ options?: never;
48
+ head?: never;
49
+ /**
50
+ * Update Project
51
+ * @description Update project name.
52
+ */
53
+ patch: operations['update_project'];
54
+ trace?: never;
55
+ };
56
+ '/v1/user/projects/{project_ext_id}/checkout': {
57
+ parameters: {
58
+ query?: never;
59
+ header?: never;
60
+ path?: never;
61
+ cookie?: never;
62
+ };
63
+ get?: never;
64
+ put?: never;
65
+ /**
66
+ * Create Project Checkout
67
+ * @description Create a Stripe checkout session for this project.
68
+ */
69
+ post: operations['create_project_checkout'];
70
+ delete?: never;
71
+ options?: never;
72
+ head?: never;
73
+ patch?: never;
74
+ trace?: never;
75
+ };
76
+ '/v1/user/projects/{project_ext_id}/change-plan': {
77
+ parameters: {
78
+ query?: never;
79
+ header?: never;
80
+ path?: never;
81
+ cookie?: never;
82
+ };
83
+ get?: never;
84
+ put?: never;
85
+ /**
86
+ * Change Project Plan
87
+ * @description Change pack quantity for a project.
88
+ *
89
+ * - Increase: proration_behavior="create_prorations" (charges difference immediately)
90
+ * - Decrease: proration_behavior="none" (keeps current packs until period end)
91
+ */
92
+ post: operations['change_project_plan'];
93
+ delete?: never;
94
+ options?: never;
95
+ head?: never;
96
+ patch?: never;
97
+ trace?: never;
98
+ };
99
+ '/v1/user/projects/{project_ext_id}/refresh': {
100
+ parameters: {
101
+ query?: never;
102
+ header?: never;
103
+ path?: never;
104
+ cookie?: never;
105
+ };
106
+ get?: never;
107
+ put?: never;
108
+ /**
109
+ * Refresh Project
110
+ * @description Refresh project status from Stripe (call after checkout completes).
111
+ */
112
+ post: operations['refresh_project'];
113
+ delete?: never;
114
+ options?: never;
115
+ head?: never;
116
+ patch?: never;
117
+ trace?: never;
118
+ };
119
+ '/v1/user/projects/{project_ext_id}/usage': {
120
+ parameters: {
121
+ query?: never;
122
+ header?: never;
123
+ path?: never;
124
+ cookie?: never;
125
+ };
126
+ /**
127
+ * Get Project Usage Endpoint
128
+ * @description Get AI usage breakdown for a project's billing period.
129
+ */
130
+ get: operations['get_project_usage'];
131
+ put?: never;
132
+ post?: never;
133
+ delete?: never;
134
+ options?: never;
135
+ head?: never;
136
+ patch?: never;
137
+ trace?: never;
138
+ };
139
+ '/v1/user/projects/{project_ext_id}/invoices': {
140
+ parameters: {
141
+ query?: never;
142
+ header?: never;
143
+ path?: never;
144
+ cookie?: never;
145
+ };
146
+ /**
147
+ * Get Project Invoices
148
+ * @description List Stripe invoices for a project's subscription.
149
+ */
150
+ get: operations['get_project_invoices'];
151
+ put?: never;
152
+ post?: never;
153
+ delete?: never;
154
+ options?: never;
155
+ head?: never;
156
+ patch?: never;
157
+ trace?: never;
158
+ };
159
+ '/v1/user/projects/{project_ext_id}/cancel': {
160
+ parameters: {
161
+ query?: never;
162
+ header?: never;
163
+ path?: never;
164
+ cookie?: never;
165
+ };
166
+ get?: never;
167
+ put?: never;
168
+ /**
169
+ * Cancel Project Subscription
170
+ * @description Cancel a project's subscription at the end of the current billing period.
171
+ */
172
+ post: operations['cancel_project_subscription'];
173
+ delete?: never;
174
+ options?: never;
175
+ head?: never;
176
+ patch?: never;
177
+ trace?: never;
178
+ };
8
179
  '/v1/user/verify-email': {
9
180
  parameters: {
10
181
  query?: never;
@@ -387,33 +558,6 @@ interface paths {
387
558
  patch?: never;
388
559
  trace?: never;
389
560
  };
390
- '/v1/user/subscription': {
391
- parameters: {
392
- query?: never;
393
- header?: never;
394
- path?: never;
395
- cookie?: never;
396
- };
397
- /**
398
- * Get Stripe Subscription
399
- * @description Get detailed Stripe subscription information including portal URL for management.
400
- *
401
- * First updates local subscription status based on Stripe subscription tier (to refresh after purchase),
402
- * then fetches detailed subscription information from Stripe Subscriptions API.
403
- */
404
- get: operations['get_subscription'];
405
- put?: never;
406
- /**
407
- * Create Subscription
408
- * @description Create a new Stripe checkout session for subscription purchase.
409
- */
410
- post: operations['create_subscription'];
411
- delete?: never;
412
- options?: never;
413
- head?: never;
414
- patch?: never;
415
- trace?: never;
416
- };
417
561
  '/v1/workspace/create_protected': {
418
562
  parameters: {
419
563
  query?: never;
@@ -582,7 +726,11 @@ interface paths {
582
726
  };
583
727
  /**
584
728
  * List Documents
585
- * @description List all documents in the current workspace.
729
+ * @description List documents in the current workspace.
730
+ *
731
+ * By default returns all documents (no pagination) since the frontend needs
732
+ * the full set for client-side sort/search/filter. Pass ``limit``/``offset``
733
+ * to opt into pagination — useful for the CLI when streaming a workspace.
586
734
  */
587
735
  get: operations['list_documents'];
588
736
  put?: never;
@@ -650,8 +798,17 @@ interface paths {
650
798
  * @description Update one or more documents.
651
799
  *
652
800
  * Special status handling:
653
- * - status="processing": Smart reprocess - reindexes if final.pklenc exists, else full re-parse.
654
- * Skips if doc was updated < 10 min ago (prevents duplicate submissions).
801
+ * - status="processing": Smart reprocess reindexes if final.pklenc exists in MinIO
802
+ * (regardless of current doc.status), else full re-parse from the original file.
803
+ * Skips if a fresh Redis task already exists for the doc (< 10 min old).
804
+ *
805
+ * Batch behavior: the request handler validates + commits ORM field updates
806
+ * synchronously, then hands the reprocess work off to a FastAPI background task
807
+ * (dispatch_batch_reprocess). The response returns as soon as the background task
808
+ * is scheduled, so a single user asking to reprocess 1000+ docs does not block
809
+ * the event loop or tie up an HTTP worker. The background dispatcher fans out
810
+ * requeue_document_processing calls bounded by the existing deployment-wide
811
+ * _indexing_semaphore to keep other users responsive.
655
812
  */
656
813
  patch: operations['update_documents'];
657
814
  trace?: never;
@@ -708,7 +865,7 @@ interface paths {
708
865
  * - tag_ext_id: Links document to a tag
709
866
  * - folder: Logical folder path for grouping (URL safe, e.g., 'skills/weather')
710
867
  *
711
- * Requires active subscription (paid/trial/dev) if Stripe is configured.
868
+ * Requires active subscription if Stripe is configured.
712
869
  */
713
870
  post: operations['upload_documents'];
714
871
  delete?: never;
@@ -731,7 +888,7 @@ interface paths {
731
888
  * @description Download and upload documents from URLs to a workspace with encryption.
732
889
  * Documents are queued for processing, parsed, and indexed for vector search.
733
890
  *
734
- * Requires active subscription (paid/trial/dev) if Stripe is configured.
891
+ * Requires active subscription if Stripe is configured.
735
892
  */
736
893
  post: operations['upload_from_url'];
737
894
  delete?: never;
@@ -883,7 +1040,26 @@ interface paths {
883
1040
  };
884
1041
  /**
885
1042
  * Get Threads With Histories
886
- * @description Retrieve all conversation threads (leaf messages and their histories) for a given conversation external ID.
1043
+ * @description Retrieve all conversation threads (leaf messages and their histories).
1044
+ *
1045
+ * Performance notes
1046
+ * -----------------
1047
+ * This endpoint used to issue 3+ DB round-trips per message in every
1048
+ * history (user_ext_id, config_ext_id, parent_ext_id) and serially decrypt
1049
+ * each message's tools blob on the event loop. For a conversation with N
1050
+ * forks of M messages each that's O(N*M) round-trips. The rewrite is
1051
+ * O(forks) DB calls plus three constant-count batch queries:
1052
+ *
1053
+ * 1. ``get_threads`` to find leaf message ids
1054
+ * 2. one ``get_conversation_history`` recursive CTE per leaf
1055
+ * 3. one batched user-ext-id query (across every message in every fork)
1056
+ * 4. one batched configuration-ext-id query
1057
+ * 5. one ``asyncio.gather`` over ``decrypt_tools_async`` so blobs decrypt
1058
+ * in parallel on worker threads instead of one-at-a-time on the loop
1059
+ *
1060
+ * Parent message ext_ids are read off the already-fetched message set —
1061
+ * parents are by definition ancestors of leaves, so they're always in the
1062
+ * history we just loaded. No extra query.
887
1063
  */
888
1064
  get: operations['get_conversation_threads'];
889
1065
  put?: never;
@@ -996,7 +1172,7 @@ interface paths {
996
1172
  * @description Process a user query against documents in a workspace.
997
1173
  * Performs retrieval augmented generation with streaming response.
998
1174
  *
999
- * Requires active subscription (paid/trial/dev) if Stripe is configured.
1175
+ * Requires active project if Stripe is configured.
1000
1176
  */
1001
1177
  post: operations['generate'];
1002
1178
  delete?: never;
@@ -1128,6 +1304,35 @@ interface paths {
1128
1304
  patch?: never;
1129
1305
  trace?: never;
1130
1306
  };
1307
+ '/v1/health/metrics': {
1308
+ parameters: {
1309
+ query?: never;
1310
+ header?: never;
1311
+ path?: never;
1312
+ cookie?: never;
1313
+ };
1314
+ /**
1315
+ * Get Metrics
1316
+ * @description Live operational metrics for this instance (developer-only).
1317
+ *
1318
+ * Returns a structured snapshot of DB pool utilisation, in-process
1319
+ * semaphores (embedder, reranker, indexing, qdrant, doctag_llm, etc.),
1320
+ * Redis queue backpressure for this deployment, and the current
1321
+ * asyncio task count. Same data the periodic concurrency_monitor
1322
+ * logger emits, but as JSON for dashboards / probes / tests.
1323
+ *
1324
+ * Gated to developer accounts because the payload exposes internal
1325
+ * pool sizes and saturation — useful for recon if leaked to end users.
1326
+ */
1327
+ get: operations['get_metrics'];
1328
+ put?: never;
1329
+ post?: never;
1330
+ delete?: never;
1331
+ options?: never;
1332
+ head?: never;
1333
+ patch?: never;
1334
+ trace?: never;
1335
+ };
1131
1336
  '/v1/tag/list': {
1132
1337
  parameters: {
1133
1338
  query?: never;
@@ -1229,10 +1434,10 @@ interface paths {
1229
1434
  };
1230
1435
  /**
1231
1436
  * Get Notifications
1232
- * @description Retrieve all notifications for the current user.
1437
+ * @description Retrieve notifications for the current user, newest first.
1233
1438
  *
1234
- * Returns notifications ordered by most recent first.
1235
- * Bilateral model: user sees notifications they sent OR received.
1439
+ * Bilateral model: user sees notifications they sent OR received. Capped at
1440
+ * ``limit`` (default 100) so the response stays small for chatty users.
1236
1441
  * Use POST /notifications/read to mark specific notifications as read.
1237
1442
  */
1238
1443
  get: operations['get_notifications'];
@@ -1832,6 +2037,33 @@ interface components {
1832
2037
  */
1833
2038
  AGENT_SYSTEM_PROMPT: string;
1834
2039
  };
2040
+ /** AgentsUserConfig */
2041
+ AgentsUserConfig: {
2042
+ /**
2043
+ * Enabled
2044
+ * @description Whether to use agents mode for queries.
2045
+ * @default true
2046
+ */
2047
+ ENABLED: boolean;
2048
+ /**
2049
+ * Memory Enabled
2050
+ * @description Run memory synthesis (skills, memories) after agent queries.
2051
+ * @default false
2052
+ */
2053
+ MEMORY_ENABLED: boolean;
2054
+ /**
2055
+ * Persona
2056
+ * @description Agent persona prepended to the system prompt. Customise to change the agent's identity and tone.
2057
+ * @default You are ARBI, an AI assistant created by ARBI CITY. Be proactive, helpful and professional.
2058
+ */
2059
+ PERSONA: string;
2060
+ /**
2061
+ * Agent Model Name
2062
+ * @description The name of the model to be used for the agent decision-making.
2063
+ * @default auto
2064
+ */
2065
+ AGENT_MODEL_NAME: string;
2066
+ };
1835
2067
  /** AllConfigs */
1836
2068
  AllConfigs: {
1837
2069
  /**
@@ -1944,6 +2176,8 @@ interface components {
1944
2176
  * "TEMPERATURE": 0.1,
1945
2177
  * "MAX_TOKENS": 2000,
1946
2178
  * "MAX_CONCURRENT_DOCS": 10,
2179
+ * "AUTO_RENAME": false,
2180
+ * "AUTO_RENAME_INSTRUCTION": "Create a short substantive title for the document of no more than 10 words. E.g. \"Email from X to Y re ABC\", \"Service Agreement between A and B\".",
1947
2181
  * "DEFAULT_METADATA_TAGS": [
1948
2182
  * {
1949
2183
  * "instruction": "What is the primary date of this document (creation date, signing date, or effective date)? Identify the most significant date such as the document's creation, signing, or effective date.",
@@ -2080,7 +2314,7 @@ interface components {
2080
2314
  * @default {
2081
2315
  * "MIN_SCORE": 0.01,
2082
2316
  * "MAX_NUMB_OF_CHUNKS": 30,
2083
- * "MAX_CONCURRENT_REQUESTS": 64,
2317
+ * "MAX_CONCURRENT_REQUESTS": 256,
2084
2318
  * "MODEL_NAME": "Qwen/Qwen3-Reranker-0.6B",
2085
2319
  * "API_TYPE": "remote",
2086
2320
  * "RETRIEVAL_INSTRUCTION": "Judge whether the passage contains the specific facts, figures, names, or references mentioned in the query. Only answer yes if the passage directly contains these details"
@@ -2106,7 +2340,7 @@ interface components {
2106
2340
  * "MODEL_NAME": "Qwen/Qwen3-Embedding-0.6B",
2107
2341
  * "API_TYPE": "remote",
2108
2342
  * "BATCH_SIZE": 128,
2109
- * "MAX_CONCURRENT_REQUESTS": 64,
2343
+ * "MAX_CONCURRENT_REQUESTS": 256,
2110
2344
  * "DOCUMENT_PREFIX": "",
2111
2345
  * "QUERY_PREFIX": "Instruct: Represent the user search query for retrieving relevant documents.\nQuery:"
2112
2346
  * }
@@ -2895,22 +3129,6 @@ interface components {
2895
3129
  */
2896
3130
  query: string;
2897
3131
  };
2898
- /**
2899
- * CreateSubscriptionRequest
2900
- * @description Request to create a new subscription checkout session.
2901
- */
2902
- CreateSubscriptionRequest: {
2903
- /** Price Id */
2904
- price_id: string;
2905
- };
2906
- /**
2907
- * CreateSubscriptionResponse
2908
- * @description Response containing Stripe checkout session client secret.
2909
- */
2910
- CreateSubscriptionResponse: {
2911
- /** Client Secret */
2912
- client_secret: string;
2913
- };
2914
3132
  /**
2915
3133
  * CreateTagRequest
2916
3134
  * @description Request to create a new tag in a workspace.
@@ -2926,6 +3144,36 @@ interface components {
2926
3144
  /** Parent Ext Id */
2927
3145
  parent_ext_id?: string | null;
2928
3146
  };
3147
+ /**
3148
+ * DailyUsage
3149
+ * @description Usage for a single day.
3150
+ */
3151
+ DailyUsage: {
3152
+ /** Date */
3153
+ date: string;
3154
+ /**
3155
+ * Spend
3156
+ * @default 0
3157
+ */
3158
+ spend: number;
3159
+ /**
3160
+ * Total Tokens
3161
+ * @default 0
3162
+ */
3163
+ total_tokens: number;
3164
+ /**
3165
+ * Api Requests
3166
+ * @default 0
3167
+ */
3168
+ api_requests: number;
3169
+ /**
3170
+ * Model Groups
3171
+ * @default {}
3172
+ */
3173
+ model_groups: {
3174
+ [key: string]: components['schemas']['ModelGroupUsage'];
3175
+ };
3176
+ };
2929
3177
  /**
2930
3178
  * DeleteAgentsRequest
2931
3179
  * @description Request to delete agents by external ID.
@@ -3007,6 +3255,8 @@ interface components {
3007
3255
  file_name?: string | null;
3008
3256
  /** Status */
3009
3257
  status?: string | null;
3258
+ /** Error Message */
3259
+ error_message?: string | null;
3010
3260
  /** N Pages */
3011
3261
  n_pages?: number | null;
3012
3262
  /** N Chunks */
@@ -3122,9 +3372,14 @@ interface components {
3122
3372
  content?: string | null;
3123
3373
  /**
3124
3374
  * Folder
3125
- * @description Logical folder path (URL safe)
3375
+ * @description Logical folder path — preserved as-is for e-discovery (Unicode, spaces allowed)
3126
3376
  */
3127
3377
  folder?: string | null;
3378
+ /**
3379
+ * Config Ext Id
3380
+ * @description Configuration to use for reprocessing. If provided, overrides the document's stored config.
3381
+ */
3382
+ config_ext_id?: string | null;
3128
3383
  };
3129
3384
  /**
3130
3385
  * DoctagLLMConfig
@@ -3186,57 +3441,43 @@ interface components {
3186
3441
  * @default 10
3187
3442
  */
3188
3443
  MAX_CONCURRENT_DOCS: number;
3444
+ /**
3445
+ * Auto Rename
3446
+ * @description Generate a descriptive document title via LLM instead of using the filename. The generated title replaces the filename-derived title in doc_metadata.
3447
+ * @default false
3448
+ */
3449
+ AUTO_RENAME: boolean;
3450
+ /**
3451
+ * Auto Rename Instruction
3452
+ * @description Instruction for generating document titles when AUTO_RENAME is enabled.
3453
+ * @default Create a short substantive title for the document of no more than 10 words. E.g. "Email from X to Y re ABC", "Service Agreement between A and B".
3454
+ */
3455
+ AUTO_RENAME_INSTRUCTION: string;
3189
3456
  /**
3190
3457
  * Default Metadata Tags
3191
- * @description Metadata templates used for automatic document metadata extraction during indexing.
3192
- * @default [
3193
- * {
3194
- * "name": "doc_date",
3195
- * "instruction": "What is the primary date of this document (creation date, signing date, or effective date)? Identify the most significant date such as the document's creation, signing, or effective date.",
3196
- * "tag_type": {
3197
- * "options": [],
3198
- * "type": "date"
3199
- * }
3200
- * },
3201
- * {
3202
- * "name": "doc_nature",
3203
- * "instruction": "What is the Document type (select one):",
3204
- * "tag_type": {
3205
- * "options": [
3206
- * "Agreement",
3207
- * "Email",
3208
- * "Letter",
3209
- * "Report",
3210
- * "Decision",
3211
- * "Memo",
3212
- * "Financial",
3213
- * "Form",
3214
- * "Index",
3215
- * "Submission",
3216
- * "Other"
3217
- * ],
3218
- * "type": "select"
3219
- * }
3220
- * },
3221
- * {
3222
- * "name": "doc_author",
3223
- * "instruction": "Who is the author or creator of this document? If there are multiple authors, list up to 3 followed by 'et al.' if more exist.",
3224
- * "tag_type": {
3225
- * "options": [],
3226
- * "type": "text"
3227
- * }
3228
- * },
3229
- * {
3230
- * "name": "doc_subject",
3231
- * "instruction": "What is the main subject or purpose of this document? Provide a brief 1-2 sentence description.",
3232
- * "tag_type": {
3233
- * "options": [],
3234
- * "type": "text"
3235
- * }
3236
- * }
3237
- * ]
3458
+ * @description Metadata templates used for automatic document metadata extraction during indexing. Built-in tags cannot be removed; additional tags may be appended.
3238
3459
  */
3239
- DEFAULT_METADATA_TAGS: components['schemas']['TagTemplate'][];
3460
+ DEFAULT_METADATA_TAGS?: components['schemas']['TagTemplate'][];
3461
+ };
3462
+ /** DoctagLLMUserConfig */
3463
+ DoctagLLMUserConfig: {
3464
+ /**
3465
+ * Auto Rename
3466
+ * @description Generate a descriptive document title via LLM instead of using the filename. The generated title replaces the filename-derived title in doc_metadata.
3467
+ * @default false
3468
+ */
3469
+ AUTO_RENAME: boolean;
3470
+ /**
3471
+ * Auto Rename Instruction
3472
+ * @description Instruction for generating document titles when AUTO_RENAME is enabled.
3473
+ * @default Create a short substantive title for the document of no more than 10 words. E.g. "Email from X to Y re ABC", "Service Agreement between A and B".
3474
+ */
3475
+ AUTO_RENAME_INSTRUCTION: string;
3476
+ /**
3477
+ * Default Metadata Tags
3478
+ * @description Metadata templates used for automatic document metadata extraction during indexing. Built-in tags cannot be removed; additional tags may be appended.
3479
+ */
3480
+ DEFAULT_METADATA_TAGS?: components['schemas']['TagTemplate'][];
3240
3481
  };
3241
3482
  /** EmbedderConfig */
3242
3483
  EmbedderConfig: {
@@ -3261,8 +3502,8 @@ interface components {
3261
3502
  BATCH_SIZE: number;
3262
3503
  /**
3263
3504
  * Max Concurrent Requests
3264
- * @description Adjust concurrency level as needed.
3265
- * @default 64
3505
+ * @description Deployment-wide in-flight embedder requests — sized for ~5 replicas * ~50 concurrent each.
3506
+ * @default 256
3266
3507
  */
3267
3508
  MAX_CONCURRENT_REQUESTS: number;
3268
3509
  /**
@@ -4004,13 +4245,56 @@ interface components {
4004
4245
  [key: string]: components['schemas']['CitationData'];
4005
4246
  };
4006
4247
  };
4007
- /** ModelInfo */
4008
- ModelInfo: {
4009
- /** Model Name */
4010
- model_name: string;
4011
- /** Api Type */
4012
- api_type: string;
4013
- /** Tags */
4248
+ /**
4249
+ * ModelGroupUsage
4250
+ * @description Usage metrics for a model group (e.g. Fast, Wise, Premium) with per-model detail.
4251
+ */
4252
+ ModelGroupUsage: {
4253
+ /**
4254
+ * Spend
4255
+ * @default 0
4256
+ */
4257
+ spend: number;
4258
+ /**
4259
+ * Prompt Tokens
4260
+ * @default 0
4261
+ */
4262
+ prompt_tokens: number;
4263
+ /**
4264
+ * Completion Tokens
4265
+ * @default 0
4266
+ */
4267
+ completion_tokens: number;
4268
+ /**
4269
+ * Total Tokens
4270
+ * @default 0
4271
+ */
4272
+ total_tokens: number;
4273
+ /**
4274
+ * Successful Requests
4275
+ * @default 0
4276
+ */
4277
+ successful_requests: number;
4278
+ /**
4279
+ * Failed Requests
4280
+ * @default 0
4281
+ */
4282
+ failed_requests: number;
4283
+ /**
4284
+ * Models
4285
+ * @default {}
4286
+ */
4287
+ models: {
4288
+ [key: string]: components['schemas']['ModelUsage'];
4289
+ };
4290
+ };
4291
+ /** ModelInfo */
4292
+ ModelInfo: {
4293
+ /** Model Name */
4294
+ model_name: string;
4295
+ /** Api Type */
4296
+ api_type: string;
4297
+ /** Tags */
4014
4298
  tags?: string[] | null;
4015
4299
  /** Max Input Tokens */
4016
4300
  max_input_tokens?: number | null;
@@ -4042,6 +4326,42 @@ interface components {
4042
4326
  /** Detail */
4043
4327
  detail?: string | null;
4044
4328
  };
4329
+ /**
4330
+ * ModelUsage
4331
+ * @description Usage metrics for a single model.
4332
+ */
4333
+ ModelUsage: {
4334
+ /**
4335
+ * Spend
4336
+ * @default 0
4337
+ */
4338
+ spend: number;
4339
+ /**
4340
+ * Prompt Tokens
4341
+ * @default 0
4342
+ */
4343
+ prompt_tokens: number;
4344
+ /**
4345
+ * Completion Tokens
4346
+ * @default 0
4347
+ */
4348
+ completion_tokens: number;
4349
+ /**
4350
+ * Total Tokens
4351
+ * @default 0
4352
+ */
4353
+ total_tokens: number;
4354
+ /**
4355
+ * Successful Requests
4356
+ * @default 0
4357
+ */
4358
+ successful_requests: number;
4359
+ /**
4360
+ * Failed Requests
4361
+ * @default 0
4362
+ */
4363
+ failed_requests: number;
4364
+ };
4045
4365
  /** ModelsHealthStatus */
4046
4366
  ModelsHealthStatus: {
4047
4367
  /** Application */
@@ -4054,15 +4374,11 @@ interface components {
4054
4374
  /** Models */
4055
4375
  models: components['schemas']['ModelInfo'][];
4056
4376
  };
4057
- /**
4058
- * NonDeveloperConfig
4059
- * @description Limited configuration response for non-developer users
4060
- */
4377
+ /** NonDeveloperConfig */
4061
4378
  NonDeveloperConfig: {
4062
- /** Agents */
4063
- Agents: {
4064
- [key: string]: string | boolean;
4065
- };
4379
+ Agents: components['schemas']['AgentsUserConfig'];
4380
+ DoctagLLM: components['schemas']['DoctagLLMUserConfig'];
4381
+ Parser: components['schemas']['ParserUserConfig'];
4066
4382
  };
4067
4383
  /**
4068
4384
  * NotificationResponse
@@ -4238,6 +4554,15 @@ interface components {
4238
4554
  */
4239
4555
  SKIP_DUPLICATES: boolean;
4240
4556
  };
4557
+ /** ParserUserConfig */
4558
+ ParserUserConfig: {
4559
+ /**
4560
+ * Skip Duplicates
4561
+ * @description Skip files with identical content already in the workspace.
4562
+ * @default false
4563
+ */
4564
+ SKIP_DUPLICATES: boolean;
4565
+ };
4241
4566
  /**
4242
4567
  * PersonalAgentDetail
4243
4568
  * @description Detail for a personal_agent tool call.
@@ -4377,6 +4702,16 @@ interface components {
4377
4702
  /** Timestamp */
4378
4703
  timestamp: string;
4379
4704
  };
4705
+ /**
4706
+ * PriceTier
4707
+ * @description Stripe volume pricing tier.
4708
+ */
4709
+ PriceTier: {
4710
+ /** Up To */
4711
+ up_to?: number | null;
4712
+ /** Unit Amount */
4713
+ unit_amount: number;
4714
+ };
4380
4715
  /**
4381
4716
  * ProductPrice
4382
4717
  * @description Stripe product price information.
@@ -4385,7 +4720,7 @@ interface components {
4385
4720
  /** Price Id */
4386
4721
  price_id: string;
4387
4722
  /** Amount */
4388
- amount: number;
4723
+ amount?: number | null;
4389
4724
  /** Currency */
4390
4725
  currency: string;
4391
4726
  /** Interval */
@@ -4394,6 +4729,13 @@ interface components {
4394
4729
  interval_count: number;
4395
4730
  /** Default Price */
4396
4731
  default_price: boolean;
4732
+ /**
4733
+ * Billing Scheme
4734
+ * @default per_unit
4735
+ */
4736
+ billing_scheme: string;
4737
+ /** Tiers */
4738
+ tiers?: components['schemas']['PriceTier'][] | null;
4397
4739
  };
4398
4740
  /**
4399
4741
  * ProductResponse
@@ -4409,6 +4751,202 @@ interface components {
4409
4751
  /** Prices */
4410
4752
  prices: components['schemas']['ProductPrice'][];
4411
4753
  };
4754
+ /**
4755
+ * ProjectCheckoutRequest
4756
+ * @description Create a Stripe checkout session for this project.
4757
+ */
4758
+ ProjectCheckoutRequest: {
4759
+ /** Price Id */
4760
+ price_id: string;
4761
+ /**
4762
+ * Quantity
4763
+ * @description Number of Pro Packs
4764
+ * @default 1
4765
+ */
4766
+ quantity: number;
4767
+ /**
4768
+ * Promo Code
4769
+ * @description Promo code to auto-apply
4770
+ */
4771
+ promo_code?: string | null;
4772
+ };
4773
+ /**
4774
+ * ProjectCheckoutResponse
4775
+ * @description Stripe checkout session client secret.
4776
+ */
4777
+ ProjectCheckoutResponse: {
4778
+ /** Client Secret */
4779
+ client_secret: string;
4780
+ };
4781
+ /**
4782
+ * ProjectCreateRequest
4783
+ * @description Create a new project.
4784
+ */
4785
+ ProjectCreateRequest: {
4786
+ /** Name */
4787
+ name: string;
4788
+ };
4789
+ /**
4790
+ * ProjectInvoice
4791
+ * @description Single Stripe invoice/receipt for a project.
4792
+ */
4793
+ ProjectInvoice: {
4794
+ /** Date */
4795
+ date: string;
4796
+ /** Amount */
4797
+ amount: number;
4798
+ /** Currency */
4799
+ currency: string;
4800
+ /** Status */
4801
+ status: string;
4802
+ /** Url */
4803
+ url?: string | null;
4804
+ /** Pdf Url */
4805
+ pdf_url?: string | null;
4806
+ };
4807
+ /**
4808
+ * ProjectInvoicesResponse
4809
+ * @description Invoices for a project subscription.
4810
+ */
4811
+ ProjectInvoicesResponse: {
4812
+ /** Project Ext Id */
4813
+ project_ext_id: string;
4814
+ /**
4815
+ * Invoices
4816
+ * @default []
4817
+ */
4818
+ invoices: components['schemas']['ProjectInvoice'][];
4819
+ };
4820
+ /**
4821
+ * ProjectQuotas
4822
+ * @description All quota metrics for a project, derived from packs.
4823
+ */
4824
+ ProjectQuotas: {
4825
+ storage_gb: components['schemas']['QuotaUsage'];
4826
+ ai_credits: components['schemas']['QuotaUsage'];
4827
+ collaborators: components['schemas']['QuotaUsage'];
4828
+ /** Budget Reset At */
4829
+ budget_reset_at?: number | null;
4830
+ };
4831
+ /**
4832
+ * ProjectResponse
4833
+ * @description Project summary returned in list and detail views.
4834
+ */
4835
+ ProjectResponse: {
4836
+ /** External Id */
4837
+ external_id: string;
4838
+ /** Name */
4839
+ name: string;
4840
+ /** Packs */
4841
+ packs: number;
4842
+ /** Subscription */
4843
+ subscription: string;
4844
+ /**
4845
+ * Created At
4846
+ * Format: date-time
4847
+ */
4848
+ created_at: string;
4849
+ quotas: components['schemas']['ProjectQuotas'];
4850
+ /** Price Id */
4851
+ price_id?: string | null;
4852
+ /** Plan */
4853
+ plan?: string | null;
4854
+ /** Amount */
4855
+ amount?: number | null;
4856
+ /** Currency */
4857
+ currency?: string | null;
4858
+ /** Current Period End */
4859
+ current_period_end?: number | null;
4860
+ /** Cancel At Period End */
4861
+ cancel_at_period_end?: boolean | null;
4862
+ /** Portal Url */
4863
+ portal_url?: string | null;
4864
+ };
4865
+ /**
4866
+ * ProjectUpdateRequest
4867
+ * @description Update project name.
4868
+ */
4869
+ ProjectUpdateRequest: {
4870
+ /** Name */
4871
+ name?: string | null;
4872
+ };
4873
+ /**
4874
+ * ProjectUpgradeRequest
4875
+ * @description Change pack quantity on an existing project.
4876
+ */
4877
+ ProjectUpgradeRequest: {
4878
+ /** Price Id */
4879
+ price_id: string;
4880
+ /** Quantity */
4881
+ quantity: number;
4882
+ /**
4883
+ * Proration Behavior
4884
+ * @default create_prorations
4885
+ */
4886
+ proration_behavior: string;
4887
+ };
4888
+ /**
4889
+ * ProjectUsageResponse
4890
+ * @description Usage breakdown for a project's billing period.
4891
+ */
4892
+ ProjectUsageResponse: {
4893
+ /** Project Ext Id */
4894
+ project_ext_id: string;
4895
+ /** Period Start */
4896
+ period_start: string;
4897
+ /** Period End */
4898
+ period_end: string;
4899
+ /**
4900
+ * Total Spend
4901
+ * @default 0
4902
+ */
4903
+ total_spend: number;
4904
+ /**
4905
+ * Total Tokens
4906
+ * @default 0
4907
+ */
4908
+ total_tokens: number;
4909
+ /**
4910
+ * Total Requests
4911
+ * @default 0
4912
+ */
4913
+ total_requests: number;
4914
+ /**
4915
+ * Daily
4916
+ * @default []
4917
+ */
4918
+ daily: components['schemas']['DailyUsage'][];
4919
+ /**
4920
+ * Model Groups
4921
+ * @default {}
4922
+ */
4923
+ model_groups: {
4924
+ [key: string]: components['schemas']['ModelGroupUsage'];
4925
+ };
4926
+ /**
4927
+ * By Workspace
4928
+ * @default {}
4929
+ */
4930
+ by_workspace: {
4931
+ [key: string]: components['schemas']['TagBreakdown'];
4932
+ };
4933
+ /**
4934
+ * By User
4935
+ * @default {}
4936
+ */
4937
+ by_user: {
4938
+ [key: string]: components['schemas']['TagBreakdown'];
4939
+ };
4940
+ /**
4941
+ * By Feature
4942
+ * @default {}
4943
+ */
4944
+ by_feature: {
4945
+ [key: string]: components['schemas']['TagBreakdown'];
4946
+ };
4947
+ /** Invoice Pdf */
4948
+ invoice_pdf?: string | null;
4949
+ };
4412
4950
  /** QueryLLMConfig */
4413
4951
  QueryLLMConfig: {
4414
4952
  /**
@@ -4455,6 +4993,16 @@ interface components {
4455
4993
  */
4456
4994
  MAX_TOKENS: number;
4457
4995
  };
4996
+ /**
4997
+ * QuotaUsage
4998
+ * @description Single quota metric: current usage vs limit.
4999
+ */
5000
+ QuotaUsage: {
5001
+ /** Used */
5002
+ used: number;
5003
+ /** Limit */
5004
+ limit: number;
5005
+ };
4458
5006
  /**
4459
5007
  * ReadDocumentDetail
4460
5008
  * @description Detail for a read_document tool call.
@@ -4583,8 +5131,8 @@ interface components {
4583
5131
  MAX_NUMB_OF_CHUNKS: number;
4584
5132
  /**
4585
5133
  * Max Concurrent Requests
4586
- * @description Maximum number of concurrent reranking requests.
4587
- * @default 64
5134
+ * @description Deployment-wide in-flight reranker requests — sized for ~5 replicas * ~50 concurrent each.
5135
+ * @default 256
4588
5136
  */
4589
5137
  MAX_CONCURRENT_REQUESTS: number;
4590
5138
  /**
@@ -5631,6 +6179,16 @@ interface components {
5631
6179
  */
5632
6180
  detail: string;
5633
6181
  };
6182
+ /**
6183
+ * SkippedFile
6184
+ * @description A file that was skipped during upload with the reason.
6185
+ */
6186
+ SkippedFile: {
6187
+ /** File Name */
6188
+ file_name: string;
6189
+ /** Reason */
6190
+ reason: string;
6191
+ };
5634
6192
  /**
5635
6193
  * StepUsage
5636
6194
  * @description Per-step token usage from a single LLM call.
@@ -5684,54 +6242,9 @@ interface components {
5684
6242
  SubscriptionInfo: {
5685
6243
  /**
5686
6244
  * Status
5687
- * @default restricted
6245
+ * @default active
5688
6246
  */
5689
6247
  status: string;
5690
- /** Trial Expires */
5691
- trial_expires?: number | null;
5692
- };
5693
- /**
5694
- * SubscriptionStatusResponse
5695
- * @description Subscription status response - unified model for all subscription states.
5696
- *
5697
- * Status is one of the tier names configured in STRIPE_TIERS, plus system tiers:
5698
- * - Paid tiers (e.g., "pro", "pro_plus"): Active Stripe subscription
5699
- * - "trial": User is on trial (has trial_expires, days_remaining)
5700
- * - "dev": Developer access
5701
- * - "restricted": No access (trial expired or no subscription)
5702
- * - "inactive": Expired/canceled/unpaid Stripe subscription
5703
- */
5704
- SubscriptionStatusResponse: {
5705
- /** Status */
5706
- status: string;
5707
- /** Trial Expires */
5708
- trial_expires?: number | null;
5709
- /** Days Remaining */
5710
- days_remaining?: number | null;
5711
- /** Price Id */
5712
- price_id?: string | null;
5713
- /** Plan */
5714
- plan?: string | null;
5715
- /** Amount */
5716
- amount?: number | null;
5717
- /** Currency */
5718
- currency?: string | null;
5719
- /** Current Period End */
5720
- current_period_end?: number | null;
5721
- /** Cancel At Period End */
5722
- cancel_at_period_end?: boolean | null;
5723
- /** Portal Url */
5724
- portal_url?: string | null;
5725
- /** Spend */
5726
- spend?: number | null;
5727
- /** Max Budget */
5728
- max_budget?: number | null;
5729
- /** Budget Reset At */
5730
- budget_reset_at?: number | null;
5731
- /** Total Files Mb */
5732
- total_files_mb?: number | null;
5733
- /** Storage Quota Mb */
5734
- storage_quota_mb?: number | null;
5735
6248
  };
5736
6249
  /**
5737
6250
  * SummariseLLMConfig
@@ -5816,6 +6329,27 @@ interface components {
5816
6329
  /** Columns */
5817
6330
  columns: string[];
5818
6331
  };
6332
+ /**
6333
+ * TagBreakdown
6334
+ * @description Spend/token breakdown keyed by tag value (e.g. wrk-xxx, usr-xxx).
6335
+ */
6336
+ TagBreakdown: {
6337
+ /**
6338
+ * Spend
6339
+ * @default 0
6340
+ */
6341
+ spend: number;
6342
+ /**
6343
+ * Total Tokens
6344
+ * @default 0
6345
+ */
6346
+ total_tokens: number;
6347
+ /**
6348
+ * Requests
6349
+ * @default 0
6350
+ */
6351
+ requests: number;
6352
+ };
5819
6353
  /**
5820
6354
  * TagFormat
5821
6355
  * @description Tag format configuration stored as JSONB.
@@ -5902,7 +6436,7 @@ interface components {
5902
6436
  * Status
5903
6437
  * @enum {string}
5904
6438
  */
5905
- status: 'queued' | 'parsing' | 'encrypting' | 'indexing' | 'analysing' | 'completed' | 'failed' | 'skipped';
6439
+ status: 'queued' | 'parsing' | 'encrypting' | 'indexing' | 'analysing' | 'completed' | 'failed' | 'skipped' | 'empty';
5906
6440
  /** Progress */
5907
6441
  progress: number;
5908
6442
  };
@@ -6123,14 +6657,6 @@ interface components {
6123
6657
  [key: string]: unknown;
6124
6658
  }[];
6125
6659
  };
6126
- /**
6127
- * TrialUpdate
6128
- * @description Trial update - only trial_expires can be set, and only if currently null.
6129
- */
6130
- TrialUpdate: {
6131
- /** Trial Expires */
6132
- trial_expires?: number | null;
6133
- };
6134
6660
  /**
6135
6661
  * UpdateDocTagRequest
6136
6662
  * @description Update a doctag's note or citations. Identified by (tag_ext_id, doc_ext_id) pair.
@@ -6191,17 +6717,22 @@ interface components {
6191
6717
  * UploadDocumentsResponse
6192
6718
  * @description Response for document upload operations.
6193
6719
  *
6194
- * Returns array of document IDs in the same order as uploaded files.
6195
- * Includes duplicate warnings for files with identical content already in workspace.
6720
+ * Returns array of document IDs for successfully uploaded files.
6721
+ * Files that fail validation are skipped and listed with reasons.
6196
6722
  */
6197
6723
  UploadDocumentsResponse: {
6198
6724
  /** Doc Ext Ids */
6199
- doc_ext_ids: string[];
6725
+ doc_ext_ids?: string[];
6726
+ /**
6727
+ * Batch Id
6728
+ * @description Batch ID for tracking completion via WebSocket batch_complete events
6729
+ */
6730
+ batch_id?: string | null;
6200
6731
  /**
6201
- * Duplicates
6202
- * @description Doc IDs that have identical content to existing documents in the workspace
6732
+ * Skipped
6733
+ * @description Files that were skipped during upload with reasons
6203
6734
  */
6204
- duplicates?: string[];
6735
+ skipped?: components['schemas']['SkippedFile'][];
6205
6736
  };
6206
6737
  /**
6207
6738
  * UserInputBody
@@ -6340,6 +6871,8 @@ interface components {
6340
6871
  subscription?: components['schemas']['SubscriptionInfo'] | null;
6341
6872
  /** Last Workspace */
6342
6873
  last_workspace?: string | null;
6874
+ /** Last Config */
6875
+ last_config?: string | null;
6343
6876
  /**
6344
6877
  * Pinned Workspaces
6345
6878
  * @default []
@@ -6370,11 +6903,6 @@ interface components {
6370
6903
  * @default false
6371
6904
  */
6372
6905
  show_thread_visualization: boolean;
6373
- /**
6374
- * Show Smart Search
6375
- * @default false
6376
- */
6377
- show_smart_search: boolean;
6378
6906
  /**
6379
6907
  * Show Security Settings
6380
6908
  * @default false
@@ -6425,12 +6953,8 @@ interface components {
6425
6953
  /**
6426
6954
  * UserSettingsUpdate
6427
6955
  * @description User settings update request - allows partial updates.
6428
- *
6429
- * Note: stripe_customer_id and status are not patchable.
6430
- * trial_expires can only be set once (to start trial).
6431
6956
  */
6432
6957
  UserSettingsUpdate: {
6433
- subscription?: components['schemas']['TrialUpdate'] | null;
6434
6958
  /** Pinned Workspaces */
6435
6959
  pinned_workspaces?: string[] | null;
6436
6960
  /** Pinned Templates */
@@ -6441,8 +6965,6 @@ interface components {
6441
6965
  show_document_navigator?: boolean | null;
6442
6966
  /** Show Thread Visualization */
6443
6967
  show_thread_visualization?: boolean | null;
6444
- /** Show Smart Search */
6445
- show_smart_search?: boolean | null;
6446
6968
  /** Show Security Settings */
6447
6969
  show_security_settings?: boolean | null;
6448
6970
  /** Show Invite Tab */
@@ -6638,6 +7160,8 @@ interface components {
6638
7160
  is_public: boolean;
6639
7161
  /** Workspace Key */
6640
7162
  workspace_key: string;
7163
+ /** Project Ext Id */
7164
+ project_ext_id: string;
6641
7165
  };
6642
7166
  /**
6643
7167
  * WorkspaceOpenRequest
@@ -6719,6 +7243,14 @@ interface components {
6719
7243
  * @default []
6720
7244
  */
6721
7245
  users: components['schemas']['WorkspaceUserResponse'][];
7246
+ /** Project Ext Id */
7247
+ project_ext_id?: string | null;
7248
+ /** Project Name */
7249
+ project_name?: string | null;
7250
+ /** Project Subscription */
7251
+ project_subscription?: string | null;
7252
+ /** Project Owner Ext Id */
7253
+ project_owner_ext_id?: string | null;
6722
7254
  };
6723
7255
  /**
6724
7256
  * WorkspaceRole
@@ -6734,6 +7266,8 @@ interface components {
6734
7266
  description?: string | null;
6735
7267
  /** Is Public */
6736
7268
  is_public?: boolean | null;
7269
+ /** Project Ext Id */
7270
+ project_ext_id?: string | null;
6737
7271
  };
6738
7272
  /**
6739
7273
  * WorkspaceUserResponse
@@ -6777,18 +7311,14 @@ interface components {
6777
7311
  }
6778
7312
  type $defs = Record<string, never>;
6779
7313
  interface operations {
6780
- verify_email: {
7314
+ list_projects: {
6781
7315
  parameters: {
6782
7316
  query?: never;
6783
7317
  header?: never;
6784
7318
  path?: never;
6785
7319
  cookie?: never;
6786
7320
  };
6787
- requestBody: {
6788
- content: {
6789
- 'application/json': components['schemas']['VerifyEmailRequest'];
6790
- };
6791
- };
7321
+ requestBody?: never;
6792
7322
  responses: {
6793
7323
  /** @description Successful Response */
6794
7324
  200: {
@@ -6796,16 +7326,338 @@ interface operations {
6796
7326
  [name: string]: unknown;
6797
7327
  };
6798
7328
  content: {
6799
- 'application/json': components['schemas']['VerifyEmailResponse'];
6800
- };
6801
- };
6802
- /** @description Validation Error */
6803
- 422: {
6804
- headers: {
6805
- [name: string]: unknown;
6806
- };
6807
- content: {
6808
- 'application/json': components['schemas']['HTTPValidationError'];
7329
+ 'application/json': components['schemas']['ProjectResponse'][];
7330
+ };
7331
+ };
7332
+ };
7333
+ };
7334
+ create_project: {
7335
+ parameters: {
7336
+ query?: never;
7337
+ header?: never;
7338
+ path?: never;
7339
+ cookie?: never;
7340
+ };
7341
+ requestBody: {
7342
+ content: {
7343
+ 'application/json': components['schemas']['ProjectCreateRequest'];
7344
+ };
7345
+ };
7346
+ responses: {
7347
+ /** @description Successful Response */
7348
+ 201: {
7349
+ headers: {
7350
+ [name: string]: unknown;
7351
+ };
7352
+ content: {
7353
+ 'application/json': components['schemas']['ProjectResponse'];
7354
+ };
7355
+ };
7356
+ /** @description Validation Error */
7357
+ 422: {
7358
+ headers: {
7359
+ [name: string]: unknown;
7360
+ };
7361
+ content: {
7362
+ 'application/json': components['schemas']['HTTPValidationError'];
7363
+ };
7364
+ };
7365
+ };
7366
+ };
7367
+ delete_project: {
7368
+ parameters: {
7369
+ query?: never;
7370
+ header?: never;
7371
+ path: {
7372
+ project_ext_id: string;
7373
+ };
7374
+ cookie?: never;
7375
+ };
7376
+ requestBody?: never;
7377
+ responses: {
7378
+ /** @description Successful Response */
7379
+ 204: {
7380
+ headers: {
7381
+ [name: string]: unknown;
7382
+ };
7383
+ content?: never;
7384
+ };
7385
+ /** @description Validation Error */
7386
+ 422: {
7387
+ headers: {
7388
+ [name: string]: unknown;
7389
+ };
7390
+ content: {
7391
+ 'application/json': components['schemas']['HTTPValidationError'];
7392
+ };
7393
+ };
7394
+ };
7395
+ };
7396
+ update_project: {
7397
+ parameters: {
7398
+ query?: never;
7399
+ header?: never;
7400
+ path: {
7401
+ project_ext_id: string;
7402
+ };
7403
+ cookie?: never;
7404
+ };
7405
+ requestBody: {
7406
+ content: {
7407
+ 'application/json': components['schemas']['ProjectUpdateRequest'];
7408
+ };
7409
+ };
7410
+ responses: {
7411
+ /** @description Successful Response */
7412
+ 200: {
7413
+ headers: {
7414
+ [name: string]: unknown;
7415
+ };
7416
+ content: {
7417
+ 'application/json': components['schemas']['ProjectResponse'];
7418
+ };
7419
+ };
7420
+ /** @description Validation Error */
7421
+ 422: {
7422
+ headers: {
7423
+ [name: string]: unknown;
7424
+ };
7425
+ content: {
7426
+ 'application/json': components['schemas']['HTTPValidationError'];
7427
+ };
7428
+ };
7429
+ };
7430
+ };
7431
+ create_project_checkout: {
7432
+ parameters: {
7433
+ query?: never;
7434
+ header?: {
7435
+ origin?: string;
7436
+ referer?: string;
7437
+ 'x-frontend-origin'?: string;
7438
+ };
7439
+ path: {
7440
+ project_ext_id: string;
7441
+ };
7442
+ cookie?: never;
7443
+ };
7444
+ requestBody: {
7445
+ content: {
7446
+ 'application/json': components['schemas']['ProjectCheckoutRequest'];
7447
+ };
7448
+ };
7449
+ responses: {
7450
+ /** @description Successful Response */
7451
+ 200: {
7452
+ headers: {
7453
+ [name: string]: unknown;
7454
+ };
7455
+ content: {
7456
+ 'application/json': components['schemas']['ProjectCheckoutResponse'];
7457
+ };
7458
+ };
7459
+ /** @description Validation Error */
7460
+ 422: {
7461
+ headers: {
7462
+ [name: string]: unknown;
7463
+ };
7464
+ content: {
7465
+ 'application/json': components['schemas']['HTTPValidationError'];
7466
+ };
7467
+ };
7468
+ };
7469
+ };
7470
+ change_project_plan: {
7471
+ parameters: {
7472
+ query?: never;
7473
+ header?: never;
7474
+ path: {
7475
+ project_ext_id: string;
7476
+ };
7477
+ cookie?: never;
7478
+ };
7479
+ requestBody: {
7480
+ content: {
7481
+ 'application/json': components['schemas']['ProjectUpgradeRequest'];
7482
+ };
7483
+ };
7484
+ responses: {
7485
+ /** @description Successful Response */
7486
+ 200: {
7487
+ headers: {
7488
+ [name: string]: unknown;
7489
+ };
7490
+ content: {
7491
+ 'application/json': components['schemas']['ProjectResponse'];
7492
+ };
7493
+ };
7494
+ /** @description Validation Error */
7495
+ 422: {
7496
+ headers: {
7497
+ [name: string]: unknown;
7498
+ };
7499
+ content: {
7500
+ 'application/json': components['schemas']['HTTPValidationError'];
7501
+ };
7502
+ };
7503
+ };
7504
+ };
7505
+ refresh_project: {
7506
+ parameters: {
7507
+ query?: never;
7508
+ header?: never;
7509
+ path: {
7510
+ project_ext_id: string;
7511
+ };
7512
+ cookie?: never;
7513
+ };
7514
+ requestBody?: never;
7515
+ responses: {
7516
+ /** @description Successful Response */
7517
+ 200: {
7518
+ headers: {
7519
+ [name: string]: unknown;
7520
+ };
7521
+ content: {
7522
+ 'application/json': components['schemas']['ProjectResponse'];
7523
+ };
7524
+ };
7525
+ /** @description Validation Error */
7526
+ 422: {
7527
+ headers: {
7528
+ [name: string]: unknown;
7529
+ };
7530
+ content: {
7531
+ 'application/json': components['schemas']['HTTPValidationError'];
7532
+ };
7533
+ };
7534
+ };
7535
+ };
7536
+ get_project_usage: {
7537
+ parameters: {
7538
+ query?: {
7539
+ /** @description 0 = current billing period, 1 = previous month, etc. */
7540
+ months_back?: number;
7541
+ };
7542
+ header?: never;
7543
+ path: {
7544
+ project_ext_id: string;
7545
+ };
7546
+ cookie?: never;
7547
+ };
7548
+ requestBody?: never;
7549
+ responses: {
7550
+ /** @description Successful Response */
7551
+ 200: {
7552
+ headers: {
7553
+ [name: string]: unknown;
7554
+ };
7555
+ content: {
7556
+ 'application/json': components['schemas']['ProjectUsageResponse'];
7557
+ };
7558
+ };
7559
+ /** @description Validation Error */
7560
+ 422: {
7561
+ headers: {
7562
+ [name: string]: unknown;
7563
+ };
7564
+ content: {
7565
+ 'application/json': components['schemas']['HTTPValidationError'];
7566
+ };
7567
+ };
7568
+ };
7569
+ };
7570
+ get_project_invoices: {
7571
+ parameters: {
7572
+ query?: never;
7573
+ header?: never;
7574
+ path: {
7575
+ project_ext_id: string;
7576
+ };
7577
+ cookie?: never;
7578
+ };
7579
+ requestBody?: never;
7580
+ responses: {
7581
+ /** @description Successful Response */
7582
+ 200: {
7583
+ headers: {
7584
+ [name: string]: unknown;
7585
+ };
7586
+ content: {
7587
+ 'application/json': components['schemas']['ProjectInvoicesResponse'];
7588
+ };
7589
+ };
7590
+ /** @description Validation Error */
7591
+ 422: {
7592
+ headers: {
7593
+ [name: string]: unknown;
7594
+ };
7595
+ content: {
7596
+ 'application/json': components['schemas']['HTTPValidationError'];
7597
+ };
7598
+ };
7599
+ };
7600
+ };
7601
+ cancel_project_subscription: {
7602
+ parameters: {
7603
+ query?: never;
7604
+ header?: never;
7605
+ path: {
7606
+ project_ext_id: string;
7607
+ };
7608
+ cookie?: never;
7609
+ };
7610
+ requestBody?: never;
7611
+ responses: {
7612
+ /** @description Successful Response */
7613
+ 200: {
7614
+ headers: {
7615
+ [name: string]: unknown;
7616
+ };
7617
+ content: {
7618
+ 'application/json': components['schemas']['ProjectResponse'];
7619
+ };
7620
+ };
7621
+ /** @description Validation Error */
7622
+ 422: {
7623
+ headers: {
7624
+ [name: string]: unknown;
7625
+ };
7626
+ content: {
7627
+ 'application/json': components['schemas']['HTTPValidationError'];
7628
+ };
7629
+ };
7630
+ };
7631
+ };
7632
+ verify_email: {
7633
+ parameters: {
7634
+ query?: never;
7635
+ header?: never;
7636
+ path?: never;
7637
+ cookie?: never;
7638
+ };
7639
+ requestBody: {
7640
+ content: {
7641
+ 'application/json': components['schemas']['VerifyEmailRequest'];
7642
+ };
7643
+ };
7644
+ responses: {
7645
+ /** @description Successful Response */
7646
+ 200: {
7647
+ headers: {
7648
+ [name: string]: unknown;
7649
+ };
7650
+ content: {
7651
+ 'application/json': components['schemas']['VerifyEmailResponse'];
7652
+ };
7653
+ };
7654
+ /** @description Validation Error */
7655
+ 422: {
7656
+ headers: {
7657
+ [name: string]: unknown;
7658
+ };
7659
+ content: {
7660
+ 'application/json': components['schemas']['HTTPValidationError'];
6809
7661
  };
6810
7662
  };
6811
7663
  };
@@ -7310,61 +8162,6 @@ interface operations {
7310
8162
  };
7311
8163
  };
7312
8164
  };
7313
- get_subscription: {
7314
- parameters: {
7315
- query?: never;
7316
- header?: never;
7317
- path?: never;
7318
- cookie?: never;
7319
- };
7320
- requestBody?: never;
7321
- responses: {
7322
- /** @description Successful Response */
7323
- 200: {
7324
- headers: {
7325
- [name: string]: unknown;
7326
- };
7327
- content: {
7328
- 'application/json': components['schemas']['SubscriptionStatusResponse'];
7329
- };
7330
- };
7331
- };
7332
- };
7333
- create_subscription: {
7334
- parameters: {
7335
- query?: never;
7336
- header?: {
7337
- origin?: string;
7338
- };
7339
- path?: never;
7340
- cookie?: never;
7341
- };
7342
- requestBody: {
7343
- content: {
7344
- 'application/json': components['schemas']['CreateSubscriptionRequest'];
7345
- };
7346
- };
7347
- responses: {
7348
- /** @description Successful Response */
7349
- 200: {
7350
- headers: {
7351
- [name: string]: unknown;
7352
- };
7353
- content: {
7354
- 'application/json': components['schemas']['CreateSubscriptionResponse'];
7355
- };
7356
- };
7357
- /** @description Validation Error */
7358
- 422: {
7359
- headers: {
7360
- [name: string]: unknown;
7361
- };
7362
- content: {
7363
- 'application/json': components['schemas']['HTTPValidationError'];
7364
- };
7365
- };
7366
- };
7367
- };
7368
8165
  create_workspace: {
7369
8166
  parameters: {
7370
8167
  query?: never;
@@ -7649,7 +8446,12 @@ interface operations {
7649
8446
  };
7650
8447
  list_documents: {
7651
8448
  parameters: {
7652
- query?: never;
8449
+ query?: {
8450
+ /** @description Optional page size. Omit to return every document in the workspace (the default — the web UI's sort/search/filter is client-side and needs the full list). Set when paging through huge workspaces from a CLI. */
8451
+ limit?: number | null;
8452
+ /** @description Optional offset for pagination. Requires a stable id-ordered scan. */
8453
+ offset?: number | null;
8454
+ };
7653
8455
  header?: never;
7654
8456
  path?: never;
7655
8457
  cookie?: never;
@@ -7665,12 +8467,21 @@ interface operations {
7665
8467
  'application/json': components['schemas']['DocResponse'][];
7666
8468
  };
7667
8469
  };
8470
+ /** @description Validation Error */
8471
+ 422: {
8472
+ headers: {
8473
+ [name: string]: unknown;
8474
+ };
8475
+ content: {
8476
+ 'application/json': components['schemas']['HTTPValidationError'];
8477
+ };
8478
+ };
7668
8479
  };
7669
8480
  };
7670
8481
  get_similar_documents: {
7671
8482
  parameters: {
7672
8483
  query?: {
7673
- /** @description Minimum similarity score (0.0 = all stored pairs) */
8484
+ /** @description Minimum similarity score (default 0.92 for near-duplicates) */
7674
8485
  threshold?: number;
7675
8486
  /** @description Filter pairs involving a specific document */
7676
8487
  doc_ext_id?: string | null;
@@ -7906,7 +8717,7 @@ interface operations {
7906
8717
  wp_type?: string | null;
7907
8718
  /** @description Tag to link the document to */
7908
8719
  tag_ext_id?: string | null;
7909
- /** @description Optional logical folder path (URL safe) */
8720
+ /** @description Optional logical folder path (preserved as-is for e-discovery) */
7910
8721
  folder?: string | null;
7911
8722
  };
7912
8723
  header?: never;
@@ -8517,6 +9328,28 @@ interface operations {
8517
9328
  };
8518
9329
  };
8519
9330
  };
9331
+ get_metrics: {
9332
+ parameters: {
9333
+ query?: never;
9334
+ header?: never;
9335
+ path?: never;
9336
+ cookie?: never;
9337
+ };
9338
+ requestBody?: never;
9339
+ responses: {
9340
+ /** @description Successful Response */
9341
+ 200: {
9342
+ headers: {
9343
+ [name: string]: unknown;
9344
+ };
9345
+ content: {
9346
+ 'application/json': {
9347
+ [key: string]: unknown;
9348
+ };
9349
+ };
9350
+ };
9351
+ };
9352
+ };
8520
9353
  list_tags: {
8521
9354
  parameters: {
8522
9355
  query?: never;
@@ -8658,7 +9491,12 @@ interface operations {
8658
9491
  };
8659
9492
  get_notifications: {
8660
9493
  parameters: {
8661
- query?: never;
9494
+ query?: {
9495
+ /** @description Maximum number of notifications to return, newest first. Defaults to 100 — almost everyone only cares about the latest. Increase or page via offset to walk further back in history. */
9496
+ limit?: number;
9497
+ /** @description Number of notifications to skip from the newest, for paging. */
9498
+ offset?: number;
9499
+ };
8662
9500
  header?: never;
8663
9501
  path?: never;
8664
9502
  cookie?: never;
@@ -8674,6 +9512,15 @@ interface operations {
8674
9512
  'application/json': components['schemas']['NotificationResponse'][];
8675
9513
  };
8676
9514
  };
9515
+ /** @description Validation Error */
9516
+ 422: {
9517
+ headers: {
9518
+ [name: string]: unknown;
9519
+ };
9520
+ content: {
9521
+ 'application/json': components['schemas']['HTTPValidationError'];
9522
+ };
9523
+ };
8677
9524
  };
8678
9525
  };
8679
9526
  send_messages: {