@zhixuan92/multi-model-agent 4.9.1 → 5.0.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.
Files changed (252) hide show
  1. package/bin/mmagent.mjs +47 -0
  2. package/package.json +19 -57
  3. package/postinstall.mjs +8 -0
  4. package/LICENSE +0 -21
  5. package/README.md +0 -306
  6. package/dist/cli/index.d.ts +0 -62
  7. package/dist/cli/index.d.ts.map +0 -1
  8. package/dist/cli/index.js +0 -345
  9. package/dist/cli/index.js.map +0 -1
  10. package/dist/cli/info.d.ts +0 -22
  11. package/dist/cli/info.d.ts.map +0 -1
  12. package/dist/cli/info.js +0 -100
  13. package/dist/cli/info.js.map +0 -1
  14. package/dist/cli/logs.d.ts +0 -15
  15. package/dist/cli/logs.d.ts.map +0 -1
  16. package/dist/cli/logs.js +0 -102
  17. package/dist/cli/logs.js.map +0 -1
  18. package/dist/cli/print-token.d.ts +0 -18
  19. package/dist/cli/print-token.d.ts.map +0 -1
  20. package/dist/cli/print-token.js +0 -60
  21. package/dist/cli/print-token.js.map +0 -1
  22. package/dist/cli/serve.d.ts +0 -28
  23. package/dist/cli/serve.d.ts.map +0 -1
  24. package/dist/cli/serve.js +0 -405
  25. package/dist/cli/serve.js.map +0 -1
  26. package/dist/cli/status.d.ts +0 -49
  27. package/dist/cli/status.d.ts.map +0 -1
  28. package/dist/cli/status.js +0 -155
  29. package/dist/cli/status.js.map +0 -1
  30. package/dist/cli/sync-skills.d.ts +0 -58
  31. package/dist/cli/sync-skills.d.ts.map +0 -1
  32. package/dist/cli/sync-skills.js +0 -266
  33. package/dist/cli/sync-skills.js.map +0 -1
  34. package/dist/cli/telemetry.d.ts +0 -10
  35. package/dist/cli/telemetry.d.ts.map +0 -1
  36. package/dist/cli/telemetry.js +0 -161
  37. package/dist/cli/telemetry.js.map +0 -1
  38. package/dist/cli/toggle.d.ts +0 -26
  39. package/dist/cli/toggle.d.ts.map +0 -1
  40. package/dist/cli/toggle.js +0 -185
  41. package/dist/cli/toggle.js.map +0 -1
  42. package/dist/http/async-dispatch.d.ts +0 -44
  43. package/dist/http/async-dispatch.d.ts.map +0 -1
  44. package/dist/http/async-dispatch.js +0 -175
  45. package/dist/http/async-dispatch.js.map +0 -1
  46. package/dist/http/auth.d.ts +0 -20
  47. package/dist/http/auth.d.ts.map +0 -1
  48. package/dist/http/auth.js +0 -56
  49. package/dist/http/auth.js.map +0 -1
  50. package/dist/http/canonicalize-file-paths.d.ts +0 -8
  51. package/dist/http/canonicalize-file-paths.d.ts.map +0 -1
  52. package/dist/http/canonicalize-file-paths.js +0 -43
  53. package/dist/http/canonicalize-file-paths.js.map +0 -1
  54. package/dist/http/cwd-validator.d.ts +0 -11
  55. package/dist/http/cwd-validator.d.ts.map +0 -1
  56. package/dist/http/cwd-validator.js +0 -130
  57. package/dist/http/cwd-validator.js.map +0 -1
  58. package/dist/http/errors.d.ts +0 -4
  59. package/dist/http/errors.d.ts.map +0 -1
  60. package/dist/http/errors.js +0 -9
  61. package/dist/http/errors.js.map +0 -1
  62. package/dist/http/execution-context.d.ts +0 -18
  63. package/dist/http/execution-context.d.ts.map +0 -1
  64. package/dist/http/execution-context.js +0 -61
  65. package/dist/http/execution-context.js.map +0 -1
  66. package/dist/http/handler-deps.d.ts +0 -19
  67. package/dist/http/handler-deps.d.ts.map +0 -1
  68. package/dist/http/handler-deps.js +0 -2
  69. package/dist/http/handler-deps.js.map +0 -1
  70. package/dist/http/handlers/control/batch-slice.d.ts +0 -4
  71. package/dist/http/handlers/control/batch-slice.d.ts.map +0 -1
  72. package/dist/http/handlers/control/batch-slice.js +0 -40
  73. package/dist/http/handlers/control/batch-slice.js.map +0 -1
  74. package/dist/http/handlers/control/batch.d.ts +0 -23
  75. package/dist/http/handlers/control/batch.d.ts.map +0 -1
  76. package/dist/http/handlers/control/batch.js +0 -332
  77. package/dist/http/handlers/control/batch.js.map +0 -1
  78. package/dist/http/handlers/control/context-blocks.d.ts +0 -22
  79. package/dist/http/handlers/control/context-blocks.d.ts.map +0 -1
  80. package/dist/http/handlers/control/context-blocks.js +0 -111
  81. package/dist/http/handlers/control/context-blocks.js.map +0 -1
  82. package/dist/http/handlers/introspection/health.d.ts +0 -20
  83. package/dist/http/handlers/introspection/health.d.ts.map +0 -1
  84. package/dist/http/handlers/introspection/health.js +0 -18
  85. package/dist/http/handlers/introspection/health.js.map +0 -1
  86. package/dist/http/handlers/introspection/status.d.ts +0 -26
  87. package/dist/http/handlers/introspection/status.d.ts.map +0 -1
  88. package/dist/http/handlers/introspection/status.js +0 -136
  89. package/dist/http/handlers/introspection/status.js.map +0 -1
  90. package/dist/http/handlers/tools/audit.d.ts +0 -4
  91. package/dist/http/handlers/tools/audit.d.ts.map +0 -1
  92. package/dist/http/handlers/tools/audit.js +0 -43
  93. package/dist/http/handlers/tools/audit.js.map +0 -1
  94. package/dist/http/handlers/tools/debug.d.ts +0 -4
  95. package/dist/http/handlers/tools/debug.d.ts.map +0 -1
  96. package/dist/http/handlers/tools/debug.js +0 -43
  97. package/dist/http/handlers/tools/debug.js.map +0 -1
  98. package/dist/http/handlers/tools/delegate.d.ts +0 -4
  99. package/dist/http/handlers/tools/delegate.d.ts.map +0 -1
  100. package/dist/http/handlers/tools/delegate.js +0 -43
  101. package/dist/http/handlers/tools/delegate.js.map +0 -1
  102. package/dist/http/handlers/tools/execute-plan.d.ts +0 -4
  103. package/dist/http/handlers/tools/execute-plan.d.ts.map +0 -1
  104. package/dist/http/handlers/tools/execute-plan.js +0 -45
  105. package/dist/http/handlers/tools/execute-plan.js.map +0 -1
  106. package/dist/http/handlers/tools/investigate.d.ts +0 -4
  107. package/dist/http/handlers/tools/investigate.d.ts.map +0 -1
  108. package/dist/http/handlers/tools/investigate.js +0 -64
  109. package/dist/http/handlers/tools/investigate.js.map +0 -1
  110. package/dist/http/handlers/tools/journal-recall.d.ts +0 -4
  111. package/dist/http/handlers/tools/journal-recall.d.ts.map +0 -1
  112. package/dist/http/handlers/tools/journal-recall.js +0 -40
  113. package/dist/http/handlers/tools/journal-recall.js.map +0 -1
  114. package/dist/http/handlers/tools/journal-record.d.ts +0 -4
  115. package/dist/http/handlers/tools/journal-record.d.ts.map +0 -1
  116. package/dist/http/handlers/tools/journal-record.js +0 -35
  117. package/dist/http/handlers/tools/journal-record.js.map +0 -1
  118. package/dist/http/handlers/tools/research.d.ts +0 -4
  119. package/dist/http/handlers/tools/research.d.ts.map +0 -1
  120. package/dist/http/handlers/tools/research.js +0 -64
  121. package/dist/http/handlers/tools/research.js.map +0 -1
  122. package/dist/http/handlers/tools/retry.d.ts +0 -4
  123. package/dist/http/handlers/tools/retry.d.ts.map +0 -1
  124. package/dist/http/handlers/tools/retry.js +0 -73
  125. package/dist/http/handlers/tools/retry.js.map +0 -1
  126. package/dist/http/handlers/tools/review.d.ts +0 -4
  127. package/dist/http/handlers/tools/review.d.ts.map +0 -1
  128. package/dist/http/handlers/tools/review.js +0 -43
  129. package/dist/http/handlers/tools/review.js.map +0 -1
  130. package/dist/http/middleware/body-reader.d.ts +0 -16
  131. package/dist/http/middleware/body-reader.d.ts.map +0 -1
  132. package/dist/http/middleware/body-reader.js +0 -44
  133. package/dist/http/middleware/body-reader.js.map +0 -1
  134. package/dist/http/middleware/caller-identity.d.ts +0 -16
  135. package/dist/http/middleware/caller-identity.d.ts.map +0 -1
  136. package/dist/http/middleware/caller-identity.js +0 -16
  137. package/dist/http/middleware/caller-identity.js.map +0 -1
  138. package/dist/http/middleware/decompress.d.ts +0 -14
  139. package/dist/http/middleware/decompress.d.ts.map +0 -1
  140. package/dist/http/middleware/decompress.js +0 -51
  141. package/dist/http/middleware/decompress.js.map +0 -1
  142. package/dist/http/project-registry.d.ts +0 -54
  143. package/dist/http/project-registry.d.ts.map +0 -1
  144. package/dist/http/project-registry.js +0 -130
  145. package/dist/http/project-registry.js.map +0 -1
  146. package/dist/http/request-observability.d.ts +0 -8
  147. package/dist/http/request-observability.d.ts.map +0 -1
  148. package/dist/http/request-observability.js +0 -20
  149. package/dist/http/request-observability.js.map +0 -1
  150. package/dist/http/request-pipeline.d.ts +0 -16
  151. package/dist/http/request-pipeline.d.ts.map +0 -1
  152. package/dist/http/request-pipeline.js +0 -144
  153. package/dist/http/request-pipeline.js.map +0 -1
  154. package/dist/http/server.d.ts +0 -17
  155. package/dist/http/server.d.ts.map +0 -1
  156. package/dist/http/server.js +0 -300
  157. package/dist/http/server.js.map +0 -1
  158. package/dist/http/types.d.ts +0 -20
  159. package/dist/http/types.d.ts.map +0 -1
  160. package/dist/http/types.js +0 -2
  161. package/dist/http/types.js.map +0 -1
  162. package/dist/skill-install/disabled-state.d.ts +0 -35
  163. package/dist/skill-install/disabled-state.d.ts.map +0 -1
  164. package/dist/skill-install/disabled-state.js +0 -96
  165. package/dist/skill-install/disabled-state.js.map +0 -1
  166. package/dist/skill-install/discover.d.ts +0 -29
  167. package/dist/skill-install/discover.d.ts.map +0 -1
  168. package/dist/skill-install/discover.js +0 -104
  169. package/dist/skill-install/discover.js.map +0 -1
  170. package/dist/skill-install/include-utils.d.ts +0 -27
  171. package/dist/skill-install/include-utils.d.ts.map +0 -1
  172. package/dist/skill-install/include-utils.js +0 -90
  173. package/dist/skill-install/include-utils.js.map +0 -1
  174. package/dist/skill-install/manifest.d.ts +0 -82
  175. package/dist/skill-install/manifest.d.ts.map +0 -1
  176. package/dist/skill-install/manifest.js +0 -215
  177. package/dist/skill-install/manifest.js.map +0 -1
  178. package/dist/skill-install/skill-installer-common.d.ts +0 -26
  179. package/dist/skill-install/skill-installer-common.d.ts.map +0 -1
  180. package/dist/skill-install/skill-installer-common.js +0 -139
  181. package/dist/skill-install/skill-installer-common.js.map +0 -1
  182. package/dist/skill-install/skill-installers/claude-code.d.ts +0 -43
  183. package/dist/skill-install/skill-installers/claude-code.d.ts.map +0 -1
  184. package/dist/skill-install/skill-installers/claude-code.js +0 -65
  185. package/dist/skill-install/skill-installers/claude-code.js.map +0 -1
  186. package/dist/skill-install/skill-installers/codex-cli.d.ts +0 -27
  187. package/dist/skill-install/skill-installers/codex-cli.d.ts.map +0 -1
  188. package/dist/skill-install/skill-installers/codex-cli.js +0 -84
  189. package/dist/skill-install/skill-installers/codex-cli.js.map +0 -1
  190. package/dist/skill-install/skill-installers/cursor.d.ts +0 -72
  191. package/dist/skill-install/skill-installers/cursor.d.ts.map +0 -1
  192. package/dist/skill-install/skill-installers/cursor.js +0 -81
  193. package/dist/skill-install/skill-installers/cursor.js.map +0 -1
  194. package/dist/skill-install/skill-installers/gemini-cli.d.ts +0 -50
  195. package/dist/skill-install/skill-installers/gemini-cli.d.ts.map +0 -1
  196. package/dist/skill-install/skill-installers/gemini-cli.js +0 -72
  197. package/dist/skill-install/skill-installers/gemini-cli.js.map +0 -1
  198. package/dist/skill-install/skill-manifest-sync.d.ts +0 -11
  199. package/dist/skill-install/skill-manifest-sync.d.ts.map +0 -1
  200. package/dist/skill-install/skill-manifest-sync.js +0 -65
  201. package/dist/skill-install/skill-manifest-sync.js.map +0 -1
  202. package/dist/skills/_shared/auth.md +0 -41
  203. package/dist/skills/_shared/error-handling.md +0 -31
  204. package/dist/skills/_shared/polling.md +0 -88
  205. package/dist/skills/_shared/response-shape.md +0 -55
  206. package/dist/skills/_shared/review-policy.md +0 -15
  207. package/dist/skills/mma-audit/SKILL.md +0 -270
  208. package/dist/skills/mma-context-blocks/SKILL.md +0 -148
  209. package/dist/skills/mma-debug/SKILL.md +0 -208
  210. package/dist/skills/mma-delegate/SKILL.md +0 -216
  211. package/dist/skills/mma-execute-plan/SKILL.md +0 -214
  212. package/dist/skills/mma-explore/SKILL.md +0 -190
  213. package/dist/skills/mma-investigate/SKILL.md +0 -258
  214. package/dist/skills/mma-journal-recall/SKILL.md +0 -242
  215. package/dist/skills/mma-journal-record/SKILL.md +0 -189
  216. package/dist/skills/mma-research/SKILL.md +0 -223
  217. package/dist/skills/mma-retry/SKILL.md +0 -221
  218. package/dist/skills/mma-review/SKILL.md +0 -209
  219. package/dist/skills/multi-model-agent/SKILL.md +0 -206
  220. package/dist/telemetry/consent.d.ts +0 -4
  221. package/dist/telemetry/consent.d.ts.map +0 -1
  222. package/dist/telemetry/consent.js +0 -40
  223. package/dist/telemetry/consent.js.map +0 -1
  224. package/dist/telemetry/flusher.d.ts +0 -19
  225. package/dist/telemetry/flusher.d.ts.map +0 -1
  226. package/dist/telemetry/flusher.js +0 -277
  227. package/dist/telemetry/flusher.js.map +0 -1
  228. package/dist/telemetry/generation.d.ts +0 -9
  229. package/dist/telemetry/generation.d.ts.map +0 -1
  230. package/dist/telemetry/generation.js +0 -33
  231. package/dist/telemetry/generation.js.map +0 -1
  232. package/dist/telemetry/identity.d.ts +0 -9
  233. package/dist/telemetry/identity.d.ts.map +0 -1
  234. package/dist/telemetry/identity.js +0 -35
  235. package/dist/telemetry/identity.js.map +0 -1
  236. package/dist/telemetry/install-id.d.ts +0 -13
  237. package/dist/telemetry/install-id.d.ts.map +0 -1
  238. package/dist/telemetry/install-id.js +0 -49
  239. package/dist/telemetry/install-id.js.map +0 -1
  240. package/dist/telemetry/install-meta.d.ts +0 -10
  241. package/dist/telemetry/install-meta.d.ts.map +0 -1
  242. package/dist/telemetry/install-meta.js +0 -15
  243. package/dist/telemetry/install-meta.js.map +0 -1
  244. package/dist/telemetry/queue.d.ts +0 -35
  245. package/dist/telemetry/queue.d.ts.map +0 -1
  246. package/dist/telemetry/queue.js +0 -287
  247. package/dist/telemetry/queue.js.map +0 -1
  248. package/dist/telemetry/recorder.d.ts +0 -39
  249. package/dist/telemetry/recorder.d.ts.map +0 -1
  250. package/dist/telemetry/recorder.js +0 -173
  251. package/dist/telemetry/recorder.js.map +0 -1
  252. package/scripts/postinstall.js +0 -36
