rulesync 16.27.0 → 16.28.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.
@@ -22572,6 +22572,66 @@ const DEEPAGENTS_MCP_FILE_NAME = ".mcp.json";
22572
22572
  const DEEPAGENTS_CONFIG_FILE_NAME = "config.toml";
22573
22573
  const DEEPAGENTS_HOOKS_FILE_NAME = "hooks.json";
22574
22574
  //#endregion
22575
+ //#region src/utils/deepagents.ts
22576
+ const DEEPAGENTS_HOME_ENV = "DEEPAGENTS_HOME";
22577
+ /**
22578
+ * The profile root dcode reads when `DEEPAGENTS_HOME` is set, or `undefined`
22579
+ * when the default `~/.deepagents/` applies.
22580
+ *
22581
+ * Upstream captures the variable once at launch and accepts exactly two
22582
+ * spellings: an absolute path, or one beginning with `~/` (expanded against the
22583
+ * launch home). Anything else — a bare `~`, a `~user` form, a relative path —
22584
+ * makes dcode refuse to start, so the same value is rejected here rather than
22585
+ * resolved against the working directory: there is no location such a value
22586
+ * could name that dcode would read.
22587
+ *
22588
+ * @see https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/_paths.py
22589
+ */
22590
+ function getDeepagentsHome() {
22591
+ const configured = process.env[DEEPAGENTS_HOME_ENV]?.trim();
22592
+ if (!configured) return void 0;
22593
+ let root;
22594
+ if (configured.startsWith("~/")) root = resolve(getHomeDirectory(), configured.slice(2).replace(/^\/+/, ""));
22595
+ else if (isAbsolute(configured)) root = resolve(configured);
22596
+ else throw new Error(`Invalid ${DEEPAGENTS_HOME_ENV} ${JSON.stringify(configured)}: dcode accepts only an absolute path or a path beginning with "~/", so it would not start with this value. Unset it or point it at an absolute path.`);
22597
+ if (root === resolve(getHomeDirectory())) throw new Error(`Invalid ${DEEPAGENTS_HOME_ENV} ${JSON.stringify(configured)}: the home directory itself cannot be a profile, so dcode would not start with this value. Point it at a subdirectory such as "~/.deepagents".`);
22598
+ return root;
22599
+ }
22600
+ /**
22601
+ * Map a canonical `.deepagents/...` path constant onto the directory rulesync
22602
+ * actually writes in the requested scope.
22603
+ *
22604
+ * Project scope keeps the constant as-is (the project tree is `.deepagents/`
22605
+ * everywhere). Global scope without an override keeps it too, under the home
22606
+ * output root. When `DEEPAGENTS_HOME` is set, that directory *is* the profile
22607
+ * root, so the `.deepagents` prefix is stripped: `~/.deepagents/agent/skills`
22608
+ * becomes `$DEEPAGENTS_HOME/agent/skills`.
22609
+ */
22610
+ function getDeepagentsRelativeDirPath({ global, relativeDirPath }) {
22611
+ if (!global || !getDeepagentsHome()) return relativeDirPath;
22612
+ const relativePath = relative(DEEPAGENTS_DIR, relativeDirPath);
22613
+ try {
22614
+ checkPathTraversal({
22615
+ relativePath: relativeDirPath,
22616
+ intendedRootDir: "."
22617
+ });
22618
+ checkPathTraversal({
22619
+ relativePath,
22620
+ intendedRootDir: DEEPAGENTS_DIR
22621
+ });
22622
+ } catch {
22623
+ throw new Error(`deepagents global path must be within ${DEEPAGENTS_DIR}: ${relativeDirPath}`);
22624
+ }
22625
+ return relativePath || ".";
22626
+ }
22627
+ function getDeepagentsRulesyncOutputRoot({ nativeOutputRoot, global }) {
22628
+ return getToolRulesyncOutputRoot({
22629
+ nativeOutputRoot,
22630
+ global,
22631
+ toolHome: getDeepagentsHome
22632
+ });
22633
+ }
22634
+ //#endregion
22575
22635
  //#region src/features/hooks/deepagents-hooks.ts
