@nine-lab/nine-connector 0.1.10 โ†’ 0.1.12

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/README.md CHANGED
@@ -1,64 +1,66 @@
1
1
  cat <<EOF > README.md
2
2
  # @nine-lab/nine-connector ๐Ÿš€
3
3
 
4
- ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ SQL ์ƒ์„ฑ ์—”์ง„(NineQuery)๊ณผ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” **AI ์ „์šฉ DB ์ปค๋„ฅํ„ฐ ์„œ๋น„์Šค**์ž…๋‹ˆ๋‹ค.
4
+ ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ SQL ์ƒ์„ฑ ์—”์ง„(NineQuery)๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” **AI ์ „์šฉ DB ์ปค๋„ฅํ„ฐ ์„œ๋น„์Šค**์ž…๋‹ˆ๋‹ค.
5
5
 
6
- AI๊ฐ€ ์ƒ์„ฑํ•œ SQL์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‹คํ–‰ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ(Schema)๋ฅผ AI์—๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ API ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
6
+ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ(Schema)๋ฅผ ๋ถ„์„ํ•˜์—ฌ AI๊ฐ€ ์ตœ์ ์˜ ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ธŒ๋ฆฟ์ง€ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๋ณด์•ˆ์ด ๊ฒ€์ฆ๋œ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
7
7
 
8
8
  ---
9
9
 
10
10
  ## ๐ŸŒŸ ์ฃผ์š” ๊ธฐ๋Šฅ
11
11
 
