@heyditto/cli 3.9.0 → 3.11.0

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 CHANGED
@@ -748,6 +748,44 @@ confirmed before it is replaced; `--unset` restores it. The key is long-lived
748
748
  rotated on the next run. Both files are shared with the Codex CLI, so a bare
749
749
  `codex` run routes through Ditto too; `heyditto codex` is unaffected.
750
750
 
751
+ ### `profile` — named endpoint profiles
752
+
753
+ A profile gives an endpoint a local name, so you can keep several (each with
754
+ its own MCP tools) and switch which one new sessions use. The active profile is
755
+ used whenever `--endpoint` is omitted; `--profile <name>` picks another for one
756
+ command and `DITTO_PROFILE=<name>` for one shell. `--endpoint` still wins over
757
+ both.
758
+
759
+ ```
760
+ heyditto profile list (* = active)
761
+ heyditto profile create <name> --endpoint <slug> [--inference cliproxy|router] [--use]
762
+ heyditto profile use <name> make it active (alias: switch)
763
+ heyditto profile set <name> [--endpoint <slug>] [--inference cliproxy|router]
764
+ heyditto profile rename <old> <new>
765
+ heyditto profile delete <name> not the active one (alias: rm)
766
+ ```
767
+
768
+ `--profile` works on `claude`, `codex`, `grok`, `codex-app`, `status`,
769
+ `t3 setup` and `endpoints list|create|show|use|pick|open`; `endpoints use
770
+ <slug> --profile subnet` re-points only that profile. An install that never
771
+ creates a profile behaves exactly as before: its saved default endpoint is the
772
+ implicit `default` profile. Creating the first profile saves that default as
773
+ profile `default` and keeps it active. The saved `defaultEndpoint` always
774
+ mirrors the active profile, so an older CLI on the same machine launches what
775
+ the active profile names. Profiles are local and hold no keys; they do not
776
+ change an endpoint's routing or policy. (`heyditto profiles`, plural, is an
777
+ older alias of `heyditto endpoints`.)
778
+
779
+ Two T3 providers, one per profile:
780
+
781
+ ```sh
782
+ heyditto profile create subnet --endpoint <subnet-endpoint-slug>
783
+ heyditto t3 setup --profile subnet --dry-run
784
+ # quit T3, then
785
+ heyditto t3 setup --profile subnet # adds "Claude Subnet" (claude_ditto_subnet_cliproxy)
786
+ heyditto profile use subnet # optional: new terminal sessions use it too
787
+ ```
788
+
751
789
  ### `endpoints`
752
790
 
753
791
  Manage the inference endpoints the launchers route through — a CLI mirror of
@@ -760,7 +798,7 @@ heyditto endpoints list --archived archived endpoints and when they wer
760
798
  heyditto endpoints create [--name <n>] [--slug <s>] [--model <id>] [--org <org>] [--default]
761
799
  heyditto endpoints move <endpoint> (--org <org> | --personal) change who owns and pays for it
762
800
  heyditto endpoints show <endpoint>
763
- heyditto endpoints use <endpoint> make it the default
801
+ heyditto endpoints use <endpoint> make it the default (of the active profile, or --profile <name>)
764
802
  heyditto endpoints pick choose the default interactively
765
803
  heyditto endpoints open [endpoint] open the editor in the Ditto app
766
804
  heyditto endpoints set <endpoint> [settings flags — see the table below]
@@ -1200,7 +1238,8 @@ was created but whose push failed reports `has no generations yet`.
1200
1238
  - `DITTO_API_KEY` (optional) — MCP API key override. Agents can instead run `heyditto init --json` for no-human setup.
1201
1239
  - `DITTO_API_BASE` (optional) — API base URL. Defaults to `https://api.heyditto.ai`. Useful for local dev (`http://localhost:3400`).
1202
1240
  - `DITTO_SESSION_ID` (optional) — pin an explicit MCP session id for this shell (see `session`).
1203
- - `DITTO_CONFIG_DIR` (optional) — config directory for the saved key, default endpoint and session records. Defaults to `$XDG_CONFIG_HOME/heyditto/cli` or `~/.config/heyditto/cli`.
1241
+ - `DITTO_PROFILE` (optional) — endpoint profile for this shell, overriding the active one (see `profile`).
1242
+ - `DITTO_CONFIG_DIR` (optional) — config directory for the saved key, endpoint profiles and session records. Defaults to `$XDG_CONFIG_HOME/heyditto/cli` or `~/.config/heyditto/cli`.
1204
1243
 
