mcpize 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 (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +140 -0
  3. package/dist/commands/deploy.d.ts +8 -0
  4. package/dist/commands/deploy.d.ts.map +1 -0
  5. package/dist/commands/deploy.js +337 -0
  6. package/dist/commands/deploy.js.map +1 -0
  7. package/dist/commands/doctor.d.ts +7 -0
  8. package/dist/commands/doctor.d.ts.map +1 -0
  9. package/dist/commands/doctor.js +257 -0
  10. package/dist/commands/doctor.js.map +1 -0
  11. package/dist/commands/init.d.ts +9 -0
  12. package/dist/commands/init.d.ts.map +1 -0
  13. package/dist/commands/init.js +238 -0
  14. package/dist/commands/init.js.map +1 -0
  15. package/dist/commands/link.d.ts +6 -0
  16. package/dist/commands/link.d.ts.map +1 -0
  17. package/dist/commands/link.js +147 -0
  18. package/dist/commands/link.js.map +1 -0
  19. package/dist/commands/login.d.ts +2 -0
  20. package/dist/commands/login.d.ts.map +1 -0
  21. package/dist/commands/login.js +88 -0
  22. package/dist/commands/login.js.map +1 -0
  23. package/dist/commands/logout.d.ts +2 -0
  24. package/dist/commands/logout.d.ts.map +1 -0
  25. package/dist/commands/logout.js +9 -0
  26. package/dist/commands/logout.js.map +1 -0
  27. package/dist/commands/logs.d.ts +13 -0
  28. package/dist/commands/logs.d.ts.map +1 -0
  29. package/dist/commands/logs.js +173 -0
  30. package/dist/commands/logs.js.map +1 -0
  31. package/dist/commands/secrets.d.ts +16 -0
  32. package/dist/commands/secrets.d.ts.map +1 -0
  33. package/dist/commands/secrets.js +195 -0
  34. package/dist/commands/secrets.js.map +1 -0
  35. package/dist/commands/status.d.ts +7 -0
  36. package/dist/commands/status.d.ts.map +1 -0
  37. package/dist/commands/status.js +187 -0
  38. package/dist/commands/status.js.map +1 -0
  39. package/dist/index.d.ts +3 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +241 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/lib/api.d.ts +154 -0
  44. package/dist/lib/api.d.ts.map +1 -0
  45. package/dist/lib/api.js +364 -0
  46. package/dist/lib/api.js.map +1 -0
  47. package/dist/lib/auth.d.ts +20 -0
  48. package/dist/lib/auth.d.ts.map +1 -0
  49. package/dist/lib/auth.js +106 -0
  50. package/dist/lib/auth.js.map +1 -0
  51. package/dist/lib/cache.d.ts +39 -0
  52. package/dist/lib/cache.d.ts.map +1 -0
  53. package/dist/lib/cache.js +112 -0
  54. package/dist/lib/cache.js.map +1 -0
  55. package/dist/lib/config.d.ts +21 -0
  56. package/dist/lib/config.d.ts.map +1 -0
  57. package/dist/lib/config.js +90 -0
  58. package/dist/lib/config.js.map +1 -0
  59. package/dist/lib/degit.d.ts +25 -0
  60. package/dist/lib/degit.d.ts.map +1 -0
  61. package/dist/lib/degit.js +187 -0
  62. package/dist/lib/degit.js.map +1 -0
  63. package/dist/lib/git.d.ts +10 -0
  64. package/dist/lib/git.d.ts.map +1 -0
  65. package/dist/lib/git.js +43 -0
  66. package/dist/lib/git.js.map +1 -0
  67. package/dist/lib/project.d.ts +38 -0
  68. package/dist/lib/project.d.ts.map +1 -0
  69. package/dist/lib/project.js +72 -0
  70. package/dist/lib/project.js.map +1 -0
  71. package/dist/lib/tarball.d.ts +7 -0
  72. package/dist/lib/tarball.d.ts.map +1 -0
  73. package/dist/lib/tarball.js +130 -0
  74. package/dist/lib/tarball.js.map +1 -0
  75. package/package.json +56 -0
@@ -0,0 +1,147 @@
1
+ import chalk from "chalk";
2
+ import ora from "ora";
3
+ import Enquirer from "enquirer";
4
+ const { prompt } = Enquirer;
5
+ import { getToken } from "../lib/config.js";
6
+ import { listServers, findServerByRepo, } from "../lib/api.js";
7
+ import { getGitInfo } from "../lib/git.js";
8
+ import { loadProjectConfig, saveProjectConfig, } from "../lib/project.js";
9
+ export async function linkCommand(options) {
10
+ const cwd = process.cwd();
11
+ // Check authentication
12
+ const token = getToken();
13
+ if (!token) {
14
+ console.error(chalk.red("Not authenticated. Run: mcpize login"));
15
+ process.exit(1);
16
+ }
17
+ console.log(chalk.bold("\nMCPize Link\n"));
18
+ // Check if already linked
19
+ const existingConfig = loadProjectConfig(cwd);
20
+ if (existingConfig?.serverId && !options.force) {
21
+ console.log(chalk.yellow(`Already linked to: ${existingConfig.serverName || existingConfig.serverId}`));
22
+ console.log(chalk.dim("Use --force to re-link to a different server.\n"));
23
+ process.exit(0);
24
+ }
25
+ let serverId;
26
+ let serverName;
27
+ let serverBranch;
28
+ // If server ID provided via option
29
+ if (options.server) {
30
+ serverId = options.server;
31
+ console.log(chalk.dim(`Linking to server: ${serverId}`));
32
+ }
33
+ else {
34
+ // Try to find by repo first
35
+ const gitInfo = await getGitInfo(cwd);
36
+ if (gitInfo?.repoFullName) {
37
+ console.log(chalk.dim(`Repository: ${gitInfo.repoFullName}\n`));
38
+ const spinner = ora("Checking for existing server...").start();
39
+ try {
40
+ const existingServer = await findServerByRepo(gitInfo.repoFullName);
41
+ spinner.stop();
42
+ if (existingServer) {
43
+ console.log(chalk.green(`✓ Found server for this repository: ${existingServer.name}\n`));
44
+ const response = await prompt({
45
+ type: "confirm",
46
+ name: "confirm",
47
+ message: `Link to "${existingServer.name}"?`,
48
+ initial: true,
49
+ });
50
+ if (response.confirm) {
51
+ serverId = existingServer.id;
52
+ serverName = existingServer.name;
53
+ serverBranch = existingServer.branch;
54
+ }
55
+ else {
56
+ // Fall through to manual selection
57
+ const manualServer = await selectServer();
58
+ if (!manualServer)
59
+ process.exit(0);
60
+ serverId = manualServer.id;
61
+ serverName = manualServer.name;
62
+ serverBranch = manualServer.branch;
63
+ }
64
+ }
65
+ else {
66
+ console.log(chalk.dim("No server found for this repository.\n"));
67
+ const manualServer = await selectServer();
68
+ if (!manualServer)
69
+ process.exit(0);
70
+ serverId = manualServer.id;
71
+ serverName = manualServer.name;
72
+ serverBranch = manualServer.branch;
73
+ }
74
+ }
75
+ catch (error) {
76
+ spinner.stop();
77
+ const manualServer = await selectServer();
78
+ if (!manualServer)
79
+ process.exit(0);
80
+ serverId = manualServer.id;
81
+ serverName = manualServer.name;
82
+ serverBranch = manualServer.branch;
83
+ }
84
+ }
85
+ else {
86
+ console.log(chalk.dim("Not a git repository or no remote configured.\n"));
87
+ const manualServer = await selectServer();
88
+ if (!manualServer)
89
+ process.exit(0);
90
+ serverId = manualServer.id;
91
+ serverName = manualServer.name;
92
+ serverBranch = manualServer.branch;
93
+ }
94
+ }
95
+ // Save project config
96
+ const projectConfig = {
97
+ serverId,
98
+ serverName,
99
+ branch: serverBranch,
100
+ };
101
+ saveProjectConfig(cwd, projectConfig);
102
+ console.log(chalk.green(`\n✓ Linked to ${serverName || serverId}`));
103
+ console.log(chalk.dim("Saved to .mcpize/project.json"));
104
+ console.log(chalk.dim("\nRun 'mcpize deploy' to deploy your server.\n"));
105
+ }
106
+ async function selectServer() {
107
+ const spinner = ora("Fetching servers...").start();
108
+ let servers;
109
+ try {
110
+ servers = await listServers();
111
+ spinner.stop();
112
+ }
113
+ catch (error) {
114
+ spinner.fail("Failed to fetch servers");
115
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
116
+ process.exit(1);
117
+ }
118
+ if (servers.length === 0) {
119
+ console.log(chalk.yellow("\nNo servers found."));
120
+ console.log(chalk.dim("Create a server with: mcpize deploy"));
121
+ console.log(chalk.dim("Or create one at: https://mcpize.com/servers/new\n"));
122
+ return null;
123
+ }
124
+ const response = await prompt({
125
+ type: "select",
126
+ name: "server",
127
+ message: "Select a server to link:",
128
+ choices: [
129
+ ...servers.map((s) => ({
130
+ name: s.id,
131
+ message: `${s.name} (${s.slug})${s.repo_full_name ? ` - ${s.repo_full_name}` : ""}`,
132
+ value: s.id,
133
+ })),
134
+ {
135
+ name: "cancel",
136
+ message: "Cancel",
137
+ value: "cancel",
138
+ },
139
+ ],
140
+ });
141
+ if (response.server === "cancel") {
142
+ console.log(chalk.dim("\nLink cancelled."));
143
+ return null;
144
+ }
145
+ return servers.find((s) => s.id === response.server) || null;
146
+ }
147
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function loginCommand(): Promise<void>;
2
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AA6BA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAsGlD"}
@@ -0,0 +1,88 @@
1
+ import chalk from "chalk";
2
+ import Enquirer from "enquirer";
3
+ import ora from "ora";
4
+ import { setSession, clearSession, getSupabaseUrl, getSupabaseAnonKey, } from "../lib/config.js";
5
+ import { isAuthenticated } from "../lib/auth.js";
6
+ const { prompt } = Enquirer;
7
+ export async function loginCommand() {
8
+ console.log(chalk.bold("\nMCPize Login\n"));
9
+ // Check if already logged in
10
+ const authenticated = await isAuthenticated();
11
+ if (authenticated) {
12
+ console.log(chalk.green("✓ Already logged in.\n"));
13
+ const response = await prompt({
14
+ type: "confirm",
15
+ name: "relogin",
16
+ message: "Do you want to login with a different account?",
17
+ initial: false,
18
+ });
19
+ if (!response.relogin) {
20
+ return;
21
+ }
22
+ }
23
+ // Prompt for credentials
24
+ const credentials = await prompt([
25
+ {
26
+ type: "input",
27
+ name: "email",
28
+ message: "Email:",
29
+ validate: (value) => {
30
+ if (!value || !value.includes("@")) {
31
+ return "Please enter a valid email";
32
+ }
33
+ return true;
34
+ },
35
+ },
36
+ {
37
+ type: "password",
38
+ name: "password",
39
+ message: "Password:",
40
+ validate: (value) => {
41
+ if (!value || value.length < 6) {
42
+ return "Password must be at least 6 characters";
43
+ }
44
+ return true;
45
+ },
46
+ },
47
+ ]);
48
+ const spinner = ora("Authenticating...").start();
49
+ try {
50
+ const supabaseUrl = getSupabaseUrl();
51
+ const anonKey = getSupabaseAnonKey();
52
+ const response = await fetch(`${supabaseUrl}/auth/v1/token?grant_type=password`, {
53
+ method: "POST",
54
+ headers: {
55
+ "Content-Type": "application/json",
56
+ apikey: anonKey,
57
+ },
58
+ body: JSON.stringify({
59
+ email: credentials.email,
60
+ password: credentials.password,
61
+ }),
62
+ });
63
+ if (!response.ok) {
64
+ const error = (await response.json());
65
+ const errorMessage = error.error_description || error.msg || error.error || "Login failed";
66
+ throw new Error(errorMessage);
67
+ }
68
+ const authData = (await response.json());
69
+ // Save session with refresh token
70
+ setSession(authData.access_token, authData.refresh_token, authData.expires_in);
71
+ spinner.succeed(chalk.green("Login successful!"));
72
+ if (authData.user?.email) {
73
+ console.log(chalk.dim(`Logged in as: ${authData.user.email}`));
74
+ }
75
+ console.log(chalk.dim("\nSession saved to ~/.mcpize/config.json"));
76
+ console.log(chalk.dim("Your session will be refreshed automatically.\n"));
77
+ console.log(chalk.dim("Next steps:"));
78
+ console.log(chalk.dim(" 1. cd your-mcp-project"));
79
+ console.log(chalk.dim(" 2. mcpize deploy\n"));
80
+ }
81
+ catch (error) {
82
+ spinner.fail(chalk.red("Login failed"));
83
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
84
+ clearSession();
85
+ process.exit(1);
86
+ }
87
+ }
88
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;AAkB5B,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE5C,6BAA6B;IAC7B,MAAM,aAAa,GAAG,MAAM,eAAe,EAAE,CAAC;IAC9C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAuB;YAClD,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,gDAAgD;YACzD,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAsC;QACpE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,4BAA4B,CAAC;gBACtC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,OAAO,wCAAwC,CAAC;gBAClD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,WAAW,oCAAoC,EAClD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,OAAO;aAChB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B,CAAC;SACH,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;YACnD,MAAM,YAAY,GAChB,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;QAEzD,kCAAkC;QAClC,UAAU,CACR,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,UAAU,CACpB,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAElD,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAClE,CAAC;QACF,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function logoutCommand(): Promise<void>;
2
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAOnD"}
@@ -0,0 +1,9 @@
1
+ import chalk from "chalk";
2
+ import { clearSession } from "../lib/config.js";
3
+ export async function logoutCommand() {
4
+ console.log(chalk.bold("\nMCPize Logout\n"));
5
+ clearSession();
6
+ console.log(chalk.green("✓ Logged out successfully.\n"));
7
+ console.log(chalk.dim("Run mcpize login to authenticate again.\n"));
8
+ }
9
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE7C,YAAY,EAAE,CAAC;IAEf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,13 @@
1
+ export interface LogsOptions {
2
+ server?: string;
3
+ deployment?: string;
4
+ type?: "build" | "runtime" | "bridge";
5
+ severity?: "DEBUG" | "INFO" | "WARNING" | "ERROR";
6
+ since?: string;
7
+ tail?: number;
8
+ follow?: boolean;
9
+ json?: boolean;
10
+ refresh?: boolean;
11
+ }
12
+ export declare function logsCommand(options: LogsOptions): Promise<void>;
13
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJrE"}
@@ -0,0 +1,173 @@
1
+ import chalk from "chalk";
2
+ import ora from "ora";
3
+ import { getToken } from "../lib/config.js";
4
+ import { loadProjectConfig } from "../lib/project.js";
5
+ import { listLogs, withRetry, NetworkError, } from "../lib/api.js";
6
+ import { getCache, getCacheStale, setCache, formatAge as formatCacheAge, CacheTTL, CacheKeys, } from "../lib/cache.js";
7
+ function getServerId(options) {
8
+ if (options.server) {
9
+ return options.server;
10
+ }
11
+ const projectConfig = loadProjectConfig(process.cwd());
12
+ if (projectConfig?.serverId) {
13
+ return projectConfig.serverId;
14
+ }
15
+ console.error(chalk.red("No server specified."));
16
+ console.error(chalk.dim("Use --server <id> or run from a linked project directory."));
17
+ process.exit(1);
18
+ }
19
+ function requireAuth() {
20
+ const token = getToken();
21
+ if (!token) {
22
+ console.error(chalk.red("Not authenticated. Run: mcpize login"));
23
+ process.exit(1);
24
+ }
25
+ }
26
+ function formatSeverity(severity) {
27
+ switch (severity.toUpperCase()) {
28
+ case "ERROR":
29
+ case "CRITICAL":
30
+ case "ALERT":
31
+ case "EMERGENCY":
32
+ return chalk.red.bold(severity.padEnd(8));
33
+ case "WARNING":
34
+ return chalk.yellow.bold(severity.padEnd(8));
35
+ case "INFO":
36
+ case "NOTICE":
37
+ return chalk.blue(severity.padEnd(8));
38
+ case "DEBUG":
39
+ return chalk.dim(severity.padEnd(8));
40
+ default:
41
+ return severity.padEnd(8);
42
+ }
43
+ }
44
+ function formatTimestamp(timestamp) {
45
+ const date = new Date(timestamp);
46
+ return chalk.dim(date.toLocaleTimeString("en-US", {
47
+ hour: "2-digit",
48
+ minute: "2-digit",
49
+ second: "2-digit",
50
+ hour12: false,
51
+ }));
52
+ }
53
+ function printLog(log) {
54
+ const time = formatTimestamp(log.timestamp);
55
+ const severity = formatSeverity(log.severity);
56
+ console.log(`${time} ${severity} ${log.message}`);
57
+ }
58
+ export async function logsCommand(options) {
59
+ requireAuth();
60
+ const serverId = getServerId(options);
61
+ const logType = options.type || "runtime";
62
+ const cacheKey = CacheKeys.serverLogs(serverId, logType);
63
+ if (options.follow) {
64
+ console.log(chalk.yellow("--follow mode requires Supabase Realtime integration."));
65
+ console.log(chalk.dim("Showing latest logs instead...\n"));
66
+ }
67
+ // Try to get from cache first (unless --refresh)
68
+ let response = null;
69
+ let fromCache = false;
70
+ let cacheAge = 0;
71
+ if (!options.refresh) {
72
+ const cached = getCache(cacheKey);
73
+ if (cached) {
74
+ response = cached.data;
75
+ fromCache = true;
76
+ cacheAge = cached.age;
77
+ }
78
+ }
79
+ // Fetch from API if no cache or refresh requested
80
+ if (!response) {
81
+ const spinner = ora("Fetching logs from Cloud Logging...").start();
82
+ try {
83
+ response = await withRetry(() => listLogs(serverId, {
84
+ deploymentId: options.deployment,
85
+ type: logType,
86
+ severity: options.severity,
87
+ since: options.since,
88
+ limit: options.tail || 50,
89
+ }), {
90
+ onRetry: (attempt, delay) => {
91
+ spinner.text = `Retrying... (attempt ${attempt + 1}/3, waiting ${delay / 1000}s)`;
92
+ },
93
+ });
94
+ spinner.stop();
95
+ // Save to cache
96
+ setCache(cacheKey, response, CacheTTL.LOGS);
97
+ fromCache = false;
98
+ }
99
+ catch (error) {
100
+ spinner.stop();
101
+ // Try stale cache as fallback
102
+ const staleCache = getCacheStale(cacheKey);
103
+ if (staleCache) {
104
+ console.log(chalk.yellow(`\n⚠ Cannot connect to MCPize API (showing cached logs from ${formatCacheAge(staleCache.age)})\n`));
105
+ response = staleCache.data;
106
+ fromCache = true;
107
+ cacheAge = staleCache.age;
108
+ }
109
+ else {
110
+ // No cache available, show error
111
+ if (error instanceof NetworkError) {
112
+ console.error(chalk.red(`\n✗ ${error.message}`));
113
+ console.error(chalk.dim("Run 'mcpize logs --refresh' when online to update"));
114
+ }
115
+ else {
116
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
117
+ }
118
+ process.exit(1);
119
+ }
120
+ }
121
+ }
122
+ // Check if there was an error fetching logs
123
+ if (response.message) {
124
+ console.log(chalk.yellow(response.message));
125
+ if (response.error_code) {
126
+ console.log(chalk.dim(`Error code: ${response.error_code}`));
127
+ }
128
+ return;
129
+ }
130
+ if (response.logs.length === 0) {
131
+ console.log(chalk.dim("No logs found."));
132
+ if (options.since) {
133
+ console.log(chalk.dim(`Try a longer time range (current: --since ${options.since})`));
134
+ }
135
+ return;
136
+ }
137
+ if (options.json) {
138
+ console.log(JSON.stringify({ ...response, _cached: fromCache, _cacheAge: cacheAge }, null, 2));
139
+ return;
140
+ }
141
+ // Print header
142
+ const filters = [];
143
+ if (options.deployment)
144
+ filters.push(`deployment: ${options.deployment.slice(0, 8)}`);
145
+ if (options.type)
146
+ filters.push(`type: ${options.type}`);
147
+ if (options.severity)
148
+ filters.push(`severity: ${options.severity}+`);
149
+ if (options.since)
150
+ filters.push(`since: ${options.since}`);
151
+ // Show cached indicator
152
+ if (fromCache && cacheAge > 0) {
153
+ console.log(chalk.dim(`(cached ${formatCacheAge(cacheAge)})`));
154
+ }
155
+ console.log(chalk.bold(`Logs from Cloud Logging (${logType}):\n`));
156
+ if (filters.length > 0) {
157
+ console.log(chalk.dim(`Filters: ${filters.join(", ")}\n`));
158
+ }
159
+ // Print logs (reverse to show oldest first)
160
+ const logsToShow = [...response.logs].reverse();
161
+ for (const log of logsToShow) {
162
+ printLog(log);
163
+ }
164
+ console.log();
165
+ console.log(chalk.dim(`Showing ${response.logs.length} log entries`));
166
+ if (response.nextPageToken) {
167
+ console.log(chalk.dim(`More logs available (use --tail for more)`));
168
+ }
169
+ if (fromCache) {
170
+ console.log(chalk.dim("\nRun 'mcpize logs --refresh' to update"));
171
+ }
172
+ }
173
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface SecretsOptions {
2
+ environment?: string;
3
+ server?: string;
4
+ }
5
+ export declare function secretsListCommand(options: SecretsOptions): Promise<void>;
6
+ export interface SecretsSetOptions extends SecretsOptions {
7
+ required?: boolean;
8
+ fromFile?: string;
9
+ }
10
+ export declare function secretsSetCommand(name: string, value: string | undefined, options: SecretsSetOptions): Promise<void>;
11
+ export declare function secretsDeleteCommand(name: string, options: SecretsOptions): Promise<void>;
12
+ export interface SecretsExportOptions extends SecretsOptions {
13
+ format?: "env" | "json";
14
+ }
15
+ export declare function secretsExportCommand(options: SecretsExportOptions): Promise<void>;
16
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/commands/secrets.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4BD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/E;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Ff;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACzB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAyCf"}