@thelakeprotocol/agent 0.1.0 → 0.2.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/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  **Status: runs, end-to-end tested.** Join the Lake in ten lines, or give any MCP assistant the Lake.
4
4
 
5
+ ```bash
6
+ npm install @thelakeprotocol/agent
7
+ ```
8
+
5
9
  ```ts
6
10
  import { joinLake } from '@thelakeprotocol/agent';
7
11
 
@@ -18,4 +22,4 @@ await me.close();
18
22
  | `me.knock(houseUrl, terms)` | One signed offer to one house; its signed answer |
19
23
  | `me.study(question, o)` | The whole mission: mandate, ethics, audit, knock, bargain, agree, compute in place, pay, answer |
20
24
 
21
- **MCP connector:** `lake mcp` (this package's `lake` bin, also `docker run -i --rm --network lake_default ghcr.io/thelakeprotocol/lake mcp`). Tools: `lake_overview`, `lake_search`, `lake_knock`, `lake_dispatch_study`. Setup: [Build an agent](https://lake.doneinfifty.com/docs/build-an-agent).
25
+ **MCP connector:** `lake mcp` (this package's `lake` bin, also `docker run -i --rm --network lake_default ghcr.io/thelakeprotocol/lake mcp`). Tools: `lake_overview`, `lake_search`, `lake_knock`, `lake_ask`, `lake_dispatch_study`. SDK: `joinLake()` → `find`, `knock`, `ask`, `study`, `close`. Setup: [Build an agent](https://lake.doneinfifty.com/docs/build-an-agent).
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export interface LakeAgentOptions {
6
6
  name: string;
7
7
  /** The domain that answers for this agent. Outside a sandbox it must publish your key (SPEC §2.3). */
8
8
  domain: string;
9
- /** A Lake node to register with and search. */
9
+ /** One or more Lake nodes (comma-separated) to register with and search. */
10
10
  node: string;
11
11
  /** Port to serve this agent's card on. Default 4800. */
12
12
  port?: number;
@@ -49,6 +49,10 @@ export interface LakeAgent {
49
49
  }[]>;
50
50
  /** One signed offer to one house; the house's verified, signed reply. */
51
51
  knock(houseUrl: string, terms: Omit<Offer, 'id' | 'requester'>): Promise<Record<string, unknown>>;
52
+ /** Any signed message to any Lake agent (the guide, the inspector, …); its verified, signed reply. */
53
+ ask(agentUrl: string, payload: Record<string, unknown> & {
54
+ kind: string;
55
+ }): Promise<Record<string, unknown>>;
52
56
  /** A whole study: ethics, audit, knock every house, bargain, agree, compute in place, pay, answer. */
53
57
  study(question: string, o?: StudyOptions): Promise<MissionResult>;
54
58
  close(): Promise<void>;
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { homedir, hostname } from 'node:os';
3
- import { generateIdentity, lakeAgentApp, LakeLink, loadOrCreateIdentity, signMessage, } from '@thelakeprotocol/core';
4
- import { dispatch, knock, makeHuman, makeVisitor, readmissionStudy } from '@thelakeprotocol/visitor';
3
+ import { generateIdentity, lakeAgentApp, LakeLinks, loadOrCreateIdentity, signMessage, } from '@thelakeprotocol/core';
4
+ import { ask, dispatch, knock, makeHuman, makeVisitor, readmissionStudy } from '@thelakeprotocol/visitor';
5
5
  /**
6
6
  * Join the Lake:
7
7
  *
@@ -15,12 +15,12 @@ export async function joinLake(o) {
15
15
  const base = (o.publicUrl ?? `http://${existsSync('/.dockerenv') ? hostname() : 'localhost'}:${port}`).replace(/\/$/, '');
16
16
  const id = o.keyFile ? await loadOrCreateIdentity(o.keyFile) : await generateIdentity();
17
17
  const visitor = await makeVisitor(id, o.domain, o.name, `${base}/a2a`);
18
- const node = o.node.replace(/\/$/, '');
18
+ const nodes = o.node.split(',').map((u) => u.trim().replace(/\/$/, '')).filter(Boolean);
19
19
  // Serve our card while we're around, so a node can verify it and others can look us up.
20
20
  const busy = async () => ({ lake: '0.1', card: visitor.card, envelope: (await signMessage({ kind: 'rejected', code: 'busy', why: 'this agent visits; it does not take offers' }, id, { iss: visitor.webId })) });
21
21
  const server = lakeAgentApp(visitor.card, busy).listen(port);
22
22
  await new Promise((ok) => server.once('listening', ok));
23
- const link = new LakeLink({ nodeUrl: node, card: visitor.card, identity: id, webId: visitor.webId });
23
+ const link = new LakeLinks({ nodeUrls: nodes, card: visitor.card, identity: id, webId: visitor.webId });
24
24
  await link.register(10);
