@nowline/mcp 0.8.6 → 0.10.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/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +2 -9
- package/dist/capabilities.js.map +1 -1
- package/dist/diagnostics.d.ts +43 -15
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +77 -25
- package/dist/diagnostics.js.map +1 -1
- package/dist/generated/resources.d.ts.map +1 -1
- package/dist/generated/resources.js +15 -3
- package/dist/generated/resources.js.map +1 -1
- package/dist/generated/ui-bundle.d.ts.map +1 -1
- package/dist/generated/ui-bundle.js +2 -2
- package/dist/generated/ui-bundle.js.map +1 -1
- package/dist/http.d.ts +4 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +23 -0
- package/dist/http.js.map +1 -0
- package/dist/index.js +8 -13
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +26 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +55 -0
- package/dist/options.js.map +1 -0
- package/dist/reference-cheatsheet.d.ts +1 -1
- package/dist/reference-cheatsheet.d.ts.map +1 -1
- package/dist/reference-cheatsheet.js +27 -2
- package/dist/reference-cheatsheet.js.map +1 -1
- package/dist/schema-vocab.d.ts +4 -2
- package/dist/schema-vocab.d.ts.map +1 -1
- package/dist/schema-vocab.js +9 -0
- package/dist/schema-vocab.js.map +1 -1
- package/dist/schemas.d.ts +2 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +2 -0
- package/dist/schemas.js.map +1 -1
- package/dist/server.d.ts +4 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +172 -82
- package/dist/server.js.map +1 -1
- package/dist/ui/entry.js +5 -12
- package/dist/ui/entry.js.map +1 -1
- package/dist/ui/payload.d.ts +14 -0
- package/dist/ui/payload.d.ts.map +1 -1
- package/dist/ui/payload.js +23 -0
- package/dist/ui/payload.js.map +1 -1
- package/dist/workspace-roots.d.ts +23 -0
- package/dist/workspace-roots.d.ts.map +1 -0
- package/dist/workspace-roots.js +85 -0
- package/dist/workspace-roots.js.map +1 -0
- package/package.json +21 -16
- package/src/capabilities.ts +4 -2
- package/src/diagnostics.ts +99 -39
- package/src/generated/resources.ts +15 -3
- package/src/generated/ui-bundle.ts +2 -2
- package/src/http.ts +28 -0
- package/src/index.ts +8 -14
- package/src/options.ts +79 -0
- package/src/reference-cheatsheet.ts +27 -2
- package/src/schema-vocab.ts +9 -0
- package/src/schemas.ts +2 -0
- package/src/server.ts +229 -84
- package/src/ui/entry.ts +6 -11
- package/src/ui/payload.ts +26 -0
- package/src/workspace-roots.ts +99 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,YAAY,EAAE,kBAO1B,CAAC"}
|
package/dist/capabilities.js
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
// individual `list-*` projection tools. Values are hardcoded to their stable
|
|
3
|
-
// registry sources and must be kept in sync with:
|
|
4
|
-
// - themes: @nowline/layout/src/themes/index.ts (ThemeName)
|
|
5
|
-
// - icons: @nowline/renderer/src/svg/icons.ts (CAPACITY_ICON_SVG keys)
|
|
6
|
-
// - locales: @nowline/core/src/i18n (message bundle files)
|
|
7
|
-
// - formats: @nowline/export ExportFormat union
|
|
8
|
-
// - templates: @nowline/core TEMPLATE_NAMES
|
|
1
|
+
import { THEME_NAMES } from '@nowline/layout';
|
|
9
2
|
export const CAPABILITIES = {
|
|
10
|
-
themes:
|
|
3
|
+
themes: THEME_NAMES,
|
|
11
4
|
// Built-in `capacity-icon:` vocabulary (CAPACITY_ICON_SVG keys).
|
|
12
5
|
icons: ['person', 'people', 'points', 'time'],
|
|
13
6
|
locales: ['en', 'fr', 'fr-CA', 'fr-FR'],
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmB9C,MAAM,CAAC,MAAM,YAAY,GAAuB;IAC5C,MAAM,EAAE,WAAW;IACnB,iEAAiE;IACjE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC3E,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;CACzD,CAAC"}
|
package/dist/diagnostics.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type NowlineFile } from '@nowline/core';
|
|
1
|
+
import { type NowlineFile, type ResolveDiagnostic } from '@nowline/core';
|
|
2
|
+
import { type HostEnv, type RenderInputs, type StagedRoadmap, type StageResult } from '@nowline/export';
|
|
2
3
|
import { type LayoutInsight } from '@nowline/layout';
|
|
3
4
|
export interface McpDiagnostic {
|
|
4
5
|
file: string;
|
|
@@ -22,6 +23,17 @@ export declare function getMcpServices(): {
|
|
|
22
23
|
};
|
|
23
24
|
export declare function buildDocument(source: string): Promise<import("langium").LangiumDocument<NowlineFile>>;
|
|
24
25
|
export declare function collectMcpDiagnostics(doc: Awaited<ReturnType<typeof buildDocument>>, filePath: string): McpDiagnostic[];
|
|
26
|
+
/**
|
|
27
|
+
* A routed include-resolver diagnostic (a wave rule, specs/waves.md §6.1, or
|
|
28
|
+
* an included file's NL.E0302) as an MCP diagnostic: its stable code, the
|
|
29
|
+
* file it points into and a 1-based line and column, the validator's for the
|
|
30
|
+
* same finding when the diagnostic carries a range (column 1 otherwise).
|
|
31
|
+
* WV8, the one uncoded wave rule, is labelled like the validator's copy. An
|
|
32
|
+
* included file's syntax error takes its position from the lexer or parser.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveDiagnosticToMcp(diag: ResolveDiagnostic): McpDiagnostic;
|
|
35
|
+
/** The routed diagnostics among `diagnostics`, as MCP diagnostics. */
|
|
36
|
+
export declare function routedResolveDiagnosticsToMcp(diagnostics: readonly ResolveDiagnostic[]): McpDiagnostic[];
|
|
25
37
|
export declare function diagnosticsErrorResponse(filePath: string, diagnostics: McpDiagnostic[]): {
|
|
26
38
|
content: {
|
|
27
39
|
type: 'text';
|
|
@@ -29,6 +41,18 @@ export declare function diagnosticsErrorResponse(filePath: string, diagnostics:
|
|
|
29
41
|
}[];
|
|
30
42
|
isError: true;
|
|
31
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* The error response when include resolution reports a routed (wave-rule)
|
|
46
|
+
* error: the validator's diagnostics (warnings only, since `doc` validated)
|
|
47
|
+
* followed by `routed`.
|
|
48
|
+
*/
|
|
49
|
+
export declare function includeDiagnosticsResponse(doc: Awaited<ReturnType<typeof buildDocument>>, filePath: string, routed: McpDiagnostic[]): {
|
|
50
|
+
content: {
|
|
51
|
+
type: 'text';
|
|
52
|
+
text: string;
|
|
53
|
+
}[];
|
|
54
|
+
isError: true;
|
|
55
|
+
};
|
|
32
56
|
export declare function diagnosticsErrorBlock(source: string, filePath: string): Promise<{
|
|
33
57
|
ok: true;
|
|
34
58
|
doc: Awaited<ReturnType<typeof buildDocument>>;
|
|
@@ -36,20 +60,24 @@ export declare function diagnosticsErrorBlock(source: string, filePath: string):
|
|
|
36
60
|
ok: false;
|
|
37
61
|
response: ReturnType<typeof diagnosticsErrorResponse>;
|
|
38
62
|
}>;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Stage a validated document once for a tool call: the render, the export,
|
|
65
|
+
* the insights and the routed include diagnostics all read this one result.
|
|
66
|
+
* `doc` is the document `diagnosticsErrorBlock` (or `validate`) already built
|
|
67
|
+
* from `source`, so nothing is parsed again.
|
|
68
|
+
*/
|
|
69
|
+
export declare function stageMcpRoadmap(doc: Awaited<ReturnType<typeof buildDocument>>, source: string, inputs: RenderInputs, host: HostEnv): Promise<StageResult>;
|
|
70
|
+
/**
|
|
71
|
+
* The routed (wave-rule) include diagnostics a stage reports, as MCP
|
|
72
|
+
* diagnostics, errors included. An uncoded include error takes precedence and
|
|
73
|
+
* hides them, as does a validator error (specs/waves.md §6.1).
|
|
74
|
+
*/
|
|
75
|
+
export declare function stageRoutedDiagnostics(stage: StageResult): McpDiagnostic[];
|
|
76
|
+
/**
|
|
77
|
+
* Layout insights read from a staged roadmap's model: the layout the render
|
|
78
|
+
* draws, logo included, so the insights describe the same header and chart.
|
|
79
|
+
*/
|
|
80
|
+
export declare function layoutInsightsFromStage(stage: StagedRoadmap): McpInsight[];
|
|
53
81
|
export declare const LAYOUT_INSIGHT_HINT: string;
|
|
54
82
|
export declare const REVIEW_MAX_WIDTH = 1024;
|
|
55
83
|
export declare const DEFAULT_RENDER_WIDTH = 1280;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// MCP diagnostic helpers — maps Langium/core diagnostics to the MCP tool shape.
|
|
2
|
-
import { collectDocumentDiagnostics, createNowlineServices, extractSuggestion,
|
|
3
|
-
import {
|
|
2
|
+
import { collectDocumentDiagnostics, createNowlineServices, extractSuggestion, inferCodeFromMessage, isRoutedResolveDiagnostic, resolveDiagnosticCode, } from '@nowline/core';
|
|
3
|
+
import { stageForExport, } from '@nowline/export';
|
|
4
|
+
import { collectLayoutInsights } from '@nowline/layout';
|
|
4
5
|
import { URI } from 'langium';
|
|
5
6
|
export function layoutInsightToMcp(insight) {
|
|
6
7
|
return {
|
|
@@ -55,6 +56,45 @@ export function collectMcpDiagnostics(doc, filePath) {
|
|
|
55
56
|
}
|
|
56
57
|
return out;
|
|
57
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* A routed include-resolver diagnostic (a wave rule, specs/waves.md §6.1, or
|
|
61
|
+
* an included file's NL.E0302) as an MCP diagnostic: its stable code, the
|
|
62
|
+
* file it points into and a 1-based line and column, the validator's for the
|
|
63
|
+
* same finding when the diagnostic carries a range (column 1 otherwise).
|
|
64
|
+
* WV8, the one uncoded wave rule, is labelled like the validator's copy. An
|
|
65
|
+
* included file's syntax error takes its position from the lexer or parser.
|
|
66
|
+
*/
|
|
67
|
+
export function resolveDiagnosticToMcp(diag) {
|
|
68
|
+
// An included file's syntax error, labelled like the root file's own.
|
|
69
|
+
if (diag.syntax) {
|
|
70
|
+
const column = diag.syntax.origin === 'lexer'
|
|
71
|
+
? diag.syntax.error.column
|
|
72
|
+
: diag.syntax.error.token?.startColumn;
|
|
73
|
+
return {
|
|
74
|
+
file: diag.sourcePath,
|
|
75
|
+
line: (diag.line ?? 0) + 1,
|
|
76
|
+
// An error at end of input has no position (NaN).
|
|
77
|
+
column: column !== undefined && Number.isFinite(column) ? column : 1,
|
|
78
|
+
severity: 'error',
|
|
79
|
+
code: diag.syntax.origin === 'lexer' ? 'lexing-error' : 'parsing-error',
|
|
80
|
+
message: diag.message,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const suggestion = extractSuggestion(diag.message);
|
|
84
|
+
return {
|
|
85
|
+
file: diag.sourcePath,
|
|
86
|
+
line: (diag.range?.start.line ?? diag.line ?? 0) + 1,
|
|
87
|
+
column: (diag.range?.start.character ?? 0) + 1,
|
|
88
|
+
severity: diag.severity,
|
|
89
|
+
code: diag.code ?? inferCodeFromMessage(diag.message),
|
|
90
|
+
message: diag.message,
|
|
91
|
+
...(suggestion === undefined ? {} : { suggestion }),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/** The routed diagnostics among `diagnostics`, as MCP diagnostics. */
|
|
95
|
+
export function routedResolveDiagnosticsToMcp(diagnostics) {
|
|
96
|
+
return diagnostics.filter(isRoutedResolveDiagnostic).map(resolveDiagnosticToMcp);
|
|
97
|
+
}
|
|
58
98
|
export function diagnosticsErrorResponse(filePath, diagnostics) {
|
|
59
99
|
return {
|
|
60
100
|
content: [
|
|
@@ -66,6 +106,14 @@ export function diagnosticsErrorResponse(filePath, diagnostics) {
|
|
|
66
106
|
isError: true,
|
|
67
107
|
};
|
|
68
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* The error response when include resolution reports a routed (wave-rule)
|
|
111
|
+
* error: the validator's diagnostics (warnings only, since `doc` validated)
|
|
112
|
+
* followed by `routed`.
|
|
113
|
+
*/
|
|
114
|
+
export function includeDiagnosticsResponse(doc, filePath, routed) {
|
|
115
|
+
return diagnosticsErrorResponse(filePath, [...collectMcpDiagnostics(doc, filePath), ...routed]);
|
|
116
|
+
}
|
|
69
117
|
export async function diagnosticsErrorBlock(source, filePath) {
|
|
70
118
|
const doc = await buildDocument(source);
|
|
71
119
|
const diagnostics = collectMcpDiagnostics(doc, filePath);
|
|
@@ -74,30 +122,34 @@ export async function diagnosticsErrorBlock(source, filePath) {
|
|
|
74
122
|
}
|
|
75
123
|
return { ok: true, doc };
|
|
76
124
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Stage a validated document once for a tool call: the render, the export,
|
|
127
|
+
* the insights and the routed include diagnostics all read this one result.
|
|
128
|
+
* `doc` is the document `diagnosticsErrorBlock` (or `validate`) already built
|
|
129
|
+
* from `source`, so nothing is parsed again.
|
|
130
|
+
*/
|
|
131
|
+
export function stageMcpRoadmap(doc, source, inputs, host) {
|
|
132
|
+
return stageForExport(source, inputs, host, { document: doc, services: getMcpServices() });
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The routed (wave-rule) include diagnostics a stage reports, as MCP
|
|
136
|
+
* diagnostics, errors included. An uncoded include error takes precedence and
|
|
137
|
+
* hides them, as does a validator error (specs/waves.md §6.1).
|
|
138
|
+
*/
|
|
139
|
+
export function stageRoutedDiagnostics(stage) {
|
|
140
|
+
if (stage.kind === 'staged' || (stage.kind === 'include-error' && !stage.legacy)) {
|
|
141
|
+
return stage.routed.map(resolveDiagnosticToMcp);
|
|
91
142
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Layout insights read from a staged roadmap's model: the layout the render
|
|
147
|
+
* draws, logo included, so the insights describe the same header and chart.
|
|
148
|
+
*/
|
|
149
|
+
export function layoutInsightsFromStage(stage) {
|
|
150
|
+
return collectLayoutInsights(stage.model, {
|
|
151
|
+
today: stage.layout.today,
|
|
152
|
+
locale: stage.layout.locale ?? 'en-US',
|
|
101
153
|
}).map(layoutInsightToMcp);
|
|
102
154
|
}
|
|
103
155
|
export const LAYOUT_INSIGHT_HINT = 'These are layout consequences, not errors — the roadmap rendered. ' +
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EACH,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/generated/resources.ts"],"names":[],"mappings":"AAOA,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/generated/resources.ts"],"names":[],"mappings":"AAOA,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,MAAsk8D,CAAC;AAExm8D,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qFAAqF;AACrF,eAAO,MAAM,QAAQ,EAAE,WAAW,EAyEjC,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,EAAE,MAAkpN,CAAC"}
|