@bendyline/docblocks-cli 1.1.2 → 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 (110) hide show
  1. package/README.md +60 -88
  2. package/dist/commands/convert.d.ts +12 -2
  3. package/dist/commands/convert.d.ts.map +1 -1
  4. package/dist/commands/convert.js +272 -101
  5. package/dist/commands/convert.js.map +1 -1
  6. package/dist/commands/mcp.d.ts +1 -1
  7. package/dist/commands/mcp.d.ts.map +1 -1
  8. package/dist/commands/mcp.js +90 -4
  9. package/dist/commands/mcp.js.map +1 -1
  10. package/dist/commands/parse.js +1 -1
  11. package/dist/commands/parse.js.map +1 -1
  12. package/dist/commands/serve.d.ts +9 -1
  13. package/dist/commands/serve.d.ts.map +1 -1
  14. package/dist/commands/serve.js +209 -44
  15. package/dist/commands/serve.js.map +1 -1
  16. package/dist/commands/themes.js +1 -1
  17. package/dist/commands/themes.js.map +1 -1
  18. package/dist/commands/transforms.js +1 -1
  19. package/dist/commands/transforms.js.map +1 -1
  20. package/dist/commands/video.d.ts +8 -1
  21. package/dist/commands/video.d.ts.map +1 -1
  22. package/dist/commands/video.js +50 -30
  23. package/dist/commands/video.js.map +1 -1
  24. package/dist/contained-file.d.ts +8 -0
  25. package/dist/contained-file.d.ts.map +1 -0
  26. package/dist/contained-file.js +77 -0
  27. package/dist/contained-file.js.map +1 -0
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/mcp/agentic-tools.d.ts +16 -0
  31. package/dist/mcp/agentic-tools.d.ts.map +1 -0
  32. package/dist/mcp/agentic-tools.js +967 -0
  33. package/dist/mcp/agentic-tools.js.map +1 -0
  34. package/dist/mcp/artifact-store.d.ts +98 -0
  35. package/dist/mcp/artifact-store.d.ts.map +1 -0
  36. package/dist/mcp/artifact-store.js +542 -0
  37. package/dist/mcp/artifact-store.js.map +1 -0
  38. package/dist/mcp/authority.d.ts +53 -0
  39. package/dist/mcp/authority.d.ts.map +1 -0
  40. package/dist/mcp/authority.js +433 -0
  41. package/dist/mcp/authority.js.map +1 -0
  42. package/dist/mcp/conversion-service.d.ts +111 -0
  43. package/dist/mcp/conversion-service.d.ts.map +1 -0
  44. package/dist/mcp/conversion-service.js +512 -0
  45. package/dist/mcp/conversion-service.js.map +1 -0
  46. package/dist/mcp/discovery-tools.d.ts +4 -0
  47. package/dist/mcp/discovery-tools.d.ts.map +1 -0
  48. package/dist/mcp/discovery-tools.js +114 -0
  49. package/dist/mcp/discovery-tools.js.map +1 -0
  50. package/dist/mcp/document-service.d.ts +47 -0
  51. package/dist/mcp/document-service.d.ts.map +1 -0
  52. package/dist/mcp/document-service.js +424 -0
  53. package/dist/mcp/document-service.js.map +1 -0
  54. package/dist/mcp/error-result.d.ts +17 -0
  55. package/dist/mcp/error-result.d.ts.map +1 -0
  56. package/dist/mcp/error-result.js +82 -0
  57. package/dist/mcp/error-result.js.map +1 -0
  58. package/dist/mcp/intelligence.d.ts +15 -0
  59. package/dist/mcp/intelligence.d.ts.map +1 -0
  60. package/dist/mcp/intelligence.js +855 -0
  61. package/dist/mcp/intelligence.js.map +1 -0
  62. package/dist/mcp/output-bounds.d.ts +13 -0
  63. package/dist/mcp/output-bounds.d.ts.map +1 -0
  64. package/dist/mcp/output-bounds.js +61 -0
  65. package/dist/mcp/output-bounds.js.map +1 -0
  66. package/dist/mcp/preview-service.d.ts +54 -0
  67. package/dist/mcp/preview-service.d.ts.map +1 -0
  68. package/dist/mcp/preview-service.js +454 -0
  69. package/dist/mcp/preview-service.js.map +1 -0
  70. package/dist/mcp/progress.d.ts +18 -0
  71. package/dist/mcp/progress.d.ts.map +1 -0
  72. package/dist/mcp/progress.js +28 -0
  73. package/dist/mcp/progress.js.map +1 -0
  74. package/dist/mcp/prompts.d.ts +4 -0
  75. package/dist/mcp/prompts.d.ts.map +1 -0
  76. package/dist/mcp/prompts.js +124 -0
  77. package/dist/mcp/prompts.js.map +1 -0
  78. package/dist/mcp/rendered-conversion.d.ts +34 -0
  79. package/dist/mcp/rendered-conversion.d.ts.map +1 -0
  80. package/dist/mcp/rendered-conversion.js +364 -0
  81. package/dist/mcp/rendered-conversion.js.map +1 -0
  82. package/dist/mcp/server.d.ts +67 -10
  83. package/dist/mcp/server.d.ts.map +1 -1
  84. package/dist/mcp/server.js +227 -496
  85. package/dist/mcp/server.js.map +1 -1
  86. package/dist/preview-policy.d.ts +8 -0
  87. package/dist/preview-policy.d.ts.map +1 -0
  88. package/dist/preview-policy.js +85 -0
  89. package/dist/preview-policy.js.map +1 -0
  90. package/dist/render-html.d.ts +8 -0
  91. package/dist/render-html.d.ts.map +1 -1
  92. package/dist/render-html.js +32 -7
  93. package/dist/render-html.js.map +1 -1
  94. package/dist/version.d.ts +4 -0
  95. package/dist/version.d.ts.map +1 -1
  96. package/dist/version.js +95 -6
  97. package/dist/version.js.map +1 -1
  98. package/package.json +11 -11
  99. package/dist/converters/docx-to-md.d.ts +0 -10
  100. package/dist/converters/docx-to-md.d.ts.map +0 -1
  101. package/dist/converters/docx-to-md.js +0 -17
  102. package/dist/converters/docx-to-md.js.map +0 -1
  103. package/dist/converters/pdf-to-md.d.ts +0 -14
  104. package/dist/converters/pdf-to-md.d.ts.map +0 -1
  105. package/dist/converters/pdf-to-md.js +0 -51
  106. package/dist/converters/pdf-to-md.js.map +0 -1
  107. package/dist/converters/pptx-to-md.d.ts +0 -13
  108. package/dist/converters/pptx-to-md.d.ts.map +0 -1
  109. package/dist/converters/pptx-to-md.js +0 -67
  110. 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":"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"}
