xtrm-tools 0.5.13 → 0.5.14

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.
@@ -6053,7 +6053,7 @@ var require_dist = __commonJS({
6053
6053
  });
6054
6054
  };
6055
6055
  }
6056
- var prompts7 = require_prompts();
6056
+ var prompts6 = require_prompts();
6057
6057
  var passOn = ["suggest", "format", "onState", "validate", "onRender", "type"];
6058
6058
  var noop = () => {
6059
6059
  };
@@ -6104,7 +6104,7 @@ var require_dist = __commonJS({
6104
6104
  var _question2 = question;
6105
6105
  name = _question2.name;
6106
6106
  type = _question2.type;
6107
- if (prompts7[type] === void 0) {
6107
+ if (prompts6[type] === void 0) {
6108
6108
  throw new Error(`prompt type (${type}) is not defined`);
6109
6109
  }
6110
6110
  if (override2[question.name] !== void 0) {
@@ -6115,7 +6115,7 @@ var require_dist = __commonJS({
6115
6115
  }
6116
6116
  }
6117
6117
  try {
6118
- answer = prompt._injected ? getInjectedAnswer(prompt._injected, question.initial) : yield prompts7[type](question);
6118
+ answer = prompt._injected ? getInjectedAnswer(prompt._injected, question.initial) : yield prompts6[type](question);
6119
6119
  answers[name] = answer = yield getFormattedAnswer(question, answer, true);
6120
6120
  quit = yield onSubmit(question, answer, answers);
6121
6121
  } catch (err) {
@@ -6147,7 +6147,7 @@ var require_dist = __commonJS({
6147
6147
  }
6148
6148
  module2.exports = Object.assign(prompt, {
6149
6149
  prompt,
6150
- prompts: prompts7,
6150
+ prompts: prompts6,
6151
6151
  inject,
6152
6152
  override
6153
6153
  });
@@ -8234,7 +8234,7 @@ var require_prompts2 = __commonJS({
8234
8234
  var require_lib = __commonJS({
8235
8235
  "../node_modules/prompts/lib/index.js"(exports2, module2) {
8236
8236
  "use strict";
8237
- var prompts7 = require_prompts2();
8237
+ var prompts6 = require_prompts2();
8238
8238
  var passOn = ["suggest", "format", "onState", "validate", "onRender", "type"];
8239
8239
  var noop = () => {
8240
8240
  };
@@ -8266,7 +8266,7 @@ var require_lib = __commonJS({
8266
8266
  throw new Error("prompt message is required");
8267
8267
  }
8268
8268
  ({ name, type } = question);
8269
- if (prompts7[type] === void 0) {
8269
+ if (prompts6[type] === void 0) {
8270
8270
  throw new Error(`prompt type (${type}) is not defined`);
8271
8271
  }
8272
8272
  if (override2[question.name] !== void 0) {
@@ -8277,7 +8277,7 @@ var require_lib = __commonJS({
8277
8277
  }
8278
8278
  }
8279
8279
  try {
8280
- answer = prompt._injected ? getInjectedAnswer(prompt._injected, question.initial) : await prompts7[type](question);
8280
+ answer = prompt._injected ? getInjectedAnswer(prompt._injected, question.initial) : await prompts6[type](question);
8281
8281
  answers[name] = answer = await getFormattedAnswer(question, answer, true);
8282
8282
  quit = await onSubmit(question, answer, answers);
8283
8283
  } catch (err) {
@@ -8300,7 +8300,7 @@ var require_lib = __commonJS({
8300
8300
  function override(answers) {
8301
8301
  prompt._override = Object.assign({}, answers);
8302
8302
  }
8303
- module2.exports = Object.assign(prompt, { prompt, prompts: prompts7, inject, override });
8303
+ module2.exports = Object.assign(prompt, { prompt, prompts: prompts6, inject, override });
8304
8304
  }
8305
8305
  });
8306
8306
 
@@ -33948,7 +33948,7 @@ function init(open, close) {
33948
33948
  var kleur_default = $;
33949
33949
 
33950
33950
  // src/commands/install.ts
33951
- var import_prompts2 = __toESM(require_prompts3(), 1);
33951
+ var import_prompts = __toESM(require_prompts3(), 1);
33952
33952
 
33953
33953
  // ../node_modules/eventemitter3/index.mjs
33954
33954
  var import_index2 = __toESM(require_eventemitter3(), 1);
@@ -36986,7 +36986,6 @@ var Conf = class {
36986
36986
  };
36987
36987
 
36988
36988
  // src/core/context.ts
36989
- var import_prompts = __toESM(require_prompts3(), 1);
36990
36989
  var config = null;
36991
36990
  function getConfig() {
36992
36991
  if (!config) {
@@ -37022,58 +37021,17 @@ function resolveTargets(selector, candidates) {
37022
37021
  }
37023
37022
  async function getContext(options = {}) {
37024
37023
  const { selector, createMissingDirs = true } = options;
37025
- const choices = [];
37026
37024
  const candidates = getCandidatePaths();
37027
37025
  const directTargets = resolveTargets(selector, candidates);
37028
- if (directTargets) {
37029
- const activeConfig2 = getConfig();
37030
- if (createMissingDirs) {
37031
- for (const target of directTargets) {
37032
- await import_fs_extra.default.ensureDir(target);
37033
- }
37034
- }
37035
- return {
37036
- targets: directTargets,
37037
- syncMode: activeConfig2.get("syncMode"),
37038
- config: activeConfig2
37039
- };
37040
- }
37041
37026
  const activeConfig = getConfig();
37042
- for (const c of candidates) {
37043
- const exists = await import_fs_extra.default.pathExists(c.path);
37044
- const icon = exists ? kleur_default.green("\u25CF") : kleur_default.gray("\u25CB");
37045
- const desc = exists ? "Found" : "Not found (will create)";
37046
- choices.push({
37047
- title: `${icon} ${c.label} (${c.path})`,
37048
- description: desc,
37049
- value: c.path,
37050
- selected: exists
37051
- // Pre-select existing environments
37052
- });
37053
- }
37054
- const response = await (0, import_prompts.default)({
37055
- type: "multiselect",
37056
- name: "targets",
37057
- message: "Select target environment(s):",
37058
- choices,
37059
- hint: "- Space to select. Return to submit",
37060
- instructions: false
37061
- });
37062
- if (response.targets === void 0) {
37063
- console.log(kleur_default.gray("\nCancelled."));
37064
- process.exit(130);
37065
- }
37066
- if (response.targets.length === 0) {
37067
- console.log(kleur_default.gray("No targets selected."));
37068
- process.exit(0);
37069
- }
37027
+ const selectedPaths = directTargets ?? candidates.map((c) => c.path);
37070
37028
  if (createMissingDirs) {
37071
- for (const target of response.targets) {
37029
+ for (const target of selectedPaths) {
37072
37030
  await import_fs_extra.default.ensureDir(target);
37073
37031
  }
37074
37032
  }
37075
37033
  return {
37076
- targets: response.targets,
37034
+ targets: selectedPaths,
37077
37035
  syncMode: activeConfig.get("syncMode"),
37078
37036
  config: activeConfig
37079
37037
  };
@@ -40160,7 +40118,7 @@ async function handleMissingEnvVars(missing) {
40160
40118
  if (missing.length === 0) {
40161
40119
  return true;
40162
40120
  }
40163
- const prompts7 = (await Promise.resolve().then(() => __toESM(require_prompts3(), 1))).default;
40121
+ const prompts6 = (await Promise.resolve().then(() => __toESM(require_prompts3(), 1))).default;
40164
40122
  const answers = {};
40165
40123
  for (const key of missing) {
40166
40124
  const config3 = REQUIRED_ENV_VARS[key];
@@ -40172,7 +40130,7 @@ async function handleMissingEnvVars(missing) {
40172
40130
  console.log(kleur_default.yellow(`
40173
40131
  \u26A0\uFE0F ${key} is required by a selected MCP server`));
40174
40132
  }
40175
- const { value } = await prompts7({
40133
+ const { value } = await prompts6({
40176
40134
  type: "text",
40177
40135
  name: "value",
40178
40136
  message: `Enter ${key}:`,
@@ -40385,8 +40343,8 @@ async function syncMcpServersWithCli(agent, mcpConfig, dryRun = false, prune = f
40385
40343
  }
40386
40344
  let selectedNames = toAdd.map(([name]) => name);
40387
40345
  if (!dryRun) {
40388
- const prompts7 = await Promise.resolve().then(() => __toESM(require_prompts3(), 1));
40389
- const { selected } = await prompts7.default({
40346
+ const prompts6 = await Promise.resolve().then(() => __toESM(require_prompts3(), 1));
40347
+ const { selected } = await prompts6.default({
40390
40348
  type: "multiselect",
40391
40349
  name: "selected",
40392
40350
  message: `Select MCP servers to install via ${agent} CLI:`,
@@ -41203,7 +41161,7 @@ function createInstallCommand() {
41203
41161
  const missing = [!beadsOk && "bd", !doltOk && "dolt"].filter(Boolean).join(", ");
41204
41162
  let doInstall = effectiveYes;
41205
41163
  if (!effectiveYes) {
41206
- const { install } = await (0, import_prompts2.default)({
41164
+ const { install } = await (0, import_prompts.default)({
41207
41165
  type: "confirm",
41208
41166
  name: "install",
41209
41167
  message: `Install beads + dolt? (${missing} not found) \u2014 required for workflow enforcement hooks`,
@@ -41289,7 +41247,7 @@ function createInstallCommand() {
41289
41247
  }
41290
41248
  if (!effectiveYes) {
41291
41249
  const totalChangesCount = allChanges.reduce((s, c) => s + c.totalChanges, 0);
41292
- const { confirm } = await (0, import_prompts2.default)({
41250
+ const { confirm } = await (0, import_prompts.default)({
41293
41251
  type: "confirm",
41294
41252
  name: "confirm",
41295
41253
  message: `Proceed with ${actionLabel} (${totalChangesCount} total changes)?`,
@@ -41482,7 +41440,7 @@ var import_node_os6 = require("os");
41482
41440
  var import_fs_extra13 = __toESM(require_lib2(), 1);
41483
41441
 
41484
41442
  // src/commands/install-pi.ts
41485
- var import_prompts3 = __toESM(require_prompts3(), 1);
41443
+ var import_prompts2 = __toESM(require_prompts3(), 1);
41486
41444
  var import_fs_extra12 = __toESM(require_lib2(), 1);
41487
41445
  var import_path12 = __toESM(require("path"), 1);
41488
41446
  var import_node_child_process4 = require("child_process");
@@ -41632,10 +41590,10 @@ function createInstallPiCommand() {
41632
41590
  continue;
41633
41591
  }
41634
41592
  if (!field.required && !yes) {
41635
- const { include } = await (0, import_prompts3.default)({ type: "confirm", name: "include", message: ` Configure ${field.label}? (optional)`, initial: false });
41593
+ const { include } = await (0, import_prompts2.default)({ type: "confirm", name: "include", message: ` Configure ${field.label}? (optional)`, initial: false });
41636
41594
  if (!include) continue;
41637
41595
  }
41638
- const { value } = await (0, import_prompts3.default)({ type: field.secret ? "password" : "text", name: "value", message: ` ${field.label}`, hint: field.hint, validate: (v) => field.required && !v ? "Required" : true });
41596
+ const { value } = await (0, import_prompts2.default)({ type: field.secret ? "password" : "text", name: "value", message: ` ${field.label}`, hint: field.hint, validate: (v) => field.required && !v ? "Required" : true });
41639
41597
  if (value) values[field.key] = value;
41640
41598
  }
41641
41599
  await import_fs_extra12.default.ensureDir(PI_AGENT_DIR2);
@@ -41644,7 +41602,7 @@ function createInstallPiCommand() {
41644
41602
  for (const name of ["models.json", "auth.json", "settings.json"]) {
41645
41603
  const destPath = import_path12.default.join(PI_AGENT_DIR2, name);
41646
41604
  if (name === "auth.json" && await import_fs_extra12.default.pathExists(destPath) && !yes) {
41647
- const { overwrite } = await (0, import_prompts3.default)({ type: "confirm", name: "overwrite", message: ` ${name} already exists \u2014 overwrite? (OAuth tokens will be lost)`, initial: false });
41605
+ const { overwrite } = await (0, import_prompts2.default)({ type: "confirm", name: "overwrite", message: ` ${name} already exists \u2014 overwrite? (OAuth tokens will be lost)`, initial: false });
41648
41606
  if (!overwrite) {
41649
41607
  console.log(t.muted(` skipped ${name}`));
41650
41608
  continue;
@@ -42049,7 +42007,7 @@ function getProjectRoot() {
42049
42007
  }
42050
42008
 
42051
42009
  // src/commands/status.ts
42052
- var import_prompts4 = __toESM(require_prompts3(), 1);
42010
+ var import_prompts3 = __toESM(require_prompts3(), 1);
42053
42011
 
42054
42012
  // src/core/manifest.ts
42055
42013
  var import_path16 = require("path");
@@ -55953,7 +55911,7 @@ function createStatusCommand() {
55953
55911
  console.log(kleur_default.yellow(`
55954
55912
  \u26A0 ${totalPending} pending change${totalPending !== 1 ? "s" : ""} across ${pending.length} environment${pending.length !== 1 ? "s" : ""}
55955
55913
  `));
55956
- const { selected } = await (0, import_prompts4.default)({
55914
+ const { selected } = await (0, import_prompts3.default)({
55957
55915
  type: "multiselect",
55958
55916
  name: "selected",
55959
55917
  message: "Select environments to sync:",
@@ -56450,7 +56408,7 @@ function createCleanCommand() {
56450
56408
  }
56451
56409
 
56452
56410
  // src/commands/end.ts
56453
- var import_prompts5 = __toESM(require_prompts3(), 1);
56411
+ var import_prompts4 = __toESM(require_prompts3(), 1);
56454
56412
  var import_node_child_process6 = require("child_process");
56455
56413
  function git(args, cwd) {
56456
56414
  const r = (0, import_node_child_process6.spawnSync)("git", args, { cwd, encoding: "utf8", stdio: "pipe" });
@@ -56604,7 +56562,7 @@ function createEndCommand() {
56604
56562
  if (!opts.keep) {
56605
56563
  let doRemove = opts.yes;
56606
56564
  if (!opts.yes) {
56607
- const { remove } = await (0, import_prompts5.default)({
56565
+ const { remove } = await (0, import_prompts4.default)({
56608
56566
  type: "confirm",
56609
56567
  name: "remove",
56610
56568
  message: `Remove local worktree at ${cwd}?`,
@@ -56638,7 +56596,7 @@ function createEndCommand() {
56638
56596
  }
56639
56597
 
56640
56598
  // src/commands/worktree.ts
56641
- var import_prompts6 = __toESM(require_prompts3(), 1);
56599
+ var import_prompts5 = __toESM(require_prompts3(), 1);
56642
56600
  var import_node_child_process7 = require("child_process");
56643
56601
  function listXtWorktrees(repoRoot) {
56644
56602
  const r = (0, import_node_child_process7.spawnSync)("git", ["worktree", "list", "--porcelain"], {
@@ -56719,7 +56677,7 @@ function createWorktreeCommand() {
56719
56677
  }
56720
56678
  let doRemove = opts.yes;
56721
56679
  if (!opts.yes) {
56722
- const { confirm } = await (0, import_prompts6.default)({
56680
+ const { confirm } = await (0, import_prompts5.default)({
56723
56681
  type: "confirm",
56724
56682
  name: "confirm",
56725
56683
  message: `Remove ${merged.length} worktree(s)?`,
@@ -56760,7 +56718,7 @@ function createWorktreeCommand() {
56760
56718
  }
56761
56719
  let doRemove = opts.yes;
56762
56720
  if (!opts.yes) {
56763
- const { confirm } = await (0, import_prompts6.default)({
56721
+ const { confirm } = await (0, import_prompts5.default)({
56764
56722
  type: "confirm",
56765
56723
  name: "confirm",
56766
56724
  message: `Remove ${target.path}?`,