@ixo/openhands-sdk 0.7.0 → 0.8.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 (322) hide show
  1. package/README.md +4 -6
  2. package/dist/cjs/chain/allowance.d.ts +6 -2
  3. package/dist/cjs/chain/allowance.d.ts.map +1 -1
  4. package/dist/cjs/chain/allowance.js +47 -19
  5. package/dist/cjs/chain/allowance.js.map +1 -1
  6. package/dist/cjs/chain/ask.d.ts.map +1 -1
  7. package/dist/cjs/chain/ask.js +2 -1
  8. package/dist/cjs/chain/ask.js.map +1 -1
  9. package/dist/cjs/chain/assist.d.ts +52 -0
  10. package/dist/cjs/chain/assist.d.ts.map +1 -0
  11. package/dist/cjs/chain/assist.js +99 -0
  12. package/dist/cjs/chain/assist.js.map +1 -0
  13. package/dist/cjs/chain/campaignMint.d.ts +92 -0
  14. package/dist/cjs/chain/campaignMint.d.ts.map +1 -0
  15. package/dist/cjs/chain/campaignMint.js +136 -0
  16. package/dist/cjs/chain/campaignMint.js.map +1 -0
  17. package/dist/cjs/chain/draftMessages.d.ts +12 -0
  18. package/dist/cjs/chain/draftMessages.d.ts.map +1 -0
  19. package/dist/cjs/chain/draftMessages.js +85 -0
  20. package/dist/cjs/chain/draftMessages.js.map +1 -0
  21. package/dist/cjs/chain/guest.d.ts +10 -0
  22. package/dist/cjs/chain/guest.d.ts.map +1 -1
  23. package/dist/cjs/chain/guest.js +3 -2
  24. package/dist/cjs/chain/guest.js.map +1 -1
  25. package/dist/cjs/chain/inviteMessages.d.ts +17 -3
  26. package/dist/cjs/chain/inviteMessages.d.ts.map +1 -1
  27. package/dist/cjs/chain/inviteMessages.js +22 -2
  28. package/dist/cjs/chain/inviteMessages.js.map +1 -1
  29. package/dist/cjs/chain/lane.d.ts +16 -0
  30. package/dist/cjs/chain/lane.d.ts.map +1 -1
  31. package/dist/cjs/chain/lane.js +25 -1
  32. package/dist/cjs/chain/lane.js.map +1 -1
  33. package/dist/cjs/chain/personReview.d.ts.map +1 -1
  34. package/dist/cjs/chain/personReview.js +18 -11
  35. package/dist/cjs/chain/personReview.js.map +1 -1
  36. package/dist/cjs/chain/reviewBilling.d.ts.map +1 -1
  37. package/dist/cjs/chain/reviewBilling.js +1 -1
  38. package/dist/cjs/chain/reviewBilling.js.map +1 -1
  39. package/dist/cjs/chain/session.d.ts +1 -1
  40. package/dist/cjs/chain/session.d.ts.map +1 -1
  41. package/dist/cjs/chain/session.js +7 -14
  42. package/dist/cjs/chain/session.js.map +1 -1
  43. package/dist/cjs/chain/sessionEvents.d.ts +4 -0
  44. package/dist/cjs/chain/sessionEvents.d.ts.map +1 -0
  45. package/dist/cjs/chain/sessionEvents.js +15 -0
  46. package/dist/cjs/chain/sessionEvents.js.map +1 -0
  47. package/dist/cjs/chain/takeBack.d.ts +2 -0
  48. package/dist/cjs/chain/takeBack.d.ts.map +1 -1
  49. package/dist/cjs/chain/takeBack.js +45 -8
  50. package/dist/cjs/chain/takeBack.js.map +1 -1
  51. package/dist/cjs/chain/why.d.ts +6 -2
  52. package/dist/cjs/chain/why.d.ts.map +1 -1
  53. package/dist/cjs/chain/why.js +11 -2
  54. package/dist/cjs/chain/why.js.map +1 -1
  55. package/dist/cjs/chain.d.ts +1 -0
  56. package/dist/cjs/chain.d.ts.map +1 -1
  57. package/dist/cjs/chain.js +3 -1
  58. package/dist/cjs/chain.js.map +1 -1
  59. package/dist/cjs/data/actionDraft.d.ts +304 -0
  60. package/dist/cjs/data/actionDraft.d.ts.map +1 -0
  61. package/dist/cjs/data/actionDraft.js +470 -0
  62. package/dist/cjs/data/actionDraft.js.map +1 -0
  63. package/dist/cjs/data/actionDraftWords.d.ts +37 -0
  64. package/dist/cjs/data/actionDraftWords.d.ts.map +1 -0
  65. package/dist/cjs/data/actionDraftWords.js +55 -0
  66. package/dist/cjs/data/actionDraftWords.js.map +1 -0
  67. package/dist/cjs/data/agent.d.ts.map +1 -1
  68. package/dist/cjs/data/agent.js +36 -1
  69. package/dist/cjs/data/agent.js.map +1 -1
  70. package/dist/cjs/data/askyProtocol.d.ts.map +1 -1
  71. package/dist/cjs/data/askyProtocol.js +1 -1
  72. package/dist/cjs/data/askyProtocol.js.map +1 -1
  73. package/dist/cjs/data/board/answer.d.ts +12 -0
  74. package/dist/cjs/data/board/answer.d.ts.map +1 -0
  75. package/dist/cjs/data/board/answer.js +41 -0
  76. package/dist/cjs/data/board/answer.js.map +1 -0
  77. package/dist/cjs/data/board/facts.js +1 -1
  78. package/dist/cjs/data/board/facts.js.map +1 -1
  79. package/dist/cjs/data/board/read.d.ts.map +1 -1
  80. package/dist/cjs/data/board/read.js +20 -9
  81. package/dist/cjs/data/board/read.js.map +1 -1
  82. package/dist/cjs/data/board/types.d.ts +14 -0
  83. package/dist/cjs/data/board/types.d.ts.map +1 -1
  84. package/dist/cjs/data/board/types.js +9 -1
  85. package/dist/cjs/data/board/types.js.map +1 -1
  86. package/dist/cjs/data/checkers.d.ts +12 -2
  87. package/dist/cjs/data/checkers.d.ts.map +1 -1
  88. package/dist/cjs/data/checkers.js +43 -40
  89. package/dist/cjs/data/checkers.js.map +1 -1
  90. package/dist/cjs/data/decisionIdentity.d.ts +10 -0
  91. package/dist/cjs/data/decisionIdentity.d.ts.map +1 -0
  92. package/dist/cjs/data/decisionIdentity.js +19 -0
  93. package/dist/cjs/data/decisionIdentity.js.map +1 -0
  94. package/dist/cjs/data/docUrls.d.ts +5 -0
  95. package/dist/cjs/data/docUrls.d.ts.map +1 -1
  96. package/dist/cjs/data/docUrls.js +18 -1
  97. package/dist/cjs/data/docUrls.js.map +1 -1
  98. package/dist/cjs/data/draftUploads.d.ts +145 -0
  99. package/dist/cjs/data/draftUploads.d.ts.map +1 -0
  100. package/dist/cjs/data/draftUploads.js +293 -0
  101. package/dist/cjs/data/draftUploads.js.map +1 -0
  102. package/dist/cjs/data/emailKinds.d.ts +56 -0
  103. package/dist/cjs/data/emailKinds.d.ts.map +1 -0
  104. package/dist/cjs/data/emailKinds.js +39 -0
  105. package/dist/cjs/data/emailKinds.js.map +1 -0
  106. package/dist/cjs/data/engine.js +1 -1
  107. package/dist/cjs/data/engine.js.map +1 -1
  108. package/dist/cjs/data/format.d.ts +10 -0
  109. package/dist/cjs/data/format.d.ts.map +1 -1
  110. package/dist/cjs/data/format.js +8 -1
  111. package/dist/cjs/data/format.js.map +1 -1
  112. package/dist/cjs/data/install.d.ts +57 -131
  113. package/dist/cjs/data/install.d.ts.map +1 -1
  114. package/dist/cjs/data/install.js +95 -182
  115. package/dist/cjs/data/install.js.map +1 -1
  116. package/dist/cjs/data/openness.js +11 -11
  117. package/dist/cjs/data/openness.js.map +1 -1
  118. package/dist/cjs/data/payoutObservation.d.ts +30 -0
  119. package/dist/cjs/data/payoutObservation.d.ts.map +1 -0
  120. package/dist/cjs/data/payoutObservation.js +219 -0
  121. package/dist/cjs/data/payoutObservation.js.map +1 -0
  122. package/dist/cjs/data/queue.d.ts.map +1 -1
  123. package/dist/cjs/data/queue.js +36 -1
  124. package/dist/cjs/data/queue.js.map +1 -1
  125. package/dist/cjs/data/receipt.d.ts +4 -0
  126. package/dist/cjs/data/receipt.d.ts.map +1 -1
  127. package/dist/cjs/data/receipt.js +5 -2
  128. package/dist/cjs/data/receipt.js.map +1 -1
  129. package/dist/cjs/data/threads.d.ts +3 -1
  130. package/dist/cjs/data/threads.d.ts.map +1 -1
  131. package/dist/cjs/data/threads.js +5 -3
  132. package/dist/cjs/data/threads.js.map +1 -1
  133. package/dist/cjs/data/traceWords.d.ts +4 -0
  134. package/dist/cjs/data/traceWords.d.ts.map +1 -1
  135. package/dist/cjs/data/traceWords.js +17 -4
  136. package/dist/cjs/data/traceWords.js.map +1 -1
  137. package/dist/cjs/data/types.js +1 -1
  138. package/dist/cjs/data/types.js.map +1 -1
  139. package/dist/cjs/rubric/call.d.ts +5 -0
  140. package/dist/cjs/rubric/call.d.ts.map +1 -1
  141. package/dist/cjs/rubric/call.js +9 -1
  142. package/dist/cjs/rubric/call.js.map +1 -1
  143. package/dist/cjs/rubric/callChecks.d.ts +2 -0
  144. package/dist/cjs/rubric/callChecks.d.ts.map +1 -1
  145. package/dist/cjs/rubric/callChecks.js +6 -1
  146. package/dist/cjs/rubric/callChecks.js.map +1 -1
  147. package/dist/cjs/rubric/leg.d.ts +5 -7
  148. package/dist/cjs/rubric/leg.d.ts.map +1 -1
  149. package/dist/cjs/rubric/leg.js +7 -33
  150. package/dist/cjs/rubric/leg.js.map +1 -1
  151. package/dist/cjs/rubric/report.d.ts.map +1 -1
  152. package/dist/cjs/rubric/report.js +4 -4
  153. package/dist/cjs/rubric/report.js.map +1 -1
  154. package/dist/cjs/rubric/reportTemplate.d.ts +6 -0
  155. package/dist/cjs/rubric/reportTemplate.d.ts.map +1 -1
  156. package/dist/cjs/rubric/reportTemplate.js +23 -14
  157. package/dist/cjs/rubric/reportTemplate.js.map +1 -1
  158. package/dist/cjs/rubric/terms.d.ts +6 -1
  159. package/dist/cjs/rubric/terms.d.ts.map +1 -1
  160. package/dist/cjs/rubric/terms.js +4 -4
  161. package/dist/cjs/rubric/terms.js.map +1 -1
  162. package/dist/esm/chain/allowance.d.ts +6 -2
  163. package/dist/esm/chain/allowance.d.ts.map +1 -1
  164. package/dist/esm/chain/allowance.js +45 -19
  165. package/dist/esm/chain/allowance.js.map +1 -1
  166. package/dist/esm/chain/ask.d.ts.map +1 -1
  167. package/dist/esm/chain/ask.js +2 -1
  168. package/dist/esm/chain/ask.js.map +1 -1
  169. package/dist/esm/chain/assist.d.ts +52 -0
  170. package/dist/esm/chain/assist.d.ts.map +1 -0
  171. package/dist/esm/chain/assist.js +89 -0
  172. package/dist/esm/chain/assist.js.map +1 -0
  173. package/dist/esm/chain/campaignMint.d.ts +92 -0
  174. package/dist/esm/chain/campaignMint.d.ts.map +1 -0
  175. package/dist/esm/chain/campaignMint.js +127 -0
  176. package/dist/esm/chain/campaignMint.js.map +1 -0
  177. package/dist/esm/chain/draftMessages.d.ts +12 -0
  178. package/dist/esm/chain/draftMessages.d.ts.map +1 -0
  179. package/dist/esm/chain/draftMessages.js +47 -0
  180. package/dist/esm/chain/draftMessages.js.map +1 -0
  181. package/dist/esm/chain/guest.d.ts +10 -0
  182. package/dist/esm/chain/guest.d.ts.map +1 -1
  183. package/dist/esm/chain/guest.js +3 -2
  184. package/dist/esm/chain/guest.js.map +1 -1
  185. package/dist/esm/chain/inviteMessages.d.ts +17 -3
  186. package/dist/esm/chain/inviteMessages.d.ts.map +1 -1
  187. package/dist/esm/chain/inviteMessages.js +18 -1
  188. package/dist/esm/chain/inviteMessages.js.map +1 -1
  189. package/dist/esm/chain/lane.d.ts +16 -0
  190. package/dist/esm/chain/lane.d.ts.map +1 -1
  191. package/dist/esm/chain/lane.js +22 -0
  192. package/dist/esm/chain/lane.js.map +1 -1
  193. package/dist/esm/chain/personReview.d.ts.map +1 -1
  194. package/dist/esm/chain/personReview.js +18 -11
  195. package/dist/esm/chain/personReview.js.map +1 -1
  196. package/dist/esm/chain/reviewBilling.d.ts.map +1 -1
  197. package/dist/esm/chain/reviewBilling.js +1 -1
  198. package/dist/esm/chain/reviewBilling.js.map +1 -1
  199. package/dist/esm/chain/session.d.ts +1 -1
  200. package/dist/esm/chain/session.d.ts.map +1 -1
  201. package/dist/esm/chain/session.js +5 -12
  202. package/dist/esm/chain/session.js.map +1 -1
  203. package/dist/esm/chain/sessionEvents.d.ts +4 -0
  204. package/dist/esm/chain/sessionEvents.d.ts.map +1 -0
  205. package/dist/esm/chain/sessionEvents.js +11 -0
  206. package/dist/esm/chain/sessionEvents.js.map +1 -0
  207. package/dist/esm/chain/takeBack.d.ts +2 -0
  208. package/dist/esm/chain/takeBack.d.ts.map +1 -1
  209. package/dist/esm/chain/takeBack.js +44 -8
  210. package/dist/esm/chain/takeBack.js.map +1 -1
  211. package/dist/esm/chain/why.d.ts +6 -2
  212. package/dist/esm/chain/why.d.ts.map +1 -1
  213. package/dist/esm/chain/why.js +12 -3
  214. package/dist/esm/chain/why.js.map +1 -1
  215. package/dist/esm/chain.d.ts +1 -0
  216. package/dist/esm/chain.d.ts.map +1 -1
  217. package/dist/esm/chain.js +1 -0
  218. package/dist/esm/chain.js.map +1 -1
  219. package/dist/esm/data/actionDraft.d.ts +304 -0
  220. package/dist/esm/data/actionDraft.d.ts.map +1 -0
  221. package/dist/esm/data/actionDraft.js +450 -0
  222. package/dist/esm/data/actionDraft.js.map +1 -0
  223. package/dist/esm/data/actionDraftWords.d.ts +37 -0
  224. package/dist/esm/data/actionDraftWords.d.ts.map +1 -0
  225. package/dist/esm/data/actionDraftWords.js +47 -0
  226. package/dist/esm/data/actionDraftWords.js.map +1 -0
  227. package/dist/esm/data/agent.d.ts.map +1 -1
  228. package/dist/esm/data/agent.js +4 -2
  229. package/dist/esm/data/agent.js.map +1 -1
  230. package/dist/esm/data/askyProtocol.d.ts.map +1 -1
  231. package/dist/esm/data/askyProtocol.js +1 -1
  232. package/dist/esm/data/askyProtocol.js.map +1 -1
  233. package/dist/esm/data/board/answer.d.ts +12 -0
  234. package/dist/esm/data/board/answer.d.ts.map +1 -0
  235. package/dist/esm/data/board/answer.js +36 -0
  236. package/dist/esm/data/board/answer.js.map +1 -0
  237. package/dist/esm/data/board/facts.js +1 -1
  238. package/dist/esm/data/board/facts.js.map +1 -1
  239. package/dist/esm/data/board/read.d.ts.map +1 -1
  240. package/dist/esm/data/board/read.js +21 -10
  241. package/dist/esm/data/board/read.js.map +1 -1
  242. package/dist/esm/data/board/types.d.ts +14 -0
  243. package/dist/esm/data/board/types.d.ts.map +1 -1
  244. package/dist/esm/data/board/types.js +7 -0
  245. package/dist/esm/data/board/types.js.map +1 -1
  246. package/dist/esm/data/checkers.d.ts +12 -2
  247. package/dist/esm/data/checkers.d.ts.map +1 -1
  248. package/dist/esm/data/checkers.js +41 -39
  249. package/dist/esm/data/checkers.js.map +1 -1
  250. package/dist/esm/data/decisionIdentity.d.ts +10 -0
  251. package/dist/esm/data/decisionIdentity.d.ts.map +1 -0
  252. package/dist/esm/data/decisionIdentity.js +15 -0
  253. package/dist/esm/data/decisionIdentity.js.map +1 -0
  254. package/dist/esm/data/docUrls.d.ts +5 -0
  255. package/dist/esm/data/docUrls.d.ts.map +1 -1
  256. package/dist/esm/data/docUrls.js +16 -0
  257. package/dist/esm/data/docUrls.js.map +1 -1
  258. package/dist/esm/data/draftUploads.d.ts +145 -0
  259. package/dist/esm/data/draftUploads.d.ts.map +1 -0
  260. package/dist/esm/data/draftUploads.js +272 -0
  261. package/dist/esm/data/draftUploads.js.map +1 -0
  262. package/dist/esm/data/emailKinds.d.ts +56 -0
  263. package/dist/esm/data/emailKinds.d.ts.map +1 -0
  264. package/dist/esm/data/emailKinds.js +32 -0
  265. package/dist/esm/data/emailKinds.js.map +1 -0
  266. package/dist/esm/data/engine.js +1 -1
  267. package/dist/esm/data/engine.js.map +1 -1
  268. package/dist/esm/data/format.d.ts +10 -0
  269. package/dist/esm/data/format.d.ts.map +1 -1
  270. package/dist/esm/data/format.js +6 -0
  271. package/dist/esm/data/format.js.map +1 -1
  272. package/dist/esm/data/install.d.ts +57 -131
  273. package/dist/esm/data/install.d.ts.map +1 -1
  274. package/dist/esm/data/install.js +88 -173
  275. package/dist/esm/data/install.js.map +1 -1
  276. package/dist/esm/data/openness.js +11 -11
  277. package/dist/esm/data/openness.js.map +1 -1
  278. package/dist/esm/data/payoutObservation.d.ts +30 -0
  279. package/dist/esm/data/payoutObservation.d.ts.map +1 -0
  280. package/dist/esm/data/payoutObservation.js +213 -0
  281. package/dist/esm/data/payoutObservation.js.map +1 -0
  282. package/dist/esm/data/queue.d.ts.map +1 -1
  283. package/dist/esm/data/queue.js +4 -2
  284. package/dist/esm/data/queue.js.map +1 -1
  285. package/dist/esm/data/receipt.d.ts +4 -0
  286. package/dist/esm/data/receipt.d.ts.map +1 -1
  287. package/dist/esm/data/receipt.js +5 -2
  288. package/dist/esm/data/receipt.js.map +1 -1
  289. package/dist/esm/data/threads.d.ts +3 -1
  290. package/dist/esm/data/threads.d.ts.map +1 -1
  291. package/dist/esm/data/threads.js +6 -4
  292. package/dist/esm/data/threads.js.map +1 -1
  293. package/dist/esm/data/traceWords.d.ts +4 -0
  294. package/dist/esm/data/traceWords.d.ts.map +1 -1
  295. package/dist/esm/data/traceWords.js +16 -4
  296. package/dist/esm/data/traceWords.js.map +1 -1
  297. package/dist/esm/data/types.js +1 -1
  298. package/dist/esm/data/types.js.map +1 -1
  299. package/dist/esm/rubric/call.d.ts +5 -0
  300. package/dist/esm/rubric/call.d.ts.map +1 -1
  301. package/dist/esm/rubric/call.js +7 -0
  302. package/dist/esm/rubric/call.js.map +1 -1
  303. package/dist/esm/rubric/callChecks.d.ts +2 -0
  304. package/dist/esm/rubric/callChecks.d.ts.map +1 -1
  305. package/dist/esm/rubric/callChecks.js +4 -0
  306. package/dist/esm/rubric/callChecks.js.map +1 -1
  307. package/dist/esm/rubric/leg.d.ts +5 -7
  308. package/dist/esm/rubric/leg.d.ts.map +1 -1
  309. package/dist/esm/rubric/leg.js +7 -33
  310. package/dist/esm/rubric/leg.js.map +1 -1
  311. package/dist/esm/rubric/report.d.ts.map +1 -1
  312. package/dist/esm/rubric/report.js +4 -4
  313. package/dist/esm/rubric/report.js.map +1 -1
  314. package/dist/esm/rubric/reportTemplate.d.ts +6 -0
  315. package/dist/esm/rubric/reportTemplate.d.ts.map +1 -1
  316. package/dist/esm/rubric/reportTemplate.js +22 -14
  317. package/dist/esm/rubric/reportTemplate.js.map +1 -1
  318. package/dist/esm/rubric/terms.d.ts +6 -1
  319. package/dist/esm/rubric/terms.d.ts.map +1 -1
  320. package/dist/esm/rubric/terms.js +4 -4
  321. package/dist/esm/rubric/terms.js.map +1 -1
  322. package/package.json +1 -1
