@nowline/mcp 0.6.0 → 0.8.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 (64) hide show
  1. package/dist/branding.d.ts +20 -0
  2. package/dist/branding.d.ts.map +1 -0
  3. package/dist/branding.js +27 -0
  4. package/dist/branding.js.map +1 -0
  5. package/dist/capabilities.d.ts +9 -0
  6. package/dist/capabilities.d.ts.map +1 -0
  7. package/dist/capabilities.js +17 -0
  8. package/dist/capabilities.js.map +1 -0
  9. package/dist/diagnostics.d.ts +59 -0
  10. package/dist/diagnostics.d.ts.map +1 -0
  11. package/dist/diagnostics.js +117 -0
  12. package/dist/diagnostics.js.map +1 -0
  13. package/dist/generated/resources.d.ts +2 -0
  14. package/dist/generated/resources.d.ts.map +1 -1
  15. package/dist/generated/resources.js +6 -1
  16. package/dist/generated/resources.js.map +1 -1
  17. package/dist/generated/ui-bundle.d.ts +5 -0
  18. package/dist/generated/ui-bundle.d.ts.map +1 -0
  19. package/dist/generated/ui-bundle.js +11 -0
  20. package/dist/generated/ui-bundle.js.map +1 -0
  21. package/dist/index.js +63 -12
  22. package/dist/index.js.map +1 -1
  23. package/dist/prompts.d.ts +3 -0
  24. package/dist/prompts.d.ts.map +1 -0
  25. package/dist/prompts.js +143 -0
  26. package/dist/prompts.js.map +1 -0
  27. package/dist/reference-cheatsheet.d.ts +2 -0
  28. package/dist/reference-cheatsheet.d.ts.map +1 -0
  29. package/dist/reference-cheatsheet.js +47 -0
  30. package/dist/reference-cheatsheet.js.map +1 -0
  31. package/dist/schema-vocab.d.ts +6 -0
  32. package/dist/schema-vocab.d.ts.map +1 -0
  33. package/dist/schema-vocab.js +55 -0
  34. package/dist/schema-vocab.js.map +1 -0
  35. package/dist/schemas.d.ts +148 -0
  36. package/dist/schemas.d.ts.map +1 -0
  37. package/dist/schemas.js +88 -0
  38. package/dist/schemas.js.map +1 -0
  39. package/dist/server.d.ts +2 -0
  40. package/dist/server.d.ts.map +1 -1
  41. package/dist/server.js +531 -121
  42. package/dist/server.js.map +1 -1
  43. package/dist/ui/entry.d.ts +2 -0
  44. package/dist/ui/entry.d.ts.map +1 -0
  45. package/dist/ui/entry.js +187 -0
  46. package/dist/ui/entry.js.map +1 -0
  47. package/dist/ui/payload.d.ts +30 -0
  48. package/dist/ui/payload.d.ts.map +1 -0
  49. package/dist/ui/payload.js +49 -0
  50. package/dist/ui/payload.js.map +1 -0
  51. package/package.json +15 -6
  52. package/src/branding.ts +26 -0
  53. package/src/capabilities.ts +25 -0
  54. package/src/diagnostics.ts +185 -0
  55. package/src/generated/resources.ts +7 -1
  56. package/src/generated/ui-bundle.ts +12 -0
  57. package/src/index.ts +75 -13
  58. package/src/prompts.ts +172 -0
  59. package/src/reference-cheatsheet.ts +47 -0
  60. package/src/schema-vocab.ts +55 -0
  61. package/src/schemas.ts +106 -0
  62. package/src/server.ts +725 -139
  63. package/src/ui/entry.ts +214 -0
  64. package/src/ui/payload.ts +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-bundle.js","sourceRoot":"","sources":["../../src/generated/ui-bundle.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,EAAE;AACF,qEAAqE;AACrE,8CAA8C;AAC9C,EAAE;AACF,mFAAmF;AAEnF,yEAAyE;AACzE,MAAM,CAAC,MAAM,SAAS,GAAW,o64lCAAo64lC,CAAC;AAEt84lC,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAW,0x5lCAA0x5lC,CAAC"}
package/dist/index.js CHANGED
@@ -1,25 +1,53 @@
1
1
  #!/usr/bin/env node
2
2
  // @nowline/mcp — entry point for `npx @nowline/mcp`.
3
3
  //
