@yugoo-design/companion 0.1.0-beta.2 → 0.1.0-beta.3

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 (648) hide show
  1. package/README.md +7 -3
  2. package/bin/design-system.mjs +8 -1
  3. package/bin/installer.mjs +17 -8
  4. package/bin/npm-installer-claude.mjs +2 -1
  5. package/bin/npm-installer-dsh-desktop.mjs +40 -10
  6. package/bin/npm-installer-dsh.mjs +98 -17
  7. package/bin/npm-runtime-check.mjs +75 -1
  8. package/bin/windows-native-platform.mjs +207 -0
  9. package/bin/windows-private-storage.mjs +110 -0
  10. package/licenses/third-party/index.json +14 -0
  11. package/licenses/third-party/pako-1.0.11/LICENSE +21 -0
  12. package/licenses/third-party/pako-1.0.11/SOURCE.md +17 -0
  13. package/licenses/third-party/pako-1.0.11/zlib-README +59 -0
  14. package/licenses/third-party/provenance.json +22 -0
  15. package/package.json +3 -2
  16. package/payload/overlays/claude-code/.claude-plugin/plugin.json +1 -1
  17. package/payload/overlays/codex/.codex-plugin/plugin.json +1 -1
  18. package/payload/overlays/qoder/.qoder-plugin/plugin.json +1 -1
  19. package/payload/shared/authoring/panel-components.json +40 -40
  20. package/payload/shared/bundles/business_rules/SKILL.md +1 -1
  21. package/payload/shared/bundles/flow_design/SKILL.md +2 -2
  22. package/payload/shared/bundles/flow_design/scripts/layout-metrics.mjs +5 -5
  23. package/payload/shared/bundles/flow_design/scripts/layout-search.mjs +5 -5
  24. package/payload/shared/bundles/flow_design/scripts/layout.mjs +6 -6
  25. package/payload/shared/bundles/notification_design/SKILL.md +1 -1
  26. package/payload/shared/bundles/quality_acceptance/SKILL.md +1 -1
  27. package/payload/shared/bundles/research/SKILL.md +3 -3
  28. package/payload/shared/bundles/role_access/SKILL.md +2 -2
  29. package/payload/shared/git-native/LICENSE +22 -0
  30. package/payload/shared/git-native/NOTICE +6 -0
  31. package/payload/shared/git-native/SOURCE.json +252 -0
  32. package/payload/shared/git-native/index.cjs +59 -0
  33. package/payload/shared/git-native/index.d.ts +2672 -0
  34. package/payload/shared/git-native/native/yugoo_git.linux-x64.node +0 -0
  35. package/payload/shared/git-native/native/yugoo_git.win32-x64.node +0 -0
  36. package/payload/shared/git-native/native-source/Cargo.lock +696 -0
  37. package/payload/shared/git-native/native-source/Cargo.toml +36 -0
  38. package/payload/shared/git-native/native-source/UPSTREAM.patch +162 -0
  39. package/payload/shared/git-native/native-source/build.rs +26 -0
  40. package/payload/shared/git-native/native-source/src/blame.rs +177 -0
  41. package/payload/shared/git-native/native-source/src/blob.rs +64 -0
  42. package/payload/shared/git-native/native-source/src/branch.rs +143 -0
  43. package/payload/shared/git-native/native-source/src/buffer_diff.rs +164 -0
  44. package/payload/shared/git-native/native-source/src/checkout.rs +58 -0
  45. package/payload/shared/git-native/native-source/src/commit.rs +339 -0
  46. package/payload/shared/git-native/native-source/src/config.rs +253 -0
  47. package/payload/shared/git-native/native-source/src/deltas.rs +292 -0
  48. package/payload/shared/git-native/native-source/src/diff.rs +94 -0
  49. package/payload/shared/git-native/native-source/src/error.rs +349 -0
  50. package/payload/shared/git-native/native-source/src/file_modification.rs +683 -0
  51. package/payload/shared/git-native/native-source/src/index.rs +114 -0
  52. package/payload/shared/git-native/native-source/src/lib.rs +37 -0
  53. package/payload/shared/git-native/native-source/src/object.rs +125 -0
  54. package/payload/shared/git-native/native-source/src/reference.rs +219 -0
  55. package/payload/shared/git-native/native-source/src/remote.rs +1393 -0
  56. package/payload/shared/git-native/native-source/src/repo.rs +2546 -0
  57. package/payload/shared/git-native/native-source/src/repo_builder.rs +158 -0
  58. package/payload/shared/git-native/native-source/src/rev_walk.rs +263 -0
  59. package/payload/shared/git-native/native-source/src/signature.rs +122 -0
  60. package/payload/shared/git-native/native-source/src/status.rs +114 -0
  61. package/payload/shared/git-native/native-source/src/tag.rs +78 -0
  62. package/payload/shared/git-native/native-source/src/tree.rs +298 -0
  63. package/payload/shared/git-native/native-source/src/tree_builder.rs +138 -0
  64. package/payload/shared/git-native/native-source/src/util.rs +20 -0
  65. package/payload/shared/git-native/package.json +27 -0
  66. package/payload/shared/git-native/runtime-manifest.json +1701 -0
  67. package/payload/shared/git-native/scripts/build.cjs +23 -0
  68. package/payload/shared/git-native/scripts/check-artifacts.cjs +20 -0
  69. package/payload/shared/git-native/third-party/CARGO-SOURCES.json +1651 -0
  70. package/payload/shared/git-native/third-party/javascript/abort-controller@3.0.0/LICENSE +21 -0
  71. package/payload/shared/git-native/third-party/javascript/abort-controller@3.0.0/README.md +98 -0
  72. package/payload/shared/git-native/third-party/javascript/abort-controller@3.0.0/SOURCE.json +25 -0
  73. package/payload/shared/git-native/third-party/javascript/abort-controller@3.0.0/package.json +97 -0
  74. package/payload/shared/git-native/third-party/javascript/async-lock@1.4.1/AUTHORS +21 -0
  75. package/payload/shared/git-native/third-party/javascript/async-lock@1.4.1/LICENSE +22 -0
  76. package/payload/shared/git-native/third-party/javascript/async-lock@1.4.1/README.md +177 -0
  77. package/payload/shared/git-native/third-party/javascript/async-lock@1.4.1/SOURCE.json +29 -0
  78. package/payload/shared/git-native/third-party/javascript/async-lock@1.4.1/package.json +48 -0
  79. package/payload/shared/git-native/third-party/javascript/available-typed-arrays@1.0.7/LICENSE +21 -0
  80. package/payload/shared/git-native/third-party/javascript/available-typed-arrays@1.0.7/README.md +55 -0
  81. package/payload/shared/git-native/third-party/javascript/available-typed-arrays@1.0.7/SOURCE.json +25 -0
  82. package/payload/shared/git-native/third-party/javascript/available-typed-arrays@1.0.7/package.json +93 -0
  83. package/payload/shared/git-native/third-party/javascript/base64-js@1.5.1/LICENSE +21 -0
  84. package/payload/shared/git-native/third-party/javascript/base64-js@1.5.1/README.md +34 -0
  85. package/payload/shared/git-native/third-party/javascript/base64-js@1.5.1/SOURCE.json +25 -0
  86. package/payload/shared/git-native/third-party/javascript/base64-js@1.5.1/package.json +47 -0
  87. package/payload/shared/git-native/third-party/javascript/buffer@6.0.3/AUTHORS.md +73 -0
  88. package/payload/shared/git-native/third-party/javascript/buffer@6.0.3/LICENSE +21 -0
  89. package/payload/shared/git-native/third-party/javascript/buffer@6.0.3/README.md +410 -0
  90. package/payload/shared/git-native/third-party/javascript/buffer@6.0.3/SOURCE.json +29 -0
  91. package/payload/shared/git-native/third-party/javascript/buffer@6.0.3/package.json +93 -0
  92. package/payload/shared/git-native/third-party/javascript/call-bind-apply-helpers@1.0.2/LICENSE +21 -0
  93. package/payload/shared/git-native/third-party/javascript/call-bind-apply-helpers@1.0.2/README.md +62 -0
  94. package/payload/shared/git-native/third-party/javascript/call-bind-apply-helpers@1.0.2/SOURCE.json +25 -0
  95. package/payload/shared/git-native/third-party/javascript/call-bind-apply-helpers@1.0.2/package.json +85 -0
  96. package/payload/shared/git-native/third-party/javascript/call-bind@1.0.9/LICENSE +21 -0
  97. package/payload/shared/git-native/third-party/javascript/call-bind@1.0.9/README.md +64 -0
  98. package/payload/shared/git-native/third-party/javascript/call-bind@1.0.9/SOURCE.json +25 -0
  99. package/payload/shared/git-native/third-party/javascript/call-bind@1.0.9/package.json +93 -0
  100. package/payload/shared/git-native/third-party/javascript/call-bound@1.0.4/LICENSE +21 -0
  101. package/payload/shared/git-native/third-party/javascript/call-bound@1.0.4/README.md +53 -0
  102. package/payload/shared/git-native/third-party/javascript/call-bound@1.0.4/SOURCE.json +25 -0
  103. package/payload/shared/git-native/third-party/javascript/call-bound@1.0.4/package.json +99 -0
  104. package/payload/shared/git-native/third-party/javascript/clean-git-ref@2.0.1/README.md +22 -0
  105. package/payload/shared/git-native/third-party/javascript/clean-git-ref@2.0.1/SOURCE.json +21 -0
  106. package/payload/shared/git-native/third-party/javascript/clean-git-ref@2.0.1/package.json +33 -0
  107. package/payload/shared/git-native/third-party/javascript/crc-32@1.2.2/LICENSE +201 -0
  108. package/payload/shared/git-native/third-party/javascript/crc-32@1.2.2/README.md +200 -0
  109. package/payload/shared/git-native/third-party/javascript/crc-32@1.2.2/SOURCE.json +25 -0
  110. package/payload/shared/git-native/third-party/javascript/crc-32@1.2.2/package.json +43 -0
  111. package/payload/shared/git-native/third-party/javascript/decompress-response@6.0.0/SOURCE.json +25 -0
  112. package/payload/shared/git-native/third-party/javascript/decompress-response@6.0.0/license +9 -0
  113. package/payload/shared/git-native/third-party/javascript/decompress-response@6.0.0/package.json +56 -0
  114. package/payload/shared/git-native/third-party/javascript/decompress-response@6.0.0/readme.md +48 -0
  115. package/payload/shared/git-native/third-party/javascript/define-data-property@1.1.4/LICENSE +21 -0
  116. package/payload/shared/git-native/third-party/javascript/define-data-property@1.1.4/README.md +67 -0
  117. package/payload/shared/git-native/third-party/javascript/define-data-property@1.1.4/SOURCE.json +25 -0
  118. package/payload/shared/git-native/third-party/javascript/define-data-property@1.1.4/package.json +106 -0
  119. package/payload/shared/git-native/third-party/javascript/diff3@0.0.3/README.md +28 -0
  120. package/payload/shared/git-native/third-party/javascript/diff3@0.0.3/SOURCE.json +29 -0
  121. package/payload/shared/git-native/third-party/javascript/diff3@0.0.3/diff3.js +271 -0
  122. package/payload/shared/git-native/third-party/javascript/diff3@0.0.3/onp.js +178 -0
  123. package/payload/shared/git-native/third-party/javascript/diff3@0.0.3/package.json +23 -0
  124. package/payload/shared/git-native/third-party/javascript/dunder-proto@1.0.1/LICENSE +21 -0
  125. package/payload/shared/git-native/third-party/javascript/dunder-proto@1.0.1/README.md +54 -0
  126. package/payload/shared/git-native/third-party/javascript/dunder-proto@1.0.1/SOURCE.json +25 -0
  127. package/payload/shared/git-native/third-party/javascript/dunder-proto@1.0.1/package.json +76 -0
  128. package/payload/shared/git-native/third-party/javascript/es-define-property@1.0.1/LICENSE +21 -0
  129. package/payload/shared/git-native/third-party/javascript/es-define-property@1.0.1/README.md +49 -0
  130. package/payload/shared/git-native/third-party/javascript/es-define-property@1.0.1/SOURCE.json +25 -0
  131. package/payload/shared/git-native/third-party/javascript/es-define-property@1.0.1/package.json +81 -0
  132. package/payload/shared/git-native/third-party/javascript/es-errors@1.3.0/LICENSE +21 -0
  133. package/payload/shared/git-native/third-party/javascript/es-errors@1.3.0/README.md +55 -0
  134. package/payload/shared/git-native/third-party/javascript/es-errors@1.3.0/SOURCE.json +25 -0
  135. package/payload/shared/git-native/third-party/javascript/es-errors@1.3.0/package.json +80 -0
  136. package/payload/shared/git-native/third-party/javascript/es-object-atoms@1.1.2/LICENSE +21 -0
  137. package/payload/shared/git-native/third-party/javascript/es-object-atoms@1.1.2/README.md +63 -0
  138. package/payload/shared/git-native/third-party/javascript/es-object-atoms@1.1.2/SOURCE.json +25 -0
  139. package/payload/shared/git-native/third-party/javascript/es-object-atoms@1.1.2/package.json +79 -0
  140. package/payload/shared/git-native/third-party/javascript/event-target-shim@5.0.1/LICENSE +22 -0
  141. package/payload/shared/git-native/third-party/javascript/event-target-shim@5.0.1/README.md +293 -0
  142. package/payload/shared/git-native/third-party/javascript/event-target-shim@5.0.1/SOURCE.json +25 -0
  143. package/payload/shared/git-native/third-party/javascript/event-target-shim@5.0.1/package.json +82 -0
  144. package/payload/shared/git-native/third-party/javascript/events@3.3.0/LICENSE +22 -0
  145. package/payload/shared/git-native/third-party/javascript/events@3.3.0/Readme.md +50 -0
  146. package/payload/shared/git-native/third-party/javascript/events@3.3.0/SOURCE.json +25 -0
  147. package/payload/shared/git-native/third-party/javascript/events@3.3.0/package.json +37 -0
  148. package/payload/shared/git-native/third-party/javascript/for-each@0.3.5/LICENSE +22 -0
  149. package/payload/shared/git-native/third-party/javascript/for-each@0.3.5/README.md +39 -0
  150. package/payload/shared/git-native/third-party/javascript/for-each@0.3.5/SOURCE.json +25 -0
  151. package/payload/shared/git-native/third-party/javascript/for-each@0.3.5/package.json +76 -0
  152. package/payload/shared/git-native/third-party/javascript/function-bind@1.1.2/LICENSE +20 -0
  153. package/payload/shared/git-native/third-party/javascript/function-bind@1.1.2/README.md +46 -0
  154. package/payload/shared/git-native/third-party/javascript/function-bind@1.1.2/SOURCE.json +25 -0
  155. package/payload/shared/git-native/third-party/javascript/function-bind@1.1.2/package.json +87 -0
  156. package/payload/shared/git-native/third-party/javascript/get-intrinsic@1.3.0/LICENSE +21 -0
  157. package/payload/shared/git-native/third-party/javascript/get-intrinsic@1.3.0/README.md +71 -0
  158. package/payload/shared/git-native/third-party/javascript/get-intrinsic@1.3.0/SOURCE.json +25 -0
  159. package/payload/shared/git-native/third-party/javascript/get-intrinsic@1.3.0/package.json +97 -0
  160. package/payload/shared/git-native/third-party/javascript/get-proto@1.0.1/LICENSE +21 -0
  161. package/payload/shared/git-native/third-party/javascript/get-proto@1.0.1/README.md +50 -0
  162. package/payload/shared/git-native/third-party/javascript/get-proto@1.0.1/SOURCE.json +25 -0
  163. package/payload/shared/git-native/third-party/javascript/get-proto@1.0.1/package.json +81 -0
  164. package/payload/shared/git-native/third-party/javascript/gopd@1.2.0/LICENSE +21 -0
  165. package/payload/shared/git-native/third-party/javascript/gopd@1.2.0/README.md +40 -0
  166. package/payload/shared/git-native/third-party/javascript/gopd@1.2.0/SOURCE.json +25 -0
  167. package/payload/shared/git-native/third-party/javascript/gopd@1.2.0/package.json +77 -0
  168. package/payload/shared/git-native/third-party/javascript/has-property-descriptors@1.0.2/LICENSE +21 -0
  169. package/payload/shared/git-native/third-party/javascript/has-property-descriptors@1.0.2/README.md +43 -0
  170. package/payload/shared/git-native/third-party/javascript/has-property-descriptors@1.0.2/SOURCE.json +25 -0
  171. package/payload/shared/git-native/third-party/javascript/has-property-descriptors@1.0.2/package.json +77 -0
  172. package/payload/shared/git-native/third-party/javascript/has-symbols@1.1.0/LICENSE +21 -0
  173. package/payload/shared/git-native/third-party/javascript/has-symbols@1.1.0/README.md +46 -0
  174. package/payload/shared/git-native/third-party/javascript/has-symbols@1.1.0/SOURCE.json +25 -0
  175. package/payload/shared/git-native/third-party/javascript/has-symbols@1.1.0/package.json +111 -0
  176. package/payload/shared/git-native/third-party/javascript/has-tostringtag@1.0.2/LICENSE +21 -0
  177. package/payload/shared/git-native/third-party/javascript/has-tostringtag@1.0.2/README.md +46 -0
  178. package/payload/shared/git-native/third-party/javascript/has-tostringtag@1.0.2/SOURCE.json +25 -0
  179. package/payload/shared/git-native/third-party/javascript/has-tostringtag@1.0.2/package.json +108 -0
  180. package/payload/shared/git-native/third-party/javascript/hasown@2.0.4/LICENSE +21 -0
  181. package/payload/shared/git-native/third-party/javascript/hasown@2.0.4/README.md +40 -0
  182. package/payload/shared/git-native/third-party/javascript/hasown@2.0.4/SOURCE.json +25 -0
  183. package/payload/shared/git-native/third-party/javascript/hasown@2.0.4/package.json +91 -0
  184. package/payload/shared/git-native/third-party/javascript/iconv-lite@0.7.3/LICENSE +21 -0
  185. package/payload/shared/git-native/third-party/javascript/iconv-lite@0.7.3/README.md +138 -0
  186. package/payload/shared/git-native/third-party/javascript/iconv-lite@0.7.3/SOURCE.json +25 -0
  187. package/payload/shared/git-native/third-party/javascript/iconv-lite@0.7.3/package.json +70 -0
  188. package/payload/shared/git-native/third-party/javascript/ieee754@1.2.1/LICENSE +11 -0
  189. package/payload/shared/git-native/third-party/javascript/ieee754@1.2.1/README.md +51 -0
  190. package/payload/shared/git-native/third-party/javascript/ieee754@1.2.1/SOURCE.json +25 -0
  191. package/payload/shared/git-native/third-party/javascript/ieee754@1.2.1/package.json +52 -0
  192. package/payload/shared/git-native/third-party/javascript/ignore@5.3.2/LICENSE-MIT +21 -0
  193. package/payload/shared/git-native/third-party/javascript/ignore@5.3.2/README.md +412 -0
  194. package/payload/shared/git-native/third-party/javascript/ignore@5.3.2/SOURCE.json +25 -0
  195. package/payload/shared/git-native/third-party/javascript/ignore@5.3.2/package.json +74 -0
  196. package/payload/shared/git-native/third-party/javascript/inherits@2.0.4/LICENSE +16 -0
  197. package/payload/shared/git-native/third-party/javascript/inherits@2.0.4/README.md +42 -0
  198. package/payload/shared/git-native/third-party/javascript/inherits@2.0.4/SOURCE.json +25 -0
  199. package/payload/shared/git-native/third-party/javascript/inherits@2.0.4/package.json +29 -0
  200. package/payload/shared/git-native/third-party/javascript/is-callable@1.2.7/LICENSE +22 -0
  201. package/payload/shared/git-native/third-party/javascript/is-callable@1.2.7/README.md +83 -0
  202. package/payload/shared/git-native/third-party/javascript/is-callable@1.2.7/SOURCE.json +25 -0
  203. package/payload/shared/git-native/third-party/javascript/is-callable@1.2.7/package.json +106 -0
  204. package/payload/shared/git-native/third-party/javascript/is-typed-array@1.1.15/LICENSE +22 -0
  205. package/payload/shared/git-native/third-party/javascript/is-typed-array@1.1.15/README.md +70 -0
  206. package/payload/shared/git-native/third-party/javascript/is-typed-array@1.1.15/SOURCE.json +25 -0
  207. package/payload/shared/git-native/third-party/javascript/is-typed-array@1.1.15/package.json +129 -0
  208. package/payload/shared/git-native/third-party/javascript/isarray@2.0.5/LICENSE +21 -0
  209. package/payload/shared/git-native/third-party/javascript/isarray@2.0.5/README.md +38 -0
  210. package/payload/shared/git-native/third-party/javascript/isarray@2.0.5/SOURCE.json +25 -0
  211. package/payload/shared/git-native/third-party/javascript/isarray@2.0.5/package.json +48 -0
  212. package/payload/shared/git-native/third-party/javascript/isomorphic-git@1.44.2/LICENSE.md +7 -0
  213. package/payload/shared/git-native/third-party/javascript/isomorphic-git@1.44.2/README.md +510 -0
  214. package/payload/shared/git-native/third-party/javascript/isomorphic-git@1.44.2/SOURCE.json +25 -0
  215. package/payload/shared/git-native/third-party/javascript/isomorphic-git@1.44.2/package.json +189 -0
  216. package/payload/shared/git-native/third-party/javascript/math-intrinsics@1.1.0/LICENSE +21 -0
  217. package/payload/shared/git-native/third-party/javascript/math-intrinsics@1.1.0/README.md +50 -0
  218. package/payload/shared/git-native/third-party/javascript/math-intrinsics@1.1.0/SOURCE.json +25 -0
  219. package/payload/shared/git-native/third-party/javascript/math-intrinsics@1.1.0/package.json +86 -0
  220. package/payload/shared/git-native/third-party/javascript/mimic-response@3.1.0/SOURCE.json +25 -0
  221. package/payload/shared/git-native/third-party/javascript/mimic-response@3.1.0/license +9 -0
  222. package/payload/shared/git-native/third-party/javascript/mimic-response@3.1.0/package.json +42 -0
  223. package/payload/shared/git-native/third-party/javascript/mimic-response@3.1.0/readme.md +78 -0
  224. package/payload/shared/git-native/third-party/javascript/minimist@1.2.8/LICENSE +18 -0
  225. package/payload/shared/git-native/third-party/javascript/minimist@1.2.8/README.md +121 -0
  226. package/payload/shared/git-native/third-party/javascript/minimist@1.2.8/SOURCE.json +25 -0
  227. package/payload/shared/git-native/third-party/javascript/minimist@1.2.8/package.json +75 -0
  228. package/payload/shared/git-native/third-party/javascript/minimisted@2.0.1/README.md +58 -0
  229. package/payload/shared/git-native/third-party/javascript/minimisted@2.0.1/SOURCE.json +21 -0
  230. package/payload/shared/git-native/third-party/javascript/minimisted@2.0.1/package.json +32 -0
  231. package/payload/shared/git-native/third-party/javascript/once@1.4.0/LICENSE +15 -0
  232. package/payload/shared/git-native/third-party/javascript/once@1.4.0/README.md +79 -0
  233. package/payload/shared/git-native/third-party/javascript/once@1.4.0/SOURCE.json +25 -0
  234. package/payload/shared/git-native/third-party/javascript/once@1.4.0/package.json +33 -0
  235. package/payload/shared/git-native/third-party/javascript/pako@1.0.11/LICENSE +21 -0
  236. package/payload/shared/git-native/third-party/javascript/pako@1.0.11/README.md +191 -0
  237. package/payload/shared/git-native/third-party/javascript/pako@1.0.11/SOURCE.json +25 -0
  238. package/payload/shared/git-native/third-party/javascript/pako@1.0.11/package.json +44 -0
  239. package/payload/shared/git-native/third-party/javascript/pify@4.0.1/SOURCE.json +25 -0
  240. package/payload/shared/git-native/third-party/javascript/pify@4.0.1/license +9 -0
  241. package/payload/shared/git-native/third-party/javascript/pify@4.0.1/package.json +51 -0
  242. package/payload/shared/git-native/third-party/javascript/pify@4.0.1/readme.md +145 -0
  243. package/payload/shared/git-native/third-party/javascript/possible-typed-array-names@1.1.0/LICENSE +21 -0
  244. package/payload/shared/git-native/third-party/javascript/possible-typed-array-names@1.1.0/README.md +50 -0
  245. package/payload/shared/git-native/third-party/javascript/possible-typed-array-names@1.1.0/SOURCE.json +25 -0
  246. package/payload/shared/git-native/third-party/javascript/possible-typed-array-names@1.1.0/package.json +84 -0
  247. package/payload/shared/git-native/third-party/javascript/process@0.11.10/LICENSE +22 -0
  248. package/payload/shared/git-native/third-party/javascript/process@0.11.10/README.md +26 -0
  249. package/payload/shared/git-native/third-party/javascript/process@0.11.10/SOURCE.json +25 -0
  250. package/payload/shared/git-native/third-party/javascript/process@0.11.10/package.json +27 -0
  251. package/payload/shared/git-native/third-party/javascript/readable-stream@4.8.0/LICENSE +47 -0
  252. package/payload/shared/git-native/third-party/javascript/readable-stream@4.8.0/README.md +116 -0
  253. package/payload/shared/git-native/third-party/javascript/readable-stream@4.8.0/SOURCE.json +25 -0
  254. package/payload/shared/git-native/third-party/javascript/readable-stream@4.8.0/package.json +89 -0
  255. package/payload/shared/git-native/third-party/javascript/safe-buffer@5.2.1/LICENSE +21 -0
  256. package/payload/shared/git-native/third-party/javascript/safe-buffer@5.2.1/README.md +584 -0
  257. package/payload/shared/git-native/third-party/javascript/safe-buffer@5.2.1/SOURCE.json +25 -0
  258. package/payload/shared/git-native/third-party/javascript/safe-buffer@5.2.1/package.json +51 -0
  259. package/payload/shared/git-native/third-party/javascript/safer-buffer@2.1.2/LICENSE +21 -0
  260. package/payload/shared/git-native/third-party/javascript/safer-buffer@2.1.2/Readme.md +156 -0
  261. package/payload/shared/git-native/third-party/javascript/safer-buffer@2.1.2/SOURCE.json +25 -0
  262. package/payload/shared/git-native/third-party/javascript/safer-buffer@2.1.2/package.json +34 -0
  263. package/payload/shared/git-native/third-party/javascript/set-function-length@1.2.2/LICENSE +21 -0
  264. package/payload/shared/git-native/third-party/javascript/set-function-length@1.2.2/README.md +56 -0
  265. package/payload/shared/git-native/third-party/javascript/set-function-length@1.2.2/SOURCE.json +25 -0
  266. package/payload/shared/git-native/third-party/javascript/set-function-length@1.2.2/package.json +102 -0
  267. package/payload/shared/git-native/third-party/javascript/sha.js@2.4.12/LICENSE +49 -0
  268. package/payload/shared/git-native/third-party/javascript/sha.js@2.4.12/README.md +44 -0
  269. package/payload/shared/git-native/third-party/javascript/sha.js@2.4.12/SOURCE.json +25 -0
  270. package/payload/shared/git-native/third-party/javascript/sha.js@2.4.12/package.json +58 -0
  271. package/payload/shared/git-native/third-party/javascript/simple-concat@1.0.1/LICENSE +20 -0
  272. package/payload/shared/git-native/third-party/javascript/simple-concat@1.0.1/README.md +44 -0
  273. package/payload/shared/git-native/third-party/javascript/simple-concat@1.0.1/SOURCE.json +25 -0
  274. package/payload/shared/git-native/third-party/javascript/simple-concat@1.0.1/package.json +47 -0
  275. package/payload/shared/git-native/third-party/javascript/simple-get@4.0.1/LICENSE +20 -0
  276. package/payload/shared/git-native/third-party/javascript/simple-get@4.0.1/README.md +333 -0
  277. package/payload/shared/git-native/third-party/javascript/simple-get@4.0.1/SOURCE.json +25 -0
  278. package/payload/shared/git-native/third-party/javascript/simple-get@4.0.1/package.json +67 -0
  279. package/payload/shared/git-native/third-party/javascript/string_decoder@1.3.0/LICENSE +48 -0
  280. package/payload/shared/git-native/third-party/javascript/string_decoder@1.3.0/README.md +47 -0
  281. package/payload/shared/git-native/third-party/javascript/string_decoder@1.3.0/SOURCE.json +25 -0
  282. package/payload/shared/git-native/third-party/javascript/string_decoder@1.3.0/package.json +34 -0
  283. package/payload/shared/git-native/third-party/javascript/to-buffer@1.2.2/LICENSE +21 -0
  284. package/payload/shared/git-native/third-party/javascript/to-buffer@1.2.2/README.md +44 -0
  285. package/payload/shared/git-native/third-party/javascript/to-buffer@1.2.2/SOURCE.json +25 -0
  286. package/payload/shared/git-native/third-party/javascript/to-buffer@1.2.2/package.json +62 -0
  287. package/payload/shared/git-native/third-party/javascript/typed-array-buffer@1.0.3/LICENSE +21 -0
  288. package/payload/shared/git-native/third-party/javascript/typed-array-buffer@1.0.3/README.md +42 -0
  289. package/payload/shared/git-native/third-party/javascript/typed-array-buffer@1.0.3/SOURCE.json +25 -0
  290. package/payload/shared/git-native/third-party/javascript/typed-array-buffer@1.0.3/package.json +82 -0
  291. package/payload/shared/git-native/third-party/javascript/which-typed-array@1.1.24/LICENSE +22 -0
  292. package/payload/shared/git-native/third-party/javascript/which-typed-array@1.1.24/README.md +68 -0
  293. package/payload/shared/git-native/third-party/javascript/which-typed-array@1.1.24/SOURCE.json +25 -0
  294. package/payload/shared/git-native/third-party/javascript/which-typed-array@1.1.24/package.json +131 -0
  295. package/payload/shared/git-native/third-party/javascript/wrappy@1.0.2/LICENSE +15 -0
  296. package/payload/shared/git-native/third-party/javascript/wrappy@1.0.2/README.md +36 -0
  297. package/payload/shared/git-native/third-party/javascript/wrappy@1.0.2/SOURCE.json +25 -0
  298. package/payload/shared/git-native/third-party/javascript/wrappy@1.0.2/package.json +29 -0
  299. package/payload/shared/git-native/third-party/licenses/android_system_properties-0.1.6/LICENSE-APACHE +13 -0
  300. package/payload/shared/git-native/third-party/licenses/android_system_properties-0.1.6/LICENSE-MIT +20 -0
  301. package/payload/shared/git-native/third-party/licenses/autocfg-1.5.1/LICENSE-APACHE +201 -0
  302. package/payload/shared/git-native/third-party/licenses/autocfg-1.5.1/LICENSE-MIT +25 -0
  303. package/payload/shared/git-native/third-party/licenses/bitflags-2.13.2/LICENSE-APACHE +201 -0
  304. package/payload/shared/git-native/third-party/licenses/bitflags-2.13.2/LICENSE-MIT +25 -0
  305. package/payload/shared/git-native/third-party/licenses/bumpalo-3.20.3/LICENSE-APACHE +201 -0
  306. package/payload/shared/git-native/third-party/licenses/bumpalo-3.20.3/LICENSE-MIT +25 -0
  307. package/payload/shared/git-native/third-party/licenses/cc-1.8.0/LICENSE-APACHE +201 -0
  308. package/payload/shared/git-native/third-party/licenses/cc-1.8.0/LICENSE-MIT +25 -0
  309. package/payload/shared/git-native/third-party/licenses/cfg-if-1.0.5/LICENSE-APACHE +201 -0
  310. package/payload/shared/git-native/third-party/licenses/cfg-if-1.0.5/LICENSE-MIT +25 -0
  311. package/payload/shared/git-native/third-party/licenses/chrono-0.4.45/LICENSE.txt +240 -0
  312. package/payload/shared/git-native/third-party/licenses/convert_case-0.12.0/LICENSE +21 -0
  313. package/payload/shared/git-native/third-party/licenses/core-foundation-sys-0.8.7/LICENSE-APACHE +201 -0
  314. package/payload/shared/git-native/third-party/licenses/core-foundation-sys-0.8.7/LICENSE-MIT +25 -0
  315. package/payload/shared/git-native/third-party/licenses/ctor-1.0.13/LICENSE-APACHE +201 -0
  316. package/payload/shared/git-native/third-party/licenses/ctor-1.0.13/LICENSE-MIT +5 -0
  317. package/payload/shared/git-native/third-party/licenses/dirs-6.0.0/LICENSE-APACHE +174 -0
  318. package/payload/shared/git-native/third-party/licenses/dirs-6.0.0/LICENSE-MIT +19 -0
  319. package/payload/shared/git-native/third-party/licenses/dirs-sys-0.5.0/LICENSE-APACHE +174 -0
  320. package/payload/shared/git-native/third-party/licenses/dirs-sys-0.5.0/LICENSE-MIT +19 -0
  321. package/payload/shared/git-native/third-party/licenses/find-msvc-tools-0.1.14/LICENSE-APACHE +201 -0
  322. package/payload/shared/git-native/third-party/licenses/find-msvc-tools-0.1.14/LICENSE-MIT +25 -0
  323. package/payload/shared/git-native/third-party/licenses/futures-0.3.34/LICENSE-APACHE +202 -0
  324. package/payload/shared/git-native/third-party/licenses/futures-0.3.34/LICENSE-MIT +26 -0
  325. package/payload/shared/git-native/third-party/licenses/futures-channel-0.3.34/LICENSE-APACHE +202 -0
  326. package/payload/shared/git-native/third-party/licenses/futures-channel-0.3.34/LICENSE-MIT +26 -0
  327. package/payload/shared/git-native/third-party/licenses/futures-core-0.3.34/LICENSE-APACHE +202 -0
  328. package/payload/shared/git-native/third-party/licenses/futures-core-0.3.34/LICENSE-MIT +26 -0
  329. package/payload/shared/git-native/third-party/licenses/futures-executor-0.3.34/LICENSE-APACHE +202 -0
  330. package/payload/shared/git-native/third-party/licenses/futures-executor-0.3.34/LICENSE-MIT +26 -0
  331. package/payload/shared/git-native/third-party/licenses/futures-io-0.3.34/LICENSE-APACHE +202 -0
  332. package/payload/shared/git-native/third-party/licenses/futures-io-0.3.34/LICENSE-MIT +26 -0
  333. package/payload/shared/git-native/third-party/licenses/futures-macro-0.3.34/LICENSE-APACHE +202 -0
  334. package/payload/shared/git-native/third-party/licenses/futures-macro-0.3.34/LICENSE-MIT +26 -0
  335. package/payload/shared/git-native/third-party/licenses/futures-sink-0.3.34/LICENSE-APACHE +202 -0
  336. package/payload/shared/git-native/third-party/licenses/futures-sink-0.3.34/LICENSE-MIT +26 -0
  337. package/payload/shared/git-native/third-party/licenses/futures-task-0.3.34/LICENSE-APACHE +202 -0
  338. package/payload/shared/git-native/third-party/licenses/futures-task-0.3.34/LICENSE-MIT +26 -0
  339. package/payload/shared/git-native/third-party/licenses/futures-util-0.3.34/LICENSE-APACHE +202 -0
  340. package/payload/shared/git-native/third-party/licenses/futures-util-0.3.34/LICENSE-MIT +26 -0
  341. package/payload/shared/git-native/third-party/licenses/getrandom-0.4.3/LICENSE-APACHE +201 -0
  342. package/payload/shared/git-native/third-party/licenses/getrandom-0.4.3/LICENSE-MIT +26 -0
  343. package/payload/shared/git-native/third-party/licenses/git2-0.21.0/LICENSE-APACHE +201 -0
  344. package/payload/shared/git-native/third-party/licenses/git2-0.21.0/LICENSE-MIT +25 -0
  345. package/payload/shared/git-native/third-party/licenses/home-0.5.12/LICENSE-APACHE +201 -0
  346. package/payload/shared/git-native/third-party/licenses/home-0.5.12/LICENSE-MIT +23 -0
  347. package/payload/shared/git-native/third-party/licenses/iana-time-zone-0.1.65/LICENSE-APACHE +201 -0
  348. package/payload/shared/git-native/third-party/licenses/iana-time-zone-0.1.65/LICENSE-MIT +25 -0
  349. package/payload/shared/git-native/third-party/licenses/iana-time-zone-haiku-0.1.2/LICENSE-APACHE +201 -0
  350. package/payload/shared/git-native/third-party/licenses/iana-time-zone-haiku-0.1.2/LICENSE-MIT +25 -0
  351. package/payload/shared/git-native/third-party/licenses/jobserver-0.1.35/LICENSE-APACHE +201 -0
  352. package/payload/shared/git-native/third-party/licenses/jobserver-0.1.35/LICENSE-MIT +25 -0
  353. package/payload/shared/git-native/third-party/licenses/js-sys-0.3.106/LICENSE-APACHE +201 -0
  354. package/payload/shared/git-native/third-party/licenses/js-sys-0.3.106/LICENSE-MIT +25 -0
  355. package/payload/shared/git-native/third-party/licenses/libc-0.2.190/LICENSE-APACHE +176 -0
  356. package/payload/shared/git-native/third-party/licenses/libc-0.2.190/LICENSE-MIT +25 -0
  357. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/LICENSE-APACHE +201 -0
  358. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/LICENSE-MIT +25 -0
  359. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/libgit2/COPYING +1482 -0
  360. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  361. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/libgit2/deps/pcre2/LICENCE.md +104 -0
  362. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/libgit2/deps/winhttp/COPYING.GPL +993 -0
  363. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/libgit2/deps/winhttp/COPYING.LGPL +502 -0
  364. package/payload/shared/git-native/third-party/licenses/libgit2-sys-0.18.8+1.9.7/libgit2/deps/zlib/LICENSE +22 -0
  365. package/payload/shared/git-native/third-party/licenses/libloading-0.9.0/LICENSE +12 -0
  366. package/payload/shared/git-native/third-party/licenses/libredox-0.1.25/LICENSE +21 -0
  367. package/payload/shared/git-native/third-party/licenses/libz-sys-1.1.30/LICENSE-APACHE +201 -0
  368. package/payload/shared/git-native/third-party/licenses/libz-sys-1.1.30/LICENSE-MIT +26 -0
  369. package/payload/shared/git-native/third-party/licenses/libz-sys-1.1.30/src/zlib/LICENSE +22 -0
  370. package/payload/shared/git-native/third-party/licenses/libz-sys-1.1.30/src/zlib/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  371. package/payload/shared/git-native/third-party/licenses/libz-sys-1.1.30/src/zlib/contrib/minizip/LICENSE.Info-Zip +58 -0
  372. package/payload/shared/git-native/third-party/licenses/libz-sys-1.1.30/src/zlib-ng/LICENSE.md +19 -0
  373. package/payload/shared/git-native/third-party/licenses/log-0.4.34/LICENSE-APACHE +201 -0
  374. package/payload/shared/git-native/third-party/licenses/log-0.4.34/LICENSE-MIT +25 -0
  375. package/payload/shared/git-native/third-party/licenses/memchr-2.8.3/COPYING +3 -0
  376. package/payload/shared/git-native/third-party/licenses/memchr-2.8.3/LICENSE-MIT +21 -0
  377. package/payload/shared/git-native/third-party/licenses/napi-3.14.2/LICENSE +43 -0
  378. package/payload/shared/git-native/third-party/licenses/napi-build-2.6.0/LICENSE +43 -0
  379. package/payload/shared/git-native/third-party/licenses/napi-derive-3.6.12/LICENSE +43 -0
  380. package/payload/shared/git-native/third-party/licenses/napi-derive-backend-6.1.5/LICENSE +43 -0
  381. package/payload/shared/git-native/third-party/licenses/napi-sys-3.4.0/LICENSE +43 -0
  382. package/payload/shared/git-native/third-party/licenses/nohash-hasher-0.2.0/LICENSE-APACHE +202 -0
  383. package/payload/shared/git-native/third-party/licenses/nohash-hasher-0.2.0/LICENSE-MIT +18 -0
  384. package/payload/shared/git-native/third-party/licenses/num-traits-0.2.19/LICENSE-APACHE +201 -0
  385. package/payload/shared/git-native/third-party/licenses/num-traits-0.2.19/LICENSE-MIT +25 -0
  386. package/payload/shared/git-native/third-party/licenses/once_cell-1.21.4/LICENSE-APACHE +201 -0
  387. package/payload/shared/git-native/third-party/licenses/once_cell-1.21.4/LICENSE-MIT +23 -0
  388. package/payload/shared/git-native/third-party/licenses/option-ext-0.2.0/LICENSE.txt +373 -0
  389. package/payload/shared/git-native/third-party/licenses/pin-project-lite-0.2.17/LICENSE-APACHE +177 -0
  390. package/payload/shared/git-native/third-party/licenses/pin-project-lite-0.2.17/LICENSE-MIT +23 -0
  391. package/payload/shared/git-native/third-party/licenses/pkg-config-0.3.34/LICENSE-APACHE +201 -0
  392. package/payload/shared/git-native/third-party/licenses/pkg-config-0.3.34/LICENSE-MIT +25 -0
  393. package/payload/shared/git-native/third-party/licenses/proc-macro2-1.0.107/LICENSE-APACHE +176 -0
  394. package/payload/shared/git-native/third-party/licenses/proc-macro2-1.0.107/LICENSE-MIT +23 -0
  395. package/payload/shared/git-native/third-party/licenses/quote-1.0.47/LICENSE-APACHE +176 -0
  396. package/payload/shared/git-native/third-party/licenses/quote-1.0.47/LICENSE-MIT +23 -0
  397. package/payload/shared/git-native/third-party/licenses/redox_users-0.5.3/LICENSE +22 -0
  398. package/payload/shared/git-native/third-party/licenses/rustc-hash-2.1.3/LICENSE-APACHE +176 -0
  399. package/payload/shared/git-native/third-party/licenses/rustc-hash-2.1.3/LICENSE-MIT +23 -0
  400. package/payload/shared/git-native/third-party/licenses/rustversion-1.0.23/LICENSE-APACHE +176 -0
  401. package/payload/shared/git-native/third-party/licenses/rustversion-1.0.23/LICENSE-MIT +23 -0
  402. package/payload/shared/git-native/third-party/licenses/semver-1.0.28/LICENSE-APACHE +176 -0
  403. package/payload/shared/git-native/third-party/licenses/semver-1.0.28/LICENSE-MIT +23 -0
  404. package/payload/shared/git-native/third-party/licenses/shlex-2.0.1/LICENSE-APACHE +13 -0
  405. package/payload/shared/git-native/third-party/licenses/shlex-2.0.1/LICENSE-MIT +21 -0
  406. package/payload/shared/git-native/third-party/licenses/slab-0.4.12/LICENSE +25 -0
  407. package/payload/shared/git-native/third-party/licenses/syn-2.0.119/LICENSE-APACHE +176 -0
  408. package/payload/shared/git-native/third-party/licenses/syn-2.0.119/LICENSE-MIT +23 -0
  409. package/payload/shared/git-native/third-party/licenses/syn-3.0.9/LICENSE-APACHE +176 -0
  410. package/payload/shared/git-native/third-party/licenses/syn-3.0.9/LICENSE-MIT +23 -0
  411. package/payload/shared/git-native/third-party/licenses/thiserror-2.0.21/LICENSE-APACHE +176 -0
  412. package/payload/shared/git-native/third-party/licenses/thiserror-2.0.21/LICENSE-MIT +23 -0
  413. package/payload/shared/git-native/third-party/licenses/thiserror-impl-2.0.21/LICENSE-APACHE +176 -0
  414. package/payload/shared/git-native/third-party/licenses/thiserror-impl-2.0.21/LICENSE-MIT +23 -0
  415. package/payload/shared/git-native/third-party/licenses/tokio-1.53.3/LICENSE +21 -0
  416. package/payload/shared/git-native/third-party/licenses/unicode-ident-1.0.27/LICENSE-APACHE +176 -0
  417. package/payload/shared/git-native/third-party/licenses/unicode-ident-1.0.27/LICENSE-MIT +23 -0
  418. package/payload/shared/git-native/third-party/licenses/unicode-ident-1.0.27/LICENSE-UNICODE +39 -0
  419. package/payload/shared/git-native/third-party/licenses/unicode-segmentation-1.13.3/COPYRIGHT +7 -0
  420. package/payload/shared/git-native/third-party/licenses/unicode-segmentation-1.13.3/LICENSE-APACHE +201 -0
  421. package/payload/shared/git-native/third-party/licenses/unicode-segmentation-1.13.3/LICENSE-MIT +25 -0
  422. package/payload/shared/git-native/third-party/licenses/vcpkg-0.2.15/LICENSE-APACHE +202 -0
  423. package/payload/shared/git-native/third-party/licenses/vcpkg-0.2.15/LICENSE-MIT +26 -0
  424. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-0.2.129/LICENSE-APACHE +201 -0
  425. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-0.2.129/LICENSE-MIT +25 -0
  426. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-macro-0.2.129/LICENSE-APACHE +201 -0
  427. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-macro-0.2.129/LICENSE-MIT +25 -0
  428. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-macro-support-0.2.129/LICENSE-APACHE +201 -0
  429. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-macro-support-0.2.129/LICENSE-MIT +25 -0
  430. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-shared-0.2.129/LICENSE-APACHE +201 -0
  431. package/payload/shared/git-native/third-party/licenses/wasm-bindgen-shared-0.2.129/LICENSE-MIT +25 -0
  432. package/payload/shared/git-native/third-party/licenses/windows-core-0.62.2/license-apache-2.0 +201 -0
  433. package/payload/shared/git-native/third-party/licenses/windows-core-0.62.2/license-mit +21 -0
  434. package/payload/shared/git-native/third-party/licenses/windows-implement-0.60.2/license-apache-2.0 +201 -0
  435. package/payload/shared/git-native/third-party/licenses/windows-implement-0.60.2/license-mit +21 -0
  436. package/payload/shared/git-native/third-party/licenses/windows-interface-0.59.3/license-apache-2.0 +201 -0
  437. package/payload/shared/git-native/third-party/licenses/windows-interface-0.59.3/license-mit +21 -0
  438. package/payload/shared/git-native/third-party/licenses/windows-link-0.2.1/license-apache-2.0 +201 -0
  439. package/payload/shared/git-native/third-party/licenses/windows-link-0.2.1/license-mit +21 -0
  440. package/payload/shared/git-native/third-party/licenses/windows-result-0.4.1/license-apache-2.0 +201 -0
  441. package/payload/shared/git-native/third-party/licenses/windows-result-0.4.1/license-mit +21 -0
  442. package/payload/shared/git-native/third-party/licenses/windows-strings-0.5.1/license-apache-2.0 +201 -0
  443. package/payload/shared/git-native/third-party/licenses/windows-strings-0.5.1/license-mit +21 -0
  444. package/payload/shared/git-native/third-party/licenses/windows-sys-0.61.2/license-apache-2.0 +201 -0
  445. package/payload/shared/git-native/third-party/licenses/windows-sys-0.61.2/license-mit +21 -0
  446. package/payload/shared/git-native/third-party/rust-stdlib/rust-std-1.99.1-x86_64-pc-windows-msvc/COPYRIGHT +34 -0
  447. package/payload/shared/git-native/third-party/rust-stdlib/rust-std-1.99.1-x86_64-pc-windows-msvc/LICENSE-APACHE +176 -0
  448. package/payload/shared/git-native/third-party/rust-stdlib/rust-std-1.99.1-x86_64-pc-windows-msvc/LICENSE-MIT +25 -0
  449. package/payload/shared/git-native/third-party/rust-stdlib/rust-std-1.99.1-x86_64-unknown-linux-gnu/COPYRIGHT +34 -0
  450. package/payload/shared/git-native/third-party/rust-stdlib/rust-std-1.99.1-x86_64-unknown-linux-gnu/LICENSE-APACHE +176 -0
  451. package/payload/shared/git-native/third-party/rust-stdlib/rust-std-1.99.1-x86_64-unknown-linux-gnu/LICENSE-MIT +25 -0
  452. package/payload/shared/kits/web_app/mindset.md +42 -9
  453. package/payload/shared/knowledge/cli-lifecycle.mjs +79 -0
  454. package/payload/shared/knowledge/runtime-manifest.json +2 -1
  455. package/payload/shared/knowledge/runtime.mjs +296 -83
  456. package/payload/shared/scripts/{content-archive-9pzDBpn3.mjs → content-archive-tfY3CMRf.mjs} +2 -2
  457. package/payload/shared/scripts/{core-entry-DH2wsFgg.mjs → core-entry-7m3FOWAS.mjs} +954 -209
  458. package/payload/shared/scripts/design-git-read-BUV0s4TT.mjs +192 -0
  459. package/payload/shared/scripts/design.mjs +184 -171
  460. package/payload/shared/scripts/git-index-library-08zOq52I.mjs +6868 -0
  461. package/payload/shared/scripts/git-index-library-C_wZ6wUq.mjs +2 -0
  462. package/payload/shared/scripts/git-native-CtqUG3yb.mjs +9472 -0
  463. package/payload/shared/scripts/git-native-executor-CqFIQhzz.mjs +205 -0
  464. package/payload/shared/scripts/git-native-executor-D8TkZYzk.mjs +2 -0
  465. package/payload/shared/scripts/git-native-operation-BsYNBbvH.mjs +91 -0
  466. package/payload/shared/scripts/git-native-worker.js +65 -0
  467. package/payload/shared/scripts/git-runtime-check.mjs +113 -0
  468. package/payload/shared/scripts/knowledge-snapshot-query.mjs +1 -1
  469. package/payload/shared/scripts/{load-B-XdiMTX.mjs → load-oEOTKuWY.mjs} +1 -1
  470. package/payload/shared/scripts/package.json +1 -0
  471. package/payload/shared/scripts/{panel-preview-HRISZ1HI.mjs → panel-preview-BPETTLp7.mjs} +2 -2
  472. package/payload/shared/scripts/{server-CydyvZvR.mjs → server-DRsO6JFn.mjs} +85 -233
  473. package/payload/shared/scripts/{studio-content-archive-C2mFLBuL.mjs → studio-content-archive-DKijj8ba.mjs} +2 -2
  474. package/payload/shared/scripts/{studio-instance-composition-C17CmAmZ.mjs → studio-instance-composition-COD3xWt-.mjs} +2 -2
  475. package/payload/shared/scripts/{studio-instances-CmNfOFil.mjs → studio-instances-a-4TZo0u.mjs} +2 -2
  476. package/payload/shared/scripts/{studio-panel-drafts-x3awqien.mjs → studio-panel-drafts-Bo_RuF8s.mjs} +3 -3
  477. package/payload/shared/scripts/workbuddy-panel-service.mjs +1 -1
  478. package/payload/shared/scripts/{wrapper-BMQX62IU.mjs → wrapper-BevFNS3q.mjs} +13 -13
  479. package/payload/shared/web/{3d-force-graph-Ctmjqo-Y.js → 3d-force-graph-BY_DwCer.js} +102 -102
  480. package/payload/shared/web/{OrbitControls-CQxxM5ji.js → OrbitControls-jwQpg0yB.js} +2 -2
  481. package/payload/shared/web/{_dsh-design-css_owned_f311e6c6d8e65aed0c9a7ee24ef653d3c38574a3505babc3e0cad2a40b94a188_diagram-js.css-C11OT7zU.js → _dsh-design-css_owned_9191d97dda6511133eb885428f9b1378cd2c1ef20f30746ea548820d5c25ccc0_diagram-js.css-DGizTF9A.js} +2 -2
  482. package/payload/shared/web/{_dsh-design-css_owned_cc41a10f41ce4c8219d75daefaa99c08ac76f04537f7ec1abc92622e819f5bba_bpmn-js.css-BMPB0-R-.js → _dsh-design-css_owned_ce0a48cf22c8ee3299142159a299608a2d18b8b7c11cd7f20cb6787bcc44a741_bpmn-js.css-7gC4jxUa.js} +2 -2
  483. package/payload/shared/web/{_dsh-design-css_owned_89a065927fa266797ef9ce977561ca0c4a3502195b0ba467350b7673cd701bdf_bpmn-embedded.css-CS3_MdFX.js → _dsh-design-css_owned_eebf5579ad466526fad2581aa1ba1b4ce051b5a075be5cd61bf13a945a1200ef_bpmn-embedded.css-42YWu5UP.js} +2 -2
  484. package/payload/shared/web/{abnfDiagram-VCTEODGH-BElHS-zE.js → abnfDiagram-VCTEODGH-CSzY0xMe.js} +8 -8
  485. package/payload/shared/web/{ar-SA-G6X2FPQ2-D7POWdFi.js → ar-SA-G6X2FPQ2-CaMvsngq.js} +1 -1
  486. package/payload/shared/web/{arc-Do8BUoj2.js → arc-B2PqyFty.js} +1 -1
  487. package/payload/shared/web/{architecture-7GRP2DOG-DdensYya.js → architecture-7GRP2DOG-Bu3isBb4.js} +2 -2
  488. package/payload/shared/web/{architectureDiagram-5GKGNRK7-BECL41Da.js → architectureDiagram-5GKGNRK7-0DhCY3B4.js} +14 -14
  489. package/payload/shared/web/{az-AZ-76LH7QW2-C5e-y-w3.js → az-AZ-76LH7QW2-DiRCow4L.js} +1 -1
  490. package/payload/shared/web/{bg-BG-XCXSNQG7-fVQUxYSL.js → bg-BG-XCXSNQG7-i0B_GQmM.js} +1 -1
  491. package/payload/shared/web/{blockDiagram-I7D4REHJ-BHdPKhvo.js → blockDiagram-I7D4REHJ-DKGVCGV7.js} +17 -17
  492. package/payload/shared/web/{bn-BD-2XOGV67Q-DSmymzRw.js → bn-BD-2XOGV67Q-xaM6Ctrt.js} +1 -1
  493. package/payload/shared/web/{c4Diagram-7LVT6UL2-CWIbzZY_.js → c4Diagram-7LVT6UL2-Bdm8xCH2.js} +11 -11
  494. package/payload/shared/web/{ca-ES-6MX7JW3Y-BDoNy_ee.js → ca-ES-6MX7JW3Y-xMfLGHjy.js} +1 -1
  495. package/payload/shared/web/channel-_Pngq7Gp.js +7 -0
  496. package/payload/shared/web/{chunk-2Q5K7J3B-fbXEjlJX.js → chunk-2Q5K7J3B-DimMSDxY.js} +2 -2
  497. package/payload/shared/web/{chunk-4HAMMTFA-b3a3G6vp.js → chunk-4HAMMTFA-CUdghhWW.js} +10 -10
  498. package/payload/shared/web/{chunk-5VM5RSS4-BK0NOjPp.js → chunk-5VM5RSS4-VXmOEE7Y.js} +2 -2
  499. package/payload/shared/web/{chunk-75Z2AOVW-CRrsMd7V.js → chunk-75Z2AOVW-CEV_bvCZ.js} +21 -21
  500. package/payload/shared/web/{chunk-DU6HZSFF-DQGKOvUD.js → chunk-DU6HZSFF-NKww2mnj.js} +27 -27
  501. package/payload/shared/web/{chunk-F27PBJKO-CKTDAMhD.js → chunk-F27PBJKO-BaYmsdQ6.js} +6 -6
  502. package/payload/shared/web/{chunk-FOHPRMQF-Cr2lbyG-.js → chunk-FOHPRMQF-CC1xO94M.js} +1 -1
  503. package/payload/shared/web/{chunk-GMAD6QVW-CR6pf1Wk.js → chunk-GMAD6QVW-DOafcECG.js} +11 -11
  504. package/payload/shared/web/{chunk-GVQU2GXP-Cuq0uwWc.js → chunk-GVQU2GXP-D-Wj1Xkb.js} +5 -5
  505. package/payload/shared/web/{chunk-IMKFNOWR-BIkawNBO.js → chunk-IMKFNOWR-C8rR-UUv.js} +10 -10
  506. package/payload/shared/web/{chunk-JWPE2WC7-CdZv-_qJ.js → chunk-JWPE2WC7-DpU0Dn_h.js} +2 -2
  507. package/payload/shared/web/{chunk-L3NEJ4N5-CuRR4sgK.js → chunk-L3NEJ4N5-BuxEyHrZ.js} +10 -10
  508. package/payload/shared/web/{chunk-OSK3NFVY-o5AaXVbW.js → chunk-OSK3NFVY-B5u6n-0C.js} +11 -11
  509. package/payload/shared/web/{chunk-P2QGCYS3-CQGN9yCW.js → chunk-P2QGCYS3-Ce_wPnuK.js} +3 -3
  510. package/payload/shared/web/{chunk-POPQ4Y6H-CoV8F_6L.js → chunk-POPQ4Y6H-4fYRb9kI.js} +4 -4
  511. package/payload/shared/web/{chunk-PWAF6VOD-DLPv7U5s.js → chunk-PWAF6VOD-DW3nnawj.js} +16 -16
  512. package/payload/shared/web/{chunk-SHT3W25Y-DAA9rzEQ.js → chunk-SHT3W25Y-rw4EifyI.js} +13 -13
  513. package/payload/shared/web/{chunk-SVP7TREG-CsNwZR-J.js → chunk-SVP7TREG-DB0u6j7t.js} +5 -5
  514. package/payload/shared/web/{chunk-TICWLB2K-BkUUbwgD.js → chunk-TICWLB2K-GYqAiTLR.js} +11 -11
  515. package/payload/shared/web/{chunk-XXDRQBXY-DuWXQH59.js → chunk-XXDRQBXY-BOMD6Zym.js} +4 -4
  516. package/payload/shared/web/{chunk-Y2CYZVJY-Dou7QIQD.js → chunk-Y2CYZVJY-mI7MaAQH.js} +1 -1
  517. package/payload/shared/web/classDiagram-ZZMXUADV-CcgFl9R2.js +31 -0
  518. package/payload/shared/web/classDiagram-v2-VYDZK3BY-C7RIez6z.js +31 -0
  519. package/payload/shared/web/client.js +1901 -1581
  520. package/payload/shared/web/{colors-CWuSpNaV.js → colors-B_fyVLyX.js} +1 -1
  521. package/payload/shared/web/{cose-bilkent-JH36ORCC-CtLBgNIX.js → cose-bilkent-JH36ORCC-CpMlHyO8.js} +7 -7
  522. package/payload/shared/web/{cs-CZ-2BRQDIVT-Dt87r7S-.js → cs-CZ-2BRQDIVT-K2CLVImR.js} +1 -1
  523. package/payload/shared/web/{cynefin-OW5HDTMX-PtMqCYqM.js → cynefin-OW5HDTMX-Chp-GO7y.js} +2 -2
  524. package/payload/shared/web/{cynefinDiagram-5FMLGOSQ-CP-tjXE5.js → cynefinDiagram-5FMLGOSQ-CksPRylz.js} +8 -8
  525. package/payload/shared/web/{cytoscape.esm-B-DS7tqX.js → cytoscape.esm-B13OtX3v.js} +1 -1
  526. package/payload/shared/web/{da-DK-5WZEPLOC--27XibzI.js → da-DK-5WZEPLOC-DGpLG22p.js} +1 -1
  527. package/payload/shared/web/{dagre-CEj7qy_c.js → dagre-Dfx2C4EB.js} +114 -114
  528. package/payload/shared/web/{dagre-GXQ25YYZ-GUxh673_.js → dagre-GXQ25YYZ-DO_yzZgN.js} +15 -15
  529. package/payload/shared/web/{de-DE-XR44H4JA-D1MX3nBF.js → de-DE-XR44H4JA-BdXhiBzP.js} +1 -1
  530. package/payload/shared/web/{diagram-S7CK7UJ4-BFDH1Gbu.js → diagram-S7CK7UJ4-DtPOTRMz.js} +10 -10
  531. package/payload/shared/web/{diagram-UQ7AKVKN-PHM6uSDT.js → diagram-UQ7AKVKN-BEU2kvqx.js} +8 -8
  532. package/payload/shared/web/{diagram-VSXAHHWV-C6m_LjuJ.js → diagram-VSXAHHWV-aQhlGEje.js} +9 -9
  533. package/payload/shared/web/{diagram-VX7I27RA-G0Og_1eB.js → diagram-VX7I27RA-1DX4uy0U.js} +32 -32
  534. package/payload/shared/web/{diagram-Z3DM3KII-DxLU0CyU.js → diagram-Z3DM3KII-CRHw7SSM.js} +8 -8
  535. package/payload/shared/web/{directory-open-01563666-DOF-LFZj.js → directory-open-01563666-CXjy6Drc.js} +1 -1
  536. package/payload/shared/web/{directory-open-4ed118d0-BhSg263d.js → directory-open-4ed118d0-Be4pjoQ_.js} +1 -1
  537. package/payload/shared/web/{dist-CpfF1Jph.js → dist-C0qVS_M8.js} +91 -91
  538. package/payload/shared/web/{dist-BYV9yYN_.js → dist-DjAbm1uK.js} +2 -2
  539. package/payload/shared/web/{ebnfDiagram-PWID7BFC-Dh7NgFDw.js → ebnfDiagram-PWID7BFC-C3dnprYZ.js} +8 -8
  540. package/payload/shared/web/{el-GR-BZB4AONW-B-2rmEpJ.js → el-GR-BZB4AONW-g7z69brF.js} +1 -1
  541. package/payload/shared/web/{elk.bundled-CoqjhytL.js → elk.bundled-CSVGWwmf.js} +1 -1
  542. package/payload/shared/web/{erDiagram-RLTQ6QDP-De1Ves_r.js → erDiagram-RLTQ6QDP-W6MWvijo.js} +17 -17
  543. package/payload/shared/web/{es-ES-U4NZUMDT-C5yEmbaZ.js → es-ES-U4NZUMDT-DFBzV9Yy.js} +1 -1
  544. package/payload/shared/web/{eu-ES-A7QVB2H4-BJR6dFFp.js → eu-ES-A7QVB2H4-0w6-moai.js} +1 -1
  545. package/payload/shared/web/{eventmodeling-NTZA5JFV-DI7fNQlO.js → eventmodeling-NTZA5JFV-XmOSL5zF.js} +2 -2
  546. package/payload/shared/web/{fa-IR-HGAKTJCU-BCz_Ftau.js → fa-IR-HGAKTJCU-DeL8iT-4.js} +1 -1
  547. package/payload/shared/web/{fi-FI-Z5N7JZ37-B-f17R2D.js → fi-FI-Z5N7JZ37-DId7nO78.js} +1 -1
  548. package/payload/shared/web/{file-open-002ab408-hyYj-YWQ.js → file-open-002ab408-iMOXy-UQ.js} +1 -1
  549. package/payload/shared/web/{file-open-7c801643-DypCtGbZ.js → file-open-7c801643-BXZrCgMT.js} +1 -1
  550. package/payload/shared/web/{file-save-3189631c-DP5vC6AA.js → file-save-3189631c-B85XjIhX.js} +1 -1
  551. package/payload/shared/web/{file-save-745eba88-DQC5H-1g.js → file-save-745eba88-Cx6851rX.js} +1 -1
  552. package/payload/shared/web/flowDiagram-HODETNUW-ZexYu0VW.js +16 -0
  553. package/payload/shared/web/{fr-FR-RHASNOE6-DmkeKeyA.js → fr-FR-RHASNOE6-C2SqDt2f.js} +1 -1
  554. package/payload/shared/web/{ganttDiagram-EL5Y4UJY-9UcawiqG.js → ganttDiagram-EL5Y4UJY-DA2nlOcA.js} +17 -17
  555. package/payload/shared/web/{gitGraph-4MIJSDKK-Brimk1PV.js → gitGraph-4MIJSDKK-B_2ylg-T.js} +2 -2
  556. package/payload/shared/web/{gitGraphDiagram-WWUBYQGX-BYFpRlq8.js → gitGraphDiagram-WWUBYQGX-BZjm5RcZ.js} +9 -9
  557. package/payload/shared/web/{gl-ES-HMX3MZ6V-D4X9brTj.js → gl-ES-HMX3MZ6V-EefQ7u9k.js} +1 -1
  558. package/payload/shared/web/{graphlib-i6IPrIm0.js → graphlib-IZvVIPU5.js} +144 -144
  559. package/payload/shared/web/{he-IL-6SHJWFNN-C_1Gs06a.js → he-IL-6SHJWFNN-DYkTYs94.js} +1 -1
  560. package/payload/shared/web/{hi-IN-IWLTKZ5I-n-1X_Yh_.js → hi-IN-IWLTKZ5I-CkfwgAJA.js} +1 -1
  561. package/payload/shared/web/{hu-HU-A5ZG7DT2-DZE5a3kU.js → hu-HU-A5ZG7DT2-ClBQ6lLF.js} +1 -1
  562. package/payload/shared/web/{id-ID-SAP4L64H-kyW1-Blg.js → id-ID-SAP4L64H-DvER4xvx.js} +1 -1
  563. package/payload/shared/web/info-A6RAGUB7-duLtohtn.js +3 -0
  564. package/payload/shared/web/{infoDiagram-27XIBGKW-B_sYOrDT.js → infoDiagram-27XIBGKW-CzDCycY7.js} +6 -6
  565. package/payload/shared/web/{isSymbol-C7nLo9aG.js → isSymbol-CEdps2r0.js} +9 -9
  566. package/payload/shared/web/{ishikawaDiagram-5VMMS53U-Dbq0pjSI.js → ishikawaDiagram-5VMMS53U-YM_nllCx.js} +7 -7
  567. package/payload/shared/web/{it-IT-JPQ66NNP-CYr0JsnF.js → it-IT-JPQ66NNP-BtgvuNqA.js} +1 -1
  568. package/payload/shared/web/{ja-JP-DBVTYXUO-C_IigVNV.js → ja-JP-DBVTYXUO-D9wiuFej.js} +1 -1
  569. package/payload/shared/web/{journeyDiagram-3NMN7TZE-CzWCm5-W.js → journeyDiagram-3NMN7TZE-CoWwDje6.js} +8 -8
  570. package/payload/shared/web/{kaa-6HZHGXH3-CfWQ1jHJ.js → kaa-6HZHGXH3-BHZSZXW-.js} +1 -1
  571. package/payload/shared/web/{kab-KAB-ZGHBKWFO-B3pHuBR-.js → kab-KAB-ZGHBKWFO-Dqo-geKe.js} +1 -1
  572. package/payload/shared/web/{kanban-definition-UXKFOSKX-BPt2iOge.js → kanban-definition-UXKFOSKX-3aLeRSiG.js} +13 -13
  573. package/payload/shared/web/{katex-DhTJdtYJ.js → katex-I2DwPdKI.js} +1 -1
  574. package/payload/shared/web/{kk-KZ-P5N5QNE5-CQpxXuIU.js → kk-KZ-P5N5QNE5-CSiLpDDm.js} +1 -1
  575. package/payload/shared/web/{km-KH-HSX4SM5Z-Dc7wato0.js → km-KH-HSX4SM5Z-D20dgcx_.js} +1 -1
  576. package/payload/shared/web/{ko-KR-MTYHY66A-DLW_Eenb.js → ko-KR-MTYHY66A-Cr3UWuN-.js} +1 -1
  577. package/payload/shared/web/{ku-TR-6OUDTVRD-DmL5F-rU.js → ku-TR-6OUDTVRD-xSKCnKwv.js} +1 -1
  578. package/payload/shared/web/{lt-LT-XHIRWOB4-BuHt1LRQ.js → lt-LT-XHIRWOB4-DoWNhw5g.js} +1 -1
  579. package/payload/shared/web/{lv-LV-5QDEKY6T-BR0l3jdi.js → lv-LV-5QDEKY6T-DZluM1Mm.js} +1 -1
  580. package/payload/shared/web/{mermaid-parser.core-CgDHe7WO.js → mermaid-parser.core-DnY1htet.js} +32 -32
  581. package/payload/shared/web/{mindmap-definition-YA3MSWOX--s-o7l9c.js → mindmap-definition-YA3MSWOX-DRNXCmO0.js} +18 -18
  582. package/payload/shared/web/{mr-IN-CRQNXWMA-ByPSg8_m.js → mr-IN-CRQNXWMA-B03V3swm.js} +1 -1
  583. package/payload/shared/web/{my-MM-5M5IBNSE-C1BGhC6H.js → my-MM-5M5IBNSE-BjQaoQW0.js} +1 -1
  584. package/payload/shared/web/{nb-NO-T6EIAALU-B3KhPAe1.js → nb-NO-T6EIAALU-DTdYYLUl.js} +1 -1
  585. package/payload/shared/web/{nl-NL-IS3SIHDZ-CtvOo1al.js → nl-NL-IS3SIHDZ-Vo9Yq_Wa.js} +1 -1
  586. package/payload/shared/web/{nn-NO-6E72VCQL-CerdLebG.js → nn-NO-6E72VCQL-Cl_lMD3g.js} +1 -1
  587. package/payload/shared/web/{oc-FR-POXYY2M6-lPXDyA40.js → oc-FR-POXYY2M6-Bv4EXtHS.js} +1 -1
  588. package/payload/shared/web/{pa-IN-N4M65BXN-CXY0SKG3.js → pa-IN-N4M65BXN-Ivq_kz4R.js} +1 -1
  589. package/payload/shared/web/{packet-AYTQ26CC-DXyLibyW.js → packet-AYTQ26CC-BeuKx6fy.js} +2 -2
  590. package/payload/shared/web/{pegDiagram-XKGWAZYB-BtVScKlh.js → pegDiagram-XKGWAZYB-CGLzYbaw.js} +8 -8
  591. package/payload/shared/web/pie-WAS4IAKB-DcI1RMZv.js +3 -0
  592. package/payload/shared/web/{pieDiagram-E7YTZNPT-BVRgxFzd.js → pieDiagram-E7YTZNPT-B6GVy0qH.js} +12 -12
  593. package/payload/shared/web/{pl-PL-T2D74RX3-BVmN6-gn.js → pl-PL-T2D74RX3-DqFHvkmp.js} +1 -1
  594. package/payload/shared/web/{pt-BR-5N22H2LF-VoMeGWv5.js → pt-BR-5N22H2LF-CO_8DmZd.js} +1 -1
  595. package/payload/shared/web/{pt-PT-UZXXM6DQ-BCeApATc.js → pt-PT-UZXXM6DQ-BMJuk4To.js} +1 -1
  596. package/payload/shared/web/{quadrantDiagram-AXDQQJYC-CoI_hWsn.js → quadrantDiagram-AXDQQJYC-DE5sXpKH.js} +5 -5
  597. package/payload/shared/web/{radar-RG4KPBEZ-ik5LQn3z.js → radar-RG4KPBEZ-BKY8elAK.js} +2 -2
  598. package/payload/shared/web/{railroad-74A4TZTK-yLJ9q3Fv.js → railroad-74A4TZTK-CW_nEJZz.js} +2 -2
  599. package/payload/shared/web/{railroad-abnf-HS5TGJTU-DrnMEW8S.js → railroad-abnf-HS5TGJTU-H1WoP0LB.js} +2 -2
  600. package/payload/shared/web/{railroad-ebnf-LZEXJU2U-C3E4zm5K.js → railroad-ebnf-LZEXJU2U-Bs-P8f_r.js} +2 -2
  601. package/payload/shared/web/{railroad-peg-WCYAUIDC-COIlHGKU.js → railroad-peg-WCYAUIDC-DTfoquCH.js} +2 -2
  602. package/payload/shared/web/{railroadDiagram-O6MQD6OU-CQvkXn2E.js → railroadDiagram-O6MQD6OU-Ca-PpPGk.js} +8 -8
  603. package/payload/shared/web/{requirementDiagram-BXWQKSXE-BeMX6Y3_.js → requirementDiagram-BXWQKSXE-DP4VOmR2.js} +15 -15
  604. package/payload/shared/web/{ro-RO-JPDTUUEW-BVI89rBX.js → ro-RO-JPDTUUEW-wub-ktCt.js} +1 -1
  605. package/payload/shared/web/{rough.esm-T_8Mwfec.js → rough.esm-xFpb4w-e.js} +1 -1
  606. package/payload/shared/web/{roundRect-BCKJUrpT.js → roundRect-CiUKrNBl.js} +1 -1
  607. package/payload/shared/web/{ru-RU-B4JR7IUQ-Bs2zkyCL.js → ru-RU-B4JR7IUQ-DXCR-i7O.js} +1 -1
  608. package/payload/shared/web/{sankeyDiagram-P5KCCOFB-DAW2tMQQ.js → sankeyDiagram-P5KCCOFB-BL3ojAdo.js} +19 -19
  609. package/payload/shared/web/{sequenceDiagram-WJ2MYXX4-CIyt6uFH.js → sequenceDiagram-WJ2MYXX4-ujcnLF_G.js} +10 -10
  610. package/payload/shared/web/{si-LK-N5RQ5JYF-W6ZZjLGV.js → si-LK-N5RQ5JYF-Ca3ZwwCL.js} +1 -1
  611. package/payload/shared/web/{sizeCapture-INFHLROL-BkZtG6WP.js → sizeCapture-INFHLROL-CZKSpazb.js} +2 -2
  612. package/payload/shared/web/{sk-SK-C5VTKIMK-DsS1TRNt.js → sk-SK-C5VTKIMK-DenC-fjy.js} +1 -1
  613. package/payload/shared/web/{sl-SI-NN7IZMDC-lOGyvagL.js → sl-SI-NN7IZMDC-DtM7BQc1.js} +1 -1
  614. package/payload/shared/web/{src-DBqTbpm9.js → src-24Xrayxx.js} +5 -5
  615. package/payload/shared/web/{src-DAzEjDkt.js → src-CcuvUowz.js} +48 -48
  616. package/payload/shared/web/{stateDiagram-D77RDMKH-Cl5YhtvO.js → stateDiagram-D77RDMKH-JJkfINEX.js} +20 -20
  617. package/payload/shared/web/stateDiagram-v2-MP3YSRHH-CZXyk75K.js +31 -0
  618. package/payload/shared/web/{sv-SE-XGPEYMSR-C133Fo29.js → sv-SE-XGPEYMSR-UNRNl1-1.js} +1 -1
  619. package/payload/shared/web/{swimlanes-42K2YHIH-DRkfAovZ.js → swimlanes-42K2YHIH-Dg-lOZb0.js} +13 -13
  620. package/payload/shared/web/swimlanesDiagram-VR7AAH4N-Dct9otyO.js +30 -0
  621. package/payload/shared/web/{ta-IN-2NMHFXQM-DEEVujwJ.js → ta-IN-2NMHFXQM-DO4YlBNo.js} +1 -1
  622. package/payload/shared/web/{th-TH-HPSO5L25-m4z4u_Rd.js → th-TH-HPSO5L25-BMinzLji.js} +1 -1
  623. package/payload/shared/web/{three.module-DsonTxjC.js → three.module-dXeXHe7o.js} +2 -2
  624. package/payload/shared/web/{timeline-definition-24CTP7MA-Bc0GefZe.js → timeline-definition-24CTP7MA-Bg8KjeCs.js} +8 -8
  625. package/payload/shared/web/{timer-DaJNeeTj.js → timer-BTgWScdY.js} +49 -49
  626. package/payload/shared/web/{toNumber-Dq0WEEGL.js → toNumber-CqUZsI1_.js} +5 -5
  627. package/payload/shared/web/{tr-TR-DEFEU3FU-oqObk9H8.js → tr-TR-DEFEU3FU-BLnQquCD.js} +1 -1
  628. package/payload/shared/web/{treeView-Q6P3EWNA-s6cJWvL2.js → treeView-Q6P3EWNA-Cd8VH-fF.js} +2 -2
  629. package/payload/shared/web/{treemap-WGGIJYW6-B39slRxY.js → treemap-WGGIJYW6-CW0KQiMg.js} +2 -2
  630. package/payload/shared/web/{uk-UA-QMV73CPH-DR5E21g2.js → uk-UA-QMV73CPH-CLj_T-Qw.js} +1 -1
  631. package/payload/shared/web/{vennDiagram-4TSXK5OY-CU3O6wRh.js → vennDiagram-4TSXK5OY-CIU-NiOB.js} +10 -10
  632. package/payload/shared/web/{vi-VN-M7AON7JQ-BTGcSenL.js → vi-VN-M7AON7JQ-CBq7g77v.js} +1 -1
  633. package/payload/shared/web/{wardley-WFR3VGLG-ROBWVVUd.js → wardley-WFR3VGLG-B5B-Yr-P.js} +2 -2
  634. package/payload/shared/web/{wardleyDiagram-VM6X3IG4-USaMhD8m.js → wardleyDiagram-VM6X3IG4-BTSHluSJ.js} +8 -8
  635. package/payload/shared/web/{xychartDiagram-S5SC5T6Z-C8IhDKnq.js → xychartDiagram-S5SC5T6Z-BBeoKAjy.js} +8 -8
  636. package/payload/shared/web/{zh-CN-LNUGB5OW-B8jdxL1j.js → zh-CN-LNUGB5OW-tBK6Iaq-.js} +1 -1
  637. package/payload/shared/web/{zh-HK-E62DVLB3-C01JMzt_.js → zh-HK-E62DVLB3-D5Zq_98f.js} +1 -1
  638. package/payload/shared/web/{zh-TW-RAJ6MFWO-Cdn1Kb1q.js → zh-TW-RAJ6MFWO-B6gAMaOs.js} +1 -1
  639. package/release-hosts.json +1 -1
  640. package/release-manifest.json +647 -205
  641. package/payload/shared/web/channel-CIc-uLOz.js +0 -7
  642. package/payload/shared/web/classDiagram-ZZMXUADV-HbaRZ3Nl.js +0 -31
  643. package/payload/shared/web/classDiagram-v2-VYDZK3BY-Bkk8o06s.js +0 -31
  644. package/payload/shared/web/flowDiagram-HODETNUW-DY-blVtj.js +0 -16
  645. package/payload/shared/web/info-A6RAGUB7-D5Cy9r2z.js +0 -3
  646. package/payload/shared/web/pie-WAS4IAKB-DsYWyNi3.js +0 -3
  647. package/payload/shared/web/stateDiagram-v2-MP3YSRHH-BsQEmOAZ.js +0 -31
  648. package/payload/shared/web/swimlanesDiagram-VR7AAH4N-CDtUk-LJ.js +0 -30
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Yugoo Design Companion — beta
2
2
 
