rulesync 16.24.0 → 16.24.1

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.
@@ -22827,8 +22827,10 @@ function definitionsToHermesEntries({ event, sourceEvent = event, definitions, l
22827
22827
  for (const definition of definitions) {
22828
22828
  if ((definition.type ?? "command") !== "command" || typeof definition.command !== "string" || definition.command === "") continue;
22829
22829
  const entry = { command: definition.command };
22830
- if (typeof definition.matcher === "string" && definition.matcher !== "") if (supportsMatcher) entry.matcher = definition.matcher;
22831
- else logger?.warn(`matcher "${definition.matcher}" on "${sourceEvent}" hook will be ignored — Hermes Agent only supports matchers on pre_tool_call/post_tool_call`);
22830
+ if (typeof definition.matcher === "string" && definition.matcher !== "") {
22831
+ if (supportsMatcher) entry.matcher = definition.matcher;
22832
+ else logger?.warn(`matcher "${definition.matcher}" on "${sourceEvent}" hook will be ignored — Hermes Agent only supports matchers on pre_tool_call/post_tool_call`);
22833
+ }
22832
22834
  if (typeof definition.timeout === "number") entry.timeout = definition.timeout;
22833
22835
  if (typeof definition.failClosed === "boolean") {
22834
22836
  if (event === HERMESAGENT_FAIL_CLOSED_EVENT) entry.fail_closed = definition.failClosed;
@@ -24056,8 +24058,10 @@ function canonicalToKiroHooks({ config, logger }) {
24056
24058
  key: eventName
24057
24059
  }) ?? eventName;
24058
24060
  const entries = buildKiroEntriesForEvent(definitions);
24059
- if (entries.length > 0) if (kiro[kiroEventName]) kiro[kiroEventName].push(...entries);
24060
- else kiro[kiroEventName] = entries;
24061
+ if (entries.length > 0) {
24062
+ if (kiro[kiroEventName]) kiro[kiroEventName].push(...entries);
24063
+ else kiro[kiroEventName] = entries;
24064
+ }
24061
24065
  }
24062
24066
  return kiro;
24063
24067
  }
@@ -24883,8 +24887,10 @@ function canonicalToReasonixHooks({ config, toolOverrideHooks, logger }) {
24883
24887
  if ((def.type ?? "command") !== "command") continue;
24884
24888
  if (typeof def.command !== "string") continue;
24885
24889
  const entry = { command: def.command };
24886
- if (typeof def.matcher === "string" && def.matcher !== "") if (isMatcherEvent) entry.match = def.matcher;
24887
- else logger?.warn(`matcher "${def.matcher}" on "${event}" hook will be ignored — Reasonix's "${reasonixEvent}" event does not support matchers`);
24890
+ if (typeof def.matcher === "string" && def.matcher !== "") {
24891
+ if (isMatcherEvent) entry.match = def.matcher;
24892
+ else logger?.warn(`matcher "${def.matcher}" on "${event}" hook will be ignored — Reasonix's "${reasonixEvent}" event does not support matchers`);
24893
+ }
24888
24894
  if (typeof def.description === "string" && def.description !== "") entry.description = def.description;
24889
24895
  if (typeof def.timeout === "number") entry.timeout = Math.round(def.timeout * 1e3);
24890
24896
  entries.push(entry);
@@ -28452,12 +28458,16 @@ function convertFromCodexFormat(codexMcp) {
28452
28458
  } else if (key === "oauth" && isRecord$1(value)) converted[key] = mapOauthFromCodex(value);
28453
28459
  else if (Object.hasOwn(CODEX_TO_RULESYNC_FIELD_MAP, key)) {
28454
28460
  const mappedKey = CODEX_TO_RULESYNC_FIELD_MAP[key];
28455
- if (mappedKey) if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28456
- else warnWithFallback(void 0, `Ignored malformed array for ${key} in MCP server ${name}`);
28461
+ if (mappedKey) {
28462
+ if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28463
+ else warnWithFallback(void 0, `Ignored malformed array for ${key} in MCP server ${name}`);
28464
+ }
28457
28465
  } else if (Object.hasOwn(CODEX_TO_RULESYNC_SCALAR_FIELD_MAP, key)) {
28458
28466
  const mappedKey = CODEX_TO_RULESYNC_SCALAR_FIELD_MAP[key];
28459
- if (mappedKey) if (typeof value === "string") converted[mappedKey] = value;
28460
- else warnWithFallback(void 0, `Ignored malformed value for ${key} in MCP server ${name}: expected a string`);
28467
+ if (mappedKey) {
28468
+ if (typeof value === "string") converted[mappedKey] = value;
28469
+ else warnWithFallback(void 0, `Ignored malformed value for ${key} in MCP server ${name}: expected a string`);
28470
+ }
28461
28471
  } else converted[key] = value;
28462
28472
  }
28463
28473
  restateCanonicalTransport(converted);
@@ -28489,12 +28499,16 @@ function convertToCodexFormat(mcpServers) {
28489
28499
  } else if (key === "oauth" && isRecord$1(value)) converted[key] = mapOauthToCodex(value);
28490
28500
  else if (Object.hasOwn(RULESYNC_TO_CODEX_FIELD_MAP, key)) {
28491
28501
  const mappedKey = RULESYNC_TO_CODEX_FIELD_MAP[key];
28492
- if (mappedKey) if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28493
- else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string array, got ${typeof value}`);
28502
+ if (mappedKey) {
28503
+ if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28504
+ else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string array, got ${typeof value}`);
28505
+ }
28494
28506
  } else if (Object.hasOwn(RULESYNC_TO_CODEX_SCALAR_FIELD_MAP, key)) {
28495
28507
  const mappedKey = RULESYNC_TO_CODEX_SCALAR_FIELD_MAP[key];
28496
- if (mappedKey) if (typeof value === "string") converted[mappedKey] = value;
28497
- else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string, got ${typeof value}`);
28508
+ if (mappedKey) {
28509
+ if (typeof value === "string") converted[mappedKey] = value;
28510
+ else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string, got ${typeof value}`);
28511
+ }
28498
28512
  } else converted[key] = value;
