@visulima/vis 1.0.0-alpha.43 → 1.0.0-alpha.45

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 (156) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/LICENSE.md +256 -0
  3. package/bin/resolve-binary.mjs +85 -0
  4. package/bin/vis.mjs +76 -0
  5. package/dist/bin.d.ts +1 -0
  6. package/dist/bin.js +1 -2
  7. package/dist/binx.js +1 -1
  8. package/dist/packem_chunks/CONFIG_FILES.js +1 -1
  9. package/dist/packem_chunks/bloom-status.js +1 -1
  10. package/dist/packem_chunks/bloom-sync.js +1 -1
  11. package/dist/packem_chunks/catalog.js +63 -62
  12. package/dist/packem_chunks/cli-exec.js +1 -1
  13. package/dist/packem_chunks/cli-main.js +173 -973
  14. package/dist/packem_chunks/detect.js +1 -1
  15. package/dist/packem_chunks/dispatch.js +1 -1
  16. package/dist/packem_chunks/fix.js +1 -1
  17. package/dist/packem_chunks/handler.js +1 -1
  18. package/dist/packem_chunks/handler10.js +1 -1
  19. package/dist/packem_chunks/handler11.js +1 -1
  20. package/dist/packem_chunks/handler12.js +2 -2
  21. package/dist/packem_chunks/handler13.js +1 -1
  22. package/dist/packem_chunks/handler14.js +1 -1
  23. package/dist/packem_chunks/handler15.js +1 -1
  24. package/dist/packem_chunks/handler16.js +1 -1
  25. package/dist/packem_chunks/handler17.js +1 -1
  26. package/dist/packem_chunks/handler18.js +1 -1
  27. package/dist/packem_chunks/handler19.js +1 -1
  28. package/dist/packem_chunks/handler2.js +1 -1
  29. package/dist/packem_chunks/handler20.js +1 -1
  30. package/dist/packem_chunks/handler21.js +1 -1
  31. package/dist/packem_chunks/handler22.js +13 -4
  32. package/dist/packem_chunks/handler23.js +1 -1
  33. package/dist/packem_chunks/handler24.js +1 -1
  34. package/dist/packem_chunks/handler26.js +1 -1
  35. package/dist/packem_chunks/handler27.js +1 -1
  36. package/dist/packem_chunks/handler28.js +1 -1
  37. package/dist/packem_chunks/handler29.js +1 -1
  38. package/dist/packem_chunks/handler3.js +1 -1
  39. package/dist/packem_chunks/handler30.js +1 -1
  40. package/dist/packem_chunks/handler4.js +1 -1
  41. package/dist/packem_chunks/handler5.js +3 -3
  42. package/dist/packem_chunks/handler50.js +4 -4
  43. package/dist/packem_chunks/handler51.js +3 -3
  44. package/dist/packem_chunks/handler53.js +1 -1
  45. package/dist/packem_chunks/handler54.js +2 -2
  46. package/dist/packem_chunks/handler55.js +1 -1
  47. package/dist/packem_chunks/handler57.js +4 -4
  48. package/dist/packem_chunks/handler58.js +1 -1
  49. package/dist/packem_chunks/handler59.js +2 -2
  50. package/dist/packem_chunks/handler6.js +6 -6
  51. package/dist/packem_chunks/handler60.js +18 -18
  52. package/dist/packem_chunks/handler61.js +1 -1
  53. package/dist/packem_chunks/handler62.js +3 -3
  54. package/dist/packem_chunks/handler63.js +4 -4
  55. package/dist/packem_chunks/handler65.js +2 -2
  56. package/dist/packem_chunks/handler66.js +15 -15
  57. package/dist/packem_chunks/handler67.js +5 -5
  58. package/dist/packem_chunks/handler68.js +16 -16
  59. package/dist/packem_chunks/handler69.js +5 -5
  60. package/dist/packem_chunks/handler7.js +1 -1
  61. package/dist/packem_chunks/handler70.js +16 -17
  62. package/dist/packem_chunks/handler71.js +2 -2
  63. package/dist/packem_chunks/handler72.js +2 -2
  64. package/dist/packem_chunks/handler73.js +13 -13
  65. package/dist/packem_chunks/handler74.js +3 -3
  66. package/dist/packem_chunks/handler75.js +3 -3
  67. package/dist/packem_chunks/handler76.js +63 -63
  68. package/dist/packem_chunks/handler77.js +1 -1
  69. package/dist/packem_chunks/handler8.js +1 -1
  70. package/dist/packem_chunks/handler9.js +1 -1
  71. package/dist/packem_chunks/heal-accept.js +1 -1
  72. package/dist/packem_chunks/heal.js +1 -1
  73. package/dist/packem_chunks/help-command.js +1 -1
  74. package/dist/packem_chunks/index2.js +802 -7
  75. package/dist/packem_chunks/index3.js +7 -135
  76. package/dist/packem_chunks/index4.js +134 -73
  77. package/dist/packem_chunks/index5.js +74 -0
  78. package/dist/packem_chunks/keys-refresh.js +1 -1
  79. package/dist/packem_chunks/lean.js +3 -3
  80. package/dist/packem_chunks/list.js +1 -1
  81. package/dist/packem_chunks/loader.js +1 -1
  82. package/dist/packem_chunks/loader2.js +1 -1
  83. package/dist/packem_chunks/print-config.js +1 -1
  84. package/dist/packem_chunks/registry.js +2 -2
  85. package/dist/packem_chunks/shell-runner.js +1 -1
  86. package/dist/packem_chunks/sync.js +1 -1
  87. package/dist/packem_chunks/sync2.js +1 -1
  88. package/dist/packem_chunks/tripwire.js +2 -2
  89. package/dist/packem_chunks/ts-loader.js +22 -2
  90. package/dist/packem_chunks/verify-lockfile.js +1 -1
  91. package/dist/packem_chunks/version-resolver.js +2 -2
  92. package/dist/packem_shared/{Table-CcVkyULl-DLWu6XHL.js → Table-BGIHvenQ-D2oJtNQj.js} +1 -1
  93. package/dist/packem_shared/affected-shas-CCxG4tvm.js +1 -0
  94. package/dist/packem_shared/{ai-analysis-Co-b15d_.js → ai-analysis-rC48NLfB.js} +5 -5
  95. package/dist/packem_shared/{ai-fix-DnJDgPN-.js → ai-fix-D_ijV3Rn.js} +3 -3
  96. package/dist/packem_shared/augment-DaSS2Lgs.js +4 -0
  97. package/dist/packem_shared/bin-CPMo34SM.js +1 -0
  98. package/dist/packem_shared/{build-scripts-Doxce2VM.js → build-scripts-MTSK6TNr.js} +1 -1
  99. package/dist/packem_shared/{command-runtime-RiCMa2C8.js → command-runtime-3FTGuUsK.js} +1 -1
  100. package/dist/packem_shared/{cyclonedx-BTBzGCBW.js → cyclonedx-BeUmPgfO.js} +1 -1
  101. package/dist/packem_shared/{dependency-scan-DEv-scN6.js → dependency-scan-DpOFiZuI.js} +1 -1
  102. package/dist/packem_shared/{docker-DKlF-gk3.js → docker-CViFYtmM.js} +1 -1
  103. package/dist/packem_shared/{env-XJzocuUP.js → env-Ct3hMEYB.js} +2 -2
  104. package/dist/packem_shared/{failure-log-Sp1j-5qo.js → failure-log-Dy2G-rKi.js} +1 -1
  105. package/dist/packem_shared/glob-fqg4KepW-1S3z30c8.js +1 -0
  106. package/dist/packem_shared/index-CE6MsgcV.js +22 -0
  107. package/dist/packem_shared/{index-CkZnT2Fe.js → index-Cntyu-w8.js} +1 -1
  108. package/dist/packem_shared/{index-DJAnbLEh.js → index-XAb0QGqA.js} +1 -1
  109. package/dist/packem_shared/{lifecycle-C4nRsXxc.js → lifecycle-CHcFuWf_.js} +1 -1
  110. package/dist/packem_shared/{lockfile-DIGyLfmF.js → lockfile-C1qCKGH6.js} +1 -1
  111. package/dist/packem_shared/{manifests-pLwnVmCN.js → manifests-WBnsV_Eb.js} +1 -1
  112. package/dist/packem_shared/{min-release-age-B23Mr7NO.js → min-release-age-C71MO72F.js} +1 -1
  113. package/dist/packem_shared/{missing-package-json-DdMNbe_j.js → missing-package-json-CTF71tE5.js} +1 -1
  114. package/dist/packem_shared/{native-config-sync-4K9wWTj5.js → native-config-sync-BFDVK9LH.js} +4 -4
  115. package/dist/packem_shared/{osv-bloom-BsQ-aFiM.js → osv-bloom-DVMlkcAO.js} +2 -2
  116. package/dist/packem_shared/{packument-QjOLAMSk.js → packument-C-A3Uhhx.js} +1 -1
  117. package/dist/packem_shared/pm-runner-CQcraCcu.js +1 -0
  118. package/dist/packem_shared/{provenance-CilBg0Ee.js → provenance-R2csDSNg.js} +1 -1
  119. package/dist/packem_shared/readJsonSync-CvkZyKmL-ihoybKvs.js +1 -0
  120. package/dist/packem_shared/{registry-keys-BEavOCPz.js → registry-keys-CMnS_Qt_.js} +1 -1
  121. package/dist/packem_shared/{resolve-explicit-C4o8_-SE.js → resolve-explicit-C4oQMyoB.js} +1 -1
  122. package/dist/packem_shared/resolve-runtime-QRaQucfL.js +1 -0
  123. package/dist/packem_shared/run-file-DD7Ne23Z.js +1 -0
  124. package/dist/packem_shared/{runtime-check-0lUJvgKt.js → runtime-check-BXehSP06.js} +1 -1
  125. package/dist/packem_shared/{s1ngularity-DuG-LLaX.js → s1ngularity-BCDt28u0.js} +1 -1
  126. package/dist/packem_shared/scan-progress-YRpDs90j.js +2 -0
  127. package/dist/packem_shared/{selectors-UmnAuc26.js → selectors-D4iCvITE.js} +1 -1
  128. package/dist/packem_shared/{signatures-CYheSqd3.js → signatures-B3srzCEv.js} +1 -1
  129. package/dist/packem_shared/target-options-CR0OuYJr.js +1 -0
  130. package/dist/packem_shared/toolchain-C44mPKPu.js +5 -0
  131. package/dist/packem_shared/{typosquats-hCtH-23t.js → typosquats-CQz-1Y6K.js} +1 -1
  132. package/dist/packem_shared/use-measured-height-DHi0xOPO.js +1 -0
  133. package/dist/packem_shared/utils-CRueU43T.js +1 -0
  134. package/dist/packem_shared/verify-DStfg3nb.js +1 -0
  135. package/dist/packem_shared/{vis-update-app-K-qATSeh.js → vis-update-app-B3I14Vfy.js} +1 -1
  136. package/dist/packem_shared/{watch-Bkp_AAbc.js → watch-BXNI7dC6.js} +1 -1
  137. package/dist/packem_shared/{watch-loop-WE7nWIEt.js → watch-loop-JfGKIgKB.js} +1 -1
  138. package/dist/runtime/preload.js +1 -1
  139. package/index.js +52 -52
  140. package/package.json +18 -14
  141. package/dist/packem_shared/affected-shas-C1XuRlvo.js +0 -1
  142. package/dist/packem_shared/augment-8fIWWGSc.js +0 -3
  143. package/dist/packem_shared/bin-DDq2oszw.js +0 -1
  144. package/dist/packem_shared/glob-fqg4KepW-7Bs2kZuM.js +0 -1
  145. package/dist/packem_shared/index-OQZQyN5R.js +0 -19
  146. package/dist/packem_shared/pm-runner-CIH0wPh-.js +0 -1
  147. package/dist/packem_shared/readJsonSync-CvkZyKmL-CY7PZob_.js +0 -4
  148. package/dist/packem_shared/resolve-runtime-CJSWV-K8.js +0 -1
  149. package/dist/packem_shared/run-file-B4TqKa0X.js +0 -1
  150. package/dist/packem_shared/scan-progress-RTMsE3Z4.js +0 -2
  151. package/dist/packem_shared/target-options-ChWcK60i.js +0 -1
  152. package/dist/packem_shared/toolchain-DyCKnGch.js +0 -5
  153. package/dist/packem_shared/use-measured-height-BKUjhm_3.js +0 -1
  154. package/dist/packem_shared/utils-Cxree603.js +0 -1
  155. package/dist/packem_shared/verify-CVPYlUrF.js +0 -1
  156. package/dist/packem_shared/window-ops-DDePlWLV.js +0 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,81 @@