@@ -1,105 +1,82 @@
1
1
  /**
2
- * How an MCP client is told to connect to asks.world.
2
+ * How an assistant is told to connect to asks.world: add the hosted connector.
3
3
  *
4
- * One table, several renderings: the server's own `get_config_help` and the
5
- * hosted `where_to_act`, the install block (`/`, `/connect`, `/mcp`), the
6
- * agent page and its `/mcp.md` twin, and the hosted server's description all
7
- * print these lines from here, so
8
- * they cannot disagree — which they did, for a month, when the page said
9
- * `/path/to/asks-mcp` and the server printed whatever path it happened
10
- * to be running from.
4
+ * One table, several renderings: the install block, the agent page (`/mcp`
5
+ * and its `/mcp.md` twin), the agent page `/for-agents`, `/llms.txt` and the
6
+ * hosted server's description all print these lines from here, so they cannot
7
+ * disagree.
8
+ *
9
+ * Where an app takes plugins (claude.ai, Claude Code, Codex) the main way in is the asks plugin (`pluginLines`): the
10
+ * same connector plus the skills that teach the AI how to use Asks. The bare connector stays as the smaller fallback,
11
+ * and the only way in for ChatGPT, Cursor and VS Code.
12
+ *
13
+ * The connector is the asks.world MCP server
14
+ * served by the site itself (`/v1/mcp`, docs/MCP.md). A person adds that one
15
+ * address to claude.ai, ChatGPT, Claude Code or Codex, signs in with Google
16
+ * when it asks (every request needs the sign-in), and it then acts as them: it
17
+ * does what needs no money and no signature in the chat, and hands everything
18
+ * else to one tap on an asks.world page.
11
19
  *
12
20
  * Pure and dependency-free, like `app/lib/networks.ts`: the app, the MCP
13
21
  * server and `node --test` all read it the same way.
14
- *
15
- * **Why `openhands-network` and not `openhands`.** OpenHands is All-Hands-AI's
16
- * coding agent; they own the `@openhands` scope on npm and the GitHub org, and
17
- * third parties already publish "OpenHands MCP" packages. A client with both
18
- * installed would show two servers called `openhands`. The domain is the honest
19
- * anchor, so the server, the package and the plugin all carry its name.
20
22
  */
