@bendyline/docblocks-cli 1.1.1 → 2.0.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 +60 -76
  2. package/dist/commands/build.d.ts +11 -0
  3. package/dist/commands/build.d.ts.map +1 -1
  4. package/dist/commands/build.js +61 -45
  5. package/dist/commands/build.js.map +1 -1
  6. package/dist/commands/convert.d.ts +12 -2
  7. package/dist/commands/convert.d.ts.map +1 -1
  8. package/dist/commands/convert.js +272 -101
  9. package/dist/commands/convert.js.map +1 -1
  10. package/dist/commands/mcp.d.ts +1 -1
  11. package/dist/commands/mcp.d.ts.map +1 -1
  12. package/dist/commands/mcp.js +90 -4
  13. package/dist/commands/mcp.js.map +1 -1
  14. package/dist/commands/parse.js +1 -1
  15. package/dist/commands/parse.js.map +1 -1
  16. package/dist/commands/serve.d.ts +33 -0
  17. package/dist/commands/serve.d.ts.map +1 -1
  18. package/dist/commands/serve.js +340 -3
  19. package/dist/commands/serve.js.map +1 -1
  20. package/dist/commands/themes.js +1 -1
  21. package/dist/commands/themes.js.map +1 -1
  22. package/dist/commands/transforms.js +1 -1
  23. package/dist/commands/transforms.js.map +1 -1
  24. package/dist/commands/video.d.ts +8 -1
  25. package/dist/commands/video.d.ts.map +1 -1
  26. package/dist/commands/video.js +50 -30
  27. package/dist/commands/video.js.map +1 -1
  28. package/dist/contained-file.d.ts +8 -0
  29. package/dist/contained-file.d.ts.map +1 -0
  30. package/dist/contained-file.js +77 -0
  31. package/dist/contained-file.js.map +1 -0
  32. package/dist/index.js +3 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/mcp/agentic-tools.d.ts +16 -0
  35. package/dist/mcp/agentic-tools.d.ts.map +1 -0
  36. package/dist/mcp/agentic-tools.js +967 -0
  37. package/dist/mcp/agentic-tools.js.map +1 -0
  38. package/dist/mcp/artifact-store.d.ts +98 -0
  39. package/dist/mcp/artifact-store.d.ts.map +1 -0
  40. package/dist/mcp/artifact-store.js +542 -0
  41. package/dist/mcp/artifact-store.js.map +1 -0
  42. package/dist/mcp/authority.d.ts +53 -0
  43. package/dist/mcp/authority.d.ts.map +1 -0
  44. package/dist/mcp/authority.js +433 -0
  45. package/dist/mcp/authority.js.map +1 -0
  46. package/dist/mcp/conversion-service.d.ts +111 -0
  47. package/dist/mcp/conversion-service.d.ts.map +1 -0
  48. package/dist/mcp/conversion-service.js +512 -0
  49. package/dist/mcp/conversion-service.js.map +1 -0
  50. package/dist/mcp/discovery-tools.d.ts +4 -0
  51. package/dist/mcp/discovery-tools.d.ts.map +1 -0
  52. package/dist/mcp/discovery-tools.js +114 -0
  53. package/dist/mcp/discovery-tools.js.map +1 -0
  54. package/dist/mcp/document-service.d.ts +47 -0
  55. package/dist/mcp/document-service.d.ts.map +1 -0
  56. package/dist/mcp/document-service.js +424 -0
  57. package/dist/mcp/document-service.js.map +1 -0
  58. package/dist/mcp/error-result.d.ts +17 -0
  59. package/dist/mcp/error-result.d.ts.map +1 -0
  60. package/dist/mcp/error-result.js +82 -0
  61. package/dist/mcp/error-result.js.map +1 -0
  62. package/dist/mcp/intelligence.d.ts +15 -0
  63. package/dist/mcp/intelligence.d.ts.map +1 -0
  64. package/dist/mcp/intelligence.js +855 -0
  65. package/dist/mcp/intelligence.js.map +1 -0
  66. package/dist/mcp/output-bounds.d.ts +13 -0
  67. package/dist/mcp/output-bounds.d.ts.map +1 -0
  68. package/dist/mcp/output-bounds.js +61 -0
  69. package/dist/mcp/output-bounds.js.map +1 -0
  70. package/dist/mcp/preview-service.d.ts +54 -0
  71. package/dist/mcp/preview-service.d.ts.map +1 -0
  72. package/dist/mcp/preview-service.js +454 -0
  73. package/dist/mcp/preview-service.js.map +1 -0
  74. package/dist/mcp/progress.d.ts +18 -0
  75. package/dist/mcp/progress.d.ts.map +1 -0
  76. package/dist/mcp/progress.js +28 -0
  77. package/dist/mcp/progress.js.map +1 -0
  78. package/dist/mcp/prompts.d.ts +4 -0
  79. package/dist/mcp/prompts.d.ts.map +1 -0
  80. package/dist/mcp/prompts.js +124 -0
  81. package/dist/mcp/prompts.js.map +1 -0
  82. package/dist/mcp/rendered-conversion.d.ts +34 -0
  83. package/dist/mcp/rendered-conversion.d.ts.map +1 -0
  84. package/dist/mcp/rendered-conversion.js +364 -0
  85. package/dist/mcp/rendered-conversion.js.map +1 -0
  86. package/dist/mcp/server.d.ts +67 -10
  87. package/dist/mcp/server.d.ts.map +1 -1
  88. package/dist/mcp/server.js +228 -496
  89. package/dist/mcp/server.js.map +1 -1
  90. package/dist/preview-policy.d.ts +8 -0
  91. package/dist/preview-policy.d.ts.map +1 -0
  92. package/dist/preview-policy.js +85 -0
  93. package/dist/preview-policy.js.map +1 -0
  94. package/dist/render-html.d.ts +17 -0
  95. package/dist/render-html.d.ts.map +1 -0
  96. package/dist/render-html.js +85 -0
  97. package/dist/render-html.js.map +1 -0
  98. package/dist/version.d.ts +6 -0
  99. package/dist/version.d.ts.map +1 -0
  100. package/dist/version.js +104 -0
  101. package/dist/version.js.map +1 -0
  102. package/package.json +11 -11
  103. package/dist/converters/docx-to-md.d.ts +0 -10
  104. package/dist/converters/docx-to-md.d.ts.map +0 -1
  105. package/dist/converters/docx-to-md.js +0 -17
  106. package/dist/converters/docx-to-md.js.map +0 -1
  107. package/dist/converters/pdf-to-md.d.ts +0 -14
  108. package/dist/converters/pdf-to-md.d.ts.map +0 -1
  109. package/dist/converters/pdf-to-md.js +0 -51
  110. package/dist/converters/pdf-to-md.js.map +0 -1
  111. package/dist/converters/pptx-to-md.d.ts +0 -13
  112. package/dist/converters/pptx-to-md.d.ts.map +0 -1
  113. package/dist/converters/pptx-to-md.js +0 -67
  114. package/dist/converters/pptx-to-md.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type PreviewPathPurpose = 'directory' | 'document-or-asset' | 'embedded-image';
