@dupecom/botcha-cloudflare 0.20.2 → 0.23.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 +74 -9
- package/dist/agent-auth.d.ts +129 -0
- package/dist/agent-auth.d.ts.map +1 -0
- package/dist/agent-auth.js +210 -0
- package/dist/agents.d.ts +10 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +51 -1
- package/dist/app-gate.d.ts +6 -0
- package/dist/app-gate.d.ts.map +1 -0
- package/dist/app-gate.js +69 -0
- package/dist/apps.d.ts +13 -4
- package/dist/apps.d.ts.map +1 -1
- package/dist/apps.js +30 -4
- package/dist/dashboard/account.d.ts +63 -0
- package/dist/dashboard/account.d.ts.map +1 -0
- package/dist/dashboard/account.js +488 -0
- package/dist/dashboard/api.js +15 -68
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +14 -14
- package/dist/dashboard/docs.d.ts.map +1 -1
- package/dist/dashboard/docs.js +146 -3
- package/dist/dashboard/layout.d.ts.map +1 -1
- package/dist/dashboard/layout.js +2 -2
- package/dist/dashboard/mcp-setup.d.ts +15 -0
- package/dist/dashboard/mcp-setup.d.ts.map +1 -0
- package/dist/dashboard/mcp-setup.js +391 -0
- package/dist/dashboard/showcase.d.ts +6 -10
- package/dist/dashboard/showcase.d.ts.map +1 -1
- package/dist/dashboard/showcase.js +67 -991
- package/dist/dashboard/whitepaper.d.ts.map +1 -1
- package/dist/dashboard/whitepaper.js +42 -4
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +660 -83
- package/dist/mcp.d.ts +20 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +1290 -0
- package/dist/oauth-agent.d.ts +130 -0
- package/dist/oauth-agent.d.ts.map +1 -0
- package/dist/oauth-agent.js +194 -0
- package/dist/static.d.ts +781 -5
- package/dist/static.d.ts.map +1 -1
- package/dist/static.js +790 -111
- package/dist/tap-a2a-routes.d.ts +355 -0
- package/dist/tap-a2a-routes.d.ts.map +1 -0
- package/dist/tap-a2a-routes.js +475 -0
- package/dist/tap-a2a.d.ts +199 -0
- package/dist/tap-a2a.d.ts.map +1 -0
- package/dist/tap-a2a.js +502 -0
- package/dist/tap-agents.d.ts +15 -0
- package/dist/tap-agents.d.ts.map +1 -1
- package/dist/tap-agents.js +31 -1
- package/dist/tap-ans-routes.d.ts +302 -0
- package/dist/tap-ans-routes.d.ts.map +1 -0
- package/dist/tap-ans-routes.js +535 -0
- package/dist/tap-ans.d.ts +241 -0
- package/dist/tap-ans.d.ts.map +1 -0
- package/dist/tap-ans.js +481 -0
- package/dist/tap-delegation-routes.d.ts.map +1 -1
- package/dist/tap-delegation-routes.js +11 -0
- package/dist/tap-did.d.ts +140 -0
- package/dist/tap-did.d.ts.map +1 -0
- package/dist/tap-did.js +262 -0
- package/dist/tap-oidca-routes.d.ts +383 -0
- package/dist/tap-oidca-routes.d.ts.map +1 -0
- package/dist/tap-oidca-routes.js +597 -0
- package/dist/tap-oidca.d.ts +288 -0
- package/dist/tap-oidca.d.ts.map +1 -0
- package/dist/tap-oidca.js +461 -0
- package/dist/tap-routes.d.ts +24 -8
- package/dist/tap-routes.d.ts.map +1 -1
- package/dist/tap-routes.js +169 -23
- package/dist/tap-vc-routes.d.ts +358 -0
- package/dist/tap-vc-routes.d.ts.map +1 -0
- package/dist/tap-vc-routes.js +367 -0
- package/dist/tap-vc.d.ts +125 -0
- package/dist/tap-vc.d.ts.map +1 -0
- package/dist/tap-vc.js +245 -0
- package/dist/tap-x402-routes.d.ts +89 -0
- package/dist/tap-x402-routes.d.ts.map +1 -0
- package/dist/tap-x402-routes.js +579 -0
- package/dist/tap-x402.d.ts +222 -0
- package/dist/tap-x402.d.ts.map +1 -0
- package/dist/tap-x402.js +546 -0
- package/dist/webhooks.d.ts +99 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +642 -0
- package/package.json +3 -1
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BOTCHA OIDC-A Attestation Module
|
|
3
|
+
*
|
|
4
|
+
* Implements OIDC-A (OpenID Connect for Agents) attestation:
|
|
5
|
+
* - EAT (Entity Attestation Token) issuance per draft-ietf-rats-eat-25
|
|
6
|
+
* - OIDC-A compatible claims per draft-aap-oauth-profile (Feb 2026)
|
|
7
|
+
* - OAuth 2.0 AS metadata discovery per RFC 8414
|
|
8
|
+
* - Agent Authorization Grant per draft-rosenberg-oauth-aauth
|
|
9
|
+
* - OIDC-A UserInfo endpoint
|
|
10
|
+
*
|
|
11
|
+
* EAT tokens make BOTCHA an `agent_attestation` endpoint that enterprise
|
|
12
|
+
* auth servers embed in OpenID Connect for Agents token chains.
|
|
13
|
+
*/
|
|
14
|
+
import type { KVNamespace } from './auth.js';
|
|
15
|
+
import type { ES256SigningKeyJWK } from './auth.js';
|
|
16
|
+
/**
|
|
17
|
+
* EAT (Entity Attestation Token) payload — draft-ietf-rats-eat-25
|
|
18
|
+
*
|
|
19
|
+
* JSON-encoded EAT as a JWT (JOSE-protected).
|
|
20
|
+
* Claims follow Section 4 of draft-ietf-rats-eat-25:
|
|
21
|
+
* - iat, exp, iss, sub: standard JWT claims (reused by EAT)
|
|
22
|
+
* - eat_nonce: anti-replay nonce (Section 4.1)
|
|
23
|
+
* - eat_profile: URI identifying the EAT profile (Section 4.3.2)
|
|
24
|
+
* - ueid: Universal Entity ID (Section 4.2.1) — base64url(sha256(agent_id))
|
|
25
|
+
* - oemid: Hardware OEM ID (Section 4.2.3) — for software agents, this is vendor
|
|
26
|
+
* - swname: Software name (Section 4.2.6)
|
|
27
|
+
* - swversion: Software version (Section 4.2.7)
|
|
28
|
+
* - dbgstat: Debug status (Section 4.2.9)
|
|
29
|
+
* - intuse: Intended use (Section 4.3.3)
|
|
30
|
+
* - botcha_*: BOTCHA-specific private claims
|
|
31
|
+
*/
|
|
32
|
+
export interface EATPayload {
|
|
33
|
+
iss: string;
|
|
34
|
+
sub: string;
|
|
35
|
+
iat: number;
|
|
36
|
+
exp: number;
|
|
37
|
+
eat_profile: string;
|
|
38
|
+
eat_nonce: string;
|
|
39
|
+
ueid: string;
|
|
40
|
+
oemid: string;
|
|
41
|
+
swname: string;
|
|
42
|
+
swversion: string;
|
|
43
|
+
dbgstat: EATDebugStatus;
|
|
44
|
+
intuse: EATIntendedUse;
|
|
45
|
+
botcha_verified: true;
|
|
46
|
+
botcha_challenge_id: string;
|
|
47
|
+
botcha_solve_time_ms: number;
|
|
48
|
+
botcha_app_id?: string;
|
|
49
|
+
botcha_verification_method: 'speed-challenge' | 'hybrid-challenge' | 'reasoning-challenge';
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* EAT dbgstat values (Section 4.2.9 of draft-ietf-rats-eat-25)
|
|
53
|
+
*/
|
|
54
|
+
export type EATDebugStatus = 'Enabled' | 'Disabled' | 'Disabled-Since-Boot' | 'Disabled-Permanently' | 'Disabled-Fully-And-Permanently';
|
|
55
|
+
/**
|
|
56
|
+
* EAT intuse values (Section 4.3.3 of draft-ietf-rats-eat-25)
|
|
57
|
+
*/
|
|
58
|
+
export type EATIntendedUse = 'generic' | 'registration' | 'provisioning' | 'csr' | 'pop';
|
|
59
|
+
/**
|
|
60
|
+
* OIDC-A agent claims block — for embedding in enterprise ID tokens
|
|
61
|
+
*
|
|
62
|
+
* Based on:
|
|
63
|
+
* - draft-aap-oauth-profile Section 5 (JWT Claim Schema for Agents)
|
|
64
|
+
* - OIDC-A 1.0 agent extension claims
|
|
65
|
+
*
|
|
66
|
+
* Enterprise auth servers call /v1/attestation/oidc-agent-claims to enrich
|
|
67
|
+
* ID tokens with these claims before issuing them to clients.
|
|
68
|
+
*/
|
|
69
|
+
export interface OIDCAgentClaims {
|
|
70
|
+
agent_model: string;
|
|
71
|
+
agent_version?: string;
|
|
72
|
+
agent_capabilities: string[];
|
|
73
|
+
agent_attestation: string;
|
|
74
|
+
delegation_chain: string[];
|
|
75
|
+
agent_id: string;
|
|
76
|
+
agent_operator?: string;
|
|
77
|
+
agent_verification: {
|
|
78
|
+
method: string;
|
|
79
|
+
solve_time_ms: number;
|
|
80
|
+
verified_at: string;
|
|
81
|
+
issuer: string;
|
|
82
|
+
challenge_id: string;
|
|
83
|
+
};
|
|
84
|
+
human_oversight_required: boolean;
|
|
85
|
+
oversight_contact?: string;
|
|
86
|
+
task_id?: string;
|
|
87
|
+
task_purpose?: string;
|
|
88
|
+
iat: number;
|
|
89
|
+
exp: number;
|
|
90
|
+
iss: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Agent Grant result — output of POST /v1/auth/agent-grant
|
|
94
|
+
*
|
|
95
|
+
* Implements the "Agent Authorization Grant" from draft-rosenberg-oauth-aauth.
|
|
96
|
+
* An agent presents its BOTCHA token and receives a scoped OAuth-style grant.
|
|
97
|
+
*/
|
|
98
|
+
export interface AgentGrantResult {
|
|
99
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:agent_authorization';
|
|
100
|
+
access_token: string;
|
|
101
|
+
token_type: 'Bearer';
|
|
102
|
+
expires_in: number;
|
|
103
|
+
scope: string;
|
|
104
|
+
agent_id: string;
|
|
105
|
+
app_id?: string;
|
|
106
|
+
human_oversight_required: boolean;
|
|
107
|
+
oversight_status: 'none' | 'pending' | 'approved' | 'denied';
|
|
108
|
+
oversight_polling_url?: string;
|
|
109
|
+
agent_claims: OIDCAgentClaims;
|
|
110
|
+
eat_token: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Stored grant state for HITL polling
|
|
114
|
+
*/
|
|
115
|
+
export interface PendingGrant {
|
|
116
|
+
grant_id: string;
|
|
117
|
+
agent_id: string;
|
|
118
|
+
app_id?: string;
|
|
119
|
+
scope: string;
|
|
120
|
+
requested_at: number;
|
|
121
|
+
status: 'pending' | 'approved' | 'denied';
|
|
122
|
+
approved_at?: number;
|
|
123
|
+
denied_at?: number;
|
|
124
|
+
denial_reason?: string;
|
|
125
|
+
}
|
|
126
|
+
export declare const BOTCHA_EAT_PROFILE = "https://botcha.ai/eat-profile/v1";
|
|
127
|
+
export declare const BOTCHA_ISSUER = "botcha.ai";
|
|
128
|
+
export declare const EAT_TOKEN_TTL_SECONDS = 3600;
|
|
129
|
+
export declare const OIDC_CLAIMS_TTL_SECONDS = 3600;
|
|
130
|
+
export declare const AGENT_GRANT_TTL_SECONDS = 3600;
|
|
131
|
+
/**
|
|
132
|
+
* Well-known BOTCHA agent capabilities
|
|
133
|
+
* Enterprise auth servers can use these to filter agents by capability.
|
|
134
|
+
*/
|
|
135
|
+
export declare const BOTCHA_AGENT_CAPABILITIES: string[];
|
|
136
|
+
/**
|
|
137
|
+
* Issue an EAT (Entity Attestation Token) from a valid BOTCHA access token.
|
|
138
|
+
*
|
|
139
|
+
* The EAT proves:
|
|
140
|
+
* 1. The agent solved a computational challenge (proving it is a bot)
|
|
141
|
+
* 2. The challenge was issued by botcha.ai
|
|
142
|
+
* 3. The solution time demonstrates AI-speed computation
|
|
143
|
+
* 4. The agent is registered with a specific app
|
|
144
|
+
*
|
|
145
|
+
* This token can be embedded as `agent_attestation` in OIDC-A tokens.
|
|
146
|
+
*
|
|
147
|
+
* @param botchaPayload - Verified BOTCHA access token payload
|
|
148
|
+
* @param signingKey - ES256 private key for signing (required for EAT)
|
|
149
|
+
* @param options - Optional parameters
|
|
150
|
+
* @returns Signed EAT JWT
|
|
151
|
+
*/
|
|
152
|
+
export declare function issueEAT(botchaPayload: {
|
|
153
|
+
sub: string;
|
|
154
|
+
iat: number;
|
|
155
|
+
exp: number;
|
|
156
|
+
jti: string;
|
|
157
|
+
type: 'botcha-verified';
|
|
158
|
+
solveTime: number;
|
|
159
|
+
app_id?: string;
|
|
160
|
+
aud?: string;
|
|
161
|
+
}, signingKey: ES256SigningKeyJWK, options?: {
|
|
162
|
+
nonce?: string;
|
|
163
|
+
agentModel?: string;
|
|
164
|
+
ttlSeconds?: number;
|
|
165
|
+
verificationMethod?: 'speed-challenge' | 'hybrid-challenge' | 'reasoning-challenge';
|
|
166
|
+
}): Promise<string>;
|
|
167
|
+
/**
|
|
168
|
+
* Build OIDC-A compatible agent claims block.
|
|
169
|
+
*
|
|
170
|
+
* This is the full claims object that enterprise auth servers embed in their
|
|
171
|
+
* ID tokens for agent grants. It includes the EAT token as `agent_attestation`.
|
|
172
|
+
*
|
|
173
|
+
* @param botchaPayload - Verified BOTCHA access token payload
|
|
174
|
+
* @param eatToken - Signed EAT JWT (from issueEAT)
|
|
175
|
+
* @param signingKey - ES256 signing key
|
|
176
|
+
* @param options - Agent metadata and OIDC-A options
|
|
177
|
+
* @returns Signed OIDC-A claims JWT + plain claims object
|
|
178
|
+
*/
|
|
179
|
+
export declare function buildOIDCAgentClaims(botchaPayload: {
|
|
180
|
+
sub: string;
|
|
181
|
+
iat: number;
|
|
182
|
+
exp: number;
|
|
183
|
+
jti: string;
|
|
184
|
+
type: 'botcha-verified';
|
|
185
|
+
solveTime: number;
|
|
186
|
+
app_id?: string;
|
|
187
|
+
aud?: string;
|
|
188
|
+
}, eatToken: string, signingKey: ES256SigningKeyJWK, options?: {
|
|
189
|
+
agentModel?: string;
|
|
190
|
+
agentVersion?: string;
|
|
191
|
+
agentCapabilities?: string[];
|
|
192
|
+
agentOperator?: string;
|
|
193
|
+
delegationChain?: string[];
|
|
194
|
+
humanOversightRequired?: boolean;
|
|
195
|
+
oversightContact?: string;
|
|
196
|
+
taskId?: string;
|
|
197
|
+
taskPurpose?: string;
|
|
198
|
+
scope?: string;
|
|
199
|
+
ttlSeconds?: number;
|
|
200
|
+
verificationMethod?: 'speed-challenge' | 'hybrid-challenge' | 'reasoning-challenge';
|
|
201
|
+
}): Promise<{
|
|
202
|
+
claims: OIDCAgentClaims;
|
|
203
|
+
claimsJwt: string;
|
|
204
|
+
}>;
|
|
205
|
+
/**
|
|
206
|
+
* Issue an Agent Authorization Grant.
|
|
207
|
+
*
|
|
208
|
+
* Implements draft-rosenberg-oauth-aauth "Agent Authorization Grant":
|
|
209
|
+
* - Agent presents BOTCHA access token as credential
|
|
210
|
+
* - Server issues a scoped grant JWT bound to the agent's identity
|
|
211
|
+
* - Optionally queued for human-in-the-loop approval
|
|
212
|
+
*
|
|
213
|
+
* Grant token is a signed JWT with AAP claims (draft-aap-oauth-profile §5).
|
|
214
|
+
*
|
|
215
|
+
* @param botchaPayload - Verified BOTCHA access token payload
|
|
216
|
+
* @param eatToken - EAT JWT from issueEAT
|
|
217
|
+
* @param oidcClaims - OIDC-A claims object from buildOIDCAgentClaims
|
|
218
|
+
* @param signingKey - ES256 signing key
|
|
219
|
+
* @param kv - KV namespace for storing pending grants (for HITL polling)
|
|
220
|
+
* @param options - Grant options
|
|
221
|
+
* @returns AgentGrantResult
|
|
222
|
+
*/
|
|
223
|
+
export declare function issueAgentGrant(botchaPayload: {
|
|
224
|
+
sub: string;
|
|
225
|
+
iat: number;
|
|
226
|
+
exp: number;
|
|
227
|
+
jti: string;
|
|
228
|
+
type: 'botcha-verified';
|
|
229
|
+
solveTime: number;
|
|
230
|
+
app_id?: string;
|
|
231
|
+
}, eatToken: string, oidcClaims: OIDCAgentClaims, signingKey: ES256SigningKeyJWK, kv: KVNamespace, baseUrl: string, options?: {
|
|
232
|
+
scope?: string;
|
|
233
|
+
humanOversightRequired?: boolean;
|
|
234
|
+
ttlSeconds?: number;
|
|
235
|
+
taskId?: string;
|
|
236
|
+
taskPurpose?: string;
|
|
237
|
+
constraints?: Record<string, unknown>;
|
|
238
|
+
}): Promise<AgentGrantResult>;
|
|
239
|
+
/**
|
|
240
|
+
* Build OAuth 2.0 Authorization Server metadata (RFC 8414).
|
|
241
|
+
*
|
|
242
|
+
* This makes BOTCHA discoverable as an OAuth AS by enterprise auth servers
|
|
243
|
+
* that implement RFC 8414 auto-configuration.
|
|
244
|
+
*
|
|
245
|
+
* Extended with OIDC-A specific metadata for agent auth servers.
|
|
246
|
+
*/
|
|
247
|
+
export declare function buildOAuthASMetadata(baseUrl: string): object;
|
|
248
|
+
/**
|
|
249
|
+
* Verify and decode a BOTCHA EAT token.
|
|
250
|
+
* Used by the UserInfo endpoint to extract agent identity.
|
|
251
|
+
*
|
|
252
|
+
* @param eatJwt - The EAT JWT to verify
|
|
253
|
+
* @param publicKey - ES256 public key JWK
|
|
254
|
+
* @returns Verified EAT payload or null
|
|
255
|
+
*/
|
|
256
|
+
export declare function verifyEAT(eatJwt: string, publicKey: object): Promise<EATPayload | null>;
|
|
257
|
+
/**
|
|
258
|
+
* Poll the status of a pending human-in-the-loop grant.
|
|
259
|
+
*
|
|
260
|
+
* @param grantId - The grant ID to poll
|
|
261
|
+
* @param kv - KV namespace
|
|
262
|
+
* @returns Current grant status or null if not found
|
|
263
|
+
*/
|
|
264
|
+
export declare function getGrantStatus(grantId: string, kv: KVNamespace): Promise<PendingGrant | null>;
|
|
265
|
+
/**
|
|
266
|
+
* Approve or deny a pending agent grant (admin action).
|
|
267
|
+
*
|
|
268
|
+
* @param grantId - The grant ID
|
|
269
|
+
* @param decision - 'approved' or 'denied'
|
|
270
|
+
* @param reason - Optional denial reason
|
|
271
|
+
* @param kv - KV namespace
|
|
272
|
+
*/
|
|
273
|
+
export declare function resolveGrant(grantId: string, decision: 'approved' | 'denied', reason: string | undefined, kv: KVNamespace): Promise<{
|
|
274
|
+
success: boolean;
|
|
275
|
+
grant?: PendingGrant;
|
|
276
|
+
error?: string;
|
|
277
|
+
}>;
|
|
278
|
+
declare const _default: {
|
|
279
|
+
issueEAT: typeof issueEAT;
|
|
280
|
+
buildOIDCAgentClaims: typeof buildOIDCAgentClaims;
|
|
281
|
+
issueAgentGrant: typeof issueAgentGrant;
|
|
282
|
+
buildOAuthASMetadata: typeof buildOAuthASMetadata;
|
|
283
|
+
verifyEAT: typeof verifyEAT;
|
|
284
|
+
getGrantStatus: typeof getGrantStatus;
|
|
285
|
+
resolveGrant: typeof resolveGrant;
|
|
286
|
+
};
|
|
287
|
+
export default _default;
|
|
288
|
+
//# sourceMappingURL=tap-oidca.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tap-oidca.d.ts","sourceRoot":"","sources":["../src/tap-oidca.ts"],"names":[],"mappings":"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"}
|