copilot-liku-cli 0.0.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/ARCHITECTURE.md +411 -0
- package/CONFIGURATION.md +302 -0
- package/CONTRIBUTING.md +225 -0
- package/ELECTRON_README.md +121 -0
- package/INSTALLATION.md +350 -0
- package/LICENSE.md +1 -0
- package/PROJECT_STATUS.md +229 -0
- package/QUICKSTART.md +255 -0
- package/README.md +167 -0
- package/TESTING.md +274 -0
- package/package.json +61 -0
- package/scripts/start.js +30 -0
- package/src/assets/tray-icon.png +0 -0
- package/src/cli/commands/agent.js +327 -0
- package/src/cli/commands/click.js +108 -0
- package/src/cli/commands/drag.js +85 -0
- package/src/cli/commands/find.js +109 -0
- package/src/cli/commands/keys.js +132 -0
- package/src/cli/commands/mouse.js +79 -0
- package/src/cli/commands/repl.js +290 -0
- package/src/cli/commands/screenshot.js +72 -0
- package/src/cli/commands/scroll.js +74 -0
- package/src/cli/commands/start.js +67 -0
- package/src/cli/commands/type.js +57 -0
- package/src/cli/commands/wait.js +84 -0
- package/src/cli/commands/window.js +104 -0
- package/src/cli/liku.js +249 -0
- package/src/cli/util/output.js +174 -0
- package/src/main/agents/base-agent.js +410 -0
- package/src/main/agents/builder.js +484 -0
- package/src/main/agents/index.js +62 -0
- package/src/main/agents/orchestrator.js +362 -0
- package/src/main/agents/researcher.js +511 -0
- package/src/main/agents/state-manager.js +344 -0
- package/src/main/agents/supervisor.js +365 -0
- package/src/main/agents/verifier.js +452 -0
- package/src/main/ai-service.js +1633 -0
- package/src/main/index.js +2208 -0
- package/src/main/inspect-service.js +467 -0
- package/src/main/system-automation.js +1186 -0
- package/src/main/ui-automation/config.js +76 -0
- package/src/main/ui-automation/core/helpers.js +41 -0
- package/src/main/ui-automation/core/index.js +15 -0
- package/src/main/ui-automation/core/powershell.js +82 -0
- package/src/main/ui-automation/elements/finder.js +274 -0
- package/src/main/ui-automation/elements/index.js +14 -0
- package/src/main/ui-automation/elements/wait.js +66 -0
- package/src/main/ui-automation/index.js +164 -0
- package/src/main/ui-automation/interactions/element-click.js +211 -0
- package/src/main/ui-automation/interactions/high-level.js +230 -0
- package/src/main/ui-automation/interactions/index.js +47 -0
- package/src/main/ui-automation/keyboard/index.js +15 -0
- package/src/main/ui-automation/keyboard/input.js +179 -0
- package/src/main/ui-automation/mouse/click.js +186 -0
- package/src/main/ui-automation/mouse/drag.js +88 -0
- package/src/main/ui-automation/mouse/index.js +30 -0
- package/src/main/ui-automation/mouse/movement.js +51 -0
- package/src/main/ui-automation/mouse/scroll.js +116 -0
- package/src/main/ui-automation/screenshot.js +183 -0
- package/src/main/ui-automation/window/index.js +23 -0
- package/src/main/ui-automation/window/manager.js +305 -0
- package/src/main/utils/time.js +62 -0
- package/src/main/visual-awareness.js +597 -0
- package/src/renderer/chat/chat.js +671 -0
- package/src/renderer/chat/index.html +725 -0
- package/src/renderer/chat/preload.js +112 -0
- package/src/renderer/overlay/index.html +648 -0
- package/src/renderer/overlay/overlay.js +782 -0
- package/src/renderer/overlay/preload.js +90 -0
- package/src/shared/grid-math.js +82 -0
- package/src/shared/inspect-types.js +230 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
const { contextBridge, ipcRenderer } = require('electron');
|
|
2
|
+
|
|
3
|
+
// Expose protected methods for chat window
|
|
4
|
+
contextBridge.exposeInMainWorld('electronAPI', {
|
|
5
|
+
// ===== MESSAGING =====
|
|
6
|
+
sendMessage: (message) => ipcRenderer.send('chat-message', message),
|
|
7
|
+
|
|
8
|
+
// ===== MODE CONTROL =====
|
|
9
|
+
setMode: (mode) => ipcRenderer.send('set-mode', mode),
|
|
10
|
+
|
|
11
|
+
// ===== WINDOW CONTROLS =====
|
|
12
|
+
minimizeWindow: () => ipcRenderer.send('minimize-chat'),
|
|
13
|
+
hideWindow: () => ipcRenderer.send('hide-chat'),
|
|
14
|
+
|
|
15
|
+
// ===== SCREEN CAPTURE =====
|
|
16
|
+
captureScreen: (options) => ipcRenderer.send('capture-screen', options),
|
|
17
|
+
captureRegion: (x, y, width, height) => ipcRenderer.send('capture-region', { x, y, width, height }),
|
|
18
|
+
|
|
19
|
+
// ===== AI SERVICE CONTROL =====
|
|
20
|
+
setAIProvider: (provider) => ipcRenderer.send('set-ai-provider', provider),
|
|
21
|
+
setProvider: (provider) => ipcRenderer.send('set-ai-provider', provider), // Alias
|
|
22
|
+
setApiKey: (provider, key) => ipcRenderer.send('set-api-key', { provider, key }),
|
|
23
|
+
getAIStatus: () => ipcRenderer.invoke('get-ai-status'),
|
|
24
|
+
checkAuth: (provider) => ipcRenderer.send('check-auth', provider),
|
|
25
|
+
|
|
26
|
+
// ===== AGENTIC ACTIONS =====
|
|
27
|
+
executeActions: (actionData) => ipcRenderer.send('execute-actions', actionData),
|
|
28
|
+
cancelActions: () => ipcRenderer.send('cancel-actions'),
|
|
29
|
+
|
|
30
|
+
// ===== VISUAL AWARENESS =====
|
|
31
|
+
getActiveWindow: () => ipcRenderer.invoke('get-active-window'),
|
|
32
|
+
findElementAt: (x, y) => ipcRenderer.invoke('find-element-at', { x, y }),
|
|
33
|
+
detectUIElements: (options) => ipcRenderer.invoke('detect-ui-elements', options),
|
|
34
|
+
extractText: (options) => ipcRenderer.invoke('extract-text', options),
|
|
35
|
+
analyzeScreen: (options) => ipcRenderer.invoke('analyze-screen', options),
|
|
36
|
+
getScreenDiffHistory: () => ipcRenderer.invoke('get-screen-diff-history'),
|
|
37
|
+
|
|
38
|
+
// ===== EVENT LISTENERS =====
|
|
39
|
+
onDotSelected: (callback) => ipcRenderer.on('dot-selected', (event, data) => callback(data)),
|
|
40
|
+
onAgentResponse: (callback) => ipcRenderer.on('agent-response', (event, data) => callback(data)),
|
|
41
|
+
onAgentTyping: (callback) => ipcRenderer.on('agent-typing', (event, data) => callback(data)),
|
|
42
|
+
onScreenCaptured: (callback) => ipcRenderer.on('screen-captured', (event, data) => callback(data)),
|
|
43
|
+
onVisualContextUpdate: (callback) => ipcRenderer.on('visual-context-update', (event, data) => callback(data)),
|
|
44
|
+
onProviderChanged: (callback) => ipcRenderer.on('provider-changed', (event, data) => callback(data)),
|
|
45
|
+
onScreenAnalysis: (callback) => ipcRenderer.on('screen-analysis', (event, data) => callback(data)),
|
|
46
|
+
onAuthStatus: (callback) => ipcRenderer.on('auth-status', (event, data) => callback(data)),
|
|
47
|
+
onTokenUsage: (callback) => ipcRenderer.on('token-usage', (event, data) => callback(data)),
|
|
48
|
+
|
|
49
|
+
// ===== AGENTIC ACTION EVENTS =====
|
|
50
|
+
onActionExecuting: (callback) => ipcRenderer.on('action-executing', (event, data) => callback(data)),
|
|
51
|
+
onActionProgress: (callback) => ipcRenderer.on('action-progress', (event, data) => callback(data)),
|
|
52
|
+
onActionComplete: (callback) => ipcRenderer.on('action-complete', (event, data) => callback(data)),
|
|
53
|
+
|
|
54
|
+
// ===== SAFETY GUARDRAILS API =====
|
|
55
|
+
// Safe click with pre-analysis and confirmation for risky actions
|
|
56
|
+
safeClickAt: (params) => ipcRenderer.invoke('safe-click-at', params),
|
|
57
|
+
|
|
58
|
+
// Label to pixel coordinate conversion
|
|
59
|
+
labelToCoordinates: (label) => ipcRenderer.invoke('label-to-coordinates', label),
|
|
60
|
+
|
|
61
|
+
// Analyze action safety before execution
|
|
62
|
+
analyzeActionSafety: (params) => ipcRenderer.invoke('analyze-action-safety', params),
|
|
63
|
+
|
|
64
|
+
// Pending action management (for user confirmation flow)
|
|
65
|
+
confirmPendingAction: (actionId) => ipcRenderer.invoke('confirm-pending-action', { actionId }),
|
|
66
|
+
rejectPendingAction: (actionId) => ipcRenderer.invoke('reject-pending-action', { actionId }),
|
|
67
|
+
getPendingAction: () => ipcRenderer.invoke('get-pending-action'),
|
|
68
|
+
|
|
69
|
+
// Safety event listeners
|
|
70
|
+
onActionRequiresConfirmation: (callback) => {
|
|
71
|
+
ipcRenderer.on('action-requires-confirmation', (event, data) => callback(data));
|
|
72
|
+
},
|
|
73
|
+
onActionRejected: (callback) => {
|
|
74
|
+
ipcRenderer.on('action-rejected', (event, data) => callback(data));
|
|
75
|
+
},
|
|
76
|
+
onActionExecuted: (callback) => {
|
|
77
|
+
ipcRenderer.on('action-executed', (event, data) => callback(data));
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
// ===== MULTI-AGENT SYSTEM API =====
|
|
81
|
+
// Spawn a new agent session
|
|
82
|
+
agentSpawn: (params) => ipcRenderer.invoke('agent-spawn', params),
|
|
83
|
+
|
|
84
|
+
// Execute a task with multi-agent orchestration
|
|
85
|
+
agentRun: (params) => ipcRenderer.invoke('agent-run', params),
|
|
86
|
+
|
|
87
|
+
// Research using researcher agent
|
|
88
|
+
agentResearch: (params) => ipcRenderer.invoke('agent-research', params),
|
|
89
|
+
|
|
90
|
+
// Build using builder agent
|
|
91
|
+
agentBuild: (params) => ipcRenderer.invoke('agent-build', params),
|
|
92
|
+
|
|
93
|
+
// Verify using verifier agent
|
|
94
|
+
agentVerify: (params) => ipcRenderer.invoke('agent-verify', params),
|
|
95
|
+
|
|
96
|
+
// Get agent system status
|
|
97
|
+
agentStatus: () => ipcRenderer.invoke('agent-status'),
|
|
98
|
+
|
|
99
|
+
// Reset agent system
|
|
100
|
+
agentReset: () => ipcRenderer.invoke('agent-reset'),
|
|
101
|
+
|
|
102
|
+
// Get handoff history
|
|
103
|
+
agentHandoffs: () => ipcRenderer.invoke('agent-handoffs'),
|
|
104
|
+
|
|
105
|
+
// Agent event listeners
|
|
106
|
+
onAgentEvent: (callback) => {
|
|
107
|
+
ipcRenderer.on('agent-event', (event, data) => callback(data));
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
// ===== STATE =====
|
|
111
|
+
getState: () => ipcRenderer.invoke('get-state')
|
|
112
|
+
});
|