@kaitranntt/ccs 8.8.1-dev.19 → 8.8.1-dev.20
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.
- package/dist/auth/resume-lane-diagnostics.d.ts +9 -0
- package/dist/auth/resume-lane-diagnostics.d.ts.map +1 -1
- package/dist/auth/resume-lane-diagnostics.js +105 -1
- package/dist/auth/resume-lane-diagnostics.js.map +1 -1
- package/dist/auth/resume-lane-warning.d.ts +9 -1
- package/dist/auth/resume-lane-warning.d.ts.map +1 -1
- package/dist/auth/resume-lane-warning.js +72 -5
- package/dist/auth/resume-lane-warning.js.map +1 -1
- package/dist/codex-auth/shell-detect.d.ts +2 -0
- package/dist/codex-auth/shell-detect.d.ts.map +1 -1
- package/dist/codex-auth/shell-detect.js +15 -1
- package/dist/codex-auth/shell-detect.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,15 @@ export interface ResumeFlagIntent {
|
|
|
12
12
|
implicit: boolean;
|
|
13
13
|
explicitSessionId?: string;
|
|
14
14
|
}
|
|
15
|
+
export interface ResumeSessionLane {
|
|
16
|
+
kind: 'native' | 'account';
|
|
17
|
+
configDir: string;
|
|
18
|
+
accountName?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ResumeSessionScanDependencies {
|
|
21
|
+
beforeSessionOpen?: (sessionPath: string) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function findResumeSessionLanes(sessionId: string, deps?: ResumeSessionScanDependencies): ResumeSessionLane[];
|
|
15
24
|
export declare function resolveConfiguredPlainCcsResumeLane(): Promise<ResumeLaneSummary>;
|
|
16
25
|
export declare function resolveRuntimePlainCcsResumeLane(): Promise<ResumeLaneSummary>;
|
|
17
26
|
export declare function parseResumeFlagIntent(args: string[]): ResumeFlagIntent | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-lane-diagnostics.d.ts","sourceRoot":"","sources":["../../src/auth/resume-lane-diagnostics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resume-lane-diagnostics.d.ts","sourceRoot":"","sources":["../../src/auth/resume-lane-diagnostics.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAkGD,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,6BAAkC,GACvC,iBAAiB,EAAE,CA2BrB;AAwCD,wBAAsB,mCAAmC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAqBtF;AAED,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAYnF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAsB7E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,OAAa,GAAG,MAAM,CAQ9D;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAS7E"}
|
|
@@ -26,14 +26,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getContinuityArtifactNames = exports.createTimestampStamp = exports.getAuthBackupRoot = exports.parseResumeFlagIntent = exports.resolveRuntimePlainCcsResumeLane = exports.resolveConfiguredPlainCcsResumeLane = void 0;
|
|
29
|
+
exports.getContinuityArtifactNames = exports.createTimestampStamp = exports.getAuthBackupRoot = exports.parseResumeFlagIntent = exports.resolveRuntimePlainCcsResumeLane = exports.resolveConfiguredPlainCcsResumeLane = exports.findResumeSessionLanes = void 0;
|
|
30
30
|
const fs = __importStar(require("fs"));
|
|
31
31
|
const path = __importStar(require("path"));
|
|
32
32
|
const claude_config_path_1 = require("../utils/claude-config-path");
|
|
33
33
|
const instance_manager_1 = __importDefault(require("../management/instance-manager"));
|
|
34
34
|
const profile_detector_1 = __importDefault(require("./profile-detector"));
|
|
35
|
+
const profile_registry_1 = __importDefault(require("./profile-registry"));
|
|
35
36
|
const profile_continuity_inheritance_1 = require("./profile-continuity-inheritance");
|
|
36
37
|
const config_loader_facade_1 = require("../config/config-loader-facade");
|
|
38
|
+
const account_context_1 = require("./account-context");
|
|
39
|
+
const SESSION_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
40
|
+
function isPathWithin(candidate, root) {
|
|
41
|
+
return candidate === root || candidate.startsWith(`${root}${path.sep}`);
|
|
42
|
+
}
|
|
43
|
+
function hasSameIdentity(before, after) {
|
|
44
|
+
return before.dev === after.dev && before.ino === after.ino;
|
|
45
|
+
}
|
|
46
|
+
function isStableDirectory(directoryPath, before) {
|
|
47
|
+
const after = fs.lstatSync(directoryPath);
|
|
48
|
+
return after.isDirectory() && !after.isSymbolicLink() && hasSameIdentity(before, after);
|
|
49
|
+
}
|
|
50
|
+
function isStableFile(filePath, before) {
|
|
51
|
+
const after = fs.lstatSync(filePath);
|
|
52
|
+
return after.isFile() && !after.isSymbolicLink() && hasSameIdentity(before, after);
|
|
53
|
+
}
|
|
37
54
|
function countTopLevelProjectDirs(projectsDir) {
|
|
38
55
|
try {
|
|
39
56
|
return fs
|
|
@@ -44,6 +61,93 @@ function countTopLevelProjectDirs(projectsDir) {
|
|
|
44
61
|
return 0;
|
|
45
62
|
}
|
|
46
63
|
}
|
|
64
|
+
function laneContainsSession(configDir, sessionId, deps) {
|
|
65
|
+
if (!SESSION_ID_PATTERN.test(sessionId)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
const projectsDir = path.join(configDir, 'projects');
|
|
69
|
+
try {
|
|
70
|
+
const configStat = fs.lstatSync(configDir);
|
|
71
|
+
if (!configStat.isDirectory() || configStat.isSymbolicLink())
|
|
72
|
+
return false;
|
|
73
|
+
const configRealPath = fs.realpathSync(configDir);
|
|
74
|
+
const projectsStat = fs.lstatSync(projectsDir);
|
|
75
|
+
if (!projectsStat.isDirectory() || projectsStat.isSymbolicLink())
|
|
76
|
+
return false;
|
|
77
|
+
const projectsRealPath = fs.realpathSync(projectsDir);
|
|
78
|
+
if (!isPathWithin(projectsRealPath, configRealPath))
|
|
79
|
+
return false;
|
|
80
|
+
return fs.readdirSync(projectsDir, { withFileTypes: true }).some((projectEntry) => {
|
|
81
|
+
if (!projectEntry.isDirectory() || projectEntry.isSymbolicLink()) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
const projectPath = path.join(projectsDir, projectEntry.name);
|
|
85
|
+
const sessionPath = path.join(projectPath, `${sessionId}.jsonl`);
|
|
86
|
+
let sessionFd;
|
|
87
|
+
try {
|
|
88
|
+
const projectStat = fs.lstatSync(projectPath);
|
|
89
|
+
if (!projectStat.isDirectory() || projectStat.isSymbolicLink())
|
|
90
|
+
return false;
|
|
91
|
+
const projectRealPath = fs.realpathSync(projectPath);
|
|
92
|
+
if (!isPathWithin(projectRealPath, projectsRealPath))
|
|
93
|
+
return false;
|
|
94
|
+
const sessionRealPath = fs.realpathSync(sessionPath);
|
|
95
|
+
if (!isPathWithin(sessionRealPath, projectRealPath))
|
|
96
|
+
return false;
|
|
97
|
+
const sessionStat = fs.lstatSync(sessionPath);
|
|
98
|
+
if (!sessionStat.isFile() || sessionStat.isSymbolicLink())
|
|
99
|
+
return false;
|
|
100
|
+
deps.beforeSessionOpen?.(sessionPath);
|
|
101
|
+
sessionFd = fs.openSync(sessionPath, fs.constants.O_RDONLY | (fs.constants.O_NOFOLLOW ?? 0));
|
|
102
|
+
const openedSessionStat = fs.fstatSync(sessionFd);
|
|
103
|
+
if (!openedSessionStat.isFile() || !hasSameIdentity(sessionStat, openedSessionStat)) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
return (isStableDirectory(configDir, configStat) &&
|
|
107
|
+
isStableDirectory(projectsDir, projectsStat) &&
|
|
108
|
+
isStableDirectory(projectPath, projectStat) &&
|
|
109
|
+
isStableFile(sessionPath, sessionStat) &&
|
|
110
|
+
fs.realpathSync(configDir) === configRealPath &&
|
|
111
|
+
fs.realpathSync(projectsDir) === projectsRealPath &&
|
|
112
|
+
fs.realpathSync(projectPath) === projectRealPath &&
|
|
113
|
+
fs.realpathSync(sessionPath) === sessionRealPath);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
finally {
|
|
119
|
+
if (sessionFd !== undefined)
|
|
120
|
+
fs.closeSync(sessionFd);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function findResumeSessionLanes(sessionId, deps = {}) {
|
|
129
|
+
if (!SESSION_ID_PATTERN.test(sessionId)) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
const instanceMgr = new instance_manager_1.default();
|
|
133
|
+
const profileRegistry = new profile_registry_1.default();
|
|
134
|
+
const lanes = [];
|
|
135
|
+
const nativeConfigDir = (0, claude_config_path_1.getDefaultClaudeConfigDir)();
|
|
136
|
+
if (laneContainsSession(nativeConfigDir, sessionId, deps)) {
|
|
137
|
+
lanes.push({ kind: 'native', configDir: nativeConfigDir });
|
|
138
|
+
}
|
|
139
|
+
const accountNames = Object.entries(profileRegistry.getAllProfilesMerged())
|
|
140
|
+
.filter(([accountName, profile]) => profile.type === 'account' && (0, account_context_1.isValidAccountProfileName)(accountName))
|
|
141
|
+
.map(([accountName]) => accountName);
|
|
142
|
+
for (const accountName of accountNames) {
|
|
143
|
+
const configDir = instanceMgr.getInstancePath(accountName);
|
|
144
|
+
if (laneContainsSession(configDir, sessionId, deps)) {
|
|
145
|
+
lanes.push({ kind: 'account', configDir, accountName });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return lanes;
|
|
149
|
+
}
|
|
150
|
+
exports.findResumeSessionLanes = findResumeSessionLanes;
|
|
47
151
|
function resolveNativeLaneSummary(kind = 'native', profileName) {
|
|
48
152
|
const configDir = (0, claude_config_path_1.getDefaultClaudeConfigDir)();
|
|
49
153
|
const label = kind === 'profile-default' && profileName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-lane-diagnostics.js","sourceRoot":"","sources":["../../src/auth/resume-lane-diagnostics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,oEAAwE;AAExE,sFAA6D;AAC7D,0EAAiD;AACjD,qFAA4F;AAE5F,yEAA2D;
|
|
1
|
+
{"version":3,"file":"resume-lane-diagnostics.js","sourceRoot":"","sources":["../../src/auth/resume-lane-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="bun-types" />
|
|
3
|
+
import { type Shell } from '../codex-auth/shell-detect';
|
|
4
|
+
import { type ResumeSessionLane, type ResumeLaneSummary } from './resume-lane-diagnostics';
|
|
2
5
|
interface ResumeLaneWarningDependencies {
|
|
3
6
|
resolvePlainLane?: () => Promise<ResumeLaneSummary>;
|
|
7
|
+
findSessionLanes?: (sessionId: string) => ResumeSessionLane[];
|
|
8
|
+
shell?: Shell;
|
|
9
|
+
env?: NodeJS.ProcessEnv;
|
|
10
|
+
platform?: string;
|
|
11
|
+
parentProcessName?: string;
|
|
4
12
|
log?: (message: string) => void;
|
|
5
13
|
debug?: boolean;
|
|
6
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-lane-warning.d.ts","sourceRoot":"","sources":["../../src/auth/resume-lane-warning.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"resume-lane-warning.d.ts","sourceRoot":"","sources":["../../src/auth/resume-lane-warning.ts"],"names":[],"mappings":";;AAEA,OAAO,EAA0C,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAGhG,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,UAAU,6BAA6B;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,iBAAiB,EAAE,CAAC;IAC9D,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAwCD,wBAAsB,gCAAgC,CACpD,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,6BAAkC,GACvC,OAAO,CAAC,IAAI,CAAC,CA4Gf"}
|
|
@@ -26,7 +26,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.maybeWarnAboutResumeLaneMismatch = void 0;
|
|
27
27
|
const path = __importStar(require("path"));
|
|
28
28
|
const ui_1 = require("../utils/ui");
|
|
29
|
+
const shell_detect_1 = require("../codex-auth/shell-detect");
|
|
30
|
+
const shell_executor_1 = require("../utils/shell-executor");
|
|
31
|
+
const account_context_1 = require("./account-context");
|
|
29
32
|
const resume_lane_diagnostics_1 = require("./resume-lane-diagnostics");
|
|
33
|
+
function joinShellStatements(shell, statements) {
|
|
34
|
+
if (shell === 'cmd')
|
|
35
|
+
return statements.join(' && ');
|
|
36
|
+
if (shell === 'fish')
|
|
37
|
+
return statements.join(' ');
|
|
38
|
+
return statements.join('; ');
|
|
39
|
+
}
|
|
40
|
+
function buildExplicitNativeResumeCommand(configDir, sessionId, shell) {
|
|
41
|
+
const statements = shell_executor_1.ANTHROPIC_ROUTING_ENV_KEYS.map((key) => (0, shell_detect_1.formatUnset)(shell, key));
|
|
42
|
+
statements.push((0, shell_detect_1.formatExport)(shell, 'CLAUDE_CONFIG_DIR', configDir));
|
|
43
|
+
statements.push(`claude --resume ${sessionId}`);
|
|
44
|
+
return joinShellStatements(shell, statements);
|
|
45
|
+
}
|
|
46
|
+
function buildResumeCommand(sourceLane, plainLane, sessionId, shell) {
|
|
47
|
+
if (sourceLane.kind === 'account') {
|
|
48
|
+
if (!sourceLane.accountName || !(0, account_context_1.isValidAccountProfileName)(sourceLane.accountName))
|
|
49
|
+
return null;
|
|
50
|
+
return `ccs ${sourceLane.accountName} --resume ${sessionId}`;
|
|
51
|
+
}
|
|
52
|
+
if (plainLane.kind === 'native' &&
|
|
53
|
+
path.resolve(sourceLane.configDir) === path.resolve(plainLane.configDir)) {
|
|
54
|
+
return `ccs --resume ${sessionId}`;
|
|
55
|
+
}
|
|
56
|
+
return buildExplicitNativeResumeCommand(sourceLane.configDir, sessionId, shell);
|
|
57
|
+
}
|
|
30
58
|
async function maybeWarnAboutResumeLaneMismatch(profileName, accountConfigDir, args, deps = {}) {
|
|
31
59
|
const resumeIntent = (0, resume_lane_diagnostics_1.parseResumeFlagIntent)(args);
|
|
32
60
|
if (!resumeIntent) {
|
|
@@ -34,19 +62,58 @@ async function maybeWarnAboutResumeLaneMismatch(profileName, accountConfigDir, a
|
|
|
34
62
|
}
|
|
35
63
|
const log = deps.log ?? console.error;
|
|
36
64
|
try {
|
|
65
|
+
const sessionLanes = resumeIntent.explicitSessionId
|
|
66
|
+
? (deps.findSessionLanes ?? resume_lane_diagnostics_1.findResumeSessionLanes)(resumeIntent.explicitSessionId)
|
|
67
|
+
: [];
|
|
68
|
+
if (sessionLanes.some((lane) => path.resolve(lane.configDir) === path.resolve(accountConfigDir))) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
37
71
|
const plainLane = await (deps.resolvePlainLane ?? resume_lane_diagnostics_1.resolveRuntimePlainCcsResumeLane)();
|
|
38
|
-
if (
|
|
72
|
+
if (sessionLanes.length === 0 &&
|
|
73
|
+
path.resolve(plainLane.configDir) === path.resolve(accountConfigDir)) {
|
|
39
74
|
return;
|
|
40
75
|
}
|
|
41
76
|
log((0, ui_1.warn)(`Resume for account "${profileName}" will search that account lane, not the current plain ccs lane.`));
|
|
42
77
|
log((0, ui_1.info)(` Account lane: ${accountConfigDir}`));
|
|
43
78
|
log((0, ui_1.info)(` Plain ccs lane: ${plainLane.label} (${plainLane.configDir})`));
|
|
79
|
+
const sourceLanes = sessionLanes.filter((lane) => path.resolve(lane.configDir) !== path.resolve(accountConfigDir));
|
|
80
|
+
const shell = deps.shell ??
|
|
81
|
+
(0, shell_detect_1.detectShell)(deps.env ?? process.env, deps.platform ?? process.platform, deps.parentProcessName);
|
|
44
82
|
if (resumeIntent.explicitSessionId) {
|
|
45
|
-
|
|
83
|
+
if (sourceLanes.length === 1) {
|
|
84
|
+
const sourceLane = sourceLanes[0];
|
|
85
|
+
const command = buildResumeCommand(sourceLane, plainLane, resumeIntent.explicitSessionId, shell);
|
|
86
|
+
if (command) {
|
|
87
|
+
log((0, ui_1.info)(` Resume from the lane that owns this session: ${command}`));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
log((0, ui_1.warn)(' Session owner has an unsafe account name; no executable command emitted.'));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (sourceLanes.length > 1) {
|
|
94
|
+
log((0, ui_1.info)(' This session exists in multiple lanes; choose one without merging history:'));
|
|
95
|
+
for (const sourceLane of sourceLanes) {
|
|
96
|
+
const command = buildResumeCommand(sourceLane, plainLane, resumeIntent.explicitSessionId, shell);
|
|
97
|
+
if (command)
|
|
98
|
+
log((0, ui_1.info)(` ${command}`));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
log((0, ui_1.info)(' This explicit session ID may have been created in a different lane, so Claude may not find it here.'));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (sourceLanes.length === 0) {
|
|
106
|
+
log((0, ui_1.info)(' Recover the original lane first: ccs -r'));
|
|
107
|
+
log((0, ui_1.info)(' Back it up before changing setup: ccs auth backup default'));
|
|
108
|
+
if ((0, account_context_1.isValidAccountProfileName)(profileName)) {
|
|
109
|
+
log((0, ui_1.info)(` For future work, align plain ccs with this account: ccs auth default ${profileName}`));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (sourceLanes.length === 1 &&
|
|
113
|
+
sourceLanes[0].accountName &&
|
|
114
|
+
(0, account_context_1.isValidAccountProfileName)(sourceLanes[0].accountName)) {
|
|
115
|
+
log((0, ui_1.info)(` Back up that lane before changing setup: ccs auth backup ${sourceLanes[0].accountName}`));
|
|
46
116
|
}
|
|
47
|
-
log((0, ui_1.info)(' Recover the original lane first: ccs -r'));
|
|
48
|
-
log((0, ui_1.info)(' Back it up before changing setup: ccs auth backup default'));
|
|
49
|
-
log((0, ui_1.info)(` For future work, align plain ccs with this account: ccs auth default ${profileName}`));
|
|
50
117
|
log('');
|
|
51
118
|
}
|
|
52
119
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-lane-warning.js","sourceRoot":"","sources":["../../src/auth/resume-lane-warning.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,oCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"resume-lane-warning.js","sourceRoot":"","sources":["../../src/auth/resume-lane-warning.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,4 +16,6 @@ export declare function detectShell(env?: NodeJS.ProcessEnv, platform?: string,
|
|
|
16
16
|
* Used by use-command to emit eval-safe lines.
|
|
17
17
|
*/
|
|
18
18
|
export declare function formatExport(shell: Shell, key: string, value: string): string;
|
|
19
|
+
/** Format removal of one environment variable for the target shell. */
|
|
20
|
+
export declare function formatUnset(shell: Shell, key: string): string;
|
|
19
21
|
//# sourceMappingURL=shell-detect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-detect.d.ts","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAyB,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,KAAK,CAaP;AAmDD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAY7E"}
|
|
1
|
+
{"version":3,"file":"shell-detect.d.ts","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAyB,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,KAAK,CAaP;AAmDD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAY7E;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAW7D"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Determines current shell to emit correct eval-safe export syntax.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.formatExport = exports.detectShell = void 0;
|
|
7
|
+
exports.formatUnset = exports.formatExport = exports.detectShell = void 0;
|
|
8
8
|
/**
|
|
9
9
|
* Detect current shell from environment.
|
|
10
10
|
* On Windows: inspect explicit shell executable hints, else default to cmd.
|
|
@@ -88,4 +88,18 @@ function formatExport(shell, key, value) {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
exports.formatExport = formatExport;
|
|
91
|
+
/** Format removal of one environment variable for the target shell. */
|
|
92
|
+
function formatUnset(shell, key) {
|
|
93
|
+
switch (shell) {
|
|
94
|
+
case 'fish':
|
|
95
|
+
return `set -e ${key};`;
|
|
96
|
+
case 'pwsh':
|
|
97
|
+
return `Remove-Item Env:${key} -ErrorAction SilentlyContinue`;
|
|
98
|
+
case 'cmd':
|
|
99
|
+
return `set "${key}="`;
|
|
100
|
+
default:
|
|
101
|
+
return `unset ${key}`;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.formatUnset = formatUnset;
|
|
91
105
|
//# sourceMappingURL=shell-detect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-detect.js","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;;;GAIG;AACH,SAAgB,WAAW,CACzB,MAAyB,OAAO,CAAC,GAAG,EACpC,WAAmB,OAAO,CAAC,QAAQ,EACnC,iBAA0B;IAE1B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CACL,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,mBAAmB,CAAC,iBAAiB,CAAC;YACtC,mBAAmB,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;YAC/C,KAAK,CACN,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,MAAM,CAAC,CAAC,kCAAkC;AACnD,CAAC;AAjBD,kCAiBC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,KAAK;SACf,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,EAAE;QACN,EAAE,WAAW,EAAE;SACd,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAExC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjG,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,KAAY,EAAE,GAAW,EAAE,KAAa;IACnE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,WAAW,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,KAAK,KAAK;YACR,OAAO,QAAQ,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;QAC9C;YACE,aAAa;YACb,OAAO,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAZD,oCAYC"}
|
|
1
|
+
{"version":3,"file":"shell-detect.js","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":"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"}
|