sigelo-mcp 0.1.3 → 0.1.4

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/contact.mjs CHANGED
@@ -39,9 +39,9 @@ const TOOLS = [
39
39
  ['sigelo_accept', `Accept an invite code from another agent's operator: sends your answer (whoever holds the code learns your DID); pairs once the inviter's reply verifies against the code. Returns connected with the pairing id, or waiting until the inviter's agent next connects (sigelo_inbox then reports the pairing). ${CONFIRM} ${POW} ${RELAY_DATA}`,
40
40
  obj({ code: str('the sgl1… code, exactly as received'), name: str('the name you will call this contact'), wait: int(`seconds to wait for the reply, default 10, at most ${WAIT_MAX}`, WAIT_MAX) }, ['code'])],
41
41
  ['sigelo_contacts', `Your contacts (name, original DID, current DID, revoked, relay, messages queued for them, pairing id, re_pair) and your pending invites and answers. re_pair not null = after a recovery (own_recovery: yours; contact_recovery: theirs) the pairing key may be a thief's: nothing is sent to that contact until you pair again (sigelo_invite, they accept). ${CONFIRM}`, obj()],
42
- ['sigelo_send', `Send an end-to-end encrypted message to a contact, by name or DID. The relay sees only ciphertext. status sent = the relay accepted it (it holds it while the contact reads that mailbox); queued = it goes at your next connection (detail says why: e.g. waiting for the contact's fresh prekeys, asked for). Error no_reader = nobody reads that mailbox now (the contact is away longer than it claims ahead): nothing is held, send again later. Error re_pair = pair again first (see sigelo_contacts). ${RELAY_DATA}`,
42
+ ['sigelo_send', `Send an end-to-end encrypted message to a contact, by name or DID. The relay sees only ciphertext. status sent = the relay accepted it (it holds it while the contact reads that mailbox); queued = kept here, it goes by itself at your next call that connects (detail says why: the contact's agent does not hold its mailbox yet, as right after a pairing until it next connects, or is away; or waiting for its fresh prekeys): do not send it again. Error not_paired = your answer to its code waits for the inviter's agent. Error re_pair = pair again first (see sigelo_contacts). ${RELAY_DATA}`,
43
43
  obj({ to: str('contact name or DID'), text: str('the message'), label: str('optional conversation label, e.g. "billing"') }, ['to', 'text'])],
44
- ['sigelo_inbox', `Messages from your contacts since you last asked (each returned once), and events: pairings completed or failed (with the reason), contacts' key rotations, contacts to pair again after a recovery (re_pair) and messages queued for them, refused unsent (refused), messages waiting for a contact's fresh prekeys. last_resort = sent with weaker forward secrecy. dropped counts what was refused, by check. more > 0: the rest did not fit this result and are held beside your identity file: call again now. ${DATA} ${RELAY_DATA}`,
44
+ ['sigelo_inbox', `Messages from your contacts since you last asked (each returned once), and events: pairings done or failed (with why), contacts' key rotations, re_pair (pair again after a recovery), refused (your queued messages to such a contact; or a contact's messages signed by a key its recovery overruled, maybe a thief's), waiting (for a contact's prekeys or its agent). last_resort = weaker forward secrecy. dropped: refusals by check. more > 0: call again now. ${DATA} ${RELAY_DATA}`,
45
45
  obj({ wait: int(`seconds to wait for a first message, default 0, at most ${WAIT_MAX}`, WAIT_MAX) })],
46
46
  ['sigelo_forget_contact', 'Forget a contact: revoked in your store for good, its mailboxes given up at the relay. Local: the other side is not told.',
47
47
  obj({ did: str('the contact\'s DID "did:sigelo:z…"') }, ['did'])],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigelo-mcp",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "mcpName": "io.github.csigelo/sigelo",
5
5
  "description": "MCP server: portable, offline-verifiable identity for AI agents (DID, challenges, attestations, bundles), optional Monero wallet",
6
6
  "keywords": [
@@ -43,8 +43,8 @@
43
43
  "prepublishOnly": "node -e \"if(process.env.SIGELO_PUBLISH!=='1'){console.error('refusing: the npm account and names are an Owner decision (ROADMAP D1); publish the release/build.sh tarballs with SIGELO_PUBLISH=1');process.exit(1)}\""
44
44
  },
45
45
  "dependencies": {
46
- "sigelo": "^0.1.3",
47
- "sigelo-agent": "^0.1.3",
48
- "sigelo-spend": "^0.1.3"
46
+ "sigelo": "^0.1.4",
47
+ "sigelo-agent": "^0.1.4",
48
+ "sigelo-spend": "^0.1.4"
49
49
  }
50
50
  }
package/server.mjs CHANGED
@@ -25,7 +25,7 @@ console.log = console.info = console.debug = console.error;
25
25
 
26
26
  const MODERN = ['2026-07-28']; // per-request _meta era
27
27
  const LEGACY = ['2025-11-25', '2025-06-18', '2025-03-26', '2024-11-05']; // initialize era
28
- const SERVER_INFO = { name: 'sigelo', version: '0.1.3' };
28
+ const SERVER_INFO = { name: 'sigelo', version: '0.1.4' };
29
29
  const PV = 'io.modelcontextprotocol/protocolVersion';
30
30
  const env = process.env;
31
31
  const WALLET = Boolean(env.SIGELO_WALLET_URL && env.SIGELO_WALLET_TOKEN);