openclaw-telegram-manager 2.5.6 → 2.6.0
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/README.md +13 -3
- package/dist/commands/daily-report.js +14 -14
- package/dist/commands/daily-report.js.map +1 -1
- package/dist/commands/doctor-all.d.ts +34 -0
- package/dist/commands/doctor-all.d.ts.map +1 -1
- package/dist/commands/doctor-all.js +195 -44
- package/dist/commands/doctor-all.js.map +1 -1
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +4 -5
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/status.js +3 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/lib/include-generator.d.ts.map +1 -1
- package/dist/lib/include-generator.js +20 -7
- package/dist/lib/include-generator.js.map +1 -1
- package/dist/lib/telegram.d.ts +1 -1
- package/dist/lib/telegram.d.ts.map +1 -1
- package/dist/lib/telegram.js +6 -8
- package/dist/lib/telegram.js.map +1 -1
- package/dist/lib/types.d.ts +4 -5
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +3 -3
- package/dist/lib/types.js.map +1 -1
- package/dist/plugin.js +234 -82
- package/dist/setup.js +29 -3
- package/dist/setup.js.map +1 -1
- package/dist/tool.js +2 -2
- package/dist/tool.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ OpenClaw's automatic scanner may flag `child_process` and `process.env` usage. T
|
|
|
35
35
|
## How it works
|
|
36
36
|
|
|
37
37
|
1. **One-time setup per topic**
|
|
38
|
-
Open a Telegram topic and type `/tm init`. Pick a type (Coding, Research, Marketing, or
|
|
38
|
+
Open a Telegram topic and type `/tm init`. Pick a type (Coding, Research, Marketing, or General). Done.
|
|
39
39
|
|
|
40
40
|
2. **Everything else is automatic**
|
|
41
41
|
The AI reads and updates the topic's files on its own — tracking progress, TODOs, decisions, and learnings. When context gets compacted or the AI resets, it re-reads these files and continues where it left off.
|
|
@@ -45,6 +45,16 @@ OpenClaw's automatic scanner may flag `child_process` and `process.env` usage. T
|
|
|
45
45
|
|
|
46
46
|
You can also skip the interactive flow: `/tm init my-project coding`
|
|
47
47
|
|
|
48
|
+
## Topic memory vs. workspace memory
|
|
49
|
+
|
|
50
|
+
OpenClaw has its own workspace-level memory (learnings, preferences, patterns). This plugin adds a **per-topic layer on top**.
|
|
51
|
+
|
|
52
|
+
The AI treats these as a hierarchy:
|
|
53
|
+
1. **Topic files come first** — they define what the topic is working on, its tasks, progress, and history. After a reset, the AI reads these before anything else.
|
|
54
|
+
2. **Workspace memory is secondary** — general learnings and user preferences still apply (coding style, past mistakes), but they don't override the topic's current state.
|
|
55
|
+
|
|
56
|
+
In practice: if the AI resets and you ask "what are we working on?", it answers from the topic's status and tasks — not from unrelated projects that might exist elsewhere in the workspace.
|
|
57
|
+
|
|
48
58
|
## What gets tracked
|
|
49
59
|
|
|
50
60
|
Each topic gets its own folder with files the AI maintains automatically:
|
|
@@ -65,6 +75,8 @@ Depending on the topic type, extra files are added:
|
|
|
65
75
|
- **Research** adds `SOURCES.md` and `FINDINGS.md`
|
|
66
76
|
- **Marketing** adds `CAMPAIGNS.md` and `METRICS.md`
|
|
67
77
|
|
|
78
|
+
These files are committed to your workspace git repo so they persist and have history. Operational files (the internal registry and audit log) are automatically added to `.gitignore` during setup.
|
|
79
|
+
|
|
68
80
|
## Optional commands
|
|
69
81
|
|
|
70
82
|
You don't need any of these — everything runs automatically. They're there if you want to check on things or make changes.
|
|
@@ -87,8 +99,6 @@ You don't need any of these — everything runs automatically. They're there if
|
|
|
87
99
|
| `/tm snooze <duration>` | Pause health checks (e.g. `7d`, `30d`) |
|
|
88
100
|
| `/tm archive` | Archive a topic |
|
|
89
101
|
| `/tm unarchive` | Bring back an archived topic |
|
|
90
|
-
| `/tm upgrade` | Update topic files to the latest version |
|
|
91
|
-
| `/tm sync` | Fix config if something is out of sync |
|
|
92
102
|
|
|
93
103
|
**Autopilot** (enabled by default)
|
|
94
104
|
|
|
@@ -89,16 +89,16 @@ export function readFileOrNull(filePath) {
|
|
|
89
89
|
}
|
|
90
90
|
export function extractDoneSection(statusContent) {
|
|
91
91
|
if (!statusContent)
|
|
92
|
-
return '
|
|
92
|
+
return 'No status available yet.';
|
|
93
93
|
const match = statusContent.match(/^##\s*Last done\s*\(UTC\)\s*\n([\s\S]*?)(?=\n##\s|\n*$)/im);
|
|
94
94
|
if (!match)
|
|
95
|
-
return '
|
|
95
|
+
return 'No recent activity found.';
|
|
96
96
|
const text = match[1]?.trim();
|
|
97
|
-
return text || '
|
|
97
|
+
return text || 'Empty.';
|
|
98
98
|
}
|
|
99
99
|
export function extractTodayLearnings(learningsContent) {
|
|
100
100
|
if (!learningsContent)
|
|
101
|
-
return '
|
|
101
|
+
return 'No learnings recorded yet.';
|
|
102
102
|
const today = new Date().toISOString().slice(0, 10);
|
|
103
103
|
const lines = learningsContent.split('\n');
|
|
104
104
|
const todayLines = [];
|
|
@@ -115,35 +115,35 @@ export function extractTodayLearnings(learningsContent) {
|
|
|
115
115
|
todayLines.push(line);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
return todayLines.length > 0 ? todayLines.join('\n') : '
|
|
118
|
+
return todayLines.length > 0 ? todayLines.join('\n') : 'None today.';
|
|
119
119
|
}
|
|
120
120
|
export function extractBlockers(todoContent) {
|
|
121
121
|
if (!todoContent)
|
|
122
|
-
return '
|
|
122
|
+
return 'No tasks recorded yet.';
|
|
123
123
|
const lines = todoContent.split('\n');
|
|
124
124
|
const blockerLines = lines.filter((l) => /\[BLOCKED\]/i.test(l) || /\bblocked\b/i.test(l));
|
|
125
|
-
return blockerLines.length > 0 ? blockerLines.join('\n') : '
|
|
125
|
+
return blockerLines.length > 0 ? blockerLines.join('\n') : 'None.';
|
|
126
126
|
}
|
|
127
127
|
export function extractNextActions(statusContent) {
|
|
128
128
|
if (!statusContent)
|
|
129
|
-
return '
|
|
129
|
+
return 'No status available yet.';
|
|
130
130
|
const match = statusContent.match(/^##\s*Next (?:3 )?actions(?: \(now\))?\s*\n([\s\S]*?)(?=\n##\s|\n*$)/im);
|
|
131
131
|
if (!match)
|
|
132
|
-
return '
|
|
132
|
+
return 'None yet.';
|
|
133
133
|
const text = match[1]?.trim();
|
|
134
|
-
return text || '
|
|
134
|
+
return text || 'None yet.';
|
|
135
135
|
}
|
|
136
136
|
export function extractUpcoming(statusContent) {
|
|
137
137
|
if (!statusContent)
|
|
138
|
-
return '
|
|
138
|
+
return 'No status available yet.';
|
|
139
139
|
const match = statusContent.match(/^##\s*Upcoming actions\s*\n([\s\S]*?)(?=\n##\s|\n*$)/im);
|
|
140
140
|
if (!match)
|
|
141
|
-
return '
|
|
141
|
+
return 'None yet.';
|
|
142
142
|
const text = match[1]?.trim();
|
|
143
|
-
return text || '
|
|
143
|
+
return text || 'None yet.';
|
|
144
144
|
}
|
|
145
145
|
export function computeHealth(lastMessageAt, statusContent, blockers) {
|
|
146
|
-
if (blockers && blockers !== '
|
|
146
|
+
if (blockers && blockers !== 'None.' && blockers !== 'No tasks recorded yet.') {
|
|
147
147
|
return 'blocked';
|
|
148
148
|
}
|
|
149
149
|
if (!lastMessageAt)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-report.js","sourceRoot":"","sources":["../../src/commands/daily-report.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"daily-report.js","sourceRoot":"","sources":["../../src/commands/daily-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
import type { TopicEntry } from '../lib/types.js';
|
|
1
2
|
import type { CommandContext, CommandResult } from './help.js';
|
|
3
|
+
export type SkipReason = 'archived' | 'snoozed' | 'inactive' | 'recently-checked';
|
|
4
|
+
export interface EligibilityResult {
|
|
5
|
+
eligible: boolean;
|
|
6
|
+
skipReason?: SkipReason;
|
|
7
|
+
}
|
|
8
|
+
interface TopicOutcome {
|
|
9
|
+
name: string;
|
|
10
|
+
slug: string;
|
|
11
|
+
status: 'checked' | 'check-failed' | 'post-failed';
|
|
12
|
+
}
|
|
13
|
+
interface SkippedTopic {
|
|
14
|
+
name: string;
|
|
15
|
+
reason: SkipReason;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Like `isEligible`, but returns the specific skip reason.
|
|
19
|
+
* `isEligible` is kept for the registry-update loop (line 276).
|
|
20
|
+
*/
|
|
21
|
+
export declare function getEligibility(entry: TopicEntry, now: Date, statusTimestamp?: string | null): EligibilityResult;
|
|
22
|
+
export interface DoctorAllSummaryData {
|
|
23
|
+
checkedTopics: TopicOutcome[];
|
|
24
|
+
skippedTopics: SkippedTopic[];
|
|
25
|
+
postFailures: number;
|
|
26
|
+
dailyReportsSent: number;
|
|
27
|
+
dailyReportsSkipped: number;
|
|
28
|
+
hasPostFn: boolean;
|
|
29
|
+
migrationGroups: number;
|
|
30
|
+
errors: string[];
|
|
31
|
+
}
|
|
32
|
+
export declare function buildDoctorAllSummary(data: DoctorAllSummaryData): string;
|
|
2
33
|
export declare function handleDoctorAll(ctx: CommandContext): Promise<CommandResult>;
|
|
34
|
+
export declare function extractStatusTimestamp(content: string): string | null;
|
|
35
|
+
export declare function isEligible(entry: TopicEntry, now: Date, statusTimestamp?: string | null): boolean;
|
|
36
|
+
export {};
|
|
3
37
|
//# sourceMappingURL=doctor-all.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-all.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-all.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor-all.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-all.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAaxE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAa/D,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC;CACpD;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,IAAI,EACT,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,iBAAiB,CAwBnB;AAkBD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAsGxE;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA6SjF;AAKD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrE;AASD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAsBjG"}
|
|
@@ -3,16 +3,147 @@ import * as path from 'node:path';
|
|
|
3
3
|
import { readRegistry, withRegistry } from '../lib/registry.js';
|
|
4
4
|
import { checkAuthorization } from '../lib/auth.js';
|
|
5
5
|
import { DOCTOR_ALL_COOLDOWN_MS, DOCTOR_PER_TOPIC_CAP_MS, INACTIVE_AFTER_DAYS, MAX_POST_ERROR_LENGTH, SPAM_THRESHOLD, } from '../lib/types.js';
|
|
6
|
-
import { buildDoctorReport, buildDoctorButtons, buildDailyReport, createRateLimitedPoster } from '../lib/telegram.js';
|
|
6
|
+
import { buildDoctorReport, buildDoctorButtons, buildDailyReport, createRateLimitedPoster, truncateMessage } from '../lib/telegram.js';
|
|
7
7
|
import { runAllChecksForTopic, backupCapsuleIfHealthy } from '../lib/doctor-checks.js';
|
|
8
8
|
import { includePath } from '../lib/include-generator.js';
|
|
9
9
|
import { readFileOrNull, extractDoneSection, extractTodayLearnings, extractBlockers, extractNextActions, extractUpcoming, computeHealth, } from './daily-report.js';
|
|
10
|
+
/**
|
|
11
|
+
* Like `isEligible`, but returns the specific skip reason.
|
|
12
|
+
* `isEligible` is kept for the registry-update loop (line 276).
|
|
13
|
+
*/
|
|
14
|
+
export function getEligibility(entry, now, statusTimestamp) {
|
|
15
|
+
if (entry.status === 'archived')
|
|
16
|
+
return { eligible: false, skipReason: 'archived' };
|
|
17
|
+
if (entry.snoozeUntil && new Date(entry.snoozeUntil).getTime() > now.getTime()) {
|
|
18
|
+
return { eligible: false, skipReason: 'snoozed' };
|
|
19
|
+
}
|
|
20
|
+
const lastActive = mostRecent(entry.lastMessageAt, statusTimestamp);
|
|
21
|
+
if (lastActive) {
|
|
22
|
+
const lastActiveMs = new Date(lastActive).getTime();
|
|
23
|
+
const inactiveMs = INACTIVE_AFTER_DAYS * 24 * 60 * 60 * 1000;
|
|
24
|
+
if (now.getTime() - lastActiveMs > inactiveMs) {
|
|
25
|
+
return { eligible: false, skipReason: 'inactive' };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (entry.lastDoctorReportAt) {
|
|
29
|
+
const lastReport = new Date(entry.lastDoctorReportAt).getTime();
|
|
30
|
+
if (now.getTime() - lastReport < DOCTOR_PER_TOPIC_CAP_MS) {
|
|
31
|
+
return { eligible: false, skipReason: 'recently-checked' };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return { eligible: true };
|
|
35
|
+
}
|
|
36
|
+
// ── Summary builder ──────────────────────────────────────────────────
|
|
37
|
+
const SKIP_ICONS = {
|
|
38
|
+
archived: '\ud83d\udce6', // 📦
|
|
39
|
+
snoozed: '\ud83d\udca4', // 💤
|
|
40
|
+
inactive: '\ud83d\udd07', // 🔇
|
|
41
|
+
'recently-checked': '\u23f0', // ⏰
|
|
42
|
+
};
|
|
43
|
+
const SKIP_LABELS = {
|
|
44
|
+
archived: 'archived',
|
|
45
|
+
snoozed: 'snoozed',
|
|
46
|
+
inactive: 'inactive',
|
|
47
|
+
'recently-checked': 'recently checked',
|
|
48
|
+
};
|
|
49
|
+
const SUMMARY_SOFT_LIMIT = 3800;
|
|
50
|
+
export function buildDoctorAllSummary(data) {
|
|
51
|
+
const { checkedTopics, skippedTopics, postFailures, dailyReportsSent, dailyReportsSkipped, hasPostFn, migrationGroups, errors, } = data;
|
|
52
|
+
if (checkedTopics.length === 0 && skippedTopics.length === 0) {
|
|
53
|
+
return '**Health Check Summary**\n\nNo topics registered yet.';
|
|
54
|
+
}
|
|
55
|
+
const lines = ['**Health Check Summary**', ''];
|
|
56
|
+
// ── Checked topics ──
|
|
57
|
+
let checkedRendered = 0;
|
|
58
|
+
for (const t of checkedTopics) {
|
|
59
|
+
let icon;
|
|
60
|
+
let label;
|
|
61
|
+
switch (t.status) {
|
|
62
|
+
case 'checked':
|
|
63
|
+
icon = '\u2705'; // ✅
|
|
64
|
+
label = 'checked';
|
|
65
|
+
break;
|
|
66
|
+
case 'check-failed':
|
|
67
|
+
icon = '\u274c'; // ❌
|
|
68
|
+
label = 'check failed';
|
|
69
|
+
break;
|
|
70
|
+
case 'post-failed':
|
|
71
|
+
icon = '\u26a0\ufe0f'; // ⚠️
|
|
72
|
+
label = 'failed to post';
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
const line = `${icon} ${t.name} \u2014 ${label}`;
|
|
76
|
+
if (lines.join('\n').length + line.length > SUMMARY_SOFT_LIMIT) {
|
|
77
|
+
const remaining = checkedTopics.length - checkedRendered;
|
|
78
|
+
lines.push(`... and ${remaining} more`);
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
lines.push(line);
|
|
82
|
+
checkedRendered++;
|
|
83
|
+
}
|
|
84
|
+
// ── Skipped topics ──
|
|
85
|
+
if (skippedTopics.length > 0) {
|
|
86
|
+
lines.push('');
|
|
87
|
+
lines.push('\u23ed\ufe0f Skipped:'); // ⏭️
|
|
88
|
+
let skippedRendered = 0;
|
|
89
|
+
for (const t of skippedTopics) {
|
|
90
|
+
const icon = SKIP_ICONS[t.reason];
|
|
91
|
+
const label = SKIP_LABELS[t.reason];
|
|
92
|
+
const line = `${icon} ${t.name} \u2014 ${label}`;
|
|
93
|
+
if (lines.join('\n').length + line.length > SUMMARY_SOFT_LIMIT) {
|
|
94
|
+
const remaining = skippedTopics.length - skippedRendered;
|
|
95
|
+
lines.push(`... and ${remaining} more`);
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
lines.push(line);
|
|
99
|
+
skippedRendered++;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// ── Post failures callout ──
|
|
103
|
+
if (postFailures > 0) {
|
|
104
|
+
lines.push('');
|
|
105
|
+
lines.push(`\u26a0\ufe0f ${postFailures} topic(s) failed to post`);
|
|
106
|
+
}
|
|
107
|
+
// ── Daily reports ──
|
|
108
|
+
if (hasPostFn) {
|
|
109
|
+
const parts = [];
|
|
110
|
+
if (dailyReportsSent > 0)
|
|
111
|
+
parts.push(`${dailyReportsSent} sent`);
|
|
112
|
+
if (dailyReportsSkipped > 0)
|
|
113
|
+
parts.push(`${dailyReportsSkipped} skipped`);
|
|
114
|
+
if (parts.length > 0) {
|
|
115
|
+
lines.push('');
|
|
116
|
+
lines.push(`Daily reports: ${parts.join(', ')}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// ── Migration warning ──
|
|
120
|
+
if (migrationGroups > 0) {
|
|
121
|
+
lines.push('');
|
|
122
|
+
lines.push(`**Warning:** ${migrationGroups} group(s) had all topics fail. The group may have been migrated or deleted.`);
|
|
123
|
+
}
|
|
124
|
+
// ── Check errors (internal) ──
|
|
125
|
+
if (errors.length > 0) {
|
|
126
|
+
lines.push('');
|
|
127
|
+
lines.push(`**Errors (${errors.length}):**`);
|
|
128
|
+
for (const e of errors.slice(0, 10)) {
|
|
129
|
+
lines.push(`- ${e}`);
|
|
130
|
+
}
|
|
131
|
+
if (errors.length > 10) {
|
|
132
|
+
lines.push(`... and ${errors.length - 10} more`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return truncateMessage(lines.join('\n'));
|
|
136
|
+
}
|
|
10
137
|
export async function handleDoctorAll(ctx) {
|
|
11
|
-
const { workspaceDir, configDir,
|
|
138
|
+
const { workspaceDir, configDir, logger } = ctx;
|
|
139
|
+
const registry = readRegistry(workspaceDir);
|
|
140
|
+
// When the autopilot calls doctor --all there is no Telegram user context,
|
|
141
|
+
// so userId is undefined. Fall back to the first registered admin — the
|
|
142
|
+
// autopilot acts on behalf of whoever set it up.
|
|
143
|
+
const userId = ctx.userId ?? registry.topicManagerAdmins[0];
|
|
12
144
|
if (!userId) {
|
|
13
145
|
return { text: 'Something went wrong — could not identify your user account.' };
|
|
14
146
|
}
|
|
15
|
-
const registry = readRegistry(workspaceDir);
|
|
16
147
|
// Auth check (admin tier)
|
|
17
148
|
const auth = checkAuthorization(userId, 'doctor-all', registry);
|
|
18
149
|
if (!auth.authorized) {
|
|
@@ -46,14 +177,18 @@ export async function handleDoctorAll(ctx) {
|
|
|
46
177
|
const allEntries = Object.entries(registry.topics);
|
|
47
178
|
const reports = [];
|
|
48
179
|
const errors = [];
|
|
49
|
-
|
|
50
|
-
|
|
180
|
+
const checkedTopics = [];
|
|
181
|
+
const skippedTopics = [];
|
|
51
182
|
// Group tracking for migration detection
|
|
52
183
|
const groupPostResults = new Map();
|
|
53
184
|
for (const [_key, entry] of allEntries) {
|
|
54
|
-
// Eligibility gating
|
|
55
|
-
|
|
56
|
-
|
|
185
|
+
// Eligibility gating — consider STATUS.md timestamp alongside lastMessageAt
|
|
186
|
+
const capsuleDir = path.join(projectsBase, entry.slug);
|
|
187
|
+
const statusForEligibility = readFileOrNull(path.join(capsuleDir, 'STATUS.md'));
|
|
188
|
+
const statusTs = statusForEligibility ? extractStatusTimestamp(statusForEligibility) : null;
|
|
189
|
+
const eligibility = getEligibility(entry, now, statusTs);
|
|
190
|
+
if (!eligibility.eligible) {
|
|
191
|
+
skippedTopics.push({ name: entry.name, reason: eligibility.skipReason });
|
|
57
192
|
continue;
|
|
58
193
|
}
|
|
59
194
|
try {
|
|
@@ -82,12 +217,13 @@ export async function handleDoctorAll(ctx) {
|
|
|
82
217
|
}
|
|
83
218
|
const group = groupPostResults.get(gk);
|
|
84
219
|
group.total++;
|
|
85
|
-
|
|
220
|
+
checkedTopics.push({ name: entry.name, slug: entry.slug, status: 'checked' });
|
|
86
221
|
}
|
|
87
222
|
catch (err) {
|
|
88
223
|
const msg = err instanceof Error ? err.message : String(err);
|
|
89
224
|
errors.push(`${entry.slug}: ${msg}`);
|
|
90
225
|
logger.error(`[doctor-all] Error processing ${entry.slug}: ${msg}`);
|
|
226
|
+
checkedTopics.push({ name: entry.name, slug: entry.slug, status: 'check-failed' });
|
|
91
227
|
// Track failures for migration detection
|
|
92
228
|
const gk = entry.groupId;
|
|
93
229
|
if (!groupPostResults.has(gk)) {
|
|
@@ -106,14 +242,13 @@ export async function handleDoctorAll(ctx) {
|
|
|
106
242
|
}
|
|
107
243
|
}
|
|
108
244
|
// Fan-out posting: post individual reports to each topic if postFn is available
|
|
109
|
-
let
|
|
110
|
-
|
|
245
|
+
let postFailures = 0;
|
|
246
|
+
const postFailedSlugs = new Set();
|
|
111
247
|
if (ctx.postFn && reports.length > 0) {
|
|
112
248
|
const rateLimitedPost = createRateLimitedPoster(ctx.postFn);
|
|
113
249
|
for (const report of reports) {
|
|
114
250
|
try {
|
|
115
251
|
await rateLimitedPost(report.groupId, report.threadId, report.text, report.keyboard);
|
|
116
|
-
postSuccesses++;
|
|
117
252
|
// Update lastDoctorReportAt transactionally on success
|
|
118
253
|
await withRegistry(workspaceDir, (data) => {
|
|
119
254
|
const key = `${report.groupId}:${report.threadId}`;
|
|
@@ -125,7 +260,8 @@ export async function handleDoctorAll(ctx) {
|
|
|
125
260
|
});
|
|
126
261
|
}
|
|
127
262
|
catch (err) {
|
|
128
|
-
|
|
263
|
+
postFailures++;
|
|
264
|
+
postFailedSlugs.add(report.slug);
|
|
129
265
|
const msg = err instanceof Error ? err.message : String(err);
|
|
130
266
|
logger.error(`[doctor-all] Post failed for ${report.slug}: ${msg}`);
|
|
131
267
|
// Store error on topic entry
|
|
@@ -138,6 +274,12 @@ export async function handleDoctorAll(ctx) {
|
|
|
138
274
|
});
|
|
139
275
|
}
|
|
140
276
|
}
|
|
277
|
+
// Update outcomes for post-failed topics
|
|
278
|
+
for (const outcome of checkedTopics) {
|
|
279
|
+
if (postFailedSlugs.has(outcome.slug) && outcome.status === 'checked') {
|
|
280
|
+
outcome.status = 'post-failed';
|
|
281
|
+
}
|
|
282
|
+
}
|
|
141
283
|
}
|
|
142
284
|
// Daily report fan-out: generate and post daily reports for eligible topics
|
|
143
285
|
let dailyReportSuccesses = 0;
|
|
@@ -198,7 +340,10 @@ export async function handleDoctorAll(ctx) {
|
|
|
198
340
|
await withRegistry(workspaceDir, (data) => {
|
|
199
341
|
data.lastDoctorAllRunAt = now.toISOString();
|
|
200
342
|
for (const [_key, entry] of Object.entries(data.topics)) {
|
|
201
|
-
|
|
343
|
+
const dir = path.join(projectsBase, entry.slug);
|
|
344
|
+
const statusFile = readFileOrNull(path.join(dir, 'STATUS.md'));
|
|
345
|
+
const ts = statusFile ? extractStatusTimestamp(statusFile) : null;
|
|
346
|
+
if (!isEligible(entry, now, ts))
|
|
202
347
|
continue;
|
|
203
348
|
// Update consecutiveSilentDoctors (compare against old lastDoctorRunAt before overwriting)
|
|
204
349
|
if (entry.lastMessageAt) {
|
|
@@ -234,36 +379,41 @@ export async function handleDoctorAll(ctx) {
|
|
|
234
379
|
}
|
|
235
380
|
});
|
|
236
381
|
// Build summary
|
|
237
|
-
const lines = [
|
|
238
|
-
`**Health Check Summary**`,
|
|
239
|
-
'',
|
|
240
|
-
`Checked: ${processed}`,
|
|
241
|
-
`Skipped: ${skipped}`,
|
|
242
|
-
`Total topics: ${allEntries.length}`,
|
|
243
|
-
];
|
|
244
|
-
if (ctx.postFn) {
|
|
245
|
-
lines.push(`Posted: ${postSuccesses}, Post failures: ${postErrors}`);
|
|
246
|
-
lines.push(`Daily reports: ${dailyReportSuccesses} sent, ${dailyReportSkipped} skipped`);
|
|
247
|
-
}
|
|
248
|
-
if (errors.length > 0) {
|
|
249
|
-
lines.push('');
|
|
250
|
-
lines.push(`**Errors (${errors.length}):**`);
|
|
251
|
-
for (const e of errors.slice(0, 10)) {
|
|
252
|
-
lines.push(`- ${e}`);
|
|
253
|
-
}
|
|
254
|
-
if (errors.length > 10) {
|
|
255
|
-
lines.push(`... and ${errors.length - 10} more`);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
if (migrationGroups.length > 0) {
|
|
259
|
-
lines.push('');
|
|
260
|
-
lines.push(`**Warning:** ${migrationGroups.length} group(s) had all topics fail. The group may have been migrated or deleted.`);
|
|
261
|
-
}
|
|
262
382
|
return {
|
|
263
|
-
text:
|
|
383
|
+
text: buildDoctorAllSummary({
|
|
384
|
+
checkedTopics,
|
|
385
|
+
skippedTopics,
|
|
386
|
+
postFailures,
|
|
387
|
+
dailyReportsSent: dailyReportSuccesses,
|
|
388
|
+
dailyReportsSkipped: dailyReportSkipped,
|
|
389
|
+
hasPostFn: !!ctx.postFn,
|
|
390
|
+
migrationGroups: migrationGroups.length,
|
|
391
|
+
errors,
|
|
392
|
+
}),
|
|
264
393
|
};
|
|
265
394
|
}
|
|
266
|
-
|
|
395
|
+
const STATUS_TIMESTAMP_RE = /^##\s*Last done\s*\(UTC\)/im;
|
|
396
|
+
const ISO_TIMESTAMP_RE = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/;
|
|
397
|
+
export function extractStatusTimestamp(content) {
|
|
398
|
+
if (!STATUS_TIMESTAMP_RE.test(content))
|
|
399
|
+
return null;
|
|
400
|
+
const idx = content.search(STATUS_TIMESTAMP_RE);
|
|
401
|
+
const sectionAfter = content.slice(idx);
|
|
402
|
+
const nextSection = sectionAfter.indexOf('\n## ', 1);
|
|
403
|
+
const section = nextSection > 0 ? sectionAfter.slice(0, nextSection) : sectionAfter;
|
|
404
|
+
const match = section.match(ISO_TIMESTAMP_RE);
|
|
405
|
+
return match ? match[0] : null;
|
|
406
|
+
}
|
|
407
|
+
function mostRecent(a, b) {
|
|
408
|
+
if (!a && !b)
|
|
409
|
+
return null;
|
|
410
|
+
if (!a)
|
|
411
|
+
return b;
|
|
412
|
+
if (!b)
|
|
413
|
+
return a;
|
|
414
|
+
return a > b ? a : b;
|
|
415
|
+
}
|
|
416
|
+
export function isEligible(entry, now, statusTimestamp) {
|
|
267
417
|
// Skip archived
|
|
268
418
|
if (entry.status === 'archived')
|
|
269
419
|
return false;
|
|
@@ -271,10 +421,11 @@ function isEligible(entry, now) {
|
|
|
271
421
|
if (entry.snoozeUntil && new Date(entry.snoozeUntil).getTime() > now.getTime())
|
|
272
422
|
return false;
|
|
273
423
|
// Skip inactive (no activity for INACTIVE_AFTER_DAYS)
|
|
274
|
-
|
|
275
|
-
|
|
424
|
+
const lastActive = mostRecent(entry.lastMessageAt, statusTimestamp);
|
|
425
|
+
if (lastActive) {
|
|
426
|
+
const lastActiveMs = new Date(lastActive).getTime();
|
|
276
427
|
const inactiveMs = INACTIVE_AFTER_DAYS * 24 * 60 * 60 * 1000;
|
|
277
|
-
if (now.getTime() -
|
|
428
|
+
if (now.getTime() - lastActiveMs > inactiveMs)
|
|
278
429
|
return false;
|
|
279
430
|
}
|
|
280
431
|
// Skip if reported in last 24 hours
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-all.js","sourceRoot":"","sources":["../../src/commands/doctor-all.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor-all.js","sourceRoot":"","sources":["../../src/commands/doctor-all.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ export declare function handleInit(ctx: CommandContext, args: string): Promise<C
|
|
|
7
7
|
*/
|
|
8
8
|
export declare function handleInitInteractive(ctx: CommandContext, args: string): Promise<CommandResult>;
|
|
9
9
|
/**
|
|
10
|
-
* Callback handler for type buttons (`ic`/`ir`/`im`/`
|
|
10
|
+
* Callback handler for type buttons (`ic`/`ir`/`im`/`ig`): show name confirmation.
|
|
11
11
|
* Re-validates context/auth/max-topics before showing.
|
|
12
12
|
*/
|
|
13
13
|
export declare function handleInitTypeSelect(ctx: CommandContext, type: TopicType): Promise<CommandResult>;
|
|
14
14
|
/**
|
|
15
|
-
* Callback handler for confirm buttons (`yc`/`yr`/`ym`/`
|
|
15
|
+
* Callback handler for confirm buttons (`yc`/`yr`/`ym`/`yg`): complete init with chosen type.
|
|
16
16
|
*/
|
|
17
17
|
export declare function handleInitNameConfirm(ctx: CommandContext, type: TopicType): Promise<CommandResult>;
|
|
18
18
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAoB7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA2B/D,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAoB7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA2B/D,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA8L1F;AAID;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKrG;AAyDD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAkDvG;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAExG"}
|
package/dist/commands/init.js
CHANGED
|
@@ -10,7 +10,7 @@ import { generateInclude } from '../lib/include-generator.js';
|
|
|
10
10
|
import { triggerRestart, getConfigWrites } from '../lib/config-restart.js';
|
|
11
11
|
import { appendAudit, buildAuditEntry } from '../lib/audit.js';
|
|
12
12
|
import { MARKER_START, HEARTBEAT_BLOCK, HEARTBEAT_FILENAME } from './autopilot.js';
|
|
13
|
-
const VALID_TYPES = new Set(['coding', 'research', 'marketing', '
|
|
13
|
+
const VALID_TYPES = new Set(['coding', 'research', 'marketing', 'general']);
|
|
14
14
|
function deriveTopicName(nameArg, messageContext, threadId) {
|
|
15
15
|
const topicTitle = messageContext?.['topicTitle'] ?? '';
|
|
16
16
|
let name;
|
|
@@ -183,7 +183,7 @@ export async function handleInit(ctx, args) {
|
|
|
183
183
|
try {
|
|
184
184
|
const htmlCard = buildTopicCardHtml(name, topicType);
|
|
185
185
|
await ctx.postFn(groupId, threadId, htmlCard);
|
|
186
|
-
return { text: ''
|
|
186
|
+
return { text: '' };
|
|
187
187
|
}
|
|
188
188
|
catch {
|
|
189
189
|
// Fall through to markdown fallback
|
|
@@ -191,7 +191,6 @@ export async function handleInit(ctx, args) {
|
|
|
191
191
|
}
|
|
192
192
|
return {
|
|
193
193
|
text: `${topicCard}${restartMsg}`,
|
|
194
|
-
pin: true,
|
|
195
194
|
};
|
|
196
195
|
}
|
|
197
196
|
// ── Interactive init flow ─────────────────────────────────────────────
|
|
@@ -252,7 +251,7 @@ async function buildTypePicker(ctx) {
|
|
|
252
251
|
};
|
|
253
252
|
}
|
|
254
253
|
/**
|
|
255
|
-
* Callback handler for type buttons (`ic`/`ir`/`im`/`
|
|
254
|
+
* Callback handler for type buttons (`ic`/`ir`/`im`/`ig`): show name confirmation.
|
|
256
255
|
* Re-validates context/auth/max-topics before showing.
|
|
257
256
|
*/
|
|
258
257
|
export async function handleInitTypeSelect(ctx, type) {
|
|
@@ -299,7 +298,7 @@ export async function handleInitTypeSelect(ctx, type) {
|
|
|
299
298
|
};
|
|
300
299
|
}
|
|
301
300
|
/**
|
|
302
|
-
* Callback handler for confirm buttons (`yc`/`yr`/`ym`/`
|
|
301
|
+
* Callback handler for confirm buttons (`yc`/`yr`/`ym`/`yg`): complete init with chosen type.
|
|
303
302
|
*/
|
|
304
303
|
export async function handleInitNameConfirm(ctx, type) {
|
|
305
304
|
return handleInit(ctx, type);
|