@angelmsger/fx 0.11.0 → 0.13.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 (566) hide show
  1. package/CHANGELOG.md +155 -0
  2. package/README.md +9 -42
  3. package/defaults/tools.yaml +20 -3
  4. package/dist/adapters/agent-host/toml-mcp.js +1 -3
  5. package/dist/adapters/agent-host/toml-mcp.js.map +1 -1
  6. package/dist/adapters/calendar/wecom-calendar-cli/provider.js +42 -0
  7. package/dist/adapters/calendar/wecom-calendar-cli/provider.js.map +1 -0
  8. package/dist/adapters/ci/github-actions/ci.js +9 -7
  9. package/dist/adapters/ci/github-actions/ci.js.map +1 -1
  10. package/dist/adapters/ci/github-actions/provider.js +2 -2
  11. package/dist/adapters/ci/github-actions/provider.js.map +1 -1
  12. package/dist/adapters/ci/jenkins-cli/ci.js +6 -1
  13. package/dist/adapters/ci/jenkins-cli/ci.js.map +1 -1
  14. package/dist/adapters/ci/jenkins-cli/recipes.js +5 -1
  15. package/dist/adapters/ci/jenkins-cli/recipes.js.map +1 -1
  16. package/dist/adapters/cluster/kubectl/provider.js +2 -3
  17. package/dist/adapters/cluster/kubectl/provider.js.map +1 -1
  18. package/dist/adapters/code-host/bitbucket-cli/contribution-call.js +5 -27
  19. package/dist/adapters/code-host/bitbucket-cli/contribution-call.js.map +1 -1
  20. package/dist/adapters/code-host/bitbucket-cli/provider.js.map +1 -1
  21. package/dist/adapters/code-host/bitbucket-cli/pull-request-reference.js +1 -19
  22. package/dist/adapters/code-host/bitbucket-cli/pull-request-reference.js.map +1 -1
  23. package/dist/adapters/code-host/bitbucket-cli/pull-request.js +3 -17
  24. package/dist/adapters/code-host/bitbucket-cli/pull-request.js.map +1 -1
  25. package/dist/adapters/code-host/bitbucket-cli/repository-identity.js +1 -4
  26. package/dist/adapters/code-host/bitbucket-cli/repository-identity.js.map +1 -1
  27. package/dist/adapters/code-host/github/contribution.js +179 -0
  28. package/dist/adapters/code-host/github/contribution.js.map +1 -0
  29. package/dist/adapters/code-host/github/import.js +27 -0
  30. package/dist/adapters/code-host/github/import.js.map +1 -0
  31. package/dist/adapters/code-host/github/provider.js +12 -14
  32. package/dist/adapters/code-host/github/provider.js.map +1 -1
  33. package/dist/adapters/code-host/local-git/import.js +2 -2
  34. package/dist/adapters/code-host/local-git/import.js.map +1 -1
  35. package/dist/adapters/code-host/local-git/provider.js +3 -3
  36. package/dist/adapters/code-host/local-git/provider.js.map +1 -1
  37. package/dist/adapters/error-tracker/sentry/client.js +1 -1
  38. package/dist/adapters/error-tracker/sentry/client.js.map +1 -1
  39. package/dist/adapters/family/cli.js +15 -17
  40. package/dist/adapters/family/cli.js.map +1 -1
  41. package/dist/adapters/family/contribution.js +65 -0
  42. package/dist/adapters/family/contribution.js.map +1 -0
  43. package/dist/adapters/family/service-protocol.js +1 -0
  44. package/dist/adapters/family/service-protocol.js.map +1 -1
  45. package/dist/adapters/family/service.js +5 -0
  46. package/dist/adapters/family/service.js.map +1 -1
  47. package/dist/adapters/fs/node-fs.js +5 -8
  48. package/dist/adapters/fs/node-fs.js.map +1 -1
  49. package/dist/adapters/git/run.js +17 -0
  50. package/dist/adapters/git/run.js.map +1 -0
  51. package/dist/adapters/git/system-git.js +36 -16
  52. package/dist/adapters/git/system-git.js.map +1 -1
  53. package/dist/adapters/github/gh.js +1 -1
  54. package/dist/adapters/github/gh.js.map +1 -1
  55. package/dist/adapters/log-store/openobserve-cli/provider.js +1 -1
  56. package/dist/adapters/log-store/openobserve-cli/provider.js.map +1 -1
  57. package/dist/adapters/log-store/openobserve-cli/recipes.js +5 -1
  58. package/dist/adapters/log-store/openobserve-cli/recipes.js.map +1 -1
  59. package/dist/adapters/manifest-source/git-repo.js +38 -18
  60. package/dist/adapters/manifest-source/git-repo.js.map +1 -1
  61. package/dist/adapters/manifest-source/stdin.js +4 -6
  62. package/dist/adapters/manifest-source/stdin.js.map +1 -1
  63. package/dist/adapters/metrics/prometheus-cli/provider.js +1 -1
  64. package/dist/adapters/metrics/prometheus-cli/provider.js.map +1 -1
  65. package/dist/adapters/metrics/prometheus-cli/service.js +9 -1
  66. package/dist/adapters/metrics/prometheus-cli/service.js.map +1 -1
  67. package/dist/adapters/process/deadline-process.js +33 -7
  68. package/dist/adapters/process/deadline-process.js.map +1 -1
  69. package/dist/adapters/process/diagnostic-process.js +2 -3
  70. package/dist/adapters/process/diagnostic-process.js.map +1 -1
  71. package/dist/adapters/registry/registry-policy.js +4 -14
  72. package/dist/adapters/registry/registry-policy.js.map +1 -1
  73. package/dist/application/agent/list.js +12 -0
  74. package/dist/application/agent/list.js.map +1 -1
  75. package/dist/application/agent/pick.js +12 -30
  76. package/dist/application/agent/pick.js.map +1 -1
  77. package/dist/application/agent/workspace-cleanup.js +4 -1
  78. package/dist/application/agent/workspace-cleanup.js.map +1 -1
  79. package/dist/application/config/export.js +3 -2
  80. package/dist/application/config/export.js.map +1 -1
  81. package/dist/application/config/import-registry.js +3 -3
  82. package/dist/application/config/import-registry.js.map +1 -1
  83. package/dist/application/config/import.js +12 -4
  84. package/dist/application/config/import.js.map +1 -1
  85. package/dist/application/config/resolve.js +2 -4
  86. package/dist/application/config/resolve.js.map +1 -1
  87. package/dist/application/contribution/identity.js +3 -3
  88. package/dist/application/contribution/identity.js.map +1 -1
  89. package/dist/application/contribution/push-registered.js +77 -0
  90. package/dist/application/contribution/push-registered.js.map +1 -0
  91. package/dist/application/contribution/push.js +12 -19
  92. package/dist/application/contribution/push.js.map +1 -1
  93. package/dist/application/contribution/validate.js +12 -13
  94. package/dist/application/contribution/validate.js.map +1 -1
  95. package/dist/application/docs/rendered.js +2 -1
  96. package/dist/application/docs/rendered.js.map +1 -1
  97. package/dist/application/doctor/index.js +43 -27
  98. package/dist/application/doctor/index.js.map +1 -1
  99. package/dist/application/doctor/manifest.js +5 -1
  100. package/dist/application/doctor/manifest.js.map +1 -1
  101. package/dist/application/doctor/repos.js +1 -1
  102. package/dist/application/doctor/repos.js.map +1 -1
  103. package/dist/application/doctor/tools.js +20 -31
  104. package/dist/application/doctor/tools.js.map +1 -1
  105. package/dist/application/doctor/types.js +0 -8
  106. package/dist/application/doctor/types.js.map +1 -1
  107. package/dist/application/env/names.js.map +1 -1
  108. package/dist/application/harness/apply.js +4 -3
  109. package/dist/application/harness/apply.js.map +1 -1
  110. package/dist/application/harness/cleanup.js +5 -14
  111. package/dist/application/harness/cleanup.js.map +1 -1
  112. package/dist/application/harness/mcp-readiness.js +3 -1
  113. package/dist/application/harness/mcp-readiness.js.map +1 -1
  114. package/dist/application/harness/names.js +2 -4
  115. package/dist/application/harness/names.js.map +1 -1
  116. package/dist/application/harness/plan.js +12 -10
  117. package/dist/application/harness/plan.js.map +1 -1
  118. package/dist/application/harness/reconcile.js +4 -14
  119. package/dist/application/harness/reconcile.js.map +1 -1
  120. package/dist/application/harness/session.js +2 -13
  121. package/dist/application/harness/session.js.map +1 -1
  122. package/dist/application/harness/stages.js +8 -18
  123. package/dist/application/harness/stages.js.map +1 -1
  124. package/dist/application/harness/types.js +1 -8
  125. package/dist/application/harness/types.js.map +1 -1
  126. package/dist/application/hook/apply.js +5 -4
  127. package/dist/application/hook/apply.js.map +1 -1
  128. package/dist/application/hook/automatic-sync.js +8 -3
  129. package/dist/application/hook/automatic-sync.js.map +1 -1
  130. package/dist/application/hook/cleanup.js +5 -14
  131. package/dist/application/hook/cleanup.js.map +1 -1
  132. package/dist/application/hook/dispatch.js +24 -3
  133. package/dist/application/hook/dispatch.js.map +1 -1
  134. package/dist/application/hook/observe.js +20 -12
  135. package/dist/application/hook/observe.js.map +1 -1
  136. package/dist/application/hook/plan.js.map +1 -1
  137. package/dist/application/hook/reconcile.js +2 -9
  138. package/dist/application/hook/reconcile.js.map +1 -1
  139. package/dist/application/hook/session.js +5 -12
  140. package/dist/application/hook/session.js.map +1 -1
  141. package/dist/application/hook/supervisor-report.js +2 -1
  142. package/dist/application/hook/supervisor-report.js.map +1 -1
  143. package/dist/application/hook/types.js +8 -1
  144. package/dist/application/hook/types.js.map +1 -1
  145. package/dist/application/init/errors.js +19 -19
  146. package/dist/application/init/errors.js.map +1 -1
  147. package/dist/application/init/index.js +60 -42
  148. package/dist/application/init/index.js.map +1 -1
  149. package/dist/application/init/preview-initialization.js +40 -0
  150. package/dist/application/init/preview-initialization.js.map +1 -0
  151. package/dist/application/init/preview.js +37 -19
  152. package/dist/application/init/preview.js.map +1 -1
  153. package/dist/application/init/resume.js +30 -0
  154. package/dist/application/init/resume.js.map +1 -0
  155. package/dist/application/init/source.js +8 -0
  156. package/dist/application/init/source.js.map +1 -0
  157. package/dist/application/init/standalone.js +341 -0
  158. package/dist/application/init/standalone.js.map +1 -0
  159. package/dist/application/{doctor/login.js → login/check.js} +22 -43
  160. package/dist/application/login/check.js.map +1 -0
  161. package/dist/application/login/collect.js +2 -1
  162. package/dist/application/login/collect.js.map +1 -1
  163. package/dist/application/login/command-failure.js +2 -0
  164. package/dist/application/login/command-failure.js.map +1 -1
  165. package/dist/application/login/deps.js +2 -3
  166. package/dist/application/login/deps.js.map +1 -1
  167. package/dist/application/login/run.js +149 -54
  168. package/dist/application/login/run.js.map +1 -1
  169. package/dist/application/login/stage.js +146 -0
  170. package/dist/application/login/stage.js.map +1 -0
  171. package/dist/application/login/verify.js +49 -36
  172. package/dist/application/login/verify.js.map +1 -1
  173. package/dist/application/manifest/context.js +5 -1
  174. package/dist/application/manifest/context.js.map +1 -1
  175. package/dist/application/{import.js → manifest/import.js} +34 -27
  176. package/dist/application/manifest/import.js.map +1 -0
  177. package/dist/application/manifest/lint.js +15 -23
  178. package/dist/application/manifest/lint.js.map +1 -1
  179. package/dist/application/manifest/load.js +7 -11
  180. package/dist/application/manifest/load.js.map +1 -1
  181. package/dist/application/manifest/prepare.js +3 -2
  182. package/dist/application/manifest/prepare.js.map +1 -1
  183. package/dist/application/manifest/providers.js +4 -1
  184. package/dist/application/manifest/providers.js.map +1 -1
  185. package/dist/application/{refresh-manifest.js → manifest/refresh.js} +26 -2
  186. package/dist/application/manifest/refresh.js.map +1 -0
  187. package/dist/application/manifest/set.js +2 -1
  188. package/dist/application/manifest/set.js.map +1 -1
  189. package/dist/application/member/list.js +2 -4
  190. package/dist/application/member/list.js.map +1 -1
  191. package/dist/application/member/show.js +2 -3
  192. package/dist/application/member/show.js.map +1 -1
  193. package/dist/application/preparation.js +92 -25
  194. package/dist/application/preparation.js.map +1 -1
  195. package/dist/application/probe-record/index.js +19 -18
  196. package/dist/application/probe-record/index.js.map +1 -1
  197. package/dist/application/probe-record/plan.js +6 -4
  198. package/dist/application/probe-record/plan.js.map +1 -1
  199. package/dist/application/{can.js → readiness/can.js} +23 -11
  200. package/dist/application/readiness/can.js.map +1 -0
  201. package/dist/application/readiness/index.js +22 -35
  202. package/dist/application/readiness/index.js.map +1 -1
  203. package/dist/application/readiness/resolve.js +13 -15
  204. package/dist/application/readiness/resolve.js.map +1 -1
  205. package/dist/application/readiness/verdicts.js +2 -7
  206. package/dist/application/readiness/verdicts.js.map +1 -1
  207. package/dist/application/{where.js → readiness/where.js} +19 -21
  208. package/dist/application/readiness/where.js.map +1 -0
  209. package/dist/application/release/ci.js +1 -1
  210. package/dist/application/release/ci.js.map +1 -1
  211. package/dist/application/release/index.js +12 -17
  212. package/dist/application/release/index.js.map +1 -1
  213. package/dist/application/safety/trust.js +12 -14
  214. package/dist/application/safety/trust.js.map +1 -1
  215. package/dist/application/self/update.js +23 -13
  216. package/dist/application/self/update.js.map +1 -1
  217. package/dist/application/services/command.js +6 -8
  218. package/dist/application/services/command.js.map +1 -1
  219. package/dist/application/services/operation.js +12 -19
  220. package/dist/application/services/operation.js.map +1 -1
  221. package/dist/application/services/recipes.js +7 -2
  222. package/dist/application/services/recipes.js.map +1 -1
  223. package/dist/application/services/stage.js +6 -4
  224. package/dist/application/services/stage.js.map +1 -1
  225. package/dist/application/services/types.js +7 -1
  226. package/dist/application/services/types.js.map +1 -1
  227. package/dist/application/skill/copies.js +13 -22
  228. package/dist/application/skill/copies.js.map +1 -1
  229. package/dist/application/skill/fx-copies.js +1 -1
  230. package/dist/application/skill/fx-copies.js.map +1 -1
  231. package/dist/application/skill/stage.js +24 -26
  232. package/dist/application/skill/stage.js.map +1 -1
  233. package/dist/application/skill/standalone.js +1 -1
  234. package/dist/application/skill/standalone.js.map +1 -1
  235. package/dist/application/skill/targets.js +2 -16
  236. package/dist/application/skill/targets.js.map +1 -1
  237. package/dist/application/skill/tool-skills.js +20 -10
  238. package/dist/application/skill/tool-skills.js.map +1 -1
  239. package/dist/application/sync/checks.js +7 -45
  240. package/dist/application/sync/checks.js.map +1 -1
  241. package/dist/application/sync/index.js +76 -26
  242. package/dist/application/sync/index.js.map +1 -1
  243. package/dist/application/sync/stages.js +33 -26
  244. package/dist/application/sync/stages.js.map +1 -1
  245. package/dist/application/sync/types.js +6 -1
  246. package/dist/application/sync/types.js.map +1 -1
  247. package/dist/application/tool/check.js +8 -0
  248. package/dist/application/tool/check.js.map +1 -1
  249. package/dist/application/tool/history.js +16 -0
  250. package/dist/application/tool/history.js.map +1 -0
  251. package/dist/application/tool/initialize.js +2 -1
  252. package/dist/application/tool/initialize.js.map +1 -1
  253. package/dist/application/tool/install.js +15 -18
  254. package/dist/application/tool/install.js.map +1 -1
  255. package/dist/application/tool/installed.js +1 -1
  256. package/dist/application/tool/installed.js.map +1 -1
  257. package/dist/application/tool/list.js.map +1 -1
  258. package/dist/application/tool/scope.js +8 -7
  259. package/dist/application/tool/scope.js.map +1 -1
  260. package/dist/application/tool/select.js +2 -4
  261. package/dist/application/tool/select.js.map +1 -1
  262. package/dist/application/tool/show.js +6 -1
  263. package/dist/application/tool/show.js.map +1 -1
  264. package/dist/application/tool/toolchain.js +18 -5
  265. package/dist/application/tool/toolchain.js.map +1 -1
  266. package/dist/application/update/check.js +2 -1
  267. package/dist/application/update/check.js.map +1 -1
  268. package/dist/application/workspace/command-operation.js +4 -3
  269. package/dist/application/workspace/command-operation.js.map +1 -1
  270. package/dist/application/{workspace-context.js → workspace/context.js} +26 -19
  271. package/dist/application/workspace/context.js.map +1 -0
  272. package/dist/application/workspace/deps.js +3 -3
  273. package/dist/application/workspace/deps.js.map +1 -1
  274. package/dist/application/workspace/guidance.js +2 -4
  275. package/dist/application/workspace/guidance.js.map +1 -1
  276. package/dist/application/workspace/health.js +4 -2
  277. package/dist/application/workspace/health.js.map +1 -1
  278. package/dist/application/workspace/inspect.js +1 -4
  279. package/dist/application/workspace/inspect.js.map +1 -1
  280. package/dist/application/workspace/manage.js +83 -97
  281. package/dist/application/workspace/manage.js.map +1 -1
  282. package/dist/application/workspace/operation.js +13 -14
  283. package/dist/application/workspace/operation.js.map +1 -1
  284. package/dist/application/workspace/plan.js +2 -1
  285. package/dist/application/workspace/plan.js.map +1 -1
  286. package/dist/application/workspace/registry.js +4 -3
  287. package/dist/application/workspace/registry.js.map +1 -1
  288. package/dist/application/workspace/resolve.js +10 -12
  289. package/dist/application/workspace/resolve.js.map +1 -1
  290. package/dist/application/workspace/resources.js +39 -32
  291. package/dist/application/workspace/resources.js.map +1 -1
  292. package/dist/application/workspace/source-preview.js +6 -3
  293. package/dist/application/workspace/source-preview.js.map +1 -1
  294. package/dist/application/{status.js → workspace/status.js} +51 -6
  295. package/dist/application/workspace/status.js.map +1 -0
  296. package/dist/cli/base.js +28 -29
  297. package/dist/cli/base.js.map +1 -1
  298. package/dist/cli/commands/agent/pick.js +4 -1
  299. package/dist/cli/commands/agent/pick.js.map +1 -1
  300. package/dist/cli/commands/agent/unpick.js +5 -1
  301. package/dist/cli/commands/agent/unpick.js.map +1 -1
  302. package/dist/cli/commands/can.js +5 -21
  303. package/dist/cli/commands/can.js.map +1 -1
  304. package/dist/cli/commands/config/import.js +1 -8
  305. package/dist/cli/commands/config/import.js.map +1 -1
  306. package/dist/cli/commands/doctor.js +2 -1
  307. package/dist/cli/commands/doctor.js.map +1 -1
  308. package/dist/cli/commands/env/pick.js +1 -0
  309. package/dist/cli/commands/env/pick.js.map +1 -1
  310. package/dist/cli/commands/env/select.js +1 -0
  311. package/dist/cli/commands/env/select.js.map +1 -1
  312. package/dist/cli/commands/env/unpick.js +1 -0
  313. package/dist/cli/commands/env/unpick.js.map +1 -1
  314. package/dist/cli/commands/hook/disable.js +1 -0
  315. package/dist/cli/commands/hook/disable.js.map +1 -1
  316. package/dist/cli/commands/hook/enable.js +1 -0
  317. package/dist/cli/commands/hook/enable.js.map +1 -1
  318. package/dist/cli/commands/init.js +40 -14
  319. package/dist/cli/commands/init.js.map +1 -1
  320. package/dist/cli/commands/login.js +13 -2
  321. package/dist/cli/commands/login.js.map +1 -1
  322. package/dist/cli/commands/manifest/import.js +6 -2
  323. package/dist/cli/commands/manifest/import.js.map +1 -1
  324. package/dist/cli/commands/manifest/lint.js +5 -1
  325. package/dist/cli/commands/manifest/lint.js.map +1 -1
  326. package/dist/cli/commands/manifest/record-probe.js +1 -0
  327. package/dist/cli/commands/manifest/record-probe.js.map +1 -1
  328. package/dist/cli/commands/manifest/render.js +1 -0
  329. package/dist/cli/commands/manifest/render.js.map +1 -1
  330. package/dist/cli/commands/manifest/repo-set.js +1 -0
  331. package/dist/cli/commands/manifest/repo-set.js.map +1 -1
  332. package/dist/cli/commands/repo/add.js +1 -0
  333. package/dist/cli/commands/repo/add.js.map +1 -1
  334. package/dist/cli/commands/repo/fork.js +1 -0
  335. package/dist/cli/commands/repo/fork.js.map +1 -1
  336. package/dist/cli/commands/repo/pick.js +1 -0
  337. package/dist/cli/commands/repo/pick.js.map +1 -1
  338. package/dist/cli/commands/repo/remove.js +1 -0
  339. package/dist/cli/commands/repo/remove.js.map +1 -1
  340. package/dist/cli/commands/repo/select.js +1 -0
  341. package/dist/cli/commands/repo/select.js.map +1 -1
  342. package/dist/cli/commands/repo/unpick.js +1 -0
  343. package/dist/cli/commands/repo/unpick.js.map +1 -1
  344. package/dist/cli/commands/selection.js +1 -2
  345. package/dist/cli/commands/selection.js.map +1 -1
  346. package/dist/cli/commands/self/update.js +11 -14
  347. package/dist/cli/commands/self/update.js.map +1 -1
  348. package/dist/cli/commands/source/push.js +14 -13
  349. package/dist/cli/commands/source/push.js.map +1 -1
  350. package/dist/cli/commands/status.js +6 -36
  351. package/dist/cli/commands/status.js.map +1 -1
  352. package/dist/cli/commands/sync.js +7 -5
  353. package/dist/cli/commands/sync.js.map +1 -1
  354. package/dist/cli/commands/tool/history.js +2 -2
  355. package/dist/cli/commands/tool/history.js.map +1 -1
  356. package/dist/cli/commands/where.js +2 -1
  357. package/dist/cli/commands/where.js.map +1 -1
  358. package/dist/cli/commands/workspace/rebind.js +1 -4
  359. package/dist/cli/commands/workspace/rebind.js.map +1 -1
  360. package/dist/cli/completion.js +2 -4
  361. package/dist/cli/completion.js.map +1 -1
  362. package/dist/cli/hook-command.js +2 -2
  363. package/dist/cli/hook-command.js.map +1 -1
  364. package/dist/cli/main.js +4 -3
  365. package/dist/cli/main.js.map +1 -1
  366. package/dist/cli/notices.js +26 -24
  367. package/dist/cli/notices.js.map +1 -1
  368. package/dist/cli/preparation-view.js +226 -51
  369. package/dist/cli/preparation-view.js.map +1 -1
  370. package/dist/cli/render/exceptional.js +11 -4
  371. package/dist/cli/render/exceptional.js.map +1 -1
  372. package/dist/cli/render/fields.js +1 -3
  373. package/dist/cli/render/fields.js.map +1 -1
  374. package/dist/cli/render/human.js +1 -3
  375. package/dist/cli/render/human.js.map +1 -1
  376. package/dist/cli/render/index.js +1 -1
  377. package/dist/cli/render/index.js.map +1 -1
  378. package/dist/cli/render/status-line.js +17 -3
  379. package/dist/cli/render/status-line.js.map +1 -1
  380. package/dist/cli/render/tone.js +29 -10
  381. package/dist/cli/render/tone.js.map +1 -1
  382. package/dist/cli/tool-command.js +4 -11
  383. package/dist/cli/tool-command.js.map +1 -1
  384. package/dist/cli/workspace-write-policy.js +8 -33
  385. package/dist/cli/workspace-write-policy.js.map +1 -1
  386. package/dist/composition/agent-cleanup.js +5 -1
  387. package/dist/composition/agent-cleanup.js.map +1 -1
  388. package/dist/composition/bundled.js +4 -1
  389. package/dist/composition/bundled.js.map +1 -1
  390. package/dist/composition/command-wiring.js +55 -96
  391. package/dist/composition/command-wiring.js.map +1 -1
  392. package/dist/composition/container.js +25 -20
  393. package/dist/composition/container.js.map +1 -1
  394. package/dist/composition/contributions.js +26 -71
  395. package/dist/composition/contributions.js.map +1 -1
  396. package/dist/composition/harness.js +3 -4
  397. package/dist/composition/harness.js.map +1 -1
  398. package/dist/composition/hook-entry.js +2 -1
  399. package/dist/composition/hook-entry.js.map +1 -1
  400. package/dist/composition/hook-wiring.js +8 -16
  401. package/dist/composition/hook-wiring.js.map +1 -1
  402. package/dist/composition/hook-worker.js +9 -11
  403. package/dist/composition/hook-worker.js.map +1 -1
  404. package/dist/composition/hooks.js +6 -3
  405. package/dist/composition/hooks.js.map +1 -1
  406. package/dist/composition/import.js +8 -6
  407. package/dist/composition/import.js.map +1 -1
  408. package/dist/composition/manifest-edit.js +1 -2
  409. package/dist/composition/manifest-edit.js.map +1 -1
  410. package/dist/composition/manifest-sources.js +3 -16
  411. package/dist/composition/manifest-sources.js.map +1 -1
  412. package/dist/composition/probe-record.js +1 -2
  413. package/dist/composition/probe-record.js.map +1 -1
  414. package/dist/composition/refresh.js +1 -1
  415. package/dist/composition/refresh.js.map +1 -1
  416. package/dist/composition/registry.js +8 -37
  417. package/dist/composition/registry.js.map +1 -1
  418. package/dist/composition/tool-install.js +5 -1
  419. package/dist/composition/tool-install.js.map +1 -1
  420. package/dist/composition/tool-inventory.js +10 -1
  421. package/dist/composition/tool-inventory.js.map +1 -1
  422. package/dist/composition/trace.js +3 -4
  423. package/dist/composition/trace.js.map +1 -1
  424. package/dist/composition/update.js +12 -1
  425. package/dist/composition/update.js.map +1 -1
  426. package/dist/composition/workspace-management.js +8 -2
  427. package/dist/composition/workspace-management.js.map +1 -1
  428. package/dist/domain/config/codec.js +2 -1
  429. package/dist/domain/config/codec.js.map +1 -1
  430. package/dist/domain/config/profile.js +0 -1
  431. package/dist/domain/config/profile.js.map +1 -1
  432. package/dist/domain/contribution/pull-request.js +12 -1
  433. package/dist/domain/contribution/pull-request.js.map +1 -1
  434. package/dist/domain/contribution/selection.js +4 -8
  435. package/dist/domain/contribution/selection.js.map +1 -1
  436. package/dist/domain/errors.js +10 -3
  437. package/dist/domain/errors.js.map +1 -1
  438. package/dist/domain/fuzzy.js +6 -1
  439. package/dist/domain/fuzzy.js.map +1 -1
  440. package/dist/domain/harness/actions.js +60 -0
  441. package/dist/domain/harness/actions.js.map +1 -0
  442. package/dist/domain/harness/deadlines.js +14 -0
  443. package/dist/domain/harness/deadlines.js.map +1 -0
  444. package/dist/domain/harness/hooks.js +8 -0
  445. package/dist/domain/harness/hooks.js.map +1 -1
  446. package/dist/domain/harness/session-start.js +2 -1
  447. package/dist/domain/harness/session-start.js.map +1 -1
  448. package/dist/domain/harness/state-recovery.js.map +1 -1
  449. package/dist/domain/import/infer.js +2 -9
  450. package/dist/domain/import/infer.js.map +1 -1
  451. package/dist/domain/lease.js +30 -0
  452. package/dist/domain/lease.js.map +1 -0
  453. package/dist/domain/manifest/decode.js +5 -8
  454. package/dist/domain/manifest/decode.js.map +1 -1
  455. package/dist/domain/manifest/document.js +3 -5
  456. package/dist/domain/manifest/document.js.map +1 -1
  457. package/dist/domain/manifest/editor.js +3 -7
  458. package/dist/domain/manifest/editor.js.map +1 -1
  459. package/dist/domain/manifest/explain.js +2 -4
  460. package/dist/domain/manifest/explain.js.map +1 -1
  461. package/dist/domain/manifest/issues.js +2 -2
  462. package/dist/domain/manifest/issues.js.map +1 -1
  463. package/dist/domain/manifest/loader.js +2 -1
  464. package/dist/domain/manifest/loader.js.map +1 -1
  465. package/dist/domain/manifest/overlay.js +6 -9
  466. package/dist/domain/manifest/overlay.js.map +1 -1
  467. package/dist/domain/manifest/providers.js +34 -2
  468. package/dist/domain/manifest/providers.js.map +1 -1
  469. package/dist/domain/manifest/quarantine.js +21 -1
  470. package/dist/domain/manifest/quarantine.js.map +1 -1
  471. package/dist/domain/manifest/reflect.js +2 -31
  472. package/dist/domain/manifest/reflect.js.map +1 -1
  473. package/dist/domain/manifest/rules/harness.js +2 -16
  474. package/dist/domain/manifest/rules/harness.js.map +1 -1
  475. package/dist/domain/manifest/rules/tools.js +1 -0
  476. package/dist/domain/manifest/rules/tools.js.map +1 -1
  477. package/dist/domain/manifest/service.schema.js +5 -14
  478. package/dist/domain/manifest/service.schema.js.map +1 -1
  479. package/dist/domain/manifest/skill-frontmatter.js +1 -1
  480. package/dist/domain/manifest/skill-frontmatter.js.map +1 -1
  481. package/dist/domain/manifest/tools.schema.js +6 -0
  482. package/dist/domain/manifest/tools.schema.js.map +1 -1
  483. package/dist/domain/manifest/types.js.map +1 -1
  484. package/dist/domain/outcome.js +5 -0
  485. package/dist/domain/outcome.js.map +1 -0
  486. package/dist/domain/path.js +9 -1
  487. package/dist/domain/path.js.map +1 -1
  488. package/dist/domain/preparation.js.map +1 -1
  489. package/dist/domain/projection.js +8 -0
  490. package/dist/domain/projection.js.map +1 -0
  491. package/dist/domain/public-url.js +22 -0
  492. package/dist/domain/public-url.js.map +1 -0
  493. package/dist/domain/release/ci.js +19 -8
  494. package/dist/domain/release/ci.js.map +1 -1
  495. package/dist/domain/report.js +1 -1
  496. package/dist/domain/report.js.map +1 -1
  497. package/dist/domain/setup/names.js +23 -0
  498. package/dist/domain/setup/names.js.map +1 -0
  499. package/dist/domain/setup/planner.js +24 -22
  500. package/dist/domain/setup/planner.js.map +1 -1
  501. package/dist/domain/setup/progress.js +57 -0
  502. package/dist/domain/setup/progress.js.map +1 -0
  503. package/dist/domain/setup/types.js +5 -0
  504. package/dist/domain/setup/types.js.map +1 -1
  505. package/dist/domain/shell.js +0 -7
  506. package/dist/domain/shell.js.map +1 -1
  507. package/dist/domain/skills/frontmatter.js +1 -1
  508. package/dist/domain/skills/frontmatter.js.map +1 -1
  509. package/dist/domain/skills/projection.js +2 -3
  510. package/dist/domain/skills/projection.js.map +1 -1
  511. package/dist/domain/sync-selection.js +2 -4
  512. package/dist/domain/sync-selection.js.map +1 -1
  513. package/dist/domain/toolchain/resolve.js +30 -16
  514. package/dist/domain/toolchain/resolve.js.map +1 -1
  515. package/dist/domain/toolchain/select.js +15 -9
  516. package/dist/domain/toolchain/select.js.map +1 -1
  517. package/dist/domain/toolchain/stderr.js +34 -14
  518. package/dist/domain/toolchain/stderr.js.map +1 -1
  519. package/dist/domain/values.js +18 -2
  520. package/dist/domain/values.js.map +1 -1
  521. package/dist/domain/workspace/commits.js +5 -0
  522. package/dist/domain/workspace/commits.js.map +1 -1
  523. package/dist/domain/workspace/operation-journal.js +93 -0
  524. package/dist/domain/workspace/operation-journal.js.map +1 -0
  525. package/dist/domain/workspace/plan.js +17 -1
  526. package/dist/domain/workspace/plan.js.map +1 -1
  527. package/dist/infra/config-store.js +8 -13
  528. package/dist/infra/config-store.js.map +1 -1
  529. package/dist/infra/contribution-store.js +21 -67
  530. package/dist/infra/contribution-store.js.map +1 -1
  531. package/dist/infra/harness-state.js +21 -49
  532. package/dist/infra/harness-state.js.map +1 -1
  533. package/dist/infra/local-store.js +8 -15
  534. package/dist/infra/local-store.js.map +1 -1
  535. package/dist/infra/owned-journal.js +57 -0
  536. package/dist/infra/owned-journal.js.map +1 -0
  537. package/dist/infra/projection-store.js +4 -3
  538. package/dist/infra/projection-store.js.map +1 -1
  539. package/dist/infra/tool-history.js +19 -49
  540. package/dist/infra/tool-history.js.map +1 -1
  541. package/dist/infra/trust-store.js +2 -9
  542. package/dist/infra/trust-store.js.map +1 -1
  543. package/dist/infra/workspace-home.js +7 -1
  544. package/dist/infra/workspace-home.js.map +1 -1
  545. package/dist/ports/ci.js +2 -1
  546. package/dist/ports/ci.js.map +1 -1
  547. package/package.json +1 -1
  548. package/skills/fx-workspace/SKILL.md +7 -8
  549. package/skills/fx-workspace/references/commands.md +39 -27
  550. package/skills/fx-workspace/references/initialization.md +17 -0
  551. package/skills/fx-workspace/references/workspace-tasks.md +6 -7
  552. package/dist/application/can.js.map +0 -1
  553. package/dist/application/doctor/login.js.map +0 -1
  554. package/dist/application/import.js.map +0 -1
  555. package/dist/application/init/setup.js +0 -125
  556. package/dist/application/init/setup.js.map +0 -1
  557. package/dist/application/preview-initialization.js +0 -41
  558. package/dist/application/preview-initialization.js.map +0 -1
  559. package/dist/application/refresh-manifest.js.map +0 -1
  560. package/dist/application/refresh-workspace-manifest.js +0 -27
  561. package/dist/application/refresh-workspace-manifest.js.map +0 -1
  562. package/dist/application/status.js.map +0 -1
  563. package/dist/application/where.js.map +0 -1
  564. package/dist/application/workspace-context.js.map +0 -1
  565. package/dist/domain/deadline.js +0 -17
  566. package/dist/domain/deadline.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,161 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## 0.13.0 (2026-10-27)
