@agentuity/runtime 1.0.24 → 1.0.25
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/dev-patches/aisdk.d.ts +17 -0
- package/dist/dev-patches/aisdk.d.ts.map +1 -0
- package/dist/dev-patches/aisdk.js +154 -0
- package/dist/dev-patches/aisdk.js.map +1 -0
- package/dist/dev-patches/gateway.d.ts +16 -0
- package/dist/dev-patches/gateway.d.ts.map +1 -0
- package/dist/dev-patches/gateway.js +55 -0
- package/dist/dev-patches/gateway.js.map +1 -0
- package/dist/dev-patches/index.d.ts +21 -0
- package/dist/dev-patches/index.d.ts.map +1 -0
- package/dist/dev-patches/index.js +33 -0
- package/dist/dev-patches/index.js.map +1 -0
- package/dist/dev-patches/otel-llm.d.ts +12 -0
- package/dist/dev-patches/otel-llm.d.ts.map +1 -0
- package/dist/dev-patches/otel-llm.js +345 -0
- package/dist/dev-patches/otel-llm.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/local/_db.d.ts.map +1 -1
- package/dist/services/local/_db.js +78 -1
- package/dist/services/local/_db.js.map +1 -1
- package/dist/services/local/email.d.ts +2 -0
- package/dist/services/local/email.d.ts.map +1 -1
- package/dist/services/local/email.js +6 -0
- package/dist/services/local/email.js.map +1 -1
- package/dist/services/local/task.d.ts +26 -1
- package/dist/services/local/task.d.ts.map +1 -1
- package/dist/services/local/task.js +304 -4
- package/dist/services/local/task.js.map +1 -1
- package/package.json +7 -7
- package/src/dev-patches/aisdk.ts +172 -0
- package/src/dev-patches/gateway.ts +70 -0
- package/src/dev-patches/index.ts +37 -0
- package/src/dev-patches/otel-llm.ts +408 -0
- package/src/index.ts +3 -0
- package/src/services/local/_db.ts +98 -5
- package/src/services/local/email.ts +9 -4
- package/src/services/local/task.ts +448 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/services/local/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACX,WAAW,EACX,IAAI,EAKJ,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/services/local/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,12 @@ import { now } from './_util';
|
|
|
3
3
|
const TaskTitleRequiredError = StructuredError('TaskTitleRequiredError', 'Task title is required and must be a non-empty string');
|
|
4
4
|
const TaskNotFoundError = StructuredError('TaskNotFoundError', 'Task not found');
|
|
5
5
|
const TaskAlreadyClosedError = StructuredError('TaskAlreadyClosedError', 'Task is already closed');
|
|
6
|
+
const CommentNotFoundError = StructuredError('CommentNotFoundError', 'Comment not found');
|
|
7
|
+
const TagNotFoundError = StructuredError('TagNotFoundError', 'Tag not found');
|
|
8
|
+
const CommentBodyRequiredError = StructuredError('CommentBodyRequiredError', 'Comment body is required and must be a non-empty string');
|
|
9
|
+
const CommentUserRequiredError = StructuredError('CommentUserRequiredError', 'Comment user ID is required and must be a non-empty string');
|
|
10
|
+
const TagNameRequiredError = StructuredError('TagNameRequiredError', 'Tag name is required and must be a non-empty string');
|
|
11
|
+
const AttachmentNotSupportedError = StructuredError('AttachmentNotSupportedError', 'Attachments are not supported in local task storage');
|
|
6
12
|
const DEFAULT_LIMIT = 100;
|
|
7
13
|
const SORT_FIELDS = {
|
|
8
14
|
created_at: 'created_at',
|
|
@@ -39,8 +45,33 @@ function toTask(row) {
|
|
|
39
45
|
created_id: row.created_id,
|
|
40
46
|
assigned_id: row.assigned_id ?? undefined,
|
|
41
47
|
closed_id: row.closed_id ?? undefined,
|
|
48
|
+
deleted: Boolean(row.deleted),
|
|
42
49
|
};
|
|
43
50
|
}
|
|
51
|
+
function toComment(row) {
|
|
52
|
+
return {
|
|
53
|
+
id: row.id,
|
|
54
|
+
created_at: new Date(row.created_at).toISOString(),
|
|
55
|
+
updated_at: new Date(row.updated_at).toISOString(),
|
|
56
|
+
task_id: row.task_id,
|
|
57
|
+
user_id: row.user_id,
|
|
58
|
+
body: row.body,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function toTag(row) {
|
|
62
|
+
return {
|
|
63
|
+
id: row.id,
|
|
64
|
+
created_at: new Date(row.created_at).toISOString(),
|
|
65
|
+
name: row.name,
|
|
66
|
+
color: row.color ?? undefined,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function generateCommentId() {
|
|
70
|
+
return `comment_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
|
|
71
|
+
}
|
|
72
|
+
function generateTagId() {
|
|
73
|
+
return `tag_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
|
|
74
|
+
}
|
|
44
75
|
function toChangelogEntry(row) {
|
|
45
76
|
return {
|
|
46
77
|
id: row.id,
|
|
@@ -108,6 +139,7 @@ export class LocalTaskStorage {
|
|
|
108
139
|
created_id: params.created_id,
|
|
109
140
|
assigned_id: params.assigned_id ?? null,
|
|
110
141
|
closed_id: null,
|
|
142
|
+
deleted: 0,
|
|
111
143
|
};
|
|
112
144
|
stmt.run(this.#projectPath, row.id, row.title, row.description, row.metadata, row.priority, row.parent_id, row.type, row.status, row.open_date, row.in_progress_date, row.closed_date, row.created_id, row.assigned_id, row.closed_id, row.created_at, row.updated_at);
|
|
113
145
|
return toTask(row);
|
|
@@ -130,7 +162,8 @@ export class LocalTaskStorage {
|
|
|
130
162
|
closed_date,
|
|
131
163
|
created_id,
|
|
132
164
|
assigned_id,
|
|
133
|
-
closed_id
|
|
165
|
+
closed_id,
|
|
166
|
+
deleted
|
|
134
167
|
FROM task_storage
|
|
135
168
|
WHERE project_path = ? AND id = ?
|
|
136
169
|
`);
|
|
@@ -187,7 +220,8 @@ export class LocalTaskStorage {
|
|
|
187
220
|
closed_date,
|
|
188
221
|
created_id,
|
|
189
222
|
assigned_id,
|
|
190
|
-
closed_id
|
|
223
|
+
closed_id,
|
|
224
|
+
deleted
|
|
191
225
|
FROM task_storage
|
|
192
226
|
${whereClause}
|
|
193
227
|
ORDER BY ${sortField} ${sortOrder}
|
|
@@ -220,7 +254,8 @@ export class LocalTaskStorage {
|
|
|
220
254
|
closed_date,
|
|
221
255
|
created_id,
|
|
222
256
|
assigned_id,
|
|
223
|
-
closed_id
|
|
257
|
+
closed_id,
|
|
258
|
+
deleted
|
|
224
259
|
FROM task_storage
|
|
225
260
|
WHERE project_path = ? AND id = ?
|
|
226
261
|
`);
|
|
@@ -354,7 +389,8 @@ export class LocalTaskStorage {
|
|
|
354
389
|
closed_date,
|
|
355
390
|
created_id,
|
|
356
391
|
assigned_id,
|
|
357
|
-
closed_id
|
|
392
|
+
closed_id,
|
|
393
|
+
deleted
|
|
358
394
|
FROM task_storage
|
|
359
395
|
WHERE project_path = ? AND id = ?
|
|
360
396
|
`);
|
|
@@ -421,5 +457,269 @@ export class LocalTaskStorage {
|
|
|
421
457
|
offset,
|
|
422
458
|
};
|
|
423
459
|
}
|
|
460
|
+
async softDelete(id) {
|
|
461
|
+
const task = await this.get(id);
|
|
462
|
+
if (!task) {
|
|
463
|
+
throw new TaskNotFoundError();
|
|
464
|
+
}
|
|
465
|
+
const timestamp = now();
|
|
466
|
+
const updateStmt = this.#db.prepare(`
|
|
467
|
+
UPDATE task_storage
|
|
468
|
+
SET status = 'closed', deleted = 1, closed_date = COALESCE(closed_date, ?), updated_at = ?
|
|
469
|
+
WHERE project_path = ? AND id = ?
|
|
470
|
+
`);
|
|
471
|
+
updateStmt.run(new Date(timestamp).toISOString(), timestamp, this.#projectPath, id);
|
|
472
|
+
const changelogStmt = this.#db.prepare(`
|
|
473
|
+
INSERT INTO task_changelog_storage (
|
|
474
|
+
project_path, id, task_id, field, old_value, new_value, created_at
|
|
475
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
476
|
+
`);
|
|
477
|
+
changelogStmt.run(this.#projectPath, generateChangelogId(), id, 'deleted', 'false', 'true', timestamp);
|
|
478
|
+
const updated = await this.get(id);
|
|
479
|
+
return { ...updated, deleted: true };
|
|
480
|
+
}
|
|
481
|
+
async createComment(taskId, body, userId) {
|
|
482
|
+
const trimmedBody = body?.trim();
|
|
483
|
+
if (!trimmedBody) {
|
|
484
|
+
throw new CommentBodyRequiredError();
|
|
485
|
+
}
|
|
486
|
+
const trimmedUserId = userId?.trim();
|
|
487
|
+
if (!trimmedUserId) {
|
|
488
|
+
throw new CommentUserRequiredError();
|
|
489
|
+
}
|
|
490
|
+
const task = await this.get(taskId);
|
|
491
|
+
if (!task) {
|
|
492
|
+
throw new TaskNotFoundError();
|
|
493
|
+
}
|
|
494
|
+
const id = generateCommentId();
|
|
495
|
+
const timestamp = now();
|
|
496
|
+
const stmt = this.#db.prepare(`
|
|
497
|
+
INSERT INTO task_comment_storage (
|
|
498
|
+
project_path, id, task_id, user_id, body, created_at, updated_at
|
|
499
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
500
|
+
`);
|
|
501
|
+
stmt.run(this.#projectPath, id, taskId, trimmedUserId, trimmedBody, timestamp, timestamp);
|
|
502
|
+
return toComment({
|
|
503
|
+
id,
|
|
504
|
+
created_at: timestamp,
|
|
505
|
+
updated_at: timestamp,
|
|
506
|
+
task_id: taskId,
|
|
507
|
+
user_id: trimmedUserId,
|
|
508
|
+
body: trimmedBody,
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
async getComment(commentId) {
|
|
512
|
+
const query = this.#db.query(`
|
|
513
|
+
SELECT id, created_at, updated_at, task_id, user_id, body
|
|
514
|
+
FROM task_comment_storage
|
|
515
|
+
WHERE project_path = ? AND id = ?
|
|
516
|
+
`);
|
|
517
|
+
const row = query.get(this.#projectPath, commentId);
|
|
518
|
+
if (!row) {
|
|
519
|
+
throw new CommentNotFoundError();
|
|
520
|
+
}
|
|
521
|
+
return toComment(row);
|
|
522
|
+
}
|
|
523
|
+
async updateComment(commentId, body) {
|
|
524
|
+
const trimmedBody = body?.trim();
|
|
525
|
+
if (!trimmedBody) {
|
|
526
|
+
throw new CommentBodyRequiredError();
|
|
527
|
+
}
|
|
528
|
+
const existing = await this.getComment(commentId);
|
|
529
|
+
const timestamp = now();
|
|
530
|
+
const stmt = this.#db.prepare(`
|
|
531
|
+
UPDATE task_comment_storage
|
|
532
|
+
SET body = ?, updated_at = ?
|
|
533
|
+
WHERE project_path = ? AND id = ?
|
|
534
|
+
`);
|
|
535
|
+
stmt.run(trimmedBody, timestamp, this.#projectPath, commentId);
|
|
536
|
+
return {
|
|
537
|
+
...existing,
|
|
538
|
+
body: trimmedBody,
|
|
539
|
+
updated_at: new Date(timestamp).toISOString(),
|
|
540
|
+
};
|
|
541
|
+
}
|
|
542
|
+
async deleteComment(commentId) {
|
|
543
|
+
const stmt = this.#db.prepare(`
|
|
544
|
+
DELETE FROM task_comment_storage
|
|
545
|
+
WHERE project_path = ? AND id = ?
|
|
546
|
+
`);
|
|
547
|
+
stmt.run(this.#projectPath, commentId);
|
|
548
|
+
}
|
|
549
|
+
async listComments(taskId, params) {
|
|
550
|
+
const limit = params?.limit ?? DEFAULT_LIMIT;
|
|
551
|
+
const offset = params?.offset ?? 0;
|
|
552
|
+
const totalQuery = this.#db.query(`SELECT COUNT(*) as count FROM task_comment_storage WHERE project_path = ? AND task_id = ?`);
|
|
553
|
+
const totalRow = totalQuery.get(this.#projectPath, taskId);
|
|
554
|
+
const query = this.#db.query(`
|
|
555
|
+
SELECT id, created_at, updated_at, task_id, user_id, body
|
|
556
|
+
FROM task_comment_storage
|
|
557
|
+
WHERE project_path = ? AND task_id = ?
|
|
558
|
+
ORDER BY created_at DESC
|
|
559
|
+
LIMIT ? OFFSET ?
|
|
560
|
+
`);
|
|
561
|
+
const rows = query.all(this.#projectPath, taskId, limit, offset);
|
|
562
|
+
return {
|
|
563
|
+
comments: rows.map(toComment),
|
|
564
|
+
total: totalRow.count,
|
|
565
|
+
limit,
|
|
566
|
+
offset,
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
async createTag(name, color) {
|
|
570
|
+
const trimmedName = name?.trim();
|
|
571
|
+
if (!trimmedName) {
|
|
572
|
+
throw new TagNameRequiredError();
|
|
573
|
+
}
|
|
574
|
+
const id = generateTagId();
|
|
575
|
+
const timestamp = now();
|
|
576
|
+
const stmt = this.#db.prepare(`
|
|
577
|
+
INSERT INTO task_tag_storage (
|
|
578
|
+
project_path, id, name, color, created_at
|
|
579
|
+
) VALUES (?, ?, ?, ?, ?)
|
|
580
|
+
`);
|
|
581
|
+
stmt.run(this.#projectPath, id, trimmedName, color ?? null, timestamp);
|
|
582
|
+
return toTag({
|
|
583
|
+
id,
|
|
584
|
+
created_at: timestamp,
|
|
585
|
+
name: trimmedName,
|
|
586
|
+
color: color ?? null,
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
async getTag(tagId) {
|
|
590
|
+
const query = this.#db.query(`
|
|
591
|
+
SELECT id, created_at, name, color
|
|
592
|
+
FROM task_tag_storage
|
|
593
|
+
WHERE project_path = ? AND id = ?
|
|
594
|
+
`);
|
|
595
|
+
const row = query.get(this.#projectPath, tagId);
|
|
596
|
+
if (!row) {
|
|
597
|
+
throw new TagNotFoundError();
|
|
598
|
+
}
|
|
599
|
+
return toTag(row);
|
|
600
|
+
}
|
|
601
|
+
async updateTag(tagId, name, color) {
|
|
602
|
+
const trimmedName = name?.trim();
|
|
603
|
+
if (!trimmedName) {
|
|
604
|
+
throw new TagNameRequiredError();
|
|
605
|
+
}
|
|
606
|
+
// Verify exists
|
|
607
|
+
await this.getTag(tagId);
|
|
608
|
+
const stmt = this.#db.prepare(`
|
|
609
|
+
UPDATE task_tag_storage
|
|
610
|
+
SET name = ?, color = ?
|
|
611
|
+
WHERE project_path = ? AND id = ?
|
|
612
|
+
`);
|
|
613
|
+
stmt.run(trimmedName, color ?? null, this.#projectPath, tagId);
|
|
614
|
+
return this.getTag(tagId);
|
|
615
|
+
}
|
|
616
|
+
async deleteTag(tagId) {
|
|
617
|
+
// Also remove tag associations
|
|
618
|
+
const deleteAssocStmt = this.#db.prepare(`
|
|
619
|
+
DELETE FROM task_tag_association_storage
|
|
620
|
+
WHERE project_path = ? AND tag_id = ?
|
|
621
|
+
`);
|
|
622
|
+
deleteAssocStmt.run(this.#projectPath, tagId);
|
|
623
|
+
const stmt = this.#db.prepare(`
|
|
624
|
+
DELETE FROM task_tag_storage
|
|
625
|
+
WHERE project_path = ? AND id = ?
|
|
626
|
+
`);
|
|
627
|
+
stmt.run(this.#projectPath, tagId);
|
|
628
|
+
}
|
|
629
|
+
async listTags() {
|
|
630
|
+
const query = this.#db.query(`
|
|
631
|
+
SELECT id, created_at, name, color
|
|
632
|
+
FROM task_tag_storage
|
|
633
|
+
WHERE project_path = ?
|
|
634
|
+
ORDER BY name ASC
|
|
635
|
+
`);
|
|
636
|
+
const rows = query.all(this.#projectPath);
|
|
637
|
+
return {
|
|
638
|
+
tags: rows.map(toTag),
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
async addTagToTask(taskId, tagId) {
|
|
642
|
+
// Verify task and tag exist
|
|
643
|
+
const task = await this.get(taskId);
|
|
644
|
+
if (!task) {
|
|
645
|
+
throw new TaskNotFoundError();
|
|
646
|
+
}
|
|
647
|
+
await this.getTag(tagId);
|
|
648
|
+
const stmt = this.#db.prepare(`
|
|
649
|
+
INSERT OR IGNORE INTO task_tag_association_storage (
|
|
650
|
+
project_path, task_id, tag_id
|
|
651
|
+
) VALUES (?, ?, ?)
|
|
652
|
+
`);
|
|
653
|
+
stmt.run(this.#projectPath, taskId, tagId);
|
|
654
|
+
}
|
|
655
|
+
async removeTagFromTask(taskId, tagId) {
|
|
656
|
+
const stmt = this.#db.prepare(`
|
|
657
|
+
DELETE FROM task_tag_association_storage
|
|
658
|
+
WHERE project_path = ? AND task_id = ? AND tag_id = ?
|
|
659
|
+
`);
|
|
660
|
+
stmt.run(this.#projectPath, taskId, tagId);
|
|
661
|
+
}
|
|
662
|
+
async listTagsForTask(taskId) {
|
|
663
|
+
const query = this.#db.query(`
|
|
664
|
+
SELECT t.id, t.created_at, t.name, t.color
|
|
665
|
+
FROM task_tag_storage t
|
|
666
|
+
INNER JOIN task_tag_association_storage a ON t.id = a.tag_id AND t.project_path = a.project_path
|
|
667
|
+
WHERE a.project_path = ? AND a.task_id = ?
|
|
668
|
+
ORDER BY t.name ASC
|
|
669
|
+
`);
|
|
670
|
+
const rows = query.all(this.#projectPath, taskId);
|
|
671
|
+
return rows.map(toTag);
|
|
672
|
+
}
|
|
673
|
+
// Attachment methods — not supported in local storage
|
|
674
|
+
async uploadAttachment(_taskId, _params) {
|
|
675
|
+
throw new AttachmentNotSupportedError();
|
|
676
|
+
}
|
|
677
|
+
async confirmAttachment(_attachmentId) {
|
|
678
|
+
throw new AttachmentNotSupportedError();
|
|
679
|
+
}
|
|
680
|
+
async downloadAttachment(_attachmentId) {
|
|
681
|
+
throw new AttachmentNotSupportedError();
|
|
682
|
+
}
|
|
683
|
+
async listAttachments(_taskId) {
|
|
684
|
+
throw new AttachmentNotSupportedError();
|
|
685
|
+
}
|
|
686
|
+
async deleteAttachment(_attachmentId) {
|
|
687
|
+
throw new AttachmentNotSupportedError();
|
|
688
|
+
}
|
|
689
|
+
async listUsers() {
|
|
690
|
+
return { users: [] };
|
|
691
|
+
}
|
|
692
|
+
async listProjects() {
|
|
693
|
+
return { projects: [] };
|
|
694
|
+
}
|
|
695
|
+
async getActivity(params) {
|
|
696
|
+
const days = Math.min(365, Math.max(7, params?.days ?? 90));
|
|
697
|
+
const activity = [];
|
|
698
|
+
const now = new Date();
|
|
699
|
+
for (let i = days - 1; i >= 0; i--) {
|
|
700
|
+
const date = new Date(now);
|
|
701
|
+
date.setDate(date.getDate() - i);
|
|
702
|
+
const dateStr = date.toISOString().slice(0, 10);
|
|
703
|
+
const row = this.#db
|
|
704
|
+
.prepare(`SELECT
|
|
705
|
+
COALESCE(SUM(CASE WHEN status = 'open' THEN 1 ELSE 0 END), 0) as open,
|
|
706
|
+
COALESCE(SUM(CASE WHEN status = 'in_progress' THEN 1 ELSE 0 END), 0) as in_progress,
|
|
707
|
+
COALESCE(SUM(CASE WHEN status = 'done' THEN 1 ELSE 0 END), 0) as done,
|
|
708
|
+
COALESCE(SUM(CASE WHEN status = 'closed' THEN 1 ELSE 0 END), 0) as closed,
|
|
709
|
+
COALESCE(SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END), 0) as cancelled
|
|
710
|
+
FROM task_storage
|
|
711
|
+
WHERE project_path = ? AND date(created_at) = ?`)
|
|
712
|
+
.get(this.#projectPath, dateStr);
|
|
713
|
+
activity.push({
|
|
714
|
+
date: dateStr,
|
|
715
|
+
open: row.open,
|
|
716
|
+
inProgress: row.in_progress,
|
|
717
|
+
done: row.done,
|
|
718
|
+
closed: row.closed,
|
|
719
|
+
cancelled: row.cancelled,
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
return { activity, days };
|
|
723
|
+
}
|
|
424
724
|
}
|
|
425
725
|
//# sourceMappingURL=task.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/services/local/task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/services/local/task.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/runtime",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
"prepublishOnly": "bun run clean && bun run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@agentuity/auth": "1.0.
|
|
30
|
-
"@agentuity/core": "1.0.
|
|
31
|
-
"@agentuity/frontend": "1.0.
|
|
32
|
-
"@agentuity/schema": "1.0.
|
|
33
|
-
"@agentuity/server": "1.0.
|
|
29
|
+
"@agentuity/auth": "1.0.25",
|
|
30
|
+
"@agentuity/core": "1.0.25",
|
|
31
|
+
"@agentuity/frontend": "1.0.25",
|
|
32
|
+
"@agentuity/schema": "1.0.25",
|
|
33
|
+
"@agentuity/server": "1.0.25",
|
|
34
34
|
"@opentelemetry/api": "^1.9.0",
|
|
35
35
|
"@opentelemetry/api-logs": "^0.207.0",
|
|
36
36
|
"@opentelemetry/auto-instrumentations-node": "^0.66.0",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"zod": "^4.3.5"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@agentuity/test-utils": "1.0.
|
|
53
|
+
"@agentuity/test-utils": "1.0.25",
|
|
54
54
|
"@types/bun": "latest",
|
|
55
55
|
"@types/react": "^19.2.2",
|
|
56
56
|
"@types/react-dom": "^19.2.2",
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime AI SDK patches for dev mode.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the build-time patches from cli/src/cmd/build/patch/aisdk.ts.
|
|
5
|
+
* Monkey-patches Vercel AI SDK functions to:
|
|
6
|
+
* 1. Enable experimental telemetry on all AI function calls
|
|
7
|
+
* 2. Route AI SDK provider factory functions through the AI Gateway
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
11
|
+
|
|
12
|
+
function warnMissingKey(envKey: string): void {
|
|
13
|
+
const isDev =
|
|
14
|
+
process.env.AGENTUITY_ENVIRONMENT === 'development' || process.env.NODE_ENV !== 'production';
|
|
15
|
+
if (isDev) {
|
|
16
|
+
console.error('[ERROR] No credentials found for this AI provider. To fix this, either:');
|
|
17
|
+
console.error(
|
|
18
|
+
' 1. Login to Agentuity Cloud (agentuity auth login) to use the AI Gateway (recommended)'
|
|
19
|
+
);
|
|
20
|
+
console.error(` 2. Set ${envKey} in your .env file to use the provider directly`);
|
|
21
|
+
} else {
|
|
22
|
+
console.error(`[ERROR] The environment variable ${envKey} is required. Either:`);
|
|
23
|
+
console.error(
|
|
24
|
+
' 1. Use Agentuity Cloud AI Gateway by ensuring AGENTUITY_SDK_KEY is configured'
|
|
25
|
+
);
|
|
26
|
+
console.error(` 2. Set ${envKey} using "agentuity env set ${envKey}" and redeploy`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Wrap an AI SDK function to inject experimental_telemetry: { isEnabled: true }.
|
|
32
|
+
*/
|
|
33
|
+
function wrapWithTelemetry(originalFn: (...args: any[]) => any): (...args: any[]) => any {
|
|
34
|
+
return function (this: any, ...args: any[]) {
|
|
35
|
+
const opts = { ...(args[0] ?? {}) };
|
|
36
|
+
opts.experimental_telemetry = { isEnabled: true };
|
|
37
|
+
args[0] = opts;
|
|
38
|
+
return originalFn.apply(this, args);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Wrap a provider factory function (e.g., createOpenAI) to inject gateway config.
|
|
44
|
+
*/
|
|
45
|
+
function wrapProviderFactory(
|
|
46
|
+
originalFn: (...args: any[]) => any,
|
|
47
|
+
envKey: string,
|
|
48
|
+
provider: string
|
|
49
|
+
): (...args: any[]) => any {
|
|
50
|
+
return function (this: any, ...args: any[]) {
|
|
51
|
+
const currentKey = process.env[envKey];
|
|
52
|
+
const sdkKey = process.env.AGENTUITY_SDK_KEY;
|
|
53
|
+
|
|
54
|
+
// If user provided their own key (and it's not the SDK key), leave it alone
|
|
55
|
+
if (currentKey && currentKey !== sdkKey) {
|
|
56
|
+
if (!sdkKey) {
|
|
57
|
+
console.log(
|
|
58
|
+
`User provided ${provider} api key set. Use the Agentuity AI Gateway more features.`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
return originalFn.apply(this, args);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Route through gateway
|
|
65
|
+
const transportUrl = process.env.AGENTUITY_TRANSPORT_URL;
|
|
66
|
+
if (transportUrl && sdkKey) {
|
|
67
|
+
const opts = { ...(args[0] ?? {}) };
|
|
68
|
+
if (!opts.baseURL) {
|
|
69
|
+
opts.apiKey = sdkKey;
|
|
70
|
+
opts.baseURL = `${transportUrl}/gateway/${provider}`;
|
|
71
|
+
args[0] = opts;
|
|
72
|
+
}
|
|
73
|
+
} else if (!currentKey) {
|
|
74
|
+
warnMissingKey(envKey);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return originalFn.apply(this, args);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** AI SDK core functions to wrap with telemetry injection */
|
|
82
|
+
const AI_CORE_FUNCTIONS = [
|
|
83
|
+
'generateText',
|
|
84
|
+
'streamText',
|
|
85
|
+
'generateObject',
|
|
86
|
+
'streamObject',
|
|
87
|
+
'embed',
|
|
88
|
+
'embedMany',
|
|
89
|
+
] as const;
|
|
90
|
+
|
|
91
|
+
/** AI SDK provider packages and their factory functions */
|
|
92
|
+
const AI_PROVIDER_CONFIGS = [
|
|
93
|
+
{
|
|
94
|
+
module: '@ai-sdk/openai',
|
|
95
|
+
factory: 'createOpenAI',
|
|
96
|
+
envKey: 'OPENAI_API_KEY',
|
|
97
|
+
provider: 'openai',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
module: '@ai-sdk/anthropic',
|
|
101
|
+
factory: 'createAnthropic',
|
|
102
|
+
envKey: 'ANTHROPIC_API_KEY',
|
|
103
|
+
provider: 'anthropic',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
module: '@ai-sdk/cohere',
|
|
107
|
+
factory: 'createCohere',
|
|
108
|
+
envKey: 'COHERE_API_KEY',
|
|
109
|
+
provider: 'cohere',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
module: '@ai-sdk/deepseek',
|
|
113
|
+
factory: 'createDeepSeek',
|
|
114
|
+
envKey: 'DEEPSEEK_API_KEY',
|
|
115
|
+
provider: 'deepseek',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
module: '@ai-sdk/google',
|
|
119
|
+
factory: 'createGoogleGenerativeAI',
|
|
120
|
+
envKey: 'GOOGLE_GENERATIVE_AI_API_KEY',
|
|
121
|
+
provider: 'google-ai-studio',
|
|
122
|
+
},
|
|
123
|
+
{ module: '@ai-sdk/xai', factory: 'createXai', envKey: 'XAI_API_KEY', provider: 'grok' },
|
|
124
|
+
{ module: '@ai-sdk/groq', factory: 'createGroq', envKey: 'GROQ_API_KEY', provider: 'groq' },
|
|
125
|
+
{
|
|
126
|
+
module: '@ai-sdk/mistral',
|
|
127
|
+
factory: 'createMistral',
|
|
128
|
+
envKey: 'MISTRAL_API_KEY',
|
|
129
|
+
provider: 'mistral',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
module: '@ai-sdk/perplexity',
|
|
133
|
+
factory: 'createPerplexity',
|
|
134
|
+
envKey: 'PERPLEXITY_API_KEY',
|
|
135
|
+
provider: 'perplexity-ai',
|
|
136
|
+
},
|
|
137
|
+
] as const;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Patch AI SDK core functions (generateText, streamText, etc.) with telemetry injection.
|
|
141
|
+
*/
|
|
142
|
+
export async function applyAISDKCorePatches(): Promise<void> {
|
|
143
|
+
try {
|
|
144
|
+
const aiModule = await import('ai');
|
|
145
|
+
|
|
146
|
+
for (const fnName of AI_CORE_FUNCTIONS) {
|
|
147
|
+
const original = (aiModule as any)[fnName];
|
|
148
|
+
if (typeof original === 'function') {
|
|
149
|
+
(aiModule as any)[fnName] = wrapWithTelemetry(original);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
} catch {
|
|
153
|
+
// 'ai' package not installed — skip
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Patch AI SDK provider factory functions to route through the AI Gateway.
|
|
159
|
+
*/
|
|
160
|
+
export async function applyAISDKProviderPatches(): Promise<void> {
|
|
161
|
+
for (const config of AI_PROVIDER_CONFIGS) {
|
|
162
|
+
try {
|
|
163
|
+
const mod = await import(config.module);
|
|
164
|
+
const original = mod[config.factory];
|
|
165
|
+
if (typeof original === 'function') {
|
|
166
|
+
mod[config.factory] = wrapProviderFactory(original, config.envKey, config.provider);
|
|
167
|
+
}
|
|
168
|
+
} catch {
|
|
169
|
+
// Provider package not installed — skip
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|