expandai 0.0.4 → 0.0.6

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 (321) hide show
  1. package/README.md +2 -2
  2. package/build/{esm/Install/Opencode → assets/opencode}/expandai-webfetch.js +22 -4
  3. package/build/dts/Mcp/RequestHeaders.d.ts +0 -1
  4. package/build/dts/Mcp/Server.d.ts +1 -2
  5. package/build/dts/index.d.ts +0 -1
  6. package/build/esm/index.js +193 -2
  7. package/build/esm/main.js +691 -200
  8. package/build/skills/expandai/SKILL.md +100 -8
  9. package/package.json +20 -12
  10. package/build/dts/ApiClient.d.ts +0 -165
  11. package/build/dts/ApiClient.d.ts.map +0 -1
  12. package/build/dts/Auth/Domain.d.ts +0 -95
  13. package/build/dts/Auth/Domain.d.ts.map +0 -1
  14. package/build/dts/Auth/ManualAuthorization.d.ts +0 -107
  15. package/build/dts/Auth/ManualAuthorization.d.ts.map +0 -1
  16. package/build/dts/Auth/PendingInit.d.ts +0 -35
  17. package/build/dts/Auth/PendingInit.d.ts.map +0 -1
  18. package/build/dts/Auth/Pkce.d.ts +0 -10
  19. package/build/dts/Auth/Pkce.d.ts.map +0 -1
  20. package/build/dts/Auth/SetupGrantAuthorization.d.ts +0 -34
  21. package/build/dts/Auth/SetupGrantAuthorization.d.ts.map +0 -1
  22. package/build/dts/Authentication.d.ts +0 -24
  23. package/build/dts/Authentication.d.ts.map +0 -1
  24. package/build/dts/BrowserOAuth.d.ts +0 -99
  25. package/build/dts/BrowserOAuth.d.ts.map +0 -1
  26. package/build/dts/CommandPath.d.ts +0 -2
  27. package/build/dts/CommandPath.d.ts.map +0 -1
  28. package/build/dts/Commands/Fetch.d.ts +0 -30
  29. package/build/dts/Commands/Fetch.d.ts.map +0 -1
  30. package/build/dts/Commands/Hook.d.ts +0 -17
  31. package/build/dts/Commands/Hook.d.ts.map +0 -1
  32. package/build/dts/Commands/Init.d.ts +0 -55
  33. package/build/dts/Commands/Init.d.ts.map +0 -1
  34. package/build/dts/Commands/Mcp.d.ts +0 -11
  35. package/build/dts/Commands/Mcp.d.ts.map +0 -1
  36. package/build/dts/Commands/McpRun.d.ts +0 -5
  37. package/build/dts/Commands/McpRun.d.ts.map +0 -1
  38. package/build/dts/Commands/Search.d.ts +0 -21
  39. package/build/dts/Commands/Search.d.ts.map +0 -1
  40. package/build/dts/Commands/Skill.d.ts +0 -12
  41. package/build/dts/Commands/Skill.d.ts.map +0 -1
  42. package/build/dts/Commands/Status.d.ts +0 -27
  43. package/build/dts/Commands/Status.d.ts.map +0 -1
  44. package/build/dts/Commands/Telemetry.d.ts +0 -7
  45. package/build/dts/Commands/Telemetry.d.ts.map +0 -1
  46. package/build/dts/Commands/Uninstall.d.ts +0 -9
  47. package/build/dts/Commands/Uninstall.d.ts.map +0 -1
  48. package/build/dts/Config.d.ts +0 -196
  49. package/build/dts/Config.d.ts.map +0 -1
  50. package/build/dts/Hook/Claude.d.ts +0 -13
  51. package/build/dts/Hook/Claude.d.ts.map +0 -1
  52. package/build/dts/Hook/Errors.d.ts +0 -20
  53. package/build/dts/Hook/Errors.d.ts.map +0 -1
  54. package/build/dts/Hook/Opencode.d.ts +0 -13
  55. package/build/dts/Hook/Opencode.d.ts.map +0 -1
  56. package/build/dts/Hook/SnapshotNote.d.ts +0 -12
  57. package/build/dts/Hook/SnapshotNote.d.ts.map +0 -1
  58. package/build/dts/Init/ClaudeAdapter.d.ts +0 -61
  59. package/build/dts/Init/ClaudeAdapter.d.ts.map +0 -1
  60. package/build/dts/Init/ClaudeProfile.d.ts +0 -77
  61. package/build/dts/Init/ClaudeProfile.d.ts.map +0 -1
  62. package/build/dts/Init/Domain.d.ts +0 -139
  63. package/build/dts/Init/Domain.d.ts.map +0 -1
  64. package/build/dts/Init/HarnessAdapter.d.ts +0 -33
  65. package/build/dts/Init/HarnessAdapter.d.ts.map +0 -1
  66. package/build/dts/Init/HarnessDetector.d.ts +0 -19
  67. package/build/dts/Init/HarnessDetector.d.ts.map +0 -1
  68. package/build/dts/Init/HarnessRegistry.d.ts +0 -50
  69. package/build/dts/Init/HarnessRegistry.d.ts.map +0 -1
  70. package/build/dts/Init/MutationTransaction.d.ts +0 -96
  71. package/build/dts/Init/MutationTransaction.d.ts.map +0 -1
  72. package/build/dts/Init/Service.d.ts +0 -72
  73. package/build/dts/Init/Service.d.ts.map +0 -1
  74. package/build/dts/Init/StandardAdapters.d.ts +0 -42
  75. package/build/dts/Init/StandardAdapters.d.ts.map +0 -1
  76. package/build/dts/Init/Status.d.ts +0 -149
  77. package/build/dts/Init/Status.d.ts.map +0 -1
  78. package/build/dts/Install/Claude/Hook.d.ts +0 -88
  79. package/build/dts/Install/Claude/Hook.d.ts.map +0 -1
  80. package/build/dts/Install/Claude/Mcp.d.ts +0 -48
  81. package/build/dts/Install/Claude/Mcp.d.ts.map +0 -1
  82. package/build/dts/Install/Claude/Skill.d.ts +0 -23
  83. package/build/dts/Install/Claude/Skill.d.ts.map +0 -1
  84. package/build/dts/Install/Codex/Mcp.d.ts +0 -45
  85. package/build/dts/Install/Codex/Mcp.d.ts.map +0 -1
  86. package/build/dts/Install/Codex/Skill.d.ts +0 -22
  87. package/build/dts/Install/Codex/Skill.d.ts.map +0 -1
  88. package/build/dts/Install/Cursor/Mcp.d.ts +0 -45
  89. package/build/dts/Install/Cursor/Mcp.d.ts.map +0 -1
  90. package/build/dts/Install/Cursor/Skill.d.ts +0 -29
  91. package/build/dts/Install/Cursor/Skill.d.ts.map +0 -1
  92. package/build/dts/Install/Domain.d.ts +0 -103
  93. package/build/dts/Install/Domain.d.ts.map +0 -1
  94. package/build/dts/Install/Hook.d.ts +0 -30
  95. package/build/dts/Install/Hook.d.ts.map +0 -1
  96. package/build/dts/Install/Mcp.d.ts +0 -28
  97. package/build/dts/Install/Mcp.d.ts.map +0 -1
  98. package/build/dts/Install/Opencode/Hook.d.ts +0 -24
  99. package/build/dts/Install/Opencode/Hook.d.ts.map +0 -1
  100. package/build/dts/Install/Opencode/Mcp.d.ts +0 -47
  101. package/build/dts/Install/Opencode/Mcp.d.ts.map +0 -1
  102. package/build/dts/Install/Opencode/Skill.d.ts +0 -26
  103. package/build/dts/Install/Opencode/Skill.d.ts.map +0 -1
  104. package/build/dts/Install/Skill.d.ts +0 -32
  105. package/build/dts/Install/Skill.d.ts.map +0 -1
  106. package/build/dts/Install/Uninstall.d.ts +0 -32
  107. package/build/dts/Install/Uninstall.d.ts.map +0 -1
  108. package/build/dts/MarkdownAnsi.d.ts +0 -29
  109. package/build/dts/MarkdownAnsi.d.ts.map +0 -1
  110. package/build/dts/Mcp/ExpandDocs.d.ts +0 -19
  111. package/build/dts/Mcp/ExpandDocs.d.ts.map +0 -1
  112. package/build/dts/Mcp/RequestHeaders.d.ts.map +0 -1
  113. package/build/dts/Mcp/Server.d.ts.map +0 -1
  114. package/build/dts/Mcp/Toolkit.d.ts +0 -3
  115. package/build/dts/Mcp/Toolkit.d.ts.map +0 -1
  116. package/build/dts/Mcp/tools/Citations.d.ts +0 -266
  117. package/build/dts/Mcp/tools/Citations.d.ts.map +0 -1
  118. package/build/dts/Mcp/tools/Fetch.d.ts +0 -168
  119. package/build/dts/Mcp/tools/Fetch.d.ts.map +0 -1
  120. package/build/dts/SecureFile.d.ts +0 -23
  121. package/build/dts/SecureFile.d.ts.map +0 -1
  122. package/build/dts/Snippets.d.ts +0 -18
  123. package/build/dts/Snippets.d.ts.map +0 -1
  124. package/build/dts/Telemetry.d.ts +0 -30
  125. package/build/dts/Telemetry.d.ts.map +0 -1
  126. package/build/dts/Version.d.ts +0 -2
  127. package/build/dts/Version.d.ts.map +0 -1
  128. package/build/dts/Xdg.d.ts +0 -11
  129. package/build/dts/Xdg.d.ts.map +0 -1
  130. package/build/dts/index.d.ts.map +0 -1
  131. package/build/dts/main.d.ts +0 -3
  132. package/build/dts/main.d.ts.map +0 -1
  133. package/build/esm/ApiClient.js +0 -305
  134. package/build/esm/ApiClient.js.map +0 -1
  135. package/build/esm/Auth/Domain.js +0 -56
  136. package/build/esm/Auth/Domain.js.map +0 -1
  137. package/build/esm/Auth/ManualAuthorization.js +0 -253
  138. package/build/esm/Auth/ManualAuthorization.js.map +0 -1
  139. package/build/esm/Auth/PendingInit.js +0 -267
  140. package/build/esm/Auth/PendingInit.js.map +0 -1
  141. package/build/esm/Auth/Pkce.js +0 -23
  142. package/build/esm/Auth/Pkce.js.map +0 -1
  143. package/build/esm/Auth/SetupGrantAuthorization.js +0 -91
  144. package/build/esm/Auth/SetupGrantAuthorization.js.map +0 -1
  145. package/build/esm/Authentication.js +0 -143
  146. package/build/esm/Authentication.js.map +0 -1
  147. package/build/esm/BrowserOAuth.js +0 -251
  148. package/build/esm/BrowserOAuth.js.map +0 -1
  149. package/build/esm/CommandPath.js +0 -31
  150. package/build/esm/CommandPath.js.map +0 -1
  151. package/build/esm/Commands/Fetch.js +0 -119
  152. package/build/esm/Commands/Fetch.js.map +0 -1
  153. package/build/esm/Commands/Hook.js +0 -20
  154. package/build/esm/Commands/Hook.js.map +0 -1
  155. package/build/esm/Commands/Init.js +0 -371
  156. package/build/esm/Commands/Init.js.map +0 -1
  157. package/build/esm/Commands/Mcp.js +0 -19
  158. package/build/esm/Commands/Mcp.js.map +0 -1
  159. package/build/esm/Commands/McpRun.js +0 -15
  160. package/build/esm/Commands/McpRun.js.map +0 -1
  161. package/build/esm/Commands/Search.js +0 -46
  162. package/build/esm/Commands/Search.js.map +0 -1
  163. package/build/esm/Commands/Skill.js +0 -17
  164. package/build/esm/Commands/Skill.js.map +0 -1
  165. package/build/esm/Commands/Status.js +0 -186
  166. package/build/esm/Commands/Status.js.map +0 -1
  167. package/build/esm/Commands/Telemetry.js +0 -23
  168. package/build/esm/Commands/Telemetry.js.map +0 -1
  169. package/build/esm/Commands/Uninstall.js +0 -28
  170. package/build/esm/Commands/Uninstall.js.map +0 -1
  171. package/build/esm/Config.js +0 -619
  172. package/build/esm/Config.js.map +0 -1
  173. package/build/esm/Hook/Claude.js +0 -74
  174. package/build/esm/Hook/Claude.js.map +0 -1
  175. package/build/esm/Hook/Errors.js +0 -18
  176. package/build/esm/Hook/Errors.js.map +0 -1
  177. package/build/esm/Hook/Opencode.js +0 -50
  178. package/build/esm/Hook/Opencode.js.map +0 -1
  179. package/build/esm/Hook/SnapshotNote.js +0 -65
  180. package/build/esm/Hook/SnapshotNote.js.map +0 -1
  181. package/build/esm/Init/ClaudeAdapter.js +0 -137
  182. package/build/esm/Init/ClaudeAdapter.js.map +0 -1
  183. package/build/esm/Init/ClaudeProfile.js +0 -344
  184. package/build/esm/Init/ClaudeProfile.js.map +0 -1
  185. package/build/esm/Init/Domain.js +0 -118
  186. package/build/esm/Init/Domain.js.map +0 -1
  187. package/build/esm/Init/HarnessAdapter.js +0 -21
  188. package/build/esm/Init/HarnessAdapter.js.map +0 -1
  189. package/build/esm/Init/HarnessDetector.js +0 -65
  190. package/build/esm/Init/HarnessDetector.js.map +0 -1
  191. package/build/esm/Init/HarnessRegistry.js +0 -58
  192. package/build/esm/Init/HarnessRegistry.js.map +0 -1
  193. package/build/esm/Init/MutationTransaction.js +0 -494
  194. package/build/esm/Init/MutationTransaction.js.map +0 -1
  195. package/build/esm/Init/Service.js +0 -319
  196. package/build/esm/Init/Service.js.map +0 -1
  197. package/build/esm/Init/StandardAdapters.js +0 -116
  198. package/build/esm/Init/StandardAdapters.js.map +0 -1
  199. package/build/esm/Init/Status.js +0 -215
  200. package/build/esm/Init/Status.js.map +0 -1
  201. package/build/esm/Install/Claude/Hook.js +0 -77
  202. package/build/esm/Install/Claude/Hook.js.map +0 -1
  203. package/build/esm/Install/Claude/Mcp.js +0 -101
  204. package/build/esm/Install/Claude/Mcp.js.map +0 -1
  205. package/build/esm/Install/Claude/Skill.js +0 -56
  206. package/build/esm/Install/Claude/Skill.js.map +0 -1
  207. package/build/esm/Install/Codex/Mcp.js +0 -97
  208. package/build/esm/Install/Codex/Mcp.js.map +0 -1
  209. package/build/esm/Install/Codex/Skill.js +0 -33
  210. package/build/esm/Install/Codex/Skill.js.map +0 -1
  211. package/build/esm/Install/Cursor/Mcp.js +0 -74
  212. package/build/esm/Install/Cursor/Mcp.js.map +0 -1
  213. package/build/esm/Install/Cursor/Skill.js +0 -40
  214. package/build/esm/Install/Cursor/Skill.js.map +0 -1
  215. package/build/esm/Install/Domain.js +0 -162
  216. package/build/esm/Install/Domain.js.map +0 -1
  217. package/build/esm/Install/Hook.js +0 -38
  218. package/build/esm/Install/Hook.js.map +0 -1
  219. package/build/esm/Install/Mcp.js +0 -40
  220. package/build/esm/Install/Mcp.js.map +0 -1
  221. package/build/esm/Install/Opencode/Hook.js +0 -44
  222. package/build/esm/Install/Opencode/Hook.js.map +0 -1
  223. package/build/esm/Install/Opencode/Mcp.js +0 -76
  224. package/build/esm/Install/Opencode/Mcp.js.map +0 -1
  225. package/build/esm/Install/Opencode/Skill.js +0 -37
  226. package/build/esm/Install/Opencode/Skill.js.map +0 -1
  227. package/build/esm/Install/Skill.js +0 -41
  228. package/build/esm/Install/Skill.js.map +0 -1
  229. package/build/esm/Install/Uninstall.js +0 -49
  230. package/build/esm/Install/Uninstall.js.map +0 -1
  231. package/build/esm/MarkdownAnsi.js +0 -142
  232. package/build/esm/MarkdownAnsi.js.map +0 -1
  233. package/build/esm/Mcp/ExpandDocs.js +0 -56
  234. package/build/esm/Mcp/ExpandDocs.js.map +0 -1
  235. package/build/esm/Mcp/RequestHeaders.js +0 -13
  236. package/build/esm/Mcp/RequestHeaders.js.map +0 -1
  237. package/build/esm/Mcp/Server.js +0 -12
  238. package/build/esm/Mcp/Server.js.map +0 -1
  239. package/build/esm/Mcp/Toolkit.js +0 -16
  240. package/build/esm/Mcp/Toolkit.js.map +0 -1
  241. package/build/esm/Mcp/tools/Citations.js +0 -193
  242. package/build/esm/Mcp/tools/Citations.js.map +0 -1
  243. package/build/esm/Mcp/tools/Fetch.js +0 -165
  244. package/build/esm/Mcp/tools/Fetch.js.map +0 -1
  245. package/build/esm/SecureFile.js +0 -36
  246. package/build/esm/SecureFile.js.map +0 -1
  247. package/build/esm/Snippets.js +0 -29
  248. package/build/esm/Snippets.js.map +0 -1
  249. package/build/esm/Telemetry.js +0 -157
  250. package/build/esm/Telemetry.js.map +0 -1
  251. package/build/esm/Version.js +0 -4
  252. package/build/esm/Version.js.map +0 -1
  253. package/build/esm/Xdg.js +0 -15
  254. package/build/esm/Xdg.js.map +0 -1
  255. package/build/esm/index.js.map +0 -1
  256. package/build/esm/main.js.map +0 -1
  257. package/src/ApiClient.ts +0 -450
  258. package/src/Auth/Domain.ts +0 -63
  259. package/src/Auth/ManualAuthorization.ts +0 -296
  260. package/src/Auth/PendingInit.ts +0 -338
  261. package/src/Auth/Pkce.ts +0 -26
  262. package/src/Auth/SetupGrantAuthorization.ts +0 -116
  263. package/src/Authentication.ts +0 -202
  264. package/src/BrowserOAuth.ts +0 -359
  265. package/src/CommandPath.ts +0 -30
  266. package/src/Commands/Fetch.ts +0 -188
  267. package/src/Commands/Hook.ts +0 -48
  268. package/src/Commands/Init.ts +0 -489
  269. package/src/Commands/Mcp.ts +0 -30
  270. package/src/Commands/McpRun.ts +0 -25
  271. package/src/Commands/Search.ts +0 -97
  272. package/src/Commands/Skill.ts +0 -30
  273. package/src/Commands/Status.ts +0 -228
  274. package/src/Commands/Telemetry.ts +0 -42
  275. package/src/Commands/Uninstall.ts +0 -38
  276. package/src/Config.ts +0 -840
  277. package/src/Hook/Claude.ts +0 -81
  278. package/src/Hook/Errors.ts +0 -19
  279. package/src/Hook/Opencode.ts +0 -58
  280. package/src/Hook/SnapshotNote.ts +0 -66
  281. package/src/Init/ClaudeAdapter.ts +0 -191
  282. package/src/Init/ClaudeProfile.ts +0 -453
  283. package/src/Init/Domain.ts +0 -153
  284. package/src/Init/HarnessAdapter.ts +0 -35
  285. package/src/Init/HarnessDetector.ts +0 -77
  286. package/src/Init/HarnessRegistry.ts +0 -87
  287. package/src/Init/MutationTransaction.ts +0 -747
  288. package/src/Init/Service.ts +0 -385
  289. package/src/Init/StandardAdapters.ts +0 -141
  290. package/src/Init/Status.ts +0 -253
  291. package/src/Install/Claude/Hook.ts +0 -123
  292. package/src/Install/Claude/Mcp.ts +0 -129
  293. package/src/Install/Claude/Skill.ts +0 -77
  294. package/src/Install/Codex/Mcp.ts +0 -114
  295. package/src/Install/Codex/Skill.ts +0 -44
  296. package/src/Install/Cursor/Mcp.ts +0 -85
  297. package/src/Install/Cursor/Skill.ts +0 -51
  298. package/src/Install/Domain.ts +0 -221
  299. package/src/Install/Hook.ts +0 -50
  300. package/src/Install/Mcp.ts +0 -71
  301. package/src/Install/Opencode/Hook.ts +0 -55
  302. package/src/Install/Opencode/Mcp.ts +0 -87
  303. package/src/Install/Opencode/Skill.ts +0 -48
  304. package/src/Install/Opencode/expandai-webfetch.d.ts +0 -23
  305. package/src/Install/Opencode/expandai-webfetch.js +0 -56
  306. package/src/Install/Skill.ts +0 -57
  307. package/src/Install/Uninstall.ts +0 -82
  308. package/src/MarkdownAnsi.ts +0 -162
  309. package/src/Mcp/ExpandDocs.ts +0 -62
  310. package/src/Mcp/RequestHeaders.ts +0 -16
  311. package/src/Mcp/Server.ts +0 -15
  312. package/src/Mcp/Toolkit.ts +0 -21
  313. package/src/Mcp/tools/Citations.ts +0 -219
  314. package/src/Mcp/tools/Fetch.ts +0 -203
  315. package/src/SecureFile.ts +0 -70
  316. package/src/Snippets.ts +0 -39
  317. package/src/Telemetry.ts +0 -186
  318. package/src/Version.ts +0 -3
  319. package/src/Xdg.ts +0 -18
  320. package/src/index.ts +0 -1
  321. package/src/main.ts +0 -305
