0sec-cli 0.22.4 → 0.24.0

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 (208) hide show
  1. package/0.js +73 -68
  2. package/README.md +95 -61
  3. package/chunks/{adapt-loop-3CCOWE43.js → adapt-loop-TEJPXWFG.js} +4 -4
  4. package/chunks/{artifact-scraper-Z4UUIOH3.js → artifact-scraper-AJZ3LOQY.js} +2 -2
  5. package/chunks/{assumption-mining-2UAKQB6V.js → assumption-mining-EATDC4BB.js} +18 -18
  6. package/chunks/backend-connections-QE4NASAK.js +23 -0
  7. package/chunks/chunk-3XLEDCFX.js +566 -0
  8. package/chunks/{chunk-BGX53365.js → chunk-3XLFB46W.js} +5 -3
  9. package/chunks/{chunk-IXAHQICR.js → chunk-4TUR47H5.js} +8 -3
  10. package/chunks/{chunk-5WAJGLCW.js → chunk-4YRXIVPZ.js} +3 -3
  11. package/chunks/{chunk-4ZYYX5GY.js → chunk-52AWIBCT.js} +1 -1
  12. package/chunks/{chunk-TO35Y326.js → chunk-554D4AYM.js} +5 -2
  13. package/chunks/{chunk-GQ3DGHWE.js → chunk-5FHFG5P2.js} +174 -710
  14. package/chunks/chunk-5POT5OYF.js +733 -0
  15. package/chunks/chunk-62PGWN7Y.js +700 -0
  16. package/chunks/{chunk-H6Q2QAIY.js → chunk-A3EKBUEM.js} +1424 -859
  17. package/chunks/{chunk-6WQDXWQC.js → chunk-A6AZZ6XX.js} +2 -2
  18. package/chunks/{chunk-6YZE552K.js → chunk-AV5BF4V7.js} +1281 -2580
  19. package/chunks/{chunk-2WWAPKAW.js → chunk-BIJPMYFA.js} +6 -6
  20. package/chunks/{chunk-SCWWLABR.js → chunk-CIMN2AO6.js} +1 -1
  21. package/chunks/{chunk-H4DH7COV.js → chunk-CSPF47S3.js} +30 -20
  22. package/chunks/{chunk-RCRTSKQN.js → chunk-DNV3ZMPX.js} +1 -1
  23. package/chunks/{chunk-GVY3S5E5.js → chunk-E42XEJTK.js} +2 -2
  24. package/chunks/{chunk-VDOWARMJ.js → chunk-ESM447R6.js} +15 -1
  25. package/chunks/{chunk-WBRGXCU2.js → chunk-EXTN4SQV.js} +1 -1
  26. package/chunks/{chunk-QVIRWJ45.js → chunk-EYBMTELO.js} +108 -24
  27. package/chunks/chunk-FEOPHBMY.js +56 -0
  28. package/chunks/{chunk-IHPTOTLL.js → chunk-FKGFHLLS.js} +1 -1
  29. package/chunks/chunk-G2EJ3R5I.js +5198 -0
  30. package/chunks/chunk-GHEBZKUS.js +5417 -0
  31. package/chunks/chunk-GNR3APR6.js +295 -0
  32. package/chunks/{chunk-ELI3BVIK.js → chunk-H76JYUPE.js} +3 -3
  33. package/chunks/{chunk-E74LXQFY.js → chunk-HRBOZBMC.js} +1 -1
  34. package/chunks/{chunk-TM74SSHC.js → chunk-IIBNQTOK.js} +3 -2
  35. package/chunks/{chunk-UELXHK2Y.js → chunk-IK27KMVV.js} +16 -5
  36. package/chunks/{chunk-WHUAUFSX.js → chunk-J6G73WYF.js} +1 -1
  37. package/chunks/chunk-JSTLXPJS.js +284 -0
  38. package/chunks/{chunk-G2BE2FC7.js → chunk-O3ADFN2A.js} +1 -1
  39. package/chunks/chunk-O7Q2G2KW.js +117 -0
  40. package/chunks/{chunk-XODDLNBI.js → chunk-QEA2VHBD.js} +284 -33
  41. package/chunks/{chunk-C6JPA32H.js → chunk-RBOMXUYL.js} +3 -111
  42. package/chunks/{chunk-L2CCO4KE.js → chunk-RCHAFSWS.js} +838 -39
  43. package/chunks/{chunk-3BPX75OR.js → chunk-RD4FKFWR.js} +1 -1
  44. package/chunks/{chunk-DPUXXMJW.js → chunk-RPTO5FY2.js} +1 -1
  45. package/chunks/{chunk-6KFB6AYN.js → chunk-RZR2XXAK.js} +531 -17
  46. package/chunks/chunk-SGILXLR3.js +289 -0
  47. package/chunks/{chunk-E3OOBVOK.js → chunk-TOAAYJVN.js} +2 -2
  48. package/chunks/chunk-TOFIGQ63.js +83 -0
  49. package/chunks/{chunk-QWK4R3DB.js → chunk-TTDFBFNZ.js} +6 -6
  50. package/chunks/chunk-TZRHWP7R.js +736 -0
  51. package/chunks/chunk-UHUW45S3.js +164 -0
  52. package/chunks/{chunk-5JNTMWPK.js → chunk-V4BD7GSP.js} +2 -2
  53. package/chunks/{chunk-OAS5SAVZ.js → chunk-V5I5GAQH.js} +3226 -1683
  54. package/chunks/{chunk-PS5E7LUQ.js → chunk-W6IYTSZH.js} +79 -9
  55. package/chunks/{chunk-RTBZ36BD.js → chunk-WUPN3D37.js} +22 -248
  56. package/chunks/{chunk-CF3MNS3O.js → chunk-Y7KV7WV6.js} +2 -2
  57. package/chunks/{chunk-2OQOQ2FZ.js → chunk-YERUDEXT.js} +763 -688
  58. package/chunks/{chunk-CPCHLL6A.js → chunk-YJU7QACE.js} +1 -1
  59. package/chunks/{chunk-YED25PA4.js → chunk-YORL5S5V.js} +1 -1
  60. package/chunks/{chunk-YAZARMJY.js → chunk-YYOQADBB.js} +4 -3
  61. package/chunks/chunk-ZPFBQ3SD.js +127 -0
  62. package/chunks/{codex-models-Z43V3427.js → codex-models-FQPCWRPC.js} +7 -7
  63. package/chunks/{commands-EUGF4FUZ.js → commands-I5L3VD2A.js} +6187 -12196
  64. package/chunks/dashboard-B2AEGCFM.js +76 -0
  65. package/chunks/{db-NVAW4WWR.js → db-P5EIKMLP.js} +3 -3
  66. package/chunks/deep-review-I7RD5QSS.js +82 -0
  67. package/chunks/{disclose-LDNKAVRH.js → disclose-PFBWESVJ.js} +4 -2
  68. package/chunks/{dist-7RUOKPRJ.js → dist-3SWWY5FZ.js} +18 -2
  69. package/chunks/{dist-27BNG6WD.js → dist-AJU25UXA.js} +112 -63
  70. package/chunks/{dist-NG2HT5XU.js → dist-VK2M4HNW.js} +85 -1
  71. package/chunks/eval-runner-XVRX3R2Y.js +31 -0
  72. package/chunks/{exploit-agent-FCCR2HYX.js → exploit-agent-A4RTIJ4J.js} +1 -1
  73. package/chunks/{exploit-autoclimb-X5ZS5FAO.js → exploit-autoclimb-ABMMBC3M.js} +1 -1
  74. package/chunks/{exploit-climb-3JHGEO36.js → exploit-climb-BQ2SVU63.js} +2 -2
  75. package/chunks/{fix-NSNPU33B.js → fix-4YCLHFDT.js} +7 -7
  76. package/chunks/{harness-KXQOVIDQ.js → harness-DHWULEIZ.js} +3 -3
  77. package/chunks/{hunt-scan-ELTKGKC4.js → hunt-scan-DXV5H6YN.js} +16 -16
  78. package/chunks/{kernel-primitive-MT7YZSIG.js → kernel-primitive-SF4NALVR.js} +2 -2
  79. package/chunks/{kernel-vm-runner-YFRHYC6G.js → kernel-vm-runner-WEBEZEIC.js} +2 -2
  80. package/chunks/local-engine-XUG7XRKM.js +21 -0
  81. package/chunks/managed-operation-SQFMBWHG.js +60 -0
  82. package/chunks/{memsafety-scan-FCPAXIZE.js → memsafety-scan-L2Z7E7TE.js} +2 -2
  83. package/chunks/{native-loop-OFJDRHPI.js → native-loop-ZNAELJGB.js} +14 -13
  84. package/chunks/orchestrate-YHFJXGID.js +63 -0
  85. package/chunks/{prepare-72GWTRVI.js → prepare-SODWQN6O.js} +5 -5
  86. package/chunks/provider-model-discovery-QGUGL3XW.js +277 -0
  87. package/chunks/remote-workflow-runtime-XNNGI2PG.js +12 -0
  88. package/chunks/{run-WTJCZZHV.js → run-5T4Z3Q2D.js} +924 -327
  89. package/chunks/{runtime-LCJ4XSKE.js → runtime-HFFRUOPL.js} +4 -2
  90. package/chunks/{runtime-FCKOUB7V.js → runtime-MB4GEFBY.js} +7 -7
  91. package/chunks/{scan-stream-GT6GKQ3U.js → scan-stream-GXBJHCDF.js} +3 -2
  92. package/chunks/{scope-E5QZUOOH.js → scope-M7L3CD6X.js} +2 -2
  93. package/chunks/service-plugins-BGS6QKSZ.js +64 -0
  94. package/chunks/{session-store-H3Q7KCYG.js → session-store-K7I4GLNH.js} +2 -2
  95. package/chunks/{variant-candidates-SZKDCOLK.js → variant-candidates-2KSP5EHH.js} +7 -7
  96. package/chunks/{web-recon-prepass-IO3GXQMW.js → web-recon-prepass-RAXXTEWH.js} +5 -5
  97. package/chunks/workflow-runtime-V26HIJO3.js +178 -0
  98. package/dashboard/assets/abnfDiagram-VCTEODGH-CGCueOp5.js +1 -0
  99. package/dashboard/assets/arc-BjZaQcCc.js +1 -0
  100. package/dashboard/assets/architecture-7GRP2DOG-hcbO-9zX.js +1 -0
  101. package/dashboard/assets/architectureDiagram-5GKGNRK7-DReOXTSq.js +36 -0
  102. package/dashboard/assets/array-BifhSqXX.js +1 -0
  103. package/dashboard/assets/blockDiagram-I7D4REHJ-C-byT12_.js +129 -0
  104. package/dashboard/assets/c4Diagram-7LVT6UL2-DoYjz-Uv.js +38 -0
  105. package/dashboard/assets/channel-CUURBnpZ.js +1 -0
  106. package/dashboard/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  107. package/dashboard/assets/chunk-4HAMMTFA-NBNp2zdt.js +62 -0
  108. package/dashboard/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  109. package/dashboard/assets/chunk-75Z2AOVW-BHmkuP0B.js +2 -0
  110. package/dashboard/assets/chunk-DU6HZSFF-DgfLNaL2.js +127 -0
  111. package/dashboard/assets/chunk-F27PBJKO-3wwNFUgZ.js +1 -0
  112. package/dashboard/assets/chunk-FOHPRMQF-DHwB1DNv.js +161 -0
  113. package/dashboard/assets/chunk-GMAD6QVW-Btg7huZW.js +72 -0
  114. package/dashboard/assets/chunk-GVQU2GXP-ihCURK5O.js +1 -0
  115. package/dashboard/assets/chunk-IMKFNOWR-FsXj7slg.js +231 -0
  116. package/dashboard/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  117. package/dashboard/assets/chunk-L3NEJ4N5-DorFIxJY.js +1 -0
  118. package/dashboard/assets/chunk-OSK3NFVY-DKun_KfC.js +10 -0
  119. package/dashboard/assets/chunk-P2QGCYS3-XGgiU1Bz.js +1 -0
  120. package/dashboard/assets/chunk-POPQ4Y6H-BTXEnGhJ.js +1 -0
  121. package/dashboard/assets/chunk-PWAF6VOD-DYZcGkTL.js +1 -0
  122. package/dashboard/assets/chunk-SHT3W25Y-C4WQfwf8.js +168 -0
  123. package/dashboard/assets/chunk-SVP7TREG-C4nCh0-1.js +88 -0
  124. package/dashboard/assets/chunk-TICWLB2K-DSB-IiGc.js +206 -0
  125. package/dashboard/assets/chunk-XXDRQBXY-CS6fjUcj.js +1 -0
  126. package/dashboard/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  127. package/dashboard/assets/classDiagram-ZZMXUADV-CD1Buc26.js +1 -0
  128. package/dashboard/assets/classDiagram-v2-VYDZK3BY-CD1Buc26.js +1 -0
  129. package/dashboard/assets/common-BMdQBwfR.js +5 -0
  130. package/dashboard/assets/cose-bilkent-JH36ORCC-CUjQHTML.js +1 -0
  131. package/dashboard/assets/cynefin-OW5HDTMX-BC7zCtFq.js +1 -0
  132. package/dashboard/assets/cynefinDiagram-5FMLGOSQ-CgDOOY67.js +62 -0
  133. package/dashboard/assets/cytoscape.esm-CGd-uY3x.js +321 -0
  134. package/dashboard/assets/dagre-GXQ25YYZ-Dqc8FS9x.js +4 -0
  135. package/dashboard/assets/dagre-PrKaheQc.js +1 -0
  136. package/dashboard/assets/defaultLocale-BFoDCU3G.js +1 -0
  137. package/dashboard/assets/diagram-S7CK7UJ4-CrKqRXZb.js +30 -0
  138. package/dashboard/assets/diagram-UQ7AKVKN-Cu6Es0-v.js +41 -0
  139. package/dashboard/assets/diagram-VSXAHHWV-eK4d8FwS.js +3 -0
  140. package/dashboard/assets/diagram-VX7I27RA-bFxeFKOc.js +24 -0
  141. package/dashboard/assets/diagram-Z3DM3KII-C0ClmnhC.js +24 -0
  142. package/dashboard/assets/dist-BZh8Kb3O.js +1 -0
  143. package/dashboard/assets/ebnfDiagram-PWID7BFC-CUqxFPzf.js +1 -0
  144. package/dashboard/assets/erDiagram-RLTQ6QDP-CcYM7pLi.js +99 -0
  145. package/dashboard/assets/eventmodeling-NTZA5JFV-D8ZNnPkV.js +1 -0
  146. package/dashboard/assets/flowDiagram-HODETNUW-pDb1AYm8.js +1 -0
  147. package/dashboard/assets/ganttDiagram-EL5Y4UJY-UmZfbMyD.js +292 -0
  148. package/dashboard/assets/gitGraph-4MIJSDKK-mvNUo0ZA.js +1 -0
  149. package/dashboard/assets/gitGraphDiagram-WWUBYQGX-CvzeCxVy.js +106 -0
  150. package/dashboard/assets/graphlib-DS17s2tU.js +1 -0
  151. package/dashboard/assets/info-A6RAGUB7-DChKqZMi.js +1 -0
  152. package/dashboard/assets/infoDiagram-27XIBGKW-DjkpNtVW.js +2 -0
  153. package/dashboard/assets/init-C-OQMol4.js +1 -0
  154. package/dashboard/assets/ishikawaDiagram-5VMMS53U-8FhjJaWT.js +70 -0
  155. package/dashboard/assets/journeyDiagram-3NMN7TZE-DyNJ755f.js +139 -0
  156. package/dashboard/assets/kanban-definition-UXKFOSKX-_jCmtaY1.js +89 -0
  157. package/dashboard/assets/katex-BdBmVSus.js +257 -0
  158. package/dashboard/assets/line-Bf0nxyWf.js +1 -0
  159. package/dashboard/assets/linear-Bl6JKbf4.js +1 -0
  160. package/dashboard/assets/mermaid-parser.core-Cc6sgCzs.js +7 -0
  161. package/dashboard/assets/mermaid.core-B4yCwiN-.js +44 -0
  162. package/dashboard/assets/mindmap-definition-YA3MSWOX-D5DjWyXj.js +96 -0
  163. package/dashboard/assets/operations-B7JAWOi6.js +130 -0
  164. package/dashboard/assets/operations-QjKT0Hwi.css +1 -0
  165. package/dashboard/assets/ordinal-BDEzSJ7C.js +1 -0
  166. package/dashboard/assets/packet-AYTQ26CC-bQXLDhQC.js +1 -0
  167. package/dashboard/assets/path-fybaL0A-.js +1 -0
  168. package/dashboard/assets/pegDiagram-XKGWAZYB-Bf6a1vaf.js +1 -0
  169. package/dashboard/assets/pie-WAS4IAKB-DfzoABIi.js +1 -0
  170. package/dashboard/assets/pieDiagram-E7YTZNPT-D0L1qbch.js +39 -0
  171. package/dashboard/assets/quadrantDiagram-AXDQQJYC-CbFyy2Pe.js +7 -0
  172. package/dashboard/assets/radar-RG4KPBEZ-CZ2pyeUT.js +1 -0
  173. package/dashboard/assets/railroad-74A4TZTK-CP4Jazfd.js +1 -0
  174. package/dashboard/assets/railroad-abnf-HS5TGJTU-3MvEiHwD.js +1 -0
  175. package/dashboard/assets/railroad-ebnf-LZEXJU2U-BWto6cXE.js +1 -0
  176. package/dashboard/assets/railroad-peg-WCYAUIDC-DasEjbyf.js +1 -0
  177. package/dashboard/assets/railroadDiagram-O6MQD6OU-t7Gp9g2R.js +1 -0
  178. package/dashboard/assets/requirementDiagram-BXWQKSXE-LYmqeBXi.js +84 -0
  179. package/dashboard/assets/rough.esm-Dy-Kn_BL.js +1 -0
  180. package/dashboard/assets/sankeyDiagram-P5KCCOFB-DnpfA_94.js +40 -0
  181. package/dashboard/assets/sequenceDiagram-WJ2MYXX4-C8s3pTUE.js +162 -0
  182. package/dashboard/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  183. package/dashboard/assets/src-CaNUT1AQ.js +1 -0
  184. package/dashboard/assets/stateDiagram-D77RDMKH-BMzm6fK1.js +1 -0
  185. package/dashboard/assets/stateDiagram-v2-MP3YSRHH-B3REMjpY.js +1 -0
  186. package/dashboard/assets/swimlanes-42K2YHIH-uJE05Tt_.js +1 -0
  187. package/dashboard/assets/swimlanesDiagram-VR7AAH4N-CIaVMZEy.js +8 -0
  188. package/dashboard/assets/timeline-definition-24CTP7MA-BfLJMVeG.js +120 -0
  189. package/dashboard/assets/treeView-Q6P3EWNA-ZOE2enu2.js +1 -0
  190. package/dashboard/assets/treemap-WGGIJYW6-yIZoPBF5.js +1 -0
  191. package/dashboard/assets/vennDiagram-4TSXK5OY-BYJRHEaL.js +34 -0
  192. package/dashboard/assets/wardley-WFR3VGLG-D5V-jLbB.js +1 -0
  193. package/dashboard/assets/wardleyDiagram-VM6X3IG4-DgPN4nSe.js +78 -0
  194. package/dashboard/assets/xychartDiagram-S5SC5T6Z-BhkAMAOT.js +7 -0
  195. package/dashboard/index.html +3 -3
  196. package/package.json +3 -2
  197. package/worker-assets/demo-target/README.md +15 -0
  198. package/worker-assets/demo-target/include/decoder.h +27 -0
  199. package/worker-assets/demo-target/patched-decoder.c +40 -0
  200. package/worker-assets/demo-target/src/decoder.c +50 -0
  201. package/worker-assets/demo-target/witness-65537x1.bin +0 -0
  202. package/chunks/chunk-FFHRANYC.js +0 -547
  203. package/chunks/eval-runner-6Q3H52SP.js +0 -30
  204. package/chunks/orchestrate-DRZ2SVCP.js +0 -62
  205. package/chunks/service-plugins-MSK2EQP6.js +0 -62
  206. package/dashboard/assets/operations-BvB5Qpmk.css +0 -1
  207. package/dashboard/assets/operations-D8Ii01SV.js +0 -114
  208. package/dashboard/assets/zero-peek-Dzm3MT3X.png +0 -0
