cc-control-agent 2.0.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 (57) hide show
  1. package/dist/auth/device-manager.d.ts +20 -0
  2. package/dist/auth/device-manager.d.ts.map +1 -0
  3. package/dist/auth/device-manager.js +101 -0
  4. package/dist/auth/device-manager.js.map +1 -0
  5. package/dist/auth/user-credentials.d.ts +35 -0
  6. package/dist/auth/user-credentials.d.ts.map +1 -0
  7. package/dist/auth/user-credentials.js +128 -0
  8. package/dist/auth/user-credentials.js.map +1 -0
  9. package/dist/claude/hook-handler.d.ts +27 -0
  10. package/dist/claude/hook-handler.d.ts.map +1 -0
  11. package/dist/claude/hook-handler.js +191 -0
  12. package/dist/claude/hook-handler.js.map +1 -0
  13. package/dist/cli.d.ts +3 -0
  14. package/dist/cli.d.ts.map +1 -0
  15. package/dist/cli.js +195 -0
  16. package/dist/cli.js.map +1 -0
  17. package/dist/command/handler.d.ts +34 -0
  18. package/dist/command/handler.d.ts.map +1 -0
  19. package/dist/command/handler.js +371 -0
  20. package/dist/command/handler.js.map +1 -0
  21. package/dist/command/validator.d.ts +23 -0
  22. package/dist/command/validator.d.ts.map +1 -0
  23. package/dist/command/validator.js +295 -0
  24. package/dist/command/validator.js.map +1 -0
  25. package/dist/communication/websocket-client.d.ts +28 -0
  26. package/dist/communication/websocket-client.d.ts.map +1 -0
  27. package/dist/communication/websocket-client.js +224 -0
  28. package/dist/communication/websocket-client.js.map +1 -0
  29. package/dist/config/default.d.ts +19 -0
  30. package/dist/config/default.d.ts.map +1 -0
  31. package/dist/config/default.js +40 -0
  32. package/dist/config/default.js.map +1 -0
  33. package/dist/index.d.ts +16 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +155 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/session/claude-monitor.d.ts +66 -0
  38. package/dist/session/claude-monitor.d.ts.map +1 -0
  39. package/dist/session/claude-monitor.js +770 -0
  40. package/dist/session/claude-monitor.js.map +1 -0
  41. package/dist/session/monitor.d.ts +22 -0
  42. package/dist/session/monitor.d.ts.map +1 -0
  43. package/dist/session/monitor.js +189 -0
  44. package/dist/session/monitor.js.map +1 -0
  45. package/dist/session/parser.d.ts +51 -0
  46. package/dist/session/parser.d.ts.map +1 -0
  47. package/dist/session/parser.js +139 -0
  48. package/dist/session/parser.js.map +1 -0
  49. package/dist/utils/logger-new.d.ts +1 -0
  50. package/dist/utils/logger-new.d.ts.map +1 -0
  51. package/dist/utils/logger-new.js +2 -0
  52. package/dist/utils/logger-new.js.map +1 -0
  53. package/dist/utils/logger.d.ts +11 -0
  54. package/dist/utils/logger.d.ts.map +1 -0
  55. package/dist/utils/logger.js +37 -0
  56. package/dist/utils/logger.js.map +1 -0
  57. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-monitor.js","sourceRoot":"","sources":["../../src/session/claude-monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { WebSocketClient } from "../communication/websocket-client.js";