21
- /** The npm package the bundled server ships as (the plugin plan's A2). */
22
- export declare const MCP_PACKAGE = "@ixo/asks-mcp";
23
23
  /** The name a client registers the server under; tools appear as `mcp__asks__*`. */
24
24
  export declare const MCP_SERVER = "asks";
25
25
  /**
26
- * The dist-tag an install follows (owner, 2026-10-26): `latest`, the newest release from main, majors
27
- * included. The plugin (ixoworld/ixo-plugins) uses the same.
28
- */
29
- export declare const MCP_TAG = "latest";
30
- /** What `npx` is told to run. */
31
- export declare const MCP_SPEC = "@ixo/asks-mcp@latest";
32
- /**
33
- * What that spec actually runs is whatever build the npx cache holds for it.
34
- * npx keeps one install per spec string and reuses it without asking the
35
- * registry, so a machine that installed in September keeps September's
36
- * server until the cache is cleared — on 2026-10-20 `@1` ran 1.1.0 on a Mac
37
- * while 1.4.1 was latest, and 1.1.0 refused post_call for want of variables
38
- * 1.4 reads from the site. The plugin's `.mcp.json` uses the same spec. Said
39
- * beside the version wherever an install is printed, with the one line that
40
- * refreshes it.
41
- */
42
- export declare const NPX_CACHE_NOTE = "npx keeps the build it first installed for \"@ixo/asks-mcp@latest\" and reuses it without asking npm, so after a release an older server can keep running on your machine.";
43
- /** The one line that makes the next start install the newest release: npx's own cache, found through npm's config so the path is right on every machine. */
44
- export declare const NPX_REFRESH_LINE = "rm -rf \"$(npm config get cache)/_npx\"";
45
- /** The note and the line, as text: what get_config_help and the install pages print. */
46
- export declare const npxCacheLines: () => string[];
47
- /**
48
- * The hosted server's path on every deployment's own origin: read-only,
49
- * unauthenticated, and the protocol surface the `/v1/` prefix versions
50
- * (docs/MCP.md). `https://asks.world/v1/mcp` and
26
+ * The connector's path on every deployment's own origin, the one address a
27
+ * person adds: it asks them to sign in with Google, then acts as them, and the
28
+ * `/v1/` prefix versions it (docs/MCP.md). `https://asks.world/v1/mcp`,
51
29
  * `https://test.asks.world/v1/mcp`.
52
30
  */
