binary-collections 2.0.13 → 2.0.15

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 (303) hide show
  1. package/.opencode/plugins/opencode-request-logger/README.md +44 -0
  2. package/.venv/Lib/site-packages/pyarrow/tests/data/orc/README.md +22 -0
  3. package/binaries/binary-executor.cjs +307 -238
  4. package/binaries/clean-nodemodule.cjs +307 -238
  5. package/binaries/clean-nodemodules.cjs +307 -238
  6. package/binaries/composer.cjs +323 -0
  7. package/binaries/composer.cmd +2 -0
  8. package/binaries/composer.phar +0 -0
  9. package/binaries/dev.cjs +307 -238
  10. package/binaries/empty.cjs +307 -238
  11. package/binaries/git-reduce-size.cjs +307 -238
  12. package/binaries/javakill.cjs +307 -238
  13. package/binaries/kill-process.cjs +307 -238
  14. package/binaries/nodekill.cjs +307 -238
  15. package/binaries/prod.cjs +307 -238
  16. package/binaries/py.cjs +307 -238
  17. package/binaries/rmfind.cjs +307 -238
  18. package/binaries/rmx.cjs +307 -238
  19. package/binaries/submodule-token.cjs +307 -238
  20. package/binaries/test-cjs.cjs +307 -238
  21. package/binaries/test-esm.cjs +307 -238
  22. package/binaries/yarn-clean.cjs +307 -238
  23. package/binaries/yc.cjs +307 -238
  24. package/binaries/ycw.cjs +307 -238
  25. package/docs-src/binary-collections.md +1 -1
  26. package/docs-src/clean-github-actions-caches.md +1 -1
  27. package/docs-src/copy-move-file.md +1 -4
  28. package/docs-src/del-ps.md +1 -1
  29. package/docs-src/find-node-modules.md +1 -1
  30. package/docs-src/generate-test-ci.md +56 -0
  31. package/docs-src/get-latest-workflow-status.md +100 -0
  32. package/docs-src/git-diff.md +1 -1
  33. package/docs-src/git-fix.md +1 -1
  34. package/docs-src/git-purge.md +1 -1
  35. package/docs-src/install-opencode-plugins.md +86 -0
  36. package/docs-src/kill-night-crows.md +1 -1
  37. package/docs-src/node-cache-cleaner.md +2 -2
  38. package/docs-src/node-package-packer.md +1 -1
  39. package/docs-src/opencode-cli.md +155 -0
  40. package/docs-src/package-resolutions-updater.md +1 -1
  41. package/docs-src/rmpath.md +1 -1
  42. package/docs-src/run-by-checksum.md +1 -1
  43. package/docs-src/submodule-remove.md +1 -1
  44. package/docs-src/upload-backend.md +29 -0
  45. package/docs-src/vscode-cli.md +84 -0
  46. package/docs-src/workflow-badge.md +120 -0
  47. package/lib/binary-collections/config-types.cjs +17 -0
  48. package/lib/binary-collections/config-types.d.ts +12 -0
  49. package/lib/binary-collections/config-types.js +2 -0
  50. package/lib/binary-collections/config-types.mjs +7 -0
  51. package/lib/binary-collections/config.cjs +28 -8
  52. package/lib/binary-collections/config.d.cts +26 -8
  53. package/lib/binary-collections/config.mjs +2 -2
  54. package/lib/binary-collections/findScript.cjs +49 -25
  55. package/lib/binary-collections/findScript.mjs +2 -2
  56. package/lib/binary-collections/listScript.cjs +49 -25
  57. package/lib/binary-collections/listScript.mjs +2 -2
  58. package/lib/binary-collections.cjs +49 -25
  59. package/lib/binary-collections.mjs +6 -6
  60. package/lib/changelog.cjs +142 -4
  61. package/lib/changelog.mjs +9 -5
  62. package/lib/chunk-3T6AMFI3.mjs +52 -0
  63. package/lib/{chunk-2MN4VPV2.mjs → chunk-3ZF2QMDK.mjs} +4 -4
  64. package/lib/chunk-56BVU63B.mjs +86 -0
  65. package/lib/chunk-7N52Z4IJ.mjs +39 -0
  66. package/lib/chunk-B77D3SR4.mjs +28 -0
  67. package/lib/chunk-BPED62FN.mjs +115 -0
  68. package/lib/{chunk-RDN6HF5Z.mjs → chunk-DHFRWM2W.mjs} +1 -1
  69. package/lib/chunk-DPEE3FBB.mjs +146 -0
  70. package/lib/{chunk-MGPYPKIE.mjs → chunk-H7AE4IO3.mjs} +5 -1
  71. package/lib/{chunk-H44UWUFY.mjs → chunk-J4M5EL5P.mjs} +3 -0
  72. package/lib/chunk-KCJYREA2.mjs +67 -0
  73. package/lib/chunk-LACQTD5V.mjs +225 -0
  74. package/lib/{chunk-TBWXE7ST.mjs → chunk-NHD4HLSU.mjs} +24 -31
  75. package/lib/{chunk-RDGDLSPD.mjs → chunk-OWNVMKAA.mjs} +6 -5
  76. package/lib/chunk-SKVF4TMD.mjs +59 -0
  77. package/lib/{chunk-BZWVHODJ.mjs → chunk-TDUUOAQD.mjs} +5 -5
  78. package/lib/chunk-TP3O2JGW.mjs +88 -0
  79. package/lib/{chunk-FLYSZFLW.mjs → chunk-UAEKSLAX.mjs} +1 -1
  80. package/lib/chunk-UDZBVKXH.mjs +94 -0
  81. package/lib/chunk-UEOWRYAN.mjs +32 -0
  82. package/lib/chunk-V6PTSDW5.mjs +82 -0
  83. package/lib/{chunk-NQXUYO67.mjs → chunk-WNUEY6VJ.mjs} +49 -25
  84. package/lib/chunk-X7UVQ6ZC.mjs +183 -0
  85. package/lib/chunk-XW5NZAKI.mjs +82 -0
  86. package/lib/{chunk-LVSPEFU2.mjs → chunk-Z53IUBUN.mjs} +6 -5
  87. package/lib/{chunk-CD3HF3LK.mjs → chunk-Z7RM46Q4.mjs} +5 -11
  88. package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
  89. package/lib/del-gradle.cjs +1 -1
  90. package/lib/del-gradle.mjs +22 -16
  91. package/lib/del-node-modules.cjs +1 -1
  92. package/lib/del-node-modules.mjs +148 -142
  93. package/lib/find-node-modules-cli.cjs +1 -1
  94. package/lib/find-node-modules-cli.mjs +10 -4
  95. package/lib/{git-diff-cli.cjs → git/git-diff-cli.cjs} +32 -12
  96. package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
  97. package/lib/{git-diff.cjs → git/git-diff.cjs} +30 -10
  98. package/lib/{git-diff.js → git/git-diff.js} +3 -3
  99. package/lib/{git-diff.mjs → git/git-diff.mjs} +6 -6
  100. package/lib/{git-fix.cjs → git/git-fix.cjs} +142 -3
  101. package/lib/{git-fix.mjs → git/git-fix.mjs} +19 -14
  102. package/lib/{git-purge.cjs → git/git-purge.cjs} +1 -1
  103. package/lib/{git-purge.mjs → git/git-purge.mjs} +4 -4
  104. package/lib/git/user-config.cjs +139 -1
  105. package/lib/git/user-config.mjs +3 -1
  106. package/lib/{clean-github-actions-caches-cli.cjs → github-workflows/clean-github-actions-caches-cli.cjs} +46 -10
  107. package/lib/{clean-github-actions-caches-cli.mjs → github-workflows/clean-github-actions-caches-cli.mjs} +7 -6
  108. package/lib/{clean-github-actions-caches.cjs → github-workflows/clean-github-actions-caches.cjs} +46 -10
  109. package/lib/{clean-github-actions-caches.mjs → github-workflows/clean-github-actions-caches.mjs} +5 -4
  110. package/lib/github-workflows/generate-test-ci-step-cli.cjs +240 -0
  111. package/lib/github-workflows/generate-test-ci-step-cli.d.mts +2 -0
  112. package/lib/github-workflows/generate-test-ci-step-cli.mjs +132 -0
  113. package/lib/github-workflows/get-latest-workflow-status-cli.cjs +549 -0
  114. package/lib/github-workflows/get-latest-workflow-status-cli.d.mts +2 -0
  115. package/lib/github-workflows/get-latest-workflow-status-cli.mjs +61 -0
  116. package/lib/github-workflows/get-latest-workflow-status.cjs +56 -0
  117. package/lib/github-workflows/get-latest-workflow-status.d.mts +1 -0
  118. package/lib/github-workflows/get-latest-workflow-status.mjs +8 -0
  119. package/lib/github-workflows/utils.cjs +279 -0
  120. package/lib/github-workflows/utils.d.cts +76 -0
  121. package/lib/github-workflows/utils.mjs +8 -0
  122. package/lib/github-workflows/workflow-badge-cli.cjs +730 -0
  123. package/lib/github-workflows/workflow-badge-cli.d.mts +2 -0
  124. package/lib/github-workflows/workflow-badge-cli.mjs +98 -0
  125. package/lib/github-workflows/workflow-badge-generator.cjs +200 -0
  126. package/lib/github-workflows/workflow-badge-generator.d.mts +14 -0
  127. package/lib/github-workflows/workflow-badge-generator.mjs +8 -0
  128. package/lib/github-workflows/workflow-test-data.cjs +73 -0
  129. package/lib/github-workflows/workflow-test-data.d.cts +63 -0
  130. package/lib/github-workflows/workflow-test-data.mjs +6 -0
  131. package/lib/node-cache-cleaner-cli.mjs +3 -3
  132. package/lib/opencode/cli/auth-rotate.cjs +458 -0
  133. package/lib/opencode/cli/auth-rotate.d.ts +3 -0
  134. package/lib/opencode/cli/auth-rotate.js +65 -0
  135. package/lib/opencode/cli/auth-rotate.mjs +14 -0
  136. package/lib/opencode/cli/auth-rotate.runner.cjs +454 -0
  137. package/lib/opencode/cli/auth-rotate.runner.d.ts +1 -0
  138. package/lib/opencode/cli/auth-rotate.runner.js +8 -0
  139. package/lib/opencode/cli/auth-rotate.runner.mjs +21 -0
  140. package/lib/opencode/cli/list-projects.cjs +184 -0
  141. package/lib/opencode/cli/list-projects.d.ts +1 -0
  142. package/lib/opencode/cli/list-projects.js +32 -0
  143. package/lib/opencode/cli/list-projects.mjs +11 -0
  144. package/lib/opencode/cli/list-sessions.cjs +215 -0
  145. package/lib/opencode/cli/list-sessions.d.ts +1 -0
  146. package/lib/opencode/cli/list-sessions.js +45 -0
  147. package/lib/opencode/cli/list-sessions.mjs +11 -0
  148. package/lib/opencode/database.cjs +349 -0
  149. package/lib/opencode/database.d.ts +91 -0
  150. package/lib/opencode/database.js +252 -0
  151. package/lib/opencode/database.mjs +28 -0
  152. package/lib/opencode/database.runner.cjs +145 -0
  153. package/lib/opencode/database.runner.d.ts +1 -0
  154. package/lib/opencode/database.runner.js +56 -0
  155. package/lib/opencode/database.runner.mjs +37 -0
  156. package/lib/opencode/install-opencode-plugins-cli.cjs +82 -0
  157. package/lib/opencode/install-opencode-plugins-cli.d.ts +1 -0
  158. package/lib/opencode/install-opencode-plugins-cli.js +78 -0
  159. package/lib/opencode/install-opencode-plugins-cli.mjs +65 -0
  160. package/lib/opencode/opencode-zen.runner.cjs +48 -0
  161. package/lib/opencode/opencode-zen.runner.d.mts +1 -0
  162. package/lib/opencode/opencode-zen.runner.mjs +31 -0
  163. package/lib/opencode/sqlite.cjs +114 -0
  164. package/lib/opencode/sqlite.d.ts +18 -0
  165. package/lib/opencode/sqlite.js +82 -0
  166. package/lib/opencode/sqlite.mjs +10 -0
  167. package/lib/opencode/storage.cjs +124 -0
  168. package/lib/opencode/storage.d.ts +27 -0
  169. package/lib/opencode/storage.js +101 -0
  170. package/lib/opencode/storage.mjs +38 -0
  171. package/lib/opencode/storage.runner.cjs +50 -0
  172. package/lib/opencode/storage.runner.d.ts +1 -0
  173. package/lib/opencode/storage.runner.js +13 -0
  174. package/lib/opencode/storage.runner.mjs +29 -0
  175. package/lib/opencode/types.cjs +17 -0
  176. package/lib/opencode/types.d.ts +31 -0
  177. package/lib/opencode/types.js +2 -0
  178. package/lib/opencode/types.mjs +7 -0
  179. package/lib/opencode/utils/check-api.cjs +373 -0
  180. package/lib/opencode/utils/check-api.d.ts +16 -0
  181. package/lib/opencode/utils/check-api.js +132 -0
  182. package/lib/opencode/utils/check-api.mjs +12 -0
  183. package/lib/opencode/utils/check-api.runner.cjs +0 -0
  184. package/lib/opencode/utils/check-api.runner.d.ts +0 -0
  185. package/lib/opencode/utils/check-api.runner.js +1 -0
  186. package/lib/opencode/utils/check-api.runner.mjs +7 -0
  187. package/lib/opencode-cli.cjs +796 -0
  188. package/lib/opencode-cli.d.ts +2 -0
  189. package/lib/opencode-cli.js +116 -0
  190. package/lib/opencode-cli.mjs +116 -0
  191. package/lib/package-resolutions-updater-cli.cjs +189 -154
  192. package/lib/package-resolutions-updater-cli.mjs +3 -2
  193. package/lib/package-resolutions-updater.cjs +189 -154
  194. package/lib/package-resolutions-updater.d.mts +12 -3
  195. package/lib/package-resolutions-updater.mjs +3 -2
  196. package/lib/print-directory-tree.cjs +139 -3
  197. package/lib/print-directory-tree.mjs +6 -3
  198. package/lib/print-tarball-tree-cli.cjs +305 -0
  199. package/lib/print-tarball-tree-cli.d.mts +2 -0
  200. package/lib/print-tarball-tree-cli.mjs +54 -0
  201. package/lib/print-tarball-tree.cjs +43 -216
  202. package/lib/print-tarball-tree.d.mts +4 -1
  203. package/lib/print-tarball-tree.mjs +12 -66
  204. package/lib/rmpath-cli.cjs +139 -5
  205. package/lib/rmpath-cli.mjs +3 -1
  206. package/lib/rmpath.cjs +155 -11
  207. package/lib/rmpath.mjs +3 -1
  208. package/lib/run-by-checksum/hash.cjs +50 -56
  209. package/lib/run-by-checksum/hash.d.cts +24 -0
  210. package/lib/run-by-checksum/hash.mjs +3 -7
  211. package/lib/run-by-checksum/run.cjs +95 -42
  212. package/lib/run-by-checksum/run.js +3 -3
  213. package/lib/run-by-checksum/run.mjs +2 -2
  214. package/lib/run-by-checksum-cli.cjs +96 -58
  215. package/lib/run-by-checksum-cli.mjs +2 -2
  216. package/lib/submodule-install.cjs +138 -4
  217. package/lib/submodule-install.mjs +5 -4
  218. package/lib/submodule-remove-cli.cjs +139 -5
  219. package/lib/submodule-remove-cli.mjs +3 -1
  220. package/lib/submodule-remove.cjs +154 -5
  221. package/lib/submodule-remove.mjs +3 -1
  222. package/lib/utils/findEnvFiles.cjs +3 -0
  223. package/lib/utils/findEnvFiles.d.cts +2 -2
  224. package/lib/utils/findEnvFiles.mjs +1 -1
  225. package/lib/utils/isDebug.cjs +13 -0
  226. package/lib/utils/isDebug.d.cts +9 -0
  227. package/lib/utils/isDebug.mjs +6 -0
  228. package/lib/vscode/project.cjs +0 -0
  229. package/lib/vscode/project.d.ts +0 -0
  230. package/lib/vscode/project.js +1 -0
  231. package/lib/vscode/project.mjs +7 -0
  232. package/lib/vscode/storage.cjs +138 -0
  233. package/lib/vscode/storage.d.ts +51 -0
  234. package/lib/vscode/storage.js +169 -0
  235. package/lib/vscode/storage.mjs +42 -0
  236. package/lib/vscode/storage.runner.cjs +125 -0
  237. package/lib/vscode/storage.runner.d.ts +1 -0
  238. package/lib/vscode/storage.runner.js +47 -0
  239. package/lib/vscode/storage.runner.mjs +60 -0
  240. package/lib/vscode-cli.cjs +155 -0
  241. package/lib/vscode-cli.d.ts +2 -0
  242. package/lib/vscode-cli.js +80 -0
  243. package/lib/vscode-cli.mjs +71 -0
  244. package/package.json +50 -26
  245. package/readme.md +104 -8
  246. package/releases/readme.md +1 -1
  247. package/src/github-workflows/generate-test-ci-step-cli.mjs +126 -0
  248. package/vendor/clue/ndjson-react/README.md +365 -0
  249. package/vendor/composer/pcre/README.md +189 -0
  250. package/vendor/composer/semver/README.md +99 -0
  251. package/vendor/composer/xdebug-handler/README.md +305 -0
  252. package/vendor/ergebnis/agent-detector/README.md +107 -0
  253. package/vendor/evenement/evenement/README.md +64 -0
  254. package/vendor/fidry/cpu-core-counter/README.md +138 -0
  255. package/vendor/friendsofphp/php-cs-fixer/README.md +97 -0
  256. package/vendor/psr/container/README.md +13 -0
  257. package/vendor/psr/event-dispatcher/README.md +6 -0
  258. package/vendor/psr/log/README.md +58 -0
  259. package/vendor/react/cache/README.md +367 -0
  260. package/vendor/react/child-process/README.md +619 -0
  261. package/vendor/react/dns/README.md +453 -0
  262. package/vendor/react/event-loop/README.md +930 -0
  263. package/vendor/react/promise/README.md +722 -0
  264. package/vendor/react/socket/README.md +1564 -0
  265. package/vendor/react/stream/README.md +1249 -0
  266. package/vendor/sebastian/diff/README.md +151 -0
  267. package/vendor/symfony/console/README.md +30 -0
  268. package/vendor/symfony/deprecation-contracts/README.md +26 -0
  269. package/vendor/symfony/event-dispatcher/README.md +25 -0
  270. package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
  271. package/vendor/symfony/filesystem/README.md +23 -0
  272. package/vendor/symfony/finder/README.md +24 -0
  273. package/vendor/symfony/options-resolver/README.md +25 -0
  274. package/vendor/symfony/polyfill-ctype/README.md +12 -0
  275. package/vendor/symfony/polyfill-intl-grapheme/README.md +32 -0
  276. package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
  277. package/vendor/symfony/polyfill-mbstring/README.md +13 -0
  278. package/vendor/symfony/polyfill-php80/README.md +25 -0
  279. package/vendor/symfony/polyfill-php81/README.md +18 -0
  280. package/vendor/symfony/polyfill-php84/README.md +23 -0
  281. package/vendor/symfony/polyfill-php85/README.md +20 -0
  282. package/vendor/symfony/process/README.md +23 -0
  283. package/vendor/symfony/service-contracts/README.md +9 -0
  284. package/vendor/symfony/stopwatch/README.md +52 -0
  285. package/vendor/symfony/string/README.md +24 -0
  286. package/lib/chunk-WSHVPGNM.mjs +0 -44
  287. package/lib/chunk-X2B3X7D4.mjs +0 -35
  288. package/lib/del-gradle.js +0 -16
  289. package/lib/del-node-modules.js +0 -211
  290. package/lib/find-node-modules-cli.js +0 -4
  291. package/lib/run-by-checksum/hash.d.ts +0 -14
  292. package/lib/run-by-checksum/hash.js +0 -85
  293. package/readme.html +0 -784
  294. /package/lib/{clean-github-actions-caches-cli.d.cts → del-gradle.d.cts} +0 -0
  295. /package/lib/{del-gradle.d.ts → del-node-modules.d.cts} +0 -0
  296. /package/lib/{find-node-modules-cli.d.ts → find-node-modules-cli.d.cts} +0 -0
  297. /package/lib/{git-diff-cli.d.ts → git/git-diff-cli.d.ts} +0 -0
  298. /package/lib/{git-diff-cli.js → git/git-diff-cli.js} +0 -0
  299. /package/lib/{git-diff.d.ts → git/git-diff.d.ts} +0 -0
  300. /package/lib/{git-fix.d.cts → git/git-fix.d.cts} +0 -0
  301. /package/lib/{git-purge.d.cts → git/git-purge.d.cts} +0 -0
  302. /package/lib/{del-node-modules.d.ts → github-workflows/clean-github-actions-caches-cli.d.cts} +0 -0
  303. /package/lib/{clean-github-actions-caches.d.cts → github-workflows/clean-github-actions-caches.d.cts} +0 -0
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const minimist_1 = __importDefault(require("minimist"));
17
+ const database_js_1 = require("./opencode/database.js");
18
+ const auth_rotate_js_1 = require("./opencode/cli/auth-rotate.js");
19
+ const list_projects_js_1 = require("./opencode/cli/list-projects.js");
20
+ const list_sessions_js_1 = require("./opencode/cli/list-sessions.js");
21
+ const argv = (0, minimist_1.default)(process.argv.slice(2), {
22
+ alias: { h: 'help', p: 'proxy' }
23
+ });
24
+ function printHelp() {
25
+ console.log(`
26
+ Usage: opc <command> [options]
27
+
28
+ Commands:
29
+ list session List all sessions grouped by directory
30
+ list project List all projects
31
+ delete session <id> Delete a single session by ID
32
+ delete sessions Delete all sessions (irreversible)
33
+ delete project <id> Delete a project's sessions from the OpenCode database (not the real project folder)
34
+ auth rotate Rotate OpenCode API key from .opencode.keys.json(c)
35
+
36
+ Options:
37
+ -h, --help Show this help message
38
+ -p, --proxy <url> Proxy URL for API requests (format: protocol://ip:port or protocol://user:pass@ip:port)
39
+ `);
40
+ }
41
+ function main() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ if (argv.help || argv._.length === 0) {
44
+ printHelp();
45
+ return;
46
+ }
47
+ const command = argv._[0];
48
+ if (!(yield (0, database_js_1.checkDatabase)())) {
49
+ process.exit(1);
50
+ }
51
+ if (command === 'list') {
52
+ const sub = argv._[1];
53
+ if (sub === 'session') {
54
+ yield (0, list_sessions_js_1.handleListSessions)();
55
+ }
56
+ else if (sub === 'project') {
57
+ yield (0, list_projects_js_1.handleListProjects)();
58
+ }
59
+ else {
60
+ console.error(`Unknown subcommand: list ${sub || ''}`);
61
+ printHelp();
62
+ process.exit(1);
63
+ }
64
+ }
65
+ else if (command === 'delete') {
66
+ const sub = argv._[1];
67
+ if (sub === 'session') {
68
+ const sessionId = argv._[2];
69
+ if (!sessionId) {
70
+ console.error('Usage: opc delete session <id>');
71
+ process.exit(1);
72
+ }
73
+ console.log(`Deleting session ${sessionId}...`);
74
+ yield (0, database_js_1.deleteSessionById)(sessionId);
75
+ console.log('Done.');
76
+ }
77
+ else if (sub === 'sessions') {
78
+ console.log('Deleting all sessions (irreversible)...');
79
+ yield (0, database_js_1.deleteAllSessions)();
80
+ console.log('Done.');
81
+ }
82
+ else if (sub === 'project') {
83
+ const projectId = argv._[2];
84
+ if (!projectId) {
85
+ console.error('Usage: opc delete project <id>');
86
+ process.exit(1);
87
+ }
88
+ console.log(`Deleting project ${projectId} sessions from the OpenCode database...`);
89
+ yield (0, database_js_1.deleteAllProjectSessions)(projectId);
90
+ console.log('Done.');
91
+ }
92
+ else {
93
+ console.error(`Unknown subcommand: delete ${sub || ''}`);
94
+ printHelp();
95
+ process.exit(1);
96
+ }
97
+ }
98
+ else if (command === 'auth') {
99
+ const sub = argv._[1];
100
+ if (sub === 'rotate') {
101
+ yield (0, auth_rotate_js_1.handleAuthRotate)({ proxy: argv.proxy });
102
+ }
103
+ else {
104
+ console.error(`Unknown subcommand: auth ${sub || ''}`);
105
+ printHelp();
106
+ process.exit(1);
107
+ }
108
+ }
109
+ else {
110
+ console.error(`Unknown command: ${command}`);
111
+ printHelp();
112
+ process.exit(1);
113
+ }
114
+ });
115
+ }
116
+ main();
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
+ import {
4
+ handleListProjects
5
+ } from "./chunk-UEOWRYAN.mjs";
6
+ import {
7
+ handleListSessions
8
+ } from "./chunk-ZB4IQ6VJ.mjs";
9
+ import {
10
+ handleAuthRotate
11
+ } from "./chunk-KCJYREA2.mjs";
12
+ import "./chunk-BPED62FN.mjs";
13
+ import "./chunk-B77D3SR4.mjs";
14
+ import {
15
+ checkDatabase,
16
+ deleteAllProjectSessions,
17
+ deleteAllSessions,
18
+ deleteSessionById
19
+ } from "./chunk-LACQTD5V.mjs";
20
+ import "./chunk-56BVU63B.mjs";
21
+ import "./chunk-XW5NZAKI.mjs";
22
+ import "./chunk-V6PTSDW5.mjs";
23
+ import "./chunk-3T6AMFI3.mjs";
24
+ import "./chunk-J4M5EL5P.mjs";
25
+ import {
26
+ init_esm_shims
27
+ } from "./chunk-QQ4A6DLD.mjs";
28
+
29
+ // src/opencode-cli.ts
30
+ init_esm_shims();
31
+ import minimist from "minimist";
32
+ var argv = minimist(process.argv.slice(2), {
33
+ alias: { h: "help", p: "proxy" }
34
+ });
35
+ function printHelp() {
36
+ console.log(`
37
+ Usage: opc <command> [options]
38
+
39
+ Commands:
40
+ list session List all sessions grouped by directory
41
+ list project List all projects
42
+ delete session <id> Delete a single session by ID
43
+ delete sessions Delete all sessions (irreversible)
44
+ delete project <id> Delete a project's sessions from the OpenCode database (not the real project folder)
45
+ auth rotate Rotate OpenCode API key from .opencode.keys.json(c)
46
+
47
+ Options:
48
+ -h, --help Show this help message
49
+ -p, --proxy <url> Proxy URL for API requests (format: protocol://ip:port or protocol://user:pass@ip:port)
50
+ `);
51
+ }
52
+ async function main() {
53
+ if (argv.help || argv._.length === 0) {
54
+ printHelp();
55
+ return;
56
+ }
57
+ const command = argv._[0];
58
+ if (!await checkDatabase()) {
59
+ process.exit(1);
60
+ }
61
+ if (command === "list") {
62
+ const sub = argv._[1];
63
+ if (sub === "session") {
64
+ await handleListSessions();
65
+ } else if (sub === "project") {
66
+ await handleListProjects();
67
+ } else {
68
+ console.error(`Unknown subcommand: list ${sub || ""}`);
69
+ printHelp();
70
+ process.exit(1);
71
+ }
72
+ } else if (command === "delete") {
73
+ const sub = argv._[1];
74
+ if (sub === "session") {
75
+ const sessionId = argv._[2];
76
+ if (!sessionId) {
77
+ console.error("Usage: opc delete session <id>");
78
+ process.exit(1);
79
+ }
80
+ console.log(`Deleting session ${sessionId}...`);
81
+ await deleteSessionById(sessionId);
82
+ console.log("Done.");
83
+ } else if (sub === "sessions") {
84
+ console.log("Deleting all sessions (irreversible)...");
85
+ await deleteAllSessions();
86
+ console.log("Done.");
87
+ } else if (sub === "project") {
88
+ const projectId = argv._[2];
89
+ if (!projectId) {
90
+ console.error("Usage: opc delete project <id>");
91
+ process.exit(1);
92
+ }
93
+ console.log(`Deleting project ${projectId} sessions from the OpenCode database...`);
94
+ await deleteAllProjectSessions(projectId);
95
+ console.log("Done.");
96
+ } else {
97
+ console.error(`Unknown subcommand: delete ${sub || ""}`);
98
+ printHelp();
99
+ process.exit(1);
100
+ }
101
+ } else if (command === "auth") {
102
+ const sub = argv._[1];
103
+ if (sub === "rotate") {
104
+ await handleAuthRotate({ proxy: argv.proxy });
105
+ } else {
106
+ console.error(`Unknown subcommand: auth ${sub || ""}`);
107
+ printHelp();
108
+ process.exit(1);
109
+ }
110
+ } else {
111
+ console.error(`Unknown command: ${command}`);
112
+ printHelp();
113
+ process.exit(1);
114
+ }
115
+ }
116
+ main();
@@ -34,6 +34,173 @@ var init_cjs_shims = __esm({
34
34
  }
35
35
  });
