@fonz/tgcc 0.0.1 → 0.3.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/LICENSE +21 -0
- package/README.md +266 -0
- package/dist/bridge.d.ts +32 -0
- package/dist/bridge.js +1193 -0
- package/dist/bridge.js.map +1 -0
- package/dist/cc-process.d.ts +75 -0
- package/dist/cc-process.js +426 -0
- package/dist/cc-process.js.map +1 -0
- package/dist/cc-protocol.d.ts +255 -0
- package/dist/cc-protocol.js +109 -0
- package/dist/cc-protocol.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +668 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +75 -0
- package/dist/config.js +268 -0
- package/dist/config.js.map +1 -0
- package/dist/ctl-server.d.ts +57 -0
- package/dist/ctl-server.js +98 -0
- package/dist/ctl-server.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-bridge.d.ts +45 -0
- package/dist/mcp-bridge.js +182 -0
- package/dist/mcp-bridge.js.map +1 -0
- package/dist/mcp-server.d.ts +1 -0
- package/dist/mcp-server.js +109 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/service.d.ts +1 -0
- package/dist/service.js +84 -0
- package/dist/service.js.map +1 -0
- package/dist/session.d.ts +71 -0
- package/dist/session.js +438 -0
- package/dist/session.js.map +1 -0
- package/dist/streaming.d.ts +178 -0
- package/dist/streaming.js +814 -0
- package/dist/streaming.js.map +1 -0
- package/dist/telegram-html.d.ts +5 -0
- package/dist/telegram-html.js +120 -0
- package/dist/telegram-html.js.map +1 -0
- package/dist/telegram.d.ts +71 -0
- package/dist/telegram.js +384 -0
- package/dist/telegram.js.map +1 -0
- package/package.json +95 -4
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
export interface TextContent {
|
|
2
|
+
type: 'text';
|
|
3
|
+
text: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ImageContent {
|
|
6
|
+
type: 'image';
|
|
7
|
+
source: {
|
|
8
|
+
type: 'base64';
|
|
9
|
+
media_type: 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp';
|
|
10
|
+
data: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export type ContentBlock = TextContent | ImageContent;
|
|
14
|
+
export interface UserMessage {
|
|
15
|
+
type: 'user';
|
|
16
|
+
message: {
|
|
17
|
+
role: 'user';
|
|
18
|
+
content: string | ContentBlock[];
|
|
19
|
+
};
|
|
20
|
+
uuid: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function createTextMessage(text: string): UserMessage;
|
|
23
|
+
export declare function createImageMessage(text: string, imageBase64: string, mediaType?: ImageContent['source']['media_type']): UserMessage;
|
|
24
|
+
export declare function createDocumentMessage(text: string, filePath: string, fileName: string): UserMessage;
|
|
25
|
+
export declare function serializeMessage(msg: UserMessage): string;
|
|
26
|
+
export interface ControlRequestInitialize {
|
|
27
|
+
type: 'control_request';
|
|
28
|
+
request_id: string;
|
|
29
|
+
request: {
|
|
30
|
+
subtype: 'initialize';
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface PermissionRequest {
|
|
34
|
+
type: 'control_request';
|
|
35
|
+
request_id: string;
|
|
36
|
+
request: {
|
|
37
|
+
subtype: 'can_use_tool';
|
|
38
|
+
tool_name: string;
|
|
39
|
+
input: Record<string, unknown>;
|
|
40
|
+
tool_use_id: string;
|
|
41
|
+
agent_id?: string;
|
|
42
|
+
permission_suggestions?: unknown[];
|
|
43
|
+
blocked_path?: string;
|
|
44
|
+
decision_reason?: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export type ControlRequest = ControlRequestInitialize | PermissionRequest;
|
|
48
|
+
export interface ControlResponse {
|
|
49
|
+
type: 'control_response';
|
|
50
|
+
request_id?: string;
|
|
51
|
+
response: {
|
|
52
|
+
subtype: 'success' | 'error';
|
|
53
|
+
request_id?: string;
|
|
54
|
+
response?: {
|
|
55
|
+
behavior: 'allow' | 'deny';
|
|
56
|
+
updatedInput?: Record<string, unknown>;
|
|
57
|
+
message?: string;
|
|
58
|
+
};
|
|
59
|
+
error?: string;
|
|
60
|
+
[key: string]: unknown;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export declare function createInitializeRequest(): ControlRequestInitialize;
|
|
64
|
+
export declare function createPermissionResponse(requestId: string, allowed: boolean, updatedInput?: Record<string, unknown>): ControlResponse;
|
|
65
|
+
export interface InitEvent {
|
|
66
|
+
type: 'system';
|
|
67
|
+
subtype: 'init';
|
|
68
|
+
cwd: string;
|
|
69
|
+
session_id: string;
|
|
70
|
+
tools: string[];
|
|
71
|
+
model: string;
|
|
72
|
+
uuid: string;
|
|
73
|
+
}
|
|
74
|
+
export interface AssistantTextBlock {
|
|
75
|
+
type: 'text';
|
|
76
|
+
text: string;
|
|
77
|
+
}
|
|
78
|
+
export interface AssistantToolUseBlock {
|
|
79
|
+
type: 'tool_use';
|
|
80
|
+
id: string;
|
|
81
|
+
name: string;
|
|
82
|
+
input: Record<string, unknown>;
|
|
83
|
+
}
|
|
84
|
+
export interface AssistantThinkingBlock {
|
|
85
|
+
type: 'thinking';
|
|
86
|
+
thinking: string;
|
|
87
|
+
}
|
|
88
|
+
export type AssistantContentBlock = AssistantTextBlock | AssistantToolUseBlock | AssistantThinkingBlock;
|
|
89
|
+
export interface AssistantMessage {
|
|
90
|
+
type: 'assistant';
|
|
91
|
+
message: {
|
|
92
|
+
model: string;
|
|
93
|
+
id: string;
|
|
94
|
+
role: 'assistant';
|
|
95
|
+
content: AssistantContentBlock[];
|
|
96
|
+
stop_reason: string | null;
|
|
97
|
+
usage?: {
|
|
98
|
+
input_tokens: number;
|
|
99
|
+
output_tokens: number;
|
|
100
|
+
cache_read_input_tokens?: number;
|
|
101
|
+
cache_creation_input_tokens?: number;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
session_id?: string;
|
|
105
|
+
uuid?: string;
|
|
106
|
+
}
|
|
107
|
+
export interface ToolResultEvent {
|
|
108
|
+
type: 'tool_result';
|
|
109
|
+
tool_use_id: string;
|
|
110
|
+
content: string;
|
|
111
|
+
/** Rich structured metadata from CC's tool_use_result field (teammate_spawned, etc.) */
|
|
112
|
+
tool_use_result?: {
|
|
113
|
+
status?: string;
|
|
114
|
+
name?: string;
|
|
115
|
+
agent_id?: string;
|
|
116
|
+
agent_type?: string;
|
|
117
|
+
color?: string;
|
|
118
|
+
team_name?: string;
|
|
119
|
+
prompt?: string;
|
|
120
|
+
teammate_id?: string;
|
|
121
|
+
[key: string]: unknown;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
export interface ResultEvent {
|
|
125
|
+
type: 'result';
|
|
126
|
+
subtype: 'success' | 'error' | 'error_max_turns' | 'error_input';
|
|
127
|
+
is_error: boolean;
|
|
128
|
+
duration_ms?: number;
|
|
129
|
+
duration_api_ms?: number;
|
|
130
|
+
num_turns?: number;
|
|
131
|
+
result?: string;
|
|
132
|
+
session_id?: string;
|
|
133
|
+
total_cost_usd?: number;
|
|
134
|
+
usage?: {
|
|
135
|
+
input_tokens: number;
|
|
136
|
+
output_tokens: number;
|
|
137
|
+
cache_read_input_tokens?: number;
|
|
138
|
+
cache_creation_input_tokens?: number;
|
|
139
|
+
web_search_requests?: number;
|
|
140
|
+
};
|
|
141
|
+
uuid?: string;
|
|
142
|
+
}
|
|
143
|
+
export interface StreamMessageStart {
|
|
144
|
+
type: 'message_start';
|
|
145
|
+
message: {
|
|
146
|
+
model: string;
|
|
147
|
+
id: string;
|
|
148
|
+
role: 'assistant';
|
|
149
|
+
content: unknown[];
|
|
150
|
+
stop_reason: null;
|
|
151
|
+
usage: Record<string, number>;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export interface StreamContentBlockStartText {
|
|
155
|
+
type: 'content_block_start';
|
|
156
|
+
index: number;
|
|
157
|
+
content_block: {
|
|
158
|
+
type: 'text';
|
|
159
|
+
text: string;
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
export interface StreamContentBlockStartThinking {
|
|
163
|
+
type: 'content_block_start';
|
|
164
|
+
index: number;
|
|
165
|
+
content_block: {
|
|
166
|
+
type: 'thinking';
|
|
167
|
+
thinking: string;
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
export interface StreamContentBlockStartToolUse {
|
|
171
|
+
type: 'content_block_start';
|
|
172
|
+
index: number;
|
|
173
|
+
content_block: {
|
|
174
|
+
type: 'tool_use';
|
|
175
|
+
id: string;
|
|
176
|
+
name: string;
|
|
177
|
+
input: Record<string, unknown>;
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
export type StreamContentBlockStart = StreamContentBlockStartText | StreamContentBlockStartThinking | StreamContentBlockStartToolUse;
|
|
181
|
+
export interface StreamTextDelta {
|
|
182
|
+
type: 'content_block_delta';
|
|
183
|
+
index: number;
|
|
184
|
+
delta: {
|
|
185
|
+
type: 'text_delta';
|
|
186
|
+
text: string;
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
export interface StreamThinkingDelta {
|
|
190
|
+
type: 'content_block_delta';
|
|
191
|
+
index: number;
|
|
192
|
+
delta: {
|
|
193
|
+
type: 'thinking_delta';
|
|
194
|
+
thinking: string;
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
export interface StreamInputJsonDelta {
|
|
198
|
+
type: 'content_block_delta';
|
|
199
|
+
index: number;
|
|
200
|
+
delta: {
|
|
201
|
+
type: 'input_json_delta';
|
|
202
|
+
partial_json: string;
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
export type StreamContentBlockDelta = StreamTextDelta | StreamThinkingDelta | StreamInputJsonDelta;
|
|
206
|
+
export interface StreamContentBlockStop {
|
|
207
|
+
type: 'content_block_stop';
|
|
208
|
+
index: number;
|
|
209
|
+
}
|
|
210
|
+
export interface StreamMessageStop {
|
|
211
|
+
type: 'message_stop';
|
|
212
|
+
}
|
|
213
|
+
export type StreamInnerEvent = StreamMessageStart | StreamContentBlockStart | StreamContentBlockDelta | StreamContentBlockStop | StreamMessageStop;
|
|
214
|
+
export interface StreamEvent {
|
|
215
|
+
type: 'stream_event';
|
|
216
|
+
event: StreamInnerEvent;
|
|
217
|
+
}
|
|
218
|
+
export interface ApiErrorEvent {
|
|
219
|
+
type: 'system';
|
|
220
|
+
subtype: 'api_error';
|
|
221
|
+
level: 'error';
|
|
222
|
+
error: {
|
|
223
|
+
message?: string;
|
|
224
|
+
status?: number;
|
|
225
|
+
[key: string]: unknown;
|
|
226
|
+
};
|
|
227
|
+
retryInMs?: number;
|
|
228
|
+
retryAttempt?: number;
|
|
229
|
+
maxRetries?: number;
|
|
230
|
+
timestamp?: string;
|
|
231
|
+
uuid?: string;
|
|
232
|
+
}
|
|
233
|
+
/** User output message — wraps tool_result content blocks (sub-agent results). */
|
|
234
|
+
export interface UserOutputMessage {
|
|
235
|
+
type: 'user';
|
|
236
|
+
message: {
|
|
237
|
+
role: 'user';
|
|
238
|
+
content: Array<{
|
|
239
|
+
type: string;
|
|
240
|
+
tool_use_id?: string;
|
|
241
|
+
content?: string | Array<{
|
|
242
|
+
type: string;
|
|
243
|
+
text?: string;
|
|
244
|
+
}>;
|
|
245
|
+
is_error?: boolean;
|
|
246
|
+
}>;
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
export type CCOutputEvent = InitEvent | AssistantMessage | UserOutputMessage | ToolResultEvent | ResultEvent | StreamEvent | ControlResponse | ApiErrorEvent | PermissionRequest;
|
|
250
|
+
export declare function parseCCOutputLine(line: string): CCOutputEvent | null;
|
|
251
|
+
export declare function extractAssistantText(msg: AssistantMessage): string;
|
|
252
|
+
export declare function extractToolUses(msg: AssistantMessage): AssistantToolUseBlock[];
|
|
253
|
+
export declare function isStreamTextDelta(event: StreamInnerEvent): event is StreamTextDelta;
|
|
254
|
+
export declare function isStreamThinkingDelta(event: StreamInnerEvent): event is StreamThinkingDelta;
|
|
255
|
+
export declare function getStreamBlockType(event: StreamInnerEvent): string | null;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
export function createTextMessage(text) {
|
|
3
|
+
return {
|
|
4
|
+
type: 'user',
|
|
5
|
+
message: { role: 'user', content: text },
|
|
6
|
+
uuid: uuidv4(),
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function createImageMessage(text, imageBase64, mediaType = 'image/jpeg') {
|
|
10
|
+
const content = [
|
|
11
|
+
{ type: 'text', text },
|
|
12
|
+
{ type: 'image', source: { type: 'base64', media_type: mediaType, data: imageBase64 } },
|
|
13
|
+
];
|
|
14
|
+
return {
|
|
15
|
+
type: 'user',
|
|
16
|
+
message: { role: 'user', content },
|
|
17
|
+
uuid: uuidv4(),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function createDocumentMessage(text, filePath, fileName) {
|
|
21
|
+
const content = `${text}\n\nUser sent a document: ${filePath} (${fileName}). Read and process it.`;
|
|
22
|
+
return createTextMessage(content);
|
|
23
|
+
}
|
|
24
|
+
export function serializeMessage(msg) {
|
|
25
|
+
return JSON.stringify(msg);
|
|
26
|
+
}
|
|
27
|
+
export function createInitializeRequest() {
|
|
28
|
+
return {
|
|
29
|
+
type: 'control_request',
|
|
30
|
+
request_id: uuidv4(),
|
|
31
|
+
request: { subtype: 'initialize' },
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function createPermissionResponse(requestId, allowed, updatedInput) {
|
|
35
|
+
if (allowed) {
|
|
36
|
+
return {
|
|
37
|
+
type: 'control_response',
|
|
38
|
+
response: {
|
|
39
|
+
subtype: 'success',
|
|
40
|
+
request_id: requestId,
|
|
41
|
+
response: {
|
|
42
|
+
behavior: 'allow',
|
|
43
|
+
updatedInput,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
type: 'control_response',
|
|
50
|
+
response: {
|
|
51
|
+
subtype: 'success',
|
|
52
|
+
request_id: requestId,
|
|
53
|
+
response: {
|
|
54
|
+
behavior: 'deny',
|
|
55
|
+
message: 'Denied by user via Telegram',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// ── Parser ──
|
|
61
|
+
export function parseCCOutputLine(line) {
|
|
62
|
+
const trimmed = line.trim();
|
|
63
|
+
if (!trimmed)
|
|
64
|
+
return null;
|
|
65
|
+
try {
|
|
66
|
+
const parsed = JSON.parse(trimmed);
|
|
67
|
+
if (!parsed || typeof parsed.type !== 'string')
|
|
68
|
+
return null;
|
|
69
|
+
switch (parsed.type) {
|
|
70
|
+
case 'system':
|
|
71
|
+
case 'assistant':
|
|
72
|
+
case 'user':
|
|
73
|
+
case 'tool_result':
|
|
74
|
+
case 'result':
|
|
75
|
+
case 'stream_event':
|
|
76
|
+
case 'control_response':
|
|
77
|
+
case 'control_request':
|
|
78
|
+
return parsed;
|
|
79
|
+
default:
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// ── Helpers for extracting text from assistant messages ──
|
|
88
|
+
export function extractAssistantText(msg) {
|
|
89
|
+
return msg.message.content
|
|
90
|
+
.filter((b) => b.type === 'text')
|
|
91
|
+
.map(b => b.text)
|
|
92
|
+
.join('');
|
|
93
|
+
}
|
|
94
|
+
export function extractToolUses(msg) {
|
|
95
|
+
return msg.message.content.filter((b) => b.type === 'tool_use');
|
|
96
|
+
}
|
|
97
|
+
export function isStreamTextDelta(event) {
|
|
98
|
+
return event.type === 'content_block_delta' && event.delta?.type === 'text_delta';
|
|
99
|
+
}
|
|
100
|
+
export function isStreamThinkingDelta(event) {
|
|
101
|
+
return event.type === 'content_block_delta' && event.delta?.type === 'thinking_delta';
|
|
102
|
+
}
|
|
103
|
+
export function getStreamBlockType(event) {
|
|
104
|
+
if (event.type === 'content_block_start') {
|
|
105
|
+
return event.content_block.type;
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=cc-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-protocol.js","sourceRoot":"","sources":["../src/cc-protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED