@agentmeshhq/agent 0.1.17 → 0.2.1
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/LICENSE +21 -0
- package/README.md +39 -0
- package/dist/__tests__/orphan-process.test.d.ts +11 -0
- package/dist/__tests__/orphan-process.test.js +286 -0
- package/dist/__tests__/orphan-process.test.js.map +1 -0
- package/dist/__tests__/runner.test.js +16 -0
- package/dist/__tests__/runner.test.js.map +1 -1
- package/dist/__tests__/watchdog.test.js +138 -12
- package/dist/__tests__/watchdog.test.js.map +1 -1
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/start.d.ts +2 -1
- package/dist/cli/start.js +6 -3
- package/dist/cli/start.js.map +1 -1
- package/dist/cli/status.js +11 -0
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/stop.js +7 -2
- package/dist/cli/stop.js.map +1 -1
- package/dist/config/schema.d.ts +4 -2
- package/dist/core/daemon/assignment-message.d.ts +12 -0
- package/dist/core/daemon/assignment-message.js +36 -0
- package/dist/core/daemon/assignment-message.js.map +1 -0
- package/dist/core/daemon/bootstrap.d.ts +35 -0
- package/dist/core/daemon/bootstrap.js +52 -0
- package/dist/core/daemon/bootstrap.js.map +1 -0
- package/dist/core/daemon/crash-log.d.ts +16 -0
- package/dist/core/daemon/crash-log.js +24 -0
- package/dist/core/daemon/crash-log.js.map +1 -0
- package/dist/core/daemon/health-policy.d.ts +21 -0
- package/dist/core/daemon/health-policy.js +32 -0
- package/dist/core/daemon/health-policy.js.map +1 -0
- package/dist/core/daemon/sandbox-config.d.ts +9 -0
- package/dist/core/daemon/sandbox-config.js +17 -0
- package/dist/core/daemon/sandbox-config.js.map +1 -0
- package/dist/core/daemon/state.d.ts +33 -0
- package/dist/core/daemon/state.js +77 -0
- package/dist/core/daemon/state.js.map +1 -0
- package/dist/core/daemon/tmux-session.d.ts +17 -0
- package/dist/core/daemon/tmux-session.js +34 -0
- package/dist/core/daemon/tmux-session.js.map +1 -0
- package/dist/core/daemon/workspace.d.ts +10 -0
- package/dist/core/daemon/workspace.js +51 -0
- package/dist/core/daemon/workspace.js.map +1 -0
- package/dist/core/daemon.d.ts +4 -7
- package/dist/core/daemon.js +143 -259
- package/dist/core/daemon.js.map +1 -1
- package/dist/core/injector.js +6 -0
- package/dist/core/injector.js.map +1 -1
- package/dist/core/registry.js +1 -1
- package/dist/core/registry.js.map +1 -1
- package/dist/core/runner/build.d.ts +9 -0
- package/dist/core/runner/build.js +53 -0
- package/dist/core/runner/build.js.map +1 -0
- package/dist/core/runner/detect.d.ts +5 -0
- package/dist/core/runner/detect.js +14 -0
- package/dist/core/runner/detect.js.map +1 -0
- package/dist/core/runner/index.d.ts +5 -0
- package/dist/core/runner/index.js +5 -0
- package/dist/core/runner/index.js.map +1 -0
- package/dist/core/runner/model.d.ts +5 -0
- package/dist/core/runner/model.js +7 -0
- package/dist/core/runner/model.js.map +1 -0
- package/dist/core/runner/opencode-models.d.ts +15 -0
- package/dist/core/runner/opencode-models.js +70 -0
- package/dist/core/runner/opencode-models.js.map +1 -0
- package/dist/core/runner/types.d.ts +19 -0
- package/dist/core/runner/types.js +8 -0
- package/dist/core/runner/types.js.map +1 -0
- package/dist/core/runner.d.ts +5 -47
- package/dist/core/runner.js +5 -167
- package/dist/core/runner.js.map +1 -1
- package/dist/core/tmux-runtime.d.ts +13 -0
- package/dist/core/tmux-runtime.js +72 -0
- package/dist/core/tmux-runtime.js.map +1 -0
- package/dist/core/tmux.d.ts +7 -1
- package/dist/core/tmux.js +75 -45
- package/dist/core/tmux.js.map +1 -1
- package/dist/core/watchdog.d.ts +18 -1
- package/dist/core/watchdog.js +78 -29
- package/dist/core/watchdog.js.map +1 -1
- package/package.json +30 -11
- package/dist/cli/inbox.d.ts +0 -5
- package/dist/cli/inbox.js +0 -123
- package/dist/cli/inbox.js.map +0 -1
- package/dist/cli/issue.d.ts +0 -42
- package/dist/cli/issue.js +0 -297
- package/dist/cli/issue.js.map +0 -1
- package/dist/cli/ready.d.ts +0 -5
- package/dist/cli/ready.js +0 -131
- package/dist/cli/ready.js.map +0 -1
- package/dist/cli/sync.d.ts +0 -8
- package/dist/cli/sync.js +0 -154
- package/dist/cli/sync.js.map +0 -1
- package/dist/core/issue-cache.d.ts +0 -44
- package/dist/core/issue-cache.js +0 -75
- package/dist/core/issue-cache.js.map +0 -1
- package/src/__tests__/context.test.ts +0 -464
- package/src/__tests__/injector.test.ts +0 -29
- package/src/__tests__/jwt.test.ts +0 -112
- package/src/__tests__/loader.test.ts +0 -239
- package/src/__tests__/runner.test.ts +0 -104
- package/src/__tests__/sandbox.test.ts +0 -435
- package/src/__tests__/watchdog.test.ts +0 -368
- package/src/cli/attach.ts +0 -22
- package/src/cli/build.ts +0 -145
- package/src/cli/config.ts +0 -148
- package/src/cli/context.ts +0 -231
- package/src/cli/deploy.ts +0 -155
- package/src/cli/index.ts +0 -375
- package/src/cli/init.ts +0 -75
- package/src/cli/list.ts +0 -70
- package/src/cli/local.ts +0 -183
- package/src/cli/logs.ts +0 -64
- package/src/cli/migrate.ts +0 -212
- package/src/cli/nudge.ts +0 -81
- package/src/cli/restart.ts +0 -59
- package/src/cli/slack.ts +0 -70
- package/src/cli/start.ts +0 -115
- package/src/cli/status.ts +0 -91
- package/src/cli/stop.ts +0 -48
- package/src/cli/test.ts +0 -143
- package/src/cli/token.ts +0 -188
- package/src/cli/whoami.ts +0 -142
- package/src/config/loader.ts +0 -121
- package/src/config/schema.ts +0 -68
- package/src/context/handoff.ts +0 -122
- package/src/context/index.ts +0 -8
- package/src/context/schema.ts +0 -111
- package/src/context/storage.ts +0 -197
- package/src/core/daemon.ts +0 -1308
- package/src/core/heartbeat.ts +0 -129
- package/src/core/injector.ts +0 -292
- package/src/core/registry.ts +0 -159
- package/src/core/runner.ts +0 -225
- package/src/core/sandbox.ts +0 -547
- package/src/core/session-id.ts +0 -111
- package/src/core/tmux.ts +0 -405
- package/src/core/watchdog.ts +0 -238
- package/src/core/websocket.ts +0 -94
- package/src/index.ts +0 -10
- package/src/utils/jwt.ts +0 -87
- package/tsconfig.json +0 -8
- package/vitest.config.ts +0 -12
package/dist/core/watchdog.js
CHANGED
|
@@ -5,16 +5,51 @@
|
|
|
5
5
|
* Checks OpenCode logs for activity and tmux pane for permission prompts.
|
|
6
6
|
*/
|
|
7
7
|
import { execSync, spawnSync } from "node:child_process";
|
|
8
|
+
import fs from "node:fs";
|
|
9
|
+
import os from "node:os";
|
|
10
|
+
import path from "node:path";
|
|
8
11
|
import { captureSessionOutput } from "./tmux.js";
|
|
9
|
-
//
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
// Strong indicators that OpenCode is blocked on a permission prompt
|
|
13
|
+
const PERMISSION_REQUIRED_PATTERNS = ["permission required", "△ permission required"];
|
|
14
|
+
/**
|
|
15
|
+
* Get the path to the waiting-for-human signal file for an agent
|
|
16
|
+
*/
|
|
17
|
+
function getWaitingFilePath(agentName) {
|
|
18
|
+
return path.join(os.homedir(), ".agentmesh", "agents", `${agentName}.waiting`);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Signal that an agent is intentionally waiting for human input.
|
|
22
|
+
* While this file exists the watchdog will not classify the agent as stuck.
|
|
23
|
+
*/
|
|
24
|
+
export function setWaitingForHuman(agentName, reason = "Waiting for human input") {
|
|
25
|
+
const dir = path.join(os.homedir(), ".agentmesh", "agents");
|
|
26
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
27
|
+
fs.writeFileSync(getWaitingFilePath(agentName), JSON.stringify({ reason, since: new Date().toISOString() }), { mode: 0o600 });
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Clear the waiting-for-human signal, allowing normal stuck detection to resume.
|
|
31
|
+
*/
|
|
32
|
+
export function clearWaitingForHuman(agentName) {
|
|
33
|
+
try {
|
|
34
|
+
fs.unlinkSync(getWaitingFilePath(agentName));
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// File may not exist — that's fine
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check whether an agent has signalled it is waiting for human input.
|
|
42
|
+
*/
|
|
43
|
+
export function isWaitingForHuman(agentName) {
|
|
44
|
+
try {
|
|
45
|
+
const raw = fs.readFileSync(getWaitingFilePath(agentName), "utf-8");
|
|
46
|
+
const data = JSON.parse(raw);
|
|
47
|
+
return { waiting: true, reason: data.reason, since: data.since };
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return { waiting: false };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
18
53
|
// Idle threshold: 2 minutes
|
|
19
54
|
const IDLE_THRESHOLD_MS = 2 * 60 * 1000;
|
|
20
55
|
// Stuck threshold: 5 minutes
|
|
@@ -23,7 +58,15 @@ const STUCK_THRESHOLD_MS = 5 * 60 * 1000;
|
|
|
23
58
|
* Check agent progress by analyzing OpenCode logs and tmux output
|
|
24
59
|
*/
|
|
25
60
|
export function checkAgentProgress(agentName, containerName) {
|
|
26
|
-
//
|
|
61
|
+
// Highest priority: agent has explicitly signalled it is waiting for human input
|
|
62
|
+
const waitingState = isWaitingForHuman(agentName);
|
|
63
|
+
if (waitingState.waiting) {
|
|
64
|
+
return {
|
|
65
|
+
status: "waiting_for_human",
|
|
66
|
+
details: waitingState.reason ?? "Waiting for human input",
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// Check for permission prompts
|
|
27
70
|
const permissionPrompt = detectPermissionPrompt(agentName);
|
|
28
71
|
if (permissionPrompt) {
|
|
29
72
|
return {
|
|
@@ -69,23 +112,28 @@ export function detectPermissionPrompt(agentName) {
|
|
|
69
112
|
const output = captureSessionOutput(agentName, 50);
|
|
70
113
|
if (!output)
|
|
71
114
|
return null;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (match)
|
|
80
|
-
return `External directory: ${match[1]}`;
|
|
81
|
-
}
|
|
82
|
-
if (line.includes("Permission required")) {
|
|
83
|
-
return "Permission prompt detected";
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return "Permission prompt detected";
|
|
115
|
+
// Try to extract concrete permission requests first
|
|
116
|
+
const lines = output.split("\n");
|
|
117
|
+
for (const line of lines) {
|
|
118
|
+
if (line.includes("Access external directory")) {
|
|
119
|
+
const match = line.match(/Access external directory\s+(\S+)/);
|
|
120
|
+
if (match)
|
|
121
|
+
return `External directory: ${match[1]}`;
|
|
87
122
|
}
|
|
88
123
|
}
|
|
124
|
+
const normalized = output.toLowerCase();
|
|
125
|
+
// Explicit permission-required banners
|
|
126
|
+
if (PERMISSION_REQUIRED_PATTERNS.some((pattern) => normalized.includes(pattern))) {
|
|
127
|
+
return "Permission prompt detected";
|
|
128
|
+
}
|
|
129
|
+
// OpenCode prompt action row, guarded to avoid false positives on plain "Reject"/"Allow"
|
|
130
|
+
const hasActionRow = normalized.includes("allow once") &&
|
|
131
|
+
normalized.includes("allow always") &&
|
|
132
|
+
normalized.includes("reject");
|
|
133
|
+
if (hasActionRow &&
|
|
134
|
+
(normalized.includes("permission") || normalized.includes("external directory"))) {
|
|
135
|
+
return "Permission prompt detected";
|
|
136
|
+
}
|
|
89
137
|
return null;
|
|
90
138
|
}
|
|
91
139
|
catch {
|
|
@@ -100,12 +148,13 @@ export function getLastActivityTime(agentName, containerName) {
|
|
|
100
148
|
let logLine;
|
|
101
149
|
if (containerName) {
|
|
102
150
|
// Sandbox mode: read from container
|
|
151
|
+
const containerLogDir = `/home/node/.agentmesh/opencode-data/${agentName}/opencode/log`;
|
|
103
152
|
const result = spawnSync("docker", [
|
|
104
153
|
"exec",
|
|
105
154
|
containerName,
|
|
106
155
|
"sh",
|
|
107
156
|
"-c",
|
|
108
|
-
|
|
157
|
+
`ls -t ${containerLogDir}/*.log 2>/dev/null | head -1 | xargs tail -1 2>/dev/null`,
|
|
109
158
|
], { encoding: "utf-8", timeout: 5000 });
|
|
110
159
|
if (result.status !== 0 || !result.stdout.trim()) {
|
|
111
160
|
return null;
|
|
@@ -113,8 +162,8 @@ export function getLastActivityTime(agentName, containerName) {
|
|
|
113
162
|
logLine = result.stdout.trim();
|
|
114
163
|
}
|
|
115
164
|
else {
|
|
116
|
-
// Non-sandbox mode: read from
|
|
117
|
-
const logDir = `${process.env.HOME}/.
|
|
165
|
+
// Non-sandbox mode: read from per-agent isolated logs
|
|
166
|
+
const logDir = `${process.env.HOME}/.agentmesh/opencode-data/${agentName}/opencode/log`;
|
|
118
167
|
const result = spawnSync("sh", ["-c", `ls -t ${logDir}/*.log 2>/dev/null | head -1 | xargs tail -1 2>/dev/null`], { encoding: "utf-8", timeout: 5000 });
|
|
119
168
|
if (result.status !== 0 || !result.stdout.trim()) {
|
|
120
169
|
return null;
|
|
@@ -125,7 +174,7 @@ export function getLastActivityTime(agentName, containerName) {
|
|
|
125
174
|
// Format: INFO 2026-02-26T00:14:42 +0ms service=...
|
|
126
175
|
const match = logLine.match(/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})/);
|
|
127
176
|
if (match) {
|
|
128
|
-
return new Date(match[1]
|
|
177
|
+
return new Date(`${match[1]}Z`);
|
|
129
178
|
}
|
|
130
179
|
return null;
|
|
131
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../../src/core/watchdog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../../src/core/watchdog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentmeshhq/agent",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "AgentMesh Agent Wrapper - Turn any AI coding assistant into a dispatchable, nudge-able agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"agentmesh": "dist/cli/index.js"
|
|
9
9
|
},
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md",
|
|
13
|
+
"LICENSE"
|
|
14
|
+
],
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public",
|
|
17
|
+
"registry": "https://registry.npmjs.org/"
|
|
17
18
|
},
|
|
18
19
|
"dependencies": {
|
|
19
20
|
"commander": "^12.0.0",
|
|
@@ -25,13 +26,31 @@
|
|
|
25
26
|
"@types/ws": "^8.5.10",
|
|
26
27
|
"vitest": "^2.1.0"
|
|
27
28
|
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=18"
|
|
31
|
+
},
|
|
28
32
|
"keywords": [
|
|
29
33
|
"agentmesh",
|
|
30
34
|
"ai-agent",
|
|
31
35
|
"tmux",
|
|
32
36
|
"claude",
|
|
33
|
-
"opencode"
|
|
37
|
+
"opencode",
|
|
38
|
+
"agent-orchestration"
|
|
34
39
|
],
|
|
35
40
|
"author": "AgentMesh",
|
|
36
|
-
"license": "MIT"
|
|
37
|
-
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/therajushahi/agentmesh.git",
|
|
45
|
+
"directory": "packages/agent"
|
|
46
|
+
},
|
|
47
|
+
"homepage": "https://agentmeshhq.dev",
|
|
48
|
+
"scripts": {
|
|
49
|
+
"dev": "tsx watch src/cli/index.ts",
|
|
50
|
+
"build": "tsc -p tsconfig.json",
|
|
51
|
+
"lint": "biome check src",
|
|
52
|
+
"start": "node dist/cli/index.js",
|
|
53
|
+
"test": "vitest run",
|
|
54
|
+
"test:watch": "vitest"
|
|
55
|
+
}
|
|
56
|
+
}
|
package/dist/cli/inbox.d.ts
DELETED
package/dist/cli/inbox.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Inbox CLI Command
|
|
3
|
-
* Shows agent's assigned issues and pending handoffs
|
|
4
|
-
*/
|
|
5
|
-
import pc from "picocolors";
|
|
6
|
-
import { loadConfig, getAgentState } from "../config/loader.js";
|
|
7
|
-
import { loadCache } from "../core/issue-cache.js";
|
|
8
|
-
async function getHubUrl() {
|
|
9
|
-
const config = loadConfig();
|
|
10
|
-
return config?.hubUrl || process.env.AGENTMESH_HUB_URL || "https://agentmeshhq.dev";
|
|
11
|
-
}
|
|
12
|
-
async function getToken() {
|
|
13
|
-
const state = getAgentState(process.env.AGENT_NAME || "");
|
|
14
|
-
if (state?.token)
|
|
15
|
-
return state.token;
|
|
16
|
-
if (process.env.AGENT_TOKEN)
|
|
17
|
-
return process.env.AGENT_TOKEN;
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
async function getWorkspace() {
|
|
21
|
-
const config = loadConfig();
|
|
22
|
-
return config?.workspace || process.env.AGENTMESH_WORKSPACE || "agentmesh";
|
|
23
|
-
}
|
|
24
|
-
async function apiRequest(path) {
|
|
25
|
-
const hubUrl = await getHubUrl();
|
|
26
|
-
const token = await getToken();
|
|
27
|
-
try {
|
|
28
|
-
const response = await fetch(`${hubUrl}${path}`, {
|
|
29
|
-
headers: {
|
|
30
|
-
"Content-Type": "application/json",
|
|
31
|
-
...(token && { Authorization: `Bearer ${token}` }),
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
if (!response.ok) {
|
|
35
|
-
const error = await response.json().catch(() => ({ error: response.statusText }));
|
|
36
|
-
return { error: error.error || response.statusText };
|
|
37
|
-
}
|
|
38
|
-
const data = await response.json();
|
|
39
|
-
return { data: data };
|
|
40
|
-
}
|
|
41
|
-
catch (err) {
|
|
42
|
-
return { error: err.message };
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function getStatusColor(status) {
|
|
46
|
-
switch (status) {
|
|
47
|
-
case "open":
|
|
48
|
-
return pc.yellow;
|
|
49
|
-
case "in_progress":
|
|
50
|
-
return pc.blue;
|
|
51
|
-
case "review":
|
|
52
|
-
return pc.magenta;
|
|
53
|
-
case "closed":
|
|
54
|
-
return pc.green;
|
|
55
|
-
default:
|
|
56
|
-
return pc.dim;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function getPriorityColor(priority) {
|
|
60
|
-
switch (priority) {
|
|
61
|
-
case "P0":
|
|
62
|
-
return pc.red;
|
|
63
|
-
case "P1":
|
|
64
|
-
return (s) => pc.yellow(pc.bold(s));
|
|
65
|
-
case "P2":
|
|
66
|
-
return pc.yellow;
|
|
67
|
-
default:
|
|
68
|
-
return pc.dim;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export async function inbox() {
|
|
72
|
-
console.log(pc.bold("Your Inbox"));
|
|
73
|
-
console.log();
|
|
74
|
-
// Fetch issues assigned to me
|
|
75
|
-
const issuesResult = await apiRequest("/api/v1/agents/me/inbox");
|
|
76
|
-
if (issuesResult.error) {
|
|
77
|
-
if (issuesResult.error.includes("fetch") || issuesResult.error.includes("network")) {
|
|
78
|
-
console.log(pc.yellow("Offline - showing cached assigned issues"));
|
|
79
|
-
const workspace = await getWorkspace();
|
|
80
|
-
const cache = loadCache(workspace);
|
|
81
|
-
const state = getAgentState(process.env.AGENT_NAME || "");
|
|
82
|
-
const myIssues = cache.issues.filter((i) => i.assignee_agent_id === state?.agentId && i.status !== "closed");
|
|
83
|
-
displayInbox(myIssues);
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
console.error(pc.red(`Error fetching inbox: ${issuesResult.error}`));
|
|
87
|
-
process.exit(1);
|
|
88
|
-
}
|
|
89
|
-
displayInbox(issuesResult.data?.issues || []);
|
|
90
|
-
}
|
|
91
|
-
function displayInbox(issues) {
|
|
92
|
-
if (issues.length === 0) {
|
|
93
|
-
console.log(pc.dim("No assigned issues. Use 'agentmesh ready' to find available work."));
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
// Group by status
|
|
97
|
-
const inProgress = issues.filter((i) => i.status === "in_progress");
|
|
98
|
-
const review = issues.filter((i) => i.status === "review");
|
|
99
|
-
const open = issues.filter((i) => i.status === "open");
|
|
100
|
-
if (inProgress.length > 0) {
|
|
101
|
-
console.log(pc.blue(pc.bold("In Progress")));
|
|
102
|
-
for (const issue of inProgress) {
|
|
103
|
-
console.log(` ${pc.cyan(issue.issue_id)} ${getPriorityColor(issue.priority)(issue.priority)} ${issue.title}`);
|
|
104
|
-
}
|
|
105
|
-
console.log();
|
|
106
|
-
}
|
|
107
|
-
if (review.length > 0) {
|
|
108
|
-
console.log(pc.magenta(pc.bold("In Review")));
|
|
109
|
-
for (const issue of review) {
|
|
110
|
-
console.log(` ${pc.cyan(issue.issue_id)} ${getPriorityColor(issue.priority)(issue.priority)} ${issue.title}`);
|
|
111
|
-
}
|
|
112
|
-
console.log();
|
|
113
|
-
}
|
|
114
|
-
if (open.length > 0) {
|
|
115
|
-
console.log(pc.yellow(pc.bold("Open")));
|
|
116
|
-
for (const issue of open) {
|
|
117
|
-
console.log(` ${pc.cyan(issue.issue_id)} ${getPriorityColor(issue.priority)(issue.priority)} ${issue.title}`);
|
|
118
|
-
}
|
|
119
|
-
console.log();
|
|
120
|
-
}
|
|
121
|
-
console.log(pc.dim(`Total: ${issues.length} issue(s) assigned to you`));
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=inbox.js.map
|
package/dist/cli/inbox.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/cli/inbox.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/issue.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Issue CLI Commands
|
|
3
|
-
* Integrated issue tracking for agents
|
|
4
|
-
*/
|
|
5
|
-
export interface CreateIssueOptions {
|
|
6
|
-
title: string;
|
|
7
|
-
description?: string;
|
|
8
|
-
type?: string;
|
|
9
|
-
priority?: string;
|
|
10
|
-
project?: string;
|
|
11
|
-
parent?: string;
|
|
12
|
-
labels?: string[];
|
|
13
|
-
}
|
|
14
|
-
export declare function createIssue(options: CreateIssueOptions): Promise<void>;
|
|
15
|
-
export interface ListIssuesOptions {
|
|
16
|
-
status?: string;
|
|
17
|
-
type?: string;
|
|
18
|
-
priority?: string;
|
|
19
|
-
assignee?: string;
|
|
20
|
-
project?: string;
|
|
21
|
-
limit?: number;
|
|
22
|
-
}
|
|
23
|
-
export declare function listIssues(options?: ListIssuesOptions): Promise<void>;
|
|
24
|
-
export declare function showIssue(issueId: string): Promise<void>;
|
|
25
|
-
export interface UpdateIssueOptions {
|
|
26
|
-
title?: string;
|
|
27
|
-
description?: string;
|
|
28
|
-
type?: string;
|
|
29
|
-
priority?: string;
|
|
30
|
-
status?: string;
|
|
31
|
-
project?: string;
|
|
32
|
-
assignee?: string;
|
|
33
|
-
labels?: string[];
|
|
34
|
-
}
|
|
35
|
-
export declare function updateIssue(issueId: string, options: UpdateIssueOptions): Promise<void>;
|
|
36
|
-
export declare function closeIssue(issueId: string): Promise<void>;
|
|
37
|
-
export declare function claimIssue(issueId: string): Promise<void>;
|
|
38
|
-
export interface HandoffOptions {
|
|
39
|
-
to: string;
|
|
40
|
-
reason?: string;
|
|
41
|
-
}
|
|
42
|
-
export declare function handoffIssue(issueId: string, options: HandoffOptions): Promise<void>;
|