36
36
 
37
+ // src/utils/findEnvFiles.cjs
38
+ var require_findEnvFiles = __commonJS({
39
+ "src/utils/findEnvFiles.cjs"(exports2, module2) {
40
+ init_cjs_shims();
41
+ var fs3 = require("fs");
42
+ var path3 = require("path");
43
+ var glob = require("glob");
44
+ var DEFAULT_IGNORES = [
45
+ "**/node_modules/**",
46
+ "**/.git/**",
47
+ "**/.yarn/**",
48
+ "**/.pnpm/**",
49
+ "**/dist/**",
50
+ "**/build/**",
51
+ "**/coverage/**",
52
+ "**/vendor/**",
53
+ "**/tmp/**",
54
+ "**/.cache/**",
55
+ "**/assets/**",
56
+ "**/logs/**",
57
+ "**/output/**",
58
+ "**/public/**",
59
+ "**/static/**",
60
+ "**/temp/**",
61
+ "**/backup/**",
62
+ "**/backups/**",
63
+ "**/examples/**",
64
+ "**/docs/**",
65
+ "**/tests/**",
66
+ "**/__tests__/**",
67
+ "**/spec/**",
68
+ "**/__specs__/**",
69
+ "**/scripts/**",
70
+ "**/bin/**",
71
+ "**/hooks/**",
72
+ "**/config/**",
73
+ "**/configs/**",
74
+ "**/settings/**",
75
+ "**/.vscode/**",
76
+ "**/.idea/**"
77
+ ];
78
+ function findEnvFiles(startDir = process.cwd(), filter) {
79
+ const found = /* @__PURE__ */ new Set();
80
+ function addFile(file) {
81
+ const normalized = path3.normalize(file);
82
+ if (typeof filter === "function" && !filter(normalized)) {
83
+ return;
84
+ }
85
+ found.add(normalized);
86
+ }
87
+ let current = path3.resolve(startDir);
88
+ while (true) {
89
+ const envPath = path3.join(current, ".env");
90
+ if (fs3.existsSync(envPath)) {
91
+ addFile(envPath);
92
+ }
93
+ const parent = path3.dirname(current);
94
+ if (parent === current) {
95
+ break;
96
+ }
97
+ current = parent;
98
+ }
99
+ const files = glob.globSync("**/.env*", {
100
+ cwd: startDir,
101
+ absolute: true,
102
+ nodir: true,
103
+ ignore: DEFAULT_IGNORES
104
+ });
105
+ for (const file of files) {
106
+ addFile(file);
107
+ }
108
+ return [...found];
109
+ }
110
+ function findEnvWithToken(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
111
+ const envFiles = findEnvFiles(startDir);
112
+ return envFiles.find((file) => {
113
+ try {
114
+ const content = fs3.readFileSync(file, "utf-8");
115
+ if (tokenName instanceof RegExp) {
116
+ return tokenName.test(content);
117
+ }
118
+ const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
119
+ return regex.test(content);
120
+ } catch (err) {
121
+ console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
122
+ return false;
123
+ }
124
+ });
125
+ }
126
+ module2.exports = {
127
+ DEFAULT_IGNORES,
128
+ findEnvFiles,
129
+ findEnvWithToken,
130
+ default: findEnvFiles
131
+ };
132
+ }
133
+ });
134
+
135
+ // src/binary-collections/config.cjs
136
+ var require_config = __commonJS({
137
+ "src/binary-collections/config.cjs"(exports2, module2) {
138
+ init_cjs_shims();
139
+ var path3 = require("upath");
140
+ var minimistLib = require("minimist");
141
+ var { findEnvWithToken } = require_findEnvFiles();
142
+ var dotenv = require("dotenv");
143
+ var { cosmiconfig } = require("cosmiconfig");
144
+ var loadDotenv = (tokenKey = /ACCESS_TOKEN|GITHUB_TOKEN/) => dotenv.config({ path: findEnvWithToken(void 0, tokenKey), quiet: true, overwrite: true });
145
+ loadDotenv();
146
+ var cliArgv = minimistLib(process.argv.slice(2), {
147
+ string: ["token"]
148
+ });
149
+ var GITHUB_ACCESS_TOKEN = cliArgv.token || process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
150
+ function getTempPath(...segments) {
151
+ return path3.join(process.env.TEMP_DIR || path3.join(process.cwd(), "tmp"), ...segments);
152
+ }
153
+ async function getConfig(options = {}) {
154
+ const explorer = cosmiconfig("binary-collections", {
155
+ searchStrategy: "project",
156
+ stopDir: options.stopDir
157
+ });
158
+ try {
159
+ const result = await explorer.search(options.searchFrom);
160
+ return result ? result.config : null;
161
+ } catch {
162
+ return null;
163
+ }
164
+ }
165
+ module2.exports = {
166
+ getTempPath,
167
+ GITHUB_ACCESS_TOKEN,
168
+ loadDotenv,
169
+ getConfig
170
+ };
171
+ }
172
+ });
173
+
174
+ // src/utils/fetchResponse.cjs
175
+ var require_fetchResponse = __commonJS({
176
+ "src/utils/fetchResponse.cjs"(exports2, module2) {
177
+ init_cjs_shims();
178
+ var axios = require("axios");
179
+ async function fetchResponse2(url, options = {}) {
180
+ var _a, _b, _c;
181
+ const response = await axios.get(url, {
182
+ maxRedirects: 5,
183
+ responseType: "arraybuffer",
184
+ validateStatus: () => true,
185
+ ...options
186
+ });
187
+ const finalUrl = ((_b = (_a = response.request) == null ? void 0 : _a.res) == null ? void 0 : _b.responseUrl) ?? ((_c = response.request) == null ? void 0 : _c.responseURL) ?? url;
188
+ return {
189
+ finalUrl,
190
+ status: response.status,
191
+ statusText: response.statusText,
192
+ contentType: response.headers["content-type"],
193
+ contentLength: response.headers["content-length"],
194
+ dataLength: Buffer.isBuffer(response.data) ? response.data.length : void 0,
195
+ data: response.data
196
+ };
197
+ }
198
+ module2.exports = fetchResponse2;
199
+ module2.exports.fetchResponse = fetchResponse2;
200
+ module2.exports.default = fetchResponse2;
201
+ }
202
+ });
203
+
37
204
  // src/utils/index.cjs
