coaia-visualizer 1.6.2 → 1.6.3

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 (43) hide show
  1. package/package.json +30 -1
  2. package/.dockerignore +0 -9
  3. package/COMPLETE_IMPLEMENTATION_REPORT.md +0 -215
  4. package/Dockerfile +0 -61
  5. package/Dockerfile.app +0 -50
  6. package/QUICK_START_MCP_TESTING.md +0 -236
  7. package/STC.md +0 -24
  8. package/STCGOAL.md +0 -0
  9. package/STCISSUE.md +0 -48
  10. package/STCKIN.md +0 -0
  11. package/STCMASTERY.md +0 -0
  12. package/STUDY_REPORT.md +0 -510
  13. package/direct-test.sh +0 -180
  14. package/docker-build-push.sh +0 -20
  15. package/docker-compose.test.yml +0 -69
  16. package/docker-entrypoint.sh +0 -27
  17. package/jgwill.coaia-visualizer-8--496dca71-d476-4ac9-ba9f-376add118dd8--260208.txt +0 -2612
  18. package/mcp/test_mcp/.gemini/settings.json +0 -18
  19. package/rispecs/README.md +0 -170
  20. package/rispecs/accountability-responsibility.rispec.md +0 -110
  21. package/rispecs/api-mcp-interface.spec.md +0 -287
  22. package/rispecs/app.spec.md +0 -364
  23. package/rispecs/chart-editing-workflow.spec.md +0 -297
  24. package/rispecs/chart-visualization-hierarchy.spec.md +0 -235
  25. package/rispecs/cli-mode.spec.md +0 -224
  26. package/rispecs/github-project-runtime-memory-integration.spec.md +0 -381
  27. package/rispecs/jsonl-parsing-data-types.spec.md +0 -243
  28. package/rispecs/narrative-beats-display.spec.md +0 -189
  29. package/rispecs/pde-integration.spec.md +0 -280
  30. package/rispecs/planning-integration.spec.md +0 -329
  31. package/rispecs/relation-graph-visualization.spec.md +0 -171
  32. package/rispecs/relation-to-mcp-structural-thinking.kin.md +0 -65
  33. package/rispecs/ui-component-library.spec.md +0 -258
  34. package/test-data/test-master.jsonl +0 -11
  35. package/test-results/.last-run.json +0 -4
  36. package/test-scripts/README.md +0 -325
  37. package/test-scripts/rich-jsonl-preservation.spec.ts +0 -118
  38. package/test-scripts/run-all-tests.sh +0 -38
  39. package/test-scripts/test-01-basic-operations.sh +0 -87
  40. package/test-scripts/test-02-telescope-creation.sh +0 -91
  41. package/test-scripts/test-03-navigation.sh +0 -87
  42. package/test-scripts/test-global-cli.spec.ts +0 -220
  43. 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 "========================================="
@@ -1,20 +0,0 @@
1
- #!/bin/bash
2
- # Build and push jgwill/coaia:visualizer to Docker Hub
3
- # Usage: ./docker-build-push.sh [tag]
4
- # Requires: docker login jgwill (or DOCKERHUB_TOKEN env)
5
-
6
- set -e
7
-
8
- TAG="${1:-visualizer}"
9
- IMAGE="jgwill/coaia:$TAG"
10
-
11
- echo "🐳 Building $IMAGE..."
12
- docker build -t "$IMAGE" .
13
-
14
- echo "📤 Pushing $IMAGE..."
15
- docker push "$IMAGE"
16
-
17
- echo "✅ Done: $IMAGE"
18
- echo ""
19
- echo "Run with:"
20
- echo " docker run --rm -p 4321:4321 -v /abs/path/to/file.jsonl:/data/memory.jsonl $IMAGE"
@@ -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
@@ -1,27 +0,0 @@
1
- #!/bin/sh
2
- set -e
3
-
4
- # COAIA Visualizer Docker Entrypoint
5
- # Serves the pre-built Next.js app with the user-supplied JSONL file.
6
- #
7
- # The JSONL file must be mounted into /data/ in the container.
8
- # COAIAV_MEMORY_PATH defaults to /data/memory.jsonl but can be overridden.
9
-
10
- MEMORY_PATH="${COAIAV_MEMORY_PATH:-/data/memory.jsonl}"
11
- PORT="${PORT:-4321}"
12
-
13
- # Validate that the memory file exists (warn but don't block — user may mount it later)
14
- if [ ! -f "$MEMORY_PATH" ]; then
15
- echo "⚠️ Warning: memory file not found at $MEMORY_PATH"
16
- echo " Mount your JSONL file with: -v /your/file.jsonl:$MEMORY_PATH"
17
- fi
18
-
19
- echo "🎨 COAIA Visualizer"
20
- echo "📁 Memory file: $MEMORY_PATH"
21
- echo "🌐 http://localhost:$PORT"
22
- echo ""
23
-
24
- export COAIAV_MEMORY_PATH="$MEMORY_PATH"
25
- export PORT="$PORT"
26
-
27
- exec node_modules/.bin/next start -p "$PORT"