SuperCharge Claude Code v1.0.0 - Complete Customization Package
Features: - 30+ Custom Skills (cognitive, development, UI/UX, autonomous agents) - RalphLoop autonomous agent integration - Multi-AI consultation (Qwen) - Agent management system with sync capabilities - Custom hooks for session management - MCP servers integration - Plugin marketplace setup - Comprehensive installation script Components: - Skills: always-use-superpowers, ralph, brainstorming, ui-ux-pro-max, etc. - Agents: 100+ agents across engineering, marketing, product, etc. - Hooks: session-start-superpowers, qwen-consult, ralph-auto-trigger - Commands: /brainstorm, /write-plan, /execute-plan - MCP Servers: zai-mcp-server, web-search-prime, web-reader, zread - Binaries: ralphloop wrapper Installation: ./supercharge.sh
This commit is contained in:
63
skills/dev-browser/extension/utils/logger.ts
Normal file
63
skills/dev-browser/extension/utils/logger.ts
Normal file
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Logger utility for the dev-browser extension.
|
||||
* Logs to console and optionally sends to relay server.
|
||||
*/
|
||||
|
||||
export type LogLevel = "log" | "debug" | "error";
|
||||
|
||||
export interface LogMessage {
|
||||
method: "log";
|
||||
params: {
|
||||
level: LogLevel;
|
||||
args: string[];
|
||||
};
|
||||
}
|
||||
|
||||
export type SendMessageFn = (message: unknown) => void;
|
||||
|
||||
/**
|
||||
* Creates a logger instance that logs to console and sends to relay.
|
||||
*/
|
||||
export function createLogger(sendMessage: SendMessageFn) {
|
||||
function formatArgs(args: unknown[]): string[] {
|
||||
return args.map((arg) => {
|
||||
if (arg === undefined) return "undefined";
|
||||
if (arg === null) return "null";
|
||||
if (typeof arg === "object") {
|
||||
try {
|
||||
return JSON.stringify(arg);
|
||||
} catch {
|
||||
return String(arg);
|
||||
}
|
||||
}
|
||||
return String(arg);
|
||||
});
|
||||
}
|
||||
|
||||
function sendLog(level: LogLevel, args: unknown[]): void {
|
||||
sendMessage({
|
||||
method: "log",
|
||||
params: {
|
||||
level,
|
||||
args: formatArgs(args),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
log: (...args: unknown[]) => {
|
||||
console.log("[dev-browser]", ...args);
|
||||
sendLog("log", args);
|
||||
},
|
||||
debug: (...args: unknown[]) => {
|
||||
console.debug("[dev-browser]", ...args);
|
||||
sendLog("debug", args);
|
||||
},
|
||||
error: (...args: unknown[]) => {
|
||||
console.error("[dev-browser]", ...args);
|
||||
sendLog("error", args);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export type Logger = ReturnType<typeof createLogger>;
|
||||
94
skills/dev-browser/extension/utils/types.ts
Normal file
94
skills/dev-browser/extension/utils/types.ts
Normal file
@@ -0,0 +1,94 @@
|
||||
/**
|
||||
* Types for extension-relay communication
|
||||
*/
|
||||
|
||||
export type ConnectionState =
|
||||
| "disconnected"
|
||||
| "connecting"
|
||||
| "connected"
|
||||
| "reconnecting"
|
||||
| "error";
|
||||
|
||||
export type TabState = "connecting" | "connected" | "error";
|
||||
|
||||
export interface TabInfo {
|
||||
sessionId?: string;
|
||||
targetId?: string;
|
||||
state: TabState;
|
||||
errorText?: string;
|
||||
}
|
||||
|
||||
export interface ExtensionState {
|
||||
tabs: Map<number, TabInfo>;
|
||||
connectionState: ConnectionState;
|
||||
currentTabId?: number;
|
||||
errorText?: string;
|
||||
}
|
||||
|
||||
// Messages from relay to extension
|
||||
export interface ExtensionCommandMessage {
|
||||
id: number;
|
||||
method: "forwardCDPCommand";
|
||||
params: {
|
||||
method: string;
|
||||
params?: Record<string, unknown>;
|
||||
sessionId?: string;
|
||||
};
|
||||
}
|
||||
|
||||
// Messages from extension to relay (responses)
|
||||
export interface ExtensionResponseMessage {
|
||||
id: number;
|
||||
result?: unknown;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
// Messages from extension to relay (events)
|
||||
export interface ExtensionEventMessage {
|
||||
method: "forwardCDPEvent";
|
||||
params: {
|
||||
method: string;
|
||||
params?: Record<string, unknown>;
|
||||
sessionId?: string;
|
||||
};
|
||||
}
|
||||
|
||||
// Log message from extension to relay
|
||||
export interface ExtensionLogMessage {
|
||||
method: "log";
|
||||
params: {
|
||||
level: string;
|
||||
args: string[];
|
||||
};
|
||||
}
|
||||
|
||||
export type ExtensionMessage =
|
||||
| ExtensionResponseMessage
|
||||
| ExtensionEventMessage
|
||||
| ExtensionLogMessage;
|
||||
|
||||
// Chrome debugger target info
|
||||
export interface TargetInfo {
|
||||
targetId: string;
|
||||
type: string;
|
||||
title: string;
|
||||
url: string;
|
||||
attached?: boolean;
|
||||
}
|
||||
|
||||
// Popup <-> Background messaging
|
||||
export interface GetStateMessage {
|
||||
type: "getState";
|
||||
}
|
||||
|
||||
export interface SetStateMessage {
|
||||
type: "setState";
|
||||
isActive: boolean;
|
||||
}
|
||||
|
||||
export interface StateResponse {
|
||||
isActive: boolean;
|
||||
isConnected: boolean;
|
||||
}
|
||||
|
||||
export type PopupMessage = GetStateMessage | SetStateMessage;
|
||||
Reference in New Issue
Block a user