38
205
  var require_utils = __commonJS({
39
206
  "src/utils/index.cjs"(exports2, module2) {
@@ -201,131 +368,6 @@ var require_utils = __commonJS({
201
368
  }
202
369
  });
203
370
 
204
- // src/utils/fetchResponse.cjs
205
- var require_fetchResponse = __commonJS({
206
- "src/utils/fetchResponse.cjs"(exports2, module2) {
207
- init_cjs_shims();
208
- var axios = require("axios");
209
- async function fetchResponse2(url, options = {}) {
210
- var _a, _b, _c;
211
- const response = await axios.get(url, {
212
- maxRedirects: 5,
213
- responseType: "arraybuffer",
214
- validateStatus: () => true,
215
- ...options
216
- });
217
- const finalUrl = ((_b = (_a = response.request) == null ? void 0 : _a.res) == null ? void 0 : _b.responseUrl) ?? ((_c = response.request) == null ? void 0 : _c.responseURL) ?? url;
218
- return {
219
- finalUrl,
220
- status: response.status,
221
- statusText: response.statusText,
222
- contentType: response.headers["content-type"],
223
- contentLength: response.headers["content-length"],
224
- dataLength: Buffer.isBuffer(response.data) ? response.data.length : void 0,
225
- data: response.data
226
- };
227
- }
228
- module2.exports = fetchResponse2;
229
- module2.exports.fetchResponse = fetchResponse2;
230
- module2.exports.default = fetchResponse2;
231
- }
232
- });
233
-
234
- // src/utils/findEnvFiles.cjs
235
- var require_findEnvFiles = __commonJS({
236
- "src/utils/findEnvFiles.cjs"(exports2, module2) {
237
- init_cjs_shims();
238
- var fs3 = require("fs");
239
- var path3 = require("path");
240
- var glob = require("glob");
241
- var DEFAULT_IGNORES = [
242
- "**/node_modules/**",
243
- "**/.git/**",
244
- "**/.yarn/**",
245
- "**/.pnpm/**",
246
- "**/dist/**",
247
- "**/build/**",
248
- "**/coverage/**",
249
- "**/vendor/**",
250
- "**/tmp/**",
251
- "**/.cache/**",
252
- "**/assets/**",
253
- "**/logs/**",
254
- "**/output/**",
255
- "**/public/**",
256
- "**/static/**",
257
- "**/temp/**",
258
- "**/backup/**",
259
- "**/backups/**",
260
- "**/examples/**",
261
- "**/docs/**",
262
- "**/tests/**",
263
- "**/__tests__/**",
264
- "**/spec/**",
265
- "**/__specs__/**",
266
- "**/scripts/**",
267
- "**/bin/**",
268
- "**/hooks/**",
269
- "**/config/**",
270
- "**/configs/**",
271
- "**/settings/**",
272
- "**/.vscode/**",
273
- "**/.idea/**"
274
- ];
275
- function findEnvFiles2(startDir = process.cwd(), filter) {
276
- const found = /* @__PURE__ */ new Set();
277
- function addFile(file) {
278
- const normalized = path3.normalize(file);
279
- if (typeof filter === "function" && !filter(normalized)) {
280
- return;
281
- }
282
- found.add(normalized);
283
- }
284
- let current = path3.resolve(startDir);
285
- while (true) {
286
- const envPath2 = path3.join(current, ".env");
287
- if (fs3.existsSync(envPath2)) {
288
- addFile(envPath2);
289
- }
290
- const parent = path3.dirname(current);
291
- if (parent === current) {
292
- break;
293
- }
294
- current = parent;
295
- }
296
- const files = glob.globSync("**/.env*", {
297
- cwd: startDir,
298
- absolute: true,
299
- nodir: true,
300
- ignore: DEFAULT_IGNORES
301
- });
302
- for (const file of files) {
303
- addFile(file);
304
- }
305
- return [...found];
306
- }
307
- function findEnvWithToken(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
308
- const envFiles = findEnvFiles2(startDir);
309
- return envFiles.find((file) => {
310
- try {
311
- const content = fs3.readFileSync(file, "utf-8");
312
- const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
313
- return regex.test(content);
314
- } catch (err) {
315
- console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
316
- return false;
317
- }
318
- });
319
- }
320
- module2.exports = {
321
- DEFAULT_IGNORES,
322
- findEnvFiles: findEnvFiles2,
323
- findEnvWithToken,
324
- default: findEnvFiles2
325
- };
326
- }
327
- });
328
-
329
371
  // src/package-resolutions-updater-cli.mjs
330
372
  init_cjs_shims();
331
373
  var import_ansi_colors = __toESM(require("ansi-colors"), 1);
@@ -334,30 +376,14 @@ var import_upath2 = __toESM(require("upath"), 1);
334
376
 
335
377
  // src/package-resolutions-updater.mjs
336
378
  init_cjs_shims();
337
- var dotenv = __toESM(require("dotenv"), 1);
338
379
  var import_fs = __toESM(require("fs"), 1);
380
+ var import_git_command_helper = require("git-command-helper");
339
381
  var import_os = __toESM(require("os"), 1);
340
382
  var import_upath = __toESM(require("upath"), 1);
341
- var utils = __toESM(require_utils(), 1);
383
+ var import_config = __toESM(require_config(), 1);
342
384
  var import_fetchResponse = __toESM(require_fetchResponse(), 1);
343
- var import_findEnvFiles = __toESM(require_findEnvFiles(), 1);
344
- var import_git_command_helper = require("git-command-helper");
345
- var projectDir = process.cwd();
346
- var envPath = import_upath.default.join(projectDir, ".env");
385
+ var utils = __toESM(require_utils(), 1);
347
386
  var args = utils.getArgs();
348
- if (!import_fs.default.existsSync(envPath)) {
349
- const envFiles = (0, import_findEnvFiles.findEnvFiles)(projectDir, (file) => {
350
- const content = import_fs.default.readFileSync(file, "utf-8");
351
- return /GITHUB_TOKEN|ACCESS_TOKEN/.test(content);
352
- });
353
- if (envFiles.length > 0) {
354
- envPath = envFiles[0];
355
- }
356
- }
357
- if (import_fs.default.existsSync(envPath)) {
358
- dotenv.config({ path: envPath, quiet: true, override: true });
359
- }
360
- var ACCESS_TOKEN = process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN;
361
387
  if (args.help || args.h) {
362
388
  showHelp();
363
389
  }
@@ -381,7 +407,6 @@ Requirements:
381
407
  - Node.js v18+ recommended
382
408
  Dependencies:
383
409
  - ansi-colors \u2013 for styled terminal output
384
- - dotenv \u2013 to load GitHub token from .env
385
410
  Examples:
386
411
  node src/package-resolutions-updater.mjs
387
412
  node src/package-resolutions-updater.mjs --help
@@ -422,7 +447,7 @@ async function fetchJson(url) {
422
447
  "User-Agent": selectedUserAgent,
423
448
  Accept: "application/vnd.github.v3+json",
424
449
  "X-GitHub-Api-Version": "2022-11-28",
425
- ...ACCESS_TOKEN ? { Authorization: `token ${ACCESS_TOKEN}` } : {}
450
+ ...import_config.GITHUB_ACCESS_TOKEN ? { Authorization: `token ${import_config.GITHUB_ACCESS_TOKEN}` } : {}
426
451
  },
427
452
  responseType: "json"
428
453
  });
