@fonz/tgcc 0.6.19 → 0.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 +77 -0
- package/dist/plugin/index.d.ts +41 -0
- package/dist/plugin/index.js +161 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/openclaw.plugin.json +55 -0
- package/dist/plugin/package.json +6 -0
- package/dist/plugin/skills/tgcc-agents/SKILL.md +161 -0
- package/dist/plugin/src/client.d.ts +167 -0
- package/dist/plugin/src/client.js +523 -0
- package/dist/plugin/src/client.js.map +1 -0
- package/dist/plugin/src/events.d.ts +44 -0
- package/dist/plugin/src/events.js +226 -0
- package/dist/plugin/src/events.js.map +1 -0
- package/dist/plugin/src/permissions.d.ts +21 -0
- package/dist/plugin/src/permissions.js +78 -0
- package/dist/plugin/src/permissions.js.map +1 -0
- package/dist/plugin/src/tools/tgcc-kill.d.ts +6 -0
- package/dist/plugin/src/tools/tgcc-kill.js +52 -0
- package/dist/plugin/src/tools/tgcc-kill.js.map +1 -0
- package/dist/plugin/src/tools/tgcc-send.d.ts +9 -0
- package/dist/plugin/src/tools/tgcc-send.js +61 -0
- package/dist/plugin/src/tools/tgcc-send.js.map +1 -0
- package/dist/plugin/src/tools/tgcc-spawn.d.ts +9 -0
- package/dist/plugin/src/tools/tgcc-spawn.js +79 -0
- package/dist/plugin/src/tools/tgcc-spawn.js.map +1 -0
- package/dist/plugin/src/tools/tgcc-status.d.ts +9 -0
- package/dist/plugin/src/tools/tgcc-status.js +74 -0
- package/dist/plugin/src/tools/tgcc-status.js.map +1 -0
- package/dist/streaming.js +5 -2
- package/dist/streaming.js.map +1 -1
- package/package.json +10 -3
- package/plugin/openclaw.plugin.json +55 -0
- package/plugin/skills/tgcc-agents/SKILL.md +161 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../plugin/src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event handlers for TGCC supervisor events.
|
|
3
|
+
*
|
|
4
|
+
* Manages agent state cache and stores pending results/events
|
|
5
|
+
* for retrieval via tools and gateway methods.
|
|
6
|
+
*/
|
|
7
|
+
import type { PluginLogger } from "openclaw/plugin-sdk";
|
|
8
|
+
import type { TgccSupervisorClient, TgccPermissionRequestEvent } from "./client.js";
|
|
9
|
+
export interface TgccAgentMapping {
|
|
10
|
+
repo: string;
|
|
11
|
+
type?: "persistent" | "ephemeral";
|
|
12
|
+
state?: "idle" | "active";
|
|
13
|
+
}
|
|
14
|
+
export declare function getAgentCache(): Record<string, TgccAgentMapping>;
|
|
15
|
+
export interface PendingResult {
|
|
16
|
+
agentId: string;
|
|
17
|
+
sessionId: string;
|
|
18
|
+
text: string;
|
|
19
|
+
cost_usd?: number;
|
|
20
|
+
duration_ms?: number;
|
|
21
|
+
is_error?: boolean;
|
|
22
|
+
receivedAt: number;
|
|
23
|
+
}
|
|
24
|
+
export declare function getPendingResults(): PendingResult[];
|
|
25
|
+
export declare function drainPendingResults(): PendingResult[];
|
|
26
|
+
export interface PendingPermission {
|
|
27
|
+
agentId: string;
|
|
28
|
+
toolName: string;
|
|
29
|
+
requestId: string;
|
|
30
|
+
description: string;
|
|
31
|
+
receivedAt: number;
|
|
32
|
+
}
|
|
33
|
+
export declare function getPendingPermissions(): PendingPermission[];
|
|
34
|
+
export declare function removePendingPermission(requestId: string): void;
|
|
35
|
+
export interface RecentEvent {
|
|
36
|
+
event: string;
|
|
37
|
+
agentId?: string;
|
|
38
|
+
summary: string;
|
|
39
|
+
ts: number;
|
|
40
|
+
}
|
|
41
|
+
export declare function getRecentEvents(since?: number): RecentEvent[];
|
|
42
|
+
export type PermissionRequestHandler = (event: TgccPermissionRequestEvent) => void;
|
|
43
|
+
export declare function setPermissionRequestHandler(handler: PermissionRequestHandler): void;
|
|
44
|
+
export declare function attachEventHandlers(client: TgccSupervisorClient, log: PluginLogger): void;
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Event handlers for TGCC supervisor events.
|
|
4
|
+
*
|
|
5
|
+
* Manages agent state cache and stores pending results/events
|
|
6
|
+
* for retrieval via tools and gateway methods.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getAgentCache = getAgentCache;
|
|
10
|
+
exports.getPendingResults = getPendingResults;
|
|
11
|
+
exports.drainPendingResults = drainPendingResults;
|
|
12
|
+
exports.getPendingPermissions = getPendingPermissions;
|
|
13
|
+
exports.removePendingPermission = removePendingPermission;
|
|
14
|
+
exports.getRecentEvents = getRecentEvents;
|
|
15
|
+
exports.setPermissionRequestHandler = setPermissionRequestHandler;
|
|
16
|
+
exports.attachEventHandlers = attachEventHandlers;
|
|
17
|
+
let agentCache = {};
|
|
18
|
+
function getAgentCache() {
|
|
19
|
+
return agentCache;
|
|
20
|
+
}
|
|
21
|
+
const MAX_PENDING_RESULTS = 50;
|
|
22
|
+
const pendingResults = [];
|
|
23
|
+
function getPendingResults() {
|
|
24
|
+
return pendingResults;
|
|
25
|
+
}
|
|
26
|
+
function drainPendingResults() {
|
|
27
|
+
return pendingResults.splice(0);
|
|
28
|
+
}
|
|
29
|
+
const pendingPermissions = [];
|
|
30
|
+
function getPendingPermissions() {
|
|
31
|
+
return pendingPermissions;
|
|
32
|
+
}
|
|
33
|
+
function removePendingPermission(requestId) {
|
|
34
|
+
const idx = pendingPermissions.findIndex((p) => p.requestId === requestId);
|
|
35
|
+
if (idx >= 0)
|
|
36
|
+
pendingPermissions.splice(idx, 1);
|
|
37
|
+
}
|
|
38
|
+
const MAX_RECENT_EVENTS = 100;
|
|
39
|
+
const recentEvents = [];
|
|
40
|
+
function getRecentEvents(since) {
|
|
41
|
+
if (since)
|
|
42
|
+
return recentEvents.filter((e) => e.ts > since);
|
|
43
|
+
return recentEvents;
|
|
44
|
+
}
|
|
45
|
+
function pushRecentEvent(event, agentId, summary) {
|
|
46
|
+
recentEvents.push({ event, agentId, summary, ts: Date.now() });
|
|
47
|
+
if (recentEvents.length > MAX_RECENT_EVENTS)
|
|
48
|
+
recentEvents.shift();
|
|
49
|
+
}
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Observability event formatting
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
function formatObservabilityMessage(event) {
|
|
54
|
+
const agentId = String(event.agentId ?? "unknown");
|
|
55
|
+
const prefix = `[${agentId}]`;
|
|
56
|
+
const eventName = String(event.event ?? "");
|
|
57
|
+
switch (eventName) {
|
|
58
|
+
case "build_result": {
|
|
59
|
+
const passed = event.passed === true;
|
|
60
|
+
if (passed)
|
|
61
|
+
return `${prefix} Build passed`;
|
|
62
|
+
const errors = typeof event.errors === "number" ? event.errors : "?";
|
|
63
|
+
const summary = typeof event.summary === "string" ? `: ${event.summary}` : "";
|
|
64
|
+
return `${prefix} Build failed: ${errors} errors${summary}`;
|
|
65
|
+
}
|
|
66
|
+
case "git_commit": {
|
|
67
|
+
const msg = typeof event.message === "string" ? event.message : "?";
|
|
68
|
+
return `${prefix} Committed: "${msg}"`;
|
|
69
|
+
}
|
|
70
|
+
case "context_pressure": {
|
|
71
|
+
const pct = typeof event.percent === "number" ? event.percent : "?";
|
|
72
|
+
return `${prefix} Context at ${pct}%`;
|
|
73
|
+
}
|
|
74
|
+
case "failure_loop": {
|
|
75
|
+
const n = typeof event.consecutiveFailures === "number" ? event.consecutiveFailures : "?";
|
|
76
|
+
return `${prefix} ${n} consecutive failures`;
|
|
77
|
+
}
|
|
78
|
+
case "stuck": {
|
|
79
|
+
const mins = typeof event.silentMs === "number" ? Math.round(event.silentMs / 60_000) : "?";
|
|
80
|
+
return `${prefix} No progress for ${mins}m`;
|
|
81
|
+
}
|
|
82
|
+
case "task_milestone": {
|
|
83
|
+
const task = typeof event.task === "string" ? event.task : "?";
|
|
84
|
+
const progress = typeof event.progress === "string" ? `[${event.progress}] ` : "";
|
|
85
|
+
return `${prefix} ${progress}${task}`;
|
|
86
|
+
}
|
|
87
|
+
case "cc_message": {
|
|
88
|
+
const text = typeof event.text === "string" ? event.text : "?";
|
|
89
|
+
return `${prefix} "${text}"`;
|
|
90
|
+
}
|
|
91
|
+
case "subagent_spawn": {
|
|
92
|
+
const count = typeof event.count === "number" ? event.count : "?";
|
|
93
|
+
return `${prefix} Spawned ${count} sub-agents`;
|
|
94
|
+
}
|
|
95
|
+
case "budget_alert": {
|
|
96
|
+
const cost = typeof event.costUsd === "number" ? `$${event.costUsd.toFixed(2)}` : "$?";
|
|
97
|
+
const budget = typeof event.budgetUsd === "number" ? `$${event.budgetUsd.toFixed(2)}` : "$?";
|
|
98
|
+
return `${prefix} ${cost} spent (budget: ${budget})`;
|
|
99
|
+
}
|
|
100
|
+
default:
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
let permissionRequestHandler = null;
|
|
105
|
+
function setPermissionRequestHandler(handler) {
|
|
106
|
+
permissionRequestHandler = handler;
|
|
107
|
+
}
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
// Attach event handlers to the client
|
|
110
|
+
// ---------------------------------------------------------------------------
|
|
111
|
+
function attachEventHandlers(client, log) {
|
|
112
|
+
client.on("connected", () => void refreshAgentCache(client, log));
|
|
113
|
+
client.on("tgcc:result", (event) => {
|
|
114
|
+
log.info(`[tgcc] result from ${event.agentId} (${event.is_error ? "error" : "ok"}, cost=$${event.cost_usd?.toFixed(4) ?? "?"})`);
|
|
115
|
+
pendingResults.push({ ...event, receivedAt: Date.now() });
|
|
116
|
+
if (pendingResults.length > MAX_PENDING_RESULTS)
|
|
117
|
+
pendingResults.shift();
|
|
118
|
+
pushRecentEvent("result", event.agentId, event.is_error ? "error" : "ok");
|
|
119
|
+
});
|
|
120
|
+
client.on("tgcc:process_exit", (event) => {
|
|
121
|
+
log.info(`[tgcc] process_exit from ${event.agentId} (exit=${event.exitCode})`);
|
|
122
|
+
pushRecentEvent("process_exit", event.agentId, `exit=${event.exitCode}`);
|
|
123
|
+
});
|
|
124
|
+
client.on("tgcc:session_takeover", () => {
|
|
125
|
+
// Session taken over by another client — logged, no action needed
|
|
126
|
+
});
|
|
127
|
+
client.on("tgcc:api_error", (event) => {
|
|
128
|
+
log.warn(`[tgcc] api_error from ${event.agentId}: ${event.message}`);
|
|
129
|
+
pushRecentEvent("api_error", event.agentId, event.message);
|
|
130
|
+
});
|
|
131
|
+
client.on("tgcc:permission_request", (event) => {
|
|
132
|
+
log.info(`[tgcc] permission_request: agent=${event.agentId} tool=${event.toolName} requestId=${event.requestId}`);
|
|
133
|
+
pendingPermissions.push({ ...event, receivedAt: Date.now() });
|
|
134
|
+
pushRecentEvent("permission_request", event.agentId, `${event.toolName}: ${event.description}`);
|
|
135
|
+
permissionRequestHandler?.(event);
|
|
136
|
+
});
|
|
137
|
+
// Lifecycle events
|
|
138
|
+
client.on("tgcc:bridge_started", () => void refreshAgentCache(client, log));
|
|
139
|
+
client.on("tgcc:cc_spawned", (event) => {
|
|
140
|
+
const agentId = String(event.agentId ?? "");
|
|
141
|
+
if (agentId && agentCache[agentId]) {
|
|
142
|
+
agentCache[agentId].state = "active";
|
|
143
|
+
}
|
|
144
|
+
pushRecentEvent("cc_spawned", agentId, "");
|
|
145
|
+
});
|
|
146
|
+
client.on("tgcc:agent_created", (event) => {
|
|
147
|
+
const agentId = String(event.agentId ?? "");
|
|
148
|
+
const repo = String(event.repo ?? "");
|
|
149
|
+
const type = String(event.type ?? "ephemeral");
|
|
150
|
+
if (agentId) {
|
|
151
|
+
agentCache[agentId] = { repo, type, state: "idle" };
|
|
152
|
+
}
|
|
153
|
+
pushRecentEvent("agent_created", agentId, `type=${type}`);
|
|
154
|
+
});
|
|
155
|
+
client.on("tgcc:agent_destroyed", (event) => {
|
|
156
|
+
const agentId = String(event.agentId ?? "");
|
|
157
|
+
if (agentId)
|
|
158
|
+
delete agentCache[agentId];
|
|
159
|
+
pushRecentEvent("agent_destroyed", agentId, "");
|
|
160
|
+
});
|
|
161
|
+
client.on("tgcc:state_changed", (event) => {
|
|
162
|
+
const agentId = String(event.agentId ?? "");
|
|
163
|
+
const field = String(event.field ?? "");
|
|
164
|
+
const newValue = event.newValue;
|
|
165
|
+
if (agentId && agentCache[agentId]) {
|
|
166
|
+
if (field === "state" && (newValue === "idle" || newValue === "active")) {
|
|
167
|
+
agentCache[agentId].state = newValue;
|
|
168
|
+
}
|
|
169
|
+
else if (field === "repo" && typeof newValue === "string") {
|
|
170
|
+
agentCache[agentId].repo = newValue;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
// Observability events
|
|
175
|
+
const observabilityEvents = [
|
|
176
|
+
"tgcc:build_result",
|
|
177
|
+
"tgcc:git_commit",
|
|
178
|
+
"tgcc:context_pressure",
|
|
179
|
+
"tgcc:failure_loop",
|
|
180
|
+
"tgcc:stuck",
|
|
181
|
+
"tgcc:task_milestone",
|
|
182
|
+
"tgcc:cc_message",
|
|
183
|
+
"tgcc:subagent_spawn",
|
|
184
|
+
"tgcc:budget_alert",
|
|
185
|
+
];
|
|
186
|
+
for (const evt of observabilityEvents) {
|
|
187
|
+
client.on(evt, (event) => {
|
|
188
|
+
const message = formatObservabilityMessage(event);
|
|
189
|
+
if (message) {
|
|
190
|
+
log.info(`[tgcc] observability: ${message}`);
|
|
191
|
+
pushRecentEvent(String(event.event ?? evt.replace("tgcc:", "")), String(event.agentId ?? ""), message);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
// Reverse notify
|
|
196
|
+
client.on("tgcc:reverse_notify", (event) => {
|
|
197
|
+
log.info(`[tgcc] reverse notify to ${event.target}: ${event.message.slice(0, 200)}`);
|
|
198
|
+
pushRecentEvent("reverse_notify", undefined, event.message.slice(0, 100));
|
|
199
|
+
});
|
|
200
|
+
// Status sync
|
|
201
|
+
client.on("tgcc:status_sync", (status) => {
|
|
202
|
+
const fresh = {};
|
|
203
|
+
for (const agent of status.agents) {
|
|
204
|
+
fresh[agent.id] = { repo: agent.repo, type: agent.type, state: agent.state };
|
|
205
|
+
}
|
|
206
|
+
agentCache = fresh;
|
|
207
|
+
log.info(`[tgcc] agent cache synced: ${status.agents.map((a) => a.id).join(", ")}`);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
async function refreshAgentCache(client, log) {
|
|
211
|
+
if (!client.isConnected())
|
|
212
|
+
return;
|
|
213
|
+
try {
|
|
214
|
+
const result = await client.getStatus();
|
|
215
|
+
const fresh = {};
|
|
216
|
+
for (const agent of result.agents) {
|
|
217
|
+
fresh[agent.id] = { repo: agent.repo, type: agent.type, state: agent.state };
|
|
218
|
+
}
|
|
219
|
+
agentCache = fresh;
|
|
220
|
+
log.info(`[tgcc] agent cache refreshed: ${result.agents.map((a) => a.id).join(", ")}`);
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
log.warn(`[tgcc] failed to refresh agent cache: ${err instanceof Error ? err.message : String(err)}`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../plugin/src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission request handler — sends Telegram inline buttons for Allow/Deny.
|
|
3
|
+
*
|
|
4
|
+
* When TGCC reports a permission_request event, this module sends a Telegram
|
|
5
|
+
* message with inline keyboard buttons. The callback_data uses the tgcc_perm:
|
|
6
|
+
* prefix format that OpenClaw's Telegram handler can route back to us.
|
|
7
|
+
*/
|
|
8
|
+
import type { PluginLogger, PluginRuntime } from "openclaw/plugin-sdk";
|
|
9
|
+
import type { TgccPermissionRequestEvent, TgccSupervisorClient } from "./client.js";
|
|
10
|
+
/**
|
|
11
|
+
* Send a Telegram message with Allow / Deny inline buttons for a permission request.
|
|
12
|
+
*/
|
|
13
|
+
export declare function handlePermissionRequest(event: TgccPermissionRequestEvent, runtime: PluginRuntime, telegramChatId: string | undefined, log: PluginLogger): void;
|
|
14
|
+
/**
|
|
15
|
+
* Register a gateway method for programmatic permission responses.
|
|
16
|
+
* Allows external systems to respond to permission requests without TG buttons.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createPermissionResponseHandler(getClient: () => TgccSupervisorClient | null, log: PluginLogger): (opts: {
|
|
19
|
+
params: Record<string, unknown>;
|
|
20
|
+
respond: (ok: boolean, payload?: unknown) => void;
|
|
21
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Permission request handler — sends Telegram inline buttons for Allow/Deny.
|
|
4
|
+
*
|
|
5
|
+
* When TGCC reports a permission_request event, this module sends a Telegram
|
|
6
|
+
* message with inline keyboard buttons. The callback_data uses the tgcc_perm:
|
|
7
|
+
* prefix format that OpenClaw's Telegram handler can route back to us.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.handlePermissionRequest = handlePermissionRequest;
|
|
11
|
+
exports.createPermissionResponseHandler = createPermissionResponseHandler;
|
|
12
|
+
const events_js_1 = require("./events.js");
|
|
13
|
+
// Max bytes for Telegram callback_data is 64. With prefix `tgcc_perm:a:` (12 chars),
|
|
14
|
+
// separator `:` (1 char), and UUID (36 chars), the agentId budget is 15 chars.
|
|
15
|
+
const AGENT_ID_MAX = 15;
|
|
16
|
+
function buildPermCallbackData(decision, agentId, requestId) {
|
|
17
|
+
const safeId = agentId.length > AGENT_ID_MAX ? agentId.slice(0, AGENT_ID_MAX) : agentId;
|
|
18
|
+
return `tgcc_perm:${decision}:${safeId}:${requestId}`;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Send a Telegram message with Allow / Deny inline buttons for a permission request.
|
|
22
|
+
*/
|
|
23
|
+
function handlePermissionRequest(event, runtime, telegramChatId, log) {
|
|
24
|
+
if (!telegramChatId) {
|
|
25
|
+
log.info("[tgcc] no telegramChatId configured, skipping permission buttons");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const { agentId, toolName, requestId, description } = event;
|
|
29
|
+
const text = `🔒 <b>${agentId}</b> needs permission: <b>${toolName}</b>\n${description}`;
|
|
30
|
+
const buttons = [
|
|
31
|
+
[
|
|
32
|
+
{ text: "✅ Allow", callback_data: buildPermCallbackData("a", agentId, requestId) },
|
|
33
|
+
{ text: "❌ Deny", callback_data: buildPermCallbackData("d", agentId, requestId) },
|
|
34
|
+
],
|
|
35
|
+
];
|
|
36
|
+
const sendMessageTelegram = runtime.channel?.telegram?.sendMessageTelegram;
|
|
37
|
+
if (!sendMessageTelegram) {
|
|
38
|
+
log.warn("[tgcc] runtime.channel.telegram.sendMessageTelegram not available");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
void sendMessageTelegram(telegramChatId, text, {
|
|
42
|
+
textMode: "html",
|
|
43
|
+
buttons,
|
|
44
|
+
}).catch((err) => {
|
|
45
|
+
log.warn(`[tgcc] permission request telegram message failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Register a gateway method for programmatic permission responses.
|
|
50
|
+
* Allows external systems to respond to permission requests without TG buttons.
|
|
51
|
+
*/
|
|
52
|
+
function createPermissionResponseHandler(getClient, log) {
|
|
53
|
+
return async (opts) => {
|
|
54
|
+
const { params, respond } = opts;
|
|
55
|
+
const agentId = typeof params.agentId === "string" ? params.agentId : "";
|
|
56
|
+
const requestId = typeof params.requestId === "string" ? params.requestId : "";
|
|
57
|
+
const decision = params.decision === "allow" ? "allow" : params.decision === "deny" ? "deny" : "";
|
|
58
|
+
if (!agentId || !requestId || !decision) {
|
|
59
|
+
respond(false, { error: "agentId, requestId, and decision (allow|deny) are required" });
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const client = getClient();
|
|
63
|
+
if (!client?.isConnected()) {
|
|
64
|
+
respond(false, { error: "Not connected to TGCC" });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
await client.respondToPermission(agentId, requestId, decision);
|
|
69
|
+
(0, events_js_1.removePendingPermission)(requestId);
|
|
70
|
+
respond(true, { agentId, requestId, decision });
|
|
71
|
+
log.info(`[tgcc] permission responded: ${agentId} ${requestId} → ${decision}`);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
respond(false, { error: err instanceof Error ? err.message : String(err) });
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../plugin/src/permissions.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAsBH,0DAuCC;AAMD,0EA8BC;AA7FD,2CAAsD;AAEtD,qFAAqF;AACrF,+EAA+E;AAC/E,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,SAAS,qBAAqB,CAC5B,QAAmB,EACnB,OAAe,EACf,SAAiB;IAEjB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,OAAO,aAAa,QAAQ,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,KAAiC,EACjC,OAAsB,EACtB,cAAkC,EAClC,GAAiB;IAEjB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE5D,MAAM,IAAI,GAAG,SAAS,OAAO,6BAA6B,QAAQ,SAAS,WAAW,EAAE,CAAC;IACzF,MAAM,OAAO,GAAG;QACd;YACE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;YAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;SAClF;KACF,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAC3E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,KAAM,mBAIgB,CAAC,cAAc,EAAE,IAAI,EAAE;QAC3C,QAAQ,EAAE,MAAM;QAChB,OAAO;KACR,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACxB,GAAG,CAAC,IAAI,CACN,sDAAsD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACzG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,+BAA+B,CAC7C,SAA4C,EAC5C,GAAiB;IAEjB,OAAO,KAAK,EAAE,IAA4F,EAAE,EAAE;QAC5G,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAElG,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4DAA4D,EAAE,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QAA4B,CAAC,CAAC;YACnF,IAAA,mCAAuB,EAAC,SAAS,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,gCAAgC,OAAO,IAAI,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tgcc_kill tool — Kill a TGCC CC session or destroy an ephemeral agent.
|
|
3
|
+
*/
|
|
4
|
+
import type { AnyAgentTool } from "openclaw/plugin-sdk";
|
|
5
|
+
import type { TgccSupervisorClient } from "../client.js";
|
|
6
|
+
export declare function createTgccKillTool(getClient: () => TgccSupervisorClient | null): AnyAgentTool;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* tgcc_kill tool — Kill a TGCC CC session or destroy an ephemeral agent.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createTgccKillTool = createTgccKillTool;
|
|
7
|
+
const TgccKillParams = {
|
|
8
|
+
type: "object",
|
|
9
|
+
properties: {
|
|
10
|
+
agentId: { type: "string", description: "TGCC agent ID to kill" },
|
|
11
|
+
destroy: {
|
|
12
|
+
type: "boolean",
|
|
13
|
+
description: "If true, destroy the ephemeral agent entirely (not just kill CC). Default: false.",
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
required: ["agentId"],
|
|
17
|
+
};
|
|
18
|
+
const json = (payload) => ({
|
|
19
|
+
content: [{ type: "text", text: JSON.stringify(payload, null, 2) }],
|
|
20
|
+
details: payload,
|
|
21
|
+
});
|
|
22
|
+
function createTgccKillTool(getClient) {
|
|
23
|
+
return {
|
|
24
|
+
name: "tgcc_kill",
|
|
25
|
+
label: "TGCC Kill",
|
|
26
|
+
description: "Kill a running CC process on a TGCC agent, or destroy an ephemeral agent entirely. " +
|
|
27
|
+
"Use destroy=true to remove the agent (only works for ephemeral agents).",
|
|
28
|
+
parameters: TgccKillParams,
|
|
29
|
+
async execute(_toolCallId, params) {
|
|
30
|
+
const p = params;
|
|
31
|
+
const client = getClient();
|
|
32
|
+
if (!client?.isConnected()) {
|
|
33
|
+
return json({ error: "Not connected to TGCC" });
|
|
34
|
+
}
|
|
35
|
+
if (!p.agentId) {
|
|
36
|
+
return json({ error: "agentId is required" });
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
if (p.destroy) {
|
|
40
|
+
const result = await client.destroyAgent(p.agentId);
|
|
41
|
+
return json({ agentId: p.agentId, destroyed: result.destroyed });
|
|
42
|
+
}
|
|
43
|
+
await client.killCC(p.agentId);
|
|
44
|
+
return json({ agentId: p.agentId, killed: true });
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
return json({ error: err instanceof Error ? err.message : String(err) });
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=tgcc-kill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tgcc-kill.js","sourceRoot":"","sources":["../../../../plugin/src/tools/tgcc-kill.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA2BH,gDAkCC;AAxDD,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;QACjE,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mFAAmF;SACjG;KACF;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;CACb,CAAC;AAOX,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,SAAgB,kBAAkB,CAChC,SAA4C;IAE5C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EACT,qFAAqF;YACrF,yEAAyE;QAC3E,UAAU,EAAE,cAAyC;QACrD,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,MAA+B;YAChE,MAAM,CAAC,GAAG,MAA+B,CAAC;YAC1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACpD,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAED,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tgcc_send tool — Send a message to an existing TGCC session.
|
|
3
|
+
*
|
|
4
|
+
* Sends a follow-up message to a running CC process, or starts one
|
|
5
|
+
* if the agent is idle.
|
|
6
|
+
*/
|
|
7
|
+
import type { AnyAgentTool } from "openclaw/plugin-sdk";
|
|
8
|
+
import type { TgccSupervisorClient } from "../client.js";
|
|
9
|
+
export declare function createTgccSendTool(getClient: () => TgccSupervisorClient | null): AnyAgentTool;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* tgcc_send tool — Send a message to an existing TGCC session.
|
|
4
|
+
*
|
|
5
|
+
* Sends a follow-up message to a running CC process, or starts one
|
|
6
|
+
* if the agent is idle.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createTgccSendTool = createTgccSendTool;
|
|
10
|
+
const TgccSendParams = {
|
|
11
|
+
type: "object",
|
|
12
|
+
properties: {
|
|
13
|
+
agentId: { type: "string", description: "TGCC agent ID to send to" },
|
|
14
|
+
text: { type: "string", description: "Message text to send" },
|
|
15
|
+
followUp: {
|
|
16
|
+
type: "boolean",
|
|
17
|
+
description: "If true, send to running CC process (sendToCC). If false or omitted, send as new message (may spawn CC).",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
required: ["agentId", "text"],
|
|
21
|
+
};
|
|
22
|
+
const json = (payload) => ({
|
|
23
|
+
content: [{ type: "text", text: JSON.stringify(payload, null, 2) }],
|
|
24
|
+
details: payload,
|
|
25
|
+
});
|
|
26
|
+
function createTgccSendTool(getClient) {
|
|
27
|
+
return {
|
|
28
|
+
name: "tgcc_send",
|
|
29
|
+
label: "TGCC Send",
|
|
30
|
+
description: "Send a message to a TGCC agent. By default sends a new message (which may spawn " +
|
|
31
|
+
"a CC process if idle). Set followUp=true to send to an already-running CC process.",
|
|
32
|
+
parameters: TgccSendParams,
|
|
33
|
+
async execute(_toolCallId, params) {
|
|
34
|
+
const p = params;
|
|
35
|
+
const client = getClient();
|
|
36
|
+
if (!client?.isConnected()) {
|
|
37
|
+
return json({ error: "Not connected to TGCC" });
|
|
38
|
+
}
|
|
39
|
+
if (!p.agentId || !p.text) {
|
|
40
|
+
return json({ error: "agentId and text are required" });
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
if (p.followUp) {
|
|
44
|
+
const result = await client.sendToCC(p.agentId, p.text);
|
|
45
|
+
return json({ agentId: p.agentId, sent: result.sent, followUp: true });
|
|
46
|
+
}
|
|
47
|
+
const result = await client.sendMessage(p.agentId, p.text, { subscribe: true });
|
|
48
|
+
return json({
|
|
49
|
+
agentId: p.agentId,
|
|
50
|
+
sessionId: result.sessionId,
|
|
51
|
+
state: result.state,
|
|
52
|
+
subscribed: result.subscribed,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
return json({ error: err instanceof Error ? err.message : String(err) });
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=tgcc-send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tgcc-send.js","sourceRoot":"","sources":["../../../../plugin/src/tools/tgcc-send.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA6BH,gDAuCC;AA/DD,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;QACpE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;QAC7D,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0GAA0G;SACxH;KACF;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAQX,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,SAAgB,kBAAkB,CAChC,SAA4C;IAE5C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EACT,kFAAkF;YAClF,oFAAoF;QACtF,UAAU,EAAE,cAAyC;QACrD,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,MAA+B;YAChE,MAAM,CAAC,GAAG,MAA+B,CAAC;YAC1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;oBACxD,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChF,OAAO,IAAI,CAAC;oBACV,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tgcc_spawn tool — Spawn a CC session via TGCC.
|
|
3
|
+
*
|
|
4
|
+
* Sends a task to a TGCC agent, which spawns a Claude Code process.
|
|
5
|
+
* Subscribes to the agent's events so results flow back through the plugin.
|
|
6
|
+
*/
|
|
7
|
+
import type { AnyAgentTool } from "openclaw/plugin-sdk";
|
|
8
|
+
import type { TgccSupervisorClient } from "../client.js";
|
|
9
|
+
export declare function createTgccSpawnTool(getClient: () => TgccSupervisorClient | null, defaultAgent?: string): AnyAgentTool;
|