claude-teammate 0.1.241 → 0.1.243
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/package.json
CHANGED
package/src/dashboard/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# TM8 Dashboard
|
|
2
2
|
|
|
3
|
-
Web UI for monitoring the TM8 worker. Runs
|
|
3
|
+
Web UI for monitoring the TM8 worker. Runs via the globally installed `claude-teammate` npm package.
|
|
4
4
|
|
|
5
5
|
> **This source repo is for development only.** Production uses the published npm package — do not point the service at this repo.
|
|
6
6
|
|
|
@@ -27,17 +27,17 @@ Output lands in `~/.cache/tm8-dashboard/.output/public` — the server reads fro
|
|
|
27
27
|
|
|
28
28
|
### 3. systemd service
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Create `/etc/systemd/system/tm8-dashboard.service`:
|
|
31
31
|
|
|
32
32
|
```ini
|
|
33
33
|
[Unit]
|
|
34
|
-
Description=TM8 Dashboard
|
|
34
|
+
Description=TM8 Dashboard
|
|
35
35
|
After=network.target
|
|
36
36
|
|
|
37
37
|
[Service]
|
|
38
38
|
Type=simple
|
|
39
39
|
ExecStart=/usr/bin/tm8 dashboard --port=7881
|
|
40
|
-
User
|
|
40
|
+
User=<your-user>
|
|
41
41
|
Restart=on-failure
|
|
42
42
|
RestartSec=5
|
|
43
43
|
StandardOutput=journal
|
|
@@ -47,19 +47,19 @@ StandardError=journal
|
|
|
47
47
|
WantedBy=multi-user.target
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Enable and start:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
sudo systemctl daemon-reload
|
|
54
|
-
sudo systemctl enable tm8-
|
|
55
|
-
sudo systemctl start tm8-
|
|
56
|
-
sudo systemctl status tm8-
|
|
54
|
+
sudo systemctl enable tm8-dashboard
|
|
55
|
+
sudo systemctl start tm8-dashboard
|
|
56
|
+
sudo systemctl status tm8-dashboard
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
Logs:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
journalctl -u tm8-
|
|
62
|
+
journalctl -u tm8-dashboard -f
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
### 4. pm2 alternative
|
|
@@ -80,7 +80,7 @@ npm update -g claude-teammate
|
|
|
80
80
|
DASH=$(npm root -g)/claude-teammate/src/dashboard/app
|
|
81
81
|
cd "$DASH" && npm install && npm run generate
|
|
82
82
|
|
|
83
|
-
sudo systemctl restart tm8-
|
|
83
|
+
sudo systemctl restart tm8-dashboard
|
|
84
84
|
# or: pm2 restart tm8-dashboard
|
|
85
85
|
```
|
|
86
86
|
|
|
@@ -305,13 +305,7 @@ export function selectIssueCreationRepo({ detail, issueMemory, repos, epicMemory
|
|
|
305
305
|
|
|
306
306
|
const repoByUrl = new Map(repos.map((repo) => [String(repo.url || "").trim(), repo]));
|
|
307
307
|
|
|
308
|
-
|
|
309
|
-
const prRepo = repoByUrl.get(String(epicMemory.pr_repo_url).trim());
|
|
310
|
-
if (prRepo) {
|
|
311
|
-
return prRepo;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
|
|
308
|
+
// Comments/description are more specific than epic-level pr_repo_url — check them first.
|
|
315
309
|
const latestExplicitRepo = getLatestExplicitIssueCreationRepo(detail, repoByUrl);
|
|
316
310
|
if (latestExplicitRepo) {
|
|
317
311
|
return latestExplicitRepo;
|
|
@@ -324,6 +318,14 @@ export function selectIssueCreationRepo({ detail, issueMemory, repos, epicMemory
|
|
|
324
318
|
return repoByUrl.get(descriptionRepoUrls[0]) || null;
|
|
325
319
|
}
|
|
326
320
|
|
|
321
|
+
// Fall back to epic-level pr_repo_url only when task description and comments give no signal.
|
|
322
|
+
if (epicMemory?.pr_repo_url) {
|
|
323
|
+
const prRepo = repoByUrl.get(String(epicMemory.pr_repo_url).trim());
|
|
324
|
+
if (prRepo) {
|
|
325
|
+
return prRepo;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
327
329
|
const rememberedRepoUrls = [
|
|
328
330
|
...new Set(
|
|
329
331
|
(Array.isArray(issueMemory?.github_issues) ? issueMemory.github_issues : [])
|
|
@@ -180,7 +180,7 @@ export async function continueGitHubIssueCreation({
|
|
|
180
180
|
const latestRepoSelectionReply = getLatestHumanRepoSelectionReply(detail, botUser, jira);
|
|
181
181
|
let selectedRepo = selectIssueCreationRepo({ detail, issueMemory, repos, epicMemory });
|
|
182
182
|
const latestRepoPrompt = getLatestRepoSelectionPromptComment(detail, botUser, jira);
|
|
183
|
-
if (!selectedRepo
|
|
183
|
+
if (!selectedRepo) {
|
|
184
184
|
const fallback = await services.runClaudeRepoSelection({
|
|
185
185
|
issue: detail,
|
|
186
186
|
repos,
|