3
- Package: `@yugoo-design/companion@0.1.0-beta.2`.
3
+ Package: `@yugoo-design/companion@0.1.0-beta.3`.
4
4
 
5
5
  Yugoo Design (语构设计系统) is an interactive design plugin for native Agent Hosts.
6
6
  It combines domain methods, Design Projects, versioned Design Files and shared
@@ -11,12 +11,16 @@ This beta is experimental. Native installation, tools, Panel saving, KAG and GRA
11
11
  must be verified for the actual host version and platform. A successful package
12
12
  installation or runtime-load check does not establish all of those capabilities.
13
13
 
14
- Use system Git, Node.js `>=22.19.0 <23` and a durable npm installation directory. Resolve the
14
+ Use Node.js `>=22.19.0 <23` and a durable npm installation directory. This source
15
+ candidate uses the packaged native Git library for runtime versioning; system Git
16
+ is needed only for the explicit CLI diagnostic backend and development fixtures.
17
+ The installed native binding must support the actual operating system and CPU;
18
+ missing support is reported rather than silently spawning system Git. Resolve the
15
19
  selected beta to the exact version and integrity before acquisition; keep the
16
20
  previous installed version available during updates. Do not substitute `latest`.
17
21
 
18
22
  ```sh
19
- npm install --ignore-scripts --save-exact @yugoo-design/companion@0.1.0-beta.2 --registry=https://registry.npmjs.org
23
+ npm install --ignore-scripts --save-exact @yugoo-design/companion@0.1.0-beta.3 --registry=https://registry.npmjs.org
20
24
  npx --no-install design-system --help
21
25
  ```