@@ -1,9 +1,17 @@
1
+ export interface ReferencedAssetPath {
2
+ assetRoot: string;
3
+ requestedPath: string;
4
+ physicalPath: string;
5
+ }
1
6
  export interface RenderMarkdownHtmlOptions {
2
7
  title: string;
3
8
  sourcePath?: string;
4
9
  assetRoot?: string;
5
10
  themeId?: string;
6
11
  mode?: 'slideshow' | 'static';
12
+ maxAssetBytes?: number;
13
+ /** Optional surface policy applied after mandatory physical containment. */
14
+ allowReferencedAsset?: (asset: ReferencedAssetPath) => boolean;
7
15
  }
8
16
  export declare function renderMarkdownHtml(markdown: string, options: RenderMarkdownHtmlOptions): Promise<string>;
9
17
  //# sourceMappingURL=render-html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-html.d.ts","sourceRoot":"","sources":["../src/render-html.ts"],"names":[],"mappings":"AAOA,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;CAC/B;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAejB"}
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"}
@@ -1,14 +1,18 @@
1
- import { readFile } from 'node:fs/promises';
1
+ import { realpath, stat } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { markdownToDoc } from '@bendyline/squisq/doc';
4
4
  import { parseMarkdown } from '@bendyline/squisq/markdown';
5
5
  import { collectImagePaths, docToHtml } from '@bendyline/squisq-formats/html';
6
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;
7
11
  export async function renderMarkdownHtml(markdown, options) {
8
12
  const markdownDoc = parseMarkdown(markdown);
9
13
  const doc = markdownToDoc(markdownDoc);
10
14
  const images = options.sourcePath && options.assetRoot
11
- ? await readReferencedImages(doc, options.sourcePath, options.assetRoot)
15
+ ? await readReferencedImages(doc, options.sourcePath, options.assetRoot, options.maxAssetBytes ?? DEFAULT_MAX_ASSET_BYTES, options.allowReferencedAsset)
12
16
  : undefined;
13
17
  return docToHtml(doc, {
14
18
  playerScript: PLAYER_BUNDLE,
@@ -18,11 +22,14 @@ export async function renderMarkdownHtml(markdown, options) {
18
22
  themeId: options.themeId,
19
23
  });
20
24
  }
21
- async function readReferencedImages(doc, sourcePath, assetRoot) {
25
+ async function readReferencedImages(doc, sourcePath, assetRoot, maxAssetBytes, allowReferencedAsset) {
22
26
  const images = new Map();
23
- const baseDir = path.dirname(path.resolve(sourcePath));
24
- const root = path.resolve(assetRoot);
25
- for (const imagePath of collectImagePaths(doc)) {
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)) {
26
33
  if (!isLocalRelativePath(imagePath))
27
34
  continue;
28
35
  const normalizedPath = stripUrlSuffix(imagePath);
@@ -30,7 +37,25 @@ async function readReferencedImages(doc, sourcePath, assetRoot) {
30
37
  if (!isPathInside(root, absolutePath))
31
38
  continue;
32
39
  try {
33
- const data = await readFile(absolutePath);
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;
34
59
  images.set(imagePath, toExactArrayBuffer(data));
35
60
  }
36
61
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"render-html.js","sourceRoot":"","sources":["../src/render-html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-html.js","sourceRoot":"","sources":["../src/render-html.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,6 @@
1
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;
2
6
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,IAAI,MAAM,CAY1C"}
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"}
package/dist/version.js CHANGED
@@ -1,15 +1,104 @@
1
- import { readFileSync } from 'node:fs';
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();
2
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);
3
30
  try {
4
- const raw = readFileSync(new URL('../package.json', import.meta.url), 'utf-8');
5
- const pkg = JSON.parse(raw);
6
- if (typeof pkg.version === 'string' && pkg.version.length > 0) {
7
- return pkg.version;
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');
8
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);
9
56
  }
10
57
  catch {
11
58
  // Fall through to a conservative fallback for unusual bundled layouts.
59
+ return null;
12
60
  }
13
- return '0.0.0';
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));
14
103
  }
15
104
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;QAC3C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
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.2",
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.5.1",
36
- "@bendyline/squisq-cli": "1.2.1",
37
- "@bendyline/squisq-editor-react": "1.6.1",
38
- "@bendyline/squisq-formats": "1.4.1",
39
- "@bendyline/squisq-react": "1.4.1",
40
- "@bendyline/squisq-video": "1.2.1",
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"}