@kaitranntt/ccs 7.49.1 → 7.50.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 (264) hide show
  1. package/README.md +101 -1
  2. package/config/base-iflow.settings.json +4 -4
  3. package/dist/api/services/index.d.ts +2 -2
  4. package/dist/api/services/index.d.ts.map +1 -1
  5. package/dist/api/services/index.js +2 -1
  6. package/dist/api/services/index.js.map +1 -1
  7. package/dist/api/services/profile-reader.d.ts.map +1 -1
  8. package/dist/api/services/profile-reader.js +13 -0
  9. package/dist/api/services/profile-reader.js.map +1 -1
  10. package/dist/api/services/profile-types.d.ts +9 -0
  11. package/dist/api/services/profile-types.d.ts.map +1 -1
  12. package/dist/api/services/profile-writer.d.ts +8 -2
  13. package/dist/api/services/profile-writer.d.ts.map +1 -1
  14. package/dist/api/services/profile-writer.js +83 -8
  15. package/dist/api/services/profile-writer.js.map +1 -1
  16. package/dist/auth/account-context.d.ts +65 -0
  17. package/dist/auth/account-context.d.ts.map +1 -0
  18. package/dist/auth/account-context.js +158 -0
  19. package/dist/auth/account-context.js.map +1 -0
  20. package/dist/auth/auth-commands.d.ts.map +1 -1
  21. package/dist/auth/auth-commands.js +18 -0
  22. package/dist/auth/auth-commands.js.map +1 -1
  23. package/dist/auth/commands/create-command-env.d.ts +3 -0
  24. package/dist/auth/commands/create-command-env.d.ts.map +1 -0
  25. package/dist/auth/commands/create-command-env.js +55 -0
  26. package/dist/auth/commands/create-command-env.js.map +1 -0
  27. package/dist/auth/commands/create-command.d.ts.map +1 -1
  28. package/dist/auth/commands/create-command.js +162 -33
  29. package/dist/auth/commands/create-command.js.map +1 -1
  30. package/dist/auth/commands/list-command.d.ts.map +1 -1
  31. package/dist/auth/commands/list-command.js +12 -2
  32. package/dist/auth/commands/list-command.js.map +1 -1
  33. package/dist/auth/commands/show-command.d.ts.map +1 -1
  34. package/dist/auth/commands/show-command.js +6 -0
  35. package/dist/auth/commands/show-command.js.map +1 -1
  36. package/dist/auth/commands/types.d.ts +7 -0
  37. package/dist/auth/commands/types.d.ts.map +1 -1
  38. package/dist/auth/commands/types.js +51 -1
  39. package/dist/auth/commands/types.js.map +1 -1
  40. package/dist/auth/profile-detector.d.ts.map +1 -1
  41. package/dist/auth/profile-detector.js +10 -0
  42. package/dist/auth/profile-detector.js.map +1 -1
  43. package/dist/auth/profile-registry.d.ts +13 -5
  44. package/dist/auth/profile-registry.d.ts.map +1 -1
  45. package/dist/auth/profile-registry.js +89 -10
  46. package/dist/auth/profile-registry.js.map +1 -1
  47. package/dist/ccs.js +147 -5
  48. package/dist/ccs.js.map +1 -1
  49. package/dist/cliproxy/account-safety.d.ts.map +1 -1
  50. package/dist/cliproxy/account-safety.js +4 -0
  51. package/dist/cliproxy/account-safety.js.map +1 -1
  52. package/dist/cliproxy/antigravity-responsibility.d.ts +36 -0
  53. package/dist/cliproxy/antigravity-responsibility.d.ts.map +1 -0
  54. package/dist/cliproxy/antigravity-responsibility.js +171 -0
  55. package/dist/cliproxy/antigravity-responsibility.js.map +1 -0
  56. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  57. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  58. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  59. package/dist/cliproxy/auth/oauth-handler.js +18 -0
  60. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  61. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  62. package/dist/cliproxy/config/env-builder.js +124 -11
  63. package/dist/cliproxy/config/env-builder.js.map +1 -1
  64. package/dist/cliproxy/config/generator.d.ts +2 -1
  65. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  66. package/dist/cliproxy/config/generator.js +18 -6
  67. package/dist/cliproxy/config/generator.js.map +1 -1
  68. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  69. package/dist/cliproxy/executor/index.js +30 -0
  70. package/dist/cliproxy/executor/index.js.map +1 -1
  71. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  72. package/dist/cliproxy/model-catalog.js +18 -0
  73. package/dist/cliproxy/model-catalog.js.map +1 -1
  74. package/dist/cliproxy/model-config.d.ts.map +1 -1
  75. package/dist/cliproxy/model-config.js +3 -2
  76. package/dist/cliproxy/model-config.js.map +1 -1
  77. package/dist/cliproxy/services/variant-config-adapter.d.ts +4 -35
  78. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -1
  79. package/dist/cliproxy/services/variant-config-adapter.js +11 -34
  80. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -1
  81. package/dist/cliproxy/services/variant-service.d.ts +5 -1
  82. package/dist/cliproxy/services/variant-service.d.ts.map +1 -1
  83. package/dist/cliproxy/services/variant-service.js +19 -9
  84. package/dist/cliproxy/services/variant-service.js.map +1 -1
  85. package/dist/cliproxy/sync/profile-mapper.d.ts.map +1 -1
  86. package/dist/cliproxy/sync/profile-mapper.js +14 -2
  87. package/dist/cliproxy/sync/profile-mapper.js.map +1 -1
  88. package/dist/commands/api-command.d.ts +2 -0
  89. package/dist/commands/api-command.d.ts.map +1 -1
  90. package/dist/commands/api-command.js +45 -10
  91. package/dist/commands/api-command.js.map +1 -1
  92. package/dist/commands/cliproxy/auth-subcommand.d.ts.map +1 -1
  93. package/dist/commands/cliproxy/auth-subcommand.js +5 -2
  94. package/dist/commands/cliproxy/auth-subcommand.js.map +1 -1
  95. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  96. package/dist/commands/cliproxy/help-subcommand.js +1 -0
  97. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  98. package/dist/commands/cliproxy/variant-subcommand.d.ts +15 -0
  99. package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
  100. package/dist/commands/cliproxy/variant-subcommand.js +144 -15
  101. package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
  102. package/dist/commands/help-command.d.ts.map +1 -1
  103. package/dist/commands/help-command.js +20 -2
  104. package/dist/commands/help-command.js.map +1 -1
  105. package/dist/config/migration-manager.d.ts.map +1 -1
  106. package/dist/config/migration-manager.js +19 -0
  107. package/dist/config/migration-manager.js.map +1 -1
  108. package/dist/config/unified-config-loader.d.ts +11 -1
  109. package/dist/config/unified-config-loader.d.ts.map +1 -1
  110. package/dist/config/unified-config-loader.js +127 -59
  111. package/dist/config/unified-config-loader.js.map +1 -1
  112. package/dist/config/unified-config-types.d.ts +20 -0
  113. package/dist/config/unified-config-types.d.ts.map +1 -1
  114. package/dist/config/unified-config-types.js +8 -1
  115. package/dist/config/unified-config-types.js.map +1 -1
  116. package/dist/management/instance-manager.d.ts +3 -1
  117. package/dist/management/instance-manager.d.ts.map +1 -1
  118. package/dist/management/instance-manager.js +16 -9
  119. package/dist/management/instance-manager.js.map +1 -1
  120. package/dist/management/profile-context-sync-lock.d.ts +14 -0
  121. package/dist/management/profile-context-sync-lock.d.ts.map +1 -0
  122. package/dist/management/profile-context-sync-lock.js +174 -0
  123. package/dist/management/profile-context-sync-lock.js.map +1 -0
  124. package/dist/management/shared-manager.d.ts +39 -0
  125. package/dist/management/shared-manager.d.ts.map +1 -1
  126. package/dist/management/shared-manager.js +277 -2
  127. package/dist/management/shared-manager.js.map +1 -1
  128. package/dist/targets/droid-adapter.d.ts +2 -4
  129. package/dist/targets/droid-adapter.d.ts.map +1 -1
  130. package/dist/targets/droid-adapter.js +20 -10
  131. package/dist/targets/droid-adapter.js.map +1 -1
  132. package/dist/targets/droid-config-manager.d.ts +9 -1
  133. package/dist/targets/droid-config-manager.d.ts.map +1 -1
  134. package/dist/targets/droid-config-manager.js +134 -6
  135. package/dist/targets/droid-config-manager.js.map +1 -1
  136. package/dist/targets/droid-provider.d.ts +40 -0
  137. package/dist/targets/droid-provider.d.ts.map +1 -0
  138. package/dist/targets/droid-provider.js +140 -0
  139. package/dist/targets/droid-provider.js.map +1 -0
  140. package/dist/targets/droid-reasoning-runtime.d.ts +14 -0
  141. package/dist/targets/droid-reasoning-runtime.d.ts.map +1 -0
  142. package/dist/targets/droid-reasoning-runtime.js +42 -0
  143. package/dist/targets/droid-reasoning-runtime.js.map +1 -0
  144. package/dist/targets/index.d.ts +2 -0
  145. package/dist/targets/index.d.ts.map +1 -1
  146. package/dist/targets/index.js +4 -1
  147. package/dist/targets/index.js.map +1 -1
  148. package/dist/targets/target-adapter.d.ts +6 -0
  149. package/dist/targets/target-adapter.d.ts.map +1 -1
  150. package/dist/targets/target-resolver.d.ts.map +1 -1
  151. package/dist/targets/target-resolver.js +6 -3
  152. package/dist/targets/target-resolver.js.map +1 -1
  153. package/dist/types/config.d.ts +11 -0
  154. package/dist/types/config.d.ts.map +1 -1
  155. package/dist/types/config.js.map +1 -1
  156. package/dist/ui/assets/accounts-y2u0CVK8.js +1 -0
  157. package/dist/ui/assets/{alert-dialog-CFpc3HGP.js → alert-dialog-CetY4Iww.js} +1 -1
  158. package/dist/ui/assets/api-5q1FT1uL.js +1 -0
  159. package/dist/ui/assets/auth-section-CaQeee-F.js +1 -0
  160. package/dist/ui/assets/{backups-section-Bjxv4_pg.js → backups-section-hF88BjYJ.js} +1 -1
  161. package/dist/ui/assets/checkbox-Dhm5Fzkb.js +1 -0
  162. package/dist/ui/assets/cliproxy-BeYNWmY_.js +3 -0
  163. package/dist/ui/assets/cliproxy-control-panel-CJELeI80.js +1 -0
  164. package/dist/ui/assets/{confirm-dialog-DxtbIbqy.js → confirm-dialog-Dn3SrwNV.js} +1 -1
  165. package/dist/ui/assets/{copilot-DdeJ4TJs.js → copilot-vwT-4_V4.js} +2 -2
  166. package/dist/ui/assets/{cursor-CevrJcAp.js → cursor-CN3lIX63.js} +1 -1
  167. package/dist/ui/assets/droid-DBP2yCY7.js +2 -0
  168. package/dist/ui/assets/{form-utils-C-pVd1--.js → form-utils-Cn_Uld6y.js} +1 -1
  169. package/dist/ui/assets/globalenv-section-DNKAJasL.js +1 -0
  170. package/dist/ui/assets/{health-D-7zneJI.js → health-C7tNiLzc.js} +1 -1
  171. package/dist/ui/assets/icons-DrewC9c3.js +1 -0
  172. package/dist/ui/assets/index-C8-ef-r7.js +1 -0
  173. package/dist/ui/assets/{index-CcVqwkjG.js → index-MGh88HoC.js} +1 -1
  174. package/dist/ui/assets/{index-zwg9LfSN.js → index-QBUSDLTx.js} +1 -1
  175. package/dist/ui/assets/index-k-HuyjpO.js +47 -0
  176. package/dist/ui/assets/index-s-oTl3hW.css +1 -0
  177. package/dist/ui/assets/{index-euQBQnD4.js → index-uYnNU6Ut.js} +1 -1
  178. package/dist/ui/assets/proxy-status-widget-CIm5vKY7.js +1 -0
  179. package/dist/ui/assets/{radix-ui-CwcVwplj.js → radix-ui-C1Gpgz6I.js} +1 -1
  180. package/dist/ui/assets/separator-BLVyAGAm.js +1 -0
  181. package/dist/ui/assets/shared-CHH09ZNi.js +8 -0
  182. package/dist/ui/assets/{switch-B1VCWktQ.js → switch-CwLyB4JK.js} +1 -1
  183. package/dist/ui/assets/{tanstack-matWclUm.js → tanstack-DDJIhNJd.js} +1 -1
  184. package/dist/ui/assets/updates-VlxL3aum.js +1 -0
  185. package/dist/ui/index.html +6 -6
  186. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -1
  187. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +2 -1
  188. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -1
  189. package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -1
  190. package/dist/utils/websearch/profile-hook-injector.js +2 -1
  191. package/dist/utils/websearch/profile-hook-injector.js.map +1 -1
  192. package/dist/web-server/model-pricing.d.ts.map +1 -1
  193. package/dist/web-server/model-pricing.js +114 -22
  194. package/dist/web-server/model-pricing.js.map +1 -1
  195. package/dist/web-server/routes/account-route-helpers.d.ts +20 -0
  196. package/dist/web-server/routes/account-route-helpers.d.ts.map +1 -0
  197. package/dist/web-server/routes/account-route-helpers.js +34 -0
  198. package/dist/web-server/routes/account-route-helpers.js.map +1 -0
  199. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  200. package/dist/web-server/routes/account-routes.js +160 -23
  201. package/dist/web-server/routes/account-routes.js.map +1 -1
  202. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  203. package/dist/web-server/routes/cliproxy-auth-routes.js +58 -24
  204. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  205. package/dist/web-server/routes/config-routes.d.ts.map +1 -1
  206. package/dist/web-server/routes/config-routes.js +73 -0
  207. package/dist/web-server/routes/config-routes.js.map +1 -1
  208. package/dist/web-server/routes/droid-routes.d.ts +3 -0
  209. package/dist/web-server/routes/droid-routes.d.ts.map +1 -0
  210. package/dist/web-server/routes/droid-routes.js +61 -0
  211. package/dist/web-server/routes/droid-routes.js.map +1 -0
  212. package/dist/web-server/routes/index.d.ts.map +1 -1
  213. package/dist/web-server/routes/index.js +3 -0
  214. package/dist/web-server/routes/index.js.map +1 -1
  215. package/dist/web-server/routes/profile-routes.d.ts +2 -0
  216. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  217. package/dist/web-server/routes/profile-routes.js +86 -6
  218. package/dist/web-server/routes/profile-routes.js.map +1 -1
  219. package/dist/web-server/routes/route-helpers.d.ts +2 -1
  220. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  221. package/dist/web-server/routes/route-helpers.js +20 -1
  222. package/dist/web-server/routes/route-helpers.js.map +1 -1
  223. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  224. package/dist/web-server/routes/settings-routes.js +110 -12
  225. package/dist/web-server/routes/settings-routes.js.map +1 -1
  226. package/dist/web-server/routes/variant-routes.d.ts +2 -0
  227. package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
  228. package/dist/web-server/routes/variant-routes.js +50 -6
  229. package/dist/web-server/routes/variant-routes.js.map +1 -1
  230. package/dist/web-server/services/compatible-cli-docs-registry.d.ts +23 -0
  231. package/dist/web-server/services/compatible-cli-docs-registry.d.ts.map +1 -0
  232. package/dist/web-server/services/compatible-cli-docs-registry.js +81 -0
  233. package/dist/web-server/services/compatible-cli-docs-registry.js.map +1 -0
  234. package/dist/web-server/services/compatible-cli-json-file-service.d.ts +41 -0
  235. package/dist/web-server/services/compatible-cli-json-file-service.d.ts.map +1 -0
  236. package/dist/web-server/services/compatible-cli-json-file-service.js +205 -0
  237. package/dist/web-server/services/compatible-cli-json-file-service.js.map +1 -0
  238. package/dist/web-server/services/compatible-cli-types.d.ts +82 -0
  239. package/dist/web-server/services/compatible-cli-types.d.ts.map +1 -0
  240. package/dist/web-server/services/compatible-cli-types.js +3 -0
  241. package/dist/web-server/services/compatible-cli-types.js.map +1 -0
  242. package/dist/web-server/services/droid-dashboard-service.d.ts +29 -0
  243. package/dist/web-server/services/droid-dashboard-service.d.ts.map +1 -0
  244. package/dist/web-server/services/droid-dashboard-service.js +238 -0
  245. package/dist/web-server/services/droid-dashboard-service.js.map +1 -0
  246. package/dist/web-server/shared-routes.d.ts.map +1 -1
  247. package/dist/web-server/shared-routes.js +350 -52
  248. package/dist/web-server/shared-routes.js.map +1 -1
  249. package/lib/hooks/websearch-transformer.cjs +78 -52
  250. package/package.json +4 -2
  251. package/scripts/maintainability-check.js +163 -0
  252. package/dist/ui/assets/accounts-BKNcAuvp.js +0 -1
  253. package/dist/ui/assets/api-CcrDOIR7.js +0 -1
  254. package/dist/ui/assets/auth-section-856y9ZpH.js +0 -1
  255. package/dist/ui/assets/cliproxy-CgqwQWL0.js +0 -3
  256. package/dist/ui/assets/cliproxy-control-panel-fVNMCVo2.js +0 -1
  257. package/dist/ui/assets/globalenv-section-BqZQzUQ1.js +0 -1
  258. package/dist/ui/assets/icons-DGASzt3M.js +0 -1
  259. package/dist/ui/assets/index-5pyU75fR.js +0 -1
  260. package/dist/ui/assets/index-Bqt9Obz8.css +0 -1
  261. package/dist/ui/assets/index-DiWdJxAN.js +0 -47
  262. package/dist/ui/assets/proxy-status-widget-nDPpIwJt.js +0 -1
  263. package/dist/ui/assets/separator-CrJ4MtV5.js +0 -1
  264. package/dist/ui/assets/shared-VSWE7ipr.js +0 -1
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ /**
3
+ * Account context policy helpers.
4
+ *
5
+ * Controls whether account instances keep project context isolated, or share
6
+ * project workspace context with other accounts in the same context group.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.formatAccountContextPolicy = exports.policyToAccountContextMetadata = exports.resolveAccountContextPolicy = exports.resolveCreateAccountContext = exports.isAccountContextMetadata = exports.isValidAccountProfileName = exports.isValidContextGroupName = exports.normalizeContextGroupName = exports.ACCOUNT_PROFILE_NAME_PATTERN = exports.MAX_CONTEXT_GROUP_LENGTH = exports.DEFAULT_ACCOUNT_CONTINUITY_MODE = exports.DEFAULT_ACCOUNT_CONTEXT_GROUP = exports.DEFAULT_ACCOUNT_CONTEXT_MODE = void 0;
10
+ exports.DEFAULT_ACCOUNT_CONTEXT_MODE = 'isolated';
11
+ exports.DEFAULT_ACCOUNT_CONTEXT_GROUP = 'default';
12
+ exports.DEFAULT_ACCOUNT_CONTINUITY_MODE = 'standard';
13
+ exports.MAX_CONTEXT_GROUP_LENGTH = 64;
14
+ exports.ACCOUNT_PROFILE_NAME_PATTERN = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
15
+ const CONTEXT_GROUP_PATTERN = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
16
+ /**
17
+ * Normalize context group names so paths and config stay consistent.
18
+ */
19
+ function normalizeContextGroupName(value) {
20
+ return value.trim().toLowerCase().replace(/\s+/g, '-');
21
+ }
22
+ exports.normalizeContextGroupName = normalizeContextGroupName;
23
+ /**
24
+ * Validate context group naming constraints.
25
+ */
26
+ function isValidContextGroupName(value) {
27
+ return value.length <= exports.MAX_CONTEXT_GROUP_LENGTH && CONTEXT_GROUP_PATTERN.test(value);
28
+ }
29
+ exports.isValidContextGroupName = isValidContextGroupName;
30
+ /**
31
+ * Validate account profile naming constraints.
32
+ */
33
+ function isValidAccountProfileName(value) {
34
+ return exports.ACCOUNT_PROFILE_NAME_PATTERN.test(value);
35
+ }
36
+ exports.isValidAccountProfileName = isValidAccountProfileName;
37
+ /**
38
+ * Runtime type guard for account context metadata payloads.
39
+ */
40
+ function isAccountContextMetadata(value) {
41
+ if (typeof value !== 'object' || value === null) {
42
+ return false;
43
+ }
44
+ const candidate = value;
45
+ const mode = candidate['context_mode'];
46
+ const group = candidate['context_group'];
47
+ const continuity = candidate['continuity_mode'];
48
+ const modeValid = mode === undefined || mode === 'isolated' || mode === 'shared';
49
+ const groupValid = group === undefined || typeof group === 'string';
50
+ const continuityValid = continuity === undefined || continuity === 'standard' || continuity === 'deeper';
51
+ if (!modeValid || !groupValid || !continuityValid) {
52
+ return false;
53
+ }
54
+ if (mode !== 'shared' && continuity !== undefined) {
55
+ return false;
56
+ }
57
+ return true;
58
+ }
59
+ exports.isAccountContextMetadata = isAccountContextMetadata;
60
+ /**
61
+ * Resolve create-command flags into a valid context policy.
62
+ */
63
+ function resolveCreateAccountContext(input) {
64
+ const hasGroupFlag = input.contextGroup !== undefined;
65
+ const continuityMode = input.deeperContinuity ? 'deeper' : 'standard';
66
+ if (input.deeperContinuity && !input.shareContext && !hasGroupFlag) {
67
+ return {
68
+ policy: { mode: 'isolated' },
69
+ error: 'Advanced deeper continuity requires shared context (--share-context or --context-group).',
70
+ };
71
+ }
72
+ if (hasGroupFlag) {
73
+ if (!input.contextGroup || input.contextGroup.trim().length === 0) {
74
+ return {
75
+ policy: { mode: 'isolated' },
76
+ error: 'Context group name is required after --context-group',
77
+ };
78
+ }
79
+ const normalizedGroup = normalizeContextGroupName(input.contextGroup);
80
+ if (!isValidContextGroupName(normalizedGroup)) {
81
+ return {
82
+ policy: { mode: 'isolated' },
83
+ error: `Invalid context group. Use letters/numbers/dash/underscore, start with a letter, max ${exports.MAX_CONTEXT_GROUP_LENGTH} chars.`,
84
+ };
85
+ }
86
+ return {
87
+ policy: {
88
+ mode: 'shared',
89
+ group: normalizedGroup,
90
+ continuityMode,
91
+ },
92
+ };
93
+ }
94
+ if (input.shareContext) {
95
+ return {
96
+ policy: {
97
+ mode: 'shared',
98
+ group: exports.DEFAULT_ACCOUNT_CONTEXT_GROUP,
99
+ continuityMode,
100
+ },
101
+ };
102
+ }
103
+ return {
104
+ policy: { mode: exports.DEFAULT_ACCOUNT_CONTEXT_MODE },
105
+ };
106
+ }
107
+ exports.resolveCreateAccountContext = resolveCreateAccountContext;
108
+ /**
109
+ * Resolve persisted metadata into runtime policy with safe defaults.
110
+ */
111
+ function resolveAccountContextPolicy(metadata) {
112
+ const mode = metadata?.context_mode === 'shared' ? 'shared' : 'isolated';
113
+ if (mode === 'shared') {
114
+ const continuityMode = metadata?.continuity_mode === 'deeper' ? 'deeper' : 'standard';
115
+ const rawGroup = metadata?.context_group;
116
+ if (rawGroup && rawGroup.trim().length > 0) {
117
+ const normalized = normalizeContextGroupName(rawGroup);
118
+ if (isValidContextGroupName(normalized)) {
119
+ return { mode: 'shared', group: normalized, continuityMode };
120
+ }
121
+ }
122
+ return {
123
+ mode: 'shared',
124
+ group: exports.DEFAULT_ACCOUNT_CONTEXT_GROUP,
125
+ continuityMode,
126
+ };
127
+ }
128
+ return { mode: 'isolated' };
129
+ }
130
+ exports.resolveAccountContextPolicy = resolveAccountContextPolicy;
131
+ /**
132
+ * Convert runtime policy back to persisted metadata.
133
+ */
134
+ function policyToAccountContextMetadata(policy) {
135
+ if (policy.mode === 'shared') {
136
+ return {
137
+ context_mode: 'shared',
138
+ context_group: policy.group || exports.DEFAULT_ACCOUNT_CONTEXT_GROUP,
139
+ continuity_mode: policy.continuityMode === 'deeper' ? 'deeper' : exports.DEFAULT_ACCOUNT_CONTINUITY_MODE,
140
+ };
141
+ }
142
+ return {
143
+ context_mode: 'isolated',
144
+ };
145
+ }
146
+ exports.policyToAccountContextMetadata = policyToAccountContextMetadata;
147
+ /**
148
+ * User-facing summary for display/help output.
149
+ */
150
+ function formatAccountContextPolicy(policy) {
151
+ if (policy.mode === 'shared') {
152
+ const continuity = policy.continuityMode === 'deeper' ? 'deeper continuity' : 'standard';
153
+ return `shared (${policy.group || exports.DEFAULT_ACCOUNT_CONTEXT_GROUP}, ${continuity})`;
154
+ }
155
+ return 'isolated';
156
+ }
157
+ exports.formatAccountContextPolicy = formatAccountContextPolicy;
158
+ //# sourceMappingURL=account-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-context.js","sourceRoot":"","sources":["../../src/auth/account-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-commands.d.ts","sourceRoot":"","sources":["../../src/auth/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAkBH;;;;;GAKG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;;IAOvD;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D/B;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsE3C;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"auth-commands.d.ts","sourceRoot":"","sources":["../../src/auth/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH;;;;;GAKG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;;IAOvD;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2F/B;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsE3C;AAED,eAAe,YAAY,CAAC"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const profile_registry_1 = __importDefault(require("./profile-registry"));
19
19
  const instance_manager_1 = require("../management/instance-manager");
