@deepraxis/sdk 0.1.0-dev.cb4008d → 0.1.0-dev.d0f5f8e

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.
@@ -714,7 +714,7 @@ export type BrowserStreamMessage = {
714
714
  };
715
715
  export type OwnFileCreateFileRequest = {
716
716
  /**
717
- * File bytes in one multipart file part, not a filename or file ID. The file must be nonempty and at most 104857600 bytes; its content determines the MIME type.
717
+ * File bytes in one multipart file part, not a filename or file ID. The file must be nonempty and at most 100000000 bytes; its content determines the MIME type.
718
718
  */
719
719
  file: Blob | File;
720
720
  /**
@@ -739,7 +739,7 @@ export type OwnFileCreateFileRequest = {
739
739
  */
740
740
  export type OwnFileOpenAiFile = {
741
741
  /**
742
- * File identifier: file_dp_ followed by a 26-character uppercase Crockford ULID. Use the ID returned by upload or list.
742
+ * File identifier: file- followed by 24 base62 characters. Use the ID returned by upload or list.
743
743
  */
744
744
  id: string;
745
745
  /**
@@ -753,7 +753,7 @@ export type OwnFileOpenAiFile = {
753
753
  /**
754
754
  * The Unix timestamp (in seconds) for when the file will expire.
755
755
  */
756
- expires_at?: number;
756
+ expires_at?: number | null;
757
757
  /**
758
758
  * The name of the file.
759
759
  */
@@ -772,22 +772,12 @@ export type OwnFileOpenAiFile = {
772
772
  * @deprecated
773
773
  */
774
774
  status: 'uploaded' | 'processed' | 'error';
775
- /**
776
- * Deprecated; always null or absent.
777
- *
778
- * @deprecated
779
- */
780
- status_details?: string | null;
781
775
  /**
782
776
  * Content-detected MIME type.
783
777
  */
784
778
  mime_type: string;
785
779
  /**
786
- * Tenant-owned live files can be downloaded through this face.
787
- */
788
- downloadable: true;
789
- /**
790
- * Present for session output files.
780
+ * Session scope for session outputs; null for other files.
791
781
  */
792
782
  scope?: {
793
783
  /**
@@ -798,7 +788,7 @@ export type OwnFileOpenAiFile = {
798
788
  * Id of the session the file belongs to.
799
789
  */
800
790
  id: string;
801
- };
791
+ } | null;
802
792
  /**
803
793
  * Path within the session output directory; present for session outputs.
804
794
  */
@@ -807,6 +797,18 @@ export type OwnFileOpenAiFile = {
807
797
  * Session output revision; present for session outputs.
808
798
  */
809
799
  revision?: number;
800
+ /**
801
+ * processing is not yet usable; active is ready; expired cannot be read.
802
+ */
803
+ state: 'processing' | 'active' | 'expired';
804
+ /**
805
+ * upload is user-provided, generated is platform-produced, session is a session output.
806
+ */
807
+ source: 'upload' | 'generated' | 'session';
808
+ /**
809
+ * Content digest, prefixed sha256:. Available after processing completes.
810
+ */
811
+ sha256: string;
810
812
  };
811
813
  export type OwnFileErrorResponse = {
812
814
  error: OwnFileError;
@@ -835,7 +837,7 @@ export type OwnFileListFilesResponse = {
835
837
  };
836
838
  export type OwnFileDeleteFileResponse = {
837
839
  /**
838
- * File identifier: file_dp_ followed by a 26-character uppercase Crockford ULID. Use the ID returned by upload or list.
840
+ * File identifier: file- followed by 24 base62 characters. Use the ID returned by upload or list.
839
841
  */
840
842
  id: string;
841
843
  /**
@@ -847,6 +849,132 @@ export type OwnFileDeleteFileResponse = {
847
849
  */
848
850
  deleted: boolean;
849
851
  };
852
+ export type OwnFilePraxisCreateUpload = {
853
+ /**
854
+ * Exact complete file length in bytes, from 1 through 2147483648 (2 GiB); the sum of completed parts must match.
855
+ */
856
+ bytes: number;
857
+ /**
858
+ * Filename for the resulting file, at most 255 UTF-8 bytes.
859
+ */
860
+ filename: string;
861
+ /**
862
+ * Declared MIME type; validated against the assembled content.
863
+ */
864
+ mime_type: string;
865
+ /**
866
+ * Use user_data for conversation attachments, assistants for assistant files, or vision for PNG, JPEG, GIF and WebP images.
867
+ */
868
+ purpose: 'user_data' | 'assistants' | 'vision';
869
+ /**
870
+ * Optional expiry policy for the resulting file; omission retains the file until deletion.
871
+ */
872
+ expires_after?: {
873
+ /**
874
+ * Expiry is measured from file creation; created_at is the only supported anchor.
875
+ */
876
+ anchor?: 'created_at';
877
+ /**
878
+ * Resulting file lifetime in seconds; omit expires_after to retain it until deletion.
879
+ */
880
+ seconds: number;
881
+ };
882
+ /**
883
+ * Optional fixed part size in bytes, 5242880–64000000. Requires part_number on every part; retries of identical bytes at the same number return the same part. Omit to use arbitrary-sized parts.
884
+ */
885
+ part_size?: number;
886
+ };
887
+ export type OwnFilePraxisUpload = {
888
+ /**
889
+ * Upload identifier returned by create. Use this value for parts, complete and cancel.
890
+ */
891
+ id: string;
892
+ /**
893
+ * Object type; upload identifies an upload session.
894
+ */
895
+ object: 'upload';
896
+ /**
897
+ * Declared size of the complete file in bytes.
898
+ */
899
+ bytes: number;
900
+ /**
901
+ * Creation time as Unix seconds.
902
+ */
903
+ created_at: number;
904
+ /**
905
+ * Expiry time as Unix seconds; unfinished uploads expire after one hour.
906
+ */
907
+ expires_at: number;
908
+ /**
909
+ * Filename supplied when creating the upload.
910
+ */
911
+ filename: string;
912
+ /**
913
+ * File purpose: user_data for conversation attachments, assistants for assistant files, vision for images.
914
+ */
915
+ purpose: 'user_data' | 'assistants' | 'vision';
916
+ /**
917
+ * Upload state: pending accepts parts; completed has a file; cancelled was cancelled; expired exceeded its one-hour lifetime.
918
+ */
919
+ status: 'pending' | 'completed' | 'cancelled' | 'expired';
920
+ /**
921
+ * Present after complete. A file with status uploaded is still processing; poll files.retrieve until processed before use.
922
+ */
923
+ file?: OwnFileOpenAiFile | null;
924
+ /**
925
+ * Declared MIME type, verified during assembly.
926
+ */
927
+ mime_type?: string;
928
+ /**
929
+ * Assembly failure, or null if no failure is recorded.
930
+ */
931
+ error?: {
932
+ /**
933
+ * File service error code identifying the assembly failure.
934
+ */
935
+ code: string;
936
+ /**
937
+ * Explanation of why assembly failed.
938
+ */
939
+ message: string;
940
+ } | null;
941
+ };
942
+ export type OwnFilePraxisUploadPart = {
943
+ /**
944
+ * Part identifier returned by this request. Supply it to complete in file byte order.
945
+ */
946
+ id: string;
947
+ /**
948
+ * Object type; upload.part identifies an uploaded part.
949
+ */
950
+ object: 'upload.part';
951
+ /**
952
+ * Part creation time as Unix seconds.
953
+ */
954
+ created_at: number;
955
+ /**
956
+ * Parent upload identifier supplied in the request path.
957
+ */
958
+ upload_id: string;
959
+ /**
960
+ * Accepted part length in bytes.
961
+ */
962
+ bytes?: number;
963
+ /**
964
+ * Part content digest prefixed sha256:.
965
+ */
966
+ sha256?: string;
967
+ };
968
+ export type OwnFilePraxisCompleteUpload = {
969
+ /**
970
+ * All part IDs in concatenation order, without duplicates. Fixed-size uploads require increasing part_number order.
971
+ */
972
+ part_ids: Array<string>;
973
+ /**
974
+ * Optional whole-file MD5 as 32 hexadecimal characters; verified after assembly.
975
+ */
976
+ md5?: string;
977
+ };
850
978
  /**
851
979
  * Problem document returned by the Meta method catalog on failure.
852
980
  */
@@ -1253,7 +1381,7 @@ export type OpenaiPrediction = {
1253
1381
  */
1254
1382
  export type OpenaiPromptCacheOptions = {
1255
1383
  /**
1256
- * Prompt cache mode; explicit caches only the blocks marked with prompt_cache_breakpoint.
1384
+ * Explicit request-level cache mode: use only caller-marked cache breakpoints on models supporting this option.
1257
1385
  */
1258
1386
  mode: 'explicit';
1259
1387
  /**
@@ -1261,6 +1389,9 @@ export type OpenaiPromptCacheOptions = {
1261
1389
  */
1262
1390
  ttl?: string | null;
1263
1391
  } | null;
1392
+ /**
1393
+ * Provider name used in provider selection preferences.
1394
+ */
1264
1395
  export type OpenaiProviderName = 'Modal' | 'AkashML' | 'AI21' | 'AionLabs' | 'Alibaba' | 'Ambient' | 'Baidu' | 'Amazon Bedrock' | 'Amazon Nova' | 'Anthropic' | 'Arcee AI' | 'AssemblyAI' | 'AtlasCloud' | 'Avian' | 'Azure' | 'BaseTen' | 'BytePlus' | 'Black Forest Labs' | 'Cerebras' | 'Chutes' | 'Cirrascale' | 'Claude Platform on AWS' | 'Clarifai' | 'Cloudflare' | 'Cohere' | 'CoreWeave' | 'Cosine' | 'Crucible' | 'Crusoe' | 'Darkbloom' | 'Databricks' | 'Decart' | 'Deepgram' | 'DeepInfra' | 'DeepSeek' | 'DekaLLM' | 'DigitalOcean' | 'Featherless' | 'Fireworks' | 'Fish Audio' | 'Friendli' | 'GMICloud' | 'Google' | 'Google AI Studio' | 'Groq' | 'HeyGen' | 'Inception' | 'Inceptron' | 'InferenceNet' | 'Ionstream' | 'Infermatic' | 'Io Net' | 'Inferact vLLM' | 'Inflection' | 'Liquid' | 'Makora' | 'Mara' | 'Mancer 2' | 'Meta' | 'Minimax' | 'ModelRun' | 'Mistral' | 'Modular' | 'Moonshot AI' | 'Morph' | 'VoyageAI by MongoDB' | 'TypeSafe' | 'Near AI' | 'Nebius' | 'Nex AGI' | 'NextBit' | 'Novita' | 'Nvidia' | 'Ollama' | 'OpenAI' | 'OpenInference' | 'Parasail' | 'Poolside' | 'PrimeIntellect' | 'Perceptron' | 'Perplexity' | 'Phala' | 'Recraft' | 'Reka' | 'Relace' | 'Sail Research' | 'Sakana AI' | 'SambaNova' | 'Seed' | 'SiliconFlow' | 'Sourceful' | 'StepFun' | 'Stealth' | 'StreamLake' | 'Switchpoint' | 'Tencent' | 'Tenstorrent' | 'Thinking Machines' | 'Together' | 'Unbiased' | 'Upstage' | 'Venice' | 'Wafer' | 'WandB' | 'Quiver' | 'Krea' | 'Runway' | 'Xiaomi' | 'xAI' | 'Z.AI' | 'FakeProvider';
1265
1396
  /**
1266
1397
  * Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold.
@@ -1270,6 +1401,9 @@ export type OpenaiPreferredMaxLatency = number | OpenaiPercentileLatencyCutoffs
1270
1401
  * Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold.
1271
1402
  */
1272
1403
  export type OpenaiPreferredMinThroughput = number | OpenaiPercentileThroughputCutoffs | null;
1404
+ /**
1405
+ * Numeric precision or quantization format used by the model provider.
1406
+ */
1273
1407
  export type OpenaiQuantization = 'int4' | 'int8' | 'fp4' | 'mxfp4' | 'nvfp4' | 'fp6' | 'fp8' | 'mxfp8' | 'fp16' | 'bf16' | 'fp32' | 'unknown';
1274
1408
  /**
1275
1409
  * The provider sorting strategy (price, throughput, latency)
@@ -1415,6 +1549,9 @@ export type OpenaiTraceConfig = {
1415
1549
  trace_name?: string;
1416
1550
  [key: string]: unknown;
1417
1551
  };
1552
+ /**
1553
+ * Extra output data the request can ask for through include; each value adds one kind of detail to the response, such as file search results or encrypted reasoning content.
1554
+ */
1418
1555
  export type OpenaiResponseIncludesEnum = 'file_search_call.results' | 'message.input_image.image_url' | 'computer_call_output.output.image_url' | 'reasoning.encrypted_content' | 'code_interpreter_call.outputs';
1419
1556
  /**
1420
1557
  * Input for a response request - can be a string or array of items
@@ -22188,7 +22325,7 @@ export type OpenaiOpenAiResponseCustomToolCallOutput = {
22188
22325
  */
22189
22326
  export type OpenaiPromptCacheBreakpoint = {
22190
22327
  /**
22191
- * Cache boundary mode; only explicit exists.
22328
+ * Explicit cache boundary at this content block; automatic breakpoints remain enabled unless the request-level cache mode disables them.
22192
22329
  */
22193
22330
  mode: 'explicit';
22194
22331
  } | null;
@@ -27272,6 +27409,69 @@ export type UnarchiveAgentResponses = {
27272
27409
  * modified.
27273
27410
  */
27274
27411
  version: number;
27412
+ /**
27413
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
27414
+ */
27415
+ databases: Array<{
27416
+ /**
27417
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
27418
+ */
27419
+ id: string;
27420
+ /**
27421
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
27422
+ */
27423
+ access: 'read_only' | 'read_write';
27424
+ /**
27425
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
27426
+ */
27427
+ instructions?: string;
27428
+ /**
27429
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
27430
+ */
27431
+ enabled?: boolean;
27432
+ }>;
27433
+ /**
27434
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
27435
+ */
27436
+ vector_stores: Array<{
27437
+ /**
27438
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
27439
+ */
27440
+ id: string;
27441
+ /**
27442
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
27443
+ */
27444
+ access: 'read_only' | 'read_write';
27445
+ /**
27446
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
27447
+ */
27448
+ instructions?: string;
27449
+ /**
27450
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
27451
+ */
27452
+ enabled?: boolean;
27453
+ }>;
27454
+ /**
27455
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
27456
+ */
27457
+ files: Array<{
27458
+ /**
27459
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
27460
+ */
27461
+ id: string;
27462
+ /**
27463
+ * read_only permits reading the bound file; files do not accept read_write.
27464
+ */
27465
+ access: 'read_only';
27466
+ /**
27467
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
27468
+ */
27469
+ instructions?: string;
27470
+ /**
27471
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
27472
+ */
27473
+ enabled?: boolean;
27474
+ }>;
27275
27475
  /**
27276
27476
  * Immutable agent kind. personal uses a durable computer; service uses a clean environment per session. Historical agents infer kind from their computer binding.
27277
27477
  */
@@ -30097,7 +30297,7 @@ export type ConnectComputerErrors = {
30097
30297
  };
30098
30298
  };
30099
30299
  /**
30100
- * COMPUTER_BUDGET_EXHAUSTED: today's full-computer time has been used up. Connect with need light to continue using the lightweight shell.
30300
+ * Platform error with Computer code, message and hint
30101
30301
  */
30102
30302
  429: {
30103
30303
  error: {
@@ -32113,7 +32313,7 @@ export type ForkSessionResponses = {
32113
32313
  */
32114
32314
  created_at: string;
32115
32315
  /**
32116
- * Id of the environment recipe the session's sandbox was created from. Omitted when no recipe was selected, that is, for a light machine or the Computer chosen by computer_id.
32316
+ * Execution environment selected for this session. Service sessions return light when environment_id was omitted, or null when explicitly created without a machine; Computer sessions may omit this field.
32117
32317
  */
32118
32318
  environment_id?: string;
32119
32319
  /**
@@ -34349,7 +34549,7 @@ export type FileDeleteFileData = {
34349
34549
  body?: never;
34350
34550
  path: {
34351
34551
  /**
34352
- * ID of a tenant-owned live file, as returned by upload or list; starts with file_dp_.
34552
+ * ID of a tenant-owned live file, as returned by upload or list; starts with file-.
34353
34553
  */
34354
34554
  file_id: string;
34355
34555
  };
@@ -34378,7 +34578,7 @@ export type FileRetrieveFileData = {
34378
34578
  body?: never;
34379
34579
  path: {
34380
34580
  /**
34381
- * ID of a tenant-owned live file, as returned by upload or list; starts with file_dp_.
34581
+ * ID of a tenant-owned live file, as returned by upload or list; starts with file-.
34382
34582
  */
34383
34583
  file_id: string;
34384
34584
  };
@@ -34407,7 +34607,7 @@ export type FileRetrieveFileContentData = {
34407
34607
  body?: never;
34408
34608
  path: {
34409
34609
  /**
34410
- * ID of a tenant-owned live file, as returned by upload or list; starts with file_dp_.
34610
+ * ID of a tenant-owned live file, as returned by upload or list; starts with file-.
34411
34611
  */
34412
34612
  file_id: string;
34413
34613
  };
@@ -34440,6 +34640,139 @@ export type FileRetrieveFileContentResponses = {
34440
34640
  200: Blob | File;
34441
34641
  };
34442
34642
  export type FileRetrieveFileContentResponse = FileRetrieveFileContentResponses[keyof FileRetrieveFileContentResponses];
34643
+ export type FileCreateUploadData = {
34644
+ body: OwnFilePraxisCreateUpload;
34645
+ path?: never;
34646
+ query?: never;
34647
+ url: '/file/v1/uploads';
34648
+ };
34649
+ export type FileCreateUploadErrors = {
34650
+ /**
34651
+ * Invalid upload input or upload state; correct the request before retrying.
34652
+ */
34653
+ 400: unknown;
34654
+ /**
34655
+ * The upload is missing or belongs to another organization.
34656
+ */
34657
+ 404: unknown;
34658
+ /**
34659
+ * Completion inputs conflict with an earlier completion request.
34660
+ */
34661
+ 409: unknown;
34662
+ };
34663
+ export type FileCreateUploadResponses = {
34664
+ /**
34665
+ * The upload state and, after completion, the resulting file.
34666
+ */
34667
+ 200: OwnFilePraxisUpload;
34668
+ };
34669
+ export type FileCreateUploadResponse = FileCreateUploadResponses[keyof FileCreateUploadResponses];
34670
+ export type FileAddUploadPartData = {
34671
+ body: {
34672
+ /**
34673
+ * Raw bytes of this part, nonempty and at most 64000000 bytes.
34674
+ */
34675
+ data: Blob | File;
34676
+ };
34677
+ path: {
34678
+ /**
34679
+ * Upload identifier from create.
34680
+ */
34681
+ upload_id: string;
34682
+ };
34683
+ query?: {
34684
+ /**
34685
+ * Fixed part position, starting at 1.
34686
+ */
34687
+ part_number?: number;
34688
+ };
34689
+ url: '/file/v1/uploads/{upload_id}/parts';
34690
+ };
34691
+ export type FileAddUploadPartErrors = {
34692
+ /**
34693
+ * Invalid upload input or upload state; correct the request before retrying.
34694
+ */
34695
+ 400: unknown;
34696
+ /**
34697
+ * The upload is missing or belongs to another organization.
34698
+ */
34699
+ 404: unknown;
34700
+ /**
34701
+ * Completion inputs conflict with an earlier completion request.
34702
+ */
34703
+ 409: unknown;
34704
+ };
34705
+ export type FileAddUploadPartResponses = {
34706
+ /**
34707
+ * The part was accepted.
34708
+ */
34709
+ 200: OwnFilePraxisUploadPart;
34710
+ };
34711
+ export type FileAddUploadPartResponse = FileAddUploadPartResponses[keyof FileAddUploadPartResponses];
34712
+ export type FileCompleteUploadData = {
34713
+ body: OwnFilePraxisCompleteUpload;
34714
+ path: {
34715
+ /**
34716
+ * Upload identifier from create.
34717
+ */
34718
+ upload_id: string;
34719
+ };
34720
+ query?: never;
34721
+ url: '/file/v1/uploads/{upload_id}/complete';
34722
+ };
34723
+ export type FileCompleteUploadErrors = {
34724
+ /**
34725
+ * Invalid upload input or upload state; correct the request before retrying.
34726
+ */
34727
+ 400: unknown;
34728
+ /**
34729
+ * The upload is missing or belongs to another organization.
34730
+ */
34731
+ 404: unknown;
34732
+ /**
34733
+ * Completion inputs conflict with an earlier completion request.
34734
+ */
34735
+ 409: unknown;
34736
+ };
34737
+ export type FileCompleteUploadResponses = {
34738
+ /**
34739
+ * The upload state and, after completion, the resulting file.
34740
+ */
34741
+ 200: OwnFilePraxisUpload;
34742
+ };
34743
+ export type FileCompleteUploadResponse = FileCompleteUploadResponses[keyof FileCompleteUploadResponses];
34744
+ export type FileCancelUploadData = {
34745
+ body?: never;
34746
+ path: {
34747
+ /**
34748
+ * Upload identifier from create.
34749
+ */
34750
+ upload_id: string;
34751
+ };
34752
+ query?: never;
34753
+ url: '/file/v1/uploads/{upload_id}/cancel';
34754
+ };
34755
+ export type FileCancelUploadErrors = {
34756
+ /**
34757
+ * Invalid upload input or upload state; correct the request before retrying.
34758
+ */
34759
+ 400: unknown;
34760
+ /**
34761
+ * The upload is missing or belongs to another organization.
34762
+ */
34763
+ 404: unknown;
34764
+ /**
34765
+ * Completion inputs conflict with an earlier completion request.
34766
+ */
34767
+ 409: unknown;
34768
+ };
34769
+ export type FileCancelUploadResponses = {
34770
+ /**
34771
+ * The upload state and, after completion, the resulting file.
34772
+ */
34773
+ 200: OwnFilePraxisUpload;
34774
+ };
34775
+ export type FileCancelUploadResponse = FileCancelUploadResponses[keyof FileCancelUploadResponses];
34443
34776
  export type HealthCheckData = {
34444
34777
  body?: never;
34445
34778
  path?: never;
@@ -38663,7 +38996,7 @@ export type ListOrganizationFeedbackResponse = ListOrganizationFeedbackResponses
38663
38996
  export type CreateOrganizationFeedbackData = {
38664
38997
  body: {
38665
38998
  /**
38666
- * Problem description and original error text; at most 4096 Unicode code points.
38999
+ * Problem description, at most 4096 Unicode code points; may be empty only when contexts.praxis.error.message is a non-empty string.
38667
39000
  */
38668
39001
  message: string;
38669
39002
  /**
@@ -40694,7 +41027,7 @@ export type SessionsRetrieveResponses = {
40694
41027
  */
40695
41028
  created_at: string;
40696
41029
  /**
40697
- * Id of the environment recipe the session's sandbox was created from. Omitted when no recipe was selected, that is, for a light machine or the Computer chosen by computer_id.
41030
+ * Execution environment selected for this session. Service sessions return light when environment_id was omitted, or null when explicitly created without a machine; Computer sessions may omit this field.
40698
41031
  */
40699
41032
  environment_id?: string;
40700
41033
  metadata: AgentManaged173;
@@ -40972,7 +41305,7 @@ export type SessionsUpdateResponses = {
40972
41305
  */
40973
41306
  created_at: string;
40974
41307
  /**
40975
- * Id of the environment recipe the session's sandbox was created from. Omitted when no recipe was selected, that is, for a light machine or the Computer chosen by computer_id.
41308
+ * Execution environment selected for this session. Service sessions return light when environment_id was omitted, or null when explicitly created without a machine; Computer sessions may omit this field.
40976
41309
  */
40977
41310
  environment_id?: string;
40978
41311
  metadata: AgentManaged173;
@@ -41220,6 +41553,69 @@ export type AgentsListResponses = {
41220
41553
  * modified.
41221
41554
  */
41222
41555
  version: number;
41556
+ /**
41557
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
41558
+ */
41559
+ databases: Array<{
41560
+ /**
41561
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
41562
+ */
41563
+ id: string;
41564
+ /**
41565
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
41566
+ */
41567
+ access: 'read_only' | 'read_write';
41568
+ /**
41569
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
41570
+ */
41571
+ instructions?: string;
41572
+ /**
41573
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
41574
+ */
41575
+ enabled?: boolean;
41576
+ }>;
41577
+ /**
41578
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
41579
+ */
41580
+ vector_stores: Array<{
41581
+ /**
41582
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
41583
+ */
41584
+ id: string;
41585
+ /**
41586
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
41587
+ */
41588
+ access: 'read_only' | 'read_write';
41589
+ /**
41590
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
41591
+ */
41592
+ instructions?: string;
41593
+ /**
41594
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
41595
+ */
41596
+ enabled?: boolean;
41597
+ }>;
41598
+ /**
41599
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
41600
+ */
41601
+ files: Array<{
41602
+ /**
41603
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
41604
+ */
41605
+ id: string;
41606
+ /**
41607
+ * read_only permits reading the bound file; files do not accept read_write.
41608
+ */
41609
+ access: 'read_only';
41610
+ /**
41611
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
41612
+ */
41613
+ instructions?: string;
41614
+ /**
41615
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
41616
+ */
41617
+ enabled?: boolean;
41618
+ }>;
41223
41619
  /**
41224
41620
  * Immutable agent kind. personal uses a durable computer; service uses a clean environment per session. Historical agents infer kind from their computer binding.
41225
41621
  */
@@ -41672,6 +42068,69 @@ export type AgentsCreateData = {
41672
42068
  * across all toolsets allowed.
41673
42069
  */
41674
42070
  tools?: Array<AgentManaged15 | AgentManaged29 | AgentManaged32>;
42071
+ /**
42072
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
42073
+ */
42074
+ databases?: Array<{
42075
+ /**
42076
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
42077
+ */
42078
+ id: string;
42079
+ /**
42080
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
42081
+ */
42082
+ access: 'read_only' | 'read_write';
42083
+ /**
42084
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
42085
+ */
42086
+ instructions?: string;
42087
+ /**
42088
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
42089
+ */
42090
+ enabled?: boolean;
42091
+ }>;
42092
+ /**
42093
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
42094
+ */
42095
+ vector_stores?: Array<{
42096
+ /**
42097
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
42098
+ */
42099
+ id: string;
42100
+ /**
42101
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
42102
+ */
42103
+ access: 'read_only' | 'read_write';
42104
+ /**
42105
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
42106
+ */
42107
+ instructions?: string;
42108
+ /**
42109
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
42110
+ */
42111
+ enabled?: boolean;
42112
+ }>;
42113
+ /**
42114
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
42115
+ */
42116
+ files?: Array<{
42117
+ /**
42118
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
42119
+ */
42120
+ id: string;
42121
+ /**
42122
+ * read_only permits reading the bound file; files do not accept read_write.
42123
+ */
42124
+ access: 'read_only';
42125
+ /**
42126
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
42127
+ */
42128
+ instructions?: string;
42129
+ /**
42130
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
42131
+ */
42132
+ enabled?: boolean;
42133
+ }>;
41675
42134
  /**
41676
42135
  * Immutable agent kind. personal requires computer_id; service cannot bind a computer. Omit on create to infer from computer_id. On update, the same kind is ignored; changing kind or crossing its computer binding returns 400 invalid_request_error.
41677
42136
  */
@@ -42137,6 +42596,69 @@ export type AgentsCreateResponses = {
42137
42596
  * modified.
42138
42597
  */
42139
42598
  version: number;
42599
+ /**
42600
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
42601
+ */
42602
+ databases: Array<{
42603
+ /**
42604
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
42605
+ */
42606
+ id: string;
42607
+ /**
42608
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
42609
+ */
42610
+ access: 'read_only' | 'read_write';
42611
+ /**
42612
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
42613
+ */
42614
+ instructions?: string;
42615
+ /**
42616
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
42617
+ */
42618
+ enabled?: boolean;
42619
+ }>;
42620
+ /**
42621
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
42622
+ */
42623
+ vector_stores: Array<{
42624
+ /**
42625
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
42626
+ */
42627
+ id: string;
42628
+ /**
42629
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
42630
+ */
42631
+ access: 'read_only' | 'read_write';
42632
+ /**
42633
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
42634
+ */
42635
+ instructions?: string;
42636
+ /**
42637
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
42638
+ */
42639
+ enabled?: boolean;
42640
+ }>;
42641
+ /**
42642
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
42643
+ */
42644
+ files: Array<{
42645
+ /**
42646
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
42647
+ */
42648
+ id: string;
42649
+ /**
42650
+ * read_only permits reading the bound file; files do not accept read_write.
42651
+ */
42652
+ access: 'read_only';
42653
+ /**
42654
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
42655
+ */
42656
+ instructions?: string;
42657
+ /**
42658
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
42659
+ */
42660
+ enabled?: boolean;
42661
+ }>;
42140
42662
  /**
42141
42663
  * Immutable agent kind. personal uses a durable computer; service uses a clean environment per session. Historical agents infer kind from their computer binding.
42142
42664
  */
@@ -42617,6 +43139,69 @@ export type AgentsRetrieveResponses = {
42617
43139
  * modified.
42618
43140
  */
42619
43141
  version: number;
43142
+ /**
43143
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
43144
+ */
43145
+ databases: Array<{
43146
+ /**
43147
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
43148
+ */
43149
+ id: string;
43150
+ /**
43151
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
43152
+ */
43153
+ access: 'read_only' | 'read_write';
43154
+ /**
43155
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
43156
+ */
43157
+ instructions?: string;
43158
+ /**
43159
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
43160
+ */
43161
+ enabled?: boolean;
43162
+ }>;
43163
+ /**
43164
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
43165
+ */
43166
+ vector_stores: Array<{
43167
+ /**
43168
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
43169
+ */
43170
+ id: string;
43171
+ /**
43172
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
43173
+ */
43174
+ access: 'read_only' | 'read_write';
43175
+ /**
43176
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
43177
+ */
43178
+ instructions?: string;
43179
+ /**
43180
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
43181
+ */
43182
+ enabled?: boolean;
43183
+ }>;
43184
+ /**
43185
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
43186
+ */
43187
+ files: Array<{
43188
+ /**
43189
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
43190
+ */
43191
+ id: string;
43192
+ /**
43193
+ * read_only permits reading the bound file; files do not accept read_write.
43194
+ */
43195
+ access: 'read_only';
43196
+ /**
43197
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
43198
+ */
43199
+ instructions?: string;
43200
+ /**
43201
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
43202
+ */
43203
+ enabled?: boolean;
43204
+ }>;
42620
43205
  /**
42621
43206
  * Immutable agent kind. personal uses a durable computer; service uses a clean environment per session. Historical agents infer kind from their computer binding.
42622
43207
  */
@@ -43074,6 +43659,69 @@ export type AgentsUpdateData = {
43074
43659
  * current version; omit to apply the update unconditionally.
43075
43660
  */
43076
43661
  version?: number;
43662
+ /**
43663
+ * Replace this resource allowlist; omission preserves it, and null or [] clears it. Additions apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Only service agents accept nonempty bindings.
43664
+ */
43665
+ databases?: Array<{
43666
+ /**
43667
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
43668
+ */
43669
+ id: string;
43670
+ /**
43671
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
43672
+ */
43673
+ access: 'read_only' | 'read_write';
43674
+ /**
43675
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
43676
+ */
43677
+ instructions?: string;
43678
+ /**
43679
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
43680
+ */
43681
+ enabled?: boolean;
43682
+ }> | null;
43683
+ /**
43684
+ * Replace this resource allowlist; omission preserves it, and null or [] clears it. Additions apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Only service agents accept nonempty bindings.
43685
+ */
43686
+ vector_stores?: Array<{
43687
+ /**
43688
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
43689
+ */
43690
+ id: string;
43691
+ /**
43692
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
43693
+ */
43694
+ access: 'read_only' | 'read_write';
43695
+ /**
43696
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
43697
+ */
43698
+ instructions?: string;
43699
+ /**
43700
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
43701
+ */
43702
+ enabled?: boolean;
43703
+ }> | null;
43704
+ /**
43705
+ * Replace this resource allowlist; omission preserves it, and null or [] clears it. Additions apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Only service agents accept nonempty bindings.
43706
+ */
43707
+ files?: Array<{
43708
+ /**
43709
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
43710
+ */
43711
+ id: string;
43712
+ /**
43713
+ * read_only permits reading the bound file; files do not accept read_write.
43714
+ */
43715
+ access: 'read_only';
43716
+ /**
43717
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
43718
+ */
43719
+ instructions?: string;
43720
+ /**
43721
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
43722
+ */
43723
+ enabled?: boolean;
43724
+ }> | null;
43077
43725
  /**
43078
43726
  * Immutable agent kind. personal requires computer_id; service cannot bind a computer. Omit on create to infer from computer_id. On update, the same kind is ignored; changing kind or crossing its computer binding returns 400 invalid_request_error.
43079
43727
  */
@@ -43544,6 +44192,69 @@ export type AgentsUpdateResponses = {
43544
44192
  * modified.
43545
44193
  */
43546
44194
  version: number;
44195
+ /**
44196
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
44197
+ */
44198
+ databases: Array<{
44199
+ /**
44200
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
44201
+ */
44202
+ id: string;
44203
+ /**
44204
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
44205
+ */
44206
+ access: 'read_only' | 'read_write';
44207
+ /**
44208
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
44209
+ */
44210
+ instructions?: string;
44211
+ /**
44212
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
44213
+ */
44214
+ enabled?: boolean;
44215
+ }>;
44216
+ /**
44217
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
44218
+ */
44219
+ vector_stores: Array<{
44220
+ /**
44221
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
44222
+ */
44223
+ id: string;
44224
+ /**
44225
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
44226
+ */
44227
+ access: 'read_only' | 'read_write';
44228
+ /**
44229
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
44230
+ */
44231
+ instructions?: string;
44232
+ /**
44233
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
44234
+ */
44235
+ enabled?: boolean;
44236
+ }>;
44237
+ /**
44238
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
44239
+ */
44240
+ files: Array<{
44241
+ /**
44242
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
44243
+ */
44244
+ id: string;
44245
+ /**
44246
+ * read_only permits reading the bound file; files do not accept read_write.
44247
+ */
44248
+ access: 'read_only';
44249
+ /**
44250
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
44251
+ */
44252
+ instructions?: string;
44253
+ /**
44254
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
44255
+ */
44256
+ enabled?: boolean;
44257
+ }>;
43547
44258
  /**
43548
44259
  * Immutable agent kind. personal uses a durable computer; service uses a clean environment per session. Historical agents infer kind from their computer binding.
43549
44260
  */
@@ -44018,6 +44729,69 @@ export type AgentsArchiveResponses = {
44018
44729
  * modified.
44019
44730
  */
44020
44731
  version: number;
44732
+ /**
44733
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
44734
+ */
44735
+ databases: Array<{
44736
+ /**
44737
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
44738
+ */
44739
+ id: string;
44740
+ /**
44741
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
44742
+ */
44743
+ access: 'read_only' | 'read_write';
44744
+ /**
44745
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
44746
+ */
44747
+ instructions?: string;
44748
+ /**
44749
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
44750
+ */
44751
+ enabled?: boolean;
44752
+ }>;
44753
+ /**
44754
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
44755
+ */
44756
+ vector_stores: Array<{
44757
+ /**
44758
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
44759
+ */
44760
+ id: string;
44761
+ /**
44762
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
44763
+ */
44764
+ access: 'read_only' | 'read_write';
44765
+ /**
44766
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
44767
+ */
44768
+ instructions?: string;
44769
+ /**
44770
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
44771
+ */
44772
+ enabled?: boolean;
44773
+ }>;
44774
+ /**
44775
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
44776
+ */
44777
+ files: Array<{
44778
+ /**
44779
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
44780
+ */
44781
+ id: string;
44782
+ /**
44783
+ * read_only permits reading the bound file; files do not accept read_write.
44784
+ */
44785
+ access: 'read_only';
44786
+ /**
44787
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
44788
+ */
44789
+ instructions?: string;
44790
+ /**
44791
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
44792
+ */
44793
+ enabled?: boolean;
44794
+ }>;
44021
44795
  /**
44022
44796
  * Immutable agent kind. personal uses a durable computer; service uses a clean environment per session. Historical agents infer kind from their computer binding.
44023
44797
  */
@@ -44502,6 +45276,69 @@ export type AgentsVersionsListResponses = {
44502
45276
  * modified.
44503
45277
  */
44504
45278
  version: number;
45279
+ /**
45280
+ * Database allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
45281
+ */
45282
+ databases: Array<{
45283
+ /**
45284
+ * Resource id from database.databases.list or database.databases.create; use the returned id, not its name. Must start with db_ and be unique within this binding array.
45285
+ */
45286
+ id: string;
45287
+ /**
45288
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
45289
+ */
45290
+ access: 'read_only' | 'read_write';
45291
+ /**
45292
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
45293
+ */
45294
+ instructions?: string;
45295
+ /**
45296
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
45297
+ */
45298
+ enabled?: boolean;
45299
+ }>;
45300
+ /**
45301
+ * Knowledge vector store allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
45302
+ */
45303
+ vector_stores: Array<{
45304
+ /**
45305
+ * Resource id from knowledge.vectorStores.list or knowledge.vectorStores.create; use the returned id, not its name. Must start with vs_ and be unique within this binding array.
45306
+ */
45307
+ id: string;
45308
+ /**
45309
+ * read_only permits reads of the bound resource; read_write permits reads and writes.
45310
+ */
45311
+ access: 'read_only' | 'read_write';
45312
+ /**
45313
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
45314
+ */
45315
+ instructions?: string;
45316
+ /**
45317
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
45318
+ */
45319
+ enabled?: boolean;
45320
+ }>;
45321
+ /**
45322
+ * File allowlist for platform resources accessible through service-agent codemode. Only kind=service accepts nonempty bindings; personal agents return 400. At most 20 bindings per resource type, with no duplicate ids. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Unbound resources return 404; writes to read_only resources are refused. Other platform APIs return 403, except public API discovery. Invalid bindings and unknown item fields return 400. Omit on create for no bindings.
45323
+ */
45324
+ files: Array<{
45325
+ /**
45326
+ * Resource id from file.files.list or file.files.create (upload); use the returned id, not its name. Must start with file_ and be unique within this binding array.
45327
+ */
45328
+ id: string;
45329
+ /**
45330
+ * read_only permits reading the bound file; files do not accept read_write.
45331
+ */
45332
+ access: 'read_only';
45333
+ /**
45334
+ * Optional guidance for using this resource, up to 4096 characters; does not expand access.
45335
+ */
45336
+ instructions?: string;
45337
+ /**
45338
+ * Whether this binding grants access. Defaults to true; false immediately disables it for running sessions.
45339
+ */
45340
+ enabled?: boolean;
45341
+ }>;
44505
45342
  /**
44506
45343
  * Immutable agent kind. personal uses a durable computer; service uses a clean environment per session. Historical agents infer kind from their computer binding.
44507
45344
  */
@@ -45053,7 +45890,7 @@ export type SessionsListResponses = {
45053
45890
  */
45054
45891
  created_at: string;
45055
45892
  /**
45056
- * Id of the environment recipe the session's sandbox was created from. Omitted when no recipe was selected, that is, for a light machine or the Computer chosen by computer_id.
45893
+ * Execution environment selected for this session. Service sessions return light when environment_id was omitted, or null when explicitly created without a machine; Computer sessions may omit this field.
45057
45894
  */
45058
45895
  environment_id?: string;
45059
45896
  metadata: AgentManaged173;
@@ -45187,10 +46024,9 @@ export type SessionsCreateData = {
45187
46024
  */
45188
46025
  agent: string | AgentManaged10 | AgentManaged167;
45189
46026
  /**
45190
- * ID of the `environment` defining the container configuration for
45191
- * this session.
46027
+ * Execution environment id from agent.environments.list or agent.environments.create. For a service agent, omission selects the built-in light environment and returns session.environment_id=light; explicit null allocates no machine and makes machine tools, including codemode and bash, unavailable. Personal agents use their selected Computer.
45192
46028
  */
45193
- environment_id?: string;
46029
+ environment_id?: string | null;
45194
46030
  /**
45195
46031
  * A hard spend ceiling. The session stops issuing new model requests
45196
46032
  * once the tracked list cost reaches `max_list_cost`.
@@ -45362,7 +46198,7 @@ export type SessionsCreateResponses = {
45362
46198
  */
45363
46199
  created_at: string;
45364
46200
  /**
45365
- * Id of the environment recipe the session's sandbox was created from. Omitted when no recipe was selected, that is, for a light machine or the Computer chosen by computer_id.
46201
+ * Execution environment selected for this session. Service sessions return light when environment_id was omitted, or null when explicitly created without a machine; Computer sessions may omit this field.
45366
46202
  */
45367
46203
  environment_id?: string;
45368
46204
  metadata: AgentManaged173;
@@ -45600,7 +46436,7 @@ export type SessionsArchiveResponses = {
45600
46436
  */
45601
46437
  created_at: string;
45602
46438
  /**
45603
- * Id of the environment recipe the session's sandbox was created from. Omitted when no recipe was selected, that is, for a light machine or the Computer chosen by computer_id.
46439
+ * Execution environment selected for this session. Service sessions return light when environment_id was omitted, or null when explicitly created without a machine; Computer sessions may omit this field.
45604
46440
  */
45605
46441
  environment_id?: string;
45606
46442
  metadata: AgentManaged173;
@@ -54449,7 +55285,7 @@ export type DatabaseDeleteData = {
54449
55285
  */
54450
55286
  'Range-Unit'?: string;
54451
55287
  /**
54452
- * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default uses field defaults for missing batch columns (otherwise NULL). Unknown preferences are ignored unless handling=strict (400 PGRST122).
55288
+ * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default skips null-filling of missing batch columns: inserts use field defaults (or null without a default), while conflict merges preserve omitted columns. Otherwise, holes in the batch key union are filled with null and can clear values during merge. Explicit null stays null. resolution=merge-duplicates updates supplied columns on conflict; resolution=ignore-duplicates leaves conflicting rows unchanged. Unknown preferences are ignored unless handling=strict (400 PGRST122).
54453
55289
  */
54454
55290
  Prefer?: string;
54455
55291
  /**
@@ -54473,7 +55309,7 @@ export type DatabaseDeleteData = {
54473
55309
  */
54474
55310
  select?: string;
54475
55311
  /**
54476
- * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.
55312
+ * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.
54477
55313
  */
54478
55314
  '{column}'?: string;
54479
55315
  /**
@@ -54505,7 +55341,7 @@ export type DatabaseDeleteData = {
54505
55341
  */
54506
55342
  offset?: number;
54507
55343
  /**
54508
- * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
55344
+ * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
54509
55345
  */
54510
55346
  on_conflict?: string;
54511
55347
  /**
@@ -54565,7 +55401,7 @@ export type DatabaseSelectData = {
54565
55401
  */
54566
55402
  'Range-Unit'?: string;
54567
55403
  /**
54568
- * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default uses field defaults for missing batch columns (otherwise NULL). Unknown preferences are ignored unless handling=strict (400 PGRST122).
55404
+ * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default skips null-filling of missing batch columns: inserts use field defaults (or null without a default), while conflict merges preserve omitted columns. Otherwise, holes in the batch key union are filled with null and can clear values during merge. Explicit null stays null. resolution=merge-duplicates updates supplied columns on conflict; resolution=ignore-duplicates leaves conflicting rows unchanged. Unknown preferences are ignored unless handling=strict (400 PGRST122).
54569
55405
  */
54570
55406
  Prefer?: string;
54571
55407
  /**
@@ -54593,7 +55429,7 @@ export type DatabaseSelectData = {
54593
55429
  */
54594
55430
  select?: string;
54595
55431
  /**
54596
- * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.
55432
+ * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.
54597
55433
  */
54598
55434
  '{column}'?: string;
54599
55435
  /**
@@ -54625,7 +55461,7 @@ export type DatabaseSelectData = {
54625
55461
  */
54626
55462
  offset?: number;
54627
55463
  /**
54628
- * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
55464
+ * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
54629
55465
  */
54630
55466
  on_conflict?: string;
54631
55467
  /**
@@ -54685,7 +55521,7 @@ export type DatabaseHeadData = {
54685
55521
  */
54686
55522
  'Range-Unit'?: string;
54687
55523
  /**
54688
- * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default uses field defaults for missing batch columns (otherwise NULL). Unknown preferences are ignored unless handling=strict (400 PGRST122).
55524
+ * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default skips null-filling of missing batch columns: inserts use field defaults (or null without a default), while conflict merges preserve omitted columns. Otherwise, holes in the batch key union are filled with null and can clear values during merge. Explicit null stays null. resolution=merge-duplicates updates supplied columns on conflict; resolution=ignore-duplicates leaves conflicting rows unchanged. Unknown preferences are ignored unless handling=strict (400 PGRST122).
54689
55525
  */
54690
55526
  Prefer?: string;
54691
55527
  /**
@@ -54713,7 +55549,7 @@ export type DatabaseHeadData = {
54713
55549
  */
54714
55550
  select?: string;
54715
55551
  /**
54716
- * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.
55552
+ * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.
54717
55553
  */
54718
55554
  '{column}'?: string;
54719
55555
  /**
@@ -54745,7 +55581,7 @@ export type DatabaseHeadData = {
54745
55581
  */
54746
55582
  offset?: number;
54747
55583
  /**
54748
- * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
55584
+ * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
54749
55585
  */
54750
55586
  on_conflict?: string;
54751
55587
  /**
@@ -54806,7 +55642,7 @@ export type DatabaseUpdateData = {
54806
55642
  */
54807
55643
  'Range-Unit'?: string;
54808
55644
  /**
54809
- * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default uses field defaults for missing batch columns (otherwise NULL). Unknown preferences are ignored unless handling=strict (400 PGRST122).
55645
+ * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default skips null-filling of missing batch columns: inserts use field defaults (or null without a default), while conflict merges preserve omitted columns. Otherwise, holes in the batch key union are filled with null and can clear values during merge. Explicit null stays null. resolution=merge-duplicates updates supplied columns on conflict; resolution=ignore-duplicates leaves conflicting rows unchanged. Unknown preferences are ignored unless handling=strict (400 PGRST122).
54810
55646
  */
54811
55647
  Prefer?: string;
54812
55648
  /**
@@ -54830,7 +55666,7 @@ export type DatabaseUpdateData = {
54830
55666
  */
54831
55667
  select?: string;
54832
55668
  /**
54833
- * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.
55669
+ * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.
54834
55670
  */
54835
55671
  '{column}'?: string;
54836
55672
  /**
@@ -54862,7 +55698,7 @@ export type DatabaseUpdateData = {
54862
55698
  */
54863
55699
  offset?: number;
54864
55700
  /**
54865
- * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
55701
+ * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
54866
55702
  */
54867
55703
  on_conflict?: string;
54868
55704
  /**
@@ -54926,7 +55762,7 @@ export type DatabaseInsertData = {
54926
55762
  */
54927
55763
  'Range-Unit'?: string;
54928
55764
  /**
54929
- * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default uses field defaults for missing batch columns (otherwise NULL). Unknown preferences are ignored unless handling=strict (400 PGRST122).
55765
+ * Comma-separated preferences. count=exact|planned|estimated: unfiltered counts are exact; filtered planned reports *, estimated falls back to * when predicted over budget. missing=default skips null-filling of missing batch columns: inserts use field defaults (or null without a default), while conflict merges preserve omitted columns. Otherwise, holes in the batch key union are filled with null and can clear values during merge. Explicit null stays null. resolution=merge-duplicates updates supplied columns on conflict; resolution=ignore-duplicates leaves conflicting rows unchanged. Unknown preferences are ignored unless handling=strict (400 PGRST122).
54930
55766
  */
54931
55767
  Prefer?: string;
54932
55768
  /**
@@ -54950,7 +55786,7 @@ export type DatabaseInsertData = {
54950
55786
  */
54951
55787
  select?: string;
54952
55788
  /**
54953
- * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.
55789
+ * Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.
54954
55790
  */
54955
55791
  '{column}'?: string;
54956
55792
  /**
@@ -54982,7 +55818,7 @@ export type DatabaseInsertData = {
54982
55818
  */
54983
55819
  offset?: number;
54984
55820
  /**
54985
- * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
55821
+ * POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.
54986
55822
  */
54987
55823
  on_conflict?: string;
54988
55824
  /**