@botanary/agent 0.1.0-alpha.1

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.
Files changed (60) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE +21 -0
  3. package/README.md +123 -0
  4. package/dist/errors.d.ts +49 -0
  5. package/dist/errors.d.ts.map +1 -0
  6. package/dist/errors.js +40 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/exact-action.d.ts +48 -0
  9. package/dist/exact-action.d.ts.map +1 -0
  10. package/dist/exact-action.js +178 -0
  11. package/dist/exact-action.js.map +1 -0
  12. package/dist/fingerprint.d.ts +21 -0
  13. package/dist/fingerprint.d.ts.map +1 -0
  14. package/dist/fingerprint.js +47 -0
  15. package/dist/fingerprint.js.map +1 -0
  16. package/dist/generated/routes.d.ts +68 -0
  17. package/dist/generated/routes.d.ts.map +1 -0
  18. package/dist/generated/routes.js +92 -0
  19. package/dist/generated/routes.js.map +1 -0
  20. package/dist/generated/schema.d.ts +2903 -0
  21. package/dist/generated/schema.d.ts.map +1 -0
  22. package/dist/generated/schema.js +2 -0
  23. package/dist/generated/schema.js.map +1 -0
  24. package/dist/http-path.d.ts +92 -0
  25. package/dist/http-path.d.ts.map +1 -0
  26. package/dist/http-path.js +201 -0
  27. package/dist/http-path.js.map +1 -0
  28. package/dist/index.d.ts +11 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +7 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/pairing-code.d.ts +41 -0
  33. package/dist/pairing-code.d.ts.map +1 -0
  34. package/dist/pairing-code.js +60 -0
  35. package/dist/pairing-code.js.map +1 -0
  36. package/dist/registration.d.ts +21 -0
  37. package/dist/registration.d.ts.map +1 -0
  38. package/dist/registration.js +62 -0
  39. package/dist/registration.js.map +1 -0
  40. package/dist/runtime.d.ts +203 -0
  41. package/dist/runtime.d.ts.map +1 -0
  42. package/dist/runtime.js +559 -0
  43. package/dist/runtime.js.map +1 -0
  44. package/dist/signer.d.ts +33 -0
  45. package/dist/signer.d.ts.map +1 -0
  46. package/dist/signer.js +13 -0
  47. package/dist/signer.js.map +1 -0
  48. package/dist/transport.d.ts +13 -0
  49. package/dist/transport.d.ts.map +1 -0
  50. package/dist/transport.js +135 -0
  51. package/dist/transport.js.map +1 -0
  52. package/dist/validation.d.ts +15 -0
  53. package/dist/validation.d.ts.map +1 -0
  54. package/dist/validation.js +108 -0
  55. package/dist/validation.js.map +1 -0
  56. package/dist/views.d.ts +182 -0
  57. package/dist/views.d.ts.map +1 -0
  58. package/dist/views.js +2 -0
  59. package/dist/views.js.map +1 -0
  60. package/package.json +50 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/generated/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/generated/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * ONE PARSE. The string that is validated is the string that is requested.
