@deepraxis/sdk 0.1.1-dev.d775f1e → 0.1.1-dev.da4893e

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/METHODS.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SDK methods
2
2
 
3
- Generated by `bun run generate`. 421 HTTP operations, plus product aliases. Version segments and path parameters are omitted from resource names. Inputs use typed `{ path, query, body, headers }` options. Collections form nested resource objects; POST actions retain their verb. Naming rules are documented in `scripts/resources.ts`; semantic exceptions and aliases with reasons are in `scripts/naming-overrides.ts`.
3
+ Generated by `bun run generate`. 525 HTTP operations, plus product aliases. Version segments and path parameters are omitted from resource names. Inputs use typed `{ path, query, body, headers }` options. Collections form nested resource objects; POST actions retain their verb. Naming rules are documented in `scripts/resources.ts`; semantic exceptions and aliases with reasons are in `scripts/naming-overrides.ts`.
4
4
 
5
5
  `always` returns an AsyncIterable; `optional` streams with `{ stream: true }`; `yes` pagination returns a Page. Only `{ data, next_cursor }` + `cursor` query contracts are automatically paginated.
6
6
 
@@ -374,6 +374,16 @@ Multipart request bodies expand plain objects into bracketed fields (for example
374
374
  |---|---|---|---|---|
375
375
  | send | POST | `/automation/v1/hooks/{trigger_id}/{token}` | no | no |
376
376
 
377
+ ### automation.humanTasks
378
+
379
+ | Method | HTTP | Path | Streaming | Pagination |
380
+ |---|---|---|---|---|
381
+ | cancel | POST | `/automation/v1/human-tasks/{id}/cancel` | no | no |
382
+ | delegate | POST | `/automation/v1/human-tasks/{id}/delegate` | no | no |
383
+ | list | GET | `/automation/v1/human-tasks` | no | yes |
384
+ | respond | POST | `/automation/v1/human-tasks/{id}/respond` | no | no |
385
+ | retrieve | GET | `/automation/v1/human-tasks/{id}` | no | no |
386
+
377
387
  ### automation.resolve
378
388
 
379
389
  | Method | HTTP | Path | Streaming | Pagination |
@@ -439,6 +449,14 @@ Multipart request bodies expand plain objects into bracketed fields (for example
439
449
  | list | GET | `/automation/v1/scripts/{ns}/{name}/dist-tags` | no | no |
440
450
  | set | PUT | `/automation/v1/scripts/{ns}/{name}/dist-tags/{tag}` | no | no |
441
451
 
452
+ ### automation.scripts.vaults
453
+
454
+ | Method | HTTP | Path | Streaming | Pagination |
455
+ |---|---|---|---|---|
456
+ | delete | DELETE | `/automation/v1/scripts/{ns}/{name}/vaults/{alias}` | no | no |
457
+ | list | GET | `/automation/v1/scripts/{ns}/{name}/vaults` | no | no |
458
+ | set | PUT | `/automation/v1/scripts/{ns}/{name}/vaults/{alias}` | no | no |
459
+
442
460
  ### automation.scripts.versions
443
461
 
444
462
  | Method | HTTP | Path | Streaming | Pagination |
@@ -500,6 +518,14 @@ Multipart request bodies expand plain objects into bracketed fields (for example
500
518
  | list | GET | `/automation/v1/workflows/{ns}/{name}/dist-tags` | no | no |
501
519
  | set | PUT | `/automation/v1/workflows/{ns}/{name}/dist-tags/{tag}` | no | no |
502
520
 
521
+ ### automation.workflows.vaults
522
+
523
+ | Method | HTTP | Path | Streaming | Pagination |
524
+ |---|---|---|---|---|
525
+ | delete | DELETE | `/automation/v1/workflows/{ns}/{name}/vaults/{alias}` | no | no |
526
+ | list | GET | `/automation/v1/workflows/{ns}/{name}/vaults` | no | no |
527
+ | set | PUT | `/automation/v1/workflows/{ns}/{name}/vaults/{alias}` | no | no |
528
+
503
529
  ### automation.workflows.versions
504
530
 
505
531
  | Method | HTTP | Path | Streaming | Pagination |
@@ -569,6 +595,210 @@ Multipart request bodies expand plain objects into bracketed fields (for example
569
595
  |---|---|---|---|---|
570
596
  | create | POST | `/browser/v1/sessions/{sessionId}/viewer` | no | no |
571
597
 
598
+ ## canvas
599
+
600
+ ### canvas.canvases
601
+
602
+ | Method | HTTP | Path | Streaming | Pagination |
603
+ |---|---|---|---|---|
604
+ | create | POST | `/canvas/v1/canvases` | no | no |
605
+ | delete | DELETE | `/canvas/v1/canvases/{canvas_id}` | no | no |
606
+ | execute | POST | `/canvas/v1/canvases/{canvas_id}:execute` | no | no |
607
+ | list | GET | `/canvas/v1/canvases` | no | yes |
608
+ | restore | POST | `/canvas/v1/canvases/{canvas_id}:restore` | no | no |
609
+ | retrieve | GET | `/canvas/v1/canvases/{canvas_id}` | no | no |
610
+ | update | PATCH | `/canvas/v1/canvases/{canvas_id}` | no | no |
611
+
612
+ ### canvas.canvases.images
613
+
614
+ | Method | HTTP | Path | Streaming | Pagination |
615
+ |---|---|---|---|---|
616
+ | list | GET | `/canvas/v1/canvases/{canvas_id}/images` | no | no |
617
+
618
+ ### canvas.canvases.nodes
619
+
620
+ | Method | HTTP | Path | Streaming | Pagination |
621
+ |---|---|---|---|---|
622
+ | list | GET | `/canvas/v1/canvases/{canvas_id}/nodes` | no | no |
623
+
624
+ ### canvas.canvases.versions
625
+
626
+ | Method | HTTP | Path | Streaming | Pagination |
627
+ |---|---|---|---|---|
628
+ | list | GET | `/canvas/v1/canvases/{canvas_id}/versions` | no | no |
629
+
630
+ ### canvas.collections
631
+
632
+ | Method | HTTP | Path | Streaming | Pagination |
633
+ |---|---|---|---|---|
634
+ | create | POST | `/canvas/v1/collections` | no | no |
635
+ | delete | DELETE | `/canvas/v1/collections/{collection_id}` | no | no |
636
+ | list | GET | `/canvas/v1/collections` | no | no |
637
+ | retrieve | GET | `/canvas/v1/collections/{collection_id}` | no | no |
638
+ | update | PATCH | `/canvas/v1/collections/{collection_id}` | no | no |
639
+
640
+ ## crm
641
+
642
+ ### crm.associations
643
+
644
+ | Method | HTTP | Path | Streaming | Pagination |
645
+ |---|---|---|---|---|
646
+ | create | PUT | `/crm/v1/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}` | no | no |
647
+ | createDefault | PUT | `/crm/v1/objects/{objectType}/{objectId}/associations/default/{toObjectType}/{toObjectId}` | no | no |
648
+ | list | GET | `/crm/v1/objects/{objectType}/{objectId}/associations/{toObjectType}` | no | no |
649
+ | remove | DELETE | `/crm/v1/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}` | no | no |
650
+
651
+ ### crm.changes
652
+
653
+ | Method | HTTP | Path | Streaming | Pagination |
654
+ |---|---|---|---|---|
655
+ | revert | POST | `/crm/v1/changes/{changeSetId}:revert` | no | no |
656
+
657
+ ### crm.layouts
658
+
659
+ | Method | HTTP | Path | Streaming | Pagination |
660
+ |---|---|---|---|---|
661
+ | retrieve | GET | `/crm/v1/layouts/{objectType}` | no | no |
662
+ | update | PUT | `/crm/v1/layouts/{objectType}` | no | no |
663
+
664
+ ### crm.leads
665
+
666
+ | Method | HTTP | Path | Streaming | Pagination |
667
+ |---|---|---|---|---|
668
+ | qualify | POST | `/crm/v1/leads/{leadId}:qualify` | no | no |
669
+
670
+ ### crm.objects
671
+
672
+ | Method | HTTP | Path | Streaming | Pagination |
673
+ |---|---|---|---|---|
674
+ | archive | DELETE | `/crm/v1/objects/{objectType}/{objectId}` | no | no |
675
+ | create | POST | `/crm/v1/objects/{objectType}` | no | no |
676
+ | list | GET | `/crm/v1/objects/{objectType}` | no | no |
677
+ | retrieve | GET | `/crm/v1/objects/{objectType}/{objectId}` | no | no |
678
+ | search | POST | `/crm/v1/objects/{objectType}/search` | no | no |
679
+ | update | PATCH | `/crm/v1/objects/{objectType}/{objectId}` | no | no |
680
+
681
+ ### crm.objects.batch
682
+
683
+ | Method | HTTP | Path | Streaming | Pagination |
684
+ |---|---|---|---|---|
685
+ | archive | POST | `/crm/v1/objects/{objectType}/batch/archive` | no | no |
686
+ | create | POST | `/crm/v1/objects/{objectType}/batch/create` | no | no |
687
+ | read | POST | `/crm/v1/objects/{objectType}/batch/read` | no | no |
688
+ | update | POST | `/crm/v1/objects/{objectType}/batch/update` | no | no |
689
+ | upsert | POST | `/crm/v1/objects/{objectType}/batch/upsert` | no | no |
690
+
691
+ ### crm.pipelines
692
+
693
+ | Method | HTTP | Path | Streaming | Pagination |
694
+ |---|---|---|---|---|
695
+ | archive | DELETE | `/crm/v1/pipelines/{objectType}/{pipelineId}` | no | no |
696
+ | create | POST | `/crm/v1/pipelines/{objectType}` | no | no |
697
+ | list | GET | `/crm/v1/pipelines/{objectType}` | no | no |
698
+ | retrieve | GET | `/crm/v1/pipelines/{objectType}/{pipelineId}` | no | no |
699
+ | update | PATCH | `/crm/v1/pipelines/{objectType}/{pipelineId}` | no | no |
700
+
701
+ ### crm.pipelines.stages
702
+
703
+ | Method | HTTP | Path | Streaming | Pagination |
704
+ |---|---|---|---|---|
705
+ | archive | DELETE | `/crm/v1/pipelines/{objectType}/{pipelineId}/stages/{stageId}` | no | no |
706
+ | create | POST | `/crm/v1/pipelines/{objectType}/{pipelineId}/stages` | no | no |
707
+ | update | PATCH | `/crm/v1/pipelines/{objectType}/{pipelineId}/stages/{stageId}` | no | no |
708
+
709
+ ### crm.properties
710
+
711
+ | Method | HTTP | Path | Streaming | Pagination |
712
+ |---|---|---|---|---|
713
+ | archive | DELETE | `/crm/v1/properties/{objectType}/{propertyName}` | no | no |
714
+ | create | POST | `/crm/v1/properties/{objectType}` | no | no |
715
+ | list | GET | `/crm/v1/properties/{objectType}` | no | no |
716
+ | retrieve | GET | `/crm/v1/properties/{objectType}/{propertyName}` | no | no |
717
+ | update | PATCH | `/crm/v1/properties/{objectType}/{propertyName}` | no | no |
718
+
719
+ ### crm.properties.groups
720
+
721
+ | Method | HTTP | Path | Streaming | Pagination |
722
+ |---|---|---|---|---|
723
+ | create | POST | `/crm/v1/properties/{objectType}/groups` | no | no |
724
+ | list | GET | `/crm/v1/properties/{objectType}/groups` | no | no |
725
+
726
+ ### crm.schemas
727
+
728
+ | Method | HTTP | Path | Streaming | Pagination |
729
+ |---|---|---|---|---|
730
+ | create | POST | `/crm/v1/schemas` | no | no |
731
+ | list | GET | `/crm/v1/schemas` | no | no |
732
+
733
+ ## cut
734
+
735
+ ### cut.exports
736
+
737
+ | Method | HTTP | Path | Streaming | Pagination |
738
+ |---|---|---|---|---|
739
+ | cancel | POST | `/cut/v1/exports/{export_id}:cancel` | no | no |
740
+ | retrieve | GET | `/cut/v1/exports/{export_id}` | no | no |
741
+
742
+ ### cut.projects
743
+
744
+ | Method | HTTP | Path | Streaming | Pagination |
745
+ |---|---|---|---|---|
746
+ | create | POST | `/cut/v1/projects` | no | no |
747
+ | delete | DELETE | `/cut/v1/projects/{project_id}` | no | no |
748
+ | execute | POST | `/cut/v1/projects/{project_id}:execute` | no | no |
749
+ | list | GET | `/cut/v1/projects` | no | no |
750
+ | retrieve | GET | `/cut/v1/projects/{project_id}` | no | no |
751
+ | retrieveState | GET | `/cut/v1/projects/{project_id}/state` | no | no |
752
+ | retrieveTimeline | GET | `/cut/v1/projects/{project_id}/timeline` | no | no |
753
+ | undelete | POST | `/cut/v1/projects/{project_id}:undelete` | no | no |
754
+ | update | PATCH | `/cut/v1/projects/{project_id}` | no | no |
755
+
756
+ ### cut.projects.analysis
757
+
758
+ | Method | HTTP | Path | Streaming | Pagination |
759
+ |---|---|---|---|---|
760
+ | create | POST | `/cut/v1/projects/{project_id}/analysis` | no | no |
761
+
762
+ ### cut.projects.bindings
763
+
764
+ | Method | HTTP | Path | Streaming | Pagination |
765
+ |---|---|---|---|---|
766
+ | create | POST | `/cut/v1/projects/{project_id}/bindings` | no | no |
767
+ | delete | DELETE | `/cut/v1/projects/{project_id}/bindings/{name}` | no | no |
768
+ | list | GET | `/cut/v1/projects/{project_id}/bindings` | no | no |
769
+
770
+ ### cut.projects.exports
771
+
772
+ | Method | HTTP | Path | Streaming | Pagination |
773
+ |---|---|---|---|---|
774
+ | create | POST | `/cut/v1/projects/{project_id}/exports` | no | no |
775
+ | list | GET | `/cut/v1/projects/{project_id}/exports` | no | no |
776
+
777
+ ### cut.projects.frames
778
+
779
+ | Method | HTTP | Path | Streaming | Pagination |
780
+ |---|---|---|---|---|
781
+ | list | GET | `/cut/v1/projects/{project_id}/frames` | no | no |
782
+
783
+ ### cut.projects.media
784
+
785
+ | Method | HTTP | Path | Streaming | Pagination |
786
+ |---|---|---|---|---|
787
+ | import | POST | `/cut/v1/projects/{project_id}/media:import` | no | no |
788
+
789
+ ### cut.projects.versions
790
+
791
+ | Method | HTTP | Path | Streaming | Pagination |
792
+ |---|---|---|---|---|
793
+ | create | POST | `/cut/v1/projects/{project_id}/versions` | no | no |
794
+ | list | GET | `/cut/v1/projects/{project_id}/versions` | no | no |
795
+
796
+ ### cut.versions
797
+
798
+ | Method | HTTP | Path | Streaming | Pagination |
799
+ |---|---|---|---|---|
800
+ | restore | POST | `/cut/v1/versions/{version_id}:restore` | no | no |
801
+
572
802
  ## database
573
803
 
574
804
  ### database.databases
@@ -634,6 +864,18 @@ Multipart request bodies expand plain objects into bracketed fields (for example
634
864
  | retrieve | GET | `/file/v1/files/{file_id}` | no | no |
635
865
  | retrieveContent | GET | `/file/v1/files/{file_id}/content` | no | no |
636
866
 
867
+ ### file.files.contentLinks
868
+
869
+ | Method | HTTP | Path | Streaming | Pagination |
870
+ |---|---|---|---|---|
871
+ | revoke | POST | `/file/v1/files/{file_id}/content_links:revoke` | no | no |
872
+
873
+ ### file.files.contentUrl
874
+
875
+ | Method | HTTP | Path | Streaming | Pagination |
876
+ |---|---|---|---|---|
877
+ | create | POST | `/file/v1/files/{file_id}/content_url` | no | no |
878
+
637
879
  ### file.uploads
638
880
 
639
881
  | Method | HTTP | Path | Streaming | Pagination |
@@ -641,6 +883,7 @@ Multipart request bodies expand plain objects into bracketed fields (for example
641
883
  | cancel | POST | `/file/v1/uploads/{upload_id}/cancel` | no | no |
642
884
  | complete | POST | `/file/v1/uploads/{upload_id}/complete` | no | no |
643
885
  | create | POST | `/file/v1/uploads` | no | no |
886
+ | createSigned | POST | `/file/v1/uploads/signed` | no | no |
644
887
 
645
888
  ### file.uploads.parts
646
889
 
@@ -746,6 +989,12 @@ Multipart request bodies expand plain objects into bracketed fields (for example
746
989
  | retrieve | GET | `/media/v1/libraries/{library_id}/assets/{asset_id}` | no | no |
747
990
  | update | PATCH | `/media/v1/libraries/{library_id}/assets/{asset_id}` | no | no |
748
991
 
992
+ ### media.libraries.assets.frames
993
+
994
+ | Method | HTTP | Path | Streaming | Pagination |
995
+ |---|---|---|---|---|
996
+ | create | POST | `/media/v1/libraries/{library_id}/assets/{asset_id}/frames` | no | no |
997
+
749
998
  ### media.libraries.assets.import
750
999
 
751
1000
  | Method | HTTP | Path | Streaming | Pagination |
@@ -771,6 +1020,12 @@ Multipart request bodies expand plain objects into bracketed fields (for example
771
1020
  | create | POST | `/media/v1/libraries/{library_id}/batches` | no | no |
772
1021
  | retrieve | GET | `/media/v1/libraries/{library_id}/batches/{job_id}` | no | no |
773
1022
 
1023
+ ### media.libraries.deliveryTokens
1024
+
1025
+ | Method | HTTP | Path | Streaming | Pagination |
1026
+ |---|---|---|---|---|
1027
+ | create | POST | `/media/v1/libraries/{library_id}/delivery_tokens` | no | no |
1028
+
774
1029
  ### media.libraries.events
775
1030
 
776
1031
  | Method | HTTP | Path | Streaming | Pagination |
@@ -819,8 +1074,22 @@ Multipart request bodies expand plain objects into bracketed fields (for example
819
1074
  |---|---|---|---|---|
820
1075
  | create | POST | `/media/v1/libraries/{library_id}/search/visual` | no | no |
821
1076
 
1077
+ ### media.libraries.understandings
1078
+
1079
+ | Method | HTTP | Path | Streaming | Pagination |
1080
+ |---|---|---|---|---|
1081
+ | list | GET | `/media/v1/libraries/{library_id}/understandings` | no | yes |
1082
+ | retrieveFailureSummary | GET | `/media/v1/libraries/{library_id}/understandings/failure_summary` | no | no |
1083
+
822
1084
  ## meta
823
1085
 
1086
+ ### meta.docs
1087
+
1088
+ | Method | HTTP | Path | Streaming | Pagination |
1089
+ |---|---|---|---|---|
1090
+ | retrieve | GET | `/meta/v1/docs/{path}` | no | no |
1091
+ | search | GET | `/meta/v1/docs/search` | no | no |
1092
+
824
1093
  ### meta.health
825
1094
 
826
1095
  | Method | HTTP | Path | Streaming | Pagination |
@@ -944,6 +1213,12 @@ Multipart request bodies expand plain objects into bracketed fields (for example
944
1213
  |---|---|---|---|---|
945
1214
  | create | POST | `/model/v1/responses/input_tokens` | no | no |
946
1215
 
1216
+ ### model.systemone
1217
+
1218
+ | Method | HTTP | Path | Streaming | Pagination |
1219
+ |---|---|---|---|---|
1220
+ | create | POST | `/model/v1/systemone` | no | no |
1221
+
947
1222
  ### model.videos
948
1223
 
949
1224
  | Method | HTTP | Path | Streaming | Pagination |
@@ -997,6 +1272,12 @@ Multipart request bodies expand plain objects into bracketed fields (for example
997
1272
  | create | POST | `/organization/v1/feedback/{id}/messages` | no | no |
998
1273
  | list | GET | `/organization/v1/feedback/{id}/messages` | no | no |
999
1274
 
1275
+ ### organization.members
1276
+
1277
+ | Method | HTTP | Path | Streaming | Pagination |
1278
+ |---|---|---|---|---|
1279
+ | list | GET | `/organization/v1/members` | no | no |
1280
+
1000
1281
  ### organization.usage
1001
1282
 
1002
1283
  | Method | HTTP | Path | Streaming | Pagination |
@@ -1079,7 +1360,36 @@ Multipart request bodies expand plain objects into bracketed fields (for example
1079
1360
 
1080
1361
  | Method | HTTP | Path | Streaming | Pagination |
1081
1362
  |---|---|---|---|---|
1363
+ | create | POST | `/sandbox/v1/templates` | no | no |
1364
+ | delete | DELETE | `/sandbox/v1/templates/{templateID}` | no | no |
1082
1365
  | list | GET | `/sandbox/v1/templates` | no | no |
1366
+ | retrieve | GET | `/sandbox/v1/templates/{templateID}` | no | no |
1367
+
1368
+ ### sandbox.templates.aliases
1369
+
1370
+ | Method | HTTP | Path | Streaming | Pagination |
1371
+ |---|---|---|---|---|
1372
+ | retrieve | GET | `/sandbox/v1/templates/aliases/{alias}` | no | no |
1373
+
1374
+ ### sandbox.templates.builds
1375
+
1376
+ | Method | HTTP | Path | Streaming | Pagination |
1377
+ |---|---|---|---|---|
1378
+ | update | POST | `/sandbox/v1/templates/{templateID}/builds/{buildID}` | no | no |
1379
+
1380
+ ### sandbox.templates.builds.status
1381
+
1382
+ | Method | HTTP | Path | Streaming | Pagination |
1383
+ |---|---|---|---|---|
1384
+ | list | GET | `/sandbox/v1/templates/{templateID}/builds/{buildID}/status` | no | no |
1385
+
1386
+ ### sandbox.templates.tags
1387
+
1388
+ | Method | HTTP | Path | Streaming | Pagination |
1389
+ |---|---|---|---|---|
1390
+ | create | POST | `/sandbox/v1/templates/tags` | no | no |
1391
+ | delete | DELETE | `/sandbox/v1/templates/tags` | no | no |
1392
+ | list | GET | `/sandbox/v1/templates/{templateID}/tags` | no | no |
1083
1393
 
1084
1394
  ### sandbox.volumes
1085
1395
 
@@ -1329,10 +1639,33 @@ Multipart request bodies expand plain objects into bracketed fields (for example
1329
1639
  | agent.sessions.events.send | Events submit session input; the product verb is send rather than create. |
1330
1640
  | automation.hooks.send | Delivers a payload to a trigger's secret webhook URL; it sends an event rather than updating a hook resource. |
1331
1641
  | automation.scripts.distTags.set | A dist-tag assigns a version to a name; use npm vocabulary set rather than update. |
1642
+ | automation.scripts.vaults.set | Assign a whole vault to a definition alias, independently of published versions. |
1332
1643
  | automation.scripts.versions.create / publish | Creating a script version publishes it; publish is a product alias of versions.create. |
1333
1644
  | automation.workflows.distTags.set | Workflow dist-tags use the same npm-style assignment vocabulary as script dist-tags. |
1645
+ | automation.workflows.vaults.set | Assign a whole vault to a definition alias, independently of published versions. |
1334
1646
  | automation.workflows.versions.create / publish | Creating a workflow version publishes it; publish is a product alias of versions.create. |
1647
+ | crm.objects.list | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1648
+ | crm.objects.create | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1649
+ | crm.objects.batch.create | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1650
+ | crm.objects.batch.read | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1651
+ | crm.objects.batch.update | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1652
+ | crm.objects.batch.upsert | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1653
+ | crm.objects.search | The terminal search segment queries records without creating a nested search resource. |
1654
+ | crm.objects.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1655
+ | crm.associations.createDefault | CRM relationships live below objects in the URL but form the associations SDK resource; distinguish labelled and default creation from record updates. |
1656
+ | crm.associations.list | CRM relationships live below objects in the URL but form the associations SDK resource; distinguish labelled and default creation from record updates. |
1657
+ | crm.associations.remove | CRM relationships live below objects in the URL but form the associations SDK resource; distinguish labelled and default creation from record updates. |
1658
+ | crm.associations.create | CRM relationships live below objects in the URL but form the associations SDK resource; distinguish labelled and default creation from record updates. |
1659
+ | crm.pipelines.list | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1660
+ | crm.pipelines.create | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1661
+ | crm.pipelines.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1662
+ | crm.pipelines.stages.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1663
+ | crm.properties.list | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1664
+ | crm.properties.create | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1665
+ | crm.properties.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1335
1666
  | database.databases.rest.create | The final parameter identifies a table collection; POST inserts rows rather than updating the table. |
1667
+ | file.uploads.createSigned | Signed upload creation returns a one-time local PUT URL; ADR-039 names this operation uploads.createSigned. |
1668
+ | meta.docs.search | Documentation keyword search is an operation on docs, not a nested collection. |
1336
1669
  | sandbox.sandboxes.commands.run | Sandbox data operations use the E2B SDK verb while preserving URL resource nesting. |
1337
1670
  | sandbox.sandboxes.files.remove | Sandbox data operations use the E2B SDK verb while preserving URL resource nesting. |
1338
1671
  | sandbox.sandboxes.files.read | Sandbox data operations use the E2B SDK verb while preserving URL resource nesting. |
package/README.md CHANGED
@@ -55,7 +55,7 @@ server. You need a Praxis account; sign up at [deepraxis.com](https://deepraxis.
55
55
  const praxis = new Praxis({
56
56
  apiKey: process.env.PRAXIS_API_KEY!,
57
57
  baseUrl: 'https://api.deepraxis.com', // default
58
- timeoutMs: 60_000, // default; the whole call, body included
58
+ timeoutMs: 600_000, // default (10 minutes, as the OpenAI and Anthropic SDKs); the whole call, body included
59
59
  maxRetries: 2, // default
60
60
  // fetch: customFetch, // bring your own fetch
61
61
  });
@@ -23,6 +23,13 @@ export declare function createAutomationClient(options: PraxisOptions): {
23
23
  hooks: {
24
24
  send: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationHooksReceiveData>) => Promise<import("./generated/types.gen.js").AutomationFiring>;
25
25
  };
26
+ humanTasks: {
27
+ cancel: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationHumanTasksCancelData>) => Promise<import("./generated/types.gen.js").AutomationHumanTask>;
28
+ delegate: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationHumanTasksDelegateData>) => Promise<import("./generated/types.gen.js").AutomationHumanTask>;
29
+ list: (options?: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationHumanTasksListData> | undefined) => Promise<import("./automation.js").Page<import("./generated/types.gen.js").AutomationHumanTask>>;
30
+ respond: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationHumanTasksRespondData>) => Promise<import("./generated/types.gen.js").AutomationHumanTask>;
31
+ retrieve: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationHumanTasksGetData>) => Promise<import("./generated/types.gen.js").AutomationHumanTask>;
32
+ };
26
33
  resolve: {
27
34
  retrieve: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationResolveResolveData>) => Promise<import("./generated/types.gen.js").AutomationResolveResult>;
28
35
  };
@@ -89,6 +96,33 @@ export declare function createAutomationClient(options: PraxisOptions): {
89
96
  restore: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsRestoreData>) => Promise<import("./generated/types.gen.js").AutomationDefinition>;
90
97
  retrieve: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsGetData>) => Promise<import("./generated/types.gen.js").AutomationDefinitionDetail>;
91
98
  update: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsPatchData>) => Promise<import("./generated/types.gen.js").AutomationDefinitionDetail>;
99
+ vaults: {
100
+ delete: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsVaultsDeleteData>) => Promise<void>;
101
+ list: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsVaultsListData>) => Promise<{
102
+ data: Array<{
103
+ alias: string;
104
+ vault: {
105
+ id: string;
106
+ name: string;
107
+ };
108
+ secrets: Array<{
109
+ name: string;
110
+ }>;
111
+ secrets_unavailable?: true;
112
+ }>;
113
+ }>;
114
+ set: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsVaultsSetData>) => Promise<{
115
+ alias: string;
116
+ vault: {
117
+ id: string;
118
+ name: string;
119
+ };
120
+ secrets: Array<{
121
+ name: string;
122
+ }>;
123
+ secrets_unavailable?: true;
124
+ }>;
125
+ };
92
126
  versions: {
93
127
  create: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsPublishData>) => Promise<import("./generated/types.gen.js").AutomationVersion>;
94
128
  deprecate: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationScriptsDeprecateData>) => Promise<import("./generated/types.gen.js").AutomationVersion>;
@@ -136,6 +170,33 @@ export declare function createAutomationClient(options: PraxisOptions): {
136
170
  restore: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsRestoreData>) => Promise<import("./generated/types.gen.js").AutomationDefinition>;
137
171
  retrieve: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsGetData>) => Promise<import("./generated/types.gen.js").AutomationDefinitionDetail>;
138
172
  update: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsPatchData>) => Promise<import("./generated/types.gen.js").AutomationDefinitionDetail>;
173
+ vaults: {
174
+ delete: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsVaultsDeleteData>) => Promise<void>;
175
+ list: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsVaultsListData>) => Promise<{
176
+ data: Array<{
177
+ alias: string;
178
+ vault: {
179
+ id: string;
180
+ name: string;
181
+ };
182
+ secrets: Array<{
183
+ name: string;
184
+ }>;
185
+ secrets_unavailable?: true;
186
+ }>;
187
+ }>;
188
+ set: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsVaultsSetData>) => Promise<{
189
+ alias: string;
190
+ vault: {
191
+ id: string;
192
+ name: string;
193
+ };
194
+ secrets: Array<{
195
+ name: string;
196
+ }>;
197
+ secrets_unavailable?: true;
198
+ }>;
199
+ };
139
200
  versions: {
140
201
  create: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsPublishData>) => Promise<import("./generated/types.gen.js").AutomationVersion>;
