@relevanceai/sdk 3.0.0-alpha.2 → 3.0.0-alpha.3

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.
Files changed (58) hide show
  1. package/README.md +422 -193
  2. package/esm/agent.d.ts +20 -8
  3. package/esm/agent.js +32 -12
  4. package/esm/client.d.ts +4 -8
  5. package/esm/client.js +11 -12
  6. package/esm/emitter.d.ts +16 -0
  7. package/esm/emitter.js +15 -0
  8. package/{script/events.d.ts → esm/event.d.ts} +10 -13
  9. package/esm/{events.js → event.js} +0 -6
  10. package/esm/message/agent-error.d.ts +6 -0
  11. package/esm/message/agent-error.js +3 -0
  12. package/esm/message/agent.d.ts +9 -0
  13. package/esm/message/agent.js +9 -0
  14. package/esm/message/task.d.ts +42 -0
  15. package/esm/message/task.js +38 -0
  16. package/esm/message/tool.d.ts +108 -0
  17. package/esm/message/tool.js +109 -0
  18. package/esm/message/user.d.ts +20 -0
  19. package/esm/message/user.js +19 -0
  20. package/esm/mod.d.ts +6 -3
  21. package/esm/mod.js +1 -0
  22. package/esm/task.d.ts +50 -18
  23. package/esm/task.js +228 -65
  24. package/esm/utils.d.ts +1 -5
  25. package/esm/utils.js +1 -13
  26. package/package.json +1 -1
  27. package/script/agent.d.ts +20 -8
  28. package/script/agent.js +32 -12
  29. package/script/client.d.ts +4 -8
  30. package/script/client.js +11 -12
  31. package/script/emitter.d.ts +16 -0
  32. package/script/emitter.js +19 -0
  33. package/{esm/events.d.ts → script/event.d.ts} +10 -13
  34. package/script/{events.js → event.js} +1 -8
  35. package/script/message/agent-error.d.ts +6 -0
  36. package/script/message/agent-error.js +7 -0
  37. package/script/message/agent.d.ts +9 -0
  38. package/script/message/agent.js +13 -0
  39. package/script/message/task.d.ts +42 -0
  40. package/script/message/task.js +42 -0
  41. package/script/message/tool.d.ts +108 -0
  42. package/script/message/tool.js +113 -0
  43. package/script/message/user.d.ts +20 -0
  44. package/script/message/user.js +23 -0
  45. package/script/mod.d.ts +6 -3
  46. package/script/mod.js +3 -1
  47. package/script/task.d.ts +50 -18
  48. package/script/task.js +228 -65
  49. package/script/utils.d.ts +1 -5
  50. package/script/utils.js +1 -14
  51. package/esm/agent-task.d.ts +0 -61
  52. package/esm/agent-task.js +0 -112
  53. package/esm/message.d.ts +0 -18
  54. package/esm/message.js +0 -18
  55. package/script/agent-task.d.ts +0 -61
  56. package/script/agent-task.js +0 -116
  57. package/script/message.d.ts +0 -18
  58. package/script/message.js +0 -22
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AgentTask = void 0;
4
- const message_js_1 = require("./message.js");
5
- const task_js_1 = require("./task.js");
6
- /**
7
- * Converts an AgentTaskState to a simplified TaskStatus.
8
- *
9
- * @internal
10
- *
11
- * @param {AgentTaskState} state The agent task state to convert.
12
- * @returns {TaskStatus} The simplified task status.
13
- */
14
- function stateToStatus(state) {
15
- switch (state) {
16
- case "paused":
17
- case "idle":
18
- return "idle";
19
- case "starting-up":
20
- case "waiting-for-capacity":
21
- case "queued-for-approval":
22
- case "queued-for-rerun":
23
- return "queued";
24
- case "running":
25
- return "running";
26
- case "pending-approval":
27
- case "escalated":
28
- return "action";
29
- case "timed-out":
30
- return "error";
31
- case "cancelled":
32
- case "completed":
33
- return "complete";
34
- case "unrecoverable":
35
- case "errored-pending-approval":
36
- return "error";
37
- default:
38
- throw new Error(`unhandled task state: ${state}`);
39
- }
40
- }
41
- /**
42
- * AgentTask represents a conversation task with an AI agent. It extends the
43
- * base Task class with agent-specific functionality for sending messages and
44
- * retrieving conversation history.
45
- *
46
- * @see {@link Task} for the base task functionality.
47
- * @see {@link Agent} for the agent this task is associated with.
48
- *
49
- * @class AgentTask
50
- * @extends Task<Agent, AgentTaskEvents>
51
- */
52
- class AgentTask extends task_js_1.Task {
53
- /**
54
- * Sends a message to the agent. This method triggers the agent with the
55
- * message and updates the task ID if this is the first message.
56
- *
57
- * Note: This method is asynchronous but doesn't return a promise. Use event
58
- * listeners to track the response.
59
- *
60
- * @param {string} message
61
- */
62
- sendMessage(message) {
63
- this.subject.trigger(message, this.id || undefined).then(({ id, state }) => {
64
- // started
65
- if (!this.id) {
66
- this.setId(id, stateToStatus(state));
67
- }
68
- });
69
- }
70
- /**
71
- * Fetches the current status of the task from the API.
72
- *
73
- * @returns {Promise<TaskStatus>} The current task status.
74
- * @throws {Error} if the agent or task ID is missing.
75
- */
76
- async fetchStatus() {
77
- if (!this.subject.id) {
78
- throw new Error("expecting agent id");
79
- }
80
- if (!this.id) {
81
- return "not-started";
82
- }
83
- const url = `/agents/${this.subject.id}/tasks/${this.id}/metadata`;
84
- const res = await this.client.fetch(url);
85
- return stateToStatus(res.metadata.conversation.state);
86
- }
87
- /**
88
- * Fetches messages from the conversation.
89
- *
90
- * @param {Object} [options] Optional fetch options.
91
- * @param {Date} [options.from] Fetch messages after this timestamp.
92
- *
93
- * @returns {Promise<TaskMessage[]>} Array of messages in ascending order.
94
- * @throws {Error} if the agent or task ID is missing.
95
- */
96
- async fetchMessages({ from = new Date(0) } = {}) {
97
- if (!this.subject.id) {
98
- throw new Error("expecting agent id");
99
- }
100
- if (!this.id) {
101
- throw new Error("expecting task id");
102
- }
103
- const url = `/agents/${this.subject.id}/tasks/${this.id}/view`;
104
- const res = await this.client.fetch(url, {
105
- method: "POST",
106
- body: JSON.stringify({
107
- cursor: {
108
- after: from.toISOString(),
109
- },
110
- }),
111
- });
112
- // message should be in ascending order
113
- return res.results.reverse().map((data) => new message_js_1.TaskMessage(data));
114
- }
115
- }
116
- exports.AgentTask = AgentTask;
@@ -1,18 +0,0 @@
1
- type TaskMessageType = "user-message" | "agent-message" | "tool-run" | "agent-error";
2
- export type MessageData = {
3
- item_id: string;
4
- insert_date_: string;
5
- content: {
6
- type: TaskMessageType;
7
- text: string;
8
- };
9
- };
10
- export declare class TaskMessage<T extends TaskMessageType = TaskMessageType> {
11
- #private;
12
- constructor(data: MessageData);
13
- get id(): string;
14
- get type(): T;
15
- get createdAt(): Date;
16
- get text(): string;
17
- }
18
- export {};
package/script/message.js DELETED
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskMessage = void 0;
4
- class TaskMessage {
5
- #data;
6
- constructor(data) {
7
- this.#data = data;
8
- }
9
- get id() {
10
- return this.#data.item_id;
11
- }
12
- get type() {
13
- return this.#data.content.type;
14
- }
15
- get createdAt() {
16
- return new Date(this.#data.insert_date_);
17
- }
18
- get text() {
19
- return this.#data.content.text;
20
- }
21
- }
22
- exports.TaskMessage = TaskMessage;