@edpear/sdk 1.0.1 → 1.1.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/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,275 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const commander_1 = require("commander");
8
+ const inquirer_1 = __importDefault(require("inquirer"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const ora_1 = __importDefault(require("ora"));
11
+ const open_1 = __importDefault(require("open"));
12
+ const axios_1 = __importDefault(require("axios"));
13
+ const fs_extra_1 = __importDefault(require("fs-extra"));
14
+ const path_1 = __importDefault(require("path"));
15
+ const os_1 = require("os");
16
+ const dotenv_1 = __importDefault(require("dotenv"));
17
+ // Load environment variables from .env or .env.local if they exist
18
+ dotenv_1.default.config();
19
+ dotenv_1.default.config({ path: path_1.default.join(process.cwd(), '.env.local') });
20
+ const program = new commander_1.Command();
21
+ // Configuration
22
+ const CONFIG_DIR = path_1.default.join((0, os_1.homedir)(), '.edpear');
23
+ const CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'config.json');
24
+ const ENV_FILE = path_1.default.join(process.cwd(), '.env.local');
25
+ // Default production URL
26
+ const DEFAULT_API_URL = 'https://edpearofficial.vercel.app';
27
+ class EdPearCLI {
28
+ constructor() {
29
+ this.config = {};
30
+ this.loadConfig();
31
+ }
32
+ loadConfig() {
33
+ try {
34
+ if (fs_extra_1.default.existsSync(CONFIG_FILE)) {
35
+ this.config = fs_extra_1.default.readJsonSync(CONFIG_FILE);
36
+ }
37
+ }
38
+ catch (error) {
39
+ // Ignore config loading errors on first run
40
+ }
41
+ }
42
+ saveConfig() {
43
+ try {
44
+ fs_extra_1.default.ensureDirSync(CONFIG_DIR);
45
+ fs_extra_1.default.writeJsonSync(CONFIG_FILE, this.config, { spaces: 2 });
46
+ }
47
+ catch (error) {
48
+ console.error(chalk_1.default.red('Error saving config:'), error);
49
+ }
50
+ }
51
+ async makeRequest(endpoint, data, method = 'GET') {
52
+ const baseURL = process.env.EDPEAR_API_URL || DEFAULT_API_URL;
53
+ try {
54
+ const response = await (0, axios_1.default)({
55
+ method,
56
+ url: `${baseURL}${endpoint}`,
57
+ data,
58
+ headers: {
59
+ 'Content-Type': 'application/json',
60
+ ...(this.config.token && { 'Authorization': `Bearer ${this.config.token}` }),
61
+ },
62
+ });
63
+ return response.data;
64
+ }
65
+ catch (error) {
66
+ if (error.response?.status === 401) {
67
+ console.error(chalk_1.default.red('Authentication required. Please run "edpear login" first.'));
68
+ process.exit(1);
69
+ }
70
+ throw error;
71
+ }
72
+ }
73
+ async login() {
74
+ console.log(chalk_1.default.blue('šŸ” EdPear Authentication'));
75
+ const baseURL = process.env.EDPEAR_API_URL || DEFAULT_API_URL;
76
+ console.log(chalk_1.default.gray(`Connecting to: ${baseURL}`));
77
+ console.log(chalk_1.default.yellow('Press ENTER to open the browser for authentication...'));
78
+ await inquirer_1.default.prompt([
79
+ {
80
+ type: 'input',
81
+ name: 'enter',
82
+ message: '',
83
+ },
84
+ ]);
85
+ try {
86
+ // Start the auth flow by requesting a temporary token from the server
87
+ // This part needs a new API endpoint to initiate the flow without user ID initially
88
+ // For now, we'll direct them to the login page which will handle the flow
89
+ const loginURL = `${baseURL}/auth/login?cli=true`;
90
+ await (0, open_1.default)(loginURL);
91
+ console.log(chalk_1.default.green('āœ… Browser opened!'));
92
+ console.log(chalk_1.default.yellow('Please login and complete 2FA verification in your browser.'));
93
+ console.log(chalk_1.default.gray('The CLI will automatically detect when you are authenticated.\n'));
94
+ // We need a way to poll for completion.
95
+ // Since we don't have the user ID yet, we might need a unique session ID generated here
96
+ // But for this simplified flow, we'll ask for the email to poll status
97
+ const { email } = await inquirer_1.default.prompt([
98
+ {
99
+ type: 'input',
100
+ name: 'email',
101
+ message: 'Enter your email to wait for authentication:',
102
+ validate: (input) => input.includes('@') || 'Please enter a valid email',
103
+ },
104
+ ]);
105
+ console.log(chalk_1.default.gray('\nWaiting for authentication completion...'));
106
+ // Poll for authentication completion
107
+ const spinner = (0, ora_1.default)('Waiting for you to complete login in browser...').start();
108
+ const maxAttempts = 200; // 10 minutes
109
+ let attempts = 0;
110
+ while (attempts < maxAttempts) {
111
+ await new Promise(resolve => setTimeout(resolve, 3000));
112
+ try {
113
+ // Poll a new endpoint that checks latest CLI auth for this email
114
+ const statusResponse = await axios_1.default.post(`${baseURL}/api/auth/cli/poll`, { email });
115
+ if (statusResponse.data.status === 'completed' && statusResponse.data.cliToken) {
116
+ spinner.stop();
117
+ // Save token and user data
118
+ this.config.token = statusResponse.data.cliToken;
119
+ this.config.user = statusResponse.data.user;
120
+ this.saveConfig();
121
+ console.log(chalk_1.default.green('\nāœ… Successfully authenticated!'));
122
+ console.log(chalk_1.default.blue(`\nWelcome, ${statusResponse.data.user.name}!`));
123
+ console.log(chalk_1.default.gray(`Email: ${statusResponse.data.user.email}`));
124
+ console.log(chalk_1.default.gray(`Credits: ${statusResponse.data.user.credits}`));
125
+ return;
126
+ }
127
+ attempts++;
128
+ }
129
+ catch (error) {
130
+ // Continue polling on error
131
+ attempts++;
132
+ }
133
+ }
134
+ spinner.stop();
135
+ console.log(chalk_1.default.yellow('\nā±ļø Authentication timeout. Please try again.'));
136
+ process.exit(1);
137
+ }
138
+ catch (error) {
139
+ console.error(chalk_1.default.red('Error during login:'), error.message);
140
+ process.exit(1);
141
+ }
142
+ }
143
+ async generateKey() {
144
+ if (!this.config.token) {
145
+ console.error(chalk_1.default.red('Please login first: edpear login'));
146
+ process.exit(1);
147
+ }
148
+ console.log(chalk_1.default.blue('šŸ”‘ Generate New API Key\n'));
149
+ const { name } = await inquirer_1.default.prompt([
150
+ {
151
+ type: 'input',
152
+ name: 'name',
153
+ message: 'Enter a name for your API key:',
154
+ default: 'My API Key',
155
+ validate: (input) => {
156
+ if (!input.trim()) {
157
+ return 'Name is required';
158
+ }
159
+ return true;
160
+ },
161
+ },
162
+ ]);
163
+ const spinner = (0, ora_1.default)('Generating API key...').start();
164
+ try {
165
+ const result = await this.makeRequest('/api/keys/generate', {
166
+ name,
167
+ }, 'POST');
168
+ spinner.succeed(chalk_1.default.green('āœ… API key generated successfully!'));
169
+ // Add to config
170
+ if (!this.config.apiKeys) {
171
+ this.config.apiKeys = [];
172
+ }
173
+ this.config.apiKeys.push(result.apiKey);
174
+ this.saveConfig();
175
+ console.log(chalk_1.default.blue('\nšŸ“‹ Your new API key:'));
176
+ console.log(chalk_1.default.yellow(result.apiKey.key));
177
+ console.log(chalk_1.default.gray('\nšŸ’” Save this key securely. It will not be shown again.'));
178
+ // Ask if user wants to save to .env.local
179
+ const { saveToEnv } = await inquirer_1.default.prompt([
180
+ {
181
+ type: 'confirm',
182
+ name: 'saveToEnv',
183
+ message: 'Save API key to .env.local file?',
184
+ default: true,
185
+ },
186
+ ]);
187
+ if (saveToEnv) {
188
+ await this.saveToEnvFile(result.apiKey.key);
189
+ }
190
+ }
191
+ catch (error) {
192
+ spinner.fail(chalk_1.default.red('āŒ Failed to generate API key'));
193
+ console.error(chalk_1.default.red('Error:'), error.response?.data?.error || error.message);
194
+ process.exit(1);
195
+ }
196
+ }
197
+ async saveToEnvFile(apiKey) {
198
+ try {
199
+ let envContent = '';
200
+ if (fs_extra_1.default.existsSync(ENV_FILE)) {
201
+ envContent = fs_extra_1.default.readFileSync(ENV_FILE, 'utf8');
202
+ }
203
+ // Remove existing EDPEAR_API_KEY if present
204
+ envContent = envContent.replace(/^EDPEAR_API_KEY=.*$/m, '');
205
+ // Add new API key
206
+ if (envContent && !envContent.endsWith('\n')) {
207
+ envContent += '\n';
208
+ }
209
+ envContent += `EDPEAR_API_KEY=${apiKey}\n`;
210
+ fs_extra_1.default.writeFileSync(ENV_FILE, envContent);
211
+ console.log(chalk_1.default.green('āœ… API key saved to .env.local'));
212
+ }
213
+ catch (error) {
214
+ console.error(chalk_1.default.red('Error saving to .env.local:'), error);
215
+ }
216
+ }
217
+ async status() {
218
+ if (!this.config.token) {
219
+ console.log(chalk_1.default.red('āŒ Not authenticated'));
220
+ console.log(chalk_1.default.gray('Run "edpear login" to get started'));
221
+ return;
222
+ }
223
+ console.log(chalk_1.default.blue('šŸ“Š EdPear Status\n'));
224
+ if (this.config.user) {
225
+ console.log(chalk_1.default.green(`šŸ‘¤ User: ${this.config.user.name}`));
226
+ console.log(chalk_1.default.green(`šŸ“§ Email: ${this.config.user.email}`));
227
+ console.log(chalk_1.default.green(`šŸ’³ Credits: ${this.config.user.credits}`));
228
+ }
229
+ if (this.config.apiKeys && this.config.apiKeys.length > 0) {
230
+ console.log(chalk_1.default.blue(`\nšŸ”‘ API Keys (${this.config.apiKeys.length}):`));
231
+ this.config.apiKeys.forEach((key, index) => {
232
+ console.log(chalk_1.default.gray(` ${index + 1}. ${key.name}`));
233
+ console.log(chalk_1.default.yellow(` ${key.key}`));
234
+ console.log(chalk_1.default.gray(` Created: ${new Date(key.createdAt).toLocaleDateString()}`));
235
+ });
236
+ }
237
+ else {
238
+ console.log(chalk_1.default.yellow('\nšŸ”‘ No API keys found'));
239
+ console.log(chalk_1.default.gray('Run "edpear generate-key" to create your first API key'));
240
+ }
241
+ }
242
+ async logout() {
243
+ this.config = {};
244
+ this.saveConfig();
245
+ console.log(chalk_1.default.green('āœ… Logged out successfully'));
246
+ }
247
+ }
248
+ // CLI Commands
249
+ const cli = new EdPearCLI();
250
+ program
251
+ .name('edpear')
252
+ .description('EdPear CLI - AI-powered educational components')
253
+ .version('1.0.0');
254
+ program
255
+ .command('login')
256
+ .description('Authenticate with EdPear')
257
+ .action(() => cli.login());
258
+ program
259
+ .command('generate-key')
260
+ .description('Generate a new API key')
261
+ .action(() => cli.generateKey());
262
+ program
263
+ .command('status')
264
+ .description('Show current status and API keys')
265
+ .action(() => cli.status());
266
+ program
267
+ .command('command-line')
268
+ .description('Alias for login')
269
+ .action(() => cli.login());
270
+ program
271
+ .command('logout')
272
+ .description('Logout from EdPear')
273
+ .action(() => cli.logout());
274
+ program.parse();
275
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,wDAAgC;AAChC,kDAA0B;AAC1B,8CAAsB;AACtB,gDAAwB;AACxB,kDAA0B;AAC1B,wDAA0B;AAC1B,gDAAwB;AACxB,2BAA6B;AAC7B,oDAA4B;AAE5B,mEAAmE;AACnE,gBAAM,CAAC,MAAM,EAAE,CAAC;AAChB,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAEhE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,gBAAgB;AAChB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,YAAO,GAAE,EAAE,SAAS,CAAC,CAAC;AACnD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;AAExD,yBAAyB;AACzB,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAkB5D,MAAM,SAAS;IAGb;QAFQ,WAAM,GAAW,EAAE,CAAC;QAG1B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC;YACH,IAAI,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,GAAG,kBAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;QAC9C,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC;YACH,kBAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7B,kBAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,IAAU,EAAE,SAAiB,KAAK;QAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC;gBAC3B,MAAM;gBACN,GAAG,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE;gBAC5B,IAAI;gBACJ,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;iBAC7E;aACF,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;QAE9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAEnF,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,EAAE;aACZ;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,sEAAsE;YACtE,oFAAoF;YACpF,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,GAAG,OAAO,sBAAsB,CAAC;YAElD,MAAM,IAAA,cAAI,EAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAE3F,yCAAyC;YACzC,wFAAwF;YACxF,uEAAuE;YAEvE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACtC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,8CAA8C;oBACvD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,4BAA4B;iBACjF;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;YAEtE,qCAAqC;YACrC,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,iDAAiD,CAAC,CAAC,KAAK,EAAE,CAAC;YAC/E,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,aAAa;YACtC,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC9B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAExD,IAAI,CAAC;oBACH,iEAAiE;oBACjE,MAAM,cAAc,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,OAAO,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAEnF,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC/E,OAAO,CAAC,IAAI,EAAE,CAAC;wBAEf,2BAA2B;wBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAElB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;wBAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACxE,OAAO;oBACT,CAAC;oBAED,QAAQ,EAAE,CAAC;gBACb,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,4BAA4B;oBAC5B,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAErD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,gCAAgC;gBACzC,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClB,OAAO,kBAAkB,CAAC;oBAC5B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;gBAC1D,IAAI;aACL,EAAE,MAAM,CAAC,CAAC;YAEX,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAElE,gBAAgB;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YAEpF,0CAA0C;YAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBAC1C;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,kCAAkC;oBAC3C,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CAAC;YAEH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAc;QACxC,IAAI,CAAC;YACH,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,IAAI,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,UAAU,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAED,4CAA4C;YAC5C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAE5D,kBAAkB;YAClB,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,UAAU,IAAI,IAAI,CAAC;YACrB,CAAC;YACD,UAAU,IAAI,kBAAkB,MAAM,IAAI,CAAC;YAE3C,kBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACxD,CAAC;CACF;AAED,eAAe;AACf,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;AAE5B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,gDAAgD,CAAC;KAC7D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAE7B,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAE7B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,40 +1,52 @@
1
- {
2
- "name": "@edpear/sdk",
3
- "version": "1.0.1",
4
- "description": "EdPear SDK - AI-powered educational components for JavaScript/TypeScript",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "scripts": {
8
- "build": "tsc",
9
- "dev": "tsc --watch",
10
- "prepublishOnly": "npm run build"
11
- },
12
- "keywords": [
13
- "edpear",
14
- "ai",
15
- "education",
16
- "vision",
17
- "sdk"
18
- ],
19
- "author": "EdPear",
20
- "license": "MIT",
21
- "repository": {
22
- "type": "git",
23
- "url": "https://github.com/edpear/edpearofficial.git",
24
- "directory": "edpear-sdk"
25
- },
26
- "homepage": "https://edpear.com",
27
- "bugs": {
28
- "url": "https://github.com/edpear/edpearofficial/issues"
29
- },
30
- "dependencies": {
31
- "axios": "^1.6.2"
32
- },
33
- "devDependencies": {
34
- "@types/node": "^20.0.0",
35
- "typescript": "^5.0.0"
36
- },
37
- "files": [
38
- "dist"
39
- ]
40
- }
1
+ {
2
+ "name": "@edpear/sdk",
3
+ "version": "1.1.1",
4
+ "description": "EdPear SDK - AI-powered educational components for JavaScript/TypeScript",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "dev": "tsc --watch",
10
+ "prepublishOnly": "npm run build"
11
+ },
12
+ "keywords": [
13
+ "edpear",
14
+ "ai",
15
+ "education",
16
+ "vision",
17
+ "sdk"
18
+ ],
19
+ "author": "EdPear",
20
+ "license": "MIT",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/edpear/edpearofficial.git",
24
+ "directory": "edpear-sdk"
25
+ },
26
+ "homepage": "https://edpear.com",
27
+ "bugs": {
28
+ "url": "https://github.com/edpear/edpearofficial/issues"
29
+ },
30
+ "dependencies": {
31
+ "axios": "^1.6.2",
32
+ "chalk": "^4.1.2",
33
+ "commander": "^11.1.0",
34
+ "dotenv": "^16.6.1",
35
+ "fs-extra": "^11.3.3",
36
+ "inquirer": "^9.3.8",
37
+ "open": "^8.4.2",
38
+ "ora": "^5.4.1"
39
+ },
40
+ "devDependencies": {
41
+ "@types/fs-extra": "^11.0.4",
42
+ "@types/inquirer": "^9.0.9",
43
+ "@types/node": "^20.0.0",
44
+ "typescript": "^5.0.0"
45
+ },
46
+ "bin": {
47
+ "edpear": "dist/cli.js"
48
+ },
49
+ "files": [
50
+ "dist"
51
+ ]
52
+ }