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

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`. 521 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
 
@@ -771,6 +1014,12 @@ Multipart request bodies expand plain objects into bracketed fields (for example
771
1014
  | create | POST | `/media/v1/libraries/{library_id}/batches` | no | no |
772
1015
  | retrieve | GET | `/media/v1/libraries/{library_id}/batches/{job_id}` | no | no |
773
1016
 
1017
+ ### media.libraries.deliveryTokens
1018
+
1019
+ | Method | HTTP | Path | Streaming | Pagination |
1020
+ |---|---|---|---|---|
1021
+ | create | POST | `/media/v1/libraries/{library_id}/delivery_tokens` | no | no |
1022
+
774
1023
  ### media.libraries.events
775
1024
 
776
1025
  | Method | HTTP | Path | Streaming | Pagination |
@@ -821,6 +1070,13 @@ Multipart request bodies expand plain objects into bracketed fields (for example
821
1070
 
822
1071
  ## meta
823
1072
 
1073
+ ### meta.docs
1074
+
1075
+ | Method | HTTP | Path | Streaming | Pagination |
1076
+ |---|---|---|---|---|
1077
+ | retrieve | GET | `/meta/v1/docs/{path}` | no | no |
1078
+ | search | GET | `/meta/v1/docs/search` | no | no |
1079
+
824
1080
  ### meta.health
825
1081
 
826
1082
  | Method | HTTP | Path | Streaming | Pagination |
@@ -944,6 +1200,12 @@ Multipart request bodies expand plain objects into bracketed fields (for example
944
1200
  |---|---|---|---|---|
945
1201
  | create | POST | `/model/v1/responses/input_tokens` | no | no |
946
1202
 
1203
+ ### model.systemone
1204
+
1205
+ | Method | HTTP | Path | Streaming | Pagination |
1206
+ |---|---|---|---|---|
1207
+ | create | POST | `/model/v1/systemone` | no | no |
1208
+
947
1209
  ### model.videos
948
1210
 
949
1211
  | Method | HTTP | Path | Streaming | Pagination |
@@ -1079,7 +1341,36 @@ Multipart request bodies expand plain objects into bracketed fields (for example
1079
1341
 
1080
1342
  | Method | HTTP | Path | Streaming | Pagination |
1081
1343
  |---|---|---|---|---|
1344
+ | create | POST | `/sandbox/v1/templates` | no | no |
1345
+ | delete | DELETE | `/sandbox/v1/templates/{templateID}` | no | no |
1082
1346
  | list | GET | `/sandbox/v1/templates` | no | no |
1347
+ | retrieve | GET | `/sandbox/v1/templates/{templateID}` | no | no |
1348
+
1349
+ ### sandbox.templates.aliases
1350
+
1351
+ | Method | HTTP | Path | Streaming | Pagination |
1352
+ |---|---|---|---|---|
1353
+ | retrieve | GET | `/sandbox/v1/templates/aliases/{alias}` | no | no |
1354
+
1355
+ ### sandbox.templates.builds
1356
+
1357
+ | Method | HTTP | Path | Streaming | Pagination |
1358
+ |---|---|---|---|---|
1359
+ | update | POST | `/sandbox/v1/templates/{templateID}/builds/{buildID}` | no | no |
1360
+
1361
+ ### sandbox.templates.builds.status
1362
+
1363
+ | Method | HTTP | Path | Streaming | Pagination |
1364
+ |---|---|---|---|---|
1365
+ | list | GET | `/sandbox/v1/templates/{templateID}/builds/{buildID}/status` | no | no |
1366
+
1367
+ ### sandbox.templates.tags
1368
+
1369
+ | Method | HTTP | Path | Streaming | Pagination |
1370
+ |---|---|---|---|---|
1371
+ | create | POST | `/sandbox/v1/templates/tags` | no | no |
1372
+ | delete | DELETE | `/sandbox/v1/templates/tags` | no | no |
1373
+ | list | GET | `/sandbox/v1/templates/{templateID}/tags` | no | no |
1083
1374
 
1084
1375
  ### sandbox.volumes
1085
1376
 
@@ -1329,10 +1620,33 @@ Multipart request bodies expand plain objects into bracketed fields (for example
1329
1620
  | agent.sessions.events.send | Events submit session input; the product verb is send rather than create. |
1330
1621
  | automation.hooks.send | Delivers a payload to a trigger's secret webhook URL; it sends an event rather than updating a hook resource. |
1331
1622
  | automation.scripts.distTags.set | A dist-tag assigns a version to a name; use npm vocabulary set rather than update. |
1623
+ | automation.scripts.vaults.set | Assign a whole vault to a definition alias, independently of published versions. |
1332
1624
  | automation.scripts.versions.create / publish | Creating a script version publishes it; publish is a product alias of versions.create. |
1333
1625
  | automation.workflows.distTags.set | Workflow dist-tags use the same npm-style assignment vocabulary as script dist-tags. |
1626
+ | automation.workflows.vaults.set | Assign a whole vault to a definition alias, independently of published versions. |
1334
1627
  | automation.workflows.versions.create / publish | Creating a workflow version publishes it; publish is a product alias of versions.create. |
1628
+ | crm.objects.list | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1629
+ | crm.objects.create | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1630
+ | crm.objects.batch.create | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1631
+ | crm.objects.batch.read | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1632
+ | crm.objects.batch.update | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1633
+ | crm.objects.batch.upsert | The terminal batch segment is the requested operation, not another collection; retain its read/create/update/upsert/archive verb. |
1634
+ | crm.objects.search | The terminal search segment queries records without creating a nested search resource. |
1635
+ | crm.objects.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1636
+ | 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. |
1637
+ | 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. |
1638
+ | 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. |
1639
+ | 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. |
1640
+ | crm.pipelines.list | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1641
+ | crm.pipelines.create | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1642
+ | crm.pipelines.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1643
+ | crm.pipelines.stages.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1644
+ | crm.properties.list | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1645
+ | crm.properties.create | CRM objectType selects a collection, not an entity; preserve list/create separately from retrieve/update on an identified resource. |
1646
+ | crm.properties.archive | CRM DELETE archives the resource rather than permanently deleting it; expose the archive product verb. |
1335
1647
  | database.databases.rest.create | The final parameter identifies a table collection; POST inserts rows rather than updating the table. |
1648
+ | file.uploads.createSigned | Signed upload creation returns a one-time local PUT URL; ADR-039 names this operation uploads.createSigned. |
1649
+ | meta.docs.search | Documentation keyword search is an operation on docs, not a nested collection. |
1336
1650
  | sandbox.sandboxes.commands.run | Sandbox data operations use the E2B SDK verb while preserving URL resource nesting. |
1337
1651
  | sandbox.sandboxes.files.remove | Sandbox data operations use the E2B SDK verb while preserving URL resource nesting. |
1338
1652
  | 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();