@t2000/cli 0.22.23 → 0.22.24
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/README.md +1 -10
- package/dist/{chunk-RN7Z6TWD.js → chunk-BPTNEFB5.js} +69 -303
- package/dist/chunk-BPTNEFB5.js.map +1 -0
- package/dist/{chunk-KHIL2KNW.js → chunk-XOAZJ42V.js} +32 -32
- package/dist/{chunk-KHIL2KNW.js.map → chunk-XOAZJ42V.js.map} +1 -1
- package/dist/{client-I4SGZLVD.js → client-CK5OR2TP.js} +2 -2
- package/dist/{dist-FDS4MNUV.js → dist-MJOXMRDV.js} +3 -102
- package/dist/{dist-FDS4MNUV.js.map → dist-MJOXMRDV.js.map} +1 -1
- package/dist/{dist-G5YKLWC5.js → dist-TWST5EWE.js} +9 -25
- package/dist/index.js +81 -252
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-RN7Z6TWD.js.map +0 -1
- /package/dist/{client-I4SGZLVD.js.map → client-CK5OR2TP.js.map} +0 -0
- /package/dist/{dist-G5YKLWC5.js.map → dist-TWST5EWE.js.map} +0 -0
|
@@ -241,7 +241,7 @@ import "./chunk-77SWBATH.js";
|
|
|
241
241
|
import "./chunk-7LGHVVIJ.js";
|
|
242
242
|
import {
|
|
243
243
|
Transaction
|
|
244
|
-
} from "./chunk-
|
|
244
|
+
} from "./chunk-XOAZJ42V.js";
|
|
245
245
|
import "./chunk-3XUF7GM3.js";
|
|
246
246
|
import {
|
|
247
247
|
__export
|
|
@@ -743,4 +743,4 @@ export {
|
|
|
743
743
|
sui,
|
|
744
744
|
suiCharge
|
|
745
745
|
};
|
|
746
|
-
//# sourceMappingURL=client-
|
|
746
|
+
//# sourceMappingURL=client-CK5OR2TP.js.map
|
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
ZodOptional,
|
|
9
9
|
external_exports,
|
|
10
10
|
objectType
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-BPTNEFB5.js";
|
|
12
12
|
import "./chunk-V7PXDEKG.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-XOAZJ42V.js";
|
|
14
14
|
import "./chunk-3XUF7GM3.js";
|
|
15
15
|
import {
|
|
16
16
|
__commonJS,
|
|
@@ -17204,45 +17204,6 @@ Call t2000_services first to discover the right endpoint, then t2000_pay to exec
|
|
|
17204
17204
|
}
|
|
17205
17205
|
}
|
|
17206
17206
|
);
|
|
17207
|
-
server.tool(
|
|
17208
|
-
"t2000_sentinel_list",
|
|
17209
|
-
"List active Sui Sentinels \u2014 AI agents with prize pools you can attack. Shows name, attack fee, prize pool, and attack count. Use this for bounty hunting.",
|
|
17210
|
-
{},
|
|
17211
|
-
async () => {
|
|
17212
|
-
try {
|
|
17213
|
-
const sentinels = await agent.sentinelList();
|
|
17214
|
-
const serializable = sentinels.map((s) => ({
|
|
17215
|
-
...s,
|
|
17216
|
-
attackFee: s.attackFee.toString(),
|
|
17217
|
-
attackFeeSui: Number(s.attackFee) / 1e9,
|
|
17218
|
-
prizePool: s.prizePool.toString(),
|
|
17219
|
-
prizePoolSui: Number(s.prizePool) / 1e9
|
|
17220
|
-
}));
|
|
17221
|
-
return { content: [{ type: "text", text: JSON.stringify(serializable) }] };
|
|
17222
|
-
} catch (err) {
|
|
17223
|
-
return errorResult(err);
|
|
17224
|
-
}
|
|
17225
|
-
}
|
|
17226
|
-
);
|
|
17227
|
-
server.tool(
|
|
17228
|
-
"t2000_sentinel_info",
|
|
17229
|
-
"Get detailed info about a specific Sui Sentinel \u2014 model, system prompt, prize pool, attack history. Use the sentinel ID or object ID from t2000_sentinel_list.",
|
|
17230
|
-
{ id: external_exports.string().describe("Sentinel agent ID or object ID") },
|
|
17231
|
-
async ({ id }) => {
|
|
17232
|
-
try {
|
|
17233
|
-
const s = await agent.sentinelInfo(id);
|
|
17234
|
-
return { content: [{ type: "text", text: JSON.stringify({
|
|
17235
|
-
...s,
|
|
17236
|
-
attackFee: s.attackFee.toString(),
|
|
17237
|
-
attackFeeSui: Number(s.attackFee) / 1e9,
|
|
17238
|
-
prizePool: s.prizePool.toString(),
|
|
17239
|
-
prizePoolSui: Number(s.prizePool) / 1e9
|
|
17240
|
-
}) }] };
|
|
17241
|
-
} catch (err) {
|
|
17242
|
-
return errorResult(err);
|
|
17243
|
-
}
|
|
17244
|
-
}
|
|
17245
|
-
);
|
|
17246
17207
|
server.tool(
|
|
17247
17208
|
"t2000_contacts",
|
|
17248
17209
|
"List saved contacts (name \u2192 address mappings). Use contact names with t2000_send instead of raw addresses. Use t2000_contact_add to save new contacts.",
|
|
@@ -17814,24 +17775,6 @@ ${text}`;
|
|
|
17814
17775
|
}
|
|
17815
17776
|
}
|
|
17816
17777
|
);
|
|
17817
|
-
server.tool(
|
|
17818
|
-
"t2000_sentinel_attack",
|
|
17819
|
-
"Attack a Sui Sentinel with a prompt to try to breach its defenses and win the prize pool. Costs SUI (the attack fee). Use t2000_sentinel_list to find targets first.",
|
|
17820
|
-
{
|
|
17821
|
-
id: external_exports.string().describe("Sentinel agent ID or object ID to attack"),
|
|
17822
|
-
prompt: external_exports.string().describe("Your attack prompt \u2014 try to make the AI do something its system prompt forbids"),
|
|
17823
|
-
fee: external_exports.number().optional().describe("Override attack fee in SUI (default: sentinel's listed fee)")
|
|
17824
|
-
},
|
|
17825
|
-
async ({ id, prompt, fee }) => {
|
|
17826
|
-
try {
|
|
17827
|
-
const feeMist = fee ? BigInt(Math.round(fee * 1e9)) : void 0;
|
|
17828
|
-
const result = await mutex.run(() => agent.sentinelAttack(id, prompt, feeMist));
|
|
17829
|
-
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
17830
|
-
} catch (err) {
|
|
17831
|
-
return errorResult(err);
|
|
17832
|
-
}
|
|
17833
|
-
}
|
|
17834
|
-
);
|
|
17835
17778
|
server.tool(
|
|
17836
17779
|
"t2000_contact_add",
|
|
17837
17780
|
'Save a contact name \u2192 Sui address mapping. After saving, use the name with t2000_send instead of pasting addresses. Example: save "Tom" as 0x1234... then send to "Tom".',
|
|
@@ -18545,47 +18488,6 @@ ${context}
|
|
|
18545
18488
|
};
|
|
18546
18489
|
}
|
|
18547
18490
|
);
|
|
18548
|
-
server.prompt(
|
|
18549
|
-
"sentinel-hunt",
|
|
18550
|
-
"Browse sentinel bounties, pick the best target, and attack \u2014 guided bounty hunting workflow.",
|
|
18551
|
-
async () => ({
|
|
18552
|
-
messages: [{
|
|
18553
|
-
role: "user",
|
|
18554
|
-
content: {
|
|
18555
|
-
type: "text",
|
|
18556
|
-
text: [
|
|
18557
|
-
"You are a bounty hunting strategist for Sui Sentinel \u2014 a game where you try to jailbreak AI agents to win their prize pool.",
|
|
18558
|
-
"",
|
|
18559
|
-
"IMPORTANT: Call t2000_sentinel_list and t2000_balance in parallel.",
|
|
18560
|
-
"",
|
|
18561
|
-
"\u{1F3AF} SENTINEL BOUNTY HUNT",
|
|
18562
|
-
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
|
|
18563
|
-
"",
|
|
18564
|
-
"Step 1 \u2014 Show the best targets:",
|
|
18565
|
-
" Rank sentinels by reward-to-fee ratio (prize pool \xF7 attack fee)",
|
|
18566
|
-
" Show top 5 targets in a table: Name | Fee | Prize Pool | Ratio | Attacks",
|
|
18567
|
-
" Highlight the best value target",
|
|
18568
|
-
"",
|
|
18569
|
-
"Step 2 \u2014 Recommend a target:",
|
|
18570
|
-
" Explain WHY this target is good (high ratio, fewer attempts = less refined defense)",
|
|
18571
|
-
" Show the attack fee and confirm the user can afford it",
|
|
18572
|
-
"",
|
|
18573
|
-
"Step 3 \u2014 Craft the attack:",
|
|
18574
|
-
" If the user picks a target, call t2000_sentinel_info to see its system prompt",
|
|
18575
|
-
" Help the user craft a jailbreak prompt based on the sentinel's system prompt",
|
|
18576
|
-
" Common techniques: role-play scenarios, hypotheticals, emotional appeals, format tricks",
|
|
18577
|
-
" WARNING: Never suggest harmful content \u2014 this is a game about creative prompt engineering",
|
|
18578
|
-
"",
|
|
18579
|
-
"Step 4 \u2014 Execute:",
|
|
18580
|
-
" Run t2000_sentinel_attack with the chosen id and prompt",
|
|
18581
|
-
" Show: score, win/lose, agent response, jury verdict, fee paid",
|
|
18582
|
-
" If they won: celebrate and show the prize!",
|
|
18583
|
-
" If they lost: analyze the response and suggest a different approach for next attempt"
|
|
18584
|
-
].join("\n")
|
|
18585
|
-
}
|
|
18586
|
-
}]
|
|
18587
|
-
})
|
|
18588
|
-
);
|
|
18589
18491
|
server.prompt(
|
|
18590
18492
|
"onboarding",
|
|
18591
18493
|
"New user setup guide \u2014 deposit, first save, set safeguards, explore features.",
|
|
@@ -18630,7 +18532,6 @@ ${context}
|
|
|
18630
18532
|
" - Rebalance \u2014 auto-optimize yield across protocols",
|
|
18631
18533
|
" - Borrow against savings",
|
|
18632
18534
|
" - Send money to contacts",
|
|
18633
|
-
" - Hunt sentinel bounties (jailbreak AI agents for prizes)",
|
|
18634
18535
|
" - Safeguards: per-tx limits, daily caps, emergency lock"
|
|
18635
18536
|
].join("\n")
|
|
18636
18537
|
}
|
|
@@ -18808,4 +18709,4 @@ async function startMcpServer(opts) {
|
|
|
18808
18709
|
export {
|
|
18809
18710
|
startMcpServer
|
|
18810
18711
|
};
|
|
18811
|
-
//# sourceMappingURL=dist-
|
|
18712
|
+
//# sourceMappingURL=dist-MJOXMRDV.js.map
|