@soat/sdk 0.54.0 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1542,6 +1542,10 @@ type ConversationRecord = {
1542
1542
  * Actor ID associated with this conversation
1543
1543
  */
1544
1544
  actor_id?: string | null;
1545
+ /**
1546
+ * Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`.
1547
+ */
1548
+ retrieval?: 'embed' | 'none' | null;
1545
1549
  };
1546
1550
  type ConversationMessageRecord = {
1547
1551
  /**
@@ -5267,6 +5271,10 @@ type ProjectRecord = {
5267
5271
  * Whether `GET` requests naming this project are recorded in the audit log. `false` by default — v1 audits mutations only.
5268
5272
  */
5269
5273
  audit_reads_enabled?: boolean;
5274
+ /**
5275
+ * What a conversation that names no `retrieval` of its own does. `none` by default.
5276
+ */
5277
+ default_conversation_retrieval?: 'embed' | 'none';
5270
5278
  /**
5271
5279
  * Days of trace/generation content retention before the daily sweep purges it. `null` means retention is disabled (the default) and content is kept until purged on demand.
5272
5280
  */
@@ -5642,6 +5650,8 @@ type SubmitSessionToolOutputsRequest = {
5642
5650
  };
5643
5651
  /**
5644
5652
  * Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.
5653
+ *
5654
+ * Keys beginning `system.` are reserved: the platform writes them to record which conversation, actor, agent and role a row came from, and a write naming one is refused with `400 RESERVED_TAG_KEY`. They are read and filtered like any other tag.
5645
5655
  */
5646
5656
  type TagBag = {
5647
5657
  [key: string]: string;
@@ -9345,6 +9355,10 @@ type CreateConversationData = {
9345
9355
  * Actor ID to associate with this conversation
9346
9356
  */
9347
9357
  actor_id?: string | null;
9358
+ /**
9359
+ * Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`.
9360
+ */
9361
+ retrieval?: 'embed' | 'none' | null;
9348
9362
  };
9349
9363
  path?: never;
9350
9364
  query?: never;
@@ -9448,6 +9462,10 @@ type UpdateConversationData = {
9448
9462
  * New conversation name
9449
9463
  */
9450
9464
  name?: string | null;
9465
+ /**
9466
+ * Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`. Switching it on embeds the turns already in the conversation, so the whole conversation becomes retrievable rather than only what is said next.
9467
+ */
9468
+ retrieval?: 'embed' | 'none' | null;
9451
9469
  };
9452
9470
  path: {
9453
9471
  /**
@@ -9855,7 +9873,7 @@ type CreateDocumentData = {
9855
9873
  project_id?: string;
9856
9874
  content: string;
9857
9875
  /**
9858
- * Logical path within the project (e.g. /reports/q1.txt). Defaults to /filename if omitted.
9876
+ * Logical path within the project (e.g. /reports/q1.txt). Defaults to `/<filename>`, or to `/<document_id>.txt` when neither is given — a document with no path is reachable only by its id, since a prefix filter never matches null.
9859
9877
  */
9860
9878
  path?: string;
9861
9879
  filename?: string;
@@ -11463,6 +11481,10 @@ type ListFilesData = {
11463
11481
  * Filter files by project ID
11464
11482
  */
11465
11483
  project_id?: string;
11484
+ /**
11485
+ * Only files under this directory. The prefix is a path boundary, not a substring: `/reports` returns `/reports/q1.txt` and never `/reports-archive/q1.txt`, and `/` selects the whole project. A leading slash is optional and a trailing one is ignored, so `reports`, `/reports` and `/reports/` are the same filter. `%` and `_` are literal characters, not wildcards. Naming a directory under `/.system/` is what includes platform-written files, which a list without this parameter leaves out.
11486
+ */
11487
+ path_prefix?: string;
11466
11488
  /**
11467
11489
  * Filter by tag pairs, written `key:value` (split on the first colon, so a value may contain colons). Repeat the parameter for several pairs; **all** must be present with exactly that value.
11468
11490
  *
@@ -15437,6 +15459,10 @@ type UpdateProjectData = {
15437
15459
  * Opt the project into read auditing. When true, `GET` requests that name this project are recorded in the audit log alongside mutations. Defaults to `false`.
15438
15460
  */
15439
15461
  audit_reads_enabled?: boolean;
15462
+ /**
15463
+ * What a conversation that names no `retrieval` of its own does. `none` by default: a turn is embedded because someone asked for the conversation to be retrievable, never merely because it was said. Turns are stored and chunked on both settings.
15464
+ */
15465
+ default_conversation_retrieval?: 'embed' | 'none';
15440
15466
  /**
15441
15467
  * How long trace and generation content is kept before the daily retention sweep content-purges it. `null` (the default) disables retention; otherwise an integer >= 1. The sweep uses the same purge path as `DELETE /traces/{trace_id}/content`, so the row survives as an auditable skeleton with `content_redacted_at` set.
15442
15468
  */
package/dist/index.d.mts CHANGED
@@ -1542,6 +1542,10 @@ type ConversationRecord = {
1542
1542
  * Actor ID associated with this conversation
1543
1543
  */
1544
1544
  actor_id?: string | null;
1545
+ /**
1546
+ * Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`.
1547
+ */
1548
+ retrieval?: 'embed' | 'none' | null;
1545
1549
  };
1546
1550
  type ConversationMessageRecord = {
1547
1551
  /**
@@ -5267,6 +5271,10 @@ type ProjectRecord = {
5267
5271
  * Whether `GET` requests naming this project are recorded in the audit log. `false` by default — v1 audits mutations only.
5268
5272
  */
5269
5273
  audit_reads_enabled?: boolean;
5274
+ /**
5275
+ * What a conversation that names no `retrieval` of its own does. `none` by default.
5276
+ */
5277
+ default_conversation_retrieval?: 'embed' | 'none';
5270
5278
  /**
5271
5279
  * Days of trace/generation content retention before the daily sweep purges it. `null` means retention is disabled (the default) and content is kept until purged on demand.
5272
5280
  */
@@ -5642,6 +5650,8 @@ type SubmitSessionToolOutputsRequest = {
5642
5650
  };
5643
5651
  /**
5644
5652
  * Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.
5653
+ *
5654
+ * Keys beginning `system.` are reserved: the platform writes them to record which conversation, actor, agent and role a row came from, and a write naming one is refused with `400 RESERVED_TAG_KEY`. They are read and filtered like any other tag.
5645
5655
  */
5646
5656
  type TagBag = {
5647
5657
  [key: string]: string;
@@ -9345,6 +9355,10 @@ type CreateConversationData = {
9345
9355
  * Actor ID to associate with this conversation
9346
9356
  */
9347
9357
  actor_id?: string | null;
9358
+ /**
9359
+ * Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`.
9360
+ */
9361
+ retrieval?: 'embed' | 'none' | null;
9348
9362
  };
9349
9363
  path?: never;
9350
9364
  query?: never;
@@ -9448,6 +9462,10 @@ type UpdateConversationData = {
9448
9462
  * New conversation name
9449
9463
  */
9450
9464
  name?: string | null;
9465
+ /**
9466
+ * Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`. Switching it on embeds the turns already in the conversation, so the whole conversation becomes retrievable rather than only what is said next.
9467
+ */
9468
+ retrieval?: 'embed' | 'none' | null;
9451
9469
  };
9452
9470
  path: {
9453
9471
  /**
@@ -9855,7 +9873,7 @@ type CreateDocumentData = {
9855
9873
  project_id?: string;
9856
9874
  content: string;
9857
9875
  /**
9858
- * Logical path within the project (e.g. /reports/q1.txt). Defaults to /filename if omitted.
9876
+ * Logical path within the project (e.g. /reports/q1.txt). Defaults to `/<filename>`, or to `/<document_id>.txt` when neither is given — a document with no path is reachable only by its id, since a prefix filter never matches null.
9859
9877
  */
9860
9878
  path?: string;
9861
9879
  filename?: string;
@@ -11463,6 +11481,10 @@ type ListFilesData = {
11463
11481
  * Filter files by project ID
11464
11482
  */
11465
11483
  project_id?: string;
11484
+ /**
11485
+ * Only files under this directory. The prefix is a path boundary, not a substring: `/reports` returns `/reports/q1.txt` and never `/reports-archive/q1.txt`, and `/` selects the whole project. A leading slash is optional and a trailing one is ignored, so `reports`, `/reports` and `/reports/` are the same filter. `%` and `_` are literal characters, not wildcards. Naming a directory under `/.system/` is what includes platform-written files, which a list without this parameter leaves out.
11486
+ */
11487
+ path_prefix?: string;
11466
11488
  /**
11467
11489
  * Filter by tag pairs, written `key:value` (split on the first colon, so a value may contain colons). Repeat the parameter for several pairs; **all** must be present with exactly that value.
11468
11490
  *
@@ -15437,6 +15459,10 @@ type UpdateProjectData = {
15437
15459
  * Opt the project into read auditing. When true, `GET` requests that name this project are recorded in the audit log alongside mutations. Defaults to `false`.
15438
15460
  */
15439
15461
  audit_reads_enabled?: boolean;
15462
+ /**
15463
+ * What a conversation that names no `retrieval` of its own does. `none` by default: a turn is embedded because someone asked for the conversation to be retrievable, never merely because it was said. Turns are stored and chunked on both settings.
15464
+ */
15465
+ default_conversation_retrieval?: 'embed' | 'none';
15440
15466
  /**
15441
15467
  * How long trace and generation content is kept before the daily retention sweep content-purges it. `null` (the default) disables retention; otherwise an integer >= 1. The sweep uses the same purge path as `DELETE /traces/{trace_id}/content`, so the row survives as an auditable skeleton with `content_redacted_at` set.
15442
15468
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/sdk",
3
- "version": "0.54.0",
3
+ "version": "0.55.0",
4
4
  "description": "TypeScript SDK for SOAT — open-source infrastructure for production-ready AI agents.",
5
5
  "keywords": [
6
6
  "ai-agents",