@khalilgharbaoui/opencode-claude-code-plugin 0.61.1 → 0.61.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.
package/dist/index.js CHANGED
@@ -12471,7 +12471,7 @@ function collectSkills(root, claimed, found) {
12471
12471
  if (!skill) continue;
12472
12472
  const winner = claimed.get(skill.name);
12473
12473
  if (winner) {
12474
- if (!sameSkill(winner, skill)) {
12474
+ if (!sameSkill(winner, skill) && firstSkillWarning(`dup:${skill.name}:${winner.dir}:${skill.dir}`)) {
12475
12475
  log.warn("two different skills share a name; bridging the one the nearest root claimed", {
12476
12476
  name: skill.name,
12477
12477
  bridged: winner.dir,
@@ -12484,6 +12484,12 @@ function collectSkills(root, claimed, found) {
12484
12484
  found.push(skill);
12485
12485
  }
12486
12486
  }
12487
+ var warnedSkillClashes = /* @__PURE__ */ new Set();
12488
+ function firstSkillWarning(key) {
12489
+ if (warnedSkillClashes.has(key)) return false;
12490
+ warnedSkillClashes.add(key);
12491
+ return true;
12492
+ }
12487
12493
  var byName = (a, b) => a.name.localeCompare(b.name);
12488
12494
  function discoverOpencodeSkills(cwd) {
12489
12495
  const found = [];
@@ -12584,7 +12590,7 @@ function dropNativelyLoadedSkills(skills, native) {
12584
12590
  }
12585
12591
  const reason = sameCopy ? "same-copy" : sameContent ? "same-content" : "name-taken";
12586
12592
  skipped.push({ skill, native: nameTaken, reason });
12587
- if (reason === "name-taken") {
12593
+ if (reason === "name-taken" && firstSkillWarning(`taken:${skill.name}:${nameTaken.dir}:${skill.dir}`)) {
12588
12594
  log.warn("claude already registers a different skill under this name; not bridging ours", {
12589
12595
  name: skill.name,
12590
12596
  claudeLoads: nameTaken.dir,
@@ -15222,7 +15228,8 @@ function resolvedProxyMcpTools(config, allEnabledServerNames, modelTools, taken,
15222
15228
  if (route === "withhold") withheld.push(server2);
15223
15229
  else if (route === "bridge") bridged.push(server2);
15224
15230
  }
15225
- if (codeMode && resolution.defs.length === 0) {
15231
+ if (codeMode && resolution.defs.length === 0 && !codeModeProxyWarned) {
15232
+ codeModeProxyWarned = true;
15226
15233
  log.warn(
15227
15234
  "proxyOpencodeMcpTools cannot route V2 Code Mode's MCP tools, which reach the model through execute; for Code Mode, explicitly allowlist execute in proxyOpencodeTools and use bridgeOpencodeMcp: false with strictMcpConfig: true",
15228
15235
  { servers: allEnabledServerNames }
@@ -15401,6 +15408,7 @@ function warnCliCapsOnInteractive(caps) {
15401
15408
  "agent maxTurns / maxBudgetUsd not applied: the interactive transport cannot pass print-only flags"
15402
15409
  );
15403
15410
  }
15411
+ var codeModeProxyWarned = false;
15404
15412
 
15405
15413
  // src/mcp-hot-reload.ts
15406
15414
  var DEFAULT_MCP_HOT_RELOAD_COOLDOWN_MS = 6e4;