@ixo/asks-mcp 1.12.0-dev.3 → 1.12.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.
- package/dist/asks-mcp.mjs +10 -10
- package/package.json +1 -1
package/dist/asks-mcp.mjs
CHANGED
|
@@ -263660,7 +263660,7 @@ var init_callTerms = __esm({
|
|
|
263660
263660
|
};
|
|
263661
263661
|
reviewStart = (title) => (
|
|
263662
263662
|
/* The person copies this into their agent, so it is in their words: no tool names (expert prompts review, 2.6). */
|
|
263663
|
-
`I'm taking part in the review "${title ?? "\u2026"}" on
|
|
263663
|
+
`I'm taking part in the review "${title ?? "\u2026"}" on Pro Asks. Show me what the review asks for, then help me try each scenario and keep notes and screenshots as I go: what I did, what I expected and what I saw. Write up my findings with me, each with how serious it is and how to reproduce it, and my recommendations. Show me all of it, and hand it in as my report only when I say so.`
|
|
263664
263664
|
);
|
|
263665
263665
|
isReady = (fields) => missingOf(fields, { symbol: "", holds: null }).length === 0;
|
|
263666
263666
|
legOrder = (fields) => legsOf({ mode: fields.mode === "hire" ? "hire" : void 0, money: fields.money ?? { prize: 0, runnersN: 0, runnersEach: 0, entryEach: 0, entryUpTo: 0 } });
|
|
@@ -265421,7 +265421,7 @@ ${p.education.map((one) => ` ${one.year ? `${one.year} \xB7 ` : ""}${one.title}
|
|
|
265421
265421
|
${block2.paragraphs.join("\n")}` : block2.kind === "pictures" ? `Pictures: ${block2.items.map((one) => `${one.alt} ${one.url}`).join("; ")}` : `Files: ${block2.items.map((one) => `${one.name} ${one.url}`).join("; ")}`
|
|
265422
265422
|
),
|
|
265423
265423
|
p.links.length ? `Links: ${p.links.join(" ")}` : "",
|
|
265424
|
-
`Page: ${proPage(site, p.handle)}
|
|
265424
|
+
`Page: ${proPage(site, p.handle)}`
|
|
265425
265425
|
].filter(Boolean).join("\n");
|
|
265426
265426
|
}
|
|
265427
265427
|
async function startLinkedin(site, signer2, fetchImpl) {
|
|
@@ -292284,7 +292284,7 @@ import { randomBytes as randomBytes7 } from "node:crypto";
|
|
|
292284
292284
|
// package.json
|
|
292285
292285
|
var package_default = {
|
|
292286
292286
|
name: "@ixo/asks-mcp",
|
|
292287
|
-
version: "1.12.0
|
|
292287
|
+
version: "1.12.0",
|
|
292288
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.",
|
|
292289
292289
|
license: "Apache-2.0",
|
|
292290
292290
|
repository: {
|
|
@@ -292647,7 +292647,7 @@ var TOOLS = {
|
|
|
292647
292647
|
},
|
|
292648
292648
|
set_my_page: {
|
|
292649
292649
|
title: "Write your pro page",
|
|
292650
|
-
description: "Make or change the pro page of the person you act for (or this key's own): the page posters find and invite them by, on
|
|
292650
|
+
description: "Make or change the pro page of the person you act for (or this key's own): the page posters find and invite them by, on Pro Asks and across asks.world. A handle, a name, a headline, what they do, a rate, links, availability, whether posters may invite them by handle, and `listed`: public (the default, anyone can find the page) or private (off asks.world and search; only someone who types the exact handle or address can invite them). Ask once, plainly, which they want. A private page can have a secret link (`share_link`: create, or replace to switch the old one off), said once on confirm. Previews by default; call again with confirm: true to sign. For guided setup, follow /pro/mcp.md#create-your-pro-profile on the matching Pro Asks host. Start with connect_linkedin: its verified profile pre-fills the name, headline, LinkedIn link and handle; ask only for what LinkedIn lacks (the work they take, rate, availability, a line about them). This tool reads no site itself, so build the rest from what the person tells you or pastes. Spends nothing.",
|
|
292651
292651
|
spends: false,
|
|
292652
292652
|
hosted: false,
|
|
292653
292653
|
annotations: { ...acts, idempotentHint: true }
|
|
@@ -292668,7 +292668,7 @@ var TOOLS = {
|
|
|
292668
292668
|
},
|
|
292669
292669
|
list_marketplaces: {
|
|
292670
292670
|
title: "List Zones",
|
|
292671
|
-
description: "The Zones of
|
|
292671
|
+
description: "The Zones of Pro Asks: a pro ask names one (draft_call's `sponsor`): the pros invited are LinkedIn verified, and it earns the Zone's share of each approved report. For each: its name and slug, what it does, since when, and how many LinkedIn-verified pros are on its roster. A pro gets on every roster with connect_linkedin. Nothing ranks them. Spends nothing.",
|
|
292672
292672
|
spends: false,
|
|
292673
292673
|
hosted: false,
|
|
292674
292674
|
annotations: reads
|
|
@@ -292689,7 +292689,7 @@ var TOOLS = {
|
|
|
292689
292689
|
},
|
|
292690
292690
|
set_marketplace_page: {
|
|
292691
292691
|
title: "Write your Zone's page",
|
|
292692
|
-
description: "Write the page of the Zone the person you act for hosts (or this key's own, when it is the Zone's account) on
|
|
292692
|
+
description: "Write the page of the Zone the person you act for hosts (or this key's own, when it is the Zone's account) on Pro Asks: its own words, under the line every Zone's page opens with. A deck line, a logo, a cover, its story in paragraphs, how it verifies pros as steps, pictures and links; every picture, logo and link is an https address on its own site, and nothing is uploaded. It replaces the page whole. Previews the page as text by default: show it to the person, and call again with confirm: true to sign and publish it only once they say yes. Only an approved Zone's account, or the agent it connected, can. Answers with the page's address. Spends nothing.",
|
|
292693
292693
|
spends: false,
|
|
292694
292694
|
hosted: false,
|
|
292695
292695
|
annotations: { ...acts, idempotentHint: true }
|
|
@@ -296178,7 +296178,7 @@ tx ${result.transactionHash}${leftWords}`);
|
|
|
296178
296178
|
};
|
|
296179
296179
|
if (offered("get_connect_link")) server2.registerTool(
|
|
296180
296180
|
"get_connect_link",
|
|
296181
|
-
{ ...meta3("get_connect_link"), inputSchema: { reviews: external_exports.boolean().optional().describe("true when the person is a builder or specialist on
|
|
296181
|
+
{ ...meta3("get_connect_link"), inputSchema: { reviews: external_exports.boolean().optional().describe("true when the person is a builder or specialist on Pro Asks: the link opens the same connect page inside that world.") } },
|
|
296182
296182
|
async ({ reviews }) => {
|
|
296183
296183
|
const mine = await address2();
|
|
296184
296184
|
const pairing = await Promise.resolve().then(() => (init_pairing(), pairing_exports));
|
|
@@ -296559,7 +296559,7 @@ Mapping pays for the report. What happens to a mapped pin afterwards is a separa
|
|
|
296559
296559
|
brief: external_exports.array(external_exports.string().max(1500)).max(8).optional().describe("The story, up to eight short paragraphs, in the person's words."),
|
|
296560
296560
|
lines: external_exports.array(external_exports.object({ text: external_exports.string().max(300), fail: external_exports.string().max(300).optional() })).max(5).optional().describe('The five requirements the jury reviews. For each, write the requirement in `text` and the condition that fails it in `fail`. Write `fail` as a clause completing "Fail this only if \u2026", for example "it names no page". Include all five.'),
|
|
296561
296561
|
mode: external_exports.enum(["competition", "hire"]).optional().describe("competition: a pick and runners-up beside the paid entries. hire: every entry that passes is paid the same, up to a number, and nobody is picked."),
|
|
296562
|
-
kind: external_exports.literal("review").optional().describe("review: a pro ask on
|
|
296562
|
+
kind: external_exports.literal("review").optional().describe("review: a pro ask on Pro Asks, a review of an app or an agent. LinkedIn-verified pros, invited through the Zone you name (sponsor), try the scenarios and hand in review reports; every report that passes the lines is paid the same (a hire); by invitation only; the five lines default to the review's own unless given. Asky Pro Checker, the verifier, checks each report for its own fee per check, held with the reward."),
|
|
296563
296563
|
sponsor: external_exports.string().max(40).optional().describe("A pro ask: the Zone's slug, as list_marketplaces gives it. The pros you invite come from its roster; it earns the Zone's share."),
|
|
296564
296564
|
subject: external_exports.object({ name: external_exports.string().max(120), version: external_exports.string().max(40).optional(), where: external_exports.string().max(2048).optional() }).optional().describe("A review: what is reviewed, the version to test, and where a specialist finds it (a public address). Private access goes in the invitation note, never here."),
|
|
296565
296565
|
scenarios: external_exports.array(external_exports.string().max(300)).max(8).optional().describe("A review: the scenarios to try, one line each; every report must cover each with a step."),
|
|
@@ -297335,7 +297335,7 @@ Here's your private link: ${link5.url}. Anyone with it can see your page; ask me
|
|
|
297335
297335
|
|
|
297336
297336
|
No private link was made: ${link5.refused}.`;
|
|
297337
297337
|
if (read9.profile.listed === false) return text4(`Saved the private profile for ${answer.address}. It is not shown on asks.world or in search; posters who type "@${answer.handle}" or the address can still invite them.${linkLine}`);
|
|
297338
|
-
return text4(`Published the profile for ${answer.address}: ${proPage(SITE, answer.handle)}.
|
|
297338
|
+
return text4(`Published the profile for ${answer.address}: ${proPage(SITE, answer.handle)}. Posters invite them with "@${answer.handle}".${linkLine}`);
|
|
297339
297339
|
}
|
|
297340
297340
|
);
|
|
297341
297341
|
if (offered("my_page")) server2.registerTool("my_page", { ...meta3("my_page"), inputSchema: {} }, async () => {
|
|
@@ -297492,7 +297492,7 @@ ${asData("linkedin", JSON.stringify(prefill, null, 2))}`
|
|
|
297492
297492
|
if (!confirm)
|
|
297493
297493
|
return text4(
|
|
297494
297494
|
[
|
|
297495
|
-
`This takes down @${page.profile.handle} (${where2}
|
|
297495
|
+
`This takes down @${page.profile.handle} (${where2}), the page of ${owner}${acting ? ", the person this key acts for" : ""}:`,
|
|
297496
297496
|
`- The page and everything on it are deleted: the CV, the rate, the links, and the LinkedIn tick (that LinkedIn can verify again later). It leaves the Hands directory. This can't be undone.`,
|
|
297497
297497
|
`- The handle @${page.profile.handle} is freed, and anybody may take it. Posters can no longer invite them by it.`,
|
|
297498
297498
|
`- Invitations already on a call's list name the address, and stay. Their work and decisions are the public record and are not touched.`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ixo/asks-mcp",
|
|
3
|
-
"version": "1.12.0
|
|
3
|
+
"version": "1.12.0",
|
|
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": {
|