22
26
 
@@ -1,8 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { fileURLToPath } from 'node:url'
3
3
  import { installerMain } from './installer.mjs'
4
+ const args=process.argv.slice(2)
5
+ const dshInstall=args[0]==='install'&&args.some((arg,index)=>arg==='--host=dsh'||arg==='--host'&&args[index+1]==='dsh')
6
+ const cancellation=new AbortController()
7
+ const cancel=()=>cancellation.abort()
8
+ if(dshInstall) { process.on('SIGINT',cancel);process.on('SIGTERM',cancel) }
4
9
  try {
5
- const result=await installerMain(process.argv.slice(2),{npmRoot:fileURLToPath(new URL('../',import.meta.url))})
10
+ const result=await installerMain(args,{npmRoot:fileURLToPath(new URL('../',import.meta.url)),signal:dshInstall?cancellation.signal:undefined})
6
11
  console.log(JSON.stringify(result))
7
12
  if(process.argv[2]==='check-runtime'&&!['load-verified','disabled','not-applicable'].includes(result.status))process.exitCode=1
8
13
  if(result.status==='failed-partial-state-retained')process.exitCode=1
@@ -11,4 +16,6 @@ try {
11
16
  } catch(error) {
12
17
  console.error(error.installation ? JSON.stringify({error:error.message,installation:error.installation}) : error.message)
13
18
  process.exitCode=1
19
+ } finally {
20
+ if(dshInstall) { process.off('SIGINT',cancel);process.off('SIGTERM',cancel) }
14
21
  }
package/bin/installer.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import { isPathWithin } from './npm-installer-paths.mjs'
2
+ import { assertWindowsPrivate, ensureWindowsPrivateDirectory } from './windows-private-storage.mjs'
2
3
  import assert from 'node:assert/strict'
3
4
  import { createHash, randomUUID } from 'node:crypto'
4
5
  import { cp, lstat, mkdir, readFile, readdir, realpath, rename, rm, rmdir, unlink, writeFile } from 'node:fs/promises'
@@ -10,7 +11,7 @@ import { parseArgs } from 'node:util'
10
11
  import { codexAdapter, assertCodexAdmission, createCodexNativeAdapter } from './npm-installer-codex.mjs'
11
12
  import { createClaudeNativeAdapter, planClaudeInstallation, applyClaudeInstallation, recoverClaudeInstallation } from './npm-installer-claude.mjs'
12
13
  import { installQoderPlugin } from './npm-installer-qoder.mjs'
13
- import { checkRuntime, inspectRuntime } from './npm-runtime-check.mjs'
14
+ import { checkRuntime, inspectRuntime, assertGitRuntimeReceipt } from './npm-runtime-check.mjs'
14
15
  import { runDesktopDshInstaller } from './npm-installer-dsh-desktop.mjs'
15
16
  import { desktopPreparationMain, desktopPreparationReuseMain } from './npm-desktop-preparation.mjs'
16
17
  import { agentInstallation, AGENT_INSTALL_HOSTS, DESKTOP_INSTALL_OPTIONS } from './npm-agent-installation.mjs'
@@ -241,6 +242,7 @@ function testContract(adapter,userRoot) {
241
242
 
242
243
  function runtimeGate(plan,receipt,current,receiptSha256) {
243
244
  assert.ok(receipt&&typeof receipt==='object'&&!Array.isArray(receipt),'An explicit runtime-check receipt is required')
245
+ assertGitRuntimeReceipt(receipt,current)
244
246
  assert.ok(['installed-runtime-readonly','isolated-test-contract'].includes(receipt.scope),'Unknown runtime receipt scope')
245
247
  assert.equal(receipt.npmRoot,plan.npmRoot,'Runtime receipt npmRoot mismatch')
246
248
  assert.equal(receipt.identitySha256,current.identitySha256,'Runtime receipt identity drift')
@@ -683,16 +685,23 @@ async function dshOutputDirectory(path,{npmRoot,config,configPath,planPath}) {
683
685
  for(const root of roots)assert.ok(outside(root,output)&&outside(output,root),'DSH output overlaps a package, host or user configuration root')
684
686
  for(const file of [configPath,planPath].filter(Boolean))
685
687
  assert.ok(outside(output,resolve(file))&&outside(resolve(file),output),'DSH output overlaps config or saved plan')
688
+ if(process.platform==='win32') {
689
+ try { await lstat(output) } catch(error) { if(error.code==='ENOENT')return output; throw error }
690
+ await assertWindowsPrivate(output,{directory:true})
691
+ }
686
692
  return output
687
693
  }
688
694
  async function writeDshOutput(directory,name,value) {
689
- await safePath(directory);await mkdir(directory,{recursive:true});await safePath(directory)
695
+ await safePath(directory)
696
+ if(process.platform==='win32')await ensureWindowsPrivateDirectory(directory)
697
+ else await mkdir(directory,{recursive:true})
698
+ await safePath(directory)
690
699
  const path=join(directory,name)
691
700
  // Exclusive create, never overwrite even an unrelated file at a digest name.
692
701
  await safePath(path);await writeFile(path,encode(value),{flag:'wx',mode:0o600})
693
702
  return path
694
703
  }
695
- async function dshInstallerEntry(values,{npmRoot,dshAdapterFactory,args}) {
704
+ async function dshInstallerEntry(values,{npmRoot,dshAdapterFactory,args,signal,dshInstallTimeoutMs}) {
696
705
  assert.ok(values['dry-run']===true&&values.apply!==true||values.apply===true&&values['dry-run']!==true,'Choose exactly dry-run or apply')
697
706
  for(const key of ['codex-executable','user-root','runtime-receipt','disable-embedding','receipt'])
698
707
  assert.ok(!Object.hasOwn(values,key),`DSH install does not accept --${key}`)
@@ -701,7 +710,7 @@ async function dshInstallerEntry(values,{npmRoot,dshAdapterFactory,args}) {
701
710
  const selection=await dshReleaseSelection(values,npmRoot)
702
711
  const configPath=values['dsh-config'],config=await dshConfiguration(configPath)
703
712
  if (config.desktopHostManifest && !process.versions.electron)
704
- return runDesktopDshInstaller({ node:config.node, args, npmRoot })
713
+ return runDesktopDshInstaller({ node:config.node, args, npmRoot, signal, timeoutMs:dshInstallTimeoutMs })
705
714
  const output=await dshOutputDirectory(values['receipt-dir'],{npmRoot,config,configPath})
706
715
  const adapter=await dshAdapterFactory({...config,scope:'official-pinned'})
707
716
  let aggregateDirectory
@@ -726,7 +735,7 @@ async function dshInstallerEntry(values,{npmRoot,dshAdapterFactory,args}) {
726
735
  const fresh=await planDshInstallation(options)
727
736
  assert.deepEqual(plan.protocol,fresh.protocol,'Saved official pins/home/version mismatch')
728
737
  assert.equal(plan.planSha256,fresh.planSha256,'Saved DSH plan or profile drifted')
729
- const result=await applyDshInstallation(plan,{adapter})
738
+ const result=await applyDshInstallation(plan,{adapter,signal,timeoutMs:dshInstallTimeoutMs,logDirectory:output})
730
739
  const receipt={...result,host:'dsh',route:'official-dsh-bundle',planSha256:plan.planSha256}
731
740
  const receiptFile=await writeDshOutput(output,randomUUID()+'.dsh-result.json',receipt)
732
741
  return {...receipt,receiptFile}
@@ -787,7 +796,7 @@ export async function nativePluginDirectory({npmRoot,host}) {
787
796
  }
788
797
  }
789
798
 
790
- export async function installerMain(args,{npmRoot,userRoot=homedir(),adapter=codexAdapter,dshAdapterFactory=createDshInstallerAdapter,claudeAdapterFactory=createClaudeNativeAdapter,qoderInstaller=installQoderPlugin,agentDispatch=true}={}) {
799
+ export async function installerMain(args,{npmRoot,userRoot=homedir(),adapter=codexAdapter,dshAdapterFactory=createDshInstallerAdapter,claudeAdapterFactory=createClaudeNativeAdapter,qoderInstaller=installQoderPlugin,agentDispatch=true,signal,dshInstallTimeoutMs}={}) {
791
800
  if(args[0]==='prepare-desktop')return desktopPreparationMain(args.slice(1),{npmRoot})
792
801
  const {values,positionals}=parseArgs({args,allowPositionals:true,options:{host:{type:'string'},'dry-run':{type:'boolean'},
793
802
  help:{type:'boolean',short:'h'},apply:{type:'boolean'},plan:{type:'string'},'receipt-dir':{type:'string'},receipt:{type:'string'},'runtime-receipt':{type:'string'},'codex-executable':{type:'string'},'claude-executable':{type:'string'},'user-root':{type:'string'},'disable-embedding':{type:'boolean'},
@@ -838,7 +847,7 @@ export async function installerMain(args,{npmRoot,userRoot=homedir(),adapter=cod
838
847
  }
839
848
  assert.equal(positionals.length,1,'Exactly one installer command required')
840
849
  if(agentDispatch&&positionals[0]==='install'&&!values['dry-run']&&!values.apply) {
841
- const context={npmRoot,userRoot,adapter,dshAdapterFactory,claudeAdapterFactory,qoderInstaller,agentDispatch:false}
850
+ const context={npmRoot,userRoot,adapter,dshAdapterFactory,claudeAdapterFactory,qoderInstaller,agentDispatch:false,signal,dshInstallTimeoutMs}
842
851
  return agentInstallation(values,{npmRoot,admittedCodexAdapter:adapter!==codexAdapter,
843
852
  invoke:nextArgs=>installerMain(nextArgs,context),
844
853
  desktopPrepare:nextArgs=>desktopPreparationMain(nextArgs,{npmRoot}),
@@ -897,7 +906,7 @@ export async function installerMain(args,{npmRoot,userRoot=homedir(),adapter=cod
897
906
  }
898
907
  return {...plan,planFile:path}
899
908
  }
900
- if(values.host==='dsh'&&positionals[0]==='install')return dshInstallerEntry(values,{npmRoot,dshAdapterFactory,args})
909
+ if(values.host==='dsh'&&positionals[0]==='install')return dshInstallerEntry(values,{npmRoot,dshAdapterFactory,args,signal,dshInstallTimeoutMs})
901
910
  if(adapter===codexAdapter&&values['codex-executable']&&positionals[0]!=='check-runtime') {
902
911
  assert.equal(values.host,'codex','Native executable is only valid for the Codex host')
903
912
  const profile=resolve(values['user-root']??userRoot)
@@ -7,7 +7,7 @@ import { homedir } from 'node:os'
7
7
  import { dirname, isAbsolute, join, relative, resolve } from 'node:path'
8
8
  import { pathToFileURL } from 'node:url'
9
9
  import { promisify } from 'node:util'
10
- import { assertRuntimePath, inspectRuntime } from './npm-runtime-check.mjs'
10
+ import { assertRuntimePath, inspectRuntime, assertGitRuntimeReceipt } from './npm-runtime-check.mjs'
11
11
 
12
12
  const execute = promisify(execFile), adapters = new WeakMap(), activeLocks = new Set()
13
13
  const PLUGIN = 'yugoo-design', LEGACY = 'design-system'
@@ -216,6 +216,7 @@ export async function planClaudeInstallation({npmRoot,userRoot,receiptDirectory,
216
216
  }
217
217
  function runtimeGate(plan,receipt,current,s) {
218
218
  assert.ok(receipt&&typeof receipt==='object'&&!Array.isArray(receipt),'Explicit Claude runtime receipt required')
219
+ assertGitRuntimeReceipt(receipt,current)
219
220
  assert.ok(['installed-runtime-readonly','isolated-test-contract'].includes(receipt.scope),'Unknown runtime receipt scope')
220
221
  if(!s.identity.scope.startsWith('isolated-'))assert.equal(receipt.scope,'installed-runtime-readonly','Production requires actual runtime receipt')
221
222
  assert.equal(receipt.npmRoot,plan.npmRoot);assert.equal(receipt.identitySha256,current.identitySha256,'Runtime receipt identity drift')
@@ -8,7 +8,7 @@ import { promisify } from 'node:util'
8
8
 
9
9
  // Electron owns ASAR resolution. Keep the existing installer and official
10
10
  // Loader together in its Node runtime instead of extracting the desktop tree.
11
- export async function runDesktopDshInstaller({ node, args, npmRoot }) {
11
+ export async function runDesktopDshInstaller({ node, args, npmRoot, signal, timeoutMs = 0 }) {
12
12
  assert.ok(node && isAbsolute(node.path), 'Explicit Desktop executable required')
13
13
  assert.match(node.sha256 ?? '', /^[a-f0-9]{64}$/u)
14
14
  assert.ok((await lstat(await realpath(node.path))).isFile(), 'Desktop executable must be a regular file')
@@ -16,13 +16,22 @@ export async function runDesktopDshInstaller({ node, args, npmRoot }) {
16
16
  assert.equal(hash, node.sha256, 'Desktop executable pin changed')
17
17
  assert.ok(Array.isArray(args) && args.every(arg => typeof arg === 'string' && !arg.includes('\0')), 'Installer argv required')
18
18
  assert.ok(typeof npmRoot === 'string' && isAbsolute(npmRoot), 'Retained npm installation must be absolute')
19
- const request = Buffer.from(JSON.stringify({ args, npmRoot })).toString('base64url')
20
- const { stdout } = await promisify(execFile)(node.path,
19
+ assert.ok(Number.isSafeInteger(timeoutMs) && timeoutMs >= 0 && timeoutMs <= 2147483647, 'Invalid install deadline')
20
+ signal?.throwIfAborted()
21
+ const request = Buffer.from(JSON.stringify({ args, npmRoot, timeoutMs })).toString('base64url')
22
+ const pending = promisify(execFile)(node.path,
21
23
  ['--expose-internals', fileURLToPath(import.meta.url), request], {
22
24
  env: { ...process.env, ELECTRON_RUN_AS_NODE: '1' },
23
25
  windowsHide: true, shell: false, maxBuffer: 1024 * 1024,
24
26
  })
25
- return JSON.parse(stdout)
27
+ // Use the pipe on Windows as well: killing the bridge would lose its partial
28
+ // state receipt and says nothing about the official pnpm descendants.
29
+ const cancel = () => { if (pending.child.stdin?.writable) pending.child.stdin.write('cancel\n') }
30
+ pending.child.stdin?.on('error', () => {}) // A closed bridge cannot accept a late cancellation.
31
+ signal?.addEventListener('abort', cancel, { once: true })
32
+ if (signal?.aborted) cancel()
33
+ try { return JSON.parse((await pending).stdout) }
34
+ finally { signal?.removeEventListener('abort', cancel); pending.child.stdin?.destroy() }
26
35
  }
27
36
 
28
37
  if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
@@ -32,15 +41,36 @@ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.ur
32
41
  assert.ok(process.versions.electron, 'Desktop bridge requires Electron Node mode')
33
42
  assert.equal(process.argv.length, 3, 'One installer request required')
34
43
  const request = JSON.parse(Buffer.from(process.argv[2], 'base64url').toString('utf8'))
35
- assert.deepEqual(Object.keys(request).sort(), ['args', 'npmRoot'])
44
+ assert.deepEqual(Object.keys(request).sort(), ['args', 'npmRoot', 'timeoutMs'])
36
45
  assert.ok(Array.isArray(request.args) && request.args.every(arg => typeof arg === 'string' && !arg.includes('\0')), 'Installer argv required')
37
46
  assert.ok(typeof request.npmRoot === 'string' && isAbsolute(request.npmRoot), 'Retained npm installation must be absolute')
38
- const { installerMain } = await import('./npm-installer.mjs').catch(error => {
39
- if (error.code !== 'ERR_MODULE_NOT_FOUND' || !error.url?.endsWith('/npm-installer.mjs')) throw error
40
- // The published bin directory names the same module installer.mjs.
41
- return import('./installer.mjs')
47
+ assert.ok(Number.isSafeInteger(request.timeoutMs) && request.timeoutMs >= 0 && request.timeoutMs <= 2147483647, 'Invalid install deadline')
48
+ const cancellation = new AbortController()
49
+ const cancel = () => cancellation.abort()
50
+ // Terminal Ctrl-C can reach the bridge as well as the outer entry.
51
+ process.on('SIGINT', cancel)
52
+ process.on('SIGTERM', cancel)
53
+ // A partial or malformed control frame cannot authorize any installation.
54
+ let control = ''
55
+ process.stdin.setEncoding('utf8')
56
+ process.stdin.on('data', chunk => {
57
+ control = (control + chunk).slice(-64)
58
+ if (control.includes('cancel\n')) cancellation.abort()
42
59
  })
43
- process.stdout.write(JSON.stringify(await installerMain(request.args, { npmRoot: request.npmRoot })) + '\n')
60
+ try {
61
+ const { installerMain } = await import('./npm-installer.mjs').catch(error => {
62
+ if (error.code !== 'ERR_MODULE_NOT_FOUND' || !error.url?.endsWith('/npm-installer.mjs')) throw error
63
+ // The published bin directory names the same module installer.mjs.
64
+ return import('./installer.mjs')
65
+ })
66
+ process.stdout.write(JSON.stringify(await installerMain(request.args, {
67
+ npmRoot: request.npmRoot, signal: cancellation.signal, dshInstallTimeoutMs: request.timeoutMs,
68
+ })) + '\n')
69
+ } finally {
70
+ process.off('SIGINT', cancel)
71
+ process.off('SIGTERM', cancel)
72
+ process.stdin.destroy()
73
+ }
44
74
  } catch (error) {
45
75
  process.stderr.write(String(error.message) + '\n')
46
76
  process.exitCode = 1
@@ -1,8 +1,9 @@
1
1
  import { isPathWithin } from './npm-installer-paths.mjs'
2
+ import { assertWindowsPrivate } from './windows-private-storage.mjs'
2
3
  import assert from 'node:assert/strict'
3
4
  import { execFile } from 'node:child_process'
4
- import { createHash } from 'node:crypto'
5
- import { lstat, readFile, realpath } from 'node:fs/promises'
5
+ import { createHash, randomUUID } from 'node:crypto'
6
+ import { lstat, readFile, realpath, writeFile } from 'node:fs/promises'
6
7
  import { dirname, isAbsolute, join, resolve } from 'node:path'
7
8
  import { pathToFileURL } from 'node:url'
8
9
  import { promisify } from 'node:util'
@@ -14,6 +15,72 @@ const canonical = value => Array.isArray(value) ? value.map(canonical) : value &
14
15
  ? Object.fromEntries(Object.keys(value).sort().map(key => [key, canonical(value[key])])) : value
15
16
  const digest = value => sha(JSON.stringify(canonical(value)))
16
17
  const beneath = isPathWithin
18
+ export const DSH_INSTALL_MAX_OUTPUT_BYTES = 1024 * 1024
19
+
20
+ /** Install duration belongs to the native package manager, not a probe timer. */
21
+ export async function executeDshInstall(command, args, options, { run = exec, signal, timeoutMs = 0 } = {}) {
22
+ assert.ok(Number.isSafeInteger(timeoutMs) && timeoutMs >= 0 && timeoutMs <= 2147483647, 'Invalid install deadline')
23
+ const started = performance.now(), cancellation = new AbortController()
24
+ let requested = null, timer, pending, output = {}, failure = null, invoked = false
25
+ const captured = { stdout: [], stderr: [] }, sizes = { stdout: 0, stderr: 0 }
26
+ const capture = stream => chunk => {
27
+ const bytes = Buffer.from(chunk).subarray(0, DSH_INSTALL_MAX_OUTPUT_BYTES - sizes[stream])
28
+ if (bytes.length) { captured[stream].push(bytes); sizes[stream] += bytes.length }
29
+ }
30
+ const stop = reason => {
31
+ if (requested !== null) return
32
+ requested = reason
33
+ cancellation.abort()
34
+ }
35
+ const cancel = () => stop('cancelled')
36
+ signal?.addEventListener('abort', cancel, { once: true })
37
+ if (signal?.aborted) cancel()
38
+ if (timeoutMs > 0) timer = setTimeout(() => stop('timed-out'), timeoutMs)
39
+ try {
40
+ cancellation.signal.throwIfAborted()
41
+ invoked = true
42
+ pending = run(command, args, { ...options, shell: false, timeout: 0,
43
+ signal: cancellation.signal, maxBuffer: DSH_INSTALL_MAX_OUTPUT_BYTES })
44
+ for (const stream of ['stdout', 'stderr']) pending.child?.[stream]?.on('data', capture(stream))
45
+ output = await pending
46
+ } catch (error) { failure = error; output = error }
47
+ finally { clearTimeout(timer); signal?.removeEventListener('abort', cancel) }
48
+ const buffer = value => Buffer.isBuffer(value) ? value : Buffer.from(value ?? '')
49
+ const stdout = sizes.stdout ? Buffer.concat(captured.stdout) : buffer(output.stdout).subarray(0, DSH_INSTALL_MAX_OUTPUT_BYTES)
50
+ const stderr = sizes.stderr ? Buffer.concat(captured.stderr) : buffer(output.stderr).subarray(0, DSH_INSTALL_MAX_OUTPUT_BYTES)
51
+ const overflow = failure?.code === 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER'
52
+ || buffer(output.stdout).length > stdout.length || buffer(output.stderr).length > stderr.length
53
+ // DOMException.code identifies an API error, never a native process exit.
54
+ // A pre-cancelled request has not invoked the runner even if its reason has a code.
55
+ const observedCode = failure ? (invoked && failure.name !== 'AbortError' && !(failure instanceof DOMException)
56
+ && Number.isInteger(failure.code) ? failure.code : null) : output.exitCode ?? output.status ?? 0
57
+ const code = observedCode ?? 1
58
+ const state = requested ?? (overflow ? 'output-limit' : failure?.signal ? 'terminated'
59
+ : failure ? (failure.code === 'ENOENT' || failure.code === 'EACCES' ? 'launch-failed' : 'failed')
60
+ : code === 0 ? 'completed' : 'failed')
61
+ const execution = { state, elapsedMs: Math.round(performance.now() - started), timeoutMs,
62
+ maxOutputBytesPerStream: DSH_INSTALL_MAX_OUTPUT_BYTES, exitCode: observedCode, pid: pending?.child?.pid ?? null,
63
+ signal: failure?.signal ?? pending?.child?.signalCode ?? null, killed: pending?.child?.killed ?? failure?.killed ?? null,
64
+ cancellationRequested: requested !== null, outputComplete: requested === null && !overflow && (!failure || observedCode !== null),
65
+ // An AbortError or a dead parent CLI cannot establish Windows pnpm tree exit.
66
+ processTreeState: state === 'completed' ? 'not-asserted' : 'unverified', retrySafe: false,
67
+ output: { stdout: { bytes: stdout.length, sha256: sha(stdout) }, stderr: { bytes: stderr.length, sha256: sha(stderr) } } }
68
+ return { execution, stdout, stderr,
69
+ exitCode: state === 'completed' ? 0 : code || 1,
70
+ executionError: failure ? String(failure.code ?? failure.name) : state === 'completed' ? null : state }
71
+ }
72
+
73
+ async function retainCommandOutput(directory, command) {
74
+ if (directory === undefined) return
75
+ await safeDirectory(directory)
76
+ if (process.platform === 'win32') await assertWindowsPrivate(directory, { directory: true })
77
+ const id = randomUUID()
78
+ for (const stream of ['stdout', 'stderr']) {
79
+ const path = join(directory, `${id}.dsh-${stream}.log`)
80
+ await writeFile(path, command[stream], { flag: 'wx', mode: 0o600 })
81
+ command.execution.output[stream].path = path
82
+ }
83
+ }
17
84
 
18
85
  async function regular(path, optional = false) {
19
86
  try { assert.ok((await lstat(path)).isFile(), 'Expected regular file'); return await readFile(path) }
@@ -59,7 +126,7 @@ export async function createDshInstallerAdapter({ scope = 'official-pinned', dsh
59
126
  }
60
127
  assert.equal(await realpath(loader.path), await realpath(resolve(dirname(loaderManifest.path), boot.main)), 'Loader must be the pinned public entry')
61
128
  const api = await import(pathToFileURL(await realpath(loader.path)).href)
62
- for (const key of ['resolveProfileDir', 'readProfileManifest', 'resolveBundleDir', 'loadOverlayPatches', 'composeEntries'])
129
+ for (const key of ['resolveProfileDir', 'readProfileManifest', 'resolveBundleDir', 'bundlePatchPaths', 'loadOverlayPatches', 'composeEntries'])
63
130
  assert.equal(typeof api[key], 'function', `Missing official Loader interface: ${key}`)
64
131
  const adapter = Object.freeze({ scope, hostVersion, loaderVersion })
65
132
  admitted.set(adapter, { pins, api, dshHome, run, identity: { scope, dshHome, hostVersion, loaderVersion, pins } })
@@ -178,11 +245,17 @@ export async function inspectDshInstallation(options) {
178
245
  for (const name of manifest.dsh.profile.bundles) {
179
246
  const dir = state.api.resolveBundleDir('dsh', name, state.pins.hostManifest.path, current.dir)
180
247
  const bundle = state.api.readProfileManifest('dsh', dir), declared = bundle.dsh?.bundle?.patch
181
- assert.ok(typeof declared === 'string' && !isAbsolute(declared), 'Bundle patch declaration required')
182
- const path = resolve(dir, declared)
183
- assert.ok(beneath(resolve(dir), path), 'Bundle patch escapes package')
184
- assert.ok(beneath(await realpath(dir), await realpath(path)), 'Bundle patch resolves outside package')
185
- layers.push(state.api.loadOverlayPatches('dsh', path))
248
+ const files = typeof declared === 'string' ? [declared] : declared
249
+ assert.ok(Array.isArray(files) && files.every(file => typeof file === 'string'
250
+ && file.length > 0 && !file.includes('\0') && !isAbsolute(file)), 'Relative Bundle patch path or list required')
251
+ // Keep the official file order and one PatchOptions[] per file. Its
252
+ // composeEntries flattens these lists once, as loadProfileDirectory does.
253
+ for (const path of state.api.bundlePatchPaths(dir, bundle.dsh.bundle)) {
254
+ assert.ok(beneath(resolve(dir), path), 'Bundle patch escapes package')
255
+ assert.ok(beneath(await realpath(dir), await realpath(path)), 'Bundle patch resolves outside package')
256
+ await regular(path) // Reject patch symlinks/special files before the Loader reads them.
257
+ layers.push(state.api.loadOverlayPatches('dsh', path))
258
+ }
186
259
  }
187
260
  for (const [path, pin] of Object.entries(current.patches)) if (pin !== null) layers.push(state.api.loadOverlayPatches('dsh', path))
188
261
  const warnings = []
@@ -197,19 +270,26 @@ export async function inspectDshInstallation(options) {
197
270
  }
198
271
 
199
272
  /** Runs only the pinned public CLI; retains partial state on failure, never rolls back. */
200
- export async function applyDshInstallation(plan, { adapter } = {}) {
273
+ export async function applyDshInstallation(plan, { adapter, signal, timeoutMs = 0, logDirectory } = {}) {
201
274
  const { planSha256, ...unsigned } = plan
202
275
  assert.equal(digest(unsigned), planSha256, 'Plan or profile changed; replan before execution')
203
276
  const state = await protocol(adapter)
204
277
  const fresh = await planDshInstallation({ ...plan, adapter })
205
278
  assert.equal(fresh.planSha256, plan.planSha256, 'Plan or profile changed; replan before execution')
206
- let exitCode = 0, executionError = null
279
+ if (logDirectory !== undefined) {
280
+ await safeDirectory(logDirectory)
281
+ for (const root of [state.dshHome, ...Object.values(state.pins).map(pin => dirname(pin.path))])
282
+ assert.ok(!beneath(root, logDirectory) && !beneath(logDirectory, root), 'Command logs overlap host inputs')
283
+ if (process.platform === 'win32') await assertWindowsPrivate(logDirectory, { directory: true })
284
+ }
285
+ let exitCode = 0, executionError = null, execution = { state: 'not-needed', retrySafe: false }, diagnosticError = null
207
286
  if (fresh.action !== 'already-registered') {
208
- try {
209
- const result = await state.run(fresh.command, fresh.args, { cwd: fresh.before.dir,
210
- env: { ...process.env, DSH_HOME: state.dshHome, ...(state.pins.desktopHostManifest ? { ELECTRON_RUN_AS_NODE: '1' } : {}) }, shell: false, timeout: 120000, maxBuffer: 1024 * 1024 })
211
- exitCode = result.exitCode ?? result.status ?? 0
212
- } catch (error) { exitCode = Number.isInteger(error.code) ? error.code : 1; executionError = String(error.code ?? error.name) }
287
+ const command = await executeDshInstall(fresh.command, fresh.args, { cwd: fresh.before.dir,
288
+ env: { ...process.env, DSH_HOME: state.dshHome, ...(state.pins.desktopHostManifest ? { ELECTRON_RUN_AS_NODE: '1' } : {}) } },
289
+ { run: state.run, signal, timeoutMs })
290
+ ;({ exitCode, executionError, execution } = command)
291
+ try { await retainCommandOutput(logDirectory, command) }
292
+ catch (error) { diagnosticError = String(error.code ?? error.name) }
213
293
  }
214
294
  let readback = null, readbackError = null, userConfigurationPreserved = false
215
295
  try {
@@ -217,9 +297,10 @@ export async function applyDshInstallation(plan, { adapter } = {}) {
217
297
  userConfigurationPreserved = readback.foreignSha256 === plan.before.foreignSha256
218
298
  && digest(readback.patches) === digest(plan.before.patches) && digest(readback.configPins) === digest(plan.before.configPins)
219
299
  } catch (error) { readbackError = error.message }
220
- const succeeded = exitCode === 0 && userConfigurationPreserved && readback?.configurationParsed === true
300
+ const succeeded = exitCode === 0 && diagnosticError === null && userConfigurationPreserved && readback?.configurationParsed === true
221
301
  return { scope: adapter.scope, status: succeeded ? 'registered-config-parsed' : 'failed-partial-state-retained',
222
- exitCode, executionError, readbackError, readback, userConfigurationPreserved,
302
+ exitCode, executionError, execution, diagnosticError, readbackError, readback, userConfigurationPreserved,
303
+ userConfigurationStatus: readback === null ? 'unverified' : userConfigurationPreserved ? 'observed-matching' : 'changed',
223
304
  rollbackAttempted: false, partialStateRetained: !succeeded,
224
305
  runtimeMounted: false, bundleCycleVerified: false, releaseValidated: false }
225
306
  }
@@ -57,6 +57,46 @@ async function packageRoot(name,roots) {
57
57
  }
58
58
  throw Object.assign(Error(`Missing installed dependency: ${name}`),{code:'ENOENT'})
59
59
  }
60
+ const GIT_CHECKS=['init','publish','history','diff','read','agent-read-arguments','project-pin','read-no-publication']
61
+ async function describeGit(root,observation,pins) {
62
+ const manifest=JSON.parse(await readFile(join(root,'package.json'),'utf8'))
63
+ const declared=manifest['x-design-release-review']?.nativeGit
64
+ if(declared===undefined)return {required:false,status:'not-declared'}
65
+ assert.equal(declared,'shared-core-library','Unknown installed Git runtime declaration')
66
+ const shared=join(root,'payload/shared'),nativeRoot=join(shared,'git-native'),byPath=new Map(pins.map(pin=>[pin.path,pin]))
67
+ const pin=path=>{const value=byPath.get(path);assert.ok(value,'Missing installed Git asset: '+path);return value}
68
+ const recipe=JSON.parse(await readFile(pin(join(nativeRoot,'runtime-manifest.json')).path,'utf8'))
69
+ const source=JSON.parse(await readFile(pin(join(nativeRoot,'SOURCE.json')).path,'utf8'))
70
+ assert.equal(recipe.schemaVersion,1);assert.equal(pin(join(nativeRoot,'SOURCE.json')).sha256,recipe.sourceSha256)
71
+ const pathFor=path=>{assert.ok(typeof path==='string'&&path&&!path.includes('\\')&&!path.split('/').some(p=>!p||p==='.'||p==='..'),'Unsafe Git manifest path');const target=resolve(nativeRoot,path);assert.ok(inside(nativeRoot,target)&&target!==nativeRoot);return target}
72
+ for(const [path,identity] of Object.entries(recipe.files))assert.equal(pin(pathFor(path)).sha256,identity.sha256,'Installed Git material changed')
73
+ for(const input of [...source.inputs,...source.artifacts])assert.equal(pin(pathFor(input.path)).sha256,input.sha256,'Installed Git source/prebuild changed')
74
+ assert.deepEqual(source.artifacts.map(x=>x.path).sort(),['native/yugoo_git.linux-x64.node','native/yugoo_git.win32-x64.node'])
75
+ assert.ok(['linux','win32'].includes(observation.platform)&&observation.arch==='x64'&&(observation.platform!=='linux'||observation.libc==='glibc'),'Unsupported installed Git platform')
76
+ const descriptor={required:true,status:'present',backend:'native',
77
+ worker:pin(join(shared,'scripts/git-native-worker.js')),probe:pin(join(shared,'scripts/git-runtime-check.mjs')),
78
+ loader:pin(join(nativeRoot,'index.cjs')),materials:pin(join(nativeRoot,'runtime-manifest.json')),
79
+ native:pin(join(nativeRoot,`native/yugoo_git.${observation.platform}-${observation.arch}.node`))}
80
+ return {...descriptor,identitySha256:digest(descriptor)}
81
+ }
82
+ /** New packages require Git independently of the optional embedding runtime. */
83
+ export function assertGitRuntimeReceipt(receipt,current) {
84
+ const expected=current.gitPrerequisites
85
+ if(!expected?.required)return
86
+ assert.equal(receipt.scope,'installed-runtime-readonly','Required Git check needs an actual installed-runtime receipt')
87
+ assert.deepEqual(receipt.gitPrerequisites,expected,'Git static prerequisites mismatch')
88
+ assert.equal(expected.status,'present','Required Git assets are not present')
89
+ assert.equal(receipt.git?.required,true,'Required Git receipt missing')
90
+ assert.equal(receipt.git.status,'passed','Required library Git check did not pass')
91
+ assert.equal(receipt.git.identitySha256,expected.identitySha256,'Git runtime descriptor drift')
92
+ for(const key of ['backend','worker','probe','loader','materials','native'])assert.deepEqual(receipt.git[key],expected[key],'Git runtime '+key+' mismatch')
93
+ const load=receipt.git.load
94
+ assert.equal(load?.status,'passed');assert.equal(load.code,0);assert.equal(load.signal,null)
95
+ assert.ok(Number.isInteger(load.childPid)&&load.childPid>0,'Git check child PID missing')
96
+ assert.equal(load.childAbsent,true,'Git check child exit was not verified')
97
+ for(const key of ['execPath','node','platform','arch'])assert.equal(load.observation?.[key],current.observation[key],'Git check '+key+' mismatch')
98
+ assert.equal(load.externalGitCalls,0);assert.deepEqual(load.checks,GIT_CHECKS)
99
+ }
60
100
  export async function inspectRuntime({npmRoot,disableEmbedding=false,host}={}) {
61
101
  assert.equal(typeof disableEmbedding,'boolean')
62
102
  const root=resolve(npmRoot)
@@ -69,10 +109,12 @@ export async function inspectRuntime({npmRoot,disableEmbedding=false,host}={}) {
69
109
  semanticKagVerified:false,graVerified:false,licenseObligationsAccepted:false}
70
110
  const finalize=()=>{
71
111
  result.pins.sort((a,b)=>a.path.localeCompare(b.path))
72
- result.identitySha256=digest({npmRoot:root,observation,embedding:result.embedding,pins:result.pins})
112
+ result.identitySha256=digest({npmRoot:root,observation,embedding:result.embedding,gitPrerequisites:result.gitPrerequisites,pins:result.pins})
73
113
  return result
74
114
  }
75
115
  if(host==='dsh'){result.status='not-applicable';result.reason='DSH package route is not a Companion runtime';return finalize()}
116
+ try {result.gitPrerequisites=await describeGit(root,observation,result.pins)}
117
+ catch(e) {result.gitPrerequisites={required:true,status:'failed',reason:e.message};result.status='failed';result.reason=e.message;return finalize()}
76
118
  if(disableEmbedding){result.status='disabled';return finalize()}
77
119
  try {
78
120
  const runtime=join(root,'payload/shared/knowledge/runtime.mjs')
@@ -120,6 +162,38 @@ export async function checkRuntime(options) {
120
162
  if(before.sharp)assert.ok(!inside(before.sharp.root,directory),'Receipt directory overlaps sharp')
121
163
  await assertRuntimePath(directory)
122
164
  const receipt={...before,load:{status:'not-run'},releaseValidated:false,scope:run?'isolated-test-contract':'installed-runtime-readonly'}
165
+ receipt.git=before.gitPrerequisites??{required:false,status:'not-declared'}
166
+ if(before.gitPrerequisites?.required) {
167
+ let childPid=null,diagnostic
168
+ try {
169
+ assert.equal(before.gitPrerequisites.status,'present','Required installed Git assets are missing or changed')
170
+ const entry=before.gitPrerequisites.probe.path
171
+ await mkdir(directory,{recursive:true})
172
+ diagnostic=await mkdtemp(join(directory,'library-git-'))
173
+ for(const name of ['home','tmp','cache'])await mkdir(join(diagnostic,name))
174
+ const env={PATH:'',HOME:join(diagnostic,'home'),USERPROFILE:join(diagnostic,'home'),TMPDIR:join(diagnostic,'tmp'),TMP:join(diagnostic,'tmp'),TEMP:join(diagnostic,'tmp'),XDG_CACHE_HOME:join(diagnostic,'cache')}
175
+ if(process.platform==='win32'&&process.env.SystemRoot)env.SystemRoot=process.env.SystemRoot
176
+ const pending=execute(before.observation.execPath,[entry],{cwd:diagnostic,env,timeout:30000,killSignal:'SIGKILL',maxBuffer:1024*1024,encoding:'utf8'})
177
+ childPid=pending.child?.pid??null
178
+ const output=await pending
179
+ const value=JSON.parse(output.stdout)
180
+ assert.equal(value.status,'passed');assert.equal(value.backend,'native');assert.equal(value.externalGitCalls,0)
181
+ assert.deepEqual(value.checks,GIT_CHECKS)
182
+ assert.ok(Number.isInteger(childPid)&&childPid>0,'Git diagnostic child PID missing')
183
+ let childAbsent=false
184
+ try {process.kill(childPid,0)} catch(e) {childAbsent=e.code==='ESRCH'}
185
+ assert.equal(childAbsent,true,'Git check child is still present')
186
+ const after=await inspectRuntime(options)
187
+ assert.equal(after.identitySha256,before.identitySha256,'Runtime prerequisites changed during Git check')
188
+ receipt.git={...before.gitPrerequisites,status:'passed',load:{...value,code:0,signal:null,childPid,childAbsent,diagnosticDirectory:diagnostic,stderr:output.stderr}}
189
+ assertGitRuntimeReceipt(receipt,before)
190
+ } catch(e) {
191
+ let childAbsent=null
192
+ if(childPid) {try {process.kill(childPid,0);childAbsent=false} catch(error) {childAbsent=error.code==='ESRCH'}}
193
+ receipt.git={...before.gitPrerequisites,status:'failed',reason:e.message,load:{status:'failed',code:e.code??null,signal:e.signal??null,killed:e.killed??false,childPid,childAbsent,diagnosticDirectory:diagnostic,stderr:String(e.stderr??'').slice(0,16384)}}
194
+ receipt.status='failed';return receipt
195
+ }
196
+ }
123
197
  if(before.status!=='present')return receipt
124
198
  await mkdir(directory,{recursive:true})
125
199
  const diagnostic=await mkdtemp(join(directory,'native-load-'))