@mexty/cli 1.6.0 → 1.7.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.
- package/GITHUB_OAUTH_SETUP.md +247 -0
- package/dist/commands/create.d.ts +9 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +130 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/delete.d.ts +2 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +59 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/github-disconnect.d.ts +2 -0
- package/dist/commands/github-disconnect.d.ts.map +1 -0
- package/dist/commands/github-disconnect.js +73 -0
- package/dist/commands/github-disconnect.js.map +1 -0
- package/dist/commands/github-login.d.ts +2 -0
- package/dist/commands/github-login.d.ts.map +1 -0
- package/dist/commands/github-login.js +100 -0
- package/dist/commands/github-login.js.map +1 -0
- package/dist/commands/login.d.ts +2 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +90 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/publish.d.ts +6 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +176 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/save.d.ts +2 -0
- package/dist/commands/save.d.ts.map +1 -0
- package/dist/commands/save.js +162 -0
- package/dist/commands/save.js.map +1 -0
- package/dist/commands/update-git-url.d.ts +2 -0
- package/dist/commands/update-git-url.d.ts.map +1 -0
- package/dist/commands/update-git-url.js +153 -0
- package/dist/commands/update-git-url.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/api.d.ts +117 -0
- package/dist/utils/api.d.ts.map +1 -0
- package/dist/utils/api.js +202 -0
- package/dist/utils/api.js.map +1 -0
- package/dist/utils/auth.d.ts +4 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +27 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/git.d.ts +47 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +224 -0
- package/dist/utils/git.js.map +1 -0
- package/package.json +2 -1
- package/src/commands/github-disconnect.ts +80 -0
- package/src/commands/github-login.ts +107 -0
- package/src/index.ts +37 -0
- package/src/utils/api.ts +21 -0
- package/src/utils/git.ts +60 -2
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.updateGitUrlCommand = updateGitUrlCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const api_1 = require("../utils/api");
|
|
9
|
+
const auth_1 = require("../utils/auth");
|
|
10
|
+
const readline_1 = require("readline");
|
|
11
|
+
// Simple prompt function
|
|
12
|
+
async function prompt(question, defaultValue) {
|
|
13
|
+
return new Promise((resolve) => {
|
|
14
|
+
const rl = (0, readline_1.createInterface)({
|
|
15
|
+
input: process.stdin,
|
|
16
|
+
output: process.stdout,
|
|
17
|
+
});
|
|
18
|
+
const promptText = defaultValue
|
|
19
|
+
? `${question} (${defaultValue}): `
|
|
20
|
+
: `${question}: `;
|
|
21
|
+
rl.question(promptText, (answer) => {
|
|
22
|
+
rl.close();
|
|
23
|
+
resolve(answer.trim() || defaultValue || "");
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
// Simple yes/no prompt function
|
|
28
|
+
async function promptYesNo(question) {
|
|
29
|
+
return new Promise((resolve) => {
|
|
30
|
+
const rl = (0, readline_1.createInterface)({
|
|
31
|
+
input: process.stdin,
|
|
32
|
+
output: process.stdout,
|
|
33
|
+
});
|
|
34
|
+
rl.question(`${question} (y/n): `, (answer) => {
|
|
35
|
+
rl.close();
|
|
36
|
+
resolve(answer.toLowerCase().startsWith("y"));
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async function updateGitUrlCommand(blockId, gitUrl, reset) {
|
|
41
|
+
try {
|
|
42
|
+
// Require authentication
|
|
43
|
+
await (0, auth_1.requireAuthentication)();
|
|
44
|
+
const user = (0, auth_1.getAuthenticatedUser)();
|
|
45
|
+
console.log(chalk_1.default.blue("🔗 Update Block Git URL"));
|
|
46
|
+
console.log(chalk_1.default.gray("Update the Git repository URL for a block\n"));
|
|
47
|
+
// Get block ID if not provided
|
|
48
|
+
if (!blockId) {
|
|
49
|
+
blockId = await prompt("Enter block ID");
|
|
50
|
+
if (!blockId) {
|
|
51
|
+
console.error(chalk_1.default.red("❌ Block ID is required"));
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Validate block ID format
|
|
56
|
+
if (!/^[a-f0-9]{24}$/.test(blockId)) {
|
|
57
|
+
console.error(chalk_1.default.red("❌ Invalid block ID format"));
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
console.log(chalk_1.default.blue(`📦 Block ID: ${blockId}`));
|
|
61
|
+
// Get current block information
|
|
62
|
+
try {
|
|
63
|
+
const block = await api_1.apiClient.getBlock(blockId);
|
|
64
|
+
console.log(chalk_1.default.green(`✅ Found block: ${block.title}`));
|
|
65
|
+
console.log(chalk_1.default.gray(`Current Git URL: ${block.gitUrl || "Not set"}`));
|
|
66
|
+
// Check if current URL is default
|
|
67
|
+
const isDefaultUrl = block.gitUrl?.startsWith("https://github.com/mext-ai/block-");
|
|
68
|
+
if (isDefaultUrl) {
|
|
69
|
+
console.log(chalk_1.default.yellow("ℹ️ Current URL is the default Mext URL"));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error(chalk_1.default.red(`❌ Failed to fetch block: ${error.message}`));
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
let newGitUrl;
|
|
77
|
+
let resetToDefault = false;
|
|
78
|
+
// Handle reset option
|
|
79
|
+
if (reset) {
|
|
80
|
+
resetToDefault = true;
|
|
81
|
+
newGitUrl = `https://github.com/mext-ai/block-${blockId}`;
|
|
82
|
+
console.log(chalk_1.default.blue(`🔄 Resetting to default URL: ${newGitUrl}`));
|
|
83
|
+
}
|
|
84
|
+
else if (gitUrl) {
|
|
85
|
+
// Validate provided URL
|
|
86
|
+
const isValidUrl = /^https:\/\/github\.com\/[\w\-\.]+\/[\w\-\.]+(?:\.git)?$/.test(gitUrl);
|
|
87
|
+
if (!isValidUrl) {
|
|
88
|
+
console.error(chalk_1.default.red("❌ Invalid Git URL format. Please provide a valid GitHub URL."));
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
newGitUrl = gitUrl;
|
|
92
|
+
console.log(chalk_1.default.blue(`🔗 New Git URL: ${newGitUrl}`));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Interactive mode
|
|
96
|
+
const currentBlock = await api_1.apiClient.getBlock(blockId);
|
|
97
|
+
const currentUrl = currentBlock.gitUrl || "";
|
|
98
|
+
// Ask for new URL
|
|
99
|
+
newGitUrl = await prompt("Enter new Git URL", currentUrl);
|
|
100
|
+
if (!newGitUrl) {
|
|
101
|
+
console.error(chalk_1.default.red("❌ Git URL is required"));
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
// Validate URL format
|
|
105
|
+
const isValidUrl = /^https:\/\/github\.com\/[\w\-\.]+\/[\w\-\.]+(?:\.git)?$/.test(newGitUrl);
|
|
106
|
+
if (!isValidUrl) {
|
|
107
|
+
console.error(chalk_1.default.red("❌ Invalid Git URL format. Please provide a valid GitHub URL."));
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
// Check if user wants to reset to default
|
|
111
|
+
if (!newGitUrl.startsWith("https://github.com/mext-ai/block-")) {
|
|
112
|
+
const shouldReset = await promptYesNo("This is not the default Mext URL. Do you want to reset to default instead?");
|
|
113
|
+
if (shouldReset) {
|
|
114
|
+
resetToDefault = true;
|
|
115
|
+
newGitUrl = `https://github.com/mext-ai/block-${blockId}`;
|
|
116
|
+
console.log(chalk_1.default.blue(`🔄 Resetting to default URL: ${newGitUrl}`));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Confirm the update
|
|
121
|
+
console.log(chalk_1.default.yellow(`\n⚠️ About to update Git URL to: ${newGitUrl}`));
|
|
122
|
+
const confirmed = await promptYesNo("Do you want to proceed?");
|
|
123
|
+
if (!confirmed) {
|
|
124
|
+
console.log(chalk_1.default.gray("❌ Update cancelled"));
|
|
125
|
+
process.exit(0);
|
|
126
|
+
}
|
|
127
|
+
// Update the Git URL
|
|
128
|
+
console.log(chalk_1.default.blue("🔄 Updating Git URL..."));
|
|
129
|
+
try {
|
|
130
|
+
const result = await api_1.apiClient.updateBlockGitUrl(blockId, newGitUrl, resetToDefault);
|
|
131
|
+
console.log(chalk_1.default.green("✅ Git URL updated successfully!"));
|
|
132
|
+
console.log(chalk_1.default.gray(`New URL: ${result.gitUrl}`));
|
|
133
|
+
if (result.resetToDefault) {
|
|
134
|
+
console.log(chalk_1.default.yellow("🔄 URL was reset to default"));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
console.error(chalk_1.default.red(`❌ Failed to update Git URL: ${error.message}`));
|
|
139
|
+
if (error.response?.status === 403) {
|
|
140
|
+
console.error(chalk_1.default.red("Access denied. You can only update blocks you own."));
|
|
141
|
+
}
|
|
142
|
+
else if (error.response?.status === 404) {
|
|
143
|
+
console.error(chalk_1.default.red("Block not found."));
|
|
144
|
+
}
|
|
145
|
+
process.exit(1);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
console.error(chalk_1.default.red(`❌ Error: ${error.message}`));
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=update-git-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-git-url.js","sourceRoot":"","sources":["../../src/commands/update-git-url.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
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 chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const login_1 = require("./commands/login");
|
|
10
|
+
const create_1 = require("./commands/create");
|
|
11
|
+
const delete_1 = require("./commands/delete");
|
|
12
|
+
const publish_1 = require("./commands/publish");
|
|
13
|
+
const save_1 = require("./commands/save");
|
|
14
|
+
const update_git_url_1 = require("./commands/update-git-url");
|
|
15
|
+
const github_login_1 = require("./commands/github-login");
|
|
16
|
+
const github_disconnect_1 = require("./commands/github-disconnect");
|
|
17
|
+
const api_1 = require("./utils/api");
|
|
18
|
+
const program = new commander_1.Command();
|
|
19
|
+
// CLI Configuration
|
|
20
|
+
program
|
|
21
|
+
.name("mexty")
|
|
22
|
+
.description("MEXT CLI for managing React microfrontend blocks and components")
|
|
23
|
+
.version("1.0.0");
|
|
24
|
+
// Add commands
|
|
25
|
+
program
|
|
26
|
+
.command("login")
|
|
27
|
+
.description("Authenticate with MEXT")
|
|
28
|
+
.action(login_1.loginCommand);
|
|
29
|
+
program
|
|
30
|
+
.command("logout")
|
|
31
|
+
.description("Logout from MEXT")
|
|
32
|
+
.action(async () => {
|
|
33
|
+
try {
|
|
34
|
+
if (!api_1.apiClient.isAuthenticated()) {
|
|
35
|
+
console.log(chalk_1.default.yellow("⚠️ You are not logged in"));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
await api_1.apiClient.logout();
|
|
39
|
+
console.log(chalk_1.default.green("✅ Logged out successfully"));
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(chalk_1.default.red(`❌ Logout failed: ${error.message}`));
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
// Support both old and new create syntax
|
|
46
|
+
program
|
|
47
|
+
.command("create [subcommand]")
|
|
48
|
+
.description("Create a new React microfrontend block")
|
|
49
|
+
.option("-d, --description <description>", "Block description")
|
|
50
|
+
.option("-t, --type <type>", "Block type", "custom")
|
|
51
|
+
.option("-n, --name <name>", 'Block name (for "create block" syntax)')
|
|
52
|
+
.option("-c, --category <category>", 'Block category (for "create block" syntax)')
|
|
53
|
+
.action(create_1.createCommand);
|
|
54
|
+
program
|
|
55
|
+
.command("delete <blockId>")
|
|
56
|
+
.description("Delete a block (requires ownership)")
|
|
57
|
+
.action(delete_1.deleteCommand);
|
|
58
|
+
program
|
|
59
|
+
.command("publish")
|
|
60
|
+
.description("Publish current block to marketplace (free only)")
|
|
61
|
+
.option("--agent", "Make block insertable by AI agents", false)
|
|
62
|
+
.action(publish_1.publishCommand);
|
|
63
|
+
program
|
|
64
|
+
.command("save")
|
|
65
|
+
.description("Save current block (git add, commit, push, and trigger build)")
|
|
66
|
+
.action(save_1.saveCommand);
|
|
67
|
+
program
|
|
68
|
+
.command("update-git-url [blockId]")
|
|
69
|
+
.description("Update the Git repository URL for a block")
|
|
70
|
+
.option("-u, --url <url>", "New Git URL")
|
|
71
|
+
.option("-r, --reset", "Reset to default Mext URL")
|
|
72
|
+
.action((blockId, options) => {
|
|
73
|
+
(0, update_git_url_1.updateGitUrlCommand)(blockId, options.url, options.reset);
|
|
74
|
+
});
|
|
75
|
+
program
|
|
76
|
+
.command("github-login")
|
|
77
|
+
.description("Connect your GitHub account for private repository access")
|
|
78
|
+
.action(github_login_1.githubLoginCommand);
|
|
79
|
+
program
|
|
80
|
+
.command("github-disconnect")
|
|
81
|
+
.description("Disconnect your GitHub account")
|
|
82
|
+
.action(github_disconnect_1.githubDisconnectCommand);
|
|
83
|
+
program
|
|
84
|
+
.command("github-status")
|
|
85
|
+
.description("Check GitHub connection status")
|
|
86
|
+
.action(async () => {
|
|
87
|
+
try {
|
|
88
|
+
if (!api_1.apiClient.isAuthenticated()) {
|
|
89
|
+
console.log(chalk_1.default.yellow("⚠️ Please login first: mexty login"));
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const status = await api_1.apiClient.getGitHubStatus();
|
|
93
|
+
if (status.connected) {
|
|
94
|
+
console.log(chalk_1.default.green("✅ GitHub connected"));
|
|
95
|
+
console.log(chalk_1.default.gray(` Username: ${status.githubUsername}`));
|
|
96
|
+
console.log(chalk_1.default.gray(` Status: ${status.message}`));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
console.log(chalk_1.default.yellow("❌ GitHub not connected"));
|
|
100
|
+
console.log(chalk_1.default.blue(" Connect with: mexty github-login"));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
console.error(chalk_1.default.red(`❌ Failed to check status: ${error.message}`));
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
// Error handling
|
|
108
|
+
program.on("command:*", () => {
|
|
109
|
+
console.error(chalk_1.default.red(`Invalid command: ${program.args.join(" ")}`));
|
|
110
|
+
console.log(chalk_1.default.yellow("See --help for a list of available commands."));
|
|
111
|
+
process.exit(1);
|
|
112
|
+
});
|
|
113
|
+
// Parse arguments
|
|
114
|
+
program.parse(process.argv);
|
|
115
|
+
// Show help if no command provided
|
|
116
|
+
if (!process.argv.slice(2).length) {
|
|
117
|
+
program.outputHelp();
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
export interface Block {
|
|
2
|
+
_id: string;
|
|
3
|
+
id?: string;
|
|
4
|
+
blockType: string;
|
|
5
|
+
_doc?: {
|
|
6
|
+
_id: string;
|
|
7
|
+
blockType: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
gitUrl?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
13
|
+
title: string;
|
|
14
|
+
description: string;
|
|
15
|
+
gitUrl?: string;
|
|
16
|
+
courseId?: string;
|
|
17
|
+
courseName?: string;
|
|
18
|
+
allowedBrickTypes: string[];
|
|
19
|
+
allowedBlockTypes?: string[];
|
|
20
|
+
scope: ("library" | "user-store" | "published-store")[];
|
|
21
|
+
content: any[];
|
|
22
|
+
forkedId?: string;
|
|
23
|
+
bundlePath?: string;
|
|
24
|
+
federationUrl?: string;
|
|
25
|
+
buildStatus?: "pending" | "building" | "success" | "failed";
|
|
26
|
+
buildError?: string;
|
|
27
|
+
lastBuilt?: Date;
|
|
28
|
+
createdAt: Date;
|
|
29
|
+
updatedAt: Date;
|
|
30
|
+
}
|
|
31
|
+
export interface CreateBlockRequest {
|
|
32
|
+
blockType: string;
|
|
33
|
+
title: string;
|
|
34
|
+
description: string;
|
|
35
|
+
gitUrl?: string;
|
|
36
|
+
courseId?: string;
|
|
37
|
+
courseName?: string;
|
|
38
|
+
allowedBrickTypes: string[];
|
|
39
|
+
allowedBlockTypes?: string[];
|
|
40
|
+
scope: string[];
|
|
41
|
+
content?: any[];
|
|
42
|
+
}
|
|
43
|
+
export interface ForkBlockRequest {
|
|
44
|
+
blockId: string;
|
|
45
|
+
title?: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface SaveAndBundleRequest {
|
|
49
|
+
blockId: string;
|
|
50
|
+
}
|
|
51
|
+
export interface AuthResponse {
|
|
52
|
+
success: boolean;
|
|
53
|
+
message: string;
|
|
54
|
+
token?: string;
|
|
55
|
+
user?: {
|
|
56
|
+
id: string;
|
|
57
|
+
email: string;
|
|
58
|
+
fullName?: string;
|
|
59
|
+
occupation?: string;
|
|
60
|
+
isProfileComplete: boolean;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export interface LoginRequest {
|
|
64
|
+
email: string;
|
|
65
|
+
otp: string;
|
|
66
|
+
}
|
|
67
|
+
declare class ApiClient {
|
|
68
|
+
private client;
|
|
69
|
+
private baseUrl;
|
|
70
|
+
private tokenPath;
|
|
71
|
+
constructor(baseUrl?: string);
|
|
72
|
+
private getStoredToken;
|
|
73
|
+
private storeToken;
|
|
74
|
+
private clearStoredToken;
|
|
75
|
+
isAuthenticated(): boolean;
|
|
76
|
+
getStoredUser(): any;
|
|
77
|
+
createBlock(data: CreateBlockRequest): Promise<Block>;
|
|
78
|
+
forkBlock(data: ForkBlockRequest): Promise<Block>;
|
|
79
|
+
deleteBlock(blockId: string): Promise<void>;
|
|
80
|
+
getBlock(blockId: string): Promise<Block>;
|
|
81
|
+
saveAndBundle(data: SaveAndBundleRequest): Promise<any>;
|
|
82
|
+
updateBlockSharing(blockId: string, scope: string[]): Promise<any>;
|
|
83
|
+
updateBlockAgentInsertable(blockId: string, isInsertableByAgent: boolean): Promise<any>;
|
|
84
|
+
healthCheck(): Promise<boolean>;
|
|
85
|
+
requestOTP(email: string): Promise<AuthResponse>;
|
|
86
|
+
verifyOTP(email: string, otp: string): Promise<AuthResponse>;
|
|
87
|
+
addBlockToStructure(blockId: string, parentPath?: string): Promise<any>;
|
|
88
|
+
logout(): Promise<void>;
|
|
89
|
+
updateBlockGitUrl(blockId: string, gitUrl?: string, resetToDefault?: boolean): Promise<any>;
|
|
90
|
+
getGitHubAuthUrl(): Promise<{
|
|
91
|
+
success: boolean;
|
|
92
|
+
url?: string;
|
|
93
|
+
message: string;
|
|
94
|
+
}>;
|
|
95
|
+
getGitHubStatus(): Promise<{
|
|
96
|
+
success: boolean;
|
|
97
|
+
connected: boolean;
|
|
98
|
+
githubUsername?: string;
|
|
99
|
+
message: string;
|
|
100
|
+
}>;
|
|
101
|
+
getGitHubToken(): Promise<{
|
|
102
|
+
success: boolean;
|
|
103
|
+
token?: string;
|
|
104
|
+
username?: string;
|
|
105
|
+
expiresAt?: Date;
|
|
106
|
+
message?: string;
|
|
107
|
+
expired?: boolean;
|
|
108
|
+
}>;
|
|
109
|
+
disconnectGitHub(): Promise<{
|
|
110
|
+
success: boolean;
|
|
111
|
+
message: string;
|
|
112
|
+
}>;
|
|
113
|
+
setBaseUrl(url: string): void;
|
|
114
|
+
}
|
|
115
|
+
export declare const apiClient: ApiClient;
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.apiClient = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const os_1 = __importDefault(require("os"));
|
|
12
|
+
class ApiClient {
|
|
13
|
+
constructor(baseUrl = "https://api.mexty.ai") {
|
|
14
|
+
this.baseUrl = baseUrl;
|
|
15
|
+
this.tokenPath = path_1.default.join(os_1.default.homedir(), ".mext", "auth.json");
|
|
16
|
+
this.client = axios_1.default.create({
|
|
17
|
+
baseURL: baseUrl,
|
|
18
|
+
timeout: 30000,
|
|
19
|
+
headers: {
|
|
20
|
+
"Content-Type": "application/json",
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
// Add request interceptor to include auth token
|
|
24
|
+
this.client.interceptors.request.use((config) => {
|
|
25
|
+
const token = this.getStoredToken();
|
|
26
|
+
if (token) {
|
|
27
|
+
config.headers.Authorization = `Bearer ${token}`;
|
|
28
|
+
}
|
|
29
|
+
return config;
|
|
30
|
+
}, (error) => Promise.reject(error));
|
|
31
|
+
// Add response interceptor for error handling
|
|
32
|
+
this.client.interceptors.response.use((response) => response, (error) => {
|
|
33
|
+
if (error.response?.status === 401) {
|
|
34
|
+
console.error(chalk_1.default.red("Authentication required. Please login first: mexty login"));
|
|
35
|
+
this.clearStoredToken();
|
|
36
|
+
}
|
|
37
|
+
else if (error.response) {
|
|
38
|
+
console.error(chalk_1.default.red(`API Error ${error.response.status}: ${error.response.data?.error || error.message}`));
|
|
39
|
+
}
|
|
40
|
+
else if (error.request) {
|
|
41
|
+
console.error(chalk_1.default.red("Network Error: Could not reach MEXT server"));
|
|
42
|
+
console.error(chalk_1.default.yellow(`Make sure the server is running at ${this.baseUrl}`));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.error(chalk_1.default.red(`Request Error: ${error.message}`));
|
|
46
|
+
}
|
|
47
|
+
throw error;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
getStoredToken() {
|
|
51
|
+
try {
|
|
52
|
+
if (fs_1.default.existsSync(this.tokenPath)) {
|
|
53
|
+
const authData = JSON.parse(fs_1.default.readFileSync(this.tokenPath, "utf8"));
|
|
54
|
+
return authData.token || null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
// Ignore errors reading token file
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
storeToken(token, user) {
|
|
63
|
+
try {
|
|
64
|
+
const authDir = path_1.default.dirname(this.tokenPath);
|
|
65
|
+
if (!fs_1.default.existsSync(authDir)) {
|
|
66
|
+
fs_1.default.mkdirSync(authDir, { recursive: true });
|
|
67
|
+
}
|
|
68
|
+
const authData = {
|
|
69
|
+
token,
|
|
70
|
+
user,
|
|
71
|
+
timestamp: new Date().toISOString(),
|
|
72
|
+
};
|
|
73
|
+
fs_1.default.writeFileSync(this.tokenPath, JSON.stringify(authData, null, 2));
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.warn(chalk_1.default.yellow(`Warning: Could not store auth token: ${error.message}`));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
clearStoredToken() {
|
|
80
|
+
try {
|
|
81
|
+
if (fs_1.default.existsSync(this.tokenPath)) {
|
|
82
|
+
fs_1.default.unlinkSync(this.tokenPath);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
// Ignore errors clearing token file
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
isAuthenticated() {
|
|
90
|
+
return this.getStoredToken() !== null;
|
|
91
|
+
}
|
|
92
|
+
getStoredUser() {
|
|
93
|
+
try {
|
|
94
|
+
if (fs_1.default.existsSync(this.tokenPath)) {
|
|
95
|
+
const authData = JSON.parse(fs_1.default.readFileSync(this.tokenPath, "utf8"));
|
|
96
|
+
return authData.user || null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
// Ignore errors reading user data
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
async createBlock(data) {
|
|
105
|
+
const response = await this.client.post("/api/blocks", data);
|
|
106
|
+
return response.data;
|
|
107
|
+
}
|
|
108
|
+
async forkBlock(data) {
|
|
109
|
+
const response = await this.client.post("/api/blocks/fork", data);
|
|
110
|
+
return response.data;
|
|
111
|
+
}
|
|
112
|
+
async deleteBlock(blockId) {
|
|
113
|
+
await this.client.delete(`/api/blocks/${blockId}`);
|
|
114
|
+
}
|
|
115
|
+
async getBlock(blockId) {
|
|
116
|
+
const response = await this.client.get(`/api/blocks/${blockId}`);
|
|
117
|
+
return response.data;
|
|
118
|
+
}
|
|
119
|
+
async saveAndBundle(data) {
|
|
120
|
+
const response = await this.client.post("/api/blocks/save-and-bundle", data);
|
|
121
|
+
return response.data;
|
|
122
|
+
}
|
|
123
|
+
async updateBlockSharing(blockId, scope) {
|
|
124
|
+
const response = await this.client.patch(`/api/blocks/${blockId}/sharing`, {
|
|
125
|
+
scope,
|
|
126
|
+
});
|
|
127
|
+
return response.data;
|
|
128
|
+
}
|
|
129
|
+
async updateBlockAgentInsertable(blockId, isInsertableByAgent) {
|
|
130
|
+
const response = await this.client.patch(`/api/blocks/${blockId}/agent-insertable`, { isInsertableByAgent });
|
|
131
|
+
return response.data;
|
|
132
|
+
}
|
|
133
|
+
async healthCheck() {
|
|
134
|
+
try {
|
|
135
|
+
await this.client.get("/api/health");
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
async requestOTP(email) {
|
|
143
|
+
const response = await this.client.post("/api/auth/request-otp", { email });
|
|
144
|
+
return response.data;
|
|
145
|
+
}
|
|
146
|
+
async verifyOTP(email, otp) {
|
|
147
|
+
const response = await this.client.post("/api/auth/verify-otp", { email, otp });
|
|
148
|
+
const data = response.data;
|
|
149
|
+
if (data.success && data.token && data.user) {
|
|
150
|
+
this.storeToken(data.token, data.user);
|
|
151
|
+
}
|
|
152
|
+
return data;
|
|
153
|
+
}
|
|
154
|
+
async addBlockToStructure(blockId, parentPath) {
|
|
155
|
+
const response = await this.client.post("/api/structure/add-block", {
|
|
156
|
+
blockId,
|
|
157
|
+
parentPath: parentPath || "/",
|
|
158
|
+
});
|
|
159
|
+
return response.data;
|
|
160
|
+
}
|
|
161
|
+
async logout() {
|
|
162
|
+
try {
|
|
163
|
+
await this.client.post("/api/auth/logout");
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
// Ignore logout errors
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
this.clearStoredToken();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async updateBlockGitUrl(blockId, gitUrl, resetToDefault) {
|
|
173
|
+
const response = await this.client.patch(`/api/blocks/${blockId}/git-url`, {
|
|
174
|
+
gitUrl,
|
|
175
|
+
resetToDefault,
|
|
176
|
+
});
|
|
177
|
+
return response.data;
|
|
178
|
+
}
|
|
179
|
+
// GitHub OAuth methods
|
|
180
|
+
async getGitHubAuthUrl() {
|
|
181
|
+
const response = await this.client.get("/api/auth/github/url");
|
|
182
|
+
return response.data;
|
|
183
|
+
}
|
|
184
|
+
async getGitHubStatus() {
|
|
185
|
+
const response = await this.client.get("/api/auth/github/status");
|
|
186
|
+
return response.data;
|
|
187
|
+
}
|
|
188
|
+
async getGitHubToken() {
|
|
189
|
+
const response = await this.client.get("/api/auth/github/token");
|
|
190
|
+
return response.data;
|
|
191
|
+
}
|
|
192
|
+
async disconnectGitHub() {
|
|
193
|
+
const response = await this.client.post("/api/auth/github/disconnect");
|
|
194
|
+
return response.data;
|
|
195
|
+
}
|
|
196
|
+
setBaseUrl(url) {
|
|
197
|
+
this.baseUrl = url;
|
|
198
|
+
this.client.defaults.baseURL = url;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.apiClient = new ApiClient();
|
|
202
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,IAAI,OAAO,CAO7C;AAED,wBAAgB,oBAAoB,IAAI,GAAG,CAE1C;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}
|