22576
22636
  function isRecord(value) {
22577
22637
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -22686,9 +22746,12 @@ var DeepagentsHooks = class DeepagentsHooks extends ToolHooks {
22686
22746
  isDeletable() {
22687
22747
  return true;
22688
22748
  }
22689
- static getSettablePaths(_options = {}) {
22749
+ static getSettablePaths({ global = false } = {}) {
22690
22750
  return {
22691
- relativeDirPath: DEEPAGENTS_DIR,
22751
+ relativeDirPath: getDeepagentsRelativeDirPath({
22752
+ global,
22753
+ relativeDirPath: DEEPAGENTS_DIR
22754
+ }),
22692
22755
  relativeFilePath: DEEPAGENTS_HOOKS_FILE_NAME
22693
22756
  };
22694
22757
  }
@@ -22700,7 +22763,8 @@ var DeepagentsHooks = class DeepagentsHooks extends ToolHooks {
22700
22763
  relativeDirPath: paths.relativeDirPath,
22701
22764
  relativeFilePath: paths.relativeFilePath,
22702
22765
  fileContent,
22703
- validate
22766
+ validate,
22767
+ global
22704
22768
  });
22705
22769
  }
22706
22770
  static fromRulesyncHooks({ outputRoot = process.cwd(), rulesyncHooks, validate = true, global = false }) {
@@ -22724,10 +22788,16 @@ var DeepagentsHooks = class DeepagentsHooks extends ToolHooks {
22724
22788
  }
22725
22789
  const rawHooks = isRecord(parsed) ? parsed.hooks : void 0;
22726
22790
  const hooks = Array.isArray(rawHooks) ? deepagentsLegacyToCanonicalHooks(rawHooks) : isRecord(rawHooks) ? deepagentsToCanonicalHooks(rawHooks) : {};
22727
- return this.toRulesyncHooksDefault({ fileContent: JSON.stringify(buildImportedHooksConfig({
22728
- hooks,
22729
- overrideKey: "deepagents"
22730
- }), null, 2) });
22791
+ return this.toRulesyncHooksDefault({
22792
+ outputRoot: getDeepagentsRulesyncOutputRoot({
22793
+ nativeOutputRoot: this.outputRoot,
22794
+ global: this.global
22795
+ }),
22796
+ fileContent: JSON.stringify(buildImportedHooksConfig({
22797
+ hooks,
22798
+ overrideKey: "deepagents"
22799
+ }), null, 2)
22800
+ });
22731
22801
  }
22732
22802
  validate() {
22733
22803
  return {
@@ -30075,9 +30145,12 @@ var DeepagentsMcp = class DeepagentsMcp extends ToolMcp {
30075
30145
  isDeletable() {
30076
30146
  return !this.global;
30077
30147
  }
30078
- static getSettablePaths(_options = {}) {
30148
+ static getSettablePaths({ global = false } = {}) {
30079
30149
  return {
30080
- relativeDirPath: DEEPAGENTS_DIR,
30150
+ relativeDirPath: getDeepagentsRelativeDirPath({
30151
+ global,
30152
+ relativeDirPath: DEEPAGENTS_DIR
30153
+ }),
30081
30154
  relativeFilePath: DEEPAGENTS_MCP_FILE_NAME
30082
30155
  };
30083
30156
  }
@@ -30094,7 +30167,8 @@ var DeepagentsMcp = class DeepagentsMcp extends ToolMcp {
30094
30167
  relativeDirPath: paths.relativeDirPath,
30095
30168
  relativeFilePath: paths.relativeFilePath,
30096
30169
  fileContent: JSON.stringify(newJson, null, 2),
30097
- validate
30170
+ validate,
30171
+ global
30098
30172
  });
30099
30173
  }
30100
30174
  static async fromRulesyncMcp({ outputRoot = process.cwd(), rulesyncMcp, validate = true, global = false, logger }) {
@@ -30125,7 +30199,13 @@ var DeepagentsMcp = class DeepagentsMcp extends ToolMcp {
30125
30199
  toRulesyncMcp() {
30126
30200
  const servers = isRecord$1(this.json.mcpServers) ? this.json.mcpServers : {};
30127
30201
  const mcpServers = Object.fromEntries(Object.entries(servers).map(([name, server]) => [name, isRecord$1(server) ? toRulesyncServer(server) : server]));
30128
- return this.toRulesyncMcpDefault({ fileContent: JSON.stringify({ mcpServers }, null, 2) });
30202
+ return this.toRulesyncMcpDefault({
30203
+ outputRoot: getDeepagentsRulesyncOutputRoot({
30204
+ nativeOutputRoot: this.outputRoot,
30205
+ global: this.global
30206
+ }),
30207
+ fileContent: JSON.stringify({ mcpServers }, null, 2)
30208
+ });
30129
30209
  }
30130
30210
  validate() {
30131
30211
  return {
@@ -39954,9 +40034,12 @@ var DeepagentsPermissions = class DeepagentsPermissions extends ToolPermissions
39954
40034
  shouldSkipCreationWhenPayloadEmpty() {
39955
40035
  return true;
39956
40036
  }
39957
- static getSettablePaths(_options) {
40037
+ static getSettablePaths({ global = false } = {}) {
39958
40038
  return {
39959
- relativeDirPath: DEEPAGENTS_DIR,
40039
+ relativeDirPath: getDeepagentsRelativeDirPath({
40040
+ global,
40041
+ relativeDirPath: DEEPAGENTS_DIR
40042
+ }),
39960
40043
  relativeFilePath: DEEPAGENTS_CONFIG_FILE_NAME
39961
40044
  };
39962
40045
  }
@@ -40055,7 +40138,14 @@ var DeepagentsPermissions = class DeepagentsPermissions extends ToolPermissions
40055
40138
  if (Object.keys(startupOverride).length > 0) deepagents.startup = startupOverride;
40056
40139
  if (Object.keys(extensionsOverride).length > 0) deepagents.extensions = extensionsOverride;
40057
40140
  if (Object.keys(deepagents).length > 0) result.deepagents = deepagents;
40058
- return this.toRulesyncPermissionsDefault({ fileContent: JSON.stringify(result, null, 2) });
40141
+ return RulesyncPermissions.fromImportedFileContent({
40142
+ outputRoot: getDeepagentsRulesyncOutputRoot({
40143
+ nativeOutputRoot: this.outputRoot,
40144
+ global: this.global
40145
+ }),
40146
+ sourcePath: this.getRelativePathFromCwd(),
40147
+ fileContent: JSON.stringify(result, null, 2)
40148
+ });
40059
40149
  }
40060
40150
  validate() {
40061
40151
  return {
@@ -51782,7 +51872,10 @@ var DeepagentsSkill = class DeepagentsSkill extends ToolSkill {
51782
51872
  }
51783
51873
  }
51784
51874
  static getSettablePaths({ global = false } = {}) {
51785
- return { relativeDirPath: global ? DEEPAGENTS_GLOBAL_SKILLS_DIR_PATH : DEEPAGENTS_SKILLS_DIR_PATH };
51875
+ return { relativeDirPath: getDeepagentsRelativeDirPath({
51876
+ global,
51877
+ relativeDirPath: global ? DEEPAGENTS_GLOBAL_SKILLS_DIR_PATH : DEEPAGENTS_SKILLS_DIR_PATH
51878
+ }) };
51786
51879
  }
51787
51880
  getFrontmatter() {
51788
51881
  return DeepagentsSkillFrontmatterSchema.parse(this.requireMainFileFrontmatter());
@@ -51822,7 +51915,10 @@ var DeepagentsSkill = class DeepagentsSkill extends ToolSkill {
51822
51915
  ...Object.keys(deepagentsBlock).length > 0 && { deepagents: deepagentsBlock }
51823
51916
  };
51824
51917
  return new RulesyncSkill({
51825
- outputRoot: this.outputRoot,
51918
+ outputRoot: getDeepagentsRulesyncOutputRoot({
51919
+ nativeOutputRoot: this.outputRoot,
51920
+ global: this.global
51921
+ }),
51826
51922
  relativeDirPath: RULESYNC_SKILLS_RELATIVE_DIR_PATH,
51827
51923
  dirName: this.getDirName(),
51828
51924
  frontmatter: rulesyncFrontmatter,
@@ -57917,7 +58013,10 @@ var DeepagentsSubagent = class DeepagentsSubagent extends ToolSubagent {
57917
58013
  this.body = body;
57918
58014
  }
57919
58015
  static getSettablePaths({ global = false } = {}) {
57920
- return { relativeDirPath: global ? DEEPAGENTS_GLOBAL_AGENTS_DIR_PATH : DEEPAGENTS_AGENTS_DIR_PATH };
58016
+ return { relativeDirPath: getDeepagentsRelativeDirPath({
58017
+ global,
58018
+ relativeDirPath: global ? DEEPAGENTS_GLOBAL_AGENTS_DIR_PATH : DEEPAGENTS_AGENTS_DIR_PATH
58019
+ }) };
57921
58020
  }
57922
58021
  getFrontmatter() {
57923
58022
  return this.frontmatter;
@@ -57936,7 +58035,10 @@ var DeepagentsSubagent = class DeepagentsSubagent extends ToolSubagent {
57936
58035
  ...Object.keys(deepagentsSection).length > 0 && { deepagents: deepagentsSection }
57937
58036
  };
57938
58037
  return new RulesyncSubagent({
57939
- outputRoot: this.getOutputRoot(),
58038
+ outputRoot: getDeepagentsRulesyncOutputRoot({
58039
+ nativeOutputRoot: this.getOutputRoot(),
58040
+ global: this.global
58041
+ }),
57940
58042
  frontmatter: rulesyncFrontmatter,
57941
58043
  body: this.body,
57942
58044
  relativeDirPath: RULESYNC_SUBAGENTS_RELATIVE_DIR_PATH,
@@ -57979,7 +58081,8 @@ var DeepagentsSubagent = class DeepagentsSubagent extends ToolSubagent {
57979
58081
  relativeDirPath: paths.relativeDirPath,
57980
58082
  relativeFilePath: join(subagentName, DEEPAGENTS_SUBAGENT_FILE_NAME),
57981
58083
  fileContent,
57982
- validate
58084
+ validate,
58085
+ global
57983
58086
  });
57984
58087
  }
57985
58088
  validate() {
@@ -58017,7 +58120,8 @@ var DeepagentsSubagent = class DeepagentsSubagent extends ToolSubagent {
58017
58120
  frontmatter: result.data,
58018
58121
  body: content.trim(),
58019
58122
  fileContent,
58020
- validate
58123
+ validate,
58124
+ global
58021
58125
  });
58022
58126
  }
58023
58127
  static forDeletion({ outputRoot = process.cwd(), relativeDirPath, relativeFilePath }) {
@@ -64023,7 +64127,10 @@ var DeepagentsRule = class DeepagentsRule extends ToolRule {
64023
64127
  }
64024
64128
  static getSettablePaths({ global = false } = {}) {
64025
64129
  return { root: {
64026
- relativeDirPath: global ? DEEPAGENTS_GLOBAL_DIR : DEEPAGENTS_DIR,
64130
+ relativeDirPath: getDeepagentsRelativeDirPath({
64131
+ global,
64132
+ relativeDirPath: global ? DEEPAGENTS_GLOBAL_DIR : DEEPAGENTS_DIR
64133
+ }),
64027
64134
  relativeFilePath: DEEPAGENTS_RULE_FILE_NAME
64028
64135
  } };
64029
64136
  }
@@ -64037,17 +64144,19 @@ var DeepagentsRule = class DeepagentsRule extends ToolRule {
64037
64144
  relativeFilePath: settablePaths.root.relativeFilePath,
64038
64145
  fileContent,
64039
64146
  validate,
64040
- root: true
64147
+ root: true,
64148
+ global
64041
64149
  });
64042
64150
  }
64043
- static forDeletion({ outputRoot = process.cwd(), relativeDirPath, relativeFilePath }) {
64151
+ static forDeletion({ outputRoot = process.cwd(), relativeDirPath, relativeFilePath, global = false }) {
64152
+ const isRoot = relativeFilePath === "AGENTS.md" && relativeDirPath === this.getSettablePaths({ global }).root.relativeDirPath;
64044
64153
  return new DeepagentsRule({
64045
64154
  outputRoot,
64046
64155
  relativeDirPath,
64047
64156
  relativeFilePath,
64048
64157
  fileContent: "",
64049
64158
  validate: false,
64050
- root: relativeFilePath === "AGENTS.md" && (relativeDirPath === ".deepagents" || relativeDirPath === DEEPAGENTS_GLOBAL_DIR)
64159
+ root: isRoot
64051
64160
  });
64052
64161
  }
64053
64162
  static fromRulesyncRule({ outputRoot = process.cwd(), rulesyncRule, validate = true, global = false }) {
@@ -68624,12 +68733,13 @@ async function assertPluginRootSafe(params) {
68624
68733
  //#region src/utils/tool-output-root.ts
68625
68734
  /** The environment variable each tool reads for its profile root. */
68626
68735
  const TOOL_HOME_ENV_VARS = {
68736
+ deepagents: "DEEPAGENTS_HOME",
68627
68737
  hermesagent: "HERMES_HOME",
68628
68738
  "kimi-code": "KIMI_CODE_HOME"
68629
68739
  };
68630
68740
  /**
68631
- * Substitute a tool's home override (`HERMES_HOME`, `KIMI_CODE_HOME`) for the
68632
- * output root in global scope.
68741
+ * Substitute a tool's home override (`DEEPAGENTS_HOME`, `HERMES_HOME`,
68742
+ * `KIMI_CODE_HOME`) for the output root in global scope.
68633
68743
  *
68634
68744
  * The override wins over `--output-roots`: it names where the tool itself reads
68635
68745
  * its profile, so writing anywhere else would produce files the tool ignores.
@@ -68644,7 +68754,7 @@ function resolveToolOutputRoot({ outputRoot, toolTarget, global }) {
68644
68754
  const resolved = toolTarget === "hermesagent" ? resolveHermesagentOutputRoot({
68645
68755
  outputRoot,
68646
68756
  global
68647
- }) : toolTarget === "kimi-code" ? getKimiCodeHome() ?? outputRoot : outputRoot;
68757
+ }) : toolTarget === "kimi-code" ? getKimiCodeHome() ?? outputRoot : toolTarget === "deepagents" ? getDeepagentsHome() ?? outputRoot : outputRoot;
68648
68758
  if (resolved === outputRoot) return resolved;
68649
68759
  try {
68650
68760
  validateOutputRoot(resolved);
@@ -70644,4 +70754,4 @@ async function importChecksCore(params) {
70644
70754
  //#endregion
70645
70755
  export { RulesyncCheck as $, ALL_TOOL_TARGETS as $t, CLAUDECODE_SKILLS_DIR_PATH as A, RULESYNC_SOURCES_LOCK_RELATIVE_FILE_PATH as An, ensureDir as At, RulesyncSkill as B, quoteForLog as Bn, pathEscapesRoot as Bt, ChecksProcessor as C, RULESYNC_PERMISSIONS_FILE_NAME as Cn, applyFileMode as Ct, CLAUDECODE_LOCAL_RULE_FILE_NAME as D, RULESYNC_RELATIVE_DIR_PATH as Dn, checkPathTraversal as Dt, CLAUDECODE_DIR as E, RULESYNC_PERMISSIONS_SCHEMA_URL as En, assertWritablePathInsideRoot as Et, AUGMENTCODE_DIR as F, DEPRECATED_FEATURE_REPLACEMENTS as Fn, isFileSystemError as Ft, RulesyncMcp as G, removeFile as Gt, RulesyncRule as H, stripControlCharactersKeepingLineFeeds as Hn, readFileContentOrNull as Ht, AUGMENTCODE_SETTINGS_LOCAL_FILE_NAME as I, formatError as In, isSymlink as It, getRulesyncSourceCandidates as J, resolvePath as Jt, RulesyncIgnore as K, removeFileStrict as Kt, getLocalSkillDirNames as L, truncateText as Ln, listDirectoryEntryNames as Lt, FACTORYDROID_SETTINGS_LOCAL_FILE_NAME as M, parseCommaSeparatedList as Mn, getFileSize as Mt, caseFoldIdentity as N, ALL_FEATURES as Nn, getHomeDirectory as Nt, CLAUDECODE_MEMORIES_DIR_NAME as O, RULESYNC_RULES_RELATIVE_DIR_PATH as On, createTempDirectory as Ot, groupSpellingsByCaseFoldedIdentity as P, ALL_FEATURES_WITH_WILDCARD as Pn, isFileNotFoundError as Pt, RulesyncCommandFrontmatterSchema as Q, writeFileContent as Qt, RulesyncSubagent as R, hasDeceptiveHiddenCharacters as Rn, listFilePathsRecursively as Rt, QWENCODE_LOCAL_RULE_FILE_NAME as S, RULESYNC_NPM_SOURCES_LOCK_RELATIVE_FILE_PATH as Sn, ErrorCodes as St, CODEXCLI_DIR as T, RULESYNC_PERMISSIONS_RELATIVE_FILE_PATH as Tn, assertTreeContainsNoSymlinks as Tt, RulesyncRuleFrontmatterSchema as U, stripHiddenCharacters as Un, removeDirectory as Ut, RulesyncSkillFrontmatterSchema as V, stripControlCharacters as Vn, readFileContent as Vt, RulesyncPermissions as W, removeDirectoryStrict as Wt, parseJsonc as X, toPosixPath as Xt, resolveRulesyncSourceWritePath as Y, runWithDirectoryRollback as Yt, RulesyncCommand as Z, writeFileBuffer as Zt, IgnoreProcessor as _, RULESYNC_LOCAL_CONFIG_RELATIVE_FILE_PATH as _n, warnOnConflictingFlags as _t, getProcessorRegistryEntry as a, RULESYNC_AIIGNORE_FILE_NAME as an, ConfigResolver as at, CommandsProcessor as b, RULESYNC_MCP_RELATIVE_FILE_PATH as bn, withWarnOnceScope as bt, RulesProcessor as c, RULESYNC_COMMANDS_RELATIVE_DIR_PATH as cn, CONFLICTING_TARGET_PAIRS as ct, CODEBUDDY_DIR as d, RULESYNC_CURATED_RULES_RELATIVE_DIR_PATH as dn, SourceEntrySchema as dt, ALL_TOOL_TARGETS_WITH_WILDCARD as en, RulesyncCheckFrontmatterSchema as et, CODEBUDDY_LOCAL_RULE_FILE_NAME as f, RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH as fn, findControlCharacter as ft, McpProcessor as g, RULESYNC_IGNORE_RELATIVE_FILE_PATH as gn, fallbackLogger as gt, shortenToWidth as h, RULESYNC_HOOKS_RELATIVE_FILE_PATH as hn, WarningCollectingLogger as ht, inspectInputRoots as i, MAX_FILE_SIZE as in, SKILL_FILE_NAME as it, FACTORYDROID_DIR as j, RULESYNC_SUBAGENTS_RELATIVE_DIR_PATH as jn, fileExists as jt, CLAUDECODE_SETTINGS_LOCAL_FILE_NAME as k, RULESYNC_SKILLS_RELATIVE_DIR_PATH as kn, directoryExists as kt, SubagentsProcessor as l, RULESYNC_CONFIG_RELATIVE_FILE_PATH as ln, ConfigFileSchema as lt, displayWidthOf as m, RULESYNC_HOOKS_LEGACY_FILE_NAME as mn, JsonLogger as mt, formatSourceLoadFailure as n, ToolTargetSchema as nn, loadYaml as nt, convertFromTool as o, RULESYNC_AIIGNORE_RELATIVE_FILE_PATH as on, mergeInputRootConfigs as ot, ELLIPSIS_WIDTH as p, RULESYNC_HOOKS_FILE_NAME as pn, ConsoleLogger as pt, RulesyncHooks as q, removeTempDirectory as qt, generate as r, CURATED_RULES_FEATURE_SUBDIR as rn, SHARED_USER_MANAGED_CONFIG_PATHS as rt, isPackagingToolTarget as s, RULESYNC_CHECKS_RELATIVE_DIR_PATH as sn, resolveEffectiveInputRoots as st, importFromTool as t, PACKAGING_TOOL_TARGETS as tn, stringifyFrontmatter as tt, SkillsProcessor as u, RULESYNC_CONFIG_SCHEMA_URL as un, GITIGNORE_DESTINATION_KEY as ut, CRUSH_LOCAL_RULE_FILE_NAME as v, RULESYNC_MCP_FILE_NAME as vn, withFallbackLoggerTarget as vt, CODEXCLI_BASH_RULES_FILE_NAME as w, RULESYNC_PERMISSIONS_LEGACY_FILE_NAME as wn, assertDirectoryIfExists as wt, QWENCODE_DIR as x, RULESYNC_MCP_SCHEMA_URL as xn, CLIError as xt, HooksProcessor as y, RULESYNC_MCP_LEGACY_FILE_NAME as yn, resetRunWarningState as yt, RulesyncSubagentFrontmatterSchema as z, hasEnclosingMarkOutsideKeycap as zn, listSubdirectoryNames as zt };
70646
70756
 
70647
- //# sourceMappingURL=import-B4xSMKr-.js.map
70757
+ //# sourceMappingURL=import-CwS7XtJP.js.map