binary-collections 2.0.13 → 2.0.14

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 (286) hide show
  1. package/binaries/binary-executor.cjs +307 -238
  2. package/binaries/clean-nodemodule.cjs +307 -238
  3. package/binaries/clean-nodemodules.cjs +307 -238
  4. package/binaries/composer.cjs +323 -0
  5. package/binaries/composer.cmd +2 -0
  6. package/binaries/composer.phar +0 -0
  7. package/binaries/dev.cjs +307 -238
  8. package/binaries/empty.cjs +307 -238
  9. package/binaries/git-reduce-size.cjs +307 -238
  10. package/binaries/javakill.cjs +307 -238
  11. package/binaries/kill-process.cjs +307 -238
  12. package/binaries/nodekill.cjs +307 -238
  13. package/binaries/prod.cjs +307 -238
  14. package/binaries/py.cjs +307 -238
  15. package/binaries/rmfind.cjs +307 -238
  16. package/binaries/rmx.cjs +307 -238
  17. package/binaries/submodule-token.cjs +307 -238
  18. package/binaries/test-cjs.cjs +307 -238
  19. package/binaries/test-esm.cjs +307 -238
  20. package/binaries/yarn-clean.cjs +307 -238
  21. package/binaries/yc.cjs +307 -238
  22. package/binaries/ycw.cjs +307 -238
  23. package/docs-src/binary-collections.md +1 -1
  24. package/docs-src/clean-github-actions-caches.md +1 -1
  25. package/docs-src/copy-move-file.md +1 -4
  26. package/docs-src/del-ps.md +1 -1
  27. package/docs-src/find-node-modules.md +1 -1
  28. package/docs-src/generate-test-ci.md +56 -0
  29. package/docs-src/get-latest-workflow-status.md +100 -0
  30. package/docs-src/git-diff.md +1 -1
  31. package/docs-src/git-fix.md +1 -1
  32. package/docs-src/git-purge.md +1 -1
  33. package/docs-src/kill-night-crows.md +1 -1
  34. package/docs-src/node-cache-cleaner.md +2 -2
  35. package/docs-src/node-package-packer.md +1 -1
  36. package/docs-src/opencode-cli.md +127 -0
  37. package/docs-src/package-resolutions-updater.md +1 -1
  38. package/docs-src/rmpath.md +1 -1
  39. package/docs-src/run-by-checksum.md +1 -1
  40. package/docs-src/submodule-remove.md +1 -1
  41. package/docs-src/upload-backend.md +29 -0
  42. package/docs-src/vscode-cli.md +84 -0
  43. package/docs-src/workflow-badge.md +120 -0
  44. package/lib/binary-collections/config.cjs +14 -2
  45. package/lib/binary-collections/config.d.cts +10 -0
  46. package/lib/binary-collections/config.mjs +2 -2
  47. package/lib/binary-collections/findScript.cjs +43 -21
  48. package/lib/binary-collections/findScript.mjs +2 -2
  49. package/lib/binary-collections/listScript.cjs +43 -21
  50. package/lib/binary-collections/listScript.mjs +2 -2
  51. package/lib/binary-collections.cjs +43 -21
  52. package/lib/binary-collections.mjs +6 -6
  53. package/lib/chunk-2SJKVOTN.mjs +146 -0
  54. package/lib/{chunk-2MN4VPV2.mjs → chunk-3F6EIHYG.mjs} +2 -2
  55. package/lib/chunk-546KAIYT.mjs +113 -0
  56. package/lib/chunk-56BVU63B.mjs +86 -0
  57. package/lib/chunk-5WAOOOGZ.mjs +77 -0
  58. package/lib/chunk-72XTQ3CK.mjs +45 -0
  59. package/lib/chunk-7N52Z4IJ.mjs +39 -0
  60. package/lib/chunk-7Q6YEUQF.mjs +246 -0
  61. package/lib/{chunk-NQXUYO67.mjs → chunk-AJ3OIYYP.mjs} +43 -21
  62. package/lib/chunk-AQZ7LMFS.mjs +100 -0
  63. package/lib/chunk-BDCMTOZI.mjs +246 -0
  64. package/lib/chunk-BEUM4LH4.mjs +184 -0
  65. package/lib/{chunk-TBWXE7ST.mjs → chunk-BO4TZS4Q.mjs} +5 -2
  66. package/lib/chunk-CM3IC5YC.mjs +226 -0
  67. package/lib/{chunk-FLYSZFLW.mjs → chunk-D42YBRZW.mjs} +1 -1
  68. package/lib/chunk-FR3DMHJC.mjs +146 -0
  69. package/lib/chunk-I3O5ZRYU.mjs +77 -0
  70. package/lib/chunk-J4M5EL5P.mjs +108 -0
  71. package/lib/chunk-JK3MG2KF.mjs +236 -0
  72. package/lib/chunk-JMUFQSPE.mjs +184 -0
  73. package/lib/chunk-JVMLKHD2.mjs +62 -0
  74. package/lib/chunk-KAT2JNLZ.mjs +146 -0
  75. package/lib/{chunk-CD3HF3LK.mjs → chunk-KRCPFWIF.mjs} +6 -3
  76. package/lib/chunk-LACQTD5V.mjs +225 -0
  77. package/lib/chunk-MCCMMZSM.mjs +60 -0
  78. package/lib/chunk-OA2RKEY3.mjs +162 -0
  79. package/lib/{chunk-X2B3X7D4.mjs → chunk-PAZH45HS.mjs} +7 -1
  80. package/lib/chunk-QZMGBDSA.mjs +32 -0
  81. package/lib/chunk-RKPIBGKE.mjs +61 -0
  82. package/lib/chunk-SARIXFHP.mjs +44 -0
  83. package/lib/chunk-SJYP66BO.mjs +62 -0
  84. package/lib/chunk-SWUAEY4H.mjs +44 -0
  85. package/lib/chunk-TP3O2JGW.mjs +88 -0
  86. package/lib/chunk-UAIF5VIA.mjs +89 -0
  87. package/lib/chunk-UDZBVKXH.mjs +94 -0
  88. package/lib/chunk-UEOWRYAN.mjs +32 -0
  89. package/lib/chunk-UHPFLJXH.mjs +227 -0
  90. package/lib/chunk-UYNBNLV5.mjs +113 -0
  91. package/lib/chunk-WOC4FZ6F.mjs +164 -0
  92. package/lib/chunk-X7UVQ6ZC.mjs +183 -0
  93. package/lib/{chunk-RDN6HF5Z.mjs → chunk-XI67TI46.mjs} +1 -1
  94. package/lib/chunk-XW5NZAKI.mjs +82 -0
  95. package/lib/chunk-YLV4QATP.mjs +86 -0
  96. package/lib/chunk-YWSLMAQ7.mjs +65 -0
  97. package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
  98. package/lib/cross-env/index.mjs +3 -3
  99. package/lib/del-gradle.cjs +1 -1
  100. package/lib/del-gradle.mjs +22 -16
  101. package/lib/del-node-modules.cjs +1 -1
  102. package/lib/del-node-modules.mjs +148 -142
  103. package/lib/find-node-modules-cli.cjs +1 -1
  104. package/lib/find-node-modules-cli.mjs +10 -4
  105. package/lib/{git-diff-cli.cjs → git/git-diff-cli.cjs} +18 -6
  106. package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
  107. package/lib/{git-diff.cjs → git/git-diff.cjs} +16 -4
  108. package/lib/{git-diff.js → git/git-diff.js} +3 -3
  109. package/lib/{git-diff.mjs → git/git-diff.mjs} +6 -6
  110. package/lib/{git-fix.cjs → git/git-fix.cjs} +134 -3
  111. package/lib/{git-fix.mjs → git/git-fix.mjs} +19 -14
  112. package/lib/{git-purge.cjs → git/git-purge.cjs} +1 -1
  113. package/lib/{git-purge.mjs → git/git-purge.mjs} +4 -4
  114. package/lib/git/user-config.cjs +131 -1
  115. package/lib/git/user-config.mjs +3 -1
  116. package/lib/{clean-github-actions-caches-cli.cjs → github-workflows/clean-github-actions-caches-cli.cjs} +38 -10
  117. package/lib/{clean-github-actions-caches-cli.mjs → github-workflows/clean-github-actions-caches-cli.mjs} +7 -6
  118. package/lib/{clean-github-actions-caches.cjs → github-workflows/clean-github-actions-caches.cjs} +38 -10
  119. package/lib/{clean-github-actions-caches.mjs → github-workflows/clean-github-actions-caches.mjs} +5 -4
  120. package/lib/github-workflows/generate-test-ci-step-cli.cjs +240 -0
  121. package/lib/github-workflows/generate-test-ci-step-cli.d.mts +2 -0
  122. package/lib/github-workflows/generate-test-ci-step-cli.mjs +132 -0
  123. package/lib/github-workflows/get-latest-workflow-status-cli.cjs +541 -0
  124. package/lib/github-workflows/get-latest-workflow-status-cli.d.mts +2 -0
  125. package/lib/github-workflows/get-latest-workflow-status-cli.mjs +61 -0
  126. package/lib/github-workflows/get-latest-workflow-status.cjs +56 -0
  127. package/lib/github-workflows/get-latest-workflow-status.d.mts +1 -0
  128. package/lib/github-workflows/get-latest-workflow-status.mjs +8 -0
  129. package/lib/github-workflows/utils.cjs +271 -0
  130. package/lib/github-workflows/utils.d.cts +76 -0
  131. package/lib/github-workflows/utils.mjs +8 -0
  132. package/lib/github-workflows/workflow-badge-cli.cjs +722 -0
  133. package/lib/github-workflows/workflow-badge-cli.d.mts +2 -0
  134. package/lib/github-workflows/workflow-badge-cli.mjs +98 -0
  135. package/lib/github-workflows/workflow-badge-generator.cjs +200 -0
  136. package/lib/github-workflows/workflow-badge-generator.d.mts +14 -0
  137. package/lib/github-workflows/workflow-badge-generator.mjs +8 -0
  138. package/lib/github-workflows/workflow-test-data.cjs +73 -0
  139. package/lib/github-workflows/workflow-test-data.d.cts +63 -0
  140. package/lib/github-workflows/workflow-test-data.mjs +6 -0
  141. package/lib/opencode/cli/auth-rotate.cjs +143 -0
  142. package/lib/opencode/cli/auth-rotate.d.ts +1 -0
  143. package/lib/opencode/cli/auth-rotate.js +70 -0
  144. package/lib/opencode/cli/auth-rotate.mjs +10 -0
  145. package/lib/opencode/cli/list-projects.cjs +184 -0
  146. package/lib/opencode/cli/list-projects.d.ts +1 -0
  147. package/lib/opencode/cli/list-projects.js +32 -0
  148. package/lib/opencode/cli/list-projects.mjs +11 -0
  149. package/lib/opencode/cli/list-sessions.cjs +215 -0
  150. package/lib/opencode/cli/list-sessions.d.ts +1 -0
  151. package/lib/opencode/cli/list-sessions.js +45 -0
  152. package/lib/opencode/cli/list-sessions.mjs +11 -0
  153. package/lib/opencode/database.cjs +349 -0
  154. package/lib/opencode/database.d.ts +91 -0
  155. package/lib/opencode/database.js +252 -0
  156. package/lib/opencode/database.mjs +28 -0
  157. package/lib/opencode/database.runner.cjs +145 -0
  158. package/lib/opencode/database.runner.d.ts +1 -0
  159. package/lib/opencode/database.runner.js +56 -0
  160. package/lib/opencode/database.runner.mjs +37 -0
  161. package/lib/opencode/opencode-zen.runner.cjs +48 -0
  162. package/lib/opencode/opencode-zen.runner.d.mts +1 -0
  163. package/lib/opencode/opencode-zen.runner.mjs +31 -0
  164. package/lib/opencode/sqlite.cjs +114 -0
  165. package/lib/opencode/sqlite.d.ts +18 -0
  166. package/lib/opencode/sqlite.js +82 -0
  167. package/lib/opencode/sqlite.mjs +10 -0
  168. package/lib/opencode/storage.cjs +124 -0
  169. package/lib/opencode/storage.d.ts +27 -0
  170. package/lib/opencode/storage.js +101 -0
  171. package/lib/opencode/storage.mjs +38 -0
  172. package/lib/opencode/storage.runner.cjs +50 -0
  173. package/lib/opencode/storage.runner.d.ts +1 -0
  174. package/lib/opencode/storage.runner.js +13 -0
  175. package/lib/opencode/storage.runner.mjs +29 -0
  176. package/lib/opencode/types.cjs +17 -0
  177. package/lib/opencode/types.d.ts +31 -0
  178. package/lib/opencode/types.js +2 -0
  179. package/lib/opencode/types.mjs +7 -0
  180. package/lib/opencode/utils/check-api.cjs +59 -0
  181. package/lib/opencode/utils/check-api.d.ts +12 -0
  182. package/lib/opencode/utils/check-api.js +46 -0
  183. package/lib/opencode/utils/check-api.mjs +8 -0
  184. package/lib/opencode-cli.cjs +473 -0
  185. package/lib/opencode-cli.d.ts +2 -0
  186. package/lib/opencode-cli.js +115 -0
  187. package/lib/opencode-cli.mjs +111 -0
  188. package/lib/package-resolutions-updater-cli.cjs +181 -154
  189. package/lib/package-resolutions-updater-cli.mjs +3 -2
  190. package/lib/package-resolutions-updater.cjs +181 -154
  191. package/lib/package-resolutions-updater.d.mts +12 -3
  192. package/lib/package-resolutions-updater.mjs +3 -2
  193. package/lib/print-directory-tree.cjs +131 -3
  194. package/lib/print-directory-tree.mjs +6 -3
  195. package/lib/rmpath-cli.cjs +131 -5
  196. package/lib/rmpath-cli.mjs +3 -1
  197. package/lib/rmpath.cjs +147 -11
  198. package/lib/rmpath.mjs +3 -1
  199. package/lib/run-by-checksum/hash.cjs +18 -2
  200. package/lib/run-by-checksum/hash.d.ts +4 -1
  201. package/lib/run-by-checksum/hash.js +38 -4
  202. package/lib/run-by-checksum/hash.mjs +1 -1
  203. package/lib/run-by-checksum/run.cjs +18 -2
  204. package/lib/run-by-checksum/run.mjs +2 -2
  205. package/lib/run-by-checksum-cli.cjs +18 -2
  206. package/lib/run-by-checksum-cli.mjs +2 -2
  207. package/lib/submodule-install.cjs +130 -4
  208. package/lib/submodule-install.mjs +5 -4
  209. package/lib/submodule-remove-cli.cjs +131 -5
  210. package/lib/submodule-remove-cli.mjs +3 -1
  211. package/lib/submodule-remove.cjs +146 -5
  212. package/lib/submodule-remove.mjs +3 -1
  213. package/lib/utils/findEnvFiles.cjs +3 -0
  214. package/lib/utils/findEnvFiles.d.cts +2 -2
  215. package/lib/utils/findEnvFiles.mjs +1 -1
  216. package/lib/vscode/project.cjs +0 -0
  217. package/lib/vscode/project.d.ts +0 -0
  218. package/lib/vscode/project.js +1 -0
  219. package/lib/vscode/project.mjs +7 -0
  220. package/lib/vscode/storage.cjs +138 -0
  221. package/lib/vscode/storage.d.ts +51 -0
  222. package/lib/vscode/storage.js +169 -0
  223. package/lib/vscode/storage.mjs +42 -0
  224. package/lib/vscode/storage.runner.cjs +125 -0
  225. package/lib/vscode/storage.runner.d.ts +1 -0
  226. package/lib/vscode/storage.runner.js +47 -0
  227. package/lib/vscode/storage.runner.mjs +60 -0
  228. package/lib/vscode-cli.cjs +155 -0
  229. package/lib/vscode-cli.d.ts +2 -0
  230. package/lib/vscode-cli.js +80 -0
  231. package/lib/vscode-cli.mjs +71 -0
  232. package/package.json +43 -21
  233. package/readme.md +41 -8
  234. package/releases/readme.md +1 -1
  235. package/src/github-workflows/generate-test-ci-step-cli.mjs +126 -0
  236. package/vendor/clue/ndjson-react/README.md +365 -0
  237. package/vendor/composer/pcre/README.md +189 -0
  238. package/vendor/composer/semver/README.md +99 -0
  239. package/vendor/composer/xdebug-handler/README.md +305 -0
  240. package/vendor/ergebnis/agent-detector/README.md +107 -0
  241. package/vendor/evenement/evenement/README.md +64 -0
  242. package/vendor/fidry/cpu-core-counter/README.md +138 -0
  243. package/vendor/friendsofphp/php-cs-fixer/README.md +97 -0
  244. package/vendor/psr/container/README.md +13 -0
  245. package/vendor/psr/event-dispatcher/README.md +6 -0
  246. package/vendor/psr/log/README.md +58 -0
  247. package/vendor/react/cache/README.md +367 -0
  248. package/vendor/react/child-process/README.md +619 -0
  249. package/vendor/react/dns/README.md +453 -0
  250. package/vendor/react/event-loop/README.md +930 -0
  251. package/vendor/react/promise/README.md +722 -0
  252. package/vendor/react/socket/README.md +1564 -0
  253. package/vendor/react/stream/README.md +1249 -0
  254. package/vendor/sebastian/diff/README.md +151 -0
  255. package/vendor/symfony/console/README.md +30 -0
  256. package/vendor/symfony/deprecation-contracts/README.md +26 -0
  257. package/vendor/symfony/event-dispatcher/README.md +25 -0
  258. package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
  259. package/vendor/symfony/filesystem/README.md +23 -0
  260. package/vendor/symfony/finder/README.md +24 -0
  261. package/vendor/symfony/options-resolver/README.md +25 -0
  262. package/vendor/symfony/polyfill-ctype/README.md +12 -0
  263. package/vendor/symfony/polyfill-intl-grapheme/README.md +32 -0
  264. package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
  265. package/vendor/symfony/polyfill-mbstring/README.md +13 -0
  266. package/vendor/symfony/polyfill-php80/README.md +25 -0
  267. package/vendor/symfony/polyfill-php81/README.md +18 -0
  268. package/vendor/symfony/polyfill-php84/README.md +23 -0
  269. package/vendor/symfony/polyfill-php85/README.md +20 -0
  270. package/vendor/symfony/process/README.md +23 -0
  271. package/vendor/symfony/service-contracts/README.md +9 -0
  272. package/vendor/symfony/stopwatch/README.md +52 -0
  273. package/vendor/symfony/string/README.md +24 -0
  274. package/lib/del-gradle.js +0 -16
  275. package/lib/del-node-modules.js +0 -211
  276. package/lib/find-node-modules-cli.js +0 -4
  277. /package/lib/{clean-github-actions-caches-cli.d.cts → del-gradle.d.cts} +0 -0
  278. /package/lib/{del-gradle.d.ts → del-node-modules.d.cts} +0 -0
  279. /package/lib/{find-node-modules-cli.d.ts → find-node-modules-cli.d.cts} +0 -0
  280. /package/lib/{git-diff-cli.d.ts → git/git-diff-cli.d.ts} +0 -0
  281. /package/lib/{git-diff-cli.js → git/git-diff-cli.js} +0 -0
  282. /package/lib/{git-diff.d.ts → git/git-diff.d.ts} +0 -0
  283. /package/lib/{git-fix.d.cts → git/git-fix.d.cts} +0 -0
  284. /package/lib/{git-purge.d.cts → git/git-purge.d.cts} +0 -0
  285. /package/lib/{del-node-modules.d.ts → github-workflows/clean-github-actions-caches-cli.d.cts} +0 -0
  286. /package/lib/{clean-github-actions-caches.d.cts → github-workflows/clean-github-actions-caches.d.cts} +0 -0
