@arke-institute/sdk 2.7.0 → 2.7.1

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.
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Source: Arke v1 API
8
8
  * Version: 1.0.0
9
- * Generated: 2026-01-26T22:08:41.056Z
9
+ * Generated: 2026-01-28T21:31:10.509Z
10
10
  */
11
11
  type paths = {
12
12
  "/ops-reference": {
@@ -2064,6 +2064,121 @@ type paths = {
2064
2064
  patch?: never;
2065
2065
  trace?: never;
2066
2066
  };
2067
+ "/entities/batch": {
2068
+ parameters: {
2069
+ query?: never;
2070
+ header?: never;
2071
+ path?: never;
2072
+ cookie?: never;
2073
+ };
2074
+ get?: never;
2075
+ put?: never;
2076
+ /**
2077
+ * Batch create entities
2078
+ * @description Creates multiple entities in a single request with bounded internal concurrency.
2079
+ *
2080
+ * Entities are created in chunks of 10 internally. Each entity follows the same permission model as single creates.
2081
+ *
2082
+ * Returns per-entity results. HTTP 201 if all succeed, 207 if some fail.
2083
+ *
2084
+ * **Max batch size:** 100 entities.
2085
+ *
2086
+ * ---
2087
+ * **Permission:** `entity:create`
2088
+ * **Auth:** required
2089
+ */
2090
+ post: {
2091
+ parameters: {
2092
+ query?: never;
2093
+ header?: never;
2094
+ path?: never;
2095
+ cookie?: never;
2096
+ };
2097
+ requestBody?: {
2098
+ content: {
2099
+ "application/json": components["schemas"]["BatchCreateEntityRequest"];
2100
+ };
2101
+ };
2102
+ responses: {
2103
+ /** @description All entities created successfully */
2104
+ 201: {
2105
+ headers: {
2106
+ [name: string]: unknown;
2107
+ };
2108
+ content: {
2109
+ "application/json": components["schemas"]["BatchCreateEntityResponse"];
2110
+ };
2111
+ };
2112
+ /** @description Partial success - some entities failed */
2113
+ 207: {
2114
+ headers: {
2115
+ [name: string]: unknown;
2116
+ };
2117
+ content: {
2118
+ "application/json": components["schemas"]["BatchCreateEntityResponse"];
2119
+ };
2120
+ };
2121
+ /** @description Bad Request - Invalid input */
2122
+ 400: {
2123
+ headers: {
2124
+ [name: string]: unknown;
2125
+ };
2126
+ content: {
2127
+ /**
2128
+ * @example {
2129
+ * "error": "Validation failed",
2130
+ * "details": {
2131
+ * "issues": [
2132
+ * {
2133
+ * "path": [
2134
+ * "properties",
2135
+ * "label"
2136
+ * ],
2137
+ * "message": "Required"
2138
+ * }
2139
+ * ]
2140
+ * }
2141
+ * }
2142
+ */
2143
+ "application/json": components["schemas"]["ValidationErrorResponse"];
2144
+ };
2145
+ };
2146
+ /** @description Unauthorized - Missing or invalid authentication */
2147
+ 401: {
2148
+ headers: {
2149
+ [name: string]: unknown;
2150
+ };
2151
+ content: {
2152
+ /**
2153
+ * @example {
2154
+ * "error": "Unauthorized: Missing or invalid authentication token"
2155
+ * }
2156
+ */
2157
+ "application/json": components["schemas"]["ErrorResponse"];
2158
+ };
2159
+ };
2160
+ /** @description Forbidden - Insufficient permissions */
2161
+ 403: {
2162
+ headers: {
2163
+ [name: string]: unknown;
2164
+ };
2165
+ content: {
2166
+ /**
2167
+ * @example {
2168
+ * "error": "Forbidden: You do not have permission to perform this action"
2169
+ * }
2170
+ */
2171
+ "application/json": components["schemas"]["ErrorResponse"];
2172
+ };
2173
+ };
2174
+ };
2175
+ };
2176
+ delete?: never;
2177
+ options?: never;
2178
+ head?: never;
2179
+ patch?: never;
2180
+ trace?: never;
2181
+ };
2067
2182
  "/entities/{id}": {
2068
2183
  parameters: {
2069
2184
  query?: never;
@@ -7669,18 +7784,19 @@ type paths = {
7669
7784
  * Search agents by text
7670
7785
  * @description Search for agents using semantic text search.
7671
7786
  *
7672
- * Use this endpoint to discover agents across the network. Only active agents are returned. Results are ranked by semantic similarity to your query based on agent descriptions and capabilities.
7787
+ * **Official Agents (Default):** By default, this endpoint searches only the official Arke agents collection (`01KFF0H1KSR4SHHDQ7T2HXQEK6`). These agents are pre-approved, actively maintained, and tested for security and reliability.
7673
7788
  *
7674
- * **Entity Expansion:**
7789
+ * **All Agents:** Set `scope: "all"` to search network-wide. This is not recommended as results may include duplicates, outdated agents, or unapproved implementations.
7675
7790
  *
7676
- * Use `expand` in the request body to fetch entity data inline with search results:
7791
+ * Results are ranked by semantic similarity to your query based on agent descriptions and capabilities.
7677
7792
  *
7678
- * - **`expand: "preview"` (default)**: Adds `entity_preview` with fresh lightweight data (id, type, label, timestamps)
7679
- * - **`expand: "full"`**: Adds `entity` with complete manifest including all properties and relationships
7680
- * - **`expand: "none"`**: Returns search metadata only (fastest, lowest bandwidth)
7793
+ * **Entity Expansion:**
7681
7794
  *
7682
- * Preview mode is recommended for most use cases. Full expansion can result in large payloads.
7683
- * Gracefully handles deleted or inaccessible entities (returns results without expansion data).
7795
+ * By default, agent search returns **full entity manifests** (including `endpoint`, `input_schema`, `actions_required`, etc.) to make discovery results immediately useful.
7796
+ *
7797
+ * - **`expand: "full"` (default)**: Complete agent manifests with all properties
7798
+ * - **`expand: "preview"`**: Lightweight previews (id, type, label, description_preview, timestamps)
7799
+ * - **`expand: "none"`**: Search metadata only (fastest)
7684
7800
  *
7685
7801
  * ---
7686
7802
  * **Permission:** `search:query`
@@ -7709,6 +7825,12 @@ type paths = {
7709
7825
  * @enum {string}
7710
7826
  */
7711
7827
  expand?: "preview" | "full" | "none";
7828
+ /**
7829
+ * @description Search scope. "official" (default) searches only the pre-approved Arke agents collection. "all" searches all agents network-wide (not recommended - may include duplicates, outdated, or unapproved agents).
7830
+ * @default official
7831
+ * @enum {string}
7832
+ */
7833
+ scope?: "official" | "all";
7712
7834
  };
7713
7835
  };
7714
7836
  };
@@ -8113,6 +8235,12 @@ type paths = {
8113
8235
  * {"type":"message_delta","delta":{"usage":{"input_tokens":123,"output_tokens":456}}}
8114
8236
  * ```
8115
8237
  *
8238
+ * ## Storage Limits
8239
+ *
8240
+ * - **Single message**: 2 MB max (returns 413 with code `MESSAGE_TOO_LARGE`)
8241
+ * - **Chat database**: 10 GB max (returns 507 with code `CHAT_STORAGE_FULL`)
8242
+ * - **LLM context**: ~128K tokens (returns stream error)
8243
+ *
8116
8244
  *
8117
8245
  * ---
8118
8246
  * **Permission:** `chat:send`
@@ -8168,8 +8296,89 @@ type paths = {
8168
8296
  "application/json": components["schemas"]["ErrorResponse"];
8169
8297
  };
8170
8298
  };
8299
+ /** @description Message exceeds 2MB storage limit */
8300
+ 413: {
8301
+ headers: {
8302
+ [name: string]: unknown;
8303
+ };
8304
+ content: {
8305
+ "application/json": components["schemas"]["MessageTooLargeError"];
8306
+ };
8307
+ };
8308
+ /** @description Chat storage full (10GB limit) */
8309
+ 507: {
8310
+ headers: {
8311
+ [name: string]: unknown;
8312
+ };
8313
+ content: {
8314
+ "application/json": components["schemas"]["ChatStorageFullError"];
8315
+ };
8316
+ };
8317
+ };
8318
+ };
8319
+ delete?: never;
8320
+ options?: never;
8321
+ head?: never;
8322
+ patch?: never;
8323
+ trace?: never;
8324
+ };
8325
+ "/chat/sessions": {
8326
+ parameters: {
8327
+ query?: never;
8328
+ header?: never;
8329
+ path?: never;
8330
+ cookie?: never;
8331
+ };
8332
+ /**
8333
+ * List user chats
8334
+ * @description Returns a paginated list of the authenticated user's chats, sorted newest-first.
8335
+ *
8336
+ * Only returns chats owned by the authenticated user. Anonymous chats are not indexed.
8337
+ *
8338
+ * Query parameters:
8339
+ * - `limit`: Max chats to return (1-100, default 20)
8340
+ * - `offset`: Number of chats to skip for pagination (default 0)
8341
+ *
8342
+ * ---
8343
+ * **Permission:** `chat:view`
8344
+ * **Auth:** required
8345
+ */
8346
+ get: {
8347
+ parameters: {
8348
+ query?: never;
8349
+ header?: never;
8350
+ path?: never;
8351
+ cookie?: never;
8352
+ };
8353
+ requestBody?: never;
8354
+ responses: {
8355
+ /** @description List of user chats */
8356
+ 200: {
8357
+ headers: {
8358
+ [name: string]: unknown;
8359
+ };
8360
+ content: {
8361
+ "application/json": components["schemas"]["ListChatsResponse"];
8362
+ };
8363
+ };
8364
+ /** @description Unauthorized - Missing or invalid authentication */
8365
+ 401: {
8366
+ headers: {
8367
+ [name: string]: unknown;
8368
+ };
8369
+ content: {
8370
+ /**
8371
+ * @example {
8372
+ * "error": "Unauthorized: Missing or invalid authentication token"
8373
+ * }
8374
+ */
8375
+ "application/json": components["schemas"]["ErrorResponse"];
8376
+ };
8377
+ };
8171
8378
  };
8172
8379
  };
8380
+ put?: never;
8381
+ post?: never;
8173
8382
  delete?: never;
8174
8383
  options?: never;
8175
8384
  head?: never;
@@ -8187,11 +8396,11 @@ type paths = {
8187
8396
  * Get chat session
8188
8397
  * @description Get information about a chat session including message history.
8189
8398
  *
8190
- * Sessions are publicly viewable for sharing purposes. Only the owner can send messages or delete the session.
8399
+ * Only the session owner can view their chat sessions.
8191
8400
  *
8192
8401
  * ---
8193
8402
  * **Permission:** `chat:view`
8194
- * **Auth:** optional
8403
+ * **Auth:** required
8195
8404
  */
8196
8405
  get: {
8197
8406
  parameters: {
@@ -8211,6 +8420,34 @@ type paths = {
8211
8420
  "application/json": components["schemas"]["ChatSession"];
8212
8421
  };
8213
8422
  };
8423
+ /** @description Unauthorized - Missing or invalid authentication */
8424
+ 401: {
8425
+ headers: {
8426
+ [name: string]: unknown;
8427
+ };
8428
+ content: {
8429
+ /**
8430
+ * @example {
8431
+ * "error": "Unauthorized: Missing or invalid authentication token"
8432
+ * }
8433
+ */
8434
+ "application/json": components["schemas"]["ErrorResponse"];
8435
+ };
8436
+ };
8437
+ /** @description Forbidden - Insufficient permissions */
8438
+ 403: {
8439
+ headers: {
8440
+ [name: string]: unknown;
8441
+ };
8442
+ content: {
8443
+ /**
8444
+ * @example {
8445
+ * "error": "Forbidden: You do not have permission to perform this action"
8446
+ * }
8447
+ */
8448
+ "application/json": components["schemas"]["ErrorResponse"];
8449
+ };
8450
+ };
8214
8451
  /** @description Not Found - Resource does not exist */
8215
8452
  404: {
8216
8453
  headers: {
@@ -8677,17 +8914,28 @@ type components = {
8677
8914
  */
8678
8915
  ts: number;
8679
8916
  /**
8680
- * @description Audit trail for edits
8917
+ * @description Audit trail for edits. Label fields are populated when ?expand=relationships is used.
8681
8918
  * @example {
8682
8919
  * "user_id": "01JCAPTAINAHAB000000000000",
8920
+ * "user_label": "Captain Ahab",
8683
8921
  * "method": "manual"
8684
8922
  * }
8685
8923
  */
8686
8924
  edited_by: {
8687
8925
  user_id: string;
8926
+ /**
8927
+ * @description Display name of the user/agent (populated during expansion)
8928
+ * @example Captain Ahab
8929
+ */
8930
+ user_label?: string;
8688
8931
  /** @enum {string} */
8689
8932
  method: "manual" | "ai_generated" | "system" | "import";
8690
8933
  on_behalf_of?: string;
8934
+ /**
8935
+ * @description Display name of the on_behalf_of user/agent (populated during expansion)
8936
+ * @example Research Assistant
8937
+ */
8938
+ on_behalf_of_label?: string;
8691
8939
  };
8692
8940
  /**
8693
8941
  * @description Previous version CID (present on updates)
@@ -9509,17 +9757,28 @@ type components = {
9509
9757
  */
9510
9758
  ts: number;
9511
9759
  /**
9512
- * @description Audit trail for edits
9760
+ * @description Audit trail for edits. Label fields are populated when ?expand=relationships is used.
9513
9761
  * @example {
9514
9762
  * "user_id": "01JCAPTAINAHAB000000000000",
9763
+ * "user_label": "Captain Ahab",
9515
9764
  * "method": "manual"
9516
9765
  * }
9517
9766
  */
9518
9767
  edited_by: {
9519
9768
  user_id: string;
9769
+ /**
9770
+ * @description Display name of the user/agent (populated during expansion)
9771
+ * @example Captain Ahab
9772
+ */
9773
+ user_label?: string;
9520
9774
  /** @enum {string} */
9521
9775
  method: "manual" | "ai_generated" | "system" | "import";
9522
9776
  on_behalf_of?: string;
9777
+ /**
9778
+ * @description Display name of the on_behalf_of user/agent (populated during expansion)
9779
+ * @example Research Assistant
9780
+ */
9781
+ on_behalf_of_label?: string;
9523
9782
  };
9524
9783
  /**
9525
9784
  * @description Previous version CID (present on updates)
@@ -9569,6 +9828,79 @@ type components = {
9569
9828
  */
9570
9829
  collection?: string;
9571
9830
  };
9831
+ BatchCreateSuccess: {
9832
+ /** @enum {boolean} */
9833
+ success: true;
9834
+ index: number;
9835
+ /**
9836
+ * @description Entity ID (ULID format)
9837
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
9838
+ */
9839
+ id: string;
9840
+ /**
9841
+ * @description Content Identifier (CID) - content-addressed hash
9842
+ * @example bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy
9843
+ */
9844
+ cid: string;
9845
+ type: string;
9846
+ /**
9847
+ * @description Entity version number
9848
+ * @example 1
9849
+ */
9850
+ ver: number;
9851
+ };
9852
+ BatchCreateFailure: {
9853
+ /** @enum {boolean} */
9854
+ success: false;
9855
+ index: number;
9856
+ error: string;
9857
+ code: string;
9858
+ };
9859
+ BatchCreateEntityResponse: {
9860
+ results: (components["schemas"]["BatchCreateSuccess"] | components["schemas"]["BatchCreateFailure"])[];
9861
+ summary: {
9862
+ total: number;
9863
+ succeeded: number;
9864
+ failed: number;
9865
+ };
9866
+ };
9867
+ BatchCreateEntityItem: {
9868
+ /**
9869
+ * @description Optional note describing this change
9870
+ * @example Added Chapter 42: The Whiteness of the Whale
9871
+ */
9872
+ note?: string;
9873
+ /** @description Entity type identifier */
9874
+ type: string;
9875
+ /** @description Entity properties */
9876
+ properties?: {
9877
+ [key: string]: unknown;
9878
+ };
9879
+ /** @description Entity relationships */
9880
+ relationships?: {
9881
+ predicate: string;
9882
+ peer: string;
9883
+ peer_type?: string;
9884
+ peer_label?: string;
9885
+ properties?: {
9886
+ [key: string]: unknown;
9887
+ };
9888
+ }[];
9889
+ /**
9890
+ * @description Parent collection ID (creates collection relationship)
9891
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
9892
+ */
9893
+ collection?: string;
9894
+ };
9895
+ BatchCreateEntityRequest: {
9896
+ /** @description Array of entities to create (1-100) */
9897
+ entities: components["schemas"]["BatchCreateEntityItem"][];
9898
+ /**
9899
+ * @description Default collection for entities that do not specify one
9900
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
9901
+ */
9902
+ default_collection?: string;
9903
+ };
9572
9904
  TipResponse: {
9573
9905
  /**
9574
9906
  * @description Entity ID (ULID format)
@@ -10235,17 +10567,28 @@ type components = {
10235
10567
  */
10236
10568
  ts: number;
10237
10569
  /**
10238
- * @description Audit trail for edits
10570
+ * @description Audit trail for edits. Label fields are populated when ?expand=relationships is used.
10239
10571
  * @example {
10240
10572
  * "user_id": "01JCAPTAINAHAB000000000000",
10573
+ * "user_label": "Captain Ahab",
10241
10574
  * "method": "manual"
10242
10575
  * }
10243
10576
  */
10244
10577
  edited_by: {
10245
10578
  user_id: string;
10579
+ /**
10580
+ * @description Display name of the user/agent (populated during expansion)
10581
+ * @example Captain Ahab
10582
+ */
10583
+ user_label?: string;
10246
10584
  /** @enum {string} */
10247
10585
  method: "manual" | "ai_generated" | "system" | "import";
10248
10586
  on_behalf_of?: string;
10587
+ /**
10588
+ * @description Display name of the on_behalf_of user/agent (populated during expansion)
10589
+ * @example Research Assistant
10590
+ */
10591
+ on_behalf_of_label?: string;
10249
10592
  };
10250
10593
  };
10251
10594
  CreateFileRequest: {
@@ -10494,17 +10837,28 @@ type components = {
10494
10837
  */
10495
10838
  ts: number;
10496
10839
  /**
10497
- * @description Audit trail for edits
10840
+ * @description Audit trail for edits. Label fields are populated when ?expand=relationships is used.
10498
10841
  * @example {
10499
10842
  * "user_id": "01JCAPTAINAHAB000000000000",
10843
+ * "user_label": "Captain Ahab",
10500
10844
  * "method": "manual"
10501
10845
  * }
10502
10846
  */
10503
10847
  edited_by: {
10504
10848
  user_id: string;
10849
+ /**
10850
+ * @description Display name of the user/agent (populated during expansion)
10851
+ * @example Captain Ahab
10852
+ */
10853
+ user_label?: string;
10505
10854
  /** @enum {string} */
10506
10855
  method: "manual" | "ai_generated" | "system" | "import";
10507
10856
  on_behalf_of?: string;
10857
+ /**
10858
+ * @description Display name of the on_behalf_of user/agent (populated during expansion)
10859
+ * @example Research Assistant
10860
+ */
10861
+ on_behalf_of_label?: string;
10508
10862
  };
10509
10863
  };
10510
10864
  CreateFolderRequest: {
@@ -10827,17 +11181,28 @@ type components = {
10827
11181
  */
10828
11182
  ts: string;
10829
11183
  /**
10830
- * @description Audit trail for edits
11184
+ * @description Audit trail for edits. Label fields are populated when ?expand=relationships is used.
10831
11185
  * @example {
10832
11186
  * "user_id": "01JCAPTAINAHAB000000000000",
11187
+ * "user_label": "Captain Ahab",
10833
11188
  * "method": "manual"
10834
11189
  * }
10835
11190
  */
10836
11191
  edited_by: {
10837
11192
  user_id: string;
11193
+ /**
11194
+ * @description Display name of the user/agent (populated during expansion)
11195
+ * @example Captain Ahab
11196
+ */
11197
+ user_label?: string;
10838
11198
  /** @enum {string} */
10839
11199
  method: "manual" | "ai_generated" | "system" | "import";
10840
11200
  on_behalf_of?: string;
11201
+ /**
11202
+ * @description Display name of the on_behalf_of user/agent (populated during expansion)
11203
+ * @example Research Assistant
11204
+ */
11205
+ on_behalf_of_label?: string;
10841
11206
  };
10842
11207
  /** @description Optional note describing this version */
10843
11208
  note?: string;
@@ -10926,17 +11291,28 @@ type components = {
10926
11291
  };
10927
11292
  }[];
10928
11293
  /**
10929
- * @description Audit trail for edits
11294
+ * @description Audit trail for edits. Label fields are populated when ?expand=relationships is used.
10930
11295
  * @example {
10931
11296
  * "user_id": "01JCAPTAINAHAB000000000000",
11297
+ * "user_label": "Captain Ahab",
10932
11298
  * "method": "manual"
10933
11299
  * }
10934
11300
  */
10935
11301
  edited_by: {
10936
11302
  user_id: string;
11303
+ /**
11304
+ * @description Display name of the user/agent (populated during expansion)
11305
+ * @example Captain Ahab
11306
+ */
11307
+ user_label?: string;
10937
11308
  /** @enum {string} */
10938
11309
  method: "manual" | "ai_generated" | "system" | "import";
10939
11310
  on_behalf_of?: string;
11311
+ /**
11312
+ * @description Display name of the on_behalf_of user/agent (populated during expansion)
11313
+ * @example Research Assistant
11314
+ */
11315
+ on_behalf_of_label?: string;
10940
11316
  };
10941
11317
  note?: string;
10942
11318
  };
@@ -11925,6 +12301,48 @@ type components = {
11925
12301
  */
11926
12302
  expand?: "none" | "preview" | "full";
11927
12303
  };
12304
+ MessageTooLargeDetails: {
12305
+ /** @enum {string} */
12306
+ code: "MESSAGE_TOO_LARGE";
12307
+ message: string;
12308
+ /** @example 2MB */
12309
+ limit: string;
12310
+ /** @example 2.48MB */
12311
+ actual?: string;
12312
+ };
12313
+ MessageTooLargeError: {
12314
+ /**
12315
+ * @description Human-readable error message
12316
+ * @example Message exceeds maximum size limit. Please shorten your message.
12317
+ */
12318
+ error: string;
12319
+ /**
12320
+ * @description Error code for client handling
12321
+ * @enum {string}
12322
+ */
12323
+ code: "MESSAGE_TOO_LARGE";
12324
+ details?: components["schemas"]["MessageTooLargeDetails"];
12325
+ };
12326
+ ChatStorageFullDetails: {
12327
+ /** @enum {string} */
12328
+ code: "CHAT_STORAGE_FULL";
12329
+ message: string;
12330
+ /** @example 10GB */
12331
+ limit: string;
12332
+ };
12333
+ ChatStorageFullError: {
12334
+ /**
12335
+ * @description Human-readable error message
12336
+ * @example This conversation has reached its maximum storage capacity. Please start a new conversation.
12337
+ */
12338
+ error: string;
12339
+ /**
12340
+ * @description Error code for client handling
12341
+ * @enum {string}
12342
+ */
12343
+ code: "CHAT_STORAGE_FULL";
12344
+ details?: components["schemas"]["ChatStorageFullDetails"];
12345
+ };
11928
12346
  TextPart: {
11929
12347
  /** @enum {string} */
11930
12348
  type: "text";
@@ -11955,6 +12373,47 @@ type components = {
11955
12373
  /** @description Array of chat messages in AI SDK v5 UIMessage format */
11956
12374
  messages: components["schemas"]["ChatMessage"][];
11957
12375
  };
12376
+ ChatListItem: {
12377
+ /**
12378
+ * @description Chat UUID (use with X-Chat-ID header)
12379
+ * @example 550e8400-e29b-41d4-a716-446655440000
12380
+ */
12381
+ id: string;
12382
+ /**
12383
+ * @description Auto-generated from first message (50 chars)
12384
+ * @example Help me understand the Arke API...
12385
+ */
12386
+ title: string | null;
12387
+ /**
12388
+ * @description ISO8601 timestamp of chat creation
12389
+ * @example 2026-01-26T14:30:00.000Z
12390
+ */
12391
+ createdAt: string;
12392
+ /**
12393
+ * @description ISO8601 timestamp of last message
12394
+ * @example 2026-01-26T15:45:00.000Z
12395
+ */
12396
+ updatedAt: string;
12397
+ /**
12398
+ * @description Last assistant response (100 chars, markdown stripped)
12399
+ * @example I found 3 entities matching your query. The first one is...
12400
+ */
12401
+ lastMessagePreview: string | null;
12402
+ };
12403
+ ListChatsResponse: {
12404
+ /** @description Array of chat metadata objects */
12405
+ chats: components["schemas"]["ChatListItem"][];
12406
+ /**
12407
+ * @description Total number of chats for this user
12408
+ * @example 42
12409
+ */
12410
+ total: number;
12411
+ /**
12412
+ * @description True if more chats exist beyond current page
12413
+ * @example true
12414
+ */
12415
+ hasMore: boolean;
12416
+ };
11958
12417
  ChatSession: {
11959
12418
  /**
11960
12419
  * @description Chat session ID