53
31
  export declare const MCP_HOSTED_PATH = "/v1/mcp";
54
- /** The hosted server's URL on a deployment's origin. */
32
+ /** The connector's URL on a deployment's origin. */
55
33
  export declare const hostedUrl: (origin: string) => string;
56
- export declare const INSTALL_CLIENTS: readonly ["claude-code", "codex", "cursor", "vscode"];
57
- export type InstallClient = (typeof INSTALL_CLIENTS)[number];
58
34
  /**
59
- * What the client should run.
60
- *
61
- * `package` is the published server, fetched by `npx` on first use. `source`
62
- * is this repository's own entry file, which needs Node's TypeScript stripping
63
- * — the lines a developer running from a checkout
64
- * copies to a second client on the same machine. A path is printed *only* in
65
- * that case, because only then is there a path to print.
35
+ * The connector's address on a deployment's origin: the one a person adds. A request with no sign-in is answered
36
+ * with the sign-in challenge, which is what makes claude.ai, ChatGPT, Claude Code and Codex open the asks.world
37
+ * sign-in page. The same address as `hostedUrl`: there is no second, signed-out one.
66
38
  */
67
- export type InstallEntry = {
68
- kind: "package";
69
- } | {
70
- kind: "source";
71
- path: string;
72
- };
73
- export interface InstallOptions {
74
- network: string;
75
- /**
76
- * Omitted: the published package, which is the install for everyone who is
77
- * not running this repository. Whether it is on npm yet is the app's to say
78
- * (`NEXT_PUBLIC_MCP_PUBLISHED`, app/lib/mcp.ts): this module reads no
79
- * environment, like the rest of the SDK.
80
- */
81
- entry?: InstallEntry;
82
- }
83
- /** One client's install text, ready to paste. */
84
- export declare function installLines(client: InstallClient, options: InstallOptions): string;
85
- /** Where each client keeps it — the sentence above the block. */
86
- export declare const INSTALL_WHERE: Record<InstallClient, string>;
39
+ export declare const connectorUrl: (origin: string) => string;
40
+ /** The assistants a person adds the connector to, in the order the pages show them. */
41
+ export declare const CONNECTOR_CLIENTS: readonly ["claude-ai", "chatgpt", "claude-code", "codex"];
42
+ export type ConnectorClient = (typeof CONNECTOR_CLIENTS)[number];
43
+ /** Each assistant's name, the heading above its steps. */
44
+ export declare const CONNECTOR_WHERE: Record<ConnectorClient, string>;
45
+ /** Where each chat app adds a connector (claude.ai moved connectors under Customize; ChatGPT calls them plugins), checked 2026-11-04. */
46
+ export declare const CLAUDE_CONNECTORS_URL = "https://claude.ai/customize/connectors";
47
+ export declare const CHATGPT_PLUGINS_URL = "https://chatgpt.com/plugins";
87
48
  /**
88
- * The plugin: the local server with its skill, from the ixo plugin
89
- * marketplace, and the first way in for Claude Code and Codex. It launches the
90
- * same package (`npx -y` {@link MCP_SPEC}), so it works exactly when the
91
- * package does.
49
+ * Cursor's one-click install (cursor.com/docs/context/mcp/install-links): `name`, and `config` = base64 of the server's
50
+ * mcp.json entry, which for a remote server is just `{"url": …}`. The cursor.com web page opens the
51
+ * `cursor://anysphere.cursor-deeplink/mcp/install` deeplink, and says what to do when Cursor is not installed.
92
52
  */
53
+ export declare const cursorInstallUrl: (origin: string) => string;
54
+ /**
55
+ * VS Code's install link (code.visualstudio.com/docs/copilot/guides/mcp-developer-guide): `vscode:mcp/install?` and the
56
+ * URL-encoded JSON `{name, type: "http", url}`, behind vscode.dev/redirect so a web page can open it.
57
+ */
58
+ export declare const vscodeInstallUrl: (origin: string) => string;
59
+ /** One assistant's steps, ready to follow: plain words for the apps, the commands for the terminals. */
60
+ export declare function connectorLines(client: ConnectorClient, origin: string): string;
61
+ /** The one command a person copies into a terminal: Claude Code's, which the install block leads with. */
62
+ export declare const connectorCommand: (origin: string) => string;
63
+ /** The plugin marketplace's public repository: the Asks skills and the company tools. */
93
64
  export declare const PLUGIN_MARKETPLACE = "ixoworld/ixo-plugins";
94
- export declare const PLUGIN_NAME = "asks";
95
- export declare const PLUGIN_ID = "asks@ixo-plugins";
96
- /** The plugin marketplace's public repository: every plugin's skill, README and version. */
97
65
  export declare const PLUGIN_MARKETPLACE_URL = "https://github.com/ixoworld/ixo-plugins";
