@camunda8/cli 2.8.0-alpha.1 → 2.8.0-alpha.11

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 (92) hide show
  1. package/PLUGIN-HELP.md +170 -8
  2. package/README.md +1186 -73
  3. package/dist/command-dispatch.d.ts.map +1 -1
  4. package/dist/command-dispatch.js +5 -3
  5. package/dist/command-dispatch.js.map +1 -1
  6. package/dist/command-framework.d.ts.map +1 -1
  7. package/dist/command-framework.js +22 -1
  8. package/dist/command-framework.js.map +1 -1
  9. package/dist/command-registry.d.ts +61 -311
  10. package/dist/command-registry.d.ts.map +1 -1
  11. package/dist/command-registry.js +64 -33
  12. package/dist/command-registry.js.map +1 -1
  13. package/dist/commands/completion.d.ts +16 -33
  14. package/dist/commands/completion.d.ts.map +1 -1
  15. package/dist/commands/completion.js +31 -689
  16. package/dist/commands/completion.js.map +1 -1
  17. package/dist/commands/mcp-proxy.d.ts +0 -17
  18. package/dist/commands/mcp-proxy.d.ts.map +1 -1
  19. package/dist/commands/mcp-proxy.js +3 -104
  20. package/dist/commands/mcp-proxy.js.map +1 -1
  21. package/dist/commands/open.d.ts +3 -44
  22. package/dist/commands/open.d.ts.map +1 -1
  23. package/dist/commands/open.js +5 -81
  24. package/dist/commands/open.js.map +1 -1
  25. package/dist/commands/plugins.d.ts +23 -8
  26. package/dist/commands/plugins.d.ts.map +1 -1
  27. package/dist/commands/plugins.js +58 -29
  28. package/dist/commands/plugins.js.map +1 -1
  29. package/dist/commands/run.d.ts +8 -8
  30. package/dist/commands/run.d.ts.map +1 -1
  31. package/dist/commands/run.js +60 -60
  32. package/dist/commands/run.js.map +1 -1
  33. package/dist/commands/search.d.ts +2 -39
  34. package/dist/commands/search.d.ts.map +1 -1
  35. package/dist/commands/search.js +2 -83
  36. package/dist/commands/search.js.map +1 -1
  37. package/dist/commands/session.d.ts +1 -0
  38. package/dist/commands/session.d.ts.map +1 -1
  39. package/dist/commands/session.js +5 -0
  40. package/dist/commands/session.js.map +1 -1
  41. package/dist/commands/watch.d.ts +2 -1
  42. package/dist/commands/watch.d.ts.map +1 -1
  43. package/dist/commands/watch.js +17 -8
  44. package/dist/commands/watch.js.map +1 -1
  45. package/dist/completion.d.ts +36 -0
  46. package/dist/completion.d.ts.map +1 -0
  47. package/dist/completion.js +816 -0
  48. package/dist/completion.js.map +1 -0
  49. package/dist/config.d.ts.map +1 -1
  50. package/dist/config.js +19 -1
  51. package/dist/config.js.map +1 -1
  52. package/dist/{commands/deployments.d.ts → deployments.d.ts} +1 -1
  53. package/dist/deployments.d.ts.map +1 -0
  54. package/dist/{commands/deployments.js → deployments.js} +8 -8
  55. package/dist/deployments.js.map +1 -0
  56. package/dist/help.d.ts.map +1 -0
  57. package/dist/{commands/help.js → help.js} +68 -4
  58. package/dist/help.js.map +1 -0
  59. package/dist/index.d.ts +23 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +285 -9
  62. package/dist/index.js.map +1 -1
  63. package/dist/mcp-proxy-helpers.d.ts +23 -0
  64. package/dist/mcp-proxy-helpers.d.ts.map +1 -0
  65. package/dist/mcp-proxy-helpers.js +109 -0
  66. package/dist/mcp-proxy-helpers.js.map +1 -0
  67. package/dist/open-helpers.d.ts +52 -0
  68. package/dist/open-helpers.d.ts.map +1 -0
  69. package/dist/open-helpers.js +88 -0
  70. package/dist/open-helpers.js.map +1 -0
  71. package/dist/plugin-loader.d.ts +102 -2
  72. package/dist/plugin-loader.d.ts.map +1 -1
  73. package/dist/plugin-loader.js +262 -22
  74. package/dist/plugin-loader.js.map +1 -1
  75. package/dist/plugin-version.d.ts +15 -0
  76. package/dist/plugin-version.d.ts.map +1 -0
  77. package/dist/plugin-version.js +37 -0
  78. package/dist/plugin-version.js.map +1 -0
  79. package/dist/search-helpers.d.ts +46 -0
  80. package/dist/search-helpers.d.ts.map +1 -0
  81. package/dist/search-helpers.js +90 -0
  82. package/dist/search-helpers.js.map +1 -0
  83. package/dist/watch-constants.d.ts +7 -0
  84. package/dist/watch-constants.d.ts.map +1 -0
  85. package/dist/watch-constants.js +7 -0
  86. package/dist/watch-constants.js.map +1 -0
  87. package/package.json +11 -7
  88. package/dist/commands/deployments.d.ts.map +0 -1
  89. package/dist/commands/deployments.js.map +0 -1
  90. package/dist/commands/help.d.ts.map +0 -1
  91. package/dist/commands/help.js.map +0 -1
  92. /package/dist/{commands/help.d.ts → help.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC7C,YAAY,EACZ,SAAS,EACT,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,iBAAiB,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzE,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,iEAAiE;IACjE,kEAAkE;IAClE,qEAAqE;IACrE,mEAAmE;IACnE,oDAAoD;IACpD,EAAE;IACF,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,8DAA8D;IAC9D,qEAAqE;IACrE,gEAAgE;IAChE,cAAc,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACtC,OAAO,SAAS,CAAC;AAClB,CAAC,CACD,CAAC"}
@@ -1,20 +1,3 @@
1
- import type { CamundaClient } from "@camunda8/orchestration-cluster-api";
2
- import { Logger } from "../logger.ts";
3
- /**
4
- * Creates a custom fetch function that injects Camunda authentication headers
5
- * and handles token refresh on 401 errors.
6
- *
7
- * @param camundaClient - The Camunda client instance for auth
8
- * @param timeout - Request timeout in milliseconds (default: 60000)
9
- * @returns Custom fetch function compatible with MCP SDK transport
10
- */
11
- export declare function createCamundaFetch(camundaClient: CamundaClient, logger: Logger, timeout?: number): typeof fetch;
12
- /**
13
- * Normalize remote MCP URL to ensure it points to the MCP endpoint (assuming it ends with /mcp/cluster).
14
- * - If URL has no path or just "/", append "/mcp/cluster"
15
- * - If URL ends with "/v2" or "/v2/", replace with "/mcp/cluster"
16
- */
17
- export declare function normalizeRemoteMcpUrl(url: string, mcpServerPath: string): string;
18
1
  /**
19
2
  * Run an STDIO ↔ remote-HTTP MCP proxy with Camunda authentication.
20
3
  *
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-proxy.d.ts","sourceRoot":"","sources":["../../src/commands/mcp-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAezE,OAAO,EAAY,MAAM,EAAkB,MAAM,cAAc,CAAC;AAIhE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CACjC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAc,GACrB,OAAO,KAAK,CA0Fd;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GACnB,MAAM,CAqBR;AAkMD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,mEAiE1B,CAAC"}
1
+ {"version":3,"file":"mcp-proxy.d.ts","sourceRoot":"","sources":["../../src/commands/mcp-proxy.ts"],"names":[],"mappings":"AAuNA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,mEAiE1B,CAAC"}
@@ -6,111 +6,10 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextpro
6
6
  import { createClient } from "../client.js";
7
7
  import { defineCommand } from "../command-framework.js";
8
8
  import { normalizeToError } from "../errors.js";
9
- import { isRecord, Logger } from "../logger.js";
9
+ import { getVersion } from "../help.js";
10
+ import { Logger } from "../logger.js";
11
+ import { createCamundaFetch, normalizeRemoteMcpUrl, } from "../mcp-proxy-helpers.js";
10
12
  import { c8ctl } from "../runtime.js";
11
- import { getVersion } from "./help.js";
12
- /**
13
- * Creates a custom fetch function that injects Camunda authentication headers
14
- * and handles token refresh on 401 errors.
15
- *
16
- * @param camundaClient - The Camunda client instance for auth
17
- * @param timeout - Request timeout in milliseconds (default: 60000)
18
- * @returns Custom fetch function compatible with MCP SDK transport
19
- */
20
- export function createCamundaFetch(camundaClient, logger, timeout = 60000) {
21
- return async (input, init) => {
22
- // Get fresh auth headers from orchestration-cluster-api
23
- const authHeaders = await camundaClient.getAuthHeaders();
24
- // Merge with existing headers
25
- const headers = new Headers(init?.headers);
26
- Object.entries(authHeaders).forEach(([key, value]) => {
27
- headers.set(key, value);
28
- });
29
- // Create timeout abort controller
30
- const timeoutController = new AbortController();
31
- const timeoutId = setTimeout(() => timeoutController.abort(), timeout);
32
- try {
33
- // Merge abort signals (SDK's signal + timeout signal)
34
- const signal = init?.signal
35
- ? AbortSignal.any([init.signal, timeoutController.signal])
36
- : timeoutController.signal;
37
- // Make the request with merged headers
38
- const response = await fetch(input, { ...init, headers, signal });
39
- // Handle 401 with token refresh and retry
40
- if (response.status === 401) {
41
- clearTimeout(timeoutId);
42
- logger.info("Received 401 (Unauthorized) response, attempting token refresh and retrying");
43
- // Force token refresh and rebuild headers
44
- await camundaClient.forceAuthRefresh();
45
- const freshHeaders = await camundaClient.getAuthHeaders();
46
- const retryHeaders = new Headers(init?.headers);
47
- Object.entries(freshHeaders).forEach(([key, value]) => {
48
- retryHeaders.set(key, value);
49
- });
50
- // Retry with fresh token and timeout
51
- const retryTimeoutController = new AbortController();
52
- const retryTimeoutId = setTimeout(() => retryTimeoutController.abort(), timeout);
53
- try {
54
- const retrySignal = init?.signal
55
- ? AbortSignal.any([init.signal, retryTimeoutController.signal])
56
- : retryTimeoutController.signal;
57
- return await fetch(input, {
58
- ...init,
59
- headers: retryHeaders,
60
- signal: retrySignal,
61
- });
62
- }
63
- finally {
64
- clearTimeout(retryTimeoutId);
65
- }
66
- }
67
- clearTimeout(timeoutId);
68
- return response;
69
- }
70
- catch (error) {
71
- clearTimeout(timeoutId);
72
- // Convert AbortError to more descriptive timeout error
73
- if (error instanceof Error && error.name === "AbortError") {
74
- throw new Error(`Request timeout after ${timeout}ms`);
75
- }
76
- // Walk the cause chain to handle both Node 22 (shallow) and Node 24 (deeper nesting)
77
- let cause = error instanceof Error ? error.cause : undefined;
78
- while (cause != null) {
79
- if (isRecord(cause) && cause.code === "ECONNREFUSED") {
80
- const url = typeof input === "string" ? input : input.toString();
81
- throw new Error(`Connection refused: Unable to connect to ${url}. Please verify the server is running and accessible.`);
82
- }
83
- cause = isRecord(cause) ? cause.cause : undefined;
84
- }
85
- throw error;
86
- }
87
- };
88
- }
89
- /**
90
- * Normalize remote MCP URL to ensure it points to the MCP endpoint (assuming it ends with /mcp/cluster).
91
- * - If URL has no path or just "/", append "/mcp/cluster"
92
- * - If URL ends with "/v2" or "/v2/", replace with "/mcp/cluster"
93
- */
94
- export function normalizeRemoteMcpUrl(url, mcpServerPath) {
95
- try {
96
- const urlObj = new URL(url);
97
- // If path is empty or just "/", append MCP server path
98
- if (urlObj.pathname === "" || urlObj.pathname === "/") {
99
- urlObj.pathname = mcpServerPath;
100
- return urlObj.toString();
101
- }
102
- // If path ends with "/v2" (with or without trailing slash), replace with MCP server path
103
- if (urlObj.pathname.match(/\/v2\/?$/)) {
104
- urlObj.pathname = urlObj.pathname.replace(/\/v2\/?$/, mcpServerPath);
105
- return urlObj.toString();
106
- }
107
- // Already ends with MCP server path or has custom path - keep as is
108
- return url;
109
- }
110
- catch (_e) {
111
- return url;
112
- }
113
- }
114
13
  /**
115
14
  * MCP Proxy that bridges STDIO (local) to HTTP (remote) with Camunda authentication.
116
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-proxy.js","sourceRoot":"","sources":["../../src/commands/mcp-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-proxy.js","sourceRoot":"","sources":["../../src/commands/mcp-proxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACN,6BAA6B,EAC7B,mBAAmB,GACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACN,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,EAAkB,MAAM,cAAc,CAAC;AACtD,OAAO,EACN,kBAAkB,EAClB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,QAAQ;IACL,aAAa,CAAgB;IAC7B,MAAM,CAAS;IAEf,YAAY,CAAS;IAErB,MAAM,CAAS;IACf,eAAe,CAAgC;IAE/C,SAAS,CAAY;IACrB,eAAe,GAAgC,IAAI,CAAC;IAE5D,YACC,aAA4B,EAC5B,MAAc,EACd,aAAqB;QAErB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,YAAY,GAAG,qBAAqB,CACxC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,WAAW,EAC1C,aAAa,CACb,CAAC;QAEF,0FAA0F;QAC1F,IAAI,CAAC,eAAe,GAAG,IAAI,6BAA6B,CACvD,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1B;YACC,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC;SAC1D,CACD,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,0CAA0C;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EACpC,EAAE,YAAY,EAAE,EAAE,EAAE,CACpB,CAAC;QAEF,gEAAgE;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAC7B;YACC,IAAI,EAAE,iBAAiB;YACvB,OAAO;SACP,EACD;YACC,YAAY,EAAE;gBACb,kCAAkC;gBAClC,KAAK,EAAE,EAAE;aACT;SACD,CACD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,uCAAuC,IAAI,CAAC,YAAY,EAAE,CAC1D,CAAC;QAEF,IAAI,CAAC;YACJ,sDAAsD;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClE,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,YAAY,oBAAoB,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,GAAG,YAAY,uCAAuC,CACtD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAEnD,qCAAqC;YACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,0CAA0C;YAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAElD,oCAAoC;YACpC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;YAEF,IAAI,KAAK,YAAY,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,8FAA8F,CAC9F,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE1C,IAAI,CAAC;YACJ,mDAAmD;YACnD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAE7B,mDAAmD;YACnD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAE1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClF,CAAC;QACH,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,aAAa;QACpB,sCAAsC;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CACtC,sBAAsB,EACtB,KAAK,EAAE,OAAO,EAAE,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,8BAA8B,EAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;gBACF,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CACD,CAAC;QAEF,sCAAsC;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CACtC,qBAAqB,EACrB,KAAK,EAAE,OAAO,EAAE,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,iCAAiC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CACvD,CAAC;gBACF,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,iCAAiC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EACvD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;gBACF,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CACD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,0DAA0D,CAC1D,CAAC;IACH,CAAC;CACD;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3E,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ;QAClC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;IAEnB,MAAM,eAAe,GAAc;QAClC,GAAG,CAAC,GAAG,IAAe;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,GAAG,IAAe;YACvB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;KACD,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE;QAC/C,GAAG,EAAE;YACJ,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;SACD;KACD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;IAE1D,IAAI,KAAK,GAAoB,IAAI,CAAC;IAClC,IAAI,CAAC;QACJ,KAAK,GAAG,IAAI,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QAEpB,iEAAiE;QACjE,mEAAmE;QACnE,uDAAuD;QACvD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE;gBACzC,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,+BAA+B,CAAC,CAAC;gBAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtE,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAEpE,IAAI,KAAK;YAAE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE9C,mEAAmE;QACnE,qEAAqE;QACrE,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,eAAe,CAAC;QACvB,CAAC;QAED,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,gEAAgE;QAChE,yDAAyD;QACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,qBAAqB,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC"}
@@ -1,51 +1,10 @@
1
1
  /**
2
2
  * Open command - opens Camunda web applications in a browser
3
- */
4
- export declare const OPEN_APPS: readonly ["operate", "tasklist", "modeler", "optimize"];
5
- export type AppName = (typeof OPEN_APPS)[number];
6
- export declare function isAppName(value: string): value is AppName;
7
- /**
8
- * Derive the URL of a Camunda web application from the cluster base URL.
9
- *
10
- * Only supported for self-managed clusters where the base URL is the REST API
11
- * endpoint (e.g. `http://localhost:8080/v2`). Returns `null` when the URL
12
- * does not look like a self-managed gateway (no `/v<n>` suffix).
13
- */
14
- export declare function deriveAppUrl(baseUrl: string, app: AppName): string | null;
15
- /**
16
- * Determine the platform-appropriate command and arguments to open a URL.
17
- *
18
- * WSL is detected explicitly because it reports `linux`, but should use the
19
- * Windows opener via interop rather than relying on `xdg-open`.
20
3
  *
21
- * Accepts optional overrides for testing.
22
- */
23
- export declare function getBrowserCommand(url: string, plat?: NodeJS.Platform, env?: Record<string, string | undefined>): {
24
- command: string;
25
- args: string[];
26
- };
27
- /**
28
- * Open a URL in the default system browser.
29
- * Works on macOS, Linux, native Windows, and WSL.
30
- */
31
- export declare function openUrl(url: string): void;
32
- /**
33
- * Validated inputs for the open command.
34
- */
35
- export interface OpenAppInput {
36
- app: AppName;
37
- profile?: string;
38
- dryRun?: boolean;
39
- }
40
- /**
41
- * Validate raw CLI positional + options for the open command.
42
- * Returns a fully validated and type-narrowed input object.
43
- * Exits with code 1 on invalid input.
4
+ * Pure helpers (URL derivation, platform browser detection, validation,
5
+ * `openUrl`) live in `src/open-helpers.ts` so they can be unit-tested
6
+ * without violating the test→commands import boundary (#291).
44
7
  */
45
- export declare function validateOpenAppOptions(app: string | undefined, options: {
46
- profile?: string;
47
- dryRun?: boolean;
48
- }): OpenAppInput;
49
8
  /**
50
9
  * Open a Camunda web application in the default browser.
51
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,eAAO,MAAM,SAAS,yDAKZ,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,CAGzD;AAKD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAMzE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,CAAC,QAAqB,EAClC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACnD;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAYrC;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkBzC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,YAAY,CAWd;AAID;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,8DAsBzB,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,eAAe,kEAK1B,CAAC"}
1
+ {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,8DAsBzB,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,eAAe,kEAK1B,CAAC"}
@@ -1,89 +1,13 @@
1
1
  /**
2
2
  * Open command - opens Camunda web applications in a browser
3
+ *
4
+ * Pure helpers (URL derivation, platform browser detection, validation,
5
+ * `openUrl`) live in `src/open-helpers.ts` so they can be unit-tested
6
+ * without violating the test→commands import boundary (#291).
3
7
  */
4
- import { spawn } from "node:child_process";
5
- import { platform } from "node:os";
6
8
  import { defineCommand } from "../command-framework.js";
7
- import { requireOneOf, requirePositional } from "../command-validation.js";
8
9
  import { resolveClusterConfig } from "../config.js";
9
- import { getLogger } from "../logger.js";
10
- export const OPEN_APPS = [
11
- "operate",
12
- "tasklist",
13
- "modeler",
14
- "optimize",
15
- ];
16
- export function isAppName(value) {
17
- // biome-ignore lint/plugin: safe widening — readonly tuple to readonly string[] for .includes() compatibility
18
- return OPEN_APPS.includes(value);
19
- }
20
- /** Pattern that matches a self-managed REST API version suffix, e.g. `/v2` */
21
- const VERSION_SUFFIX_RE = /\/v\d+\/?$/;
22
- /**
23
- * Derive the URL of a Camunda web application from the cluster base URL.
24
- *
25
- * Only supported for self-managed clusters where the base URL is the REST API
26
- * endpoint (e.g. `http://localhost:8080/v2`). Returns `null` when the URL
27
- * does not look like a self-managed gateway (no `/v<n>` suffix).
28
- */
29
- export function deriveAppUrl(baseUrl, app) {
30
- if (!VERSION_SUFFIX_RE.test(baseUrl)) {
31
- return null;
32
- }
33
- const base = baseUrl.replace(VERSION_SUFFIX_RE, "").replace(/\/$/, "");
34
- return `${base}/${app}`;
35
- }
36
- /**
37
- * Determine the platform-appropriate command and arguments to open a URL.
38
- *
39
- * WSL is detected explicitly because it reports `linux`, but should use the
40
- * Windows opener via interop rather than relying on `xdg-open`.
41
- *
42
- * Accepts optional overrides for testing.
43
- */
44
- export function getBrowserCommand(url, plat = platform(), env = process.env) {
45
- const isWsl = plat === "linux" && Boolean(env.WSL_DISTRO_NAME || env.WSL_INTEROP);
46
- if (plat === "darwin") {
47
- return { command: "open", args: [url] };
48
- }
49
- if (plat === "win32" || isWsl) {
50
- return { command: "cmd.exe", args: ["/c", "start", "", url] };
51
- }
52
- // Linux
53
- return { command: "xdg-open", args: [url] };
54
- }
55
- /**
56
- * Open a URL in the default system browser.
57
- * Works on macOS, Linux, native Windows, and WSL.
58
- */
59
- export function openUrl(url) {
60
- const logger = getLogger();
61
- const { command, args } = getBrowserCommand(url);
62
- const child = spawn(command, args, { detached: true, stdio: "ignore" });
63
- child.on("error", (error) => {
64
- if (error.code === "ENOENT") {
65
- logger.error(`Could not open the browser automatically because '${command}' is not available on PATH.`);
66
- logger.info(`Open this URL manually: ${url}`);
67
- return;
68
- }
69
- logger.error(`Could not open the browser automatically: ${error.message}`);
70
- logger.info(`Open this URL manually: ${url}`);
71
- });
72
- child.unref();
73
- }
74
- const OPEN_USAGE = "Usage: c8 open <app> [--profile <name>]";
75
- /**
76
- * Validate raw CLI positional + options for the open command.
77
- * Returns a fully validated and type-narrowed input object.
78
- * Exits with code 1 on invalid input.
79
- */
80
- export function validateOpenAppOptions(app, options) {
81
- return {
82
- app: requireOneOf(requirePositional(app, "Application", OPEN_USAGE), OPEN_APPS, "application", OPEN_USAGE),
83
- profile: options.profile,
84
- dryRun: options.dryRun,
85
- };
86
- }
10
+ import { deriveAppUrl, openUrl, validateOpenAppOptions, } from "../open-helpers.js";
87
11
  // ─── defineCommand ───────────────────────────────────────────────────────────
88
12
  /**
89
13
  * Open a Camunda web application in the default browser.
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACN,YAAY,EACZ,OAAO,EACP,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE;QACrE,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;KAClB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACd,iBAAiB,GAAG,uBAAuB,MAAM,CAAC,OAAO,IAAI;YAC5D,+DAA+D;YAC/D,iEAAiE,CAClE,CAAC;IACH,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1E,MAAM,GAAG,GAAG,yCAAyC,CAAC;IACtD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * Plugin management commands
3
3
  */
4
+ import { getInstalledPluginVersion, getVersionFromSource } from "../plugin-version.ts";
5
+ export { getInstalledPluginVersion, getVersionFromSource };
4
6
  /**
5
7
  * Load a plugin (npm install wrapper)
6
8
  * Supports either package name or --from flag with URL
@@ -12,14 +14,6 @@ export declare const loadPluginCommand: import("../command-framework.ts").Comman
12
14
  * Uninstalls from global plugins directory
13
15
  */
14
16
  export declare const unloadPluginCommand: import("../command-framework.ts").CommandHandler<"unload", "plugin">;
15
- /**
16
- * Get installed plugin version from package.json
17
- */
18
- export declare function getInstalledPluginVersion(nodeModulesPath: string, packageName: string): string | null;
19
- /**
20
- * Extract version from a registry source like package@version
21
- */
22
- export declare function getVersionFromSource(source: string, packageName: string): string | null;
23
17
  /**
24
18
  * List installed plugins
25
19
  */
@@ -41,4 +35,25 @@ export declare const downgradePluginCommand: import("../command-framework.ts").C
41
35
  * Initialize a new plugin project with TypeScript template
42
36
  */
43
37
  export declare const initPluginCommand: import("../command-framework.ts").CommandHandler<"init", "plugin">;
38
+ /**
39
+ * Doctor — surface plugin-loading collisions detected at startup
40
+ * (#363). The loader applies first-registration-wins for both
41
+ * plugin-name collisions (two packages sharing `package.json#name`)
42
+ * and command-name collisions (two plugins exporting the same
43
+ * command). Both are logged at warn level when they happen, but a
44
+ * user who didn't see those warnings has no way to discover what was
45
+ * dropped. `c8ctl doctor plugin` re-renders that diagnostic on
46
+ * demand.
47
+ *
48
+ * The output is two sections:
49
+ * 1. Loaded plugins, with the command names that survived
50
+ * duplicate-name rejection.
51
+ * 2. Detected collisions, with kind, winner, loser, and (for
52
+ * command-name collisions) the affected command.
53
+ *
54
+ * Exit code is always 0 — the doctor reports state, it doesn't
55
+ * enforce policy. Returning non-zero would interfere with scripted
56
+ * use (e.g. piping into `jq` under `--json`).
57
+ */
58
+ export declare const doctorPluginCommand: import("../command-framework.ts").CommandHandler<"doctor", "plugin">;
44
59
  //# sourceMappingURL=plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkDH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,oEAgG7B,CAAC;AAmLF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,sEA8F/B,CAAC;AA2DF;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAcf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAQf;AA+BD;;GAEG;AACH,eAAO,MAAM,kBAAkB,oEA4E9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oEA6H9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,uEAsEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,yEAoElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,oEA0F7B,CAAC"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH,OAAO,EACN,yBAAyB,EACzB,oBAAoB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,CAAC;AAiC3D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,oEAgG7B,CAAC;AAmLF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,sEA8F/B,CAAC;AAwFF;;GAEG;AACH,eAAO,MAAM,kBAAkB,oEA4E9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oEA6H9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,uEAsEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,yEAoElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,oEA0F7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,mBAAmB,sEAkD/B,CAAC"}
@@ -9,8 +9,10 @@ import { defineCommand } from "../command-framework.js";
9
9
  import { ensurePluginsDir } from "../config.js";
10
10
  import { handleCommandError } from "../errors.js";
11
11
  import { getLogger } from "../logger.js";
12
- import { clearLoadedPlugins } from "../plugin-loader.js";
12
+ import { clearLoadedPlugins, getLoadedPluginSummaries, getPluginCollisions, } from "../plugin-loader.js";
13
13
  import { addPluginToRegistry, getPluginEntry, getRegisteredPlugins, isPluginRegistered, removePluginFromRegistry, } from "../plugin-registry.js";
14
+ import { getInstalledPluginVersion, getVersionFromSource, } from "../plugin-version.js";
15
+ export { getInstalledPluginVersion, getVersionFromSource };
14
16
  const __filename = fileURLToPath(import.meta.url);
15
17
  const __dirname = dirname(__filename);
16
18
  function isExecFileError(error) {
@@ -379,34 +381,6 @@ function scanInstalledPlugins(nodeModulesPath) {
379
381
  }
380
382
  return installedPlugins;
381
383
  }
382
- /**
383
- * Get installed plugin version from package.json
384
- */
385
- export function getInstalledPluginVersion(nodeModulesPath, packageName) {
386
- const packagePath = join(nodeModulesPath, ...packageName.split("/"));
387
- const packageJsonPath = join(packagePath, "package.json");
388
- if (!existsSync(packageJsonPath)) {
389
- return null;
390
- }
391
- try {
392
- const pkgJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
393
- return typeof pkgJson.version === "string" ? pkgJson.version : null;
394
- }
395
- catch {
396
- return null;
397
- }
398
- }
399
- /**
400
- * Extract version from a registry source like package@version
401
- */
402
- export function getVersionFromSource(source, packageName) {
403
- const packagePrefix = `${packageName}@`;
404
- if (!source.startsWith(packagePrefix)) {
405
- return null;
406
- }
407
- const version = source.slice(packagePrefix.length).trim();
408
- return version.length > 0 ? version : null;
409
- }
410
384
  /**
411
385
  * Check if plugin source points to URL/git-style location
412
386
  */
@@ -737,4 +711,59 @@ export const initPluginCommand = defineCommand("init", "plugin", async (ctx, _fl
737
711
  handleCommandError(logger, "Failed to create plugin", error);
738
712
  }
739
713
  });
