@gonzih/cc-agent 0.15.38 → 0.16.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/dist/cron.d.ts +0 -9
- package/dist/cron.d.ts.map +1 -1
- package/dist/cron.js +9 -61
- package/dist/cron.js.map +1 -1
- package/dist/index.js +0 -124
- package/dist/index.js.map +1 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +6 -2
- package/dist/tokens.js.map +1 -1
- package/package.json +2 -2
- package/dist/meta-agent.d.ts +0 -62
- package/dist/meta-agent.d.ts.map +0 -1
- package/dist/meta-agent.js +0 -478
- package/dist/meta-agent.js.map +0 -1
package/dist/cron.d.ts
CHANGED
|
@@ -31,15 +31,6 @@ export declare class CronEngine {
|
|
|
31
31
|
/** Called by tests to trigger a tick immediately without waiting. */
|
|
32
32
|
tick(): Promise<void>;
|
|
33
33
|
private fire;
|
|
34
|
-
/**
|
|
35
|
-
* Resolve a meta-agent namespace from a CronJob.
|
|
36
|
-
* Returns null when no repo is associated (fallback to spawn_agent).
|
|
37
|
-
*
|
|
38
|
-
* Priority:
|
|
39
|
-
* 1. cron.repoUrl — extract last path segment as namespace
|
|
40
|
-
* 2. no repoUrl → null (use spawn_agent fallback)
|
|
41
|
-
*/
|
|
42
|
-
private resolveNamespace;
|
|
43
34
|
/** Atomically update lastFiredAt via Lua script — skips if cron was deleted concurrently. */
|
|
44
35
|
private updateLastFired;
|
|
45
36
|
listCrons(): Promise<CronJob[]>;
|
package/dist/cron.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../src/cron.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../src/cron.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2ED,qBAAa,UAAU;IAMT,OAAO,CAAC,OAAO;IAAc,OAAO,CAAC,SAAS;IAL1D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAEhC,OAAO,EAAE,UAAU,EAAU,SAAS,EAAE,MAAM;IAE5D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,OAAO,CAAC,YAAY;IAYpB,qEAAqE;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBb,IAAI;IAyBlB,6FAA6F;YAC/E,eAAe;IAUvB,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAiB/B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAclE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YAUlE,SAAS;YAUT,OAAO;CAuCtB"}
|
package/dist/cron.js
CHANGED
|
@@ -11,7 +11,6 @@ import { join } from "path";
|
|
|
11
11
|
import { v4 as uuidv4 } from "uuid";
|
|
12
12
|
import { getRedis } from "./redis.js";
|
|
13
13
|
import { logger } from "./logger.js";
|
|
14
|
-
import { metaAgentManager } from "./meta-agent.js";
|
|
15
14
|
import { cronsKey, deletedCronsKey } from "@gonzih/cc-wire";
|
|
16
15
|
const TICK_INTERVAL_MS = 60_000; // 1 minute
|
|
17
16
|
// Lua script for atomic check-and-update of lastFiredAt.
|
|
@@ -150,72 +149,21 @@ export class CronEngine {
|
|
|
150
149
|
intervalMs: cron.intervalMs,
|
|
151
150
|
prompt: cron.prompt.slice(0, 200),
|
|
152
151
|
});
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
});
|
|
163
|
-
await metaAgentManager.messageMetaAgent(cronNamespace, cron.prompt, cron.repoUrl);
|
|
164
|
-
logger.info("[cron] fired-via-meta-agent", {
|
|
165
|
-
id: cron.id,
|
|
166
|
-
schedule: cron.schedule,
|
|
167
|
-
namespace: cronNamespace,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
// Fallback: no namespace/repo → spawn an isolated agent as before.
|
|
172
|
-
logger.info("[cron] fallback-spawn-agent", {
|
|
173
|
-
id: cron.id,
|
|
174
|
-
schedule: cron.schedule,
|
|
175
|
-
});
|
|
176
|
-
const jobId = await this.manager.spawn({
|
|
177
|
-
repoUrl: cron.repoUrl ?? "",
|
|
178
|
-
task: cron.prompt,
|
|
179
|
-
});
|
|
180
|
-
logger.info("[cron] fired-via-spawn", {
|
|
181
|
-
id: cron.id,
|
|
182
|
-
schedule: cron.schedule,
|
|
183
|
-
jobId,
|
|
184
|
-
});
|
|
185
|
-
}
|
|
152
|
+
const jobId = await this.manager.spawn({
|
|
153
|
+
repoUrl: cron.repoUrl ?? "",
|
|
154
|
+
task: cron.prompt,
|
|
155
|
+
});
|
|
156
|
+
logger.info("[cron] fired-via-spawn", {
|
|
157
|
+
id: cron.id,
|
|
158
|
+
schedule: cron.schedule,
|
|
159
|
+
jobId,
|
|
160
|
+
});
|
|
186
161
|
await this.updateLastFired(cron.id);
|
|
187
162
|
}
|
|
188
163
|
catch (err) {
|
|
189
164
|
logger.warn("[cron] fire-failed", { id: cron.id, err: String(err) });
|
|
190
165
|
}
|
|
191
166
|
}
|
|
192
|
-
/**
|
|
193
|
-
* Resolve a meta-agent namespace from a CronJob.
|
|
194
|
-
* Returns null when no repo is associated (fallback to spawn_agent).
|
|
195
|
-
*
|
|
196
|
-
* Priority:
|
|
197
|
-
* 1. cron.repoUrl — extract last path segment as namespace
|
|
198
|
-
* 2. no repoUrl → null (use spawn_agent fallback)
|
|
199
|
-
*/
|
|
200
|
-
resolveNamespace(cron) {
|
|
201
|
-
if (!cron.repoUrl)
|
|
202
|
-
return null;
|
|
203
|
-
try {
|
|
204
|
-
const url = new URL(cron.repoUrl);
|
|
205
|
-
const parts = url.pathname.replace(/^\/+|\/+$/g, "").split("/");
|
|
206
|
-
const repoName = parts[parts.length - 1];
|
|
207
|
-
if (repoName)
|
|
208
|
-
return repoName;
|
|
209
|
-
}
|
|
210
|
-
catch {
|
|
211
|
-
// Not a valid URL — try splitting on /
|
|
212
|
-
const parts = cron.repoUrl.replace(/\/$/, "").split("/");
|
|
213
|
-
const repoName = parts[parts.length - 1];
|
|
214
|
-
if (repoName)
|
|
215
|
-
return repoName;
|
|
216
|
-
}
|
|
217
|
-
return null;
|
|
218
|
-
}
|
|
219
167
|
/** Atomically update lastFiredAt via Lua script — skips if cron was deleted concurrently. */
|
|
220
168
|
async updateLastFired(id) {
|
|
221
169
|
const redis = getRedis();
|
package/dist/cron.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../src/cron.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAU,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../src/cron.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,6 @@ import { JobManager, repoKey, normalizeRepoUrl } from "./agent.js";
|
|
|
24
24
|
import { listDrivers, getDriverStatus } from "./drivers/index.js";
|
|
25
25
|
import { runSwarm, getSwarmStatus, SWARM_MAX_AGENTS_HARD_CAP } from "./swarm.js";
|
|
26
26
|
import { runWorkflow, getWorkflowStatus, WORKFLOW_MAX_STAGES_HARD_CAP } from "./workflow.js";
|
|
27
|
-
import { MetaAgentManager } from "./meta-agent.js";
|
|
28
27
|
import { buildEvaluatorTask } from "./evaluator.js";
|
|
29
28
|
import { loadProfiles, upsertProfile, deleteProfile, getProfile, interpolate } from "./profiles.js";
|
|
30
29
|
import { planStore, jobStore, learningsStore, profileStore, wikiStore } from "./store.js";
|
|
@@ -72,7 +71,6 @@ const manager = new JobManager(token);
|
|
|
72
71
|
const namespace = getNamespace();
|
|
73
72
|
const coordinator = new Coordinator(manager, namespace);
|
|
74
73
|
const cronEngine = new CronEngine(manager, namespace);
|
|
75
|
-
const metaAgentManager = new MetaAgentManager();
|
|
76
74
|
const server = new Server({ name: "cc-agent", version: PKG_VERSION }, { capabilities: { tools: {} } });
|
|
77
75
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
78
76
|
tools: [
|
|
@@ -769,52 +767,6 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
769
767
|
description: "Debug: show all active Redis pub/sub channels and subscriber counts. Use to diagnose chat sync issues.",
|
|
770
768
|
inputSchema: { type: "object", properties: {}, required: [] },
|
|
771
769
|
},
|
|
772
|
-
{
|
|
773
|
-
name: "start_meta_agent",
|
|
774
|
-
description: "Clone repo (if needed) into ~/cc-agent-workspace/{namespace} and start a persistent Claude Code session there. Meta-agents are long-lived — they receive multiple messages over time and publish responses to cca:chat:outgoing:{namespace}.",
|
|
775
|
-
inputSchema: {
|
|
776
|
-
type: "object",
|
|
777
|
-
properties: {
|
|
778
|
-
namespace: {
|
|
779
|
-
type: "string",
|
|
780
|
-
description: "Repo short name, e.g. polly-gamba. Used as the workspace directory name and Redis key prefix.",
|
|
781
|
-
},
|
|
782
|
-
repo_url: {
|
|
783
|
-
type: "string",
|
|
784
|
-
description: "Optional GitHub URL. Defaults to https://github.com/gonzih/{namespace}",
|
|
785
|
-
},
|
|
786
|
-
},
|
|
787
|
-
required: ["namespace"],
|
|
788
|
-
},
|
|
789
|
-
},
|
|
790
|
-
{
|
|
791
|
-
name: "message_meta_agent",
|
|
792
|
-
description: "Send a message to a running meta-agent session. Spawns a claude -p process in the meta-agent workspace with --continue if a prior session exists. Responses are published line-by-line to cca:chat:outgoing:{namespace}.",
|
|
793
|
-
inputSchema: {
|
|
794
|
-
type: "object",
|
|
795
|
-
properties: {
|
|
796
|
-
namespace: { type: "string", description: "Meta-agent namespace to message" },
|
|
797
|
-
message: { type: "string", description: "Message content to send to the Claude session" },
|
|
798
|
-
},
|
|
799
|
-
required: ["namespace", "message"],
|
|
800
|
-
},
|
|
801
|
-
},
|
|
802
|
-
{
|
|
803
|
-
name: "list_meta_agents",
|
|
804
|
-
description: "List all meta-agent sessions and their status. Returns namespace, repoUrl, cwd, pid, status, startedAt, lastActivity, currentTool, isTyping, lastMessage, turnCount. Live status is also written to Redis cca:meta-agent:status:{namespace}.",
|
|
805
|
-
inputSchema: { type: "object", properties: {} },
|
|
806
|
-
},
|
|
807
|
-
{
|
|
808
|
-
name: "stop_meta_agent",
|
|
809
|
-
description: "Stop a running meta-agent session. Kills the Claude process and updates Redis status to stopped.",
|
|
810
|
-
inputSchema: {
|
|
811
|
-
type: "object",
|
|
812
|
-
properties: {
|
|
813
|
-
namespace: { type: "string", description: "Meta-agent namespace to stop" },
|
|
814
|
-
},
|
|
815
|
-
required: ["namespace"],
|
|
816
|
-
},
|
|
817
|
-
},
|
|
818
770
|
{
|
|
819
771
|
name: "list_drivers",
|
|
820
772
|
description: "List all available agent drivers and their status (binary found / API key configured). Use this to check which drivers are ready to use before calling spawn_agent with agent_driver.",
|
|
@@ -1809,81 +1761,6 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
1809
1761
|
}],
|
|
1810
1762
|
};
|
|
1811
1763
|
}
|
|
1812
|
-
case "start_meta_agent": {
|
|
1813
|
-
logger.info("[mcp] start_meta_agent", { namespace: a.namespace });
|
|
1814
|
-
const ns = a.namespace;
|
|
1815
|
-
const repoUrl = a.repo_url;
|
|
1816
|
-
try {
|
|
1817
|
-
const info = await metaAgentManager.startMetaAgent(ns, repoUrl);
|
|
1818
|
-
return {
|
|
1819
|
-
content: [{
|
|
1820
|
-
type: "text",
|
|
1821
|
-
text: JSON.stringify({ ok: true, ...info, message: `Meta-agent started. Responses published to cca:chat:outgoing:${ns}.` }),
|
|
1822
|
-
}],
|
|
1823
|
-
};
|
|
1824
|
-
}
|
|
1825
|
-
catch (err) {
|
|
1826
|
-
return {
|
|
1827
|
-
content: [{
|
|
1828
|
-
type: "text",
|
|
1829
|
-
text: JSON.stringify({ ok: false, error: String(err) }),
|
|
1830
|
-
}],
|
|
1831
|
-
};
|
|
1832
|
-
}
|
|
1833
|
-
}
|
|
1834
|
-
case "message_meta_agent": {
|
|
1835
|
-
logger.info("[mcp] message_meta_agent", { namespace: a.namespace });
|
|
1836
|
-
const ns = a.namespace;
|
|
1837
|
-
const message = a.message;
|
|
1838
|
-
try {
|
|
1839
|
-
await metaAgentManager.messageMetaAgent(ns, message);
|
|
1840
|
-
return {
|
|
1841
|
-
content: [{
|
|
1842
|
-
type: "text",
|
|
1843
|
-
text: JSON.stringify({ ok: true, namespace: ns, message: "Message delivered to meta-agent. Responses will be published to cca:chat:outgoing:" + ns }),
|
|
1844
|
-
}],
|
|
1845
|
-
};
|
|
1846
|
-
}
|
|
1847
|
-
catch (err) {
|
|
1848
|
-
return {
|
|
1849
|
-
content: [{
|
|
1850
|
-
type: "text",
|
|
1851
|
-
text: JSON.stringify({ ok: false, error: String(err) }),
|
|
1852
|
-
}],
|
|
1853
|
-
};
|
|
1854
|
-
}
|
|
1855
|
-
}
|
|
1856
|
-
case "list_meta_agents": {
|
|
1857
|
-
logger.info("[mcp] list_meta_agents");
|
|
1858
|
-
const agents = await metaAgentManager.listMetaAgents();
|
|
1859
|
-
return {
|
|
1860
|
-
content: [{
|
|
1861
|
-
type: "text",
|
|
1862
|
-
text: JSON.stringify({ agents, total: agents.length }),
|
|
1863
|
-
}],
|
|
1864
|
-
};
|
|
1865
|
-
}
|
|
1866
|
-
case "stop_meta_agent": {
|
|
1867
|
-
logger.info("[mcp] stop_meta_agent", { namespace: a.namespace });
|
|
1868
|
-
const ns = a.namespace;
|
|
1869
|
-
try {
|
|
1870
|
-
await metaAgentManager.stopMetaAgent(ns);
|
|
1871
|
-
return {
|
|
1872
|
-
content: [{
|
|
1873
|
-
type: "text",
|
|
1874
|
-
text: JSON.stringify({ ok: true, namespace: ns, message: "Meta-agent stopped." }),
|
|
1875
|
-
}],
|
|
1876
|
-
};
|
|
1877
|
-
}
|
|
1878
|
-
catch (err) {
|
|
1879
|
-
return {
|
|
1880
|
-
content: [{
|
|
1881
|
-
type: "text",
|
|
1882
|
-
text: JSON.stringify({ ok: false, error: String(err) }),
|
|
1883
|
-
}],
|
|
1884
|
-
};
|
|
1885
|
-
}
|
|
1886
|
-
}
|
|
1887
1764
|
case "list_drivers": {
|
|
1888
1765
|
logger.info("[mcp] list_drivers");
|
|
1889
1766
|
const drivers = getDriverStatus();
|
|
@@ -2262,7 +2139,6 @@ logger.info("[cc-agent] startup", { crons_loaded: _startupCrons.length });
|
|
|
2262
2139
|
for (const _cron of _startupCrons) {
|
|
2263
2140
|
logger.info("[cron] registered", { id: _cron.id, schedule: _cron.schedule, intervalMs: _cron.intervalMs });
|
|
2264
2141
|
}
|
|
2265
|
-
metaAgentManager.startPoller();
|
|
2266
2142
|
const transport = new StdioServerTransport();
|
|
2267
2143
|
await server.connect(transport);
|
|
2268
2144
|
//# sourceMappingURL=index.js.map
|