@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
@@ -1,32 +1,72 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { spawnSync } from 'node:child_process';
3
3
 
4
- const ISSUE_REF_PATTERN = /#([0-9]+)/g;
5
- const ACTION_VERB_PATTERN =
6
- /\b(?:fixes|closes|resolves|refs?)\b\s+(#\d+\b(?:\s*(?:,|and)?\s*#\d+\b)*)/gi;
7
- const RESOLVE_VERB_PATTERN =
8
- /\b(?:fixes|closes|resolves)\b\s+(#\d+\b(?:\s*(?:,|and)?\s*#\d+\b)*)/gi;
4
+ const ACTION_VERB_PATTERN = /\b(?:fixes|closes|resolves|refs?)\b\s+/gi;
5
+ const RESOLVE_VERB_PATTERN = /\b(?:fixes|closes|resolves)\b\s+/gi;
9
6
  const PR_REF_PATTERN = /(?:Merge pull request #|\(#)([0-9]+)/g;
10
7
  const STABLE_TAG_PATTERN = /^v[0-9]+\.[0-9]+\.[0-9]+$/;
11
8
 
12
9
  export function extractIssueNumbers(text, { includeRefs = true } = {}) {
13
10
  const pattern = includeRefs ? ACTION_VERB_PATTERN : RESOLVE_VERB_PATTERN;
11
+ const source = text || '';
14
12
  const issues = new Set();
15
13
  let actionMatch;
16
14
 
17
15
  pattern.lastIndex = 0;
18
- while ((actionMatch = pattern.exec(text || '')) !== null) {
19
- const tail = actionMatch[1] || '';
20
- let issueMatch;
21
- ISSUE_REF_PATTERN.lastIndex = 0;
22
- while ((issueMatch = ISSUE_REF_PATTERN.exec(tail)) !== null) {
23
- issues.add(Number(issueMatch[1]));
16
+ while ((actionMatch = pattern.exec(source)) !== null) {
17
+ let cursor = actionMatch.index + actionMatch[0].length;
18
+
19
+ while (source[cursor] === '#') {
20
+ const numberStart = cursor + 1;
21
+ let numberEnd = numberStart;
22
+ while (numberEnd < source.length && isAsciiDigit(source[numberEnd])) {
23
+ numberEnd += 1;
24
+ }
25
+
26
+ if (numberEnd === numberStart || isAsciiWord(source[numberEnd] || '')) break;
27
+ issues.add(Number(source.slice(numberStart, numberEnd)));
28
+ cursor = numberEnd;
29
+
30
+ cursor = skipWhitespace(source, cursor);
31
+ if (source[cursor] === ',') {
32
+ cursor = skipWhitespace(source, cursor + 1);
33
+ } else if (isAndSeparator(source, cursor)) {
34
+ cursor = skipWhitespace(source, cursor + 3);
35
+ }
24
36
  }
25
37
  }
26
38
 
27
39
  return [...issues].sort((a, b) => a - b);
28
40
  }
29
41
 
42
+ function skipWhitespace(text, cursor) {
43
+ while (cursor < text.length && /\s/.test(text[cursor])) {
44
+ cursor += 1;
45
+ }
46
+ return cursor;
47
+ }
48
+
49
+ function isAndSeparator(text, cursor) {
50
+ return (
51
+ text.slice(cursor, cursor + 3).toLowerCase() === 'and' &&
52
+ !isAsciiWord(text[cursor - 1] || '') &&
53
+ !isAsciiWord(text[cursor + 3] || '')
54
+ );
55
+ }
56
+
57
+ function isAsciiDigit(value) {
58
+ return value >= '0' && value <= '9';
59
+ }
60
+
61
+ function isAsciiWord(value) {
62
+ return (
63
+ (value >= '0' && value <= '9') ||
64
+ (value >= 'A' && value <= 'Z') ||
65
+ (value >= 'a' && value <= 'z') ||
66
+ value === '_'
67
+ );
68
+ }
69
+
30
70
  export function extractPrNumbers(text) {
31
71
  const prs = new Set();
32
72
  let match;