66
+ /** Where claude.ai lists plugins (Customize, then Plugins). */
67
+ export declare const CLAUDE_PLUGINS_URL = "https://claude.ai/customize/plugins";
68
+ /** The apps that take the asks plugin: the connector plus the skills that teach the AI how to use Asks. The rest take the bare connector. */
69
+ export declare const PLUGIN_CLIENTS: readonly ["claude-ai", "claude-code", "codex"];
70
+ export type PluginClient = (typeof PLUGIN_CLIENTS)[number];
71
+ /** The plugin, and the server it registers, per network: `asks` talks to asks.world, `asks-testnet` to the sandbox, `asks-devnet` to dev.asks.world. */
72
+ export declare const pluginName: (network: string) => string;
73
+ /** One app's plugin steps on a network: plain words for claude.ai, the lines to type for Claude Code and Codex. */
74
+ export declare function pluginLines(client: PluginClient, network: string): string;
98
75
  /** An npm package's page, where its latest version is. */
99
76
  export declare const npmUrl: (name: string) => string;
100
77
  /**
101
- * The packages the plugins run, each with the version range an install pins (npx takes the newest inside it). The
102
- * guides (/llms.txt, /mcp.md) list these; bump a range here when a plugin's skill moves to a new one.
78
+ * The packages a company runs for itself (its verifier, its payouts service), each with the version range an
79
+ * install pins. The guides (/llms.txt, /mcp.md) list these. The Asks tools themselves are the connector, not a package.
103
80
  */
