@kaitranntt/ccs 8.4.0-dev.1 → 8.4.0-dev.10

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 (149) hide show
  1. package/README.md +1 -1
  2. package/config/base-claude.settings.json +1 -1
  3. package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
  4. package/dist/api/services/cliproxy-profile-bridge.js +20 -9
  5. package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
  6. package/dist/cliproxy/config/env-builder.d.ts +19 -2
  7. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  8. package/dist/cliproxy/config/env-builder.js +58 -9
  9. package/dist/cliproxy/config/env-builder.js.map +1 -1
  10. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  11. package/dist/cliproxy/executor/browser-launch-setup.js +6 -2
  12. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  13. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  14. package/dist/cliproxy/quota/quota-manager.js +7 -3
  15. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  16. package/dist/commands/bar/bar-server-probe.d.ts +16 -3
  17. package/dist/commands/bar/bar-server-probe.d.ts.map +1 -1
  18. package/dist/commands/bar/bar-server-probe.js +83 -18
  19. package/dist/commands/bar/bar-server-probe.js.map +1 -1
  20. package/dist/commands/bar/help-subcommand.d.ts.map +1 -1
  21. package/dist/commands/bar/help-subcommand.js +2 -2
  22. package/dist/commands/bar/help-subcommand.js.map +1 -1
  23. package/dist/commands/bar/install-subcommand.d.ts +4 -10
  24. package/dist/commands/bar/install-subcommand.d.ts.map +1 -1
  25. package/dist/commands/bar/install-subcommand.js +44 -53
  26. package/dist/commands/bar/install-subcommand.js.map +1 -1
  27. package/dist/commands/bar/launch-subcommand.d.ts +11 -1
  28. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -1
  29. package/dist/commands/bar/launch-subcommand.js +82 -15
  30. package/dist/commands/bar/launch-subcommand.js.map +1 -1
  31. package/dist/commands/config-channels-command.d.ts +1 -1
  32. package/dist/commands/config-channels-command.d.ts.map +1 -1
  33. package/dist/commands/config-channels-command.js +3 -3
  34. package/dist/commands/config-channels-command.js.map +1 -1
  35. package/dist/commands/config-command-options.d.ts.map +1 -1
  36. package/dist/commands/config-command-options.js +11 -2
  37. package/dist/commands/config-command-options.js.map +1 -1
  38. package/dist/config/config-loader-facade.d.ts +1 -1
  39. package/dist/config/config-loader-facade.d.ts.map +1 -1
  40. package/dist/config/config-loader-facade.js +3 -1
  41. package/dist/config/config-loader-facade.js.map +1 -1
  42. package/dist/config/loader/config-getters.d.ts +16 -0
  43. package/dist/config/loader/config-getters.d.ts.map +1 -1
  44. package/dist/config/loader/config-getters.js +33 -1
  45. package/dist/config/loader/config-getters.js.map +1 -1
  46. package/dist/config/loader/defaults-merger.d.ts.map +1 -1
  47. package/dist/config/loader/defaults-merger.js +4 -0
  48. package/dist/config/loader/defaults-merger.js.map +1 -1
  49. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  50. package/dist/config/loader/yaml-serializer.js +13 -0
  51. package/dist/config/loader/yaml-serializer.js.map +1 -1
  52. package/dist/config/schemas/index.d.ts +2 -0
  53. package/dist/config/schemas/index.d.ts.map +1 -1
  54. package/dist/config/schemas/index.js +5 -1
  55. package/dist/config/schemas/index.js.map +1 -1
  56. package/dist/config/schemas/runtime.d.ts +57 -0
  57. package/dist/config/schemas/runtime.d.ts.map +1 -0
  58. package/dist/config/schemas/runtime.js +51 -0
  59. package/dist/config/schemas/runtime.js.map +1 -0
  60. package/dist/config/schemas/unified-config.d.ts +3 -0
  61. package/dist/config/schemas/unified-config.d.ts.map +1 -1
  62. package/dist/config/schemas/unified-config.js.map +1 -1
  63. package/dist/config/unified-config-loader.d.ts +1 -1
  64. package/dist/config/unified-config-loader.d.ts.map +1 -1
  65. package/dist/config/unified-config-loader.js +3 -1
  66. package/dist/config/unified-config-loader.js.map +1 -1
  67. package/dist/dispatcher/profile-resolver.d.ts +1 -1
  68. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  69. package/dist/dispatcher/profile-resolver.js +20 -7
  70. package/dist/dispatcher/profile-resolver.js.map +1 -1
  71. package/dist/shared/provider-preset-catalog.d.ts +1 -1
  72. package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
  73. package/dist/shared/provider-preset-catalog.js +14 -0
  74. package/dist/shared/provider-preset-catalog.js.map +1 -1
  75. package/dist/targets/claude-adapter.d.ts.map +1 -1
  76. package/dist/targets/claude-adapter.js +5 -0
  77. package/dist/targets/claude-adapter.js.map +1 -1
  78. package/dist/targets/codex-detector.d.ts.map +1 -1
  79. package/dist/targets/codex-detector.js +14 -0
  80. package/dist/targets/codex-detector.js.map +1 -1
  81. package/dist/ui/assets/{Trans-RG_sMDEu.js → Trans-BXjW_Rw3.js} +1 -1
  82. package/dist/ui/assets/{accounts-yTXURc-q.js → accounts-C7JMc-UL.js} +1 -1
  83. package/dist/ui/assets/{alert-dialog-DjvPgzFs.js → alert-dialog-BSSHnWG_.js} +1 -1
  84. package/dist/ui/assets/{api-Ck1dtNEM.js → api-GzEZNvOJ.js} +1 -1
  85. package/dist/ui/assets/{auth-section-DBnY_LPz.js → auth-section-B6k7LWIq.js} +1 -1
  86. package/dist/ui/assets/{backups-section-Ci-uL4Of.js → backups-section-Cr3g01YN.js} +1 -1
  87. package/dist/ui/assets/{channels-BeS9O5q0.js → channels-CMyh1yhN.js} +1 -1
  88. package/dist/ui/assets/{checkbox-DFeFDZBp.js → checkbox-BkqYXiER.js} +1 -1
  89. package/dist/ui/assets/{claude-extension-DS5qN19Z.js → claude-extension-BzYl3zcz.js} +1 -1
  90. package/dist/ui/assets/{cliproxy-D7HJH4mZ.js → cliproxy-DwzKzuZI.js} +1 -1
  91. package/dist/ui/assets/{cliproxy-ai-providers-oJQZXrtc.js → cliproxy-ai-providers-DL95SYNa.js} +1 -1
  92. package/dist/ui/assets/{cliproxy-control-panel-2mRPEcRj.js → cliproxy-control-panel-Ba2Rgzdo.js} +1 -1
  93. package/dist/ui/assets/{codex-D0AUQ6jA.js → codex-ClTEGCnr.js} +1 -1
  94. package/dist/ui/assets/{confirm-dialog-B37-CVuq.js → confirm-dialog-BPAO4ILr.js} +1 -1
  95. package/dist/ui/assets/{copilot-KaaW-mko.js → copilot-CymHD4gl.js} +1 -1
  96. package/dist/ui/assets/{cursor-BKiTgYi5.js → cursor-DAiPXs8h.js} +1 -1
  97. package/dist/ui/assets/{droid-DHdqGnFw.js → droid-CAhLWDOj.js} +1 -1
  98. package/dist/ui/assets/{globalenv-section-SfZO97nU.js → globalenv-section-BK5x_uXG.js} +1 -1
  99. package/dist/ui/assets/{health-CSRS9O0D.js → health-D_ErMvYv.js} +1 -1
  100. package/dist/ui/assets/{index-Cu_F55_O.js → index-B4cUkPwc.js} +1 -1
  101. package/dist/ui/assets/{index-DWUuSBUe.js → index-BZMyk4bI.js} +1 -1
  102. package/dist/ui/assets/{index-CGgavq2X.js → index-BcfwoMDm.js} +3 -3
  103. package/dist/ui/assets/{index-iQuEEGbH.js → index-BmbKPprT.js} +1 -1
  104. package/dist/ui/assets/{index-ChTYEBCZ.js → index-CEjVNSjg.js} +1 -1
  105. package/dist/ui/assets/{index-DJ66NrBH.js → index-CFDjAXOB.js} +1 -1
  106. package/dist/ui/assets/{index-DycwEe96.js → index-DCC80SZ0.js} +1 -1
  107. package/dist/ui/assets/{logs-tiZ_51mo.js → logs-DwhXr-9Y.js} +1 -1
  108. package/dist/ui/assets/{masked-input-D9FVoeMA.js → masked-input-DWJTe7jh.js} +1 -1
  109. package/dist/ui/assets/{proxy-status-widget-2k26d8pS.js → proxy-status-widget-CJXi8yui.js} +1 -1
  110. package/dist/ui/assets/{raw-json-settings-editor-panel-CguBh93H.js → raw-json-settings-editor-panel-DWhAi0kI.js} +1 -1
  111. package/dist/ui/assets/{searchable-select-C4wShshD.js → searchable-select-CYC4Y8pS.js} +1 -1
  112. package/dist/ui/assets/{separator-mvGlDdEW.js → separator-JhuNwVKE.js} +1 -1
  113. package/dist/ui/assets/{shared-Ck0yAwbs.js → shared-Hpgs7l5G.js} +1 -1
  114. package/dist/ui/assets/{table-DrUJOxKL.js → table-DDJTZfyL.js} +1 -1
  115. package/dist/ui/assets/{updates-BVHBFcq8.js → updates-CtygOHUO.js} +1 -1
  116. package/dist/ui/assets/{use-accounts-DLtuaniS.js → use-accounts-CaptC8AS.js} +1 -1
  117. package/dist/ui/index.html +1 -1
  118. package/dist/utils/bar-auth-token.d.ts +4 -0
  119. package/dist/utils/bar-auth-token.d.ts.map +1 -0
  120. package/dist/utils/bar-auth-token.js +60 -0
  121. package/dist/utils/bar-auth-token.js.map +1 -0
  122. package/dist/utils/browser/browser-settings.d.ts +3 -1
  123. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  124. package/dist/utils/browser/browser-settings.js +2 -2
  125. package/dist/utils/browser/browser-settings.js.map +1 -1
  126. package/dist/utils/browser/browser-setup.d.ts.map +1 -1
  127. package/dist/utils/browser/browser-setup.js +3 -1
  128. package/dist/utils/browser/browser-setup.js.map +1 -1
  129. package/dist/utils/browser/browser-status.d.ts.map +1 -1
  130. package/dist/utils/browser/browser-status.js +4 -2
  131. package/dist/utils/browser/browser-status.js.map +1 -1
  132. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  133. package/dist/web-server/routes/cursor-routes.js +3 -1
  134. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  135. package/dist/web-server/routes/index.d.ts.map +1 -1
  136. package/dist/web-server/routes/index.js +6 -0
  137. package/dist/web-server/routes/index.js.map +1 -1
  138. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  139. package/dist/web-server/routes/route-helpers.js +8 -0
  140. package/dist/web-server/routes/route-helpers.js.map +1 -1
  141. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  142. package/dist/web-server/usage/cliproxy-usage-transformer.js +9 -4
  143. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  144. package/dist/web-server/usage/codex-local-quota-collector.d.ts +2 -2
  145. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -1
  146. package/dist/web-server/usage/codex-local-quota-collector.js +39 -11
  147. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -1
  148. package/package.json +1 -1
  149. package/scripts/github/stable-release-issue-cleanup-lib.mjs +51 -11
