@agentuity/runtime 1.0.36 → 1.0.38
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/services/local/_db.d.ts.map +1 -1
- package/dist/services/local/_db.js +33 -0
- package/dist/services/local/_db.js.map +1 -1
- package/dist/services/local/task.d.ts +12 -1
- package/dist/services/local/task.d.ts.map +1 -1
- package/dist/services/local/task.js +117 -15
- package/dist/services/local/task.js.map +1 -1
- package/dist/services/sandbox/http.d.ts +3 -0
- package/dist/services/sandbox/http.d.ts.map +1 -1
- package/dist/services/sandbox/http.js +128 -14
- package/dist/services/sandbox/http.js.map +1 -1
- package/package.json +7 -7
- package/src/services/local/_db.ts +43 -0
- package/src/services/local/task.ts +171 -16
- package/src/services/sandbox/http.ts +183 -24
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { sandboxCreate, sandboxDestroy, sandboxExecute, sandboxGet, sandboxList,
|
|
1
|
+
import { executionGet, sandboxCreate, sandboxDestroy, sandboxExecute, sandboxGet, sandboxList, sandboxListFiles, sandboxMkDir, sandboxPause, sandboxReadFile, sandboxResume, sandboxRmDir, sandboxRmFile, sandboxRun, sandboxSetEnv, sandboxWriteFiles, snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, } from '@agentuity/server';
|
|
2
2
|
import { context, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
|
|
3
3
|
const TRACER_NAME = 'agentuity.sandbox';
|
|
4
4
|
async function withSpan(name, attributes, fn) {
|
|
@@ -21,11 +21,9 @@ async function withSpan(name, attributes, fn) {
|
|
|
21
21
|
span.end();
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
const streamId = id ?? '';
|
|
26
|
-
const url = streamId ? `${baseUrl}/${streamId}` : '';
|
|
24
|
+
function buildStreamReader(id, url) {
|
|
27
25
|
return {
|
|
28
|
-
id
|
|
26
|
+
id,
|
|
29
27
|
url,
|
|
30
28
|
readonly: true,
|
|
31
29
|
getReader() {
|
|
@@ -61,20 +59,54 @@ function createStreamReader(id, baseUrl) {
|
|
|
61
59
|
},
|
|
62
60
|
};
|
|
63
61
|
}
|
|
64
|
-
function
|
|
65
|
-
const
|
|
62
|
+
function createStreamReader(id, baseUrl) {
|
|
63
|
+
const streamId = id ?? '';
|
|
64
|
+
const url = streamId ? `${baseUrl}/${streamId}` : '';
|
|
65
|
+
return buildStreamReader(streamId, url);
|
|
66
|
+
}
|
|
67
|
+
function createStreamReaderFromUrl(streamUrl) {
|
|
68
|
+
const url = streamUrl ?? '';
|
|
69
|
+
if (!url)
|
|
70
|
+
return buildStreamReader('', '');
|
|
71
|
+
try {
|
|
72
|
+
const pathname = new URL(url).pathname.replace(/\/+$/, '');
|
|
73
|
+
const id = pathname.split('/').pop() ?? '';
|
|
74
|
+
return buildStreamReader(id, url);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
const id = url.split('/').pop() ?? '';
|
|
78
|
+
return buildStreamReader(id, url);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Creates the method implementations shared by all Sandbox instances.
|
|
83
|
+
*/
|
|
84
|
+
function createSandboxMethods(client, sandboxId) {
|
|
66
85
|
return {
|
|
67
|
-
id: sandboxId,
|
|
68
|
-
status,
|
|
69
|
-
stdout: createStreamReader(stdoutStreamId, streamBaseUrl),
|
|
70
|
-
stderr: createStreamReader(stderrStreamId, streamBaseUrl),
|
|
71
|
-
interleaved,
|
|
72
|
-
auditStreamId,
|
|
73
86
|
async execute(options) {
|
|
74
87
|
return withSpan('agentuity.sandbox.execute', {
|
|
75
88
|
'sandbox.id': sandboxId,
|
|
76
89
|
'sandbox.command': options.command?.join(' ') ?? '',
|
|
77
|
-
}, () =>
|
|
90
|
+
}, async () => {
|
|
91
|
+
const initial = await sandboxExecute(client, {
|
|
92
|
+
sandboxId,
|
|
93
|
+
options,
|
|
94
|
+
signal: options.signal,
|
|
95
|
+
});
|
|
96
|
+
// Wait for execution to reach a terminal state via long-polling
|
|
97
|
+
const final = await executionGet(client, {
|
|
98
|
+
executionId: initial.executionId,
|
|
99
|
+
wait: '60s',
|
|
100
|
+
});
|
|
101
|
+
return {
|
|
102
|
+
executionId: final.executionId,
|
|
103
|
+
status: final.status,
|
|
104
|
+
exitCode: final.exitCode,
|
|
105
|
+
durationMs: final.durationMs,
|
|
106
|
+
stdoutStreamUrl: initial.stdoutStreamUrl,
|
|
107
|
+
stderrStreamUrl: initial.stderrStreamUrl,
|
|
108
|
+
};
|
|
109
|
+
});
|
|
78
110
|
},
|
|
79
111
|
async writeFiles(files) {
|
|
80
112
|
await withSpan('agentuity.sandbox.writeFiles', {
|
|
@@ -88,11 +120,81 @@ function createSandboxInstance(client, sandboxId, status, streamBaseUrl, stdoutS
|
|
|
88
120
|
'sandbox.file.path': path,
|
|
89
121
|
}, () => sandboxReadFile(client, { sandboxId, path }));
|
|
90
122
|
},
|
|
123
|
+
async listFiles(path) {
|
|
124
|
+
return withSpan('agentuity.sandbox.listFiles', {
|
|
125
|
+
'sandbox.id': sandboxId,
|
|
126
|
+
'sandbox.dir.path': path ?? '',
|
|
127
|
+
}, async () => {
|
|
128
|
+
const result = await sandboxListFiles(client, { sandboxId, path });
|
|
129
|
+
return result.files;
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
async mkDir(path, recursive) {
|
|
133
|
+
await withSpan('agentuity.sandbox.mkDir', {
|
|
134
|
+
'sandbox.id': sandboxId,
|
|
135
|
+
'sandbox.dir.path': path,
|
|
136
|
+
}, () => sandboxMkDir(client, { sandboxId, path, recursive }));
|
|
137
|
+
},
|
|
138
|
+
async rmFile(path) {
|
|
139
|
+
await withSpan('agentuity.sandbox.rmFile', {
|
|
140
|
+
'sandbox.id': sandboxId,
|
|
141
|
+
'sandbox.file.path': path,
|
|
142
|
+
}, () => sandboxRmFile(client, { sandboxId, path }));
|
|
143
|
+
},
|
|
144
|
+
async rmDir(path, recursive) {
|
|
145
|
+
await withSpan('agentuity.sandbox.rmDir', {
|
|
146
|
+
'sandbox.id': sandboxId,
|
|
147
|
+
'sandbox.dir.path': path,
|
|
148
|
+
}, () => sandboxRmDir(client, { sandboxId, path, recursive }));
|
|
149
|
+
},
|
|
150
|
+
async setEnv(env) {
|
|
151
|
+
return withSpan('agentuity.sandbox.setEnv', { 'sandbox.id': sandboxId }, async () => {
|
|
152
|
+
const result = await sandboxSetEnv(client, { sandboxId, env });
|
|
153
|
+
return result.env;
|
|
154
|
+
});
|
|
155
|
+
},
|
|
156
|
+
async pause() {
|
|
157
|
+
await withSpan('agentuity.sandbox.pause', { 'sandbox.id': sandboxId }, () => sandboxPause(client, { sandboxId }));
|
|
158
|
+
},
|
|
159
|
+
async resume() {
|
|
160
|
+
await withSpan('agentuity.sandbox.resume', { 'sandbox.id': sandboxId }, () => sandboxResume(client, { sandboxId }));
|
|
161
|
+
},
|
|
91
162
|
async destroy() {
|
|
92
163
|
await withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () => sandboxDestroy(client, { sandboxId }));
|
|
93
164
|
},
|
|
94
165
|
};
|
|
95
166
|
}
|
|
167
|
+
function createSandboxInstance(client, sandboxId, status, streamBaseUrl, stdoutStreamId, stderrStreamId, auditStreamId) {
|
|
168
|
+
const interleaved = !!(stdoutStreamId && stderrStreamId && stdoutStreamId === stderrStreamId);
|
|
169
|
+
return {
|
|
170
|
+
id: sandboxId,
|
|
171
|
+
status,
|
|
172
|
+
stdout: createStreamReader(stdoutStreamId, streamBaseUrl),
|
|
173
|
+
stderr: createStreamReader(stderrStreamId, streamBaseUrl),
|
|
174
|
+
interleaved,
|
|
175
|
+
auditStreamId,
|
|
176
|
+
...createSandboxMethods(client, sandboxId),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
function createSandboxInstanceFromInfo(client, info) {
|
|
180
|
+
const stdoutReader = createStreamReaderFromUrl(info.stdoutStreamUrl);
|
|
181
|
+
const stderrReader = createStreamReaderFromUrl(info.stderrStreamUrl);
|
|
182
|
+
const interleaved = !!(stdoutReader.id &&
|
|
183
|
+
stderrReader.id &&
|
|
184
|
+
stdoutReader.id === stderrReader.id);
|
|
185
|
+
return {
|
|
186
|
+
id: info.sandboxId,
|
|
187
|
+
status: info.status,
|
|
188
|
+
name: info.name,
|
|
189
|
+
description: info.description,
|
|
190
|
+
runtime: info.runtime,
|
|
191
|
+
stdout: stdoutReader,
|
|
192
|
+
stderr: stderrReader,
|
|
193
|
+
interleaved,
|
|
194
|
+
auditStreamId: info.auditStreamId,
|
|
195
|
+
...createSandboxMethods(client, info.sandboxId),
|
|
196
|
+
};
|
|
197
|
+
}
|
|
96
198
|
/**
|
|
97
199
|
* HTTP implementation of the SnapshotService interface
|
|
98
200
|
*/
|
|
@@ -176,8 +278,20 @@ export class HTTPSandboxService {
|
|
|
176
278
|
'sandbox.limit': params?.limit ?? 50,
|
|
177
279
|
}, () => sandboxList(this.client, params));
|
|
178
280
|
}
|
|
281
|
+
async connect(sandboxId) {
|
|
282
|
+
return withSpan('agentuity.sandbox.connect', { 'sandbox.id': sandboxId }, async () => {
|
|
283
|
+
const info = await sandboxGet(this.client, { sandboxId });
|
|
284
|
+
return createSandboxInstanceFromInfo(this.client, info);
|
|
285
|
+
});
|
|
286
|
+
}
|
|
179
287
|
async destroy(sandboxId) {
|
|
180
288
|
return withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () => sandboxDestroy(this.client, { sandboxId }));
|
|
181
289
|
}
|
|
290
|
+
async pause(sandboxId) {
|
|
291
|
+
return withSpan('agentuity.sandbox.pause', { 'sandbox.id': sandboxId }, () => sandboxPause(this.client, { sandboxId }));
|
|
292
|
+
}
|
|
293
|
+
async resume(sandboxId) {
|
|
294
|
+
return withSpan('agentuity.sandbox.resume', { 'sandbox.id': sandboxId }, () => sandboxResume(this.client, { sandboxId }));
|
|
295
|
+
}
|
|
182
296
|
}
|
|
183
297
|
//# sourceMappingURL=http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/sandbox/http.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.38",
|
|
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.38",
|
|
30
|
+
"@agentuity/core": "1.0.38",
|
|
31
|
+
"@agentuity/frontend": "1.0.38",
|
|
32
|
+
"@agentuity/schema": "1.0.38",
|
|
33
|
+
"@agentuity/server": "1.0.38",
|
|
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.38",
|
|
54
54
|
"@types/bun": "latest",
|
|
55
55
|
"@types/react": "^19.2.2",
|
|
56
56
|
"@types/react-dom": "^19.2.2",
|
|
@@ -198,6 +198,29 @@ function initializeTables(db: Database): void {
|
|
|
198
198
|
CREATE INDEX IF NOT EXISTS idx_task_tag_assoc_tag
|
|
199
199
|
ON task_tag_association_storage(project_path, tag_id)
|
|
200
200
|
`);
|
|
201
|
+
|
|
202
|
+
// Task User table
|
|
203
|
+
db.run(`
|
|
204
|
+
CREATE TABLE IF NOT EXISTS task_user_storage (
|
|
205
|
+
project_path TEXT NOT NULL,
|
|
206
|
+
id TEXT NOT NULL,
|
|
207
|
+
name TEXT NOT NULL,
|
|
208
|
+
type TEXT NOT NULL DEFAULT 'human',
|
|
209
|
+
created_at INTEGER NOT NULL,
|
|
210
|
+
PRIMARY KEY (project_path, id)
|
|
211
|
+
)
|
|
212
|
+
`);
|
|
213
|
+
|
|
214
|
+
// Task Project table
|
|
215
|
+
db.run(`
|
|
216
|
+
CREATE TABLE IF NOT EXISTS task_project_storage (
|
|
217
|
+
project_path TEXT NOT NULL,
|
|
218
|
+
id TEXT NOT NULL,
|
|
219
|
+
name TEXT NOT NULL,
|
|
220
|
+
created_at INTEGER NOT NULL,
|
|
221
|
+
PRIMARY KEY (project_path, id)
|
|
222
|
+
)
|
|
223
|
+
`);
|
|
201
224
|
}
|
|
202
225
|
|
|
203
226
|
function cleanupOrphanedProjects(db: Database): void {
|
|
@@ -237,6 +260,16 @@ function cleanupOrphanedProjects(db: Database): void {
|
|
|
237
260
|
.all() as Array<{
|
|
238
261
|
project_path: string;
|
|
239
262
|
}>;
|
|
263
|
+
const taskUserPaths = db
|
|
264
|
+
.query('SELECT DISTINCT project_path FROM task_user_storage')
|
|
265
|
+
.all() as Array<{
|
|
266
|
+
project_path: string;
|
|
267
|
+
}>;
|
|
268
|
+
const taskProjectPaths = db
|
|
269
|
+
.query('SELECT DISTINCT project_path FROM task_project_storage')
|
|
270
|
+
.all() as Array<{
|
|
271
|
+
project_path: string;
|
|
272
|
+
}>;
|
|
240
273
|
|
|
241
274
|
// Combine and deduplicate all project paths
|
|
242
275
|
const allPaths = new Set<string>();
|
|
@@ -249,6 +282,8 @@ function cleanupOrphanedProjects(db: Database): void {
|
|
|
249
282
|
...taskCommentPaths,
|
|
250
283
|
...taskTagPaths,
|
|
251
284
|
...taskTagAssocPaths,
|
|
285
|
+
...taskUserPaths,
|
|
286
|
+
...taskProjectPaths,
|
|
252
287
|
].forEach((row) => {
|
|
253
288
|
allPaths.add(row.project_path);
|
|
254
289
|
});
|
|
@@ -288,6 +323,12 @@ function cleanupOrphanedProjects(db: Database): void {
|
|
|
288
323
|
const deleteTaskTagAssoc = db.prepare(
|
|
289
324
|
`DELETE FROM task_tag_association_storage WHERE project_path IN (${placeholders})`
|
|
290
325
|
);
|
|
326
|
+
const deleteTaskUsers = db.prepare(
|
|
327
|
+
`DELETE FROM task_user_storage WHERE project_path IN (${placeholders})`
|
|
328
|
+
);
|
|
329
|
+
const deleteTaskProjects = db.prepare(
|
|
330
|
+
`DELETE FROM task_project_storage WHERE project_path IN (${placeholders})`
|
|
331
|
+
);
|
|
291
332
|
|
|
292
333
|
deleteKv.run(...pathsToDelete);
|
|
293
334
|
deleteStream.run(...pathsToDelete);
|
|
@@ -297,6 +338,8 @@ function cleanupOrphanedProjects(db: Database): void {
|
|
|
297
338
|
deleteTaskComments.run(...pathsToDelete);
|
|
298
339
|
deleteTaskTags.run(...pathsToDelete);
|
|
299
340
|
deleteTaskTagAssoc.run(...pathsToDelete);
|
|
341
|
+
deleteTaskUsers.run(...pathsToDelete);
|
|
342
|
+
deleteTaskProjects.run(...pathsToDelete);
|
|
300
343
|
|
|
301
344
|
console.log(`[LocalDB] Cleaned up data for ${pathsToDelete.length} orphaned project(s)`);
|
|
302
345
|
}
|
|
@@ -26,6 +26,8 @@ import type {
|
|
|
26
26
|
ListAttachmentsResult,
|
|
27
27
|
TaskActivityParams,
|
|
28
28
|
TaskActivityResult,
|
|
29
|
+
UserEntityRef,
|
|
30
|
+
EntityRef,
|
|
29
31
|
} from '@agentuity/core';
|
|
30
32
|
import { StructuredError } from '@agentuity/core';
|
|
31
33
|
import { now } from './_util';
|
|
@@ -63,6 +65,20 @@ const AttachmentNotSupportedError = StructuredError(
|
|
|
63
65
|
'Attachments are not supported in local task storage'
|
|
64
66
|
);
|
|
65
67
|
|
|
68
|
+
const UserNotFoundError = StructuredError('UserNotFoundError', 'User not found');
|
|
69
|
+
|
|
70
|
+
const UserNameRequiredError = StructuredError(
|
|
71
|
+
'UserNameRequiredError',
|
|
72
|
+
'User name is required and must be a non-empty string'
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
const ProjectNotFoundError = StructuredError('ProjectNotFoundError', 'Project not found');
|
|
76
|
+
|
|
77
|
+
const ProjectNameRequiredError = StructuredError(
|
|
78
|
+
'ProjectNameRequiredError',
|
|
79
|
+
'Project name is required and must be a non-empty string'
|
|
80
|
+
);
|
|
81
|
+
|
|
66
82
|
type CommentRow = {
|
|
67
83
|
id: string;
|
|
68
84
|
created_at: number;
|
|
@@ -205,6 +221,14 @@ function generateTagId(): string {
|
|
|
205
221
|
return `tag_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
|
|
206
222
|
}
|
|
207
223
|
|
|
224
|
+
function generateUserId(): string {
|
|
225
|
+
return `usr_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function generateProjectId(): string {
|
|
229
|
+
return `prj_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
|
|
230
|
+
}
|
|
231
|
+
|
|
208
232
|
function toChangelogEntry(row: TaskChangelogRow): TaskChangelogEntry {
|
|
209
233
|
return {
|
|
210
234
|
id: row.id,
|
|
@@ -237,7 +261,7 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
237
261
|
const priority: TaskPriority = params.priority ?? 'none';
|
|
238
262
|
const openDate = status === 'open' ? new Date(timestamp).toISOString() : null;
|
|
239
263
|
const inProgressDate = status === 'in_progress' ? new Date(timestamp).toISOString() : null;
|
|
240
|
-
const closedDate = status === '
|
|
264
|
+
const closedDate = status === 'done' ? new Date(timestamp).toISOString() : null;
|
|
241
265
|
|
|
242
266
|
const stmt = this.#db.prepare(`
|
|
243
267
|
INSERT INTO task_storage (
|
|
@@ -472,7 +496,7 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
472
496
|
if (params.status === 'in_progress' && !existing.in_progress_date) {
|
|
473
497
|
updated.in_progress_date = nowIso;
|
|
474
498
|
}
|
|
475
|
-
if (params.status === '
|
|
499
|
+
if (params.status === 'done' && !existing.closed_date) {
|
|
476
500
|
updated.closed_date = nowIso;
|
|
477
501
|
}
|
|
478
502
|
}
|
|
@@ -618,14 +642,14 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
618
642
|
throw new TaskNotFoundError();
|
|
619
643
|
}
|
|
620
644
|
|
|
621
|
-
if (existing.status === '
|
|
645
|
+
if (existing.status === 'done') {
|
|
622
646
|
throw new TaskAlreadyClosedError();
|
|
623
647
|
}
|
|
624
648
|
const timestamp = now();
|
|
625
649
|
const nowIso = new Date(timestamp).toISOString();
|
|
626
650
|
const updated: TaskRow = {
|
|
627
651
|
...existing,
|
|
628
|
-
status: '
|
|
652
|
+
status: 'done',
|
|
629
653
|
closed_date: existing.closed_date ?? nowIso,
|
|
630
654
|
updated_at: timestamp,
|
|
631
655
|
};
|
|
@@ -718,9 +742,9 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
718
742
|
|
|
719
743
|
const updateStmt = this.#db.prepare(`
|
|
720
744
|
UPDATE task_storage
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
745
|
+
SET status = 'done', deleted = 1, closed_date = COALESCE(closed_date, ?), updated_at = ?
|
|
746
|
+
WHERE project_path = ? AND id = ?
|
|
747
|
+
`);
|
|
724
748
|
|
|
725
749
|
updateStmt.run(new Date(timestamp).toISOString(), timestamp, this.#projectPath, id);
|
|
726
750
|
|
|
@@ -809,8 +833,8 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
809
833
|
const txn = this.#db.transaction(() => {
|
|
810
834
|
const updateStmt = this.#db.prepare(`
|
|
811
835
|
UPDATE task_storage
|
|
812
|
-
|
|
813
|
-
|
|
836
|
+
SET status = 'done', deleted = 1, closed_date = COALESCE(closed_date, ?), updated_at = ?
|
|
837
|
+
WHERE project_path = ? AND id IN (${placeholders})
|
|
814
838
|
`);
|
|
815
839
|
updateStmt.run(new Date(timestamp).toISOString(), timestamp, this.#projectPath, ...ids);
|
|
816
840
|
|
|
@@ -1110,11 +1134,145 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
1110
1134
|
}
|
|
1111
1135
|
|
|
1112
1136
|
async listUsers(): Promise<ListUsersResult> {
|
|
1113
|
-
|
|
1137
|
+
const query = this.#db.query(`
|
|
1138
|
+
SELECT id, name, type
|
|
1139
|
+
FROM task_user_storage
|
|
1140
|
+
WHERE project_path = ?
|
|
1141
|
+
ORDER BY name ASC
|
|
1142
|
+
`);
|
|
1143
|
+
|
|
1144
|
+
const rows = query.all(this.#projectPath) as Array<{
|
|
1145
|
+
id: string;
|
|
1146
|
+
name: string;
|
|
1147
|
+
type: 'human' | 'agent';
|
|
1148
|
+
}>;
|
|
1149
|
+
|
|
1150
|
+
return {
|
|
1151
|
+
users: rows.map((row) => ({
|
|
1152
|
+
id: row.id,
|
|
1153
|
+
name: row.name,
|
|
1154
|
+
type: row.type,
|
|
1155
|
+
})),
|
|
1156
|
+
};
|
|
1114
1157
|
}
|
|
1115
1158
|
|
|
1116
1159
|
async listProjects(): Promise<ListProjectsResult> {
|
|
1117
|
-
|
|
1160
|
+
const query = this.#db.query(`
|
|
1161
|
+
SELECT id, name
|
|
1162
|
+
FROM task_project_storage
|
|
1163
|
+
WHERE project_path = ?
|
|
1164
|
+
ORDER BY name ASC
|
|
1165
|
+
`);
|
|
1166
|
+
|
|
1167
|
+
const rows = query.all(this.#projectPath) as Array<{
|
|
1168
|
+
id: string;
|
|
1169
|
+
name: string;
|
|
1170
|
+
}>;
|
|
1171
|
+
|
|
1172
|
+
return {
|
|
1173
|
+
projects: rows.map((row) => ({
|
|
1174
|
+
id: row.id,
|
|
1175
|
+
name: row.name,
|
|
1176
|
+
})),
|
|
1177
|
+
};
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
async createUser(params: { name: string; type?: 'human' | 'agent' }): Promise<UserEntityRef> {
|
|
1181
|
+
const trimmedName = params?.name?.trim();
|
|
1182
|
+
if (!trimmedName) {
|
|
1183
|
+
throw new UserNameRequiredError();
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
const id = generateUserId();
|
|
1187
|
+
const timestamp = now();
|
|
1188
|
+
const type = params.type ?? 'human';
|
|
1189
|
+
|
|
1190
|
+
const stmt = this.#db.prepare(`
|
|
1191
|
+
INSERT INTO task_user_storage (
|
|
1192
|
+
project_path, id, name, type, created_at
|
|
1193
|
+
) VALUES (?, ?, ?, ?, ?)
|
|
1194
|
+
`);
|
|
1195
|
+
|
|
1196
|
+
stmt.run(this.#projectPath, id, trimmedName, type, timestamp);
|
|
1197
|
+
|
|
1198
|
+
return { id, name: trimmedName, type };
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
async getUser(userId: string): Promise<UserEntityRef> {
|
|
1202
|
+
const query = this.#db.query(`
|
|
1203
|
+
SELECT id, name, type
|
|
1204
|
+
FROM task_user_storage
|
|
1205
|
+
WHERE project_path = ? AND id = ?
|
|
1206
|
+
`);
|
|
1207
|
+
|
|
1208
|
+
const row = query.get(this.#projectPath, userId) as {
|
|
1209
|
+
id: string;
|
|
1210
|
+
name: string;
|
|
1211
|
+
type: 'human' | 'agent';
|
|
1212
|
+
} | null;
|
|
1213
|
+
|
|
1214
|
+
if (!row) {
|
|
1215
|
+
throw new UserNotFoundError();
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
return { id: row.id, name: row.name, type: row.type };
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
async deleteUser(userId: string): Promise<void> {
|
|
1222
|
+
const stmt = this.#db.prepare(`
|
|
1223
|
+
DELETE FROM task_user_storage
|
|
1224
|
+
WHERE project_path = ? AND id = ?
|
|
1225
|
+
`);
|
|
1226
|
+
|
|
1227
|
+
stmt.run(this.#projectPath, userId);
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
async createProject(params: { name: string }): Promise<EntityRef> {
|
|
1231
|
+
const trimmedName = params?.name?.trim();
|
|
1232
|
+
if (!trimmedName) {
|
|
1233
|
+
throw new ProjectNameRequiredError();
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
const id = generateProjectId();
|
|
1237
|
+
const timestamp = now();
|
|
1238
|
+
|
|
1239
|
+
const stmt = this.#db.prepare(`
|
|
1240
|
+
INSERT INTO task_project_storage (
|
|
1241
|
+
project_path, id, name, created_at
|
|
1242
|
+
) VALUES (?, ?, ?, ?)
|
|
1243
|
+
`);
|
|
1244
|
+
|
|
1245
|
+
stmt.run(this.#projectPath, id, trimmedName, timestamp);
|
|
1246
|
+
|
|
1247
|
+
return { id, name: trimmedName };
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
async getProject(projectId: string): Promise<EntityRef> {
|
|
1251
|
+
const query = this.#db.query(`
|
|
1252
|
+
SELECT id, name
|
|
1253
|
+
FROM task_project_storage
|
|
1254
|
+
WHERE project_path = ? AND id = ?
|
|
1255
|
+
`);
|
|
1256
|
+
|
|
1257
|
+
const row = query.get(this.#projectPath, projectId) as {
|
|
1258
|
+
id: string;
|
|
1259
|
+
name: string;
|
|
1260
|
+
} | null;
|
|
1261
|
+
|
|
1262
|
+
if (!row) {
|
|
1263
|
+
throw new ProjectNotFoundError();
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
return { id: row.id, name: row.name };
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
async deleteProject(projectId: string): Promise<void> {
|
|
1270
|
+
const stmt = this.#db.prepare(`
|
|
1271
|
+
DELETE FROM task_project_storage
|
|
1272
|
+
WHERE project_path = ? AND id = ?
|
|
1273
|
+
`);
|
|
1274
|
+
|
|
1275
|
+
stmt.run(this.#projectPath, projectId);
|
|
1118
1276
|
}
|
|
1119
1277
|
|
|
1120
1278
|
async getActivity(params?: TaskActivityParams): Promise<TaskActivityResult> {
|
|
@@ -1132,9 +1290,8 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
1132
1290
|
`SELECT
|
|
1133
1291
|
COALESCE(SUM(CASE WHEN status = 'open' THEN 1 ELSE 0 END), 0) as open,
|
|
1134
1292
|
COALESCE(SUM(CASE WHEN status = 'in_progress' THEN 1 ELSE 0 END), 0) as in_progress,
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
COALESCE(SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END), 0) as cancelled
|
|
1293
|
+
COALESCE(SUM(CASE WHEN status IN ('done', 'closed') THEN 1 ELSE 0 END), 0) as done,
|
|
1294
|
+
COALESCE(SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END), 0) as cancelled
|
|
1138
1295
|
FROM task_storage
|
|
1139
1296
|
WHERE project_path = ? AND date(created_at) = ?`
|
|
1140
1297
|
)
|
|
@@ -1142,7 +1299,6 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
1142
1299
|
open: number;
|
|
1143
1300
|
in_progress: number;
|
|
1144
1301
|
done: number;
|
|
1145
|
-
closed: number;
|
|
1146
1302
|
cancelled: number;
|
|
1147
1303
|
};
|
|
1148
1304
|
|
|
@@ -1151,7 +1307,6 @@ export class LocalTaskStorage implements TaskStorage {
|
|
|
1151
1307
|
open: row.open,
|
|
1152
1308
|
inProgress: row.in_progress,
|
|
1153
1309
|
done: row.done,
|
|
1154
|
-
closed: row.closed,
|
|
1155
1310
|
cancelled: row.cancelled,
|
|
1156
1311
|
});
|
|
1157
1312
|
}
|