28499
28513
  }
28500
28514
  const previousName = originalNames.get(codexName);
@@ -28738,8 +28752,10 @@ function resolveRemoteMcpUrl(serverConfig) {
28738
28752
  /** The `command` array a `local` server is spawned with, `args` merged in. */
28739
28753
  function resolveLocalMcpCommand(serverConfig) {
28740
28754
  const commandArray = [];
28741
- if (serverConfig.command) if (Array.isArray(serverConfig.command)) commandArray.push(...serverConfig.command);
28742
- else commandArray.push(serverConfig.command);
28755
+ if (serverConfig.command) {
28756
+ if (Array.isArray(serverConfig.command)) commandArray.push(...serverConfig.command);
28757
+ else commandArray.push(serverConfig.command);
28758
+ }
28743
28759
  if (serverConfig.args) commandArray.push(...serverConfig.args);
28744
28760
  return commandArray;
28745
28761
  }
@@ -29276,8 +29292,10 @@ function toDeepagentsServer({ name, server, logger }) {
29276
29292
  const { enabledTools, disabledTools, type: _type, transport, ...rest } = server;
29277
29293
  const converted = { ...rest };
29278
29294
  const normalized = normalizeDeepagentsTransport(rawTransport);
29279
- if (normalized !== void 0) if (transport !== void 0) converted.transport = normalized;
29280
- else converted.type = normalized;
29295
+ if (normalized !== void 0) {
29296
+ if (transport !== void 0) converted.transport = normalized;
29297
+ else converted.type = normalized;
29298
+ }
29281
29299
  if (enabledTools !== void 0 && disabledTools !== void 0) return warnAndSkipMcpServer({
29282
29300
  toolName: TOOL_NAME,
29283
29301
  serverName: name,
@@ -29292,8 +29310,10 @@ function toDeepagentsServer({ name, server, logger }) {
29292
29310
  logger
29293
29311
  });
29294
29312
  converted.allowedTools = enabledTools;
29295
- } else if (disabledTools !== void 0) if (disabledTools.length === 0) logger?.warn(`${TOOL_NAME} MCP: dropping the empty disabledTools list on "${name}"; it denies nothing, and deepagents rejects the empty form.`);
29296
- else converted.disabledTools = disabledTools;
29313
+ } else if (disabledTools !== void 0) {
29314
+ if (disabledTools.length === 0) logger?.warn(`${TOOL_NAME} MCP: dropping the empty disabledTools list on "${name}"; it denies nothing, and deepagents rejects the empty form.`);
29315
+ else converted.disabledTools = disabledTools;
29316
+ }
29297
29317
  return converted;
29298
29318
  }
