rulesync 16.34.0 → 16.34.2

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.
@@ -482,6 +482,22 @@ const RULESYNC_PERMISSIONS_FILE_NAME = "permissions.jsonc";
482
482
  const RULESYNC_MCP_LEGACY_FILE_NAME = "mcp.json";
483
483
  const RULESYNC_HOOKS_LEGACY_FILE_NAME = "hooks.json";
484
484
  const RULESYNC_PERMISSIONS_LEGACY_FILE_NAME = "permissions.json";
485
+ const RULESYNC_MCP_DEPRECATED_DOTFILE_NAME = ".mcp.json";
486
+ const FEATURE_SOURCE_TREE_ENTRIES = {
487
+ rules: [RULES_FEATURE_SUBDIR],
488
+ commands: [COMMANDS_FEATURE_SUBDIR],
489
+ subagents: [SUBAGENTS_FEATURE_SUBDIR],
490
+ skills: [SKILLS_FEATURE_SUBDIR],
491
+ checks: [CHECKS_FEATURE_SUBDIR],
492
+ ignore: [RULESYNC_AIIGNORE_FILE_NAME],
493
+ mcp: [
494
+ RULESYNC_MCP_FILE_NAME,
495
+ RULESYNC_MCP_LEGACY_FILE_NAME,
496
+ RULESYNC_MCP_DEPRECATED_DOTFILE_NAME
497
+ ],
498
+ hooks: [RULESYNC_HOOKS_FILE_NAME, RULESYNC_HOOKS_LEGACY_FILE_NAME],
499
+ permissions: [RULESYNC_PERMISSIONS_FILE_NAME, RULESYNC_PERMISSIONS_LEGACY_FILE_NAME]
500
+ };
485
501
  const RULESYNC_CONFIG_SCHEMA_URL = "https://github.com/dyoshikawa/rulesync/releases/latest/download/config-schema.json";
486
502
  const RULESYNC_MCP_SCHEMA_URL = "https://github.com/dyoshikawa/rulesync/releases/latest/download/mcp-schema.json";
487
503
  const RULESYNC_PERMISSIONS_SCHEMA_URL = "https://github.com/dyoshikawa/rulesync/releases/latest/download/permissions-schema.json";
@@ -6381,7 +6397,7 @@ var RulesyncMcp = class RulesyncMcp extends RulesyncFile {
6381
6397
  relativeFilePath: RULESYNC_MCP_LEGACY_FILE_NAME
6382
6398
  }, {
6383
6399
  relativeDirPath: RULESYNC_RELATIVE_DIR_PATH,
6384
- relativeFilePath: ".mcp.json"
6400
+ relativeFilePath: RULESYNC_MCP_DEPRECATED_DOTFILE_NAME
6385
6401
  }]
6386
6402
  };
6387
6403
  }
@@ -31034,6 +31050,17 @@ function toCanonicalMcpServers(servers) {
31034
31050
  return renameServerField(servers, "serverUrl", "url");
31035
31051
  }
31036
31052
  /**
31053
+ * Parse `mcp_config.json` as JSONC and require a top-level object, so a file
31054
+ * whose root is `null`, an array or a primitive fails with a clear message
31055
+ * instead of a `TypeError` on `mcpServers` access or an array being spread
31056
+ * into the rewritten config.
31057
+ */
31058
+ function parseAntigravityMcpConfig(fileContent) {
31059
+ const parsed = parseJsonc$6(fileContent);
31060
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error(`Antigravity ${ANTIGRAVITY_MCP_FILE_NAME} must contain a top-level JSON object`);
31061
+ return { ...parsed };
31062
+ }
31063
+ /**
31037
31064
  * Shared MCP generator for Google Antigravity (Antigravity 2.0), used by both
31038
31065
  * the IDE and the CLI.
31039
31066
  *
@@ -31046,12 +31073,17 @@ function toCanonicalMcpServers(servers) {
31046
31073
  * The IDE and CLI share the project path (`.agents/mcp_config.json`) and differ
31047
31074
  * only in their global config subdirectory, which each concrete subclass
31048
31075
  * supplies via {@link AntigravityMcp.getGlobalSubdir}.
31076
+ *
31077
+ * Antigravity CLI 1.1.24+ accepts line and block comments and trailing
31078
+ * commas in `mcp_config.json`, so the file is read as JSONC. Writes stay plain
31079
+ * JSON (comments are dropped on rewrite), matching the other JSONC-reading
31080
+ * adapters.
31049
31081
  */
