@vue-skuilder/cli 0.1.11-22 → 0.1.11-25

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.
@@ -130,18 +130,18 @@ async function launchStudio(coursePath, options) {
130
130
  console.log(chalk.cyan(`📦 Unpacking course data to studio database...`));
131
131
  const unpackResult = await unpackCourseToStudio(resolvedPath, couchDBManager.getConnectionDetails());
132
132
  // Phase 9.5: Launch Express backend
133
- const expressResult = await startExpressBackend(couchDBManager.getConnectionDetails(), resolvedPath, unpackResult.databaseName);
133
+ const expressResult = await startExpressBackend(couchDBManager.getConnectionDetails(), unpackResult.databaseName);
134
134
  expressServer = expressResult.server;
135
135
  // Phase 7: Launch studio-ui server
136
136
  console.log(chalk.cyan(`🌐 Starting studio-ui server...`));
137
137
  console.log(chalk.gray(` Debug: Unpack result - Database: "${unpackResult.databaseName}", Course ID: "${unpackResult.courseId}"`));
138
- const studioUIPort = await startStudioUIServer(couchDBManager.getConnectionDetails(), unpackResult, studioUIPath);
138
+ const studioUIPort = await startStudioUIServer(couchDBManager.getConnectionDetails(), unpackResult, studioUIPath, expressResult.url);
139
139
  console.log(chalk.green(`✅ Studio session ready!`));
140
140
  console.log(chalk.white(`🎨 Studio URL: http://localhost:${studioUIPort}`));
141
141
  console.log(chalk.gray(` Database: ${studioDatabaseName} on port ${options.port}`));
142
142
  console.log(chalk.gray(` Express API: ${expressResult.url}`));
143
143
  // Display MCP connection information
144
- const mcpInfo = getMCPConnectionInfo(unpackResult, couchDBManager, resolvedPath);
144
+ const mcpInfo = getMCPConnectionInfo(unpackResult, couchDBManager);
145
145
  console.log(chalk.blue(`🔗 MCP Server: ${mcpInfo.command}`));
146
146
  console.log(chalk.gray(` Connect MCP clients using the command above`));
147
147
  console.log(chalk.gray(` Environment variables for MCP:`));
@@ -149,7 +149,7 @@ async function launchStudio(coursePath, options) {
149
149
  console.log(chalk.gray(` ${key}=${value}`));
150
150
  });
151
151
  // Display .mcp.json content for Claude Code integration
152
- const mcpJsonContent = generateMCPJson(unpackResult, couchDBManager, resolvedPath);
152
+ const mcpJsonContent = generateMCPJson(unpackResult, couchDBManager);
153
153
  console.log(chalk.blue(`📋 .mcp.json content:`));
154
154
  console.log(chalk.gray(mcpJsonContent));
155
155
  if (options.browser) {
@@ -299,7 +299,7 @@ async function stopStudioSession() {
299
299
  couchDBManager = null;
300
300
  }
301
301
  }
302
- async function startStudioUIServer(connectionDetails, unpackResult, studioPath) {
302
+ async function startStudioUIServer(connectionDetails, unpackResult, studioPath, expressApiUrl) {
303
303
  // Serve from built dist directory if it exists, otherwise fallback to source
304
304
  const distPath = path.join(studioPath, 'dist');
305
305
  const studioSourcePath = fs.existsSync(distPath) ? distPath : studioPath;
@@ -347,6 +347,9 @@ async function startStudioUIServer(connectionDetails, unpackResult, studioPath)
347
347
  name: '${unpackResult.databaseName}',
348
348
  courseId: '${unpackResult.courseId}',
349
349
  originalCourseId: '${unpackResult.courseId}'
350
+ },
351
+ express: {
352
+ url: '${expressApiUrl || 'http://localhost:3000'}'
350
353
  }
351
354
  };
352
355
  </script>
@@ -374,6 +377,9 @@ async function startStudioUIServer(connectionDetails, unpackResult, studioPath)
374
377
  name: '${unpackResult.databaseName}',
375
378
  courseId: '${unpackResult.courseId}',
376
379
  originalCourseId: '${unpackResult.courseId}'
380
+ },
381
+ express: {
382
+ url: '${expressApiUrl || 'http://localhost:3000'}'
377
383
  }
378
384
  };
379
385
  </script>