714
+ /**
715
+ * Doctor — surface plugin-loading collisions detected at startup
716
+ * (#363). The loader applies first-registration-wins for both
717
+ * plugin-name collisions (two packages sharing `package.json#name`)
718
+ * and command-name collisions (two plugins exporting the same
719
+ * command). Both are logged at warn level when they happen, but a
720
+ * user who didn't see those warnings has no way to discover what was
721
+ * dropped. `c8ctl doctor plugin` re-renders that diagnostic on
722
+ * demand.
723
+ *
724
+ * The output is two sections:
725
+ * 1. Loaded plugins, with the command names that survived
726
+ * duplicate-name rejection.
727
+ * 2. Detected collisions, with kind, winner, loser, and (for
728
+ * command-name collisions) the affected command.
729
+ *
730
+ * Exit code is always 0 — the doctor reports state, it doesn't
731
+ * enforce policy. Returning non-zero would interfere with scripted
732
+ * use (e.g. piping into `jq` under `--json`).
733
+ */
734
+ export const doctorPluginCommand = defineCommand("doctor", "plugin", async (ctx, _flags, _args) => {
735
+ const { logger } = ctx;
736
+ const loaded = getLoadedPluginSummaries();
737
+ const collisions = getPluginCollisions();
738
+ if (logger.mode === "json") {
739
+ logger.json({ loaded, collisions });
740
+ return;
741
+ }
742
+ if (loaded.length === 0) {
743
+ logger.info("No plugins loaded.");
744
+ }
745
+ else {
746
+ logger.info(`Loaded plugins (${loaded.length}):`);
747
+ logger.table(loaded.map((p) => ({
748
+ Plugin: p.name,
749
+ Commands: p.commands.length === 0 ? "(none)" : p.commands.join(", "),
750
+ })));
751
+ }
752
+ if (collisions.length === 0) {
753
+ logger.info("");
754
+ logger.info("No plugin collisions detected.");
755
+ return;
756
+ }
757
+ logger.info("");
758
+ logger.info(`Detected collisions (${collisions.length}):`);
759
+ logger.table(collisions.map((c) => ({
760
+ Kind: c.kind,
761
+ Winner: c.winner,
762
+ Loser: c.loser,
763
+ Command: c.command ?? "—",
764
+ })));
765
+ logger.info("");
766
+ logger.info("Resolution policy: first-registration-wins. The losing plugin's command (or the entire losing plugin, for plugin-name collisions) was dropped at load time.");
767
+ logger.info("To resolve: uninstall one of the colliding plugins, or ask the plugin author to rename. See docs/plugin-collisions.md for the full policy.");
768
+ });
740
769
  //# sourceMappingURL=plugins.js.map