@tt-a1i/hive 0.6.0-alpha.3 → 0.6.0-alpha.5
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 +57 -0
- package/README.md +15 -4
- package/README.zh-CN.md +6 -1
- package/dist/src/cli/hive.d.ts +5 -1
- package/dist/src/cli/hive.js +14 -16
- package/dist/src/cli/hive.js.map +1 -1
- package/dist/src/cli/team.d.ts +8 -0
- package/dist/src/cli/team.js +69 -26
- package/dist/src/cli/team.js.map +1 -1
- package/dist/src/server/agent-run-store.d.ts +1 -2
- package/dist/src/server/agent-run-store.js +5 -13
- package/dist/src/server/agent-run-store.js.map +1 -1
- package/dist/src/server/agent-runtime-ports.d.ts +1 -2
- package/dist/src/server/agent-session-store.d.ts +1 -1
- package/dist/src/server/agent-session-store.js +28 -34
- package/dist/src/server/agent-session-store.js.map +1 -1
- package/dist/src/server/agent-startup-instructions.js +1 -1
- package/dist/src/server/agent-startup-instructions.js.map +1 -1
- package/dist/src/server/app-state-store.d.ts +1 -1
- package/dist/src/server/app-state-store.js +1 -3
- package/dist/src/server/app-state-store.js.map +1 -1
- package/dist/src/server/app.d.ts +3 -1
- package/dist/src/server/app.js +3 -1
- package/dist/src/server/app.js.map +1 -1
- package/dist/src/server/command-preset-store.d.ts +1 -1
- package/dist/src/server/command-preset-store.js +2 -8
- package/dist/src/server/command-preset-store.js.map +1 -1
- package/dist/src/server/dispatch-ledger-store.d.ts +18 -4
- package/dist/src/server/dispatch-ledger-store.js +0 -66
- package/dist/src/server/dispatch-ledger-store.js.map +1 -1
- package/dist/src/server/hive-team-guidance.js +7 -4
- package/dist/src/server/hive-team-guidance.js.map +1 -1
- package/dist/src/server/message-log-store.d.ts +1 -3
- package/dist/src/server/message-log-store.js +2 -59
- package/dist/src/server/message-log-store.js.map +1 -1
- package/dist/src/server/package-version.d.ts +2 -0
- package/dist/src/server/package-version.js +18 -0
- package/dist/src/server/package-version.js.map +1 -0
- package/dist/src/server/role-template-store.d.ts +1 -1
- package/dist/src/server/role-template-store.js +2 -6
- package/dist/src/server/role-template-store.js.map +1 -1
- package/dist/src/server/route-types.d.ts +2 -0
- package/dist/src/server/routes-version.d.ts +2 -0
- package/dist/src/server/routes-version.js +7 -0
- package/dist/src/server/routes-version.js.map +1 -0
- package/dist/src/server/routes-workspaces.js +7 -7
- package/dist/src/server/routes-workspaces.js.map +1 -1
- package/dist/src/server/routes.js +2 -0
- package/dist/src/server/routes.js.map +1 -1
- package/dist/src/server/runtime-database.d.ts +1 -1
- package/dist/src/server/runtime-database.js +8 -4
- package/dist/src/server/runtime-database.js.map +1 -1
- package/dist/src/server/runtime-store-helpers.js +2 -4
- package/dist/src/server/runtime-store-helpers.js.map +1 -1
- package/dist/src/server/runtime-store.d.ts +1 -1
- package/dist/src/server/runtime-store.js +1 -1
- package/dist/src/server/runtime-store.js.map +1 -1
- package/dist/src/server/settings-store.d.ts +1 -1
- package/dist/src/server/settings-store.js.map +1 -1
- package/dist/src/server/team-list-serializer.d.ts +1 -1
- package/dist/src/server/team-list-serializer.js +2 -2
- package/dist/src/server/team-list-serializer.js.map +1 -1
- package/dist/src/server/terminal-state-mirror.d.ts +1 -1
- package/dist/src/server/terminal-state-mirror.js +1 -1
- package/dist/src/server/terminal-state-mirror.js.map +1 -1
- package/dist/src/server/version-service.d.ts +16 -0
- package/dist/src/server/version-service.js +70 -0
- package/dist/src/server/version-service.js.map +1 -0
- package/dist/src/server/worker-output-tracker.d.ts +1 -1
- package/dist/src/server/worker-output-tracker.js +2 -2
- package/dist/src/server/worker-output-tracker.js.map +1 -1
- package/dist/src/server/workspace-store-hydration.d.ts +2 -2
- package/dist/src/server/workspace-store-hydration.js +1 -4
- package/dist/src/server/workspace-store-hydration.js.map +1 -1
- package/dist/src/server/workspace-store.d.ts +1 -1
- package/dist/src/server/workspace-store.js +5 -5
- package/dist/src/server/workspace-store.js.map +1 -1
- package/dist/src/shared/types.d.ts +6 -3
- package/package.json +5 -1
- package/web/dist/assets/addon-clipboard-wHJhZAA4.js +1 -0
- package/web/dist/assets/addon-unicode11-Bt8F3D7-.js +7 -0
- package/web/dist/assets/addon-web-links-DIbG5aQx.js +1 -0
- package/web/dist/assets/addon-webgl-DCtw1yLn.js +64 -0
- package/web/dist/assets/index-CMHbdGhT.css +1 -0
- package/web/dist/assets/index-CkY03NZW.js +76 -0
- package/web/dist/index.html +2 -2
- package/web/dist/assets/index-CIlOwuEZ.js +0 -70
- package/web/dist/assets/index-eyw1Uar8.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,63 @@
|
|
|
2
2
|
|
|
3
3
|
All notable user-facing changes will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 0.6.0-alpha.5 - 2026-05-15
|
|
6
|
+
|
|
7
|
+
Public-preview surface polish + internal hygiene pass.
|
|
8
|
+
|
|
9
|
+
- README now leads with the actual differentiator: the orchestrator is a
|
|
10
|
+
real CLI agent (claude / codex / opencode / gemini), not a human PM and
|
|
11
|
+
not a script. Both English and Simplified Chinese versions updated.
|
|
12
|
+
- README gained a CI build-status badge and a "Try the demo first"
|
|
13
|
+
section that surfaces the fully-client-side demo flow (shipped in
|
|
14
|
+
alpha.1 but previously invisible to anyone who had not booted Hive).
|
|
15
|
+
- Bug-report and feature-request issue templates plus `CONTRIBUTING.md`
|
|
16
|
+
landed; GitHub Community Standards checklist is now green. A
|
|
17
|
+
`docs/growth-roadmap.md` working doc was added to track the
|
|
18
|
+
positioning, brand, and protocol roadmap.
|
|
19
|
+
- Todo drawer rebuilt around the actual task it does: owner-colour
|
|
20
|
+
pills, hover-revealed actions (edit / add subtask / delete), inline
|
|
21
|
+
editing with `\n` sanitisation, optimistic UI with rollback, and a
|
|
22
|
+
compact progress header.
|
|
23
|
+
- WorkerModal now opens at 50% of viewport width on first launch. Worker
|
|
24
|
+
cards dropped the queued-count pill and the stale `useWorkspaceStats`
|
|
25
|
+
hook was removed as dead code.
|
|
26
|
+
- IME composition for CJK terminal input no longer swallows characters.
|
|
27
|
+
xterm.js gained `Unicode11Addon`, `WebglAddon`, `ClipboardAddon`, and
|
|
28
|
+
`WebLinksAddon` alongside `FitAddon`.
|
|
29
|
+
- `team report` parser rewritten: any-order flags, errors embed the full
|
|
30
|
+
usage block. Added `--stdin` for piping bodies past shell argument
|
|
31
|
+
limits; `team status --stdin` covered the same way.
|
|
32
|
+
- `last_output_line` renamed to `last_pty_line` on the `team list`
|
|
33
|
+
payload. Orchestrator system instructions now treat the field as PTY
|
|
34
|
+
noise (never a worker reply) and are CLI-agnostic instead of
|
|
35
|
+
Claude-Code-specific.
|
|
36
|
+
- All ten runtime store factories now require a real `Database`. The
|
|
37
|
+
`if (!db)` in-memory fallback branches and their Map / Set / counter
|
|
38
|
+
scaffolding were dead code carried only for tests that omitted
|
|
39
|
+
`dataDir`; they are gone (~ 260 LOC removed). `openRuntimeDatabase`
|
|
40
|
+
falls back to a `:memory:` SQLite engine when no `dataDir` is supplied
|
|
41
|
+
so tests still exercise real schema.
|
|
42
|
+
- `MessageLogHandle.kind: 'db' | 'memory'` removed — the handle is now
|
|
43
|
+
just `{ sequence: number }`. The empty `initialize` no-ops on the
|
|
44
|
+
agent-run and message-log stores, their port slots, and the
|
|
45
|
+
`markUnfinishedRunsStale?.` optional chaining are also gone. Six
|
|
46
|
+
previously-failing `terminal-view.test.tsx` cases now pass with a
|
|
47
|
+
one-line `unicode` stub addition on the four web-test Terminal mocks.
|
|
48
|
+
|
|
49
|
+
## 0.6.0-alpha.4 - 2026-05-15
|
|
50
|
+
|
|
51
|
+
Update-awareness pass for public-preview installs.
|
|
52
|
+
|
|
53
|
+
- Hive now checks npm for the latest published version through a cached
|
|
54
|
+
`/api/version` endpoint.
|
|
55
|
+
- The CLI prints a non-blocking update hint after startup when a newer npm
|
|
56
|
+
version is available.
|
|
57
|
+
- The app topbar surfaces the same update availability and install command in
|
|
58
|
+
the UI.
|
|
59
|
+
- The workspace shell was split into smaller app-level components so future
|
|
60
|
+
UI changes do not push `web/src/app.tsx` past its size budget.
|
|
61
|
+
|
|
5
62
|
## 0.6.0-alpha.3 - 2026-05-14
|
|
6
63
|
|
|
7
64
|
Runtime and team-protocol hardening after public-preview dogfooding.
|
package/README.md
CHANGED
|
@@ -4,12 +4,15 @@
|
|
|
4
4
|
<img src="./assets/hive-hero.png" alt="Hive local-first multi-agent coding workspace hero image" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
Hive is a
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
**Hive is a browser-native hive-mind for CLI coding agents.** The orchestrator
|
|
8
|
+
is a real `claude` / `codex` / `opencode` / `gemini` process — not you, and
|
|
9
|
+
not a script — and so are the workers it dispatches to. Every agent runs as
|
|
10
|
+
a real PTY on your machine, talks through a small `team` protocol that Hive
|
|
11
|
+
injects into each agent's shell, and shares a markdown task graph at
|
|
12
|
+
`<workspace>/.hive/tasks.md`.
|
|
11
13
|
|
|
12
14
|
[](https://www.npmjs.com/package/@tt-a1i/hive)
|
|
15
|
+
[](https://github.com/tt-a1i/hive/actions/workflows/release.yml)
|
|
13
16
|
[](https://nodejs.org/)
|
|
14
17
|
[](./LICENSE)
|
|
15
18
|
[-lightgrey.svg)](#platform-support)
|
|
@@ -36,6 +39,14 @@ Hive adds that coordination layer without replacing the CLIs. The agents remain
|
|
|
36
39
|
real terminal processes running on your machine; Hive manages the team shell
|
|
37
40
|
around them.
|
|
38
41
|
|
|
42
|
+
## Try the demo first
|
|
43
|
+
|
|
44
|
+
Don't have an agent CLI installed yet? Run `hive`, open the printed URL, and
|
|
45
|
+
click **Try Demo** in the first-run wizard. You get a fully client-side
|
|
46
|
+
preview — fake orchestrator + two workers, prerecorded scrollback, a
|
|
47
|
+
prefilled task list — without touching the server or any real CLI agent.
|
|
48
|
+
Useful for deciding whether to install a real CLI.
|
|
49
|
+
|
|
39
50
|
## Quick Start
|
|
40
51
|
|
|
41
52
|
Prerequisites:
|
package/README.zh-CN.md
CHANGED
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
<img src="./assets/hive-hero.png" alt="Hive 本机多 agent 协作工作台" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
Hive
|
|
7
|
+
**Hive 是面向 CLI Coding Agent 的浏览器版蜂巢(hive-mind)。** Orchestrator 本身就是一个真实的 `claude` / `codex` / `opencode` / `gemini` 进程——不是你、也不是脚本——它派单的 Worker 同样是真 CLI agent。所有 agent 都是你电脑上真实的 PTY 进程,通过 Hive 注入到 shell 里的小型 `team` 协议互相通信,共享 `<workspace>/.hive/tasks.md` 这份 markdown 任务图。
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@tt-a1i/hive)
|
|
10
|
+
[](https://github.com/tt-a1i/hive/actions/workflows/release.yml)
|
|
10
11
|
[](https://nodejs.org/)
|
|
11
12
|
[](./LICENSE)
|
|
12
13
|
[-lightgrey.svg)](#平台支持)
|
|
@@ -26,6 +27,10 @@ CLI Coding Agent 各自都很强,但同时管几个就有点别扭:
|
|
|
26
27
|
|
|
27
28
|
Hive 加上这一层调度,**不替换**任何 CLI。Agent 还是真实跑在你电脑上的终端进程,Hive 只是它们外面的"团队 shell"。
|
|
28
29
|
|
|
30
|
+
## 先看看 demo
|
|
31
|
+
|
|
32
|
+
还没装任何 agent CLI?运行 `hive`、打开它打印出的本地地址、在 first-run 向导里点 **Try Demo**。你会看到一个完全跑在客户端的预览——假 orchestrator + 两个 worker、预录的终端 scrollback、一份预填的任务清单——既不会连服务器,也不需要任何真实 CLI agent。适合决定要不要继续装真 CLI。
|
|
33
|
+
|
|
29
34
|
## 快速开始
|
|
30
35
|
|
|
31
36
|
前置条件:
|
package/dist/src/cli/hive.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { type RuntimeStore } from '../server/runtime-store.js';
|
|
3
|
+
import { type VersionService } from '../server/version-service.js';
|
|
3
4
|
interface RunHiveCommandResult {
|
|
4
5
|
port: number;
|
|
5
6
|
close: () => Promise<void>;
|
|
6
7
|
store: RuntimeStore;
|
|
7
8
|
}
|
|
9
|
+
type RunHiveCommandOptions = {
|
|
10
|
+
versionService?: VersionService;
|
|
11
|
+
};
|
|
8
12
|
export declare const HIVE_USAGE: string;
|
|
9
13
|
export declare const handleHiveInfoCommand: (argv: string[]) => boolean;
|
|
10
|
-
export declare const runHiveCommand: (argv: string[]) => Promise<RunHiveCommandResult>;
|
|
14
|
+
export declare const runHiveCommand: (argv: string[], options?: RunHiveCommandOptions) => Promise<RunHiveCommandResult>;
|
|
11
15
|
export type { RunHiveCommandResult };
|
package/dist/src/cli/hive.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { once } from 'node:events';
|
|
3
|
-
import {
|
|
3
|
+
import { realpathSync } from 'node:fs';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
|
-
import {
|
|
5
|
+
import { join } from 'node:path';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
7
|
import { createAgentManager } from '../server/agent-manager.js';
|
|
8
8
|
import { createApp } from '../server/app.js';
|
|
9
|
+
import { readPackageVersion } from '../server/package-version.js';
|
|
9
10
|
import { createRuntimeStore } from '../server/runtime-store.js';
|
|
11
|
+
import { createVersionService } from '../server/version-service.js';
|
|
10
12
|
export const HIVE_USAGE = [
|
|
11
13
|
'Usage:',
|
|
12
14
|
' hive [--port <port>]',
|
|
@@ -16,19 +18,6 @@ export const HIVE_USAGE = [
|
|
|
16
18
|
' -h, --help Print this help.',
|
|
17
19
|
' -v, --version Print the installed Hive version.',
|
|
18
20
|
].join('\n');
|
|
19
|
-
const readPackageVersion = () => {
|
|
20
|
-
let dir = dirname(fileURLToPath(import.meta.url));
|
|
21
|
-
for (let depth = 0; depth < 8; depth += 1) {
|
|
22
|
-
const candidate = join(dir, 'package.json');
|
|
23
|
-
if (existsSync(candidate)) {
|
|
24
|
-
const parsed = JSON.parse(readFileSync(candidate, 'utf8'));
|
|
25
|
-
if (typeof parsed.version === 'string')
|
|
26
|
-
return parsed.version;
|
|
27
|
-
}
|
|
28
|
-
dir = dirname(dir);
|
|
29
|
-
}
|
|
30
|
-
return 'unknown';
|
|
31
|
-
};
|
|
32
21
|
export const handleHiveInfoCommand = (argv) => {
|
|
33
22
|
if (argv.includes('--help') || argv.includes('-h')) {
|
|
34
23
|
console.log(HIVE_USAGE);
|
|
@@ -65,14 +54,22 @@ const parsePort = (argv) => {
|
|
|
65
54
|
return parsedPort ?? 3000;
|
|
66
55
|
};
|
|
67
56
|
const resolveDataDir = () => process.env.HIVE_DATA_DIR || join(homedir(), '.config', 'hive');
|
|
68
|
-
|
|
57
|
+
const maybePrintUpdateHint = async (versionService) => {
|
|
58
|
+
const info = await versionService.getVersionInfo();
|
|
59
|
+
if (!info.update_available)
|
|
60
|
+
return;
|
|
61
|
+
console.log(`Hive update available: ${info.current_version} -> ${info.latest_version}. Run: ${info.install_hint}`);
|
|
62
|
+
};
|
|
63
|
+
export const runHiveCommand = async (argv, options = {}) => {
|
|
69
64
|
const port = parsePort(argv);
|
|
70
65
|
const dataDir = resolveDataDir();
|
|
66
|
+
const versionService = options.versionService ?? createVersionService();
|
|
71
67
|
const app = createApp({
|
|
72
68
|
store: createRuntimeStore({
|
|
73
69
|
agentManager: createAgentManager(),
|
|
74
70
|
dataDir,
|
|
75
71
|
}),
|
|
72
|
+
versionService,
|
|
76
73
|
});
|
|
77
74
|
app.server.listen(port, '127.0.0.1');
|
|
78
75
|
await Promise.race([
|
|
@@ -119,6 +116,7 @@ export const runHiveCommand = async (argv) => {
|
|
|
119
116
|
process.once('SIGTERM', gracefulShutdown);
|
|
120
117
|
process.once('SIGINT', gracefulShutdown);
|
|
121
118
|
console.log(`Hive running at http://127.0.0.1:${address.port}`);
|
|
119
|
+
void maybePrintUpdateHint(versionService).catch(() => { });
|
|
122
120
|
return {
|
|
123
121
|
port: address.port,
|
|
124
122
|
close,
|
package/dist/src/cli/hive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hive.js","sourceRoot":"","sources":["../../../src/cli/hive.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hive.js","sourceRoot":"","sources":["../../../src/cli/hive.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/team.d.ts
CHANGED
|
@@ -1 +1,9 @@
|
|
|
1
|
+
export interface ParsedReportArgs {
|
|
2
|
+
artifacts: string[];
|
|
3
|
+
dispatchId: string | undefined;
|
|
4
|
+
result: string | null;
|
|
5
|
+
useStdin: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const parseReportArgs: (args: string[], command?: string) => ParsedReportArgs;
|
|
8
|
+
export declare const readStdinToString: (command?: string) => Promise<string>;
|
|
1
9
|
export declare const runTeamCommand: (argv: string[]) => Promise<void>;
|
package/dist/src/cli/team.js
CHANGED
|
@@ -11,7 +11,15 @@ const TEAM_USAGE = [
|
|
|
11
11
|
' team list',
|
|
12
12
|
' team send <worker-name> "<task>"',
|
|
13
13
|
' team report "<result>" [--dispatch <dispatch-id>] [--artifact <path>]',
|
|
14
|
+
' team report --stdin [--dispatch <dispatch-id>] [--artifact <path>]',
|
|
14
15
|
' team status "<current status>" [--artifact <path>]',
|
|
16
|
+
' team status --stdin [--artifact <path>]',
|
|
17
|
+
'',
|
|
18
|
+
'Flags can appear in any order. Use --stdin to pipe long bodies and avoid shell-escaping issues.',
|
|
19
|
+
"Use a quoted heredoc (<<'EOF') so $vars, backticks, and command substitutions stay literal:",
|
|
20
|
+
" team report --stdin --dispatch <id> <<'EOF'",
|
|
21
|
+
' ... long report ...',
|
|
22
|
+
' EOF',
|
|
15
23
|
].join('\n');
|
|
16
24
|
const getHiveEnv = () => {
|
|
17
25
|
const values = Object.fromEntries(REQUIRED_ENV_KEYS.map((key) => [key, process.env[key]]));
|
|
@@ -68,47 +76,80 @@ const postJson = async (baseUrl, path, body) => {
|
|
|
68
76
|
}
|
|
69
77
|
return response;
|
|
70
78
|
};
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
79
|
+
const REPORT_USAGE = 'Usage: team report (<result> | --stdin) [--dispatch <dispatch-id>] [--artifact <path>]';
|
|
80
|
+
const STATUS_USAGE = 'Usage: team status (<current status> | --stdin) [--artifact <path>]';
|
|
81
|
+
const usageFor = (command) => (command === 'status' ? STATUS_USAGE : REPORT_USAGE);
|
|
82
|
+
const withUsage = (message, command) => `${message}\n\n${usageFor(command)}`;
|
|
83
|
+
export const parseReportArgs = (args, command = 'report') => {
|
|
84
|
+
const positionals = [];
|
|
78
85
|
const artifacts = [];
|
|
79
86
|
let dispatchId;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
let useStdin = false;
|
|
88
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
89
|
+
const arg = args[index];
|
|
90
|
+
if (arg === undefined)
|
|
91
|
+
continue;
|
|
92
|
+
// Backward-compatible no-op: reports are interpreted from their text.
|
|
93
|
+
if (arg === '--success' || arg === '--failed')
|
|
94
|
+
continue;
|
|
95
|
+
if (arg === '--stdin') {
|
|
96
|
+
useStdin = true;
|
|
84
97
|
continue;
|
|
85
98
|
}
|
|
86
99
|
if (arg === '--artifact') {
|
|
87
|
-
const
|
|
88
|
-
if (
|
|
89
|
-
throw new Error(
|
|
90
|
-
? 'Usage: team status <current status> [--artifact <path>]'
|
|
91
|
-
: 'Usage: team report <result> [--dispatch <dispatch-id>] [--artifact <path>]');
|
|
100
|
+
const next = args[index + 1];
|
|
101
|
+
if (next === undefined || next.startsWith('--')) {
|
|
102
|
+
throw new Error(withUsage('--artifact requires a value', command));
|
|
92
103
|
}
|
|
93
|
-
artifacts.push(
|
|
104
|
+
artifacts.push(next);
|
|
94
105
|
index += 1;
|
|
95
106
|
continue;
|
|
96
107
|
}
|
|
97
108
|
if (arg === '--dispatch') {
|
|
98
109
|
if (command === 'status') {
|
|
99
|
-
throw new Error('team status does not accept --dispatch; use team report for assigned work');
|
|
110
|
+
throw new Error(withUsage('team status does not accept --dispatch; use team report for assigned work', command));
|
|
100
111
|
}
|
|
101
|
-
const
|
|
102
|
-
if (
|
|
103
|
-
throw new Error('
|
|
112
|
+
const next = args[index + 1];
|
|
113
|
+
if (next === undefined || next.startsWith('--')) {
|
|
114
|
+
throw new Error(withUsage('--dispatch requires a value', command));
|
|
104
115
|
}
|
|
105
|
-
dispatchId =
|
|
116
|
+
dispatchId = next;
|
|
106
117
|
index += 1;
|
|
107
118
|
continue;
|
|
108
119
|
}
|
|
109
|
-
|
|
120
|
+
if (arg.startsWith('--')) {
|
|
121
|
+
throw new Error(withUsage(`Unknown argument: ${arg}`, command));
|
|
122
|
+
}
|
|
123
|
+
positionals.push(arg);
|
|
124
|
+
}
|
|
125
|
+
if (useStdin && positionals.length > 0) {
|
|
126
|
+
throw new Error(withUsage('--stdin is mutually exclusive with a positional argument; pass the body on stdin or as an argument, not both', command));
|
|
127
|
+
}
|
|
128
|
+
if (!useStdin && positionals.length === 0) {
|
|
129
|
+
const label = command === 'status' ? '<current status>' : '<result>';
|
|
130
|
+
throw new Error(withUsage(`Missing ${label} (or pass --stdin to read it from stdin)`, command));
|
|
131
|
+
}
|
|
132
|
+
if (positionals.length > 1) {
|
|
133
|
+
const label = command === 'status' ? 'status' : 'result';
|
|
134
|
+
throw new Error(withUsage(`Expected exactly one ${label} positional, got ${positionals.length}: ${positionals
|
|
135
|
+
.map((value) => JSON.stringify(value))
|
|
136
|
+
.join(', ')}`, command));
|
|
137
|
+
}
|
|
138
|
+
return { result: useStdin ? null : (positionals[0] ?? null), artifacts, dispatchId, useStdin };
|
|
139
|
+
};
|
|
140
|
+
export const readStdinToString = async (command = 'report') => {
|
|
141
|
+
if (process.stdin.isTTY) {
|
|
142
|
+
throw new Error(withUsage('--stdin requires piped input, but stdin is a TTY. Did you forget to pipe content in?', command));
|
|
143
|
+
}
|
|
144
|
+
const chunks = [];
|
|
145
|
+
for await (const chunk of process.stdin) {
|
|
146
|
+
chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
|
|
147
|
+
}
|
|
148
|
+
const content = Buffer.concat(chunks).toString('utf8');
|
|
149
|
+
if (!content.trim()) {
|
|
150
|
+
throw new Error(withUsage('--stdin received empty input', command));
|
|
110
151
|
}
|
|
111
|
-
return
|
|
152
|
+
return content;
|
|
112
153
|
};
|
|
113
154
|
export const runTeamCommand = async (argv) => {
|
|
114
155
|
const [command, ...args] = argv;
|
|
@@ -153,13 +194,14 @@ export const runTeamCommand = async (argv) => {
|
|
|
153
194
|
}
|
|
154
195
|
if (command === 'status') {
|
|
155
196
|
const report = parseReportArgs(args, 'status');
|
|
197
|
+
const body = report.useStdin ? await readStdinToString('status') : (report.result ?? '');
|
|
156
198
|
const env = getHiveEnv();
|
|
157
199
|
const baseUrl = getBaseUrl(env);
|
|
158
200
|
const response = await postJson(baseUrl, '/api/team/status', {
|
|
159
201
|
project_id: env.HIVE_PROJECT_ID,
|
|
160
202
|
from_agent_id: env.HIVE_AGENT_ID,
|
|
161
203
|
token: env.HIVE_AGENT_TOKEN,
|
|
162
|
-
result:
|
|
204
|
+
result: body,
|
|
163
205
|
artifacts: report.artifacts,
|
|
164
206
|
});
|
|
165
207
|
const payload = (await response.json());
|
|
@@ -170,6 +212,7 @@ export const runTeamCommand = async (argv) => {
|
|
|
170
212
|
}
|
|
171
213
|
if (command === 'report') {
|
|
172
214
|
const report = parseReportArgs(args);
|
|
215
|
+
const body = report.useStdin ? await readStdinToString('report') : (report.result ?? '');
|
|
173
216
|
const env = getHiveEnv();
|
|
174
217
|
const baseUrl = getBaseUrl(env);
|
|
175
218
|
const response = await postJson(baseUrl, '/api/team/report', {
|
|
@@ -177,7 +220,7 @@ export const runTeamCommand = async (argv) => {
|
|
|
177
220
|
project_id: env.HIVE_PROJECT_ID,
|
|
178
221
|
from_agent_id: env.HIVE_AGENT_ID,
|
|
179
222
|
token: env.HIVE_AGENT_TOKEN,
|
|
180
|
-
result:
|
|
223
|
+
result: body,
|
|
181
224
|
artifacts: report.artifacts,
|
|
182
225
|
});
|
|
183
226
|
const payload = (await response.json());
|
package/dist/src/cli/team.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../../src/cli/team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,iBAAiB,GAAG;IACxB,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,kBAAkB;CACV,CAAA;AAWV,MAAM,UAAU,GAAG;IACjB,QAAQ;IACR,aAAa;IACb,oCAAoC;IACpC,yEAAyE;IACzE,sDAAsD;
|
|
1
|
+
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../../src/cli/team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,iBAAiB,GAAG;IACxB,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,kBAAkB;CACV,CAAA;AAWV,MAAM,UAAU,GAAG;IACjB,QAAQ;IACR,aAAa;IACb,oCAAoC;IACpC,yEAAyE;IACzE,sEAAsE;IACtE,sDAAsD;IACtD,2CAA2C;IAC3C,EAAE;IACF,iGAAiG;IACjG,6FAA6F;IAC7F,+CAA+C;IAC/C,uBAAuB;IACvB,OAAO;CACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,MAAM,UAAU,GAAG,GAAY,EAAE;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CACjB,CAAA;IAExC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,MAAiB,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,oBAAoB,GAAG,CAAC,SAAS,EAAE,CAAA;AAExE,MAAM,WAAW,GAAG,4EAA4E,CAAA;AAEhG,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,KAAc,EAAE,EAAE;IAC7D,MAAM,KAAK,GACT,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3F,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO,mCAAmC,OAAO,KAAK,OAAO,GAAG,KAAK,oEAAoE,CAAA;AAC3I,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,IAAiB,EAAE,EAAE;IAC9E,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAEvB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAA;QACvD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;IAC1E,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAAE,QAAkB,EAAkB,EAAE;IAClE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,IAAI,KAAK,CACb,MAAM;QACJ,CAAC,CAAC,8BAA8B,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE;QAC5D,CAAC,CAAC,8BAA8B,QAAQ,CAAC,MAAM,EAAE,CACpD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE;QACjD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AASD,MAAM,YAAY,GAChB,wFAAwF,CAAA;AAC1F,MAAM,YAAY,GAAG,qEAAqE,CAAA;AAE1F,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;AAE1F,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,CAAC,GAAG,OAAO,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAA;AAS5F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAc,EAAE,OAAO,GAAG,QAAQ,EAAoB,EAAE;IACtF,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,IAAI,UAA8B,CAAA;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,GAAG,KAAK,SAAS;YAAE,SAAQ;QAE/B,sEAAsE;QACtE,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,UAAU;YAAE,SAAQ;QAEvD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAA;YACf,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC,CAAA;YACpE,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpB,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,SAAS,CACP,2EAA2E,EAC3E,OAAO,CACR,CACF,CAAA;YACH,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC,CAAA;YACpE,CAAC;YACD,UAAU,GAAG,IAAI,CAAA;YACjB,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,qBAAqB,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,SAAS,CACP,8GAA8G,EAC9G,OAAO,CACR,CACF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAA;QACpE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,KAAK,0CAA0C,EAAE,OAAO,CAAC,CAAC,CAAA;IACjG,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QACxD,MAAM,IAAI,KAAK,CACb,SAAS,CACP,wBAAwB,KAAK,oBAAoB,WAAW,CAAC,MAAM,KAAK,WAAW;aAChF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACrC,IAAI,CAAC,IAAI,CAAC,EAAE,EACf,OAAO,CACR,CACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;AAChG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAmB,EAAE;IAC7E,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,SAAS,CACP,sFAAsF,EACtF,OAAO,CACR,CACF,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IACrD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IAE/B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACvB,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;QACxB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,CAAC,eAAe,OAAO,EAAE;YAC1F,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,iBAAiB,EAAE,GAAG,CAAC,aAAa;gBACpC,oBAAoB,EAAE,GAAG,CAAC,gBAAgB;aAC3C;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAA;QAChC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAA;QACvC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;QACxB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE;YACzD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,UAAU,EAAE,GAAG,CAAC,eAAe;YAC/B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,KAAK,EAAE,GAAG,CAAC,gBAAgB;YAC3B,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAExF,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;QACxB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE;YAC3D,UAAU,EAAE,GAAG,CAAC,eAAe;YAC/B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,KAAK,EAAE,GAAG,CAAC,gBAAgB;YAC3B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAA;QAC7D,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CACX,2FAA2F,OAAO,CAAC,aAAa,EAAE,CACnH,CAAA;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAExF,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;QACxB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE;YAC3D,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,UAAU,EAAE,GAAG,CAAC,eAAe;YAC/B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,KAAK,EAAE,GAAG,CAAC,gBAAgB;YAC3B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAA;QAC7D,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CACX,oFAAoF,OAAO,CAAC,aAAa,EAAE,CAC5G,CAAA;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAC7C,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,KAAK,CAAA;AAET,IAAI,YAAY,EAAE,CAAC;IACjB,KAAK,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACzD,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -19,9 +19,8 @@ export interface PersistedAgentRun {
|
|
|
19
19
|
startedAt: number;
|
|
20
20
|
endedAt: number | null;
|
|
21
21
|
}
|
|
22
|
-
export declare const createAgentRunStore: (db: Database
|
|
22
|
+
export declare const createAgentRunStore: (db: Database) => {
|
|
23
23
|
close: () => void;
|
|
24
|
-
initialize: () => void;
|
|
25
24
|
insertAgentRun: (runId: string, agentId: string, startedAt: number, pid: number | null, status?: PersistedAgentRun["status"], exitCode?: number | null, endedAt?: number | null) => void;
|
|
26
25
|
deleteLaunchConfig: (workspaceId: string, agentId: string) => void;
|
|
27
26
|
listAgentRuns: (agentId: string) => {
|
|
@@ -20,7 +20,6 @@ const parseSessionIdCaptureJson = (value) => {
|
|
|
20
20
|
};
|
|
21
21
|
export const createAgentRunStore = (db) => {
|
|
22
22
|
let closed = false;
|
|
23
|
-
const initialize = () => { };
|
|
24
23
|
const close = () => {
|
|
25
24
|
closed = true;
|
|
26
25
|
};
|
|
@@ -28,9 +27,6 @@ export const createAgentRunStore = (db) => {
|
|
|
28
27
|
if (closed) {
|
|
29
28
|
return [];
|
|
30
29
|
}
|
|
31
|
-
if (!db) {
|
|
32
|
-
return [];
|
|
33
|
-
}
|
|
34
30
|
return db
|
|
35
31
|
.prepare(`SELECT workspace_id, agent_id, command, args_json, command_preset_id, interactive_command, preset_augmentation_disabled, resume_args_template, session_id_capture_json
|
|
36
32
|
FROM agent_launch_configs ORDER BY updated_at ASC`)
|
|
@@ -57,7 +53,7 @@ export const createAgentRunStore = (db) => {
|
|
|
57
53
|
return;
|
|
58
54
|
}
|
|
59
55
|
const createdAt = Date.now();
|
|
60
|
-
db
|
|
56
|
+
db.prepare(`INSERT INTO agent_launch_configs (
|
|
61
57
|
workspace_id,
|
|
62
58
|
agent_id,
|
|
63
59
|
command,
|
|
@@ -85,28 +81,25 @@ export const createAgentRunStore = (db) => {
|
|
|
85
81
|
if (closed) {
|
|
86
82
|
return;
|
|
87
83
|
}
|
|
88
|
-
db
|
|
84
|
+
db.prepare('DELETE FROM agent_launch_configs WHERE workspace_id = ? AND agent_id = ?').run(workspaceId, agentId);
|
|
89
85
|
};
|
|
90
86
|
const insertAgentRun = (runId, agentId, startedAt, pid, status = 'starting', exitCode = null, endedAt = null) => {
|
|
91
87
|
if (closed) {
|
|
92
88
|
return;
|
|
93
89
|
}
|
|
94
|
-
db
|
|
90
|
+
db.prepare(`INSERT INTO agent_runs (run_id, agent_id, pid, status, exit_code, started_at, ended_at, created_at, updated_at)
|
|
95
91
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(runId, agentId, pid, status, exitCode, startedAt, endedAt, startedAt, startedAt);
|
|
96
92
|
};
|
|
97
93
|
const updatePersistedRun = (runId, status, exitCode, endedAt) => {
|
|
98
94
|
if (closed) {
|
|
99
95
|
return;
|
|
100
96
|
}
|
|
101
|
-
db
|
|
97
|
+
db.prepare('UPDATE agent_runs SET status = ?, exit_code = ?, ended_at = ?, updated_at = ? WHERE run_id = ?').run(status, exitCode, endedAt, Date.now(), runId);
|
|
102
98
|
};
|
|
103
99
|
const listAgentRuns = (agentId) => {
|
|
104
100
|
if (closed) {
|
|
105
101
|
return [];
|
|
106
102
|
}
|
|
107
|
-
if (!db) {
|
|
108
|
-
return [];
|
|
109
|
-
}
|
|
110
103
|
return db
|
|
111
104
|
.prepare('SELECT run_id, agent_id, pid, status, exit_code, started_at, ended_at FROM agent_runs WHERE agent_id = ? ORDER BY started_at DESC')
|
|
112
105
|
.all(agentId)
|
|
@@ -127,13 +120,12 @@ export const createAgentRunStore = (db) => {
|
|
|
127
120
|
if (closed) {
|
|
128
121
|
return;
|
|
129
122
|
}
|
|
130
|
-
db
|
|
123
|
+
db.prepare(`UPDATE agent_runs
|
|
131
124
|
SET status = 'error', exit_code = NULL, ended_at = ?, updated_at = ?
|
|
132
125
|
WHERE status IN ('starting', 'running')`).run(endedAt, endedAt);
|
|
133
126
|
};
|
|
134
127
|
return {
|
|
135
128
|
close,
|
|
136
|
-
initialize,
|
|
137
129
|
insertAgentRun,
|
|
138
130
|
deleteLaunchConfig,
|
|
139
131
|
listAgentRuns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-run-store.js","sourceRoot":"","sources":["../../../src/server/agent-run-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAuB5D,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,EAAE;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAA;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC9E,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,8BAA8B,EAAE,KAAK,CAAC,CAAA;QACzF,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,8BAA8B,CAAC,CAAA;IAClF,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAcD,MAAM,yBAAyB,GAAG,CAAC,KAAoB,EAAE,EAAE;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAYD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-run-store.js","sourceRoot":"","sources":["../../../src/server/agent-run-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import type { AgentLaunchConfigInput, PersistedAgentRun } from './agent-run-stor
|
|
|
2
2
|
type PersistedRunStatus = PersistedAgentRun['status'];
|
|
3
3
|
export interface AgentRunStorePort {
|
|
4
4
|
close?: () => void;
|
|
5
|
-
initialize?: () => void;
|
|
6
5
|
insertAgentRun: (runId: string, agentId: string, startedAt: number, pid: number | null, status?: PersistedRunStatus, exitCode?: number | null, endedAt?: number | null) => void;
|
|
7
6
|
listAgentRuns: (agentId: string) => PersistedAgentRun[];
|
|
8
7
|
listLaunchConfigs: () => Array<{
|
|
@@ -10,7 +9,7 @@ export interface AgentRunStorePort {
|
|
|
10
9
|
config: AgentLaunchConfigInput;
|
|
11
10
|
workspaceId: string;
|
|
12
11
|
}>;
|
|
13
|
-
markUnfinishedRunsStale
|
|
12
|
+
markUnfinishedRunsStale: (endedAt?: number) => void;
|
|
14
13
|
deleteLaunchConfig: (workspaceId: string, agentId: string) => void;
|
|
15
14
|
saveLaunchConfig: (workspaceId: string, agentId: string, input: AgentLaunchConfigInput) => void;
|
|
16
15
|
updatePersistedRun: (runId: string, status: PersistedRunStatus, exitCode: number | null, endedAt: number | null) => void;
|
|
@@ -4,4 +4,4 @@ export interface AgentSessionStore {
|
|
|
4
4
|
getLastSessionId: (workspaceId: string, agentId: string) => string | undefined;
|
|
5
5
|
setLastSessionId: (workspaceId: string, agentId: string, sessionId: string) => void;
|
|
6
6
|
}
|
|
7
|
-
export declare const createAgentSessionStore: (db: Database
|
|
7
|
+
export declare const createAgentSessionStore: (db: Database) => AgentSessionStore;
|