@relevanceai/sdk 3.0.0-rc.1 → 3.0.0-rc.2

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/esm/agent.js CHANGED
@@ -2,6 +2,7 @@ import { Client } from "./client.js";
2
2
  import { randomUUID } from "./utils.js";
3
3
  import { AgentStrategy, } from "./task/agent-strategy.js";
4
4
  import { resetBackoffDuration, Task } from "./task/task.js";
5
+ import { TASK_PREFIX_DELIM } from "./const.js";
5
6
  /**
6
7
  * Converts an AgentTaskState to a simplified TaskStatus.
7
8
  *
@@ -87,7 +88,6 @@ function taskSortOptionsToParam(sort) {
87
88
  }
88
89
  throw new Error("invalid sort option");
89
90
  }
90
- const taskPrefixDelimiter = "_-_";
91
91
  export class Agent {
92
92
  static async get(id, client = Client.default()) {
93
93
  const config = await Agent.#fetchConfig(id, client);
@@ -187,7 +187,7 @@ export class Agent {
187
187
  let taskId;
188
188
  // embed keys require a task prefixing for new tasks
189
189
  if (!task && this.client.isEmbedKey()) {
190
- taskId = [this.client.key.taskPrefix, await randomUUID()].join(taskPrefixDelimiter);
190
+ taskId = [this.client.key.taskPrefix, await randomUUID()].join(TASK_PREFIX_DELIM);
191
191
  }
192
192
  else if (task) {
193
193
  taskId = task.id;
package/esm/const.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const TASK_PREFIX_DELIM = "_-_";
package/esm/const.js ADDED
@@ -0,0 +1 @@
1
+ export const TASK_PREFIX_DELIM = "_-_";
@@ -1,9 +1,14 @@
1
- import { GenericMessage } from "./task.js";
1
+ import type { Agent } from "../agent.js";
2
+ import { GenericMessage, type TaskMessageData } from "./task.js";
2
3
  export interface AgentMessageContent {
3
4
  type: "agent-message";
4
5
  text: string;
6
+ thought_about_tool_calls?: boolean;
5
7
  }
6
8
  export declare class AgentMessage extends GenericMessage<AgentMessageContent> {
9
+ readonly agent?: Agent;
10
+ constructor(message: TaskMessageData<AgentMessageContent>, agent?: Agent);
7
11
  get text(): string;
8
12
  get agentId(): string;
13
+ isThought(): boolean;
9
14
  }
@@ -1,9 +1,17 @@
1
1
  import { GenericMessage } from "./task.js";
2
2
  export class AgentMessage extends GenericMessage {
3
+ agent;
4
+ constructor(message, agent) {
5
+ super(message);
6
+ this.agent = agent;
7
+ }
3
8
  get text() {
4
9
  return this.message.content.text;
5
10
  }
6
11
  get agentId() {
7
- return "";
12
+ return this.agent?.id ?? "";
13
+ }
14
+ isThought() {
15
+ return this.message.content.thought_about_tool_calls ?? false;
8
16
  }
9
17
  }
package/esm/mod.d.ts CHANGED
@@ -4,3 +4,4 @@ export { Key } from "./key.js";
4
4
  export { type Region, REGION_AU, REGION_EU, REGION_US } from "./region.js";
5
5
  export { Workforce } from "./workforce.js";
6
6
  export type { Task } from "./task/task.js";
7
+ export type { AnyTaskMessage } from "./message/task.js";
@@ -50,7 +50,7 @@ export class AgentStrategy {
50
50
  case "agent-error":
51
51
  return new AgentErrorMessage(data);
52
52
  case "agent-message":
53
- return new AgentMessage(data);
53
+ return new AgentMessage(data, this.agent);
54
54
  case "tool-run":
55
55
  return new ToolMessage(data);
56
56
  case "user-message":
package/esm/workforce.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { Client } from "./client.js";
2
+ import { TASK_PREFIX_DELIM } from "./const.js";
2
3
  import { resetBackoffDuration } from "./task/task.js";
3
4
  import { WorkforceStrategy } from "./task/workforce-strategy.js";
5
+ import { randomUUID } from "./utils.js";
4
6
  export class Workforce {
5
7
  static async get(id, client = Client.default()) {
6
8
  const config = await client.fetch(`/workforce/items/${id}`);
@@ -28,11 +30,19 @@ export class Workforce {
28
30
  return await WorkforceStrategy.get(id, this, this.client);
29
31
  }
30
32
  async sendMessage(message, task) {
31
- const { workforce_task_id: taskId } = await this.client.fetch("/workforce/trigger", {
33
+ let taskId;
34
+ // embed keys require a task prefixing for new tasks
35
+ if (!task && this.client.isEmbedKey()) {
36
+ taskId = [this.client.key.taskPrefix, await randomUUID()].join(TASK_PREFIX_DELIM);
37
+ }
38
+ else if (task) {
39
+ taskId = task.id;
40
+ }
41
+ const { workforce_task_id: taskIdResponse } = await this.client.fetch("/workforce/trigger", {
32
42
  method: "POST",
33
43
  body: JSON.stringify({
34
44
  workforce_id: this.id,
35
- workforce_task_id: task?.id,
45
+ workforce_task_id: taskId,
36
46
  trigger: {
37
47
  message: {
38
48
  role: "user",
@@ -45,6 +55,6 @@ export class Workforce {
45
55
  if (task) {
46
56
  task[resetBackoffDuration]();
47
57
  }
48
- return task ?? this.getTask(taskId);
58
+ return task ?? this.getTask(taskIdResponse);
49
59
  }
50
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relevanceai/sdk",
3
- "version": "3.0.0-rc.1",
3
+ "version": "3.0.0-rc.2",
4
4
  "license": "MIT",
5
5
  "main": "./script/mod.js",
6
6
  "module": "./esm/mod.js",
package/script/agent.js CHANGED
@@ -6,6 +6,7 @@ const client_js_1 = require("./client.js");
6
6
  const utils_js_1 = require("./utils.js");
7
7
  const agent_strategy_js_1 = require("./task/agent-strategy.js");
8
8
  const task_js_1 = require("./task/task.js");
9
+ const const_js_1 = require("./const.js");
9
10
  /**
10
11
  * Converts an AgentTaskState to a simplified TaskStatus.
11
12
  *
@@ -91,7 +92,6 @@ function taskSortOptionsToParam(sort) {
91
92
  }
92
93
  throw new Error("invalid sort option");
93
94
  }
94
- const taskPrefixDelimiter = "_-_";
95
95
  class Agent {
96
96
  static async get(id, client = client_js_1.Client.default()) {
97
97
  const config = await Agent.#fetchConfig(id, client);
@@ -191,7 +191,7 @@ class Agent {
191
191
  let taskId;
192
192
  // embed keys require a task prefixing for new tasks
193
193
  if (!task && this.client.isEmbedKey()) {
194
- taskId = [this.client.key.taskPrefix, await (0, utils_js_1.randomUUID)()].join(taskPrefixDelimiter);
194
+ taskId = [this.client.key.taskPrefix, await (0, utils_js_1.randomUUID)()].join(const_js_1.TASK_PREFIX_DELIM);
195
195
  }
196
196
  else if (task) {
197
197
  taskId = task.id;
@@ -0,0 +1 @@
1
+ export declare const TASK_PREFIX_DELIM = "_-_";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TASK_PREFIX_DELIM = void 0;
4
+ exports.TASK_PREFIX_DELIM = "_-_";
@@ -1,9 +1,14 @@
1
- import { GenericMessage } from "./task.js";
1
+ import type { Agent } from "../agent.js";
2
+ import { GenericMessage, type TaskMessageData } from "./task.js";
2
3
  export interface AgentMessageContent {
3
4
  type: "agent-message";
4
5
  text: string;
6
+ thought_about_tool_calls?: boolean;
5
7
  }
6
8
  export declare class AgentMessage extends GenericMessage<AgentMessageContent> {
9
+ readonly agent?: Agent;
10
+ constructor(message: TaskMessageData<AgentMessageContent>, agent?: Agent);
7
11
  get text(): string;
8
12
  get agentId(): string;
13
+ isThought(): boolean;
9
14
  }
@@ -3,11 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AgentMessage = void 0;
4
4
  const task_js_1 = require("./task.js");
5
5
  class AgentMessage extends task_js_1.GenericMessage {
6
+ agent;
7
+ constructor(message, agent) {
8
+ super(message);
9
+ this.agent = agent;
10
+ }
6
11
  get text() {
7
12
  return this.message.content.text;
8
13
  }
9
14
  get agentId() {
10
- return "";
15
+ return this.agent?.id ?? "";
16
+ }
17
+ isThought() {
18
+ return this.message.content.thought_about_tool_calls ?? false;
11
19
  }
12
20
  }
13
21
  exports.AgentMessage = AgentMessage;
package/script/mod.d.ts CHANGED
@@ -4,3 +4,4 @@ export { Key } from "./key.js";
4
4
  export { type Region, REGION_AU, REGION_EU, REGION_US } from "./region.js";
5
5
  export { Workforce } from "./workforce.js";
6
6
  export type { Task } from "./task/task.js";
7
+ export type { AnyTaskMessage } from "./message/task.js";
@@ -53,7 +53,7 @@ class AgentStrategy {
53
53
  case "agent-error":
54
54
  return new agent_error_js_1.AgentErrorMessage(data);
55
55
  case "agent-message":
56
- return new agent_js_2.AgentMessage(data);
56
+ return new agent_js_2.AgentMessage(data, this.agent);
57
57
  case "tool-run":
58
58
  return new tool_js_1.ToolMessage(data);
59
59
  case "user-message":
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Workforce = void 0;
4
4
  const client_js_1 = require("./client.js");
5
+ const const_js_1 = require("./const.js");
5
6
  const task_js_1 = require("./task/task.js");
6
7
  const workforce_strategy_js_1 = require("./task/workforce-strategy.js");
8
+ const utils_js_1 = require("./utils.js");
7
9
  class Workforce {
8
10
  static async get(id, client = client_js_1.Client.default()) {
9
11
  const config = await client.fetch(`/workforce/items/${id}`);
@@ -31,11 +33,19 @@ class Workforce {
31
33
  return await workforce_strategy_js_1.WorkforceStrategy.get(id, this, this.client);
32
34
  }
33
35
  async sendMessage(message, task) {
34
- const { workforce_task_id: taskId } = await this.client.fetch("/workforce/trigger", {
36
+ let taskId;
37
+ // embed keys require a task prefixing for new tasks
38
+ if (!task && this.client.isEmbedKey()) {
39
+ taskId = [this.client.key.taskPrefix, await (0, utils_js_1.randomUUID)()].join(const_js_1.TASK_PREFIX_DELIM);
40
+ }
41
+ else if (task) {
42
+ taskId = task.id;
43
+ }
44
+ const { workforce_task_id: taskIdResponse } = await this.client.fetch("/workforce/trigger", {
35
45
  method: "POST",
36
46
  body: JSON.stringify({
37
47
  workforce_id: this.id,
38
- workforce_task_id: task?.id,
48
+ workforce_task_id: taskId,
39
49
  trigger: {
40
50
  message: {
41
51
  role: "user",
@@ -48,7 +58,7 @@ class Workforce {
48
58
  if (task) {
49
59
  task[task_js_1.resetBackoffDuration]();
50
60
  }
51
- return task ?? this.getTask(taskId);
61
+ return task ?? this.getTask(taskIdResponse);
52
62
  }
53
63
  }
54
64
  exports.Workforce = Workforce;