botanary-mcp 0.9.0 → 0.9.2
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/src/hitl/wait.d.ts +0 -7
- package/dist/src/hitl/wait.d.ts.map +1 -1
- package/dist/src/hitl/wait.js +33 -4
- package/dist/src/hitl/wait.js.map +1 -1
- package/dist/src/wallet/login.d.ts.map +1 -1
- package/dist/src/wallet/login.js +35 -4
- package/dist/src/wallet/login.js.map +1 -1
- package/package.json +1 -1
package/dist/src/hitl/wait.d.ts
CHANGED
|
@@ -38,13 +38,6 @@ export interface WaitOutcome<T> {
|
|
|
38
38
|
/** Poll a function on a fixed interval. The compatibility path, and the correctness backstop when a
|
|
39
39
|
* stream drops. */
|
|
40
40
|
export declare function pollSource<T>(read: () => Promise<T>, intervalMs: number, sleep?: (ms: number) => Promise<void>): WaitSource<T>;
|
|
41
|
-
/**
|
|
42
|
-
* Read a `text/event-stream` off `fetch`, parsing `data:` frames.
|
|
43
|
-
*
|
|
44
|
-
* NOT `EventSource`. A browser `EventSource` cannot send an `Authorization` header, which is why the
|
|
45
|
-
* backend's marketplace and markets streams had to go `@Public()`. This consumer is Node, so the four
|
|
46
|
-
* routes this package reads stay session-authed - see each route's own doc comment on the backend.
|
|
47
|
-
*/
|
|
48
41
|
export declare function sseSource<T>(url: string, token: string, parse: (data: unknown) => T): WaitSource<T>;
|
|
49
42
|
/**
|
|
50
43
|
* Prefer `primary`, fall back to `fallback` the moment the primary throws or ends without a terminal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/hitl/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,0FAA0F;IAC1F,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;IAClC,+FAA+F;IAC/F,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;IACjB;8CAC0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;oBACoB;AACpB,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAiD,GACnF,UAAU,CAAC,CAAC,CAAC,CAUf;
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/hitl/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,0FAA0F;IAC1F,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;IAClC,+FAA+F;IAC/F,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;IACjB;8CAC0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;oBACoB;AACpB,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAiD,GACnF,UAAU,CAAC,CAAC,CAAC,CAUf;AA0BD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CA4CnG;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAsB9F;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA4BrG"}
|
package/dist/src/hitl/wait.js
CHANGED
|
@@ -41,13 +41,41 @@ export function pollSource(read, intervalMs, sleep = (ms) => new Promise((r) =>
|
|
|
41
41
|
* backend's marketplace and markets streams had to go `@Public()`. This consumer is Node, so the four
|
|
42
42
|
* routes this package reads stay session-authed - see each route's own doc comment on the backend.
|
|
43
43
|
*/
|
|
44
|
+
/**
|
|
45
|
+
* How long the SSE HANDSHAKE may take before this source gives up and lets `withFallback` degrade to
|
|
46
|
+
* polling. Bounds the CONNECT only - once headers are in, the stream itself is open-ended, which is the
|
|
47
|
+
* whole point of a stream.
|
|
48
|
+
*
|
|
49
|
+
* `withFallback` exists so a stream that fails degrades to the poll that has always worked. It can only
|
|
50
|
+
* do that if the stream FAILS, and an unreachable host does not fail promptly - it hangs. That is not
|
|
51
|
+
* hypothetical: `settleRelayedOp` waits on this while an op settles, so a hung connect stalls a
|
|
52
|
+
* money-settlement wait indefinitely instead of falling back. It surfaced as a CI flake first
|
|
53
|
+
* (`propose_payment reports a MINED REVERT...` timing out at exactly 10s against the unroutable
|
|
54
|
+
* `https://api.example.test`, while taking 380ms on a laptop where that name NXDOMAINs immediately),
|
|
55
|
+
* but the production failure it points at is the real reason to bound it.
|
|
56
|
+
*
|
|
57
|
+
* Three seconds is generous for a handshake and short against the caller's own budget.
|
|
58
|
+
*/
|
|
59
|
+
const SSE_CONNECT_TIMEOUT_MS = 3_000;
|
|
44
60
|
export function sseSource(url, token, parse) {
|
|
45
61
|
return {
|
|
46
62
|
async *watch(signal) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
63
|
+
// Derived controller: aborts when the caller aborts, OR when the handshake outruns its budget.
|
|
64
|
+
// The timer is cleared the moment headers land, so it can never cut a healthy open stream short.
|
|
65
|
+
const connect = new AbortController();
|
|
66
|
+
const propagate = () => connect.abort();
|
|
67
|
+
signal.addEventListener('abort', propagate, { once: true });
|
|
68
|
+
const timer = setTimeout(() => connect.abort(), SSE_CONNECT_TIMEOUT_MS);
|
|
69
|
+
let res;
|
|
70
|
+
try {
|
|
71
|
+
res = await fetch(url, {
|
|
72
|
+
headers: { Authorization: `Bearer ${token}`, Accept: 'text/event-stream' },
|
|
73
|
+
signal: connect.signal,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
clearTimeout(timer);
|
|
78
|
+
}
|
|
51
79
|
if (!res.ok || !res.body)
|
|
52
80
|
throw new Error(`stream ${res.status}`);
|
|
53
81
|
const reader = res.body.getReader();
|
|
@@ -74,6 +102,7 @@ export function sseSource(url, token, parse) {
|
|
|
74
102
|
boundary = buffer.indexOf('\n\n');
|
|
75
103
|
}
|
|
76
104
|
}
|
|
105
|
+
signal.removeEventListener('abort', propagate);
|
|
77
106
|
},
|
|
78
107
|
};
|
|
79
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/hitl/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,4CAA4C;AAC5C,IAAI,aAAa,GAAG,CAAC,CAAC;AAEtB,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,aAAa,GAAG,CAAC,CAAC;AACpB,CAAC;AA0BD,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC;oBACoB;AACpB,MAAM,UAAU,UAAU,CACxB,IAAsB,EACtB,UAAkB,EAClB,QAAuC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpF,OAAO;QACL,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM;YACjB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,MAAM,IAAI,EAAE,CAAC;gBACnB,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC3B,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAI,GAAW,EAAE,KAAa,EAAE,KAA2B;IAClF,OAAO;QACL,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM;YACjB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/hitl/wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/wallet/login.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;GASG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;oBACoB;AACpB,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAOD;wEACwE;AACxE,UAAU,YAAY;IACpB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrG;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,UAAU,CAAC,YAAY,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;;;;;;OAQG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/wallet/login.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;GASG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;oBACoB;AACpB,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAOD;wEACwE;AACxE,UAAU,YAAY;IACpB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrG;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,UAAU,CAAC,YAAY,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;;;;;;OAQG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAsNpE"}
|
package/dist/src/wallet/login.js
CHANGED
|
@@ -154,11 +154,42 @@ export async function runLogin(deps) {
|
|
|
154
154
|
deps.ctx?.progress({ message: `Login ${lastResponse.status}.` });
|
|
155
155
|
}
|
|
156
156
|
if (lastResponse.status === 'authorized') {
|
|
157
|
-
//
|
|
157
|
+
// AUTHORIZED IS NOT THE SAME AS "HOLDING THE TOKEN", and on the stream lane it never is.
|
|
158
|
+
//
|
|
159
|
+
// `streamSourceFactory` reads `GET /v1/auth/cli/{requestId}/stream`, whose frames carry
|
|
160
|
+
// `{ status }` and NOTHING else - the backend puts the token nowhere near that channel on
|
|
161
|
+
// purpose, so that the one-time-delivery latch on the real poll route stays the only place it is
|
|
162
|
+
// ever handed over (see CliAuthController.stream's own comment, and CliAuthService.poll, whose
|
|
163
|
+
// `consume` flips the request to 'consumed' atomically). The factory nonetheless CASTS each frame
|
|
164
|
+
// to a shape declaring `sessionToken?`, so nothing upstream of here notices it is always absent.
|
|
165
|
+
//
|
|
166
|
+
// `withFallback` does not paper over it either: the polling source runs only when the stream
|
|
167
|
+
// yields NOTHING or throws, and a reachable stream always yields at least one frame. So on the
|
|
168
|
+
// happy path - stream connects, owner authorizes - `lastResponse.sessionToken` is `undefined`,
|
|
169
|
+
// and the old `|| ''` stored an EMPTY token while reporting "Owner logged in successfully". Every
|
|
170
|
+
// later wallet_* call then failed with "Session token missing or expired", pointing at the
|
|
171
|
+
// session rather than at the login that never delivered one.
|
|
172
|
+
//
|
|
173
|
+
// So: when the observed `authorized` carries no token, claim it from the poll route, which is the
|
|
174
|
+
// only authority on it. That poll is also what consumes the latch, which the stream never does.
|
|
175
|
+
let authorized = lastResponse;
|
|
176
|
+
if (!authorized.sessionToken) {
|
|
177
|
+
deps.ctx?.progress({ message: 'Authorized - claiming the session token.' });
|
|
178
|
+
authorized = await deps.api.get(`/v1/auth/cli/${requestId}`, pollSecret);
|
|
179
|
+
}
|
|
180
|
+
// Still nothing means the latch was already consumed (a second reader claimed it) or the backend
|
|
181
|
+
// answered a terminal status with no token. Either way this login did NOT produce a usable
|
|
182
|
+
// session, and saying otherwise is the defect above. Fail honestly instead of storing an empty
|
|
183
|
+
// credential that only surfaces later, somewhere else.
|
|
184
|
+
if (!authorized.sessionToken) {
|
|
185
|
+
await deps.store.clear();
|
|
186
|
+
throw new Error('Login was authorized but the backend delivered no session token (the one-time delivery may ' +
|
|
187
|
+
'already have been claimed). Nothing was stored - run wallet_login again.');
|
|
188
|
+
}
|
|
158
189
|
const session = {
|
|
159
|
-
sessionToken:
|
|
160
|
-
accountId:
|
|
161
|
-
signerAddress:
|
|
190
|
+
sessionToken: authorized.sessionToken,
|
|
191
|
+
accountId: authorized.accountId || null,
|
|
192
|
+
signerAddress: authorized.signerAddress || '',
|
|
162
193
|
savedAt: new Date().toISOString(),
|
|
163
194
|
};
|
|
164
195
|
await deps.store.save(session);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/wallet/login.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/wallet/login.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "botanary-mcp",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.2",
|
|
5
5
|
"description": "Botanary's local MCP server for an outside coding agent (Claude Code, Codex, Cursor, or a custom build): an AGENT LANE that generates its own signing key and spends unattended under whatever grant its owner gave it, and a WALLET LANE that lets the human owner log in through their browser to read, build, and hand off a signature - the MCP itself can never sign as the owner.",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"homepage": "https://docs.botanary.xyz",
|