@@ -0,0 +1,60 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/run-by-checksum/hash.js
7
+ init_esm_shims();
8
+ import fs from "fs-extra";
9
+ import * as glob from "glob";
10
+ import upath from "upath";
11
+ import path from "upath";
12
+ import crypto from "crypto";
13
+ function getAllFiles({ patterns, ignore, cwd }) {
14
+ const files = /* @__PURE__ */ new Set();
15
+ const root = cwd || process.cwd();
16
+ for (const pattern of patterns) {
17
+ const matched = glob.sync(pattern, {
18
+ cwd: root,
19
+ nodir: true,
20
+ ignore
21
+ });
22
+ for (const f of matched) {
23
+ files.add(upath.normalize(path.resolve(root, f)));
24
+ }
25
+ }
26
+ return [...files].sort();
27
+ }
28
+ function isBinaryFile(filePath, bytesToCheck = 8e3) {
29
+ const buffer = fs.readFileSync(filePath, { length: bytesToCheck });
30
+ for (let i = 0; i < buffer.length; i++) {
31
+ if (buffer[i] === 0) {
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ }
37
+ function hashFile(file) {
38
+ const isBin = isBinaryFile(file);
39
+ if (!isBin) {
40
+ const content = fs.readFileSync(file, { encoding: "utf-8" });
41
+ const normalized = content.toString().replace(/\s+/g, " ").trim();
42
+ return crypto.createHash("sha256").update(normalized).digest("hex");
43
+ } else {
44
+ const stats = fs.statSync(file);
45
+ return crypto.createHash("sha256").update(file).update(String(stats.size)).digest("hex");
46
+ }
47
+ }
48
+ function buildChecksum(files) {
49
+ const hash = crypto.createHash("sha256");
50
+ for (const file of files) {
51
+ hash.update(file);
52
+ hash.update(hashFile(file));
53
+ }
54
+ return hash.digest("hex");
55
+ }
56
+
57
+ export {
58
+ getAllFiles,
59
+ buildChecksum
60
+ };
@@ -0,0 +1,162 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_config
4
+ } from "./chunk-PAZH45HS.mjs";
5
+ import {
6
+ __toESM,
7
+ init_esm_shims
8
+ } from "./chunk-QQ4A6DLD.mjs";
9
+
10
+ // src/github-workflows/get-latest-workflow-status.mjs
11
+ init_esm_shims();
12
+ var import_config = __toESM(require_config(), 1);
13
+ import axios from "axios";
14
+ import { spawn } from "cross-spawn";
15
+ if (!import_config.GITHUB_ACCESS_TOKEN) {
16
+ console.error("Missing env var: ACCESS_TOKEN or GITHUB_TOKEN");
17
+ process.exit(1);
18
+ }
19
+ var BASE = "https://api.github.com";
20
+ var headers = {
21
+ Authorization: `Bearer ${import_config.GITHUB_ACCESS_TOKEN}`,
22
+ Accept: "application/vnd.github+json",
23
+ "X-GitHub-Api-Version": "2022-11-28"
24
+ };
25
+ async function request(url) {
26
+ try {
27
+ const res = await axios.get(url, { headers });
28
+ return res.data;
29
+ } catch (err) {
30
+ if (err == null ? void 0 : err.response) {
31
+ const statusText = err.response.statusText || "Request failed";
32
+ const responseText = typeof err.response.data === "string" ? err.response.data : JSON.stringify(err.response.data);
33
+ throw new Error(`${err.response.status} ${statusText}
34
+ ${responseText}`);
35
+ }
36
+ throw err;
37
+ }
38
+ }
39
+ function runGit(args) {
40
+ return new Promise((resolve, reject) => {
41
+ var _a, _b;
42
+ const child = spawn("git", args, {
43
+ cwd: process.cwd(),
44
+ stdio: ["ignore", "pipe", "pipe"]
45
+ });
46
+ let stdout = "";
47
+ let stderr = "";
48
+ (_a = child.stdout) == null ? void 0 : _a.on("data", (chunk) => {
49
+ stdout += chunk.toString();
50
+ });
51
+ (_b = child.stderr) == null ? void 0 : _b.on("data", (chunk) => {
52
+ stderr += chunk.toString();
53
+ });
54
+ child.on("error", reject);
55
+ child.on("close", (code) => {
56
+ if (code === 0) {
57
+ resolve(stdout.trim());
58
+ return;
59
+ }
60
+ reject(new Error(stderr.trim() || `git ${args.join(" ")} exited with code ${code}`));
61
+ });
62
+ });
63
+ }
64
+ function getOwnerFromRemoteUrl(remoteUrl) {
65
+ var _a;
66
+ const normalized = remoteUrl.trim().replace(/\.git$/i, "");
67
+ const match = normalized.match(/github\.com[:/](?<owner>[^/]+)\/(?<repo>[^/]+)$/i);
68
+ return ((_a = match == null ? void 0 : match.groups) == null ? void 0 : _a.owner) || null;
69
+ }
70
+ function getRepoFromRemoteUrl(remoteUrl) {
71
+ var _a;
72
+ const normalized = remoteUrl.trim().replace(/\.git$/i, "");
73
+ const match = normalized.match(/github\.com[:/](?<owner>[^/]+)\/(?<repo>[^/]+)$/i);
74
+ return ((_a = match == null ? void 0 : match.groups) == null ? void 0 : _a.repo) || null;
75
+ }
76
+ async function getCurrentOwner() {
77
+ const commands = [
78
+ ["config", "--local", "--get", "remote.origin.url"],
79
+ ["remote", "get-url", "origin"]
80
+ ];
81
+ for (const args of commands) {
82
+ try {
83
+ const remoteUrl = await runGit(args);
84
+ const owner = getOwnerFromRemoteUrl(remoteUrl);
85
+ if (owner) {
86
+ return owner;
87
+ }
88
+ } catch {
89
+ }
90
+ }
91
+ throw new Error("Unable to determine repository owner from git remote.origin.url");
92
+ }
93
+ async function getCurrentRepo() {
94
+ const commands = [
95
+ ["config", "--local", "--get", "remote.origin.url"],
96
+ ["remote", "get-url", "origin"]
97
+ ];
98
+ for (const args of commands) {
99
+ try {
100
+ const remoteUrl = await runGit(args);
101
+ const repo = getRepoFromRemoteUrl(remoteUrl);
102
+ if (repo) {
103
+ return repo;
104
+ }
105
+ } catch {
106
+ }
107
+ }
108
+ throw new Error("Unable to determine repository name from git remote.origin.url");
109
+ }
110
+ async function getLatestRun(owner, repo, workflowId) {
111
+ var _a;
112
+ let url = `${BASE}/repos/${owner}/${repo}/actions/runs?per_page=1`;
113
+ if (workflowId) {
114
+ url += `&workflow_id=${encodeURIComponent(workflowId)}`;
115
+ }
116
+ const data = await request(url);
117
+ return (_a = data.workflow_runs) == null ? void 0 : _a[0];
118
+ }
119
+ async function getJobs(owner, repo, runId) {
120
+ const url = `${BASE}/repos/${owner}/${repo}/actions/runs/${runId}/jobs`;
121
+ const data = await request(url);
122
+ return data.jobs || [];
123
+ }
124
+ function printReport(run, jobs) {
125
+ var _a;
126
+ console.log("\n==============================");
127
+ console.log("\u{1F680} Latest Workflow Run");
128
+ console.log("==============================");
129
+ console.log(`Name : ${run.name}`);
130
+ console.log(`Status : ${run.status}`);
131
+ console.log(`Conclusion: ${run.conclusion}`);
132
+ console.log(`Branch : ${run.head_branch}`);
133
+ console.log(`Run ID : ${run.id}`);
134
+ console.log(`URL : ${run.html_url}`);
135
+ console.log("\n==============================");
136
+ console.log("\u{1F9E9} Jobs & Steps");
137
+ console.log("==============================\n");
138
+ for (const job of jobs) {
139
+ console.log(`\u{1F9F1} Job: ${job.name}`);
140
+ console.log(` Status: ${job.status} | Conclusion: ${job.conclusion}`);
141
+ if (!((_a = job.steps) == null ? void 0 : _a.length)) {
142
+ console.log(" (no steps found)\n");
143
+ continue;
144
+ }
145
+ for (const step of job.steps) {
146
+ const icon = step.conclusion === "success" ? "\u2705" : step.conclusion === "failure" ? "\u274C" : step.conclusion === "skipped" ? "\u23ED\uFE0F" : "\u26AA";
147
+ console.log(` ${icon} ${step.name} -> ${step.conclusion} (${step.status})`);
148
+ }
149
+ console.log("");
150
+ }
151
+ }
152
+
153
+ export {
154
+ request,
155
+ getOwnerFromRemoteUrl,
156
+ getRepoFromRemoteUrl,
157
+ getCurrentOwner,
158
+ getCurrentRepo,
159
+ getLatestRun,
160
+ getJobs,
161
+ printReport
162
+ };
@@ -13,8 +13,13 @@ var require_config = __commonJS({
13
13
  "src/binary-collections/config.cjs"(exports, module) {
14
14
  init_esm_shims();
15
15
  var path = __require("upath");
16
+ var minimistLib = __require("minimist");
16
17
  var { findEnvWithToken } = require_findEnvFiles();
17
18
  __require("dotenv").config({ path: findEnvWithToken(), quiet: true, overwrite: true });
19
+ var cliArgv = minimistLib(process.argv.slice(2), {
20
+ string: ["token"]
21
+ });
22
+ var GITHUB_ACCESS_TOKEN = cliArgv.token || process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
18
23
  function getTempDir() {
19
24
  return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
20
25
  }
@@ -25,7 +30,8 @@ var require_config = __commonJS({
25
30
  module.exports = {
26
31
  getTempDir,
27
32
  getTempPath,
28
- TEMP_BASE_DIR
33
+ TEMP_BASE_DIR,
34
+ GITHUB_ACCESS_TOKEN
29
35
  };
30
36
  }
31
37
  });
@@ -0,0 +1,32 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/opencode/utils/check-api.ts
7
+ init_esm_shims();
8
+ import axios from "axios";
9
+ import { writefile } from "sbg-utility";
10
+ async function checkOpenCodeApi(prompt, apiKey, model = "deepseek-v4-flash-free") {
11
+ const res = await axios.post(
12
+ "https://opencode.ai/zen/v1/chat/completions",
13
+ {
14
+ model,
15
+ messages: [{ role: "user", content: prompt }],
16
+ max_tokens: 512
17
+ },
18
+ {
19
+ headers: { Authorization: `Bearer ${apiKey}` }
20
+ }
21
+ );
22
+ const filePath = `tmp/logs/opencode-api-check-${Date.now()}.json`;
23
+ writefile(filePath, JSON.stringify(res.data, null, 2));
24
+ const message = res.data.choices[0].message;
25
+ const output = message.content || message.reasoning_content;
26
+ const notEmptyOutput = output && output.trim().length > 0;
27
+ return notEmptyOutput;
28
+ }
29
+
30
+ export {
31
+ checkOpenCodeApi
32
+ };
@@ -0,0 +1,61 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ checkOpenCodeApi
4
+ } from "./chunk-QZMGBDSA.mjs";
5
+ import {
6
+ getOpenCodeAuth,
7
+ readJson,
8
+ saveOpenCodeAuth
9
+ } from "./chunk-XW5NZAKI.mjs";
10
+ import {
11
+ init_esm_shims
12
+ } from "./chunk-QQ4A6DLD.mjs";
13
+
14
+ // src/opencode/cli/auth-rotate.ts
15
+ init_esm_shims();
16
+ import path from "upath";
17
+ async function handleAuthRotate() {
18
+ let keysFile = path.join(process.cwd(), ".opencode.keys.jsonc");
19
+ let keys = await readJson(keysFile);
20
+ if (!keys) {
21
+ keysFile = path.join(process.cwd(), ".opencode.keys.json");
22
+ keys = await readJson(keysFile);
23
+ }
24
+ if (!keys || !Array.isArray(keys) || keys.length === 0) {
25
+ console.error("No valid .opencode.keys.json or .opencode.keys.jsonc found in current directory");
26
+ process.exit(1);
27
+ }
28
+ const auth = await getOpenCodeAuth();
29
+ if (!auth) {
30
+ console.error("No auth file found. Run configure first.");
31
+ process.exit(1);
32
+ }
33
+ const currentKey = auth.opencode.key;
34
+ const candidates = keys.filter((k) => k.key !== currentKey);
35
+ if (candidates.length === 0) {
36
+ console.error("No other keys available to rotate to");
37
+ process.exit(1);
38
+ }
39
+ let chosen = null;
40
+ for (const candidate of candidates) {
41
+ try {
42
+ const ok = await checkOpenCodeApi("Hello", candidate.key);
43
+ if (ok) {
44
+ chosen = candidate;
45
+ break;
46
+ }
47
+ } catch {
48
+ }
49
+ }
50
+ if (!chosen) {
51
+ console.error("No working key found among available keys");
52
+ process.exit(1);
53
+ }
54
+ auth.opencode.key = chosen.key;
55
+ await saveOpenCodeAuth(auth);
56
+ console.log(`Rotated OpenCode API key to: ${chosen.name}`);
57
+ }
58
+
59
+ export {
60
+ handleAuthRotate
61
+ };
@@ -0,0 +1,44 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_findEnvFiles
4
+ } from "./chunk-J4M5EL5P.mjs";
5
+ import {
6
+ __commonJS,
7
+ __require,
8
+ init_esm_shims
9
+ } from "./chunk-QQ4A6DLD.mjs";
10
+
11
+ // src/binary-collections/config.cjs
12
+ var require_config = __commonJS({
13
+ "src/binary-collections/config.cjs"(exports, module) {
14
+ init_esm_shims();
15
+ var path = __require("upath");
16
+ var minimistLib = __require("minimist");
17
+ var { findEnvWithToken } = require_findEnvFiles();
18
+ var dotenv = __require("dotenv");
19
+ var loadDotenv = (tokenKey = /ACCESS_TOKEN|GITHUB_TOKEN/) => dotenv.config({ path: findEnvWithToken(void 0, tokenKey), quiet: true, overwrite: true });
20
+ loadDotenv();
21
+ var cliArgv = minimistLib(process.argv.slice(2), {
22
+ string: ["token"]
23
+ });
24
+ var GITHUB_ACCESS_TOKEN = cliArgv.token || process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
25
+ function getTempDir() {
26
+ return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
27
+ }
28
+ function getTempPath(...segments) {
29
+ return path.join(getTempDir(), ...segments);
30
+ }
31
+ var TEMP_BASE_DIR = getTempDir();
32
+ module.exports = {
33
+ getTempDir,
34
+ getTempPath,
35
+ TEMP_BASE_DIR,
36
+ GITHUB_ACCESS_TOKEN,
37
+ loadDotenv
38
+ };
39
+ }
40
+ });
41
+
42
+ export {
43
+ require_config
44
+ };
@@ -0,0 +1,62 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_config
4
+ } from "./chunk-SWUAEY4H.mjs";
5
+ import {
6
+ __commonJS,
7
+ __require,
8
+ init_esm_shims
9
+ } from "./chunk-QQ4A6DLD.mjs";
10
+
11
+ // src/submodule-remove.cjs
12
+ var require_submodule_remove = __commonJS({
13
+ "src/submodule-remove.cjs"(exports, module) {
14
+ init_esm_shims();
15
+ var { spawnAsync } = __require("cross-spawn");
16
+ var path = __require("upath");
17
+ var fs = __require("fs-extra");
18
+ var { loadDotenv } = require_config();
19
+ loadDotenv();
20
+ async function removeSubmodule(submodulePath) {
21
+ try {
22
+ await spawnAsync("git", ["submodule", "deinit", "-f", submodulePath], { stdio: "inherit" });
23
+ } catch (error) {
24
+ console.warn(`Warning: Could not deinitialize submodule "${submodulePath}". It may not exist.`);
25
+ console.warn(error.message);
26
+ }
27
+ try {
28
+ await spawnAsync("git", ["config", "--remove-section", `submodule.${submodulePath}`], { stdio: "inherit" });
29
+ } catch (error) {
30
+ console.warn(`Warning: Could not remove git config section for submodule "${submodulePath}". It may not exist.`);
31
+ console.warn(error.message);
32
+ }
33
+ const gitModulesPath = path.resolve(".git", "modules", submodulePath);
34
+ if (fs.existsSync(gitModulesPath)) {
35
+ fs.rmSync(gitModulesPath, { recursive: true, force: true });
36
+ console.log(`Removed .git/modules entry for submodule "${submodulePath}".`);
37
+ } else {
38
+ console.warn(`Warning: The path "${gitModulesPath}" does not exist. Skipping removal of .git/modules entry.`);
39
+ }
40
+ const gitmodulesPath = path.resolve(".gitmodules");
41
+ if (fs.existsSync(gitmodulesPath)) {
42
+ let gitmodulesContent = fs.readFileSync(gitmodulesPath, "utf-8");
43
+ const submoduleSectionRegex = new RegExp(
44
+ `\\[submodule "${submodulePath.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")}"]([\\s\\S]*?)(?=\\[|$)`,
45
+ "g"
46
+ );
47
+ gitmodulesContent = gitmodulesContent.replace(submoduleSectionRegex, "").trim();
48
+ fs.writeFileSync(gitmodulesPath, gitmodulesContent);
49
+ console.log(`Removed submodule "${submodulePath}" from .gitmodules.`);
50
+ } else {
51
+ console.warn(`Warning: The .gitmodules file does not exist. Skipping removal of submodule "${submodulePath}".`);
52
+ }
53
+ fs.rmSync(path.resolve(submodulePath), { recursive: true, force: true });
54
+ console.log(`Submodule "${submodulePath}" has been removed.`);
55
+ }
56
+ module.exports = removeSubmodule;
57
+ }
58
+ });
59
+
60
+ export {
61
+ require_submodule_remove
62
+ };
@@ -0,0 +1,44 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_findEnvFiles
4
+ } from "./chunk-J4M5EL5P.mjs";
5
+ import {
6
+ __commonJS,
7
+ __require,
8
+ init_esm_shims
9
+ } from "./chunk-QQ4A6DLD.mjs";
10
+
11
+ // src/binary-collections/config.cjs
12
+ var require_config = __commonJS({
13
+ "src/binary-collections/config.cjs"(exports, module) {
14
+ init_esm_shims();
15
+ var path = __require("upath");
16
+ var minimistLib = __require("minimist");
17
+ var { findEnvWithToken } = require_findEnvFiles();
18
+ var dotenv = __require("dotenv");
19
+ var loadDotenv = () => dotenv.config({ path: findEnvWithToken(), quiet: true, overwrite: true });
20
+ loadDotenv();
21
+ var cliArgv = minimistLib(process.argv.slice(2), {
22
+ string: ["token"]
23
+ });
24
+ var GITHUB_ACCESS_TOKEN = cliArgv.token || process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
25
+ function getTempDir() {
26
+ return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
27
+ }
28
+ function getTempPath(...segments) {
29
+ return path.join(getTempDir(), ...segments);
30
+ }
31
+ var TEMP_BASE_DIR = getTempDir();
32
+ module.exports = {
33
+ getTempDir,
34
+ getTempPath,
35
+ TEMP_BASE_DIR,
36
+ GITHUB_ACCESS_TOKEN,
37
+ loadDotenv
38
+ };
39
+ }
40
+ });
41
+
42
+ export {
43
+ require_config
44
+ };
@@ -0,0 +1,88 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ __commonJS,
4
+ init_esm_shims
5
+ } from "./chunk-QQ4A6DLD.mjs";
6
+
7
+ // src/github-workflows/workflow-test-data.cjs
8
+ var require_workflow_test_data = __commonJS({
9
+ "src/github-workflows/workflow-test-data.cjs"(exports, module) {
10
+ init_esm_shims();
11
+ var workflow = {
12
+ name: "Node.js Package Test",
13
+ concurrency: {
14
+ group: "test-${{ github.event_name }}",
15
+ "cancel-in-progress": true
16
+ },
17
+ on: {
18
+ workflow_dispatch: {},
19
+ push: {
20
+ paths: ["**/test*/**", "**/test*", "**/src/**"]
21
+ }
22
+ },
23
+ env: {
24
+ CI_NODE_VERSION: "24.16.0",
25
+ CI_PYTHON_VERSION: "3.11",
26
+ ACCESS_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
27
+ GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
28
+ },
29
+ jobs: {
30
+ ci: {
31
+ name: "\u{1F528} Build, Pack & Test",
32
+ "runs-on": "ubuntu-latest",
33
+ steps: [
34
+ {
35
+ name: "\u2B07\uFE0F Checkout workflow repository",
36
+ uses: "actions/checkout@v6"
37
+ },
38
+ {
39
+ name: "\u2B07\uFE0F Setup CI Environment",
40
+ uses: "./.github/actions/setup-environments",
41
+ with: {
42
+ "node-version": "${{ env.CI_NODE_VERSION }}",
43
+ "python-version": "${{ env.CI_PYTHON_VERSION }}",
44
+ token: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
45
+ "prefix-cache-key": "${{ runner.os }}-test-"
46
+ }
47
+ },
48
+ {
49
+ name: "\u{1F4E6} Install dependencies",
50
+ run: `touch yarn.lock && corepack yarn install`
51
+ },
52
+ {
53
+ name: "\u{1F528} Build project",
54
+ run: "corepack yarn build"
55
+ },
56
+ {
57
+ name: "\u{1F4E6} Pack project",
58
+ run: "corepack yarn pack"
59
+ },
60
+ // {
61
+ // name: '🧪 Run committed composite tests action',
62
+ // uses: './.github/actions/run-tests',
63
+ // env: {
64
+ // ACCESS_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}',
65
+ // GH_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}'
66
+ // }
67
+ // },
68
+ {
69
+ name: "\u{1F9F9} Clean GitHub Actions Cache",
70
+ // if: 'always()',
71
+ "continue-on-error": true,
72
+ env: {
73
+ GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
74
+ },
75
+ shell: "bash",
76
+ run: `npx --legacy-peer-deps -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz clean-github-actions-caches --repo "\${{ github.repository }}" --sha "\${{ github.sha }}"`
77
+ }
78
+ ]
79
+ }
80
+ }
81
+ };
82
+ module.exports = workflow;
83
+ }
84
+ });
85
+
86
+ export {
87
+ require_workflow_test_data
88
+ };
@@ -0,0 +1,89 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ __commonJS,
4
+ init_esm_shims
5
+ } from "./chunk-QQ4A6DLD.mjs";
6
+
7
+ // src/github-workflows/workflow-test-data.cjs
8
+ var require_workflow_test_data = __commonJS({
9
+ "src/github-workflows/workflow-test-data.cjs"(exports, module) {
10
+ init_esm_shims();
11
+ var workflow = {
12
+ name: "Node.js Package Test",
13
+ concurrency: {
14
+ group: "test-${{ github.event_name }}",
15
+ "cancel-in-progress": true
16
+ },
17
+ on: {
18
+ workflow_dispatch: {},
19
+ push: {
20
+ paths: ["**/test*/**", "**/test*", "**/src/**"]
21
+ }
22
+ },
23
+ env: {
24
+ CI_NODE_VERSION: "24.16.0",
25
+ CI_PYTHON_VERSION: "3.11",
26
+ ACCESS_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
27
+ GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
28
+ },
29
+ jobs: {
30
+ ci: {
31
+ name: "\u{1F528} Build, Pack & Test",
32
+ "runs-on": "ubuntu-latest",
33
+ steps: [
34
+ {
35
+ name: "\u2B07\uFE0F Checkout workflow repository",
36
+ uses: "actions/checkout@v6"
37
+ },
38
+ {
39
+ name: "\u2B07\uFE0F Setup CI Environment",
40
+ uses: "./.github/actions/setup-environments",
41
+ with: {
42
+ "node-version": "${{ env.CI_NODE_VERSION }}",
43
+ "python-version": "${{ env.CI_PYTHON_VERSION }}",
44
+ token: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
45
+ "prefix-cache-key": "${{ runner.os }}-test-"
46
+ }
47
+ },
48
+ {
49
+ name: "\u{1F4E6} Install dependencies",
50
+ run: `touch yarn.lock
51
+ corepack yarn install`
52
+ },
53
+ {
54
+ name: "\u{1F528} Build project",
55
+ run: "corepack yarn build"
56
+ },
57
+ {
58
+ name: "\u{1F4E6} Pack project",
59
+ run: "corepack yarn pack"
60
+ },
61
+ // {
62
+ // name: '🧪 Run committed composite tests action',
63
+ // uses: './.github/actions/run-tests',
64
+ // env: {
65
+ // ACCESS_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}',
66
+ // GH_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}'
67
+ // }
68
+ // },
69
+ {
70
+ name: "\u{1F9F9} Clean GitHub Actions Cache",
71
+ // if: 'always()',
72
+ "continue-on-error": true,
73
+ env: {
74
+ GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
75
+ },
76
+ shell: "bash",
77
+ run: `npx --legacy-peer-deps -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz clean-github-actions-caches --repo "\${{ github.repository }}" --sha "\${{ github.sha }}"`
78
+ }
79
+ ]
80
+ }
81
+ }
82
+ };
83
+ module.exports = workflow;
84
+ }
85
+ });
86
+
87
+ export {
88
+ require_workflow_test_data
89
+ };