coaia-visualizer 1.6.2 → 1.6.4
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/cli.ts +11 -5
- package/components/chart-detail-editable.tsx +2 -0
- package/components/chart-detail.tsx +6 -1
- package/components/edit-action-step.tsx +2 -0
- package/components/github-provenance.tsx +226 -0
- package/components/relation-graph.tsx +91 -27
- package/dist/cli.js +9 -5
- package/index.tsx +26 -0
- package/lib/chart-editor.ts +3 -3
- package/lib/github-provenance.ts +316 -0
- package/lib/jsonl-parser.ts +2 -2
- package/lib/types.ts +15 -2
- package/package.json +31 -1
- package/.dockerignore +0 -9
- package/COMPLETE_IMPLEMENTATION_REPORT.md +0 -215
- package/QUICK_START_MCP_TESTING.md +0 -236
- package/STC.md +0 -24
- package/STCGOAL.md +0 -0
- package/STCISSUE.md +0 -48
- package/STCKIN.md +0 -0
- package/STCMASTERY.md +0 -0
- package/STUDY_REPORT.md +0 -510
- package/direct-test.sh +0 -180
- package/docker-compose.test.yml +0 -69
- package/jgwill.coaia-visualizer-8--496dca71-d476-4ac9-ba9f-376add118dd8--260208.txt +0 -2612
- package/mcp/dist/api-client.d.ts +0 -138
- package/mcp/dist/api-client.d.ts.map +0 -1
- package/mcp/dist/api-client.js +0 -115
- package/mcp/dist/api-client.js.map +0 -1
- package/mcp/dist/index.d.ts +0 -2
- package/mcp/dist/index.d.ts.map +0 -1
- package/mcp/dist/index.js +0 -286
- package/mcp/dist/index.js.map +0 -1
- package/mcp/dist/tools/index.d.ts +0 -18
- package/mcp/dist/tools/index.d.ts.map +0 -1
- package/mcp/dist/tools/index.js +0 -322
- package/mcp/dist/tools/index.js.map +0 -1
- package/mcp/package-lock.json +0 -210
- package/test-data/test-master.jsonl +0 -11
- package/test-results/.last-run.json +0 -4
- package/test-scripts/README.md +0 -325
- package/test-scripts/rich-jsonl-preservation.spec.ts +0 -118
- package/test-scripts/run-all-tests.sh +0 -38
- package/test-scripts/test-01-basic-operations.sh +0 -87
- package/test-scripts/test-02-telescope-creation.sh +0 -91
- package/test-scripts/test-03-navigation.sh +0 -87
- package/test-scripts/test-global-cli.spec.ts +0 -220
- package/test-scripts/verify-global-cli.sh +0 -87
package/direct-test.sh
DELETED
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Direct MCP Integration Test
|
|
4
|
-
# Tests the MCP server and Next.js API without Docker complexity
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
echo "========================================="
|
|
9
|
-
echo "Direct MCP Integration Test"
|
|
10
|
-
echo "========================================="
|
|
11
|
-
echo ""
|
|
12
|
-
|
|
13
|
-
PROJECT_DIR="/workspace/repos/jgwill/coaia-visualizer-feat-4"
|
|
14
|
-
cd "$PROJECT_DIR"
|
|
15
|
-
|
|
16
|
-
# Start the Next.js app in the background
|
|
17
|
-
echo "1. Starting Next.js application..."
|
|
18
|
-
timeout 30 npm run dev > /tmp/nextjs.log 2>&1 &
|
|
19
|
-
NEXTJS_PID=$!
|
|
20
|
-
echo " Process ID: $NEXTJS_PID"
|
|
21
|
-
|
|
22
|
-
# Give the app time to start
|
|
23
|
-
sleep 10
|
|
24
|
-
|
|
25
|
-
# Check if the app is responding
|
|
26
|
-
echo "2. Checking Next.js app health..."
|
|
27
|
-
if curl -sf http://localhost:3000/api/charts > /dev/null; then
|
|
28
|
-
echo " ✓ Next.js app is responding"
|
|
29
|
-
else
|
|
30
|
-
echo " ⚠ Warning: App not responding on port 3000, trying port 4321..."
|
|
31
|
-
if curl -sf http://localhost:4321/api/charts > /dev/null; then
|
|
32
|
-
echo " ✓ Next.js app is responding on port 4321"
|
|
33
|
-
else
|
|
34
|
-
echo " ✗ Failed to reach Next.js app"
|
|
35
|
-
kill $NEXTJS_PID 2>/dev/null || true
|
|
36
|
-
exit 1
|
|
37
|
-
fi
|
|
38
|
-
fi
|
|
39
|
-
|
|
40
|
-
API_PORT=3000
|
|
41
|
-
if ! curl -sf http://localhost:3000/api/charts > /dev/null 2>&1; then
|
|
42
|
-
API_PORT=4321
|
|
43
|
-
fi
|
|
44
|
-
|
|
45
|
-
echo ""
|
|
46
|
-
echo "3. Testing MCP API endpoints..."
|
|
47
|
-
echo ""
|
|
48
|
-
|
|
49
|
-
# Test 1: Create a chart
|
|
50
|
-
echo " Test 1: Creating a chart..."
|
|
51
|
-
CHART_RESPONSE=$(curl -s -X POST "http://localhost:$API_PORT/api/charts" \
|
|
52
|
-
-H "Content-Type: application/json" \
|
|
53
|
-
-d '{
|
|
54
|
-
"desiredOutcome": "Test MCP Integration",
|
|
55
|
-
"currentReality": "Starting tests",
|
|
56
|
-
"dueDate": "2026-02-15"
|
|
57
|
-
}')
|
|
58
|
-
|
|
59
|
-
CHART_ID=$(echo "$CHART_RESPONSE" | jq -r '.chart.id' 2>/dev/null)
|
|
60
|
-
|
|
61
|
-
if [ -n "$CHART_ID" ] && [ "$CHART_ID" != "null" ]; then
|
|
62
|
-
echo " ✓ Chart created: $CHART_ID"
|
|
63
|
-
else
|
|
64
|
-
echo " ✗ Failed to create chart"
|
|
65
|
-
echo " Response: $CHART_RESPONSE"
|
|
66
|
-
kill $NEXTJS_PID 2>/dev/null || true
|
|
67
|
-
exit 1
|
|
68
|
-
fi
|
|
69
|
-
|
|
70
|
-
# Test 2: Add action step
|
|
71
|
-
echo ""
|
|
72
|
-
echo " Test 2: Adding action step..."
|
|
73
|
-
ACTION_RESPONSE=$(curl -s -X POST "http://localhost:$API_PORT/api/charts/$CHART_ID" \
|
|
74
|
-
-H "Content-Type: application/json" \
|
|
75
|
-
-d '{
|
|
76
|
-
"addActionStep": {
|
|
77
|
-
"actionName": "Test Action 1",
|
|
78
|
-
"createAsTelescopedChart": false
|
|
79
|
-
}
|
|
80
|
-
}')
|
|
81
|
-
|
|
82
|
-
ACTION_UPDATES=$(echo "$ACTION_RESPONSE" | jq -r '.updates | length' 2>/dev/null || echo "0")
|
|
83
|
-
|
|
84
|
-
if [ "$ACTION_UPDATES" -gt 0 ]; then
|
|
85
|
-
echo " ✓ Action step added"
|
|
86
|
-
else
|
|
87
|
-
echo " ⚠ Could not verify action addition"
|
|
88
|
-
fi
|
|
89
|
-
|
|
90
|
-
# Test 3: Create telescoped chart
|
|
91
|
-
echo ""
|
|
92
|
-
echo " Test 3: Creating telescoped chart..."
|
|
93
|
-
TELESCOPE_RESPONSE=$(curl -s -X POST "http://localhost:$API_PORT/api/charts/$CHART_ID" \
|
|
94
|
-
-H "Content-Type: application/json" \
|
|
95
|
-
-d '{
|
|
96
|
-
"createTelescopedChart": {
|
|
97
|
-
"actionName": "action_Test Action 1"
|
|
98
|
-
}
|
|
99
|
-
}')
|
|
100
|
-
|
|
101
|
-
TELESCOPE_ID=$(echo "$TELESCOPE_RESPONSE" | jq -r '.chart.id' 2>/dev/null)
|
|
102
|
-
|
|
103
|
-
if [ -n "$TELESCOPE_ID" ] && [ "$TELESCOPE_ID" != "null" ]; then
|
|
104
|
-
echo " ✓ Telescoped chart created: $TELESCOPE_ID"
|
|
105
|
-
else
|
|
106
|
-
echo " ⚠ Telescope response: $(echo "$TELESCOPE_RESPONSE" | jq -c . 2>/dev/null || echo "$TELESCOPE_RESPONSE")"
|
|
107
|
-
fi
|
|
108
|
-
|
|
109
|
-
# Test 4: Retrieve parent chart
|
|
110
|
-
echo ""
|
|
111
|
-
echo " Test 4: Retrieving parent chart with subCharts..."
|
|
112
|
-
PARENT_RESPONSE=$(curl -s -X GET "http://localhost:$API_PORT/api/charts/$CHART_ID")
|
|
113
|
-
|
|
114
|
-
SUBCHARTS_COUNT=$(echo "$PARENT_RESPONSE" | jq -r '.chart.subCharts | length' 2>/dev/null || echo "0")
|
|
115
|
-
|
|
116
|
-
if [ "$SUBCHARTS_COUNT" -gt 0 ]; then
|
|
117
|
-
echo " ✓ Parent chart has $SUBCHARTS_COUNT subCharts"
|
|
118
|
-
else
|
|
119
|
-
echo " ⚠ Parent chart subCharts count: $SUBCHARTS_COUNT"
|
|
120
|
-
fi
|
|
121
|
-
|
|
122
|
-
# Test 5: Test MCP server directly (if available)
|
|
123
|
-
echo ""
|
|
124
|
-
echo "4. Testing MCP Server..."
|
|
125
|
-
|
|
126
|
-
if [ -f "$PROJECT_DIR/mcp/dist/index.js" ]; then
|
|
127
|
-
echo " ✓ MCP server built"
|
|
128
|
-
echo ""
|
|
129
|
-
echo " To test MCP server:"
|
|
130
|
-
echo " 1. Build: cd mcp && npm run build"
|
|
131
|
-
echo " 2. Run: node dist/index.js"
|
|
132
|
-
echo " 3. Configure in Claude Desktop"
|
|
133
|
-
else
|
|
134
|
-
echo " ⚠ MCP server not built yet"
|
|
135
|
-
echo " Build with: cd mcp && npm run build"
|
|
136
|
-
fi
|
|
137
|
-
|
|
138
|
-
# Cleanup
|
|
139
|
-
echo ""
|
|
140
|
-
echo "5. Cleaning up..."
|
|
141
|
-
kill $NEXTJS_PID 2>/dev/null || true
|
|
142
|
-
sleep 1
|
|
143
|
-
|
|
144
|
-
echo ""
|
|
145
|
-
echo "========================================="
|
|
146
|
-
echo "Test Results Summary"
|
|
147
|
-
echo "========================================="
|
|
148
|
-
echo "✓ Chart created"
|
|
149
|
-
echo "✓ Action step added"
|
|
150
|
-
if [ -n "$TELESCOPE_ID" ] && [ "$TELESCOPE_ID" != "null" ]; then
|
|
151
|
-
echo "✓ Telescoped chart created"
|
|
152
|
-
fi
|
|
153
|
-
if [ "$SUBCHARTS_COUNT" -gt 0 ]; then
|
|
154
|
-
echo "✓ Parent-child relationship established"
|
|
155
|
-
fi
|
|
156
|
-
echo ""
|
|
157
|
-
echo "All basic tests passed!"
|
|
158
|
-
echo "========================================="
|
|
159
|
-
|
|
160
|
-
# Cleanup
|
|
161
|
-
echo ""
|
|
162
|
-
echo "5. Cleaning up..."
|
|
163
|
-
kill $NEXTJS_PID 2>/dev/null || true
|
|
164
|
-
sleep 1
|
|
165
|
-
|
|
166
|
-
echo ""
|
|
167
|
-
echo "========================================="
|
|
168
|
-
echo "Test Results Summary"
|
|
169
|
-
echo "========================================="
|
|
170
|
-
echo "✓ Chart created"
|
|
171
|
-
echo "✓ Action step added"
|
|
172
|
-
if [ -n "$TELESCOPE_ID" ] && [ "$TELESCOPE_ID" != "null" ]; then
|
|
173
|
-
echo "✓ Telescoped chart created"
|
|
174
|
-
fi
|
|
175
|
-
if [ "$SUBCHARTS_COUNT" -gt 0 ]; then
|
|
176
|
-
echo "✓ Parent-child relationship established"
|
|
177
|
-
fi
|
|
178
|
-
echo ""
|
|
179
|
-
echo "All basic tests passed!"
|
|
180
|
-
echo "========================================="
|
package/docker-compose.test.yml
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
version: '3.8'
|
|
2
|
-
|
|
3
|
-
services:
|
|
4
|
-
# Next.js application server
|
|
5
|
-
visualizer-app:
|
|
6
|
-
build:
|
|
7
|
-
context: .
|
|
8
|
-
dockerfile: Dockerfile.app
|
|
9
|
-
ports:
|
|
10
|
-
- "4321:4321"
|
|
11
|
-
volumes:
|
|
12
|
-
- ./samples:/app/samples:ro
|
|
13
|
-
- ./test-data:/app/test-data
|
|
14
|
-
environment:
|
|
15
|
-
- NODE_ENV=production
|
|
16
|
-
- PORT=4321
|
|
17
|
-
networks:
|
|
18
|
-
- test-network
|
|
19
|
-
healthcheck:
|
|
20
|
-
test: ["CMD", "curl", "-f", "http://localhost:4321/api/charts"]
|
|
21
|
-
interval: 10s
|
|
22
|
-
timeout: 5s
|
|
23
|
-
retries: 5
|
|
24
|
-
|
|
25
|
-
# MCP Server
|
|
26
|
-
mcp-server:
|
|
27
|
-
build:
|
|
28
|
-
context: ./mcp
|
|
29
|
-
dockerfile: Dockerfile
|
|
30
|
-
environment:
|
|
31
|
-
- VISUALIZER_API_URL=http://visualizer-app:4321
|
|
32
|
-
- VISUALIZER_API_KEY=${VISUALIZER_API_KEY:-test-api-key}
|
|
33
|
-
- NODE_ENV=production
|
|
34
|
-
volumes:
|
|
35
|
-
- ./test-data:/data
|
|
36
|
-
networks:
|
|
37
|
-
- test-network
|
|
38
|
-
depends_on:
|
|
39
|
-
visualizer-app:
|
|
40
|
-
condition: service_healthy
|
|
41
|
-
stdin_open: true
|
|
42
|
-
tty: true
|
|
43
|
-
|
|
44
|
-
# Test runner using claude-code CLI or gemini-cli
|
|
45
|
-
test-runner:
|
|
46
|
-
build:
|
|
47
|
-
context: .
|
|
48
|
-
dockerfile: Dockerfile.test
|
|
49
|
-
environment:
|
|
50
|
-
- MCP_SERVER_HOST=mcp-server
|
|
51
|
-
- VISUALIZER_API_URL=http://visualizer-app:4321
|
|
52
|
-
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
53
|
-
- GOOGLE_API_KEY=${GOOGLE_API_KEY}
|
|
54
|
-
volumes:
|
|
55
|
-
- ./test-scripts:/test-scripts:ro
|
|
56
|
-
- ./test-results:/test-results
|
|
57
|
-
- ./test-data:/test-data
|
|
58
|
-
networks:
|
|
59
|
-
- test-network
|
|
60
|
-
depends_on:
|
|
61
|
-
visualizer-app:
|
|
62
|
-
condition: service_healthy
|
|
63
|
-
mcp-server:
|
|
64
|
-
condition: service_started
|
|
65
|
-
command: ["/test-scripts/run-all-tests.sh"]
|
|
66
|
-
|
|
67
|
-
networks:
|
|
68
|
-
test-network:
|
|
69
|
-
driver: bridge
|