3
+ *
4
+ * ------------------------------------------------------------------------------------------------
5
+ * THE BUG THIS EXISTS TO CLOSE
6
+ * ------------------------------------------------------------------------------------------------
7
+ * `wallet_api_get` and `wallet_api_write` both take a free-form, model-supplied `path` and check it
8
+ * against a generated manifest by compiling each manifest template into a regex, with a `{param}`
9
+ * segment becoming `[^/]+`. The compiled string was then re-assembled and handed to `fetch`, whose
10
+ * WHATWG URL parser re-parses it - and that parser does NOT agree with `[^/]+` about what a path
11
+ * segment is. It normalises `\` to `/`, resolves `.` and `..` (including their percent-encoded forms
12
+ * `%2e` / `%2e%2e`), and truncates everything from the first `#`. So:
13
+ *
14
+ * isKnownWritePath('/notifications/..\\userops#/read', 'POST') -> true
15
+ * ...and the request actually issued was POST /v1/userops
16
+ *
17
+ * Two different strings: the one the allowlist inspected, and the one that went on the wire. Every
18
+ * denylist entry in both manifests - the `/userops` relay boundary, `/approvals/{digest}/relay`,
19
+ * `/solana/transactions`, `/agent-wallets/partner-provision`, and on the read side `/auth/session`,
20
+ * which hands back the owner's live session token - was reachable through that gap.
21
+ *
22
+ * ------------------------------------------------------------------------------------------------
23
+ * WHY THIS CLOSES THE CLASS RATHER THAN THE INSTANCES
24
+ * ------------------------------------------------------------------------------------------------
25
+ * Blocklisting the tokens (`..`, `\`, `#`) loses: there is always another encoding (`%2e%2e`, `%5c`,
26
+ * `%23`, `%252e%252e`, and whatever the next parser quirk turns out to be). The root cause is not any
27
+ * particular character - it is that VALIDATION AND REQUEST OPERATED ON DIFFERENT STRINGS. So this
28
+ * module removes the difference instead of enumerating it:
29
+ *
30
+ * 1. The caller's path is canonicalised ONCE, up front, before anything looks at a manifest.
31
+ * 2. Canonicalisation is a FIXED-POINT test against the very parser `fetch` uses: the path is
32
+ * re-parsed with `new URL(...)`, and if `pathname + search` is not byte-identical to the input,
33
+ * the path is refused. Anything the URL parser would rewrite - a traversal in any encoding, a
34
+ * backslash, a fragment, a character it would percent-encode, a `//` that changes the host - is
35
+ * by definition not a fixed point, and is rejected without this module ever having to know that
36
+ * particular trick's name.
37
+ * 3. A structural charset allowlist runs first, per segment, so the fixed-point test is a second
38
+ * opinion rather than the only one: a segment may contain only unreserved/sub-delim characters
39
+ * and well-formed `%XX` triplets, and must not decode - through as many layers of encoding as it
40
+ * carries - to a separator, a fragment marker, or `.`/`..`.
41
+ * 4. The single canonical result is what the caller then matches AND requests. There is no second
42
+ * re-assembly step for the two to drift apart in.
43
+ *
44
+ * The `{param}` compilation is tightened to match: `PARAM_SEGMENT_PATTERN` is the same charset, so a
45
+ * parameter structurally cannot hold a separator or a fragment marker even before rule 2 speaks.
46
+ */
47
+ /**
48
+ * What a `{param}` in a manifest template compiles to. The old `[^/]+` was the bug: to a regex, `\`,
49
+ * `#` and `..` are ordinary characters, and to the URL parser they are separators. This charset holds
50
+ * no separator and no fragment marker in any form the URL parser recognises.
51
+ */
52
+ export declare const PARAM_SEGMENT_PATTERN = "(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+";
53
+ /** The canonical form of a caller-supplied path: one object, carried from validation to `fetch`. */
54
+ export interface CanonicalHttpPath {
55
+ /** The path, no query string. Byte-identical to what will be requested. */
56
+ readonly path: string;
57
+ /** The query string including its leading `?`, or `''`. Byte-identical to what will be requested. */
58
+ readonly query: string;
59
+ /** `path + query` - exactly the string that goes on the wire after the base URL. */
60
+ readonly full: string;
61
+ }
62
+ /**
63
+ * Canonicalise a caller-supplied request path, or return null if it is not canonical.
64
+ *
65
+ * "Canonical" means: an absolute path (never protocol-relative, which would change the HOST), every
66
+ * segment drawn from the safe charset and free of any encoded separator or traversal, an optional
67
+ * query drawn from its own charset, no fragment at all - and, as the final word, a string the WHATWG
68
+ * URL parser reproduces unchanged. Callers must use the returned strings, never their own input.
69
+ */
70
+ export declare function canonicalizeHttpPath(raw: unknown): CanonicalHttpPath | null;
71
+ /**
72
+ * Strip the `/v1` prefix, if present, so `/balance` and `/v1/balance` resolve to the same manifest
73
+ * entry. The OpenAPI contract declares paths WITHOUT the version prefix (`/v1` lives in
74
+ * `servers[].url`), so the generated manifests are un-prefixed - this is where the two conventions
75
+ * meet. Operates on an ALREADY-CANONICAL path; the old code did this to the raw input, which is how a
76
+ * `/v1`-prefixed bypass got a second bite.
77
+ */
78
+ export declare function stripVersionPrefix(canonicalPath: string): string;
79
+ /**
80
+ * Compile one manifest template (`/agents/{id}`) into a matcher for a concrete canonical path
81
+ * (`/agents/agt_1`). Shared by both allowlists so they cannot drift into two different ideas of what a
82
+ * path parameter may contain - which is how one of them ends up with the other's hole.
83
+ */
84
+ export declare function compileRoutePattern(template: string): RegExp;
85
+ /** Cap what a refusal echoes back, so a pathological input cannot flood a tool result. */
86
+ export declare function describePath(raw: unknown): string;
87
+ /**
88
+ * The refusal text every caller shares, so the reason a path was rejected reads the same wherever it
89
+ * is rejected - and names the real cause rather than the character that happened to trip it.
90
+ */
91
+ export declare function nonCanonicalPathMessage(raw: unknown, tool: string): string;
92
+ //# sourceMappingURL=http-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-path.d.ts","sourceRoot":"","sources":["../src/http-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAaH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,wDAAqB,CAAC;AAiDxD,oGAAoG;AACpG,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qGAAqG;IACrG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAmC3E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU5D;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGjD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU1E"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * ONE PARSE. The string that is validated is the string that is requested.
3
+ *
4
+ * ------------------------------------------------------------------------------------------------
5
+ * THE BUG THIS EXISTS TO CLOSE
6
+ * ------------------------------------------------------------------------------------------------
7
+ * `wallet_api_get` and `wallet_api_write` both take a free-form, model-supplied `path` and check it
8
+ * against a generated manifest by compiling each manifest template into a regex, with a `{param}`
9
+ * segment becoming `[^/]+`. The compiled string was then re-assembled and handed to `fetch`, whose
10
+ * WHATWG URL parser re-parses it - and that parser does NOT agree with `[^/]+` about what a path
11
+ * segment is. It normalises `\` to `/`, resolves `.` and `..` (including their percent-encoded forms
12
+ * `%2e` / `%2e%2e`), and truncates everything from the first `#`. So:
13
+ *
14
+ * isKnownWritePath('/notifications/..\\userops#/read', 'POST') -> true
15
+ * ...and the request actually issued was POST /v1/userops
16
+ *
17
+ * Two different strings: the one the allowlist inspected, and the one that went on the wire. Every
18
+ * denylist entry in both manifests - the `/userops` relay boundary, `/approvals/{digest}/relay`,
19
+ * `/solana/transactions`, `/agent-wallets/partner-provision`, and on the read side `/auth/session`,
20
+ * which hands back the owner's live session token - was reachable through that gap.
21
+ *
22
+ * ------------------------------------------------------------------------------------------------
23
+ * WHY THIS CLOSES THE CLASS RATHER THAN THE INSTANCES
24
+ * ------------------------------------------------------------------------------------------------
25
+ * Blocklisting the tokens (`..`, `\`, `#`) loses: there is always another encoding (`%2e%2e`, `%5c`,
26
+ * `%23`, `%252e%252e`, and whatever the next parser quirk turns out to be). The root cause is not any
27
+ * particular character - it is that VALIDATION AND REQUEST OPERATED ON DIFFERENT STRINGS. So this
28
+ * module removes the difference instead of enumerating it:
29
+ *
30
+ * 1. The caller's path is canonicalised ONCE, up front, before anything looks at a manifest.
31
+ * 2. Canonicalisation is a FIXED-POINT test against the very parser `fetch` uses: the path is
32
+ * re-parsed with `new URL(...)`, and if `pathname + search` is not byte-identical to the input,
33
+ * the path is refused. Anything the URL parser would rewrite - a traversal in any encoding, a
34
+ * backslash, a fragment, a character it would percent-encode, a `//` that changes the host - is
35
+ * by definition not a fixed point, and is rejected without this module ever having to know that
36
+ * particular trick's name.
37
+ * 3. A structural charset allowlist runs first, per segment, so the fixed-point test is a second
38
+ * opinion rather than the only one: a segment may contain only unreserved/sub-delim characters
39
+ * and well-formed `%XX` triplets, and must not decode - through as many layers of encoding as it
40
+ * carries - to a separator, a fragment marker, or `.`/`..`.
41
+ * 4. The single canonical result is what the caller then matches AND requests. There is no second
42
+ * re-assembly step for the two to drift apart in.
43
+ *
44
+ * The `{param}` compilation is tightened to match: `PARAM_SEGMENT_PATTERN` is the same charset, so a
45
+ * parameter structurally cannot hold a separator or a fragment marker even before rule 2 speaks.
46
+ */
47
+ /** A base that cannot resolve to anything real, used only as the fixed point of the round trip. */
48
+ const CANONICAL_BASE = 'https://botanary-canonical-path.invalid';
49
+ /**
50
+ * One character of a path segment: RFC 3986 `unreserved` + `sub-delims` + `:` + `@`, or a well-formed
51
+ * percent triplet. Deliberately EXCLUDES `/`, `\`, `#`, `?`, space, every control character, and every
52
+ * non-ASCII byte - a caller that genuinely needs one of those in an id must percent-encode it, and if
53
+ * what it decodes to is a separator or a traversal, it is refused below regardless.
54
+ */
55
+ const SEGMENT_CHAR = "(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})";
56
+ /**
57
+ * What a `{param}` in a manifest template compiles to. The old `[^/]+` was the bug: to a regex, `\`,
58
+ * `#` and `..` are ordinary characters, and to the URL parser they are separators. This charset holds
59
+ * no separator and no fragment marker in any form the URL parser recognises.
60
+ */
61
+ export const PARAM_SEGMENT_PATTERN = `${SEGMENT_CHAR}+`;
62
+ const SEGMENT_RE = new RegExp(`^${SEGMENT_CHAR}+$`);
63
+ /** A query string may additionally carry `/` and `?`, which are unambiguous once the path has ended. */
64
+ const QUERY_RE = new RegExp(`^(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})*$`);
65
+ /** `.` and `..` - the two path segments the URL parser resolves away rather than transmits. */
66
+ const DOT_SEGMENT_RE = /^\.{1,2}$/;
67
+ /** A separator or fragment marker, in decoded form. */
68
+ const SEPARATOR_RE = /[/\\#?]/;
69
+ /** C0 controls and DEL, which no id legitimately contains and which some servers treat as terminators. */
70
+ const CONTROL_RE = /[\u0000-\u001f\u007f]/;
71
+ /**
72
+ * More layers of percent-encoding than any real identifier carries. Six is far past the two the known
73
+ * bypasses need (`%252e%252e` is three decodes to `..`); the bound exists so a pathological input
74
+ * cannot spin here, and hitting it is itself a refusal.
75
+ */
76
+ const MAX_DECODE_ROUNDS = 6;
77
+ /**
78
+ * True when `segment`, peeled through every layer of percent-encoding it carries, is or contains a
79
+ * separator, a fragment marker, a control character, or a `.`/`..` traversal. This is the part that
80
+ * survives new encodings: it does not ask "is this `%2e%2e`", it asks "does this ever become `..`".
81
+ */
82
+ function decodesToSeparatorOrTraversal(segment) {
83
+ let current = segment;
84
+ for (let round = 0; round < MAX_DECODE_ROUNDS; round += 1) {
85
+ if (DOT_SEGMENT_RE.test(current))
86
+ return true;
87
+ if (SEPARATOR_RE.test(current))
88
+ return true;
89
+ if (CONTROL_RE.test(current))
90
+ return true;
91
+ if (!current.includes('%'))
92
+ return false;
93
+ let next;
94
+ try {
95
+ next = decodeURIComponent(current);
96
+ }
97
+ catch {
98
+ // Malformed encoding (`%C0%80` and friends). Refuse rather than guess what a server would make
99
+ // of it - the two of us disagreeing about that is the entire bug this module closes.
100
+ return true;
101
+ }
102
+ if (next === current)
103
+ return false;
104
+ current = next;
105
+ }
106
+ return true;
107
+ }
108
+ /**
109
+ * Canonicalise a caller-supplied request path, or return null if it is not canonical.
110
+ *
111
+ * "Canonical" means: an absolute path (never protocol-relative, which would change the HOST), every
112
+ * segment drawn from the safe charset and free of any encoded separator or traversal, an optional
113
+ * query drawn from its own charset, no fragment at all - and, as the final word, a string the WHATWG
114
+ * URL parser reproduces unchanged. Callers must use the returned strings, never their own input.
115
+ */
116
+ export function canonicalizeHttpPath(raw) {
117
+ if (typeof raw !== 'string' || raw.length === 0)
118
+ return null;
119
+ // `//host/x` is not a path - relative to any base it is a whole different ORIGIN.
120
+ if (!raw.startsWith('/') || raw.startsWith('//'))
121
+ return null;
122
+ const questionMark = raw.indexOf('?');
123
+ const path = questionMark === -1 ? raw : raw.slice(0, questionMark);
124
+ const query = questionMark === -1 ? '' : raw.slice(questionMark);
125
+ // segments[0] is always '' - `path` starts with '/'. An empty segment anywhere else is a `//`, which
126
+ // is never a manifest route and is exactly how a host gets smuggled in.
127
+ const segments = path.split('/');
128
+ for (let i = 1; i < segments.length; i += 1) {
129
+ const segment = segments[i];
130
+ if (!SEGMENT_RE.test(segment))
131
+ return null;
132
+ if (decodesToSeparatorOrTraversal(segment))
133
+ return null;
134
+ }
135
+ if (query !== '' && !QUERY_RE.test(query.slice(1)))
136
+ return null;
137
+ // THE FIXED POINT. Everything above is a structural allowlist; this is the agreement check against
138
+ // the parser that actually matters - the one `fetch` runs on this same string. If the two disagree
139
+ // by so much as a byte, there is no canonical answer to give and the path is refused.
140
+ let parsed;
141
+ try {
142
+ parsed = new URL(path + query, CANONICAL_BASE);
143
+ }
144
+ catch {
145
+ return null;
146
+ }
147
+ if (parsed.origin !== CANONICAL_BASE)
148
+ return null;
149
+ if (parsed.hash !== '')
150
+ return null;
151
+ if (parsed.pathname !== path)
152
+ return null;
153
+ if (parsed.search !== query)
154
+ return null;
155
+ return { path, query, full: path + query };
156
+ }
157
+ /**
158
+ * Strip the `/v1` prefix, if present, so `/balance` and `/v1/balance` resolve to the same manifest
159
+ * entry. The OpenAPI contract declares paths WITHOUT the version prefix (`/v1` lives in
160
+ * `servers[].url`), so the generated manifests are un-prefixed - this is where the two conventions
161
+ * meet. Operates on an ALREADY-CANONICAL path; the old code did this to the raw input, which is how a
162
+ * `/v1`-prefixed bypass got a second bite.
163
+ */
164
+ export function stripVersionPrefix(canonicalPath) {
165
+ if (canonicalPath === '/v1')
166
+ return '';
167
+ return canonicalPath.startsWith('/v1/') ? canonicalPath.slice(3) : canonicalPath;
168
+ }
169
+ /**
170
+ * Compile one manifest template (`/agents/{id}`) into a matcher for a concrete canonical path
171
+ * (`/agents/agt_1`). Shared by both allowlists so they cannot drift into two different ideas of what a
172
+ * path parameter may contain - which is how one of them ends up with the other's hole.
173
+ */
174
+ export function compileRoutePattern(template) {
175
+ const source = template
176
+ .split('/')
177
+ .map((segment) => segment.startsWith('{') && segment.endsWith('}')
178
+ ? PARAM_SEGMENT_PATTERN
179
+ : segment.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
180
+ .join('/');
181
+ return new RegExp(`^${source}$`);
182
+ }
183
+ /** Cap what a refusal echoes back, so a pathological input cannot flood a tool result. */
184
+ export function describePath(raw) {
185
+ const text = typeof raw === 'string' ? raw : String(raw);
186
+ return text.length > 200 ? `${text.slice(0, 200)}...` : text;
187
+ }
188
+ /**
189
+ * The refusal text every caller shares, so the reason a path was rejected reads the same wherever it
190
+ * is rejected - and names the real cause rather than the character that happened to trip it.
191
+ */
192
+ export function nonCanonicalPathMessage(raw, tool) {
193
+ return (`"${describePath(raw)}" is not a canonical request path - ${tool} refuses it before any allowlist ` +
194
+ 'is consulted. A path must be absolute, must not begin "//", must carry no fragment, no query ' +
195
+ 'ambiguity and no empty segment, and every segment must consist only of unreserved characters or ' +
196
+ 'well-formed %XX escapes that do not decode - through any number of layers - to a separator ("/", ' +
197
+ '"\\"), a fragment marker ("#") or a traversal (".", ".."). The rule is that the string validated ' +
198
+ 'and the string requested must be ONE string: anything the URL parser would rewrite is refused ' +
199
+ 'here rather than validated as one route and sent as another.');
200
+ }
201
+ //# sourceMappingURL=http-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-path.js","sourceRoot":"","sources":["../src/http-path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export { AgentRuntime, awaitTerminalWith, DEFAULT_API_BASE_URL } from './runtime.js';
2
+ export { BotanaryApiError } from './errors.js';
3
+ export type { AgentIdentity, AgentSigner } from './signer.js';
4
+ export { createViemAgentSigner } from './signer.js';
5
+ export type { AgentTransport } from './transport.js';
6
+ export { registerAgent, type AgentRegistrationClient } from './registration.js';
7
+ export type * from './views.js';
8
+ export { PairingCodeManager, DEFAULT_PAIRING_CODE_TTL_MS, type PairingCode } from './pairing-code.js';
9
+ export { crockfordBase32, deriveFingerprint, generatePairingNonce, FINGERPRINT_BYTES, NONCE_BYTES } from './fingerprint.js';
10
+ export type { ExactAgentAction, ExactAgentExecution, AgentActionBinding, AgentSwapBinding, SwapRouteFacts, PreparedAgentAction } from './exact-action.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAChF,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5H,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export { AgentRuntime, awaitTerminalWith, DEFAULT_API_BASE_URL } from './runtime.js';
2
+ export { BotanaryApiError } from './errors.js';
3
+ export { createViemAgentSigner } from './signer.js';
4
+ export { registerAgent } from './registration.js';
5
+ export { PairingCodeManager, DEFAULT_PAIRING_CODE_TTL_MS } from './pairing-code.js';
6
+ export { crockfordBase32, deriveFingerprint, generatePairingNonce, FINGERPRINT_BYTES, NONCE_BYTES } from './fingerprint.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAoB,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /** 10 minutes: long enough to alt-tab to the Botanary app and type ~13 characters, short enough that a
2
+ * code nobody redeemed stops being worth anything on its own quickly. See README for the full
3
+ * "why intercepting the code alone grants nothing" argument - the TTL is one layer of it, not the
4
+ * whole thing. */
5
+ export declare const DEFAULT_PAIRING_CODE_TTL_MS: number;
6
+ export interface PairingCode {
7
+ /** What the agent shows the user, and what they type into Connected agents: `${fingerprint}-${nonce}`. */
8
+ code: string;
9
+ /** The stable, non-secret address fingerprint half (see fingerprint.ts). */
10
+ fingerprint: string;
11
+ /** The fresh-per-code random half - this is what makes the code single-use/short-lived. */
12
+ nonce: string;
13
+ issuedAt: string;
14
+ expiresAt: string;
15
+ }
16
+ /**
17
+ * Owns exactly one pairing attempt at a time for this process, keyed off a fixed address fingerprint.
18
+ * `current()` is idempotent while the code is still valid - Flow 7d step 1 is "the agent ... shows the
19
+ * short code, and waits", which only makes sense if the code stays put while the owner is busy typing
20
+ * it, rather than rotating out from under them on every tool call. It mints automatically once the
21
+ * previous code expires, and `regenerate()` lets the owner (via the agent) burn a code early - e.g. if
22
+ * they suspect it was seen by someone else - without waiting out the TTL.
23
+ *
24
+ * Deliberately in-memory only: a pairing code is not part of the identity (see store.ts) and is not
25
+ * meant to survive a restart - a fresh process showing a fresh code is the correct behavior, not a bug.
26
+ */
27
+ export declare class PairingCodeManager {
28
+ #private;
29
+ constructor(fingerprint: string, options?: {
30
+ ttlMs?: number;
31
+ /** injectable for deterministic tests */
32
+ now?: () => number;
33
+ /** injectable for deterministic tests */
34
+ nonce?: () => string;
35
+ });
36
+ /** The active code, minting a fresh one if there is none yet or the previous one expired. */
37
+ current(): PairingCode;
38
+ /** Always mints a fresh code, invalidating whatever was active. */
39
+ regenerate(): PairingCode;
40
+ }
41
+ //# sourceMappingURL=pairing-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pairing-code.d.ts","sourceRoot":"","sources":["../src/pairing-code.ts"],"names":[],"mappings":"AAEA;;;mBAGmB;AACnB,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,0GAA0G;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;;gBAQ3B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,yCAAyC;QACzC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QACnB,yCAAyC;QACzC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;KACtB;IAQH,6FAA6F;IAC7F,OAAO,IAAI,WAAW;IAQtB,mEAAmE;IACnE,UAAU,IAAI,WAAW;CAqB1B"}
@@ -0,0 +1,60 @@
1
+ import { generatePairingNonce } from './fingerprint.js';
2
+ /** 10 minutes: long enough to alt-tab to the Botanary app and type ~13 characters, short enough that a
3
+ * code nobody redeemed stops being worth anything on its own quickly. See README for the full
4
+ * "why intercepting the code alone grants nothing" argument - the TTL is one layer of it, not the
5
+ * whole thing. */
6
+ export const DEFAULT_PAIRING_CODE_TTL_MS = 10 * 60 * 1000;
7
+ /**
8
+ * Owns exactly one pairing attempt at a time for this process, keyed off a fixed address fingerprint.
9
+ * `current()` is idempotent while the code is still valid - Flow 7d step 1 is "the agent ... shows the
10
+ * short code, and waits", which only makes sense if the code stays put while the owner is busy typing
11
+ * it, rather than rotating out from under them on every tool call. It mints automatically once the
12
+ * previous code expires, and `regenerate()` lets the owner (via the agent) burn a code early - e.g. if
13
+ * they suspect it was seen by someone else - without waiting out the TTL.
14
+ *
15
+ * Deliberately in-memory only: a pairing code is not part of the identity (see store.ts) and is not
16
+ * meant to survive a restart - a fresh process showing a fresh code is the correct behavior, not a bug.
17
+ */
18
+ export class PairingCodeManager {
19
+ #fingerprint;
20
+ #ttlMs;
21
+ #now;
22
+ #nonce;
23
+ #current = null;
24
+ constructor(fingerprint, options) {
25
+ this.#fingerprint = fingerprint;
26
+ this.#ttlMs = options?.ttlMs ?? DEFAULT_PAIRING_CODE_TTL_MS;
27
+ this.#now = options?.now ?? Date.now;
28
+ this.#nonce = options?.nonce ?? generatePairingNonce;
29
+ }
30
+ /** The active code, minting a fresh one if there is none yet or the previous one expired. */
31
+ current() {
32
+ const t = this.#now();
33
+ if (!this.#current || this.#current.expiresAt <= t) {
34
+ this.#mint(t);
35
+ }
36
+ return this.#toPublic();
37
+ }
38
+ /** Always mints a fresh code, invalidating whatever was active. */
39
+ regenerate() {
40
+ this.#mint(this.#now());
41
+ return this.#toPublic();
42
+ }
43
+ #mint(t) {
44
+ this.#current = { nonce: this.#nonce(), issuedAt: t, expiresAt: t + this.#ttlMs };
45
+ }
46
+ #toPublic() {
47
+ const c = this.#current;
48
+ /* istanbul ignore next -- #mint always runs first in both call sites above */
49
+ if (!c)
50
+ throw new Error('unreachable: no pairing code minted');
51
+ return {
52
+ code: `${this.#fingerprint}-${c.nonce}`,
53
+ fingerprint: this.#fingerprint,
54
+ nonce: c.nonce,
55
+ issuedAt: new Date(c.issuedAt).toISOString(),
56
+ expiresAt: new Date(c.expiresAt).toISOString(),
57
+ };
58
+ }
59
+ }
60
+ //# sourceMappingURL=pairing-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pairing-code.js","sourceRoot":"","sources":["../src/pairing-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;mBAGmB;AACnB,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAa1D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IACpB,YAAY,CAAS;IACrB,MAAM,CAAS;IACf,IAAI,CAAe;IACnB,MAAM,CAAe;IAC9B,QAAQ,GAAkE,IAAI,CAAC;IAE/E,YACE,WAAmB,EACnB,OAMC;QAED,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,2BAA2B,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,oBAAoB,CAAC;IACvD,CAAC;IAED,6FAA6F;IAC7F,OAAO;QACL,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,mEAAmE;IACnE,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,8EAA8E;QAC9E,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,EAAE;YACvC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;YAC5C,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SAC/C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { AgentSigner } from './signer.js';
2
+ import type { components } from './generated/schema.js';
3
+ type Schemas = components['schemas'];
4
+ /** Structurally compatible with @botanary/sdk. Only the server client handles its app credential. */
5
+ export interface AgentRegistrationClient {
6
+ app: {
7
+ context(): Promise<{
8
+ appId: string;
9
+ keyId: string;
10
+ environment: 'test' | 'live';
11
+ }>;
12
+ };
13
+ agents: {
14
+ challenge(input: Schemas['DeveloperAgentChallengeInput']): Promise<Schemas['DeveloperAgentChallenge']>;
15
+ complete(input: Schemas['DeveloperAgentRegistrationInput']): Promise<Schemas['DeveloperAgentRegistration']>;
16
+ };
17
+ }
18
+ /** Registration proves possession of this agent key. It creates neither owner consent nor a grant. */
19
+ export declare function registerAgent(signer: AgentSigner, client: AgentRegistrationClient, name: string): Promise<Schemas['DeveloperAgentRegistration']>;
20
+ export {};
21
+ //# sourceMappingURL=registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACrC,qGAAqG;AACrG,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE;QAAE,OAAO,IAAI,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC5F,MAAM,EAAE;QACN,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,iCAAiC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;KAC7G,CAAC;CACH;AAED,sGAAsG;AACtG,wBAAsB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAmCtJ"}