1205
1244
  ## Output
1206
1245
 
@@ -1257,7 +1296,9 @@ A `.ditto/endpoints/<name>.toml` is a Router profile checked into the repository
1257
1296
  model, routing, tools, and the Claude Code or Codex system prompt, which is read
1258
1297
  from a file next to it. `repository.default_endpoint` in `.ditto/config.toml`
1259
1298
  names the profile that `heyditto claude` / `codex` use when no `--endpoint` is
1260
- given, from anywhere inside the repository. `--endpoint` always wins.
1299
+ given, from anywhere inside the repository. `--endpoint` always wins;
1300
+ `--fallback-endpoint` (what the default T3 provider passes) applies only
1301
+ outside such a repository; profile T3 providers pin their endpoint.
1261
1302
 
1262
1303
  ```toml
1263
1304
  # .ditto/endpoints/dev.toml
@@ -1389,7 +1430,9 @@ discover laptop providers. Deploy the matching backend before enabling an endpoi
1389
1430
  For the official T3 Code app, preview a dedicated provider with
1390
1431
  `heyditto t3 setup --inference cliproxy --dry-run`, then quit T3 and rerun
1391
1432
  without `--dry-run`. Without `--endpoint`, setup uses your saved default, your
1392
- only endpoint, or a picker, and offers to create a first endpoint. This keeps inference on local CLIProxy and
1433
+ only endpoint, or a picker, and offers to create a first endpoint. With
1434
+ `--profile <name>` it uses that profile's endpoint and adds a separate provider
1435
+ for it (`subnet` → **Claude Subnet**), next to the existing one. This keeps inference on local CLIProxy and
1393
1436
  auto-connects the endpoint's MCP tools. Use `--inference router` for Ditto
1394
1437
  Router inference. See [the T3 setup guide](docs/t3-code.md) for paths, backups,
1395
1438
  limitations, and manual configuration.
@@ -8,6 +8,7 @@ import { createKey, findEndpoint, listEndpoints, revokeKey, updateEndpoint, } fr
8
8
  import { openInBrowser } from "../browser.js";
9
9
  import { endpointURL, resolveApiKey } from "../config.js";
10
10
  import { deviceLogin } from "../device-login.js";
11
+ import { addProfileOption, explicitProfileEndpoint, readDefaultEndpoint } from "../profiles.js";
11
12
  import { readStoredAuth, saveLogin, updateStoredAuth } from "../store.js";
12
13
  import { err as c } from "../ui.js";
13
14
  import { assertEndpointActive, pickEndpoint } from "./launch.js";
@@ -193,14 +194,14 @@ async function confirmYes(question) {
193
194
  async function resolveEndpointFor(options, selected) {
194
195
  const catalog = await listEndpoints();
195
196
  const endpoints = catalog.endpoints;
196
- const stored = (await readStoredAuth())?.defaultEndpoint;
197
- const wanted = options.endpoint?.trim();
197
+ const wanted = options.endpoint?.trim() || (await explicitProfileEndpoint())?.endpoint;
198
198
  if (wanted) {
199
199
  const match = findEndpoint(endpoints, wanted);
200
200
  if (match)
201
201
  return { endpoint: match, catalog };
202
202
  throw new Error(`no endpoint named "${wanted}". Available: ${endpoints.map((e) => e.slug).join(", ")}`);
203
203
  }
204
+ const stored = await readDefaultEndpoint();
204
205
  if (selected) {
205
206
  const match = findEndpoint(endpoints, selected.id) ?? findEndpoint(endpoints, selected.slug);
206
207
  if (match)
@@ -449,7 +450,7 @@ export async function runCodexApp(options) {
449
450
  }
450
451
  /** Registers `codex-app` on the program (which must have enablePositionalOptions()). */
451
452
  export function registerCodexAppCommand(program, addExamples) {
452
- addExamples(program
453
+ addExamples(addProfileOption(program
453
454
  .command("codex-app")
454
455
  .description('wire the Codex desktop app (ChatGPT.app) to a Ditto inference endpoint, so its models work behind the app\'s "Sign in with an API key"')
455
456
  .summary("wire the Codex desktop app to a Ditto endpoint")
@@ -467,7 +468,7 @@ export function registerCodexAppCommand(program, addExamples) {
467
468
  .option("--dry-run", "print what would be written without touching anything")
468
469
  .action(async (options) => {
469
470
  await runCodexApp(options);
470
- }), ` heyditto codex-app sign in, pick an endpoint, wire the app
471
+ })), ` heyditto codex-app sign in, pick an endpoint, wire the app
471
472
  heyditto codex-app --endpoint my-endpoint --budget 500000
472
473
  heyditto codex-app --model glm-5.3-flash pin the app's model
473
474
  heyditto codex-app --dry-run show what would be written
@@ -1 +1 @@
1
- {"version":3,"file":"codexapp.js","sourceRoot":"","sources":["../../src/agents/codexapp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codexapp.js","sourceRoot":"","sources":["../../src/agents/codexapp.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,12 @@ import { type InferenceEndpoint } from "../api.js";
2
2
  import { type Harness } from "./types.js";
3
3
  export interface LaunchOptions {
4
4
  endpoint?: string;
5
+ /**
6
+ * The endpoint to use only when nothing else names one: no --endpoint,
7
+ * --profile, resumed session or repository `.ditto/` default. T3 providers
8
+ * pass theirs here so a checkout's own profile still picks its endpoint.
9
+ */
10
+ fallbackEndpoint?: string;
5
11
  budget?: string;
6
12
  expires?: string;
7
13
  keepKey?: boolean;
@@ -50,6 +56,16 @@ export interface LaunchOptions {
50
56
  cliproxy?: string | boolean;
51
57
  remoteTransport?: "cli" | "channels";
52
58
  }
59
+ /**
60
+ * The default T3 provider's launcher from before --fallback-endpoint (no
61
+ * DITTO_T3_ENDPOINT_MODE) passes its DITTO_T3_ENDPOINT as --endpoint. That is
62
+ * the provider's default, so it is demoted to the fallback and a checkout's
63
+ * `.ditto/` default applies without rerunning setup. Old launchers of any
64
+ * other instance (profile providers) were a deliberate choice and stay
65
+ * pinned. The launcher's variables are then dropped, so a `heyditto` run
66
+ * inside the chat keeps its own --endpoint.
67
+ */
68
+ export declare function t3FallbackEndpoint(options: LaunchOptions, env?: NodeJS.ProcessEnv): LaunchOptions;
53
69
  /** Explicit flags (or resumed choices) win over repo/cloud launch defaults. */
54
70
  export declare function resolveClaudeLaunchDefaults(options: LaunchOptions, defaults?: Record<string, unknown>): LaunchOptions;
55
71
  /**
@@ -9,7 +9,8 @@ import { openInBrowser } from "../browser.js";
9
9
  import { apiBaseURL, configDir, endpointURL, resolveApiKey } from "../config.js";
10
10
  import { deviceLogin } from "../device-login.js";
11
11
  import { formatActivation } from "../endpoint-format.js";
12
- import { readStoredAuth, saveLogin, updateStoredAuth } from "../store.js";
12
+ import { explicitProfileEndpoint, readDefaultEndpoint, writeDefaultEndpoint } from "../profiles.js";
13
+ import { readStoredAuth, saveLogin } from "../store.js";
13
14
  import { findProfileEndpoint, repoDefaultProfile } from "../dittoconfig/profiles.js";
14
15
  import { err as c } from "../ui.js";
15
16
  import { holdNotesForTui, releaseNotes, writeNote } from "../terminal-note.js";
@@ -28,12 +29,33 @@ import { latestSession, readSession, sessionForHarnessId, writeSession } from ".
28
29
  import { canonicalCwd } from "../teleport/harness.js";
29
30
  import { DEFAULT_LAUNCH_EXPIRY, KEY_EXPIRIES, childEnv, maskKey, stripSeparator, } from "./types.js";
30
31
  import { defaultWorktreeName, ensureWorktree } from "./worktree.js";
32
+ import { DEFAULT_T3_INSTANCE } from "../t3/instance.js";
31
33
  import { RemoteSession } from "../remote/controller.js";
32
34
  import { startHeadlessTurn } from "../remote/headless.js";
33
35
  import { claudeHookSettings, codexNotifyOverride, hookScriptPath, startHookServer, withHookArgs } from "../remote/hooks.js";
34
36
  import { loadPty, spawnInPty } from "../remote/pty.js";
35
37
  import { remoteSessionURL, UNLINKABLE_SESSION_NOTICE } from "../remote/session-link.js";
36
38
  import { checkpointPush } from "../teleport/commands.js";
39
+ /**
40
+ * The default T3 provider's launcher from before --fallback-endpoint (no
41
+ * DITTO_T3_ENDPOINT_MODE) passes its DITTO_T3_ENDPOINT as --endpoint. That is
42
+ * the provider's default, so it is demoted to the fallback and a checkout's
43
+ * `.ditto/` default applies without rerunning setup. Old launchers of any
44
+ * other instance (profile providers) were a deliberate choice and stay
45
+ * pinned. The launcher's variables are then dropped, so a `heyditto` run
46
+ * inside the chat keeps its own --endpoint.
47
+ */
48
+ export function t3FallbackEndpoint(options, env = process.env) {
49
+ const fromLauncher = env.DITTO_T3_ENDPOINT?.trim();
50
+ const legacyDefault = env.DITTO_T3_ENDPOINT_MODE === undefined
51
+ && path.basename(path.dirname(path.resolve(env.CLAUDE_CONFIG_DIR ?? "/"))) === DEFAULT_T3_INSTANCE;
52
+ for (const k of T3_LAUNCHER_ENV)
53
+ delete env[k];
54
+ if (!fromLauncher || !legacyDefault || options.fallbackEndpoint !== undefined || options.endpoint?.trim() !== fromLauncher)
55
+ return options;
56
+ return { ...options, endpoint: undefined, fallbackEndpoint: fromLauncher };
57
+ }
58
+ const T3_LAUNCHER_ENV = ["DITTO_T3_ENDPOINT", "DITTO_T3_ENDPOINT_MODE", "DITTO_T3_INFERENCE", "DITTO_T3_HEYDITTO_BIN", "DITTO_T3_CLAUDE_BIN"];
37
59
  /** Explicit flags (or resumed choices) win over repo/cloud launch defaults. */
38
60
  export function resolveClaudeLaunchDefaults(options, defaults = {}) {
39
61
  const mcpOnly = options.cliproxy ? false : options.mcpOnly ?? (defaults.claude_inference === "native");
@@ -240,18 +262,18 @@ async function resolveEndpoint(wanted, endpoints, selected, readOnly = false) {
240
262
  if (!readOnly && interactive() && (await confirmYes("You have no inference endpoints yet. Create your first one now?"))) {
241
263
  const created = await createEndpoint({});
242
264
  log(`created endpoint ${created.slug} (model ${created.model})`);
243
- await updateStoredAuth({ defaultEndpoint: created.slug });
265
+ await writeDefaultEndpoint(created.slug);
244
266
  return created;
245
267
  }
246
268
  throw new Error(`you have no inference endpoints yet. Create one with \`heyditto endpoints create\`, or at ${endpointURL()}.`);
