@bendyline/docblocks-cli 2.6.0 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES.txt +33 -32
- package/dist/bin.js +103 -16
- package/dist/eval/cli.js +13 -7
- package/package.json +7 -7
package/THIRD_PARTY_NOTICES.txt
CHANGED
|
@@ -6,7 +6,7 @@ Run `npm run generate:notices` from the repository root.
|
|
|
6
6
|
Resolved runtime and optional dependency closure declared by packages/cli/package.json.
|
|
7
7
|
|
|
8
8
|
Inventory source: package-lock.json.
|
|
9
|
-
Components:
|
|
9
|
+
Components: 350.
|
|
10
10
|
|
|
11
11
|
This notice is included in the published npm tarball. Transitive packages installed by npm also retain their package-local license files.
|
|
12
12
|
|
|
@@ -15,18 +15,18 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
15
15
|
| Package | Version | License | Source |
|
|
16
16
|
| --- | --- | --- | --- |
|
|
17
17
|
| @antfu/install-pkg | 1.1.0 | MIT | https://github.com/antfu/install-pkg |
|
|
18
|
-
| @bendyline/squisq | 2.11.
|
|
19
|
-
| @bendyline/squisq-cli | 2.8.
|
|
20
|
-
| @bendyline/squisq-formats | 2.6.
|
|
21
|
-
| @bendyline/squisq-react | 2.11.
|
|
22
|
-
| @bendyline/squisq-video | 2.3.
|
|
18
|
+
| @bendyline/squisq | 2.11.4 | MIT | https://github.com/bendyline/squisq |
|
|
19
|
+
| @bendyline/squisq-cli | 2.8.4 | MIT | https://github.com/bendyline/squisq |
|
|
20
|
+
| @bendyline/squisq-formats | 2.6.4 | MIT | https://github.com/bendyline/squisq |
|
|
21
|
+
| @bendyline/squisq-react | 2.11.4 | MIT | https://github.com/bendyline/squisq |
|
|
22
|
+
| @bendyline/squisq-video | 2.3.7 | MIT | https://github.com/bendyline/squisq |
|
|
23
23
|
| @braintree/sanitize-url | 7.1.2 | MIT | https://github.com/braintree/sanitize-url |
|
|
24
24
|
| @chevrotain/types | 11.1.2 | Apache-2.0 | https://github.com/Chevrotain/chevrotain |
|
|
25
25
|
| @ffmpeg/ffmpeg | 0.12.15 | MIT | https://github.com/ffmpegwasm/ffmpeg.wasm |
|
|
26
26
|
| @ffmpeg/types | 0.12.4 | MIT | https://github.com/ffmpegwasm/ffmpeg.wasm |
|
|
27
27
|
| @ffmpeg/util | 0.12.2 | MIT | https://github.com/ffmpegwasm/ffmpeg.wasm |
|
|
28
28
|
| @fortawesome/fontawesome-free | 7.2.0 | (CC-BY-4.0 AND OFL-1.1 AND MIT) | https://github.com/FortAwesome/Font-Awesome |
|
|
29
|
-
| @hono/node-server | 1.19.
|
|
29
|
+
| @hono/node-server | 1.19.17 | MIT | https://github.com/honojs/node-server |
|
|
30
30
|
| @iconify/types | 2.0.0 | MIT | https://github.com/iconify/iconify |
|
|
31
31
|
| @iconify/utils | 3.1.4 | MIT | https://github.com/iconify/iconify |
|
|
32
32
|
| @mermaid-js/parser | 1.2.0 | MIT | https://github.com/mermaid-js/mermaid |
|
|
@@ -92,7 +92,7 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
92
92
|
| ajv | 8.20.0 | MIT | https://github.com/ajv-validator/ajv |
|
|
93
93
|
| ajv-formats | 3.0.1 | MIT | https://github.com/ajv-validator/ajv-formats |
|
|
94
94
|
| bail | 2.0.2 | MIT | https://github.com/wooorm/bail |
|
|
95
|
-
| body-parser | 2.
|
|
95
|
+
| body-parser | 2.3.0 | MIT | https://github.com/expressjs/body-parser |
|
|
96
96
|
| bytes | 3.1.2 | MIT | https://github.com/visionmedia/bytes.js |
|
|
97
97
|
| call-bind-apply-helpers | 1.0.2 | MIT | https://github.com/ljharb/call-bind-apply-helpers |
|
|
98
98
|
| call-bound | 1.0.4 | MIT | https://github.com/ljharb/call-bound |
|
|
@@ -108,6 +108,7 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
108
108
|
| commander | 8.3.0 | MIT | https://github.com/tj/commander.js |
|
|
109
109
|
| content-disposition | 1.0.1 | MIT | https://github.com/jshttp/content-disposition |
|
|
110
110
|
| content-type | 1.0.5 | MIT | https://github.com/jshttp/content-type |
|
|
111
|
+
| content-type | 2.1.0 | MIT | https://github.com/jshttp/content-type |
|
|
111
112
|
| cookie | 0.7.2 | MIT | https://github.com/jshttp/cookie |
|
|
112
113
|
| cookie-signature | 1.2.2 | MIT | https://github.com/visionmedia/node-cookie-signature |
|
|
113
114
|
| core-util-is | 1.0.2 | MIT | https://github.com/isaacs/core-util-is |
|
|
@@ -179,7 +180,7 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
179
180
|
| express-rate-limit | 8.5.2 | MIT | https://github.com/express-rate-limit/express-rate-limit |
|
|
180
181
|
| extend | 3.0.2 | MIT | https://github.com/justmoon/node-extend |
|
|
181
182
|
| fast-deep-equal | 3.1.3 | MIT | https://github.com/epoberezkin/fast-deep-equal |
|
|
182
|
-
| fast-uri | 3.1.
|
|
183
|
+
| fast-uri | 3.1.6 | BSD-3-Clause | https://github.com/fastify/fast-uri |
|
|
183
184
|
| fault | 2.0.1 | MIT | https://github.com/wooorm/fault |
|
|
184
185
|
| finalhandler | 2.1.1 | MIT | https://github.com/pillarjs/finalhandler |
|
|
185
186
|
| format | 0.2.2 | MIT | https://github.com/samsonjs/format |
|
|
@@ -197,7 +198,7 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
197
198
|
| hast-util-from-parse5 | 8.0.3 | MIT | https://github.com/syntax-tree/hast-util-from-parse5 |
|
|
198
199
|
| hast-util-parse-selector | 4.0.0 | MIT | https://github.com/syntax-tree/hast-util-parse-selector |
|
|
199
200
|
| hastscript | 9.0.1 | MIT | https://github.com/syntax-tree/hastscript |
|
|
200
|
-
| hono | 4.
|
|
201
|
+
| hono | 4.13.5 | MIT | https://github.com/honojs/hono |
|
|
201
202
|
| http-errors | 2.0.1 | MIT | https://github.com/jshttp/http-errors |
|
|
202
203
|
| iconv-lite | 0.6.3 | MIT | https://github.com/ashtuchkin/iconv-lite |
|
|
203
204
|
| iconv-lite | 0.7.2 | MIT | https://github.com/pillarjs/iconv-lite |
|
|
@@ -206,7 +207,7 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
206
207
|
| inherits | 2.0.4 | ISC | https://github.com/isaacs/inherits |
|
|
207
208
|
| internmap | 1.0.1 | ISC | https://github.com/mbostock/internmap |
|
|
208
209
|
| internmap | 2.0.3 | ISC | https://github.com/mbostock/internmap |
|
|
209
|
-
| ip-address | 10.
|
|
210
|
+
| ip-address | 10.7.0 | MIT | https://github.com/beaugunderson/ip-address |
|
|
210
211
|
| ipaddr.js | 1.9.1 | MIT | https://github.com/whitequark/ipaddr.js |
|
|
211
212
|
| is-alphabetical | 2.0.1 | MIT | https://github.com/wooorm/is-alphabetical |
|
|
212
213
|
| is-alphanumerical | 2.0.1 | MIT | https://github.com/wooorm/is-alphanumerical |
|
|
@@ -306,7 +307,7 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
306
307
|
| process-nextick-args | 2.0.1 | MIT | https://github.com/calvinmetcalf/process-nextick-args |
|
|
307
308
|
| property-information | 7.1.0 | MIT | https://github.com/wooorm/property-information |
|
|
308
309
|
| proxy-addr | 2.0.7 | MIT | https://github.com/jshttp/proxy-addr |
|
|
309
|
-
| qs | 6.
|
|
310
|
+
| qs | 6.16.0 | BSD-3-Clause | https://github.com/ljharb/qs |
|
|
310
311
|
| range-parser | 1.2.1 | MIT | https://github.com/jshttp/range-parser |
|
|
311
312
|
| raw-body | 3.0.2 | MIT | https://github.com/stream-utils/raw-body |
|
|
312
313
|
| readable-stream | 2.3.8 | MIT | https://github.com/nodejs/readable-stream |
|
|
@@ -343,7 +344,7 @@ This notice is included in the published npm tarball. Transitive packages instal
|
|
|
343
344
|
| trough | 2.2.0 | MIT | https://github.com/wooorm/trough |
|
|
344
345
|
| ts-dedent | 2.3.0 | MIT | https://github.com/tamino-martinius/node-ts-dedent |
|
|
345
346
|
| tslib | 1.14.1 | 0BSD | https://github.com/Microsoft/tslib |
|
|
346
|
-
| type-is | 2.0
|
|
347
|
+
| type-is | 2.1.0 | MIT | https://github.com/jshttp/type-is |
|
|
347
348
|
| unified | 11.0.5 | MIT | https://github.com/unifiedjs/unified |
|
|
348
349
|
| unist-util-is | 6.0.1 | MIT | https://github.com/syntax-tree/unist-util-is |
|
|
349
350
|
| unist-util-remove-position | 5.0.0 | MIT | https://github.com/syntax-tree/unist-util-remove-position |
|
|
@@ -403,7 +404,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
403
404
|
SOFTWARE.
|
|
404
405
|
|
|
405
406
|
==============================================================================
|
|
406
|
-
Components: @bendyline/squisq-cli@2.8.
|
|
407
|
+
Components: @bendyline/squisq-cli@2.8.4, @bendyline/squisq-formats@2.6.4, @bendyline/squisq-react@2.11.4, @bendyline/squisq-video@2.3.7, @bendyline/squisq@2.11.4
|
|
407
408
|
Source files: node_modules/@bendyline/squisq-cli/LICENSE, node_modules/@bendyline/squisq-formats/LICENSE, node_modules/@bendyline/squisq-react/LICENSE, node_modules/@bendyline/squisq-video/LICENSE, node_modules/@bendyline/squisq/LICENSE
|
|
408
409
|
==============================================================================
|
|
409
410
|
MIT License
|
|
@@ -673,7 +674,7 @@ This software contains code derived from the Puppeteer project (https://github.c
|
|
|
673
674
|
available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE).
|
|
674
675
|
|
|
675
676
|
==============================================================================
|
|
676
|
-
Components: @bendyline/squisq-cli@2.8.
|
|
677
|
+
Components: @bendyline/squisq-cli@2.8.4
|
|
677
678
|
Source files: node_modules/@bendyline/squisq-cli/NOTICE.md
|
|
678
679
|
==============================================================================
|
|
679
680
|
# Third-Party Notices for @bendyline/squisq-cli
|
|
@@ -693,7 +694,7 @@ Copyright and complete license texts for these dependencies are included in
|
|
|
693
694
|
their respective npm distributions and source repositories.
|
|
694
695
|
|
|
695
696
|
==============================================================================
|
|
696
|
-
Components: @bendyline/squisq-cli@2.8.
|
|
697
|
+
Components: @bendyline/squisq-cli@2.8.4
|
|
697
698
|
Source files: node_modules/@bendyline/squisq-cli/THIRD_PARTY_LICENSES.txt
|
|
698
699
|
==============================================================================
|
|
699
700
|
THIRD-PARTY LICENSES FOR @bendyline/squisq-cli
|
|
@@ -5181,7 +5182,7 @@ The above copyright notice and this permission notice shall be included in all c
|
|
|
5181
5182
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
5182
5183
|
|
|
5183
5184
|
==============================================================================
|
|
5184
|
-
Components: @bendyline/squisq-formats@2.6.
|
|
5185
|
+
Components: @bendyline/squisq-formats@2.6.4
|
|
5185
5186
|
Source files: node_modules/@bendyline/squisq-formats/NOTICE.md
|
|
5186
5187
|
==============================================================================
|
|
5187
5188
|
# Third-Party Notices for @bendyline/squisq-formats
|
|
@@ -5207,7 +5208,7 @@ texts for these dependencies are included in their respective npm
|
|
|
5207
5208
|
distributions and source repositories.
|
|
5208
5209
|
|
|
5209
5210
|
==============================================================================
|
|
5210
|
-
Components: @bendyline/squisq-formats@2.6.
|
|
5211
|
+
Components: @bendyline/squisq-formats@2.6.4
|
|
5211
5212
|
Source files: node_modules/@bendyline/squisq-formats/THIRD_PARTY_LICENSES.txt
|
|
5212
5213
|
==============================================================================
|
|
5213
5214
|
THIRD-PARTY LICENSES FOR @bendyline/squisq-formats
|
|
@@ -5389,7 +5390,7 @@ Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
|
|
5389
5390
|
to represent the company, product, or service to which they refer.**
|
|
5390
5391
|
|
|
5391
5392
|
==============================================================================
|
|
5392
|
-
Components: @bendyline/squisq-react@2.11.
|
|
5393
|
+
Components: @bendyline/squisq-react@2.11.4
|
|
5393
5394
|
Source files: node_modules/@bendyline/squisq-react/NOTICE.md
|
|
5394
5395
|
==============================================================================
|
|
5395
5396
|
# Third-Party Notices for @bendyline/squisq-react
|
|
@@ -5414,7 +5415,7 @@ third-party license texts for the complete standalone bundle graph are shipped
|
|
|
5414
5415
|
in THIRD_PARTY_LICENSES.txt.
|
|
5415
5416
|
|
|
5416
5417
|
==============================================================================
|
|
5417
|
-
Components: @bendyline/squisq-react@2.11.
|
|
5418
|
+
Components: @bendyline/squisq-react@2.11.4
|
|
5418
5419
|
Source files: node_modules/@bendyline/squisq-react/THIRD_PARTY_LICENSES.txt
|
|
5419
5420
|
==============================================================================
|
|
5420
5421
|
THIRD-PARTY LICENSES FOR @bendyline/squisq-react
|
|
@@ -9951,7 +9952,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
9951
9952
|
SOFTWARE.
|
|
9952
9953
|
|
|
9953
9954
|
==============================================================================
|
|
9954
|
-
Components: @bendyline/squisq-video@2.3.
|
|
9955
|
+
Components: @bendyline/squisq-video@2.3.7
|
|
9955
9956
|
Source files: node_modules/@bendyline/squisq-video/NOTICE.md
|
|
9956
9957
|
==============================================================================
|
|
9957
9958
|
# Third-Party Notices for @bendyline/squisq-video
|
|
@@ -9976,7 +9977,7 @@ Copyright and complete license texts for the listed dependencies are included
|
|
|
9976
9977
|
in their respective npm distributions and source repositories.
|
|
9977
9978
|
|
|
9978
9979
|
==============================================================================
|
|
9979
|
-
Components: @bendyline/squisq-video@2.3.
|
|
9980
|
+
Components: @bendyline/squisq-video@2.3.7
|
|
9980
9981
|
Source files: node_modules/@bendyline/squisq-video/THIRD_PARTY_LICENSES.txt
|
|
9981
9982
|
==============================================================================
|
|
9982
9983
|
THIRD-PARTY LICENSES FOR @bendyline/squisq-video
|
|
@@ -9988,7 +9989,7 @@ repository license, the pinned upstream copy is vendored and identified below.
|
|
|
9988
9989
|
COMPONENTS
|
|
9989
9990
|
|
|
9990
9991
|
==============================================================================
|
|
9991
|
-
Components: @bendyline/squisq@2.11.
|
|
9992
|
+
Components: @bendyline/squisq@2.11.4
|
|
9992
9993
|
Source files: node_modules/@bendyline/squisq/NOTICE.md
|
|
9993
9994
|
==============================================================================
|
|
9994
9995
|
# Third-Party Notices for @bendyline/squisq
|
|
@@ -10019,7 +10020,7 @@ third-party license texts for bundled code and data are shipped in
|
|
|
10019
10020
|
THIRD_PARTY_LICENSES.txt.
|
|
10020
10021
|
|
|
10021
10022
|
==============================================================================
|
|
10022
|
-
Components: @bendyline/squisq@2.11.
|
|
10023
|
+
Components: @bendyline/squisq@2.11.4
|
|
10023
10024
|
Source files: node_modules/@bendyline/squisq/THIRD_PARTY_LICENSES.txt
|
|
10024
10025
|
==============================================================================
|
|
10025
10026
|
THIRD-PARTY LICENSES FOR @bendyline/squisq
|
|
@@ -10604,7 +10605,7 @@ Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
|
|
10604
10605
|
to represent the company, product, or service to which they refer.**
|
|
10605
10606
|
|
|
10606
10607
|
==============================================================================
|
|
10607
|
-
Components: @hono/node-server@1.19.
|
|
10608
|
+
Components: @hono/node-server@1.19.17
|
|
10608
10609
|
Source files: node_modules/@hono/node-server/LICENSE
|
|
10609
10610
|
==============================================================================
|
|
10610
10611
|
MIT License
|
|
@@ -10972,7 +10973,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
|
10972
10973
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
10973
10974
|
|
|
10974
10975
|
==============================================================================
|
|
10975
|
-
Components: body-parser@2.
|
|
10976
|
+
Components: body-parser@2.3.0, type-is@2.1.0
|
|
10976
10977
|
Source files: node_modules/body-parser/LICENSE, node_modules/type-is/LICENSE
|
|
10977
10978
|
==============================================================================
|
|
10978
10979
|
(The MIT License)
|
|
@@ -11108,8 +11109,8 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
|
11108
11109
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
11109
11110
|
|
|
11110
11111
|
==============================================================================
|
|
11111
|
-
Components: content-type@1.0.5
|
|
11112
|
-
Source files: node_modules/content-type/LICENSE
|
|
11112
|
+
Components: content-type@1.0.5, content-type@2.1.0
|
|
11113
|
+
Source files: node_modules/content-type/LICENSE, node_modules/type-is/node_modules/content-type/LICENSE
|
|
11113
11114
|
==============================================================================
|
|
11114
11115
|
(The MIT License)
|
|
11115
11116
|
|
|
@@ -12790,7 +12791,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
12790
12791
|
SOFTWARE.
|
|
12791
12792
|
|
|
12792
12793
|
==============================================================================
|
|
12793
|
-
Components: fast-uri@3.1.
|
|
12794
|
+
Components: fast-uri@3.1.6
|
|
12794
12795
|
Source files: node_modules/fast-uri/LICENSE
|
|
12795
12796
|
==============================================================================
|
|
12796
12797
|
Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae
|
|
@@ -13343,7 +13344,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
|
13343
13344
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
13344
13345
|
|
|
13345
13346
|
==============================================================================
|
|
13346
|
-
Components: hono@4.
|
|
13347
|
+
Components: hono@4.13.5
|
|
13347
13348
|
Source files: node_modules/hono/LICENSE
|
|
13348
13349
|
==============================================================================
|
|
13349
13350
|
MIT License
|
|
@@ -13521,7 +13522,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
13521
13522
|
PERFORMANCE OF THIS SOFTWARE.
|
|
13522
13523
|
|
|
13523
13524
|
==============================================================================
|
|
13524
|
-
Components: ip-address@10.
|
|
13525
|
+
Components: ip-address@10.7.0
|
|
13525
13526
|
Source files: node_modules/ip-address/LICENSE
|
|
13526
13527
|
==============================================================================
|
|
13527
13528
|
Copyright (C) 2011 by Beau Gunderson
|
|
@@ -15639,7 +15640,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
15639
15640
|
SOFTWARE.**
|
|
15640
15641
|
|
|
15641
15642
|
==============================================================================
|
|
15642
|
-
Components: qs@6.
|
|
15643
|
+
Components: qs@6.16.0
|
|
15643
15644
|
Source files: node_modules/qs/LICENSE.md
|
|
15644
15645
|
==============================================================================
|
|
15645
15646
|
BSD 3-Clause License
|
package/dist/bin.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __esm = (fn, res) => function __init() {
|
|
5
|
-
|
|
4
|
+
var __esm = (fn, res, err) => function __init() {
|
|
5
|
+
if (err) throw err[0];
|
|
6
|
+
try {
|
|
7
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
8
|
+
} catch (e) {
|
|
9
|
+
throw err = [e], e;
|
|
10
|
+
}
|
|
6
11
|
};
|
|
7
12
|
var __export = (target, all) => {
|
|
8
13
|
for (var name in all)
|
|
@@ -169,6 +174,13 @@ import {
|
|
|
169
174
|
MCP_WIRE_LIMITS,
|
|
170
175
|
parseConversionResult
|
|
171
176
|
} from "@bendyline/docblocks/mcp";
|
|
177
|
+
function artifactReferenceError(message) {
|
|
178
|
+
return Object.assign(new Error(message), {
|
|
179
|
+
code: "invalid-artifact-reference",
|
|
180
|
+
hint: "Use the exact artifact.uri returned by a successful convert_document, create_document_bundle, or preview_document call in this MCP session. Do not invent a URI or use a content hash as an id. For an earlier saved file, call list_roots and use a file source with rootId and path; if it was not saved, convert the source again.",
|
|
181
|
+
retryable: false
|
|
182
|
+
});
|
|
183
|
+
}
|
|
172
184
|
function artifactId(uriOrId) {
|
|
173
185
|
const artifactIdPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/u;
|
|
174
186
|
if (artifactIdPattern.test(uriOrId)) {
|
|
@@ -178,11 +190,11 @@ function artifactId(uriOrId) {
|
|
|
178
190
|
try {
|
|
179
191
|
parsed = new URL(uriOrId);
|
|
180
192
|
} catch {
|
|
181
|
-
throw
|
|
193
|
+
throw artifactReferenceError("Invalid MCP artifact URI");
|
|
182
194
|
}
|
|
183
195
|
const id = parsed.pathname.slice(1);
|
|
184
196
|
if (parsed.protocol !== "docblocks:" || parsed.hostname !== "artifacts" || parsed.username !== "" || parsed.password !== "" || parsed.port !== "" || parsed.search !== "" || parsed.hash !== "" || parsed.pathname !== `/${id}` || !artifactIdPattern.test(id) || uriOrId !== `docblocks://artifacts/${id}`) {
|
|
185
|
-
throw
|
|
197
|
+
throw artifactReferenceError("Invalid MCP artifact URI");
|
|
186
198
|
}
|
|
187
199
|
return id;
|
|
188
200
|
}
|
|
@@ -535,7 +547,7 @@ var init_artifact_store = __esm({
|
|
|
535
547
|
findRecordLocked(uriOrId) {
|
|
536
548
|
const id = artifactId(uriOrId);
|
|
537
549
|
const stored = this.records.get(id);
|
|
538
|
-
if (!stored) throw
|
|
550
|
+
if (!stored) throw artifactReferenceError("Unknown or expired MCP artifact");
|
|
539
551
|
return stored;
|
|
540
552
|
}
|
|
541
553
|
takeExpiredLocked() {
|
|
@@ -1567,9 +1579,9 @@ var init_document_service = __esm({
|
|
|
1567
1579
|
markdown = importedMarkdown;
|
|
1568
1580
|
}
|
|
1569
1581
|
const { parseMarkdown: parseMarkdown2 } = await import("@bendyline/squisq/markdown");
|
|
1570
|
-
const { markdownToDoc:
|
|
1582
|
+
const { markdownToDoc: markdownToDoc3 } = await import("@bendyline/squisq/doc");
|
|
1571
1583
|
const markdownDoc = parseMarkdown2(markdown);
|
|
1572
|
-
const doc =
|
|
1584
|
+
const doc = markdownToDoc3(markdownDoc, {
|
|
1573
1585
|
defaultTemplate: "content",
|
|
1574
1586
|
autoTemplates: false
|
|
1575
1587
|
});
|
|
@@ -1983,7 +1995,7 @@ async function authoringDiagnostics(prepared, stage, format, signal) {
|
|
|
1983
1995
|
totalBlocks: analyzedBlocks.length
|
|
1984
1996
|
});
|
|
1985
1997
|
const renderedText = materialized.layers.filter((layer) => layer.type === "text").map((layer) => layer.content.text).join("\n");
|
|
1986
|
-
if (!
|
|
1998
|
+
if (!renderedBodyIncludes(renderedText, body)) {
|
|
1987
1999
|
diagnostics.push({
|
|
1988
2000
|
code: "rendered-content-omitted",
|
|
1989
2001
|
severity: "error",
|
|
@@ -2016,6 +2028,10 @@ async function authoringDiagnostics(prepared, stage, format, signal) {
|
|
|
2016
2028
|
}
|
|
2017
2029
|
return diagnostics;
|
|
2018
2030
|
}
|
|
2031
|
+
function renderedBodyIncludes(renderedText, body) {
|
|
2032
|
+
const undecorated = renderedText.replace(/(^|\n)[\t ]*(?:[•◦▪]|\d+[.)])[\t ]+/gu, "$1");
|
|
2033
|
+
return normalizedText(undecorated).includes(normalizedText(body));
|
|
2034
|
+
}
|
|
2019
2035
|
function normalizedText(value) {
|
|
2020
2036
|
return value.normalize("NFKC").replace(/\s+/gu, " ").trim().toLocaleLowerCase("en-US");
|
|
2021
2037
|
}
|
|
@@ -3463,6 +3479,30 @@ var init_rendered_conversion = __esm({
|
|
|
3463
3479
|
}
|
|
3464
3480
|
});
|
|
3465
3481
|
|
|
3482
|
+
// src/mcp/pptx-source.ts
|
|
3483
|
+
import { markdownToDoc as markdownToDoc2 } from "@bendyline/squisq/doc";
|
|
3484
|
+
function preparePptxSource(markdown, slideBreak, autoTemplates) {
|
|
3485
|
+
const maxDepth = slideBreak === "h1" ? 1 : slideBreak === "h2" ? 2 : 6;
|
|
3486
|
+
const grouped = {
|
|
3487
|
+
...markdown,
|
|
3488
|
+
children: markdown.children.map(
|
|
3489
|
+
(node) => node.type === "heading" && node.depth > maxDepth ? {
|
|
3490
|
+
type: "paragraph",
|
|
3491
|
+
children: [{ type: "strong", children: node.children }]
|
|
3492
|
+
} : node
|
|
3493
|
+
)
|
|
3494
|
+
};
|
|
3495
|
+
return {
|
|
3496
|
+
markdownDoc: grouped,
|
|
3497
|
+
doc: markdownToDoc2(grouped, { generateCoverBlock: false, autoTemplates })
|
|
3498
|
+
};
|
|
3499
|
+
}
|
|
3500
|
+
var init_pptx_source = __esm({
|
|
3501
|
+
"src/mcp/pptx-source.ts"() {
|
|
3502
|
+
"use strict";
|
|
3503
|
+
}
|
|
3504
|
+
});
|
|
3505
|
+
|
|
3466
3506
|
// src/mcp/conversion-service.ts
|
|
3467
3507
|
import { createHash as createHash6 } from "crypto";
|
|
3468
3508
|
import { DOCBLOCKS_MCP_WIRE_VERSION as DOCBLOCKS_MCP_WIRE_VERSION3 } from "@bendyline/docblocks/mcp";
|
|
@@ -3507,6 +3547,9 @@ async function convertPreparedDocument(artifacts, prepared, request, signal, pro
|
|
|
3507
3547
|
for (let index = 0; index < request.targets.length; index += 1) {
|
|
3508
3548
|
throwIfAborted5(signal);
|
|
3509
3549
|
const target = request.targets[index];
|
|
3550
|
+
const slideBreak = target.options?.slideBreak ?? "h1";
|
|
3551
|
+
const pptxSource = target.format === "pptx" && (slideBreak === "h1" || slideBreak === "h2" || slideBreak === "heading") ? preparePptxSource(prepared.markdownDoc, slideBreak, request.autoTemplates) : void 0;
|
|
3552
|
+
const targetDocument = pptxSource ? { ...prepared, ...pptxSource } : prepared;
|
|
3510
3553
|
const definition = linkedRegistry.get(target.format);
|
|
3511
3554
|
if (!definition) throw new Error(`Unknown conversion target "${target.format}"`);
|
|
3512
3555
|
if (!definition.exportDoc) throw new Error(`Format "${target.format}" is not export-capable`);
|
|
@@ -3545,7 +3588,7 @@ async function convertPreparedDocument(artifacts, prepared, request, signal, pro
|
|
|
3545
3588
|
}
|
|
3546
3589
|
};
|
|
3547
3590
|
const converted = usesDocumentRasterizer(target.format, fidelity) ? await dependencies.convertRenderedDocument(
|
|
3548
|
-
|
|
3591
|
+
targetDocument,
|
|
3549
3592
|
target.format,
|
|
3550
3593
|
fidelity,
|
|
3551
3594
|
target.options ?? {},
|
|
@@ -3561,7 +3604,15 @@ async function convertPreparedDocument(artifacts, prepared, request, signal, pro
|
|
|
3561
3604
|
`${target.format}: ${message}`
|
|
3562
3605
|
)
|
|
3563
3606
|
) : await (async () => {
|
|
3564
|
-
|
|
3607
|
+
const targetPrepared = pptxSource ? await dependencies.prepareNativeConversion(
|
|
3608
|
+
{
|
|
3609
|
+
kind: "doc",
|
|
3610
|
+
doc: pptxSource.doc,
|
|
3611
|
+
container: prepared.container,
|
|
3612
|
+
baseName: prepared.baseName
|
|
3613
|
+
},
|
|
3614
|
+
nativePrepareOptions
|
|
3615
|
+
) : nativePrepared ?? (nativePrepared = await dependencies.prepareNativeConversion(
|
|
3565
3616
|
{
|
|
3566
3617
|
kind: "markdown",
|
|
3567
3618
|
markdown: prepared.markdownDoc,
|
|
@@ -3571,7 +3622,7 @@ async function convertPreparedDocument(artifacts, prepared, request, signal, pro
|
|
|
3571
3622
|
nativePrepareOptions
|
|
3572
3623
|
));
|
|
3573
3624
|
try {
|
|
3574
|
-
return await
|
|
3625
|
+
return await targetPrepared.convert(target.format, {
|
|
3575
3626
|
signal,
|
|
3576
3627
|
title: request.title,
|
|
3577
3628
|
formatOptions: { [target.format]: formatOptions }
|
|
@@ -3883,6 +3934,7 @@ var init_conversion_service = __esm({
|
|
|
3883
3934
|
init_document_service();
|
|
3884
3935
|
init_intelligence();
|
|
3885
3936
|
init_rendered_conversion();
|
|
3937
|
+
init_pptx_source();
|
|
3886
3938
|
MCP_FORMAT_FIDELITIES = {
|
|
3887
3939
|
md: ["semantic"],
|
|
3888
3940
|
docx: ["semantic", "editable-native"],
|
|
@@ -4126,6 +4178,39 @@ var init_progress = __esm({
|
|
|
4126
4178
|
}
|
|
4127
4179
|
});
|
|
4128
4180
|
|
|
4181
|
+
// src/mcp/preview-content.ts
|
|
4182
|
+
async function inlinePreviewContent(result, artifacts, signal) {
|
|
4183
|
+
const content = [];
|
|
4184
|
+
let remaining = MAX_INLINE_PREVIEW_BYTES;
|
|
4185
|
+
for (const item of result.items) {
|
|
4186
|
+
signal?.throwIfAborted();
|
|
4187
|
+
const encodedSize = 4 * Math.ceil(item.artifact.size / 3);
|
|
4188
|
+
if (encodedSize > remaining) {
|
|
4189
|
+
content.push({
|
|
4190
|
+
type: "text",
|
|
4191
|
+
text: `Preview item ${item.index} is available by resource link but was not inlined because of the response-size budget. Request startIndex: ${item.index}, maxItems: 1 and smaller width/height to inspect its pixels.`
|
|
4192
|
+
});
|
|
4193
|
+
continue;
|
|
4194
|
+
}
|
|
4195
|
+
const bytes = await artifacts.read(item.artifact.uri, signal);
|
|
4196
|
+
const data = bytes.toString("base64");
|
|
4197
|
+
remaining -= data.length;
|
|
4198
|
+
content.push({
|
|
4199
|
+
type: "text",
|
|
4200
|
+
text: `Preview item ${item.index}${item.label ? `: ${item.label}` : ""} (${result.previewBasis})`
|
|
4201
|
+
});
|
|
4202
|
+
content.push({ type: "image", mimeType: item.artifact.mimeType, data });
|
|
4203
|
+
}
|
|
4204
|
+
return content;
|
|
4205
|
+
}
|
|
4206
|
+
var MAX_INLINE_PREVIEW_BYTES;
|
|
4207
|
+
var init_preview_content = __esm({
|
|
4208
|
+
"src/mcp/preview-content.ts"() {
|
|
4209
|
+
"use strict";
|
|
4210
|
+
MAX_INLINE_PREVIEW_BYTES = 4 * 1024 * 1024;
|
|
4211
|
+
}
|
|
4212
|
+
});
|
|
4213
|
+
|
|
4129
4214
|
// src/mcp/style-guidance.ts
|
|
4130
4215
|
var STYLE_SELECTION_GUIDANCE, TRANSFORM_SELECTION_GUIDANCE, MOTION_SELECTION_GUIDANCE;
|
|
4131
4216
|
var init_style_guidance = __esm({
|
|
@@ -4430,7 +4515,8 @@ function registerAgenticTools(server, context) {
|
|
|
4430
4515
|
return {
|
|
4431
4516
|
content: [
|
|
4432
4517
|
{ type: "text", text: JSON.stringify(result) },
|
|
4433
|
-
...result.items.map((item) => artifactLink(item.artifact))
|
|
4518
|
+
...result.items.map((item) => artifactLink(item.artifact)),
|
|
4519
|
+
...await inlinePreviewContent(result, context.artifacts, operationSignal)
|
|
4434
4520
|
],
|
|
4435
4521
|
structuredContent: asStructuredContent(successResult(result))
|
|
4436
4522
|
};
|
|
@@ -5294,6 +5380,7 @@ var init_agentic_tools = __esm({
|
|
|
5294
5380
|
init_preview_service();
|
|
5295
5381
|
init_error_result();
|
|
5296
5382
|
init_progress();
|
|
5383
|
+
init_preview_content();
|
|
5297
5384
|
init_output_bounds();
|
|
5298
5385
|
init_style_guidance();
|
|
5299
5386
|
READ_ONLY = {
|
|
@@ -5351,8 +5438,8 @@ var init_agentic_tools = __esm({
|
|
|
5351
5438
|
format: z.literal("pptx"),
|
|
5352
5439
|
fidelity: fidelitySchemas.pptx.optional(),
|
|
5353
5440
|
...metadataFields,
|
|
5354
|
-
slideBreak: z.enum(["h1", "h2", "heading"]).
|
|
5355
|
-
"
|
|
5441
|
+
slideBreak: z.enum(["h1", "h2", "heading"]).default("h1").describe(
|
|
5442
|
+
"Defaults to h1: author one H1 per slide; deeper headings remain body text and no extra cover is inserted. h2 breaks at H1/H2; heading breaks at any depth. Include a title slide as an authored heading; do not add --- between heading-based slides."
|
|
5356
5443
|
),
|
|
5357
5444
|
defaultFont: z.string().max(256).optional(),
|
|
5358
5445
|
defaultFontSize: z.number().min(6).max(96).optional(),
|
|
@@ -7366,10 +7453,10 @@ function throwIfAborted2(signal) {
|
|
|
7366
7453
|
throwIfAborted(signal, "Document conversion was cancelled");
|
|
7367
7454
|
}
|
|
7368
7455
|
async function applyTransformToMarkdown(markdownDoc, container, transformStyle, themeId) {
|
|
7369
|
-
const { markdownToDoc:
|
|
7456
|
+
const { markdownToDoc: markdownToDoc3, docToMarkdown } = await import("@bendyline/squisq/doc");
|
|
7370
7457
|
const { readFrontmatterThemeId } = await import("@bendyline/squisq/markdown");
|
|
7371
7458
|
const { applyTransform, extractDocImages } = await import("@bendyline/squisq/transform");
|
|
7372
|
-
const doc =
|
|
7459
|
+
const doc = markdownToDoc3(markdownDoc);
|
|
7373
7460
|
const images = extractDocImages(doc.blocks);
|
|
7374
7461
|
const effectiveTheme = themeId ?? readFrontmatterThemeId(markdownDoc.frontmatter);
|
|
7375
7462
|
const result = applyTransform(doc, transformStyle, { themeId: effectiveTheme, images });
|
package/dist/eval/cli.js
CHANGED
|
@@ -38,7 +38,8 @@ Include a clear opening thesis, a compact scorecard, insights rather than repeat
|
|
|
38
38
|
minWords: 220,
|
|
39
39
|
maxWords: 650,
|
|
40
40
|
maxWordsPerSection: 95,
|
|
41
|
-
|
|
41
|
+
// Layouts may be chosen by autoTemplates; annotation count is not visual quality.
|
|
42
|
+
minVisualTemplates: 0,
|
|
42
43
|
requiredPhrases: ["18,420", "71%", "$3.8M", "49%", "23%", "31%", "permissions"]
|
|
43
44
|
}
|
|
44
45
|
},
|
|
@@ -63,7 +64,8 @@ Cover: a plain-language definition, an opening scenario, a four-question risk sc
|
|
|
63
64
|
minWords: 240,
|
|
64
65
|
maxWords: 700,
|
|
65
66
|
maxWordsPerSection: 90,
|
|
66
|
-
|
|
67
|
+
// Layouts may be chosen by autoTemplates; annotation count is not visual quality.
|
|
68
|
+
minVisualTemplates: 0,
|
|
67
69
|
requiredPhrases: ["accountable", "confidential", "escalat", "four", "one-week"]
|
|
68
70
|
}
|
|
69
71
|
},
|
|
@@ -422,7 +424,7 @@ var HEADING_PATTERN = /^(#{1,6})\s+(.+)$/gm;
|
|
|
422
424
|
var TEMPLATE_PATTERN = /\{\[([A-Za-z0-9_-]+)/g;
|
|
423
425
|
function judgeMarkdown(markdown, testCase) {
|
|
424
426
|
const words = countWords(markdown);
|
|
425
|
-
const sections = markdownSections(markdown);
|
|
427
|
+
const sections = markdownSections(markdown, testCase.targetFormat === "pptx" ? 1 : 6);
|
|
426
428
|
const headings = [...markdown.matchAll(HEADING_PATTERN)];
|
|
427
429
|
const templates = [...markdown.matchAll(TEMPLATE_PATTERN)].map((match) => match[1]);
|
|
428
430
|
const visualTemplates = templates.filter((template) => template !== "content");
|
|
@@ -440,7 +442,7 @@ function judgeMarkdown(markdown, testCase) {
|
|
|
440
442
|
),
|
|
441
443
|
rangeCheck(
|
|
442
444
|
"section-count",
|
|
443
|
-
|
|
445
|
+
sections.length,
|
|
444
446
|
testCase.expectation.minItems,
|
|
445
447
|
testCase.expectation.maxItems,
|
|
446
448
|
true,
|
|
@@ -482,6 +484,7 @@ function judgeMarkdown(markdown, testCase) {
|
|
|
482
484
|
return summarizeChecks(checks, {
|
|
483
485
|
wordCount: words,
|
|
484
486
|
headingCount: headings.length,
|
|
487
|
+
sectionCount: sections.length,
|
|
485
488
|
templateAnnotationCount: templates.length,
|
|
486
489
|
visualTemplateCount: visualTemplates.length,
|
|
487
490
|
denseSectionCount: denseSections.length
|
|
@@ -490,8 +493,10 @@ function judgeMarkdown(markdown, testCase) {
|
|
|
490
493
|
function countWords(value) {
|
|
491
494
|
return value.trim().match(/[\p{L}\p{N}][\p{L}\p{N}'’.-]*/gu)?.length ?? 0;
|
|
492
495
|
}
|
|
493
|
-
function markdownSections(markdown) {
|
|
494
|
-
const matches = [...markdown.matchAll(HEADING_PATTERN)]
|
|
496
|
+
function markdownSections(markdown, maxDepth = 6) {
|
|
497
|
+
const matches = [...markdown.matchAll(HEADING_PATTERN)].filter(
|
|
498
|
+
(match) => match[1].length <= maxDepth
|
|
499
|
+
);
|
|
495
500
|
return matches.map((match, index) => ({
|
|
496
501
|
heading: match[2],
|
|
497
502
|
body: markdown.slice((match.index ?? 0) + match[0].length, matches[index + 1]?.index)
|
|
@@ -1083,7 +1088,8 @@ The deterministic observations below are authoritative. Do not recount them or c
|
|
|
1083
1088
|
|
|
1084
1089
|
Deterministic observations:
|
|
1085
1090
|
- Word count: ${String(deterministic.metrics.wordCount)} (acceptance envelope ${testCase.expectation.minWords}-${testCase.expectation.maxWords})
|
|
1086
|
-
-
|
|
1091
|
+
- Section count${testCase.targetFormat === "pptx" ? " (H1 slide boundaries)" : ""}: ${String(deterministic.metrics.sectionCount)} (acceptance envelope ${testCase.expectation.minItems}-${testCase.expectation.maxItems})
|
|
1092
|
+
- All headings, including subordinate headings within a slide: ${String(deterministic.metrics.headingCount)} (diagnostic only; do not compare this count with the slide target)
|
|
1087
1093
|
- Sections over ${testCase.expectation.maxWordsPerSection} words: ${String(deterministic.metrics.denseSectionCount)}
|
|
1088
1094
|
- Non-content Squisq template annotations: ${String(deterministic.metrics.visualTemplateCount)} (minimum ${testCase.expectation.minVisualTemplates})
|
|
1089
1095
|
- Deterministic acceptance: ${deterministic.passed ? "pass" : "fail"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/docblocks-cli",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.2",
|
|
4
4
|
"description": "Build, preview, convert, render, inspect, and automate documents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"typecheck": "tsc --noEmit"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@bendyline/docblocks": "2.6.
|
|
51
|
-
"@bendyline/squisq": "2.11.
|
|
52
|
-
"@bendyline/squisq-cli": "2.8.
|
|
53
|
-
"@bendyline/squisq-formats": "2.6.
|
|
54
|
-
"@bendyline/squisq-react": "2.11.
|
|
55
|
-
"@bendyline/squisq-video": "2.3.
|
|
50
|
+
"@bendyline/docblocks": "2.6.2",
|
|
51
|
+
"@bendyline/squisq": "2.11.4",
|
|
52
|
+
"@bendyline/squisq-cli": "2.8.4",
|
|
53
|
+
"@bendyline/squisq-formats": "2.6.4",
|
|
54
|
+
"@bendyline/squisq-react": "2.11.4",
|
|
55
|
+
"@bendyline/squisq-video": "2.3.7",
|
|
56
56
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
57
57
|
"commander": "13.1.0",
|
|
58
58
|
"jszip": "3.10.1",
|