flame-ai 1.0.0

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 (4) hide show
  1. package/README.md +82 -0
  2. package/index.js +90 -0
  3. package/package.json +12 -0
  4. package/test.js +18 -0
package/README.md ADDED
@@ -0,0 +1,82 @@
1
+ # FlameAI Module
2
+
3
+ ## ๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ
4
+
5
+ ### ์„ค์น˜
6
+
7
+ ```bash
8
+ npm install flame-ai
9
+ ```
10
+
11
+ ## ๐Ÿ› ๏ธ ์‚ฌ์šฉ๋ฒ•
12
+
13
+ ### 1. ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
14
+
15
+ ```javascript
16
+ const flameAI = require("flame-ai");
17
+ ```
18
+
19
+ ### 2. ์ฑ„ํŒ… ์„ธ์…˜ ์ƒ์„ฑ (`createChat`)
20
+
21
+ ์ƒˆ๋กœ์šด AI ๋Œ€ํ™” ์„ธ์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. AI์˜ ์—ญํ• ๊ณผ ์œ ์ €์˜ ํŽ˜๋ฅด์†Œ๋‚˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
22
+
23
+ ```javascript
24
+ const prompt = {
25
+ bot_role: "๋„ˆ๋Š” ์นœ์ ˆํ•œ ๊ณ ์–‘์ด ์ฝ”๋”ฉ ๋„์šฐ๋ฏธ์•ผ. ๋ง ๋๋งˆ๋‹ค '๋ƒฅ'์„ ๋ถ™์—ฌ์ค˜.",
26
+ user_role: "ํ•™์ƒ"
27
+ };
28
+
29
+ try {
30
+ const chatInfo = await flameAI.createChat(prompt);
31
+ console.log("์ƒ์„ฑ๋œ ์„ธ์…˜ ID:", chatInfo.chatId);
32
+ } catch (error) {
33
+ console.error("์„ธ์…˜ ์ƒ์„ฑ ์‹คํŒจ:", error.message);
34
+ }
35
+ ```
36
+
37
+ ### 3. ๋ฉ”์‹œ์ง€ ์ „์†ก (`sendMessage`)
38
+
39
+ ์ƒ์„ฑ๋œ `chatId`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AI์™€ ๋Œ€ํ™”๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค.
40
+
41
+ ```javascript
42
+ const chatId = "์ƒ์„ฑ๋ฐ›์€_chatID"; // createChat์—์„œ ๋ฐ˜ํ™˜๋œ chatId
43
+ const data = {
44
+ message: "์•ˆ๋…•! ์˜ค๋Š˜ ๊ฐœ๋ฐœํ•˜๊ธฐ ์ข‹์€ ๋‚ ์”จ๋„ค."
45
+ };
46
+
47
+ try {
48
+ const result = await flameAI.sendMessage(chatId, data);
49
+ console.log("AI ์‘๋‹ต:", result.response);
50
+ } catch (error) {
51
+ console.error("๋ฉ”์‹œ์ง€ ์ „์†ก ์‹คํŒจ:", error.message);
52
+ }
53
+ ```
54
+
55
+ ## ๐Ÿ“‹ API ๋ช…์„ธ
56
+
57
+ ### `createChat(prompt)`
58
+ - **์ธ์ž**: `prompt` (Object)
59
+ - `bot_role`: AI์˜ ์—ญํ•  ์„ค์ • (ํ•„์ˆ˜)
60
+ - `user_role`: ์œ ์ €์˜ ์—ญํ•  ์„ค์ • (ํ•„์ˆ˜)
61
+ - **๋ฐ˜ํ™˜**: `Promise<Object>`
62
+ ```javascript
63
+ {
64
+ chatId: "string", // ์„ธ์…˜ ๊ณ ์œ  ID
65
+ prompt: { bot_role, user_role }
66
+ }
67
+ ```
68
+
69
+ ### `sendMessage(chatId, data)`
70
+ - **์ธ์ž**:
71
+ - `chatId`: `createChat`์—์„œ ์ƒ์„ฑ๋œ ID (String)
72
+ - `data`: `{ message: "๋‚ด์šฉ" }` (Object)
73
+ - **๋ฐ˜ํ™˜**: `Promise<Object>`
74
+ ```javascript
75
+ {
76
+ chatId: "string",
77
+ question: "์œ ์ €๊ฐ€ ๋ณด๋‚ธ ์งˆ๋ฌธ",
78
+ response: "AI์˜ ๋‹ต๋ณ€"
79
+ }
80
+ ```
81
+ ---
82
+ โ“’ Flame. 2026. All rights reserved.
package/index.js ADDED
@@ -0,0 +1,90 @@
1
+ // โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ
2
+ // โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ
3
+ // โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ
4
+ // โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
5
+ // โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ
6
+ // โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ
7
+ // โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ
8
+ // โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ
9
+ // โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ
10
+ // โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ
11
+ // โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ
12
+
13
+ // ํ•˜ํ•˜, ์ด๊ณณ๊นŒ์ง€ ์˜ค์‹ค ์ค„ ์•Œ๊ณ  ์ค‘์š”ํ•œ ์ฝ”๋“œ๋Š” ๋ฐฑ์—”๋“œ๋กœ ์˜ฎ๊ฒจ๋†จ์Šต๋‹ˆ๋‹ค.
14
+ // ํ˜น์‹œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์ด๋‚˜ ์‹คํ–‰์ด ์•ˆ๋˜์‹œ๋‚˜์š”? [ํ”ผ๋“œ๋ฐฑ ๋””์Šค์ฝ”๋“œ ์„œ๋ฒ„ -> https://discord.gg/NTZj5Xuq3S]
15
+ // ์‚ฌ์šฉ๋ฒ•์ด๋‚˜ ์ฐธ๊ณ ๋Š” README.md๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.
16
+ // โ“’ Flame. 2026. All rights reserved.
17
+
18
+
19
+ const axios = require("axios");
20
+
21
+ /**
22
+ * FlameAI Module
23
+ * baseURL: https://flameai.jeeks.me/api
24
+ */
25
+ const baseURL = "https://flameai.jeeks.me/api";
26
+
27
+ /**
28
+ * ์ƒˆ๋กœ์šด ์ฑ„ํŒ… ์„ธ์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
29
+ * @param {Object} prompt { bot_role, user_role }
30
+ * @returns {Promise<Object>} { chatId, prompt }
31
+ */
32
+ async function createChat(prompt) {
33
+ if (!prompt || !prompt.bot_role || !prompt.user_role) {
34
+ throw new Error("prompt ๊ฐ์ฒด์— bot_role๊ณผ user_role์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.");
35
+ }
36
+
37
+ try {
38
+ const response = await axios.post(`${baseURL}/create`, { prompt });
39
+
40
+ if (response.data?.error) {
41
+ throw new Error(`Flame ์„œ๋ฒ„ ์˜ค๋ฅ˜: ${response.data.error}`);
42
+ }
43
+
44
+ return response.data.data;
45
+ } catch (error) {
46
+ if (error.response) {
47
+ throw new Error(`์„œ๋ฒ„ ์‘๋‹ต ์˜ค๋ฅ˜ (${error.response.status}): ${JSON.stringify(error.response.data)}`);
48
+ }
49
+ throw error.message || "์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.";
50
+ }
51
+ }
52
+
53
+ /**
54
+ * ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
55
+ * @param {string} chatId ์„ธ์…˜ ID
56
+ * @param {Object} data { message }
57
+ * @returns {Promise<Object>} { chatId, question, response }
58
+ */
59
+ async function sendMessage(chatId, data) {
60
+ if (!chatId || !data || !data.message) {
61
+ throw new Error("chatId์™€ message๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.");
62
+ }
63
+
64
+ try {
65
+ const response = await axios.post(`${baseURL}/chat`, {
66
+ chatId,
67
+ message: data.message
68
+ });
69
+
70
+ if (response.data?.error) {
71
+ throw new Error(`Flame ์„œ๋ฒ„ ์˜ค๋ฅ˜: ${response.data.error}`);
72
+ }
73
+
74
+ return {
75
+ chatId: chatId,
76
+ question: data.message,
77
+ response: response.data.data
78
+ };
79
+ } catch (error) {
80
+ if (error.response) {
81
+ throw new Error(`์„œ๋ฒ„ ์‘๋‹ต ์˜ค๋ฅ˜ (${error.response.status}): ${JSON.stringify(error.response.data)}`);
82
+ }
83
+ throw error.message || "์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.\n๋˜๋Š” ์œ ํšจํ•˜์ง€ ์•Š๋Š” chatId์ž…๋‹ˆ๋‹ค.";
84
+ }
85
+ }
86
+
87
+ module.exports = {
88
+ createChat,
89
+ sendMessage
90
+ };
package/package.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "flame-ai",
3
+ "version": "1.0.0",
4
+ "description": "Flame Ai for Node.js",
5
+ "main": "index.js",
6
+ "keywords": [],
7
+ "author": "@vanilla78",
8
+ "license": "ISC",
9
+ "dependencies": {
10
+ "axios": "^1.13.2"
11
+ }
12
+ }
package/test.js ADDED
@@ -0,0 +1,18 @@
1
+ const flameAI = require("./index");
2
+
3
+ (async () => {
4
+ try {
5
+ const chatInfo = await flameAI.createChat({
6
+ bot_role: "๋„ˆ๋Š” ์ฒ ํ•™๊ฐ€์•ผ. ๋ง ๋๋งˆ๋‹ค ์ด๋‹ค์ž‰์„ ๋ถ™์—ฌ.",
7
+ user_role: "์ด๋ฆ„: ์ง€๊ด‘"
8
+ });
9
+ console.log("Chat Created:", chatInfo);
10
+
11
+ const response = await flameAI.sendMessage(chatInfo.chatId, {
12
+ message: "์ธ์ƒ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€."
13
+ });
14
+ console.log("Bot Response:", response);
15
+ } catch (error) {
16
+ console.error("Error:", error);
17
+ }
18
+ })();