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 +0,0 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- import { NodeStream } from '@effect/platform-node';
2
- import { Console, Effect, Schema, String } from 'effect';
3
- import { ApiClient } from '../ApiClient.js';
4
- import { MarkdownUnavailable } from '../Commands/Fetch.js';
5
- import { HookProtocolFailed, StdinReadError } from './Errors.js';
6
- import { withSnapshotNote } from './SnapshotNote.js';
7
- /**
8
- * Runner for `expandai hook claude-code`. Reads a Claude Code PreToolUse
9
- * payload from stdin, fetches the requested URL via expand.ai, and writes
10
- * a `hookSpecificOutput` payload that substitutes the markdown for what
11
- * WebFetch would have produced.
12
- *
13
- * Substitution mechanism: `permissionDecision: "deny"` blocks the WebFetch,
14
- * and the page markdown is delivered via `additionalContext` (the documented
15
- * channel for injecting page content). `permissionDecisionReason` carries
16
- * a short label only — the agent SDK has no documented cap on it, but
17
- * `additionalContext` is the semantically correct field for the body.
18
- */
19
- const WEBFETCH_TOOL_NAME = 'WebFetch';
20
- class WebFetchToolInput extends Schema.Class('WebFetchToolInput')({
21
- url: Schema.String,
22
- prompt: Schema.optional(Schema.String),
23
- }) {
24
- }
25
- class PreToolUseHookPayload extends Schema.Class('PreToolUseHookPayload')({
26
- hook_event_name: Schema.Literal('PreToolUse'),
27
- tool_name: Schema.String,
28
- tool_input: WebFetchToolInput,
29
- }) {
30
- }
31
- const decodeHookPayload = Schema.decode(Schema.parseJson(PreToolUseHookPayload));
32
- const encodeHookOutput = Schema.encode(Schema.parseJson(Schema.Unknown));
33
- const readStdin = NodeStream.toString(() => process.stdin, {
34
- onFailure: (error) => new StdinReadError({ error }),
35
- encoding: 'utf8',
36
- });
37
- export class ClaudeHook extends Effect.Service()('@expandai/cli/Hook/Claude', {
38
- dependencies: [ApiClient.Default],
39
- effect: Effect.gen(function* () {
40
- const apiClient = yield* ApiClient;
41
- const runProtocol = Effect.fn('ClaudeHook.runProtocol')(function* () {
42
- const raw = yield* readStdin.pipe(Effect.mapError((error) => new HookProtocolFailed({ error })));
43
- const payload = yield* decodeHookPayload(raw).pipe(Effect.mapError((error) => new HookProtocolFailed({ error })));
44
- // Defensive — settings.json matcher already scopes us to WebFetch.
45
- if (payload.tool_name !== WEBFETCH_TOOL_NAME)
46
- return;
47
- const url = payload.tool_input.url;
48
- yield* Effect.gen(function* () {
49
- // Object mode (`/v1/fetch/json`) over markdown mode so the response carries
50
- // `meta.snapshotId` — the handle the agent uses to search this same capture
51
- // via `fetch_search` instead of fetching the URL again.
52
- const result = yield* apiClient.fetchFetchResult({
53
- params: {},
54
- payload: { url, include: { markdown: true } },
55
- });
56
- if (String.isEmpty(result.markdown)) {
57
- return yield* new MarkdownUnavailable({ url });
58
- }
59
- const output = {
60
- hookSpecificOutput: {
61
- hookEventName: 'PreToolUse',
62
- permissionDecision: 'deny',
63
- permissionDecisionReason: `Fetched by expand.ai instead — the captured page follows, with evidence ids for citing it. Do not retry this URL.`,
64
- additionalContext: withSnapshotNote(result.markdown, result.meta.snapshotId, result.meta.playground),
65
- },
66
- };
67
- yield* Console.log(yield* encodeHookOutput(output));
68
- }).pipe(Effect.mapError((error) => new HookProtocolFailed({ error, url })));
69
- });
70
- return { runProtocol };
71
- }),
72
- }) {
73
- }
74
- //# sourceMappingURL=Claude.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Claude.js","sourceRoot":"","sources":["../../../src/Hook/Claude.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { Schema } from 'effect';
2
- export class StdinReadError extends Schema.TaggedError()('StdinReadError', {
3
- error: Schema.Defect,
4
- }) {
5
- get message() {
6
- return 'Failed to read hook payload from stdin.';
7
- }
8
- }
9
- export class HookProtocolFailed extends Schema.TaggedError()('HookProtocolFailed', {
10
- error: Schema.Defect,
11
- url: Schema.optional(Schema.String),
12
- }) {
13
- get message() {
14
- const inner = this.error instanceof Error ? this.error.message : 'Hook protocol failed.';
15
- return this.url ? `${inner} (url: ${this.url})` : inner;
16
- }
17
- }
18
- //# sourceMappingURL=Errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../src/Hook/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IAC1F,KAAK,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC;IACD,IAAI,OAAO;QACV,OAAO,yCAAyC,CAAA;IACjD,CAAC;CACD;AAED,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE;IACtG,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACnC,CAAC;IACD,IAAI,OAAO;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAA;QACxF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;IACxD,CAAC;CACD"}
@@ -1,50 +0,0 @@
1
- import { NodeStream } from '@effect/platform-node';
2
- import { Console, Effect, Schema, String } from 'effect';
3
- import { ApiClient } from '../ApiClient.js';
4
- import { MarkdownUnavailable } from '../Commands/Fetch.js';
5
- import { HookProtocolFailed, StdinReadError } from './Errors.js';
6
- import { withSnapshotNote } from './SnapshotNote.js';
7
- /**
8
- * Runner for `expandai hook opencode`. Reads `{ url }` from stdin (sent by
9
- * the OpenCode plugin), fetches via expand.ai, and writes `{ markdown }`
10
- * to stdout for the plugin to splice back into webfetch's result.
11
- */
12
- class ProtocolInput extends Schema.Class('OpencodeWebfetchInput')({
13
- url: Schema.String,
14
- }) {
15
- }
16
- const decodeProtocolInput = Schema.decode(Schema.parseJson(ProtocolInput));
17
- const encodeProtocolOutput = Schema.encode(Schema.parseJson(Schema.Unknown));
18
- const readStdin = NodeStream.toString(() => process.stdin, {
19
- onFailure: (error) => new StdinReadError({ error }),
20
- encoding: 'utf8',
21
- });
22
- export class OpencodeHook extends Effect.Service()('@expandai/cli/Hook/Opencode', {
23
- dependencies: [ApiClient.Default],
24
- effect: Effect.gen(function* () {
25
- const apiClient = yield* ApiClient;
26
- const runProtocol = Effect.fn('OpencodeHook.runProtocol')(function* () {
27
- const raw = yield* readStdin.pipe(Effect.mapError((error) => new HookProtocolFailed({ error })));
28
- const payload = yield* decodeProtocolInput(raw).pipe(Effect.mapError((error) => new HookProtocolFailed({ error })));
29
- const url = payload.url;
30
- yield* Effect.gen(function* () {
31
- // Object mode (`/v1/fetch/json`) over markdown mode so the response carries
32
- // `meta.snapshotId` — the handle the agent uses to search this same capture
33
- // via `fetch_search` instead of fetching the URL again. The note rides inside
34
- // `markdown`, so the installed plugin needs no protocol change.
35
- const result = yield* apiClient.fetchFetchResult({
36
- params: {},
37
- payload: { url, include: { markdown: true } },
38
- });
39
- if (String.isEmpty(result.markdown)) {
40
- return yield* new MarkdownUnavailable({ url });
41
- }
42
- const markdown = withSnapshotNote(result.markdown, result.meta.snapshotId, result.meta.playground);
43
- yield* Console.log(yield* encodeProtocolOutput({ markdown }));
44
- }).pipe(Effect.mapError((error) => new HookProtocolFailed({ error, url })));
45
- });
46
- return { runProtocol };
47
- }),
48
- }) {
49
- }
50
- //# sourceMappingURL=Opencode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Opencode.js","sourceRoot":"","sources":["../../../src/Hook/Opencode.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { String } from 'effect';
2
- /**
3
- * Prepends a short note to fetched markdown carrying the snapshot handle, the public
4
- * playground link, and the citation contract. Both the Claude Code and OpenCode hooks
5
- * inject this so the surfaced guidance stays identical.
6
- *
7
- * The citation rules are stated here rather than only in the onboarding guide or
8
- * `SKILL.md`: the guide is read once during setup, and a skill may not be loaded in the
9
- * session that happens to fetch. This note is the only instruction guaranteed to be in
10
- * context at the moment the page arrives, so an answer that cites nothing — or cites the
11
- * bare capture URL, which is not auditable — traces back to what is written here.
12
- */
13
- const FRONT_MATTER_PLAYGROUND = /^playground:\s*"?([^"\n]+)"?\s*$/mu;
14
- /**
15
- * Citation guidance for `expandai fetch` text output consumed by an agent. The plain
16
- * command is a third fetch path alongside the hook and the MCP tools — an agent that
17
- * shells out to it used to receive evidence ids with nothing telling it to cite them,
18
- * and answered uncited. Humans at a TTY do not need this, so callers gate on that.
19
- *
20
- * Returns the markdown unchanged when no playground URL is present, rather than
21
- * emitting an instruction the reader cannot follow.
22
- */
23
- export function withCitationFooter(markdown) {
24
- const playgroundUrl = FRONT_MATTER_PLAYGROUND.exec(markdown)?.[1]?.trim();
25
- if (playgroundUrl === undefined || playgroundUrl.length === 0)
26
- return markdown;
27
- const footer = String.stripMargin(`
28
- |---
29
- |
30
- |> Cite what you take from this page. Evidence ids are stamped next to the text they
31
- |> belong to, written as \`{1199}\`. End your answer with:
32
- |>
33
- |> **Sources**
34
- |> [1] [<page title>](${playgroundUrl}?id=<evidence id>)
35
- |>
36
- |> One marker per sentence, numbered in order. Never invent an evidence id, and never
37
- |> reuse an id from different text. A link without \`?id=\` is not a citation, so if the
38
- |> sentence you want carries no id, quote one that does or say the capture has none —
39
- |> never fall back to linking the original page.`);
40
- return `${markdown.trimEnd()}\n\n${footer}\n`;
41
- }
42
- export function withSnapshotNote(markdown, snapshotId, playgroundUrl) {
43
- const note = String.stripMargin(`
44
- |> Fetched via expand.ai (snapshot \`${snapshotId}\`). Capture: ${playgroundUrl}
45
- |>
46
- |> Cite every claim you take from this page. The body below stamps an evidence id next
47
- |> to the text it belongs to, written as \`{1199}\`. For each sentence you use, take the
48
- |> id nearest that text and end your answer with:
49
- |>
50
- |> **Sources**
51
- |> [1] [<page title>](${playgroundUrl}?id=<evidence id>)
52
- |>
53
- |> Number the markers \`[1]\`, \`[2]\`, … in the order they appear, one per sentence.
54
- |> Never invent an evidence id, and never reuse an id from different text.
55
- |> A bare capture link without \`?id=\` is not a citation — the reader cannot
56
- |> check the sentence against the page. If the sentence you want carries no id, quote
57
- |> one that does, or say the capture has none. Never fall back to the original page URL.
58
- |>
59
- |> To extract specific passages, search the snapshot by handle — call the \`fetch_search\`
60
- |> tool with \`snapshotId: "${snapshotId}"\`, or run \`expandai search ${snapshotId} "<query>"\`.
61
- |> Each snippet returns a \`citationUrl\` that already carries the right \`?id=\`.
62
- |> Do not fetch this URL again.`);
63
- return `${note}\n\n---\n\n${markdown}`;
64
- }
65
- //# sourceMappingURL=SnapshotNote.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SnapshotNote.js","sourceRoot":"","sources":["../../../src/Hook/SnapshotNote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;;;;;GAUG;AACH,MAAM,uBAAuB,GAAG,oCAAoC,CAAA;AAEpE;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAClD,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;IACzE,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;;;;;;;0BAOT,aAAa;;;;;mDAKY,CAAC,CAAA;IACnD,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,IAAI,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,UAAkB,EAAE,aAAqB;IAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;yCACQ,UAAU,iBAAiB,aAAa;;;;;;;0BAOvD,aAAa;;;;;;;;;gCASP,UAAU,iCAAiC,UAAU;;kCAEnD,CAAC,CAAA;IAClC,OAAO,GAAG,IAAI,cAAc,QAAQ,EAAE,CAAA;AACvC,CAAC"}
@@ -1,137 +0,0 @@
1
- import { Command, CommandExecutor } from '@effect/platform';
2
- import { NodeCommandExecutor } from '@effect/platform-node';
3
- import { Config, Effect, Layer, Schema, Stream } from 'effect';
4
- import { CLI_VERSION } from '../Version.js';
5
- import { CLAUDE_PROFILE_VERSION, ClaudeProfile } from './ClaudeProfile.js';
6
- import { HarnessConfigurationError, HarnessInspectionError } from './HarnessAdapter.js';
7
- import { MutationTransaction } from './MutationTransaction.js';
8
- export class IncompatibleClaudeProfileVersionError extends Schema.TaggedError()('IncompatibleClaudeProfileVersionError', {
9
- executingVersion: Schema.String,
10
- requiredVersion: Schema.String,
11
- }) {
12
- get message() {
13
- return `Executing CLI ${this.executingVersion} is incompatible with Claude profile ${this.requiredVersion}`;
14
- }
15
- }
16
- export class ClaudeProfilePolicyBlockedError extends Schema.TaggedError()('ClaudeProfilePolicyBlockedError', {
17
- policyBlock: Schema.String,
18
- }) {
19
- get message() {
20
- return `Claude Code policy blocks profile configuration: ${this.policyBlock}`;
21
- }
22
- }
23
- export class ClaudeAdapterOperationError extends Schema.TaggedError()('ClaudeAdapterOperationError', {
24
- code: Schema.Literal('inspection_failed', 'configuration_failed'),
25
- }) {
26
- get message() {
27
- return this.code === 'inspection_failed'
28
- ? 'Claude Code profile inspection failed'
29
- : 'Claude Code profile configuration failed';
30
- }
31
- }
32
- const PORTABLE_PROBE_TIMEOUT = '5 seconds';
33
- const makeClaudeRuntimeProbe = Effect.gen(function* () {
34
- const commandExecutor = yield* CommandExecutor.CommandExecutor;
35
- const searchPath = yield* Config.string('PATH').pipe(Config.withDefault(''));
36
- const portableCommandAvailable = Effect.scoped(Effect.gen(function* () {
37
- const command = Command.make('expandai', '--version').pipe(
38
- // Version probing must not persist telemetry state or emit a request in
39
- // the child. Keep the remaining environment intact while making PATH
40
- // injectable for fixture verification.
41
- Command.env({ ...process.env, EXPANDAI_NO_TELEMETRY: '1', PATH: searchPath }), Command.stdout('pipe'), Command.stderr('pipe'));
42
- const child = yield* commandExecutor.start(command);
43
- const [stdout, , exitCode] = yield* Effect.all([child.stdout.pipe(Stream.decodeText(), Stream.mkString), child.stderr.pipe(Stream.runDrain), child.exitCode], { concurrency: 'unbounded' });
44
- return exitCode === 0 && stdout.trim() === CLI_VERSION;
45
- })).pipe(
46
- // A shim on PATH that never exits would otherwise hang setup forever. This
47
- // probe only decides a "restart your harness" hint, so a slow answer is
48
- // worth no more than a missing one. `Effect.scoped` above reaps the child.
49
- Effect.timeoutFail({
50
- duration: PORTABLE_PROBE_TIMEOUT,
51
- onTimeout: () => new Error('expandai --version timed out'),
52
- }), Effect.orElseSucceed(() => false));
53
- return { executingVersion: CLI_VERSION, portableCommandAvailable };
54
- });
55
- /** Runtime facts kept separate from persisted harness commands. */
56
- export class ClaudeRuntimeProbe extends Effect.Service()('@expandai/cli/Init/ClaudeRuntimeProbe', {
57
- dependencies: [NodeCommandExecutor.layer],
58
- effect: makeClaudeRuntimeProbe,
59
- }) {
60
- /**
61
- * Not `DefaultWithoutDependencies`: that layer always reports `CLI_VERSION` and
62
- * always runs the real command probe. Tests need to pin an arbitrary executing
63
- * version and a precomputed probe result, which only a fixture layer can supply.
64
- */
65
- static testLayer(options) {
66
- return Layer.succeed(ClaudeRuntimeProbe, ClaudeRuntimeProbe.make({
67
- executingVersion: options.executingVersion,
68
- portableCommandAvailable: Effect.succeed(options.portableCommandAvailable),
69
- }));
70
- }
71
- }
72
- function projectInspection(inspection, portableCommandAvailable, changed) {
73
- const policyBlock = inspection.policyBlocks[0];
74
- const blocked = policyBlock !== undefined;
75
- const reloadRequired = inspection.configured && !portableCommandAvailable;
76
- return {
77
- configured: inspection.configured,
78
- changed,
79
- components: inspection.components,
80
- integrationVersion: inspection.profileVersion,
81
- ...(policyBlock === undefined ? {} : { policyBlock }),
82
- runtimeState: blocked ? 'blocked' : reloadRequired ? 'reload_required' : 'unverified',
83
- nextAction: blocked
84
- ? 'resolve-claude-policy-block'
85
- : reloadRequired
86
- ? 'restart-claude-code-current-path-unavailable'
87
- : inspection.configured
88
- ? 'invoke-native-webfetch'
89
- : 'configure-claude-code',
90
- };
91
- }
92
- const makeClaudeAdapter = Effect.gen(function* () {
93
- const profile = yield* ClaudeProfile;
94
- const transaction = yield* MutationTransaction;
95
- const runtime = yield* ClaudeRuntimeProbe;
96
- const inspect = Effect.fn('ClaudeAdapter.inspect')(function* (scope) {
97
- return yield* Effect.gen(function* () {
98
- const inspection = yield* profile.inspect(scope);
99
- const portableCommandAvailable = yield* runtime.portableCommandAvailable;
100
- return projectInspection(inspection, portableCommandAvailable, false);
101
- }).pipe(Effect.catchAllDefect(() => new ClaudeAdapterOperationError({ code: 'inspection_failed' })), Effect.mapError(() => new HarnessInspectionError({
102
- harness: 'claude-code',
103
- scope,
104
- error: new ClaudeAdapterOperationError({ code: 'inspection_failed' }),
105
- })));
106
- });
107
- const configure = Effect.fn('ClaudeAdapter.configure')(function* (scope) {
108
- return yield* Effect.gen(function* () {
109
- if (runtime.executingVersion !== CLAUDE_PROFILE_VERSION) {
110
- return yield* new IncompatibleClaudeProfileVersionError({
111
- executingVersion: runtime.executingVersion,
112
- requiredVersion: CLAUDE_PROFILE_VERSION,
113
- });
114
- }
115
- const portableCommandAvailable = yield* runtime.portableCommandAvailable;
116
- const plan = yield* profile.plan(scope);
117
- const policyBlock = plan.inspection.policyBlocks[0];
118
- if (policyBlock !== undefined)
119
- return yield* new ClaudeProfilePolicyBlockedError({ policyBlock });
120
- yield* transaction.run(plan.operations);
121
- return projectInspection(plan.resultInspection, portableCommandAvailable, plan.changed);
122
- }).pipe(Effect.catchAllDefect(() => new ClaudeAdapterOperationError({ code: 'configuration_failed' })), Effect.mapError((error) => new HarnessConfigurationError({
123
- harness: 'claude-code',
124
- scope,
125
- error: error instanceof IncompatibleClaudeProfileVersionError || error instanceof ClaudeProfilePolicyBlockedError
126
- ? error
127
- : new ClaudeAdapterOperationError({ code: 'configuration_failed' }),
128
- })));
129
- });
130
- return { harness: 'claude-code', inspect, configure };
131
- });
132
- export class ClaudeAdapter extends Effect.Service()('@expandai/cli/Init/ClaudeAdapter', {
133
- dependencies: [ClaudeProfile.Default, MutationTransaction.Default, ClaudeRuntimeProbe.Default],
134
- effect: makeClaudeAdapter,
135
- }) {
136
- }
137
- //# sourceMappingURL=ClaudeAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClaudeAdapter.js","sourceRoot":"","sources":["../../../src/Init/ClaudeAdapter.ts"],"names":[],"mappings":"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"}