6
+
7
+ ### Added
8
+
9
+ - Set up companion tools without a manifest. `fx init` with no directory and no source
10
+ lists the tools in fx's catalog and asks which to set up, by number or name, with
11
+ Enter taking all of them; `fx init --tools <name,...>` or `--tools all` names them
12
+ for agents and scripts, and `--dry-run` previews. fx installs the tools that are
13
+ missing, has each one install its Skill for your coding agents, adds its own
14
+ `fx-workspace` Skill, and checks whether each one is signed in. On a terminal it
15
+ offers to start the setup of a tool that is not signed in (`<tool> config init`,
16
+ `gh auth login`), which asks for the service and your credentials; otherwise, and
17
+ with `--yes`, the report hands that command to you. No workspace is registered, and
18
+ a manifest still decides the tools and presets the services they point at. The JSON
19
+ report has `tools`, `tool_install` and `skills`, and `preparation.scope.workspace`
20
+ is `null`.
21
+ - Let a tool's `auth` in the catalog or a manifest name the JSON field its status must
22
+ report (`json`) and the tool's own interactive setup (`login`). The bundled catalog
23
+ names both for the family CLIs and `login` for `gh`, and `fx tool show` reports them.
24
+
25
+ ### Changed
26
+
27
+ - Tell a companion's reuse check in a background hook run how long the run can give
28
+ it, through the companion's own `--timeout`, and leave the check unasked when that is
29
+ under the ten seconds by which a companion bounds the lookups a reuse adds. The check
30
+ used to be ended when the run's time for it ran out. The reuse step's `verify` in
31
+ `fx login --list` and the init preview gains `deadline`, with the flag and the least
32
+ time the check needs (`minimumMs`).
33
+ - Record `LOGIN_UNCHECKED` in place of `LOGIN_REQUIRED` when every login check of a
34
+ background hook run that did not pass was not asked or gave no answer, which
35
+ `fx doctor` reports as incomplete coverage, as when the run ran out of time for it.
36
+
37
+ ### Fixed
38
+
39
+ - Count a Jenkins or OpenObserve environment as signed in only when
40
+ `jenkins-cli auth status` or `openobserve-cli auth status` reports
41
+ `authenticated: true`. Both exit zero when nobody is signed in, so on a machine
42
+ without credentials the sign-in step counted as done and `fx init` and `fx sync`
43
+ did not ask for it.
44
+ - Leave the declared authentication method out of the OpenObserve and Prometheus
45
+ commands `fx where` prints and probes, as checks have done since 0.9.1. A probe of
46
+ an OpenObserve context that uses basic authentication was sent with
47
+ `--auth-scheme session` and refused; the commands now name only the server's URL
48
+ and organization besides the context.
49
+
50
+ ## 0.12.0 (2026-10-19)
51
+
52
+ ### Added
53
+
54
+ - Open pull requests on GitHub. `fx source push` works with a manifest source hosted
55
+ on GitHub as it does with Bitbucket: it pushes the selected files to your verified
56
+ personal fork through `gh` and opens, reuses or retires the pull request against
57
+ its upstream, and `--pr` accepts a pull request number or its page on GitHub.
58
+ - Recognize checkouts cloned from github.com over HTTPS or SSH in `fx import`,
59
+ which binds the `github` code host with the matching clone prefix as its host.
60
+ A GitHub Enterprise server is still not guessed from a remote.
61
+ - Add `wecom-calendar-cli`, a local, searchable mirror of your own WeCom calendars
62
+ with their history, to the tool catalog and as a `calendar` provider. `fx can`
63
+ checks each member's sign-in and hands agents `wecom-calendar-cli event list`;
64
+ filling the mirror with `wecom-calendar-cli sync` stays the member's call.
65
+
66
+ ### Changed
67
+
68
+ - Judge a CI build by the commit it checked out when the platform names it.
69
+ `fx release check` passes a successful build of the branch head and fails one of
70
+ another commit, instead of comparing when the build started with when the head was
71
+ written. GitHub Actions names the commit, and Jenkins does with jenkins-cli 0.12.0
72
+ or later; without it the times still decide. CI evidence gains `commit`.
73
+ - Let a `github-actions` ci environment leave out `branch`. `fx release check` then
74
+ counts the runs of the branch it is checking on each side.
75
+ - Keep MCP, rules and hook rows that report `untrusted`, `missing_variables`,
76
+ `invalid` or `busy` in the summary of an `init`, `sync` or `doctor` JSON report.
77
+ They were counted under `omitted`, while a `foreign` or `conflict` row of the same
78
+ stage was shown.
79
+ - Report `TOOL_MISSING` from a companion query, `sentry` or `git` only when the
80
+ executable could not be started. One that started and exited 127 itself now reads
81
+ as the failed query or Git operation it is, in place of a request to install a tool
82
+ that is already there.
83
+ - Say `"<id>" is not an agent fx knows` for an unknown `--agent` of
84
+ `fx can mcp:<name>`, as `fx agent pick` and `fx skill install` do.
85
+ `fx release check` reports an unknown repository in the words of the other
86
+ repository commands, lists the known names when none is close, and keeps the
87
+ workspace in its next step.
88
+ - Quote a directory, tool or repository name that needs it in the command an error
89
+ suggests: the imported directory of `IMPORT_INSIDE_ROOT`, the tools of a withheld
90
+ installation or a missing companion Skill tool, and the repository of
91
+ `PROBE_RECORD_INPUT_REQUIRED`. A path with a space can be pasted as printed.
92
+ - Quote for the configured `command_shell` the commands that follow a workspace
93
+ `relocate` or `rebind`, a registration `fx init` cannot take or resume, a profile
94
+ import or source contribution whose workspace changed, a probe that could not be
95
+ recorded, a manifest import aimed inside the directory it describes, and a
96
+ `--workspace` that names nothing registered. These were printed in POSIX quoting
97
+ whatever the setting.
98
+ - Run git in the C locale when reading a manifest repository or a `local-git` code
99
+ host, as repository synchronization does. Under another locale a file missing from
100
+ a branch was reported as a failed query, because git's translated message went
101
+ unrecognised. A git that cannot be started there is now `TOOL_MISSING`.
102
+ - Close `fx sync` and `fx init` with one line per stage before the verdict: the
103
+ repositories updated, already current, skipped and failed, by name; what the
104
+ manifest refresh did; and the counts other stages report. In a terminal each
105
+ success is counted on the status line instead of printed, and so is the
106
+ `SYNC_PARTIAL` notice the closing view repeats; `--verbose` prints them, and a
107
+ pipe or JSON still receives every record. The status line printed under a Git
108
+ call no longer repeats itself while other lines keep coming.
109
+ - Group sync and init blockers by what resolves them: a sign-in or credentials,
110
+ access refused, or a server this machine cannot reach, which now gets the command
111
+ that checks it again instead of `fx login`; a Prometheus server that does not
112
+ answer counts as unreachable. A check that waited on another blocker, directly or
113
+ through a third, is named under it instead of counted apart, a companion's error
114
+ code follows its message, and a preparation step whose companion says a retry will
115
+ not help shows the companion's own advice instead of suggesting `fx doctor --fix`.
116
+ Preparation checks gain `cause` and `waits_on`.
117
+ - Run the bundled step that reuses an existing login in `fx login` without asking
118
+ and off the terminal, as init and sync do, also with `--no-input`. Its failure
119
+ keeps the companion's message and code instead of `exit 3`, a terminal shows the
120
+ companion's advice in a `LOGIN_STEP_FAILED` notice, and the companion's JSON no
121
+ longer lands on the terminal; fx asks only before a sign-in.
122
+ - Show only non-zero counts and no empty `problems` under the human `fx login`
123
+ table, and leave the `LOGIN_SUMMARY` notice that repeats them to JSON and pipes.
124
+ A passing check says what it established, such as `authenticated is true`,
125
+ instead of repeating its command.
126
+
127
+ ### Fixed
128
+
129
+ - Refuse a recorded harness or contribution path that has a `.git` segment in any
130
+ letter case or a delete character. Harness ownership metadata accepted `.GIT/...`,
131
+ which a case-insensitive volume resolves into a repository's own directory; both
132
+ stores now hold a recorded path to the rule `fx source push` applies to a selection.
133
+ - Report `bundled_tools` in `fx self info` as a path the file system accepts when fx
134
+ is installed under a directory whose name has a space or a non-ASCII character, or
135
+ on Windows. The value was a percent-encoded URL path there.
136
+ - Leave a registration that records no manifest source as it is when
137
+ `fx init --resume` continues it. Resuming wrote `source: "-"` into `config.yaml`:
138
+ `fx sync` then took the workspace for one prepared from stdin and stopped saying
139
+ that it has no source to refresh, and `fx init <dir> --from <source>` refused the
140
+ directory with `SOURCE_MISMATCH` in place of recording the source.
141
+ - Skip a repository whose upstream is still empty, such as one registered with
142
+ `fx repo add` before its first push, instead of failing the whole sync. fx asks
143
+ the remote before calling a branch absent: an empty upstream is a skip with
144
+ outcome `empty_remote` that does not hold readiness back, while an upstream with
145
+ other branches but not the tracked one is a skip with outcome `no_remote_branch`
146
+ that still does, since the manifest may name the wrong branch. An unborn local
147
+ branch fast-forwards once upstream has commits, and a manifest checkout in either
148
+ state is left as it is.
149
+ - Bring earlier environments up to date as soon as `fx login` signs in to one. The
150
+ tool's earlier steps that failed are checked again and those that waited on a
151
+ step now passing are attempted, so environments sharing a stored login no longer
152
+ stay failed or blocked in the summary. No setup action runs a second time; a check
153
+ that still fails keeps its result and says what it found under `recheck`.
154
+ - Say what became of the manifest checkout in its sync row instead of always
155
+ "refreshed": refreshed, already current, or kept with the reason, adding when the
156
+ commits of the branch it was kept on are already upstream.
157
+ - Read the reason a failing check prints inside a JSON object after a prefix, such
158
+ as kubectl's `Error from server (Forbidden): {…}`, instead of quoting the object.
159
+
5
160
  ## 0.11.0 (2026-10-12)
