@inf-monkeys-tech/monkeys-cli 0.11.5 → 0.12.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 (299) hide show
  1. package/README.md +17 -14
  2. package/README.zh.md +11 -8
  3. package/bin/run.js +4 -52
  4. package/bin/update-cache.js +3 -1
  5. package/dist/cli/run.d.ts +2 -0
  6. package/dist/cli/run.d.ts.map +1 -0
  7. package/dist/cli/run.js +45 -0
  8. package/dist/cli/run.js.map +1 -0
  9. package/dist/command/metadata.d.ts +1 -2
  10. package/dist/command/metadata.d.ts.map +1 -1
  11. package/dist/command/metadata.js +15 -24
  12. package/dist/command/metadata.js.map +1 -1
  13. package/dist/commands/{agent → dev-agent}/work/assign/existing.d.ts +1 -1
  14. package/dist/commands/dev-agent/work/assign/existing.d.ts.map +1 -0
  15. package/dist/commands/{agent → dev-agent}/work/assign/existing.js +10 -10
  16. package/dist/commands/dev-agent/work/assign/existing.js.map +1 -0
  17. package/dist/commands/{agent → dev-agent}/work/assign/new.d.ts +1 -1
  18. package/dist/commands/dev-agent/work/assign/new.d.ts.map +1 -0
  19. package/dist/commands/{agent → dev-agent}/work/assign/new.js +8 -8
  20. package/dist/commands/dev-agent/work/assign/new.js.map +1 -0
  21. package/dist/commands/{agent → dev-agent}/work/collaborators.d.ts +1 -1
  22. package/dist/commands/dev-agent/work/collaborators.d.ts.map +1 -0
  23. package/dist/commands/dev-agent/work/collaborators.js +20 -0
  24. package/dist/commands/dev-agent/work/collaborators.js.map +1 -0
  25. package/dist/commands/{agent → dev-agent}/work/conversation/send.d.ts +1 -1
  26. package/dist/commands/dev-agent/work/conversation/send.d.ts.map +1 -0
  27. package/dist/commands/dev-agent/work/conversation/send.js +24 -0
  28. package/dist/commands/dev-agent/work/conversation/send.js.map +1 -0
  29. package/dist/commands/{agent → dev-agent}/work/create.d.ts +1 -1
  30. package/dist/commands/dev-agent/work/create.d.ts.map +1 -0
  31. package/dist/commands/{agent → dev-agent}/work/create.js +15 -15
  32. package/dist/commands/dev-agent/work/create.js.map +1 -0
  33. package/dist/commands/{agent → dev-agent}/work/delete.d.ts +1 -1
  34. package/dist/commands/dev-agent/work/delete.d.ts.map +1 -0
  35. package/dist/commands/{agent → dev-agent}/work/delete.js +8 -8
  36. package/dist/commands/dev-agent/work/delete.js.map +1 -0
  37. package/dist/commands/{agent → dev-agent}/work/get.d.ts +1 -1
  38. package/dist/commands/dev-agent/work/get.d.ts.map +1 -0
  39. package/dist/commands/dev-agent/work/get.js +21 -0
  40. package/dist/commands/dev-agent/work/get.js.map +1 -0
  41. package/dist/commands/{agent → dev-agent}/work/list.d.ts +1 -1
  42. package/dist/commands/dev-agent/work/list.d.ts.map +1 -0
  43. package/dist/commands/{agent → dev-agent}/work/list.js +11 -11
  44. package/dist/commands/dev-agent/work/list.js.map +1 -0
  45. package/dist/commands/{agent → dev-agent}/work/pause.d.ts +1 -1
  46. package/dist/commands/dev-agent/work/pause.d.ts.map +1 -0
  47. package/dist/commands/dev-agent/work/pause.js +24 -0
  48. package/dist/commands/dev-agent/work/pause.js.map +1 -0
  49. package/dist/commands/{agent → dev-agent}/work/resume.d.ts +1 -1
  50. package/dist/commands/dev-agent/work/resume.d.ts.map +1 -0
  51. package/dist/commands/dev-agent/work/resume.js +24 -0
  52. package/dist/commands/dev-agent/work/resume.js.map +1 -0
  53. package/dist/commands/{agent → dev-agent}/work/retry.d.ts +1 -1
  54. package/dist/commands/dev-agent/work/retry.d.ts.map +1 -0
  55. package/dist/commands/{agent → dev-agent}/work/retry.js +11 -11
  56. package/dist/commands/dev-agent/work/retry.js.map +1 -0
  57. package/dist/commands/{agent → dev-agent}/work/review/approve.d.ts +1 -1
  58. package/dist/commands/dev-agent/work/review/approve.d.ts.map +1 -0
  59. package/dist/commands/dev-agent/work/review/approve.js +27 -0
  60. package/dist/commands/dev-agent/work/review/approve.js.map +1 -0
  61. package/dist/commands/{agent → dev-agent}/work/review/request-changes.d.ts +1 -1
  62. package/dist/commands/dev-agent/work/review/request-changes.d.ts.map +1 -0
  63. package/dist/commands/dev-agent/work/review/request-changes.js +29 -0
  64. package/dist/commands/dev-agent/work/review/request-changes.js.map +1 -0
  65. package/dist/commands/{agent → dev-agent}/work/runtime/list.d.ts +1 -1
  66. package/dist/commands/dev-agent/work/runtime/list.d.ts.map +1 -0
  67. package/dist/commands/{agent → dev-agent}/work/runtime/list.js +9 -9
  68. package/dist/commands/dev-agent/work/runtime/list.js.map +1 -0
  69. package/dist/commands/{agent → dev-agent}/work/spec/approve.d.ts +1 -1
  70. package/dist/commands/dev-agent/work/spec/approve.d.ts.map +1 -0
  71. package/dist/commands/{agent → dev-agent}/work/spec/approve.js +10 -10
  72. package/dist/commands/dev-agent/work/spec/approve.js.map +1 -0
  73. package/dist/commands/{agent → dev-agent}/work/spec/request-revision.d.ts +1 -1
  74. package/dist/commands/dev-agent/work/spec/request-revision.d.ts.map +1 -0
  75. package/dist/commands/dev-agent/work/spec/request-revision.js +28 -0
  76. package/dist/commands/dev-agent/work/spec/request-revision.js.map +1 -0
  77. package/dist/commands/{agent → dev-agent}/work/update.d.ts +1 -1
  78. package/dist/commands/dev-agent/work/update.d.ts.map +1 -0
  79. package/dist/commands/{agent → dev-agent}/work/update.js +15 -15
  80. package/dist/commands/dev-agent/work/update.js.map +1 -0
  81. package/dist/commands/{agent → dev-agent}/work/wait.d.ts +1 -1
  82. package/dist/commands/dev-agent/work/wait.d.ts.map +1 -0
  83. package/dist/commands/{agent → dev-agent}/work/wait.js +12 -12
  84. package/dist/commands/dev-agent/work/wait.js.map +1 -0
  85. package/dist/commands/{agent → dev-agent}/work/watch.d.ts +1 -1
  86. package/dist/commands/dev-agent/work/watch.d.ts.map +1 -0
  87. package/dist/commands/{agent → dev-agent}/work/watch.js +14 -17
  88. package/dist/commands/dev-agent/work/watch.js.map +1 -0
  89. package/dist/commands/execution/watch.d.ts.map +1 -1
  90. package/dist/commands/execution/watch.js +4 -7
  91. package/dist/commands/execution/watch.js.map +1 -1
  92. package/dist/commands/install.d.ts +12 -0
  93. package/dist/commands/install.d.ts.map +1 -0
  94. package/dist/commands/install.js +66 -0
  95. package/dist/commands/install.js.map +1 -0
  96. package/dist/commands/update.d.ts +3 -0
  97. package/dist/commands/update.d.ts.map +1 -1
  98. package/dist/commands/update.js +68 -3
  99. package/dist/commands/update.js.map +1 -1
  100. package/dist/config/index.d.ts +0 -1
  101. package/dist/config/index.d.ts.map +1 -1
  102. package/dist/config/index.js +0 -1
  103. package/dist/config/index.js.map +1 -1
  104. package/dist/config/local-command.d.ts +0 -2
  105. package/dist/config/local-command.d.ts.map +1 -1
  106. package/dist/config/local-command.js +8 -14
  107. package/dist/config/local-command.js.map +1 -1
  108. package/dist/config/registry.d.ts.map +1 -1
  109. package/dist/config/registry.js +2 -12
  110. package/dist/config/registry.js.map +1 -1
  111. package/dist/config/store.d.ts.map +1 -1
  112. package/dist/config/store.js +46 -5
  113. package/dist/config/store.js.map +1 -1
  114. package/dist/contracts/result.d.ts +1 -1
  115. package/dist/contracts/result.js +1 -1
  116. package/dist/contracts/version.d.ts +3 -3
  117. package/dist/contracts/version.d.ts.map +1 -1
  118. package/dist/contracts/version.js +3 -3
  119. package/dist/contracts/version.js.map +1 -1
  120. package/dist/dev-agent-work/adapters.d.ts +15 -0
  121. package/dist/dev-agent-work/adapters.d.ts.map +1 -0
  122. package/dist/{agent-work → dev-agent-work}/adapters.js +25 -25
  123. package/dist/dev-agent-work/adapters.js.map +1 -0
  124. package/dist/{agent-work → dev-agent-work}/client.d.ts +23 -23
  125. package/dist/dev-agent-work/client.d.ts.map +1 -0
  126. package/dist/{agent-work → dev-agent-work}/client.js +26 -24
  127. package/dist/dev-agent-work/client.js.map +1 -0
  128. package/dist/{agent-work → dev-agent-work}/context.d.ts +2 -2
  129. package/dist/dev-agent-work/context.d.ts.map +1 -0
  130. package/dist/{agent-work → dev-agent-work}/context.js +3 -3
  131. package/dist/dev-agent-work/context.js.map +1 -0
  132. package/dist/{agent-work → dev-agent-work}/contracts.d.ts +46 -46
  133. package/dist/dev-agent-work/contracts.d.ts.map +1 -0
  134. package/dist/{agent-work → dev-agent-work}/contracts.js +19 -13
  135. package/dist/dev-agent-work/contracts.js.map +1 -0
  136. package/dist/{agent-work → dev-agent-work}/definitions.d.ts +2 -2
  137. package/dist/dev-agent-work/definitions.d.ts.map +1 -0
  138. package/dist/dev-agent-work/definitions.js +33 -0
  139. package/dist/dev-agent-work/definitions.js.map +1 -0
  140. package/dist/dev-agent-work/index.d.ts.map +1 -0
  141. package/dist/dev-agent-work/index.js.map +1 -0
  142. package/dist/{agent-work → dev-agent-work}/input.d.ts +1 -1
  143. package/dist/dev-agent-work/input.d.ts.map +1 -0
  144. package/dist/{agent-work → dev-agent-work}/input.js +16 -16
  145. package/dist/dev-agent-work/input.js.map +1 -0
  146. package/dist/{agent-work → dev-agent-work}/output.d.ts +3 -3
  147. package/dist/dev-agent-work/output.d.ts.map +1 -0
  148. package/dist/dev-agent-work/output.js +16 -0
  149. package/dist/dev-agent-work/output.js.map +1 -0
  150. package/dist/dev-agent-work/polling.d.ts +23 -0
  151. package/dist/dev-agent-work/polling.d.ts.map +1 -0
  152. package/dist/{agent-work → dev-agent-work}/polling.js +8 -8
  153. package/dist/dev-agent-work/polling.js.map +1 -0
  154. package/dist/dev-agent-work/runtime.d.ts +2 -0
  155. package/dist/dev-agent-work/runtime.d.ts.map +1 -0
  156. package/dist/{agent-work → dev-agent-work}/runtime.js +3 -3
  157. package/dist/dev-agent-work/runtime.js.map +1 -0
  158. package/dist/errors/cli-error.d.ts +3 -0
  159. package/dist/errors/cli-error.d.ts.map +1 -1
  160. package/dist/errors/cli-error.js +17 -0
  161. package/dist/errors/cli-error.js.map +1 -1
  162. package/dist/output/render.js +1 -1
  163. package/dist/schema/command-schema.d.ts +2 -1
  164. package/dist/schema/command-schema.d.ts.map +1 -1
  165. package/dist/schema/command-schema.js +2 -1
  166. package/dist/schema/command-schema.js.map +1 -1
  167. package/dist/security/redact.d.ts.map +1 -1
  168. package/dist/security/redact.js +16 -2
  169. package/dist/security/redact.js.map +1 -1
  170. package/dist/skills/content.d.ts +1 -0
  171. package/dist/skills/content.d.ts.map +1 -1
  172. package/dist/skills/content.js +2 -2
  173. package/dist/skills/content.js.map +1 -1
  174. package/dist/skills/state.d.ts +33 -7
  175. package/dist/skills/state.d.ts.map +1 -1
  176. package/dist/skills/state.js +103 -14
  177. package/dist/skills/state.js.map +1 -1
  178. package/dist/skills/sync.d.ts +5 -2
  179. package/dist/skills/sync.d.ts.map +1 -1
  180. package/dist/skills/sync.js +110 -9
  181. package/dist/skills/sync.js.map +1 -1
  182. package/dist/transport/http-client.d.ts.map +1 -1
  183. package/dist/transport/http-client.js +46 -20
  184. package/dist/transport/http-client.js.map +1 -1
  185. package/dist/transport/multipart-upload.d.ts.map +1 -1
  186. package/dist/transport/multipart-upload.js +10 -7
  187. package/dist/transport/multipart-upload.js.map +1 -1
  188. package/dist/transport/url-policy.d.ts +2 -0
  189. package/dist/transport/url-policy.d.ts.map +1 -0
  190. package/dist/transport/url-policy.js +33 -0
  191. package/dist/transport/url-policy.js.map +1 -0
  192. package/dist/update/finalize.d.ts +26 -0
  193. package/dist/update/finalize.d.ts.map +1 -0
  194. package/dist/update/finalize.js +5 -0
  195. package/dist/update/finalize.js.map +1 -0
  196. package/dist/update/installation.d.ts +17 -0
  197. package/dist/update/installation.d.ts.map +1 -0
  198. package/dist/update/installation.js +63 -0
  199. package/dist/update/installation.js.map +1 -0
  200. package/dist/update/notifier.d.ts +4 -4
  201. package/dist/update/notifier.d.ts.map +1 -1
  202. package/dist/update/notifier.js +68 -39
  203. package/dist/update/notifier.js.map +1 -1
  204. package/dist/update/process.d.ts +11 -0
  205. package/dist/update/process.d.ts.map +1 -0
  206. package/dist/update/process.js +20 -0
  207. package/dist/update/process.js.map +1 -0
  208. package/dist/update/updater.d.ts +12 -13
  209. package/dist/update/updater.d.ts.map +1 -1
  210. package/dist/update/updater.js +149 -59
  211. package/dist/update/updater.js.map +1 -1
  212. package/oclif.manifest.json +3901 -6477
  213. package/package.json +7 -15
  214. package/skills/monkeys-dev-agent-work/SKILL.md +21 -0
  215. package/skills/monkeys-dev-agent-work/agents/openai.yaml +4 -0
  216. package/skills/{monkeys-agent-work/references/agent-work.md → monkeys-dev-agent-work/references/dev-agent-work.md} +28 -28
  217. package/skills/monkeys-shared/SKILL.md +1 -1
  218. package/skills/monkeys-shared/references/compatibility.md +4 -4
  219. package/skills/monkeys-shared/references/platform-overview.md +3 -3
  220. package/bin/install-wizard.js +0 -77
  221. package/dist/agent-work/adapters.d.ts +0 -15
  222. package/dist/agent-work/adapters.d.ts.map +0 -1
  223. package/dist/agent-work/adapters.js.map +0 -1
  224. package/dist/agent-work/client.d.ts.map +0 -1
  225. package/dist/agent-work/client.js.map +0 -1
  226. package/dist/agent-work/context.d.ts.map +0 -1
  227. package/dist/agent-work/context.js.map +0 -1
  228. package/dist/agent-work/contracts.d.ts.map +0 -1
  229. package/dist/agent-work/contracts.js.map +0 -1
  230. package/dist/agent-work/definitions.d.ts.map +0 -1
  231. package/dist/agent-work/definitions.js +0 -33
  232. package/dist/agent-work/definitions.js.map +0 -1
  233. package/dist/agent-work/index.d.ts.map +0 -1
  234. package/dist/agent-work/index.js.map +0 -1
  235. package/dist/agent-work/input.d.ts.map +0 -1
  236. package/dist/agent-work/input.js.map +0 -1
  237. package/dist/agent-work/output.d.ts.map +0 -1
  238. package/dist/agent-work/output.js +0 -16
  239. package/dist/agent-work/output.js.map +0 -1
  240. package/dist/agent-work/polling.d.ts +0 -23
  241. package/dist/agent-work/polling.d.ts.map +0 -1
  242. package/dist/agent-work/polling.js.map +0 -1
  243. package/dist/agent-work/runtime.d.ts +0 -2
  244. package/dist/agent-work/runtime.d.ts.map +0 -1
  245. package/dist/agent-work/runtime.js.map +0 -1
  246. package/dist/commands/agent/work/assign/existing.d.ts.map +0 -1
  247. package/dist/commands/agent/work/assign/existing.js.map +0 -1
  248. package/dist/commands/agent/work/assign/new.d.ts.map +0 -1
  249. package/dist/commands/agent/work/assign/new.js.map +0 -1
  250. package/dist/commands/agent/work/collaborators.d.ts.map +0 -1
  251. package/dist/commands/agent/work/collaborators.js +0 -20
  252. package/dist/commands/agent/work/collaborators.js.map +0 -1
  253. package/dist/commands/agent/work/conversation/send.d.ts.map +0 -1
  254. package/dist/commands/agent/work/conversation/send.js +0 -24
  255. package/dist/commands/agent/work/conversation/send.js.map +0 -1
  256. package/dist/commands/agent/work/create.d.ts.map +0 -1
  257. package/dist/commands/agent/work/create.js.map +0 -1
  258. package/dist/commands/agent/work/delete.d.ts.map +0 -1
  259. package/dist/commands/agent/work/delete.js.map +0 -1
  260. package/dist/commands/agent/work/get.d.ts.map +0 -1
  261. package/dist/commands/agent/work/get.js +0 -21
  262. package/dist/commands/agent/work/get.js.map +0 -1
  263. package/dist/commands/agent/work/list.d.ts.map +0 -1
  264. package/dist/commands/agent/work/list.js.map +0 -1
  265. package/dist/commands/agent/work/pause.d.ts.map +0 -1
  266. package/dist/commands/agent/work/pause.js +0 -24
  267. package/dist/commands/agent/work/pause.js.map +0 -1
  268. package/dist/commands/agent/work/resume.d.ts.map +0 -1
  269. package/dist/commands/agent/work/resume.js +0 -24
  270. package/dist/commands/agent/work/resume.js.map +0 -1
  271. package/dist/commands/agent/work/retry.d.ts.map +0 -1
  272. package/dist/commands/agent/work/retry.js.map +0 -1
  273. package/dist/commands/agent/work/review/approve.d.ts.map +0 -1
  274. package/dist/commands/agent/work/review/approve.js +0 -27
  275. package/dist/commands/agent/work/review/approve.js.map +0 -1
  276. package/dist/commands/agent/work/review/request-changes.d.ts.map +0 -1
  277. package/dist/commands/agent/work/review/request-changes.js +0 -29
  278. package/dist/commands/agent/work/review/request-changes.js.map +0 -1
  279. package/dist/commands/agent/work/runtime/list.d.ts.map +0 -1
  280. package/dist/commands/agent/work/runtime/list.js.map +0 -1
  281. package/dist/commands/agent/work/spec/approve.d.ts.map +0 -1
  282. package/dist/commands/agent/work/spec/approve.js.map +0 -1
  283. package/dist/commands/agent/work/spec/request-revision.d.ts.map +0 -1
  284. package/dist/commands/agent/work/spec/request-revision.js +0 -28
  285. package/dist/commands/agent/work/spec/request-revision.js.map +0 -1
  286. package/dist/commands/agent/work/update.d.ts.map +0 -1
  287. package/dist/commands/agent/work/update.js.map +0 -1
  288. package/dist/commands/agent/work/wait.d.ts.map +0 -1
  289. package/dist/commands/agent/work/wait.js.map +0 -1
  290. package/dist/commands/agent/work/watch.d.ts.map +0 -1
  291. package/dist/commands/agent/work/watch.js.map +0 -1
  292. package/dist/config/fast-subscription-list.d.ts +0 -6
  293. package/dist/config/fast-subscription-list.d.ts.map +0 -1
  294. package/dist/config/fast-subscription-list.js +0 -19
  295. package/dist/config/fast-subscription-list.js.map +0 -1
  296. package/skills/monkeys-agent-work/SKILL.md +0 -21
  297. package/skills/monkeys-agent-work/agents/openai.yaml +0 -4
  298. /package/dist/{agent-work → dev-agent-work}/index.d.ts +0 -0
  299. /package/dist/{agent-work → dev-agent-work}/index.js +0 -0
