@hasna/accounts 0.1.3 → 0.1.4
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/README.md +31 -0
- package/dist/cli.js +74 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -2
- package/dist/lib/switch.d.ts +22 -0
- package/dist/lib/switch.d.ts.map +1 -0
- package/dist/lib/tools.d.ts.map +1 -1
- package/dist/mcp.d.ts +3 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +17378 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -91,6 +91,7 @@ Implementation details: [docs/IMPLEMENT.md](docs/IMPLEMENT.md).
|
|
|
91
91
|
| `accounts login <name> --tool <tool>` | Launch the tool's login flow in an isolated profile dir. |
|
|
92
92
|
| `accounts apply <name> --tool claude` | Apply profile auth to live Claude paths (requires snapshot; Claude-only). |
|
|
93
93
|
| `accounts pick` | Interactive picker; default applies. `--env`, `--no-act`. |
|
|
94
|
+
| `accounts switch <name> --tool <tool>` | Switch profile and print a restart/resume command. Add `--resume`; add `--launch` to run it. |
|
|
94
95
|
| `accounts use <name> --tool <tool>` | Mark profile active; prints apply/env hints. |
|
|
95
96
|
| `accounts list` (`ls`) | List profiles (`●` active, `◉` applied, `●◉` both). |
|
|
96
97
|
| `accounts show <name> --tool <tool>` | Profile details including active/applied flags. |
|
|
@@ -108,6 +109,36 @@ Implementation details: [docs/IMPLEMENT.md](docs/IMPLEMENT.md).
|
|
|
108
109
|
|
|
109
110
|
See `accounts --help` for `set`, `rename`, `remove`, `tools`, etc.
|
|
110
111
|
|
|
112
|
+
## Agent / MCP Switching
|
|
113
|
+
|
|
114
|
+
`accounts` ships a stdio MCP server:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
accounts-mcp
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Add it to Claude/Codex/opencode/Cursor MCP config as a command server named
|
|
121
|
+
`accounts`. It exposes:
|
|
122
|
+
|
|
123
|
+
- `list_tools`
|
|
124
|
+
- `list_profiles`
|
|
125
|
+
- `current_profile`
|
|
126
|
+
- `switch_profile`
|
|
127
|
+
|
|
128
|
+
`switch_profile` applies Claude live auth when the target profile is Claude and
|
|
129
|
+
returns a restart handoff command. MCP servers cannot safely kill their parent
|
|
130
|
+
agent process, so the tool returns an instruction such as: exit this session and
|
|
131
|
+
run `CLAUDE_CONFIG_DIR=... claude --continue`.
|
|
132
|
+
|
|
133
|
+
Human equivalent:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
accounts switch account001 --tool claude --resume
|
|
137
|
+
accounts switch account001 --tool claude --resume --launch
|
|
138
|
+
accounts switch codex-work --tool codex --resume
|
|
139
|
+
accounts switch ops --tool opencode --resume
|
|
140
|
+
```
|
|
141
|
+
|
|
111
142
|
## Shell hook (optional)
|
|
112
143
|
|
|
113
144
|
```bash
|
package/dist/cli.js
CHANGED
|
@@ -6577,6 +6577,7 @@ var toolDefSchema = exports_external.object({
|
|
|
6577
6577
|
bin: exports_external.string().min(1),
|
|
6578
6578
|
loginArgs: exports_external.array(exports_external.string()).optional(),
|
|
6579
6579
|
loginHint: exports_external.string().optional(),
|
|
6580
|
+
resumeArgs: exports_external.array(exports_external.string()).optional(),
|
|
6580
6581
|
accountFile: exports_external.string().optional(),
|
|
6581
6582
|
emailPath: exports_external.array(exports_external.string()).optional()
|
|
6582
6583
|
});
|
|
@@ -6745,6 +6746,7 @@ var BUILTIN_TOOLS = [
|
|
|
6745
6746
|
defaultDir: join2(homedir2(), ".claude"),
|
|
6746
6747
|
bin: "claude",
|
|
6747
6748
|
loginHint: "run /login inside Claude, then /exit when done",
|
|
6749
|
+
resumeArgs: ["--continue"],
|
|
6748
6750
|
accountFile: ".claude.json",
|
|
6749
6751
|
emailPath: ["oauthAccount", "emailAddress"]
|
|
6750
6752
|
},
|
|
@@ -6755,7 +6757,8 @@ var BUILTIN_TOOLS = [
|
|
|
6755
6757
|
defaultDir: join2(homedir2(), ".codex"),
|
|
6756
6758
|
bin: "codex",
|
|
6757
6759
|
loginArgs: ["login"],
|
|
6758
|
-
loginHint: "complete the Codex login flow for this CODEX_HOME"
|
|
6760
|
+
loginHint: "complete the Codex login flow for this CODEX_HOME",
|
|
6761
|
+
resumeArgs: ["resume", "--last"]
|
|
6759
6762
|
},
|
|
6760
6763
|
{
|
|
6761
6764
|
id: "opencode",
|
|
@@ -6768,7 +6771,8 @@ var BUILTIN_TOOLS = [
|
|
|
6768
6771
|
defaultDir: join2(homedir2(), ".config", "opencode"),
|
|
6769
6772
|
bin: "opencode",
|
|
6770
6773
|
loginArgs: ["auth", "login"],
|
|
6771
|
-
loginHint: "complete opencode auth login for this isolated config/data root"
|
|
6774
|
+
loginHint: "complete opencode auth login for this isolated config/data root",
|
|
6775
|
+
resumeArgs: ["--continue"]
|
|
6772
6776
|
},
|
|
6773
6777
|
{
|
|
6774
6778
|
id: "cursor",
|
|
@@ -7575,6 +7579,50 @@ function finalizeLogin(name, toolId) {
|
|
|
7575
7579
|
return { profile: updated, applied: false };
|
|
7576
7580
|
}
|
|
7577
7581
|
|
|
7582
|
+
// src/lib/switch.ts
|
|
7583
|
+
function shellQuote(value) {
|
|
7584
|
+
if (/^[A-Za-z0-9_./:=@+-]+$/.test(value))
|
|
7585
|
+
return value;
|
|
7586
|
+
return `'${value.replaceAll("'", "'\\''")}'`;
|
|
7587
|
+
}
|
|
7588
|
+
function commandLine(env2, command) {
|
|
7589
|
+
return `${formatEnvAssignments(env2)} ${command.map(shellQuote).join(" ")}`.trim();
|
|
7590
|
+
}
|
|
7591
|
+
function commandFor(tool, opts) {
|
|
7592
|
+
return [tool.bin, ...opts.resume ? tool.resumeArgs ?? [] : [], ...opts.args ?? []];
|
|
7593
|
+
}
|
|
7594
|
+
function switchProfile(name, opts = {}) {
|
|
7595
|
+
const profile = getProfile(name, opts.tool);
|
|
7596
|
+
const tool = getTool(profile.tool);
|
|
7597
|
+
const mode = opts.mode ?? "auto";
|
|
7598
|
+
if (!["auto", "apply", "env", "active"].includes(mode)) {
|
|
7599
|
+
throw new AccountsError(`invalid switch mode "${mode}"`);
|
|
7600
|
+
}
|
|
7601
|
+
const env2 = profileEnv(profile, tool);
|
|
7602
|
+
let applied = false;
|
|
7603
|
+
if (mode === "apply" || mode === "auto" && tool.id === "claude") {
|
|
7604
|
+
applyProfile(name, tool.id);
|
|
7605
|
+
applied = true;
|
|
7606
|
+
} else {
|
|
7607
|
+
useProfile(name, tool.id);
|
|
7608
|
+
}
|
|
7609
|
+
const command = commandFor(tool, opts);
|
|
7610
|
+
const restartRequired = opts.resume === true || applied || mode === "env";
|
|
7611
|
+
const message = applied ? `${profile.name} is now the live/default ${tool.label} profile` : `${profile.name} is now the active ${tool.label} profile`;
|
|
7612
|
+
return {
|
|
7613
|
+
profile: getProfile(name, tool.id),
|
|
7614
|
+
tool,
|
|
7615
|
+
applied,
|
|
7616
|
+
active: true,
|
|
7617
|
+
env: env2,
|
|
7618
|
+
exports: formatExportLines(env2),
|
|
7619
|
+
command,
|
|
7620
|
+
commandLine: commandLine(env2, command),
|
|
7621
|
+
restartRequired,
|
|
7622
|
+
message
|
|
7623
|
+
};
|
|
7624
|
+
}
|
|
7625
|
+
|
|
7578
7626
|
// src/cli.ts
|
|
7579
7627
|
var program2 = new Command;
|
|
7580
7628
|
function die(message) {
|
|
@@ -7730,6 +7778,30 @@ program2.command("applied").argument("[tool]", "tool id (default: claude)").desc
|
|
|
7730
7778
|
die(`no applied profile for "${tool}". Run \`accounts apply <name>\` first.`);
|
|
7731
7779
|
console.log(p.name);
|
|
7732
7780
|
}));
|
|
7781
|
+
program2.command("switch").argument("<name>", "profile name").argument("[args...]", "extra args passed when printing/launching the tool").description("switch to a profile and print a restart/resume command; use --launch to run it").option("-t, --tool <tool>", "tool when the profile name exists for multiple tools").option("--mode <mode>", "switch mode: auto, apply, env, active", "auto").option("--resume", "include the tool's resume/continue args in the handoff command").option("--launch", "launch the tool after switching").option("--json", "output JSON").action(action((name, args, opts) => {
|
|
7782
|
+
const result = switchProfile(name, { tool: opts.tool, mode: opts.mode, resume: opts.resume, args });
|
|
7783
|
+
if (opts.json) {
|
|
7784
|
+
console.log(JSON.stringify(result, null, 2));
|
|
7785
|
+
} else {
|
|
7786
|
+
console.log(source_default.green(`✓ ${result.message}`));
|
|
7787
|
+
if (result.applied)
|
|
7788
|
+
console.log(source_default.dim(" live/default auth updated"));
|
|
7789
|
+
console.log(source_default.dim(` restart command: ${result.commandLine}`));
|
|
7790
|
+
if (!opts.launch) {
|
|
7791
|
+
console.log(source_default.yellow(" Exit the current agent session, then run the restart command above."));
|
|
7792
|
+
}
|
|
7793
|
+
}
|
|
7794
|
+
if (opts.launch) {
|
|
7795
|
+
const [bin, ...launchArgs] = result.command;
|
|
7796
|
+
const res = spawnSync(bin, launchArgs, {
|
|
7797
|
+
stdio: "inherit",
|
|
7798
|
+
env: { ...process.env, ...result.env }
|
|
7799
|
+
});
|
|
7800
|
+
if (res.error)
|
|
7801
|
+
die(`failed to launch ${bin}: ${res.error.message}`);
|
|
7802
|
+
process.exit(res.status ?? 0);
|
|
7803
|
+
}
|
|
7804
|
+
}));
|
|
7733
7805
|
var hook = program2.command("hook").description("install a shell wrapper for claude");
|
|
7734
7806
|
hook.command("install").description(`write ${join10(accountsHome(), "claude-hook.sh")}`).action(action(() => {
|
|
7735
7807
|
const { path, created } = installHook();
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export { importProfile, ensureProfileForLogin } from "./lib/import-profile.js";
|
|
|
10
10
|
export type { ImportOptions } from "./lib/import-profile.js";
|
|
11
11
|
export { finalizeLogin } from "./lib/login.js";
|
|
12
12
|
export type { FinalizeLoginResult } from "./lib/login.js";
|
|
13
|
+
export { switchProfile } from "./lib/switch.js";
|
|
14
|
+
export type { SwitchMode, SwitchOptions, SwitchResult } from "./lib/switch.js";
|
|
13
15
|
export { pickProfile } from "./lib/pick.js";
|
|
14
16
|
export type { PickOptions, PickResult } from "./lib/pick.js";
|
|
15
17
|
export { installHook, uninstallHook, hookPath, hookScript, shellSnippet } from "./lib/hook.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,YAAY,EACZ,OAAO,EACP,SAAS,EACT,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,YAAY,EACZ,OAAO,EACP,SAAS,EACT,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3998,6 +3998,7 @@ var toolDefSchema = exports_external.object({
|
|
|
3998
3998
|
bin: exports_external.string().min(1),
|
|
3999
3999
|
loginArgs: exports_external.array(exports_external.string()).optional(),
|
|
4000
4000
|
loginHint: exports_external.string().optional(),
|
|
4001
|
+
resumeArgs: exports_external.array(exports_external.string()).optional(),
|
|
4001
4002
|
accountFile: exports_external.string().optional(),
|
|
4002
4003
|
emailPath: exports_external.array(exports_external.string()).optional()
|
|
4003
4004
|
});
|
|
@@ -4162,6 +4163,7 @@ var BUILTIN_TOOLS = [
|
|
|
4162
4163
|
defaultDir: join2(homedir2(), ".claude"),
|
|
4163
4164
|
bin: "claude",
|
|
4164
4165
|
loginHint: "run /login inside Claude, then /exit when done",
|
|
4166
|
+
resumeArgs: ["--continue"],
|
|
4165
4167
|
accountFile: ".claude.json",
|
|
4166
4168
|
emailPath: ["oauthAccount", "emailAddress"]
|
|
4167
4169
|
},
|
|
@@ -4172,7 +4174,8 @@ var BUILTIN_TOOLS = [
|
|
|
4172
4174
|
defaultDir: join2(homedir2(), ".codex"),
|
|
4173
4175
|
bin: "codex",
|
|
4174
4176
|
loginArgs: ["login"],
|
|
4175
|
-
loginHint: "complete the Codex login flow for this CODEX_HOME"
|
|
4177
|
+
loginHint: "complete the Codex login flow for this CODEX_HOME",
|
|
4178
|
+
resumeArgs: ["resume", "--last"]
|
|
4176
4179
|
},
|
|
4177
4180
|
{
|
|
4178
4181
|
id: "opencode",
|
|
@@ -4185,7 +4188,8 @@ var BUILTIN_TOOLS = [
|
|
|
4185
4188
|
defaultDir: join2(homedir2(), ".config", "opencode"),
|
|
4186
4189
|
bin: "opencode",
|
|
4187
4190
|
loginArgs: ["auth", "login"],
|
|
4188
|
-
loginHint: "complete opencode auth login for this isolated config/data root"
|
|
4191
|
+
loginHint: "complete opencode auth login for this isolated config/data root",
|
|
4192
|
+
resumeArgs: ["--continue"]
|
|
4189
4193
|
},
|
|
4190
4194
|
{
|
|
4191
4195
|
id: "cursor",
|
|
@@ -4891,6 +4895,49 @@ function finalizeLogin(name, toolId) {
|
|
|
4891
4895
|
useProfile(name, tool.id);
|
|
4892
4896
|
return { profile: updated, applied: false };
|
|
4893
4897
|
}
|
|
4898
|
+
// src/lib/switch.ts
|
|
4899
|
+
function shellQuote(value) {
|
|
4900
|
+
if (/^[A-Za-z0-9_./:=@+-]+$/.test(value))
|
|
4901
|
+
return value;
|
|
4902
|
+
return `'${value.replaceAll("'", "'\\''")}'`;
|
|
4903
|
+
}
|
|
4904
|
+
function commandLine(env, command) {
|
|
4905
|
+
return `${formatEnvAssignments(env)} ${command.map(shellQuote).join(" ")}`.trim();
|
|
4906
|
+
}
|
|
4907
|
+
function commandFor(tool, opts) {
|
|
4908
|
+
return [tool.bin, ...opts.resume ? tool.resumeArgs ?? [] : [], ...opts.args ?? []];
|
|
4909
|
+
}
|
|
4910
|
+
function switchProfile(name, opts = {}) {
|
|
4911
|
+
const profile = getProfile(name, opts.tool);
|
|
4912
|
+
const tool = getTool(profile.tool);
|
|
4913
|
+
const mode = opts.mode ?? "auto";
|
|
4914
|
+
if (!["auto", "apply", "env", "active"].includes(mode)) {
|
|
4915
|
+
throw new AccountsError(`invalid switch mode "${mode}"`);
|
|
4916
|
+
}
|
|
4917
|
+
const env = profileEnv(profile, tool);
|
|
4918
|
+
let applied = false;
|
|
4919
|
+
if (mode === "apply" || mode === "auto" && tool.id === "claude") {
|
|
4920
|
+
applyProfile(name, tool.id);
|
|
4921
|
+
applied = true;
|
|
4922
|
+
} else {
|
|
4923
|
+
useProfile(name, tool.id);
|
|
4924
|
+
}
|
|
4925
|
+
const command = commandFor(tool, opts);
|
|
4926
|
+
const restartRequired = opts.resume === true || applied || mode === "env";
|
|
4927
|
+
const message = applied ? `${profile.name} is now the live/default ${tool.label} profile` : `${profile.name} is now the active ${tool.label} profile`;
|
|
4928
|
+
return {
|
|
4929
|
+
profile: getProfile(name, tool.id),
|
|
4930
|
+
tool,
|
|
4931
|
+
applied,
|
|
4932
|
+
active: true,
|
|
4933
|
+
env,
|
|
4934
|
+
exports: formatExportLines(env),
|
|
4935
|
+
command,
|
|
4936
|
+
commandLine: commandLine(env, command),
|
|
4937
|
+
restartRequired,
|
|
4938
|
+
message
|
|
4939
|
+
};
|
|
4940
|
+
}
|
|
4894
4941
|
// src/lib/pick.ts
|
|
4895
4942
|
import * as readline from "node:readline/promises";
|
|
4896
4943
|
import { stdin as input, stdout as output } from "node:process";
|
|
@@ -4990,6 +5037,7 @@ export {
|
|
|
4990
5037
|
updateProfile,
|
|
4991
5038
|
uninstallHook,
|
|
4992
5039
|
toolDefSchema,
|
|
5040
|
+
switchProfile,
|
|
4993
5041
|
storeSchema,
|
|
4994
5042
|
storePath,
|
|
4995
5043
|
snapshotLiveAuthToProfile,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Profile, ToolDef } from "../types.js";
|
|
2
|
+
export type SwitchMode = "auto" | "apply" | "env" | "active";
|
|
3
|
+
export interface SwitchOptions {
|
|
4
|
+
tool?: string;
|
|
5
|
+
mode?: SwitchMode;
|
|
6
|
+
resume?: boolean;
|
|
7
|
+
args?: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface SwitchResult {
|
|
10
|
+
profile: Profile;
|
|
11
|
+
tool: ToolDef;
|
|
12
|
+
applied: boolean;
|
|
13
|
+
active: boolean;
|
|
14
|
+
env: Record<string, string>;
|
|
15
|
+
exports: string;
|
|
16
|
+
command: string[];
|
|
17
|
+
commandLine: string;
|
|
18
|
+
restartRequired: boolean;
|
|
19
|
+
message: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function switchProfile(name: string, opts?: SwitchOptions): SwitchResult;
|
|
22
|
+
//# sourceMappingURL=switch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/lib/switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAeD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,YAAY,CAmClF"}
|
package/dist/lib/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/lib/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,aAAa,CAAC;AAGzE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/lib/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,aAAa,CAAC;AAGzE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,EA+DlC,CAAC;AAEF,eAAO,MAAM,YAAY,WAAW,CAAC;AAIrC,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,oFAAoF;AACpF,wBAAgB,SAAS,IAAI,OAAO,EAAE,CAMrC;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAS3C;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAanD;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAWjD"}
|
package/dist/mcp.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":""}
|