4
- // Parses the optional --root flag, creates the MCP server, and connects it to
5
- // the stdio transport. The server module (createMcpServer) is shared with
6
- // the CLI's `--mcp` flag (packages/cli/src/commands/mcp-host.ts).
4
+ // Parses --root, --port, and --version flags, creates the MCP server, and
5
+ // connects it to the appropriate transport:
6
+ // stdio (default) standard MCP stdio transport
7
+ // http (--port <N>) Streamable HTTP transport on localhost:<N>
7
8
  //
8
9
  // Usage:
9
- // npx @nowline/mcp [--root <path>] [--version]
10
+ // npx @nowline/mcp [--root <path>] [--port <N>] [--version]
10
11
  //
11
- // Spec: specs/mcp.md. Plan: export_determinism s8 + s10.
12
+ // Spec: specs/mcp.md.
13
+ import { readFileSync } from 'node:fs';
14
+ import { createServer } from 'node:http';
15
+ import { dirname, resolve } from 'node:path';
16
+ import { fileURLToPath } from 'node:url';
12
17
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
18
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
13
19
  import { createMcpServer } from './server.js';
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = dirname(__filename);
22
+ function readPkgVersion() {
23
+ try {
24
+ const raw = readFileSync(resolve(__dirname, '../package.json'), 'utf-8');
25
+ const pkg = JSON.parse(raw);
26
+ return pkg.version ?? '0.0.0';
27
+ }
28
+ catch {
29
+ return '0.0.0';
30
+ }
31
+ }
32
+ const PKG_VERSION = readPkgVersion();
14
33
  function parseArgs(argv) {
15
34
  const args = argv.slice(2);
16
35
  let root;
36
+ let port;
17
37
  let help = false;
18
38
  let version = false;
19
39
  for (let i = 0; i < args.length; i++) {
20
40
  if (args[i] === '--root' && i + 1 < args.length) {
21
41
  root = args[++i];
22
42
  }
43
+ else if (args[i] === '--port' && i + 1 < args.length) {
44
+ const n = parseInt(args[++i], 10);
45
+ if (!Number.isFinite(n) || n < 1 || n > 65535) {
46
+ process.stderr.write(`nowline-mcp: --port must be a number between 1 and 65535\n`);
47
+ process.exit(1);
48
+ }
49
+ port = n;
50
+ }
23
51
  else if (args[i] === '-h' || args[i] === '--help') {
24
52
  help = true;
25
53
  }
@@ -27,28 +55,51 @@ function parseArgs(argv) {
27
55
  version = true;
28
56
  }
29
57
  }
30
- return { root, help, version };
58
+ return { root, port, help, version };
31
59
  }
32
- const { root, help, version } = parseArgs(process.argv);
60
+ const { root, port, help, version } = parseArgs(process.argv);
33
61
  if (version) {
34
- process.stdout.write('0.5.1\n');
62
+ process.stdout.write(`${PKG_VERSION}\n`);
35
63
  process.exit(0);
36
64
  }
37
65
  if (help) {
38
66
  process.stdout.write([
39
67
  'Usage: npx @nowline/mcp [options]',
40
68
  '',
41
- 'Start the Nowline MCP server (stdio transport).',
69
+ 'Start the Nowline MCP server.',
42
70
  '',
43
71
  'Options:',
44
72
  ' --root <path> Allowed root for file operations. Defaults to cwd.',
73
+ ' --port <N> Listen on localhost:<N> using Streamable HTTP transport.',
74
+ ' When omitted, uses stdio transport (default).',
45
75
  ' --version, -v Print version and exit.',
46
76
  ' --help, -h Show this help.',
47
77
  '',
48
78
  ].join('\n'));
49
79
  process.exit(0);
50
80
  }