@@ -1,155 +0,0 @@
1
- /**
2
- * status.ts — `mmagent status` subcommand.
3
- *
4
- * Fetches GET /status from a running server and pretty-prints a summary.
5
- * Supports --json to dump the raw JSON response.
6
- * Exits 1 if the server is unreachable or returns an error status.
7
- *
8
- * Usage:
9
- * mmagent status [--config <path>] [--json]
10
- */
11
- import * as os from 'node:os';
12
- import * as path from 'node:path';
13
- /**
14
- * Format uptime in ms as a human-readable string.
15
- */
16
- function formatUptime(ms) {
17
- const seconds = Math.floor(ms / 1000);
18
- const minutes = Math.floor(seconds / 60);
19
- const hours = Math.floor(minutes / 60);
20
- const days = Math.floor(hours / 24);
21
- if (days > 0)
22
- return `${days}d ${hours % 24}h ${minutes % 60}m`;
23
- if (hours > 0)
24
- return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
25
- if (minutes > 0)
26
- return `${minutes}m ${seconds % 60}s`;
27
- return `${seconds}s`;
28
- }
29
- /**
30
- * Fetch GET /status and print a summary (or raw JSON).
31
- * Returns an exit code: 0 on success, 1 on error.
32
- */
33
- export async function fetchStatus(deps) {
34
- const { serverUrl, token, json = false } = deps;
35
- const stdout = deps.stdout ?? process.stdout.write.bind(process.stdout);
36
- const stderr = deps.stderr ?? process.stderr.write.bind(process.stderr);
37
- const fetcher = deps.fetch ?? fetch;
38
- const url = `${serverUrl.replace(/\/$/, '')}/status`;
39
- let res;
40
- try {
41
- res = await fetcher(url, {
42
- method: 'GET',
43
- headers: {
44
- Authorization: `Bearer ${token}`,
45
- Accept: 'application/json',
46
- },
47
- });
48
- }
49
- catch (err) {
50
- const msg = err instanceof Error ? err.message : String(err);
51
- stderr(`mmagent status: cannot reach server at ${serverUrl}: ${msg}\n`);
52
- stderr(`Is the server running? Start it with 'mmagent serve'.\n`);
53
- return 1;
54
- }
55
- if (!res.ok) {
56
- stderr(`mmagent status: server returned HTTP ${res.status} ${res.statusText}\n`);
57
- return 1;
58
- }
59
- let body;
60
- try {
61
- body = (await res.json());
62
- }
63
- catch (err) {
64
- stderr(`mmagent status: invalid JSON response from server\n`);
65
- return 1;
66
- }
67
- if (json) {
68
- stdout(JSON.stringify(body, null, 2) + '\n');
69
- return 0;
70
- }
71
- // Pretty-print summary
72
- const lines = [];
73
- lines.push(`mmagent server status`);
74
- lines.push(`─────────────────────────────`);
75
- if (body.version)
76
- lines.push(` version: ${body.version}`);
77
- if (body.pid !== undefined)
78
- lines.push(` pid: ${body.pid}`);
79
- if (body.bind)
80
- lines.push(` bind: ${body.bind}`);
81
- if (body.uptimeMs !== undefined)
82
- lines.push(` uptime: ${formatUptime(body.uptimeMs)}`);
83
- const c = body.counters;
84
- if (c) {
85
- lines.push(` projects: ${c.projectCount ?? 0}`);
86
- lines.push(` active batches: ${c.activeBatches ?? 0}`);
87
- lines.push(` active reqs: ${c.activeRequests ?? 0}`);
88
- }
89
- const inflightCount = Array.isArray(body.inflight) ? body.inflight.length : 0;
90
- lines.push(` in-flight: ${inflightCount}`);
91
- if (body.skillVersion !== undefined) {
92
- const sv = body.skillVersion ?? 'none';
93
- const compat = body.skillCompatible === true ? ' (compatible)'
94
- : body.skillCompatible === false ? ' (incompatible — run mmagent sync-skills to reconcile)'
95
- : '';
96
- lines.push(` skill version: ${sv}${compat}`);
97
- }
98
- stdout(lines.join('\n') + '\n');
99
- return 0;
100
- }
101
- /**
102
- * Build the server URL from a bind address and port.
103
- * Handles '0.0.0.0' / '::' by converting to '127.0.0.1' since /status
104
- * is loopback-only.
105
- */
106
- export function buildServerUrl(bind, port) {
107
- const host = (bind === '0.0.0.0' || bind === '::') ? '127.0.0.1' : bind;
108
- return `http://${host}:${port}`;
109
- }
110
- /**
111
- * Read the token and then call fetchStatus.
112
- * Returns exit code.
113
- */
114
- export async function runStatus(deps) {
115
- const { serverUrl, tokenFile, json = false } = deps;
116
- const env = deps.env ?? process.env;
117
- const stderr = deps.stderr ?? process.stderr.write.bind(process.stderr);
118
- const homeDir = deps.homeDir ?? os.homedir();
119
- // Read the token (env wins)
120
- let token;
121
- const envToken = (env['MMAGENT_AUTH_TOKEN'] ?? '').trim();
122
- if (envToken.length > 0) {
123
- token = envToken;
124
- }
125
- else {
126
- const { readFileSync } = await import('node:fs');
127
- const resolvedTokenFile = tokenFile.startsWith('~/')
128
- ? path.join(homeDir, tokenFile.slice(2))
129
- : tokenFile;
130
- try {
131
- token = readFileSync(resolvedTokenFile, 'utf-8').trim();
132
- }
133
- catch (err) {
134
- const code = err.code;
135
- if (code === 'ENOENT') {
136
- stderr(`mmagent status: token file not found: ${resolvedTokenFile}\n`);
137
- stderr(`Run 'mmagent print-token' or set MMAGENT_AUTH_TOKEN.\n`);
138
- }
139
- else {
140
- const msg = err instanceof Error ? err.message : String(err);
141
- stderr(`mmagent status: cannot read token file: ${msg}\n`);
142
- }
143
- return 1;
144
- }
145
- }
146
- return fetchStatus({
147
- serverUrl,
148
- token,
149
- json,
150
- stdout: deps.stdout,
151
- stderr: deps.stderr,
152
- fetch: deps.fetch,
153
- });
154
- }
155
- //# sourceMappingURL=status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import { type Client } from '../skill-install/manifest.js';
2
- export declare const ExitCode: Readonly<{
3
- SUCCESS: 0;
4
- ERR_PARTIAL: 1;
5
- ERR_FUTURE_MANIFEST: 2;
6
- ERR_UNKNOWN_TARGET: 3;
7
- }>;
8
- export interface SyncSkillsDeps {
9
- argv?: string[];
10
- homeDir?: string;
11
- /** Override skills root for testing. */
12
- skillsRoot?: string;
13
- /** Exit silently with code 0 if no manifest exists yet (postinstall). */
14
- ifExists?: boolean;
15
- /** Suppress normal stdout. Errors still go to stderr. */
16
- silent?: boolean;
17
- /** Swallow errors and exit 0 (postinstall). */
18
- bestEffort?: boolean;
19
- stdout?: (s: string) => boolean;
20
- stderr?: (s: string) => boolean;
21
- }
22
- interface ParsedArgs {
23
- targets: Client[] | null;
24
- allTargets: boolean;
25
- dryRun: boolean;
26
- json: boolean;
27
- }
28
- export declare function parseArgs(argv: string[]): ParsedArgs;
29
- export declare function resolveTargets(explicit: Client[] | null, allTargets: boolean, homeDir: string): Client[];
30
- export interface SyncOutcome {
31
- installed: Array<{
32
- skill: string;
33
- target: Client;
34
- version: string;
35
- }>;
36
- updated: Array<{
37
- skill: string;
38
- target: Client;
39
- from: string;
40
- to: string;
41
- }>;
42
- removed: Array<{
43
- skill: string;
44
- target: Client;
45
- }>;
46
- upToDate: Array<{
47
- skill: string;
48
- target: Client;
49
- }>;
50
- errors: Array<{
51
- skill: string;
52
- target: Client;
53
- reason: string;
54
- }>;
55
- }
56
- export declare function runSyncSkills(deps?: SyncSkillsDeps): Promise<number>;
57
- export {};
58
- //# sourceMappingURL=sync-skills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-skills.d.ts","sourceRoot":"","sources":["../../src/cli/sync-skills.ts"],"names":[],"mappings":"AA4BA,OAAO,EAOL,KAAK,MAAM,EAEZ,MAAM,8BAA8B,CAAC;AActC,eAAO,MAAM,QAAQ;;;;;EAKnB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CACjC;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAiBpD;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EACzB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CASV;AA2BD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyK9E"}
@@ -1,266 +0,0 @@
1
- /**
2
- * sync-skills.ts — `mmagent sync-skills` subcommand.
3
- *
4
- * Single command for skill management: idempotent upsert of every shipped
5
- * skill into every detected (or specified) client. Compares canonical
6
- * SUPPORTED_SKILLS against on-disk SKILL.md and the install manifest, and:
7
- * - installs skills not present on disk
8
- * - overwrites skills whose installed version differs from canonical
9
- * - removes skills no longer in SUPPORTED_SKILLS (orphan cleanup)
10
- * - rewrites the install manifest to reflect post-sync state
11
- *
12
- * Replaces install-skill + update-skills as of 4.0.2.
13
- *
14
- * Usage:
15
- * mmagent sync-skills [--target=<client>] [--all-targets] [--dry-run] [--json]
16
- * [--silent] [--best-effort] [--if-exists]
17
- *
18
- * Exit codes:
19
- * 0 — success (or no clients detected)
20
- * 1 — one or more skills failed to write/remove
21
- * 2 — manifest was written by a newer mmagent (FutureManifestError)
22
- * 3 — explicit --target was not a known client
23
- */
24
- import * as os from 'node:os';
25
- import * as fs from 'node:fs';
26
- import * as path from 'node:path';
27
- import minimist from 'minimist';
28
- import matter from 'gray-matter';
29
- import { ALL_CLIENTS, detectClients, listEntries, appendEntry, removeEntry, FutureManifestError, } from '../skill-install/manifest.js';
30
- import { SUPPORTED_SKILLS, readSkillContent, getSkillsRoot, } from '../skill-install/discover.js';
31
- import { writeSkillToClient, removeSkillFromClient, resolveClientInstallDir, UnknownTargetError, } from '../skill-install/skill-installer-common.js';
32
- import { disabledTargets } from '../skill-install/disabled-state.js';
33
- export const ExitCode = Object.freeze({
34
- SUCCESS: 0,
35
- ERR_PARTIAL: 1,
36
- ERR_FUTURE_MANIFEST: 2,
37
- ERR_UNKNOWN_TARGET: 3,
38
- });
39
- export function parseArgs(argv) {
40
- const args = minimist(argv, {
41
- string: ['target'],
42
- boolean: ['dry-run', 'json', 'all-targets'],
43
- alias: { t: 'target', j: 'json' },
44
- });
45
- let targets = null;
46
- if (args.target) {
47
- const t = Array.isArray(args.target) ? args.target : [args.target];
48
- targets = t.map((s) => s);
49
- }
50
- return {
51
- targets,
52
- allTargets: args['all-targets'] === true,
53
- dryRun: args['dry-run'] === true,
54
- json: args['json'] === true,
55
- };
56
- }
57
- export function resolveTargets(explicit, allTargets, homeDir) {
58
- if (allTargets)
59
- return [...ALL_CLIENTS];
60
- if (explicit !== null) {
61
- for (const t of explicit) {
62
- if (!ALL_CLIENTS.includes(t))
63
- throw new UnknownTargetError(t, ALL_CLIENTS);
64
- }
65
- return Array.from(new Set(explicit));
66
- }
67
- return detectClients(homeDir);
68
- }
69
- function versionFromContent(content) {
70
- try {
71
- const parsed = matter(content);
72
- const v = parsed.data['version'];
73
- return typeof v === 'string' && v.length > 0 ? v : 'unknown';
74
- }
75
- catch {
76
- return 'unknown';
77
- }
78
- }
79
- function manifestPresent(homeDir) {
80
- return fs.existsSync(path.join(homeDir, '.multi-model', 'install-manifest.json'));
81
- }
82
- function readInstalledVersion(skillName, target, homeDir) {
83
- const dir = resolveClientInstallDir(target, homeDir);
84
- if (!dir)
85
- return null;
86
- const skillFile = path.join(dir, skillName, 'SKILL.md');
87
- try {
88
- return versionFromContent(fs.readFileSync(skillFile, 'utf8'));
89
- }
90
- catch {
91
- return null;
92
- }
93
- }
94
- export async function runSyncSkills(deps = {}) {
95
- const argv = deps.argv ?? process.argv.slice(2);
96
- const homeDir = deps.homeDir ?? os.homedir();
97
- const skillsRoot = getSkillsRoot(deps.skillsRoot);
98
- const stdout = deps.stdout ?? process.stdout.write.bind(process.stdout);
99
- const stderr = deps.stderr ?? process.stderr.write.bind(process.stderr);
100
- const silent = deps.silent ?? false;
101
- const bestEffort = deps.bestEffort ?? false;
102
- const log = silent ? (_) => true : stdout;
103
- if (deps.ifExists && !manifestPresent(homeDir))
104
- return ExitCode.SUCCESS;
105
- const parsed = parseArgs(argv);
106
- let targets;
107
- try {
108
- targets = resolveTargets(parsed.targets, parsed.allTargets, homeDir);
109
- }
110
- catch (err) {
111
- if (err instanceof UnknownTargetError) {
112
- stderr(`mmagent sync-skills: ${err.message}\n`);
113
- return bestEffort ? 0 : ExitCode.ERR_UNKNOWN_TARGET;
114
- }
115
- throw err;
116
- }
117
- // Honor the disable sentinel: drop any client the user turned off via
118
- // `mmagent disable`. This is what makes disable sticky — the npm postinstall
119
- // hook shells out to this command, so without the filter every upgrade would
120
- // silently reinstall skills the user deliberately removed. `mmagent enable`
121
- // clears the sentinel before it calls back in here.
122
- const disabled = disabledTargets(homeDir);
123
- if (disabled.length > 0) {
124
- const active = targets.filter((t) => !disabled.includes(t));
125
- if (active.length === 0) {
126
- if (parsed.json) {
127
- stdout(JSON.stringify({ targets: [], outcome: 'skills-disabled', disabled }) + '\n');
128
- }
129
- else {
130
- log(`MMA skills are disabled for ${disabled.join(', ')}. ` +
131
- `Run \`mmagent enable\` to restore. Skipping sync.\n`);
132
- }
133
- return ExitCode.SUCCESS;
134
- }
135
- targets = active;
136
- }
137
- if (targets.length === 0) {
138
- if (parsed.json) {
139
- stdout(JSON.stringify({ targets: [], outcome: 'no-clients-detected' }) + '\n');
140
- }
141
- else {
142
- log('No clients detected. Use --target=<client> or --all-targets.\n');
143
- }
144
- return ExitCode.SUCCESS;
145
- }
146
- let manifestEntries;
147
- try {
148
- manifestEntries = listEntries(homeDir);
149
- }
150
- catch (err) {
151
- if (err instanceof FutureManifestError) {
152
- stderr(`mmagent sync-skills: ${err.message}\n`);
153
- return bestEffort ? 0 : ExitCode.ERR_FUTURE_MANIFEST;
154
- }
155
- if (bestEffort)
156
- return 0;
157
- throw err;
158
- }
159
- const outcome = {
160
- installed: [],
161
- updated: [],
162
- removed: [],
163
- upToDate: [],
164
- errors: [],
165
- };
166
- // Pass 1: orphan removal — drop skills that disappeared from the bundle.
167
- for (const entry of manifestEntries) {
168
- if (SUPPORTED_SKILLS.includes(entry.name))
169
- continue;
170
- for (const target of entry.targets) {
171
- if (parsed.dryRun) {
172
- outcome.removed.push({ skill: entry.name, target });
173
- continue;
174
- }
175
- try {
176
- removeSkillFromClient(entry.name, target, homeDir);
177
- outcome.removed.push({ skill: entry.name, target });
178
- }
179
- catch (err) {
180
- outcome.errors.push({
181
- skill: entry.name,
182
- target,
183
- reason: err instanceof Error ? err.message : String(err),
184
- });
185
- }
186
- }
187
- if (!parsed.dryRun)
188
- removeEntry(entry.name, [], homeDir);
189
- }
190
- // Pass 2: upsert canonical skills × resolved targets.
191
- for (const skillName of SUPPORTED_SKILLS) {
192
- const content = readSkillContent(skillName, skillsRoot);
193
- if (content === null) {
194
- outcome.errors.push({
195
- skill: skillName,
196
- target: targets[0],
197
- reason: `Bundled SKILL.md not found at ${path.join(skillsRoot, skillName, 'SKILL.md')}`,
198
- });
199
- continue;
200
- }
201
- const canonicalVersion = versionFromContent(content);
202
- for (const target of targets) {
203
- const installedVersion = readInstalledVersion(skillName, target, homeDir);
204
- const action = installedVersion === null
205
- ? 'install'
206
- : installedVersion !== canonicalVersion
207
- ? 'update'
208
- : 'up-to-date';
209
- if (action === 'up-to-date') {
210
- outcome.upToDate.push({ skill: skillName, target });
211
- continue;
212
- }
213
- if (parsed.dryRun) {
214
- if (action === 'install') {
215
- outcome.installed.push({ skill: skillName, target, version: canonicalVersion });
216
- }
217
- else {
218
- outcome.updated.push({ skill: skillName, target, from: installedVersion, to: canonicalVersion });
219
- }
220
- continue;
221
- }
222
- try {
223
- writeSkillToClient(skillName, content, target, homeDir, skillsRoot, canonicalVersion);
224
- appendEntry(skillName, canonicalVersion, [target], homeDir);
225
- if (action === 'install') {
226
- outcome.installed.push({ skill: skillName, target, version: canonicalVersion });
227
- }
228
- else {
229
- outcome.updated.push({ skill: skillName, target, from: installedVersion, to: canonicalVersion });
230
- }
231
- }
232
- catch (err) {
233
- outcome.errors.push({
234
- skill: skillName,
235
- target,
236
- reason: err instanceof Error ? err.message : String(err),
237
- });
238
- }
239
- }
240
- }
241
- if (parsed.json) {
242
- stdout(JSON.stringify({ dryRun: parsed.dryRun, targets, outcome }) + '\n');
243
- }
244
- else {
245
- const verb = parsed.dryRun ? 'Would sync' : 'Synced';
246
- const parts = [];
247
- if (outcome.installed.length > 0)
248
- parts.push(`${outcome.installed.length} installed`);
249
- if (outcome.updated.length > 0)
250
- parts.push(`${outcome.updated.length} updated`);
251
- if (outcome.removed.length > 0)
252
- parts.push(`${outcome.removed.length} orphan removed`);
253
- if (outcome.upToDate.length > 0)
254
- parts.push(`${outcome.upToDate.length} up-to-date`);
255
- if (outcome.errors.length > 0)
256
- parts.push(`${outcome.errors.length} errors`);
257
- const summary = parts.length > 0 ? parts.join(', ') : 'nothing to do';
258
- log(`${verb} ${SUPPORTED_SKILLS.length} skill(s) → ${targets.join(', ')} (${summary}).\n`);
259
- for (const e of outcome.errors)
260
- stderr(`error: ${e.skill} → ${e.target}: ${e.reason}\n`);
261
- }
262
- if (outcome.errors.length > 0)
263
- return bestEffort ? 0 : ExitCode.ERR_PARTIAL;
264
- return ExitCode.SUCCESS;
265
- }
266
- //# sourceMappingURL=sync-skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-skills.js","sourceRoot":"","sources":["../../src/cli/sync-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,GAGpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;IACd,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACtB,CAAC,CAAC;AAwBH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE;QAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC;QAC3C,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE;KAClC,CAAC,CAAC;IACH,IAAI,OAAO,GAAoB,IAAI,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,GAAI,CAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAW,CAAC,CAAC;IACpD,CAAC;IACD,OAAO;QACL,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI;QACxC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI;QAChC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAyB,EACzB,UAAmB,EACnB,OAAe;IAEf,IAAI,UAAU;QAAE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAe;IAC9E,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAuB,EAAE;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAElD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;IAExE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;YACtC,MAAM,CAAC,wBAAwB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAChD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,sEAAsE;IACtE,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,GAAG,CACD,+BAA+B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACtD,qDAAqD,CACtD,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,gEAAgE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,eAAgC,CAAC;IACrC,IAAI,CAAC;QACH,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;YACvC,MAAM,CAAC,wBAAwB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAChD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACvD,CAAC;QACD,IAAI,UAAU;YAAE,OAAO,CAAC,CAAC;QACzB,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAgB;QAC3B,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,yEAAyE;IACzE,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,IAAK,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC3E,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,MAAM;oBACN,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,sDAAsD;IACtD,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAE;gBACnB,MAAM,EAAE,iCAAiC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;aACxF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,MAAM,GACV,gBAAgB,KAAK,IAAI;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,gBAAgB,KAAK,gBAAgB;oBACrC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,YAAY,CAAC;YAErB,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACpG,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACtF,WAAW,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,SAAS;oBAChB,MAAM;oBACN,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC;QACtF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QAChF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,iBAAiB,CAAC,CAAC;QACvF,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QACtE,GAAG,CAAC,GAAG,IAAI,IAAI,gBAAgB,CAAC,MAAM,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,MAAM,CAAC,CAAC;QAC3F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC5E,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC"}
@@ -1,10 +0,0 @@
1
- export interface TelemetryDeps {
2
- subcommand: 'status' | 'enable' | 'disable' | 'reset-id' | 'dump-queue';
3
- homeDir: string;
4
- /** Write to stdout. */
5
- stdout?: (s: string) => boolean;
6
- /** Write to stderr. */
7
- stderr?: (s: string) => boolean;
8
- }
9
- export declare function runTelemetry(deps: TelemetryDeps): Promise<number>;
10
- //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,uBAAuB;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CACjC;AAyJD,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAavE"}