2
+ import type { Session } from "cc-control-shared";
3
+ export declare class SessionMonitor {
4
+ private wsClient;
5
+ private config;
6
+ private watcher;
7
+ private parser;
8
+ private sessionCache;
9
+ private debounceTimer;
10
+ constructor(wsClient: WebSocketClient);
11
+ start(): Promise<void>;
12
+ private initializeSessionCache;
13
+ private handleFileChange;
14
+ private processSessionFile;
15
+ private extractSessionId;
16
+ private sendSessionUpdate;
17
+ stop(): Promise<void>;
18
+ getSessionCache(): Map<string, Session>;
19
+ getSession(sessionId: string): Session | undefined;
20
+ getAllSessions(): Session[];
21
+ }
22
+ //# sourceMappingURL=monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/session/monitor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAOjD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,aAAa,CAA0C;gBAEnD,QAAQ,EAAE,eAAe;IAK/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAoCd,sBAAsB;IAgBpC,OAAO,CAAC,gBAAgB;YAwBV,kBAAkB;IAuChC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAoCnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIlD,cAAc,IAAI,OAAO,EAAE;CAG5B"}
@@ -0,0 +1,189 @@
1
+ // ============================================================================
2
+ // Session Monitor - File Watcher for Claude Code Sessions
3
+ // ============================================================================
4
+ import { watch } from "chokidar";
5
+ import { promises as fs } from "fs";
6
+ import { join } from "path";
7
+ import { logger } from "../utils/logger.js";
8
+ import { getConfig } from "../config/default.js";
9
+ import { SessionParser } from "./parser.js";
10
+ export class SessionMonitor {
11
+ wsClient;
12
+ config = getConfig();
13
+ watcher = null;
14
+ parser;
15
+ sessionCache = new Map();
16
+ debounceTimer = new Map();
17
+ constructor(wsClient) {
18
+ this.wsClient = wsClient;
19
+ this.parser = new SessionParser();
20
+ }
21
+ async start() {
22
+ try {
23
+ logger.info(`Starting session monitor for: ${this.config.claudeConfigPath}`);
24
+ // Ensure directory exists
25
+ await fs.mkdir(this.config.claudeConfigPath, { recursive: true });
26
+ // Initialize session cache
27
+ await this.initializeSessionCache();
28
+ // Setup file watcher
29
+ this.watcher = watch(this.config.claudeConfigPath, {
30
+ ignored: /(^|[\/\\])\../, // Ignore dotfiles
31
+ persistent: true,
32
+ ignoreInitial: false,
33
+ awaitWriteFinish: {
34
+ stabilityThreshold: 200,
35
+ pollInterval: 100,
36
+ },
37
+ });
38
+ // Watch for session file changes
39
+ this.watcher
40
+ .on("add", (path) => this.handleFileChange("add", path))
41
+ .on("change", (path) => this.handleFileChange("change", path))
42
+ .on("unlink", (path) => this.handleFileChange("unlink", path))
43
+ .on("error", (error) => logger.error("Watcher error", error))
44
+ .on("ready", () => logger.info("Session watcher ready"));
45
+ logger.info("Session monitor started");
46
+ }
47
+ catch (error) {
48
+ logger.error("Failed to start session monitor", error);
49
+ throw error;
50
+ }
51
+ }
52
+ async initializeSessionCache() {
53
+ try {
54
+ const files = await fs.readdir(this.config.claudeConfigPath);
55
+ const sessionFiles = files.filter((f) => f.endsWith(".json") && f.includes("session"));
56
+ logger.info(`Found ${sessionFiles.length} existing session files`);
57
+ for (const file of sessionFiles) {
58
+ const path = join(this.config.claudeConfigPath, file);
59
+ await this.handleFileChange("add", path);
60
+ }
61
+ }
62
+ catch (error) {
63
+ logger.error("Failed to initialize session cache", error);
64
+ }
65
+ }
66
+ handleFileChange(event, path) {
67
+ // Only process session-related JSON files
68
+ if (!path.endsWith(".json") || !path.includes("session")) {
69
+ return;
70
+ }
71
+ // Debounce rapid file changes
72
+ const existingTimer = this.debounceTimer.get(path);
73
+ if (existingTimer) {
74
+ clearTimeout(existingTimer);
75
+ }
76
+ const timer = setTimeout(async () => {
77
+ try {
78
+ await this.processSessionFile(event, path);
79
+ this.debounceTimer.delete(path);
80
+ }
81
+ catch (error) {
82
+ logger.error(`Failed to process session file: ${path}`, error);
83
+ }
84
+ }, this.config.sessionWatchDebounce);
85
+ this.debounceTimer.set(path, timer);
86
+ }
87
+ async processSessionFile(event, path) {
88
+ try {
89
+ if (event === "unlink") {
90
+ // Session file deleted
91
+ const sessionId = this.extractSessionId(path);
92
+ if (sessionId && this.sessionCache.has(sessionId)) {
93
+ this.sessionCache.delete(sessionId);
94
+ logger.info(`Session removed: ${sessionId}`);
95
+ // Send session update to relay
96
+ this.sendSessionUpdate(sessionId, null);
97
+ }
98
+ return;
99
+ }
100
+ // Read and parse session file
101
+ const content = await fs.readFile(path, "utf-8");
102
+ const session = await this.parser.parseSession(content, path);
103
+ if (session) {
104
+ // Check if session changed
105
+ const cached = this.sessionCache.get(session.id);
106
+ const hasChanged = !cached || JSON.stringify(cached) !== JSON.stringify(session);
107
+ if (hasChanged) {
108
+ this.sessionCache.set(session.id, session);
109
+ logger.debug(`Session updated: ${session.id}`, {
110
+ status: session.status,
111
+ task: session.currentTask?.subject,
112
+ });
113
+ // Send update to relay server
114
+ this.sendSessionUpdate(session.id, session);
115
+ }
116
+ }
117
+ }
118
+ catch (error) {
119
+ logger.error(`Failed to process session file: ${path}`, error);
120
+ }
121
+ }
122
+ extractSessionId(path) {
123
+ // Extract session ID from filename
124
+ // Format: session-{id}.json or similar
125
+ const match = path.match(/session[-_]?([a-zA-Z0-9-]+)/);
126
+ return match ? match[1] : null;
127
+ }
128
+ sendSessionUpdate(sessionId, session) {
129
+ if (!this.wsClient.isConnected()) {
130
+ logger.warn("WebSocket not connected, skipping session update");
131
+ return;
132
+ }
133
+ if (session) {
134
+ this.wsClient.send({
135
+ type: "state:session_update",
136
+ payload: {
137
+ session,
138
+ },
139
+ });
140
+ }
141
+ else {
142
+ // Send session removal notification
143
+ this.wsClient.send({
144
+ type: "state:session_update",
145
+ payload: {
146
+ session: {
147
+ id: sessionId,
148
+ deviceId: "",
149
+ status: "terminated",
150
+ messages: [],
151
+ filesAccessed: [],
152
+ lastActivity: new Date(),
153
+ createdAt: new Date(),
154
+ metadata: {
155
+ workingDirectory: "",
156
+ claudeVersion: "",
157
+ },
158
+ },
159
+ },
160
+ });
161
+ }
162
+ }
163
+ async stop() {
164
+ logger.info("Stopping session monitor...");
165
+ // Clear debounce timers
166
+ for (const timer of this.debounceTimer.values()) {
167
+ clearTimeout(timer);
168
+ }
169
+ this.debounceTimer.clear();
170
+ // Close file watcher
171
+ if (this.watcher) {
172
+ await this.watcher.close();
173
+ this.watcher = null;
174
+ }
175
+ // Clear session cache
176
+ this.sessionCache.clear();
177
+ logger.info("Session monitor stopped");
178
+ }
179
+ getSessionCache() {
180
+ return new Map(this.sessionCache);
181
+ }
182
+ getSession(sessionId) {
183
+ return this.sessionCache.get(sessionId);
184
+ }
185
+ getAllSessions() {
186
+ return Array.from(this.sessionCache.values());
187
+ }
188
+ }
189
+ //# sourceMappingURL=monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/session/monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { Session } from "cc-control-shared";
2
+ export interface ClaudeSessionFile {
3
+ id: string;
4
+ workingDirectory: string;
5
+ createdAt: string;
6
+ lastActivity: string;
7
+ status: string;
8
+ currentTask?: {
9
+ id: string;
10
+ type: string;
11
+ subject: string;
12
+ description?: string;
13
+ status: string;
14
+ progress: number;
15
+ startedAt: string;
16
+ completedAt?: string;
17
+ error?: {
18
+ code: string;
19
+ message: string;
20
+ recoverable: boolean;
21
+ };
22
+ };
23
+ messages: Array<{
24
+ id: string;
25
+ role: "user" | "assistant" | "system";
26
+ content: string;
27
+ timestamp: string;
28
+ toolCalls?: Array<{
29
+ id: string;
30
+ name: string;
31
+ arguments: Record<string, unknown>;
32
+ result?: unknown;
33
+ status: string;
34
+ }>;
35
+ }>;
36
+ filesAccessed: string[];
37
+ metadata?: {
38
+ claudeVersion: string;
39
+ project?: string;
40
+ };
41
+ }
42
+ export declare class SessionParser {
43
+ parseSession(content: string, filePath: string): Promise<Session | null>;
44
+ private mapSessionStatus;
45
+ private mapTask;
46
+ private mapMessage;
47
+ parseLogFile(content: string, sessionId: string): Promise<string[]>;
48
+ extractSessionIdFromPath(filePath: string): string | null;
49
+ validateSession(session: Session): boolean;
50
+ }
51
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/session/parser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,OAAO,CAAC;SACtB,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnC,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,qBAAa,aAAa;IAClB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA6C9E,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,UAAU;IAiBZ,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUzE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASzD,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAgC3C"}
@@ -0,0 +1,139 @@
1
+ // ============================================================================
2
+ // Session Parser - Parse Claude Code Session JSON Files
3
+ // ============================================================================
4
+ import { logger } from "../utils/logger.js";
5
+ export class SessionParser {
6
+ async parseSession(content, filePath) {
7
+ try {
8
+ const rawSession = JSON.parse(content);
9
+ // Validate required fields
10
+ if (!rawSession.id || !rawSession.workingDirectory) {
11
+ logger.warn(`Invalid session file: ${filePath}`);
12
+ return null;
13
+ }
14
+ // Map status
15
+ const status = this.mapSessionStatus(rawSession.status);
16
+ // Map current task
17
+ const currentTask = rawSession.currentTask
18
+ ? this.mapTask(rawSession.currentTask, rawSession.id)
19
+ : undefined;
20
+ // Map messages
21
+ const messages = rawSession.messages.map((msg) => this.mapMessage(msg, rawSession.id));
22
+ // Create session object
23
+ const session = {
24
+ id: rawSession.id,
25
+ deviceId: "", // Will be filled by DeviceManager
26
+ status,
27
+ currentTask,
28
+ messages,
29
+ filesAccessed: rawSession.filesAccessed || [],
30
+ lastActivity: new Date(rawSession.lastActivity),
31
+ createdAt: new Date(rawSession.createdAt),
32
+ metadata: {
33
+ workingDirectory: rawSession.workingDirectory,
34
+ claudeVersion: rawSession.metadata?.claudeVersion || "unknown",
35
+ project: rawSession.metadata?.project,
36
+ },
37
+ };
38
+ return session;
39
+ }
40
+ catch (error) {
41
+ logger.error(`Failed to parse session file: ${filePath}`, error);
42
+ return null;
43
+ }
44
+ }
45
+ mapSessionStatus(status) {
46
+ const validStatuses = [
47
+ "initializing",
48
+ "idle",
49
+ "processing",
50
+ "waiting_input",
51
+ "error",
52
+ "terminated",
53
+ ];
54
+ if (validStatuses.includes(status)) {
55
+ return status;
56
+ }
57
+ // Default to idle for unknown statuses
58
+ return "idle";
59
+ }
60
+ mapTask(rawTask, sessionId) {
61
+ if (!rawTask) {
62
+ return undefined;
63
+ }
64
+ return {
65
+ id: rawTask.id,
66
+ sessionId,
67
+ type: rawTask.type,
68
+ status: rawTask.status,
69
+ progress: rawTask.progress || 0,
70
+ subject: rawTask.subject,
71
+ description: rawTask.description,
72
+ startedAt: new Date(rawTask.startedAt),
73
+ completedAt: rawTask.completedAt ? new Date(rawTask.completedAt) : undefined,
74
+ error: rawTask.error,
75
+ };
76
+ }
77
+ mapMessage(rawMessage, sessionId) {
78
+ return {
79
+ id: rawMessage.id,
80
+ sessionId,
81
+ role: rawMessage.role,
82
+ content: rawMessage.content,
83
+ timestamp: new Date(rawMessage.timestamp),
84
+ toolCalls: rawMessage.toolCalls?.map((call) => ({
85
+ id: call.id,
86
+ name: call.name,
87
+ arguments: call.arguments,
88
+ result: call.result,
89
+ status: call.status,
90
+ })),
91
+ };
92
+ }
93
+ async parseLogFile(content, sessionId) {
94
+ try {
95
+ const lines = content.split("\n").filter((line) => line.trim().length > 0);
96
+ return lines;
97
+ }
98
+ catch (error) {
99
+ logger.error("Failed to parse log file", error);
100
+ return [];
101
+ }
102
+ }
103
+ extractSessionIdFromPath(filePath) {
104
+ // Extract session ID from file path
105
+ // Supports formats like:
106
+ // - /path/to/session-{id}.json
107
+ // - /path/to/sessions/{id}/session.json
108
+ const matches = filePath.match(/session[-_\/]?([a-zA-Z0-9-]+)/);
109
+ return matches ? matches[1] : null;
110
+ }
111
+ validateSession(session) {
112
+ // Validate required fields
113
+ if (!session.id || !session.metadata.workingDirectory) {
114
+ return false;
115
+ }
116
+ // Validate dates
117
+ if (isNaN(session.lastActivity.getTime()) || isNaN(session.createdAt.getTime())) {
118
+ return false;
119
+ }
120
+ // Validate status
121
+ const validStatuses = [
122
+ "initializing",
123
+ "idle",
124
+ "processing",
125
+ "waiting_input",
126
+ "error",
127
+ "terminated",
128
+ ];
129
+ if (!validStatuses.includes(session.status)) {
130
+ return false;
131
+ }
132
+ // Validate messages
133
+ if (!Array.isArray(session.messages)) {
134
+ return false;
135
+ }
136
+ return true;
137
+ }
138
+ }
139
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/session/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=logger-new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-new.d.ts","sourceRoot":"","sources":["../../src/utils/logger-new.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=logger-new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-new.js","sourceRoot":"","sources":["../../src/utils/logger-new.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import pino, { type Logger } from "pino";
2
+ declare const baseLogger: pino.Logger<never, boolean>;
3
+ export declare const logger: {
4
+ debug: (msg: string, obj?: Record<string, unknown>) => void;
5
+ info: (msg: string, obj?: Record<string, unknown>) => void;
6
+ warn: (msg: string, obj?: Record<string, unknown>) => void;
7
+ error: (msg: string, error?: Error | unknown) => void;
8
+ };
9
+ export type { Logger };
10
+ export default baseLogger;
11
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAIA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAIzC,QAAA,MAAM,UAAU,6BAYd,CAAC;AAGH,eAAO,MAAM,MAAM;iBACJ,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBACtC,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBACrC,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iBACpC,MAAM,UAAU,KAAK,GAAG,OAAO;CAS7C,CAAC;AAEF,YAAY,EAAE,MAAM,EAAE,CAAC;AACvB,eAAe,UAAU,CAAC"}
@@ -0,0 +1,37 @@
1
+ // ============================================================================
2
+ // Logger Utility
3
+ // ============================================================================
4
+ import pino from "pino";
5
+ const isDevelopment = process.env.NODE_ENV !== "production";
6
+ const baseLogger = pino({
7
+ level: process.env.LOG_LEVEL || "info",
8
+ transport: isDevelopment
9
+ ? {
10
+ target: "pino-pretty",
11
+ options: {
12
+ colorize: true,
13
+ translateTime: "HH:MM:ss",
14
+ ignore: "pid,hostname",
15
+ },
16
+ }
17
+ : undefined,
18
+ });
19
+ // Create wrapper for consistent logging
20
+ export const logger = {
21
+ debug: (msg, obj) => obj ? baseLogger.debug(obj, msg) : baseLogger.debug(msg),
22
+ info: (msg, obj) => obj ? baseLogger.info(obj, msg) : baseLogger.info(msg),
23
+ warn: (msg, obj) => obj ? baseLogger.warn(obj, msg) : baseLogger.warn(msg),
24
+ error: (msg, error) => {
25
+ if (error instanceof Error) {
26
+ baseLogger.error({ err: error }, msg);
27
+ }
28
+ else if (error) {
29
+ baseLogger.error({ error }, msg);
30
+ }
31
+ else {
32
+ baseLogger.error(msg);
33
+ }
34
+ },
35
+ };
36
+ export default baseLogger;
37
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,OAAO,IAAqB,MAAM,MAAM,CAAC;AAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAE5D,MAAM,UAAU,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IACtC,SAAS,EAAE,aAAa;QACtB,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;aACvB;SACF;QACH,CAAC,CAAC,SAAS;CACd,CAAC,CAAC;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,GAAW,EAAE,GAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/G,IAAI,EAAE,CAAC,GAAW,EAAE,GAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5G,IAAI,EAAE,CAAC,GAAW,EAAE,GAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5G,KAAK,EAAE,CAAC,GAAW,EAAE,KAAuB,EAAE,EAAE;QAC9C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;CACF,CAAC;AAGF,eAAe,UAAU,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "cc-control-agent",
3
+ "version": "2.0.0",
4
+ "description": "CC-Control Desktop Agent - Monitor and control Claude Code sessions remotely",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "bin": {
8
+ "cc-control": "./dist/cli.js"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "package.json"
13
+ ],
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "scripts": {
18
+ "dev": "tsc --watch",
19
+ "build": "tsc",
20
+ "start": "node dist/index.js",
21
+ "cli": "node dist/cli.js",
22
+ "clean": "rm -rf dist",
23
+ "lint": "eslint src --ext .ts",
24
+ "typecheck": "tsc --noEmit"
25
+ },
26
+ "dependencies": {
27
+ "cc-control-shared": "workspace:^",
28
+ "axios": "^1.7.0",
29
+ "chokidar": "^4.0.0",
30
+ "commander": "^12.0.0",
31
+ "pino": "^9.0.0",
32
+ "qrcode": "^1.5.3",
33
+ "socket.io-client": "^4.7.0",
34
+ "zod": "^3.23.0"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^20.0.0",
38
+ "@types/qrcode": "^1.5.5",
39
+ "pino-pretty": "^11.0.0",
40
+ "typescript": "^5.6.0"
41
+ }
42
+ }