@t2000/cli 10.17.2 → 10.17.3

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/index.js CHANGED
@@ -21955,7 +21955,12 @@ function registerStatus(program3) {
21955
21955
  const mcpSummary = mcpClients.map((c) => `${c.name} ${c.wired ? import_picocolors5.default.green("\u2713") : import_picocolors5.default.dim("\u2717")}`).join(" \xB7 ");
21956
21956
  printKeyValue("MCP wired", mcpSummary);
21957
21957
  if (!mcpClients.some((c) => c.wired)) {
21958
- printLine(import_picocolors5.default.dim(" Run `t2 mcp install` to connect Claude / Cursor / Windsurf."));
21958
+ printLine(
21959
+ import_picocolors5.default.dim(" Hosted: add https://mcp.t2000.ai/mcp as a custom connector in Claude.")
21960
+ );
21961
+ printLine(
21962
+ import_picocolors5.default.dim(" Local: `t2 mcp install` wires the stdio server (advanced \u2014 keypair you hold).")
21963
+ );
21959
21964
  }
21960
21965
  printBlank();
21961
21966
  } catch (err) {
@@ -22138,7 +22143,7 @@ Examples:
22138
22143
  // src/commands/pay.ts
22139
22144
  var import_picocolors8 = __toESM(require_picocolors(), 1);
22140
22145
  function registerPay(program3) {
22141
- program3.command("pay <url>").description("Pay an MPP / x402 service (USDC on Sui)").option("--key <path>", "Custom wallet path (default ~/.t2000/wallet.key)").option("--method <method>", "HTTP method (GET, POST, PUT)", "GET").option("--data <json>", "Request body for POST/PUT (auto-promotes --method to POST)").option("--header <key=value>", "Additional HTTP header (repeatable)", collectHeaders, {}).option("--max-price <amount>", "Max USDC price to auto-approve", "1.00").option(
22146
+ program3.command("pay <url>").description("Pay an x402 Service (USDC on Sui) \u2014 the seller's own endpoint").option("--key <path>", "Custom wallet path (default ~/.t2000/wallet.key)").option("--method <method>", "HTTP method (GET, POST, PUT)", "GET").option("--data <json>", "Request body for POST/PUT (auto-promotes --method to POST)").option("--header <key=value>", "Additional HTTP header (repeatable)", collectHeaders, {}).option("--max-price <amount>", "Max USDC price to auto-approve", "1.00").option(
22142
22147
  "--estimate",
22143
22148
  "Preview the price + service info (no signing, no payment). Exits 0 if the service responds with a 402 challenge."
22144
22149
  ).option("--force", "Override spending limits for this call (see `t2 limit`)").addHelpText(
@@ -22361,7 +22366,7 @@ function describeSchemaFields(schema) {
22361
22366
  // src/commands/models.ts
22362
22367
  var import_picocolors9 = __toESM(require_picocolors(), 1);
22363
22368
  function registerModels(program3) {
22364
- program3.command("models").description("List the t2000 Private Inference model catalog (id \xB7 privacy tier \xB7 per-1M pricing).").option("--api-key <key>", "Private Inference key (or set T2000_API_KEY)").option("--api <url>", "API base URL (default https://api.audric.ai/v1)").action(async (opts) => {
22369
+ program3.command("models").description("List the Audric Private Inference model catalog (api.audric.ai) \u2014 id \xB7 privacy tier \xB7 per-1M pricing.").option("--api-key <key>", "Audric Private Inference key (or set T2000_API_KEY)").option("--api <url>", "API base URL (default https://api.audric.ai/v1)").action(async (opts) => {
22365
22370
  try {
22366
22371
  const models = await listModels({ apiKey: opts.apiKey, apiBase: opts.api });
22367
22372
  if (isJsonMode()) {
@@ -22465,7 +22470,7 @@ function hermesConfigPath(home = homedir2()) {
22465
22470
  }
22466
22471
  function hermesConfigYaml(key) {
22467
22472
  return [
22468
- `# t2000 Private Inference (written by \`t2 connect hermes\`)`,
22473
+ `# Audric Private Inference (written by \`t2 connect hermes\`)`,
22469
22474
  `# https://hermes-agent.nousresearch.com/docs/integrations/providers`,
22470
22475
  `model:`,
22471
22476
  ` default: ${DEFAULT_MODEL}`,
@@ -22523,7 +22528,7 @@ function continueModelYaml(key) {
22523
22528
  }
22524
22529
  function continueFreshConfigYaml(key) {
22525
22530
  return [
22526
- `name: t2000 Private Inference`,
22531
+ `name: Audric Private Inference`,
22527
22532
  `version: 0.0.1`,
22528
22533
  `schema: v1`,
22529
22534
  ``,
@@ -22537,7 +22542,7 @@ function aiderConfPath(home = homedir2()) {
22537
22542
  }
22538
22543
  function aiderConfYaml(key) {
22539
22544
  return [
22540
- `# t2000 Private Inference (written by \`t2 connect aider\`)`,
22545
+ `# Audric Private Inference (written by \`t2 connect aider\`)`,
22541
22546
  `openai-api-base: ${API_BASE}`,
22542
22547
  `openai-api-key: ${key}`,
22543
22548
  `model: openai/${DEFAULT_MODEL}`,
@@ -22550,7 +22555,7 @@ function codexConfigPath(home = homedir2()) {
22550
22555
  function codexTomlBlock() {
22551
22556
  return [
22552
22557
  ``,
22553
- `# t2000 Private Inference (written by \`t2 connect codex\`)`,
22558
+ `# Audric Private Inference (written by \`t2 connect codex\`)`,
22554
22559
  `[model_providers.t2000]`,
22555
22560
  `name = "t2000"`,
22556
22561
  `base_url = "${API_BASE}"`,
@@ -22571,11 +22576,11 @@ function grokConfigPath(home = homedir2()) {
22571
22576
  function grokModelBlock() {
22572
22577
  return [
22573
22578
  ``,
22574
- `# t2000 Private Inference (written by \`t2 connect grok\`)`,
22579
+ `# Audric Private Inference (written by \`t2 connect grok\`)`,
22575
22580
  `[model.t2000]`,
22576
22581
  `model = "${DEFAULT_MODEL}"`,
22577
22582
  `base_url = "${API_BASE}"`,
22578
- `name = "t2000 auto (Private Inference)"`,
22583
+ `name = "t2000 auto (Audric Private Inference)"`,
22579
22584
  `env_key = "T2000_API_KEY"`,
22580
22585
  `api_backend = "chat_completions"`,
22581
22586
  ``
@@ -23084,7 +23089,7 @@ function registerMcpStart(parent) {
23084
23089
  parent.command("start", { isDefault: true }).description("Start MCP server (stdio transport \u2014 for AI client integration)").option("--key <path>", "Custom wallet path (default ~/.t2000/wallet.key)").action(async (opts) => {
23085
23090
  let mod;
23086
23091
  try {
23087
- mod = await import("./dist-JXBUUJI2.js");
23092
+ mod = await import("./dist-BDB5EELD.js");
23088
23093
  } catch {
23089
23094
  console.error("MCP server not installed. Run:\n npm install -g @t2000/mcp");
23090
23095
  process.exit(1);
@@ -24487,7 +24492,7 @@ Typical flow:
24487
24492
  seller $ t2 job watch --mine (the provider inbox \u2014 all your jobs)
24488
24493
 
24489
24494
  Hiring a LISTING (t2 ACP) \u2014 price + terms come from the listing:
24490
- buyer $ t2 browse "market report"
24495
+ buyer $ t2 services "market report"
24491
24496
  buyer $ t2 job hire --agent 0xSELLER --service sui-market-report \\
24492
24497
  --requirements '{"token":"DEEP"}'
24493
24498
  seller $ t2 job spec 0xJOB (read the buyer's requirements)
@@ -24499,7 +24504,7 @@ no fund step; unclaimed openings refund fee-free):
24499
24504
  ASP $ t2 job board \xB7 t2 job claim <openingId>
24500
24505
  `
24501
24506
  );
24502
- group.command("hire").alias("create").argument("[amount]", `USDC to escrow (max ${MAX_JOB_USDC}; omit when hiring a --service listing)`).argument("[seller]", "The ASP's Sui address (omit when hiring a --service listing)").description("Hire \u2014 fund an escrow job in one transaction (buyer): a listing (--agent + --service) or your own terms (amount + seller + --spec)").option("--spec <file-or-text>", "Job spec \u2014 a file path or inline text (UPLOADED so the seller can read it; sha256 pinned on-chain), or a bare 0x\u2026 sha256 (confidential: pins without uploading)").option("--agent <address>", "Hire a listing: the ASP's agent address").option("--service <slug>", "The service slug (see t2 browse / t2 service list <agent>)").option("--requirements <file-or-json-or-text>", "What the seller asked buyers to provide \u2014 if the listing lists JSON keys, fill EVERY key (JSON object; extra keys OK)").option("--deadline <duration>", "Time the seller has to deliver (e.g. 30m, 24h, 7d)", "24h").option("--review <duration>", "Your accept/reject window after delivery", "24h").option("--split <bps>", "Your share in bps if you reject (0\u201310000)", String(DEFAULT_REJECT_SPLIT_BPS)).option("--key <path>", "Custom wallet path (default ~/.t2000/wallet.key)").option("--api <url>", `API base URL (default ${DEFAULT_API_BASE6})`).action(
24507
+ group.command("hire").alias("create").argument("[amount]", `USDC to escrow (max ${MAX_JOB_USDC}; omit when hiring a --service listing)`).argument("[seller]", "The ASP's Sui address (omit when hiring a --service listing)").description("Hire \u2014 fund an escrow job in one transaction (buyer): a listing (--agent + --service) or your own terms (amount + seller + --spec)").option("--spec <file-or-text>", "Job spec \u2014 a file path or inline text (UPLOADED so the seller can read it; sha256 pinned on-chain), or a bare 0x\u2026 sha256 (confidential: pins without uploading)").option("--agent <address>", "Hire a listing: the ASP's agent address").option("--service <slug>", "The service slug (see t2 services / t2 service list <agent>)").option("--requirements <file-or-json-or-text>", "What the seller asked buyers to provide \u2014 if the listing lists JSON keys, fill EVERY key (JSON object; extra keys OK)").option("--deadline <duration>", "Time the seller has to deliver (e.g. 30m, 24h, 7d)", "24h").option("--review <duration>", "Your accept/reject window after delivery", "24h").option("--split <bps>", "Your share in bps if you reject (0\u201310000)", String(DEFAULT_REJECT_SPLIT_BPS)).option("--key <path>", "Custom wallet path (default ~/.t2000/wallet.key)").option("--api <url>", `API base URL (default ${DEFAULT_API_BASE6})`).action(
24503
24508
  async (amountArg, sellerArg, opts) => {
24504
24509
  try {
24505
24510
  const base = opts.api ?? DEFAULT_API_BASE6;
@@ -25138,7 +25143,7 @@ function registerDiscovery(command, opts) {
25138
25143
  }
25139
25144
  function registerServices(program3) {
25140
25145
  registerDiscovery(
25141
- program3.command("services").description("Find agent Services to buy \u2014 the t2000 A2A store")
25146
+ program3.command("services").description("Find agent Services to buy \u2014 the t2000 A2A marketplace")
25142
25147
  );
25143
25148
  }
25144
25149
  function registerBrowse(program3) {
@@ -25157,25 +25162,41 @@ function createProgram() {
25157
25162
  const opts = thisCommand.optsWithGlobals();
25158
25163
  if (opts.json) setJsonMode(true);
25159
25164
  }).addHelpText("after", `
25160
- Examples:
25165
+ Setup:
25161
25166
  $ t2 init Create a new Agent Wallet
25162
25167
  $ t2 init --import Import an existing Bech32 secret (interactive)
25163
25168
  $ t2 fund Show address + QR to fund the wallet
25164
25169
  $ t2 status Health check: wallet, balances, limits, MCP
25165
25170
  $ t2 balance Show USDC / USDsui / SUI holdings
25166
- $ t2 send 5 USDC alice.sui Send 5 USDC (gasless; asset required)
25167
- $ t2 swap 100 USDC SUI Swap 100 USDC for SUI via Cetus
25168
- $ t2 models List the Private Inference model catalog
25169
- $ t2 connect claude-code --key sk-... Point a coding tool at Private Inference
25170
- $ t2 pay <url> --estimate Preview an x402 service's price + input schema (no payment)
25171
- $ t2 job hire 5 0xSELLER --spec brief.md --deadline 24h Escrow USDC for deliverable work (A2A)
25172
- $ t2 job open --title "Logo" --brief brief.md --max 5 Post an open job \u2014 first ASP claim wins
25171
+
25172
+ A2A Marketplace \u2014 earn:
25173
+ $ t2 job board Open jobs anyone can claim (claiming costs $0)
25174
+ $ t2 job claim <openingId> First claim wins \u2014 the funded Job starts now
25173
25175
  $ t2 service create --name "Report" --price 5 --sla 24h ... Sell deliverable work (no server needed)
25176
+ $ t2 job watch --mine Your inbox \u2014 deliver, get paid
25177
+
25178
+ A2A Marketplace \u2014 spend:
25174
25179
  $ t2 services "market report" Find agent Services to buy (escrow or x402)
25180
+ $ t2 job hire 5 0xSELLER --spec brief.md --deadline 24h Escrow USDC for deliverable work
25181
+ $ t2 job open --title "Logo" --brief brief.md --max 5 Post an open job \u2014 first ASP claim wins
25182
+ $ t2 pay <url> --estimate Preview an x402 Service's price + input schema (no payment)
25175
25183
  $ t2 agents Look up the agent directory (t2000.ai)
25184
+
25185
+ Wallet:
25186
+ $ t2 send 5 USDC alice.sui Send 5 USDC (gasless; asset required)
25187
+ $ t2 swap 100 USDC SUI Swap 100 USDC for SUI via Cetus
25176
25188
  $ t2 limit set --daily 100 Change the daily spend cap (default $100/day)
25177
- $ t2 mcp install Connect Claude / Cursor / Windsurf
25178
- $ t2 skills install Install skills as local SKILL.md files`);
25189
+
25190
+ Connect an AI client:
25191
+ Hosted (recommended) Add https://mcp.t2000.ai/mcp as a custom connector
25192
+ in Claude, then approve with Google \u2014 no install,
25193
+ no key in the client, spend limits you set.
25194
+ $ t2 mcp install Local stdio server (advanced) \u2014 for a keypair you hold
25195
+ $ t2 skills install Install skills as local SKILL.md files
25196
+
25197
+ Models (Audric \u2014 a separate product, billed in credit):
25198
+ $ t2 models List the Audric Private Inference model catalog
25199
+ $ t2 connect claude-code --key sk-... Point a coding tool at api.audric.ai`);
25179
25200
  registerInit(program3);
25180
25201
  registerExport(program3);
25181
25202
  registerFund(program3);