141
202
  deprecate: (options: import("./core/transport.js").CallOptions<import("./generated/types.gen.js").AutomationWorkflowsDeprecateData>) => Promise<import("./generated/types.gen.js").AutomationVersion>;
@@ -1,12 +1,22 @@
1
+ import { type SandboxTemplateBuildInput, type SandboxTemplateBuildResult } from "../helpers/sandbox-templates.js";
1
2
  import { type UploadFileOptions, type UploadedFile } from '../helpers/file-upload.js';
2
3
  import { resourceFactories } from '../resources.generated.js';
3
4
  import { type PraxisOptions } from './transport.js';
4
5
  import { type PublishInput, type PublishResult } from '../helpers/application-publish.js';
6
+ import { type BrowserConnectOptions, type PraxisBrowser } from '../helpers/browser-connect.js';
5
7
  import { type CountInput, type CountResult } from '../helpers/database-count.js';
6
8
  type Resources = {
7
9
  readonly [K in keyof typeof resourceFactories]: ReturnType<(typeof resourceFactories)[K]>;
8
10
  };
9
- export interface Praxis extends Omit<Resources, 'application' | 'database' | 'file'> {
11
+ export interface Praxis extends Omit<Resources, 'application' | 'browser' | 'database' | 'file' | 'sandbox'> {
12
+ readonly sandbox: Omit<Resources['sandbox'], 'templates'> & {
13
+ templates: Resources['sandbox']['templates'] & {
14
+ build(input: SandboxTemplateBuildInput): Promise<SandboxTemplateBuildResult>;
15
+ };
16
+ };
17
+ readonly browser: Resources['browser'] & {
18
+ connect(options?: BrowserConnectOptions): Promise<PraxisBrowser>;
19
+ };
10
20
  readonly file: Resources['file'] & {
11
21
  uploadFile(file: Blob | File, options: UploadFileOptions): Promise<UploadedFile>;
12
22
  };
@@ -1,7 +1,9 @@
1
+ import { buildSandboxTemplate } from "../helpers/sandbox-templates.js";
1
2
  import { uploadFile } from "../helpers/file-upload.js";
2
3
  import { resourceFactories } from "../resources.generated.js";
3
4
  import { Transport } from "./transport.js";
4
5
  import { publish } from "../helpers/application-publish.js";
6
+ import { connectBrowser } from "../helpers/browser-connect.js";
5
7
  import { count } from "../helpers/database-count.js";
6
8
  export class Praxis {
7
9
  constructor(options) {
@@ -9,10 +11,21 @@ export class Praxis {
9
11
  for (const [name, create] of Object.entries(resourceFactories)) {
10
12
  const resource = create(transport);
11
13
  // Assemble before sealing the resource property; never replace a readonly SDK resource.
14
+ if (name === 'sandbox')
15
+ Object.assign(resource.templates, { build: (input) => buildSandboxTemplate(this, input) });
12
16
  if (name === 'file')
13
17
  Object.assign(resource, { uploadFile: (file, options) => uploadFile(this, file, options) });
14
18
  if (name === 'database')
15
19
  Object.assign(resource, { count: (input) => count(transport, input) });
20
+ if (name === 'browser') {
21
+ // The npm build has no Node globals in scope; name the process shape this helper reads.
22
+ const host = globalThis.process;
23
+ Object.assign(resource, { connect: (options) => connectBrowser({
24
+ contexts: resource.contexts,
25
+ env: host?.env ?? {},
26
+ builtin: host?.getBuiltinModule?.bind(host),
27
+ }, options) });
28
+ }
16
29
  if (name === 'application')
17
30
  Object.assign(resource, { publish: (input) => publish(this, input) });
18
31
  Object.defineProperty(this, name, { value: resource, enumerable: true });
@@ -25,6 +25,15 @@ type InternalOptions = RequestOptions & {
25
25
  query?: unknown;
26
26
  lastEventId?: string;
27
27
  };
28
+ /** Margin over a server-side execution deadline: the response still has to travel back after it. */
29
+ export declare const SERVER_DEADLINE_MARGIN_MS = 30000;
30
+ /**
31
+ * A request body that carries its own execution deadline (`timeoutMs`, as in sandbox commands.run) is
32
+ * waited for at least that long plus a margin, so the client never gives up before the server answers.
33
+ */
34
+ export declare function serverDeadlineMs(options: {
35
+ body?: unknown;
36
+ }): number;
28
37
  export declare class Transport {
29
38
  private readonly config;
30
39
  constructor(options: PraxisOptions);
@@ -32,10 +32,21 @@ function assertKnownOptions(options) {
32
32
  detail: `Unrecognised option ${stray.length > 1 ? 'keys' : 'key'} ${names}. Request parameters are not flat: put each under \`query\` (GET/DELETE: filters, pagination), \`path\` (URL segments) or \`body\` (POST/PATCH/PUT payload), e.g. call({ query: { ${stray[0]} } }) or call({ body: { ${stray[0]} } }). Common top-level keys: path, query, body, headers, signal, timeoutMs, maxRetries.`,
33
33
  });
34
34
  }
35
+ /** Margin over a server-side execution deadline: the response still has to travel back after it. */
36
+ export const SERVER_DEADLINE_MARGIN_MS = 30_000;
37
+ /**
38
+ * A request body that carries its own execution deadline (`timeoutMs`, as in sandbox commands.run) is
39
+ * waited for at least that long plus a margin, so the client never gives up before the server answers.
40
+ */
41
+ export function serverDeadlineMs(options) {
42
+ const body = options.body;
43
+ const deadline = body && typeof body === 'object' ? body.timeoutMs : undefined;
44
+ return typeof deadline === 'number' && Number.isFinite(deadline) && deadline > 0 ? deadline + SERVER_DEADLINE_MARGIN_MS : 0;
45
+ }
35
46
  export class Transport {
36
47
  config;
37
48
  constructor(options) {
38
- this.config = { timeoutMs: 60_000, maxRetries: 2, fetch: globalThis.fetch, ...options };
49
+ this.config = { timeoutMs: 600_000, maxRetries: 2, fetch: globalThis.fetch, ...options };
39
50
  this.validate(this.config.timeoutMs, this.config.maxRetries);
40
51
  }
41
52
  validate(timeout, retries) {
@@ -46,7 +57,7 @@ export class Transport {
46
57
  }
47
58
  scope(options, streaming) {
48
59
  assertKnownOptions(options);
49
- const timeoutMs = options.timeoutMs ?? this.config.timeoutMs;
60
+ const timeoutMs = options.timeoutMs ?? Math.max(this.config.timeoutMs, serverDeadlineMs(options));
50
61
  const maxRetries = options.maxRetries ?? this.config.maxRetries;
51
62
  this.validate(timeoutMs, maxRetries);
52
63
  const controller = new AbortController();