@everruns/sdk 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -14,7 +14,9 @@ export class Everruns {
14
14
  messages;
15
15
  events;
16
16
  capabilities;
17
- sessionFiles;
17
+ workspaces;
18
+ workspaceFiles;
19
+ memories;
18
20
  connections;
19
21
  budgets;
20
22
  constructor(options = {}) {
@@ -32,7 +34,7 @@ export class Everruns {
32
34
  // Example: "http://host/api/" + "/v1/agents" = "http://host/api//v1/agents" (wrong)
33
35
  // "http://host/api" + "/v1/agents" = "http://host/api/v1/agents" (correct)
34
36
  const rawBaseUrl = options.baseUrl ?? "https://custom.example.com/api";
35
- this.baseUrl = rawBaseUrl.replace(/\/+$/, "");
37
+ this.baseUrl = trimTrailingSlashes(rawBaseUrl);
36
38
  const orgId = options.orgId !== undefined
37
39
  ? options.orgId
38
40
  : process.env.EVERRUNS_ORG_ID || undefined;
@@ -42,7 +44,9 @@ export class Everruns {
42
44
  this.messages = new MessagesClient(this);
43
45
  this.events = new EventsClient(this);
44
46
  this.capabilities = new CapabilitiesClient(this);
45
- this.sessionFiles = new SessionFilesClient(this);
47
+ this.workspaces = new WorkspacesClient(this);
48
+ this.workspaceFiles = new WorkspaceFilesClient(this);
49
+ this.memories = new MemoriesClient(this);
46
50
  this.connections = new ConnectionsClient(this);
47
51
  this.budgets = new BudgetsClient(this);
48
52
  }
@@ -157,6 +161,13 @@ function validateOrgId(orgId) {
157
161
  }
158
162
  return orgId;
159
163
  }
164
+ function trimTrailingSlashes(value) {
165
+ let end = value.length;
166
+ while (end > 0 && value.charCodeAt(end - 1) === 47) {
167
+ end -= 1;
168
+ }
169
+ return value.slice(0, end);
170
+ }
160
171
  class AgentsClient {
161
172
  client;
162
173
  constructor(client) {
@@ -205,6 +216,20 @@ class AgentsClient {
205
216
  async stats(agentId) {
206
217
  return this.client.fetch(`/agents/${agentId}/stats`);
207
218
  }
219
+ /** List recent behavioral health check runs for an agent. */
220
+ async listHealthChecks(agentId) {
221
+ return this.client.fetch(`/agents/${agentId}/health-checks`);
222
+ }
223
+ /** Trigger a behavioral health check for an agent. */
224
+ async triggerHealthCheck(agentId) {
225
+ return this.client.fetch(`/agents/${agentId}/health-checks`, {
226
+ method: "POST",
227
+ });
228
+ }
229
+ /** Get a single health check run for an agent. */
230
+ async getHealthCheck(agentId, runId) {
231
+ return this.client.fetch(`/agents/${agentId}/health-checks/${runId}`);
232
+ }
208
233
  /** List saved versions for an agent. */
209
234
  async listVersions(agentId) {
210
235
  return this.client.fetch(`/agents/${agentId}/versions`);
@@ -278,6 +303,18 @@ class AgentsClient {
278
303
  async export(agentId) {
279
304
  return this.client.fetchText(`/agents/${agentId}/export`);
280
305
  }
306
+ /** Run advisory checks against an agent shape. */
307
+ async analyze(request) {
308
+ return this.client.fetch("/agents/analyze", {
309
+ method: "POST",
310
+ body: JSON.stringify({
311
+ system_prompt: request.systemPrompt,
312
+ capabilities: request.capabilities ?? [],
313
+ tools: request.tools ?? [],
314
+ mcpServers: request.mcpServers,
315
+ }),
316
+ });
317
+ }
281
318
  }
282
319
  class SessionsClient {
283
320
  client;
@@ -484,9 +521,36 @@ class EventsClient {
484
521
  params.set("limit", String(options.limit));
485
522
  if (options?.beforeSequence != null)
486
523
  params.set("before_sequence", String(options.beforeSequence));
524
+ if (options?.afterSequence != null)
525
+ params.set("after_sequence", String(options.afterSequence));
526
+ if (options?.around)
527
+ params.set("around", options.around);
528
+ if (options?.window != null)
529
+ params.set("window", String(options.window));
530
+ if (options?.fromTs)
531
+ params.set("from_ts", options.fromTs);
532
+ if (options?.toTs)
533
+ params.set("to_ts", options.toTs);
534
+ if (options?.turnId)
535
+ params.set("turn_id", options.turnId);
536
+ if (options?.execId)
537
+ params.set("exec_id", options.execId);
538
+ if (options?.traceId)
539
+ params.set("trace_id", options.traceId);
540
+ if (options?.tags) {
541
+ for (const tag of options.tags) {
542
+ params.append("tags", tag);
543
+ }
544
+ }
545
+ if (options?.toolName)
546
+ params.set("tool_name", options.toolName);
547
+ if (options?.q)
548
+ params.set("q", options.q);
549
+ if (options?.orderDesc !== undefined)
550
+ params.set("order_desc", String(options.orderDesc));
487
551
  const query = params.toString() ? `?${params}` : "";
488
552
  const response = await this.client.fetch(`/sessions/${sessionId}/events${query}`);
489
- return response.events;
553
+ return response.data;
490
554
  }
491
555
  /**
492
556
  * Stream events from a session via SSE with automatic reconnection.
@@ -541,17 +605,73 @@ class CapabilitiesClient {
541
605
  async get(capabilityId) {
542
606
  return this.client.fetch(`/capabilities/${capabilityId}`);
543
607
  }
608
+ /** List adoptable guardrail presets. */
609
+ async listGuardrailExamples() {
610
+ return this.client.fetch("/capabilities/guardrails/examples");
611
+ }
612
+ /** Evaluate a guardrails config against sample content. */
613
+ async dryRunGuardrails(request) {
614
+ return this.client.fetch("/capabilities/guardrails/dry-run", {
615
+ method: "POST",
616
+ body: JSON.stringify({
617
+ config: request.config,
618
+ stage: request.stage,
619
+ text: request.text,
620
+ tool_name: request.toolName,
621
+ }),
622
+ });
623
+ }
544
624
  }
545
- class SessionFilesClient {
625
+ class WorkspacesClient {
626
+ client;
627
+ constructor(client) {
628
+ this.client = client;
629
+ }
630
+ /** List workspaces. */
631
+ async list(options) {
632
+ const params = new URLSearchParams();
633
+ if (options?.search)
634
+ params.set("search", options.search);
635
+ if (options?.includeArchived != null) {
636
+ params.set("include_archived", String(options.includeArchived));
637
+ }
638
+ const query = params.toString() ? `?${params}` : "";
639
+ const response = await this.client.fetch(`/workspaces${query}`);
640
+ return response.data;
641
+ }
642
+ /** Create a workspace. */
643
+ async create(request) {
644
+ return this.client.fetch("/workspaces", {
645
+ method: "POST",
646
+ body: JSON.stringify(request),
647
+ });
648
+ }
649
+ /** Get a workspace by ID. */
650
+ async get(workspaceId) {
651
+ return this.client.fetch(`/workspaces/${workspaceId}`);
652
+ }
653
+ /** Update a workspace. */
654
+ async update(workspaceId, request) {
655
+ return this.client.fetch(`/workspaces/${workspaceId}`, {
656
+ method: "PATCH",
657
+ body: JSON.stringify(request),
658
+ });
659
+ }
660
+ /** Archive a workspace. */
661
+ async delete(workspaceId) {
662
+ await this.client.fetch(`/workspaces/${workspaceId}`, { method: "DELETE" });
663
+ }
664
+ }
665
+ class WorkspaceFilesClient {
546
666
  client;
547
667
  constructor(client) {
548
668
  this.client = client;
549
669
  }
550
670
  /** List files in a directory. */
551
- async list(sessionId, options) {
671
+ async list(workspaceId, options) {
552
672
  const fsPath = options?.path
553
- ? `/sessions/${sessionId}/fs/${options.path.replace(/^\//, "")}`
554
- : `/sessions/${sessionId}/fs`;
673
+ ? `/workspaces/${workspaceId}/fs/${options.path.replace(/^\//, "")}`
674
+ : `/workspaces/${workspaceId}/fs`;
555
675
  const params = new URLSearchParams();
556
676
  if (options?.recursive)
557
677
  params.set("recursive", "true");
@@ -565,64 +685,167 @@ class SessionFilesClient {
565
685
  };
566
686
  }
567
687
  /** Read a file's content. */
568
- async read(sessionId, path) {
569
- return this.client.fetch(`/sessions/${sessionId}/fs/${path.replace(/^\//, "")}`);
688
+ async read(workspaceId, path) {
689
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/${path.replace(/^\//, "")}`);
570
690
  }
571
691
  /** Create a file. */
572
- async create(sessionId, path, content, options) {
692
+ async create(workspaceId, path, content, options) {
573
693
  const body = { content };
574
694
  if (options?.encoding)
575
695
  body.encoding = options.encoding;
576
696
  if (options?.isReadonly != null)
577
697
  body.is_readonly = options.isReadonly;
578
- return this.client.fetch(`/sessions/${sessionId}/fs/${path.replace(/^\//, "")}`, { method: "POST", body: JSON.stringify(body) });
698
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/${path.replace(/^\//, "")}`, { method: "POST", body: JSON.stringify(body) });
579
699
  }
580
700
  /** Create a directory. */
581
- async createDir(sessionId, path) {
582
- return this.client.fetch(`/sessions/${sessionId}/fs/${path.replace(/^\//, "")}`, { method: "POST", body: JSON.stringify({ is_directory: true }) });
701
+ async createDir(workspaceId, path) {
702
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/${path.replace(/^\//, "")}`, { method: "POST", body: JSON.stringify({ is_directory: true }) });
583
703
  }
584
704
  /** Update a file's content. */
585
- async update(sessionId, path, content, options) {
705
+ async update(workspaceId, path, content, options) {
586
706
  const body = { content };
587
707
  if (options?.encoding)
588
708
  body.encoding = options.encoding;
589
709
  if (options?.isReadonly != null)
590
710
  body.is_readonly = options.isReadonly;
591
- return this.client.fetch(`/sessions/${sessionId}/fs/${path.replace(/^\//, "")}`, { method: "PUT", body: JSON.stringify(body) });
711
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/${path.replace(/^\//, "")}`, { method: "PUT", body: JSON.stringify(body) });
592
712
  }
593
713
  /** Delete a file or directory. */
594
- async delete(sessionId, path, options) {
714
+ async delete(workspaceId, path, options) {
595
715
  const params = new URLSearchParams();
596
716
  if (options?.recursive)
597
717
  params.set("recursive", "true");
598
718
  const query = params.toString() ? `?${params}` : "";
599
- return this.client.fetch(`/sessions/${sessionId}/fs/${path.replace(/^\//, "")}${query}`, { method: "DELETE" });
719
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/${path.replace(/^\//, "")}${query}`, { method: "DELETE" });
600
720
  }
601
721
  /** Move/rename a file. */
602
- async moveFile(sessionId, srcPath, dstPath) {
603
- return this.client.fetch(`/sessions/${sessionId}/fs/_/move`, {
722
+ async moveFile(workspaceId, srcPath, dstPath) {
723
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/_/move`, {
604
724
  method: "POST",
605
725
  body: JSON.stringify({ src_path: srcPath, dst_path: dstPath }),
606
726
  });
607
727
  }
608
728
  /** Copy a file. */
609
- async copyFile(sessionId, srcPath, dstPath) {
610
- return this.client.fetch(`/sessions/${sessionId}/fs/_/copy`, {
729
+ async copyFile(workspaceId, srcPath, dstPath) {
730
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/_/copy`, {
611
731
  method: "POST",
612
732
  body: JSON.stringify({ src_path: srcPath, dst_path: dstPath }),
613
733
  });
614
734
  }
615
735
  /** Search files with regex. */
616
- async grep(sessionId, pattern, options) {
736
+ async grep(workspaceId, pattern, options) {
617
737
  const body = { pattern };
618
738
  if (options?.pathPattern)
619
739
  body.path_pattern = options.pathPattern;
620
- const response = await this.client.fetch(`/sessions/${sessionId}/fs/_/grep`, { method: "POST", body: JSON.stringify(body) });
740
+ const response = await this.client.fetch(`/workspaces/${workspaceId}/fs/_/grep`, { method: "POST", body: JSON.stringify(body) });
621
741
  return response.data;
622
742
  }
623
743
  /** Get file or directory stat. */
624
- async stat(sessionId, path) {
625
- return this.client.fetch(`/sessions/${sessionId}/fs/_/stat`, {
744
+ async stat(workspaceId, path) {
745
+ return this.client.fetch(`/workspaces/${workspaceId}/fs/_/stat`, {
746
+ method: "POST",
747
+ body: JSON.stringify({ path }),
748
+ });
749
+ }
750
+ }
751
+ class MemoriesClient {
752
+ client;
753
+ constructor(client) {
754
+ this.client = client;
755
+ }
756
+ /** List memories. */
757
+ async list(options) {
758
+ const params = new URLSearchParams();
759
+ if (options?.search)
760
+ params.set("search", options.search);
761
+ if (options?.includeArchived != null) {
762
+ params.set("include_archived", String(options.includeArchived));
763
+ }
764
+ const query = params.toString() ? `?${params}` : "";
765
+ const response = await this.client.fetch(`/memories${query}`);
766
+ return response.data;
767
+ }
768
+ /** Create a memory. */
769
+ async create(request) {
770
+ return this.client.fetch("/memories", {
771
+ method: "POST",
772
+ body: JSON.stringify(request),
773
+ });
774
+ }
775
+ /** Get a memory by ID. */
776
+ async get(memoryId) {
777
+ return this.client.fetch(`/memories/${memoryId}`);
778
+ }
779
+ /** Update a memory. */
780
+ async update(memoryId, request) {
781
+ return this.client.fetch(`/memories/${memoryId}`, {
782
+ method: "PATCH",
783
+ body: JSON.stringify(request),
784
+ });
785
+ }
786
+ /** Archive a memory. */
787
+ async delete(memoryId) {
788
+ await this.client.fetch(`/memories/${memoryId}`, { method: "DELETE" });
789
+ }
790
+ /** Trigger memory sync now. */
791
+ async sync(memoryId) {
792
+ return this.client.fetch(`/memories/${memoryId}/sync`, {
793
+ method: "POST",
794
+ });
795
+ }
796
+ /** List memory files at the root. */
797
+ async listFiles(memoryId) {
798
+ const response = await this.client.fetch(`/memories/${memoryId}/fs`);
799
+ return response.data;
800
+ }
801
+ /** Read a memory file. */
802
+ async readFile(memoryId, path) {
803
+ return this.client.fetch(`/memories/${memoryId}/fs/${path.replace(/^\//, "")}`);
804
+ }
805
+ /** Download a memory file as text. */
806
+ async downloadFile(memoryId, path) {
807
+ return this.client.fetchText(`/memories/${memoryId}/fs/_/download/${path.replace(/^\//, "")}`);
808
+ }
809
+ /** Create a memory file. */
810
+ async createFile(memoryId, path, request) {
811
+ return this.client.fetch(`/memories/${memoryId}/fs/${path.replace(/^\//, "")}`, {
812
+ method: "POST",
813
+ body: JSON.stringify({
814
+ content: request.content,
815
+ encoding: request.encoding,
816
+ is_directory: request.isDirectory,
817
+ }),
818
+ });
819
+ }
820
+ /** Create a memory directory. */
821
+ async createDir(memoryId, path) {
822
+ return this.createFile(memoryId, path, { isDirectory: true });
823
+ }
824
+ /** Update a memory file. */
825
+ async updateFile(memoryId, path, request) {
826
+ return this.client.fetch(`/memories/${memoryId}/fs/${path.replace(/^\//, "")}`, {
827
+ method: "PUT",
828
+ body: JSON.stringify({
829
+ content: request.content,
830
+ encoding: request.encoding,
831
+ }),
832
+ });
833
+ }
834
+ /** Delete a memory file or directory. */
835
+ async deleteFile(memoryId, path) {
836
+ await this.client.fetch(`/memories/${memoryId}/fs/${path.replace(/^\//, "")}`, { method: "DELETE" });
837
+ }
838
+ /** Search memory files by regex. */
839
+ async grepFiles(memoryId, pattern, options) {
840
+ const body = { pattern };
841
+ if (options?.pathPattern)
842
+ body.path_pattern = options.pathPattern;
843
+ const response = await this.client.fetch(`/memories/${memoryId}/fs/_/grep`, { method: "POST", body: JSON.stringify(body) });
844
+ return response.data;
845
+ }
846
+ /** Stat a memory file or directory. */
847
+ async statFile(memoryId, path) {
848
+ return this.client.fetch(`/memories/${memoryId}/fs/_/stat`, {
626
849
  method: "POST",
627
850
  body: JSON.stringify({ path }),
628
851
  });
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}