@@ -1,186 +0,0 @@
1
- import { Command, Options, Prompt } from '@effect/cli';
2
- import { Terminal } from '@effect/platform';
3
- import { Console, Effect, Either, Logger, LogLevel, Option, Schema } from 'effect';
4
- import { InitErrorEnvelope, InitHarness, InitScope } from '../Init/Domain.js';
5
- import { StatusRequest, StatusResult, StatusService, StatusServiceError } from '../Init/Status.js';
6
- import { resolveOnboardingExecutionMode } from './Init.js';
7
- const harness = Options.text('harness').pipe(Options.optional, Options.withDescription('Agent harness to inspect'));
8
- const scope = Options.text('scope').pipe(Options.optional, Options.withDescription('Configuration scope'));
9
- const json = Options.boolean('json').pipe(Options.withDescription('Emit one machine-readable JSON result'));
10
- const config = { harness, scope, json };
11
- const ErrorJson = Schema.parseJson(InitErrorEnvelope);
12
- const StatusResultJson = Schema.parseJson(StatusResult);
13
- const INVALID_ARGUMENTS_MESSAGE = 'Agent status requires --harness claude-code|cursor|opencode|codex, --scope project|global, and --json.';
14
- function errorJson(code, message, recoverable) {
15
- return Schema.encodeSync(ErrorJson)(new InitErrorEnvelope({ schemaVersion: 1, status: 'error', code, message, recoverable }));
16
- }
17
- function invalidArgumentsJson() {
18
- return errorJson('invalid_arguments', INVALID_ARGUMENTS_MESSAGE, true);
19
- }
20
- function emitError(code, message, recoverable, exitCode) {
21
- return Console.error(errorJson(code, message, recoverable)).pipe(Effect.zipRight(Effect.sync(() => void (process.exitCode = exitCode))));
22
- }
23
- /** Selects the status surface using the same machine-safety precedence as init. */
24
- export function resolveStatusExecutionMode(input) {
25
- return resolveOnboardingExecutionMode(input, 'status');
26
- }
27
- function parseMachineArguments(args) {
28
- function parse(index, parsed) {
29
- if (index >= args.length)
30
- return parsed;
31
- const token = args[index];
32
- if (token === '--json' && !parsed.json)
33
- return parse(index + 1, { ...parsed, json: true });
34
- if (token !== '--harness' && token !== '--scope')
35
- return undefined;
36
- const value = args[index + 1];
37
- if (value === undefined || value.startsWith('-'))
38
- return undefined;
39
- if (token === '--harness' && Option.isNone(parsed.harness)) {
40
- return parse(index + 2, { ...parsed, harness: Option.some(value) });
41
- }
42
- if (token === '--scope' && Option.isNone(parsed.scope)) {
43
- return parse(index + 2, { ...parsed, scope: Option.some(value) });
44
- }
45
- return undefined;
46
- }
47
- return parse(0, { harness: Option.none(), json: false, scope: Option.none() });
48
- }
49
- /** Returns safe JSON before Effect CLI can render parser help or acquire services. */
50
- export function preflightAgentStatusArgv(argv) {
51
- if (argv[2] !== 'status')
52
- return undefined;
53
- const args = argv.slice(3);
54
- if (args.length === 1 && (args[0] === '--help' || args[0] === '-h'))
55
- return undefined;
56
- const parsed = parseMachineArguments(args);
57
- if (parsed === undefined || !parsed.json)
58
- return invalidArgumentsJson();
59
- if (Option.isNone(Option.flatMap(parsed.harness, (value) => Schema.decodeUnknownOption(InitHarness)(value)))) {
60
- return invalidArgumentsJson();
61
- }
62
- if (!Option.contains(parsed.scope, 'project') && !Option.contains(parsed.scope, 'global')) {
63
- return invalidArgumentsJson();
64
- }
65
- return undefined;
66
- }
67
- const HARNESS_LABELS = {
68
- 'claude-code': 'Claude Code',
69
- cursor: 'Cursor',
70
- codex: 'Codex',
71
- opencode: 'OpenCode',
72
- };
73
- /** Only these install a web-fetch hook; the line is meaningless for the rest. */
74
- const HOOK_HARNESSES = ['claude-code', 'opencode'];
75
- function renderHumanStatus(result) {
76
- const pending = result.pendingAuthorization.count === 1 ? 'approval pending' : 'none';
77
- const installation = result.installation.configured ? 'configured' : 'partial or not configured';
78
- const configured = (present) => (present ? 'configured' : 'not configured');
79
- // `result.harness` was never read: every harness printed as "Claude Code", and
80
- // a correctly configured Cursor machine also reported a missing WebFetch hook
81
- // it never installs. The guide sends users here to confirm setup, so this was
82
- // the last thing they saw.
83
- return [
84
- 'Expand status',
85
- `Auth: ${result.auth.state}`,
86
- `Pending authorization: ${pending}`,
87
- `${HARNESS_LABELS[result.harness]}: ${installation}`,
88
- ...(HOOK_HARNESSES.includes(result.harness)
89
- ? [`WebFetch hook: ${configured(result.installation.components.webfetchHook)}`]
90
- : []),
91
- `Runtime skill: ${configured(result.installation.components.runtimeSkill)}`,
92
- `MCP: ${configured(result.installation.components.mcp)}`,
93
- `Runtime: ${result.installation.runtimeState}`,
94
- ].join('\n');
95
- }
96
- const runStatusService = Effect.fnUntraced(function* (request, jsonOutput) {
97
- const service = yield* StatusService;
98
- // Log suppression belongs here, not in the service, and only for machine
99
- // output: `--json` writes its result *and* its structured error envelope to
100
- // stderr, so a warning interleaved there breaks the one-object contract an
101
- // agent parses. Human status keeps its diagnostics — it is the command
102
- // someone runs when something is already wrong.
103
- const result = yield* Effect.either(jsonOutput ? service.run(request).pipe(Logger.withMinimumLogLevel(LogLevel.None)) : service.run(request));
104
- if (Either.isLeft(result)) {
105
- const error = result.left;
106
- if (error instanceof StatusServiceError) {
107
- yield* emitError(error.code, error.message, error.recoverable, 1);
108
- return;
109
- }
110
- yield* emitError('status_failed', 'Expand status could not be inspected safely.', true, 1);
111
- return;
112
- }
113
- if (!jsonOutput) {
114
- yield* Console.log(renderHumanStatus(result.right));
115
- return;
116
- }
117
- const encoded = yield* Schema.encode(StatusResultJson)(result.right).pipe(Effect.catchAll(() => emitError('invalid_status_result', 'Expand status returned an invalid result.', false, 1).pipe(Effect.as(undefined))));
118
- if (typeof encoded === 'string')
119
- yield* Console.log(encoded);
120
- });
121
- const runMachineStatus = Effect.fnUntraced(function* ({ harness, json, scope }) {
122
- if (!json ||
123
- Option.isNone(Option.flatMap(harness, (value) => Schema.decodeUnknownOption(InitHarness)(value))) ||
124
- (!Option.contains(scope, 'project') && !Option.contains(scope, 'global'))) {
125
- yield* emitError('invalid_arguments', INVALID_ARGUMENTS_MESSAGE, true, 2);
126
- return;
127
- }
128
- const request = yield* Schema.decodeUnknown(StatusRequest)({
129
- harness: Option.getOrUndefined(harness),
130
- scope: Option.getOrUndefined(scope),
131
- }).pipe(Effect.catchAll(() => emitError('invalid_arguments', INVALID_ARGUMENTS_MESSAGE, true, 2).pipe(Effect.as(undefined))));
132
- if (request !== undefined)
133
- yield* runStatusService(request, true);
134
- });
135
- export class StatusTerminalInteraction extends Effect.Service()('@expandai/cli/Commands/StatusTerminalInteraction', {
136
- effect: Effect.gen(function* () {
137
- const terminal = yield* Terminal.Terminal;
138
- const chooseHarness = Effect.fnUntraced(function* () {
139
- return yield* Prompt.select({
140
- message: 'Which agent harness should Expand inspect?',
141
- // init configures all four, so inspection must cover all four.
142
- choices: [
143
- { title: 'Claude Code', value: 'claude-code' },
144
- { title: 'Cursor', value: 'cursor' },
145
- { title: 'opencode', value: 'opencode' },
146
- { title: 'Codex', value: 'codex' },
147
- ],
148
- }).pipe(Effect.provideService(Terminal.Terminal, terminal));
149
- });
150
- const chooseScope = Effect.fnUntraced(function* () {
151
- return yield* Prompt.select({
152
- message: 'Which configuration scope should Expand inspect?',
153
- choices: [
154
- { title: 'This project', value: 'project' },
155
- { title: 'All projects for this user', value: 'global' },
156
- ],
157
- }).pipe(Effect.provideService(Terminal.Terminal, terminal));
158
- });
159
- return { chooseHarness, chooseScope };
160
- }),
161
- }) {
162
- }
163
- export const runHumanStatus = Effect.fnUntraced(function* (options) {
164
- if (options.json) {
165
- yield* runMachineStatus(options);
166
- return;
167
- }
168
- const interaction = yield* StatusTerminalInteraction;
169
- const harnessInput = Option.isSome(options.harness) ? options.harness.value : yield* interaction.chooseHarness();
170
- const scopeInput = Option.isSome(options.scope) ? options.scope.value : yield* interaction.chooseScope();
171
- const decodedHarness = Schema.decodeUnknownOption(InitHarness)(harnessInput);
172
- const decodedScope = Schema.decodeUnknownOption(InitScope)(scopeInput);
173
- if (Option.isNone(decodedHarness) || Option.isNone(decodedScope)) {
174
- yield* emitError('invalid_arguments', INVALID_ARGUMENTS_MESSAGE, true, 2);
175
- return;
176
- }
177
- const request = new StatusRequest({
178
- harness: decodedHarness.value,
179
- scope: decodedScope.value,
180
- });
181
- yield* runStatusService(request, false);
182
- });
183
- const description = 'Inspect redacted local Expand onboarding status';
184
- export const HumanStatusCommand = Command.make('status', config).pipe(Command.withDescription(description), Command.withHandler(runHumanStatus));
185
- export const AgentStatusCommand = Command.make('status', config).pipe(Command.withDescription(description), Command.withHandler(runMachineStatus));
186
- //# sourceMappingURL=Status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../src/Commands/Status.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Console, Effect } from 'effect';
3
- import { ConfigManager } from '../Config.js';
4
- import { Telemetry } from '../Telemetry.js';
5
- const setEnabled = Effect.fnUntraced(function* (enabled) {
6
- const configManager = yield* ConfigManager;
7
- const { config } = yield* configManager.readConfigFile();
8
- // updateConfig fails with ConfigParseError on an undecodable file — surfaced
9
- // to the user rather than overwriting whatever the file held.
10
- yield* configManager.updateConfig({ telemetry: { ...config.telemetry, enabled } });
11
- yield* Console.log(`Telemetry ${enabled ? 'enabled' : 'disabled'}.`);
12
- });
13
- const showStatus = Effect.fnUntraced(function* () {
14
- const telemetry = yield* Telemetry;
15
- yield* Console.log(telemetry.enabled
16
- ? 'Telemetry is enabled. Disable with `expandai telemetry disable` or EXPANDAI_NO_TELEMETRY=1.'
17
- : 'Telemetry is disabled.');
18
- });
19
- const StatusCommand = Command.make('status').pipe(Command.withDescription('Show whether anonymous usage telemetry is enabled'), Command.withHandler(() => showStatus()));
20
- const EnableCommand = Command.make('enable').pipe(Command.withDescription('Enable anonymous usage telemetry'), Command.withHandler(() => setEnabled(true)));
21
- const DisableCommand = Command.make('disable').pipe(Command.withDescription('Disable anonymous usage telemetry'), Command.withHandler(() => setEnabled(false)));
22
- export const TelemetryCommand = Command.make('telemetry').pipe(Command.withDescription('Manage anonymous usage telemetry'), Command.withSubcommands([StatusCommand, EnableCommand, DisableCommand]));
23
- //# sourceMappingURL=Telemetry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Telemetry.js","sourceRoot":"","sources":["../../../src/Commands/Telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAgB;IAC/D,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,CAAA;IACxD,6EAA6E;IAC7E,8DAA8D;IAC9D,KAAK,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAClF,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAA;AACrE,CAAC,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAClC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CACjB,SAAS,CAAC,OAAO;QAChB,CAAC,CAAC,6FAA6F;QAC/F,CAAC,CAAC,wBAAwB,CAC3B,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAChD,OAAO,CAAC,eAAe,CAAC,mDAAmD,CAAC,EAC5E,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CACvC,CAAA;AAED,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAChD,OAAO,CAAC,eAAe,CAAC,kCAAkC,CAAC,EAC3D,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAC3C,CAAA;AAED,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAClD,OAAO,CAAC,eAAe,CAAC,mCAAmC,CAAC,EAC5D,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAC5C,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAC7D,OAAO,CAAC,eAAe,CAAC,kCAAkC,CAAC,EAC3D,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CACvE,CAAA"}
@@ -1,28 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { Uninstall } from '../Install/Uninstall.js';
4
- const targetArg = Args.choice([
5
- ['all', 'all'],
6
- ['hook', 'hook'],
7
- ['skill', 'skill'],
8
- ['mcp', 'mcp'],
9
- ]).pipe(Args.optional);
10
- const hostArg = Args.choice([
11
- ['claude-code', 'claude-code'],
12
- ['cursor', 'cursor'],
13
- ['opencode', 'opencode'],
14
- ['codex', 'codex'],
15
- ]).pipe(Args.optional);
16
- const scopeArg = Args.choice([
17
- ['global', 'global'],
18
- ['project', 'project'],
19
- ]).pipe(Args.optional);
20
- export const UninstallCommand = Command.make('uninstall', { target: targetArg, host: hostArg, scope: scopeArg }).pipe(Command.withDescription('Remove expandai hooks, skills, and MCP server entries. Defaults to `all` across every host and scope when target/host/scope are omitted.'), Command.withHandler(Effect.fnUntraced(function* ({ target, host, scope }) {
21
- const uninstall = yield* Uninstall;
22
- yield* uninstall.uninstall({
23
- target: Option.getOrUndefined(target),
24
- host: Option.getOrUndefined(host),
25
- scope: Option.getOrUndefined(scope),
26
- });
27
- })));
28
- //# sourceMappingURL=Uninstall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Uninstall.js","sourceRoot":"","sources":["../../../src/Commands/Uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC,KAAK,EAAE,KAAc,CAAC;IACvB,CAAC,MAAM,EAAE,MAAe,CAAC;IACzB,CAAC,OAAO,EAAE,OAAgB,CAAC;IAC3B,CAAC,KAAK,EAAE,KAAc,CAAC;CACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,CAAC,aAAa,EAAE,aAAsB,CAAC;IACvC,CAAC,QAAQ,EAAE,QAAiB,CAAC;IAC7B,CAAC,UAAU,EAAE,UAAmB,CAAC;IACjC,CAAC,OAAO,EAAE,OAAgB,CAAC;CAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC,QAAQ,EAAE,QAAiB,CAAC;IAC7B,CAAC,SAAS,EAAE,SAAkB,CAAC;CAC/B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAEtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CACpH,OAAO,CAAC,eAAe,CACtB,0IAA0I,CAC1I,EACD,OAAO,CAAC,WAAW,CAClB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAClC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;KACnC,CAAC,CAAA;AACH,CAAC,CAAC,CACF,CACD,CAAA"}