@@ -0,0 +1,63 @@
1
+ import { constants } from 'node:fs';
2
+ import { access, realpath } from 'node:fs/promises';
3
+ import { delimiter, isAbsolute, join, relative, sep } from 'node:path';
4
+ import { MONKEYS_NPM_PACKAGE, runUpdateProcess } from './process.js';
5
+ function within(parent, child) {
6
+ const value = relative(parent, child);
7
+ return value === '' || (!value.startsWith(`..${sep}`) && value !== '..' && !isAbsolute(value));
8
+ }
9
+ export function packageManagerGlobalRoot(manager, runner = runUpdateProcess) {
10
+ const result = runner(manager, ['root', '--global']);
11
+ if (result.error || result.status !== 0)
12
+ return undefined;
13
+ const lines = result.stdout
14
+ .split(/\r?\n/)
15
+ .map((line) => line.trim())
16
+ .filter(Boolean);
17
+ return lines.length === 1 && isAbsolute(lines[0]) ? lines[0] : undefined;
18
+ }
19
+ export async function detectCliInstallation(options = {}) {
20
+ const entryPath = options.entryPath ?? process.argv[1] ?? process.execPath;
21
+ const packageName = options.packageName ?? MONKEYS_NPM_PACKAGE;
22
+ const runner = options.runner ?? runUpdateProcess;
23
+ const executable = await realpath(entryPath).catch(() => entryPath);
24
+ for (const method of ['pnpm', 'npm']) {
25
+ const root = packageManagerGlobalRoot(method, runner);
26
+ if (!root)
27
+ continue;
28
+ const packageRoot = join(root, ...packageName.split('/'));
29
+ const canonicalPackageRoot = await realpath(packageRoot).catch(() => packageRoot);
30
+ if (within(canonicalPackageRoot, executable))
31
+ return { executable, method, packageRoot: canonicalPackageRoot };
32
+ }
33
+ return { executable, method: 'manual' };
34
+ }
35
+ export async function resolveExecutableOnPath(name = 'monkeys', env = process.env, excludedExecutables = []) {
36
+ const excluded = new Set(await Promise.all(excludedExecutables.map(async (path) => realpath(path).catch(() => path))));
37
+ const directories = (env.PATH ?? '').split(delimiter).filter(Boolean);
38
+ const candidates = process.platform === 'win32'
39
+ ? (env.PATHEXT ?? '.COM;.EXE;.BAT;.CMD')
40
+ .split(';')
41
+ .filter(Boolean)
42
+ .map((extension) => `${name}${extension.toLowerCase()}`)
43
+ : [name];
44
+ for (const directory of directories) {
45
+ for (const candidate of candidates) {
46
+ const path = join(directory, candidate);
47
+ try {
48
+ await access(path, process.platform === 'win32' ? constants.F_OK : constants.X_OK);
49
+ const canonical = await realpath(path).catch(() => path);
50
+ if (excluded.has(path) || excluded.has(canonical))
51
+ continue;
52
+ return path;
53
+ }
54
+ catch {
55
+ // Continue through PATH in shell resolution order.
56
+ }
57
+ }
58
+ }
59
+ }
60
+ export function packageManagerInstallArgs(manager, packageName, version) {
61
+ return manager === 'pnpm' ? ['add', '--global', `${packageName}@${version}`] : ['install', '--global', `${packageName}@${version}`];
62
+ }
63
+ //# sourceMappingURL=installation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/update/installation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAsB,MAAM,cAAc,CAAC;AAWzF,SAAS,MAAM,CAAC,MAAc,EAAE,KAAa;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAuB,EAAE,MAAM,GAAkB,gBAAgB;IACxG,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;SACxB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAO,GAAyE,EAAE;IAElF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,gBAAgB,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEpE,KAAK,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,CAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,oBAAoB,EAAE,UAAU,CAAC;YAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACjH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAI,GAAG,SAAS,EAChB,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,mBAAmB,GAAsB,EAAE;IAE3C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvH,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,UAAU,GACd,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC;aACnC,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACb,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAuB,EAAE,WAAmB,EAAE,OAAe;IACrG,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC;AACtI,CAAC"}
@@ -1,7 +1,8 @@
1
+ import type { PackageManager } from './installation.js';
2
+ import { type ProcessRunner } from './process.js';
1
3
  export declare const UPDATE_CHECK_TTL_MS: number;