31050
31082
  var AntigravityMcp = class extends ToolMcp {
31051
31083
  json;
31052
31084
  constructor(params) {
31053
31085
  super(params);
31054
- this.json = JSON.parse(this.fileContent || "{}");
31086
+ this.json = parseAntigravityMcpConfig(this.fileContent || "{}");
31055
31087
  }
31056
31088
  getJson() {
31057
31089
  return this.json;
@@ -31072,8 +31104,7 @@ var AntigravityMcp = class extends ToolMcp {
31072
31104
  }
31073
31105
  static async fromFile({ outputRoot = process.cwd(), validate = true, global = false }) {
31074
31106
  const paths = this.getSettablePaths({ global });
31075
- const fileContent = await readFileContentOrNull((0, node_path.join)(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? "{\"mcpServers\":{}}";
31076
- const json = JSON.parse(fileContent);
31107
+ const json = parseAntigravityMcpConfig(await readFileContentOrNull((0, node_path.join)(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? "{\"mcpServers\":{}}");
31077
31108
  const newJson = {
31078
31109
  ...json,
31079
31110
  mcpServers: json.mcpServers ?? {}
@@ -31089,9 +31120,8 @@ var AntigravityMcp = class extends ToolMcp {
31089
31120
  }
31090
31121
  static async fromRulesyncMcp({ outputRoot = process.cwd(), rulesyncMcp, validate = true, global = false }) {
31091
31122
  const paths = this.getSettablePaths({ global });
31092
- const fileContent = await readFileContentOrNull((0, node_path.join)(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? JSON.stringify({ mcpServers: {} }, null, 2);
31093
31123
  const newJson = {
31094
- ...JSON.parse(fileContent),
31124
+ ...parseAntigravityMcpConfig(await readFileContentOrNull((0, node_path.join)(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? JSON.stringify({ mcpServers: {} }, null, 2)),
31095
31125
  mcpServers: toAntigravityMcpServers(rulesyncMcp.getMcpServers())
31096
31126
  };
31097
31127
  return new this({
@@ -41861,15 +41891,28 @@ const CLAUDECODE_NON_PASSTHROUGH_OVERRIDE_KEYS = /* @__PURE__ */ new Set([
41861
41891
  *
41862
41892
  * Derived from the per-key **Scope** column of the settings reference: every
41863
41893
  * top-level key documented as `User or managed` or `User, local, or managed`.
41894
+ * `enableArtifact` is deliberately absent: it is documented as `Any file` —
41895
+ * every file can turn the Artifact tool off, and none can turn it back on — so
41896
+ * a project file does honor it. `processWrapper` is also `User or managed`, but it is refused
41897
+ * in both scopes by `CLAUDECODE_COMMAND_EXECUTING_KEYS`, which runs first.
41898
+ *
41899
+ * `autoContinueAtUsageLimit` is dropped at project scope for a stronger reason
41900
+ * than the others: when no user or managed file sets it, a project or local
41901
+ * value turns the feature *off* whatever the value is, so committing a `true`
41902
+ * would silently do the opposite of what it says.
41864
41903
  *
41865
41904
  * @see https://code.claude.com/docs/en/settings-reference
41866
41905
  */
41867
41906
  const CLAUDECODE_USER_SCOPE_ONLY_KEYS = /* @__PURE__ */ new Set([
41868
41907
  "askUserQuestionTimeout",
41908
+ "autoContinueAtUsageLimit",
41869
41909
  "autoMode",
41910
+ "bashEditDiffEnabled",
41911
+ "desktopSessionCleanupPeriodDays",
41870
41912
  "dialogExpiry",
41871
- "enableArtifact",
41913
+ "feedbackDrafts",
41872
41914
  "footerLinksRegexes",
41915
+ "modelPicker",
41873
41916
  "pluginConfigs",
41874
41917
  "skipAutoPermissionPrompt",
41875
41918
  "skipDangerousModePermissionPrompt",
@@ -41902,14 +41945,20 @@ const CLAUDECODE_UNHONORED_KEY_SOURCES = {
41902
41945
  browserExternalPageTools: "managed settings",
41903
41946
  channelsEnabled: "managed settings",
41904
41947
  claudeMd: "managed settings",
41948
+ copyOnSelect: "~/.claude.json",
41905
41949
  diffTool: "~/.claude.json",
41906
41950
  disableBrowserExternalNavigation: "managed settings",
41907
41951
  disableCommandPluginSources: "managed settings",
41952
+ disableDesktopLocalSessions: "managed settings",
41908
41953
  disableMobileSimulatorTools: "managed settings",
41909
41954
  disableSideloadFlags: "managed settings",
41910
41955
  externalEditorContext: "~/.claude.json",
41911
41956
  forceLoginGatewayUrl: "managed settings",
41912
41957
  forceRemoteSettingsRefresh: "managed settings",
41958
+ gatewayInternalNetworks: "managed settings",
41959
+ managedMcpServers: "managed settings",
41960
+ managedSourcesBehavior: "managed settings",
41961
+ modelPricing: "managed settings",
41913
41962
  parentSettingsBehavior: "managed settings",
41914
41963
  permissionExplainerEnabled: "~/.claude.json",
41915
41964
  pluginSuggestionMarketplaces: "managed settings",
@@ -79471,6 +79520,12 @@ Object.defineProperty(exports, "FACTORYDROID_SETTINGS_LOCAL_FILE_NAME", {
79471
79520
  return FACTORYDROID_SETTINGS_LOCAL_FILE_NAME;
79472
79521
  }
79473
79522
  });
79523
+ Object.defineProperty(exports, "FEATURE_SOURCE_TREE_ENTRIES", {
79524
+ enumerable: true,
79525
+ get: function() {
79526
+ return FEATURE_SOURCE_TREE_ENTRIES;
79527
+ }
79528
+ });
79474
79529
  Object.defineProperty(exports, "GITIGNORE_DESTINATION_KEY", {
79475
79530
  enumerable: true,
79476
79531
  get: function() {
@@ -79525,12 +79580,6 @@ Object.defineProperty(exports, "QWENCODE_LOCAL_RULE_FILE_NAME", {
79525
79580
  return QWENCODE_LOCAL_RULE_FILE_NAME;
79526
79581
  }
79527
79582
  });
79528
- Object.defineProperty(exports, "RULESYNC_AIIGNORE_FILE_NAME", {
79529
- enumerable: true,
79530
- get: function() {
79531
- return RULESYNC_AIIGNORE_FILE_NAME;
79532
- }
79533
- });
79534
79583
  Object.defineProperty(exports, "RULESYNC_AIIGNORE_RELATIVE_FILE_PATH", {
79535
79584
  enumerable: true,
79536
79585
  get: function() {
@@ -79573,18 +79622,6 @@ Object.defineProperty(exports, "RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH", {
79573
79622
  return RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH;
79574
79623
  }
79575
79624
  });
79576
- Object.defineProperty(exports, "RULESYNC_HOOKS_FILE_NAME", {
79577
- enumerable: true,
79578
- get: function() {
79579
- return RULESYNC_HOOKS_FILE_NAME;
79580
- }
79581
- });
79582
- Object.defineProperty(exports, "RULESYNC_HOOKS_LEGACY_FILE_NAME", {
79583
- enumerable: true,
79584
- get: function() {
79585
- return RULESYNC_HOOKS_LEGACY_FILE_NAME;
79586
- }
79587
- });
79588
79625
  Object.defineProperty(exports, "RULESYNC_HOOKS_RELATIVE_FILE_PATH", {
79589
79626
  enumerable: true,
79590
79627
  get: function() {
@@ -79603,18 +79640,6 @@ Object.defineProperty(exports, "RULESYNC_LOCAL_CONFIG_RELATIVE_FILE_PATH", {
79603
79640
  return RULESYNC_LOCAL_CONFIG_RELATIVE_FILE_PATH;
79604
79641
  }
79605
79642
  });
79606
- Object.defineProperty(exports, "RULESYNC_MCP_FILE_NAME", {
79607
- enumerable: true,
79608
- get: function() {
79609
- return RULESYNC_MCP_FILE_NAME;
79610
- }
79611
- });
79612
- Object.defineProperty(exports, "RULESYNC_MCP_LEGACY_FILE_NAME", {
79613
- enumerable: true,
79614
- get: function() {
79615
- return RULESYNC_MCP_LEGACY_FILE_NAME;
79616
- }
79617
- });
79618
79643
  Object.defineProperty(exports, "RULESYNC_MCP_RELATIVE_FILE_PATH", {
79619
79644
  enumerable: true,
79620
79645
  get: function() {
@@ -79633,18 +79658,6 @@ Object.defineProperty(exports, "RULESYNC_NPM_SOURCES_LOCK_RELATIVE_FILE_PATH", {
79633
79658
  return RULESYNC_NPM_SOURCES_LOCK_RELATIVE_FILE_PATH;
79634
79659
  }
79635
79660
  });
79636
- Object.defineProperty(exports, "RULESYNC_PERMISSIONS_FILE_NAME", {
79637
- enumerable: true,
79638
- get: function() {
79639
- return RULESYNC_PERMISSIONS_FILE_NAME;
79640
- }
79641
- });
79642
- Object.defineProperty(exports, "RULESYNC_PERMISSIONS_LEGACY_FILE_NAME", {
79643
- enumerable: true,
79644
- get: function() {
79645
- return RULESYNC_PERMISSIONS_LEGACY_FILE_NAME;
79646
- }
79647
- });
79648
79661
  Object.defineProperty(exports, "RULESYNC_PERMISSIONS_RELATIVE_FILE_PATH", {
79649
79662
  enumerable: true,
79650
79663
  get: function() {
@@ -457,6 +457,22 @@ const RULESYNC_PERMISSIONS_FILE_NAME = "permissions.jsonc";
457
457
  const RULESYNC_MCP_LEGACY_FILE_NAME = "mcp.json";
458
458
  const RULESYNC_HOOKS_LEGACY_FILE_NAME = "hooks.json";
459
459
  const RULESYNC_PERMISSIONS_LEGACY_FILE_NAME = "permissions.json";
460
+ const RULESYNC_MCP_DEPRECATED_DOTFILE_NAME = ".mcp.json";
461
+ const FEATURE_SOURCE_TREE_ENTRIES = {
462
+ rules: [RULES_FEATURE_SUBDIR],
463
+ commands: [COMMANDS_FEATURE_SUBDIR],
464
+ subagents: [SUBAGENTS_FEATURE_SUBDIR],
465
+ skills: [SKILLS_FEATURE_SUBDIR],
466
+ checks: [CHECKS_FEATURE_SUBDIR],
467
+ ignore: [RULESYNC_AIIGNORE_FILE_NAME],
468
+ mcp: [
469
+ RULESYNC_MCP_FILE_NAME,
470
+ RULESYNC_MCP_LEGACY_FILE_NAME,
471
+ RULESYNC_MCP_DEPRECATED_DOTFILE_NAME
472
+ ],
473
+ hooks: [RULESYNC_HOOKS_FILE_NAME, RULESYNC_HOOKS_LEGACY_FILE_NAME],
474
+ permissions: [RULESYNC_PERMISSIONS_FILE_NAME, RULESYNC_PERMISSIONS_LEGACY_FILE_NAME]
475
+ };
460
476
  const RULESYNC_CONFIG_SCHEMA_URL = "https://github.com/dyoshikawa/rulesync/releases/latest/download/config-schema.json";
461
477
  const RULESYNC_MCP_SCHEMA_URL = "https://github.com/dyoshikawa/rulesync/releases/latest/download/mcp-schema.json";
462
478
  const RULESYNC_PERMISSIONS_SCHEMA_URL = "https://github.com/dyoshikawa/rulesync/releases/latest/download/permissions-schema.json";
@@ -6356,7 +6372,7 @@ var RulesyncMcp = class RulesyncMcp extends RulesyncFile {
6356
6372
  relativeFilePath: RULESYNC_MCP_LEGACY_FILE_NAME
6357
6373
  }, {
6358
6374
  relativeDirPath: RULESYNC_RELATIVE_DIR_PATH,
6359
- relativeFilePath: ".mcp.json"
6375
+ relativeFilePath: RULESYNC_MCP_DEPRECATED_DOTFILE_NAME
6360
6376
  }]
6361
6377
  };
6362
6378
  }
@@ -31009,6 +31025,17 @@ function toCanonicalMcpServers(servers) {
31009
31025
  return renameServerField(servers, "serverUrl", "url");
31010
31026
  }
31011
31027
  /**
31028
+ * Parse `mcp_config.json` as JSONC and require a top-level object, so a file
31029
+ * whose root is `null`, an array or a primitive fails with a clear message
31030
+ * instead of a `TypeError` on `mcpServers` access or an array being spread
31031
+ * into the rewritten config.
31032
+ */
31033
+ function parseAntigravityMcpConfig(fileContent) {
31034
+ const parsed = parseJsonc(fileContent);
31035
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error(`Antigravity ${ANTIGRAVITY_MCP_FILE_NAME} must contain a top-level JSON object`);
31036
+ return { ...parsed };
31037
+ }
31038
+ /**
31012
31039
  * Shared MCP generator for Google Antigravity (Antigravity 2.0), used by both
31013
31040
  * the IDE and the CLI.
31014
31041
  *
@@ -31021,12 +31048,17 @@ function toCanonicalMcpServers(servers) {
31021
31048
  * The IDE and CLI share the project path (`.agents/mcp_config.json`) and differ
31022
31049
  * only in their global config subdirectory, which each concrete subclass
31023
31050
  * supplies via {@link AntigravityMcp.getGlobalSubdir}.
31051
+ *
31052
+ * Antigravity CLI 1.1.24+ accepts line and block comments and trailing
31053
+ * commas in `mcp_config.json`, so the file is read as JSONC. Writes stay plain
31054
+ * JSON (comments are dropped on rewrite), matching the other JSONC-reading
31055
+ * adapters.
31024
31056
  */
31025
31057
  var AntigravityMcp = class extends ToolMcp {
31026
31058
  json;
31027
31059
  constructor(params) {
31028
31060
  super(params);
31029
- this.json = JSON.parse(this.fileContent || "{}");
31061
+ this.json = parseAntigravityMcpConfig(this.fileContent || "{}");
31030
31062
  }
31031
31063
  getJson() {
31032
31064
  return this.json;
@@ -31047,8 +31079,7 @@ var AntigravityMcp = class extends ToolMcp {
31047
31079
  }
31048
31080
  static async fromFile({ outputRoot = process.cwd(), validate = true, global = false }) {
31049
31081
  const paths = this.getSettablePaths({ global });
31050
- const fileContent = await readFileContentOrNull(join(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? "{\"mcpServers\":{}}";
31051
- const json = JSON.parse(fileContent);
31082
+ const json = parseAntigravityMcpConfig(await readFileContentOrNull(join(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? "{\"mcpServers\":{}}");
31052
31083
  const newJson = {
31053
31084
  ...json,
31054
31085
  mcpServers: json.mcpServers ?? {}
@@ -31064,9 +31095,8 @@ var AntigravityMcp = class extends ToolMcp {
31064
31095
  }
31065
31096
  static async fromRulesyncMcp({ outputRoot = process.cwd(), rulesyncMcp, validate = true, global = false }) {
31066
31097
  const paths = this.getSettablePaths({ global });
31067
- const fileContent = await readFileContentOrNull(join(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? JSON.stringify({ mcpServers: {} }, null, 2);
31068
31098
  const newJson = {
31069
- ...JSON.parse(fileContent),
31099
+ ...parseAntigravityMcpConfig(await readFileContentOrNull(join(outputRoot, paths.relativeDirPath, paths.relativeFilePath)) ?? JSON.stringify({ mcpServers: {} }, null, 2)),
31070
31100
  mcpServers: toAntigravityMcpServers(rulesyncMcp.getMcpServers())
31071
31101
  };
31072
31102
  return new this({
@@ -41836,15 +41866,28 @@ const CLAUDECODE_NON_PASSTHROUGH_OVERRIDE_KEYS = /* @__PURE__ */ new Set([
41836
41866
  *
41837
41867
  * Derived from the per-key **Scope** column of the settings reference: every
41838
41868
  * top-level key documented as `User or managed` or `User, local, or managed`.
41869
+ * `enableArtifact` is deliberately absent: it is documented as `Any file` —
41870
+ * every file can turn the Artifact tool off, and none can turn it back on — so
41871
+ * a project file does honor it. `processWrapper` is also `User or managed`, but it is refused
41872
+ * in both scopes by `CLAUDECODE_COMMAND_EXECUTING_KEYS`, which runs first.
41873
+ *
41874
+ * `autoContinueAtUsageLimit` is dropped at project scope for a stronger reason
41875
+ * than the others: when no user or managed file sets it, a project or local
41876
+ * value turns the feature *off* whatever the value is, so committing a `true`
41877
+ * would silently do the opposite of what it says.
41839
41878
  *
41840
41879
  * @see https://code.claude.com/docs/en/settings-reference
41841
41880
  */
41842
41881
  const CLAUDECODE_USER_SCOPE_ONLY_KEYS = /* @__PURE__ */ new Set([
41843
41882
  "askUserQuestionTimeout",
41883
+ "autoContinueAtUsageLimit",
41844
41884
  "autoMode",
41885
+ "bashEditDiffEnabled",
41886
+ "desktopSessionCleanupPeriodDays",
41845
41887
  "dialogExpiry",
41846
- "enableArtifact",
41888
+ "feedbackDrafts",
41847
41889
  "footerLinksRegexes",
41890
+ "modelPicker",
41848
41891
  "pluginConfigs",
41849
41892
  "skipAutoPermissionPrompt",
41850
41893
  "skipDangerousModePermissionPrompt",
@@ -41877,14 +41920,20 @@ const CLAUDECODE_UNHONORED_KEY_SOURCES = {
41877
41920
  browserExternalPageTools: "managed settings",
41878
41921
  channelsEnabled: "managed settings",
41879
41922
  claudeMd: "managed settings",
41923
+ copyOnSelect: "~/.claude.json",
41880
41924
  diffTool: "~/.claude.json",
41881
41925
  disableBrowserExternalNavigation: "managed settings",
41882
41926
  disableCommandPluginSources: "managed settings",
41927
+ disableDesktopLocalSessions: "managed settings",
41883
41928
  disableMobileSimulatorTools: "managed settings",
41884
41929
  disableSideloadFlags: "managed settings",
41885
41930
  externalEditorContext: "~/.claude.json",
41886
41931
  forceLoginGatewayUrl: "managed settings",
41887
41932
  forceRemoteSettingsRefresh: "managed settings",
41933
+ gatewayInternalNetworks: "managed settings",
41934
+ managedMcpServers: "managed settings",
41935
+ managedSourcesBehavior: "managed settings",
41936
+ modelPricing: "managed settings",
41888
41937
  parentSettingsBehavior: "managed settings",
41889
41938
  permissionExplainerEnabled: "~/.claude.json",
41890
41939
  pluginSuggestionMarketplaces: "managed settings",
@@ -79272,6 +79321,6 @@ async function importChecksCore(params) {
79272
79321
  return writtenCount;
79273
79322
  }
79274
79323
  //#endregion
79275
- export { RulesyncCheck as $, writeFileContent as $t, CLAUDECODE_SKILLS_DIR_PATH as A, RULESYNC_SKILLS_RELATIVE_DIR_PATH as An, directoryExists as At, RulesyncSkill as B, truncateText as Bn, listSubdirectoryNames as Bt, ChecksProcessor as C, RULESYNC_NPM_SOURCES_LOCK_RELATIVE_FILE_PATH as Cn, ErrorCodes as Ct, CLAUDECODE_LOCAL_RULE_FILE_NAME as D, RULESYNC_PERMISSIONS_SCHEMA_URL as Dn, assertWritablePathInsideRoot as Dt, CLAUDECODE_DIR as E, RULESYNC_PERMISSIONS_RELATIVE_FILE_PATH as En, assertTreeContainsNoSymlinks as Et, AUGMENTCODE_DIR as F, parseCommaSeparatedList as Fn, isFileNotFoundError as Ft, RulesyncMcp as G, stripControlCharactersKeepingLineFeeds as Gn, removeDirectoryStrict as Gt, RulesyncRule as H, hasEnclosingMarkOutsideKeycap as Hn, readFileContent as Ht, AUGMENTCODE_SETTINGS_LOCAL_FILE_NAME as I, ALL_FEATURES as In, isFileSystemError as It, getRulesyncSourceCandidates as J, removeTempDirectory as Jt, RulesyncIgnore as K, stripHiddenCharacters as Kn, removeFile as Kt, getLocalSkillDirNames as L, ALL_FEATURES_WITH_WILDCARD as Ln, isSymlink as Lt, FACTORYDROID_SETTINGS_LOCAL_FILE_NAME as M, RULESYNC_SUBAGENTS_RELATIVE_DIR_PATH as Mn, fileExists as Mt, caseFoldIdentity as N, RULESYNC_USER_CONFIG_DIR_NAME as Nn, getFileSize as Nt, CLAUDECODE_MEMORIES_DIR_NAME as O, RULESYNC_RELATIVE_DIR_PATH as On, checkPathTraversal as Ot, groupSpellingsByCaseFoldedIdentity as P, RULESYNC_XDG_CONFIG_HOME_DEFAULT_DIR_NAME as Pn, getHomeDirectory as Pt, RulesyncCommandFrontmatterSchema as Q, writeFileBuffer as Qt, RulesyncSubagent as R, DEPRECATED_FEATURE_REPLACEMENTS as Rn, listDirectoryEntryNames as Rt, QWENCODE_LOCAL_RULE_FILE_NAME as S, RULESYNC_MCP_SCHEMA_URL as Sn, CLIError as St, CODEXCLI_DIR as T, RULESYNC_PERMISSIONS_LEGACY_FILE_NAME as Tn, assertDirectoryIfExists as Tt, RulesyncRuleFrontmatterSchema as U, quoteForLog as Un, readFileContentOrNull as Ut, RulesyncSkillFrontmatterSchema as V, hasDeceptiveHiddenCharacters as Vn, pathEscapesRoot as Vt, RulesyncPermissions as W, stripControlCharacters as Wn, removeDirectory as Wt, parseJsonc as X, runWithDirectoryRollback as Xt, resolveRulesyncSourceWritePath as Y, resolvePath as Yt, RulesyncCommand as Z, toPosixPath as Zt, IgnoreProcessor as _, RULESYNC_IGNORE_RELATIVE_FILE_PATH as _n, fallbackLogger as _t, getProcessorRegistryEntry as a, MAX_FILE_SIZE as an, ConfigResolver as at, CommandsProcessor as b, RULESYNC_MCP_LEGACY_FILE_NAME as bn, resetRunWarningState as bt, RulesProcessor as c, RULESYNC_CHECKS_RELATIVE_DIR_PATH as cn, CONFLICTING_TARGET_PAIRS as ct, CODEBUDDY_DIR as d, RULESYNC_CONFIG_SCHEMA_URL as dn, SourceEntrySchema as dt, ALL_TOOL_TARGETS as en, RulesyncCheckFrontmatterSchema as et, CODEBUDDY_LOCAL_RULE_FILE_NAME as f, RULESYNC_CURATED_RULES_RELATIVE_DIR_PATH as fn, assertTargetsFeaturesExclusive as ft, McpProcessor as g, RULESYNC_HOOKS_RELATIVE_FILE_PATH as gn, WarningCollectingLogger as gt, shortenToWidth as h, RULESYNC_HOOKS_LEGACY_FILE_NAME as hn, JsonLogger as ht, inspectInputRoots as i, CURATED_RULES_FEATURE_SUBDIR as in, SKILL_FILE_NAME as it, FACTORYDROID_DIR as j, RULESYNC_SOURCES_LOCK_RELATIVE_FILE_PATH as jn, ensureDir as jt, CLAUDECODE_SETTINGS_LOCAL_FILE_NAME as k, RULESYNC_RULES_RELATIVE_DIR_PATH as kn, createTempDirectory as kt, SubagentsProcessor as l, RULESYNC_COMMANDS_RELATIVE_DIR_PATH as ln, ConfigFileSchema as lt, displayWidthOf as m, RULESYNC_HOOKS_FILE_NAME as mn, ConsoleLogger as mt, formatSourceLoadFailure as n, PACKAGING_TOOL_TARGETS as nn, loadYaml as nt, convertFromTool as o, RULESYNC_AIIGNORE_FILE_NAME as on, mergeInputRootConfigs as ot, ELLIPSIS_WIDTH as p, RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH as pn, findControlCharacter as pt, RulesyncHooks as q, removeFileStrict as qt, generate as r, ToolTargetSchema as rn, SHARED_USER_MANAGED_CONFIG_PATHS as rt, isPackagingToolTarget as s, RULESYNC_AIIGNORE_RELATIVE_FILE_PATH as sn, resolveEffectiveInputRoots as st, importFromTool as t, ALL_TOOL_TARGETS_WITH_WILDCARD as tn, stringifyFrontmatter as tt, SkillsProcessor as u, RULESYNC_CONFIG_RELATIVE_FILE_PATH as un, GITIGNORE_DESTINATION_KEY as ut, HooksProcessor as v, RULESYNC_LOCAL_CONFIG_RELATIVE_FILE_PATH as vn, warnOnConflictingFlags as vt, CODEXCLI_BASH_RULES_FILE_NAME as w, RULESYNC_PERMISSIONS_FILE_NAME as wn, applyFileMode as wt, QWENCODE_DIR as x, RULESYNC_MCP_RELATIVE_FILE_PATH as xn, withWarnOnceScope as xt, CRUSH_LOCAL_RULE_FILE_NAME as y, RULESYNC_MCP_FILE_NAME as yn, withFallbackLoggerTarget as yt, RulesyncSubagentFrontmatterSchema as z, formatError as zn, listFilePathsRecursively as zt };
79324
+ export { RulesyncCheck as $, writeFileContent as $t, CLAUDECODE_SKILLS_DIR_PATH as A, ALL_FEATURES as An, directoryExists as At, RulesyncSkill as B, stripHiddenCharacters as Bn, listSubdirectoryNames as Bt, ChecksProcessor as C, RULESYNC_RULES_RELATIVE_DIR_PATH as Cn, ErrorCodes as Ct, CLAUDECODE_LOCAL_RULE_FILE_NAME as D, RULESYNC_USER_CONFIG_DIR_NAME as Dn, assertWritablePathInsideRoot as Dt, CLAUDECODE_DIR as E, RULESYNC_SUBAGENTS_RELATIVE_DIR_PATH as En, assertTreeContainsNoSymlinks as Et, AUGMENTCODE_DIR as F, hasDeceptiveHiddenCharacters as Fn, isFileNotFoundError as Ft, RulesyncMcp as G, removeDirectoryStrict as Gt, RulesyncRule as H, readFileContent as Ht, AUGMENTCODE_SETTINGS_LOCAL_FILE_NAME as I, hasEnclosingMarkOutsideKeycap as In, isFileSystemError as It, getRulesyncSourceCandidates as J, removeTempDirectory as Jt, RulesyncIgnore as K, removeFile as Kt, getLocalSkillDirNames as L, quoteForLog as Ln, isSymlink as Lt, FACTORYDROID_SETTINGS_LOCAL_FILE_NAME as M, DEPRECATED_FEATURE_REPLACEMENTS as Mn, fileExists as Mt, caseFoldIdentity as N, formatError as Nn, getFileSize as Nt, CLAUDECODE_MEMORIES_DIR_NAME as O, RULESYNC_XDG_CONFIG_HOME_DEFAULT_DIR_NAME as On, checkPathTraversal as Ot, groupSpellingsByCaseFoldedIdentity as P, truncateText as Pn, getHomeDirectory as Pt, RulesyncCommandFrontmatterSchema as Q, writeFileBuffer as Qt, RulesyncSubagent as R, stripControlCharacters as Rn, listDirectoryEntryNames as Rt, QWENCODE_LOCAL_RULE_FILE_NAME as S, RULESYNC_RELATIVE_DIR_PATH as Sn, CLIError as St, CODEXCLI_DIR as T, RULESYNC_SOURCES_LOCK_RELATIVE_FILE_PATH as Tn, assertDirectoryIfExists as Tt, RulesyncRuleFrontmatterSchema as U, readFileContentOrNull as Ut, RulesyncSkillFrontmatterSchema as V, pathEscapesRoot as Vt, RulesyncPermissions as W, removeDirectory as Wt, parseJsonc as X, runWithDirectoryRollback as Xt, resolveRulesyncSourceWritePath as Y, resolvePath as Yt, RulesyncCommand as Z, toPosixPath as Zt, IgnoreProcessor as _, RULESYNC_MCP_RELATIVE_FILE_PATH as _n, fallbackLogger as _t, getProcessorRegistryEntry as a, FEATURE_SOURCE_TREE_ENTRIES as an, ConfigResolver as at, CommandsProcessor as b, RULESYNC_PERMISSIONS_RELATIVE_FILE_PATH as bn, resetRunWarningState as bt, RulesProcessor as c, RULESYNC_CHECKS_RELATIVE_DIR_PATH as cn, CONFLICTING_TARGET_PAIRS as ct, CODEBUDDY_DIR as d, RULESYNC_CONFIG_SCHEMA_URL as dn, SourceEntrySchema as dt, ALL_TOOL_TARGETS as en, RulesyncCheckFrontmatterSchema as et, CODEBUDDY_LOCAL_RULE_FILE_NAME as f, RULESYNC_CURATED_RULES_RELATIVE_DIR_PATH as fn, assertTargetsFeaturesExclusive as ft, McpProcessor as g, RULESYNC_LOCAL_CONFIG_RELATIVE_FILE_PATH as gn, WarningCollectingLogger as gt, shortenToWidth as h, RULESYNC_IGNORE_RELATIVE_FILE_PATH as hn, JsonLogger as ht, inspectInputRoots as i, CURATED_RULES_FEATURE_SUBDIR as in, SKILL_FILE_NAME as it, FACTORYDROID_DIR as j, ALL_FEATURES_WITH_WILDCARD as jn, ensureDir as jt, CLAUDECODE_SETTINGS_LOCAL_FILE_NAME as k, parseCommaSeparatedList as kn, createTempDirectory as kt, SubagentsProcessor as l, RULESYNC_COMMANDS_RELATIVE_DIR_PATH as ln, ConfigFileSchema as lt, displayWidthOf as m, RULESYNC_HOOKS_RELATIVE_FILE_PATH as mn, ConsoleLogger as mt, formatSourceLoadFailure as n, PACKAGING_TOOL_TARGETS as nn, loadYaml as nt, convertFromTool as o, MAX_FILE_SIZE as on, mergeInputRootConfigs as ot, ELLIPSIS_WIDTH as p, RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH as pn, findControlCharacter as pt, RulesyncHooks as q, removeFileStrict as qt, generate as r, ToolTargetSchema as rn, SHARED_USER_MANAGED_CONFIG_PATHS as rt, isPackagingToolTarget as s, RULESYNC_AIIGNORE_RELATIVE_FILE_PATH as sn, resolveEffectiveInputRoots as st, importFromTool as t, ALL_TOOL_TARGETS_WITH_WILDCARD as tn, stringifyFrontmatter as tt, SkillsProcessor as u, RULESYNC_CONFIG_RELATIVE_FILE_PATH as un, GITIGNORE_DESTINATION_KEY as ut, HooksProcessor as v, RULESYNC_MCP_SCHEMA_URL as vn, warnOnConflictingFlags as vt, CODEXCLI_BASH_RULES_FILE_NAME as w, RULESYNC_SKILLS_RELATIVE_DIR_PATH as wn, applyFileMode as wt, QWENCODE_DIR as x, RULESYNC_PERMISSIONS_SCHEMA_URL as xn, withWarnOnceScope as xt, CRUSH_LOCAL_RULE_FILE_NAME as y, RULESYNC_NPM_SOURCES_LOCK_RELATIVE_FILE_PATH as yn, withFallbackLoggerTarget as yt, RulesyncSubagentFrontmatterSchema as z, stripControlCharactersKeepingLineFeeds as zn, listFilePathsRecursively as zt };
79276
79325
 
79277
- //# sourceMappingURL=import-De13gNpF.js.map
79326
+ //# sourceMappingURL=import-DoCUTXaU.js.map