@bendyline/docblocks-cli 2.0.0 → 2.1.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 (114) hide show
  1. package/README.md +5 -16
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.js +7183 -18
  4. package/dist/index.js.map +1 -1
  5. package/package.json +9 -9
  6. package/dist/commands/build.d.ts +0 -14
  7. package/dist/commands/build.d.ts.map +0 -1
  8. package/dist/commands/build.js +0 -74
  9. package/dist/commands/build.js.map +0 -1
  10. package/dist/commands/convert.d.ts +0 -42
  11. package/dist/commands/convert.d.ts.map +0 -1
  12. package/dist/commands/convert.js +0 -339
  13. package/dist/commands/convert.js.map +0 -1
  14. package/dist/commands/init.d.ts +0 -3
  15. package/dist/commands/init.d.ts.map +0 -1
  16. package/dist/commands/init.js +0 -23
  17. package/dist/commands/init.js.map +0 -1
  18. package/dist/commands/mcp.d.ts +0 -12
  19. package/dist/commands/mcp.d.ts.map +0 -1
  20. package/dist/commands/mcp.js +0 -106
  21. package/dist/commands/mcp.js.map +0 -1
  22. package/dist/commands/parse.d.ts +0 -6
  23. package/dist/commands/parse.d.ts.map +0 -1
  24. package/dist/commands/parse.js +0 -38
  25. package/dist/commands/parse.js.map +0 -1
  26. package/dist/commands/serve.d.ts +0 -36
  27. package/dist/commands/serve.d.ts.map +0 -1
  28. package/dist/commands/serve.js +0 -347
  29. package/dist/commands/serve.js.map +0 -1
  30. package/dist/commands/themes.d.ts +0 -6
  31. package/dist/commands/themes.d.ts.map +0 -1
  32. package/dist/commands/themes.js +0 -15
  33. package/dist/commands/themes.js.map +0 -1
  34. package/dist/commands/transforms.d.ts +0 -6
  35. package/dist/commands/transforms.d.ts.map +0 -1
  36. package/dist/commands/transforms.js +0 -15
  37. package/dist/commands/transforms.js.map +0 -1
  38. package/dist/commands/video.d.ts +0 -38
  39. package/dist/commands/video.d.ts.map +0 -1
  40. package/dist/commands/video.js +0 -136
  41. package/dist/commands/video.js.map +0 -1
  42. package/dist/contained-file.d.ts +0 -8
  43. package/dist/contained-file.d.ts.map +0 -1
  44. package/dist/contained-file.js +0 -77
  45. package/dist/contained-file.js.map +0 -1
  46. package/dist/index.d.ts.map +0 -1
  47. package/dist/mcp/agentic-tools.d.ts +0 -16
  48. package/dist/mcp/agentic-tools.d.ts.map +0 -1
  49. package/dist/mcp/agentic-tools.js +0 -967
  50. package/dist/mcp/agentic-tools.js.map +0 -1
  51. package/dist/mcp/artifact-store.d.ts +0 -98
  52. package/dist/mcp/artifact-store.d.ts.map +0 -1
  53. package/dist/mcp/artifact-store.js +0 -542
  54. package/dist/mcp/artifact-store.js.map +0 -1
  55. package/dist/mcp/authority.d.ts +0 -53
  56. package/dist/mcp/authority.d.ts.map +0 -1
  57. package/dist/mcp/authority.js +0 -433
  58. package/dist/mcp/authority.js.map +0 -1
  59. package/dist/mcp/conversion-service.d.ts +0 -111
  60. package/dist/mcp/conversion-service.d.ts.map +0 -1
  61. package/dist/mcp/conversion-service.js +0 -512
  62. package/dist/mcp/conversion-service.js.map +0 -1
  63. package/dist/mcp/discovery-tools.d.ts +0 -4
  64. package/dist/mcp/discovery-tools.d.ts.map +0 -1
  65. package/dist/mcp/discovery-tools.js +0 -114
  66. package/dist/mcp/discovery-tools.js.map +0 -1
  67. package/dist/mcp/document-service.d.ts +0 -47
  68. package/dist/mcp/document-service.d.ts.map +0 -1
  69. package/dist/mcp/document-service.js +0 -424
  70. package/dist/mcp/document-service.js.map +0 -1
  71. package/dist/mcp/error-result.d.ts +0 -17
  72. package/dist/mcp/error-result.d.ts.map +0 -1
  73. package/dist/mcp/error-result.js +0 -82
  74. package/dist/mcp/error-result.js.map +0 -1
  75. package/dist/mcp/intelligence.d.ts +0 -15
  76. package/dist/mcp/intelligence.d.ts.map +0 -1
  77. package/dist/mcp/intelligence.js +0 -855
  78. package/dist/mcp/intelligence.js.map +0 -1
  79. package/dist/mcp/output-bounds.d.ts +0 -13
  80. package/dist/mcp/output-bounds.d.ts.map +0 -1
  81. package/dist/mcp/output-bounds.js +0 -61
  82. package/dist/mcp/output-bounds.js.map +0 -1
  83. package/dist/mcp/preview-service.d.ts +0 -54
  84. package/dist/mcp/preview-service.d.ts.map +0 -1
  85. package/dist/mcp/preview-service.js +0 -454
  86. package/dist/mcp/preview-service.js.map +0 -1
  87. package/dist/mcp/progress.d.ts +0 -18
  88. package/dist/mcp/progress.d.ts.map +0 -1
  89. package/dist/mcp/progress.js +0 -28
  90. package/dist/mcp/progress.js.map +0 -1
  91. package/dist/mcp/prompts.d.ts +0 -4
  92. package/dist/mcp/prompts.d.ts.map +0 -1
  93. package/dist/mcp/prompts.js +0 -124
  94. package/dist/mcp/prompts.js.map +0 -1
  95. package/dist/mcp/rendered-conversion.d.ts +0 -34
  96. package/dist/mcp/rendered-conversion.d.ts.map +0 -1
  97. package/dist/mcp/rendered-conversion.js +0 -364
  98. package/dist/mcp/rendered-conversion.js.map +0 -1
  99. package/dist/mcp/server.d.ts +0 -69
  100. package/dist/mcp/server.d.ts.map +0 -1
  101. package/dist/mcp/server.js +0 -249
  102. package/dist/mcp/server.js.map +0 -1
  103. package/dist/preview-policy.d.ts +0 -8
  104. package/dist/preview-policy.d.ts.map +0 -1
  105. package/dist/preview-policy.js +0 -85
  106. package/dist/preview-policy.js.map +0 -1
  107. package/dist/render-html.d.ts +0 -17
  108. package/dist/render-html.d.ts.map +0 -1
  109. package/dist/render-html.js +0 -85
  110. package/dist/render-html.js.map +0 -1
  111. package/dist/version.d.ts +0 -6
  112. package/dist/version.d.ts.map +0 -1
  113. package/dist/version.js +0 -104
  114. package/dist/version.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/docblocks-cli",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Build, preview, convert, render, inspect, and automate documents",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -9,7 +9,7 @@