@@ -8,6 +8,7 @@
8
8
  export interface DashboardInfo {
9
9
  port: number;
10
10
  baseUrl: string;
11
+ authRequired?: boolean;
11
12
  }
12
13
  /**
13
14
  * Read the port recorded in an existing bar.json.
@@ -19,9 +20,21 @@ export declare function resolveBarPort(ccsDir: string): number | null;
19
20
  *
20
21
  * Both IPv4 (127.0.0.1) and IPv6 (::1) loopback addresses are probed for each
21
22
  * port. All probes are fired concurrently so worst-case latency is ~1.5 s
22
- * (one timeout) rather than N × 1.5 s sequentially. Priority selection is
23
- * applied after all results are in: the bar.json port is preferred over the
24
- * defaults, and within a port 127.0.0.1 is preferred over [::1].
23
+ * (one timeout) rather than N × 1.5 s sequentially. Results are awaited in
24
+ * priority order so a lower-priority slow or streaming response cannot block
25
+ * returning an already-known higher-priority hit.
26
+ *
27
+ * Each probe speaks raw HTTP/1.1 over a socket and resolves on the status line,
28
+ * which lets discovery distinguish a live-but-auth-protected server (401/403)
29
+ * from a healthy one (200) without depending on a higher-level HTTP client.
30
+ *
31
+ * Token authentication: the probe does NOT send the token in the request.
32
+ * The real CCS Bar server reads the token from the 0600 file and includes it
33
+ * unconditionally in the x-ccs-bar-token response header. The probe then checks
34
+ * that the echoed value matches the locally-read token. A rogue loopback process
35
+ * that has not read the 0600 file cannot produce the correct value, so a 200
36
+ * without a matching token header is rejected. Sending the token in the request
37
+ * would defeat this — any process could echo what it received.
25
38
  */
