@tt-a1i/hive 0.6.0-alpha.2 → 0.6.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.
- package/CHANGELOG.md +22 -0
- package/README.md +16 -9
- package/README.zh-CN.md +9 -12
- package/SECURITY.md +15 -3
- package/dist/src/cli/hive.d.ts +2 -0
- package/dist/src/cli/hive.js +49 -13
- package/dist/src/cli/hive.js.map +1 -1
- package/dist/src/cli/team.js +72 -9
- package/dist/src/cli/team.js.map +1 -1
- package/dist/src/server/agent-launch-cache.js +2 -0
- package/dist/src/server/agent-launch-cache.js.map +1 -1
- package/dist/src/server/agent-manager-support.js +88 -9
- package/dist/src/server/agent-manager-support.js.map +1 -1
- package/dist/src/server/agent-manager.js +0 -2
- package/dist/src/server/agent-manager.js.map +1 -1
- package/dist/src/server/agent-run-bootstrap.js +2 -0
- package/dist/src/server/agent-run-bootstrap.js.map +1 -1
- package/dist/src/server/agent-run-starter.js +2 -2
- package/dist/src/server/agent-run-starter.js.map +1 -1
- package/dist/src/server/agent-run-store.d.ts +5 -0
- package/dist/src/server/agent-run-store.js +18 -3
- package/dist/src/server/agent-run-store.js.map +1 -1
- package/dist/src/server/agent-runtime-close.js +3 -5
- package/dist/src/server/agent-runtime-close.js.map +1 -1
- package/dist/src/server/agent-runtime-contract.d.ts +4 -1
- package/dist/src/server/agent-runtime-ports.d.ts +1 -0
- package/dist/src/server/agent-runtime.js +22 -3
- package/dist/src/server/agent-runtime.js.map +1 -1
- package/dist/src/server/agent-startup-instructions.js +2 -2
- package/dist/src/server/agent-startup-instructions.js.map +1 -1
- package/dist/src/server/agent-stdin-dispatcher.d.ts +4 -1
- package/dist/src/server/agent-stdin-dispatcher.js +12 -3
- package/dist/src/server/agent-stdin-dispatcher.js.map +1 -1
- package/dist/src/server/app.js +2 -0
- package/dist/src/server/app.js.map +1 -1
- package/dist/src/server/command-preset-defaults.js +1 -1
- package/dist/src/server/command-preset-defaults.js.map +1 -1
- package/dist/src/server/dispatch-ledger-store.d.ts +7 -1
- package/dist/src/server/dispatch-ledger-store.js +39 -6
- package/dist/src/server/dispatch-ledger-store.js.map +1 -1
- package/dist/src/server/hive-team-guidance.js +3 -2
- package/dist/src/server/hive-team-guidance.js.map +1 -1
- package/dist/src/server/http-errors.d.ts +6 -0
- package/dist/src/server/http-errors.js +12 -0
- package/dist/src/server/http-errors.js.map +1 -1
- package/dist/src/server/local-request-guard.d.ts +3 -0
- package/dist/src/server/local-request-guard.js +42 -0
- package/dist/src/server/local-request-guard.js.map +1 -0
- package/dist/src/server/message-log-store.d.ts +7 -2
- package/dist/src/server/message-log-store.js +10 -6
- package/dist/src/server/message-log-store.js.map +1 -1
- package/dist/src/server/orchestrator-launch.d.ts +7 -5
- package/dist/src/server/orchestrator-launch.js +28 -6
- package/dist/src/server/orchestrator-launch.js.map +1 -1
- package/dist/src/server/post-start-input-writer.d.ts +1 -1
- package/dist/src/server/post-start-input-writer.js +15 -4
- package/dist/src/server/post-start-input-writer.js.map +1 -1
- package/dist/src/server/recovery-summary.js +4 -2
- package/dist/src/server/recovery-summary.js.map +1 -1
- package/dist/src/server/route-helpers.d.ts +3 -1
- package/dist/src/server/route-helpers.js +16 -2
- package/dist/src/server/route-helpers.js.map +1 -1
- package/dist/src/server/route-types.d.ts +3 -0
- package/dist/src/server/routes-settings.js +25 -11
- package/dist/src/server/routes-settings.js.map +1 -1
- package/dist/src/server/routes-team.js +64 -12
- package/dist/src/server/routes-team.js.map +1 -1
- package/dist/src/server/routes-workspaces.js +9 -3
- package/dist/src/server/routes-workspaces.js.map +1 -1
- package/dist/src/server/runtime-message-builders.d.ts +1 -0
- package/dist/src/server/runtime-message-builders.js +9 -0
- package/dist/src/server/runtime-message-builders.js.map +1 -1
- package/dist/src/server/runtime-store-helpers.js +2 -1
- package/dist/src/server/runtime-store-helpers.js.map +1 -1
- package/dist/src/server/runtime-store.d.ts +3 -2
- package/dist/src/server/runtime-store.js +1 -0
- package/dist/src/server/runtime-store.js.map +1 -1
- package/dist/src/server/sqlite-schema-v15.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v15.js +74 -0
- package/dist/src/server/sqlite-schema-v15.js.map +1 -0
- package/dist/src/server/sqlite-schema-v16.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v16.js +7 -0
- package/dist/src/server/sqlite-schema-v16.js.map +1 -0
- package/dist/src/server/sqlite-schema-v17.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v17.js +16 -0
- package/dist/src/server/sqlite-schema-v17.js.map +1 -0
- package/dist/src/server/sqlite-schema-v18.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v18.js +7 -0
- package/dist/src/server/sqlite-schema-v18.js.map +1 -0
- package/dist/src/server/sqlite-schema.d.ts +1 -1
- package/dist/src/server/sqlite-schema.js +23 -1
- package/dist/src/server/sqlite-schema.js.map +1 -1
- package/dist/src/server/startup-command-parser.d.ts +5 -0
- package/dist/src/server/startup-command-parser.js +38 -0
- package/dist/src/server/startup-command-parser.js.map +1 -0
- package/dist/src/server/tasks-websocket-server.js +5 -0
- package/dist/src/server/tasks-websocket-server.js.map +1 -1
- package/dist/src/server/team-authz.d.ts +1 -1
- package/dist/src/server/team-authz.js +2 -2
- package/dist/src/server/team-authz.js.map +1 -1
- package/dist/src/server/team-operations.d.ts +23 -2
- package/dist/src/server/team-operations.js +50 -9
- package/dist/src/server/team-operations.js.map +1 -1
- package/dist/src/server/terminal-ws-server.js +5 -0
- package/dist/src/server/terminal-ws-server.js.map +1 -1
- package/dist/src/server/workspace-path-validation.d.ts +1 -0
- package/dist/src/server/workspace-path-validation.js +27 -0
- package/dist/src/server/workspace-path-validation.js.map +1 -0
- package/dist/src/server/workspace-store-support.js +1 -1
- package/dist/src/server/workspace-store-support.js.map +1 -1
- package/dist/src/server/workspace-store.js +13 -8
- package/dist/src/server/workspace-store.js.map +1 -1
- package/package.json +2 -1
- package/web/dist/assets/index-CIlOwuEZ.js +70 -0
- package/web/dist/assets/index-eyw1Uar8.css +1 -0
- package/web/dist/index.html +4 -4
- package/web/dist/assets/index-BGhNuRRP.css +0 -1
- package/web/dist/assets/index-D8sy4JED.js +0 -75
|
@@ -1,12 +1,26 @@
|
|
|
1
|
+
import { PayloadTooLargeError } from './http-errors.js';
|
|
2
|
+
const DEFAULT_JSON_BODY_LIMIT_BYTES = 1024 * 1024;
|
|
1
3
|
export const sendJson = (response, statusCode, body) => {
|
|
2
4
|
response.statusCode = statusCode;
|
|
3
5
|
response.setHeader('content-type', 'application/json; charset=utf-8');
|
|
4
6
|
response.end(JSON.stringify(body));
|
|
5
7
|
};
|
|
6
|
-
export const readJsonBody = async (request) => {
|
|
8
|
+
export const readJsonBody = async (request, options = {}) => {
|
|
9
|
+
const limitBytes = options.limitBytes ?? DEFAULT_JSON_BODY_LIMIT_BYTES;
|
|
10
|
+
const rawContentLength = request.headers['content-length'];
|
|
11
|
+
const contentLength = Array.isArray(rawContentLength) ? rawContentLength[0] : rawContentLength;
|
|
12
|
+
if (contentLength && Number(contentLength) > limitBytes) {
|
|
13
|
+
throw new PayloadTooLargeError('Request body too large');
|
|
14
|
+
}
|
|
7
15
|
const chunks = [];
|
|
16
|
+
let totalBytes = 0;
|
|
8
17
|
for await (const chunk of request) {
|
|
9
|
-
|
|
18
|
+
const buffer = typeof chunk === 'string' ? Buffer.from(chunk) : chunk;
|
|
19
|
+
totalBytes += buffer.byteLength;
|
|
20
|
+
if (totalBytes > limitBytes) {
|
|
21
|
+
throw new PayloadTooLargeError('Request body too large');
|
|
22
|
+
}
|
|
23
|
+
chunks.push(buffer);
|
|
10
24
|
}
|
|
11
25
|
return JSON.parse(Buffer.concat(chunks).toString('utf8'));
|
|
12
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-helpers.js","sourceRoot":"","sources":["../../../src/server/route-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route-helpers.js","sourceRoot":"","sources":["../../../src/server/route-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export interface SendTaskBody {
|
|
|
12
12
|
text: string;
|
|
13
13
|
}
|
|
14
14
|
export interface ReportTaskBody {
|
|
15
|
+
dispatch_id?: string;
|
|
15
16
|
project_id: string;
|
|
16
17
|
from_agent_id: string;
|
|
17
18
|
token?: string;
|
|
@@ -26,6 +27,8 @@ export interface CreateWorkspaceBody {
|
|
|
26
27
|
autostart_orchestrator?: boolean;
|
|
27
28
|
/** Optional command preset to use for the initial orchestrator launch. */
|
|
28
29
|
command_preset_id?: string | null;
|
|
30
|
+
/** Optional full startup command. When set, this overrides command_preset_id. */
|
|
31
|
+
startup_command?: string | null;
|
|
29
32
|
}
|
|
30
33
|
export interface CreateWorkerBody {
|
|
31
34
|
autostart?: boolean;
|
|
@@ -1,16 +1,30 @@
|
|
|
1
|
+
import { resolveCommandPath } from './agent-command-resolver.js';
|
|
1
2
|
import { getRequiredParam, readJsonBody, route, sendJson } from './route-helpers.js';
|
|
2
3
|
import { requireUiTokenFromRequest } from './ui-auth-helpers.js';
|
|
3
|
-
const serializeCommandPreset = (preset) =>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
4
|
+
const serializeCommandPreset = (preset) => {
|
|
5
|
+
let available = false;
|
|
6
|
+
try {
|
|
7
|
+
if (preset.command.trim()) {
|
|
8
|
+
resolveCommandPath(preset.command, process.cwd(), { ...process.env, ...preset.env });
|
|
9
|
+
available = true;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
available = false;
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
id: preset.id,
|
|
17
|
+
display_name: preset.displayName,
|
|
18
|
+
command: preset.command,
|
|
19
|
+
args: preset.args,
|
|
20
|
+
env: preset.env,
|
|
21
|
+
resume_args_template: preset.resumeArgsTemplate,
|
|
22
|
+
session_id_capture: preset.sessionIdCapture,
|
|
23
|
+
yolo_args_template: preset.yoloArgsTemplate,
|
|
24
|
+
is_builtin: preset.isBuiltin,
|
|
25
|
+
available,
|
|
26
|
+
};
|
|
27
|
+
};
|
|
14
28
|
const serializeRoleTemplate = (template) => ({
|
|
15
29
|
id: template.id,
|
|
16
30
|
name: template.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-settings.js","sourceRoot":"","sources":["../../../src/server/routes-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAqBhE,MAAM,sBAAsB,GAAG,CAAC,MAU/B,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"routes-settings.js","sourceRoot":"","sources":["../../../src/server/routes-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +1,102 @@
|
|
|
1
|
+
import { BadRequestError } from './http-errors.js';
|
|
1
2
|
import { readJsonBody, route, sendJson } from './route-helpers.js';
|
|
2
3
|
import { authenticateCliAgent, requireCommandForRole } from './team-authz.js';
|
|
4
|
+
const requireNonEmptyString = (value, field) => {
|
|
5
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
6
|
+
throw new BadRequestError(`Missing ${field}`);
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
};
|
|
10
|
+
const getArtifacts = (value) => Array.isArray(value) ? value.filter((item) => typeof item === 'string') : [];
|
|
3
11
|
export const teamRoutes = [
|
|
4
12
|
route('POST', '/api/team/send', async ({ request, response, store }) => {
|
|
5
13
|
const body = await readJsonBody(request);
|
|
14
|
+
const projectId = requireNonEmptyString(body.project_id, 'project_id');
|
|
15
|
+
const fromAgentId = requireNonEmptyString(body.from_agent_id, 'from_agent_id');
|
|
16
|
+
const to = requireNonEmptyString(body.to, 'to');
|
|
17
|
+
const text = requireNonEmptyString(body.text, 'text');
|
|
6
18
|
const agent = authenticateCliAgent({
|
|
7
|
-
fromAgentId
|
|
19
|
+
fromAgentId,
|
|
8
20
|
getAgent: store.getAgent,
|
|
9
21
|
token: body.token,
|
|
10
22
|
validateToken: store.validateAgentToken,
|
|
11
|
-
workspaceId:
|
|
23
|
+
workspaceId: projectId,
|
|
12
24
|
});
|
|
13
25
|
requireCommandForRole(agent, 'send');
|
|
14
|
-
const dispatch = await store.dispatchTaskByWorkerName(
|
|
15
|
-
fromAgentId
|
|
26
|
+
const dispatch = await store.dispatchTaskByWorkerName(projectId, to, text, {
|
|
27
|
+
fromAgentId,
|
|
16
28
|
hivePort: String(request.socket.localPort ?? ''),
|
|
17
29
|
});
|
|
18
30
|
sendJson(response, 202, { dispatch_id: dispatch.id, ok: true });
|
|
19
31
|
}),
|
|
20
32
|
route('POST', '/api/team/report', async ({ request, response, store }) => {
|
|
21
33
|
const body = await readJsonBody(request);
|
|
34
|
+
const projectId = requireNonEmptyString(body.project_id, 'project_id');
|
|
35
|
+
const fromAgentId = requireNonEmptyString(body.from_agent_id, 'from_agent_id');
|
|
36
|
+
const resultText = requireNonEmptyString(body.result, 'result');
|
|
22
37
|
const agent = authenticateCliAgent({
|
|
23
|
-
fromAgentId
|
|
38
|
+
fromAgentId,
|
|
24
39
|
getAgent: store.getAgent,
|
|
25
40
|
token: body.token,
|
|
26
41
|
validateToken: store.validateAgentToken,
|
|
27
|
-
workspaceId:
|
|
42
|
+
workspaceId: projectId,
|
|
28
43
|
});
|
|
29
44
|
requireCommandForRole(agent, 'report');
|
|
30
45
|
const reportInput = {
|
|
31
|
-
artifacts: (body.artifacts
|
|
46
|
+
artifacts: getArtifacts(body.artifacts),
|
|
47
|
+
...(typeof body.dispatch_id === 'string' ? { dispatchId: body.dispatch_id } : {}),
|
|
32
48
|
requireActiveRun: true,
|
|
33
|
-
text:
|
|
49
|
+
text: resultText,
|
|
34
50
|
};
|
|
35
51
|
if (typeof body.status === 'string') {
|
|
36
|
-
const
|
|
52
|
+
const result = store.reportTask(projectId, fromAgentId, {
|
|
37
53
|
...reportInput,
|
|
38
54
|
status: body.status,
|
|
39
55
|
});
|
|
40
|
-
sendJson(response, 202, {
|
|
56
|
+
sendJson(response, 202, {
|
|
57
|
+
dispatch_id: result.dispatch?.id ?? null,
|
|
58
|
+
forward_error: result.forwardError,
|
|
59
|
+
forwarded: result.forwarded,
|
|
60
|
+
ok: true,
|
|
61
|
+
});
|
|
41
62
|
return;
|
|
42
63
|
}
|
|
43
64
|
else {
|
|
44
|
-
const
|
|
45
|
-
sendJson(response, 202, {
|
|
65
|
+
const result = store.reportTask(projectId, fromAgentId, reportInput);
|
|
66
|
+
sendJson(response, 202, {
|
|
67
|
+
dispatch_id: result.dispatch?.id ?? null,
|
|
68
|
+
forward_error: result.forwardError,
|
|
69
|
+
forwarded: result.forwarded,
|
|
70
|
+
ok: true,
|
|
71
|
+
});
|
|
46
72
|
return;
|
|
47
73
|
}
|
|
48
74
|
}),
|
|
75
|
+
route('POST', '/api/team/status', async ({ request, response, store }) => {
|
|
76
|
+
const body = await readJsonBody(request);
|
|
77
|
+
const projectId = requireNonEmptyString(body.project_id, 'project_id');
|
|
78
|
+
const fromAgentId = requireNonEmptyString(body.from_agent_id, 'from_agent_id');
|
|
79
|
+
const resultText = requireNonEmptyString(body.result, 'result');
|
|
80
|
+
const agent = authenticateCliAgent({
|
|
81
|
+
fromAgentId,
|
|
82
|
+
getAgent: store.getAgent,
|
|
83
|
+
token: body.token,
|
|
84
|
+
validateToken: store.validateAgentToken,
|
|
85
|
+
workspaceId: projectId,
|
|
86
|
+
});
|
|
87
|
+
requireCommandForRole(agent, 'status');
|
|
88
|
+
const result = store.statusTask(projectId, fromAgentId, {
|
|
89
|
+
artifacts: getArtifacts(body.artifacts),
|
|
90
|
+
requireActiveRun: true,
|
|
91
|
+
text: resultText,
|
|
92
|
+
});
|
|
93
|
+
sendJson(response, 202, {
|
|
94
|
+
dispatch_id: result.dispatch?.id ?? null,
|
|
95
|
+
forward_error: result.forwardError,
|
|
96
|
+
forwarded: result.forwarded,
|
|
97
|
+
ok: true,
|
|
98
|
+
});
|
|
99
|
+
return;
|
|
100
|
+
}),
|
|
49
101
|
];
|
|
50
102
|
//# sourceMappingURL=routes-team.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-team.js","sourceRoot":"","sources":["../../../src/server/routes-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAe,OAAO,CAAC,CAAA;QACtD,MAAM,
|
|
1
|
+
{"version":3,"file":"routes-team.js","sourceRoot":"","sources":["../../../src/server/routes-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAE,KAAa,EAAE,EAAE;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,eAAe,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE,CACtC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAE9F,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAe,OAAO,CAAC,CAAA;QACtD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACtE,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;QAC9E,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACjC,WAAW;YACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,KAAK,CAAC,kBAAkB;YACvC,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;QACF,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE;YACzE,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SACjD,CAAC,CAAA;QAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACjE,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAiB,OAAO,CAAC,CAAA;QACxD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACtE,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;QAC9E,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACjC,WAAW;YACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,KAAK,CAAC,kBAAkB;YACvC,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;QACF,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACtC,MAAM,WAAW,GAAG;YAClB,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YACvC,GAAG,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,UAAU;SACjB,CAAA;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE;gBACtD,GAAG,WAAW;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;YACF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACtB,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI;gBACxC,aAAa,EAAE,MAAM,CAAC,YAAY;gBAClC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,EAAE,EAAE,IAAI;aACT,CAAC,CAAA;YACF,OAAM;QACR,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;YACpE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACtB,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI;gBACxC,aAAa,EAAE,MAAM,CAAC,YAAY;gBAClC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,EAAE,EAAE,IAAI;aACT,CAAC,CAAA;YACF,OAAM;QACR,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAiB,OAAO,CAAC,CAAA;QACxD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACtE,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;QAC9E,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACjC,WAAW;YACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,KAAK,CAAC,kBAAkB;YACvC,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;QACF,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE;YACtD,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YACvC,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAA;QACF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI;YACxC,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,EAAE,EAAE,IAAI;SACT,CAAC,CAAA;QACF,OAAM;IACR,CAAC,CAAC;CACH,CAAA"}
|
|
@@ -4,6 +4,7 @@ import { getRequiredParam, readJsonBody, route, sendJson } from './route-helpers
|
|
|
4
4
|
import { authenticateCliAgent, requireCommandForRole } from './team-authz.js';
|
|
5
5
|
import { serializeTeamListItem } from './team-list-serializer.js';
|
|
6
6
|
import { requireUiTokenFromRequest } from './ui-auth-helpers.js';
|
|
7
|
+
import { validateWorkspacePath } from './workspace-path-validation.js';
|
|
7
8
|
import { getOrchestratorId } from './workspace-store-support.js';
|
|
8
9
|
const enrichWithLastOutput = (workspaceId, store, workers) => workers.map((worker) => {
|
|
9
10
|
const line = store.getLastOutputLineForAgent(workspaceId, worker.id);
|
|
@@ -26,7 +27,10 @@ export const workspaceRoutes = [
|
|
|
26
27
|
route('POST', '/api/workspaces', async ({ request, response, store }) => {
|
|
27
28
|
requireUiTokenFromRequest(request, store.validateUiToken);
|
|
28
29
|
const body = await readJsonBody(request);
|
|
29
|
-
const
|
|
30
|
+
const startupCommand = typeof body.startup_command === 'string' ? body.startup_command : null;
|
|
31
|
+
const workspacePath = validateWorkspacePath(body.path);
|
|
32
|
+
const workspace = store.createWorkspace(workspacePath, body.name);
|
|
33
|
+
seedOrchestratorLaunchConfig(store, store.settings, workspace.id, body.command_preset_id ?? null, startupCommand);
|
|
30
34
|
const autostart = body.autostart_orchestrator !== false;
|
|
31
35
|
if (!autostart) {
|
|
32
36
|
sendJson(response, 201, {
|
|
@@ -35,7 +39,6 @@ export const workspaceRoutes = [
|
|
|
35
39
|
});
|
|
36
40
|
return;
|
|
37
41
|
}
|
|
38
|
-
seedOrchestratorLaunchConfig(store, store.settings, workspace.id, body.command_preset_id ?? null);
|
|
39
42
|
// Spawn failure must NOT block workspace creation — see AGENTS.md §1
|
|
40
43
|
// (no try/catch fallbacks in production code, but `autostartOrchestrator`
|
|
41
44
|
// captures the failure as a structured result instead of throwing).
|
|
@@ -153,7 +156,10 @@ export const workspaceRoutes = [
|
|
|
153
156
|
!store.peekAgentLaunchConfig(workspaceId, agentId)) {
|
|
154
157
|
seedOrchestratorLaunchConfig(store, store.settings, workspaceId);
|
|
155
158
|
}
|
|
156
|
-
|
|
159
|
+
const run = await store.startAgent(workspaceId, agentId, {
|
|
160
|
+
hivePort: getRuntimePort(request),
|
|
161
|
+
});
|
|
162
|
+
sendJson(response, 201, { run_id: run.runId });
|
|
157
163
|
}),
|
|
158
164
|
];
|
|
159
165
|
//# sourceMappingURL=routes-workspaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-workspaces.js","sourceRoot":"","sources":["../../../src/server/routes-workspaces.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAQpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,MAAM,oBAAoB,GAAG,CAC3B,WAAmB,EACnB,KAAsD,EACtD,OAAgD,EAChD,EAAE,CACF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,KAAK,CAAC,yBAAyB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACpE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;AACrE,CAAC,CAAC,CAAA;AAEJ,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,KAAmB,EAAE,EAAE;IACzF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;IAClF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,yBAAyB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IACnE,OAAO,qBAAqB,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;AAC5F,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,OAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/D,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACtE,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAsB,OAAO,CAAC,CAAA;QAC7D,MAAM,
|
|
1
|
+
{"version":3,"file":"routes-workspaces.js","sourceRoot":"","sources":["../../../src/server/routes-workspaces.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAQpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,MAAM,oBAAoB,GAAG,CAC3B,WAAmB,EACnB,KAAsD,EACtD,OAAgD,EAChD,EAAE,CACF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,KAAK,CAAC,yBAAyB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACpE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;AACrE,CAAC,CAAC,CAAA;AAEJ,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,KAAmB,EAAE,EAAE;IACzF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;IAClF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,yBAAyB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IACnE,OAAO,qBAAqB,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;AAC5F,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,OAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/D,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACtE,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAsB,OAAO,CAAC,CAAA;QAC7D,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7F,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACjE,4BAA4B,CAC1B,KAAK,EACL,KAAK,CAAC,QAAQ,EACd,SAAS,CAAC,EAAE,EACZ,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAC9B,cAAc,CACf,CAAA;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,KAAK,KAAK,CAAA;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACtB,GAAG,SAAS;gBACZ,kBAAkB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;aAC7D,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,qEAAqE;QACrE,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CACnD,KAAK,EACL,SAAS,CAAC,EAAE,EACZ,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,EAC/B,cAAc,CAAC,OAAO,CAAC,CACxB,CAAA;QACD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,CAAA;IAClF,CAAC,CAAC;IACF,KAAK,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7F,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,0BAA0B,CAC3B,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QACxC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,CAAA;IAChB,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,sCAAsC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC5F,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,0BAA0B,CAC3B,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QAEzD,QAAQ,CACN,QAAQ,EACR,GAAG,EACH,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAC1E,qBAAqB,CACtB,CACF,CAAA;IACH,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,mCAAmC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACzF,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,0BAA0B,CAC3B,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACjC,WAAW,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YAC9D,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACpD,aAAa,EAAE,KAAK,CAAC,kBAAkB;YACvC,WAAW;SACZ,CAAC,CAAA;QACF,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEpC,QAAQ,CACN,QAAQ,EACR,GAAG,EACH,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAC1E,qBAAqB,CACtB,CACF,CAAA;IACH,CAAC,CAAC;IACF,KAAK,CACH,MAAM,EACN,sCAAsC,EACtC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7C,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,0BAA0B,CAC3B,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QAEzD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAmB,OAAO,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAA;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YACxD,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAA;YACrE,KAAK,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE;gBACjD,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,eAAe,EAAE,MAAM,CAAC,EAAE;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,UAAU,GACd,IAAI,CAAC,SAAS,KAAK,IAAI;YACrB,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;gBAC3E,kBAAkB,EAAE,mCAAmC;aACxD,CAAC;YACJ,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAE9C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,GAAG,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC;YACrD,WAAW,EAAE,UAAU;SACxB,CAAC,CAAA;IACJ,CAAC,CACF;IACD,KAAK,CACH,QAAQ,EACR,gDAAgD,EAChD,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACvC,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,yCAAyC,CAC1C,CAAA;QACD,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,QAAQ,EACR,MAAM,EACN,UAAU,EACV,yCAAyC,CAC1C,CAAA;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAM;QACR,CAAC;QAED,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACzC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,CAAA;IAChB,CAAC,CACF;IACD,KAAK,CACH,OAAO,EACP,gDAAgD,EAChD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7C,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,yCAAyC,CAC1C,CAAA;QACD,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,QAAQ,EACR,MAAM,EACN,UAAU,EACV,yCAAyC,CAC1C,CAAA;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAM;QACR,CAAC;QAED,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAoB,OAAO,CAAC,CAAA;QAC3D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5E,CAAC,CACF;IACD,KAAK,CACH,MAAM,EACN,yCAAyC,EACzC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7C,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,0BAA0B,CAC3B,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QAEzD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAgB,OAAO,CAAC,CAAA;QACvD,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,WAAW,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5E,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC,CACF;IACD,KAAK,CACH,MAAM,EACN,oDAAoD,EACpD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7C,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,wCAAwC,CACzC,CAAA;QACD,MAAM,OAAO,GAAG,gBAAgB,CAC9B,QAAQ,EACR,MAAM,EACN,SAAS,EACT,wCAAwC,CACzC,CAAA;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QAED,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QAEzD,IACE,OAAO,KAAK,iBAAiB,CAAC,WAAW,CAAC;YAC1C,CAAC,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,EAClD,CAAC;YACD,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAClE,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE;YACvD,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;SAClC,CAAC,CAAA;QACF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC,CACF;CACF,CAAA"}
|
|
@@ -2,5 +2,6 @@ import type { MessageLogRecord } from './message-log-store.js';
|
|
|
2
2
|
export declare const createUserInputMessage: (workspaceId: string, orchestratorId: string, text: string) => MessageLogRecord;
|
|
3
3
|
export declare const createSendMessage: (workspaceId: string, workerId: string, text: string, fromAgentId?: string) => MessageLogRecord;
|
|
4
4
|
export declare const createReportMessage: (workspaceId: string, workerId: string, text: string, status: string | undefined, artifacts: string[]) => MessageLogRecord;
|
|
5
|
+
export declare const createStatusMessage: (workspaceId: string, workerId: string, text: string, artifacts: string[]) => MessageLogRecord;
|
|
5
6
|
export declare const createSystemEnvSyncMessage: (workspaceId: string, agentId: string, text: string) => MessageLogRecord;
|
|
6
7
|
export declare const createSystemRecoverySummaryMessage: (workspaceId: string, agentId: string, text: string) => MessageLogRecord;
|
|
@@ -33,6 +33,15 @@ export const createReportMessage = (workspaceId, workerId, text, status, artifac
|
|
|
33
33
|
message.status = status;
|
|
34
34
|
return message;
|
|
35
35
|
};
|
|
36
|
+
export const createStatusMessage = (workspaceId, workerId, text, artifacts) => ({
|
|
37
|
+
artifacts,
|
|
38
|
+
createdAt: Date.now(),
|
|
39
|
+
fromAgentId: workerId,
|
|
40
|
+
text,
|
|
41
|
+
type: 'status',
|
|
42
|
+
workerId,
|
|
43
|
+
workspaceId,
|
|
44
|
+
});
|
|
36
45
|
export const createSystemEnvSyncMessage = (workspaceId, agentId, text) => ({
|
|
37
46
|
createdAt: Date.now(),
|
|
38
47
|
text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-message-builders.js","sourceRoot":"","sources":["../../../src/server/runtime-message-builders.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,WAAmB,EACnB,cAAsB,EACtB,IAAY,EACM,EAAE,CAAC,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,IAAI;IACJ,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,cAAc;IACxB,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,WAAmB,EACnB,QAAgB,EAChB,IAAY,EACZ,WAAoB,EACF,EAAE;IACpB,MAAM,OAAO,GAAqB;QAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI;QACJ,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,WAAW;KACZ,CAAA;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;IACnC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,QAAgB,EAChB,IAAY,EACZ,MAA0B,EAC1B,SAAmB,EACD,EAAE;IACpB,MAAM,OAAO,GAAqB;QAChC,SAAS;QACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,WAAW,EAAE,QAAQ;QACrB,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,WAAW;KACZ,CAAA;IACD,IAAI,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACnC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,WAAmB,EACnB,OAAe,EACf,IAAY,EACM,EAAE,CAAC,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,IAAI;IACJ,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,OAAO;IACjB,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,WAAmB,EACnB,OAAe,EACf,IAAY,EACM,EAAE,CAAC,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,IAAI;IACJ,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,yBAAyB;IAC/B,QAAQ,EAAE,OAAO;IACjB,WAAW;CACZ,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"runtime-message-builders.js","sourceRoot":"","sources":["../../../src/server/runtime-message-builders.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,WAAmB,EACnB,cAAsB,EACtB,IAAY,EACM,EAAE,CAAC,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,IAAI;IACJ,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,cAAc;IACxB,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,WAAmB,EACnB,QAAgB,EAChB,IAAY,EACZ,WAAoB,EACF,EAAE;IACpB,MAAM,OAAO,GAAqB;QAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI;QACJ,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,WAAW;KACZ,CAAA;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;IACnC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,QAAgB,EAChB,IAAY,EACZ,MAA0B,EAC1B,SAAmB,EACD,EAAE;IACpB,MAAM,OAAO,GAAqB;QAChC,SAAS;QACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,WAAW,EAAE,QAAQ;QACrB,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,WAAW;KACZ,CAAA;IACD,IAAI,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACnC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,QAAgB,EAChB,IAAY,EACZ,SAAmB,EACD,EAAE,CAAC,CAAC;IACtB,SAAS;IACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,WAAW,EAAE,QAAQ;IACrB,IAAI;IACJ,IAAI,EAAE,QAAQ;IACd,QAAQ;IACR,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,WAAmB,EACnB,OAAe,EACf,IAAY,EACM,EAAE,CAAC,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,IAAI;IACJ,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,OAAO;IACjB,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,WAAmB,EACnB,OAAe,EACf,IAAY,EACM,EAAE,CAAC,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,IAAI;IACJ,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,yBAAyB;IAC/B,QAAQ,EAAE,OAAO;IACjB,WAAW;CACZ,CAAC,CAAA"}
|
|
@@ -35,7 +35,8 @@ export const createRuntimeStoreServices = (options = {}) => {
|
|
|
35
35
|
const uiAuth = createUiAuth();
|
|
36
36
|
messageLogStore.initialize();
|
|
37
37
|
agentRunStore.initialize();
|
|
38
|
-
|
|
38
|
+
agentRunStore.markUnfinishedRunsStale?.();
|
|
39
|
+
const workspaceStore = createWorkspaceStore(db, dispatchLedgerStore.listOpenDispatchKinds());
|
|
39
40
|
const startExistingWorkspaceWatches = () => {
|
|
40
41
|
for (const workspace of workspaceStore.listWorkspaces()) {
|
|
41
42
|
void tasksFileWatcher.start(workspace.id, workspace.path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-store-helpers.js","sourceRoot":"","sources":["../../../src/server/runtime-store-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,yBAAyB,EAA4B,MAAM,4BAA4B,CAAA;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AA4B3D,MAAM,kBAAkB,GAAG,CACzB,SAA8D,EAC9D,WAAmB,EACnB,OAAe,EACf,EAAE;IACF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,UAA6C,EAAE,EACzB,EAAE;IACxB,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;IACjD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAA;IACzD,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;IAC7C,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;IACxC,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAA;IACjD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkD,CAAA;IACzF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;QAC9C,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;YACvC,kBAAkB,CAAC,uBAAuB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QACnE,CAAC;KACF,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAE7B,eAAe,CAAC,UAAU,EAAE,CAAA;IAC5B,aAAa,CAAC,UAAU,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime-store-helpers.js","sourceRoot":"","sources":["../../../src/server/runtime-store-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { DispatchRecord, ListDispatchesOptions } from './dispatch-ledger-st
|
|
|
6
6
|
import type { RecoveryMessage } from './message-log-store.js';
|
|
7
7
|
import type { PtyOutputBus } from './pty-output-bus.js';
|
|
8
8
|
import type { SettingsStore } from './settings-store.js';
|
|
9
|
-
import type { DispatchTaskInput, ReportTaskInput } from './team-operations.js';
|
|
9
|
+
import type { DispatchTaskInput, ReportTaskInput, ReportTaskResult, StatusTaskInput } from './team-operations.js';
|
|
10
10
|
import type { WorkerInput, WorkspaceRecord } from './workspace-store.js';
|
|
11
11
|
interface RuntimeStore {
|
|
12
12
|
close: () => Promise<void>;
|
|
@@ -19,7 +19,8 @@ interface RuntimeStore {
|
|
|
19
19
|
recordUserInput: (workspaceId: string, orchestratorId: string, text: string) => void;
|
|
20
20
|
dispatchTask: (workspaceId: string, workerId: string, text: string, input?: DispatchTaskInput) => Promise<DispatchRecord>;
|
|
21
21
|
dispatchTaskByWorkerName: (workspaceId: string, workerName: string, text: string, input?: DispatchTaskInput) => Promise<DispatchRecord>;
|
|
22
|
-
reportTask: (workspaceId: string, workerId: string, input?: ReportTaskInput) =>
|
|
22
|
+
reportTask: (workspaceId: string, workerId: string, input?: ReportTaskInput) => ReportTaskResult;
|
|
23
|
+
statusTask: (workspaceId: string, workerId: string, input?: StatusTaskInput) => ReportTaskResult;
|
|
23
24
|
listDispatches: (workspaceId: string, options?: ListDispatchesOptions) => DispatchRecord[];
|
|
24
25
|
listWorkers: (workspaceId: string) => TeamListItem[];
|
|
25
26
|
getLastOutputLineForAgent: (workspaceId: string, agentId: string) => string | null;
|
|
@@ -50,6 +50,7 @@ export const createRuntimeStore = (options = {}) => {
|
|
|
50
50
|
dispatchTask: services.teamOps.dispatchTask,
|
|
51
51
|
dispatchTaskByWorkerName: services.teamOps.dispatchTaskByWorkerName,
|
|
52
52
|
reportTask: services.teamOps.reportTask,
|
|
53
|
+
statusTask: services.teamOps.statusTask,
|
|
53
54
|
listDispatches: services.dispatchLedgerStore.listWorkspaceDispatches,
|
|
54
55
|
listWorkers: (workspaceId) => services.workspaceStore.listWorkers(workspaceId),
|
|
55
56
|
getLastOutputLineForAgent: (workspaceId, agentId) => services.workerOutputTracker?.getLastOutputLine(workspaceId, agentId) ?? null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-store.js","sourceRoot":"","sources":["../../../src/server/runtime-store.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime-store.js","sourceRoot":"","sources":["../../../src/server/runtime-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
const getDispatchColumns = (db) => new Set(db.prepare('PRAGMA table_info(dispatches)').all().map((column) => column.name));
|
|
2
|
+
const createDispatchIndexes = (db) => {
|
|
3
|
+
db.exec(`
|
|
4
|
+
CREATE INDEX IF NOT EXISTS idx_dispatches_workspace_created_at
|
|
5
|
+
ON dispatches (workspace_id, sequence);
|
|
6
|
+
|
|
7
|
+
CREATE INDEX IF NOT EXISTS idx_dispatches_open_by_worker
|
|
8
|
+
ON dispatches (workspace_id, to_agent_id, status, sequence);
|
|
9
|
+
`);
|
|
10
|
+
};
|
|
11
|
+
export const applySchemaVersion15 = (db) => {
|
|
12
|
+
const dispatchColumns = getDispatchColumns(db);
|
|
13
|
+
if (dispatchColumns.size === 0)
|
|
14
|
+
return;
|
|
15
|
+
db.exec(`
|
|
16
|
+
DROP INDEX IF EXISTS idx_dispatches_workspace_created_at;
|
|
17
|
+
DROP INDEX IF EXISTS idx_dispatches_open_by_worker;
|
|
18
|
+
`);
|
|
19
|
+
if (!dispatchColumns.has('sequence')) {
|
|
20
|
+
db.exec(`
|
|
21
|
+
ALTER TABLE dispatches RENAME TO dispatches_legacy_v15;
|
|
22
|
+
|
|
23
|
+
CREATE TABLE dispatches (
|
|
24
|
+
sequence INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
25
|
+
id TEXT NOT NULL UNIQUE,
|
|
26
|
+
workspace_id TEXT NOT NULL,
|
|
27
|
+
from_agent_id TEXT,
|
|
28
|
+
to_agent_id TEXT NOT NULL,
|
|
29
|
+
text TEXT NOT NULL,
|
|
30
|
+
status TEXT NOT NULL,
|
|
31
|
+
created_at INTEGER NOT NULL,
|
|
32
|
+
delivered_at INTEGER,
|
|
33
|
+
submitted_at INTEGER,
|
|
34
|
+
reported_at INTEGER,
|
|
35
|
+
report_text TEXT,
|
|
36
|
+
artifacts TEXT
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
INSERT INTO dispatches (
|
|
40
|
+
id,
|
|
41
|
+
workspace_id,
|
|
42
|
+
from_agent_id,
|
|
43
|
+
to_agent_id,
|
|
44
|
+
text,
|
|
45
|
+
status,
|
|
46
|
+
created_at,
|
|
47
|
+
delivered_at,
|
|
48
|
+
submitted_at,
|
|
49
|
+
reported_at,
|
|
50
|
+
report_text,
|
|
51
|
+
artifacts
|
|
52
|
+
)
|
|
53
|
+
SELECT
|
|
54
|
+
id,
|
|
55
|
+
workspace_id,
|
|
56
|
+
from_agent_id,
|
|
57
|
+
to_agent_id,
|
|
58
|
+
text,
|
|
59
|
+
status,
|
|
60
|
+
created_at,
|
|
61
|
+
delivered_at,
|
|
62
|
+
submitted_at,
|
|
63
|
+
reported_at,
|
|
64
|
+
report_text,
|
|
65
|
+
artifacts
|
|
66
|
+
FROM dispatches_legacy_v15
|
|
67
|
+
ORDER BY created_at ASC, rowid ASC;
|
|
68
|
+
|
|
69
|
+
DROP TABLE dispatches_legacy_v15;
|
|
70
|
+
`);
|
|
71
|
+
}
|
|
72
|
+
createDispatchIndexes(db);
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=sqlite-schema-v15.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-schema-v15.js","sourceRoot":"","sources":["../../../src/server/sqlite-schema-v15.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG,CAAC,EAAY,EAAE,EAAE,CAC1C,IAAI,GAAG,CACJ,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAA8B,CAAC,GAAG,CAChF,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACxB,CACF,CAAA;AAEH,MAAM,qBAAqB,GAAG,CAAC,EAAY,EAAE,EAAE;IAC7C,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAY,EAAE,EAAE;IACnD,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC;QAAE,OAAM;IAEtC,EAAE,CAAC,IAAI,CAAC;;;GAGP,CAAC,CAAA;IAEF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkDP,CAAC,CAAA;IACJ,CAAC;IAED,qBAAqB,CAAC,EAAE,CAAC,CAAA;AAC3B,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const applySchemaVersion16 = (db) => {
|
|
2
|
+
const launchConfigColumns = new Set(db.prepare('PRAGMA table_info(agent_launch_configs)').all().map((column) => column.name));
|
|
3
|
+
if (!launchConfigColumns.has('preset_augmentation_disabled')) {
|
|
4
|
+
db.exec('ALTER TABLE agent_launch_configs ADD COLUMN preset_augmentation_disabled INTEGER NOT NULL DEFAULT 0');
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=sqlite-schema-v16.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-schema-v16.js","sourceRoot":"","sources":["../../../src/server/sqlite-schema-v16.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAY,EAAE,EAAE;IACnD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAChC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAA8B,CAAC,GAAG,CAC1F,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACxB,CACF,CAAA;IACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,CAAC;QAC7D,EAAE,CAAC,IAAI,CACL,qGAAqG,CACtG,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BUILTIN_COMMAND_PRESETS } from './command-preset-defaults.js';
|
|
2
|
+
export const applySchemaVersion17 = (db) => {
|
|
3
|
+
const commandPresetsTable = db
|
|
4
|
+
.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'command_presets'")
|
|
5
|
+
.get();
|
|
6
|
+
if (!commandPresetsTable)
|
|
7
|
+
return;
|
|
8
|
+
const updatePreset = db.prepare(`UPDATE command_presets
|
|
9
|
+
SET yolo_args_template = ?, updated_at = ?
|
|
10
|
+
WHERE id = ? AND is_builtin = 1`);
|
|
11
|
+
const now = Date.now();
|
|
12
|
+
for (const preset of BUILTIN_COMMAND_PRESETS) {
|
|
13
|
+
updatePreset.run(preset.yoloArgsTemplate?.length ? JSON.stringify(preset.yoloArgsTemplate) : null, now, preset.id);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=sqlite-schema-v17.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-schema-v17.js","sourceRoot":"","sources":["../../../src/server/sqlite-schema-v17.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAY,EAAE,EAAE;IACnD,MAAM,mBAAmB,GAAG,EAAE;SAC3B,OAAO,CAAC,kFAAkF,CAAC;SAC3F,GAAG,EAAE,CAAA;IACR,IAAI,CAAC,mBAAmB;QAAE,OAAM;IAEhC,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAC7B;;qCAEiC,CAClC,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC7C,YAAY,CAAC,GAAG,CACd,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAChF,GAAG,EACH,MAAM,CAAC,EAAE,CACV,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
|