rulesync 8.17.0 → 8.18.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/{chunk-RXCRO26Z.js → chunk-KDGHMXTY.js} +134 -94
- package/dist/cli/index.cjs +339 -299
- package/dist/cli/index.js +2 -2
- package/dist/index.cjs +134 -94
- package/dist/index.js +1 -1
- package/package.json +3 -1
package/dist/cli/index.cjs
CHANGED
|
@@ -8016,14 +8016,21 @@ var ClineMcp = class _ClineMcp extends ToolMcp {
|
|
|
8016
8016
|
// src/features/mcp/codexcli-mcp.ts
|
|
8017
8017
|
var import_node_path54 = require("path");
|
|
8018
8018
|
var smolToml3 = __toESM(require("smol-toml"), 1);
|
|
8019
|
+
var MAX_REMOVE_EMPTY_ENTRIES_DEPTH = 32;
|
|
8020
|
+
var PROTOTYPE_POLLUTION_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
|
|
8021
|
+
function isPlainObject2(value) {
|
|
8022
|
+
if (!isRecord(value)) return false;
|
|
8023
|
+
const proto = Object.getPrototypeOf(value);
|
|
8024
|
+
return proto === null || proto === Object.prototype;
|
|
8025
|
+
}
|
|
8019
8026
|
function convertFromCodexFormat(codexMcp) {
|
|
8020
8027
|
const result = {};
|
|
8021
8028
|
for (const [name, config] of Object.entries(codexMcp)) {
|
|
8022
|
-
if (
|
|
8023
|
-
|
|
8024
|
-
}
|
|
8029
|
+
if (PROTOTYPE_POLLUTION_KEYS.has(name)) continue;
|
|
8030
|
+
if (!isRecord(config)) continue;
|
|
8025
8031
|
const converted = {};
|
|
8026
8032
|
for (const [key, value] of Object.entries(config)) {
|
|
8033
|
+
if (PROTOTYPE_POLLUTION_KEYS.has(key)) continue;
|
|
8027
8034
|
if (key === "enabled") {
|
|
8028
8035
|
if (value === false) {
|
|
8029
8036
|
converted["disabled"] = true;
|
|
@@ -8045,8 +8052,11 @@ function convertFromCodexFormat(codexMcp) {
|
|
|
8045
8052
|
function convertToCodexFormat(mcpServers) {
|
|
8046
8053
|
const result = {};
|
|
8047
8054
|
for (const [name, config] of Object.entries(mcpServers)) {
|
|
8055
|
+
if (PROTOTYPE_POLLUTION_KEYS.has(name)) continue;
|
|
8056
|
+
if (!isRecord(config)) continue;
|
|
8048
8057
|
const converted = {};
|
|
8049
8058
|
for (const [key, value] of Object.entries(config)) {
|
|
8059
|
+
if (PROTOTYPE_POLLUTION_KEYS.has(key)) continue;
|
|
8050
8060
|
if (key === "disabled") {
|
|
8051
8061
|
if (value === true) {
|
|
8052
8062
|
converted["enabled"] = false;
|
|
@@ -8128,6 +8138,14 @@ var CodexcliMcp = class _CodexcliMcp extends ToolMcp {
|
|
|
8128
8138
|
const mcpServers = rulesyncMcp.getJson().mcpServers;
|
|
8129
8139
|
const converted = convertToCodexFormat(mcpServers);
|
|
8130
8140
|
const filteredMcpServers = this.removeEmptyEntries(converted);
|
|
8141
|
+
for (const name of Object.keys(converted)) {
|
|
8142
|
+
if (!Object.hasOwn(filteredMcpServers, name)) {
|
|
8143
|
+
warnWithFallback(
|
|
8144
|
+
void 0,
|
|
8145
|
+
`MCP server "${name}" had no non-empty configuration and was dropped from the codex CLI config`
|
|
8146
|
+
);
|
|
8147
|
+
}
|
|
8148
|
+
}
|
|
8131
8149
|
configToml["mcp_servers"] = filteredMcpServers;
|
|
8132
8150
|
return new _CodexcliMcp({
|
|
8133
8151
|
outputRoot,
|
|
@@ -8147,13 +8165,21 @@ var CodexcliMcp = class _CodexcliMcp extends ToolMcp {
|
|
|
8147
8165
|
validate() {
|
|
8148
8166
|
return { success: true, error: null };
|
|
8149
8167
|
}
|
|
8150
|
-
static removeEmptyEntries(obj) {
|
|
8168
|
+
static removeEmptyEntries(obj, depth = 0) {
|
|
8151
8169
|
if (!obj) return {};
|
|
8170
|
+
if (depth > MAX_REMOVE_EMPTY_ENTRIES_DEPTH) {
|
|
8171
|
+
warnWithFallback(
|
|
8172
|
+
void 0,
|
|
8173
|
+
`removeEmptyEntries: maximum recursion depth (${MAX_REMOVE_EMPTY_ENTRIES_DEPTH}) exceeded; empty nested objects may remain`
|
|
8174
|
+
);
|
|
8175
|
+
return obj;
|
|
8176
|
+
}
|
|
8152
8177
|
const filtered = {};
|
|
8153
8178
|
for (const [key, value] of Object.entries(obj)) {
|
|
8179
|
+
if (PROTOTYPE_POLLUTION_KEYS.has(key)) continue;
|
|
8154
8180
|
if (value === null) continue;
|
|
8155
|
-
if (
|
|
8156
|
-
const cleaned = this.removeEmptyEntries(value);
|
|
8181
|
+
if (isPlainObject2(value)) {
|
|
8182
|
+
const cleaned = this.removeEmptyEntries(value, depth + 1);
|
|
8157
8183
|
if (Object.keys(cleaned).length === 0) continue;
|
|
8158
8184
|
filtered[key] = cleaned;
|
|
8159
8185
|
continue;
|
|
@@ -9846,7 +9872,13 @@ var toolMcpFactories = /* @__PURE__ */ new Map([
|
|
|
9846
9872
|
class: KiloMcp,
|
|
9847
9873
|
meta: {
|
|
9848
9874
|
supportsProject: true,
|
|
9849
|
-
|
|
9875
|
+
// Kilo CLI reads global MCP from `~/.config/kilo/kilo.json` (or
|
|
9876
|
+
// `kilo.jsonc`). The path machinery in `KiloMcp.getSettablePaths`
|
|
9877
|
+
// already routes global mode to that location; only this flag
|
|
9878
|
+
// was gating it off. Kilo is an OpenCode fork and uses an
|
|
9879
|
+
// identical native MCP schema, so global parity with opencode
|
|
9880
|
+
// is the natural state.
|
|
9881
|
+
supportsGlobal: true,
|
|
9850
9882
|
supportsEnabledTools: false,
|
|
9851
9883
|
supportsDisabledTools: false
|
|
9852
9884
|
}
|
|
@@ -12967,7 +12999,7 @@ var PermissionsProcessor = class extends FeatureProcessor {
|
|
|
12967
12999
|
// src/features/rules/rules-processor.ts
|
|
12968
13000
|
var import_node_path154 = require("path");
|
|
12969
13001
|
var import_toon = require("@toon-format/toon");
|
|
12970
|
-
var
|
|
13002
|
+
var import_mini80 = require("zod/mini");
|
|
12971
13003
|
|
|
12972
13004
|
// src/constants/general.ts
|
|
12973
13005
|
var SKILL_FILE_NAME = "SKILL.md";
|
|
@@ -17919,7 +17951,7 @@ var RovodevSubagent = class _RovodevSubagent extends ToolSubagent {
|
|
|
17919
17951
|
|
|
17920
17952
|
// src/features/subagents/subagents-processor.ts
|
|
17921
17953
|
var import_node_path125 = require("path");
|
|
17922
|
-
var
|
|
17954
|
+
var import_mini73 = require("zod/mini");
|
|
17923
17955
|
|
|
17924
17956
|
// src/features/subagents/claudecode-subagent.ts
|
|
17925
17957
|
var import_node_path113 = require("path");
|
|
@@ -19079,6 +19111,7 @@ var JunieSubagent = class _JunieSubagent extends ToolSubagent {
|
|
|
19079
19111
|
|
|
19080
19112
|
// src/features/subagents/kilo-subagent.ts
|
|
19081
19113
|
var import_node_path121 = require("path");
|
|
19114
|
+
var import_mini71 = require("zod/mini");
|
|
19082
19115
|
|
|
19083
19116
|
// src/features/subagents/opencode-style-subagent.ts
|
|
19084
19117
|
var import_node_path120 = require("path");
|
|
@@ -19145,7 +19178,13 @@ var OpenCodeStyleSubagent = class extends ToolSubagent {
|
|
|
19145
19178
|
};
|
|
19146
19179
|
|
|
19147
19180
|
// src/features/subagents/kilo-subagent.ts
|
|
19148
|
-
var KiloSubagentFrontmatterSchema =
|
|
19181
|
+
var KiloSubagentFrontmatterSchema = import_mini71.z.looseObject({
|
|
19182
|
+
description: import_mini71.z.optional(import_mini71.z.string()),
|
|
19183
|
+
// Kilo's documented default for user-defined agents is "all":
|
|
19184
|
+
// available both as a top-level pick and as a subagent.
|
|
19185
|
+
mode: import_mini71.z._default(import_mini71.z.string(), "all"),
|
|
19186
|
+
name: import_mini71.z.optional(import_mini71.z.string())
|
|
19187
|
+
});
|
|
19149
19188
|
var KiloSubagent = class _KiloSubagent extends OpenCodeStyleSubagent {
|
|
19150
19189
|
getToolTarget() {
|
|
19151
19190
|
return "kilo";
|
|
@@ -19165,12 +19204,11 @@ var KiloSubagent = class _KiloSubagent extends OpenCodeStyleSubagent {
|
|
|
19165
19204
|
}) {
|
|
19166
19205
|
const rulesyncFrontmatter = rulesyncSubagent.getFrontmatter();
|
|
19167
19206
|
const kiloSection = rulesyncFrontmatter.kilo ?? {};
|
|
19168
|
-
const kiloFrontmatter = {
|
|
19207
|
+
const kiloFrontmatter = KiloSubagentFrontmatterSchema.parse({
|
|
19169
19208
|
...kiloSection,
|
|
19170
19209
|
description: rulesyncFrontmatter.description,
|
|
19171
|
-
mode: typeof kiloSection.mode === "string" ? kiloSection.mode : "subagent",
|
|
19172
19210
|
...rulesyncFrontmatter.name && { name: rulesyncFrontmatter.name }
|
|
19173
|
-
};
|
|
19211
|
+
});
|
|
19174
19212
|
const body = rulesyncSubagent.getBody();
|
|
19175
19213
|
const fileContent = stringifyFrontmatter(body, kiloFrontmatter);
|
|
19176
19214
|
const paths = this.getSettablePaths({ global });
|
|
@@ -19219,38 +19257,40 @@ var KiloSubagent = class _KiloSubagent extends OpenCodeStyleSubagent {
|
|
|
19219
19257
|
static forDeletion({
|
|
19220
19258
|
outputRoot = process.cwd(),
|
|
19221
19259
|
relativeDirPath,
|
|
19222
|
-
relativeFilePath
|
|
19260
|
+
relativeFilePath,
|
|
19261
|
+
global = false
|
|
19223
19262
|
}) {
|
|
19224
19263
|
return new _KiloSubagent({
|
|
19225
19264
|
outputRoot,
|
|
19226
19265
|
relativeDirPath,
|
|
19227
19266
|
relativeFilePath,
|
|
19228
|
-
frontmatter: { description: "", mode: "
|
|
19267
|
+
frontmatter: { description: "", mode: "all" },
|
|
19229
19268
|
body: "",
|
|
19230
19269
|
fileContent: "",
|
|
19231
|
-
validate: false
|
|
19270
|
+
validate: false,
|
|
19271
|
+
global
|
|
19232
19272
|
});
|
|
19233
19273
|
}
|
|
19234
19274
|
};
|
|
19235
19275
|
|
|
19236
19276
|
// src/features/subagents/kiro-subagent.ts
|
|
19237
19277
|
var import_node_path122 = require("path");
|
|
19238
|
-
var
|
|
19239
|
-
var KiroCliSubagentJsonSchema =
|
|
19240
|
-
name:
|
|
19241
|
-
description:
|
|
19242
|
-
prompt:
|
|
19243
|
-
tools:
|
|
19244
|
-
toolAliases:
|
|
19245
|
-
toolSettings:
|
|
19246
|
-
toolSchema:
|
|
19247
|
-
hooks:
|
|
19248
|
-
model:
|
|
19249
|
-
mcpServers:
|
|
19250
|
-
useLegacyMcpJson:
|
|
19251
|
-
resources:
|
|
19252
|
-
allowedTools:
|
|
19253
|
-
includeMcpJson:
|
|
19278
|
+
var import_mini72 = require("zod/mini");
|
|
19279
|
+
var KiroCliSubagentJsonSchema = import_mini72.z.looseObject({
|
|
19280
|
+
name: import_mini72.z.string(),
|
|
19281
|
+
description: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.string())),
|
|
19282
|
+
prompt: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.string())),
|
|
19283
|
+
tools: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.array(import_mini72.z.string()))),
|
|
19284
|
+
toolAliases: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.record(import_mini72.z.string(), import_mini72.z.string()))),
|
|
19285
|
+
toolSettings: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.unknown())),
|
|
19286
|
+
toolSchema: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.unknown())),
|
|
19287
|
+
hooks: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.record(import_mini72.z.string(), import_mini72.z.array(import_mini72.z.unknown())))),
|
|
19288
|
+
model: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.string())),
|
|
19289
|
+
mcpServers: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.record(import_mini72.z.string(), import_mini72.z.unknown()))),
|
|
19290
|
+
useLegacyMcpJson: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.boolean())),
|
|
19291
|
+
resources: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.array(import_mini72.z.string()))),
|
|
19292
|
+
allowedTools: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.array(import_mini72.z.string()))),
|
|
19293
|
+
includeMcpJson: import_mini72.z.optional(import_mini72.z.nullable(import_mini72.z.boolean()))
|
|
19254
19294
|
});
|
|
19255
19295
|
var KiroSubagent = class _KiroSubagent extends ToolSubagent {
|
|
19256
19296
|
body;
|
|
@@ -19616,7 +19656,7 @@ var subagentsProcessorToolTargetTuple = [
|
|
|
19616
19656
|
"rovodev",
|
|
19617
19657
|
"takt"
|
|
19618
19658
|
];
|
|
19619
|
-
var SubagentsProcessorToolTargetSchema =
|
|
19659
|
+
var SubagentsProcessorToolTargetSchema = import_mini73.z.enum(subagentsProcessorToolTargetTuple);
|
|
19620
19660
|
var toolSubagentFactories = /* @__PURE__ */ new Map([
|
|
19621
19661
|
[
|
|
19622
19662
|
"agentsmd",
|
|
@@ -19945,48 +19985,48 @@ var import_node_path127 = require("path");
|
|
|
19945
19985
|
|
|
19946
19986
|
// src/features/rules/rulesync-rule.ts
|
|
19947
19987
|
var import_node_path126 = require("path");
|
|
19948
|
-
var
|
|
19949
|
-
var RulesyncRuleFrontmatterSchema =
|
|
19950
|
-
root:
|
|
19951
|
-
localRoot:
|
|
19952
|
-
targets:
|
|
19953
|
-
description:
|
|
19954
|
-
globs:
|
|
19955
|
-
agentsmd:
|
|
19956
|
-
|
|
19988
|
+
var import_mini74 = require("zod/mini");
|
|
19989
|
+
var RulesyncRuleFrontmatterSchema = import_mini74.z.object({
|
|
19990
|
+
root: import_mini74.z.optional(import_mini74.z.boolean()),
|
|
19991
|
+
localRoot: import_mini74.z.optional(import_mini74.z.boolean()),
|
|
19992
|
+
targets: import_mini74.z._default(RulesyncTargetsSchema, ["*"]),
|
|
19993
|
+
description: import_mini74.z.optional(import_mini74.z.string()),
|
|
19994
|
+
globs: import_mini74.z.optional(import_mini74.z.array(import_mini74.z.string())),
|
|
19995
|
+
agentsmd: import_mini74.z.optional(
|
|
19996
|
+
import_mini74.z.looseObject({
|
|
19957
19997
|
// @example "path/to/subproject"
|
|
19958
|
-
subprojectPath:
|
|
19998
|
+
subprojectPath: import_mini74.z.optional(import_mini74.z.string())
|
|
19959
19999
|
})
|
|
19960
20000
|
),
|
|
19961
|
-
claudecode:
|
|
19962
|
-
|
|
20001
|
+
claudecode: import_mini74.z.optional(
|
|
20002
|
+
import_mini74.z.looseObject({
|
|
19963
20003
|
// Glob patterns for conditional rules (takes precedence over globs)
|
|
19964
20004
|
// @example ["src/**/*.ts", "tests/**/*.test.ts"]
|
|
19965
|
-
paths:
|
|
20005
|
+
paths: import_mini74.z.optional(import_mini74.z.array(import_mini74.z.string()))
|
|
19966
20006
|
})
|
|
19967
20007
|
),
|
|
19968
|
-
cursor:
|
|
19969
|
-
|
|
19970
|
-
alwaysApply:
|
|
19971
|
-
description:
|
|
19972
|
-
globs:
|
|
20008
|
+
cursor: import_mini74.z.optional(
|
|
20009
|
+
import_mini74.z.looseObject({
|
|
20010
|
+
alwaysApply: import_mini74.z.optional(import_mini74.z.boolean()),
|
|
20011
|
+
description: import_mini74.z.optional(import_mini74.z.string()),
|
|
20012
|
+
globs: import_mini74.z.optional(import_mini74.z.array(import_mini74.z.string()))
|
|
19973
20013
|
})
|
|
19974
20014
|
),
|
|
19975
|
-
copilot:
|
|
19976
|
-
|
|
19977
|
-
excludeAgent:
|
|
20015
|
+
copilot: import_mini74.z.optional(
|
|
20016
|
+
import_mini74.z.looseObject({
|
|
20017
|
+
excludeAgent: import_mini74.z.optional(import_mini74.z.union([import_mini74.z.literal("code-review"), import_mini74.z.literal("coding-agent")]))
|
|
19978
20018
|
})
|
|
19979
20019
|
),
|
|
19980
|
-
antigravity:
|
|
19981
|
-
|
|
19982
|
-
trigger:
|
|
19983
|
-
globs:
|
|
20020
|
+
antigravity: import_mini74.z.optional(
|
|
20021
|
+
import_mini74.z.looseObject({
|
|
20022
|
+
trigger: import_mini74.z.optional(import_mini74.z.string()),
|
|
20023
|
+
globs: import_mini74.z.optional(import_mini74.z.array(import_mini74.z.string()))
|
|
19984
20024
|
})
|
|
19985
20025
|
),
|
|
19986
|
-
takt:
|
|
19987
|
-
|
|
20026
|
+
takt: import_mini74.z.optional(
|
|
20027
|
+
import_mini74.z.looseObject({
|
|
19988
20028
|
// Rename the emitted file stem (e.g. "coder.md" → "{name}.md").
|
|
19989
|
-
name:
|
|
20029
|
+
name: import_mini74.z.optional(import_mini74.z.string())
|
|
19990
20030
|
})
|
|
19991
20031
|
)
|
|
19992
20032
|
});
|
|
@@ -20287,20 +20327,20 @@ var AgentsMdRule = class _AgentsMdRule extends ToolRule {
|
|
|
20287
20327
|
|
|
20288
20328
|
// src/features/rules/antigravity-rule.ts
|
|
20289
20329
|
var import_node_path129 = require("path");
|
|
20290
|
-
var
|
|
20291
|
-
var AntigravityRuleFrontmatterSchema =
|
|
20292
|
-
trigger:
|
|
20293
|
-
|
|
20294
|
-
|
|
20295
|
-
|
|
20296
|
-
|
|
20297
|
-
|
|
20298
|
-
|
|
20330
|
+
var import_mini75 = require("zod/mini");
|
|
20331
|
+
var AntigravityRuleFrontmatterSchema = import_mini75.z.looseObject({
|
|
20332
|
+
trigger: import_mini75.z.optional(
|
|
20333
|
+
import_mini75.z.union([
|
|
20334
|
+
import_mini75.z.literal("always_on"),
|
|
20335
|
+
import_mini75.z.literal("glob"),
|
|
20336
|
+
import_mini75.z.literal("manual"),
|
|
20337
|
+
import_mini75.z.literal("model_decision"),
|
|
20338
|
+
import_mini75.z.string()
|
|
20299
20339
|
// accepts any string for forward compatibility
|
|
20300
20340
|
])
|
|
20301
20341
|
),
|
|
20302
|
-
globs:
|
|
20303
|
-
description:
|
|
20342
|
+
globs: import_mini75.z.optional(import_mini75.z.string()),
|
|
20343
|
+
description: import_mini75.z.optional(import_mini75.z.string())
|
|
20304
20344
|
});
|
|
20305
20345
|
function parseGlobsString(globs) {
|
|
20306
20346
|
if (!globs) {
|
|
@@ -20887,9 +20927,9 @@ var ClaudecodeLegacyRule = class _ClaudecodeLegacyRule extends ToolRule {
|
|
|
20887
20927
|
|
|
20888
20928
|
// src/features/rules/claudecode-rule.ts
|
|
20889
20929
|
var import_node_path133 = require("path");
|
|
20890
|
-
var
|
|
20891
|
-
var ClaudecodeRuleFrontmatterSchema =
|
|
20892
|
-
paths:
|
|
20930
|
+
var import_mini76 = require("zod/mini");
|
|
20931
|
+
var ClaudecodeRuleFrontmatterSchema = import_mini76.z.object({
|
|
20932
|
+
paths: import_mini76.z.optional(import_mini76.z.array(import_mini76.z.string()))
|
|
20893
20933
|
});
|
|
20894
20934
|
var ClaudecodeRule = class _ClaudecodeRule extends ToolRule {
|
|
20895
20935
|
frontmatter;
|
|
@@ -21105,9 +21145,9 @@ var ClaudecodeRule = class _ClaudecodeRule extends ToolRule {
|
|
|
21105
21145
|
|
|
21106
21146
|
// src/features/rules/cline-rule.ts
|
|
21107
21147
|
var import_node_path134 = require("path");
|
|
21108
|
-
var
|
|
21109
|
-
var ClineRuleFrontmatterSchema =
|
|
21110
|
-
description:
|
|
21148
|
+
var import_mini77 = require("zod/mini");
|
|
21149
|
+
var ClineRuleFrontmatterSchema = import_mini77.z.object({
|
|
21150
|
+
description: import_mini77.z.string()
|
|
21111
21151
|
});
|
|
21112
21152
|
var ClineRule = class _ClineRule extends ToolRule {
|
|
21113
21153
|
static getSettablePaths(_options = {}) {
|
|
@@ -21286,11 +21326,11 @@ var CodexcliRule = class _CodexcliRule extends ToolRule {
|
|
|
21286
21326
|
|
|
21287
21327
|
// src/features/rules/copilot-rule.ts
|
|
21288
21328
|
var import_node_path136 = require("path");
|
|
21289
|
-
var
|
|
21290
|
-
var CopilotRuleFrontmatterSchema =
|
|
21291
|
-
description:
|
|
21292
|
-
applyTo:
|
|
21293
|
-
excludeAgent:
|
|
21329
|
+
var import_mini78 = require("zod/mini");
|
|
21330
|
+
var CopilotRuleFrontmatterSchema = import_mini78.z.object({
|
|
21331
|
+
description: import_mini78.z.optional(import_mini78.z.string()),
|
|
21332
|
+
applyTo: import_mini78.z.optional(import_mini78.z.string()),
|
|
21333
|
+
excludeAgent: import_mini78.z.optional(import_mini78.z.union([import_mini78.z.literal("code-review"), import_mini78.z.literal("coding-agent")]))
|
|
21294
21334
|
});
|
|
21295
21335
|
var normalizeRelativePath = (path5) => path5.replace(/\\/g, "/").replace(/\/+/g, "/");
|
|
21296
21336
|
var sameRelativePath = (leftDir, leftFile, rightDir, rightFile) => normalizeRelativePath((0, import_node_path136.join)(leftDir, leftFile)) === normalizeRelativePath((0, import_node_path136.join)(rightDir, rightFile));
|
|
@@ -21544,11 +21584,11 @@ var CopilotcliRule = class _CopilotcliRule extends CopilotRule {
|
|
|
21544
21584
|
|
|
21545
21585
|
// src/features/rules/cursor-rule.ts
|
|
21546
21586
|
var import_node_path137 = require("path");
|
|
21547
|
-
var
|
|
21548
|
-
var CursorRuleFrontmatterSchema =
|
|
21549
|
-
description:
|
|
21550
|
-
globs:
|
|
21551
|
-
alwaysApply:
|
|
21587
|
+
var import_mini79 = require("zod/mini");
|
|
21588
|
+
var CursorRuleFrontmatterSchema = import_mini79.z.object({
|
|
21589
|
+
description: import_mini79.z.optional(import_mini79.z.string()),
|
|
21590
|
+
globs: import_mini79.z.optional(import_mini79.z.string()),
|
|
21591
|
+
alwaysApply: import_mini79.z.optional(import_mini79.z.boolean())
|
|
21552
21592
|
});
|
|
21553
21593
|
var CursorRule = class _CursorRule extends ToolRule {
|
|
21554
21594
|
frontmatter;
|
|
@@ -23431,11 +23471,11 @@ var rulesProcessorToolTargets = [
|
|
|
23431
23471
|
"warp",
|
|
23432
23472
|
"windsurf"
|
|
23433
23473
|
];
|
|
23434
|
-
var RulesProcessorToolTargetSchema =
|
|
23474
|
+
var RulesProcessorToolTargetSchema = import_mini80.z.enum(rulesProcessorToolTargets);
|
|
23435
23475
|
var formatRulePaths = (rules) => rules.map((r) => (0, import_node_path154.join)(r.getRelativeDirPath(), r.getRelativeFilePath())).join(", ");
|
|
23436
|
-
var RulesFeatureOptionsSchema =
|
|
23437
|
-
ruleDiscoveryMode:
|
|
23438
|
-
includeLocalRoot:
|
|
23476
|
+
var RulesFeatureOptionsSchema = import_mini80.z.looseObject({
|
|
23477
|
+
ruleDiscoveryMode: import_mini80.z.optional(import_mini80.z.enum(["none", "explicit"])),
|
|
23478
|
+
includeLocalRoot: import_mini80.z.optional(import_mini80.z.boolean())
|
|
23439
23479
|
});
|
|
23440
23480
|
var resolveRuleDiscoveryMode = ({
|
|
23441
23481
|
defaultMode,
|
|
@@ -23456,8 +23496,8 @@ var resolveRuleDiscoveryMode = ({
|
|
|
23456
23496
|
}
|
|
23457
23497
|
return parsed.data.ruleDiscoveryMode === "none" ? "auto" : "toon";
|
|
23458
23498
|
};
|
|
23459
|
-
var IncludeLocalRootSchema =
|
|
23460
|
-
includeLocalRoot:
|
|
23499
|
+
var IncludeLocalRootSchema = import_mini80.z.looseObject({
|
|
23500
|
+
includeLocalRoot: import_mini80.z.optional(import_mini80.z.boolean())
|
|
23461
23501
|
});
|
|
23462
23502
|
var resolveIncludeLocalRoot = (options) => {
|
|
23463
23503
|
if (!options) return true;
|
|
@@ -24736,51 +24776,51 @@ var import_request_error = require("@octokit/request-error");
|
|
|
24736
24776
|
var import_rest = require("@octokit/rest");
|
|
24737
24777
|
|
|
24738
24778
|
// src/types/fetch.ts
|
|
24739
|
-
var
|
|
24779
|
+
var import_mini82 = require("zod/mini");
|
|
24740
24780
|
|
|
24741
24781
|
// src/types/fetch-targets.ts
|
|
24742
|
-
var
|
|
24782
|
+
var import_mini81 = require("zod/mini");
|
|
24743
24783
|
var ALL_FETCH_TARGETS = ["rulesync", ...ALL_TOOL_TARGETS];
|
|
24744
|
-
var FetchTargetSchema =
|
|
24784
|
+
var FetchTargetSchema = import_mini81.z.enum(ALL_FETCH_TARGETS);
|
|
24745
24785
|
|
|
24746
24786
|
// src/types/fetch.ts
|
|
24747
|
-
var ConflictStrategySchema =
|
|
24748
|
-
var GitHubFileTypeSchema =
|
|
24749
|
-
var GitHubFileEntrySchema =
|
|
24750
|
-
name:
|
|
24751
|
-
path:
|
|
24752
|
-
sha:
|
|
24753
|
-
size:
|
|
24787
|
+
var ConflictStrategySchema = import_mini82.z.enum(["skip", "overwrite"]);
|
|
24788
|
+
var GitHubFileTypeSchema = import_mini82.z.enum(["file", "dir", "symlink", "submodule"]);
|
|
24789
|
+
var GitHubFileEntrySchema = import_mini82.z.looseObject({
|
|
24790
|
+
name: import_mini82.z.string(),
|
|
24791
|
+
path: import_mini82.z.string(),
|
|
24792
|
+
sha: import_mini82.z.string(),
|
|
24793
|
+
size: import_mini82.z.number(),
|
|
24754
24794
|
type: GitHubFileTypeSchema,
|
|
24755
|
-
download_url:
|
|
24795
|
+
download_url: import_mini82.z.nullable(import_mini82.z.string())
|
|
24756
24796
|
});
|
|
24757
|
-
var FetchOptionsSchema =
|
|
24758
|
-
target:
|
|
24759
|
-
features:
|
|
24760
|
-
ref:
|
|
24761
|
-
path:
|
|
24762
|
-
output:
|
|
24763
|
-
conflict:
|
|
24764
|
-
token:
|
|
24765
|
-
verbose:
|
|
24766
|
-
silent:
|
|
24797
|
+
var FetchOptionsSchema = import_mini82.z.looseObject({
|
|
24798
|
+
target: import_mini82.z.optional(FetchTargetSchema),
|
|
24799
|
+
features: import_mini82.z.optional(import_mini82.z.array(import_mini82.z.enum(ALL_FEATURES_WITH_WILDCARD))),
|
|
24800
|
+
ref: import_mini82.z.optional(import_mini82.z.string()),
|
|
24801
|
+
path: import_mini82.z.optional(import_mini82.z.string()),
|
|
24802
|
+
output: import_mini82.z.optional(import_mini82.z.string()),
|
|
24803
|
+
conflict: import_mini82.z.optional(ConflictStrategySchema),
|
|
24804
|
+
token: import_mini82.z.optional(import_mini82.z.string()),
|
|
24805
|
+
verbose: import_mini82.z.optional(import_mini82.z.boolean()),
|
|
24806
|
+
silent: import_mini82.z.optional(import_mini82.z.boolean())
|
|
24767
24807
|
});
|
|
24768
|
-
var FetchFileStatusSchema =
|
|
24769
|
-
var GitHubRepoInfoSchema =
|
|
24770
|
-
default_branch:
|
|
24771
|
-
private:
|
|
24808
|
+
var FetchFileStatusSchema = import_mini82.z.enum(["created", "overwritten", "skipped"]);
|
|
24809
|
+
var GitHubRepoInfoSchema = import_mini82.z.looseObject({
|
|
24810
|
+
default_branch: import_mini82.z.string(),
|
|
24811
|
+
private: import_mini82.z.boolean()
|
|
24772
24812
|
});
|
|
24773
|
-
var GitHubReleaseAssetSchema =
|
|
24774
|
-
name:
|
|
24775
|
-
browser_download_url:
|
|
24776
|
-
size:
|
|
24813
|
+
var GitHubReleaseAssetSchema = import_mini82.z.looseObject({
|
|
24814
|
+
name: import_mini82.z.string(),
|
|
24815
|
+
browser_download_url: import_mini82.z.string(),
|
|
24816
|
+
size: import_mini82.z.number()
|
|
24777
24817
|
});
|
|
24778
|
-
var GitHubReleaseSchema =
|
|
24779
|
-
tag_name:
|
|
24780
|
-
name:
|
|
24781
|
-
prerelease:
|
|
24782
|
-
draft:
|
|
24783
|
-
assets:
|
|
24818
|
+
var GitHubReleaseSchema = import_mini82.z.looseObject({
|
|
24819
|
+
tag_name: import_mini82.z.string(),
|
|
24820
|
+
name: import_mini82.z.nullable(import_mini82.z.string()),
|
|
24821
|
+
prerelease: import_mini82.z.boolean(),
|
|
24822
|
+
draft: import_mini82.z.boolean(),
|
|
24823
|
+
assets: import_mini82.z.array(GitHubReleaseAssetSchema)
|
|
24784
24824
|
});
|
|
24785
24825
|
|
|
24786
24826
|
// src/lib/github-client.ts
|
|
@@ -25081,9 +25121,9 @@ async function listDirectoryRecursive(params) {
|
|
|
25081
25121
|
}
|
|
25082
25122
|
|
|
25083
25123
|
// src/types/git-provider.ts
|
|
25084
|
-
var
|
|
25124
|
+
var import_mini83 = require("zod/mini");
|
|
25085
25125
|
var ALL_GIT_PROVIDERS = ["github", "gitlab"];
|
|
25086
|
-
var GitProviderSchema =
|
|
25126
|
+
var GitProviderSchema = import_mini83.z.enum(ALL_GIT_PROVIDERS);
|
|
25087
25127
|
|
|
25088
25128
|
// src/lib/source-parser.ts
|
|
25089
25129
|
var GITHUB_HOSTS = /* @__PURE__ */ new Set(["github.com", "www.github.com"]);
|
|
@@ -27366,40 +27406,40 @@ var import_promise2 = require("es-toolkit/promise");
|
|
|
27366
27406
|
// src/lib/apm/apm-lock.ts
|
|
27367
27407
|
var import_node_path159 = require("path");
|
|
27368
27408
|
var import_js_yaml3 = require("js-yaml");
|
|
27369
|
-
var
|
|
27409
|
+
var import_mini84 = require("zod/mini");
|
|
27370
27410
|
var APM_LOCKFILE_FILE_NAME = "rulesync-apm.lock.yaml";
|
|
27371
27411
|
var APM_LOCKFILE_VERSION = "1";
|
|
27372
27412
|
var RULESYNC_CONTENT_HASH_REGEX = /^sha256:[0-9a-f]{64}$/;
|
|
27373
|
-
var ApmLockDependencySchema =
|
|
27374
|
-
repo_url:
|
|
27375
|
-
resolved_commit: (0,
|
|
27376
|
-
|
|
27413
|
+
var ApmLockDependencySchema = import_mini84.z.looseObject({
|
|
27414
|
+
repo_url: import_mini84.z.string(),
|
|
27415
|
+
resolved_commit: (0, import_mini84.optional)(
|
|
27416
|
+
import_mini84.z.string().check((0, import_mini84.refine)((v) => /^[0-9a-f]{40}$/.test(v), "resolved_commit must be a 40-char hex SHA"))
|
|
27377
27417
|
),
|
|
27378
|
-
resolved_ref: (0,
|
|
27379
|
-
version: (0,
|
|
27380
|
-
depth:
|
|
27381
|
-
resolved_by: (0,
|
|
27382
|
-
package_type:
|
|
27418
|
+
resolved_ref: (0, import_mini84.optional)(import_mini84.z.string()),
|
|
27419
|
+
version: (0, import_mini84.optional)(import_mini84.z.string()),
|
|
27420
|
+
depth: import_mini84.z.int().check((0, import_mini84.nonnegative)()),
|
|
27421
|
+
resolved_by: (0, import_mini84.optional)(import_mini84.z.string()),
|
|
27422
|
+
package_type: import_mini84.z.string(),
|
|
27383
27423
|
// Intentionally loose: the upstream `apm` CLI may write content_hash values
|
|
27384
27424
|
// that do not match the strict rulesync format. We accept any string on read
|
|
27385
27425
|
// so that a lockfile produced by `apm` round-trips through rulesync without
|
|
27386
27426
|
// throwing. Rulesync itself always writes values matching
|
|
27387
27427
|
// `RULESYNC_CONTENT_HASH_REGEX`, and `--frozen` integrity checks only
|
|
27388
27428
|
// enforce the comparison when the recorded hash matches that shape.
|
|
27389
|
-
content_hash: (0,
|
|
27390
|
-
is_dev: (0,
|
|
27391
|
-
deployed_files:
|
|
27392
|
-
source: (0,
|
|
27393
|
-
local_path: (0,
|
|
27394
|
-
virtual_path: (0,
|
|
27395
|
-
is_virtual: (0,
|
|
27429
|
+
content_hash: (0, import_mini84.optional)(import_mini84.z.string()),
|
|
27430
|
+
is_dev: (0, import_mini84.optional)(import_mini84.z.boolean()),
|
|
27431
|
+
deployed_files: import_mini84.z.array(import_mini84.z.string()),
|
|
27432
|
+
source: (0, import_mini84.optional)(import_mini84.z.string()),
|
|
27433
|
+
local_path: (0, import_mini84.optional)(import_mini84.z.string()),
|
|
27434
|
+
virtual_path: (0, import_mini84.optional)(import_mini84.z.string()),
|
|
27435
|
+
is_virtual: (0, import_mini84.optional)(import_mini84.z.boolean())
|
|
27396
27436
|
});
|
|
27397
|
-
var ApmLockSchema =
|
|
27398
|
-
lockfile_version:
|
|
27399
|
-
generated_at:
|
|
27400
|
-
apm_version:
|
|
27401
|
-
dependencies:
|
|
27402
|
-
mcp_servers: (0,
|
|
27437
|
+
var ApmLockSchema = import_mini84.z.looseObject({
|
|
27438
|
+
lockfile_version: import_mini84.z.literal("1"),
|
|
27439
|
+
generated_at: import_mini84.z.string(),
|
|
27440
|
+
apm_version: import_mini84.z.string(),
|
|
27441
|
+
dependencies: import_mini84.z.array(ApmLockDependencySchema),
|
|
27442
|
+
mcp_servers: (0, import_mini84.optional)(import_mini84.z.array(import_mini84.z.string()))
|
|
27403
27443
|
});
|
|
27404
27444
|
function getApmLockPath(projectRoot) {
|
|
27405
27445
|
return (0, import_node_path159.join)(projectRoot, APM_LOCKFILE_FILE_NAME);
|
|
@@ -27459,22 +27499,22 @@ function findApmLockDependency(lock, repoUrl) {
|
|
|
27459
27499
|
// src/lib/apm/apm-manifest.ts
|
|
27460
27500
|
var import_node_path160 = require("path");
|
|
27461
27501
|
var import_js_yaml4 = require("js-yaml");
|
|
27462
|
-
var
|
|
27502
|
+
var import_mini85 = require("zod/mini");
|
|
27463
27503
|
var APM_MANIFEST_FILE_NAME = "apm.yml";
|
|
27464
|
-
var ApmObjectDependencySchema =
|
|
27465
|
-
git: (0,
|
|
27466
|
-
source: (0,
|
|
27467
|
-
path: (0,
|
|
27468
|
-
ref: (0,
|
|
27469
|
-
alias: (0,
|
|
27504
|
+
var ApmObjectDependencySchema = import_mini85.z.looseObject({
|
|
27505
|
+
git: (0, import_mini85.optional)(import_mini85.z.string()),
|
|
27506
|
+
source: (0, import_mini85.optional)(import_mini85.z.string()),
|
|
27507
|
+
path: (0, import_mini85.optional)(import_mini85.z.string()),
|
|
27508
|
+
ref: (0, import_mini85.optional)(import_mini85.z.string()),
|
|
27509
|
+
alias: (0, import_mini85.optional)(import_mini85.z.string())
|
|
27470
27510
|
});
|
|
27471
|
-
var ApmDependencyInputSchema =
|
|
27472
|
-
var ApmManifestSchema =
|
|
27473
|
-
name: (0,
|
|
27474
|
-
version: (0,
|
|
27475
|
-
dependencies: (0,
|
|
27476
|
-
|
|
27477
|
-
apm: (0,
|
|
27511
|
+
var ApmDependencyInputSchema = import_mini85.z.union([import_mini85.z.string(), ApmObjectDependencySchema]);
|
|
27512
|
+
var ApmManifestSchema = import_mini85.z.looseObject({
|
|
27513
|
+
name: (0, import_mini85.optional)(import_mini85.z.string()),
|
|
27514
|
+
version: (0, import_mini85.optional)(import_mini85.z.string()),
|
|
27515
|
+
dependencies: (0, import_mini85.optional)(
|
|
27516
|
+
import_mini85.z.looseObject({
|
|
27517
|
+
apm: (0, import_mini85.optional)(import_mini85.z.array(ApmDependencyInputSchema))
|
|
27478
27518
|
})
|
|
27479
27519
|
)
|
|
27480
27520
|
});
|
|
@@ -27996,29 +28036,29 @@ ${rest}`;
|
|
|
27996
28036
|
// src/lib/gh/gh-lock.ts
|
|
27997
28037
|
var import_node_path162 = require("path");
|
|
27998
28038
|
var import_js_yaml6 = require("js-yaml");
|
|
27999
|
-
var
|
|
28039
|
+
var import_mini86 = require("zod/mini");
|
|
28000
28040
|
var GH_LOCKFILE_FILE_NAME = "rulesync-gh.lock.yaml";
|
|
28001
28041
|
var GH_LOCKFILE_VERSION = "1";
|
|
28002
28042
|
var RULESYNC_CONTENT_HASH_REGEX2 = /^sha256:[0-9a-f]{64}$/;
|
|
28003
|
-
var ScopeSchema =
|
|
28004
|
-
var GhLockInstallationSchema =
|
|
28005
|
-
source:
|
|
28006
|
-
owner:
|
|
28007
|
-
repo:
|
|
28008
|
-
agent:
|
|
28043
|
+
var ScopeSchema = import_mini86.z.enum(["project", "user"]);
|
|
28044
|
+
var GhLockInstallationSchema = import_mini86.z.looseObject({
|
|
28045
|
+
source: import_mini86.z.string(),
|
|
28046
|
+
owner: import_mini86.z.string(),
|
|
28047
|
+
repo: import_mini86.z.string(),
|
|
28048
|
+
agent: import_mini86.z.string(),
|
|
28009
28049
|
scope: ScopeSchema,
|
|
28010
|
-
skill:
|
|
28011
|
-
requested_ref: (0,
|
|
28012
|
-
resolved_ref:
|
|
28013
|
-
resolved_commit:
|
|
28014
|
-
install_dir:
|
|
28015
|
-
deployed_files:
|
|
28016
|
-
content_hash: (0,
|
|
28050
|
+
skill: import_mini86.z.string(),
|
|
28051
|
+
requested_ref: (0, import_mini86.optional)(import_mini86.z.string()),
|
|
28052
|
+
resolved_ref: import_mini86.z.string(),
|
|
28053
|
+
resolved_commit: import_mini86.z.string().check((0, import_mini86.refine)((v) => /^[0-9a-f]{40}$/.test(v), "resolved_commit must be a 40-char hex SHA")),
|
|
28054
|
+
install_dir: import_mini86.z.string(),
|
|
28055
|
+
deployed_files: import_mini86.z.array(import_mini86.z.string()),
|
|
28056
|
+
content_hash: (0, import_mini86.optional)(import_mini86.z.string())
|
|
28017
28057
|
});
|
|
28018
|
-
var GhLockSchema =
|
|
28019
|
-
lockfile_version:
|
|
28020
|
-
generated_at:
|
|
28021
|
-
installations:
|
|
28058
|
+
var GhLockSchema = import_mini86.z.looseObject({
|
|
28059
|
+
lockfile_version: import_mini86.z.literal("1"),
|
|
28060
|
+
generated_at: import_mini86.z.string(),
|
|
28061
|
+
installations: import_mini86.z.array(GhLockInstallationSchema)
|
|
28022
28062
|
});
|
|
28023
28063
|
function getGhLockPath(projectRoot) {
|
|
28024
28064
|
return (0, import_node_path162.join)(projectRoot, GH_LOCKFILE_FILE_NAME);
|
|
@@ -28703,27 +28743,27 @@ async function walkDirectory(dir, outputRoot, depth = 0, ctx = { totalFiles: 0,
|
|
|
28703
28743
|
// src/lib/sources-lock.ts
|
|
28704
28744
|
var import_node_crypto3 = require("crypto");
|
|
28705
28745
|
var import_node_path166 = require("path");
|
|
28706
|
-
var
|
|
28746
|
+
var import_mini87 = require("zod/mini");
|
|
28707
28747
|
var LOCKFILE_VERSION = 1;
|
|
28708
|
-
var LockedSkillSchema =
|
|
28709
|
-
integrity:
|
|
28748
|
+
var LockedSkillSchema = import_mini87.z.object({
|
|
28749
|
+
integrity: import_mini87.z.string()
|
|
28710
28750
|
});
|
|
28711
|
-
var LockedSourceSchema =
|
|
28712
|
-
requestedRef: (0,
|
|
28713
|
-
resolvedRef:
|
|
28714
|
-
resolvedAt: (0,
|
|
28715
|
-
skills:
|
|
28751
|
+
var LockedSourceSchema = import_mini87.z.object({
|
|
28752
|
+
requestedRef: (0, import_mini87.optional)(import_mini87.z.string()),
|
|
28753
|
+
resolvedRef: import_mini87.z.string().check((0, import_mini87.refine)((v) => /^[0-9a-f]{40}$/.test(v), "resolvedRef must be a 40-character hex SHA")),
|
|
28754
|
+
resolvedAt: (0, import_mini87.optional)(import_mini87.z.string()),
|
|
28755
|
+
skills: import_mini87.z.record(import_mini87.z.string(), LockedSkillSchema)
|
|
28716
28756
|
});
|
|
28717
|
-
var SourcesLockSchema =
|
|
28718
|
-
lockfileVersion:
|
|
28719
|
-
sources:
|
|
28757
|
+
var SourcesLockSchema = import_mini87.z.object({
|
|
28758
|
+
lockfileVersion: import_mini87.z.number(),
|
|
28759
|
+
sources: import_mini87.z.record(import_mini87.z.string(), LockedSourceSchema)
|
|
28720
28760
|
});
|
|
28721
|
-
var LegacyLockedSourceSchema =
|
|
28722
|
-
resolvedRef:
|
|
28723
|
-
skills:
|
|
28761
|
+
var LegacyLockedSourceSchema = import_mini87.z.object({
|
|
28762
|
+
resolvedRef: import_mini87.z.string(),
|
|
28763
|
+
skills: import_mini87.z.array(import_mini87.z.string())
|
|
28724
28764
|
});
|
|
28725
|
-
var LegacySourcesLockSchema =
|
|
28726
|
-
sources:
|
|
28765
|
+
var LegacySourcesLockSchema = import_mini87.z.object({
|
|
28766
|
+
sources: import_mini87.z.record(import_mini87.z.string(), LegacyLockedSourceSchema)
|
|
28727
28767
|
});
|
|
28728
28768
|
function migrateLegacyLock(params) {
|
|
28729
28769
|
const { legacy, logger: logger5 } = params;
|
|
@@ -29496,11 +29536,11 @@ async function runGhInstall(logger5, options) {
|
|
|
29496
29536
|
var import_fastmcp = require("fastmcp");
|
|
29497
29537
|
|
|
29498
29538
|
// src/mcp/tools.ts
|
|
29499
|
-
var
|
|
29539
|
+
var import_mini99 = require("zod/mini");
|
|
29500
29540
|
|
|
29501
29541
|
// src/mcp/commands.ts
|
|
29502
29542
|
var import_node_path168 = require("path");
|
|
29503
|
-
var
|
|
29543
|
+
var import_mini88 = require("zod/mini");
|
|
29504
29544
|
var logger = new ConsoleLogger({ verbose: false, silent: true });
|
|
29505
29545
|
var maxCommandSizeBytes = 1024 * 1024;
|
|
29506
29546
|
var maxCommandsCount = 1e3;
|
|
@@ -29628,17 +29668,17 @@ async function deleteCommand({ relativePathFromCwd }) {
|
|
|
29628
29668
|
}
|
|
29629
29669
|
}
|
|
29630
29670
|
var commandToolSchemas = {
|
|
29631
|
-
listCommands:
|
|
29632
|
-
getCommand:
|
|
29633
|
-
relativePathFromCwd:
|
|
29671
|
+
listCommands: import_mini88.z.object({}),
|
|
29672
|
+
getCommand: import_mini88.z.object({
|
|
29673
|
+
relativePathFromCwd: import_mini88.z.string()
|
|
29634
29674
|
}),
|
|
29635
|
-
putCommand:
|
|
29636
|
-
relativePathFromCwd:
|
|
29675
|
+
putCommand: import_mini88.z.object({
|
|
29676
|
+
relativePathFromCwd: import_mini88.z.string(),
|
|
29637
29677
|
frontmatter: RulesyncCommandFrontmatterSchema,
|
|
29638
|
-
body:
|
|
29678
|
+
body: import_mini88.z.string()
|
|
29639
29679
|
}),
|
|
29640
|
-
deleteCommand:
|
|
29641
|
-
relativePathFromCwd:
|
|
29680
|
+
deleteCommand: import_mini88.z.object({
|
|
29681
|
+
relativePathFromCwd: import_mini88.z.string()
|
|
29642
29682
|
})
|
|
29643
29683
|
};
|
|
29644
29684
|
var commandTools = {
|
|
@@ -29686,13 +29726,13 @@ var commandTools = {
|
|
|
29686
29726
|
};
|
|
29687
29727
|
|
|
29688
29728
|
// src/mcp/convert.ts
|
|
29689
|
-
var
|
|
29690
|
-
var convertOptionsSchema =
|
|
29691
|
-
from:
|
|
29692
|
-
to:
|
|
29693
|
-
features:
|
|
29694
|
-
global:
|
|
29695
|
-
dryRun:
|
|
29729
|
+
var import_mini89 = require("zod/mini");
|
|
29730
|
+
var convertOptionsSchema = import_mini89.z.object({
|
|
29731
|
+
from: import_mini89.z.string(),
|
|
29732
|
+
to: import_mini89.z.array(import_mini89.z.string()),
|
|
29733
|
+
features: import_mini89.z.optional(import_mini89.z.array(import_mini89.z.string())),
|
|
29734
|
+
global: import_mini89.z.optional(import_mini89.z.boolean()),
|
|
29735
|
+
dryRun: import_mini89.z.optional(import_mini89.z.boolean())
|
|
29696
29736
|
});
|
|
29697
29737
|
function parseToolTarget2(value, label) {
|
|
29698
29738
|
const result = ToolTargetSchema.safeParse(value);
|
|
@@ -29788,15 +29828,15 @@ var convertTools = {
|
|
|
29788
29828
|
};
|
|
29789
29829
|
|
|
29790
29830
|
// src/mcp/generate.ts
|
|
29791
|
-
var
|
|
29792
|
-
var generateOptionsSchema =
|
|
29793
|
-
targets:
|
|
29794
|
-
features:
|
|
29795
|
-
delete:
|
|
29796
|
-
global:
|
|
29797
|
-
simulateCommands:
|
|
29798
|
-
simulateSubagents:
|
|
29799
|
-
simulateSkills:
|
|
29831
|
+
var import_mini90 = require("zod/mini");
|
|
29832
|
+
var generateOptionsSchema = import_mini90.z.object({
|
|
29833
|
+
targets: import_mini90.z.optional(import_mini90.z.array(import_mini90.z.string())),
|
|
29834
|
+
features: import_mini90.z.optional(import_mini90.z.array(import_mini90.z.string())),
|
|
29835
|
+
delete: import_mini90.z.optional(import_mini90.z.boolean()),
|
|
29836
|
+
global: import_mini90.z.optional(import_mini90.z.boolean()),
|
|
29837
|
+
simulateCommands: import_mini90.z.optional(import_mini90.z.boolean()),
|
|
29838
|
+
simulateSubagents: import_mini90.z.optional(import_mini90.z.boolean()),
|
|
29839
|
+
simulateSkills: import_mini90.z.optional(import_mini90.z.boolean())
|
|
29800
29840
|
});
|
|
29801
29841
|
async function executeGenerate(options = {}) {
|
|
29802
29842
|
try {
|
|
@@ -29876,7 +29916,7 @@ var generateTools = {
|
|
|
29876
29916
|
|
|
29877
29917
|
// src/mcp/hooks.ts
|
|
29878
29918
|
var import_node_path169 = require("path");
|
|
29879
|
-
var
|
|
29919
|
+
var import_mini91 = require("zod/mini");
|
|
29880
29920
|
var maxHooksSizeBytes = 1024 * 1024;
|
|
29881
29921
|
async function getHooksFile() {
|
|
29882
29922
|
try {
|
|
@@ -29965,11 +30005,11 @@ async function deleteHooksFile() {
|
|
|
29965
30005
|
}
|
|
29966
30006
|
}
|
|
29967
30007
|
var hooksToolSchemas = {
|
|
29968
|
-
getHooksFile:
|
|
29969
|
-
putHooksFile:
|
|
29970
|
-
content:
|
|
30008
|
+
getHooksFile: import_mini91.z.object({}),
|
|
30009
|
+
putHooksFile: import_mini91.z.object({
|
|
30010
|
+
content: import_mini91.z.string()
|
|
29971
30011
|
}),
|
|
29972
|
-
deleteHooksFile:
|
|
30012
|
+
deleteHooksFile: import_mini91.z.object({})
|
|
29973
30013
|
};
|
|
29974
30014
|
var hooksTools = {
|
|
29975
30015
|
getHooksFile: {
|
|
@@ -30003,7 +30043,7 @@ var hooksTools = {
|
|
|
30003
30043
|
|
|
30004
30044
|
// src/mcp/ignore.ts
|
|
30005
30045
|
var import_node_path170 = require("path");
|
|
30006
|
-
var
|
|
30046
|
+
var import_mini92 = require("zod/mini");
|
|
30007
30047
|
var maxIgnoreFileSizeBytes = 100 * 1024;
|
|
30008
30048
|
async function getIgnoreFile() {
|
|
30009
30049
|
const ignoreFilePath = (0, import_node_path170.join)(process.cwd(), RULESYNC_AIIGNORE_RELATIVE_FILE_PATH);
|
|
@@ -30066,11 +30106,11 @@ async function deleteIgnoreFile() {
|
|
|
30066
30106
|
}
|
|
30067
30107
|
}
|
|
30068
30108
|
var ignoreToolSchemas = {
|
|
30069
|
-
getIgnoreFile:
|
|
30070
|
-
putIgnoreFile:
|
|
30071
|
-
content:
|
|
30109
|
+
getIgnoreFile: import_mini92.z.object({}),
|
|
30110
|
+
putIgnoreFile: import_mini92.z.object({
|
|
30111
|
+
content: import_mini92.z.string()
|
|
30072
30112
|
}),
|
|
30073
|
-
deleteIgnoreFile:
|
|
30113
|
+
deleteIgnoreFile: import_mini92.z.object({})
|
|
30074
30114
|
};
|
|
30075
30115
|
var ignoreTools = {
|
|
30076
30116
|
getIgnoreFile: {
|
|
@@ -30103,11 +30143,11 @@ var ignoreTools = {
|
|
|
30103
30143
|
};
|
|
30104
30144
|
|
|
30105
30145
|
// src/mcp/import.ts
|
|
30106
|
-
var
|
|
30107
|
-
var importOptionsSchema =
|
|
30108
|
-
target:
|
|
30109
|
-
features:
|
|
30110
|
-
global:
|
|
30146
|
+
var import_mini93 = require("zod/mini");
|
|
30147
|
+
var importOptionsSchema = import_mini93.z.object({
|
|
30148
|
+
target: import_mini93.z.string(),
|
|
30149
|
+
features: import_mini93.z.optional(import_mini93.z.array(import_mini93.z.string())),
|
|
30150
|
+
global: import_mini93.z.optional(import_mini93.z.boolean())
|
|
30111
30151
|
});
|
|
30112
30152
|
async function executeImport(options) {
|
|
30113
30153
|
try {
|
|
@@ -30179,7 +30219,7 @@ var importTools = {
|
|
|
30179
30219
|
|
|
30180
30220
|
// src/mcp/mcp.ts
|
|
30181
30221
|
var import_node_path171 = require("path");
|
|
30182
|
-
var
|
|
30222
|
+
var import_mini94 = require("zod/mini");
|
|
30183
30223
|
var maxMcpSizeBytes = 1024 * 1024;
|
|
30184
30224
|
async function getMcpFile() {
|
|
30185
30225
|
try {
|
|
@@ -30281,11 +30321,11 @@ async function deleteMcpFile() {
|
|
|
30281
30321
|
}
|
|
30282
30322
|
}
|
|
30283
30323
|
var mcpToolSchemas = {
|
|
30284
|
-
getMcpFile:
|
|
30285
|
-
putMcpFile:
|
|
30286
|
-
content:
|
|
30324
|
+
getMcpFile: import_mini94.z.object({}),
|
|
30325
|
+
putMcpFile: import_mini94.z.object({
|
|
30326
|
+
content: import_mini94.z.string()
|
|
30287
30327
|
}),
|
|
30288
|
-
deleteMcpFile:
|
|
30328
|
+
deleteMcpFile: import_mini94.z.object({})
|
|
30289
30329
|
};
|
|
30290
30330
|
var mcpTools = {
|
|
30291
30331
|
getMcpFile: {
|
|
@@ -30319,7 +30359,7 @@ var mcpTools = {
|
|
|
30319
30359
|
|
|
30320
30360
|
// src/mcp/permissions.ts
|
|
30321
30361
|
var import_node_path172 = require("path");
|
|
30322
|
-
var
|
|
30362
|
+
var import_mini95 = require("zod/mini");
|
|
30323
30363
|
var maxPermissionsSizeBytes = 1024 * 1024;
|
|
30324
30364
|
async function getPermissionsFile() {
|
|
30325
30365
|
try {
|
|
@@ -30408,11 +30448,11 @@ async function deletePermissionsFile() {
|
|
|
30408
30448
|
}
|
|
30409
30449
|
}
|
|
30410
30450
|
var permissionsToolSchemas = {
|
|
30411
|
-
getPermissionsFile:
|
|
30412
|
-
putPermissionsFile:
|
|
30413
|
-
content:
|
|
30451
|
+
getPermissionsFile: import_mini95.z.object({}),
|
|
30452
|
+
putPermissionsFile: import_mini95.z.object({
|
|
30453
|
+
content: import_mini95.z.string()
|
|
30414
30454
|
}),
|
|
30415
|
-
deletePermissionsFile:
|
|
30455
|
+
deletePermissionsFile: import_mini95.z.object({})
|
|
30416
30456
|
};
|
|
30417
30457
|
var permissionsTools = {
|
|
30418
30458
|
getPermissionsFile: {
|
|
@@ -30446,7 +30486,7 @@ var permissionsTools = {
|
|
|
30446
30486
|
|
|
30447
30487
|
// src/mcp/rules.ts
|
|
30448
30488
|
var import_node_path173 = require("path");
|
|
30449
|
-
var
|
|
30489
|
+
var import_mini96 = require("zod/mini");
|
|
30450
30490
|
var logger2 = new ConsoleLogger({ verbose: false, silent: true });
|
|
30451
30491
|
var maxRuleSizeBytes = 1024 * 1024;
|
|
30452
30492
|
var maxRulesCount = 1e3;
|
|
@@ -30570,17 +30610,17 @@ async function deleteRule({ relativePathFromCwd }) {
|
|
|
30570
30610
|
}
|
|
30571
30611
|
}
|
|
30572
30612
|
var ruleToolSchemas = {
|
|
30573
|
-
listRules:
|
|
30574
|
-
getRule:
|
|
30575
|
-
relativePathFromCwd:
|
|
30613
|
+
listRules: import_mini96.z.object({}),
|
|
30614
|
+
getRule: import_mini96.z.object({
|
|
30615
|
+
relativePathFromCwd: import_mini96.z.string()
|
|
30576
30616
|
}),
|
|
30577
|
-
putRule:
|
|
30578
|
-
relativePathFromCwd:
|
|
30617
|
+
putRule: import_mini96.z.object({
|
|
30618
|
+
relativePathFromCwd: import_mini96.z.string(),
|
|
30579
30619
|
frontmatter: RulesyncRuleFrontmatterSchema,
|
|
30580
|
-
body:
|
|
30620
|
+
body: import_mini96.z.string()
|
|
30581
30621
|
}),
|
|
30582
|
-
deleteRule:
|
|
30583
|
-
relativePathFromCwd:
|
|
30622
|
+
deleteRule: import_mini96.z.object({
|
|
30623
|
+
relativePathFromCwd: import_mini96.z.string()
|
|
30584
30624
|
})
|
|
30585
30625
|
};
|
|
30586
30626
|
var ruleTools = {
|
|
@@ -30629,7 +30669,7 @@ var ruleTools = {
|
|
|
30629
30669
|
|
|
30630
30670
|
// src/mcp/skills.ts
|
|
30631
30671
|
var import_node_path174 = require("path");
|
|
30632
|
-
var
|
|
30672
|
+
var import_mini97 = require("zod/mini");
|
|
30633
30673
|
var logger3 = new ConsoleLogger({ verbose: false, silent: true });
|
|
30634
30674
|
var maxSkillSizeBytes = 1024 * 1024;
|
|
30635
30675
|
var maxSkillsCount = 1e3;
|
|
@@ -30802,23 +30842,23 @@ async function deleteSkill({
|
|
|
30802
30842
|
);
|
|
30803
30843
|
}
|
|
30804
30844
|
}
|
|
30805
|
-
var McpSkillFileSchema =
|
|
30806
|
-
name:
|
|
30807
|
-
body:
|
|
30845
|
+
var McpSkillFileSchema = import_mini97.z.object({
|
|
30846
|
+
name: import_mini97.z.string(),
|
|
30847
|
+
body: import_mini97.z.string()
|
|
30808
30848
|
});
|
|
30809
30849
|
var skillToolSchemas = {
|
|
30810
|
-
listSkills:
|
|
30811
|
-
getSkill:
|
|
30812
|
-
relativeDirPathFromCwd:
|
|
30850
|
+
listSkills: import_mini97.z.object({}),
|
|
30851
|
+
getSkill: import_mini97.z.object({
|
|
30852
|
+
relativeDirPathFromCwd: import_mini97.z.string()
|
|
30813
30853
|
}),
|
|
30814
|
-
putSkill:
|
|
30815
|
-
relativeDirPathFromCwd:
|
|
30854
|
+
putSkill: import_mini97.z.object({
|
|
30855
|
+
relativeDirPathFromCwd: import_mini97.z.string(),
|
|
30816
30856
|
frontmatter: RulesyncSkillFrontmatterSchema,
|
|
30817
|
-
body:
|
|
30818
|
-
otherFiles:
|
|
30857
|
+
body: import_mini97.z.string(),
|
|
30858
|
+
otherFiles: import_mini97.z.optional(import_mini97.z.array(McpSkillFileSchema))
|
|
30819
30859
|
}),
|
|
30820
|
-
deleteSkill:
|
|
30821
|
-
relativeDirPathFromCwd:
|
|
30860
|
+
deleteSkill: import_mini97.z.object({
|
|
30861
|
+
relativeDirPathFromCwd: import_mini97.z.string()
|
|
30822
30862
|
})
|
|
30823
30863
|
};
|
|
30824
30864
|
var skillTools = {
|
|
@@ -30868,7 +30908,7 @@ var skillTools = {
|
|
|
30868
30908
|
|
|
30869
30909
|
// src/mcp/subagents.ts
|
|
30870
30910
|
var import_node_path175 = require("path");
|
|
30871
|
-
var
|
|
30911
|
+
var import_mini98 = require("zod/mini");
|
|
30872
30912
|
var logger4 = new ConsoleLogger({ verbose: false, silent: true });
|
|
30873
30913
|
var maxSubagentSizeBytes = 1024 * 1024;
|
|
30874
30914
|
var maxSubagentsCount = 1e3;
|
|
@@ -30997,17 +31037,17 @@ async function deleteSubagent({ relativePathFromCwd }) {
|
|
|
30997
31037
|
}
|
|
30998
31038
|
}
|
|
30999
31039
|
var subagentToolSchemas = {
|
|
31000
|
-
listSubagents:
|
|
31001
|
-
getSubagent:
|
|
31002
|
-
relativePathFromCwd:
|
|
31040
|
+
listSubagents: import_mini98.z.object({}),
|
|
31041
|
+
getSubagent: import_mini98.z.object({
|
|
31042
|
+
relativePathFromCwd: import_mini98.z.string()
|
|
31003
31043
|
}),
|
|
31004
|
-
putSubagent:
|
|
31005
|
-
relativePathFromCwd:
|
|
31044
|
+
putSubagent: import_mini98.z.object({
|
|
31045
|
+
relativePathFromCwd: import_mini98.z.string(),
|
|
31006
31046
|
frontmatter: RulesyncSubagentFrontmatterSchema,
|
|
31007
|
-
body:
|
|
31047
|
+
body: import_mini98.z.string()
|
|
31008
31048
|
}),
|
|
31009
|
-
deleteSubagent:
|
|
31010
|
-
relativePathFromCwd:
|
|
31049
|
+
deleteSubagent: import_mini98.z.object({
|
|
31050
|
+
relativePathFromCwd: import_mini98.z.string()
|
|
31011
31051
|
})
|
|
31012
31052
|
};
|
|
31013
31053
|
var subagentTools = {
|
|
@@ -31055,7 +31095,7 @@ var subagentTools = {
|
|
|
31055
31095
|
};
|
|
31056
31096
|
|
|
31057
31097
|
// src/mcp/tools.ts
|
|
31058
|
-
var rulesyncFeatureSchema =
|
|
31098
|
+
var rulesyncFeatureSchema = import_mini99.z.enum([
|
|
31059
31099
|
"rule",
|
|
31060
31100
|
"command",
|
|
31061
31101
|
"subagent",
|
|
@@ -31068,22 +31108,22 @@ var rulesyncFeatureSchema = import_mini98.z.enum([
|
|
|
31068
31108
|
"import",
|
|
31069
31109
|
"convert"
|
|
31070
31110
|
]);
|
|
31071
|
-
var rulesyncOperationSchema =
|
|
31072
|
-
var skillFileSchema =
|
|
31073
|
-
name:
|
|
31074
|
-
body:
|
|
31111
|
+
var rulesyncOperationSchema = import_mini99.z.enum(["list", "get", "put", "delete", "run"]);
|
|
31112
|
+
var skillFileSchema = import_mini99.z.object({
|
|
31113
|
+
name: import_mini99.z.string(),
|
|
31114
|
+
body: import_mini99.z.string()
|
|
31075
31115
|
});
|
|
31076
|
-
var rulesyncToolSchema =
|
|
31116
|
+
var rulesyncToolSchema = import_mini99.z.object({
|
|
31077
31117
|
feature: rulesyncFeatureSchema,
|
|
31078
31118
|
operation: rulesyncOperationSchema,
|
|
31079
|
-
targetPathFromCwd:
|
|
31080
|
-
frontmatter:
|
|
31081
|
-
body:
|
|
31082
|
-
otherFiles:
|
|
31083
|
-
content:
|
|
31084
|
-
generateOptions:
|
|
31085
|
-
importOptions:
|
|
31086
|
-
convertOptions:
|
|
31119
|
+
targetPathFromCwd: import_mini99.z.optional(import_mini99.z.string()),
|
|
31120
|
+
frontmatter: import_mini99.z.optional(import_mini99.z.unknown()),
|
|
31121
|
+
body: import_mini99.z.optional(import_mini99.z.string()),
|
|
31122
|
+
otherFiles: import_mini99.z.optional(import_mini99.z.array(skillFileSchema)),
|
|
31123
|
+
content: import_mini99.z.optional(import_mini99.z.string()),
|
|
31124
|
+
generateOptions: import_mini99.z.optional(generateOptionsSchema),
|
|
31125
|
+
importOptions: import_mini99.z.optional(importOptionsSchema),
|
|
31126
|
+
convertOptions: import_mini99.z.optional(convertOptionsSchema)
|
|
31087
31127
|
});
|
|
31088
31128
|
var supportedOperationsByFeature = {
|
|
31089
31129
|
rule: ["list", "get", "put", "delete"],
|
|
@@ -31753,7 +31793,7 @@ function wrapCommand({
|
|
|
31753
31793
|
}
|
|
31754
31794
|
|
|
31755
31795
|
// src/cli/index.ts
|
|
31756
|
-
var getVersion = () => "8.
|
|
31796
|
+
var getVersion = () => "8.18.0";
|
|
31757
31797
|
function wrapCommand2(name, errorCode, handler) {
|
|
31758
31798
|
return wrapCommand({ name, errorCode, handler, getVersion });
|
|
31759
31799
|
}
|