claude-mococo 0.1.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.
Files changed (159) hide show
  1. package/LICENSE +21 -0
  2. package/README.ko.md +171 -0
  3. package/README.md +180 -0
  4. package/defaults/shared-rules.md +70 -0
  5. package/dist/bot/client.d.ts +10 -0
  6. package/dist/bot/client.d.ts.map +1 -0
  7. package/dist/bot/client.js +886 -0
  8. package/dist/bot/client.js.map +1 -0
  9. package/dist/bot/discord-commands.d.ts +36 -0
  10. package/dist/bot/discord-commands.d.ts.map +1 -0
  11. package/dist/bot/discord-commands.js +811 -0
  12. package/dist/bot/discord-commands.js.map +1 -0
  13. package/dist/bot/embeds.d.ts +5 -0
  14. package/dist/bot/embeds.d.ts.map +1 -0
  15. package/dist/bot/embeds.js +20 -0
  16. package/dist/bot/embeds.js.map +1 -0
  17. package/dist/bot/episode-writer.d.ts +5 -0
  18. package/dist/bot/episode-writer.d.ts.map +1 -0
  19. package/dist/bot/episode-writer.js +131 -0
  20. package/dist/bot/episode-writer.js.map +1 -0
  21. package/dist/bot/improvement-scanner.d.ts +5 -0
  22. package/dist/bot/improvement-scanner.d.ts.map +1 -0
  23. package/dist/bot/improvement-scanner.js +563 -0
  24. package/dist/bot/improvement-scanner.js.map +1 -0
  25. package/dist/bot/inbox-compactor.d.ts +6 -0
  26. package/dist/bot/inbox-compactor.d.ts.map +1 -0
  27. package/dist/bot/inbox-compactor.js +550 -0
  28. package/dist/bot/inbox-compactor.js.map +1 -0
  29. package/dist/bot/memory-consolidator.d.ts +4 -0
  30. package/dist/bot/memory-consolidator.d.ts.map +1 -0
  31. package/dist/bot/memory-consolidator.js +258 -0
  32. package/dist/bot/memory-consolidator.js.map +1 -0
  33. package/dist/bot/router.d.ts +4 -0
  34. package/dist/bot/router.d.ts.map +1 -0
  35. package/dist/bot/router.js +24 -0
  36. package/dist/bot/router.js.map +1 -0
  37. package/dist/cli/commands/add.d.ts +2 -0
  38. package/dist/cli/commands/add.d.ts.map +1 -0
  39. package/dist/cli/commands/add.js +203 -0
  40. package/dist/cli/commands/add.js.map +1 -0
  41. package/dist/cli/commands/dev.d.ts +2 -0
  42. package/dist/cli/commands/dev.d.ts.map +1 -0
  43. package/dist/cli/commands/dev.js +44 -0
  44. package/dist/cli/commands/dev.js.map +1 -0
  45. package/dist/cli/commands/edit.d.ts +2 -0
  46. package/dist/cli/commands/edit.d.ts.map +1 -0
  47. package/dist/cli/commands/edit.js +213 -0
  48. package/dist/cli/commands/edit.js.map +1 -0
  49. package/dist/cli/commands/init.d.ts +2 -0
  50. package/dist/cli/commands/init.d.ts.map +1 -0
  51. package/dist/cli/commands/init.js +126 -0
  52. package/dist/cli/commands/init.js.map +1 -0
  53. package/dist/cli/commands/list.d.ts +2 -0
  54. package/dist/cli/commands/list.d.ts.map +1 -0
  55. package/dist/cli/commands/list.js +21 -0
  56. package/dist/cli/commands/list.js.map +1 -0
  57. package/dist/cli/commands/remove.d.ts +2 -0
  58. package/dist/cli/commands/remove.d.ts.map +1 -0
  59. package/dist/cli/commands/remove.js +38 -0
  60. package/dist/cli/commands/remove.js.map +1 -0
  61. package/dist/cli/commands/restart.d.ts +2 -0
  62. package/dist/cli/commands/restart.d.ts.map +1 -0
  63. package/dist/cli/commands/restart.js +12 -0
  64. package/dist/cli/commands/restart.js.map +1 -0
  65. package/dist/cli/commands/start.d.ts +2 -0
  66. package/dist/cli/commands/start.d.ts.map +1 -0
  67. package/dist/cli/commands/start.js +33 -0
  68. package/dist/cli/commands/start.js.map +1 -0
  69. package/dist/cli/index.d.ts +3 -0
  70. package/dist/cli/index.d.ts.map +1 -0
  71. package/dist/cli/index.js +78 -0
  72. package/dist/cli/index.js.map +1 -0
  73. package/dist/cli/prompt-template.d.ts +18 -0
  74. package/dist/cli/prompt-template.d.ts.map +1 -0
  75. package/dist/cli/prompt-template.js +55 -0
  76. package/dist/cli/prompt-template.js.map +1 -0
  77. package/dist/cli/readline-utils.d.ts +5 -0
  78. package/dist/cli/readline-utils.d.ts.map +1 -0
  79. package/dist/cli/readline-utils.js +39 -0
  80. package/dist/cli/readline-utils.js.map +1 -0
  81. package/dist/cli/workspace.d.ts +7 -0
  82. package/dist/cli/workspace.d.ts.map +1 -0
  83. package/dist/cli/workspace.js +39 -0
  84. package/dist/cli/workspace.js.map +1 -0
  85. package/dist/config.d.ts +4 -0
  86. package/dist/config.d.ts.map +1 -0
  87. package/dist/config.js +96 -0
  88. package/dist/config.js.map +1 -0
  89. package/dist/index.d.ts +2 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +34 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/orchestrator/claude-engine.d.ts +8 -0
  94. package/dist/orchestrator/claude-engine.d.ts.map +1 -0
  95. package/dist/orchestrator/claude-engine.js +94 -0
  96. package/dist/orchestrator/claude-engine.js.map +1 -0
  97. package/dist/orchestrator/codex-engine.d.ts +10 -0
  98. package/dist/orchestrator/codex-engine.d.ts.map +1 -0
  99. package/dist/orchestrator/codex-engine.js +82 -0
  100. package/dist/orchestrator/codex-engine.js.map +1 -0
  101. package/dist/orchestrator/engine-base.d.ts +21 -0
  102. package/dist/orchestrator/engine-base.d.ts.map +1 -0
  103. package/dist/orchestrator/engine-base.js +20 -0
  104. package/dist/orchestrator/engine-base.js.map +1 -0
  105. package/dist/orchestrator/engines.d.ts +5 -0
  106. package/dist/orchestrator/engines.d.ts.map +1 -0
  107. package/dist/orchestrator/engines.js +16 -0
  108. package/dist/orchestrator/engines.js.map +1 -0
  109. package/dist/orchestrator/gemini-engine.d.ts +10 -0
  110. package/dist/orchestrator/gemini-engine.d.ts.map +1 -0
  111. package/dist/orchestrator/gemini-engine.js +79 -0
  112. package/dist/orchestrator/gemini-engine.js.map +1 -0
  113. package/dist/orchestrator/mcp-config.d.ts +4 -0
  114. package/dist/orchestrator/mcp-config.d.ts.map +1 -0
  115. package/dist/orchestrator/mcp-config.js +23 -0
  116. package/dist/orchestrator/mcp-config.js.map +1 -0
  117. package/dist/orchestrator/prompt-builder.d.ts +3 -0
  118. package/dist/orchestrator/prompt-builder.d.ts.map +1 -0
  119. package/dist/orchestrator/prompt-builder.js +445 -0
  120. package/dist/orchestrator/prompt-builder.js.map +1 -0
  121. package/dist/server/hook-receiver.d.ts +5 -0
  122. package/dist/server/hook-receiver.d.ts.map +1 -0
  123. package/dist/server/hook-receiver.js +52 -0
  124. package/dist/server/hook-receiver.js.map +1 -0
  125. package/dist/teams/concurrency.d.ts +12 -0
  126. package/dist/teams/concurrency.d.ts.map +1 -0
  127. package/dist/teams/concurrency.js +43 -0
  128. package/dist/teams/concurrency.js.map +1 -0
  129. package/dist/teams/context.d.ts +5 -0
  130. package/dist/teams/context.d.ts.map +1 -0
  131. package/dist/teams/context.js +33 -0
  132. package/dist/teams/context.js.map +1 -0
  133. package/dist/teams/dispatch-ledger.d.ts +27 -0
  134. package/dist/teams/dispatch-ledger.d.ts.map +1 -0
  135. package/dist/teams/dispatch-ledger.js +90 -0
  136. package/dist/teams/dispatch-ledger.js.map +1 -0
  137. package/dist/teams/invoker.d.ts +9 -0
  138. package/dist/teams/invoker.d.ts.map +1 -0
  139. package/dist/teams/invoker.js +54 -0
  140. package/dist/teams/invoker.js.map +1 -0
  141. package/dist/types.d.ts +110 -0
  142. package/dist/types.d.ts.map +1 -0
  143. package/dist/types.js +2 -0
  144. package/dist/types.js.map +1 -0
  145. package/dist/utils/fs.d.ts +3 -0
  146. package/dist/utils/fs.d.ts.map +1 -0
  147. package/dist/utils/fs.js +17 -0
  148. package/dist/utils/fs.js.map +1 -0
  149. package/dist/utils/github-status.d.ts +25 -0
  150. package/dist/utils/github-status.d.ts.map +1 -0
  151. package/dist/utils/github-status.js +158 -0
  152. package/dist/utils/github-status.js.map +1 -0
  153. package/dist/utils/haiku.d.ts +6 -0
  154. package/dist/utils/haiku.d.ts.map +1 -0
  155. package/dist/utils/haiku.js +43 -0
  156. package/dist/utils/haiku.js.map +1 -0
  157. package/hooks/event-bridge.sh +21 -0
  158. package/hooks/permission-gate.sh +67 -0
  159. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord-commands.js","sourceRoot":"","sources":["../../src/bot/discord-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { EmbedBuilder } from 'discord.js';
