@pcircle/memesh 2.6.7 → 2.7.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 +56 -55
- package/README.zh-TW.md +109 -5
- package/dist/a2a/client/A2AClient.d.ts +2 -0
- package/dist/a2a/client/A2AClient.d.ts.map +1 -1
- package/dist/a2a/client/A2AClient.js +44 -8
- package/dist/a2a/client/A2AClient.js.map +1 -1
- package/dist/a2a/errors/ErrorCodes.d.ts +2 -0
- package/dist/a2a/errors/ErrorCodes.d.ts.map +1 -1
- package/dist/a2a/errors/ErrorCodes.js +2 -0
- package/dist/a2a/errors/ErrorCodes.js.map +1 -1
- package/dist/a2a/errors/ErrorMessages.d.ts +2 -0
- package/dist/a2a/errors/ErrorMessages.d.ts.map +1 -1
- package/dist/a2a/errors/ErrorMessages.js +2 -0
- package/dist/a2a/errors/ErrorMessages.js.map +1 -1
- package/dist/a2a/jobs/TimeoutChecker.d.ts.map +1 -1
- package/dist/a2a/jobs/TimeoutChecker.js +16 -2
- package/dist/a2a/jobs/TimeoutChecker.js.map +1 -1
- package/dist/a2a/server/A2AServer.d.ts.map +1 -1
- package/dist/a2a/server/A2AServer.js +4 -1
- package/dist/a2a/server/A2AServer.js.map +1 -1
- package/dist/a2a/server/middleware/csrf.d.ts.map +1 -1
- package/dist/a2a/server/middleware/csrf.js +29 -3
- package/dist/a2a/server/middleware/csrf.js.map +1 -1
- package/dist/a2a/server/middleware/resourceProtection.d.ts.map +1 -1
- package/dist/a2a/server/middleware/resourceProtection.js +21 -3
- package/dist/a2a/server/middleware/resourceProtection.js.map +1 -1
- package/dist/a2a/server/middleware/timeout.d.ts.map +1 -1
- package/dist/a2a/server/middleware/timeout.js +22 -2
- package/dist/a2a/server/middleware/timeout.js.map +1 -1
- package/dist/a2a/server/middleware.d.ts.map +1 -1
- package/dist/a2a/server/middleware.js +9 -6
- package/dist/a2a/server/middleware.js.map +1 -1
- package/dist/a2a/server/routes.d.ts +3 -0
- package/dist/a2a/server/routes.d.ts.map +1 -1
- package/dist/a2a/server/routes.js +24 -7
- package/dist/a2a/server/routes.js.map +1 -1
- package/dist/a2a/server/validation/index.d.ts +2 -0
- package/dist/a2a/server/validation/index.d.ts.map +1 -0
- package/dist/a2a/server/validation/index.js +2 -0
- package/dist/a2a/server/validation/index.js.map +1 -0
- package/dist/a2a/server/validation/sendMessageSchema.d.ts +112 -0
- package/dist/a2a/server/validation/sendMessageSchema.d.ts.map +1 -0
- package/dist/a2a/server/validation/sendMessageSchema.js +143 -0
- package/dist/a2a/server/validation/sendMessageSchema.js.map +1 -0
- package/dist/a2a/storage/AgentRegistry.d.ts +7 -0
- package/dist/a2a/storage/AgentRegistry.d.ts.map +1 -1
- package/dist/a2a/storage/AgentRegistry.js +95 -38
- package/dist/a2a/storage/AgentRegistry.js.map +1 -1
- package/dist/a2a/storage/inputValidation.d.ts +11 -0
- package/dist/a2a/storage/inputValidation.d.ts.map +1 -1
- package/dist/a2a/storage/inputValidation.js +11 -1
- package/dist/a2a/storage/inputValidation.js.map +1 -1
- package/dist/agents/E2EHealingAgent.js +1 -1
- package/dist/agents/E2EHealingAgent.js.map +1 -1
- package/dist/agents/knowledge/storage/KnowledgeGraphStore.d.ts.map +1 -1
- package/dist/agents/knowledge/storage/KnowledgeGraphStore.js +5 -3
- package/dist/agents/knowledge/storage/KnowledgeGraphStore.js.map +1 -1
- package/dist/cli/stats.d.ts.map +1 -1
- package/dist/cli/stats.js +0 -1
- package/dist/cli/stats.js.map +1 -1
- package/dist/cli/tutorial.d.ts.map +1 -1
- package/dist/cli/tutorial.js.map +1 -1
- package/dist/config/simple-config.js.map +1 -1
- package/dist/core/BackgroundExecutor.d.ts.map +1 -1
- package/dist/core/BackgroundExecutor.js +1 -1
- package/dist/core/BackgroundExecutor.js.map +1 -1
- package/dist/evolution/EvolutionBootstrap.d.ts.map +1 -1
- package/dist/evolution/EvolutionBootstrap.js +4 -4
- package/dist/evolution/EvolutionBootstrap.js.map +1 -1
- package/dist/evolution/instrumentation/withEvolutionTracking.d.ts.map +1 -1
- package/dist/evolution/instrumentation/withEvolutionTracking.js +0 -2
- package/dist/evolution/instrumentation/withEvolutionTracking.js.map +1 -1
- package/dist/hooks/a2a-collaboration.d.ts +30 -0
- package/dist/hooks/a2a-collaboration.d.ts.map +1 -0
- package/dist/hooks/a2a-collaboration.js +400 -0
- package/dist/hooks/a2a-collaboration.js.map +1 -0
- package/dist/knowledge-graph/index.d.ts +2 -0
- package/dist/knowledge-graph/index.d.ts.map +1 -1
- package/dist/knowledge-graph/index.js +199 -40
- package/dist/knowledge-graph/index.js.map +1 -1
- package/dist/management/UninstallManager.d.ts.map +1 -1
- package/dist/management/UninstallManager.js.map +1 -1
- package/dist/mcp/BuddyCommands.d.ts +4 -0
- package/dist/mcp/BuddyCommands.d.ts.map +1 -1
- package/dist/mcp/BuddyCommands.js +457 -24
- package/dist/mcp/BuddyCommands.js.map +1 -1
- package/dist/mcp/ToolDefinitions.d.ts.map +1 -1
- package/dist/mcp/ToolDefinitions.js +52 -7
- package/dist/mcp/ToolDefinitions.js.map +1 -1
- package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +1 -1
- package/dist/mcp/daemon/DaemonSocketServer.js +1 -1
- package/dist/mcp/daemon/DaemonSocketServer.js.map +1 -1
- package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +1 -1
- package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +1 -1
- package/dist/mcp/daemon/StdioProxyClient.d.ts.map +1 -1
- package/dist/mcp/daemon/StdioProxyClient.js.map +1 -1
- package/dist/mcp/handlers/ToolHandlers.d.ts.map +1 -1
- package/dist/mcp/handlers/ToolHandlers.js.map +1 -1
- package/dist/mcp/resources/best-practices.md +1 -1
- package/dist/mcp/resources/examples.md +1 -1
- package/dist/mcp/resources/quick-reference.md +1 -1
- package/dist/mcp/resources/usage-guide.md +2 -2
- package/dist/mcp/server-bootstrap.js +72 -7
- package/dist/mcp/server-bootstrap.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +88 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/buddy-do.d.ts.map +1 -1
- package/dist/mcp/tools/buddy-do.js +10 -2
- package/dist/mcp/tools/buddy-do.js.map +1 -1
- package/dist/memory/AutoTagger.d.ts.map +1 -1
- package/dist/memory/AutoTagger.js +2 -1
- package/dist/memory/AutoTagger.js.map +1 -1
- package/dist/memory/MistakePatternEngine.d.ts.map +1 -1
- package/dist/memory/MistakePatternEngine.js.map +1 -1
- package/dist/memory/ProjectMemoryCleanup.js +1 -1
- package/dist/memory/SecretManager.d.ts.map +1 -1
- package/dist/memory/SecretManager.js +1 -1
- package/dist/memory/SecretManager.js.map +1 -1
- package/dist/memory/UnifiedMemoryStore.d.ts.map +1 -1
- package/dist/memory/UnifiedMemoryStore.js.map +1 -1
- package/dist/memory/UserPreferenceEngine.d.ts.map +1 -1
- package/dist/memory/UserPreferenceEngine.js +1 -1
- package/dist/memory/UserPreferenceEngine.js.map +1 -1
- package/dist/orchestrator/CostTracker.d.ts.map +1 -1
- package/dist/orchestrator/CostTracker.js.map +1 -1
- package/dist/orchestrator/GlobalResourcePool.d.ts.map +1 -1
- package/dist/orchestrator/GlobalResourcePool.js +0 -3
- package/dist/orchestrator/GlobalResourcePool.js.map +1 -1
- package/dist/ui/AsciiProgressBar.d.ts.map +1 -1
- package/dist/ui/AsciiProgressBar.js +0 -1
- package/dist/ui/AsciiProgressBar.js.map +1 -1
- package/dist/ui/Dashboard.d.ts.map +1 -1
- package/dist/ui/Dashboard.js +2 -2
- package/dist/ui/Dashboard.js.map +1 -1
- package/dist/ui/MetricsStore.d.ts.map +1 -1
- package/dist/ui/MetricsStore.js +2 -2
- package/dist/ui/MetricsStore.js.map +1 -1
- package/dist/ui/ResponseFormatter.d.ts.map +1 -1
- package/dist/ui/ResponseFormatter.js.map +1 -1
- package/dist/utils/SystemResources.d.ts.map +1 -1
- package/dist/utils/SystemResources.js +0 -3
- package/dist/utils/SystemResources.js.map +1 -1
- package/dist/utils/errorHandler.d.ts.map +1 -1
- package/dist/utils/errorHandler.js +1 -1
- package/dist/utils/errorHandler.js.map +1 -1
- package/dist/utils/lru-cache.js.map +1 -1
- package/dist/utils/toonify-adapter.d.ts.map +1 -1
- package/dist/utils/toonify-adapter.js.map +1 -1
- package/mcp.json +2 -1
- package/package.json +1 -1
- package/scripts/postinstall.js +23 -22
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import { execFileSync } from 'child_process';
|
|
5
|
+
import { expandHome } from '../utils/paths.js';
|
|
6
|
+
const CCB_DATA_DIR = expandHome('~/.claude-code-buddy');
|
|
7
|
+
const KG_DB_PATH = path.join(CCB_DATA_DIR, 'knowledge-graph.db');
|
|
8
|
+
const AGENT_REGISTRY_PATH = path.join(CCB_DATA_DIR, 'a2a-registry.db');
|
|
9
|
+
const STATE_DIR = expandHome('~/.claude/state');
|
|
10
|
+
const AGENT_IDENTITY_FILE = path.join(STATE_DIR, 'agent-identity.json');
|
|
11
|
+
const NAME_POOL = [
|
|
12
|
+
'Alpha',
|
|
13
|
+
'Beta',
|
|
14
|
+
'Gamma',
|
|
15
|
+
'Delta',
|
|
16
|
+
'Epsilon',
|
|
17
|
+
'Zeta',
|
|
18
|
+
'Eta',
|
|
19
|
+
'Theta',
|
|
20
|
+
'Iota',
|
|
21
|
+
'Kappa',
|
|
22
|
+
'Lambda',
|
|
23
|
+
'Mu',
|
|
24
|
+
'Nu',
|
|
25
|
+
'Xi',
|
|
26
|
+
'Omicron',
|
|
27
|
+
'Pi',
|
|
28
|
+
'Rho',
|
|
29
|
+
'Sigma',
|
|
30
|
+
'Tau',
|
|
31
|
+
'Upsilon',
|
|
32
|
+
];
|
|
33
|
+
function sqliteQuery(dbPath, query, params) {
|
|
34
|
+
const result = sqliteQueryWithStatus(dbPath, query, params);
|
|
35
|
+
return result.output;
|
|
36
|
+
}
|
|
37
|
+
function escapeSqlValue(value) {
|
|
38
|
+
if (value === null || value === undefined) {
|
|
39
|
+
return 'NULL';
|
|
40
|
+
}
|
|
41
|
+
if (typeof value === 'number') {
|
|
42
|
+
if (!Number.isFinite(value)) {
|
|
43
|
+
return 'NULL';
|
|
44
|
+
}
|
|
45
|
+
return String(value);
|
|
46
|
+
}
|
|
47
|
+
if (typeof value === 'boolean') {
|
|
48
|
+
return value ? '1' : '0';
|
|
49
|
+
}
|
|
50
|
+
const strValue = String(value);
|
|
51
|
+
if (strValue.includes('\x00')) {
|
|
52
|
+
throw new Error('SQL parameter contains null byte - potential injection attack');
|
|
53
|
+
}
|
|
54
|
+
const escaped = strValue.replace(/'/g, "''");
|
|
55
|
+
return `'${escaped}'`;
|
|
56
|
+
}
|
|
57
|
+
function sqliteQueryWithStatus(dbPath, query, params) {
|
|
58
|
+
try {
|
|
59
|
+
const args = ['-separator', '|', dbPath];
|
|
60
|
+
let finalQuery = query;
|
|
61
|
+
if (params && params.length > 0) {
|
|
62
|
+
const escapedParams = params.map(escapeSqlValue);
|
|
63
|
+
let paramIndex = 0;
|
|
64
|
+
finalQuery = query.replace(/\?/g, () => {
|
|
65
|
+
if (paramIndex < escapedParams.length) {
|
|
66
|
+
return escapedParams[paramIndex++];
|
|
67
|
+
}
|
|
68
|
+
return '?';
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const result = execFileSync('sqlite3', [...args, finalQuery], {
|
|
72
|
+
encoding: 'utf-8',
|
|
73
|
+
timeout: 5000,
|
|
74
|
+
});
|
|
75
|
+
return {
|
|
76
|
+
output: result.trim(),
|
|
77
|
+
success: true,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
const error = e instanceof Error ? e.message : String(e);
|
|
82
|
+
return {
|
|
83
|
+
output: '',
|
|
84
|
+
success: false,
|
|
85
|
+
error,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function readJSON(filePath, defaultValue = null) {
|
|
90
|
+
try {
|
|
91
|
+
if (fs.existsSync(filePath)) {
|
|
92
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
93
|
+
return JSON.parse(content);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
}
|
|
98
|
+
return defaultValue;
|
|
99
|
+
}
|
|
100
|
+
function writeJSON(filePath, data) {
|
|
101
|
+
try {
|
|
102
|
+
const dir = path.dirname(filePath);
|
|
103
|
+
if (!fs.existsSync(dir)) {
|
|
104
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
105
|
+
}
|
|
106
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2));
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function _getUsedNames() {
|
|
114
|
+
if (!fs.existsSync(KG_DB_PATH))
|
|
115
|
+
return [];
|
|
116
|
+
const query = "SELECT name FROM entities WHERE type='session_identity' AND name LIKE 'Online Agent:%'";
|
|
117
|
+
const result = sqliteQuery(KG_DB_PATH, query);
|
|
118
|
+
if (!result)
|
|
119
|
+
return [];
|
|
120
|
+
return result
|
|
121
|
+
.split('\n')
|
|
122
|
+
.map((line) => line.replace('Online Agent: ', '').replace(/ \(.*\)$/, '').trim())
|
|
123
|
+
.filter(Boolean);
|
|
124
|
+
}
|
|
125
|
+
function getOnlineAgents() {
|
|
126
|
+
if (!fs.existsSync(AGENT_REGISTRY_PATH))
|
|
127
|
+
return [];
|
|
128
|
+
const query = "SELECT agent_id FROM agents WHERE status='active' ORDER BY last_heartbeat DESC LIMIT 10";
|
|
129
|
+
const result = sqliteQuery(AGENT_REGISTRY_PATH, query);
|
|
130
|
+
return result ? result.split('\n').filter(Boolean) : [];
|
|
131
|
+
}
|
|
132
|
+
function generateUniqueFallbackName() {
|
|
133
|
+
const timestamp = Date.now().toString(36);
|
|
134
|
+
const random = Math.random().toString(36).substring(2, 6);
|
|
135
|
+
return `Agent-${timestamp}-${random}`;
|
|
136
|
+
}
|
|
137
|
+
function tryClaimName(entityName, now) {
|
|
138
|
+
const atomicInsertQuery = `
|
|
139
|
+
INSERT INTO entities (name, type, created_at)
|
|
140
|
+
SELECT ?, 'session_identity', ?
|
|
141
|
+
WHERE NOT EXISTS (SELECT 1 FROM entities WHERE name = ?);
|
|
142
|
+
SELECT changes();
|
|
143
|
+
`;
|
|
144
|
+
const result = sqliteQueryWithStatus(KG_DB_PATH, atomicInsertQuery, [entityName, now, entityName]);
|
|
145
|
+
if (!result.success) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
const changesCount = parseInt(result.output, 10);
|
|
149
|
+
return changesCount === 1;
|
|
150
|
+
}
|
|
151
|
+
function pickAvailableName() {
|
|
152
|
+
if (!fs.existsSync(KG_DB_PATH)) {
|
|
153
|
+
return NAME_POOL[0];
|
|
154
|
+
}
|
|
155
|
+
const now = new Date().toISOString();
|
|
156
|
+
for (const name of NAME_POOL) {
|
|
157
|
+
const entityName = `Online Agent: ${name}`;
|
|
158
|
+
if (tryClaimName(entityName, now)) {
|
|
159
|
+
return name;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
for (let attempt = 0; attempt < 10; attempt++) {
|
|
163
|
+
const fallbackName = generateUniqueFallbackName();
|
|
164
|
+
const entityName = `Online Agent: ${fallbackName}`;
|
|
165
|
+
if (tryClaimName(entityName, now)) {
|
|
166
|
+
return fallbackName;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const ultimateFallback = `Agent-${Date.now().toString(36)}-${process.pid}`;
|
|
170
|
+
const entityName = `Online Agent: ${ultimateFallback}`;
|
|
171
|
+
tryClaimName(entityName, now);
|
|
172
|
+
return ultimateFallback;
|
|
173
|
+
}
|
|
174
|
+
function generateAgentId() {
|
|
175
|
+
const hostname = os.hostname().toLowerCase().replace(/[^a-z0-9]/g, '-');
|
|
176
|
+
const timestamp = Date.now().toString(36);
|
|
177
|
+
return `${hostname}-${timestamp}`;
|
|
178
|
+
}
|
|
179
|
+
function registerToKnowledgeGraph(identity) {
|
|
180
|
+
if (!fs.existsSync(KG_DB_PATH))
|
|
181
|
+
return false;
|
|
182
|
+
const entityName = `Online Agent: ${identity.name}`;
|
|
183
|
+
const now = new Date().toISOString();
|
|
184
|
+
try {
|
|
185
|
+
sqliteQuery(KG_DB_PATH, 'INSERT OR IGNORE INTO entities (name, type, created_at) VALUES (?, ?, ?)', [entityName, 'session_identity', now]);
|
|
186
|
+
const entityId = sqliteQuery(KG_DB_PATH, 'SELECT id FROM entities WHERE name = ?', [
|
|
187
|
+
entityName,
|
|
188
|
+
]);
|
|
189
|
+
if (entityId && /^\d+$/.test(entityId)) {
|
|
190
|
+
const observations = [
|
|
191
|
+
`Agent ID: ${identity.agentId}`,
|
|
192
|
+
`Name: ${identity.name}`,
|
|
193
|
+
`Status: ONLINE`,
|
|
194
|
+
`Specialization: ${identity.specialization}`,
|
|
195
|
+
`Checked in: ${now}`,
|
|
196
|
+
];
|
|
197
|
+
for (const obs of observations) {
|
|
198
|
+
sqliteQuery(KG_DB_PATH, 'INSERT INTO observations (entity_id, content, created_at) VALUES (?, ?, ?)', [entityId, obs, now]);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function loadIdentity() {
|
|
208
|
+
return readJSON(AGENT_IDENTITY_FILE);
|
|
209
|
+
}
|
|
210
|
+
function saveIdentity(identity) {
|
|
211
|
+
return writeJSON(AGENT_IDENTITY_FILE, identity);
|
|
212
|
+
}
|
|
213
|
+
export function agentCheckIn() {
|
|
214
|
+
const existingIdentity = loadIdentity();
|
|
215
|
+
if (existingIdentity?.sessionStart) {
|
|
216
|
+
const sessionAge = Date.now() - new Date(existingIdentity.sessionStart).getTime();
|
|
217
|
+
if (sessionAge < 60 * 60 * 1000) {
|
|
218
|
+
return existingIdentity;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
const name = pickAvailableName();
|
|
222
|
+
const agentId = generateAgentId();
|
|
223
|
+
const identity = {
|
|
224
|
+
name,
|
|
225
|
+
agentId,
|
|
226
|
+
specialization: 'General (awaiting assignment)',
|
|
227
|
+
sessionStart: new Date().toISOString(),
|
|
228
|
+
status: 'ONLINE',
|
|
229
|
+
};
|
|
230
|
+
saveIdentity(identity);
|
|
231
|
+
registerToKnowledgeGraph(identity);
|
|
232
|
+
return identity;
|
|
233
|
+
}
|
|
234
|
+
export function checkPendingTasks(agentId) {
|
|
235
|
+
const taskDbPath = path.join(CCB_DATA_DIR, 'a2a-tasks.db');
|
|
236
|
+
if (!fs.existsSync(taskDbPath))
|
|
237
|
+
return [];
|
|
238
|
+
const baseQuery = 'SELECT id, description, state, created_at as createdAt, sender_id as senderId FROM tasks WHERE state=\'SUBMITTED\'';
|
|
239
|
+
const query = agentId
|
|
240
|
+
? `${baseQuery} AND assigned_agent_id=${escapeSqlValue(agentId)} ORDER BY created_at DESC LIMIT 10`
|
|
241
|
+
: `${baseQuery} ORDER BY created_at DESC LIMIT 10`;
|
|
242
|
+
try {
|
|
243
|
+
const result = execFileSync('sqlite3', ['-json', taskDbPath, query], { encoding: 'utf-8', timeout: 5000 });
|
|
244
|
+
if (!result.trim())
|
|
245
|
+
return [];
|
|
246
|
+
const parsed = JSON.parse(result);
|
|
247
|
+
return parsed.map((row) => ({
|
|
248
|
+
id: String(row.id),
|
|
249
|
+
description: row.description || '',
|
|
250
|
+
state: row.state,
|
|
251
|
+
createdAt: row.createdAt || '',
|
|
252
|
+
senderId: row.senderId || '',
|
|
253
|
+
}));
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
const fallbackQuery = "SELECT id, description, state, created_at, sender_id FROM tasks WHERE state='SUBMITTED' ORDER BY created_at DESC LIMIT 10";
|
|
257
|
+
const result = sqliteQuery(taskDbPath, fallbackQuery);
|
|
258
|
+
if (!result)
|
|
259
|
+
return [];
|
|
260
|
+
return result
|
|
261
|
+
.split('\n')
|
|
262
|
+
.filter(Boolean)
|
|
263
|
+
.map((line) => {
|
|
264
|
+
const parts = line.split('|');
|
|
265
|
+
const id = parts[0] || '';
|
|
266
|
+
const senderId = parts[parts.length - 1] || '';
|
|
267
|
+
const createdAt = parts[parts.length - 2] || '';
|
|
268
|
+
const state = parts[parts.length - 3] || '';
|
|
269
|
+
const description = parts.slice(1, -3).join('|');
|
|
270
|
+
return {
|
|
271
|
+
id,
|
|
272
|
+
description,
|
|
273
|
+
state: state,
|
|
274
|
+
createdAt,
|
|
275
|
+
senderId,
|
|
276
|
+
};
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
export function getLatestCommitHash() {
|
|
281
|
+
try {
|
|
282
|
+
const result = execFileSync('git', ['rev-parse', '--short', 'HEAD'], {
|
|
283
|
+
encoding: 'utf-8',
|
|
284
|
+
timeout: 5000,
|
|
285
|
+
});
|
|
286
|
+
return result.trim();
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
return null;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
export function getLatestCommitMessage() {
|
|
293
|
+
try {
|
|
294
|
+
const result = execFileSync('git', ['log', '-1', '--pretty=%s'], {
|
|
295
|
+
encoding: 'utf-8',
|
|
296
|
+
timeout: 5000,
|
|
297
|
+
});
|
|
298
|
+
return result.trim();
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
return null;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
export function formatTaskCompletionReport(taskId, commitHash, commitMessage) {
|
|
305
|
+
return {
|
|
306
|
+
taskId,
|
|
307
|
+
status: 'COMPLETED',
|
|
308
|
+
result: `Task completed!\nCommit: ${commitHash}\nMessage: ${commitMessage}`,
|
|
309
|
+
completedAt: new Date().toISOString(),
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function displayCheckInBroadcast(identity, onlineAgents, pendingTasks) {
|
|
313
|
+
console.log('');
|
|
314
|
+
console.log('='.repeat(60));
|
|
315
|
+
console.log(' A2A Collaboration System');
|
|
316
|
+
console.log('='.repeat(60));
|
|
317
|
+
console.log('');
|
|
318
|
+
console.log(` BROADCAST: ${identity.name} is now online!`);
|
|
319
|
+
console.log('');
|
|
320
|
+
console.log(` Name: ${identity.name}`);
|
|
321
|
+
console.log(` Agent ID: ${identity.agentId}`);
|
|
322
|
+
console.log(` Specialization: ${identity.specialization}`);
|
|
323
|
+
console.log(` Checked in: ${new Date().toLocaleString()}`);
|
|
324
|
+
console.log('');
|
|
325
|
+
const otherAgents = onlineAgents.filter((a) => a !== identity.agentId);
|
|
326
|
+
if (otherAgents.length > 0) {
|
|
327
|
+
console.log(' Other online agents:');
|
|
328
|
+
otherAgents.slice(0, 5).forEach((agent) => {
|
|
329
|
+
console.log(` - ${agent}`);
|
|
330
|
+
});
|
|
331
|
+
console.log('');
|
|
332
|
+
}
|
|
333
|
+
if (pendingTasks.length > 0) {
|
|
334
|
+
console.log(' Pending tasks for you:');
|
|
335
|
+
pendingTasks.slice(0, 3).forEach((task, i) => {
|
|
336
|
+
console.log(` ${i + 1}. [${task.state}] ${task.description?.slice(0, 50)}...`);
|
|
337
|
+
console.log(` From: ${task.senderId} | ID: ${task.id}`);
|
|
338
|
+
});
|
|
339
|
+
console.log('');
|
|
340
|
+
console.log(' Use a2a-list-tasks to see all tasks');
|
|
341
|
+
console.log('');
|
|
342
|
+
}
|
|
343
|
+
console.log(' Available A2A Actions:');
|
|
344
|
+
console.log('');
|
|
345
|
+
console.log(' Assign specialization:');
|
|
346
|
+
console.log(` "${identity.name}, you handle frontend" or "${identity.name}, you handle backend API"`);
|
|
347
|
+
console.log('');
|
|
348
|
+
console.log(' Send task to another agent:');
|
|
349
|
+
console.log(' a2a-send-task targetAgentId="<agent>" taskDescription="..."');
|
|
350
|
+
console.log('');
|
|
351
|
+
console.log(' Check your tasks:');
|
|
352
|
+
console.log(' a2a-list-tasks');
|
|
353
|
+
console.log('');
|
|
354
|
+
console.log(' Report task completion:');
|
|
355
|
+
console.log(' a2a-report-result taskId="<id>" result="Done! Commit: xxx" success=true');
|
|
356
|
+
console.log('');
|
|
357
|
+
console.log('='.repeat(60));
|
|
358
|
+
console.log('');
|
|
359
|
+
}
|
|
360
|
+
function displayAlreadyCheckedIn(identity) {
|
|
361
|
+
console.log('');
|
|
362
|
+
console.log(` Already checked in as ${identity.name}`);
|
|
363
|
+
console.log(` Specialization: ${identity.specialization}`);
|
|
364
|
+
console.log('');
|
|
365
|
+
}
|
|
366
|
+
export function initA2ACollaboration() {
|
|
367
|
+
const existingIdentity = loadIdentity();
|
|
368
|
+
if (existingIdentity?.sessionStart) {
|
|
369
|
+
const sessionAge = Date.now() - new Date(existingIdentity.sessionStart).getTime();
|
|
370
|
+
if (sessionAge < 60 * 60 * 1000) {
|
|
371
|
+
displayAlreadyCheckedIn(existingIdentity);
|
|
372
|
+
return existingIdentity;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
const identity = agentCheckIn();
|
|
376
|
+
const onlineAgents = getOnlineAgents();
|
|
377
|
+
const pendingTasks = checkPendingTasks(identity.agentId);
|
|
378
|
+
displayCheckInBroadcast(identity, onlineAgents, pendingTasks);
|
|
379
|
+
return identity;
|
|
380
|
+
}
|
|
381
|
+
export function updateSpecialization(newSpecialization) {
|
|
382
|
+
const identity = loadIdentity();
|
|
383
|
+
if (!identity) {
|
|
384
|
+
console.log(' No identity found. Please check in first.');
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
identity.specialization = newSpecialization;
|
|
388
|
+
identity.updatedAt = new Date().toISOString();
|
|
389
|
+
saveIdentity(identity);
|
|
390
|
+
console.log('');
|
|
391
|
+
console.log(` Specialization updated!`);
|
|
392
|
+
console.log(` Name: ${identity.name}`);
|
|
393
|
+
console.log(` New Specialization: ${newSpecialization}`);
|
|
394
|
+
console.log('');
|
|
395
|
+
return identity;
|
|
396
|
+
}
|
|
397
|
+
export function getCurrentIdentity() {
|
|
398
|
+
return loadIdentity();
|
|
399
|
+
}
|
|
400
|
+
//# sourceMappingURL=a2a-collaboration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a-collaboration.js","sourceRoot":"","sources":["../../src/hooks/a2a-collaboration.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export declare class KnowledgeGraph {
|
|
|
10
10
|
private initialize;
|
|
11
11
|
private runMigrations;
|
|
12
12
|
private escapeLikePattern;
|
|
13
|
+
private searchFTS5;
|
|
14
|
+
private prepareFTS5Query;
|
|
13
15
|
createEntity(entity: Entity): string;
|
|
14
16
|
createRelation(relation: Relation): void;
|
|
15
17
|
searchEntities(query: SearchQuery): Entity[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/knowledge-graph/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/knowledge-graph/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAC;AA4BzG,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAA0B;IAK5C,OAAO;IAsBP,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,oBAAoB;WAgCf,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc;IAyBlD,OAAO,CAAC,UAAU;IA8FlB,OAAO,CAAC,aAAa;IAuHrB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,UAAU;IAyClB,OAAO,CAAC,gBAAgB;IAqExB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA8IpC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA8DxC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE;IA2J5C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAYtC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,GAAG,IAAI;IAkE3E,QAAQ,IAAI;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC;IAgDD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IA8CnC,KAAK;IA8BL,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAoB9B,aAAa;IAOb,UAAU;CAIX;AAGD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|