104
81
  export declare const RESOURCE_PACKAGES: readonly {
105
82
  name: string;
@@ -108,55 +85,4 @@ export declare const RESOURCE_PACKAGES: readonly {
108
85
  }[];
109
86
  /** One line per package: name@range, what it is, its npm page. */
110
87
  export declare const resourceLines: () => string[];
111
- /**
112
- * The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
113
- * Claude Code with the local MCP / HQ plugin, where keys and data stay on the
114
- * user's machine (owner ruling 2026-10-15). One wording, said everywhere.
115
- */
116
- export declare const READ_ONLY_LINE = "This connector holds no key: it reads, and posts an ask only as a pay link (post_ask with pay_by \"card\"), where the person pays by card and posts it on Asks. To post from your own money, set up payouts, pay for reviews or get paid, use Claude Code with an Asks plugin (asks): it runs on your computer, so your keys and data stay with you.";
117
- /** The first Claude Code that installs from a marketplace in one step, with `--marketplace`. */
118
- export declare const CLAUDE_CODE_ONE_STEP = "2.1.275";
119
- export declare const PLUGIN_CLIENTS: readonly ["claude-code", "codex"];
120
- export type PluginClient = (typeof PLUGIN_CLIENTS)[number];
121
- /**
122
- * Every plugin install, in the order to show them: Claude Code in one step,
123
- * the two steps an older Claude Code needs, then Codex.
124
- */
125
- export declare const PLUGIN_INSTALLS: readonly ["claude-code", "claude-code-older", "codex"];
126
- export type PluginInstall = (typeof PLUGIN_INSTALLS)[number];
127
- /** One plugin install, a command per line: the worker plugin unless `name` says which. */
128
- export declare function pluginLines(install: PluginInstall, name?: string): string;
129
- /** The Claude Code install as shell commands, said on one line: for an agent that cannot type a /plugin command but can run `claude`. */
130
- export declare const pluginShellLine: (name: string) => string;
131
- /**
132
- * The Claude app (desktop or claude.ai, paid plans): a person adds the plugin by hand, and its server, which runs on
133
- * their computer, works where Claude can run things on it: the Code tab, or a chat with a folder connected (the former Cowork); not a plain chat (support.claude.com, "Use plugins in Claude").
134
- */
135
- export declare const claudeAppPluginSteps: (names: string) => string;
136
- /** The one plugin, for a company or a worker: what it does, said once. Every page and tool that shows an install shows it, from here. */
137
- export declare const PLUGIN_PATHS: readonly [{
138
- readonly name: "asks";
139
- readonly who: "For a company or yourself";
140
- readonly what: "Find Asks, answer them and get paid, post Asks of your own, and set up your company (organisation, how workers are paid, a verifier, review billing). A report ask is answered with Claude (the report and screenshots, which you approve before anything is sent) or on the website.";
141
- }];
142
- /** The plugin's commands (ixoworld/ixo-plugins), said once: `/asks` works out what the person wants, the rest go straight to one job. */
143
- export declare const PLUGIN_COMMANDS_LINE = "Once installed, type /asks and say what you want, or go straight to one job: /asks:create (post an ask or a review, set up a company), /asks:jobs (find work), /asks:invite, /asks:manage, /asks:report (write a review report), /asks:profile, /asks:account, /asks:connect, /asks:help.";
144
- export declare const PLUGIN_WHERE: Record<PluginInstall, string>;
145
- /** The plugin as plain text: who it is for, then each install's lines. */
146
- export declare function pluginPathsText(installs?: readonly PluginInstall[]): string[];
147
- /**
148
- * What the plugin brings and which network to use, said for the site at `network`. One server serves both: every
149
- * tool takes `network`, so there is nothing to set at install.
150
- */
151
- export declare function pluginNetworkNote(network: string): string;
152
- /**
153
- * The hosted server, for a client that cannot run a local one. It reads the
154
- * board and hands every action back to the site or the local server, so a
155
- * connector needs no key and no sign-in.
156
- */
157
- export declare const HOSTED_CLIENTS: readonly ["connector", "claude-code"];
158
- export type HostedClient = (typeof HOSTED_CLIENTS)[number];
159
- /** One hosted install, for the deployment at `origin`. */
160
- export declare function hostedLines(client: HostedClient, origin: string): string;
161
- export declare const HOSTED_WHERE: Record<HostedClient, string>;
162
88
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,oFAAoF;AACpF,eAAO,MAAM,UAAU,SAAS,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,YAAY,CAAC;AAIzC,oDAAoD;AACpD,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,KAAG,MAAgD,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,YAAY,WAPS,MAAM,KAAG,MAON,CAAC;AAEtC,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,2DAA4D,CAAC;AAC3F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,0DAA0D;AAC1D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAK3D,CAAC;AAEF,yIAAyI;AACzI,eAAO,MAAM,qBAAqB,2CAA2C,CAAC;AAC9E,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AAKjE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MACuF,CAAC;AAE1I;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MACoI,CAAC;AAEvL,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAY9E;AAED,0GAA0G;AAC1G,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAAiF,CAAC;AAEpI,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AACzD,eAAO,MAAM,sBAAsB,4CAA6C,CAAC;AAEjF,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAExE,6IAA6I;AAC7I,eAAO,MAAM,cAAc,gDAAiD,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,wJAAwJ;AACxJ,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,MAAkG,CAAC;AAEhJ,mHAAmH;AACnH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAWzE;AAED,0DAA0D;AAC1D,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,MAAiD,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAGrF,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,aAAa,QAAO,MAAM,EAAkG,CAAC"}
@@ -1,215 +1,128 @@
1
1
  "use strict";
2
2
  /**
3
- * How an MCP client is told to connect to asks.world.
3
+ * How an assistant is told to connect to asks.world: add the hosted connector.
4
4
  *
5
- * One table, several renderings: the server's own `get_config_help` and the
6
- * hosted `where_to_act`, the install block (`/`, `/connect`, `/mcp`), the
7
- * agent page and its `/mcp.md` twin, and the hosted server's description all
8
- * print these lines from here, so
9
- * they cannot disagree — which they did, for a month, when the page said
10
- * `/path/to/asks-mcp` and the server printed whatever path it happened
11
- * to be running from.
5
+ * One table, several renderings: the install block, the agent page (`/mcp`
6
+ * and its `/mcp.md` twin), the agent page `/for-agents`, `/llms.txt` and the
7
+ * hosted server's description all print these lines from here, so they cannot
8
+ * disagree.
9
+ *
10
+ * Where an app takes plugins (claude.ai, Claude Code, Codex) the main way in is the asks plugin (`pluginLines`): the
11
+ * same connector plus the skills that teach the AI how to use Asks. The bare connector stays as the smaller fallback,
12
+ * and the only way in for ChatGPT, Cursor and VS Code.
13
+ *
14
+ * The connector is the asks.world MCP server
15
+ * served by the site itself (`/v1/mcp`, docs/MCP.md). A person adds that one
16
+ * address to claude.ai, ChatGPT, Claude Code or Codex, signs in with Google
17
+ * when it asks (every request needs the sign-in), and it then acts as them: it
18
+ * does what needs no money and no signature in the chat, and hands everything
19
+ * else to one tap on an asks.world page.
12
20
  *
13
21
  * Pure and dependency-free, like `app/lib/networks.ts`: the app, the MCP
14
22
  * server and `node --test` all read it the same way.
15
- *
16
- * **Why `openhands-network` and not `openhands`.** OpenHands is All-Hands-AI's
17
- * coding agent; they own the `@openhands` scope on npm and the GitHub org, and
18
- * third parties already publish "OpenHands MCP" packages. A client with both
19
- * installed would show two servers called `openhands`. The domain is the honest
20
- * anchor, so the server, the package and the plugin all carry its name.
21
23
  */
22
24
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.HOSTED_WHERE = exports.HOSTED_CLIENTS = exports.PLUGIN_WHERE = exports.PLUGIN_COMMANDS_LINE = exports.PLUGIN_PATHS = exports.claudeAppPluginSteps = exports.pluginShellLine = exports.PLUGIN_INSTALLS = exports.PLUGIN_CLIENTS = exports.CLAUDE_CODE_ONE_STEP = exports.READ_ONLY_LINE = exports.resourceLines = exports.RESOURCE_PACKAGES = exports.npmUrl = exports.PLUGIN_MARKETPLACE_URL = exports.PLUGIN_ID = exports.PLUGIN_NAME = exports.PLUGIN_MARKETPLACE = exports.INSTALL_WHERE = exports.INSTALL_CLIENTS = exports.hostedUrl = exports.MCP_HOSTED_PATH = exports.npxCacheLines = exports.NPX_REFRESH_LINE = exports.NPX_CACHE_NOTE = exports.MCP_SPEC = exports.MCP_TAG = exports.MCP_SERVER = exports.MCP_PACKAGE = void 0;
24
- exports.installLines = installLines;
25
+ exports.resourceLines = exports.RESOURCE_PACKAGES = exports.npmUrl = exports.pluginName = exports.PLUGIN_CLIENTS = exports.CLAUDE_PLUGINS_URL = exports.PLUGIN_MARKETPLACE_URL = exports.PLUGIN_MARKETPLACE = exports.connectorCommand = exports.vscodeInstallUrl = exports.cursorInstallUrl = exports.CHATGPT_PLUGINS_URL = exports.CLAUDE_CONNECTORS_URL = exports.CONNECTOR_WHERE = exports.CONNECTOR_CLIENTS = exports.connectorUrl = exports.hostedUrl = exports.MCP_HOSTED_PATH = exports.MCP_SERVER = void 0;
26
+ exports.connectorLines = connectorLines;
25
27
  exports.pluginLines = pluginLines;
26
- exports.pluginPathsText = pluginPathsText;
27
- exports.pluginNetworkNote = pluginNetworkNote;
28
- exports.hostedLines = hostedLines;
29
- /** The npm package the bundled server ships as (the plugin plan's A2). */
30
- exports.MCP_PACKAGE = "@ixo/asks-mcp";
31
28
  /** The name a client registers the server under; tools appear as `mcp__asks__*`. */
32
29
  exports.MCP_SERVER = "asks";
33
30
  /**
34
- * The dist-tag an install follows (owner, 2026-10-26): `latest`, the newest release from main, majors
35
- * included. The plugin (ixoworld/ixo-plugins) uses the same.
31
+ * The connector's path on every deployment's own origin, the one address a
32
+ * person adds: it asks them to sign in with Google, then acts as them, and the
33
+ * `/v1/` prefix versions it (docs/MCP.md). `https://asks.world/v1/mcp`,
34
+ * `https://test.asks.world/v1/mcp`.
36
35
  */
37
- exports.MCP_TAG = "latest";
38
- /** What `npx` is told to run. */
39
- exports.MCP_SPEC = `${exports.MCP_PACKAGE}@${exports.MCP_TAG}`;
40
- /** A site's network is the test network unless it is mainnet (testnet, devnet). */
41
- const isTest = (network) => network !== "mainnet";
36
+ exports.MCP_HOSTED_PATH = "/v1/mcp";
37
+ const trimmed = (origin) => origin.replace(/\/+$/, "");
38
+ /** The connector's URL on a deployment's origin. */
39
+ const hostedUrl = (origin) => `${trimmed(origin)}${exports.MCP_HOSTED_PATH}`;
40
+ exports.hostedUrl = hostedUrl;
42
41
  /**
43
- * What that spec actually runs is whatever build the npx cache holds for it.
44
- * npx keeps one install per spec string and reuses it without asking the
45
- * registry, so a machine that installed in September keeps September's
46
- * server until the cache is cleared — on 2026-10-20 `@1` ran 1.1.0 on a Mac
47
- * while 1.4.1 was latest, and 1.1.0 refused post_call for want of variables
48
- * 1.4 reads from the site. The plugin's `.mcp.json` uses the same spec. Said
49
- * beside the version wherever an install is printed, with the one line that
50
- * refreshes it.
42
+ * The connector's address on a deployment's origin: the one a person adds. A request with no sign-in is answered
43
+ * with the sign-in challenge, which is what makes claude.ai, ChatGPT, Claude Code and Codex open the asks.world
44
+ * sign-in page. The same address as `hostedUrl`: there is no second, signed-out one.
51
45
  */
52
- exports.NPX_CACHE_NOTE = `npx keeps the build it first installed for "${exports.MCP_SPEC}" and reuses it without asking npm, so after a release an older server can keep running on your machine.`;
53
- /** The one line that makes the next start install the newest release: npx's own cache, found through npm's config so the path is right on every machine. */
54
- exports.NPX_REFRESH_LINE = 'rm -rf "$(npm config get cache)/_npx"';
55
- /** The note and the line, as text: what get_config_help and the install pages print. */
56
- const npxCacheLines = () => [`${exports.NPX_CACHE_NOTE} To refresh it, run this once, then start the client again:\n${exports.NPX_REFRESH_LINE}`];
57
- exports.npxCacheLines = npxCacheLines;
46
+ exports.connectorUrl = exports.hostedUrl;
47
+ /** The assistants a person adds the connector to, in the order the pages show them. */
48
+ exports.CONNECTOR_CLIENTS = ["claude-ai", "chatgpt", "claude-code", "codex"];
49
+ /** Each assistant's name, the heading above its steps. */
50
+ exports.CONNECTOR_WHERE = {
51
+ "claude-ai": "Claude (claude.ai, the desktop app and the phone app)",
52
+ chatgpt: "ChatGPT",
53
+ "claude-code": "Claude Code",
54
+ codex: "Codex"
55
+ };
56
+ /** Where each chat app adds a connector (claude.ai moved connectors under Customize; ChatGPT calls them plugins), checked 2026-11-04. */
57
+ exports.CLAUDE_CONNECTORS_URL = "https://claude.ai/customize/connectors";
58
+ exports.CHATGPT_PLUGINS_URL = "https://chatgpt.com/plugins";
59
+ /** The name the one-click installs register the connector under, as a person sees it in Cursor or VS Code. */
60
+ const INSTALL_NAME = "Asks";
58
61
  /**
59
- * The hosted server's path on every deployment's own origin: read-only,
60
- * unauthenticated, and the protocol surface the `/v1/` prefix versions
61
- * (docs/MCP.md). `https://asks.world/v1/mcp` and
62
- * `https://test.asks.world/v1/mcp`.
62
+ * Cursor's one-click install (cursor.com/docs/context/mcp/install-links): `name`, and `config` = base64 of the server's
63
+ * mcp.json entry, which for a remote server is just `{"url": …}`. The cursor.com web page opens the
64
+ * `cursor://anysphere.cursor-deeplink/mcp/install` deeplink, and says what to do when Cursor is not installed.
63
65
  */
64
- exports.MCP_HOSTED_PATH = "/v1/mcp";
65
- /** The hosted server's URL on a deployment's origin. */
66
- const hostedUrl = (origin) => `${origin.replace(/\/+$/, "")}${exports.MCP_HOSTED_PATH}`;
67
- exports.hostedUrl = hostedUrl;
68
- exports.INSTALL_CLIENTS = ["claude-code", "codex", "cursor", "vscode"];
69
- const PACKAGE_ENTRY = { kind: "package" };
70
- /** The command and its arguments, as every client wants them. */
71
- function command(entry) {
72
- return entry.kind === "package"
73
- ? { command: "npx", args: ["-y", exports.MCP_SPEC], env: {} }
74
- : { command: "node", args: ["--experimental-strip-types", entry.path], env: {} };
75
- }
76
- const envOf = (options) => ({
77
- ...command(options.entry ?? PACKAGE_ENTRY).env,
78
- NEXT_PUBLIC_CHAIN_NETWORK: options.network
79
- });
80
- /** One client's install text, ready to paste. */
81
- function installLines(client, options) {
82
- const run = command(options.entry ?? PACKAGE_ENTRY);
83
- const env = envOf(options);
84
- /* A plugin install does not replace a hand-added server (Claude Code names plugin servers `plugin:<plugin>:<server>`), so the guide says to remove it, or every tool is listed twice (final review M3). */
85
- const name = exports.MCP_SERVER;
66
+ const cursorInstallUrl = (origin) => `https://cursor.com/install-mcp?name=${INSTALL_NAME}&config=${encodeURIComponent(btoa(JSON.stringify({ url: (0, exports.connectorUrl)(origin) })))}`;
67
+ exports.cursorInstallUrl = cursorInstallUrl;
68
+ /**
69
+ * VS Code's install link (code.visualstudio.com/docs/copilot/guides/mcp-developer-guide): `vscode:mcp/install?` and the
70
+ * URL-encoded JSON `{name, type: "http", url}`, behind vscode.dev/redirect so a web page can open it.
71
+ */
72
+ const vscodeInstallUrl = (origin) => `https://vscode.dev/redirect?url=${encodeURIComponent(`vscode:mcp/install?${encodeURIComponent(JSON.stringify({ name: INSTALL_NAME, type: "http", url: (0, exports.connectorUrl)(origin) }))}`)}`;
73
+ exports.vscodeInstallUrl = vscodeInstallUrl;
74
+ /** One assistant's steps, ready to follow: plain words for the apps, the commands for the terminals. */
75
+ function connectorLines(client, origin) {
76
+ const url = (0, exports.connectorUrl)(origin);
86
77
  switch (client) {
87
- case "claude-code": {
88
- const flags = Object.entries(env)
89
- .map(([key, value]) => `--env ${key}=${value}`)
90
- .join(" ");
91
- return `claude mcp add ${name} ${flags} -- ${run.command} ${run.args.join(" ")}`;
92
- }
93
- case "codex": {
94
- const table = Object.entries(env)
95
- .map(([key, value]) => `${key} = "${value}"`)
96
- .join(", ");
97
- return [`[mcp_servers.${name}]`, `command = "${run.command}"`, `args = ${JSON.stringify(run.args)}`, `env = { ${table} }`].join("\n");
98
- }
99
- case "cursor":
100
- return JSON.stringify({ mcpServers: { [name]: { command: run.command, args: run.args, env } } }, null, 2);
101
- case "vscode":
102
- return `vscode:mcp/install?${encodeURIComponent(JSON.stringify({ name, command: run.command, args: run.args, env }))}`;
78
+ case "claude-ai":
79
+ return `Open Settings, then Customize, then Connectors (or go to ${exports.CLAUDE_CONNECTORS_URL}). Tap + Add, then Add custom connector. Name it Asks, paste ${url} and tap Continue. Then sign in with Google.`;
80
+ case "chatgpt":
81
+ return `Open Plugins in the sidebar (or go to ${exports.CHATGPT_PLUGINS_URL}), then Add, then Add custom MCP server. Name it Asks, paste ${url} as the Server URL and keep Authentication on OAuth. Tick "I understand and want to continue", tap Create as a plugin, then sign in with Google.`;
82
+ case "claude-code":
83
+ return `claude mcp add --transport http ${exports.MCP_SERVER} ${url}\nThen type /mcp in Claude Code, pick ${exports.MCP_SERVER} and sign in with Google.`;
84
+ case "codex":
85
+ return `codex mcp add ${exports.MCP_SERVER} --url ${url}\ncodex mcp login ${exports.MCP_SERVER}\nThe second line opens the sign-in: sign in with Google.`;
103
86
  }
104
87
  }
105
- /** Where each client keeps it — the sentence above the block. */
106
- exports.INSTALL_WHERE = {
107
- "claude-code": "Claude Code, in a terminal:",
108
- codex: "Codex, in ~/.codex/config.toml:",
109
- cursor: "Cursor, in ~/.cursor/mcp.json (or a project's .cursor/mcp.json):",
110
- vscode: "VS Code, open this link (or paste the Cursor block into .vscode/mcp.json):"
111
- };
112
- /**
113
- * The plugin: the local server with its skill, from the ixo plugin
114
- * marketplace, and the first way in for Claude Code and Codex. It launches the
115
- * same package (`npx -y` {@link MCP_SPEC}), so it works exactly when the
116
- * package does.
117
- */
88
+ /** The one command a person copies into a terminal: Claude Code's, which the install block leads with. */
89
+ const connectorCommand = (origin) => `claude mcp add --transport http ${exports.MCP_SERVER} ${(0, exports.connectorUrl)(origin)}`;
90
+ exports.connectorCommand = connectorCommand;
91
+ /** The plugin marketplace's public repository: the Asks skills and the company tools. */
118
92
  exports.PLUGIN_MARKETPLACE = "ixoworld/ixo-plugins";
119
- exports.PLUGIN_NAME = "asks";
120
- exports.PLUGIN_ID = `${exports.PLUGIN_NAME}@ixo-plugins`;
121
- /** The plugin marketplace's public repository: every plugin's skill, README and version. */
122
93
  exports.PLUGIN_MARKETPLACE_URL = `https://github.com/${exports.PLUGIN_MARKETPLACE}`;
94
+ /** Where claude.ai lists plugins (Customize, then Plugins). */
95
+ exports.CLAUDE_PLUGINS_URL = "https://claude.ai/customize/plugins";
96
+ /** The apps that take the asks plugin: the connector plus the skills that teach the AI how to use Asks. The rest take the bare connector. */
97
+ exports.PLUGIN_CLIENTS = ["claude-ai", "claude-code", "codex"];
98
+ /** The plugin, and the server it registers, per network: `asks` talks to asks.world, `asks-testnet` to the sandbox, `asks-devnet` to dev.asks.world. */
99
+ const pluginName = (network) => (network === "mainnet" ? "asks" : network === "devnet" ? "asks-devnet" : "asks-testnet");
100
+ exports.pluginName = pluginName;
101
+ /** One app's plugin steps on a network: plain words for claude.ai, the lines to type for Claude Code and Codex. */
102
+ function pluginLines(client, network) {
103
+ const plugin = (0, exports.pluginName)(network);
104
+ const id = `${plugin}@${exports.PLUGIN_MARKETPLACE.split("/")[1]}`;
105
+ switch (client) {
106
+ case "claude-ai":
107
+ return `Open Customize, then Plugins (or go to ${exports.CLAUDE_PLUGINS_URL}). Tap Add, then Add marketplace, and enter ${exports.PLUGIN_MARKETPLACE}. Then open ${plugin} and turn it on. It asks you to sign in with Google the first time you use it.`;
108
+ case "claude-code":
109
+ return `/plugin marketplace add ${exports.PLUGIN_MARKETPLACE}\n/plugin install ${id}\nThen type /mcp in Claude Code, pick ${plugin} and sign in with Google.`;
110
+ case "codex":
111
+ return `codex plugin marketplace add ${exports.PLUGIN_MARKETPLACE}\ncodex plugin add ${id}\nCodex asks you to sign in with Google. If it does not, run codex mcp login ${plugin}.`;
112
+ }
113
+ }
123
114
  /** An npm package's page, where its latest version is. */
124
115
  const npmUrl = (name) => `https://www.npmjs.com/package/${name}`;
125
116
  exports.npmUrl = npmUrl;
126
117
  /**
127
- * The packages the plugins run, each with the version range an install pins (npx takes the newest inside it). The
128
- * guides (/llms.txt, /mcp.md) list these; bump a range here when a plugin's skill moves to a new one.
118
+ * The packages a company runs for itself (its verifier, its payouts service), each with the version range an
119
+ * install pins. The guides (/llms.txt, /mcp.md) list these. The Asks tools themselves are the connector, not a package.
129
120
  */
130
121
  exports.RESOURCE_PACKAGES = [
131
- { name: exports.MCP_PACKAGE, range: exports.MCP_TAG, what: `the Asks tools the plugin runs (server name ${exports.MCP_SERVER})` },
132
- { name: "@ixo/decision-oracle", range: "0.2", what: `company setup: the organisation, its verifier and Pay for reviews (used by ${exports.PLUGIN_NAME})` },
133
- { name: "@ixo/payouts-facilitator", range: "0.1", what: `a company's own payouts service, for paying workers in USD Coin on Base (used by ${exports.PLUGIN_NAME})` }
122
+ { name: "@ixo/decision-oracle", range: "0.2", what: "company setup: the organisation, its verifier and Pay for reviews" },
123
+ { name: "@ixo/payouts-facilitator", range: "0.1", what: "a company's own payouts service, for paying workers in USD Coin on Base" }
134
124
  ];
135
125
  /** One line per package: name@range, what it is, its npm page. */
136
126
  const resourceLines = () => exports.RESOURCE_PACKAGES.map((one) => `${one.name}@${one.range}: ${one.what}. ${(0, exports.npmUrl)(one.name)}`);
137
127
  exports.resourceLines = resourceLines;
138
- /**
139
- * The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
140
- * Claude Code with the local MCP / HQ plugin, where keys and data stay on the
141
- * user's machine (owner ruling 2026-10-15). One wording, said everywhere.
142
- */
143
- exports.READ_ONLY_LINE = "This connector holds no key: it reads, and posts an ask only as a pay link (post_ask with pay_by \"card\"), where the person pays by card and posts it on Asks. To post from your own money, set up payouts, pay for reviews or get paid, use Claude Code with an Asks plugin (asks): it runs on your computer, so your keys and data stay with you.";
144
- /** The first Claude Code that installs from a marketplace in one step, with `--marketplace`. */
145
- exports.CLAUDE_CODE_ONE_STEP = "2.1.275";
146
- exports.PLUGIN_CLIENTS = ["claude-code", "codex"];
147
- /**
148
- * Every plugin install, in the order to show them: Claude Code in one step,
149
- * the two steps an older Claude Code needs, then Codex.
150
- */
151
- exports.PLUGIN_INSTALLS = ["claude-code", "claude-code-older", "codex"];
152
- /** One plugin install, a command per line: the worker plugin unless `name` says which. */
153
- function pluginLines(install, name = exports.PLUGIN_NAME) {
154
- const id = `${name}@ixo-plugins`;
155
- switch (install) {
156
- case "claude-code":
157
- return `/plugin install ${name} --marketplace ${exports.PLUGIN_MARKETPLACE}`;
158
- case "claude-code-older":
159
- return [`/plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `/plugin install ${id}`].join("\n");
160
- case "codex":
161
- return [`codex plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `codex plugin add ${id}`].join("\n");
162
- }
163
- }
164
- /** The Claude Code install as shell commands, said on one line: for an agent that cannot type a /plugin command but can run `claude`. */
165
- const pluginShellLine = (name) => `claude plugin marketplace add ${exports.PLUGIN_MARKETPLACE} then claude plugin install ${name}@ixo-plugins`;
166
- exports.pluginShellLine = pluginShellLine;
167
- /**
168
- * The Claude app (desktop or claude.ai, paid plans): a person adds the plugin by hand, and its server, which runs on
169
- * their computer, works where Claude can run things on it: the Code tab, or a chat with a folder connected (the former Cowork); not a plain chat (support.claude.com, "Use plugins in Claude").
170
- */
171
- const claudeAppPluginSteps = (names) => `In the Claude app (paid plans) your user adds it themselves: Customize, then Plugins, then Add, then Add marketplace, then Add from a repository, and enter ${exports.PLUGIN_MARKETPLACE}; then on the Discover tab pick ${names} and tap Add. It runs on their computer, so they use it in the app's Code tab or in a chat with a folder connected, not in a plain chat.`;
172
- exports.claudeAppPluginSteps = claudeAppPluginSteps;
173
- /** The one plugin, for a company or a worker: what it does, said once. Every page and tool that shows an install shows it, from here. */
174
- exports.PLUGIN_PATHS = [
175
- {
176
- name: exports.PLUGIN_NAME,
177
- who: "For a company or yourself",
178
- what: "Find Asks, answer them and get paid, post Asks of your own, and set up your company (organisation, how workers are paid, a verifier, review billing). A report ask is answered with Claude (the report and screenshots, which you approve before anything is sent) or on the website."
179
- }
180
- ];
181
- /** The plugin's commands (ixoworld/ixo-plugins), said once: `/asks` works out what the person wants, the rest go straight to one job. */
182
- exports.PLUGIN_COMMANDS_LINE = `Once installed, type /asks and say what you want, or go straight to one job: /asks:create (post an ask or a review, set up a company), /asks:jobs (find work), /asks:invite, /asks:manage, /asks:report (write a review report), /asks:profile, /asks:account, /asks:connect, /asks:help.`;
183
- exports.PLUGIN_WHERE = {
184
- "claude-code": `Claude Code ${exports.CLAUDE_CODE_ONE_STEP} or newer, typed inside a session:`,
185
- "claude-code-older": "An older Claude Code, two lines inside a session:",
186
- codex: "Codex, in a terminal:"
187
- };
188
- /** The plugin as plain text: who it is for, then each install's lines. */
189
- function pluginPathsText(installs = exports.PLUGIN_INSTALLS) {
190
- return exports.PLUGIN_PATHS.map((path) => [`${path.who}: ${path.name}. ${path.what}`, ...installs.map((one) => `${exports.PLUGIN_WHERE[one]}\n${pluginLines(one, path.name)}`)].join("\n\n"));
191
- }
192
- /**
193
- * What the plugin brings and which network to use, said for the site at `network`. One server serves both: every
194
- * tool takes `network`, so there is nothing to set at install.
195
- */
196
- function pluginNetworkNote(network) {
197
- const what = "The plugin brings the server and its skill, for both networks. Every action names one: the real network (`mainnet`) or the sandbox (`testnet`, a dry run with play money).";
198
- return isTest(network) ? `This site is the sandbox. Install ${exports.PLUGIN_NAME}. ${what} Here, use it with \`testnet\` (a dry run, play money).` : what;
199
- }
200
- /**
201
- * The hosted server, for a client that cannot run a local one. It reads the
202
- * board and hands every action back to the site or the local server, so a
203
- * connector needs no key and no sign-in.
204
- */
205
- exports.HOSTED_CLIENTS = ["connector", "claude-code"];
206
- /** One hosted install, for the deployment at `origin`. */
207
- function hostedLines(client, origin) {
208
- const url = (0, exports.hostedUrl)(origin);
209
- return client === "claude-code" ? `claude mcp add --transport http ${exports.MCP_SERVER} ${url}` : url;
210
- }
211
- exports.HOSTED_WHERE = {
212
- connector: "Claude.ai, Claude Desktop or ChatGPT: add a custom connector with this URL. It reads the board; posting and answering need the local server.",
213
- "claude-code": "Claude Code, the hosted server instead of a local one (read-only):"
214
- };
215
128
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}