@agentuity/core 1.0.22 → 1.0.24

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/services/schedule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { FetchAdapter } from './adapter.ts';
2
+ export type TaskPriority = 'high' | 'medium' | 'low' | 'none';
3
+ export type TaskType = 'epic' | 'feature' | 'enhancement' | 'bug' | 'task';
4
+ export type TaskStatus = 'open' | 'in_progress' | 'closed';
5
+ export interface Task {
6
+ id: string;
7
+ created_at: string;
8
+ updated_at: string;
9
+ title: string;
10
+ description?: string;
11
+ metadata?: Record<string, unknown>;
12
+ priority: TaskPriority;
13
+ parent_id?: string;
14
+ type: TaskType;
15
+ status: TaskStatus;
16
+ open_date?: string;
17
+ in_progress_date?: string;
18
+ closed_date?: string;
19
+ created_id: string;
20
+ assigned_id?: string;
21
+ closed_id?: string;
22
+ }
23
+ export interface TaskChangelogEntry {
24
+ id: string;
25
+ created_at: string;
26
+ task_id: string;
27
+ field: string;
28
+ old_value?: string;
29
+ new_value?: string;
30
+ }
31
+ export interface CreateTaskParams {
32
+ title: string;
33
+ description?: string;
34
+ metadata?: Record<string, unknown>;
35
+ priority?: TaskPriority;
36
+ parent_id?: string;
37
+ type: TaskType;
38
+ status?: TaskStatus;
39
+ created_id: string;
40
+ assigned_id?: string;
41
+ }
42
+ export interface UpdateTaskParams {
43
+ title?: string;
44
+ description?: string;
45
+ metadata?: Record<string, unknown>;
46
+ priority?: TaskPriority;
47
+ parent_id?: string;
48
+ type?: TaskType;
49
+ status?: TaskStatus;
50
+ assigned_id?: string;
51
+ closed_id?: string;
52
+ }
53
+ export interface ListTasksParams {
54
+ status?: TaskStatus;
55
+ type?: TaskType;
56
+ priority?: TaskPriority;
57
+ assigned_id?: string;
58
+ parent_id?: string;
59
+ sort?: string;
60
+ order?: 'asc' | 'desc';
61
+ limit?: number;
62
+ offset?: number;
63
+ }
64
+ export interface ListTasksResult {
65
+ tasks: Task[];
66
+ total: number;
67
+ limit: number;
68
+ offset: number;
69
+ }
70
+ export interface TaskChangelogResult {
71
+ changelog: TaskChangelogEntry[];
72
+ total: number;
73
+ limit: number;
74
+ offset: number;
75
+ }
76
+ export interface TaskStorage {
77
+ create(params: CreateTaskParams): Promise<Task>;
78
+ get(id: string): Promise<Task | null>;
79
+ list(params?: ListTasksParams): Promise<ListTasksResult>;
80
+ update(id: string, params: UpdateTaskParams): Promise<Task>;
81
+ close(id: string): Promise<Task>;
82
+ changelog(id: string, params?: {
83
+ limit?: number;
84
+ offset?: number;
85
+ }): Promise<TaskChangelogResult>;
86
+ }
87
+ export declare class TaskStorageService implements TaskStorage {
88
+ #private;
89
+ constructor(baseUrl: string, adapter: FetchAdapter);
90
+ create(params: CreateTaskParams): Promise<Task>;
91
+ get(id: string): Promise<Task | null>;
92
+ list(params?: ListTasksParams): Promise<ListTasksResult>;
93
+ update(id: string, params: UpdateTaskParams): Promise<Task>;
94
+ close(id: string): Promise<Task>;
95
+ changelog(id: string, params?: {
96
+ limit?: number;
97
+ offset?: number;
98
+ }): Promise<TaskChangelogResult>;
99
+ }
100
+ //# sourceMappingURL=task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM5C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAG3D,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,SAAS,CACR,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAChC;AA8BD,qBAAa,kBAAmB,YAAW,WAAW;;gBAIzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAK5C,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC/C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAkCrC,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA6CxD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC3D,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BhC,SAAS,CACd,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,mBAAmB,CAAC;CAuC/B"}
@@ -0,0 +1,208 @@
1
+ import { buildUrl, toServiceException } from "./_util.js";
2
+ import { StructuredError } from "../error.js";
3
+ import { safeStringify } from "../json.js";
4
+ const TASK_API_VERSION = '2026-02-24';
5
+ const TaskIdRequiredError = StructuredError('TaskIdRequiredError', 'Task ID is required and must be a non-empty string');
6
+ const TaskTitleRequiredError = StructuredError('TaskTitleRequiredError', 'Task title is required and must be a non-empty string');
7
+ const TaskStorageResponseError = StructuredError('TaskStorageResponseError')();
8
+ export class TaskStorageService {
9
+ #adapter;
10
+ #baseUrl;
11
+ constructor(baseUrl, adapter) {
12
+ this.#adapter = adapter;
13
+ this.#baseUrl = baseUrl;
14
+ }
15
+ async create(params) {
16
+ if (!params?.title || typeof params.title !== 'string' || params.title.trim().length === 0) {
17
+ throw new TaskTitleRequiredError();
18
+ }
19
+ const url = buildUrl(this.#baseUrl, `/task/${TASK_API_VERSION}`);
20
+ const signal = AbortSignal.timeout(30_000);
21
+ const res = await this.#adapter.invoke(url, {
22
+ method: 'POST',
23
+ body: safeStringify(params),
24
+ contentType: 'application/json',
25
+ signal,
26
+ telemetry: {
27
+ name: 'agentuity.task.create',
28
+ attributes: {
29
+ type: params.type,
30
+ priority: params.priority ?? 'none',
31
+ status: params.status ?? 'open',
32
+ },
33
+ },
34
+ });
35
+ if (res.ok) {
36
+ if (res.data.success) {
37
+ return res.data.data;
38
+ }
39
+ throw new TaskStorageResponseError({
40
+ status: res.response.status,
41
+ message: res.data.message,
42
+ });
43
+ }
44
+ throw await toServiceException('POST', url, res.response);
45
+ }
46
+ async get(id) {
47
+ if (!id || typeof id !== 'string' || id.trim().length === 0) {
48
+ throw new TaskIdRequiredError();
49
+ }
50
+ const url = buildUrl(this.#baseUrl, `/task/${TASK_API_VERSION}/${encodeURIComponent(id)}`);
51
+ const signal = AbortSignal.timeout(30_000);
52
+ const res = await this.#adapter.invoke(url, {
53
+ method: 'GET',
54
+ signal,
55
+ telemetry: {
56
+ name: 'agentuity.task.get',
57
+ attributes: { id },
58
+ },
59
+ });
60
+ if (res.response.status === 404) {
61
+ return null;
62
+ }
63
+ if (res.ok) {
64
+ if (res.data.success) {
65
+ return res.data.data;
66
+ }
67
+ throw new TaskStorageResponseError({
68
+ status: res.response.status,
69
+ message: res.data.message,
70
+ });
71
+ }
72
+ throw await toServiceException('GET', url, res.response);
73
+ }
74
+ async list(params) {
75
+ const queryParams = new URLSearchParams();
76
+ if (params?.status)
77
+ queryParams.set('status', params.status);
78
+ if (params?.type)
79
+ queryParams.set('type', params.type);
80
+ if (params?.priority)
81
+ queryParams.set('priority', params.priority);
82
+ if (params?.assigned_id)
83
+ queryParams.set('assigned_id', params.assigned_id);
84
+ if (params?.parent_id)
85
+ queryParams.set('parent_id', params.parent_id);
86
+ if (params?.sort)
87
+ queryParams.set('sort', params.sort);
88
+ if (params?.order)
89
+ queryParams.set('order', params.order);
90
+ if (params?.limit !== undefined)
91
+ queryParams.set('limit', String(params.limit));
92
+ if (params?.offset !== undefined)
93
+ queryParams.set('offset', String(params.offset));
94
+ const queryString = queryParams.toString();
95
+ const url = buildUrl(this.#baseUrl, `/task/${TASK_API_VERSION}${queryString ? `?${queryString}` : ''}`);
96
+ const signal = AbortSignal.timeout(30_000);
97
+ const res = await this.#adapter.invoke(url, {
98
+ method: 'GET',
99
+ signal,
100
+ telemetry: {
101
+ name: 'agentuity.task.list',
102
+ attributes: {
103
+ ...(params?.status ? { status: params.status } : {}),
104
+ ...(params?.type ? { type: params.type } : {}),
105
+ ...(params?.priority ? { priority: params.priority } : {}),
106
+ },
107
+ },
108
+ });
109
+ if (res.ok) {
110
+ if (res.data.success) {
111
+ return res.data.data;
112
+ }
113
+ throw new TaskStorageResponseError({
114
+ status: res.response.status,
115
+ message: res.data.message,
116
+ });
117
+ }
118
+ throw await toServiceException('GET', url, res.response);
119
+ }
120
+ async update(id, params) {
121
+ if (!id || typeof id !== 'string' || id.trim().length === 0) {
122
+ throw new TaskIdRequiredError();
123
+ }
124
+ if (params.title !== undefined &&
125
+ (typeof params.title !== 'string' || params.title.trim().length === 0)) {
126
+ throw new TaskTitleRequiredError();
127
+ }
128
+ const url = buildUrl(this.#baseUrl, `/task/${TASK_API_VERSION}/${encodeURIComponent(id)}`);
129
+ const signal = AbortSignal.timeout(30_000);
130
+ const res = await this.#adapter.invoke(url, {
131
+ method: 'PATCH',
132
+ body: safeStringify(params),
133
+ contentType: 'application/json',
134
+ signal,
135
+ telemetry: {
136
+ name: 'agentuity.task.update',
137
+ attributes: { id },
138
+ },
139
+ });
140
+ if (res.ok) {
141
+ if (res.data.success) {
142
+ return res.data.data;
143
+ }
144
+ throw new TaskStorageResponseError({
145
+ status: res.response.status,
146
+ message: res.data.message,
147
+ });
148
+ }
149
+ throw await toServiceException('PATCH', url, res.response);
150
+ }
151
+ async close(id) {
152
+ if (!id || typeof id !== 'string' || id.trim().length === 0) {
153
+ throw new TaskIdRequiredError();
154
+ }
155
+ const url = buildUrl(this.#baseUrl, `/task/${TASK_API_VERSION}/${encodeURIComponent(id)}`);
156
+ const signal = AbortSignal.timeout(30_000);
157
+ const res = await this.#adapter.invoke(url, {
158
+ method: 'DELETE',
159
+ signal,
160
+ telemetry: {
161
+ name: 'agentuity.task.close',
162
+ attributes: { id },
163
+ },
164
+ });
165
+ if (res.ok) {
166
+ if (res.data.success) {
167
+ return res.data.data;
168
+ }
169
+ throw new TaskStorageResponseError({
170
+ status: res.response.status,
171
+ message: res.data.message,
172
+ });
173
+ }
174
+ throw await toServiceException('DELETE', url, res.response);
175
+ }
176
+ async changelog(id, params) {
177
+ if (!id || typeof id !== 'string' || id.trim().length === 0) {
178
+ throw new TaskIdRequiredError();
179
+ }
180
+ const queryParams = new URLSearchParams();
181
+ if (params?.limit !== undefined)
182
+ queryParams.set('limit', String(params.limit));
183
+ if (params?.offset !== undefined)
184
+ queryParams.set('offset', String(params.offset));
185
+ const queryString = queryParams.toString();
186
+ const url = buildUrl(this.#baseUrl, `/task-changelog/${TASK_API_VERSION}/${encodeURIComponent(id)}${queryString ? `?${queryString}` : ''}`);
187
+ const signal = AbortSignal.timeout(30_000);
188
+ const res = await this.#adapter.invoke(url, {
189
+ method: 'GET',
190
+ signal,
191
+ telemetry: {
192
+ name: 'agentuity.task.changelog',
193
+ attributes: { id },
194
+ },
195
+ });
196
+ if (res.ok) {
197
+ if (res.data.success) {
198
+ return res.data.data;
199
+ }
200
+ throw new TaskStorageResponseError({
201
+ status: res.response.status,
202
+ message: res.data.message,
203
+ });
204
+ }
205
+ throw await toServiceException('GET', url, res.response);
206
+ }
207
+ }
208
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/core",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "zod": "^4.3.5"
38
38
  },