9
9
  "url": "https://github.com/bendyline/docblocks.git",
10
10
  "directory": "packages/cli"
11
11
  },
12
- "homepage": "https://github.com/bendyline/docblocks",
12
+ "homepage": "https://docblocks.com/cli/",
13
13
  "keywords": [
14
14
  "docblocks",
15
15
  "cli",
@@ -32,13 +32,13 @@
32
32
  "typecheck": "tsc --noEmit"
33
33
  },
34
34
  "dependencies": {
35
- "@bendyline/docblocks": "2.0.0",
36
- "@bendyline/squisq": "2.0.1",
37
- "@bendyline/squisq-cli": "2.0.1",
38
- "@bendyline/squisq-editor-react": "2.0.1",
39
- "@bendyline/squisq-formats": "2.0.1",
40
- "@bendyline/squisq-react": "2.0.1",
41
- "@bendyline/squisq-video": "2.0.1",
35
+ "@bendyline/docblocks": "2.1.0",
36
+ "@bendyline/squisq": "2.3.0",
37
+ "@bendyline/squisq-cli": "2.3.0",
38
+ "@bendyline/squisq-editor-react": "2.3.1",
39
+ "@bendyline/squisq-formats": "2.3.0",
40
+ "@bendyline/squisq-react": "2.3.0",
41
+ "@bendyline/squisq-video": "2.2.0",
42
42
  "@modelcontextprotocol/sdk": "1.29.0",
43
43
  "commander": "13.1.0",
44
44
  "jszip": "3.10.1",
@@ -1,14 +0,0 @@
1
- import { Command } from 'commander';
2
- export interface BuildOptions {
3
- input: string;
4
- output: string;
5
- theme?: string;
6
- }
7
- export interface BuildResult {
8
- inputDir: string;
9
- outputDir: string;
10
- builtFiles: string[];
11
- }
12
- export declare function runBuild(opts: BuildOptions): Promise<BuildResult>;
13
- export declare const buildCommand: Command;
14
- //# sourceMappingURL=build.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmCvE;AAED,eAAO,MAAM,YAAY,SAiBrB,CAAC"}
@@ -1,74 +0,0 @@
1
- import { Command } from 'commander';
2
- import { mkdir, readdir, readFile, stat, writeFile } from 'node:fs/promises';
3
- import path from 'node:path';
4
- import { renderMarkdownHtml } from '../render-html.js';
5
- export async function runBuild(opts) {
6
- const inputDir = path.resolve(opts.input);
7
- const outputDir = path.resolve(opts.output);
8
- const inputStat = await stat(inputDir).catch(() => null);
9
- if (!inputStat?.isDirectory()) {
10
- throw new Error(`Input directory not found: ${inputDir}`);
11
- }
12
- const markdownFiles = await listMarkdownFiles(inputDir);
13
- if (markdownFiles.length === 0) {
14
- throw new Error(`No markdown files found in ${inputDir}.`);
15
- }
16
- await mkdir(outputDir, { recursive: true });
17
- const builtFiles = [];
18
- for (const sourcePath of markdownFiles) {
19
- const relativePath = path.relative(inputDir, sourcePath);
20
- const outputPath = path.join(outputDir, replaceMarkdownExtension(relativePath));
21
- const source = await readFile(sourcePath, 'utf-8');
22
- const html = await renderMarkdownHtml(source, {
23
- title: titleFromPath(relativePath),
24
- sourcePath,
25
- assetRoot: inputDir,
26
- themeId: opts.theme,
27
- mode: 'static',
28
- });
29
- await mkdir(path.dirname(outputPath), { recursive: true });
30
- await writeFile(outputPath, html, 'utf-8');
31
- builtFiles.push(outputPath);
32
- }
33
- return { inputDir, outputDir, builtFiles };
34
- }
35
- export const buildCommand = new Command('build')
36
- .description('Build markdown files into HTML output')
37
- .option('-i, --input <dir>', 'input directory', '.')
38
- .option('-o, --output <dir>', 'output directory', 'dist')
39
- .option('-t, --theme <id>', 'Squisq theme ID to apply')
40
- .action(async (opts) => {
41
- try {
42
- const result = await runBuild(opts);
43
- for (const outFile of result.builtFiles) {
44
- console.error(`Built: ${outFile}`);
45
- }
46
- console.error(`Done. ${result.builtFiles.length} file(s) built to ${result.outputDir}`);
47
- }
48
- catch (err) {
49
- const message = err instanceof Error ? err.message : String(err);
50
- console.error(`Error: ${message}`);
51
- process.exitCode = 1;
52
- }
53
- });
54
- async function listMarkdownFiles(root) {
55
- const entries = await readdir(root, { withFileTypes: true });
56
- const files = await Promise.all(entries.map(async (entry) => {
57
- const absolutePath = path.join(root, entry.name);
58
- if (entry.isDirectory())
59
- return listMarkdownFiles(absolutePath);
60
- return isMarkdownFile(entry.name) ? [absolutePath] : [];
61
- }));
62
- return files.flat().sort((a, b) => a.localeCompare(b));
63
- }
64
- function isMarkdownFile(fileName) {
65
- return /\.(md|markdown)$/i.test(fileName);
66
- }
67
- function replaceMarkdownExtension(filePath) {
68
- return filePath.replace(/\.(md|markdown)$/i, '.html');
69
- }
70
- function titleFromPath(filePath) {
71
- const baseName = path.basename(filePath).replace(/\.(md|markdown)$/i, '');
72
- return baseName || 'DocBlocks Document';
73
- }
74
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * convert command
3
- *
4
- * Reads any input supported by the linked Squisq CLI and exports through its
5
- * canonical format registry. The historical default set remains DOCX, PPTX,
6
- * PDF, HTML, and DBK; callers may explicitly request any export-capable
7
- * registry format.
8
- *
9
- * Wraps the same logic as squisq-cli's convert command, reusing the
10
- * underlying squisq libraries directly.
11
- */
12
- import { Command } from 'commander';
13
- import type { MarkdownDocument } from '@bendyline/squisq/markdown';
14
- import type { ContentContainer } from '@bendyline/squisq/storage';
15
- import type { FormatRegistry } from '@bendyline/squisq-cli/api';
16
- export interface ConvertOptions {
17
- outputDir?: string;
18
- formats?: string;
19
- theme?: string;
20
- transform?: string;
21
- /** Cancel reading, transformation, conversion, or publication at a bounded boundary. */
22
- signal?: AbortSignal;
23
- /** Programmatic registry override; the CLI defaults to the linked Squisq registry. */
24
- registry?: FormatRegistry;
25
- }
26
- export interface ConvertResult {
27
- outputFiles: {
28
- path: string;
29
- format: string;
30
- size: number;
31
- mimeType: string;
32
- suggestedFilename: string;
33
- warnings: string[];
34
- }[];
35
- }
36
- export declare function runConvert(inputPath: string, opts: ConvertOptions): Promise<ConvertResult>;
37
- /**
38
- * Apply a transform style to a MarkdownDocument.
39
- */
40
- export declare function applyTransformToMarkdown(markdownDoc: MarkdownDocument, container: ContentContainer, transformStyle: string, themeId?: string): Promise<MarkdownDocument>;
41
- export declare const convertCommand: Command;
42
- //# sourceMappingURL=convert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAA2B,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAIzF,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,EAAE,CAAC;CACL;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAiHhG;AAUD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CAoB3B;AA6LD,eAAO,MAAM,cAAc,SAyBvB,CAAC"}
@@ -1,339 +0,0 @@
1
- /**
2
- * convert command
3
- *
4
- * Reads any input supported by the linked Squisq CLI and exports through its
5
- * canonical format registry. The historical default set remains DOCX, PPTX,
6
- * PDF, HTML, and DBK; callers may explicitly request any export-capable
7
- * registry format.
8
- *
9
- * Wraps the same logic as squisq-cli's convert command, reusing the
10
- * underlying squisq libraries directly.
11
- */
12
- import { writeFile, mkdir, stat } from 'node:fs/promises';
13
- import { dirname, basename, extname, join, resolve } from 'node:path';
14
- import { Command } from 'commander';
15
- const DEFAULT_FORMATS = ['docx', 'pptx', 'pdf', 'html', 'dbk'];
16
- export async function runConvert(inputPath, opts) {
17
- throwIfAborted(opts.signal);
18
- const resolvedInput = resolve(inputPath);
19
- const outputDir = opts.outputDir ? resolve(opts.outputDir) : dirname(resolvedInput);
20
- const inputBasename = basename(resolvedInput);
21
- const inputExt = extname(inputBasename);
22
- const baseName = inputExt ? inputBasename.slice(0, -inputExt.length) : inputBasename;
23
- const squisq = await import('@bendyline/squisq-cli/api');
24
- throwIfAborted(opts.signal);
25
- const registry = opts.registry ?? squisq.createCliRegistry();
26
- const exportableIds = registry
27
- .list()
28
- .filter((definition) => definition.exportDoc !== undefined)
29
- .map((definition) => definition.id);
30
- const exportable = new Set(exportableIds);
31
- const requested = opts.formats
32
- ? opts.formats
33
- .split(',')
34
- .map((format) => format.trim().toLowerCase())
35
- .filter(Boolean)
36
- : [...DEFAULT_FORMATS];
37
- const formats = requested.filter((format) => exportable.has(format));
38
- const unknown = requested.filter((format) => !exportable.has(format));
39
- if (unknown.length > 0) {
40
- console.warn(`Unknown or non-exportable format${unknown.length === 1 ? '' : 's'} "${unknown.join(', ')}" — skipping. Valid: ${exportableIds.join(', ')}`);
41
- }
42
- if (formats.length === 0) {
43
- throw new squisq.ConversionError('unknown-format', `No valid formats specified. Valid: ${exportableIds.join(', ')}`, {
44
- format: requested[0],
45
- hint: 'Choose a format reported by the linked Squisq CLI registry.',
46
- });
47
- }
48
- await mkdir(outputDir, { recursive: true });
49
- throwIfAborted(opts.signal);
50
- // Validate transform
51
- if (opts.transform) {
52
- const { getTransformStyleIds } = await import('@bendyline/squisq/transform');
53
- throwIfAborted(opts.signal);
54
- const styles = getTransformStyleIds();
55
- if (!styles.includes(opts.transform)) {
56
- throw new Error(`Unknown transform style "${opts.transform}". Available: ${styles.join(', ')}`);
57
- }
58
- }
59
- console.error(`Reading: ${resolvedInput}`);
60
- const result = await squisq.readInput(resolvedInput, { signal: opts.signal });
61
- throwIfAborted(opts.signal);
62
- const { container } = result;
63
- // Keep DocBlocks' source-preserving Markdown transform projection for
64
- // authored Markdown. JSON Doc inputs have no Markdown source to protect, so
65
- // they use the registry's native transform path below.
66
- let exportMarkdownDoc = result.markdownDoc;
67
- if (opts.transform && exportMarkdownDoc) {
68
- exportMarkdownDoc = await applyTransformToMarkdown(exportMarkdownDoc, container, opts.transform, opts.theme);
69
- throwIfAborted(opts.signal);
70
- console.error(` Applied transform: ${opts.transform}`);
71
- }
72
- const source = exportMarkdownDoc
73
- ? { kind: 'markdown', markdown: exportMarkdownDoc, container, baseName }
74
- : { kind: 'doc', doc: result.doc, container, baseName };
75
- const outputFiles = [];
76
- for (const format of formats) {
77
- throwIfAborted(opts.signal);
78
- const conversion = await squisq.convert(source, format, {
79
- signal: opts.signal,
80
- registry,
81
- title: baseName,
82
- themeId: opts.theme,
83
- ...(!exportMarkdownDoc && opts.transform ? { transformStyle: opts.transform } : {}),
84
- });
85
- throwIfAborted(opts.signal);
86
- const suggestedFilename = basename(conversion.suggestedFilename);
87
- const outPath = join(outputDir, suggestedFilename);
88
- await writeFile(outPath, conversion.bytes);
89
- throwIfAborted(opts.signal);
90
- const info = await stat(outPath);
91
- throwIfAborted(opts.signal);
92
- outputFiles.push({
93
- path: outPath,
94
- format,
95
- size: info.size,
96
- mimeType: conversion.mimeType,
97
- suggestedFilename: conversion.suggestedFilename,
98
- warnings: [...conversion.warnings],
99
- });
100
- for (const warning of conversion.warnings) {
101
- console.error(` Warning [${format}]: ${warning}`);
102
- }
103
- console.error(` ✓ ${outPath}`);
104
- }
105
- console.error('Done.');
106
- return { outputFiles };
107
- }
108
- function throwIfAborted(signal) {
109
- if (!signal?.aborted)
110
- return;
111
- if (signal.reason !== undefined)
112
- throw signal.reason;
113
- const error = new Error('Document conversion was cancelled');
114
- error.name = 'AbortError';
115
- throw error;
116
- }
117
- /**
118
- * Apply a transform style to a MarkdownDocument.
119
- */
120
- export async function applyTransformToMarkdown(markdownDoc, container, transformStyle, themeId) {
121
- const { markdownToDoc, docToMarkdown } = await import('@bendyline/squisq/doc');
122
- const { readFrontmatterThemeId } = await import('@bendyline/squisq/markdown');
123
- const { applyTransform, extractDocImages } = await import('@bendyline/squisq/transform');
124
- const doc = markdownToDoc(markdownDoc);
125
- const images = extractDocImages(doc.blocks);
126
- const effectiveTheme = themeId ?? readFrontmatterThemeId(markdownDoc.frontmatter);
127
- const result = applyTransform(doc, transformStyle, { themeId: effectiveTheme, images });
128
- const projected = projectTransformOntoMarkdownSource(doc, result.doc);
129
- const transformedMarkdown = docToMarkdown(projected);
130
- const resolvedTheme = effectiveTheme ?? result.doc.themeId ?? doc.themeId;
131
- if (!resolvedTheme)
132
- return transformedMarkdown;
133
- return {
134
- ...transformedMarkdown,
135
- frontmatter: {
136
- ...(transformedMarkdown.frontmatter ?? {}),
137
- 'squisq-theme': resolvedTheme,
138
- },
139
- };
140
- }
141
- /**
142
- * Squisq transforms produce a presentation Doc whose generated highlight
143
- * blocks intentionally replace source blocks. Those generated blocks do not
144
- * carry Markdown authoring nodes, so serializing the transformed Doc directly
145
- * can drop complete sections. Project each selected visual template back onto
146
- * its source block instead: the style remains material while the authored
147
- * headings, body content, media references, and hierarchy stay intact.
148
- */
149
- function projectTransformOntoMarkdownSource(source, transformed) {
150
- const candidatesBySource = new Map();
151
- const timedSourceBlocks = collectTransformSourceBlocks(source.blocks).sort((left, right) => left.startTime - right.startTime);
152
- const collectCandidates = (blocks) => {
153
- for (const block of blocks) {
154
- const provenance = block;
155
- const sourceBlockId = provenance.sourceBlockId ??
156
- findSourceBlockAtTime(timedSourceBlocks, provenance.sourceStartTime)?.id;
157
- if (sourceBlockId && block.template) {
158
- const candidates = candidatesBySource.get(sourceBlockId) ?? [];
159
- candidates.push(block);
160
- candidatesBySource.set(sourceBlockId, candidates);
161
- }
162
- if (block.children)
163
- collectCandidates(block.children);
164
- }
165
- };
166
- collectCandidates(transformed.blocks);
167
- const projectBlock = (block) => {
168
- const children = block.children?.map(projectBlock);
169
- const visual = selectVisualCandidate(candidatesBySource.get(block.id));
170
- if (!visual || !block.sourceHeading) {
171
- return { ...block, ...(children ? { children } : {}) };
172
- }
173
- const { autoTemplate: _autoTemplate, ...sourceBlock } = block;
174
- void _autoTemplate;
175
- const templateOverrides = {
176
- ...visual.overrides,
177
- ...(block.sourceHeading.templateAnnotation?.params ?? {}),
178
- ...(block.templateOverrides ?? {}),
179
- };
180
- const sourceHeading = {
181
- ...block.sourceHeading,
182
- templateAnnotation: {
183
- ...(block.sourceHeading.templateAnnotation ?? {}),
184
- template: visual.block.template,
185
- ...(Object.keys(templateOverrides).length > 0 ? { params: templateOverrides } : {}),
186
- },
187
- };
188
- return {
189
- ...sourceBlock,
190
- ...(children ? { children } : {}),
191
- template: visual.block.template,
192
- templateOverrides,
193
- sourceHeading,
194
- ...(block.transition || visual.block.transition
195
- ? { transition: block.transition ?? visual.block.transition }
196
- : {}),
197
- };
198
- };
199
- return {
200
- ...source,
201
- blocks: source.blocks.map(projectBlock),
202
- themeId: transformed.themeId ?? source.themeId,
203
- };
204
- }
205
- function collectTransformSourceBlocks(blocks) {
206
- const sourceBlocks = [];
207
- for (const block of blocks) {
208
- if (block.children && block.children.length > 0) {
209
- if (!block.contents || block.contents.length === 0)
210
- sourceBlocks.push(block);
211
- sourceBlocks.push(...collectTransformSourceBlocks(block.children));
212
- }
213
- else {
214
- sourceBlocks.push(block);
215
- }
216
- }
217
- return sourceBlocks;
218
- }
219
- function findSourceBlockAtTime(sourceBlocks, sourceStartTime) {
220
- if (sourceStartTime === undefined)
221
- return undefined;
222
- let match;
223
- for (const block of sourceBlocks) {
224
- if (block.startTime > sourceStartTime)
225
- break;
226
- match = block;
227
- }
228
- return match;
229
- }
230
- function selectVisualCandidate(candidates) {
231
- if (!candidates || candidates.length === 0)
232
- return undefined;
233
- for (const candidate of candidates) {
234
- if (candidate.id.startsWith('transform-header-') ||
235
- candidate.id.startsWith('transform-img-') ||
236
- candidate.template === 'sectionHeader') {
237
- continue;
238
- }
239
- const overrides = serializeVisualInputs(candidate);
240
- if (overrides)
241
- return { block: candidate, overrides };
242
- }
243
- return undefined;
244
- }
245
- function serializeVisualInputs(block) {
246
- const input = block;
247
- switch (block.template) {
248
- case 'title':
249
- return serializeStringInputs(input, ['title'], ['subtitle', 'backgroundColor']);
250
- case 'statHighlight':
251
- return serializeStringInputs(input, ['stat', 'description'], ['detail', 'colorScheme']);
252
- case 'quote':
253
- return serializeStringInputs(input, ['quote'], ['attribution']);
254
- case 'fullBleedQuote':
255
- return serializeStringInputs(input, ['text'], ['colorScheme']);
256
- case 'factCard':
257
- return serializeStringInputs(input, ['fact', 'explanation'], ['source']);
258
- case 'definitionCard':
259
- return serializeStringInputs(input, ['term', 'definition'], ['origin', 'colorScheme']);
260
- case 'dateEvent':
261
- return serializeStringInputs(input, ['date', 'description'], ['footer', 'mood']);
262
- case 'twoColumn': {
263
- const left = serializeLabeledPair(input.left);
264
- const right = serializeLabeledPair(input.right);
265
- if (!left || !right)
266
- return undefined;
267
- return {
268
- left,
269
- right,
270
- ...(serializeStringInputs(input, [], ['header', 'leftColor', 'rightColor']) ?? {}),
271
- };
272
- }
273
- default:
274
- // Some template inputs (lists, images, tables, and custom templates)
275
- // are structured and cannot be represented losslessly in one inline
276
- // annotation. Keep their source Markdown unchanged instead of emitting
277
- // a visually empty or corrupt template block.
278
- return undefined;
279
- }
280
- }
281
- function serializeStringInputs(input, required, optional) {
282
- const serialized = {};
283
- for (const key of required) {
284
- const value = input[key];
285
- if (typeof value !== 'string')
286
- return undefined;
287
- serialized[key] = value;
288
- }
289
- for (const key of optional) {
290
- const value = input[key];
291
- if (typeof value === 'string')
292
- serialized[key] = value;
293
- }
294
- return serialized;
295
- }
296
- function serializeLabeledPair(value) {
297
- if (!value || typeof value !== 'object' || Array.isArray(value))
298
- return undefined;
299
- const pair = value;
300
- if (typeof pair.label !== 'string')
301
- return undefined;
302
- return typeof pair.sublabel === 'string' && pair.sublabel
303
- ? `${pair.label}|${pair.sublabel}`
304
- : pair.label;
305
- }
306
- export const convertCommand = new Command('convert')
307
- .description('Convert a document through the linked Squisq format registry')
308
- .argument('<input>', 'Path to a supported document, .zip/.dbk container, or folder')
309
- .option('-o, --output-dir <dir>', 'Output directory (default: same as input)')
310
- .option('-f, --formats <list>', `Comma-separated linked Squisq export formats (default: ${DEFAULT_FORMATS.join(', ')})`)
311
- .option('-t, --theme <id>', 'Squisq theme ID to apply (e.g., documentary, cinematic, bold)')
312
- .option('--transform <style>', 'Transform style to apply before export (e.g., documentary, magazine, minimal)')
313
- .action(async (inputPath, opts) => {
314
- try {
315
- await runConvert(inputPath, opts);
316
- }
317
- catch (err) {
318
- const message = err instanceof Error ? err.message : String(err);
319
- console.error(`Error: ${message}`);
320
- if (isConversionErrorMetadata(err)) {
321
- console.error(` Code: ${err.code}${err.format ? ` (${err.format})` : ''}`);
322
- if (err.hint)
323
- console.error(` Hint: ${err.hint}`);
324
- }
325
- process.exitCode = 1;
326
- }
327
- });
328
- function isConversionErrorMetadata(error) {
329
- if (!(error instanceof Error))
330
- return false;
331
- const candidate = error;
332
- if (typeof candidate.code !== 'string')
333
- return false;
334
- if (candidate.format !== undefined && typeof candidate.format !== 'string') {
335
- return false;
336
- }
337
- return candidate.hint === undefined || typeof candidate.hint === 'string';
338
- }
339
- //# sourceMappingURL=convert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const initCommand: Command;
3
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,WAAW,SAuBpB,CAAC"}
@@ -1,23 +0,0 @@
1
- import { Command } from 'commander';
2
- import fs from 'node:fs';
3
- import path from 'node:path';
4
- export const initCommand = new Command('init')
5
- .description('Initialize a DocBlocks workspace in the current directory')
6
- .argument('[dir]', 'directory to initialize', '.')
7
- .action((dir) => {
8
- const targetDir = path.resolve(dir);
9
- const configDir = path.join(targetDir, '.docblocks');
10
- if (fs.existsSync(configDir)) {
11
- console.error('DocBlocks workspace already initialized in this directory.');
12
- process.exitCode = 1;
13
- return;
14
- }
15
- fs.mkdirSync(configDir, { recursive: true });
16
- const config = {
17
- name: path.basename(targetDir),
18
- version: '0.1.0',
19
- };
20
- fs.writeFileSync(path.join(configDir, 'config.json'), JSON.stringify(config, null, 2) + '\n');
21
- console.error(`Initialized DocBlocks workspace in ${targetDir}`);
22
- });
23
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,2DAA2D,CAAC;KACxE,QAAQ,CAAC,OAAO,EAAE,yBAAyB,EAAE,GAAG,CAAC;KACjD,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAErD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9B,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE9F,OAAO,CAAC,KAAK,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * mcp command — start the DocBlocks MCP server over stdio.
3
- *
4
- * Usage:
5
- * docblocks mcp
6
- *
7
- * For Claude Desktop, add to your config:
8
- * { "mcpServers": { "docblocks": { "command": "npx", "args": ["-y", "@bendyline/docblocks-cli", "mcp"] } } }
9
- */
10
- import { Command } from 'commander';
11
- export declare const mcpCommand: Command;
12
- //# sourceMappingURL=mcp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,UAAU,SAwJpB,CAAC"}