25
25
  return {
26
26
  card: visitor.card,
@@ -28,7 +28,18 @@ export async function joinLake(o) {
28
28
  domain: o.domain,
29
29
  async find(q = {}) {
30
30
  const params = new URLSearchParams(Object.entries(q).filter(([, v]) => v));
31
- const found = (await (await fetch(`${node}/cards?${params}`)).json());
31
+ let found = null;
32
+ for (const node of nodes) {
33
+ try {
34
+ found = (await (await fetch(`${node}/cards?${params}`, { signal: AbortSignal.timeout(5000) })).json());
35
+ break;
36
+ }
37
+ catch {
38
+ // try the next node
39
+ }
40
+ }
41
+ if (!found)
42
+ throw new Error('no Lake node reachable');
32
43
  return found.map(({ card }) => {
33
44
  const p = card.capabilities?.extensions?.[0]?.params;
34
45
  return { name: card.name, role: p.role, domain: p.ownerDomain, tags: p.tags, url: card.supportedInterfaces[0].url };
@@ -37,10 +48,13 @@ export async function joinLake(o) {
37
48
  async knock(houseUrl, terms) {
38
49
  return (await knock(houseUrl, visitor, terms)).reply;
39
50
  },
51
+ async ask(agentUrl, payload) {
52
+ return (await ask(agentUrl, visitor, payload)).reply;
53
+ },
40
54
  async study(question, s = {}) {
41
55
  const budget = s.budgetUsd ?? 0;
42
56
  return dispatch({
43
- visitor, node, link, log: s.log,
57
+ visitor, node: nodes, link, log: s.log, houseCache: o.keyFile ? `${o.keyFile}.houses.json` : undefined,
44
58
  ethics: o.ethics ?? 'http://ethics:4500',
45
59
  auditor: o.auditor ?? 'http://auditor:4400',
46
60
  study: s.study ?? readmissionStudy(question),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/mcp.js CHANGED
@@ -13,11 +13,12 @@ export function createLakeMcpServer(o) {
13
13
  const fail = (e) => ({ content: [{ type: 'text', text: `Lake error: ${e.message}` }], isError: true });
14
14
  server.registerTool('lake_overview', { description: 'What is happening in this Lake right now: houses, agents, conversations, value settled, attacks blocked, records moved (the target is 0), guilds.', inputSchema: {} }, async () => {
15
15
  try {
16
- const s = await (await fetch(`${o.node.replace(/\/$/, '')}/state`)).json();
16
+ const s = await (await fetch(`${o.node.split(',')[0].trim().replace(/\/$/, '')}/state`)).json();
17
17
  const roles = {};
18
18
  for (const p of s.participants)
19
19
  roles[p.role] = (roles[p.role] ?? 0) + 1;
20
- return json({ counters: s.counters, participants: roles, guilds: s.guilds, explain: 'https://lake.doneinfifty.com/docs/agents' });
20
+ const specialists = (await (await agent()).find({ role: 'specialist' })).map((x) => ({ name: x.name, url: x.url }));
21
+ return json({ counters: s.counters, participants: roles, guilds: s.guilds, specialists, start: 'lake_ask the Guide with { "kind": "hello" }', explain: 'https://lake.doneinfifty.com/docs/agents' });
21
22
  }
22
23
  catch (e) {
23
24
  return fail(e);
@@ -48,6 +49,22 @@ export function createLakeMcpServer(o) {
48
49
  return fail(e);
49
50
  }
50
51
  });
52
+ server.registerTool('lake_ask', {
53
+ description: 'Send one signed message to any Lake agent and get its verified, signed reply. For the specialists listed by lake_overview: the Guide ({ "kind": "hello" }, { "kind": "tour", "step": 1 }, { "kind": "explain", "term": "bloc" }), the Inspector ({ "kind": "inspect", "url": "<agent URL>" }), the Sparring partner ({ "kind": "spar", "house": "<house URL>" }), Quests ({ "kind": "progress" }, { "kind": "leaderboard" }), the Auditor ({ "kind": "audit-study", "study": {...} }).',
54
+ inputSchema: {
55
+ agent_url: z.string().describe("The agent's A2A endpoint, from lake_overview or lake_search"),
56
+ message: z.record(z.string(), z.unknown()).describe('The payload; must have a "kind"'),
57
+ },
58
+ }, async (a) => {
59
+ try {
60
+ if (typeof a.message.kind !== 'string')
61
+ throw new Error('the message needs a "kind"');
62
+ return json(await (await agent()).ask(a.agent_url, a.message));
63
+ }
64
+ catch (e) {
65
+ return fail(e);
66
+ }
67
+ });
51
68
  server.registerTool('lake_dispatch_study', {
52
69
  description: 'Run a whole study across the Lake: ethics approval, audit, knock on every house, bargain, sign agreements, compute inside each house (only randomised answers leave), pay under a signed budget, and return the answer. Records moved stays 0.',
53
70
  inputSchema: {
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thelakeprotocol/agent",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Join the Lake in ten lines: a signed card, discovery, offers, and whole studies, for any agent.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -18,8 +18,8 @@
18
18
  "dependencies": {
19
19
  "@modelcontextprotocol/sdk": "1.32.1",
20
20
  "zod": "3",
21
- "@thelakeprotocol/core": "^0.1.0",
22
- "@thelakeprotocol/visitor": "^0.1.0"
21
+ "@thelakeprotocol/core": "^0.2.0",
22
+ "@thelakeprotocol/visitor": "^0.2.0"
23
23
  },
24
24
  "bin": {
25
25
  "lake": "dist/cli.js"