26
39
  export declare function defaultFindRunningServer(ccsDir: string): Promise<DashboardInfo | null>;
27
40
  //# sourceMappingURL=bar-server-probe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bar-server-probe.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/bar-server-probe.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS5D;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAoC5F"}
1
+ {"version":3,"file":"bar-server-probe.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/bar-server-probe.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AAEH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS5D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA2F5F"}
@@ -33,6 +33,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
33
33
  exports.defaultFindRunningServer = exports.resolveBarPort = void 0;
34
34
  const fs = __importStar(require("fs"));
35
35
  const path = __importStar(require("path"));
36
+ const bar_auth_token_1 = require("../../utils/bar-auth-token");
36
37
  /**
37
38
  * Read the port recorded in an existing bar.json.
38
39
  * Returns null when the file is absent or malformed.
@@ -54,25 +55,88 @@ exports.resolveBarPort = resolveBarPort;
54
55
  *
55
56
  * Both IPv4 (127.0.0.1) and IPv6 (::1) loopback addresses are probed for each
56
57
  * port. All probes are fired concurrently so worst-case latency is ~1.5 s
57
- * (one timeout) rather than N × 1.5 s sequentially. Priority selection is
58
- * applied after all results are in: the bar.json port is preferred over the
59
- * defaults, and within a port 127.0.0.1 is preferred over [::1].
58
+ * (one timeout) rather than N × 1.5 s sequentially. Results are awaited in
59
+ * priority order so a lower-priority slow or streaming response cannot block
60
+ * returning an already-known higher-priority hit.
61
+ *
62
+ * Each probe speaks raw HTTP/1.1 over a socket and resolves on the status line,
63
+ * which lets discovery distinguish a live-but-auth-protected server (401/403)
64
+ * from a healthy one (200) without depending on a higher-level HTTP client.
65
+ *
66
+ * Token authentication: the probe does NOT send the token in the request.
67
+ * The real CCS Bar server reads the token from the 0600 file and includes it
68
+ * unconditionally in the x-ccs-bar-token response header. The probe then checks
69
+ * that the echoed value matches the locally-read token. A rogue loopback process
70
+ * that has not read the 0600 file cannot produce the correct value, so a 200
71
+ * without a matching token header is rejected. Sending the token in the request
72
+ * would defeat this — any process could echo what it received.
60
73
  */