51
- const server = createMcpServer({ allowedRoot: root });
52
- const transport = new StdioServerTransport();
53
- await server.connect(transport);
81
+ const server = createMcpServer({ allowedRoot: root, version: PKG_VERSION });
82
+ if (port !== undefined) {
83
+ // Streamable HTTP transport — stateless (no session management).
84
+ const transport = new StreamableHTTPServerTransport({
85
+ sessionIdGenerator: undefined,
86
+ });
87
+ await server.connect(transport);
88
+ const httpServer = createServer(async (req, res) => {
89
+ await transport.handleRequest(req, res);
90
+ });
91
+ httpServer.listen(port, '127.0.0.1', () => {
92
+ process.stderr.write(`nowline-mcp: Streamable HTTP listening on http://127.0.0.1:${port}\n`);
93
+ });
94
+ await new Promise((resolve) => {
95
+ httpServer.on('close', resolve);
96
+ process.on('SIGINT', () => httpServer.close());
97
+ process.on('SIGTERM', () => httpServer.close());
98
+ });
99
+ }
100
+ else {
101
+ // Default: stdio transport.
102
+ const transport = new StdioServerTransport();
103
+ await server.connect(transport);
104
+ }
54
105
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,qDAAqD;AACrD,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,kEAAkE;AAClE,EAAE;AACF,SAAS;AACT,iDAAiD;AACjD,EAAE;AACF,0DAA0D;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,SAAS,SAAS,CAAC,IAAc;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,IAAwB,CAAC;IAC7B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAExD,IAAI,OAAO,EAAE,CAAC;IACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,IAAI,IAAI,EAAE,CAAC;IACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB;QACI,mCAAmC;QACnC,EAAE;QACF,iDAAiD;QACjD,EAAE;QACF,UAAU;QACV,sEAAsE;QACtE,2CAA2C;QAC3C,mCAAmC;QACnC,EAAE;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerPrompts(server: McpServer): void;
3
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqKvD"}
@@ -0,0 +1,143 @@
1
+ // MCP prompt registrations for @nowline/mcp.
2
+ // Wired into the server via registerPrompts(server).
3
+ import { z } from 'zod';
4
+ export function registerPrompts(server) {
5
+ // ---- create-roadmap ----------------------------------------------------
6
+ server.registerPrompt('create-roadmap', {
7
+ description: 'Generate a new .nowline roadmap from a plain-English description. Composes the DSL reference and example files so the LLM has full context.',
8
+ argsSchema: {
9
+ description: z
10
+ .string()
11
+ .describe('Plain-English description of the roadmap you want to create (teams, timeline, key milestones, etc.).'),
12
+ },
13
+ }, ({ description }) => ({
14
+ messages: [
15
+ {
16
+ role: 'user',
17
+ content: {
18
+ type: 'resource',
19
+ resource: {
20
+ uri: 'nowline://reference',
21
+ mimeType: 'text/plain',
22
+ text: '',
23
+ },
24
+ },
25
+ },
26
+ {
27
+ role: 'user',
28
+ content: {
29
+ type: 'resource',
30
+ resource: {
31
+ uri: 'nowline://examples',
32
+ mimeType: 'text/plain',
33
+ text: '',
34
+ },
35
+ },
36
+ },
37
+ {
38
+ role: 'user',
39
+ content: {
40
+ type: 'text',
41
+ text: `Using the Nowline DSL reference and examples above, generate a complete, valid .nowline roadmap file for the following description:\n\n${description}\n\nReturn only the .nowline source text with no additional explanation.`,
42
+ },
43
+ },
44
+ ],
45
+ }));
46
+ // ---- fix-diagnostics ----------------------------------------------------
47
+ server.registerPrompt('fix-diagnostics', {
48
+ description: 'Fix validation errors in a .nowline file. Describe the validate→fix→re-validate loop keyed on NL.E#### diagnostic codes.',
49
+ argsSchema: {
50
+ source: z
51
+ .string()
52
+ .describe('The .nowline source text that contains validation errors.'),
53
+ diagnostics: z
54
+ .string()
55
+ .optional()
56
+ .describe('JSON array of diagnostic objects from the validate tool. Omit to let the LLM call validate itself.'),
57
+ },
58
+ }, ({ source, diagnostics }) => {
59
+ const diagSection = diagnostics
60
+ ? `\n\nDiagnostics (JSON):\n\`\`\`json\n${diagnostics}\n\`\`\``
61
+ : '\n\nFirst call the `validate` tool on the source to get the current diagnostics.';
62
+ return {
63
+ messages: [
64
+ {
65
+ role: 'user',
66
+ content: {
67
+ type: 'resource',
68
+ resource: {
69
+ uri: 'nowline://reference',
70
+ mimeType: 'text/plain',
71
+ text: '',
72
+ },
73
+ },
74
+ },
75
+ {
76
+ role: 'user',
77
+ content: {
78
+ type: 'text',
79
+ text: `Fix all validation errors in the following .nowline source. Each diagnostic code (NL.E####) identifies the exact rule violation — consult the DSL reference above to understand the rule and apply the correct fix. After fixing, call the \`validate\` tool to confirm there are no remaining errors.${diagSection}\n\nSource:\n\`\`\`nowline\n${source}\n\`\`\`\n\nReturn the corrected .nowline source text.`,
80
+ },
81
+ },
82
+ ],
83
+ };
84
+ });
85
+ // ---- convert-to-nowline -------------------------------------------------
86
+ server.registerPrompt('convert-to-nowline', {
87
+ description: 'Convert a gantt/timeline from another format (Mermaid gantt, MS Project, Excel, Google Sheets, CSV) into Nowline DSL. Uses the conversion guide resource for format-specific rules.',
88
+ argsSchema: {
89
+ source: z
90
+ .string()
91
+ .describe('The source content to convert (paste the raw text/CSV/XML here).'),
92
+ from: z
93
+ .enum([
94
+ 'mermaid-gantt',
95
+ 'ms-project',
96
+ 'xlsx',
97
+ 'gsheets-timeline',
98
+ 'csv',
99
+ 'auto',
100
+ ])
101
+ .optional()
102
+ .describe('Source format hint. Use "auto" (default) to let the LLM detect the format.'),
103
+ },
104
+ }, ({ source, from }) => {
105
+ const formatHint = from && from !== 'auto'
106
+ ? `The source format is: **${from}**.`
107
+ : 'Detect the source format automatically from the content.';
108
+ return {
109
+ messages: [
110
+ {
111
+ role: 'user',
112
+ content: {
113
+ type: 'resource',
114
+ resource: {
115
+ uri: 'nowline://conversions',
116
+ mimeType: 'text/plain',
117
+ text: '',
118
+ },
119
+ },
120
+ },
121
+ {
122
+ role: 'user',
123
+ content: {
124
+ type: 'resource',
125
+ resource: {
126
+ uri: 'nowline://reference',
127
+ mimeType: 'text/plain',
128
+ text: '',
129
+ },
130
+ },
131
+ },
132
+ {
133
+ role: 'user',
134
+ content: {
135
+ type: 'text',
136
+ text: `Using the conversion guide and the Nowline DSL reference above, convert the following source content into a valid .nowline roadmap.\n\n${formatHint}\n\nSource content:\n\`\`\`\n${source}\n\`\`\`\n\nReturn only the .nowline source text. After generating it, call the \`validate\` tool to confirm there are no errors.`,
137
+ },
138
+ },
139
+ ],
140
+ };
141
+ });
142
+ }
143
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const REFERENCE_CHEATSHEET = "# Nowline DSL \u2014 condensed reference\n\nEvery file starts with `nowline v1` on line 1.\n\n## Roadmap directive\n\n```\nroadmap <id> \"<title>\" start:YYYY-MM-DD scale:2w\n```\n\nCommon keys: `start:`, `scale:`, `length:`, `locale:`, `theme:`, `author:`, `calendar:`.\n\n## Swimlanes and items\n\n```\nswimlane <id> \"<title>\"\n item <id> \"<title>\" duration:3w\n```\n\nEntity types: `swimlane`, `group`, `parallel`, `item`, `milestone`, `anchor`.\n\nItems need `duration:` or `size:`. Use 2-space indentation under parents.\n\n## Item properties\n\n`duration:` (or `size:`), `status:`, `remaining:`, `owner:`, `after:`, `before:`, `labels:`, `link:`, `style:`.\n\nThere is NO `progress:` or `color:` key. Show completion with `status:` + `remaining:`; set visuals with a `style:` reference (see full reference).\n\n## Progress & status\n\n```\nitem api \"API redesign\" duration:4w status:in-progress remaining:40%\n```\n\n`status:` values: `planned`, `in-progress` (alias `active`), `done` (alias `completed`), `at-risk`, `blocked`, or a custom `status` you declare earlier.\n\n`remaining:` is the work *left*, written as a percent (`40%`) or an effort literal (`1w`). So an item that is 60% complete is `remaining:40%`. Omit `remaining:` for a fully open or fully done bar.\n\n## Config / includes (before roadmap)\n\n`config` blocks, `include \"path.nowline\"` \u2014 see full reference for ordering rules.\n\nCall `reference` with `format: \"full\"` for the complete man page, or `examples` for sample files.\n";
2
+ //# sourceMappingURL=reference-cheatsheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-cheatsheet.d.ts","sourceRoot":"","sources":["../src/reference-cheatsheet.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,s/CA4ChC,CAAC"}
@@ -0,0 +1,47 @@
1
+ // Condensed DSL reference for the MCP `reference` discovery tool (format: condensed).
2
+ export const REFERENCE_CHEATSHEET = `# Nowline DSL — condensed reference
3
+
4
+ Every file starts with \`nowline v1\` on line 1.
5
+
6
+ ## Roadmap directive
7
+
8
+ \`\`\`
9
+ roadmap <id> "<title>" start:YYYY-MM-DD scale:2w
10
+ \`\`\`
11
+
12
+ Common keys: \`start:\`, \`scale:\`, \`length:\`, \`locale:\`, \`theme:\`, \`author:\`, \`calendar:\`.
13
+
14
+ ## Swimlanes and items
15
+
16
+ \`\`\`
17
+ swimlane <id> "<title>"
18
+ item <id> "<title>" duration:3w
19
+ \`\`\`
20
+
21
+ Entity types: \`swimlane\`, \`group\`, \`parallel\`, \`item\`, \`milestone\`, \`anchor\`.
22
+
23
+ Items need \`duration:\` or \`size:\`. Use 2-space indentation under parents.
24
+
25
+ ## Item properties
26
+
27
+ \`duration:\` (or \`size:\`), \`status:\`, \`remaining:\`, \`owner:\`, \`after:\`, \`before:\`, \`labels:\`, \`link:\`, \`style:\`.
28
+
29
+ There is NO \`progress:\` or \`color:\` key. Show completion with \`status:\` + \`remaining:\`; set visuals with a \`style:\` reference (see full reference).
30
+
31
+ ## Progress & status
32
+
33
+ \`\`\`
34
+ item api "API redesign" duration:4w status:in-progress remaining:40%
35
+ \`\`\`
36
+
37
+ \`status:\` values: \`planned\`, \`in-progress\` (alias \`active\`), \`done\` (alias \`completed\`), \`at-risk\`, \`blocked\`, or a custom \`status\` you declare earlier.
38
+
39
+ \`remaining:\` is the work *left*, written as a percent (\`40%\`) or an effort literal (\`1w\`). So an item that is 60% complete is \`remaining:40%\`. Omit \`remaining:\` for a fully open or fully done bar.
40
+
41
+ ## Config / includes (before roadmap)
42
+
43
+ \`config\` blocks, \`include "path.nowline"\` — see full reference for ordering rules.
44
+
45
+ Call \`reference\` with \`format: "full"\` for the complete man page, or \`examples\` for sample files.
46
+ `;
47
+ //# sourceMappingURL=reference-cheatsheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-cheatsheet.js","sourceRoot":"","sources":["../src/reference-cheatsheet.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CnC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const SCHEMA_VOCABULARY: {
2
+ readonly directiveKeys: readonly ["locale", "author", "start", "scale", "length", "calendar", "logo", "logo-size"];
3
+ readonly entityTypes: readonly ["swimlane", "item", "parallel", "group", "person", "team", "anchor", "label", "size", "status", "milestone", "footnote"];
4
+ readonly itemPropertyKeys: readonly ["status", "owner", "after", "before", "size", "duration", "remaining", "capacity", "labels", "link", "style", "description"];
5
+ };
6
+ //# sourceMappingURL=schema-vocab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-vocab.d.ts","sourceRoot":"","sources":["../src/schema-vocab.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,iBAAiB;;;;CA8CpB,CAAC"}
@@ -0,0 +1,55 @@
1
+ // Structured key vocabulary for the MCP `schema` discovery tool.
2
+ //
3
+ // This is the one place whose whole job is to give agents ACCURATE DSL
4
+ // keys so they stop hallucinating. Every key below is a real DSL token
5
+ // (verified against specs/dsl.md and the man page) — render/CLI options
6
+ // like `theme` or `now` are deliberately excluded because they are not
7
+ // part of the `.nowline` source language.
8
+ export const SCHEMA_VOCABULARY = {
9
+ // Keys valid on the `nowline` directive line (`locale`) and the
10
+ // `roadmap` declaration line. NOT render/CLI options (`theme`, `now`).
11
+ directiveKeys: [
12
+ 'locale',
13
+ 'author',
14
+ 'start',
15
+ 'scale',
16
+ 'length',
17
+ 'calendar',
18
+ 'logo',
19
+ 'logo-size',
20
+ ],
21
+ // Roadmap-section keywords — the declarable entity types.
22
+ entityTypes: [
23
+ 'swimlane',
24
+ 'item',
25
+ 'parallel',
26
+ 'group',
27
+ 'person',
28
+ 'team',
29
+ 'anchor',
30
+ 'label',
31
+ 'size',
32
+ 'status',
33
+ 'milestone',
34
+ 'footnote',
35
+ ],
36
+ // Properties valid on `item` declarations: item-specific keys plus the
37
+ // universal properties (`labels`, `link`, `style`, `description`).
38
+ // Visual treatment is a single `style:` reference — raw color/style
39
+ // props (`bg`, `fg`, `text`, ...) live in `style`/`default` config blocks.
40
+ itemPropertyKeys: [
41
+ 'status',
42
+ 'owner',
43
+ 'after',
44
+ 'before',
45
+ 'size',
46
+ 'duration',
47
+ 'remaining',
48
+ 'capacity',
49
+ 'labels',
50
+ 'link',
51
+ 'style',
52
+ 'description',
53
+ ],
54
+ };
55
+ //# sourceMappingURL=schema-vocab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-vocab.js","sourceRoot":"","sources":["../src/schema-vocab.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,uEAAuE;AACvE,0CAA0C;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,gEAAgE;IAChE,uEAAuE;IACvE,aAAa,EAAE;QACX,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,OAAO;QACP,QAAQ;QACR,UAAU;QACV,MAAM;QACN,WAAW;KACd;IACD,0DAA0D;IAC1D,WAAW,EAAE;QACT,UAAU;QACV,MAAM;QACN,UAAU;QACV,OAAO;QACP,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,OAAO;QACP,MAAM;QACN,QAAQ;QACR,WAAW;QACX,UAAU;KACb;IACD,uEAAuE;IACvE,mEAAmE;IACnE,oEAAoE;IACpE,2EAA2E;IAC3E,gBAAgB,EAAE;QACd,QAAQ;QACR,OAAO;QACP,OAAO;QACP,QAAQ;QACR,MAAM;QACN,UAAU;QACV,WAAW;QACX,UAAU;QACV,QAAQ;QACR,MAAM;QACN,OAAO;QACP,aAAa;KAChB;CACK,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { z } from 'zod';
2
+ export declare const DiagnosticSchema: z.ZodObject<{
3
+ file: z.ZodString;
4
+ line: z.ZodNumber;
5
+ column: z.ZodNumber;
6
+ severity: z.ZodEnum<{
7
+ error: "error";
8
+ warning: "warning";
9
+ info: "info";
10
+ }>;
11
+ code: z.ZodString;
12
+ message: z.ZodString;
13
+ suggestion: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>;
15
+ export declare const InsightSchema: z.ZodObject<{
16
+ severity: z.ZodEnum<{
17
+ warning: "warning";
18
+ info: "info";
19
+ }>;
20
+ code: z.ZodString;
21
+ message: z.ZodString;
22
+ entityId: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ export declare const ValidateOutputSchema: z.ZodObject<{
25
+ ok: z.ZodBoolean;
26
+ diagnostics: z.ZodArray<z.ZodObject<{
27
+ file: z.ZodString;
28
+ line: z.ZodNumber;
29
+ column: z.ZodNumber;
30
+ severity: z.ZodEnum<{
31
+ error: "error";
32
+ warning: "warning";
33
+ info: "info";
34
+ }>;
35
+ code: z.ZodString;
36
+ message: z.ZodString;
37
+ suggestion: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>>;
39
+ insights: z.ZodOptional<z.ZodArray<z.ZodObject<{
40
+ severity: z.ZodEnum<{
41
+ warning: "warning";
42
+ info: "info";
43
+ }>;
44
+ code: z.ZodString;
45
+ message: z.ZodString;
46
+ entityId: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strip>>>;
48
+ }, z.core.$strip>;
49
+ export declare const ReadOutputSchema: z.ZodObject<{
50
+ path: z.ZodString;
51
+ source: z.ZodString;
52
+ }, z.core.$strip>;
53
+ export declare const CreateOutputSchema: z.ZodObject<{
54
+ ok: z.ZodBoolean;
55
+ path: z.ZodString;
56
+ diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ file: z.ZodString;
58
+ line: z.ZodNumber;
59
+ column: z.ZodNumber;
60
+ severity: z.ZodEnum<{
61
+ error: "error";
62
+ warning: "warning";
63
+ info: "info";
64
+ }>;
65
+ code: z.ZodString;
66
+ message: z.ZodString;
67
+ suggestion: z.ZodOptional<z.ZodString>;
68
+ }, z.core.$strip>>>;
69
+ }, z.core.$strip>;
70
+ export declare const UpdateOutputSchema: z.ZodObject<{
71
+ ok: z.ZodBoolean;
72
+ path: z.ZodString;
73
+ diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
74
+ file: z.ZodString;
75
+ line: z.ZodNumber;
76
+ column: z.ZodNumber;
77
+ severity: z.ZodEnum<{
78
+ error: "error";
79
+ warning: "warning";
80
+ info: "info";
81
+ }>;
82
+ code: z.ZodString;
83
+ message: z.ZodString;
84
+ suggestion: z.ZodOptional<z.ZodString>;
85
+ }, z.core.$strip>>>;
86
+ }, z.core.$strip>;
87
+ export declare const DeleteOutputSchema: z.ZodObject<{
88
+ path: z.ZodString;
89
+ }, z.core.$strip>;
90
+ export declare const ListOutputSchema: z.ZodObject<{
91
+ paths: z.ZodArray<z.ZodString>;
92
+ }, z.core.$strip>;
93
+ export declare const RenderOutputSchema: z.ZodObject<{
94
+ format: z.ZodString;
95
+ path: z.ZodOptional<z.ZodString>;
96
+ bytes: z.ZodOptional<z.ZodNumber>;
97
+ shareUrl: z.ZodOptional<z.ZodString>;
98
+ insights: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
+ severity: z.ZodEnum<{
100
+ warning: "warning";
101
+ info: "info";
102
+ }>;
103
+ code: z.ZodString;
104
+ message: z.ZodString;
105
+ entityId: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>>>;
107
+ }, z.core.$strip>;
108
+ export declare const ExportOutputSchema: z.ZodObject<{
109
+ format: z.ZodString;
110
+ path: z.ZodOptional<z.ZodString>;
111
+ bytes: z.ZodOptional<z.ZodNumber>;
112
+ shareUrl: z.ZodOptional<z.ZodString>;
113
+ }, z.core.$strip>;
114
+ export declare const ConvertOutputSchema: z.ZodObject<{
115
+ to: z.ZodEnum<{
116
+ json: "json";
117
+ nowline: "nowline";
118
+ }>;
119
+ result: z.ZodString;
120
+ }, z.core.$strip>;
121
+ export declare const CapabilitiesOutputSchema: z.ZodObject<{
122
+ themes: z.ZodArray<z.ZodString>;
123
+ icons: z.ZodArray<z.ZodString>;
124
+ locales: z.ZodArray<z.ZodString>;
125
+ formats: z.ZodArray<z.ZodString>;
126
+ templates: z.ZodArray<z.ZodString>;
127
+ }, z.core.$strip>;
128
+ export declare const ListItemsOutputSchema: z.ZodObject<{
129
+ items: z.ZodArray<z.ZodString>;
130
+ }, z.core.$strip>;
131
+ export declare const ReferenceOutputSchema: z.ZodObject<{
132
+ format: z.ZodEnum<{
133
+ condensed: "condensed";
134
+ full: "full";
135
+ }>;
136
+ text: z.ZodString;
137
+ }, z.core.$strip>;
138
+ export declare const ExamplesOutputSchema: z.ZodObject<{
139
+ names: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
+ name: z.ZodOptional<z.ZodString>;
141
+ source: z.ZodOptional<z.ZodString>;
142
+ }, z.core.$strip>;
143
+ export declare const SchemaOutputSchema: z.ZodObject<{
144
+ directiveKeys: z.ZodArray<z.ZodString>;
145
+ entityTypes: z.ZodArray<z.ZodString>;
146
+ itemPropertyKeys: z.ZodArray<z.ZodString>;
147
+ }, z.core.$strip>;
148
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;iBAQ3B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;iBAKxB,CAAC;AAIH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAI7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAI7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;iBAMnC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC"}