29299
29319
  /** Lift dcode's spellings back into the canonical model. */
@@ -32230,14 +32250,16 @@ function rulesyncMcpServerToReasonix(name, server, logger) {
32230
32250
  name,
32231
32251
  ...type !== void 0 && { type }
32232
32252
  };
32233
- if (server.command !== void 0) if (Array.isArray(server.command)) {
32234
- const [command, ...commandArgs] = server.command;
32235
- if (command !== void 0) plugin.command = command;
32236
- const args = [...commandArgs, ...server.args ?? []];
32237
- if (args.length > 0) plugin.args = args;
32238
- } else {
32239
- plugin.command = server.command;
32240
- if (server.args !== void 0) plugin.args = server.args;
32253
+ if (server.command !== void 0) {
32254
+ if (Array.isArray(server.command)) {
32255
+ const [command, ...commandArgs] = server.command;
32256
+ if (command !== void 0) plugin.command = command;
32257
+ const args = [...commandArgs, ...server.args ?? []];
32258
+ if (args.length > 0) plugin.args = args;
32259
+ } else {
32260
+ plugin.command = server.command;
32261
+ if (server.args !== void 0) plugin.args = server.args;
32262
+ }
32241
32263
  }
32242
32264
  for (const field of REASONIX_PLUGIN_FIELDS) {
32243
32265
  if (field === "type" || field === "command" || field === "args") continue;
@@ -33305,14 +33327,16 @@ function rulesyncMcpServerToVibe(name, server, existing) {
33305
33327
  name,
33306
33328
  ...transport !== void 0 && { transport }
33307
33329
  };
33308
- if (server.command !== void 0) if (Array.isArray(server.command)) {
33309
- const [command, ...commandArgs] = server.command;
33310
- if (command !== void 0) vibeServer.command = command;
33311
- const args = [...commandArgs, ...server.args ?? []];
33312
- if (args.length > 0) vibeServer.args = args;
33313
- } else {
33314
- vibeServer.command = server.command;
33315
- if (server.args !== void 0) vibeServer.args = server.args;
33330
+ if (server.command !== void 0) {
33331
+ if (Array.isArray(server.command)) {
33332
+ const [command, ...commandArgs] = server.command;
33333
+ if (command !== void 0) vibeServer.command = command;
33334
+ const args = [...commandArgs, ...server.args ?? []];
33335
+ if (args.length > 0) vibeServer.args = args;
33336
+ } else {
33337
+ vibeServer.command = server.command;
33338
+ if (server.args !== void 0) vibeServer.args = server.args;
33339
+ }
33316
33340
  }
33317
33341
  const hasStructuredAuth = serverRecord.auth !== void 0;
33318
33342
  for (const field of VIBE_MCP_SERVER_FIELDS) {
@@ -65210,8 +65234,10 @@ var RooRule = class RooRule extends ToolRule {
65210
65234
  nonRootPath: this.getSettablePaths().nonRoot
65211
65235
  });
65212
65236
  const mode = rulesyncRule.getFrontmatter().roo?.mode;
65213
- if (!params.root && mode !== void 0 && mode !== "") if (!ROO_MODE_SLUG_PATTERN.test(mode)) warnWithFallback(void 0, `Ignoring roo.mode "${mode}" on ${rulesyncRule.getRelativeFilePath()}: a mode slug may contain only letters, digits and hyphens. Writing the rule to ${params.relativeDirPath} instead.`);
65214
- else params.relativeDirPath = (0, node_path.join)((0, node_path.dirname)(params.relativeDirPath), rooModeRulesDirName(mode));
65237
+ if (!params.root && mode !== void 0 && mode !== "") {
65238
+ if (!ROO_MODE_SLUG_PATTERN.test(mode)) warnWithFallback(void 0, `Ignoring roo.mode "${mode}" on ${rulesyncRule.getRelativeFilePath()}: a mode slug may contain only letters, digits and hyphens. Writing the rule to ${params.relativeDirPath} instead.`);
65239
+ else params.relativeDirPath = (0, node_path.join)((0, node_path.dirname)(params.relativeDirPath), rooModeRulesDirName(mode));
65240
+ }
65215
65241
  return new RooRule(params);
65216
65242
  }
65217
65243
  /**
@@ -22802,8 +22802,10 @@ function definitionsToHermesEntries({ event, sourceEvent = event, definitions, l
22802
22802
  for (const definition of definitions) {
22803
22803
  if ((definition.type ?? "command") !== "command" || typeof definition.command !== "string" || definition.command === "") continue;
22804
22804
  const entry = { command: definition.command };
22805
- if (typeof definition.matcher === "string" && definition.matcher !== "") if (supportsMatcher) entry.matcher = definition.matcher;
22806
- else logger?.warn(`matcher "${definition.matcher}" on "${sourceEvent}" hook will be ignored — Hermes Agent only supports matchers on pre_tool_call/post_tool_call`);
22805
+ if (typeof definition.matcher === "string" && definition.matcher !== "") {
22806
+ if (supportsMatcher) entry.matcher = definition.matcher;
22807
+ else logger?.warn(`matcher "${definition.matcher}" on "${sourceEvent}" hook will be ignored — Hermes Agent only supports matchers on pre_tool_call/post_tool_call`);
22808
+ }
22807
22809
  if (typeof definition.timeout === "number") entry.timeout = definition.timeout;
22808
22810
  if (typeof definition.failClosed === "boolean") {
22809
22811
  if (event === HERMESAGENT_FAIL_CLOSED_EVENT) entry.fail_closed = definition.failClosed;
@@ -24031,8 +24033,10 @@ function canonicalToKiroHooks({ config, logger }) {
24031
24033
  key: eventName
24032
24034
  }) ?? eventName;
24033
24035
  const entries = buildKiroEntriesForEvent(definitions);
24034
- if (entries.length > 0) if (kiro[kiroEventName]) kiro[kiroEventName].push(...entries);
24035
- else kiro[kiroEventName] = entries;
24036
+ if (entries.length > 0) {
24037
+ if (kiro[kiroEventName]) kiro[kiroEventName].push(...entries);
24038
+ else kiro[kiroEventName] = entries;
24039
+ }
24036
24040
  }
24037
24041
  return kiro;
24038
24042
  }
@@ -24858,8 +24862,10 @@ function canonicalToReasonixHooks({ config, toolOverrideHooks, logger }) {
24858
24862
  if ((def.type ?? "command") !== "command") continue;
24859
24863
  if (typeof def.command !== "string") continue;
24860
24864
  const entry = { command: def.command };
24861
- if (typeof def.matcher === "string" && def.matcher !== "") if (isMatcherEvent) entry.match = def.matcher;
24862
- else logger?.warn(`matcher "${def.matcher}" on "${event}" hook will be ignored — Reasonix's "${reasonixEvent}" event does not support matchers`);
24865
+ if (typeof def.matcher === "string" && def.matcher !== "") {
24866
+ if (isMatcherEvent) entry.match = def.matcher;
24867
+ else logger?.warn(`matcher "${def.matcher}" on "${event}" hook will be ignored — Reasonix's "${reasonixEvent}" event does not support matchers`);
24868
+ }
24863
24869
  if (typeof def.description === "string" && def.description !== "") entry.description = def.description;
24864
24870
  if (typeof def.timeout === "number") entry.timeout = Math.round(def.timeout * 1e3);
24865
24871
  entries.push(entry);
@@ -28427,12 +28433,16 @@ function convertFromCodexFormat(codexMcp) {
28427
28433
  } else if (key === "oauth" && isRecord$1(value)) converted[key] = mapOauthFromCodex(value);
28428
28434
  else if (Object.hasOwn(CODEX_TO_RULESYNC_FIELD_MAP, key)) {
28429
28435
  const mappedKey = CODEX_TO_RULESYNC_FIELD_MAP[key];
28430
- if (mappedKey) if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28431
- else warnWithFallback(void 0, `Ignored malformed array for ${key} in MCP server ${name}`);
28436
+ if (mappedKey) {
28437
+ if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28438
+ else warnWithFallback(void 0, `Ignored malformed array for ${key} in MCP server ${name}`);
28439
+ }
28432
28440
  } else if (Object.hasOwn(CODEX_TO_RULESYNC_SCALAR_FIELD_MAP, key)) {
28433
28441
  const mappedKey = CODEX_TO_RULESYNC_SCALAR_FIELD_MAP[key];
28434
- if (mappedKey) if (typeof value === "string") converted[mappedKey] = value;
28435
- else warnWithFallback(void 0, `Ignored malformed value for ${key} in MCP server ${name}: expected a string`);
28442
+ if (mappedKey) {
28443
+ if (typeof value === "string") converted[mappedKey] = value;
28444
+ else warnWithFallback(void 0, `Ignored malformed value for ${key} in MCP server ${name}: expected a string`);
28445
+ }
28436
28446
  } else converted[key] = value;
28437
28447
  }
28438
28448
  restateCanonicalTransport(converted);
@@ -28464,12 +28474,16 @@ function convertToCodexFormat(mcpServers) {
28464
28474
  } else if (key === "oauth" && isRecord$1(value)) converted[key] = mapOauthToCodex(value);
28465
28475
  else if (Object.hasOwn(RULESYNC_TO_CODEX_FIELD_MAP, key)) {
28466
28476
  const mappedKey = RULESYNC_TO_CODEX_FIELD_MAP[key];
28467
- if (mappedKey) if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28468
- else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string array, got ${typeof value}`);
28477
+ if (mappedKey) {
28478
+ if (isValidRenamedArray(key, value)) converted[mappedKey] = value;
28479
+ else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string array, got ${typeof value}`);
28480
+ }
28469
28481
  } else if (Object.hasOwn(RULESYNC_TO_CODEX_SCALAR_FIELD_MAP, key)) {
28470
28482
  const mappedKey = RULESYNC_TO_CODEX_SCALAR_FIELD_MAP[key];
28471
- if (mappedKey) if (typeof value === "string") converted[mappedKey] = value;
28472
- else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string, got ${typeof value}`);
28483
+ if (mappedKey) {
28484
+ if (typeof value === "string") converted[mappedKey] = value;
28485
+ else warnWithFallback(void 0, `[CodexCliMcp] Skipping invalid value type for mapped key '${key}': expected string, got ${typeof value}`);
28486
+ }
28473
28487
  } else converted[key] = value;
28474
28488
  }
28475
28489
  const previousName = originalNames.get(codexName);
@@ -28713,8 +28727,10 @@ function resolveRemoteMcpUrl(serverConfig) {
28713
28727
  /** The `command` array a `local` server is spawned with, `args` merged in. */
28714
28728
  function resolveLocalMcpCommand(serverConfig) {
28715
28729
  const commandArray = [];
28716
- if (serverConfig.command) if (Array.isArray(serverConfig.command)) commandArray.push(...serverConfig.command);
28717
- else commandArray.push(serverConfig.command);
28730
+ if (serverConfig.command) {
28731
+ if (Array.isArray(serverConfig.command)) commandArray.push(...serverConfig.command);
28732
+ else commandArray.push(serverConfig.command);
28733
+ }
28718
28734
  if (serverConfig.args) commandArray.push(...serverConfig.args);
28719
28735
  return commandArray;
28720
28736
  }
@@ -29251,8 +29267,10 @@ function toDeepagentsServer({ name, server, logger }) {
29251
29267
  const { enabledTools, disabledTools, type: _type, transport, ...rest } = server;
29252
29268
  const converted = { ...rest };
29253
29269
  const normalized = normalizeDeepagentsTransport(rawTransport);
29254
- if (normalized !== void 0) if (transport !== void 0) converted.transport = normalized;
29255
- else converted.type = normalized;
29270
+ if (normalized !== void 0) {
29271
+ if (transport !== void 0) converted.transport = normalized;
29272
+ else converted.type = normalized;
29273
+ }
29256
29274
  if (enabledTools !== void 0 && disabledTools !== void 0) return warnAndSkipMcpServer({
29257
29275
  toolName: TOOL_NAME,
29258
29276
  serverName: name,
@@ -29267,8 +29285,10 @@ function toDeepagentsServer({ name, server, logger }) {
29267
29285
  logger
29268
29286
  });
29269
29287
  converted.allowedTools = enabledTools;
29270
- } else if (disabledTools !== void 0) if (disabledTools.length === 0) logger?.warn(`${TOOL_NAME} MCP: dropping the empty disabledTools list on "${name}"; it denies nothing, and deepagents rejects the empty form.`);
29271
- else converted.disabledTools = disabledTools;
29288
+ } else if (disabledTools !== void 0) {
29289
+ if (disabledTools.length === 0) logger?.warn(`${TOOL_NAME} MCP: dropping the empty disabledTools list on "${name}"; it denies nothing, and deepagents rejects the empty form.`);
29290
+ else converted.disabledTools = disabledTools;
29291
+ }
29272
29292
  return converted;
29273
29293
  }
29274
29294
  /** Lift dcode's spellings back into the canonical model. */
@@ -32205,14 +32225,16 @@ function rulesyncMcpServerToReasonix(name, server, logger) {
32205
32225
  name,
32206
32226
  ...type !== void 0 && { type }
32207
32227
  };
32208
- if (server.command !== void 0) if (Array.isArray(server.command)) {
32209
- const [command, ...commandArgs] = server.command;
32210
- if (command !== void 0) plugin.command = command;
32211
- const args = [...commandArgs, ...server.args ?? []];
32212
- if (args.length > 0) plugin.args = args;
32213
- } else {
32214
- plugin.command = server.command;
32215
- if (server.args !== void 0) plugin.args = server.args;
32228
+ if (server.command !== void 0) {
32229
+ if (Array.isArray(server.command)) {
32230
+ const [command, ...commandArgs] = server.command;
32231
+ if (command !== void 0) plugin.command = command;
32232
+ const args = [...commandArgs, ...server.args ?? []];
32233
+ if (args.length > 0) plugin.args = args;
32234
+ } else {
32235
+ plugin.command = server.command;
32236
+ if (server.args !== void 0) plugin.args = server.args;
32237
+ }
32216
32238
  }
32217
32239
  for (const field of REASONIX_PLUGIN_FIELDS) {
32218
32240
  if (field === "type" || field === "command" || field === "args") continue;
@@ -33280,14 +33302,16 @@ function rulesyncMcpServerToVibe(name, server, existing) {
33280
33302
  name,
33281
33303
  ...transport !== void 0 && { transport }
33282
33304
  };
33283
- if (server.command !== void 0) if (Array.isArray(server.command)) {
33284
- const [command, ...commandArgs] = server.command;
33285
- if (command !== void 0) vibeServer.command = command;
33286
- const args = [...commandArgs, ...server.args ?? []];
33287
- if (args.length > 0) vibeServer.args = args;
33288
- } else {
33289
- vibeServer.command = server.command;
33290
- if (server.args !== void 0) vibeServer.args = server.args;
33305
+ if (server.command !== void 0) {
33306
+ if (Array.isArray(server.command)) {
33307
+ const [command, ...commandArgs] = server.command;
33308
+ if (command !== void 0) vibeServer.command = command;
33309
+ const args = [...commandArgs, ...server.args ?? []];
33310
+ if (args.length > 0) vibeServer.args = args;
33311
+ } else {
33312
+ vibeServer.command = server.command;
33313
+ if (server.args !== void 0) vibeServer.args = server.args;
33314
+ }
33291
33315
  }
33292
33316
  const hasStructuredAuth = serverRecord.auth !== void 0;
33293
33317
  for (const field of VIBE_MCP_SERVER_FIELDS) {
@@ -65185,8 +65209,10 @@ var RooRule = class RooRule extends ToolRule {
65185
65209
  nonRootPath: this.getSettablePaths().nonRoot
65186
65210
  });
65187
65211
  const mode = rulesyncRule.getFrontmatter().roo?.mode;
65188
- if (!params.root && mode !== void 0 && mode !== "") if (!ROO_MODE_SLUG_PATTERN.test(mode)) warnWithFallback(void 0, `Ignoring roo.mode "${mode}" on ${rulesyncRule.getRelativeFilePath()}: a mode slug may contain only letters, digits and hyphens. Writing the rule to ${params.relativeDirPath} instead.`);
65189
- else params.relativeDirPath = join(dirname(params.relativeDirPath), rooModeRulesDirName(mode));
65212
+ if (!params.root && mode !== void 0 && mode !== "") {
65213
+ if (!ROO_MODE_SLUG_PATTERN.test(mode)) warnWithFallback(void 0, `Ignoring roo.mode "${mode}" on ${rulesyncRule.getRelativeFilePath()}: a mode slug may contain only letters, digits and hyphens. Writing the rule to ${params.relativeDirPath} instead.`);
65214
+ else params.relativeDirPath = join(dirname(params.relativeDirPath), rooModeRulesDirName(mode));
65215
+ }
65190
65216
  return new RooRule(params);
65191
65217
  }
65192
65218
  /**
@@ -69422,4 +69448,4 @@ async function importChecksCore(params) {
69422
69448
  //#endregion
69423
69449
  export { RulesyncCheckFrontmatterSchema as $, ALL_TOOL_TARGETS_WITH_WILDCARD as $t, FACTORYDROID_DIR as A, RULESYNC_SUBAGENTS_RELATIVE_DIR_PATH as An, fileExists as At, RulesyncSkillFrontmatterSchema as B, stripControlCharacters as Bn, readFileContent as Bt, CODEXCLI_BASH_RULES_FILE_NAME as C, RULESYNC_PERMISSIONS_LEGACY_FILE_NAME as Cn, assertDirectoryIfExists as Ct, CLAUDECODE_MEMORIES_DIR_NAME as D, RULESYNC_RULES_RELATIVE_DIR_PATH as Dn, createTempDirectory as Dt, CLAUDECODE_LOCAL_RULE_FILE_NAME as E, RULESYNC_RELATIVE_DIR_PATH as En, checkPathTraversal as Et, AUGMENTCODE_SETTINGS_LOCAL_FILE_NAME as F, formatError as Fn, isSymlink as Ft, RulesyncIgnore as G, removeFileStrict as Gt, RulesyncRuleFrontmatterSchema as H, stripHiddenCharacters as Hn, removeDirectory as Ht, getLocalSkillDirNames as I, truncateText as In, listDirectoryEntryNames as It, resolveRulesyncSourceWritePath as J, runWithDirectoryRollback as Jt, RulesyncHooks as K, removeTempDirectory as Kt, RulesyncSubagent as L, hasDeceptiveHiddenCharacters as Ln, listFilePathsRecursively as Lt, caseFoldIdentity as M, ALL_FEATURES as Mn, getHomeDirectory as Mt, groupSpellingsByCaseFoldedIdentity as N, ALL_FEATURES_WITH_WILDCARD as Nn, isFileNotFoundError as Nt, CLAUDECODE_SETTINGS_LOCAL_FILE_NAME as O, RULESYNC_SKILLS_RELATIVE_DIR_PATH as On, directoryExists as Ot, AUGMENTCODE_DIR as P, DEPRECATED_FEATURE_REPLACEMENTS as Pn, isFileSystemError as Pt, RulesyncCheck as Q, ALL_TOOL_TARGETS as Qt, RulesyncSubagentFrontmatterSchema as R, hasEnclosingMarkOutsideKeycap as Rn, listSubdirectoryNames as Rt, ChecksProcessor as S, RULESYNC_PERMISSIONS_FILE_NAME as Sn, applyFileMode as St, CLAUDECODE_DIR as T, RULESYNC_PERMISSIONS_SCHEMA_URL as Tn, assertWritablePathInsideRoot as Tt, RulesyncPermissions as U, removeDirectoryStrict as Ut, RulesyncRule as V, stripControlCharactersKeepingLineFeeds as Vn, readFileContentOrNull as Vt, RulesyncMcp as W, removeFile as Wt, RulesyncCommand as X, writeFileBuffer as Xt, parseJsonc as Y, toPosixPath as Yt, RulesyncCommandFrontmatterSchema as Z, writeFileContent as Zt, IgnoreProcessor as _, RULESYNC_MCP_FILE_NAME as _n, withFallbackLoggerTarget as _t, getProcessorRegistryEntry as a, RULESYNC_AIIGNORE_RELATIVE_FILE_PATH as an, mergeInputRootConfigs as at, QWENCODE_DIR as b, RULESYNC_MCP_SCHEMA_URL as bn, CLIError as bt, RulesProcessor as c, RULESYNC_CONFIG_RELATIVE_FILE_PATH as cn, ConfigFileSchema as ct, CODEBUDDY_DIR as d, RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH as dn, findControlCharacter as dt, PACKAGING_TOOL_TARGETS as en, stringifyFrontmatter as et, CODEBUDDY_LOCAL_RULE_FILE_NAME as f, RULESYNC_HOOKS_FILE_NAME as fn, ConsoleLogger as ft, McpProcessor as g, RULESYNC_LOCAL_CONFIG_RELATIVE_FILE_PATH as gn, warnOnConflictingFlags as gt, shortenToWidth as h, RULESYNC_IGNORE_RELATIVE_FILE_PATH as hn, fallbackLogger as ht, inspectInputRoots as i, RULESYNC_AIIGNORE_FILE_NAME as in, ConfigResolver as it, FACTORYDROID_SETTINGS_LOCAL_FILE_NAME as j, parseCommaSeparatedList as jn, getFileSize as jt, CLAUDECODE_SKILLS_DIR_PATH as k, RULESYNC_SOURCES_LOCK_RELATIVE_FILE_PATH as kn, ensureDir as kt, SubagentsProcessor as l, RULESYNC_CONFIG_SCHEMA_URL as ln, GITIGNORE_DESTINATION_KEY as lt, displayWidthOf as m, RULESYNC_HOOKS_RELATIVE_FILE_PATH as mn, WarningCollectingLogger as mt, formatSourceLoadFailure as n, CURATED_RULES_FEATURE_SUBDIR as nn, SHARED_USER_MANAGED_CONFIG_PATHS as nt, convertFromTool as o, RULESYNC_CHECKS_RELATIVE_DIR_PATH as on, resolveEffectiveInputRoots as ot, ELLIPSIS_WIDTH as p, RULESYNC_HOOKS_LEGACY_FILE_NAME as pn, JsonLogger as pt, getRulesyncSourceCandidates as q, resolvePath as qt, generate as r, MAX_FILE_SIZE as rn, SKILL_FILE_NAME as rt, isPackagingToolTarget as s, RULESYNC_COMMANDS_RELATIVE_DIR_PATH as sn, CONFLICTING_TARGET_PAIRS as st, importFromTool as t, ToolTargetSchema as tn, loadYaml as tt, SkillsProcessor as u, RULESYNC_CURATED_RULES_RELATIVE_DIR_PATH as un, SourceEntrySchema as ut, HooksProcessor as v, RULESYNC_MCP_LEGACY_FILE_NAME as vn, resetRunWarningState as vt, CODEXCLI_DIR as w, RULESYNC_PERMISSIONS_RELATIVE_FILE_PATH as wn, assertTreeContainsNoSymlinks as wt, QWENCODE_LOCAL_RULE_FILE_NAME as x, RULESYNC_NPM_SOURCES_LOCK_RELATIVE_FILE_PATH as xn, ErrorCodes as xt, CommandsProcessor as y, RULESYNC_MCP_RELATIVE_FILE_PATH as yn, withWarnOnceScope as yt, RulesyncSkill as z, quoteForLog as zn, pathEscapesRoot as zt };
69424
69450
 
69425
- //# sourceMappingURL=import-DyWRanf6.js.map
69451
+ //# sourceMappingURL=import-DL8paEMP.js.map