@@ -443,7 +449,7 @@ async function openBrowser(url) {
443
449
  /**
444
450
  * Phase 9.5: Start Express backend server
445
451
  */
446
- async function startExpressBackend(couchDbConnectionDetails, _projectPath, databaseName) {
452
+ async function startExpressBackend(couchDbConnectionDetails, databaseName) {
447
453
  console.log(chalk.blue('⚡ Starting Express backend server...'));
448
454
  // Find available port starting from 3001
449
455
  const availablePort = await findAvailablePort(3001);
@@ -469,6 +475,8 @@ async function startExpressBackend(couchDbConnectionDetails, _projectPath, datab
469
475
  },
470
476
  };
471
477
  try {
478
+ // Set NODE_ENV for studio mode authentication bypass
479
+ process.env.NODE_ENV = 'studio';
472
480
  // Create Express app using factory
473
481
  const app = createExpressApp(config);
474
482
  // Start server
@@ -999,7 +1007,7 @@ export default defineConfig({
999
1007
  },
1000
1008
  dedupe: [
1001
1009
  'vue',
1002
- 'vuetify',
1010
+ 'vuetify',
1003
1011
  'vue-router',
1004
1012
  'pinia',
1005
1013
  '@vue-skuilder/db',
@@ -1014,48 +1022,28 @@ export default defineConfig({
1014
1022
  console.log(chalk.gray(` Vite config replaced with studio version`));
1015
1023
  }
1016
1024
  /**
1017
- * Determine the correct MCP server executable path/command based on project context
1025
+ * Determine the correct MCP server executable path.
1026
+ * This is now greatly simplified because the bundled server is always
1027
+ * located relative to this `studio.ts` file.
1018
1028
  */
1019
- function resolveMCPExecutable(projectPath) {
1020
- // Check if we're in the monorepo (packages/cli exists)
1021
- const monorepoCliPath = path.join(projectPath, 'packages', 'cli', 'dist', 'mcp-server.js');
1022
- if (fs.existsSync(monorepoCliPath)) {
1023
- return {
1024
- command: './packages/cli/dist/mcp-server.js',
1025
- args: [],
1026
- isNpx: false,
1027
- };
1028
- }
1029
- // Check if @vue-skuilder/cli is installed as a dependency
1030
- const scaffoldedCliPath = path.join(projectPath, 'node_modules', '@vue-skuilder', 'cli', 'dist', 'mcp-server.js');
1031
- if (fs.existsSync(scaffoldedCliPath)) {
1032
- return {
1033
- command: './node_modules/@vue-skuilder/cli/dist/mcp-server.js',
1034
- args: [],
1035
- isNpx: false,
1036
- };
1037
- }
1038
- // Fallback to npx approach
1029
+ function resolveMCPExecutable() {
1030
+ // Resolve the path to the bundled server relative to the current file.
1031
+ // __dirname is the `dist/commands` directory.
1032
+ const serverPath = path.resolve(__dirname, '..', 'mcp-server.js');
1039
1033
  return {
1040
- command: 'npx',
1041
- args: ['@vue-skuilder/cli', 'mcp-server'],
1042
- isNpx: true,
1034
+ command: 'node',
1035
+ args: [serverPath],
1043
1036
  };
1044
1037
  }
1045
1038
  /**
1046
1039
  * Generate MCP connection information for studio session
1047
1040
  */
1048
- function getMCPConnectionInfo(unpackResult, couchDBManager, projectPath) {
1041
+ function getMCPConnectionInfo(unpackResult, couchDBManager) {
1049
1042
  const couchDetails = couchDBManager.getConnectionDetails();
1050
- const executable = resolveMCPExecutable(projectPath);
1043
+ const executable = resolveMCPExecutable();
1044
+ const port = couchDetails.port || 5985;
1051
1045
  // Build command string for display
1052
- let commandStr;
1053
- if (executable.isNpx) {
1054
- commandStr = `${executable.command} ${executable.args.join(' ')} ${unpackResult.databaseName} ${couchDetails.port}`;
1055
- }
1056
- else {
1057
- commandStr = `node ${executable.command} ${unpackResult.databaseName} ${couchDetails.port}`;
1058
- }
1046
+ const commandStr = `${executable.command} ${executable.args.join(' ')} ${unpackResult.databaseName} ${port}`;
1059
1047
  return {
1060
1048
  command: commandStr,
1061
1049
  env: {
@@ -1069,10 +1057,10 @@ function getMCPConnectionInfo(unpackResult, couchDBManager, projectPath) {
1069
1057
  /**
1070
1058
  * Generate .mcp.json content for Claude Code integration
1071
1059
  */
1072
- function generateMCPJson(unpackResult, couchDBManager, projectPath, serverName = 'vue-skuilder-studio') {
1060
+ function generateMCPJson(unpackResult, couchDBManager, serverName = 'vue-skuilder-studio') {
1073
1061
  const couchDetails = couchDBManager.getConnectionDetails();
1074
1062
  const port = couchDetails.port || 5985;
1075
- const executable = resolveMCPExecutable(projectPath);
1063
+ const executable = resolveMCPExecutable();
1076
1064
  const mcpConfig = {
1077
1065
  mcpServers: {
1078
1066
  [serverName]: {
@@ -1 +1 @@
1
- {"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- #!/usr/bin/env node
2
1
  export {};
3
2
  //# sourceMappingURL=mcp-server.d.ts.map
@@ -1,6 +1,8 @@
1
- #!/usr/bin/env node
1
+ // MCP Server for Vue-Skuilder courses
2
+ // This file is bundled into a self-contained executable
2
3
  import { initializeDataLayer, getDataLayer, initializeTuiLogging } from '@vue-skuilder/db';
3
4
  import { MCPServer } from '@vue-skuilder/mcp';
5
+ import { consoleLogger } from '@vue-skuilder/common';
4
6
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
7
  initializeTuiLogging();
6
8
  async function main() {
@@ -32,10 +34,11 @@ async function main() {
32
34
  // Initialize data layer and get course DB
33
35
  await initializeDataLayer(couchdbConfig);
34
36
  const courseDB = getDataLayer().getCourseDB(courseId);
35
- // Create and start MCP server
37
+ // Create and start MCP server with console logger
36
38
  const server = new MCPServer(courseDB, {
37
39
  enableSourceLinking: true,
38
40
  maxCardsPerQuery: 50,
41
+ logger: consoleLogger,
39
42
  });
40
43
  const transport = new StdioServerTransport();
41
44
  await server.start(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,wDAAwD;AAExD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,oBAAoB,EAAE,CAAC;AAEvB,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpE,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAE3C,uDAAuD;QACvD,uFAAuF;QACvF,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,OAAgB;YACtB,OAAO,EAAE;gBACP,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,aAAa,IAAI,EAAE;gBACzE,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,MAAM;gBACtE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,UAAU;gBAC5B,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,2BAA2B;gBACnD,kBAAkB,EAAE,YAAY;aACjC;SACF,CAAC;QAEF,OAAO,CAAC,KAAK,CACX,4BAA4B,aAAa,CAAC,OAAO,CAAC,uBAAuB,MAAM,aAAa,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAC1H,CAAC;QAEF,0CAA0C;QAC1C,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtD,kDAAkD;QAClD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE;YACrC,mBAAmB,EAAE,IAAI;YACzB,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE9B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACzC,mBAAmB;AACrB,CAAC,CAAC,CAAC"}
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.11-22",
6
+ "version": "0.1.11-25",
7
7
  "type": "module",
8
8
  "main": "./dist-lib/questions.cjs.js",
9
9
  "module": "./dist-lib/questions.mjs",
@@ -1,7 +1,14 @@
1
1
  import { ServerRequest, ServerRequestType, PackCourse } from '@vue-skuilder/common';
2
2
 
3
3
  async function postWithResult<T extends ServerRequest>(request: Omit<T, 'response' | 'user'>): Promise<T['response']> {
4
- const response = await fetch('http://localhost:3000/', {
4
+ // Get Express API URL from studio configuration
5
+ const studioConfig = (window as any).STUDIO_CONFIG;
6
+ const expressUrl = studioConfig?.express?.url || 'http://localhost:3000/';
7
+
8
+ console.log('🚀 Sending request to:', expressUrl);
9
+ console.log('📦 Request payload:', JSON.stringify(request, null, 2));
10
+
11
+ const response = await fetch(expressUrl, {
5
12
  method: 'POST',
6
13
  headers: {
7
14
  'Content-Type': 'application/json',
@@ -13,18 +20,33 @@ async function postWithResult<T extends ServerRequest>(request: Omit<T, 'respons
13
20
  throw new Error(`HTTP error! status: ${response.status}`);
14
21
  }
15
22
 
16
- return await response.json();
23
+ const result = await response.json();
24
+ console.log('📥 Response received:', JSON.stringify(result, null, 2));
25
+ return result;
17
26
  }
18
27
 
19
28
  export async function flushCourse(courseId: string, outputPath?: string) {
20
29
  // Get the original course ID for the output path
21
30
  // courseId here is the decorated database name, we need the original ID for the path
22
31
  const studioConfig = (window as any).STUDIO_CONFIG;
32
+ console.log('🎯 Studio config:', JSON.stringify(studioConfig, null, 2));
33
+
23
34
  const originalCourseId = studioConfig?.database?.originalCourseId || courseId;
35
+ console.log('📋 Original course ID:', originalCourseId);
36
+
37
+ // Build CouchDB URL from studio configuration with credentials
38
+ const couchdbConfig = studioConfig?.couchdb;
39
+ const couchdbUrl = couchdbConfig
40
+ ? `http://${couchdbConfig.username}:${couchdbConfig.password}@${couchdbConfig.url.replace(/^https?:\/\//, '').replace(/\/$/, '')}/coursedb-${courseId}`
41
+ : undefined;
42
+
43
+ console.log('🗄️ CouchDB config:', couchdbConfig);
44
+ console.log('🔗 Constructed CouchDB URL:', couchdbUrl);
24
45
 
25
46
  return await postWithResult<PackCourse>({
26
47
  type: ServerRequestType.PACK_COURSE,
27
48
  courseId,
28
49
  outputPath: outputPath ? outputPath : `./public/static-courses/${originalCourseId}`,
50
+ couchdbUrl: couchdbUrl,
29
51
  });
30
52
  }
@@ -1,10 +1,5 @@
1
1
  <template>
2
- <v-btn
3
- color="success"
4
- :loading="flushing"
5
- :disabled="flushing"
6
- @click="handleFlush"
7
- >
2
+ <v-btn color="success" :loading="flushing" :disabled="flushing" @click="handleFlush">
8
3
  <v-icon start>mdi-content-save</v-icon>
9
4
  Flush to Static
10
5
  </v-btn>
@@ -16,37 +11,29 @@
16
11
  <v-icon :color="dialogIcon.color" class="me-2">{{ dialogIcon.icon }}</v-icon>
17
12
  {{ dialogTitle }}
18
13
  </v-card-title>
19
-
14
+
20
15
  <v-card-text>
21
16
  <div v-if="flushing">
22
17
  <v-progress-linear indeterminate class="mb-4" />
23
18
  <p>{{ flushStatus }}</p>
24
19
  </div>
25
-
20
+
26
21
  <div v-else-if="flushError">
27
22
  <v-alert type="error" class="mb-4">
28
23
  {{ flushError }}
29
24
  </v-alert>
30
25
  <p>The flush operation failed. Please check the console for more details.</p>
31
26
  </div>
32
-
27
+
33
28
  <div v-else>
34
- <v-alert type="success" class="mb-4">
35
- Course successfully saved to static files!
36
- </v-alert>
29
+ <v-alert type="success" class="mb-4"> Course successfully saved to static files! </v-alert>
37
30
  <p>Your changes have been packed and saved to the course directory.</p>
38
31
  </div>
39
32
  </v-card-text>
40
-
33
+
41
34
  <v-card-actions>
42
35
  <v-spacer />
43
- <v-btn
44
- v-if="!flushing"
45
- color="primary"
46
- @click="showDialog = false"
47
- >
48
- Close
49
- </v-btn>
36
+ <v-btn v-if="!flushing" color="primary" @click="showDialog = false"> Close </v-btn>
50
37
  </v-card-actions>
51
38
  </v-card>
52
39
  </v-dialog>
@@ -86,16 +73,17 @@ async function handleFlush() {
86
73
  flushing.value = true;
87
74
  flushError.value = null;
88
75
  showDialog.value = true;
89
-
76
+
90
77
  try {
91
78
  flushStatus.value = 'Connecting to CLI...';
92
79
 
93
80
  const result = await flushCourse(props.courseId);
94
81
 
95
- if (!result.ok) {
82
+ if (result === null) {
83
+ throw new Error('null result from flushCourse');
84
+ } else if (!result.ok) {
96
85
  throw new Error(result.errorText ?? 'Unknown error');
97
86
  }
98
-
99
87
  } catch (error) {
100
88
  console.error('Flush failed:', error);
101
89
  flushError.value = error instanceof Error ? error.message : 'Unknown error occurred';
@@ -103,6 +91,4 @@ async function handleFlush() {
103
91
  flushing.value = false;
104
92
  }
105
93
  }
106
-
107
-
108
- </script>
94
+ </script>
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.11-22",
6
+ "version": "0.1.11-25",
7
7
  "type": "module",
8
8
  "scripts": {
9
9
  "dev": "vite",
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.11-22",
6
+ "version": "0.1.11-25",
7
7
  "type": "module",
8
8
  "description": "CLI scaffolding tool for vue-skuilder projects",
9
9
  "bin": {
@@ -38,17 +38,18 @@
38
38
  ],
39
39
  "dependencies": {
40
40
  "@mdi/font": "^7.3.67",
41
- "@vue-skuilder/common": "0.1.11-22",
42
- "@vue-skuilder/common-ui": "0.1.11-22",
43
- "@vue-skuilder/courseware": "0.1.11-22",
44
- "@vue-skuilder/db": "0.1.11-22",
45
- "@vue-skuilder/edit-ui": "0.1.11-22",
46
- "@vue-skuilder/express": "0.1.11-22",
47
- "@vue-skuilder/mcp": "0.1.11-22",
41
+ "@vue-skuilder/common": "0.1.11-25",
42
+ "@vue-skuilder/common-ui": "0.1.11-25",
43
+ "@vue-skuilder/courseware": "0.1.11-25",
44
+ "@vue-skuilder/db": "0.1.11-25",
45
+ "@vue-skuilder/edit-ui": "0.1.11-25",
46
+ "@vue-skuilder/express": "0.1.11-25",
47
+ "@vue-skuilder/mcp": "0.1.11-25",
48
48
  "chalk": "^5.3.0",
49
49
  "commander": "^11.0.0",
50
50
  "fs-extra": "^11.2.0",
51
51
  "inquirer": "^9.2.0",
52
+ "leveldown": "^6.1.1",
52
53
  "pinia": "^2.3.0",
53
54
  "pouchdb": "^9.0.0",
54
55
  "serve-static": "^1.15.0",
@@ -62,7 +63,7 @@
62
63
  "@types/node": "^20.0.0",
63
64
  "@types/serve-static": "^1.15.0",
64
65
  "@vitejs/plugin-vue": "^5.2.1",
65
- "@vue-skuilder/studio-ui": "0.1.11-22",
66
+ "@vue-skuilder/studio-ui": "0.1.11-25",
66
67
  "typescript": "~5.7.2",
67
68
  "vite": "^6.0.9",
68
69
  "vue-tsc": "^1.8.0"
@@ -185,7 +185,6 @@ async function launchStudio(coursePath: string, options: StudioOptions) {
185
185
  // Phase 9.5: Launch Express backend
186
186
  const expressResult = await startExpressBackend(
187
187
  couchDBManager.getConnectionDetails(),
188
- resolvedPath,
189
188
  unpackResult.databaseName
190
189
  );
191
190
  expressServer = expressResult.server;
@@ -200,7 +199,8 @@ async function launchStudio(coursePath: string, options: StudioOptions) {
200
199
  const studioUIPort = await startStudioUIServer(
201
200
  couchDBManager.getConnectionDetails(),
202
201
  unpackResult,
203
- studioUIPath
202
+ studioUIPath,
203
+ expressResult.url
204
204
  );
205
205
 
206
206
  console.log(chalk.green(`✅ Studio session ready!`));
@@ -209,7 +209,7 @@ async function launchStudio(coursePath: string, options: StudioOptions) {
209
209
  console.log(chalk.gray(` Express API: ${expressResult.url}`));
210
210
 
211
211
  // Display MCP connection information
212
- const mcpInfo = getMCPConnectionInfo(unpackResult, couchDBManager, resolvedPath);
212
+ const mcpInfo = getMCPConnectionInfo(unpackResult, couchDBManager);
213
213
  console.log(chalk.blue(`🔗 MCP Server: ${mcpInfo.command}`));
214
214
  console.log(chalk.gray(` Connect MCP clients using the command above`));
215
215
  console.log(chalk.gray(` Environment variables for MCP:`));
@@ -218,7 +218,7 @@ async function launchStudio(coursePath: string, options: StudioOptions) {
218
218
  });
219
219
 
220
220
  // Display .mcp.json content for Claude Code integration
221
- const mcpJsonContent = generateMCPJson(unpackResult, couchDBManager, resolvedPath);
221
+ const mcpJsonContent = generateMCPJson(unpackResult, couchDBManager);
222
222
  console.log(chalk.blue(`📋 .mcp.json content:`));
223
223
  console.log(chalk.gray(mcpJsonContent));
224
224
 
@@ -406,7 +406,8 @@ interface UnpackResult {
406
406
  async function startStudioUIServer(
407
407
  connectionDetails: ConnectionDetails,
408
408
  unpackResult: UnpackResult,
409
- studioPath: string
409
+ studioPath: string,
410
+ expressApiUrl?: string
410
411
  ): Promise<number> {
411
412
  // Serve from built dist directory if it exists, otherwise fallback to source
412
413
  const distPath = path.join(studioPath, 'dist');
@@ -457,6 +458,9 @@ async function startStudioUIServer(
457
458
  name: '${unpackResult.databaseName}',
458
459
  courseId: '${unpackResult.courseId}',
459
460
  originalCourseId: '${unpackResult.courseId}'
461
+ },
462
+ express: {
463
+ url: '${expressApiUrl || 'http://localhost:3000'}'
460
464
  }
461
465
  };
462
466
  </script>
@@ -485,6 +489,9 @@ async function startStudioUIServer(
485
489
  name: '${unpackResult.databaseName}',
486
490
  courseId: '${unpackResult.courseId}',
487
491
  originalCourseId: '${unpackResult.courseId}'
492
+ },
493
+ express: {
494
+ url: '${expressApiUrl || 'http://localhost:3000'}'
488
495
  }
489
496
  };
490
497
  </script>
@@ -561,7 +568,6 @@ async function openBrowser(url: string): Promise<void> {
561
568
  */
562
569
  async function startExpressBackend(
563
570
  couchDbConnectionDetails: ConnectionDetails,
564
- _projectPath: string,
565
571
  databaseName: string
566
572
  ): Promise<{ server: http.Server; port: number; url: string }> {
567
573
  console.log(chalk.blue('⚡ Starting Express backend server...'));
@@ -593,6 +599,9 @@ async function startExpressBackend(
593
599
  };
594
600
 
595
601
  try {
602
+ // Set NODE_ENV for studio mode authentication bypass
603
+ process.env.NODE_ENV = 'studio';
604
+
596
605
  // Create Express app using factory
597
606
  const app = createExpressApp(config);
598
607
 
@@ -1306,7 +1315,7 @@ export default defineConfig({
1306
1315
  },
1307
1316
  dedupe: [
1308
1317
  'vue',
1309
- 'vuetify',
1318
+ 'vuetify',
1310
1319
  'vue-router',
1311
1320
  'pinia',
1312
1321
  '@vue-skuilder/db',
@@ -1323,45 +1332,18 @@ export default defineConfig({
1323
1332
  }
1324
1333
 
1325
1334
  /**
1326
- * Determine the correct MCP server executable path/command based on project context
1335
+ * Determine the correct MCP server executable path.
1336
+ * This is now greatly simplified because the bundled server is always
1337
+ * located relative to this `studio.ts` file.
1327
1338
  */
1328
- function resolveMCPExecutable(projectPath: string): {
1329
- command: string;
1330
- args: string[];
1331
- isNpx: boolean;
1332
- } {
1333
- // Check if we're in the monorepo (packages/cli exists)
1334
- const monorepoCliPath = path.join(projectPath, 'packages', 'cli', 'dist', 'mcp-server.js');
1335
- if (fs.existsSync(monorepoCliPath)) {
1336
- return {
1337
- command: './packages/cli/dist/mcp-server.js',
1338
- args: [],
1339
- isNpx: false,
1340
- };
1341
- }
1339
+ function resolveMCPExecutable(): { command: string; args: string[] } {
1340
+ // Resolve the path to the bundled server relative to the current file.
1341
+ // __dirname is the `dist/commands` directory.
1342
+ const serverPath = path.resolve(__dirname, '..', 'mcp-server.js');
1342
1343
 
1343
- // Check if @vue-skuilder/cli is installed as a dependency
1344
- const scaffoldedCliPath = path.join(
1345
- projectPath,
1346
- 'node_modules',
1347
- '@vue-skuilder',
1348
- 'cli',
1349
- 'dist',
1350
- 'mcp-server.js'
1351
- );
1352
- if (fs.existsSync(scaffoldedCliPath)) {
1353
- return {
1354
- command: './node_modules/@vue-skuilder/cli/dist/mcp-server.js',
1355
- args: [],
1356
- isNpx: false,
1357
- };
1358
- }
1359
-
1360
- // Fallback to npx approach
1361
1344
  return {
1362
- command: 'npx',
1363
- args: ['@vue-skuilder/cli', 'mcp-server'],
1364
- isNpx: true,
1345
+ command: 'node',
1346
+ args: [serverPath],
1365
1347
  };
1366
1348
  }
1367
1349
 
@@ -1370,19 +1352,16 @@ function resolveMCPExecutable(projectPath: string): {
1370
1352
  */
1371
1353
  function getMCPConnectionInfo(
1372
1354
  unpackResult: UnpackResult,
1373
- couchDBManager: CouchDBManager,
1374
- projectPath: string
1355
+ couchDBManager: CouchDBManager
1375
1356
  ): { command: string; env: Record<string, string> } {
1376
1357
  const couchDetails = couchDBManager.getConnectionDetails();
1377
- const executable = resolveMCPExecutable(projectPath);
1358
+ const executable = resolveMCPExecutable();
1359
+ const port = couchDetails.port || 5985;
1378
1360
 
1379
1361
  // Build command string for display
1380
- let commandStr: string;
1381
- if (executable.isNpx) {
1382
- commandStr = `${executable.command} ${executable.args.join(' ')} ${unpackResult.databaseName} ${couchDetails.port}`;
1383
- } else {
1384
- commandStr = `node ${executable.command} ${unpackResult.databaseName} ${couchDetails.port}`;
1385
- }
1362
+ const commandStr = `${executable.command} ${executable.args.join(' ')} ${
1363
+ unpackResult.databaseName
1364
+ } ${port}`;
1386
1365
 
1387
1366
  return {
1388
1367
  command: commandStr,
@@ -1401,12 +1380,11 @@ function getMCPConnectionInfo(
1401
1380
  function generateMCPJson(
1402
1381
  unpackResult: UnpackResult,
1403
1382
  couchDBManager: CouchDBManager,
1404
- projectPath: string,
1405
1383
  serverName: string = 'vue-skuilder-studio'
1406
1384
  ): string {
1407
1385
  const couchDetails = couchDBManager.getConnectionDetails();
1408
1386
  const port = couchDetails.port || 5985;
1409
- const executable = resolveMCPExecutable(projectPath);
1387
+ const executable = resolveMCPExecutable();
1410
1388
 
1411
1389
  const mcpConfig = {
1412
1390
  mcpServers: {
package/src/mcp-server.ts CHANGED
@@ -1,7 +1,9 @@
1
- #!/usr/bin/env node
1
+ // MCP Server for Vue-Skuilder courses
2
+ // This file is bundled into a self-contained executable
2
3
 
3
4
  import { initializeDataLayer, getDataLayer, initializeTuiLogging } from '@vue-skuilder/db';
4
5
  import { MCPServer } from '@vue-skuilder/mcp';
6
+ import { consoleLogger } from '@vue-skuilder/common';
5
7
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
6
8
 
7
9
  initializeTuiLogging();
@@ -42,10 +44,11 @@ async function main() {
42
44
  await initializeDataLayer(couchdbConfig);
43
45
  const courseDB = getDataLayer().getCourseDB(courseId);
44
46
 
45
- // Create and start MCP server
47
+ // Create and start MCP server with console logger
46
48
  const server = new MCPServer(courseDB, {
47
49
  enableSourceLinking: true,
48
50
  maxCardsPerQuery: 50,
51
+ logger: consoleLogger,
49
52
  });
50
53
 
51
54
  const transport = new StdioServerTransport();