6
161
 
7
162
  ### Added
package/README.md CHANGED
@@ -73,36 +73,16 @@ PowerShell commands and Registry routing. For updates, use
73
73
  ## Quick start
74
74
 
75
75
  You need two things: the manifest source supplied by your team and a directory
76
- for the workspace. You can ask your coding agent: “Use fx to prepare this manifest
77
- in this directory.” If you are running the commands yourself:
76
+ for the workspace. Preview the plan, then apply it:
78
77
 
79
78
  ```sh
80
79
  fx init ./work --from <manifest-repository> --dry-run
81
80
  fx init ./work --from <manifest-repository>
82
81
  ```
83
82
 
84
- fx checks the source, prepares authorized local tools and configuration, clones
85
- the selected repositories, and prepares the Agent guides and Skills. The name
86
- is derived from the directory and avoids existing registrations. Existing files
87
- and completed work are preserved.
88
- Review the displayed commands before approving new manifest actions.
89
-
90
- When fx reports **Ready to work**, you can start. If it needs personal sign-in,
91
- access or approval, it reports the remaining items together. Complete those
92
- items and use the printed continuation command:
93
-
94
- ```sh
95
- fx init --resume --workspace work
96
- ```
97
-
98
- A continuation verifies current state and skips completed preparation. It does
99
- not reimport a directory source or rebuild checkouts. You do not need to choose
100
- internal stages or run a separate diagnostic sequence to finish initialization.
101
-
102
- New workspaces select all shared repositories. To limit the first download,
103
- [choose repositories](docs/user-guide.md#choose-repositories-before-downloading) and add `--repos`
104
- to the initial preview and apply. Existing directories are adopted automatically.
105
- For everyday updates use `fx sync`; `fx status` shows repository state. To work on a repository not downloaded yet, ask your Agent or follow `fx repo show <name>` and its `next_steps`.
83
+ The [quick start](docs/user-guide.md#quick-start) explains what init prepares,
84
+ how to continue after a sign-in or approval, and how to
85
+ [limit the first download](docs/user-guide.md#choose-repositories-before-downloading).
106
86
 
107
87
  ## Everyday commands
108
88
 
@@ -133,25 +113,12 @@ The [CLI reference](docs/cli/README.md) and `fx <command> --help` own exact synt
133
113
  ## For coding agents
134
114
 
135
115
  Run `fx self info --format json`, then read `SKILL.md` in its `bundled_skill`
136
- directory, or run `fx skill show`. No Skill-loaded environment declaration is
137
- required. Global Skill installation is optional. Start sessions at the registered workspace root to use team guidance.
138
-
139
- Document updates recheck their planning snapshots and return `DOCS_WRITE_CONFLICT`
140
- when they detect an intervening change. Partial docs results distinguish completed and
141
- pending writes; inspect them before retrying.
142
-
143
- `login` preserves partial results on stdout when it needs human input or a later
144
- step fails. Read those results alongside stderr errors before retrying; the
145
- [user guide](docs/user-guide.md) describes the result and recovery fields.
146
-
147
- `init`, `sync`, `doctor` and `release check` summarize JSON by default; the
148
- [user guide](docs/user-guide.md#for-coding-agents) explains the full and projected
149
- views. Keep stdout separate from diagnostic stderr. Do not repeat a write just to
150
- obtain a different view of its output.
116
+ directory, or run `fx skill show`. Global Skill installation is optional. Start
117
+ sessions at the registered workspace root to use team guidance.
151
118
 
152
- For `init`, `sync` and `doctor`, read `preparation.state` and the scoped blockers.
153
- Incomplete preparation exits 12; continuation is `fx init --resume --workspace <name>`.
154
- Release checks retain their separate `ok` and `complete` fields.
119
+ The [user guide](docs/user-guide.md#for-coding-agents) explains structured
120
+ results, completion verdicts and recovery; the bundled
121
+ [Skill](skills/fx-workspace/SKILL.md) routes each task to its reference.
155
122
 
156
123
  ## Configuration
157
124
 
@@ -14,7 +14,7 @@ defaults:
14
14
  version_args: [--version]
15
15
  install: [{ via: npm }]
16
16
  skill: { command: [skill, install], dir_flag: --dir }
17
- auth: { command: [auth, status] }
17
+ auth: { command: [auth, status], json: { path: configured, equals: true }, login: [config, init] }
18
18
  tools:
19
19
  - name: bitbucket-cli
20
20
  desc: Repositories, forks, pull requests and code review on Bitbucket
@@ -30,30 +30,47 @@ tools:
30
30
  min_version: '0.10.0'
31
31
  desc: Jobs, builds and console output in Jenkins
32
32
  install: [{ via: npm, spec: '@angelmsger/jenkins-cli' }]
33
+ auth:
34
+ command: [auth, status]
35
+ json: { path: authenticated, equals: true }
36
+ login: [config, init]
33
37
  docs: https://github.com/AngelMsger/jenkins-cli
34
38
  - name: openobserve-cli
35
39
  min_version: '0.14.0'
36
40
  desc: Logs, metrics and traces in OpenObserve
37
41
  install: [{ via: npm, spec: '@angelmsger/openobserve-cli' }]
42
+ auth:
43
+ command: [auth, status]
44
+ json: { path: authenticated, equals: true }
45
+ login: [config, init]
38
46
  docs: https://github.com/AngelMsger/openobserve-cli
39
47
  - name: prometheus-cli
40
48
  min_version: '0.2.0'
41
49
  desc: PromQL queries, series discovery, scrape targets and alerts in Prometheus
42
50
  install: [{ via: npm, spec: '@angelmsger/prometheus-cli' }]
51
+ auth:
52
+ command: [auth, status]
53
+ json: { path: authenticated, equals: true }
54
+ login: [config, init]
43
55
  docs: https://github.com/AngelMsger/prometheus-cli
44
56
  - name: jira-cli
45
57
  min_version: '0.7.0'
46
58
  desc: Issues, comments, transitions and worklogs in Jira
47
59
  install: [{ via: npm, spec: '@angelmsger/jira-cli' }]
48
60
  docs: https://github.com/AngelMsger/jira-cli
61
+ - name: wecom-calendar-cli
62
+ min_version: '0.5.0'
63
+ desc: A local, searchable mirror of your own WeCom calendars, history included
64
+ install: [{ via: npm, spec: '@angelmsger/wecom-calendar-cli' }]
65
+ docs: https://github.com/AngelMsger/wecom-calendar-cli
49
66
  - name: gh
50
67
  min_version: '2.50.0'
51
- desc: Repositories, branches and Actions runs on GitHub
68
+ desc: Repositories, branches, pull requests and Actions runs on GitHub
52
69
  install:
53
70
  - { via: brew, spec: gh }
54
71
  - { via: manual }
55
72
  skill: { command: [] }
56
- auth: { command: [auth, status] }
73
+ auth: { command: [auth, status], login: [auth, login] }
57
74
  docs: https://cli.github.com/
58
75
  - name: sentry
59
76
  min_version: '0.44.1'
@@ -3,6 +3,7 @@ import { createHash } from 'node:crypto';
3
3
  import { isDeepStrictEqual } from 'node:util';
4
4
  import { parse, stringify } from 'smol-toml';
5
5
  import { assessMcpSupport } from '../../domain/harness/mcp.js';
6
+ import { isRecord } from '../../domain/values.js';
6
7
  import { mcpLaunch } from './mcp-launch.js';
7
8
  export class TomlMcpCodec {
8
9
  platform;
@@ -60,9 +61,6 @@ function readToml(text) {
60
61
  return undefined;
61
62
  }
62
63
  }
63
- function isRecord(value) {
64
- return typeof value === 'object' && value !== null && !Array.isArray(value);
65
- }
66
64
  function findFragment(text, markers) {
67
65
  const start = text.indexOf(markers.start);
68
66
  if (start < 0 || (start > 0 && text[start - 1] !== '\n'))
@@ -1 +1 @@
1
- {"version":3,"file":"toml-mcp.js","sourceRoot":"","sources":["../../../src/adapters/agent-host/toml-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toml-mcp.js","sourceRoot":"","sources":["../../../src/adapters/agent-host/toml-mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ // WeCom calendars through the family's wecom-calendar-cli, which mirrors a member's own
2
+ // calendars into a local store over CalDAV and reads them from there, history included;
3
+ // the official wecom-cli lists only the month around today that its bot can see. Each
4
+ // member signs in with their WeCom email and an app-specific CalDAV password, so
5
+ // readiness is a stored credential; filling the store with `sync` is the member's call.
6
+ import { familyService } from '../../family/service.js';
7
+ const TOOL = 'wecom-calendar-cli';
8
+ const MIN_VERSION = '0.5.0';
9
+ const EVENTS = ['event', 'list', '--format', 'json'];
10
+ export const wecomCalendarCliProvider = {
11
+ id: TOOL,
12
+ capability: 'calendar',
13
+ settings: {
14
+ fields: ['base_url', 'context', 'auth_scheme', 'credential_url'],
15
+ authSchemes: ['basic'],
16
+ },
17
+ reference: true,
18
+ tools: [TOOL],
19
+ vars: [],
20
+ service: (settings) => familyService(TOOL, settings, MIN_VERSION),
21
+ recipes: [
22
+ {
23
+ id: 'calendar-access',
24
+ tool: TOOL,
25
+ perEnv: false,
26
+ kind: 'run',
27
+ phase: 'authenticate',
28
+ title: 'Sign in to your WeCom calendars',
29
+ instructions: `Each member signs in with their own WeCom email and an app-specific CalDAV password from the WeCom mobile app; ${TOOL} auth guide explains where it comes from. Run ${TOOL} sync afterwards to fill the local store.`,
30
+ run: ['auth', 'login'],
31
+ verify: {
32
+ command: ['auth', 'status', '--format', 'json'],
33
+ json: { path: 'configured', equals: true, reason: 'detail' },
34
+ },
35
+ },
36
+ ],
37
+ create: (_deps, vars) => ({
38
+ label: 'WeCom calendar events from the local mirror',
39
+ command: [TOOL, ...(vars['context'] ? ['--use-context', vars['context']] : []), ...EVENTS],
40
+ }),
41
+ };
42
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/calendar/wecom-calendar-cli/provider.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wFAAwF;AACxF,sFAAsF;AACtF,iFAAiF;AACjF,wFAAwF;AAIxF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAmC;IACtE,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC;QAChE,WAAW,EAAE,CAAC,OAAO,CAAC;KACvB;IACD,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,CAAC,IAAI,CAAC;IACb,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;IACjE,OAAO,EAAE;QACP;YACE,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,iCAAiC;YACxC,YAAY,EAAE,kHAAkH,IAAI,iDAAiD,IAAI,2CAA2C;YACpO,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YACtB,MAAM,EAAE;gBACN,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;gBAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;aAC7D;SACF;KACF;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,KAAK,EAAE,6CAA6C;QACpD,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;KAC3F,CAAC;CACH,CAAC"}
@@ -1,15 +1,16 @@
1
1
  // GitHub Actions through gh: a job is one workflow of one repository, narrowed to the
2
- // runs of one branch and one trigger when the coordinate names them. One workflow often
3
- // runs on pushes, pull requests and by hand, and only the coordinate knows which of
4
- // those builds what ships. A workflow that is not there is an answer (undefined), a
5
- // workflow that cannot be read is an error.
2
+ // runs of one branch and one trigger. One workflow often runs on pushes, pull requests
3
+ // and by hand, and only the coordinate knows which of those builds what ships; a
4
+ // coordinate that names no branch counts the runs of the branch being checked. A
5
+ // workflow that is not there is an answer (undefined), a workflow that cannot be read
6
+ // is an error.
6
7
  import { EXIT, objectOf, queryFailed, stringAt, unreadableError } from '../../family/cli.js';
7
8
  import { BINARY, GhCli, qualifiedRepository } from '../../github/gh.js';
8
9
  import { TemplatePlatform } from '../../platform/template-platform.js';
9
10
  export const ID = 'github-actions';
10
11
  const QUERY = { timeoutMs: 15_000 };
11
12
  const RUNS = ['run', 'list', '--repo', '{repository}', '--workflow', '{workflow}'];
12
- const FIELDS = 'number,status,conclusion,startedAt,createdAt,url';
13
+ const FIELDS = 'number,status,conclusion,startedAt,createdAt,url,headSha';
13
14
  // A run still on its way, by gh's status; a finished run says how it ended instead.
14
15
  const PENDING = new Set(['queued', 'in_progress', 'waiting', 'requested', 'pending']);
15
16
  const CONCLUSIONS = {
@@ -41,8 +42,8 @@ export class GitHubActionsCi {
41
42
  probe(vars) {
42
43
  return this.platform.probe(qualified(vars));
43
44
  }
44
- async lastBuild(vars) {
45
- const { repository = '', workflow = '', branch, event } = qualified(vars);
45
+ async lastBuild(vars, query) {
46
+ const { repository = '', workflow = '', branch = query.branch, event } = qualified(vars);
46
47
  const what = `the last run of ${workflow} in ${repository}${branch ? ` on ${branch}` : ''}`;
47
48
  const call = await new GhCli(this.process).call([
48
49
  'run',
@@ -73,6 +74,7 @@ export class GitHubActionsCi {
73
74
  status: statusOf(run),
74
75
  startedAt: stringAt(run, 'startedAt') ?? stringAt(run, 'createdAt') ?? null,
75
76
  url: stringAt(run, 'url') ?? null,
77
+ commit: stringAt(run, 'headSha') ?? null,
76
78
  };
77
79
  }
78
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ci.js","sourceRoot":"","sources":["../../../../src/adapters/ci/github-actions/ci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci.js","sourceRoot":"","sources":["../../../../src/adapters/ci/github-actions/ci.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // GitHub Actions through gh: one sign-in, shared with the github code host; each
2
- // environment names the workflow, branch and trigger that build it.
2
+ // environment names the workflow and trigger that build it, and may name the branch.
3
3
  import { BINARY, GH_RECIPES, qualifiedRepository } from '../../github/gh.js';
4
4
  import { GitHubActionsCi, ID } from './ci.js';
5
5
  export const githubActionsProvider = {
@@ -18,7 +18,7 @@ export const githubActionsProvider = {
18
18
  { name: 'workflow', desc: 'workflow file name or name, e.g. ci.yml', required: true },
19
19
  {
20
20
  name: 'branch',
21
- desc: 'only runs of this branch; without it, the latest run on any branch',
21
+ desc: 'only runs of this branch; without it, release check counts the branch it checks',
22
22
  required: false,
23
23
  },
24
24
  {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/ci/github-actions/provider.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,oEAAoE;AAIpE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,EAAE,EAAE,EAAE;IACN,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,uGAAuG;YAC7G,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrF;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,oEAAoE;YAC1E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oEAAoE;YAC1E,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5F,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;CACpD,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/ci/github-actions/provider.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qFAAqF;AAIrF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,EAAE,EAAE,EAAE;IACN,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,uGAAuG;YAC7G,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrF;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,iFAAiF;YACvF,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oEAAoE;YAC1E,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5F,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;CACpD,CAAC"}
@@ -1,6 +1,10 @@
1
1
  // Jenkins through jenkins-cli: coordinates and probe come from the shared
2
2
  // template; the one query reads a job's latest build. A job that is not
3
- // there is an answer (undefined), a job that cannot be read is an error.
3
+ // there is an answer (undefined), a job that cannot be read is an error. A job
4
+ // path is already one branch's job, so the branch being checked changes
5
+ // nothing here. jenkins-cli names the commit a build checked out from 0.12.0
6
+ // on, and only when it can tell the job's own checkout apart; otherwise the
7
+ // commit stays unknown.
4
8
  import { EXIT, FamilyCli, objectOf, queryFailed, stringAt, unreadableError, } from '../../family/cli.js';
5
9
  import { TemplatePlatform } from '../../platform/template-platform.js';
6
10
  export const BINARY = 'jenkins-cli';
@@ -52,6 +56,7 @@ export class JenkinsCi {
52
56
  status: statusOf(data),
53
57
  startedAt: stringAt(data, 'started_at') ?? null,
54
58
  url: stringAt(data, 'url') ?? null,
59
+ commit: stringAt(objectOf(data['revision']) ?? {}, 'sha') ?? null,
55
60
  };
56
61
  }
57
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ci.js","sourceRoot":"","sources":["../../../../src/adapters/ci/jenkins-cli/ci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci.js","sourceRoot":"","sources":["../../../../src/adapters/ci/jenkins-cli/ci.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,wEAAwE;AACxE,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,wBAAwB;AAMxB,OAAO,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC;AACpC,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAW,CAAC;AAC7C,MAAM,QAAQ,GAA2B;IACvC,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,MAAM,OAAO,SAAS;IAYS;IAXpB,EAAE,GAAG,MAAM,CAAC;IACZ,UAAU,GAAG,IAAa,CAAC;IACnB,QAAQ,GAAG,IAAI,gBAAgB,CAAC;QAC/C,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,oBAAoB;QAC3B,aAAa,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE;QACnE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE;KAChF,CAAC,CAAC;IAEH,YAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEjD,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAU;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAU;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,uEAAuE;QACvE,4CAA4C;QAC5C,MAAM,GAAG,GAAG,IAAI,SAAS,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CAAC,EACf,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACpC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS;YACvC,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;YACpC,MAAM,eAAe,CAAC,MAAM,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;YACtB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI;YAC/C,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI;YAClC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI;SAClE,CAAC;IACJ,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,IAA6B;IAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC;AACzD,CAAC"}
@@ -9,7 +9,11 @@ export const JENKINS_RECIPES = [
9
9
  title: 'Log in to Jenkins',
10
10
  instructions: 'Prompts for your user name and an API token (Jenkins: your profile → Configure → API Token).',
11
11
  run: ['auth', 'login'],
12
- verify: { command: ['auth', 'status'] },
12
+ // `auth status` exits zero when nobody is signed in, so only `authenticated` tells.
13
+ verify: {
14
+ command: ['auth', 'status'],
15
+ json: { path: 'authenticated', equals: true, reason: 'error' },
16
+ },
13
17
  },
14
18
  ];
15
19
  //# sourceMappingURL=recipes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../../src/adapters/ci/jenkins-cli/recipes.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAIvE,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,mBAAmB;QAC1B,YAAY,EACV,8FAA8F;QAChG,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACtB,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;KACxC;CACF,CAAC"}
1
+ {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../../src/adapters/ci/jenkins-cli/recipes.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAIvE,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,mBAAmB;QAC1B,YAAY,EACV,8FAA8F;QAChG,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACtB,oFAAoF;QACpF,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;SAC/D;KACF;CACF,CAAC"}
@@ -1,6 +1,5 @@
1
- // Kubernetes through kubectl, read-only by construction: the only verbs that ever appear
2
- // in a generated vector are get, describe, logs, top, auth can-i and config get-
3
- // contexts; a test pins that.
1
+ // Kubernetes through kubectl, read-only by construction: every generated vector leads
2
+ // with one of READ_ONLY_VERBS, and a test pins that leading verb.
4
3
  import { TemplatePlatform } from '../../platform/template-platform.js';
5
4
  import { KUBECTL_RECIPES } from './recipes.js';
6
5
  export const READ_ONLY_VERBS = ['get', 'describe', 'logs', 'top', 'auth', 'config'];
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/cluster/kubectl/provider.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,iFAAiF;AACjF,8BAA8B;AAI9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAE7F,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,EAAE,EAAE,SAAS;IACb,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpF,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChF;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,qEAAqE;YAC3E,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,kCAAkC;QACzC,OAAO,EAAE;YACP,SAAS;YACT,cAAc;YACd,cAAc;YACd,WAAW;YACX,WAAW;YACX,KAAK;YACL,MAAM;YACN,IAAI;YACJ,aAAa;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE;gBACP,SAAS;gBACT,cAAc;gBACd,cAAc;gBACd,WAAW;gBACX,WAAW;gBACX,KAAK;gBACL,WAAW;gBACX,IAAI;gBACJ,aAAa;aACd;SACF;KACF,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/cluster/kubectl/provider.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,kEAAkE;AAIlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAE7F,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,EAAE,EAAE,SAAS;IACb,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpF,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChF;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,qEAAqE;YAC3E,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,kCAAkC;QACzC,OAAO,EAAE;YACP,SAAS;YACT,cAAc;YACd,cAAc;YACd,WAAW;YACX,WAAW;YACX,KAAK;YACL,MAAM;YACN,IAAI;YACJ,aAAa;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE;gBACP,SAAS;gBACT,cAAc;gBACd,cAAc;gBACd,WAAW;gBACX,WAAW;gBACX,KAAK;gBACL,WAAW;gBACX,IAAI;gBACJ,aAAa;aACd;SACF;KACF,CAAC;CACL,CAAC"}
@@ -1,32 +1,10 @@
1
- // Contribution calls retain family status categories but never echo server
2
- // messages that may contain submitted text. Tool/auth failures carry a handoff.
3
- import { DevkitError } from '../../../domain/errors.js';
4
- import { EXIT, queryFailed } from '../../family/cli.js';
1
+ // Contribution calls through bitbucket-cli; the failure rules are every code host's.
2
+ import { callContribution as familyCall, contributionFailed as failed, } from '../../family/contribution.js';
5
3
  import { BINARY } from './client.js';
6
- export async function callContribution({ cli, args }) {
7
- try {
8
- const call = await cli.call(args, { timeoutMs: 15000 });
9
- if (call.code === EXIT.auth)
10
- throw prerequisite('LOGIN_REQUIRED', 'Sign in to the code host', `fx login ${BINARY}`);
11
- return call;
12
- }
13
- catch (error) {
14
- if (error instanceof DevkitError && error.code === 'TOOL_MISSING')
15
- throw prerequisite('TOOL_MISSING', 'Install the code-host companion CLI', `fx tool install ${BINARY}`);
16
- throw error;
17
- }
4
+ export function callContribution({ cli, args }) {
5
+ return familyCall(BINARY, () => cli.call(args, { timeoutMs: 15000 }));
18
6
  }
19
7
  export function contributionFailed(call) {
20
- return queryFailed(BINARY, { ...call, data: undefined, stdout: '', error: undefined }, 'complete the contribution request');
21
- }
22
- function prerequisite(code, title, command) {
23
- return new DevkitError(code === 'LOGIN_REQUIRED' ? 'auth' : 'config', code, title, {
24
- nextSteps: [command],
25
- handoff: {
26
- summary: title,
27
- command,
28
- userSteps: [{ id: 'source-code-host', kind: 'manual', title }],
29
- },
30
- });
8
+ return failed(BINARY, call);
31
9
  }
32
10
  //# sourceMappingURL=contribution-call.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contribution-call.js","sourceRoot":"","sources":["../../../../src/adapters/code-host/bitbucket-cli/contribution-call.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAmC,MAAM,aAAa,CAAC;AAOtE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAoB;IACpE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACzB,MAAM,YAAY,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,YAAY,MAAM,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAC/D,MAAM,YAAY,CAChB,cAAc,EACd,qCAAqC,EACrC,mBAAmB,MAAM,EAAE,CAC5B,CAAC;QACJ,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,OAAO,WAAW,CAChB,MAAM,EACN,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAC1D,mCAAmC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe;IAChE,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;QACjF,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,OAAO;YACP,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;SAC/D;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"contribution-call.js","sourceRoot":"","sources":["../../../../src/adapters/code-host/bitbucket-cli/contribution-call.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAGrF,OAAO,EACL,gBAAgB,IAAI,UAAU,EAC9B,kBAAkB,IAAI,MAAM,GAC7B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAmC,MAAM,aAAa,CAAC;AAOtE,MAAM,UAAU,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAoB;IAC9D,OAAO,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}