@ixo/asks-mcp 1.12.0-dev.1 → 1.12.0-dev.2
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.
- package/dist/asks-mcp.mjs +23 -59
- package/package.json +1 -1
package/dist/asks-mcp.mjs
CHANGED
|
@@ -7499,43 +7499,6 @@ var init_callTag = __esm({
|
|
|
7499
7499
|
}
|
|
7500
7500
|
});
|
|
7501
7501
|
|
|
7502
|
-
// ../../app/lib/networkName.ts
|
|
7503
|
-
var NETWORK;
|
|
7504
|
-
var init_networkName = __esm({
|
|
7505
|
-
"../../app/lib/networkName.ts"() {
|
|
7506
|
-
"use strict";
|
|
7507
|
-
NETWORK = process.env.NEXT_PUBLIC_CHAIN_NETWORK || "testnet";
|
|
7508
|
-
}
|
|
7509
|
-
});
|
|
7510
|
-
|
|
7511
|
-
// ../../app/lib/sandbox.ts
|
|
7512
|
-
var init_sandbox = __esm({
|
|
7513
|
-
"../../app/lib/sandbox.ts"() {
|
|
7514
|
-
"use strict";
|
|
7515
|
-
init_networkName();
|
|
7516
|
-
}
|
|
7517
|
-
});
|
|
7518
|
-
|
|
7519
|
-
// ../../app/lib/networks.ts
|
|
7520
|
-
var ORIGIN, originOf, PRO, proOrigin;
|
|
7521
|
-
var init_networks = __esm({
|
|
7522
|
-
"../../app/lib/networks.ts"() {
|
|
7523
|
-
"use strict";
|
|
7524
|
-
init_networkName();
|
|
7525
|
-
init_sandbox();
|
|
7526
|
-
ORIGIN = {
|
|
7527
|
-
mainnet: (process.env.NEXT_PUBLIC_MAINNET_APP_URL || "https://asks.world").replace(/\/+$/, ""),
|
|
7528
|
-
testnet: (process.env.NEXT_PUBLIC_TESTNET_APP_URL || "https://test.asks.world").replace(/\/+$/, "")
|
|
7529
|
-
};
|
|
7530
|
-
originOf = (network2) => ORIGIN[network2 === "mainnet" ? "mainnet" : "testnet"];
|
|
7531
|
-
PRO = { [ORIGIN.mainnet]: "https://pro.asks.world", [ORIGIN.testnet]: "https://pro.test.asks.world" };
|
|
7532
|
-
proOrigin = (origin2) => {
|
|
7533
|
-
const bare = origin2.replace(/\/+$/, "");
|
|
7534
|
-
return PRO[bare] ?? bare;
|
|
7535
|
-
};
|
|
7536
|
-
}
|
|
7537
|
-
});
|
|
7538
|
-
|
|
7539
7502
|
// src/world.ts
|
|
7540
7503
|
function reviewSlugOf(facts) {
|
|
7541
7504
|
const slug = facts.slug ?? (facts.campaign ? slugOfTag(facts.campaign) : null);
|
|
@@ -7545,28 +7508,27 @@ function reviewSlugOf(facts) {
|
|
|
7545
7508
|
function askPage(site, collectionId, facts) {
|
|
7546
7509
|
const base6 = site.replace(/\/+$/, "");
|
|
7547
7510
|
const review = reviewSlugOf(facts);
|
|
7548
|
-
if (review) return `${
|
|
7511
|
+
if (review) return `${base6}/pro/reviews/${collectionId}`;
|
|
7549
7512
|
const slug = facts.slug ?? (facts.campaign ? slugOfTag(facts.campaign) : null);
|
|
7550
7513
|
return slug ? `${base6}/opencall/${slug}` : `${base6}/t/${collectionId}`;
|
|
7551
7514
|
}
|
|
7552
7515
|
function answerPage(site, collectionId, claimId, facts) {
|
|
7553
7516
|
const base6 = site.replace(/\/+$/, "");
|
|
7554
7517
|
const review = reviewSlugOf(facts);
|
|
7555
|
-
return review ? `${
|
|
7518
|
+
return review ? `${base6}/pro/reviews/${collectionId}/report/${encodeURIComponent(claimId)}` : `${base6}/r/${collectionId}/trace/${encodeURIComponent(claimId)}`;
|
|
7556
7519
|
}
|
|
7557
7520
|
function inviteLink(site, token, review) {
|
|
7558
|
-
return review ? `${
|
|
7521
|
+
return review ? `${site.replace(/\/+$/, "")}/pro/i/${token}` : `${site.replace(/\/+$/, "")}/opencall/i/${token}`;
|
|
7559
7522
|
}
|
|
7560
7523
|
var isReviewTitle, proPage, marketplacePage, roomPage;
|
|
7561
7524
|
var init_world = __esm({
|
|
7562
7525
|
"src/world.ts"() {
|
|
7563
7526
|
"use strict";
|
|
7564
7527
|
init_callTag();
|
|
7565
|
-
init_networks();
|
|
7566
7528
|
isReviewTitle = (title) => /^Expert review:/.test(title ?? "");
|
|
7567
|
-
proPage = (site, handle2) => `${
|
|
7568
|
-
marketplacePage = (site, slug) => `${
|
|
7569
|
-
roomPage = (site, collectionId, pro) => `${
|
|
7529
|
+
proPage = (site, handle2) => `${site.replace(/\/+$/, "")}/pro/pros/${handle2}`;
|
|
7530
|
+
marketplacePage = (site, slug) => `${site.replace(/\/+$/, "")}/pro/marketplaces/${slug}`;
|
|
7531
|
+
roomPage = (site, collectionId, pro) => `${site.replace(/\/+$/, "")}/pro/reviews/${collectionId}/with/${encodeURIComponent(pro.replace(/^@/, ""))}`;
|
|
7570
7532
|
}
|
|
7571
7533
|
});
|
|
7572
7534
|
|
|
@@ -263806,7 +263768,7 @@ function callReadout(terms, ctx) {
|
|
|
263806
263768
|
const proMoney = call2.sponsor && call2.share && hire ? `Money: ${feeLine({ split: call2.share, sponsorName: call2.sponsor.name, net: m.entryEach, symbol: ctx.symbol, network: ctx.network ?? "mainnet" })} Up to ${m.entryUpTo} ${m.entryUpTo === 1 ? "report is" : "reports are"} paid, each one that passes all ${n} lines; there is no pick. Held on the ask's own account before anyone enters.` : null;
|
|
263807
263769
|
const out = [
|
|
263808
263770
|
`${review ? "Pro ask" : hire ? "Hiring call" : "Open call"} "${call2.slug}" \xB7 posted by ${call2.poster} \xB7 ${stageWords(call2, ctx.now)}`,
|
|
263809
|
-
...review && ctx.site ? [`Its page: ${
|
|
263771
|
+
...review && ctx.site ? [`Its page: ${ctx.site.replace(/\/+$/, "")}/pro/reviews/${ctx.id}`] : [],
|
|
263810
263772
|
...call2.sponsor ? [`Zone: ${call2.sponsor.name} (sponsor "${call2.sponsor.slug}"), which hosts this pro ask; its pros are LinkedIn verified.`] : [],
|
|
263811
263773
|
call2.title,
|
|
263812
263774
|
call2.lede,
|
|
@@ -263830,7 +263792,6 @@ var init_callRead = __esm({
|
|
|
263830
263792
|
init_dollars();
|
|
263831
263793
|
init_share();
|
|
263832
263794
|
init_feeLine();
|
|
263833
|
-
init_networks();
|
|
263834
263795
|
day = (iso) => new Date(iso).toUTCString().replace(/:\d\d GMT$/, " UTC");
|
|
263835
263796
|
percent = (value) => `${Number(value.toFixed(6))} %`;
|
|
263836
263797
|
shareWords = (share, when3) => `${percent(share.network + share.node)} ${when3}`;
|
|
@@ -264314,7 +264275,7 @@ async function postNextLegNow(slug, ctx) {
|
|
|
264314
264275
|
tag: tagOf(draft),
|
|
264315
264276
|
...draft.fields.cover?.url ? { cover: draft.fields.cover.url } : {},
|
|
264316
264277
|
/* A review's page is in its world (world.ts); every other call's on Open Call. */
|
|
264317
|
-
url: draft.fields.kind === "review" ? `${
|
|
264278
|
+
url: draft.fields.kind === "review" ? `${ctx.site.replace(/\/+$/, "")}/pro/reviews/${slug}` : `${ctx.site.replace(/\/+$/, "")}/opencall/${slug}`,
|
|
264318
264279
|
...dates?.closes ? { endsAt: new Date(new Date(dates.pick ?? dates.closes).getTime() + 30 * 24 * 3600 * 1e3) } : {}
|
|
264319
264280
|
},
|
|
264320
264281
|
{ onMinted: remember2 }
|
|
@@ -264428,7 +264389,6 @@ var init_call2 = __esm({
|
|
|
264428
264389
|
init_net();
|
|
264429
264390
|
init_hq();
|
|
264430
264391
|
init_dollars();
|
|
264431
|
-
init_networks();
|
|
264432
264392
|
init_checkers();
|
|
264433
264393
|
init_callTerms();
|
|
264434
264394
|
init_callTerms();
|
|
@@ -265429,7 +265389,7 @@ async function sharePage(site, signer2, act, fetchImpl) {
|
|
|
265429
265389
|
const prefAt = Date.now();
|
|
265430
265390
|
const message = handsShareMessage(owner, prefAt, act);
|
|
265431
265391
|
const answer = await post(site, "/api/hands/share", { address: signer2.address, ...signer2.principal ? { onBehalfOf: signer2.principal } : {}, prefAt, act, proof: { kind: "adr36", message, ...await signWords(signer2.mnemonic, message) } }, fetchImpl);
|
|
265432
|
-
if (answer.ok && typeof answer.body.code === "string") return { url: `${
|
|
265392
|
+
if (answer.ok && typeof answer.body.code === "string") return { url: `${site.replace(/\/+$/, "")}/pro/p/${answer.body.code}` };
|
|
265433
265393
|
if (answer.status === 404 && !codeOf2(answer)) return { refused: "this site does not make private links yet" };
|
|
265434
265394
|
return { refused: refusalOf(answer) };
|
|
265435
265395
|
}
|
|
@@ -265484,7 +265444,6 @@ var init_invites = __esm({
|
|
|
265484
265444
|
"src/invites.ts"() {
|
|
265485
265445
|
"use strict";
|
|
265486
265446
|
init_world();
|
|
265487
|
-
init_networks();
|
|
265488
265447
|
init_dollars();
|
|
265489
265448
|
init_accountProof();
|
|
265490
265449
|
init_inviteProof();
|
|
@@ -266923,12 +266882,11 @@ var CODE_TTL_MS, CODE, memoFor, connectLinkWithCode, pairingSite;
|
|
|
266923
266882
|
var init_pairing = __esm({
|
|
266924
266883
|
"src/pairing.ts"() {
|
|
266925
266884
|
"use strict";
|
|
266926
|
-
init_networks();
|
|
266927
266885
|
CODE_TTL_MS = 30 * 6e4;
|
|
266928
266886
|
CODE = /^[a-f0-9]{16}$/;
|
|
266929
266887
|
memoFor = (code10) => `openhands-connect:${code10}`;
|
|
266930
266888
|
connectLinkWithCode = (site, agent, code10) => `${site}/connect?agent=${encodeURIComponent(agent)}&code=${code10}`;
|
|
266931
|
-
pairingSite = (site, pairing) => pairing.reviews ? `${
|
|
266889
|
+
pairingSite = (site, pairing) => pairing.reviews ? `${site.replace(/\/+$/, "")}/pro` : site;
|
|
266932
266890
|
}
|
|
266933
266891
|
});
|
|
266934
266892
|
|
|
@@ -292326,7 +292284,7 @@ import { randomBytes as randomBytes7 } from "node:crypto";
|
|
|
292326
292284
|
// package.json
|
|
292327
292285
|
var package_default = {
|
|
292328
292286
|
name: "@ixo/asks-mcp",
|
|
292329
|
-
version: "1.12.0-dev.
|
|
292287
|
+
version: "1.12.0-dev.2",
|
|
292330
292288
|
description: "The Openhands Network MCP server: read the board, answer asks, post work and get paid on the ixo chain, with a key of its own on your machine.",
|
|
292331
292289
|
license: "Apache-2.0",
|
|
292332
292290
|
repository: {
|
|
@@ -292809,8 +292767,17 @@ var meta3 = (name8) => {
|
|
|
292809
292767
|
// src/server.ts
|
|
292810
292768
|
init_world();
|
|
292811
292769
|
|
|
292770
|
+
// ../../app/lib/networkName.ts
|
|
292771
|
+
var NETWORK = process.env.NEXT_PUBLIC_CHAIN_NETWORK || "testnet";
|
|
292772
|
+
|
|
292773
|
+
// ../../app/lib/networks.ts
|
|
292774
|
+
var ORIGIN = {
|
|
292775
|
+
mainnet: (process.env.NEXT_PUBLIC_MAINNET_APP_URL || "https://asks.world").replace(/\/+$/, ""),
|
|
292776
|
+
testnet: (process.env.NEXT_PUBLIC_TESTNET_APP_URL || "https://test.asks.world").replace(/\/+$/, "")
|
|
292777
|
+
};
|
|
292778
|
+
var originOf = (network2) => ORIGIN[network2 === "mainnet" ? "mainnet" : "testnet"];
|
|
292779
|
+
|
|
292812
292780
|
// src/config.ts
|
|
292813
|
-
init_networks();
|
|
292814
292781
|
init_env();
|
|
292815
292782
|
init_net();
|
|
292816
292783
|
init_given();
|
|
@@ -292821,7 +292788,6 @@ var plansEnabled = () => typeof process !== "undefined" && process.env.NEXT_PUBL
|
|
|
292821
292788
|
|
|
292822
292789
|
// src/config.ts
|
|
292823
292790
|
var siteOf = () => (ownEnv().OPENHANDS_SITE || originOf(currentNetwork2())).replace(/\/$/, "");
|
|
292824
|
-
var expertSiteOf = () => proOrigin(siteOf());
|
|
292825
292791
|
function adoptAskDenom(facts) {
|
|
292826
292792
|
adopt({ askDenom: facts.askDenom });
|
|
292827
292793
|
}
|
|
@@ -293007,7 +292973,6 @@ function photoAskRefusal(terms, site, collectionId) {
|
|
|
293007
292973
|
}
|
|
293008
292974
|
|
|
293009
292975
|
// src/server.ts
|
|
293010
|
-
init_networks();
|
|
293011
292976
|
init_net();
|
|
293012
292977
|
|
|
293013
292978
|
// ../../packages/openhands-sdk/src/data/install.ts
|
|
@@ -293790,7 +293755,6 @@ import { basename, isAbsolute, join as join2 } from "node:path";
|
|
|
293790
293755
|
init_cid4();
|
|
293791
293756
|
init_envelope();
|
|
293792
293757
|
init_report();
|
|
293793
|
-
init_networks();
|
|
293794
293758
|
var MAX_FILES = 12;
|
|
293795
293759
|
var MAX_FILE_BYTES = 1e7;
|
|
293796
293760
|
var reportInput = {
|
|
@@ -293863,7 +293827,7 @@ function summaryOf2(report, files, digest2) {
|
|
|
293863
293827
|
`Digest: ${digest2}`
|
|
293864
293828
|
];
|
|
293865
293829
|
}
|
|
293866
|
-
var receiptLine = (site, collectionId, claimId, reviewSlug) => `Receipt: ${reviewSlug ? `${
|
|
293830
|
+
var receiptLine = (site, collectionId, claimId, reviewSlug) => `Receipt: ${reviewSlug ? `${site.replace(/\/+$/, "")}/pro/reviews/${collectionId}/report/${encodeURIComponent(claimId)}` : `${site}/r/${collectionId}/trace/${encodeURIComponent(claimId)}`}`;
|
|
293867
293831
|
async function sendReport(send, world) {
|
|
293868
293832
|
for (const path of send.paths) {
|
|
293869
293833
|
if (!isAbsolute(path) || CONTROL.test(path)) return `Refused: give each file as a full path (starting with /), with no line breaks in it. Nothing was sent.`;
|
|
@@ -294365,7 +294329,7 @@ async function build2(options, server2, parts) {
|
|
|
294365
294329
|
const local = options.mode === "local";
|
|
294366
294330
|
const NETWORK2 = currentNetwork2();
|
|
294367
294331
|
const SITE = siteOf();
|
|
294368
|
-
const EXPERT_SITE =
|
|
294332
|
+
const EXPERT_SITE = siteOf();
|
|
294369
294333
|
const forward = Object.entries(options.forwardHeaders ?? {});
|
|
294370
294334
|
const fetch2 = (input, init) => {
|
|
294371
294335
|
const url4 = typeof input === "string" ? input : input instanceof URL ? input.href : input.url;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ixo/asks-mcp",
|
|
3
|
-
"version": "1.12.0-dev.
|
|
3
|
+
"version": "1.12.0-dev.2",
|
|
4
4
|
"description": "The Openhands Network MCP server: read the board, answer asks, post work and get paid on the ixo chain, with a key of its own on your machine.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|