@mcp-consultant-tools/azure-devops 30.0.0-beta.1 → 30.0.0-beta.3
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/build/genui/design-system-prompt.d.ts.map +1 -1
- package/build/genui/design-system-prompt.js +68 -37
- package/build/genui/design-system-prompt.js.map +1 -1
- package/build/tools/visualize-tools.d.ts.map +1 -1
- package/build/tools/visualize-tools.js +27 -8
- package/build/tools/visualize-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system-prompt.d.ts","sourceRoot":"","sources":["../../src/genui/design-system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"design-system-prompt.d.ts","sourceRoot":"","sources":["../../src/genui/design-system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB,QA8JzB,CAAC"}
|
|
@@ -23,22 +23,47 @@ Follow these rules precisely to produce consistent, attractive, interactive outp
|
|
|
23
23
|
- Headings: 20px (h2), 16px (h3), 14px bold (h4)
|
|
24
24
|
- Line height: 1.5
|
|
25
25
|
|
|
26
|
-
###
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
### Theme — CSS Variables (CRITICAL)
|
|
27
|
+
Always define CSS variables for BOTH light and dark themes using \`prefers-color-scheme\`.
|
|
28
|
+
This ensures the visualization adapts to the host app's theme automatically.
|
|
29
|
+
|
|
30
|
+
\`\`\`css
|
|
31
|
+
:root {
|
|
32
|
+
--bg: #FFFFFF;
|
|
33
|
+
--surface: #F8F9FA;
|
|
34
|
+
--text: #1A1A1A;
|
|
35
|
+
--text-secondary: #6B7280;
|
|
36
|
+
--border: #E5E7EB;
|
|
37
|
+
--link: #0078D4;
|
|
38
|
+
--hover: #F0F4FF;
|
|
39
|
+
}
|
|
40
|
+
@media (prefers-color-scheme: dark) {
|
|
41
|
+
:root {
|
|
42
|
+
--bg: #1E1E1E;
|
|
43
|
+
--surface: #2D2D2D;
|
|
44
|
+
--text: #E5E7EB;
|
|
45
|
+
--text-secondary: #9CA3AF;
|
|
46
|
+
--border: #404040;
|
|
47
|
+
--link: #4DA6FF;
|
|
48
|
+
--hover: #2A2D35;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
\`\`\`
|
|
52
|
+
|
|
53
|
+
If the theme parameter is explicitly "dark", ALSO duplicate the dark values as the default
|
|
54
|
+
(outside the media query) so dark mode always applies regardless of system setting.
|
|
55
|
+
|
|
56
|
+
**Use these CSS variables for ALL colors.** Never hardcode \`#1A1A1A\` or \`#FFFFFF\` directly.
|
|
57
|
+
Example: \`color: var(--text)\`, \`background: var(--surface)\`, \`border-color: var(--border)\`.
|
|
58
|
+
|
|
59
|
+
### ADO State Colors (fixed — work on both light and dark)
|
|
35
60
|
- New: #007ACC (blue)
|
|
36
61
|
- Active / In Progress: #009900 (green)
|
|
37
62
|
- Resolved: #FF9D00 (amber)
|
|
38
63
|
- Closed / Done / Completed: #6B7280 (grey)
|
|
39
64
|
- Removed: #CC0000 (red)
|
|
40
65
|
|
|
41
|
-
### Work Item Type Colors
|
|
66
|
+
### Work Item Type Colors (fixed)
|
|
42
67
|
- Epic: #FF7B00
|
|
43
68
|
- Feature: #773B93
|
|
44
69
|
- User Story: #009CCC
|
|
@@ -47,34 +72,49 @@ Follow these rules precisely to produce consistent, attractive, interactive outp
|
|
|
47
72
|
|
|
48
73
|
### Layout
|
|
49
74
|
- Use CSS Flexbox or Grid for layout.
|
|
50
|
-
-
|
|
51
|
-
-
|
|
75
|
+
- Root div: \`background: var(--bg); color: var(--text); padding: 24px\`
|
|
76
|
+
- Cards: \`border-radius: 8px; border: 1px solid var(--border); padding: 16px; background: var(--surface)\`
|
|
77
|
+
- Card grid: \`display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px\`
|
|
52
78
|
- Section spacing: \`margin-bottom: 24px\`
|
|
53
79
|
|
|
54
80
|
### KPI Cards
|
|
55
81
|
For summary metrics, use KPI cards at the top:
|
|
56
82
|
\`\`\`html
|
|
57
|
-
<div style="text-align:center; padding:16px; background
|
|
58
|
-
<div style="font-size:28px; font-weight:700; color
|
|
59
|
-
<div style="font-size:12px; color
|
|
83
|
+
<div style="text-align:center; padding:16px; background:var(--surface); border-radius:8px; border:1px solid var(--border)">
|
|
84
|
+
<div style="font-size:28px; font-weight:700; color:var(--text)">42</div>
|
|
85
|
+
<div style="font-size:12px; color:var(--text-secondary); text-transform:uppercase; letter-spacing:0.5px">Total Items</div>
|
|
60
86
|
</div>
|
|
61
87
|
\`\`\`
|
|
62
88
|
|
|
63
89
|
### Tables
|
|
64
90
|
- Full width, border-collapse
|
|
65
|
-
- Header: \`background
|
|
66
|
-
- Cells: \`padding:8px 12px; border-bottom:1px solid
|
|
67
|
-
- Hover: \`background
|
|
91
|
+
- Header: \`background:var(--surface); font-weight:600; text-align:left; padding:8px 12px; border-bottom:2px solid var(--border); color:var(--text)\`
|
|
92
|
+
- Cells: \`padding:8px 12px; border-bottom:1px solid var(--border); color:var(--text)\`
|
|
93
|
+
- Hover: \`background:var(--hover)\`
|
|
68
94
|
- Add sortable column headers with onclick handlers when appropriate
|
|
69
95
|
|
|
70
|
-
### Charts
|
|
71
|
-
- For complex charts
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
96
|
+
### Charts (IMPORTANT — loading order)
|
|
97
|
+
- For complex charts: use Chart.js from CDN.
|
|
98
|
+
- **CRITICAL loading pattern**: Chart.js loads asynchronously. You MUST wait for it before initializing charts:
|
|
99
|
+
\`\`\`html
|
|
100
|
+
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
101
|
+
<canvas id="myChart" style="max-height:300px"></canvas>
|
|
102
|
+
<script>
|
|
103
|
+
(function initChart() {
|
|
104
|
+
if (typeof Chart === 'undefined') {
|
|
105
|
+
setTimeout(initChart, 50);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
new Chart(document.getElementById('myChart'), { /* config */ });
|
|
109
|
+
})();
|
|
110
|
+
</script>
|
|
111
|
+
\`\`\`
|
|
112
|
+
- Never put chart initialization code in the same \`<script>\` tag as the CDN import.
|
|
113
|
+
- Always set \`responsive: true\` and \`maintainAspectRatio: false\` in Chart.js options.
|
|
114
|
+
- For Chart.js text colors, use: \`color: getComputedStyle(document.documentElement).getPropertyValue('--text').trim()\`
|
|
115
|
+
- For Chart.js grid colors, use the \`--border\` variable similarly.
|
|
116
|
+
- For simple visuals (donut, progress bars): prefer inline SVG over Chart.js (no loading delay).
|
|
117
|
+
- Use the ADO state/type colors defined above for data series.
|
|
78
118
|
|
|
79
119
|
### Interactivity
|
|
80
120
|
|
|
@@ -82,13 +122,13 @@ For summary metrics, use KPI cards at the top:
|
|
|
82
122
|
Every work item ID must be a clickable link opening in a new tab:
|
|
83
123
|
\`\`\`html
|
|
84
124
|
<a href="https://dev.azure.com/{org}/{project}/_workitems/edit/{id}" target="_blank"
|
|
85
|
-
style="color
|
|
125
|
+
style="color:var(--link); text-decoration:none; font-weight:600">#{id}</a>
|
|
86
126
|
\`\`\`
|
|
87
127
|
|
|
88
128
|
#### CSV Download Button
|
|
89
129
|
Include a download button that generates a CSV from the displayed data:
|
|
90
130
|
\`\`\`html
|
|
91
|
-
<button onclick="downloadCsv()" style="padding:6px 14px; background
|
|
131
|
+
<button onclick="downloadCsv()" style="padding:6px 14px; background:var(--link); color:white;
|
|
92
132
|
border:none; border-radius:4px; cursor:pointer; font-size:13px">Download CSV</button>
|
|
93
133
|
\`\`\`
|
|
94
134
|
The \`downloadCsv()\` function should:
|
|
@@ -112,15 +152,6 @@ Add sort functionality to table headers:
|
|
|
112
152
|
- Never load scripts from domains other than \`cdn.jsdelivr.net\`.
|
|
113
153
|
- Never submit data to external URLs.
|
|
114
154
|
|
|
115
|
-
### Dark Theme (when theme="dark")
|
|
116
|
-
If the theme parameter is "dark", override these colors:
|
|
117
|
-
- Background: #1A1A1A
|
|
118
|
-
- Surface/card: #2D2D2D
|
|
119
|
-
- Text primary: #E5E7EB
|
|
120
|
-
- Text secondary: #9CA3AF
|
|
121
|
-
- Border: #404040
|
|
122
|
-
- Keep ADO state and type colors unchanged (they work on dark backgrounds)
|
|
123
|
-
|
|
124
155
|
### Content Structure
|
|
125
156
|
1. **Title bar**: Visualization title + item count + download CSV button
|
|
126
157
|
2. **KPI cards**: Key metrics in a grid (total, by state, etc.)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system-prompt.js","sourceRoot":"","sources":["../../src/genui/design-system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG
|
|
1
|
+
{"version":3,"file":"design-system-prompt.js","sourceRoot":"","sources":["../../src/genui/design-system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8JnC,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualize-tools.d.ts","sourceRoot":"","sources":["../../src/tools/visualize-tools.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"visualize-tools.d.ts","sourceRoot":"","sources":["../../src/tools/visualize-tools.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAsJ7E"}
|
|
@@ -14,21 +14,40 @@ import { sanitizeGenUiHtml } from '../genui/sanitize-html.js';
|
|
|
14
14
|
export function registerVisualizeTools(server, ctx) {
|
|
15
15
|
const workItemsResourceUri = "ui://ado/work-items";
|
|
16
16
|
// Tool 1: Fetch data and instruct host LLM to generate HTML
|
|
17
|
-
server.tool("visualize-data", "Fetch work item data and prepare it for interactive visualization.
|
|
18
|
-
"After receiving this response, you MUST generate a complete HTML snippet
|
|
19
|
-
"then call the render-visualization tool with the generated HTML. Do not skip the render step.", {
|
|
17
|
+
server.tool("visualize-data", "Fetch work item data and prepare it for interactive visualization. Accepts either a WIQL query or a saved query ID (GUID). " +
|
|
18
|
+
"Returns raw data + design system rules. After receiving this response, you MUST generate a complete HTML snippet " +
|
|
19
|
+
"following the design system rules, then call the render-visualization tool with the generated HTML. Do not skip the render step.", {
|
|
20
20
|
project: z.string().describe("The ADO project name"),
|
|
21
|
-
wiql: z.string().describe("WIQL query to fetch work items.
|
|
21
|
+
wiql: z.string().optional().describe("WIQL query to fetch work items. Provide either wiql OR queryId, not both. " +
|
|
22
|
+
"Example: SELECT [System.Id], [System.Title], [System.State], " +
|
|
22
23
|
"[System.WorkItemType], [System.AssignedTo] FROM WorkItems WHERE [System.TeamProject] = 'MyProject' " +
|
|
23
24
|
"AND [System.State] <> 'Removed' ORDER BY [System.ChangedDate] DESC"),
|
|
25
|
+
queryId: z.string().optional().describe("Saved query GUID. Provide either queryId OR wiql, not both. " +
|
|
26
|
+
"Found in ADO query URLs: https://dev.azure.com/{org}/{project}/_queries/query/{queryId}/"),
|
|
24
27
|
intent: z.string().describe("What visualization to create. Examples: 'sprint status dashboard', 'burndown chart', " +
|
|
25
28
|
"'team workload by assignee', 'priority breakdown', 'bug trend over time'"),
|
|
26
29
|
theme: z.enum(["light", "dark"]).optional().describe("Color theme (default: light)"),
|
|
27
|
-
maxResults: z.number().optional().describe("Maximum work items to fetch (default:
|
|
28
|
-
}, async ({ project, wiql, intent, theme, maxResults }) => {
|
|
30
|
+
maxResults: z.number().optional().describe("Maximum work items to fetch (default: 20 for visualization)"),
|
|
31
|
+
}, async ({ project, wiql, queryId, intent, theme, maxResults }) => {
|
|
29
32
|
try {
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
if (!wiql && !queryId) {
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: "text", text: "Error: Provide either 'wiql' or 'queryId' parameter." }],
|
|
36
|
+
isError: true,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const effectiveMaxResults = maxResults ?? 20;
|
|
40
|
+
let items;
|
|
41
|
+
if (queryId) {
|
|
42
|
+
// Execute saved query
|
|
43
|
+
const result = await ctx.workItem.runSavedQuery(project, queryId, effectiveMaxResults);
|
|
44
|
+
items = Array.isArray(result) ? result : result?.workItems ?? [];
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Execute WIQL query
|
|
48
|
+
const result = await ctx.workItem.queryWorkItems(project, wiql, effectiveMaxResults);
|
|
49
|
+
items = Array.isArray(result) ? result : result?.workItems ?? result;
|
|
50
|
+
}
|
|
32
51
|
const itemCount = Array.isArray(items) ? items.length : 0;
|
|
33
52
|
const org = process.env.AZUREDEVOPS_ORGANIZATION || 'unknown-org';
|
|
34
53
|
const effectiveTheme = theme || 'light';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualize-tools.js","sourceRoot":"","sources":["../../src/tools/visualize-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,UAAU,sBAAsB,CAAC,MAAW,EAAE,GAAmB;IACrE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;IAEnD,4DAA4D;IAC5D,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"visualize-tools.js","sourceRoot":"","sources":["../../src/tools/visualize-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,UAAU,sBAAsB,CAAC,MAAW,EAAE,GAAmB;IACrE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;IAEnD,4DAA4D;IAC5D,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,6HAA6H;QAC7H,mHAAmH;QACnH,kIAAkI,EAClI;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAClC,4EAA4E;YAC5E,+DAA+D;YAC/D,qGAAqG;YACrG,oEAAoE,CACrE;QACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,8DAA8D;YAC9D,0FAA0F,CAC3F;QACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACzB,uFAAuF;YACvF,0EAA0E,CAC3E;QACD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACpF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;KAC1G,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAO,EAAE,EAAE;QACnE,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC;oBACzF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,mBAAmB,GAAG,UAAU,IAAI,EAAE,CAAC;YAC7C,IAAI,KAAY,CAAC;YAEjB,IAAI,OAAO,EAAE,CAAC;gBACZ,sBAAsB;gBACtB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBACvF,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,EAAE,SAAS,IAAI,EAAE,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBACrF,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,EAAE,SAAS,IAAI,MAAM,CAAC;YAChF,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,aAAa,CAAC;YAClE,MAAM,cAAc,GAAG,KAAK,IAAI,OAAO,CAAC;YAExC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,0BAA0B,SAAS,cAAc;4BACjD,eAAe,MAAM,EAAE;4BACvB,cAAc,cAAc,EAAE;4BAC9B,qBAAqB,GAAG,EAAE;4BAC1B,gBAAgB,OAAO,EAAE;4BACzB,EAAE;4BACF,oBAAoB;4BACpB,SAAS;4BACT,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC9B,KAAK;4BACL,EAAE;4BACF,yBAAyB;4BACzB,EAAE;4BACF,oBAAoB;4BACpB,EAAE;4BACF,kBAAkB;4BAClB,EAAE;4BACF,2EAA2E;4BAC3E,yBAAyB,GAAG,kBAAkB,OAAO,gCAAgC;4BACrF,iCAAiC,MAAM,GAAG;4BAC1C,WAAW,cAAc,GAAG;4BAC5B,EAAE;4BACF,yEAAyE;4BACzE,uCAAuC;4BACvC,kDAAkD;4BAClD,EAAE;4BACF,sFAAsF;yBACvF,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2DAA2D;IAC3D,eAAe,CACb,MAAM,EACN,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,wEAAwE;YACxE,+DAA+D;YAC/D,kFAAkF;QACpF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0FAA0F,CAAC;YACrH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;SAC5G;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE;KACrD,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,6BAA6B;YAC7B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1D,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,oHAAoH;yBAC3H,CAAC;oBACF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,yDAAyD;YACzD,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxF,CAAC;YAED,WAAW;YACX,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAE/C,MAAM,YAAY,GAAG,KAAK,IAAI,eAAe,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,YAAY,EAAE,EAAE,CAAC;gBAC9D,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE;aAC3E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-consultant-tools/azure-devops",
|
|
3
|
-
"version": "30.0.0-beta.
|
|
3
|
+
"version": "30.0.0-beta.3",
|
|
4
4
|
"description": "MCP server for Azure DevOps integration - wikis, work items, pull requests, and variable group read access",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/index.js",
|