@kiyeonjeon21/datacontext 0.4.0 → 0.4.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/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.1] - 2026-01-01
11
+
12
+ ### Added
13
+ - **Relationships in Knowledge API**: `/api/knowledge` now includes `relationships` array
14
+ - All harvested FK relationships included in knowledge summary
15
+ - VS Code extension can now display relationships in Knowledge panel
16
+
17
+ ### Changed
18
+ - `KnowledgeSummary` type now includes `relationships` and `totalRelationships` stat
19
+
10
20
  ## [0.3.0] - 2025-01-01
11
21
 
12
22
  ### Added
@@ -612,6 +612,15 @@ interface KnowledgeSummary {
612
612
  category?: string;
613
613
  isActive: boolean;
614
614
  }>;
615
+ relationships: Array<{
616
+ id: string;
617
+ from: string;
618
+ to: string;
619
+ type: string;
620
+ joinCondition: string;
621
+ cardinality?: string;
622
+ isPreferred: boolean;
623
+ }>;
615
624
  stats: {
616
625
  totalTables: number;
617
626
  totalExamples: number;
@@ -619,6 +628,7 @@ interface KnowledgeSummary {
619
628
  verifiedExamples: number;
620
629
  activeRules: number;
621
630
  totalTerms: number;
631
+ totalRelationships: number;
622
632
  };
623
633
  }
624
634
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context-service.d.ts","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-service.d.ts","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
@@ -448,6 +448,15 @@ class DataContextService {
448
448
  category: t.category,
449
449
  isActive: t.isActive,
450
450
  })),
451
+ relationships: (data.relationships || []).map((r) => ({
452
+ id: r.id,
453
+ from: `${r.from.schema}.${r.from.table}`,
454
+ to: `${r.to.schema}.${r.to.table}`,
455
+ type: r.relationshipType,
456
+ joinCondition: r.joinCondition,
457
+ cardinality: r.cardinality,
458
+ isPreferred: r.isPreferred ?? false,
459
+ })),
451
460
  stats: {
452
461
  totalTables: data.tables.length,
453
462
  totalExamples: data.queryExamples.length,
@@ -455,6 +464,7 @@ class DataContextService {
455
464
  verifiedExamples: data.queryExamples.filter((e) => e.isVerified).length,
456
465
  activeRules: data.businessRules.filter((r) => r.isActive !== false).length,
457
466
  totalTerms: (data.businessTerms || []).length,
467
+ totalRelationships: (data.relationships || []).length,
458
468
  },
459
469
  };
460
470
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-service.js","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-service.js","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,64 @@
1
1
  # DataContext Demo Script
2
2
 
3
+ > **Version:** 0.4.0
4
+ > **Last Updated:** 2026-01-01
5
+
3
6
  이 문서는 DataContext의 핵심 기능을 보여주는 데모 시나리오입니다.
4
7
  GIF/영상 제작 시 이 순서대로 진행하세요.
5
8
 
9
+ ---
10
+
6
11
  ## 사전 준비
7
12
 
