oh-my-copilot 4.13.66 → 4.13.68

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.
Files changed (32) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/bridge/cli.cjs +116 -23
  4. package/dist/__tests__/plugin-setup-deps.test.js +15 -0
  5. package/dist/__tests__/plugin-setup-deps.test.js.map +1 -1
  6. package/dist/__tests__/skills.test.js +22 -4
  7. package/dist/__tests__/skills.test.js.map +1 -1
  8. package/dist/cli/__tests__/launch.test.js +54 -1
  9. package/dist/cli/__tests__/launch.test.js.map +1 -1
  10. package/dist/cli/launch.d.ts.map +1 -1
  11. package/dist/cli/launch.js +6 -2
  12. package/dist/cli/launch.js.map +1 -1
  13. package/dist/hooks/persistent-mode/__tests__/oversize-tool-result-redirect.test.d.ts +2 -0
  14. package/dist/hooks/persistent-mode/__tests__/oversize-tool-result-redirect.test.d.ts.map +1 -0
  15. package/dist/hooks/persistent-mode/__tests__/oversize-tool-result-redirect.test.js +193 -0
  16. package/dist/hooks/persistent-mode/__tests__/oversize-tool-result-redirect.test.js.map +1 -0
  17. package/dist/hooks/persistent-mode/index.d.ts +1 -1
  18. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  19. package/dist/hooks/persistent-mode/index.js +67 -47
  20. package/dist/hooks/persistent-mode/index.js.map +1 -1
  21. package/dist/hooks/todo-continuation/index.d.ts +12 -0
  22. package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
  23. package/dist/hooks/todo-continuation/index.js +104 -1
  24. package/dist/hooks/todo-continuation/index.js.map +1 -1
  25. package/dist/skills/__tests__/omc-doctor-skill.test.js +20 -0
  26. package/dist/skills/__tests__/omc-doctor-skill.test.js.map +1 -1
  27. package/docs/copilot-instructions.md +1 -1
  28. package/package.json +1 -1
  29. package/scripts/plugin-setup.mjs +14 -0
  30. package/skills/cancel/SKILL.md +1 -0
  31. package/skills/omc-doctor/SKILL.md +21 -2
  32. package/skills/omc-setup/phases/02-configure.md +15 -0
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "name": "oh-my-copilot",
12
12
  "description": "Copilot CLI native multi-agent orchestration with intelligent model routing, 18 agent variants, and 32 powerful skills. Zero learning curve. Maximum power.",
13
- "version": "4.13.66",
13
+ "version": "4.13.68",
14
14
  "author": {
15
15
  "name": "Robin Norberg",
16
16
  "email": "github@platypus.se"
@@ -27,5 +27,5 @@
27
27
  ]
28
28
  }
29
29
  ],
30
- "version": "4.13.66"
30
+ "version": "4.13.68"
31
31
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-copilot",
3
- "version": "4.13.66",
3
+ "version": "4.13.68",
4
4
  "description": "Multi-agent orchestration system for Copilot CLI",