20
20
  const ui_1 = require("../utils/ui");
21
+ const account_context_1 = require("./account-context");
21
22
  const package_json_1 = __importDefault(require("../../package.json"));
22
23
  // Import command handlers from modular structure
23
24
  const commands_1 = require("./commands");
@@ -65,6 +66,15 @@ class AuthCommands {
65
66
  console.log(` ${(0, ui_1.dim)('# Create & login to work profile')}`);
66
67
  console.log(` ${(0, ui_1.color)('ccs auth create work', 'command')}`);
67
68
  console.log('');
69
+ console.log(` ${(0, ui_1.dim)('# Create account with shared project context (default group)')}`);
70
+ console.log(` ${(0, ui_1.color)('ccs auth create work2 --share-context', 'command')}`);
71
+ console.log('');
72
+ console.log(` ${(0, ui_1.dim)('# Share context only within a specific group')}`);
73
+ console.log(` ${(0, ui_1.color)('ccs auth create backup --context-group sprint-a', 'command')}`);
74
+ console.log('');
75
+ console.log(` ${(0, ui_1.dim)('# Advanced: deeper shared continuity for session history artifacts')}`);
76
+ console.log(` ${(0, ui_1.color)('ccs auth create backup --context-group sprint-a --deeper-continuity', 'command')}`);
77
+ console.log('');
68
78
  console.log(` ${(0, ui_1.dim)('# Set work as default')}`);
69
79
  console.log(` ${(0, ui_1.color)('ccs auth default work', 'command')}`);
70
80
  console.log('');
@@ -79,6 +89,9 @@ class AuthCommands {
79
89
  console.log('');
80
90
  console.log((0, ui_1.subheader)('Options'));
81
91
  console.log(` ${(0, ui_1.color)('--force', 'command')} Allow overwriting existing profile (create)`);
92
+ console.log(` ${(0, ui_1.color)('--share-context', 'command')} Share project workspace context across accounts`);
93
+ console.log(` ${(0, ui_1.color)('--context-group <name>', 'command')} Share context only within a named group`);
94
+ console.log(` ${(0, ui_1.color)('--deeper-continuity', 'command')} Advanced shared mode: sync additional continuity artifacts`);
82
95
  console.log(` ${(0, ui_1.color)('--yes, -y', 'command')} Skip confirmation prompts (remove)`);
83
96
  console.log(` ${(0, ui_1.color)('--json', 'command')} Output in JSON format (list, show)`);
84
97
  console.log(` ${(0, ui_1.color)('--verbose', 'command')} Show additional details (list)`);
@@ -86,6 +99,11 @@ class AuthCommands {
86
99
  console.log((0, ui_1.subheader)('Note'));
87
100
  console.log(` By default, ${(0, ui_1.color)('ccs', 'command')} uses Claude CLI defaults from ~/.claude/`);
88
101
  console.log(` Use ${(0, ui_1.color)('ccs auth default <profile>', 'command')} to change the default profile.`);
102
+ console.log(` Account profiles stay isolated unless you opt in with ${(0, ui_1.color)('--share-context', 'command')}.`);
103
+ console.log(` ${(0, ui_1.color)('--deeper-continuity', 'command')} requires shared mode and syncs session-env/file-history/todos/shell-snapshots.`);
104
+ console.log(` Existing profiles: open ${(0, ui_1.color)('ccs config', 'command')} -> Accounts -> Edit Context.`);
105
+ console.log(` Shared context groups are normalized (trim + lowercase) and spaces become "-".`);
106
+ console.log(` ${(0, ui_1.color)('context_group', 'path')} must be non-empty and <= ${account_context_1.MAX_CONTEXT_GROUP_LENGTH} chars in shared mode.`);
89
107
  console.log('');
90
108
  }
91
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth-commands.js","sourceRoot":"","sources":["../../src/auth/auth-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-commands.js","sourceRoot":"","sources":["../../src/auth/auth-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="node" />
2
+ export declare function stripAmbientProviderCredentials(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
3
+ //# sourceMappingURL=create-command-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-command-env.d.ts","sourceRoot":"","sources":["../../../src/auth/commands/create-command-env.ts"],"names":[],"mappings":";AAoCA,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAoBzF"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripAmbientProviderCredentials = void 0;
4
+ const AMBIENT_PROVIDER_PREFIXES = [
5
+ 'ANTHROPIC_',
6
+ 'OPENAI_',
7
+ 'GOOGLE_',
8
+ 'GEMINI_',
9
+ 'MINIMAX_',
10
+ 'QWEN_',
11
+ 'DEEPSEEK_',
12
+ 'KIMI_',
13
+ 'AZURE_',
14
+ 'OLLAMA_',
15
+ 'OPENROUTER_',
16
+ 'XAI_',
17
+ 'MISTRAL_',
18
+ 'COHERE_',
19
+ 'PERPLEXITY_',
20
+ 'TOGETHER_',
21
+ 'FIREWORKS_',
22
+ ];
23
+ const AMBIENT_PROVIDER_EXACT_KEYS = new Set([
24
+ 'OPENROUTER_API_KEY',
25
+ 'OPENROUTER_KEY',
26
+ 'XAI_API_KEY',
27
+ 'MISTRAL_API_KEY',
28
+ 'COHERE_API_KEY',
29
+ ]);
30
+ const AMBIENT_PROVIDER_SUFFIXES = [
31
+ '_API_KEY',
32
+ '_AUTH_TOKEN',
33
+ '_ACCESS_TOKEN',
34
+ '_SECRET_KEY',
35
+ '_API_TOKEN',
36
+ '_BEARER_TOKEN',
37
+ '_SESSION_TOKEN',
38
+ ];
39
+ function stripAmbientProviderCredentials(env) {
40
+ const sanitized = { ...env };
41
+ for (const envKey of Object.keys(sanitized)) {
42
+ const normalizedKey = envKey.toUpperCase();
43
+ if (normalizedKey === 'CLAUDE_CONFIG_DIR') {
44
+ continue;
45
+ }
46
+ if (AMBIENT_PROVIDER_PREFIXES.some((prefix) => normalizedKey.startsWith(prefix)) ||
47
+ AMBIENT_PROVIDER_EXACT_KEYS.has(normalizedKey) ||
48
+ AMBIENT_PROVIDER_SUFFIXES.some((suffix) => normalizedKey.endsWith(suffix))) {
49
+ delete sanitized[envKey];
50
+ }
51
+ }
52
+ return sanitized;
53
+ }
54
+ exports.stripAmbientProviderCredentials = stripAmbientProviderCredentials;
55
+ //# sourceMappingURL=create-command-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-command-env.js","sourceRoot":"","sources":["../../../src/auth/commands/create-command-env.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG;IAChC,YAAY;IACZ,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,WAAW;IACX,OAAO;IACP,QAAQ;IACR,SAAS;IACT,aAAa;IACb,MAAM;IACN,UAAU;IACV,SAAS;IACT,aAAa;IACb,WAAW;IACX,YAAY;CACb,CAAC;AACF,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,oBAAoB;IACpB,gBAAgB;IAChB,aAAa;IACb,iBAAiB;IACjB,gBAAgB;CACjB,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG;IAChC,UAAU;IACV,aAAa;IACb,eAAe;IACf,aAAa;IACb,YAAY;IACZ,eAAe;IACf,gBAAgB;CACjB,CAAC;AAEF,SAAgB,+BAA+B,CAAC,GAAsB;IACpE,MAAM,SAAS,GAAsB,EAAE,GAAG,GAAG,EAAE,CAAC;IAEhD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,aAAa,KAAK,mBAAmB,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,IACE,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5E,2BAA2B,CAAC,GAAG,CAAC,aAAa,CAAC;YAC9C,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAC1E,CAAC;YACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AApBD,0EAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-command.d.ts","sourceRoot":"","sources":["../../../src/auth/commands/create-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkIrF"}
1
+ {"version":3,"file":"create-command.d.ts","sourceRoot":"","sources":["../../../src/auth/commands/create-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAOpD;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmRrF"}
@@ -11,24 +11,44 @@ const ui_1 = require("../../utils/ui");
11
11
  const claude_detector_1 = require("../../utils/claude-detector");
12
12
  const shell_executor_1 = require("../../utils/shell-executor");
13
13
  const unified_config_loader_1 = require("../../config/unified-config-loader");
14
+ const account_context_1 = require("../account-context");
14
15
  const errors_1 = require("../../errors");
15
16
  const exit_codes_1 = require("../../errors/exit-codes");
16
17
  const types_1 = require("./types");
18
+ const create_command_env_1 = require("./create-command-env");
19
+ function sanitizeProfileNameForInstance(name) {
20
+ return name.replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
21
+ }
17
22
  /**
18
23
  * Handle the create command
19
24
  */
20
25
  async function handleCreate(ctx, args) {
21
26
  await (0, ui_1.initUI)();
22
- const { profileName, force } = (0, types_1.parseArgs)(args);
27
+ const { profileName, force, shareContext, contextGroup, deeperContinuity, unknownFlags } = (0, types_1.parseArgs)(args);
28
+ if (unknownFlags && unknownFlags.length > 0) {
29
+ const unknownList = unknownFlags.map((flag) => `"${flag}"`).join(', ');
30
+ console.log((0, ui_1.fail)(`Unknown option(s): ${unknownList}`));
31
+ console.log('');
32
+ console.log(`Usage: ${(0, ui_1.color)('ccs auth create <profile> [--force] [--share-context] [--context-group <name>] [--deeper-continuity]', 'command')}`);
33
+ console.log(`Help: ${(0, ui_1.color)('ccs auth --help', 'command')}`);
34
+ console.log('');
35
+ (0, errors_1.exitWithError)(`Unknown option(s): ${unknownList}`, exit_codes_1.ExitCode.PROFILE_ERROR);
36
+ }
23
37
  if (!profileName) {
24
38
  console.log((0, ui_1.fail)('Profile name is required'));
25
39
  console.log('');
26
- console.log(`Usage: ${(0, ui_1.color)('ccs auth create <profile> [--force]', 'command')}`);
40
+ console.log(`Usage: ${(0, ui_1.color)('ccs auth create <profile> [--force] [--share-context] [--context-group <name>] [--deeper-continuity]', 'command')}`);
27
41
  console.log('');
28
42
  console.log('Example:');
29
43
  console.log(` ${(0, ui_1.color)('ccs auth create work', 'command')}`);
30
44
  (0, errors_1.exitWithError)('Profile name is required', exit_codes_1.ExitCode.PROFILE_ERROR);
31
45
  }
46
+ if (!(0, account_context_1.isValidAccountProfileName)(profileName)) {
47
+ const error = 'Invalid profile name. Use letters/numbers/dash/underscore and start with a letter.';
48
+ console.log((0, ui_1.fail)(error));
49
+ console.log('');
50
+ (0, errors_1.exitWithError)(error, exit_codes_1.ExitCode.PROFILE_ERROR);
51
+ }
32
52
  // Check if profile already exists (check both legacy and unified)
33
53
  const existsLegacy = ctx.registry.hasProfile(profileName);
34
54
  const existsUnified = ctx.registry.hasAccountUnified(profileName);
@@ -37,18 +57,115 @@ async function handleCreate(ctx, args) {
37
57
  console.log(` Use ${(0, ui_1.color)('--force', 'command')} to overwrite`);
38
58
  (0, errors_1.exitWithError)(`Profile already exists: ${profileName}`, exit_codes_1.ExitCode.PROFILE_ERROR);
39
59
  }
60
+ const normalizedName = sanitizeProfileNameForInstance(profileName);
61
+ const collidingName = Object.keys(ctx.registry.getAllProfilesMerged()).find((name) => name !== profileName && sanitizeProfileNameForInstance(name) === normalizedName);
62
+ if (collidingName) {
63
+ const error = `Profile "${profileName}" conflicts with existing profile "${collidingName}" on filesystem.`;
64
+ console.log((0, ui_1.fail)(error));
65
+ console.log('');
66
+ (0, errors_1.exitWithError)(error, exit_codes_1.ExitCode.PROFILE_ERROR);
67
+ }
68
+ const resolvedContext = (0, account_context_1.resolveCreateAccountContext)({
69
+ shareContext: !!shareContext,
70
+ contextGroup,
71
+ deeperContinuity: !!deeperContinuity,
72
+ });
73
+ if (resolvedContext.error) {
74
+ console.log((0, ui_1.fail)(resolvedContext.error));
75
+ console.log('');
76
+ (0, errors_1.exitWithError)(resolvedContext.error, exit_codes_1.ExitCode.PROFILE_ERROR);
77
+ }
78
+ const contextPolicy = resolvedContext.policy;
79
+ const contextMetadata = (0, account_context_1.policyToAccountContextMetadata)(contextPolicy);
80
+ const useUnifiedConfig = (0, unified_config_loader_1.isUnifiedMode)();
81
+ const profileExistedBeforeCreate = existsLegacy || existsUnified;
82
+ const createdUnifiedProfile = useUnifiedConfig && !existsUnified;
83
+ const createdLegacyProfile = !useUnifiedConfig && !existsLegacy;
84
+ const previousLegacyProfile = existsLegacy
85
+ ? ctx.registry.getProfile(profileName)
86
+ : undefined;
87
+ const previousUnifiedProfile = existsUnified
88
+ ? ctx.registry.getAllAccountsUnified()[profileName]
89
+ : undefined;
90
+ const previousContextPolicy = profileExistedBeforeCreate && (previousUnifiedProfile || previousLegacyProfile)
91
+ ? (0, account_context_1.resolveAccountContextPolicy)(previousUnifiedProfile || previousLegacyProfile)
92
+ : undefined;
93
+ const claudeInfo = (0, claude_detector_1.getClaudeCliInfo)();
94
+ if (!claudeInfo) {
95
+ console.log((0, ui_1.fail)('Claude CLI not found'));
96
+ console.log('');
97
+ console.log('Please install Claude CLI first:');
98
+ console.log(` ${(0, ui_1.color)('https://claude.ai/download', 'path')}`);
99
+ (0, errors_1.exitWithError)('Claude CLI not found', exit_codes_1.ExitCode.BINARY_ERROR);
100
+ }
101
+ let rollbackCompleted = false;
102
+ const rollbackMetadata = () => {
103
+ try {
104
+ if (useUnifiedConfig) {
105
+ if (createdUnifiedProfile) {
106
+ if (ctx.registry.hasAccountUnified(profileName)) {
107
+ ctx.registry.removeAccountUnified(profileName);
108
+ }
109
+ }
110
+ else if (previousUnifiedProfile) {
111
+ ctx.registry.updateAccountUnified(profileName, previousUnifiedProfile);
112
+ }
113
+ }
114
+ else {
115
+ if (createdLegacyProfile) {
116
+ if (ctx.registry.hasProfile(profileName)) {
117
+ ctx.registry.deleteProfile(profileName);
118
+ }
119
+ }
120
+ else if (previousLegacyProfile) {
121
+ ctx.registry.updateProfile(profileName, previousLegacyProfile);
122
+ }
123
+ }
124
+ }
125
+ catch {
126
+ // Best-effort rollback to avoid leaving stale accounts after failed login.
127
+ }
128
+ };
129
+ const rollbackFailedCreate = async () => {
130
+ if (rollbackCompleted) {
131
+ return;
132
+ }
133
+ rollbackCompleted = true;
134
+ rollbackMetadata();
135
+ if (!profileExistedBeforeCreate) {
136
+ try {
137
+ ctx.instanceMgr.deleteInstance(profileName);
138
+ }
139
+ catch {
140
+ // Best-effort cleanup.
141
+ }
142
+ return;
143
+ }
144
+ if (previousContextPolicy) {
145
+ try {
146
+ await ctx.instanceMgr.ensureInstance(profileName, previousContextPolicy);
147
+ }
148
+ catch {
149
+ // Best-effort rollback for context mode/group.
150
+ }
151
+ }
152
+ };
40
153
  try {
41
154
  // Create instance directory
42
155
  console.log((0, ui_1.info)(`Creating profile: ${profileName}`));
43
- const instancePath = await ctx.instanceMgr.ensureInstance(profileName);
156
+ const instancePath = await ctx.instanceMgr.ensureInstance(profileName, contextPolicy);
44
157
  // Create/update profile entry based on config mode
45
- if ((0, unified_config_loader_1.isUnifiedMode)()) {
158
+ if (useUnifiedConfig) {
46
159
  // Use unified config (config.yaml)
47
160
  if (existsUnified) {
161
+ ctx.registry.updateAccountUnified(profileName, {
162
+ context_mode: contextMetadata.context_mode,
163
+ context_group: contextMetadata.context_group,
164
+ });
48
165
  ctx.registry.touchAccountUnified(profileName);
49
166
  }
50
167
  else {
51
- ctx.registry.createAccountUnified(profileName);
168
+ ctx.registry.createAccountUnified(profileName, contextMetadata);
52
169
  }
53
170
  }
54
171
  else {
@@ -56,53 +173,62 @@ async function handleCreate(ctx, args) {
56
173
  if (existsLegacy) {
57
174
  ctx.registry.updateProfile(profileName, {
58
175
  type: 'account',
176
+ context_mode: contextMetadata.context_mode,
177
+ context_group: contextMetadata.context_group,
59
178
  });
60
179
  }
61
180
  else {
62
181
  ctx.registry.createProfile(profileName, {
63
182
  type: 'account',
183
+ context_mode: contextMetadata.context_mode,
184
+ context_group: contextMetadata.context_group,
64
185
  });
65
186
  }
66
187
  }
67
188
  console.log((0, ui_1.info)(`Instance directory: ${instancePath}`));
68
189
  console.log('');
69
- console.log((0, ui_1.warn)('Starting Claude in isolated instance...'));
190
+ const launchDescription = contextPolicy.mode === 'shared'
191
+ ? contextPolicy.continuityMode === 'deeper'
192
+ ? `Starting Claude with shared context group "${contextPolicy.group || 'default'}" (deeper continuity)...`
193
+ : `Starting Claude with shared context group "${contextPolicy.group || 'default'}"...`
194
+ : 'Starting Claude in isolated instance...';
195
+ console.log((0, ui_1.warn)(launchDescription));
70
196
  console.log((0, ui_1.warn)('You will be prompted to login with your account.'));
71
197
  console.log('');
72
- // Detect Claude CLI
73
- const claudeInfo = (0, claude_detector_1.getClaudeCliInfo)();
74
- if (!claudeInfo) {
75
- console.log((0, ui_1.fail)('Claude CLI not found'));
76
- console.log('');
77
- console.log('Please install Claude CLI first:');
78
- console.log(` ${(0, ui_1.color)('https://claude.ai/download', 'path')}`);
79
- (0, errors_1.exitWithError)('Claude CLI not found', exit_codes_1.ExitCode.BINARY_ERROR);
80
- }
81
198
  const { path: claudeCli, needsShell } = claudeInfo;
82
- const childEnv = (0, shell_executor_1.stripClaudeCodeEnv)({ ...process.env, CLAUDE_CONFIG_DIR: instancePath });
199
+ const childEnv = (0, create_command_env_1.stripAmbientProviderCredentials)((0, shell_executor_1.stripClaudeCodeEnv)({ ...process.env, CLAUDE_CONFIG_DIR: instancePath }));
83
200
  // Execute Claude in isolated instance (will auto-prompt for login if no credentials)
84
201
  // On Windows, .cmd/.bat/.ps1 files need shell: true to execute properly
85
202
  let child;
86
- if (needsShell) {
87
- const cmdString = (0, shell_executor_1.escapeShellArg)(claudeCli);
88
- child = (0, child_process_1.spawn)(cmdString, {
89
- stdio: 'inherit',
90
- windowsHide: true,
91
- shell: true,
92
- env: childEnv,
93
- });
203
+ try {
204
+ if (needsShell) {
205
+ const cmdString = (0, shell_executor_1.escapeShellArg)(claudeCli);
206
+ child = (0, child_process_1.spawn)(cmdString, {
207
+ stdio: 'inherit',
208
+ windowsHide: true,
209
+ shell: true,
210
+ env: childEnv,
211
+ });
212
+ }
213
+ else {
214
+ child = (0, child_process_1.spawn)(claudeCli, [], {
215
+ stdio: 'inherit',
216
+ windowsHide: true,
217
+ env: childEnv,
218
+ });
219
+ }
94
220
  }
95
- else {
96
- child = (0, child_process_1.spawn)(claudeCli, [], {
97
- stdio: 'inherit',
98
- windowsHide: true,
99
- env: childEnv,
100
- });
221
+ catch (error) {
222
+ await rollbackFailedCreate();
223
+ (0, errors_1.exitWithError)(`Failed to execute Claude CLI: ${error.message}`, exit_codes_1.ExitCode.BINARY_ERROR);
101
224
  }
102
- child.on('exit', (code) => {
225
+ child.on('exit', async (code) => {
103
226
  if (code === 0) {
104
227
  console.log('');
105
- console.log((0, ui_1.infoBox)(`Profile: ${profileName}\n` + `Instance: ${instancePath}\n` + `Type: account`, 'Profile Created'));
228
+ console.log((0, ui_1.infoBox)(`Profile: ${profileName}\n` +
229
+ `Instance: ${instancePath}\n` +
230
+ `Type: account\n` +
231
+ `Context: ${(0, account_context_1.formatAccountContextPolicy)(contextPolicy)}`, 'Profile Created'));
106
232
  console.log('');
107
233
  console.log((0, ui_1.header)('Usage'));
108
234
  console.log(` ${(0, ui_1.color)(`ccs ${profileName} "your prompt here"`, 'command')}`);
@@ -117,6 +243,7 @@ async function handleCreate(ctx, args) {
117
243
  process.exit(0);
118
244
  }
119
245
  else {
246
+ await rollbackFailedCreate();
120
247
  console.log('');
121
248
  console.log((0, ui_1.fail)('Login failed or cancelled'));
122
249
  console.log('');
@@ -126,11 +253,13 @@ async function handleCreate(ctx, args) {
126
253
  (0, errors_1.exitWithError)('Login failed or cancelled', exit_codes_1.ExitCode.AUTH_ERROR);
127
254
  }
128
255
  });
129
- child.on('error', (err) => {
256
+ child.on('error', async (err) => {
257
+ await rollbackFailedCreate();
130
258
  (0, errors_1.exitWithError)(`Failed to execute Claude CLI: ${err.message}`, exit_codes_1.ExitCode.BINARY_ERROR);
131
259
  });
132
260
  }
133
261
  catch (error) {
262
+ await rollbackFailedCreate();
134
263
  (0, errors_1.exitWithError)(`Failed to create profile: ${error.message}`, exit_codes_1.ExitCode.GENERAL_ERROR);
135
264
  }
136
265
  }