61
74
  async function defaultFindRunningServer(ccsDir) {
62
- const { request } = await Promise.resolve().then(() => __importStar(require('undici')));
75
+ const token = (0, bar_auth_token_1.getOrCreateBarAuthToken)(ccsDir);
63
76
  async function probe(url) {
64
- try {
65
- const { statusCode, body } = await request(url, {
66
- method: 'GET',
67
- headersTimeout: 1500,
68
- bodyTimeout: 1500,
77
+ const net = await Promise.resolve().then(() => __importStar(require('net')));
78
+ const parsed = new URL(url);
79
+ const port = Number(parsed.port);
80
+ const host = parsed.hostname.replace(/^\[|\]$/g, '');
81
+ return new Promise((resolve) => {
82
+ let rawResponse = '';
83
+ let settled = false;
84
+ const finish = (statusCode = 0, headerSection = '') => {
85
+ if (settled)
86
+ return;
87
+ settled = true;
88
+ // Tear down the socket the moment we have enough to decide. The summary
89
+ // endpoint only needs the status code for liveness, so a non-CCS
90
+ // loopback service that streams forever cannot block discovery from
91
+ // returning a higher-priority hit.
92
+ socket.destroy();
93
+ const authRequired = statusCode === 401 || statusCode === 403;
94
+ if (authRequired) {
95
+ resolve({ ok: true, authRequired: true });
96
+ return;
97
+ }
98
+ if (statusCode === 200) {
99
+ // Accept only when the server includes the correct token in the
100
+ // response without having received it in the request. Only the real
101
+ // CCS Bar process (which owns the 0600 file) can produce this value.
102
+ const echoMatch = headerSection.match(new RegExp(`${bar_auth_token_1.BAR_AUTH_TOKEN_HEADER}:\\s*([^\\r\\n]+)`, 'i'));
103
+ const echoedToken = echoMatch ? echoMatch[1].trim() : '';
104
+ resolve({ ok: echoedToken === token, authRequired: false });
105
+ return;
106
+ }
107
+ resolve({ ok: false, authRequired: false });
108
+ };
109
+ const socket = net.connect({ host, port }, () => {
110
+ // Do NOT include the token in the request — sending the secret to the
111
+ // party being authenticated lets any reflector trivially pass the check.
112
+ socket.write(`GET ${parsed.pathname}${parsed.search} HTTP/1.1\r\nHost: ${parsed.host}\r\nConnection: close\r\n\r\n`);
69
113
  });
70
- await body.text();
71
- return { ok: statusCode === 200 };
72
- }
73
- catch {
74
- return { ok: false };
75
- }
114
+ socket.setTimeout(1500, () => finish());
115
+ socket.on('data', (chunk) => {
116
+ rawResponse += chunk.toString('utf8');
117
+ const statusMatch = rawResponse.match(/^HTTP\/\d(?:\.\d)?\s+(\d{3})/);
118
+ if (statusMatch) {
119
+ const code = Number(statusMatch[1]);
120
+ // For non-200 we can finish on the status line alone.
121
+ if (code !== 200) {
122
+ finish(code, rawResponse);
123
+ return;
124
+ }
125
+ // For 200 we need the headers section to extract the token.
126
+ if (rawResponse.includes('\r\n\r\n')) {
127
+ finish(code, rawResponse.split('\r\n\r\n')[0]);
128
+ }
129
+ }
130
+ });
131
+ socket.on('error', () => finish());
132
+ socket.on('end', () => {
133
+ const statusMatch = rawResponse.match(/^HTTP\/\d(?:\.\d)?\s+(\d{3})/);
134
+ if (statusMatch)
135
+ finish(Number(statusMatch[1]), rawResponse);
136
+ else
137
+ finish();
138
+ });
139
+ });
76
140
  }
77
141
  const barJsonPort = resolveBarPort(ccsDir);
78
142
  const base = [3000, 3001, 3002, 8000, 8080];
@@ -81,11 +145,12 @@ async function defaultFindRunningServer(ccsDir) {
81
145
  { port, baseUrl: `http://127.0.0.1:${port}`, url: `http://127.0.0.1:${port}/api/bar/summary` },
82
146
  { port, baseUrl: `http://[::1]:${port}`, url: `http://[::1]:${port}/api/bar/summary` },
83
147
  ]);
84
- const results = await Promise.all(probeTargets.map((t) => probe(t.url)));
148
+ const probes = probeTargets.map((t) => probe(t.url));
85
149
  for (let i = 0; i < probeTargets.length; i++) {
86
- if (results[i].ok) {
150
+ const result = await probes[i];
151
+ if (result.ok) {
87
152
  const { port, baseUrl } = probeTargets[i];
88
- return { port, baseUrl };
153
+ return { port, baseUrl, authRequired: result.authRequired };
89
154
  }
90
155
  }
91
156
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"bar-server-probe.js","sourceRoot":"","sources":["../../../src/commands/bar/bar-server-probe.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAO7B;;;GAGG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;QAC5D,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AATD,wCASC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,wBAAwB,CAAC,MAAc;IAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;IAE3C,KAAK,UAAU,KAAK,CAAC,GAAW;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;gBAC9C,MAAM,EAAE,KAAK;gBACb,cAAc,EAAE,IAAI;gBACpB,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,EAAE,EAAE,UAAU,KAAK,GAAG,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GACd,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExF,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,IAAI,EAAE,EAAE,GAAG,EAAE,oBAAoB,IAAI,kBAAkB,EAAE;QAC9F,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,IAAI,EAAE,EAAE,GAAG,EAAE,gBAAgB,IAAI,kBAAkB,EAAE;KACvF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AApCD,4DAoCC"}
1
+ {"version":3,"file":"bar-server-probe.js","sourceRoot":"","sources":["../../../src/commands/bar/bar-server-probe.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/help-subcommand.ts"],"names":[],"mappings":"AAEA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAuE9C"}
1
+ {"version":3,"file":"help-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/help-subcommand.ts"],"names":[],"mappings":"AAEA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAqE9C"}
@@ -59,10 +59,10 @@ async function showHelp() {
59
59
  console.log('');
60
60
  }
61
61
  console.log((0, ui_1.dim)(' macOS only. The app communicates with the CCS web-server on localhost only.'));
62
+ console.log((0, ui_1.dim)(' Gatekeeper quarantine is kept in place for macOS first-launch verification.'));
62
63
  console.log((0, ui_1.dim)(' `ccs bar launch` spawns the server detached — the terminal is freed immediately.'));
63
64
  console.log((0, ui_1.dim)(' The server persists until stopped with `ccs bar stop` or system reboot.'));
64
- console.log((0, ui_1.dim)(' Gatekeeper quarantine is cleared automatically after install. If the app is still blocked,'));
65
- console.log((0, ui_1.dim)(' right-click > Open or run `xattr -dr com.apple.quarantine` manually.'));
65
+ console.log((0, ui_1.dim)(' If macOS blocks the app, right-click > Open to make an explicit trust decision.'));
66
66
  console.log('');
67
67
  }
68
68
  exports.showHelp = showHelp;
@@ -1 +1 @@
1
- {"version":3,"file":"help-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/help-subcommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/help-subcommand.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@
17
17
  import type { LaunchJson } from './bar-paths';
18
18
  export interface ReleaseAssetResult {
19
19
  downloadUrl: string;
20
+ sha256: string;
20
21
  }
21
22
  export interface CompatResult {
22
23
  compatible: boolean;
@@ -30,10 +31,10 @@ export interface InstallDeps {
30
31
  */
31
32
  fetchReleaseAsset: (tag: string, asset: string) => Promise<ReleaseAssetResult>;
32
33
  /**
33
- * Download the zip archive and extract the .app bundle into dest/.
34
- * Production: uses undici to stream + extract (with redirect + status check).
34
+ * Download the zip archive, verify its SHA-256 digest, and extract the .app bundle into dest/.
35
+ * Production: uses undici to stream + verify + extract (with redirect + status check).
35
36
  */
36
- downloadAndExtract: (url: string, dest: string) => Promise<void>;
37
+ downloadAndExtract: (url: string, dest: string, expectedSha256: string) => Promise<void>;
37
38
  /**
38
39
  * GET {baseUrl}/api/bar/summary — capability handshake.
39
40
  * 200 → compatible; 404 → no-bar-api; else/unreachable → unreachable.
@@ -49,13 +50,6 @@ export interface InstallDeps {
49
50
  getCcsDir: () => string;
50
51
  /** Destination directory for the .app bundle (~/Applications by default). */
51
52
  getAppsDir: () => string;
52
- /**
53
- * Clear the macOS Gatekeeper quarantine attribute from the installed app.
54
- * Run via `/usr/bin/xattr -dr com.apple.quarantine <appPath>` (execFile, not shell-string).
55
- * Returns true on success, false if xattr is unavailable or the call fails (non-fatal).
56
- * Injectable for tests — avoids touching the real system.
57
- */
58
- clearQuarantine: (appPath: string) => Promise<boolean>;
59
53
  /**
60
54
  * Invoke handleBarLaunch after a successful install when the user consents.
61
55
  * Injectable so tests can assert invocation without starting a real server.
@@ -1 +1 @@
1
- {"version":3,"file":"install-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/install-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA8B9C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,IAAI,GAAG,YAAY,GAAG,aAAa,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/E;;;OAGG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE;;;;OAIG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACzD;;;OAGG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACzD,kDAAkD;IAClD,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB;;;;;OAKG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC;;;;;OAKG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC;;;;;;OAMG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;;;;OAKG;IACH,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC3E;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAuBrD;AA+TD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,OAAO,CAAC,WAAW,CAAM,GAC9B,OAAO,CAAC,IAAI,CAAC,CAuPf"}
1
+ {"version":3,"file":"install-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/install-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2B9C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,IAAI,GAAG,YAAY,GAAG,aAAa,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/E;;;OAGG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF;;;;OAIG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACzD;;;OAGG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACzD,kDAAkD;IAClD,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC;;;;;OAKG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC;;;;;;OAMG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;;;;OAKG;IACH,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC3E;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAuBrD;AA8UD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,OAAO,CAAC,WAAW,CAAM,GAC9B,OAAO,CAAC,IAAI,CAAC,CA4Of"}
@@ -57,11 +57,8 @@ const BAR_GITHUB_REPO = 'kaitranntt/ccs';
57
57
  /**
58
58
  * Allowlist of hostnames from which we will accept asset downloads.
59
59
  * GitHub releases redirect from github.com to objects.githubusercontent.com.
60
- *
61
- * TODO(checksum-v2): once release assets ship a checksums.txt/.sha256 file,
62
- * wire SHA-256 verification here. The download URL is already validated for
63
- * host+HTTPS as a v1 minimum guard. The verifier hook below is the intended
64
- * extension point.
60
+ * Artifact authenticity is enforced separately with the GitHub release asset
61
+ * SHA-256 digest before extraction.
65
62
  */
66
63
  const DOWNLOAD_HOST_ALLOWLIST = [
67
64
  'github.com',
@@ -117,7 +114,13 @@ async function defaultFetchReleaseAsset(tag, asset) {
117
114
  if (!found) {
118
115
  throw new Error(`Asset "${asset}" not found in release ${tag}`);
119
116
  }
120
- return { downloadUrl: found.browser_download_url };
117
+ const digest = typeof found.digest === 'string' ? found.digest : '';
118
+ const match = /^sha256:([a-fA-F0-9]{64})$/.exec(digest.trim());
119
+ if (!match || !match[1]) {
120
+ throw new Error(`Asset "${asset}" in release ${tag} does not include a valid sha256 digest. ` +
121
+ 'Refusing to install an unverifiable CCS Bar archive.');
122
+ }
123
+ return { downloadUrl: found.browser_download_url, sha256: match[1].toLowerCase() };
121
124
  }
122
125
  /**
123
126
  * Download a zip from `url` (following up to 5 GitHub 302 redirects, re-validating
@@ -129,19 +132,25 @@ async function defaultFetchReleaseAsset(tag, asset) {
129
132
  * The previous maxRedirections:5 let undici follow redirects to ANY host unchecked.
130
133
  * - Fix #14: list zip entries with `unzip -l` before extracting; reject the archive
131
134
  * if any entry path contains ".." or starts with "/" (zip-slip guard).
135
+ * - Security: verify the downloaded archive against the release asset SHA-256
136
+ * digest before any extraction or installation.
132
137
  * - Finding #11: check `statusCode` and throw a descriptive error before streaming.
133
138
  * - Finding #9: validate host+HTTPS before making the first request.
134
139
  */
135
- async function defaultDownloadAndExtract(url, dest) {
140
+ async function defaultDownloadAndExtract(url, dest, expectedSha256) {
136
141
  const { request } = await Promise.resolve().then(() => __importStar(require('undici')));
137
- const { createWriteStream, mkdirSync } = fs;
142
+ const { createHash } = await Promise.resolve().then(() => __importStar(require('crypto')));
143
+ const { createReadStream, createWriteStream, mkdirSync } = fs;
138
144
  const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
139
145
  const { pipeline } = await Promise.resolve().then(() => __importStar(require('stream')));
140
146
  const streamPipeline = promisify(pipeline);
141
147
  const { execFile } = await Promise.resolve().then(() => __importStar(require('child_process')));
142
148
  const execFileAsync = promisify(execFile);
143
- // Validate initial URL (Finding #9)
149
+ // Validate initial URL (Finding #9) and require an integrity pin.
144
150
  validateDownloadUrl(url);
151
+ if (!/^[a-fA-F0-9]{64}$/.test(expectedSha256)) {
152
+ throw new Error('Missing or invalid SHA-256 digest for CCS Bar archive. Refusing to install.');
153
+ }
145
154
  mkdirSync(dest, { recursive: true });
146
155
  // Fix #6: follow redirects manually so each hop is re-validated.
147
156
  const MAX_REDIRECTS = 5;
@@ -176,9 +185,22 @@ async function defaultDownloadAndExtract(url, dest) {
176
185
  throw new Error(`Download failed: HTTP ${statusCode} for ${currentUrl}`);
177
186
  }
178
187
  const tmpZip = path.join(os.tmpdir(), `ccs-bar-${Date.now()}.zip`);
179
- // Stream body to tmpZip
188
+ // Stream body to tmpZip, then verify the archive before inspecting/extracting it.
180
189
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
181
190
  await streamPipeline(body, createWriteStream(tmpZip));
191
+ const hash = createHash('sha256');
192
+ await streamPipeline(createReadStream(tmpZip), hash);
193
+ const actualSha256 = hash.digest('hex');
194
+ if (actualSha256.toLowerCase() !== expectedSha256.toLowerCase()) {
195
+ try {
196
+ fs.unlinkSync(tmpZip);
197
+ }
198
+ catch {
199
+ /* ignore */
200
+ }
201
+ throw new Error('Downloaded CCS Bar archive failed SHA-256 verification. ' +
202
+ `Expected ${expectedSha256.toLowerCase()}, got ${actualSha256.toLowerCase()}.`);
203
+ }
182
204
  // Fix #14: zip-slip guard — inspect entries before extraction.
183
205
  // `unzip -l` lists entries in a machine-readable format; we scan for ".." or
184
206
  // absolute paths that would escape the destination directory.
@@ -289,25 +311,6 @@ function defaultGetCcsDir() {
289
311
  function defaultGetAppsDir() {
290
312
  return path.join(os.homedir(), 'Applications');
291
313
  }
292
- /**
293
- * Clear the macOS Gatekeeper quarantine attribute from the installed app.
294
- * Uses absolute path `/usr/bin/xattr` to avoid PATH hijacking.
295
- * Runs `/usr/bin/xattr -dr com.apple.quarantine <appPath>` via execFile (not shell-string)
296
- * so the path is passed as an argument, not interpolated into a shell command.
297
- * Returns true on success, false on any error (non-fatal — install already succeeded).
298
- */
299
- async function defaultClearQuarantine(appPath) {
300
- try {
301
- const { execFile } = await Promise.resolve().then(() => __importStar(require('child_process')));
302
- const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
303
- const execFileAsync = promisify(execFile);
304
- await execFileAsync('/usr/bin/xattr', ['-dr', 'com.apple.quarantine', appPath]);
305
- return true;
306
- }
307
- catch {
308
- return false;
309
- }
310
- }
311
314
  function defaultRemoveExistingApp(appPath) {
312
315
  fs.rmSync(appPath, { recursive: true, force: true });
313
316
  }
@@ -385,7 +388,6 @@ async function handleBarInstall(args, deps = {}) {
385
388
  const downloadAndExtract = deps.downloadAndExtract ?? defaultDownloadAndExtract;
386
389
  const verifyCompat = deps.verifyCompat ?? defaultVerifyCompat;
387
390
  const readAppBundleVersion = deps.readAppBundleVersion ?? defaultReadAppBundleVersion;
388
- const clearQuarantine = deps.clearQuarantine ?? defaultClearQuarantine;
389
391
  const launchBar = deps.launchBar ?? defaultLaunchBar;
390
392
  const promptLaunch = deps.promptLaunch ?? defaultPromptLaunch;
391
393
  const isBarRunning = deps.isBarRunning ?? defaultIsBarRunning;
@@ -418,7 +420,7 @@ async function handleBarInstall(args, deps = {}) {
418
420
  console.error('[i] Check your network connection and try again.');
419
421
  return;
420
422
  }
421
- const { downloadUrl } = releaseInfo;
423
+ const { downloadUrl, sha256 } = releaseInfo;
422
424
  console.log(`[i] Installing CCS Bar from ${BAR_RELEASE_TAG}...`);
423
425
  // 1b. Stage-then-swap: extract into a hidden staging dir on the same filesystem
424
426
  // so the rename to appPath is atomic-ish. The old bundle is only removed
@@ -445,7 +447,7 @@ async function handleBarInstall(args, deps = {}) {
445
447
  }
446
448
  // 2. Download and extract into staging, NOT appsDir.
447
449
  try {
448
- await downloadAndExtract(downloadUrl, stagingDir);
450
+ await downloadAndExtract(downloadUrl, stagingDir, sha256);
449
451
  }
450
452
  catch (err) {
451
453
  const msg = err instanceof Error ? err.message : String(err);
@@ -539,12 +541,10 @@ async function handleBarInstall(args, deps = {}) {
539
541
  catch (err) {
540
542
  const msg = err instanceof Error ? err.message : String(err);
541
543
  console.error(`[!] Could not write launch.json: ${msg}`);
542
- // Non-fatal — continue to quarantine clear + launch handoff.
544
+ // Non-fatal — continue to Gatekeeper note + launch handoff.
543
545
  }
544
546
  // 5. Capability handshake via GET /api/bar/summary.
545
- // Runs BEFORE the quarantine-clear + launch handoff because it is a server-side
546
- // check unrelated to Gatekeeper. A failed quarantine clear must not prevent the
547
- // compat result from being shown to the user.
547
+ // This server-side check is unrelated to Gatekeeper.
548
548
  // Read bar.json for baseUrl if present; otherwise fall back to localhost:3000.
549
549
  const barJsonPath = path.join(ccsDir, 'bar.json');
550
550
  let baseUrl = 'http://127.0.0.1:3000';
@@ -576,23 +576,14 @@ async function handleBarInstall(args, deps = {}) {
576
576
  console.log('[!] Could not verify server compatibility (server may not be running).');
577
577
  console.log('[i] Run `ccs bar` to start the server and recheck.');
578
578
  }
579
- // 6. Quarantine handling: run `xattr -dr com.apple.quarantine` automatically.
580
- // This clears the Gatekeeper quarantine flag that ad-hoc builds receive on download.
581
- // On success: print [OK] confirmation. On failure: fall back to printed guidance and
582
- // SKIP the launch handoff entirely launching a still-quarantined app hits the
583
- // Gatekeeper block, so the user must clear quarantine manually first.
584
- const quarantineCleared = await clearQuarantine(appPath);
585
- if (quarantineCleared) {
586
- console.log('[OK] Cleared Gatekeeper quarantine.');
587
- }
588
- else {
589
- console.log('[i] Gatekeeper note (ad-hoc build):');
590
- console.log(' If macOS says the app is "damaged" or "unverified", run:');
591
- console.log(` xattr -dr com.apple.quarantine "${appPath}"`);
592
- console.log(' Or right-click the app and select Open.');
593
- console.log('[i] After clearing quarantine, run `ccs bar` to launch.');
594
- return;
595
- }
579
+ // 6. Gatekeeper handling: keep quarantine in place for downloaded apps.
580
+ // CCS Bar is installed from a floating release asset and is not verified by a
581
+ // pinned checksum/signature here, so do not strip macOS's quarantine marker.
582
+ // If Gatekeeper blocks first launch, the user can make an explicit manual
583
+ // trust decision outside the installer.
584
+ console.log('[i] Gatekeeper note:');
585
+ console.log(' macOS may verify this downloaded app on first launch.');
586
+ console.log(' If macOS blocks it, right-click the app and select Open.');
596
587
  // 7. Launch handoff.
597
588
  // Already-running check: if CCS Bar is running after a (re)install, skip the
598
589
  // prompt entirely and print a restart hint (the user needs to quit and reopen
@@ -1 +1 @@
1
- {"version":3,"file":"install-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/install-subcommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/install-subcommand.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@
15
15
  * All side-effectful deps are injectable so tests can run without real
16
16
  * servers, ports, or file-system writes.
17
17
  */
18
+ /// <reference types="node" />
19
+ import type { ChildProcess } from 'child_process';
18
20
  import type { LaunchJson } from './bar-paths';
19
21
  import { defaultFindRunningServer as _defaultFindRunningServer, resolveBarPort as _resolveBarPort } from './bar-server-probe';
20
22
  import type { DashboardInfo as _DashboardInfo } from './bar-server-probe';
@@ -45,7 +47,7 @@ export interface LaunchDeps {
45
47
  * Spawn the `ccs bar serve --port N` process detached and return immediately.
46
48
  * The spawned process must be unref()ed so the launcher can exit.
47
49
  */
48
- spawnDetachedServer: (port: number, logPath: string) => void;
50
+ spawnDetachedServer: (port: number, logPath: string) => ChildProcess | void;
49
51
  /**
50
52
  * Poll GET {baseUrl}/api/bar/summary until HTTP 200 or timeout.
51
53
  * Returns the live baseUrl on success, throws on timeout.
@@ -62,5 +64,13 @@ export interface LaunchDeps {
62
64
  /** Full path where the .app should be installed, e.g. ~/Applications/CCS Bar.app */
63
65
  appInstallPath: string;
64
66
  }
67
+ /**
68
+ * Poll GET {baseUrl}/api/bar/summary every 250 ms until HTTP 200 or ~10 s.
69
+ * Resolves when the server is live. Rejects on timeout.
70
+ */
71
+ export declare class BarServerAuthRequiredError extends Error {
72
+ constructor(baseUrl: string, statusCode: number);
73
+ }
74
+ export declare function defaultWaitForServerLive(baseUrl: string): Promise<void>;
65
75
  export declare function handleBarLaunch(_args: string[], deps?: Partial<LaunchDeps>): Promise<void>;
66
76
  //# sourceMappingURL=launch-subcommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"launch-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/launch-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,wBAAwB,IAAI,yBAAyB,EACrD,cAAc,IAAI,eAAe,EAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQ1E,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,CAAC;AACjE,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAM7C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAE3C,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACvD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD;;OAEG;IACH,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1E,sEAAsE;IACtE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,qEAAqE;IACrE,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,oFAAoF;IACpF,cAAc,EAAE,MAAM,CAAC;CACxB;AAoFD,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,GAAE,OAAO,CAAC,UAAU,CAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAqHf"}
1
+ {"version":3,"file":"launch-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/launch-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAUlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,wBAAwB,IAAI,yBAAyB,EACrD,cAAc,IAAI,eAAe,EAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQ1E,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,CAAC;AACjE,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAM7C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAE3C,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACvD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IAC5E;;;OAGG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD;;OAEG;IACH,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1E,sEAAsE;IACtE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,qEAAqE;IACrE,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,oFAAoF;IACpF,cAAc,EAAE,MAAM,CAAC;CACxB;AAkCD;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAIhD;AAMD,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwE7E;AAyBD,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,GAAE,OAAO,CAAC,UAAU,CAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CA0If"}