12
- * **Multi-DB ์ง€์›**: MySQL, PostgreSQL, MariaDB์™€ ์ฆ‰์‹œ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
13
- * **์Šคํ‚ค๋งˆ ์ž๋™ ์ถ”์ถœ**: AI๊ฐ€ ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ•„์š”ํ•œ ํ…Œ์ด๋ธ” ๋ฐ ์ปฌ๋Ÿผ ์ •๋ณด๋ฅผ API๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
14
- * **๋ณด์•ˆ ๊ฐ€๋“œ**: ์˜ค์ง \`SELECT\` ์ฟผ๋ฆฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ๋ฐ์ดํ„ฐ ๋ณ€์กฐ๋ฅผ ์›์ฒœ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
15
- * **BigInt ๋Œ€์‘**: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํฐ ์ˆซ์žํ˜•(\`BigInt\`) ๋ฐ์ดํ„ฐ๋ฅผ JSON์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
12
+ * **์ž๋™ ์ดˆ๊ธฐํ™”**: \`nine-connector init\` ๋ช…๋ น์œผ๋กœ \`.env\` ์„ค์ •๊ณผ AI ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ์„ ์ฆ‰์‹œ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
13
+ * **Multi-DB ์ง€์›**: MySQL, PostgreSQL, MariaDB, Oracle ๋“ฑ ๋‹ค์–‘ํ•œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ DB ํ™˜๊ฒฝ์— ๋Œ€์‘ํ•ฉ๋‹ˆ๋‹ค.
14
+ * **๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ตœ์ ํ™”**: ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ ์ˆ˜์ •์„ ํ†ตํ•ด ํŠน์ • ํ…Œ์ด๋ธ” ์กฐํšŒ ๊ธˆ์ง€, ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ๊ฐ•์ œ ๋“ฑ ๊ณ ๊ฐ์‚ฌ๋ณ„ ๋งž์ถค ๊ทœ์น™์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
15
+ * **๋ณด์•ˆ ๊ฐ€๋“œ**: ๋‚ด๋ถ€์ ์œผ๋กœ ์˜ค์ง \`SELECT\` ์ฟผ๋ฆฌ๋งŒ ํ—ˆ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณ€์กฐ ๋ฐ ์œ ์ถœ์„ ์›์ฒœ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
16
+ * **์šด์˜ ์•ˆ์ •์„ฑ**: BigInt ์ง๋ ฌํ™” ๋ฐ DB๋ณ„ ๊ฒฐ๊ณผ ํฌ๋งท ์ •๊ทœํ™”๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
16
17
 
17
18
  ---
18
19
 
19
- ## ๐Ÿ›  ์„ค์น˜ ๋ฐ ์‹คํ–‰ ๋ฐฉ๋ฒ•
20
-
21
- ### 1. ์ „์—ญ(Global) ์„ค์น˜
22
- ์–ด๋А ๊ฒฝ๋กœ์—์„œ๋‚˜ ๋ช…๋ น์–ด๋กœ ์ฆ‰์‹œ ๊ธฐ๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ „์—ญ ์„ค์น˜๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
20
+ ## ๐Ÿ›  ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
23
21
 
22
+ ### 1. ํŒจํ‚ค์ง€ ์„ค์น˜
24
23
  \`\`\`bash
25
24
  npm install -g @nine-lab/nine-connector
26
25
  \`\`\`
27
26
 
28
- ### 2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • (\`.env\`)
29
- ์„œ๋ฒ„ ์‹คํ–‰ ์ „, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์† ์ •๋ณด๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ํ•  ๊ฒฝ๋กœ์— \`.env\` ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.
30
-
31
- \`\`\`env
32
- # ์„œ๋ฒ„ ํฌํŠธ (๊ธฐ๋ณธ๊ฐ’: 3000)
33
- SERVER_PORT=3000
34
-
35
- # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •
36
- DB_TYPE=mysql
37
- DB_HOST=127.0.0.1
38
- DB_PORT=3306
39
- DB_USER=your_user
40
- DB_PASS=your_password
41
- DB_NAME=your_database
42
- \`\`\`
43
-
44
- ### 3. ์„œ๋ฒ„ ๊ธฐ๋™
45
- ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
46
-
27
+ ### 2. ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™” (์ตœ์ดˆ 1ํšŒ)
28
+ ์„œ๋ฒ„ ์‹คํ–‰ ์ „ DB ์ ‘์† ์ •๋ณด ๋ฐ ํ”„๋กฌํ”„ํŠธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์œ„ํ•ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
47
29
  \`\`\`bash
48
- nine-connector
30
+ nine-connector init
49
31
  \`\`\`
50
32
 
33
+ ### 3. ์„œ๋ฒ„ ์‹คํ–‰ ๋ฐ ๊ด€๋ฆฌ (PM2 ๊ถŒ์žฅ)
34
+ ์„œ๋ฒ„์˜ ์•ˆ์ •์ ์ธ ๊ธฐ๋™๊ณผ ๋กœ๊ทธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค ์ด๋ฆ„์„ ํŒจํ‚ค์ง€๋ช…๊ณผ ๋™์ผํ•œ **nine-connector**๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
35
+
36
+ * **์„œ๋ฒ„ ์‹œ์ž‘**:
37
+ \`\`\`bash
38
+ pm2 start nine-connector --name "nine-connector"
39
+ \`\`\`
40
+ * **์ƒํƒœ ํ™•์ธ**:
41
+ \`\`\`bash
42
+ pm2 status
43
+ \`\`\`
44
+ * **๋กœ๊ทธ ํ™•์ธ**:
45
+ \`\`\`bash
46
+ pm2 logs nine-connector
47
+ \`\`\`
48
+ * **์„œ๋ฒ„ ์ค‘์ง€/์žฌ์‹œ์ž‘**:
49
+ \`\`\`bash
50
+ pm2 stop nine-connector
51
+ pm2 restart nine-connector
52
+ \`\`\`
53
+
51
54
  ---
52
55
 
53
- ## ๐Ÿ”Œ API ๋ช…์„ธ
56
+ ## ๐Ÿ“‚ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ฐ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
54
57
 
55
- ### 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ์กฐํšŒ
56
- AI ๋ชจ๋ธ์ด ํ˜„์žฌ DB ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
57
- * **Endpoint:** \`GET /api/schema\`
58
+ ๊ธฐ๋ณธ์ ์œผ๋กœ \`nine-query\` ์ปดํฌ๋„ŒํŠธ์™€ ์—ฐ๋™๋˜์–ด ๋™์ž‘ํ•˜๋ฉฐ, ์•„๋ž˜ ํŒŒ์ผ๋“ค์„ ํ†ตํ•ด ์„ธ๋ถ€ ๋™์ž‘์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
58
59
 
59
- ### 2. SQL ์ฟผ๋ฆฌ ์‹คํ–‰
60
- AI๊ฐ€ ์ƒ์„ฑํ•œ SQL์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ์„ ์œ„ํ•ด **SELECT ๋ฌธ**๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.
61
- * **Endpoint:** \`POST /api/query\`
60
+ * **.env**: DB ์ ‘์† ์ •๋ณด ๋ฐ AI ๋ชจ๋ธ(Gemini) ์„ค์ •๊ฐ’
61
+ * **prompts/table-filter.md**: ์งˆ๋ฌธ์— ์ ํ•ฉํ•œ ํ…Œ์ด๋ธ”์„ ์ฐพ์•„๋‚ด๋Š” AI์˜ ํŒ๋‹จ ๋กœ์ง
62
+ * **prompts/query-generator.md**: ์‹ค์ œ SQL์„ ์ƒ์„ฑํ•˜๋Š” AI์˜ ํŽ˜๋ฅด์†Œ๋‚˜ ๋ฐ ๊ทœ์น™
63
+ * **๐Ÿ’ก Tip**: ์ด ํŒŒ์ผ์˜ \`[๊ณ ๊ฐ์‚ฌ ์ „์šฉ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ๋ณด์•ˆ ๊ทœ์น™]\` ์„น์…˜์— "ํŠน์ • ๋ฏผ๊ฐ ํ…Œ์ด๋ธ” ์กฐํšŒ ๊ธˆ์ง€"๋‚˜ "๊ธฐ๋ณธ ์ •๋ ฌ/ํ•„ํ„ฐ๋ง ๊ธฐ์ค€"์„ ๋ช…์‹œํ•˜์—ฌ AI์˜ ๋‹ต๋ณ€์„ ํ†ต์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
62
64
 
63
65
  ---
64
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nine-lab/nine-connector",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "NineQuery AI Connector for Database",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -1,5 +1,5 @@
1
1
  ### SQL_GENERATE_PROMPT
2
- ๋‹น์‹ ์€ SQL ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ์ตœ์ ์˜ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.
2
+ ๋‹น์‹ ์€ SQL ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ํ…Œ์ด๋ธ” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ์ตœ์ ์˜ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.
3
3
 
4
4
  [์„ ํƒ๋œ ํ…Œ์ด๋ธ” ์ •๋ณด]
5
5
  {detailed_schema}
@@ -10,12 +10,15 @@
10
10
  [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํƒ€์ž…]
11
11
  {db_type}
12
12
 
13
- [์‘๋‹ต ๊ทœ์น™]
13
+ [๊ธฐ๋ณธ ์‘๋‹ต ๊ทœ์น™]
14
14
  1. ๋ฐ˜๋“œ์‹œ JSON ํ˜•์‹์œผ๋กœ๋งŒ ์‘๋‹ตํ•˜์„ธ์š”.
15
15
  2. SQL์€ {db_type} ๋ฌธ๋ฒ•์— ์™„๋ฒฝํ•˜๊ฒŒ ๋งž์•„์•ผ ํ•˜๋ฉฐ, ์ฆ‰์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
16
- 3. ์ฟผ๋ฆฌ๋ฌธ ์•ˆ์— ๋งˆํฌ๋‹ค์šด ์ฝ”๋“œ ๋ธ”๋ก(```sql)์„ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”. ์˜ค์ง ์ˆœ์ˆ˜ ๋ฌธ์ž์—ด๋กœ๋งŒ ์ž‘์„ฑํ•˜์„ธ์š”.
17
- 4. ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋„๋ก ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์„ค๋ช…(explanation)์„ ์นœ์ ˆํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์„ธ์š”.
18
- 5. ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ์ด๋‚˜ ํ…Œ์ด๋ธ”์€ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
16
+ 3. ์ฟผ๋ฆฌ๋ฌธ ์•ˆ์— ๋งˆํฌ๋‹ค์šด ์ฝ”๋“œ ๋ธ”๋ก(```sql)์„ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”.
17
+
18
+ [๊ณ ๊ฐ์‚ฌ ์ „์šฉ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ๋ณด์•ˆ ๊ทœ์น™]
19
+ -
20
+ -
21
+ (์—ฌ๊ธฐ์— "ํŠน์ • ํ…Œ์ด๋ธ” ์กฐํšŒ ๊ธˆ์ง€"๋‚˜ "๊ธฐ๋ณธ ์ •๋ ฌ ๊ธฐ์ค€" ๋“ฑ ์ปค์Šคํ…€ ๊ทœ์น™์„ ์ž‘์„ฑํ•˜์„ธ์š”.)
19
22
 
20
23
  [์‘๋‹ต ํฌ๋งท]
21
24
  {{