2
+ /**
3
+ * Apply the preview policy to both the name the document requested and the
4
+ * physical path the filesystem resolved. Checking both closes symlink aliases
5
+ * such as `images -> .private` and `diagram.png -> credentials.json`.
6
+ */
7
+ export declare function isAllowedPreviewPath(rootPath: string, requestedPath: string, physicalPath: string, purpose: PreviewPathPurpose): boolean;
8
+ //# sourceMappingURL=preview-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-policy.d.ts","sourceRoot":"","sources":["../src/preview-policy.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAiDtF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAkBT"}
@@ -0,0 +1,85 @@
1
+ import path from 'node:path';
2
+ const PREVIEW_FILE_EXTENSIONS = new Set([
3
+ '.css',
4
+ '.gif',
5
+ '.htm',
6
+ '.html',
7
+ '.ico',
8
+ '.jpeg',
9
+ '.jpg',
10
+ '.js',
11
+ '.json',
12
+ '.markdown',
13
+ '.md',
14
+ '.mjs',
15
+ '.mp3',
16
+ '.mp4',
17
+ '.ogg',
18
+ '.otf',
19
+ '.png',
20
+ '.svg',
21
+ '.ttf',
22
+ '.wav',
23
+ '.webm',
24
+ '.webp',
25
+ '.woff',
26
+ '.woff2',
27
+ ]);
28
+ const EMBEDDED_IMAGE_EXTENSIONS = new Set([
29
+ '.gif',
30
+ '.ico',
31
+ '.jpeg',
32
+ '.jpg',
33
+ '.png',
34
+ '.svg',
35
+ '.webp',
36
+ ]);
37
+ const SENSITIVE_FILE_EXTENSIONS = new Set(['.cer', '.crt', '.der', '.key', '.p12', '.pem', '.pfx']);
38
+ const SENSITIVE_FILE_NAMES = new Set([
39
+ 'credentials',
40
+ 'credentials.json',
41
+ 'id_dsa',
42
+ 'id_ecdsa',
43
+ 'id_ed25519',
44
+ 'id_rsa',
45
+ ]);
46
+ /**
47
+ * Apply the preview policy to both the name the document requested and the
48
+ * physical path the filesystem resolved. Checking both closes symlink aliases
49
+ * such as `images -> .private` and `diagram.png -> credentials.json`.
50
+ */
51
+ export function isAllowedPreviewPath(rootPath, requestedPath, physicalPath, purpose) {
52
+ const root = path.resolve(rootPath);
53
+ const requested = path.resolve(requestedPath);
54
+ const physical = path.resolve(physicalPath);
55
+ for (const candidate of new Set([requested, physical])) {
56
+ const relative = path.relative(root, candidate);
57
+ if (!isContainedRelativePath(relative) || containsSensitiveSegment(relative))
58
+ return false;
59
+ if (purpose !== 'directory') {
60
+ const extension = path.extname(path.basename(candidate)).toLowerCase();
61
+ const allowedExtensions = purpose === 'embedded-image' ? EMBEDDED_IMAGE_EXTENSIONS : PREVIEW_FILE_EXTENSIONS;
62
+ if (!allowedExtensions.has(extension))
63
+ return false;
64
+ }
65
+ }
66
+ return true;
67
+ }
68
+ function containsSensitiveSegment(relativePath) {
69
+ return relativePath
70
+ .split(/[\\/]+/)
71
+ .filter(Boolean)
72
+ .some((segment) => {
73
+ const lower = segment.toLowerCase();
74
+ return (lower.startsWith('.') ||
75
+ SENSITIVE_FILE_NAMES.has(lower) ||
76
+ SENSITIVE_FILE_EXTENSIONS.has(path.extname(lower)));
77
+ });
78
+ }
79
+ function isContainedRelativePath(relativePath) {
80
+ return (relativePath === '' ||
81
+ (!relativePath.startsWith(`..${path.sep}`) &&
82
+ relativePath !== '..' &&
83
+ !path.isAbsolute(relativePath)));
84
+ }
85
+ //# sourceMappingURL=preview-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-policy.js","sourceRoot":"","sources":["../src/preview-policy.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,WAAW;IACX,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACpG,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,QAAQ;CACT,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,aAAqB,EACrB,YAAoB,EACpB,OAA2B;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5C,KAAK,MAAM,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAE3F,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACvE,MAAM,iBAAiB,GACrB,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,uBAAuB,CAAC;YACrF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAoB;IACpD,OAAO,YAAY;SAChB,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,CACL,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACrB,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;YAC/B,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAoB;IACnD,OAAO,CACL,YAAY,KAAK,EAAE;QACnB,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,YAAY,KAAK,IAAI;YACrB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface ReferencedAssetPath {
2
+ assetRoot: string;
3
+ requestedPath: string;
4
+ physicalPath: string;
5
+ }
6
+ export interface RenderMarkdownHtmlOptions {
7
+ title: string;
8
+ sourcePath?: string;
9
+ assetRoot?: string;
10
+ themeId?: string;
11
+ mode?: 'slideshow' | 'static';
12
+ maxAssetBytes?: number;
13
+ /** Optional surface policy applied after mandatory physical containment. */
14
+ allowReferencedAsset?: (asset: ReferencedAssetPath) => boolean;
15
+ }
16
+ export declare function renderMarkdownHtml(markdown: string, options: RenderMarkdownHtmlOptions): Promise<string>;
17
+ //# sourceMappingURL=render-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-html.d.ts","sourceRoot":"","sources":["../src/render-html.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC;CAChE;AAMD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
@@ -0,0 +1,85 @@
1
+ import { realpath, stat } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { markdownToDoc } from '@bendyline/squisq/doc';
4
+ import { parseMarkdown } from '@bendyline/squisq/markdown';
5
+ import { collectImagePaths, docToHtml } from '@bendyline/squisq-formats/html';
6
+ import { PLAYER_BUNDLE } from '@bendyline/squisq-react/standalone-source';
7
+ import { readContainedFile } from './contained-file.js';
8
+ const MAX_REFERENCED_IMAGES = 100;
9
+ const DEFAULT_MAX_ASSET_BYTES = 50 * 1024 * 1024;
10
+ const MAX_SINGLE_ASSET_BYTES = 20 * 1024 * 1024;
11
+ export async function renderMarkdownHtml(markdown, options) {
12
+ const markdownDoc = parseMarkdown(markdown);
13
+ const doc = markdownToDoc(markdownDoc);
14
+ const images = options.sourcePath && options.assetRoot
15
+ ? await readReferencedImages(doc, options.sourcePath, options.assetRoot, options.maxAssetBytes ?? DEFAULT_MAX_ASSET_BYTES, options.allowReferencedAsset)
16
+ : undefined;
17
+ return docToHtml(doc, {
18
+ playerScript: PLAYER_BUNDLE,
19
+ images,
20
+ title: options.title,
21
+ mode: options.mode ?? 'static',
22
+ themeId: options.themeId,
23
+ });
24
+ }
25
+ async function readReferencedImages(doc, sourcePath, assetRoot, maxAssetBytes, allowReferencedAsset) {
26
+ const images = new Map();
27
+ const root = await realpath(path.resolve(assetRoot)).catch(() => null);
28
+ const baseDir = await realpath(path.dirname(path.resolve(sourcePath))).catch(() => null);
29
+ if (!root || !baseDir || !isPathInside(root, baseDir))
30
+ return images;
31
+ let totalBytes = 0;
32
+ for (const imagePath of [...collectImagePaths(doc)].slice(0, MAX_REFERENCED_IMAGES)) {
33
+ if (!isLocalRelativePath(imagePath))
34
+ continue;
35
+ const normalizedPath = stripUrlSuffix(imagePath);
36
+ const absolutePath = path.resolve(baseDir, normalizedPath);
37
+ if (!isPathInside(root, absolutePath))
38
+ continue;
39
+ try {
40
+ const physicalPath = await realpath(absolutePath);
41
+ if (!isPathInside(root, physicalPath))
42
+ continue;
43
+ if (allowReferencedAsset &&
44
+ !allowReferencedAsset({
45
+ assetRoot: root,
46
+ requestedPath: absolutePath,
47
+ physicalPath,
48
+ })) {
49
+ continue;
50
+ }
51
+ const info = await stat(physicalPath);
52
+ if (!info.isFile() ||
53
+ info.size > MAX_SINGLE_ASSET_BYTES ||
54
+ totalBytes + info.size > maxAssetBytes) {
55
+ continue;
56
+ }
57
+ const data = await readContainedFile(root, physicalPath, MAX_SINGLE_ASSET_BYTES);
58
+ totalBytes += data.byteLength;
59
+ images.set(imagePath, toExactArrayBuffer(data));
60
+ }
61
+ catch {
62
+ // Missing assets should not prevent the document from rendering.
63
+ }
64
+ }
65
+ return images;
66
+ }
67
+ function isLocalRelativePath(candidate) {
68
+ return (!path.isAbsolute(candidate) &&
69
+ !candidate.startsWith('/') &&
70
+ !/^(?:[a-z][a-z0-9+.-]*:)?\/\//i.test(candidate) &&
71
+ !candidate.startsWith('data:'));
72
+ }
73
+ function stripUrlSuffix(candidate) {
74
+ return candidate.split(/[?#]/, 1)[0] ?? candidate;
75
+ }
76
+ function isPathInside(rootAbs, candidateAbs) {
77
+ const rel = path.relative(path.resolve(rootAbs), path.resolve(candidateAbs));
78
+ return rel === '' || (!rel.startsWith(`..${path.sep}`) && rel !== '..' && !path.isAbsolute(rel));
79
+ }
80
+ function toExactArrayBuffer(data) {
81
+ const copy = new Uint8Array(data.byteLength);
82
+ copy.set(data);
83
+ return copy.buffer;
84
+ }
85
+ //# sourceMappingURL=render-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-html.js","sourceRoot":"","sources":["../src/render-html.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function getPackageVersion(): string;
2
+ /** Version declared for a shipped runtime engine such as linked Squisq. */
3
+ export declare function getDependencyVersion(packageName: string): string;
4
+ /** Declared version plus a hash of the exact linked/installed runtime files being executed. */
5
+ export declare function getDependencyRuntimeVersion(packageName: string, resolutionSpecifier?: string): string;
6
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAcA,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED,+FAA+F;AAC/F,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,mBAAmB,SAAc,GAChC,MAAM,CAyBR"}
@@ -0,0 +1,104 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { createRequire } from 'node:module';
3
+ import { readdirSync, readFileSync, statSync } from 'node:fs';
4
+ import path from 'node:path';
5
+ const require = createRequire(import.meta.url);
6
+ const runtimeVersionCache = new Map();
7
+ export function getPackageVersion() {
8
+ const pkg = readPackageJson();
9
+ if (typeof pkg?.version === 'string' && pkg.version.length > 0) {
10
+ return pkg.version;
11
+ }
12
+ return '0.0.0';
13
+ }
14
+ /** Version declared for a shipped runtime engine such as linked Squisq. */
15
+ export function getDependencyVersion(packageName) {
16
+ const dependencies = readPackageJson()?.dependencies;
17
+ if (!dependencies || typeof dependencies !== 'object' || Array.isArray(dependencies)) {
18
+ return 'unknown';
19
+ }
20
+ const version = dependencies[packageName];
21
+ return typeof version === 'string' && version.length > 0 ? version : 'unknown';
22
+ }
23
+ /** Declared version plus a hash of the exact linked/installed runtime files being executed. */
24
+ export function getDependencyRuntimeVersion(packageName, resolutionSpecifier = packageName) {
25
+ const key = `${packageName}\0${resolutionSpecifier}`;
26
+ const cached = runtimeVersionCache.get(key);
27
+ if (cached)
28
+ return cached;
29
+ const declared = getDependencyVersion(packageName);
30
+ try {
31
+ const entry = require.resolve(resolutionSpecifier);
32
+ const root = findPackageRoot(entry, packageName);
33
+ const files = collectRuntimeFiles(path.join(root, 'dist'));
34
+ const hash = createHash('sha256');
35
+ for (const file of files) {
36
+ const relative = path.relative(root, file).split(path.sep).join('/');
37
+ hash.update(relative);
38
+ hash.update('\0');
39
+ hash.update(readFileSync(file));
40
+ hash.update('\0');
41
+ }
42
+ const version = `${declared}+runtime.${hash.digest('hex').slice(0, 16)}`;
43
+ runtimeVersionCache.set(key, version);
44
+ return version;
45
+ }
46
+ catch {
47
+ const version = `${declared}+runtime.unavailable`;
48
+ runtimeVersionCache.set(key, version);
49
+ return version;
50
+ }
51
+ }
52
+ function readPackageJson() {
53
+ try {
54
+ const raw = readFileSync(new URL('../package.json', import.meta.url), 'utf-8');
55
+ return JSON.parse(raw);
56
+ }
57
+ catch {
58
+ // Fall through to a conservative fallback for unusual bundled layouts.
59
+ return null;
60
+ }
61
+ }
62
+ function findPackageRoot(entry, packageName) {
63
+ let directory = path.dirname(entry);
64
+ for (let depth = 0; depth < 12; depth += 1) {
65
+ try {
66
+ const parsed = JSON.parse(readFileSync(path.join(directory, 'package.json'), 'utf8'));
67
+ if (parsed.name === packageName)
68
+ return directory;
69
+ }
70
+ catch {
71
+ // Keep walking toward the package root.
72
+ }
73
+ const parent = path.dirname(directory);
74
+ if (parent === directory)
75
+ break;
76
+ directory = parent;
77
+ }
78
+ throw new Error(`Cannot locate runtime package root for ${packageName}`);
79
+ }
80
+ function collectRuntimeFiles(directory) {
81
+ const files = [];
82
+ const pending = [directory];
83
+ let totalBytes = 0;
84
+ while (pending.length > 0) {
85
+ const current = pending.pop();
86
+ for (const entry of readdirSync(current, { withFileTypes: true })) {
87
+ const candidate = path.join(current, entry.name);
88
+ if (entry.isDirectory()) {
89
+ pending.push(candidate);
90
+ }
91
+ else if (entry.isFile() && /\.(?:js|json|css|wasm)$/iu.test(entry.name)) {
92
+ files.push(candidate);
93
+ totalBytes += statSync(candidate).size;
94
+ if (files.length > 4096 || totalBytes > 512 * 1024 * 1024) {
95
+ throw new Error('Runtime fingerprint input exceeds its safety budget');
96
+ }
97
+ }
98
+ }
99
+ }
100
+ if (files.length === 0)
101
+ throw new Error('Runtime package has no fingerprintable files');
102
+ return files.sort((left, right) => left.localeCompare(right));
103
+ }
104
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bendyline/docblocks-cli",
3
- "version": "1.1.1",
4
- "description": "DocBlocks CLI build, serve, and manage markdown document projects",
3
+ "version": "2.0.0",
4
+ "description": "Build, preview, convert, render, inspect, and automate documents",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
7
7
  "repository": {
@@ -32,18 +32,18 @@
32
32
  "typecheck": "tsc --noEmit"
33
33
  },
34
34
  "dependencies": {
35
- "@bendyline/squisq": "1.4.1",
36
- "@bendyline/squisq-cli": "1.1.6",
37
- "@bendyline/squisq-editor-react": "1.5.3",
38
- "@bendyline/squisq-formats": "1.3.1",
39
- "@bendyline/squisq-react": "1.3.2",
40
- "@bendyline/squisq-video": "1.1.2",
41
- "@modelcontextprotocol/sdk": "1.28.0",
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",
42
+ "@modelcontextprotocol/sdk": "1.29.0",
42
43
  "commander": "13.1.0",
43
44
  "jszip": "3.10.1",
44
- "mammoth": "1.12.0",
45
- "pdfjs-dist": "4.10.38",
46
45
  "playwright-core": "1.58.2",
46
+ "pdf-lib": "1.17.1",
47
47
  "zod": "3.25.76"
48
48
  }
49
49
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * DOCX → Markdown converter.
3
- *
4
- * Uses mammoth to extract the document's structure and produce Markdown.
5
- * Covers headings, paragraphs, emphasis, lists, and tables. Embedded
6
- * images are emitted as data: URIs; binary fidelity with the source is
7
- * not guaranteed (DOCX has features Markdown cannot represent).
8
- */
9
- export declare function docxToMarkdown(input: string | Buffer | Uint8Array): Promise<string>;
10
- //# sourceMappingURL=docx-to-md.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docx-to-md.d.ts","sourceRoot":"","sources":["../../src/converters/docx-to-md.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAKzF"}
@@ -1,17 +0,0 @@
1
- /**
2
- * DOCX → Markdown converter.
3
- *
4
- * Uses mammoth to extract the document's structure and produce Markdown.
5
- * Covers headings, paragraphs, emphasis, lists, and tables. Embedded
6
- * images are emitted as data: URIs; binary fidelity with the source is
7
- * not guaranteed (DOCX has features Markdown cannot represent).
8
- */
9
- import { readFile } from 'node:fs/promises';
10
- import mammoth from 'mammoth';
11
- export async function docxToMarkdown(input) {
12
- const buffer = typeof input === 'string' ? await readFile(input) : Buffer.from(input);
13
- const m = mammoth;
14
- const { value } = await m.convertToMarkdown({ buffer });
15
- return value.replace(/\r\n/g, '\n').trimEnd() + '\n';
16
- }
17
- //# sourceMappingURL=docx-to-md.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docx-to-md.js","sourceRoot":"","sources":["../../src/converters/docx-to-md.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAS9B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAmC;IACtE,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,CAAC,GAAG,OAAqC,CAAC;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AACvD,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * PDF → Markdown converter.
3
- *
4
- * Uses pdfjs-dist (legacy build, Node-compatible) to extract the text of
5
- * each page. Text items are joined respecting vertical position so that
6
- * separate lines become separate paragraphs. Each PDF page becomes a
7
- * `## Page N` section so structure isn't lost completely.
8
- *
9
- * Heading/list structure in the source PDF is not recovered — PDFs
10
- * don't carry semantic structure reliably. This is a text extractor,
11
- * not a layout-preserving converter.
12
- */
13
- export declare function pdfToMarkdown(input: string | Buffer | Uint8Array): Promise<string>;
14
- //# sourceMappingURL=pdf-to-md.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdf-to-md.d.ts","sourceRoot":"","sources":["../../src/converters/pdf-to-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCxF"}
@@ -1,51 +0,0 @@
1
- /**
2
- * PDF → Markdown converter.
3
- *
4
- * Uses pdfjs-dist (legacy build, Node-compatible) to extract the text of
5
- * each page. Text items are joined respecting vertical position so that
6
- * separate lines become separate paragraphs. Each PDF page becomes a
7
- * `## Page N` section so structure isn't lost completely.
8
- *
9
- * Heading/list structure in the source PDF is not recovered — PDFs
10
- * don't carry semantic structure reliably. This is a text extractor,
11
- * not a layout-preserving converter.
12
- */
13
- import { readFile } from 'node:fs/promises';
14
- export async function pdfToMarkdown(input) {
15
- const raw = typeof input === 'string' ? await readFile(input) : input;
16
- // pdfjs-dist rejects Buffer — copy into a plain Uint8Array.
17
- const bytes = new Uint8Array(raw.byteLength);
18
- bytes.set(raw);
19
- const pdfjs = await import('pdfjs-dist/legacy/build/pdf.mjs');
20
- const doc = await pdfjs.getDocument({ data: bytes, isEvalSupported: false }).promise;
21
- const sections = [];
22
- for (let pageNum = 1; pageNum <= doc.numPages; pageNum++) {
23
- const page = await doc.getPage(pageNum);
24
- const content = await page.getTextContent();
25
- const lines = [];
26
- for (const item of content.items) {
27
- const i = item;
28
- if (typeof i.str !== 'string')
29
- continue;
30
- const y = i.transform ? i.transform[5] : 0;
31
- const existing = lines.find((l) => Math.abs(l.y - y) < 2);
32
- if (existing) {
33
- existing.text += i.str;
34
- }
35
- else {
36
- lines.push({ y, text: i.str });
37
- }
38
- }
39
- lines.sort((a, b) => b.y - a.y);
40
- const pageText = lines
41
- .map((l) => l.text.trim())
42
- .filter(Boolean)
43
- .join('\n\n');
44
- if (pageText) {
45
- sections.push(`## Page ${pageNum}\n\n${pageText}`);
46
- }
47
- }
48
- await doc.destroy();
49
- return sections.join('\n\n') + '\n';
50
- }
51
- //# sourceMappingURL=pdf-to-md.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdf-to-md.js","sourceRoot":"","sources":["../../src/converters/pdf-to-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAmC;IACrE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,4DAA4D;IAC5D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;IAErF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,MAAM,KAAK,GAAkC,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,IAAgE,CAAC;YAC3E,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,SAAS;YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,KAAK;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACzB,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AACtC,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * PPTX → Markdown converter.
3
- *
4
- * PPTX is a zip archive of XML parts. We extract every `ppt/slides/slide*.xml`
5
- * in slide order and pull out the text runs (`<a:t>` elements), grouped by
6
- * paragraph (`<a:p>`). The first paragraph on each slide is treated as the
7
- * slide title (→ `##` heading); remaining paragraphs become body text.
8
- *
9
- * This is a best-effort text extractor — it does not preserve formatting,
10
- * shapes, images, or animations.
11
- */
12
- export declare function pptxToMarkdown(input: string | Buffer | Uint8Array): Promise<string>;
13
- //# sourceMappingURL=pptx-to-md.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pptx-to-md.d.ts","sourceRoot":"","sources":["../../src/converters/pptx-to-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuCH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBzF"}
@@ -1,67 +0,0 @@
1
- /**
2
- * PPTX → Markdown converter.
3
- *
4
- * PPTX is a zip archive of XML parts. We extract every `ppt/slides/slide*.xml`
5
- * in slide order and pull out the text runs (`<a:t>` elements), grouped by
6
- * paragraph (`<a:p>`). The first paragraph on each slide is treated as the
7
- * slide title (→ `##` heading); remaining paragraphs become body text.
8
- *
9
- * This is a best-effort text extractor — it does not preserve formatting,
10
- * shapes, images, or animations.
11
- */
12
- import { readFile } from 'node:fs/promises';
13
- import JSZip from 'jszip';
14
- function decodeXmlEntities(s) {
15
- return s
16
- .replace(/&lt;/g, '<')
17
- .replace(/&gt;/g, '>')
18
- .replace(/&quot;/g, '"')
19
- .replace(/&apos;/g, "'")
20
- .replace(/&#(\d+);/g, (_, n) => String.fromCodePoint(Number(n)))
21
- .replace(/&#x([0-9a-fA-F]+);/g, (_, n) => String.fromCodePoint(parseInt(n, 16)))
22
- .replace(/&amp;/g, '&');
23
- }
24
- function extractSlideParagraphs(slideXml) {
25
- const paragraphs = [];
26
- const paraRe = /<a:p\b[^>]*>([\s\S]*?)<\/a:p>/g;
27
- const runRe = /<a:t\b[^>]*>([\s\S]*?)<\/a:t>/g;
28
- let pMatch;
29
- while ((pMatch = paraRe.exec(slideXml)) !== null) {
30
- const body = pMatch[1];
31
- const parts = [];
32
- let rMatch;
33
- while ((rMatch = runRe.exec(body)) !== null) {
34
- parts.push(decodeXmlEntities(rMatch[1]));
35
- }
36
- const text = parts.join('').trim();
37
- if (text)
38
- paragraphs.push(text);
39
- }
40
- return paragraphs;
41
- }
42
- function slideOrder(name) {
43
- const m = /slide(\d+)\.xml$/i.exec(name);
44
- return m ? parseInt(m[1], 10) : Number.POSITIVE_INFINITY;
45
- }
46
- export async function pptxToMarkdown(input) {
47
- const data = typeof input === 'string' ? await readFile(input) : input;
48
- const zip = await JSZip.loadAsync(data);
49
- const slideNames = Object.keys(zip.files)
50
- .filter((n) => /^ppt\/slides\/slide\d+\.xml$/i.test(n))
51
- .sort((a, b) => slideOrder(a) - slideOrder(b));
52
- if (slideNames.length === 0) {
53
- throw new Error('No slides found — not a valid PPTX file.');
54
- }
55
- const sections = [];
56
- for (const name of slideNames) {
57
- const xml = await zip.file(name).async('string');
58
- const paragraphs = extractSlideParagraphs(xml);
59
- if (paragraphs.length === 0)
60
- continue;
61
- const [title, ...body] = paragraphs;
62
- const section = [`## ${title}`, ...body].join('\n\n');
63
- sections.push(section);
64
- }
65
- return sections.join('\n\n') + '\n';
66
- }
67
- //# sourceMappingURL=pptx-to-md.js.map