@agentchainlabsai/sdk 0.0.0-stage → 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 +231 -2
- package/dist/autonomous-recipe.d.ts +59 -0
- package/dist/autonomous-recipe.d.ts.map +1 -0
- package/dist/autonomous-recipe.js +92 -0
- package/dist/autonomy-schedule.d.ts +62 -0
- package/dist/autonomy-schedule.d.ts.map +1 -0
- package/dist/autonomy-schedule.js +101 -0
- package/dist/client.d.ts +49 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +119 -0
- package/dist/headless-auth.d.ts +54 -0
- package/dist/headless-auth.d.ts.map +1 -0
- package/dist/headless-auth.js +63 -0
- package/dist/http.d.ts +47 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +143 -0
- package/dist/index.d.ts +829 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1258 -0
- package/dist/oauth.d.ts +31 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +66 -0
- package/dist/relay-connect.d.ts +73 -0
- package/dist/relay-connect.d.ts.map +1 -0
- package/dist/relay-connect.js +75 -0
- package/dist/types.d.ts +902 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/webhooks.d.ts +59 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +165 -0
- package/package.json +35 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify AgentChain outbound webhooks (zero deps, WebCrypto — Node 18+, Deno, Bun, edge runtimes).
|
|
3
|
+
*
|
|
4
|
+
* Two schemes are sent on every delivery:
|
|
5
|
+
*
|
|
6
|
+
* 1. Standard Webhooks v1 (preferred, replay-protected) — headers `webhook-id`, `webhook-timestamp`,
|
|
7
|
+
* `webhook-signature: v1,<base64>` (several space-separated entries allowed).
|
|
8
|
+
* signature = base64(HMAC-SHA256(key, `${webhook-id}.${webhook-timestamp}.${rawBody}`))
|
|
9
|
+
* key = base64-decode(secret without the `whsec_` prefix); if that part is not valid base64,
|
|
10
|
+
* the raw UTF-8 bytes of the full secret are used.
|
|
11
|
+
* The timestamp (unix seconds) must be within `toleranceSeconds` (default 300) of now.
|
|
12
|
+
*
|
|
13
|
+
* 2. Legacy `X-Webhook-Signature` — lowercase hex HMAC-SHA256 of the raw body, no prefix
|
|
14
|
+
* (an optional `sha256=` prefix is tolerated). key = UTF-8 bytes of the secret with the `whsec_`
|
|
15
|
+
* prefix stripped (the hex characters themselves, not hex-decoded). No timestamp → no replay protection.
|
|
16
|
+
*
|
|
17
|
+
* In `scheme: 'auto'` (default) the Standard Webhooks headers decide whenever `webhook-signature` is present
|
|
18
|
+
* (no fallback to legacy, so a stale timestamp cannot be bypassed); otherwise the legacy header is checked.
|
|
19
|
+
* Signatures are compared with `crypto.subtle.verify` (constant time); malformed or wrong-length signatures
|
|
20
|
+
* return `valid: false` instead of throwing.
|
|
21
|
+
*/
|
|
22
|
+
export type WebhookHeaders = Headers | {
|
|
23
|
+
get(name: string): string | null;
|
|
24
|
+
} | Record<string, string | string[] | undefined | null>;
|
|
25
|
+
export type WebhookVerifyOptions = {
|
|
26
|
+
/** Max allowed clock skew for `webhook-timestamp`, seconds. Default 300. */
|
|
27
|
+
toleranceSeconds?: number;
|
|
28
|
+
/** Override "now" (Date or epoch milliseconds) — for tests. */
|
|
29
|
+
now?: Date | number;
|
|
30
|
+
/** `auto` (default): Standard Webhooks when its headers are present, else legacy. */
|
|
31
|
+
scheme?: 'auto' | 'standard' | 'legacy';
|
|
32
|
+
};
|
|
33
|
+
export type WebhookVerifyFailure = 'missing_secret' | 'missing_signature' | 'missing_headers' | 'invalid_timestamp' | 'timestamp_out_of_tolerance' | 'invalid_signature';
|
|
34
|
+
export type WebhookVerifyResult = {
|
|
35
|
+
valid: true;
|
|
36
|
+
scheme: 'standard' | 'legacy';
|
|
37
|
+
webhookId?: string;
|
|
38
|
+
timestamp?: number;
|
|
39
|
+
} | {
|
|
40
|
+
valid: false;
|
|
41
|
+
scheme: 'standard' | 'legacy' | null;
|
|
42
|
+
reason: WebhookVerifyFailure;
|
|
43
|
+
};
|
|
44
|
+
/** Standard Webhooks signing key: base64-decoded `whsec_` body, else UTF-8 bytes of the full secret. */
|
|
45
|
+
export declare function standardWebhookKeyBytes(secret: string): Uint8Array;
|
|
46
|
+
/** Legacy X-Webhook-Signature key: UTF-8 bytes of the secret without the `whsec_` prefix. */
|
|
47
|
+
export declare function legacyWebhookKeyBytes(secret: string): Uint8Array;
|
|
48
|
+
/**
|
|
49
|
+
* Verify an AgentChain webhook. Pass the **raw** request body (exactly as received — do not re-serialize
|
|
50
|
+
* parsed JSON), the request headers (Fetch `Headers`, Node `IncomingHttpHeaders`, or a plain object) and
|
|
51
|
+
* your endpoint secret (`whsec_…`, from PATCH /api/v1/agent/settings or POST …/webhooks/rotate-secret).
|
|
52
|
+
*
|
|
53
|
+
* ```ts
|
|
54
|
+
* const result = await verifyWebhookSignature(rawBody, req.headers, process.env.AGENTCHAIN_WEBHOOK_SECRET!)
|
|
55
|
+
* if (!result.valid) return res.status(401).end(result.reason)
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function verifyWebhookSignature(rawBody: string | Uint8Array | ArrayBuffer, headers: WebhookHeaders, secret: string, opts?: WebhookVerifyOptions): Promise<WebhookVerifyResult>;
|
|
59
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,cAAc,GACtB,OAAO,GACP;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;AAExD,MAAM,MAAM,oBAAoB,GAAG;IACjC,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,4BAA4B,GAC5B,mBAAmB,CAAA;AAEvB,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACtF;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAA;AAqDxF,wGAAwG;AACxG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAGlE;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAEhE;AA8DD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,EAC1C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAS9B"}
|
package/dist/webhooks.js
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify AgentChain outbound webhooks (zero deps, WebCrypto — Node 18+, Deno, Bun, edge runtimes).
|
|
3
|
+
*
|
|
4
|
+
* Two schemes are sent on every delivery:
|
|
5
|
+
*
|
|
6
|
+
* 1. Standard Webhooks v1 (preferred, replay-protected) — headers `webhook-id`, `webhook-timestamp`,
|
|
7
|
+
* `webhook-signature: v1,<base64>` (several space-separated entries allowed).
|
|
8
|
+
* signature = base64(HMAC-SHA256(key, `${webhook-id}.${webhook-timestamp}.${rawBody}`))
|
|
9
|
+
* key = base64-decode(secret without the `whsec_` prefix); if that part is not valid base64,
|
|
10
|
+
* the raw UTF-8 bytes of the full secret are used.
|
|
11
|
+
* The timestamp (unix seconds) must be within `toleranceSeconds` (default 300) of now.
|
|
12
|
+
*
|
|
13
|
+
* 2. Legacy `X-Webhook-Signature` — lowercase hex HMAC-SHA256 of the raw body, no prefix
|
|
14
|
+
* (an optional `sha256=` prefix is tolerated). key = UTF-8 bytes of the secret with the `whsec_`
|
|
15
|
+
* prefix stripped (the hex characters themselves, not hex-decoded). No timestamp → no replay protection.
|
|
16
|
+
*
|
|
17
|
+
* In `scheme: 'auto'` (default) the Standard Webhooks headers decide whenever `webhook-signature` is present
|
|
18
|
+
* (no fallback to legacy, so a stale timestamp cannot be bypassed); otherwise the legacy header is checked.
|
|
19
|
+
* Signatures are compared with `crypto.subtle.verify` (constant time); malformed or wrong-length signatures
|
|
20
|
+
* return `valid: false` instead of throwing.
|
|
21
|
+
*/
|
|
22
|
+
const SECRET_PREFIX = 'whsec_';
|
|
23
|
+
const BASE64_RE = /^[A-Za-z0-9+/]+={0,2}$/;
|
|
24
|
+
const HEX_SHA256_RE = /^[0-9a-fA-F]{64}$/;
|
|
25
|
+
const DEFAULT_TOLERANCE_SECONDS = 300;
|
|
26
|
+
const encoder = new TextEncoder();
|
|
27
|
+
function getHeader(headers, name) {
|
|
28
|
+
const h = headers;
|
|
29
|
+
if (typeof h.get === 'function') {
|
|
30
|
+
const v = headers.get(name);
|
|
31
|
+
return v == null ? null : String(v);
|
|
32
|
+
}
|
|
33
|
+
const lower = name.toLowerCase();
|
|
34
|
+
for (const [k, v] of Object.entries(headers)) {
|
|
35
|
+
if (k.toLowerCase() !== lower || v == null)
|
|
36
|
+
continue;
|
|
37
|
+
return Array.isArray(v) ? (v[0] ?? null) : String(v);
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
function isBase64(s) {
|
|
42
|
+
return s.length > 0 && s.length % 4 === 0 && BASE64_RE.test(s);
|
|
43
|
+
}
|
|
44
|
+
function base64ToBytes(s) {
|
|
45
|
+
const bin = atob(s);
|
|
46
|
+
const out = new Uint8Array(bin.length);
|
|
47
|
+
for (let i = 0; i < bin.length; i++)
|
|
48
|
+
out[i] = bin.charCodeAt(i);
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
function hexToBytes(hex) {
|
|
52
|
+
const out = new Uint8Array(hex.length / 2);
|
|
53
|
+
for (let i = 0; i < out.length; i++)
|
|
54
|
+
out[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
55
|
+
return out;
|
|
56
|
+
}
|
|
57
|
+
/** Copy into a fresh ArrayBuffer (WebCrypto BufferSource, no SharedArrayBuffer typing issues). */
|
|
58
|
+
function buf(u8) {
|
|
59
|
+
const out = new Uint8Array(u8.byteLength);
|
|
60
|
+
out.set(u8);
|
|
61
|
+
return out.buffer;
|
|
62
|
+
}
|
|
63
|
+
function bodyBytes(rawBody) {
|
|
64
|
+
if (typeof rawBody === 'string')
|
|
65
|
+
return encoder.encode(rawBody);
|
|
66
|
+
if (rawBody instanceof Uint8Array)
|
|
67
|
+
return rawBody;
|
|
68
|
+
return new Uint8Array(rawBody);
|
|
69
|
+
}
|
|
70
|
+
/** Standard Webhooks signing key: base64-decoded `whsec_` body, else UTF-8 bytes of the full secret. */
|
|
71
|
+
export function standardWebhookKeyBytes(secret) {
|
|
72
|
+
const body = secret.startsWith(SECRET_PREFIX) ? secret.slice(SECRET_PREFIX.length) : secret;
|
|
73
|
+
return isBase64(body) ? base64ToBytes(body) : encoder.encode(secret);
|
|
74
|
+
}
|
|
75
|
+
/** Legacy X-Webhook-Signature key: UTF-8 bytes of the secret without the `whsec_` prefix. */
|
|
76
|
+
export function legacyWebhookKeyBytes(secret) {
|
|
77
|
+
return encoder.encode(secret.startsWith(SECRET_PREFIX) ? secret.slice(SECRET_PREFIX.length) : secret);
|
|
78
|
+
}
|
|
79
|
+
async function subtle() {
|
|
80
|
+
const c = globalThis.crypto;
|
|
81
|
+
if (c?.subtle)
|
|
82
|
+
return c.subtle;
|
|
83
|
+
// Node 18 without the global: fall back to node:crypto's WebCrypto.
|
|
84
|
+
const mod = (await import('node:crypto'));
|
|
85
|
+
if (mod.webcrypto?.subtle)
|
|
86
|
+
return mod.webcrypto.subtle;
|
|
87
|
+
throw new Error('verifyWebhookSignature needs WebCrypto (crypto.subtle)');
|
|
88
|
+
}
|
|
89
|
+
async function hmacVerify(key, signature, data) {
|
|
90
|
+
if (signature.byteLength !== 32)
|
|
91
|
+
return false;
|
|
92
|
+
const s = await subtle();
|
|
93
|
+
const k = await s.importKey('raw', buf(key), { name: 'HMAC', hash: 'SHA-256' }, false, ['verify']);
|
|
94
|
+
return s.verify('HMAC', k, buf(signature), buf(data));
|
|
95
|
+
}
|
|
96
|
+
async function verifyStandard(body, headers, secret, opts) {
|
|
97
|
+
const id = getHeader(headers, 'webhook-id')?.trim();
|
|
98
|
+
const tsRaw = getHeader(headers, 'webhook-timestamp')?.trim();
|
|
99
|
+
const sigHeader = getHeader(headers, 'webhook-signature')?.trim();
|
|
100
|
+
if (!sigHeader)
|
|
101
|
+
return { valid: false, scheme: 'standard', reason: 'missing_signature' };
|
|
102
|
+
if (!id || !tsRaw)
|
|
103
|
+
return { valid: false, scheme: 'standard', reason: 'missing_headers' };
|
|
104
|
+
if (!/^\d{1,12}$/.test(tsRaw))
|
|
105
|
+
return { valid: false, scheme: 'standard', reason: 'invalid_timestamp' };
|
|
106
|
+
const timestamp = Number(tsRaw);
|
|
107
|
+
const nowMs = opts.now instanceof Date ? opts.now.getTime() : (opts.now ?? Date.now());
|
|
108
|
+
const tolerance = opts.toleranceSeconds ?? DEFAULT_TOLERANCE_SECONDS;
|
|
109
|
+
if (Math.abs(Math.floor(nowMs / 1000) - timestamp) > tolerance) {
|
|
110
|
+
return { valid: false, scheme: 'standard', reason: 'timestamp_out_of_tolerance' };
|
|
111
|
+
}
|
|
112
|
+
const prefix = encoder.encode(`${id}.${tsRaw}.`);
|
|
113
|
+
const signed = new Uint8Array(prefix.byteLength + body.byteLength);
|
|
114
|
+
signed.set(prefix, 0);
|
|
115
|
+
signed.set(body, prefix.byteLength);
|
|
116
|
+
const key = standardWebhookKeyBytes(secret);
|
|
117
|
+
for (const entry of sigHeader.split(/\s+/)) {
|
|
118
|
+
const comma = entry.indexOf(',');
|
|
119
|
+
if (comma < 0 || entry.slice(0, comma) !== 'v1')
|
|
120
|
+
continue;
|
|
121
|
+
const sig = entry.slice(comma + 1);
|
|
122
|
+
if (!isBase64(sig))
|
|
123
|
+
continue;
|
|
124
|
+
if (await hmacVerify(key, base64ToBytes(sig), signed)) {
|
|
125
|
+
return { valid: true, scheme: 'standard', webhookId: id, timestamp };
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return { valid: false, scheme: 'standard', reason: 'invalid_signature' };
|
|
129
|
+
}
|
|
130
|
+
async function verifyLegacy(body, headers, secret) {
|
|
131
|
+
let sig = getHeader(headers, 'x-webhook-signature')?.trim() ?? '';
|
|
132
|
+
if (!sig)
|
|
133
|
+
return { valid: false, scheme: 'legacy', reason: 'missing_signature' };
|
|
134
|
+
if (sig.toLowerCase().startsWith('sha256='))
|
|
135
|
+
sig = sig.slice('sha256='.length);
|
|
136
|
+
if (!HEX_SHA256_RE.test(sig))
|
|
137
|
+
return { valid: false, scheme: 'legacy', reason: 'invalid_signature' };
|
|
138
|
+
const ok = await hmacVerify(legacyWebhookKeyBytes(secret), hexToBytes(sig), body);
|
|
139
|
+
return ok ? { valid: true, scheme: 'legacy' } : { valid: false, scheme: 'legacy', reason: 'invalid_signature' };
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Verify an AgentChain webhook. Pass the **raw** request body (exactly as received — do not re-serialize
|
|
143
|
+
* parsed JSON), the request headers (Fetch `Headers`, Node `IncomingHttpHeaders`, or a plain object) and
|
|
144
|
+
* your endpoint secret (`whsec_…`, from PATCH /api/v1/agent/settings or POST …/webhooks/rotate-secret).
|
|
145
|
+
*
|
|
146
|
+
* ```ts
|
|
147
|
+
* const result = await verifyWebhookSignature(rawBody, req.headers, process.env.AGENTCHAIN_WEBHOOK_SECRET!)
|
|
148
|
+
* if (!result.valid) return res.status(401).end(result.reason)
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
export async function verifyWebhookSignature(rawBody, headers, secret, opts = {}) {
|
|
152
|
+
if (!secret)
|
|
153
|
+
return { valid: false, scheme: null, reason: 'missing_secret' };
|
|
154
|
+
const body = bodyBytes(rawBody);
|
|
155
|
+
const scheme = opts.scheme ?? 'auto';
|
|
156
|
+
if (scheme === 'standard')
|
|
157
|
+
return verifyStandard(body, headers, secret, opts);
|
|
158
|
+
if (scheme === 'legacy')
|
|
159
|
+
return verifyLegacy(body, headers, secret);
|
|
160
|
+
if (getHeader(headers, 'webhook-signature'))
|
|
161
|
+
return verifyStandard(body, headers, secret, opts);
|
|
162
|
+
if (getHeader(headers, 'x-webhook-signature'))
|
|
163
|
+
return verifyLegacy(body, headers, secret);
|
|
164
|
+
return { valid: false, scheme: null, reason: 'missing_signature' };
|
|
165
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentchainlabsai/sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Minimal TypeScript client for the AgentChain Agent API v1 (same contract as OpenAPI + MCP).",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc -p tsconfig.json",
|
|
19
|
+
"prepublishOnly": "npm run build"
|
|
20
|
+
},
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=18"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"agentchain",
|
|
26
|
+
"agent-api",
|
|
27
|
+
"ai-agents"
|
|
28
|
+
],
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
31
|
+
},
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/node": "^20.19.37",
|
|
35
|
+
"typescript": "^5.7.0"
|
|
36
|
+
}
|
|
37
|
+
}
|