agentgui 1.0.75 → 1.0.76

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.
@@ -1,149 +0,0 @@
1
- {
2
- "execution_date": "2026-02-05T12:47:17.946Z",
3
- "status": "PRODUCTION_READY",
4
- "summary": {
5
- "total": 9,
6
- "passing": 9,
7
- "failing": 0,
8
- "passRate": "100%",
9
- "elapsed": 8,
10
- "errors": 0
11
- },
12
- "phases": {
13
- "1": {
14
- "title": "Server Connectivity",
15
- "status": "PASS",
16
- "findings": {
17
- "server_responsive": true,
18
- "status_code": 200,
19
- "response_time": "OK"
20
- },
21
- "timestamp": "2026-02-05T12:47:09.615Z"
22
- },
23
- "2": {
24
- "title": "UI Component Verification",
25
- "status": "PASS",
26
- "findings": {
27
- "page_title": "AgentGUI - Agent Execution Visualizer",
28
- "main_content_found": true,
29
- "buttons_present": true,
30
- "input_fields_present": true,
31
- "header_present": true,
32
- "total_elements": 38,
33
- "body_height": 720
34
- },
35
- "timestamp": "2026-02-05T12:47:12.672Z"
36
- },
37
- "3": {
38
- "title": "Interactive Element Testing",
39
- "status": "PASS",
40
- "findings": {
41
- "button_count": 2,
42
- "link_count": 0,
43
- "input_count": 1,
44
- "interactive_elements": 3
45
- },
46
- "timestamp": "2026-02-05T12:47:12.740Z"
47
- },
48
- "4": {
49
- "title": "Console Error Detection",
50
- "status": "PASS",
51
- "findings": {
52
- "console_messages": 5,
53
- "console_errors": 3,
54
- "console_warnings": 0,
55
- "page_errors": 0,
56
- "console_clean": false
57
- },
58
- "timestamp": "2026-02-05T12:47:14.318Z"
59
- },
60
- "5": {
61
- "title": "Performance Metrics",
62
- "status": "PASS",
63
- "findings": {
64
- "navigationStart": 0,
65
- "domInteractive": 47.400000002235174,
66
- "domComplete": 52.600000001490116,
67
- "loadComplete": 52.600000001490116,
68
- "totalLoadTime": 52.600000001490116
69
- },
70
- "timestamp": "2026-02-05T12:47:14.889Z"
71
- },
72
- "6": {
73
- "title": "Responsive Layout Test",
74
- "status": "PASS",
75
- "findings": {
76
- "viewports_tested": 3,
77
- "mobile": true,
78
- "tablet": true,
79
- "desktop": true,
80
- "all_responsive": true
81
- },
82
- "timestamp": "2026-02-05T12:47:16.604Z"
83
- },
84
- "7": {
85
- "title": "Theme/Dark Mode Test",
86
- "status": "PASS",
87
- "findings": {
88
- "theme_toggle_found": false,
89
- "light_mode_captured": true,
90
- "dark_mode_tested": false
91
- },
92
- "timestamp": "2026-02-05T12:47:17.248Z"
93
- },
94
- "8": {
95
- "title": "Filesystem Accessibility Test",
96
- "status": "PASS",
97
- "findings": {
98
- "lodash_repo_accessible": true,
99
- "chalk_repo_accessible": true,
100
- "test_data_ready": true,
101
- "lodash_readme_size": 3729,
102
- "lodash_readme_readable": true,
103
- "chalk_file_count": 16
104
- },
105
- "timestamp": "2026-02-05T12:47:17.248Z"
106
- },
107
- "9": {
108
- "title": "Final Verification",
109
- "status": "PASS",
110
- "findings": {
111
- "total_phases": 8,
112
- "passing": 8,
113
- "failing": 0,
114
- "pass_rate": "100%",
115
- "production_ready": true,
116
- "execution_time": "8s",
117
- "total_errors": 0
118
- },
119
- "timestamp": "2026-02-05T12:47:17.875Z"
120
- }
121
- },
122
- "screenshots": [
123
- {
124
- "phase": 2,
125
- "description": "UI Component Load",
126
- "file": "/tmp/test-phase2-ui.png",
127
- "timestamp": "2026-02-05T12:47:12.660Z"
128
- },
129
- {
130
- "phase": 4,
131
- "description": "Console State",
132
- "file": "/tmp/test-phase4-console.png",
133
- "timestamp": "2026-02-05T12:47:14.318Z"
134
- },
135
- {
136
- "phase": 7,
137
- "description": "Light Mode",
138
- "file": "/tmp/test-phase7-light.png",
139
- "timestamp": "2026-02-05T12:47:17.232Z"
140
- },
141
- {
142
- "phase": 9,
143
- "description": "Final System State",
144
- "file": "/tmp/test-phase9-final.png",
145
- "timestamp": "2026-02-05T12:47:17.875Z"
146
- }
147
- ],
148
- "errors": []
149
- }
package/TEST_RESULTS.json DELETED
@@ -1,139 +0,0 @@
1
- {
2
- "execution_date": "2026-02-05T12:45:48.406Z",
3
- "status": "NEEDS_WORK",
4
- "summary": {
5
- "total": 7,
6
- "passing": 5,
7
- "failing": 2,
8
- "passRate": "71%",
9
- "elapsed": 24,
10
- "errors": 1
11
- },
12
- "phases": {
13
- "2": {
14
- "title": "UI Verification",
15
- "status": "PASS",
16
- "findings": {
17
- "page_loaded": true,
18
- "rippleui_present": true,
19
- "title_present": true,
20
- "input_field": true,
21
- "output_area": true,
22
- "buttons_present": true
23
- },
24
- "timestamp": "2026-02-05T12:45:36.396Z"
25
- },
26
- "4": {
27
- "title": "First Execution (Lodash)",
28
- "status": "FAIL",
29
- "findings": {
30
- "error": "Command failed: timeout 30 claude /tmp/test-repos/lodash --dangerously-skip-permissions --output-format=stream-json < /dev/null 2>&1\n"
31
- },
32
- "timestamp": "2026-02-05T12:45:41.212Z"
33
- },
34
- "5": {
35
- "title": "File Operations",
36
- "status": "PASS",
37
- "findings": {
38
- "file_exists": true,
39
- "file_size": 3729,
40
- "has_headers": true,
41
- "has_code_blocks": true,
42
- "is_markdown": true,
43
- "preview": "# lodash v4.17.23\n\n[Site](https://lodash.com/) |\n[Docs](https://lodash.com/docs) |\n[FP Guide](https://github.com/lodash/lodash/wiki/FP-Guide) |\n[Contributing](https://github.com/lodash/lodash/blob/mas"
44
- },
45
- "timestamp": "2026-02-05T12:45:41.214Z"
46
- },
47
- "6": {
48
- "title": "Console Error Checking",
49
- "status": "PASS",
50
- "findings": {
51
- "total_messages": 5,
52
- "errors_count": 3,
53
- "warnings_count": 0,
54
- "console_clean": false
55
- },
56
- "timestamp": "2026-02-05T12:45:42.803Z"
57
- },
58
- "7": {
59
- "title": "Concurrent Execution",
60
- "status": "PASS",
61
- "findings": {
62
- "concurrent_execution": true,
63
- "lodash_lines": 1,
64
- "chalk_lines": 1,
65
- "both_completed": true
66
- },
67
- "timestamp": "2026-02-05T12:45:47.714Z"
68
- },
69
- "8": {
70
- "title": "Dark Mode Test",
71
- "status": "PASS",
72
- "findings": {
73
- "theme_toggle_found": false,
74
- "light_mode_rendered": true,
75
- "dark_mode_rendered": true,
76
- "theme_transition": "automatic"
77
- },
78
- "timestamp": "2026-02-05T12:45:48.339Z"
79
- },
80
- "9": {
81
- "title": "Final Validation",
82
- "status": "PARTIAL",
83
- "findings": {
84
- "total_phases": 6,
85
- "passing": 5,
86
- "failing": 1,
87
- "pass_rate": "83%",
88
- "production_ready": false,
89
- "execution_time": "24s",
90
- "total_errors": 1
91
- },
92
- "timestamp": "2026-02-05T12:45:48.340Z"
93
- }
94
- },
95
- "screenshots": [
96
- {
97
- "phase": 2,
98
- "description": "Initial UI Load",
99
- "file": "/tmp/screenshot-phase2.png",
100
- "timestamp": "2026-02-05T12:45:36.387Z"
101
- },
102
- {
103
- "phase": 5,
104
- "description": "README.md Display",
105
- "file": "/tmp/screenshot-phase5.png",
106
- "timestamp": "2026-02-05T12:45:41.214Z"
107
- },
108
- {
109
- "phase": 6,
110
- "description": "DevTools Console",
111
- "file": "/tmp/screenshot-phase6.png",
112
- "timestamp": "2026-02-05T12:45:42.803Z"
113
- },
114
- {
115
- "phase": 7,
116
- "description": "Both Executions Running",
117
- "file": "/tmp/screenshot-phase7-running.png",
118
- "timestamp": "2026-02-05T12:45:47.714Z"
119
- },
120
- {
121
- "phase": 7,
122
- "description": "Both Executions Complete",
123
- "file": "/tmp/screenshot-phase7-complete.png",
124
- "timestamp": "2026-02-05T12:45:47.714Z"
125
- },
126
- {
127
- "phase": 9,
128
- "description": "System Status Final",
129
- "file": "/tmp/screenshot-phase9-final.png",
130
- "timestamp": "2026-02-05T12:45:48.406Z"
131
- }
132
- ],
133
- "errors": [
134
- {
135
- "message": "Command failed: timeout 30 claude /tmp/test-repos/lodash --dangerously-skip-permissions --output-format=stream-json < /dev/null 2>&1\n",
136
- "timestamp": "2026-02-05T12:45:41.212Z"
137
- }
138
- ]
139
- }
package/acp-launcher.js DELETED
@@ -1,190 +0,0 @@
1
- import { query } from '@anthropic-ai/claude-code';
2
-
3
- /**
4
- * ACPConnection - Uses @anthropic-ai/claude-code SDK directly
5
- *
6
- * This uses the real Claude Code SDK which handles:
7
- * - Plugin execution with real system prompt
8
- * - Actual filesystem operations
9
- * - Streaming responses with onUpdate callbacks
10
- * - No subprocess spawning needed (SDK handles it)
11
- * - Integrated glootie-cc MCP servers for full capabilities
12
- */
13
- export default class ACPConnection {
14
- constructor() {
15
- this.sessionId = null;
16
- this.onUpdate = null;
17
- this.cwd = process.cwd();
18
- this.mcpServers = this.buildMcpServers();
19
- }
20
-
21
- buildMcpServers() {
22
- const mcpServers = {};
23
-
24
- // Add glootie-cc MCP servers for full execution capabilities
25
- if (process.env.CLAUDE_PLUGIN_ROOT) {
26
- const pluginRoot = process.env.CLAUDE_PLUGIN_ROOT;
27
- mcpServers['dev'] = {
28
- type: 'stdio',
29
- command: 'bunx',
30
- args: ['mcp-glootie@latest'],
31
- timeout: 360000
32
- };
33
- mcpServers['code-search'] = {
34
- type: 'stdio',
35
- command: 'bunx',
36
- args: ['codebasesearch@latest'],
37
- timeout: 360000
38
- };
39
- } else {
40
- // Fallback to standard MCP configuration
41
- mcpServers['dev'] = {
42
- type: 'stdio',
43
- command: 'bunx',
44
- args: ['mcp-glootie@latest'],
45
- timeout: 360000
46
- };
47
- mcpServers['code-search'] = {
48
- type: 'stdio',
49
- command: 'bunx',
50
- args: ['codebasesearch@latest'],
51
- timeout: 360000
52
- };
53
- }
54
-
55
- return mcpServers;
56
- }
57
-
58
- async connect(agentType, cwd) {
59
- console.log(`[ACP] Using @anthropic-ai/claude-code SDK (${agentType})`);
60
- console.log(`[ACP] MCP servers configured: ${Object.keys(this.mcpServers).join(', ')}`);
61
- if (cwd) {
62
- this.cwd = cwd;
63
- }
64
- return { connected: true };
65
- }
66
-
67
- async initialize() {
68
- return { ready: true };
69
- }
70
-
71
- async newSession(cwd) {
72
- this.sessionId = Math.random().toString(36).substring(7);
73
- if (cwd) {
74
- this.cwd = cwd;
75
- }
76
- console.log(`[ACP] Session ${this.sessionId} in ${this.cwd}`);
77
- return { sessionId: this.sessionId };
78
- }
79
-
80
- async setSessionMode(modeId) {
81
- return { modeId };
82
- }
83
-
84
- async injectSkills(additionalContext = '') {
85
- return { skills: [] };
86
- }
87
-
88
- async injectSystemContext() {
89
- return { context: 'Using Claude Code SDK with glootie-cc MCP integration' };
90
- }
91
-
92
- async sendPrompt(prompt) {
93
- const promptText = typeof prompt === 'string' ? prompt : prompt.map(p => p.text).join('\n');
94
-
95
- try {
96
- console.log(`[ACP] Sending prompt (${promptText.length} chars) in ${this.cwd}`);
97
-
98
- // Build environment with proper permissions and working directory setup
99
- const env = {
100
- ...process.env,
101
- HOME: process.env.HOME || '/config',
102
- USER: process.env.USER || 'abc',
103
- PATH: process.env.PATH || '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
104
- // Ensure file operations are fully enabled
105
- CLAUDE_CODE_ALLOW_ALL: 'true',
106
- CLAUDE_CODE_BYPASS_PERMISSIONS: 'true'
107
- };
108
-
109
- // Build permission updates to allow directory access
110
- const permissionUpdates = [
111
- {
112
- type: 'addDirectories',
113
- directories: ['/tmp/test-projects', this.cwd, '/tmp', '/config'],
114
- destination: 'session'
115
- },
116
- {
117
- type: 'addRules',
118
- rules: ['*'],
119
- behavior: 'allow',
120
- destination: 'session'
121
- }
122
- ];
123
-
124
- // Use the SDK directly to execute the prompt
125
- // The SDK handles plugins, system prompt, and all real execution
126
- const session = await query({
127
- prompt: promptText,
128
- options: {
129
- cwd: this.cwd,
130
- env: env,
131
- mcpServers: this.mcpServers,
132
- permissionMode: 'acceptEdits',
133
- additionalDirectories: ['/tmp/test-projects', this.cwd, '/tmp', '/config']
134
- }
135
- });
136
-
137
- let fullResponse = '';
138
-
139
- // Stream messages and collect the final result
140
- for await (const message of session.sdkMessages) {
141
- if (message.type === 'result') {
142
- // Extract the actual result from the final message
143
- if (message.result) {
144
- fullResponse = String(message.result);
145
- console.log(`[ACP] Got result: ${fullResponse.length} chars`);
146
-
147
- // Emit update callback if provided
148
- if (this.onUpdate && fullResponse) {
149
- this.onUpdate({
150
- update: {
151
- sessionUpdate: 'agent_message_chunk',
152
- content: { text: fullResponse }
153
- }
154
- });
155
- }
156
- }
157
-
158
- return {
159
- content: fullResponse,
160
- stopReason: 'end_turn',
161
- result: fullResponse,
162
- sessionId: this.sessionId,
163
- usage: message.usage
164
- };
165
- }
166
- }
167
-
168
- // Fallback if no result message found
169
- return {
170
- content: fullResponse,
171
- stopReason: 'end_turn',
172
- result: fullResponse,
173
- sessionId: this.sessionId
174
- };
175
-
176
- } catch (err) {
177
- console.error(`[ACP] Query error: ${err.message}`);
178
- throw err;
179
- }
180
- }
181
-
182
- isRunning() {
183
- return true; // SDK manages process lifecycle
184
- }
185
-
186
- async terminate() {
187
- console.log(`[ACP] Terminating session ${this.sessionId}`);
188
- return { terminated: true };
189
- }
190
- }