@vibe-assurance/cli 1.7.4 → 1.7.6
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/package.json +1 -1
- package/src/commands/login.js +5 -3
- package/src/mcp/tools.js +44 -0
package/package.json
CHANGED
package/src/commands/login.js
CHANGED
|
@@ -71,13 +71,15 @@ async function login() {
|
|
|
71
71
|
const refreshToken = url.searchParams.get('refresh_token');
|
|
72
72
|
const expiresIn = url.searchParams.get('expires_in');
|
|
73
73
|
const error = url.searchParams.get('error');
|
|
74
|
+
const errorDescription = url.searchParams.get('error_description');
|
|
74
75
|
|
|
75
76
|
if (error) {
|
|
76
|
-
// Authentication failed
|
|
77
|
+
// Authentication failed - use description if available
|
|
78
|
+
const errorMessage = errorDescription || error;
|
|
77
79
|
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
78
|
-
res.end(getErrorHtml(
|
|
80
|
+
res.end(getErrorHtml(errorMessage));
|
|
79
81
|
server.close();
|
|
80
|
-
reject(new Error(
|
|
82
|
+
reject(new Error(errorMessage));
|
|
81
83
|
return;
|
|
82
84
|
}
|
|
83
85
|
|
package/src/mcp/tools.js
CHANGED
|
@@ -167,6 +167,50 @@ const tools = [
|
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
169
|
|
|
170
|
+
{
|
|
171
|
+
name: 'vibe_create_template',
|
|
172
|
+
description: 'Create a new document template in Vibe Assurance. Templates provide standardized structures for governance documents. (Platform Admin only)',
|
|
173
|
+
inputSchema: {
|
|
174
|
+
type: 'object',
|
|
175
|
+
properties: {
|
|
176
|
+
templateId: {
|
|
177
|
+
type: 'string',
|
|
178
|
+
description: 'Unique template ID (lowercase, hyphenated, e.g., "change-request", "test-plan")'
|
|
179
|
+
},
|
|
180
|
+
name: {
|
|
181
|
+
type: 'string',
|
|
182
|
+
description: 'Display name for the template (e.g., "Change Request Template")'
|
|
183
|
+
},
|
|
184
|
+
description: {
|
|
185
|
+
type: 'string',
|
|
186
|
+
description: 'Brief description of what this template is for'
|
|
187
|
+
},
|
|
188
|
+
category: {
|
|
189
|
+
type: 'string',
|
|
190
|
+
enum: ['change-management', 'risk', 'security', 'compliance', 'planning', 'other'],
|
|
191
|
+
description: 'Template category (default: "other")'
|
|
192
|
+
},
|
|
193
|
+
content: {
|
|
194
|
+
type: 'string',
|
|
195
|
+
description: 'The full template content (markdown format with placeholders)'
|
|
196
|
+
},
|
|
197
|
+
version: {
|
|
198
|
+
type: 'string',
|
|
199
|
+
description: 'Version number (default: "1.0.0")'
|
|
200
|
+
},
|
|
201
|
+
tier: {
|
|
202
|
+
type: 'string',
|
|
203
|
+
enum: ['free', 'essentials', 'pro', 'business', 'enterprise'],
|
|
204
|
+
description: 'Access tier (default: "free")'
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
required: ['templateId', 'name', 'content']
|
|
208
|
+
},
|
|
209
|
+
handler: async (params) => {
|
|
210
|
+
return await api.post('/api/mcp/templates', params);
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
|
|
170
214
|
// ============================================================================
|
|
171
215
|
// PUSH TOOLS - Store data to Vibe Assurance
|
|
172
216
|
// ============================================================================
|