1
+ ## @visulima/vis [1.0.0-alpha.45](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.44...@visulima/vis@1.0.0-alpha.45) (2026-06-30)
2
+
3
+ ### Bug Fixes
4
+
5
+ * resolve eslint errors in fmt, jsdoc-open-api, vis ([43bf450](https://github.com/visulima/visulima/commit/43bf45081e46b042a08b555c3fcb60391b82d06f))
6
+ * **vis:** disable class-methods-use-this for tui lifecycle ([182c972](https://github.com/visulima/visulima/commit/182c9727dcbef66a8609a864133fb2869bd2d9c4))
7
+ * **vis:** drop pinned packageManager from release test fixtures ([d8c6a35](https://github.com/visulima/visulima/commit/d8c6a35326b12d5785cc8060a5aadb4cdc3d75be))
8
+ * **vis:** stop corepack prompt hanging release pm probes ([ddb5f2d](https://github.com/visulima/visulima/commit/ddb5f2de908ffe187162ad13d3f1cd7024a4b6c8))
9
+ * **vis:** stop Windows test hangs; start fallow dead-code cleanup ([e87ca70](https://github.com/visulima/visulima/commit/e87ca708223560775c2bd9ec7a59e1aa5853b5de))
10
+
11
+ ### Performance Improvements
12
+
13
+ * **vis:** fast-path local .bin in exec command ([#716](https://github.com/visulima/visulima/issues/716)) ([dec9d37](https://github.com/visulima/visulima/commit/dec9d37829ded30c7be0c0c9d4649f726b8fbe94))
14
+
15
+ ### Styles
16
+
17
+ * cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
18
+
19
+ ### Miscellaneous Chores
20
+
21
+ * add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
22
+ * **fallow:** resolve dead-code findings ([c4125d5](https://github.com/visulima/visulima/commit/c4125d53e03ac9d90115399634535991927a96cc))
23
+
24
+ ### Code Refactoring
25
+
26
+ * address thermos code-quality findings ([392ed96](https://github.com/visulima/visulima/commit/392ed96b489b1c4df30157ad2f33fc9b3fd82fef))
27
+ * **vis:** resolve fallow dead-code findings ([fd0c8ae](https://github.com/visulima/visulima/commit/fd0c8aed0126db0d4bfa6fb0acfcad2780d7f615))
28
+
29
+ ### Tests
30
+
31
+ * fix failing and flaky package tests ([3f2894e](https://github.com/visulima/visulima/commit/3f2894e816e99f465abb0d3b7d5161af69bbb4ec))
32
+ * **vis:** fix windows timeout/EBUSY in release command suites ([a822cf7](https://github.com/visulima/visulima/commit/a822cf79a719fd0005ff7cda9ba81c9a2c9b7462))
33
+
34
+ ### Continuous Integration
35
+
36
+ * **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
37
+
38
+
39
+ ### Dependencies
40
+
41
+ * **@visulima/error:** upgraded to 6.0.0-alpha.35
42
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.27
43
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.18
44
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.33
45
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.15
46
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.33
47
+ * **@visulima/package:** upgraded to 5.0.0-alpha.32
48
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.23
49
+ * **@visulima/string:** upgraded to 3.0.0-alpha.18
50
+ * **@visulima/tsconfig:** upgraded to 3.0.0-alpha.32
51
+
52
+ ## @visulima/vis [1.0.0-alpha.44](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.43...@visulima/vis@1.0.0-alpha.44) (2026-06-23)
53
+
54
+ ### Features
55
+
56
+ * **vis:** native Rust CLI front-end + nub-parity for x/run ([#697](https://github.com/visulima/visulima/issues/697)) ([88d505b](https://github.com/visulima/visulima/commit/88d505bef74f08a895849e41f26682e684aa67be))
57
+ * **vis:** task-runner feedback fixes + CI hook skip ([#696](https://github.com/visulima/visulima/issues/696)) ([450412c](https://github.com/visulima/visulima/commit/450412cb92eee1397edaa46447128b1487d06369))
58
+
59
+ ### Bug Fixes
60
+
61
+ * **vis:** group failed tasks in ci log output ([0fb8678](https://github.com/visulima/visulima/commit/0fb8678d9b66c6b587fb113310cfe9abce9aa6d0))
62
+ * **vis:** unbreak full build — exclude variable-import modules from dynamic-import-vars ([#712](https://github.com/visulima/visulima/issues/712)) ([29d46eb](https://github.com/visulima/visulima/commit/29d46eb719de11ab8f09e5303748264607b04fe3)), closes [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697)
63
+ * **vis:** wrap native crate-type array to satisfy toml lint rule ([9470654](https://github.com/visulima/visulima/commit/94706547342291197afb8babd5d2929ae9e0bb9b))
64
+
65
+ ### Documentation
66
+
67
+ * **task-runner,vis:** add nub MIT attribution to ported native code ([9305f59](https://github.com/visulima/visulima/commit/9305f592da38dd13a179ef1af75fb0c8f5d84693))
68
+
69
+ ### Tests
70
+
71
+ * **vis,task-runner:** address review on native benches ([f89dd33](https://github.com/visulima/visulima/commit/f89dd335d103744308a48568e49577d2019aca35))
72
+ * **vis:** add criterion transpile bench + harness docs ([fb34159](https://github.com/visulima/visulima/commit/fb341597b498916afb398bfc1be66944f2967c98)), closes [nubjs/nub#17](https://github.com/nubjs/nub/issues/17)
73
+
74
+
75
+ ### Dependencies
76
+
77
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.25
78
+
1
79
  ## @visulima/vis [1.0.0-alpha.43](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.42...@visulima/vis@1.0.0-alpha.43) (2026-06-20)
2
80
 
3
81
  ### Features
package/LICENSE.md CHANGED
@@ -8722,6 +8722,173 @@ Repository: git+https://github.com/visulima/visulima.git
8722
8722
 
8723
8723
  ---------------------------------------
8724
8724
 
8725
+ ## @visulima/tsconfig
8726
+ License: MIT
8727
+ By: Daniel Bannert
8728
+ Repository: git+https://github.com/visulima/visulima.git
8729
+
8730
+ > MIT License
8731
+ >
8732
+ > Copyright (c) 2026 visulima
8733
+ >
8734
+ > Permission is hereby granted, free of charge, to any person obtaining a copy
8735
+ > of this software and associated documentation files (the "Software"), to deal
8736
+ > in the Software without restriction, including without limitation the rights
8737
+ > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8738
+ > copies of the Software, and to permit persons to whom the Software is
8739
+ > furnished to do so, subject to the following conditions:
8740
+ >
8741
+ > The above copyright notice and this permission notice shall be included in all
8742
+ > copies or substantial portions of the Software.
8743
+ >
8744
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8745
+ > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8746
+ > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
8747
+ > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8748
+ > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
8749
+ > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
8750
+ > SOFTWARE.
8751
+ >
8752
+ >
8753
+ >
8754
+ >
8755
+ >
8756
+ >
8757
+ > # Licenses of bundled types
8758
+ >
8759
+ > The published @visulima/tsconfig artifact additionally contains code with the following licenses:
8760
+ > (MIT OR CC0-1.0)
8761
+ >
8762
+ > # Bundled types:
8763
+ >
8764
+ > ## type-fest
8765
+ >
8766
+ > License: (MIT OR CC0-1.0)
8767
+ > By: Sindre Sorhus
8768
+ > Repository: sindresorhus/type-fest
8769
+ >
8770
+ > > Creative Commons Legal Code
8771
+ > >
8772
+ > > CC0 1.0 Universal
8773
+ > >
8774
+ > > CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
8775
+ > > LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
8776
+ > > ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8777
+ > > INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
8778
+ > > REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
8779
+ > > PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
8780
+ > > THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
8781
+ > > HEREUNDER.
8782
+ > >
8783
+ > > Statement of Purpose
8784
+ > >
8785
+ > > The laws of most jurisdictions throughout the world automatically confer
8786
+ > > exclusive Copyright and Related Rights (defined below) upon the creator
8787
+ > > and subsequent owner(s) (each and all, an "owner") of an original work of
8788
+ > > authorship and/or a database (each, a "Work").
8789
+ > >
8790
+ > > Certain owners wish to permanently relinquish those rights to a Work for
8791
+ > > the purpose of contributing to a commons of creative, cultural and
8792
+ > > scientific works ("Commons") that the public can reliably and without fear
8793
+ > > of later claims of infringement build upon, modify, incorporate in other
8794
+ > > works, reuse and redistribute as freely as possible in any form whatsoever
8795
+ > > and for any purposes, including without limitation commercial purposes.
8796
+ > > These owners may contribute to the Commons to promote the ideal of a free
8797
+ > > culture and the further production of creative, cultural and scientific
8798
+ > > works, or to gain reputation or greater distribution for their Work in
8799
+ > > part through the use and efforts of others.
8800
+ > >
8801
+ > > For these and/or other purposes and motivations, and without any
8802
+ > > expectation of additional consideration or compensation, the person
8803
+ > > associating CC0 with a Work (the "Affirmer"), to the extent that he or she
8804
+ > > is an owner of Copyright and Related Rights in the Work, voluntarily
8805
+ > > elects to apply CC0 to the Work and publicly distribute the Work under its
8806
+ > > terms, with knowledge of his or her Copyright and Related Rights in the
8807
+ > > Work and the meaning and intended legal effect of CC0 on those rights.
8808
+ > >
8809
+ > > 1. Copyright and Related Rights. A Work made available under CC0 may be
8810
+ > > protected by copyright and related or neighboring rights ("Copyright and
8811
+ > > Related Rights"). Copyright and Related Rights include, but are not
8812
+ > > limited to, the following:
8813
+ > >
8814
+ > > i. the right to reproduce, adapt, distribute, perform, display,
8815
+ > > communicate, and translate a Work;
8816
+ > > ii. moral rights retained by the original author(s) and/or performer(s);
8817
+ > > iii. publicity and privacy rights pertaining to a person's image or
8818
+ > > likeness depicted in a Work;
8819
+ > > iv. rights protecting against unfair competition in regards to a Work,
8820
+ > > subject to the limitations in paragraph 4(a), below;
8821
+ > > v. rights protecting the extraction, dissemination, use and reuse of data
8822
+ > > in a Work;
8823
+ > > vi. database rights (such as those arising under Directive 96/9/EC of the
8824
+ > > European Parliament and of the Council of 11 March 1996 on the legal
8825
+ > > protection of databases, and under any national implementation
8826
+ > > thereof, including any amended or successor version of such
8827
+ > > directive); and
8828
+ > > vii. other similar, equivalent or corresponding rights throughout the
8829
+ > > world based on applicable law or treaty, and any national
8830
+ > > implementations thereof.
8831
+ > >
8832
+ > > 2. Waiver. To the greatest extent permitted by, but not in contravention
8833
+ > > of, applicable law, Affirmer hereby overtly, fully, permanently,
8834
+ > > irrevocably and unconditionally waives, abandons, and surrenders all of
8835
+ > > Affirmer's Copyright and Related Rights and associated claims and causes
8836
+ > > of action, whether now known or unknown (including existing as well as
8837
+ > > future claims and causes of action), in the Work (i) in all territories
8838
+ > > worldwide, (ii) for the maximum duration provided by applicable law or
8839
+ > > treaty (including future time extensions), (iii) in any current or future
8840
+ > > medium and for any number of copies, and (iv) for any purpose whatsoever,
8841
+ > > including without limitation commercial, advertising or promotional
8842
+ > > purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
8843
+ > > member of the public at large and to the detriment of Affirmer's heirs and
8844
+ > > successors, fully intending that such Waiver shall not be subject to
8845
+ > > revocation, rescission, cancellation, termination, or any other legal or
8846
+ > > equitable action to disrupt the quiet enjoyment of the Work by the public
8847
+ > > as contemplated by Affirmer's express Statement of Purpose.
8848
+ > > 3. Public License Fallback. Should any part of the Waiver for any reason
8849
+ > > be judged legally invalid or ineffective under applicable law, then the
8850
+ > > Waiver shall be preserved to the maximum extent permitted taking into
8851
+ > > account Affirmer's express Statement of Purpose. In addition, to the
8852
+ > > extent the Waiver is so judged Affirmer hereby grants to each affected
8853
+ > > person a royalty-free, non transferable, non sublicensable, non exclusive,
8854
+ > > irrevocable and unconditional license to exercise Affirmer's Copyright and
8855
+ > > Related Rights in the Work (i) in all territories worldwide, (ii) for the
8856
+ > > maximum duration provided by applicable law or treaty (including future
8857
+ > > time extensions), (iii) in any current or future medium and for any number
8858
+ > > of copies, and (iv) for any purpose whatsoever, including without
8859
+ > > limitation commercial, advertising or promotional purposes (the
8860
+ > > "License"). The License shall be deemed effective as of the date CC0 was
8861
+ > > applied by Affirmer to the Work. Should any part of the License for any
8862
+ > > reason be judged legally invalid or ineffective under applicable law, such
8863
+ > > partial invalidity or ineffectiveness shall not invalidate the remainder
8864
+ > > of the License, and in such case Affirmer hereby affirms that he or she
8865
+ > > will not (i) exercise any of his or her remaining Copyright and Related
8866
+ > > Rights in the Work or (ii) assert any associated claims and causes of
8867
+ > > action with respect to the Work, in either case contrary to Affirmer's
8868
+ > > express Statement of Purpose.
8869
+ > > 4. Limitations and Disclaimers.
8870
+ > >
8871
+ > > a. No trademark or patent rights held by Affirmer are waived, abandoned,
8872
+ > > surrendered, licensed or otherwise affected by this document.
8873
+ > > b. Affirmer offers the Work as-is and makes no representations or
8874
+ > > warranties of any kind concerning the Work, express, implied,
8875
+ > > statutory or otherwise, including without limitation warranties of
8876
+ > > title, merchantability, fitness for a particular purpose, non
8877
+ > > infringement, or the absence of latent or other defects, accuracy, or
8878
+ > > the present or absence of errors, whether or not discoverable, all to
8879
+ > > the greatest extent permissible under applicable law.
8880
+ > > c. Affirmer disclaims responsibility for clearing rights of other persons
8881
+ > > that may apply to the Work or any use thereof, including without
8882
+ > > limitation any person's Copyright and Related Rights in the Work.
8883
+ > > Further, Affirmer disclaims responsibility for obtaining any necessary
8884
+ > > consents, permissions or other rights required for any use of the
8885
+ > > Work.
8886
+ > > d. Affirmer understands and acknowledges that Creative Commons is not a
8887
+ > > party to this document and has no duty or obligation with respect to
8888
+ > > this CC0 or use of the Work.
8889
+
8890
+ ---------------------------------------
8891
+
8725
8892
  ## @visulima/tui
8726
8893
  License: MIT
8727
8894
  By: Daniel Bannert
@@ -12165,6 +12332,66 @@ Repository: nodeca/js-yaml
12165
12332
 
12166
12333
  ---------------------------------------
12167
12334
 
12335
+ ## json5
12336
+ License: MIT
12337
+ By: Aseem Kishore, Max Nanasy, Andrew Eisenberg, Jordan Tucker
12338
+ Repository: git+https://github.com/json5/json5.git
12339
+
12340
+ > MIT License
12341
+ >
12342
+ > Copyright (c) 2012-2018 Aseem Kishore, and [others].
12343
+ >
12344
+ > Permission is hereby granted, free of charge, to any person obtaining a copy
12345
+ > of this software and associated documentation files (the "Software"), to deal
12346
+ > in the Software without restriction, including without limitation the rights
12347
+ > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12348
+ > copies of the Software, and to permit persons to whom the Software is
12349
+ > furnished to do so, subject to the following conditions:
12350
+ >
12351
+ > The above copyright notice and this permission notice shall be included in all
12352
+ > copies or substantial portions of the Software.
12353
+ >
12354
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12355
+ > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12356
+ > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
12357
+ > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12358
+ > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12359
+ > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
12360
+ > SOFTWARE.
12361
+ >
12362
+ > [others]: https://github.com/json5/json5/contributors
12363
+
12364
+ ---------------------------------------
12365
+
12366
+ ## jsonc-parser
12367
+ License: MIT
12368
+ By: Microsoft Corporation
12369
+ Repository: https://github.com/microsoft/node-jsonc-parser
12370
+
12371
+ > The MIT License (MIT)
12372
+ >
12373
+ > Copyright (c) Microsoft
12374
+ >
12375
+ > Permission is hereby granted, free of charge, to any person obtaining a copy
12376
+ > of this software and associated documentation files (the "Software"), to deal
12377
+ > in the Software without restriction, including without limitation the rights
12378
+ > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12379
+ > copies of the Software, and to permit persons to whom the Software is
12380
+ > furnished to do so, subject to the following conditions:
12381
+ >
12382
+ > The above copyright notice and this permission notice shall be included in all
12383
+ > copies or substantial portions of the Software.
12384
+ >
12385
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12386
+ > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12387
+ > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
12388
+ > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12389
+ > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12390
+ > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
12391
+ > SOFTWARE.
12392
+
12393
+ ---------------------------------------
12394
+
12168
12395
  ## jstoxml
12169
12396
  License: MIT
12170
12397
  By: David Calhoun
@@ -12353,6 +12580,35 @@ Repository: https://github.com/facebook/react.git
12353
12580
 
12354
12581
  ---------------------------------------
12355
12582
 
12583
+ ## resolve-pkg-maps
12584
+ License: MIT
12585
+ By: Hiroki Osame
12586
+ Repository: privatenumber/resolve-pkg-maps
12587
+
12588
+ > MIT License
12589
+ >
12590
+ > Copyright (c) Hiroki Osame <hiroki.osame@gmail.com>
12591
+ >
12592
+ > Permission is hereby granted, free of charge, to any person obtaining a copy
12593
+ > of this software and associated documentation files (the "Software"), to deal
12594
+ > in the Software without restriction, including without limitation the rights
12595
+ > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12596
+ > copies of the Software, and to permit persons to whom the Software is
12597
+ > furnished to do so, subject to the following conditions:
12598
+ >
12599
+ > The above copyright notice and this permission notice shall be included in all
12600
+ > copies or substantial portions of the Software.
12601
+ >
12602
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12603
+ > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12604
+ > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
12605
+ > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12606
+ > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12607
+ > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
12608
+ > SOFTWARE.
12609
+
12610
+ ---------------------------------------
12611
+
12356
12612
  ## scheduler
12357
12613
  License: MIT
12358
12614
  Repository: https://github.com/facebook/react.git
@@ -0,0 +1,85 @@
1
+ // Platform resolution for the native `vis` CLI binary. Shared by the launcher
2
+ // (`bin/vis.mjs`) and the integration tests so there is a single source of truth
3
+ // for where the binary lives and how the platform -> binding-package target slug
4
+ // is computed (mirroring the NAPI loader matrix in `index.js`).
5
+
6
+ import { existsSync } from "node:fs";
7
+ import { createRequire } from "node:module";
8
+ import { join } from "node:path";
9
+
10
+ const require = createRequire(import.meta.url);
11
+
12
+ // Best-effort musl detection for Linux. Defaults to glibc on any uncertainty.
13
+ const isMusl = () => {
14
+ const report = typeof process.report?.getReport === "function" ? process.report.getReport() : undefined;
15
+
16
+ if (report && Array.isArray(report.sharedObjects)) {
17
+ return report.sharedObjects.some((object) => object.includes("libc.musl-") || object.includes("ld-musl-"));
18
+ }
19
+
20
+ // Default to glibc on uncertainty (no report). musl is identified by the
21
+ // absence of glibcVersionRuntime; matches handler.ts's copy.
22
+ return report ? !report.header?.glibcVersionRuntime : false;
23
+ };
24
+
25
+ // Static platform+arch -> target slug table for the non-Linux targets (Linux is
26
+ // libc-dependent, so it is resolved separately).
27
+ const STATIC_TARGETS = {
28
+ "darwin:arm64": "darwin-arm64",
29
+ "darwin:x64": "darwin-x64",
30
+ "win32:arm64": "win32-arm64-msvc",
31
+ "win32:x64": "win32-x64-msvc",
32
+ };
33
+
34
+ // Compute the binding-package target slug for the current platform, or undefined
35
+ // for platforms with no published binary.
36
+ const nativeTarget = () => {
37
+ const { arch, platform } = process;
38
+
39
+ if (platform === "linux") {
40
+ const libc = isMusl() ? "musl" : "gnu";
41
+
42
+ if (arch === "arm64" || arch === "x64") {
43
+ return `linux-${arch}-${libc}`;
44
+ }
45
+
46
+ return undefined;
47
+ }
48
+
49
+ return STATIC_TARGETS[`${platform}:${arch}`];
50
+ };
51
+
52
+ // Resolve the platform-specific `vis` binary, or undefined if none is available
53
+ // (e.g. the optional binding package was not installed for this platform).
54
+ // Resolution order, most specific first:
55
+ // 1. VIS_NATIVE_BIN env override (dev / CI / tests).
56
+ // 2. A binary placed next to the package (local `build:native:cli` output).
57
+ // 3. The matching `@visulima/vis-binding-<target>` optional dependency.
58
+ const resolveNativeBinary = (packageRoot) => {
59
+ const override = process.env.VIS_NATIVE_BIN;
60
+
61
+ if (override && existsSync(override)) {
62
+ return override;
63
+ }
64
+
65
+ const exe = process.platform === "win32" ? "vis-native-cli.exe" : "vis-native-cli";
66
+ const local = join(packageRoot, exe);
67
+
68
+ if (existsSync(local)) {
69
+ return local;
70
+ }
71
+
72
+ const target = nativeTarget();
73
+
74
+ if (target === undefined) {
75
+ return undefined;
76
+ }
77
+
78
+ try {
79
+ return require.resolve(`@visulima/vis-binding-${target}/${exe}`);
80
+ } catch {
81
+ return undefined;
82
+ }
83
+ };
84
+
85
+ export { nativeTarget, resolveNativeBinary };
package/bin/vis.mjs ADDED
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env node
2
+ // Native front-end launcher for `vis`.
3
+ //
4
+ // This is the npm `bin` entry. Its only jobs are to (1) route the small set of
5
+ // natively-implemented commands to the platform Rust binary, and (2) fall
6
+ // through to the existing in-process Node CLI for everything else. The
7
+ // fall-through path is byte-identical to running `dist/bin.js` directly, so the
8
+ // launcher adds no extra Node boot for delegated commands — it `import()`s the
9
+ // same entry in the same process.
10
+ //
11
+ // As commands are ported off Node, their names are added to NATIVE_COMMANDS and
12
+ // the binary grows to handle them; the binary itself delegates anything it does
13
+ // not implement back to `dist/bin.js` via the VIS_* contract.
14
+
15
+ import { spawnSync } from "node:child_process";
16
+ import { readFileSync } from "node:fs";
17
+ import { constants } from "node:os";
18
+ import { dirname, join } from "node:path";
19
+ import { fileURLToPath, pathToFileURL } from "node:url";
20
+
21
+ import { resolveNativeBinary } from "./resolve-binary.mjs";
22
+
23
+ const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)));
24
+
25
+ // VIS_FALLBACK_ENTRY lets tests (and the native binary's own delegation) point
26
+ // the Node entry elsewhere; production resolves it next to the package.
27
+ const fallbackEntry = process.env.VIS_FALLBACK_ENTRY ?? join(packageRoot, "dist", "bin.js");
28
+
29
+ // Commands answered by the native binary. Every entry here MUST be handled by
30
+ // the binary (natively or via its own Node delegation), with VERIFIED parity to
31
+ // the Node behavior. Unknown commands never reach the binary — they take the
32
+ // in-process path below, unchanged. NOTE: `-v` is cerebro's verbose flag (not
33
+ // version), so it is deliberately absent.
34
+ //
35
+ // `exec` parity was verified empirically against cerebro: tool flags after the
36
+ // command are forwarded to the tool on both the native path and the Node handler
37
+ // (src/commands/exec/handler.ts), which was fixed to stop dropping them.
38
+ const NATIVE_COMMANDS = new Set(["--version", "-V", "__native-info", "__pm-shim", "dedupe", "exec", "link", "outdated", "pm", "remove", "unlink", "why", "x"]);
39
+
40
+ const command = process.argv[2] ?? "";
41
+
42
+ if (NATIVE_COMMANDS.has(command)) {
43
+ const binary = resolveNativeBinary(packageRoot);
44
+
45
+ if (binary !== undefined) {
46
+ const { version } = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf8"));
47
+
48
+ const { error, signal, status } = spawnSync(binary, process.argv.slice(2), {
49
+ env: {
50
+ ...process.env,
51
+ VIS_FALLBACK_ENTRY: fallbackEntry,
52
+ VIS_NODE: process.execPath,
53
+ VIS_VERSION: version,
54
+ },
55
+ stdio: "inherit",
56
+ });
57
+
58
+ if (error) {
59
+ // Binary unusable (e.g. corrupt install) — fall through to Node.
60
+ process.env.VIS_NATIVE_BIN_FAILED = "1";
61
+ } else if (signal) {
62
+ // Signal-terminated: follow the shell convention (128 + signal number)
63
+ // so the exit code matches the binary's own delegation path.
64
+ process.exit(128 + (constants.signals[signal] ?? 1));
65
+ } else {
66
+ process.exit(status ?? 1);
67
+ }
68
+ }
69
+ // No binary for this platform: fall through to the Node CLI below.
70
+ }
71
+
72
+ // In-process Node CLI. Same module graph and behaviour as invoking dist/bin.js
73
+ // directly — no extra process boot. fallbackEntry is an internally-resolved path
74
+ // (never user input); pathToFileURL keeps the dynamic import valid on Windows.
75
+ // eslint-disable-next-line no-unsanitized/method -- fallbackEntry is resolved internally, not from user input
76
+ await import(pathToFileURL(fallbackEntry).href);
package/dist/bin.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { };
package/dist/bin.js CHANGED
@@ -1,2 +1 @@
1
- #!/usr/bin/env node
2
- import"./packem_shared/compile-cache-B_Vf_WxT.js";import"./packem_shared/bin-DDq2oszw.js";
1
+ import"./packem_shared/compile-cache-B_Vf_WxT.js";import"./packem_shared/bin-CPMo34SM.js";
package/dist/binx.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{c as r,V as o,h as c,e as i,r as a}from"./packem_shared/index-DJAnbLEh.js";import{c as n}from"./packem_shared/compile-cache-B_Vf_WxT.js";process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");process.argv.slice(2).some(s=>s==="--version"||s==="-v"||s==="-V")&&(process.stdout.write(`${r.version}
2
+ import{c as r,V as o,h as c,e as i,r as a}from"./packem_shared/index-XAb0QGqA.js";import{c as n}from"./packem_shared/compile-cache-B_Vf_WxT.js";process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");process.argv.slice(2).some(s=>s==="--version"||s==="-v"||s==="-V")&&(process.stdout.write(`${r.version}
3
3
  `),process.exit(0));process.argv.splice(2,0,"dlx");n();const e=o("visx",{packageName:"visx",packageVersion:r.version}),p=process.argv.includes("--debug")||!!process.env.DEBUG;e.addPlugin(c({detailed:p,exitOnError:!1}));e.addCommand(i);a(e);
@@ -1,4 +1,4 @@
1
- import{createRequire as G}from"node:module";import{E as O,m as P}from"../packem_shared/target-merge-DOm6h6tW.js";import{m as c,A as b,f as p,a as h,H as y,O as C}from"../packem_shared/index-OQZQyN5R.js";import{importTs as I}from"./ts-loader.js";import{otelPlugin as jt}from"../packem_shared/otelPlugin-DmKDBaPo.js";import{definePlugin as Tt}from"../packem_shared/definePlugin-DoUcoYSy.js";import{a as _}from"../packem_shared/readJsonSync-CvkZyKmL-CY7PZob_.js";const F=G(import.meta.url),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,k=t=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[e,s]=d.versions.node.split(".").map(Number);if(e>22||e===22&&s>=3||e===20&&s>=16)return d.getBuiltinModule(t)}return F(t)},{createHash:T}=k("node:crypto"),{readdirSync:$,readFileSync:V}=k("node:fs"),{createRequire:N}=k("node:module");class l extends Error{chain;constructor(e,s,o){super(e,o),this.name=this.constructor.name,this.chain=s}}class K extends l{constructor(e,s){const o=[...s,`${e} (re-enters)`].join(" → ");super(`Config cycle: ${o}`,s)}}class E extends l{filePath;removedKeys;constructor(e,s,o){const r=[`${e} uses removed keys.`,""];for(const n of o){const a=n.location?` (at ${n.location})`:"";r.push(` • ${n.name}${a} → renamed to \`${n.renamedTo}\``);for(const i of n.children??[])r.push(` ↳ ${i.name} → renamed to \`${i.renamedTo}\``)}r.push("","Run `vis migrate self` to auto-rewrite the config (use --dry-run to preview)."),super(r.join(`
1
+ import{createRequire as G}from"node:module";import{E as O,m as P}from"../packem_shared/target-merge-DOm6h6tW.js";import{m as c,A as b,f as p,a as h,H as y,O as C}from"../packem_shared/index-CE6MsgcV.js";import{i as I}from"./ts-loader.js";import{otelPlugin as jt}from"../packem_shared/otelPlugin-DmKDBaPo.js";import{definePlugin as Tt}from"../packem_shared/definePlugin-DoUcoYSy.js";import{a as _}from"../packem_shared/readJsonSync-CvkZyKmL-ihoybKvs.js";const F=G(import.meta.url),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,k=t=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[e,s]=d.versions.node.split(".").map(Number);if(e>22||e===22&&s>=3||e===20&&s>=16)return d.getBuiltinModule(t)}return F(t)},{createHash:T}=k("node:crypto"),{readdirSync:$,readFileSync:V}=k("node:fs"),{createRequire:N}=k("node:module");class l extends Error{chain;constructor(e,s,o){super(e,o),this.name=this.constructor.name,this.chain=s}}class K extends l{constructor(e,s){const o=[...s,`${e} (re-enters)`].join(" → ");super(`Config cycle: ${o}`,s)}}class E extends l{filePath;removedKeys;constructor(e,s,o){const r=[`${e} uses removed keys.`,""];for(const n of o){const a=n.location?` (at ${n.location})`:"";r.push(` • ${n.name}${a} → renamed to \`${n.renamedTo}\``);for(const i of n.children??[])r.push(` ↳ ${i.name} → renamed to \`${i.renamedTo}\``)}r.push("","Run `vis migrate self` to auto-rewrite the config (use --dry-run to preview)."),super(r.join(`
2
2
  `),s),this.filePath=e,this.removedKeys=o}}class j extends l{constructor(e,s,o){const r=o instanceof Error?o.message:String(o),n=s.length>0?`
3
3
  Chain: ${s.join(" → ")}`:"";super(`Failed to load ${e}: ${r}${n}`,s,{cause:o})}}const L=t=>t.join(" → ");class g extends l{constructor(e,s,o){const r=s.length>0?s[s.length-1]:"<unknown>",n=o.length>0?`
4
4
  Tried:
@@ -1,2 +1,2 @@
1
- import{s as c,E as n,I as f}from"../packem_shared/index.server-J83sowC4.js";import{p as i}from"./cli-main.js";import{g as l}from"../packem_shared/osv-bloom-BsQ-aFiM.js";const a=t=>{if(!t)return"never";const r=Date.parse(t);if(Number.isNaN(r))return t;const e=Date.now()-r;if(e<0)return t;const o=Math.floor(e/6e4);if(o<1)return"just now";if(o<60)return`${o}m ago`;const s=Math.floor(o/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`},m=t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,u=async({options:t,workspaceRoot:r})=>{if(!r)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const e=await l(r,t.cacheDir);if(t.format==="json"){process.stdout.write(`${JSON.stringify(e,void 0,2)}
1
+ import{s as c,E as n,I as f}from"../packem_shared/index.server-J83sowC4.js";import{p as i}from"./cli-main.js";import{g as l}from"../packem_shared/osv-bloom-DVMlkcAO.js";const a=t=>{if(!t)return"never";const r=Date.parse(t);if(Number.isNaN(r))return t;const e=Date.now()-r;if(e<0)return t;const o=Math.floor(e/6e4);if(o<1)return"just now";if(o<60)return`${o}m ago`;const s=Math.floor(o/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`},m=t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,u=async({options:t,workspaceRoot:r})=>{if(!r)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const e=await l(r,t.cacheDir);if(t.format==="json"){process.stdout.write(`${JSON.stringify(e,void 0,2)}
2
2
  `);return}if(i.info(`Cache: ${e.cacheDir}`),!e.present){i.warn(`No osv-bloom filter yet. Run ${c("vis advisories bloom sync")} to populate.`);return}if(e.manifest){const{manifest:o}=e;i.info(`Built: ${o.builtAtRfc3339} (${a(o.builtAtRfc3339)})`),i.info(`Fetch: ${e.fetchedAtIso??n("—")} (${a(e.fetchedAtIso)})`),i.info(`Filter: ${f(m(o.bloomByteLen))} m=${o.bloomMBits.toLocaleString()} bits k=${String(o.bloomKHashes)}`),i.info(`Set: ${o.entryCount.toLocaleString()} entries from ${o.advisoryCount.toLocaleString()} advisories (target FPR ${o.targetFpr})`),i.info(n(`Digest: ${o.setDigestSha256}`))}else i.warn("filter.bin present but manifest.json missing — `vis advisories bloom sync` will rewrite the cache.")},h=u;export{h as advisoriesBloomStatusExecute};
@@ -1,2 +1,2 @@
1
- import{E as m}from"../packem_shared/index.server-J83sowC4.js";import{p as i}from"./cli-main.js";import{s as p}from"../packem_shared/scan-progress-RTMsE3Z4.js";import{s as d,D}from"../packem_shared/osv-bloom-BsQ-aFiM.js";const b=o=>o?.security?.audit?.advisories?.bloom??{},u=o=>o>=1e3?`${(o/1e3).toFixed(1)}s`:`${Math.round(o)}ms`,y=o=>o<1024?`${o} B`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(1)} MB`,h=async({options:o,visConfig:f,workspaceRoot:a})=>{if(!a)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const n=o.format==="json",c=b(f),l=o.source??c.source??D,s=p([{id:"bloom",label:"Sync osv-bloom prefilter"}],{live:!n});let e,t;try{s.start("bloom");const r=Date.now();e=await d({allowedHosts:c.allowedHosts,cacheDir:o.cacheDir,force:!!o.force,source:l,workspaceRoot:a}),e.upToDate?s.finish("bloom","ok",`up to date · ${u(Date.now()-r)}`):s.finish("bloom","ok",`${e.manifest.entryCount.toLocaleString()} entries · ${y(e.bytesOnDisk)} · ${u(e.durationMs)}`)}catch(r){t=r instanceof Error?r.message:String(r),s.finish("bloom","error",t)}finally{s.stop()}n?process.stdout.write(`${JSON.stringify({bytesOnDisk:e?.bytesOnDisk??0,cacheDir:e?.cacheDir??null,durationMs:e?.durationMs??0,error:t??null,manifest:e?.manifest??null,source:l,upToDate:e?.upToDate??!1},void 0,2)}
1
+ import{E as m}from"../packem_shared/index.server-J83sowC4.js";import{p as i}from"./cli-main.js";import{s as p}from"../packem_shared/scan-progress-YRpDs90j.js";import{s as d,D}from"../packem_shared/osv-bloom-DVMlkcAO.js";const b=o=>o?.security?.audit?.advisories?.bloom??{},u=o=>o>=1e3?`${(o/1e3).toFixed(1)}s`:`${Math.round(o)}ms`,y=o=>o<1024?`${o} B`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(1)} MB`,h=async({options:o,visConfig:f,workspaceRoot:a})=>{if(!a)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const n=o.format==="json",c=b(f),l=o.source??c.source??D,s=p([{id:"bloom",label:"Sync osv-bloom prefilter"}],{live:!n});let e,t;try{s.start("bloom");const r=Date.now();e=await d({allowedHosts:c.allowedHosts,cacheDir:o.cacheDir,force:!!o.force,source:l,workspaceRoot:a}),e.upToDate?s.finish("bloom","ok",`up to date · ${u(Date.now()-r)}`):s.finish("bloom","ok",`${e.manifest.entryCount.toLocaleString()} entries · ${y(e.bytesOnDisk)} · ${u(e.durationMs)}`)}catch(r){t=r instanceof Error?r.message:String(r),s.finish("bloom","error",t)}finally{s.stop()}n?process.stdout.write(`${JSON.stringify({bytesOnDisk:e?.bytesOnDisk??0,cacheDir:e?.cacheDir??null,durationMs:e?.durationMs??0,error:t??null,manifest:e?.manifest??null,source:l,upToDate:e?.upToDate??!1},void 0,2)}
2
2
  `):e&&(i.info(m(`Cache: ${e.cacheDir}`)),i.info(m(`Built: ${e.manifest.builtAtRfc3339}`)),t||i.success(e.upToDate?"osv-bloom prefilter up to date.":"osv-bloom prefilter synced.")),t&&(process.exitCode=1)},O=h;export{O as advisoriesBloomSyncExecute};