13
+ ### Option 1: PostgreSQL (권장)
14
+
15
+ > ⚠️ **PostgreSQL이 설치되어 있고 실행 중이어야 합니다.**
16
+ > PostgreSQL이 없거나 설정이 어려우면 [Option 2: SQLite](#option-2-sqlite-간편)를 사용하세요.
17
+
18
+ #### Step 1: PostgreSQL 실행
19
+
20
+ **Docker 사용:**
8
21
  ```bash
9
- # 1. 테스트 DB 준비 (PostgreSQL)
10
- psql -c "CREATE DATABASE demo_db"
11
- psql demo_db -c "
22
+ docker run -d \
23
+ --name datacontext-postgres \
24
+ -e POSTGRES_USER=postgres \
25
+ -e POSTGRES_PASSWORD=postgres \
26
+ -e POSTGRES_DB=postgres \
27
+ -p 5432:5432 \
28
+ postgres:15-alpine
29
+
30
+ # 5초 대기 후 진행
31
+ sleep 5
32
+ ```
33
+
34
+ **Podman 사용:**
35
+ ```bash
36
+ # 기존 컨테이너가 있다면 삭제
37
+ podman rm -f datacontext-postgres 2>/dev/null || true
38
+
39
+ podman run -d \
40
+ --name datacontext-postgres \
41
+ -e POSTGRES_USER=postgres \
42
+ -e POSTGRES_PASSWORD=postgres \
43
+ -e POSTGRES_DB=postgres \
44
+ -p 5432:5432 \
45
+ postgres:15-alpine
46
+
47
+ # 5초 대기 후 진행
48
+ sleep 5
49
+ ```
50
+
51
+ #### Step 2: 테스트 DB 생성
52
+
53
+ > ⚠️ **중요:** Docker/Podman 사용 시 반드시 `postgres://...` 연결 문자열을 사용하세요.
54
+ > `psql -c` 형식은 로컬 Unix 소켓을 찾아서 컨테이너에 연결되지 않습니다.
55
+
56
+ ```bash
57
+ # 1. demo_db 생성
58
+ psql postgres://postgres:postgres@localhost:5432/postgres -c "CREATE DATABASE demo_db"
59
+
60
+ # 2. 테이블 생성 및 샘플 데이터 삽입
61
+ psql postgres://postgres:postgres@localhost:5432/demo_db -c "
12
62
  CREATE TABLE users (
13
63
  id SERIAL PRIMARY KEY,
14
64
  email VARCHAR(255) NOT NULL,
@@ -26,6 +76,14 @@ psql demo_db -c "
26
76
  created_at TIMESTAMP DEFAULT NOW()
27
77
  );
28
78
 
79
+ CREATE TABLE order_items (
80
+ id SERIAL PRIMARY KEY,
81
+ order_id INTEGER REFERENCES orders(id),
82
+ product_name VARCHAR(100),
83
+ quantity INTEGER DEFAULT 1,
84
+ price INTEGER NOT NULL
85
+ );
86
+
29
87
  -- Add comments
30
88
  COMMENT ON TABLE users IS 'Core user accounts';
31
89
  COMMENT ON COLUMN users.status IS '1=active, 0=inactive';
@@ -41,36 +99,200 @@ psql demo_db -c "
41
99
  (1, 5000, 'completed'),
42
100
  (1, 15000, 'completed'),
43
101
  (2, 25000, 'pending');
102
+
103
+ INSERT INTO order_items (order_id, product_name, quantity, price) VALUES
104
+ (1, 'Widget', 2, 2500),
105
+ (2, 'Gadget', 1, 15000),
106
+ (3, 'Premium Widget', 5, 5000);
44
107
  "
108
+ ```
45
109
 
46
- # 2. DataContext 서버 시작
110
+ #### Step 3: DataContext 서버 시작
111
+
112
+ ```bash
47
113
  npx @kiyeonjeon21/datacontext serve postgres://postgres:postgres@localhost:5432/demo_db --port 3000
48
114
  ```
49
115
 
116
+ #### 🔧 문제 해결
117
+
118
+ <details>
119
+ <summary><b>오류: connection to server on socket "/tmp/.s.PGSQL.5432" failed</b></summary>
120
+
121
+ **원인:** `psql -c` 또는 `psql demo_db -c` 형식은 로컬 Unix 소켓으로 연결합니다.
122
+ Docker/Podman 컨테이너는 TCP/IP로 연결해야 합니다.
123
+
124
+ **해결:** 전체 연결 문자열 사용:
125
+ ```bash
126
+ # ❌ 잘못된 방법 (Unix 소켓 연결 시도)
127
+ psql -c "CREATE DATABASE demo_db"
128
+ psql demo_db -c "..."
129
+
130
+ # ✅ 올바른 방법 (TCP/IP 연결)
131
+ psql postgres://postgres:postgres@localhost:5432/postgres -c "CREATE DATABASE demo_db"
132
+ psql postgres://postgres:postgres@localhost:5432/demo_db -c "..."
133
+ ```
134
+ </details>
135
+
136
+ <details>
137
+ <summary><b>오류: container name "datacontext-postgres" is already in use</b></summary>
138
+
139
+ ```bash
140
+ # 기존 컨테이너 삭제 후 재생성
141
+ docker rm -f datacontext-postgres # 또는 podman
142
+ ```
143
+ </details>
144
+
145
+ <details>
146
+ <summary><b>오류: port 5432 already in use</b></summary>
147
+
148
+ ```bash
149
+ # 다른 포트 사용 (5433)
150
+ docker run -d \
151
+ --name datacontext-postgres \
152
+ -e POSTGRES_USER=postgres \
153
+ -e POSTGRES_PASSWORD=postgres \
154
+ -e POSTGRES_DB=postgres \
155
+ -p 5433:5432 \
156
+ postgres:15-alpine
157
+
158
+ # 연결 문자열도 포트 변경
159
+ psql postgres://postgres:postgres@localhost:5433/postgres -c "CREATE DATABASE demo_db"
160
+ ```
161
+ </details>
162
+
163
+ ### Option 2: SQLite (간편) ⭐ 추천
164
+
165
+ > 💡 **PostgreSQL 설정 없이 바로 시작하려면 SQLite를 사용하세요!**
166
+ > 추가 설치 없이 macOS/Linux에서 바로 사용 가능합니다.
167
+
168
+ ```bash
169
+ # 1. 테스트 DB 준비 (한 줄로 실행)
170
+ sqlite3 demo.db "
171
+ CREATE TABLE users (
172
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
173
+ email TEXT NOT NULL,
174
+ name TEXT,
175
+ status INTEGER DEFAULT 1
176
+ );
177
+
178
+ CREATE TABLE orders (
179
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
180
+ user_id INTEGER REFERENCES users(id),
181
+ total INTEGER NOT NULL
182
+ );
183
+
184
+ CREATE TABLE order_items (
185
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
186
+ order_id INTEGER REFERENCES orders(id),
187
+ product_name TEXT,
188
+ quantity INTEGER DEFAULT 1
189
+ );
190
+
191
+ INSERT INTO users (email, name, status) VALUES
192
+ ('john@example.com', 'John Doe', 1),
193
+ ('jane@example.com', 'Jane Smith', 1);
194
+
195
+ INSERT INTO orders (user_id, total) VALUES (1, 5000), (2, 15000);
196
+ INSERT INTO order_items (order_id, product_name, quantity) VALUES (1, 'Widget', 2);
197
+ "
198
+
199
+ # 2. DataContext 서버 시작
200
+ npx @kiyeonjeon21/datacontext serve sqlite:./demo.db --port 3000
201
+ ```
202
+
50
203
  ---
51
204
 
52
205
  ## Demo 1: Cold Start → Auto-Harvest (30초)
53
206
 
54
- **목표:** 처음 연결 시 자동으로 메타데이터를 수집하는 것을 보여줌
207
+ **목표:** 처음 연결 시 자동으로 메타데이터와 **관계(Relationships)**를 수집
208
+
209
+ ### 시나리오
55
210
 
56
211
  1. VS Code에서 DataContext Extension 열기
57
212
  2. `Cmd+Shift+P` → "DataContext: Connect to Database"
58
213
  3. `http://localhost:3000` 입력
59
214
  4. 왼쪽 사이드바에 테이블 목록 표시됨
60
215
  5. `Cmd+Shift+P` → "DataContext: Harvest Metadata"
61
- 6. "Harvested 2 tables, 2 descriptions" 메시지 표시
216
+ 6. **"Harvested 3 tables, 2 descriptions, 2 relationships"** 메시지 표시
62
217
  7. Knowledge 패널에 수집된 설명 표시
63
218
 
64
- **녹화 포인트:**
219
+ ### 녹화 포인트
65
220
  - 연결 후 테이블이 나타나는 순간
66
- - Harvest 후 Knowledge가 채워지는 순간
221
+ - Harvest 후 **relationships 수**가 표시되는 것
222
+ - Knowledge가 채워지는 순간
67
223
 
68
224
  ---
69
225
 
70
- ## Demo 2: SQL Autocomplete (30초)
226
+ ## Demo 2: Knowledge Graph - 테이블 관계 시각화 (45초) ✨ NEW
227
+
228
+ **목표:** Knowledge Graph가 테이블 관계를 자동으로 발견하고 시각화
229
+
230
+ ### 시나리오
231
+
232
+ 1. `Cmd+Shift+P` → **"DataContext: Show Table Relationships"**
233
+ 2. Markdown 문서가 열리며 모든 관계 표시:
234
+ ```
235
+ | From | To | Type | Join Condition |
236
+ |------|-----|------|----------------|
237
+ | public.orders | public.users | foreign_key | orders.user_id = users.id |
238
+ | public.order_items | public.orders | foreign_key | order_items.order_id = orders.id |
239
+ ```
240
+ 3. `Cmd+Shift+P` → **"DataContext: Show Knowledge Graph Summary"**
241
+ 4. 통계 표시: "Knowledge Graph: 2 relationships, 3 connected tables"
242
+
243
+ ### 녹화 포인트
244
+ - 관계 테이블이 자동 생성되는 것
245
+ - FK가 자동으로 발견되는 것
246
+
247
+ ---
248
+
249
+ ## Demo 3: Knowledge Graph - Join Path 탐색 (45초) ✨ NEW
250
+
251
+ **목표:** 복잡한 스키마에서 두 테이블 간 조인 경로를 자동으로 찾기
252
+
253
+ ### 시나리오
254
+
255
+ 1. `Cmd+Shift+P` → **"DataContext: Find Join Path"**
256
+ 2. Source table 선택: `order_items`
257
+ 3. Destination table 선택: `users`
258
+ 4. 결과 문서 표시:
259
+ ```markdown
260
+ # 🛤️ Join Path: order_items → users
261
+
262
+ **Hops:** 2
263
+
264
+ ## Path
265
+
266
+ 1. **order_items** → **orders**
267
+ - Join: `order_items.order_id = orders.id`
268
+ - Cardinality: many-to-one
269
+
270
+ 2. **orders** → **users**
271
+ - Join: `orders.user_id = users.id`
272
+ - Cardinality: many-to-one
273
+
274
+ ## SQL Example
275
+
276
+ ```sql
277
+ FROM order_items
278
+ JOIN orders ON order_items.order_id = orders.id
279
+ JOIN users ON orders.user_id = users.id
280
+ ```
281
+ ```
282
+
283
+ ### 녹화 포인트
284
+ - 2-hop 경로가 자동으로 계산되는 것
285
+ - SQL 예시가 바로 생성되는 것
286
+ - "이 테이블들이 어떻게 연결되지?" 질문에 즉시 답변
287
+
288
+ ---
289
+
290
+ ## Demo 4: SQL Autocomplete (30초)
71
291
 
72
292
  **목표:** 스키마 인식 SQL 자동완성
73
293
 
294
+ ### 시나리오
295
+
74
296
  1. 새 파일 생성: `query.sql`
75
297
  2. `SEL` 입력 → SELECT 스니펫 선택
76
298
  3. `FROM u` 입력 → `users` 테이블 자동완성
@@ -82,57 +304,88 @@ npx @kiyeonjeon21/datacontext serve postgres://postgres:postgres@localhost:5432/
82
304
  WHERE users.status = 1
83
305
  ```
84
306
 
85
- **녹화 포인트:**
307
+ ### 녹화 포인트
86
308
  - 테이블 이름 자동완성
87
309
  - 컬럼 목록 (타입, PK 표시)
88
310
  - JOIN 시 연관 테이블 제안
89
311
 
90
312
  ---
91
313
 
92
- ## Demo 3: Hover Descriptions (20초)
314
+ ## Demo 5: Hover Descriptions (20초)
93
315
 
94
316
  **목표:** 테이블/컬럼에 마우스 올리면 비즈니스 설명 표시
95
317
 
318
+ ### 시나리오
319
+
96
320
  1. SQL 파일에서 `users` 테이블에 마우스 hover
97
321
  2. "Core user accounts" 툴팁 표시
98
322
  3. `orders.total`에 마우스 hover
99
323
  4. "Order total in cents" 툴팁 표시
100
324
 
101
- **녹화 포인트:**
325
+ ### 녹화 포인트
102
326
  - Hover 시 Markdown 포맷의 풍부한 툴팁
103
327
 
104
328
  ---
105
329
 
106
- ## Demo 4: AI Context (Cursor에서) (45초)
330
+ ## Demo 6: AI Context with Relationships (60초) ✨ ENHANCED
331
+
332
+ **목표:** AI가 **Knowledge Graph**를 활용하여 정확한 JOIN 생성
107
333
 
108
- **목표:** AI가 비즈니스 컨텍스트를 이해하고 정확한 SQL 생성
334
+ ### Cursor에서 MCP로 테스트
109
335
 
110
- 1. Cursor에서 DataContext MCP 활성화
336
+ 1. Cursor에서 DataContext MCP 활성화 (설정 확인)
111
337
  2. Agent 모드에서 질문:
112
- > "활성 사용자 $100 이상 주문한 사람 조회해줘"
113
- 3. AI 응답:
338
+ > "order_items에서 주문한 사용자 이메일을 조회해줘"
339
+
340
+ 3. AI가 **Knowledge Graph**를 자동으로 참조:
341
+ - `get_context` 호출 → relationships 정보 포함
342
+ - 또는 `find_join_path` 호출 → 경로 자동 발견
343
+
344
+ 4. AI 응답:
114
345
  ```sql
115
- SELECT u.*
116
- FROM users u
117
- JOIN orders o ON o.user_id = u.id
118
- WHERE u.status = 1 -- Active users (from context)
119
- AND u.deleted_at IS NULL -- Soft-delete (from business rule)
120
- GROUP BY u.id
121
- HAVING SUM(o.total) > 10000 -- $100 in cents (from context)
346
+ SELECT u.email, oi.product_name, oi.quantity
347
+ FROM order_items oi
348
+ JOIN orders o ON oi.order_id = o.id -- from Knowledge Graph
349
+ JOIN users u ON o.user_id = u.id -- from Knowledge Graph
122
350
  ```
123
- 4. 컨텍스트 사용됨 표시 (table descriptions, business rules)
124
351
 
125
- **녹화 포인트:**
352
+ 5. AI가 JOIN 조건을 **직접 알고 있음** (스키마 설명 불필요!)
353
+
354
+ ### 복잡한 질문 테스트
355
+
356
+ > "활성 사용자 중 $100 이상 주문한 사람의 주문 상세를 보여줘"
357
+
358
+ AI 응답:
359
+ ```sql
360
+ SELECT
361
+ u.name,
362
+ u.email,
363
+ o.total / 100.0 as total_dollars, -- cents → dollars (from context)
364
+ oi.product_name,
365
+ oi.quantity
366
+ FROM users u
367
+ JOIN orders o ON o.user_id = u.id
368
+ JOIN order_items oi ON oi.order_id = o.id
369
+ WHERE u.status = 1 -- active (from context)
370
+ AND u.deleted_at IS NULL -- soft-delete (from business rule)
371
+ GROUP BY u.id, o.id, oi.id
372
+ HAVING SUM(o.total) > 10000 -- $100 in cents (from context)
373
+ ```
374
+
375
+ ### 녹화 포인트
376
+ - AI가 **JOIN 경로를 자동으로 아는 것** (핵심!)
126
377
  - AI가 status=1이 "active"임을 아는 것
127
378
  - AI가 total이 "cents"임을 아는 것
128
- - 컨텍스트 참조 표시
379
+ - 3개 테이블 JOIN이 자동으로 정확하게 생성되는 것
129
380
 
130
381
  ---
131
382
 
132
- ## Demo 5: Safety Guardrails (30초)
383
+ ## Demo 7: Safety Guardrails (30초)
133
384
 
134
385
  **목표:** 위험한 쿼리 차단
135
386
 
387
+ ### 시나리오
388
+
136
389
  1. Cursor에서:
137
390
  > "users 테이블 전체 삭제해줘"
138
391
  2. AI가 DELETE 쿼리 시도
@@ -141,28 +394,73 @@ npx @kiyeonjeon21/datacontext serve postgres://postgres:postgres@localhost:5432/
141
394
  > "전체 주문 데이터 조회해줘" (LIMIT 없이)
142
395
  5. DataContext가 자동으로 LIMIT 1000 추가
143
396
 
144
- **녹화 포인트:**
397
+ ### 녹화 포인트
145
398
  - 차단 메시지
146
399
  - 자동 LIMIT 추가
147
400
 
148
401
  ---
149
402
 
150
- ## Demo 6: Learning Loop (30초)
403
+ ## Demo 8: Learning Loop (30초)
151
404
 
152
405
  **목표:** 피드백으로 학습
153
406
 
407
+ ### 시나리오
408
+
154
409
  1. AI가 생성한 쿼리에 수정 필요
155
410
  2. 사용자가 `AND created_at > '2024-01-01'` 추가
156
411
  3. "Record Feedback" 실행
157
412
  4. Metrics에서 correction rate 표시
158
413
  5. 다음에 유사한 질문 시 AI가 날짜 필터 제안
159
414
 
160
- **녹화 포인트:**
415
+ ### 녹화 포인트
161
416
  - 수정 전/후 SQL
162
417
  - Metrics 화면
163
418
 
164
419
  ---
165
420
 
421
+ ## REST API 데모 (개발자용)
422
+
423
+ ```bash
424
+ # 1. 테이블 관계 조회
425
+ curl http://localhost:3000/api/relationships | jq
426
+
427
+ # 2. 특정 테이블의 관계만 조회
428
+ curl "http://localhost:3000/api/relationships?table=orders" | jq
429
+
430
+ # 3. 두 테이블 간 JOIN 경로 찾기
431
+ curl "http://localhost:3000/api/relationships/path?from=order_items&to=users" | jq
432
+
433
+ # 4. Knowledge Graph 요약
434
+ curl http://localhost:3000/api/graph/summary | jq
435
+ ```
436
+
437
+ 예상 출력 (`find_join_path`):
438
+ ```json
439
+ {
440
+ "found": true,
441
+ "from": "order_items",
442
+ "to": "users",
443
+ "hops": 2,
444
+ "path": [
445
+ {
446
+ "step": 1,
447
+ "from": "public.order_items",
448
+ "to": "public.orders",
449
+ "joinCondition": "order_items.order_id = orders.id"
450
+ },
451
+ {
452
+ "step": 2,
453
+ "from": "public.orders",
454
+ "to": "public.users",
455
+ "joinCondition": "orders.user_id = users.id"
456
+ }
457
+ ],
458
+ "sqlHint": "FROM order_items\nJOIN orders ON order_items.order_id = orders.id\nJOIN users ON orders.user_id = users.id"
459
+ }
460
+ ```
461
+
462
+ ---
463
+
166
464
  ## GIF 제작 도구
167
465
 
168
466
  ### 추천 도구
@@ -177,20 +475,25 @@ npx @kiyeonjeon21/datacontext serve postgres://postgres:postgres@localhost:5432/
177
475
  - 루프: 무한 반복
178
476
 
179
477
  ### 파일명
180
- - `demo-autocomplete.gif`
181
- - `demo-harvest.gif`
182
- - `demo-ai-context.gif`
183
- - `demo-safety.gif`
478
+ - `demo-harvest.gif` - Harvest + Relationships
479
+ - `demo-knowledge-graph.gif` - 관계 시각화 ✨
480
+ - `demo-join-path.gif` - Join Path 탐색 ✨
481
+ - `demo-autocomplete.gif` - SQL 자동완성
482
+ - `demo-ai-context.gif` - AI + Knowledge Graph ✨
483
+ - `demo-safety.gif` - Safety Guardrails
184
484
 
185
485
  ---
186
486
 
187
487
  ## 영상 제작 (Product Hunt/YouTube)
188
488
 
189
489
  ### 구성 (2분 이내)
190
- 1. **Intro (10초)**: 문제 제시 - "AI에게 매번 스키마 설명하기 지치셨나요?"
191
- 2. **Solution (10초)**: DataContext 소개
192
- 3. **Demo 1-4 (90초)**: 핵심 기능 시연
193
- 4. **Outro (10초)**: CTA - "지금 시작하세요"
490
+
491
+ 1. **Intro (10초)**: 문제 제시 - "AI에게 매번 JOIN 조건 설명하기 지치셨나요?"
492
+ 2. **Solution (10초)**: DataContext 소개 - "Knowledge Graph가 자동으로 테이블 관계를 이해합니다"
493
+ 3. **Demo 1-2 (30초)**: Harvest + Relationship 시각화
494
+ 4. **Demo 3 (30초)**: Join Path 탐색 (핵심 기능!)
495
+ 5. **Demo 6 (30초)**: AI가 Knowledge Graph 활용
496
+ 6. **Outro (10초)**: CTA - "지금 시작하세요"
194
497
 
195
498
  ### 배경음악
196
499
  - 저작권 무료 음악 사용
@@ -202,9 +505,37 @@ npx @kiyeonjeon21/datacontext serve postgres://postgres:postgres@localhost:5432/
202
505
 
203
506
  README 및 마케팅용:
204
507
  - [ ] VS Code Extension 사이드바 (테이블 목록)
508
+ - [ ] **Show Table Relationships** 결과 화면 ✨
509
+ - [ ] **Find Join Path** 결과 화면 ✨
205
510
  - [ ] SQL 자동완성 드롭다운
206
511
  - [ ] Hover 툴팁
207
512
  - [ ] Knowledge 패널 (카테고리별)
208
513
  - [ ] 터미널에서 서버 실행 화면
209
- - [ ] Cursor에서 AI 응답 (컨텍스트 포함)
514
+ - [ ] **Cursor에서 AI 응답 (JOIN 자동 생성)** ✨
515
+ - [ ] REST API 응답 (curl 출력)
516
+
517
+ ---
518
+
519
+ ## 핵심 메시지
520
+
521
+ ### Before DataContext
522
+ ```
523
+ 사용자: "order_items에서 주문한 사용자 이메일 조회해줘"
524
+ AI: "order_items와 users 테이블이 어떻게 연결되어 있나요?"
525
+ 사용자: "order_items는 orders의 order_id를 참조하고, orders는 users의 user_id를 참조해요"
526
+ AI: "감사합니다. 쿼리를 생성합니다..."
527
+ ```
528
+
529
+ ### After DataContext
530
+ ```
531
+ 사용자: "order_items에서 주문한 사용자 이메일 조회해줘"
532
+ AI: [Knowledge Graph 자동 참조]
533
+ "order_items → orders → users 경로를 찾았습니다."
534
+
535
+ SELECT u.email, oi.product_name
536
+ FROM order_items oi
537
+ JOIN orders o ON oi.order_id = o.id
538
+ JOIN users u ON o.user_id = u.id
539
+ ```
210
540
 
541
+ **차이점: AI가 스키마를 이미 알고 있음!** 🎉
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiyeonjeon21/datacontext",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "AI-native database context layer - Make AI understand your data better",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -513,6 +513,15 @@ export class DataContextService {
513
513
  category: t.category,
514
514
  isActive: t.isActive,
515
515
  })),
516
+ relationships: (data.relationships || []).map((r: { id: string; from: { schema: string; table: string }; to: { schema: string; table: string }; relationshipType: string; joinCondition: string; cardinality?: string; isPreferred?: boolean }) => ({
517
+ id: r.id,
518
+ from: `${r.from.schema}.${r.from.table}`,
519
+ to: `${r.to.schema}.${r.to.table}`,
520
+ type: r.relationshipType,
521
+ joinCondition: r.joinCondition,
522
+ cardinality: r.cardinality,
523
+ isPreferred: r.isPreferred ?? false,
524
+ })),
516
525
  stats: {
517
526
  totalTables: data.tables.length,
518
527
  totalExamples: data.queryExamples.length,
@@ -520,6 +529,7 @@ export class DataContextService {
520
529
  verifiedExamples: data.queryExamples.filter((e: { isVerified?: boolean }) => e.isVerified).length,
521
530
  activeRules: data.businessRules.filter((r: { isActive?: boolean }) => r.isActive !== false).length,
522
531
  totalTerms: (data.businessTerms || []).length,
532
+ totalRelationships: (data.relationships || []).length,
523
533
  },
524
534
  };
525
535
  }
@@ -1112,6 +1122,15 @@ interface KnowledgeSummary {
1112
1122
  category?: string;
1113
1123
  isActive: boolean;
1114
1124
  }>;
1125
+ relationships: Array<{
1126
+ id: string;
1127
+ from: string;
1128
+ to: string;
1129
+ type: string;
1130
+ joinCondition: string;
1131
+ cardinality?: string;
1132
+ isPreferred: boolean;
1133
+ }>;
1115
1134
  stats: {
1116
1135
  totalTables: number;
1117
1136
  totalExamples: number;
@@ -1119,6 +1138,7 @@ interface KnowledgeSummary {
1119
1138
  verifiedExamples: number;
1120
1139
  activeRules: number;
1121
1140
  totalTerms: number;
1141
+ totalRelationships: number;
1122
1142
  };
1123
1143
  }
1124
1144