claude-use 11.52.0 → 11.53.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/dist/index.cjs CHANGED
@@ -165,13 +165,13 @@ function resolveStatusline(settings) {
165
165
  }
166
166
  return resolved;
167
167
  }
168
- var import_zod, STATUSLINE_HEADER_SEGMENTS, STATUSLINE_ROWS, STATUSLINE_COLOUR_NAMES, MAX_PERCENT, MAX_STATUSLINE_PALETTE_INDEX, MAX_STATUSLINE_LABEL_CHARS, MAX_BAR_CELLS, LABEL_RE2, colourValue, GRAPHEMES, barCharacter, labelText, wholePercent, SHAPES, StatuslineSchema, ResolvedStatuslineSchema, STATUSLINE_DEFAULTS, STATUSLINE_ENV;
168
+ var import_zod, STATUSLINE_HEADER_SEGMENTS, STATUSLINE_ROWS, STATUSLINE_COLOUR_NAMES, DEFAULT_HEADER_SEGMENTS, DEFAULT_ROWS, STATUSLINE_PATH_LEVELS, MAX_PERCENT, MAX_STATUSLINE_PALETTE_INDEX, MAX_STATUSLINE_LABEL_CHARS, MAX_BAR_CELLS, LABEL_RE2, colourValue, GRAPHEMES, barCharacter, labelText, wholePercent, SHAPES, StatuslineSchema, ResolvedStatuslineSchema, STATUSLINE_DEFAULTS, STATUSLINE_ENV;
169
169
  var init_statusline = __esm({
170
170
  "src/config/statusline.ts"() {
171
171
  "use strict";
172
172
  import_zod = require("zod");
173
- STATUSLINE_HEADER_SEGMENTS = ["model", "provider", "route", "account", "identity", "headroom"];
174
- STATUSLINE_ROWS = ["context", "quota"];
173
+ STATUSLINE_HEADER_SEGMENTS = ["model", "provider", "route", "account", "identity", "headroom", "project", "vcs"];
174
+ STATUSLINE_ROWS = ["context", "quota", "addedDirs", "gitFiles"];
175
175
  STATUSLINE_COLOUR_NAMES = [
176
176
  "default",
177
177
  "dim",
@@ -192,6 +192,9 @@ var init_statusline = __esm({
192
192
  "brightCyan",
193
193
  "brightWhite"
194
194
  ];
195
+ DEFAULT_HEADER_SEGMENTS = ["model", "provider", "route", "account", "identity", "headroom"];
196
+ DEFAULT_ROWS = ["context", "quota"];
197
+ STATUSLINE_PATH_LEVELS = ["1", "2", "3", "full"];
195
198
  MAX_PERCENT = 100;
196
199
  MAX_STATUSLINE_PALETTE_INDEX = 255;
197
200
  MAX_STATUSLINE_LABEL_CHARS = 12;
@@ -228,7 +231,28 @@ var init_statusline = __esm({
228
231
  critical: colourValue.describe("The colour of a bar at or above bands.criticalAt, and of a cache hit share that is nearly nothing."),
229
232
  model: colourValue.describe("The colour of the model and provider segments."),
230
233
  label: colourValue.describe("The colour of labels and secondary text: row labels, and the route, account, identity and headroom segments."),
231
- empty: colourValue.describe("The colour of the unused part of a bar.")
234
+ empty: colourValue.describe("The colour of the unused part of a bar."),
235
+ project: colourValue.describe("The colour of the project path segment."),
236
+ git: colourValue.describe("The colour of the version control segment's wrapper text (`git:(` and `)`)."),
237
+ gitBranch: colourValue.describe("The colour of the branch or bookmark and its ahead, behind and dirty markers.")
238
+ },
239
+ project: {
240
+ pathLevels: import_zod.z.enum(STATUSLINE_PATH_LEVELS).describe("How many trailing directories of the working directory the project segment shows: 1, 2 or 3, or full for the whole absolute path."),
241
+ addedDirsLayout: import_zod.z.enum(["inline", "row"]).describe("Where the directories added to the session are drawn: inline, as +name after the project path in the project segment, or row, as an Added dirs line when layout.rows lists addedDirs.")
242
+ },
243
+ git: {
244
+ enabled: import_zod.z.boolean().describe("Whether the vcs segment and the gitFiles row read the working directory's git status."),
245
+ showDirty: import_zod.z.boolean().describe("Whether the branch is followed by * when the working tree has uncommitted changes."),
246
+ showAheadBehind: import_zod.z.boolean().describe("Whether the branch is followed by the commits ahead of (up-arrow) and behind (down-arrow) its upstream."),
247
+ showLineDiff: import_zod.z.boolean().describe("Whether the segment shows the total lines added and removed against HEAD, as [+a -d]."),
248
+ branchOverflow: import_zod.z.enum(["truncate", "wrap"]).describe("How the vcs segment sits beside the project segment when they are listed next to each other: truncate keeps them as one unit the client cuts off at the terminal's edge, and wrap lets the line break between them."),
249
+ pushWarnAt: import_zod.z.number().int().min(0).describe("The count of unpushed commits at which the ahead marker takes colours.warning; 0 turns it off."),
250
+ pushCriticalAt: import_zod.z.number().int().min(0).describe("The count of unpushed commits at which the ahead marker takes colours.critical; 0 turns it off.")
251
+ },
252
+ jj: {
253
+ enabled: import_zod.z.boolean().describe("Whether the vcs segment reads a Jujutsu repository's status, instead of git's, when the working directory is inside one."),
254
+ showDirty: import_zod.z.boolean().describe("Whether the bookmark or change id is followed by * when the working-copy commit differs from its parent."),
255
+ showConflicts: import_zod.z.boolean().describe("Whether the segment shows !conflict when the working-copy commit has an unresolved conflict.")
232
256
  }
233
257
  };
234
258
  StatuslineSchema = import_zod.z.strictObject({
@@ -236,17 +260,23 @@ var init_statusline = __esm({
236
260
  bands: import_zod.z.strictObject(SHAPES.bands).partial().optional(),
237
261
  labels: import_zod.z.strictObject(SHAPES.labels).partial().optional(),
238
262
  bar: import_zod.z.strictObject(SHAPES.bar).partial().optional(),
239
- colours: import_zod.z.strictObject(SHAPES.colours).partial().optional()
263
+ colours: import_zod.z.strictObject(SHAPES.colours).partial().optional(),
264
+ project: import_zod.z.strictObject(SHAPES.project).partial().optional(),
265
+ git: import_zod.z.strictObject(SHAPES.git).partial().optional(),
266
+ jj: import_zod.z.strictObject(SHAPES.jj).partial().optional()
240
267
  });
241
268
  ResolvedStatuslineSchema = import_zod.z.strictObject({
242
269
  layout: import_zod.z.strictObject(SHAPES.layout),
243
270
  bands: import_zod.z.strictObject(SHAPES.bands),
244
271
  labels: import_zod.z.strictObject(SHAPES.labels),
245
272
  bar: import_zod.z.strictObject(SHAPES.bar),
246
- colours: import_zod.z.strictObject(SHAPES.colours)
273
+ colours: import_zod.z.strictObject(SHAPES.colours),
274
+ project: import_zod.z.strictObject(SHAPES.project),
275
+ git: import_zod.z.strictObject(SHAPES.git),
276
+ jj: import_zod.z.strictObject(SHAPES.jj)
247
277
  });
248
278
  STATUSLINE_DEFAULTS = {
249
- layout: { header: [...STATUSLINE_HEADER_SEGMENTS], rows: [...STATUSLINE_ROWS] },
279
+ layout: { header: [...DEFAULT_HEADER_SEGMENTS], rows: [...DEFAULT_ROWS] },
250
280
  bands: { warnAt: 70, criticalAt: 90 },
251
281
  labels: { fiveHour: "5h", sevenDay: "Wk" },
252
282
  bar: { width: 10, filled: "\u2588", empty: "\u2591" },
@@ -258,8 +288,14 @@ var init_statusline = __esm({
258
288
  critical: "red",
259
289
  model: "default",
260
290
  label: "default",
261
- empty: "brightBlack"
262
- }
291
+ empty: "brightBlack",
292
+ project: "yellow",
293
+ git: "magenta",
294
+ gitBranch: "cyan"
295
+ },
296
+ project: { pathLevels: "1", addedDirsLayout: "inline" },
297
+ git: { enabled: true, showDirty: true, showAheadBehind: false, showLineDiff: false, branchOverflow: "truncate", pushWarnAt: 0, pushCriticalAt: 0 },
298
+ jj: { enabled: false, showDirty: true, showConflicts: true }
263
299
  };
264
300
  STATUSLINE_ENV = "AGENT_SHIM_STATUSLINE";
265
301
  }
@@ -4325,7 +4361,7 @@ var init_package = __esm({
4325
4361
  "package.json"() {
4326
4362
  package_default = {
4327
4363
  name: "claude-use",
4328
- version: "11.52.0",
4364
+ version: "11.53.0",
4329
4365
  description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
4330
4366
  license: "MIT",
4331
4367
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -7501,6 +7537,9 @@ function keyOf(path43, leaf) {
7501
7537
  if (leaf instanceof import_zod15.z.ZodNumber) {
7502
7538
  return { ...common, kind: "integer", choices: [] };
7503
7539
  }
7540
+ if (leaf instanceof import_zod15.z.ZodBoolean) {
7541
+ return { ...common, kind: "boolean", choices: [] };
7542
+ }
7504
7543
  if (leaf instanceof import_zod15.z.ZodString) {
7505
7544
  return { ...common, kind: "text", choices: [] };
7506
7545
  }
package/dist/index.mjs CHANGED
@@ -144,12 +144,12 @@ function resolveStatusline(settings) {
144
144
  }
145
145
  return resolved;
146
146
  }
147
- var STATUSLINE_HEADER_SEGMENTS, STATUSLINE_ROWS, STATUSLINE_COLOUR_NAMES, MAX_PERCENT, MAX_STATUSLINE_PALETTE_INDEX, MAX_STATUSLINE_LABEL_CHARS, MAX_BAR_CELLS, LABEL_RE2, colourValue, GRAPHEMES, barCharacter, labelText, wholePercent, SHAPES, StatuslineSchema, ResolvedStatuslineSchema, STATUSLINE_DEFAULTS, STATUSLINE_ENV;
147
+ var STATUSLINE_HEADER_SEGMENTS, STATUSLINE_ROWS, STATUSLINE_COLOUR_NAMES, DEFAULT_HEADER_SEGMENTS, DEFAULT_ROWS, STATUSLINE_PATH_LEVELS, MAX_PERCENT, MAX_STATUSLINE_PALETTE_INDEX, MAX_STATUSLINE_LABEL_CHARS, MAX_BAR_CELLS, LABEL_RE2, colourValue, GRAPHEMES, barCharacter, labelText, wholePercent, SHAPES, StatuslineSchema, ResolvedStatuslineSchema, STATUSLINE_DEFAULTS, STATUSLINE_ENV;
148
148
  var init_statusline = __esm({
149
149
  "src/config/statusline.ts"() {
150
150
  "use strict";
151
- STATUSLINE_HEADER_SEGMENTS = ["model", "provider", "route", "account", "identity", "headroom"];
152
- STATUSLINE_ROWS = ["context", "quota"];
151
+ STATUSLINE_HEADER_SEGMENTS = ["model", "provider", "route", "account", "identity", "headroom", "project", "vcs"];
152
+ STATUSLINE_ROWS = ["context", "quota", "addedDirs", "gitFiles"];
153
153
  STATUSLINE_COLOUR_NAMES = [
154
154
  "default",
155
155
  "dim",
@@ -170,6 +170,9 @@ var init_statusline = __esm({
170
170
  "brightCyan",
171
171
  "brightWhite"
172
172
  ];
173
+ DEFAULT_HEADER_SEGMENTS = ["model", "provider", "route", "account", "identity", "headroom"];
174
+ DEFAULT_ROWS = ["context", "quota"];
175
+ STATUSLINE_PATH_LEVELS = ["1", "2", "3", "full"];
173
176
  MAX_PERCENT = 100;
174
177
  MAX_STATUSLINE_PALETTE_INDEX = 255;
175
178
  MAX_STATUSLINE_LABEL_CHARS = 12;
@@ -206,7 +209,28 @@ var init_statusline = __esm({
206
209
  critical: colourValue.describe("The colour of a bar at or above bands.criticalAt, and of a cache hit share that is nearly nothing."),
207
210
  model: colourValue.describe("The colour of the model and provider segments."),
208
211
  label: colourValue.describe("The colour of labels and secondary text: row labels, and the route, account, identity and headroom segments."),
209
- empty: colourValue.describe("The colour of the unused part of a bar.")
212
+ empty: colourValue.describe("The colour of the unused part of a bar."),
213
+ project: colourValue.describe("The colour of the project path segment."),
214
+ git: colourValue.describe("The colour of the version control segment's wrapper text (`git:(` and `)`)."),
215
+ gitBranch: colourValue.describe("The colour of the branch or bookmark and its ahead, behind and dirty markers.")
216
+ },
217
+ project: {
218
+ pathLevels: z.enum(STATUSLINE_PATH_LEVELS).describe("How many trailing directories of the working directory the project segment shows: 1, 2 or 3, or full for the whole absolute path."),
219
+ addedDirsLayout: z.enum(["inline", "row"]).describe("Where the directories added to the session are drawn: inline, as +name after the project path in the project segment, or row, as an Added dirs line when layout.rows lists addedDirs.")
220
+ },
221
+ git: {
222
+ enabled: z.boolean().describe("Whether the vcs segment and the gitFiles row read the working directory's git status."),
223
+ showDirty: z.boolean().describe("Whether the branch is followed by * when the working tree has uncommitted changes."),
224
+ showAheadBehind: z.boolean().describe("Whether the branch is followed by the commits ahead of (up-arrow) and behind (down-arrow) its upstream."),
225
+ showLineDiff: z.boolean().describe("Whether the segment shows the total lines added and removed against HEAD, as [+a -d]."),
226
+ branchOverflow: z.enum(["truncate", "wrap"]).describe("How the vcs segment sits beside the project segment when they are listed next to each other: truncate keeps them as one unit the client cuts off at the terminal's edge, and wrap lets the line break between them."),
227
+ pushWarnAt: z.number().int().min(0).describe("The count of unpushed commits at which the ahead marker takes colours.warning; 0 turns it off."),
228
+ pushCriticalAt: z.number().int().min(0).describe("The count of unpushed commits at which the ahead marker takes colours.critical; 0 turns it off.")
229
+ },
230
+ jj: {
231
+ enabled: z.boolean().describe("Whether the vcs segment reads a Jujutsu repository's status, instead of git's, when the working directory is inside one."),
232
+ showDirty: z.boolean().describe("Whether the bookmark or change id is followed by * when the working-copy commit differs from its parent."),
233
+ showConflicts: z.boolean().describe("Whether the segment shows !conflict when the working-copy commit has an unresolved conflict.")
210
234
  }
211
235
  };
212
236
  StatuslineSchema = z.strictObject({
@@ -214,17 +238,23 @@ var init_statusline = __esm({
214
238
  bands: z.strictObject(SHAPES.bands).partial().optional(),
215
239
  labels: z.strictObject(SHAPES.labels).partial().optional(),
216
240
  bar: z.strictObject(SHAPES.bar).partial().optional(),
217
- colours: z.strictObject(SHAPES.colours).partial().optional()
241
+ colours: z.strictObject(SHAPES.colours).partial().optional(),
242
+ project: z.strictObject(SHAPES.project).partial().optional(),
243
+ git: z.strictObject(SHAPES.git).partial().optional(),
244
+ jj: z.strictObject(SHAPES.jj).partial().optional()
218
245
  });
219
246
  ResolvedStatuslineSchema = z.strictObject({
220
247
  layout: z.strictObject(SHAPES.layout),
221
248
  bands: z.strictObject(SHAPES.bands),
222
249
  labels: z.strictObject(SHAPES.labels),
223
250
  bar: z.strictObject(SHAPES.bar),
224
- colours: z.strictObject(SHAPES.colours)
251
+ colours: z.strictObject(SHAPES.colours),
252
+ project: z.strictObject(SHAPES.project),
253
+ git: z.strictObject(SHAPES.git),
254
+ jj: z.strictObject(SHAPES.jj)
225
255
  });
226
256
  STATUSLINE_DEFAULTS = {
227
- layout: { header: [...STATUSLINE_HEADER_SEGMENTS], rows: [...STATUSLINE_ROWS] },
257
+ layout: { header: [...DEFAULT_HEADER_SEGMENTS], rows: [...DEFAULT_ROWS] },
228
258
  bands: { warnAt: 70, criticalAt: 90 },
229
259
  labels: { fiveHour: "5h", sevenDay: "Wk" },
230
260
  bar: { width: 10, filled: "\u2588", empty: "\u2591" },
@@ -236,8 +266,14 @@ var init_statusline = __esm({
236
266
  critical: "red",
237
267
  model: "default",
238
268
  label: "default",
239
- empty: "brightBlack"
240
- }
269
+ empty: "brightBlack",
270
+ project: "yellow",
271
+ git: "magenta",
272
+ gitBranch: "cyan"
273
+ },
274
+ project: { pathLevels: "1", addedDirsLayout: "inline" },
275
+ git: { enabled: true, showDirty: true, showAheadBehind: false, showLineDiff: false, branchOverflow: "truncate", pushWarnAt: 0, pushCriticalAt: 0 },
276
+ jj: { enabled: false, showDirty: true, showConflicts: true }
241
277
  };
242
278
  STATUSLINE_ENV = "AGENT_SHIM_STATUSLINE";
243
279
  }
@@ -4301,7 +4337,7 @@ var init_package = __esm({
4301
4337
  "package.json"() {
4302
4338
  package_default = {
4303
4339
  name: "claude-use",
4304
- version: "11.52.0",
4340
+ version: "11.53.0",
4305
4341
  description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
4306
4342
  license: "MIT",
4307
4343
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -7476,6 +7512,9 @@ function keyOf(path43, leaf) {
7476
7512
  if (leaf instanceof z15.ZodNumber) {
7477
7513
  return { ...common, kind: "integer", choices: [] };
7478
7514
  }
7515
+ if (leaf instanceof z15.ZodBoolean) {
7516
+ return { ...common, kind: "boolean", choices: [] };
7517
+ }
7479
7518
  if (leaf instanceof z15.ZodString) {
7480
7519
  return { ...common, kind: "text", choices: [] };
7481
7520
  }