@@ -500,15 +525,25 @@ function replaceRawWithLatestHash(url, latestHash) {
500
525
  }
501
526
  async function resolvePackageResolutionUpdates(resolutions, specialPackageOverrides = []) {
502
527
  const updates = [];
503
- for (const [currentPkgName, url] of Object.entries(resolutions || {})) {
528
+ for (const [currentPkgName, version] of Object.entries(resolutions || {})) {
529
+ const isUrl = typeof version === "string" && (version.startsWith("http://") || version.startsWith("https://"));
530
+ if (!isUrl) {
531
+ updates.push({
532
+ skipped: true,
533
+ currentPkgName,
534
+ url: version,
535
+ error: new Error("Version is not a URL, skipping")
536
+ });
537
+ continue;
538
+ }
504
539
  let repo;
505
540
  try {
506
- repo = (0, import_git_command_helper.parseGitHubUrl)(url);
541
+ repo = (0, import_git_command_helper.parseGitHubUrl)(version);
507
542
  } catch (error) {
508
543
  updates.push({
509
544
  skipped: true,
510
545
  currentPkgName,
511
- url,
546
+ url: version,
512
547
  error
513
548
  });
514
549
  continue;
@@ -516,25 +551,25 @@ async function resolvePackageResolutionUpdates(resolutions, specialPackageOverri
516
551
  try {
517
552
  const override = specialPackageOverrides.find((p) => p.pkg === currentPkgName);
518
553
  const latest = override ? await getLatestCommit(override.owner, override.repo, override.branch) : await getLatestCommitAcrossBranches(repo.owner, repo.repo);
519
- const new_url = replaceRawWithLatestHash(url, latest.sha);
554
+ const new_url = replaceRawWithLatestHash(version, latest.sha);
520
555
  const response = await (0, import_fetchResponse.default)(new_url);
521
556
  if (response.status < 200 || response.status >= 300) {
522
557
  updates.push({
523
558
  failed: true,
524
559
  currentPkgName,
525
- url,
560
+ url: version,
526
561
  new_url,
527
562
  repo,
528
563
  latest,
529
564
  error: new Error(`New URL not accessible (status ${response.status}).
530
- original: ${url}
565
+ original: ${version}
531
566
  new: ${new_url}`)
532
567
  });
533
568
  continue;
534
569
  }
535
570
  updates.push({
536
571
  currentPkgName,
537
- url,
572
+ url: version,
538
573
  new_url,
539
574
  repo,
540
575
  latest
@@ -543,7 +578,7 @@ new: ${new_url}`)
543
578
  updates.push({
544
579
  failed: true,
545
580
  currentPkgName,
546
- url,
581
+ url: version,
547
582
  repo,
548
583
  error
549
584
  });
@@ -1,9 +1,10 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  resolvePackageResolutionUpdates
4
- } from "./chunk-TBWXE7ST.mjs";
4
+ } from "./chunk-NHD4HLSU.mjs";
5
5
  import "./chunk-KLKAIFKI.mjs";
6
- import "./chunk-H44UWUFY.mjs";
6
+ import "./chunk-3T6AMFI3.mjs";
7
+ import "./chunk-J4M5EL5P.mjs";
7
8
  import "./chunk-6RK5UCTP.mjs";
8
9
  import {
9
10
  init_esm_shims