2
4
  export declare const UPDATE_FETCH_TIMEOUT_MS = 15000;
3
5
  export declare const UPDATE_NOTIFIER_DISABLE_ENV = "MONKEYS_CLI_NO_UPDATE_NOTIFIER";
4
- export declare const UPDATE_REGISTRY_URL = "https://registry.npmjs.org/@inf-monkeys-tech%2Fmonkeys-cli/latest";
5
6
  export interface UpdateNotice {
6
7
  command: 'monkeys update';
7
8
  current: string;
@@ -13,9 +14,8 @@ export interface UpdateState {
13
14
  latestVersion: string;
14
15
  }
15
16
  export interface FetchLatestOptions {
16
- fetchImpl?: typeof fetch;
17
- registryUrl?: string;
18
- timeoutMs?: number;
17
+ manager?: PackageManager;
18
+ runner?: ProcessRunner;
19
19
  }
20
20
  export interface UpdateCacheOptions extends FetchLatestOptions {
21
21
  env?: NodeJS.ProcessEnv;
@@ -1 +1 @@
1
- {"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["../../src/update/notifier.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,QAAuB,CAAC;AACxD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAC5E,eAAO,MAAM,mBAAmB,sEAAsE,CAAC;AAWvG,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAAgC,SAAQ,kBAAkB;IACzE,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAmCD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS/E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE9G;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAOhF;AAED,wBAAgB,sBAAsB,IAAI,YAAY,GAAG,SAAS,CAEjE;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAE7E;AAUD,wBAAsB,eAAe,CAAC,IAAI,SAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAMhG;AAqCD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1F;AAqBD,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBnH;AAED,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAavE;AAED,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAenC"}
1
+ {"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["../../src/update/notifier.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzF,eAAO,MAAM,mBAAmB,QAAuB,CAAC;AACxD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAS5E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAAgC,SAAQ,kBAAkB;IACzE,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAmCD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS/E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE9G;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAOhF;AAED,wBAAgB,sBAAsB,IAAI,YAAY,GAAG,SAAS,CAEjE;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAE7E;AAUD,wBAAsB,eAAe,CAAC,IAAI,SAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAMhG;AAmBD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB1F;AAqED,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBnH;AAED,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAavE;AAED,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAenC"}
@@ -1,13 +1,13 @@
1
1
  import { spawn } from 'node:child_process';
2
- import { open, mkdir, readFile, rename, rm, stat } from 'node:fs/promises';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { open, mkdir, readFile, rename, rm, stat, unlink } from 'node:fs/promises';
3
4
  import { dirname, join } from 'node:path';
4
5
  import { fileURLToPath } from 'node:url';
5
6
  import { configDirectory, resolveConfigPath } from '../config/paths.js';
7
+ import { MONKEYS_NPM_PACKAGE, runUpdateProcess } from './process.js';
6
8
  export const UPDATE_CHECK_TTL_MS = 24 * 60 * 60 * 1_000;
7
9
  export const UPDATE_FETCH_TIMEOUT_MS = 15_000;
8
10
  export const UPDATE_NOTIFIER_DISABLE_ENV = 'MONKEYS_CLI_NO_UPDATE_NOTIFIER';
9
- export const UPDATE_REGISTRY_URL = 'https://registry.npmjs.org/@inf-monkeys-tech%2Fmonkeys-cli/latest';
10
- const MAX_RESPONSE_BYTES = 256 * 1_024;
11
11
  const REFRESH_LOCK_STALE_MS = UPDATE_FETCH_TIMEOUT_MS * 2;
12
12
  const UPDATE_STATE_FILE = 'update-state.json';
13
13
  let pendingUpdateNotice;
@@ -124,45 +124,59 @@ async function atomicWrite(path, content) {
124
124
  await rm(temporary, { force: true });
125
125
  }
126
126
  }
127
- async function readLimitedBody(response) {
128
- if (!response.body)
129
- return '';
130
- const reader = response.body.getReader();
131
- const chunks = [];
132
- let total = 0;
133
- for (;;) {
134
- const { done, value } = await reader.read();
135
- if (done)
136
- break;
137
- total += value.byteLength;
138
- if (total > MAX_RESPONSE_BYTES) {
139
- await reader.cancel();
140
- throw new Error('npm registry response exceeds the maximum allowed size');
141
- }
142
- chunks.push(value);
127
+ export async function fetchLatestVersion(options = {}) {
128
+ const manager = options.manager ?? 'npm';
129
+ const runner = options.runner ?? runUpdateProcess;
130
+ const args = ['view', MONKEYS_NPM_PACKAGE, 'version', '--json'];
131
+ const result = runner(manager, args, UPDATE_FETCH_TIMEOUT_MS);
132
+ if (result.error || result.status !== 0) {
133
+ throw new Error(`${manager} registry query failed: ${`${result.stdout}\n${result.stderr}`.trim() || result.error?.message || 'unknown failure'}`);
134
+ }
135
+ let version;
136
+ try {
137
+ version = JSON.parse(result.stdout);
138
+ }
139
+ catch (cause) {
140
+ throw new Error(`${manager} registry returned invalid JSON`, { cause });
143
141
  }
144
- return Buffer.concat(chunks).toString('utf8');
142
+ if (typeof version !== 'string' || !isReleaseVersion(version))
143
+ throw new Error(`${manager} registry returned an invalid package version`);
144
+ return version;
145
145
  }
146
- export async function fetchLatestVersion(options = {}) {
147
- const fetchImpl = options.fetchImpl ?? fetch;
148
- const response = await fetchImpl(options.registryUrl ?? UPDATE_REGISTRY_URL, {
149
- headers: { accept: 'application/json' },
150
- signal: AbortSignal.timeout(options.timeoutMs ?? UPDATE_FETCH_TIMEOUT_MS),
151
- });
152
- if (!response.ok)
153
- throw new Error(`npm registry returned HTTP ${response.status}`);
154
- const body = JSON.parse(await readLimitedBody(response));
155
- if (typeof body.version !== 'string' || !isReleaseVersion(body.version)) {
156
- throw new Error('npm registry returned an invalid package version');
157
- }
158
- return body.version;
146
+ function processIsAlive(pid) {
147
+ if (pid === process.pid)
148
+ return true;
149
+ try {
150
+ process.kill(pid, 0);
151
+ return true;
152
+ }
153
+ catch (error) {
154
+ return isNodeError(error, 'EPERM');
155
+ }
156
+ }
157
+ function parseRefreshLock(value) {
158
+ try {
159
+ const record = JSON.parse(value);
160
+ if (!Number.isFinite(record.createdAt) ||
161
+ !Number.isSafeInteger(record.pid) ||
162
+ Number(record.pid) <= 0 ||
163
+ typeof record.token !== 'string') {
164
+ return undefined;
165
+ }
166
+ return { createdAt: Number(record.createdAt), pid: Number(record.pid), token: record.token };
167
+ }
168
+ catch {
169
+ return undefined;
170
+ }
159
171
  }
160
172
  async function acquireRefreshLock(path, nowMs) {
161
173
  await mkdir(dirname(path), { recursive: true, mode: 0o700 });
162
174
  try {
163
175
  const handle = await open(path, 'wx', 0o600);
164
- await handle.writeFile(JSON.stringify({ createdAt: nowMs, pid: process.pid }));
165
- return handle;
176
+ const token = randomUUID();
177
+ await handle.writeFile(JSON.stringify({ createdAt: nowMs, pid: process.pid, token }));
178
+ await handle.sync();
179
+ return { handle, token };
166
180
  }
167
181
  catch (error) {
168
182
  if (!isNodeError(error, 'EEXIST'))
@@ -170,15 +184,31 @@ async function acquireRefreshLock(path, nowMs) {
170
184
  const existing = await stat(path).catch(() => undefined);
171
185
  if (!existing || nowMs - existing.mtimeMs <= REFRESH_LOCK_STALE_MS)
172
186
  return undefined;
173
- await rm(path, { force: true });
187
+ const observed = await readFile(path, 'utf8').catch(() => undefined);
188
+ const owner = observed ? parseRefreshLock(observed) : undefined;
189
+ if (owner && processIsAlive(owner.pid))
190
+ return undefined;
191
+ if (observed === undefined || (await readFile(path, 'utf8').catch(() => undefined)) !== observed)
192
+ return undefined;
193
+ await unlink(path).catch(() => undefined);
174
194
  try {
175
- return await open(path, 'wx', 0o600);
195
+ const handle = await open(path, 'wx', 0o600);
196
+ const token = randomUUID();
197
+ await handle.writeFile(JSON.stringify({ createdAt: nowMs, pid: process.pid, token }));
198
+ await handle.sync();
199
+ return { handle, token };
176
200
  }
177
201
  catch {
178
202
  return undefined;
179
203
  }
180
204
  }
181
205
  }
206
+ async function releaseRefreshLock(path, lock) {
207
+ await lock.handle.close().catch(() => undefined);
208
+ const current = await readFile(path, 'utf8').catch(() => undefined);
209
+ if (current && parseRefreshLock(current)?.token === lock.token)
210
+ await unlink(path).catch(() => undefined);
211
+ }
182
212
  export async function refreshUpdateCache(currentVersion, options = {}) {
183
213
  const env = options.env ?? process.env;
184
214
  if (shouldSkipUpdateNotifier(currentVersion, env))
@@ -204,8 +234,7 @@ export async function refreshUpdateCache(currentVersion, options = {}) {
204
234
  return false;
205
235
  }
206
236
  finally {
207
- await lock.close().catch(() => undefined);
208
- await rm(lockPath, { force: true }).catch(() => undefined);
237
+ await releaseRefreshLock(lockPath, lock);
209
238
  }
210
239
  }
211
240
  export function scheduleUpdateCacheRefresh(currentVersion) {
@@ -1 +1 @@
1
- {"version":3,"file":"notifier.js","sourceRoot":"","sources":["../../src/update/notifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifier.js","sourceRoot":"","sources":["../../src/update/notifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const MONKEYS_NPM_PACKAGE = "@inf-monkeys-tech/monkeys-cli";
2
+ export declare const UPDATE_PROCESS_TIMEOUT_MS: number;
3
+ export interface ProcessResult {
4
+ error?: Error;
5
+ status: number | null;
6
+ stderr: string;
7
+ stdout: string;
8
+ }
9
+ export type ProcessRunner = (command: string, args: string[], timeoutMs?: number) => ProcessResult;
10
+ export declare function runUpdateProcess(command: string, args: string[], timeoutMs?: number): ProcessResult;
11
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/update/process.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,kCAAkC,CAAC;AACnE,eAAO,MAAM,yBAAyB,QAAc,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;AAEnG,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,SAA4B,GAAG,aAAa,CAetH"}
@@ -0,0 +1,20 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ export const MONKEYS_NPM_PACKAGE = '@inf-monkeys-tech/monkeys-cli';
3
+ export const UPDATE_PROCESS_TIMEOUT_MS = 10 * 60_000;
4
+ export function runUpdateProcess(command, args, timeoutMs = UPDATE_PROCESS_TIMEOUT_MS) {
5
+ const windowsShellCommand = process.platform === 'win32' && (['npm', 'npx', 'pnpm'].includes(command) || /\.(?:bat|cmd)$/i.test(command));
6
+ const executable = windowsShellCommand ? (process.env.ComSpec ?? 'cmd.exe') : command;
7
+ const commandArgs = windowsShellCommand ? ['/d', '/s', '/c', command, ...args] : args;
8
+ const result = spawnSync(executable, commandArgs, {
9
+ encoding: 'utf8',
10
+ timeout: timeoutMs,
11
+ windowsHide: true,
12
+ });
13
+ return {
14
+ ...(result.error ? { error: result.error } : {}),
15
+ status: result.status,
16
+ stderr: result.stderr ?? '',
17
+ stdout: result.stdout ?? '',
18
+ };
19
+ }
20
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/update/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,MAAM,CAAC;AAWrD,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAc,EAAE,SAAS,GAAG,yBAAyB;IACrG,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1I,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACtF,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE;QAChD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC"}
@@ -1,27 +1,26 @@
1
- export declare const MONKEYS_NPM_PACKAGE = "@inf-monkeys-tech/monkeys-cli";
2
- export interface ProcessResult {
3
- error?: Error;
4
- status: number | null;
5
- stderr: string;
6
- stdout: string;
7
- }
8
- export type ProcessRunner = (command: string, args: string[]) => ProcessResult;
1
+ import { type PackageManager } from './installation.js';
2
+ import { type ProcessRunner } from './process.js';
3
+ export { MONKEYS_NPM_PACKAGE, runUpdateProcess } from './process.js';
4
+ export type { ProcessResult, ProcessRunner } from './process.js';
9
5
  export interface InstallUpdateOptions {
6
+ finalizeSource?: 'install' | 'update';
7
+ manager: PackageManager;
10
8
  packageName?: string;
9
+ previousVersion?: string;
10
+ resolvePathBinary?: () => Promise<string | undefined>;
11
11
  runner?: ProcessRunner;
12
- statePath?: string;
13
12
  }
14
13
  export interface InstallUpdateResult {
15
14
  currentVersion: string;
15
+ executable: string;
16
+ manager: PackageManager;
16
17
  packageRoot: string;
17
- skillsAction: 'failed' | 'synced';
18
- skillsWarning?: string;
18
+ skillsAction: 'synced';
19
19
  }
20
20
  export declare class UpdateProcessError extends Error {
21
21
  readonly command: string;
22
22
  readonly detail: string;
23
23
  constructor(message: string, command: string, detail: string);
24
24
  }
25
- export declare function runUpdateProcess(command: string, args: string[]): ProcessResult;
26
- export declare function installCliAndSkill(latestVersion: string, options?: InstallUpdateOptions): Promise<InstallUpdateResult>;
25
+ export declare function installCliAndSkill(latestVersion: string, options: InstallUpdateOptions): Promise<InstallUpdateResult>;
27
26
  //# sourceMappingURL=updater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/update/updater.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,kCAAkC,CAAC;AAInE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,aAAa,CAAC;AAE/E,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAK3D;CACF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAe/E;AAuBD,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgEhI"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/update/updater.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsD,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAA6D,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7G,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,QAAQ,CAAC;CACxB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAK3D;CACF;AAuLD,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAmD3H"}