247
269
  }
248
- const stored = (await readStoredAuth())?.defaultEndpoint;
249
270
  if (wanted?.trim()) {
250
271
  const match = findEndpoint(endpoints, wanted);
251
272
  if (match)
252
273
  return match;
253
274
  throw new Error(`no endpoint named "${wanted.trim()}". Available: ${endpoints.map((e) => e.slug).join(", ")}`);
254
275
  }
276
+ const stored = await readDefaultEndpoint();
255
277
  if (selected) {
256
278
  // Chosen in the browser moments ago during the device login.
257
279
  const match = findEndpoint(endpoints, selected.id) ?? findEndpoint(endpoints, selected.slug);
@@ -269,7 +291,7 @@ async function resolveEndpoint(wanted, endpoints, selected, readOnly = false) {
269
291
  return endpoints[0];
270
292
  const picked = await pickEndpoint(endpoints, stored);
271
293
  if (!readOnly && (await confirmYes(`Use ${picked.slug} by default next time?`))) {
272
- await updateStoredAuth({ defaultEndpoint: picked.slug });
294
+ await writeDefaultEndpoint(picked.slug);
273
295
  log(`default endpoint set to ${picked.slug} (change it with \`heyditto endpoints use <slug>\`)`);
274
296
  }
275
297
  return picked;
@@ -281,8 +303,9 @@ async function resolveEndpoint(wanted, endpoints, selected, readOnly = false) {
281
303
  * `readOnly` (a dry run) never creates an endpoint or saves a default.
282
304
  */
283
305
  export async function chooseEndpoint(harness, readOnly = false) {
284
- const { selected, catalog } = await signInAndListEndpoints(harness, undefined, readOnly);
285
- return resolveEndpoint(undefined, catalog.endpoints, selected, readOnly);
306
+ const named = (await explicitProfileEndpoint())?.endpoint;
307
+ const { selected, catalog } = await signInAndListEndpoints(harness, named, readOnly);
308
+ return resolveEndpoint(named, catalog.endpoints, selected, readOnly);
286
309
  }
287
310
  /** Signs in when needed and lists endpoints; a dry run never opens the browser. */
288
311
  async function signInAndListEndpoints(harness, requestedEndpoint, dryRun) {
@@ -476,8 +499,18 @@ export async function launchHarness(harness, rawArgs, options) {
476
499
  const proxy = options.cliproxy ? await resolveCliProxy(options.cliproxy) : undefined;
477
500
  if (proxy)
478
501
  options = { ...options, cliproxy: proxy.baseUrl, mcpOnly: false };
479
- const requestedEndpoint = options.endpoint ?? record?.endpointSlug;
480
- const { selected, catalog } = await signInAndListEndpoints(harness, requestedEndpoint, Boolean(options.dryRun));
502
+ // An explicitly named profile (--profile, DITTO_PROFILE) counts as naming
503
+ // its endpoint, so it also beats a repository's .ditto default. Only the
504
+ // flag moves a resumed session off the endpoint it was recorded on; a
505
+ // shell-wide DITTO_PROFILE does not.
506
+ options = t3FallbackEndpoint(options);
507
+ const named = options.endpoint?.trim() ? undefined : await explicitProfileEndpoint();
508
+ const fromFlag = named?.source === "flag" ? named.endpoint : undefined;
509
+ const requestedEndpoint = options.endpoint ?? (fromFlag ?? record?.endpointSlug ?? named?.endpoint);
510
+ if (named)
511
+ log(`using profile ${named.name} → ${named.endpoint}`);
512
+ const fallbackEndpoint = options.fallbackEndpoint?.trim() || undefined;
513
+ const { selected, catalog } = await signInAndListEndpoints(harness, requestedEndpoint ?? fallbackEndpoint, Boolean(options.dryRun));
481
514
  // Sent as X-Ditto-Harness-Version so the router serves this release's own
482
515
  // prompts. Started only now that sign-in has succeeded (a failed login
483
516
  // never runs the harness) and awaited where the plan is built, so the
@@ -541,7 +574,9 @@ export async function launchHarness(harness, rawArgs, options) {
541
574
  log(`using ${profile.owner.kind === "org" ? `@${profile.owner.org}/` : ""}${endpoint.slug} from ${path.join(profile.repoDir, ".ditto")}`);
542
575
  }
543
576
  }
544
- endpoint ??= await resolveEndpoint(requestedEndpoint, catalog.endpoints, selected);
577
+ if (!endpoint && !requestedEndpoint?.trim() && fallbackEndpoint)
578
+ log(`using ${fallbackEndpoint} (no repository .ditto default here)`);
579
+ endpoint ??= await resolveEndpoint(requestedEndpoint?.trim() ? requestedEndpoint : fallbackEndpoint, catalog.endpoints, selected);
545
580
  const hooks = harness === "claude" ? await repoHooks(endpoint, repoProfile, cwd, Boolean(requestedEndpoint?.trim()), options.hooks !== false) : undefined;
546
581
  if (harness === "claude") {
547
582
  endpoint = { ...endpoint, providerOptions: { ...endpoint.providerOptions, ...repoLaunchDefaults } };
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/agents/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/agents/launch.ts"],"names":[],"mappings":"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"}