@@ -1,547 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __0CreateRequire } from "node:module";
3
- const require = __0CreateRequire(import.meta.url);
4
- import {
5
- SETTING_DEFS,
6
- isOperatorSetting,
7
- loadGlobalSettings,
8
- loadLayeredSettings,
9
- normalizeSettings,
10
- projectSettingsExist,
11
- readProjectOverrides,
12
- resolveLayeredSettings,
13
- saveProjectOverrides,
14
- saveSettings
15
- } from "./chunk-XODDLNBI.js";
16
- import {
17
- expandHomePath,
18
- isExistingLocalTargetPath,
19
- isExplicitLocalTargetPath
20
- } from "./chunk-GVY3S5E5.js";
21
- import {
22
- ANALYTICS_LEVEL_ENV,
23
- analyticsOptedOut,
24
- analyticsPipeline,
25
- levelAtLeast,
26
- resolveAnalyticsLevel
27
- } from "./chunk-2WWAPKAW.js";
28
- import {
29
- createPresentationEvent
30
- } from "./chunk-6KFB6AYN.js";
31
-
32
- // packages/cli/src/tui/settings-store.ts
33
- import { useSyncExternalStore } from "react";
34
- var cached = null;
35
- var globalDraft = null;
36
- var projectDraft = null;
37
- var homeDir;
38
- var projectDir;
39
- var subscribers = /* @__PURE__ */ new Set();
40
- function notify(settings) {
41
- bridgeAnalyticsLevel(settings);
42
- for (const fn of [...subscribers]) {
43
- try {
44
- fn(settings);
45
- } catch {
46
- }
47
- }
48
- }
49
- function loadLayered() {
50
- return globalDraft === null && projectDraft === null ? loadLayeredSettings({ homeDir, projectDir }) : resolveLayeredSettings(globalDraft ?? loadGlobalSettings(homeDir), projectDraft ?? readProjectOverrides(projectDir));
51
- }
52
- function getSettings() {
53
- if (cached === null) {
54
- cached = loadLayered();
55
- bridgeAnalyticsLevel(cached.settings);
56
- }
57
- return cached.settings;
58
- }
59
- function getSettingSources() {
60
- getSettings();
61
- return cached.sources;
62
- }
63
- function getAnalyticsSetupDraft() {
64
- const settings = getSettings();
65
- const current = process.env[ANALYTICS_LEVEL_ENV];
66
- const shellPreference = current !== void 0 && current !== bridgedAnalyticsEnv;
67
- if (analyticsOptedOut() || shellPreference && resolveAnalyticsLevel() === "off") return "off";
68
- return cached.sources.analyticsLevel === "default" ? "usage" : settings.analyticsLevel;
69
- }
70
- function setSettings(next) {
71
- const value = normalizeSettings(next);
72
- const saved = saveSettings(value, homeDir);
73
- globalDraft = saved ? null : value;
74
- cached = loadLayered();
75
- notify(cached.settings);
76
- return saved;
77
- }
78
- function defaultWriteLayer() {
79
- return projectSettingsExist(projectDir) ? "project" : "global";
80
- }
81
- function updateSetting(key, value, opts = {}) {
82
- const operatorOnly = isOperatorSetting(key);
83
- if (operatorOnly && opts.scope === "project") return false;
84
- const layer = operatorOnly ? "global" : opts.scope ?? defaultWriteLayer();
85
- if (layer === "global") {
86
- return setSettings({ ...globalDraft ?? loadGlobalSettings(homeDir), [key]: value });
87
- }
88
- const patch = { ...projectDraft ?? readProjectOverrides(projectDir), [key]: value };
89
- const saved = saveProjectOverrides(patch, projectDir);
90
- projectDraft = saved ? null : patch;
91
- cached = loadLayered();
92
- notify(cached.settings);
93
- return saved;
94
- }
95
- function resetSettings(next, keys) {
96
- const selected = keys.filter((key) => SETTING_DEFS.some((def) => def.key === key));
97
- if (selected.length === 0) return true;
98
- const global = { ...globalDraft ?? loadGlobalSettings(homeDir) };
99
- const project = { ...projectDraft ?? readProjectOverrides(projectDir) };
100
- let projectChanged = false;
101
- for (const key of selected) {
102
- global[key] = next[key];
103
- if (Object.hasOwn(project, key)) {
104
- delete project[key];
105
- projectChanged = true;
106
- }
107
- }
108
- const value = normalizeSettings(global);
109
- const globalSaved = saveSettings(value, homeDir);
110
- globalDraft = globalSaved ? null : value;
111
- const projectSaved = !projectChanged || saveProjectOverrides(project, projectDir);
112
- if (projectChanged) projectDraft = projectSaved ? null : project;
113
- cached = loadLayered();
114
- notify(cached.settings);
115
- return globalSaved && projectSaved;
116
- }
117
- function previewSetting(key, value) {
118
- if (cached === null) cached = loadLayered();
119
- cached = { settings: { ...cached.settings, [key]: value }, sources: cached.sources };
120
- notify(cached.settings);
121
- }
122
- function subscribeSettings(fn) {
123
- subscribers.add(fn);
124
- return () => {
125
- subscribers.delete(fn);
126
- };
127
- }
128
- var bridgedAnalyticsEnv;
129
- function bridgeAnalyticsLevel(settings) {
130
- try {
131
- const current = process.env[ANALYTICS_LEVEL_ENV];
132
- if (current === void 0 || current === bridgedAnalyticsEnv) {
133
- process.env[ANALYTICS_LEVEL_ENV] = settings.analyticsLevel;
134
- bridgedAnalyticsEnv = settings.analyticsLevel;
135
- } else {
136
- bridgedAnalyticsEnv = void 0;
137
- }
138
- const environmentLevel = resolveAnalyticsLevel();
139
- analyticsPipeline.setLevel(levelAtLeast(environmentLevel, settings.analyticsLevel) ? settings.analyticsLevel : environmentLevel);
140
- } catch {
141
- }
142
- }
143
- function reloadSettings() {
144
- globalDraft = null;
145
- projectDraft = null;
146
- cached = loadLayered();
147
- notify(cached.settings);
148
- return cached.settings;
149
- }
150
- function configureSettingsStore(options) {
151
- homeDir = options.homeDir;
152
- projectDir = options.projectDir;
153
- reloadSettings();
154
- }
155
- function useSettings() {
156
- return useSyncExternalStore(subscribeSettings, getSettings, getSettings);
157
- }
158
-
159
- // packages/cli/src/codex-auth.ts
160
- import { readFileSync, existsSync } from "node:fs";
161
- import { homedir } from "node:os";
162
- import { join } from "node:path";
163
- var AUTH_FILE_ENV = "ZERO_CHATGPT_AUTH_FILE";
164
- var LEGACY_AUTH_FILE_ENV = "ZERO_CODEX_AUTH_JSON_PATH";
165
- function maybeLoadCodexAuth(options = {}) {
166
- const env = options.env ?? process.env;
167
- if (!options.force && (env["ZERO_CHATGPT_ACCESS_TOKEN"] || env["ZERO_CHATGPT_OAUTH_REFRESH_TOKEN"])) {
168
- return;
169
- }
170
- const home = options.home ?? homedir();
171
- const override = nonEmpty(env[AUTH_FILE_ENV]) ?? nonEmpty(env[LEGACY_AUTH_FILE_ENV]);
172
- const path = override ?? join(home, ".codex", "auth.json");
173
- if (!existsSync(path)) return;
174
- try {
175
- const raw = JSON.parse(readFileSync(path, "utf8"));
176
- const accessToken = nonEmpty(asString(raw.tokens?.access_token));
177
- const refreshToken = nonEmpty(asString(raw.tokens?.refresh_token));
178
- if (!accessToken && !refreshToken) return;
179
- if (options.force) {
180
- delete env["ZERO_CHATGPT_ACCESS_TOKEN"];
181
- delete env["ZERO_CHATGPT_OAUTH_REFRESH_TOKEN"];
182
- }
183
- if (accessToken) {
184
- env["ZERO_CHATGPT_ACCESS_TOKEN"] = accessToken;
185
- }
186
- if (refreshToken) {
187
- env["ZERO_CHATGPT_OAUTH_REFRESH_TOKEN"] = refreshToken;
188
- }
189
- } catch {
190
- }
191
- }
192
- function nonEmpty(value) {
193
- return typeof value === "string" && value.length > 0 ? value : void 0;
194
- }
195
- function asString(value) {
196
- return typeof value === "string" ? value : void 0;
197
- }
198
-
199
- // packages/cli/src/presentation/event-bus.ts
200
- var PresentationEventBus = class {
201
- listeners = [];
202
- subscribe(listener) {
203
- this.listeners.push(listener);
204
- return () => {
205
- const index = this.listeners.indexOf(listener);
206
- if (index >= 0) this.listeners.splice(index, 1);
207
- };
208
- }
209
- emit(event) {
210
- for (const listener of [...this.listeners]) {
211
- try {
212
- listener.emit(event);
213
- } catch {
214
- }
215
- }
216
- }
217
- get size() {
218
- return this.listeners.length;
219
- }
220
- };
221
- var presentationEventBus = new PresentationEventBus();
222
- function createPresentationEmitter(options = {}) {
223
- const source = options.source ?? "cli";
224
- const now = options.now ?? (() => (/* @__PURE__ */ new Date()).toISOString());
225
- const bus = options.bus ?? presentationEventBus;
226
- let sequence = 0;
227
- return {
228
- emit(eventType, payload, correlation = {}) {
229
- const event = createPresentationEvent({
230
- source,
231
- sequence: ++sequence,
232
- at: now(),
233
- eventType,
234
- payload,
235
- ...correlation.scanId ? { scanId: correlation.scanId } : {},
236
- ...correlation.sessionId ? { sessionId: correlation.sessionId } : {}
237
- });
238
- bus.emit(event);
239
- return event;
240
- }
241
- };
242
- }
243
-
244
- // packages/cli/src/presentation/process-output.ts
245
- import { format } from "node:util";
246
- var streamBridgeSuppressionDepth = 0;
247
- var activeStreamBridge = null;
248
- function currentPresentationTimestamp() {
249
- return (/* @__PURE__ */ new Date()).toISOString();
250
- }
251
- function createProcessPresentationOutput(options = {}) {
252
- const stdout = options.stdout ?? { write: process.stdout.write.bind(process.stdout) };
253
- const stderr = options.stderr ?? { write: process.stderr.write.bind(process.stderr) };
254
- const source = options.source ?? "cli";
255
- const now = options.now ?? currentPresentationTimestamp;
256
- let sequence = 0;
257
- const write = (channel, target, text, eventType) => {
258
- const event = createPresentationEvent({
259
- source,
260
- sequence: ++sequence,
261
- at: now(),
262
- eventType,
263
- payload: { channel, text }
264
- });
265
- streamBridgeSuppressionDepth += 1;
266
- try {
267
- target.write(text);
268
- } finally {
269
- streamBridgeSuppressionDepth -= 1;
270
- }
271
- options.onEvent?.(event);
272
- return event;
273
- };
274
- return {
275
- stdout(text, eventType = "output.stdout") {
276
- return write("stdout", stdout, text, eventType);
277
- },
278
- stderr(text, eventType = "output.stderr") {
279
- return write("stderr", stderr, text, eventType);
280
- }
281
- };
282
- }
283
- function createConsolePresentationOutput(options = {}) {
284
- const source = options.source ?? "cli";
285
- const now = options.now ?? currentPresentationTimestamp;
286
- let sequence = 0;
287
- const emit = (channel, text, eventType) => {
288
- const event = createPresentationEvent({
289
- source,
290
- sequence: ++sequence,
291
- at: now(),
292
- eventType,
293
- payload: { channel, text }
294
- });
295
- streamBridgeSuppressionDepth += 1;
296
- try {
297
- if (channel === "stdout") {
298
- (options.log ?? console.log)(text);
299
- } else {
300
- (options.error ?? console.error)(text);
301
- }
302
- } finally {
303
- streamBridgeSuppressionDepth -= 1;
304
- }
305
- options.onEvent?.(event);
306
- return event;
307
- };
308
- return {
309
- stdout(text, eventType = "output.stdout") {
310
- return emit("stdout", text, eventType);
311
- },
312
- stderr(text, eventType = "output.stderr") {
313
- return emit("stderr", text, eventType);
314
- }
315
- };
316
- }
317
- var consolePresentationOutput = createConsolePresentationOutput({
318
- onEvent(event) {
319
- presentationEventBus.emit(event);
320
- }
321
- });
322
- function installConsolePresentationBridge(options = {}) {
323
- const target = options.target ?? console;
324
- const originals = {
325
- log: target.log,
326
- info: target.info,
327
- warn: target.warn,
328
- error: target.error
329
- };
330
- const source = options.source ?? "cli";
331
- const now = options.now ?? currentPresentationTimestamp;
332
- let sequence = 0;
333
- const emit = (method, channel, args, eventType) => {
334
- const text = format(...args);
335
- if (streamBridgeSuppressionDepth > 0) {
336
- originals[method].call(target, text);
337
- return;
338
- }
339
- const event = createPresentationEvent({
340
- source,
341
- sequence: ++sequence,
342
- at: now(),
343
- eventType,
344
- payload: { channel, text }
345
- });
346
- streamBridgeSuppressionDepth += 1;
347
- try {
348
- originals[method].call(target, text);
349
- } finally {
350
- streamBridgeSuppressionDepth -= 1;
351
- }
352
- presentationEventBus.emit(event);
353
- options.onEvent?.(event);
354
- };
355
- const bridgedLog = (...args) => emit("log", "stdout", args, "output.console.log");
356
- const bridgedInfo = (...args) => emit("info", "stdout", args, "output.console.info");
357
- const bridgedWarn = (...args) => emit("warn", "stderr", args, "output.console.warn");
358
- const bridgedError = (...args) => emit("error", "stderr", args, "output.console.error");
359
- target.log = bridgedLog;
360
- target.info = bridgedInfo;
361
- target.warn = bridgedWarn;
362
- target.error = bridgedError;
363
- return {
364
- restore() {
365
- if (target.log === bridgedLog) target.log = originals.log;
366
- if (target.info === bridgedInfo) target.info = originals.info;
367
- if (target.warn === bridgedWarn) target.warn = originals.warn;
368
- if (target.error === bridgedError) target.error = originals.error;
369
- }
370
- };
371
- }
372
- function installProcessPresentationStreamBridge(options = {}) {
373
- if (activeStreamBridge) return activeStreamBridge;
374
- const source = options.source ?? "cli";
375
- const now = options.now ?? currentPresentationTimestamp;
376
- let sequence = 0;
377
- let suspended = false;
378
- const streams = [];
379
- const emit = (channel, chunk, encoding) => {
380
- const text = typeof chunk === "string" ? chunk : chunk instanceof Uint8Array ? Buffer.from(chunk).toString(typeof encoding === "string" ? encoding : "utf8") : String(chunk ?? "");
381
- if (channel === "stdout" && text.startsWith("ZERO_EVENT_")) return;
382
- const event = createPresentationEvent({
383
- source,
384
- sequence: ++sequence,
385
- at: now(),
386
- eventType: channel === "stdout" ? "output.stream.stdout" : "output.stream.stderr",
387
- payload: { channel, text }
388
- });
389
- presentationEventBus.emit(event);
390
- options.onEvent?.(event);
391
- };
392
- for (const [channel, stream] of [
393
- ["stdout", options.stdout ?? process.stdout],
394
- ["stderr", options.stderr ?? process.stderr]
395
- ]) {
396
- const original = stream.write;
397
- const patched = ((chunk, encoding, callback) => {
398
- const result = original.call(stream, chunk, encoding, callback);
399
- if (!suspended && streamBridgeSuppressionDepth === 0) emit(channel, chunk, encoding);
400
- return result;
401
- });
402
- streams.push({ channel, stream, original, patched });
403
- }
404
- const bridge = {
405
- suspend() {
406
- if (suspended) return;
407
- suspended = true;
408
- for (const item of streams) {
409
- if (item.stream.write === item.patched) item.stream.write = item.original;
410
- }
411
- },
412
- resume() {
413
- if (!suspended) return;
414
- suspended = false;
415
- for (const item of streams) {
416
- if (item.stream.write === item.original) item.stream.write = item.patched;
417
- }
418
- },
419
- restore() {
420
- for (const item of streams) {
421
- if (item.stream.write === item.patched) item.stream.write = item.original;
422
- }
423
- if (activeStreamBridge === bridge) activeStreamBridge = null;
424
- }
425
- };
426
- for (const item of streams) item.stream.write = item.patched;
427
- activeStreamBridge = bridge;
428
- return bridge;
429
- }
430
- function suspendProcessPresentationStreamBridge() {
431
- activeStreamBridge?.suspend();
432
- }
433
- function resumeProcessPresentationStreamBridge() {
434
- activeStreamBridge?.resume();
435
- }
436
- var processPresentationOutput = createProcessPresentationOutput({
437
- onEvent(event) {
438
- presentationEventBus.emit(event);
439
- }
440
- });
441
- function writePresentationLine(text, eventType = "output.stdout") {
442
- return processPresentationOutput.stdout(`${text}
443
- `, eventType);
444
- }
445
-
446
- // packages/cli/src/engagement-plan.ts
447
- var PACKAGE_PREFIXES = {
448
- "npm:": { ecosystem: "npm", targetType: "npm-package" },
449
- "pypi:": { ecosystem: "pypi", targetType: "pypi-package" },
450
- "cargo:": { ecosystem: "cargo", targetType: "cargo-package" },
451
- "oci:": { ecosystem: "oci", targetType: "oci-image" }
452
- };
453
- function resolveEngagement(rawTarget) {
454
- const raw = rawTarget.trim();
455
- if (raw.length === 0) return { ok: false, message: "Enter a URL, source path, git URL, or ecosystem-prefixed package." };
456
- for (const [prefix, packagePlan] of Object.entries(PACKAGE_PREFIXES)) {
457
- if (!raw.startsWith(prefix)) continue;
458
- const target = raw.slice(prefix.length).trim();
459
- if (target.length === 0) return { ok: false, message: `${prefix} requires a package name.` };
460
- return {
461
- ok: true,
462
- plan: {
463
- kind: "package",
464
- target,
465
- targetType: packagePlan.targetType,
466
- ecosystem: packagePlan.ecosystem,
467
- label: `${packagePlan.ecosystem} package ${target}`
468
- }
469
- };
470
- }
471
- if (raw.startsWith("source:")) {
472
- const target = raw.slice("source:".length).trim();
473
- if (target.length === 0) return { ok: false, message: "source: requires a local path or git URL." };
474
- return {
475
- ok: true,
476
- plan: {
477
- kind: "source",
478
- target: expandHomePath(target),
479
- targetType: "source-code",
480
- label: `source review ${target}`
481
- }
482
- };
483
- }
484
- if (raw.startsWith("git@") || raw.startsWith("git://") || raw.endsWith(".git") || raw.startsWith("https://github.com/")) {
485
- return {
486
- ok: true,
487
- plan: {
488
- kind: "source",
489
- target: raw,
490
- targetType: "source-code",
491
- label: `source review ${raw}`
492
- }
493
- };
494
- }
495
- if (raw.startsWith("mcp://") || raw.startsWith("http://") || raw.startsWith("https://")) {
496
- return {
497
- ok: true,
498
- plan: {
499
- kind: "web",
500
- target: raw,
501
- targetType: "url",
502
- label: `web target ${raw}`
503
- }
504
- };
505
- }
506
- if (isExplicitLocalTargetPath(raw) || isExistingLocalTargetPath(raw)) {
507
- const target = expandHomePath(raw);
508
- return {
509
- ok: true,
510
- plan: {
511
- kind: "source",
512
- target,
513
- targetType: "source-code",
514
- label: `source review ${target}`
515
- }
516
- };
517
- }
518
- return {
519
- ok: false,
520
- message: "Ambiguous target. Use https://\u2026, ./path, source:\u2026, npm:\u2026, pypi:\u2026, cargo:\u2026, or oci:\u2026."
521
- };
522
- }
523
-
524
- export {
525
- getSettings,
526
- getSettingSources,
527
- getAnalyticsSetupDraft,
528
- defaultWriteLayer,
529
- updateSetting,
530
- resetSettings,
531
- previewSetting,
532
- subscribeSettings,
533
- reloadSettings,
534
- configureSettingsStore,
535
- useSettings,
536
- maybeLoadCodexAuth,
537
- presentationEventBus,
538
- createPresentationEmitter,
539
- consolePresentationOutput,
540
- installConsolePresentationBridge,
541
- installProcessPresentationStreamBridge,
542
- suspendProcessPresentationStreamBridge,
543
- resumeProcessPresentationStreamBridge,
544
- processPresentationOutput,
545
- writePresentationLine,
546
- resolveEngagement
547
- };
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __0CreateRequire } from "node:module";
3
- const require = __0CreateRequire(import.meta.url);
4
- import {
5
- getEvalCategories,
6
- runEval
7
- } from "./chunk-5JNTMWPK.js";
8
- import "./chunk-H6Q2QAIY.js";
9
- import "./chunk-K2PWUPUI.js";
10
- import "./chunk-SCWWLABR.js";
11
- import "./chunk-2OQOQ2FZ.js";
12
- import "./chunk-YED25PA4.js";
13
- import "./chunk-CF3MNS3O.js";
14
- import "./chunk-IXT64DV5.js";
15
- import "./chunk-CPCHLL6A.js";
16
- import "./chunk-YAZARMJY.js";
17
- import "./chunk-QVIRWJ45.js";
18
- import "./chunk-2WWAPKAW.js";
19
- import "./chunk-RS4MAN3Q.js";
20
- import "./chunk-UELXHK2Y.js";
21
- import "./chunk-4ZYYX5GY.js";
22
- import "./chunk-C6JPA32H.js";
23
- import "./chunk-5IBCBQEH.js";
24
- import "./chunk-6KFB6AYN.js";
25
- import "./chunk-VIT5ALXF.js";
26
- import "./chunk-VCSFCHAJ.js";
27
- export {
28
- getEvalCategories,
29
- runEval
30
- };
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __0CreateRequire } from "node:module";
3
- const require = __0CreateRequire(import.meta.url);
4
- import {
5
- recoverStaleWorkers,
6
- registerOrchestrateCommand
7
- } from "./chunk-QWK4R3DB.js";
8
- import "./chunk-HLFS6WV2.js";
9
- import "./chunk-OAS5SAVZ.js";
10
- import "./chunk-E3OOBVOK.js";
11
- import "./chunk-QCUFBVIZ.js";
12
- import "./chunk-5JNTMWPK.js";
13
- import "./chunk-TM74SSHC.js";
14
- import "./chunk-2WNCI664.js";
15
- import "./chunk-23DG5YKS.js";
16
- import "./chunk-DQTNI3KY.js";
17
- import "./chunk-IHPTOTLL.js";
18
- import "./chunk-DPUXXMJW.js";
19
- import "./chunk-5WAJGLCW.js";
20
- import "./chunk-E74LXQFY.js";
21
- import "./chunk-AZ7L3HFD.js";
22
- import "./chunk-ELI3BVIK.js";
23
- import "./chunk-H4DH7COV.js";
24
- import "./chunk-H6Q2QAIY.js";
25
- import "./chunk-K2PWUPUI.js";
26
- import "./chunk-SCWWLABR.js";
27
- import "./chunk-2OQOQ2FZ.js";
28
- import "./chunk-UEX7PFSE.js";
29
- import "./chunk-YED25PA4.js";
30
- import "./chunk-RCRTSKQN.js";
31
- import "./chunk-6WQDXWQC.js";
32
- import "./chunk-CF3MNS3O.js";
33
- import "./chunk-SQCBHFWN.js";
34
- import "./chunk-GVD6SJGH.js";
35
- import "./chunk-WBRGXCU2.js";
36
- import "./chunk-O6KPVYOI.js";
37
- import "./chunk-FHC2B7LN.js";
38
- import "./chunk-DKSCN2AB.js";
39
- import "./chunk-UFHN6RIU.js";
40
- import "./chunk-L2CCO4KE.js";
41
- import "./chunk-TO35Y326.js";
42
- import "./chunk-IXT64DV5.js";
43
- import "./chunk-3BPX75OR.js";
44
- import "./chunk-GVY3S5E5.js";
45
- import "./chunk-CPCHLL6A.js";
46
- import "./chunk-YAZARMJY.js";
47
- import "./chunk-NJLKFC66.js";
48
- import "./chunk-G2BE2FC7.js";
49
- import "./chunk-QVIRWJ45.js";
50
- import "./chunk-2WWAPKAW.js";
51
- import "./chunk-RS4MAN3Q.js";
52
- import "./chunk-UELXHK2Y.js";
53
- import "./chunk-4ZYYX5GY.js";
54
- import "./chunk-C6JPA32H.js";
55
- import "./chunk-5IBCBQEH.js";
56
- import "./chunk-6KFB6AYN.js";
57
- import "./chunk-VIT5ALXF.js";
58
- import "./chunk-VCSFCHAJ.js";
59
- export {
60
- recoverStaleWorkers,
61
- registerOrchestrateCommand
62
- };
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __0CreateRequire } from "node:module";
3
- const require = __0CreateRequire(import.meta.url);
4
- import {
5
- ServicePluginServices,
6
- loadServicePluginConnections
7
- } from "./chunk-PS5E7LUQ.js";
8
- import "./chunk-XODDLNBI.js";
9
- import "./chunk-OAS5SAVZ.js";
10
- import "./chunk-E3OOBVOK.js";
11
- import "./chunk-QCUFBVIZ.js";
12
- import "./chunk-5JNTMWPK.js";
13
- import "./chunk-TM74SSHC.js";
14
- import "./chunk-2WNCI664.js";
15
- import "./chunk-23DG5YKS.js";
16
- import "./chunk-DQTNI3KY.js";
17
- import "./chunk-IHPTOTLL.js";
18
- import "./chunk-DPUXXMJW.js";
19
- import "./chunk-5WAJGLCW.js";
20
- import "./chunk-E74LXQFY.js";
21
- import "./chunk-AZ7L3HFD.js";
22
- import "./chunk-ELI3BVIK.js";
23
- import "./chunk-H4DH7COV.js";
24
- import "./chunk-H6Q2QAIY.js";
25
- import "./chunk-K2PWUPUI.js";
26
- import "./chunk-SCWWLABR.js";
27
- import "./chunk-2OQOQ2FZ.js";
28
- import "./chunk-UEX7PFSE.js";
29
- import "./chunk-YED25PA4.js";
30
- import "./chunk-RCRTSKQN.js";
31
- import "./chunk-6WQDXWQC.js";
32
- import "./chunk-CF3MNS3O.js";
33
- import "./chunk-SQCBHFWN.js";
34
- import "./chunk-GVD6SJGH.js";
35
- import "./chunk-WBRGXCU2.js";
36
- import "./chunk-O6KPVYOI.js";
37
- import "./chunk-FHC2B7LN.js";
38
- import "./chunk-DKSCN2AB.js";
39
- import "./chunk-UFHN6RIU.js";
40
- import "./chunk-L2CCO4KE.js";
41
- import "./chunk-TO35Y326.js";
42
- import "./chunk-IXT64DV5.js";
43
- import "./chunk-3BPX75OR.js";
44
- import "./chunk-GVY3S5E5.js";
45
- import "./chunk-CPCHLL6A.js";
46
- import "./chunk-YAZARMJY.js";
47
- import "./chunk-NJLKFC66.js";
48
- import "./chunk-G2BE2FC7.js";
49
- import "./chunk-QVIRWJ45.js";
50
- import "./chunk-2WWAPKAW.js";
51
- import "./chunk-RS4MAN3Q.js";
52
- import "./chunk-UELXHK2Y.js";
53
- import "./chunk-4ZYYX5GY.js";
54
- import "./chunk-C6JPA32H.js";
55
- import "./chunk-5IBCBQEH.js";
56
- import "./chunk-6KFB6AYN.js";
57
- import "./chunk-VIT5ALXF.js";
58
- import "./chunk-VCSFCHAJ.js";
59
- export {
60
- ServicePluginServices,
61
- loadServicePluginConnections
62
- };