5
5
  "author": {
6
6
  "name": "Robin Norberg and oh-my-copilot contributors"
package/bridge/cli.cjs CHANGED
@@ -19852,6 +19852,7 @@ __export(todo_continuation_exports, {
19852
19852
  isAuthenticationError: () => isAuthenticationError,
19853
19853
  isContextLimitStop: () => isContextLimitStop,
19854
19854
  isExplicitCancelCommand: () => isExplicitCancelCommand,
19855
+ isOversizeToolResultRedirectStop: () => isOversizeToolResultRedirectStop,
19855
19856
  isRateLimitStop: () => isRateLimitStop,
19856
19857
  isScheduledWakeupStop: () => isScheduledWakeupStop,
19857
19858
  isTaskIncomplete: () => isTaskIncomplete,
@@ -19883,6 +19884,78 @@ function getStopReasonFields(context) {
19883
19884
  context.reason
19884
19885
  ].filter((value) => typeof value === "string" && value.trim().length > 0).map((value) => value.toLowerCase().replace(/[\s-]+/g, "_"));
19885
19886
  }
19887
+ function stringifyContextValue(value) {
19888
+ if (typeof value === "string") {
19889
+ return value;
19890
+ }
19891
+ if (value == null) {
19892
+ return "";
19893
+ }
19894
+ try {
19895
+ return JSON.stringify(value);
19896
+ } catch {
19897
+ return String(value);
19898
+ }
19899
+ }
19900
+ function appendBoundedText(parts, value) {
19901
+ const text = stringifyContextValue(value);
19902
+ if (!text) return;
19903
+ parts.push(text.length > STOP_CONTEXT_VALUE_MAX_CHARS ? text.slice(-STOP_CONTEXT_VALUE_MAX_CHARS) : text);
19904
+ }
19905
+ function readStopTranscriptTail(transcriptPath) {
19906
+ const size = (0, import_fs40.statSync)(transcriptPath).size;
19907
+ if (size <= STOP_CONTEXT_TAIL_BYTES) {
19908
+ return (0, import_fs40.readFileSync)(transcriptPath, "utf-8");
19909
+ }
19910
+ const fd = (0, import_fs40.openSync)(transcriptPath, "r");
19911
+ try {
19912
+ const offset = size - STOP_CONTEXT_TAIL_BYTES;
19913
+ const buf = Buffer.allocUnsafe(STOP_CONTEXT_TAIL_BYTES);
19914
+ const bytesRead = (0, import_fs40.readSync)(fd, buf, 0, STOP_CONTEXT_TAIL_BYTES, offset);
19915
+ return buf.subarray(0, bytesRead).toString("utf-8");
19916
+ } finally {
19917
+ (0, import_fs40.closeSync)(fd);
19918
+ }
19919
+ }
19920
+ function extractLatestTranscriptEventText(transcriptTail) {
19921
+ const lines = transcriptTail.split("\n").map((line) => line.trim()).filter(Boolean);
19922
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
19923
+ const line = lines[index];
19924
+ try {
19925
+ const parsed = JSON.parse(line);
19926
+ const text = stringifyContextValue(parsed);
19927
+ if (text) return text;
19928
+ } catch {
19929
+ if (line) return line;
19930
+ }
19931
+ }
19932
+ return "";
19933
+ }
19934
+ function getOversizeStopEvidence(context) {
19935
+ if (!context) return "";
19936
+ const parts = [];
19937
+ appendBoundedText(parts, context.message);
19938
+ appendBoundedText(parts, context.output);
19939
+ appendBoundedText(parts, context.response);
19940
+ appendBoundedText(parts, context.text);
19941
+ appendBoundedText(parts, context.content);
19942
+ appendBoundedText(parts, context.tool_input ?? context.toolInput);
19943
+ const transcriptPath = context.transcript_path ?? context.transcriptPath;
19944
+ if (transcriptPath && (0, import_fs40.existsSync)(transcriptPath)) {
19945
+ try {
19946
+ appendBoundedText(parts, extractLatestTranscriptEventText(readStopTranscriptTail(transcriptPath)));
19947
+ } catch {
19948
+ }
19949
+ }
19950
+ return parts.join("\n");
19951
+ }
19952
+ function isOversizeToolResultRedirectStop(context) {
19953
+ const evidence = getOversizeStopEvidence(context);
19954
+ if (!evidence) return false;
19955
+ const hasToolResultPointer = TOOL_RESULT_FILE_POINTER_PATTERN.test(evidence);
19956
+ if (!hasToolResultPointer) return false;
19957
+ return TOOL_RESULT_REDIRECT_MARKER_PATTERNS.some((pattern) => pattern.test(evidence));
19958
+ }
19886
19959
  function isUserAbort(context) {
19887
19960
  if (!context) return false;
19888
19961
  if (context.user_requested || context.userRequested) return true;
@@ -20144,7 +20217,7 @@ function getNextPendingTodo(result) {
20144
20217
  }
20145
20218
  return result.todos.find((t) => t.status === "pending") ?? null;
20146
20219
  }
20147
- var import_fs40, import_path48, AUTHENTICATION_ERROR_PATTERNS;
20220
+ var import_fs40, import_path48, STOP_CONTEXT_TAIL_BYTES, STOP_CONTEXT_VALUE_MAX_CHARS, TOOL_RESULT_FILE_POINTER_PATTERN, TOOL_RESULT_REDIRECT_MARKER_PATTERNS, AUTHENTICATION_ERROR_PATTERNS;
20148
20221
  var init_todo_continuation = __esm({
20149
20222
  "src/hooks/todo-continuation/index.ts"() {
20150
20223
  "use strict";
@@ -20152,6 +20225,15 @@ var init_todo_continuation = __esm({
20152
20225
  import_path48 = require("path");
20153
20226
  init_worktree_paths();
20154
20227
  init_config_dir();
20228
+ STOP_CONTEXT_TAIL_BYTES = 32 * 1024;
20229
+ STOP_CONTEXT_VALUE_MAX_CHARS = 8 * 1024;
20230
+ TOOL_RESULT_FILE_POINTER_PATTERN = /(?:^|[\s"'`(\[{<])(?:\.{0,2}\/)?tool-results\/[A-Za-z0-9._-]+\.txt(?:$|[\s"'`)\]}>:,.])/i;
20231
+ TOOL_RESULT_REDIRECT_MARKER_PATTERNS = [
20232
+ /\btool[_ -]?result\b.{0,160}\b(?:too large|oversi[sz]e[dt]?|exceeds?|exceeded|truncated|redirect(?:ed)?|saved|written)\b/i,
20233
+ /\b(?:too large|oversi[sz]e[dt]?|exceeds?|exceeded|truncated|redirect(?:ed)?|saved|written)\b.{0,160}\btool[_ -]?result\b/i,
20234
+ /\b(?:output|response|result)\b.{0,160}\b(?:redirect(?:ed)?|saved|written)\b.{0,160}\btool-results\/[A-Za-z0-9._-]+\.txt\b/i,
20235
+ /\bfull (?:tool )?(?:output|result|response)\b.{0,160}\btool-results\/[A-Za-z0-9._-]+\.txt\b/i
20236
+ ];
20155
20237
  AUTHENTICATION_ERROR_PATTERNS = [
20156
20238
  "authentication_error",
20157
20239
  "authentication_failed",
@@ -25421,7 +25503,7 @@ async function checkRalphLoop(sessionId, directory, cancelInProgress) {
25421
25503
  writeRalphState(workingDir, state, sessionId);
25422
25504
  return {
25423
25505
  shouldBlock: true,
25424
- message: `[RALPH - HARD LIMIT] Reached hard max iterations (${hardMax}). Mode auto-disabled. Restart with /oh-my-copilot:ralph if needed.`,
25506
+ message: `[RALPH - HARD LIMIT] Reached hard max iterations (${hardMax}). Mode auto-disabled. Restart with /oh-my-claudecode:ralph if needed.`,
25425
25507
  mode: "ralph",
25426
25508
  metadata: { iteration: state.iteration, maxIterations: state.max_iterations }
25427
25509
  };
@@ -25456,7 +25538,7 @@ CRITICAL INSTRUCTIONS:
25456
25538
  1. Review your progress and the original task
25457
25539
  ${prdInstruction}
25458
25540
  3. Continue from where you left off
25459
- 4. When FULLY complete (after ${state.critic_mode === "codex" ? "Codex critic" : state.critic_mode === "critic" ? "Critic" : "Architect"} verification), run \`/oh-my-copilot:cancel\` to cleanly exit and clean up state files. If cancel fails, retry with \`/oh-my-copilot:cancel --force\`.
25541
+ 4. When FULLY complete (after ${state.critic_mode === "codex" ? "Codex critic" : state.critic_mode === "critic" ? "Critic" : "Architect"} verification), run \`/oh-my-claudecode:cancel\` to cleanly exit and clean up state files. If cancel fails, retry with \`/oh-my-claudecode:cancel --force\`.
25460
25542
  5. Do NOT stop until the task is truly done
25461
25543
 
25462
25544
  ${newState.prompt ? `Original task: ${truncatePromptForEcho(newState.prompt)}` : ""}
@@ -25579,7 +25661,7 @@ async function checkTeamPipeline(sessionId, directory, cancelInProgress) {
25579
25661
 
25580
25662
  The team pipeline is active in phase "${phase}". Continue working on the team workflow.
25581
25663
  Do not stop until the pipeline reaches a terminal state (complete/failed/cancelled).
25582
- When done, run \`/oh-my-copilot:cancel\` to cleanly exit.
25664
+ When done, run \`/oh-my-claudecode:cancel\` to cleanly exit.
25583
25665
 
25584
25666
  </team-pipeline-continuation>
25585
25667
 
@@ -25769,7 +25851,7 @@ async function checkRalplan(sessionId, directory, cancelInProgress) {
25769
25851
 
25770
25852
  The ralplan consensus workflow is active. Continue the Planner/Architect/Critic loop.
25771
25853
  Do not stop until consensus is reached or the workflow completes.
25772
- When done, run \`/oh-my-copilot:cancel\` to cleanly exit.
25854
+ When done, run \`/oh-my-claudecode:cancel\` to cleanly exit.
25773
25855
 
25774
25856
  </ralplan-continuation>
25775
25857
 
@@ -25811,7 +25893,7 @@ async function checkUltrawork(sessionId, directory, _hasIncompleteTodos, cancelI
25811
25893
  deactivateUltrawork(workingDir, sessionId);
25812
25894
  return {
25813
25895
  shouldBlock: true,
25814
- message: "[ULTRAWORK - HARD LIMIT] Reached hard max iterations (" + hardMax + "). Mode auto-disabled. Restart with /oh-my-copilot:ultrawork if needed.",
25896
+ message: "[ULTRAWORK - HARD LIMIT] Reached hard max iterations (" + hardMax + "). Mode auto-disabled. Restart with /oh-my-claudecode:ultrawork if needed.",
25815
25897
  mode: "ultrawork",
25816
25898
  metadata: { reinforcementCount: state.reinforcement_count }
25817
25899
  };
@@ -25832,6 +25914,14 @@ async function checkUltrawork(sessionId, directory, _hasIncompleteTodos, cancelI
25832
25914
  }
25833
25915
  async function checkPersistentModes(sessionId, directory, stopContext) {
25834
25916
  const workingDir = resolveToWorktreeRoot(directory);
25917
+ if (process.env.DISABLE_OMC === "1" || process.env.DISABLE_OMC === "true" || process.env.OMC_TEAM_WORKER) {
25918
+ return { shouldBlock: false, message: "", mode: "none" };
25919
+ }
25920
+ const skipHooks = (process.env.OMC_SKIP_HOOKS ?? "").split(",").map((s) => s.trim()).filter(Boolean);
25921
+ if (skipHooks.includes("persistent-mode") || skipHooks.includes("stop-continuation")) {
25922
+ return { shouldBlock: false, message: "", mode: "none" };
25923
+ }
25924
+ await reconcileTerminalWorkflowSlots(workingDir, sessionId);
25835
25925
  if (isCriticalContextStop(stopContext)) {
25836
25926
  return {
25837
25927
  shouldBlock: false,
@@ -25882,14 +25972,24 @@ async function checkPersistentModes(sessionId, directory, stopContext) {
25882
25972
  mode: "none"
25883
25973
  };
25884
25974
  }
25885
- if (process.env.DISABLE_OMC === "1" || process.env.DISABLE_OMC === "true" || process.env.OMC_TEAM_WORKER) {
25886
- return { shouldBlock: false, message: "", mode: "none" };
25887
- }
25888
- const skipHooks = (process.env.OMC_SKIP_HOOKS ?? "").split(",").map((s) => s.trim()).filter(Boolean);
25889
- if (skipHooks.includes("persistent-mode") || skipHooks.includes("stop-continuation")) {
25890
- return { shouldBlock: false, message: "", mode: "none" };
25975
+ if (isOversizeToolResultRedirectStop(stopContext)) {
25976
+ const redirectStopCount = readStopBreaker(
25977
+ workingDir,
25978
+ "oversize-tool-result-redirect",
25979
+ sessionId,
25980
+ OVERSIZE_TOOL_RESULT_REDIRECT_STOP_TTL_MS
25981
+ ) + 1;
25982
+ writeStopBreaker(workingDir, "oversize-tool-result-redirect", redirectStopCount, sessionId);
25983
+ if (redirectStopCount <= OVERSIZE_TOOL_RESULT_REDIRECT_STOP_MAX) {
25984
+ return {
25985
+ shouldBlock: false,
25986
+ message: "",
25987
+ mode: "none"
25988
+ };
25989
+ }
25990
+ } else {
25991
+ writeStopBreaker(workingDir, "oversize-tool-result-redirect", 0, sessionId);
25891
25992
  }
25892
- await reconcileTerminalWorkflowSlots(workingDir, sessionId);
25893
25993
  if (hasPendingOwnedAsyncWork(workingDir, sessionId)) {
25894
25994
  return {
25895
25995
  shouldBlock: false,
@@ -25897,15 +25997,6 @@ async function checkPersistentModes(sessionId, directory, stopContext) {
25897
25997
  mode: "none"
25898
25998
  };
25899
25999
  }
25900
- try {
25901
- const { readSkillActiveStateNormalized: readSkillActiveStateNormalized2, pruneExpiredWorkflowSkillTombstones: pruneExpiredWorkflowSkillTombstones2, writeSkillActiveStateCopies: writeSkillActiveStateCopies2 } = await Promise.resolve().then(() => (init_skill_state(), skill_state_exports));
25902
- const current = readSkillActiveStateNormalized2(workingDir, sessionId);
25903
- const pruned = pruneExpiredWorkflowSkillTombstones2(current);
25904
- if (pruned !== current) {
25905
- writeSkillActiveStateCopies2(workingDir, pruned, sessionId);
25906
- }
25907
- } catch {
25908
- }
25909
26000
  const todoResult = await checkIncompleteTodos(sessionId, workingDir, stopContext);
25910
26001
  const hasIncompleteTodos = todoResult.count > 0;
25911
26002
  const tombstonedWorkflowModes = /* @__PURE__ */ new Set();
@@ -26006,7 +26097,7 @@ function createHookOutput(result) {
26006
26097
  message: result.message || void 0
26007
26098
  };
26008
26099
  }
26009
- var import_fs49, import_path56, CANCEL_SIGNAL_TTL_MS2, STALE_STATE_THRESHOLD_MS, PENDING_ASYNC_STATE_STALE_MS, TERMINAL_WORKFLOW_SLOT_MODES, TERMINAL_WORKFLOW_PHASES, todoContinuationAttempts, TRANSCRIPT_TAIL_BYTES, CRITICAL_CONTEXT_STOP_PERCENT, RALPLAN_TERMINAL_PHASES, REVIEWER_TASK_TOOL_NAMES, REVIEWER_COMMAND_TOOL_NAMES, AWAITING_CONFIRMATION_TTL_MS, TEAM_PIPELINE_STOP_BLOCKER_MAX, TEAM_PIPELINE_STOP_BLOCKER_TTL_MS, RALPLAN_STOP_BLOCKER_MAX, RALPLAN_STOP_BLOCKER_TTL_MS, RALPLAN_ACTIVE_AGENT_RECENCY_WINDOW_MS;
26100
+ var import_fs49, import_path56, CANCEL_SIGNAL_TTL_MS2, STALE_STATE_THRESHOLD_MS, PENDING_ASYNC_STATE_STALE_MS, OVERSIZE_TOOL_RESULT_REDIRECT_STOP_MAX, OVERSIZE_TOOL_RESULT_REDIRECT_STOP_TTL_MS, TERMINAL_WORKFLOW_SLOT_MODES, TERMINAL_WORKFLOW_PHASES, todoContinuationAttempts, TRANSCRIPT_TAIL_BYTES, CRITICAL_CONTEXT_STOP_PERCENT, RALPLAN_TERMINAL_PHASES, REVIEWER_TASK_TOOL_NAMES, REVIEWER_COMMAND_TOOL_NAMES, AWAITING_CONFIRMATION_TTL_MS, TEAM_PIPELINE_STOP_BLOCKER_MAX, TEAM_PIPELINE_STOP_BLOCKER_TTL_MS, RALPLAN_STOP_BLOCKER_MAX, RALPLAN_STOP_BLOCKER_TTL_MS, RALPLAN_ACTIVE_AGENT_RECENCY_WINDOW_MS;
26010
26101
  var init_persistent_mode = __esm({
26011
26102
  "src/hooks/persistent-mode/index.ts"() {
26012
26103
  "use strict";
@@ -26031,6 +26122,8 @@ var init_persistent_mode = __esm({
26031
26122
  CANCEL_SIGNAL_TTL_MS2 = 3e4;
26032
26123
  STALE_STATE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
26033
26124
  PENDING_ASYNC_STATE_STALE_MS = 24 * 60 * 60 * 1e3;
26125
+ OVERSIZE_TOOL_RESULT_REDIRECT_STOP_MAX = 3;
26126
+ OVERSIZE_TOOL_RESULT_REDIRECT_STOP_TTL_MS = 5 * 60 * 1e3;
26034
26127
  TERMINAL_WORKFLOW_SLOT_MODES = /* @__PURE__ */ new Set(["autopilot", "ralph", "ralplan"]);
26035
26128
  TERMINAL_WORKFLOW_PHASES = /* @__PURE__ */ new Set([
26036
26129
  "complete",
@@ -61,4 +61,19 @@ describe('package.json prepare script removal', () => {
61
61
  expect(pkg.scripts.prepublishOnly).toContain('npm run build');
62
62
  });
63
63
  });
64
+ describe('plugin-setup.mjs Ralph Ruby dependency guidance (issue #2969)', () => {
65
+ const scriptContent = existsSync(PLUGIN_SETUP_PATH)
66
+ ? readFileSync(PLUGIN_SETUP_PATH, 'utf-8')
67
+ : '';
68
+ it('checks for Ruby during plugin setup before Ralph workflows fail later', () => {
69
+ expect(scriptContent).toContain('checkRalphRubyDependency');
70
+ expect(scriptContent).toContain("execFileSync('ruby', ['--version']");
71
+ expect(scriptContent).toContain('Ruby was not found on PATH');
72
+ });
73
+ it('prints actionable install guidance for fresh Ubuntu users', () => {
74
+ expect(scriptContent).toContain('Ralph workflows require Ruby');
75
+ expect(scriptContent).toContain('sudo apt update && sudo apt install ruby-full');
76
+ expect(scriptContent).toContain('restart Claude Code');
77
+ });
78
+ });
64
79
  //# sourceMappingURL=plugin-setup-deps.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-setup-deps.test.js","sourceRoot":"","sources":["../../src/__tests__/plugin-setup-deps.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-setup-deps.test.js","sourceRoot":"","sources":["../../src/__tests__/plugin-setup-deps.test.ts"],"names":[],"mappings":"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"}
@@ -37,9 +37,10 @@ describe('Builtin Skills', () => {
37
37
  clearSkillsCache();
38
38
  });
39
39
  describe('createBuiltinSkills()', () => {
40
- it('should return correct number of skills (53 canonical skills)', () => {
40
+ it('should return correct number of skills (54 canonical + aliases)', () => {
41
41
  const skills = createBuiltinSkills();
42
- expect(skills).toHaveLength(53);
42
+ // 54 entries: 53 canonical OMC skills + 1 cancel-ralph alias added in #2967
43
+ expect(skills).toHaveLength(54);
43
44
  });
44
45
  it('should return an array of BuiltinSkill objects', () => {
45
46
  const skills = createBuiltinSkills();
@@ -87,6 +88,7 @@ describe('Builtin Skills', () => {
87
88
  'autoresearch',
88
89
  'autopilot',
89
90
  'cancel',
91
+ 'cancel-ralph',
90
92
  'cccg',
91
93
  'configure-notifications',
92
94
  'critique',
@@ -146,6 +148,21 @@ describe('Builtin Skills', () => {
146
148
  const uniqueNames = new Set(skillNames);
147
149
  expect(uniqueNames.size).toBe(skillNames.length);
148
150
  });
151
+ it('exposes cancel-ralph as a deprecated alias for canonical cancel', () => {
152
+ const cancel = getBuiltinSkill('cancel');
153
+ const cancelRalph = getBuiltinSkill('cancel-ralph');
154
+ expect(cancel).toBeDefined();
155
+ expect(cancel.aliasOf).toBeUndefined();
156
+ expect(cancel.aliases).toContain('cancel-ralph');
157
+ expect(cancelRalph).toBeDefined();
158
+ expect(cancelRalph.aliasOf).toBe('cancel');
159
+ expect(cancelRalph.deprecatedAlias).toBe(true);
160
+ expect(cancelRalph.deprecationMessage).toContain('Use "cancel" instead');
161
+ expect(cancelRalph.template).toBe(cancel.template);
162
+ expect(listBuiltinSkillNames()).toContain('cancel');
163
+ expect(listBuiltinSkillNames()).not.toContain('cancel-ralph');
164
+ expect(listBuiltinSkillNames({ includeAliases: true })).toContain('cancel-ralph');
165
+ });
149
166
  it('exposes learner as a deprecated alias for canonical skillify', () => {
150
167
  const skillify = getBuiltinSkill('skillify');
151
168
  const learner = getBuiltinSkill('learner');
@@ -620,8 +637,8 @@ describe('Builtin Skills', () => {
620
637
  });
621
638
  it('should include aliases when explicitly requested', () => {
622
639
  const names = listBuiltinSkillNames({ includeAliases: true });
623
- // swarm alias removed in #1131, psm alias restored in v4.11.6
624
- expect(names).toHaveLength(53);
640
+ // swarm alias removed in #1131; cancel-ralph (upstream #2967), psm, and learner aliases still exist
641
+ expect(names).toHaveLength(54);
625
642
  expect(names).toContain('ai-slop-cleaner');
626
643
  expect(names).toContain('autoresearch');
627
644
  expect(names).toContain('self-improve');
@@ -629,6 +646,7 @@ describe('Builtin Skills', () => {
629
646
  expect(names).toContain('visual-verdict');
630
647
  expect(names).toContain('wiki');
631
648
  expect(names).not.toContain('swarm');
649
+ expect(names).toContain('cancel-ralph');
632
650
  expect(names).toContain('psm');
633
651
  expect(names).toContain('learner');
634
652
  });
@@ -1 +1 @@
1
- {"version":3,"file":"skills.test.js","sourceRoot":"","sources":["../../src/__tests__/skills.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.test.js","sourceRoot":"","sources":["../../src/__tests__/skills.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest';
9
9
  import { execFileSync } from 'child_process';
10
- import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
10
+ import { existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, readlinkSync, rmSync, writeFileSync } from 'node:fs';
11
11
  import { tmpdir } from 'node:os';
12
12
  import { join } from 'node:path';
13
13
  vi.mock('child_process', async (importOriginal) => {
@@ -693,6 +693,59 @@ describe('prepareOmcLaunchConfigDir / launchCommand OMC companion loading', () =
693
693
  expect(existsSync(join(runtimeDir, 'themes'))).toBe(true);
694
694
  expect(readFileSync(join(runtimeDir, 'themes', 'custom-theme.json'), 'utf-8')).toBe('{"name":"custom"}');
695
695
  });
696
+ it.skipIf(process.platform === 'win32')('mirrors Linux credential file as a symlink without copying credential content', () => {
697
+ const configDir = join(tempRoot, '.copilot-cred');
698
+ mkdirSync(configDir, { recursive: true });
699
+ const credentialsPath = join(configDir, '.credentials.json');
700
+ const credentialContent = '{"accessToken":"test-only-token"}';
701
+ const logSpy = vi.spyOn(console, 'log').mockImplementation(() => undefined);
702
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => undefined);
703
+ const errorSpy = vi.spyOn(console, 'error').mockImplementation(() => undefined);
704
+ writeFileSync(join(configDir, 'copilot-instructions-omc.md'), '<!-- OMC:START -->\n# OMC\n<!-- OMC:END -->\n');
705
+ writeFileSync(credentialsPath, credentialContent);
706
+ try {
707
+ const runtimeDir = prepareOmcLaunchConfigDir(configDir);
708
+ const runtimeCredentialsPath = join(runtimeDir, '.credentials.json');
709
+ expect(existsSync(runtimeCredentialsPath)).toBe(true);
710
+ expect(lstatSync(runtimeCredentialsPath).isSymbolicLink()).toBe(true);
711
+ expect(readlinkSync(runtimeCredentialsPath)).toBe(credentialsPath);
712
+ const consoleOutput = [...logSpy.mock.calls, ...warnSpy.mock.calls, ...errorSpy.mock.calls].flat().join('\n');
713
+ expect(consoleOutput).not.toContain(credentialContent);
714
+ }
715
+ finally {
716
+ logSpy.mockRestore();
717
+ warnSpy.mockRestore();
718
+ errorSpy.mockRestore();
719
+ }
720
+ });
721
+ it.skipIf(process.platform === 'win32')('does not copy credential content when credential symlink creation fails', async () => {
722
+ vi.resetModules();
723
+ const actualFs = await vi.importActual('node:fs');
724
+ const copyFileSyncSpy = vi.fn(actualFs.copyFileSync);
725
+ vi.doMock('fs', () => ({
726
+ ...actualFs,
727
+ copyFileSync: copyFileSyncSpy,
728
+ symlinkSync: vi.fn(() => {
729
+ throw new Error('symlink unavailable');
730
+ }),
731
+ }));
732
+ try {
733
+ const { prepareOmcLaunchConfigDir: prepareWithFailedSymlink } = await import('../launch.js');
734
+ const configDir = join(tempRoot, '.copilot-cred-symlink');
735
+ mkdirSync(configDir, { recursive: true });
736
+ const credentialsPath = join(configDir, '.credentials.json');
737
+ writeFileSync(join(configDir, 'copilot-instructions-omc.md'), '<!-- OMC:START -->\n# OMC\n<!-- OMC:END -->\n');
738
+ writeFileSync(credentialsPath, '{"accessToken":"test-only-token"}');
739
+ const runtimeDir = prepareWithFailedSymlink(configDir);
740
+ const runtimeCredentialsPath = join(runtimeDir, '.credentials.json');
741
+ expect(existsSync(runtimeCredentialsPath)).toBe(false);
742
+ expect(copyFileSyncSpy).not.toHaveBeenCalledWith(credentialsPath, runtimeCredentialsPath);
743
+ }
744
+ finally {
745
+ vi.doUnmock('fs');
746
+ vi.resetModules();
747
+ }
748
+ });
696
749
  it('preserves runtime .claude.json across runtime config dir rebuilds', () => {
697
750
  const configDir = join(tempRoot, '.copilot');
698
751
  mkdirSync(configDir, { recursive: true });