39
39
  "devDependencies": {
40
- "@agentuity/test-utils": "1.0.22",
40
+ "@agentuity/test-utils": "1.0.24",
41
41
  "@types/bun": "latest",
42
42
  "bun-types": "latest",
43
43
  "esbuild": "^0.25.0",
package/src/index.ts CHANGED
@@ -97,6 +97,43 @@ export {
97
97
  QueueNotFoundError,
98
98
  QueueValidationError,
99
99
  } from './services/queue.ts';
100
+ export {
101
+ type EmailAddress,
102
+ type EmailDestination,
103
+ type EmailInbound,
104
+ type EmailOutbound,
105
+ type EmailAttachment,
106
+ type EmailSendParams,
107
+ type EmailService,
108
+ EmailStorageService,
109
+ } from './services/email.ts';
110
+ export {
111
+ type Schedule,
112
+ type ScheduleDestination,
113
+ type ScheduleDelivery,
114
+ type CreateScheduleParams,
115
+ type CreateScheduleDestinationParams,
116
+ type UpdateScheduleParams,
117
+ type ScheduleListResult,
118
+ type ScheduleGetResult,
119
+ type ScheduleCreateResult,
120
+ type ScheduleDeliveryListResult,
121
+ ScheduleService,
122
+ } from './services/schedule.ts';
123
+ export {
124
+ type TaskPriority,
125
+ type TaskType,
126
+ type TaskStatus,
127
+ type Task,
128
+ type TaskChangelogEntry,
129
+ type CreateTaskParams,
130
+ type UpdateTaskParams,
131
+ type ListTasksParams,
132
+ type ListTasksResult,
133
+ type TaskChangelogResult,
134
+ type TaskStorage,
135
+ TaskStorageService,
136
+ } from './services/task.ts';
100
137
  export {
101
138
  type EvalRunEventProvider,
102
139
  EvalRunStartEventSchema,
@@ -2,6 +2,30 @@ import { safeStringify } from '../json.ts';
2
2
  import type { Body, HttpMethod } from './adapter.ts';
3
3
  import { ServiceException } from './exception.ts';
4
4
 
5
+ /**
6
+ * Extract a human-readable error message from an HTML error page or plain text body.
7
+ * Looks for content inside `<p>` tags first (Agentuity error pages put the message there),
8
+ * then falls back to the raw body.
9
+ */
10
+ function extractMessageFromBody(body: string): string {
11
+ if (body.includes('<html') || body.includes('<!DOCTYPE')) {
12
+ // Try to extract message from <p> tags (Agentuity error pages use <p> for the message)
13
+ const pMatch = /<p[^>]*>([^<]+)<\/p>/i.exec(body);
14
+ if (pMatch?.[1]) {
15
+ // Strip ref suffix like "(ref: sess_xxx)" to get clean message
16
+ const msg = pMatch[1].trim();
17
+ const refMatch = /^(.+?)\s*\(ref:\s*\S+\)$/.exec(msg);
18
+ return refMatch?.[1]?.trim() ?? msg;
19
+ }
20
+ // Try <h1> as fallback
21
+ const h1Match = /<h1[^>]*>([^<]+)<\/h1>/i.exec(body);
22
+ if (h1Match?.[1]) {
23
+ return h1Match[1].trim();
24
+ }
25
+ }
26
+ return body;
27
+ }
28
+
5
29
  export const buildUrl = (
6
30
  base: string,
7
31
  path: string,
@@ -90,8 +114,10 @@ export async function toServiceException(
90
114
  }
91
115
  try {
92
116
  const body = await response.text();
117
+ // If the response is HTML (e.g. server error page), extract the human-readable message
118
+ const message = extractMessageFromBody(body);
93
119
  return new ServiceException({
94
- message: body,
120
+ message,
95
121
  method,
96
122
  url,
97
123
  statusCode: response.status,