2
+ import type { TeamConfig } from '../types.js';
3
+ export declare function teamStatusEmbed(team: TeamConfig, status: string, detail?: string): EmbedBuilder;
4
+ export declare function progressEmbed(team: TeamConfig, taskSubject: string, teammateName?: string): EmbedBuilder;
5
+ //# sourceMappingURL=embeds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeds.d.ts","sourceRoot":"","sources":["../../src/bot/embeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,CAQd;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,YAAY,CAOd"}
@@ -0,0 +1,20 @@
1
+ import { EmbedBuilder } from 'discord.js';
2
+ export function teamStatusEmbed(team, status, detail) {
3
+ const embed = new EmbedBuilder()
4
+ .setColor(team.color)
5
+ .setAuthor({ name: team.name, iconURL: team.avatar })
6
+ .setDescription(status)
7
+ .setTimestamp();
8
+ if (detail)
9
+ embed.addFields({ name: 'Detail', value: detail });
10
+ return embed;
11
+ }
12
+ export function progressEmbed(team, taskSubject, teammateName) {
13
+ return new EmbedBuilder()
14
+ .setColor(team.color)
15
+ .setAuthor({ name: team.name, iconURL: team.avatar })
16
+ .setDescription(`Subtask done: **${taskSubject}**`)
17
+ .setFooter({ text: teammateName ? `by ${teammateName}` : 'lead' })
18
+ .setTimestamp();
19
+ }
20
+ //# sourceMappingURL=embeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeds.js","sourceRoot":"","sources":["../../src/bot/embeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,UAAU,eAAe,CAC7B,IAAgB,EAChB,MAAc,EACd,MAAe;IAEf,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE;SAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SACpB,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SACpD,cAAc,CAAC,MAAM,CAAC;SACtB,YAAY,EAAE,CAAC;IAClB,IAAI,MAAM;QAAE,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAgB,EAChB,WAAmB,EACnB,YAAqB;IAErB,OAAO,IAAI,YAAY,EAAE;SACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SACpB,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SACpD,cAAc,CAAC,mBAAmB,WAAW,IAAI,CAAC;SAClD,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjE,YAAY,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ConversationMessage } from '../types.js';
2
+ export declare function writeEpisode(teamId: string, teamName: string, channelId: string, triggerMsg: ConversationMessage, output: string, mentions: string[], workspacePath: string): Promise<void>;
3
+ export declare function loadRecentEpisodes(teamId: string, workspacePath: string, count?: number): string;
4
+ export declare function formatTimeAgo(ms: number): string;
5
+ //# sourceMappingURL=episode-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episode-writer.d.ts","sourceRoot":"","sources":["../../src/bot/episode-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQhE,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAMD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,KAAK,GAAE,MAAW,GACjB,MAAM,CA8CR;AAMD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUhD"}
@@ -0,0 +1,131 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { runHaiku } from '../utils/haiku.js';
4
+ import { atomicWriteSync } from '../utils/fs.js';
5
+ const MAX_EPISODE_LINES = 200;
6
+ // ---------------------------------------------------------------------------
7
+ // writeEpisode — Haiku로 요약 생성 후 episodes.jsonl에 append
8
+ // ---------------------------------------------------------------------------
9
+ export async function writeEpisode(teamId, teamName, channelId, triggerMsg, output, mentions, workspacePath) {
10
+ const triggerSnippet = triggerMsg.content.slice(0, 300);
11
+ const outputSnippet = output.slice(0, 800);
12
+ const prompt = `You are summarizing a bot team member's activity for a brief log.
13
+ Team: ${teamName}
14
+ Trigger: ${triggerSnippet}
15
+ Output: ${outputSnippet}
16
+
17
+ Write a 1-2 line Korean summary (max 200 characters) of what happened.
18
+ Focus on: what was requested, what action was taken, what was the result.
19
+ Output ONLY the summary text, nothing else.`;
20
+ const summary = (await runHaiku(prompt)).slice(0, 200);
21
+ const episode = {
22
+ ts: Date.now(),
23
+ teamId,
24
+ channelId,
25
+ trigger: triggerMsg.teamId === 'human' ? 'human_message'
26
+ : triggerMsg.teamId === 'system' ? 'system'
27
+ : 'team_mention',
28
+ summary,
29
+ mentions,
30
+ };
31
+ const dir = path.resolve(workspacePath, '.mococo/memory', teamId);
32
+ fs.mkdirSync(dir, { recursive: true });
33
+ const filePath = path.resolve(dir, 'episodes.jsonl');
34
+ fs.appendFileSync(filePath, JSON.stringify(episode) + '\n');
35
+ // Auto-truncate: keep only last MAX_EPISODE_LINES lines
36
+ // Note: writeEpisode is awaited before markFree (client.ts), so no concurrent
37
+ // writers exist for the same team. atomicWriteSync ensures crash-safe writes.
38
+ try {
39
+ const content = fs.readFileSync(filePath, 'utf-8');
40
+ const lines = content.split('\n').filter(l => l.trim());
41
+ if (lines.length > MAX_EPISODE_LINES) {
42
+ const trimmed = lines.slice(-MAX_EPISODE_LINES).join('\n') + '\n';
43
+ atomicWriteSync(filePath, trimmed);
44
+ }
45
+ }
46
+ catch (err) {
47
+ // 파싱/잘라내기 실패 시 상세 로그 — 파일 경로와 에러 메시지 포함
48
+ const errMsg = err instanceof Error ? err.message : String(err);
49
+ console.warn(`[episode] Truncation failed for ${teamId} (${filePath}): ${errMsg}`);
50
+ }
51
+ }
52
+ // ---------------------------------------------------------------------------
53
+ // loadRecentEpisodes — 최근 N개 에피소드를 포맷 문자열로 반환
54
+ // ---------------------------------------------------------------------------
55
+ export function loadRecentEpisodes(teamId, workspacePath, count = 10) {
56
+ const filePath = path.resolve(workspacePath, '.mococo/memory', teamId, 'episodes.jsonl');
57
+ let lines;
58
+ try {
59
+ const content = fs.readFileSync(filePath, 'utf-8');
60
+ lines = content.split('\n').filter(l => l.trim());
61
+ }
62
+ catch {
63
+ return '';
64
+ }
65
+ const recent = lines.slice(-count);
66
+ let parseFailures = 0;
67
+ let firstCorruptedSample = '';
68
+ const formatted = recent.map(line => {
69
+ try {
70
+ const ep = JSON.parse(line);
71
+ if (typeof ep.ts !== 'number' || isNaN(ep.ts)) {
72
+ parseFailures++;
73
+ if (!firstCorruptedSample)
74
+ firstCorruptedSample = line.slice(0, 100);
75
+ return null;
76
+ }
77
+ const ago = formatTimeAgo(Date.now() - ep.ts);
78
+ return `[${ago}] ${ep.summary ?? '(no summary)'} (ch:${ep.channelId ?? 'unknown'})`;
79
+ }
80
+ catch {
81
+ parseFailures++;
82
+ if (!firstCorruptedSample)
83
+ firstCorruptedSample = line.slice(0, 100);
84
+ return null;
85
+ }
86
+ }).filter(Boolean);
87
+ if (parseFailures > 0) {
88
+ console.warn(`[episode] ${teamId}: ${parseFailures}건의 손상된 라인 스킵됨 (전체 ${recent.length}건 중, 파일: ${filePath}) — 첫 번째 손상: ${firstCorruptedSample}`);
89
+ // Self-healing: 전체 파일에서 손상 비율이 30% 이상이면 유효한 라인만 재작성
90
+ const totalCorrupted = lines.filter(l => { try {
91
+ const e = JSON.parse(l);
92
+ return typeof e.ts !== 'number' || isNaN(e.ts);
93
+ }
94
+ catch {
95
+ return true;
96
+ } }).length;
97
+ if (totalCorrupted > 0 && totalCorrupted / lines.length >= 0.3) {
98
+ const validLines = lines.filter(l => { try {
99
+ const e = JSON.parse(l);
100
+ return typeof e.ts === 'number' && !isNaN(e.ts);
101
+ }
102
+ catch {
103
+ return false;
104
+ } });
105
+ try {
106
+ atomicWriteSync(filePath, validLines.join('\n') + '\n');
107
+ console.log(`[episode] ${teamId}: Self-healing — ${totalCorrupted}건 손상 라인 제거, ${validLines.length}건 유지`);
108
+ }
109
+ catch (healErr) {
110
+ console.error(`[episode] ${teamId}: Self-healing write failed: ${healErr instanceof Error ? healErr.message : healErr}`);
111
+ }
112
+ }
113
+ }
114
+ return formatted.join('\n');
115
+ }
116
+ // ---------------------------------------------------------------------------
117
+ // formatTimeAgo — 상대 시간 변환
118
+ // ---------------------------------------------------------------------------
119
+ export function formatTimeAgo(ms) {
120
+ const minutes = Math.floor(ms / 60_000);
121
+ if (minutes < 1)
122
+ return '방금';
123
+ if (minutes < 60)
124
+ return `${minutes}분 전`;
125
+ const hours = Math.floor(minutes / 60);
126
+ if (hours < 24)
127
+ return `${hours}시간 전`;
128
+ const days = Math.floor(hours / 24);
129
+ return `${days}일 전`;
130
+ }
131
+ //# sourceMappingURL=episode-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episode-writer.js","sourceRoot":"","sources":["../../src/bot/episode-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { TeamsConfig, TeamConfig } from '../types.js';
2
+ type InvocationTrigger = (team: TeamConfig, channelId: string, systemMessage: string) => void;
3
+ export declare function startImprovementScanner(config: TeamsConfig, triggerInvocation: InvocationTrigger, improvementChannelId?: string): void;
4
+ export {};
5
+ //# sourceMappingURL=improvement-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improvement-scanner.d.ts","sourceRoot":"","sources":["../../src/bot/improvement-scanner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI3D,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;AA6kB9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,CAAC,EAAE,MAAM,GAC5B,IAAI,CAkDN"}