@kya-os/agentshield-nextjs 0.3.3 → 0.3.5

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 (110) hide show
  1. package/README.md +21 -369
  2. package/index.js +9 -0
  3. package/package.json +7 -141
  4. package/EDGE_RUNTIME_WASM_SETUP.md +0 -348
  5. package/bin/setup-edge-wasm.js +0 -525
  6. package/dist/.tsbuildinfo +0 -1
  7. package/dist/api-client.d.mts +0 -196
  8. package/dist/api-client.d.ts +0 -196
  9. package/dist/api-client.js +0 -200
  10. package/dist/api-client.js.map +0 -1
  11. package/dist/api-client.mjs +0 -196
  12. package/dist/api-client.mjs.map +0 -1
  13. package/dist/api-middleware.d.mts +0 -140
  14. package/dist/api-middleware.d.ts +0 -140
  15. package/dist/api-middleware.js +0 -511
  16. package/dist/api-middleware.js.map +0 -1
  17. package/dist/api-middleware.mjs +0 -508
  18. package/dist/api-middleware.mjs.map +0 -1
  19. package/dist/create-middleware.d.mts +0 -17
  20. package/dist/create-middleware.d.ts +0 -17
  21. package/dist/create-middleware.js +0 -1381
  22. package/dist/create-middleware.js.map +0 -1
  23. package/dist/create-middleware.mjs +0 -1358
  24. package/dist/create-middleware.mjs.map +0 -1
  25. package/dist/edge/index.d.mts +0 -110
  26. package/dist/edge/index.d.ts +0 -110
  27. package/dist/edge/index.js +0 -277
  28. package/dist/edge/index.js.map +0 -1
  29. package/dist/edge/index.mjs +0 -275
  30. package/dist/edge/index.mjs.map +0 -1
  31. package/dist/edge-detector-wrapper.d.mts +0 -34
  32. package/dist/edge-detector-wrapper.d.ts +0 -34
  33. package/dist/edge-detector-wrapper.js +0 -596
  34. package/dist/edge-detector-wrapper.js.map +0 -1
  35. package/dist/edge-detector-wrapper.mjs +0 -574
  36. package/dist/edge-detector-wrapper.mjs.map +0 -1
  37. package/dist/edge-runtime-loader.d.mts +0 -50
  38. package/dist/edge-runtime-loader.d.ts +0 -50
  39. package/dist/edge-runtime-loader.js +0 -204
  40. package/dist/edge-runtime-loader.js.map +0 -1
  41. package/dist/edge-runtime-loader.mjs +0 -201
  42. package/dist/edge-runtime-loader.mjs.map +0 -1
  43. package/dist/edge-wasm-middleware.d.mts +0 -68
  44. package/dist/edge-wasm-middleware.d.ts +0 -68
  45. package/dist/edge-wasm-middleware.js +0 -318
  46. package/dist/edge-wasm-middleware.js.map +0 -1
  47. package/dist/edge-wasm-middleware.mjs +0 -315
  48. package/dist/edge-wasm-middleware.mjs.map +0 -1
  49. package/dist/enhanced-middleware.d.mts +0 -153
  50. package/dist/enhanced-middleware.d.ts +0 -153
  51. package/dist/enhanced-middleware.js +0 -1082
  52. package/dist/enhanced-middleware.js.map +0 -1
  53. package/dist/enhanced-middleware.mjs +0 -1080
  54. package/dist/enhanced-middleware.mjs.map +0 -1
  55. package/dist/index.d.mts +0 -24
  56. package/dist/index.d.ts +0 -24
  57. package/dist/index.js +0 -2717
  58. package/dist/index.js.map +0 -1
  59. package/dist/index.mjs +0 -2662
  60. package/dist/index.mjs.map +0 -1
  61. package/dist/middleware.d.mts +0 -21
  62. package/dist/middleware.d.ts +0 -21
  63. package/dist/middleware.js +0 -1362
  64. package/dist/middleware.js.map +0 -1
  65. package/dist/middleware.mjs +0 -1339
  66. package/dist/middleware.mjs.map +0 -1
  67. package/dist/nodejs-wasm-loader.d.mts +0 -25
  68. package/dist/nodejs-wasm-loader.d.ts +0 -25
  69. package/dist/nodejs-wasm-loader.js +0 -78
  70. package/dist/nodejs-wasm-loader.js.map +0 -1
  71. package/dist/nodejs-wasm-loader.mjs +0 -68
  72. package/dist/nodejs-wasm-loader.mjs.map +0 -1
  73. package/dist/policy.d.mts +0 -162
  74. package/dist/policy.d.ts +0 -162
  75. package/dist/policy.js +0 -189
  76. package/dist/policy.js.map +0 -1
  77. package/dist/policy.mjs +0 -165
  78. package/dist/policy.mjs.map +0 -1
  79. package/dist/session-tracker.d.mts +0 -55
  80. package/dist/session-tracker.d.ts +0 -55
  81. package/dist/session-tracker.js +0 -170
  82. package/dist/session-tracker.js.map +0 -1
  83. package/dist/session-tracker.mjs +0 -167
  84. package/dist/session-tracker.mjs.map +0 -1
  85. package/dist/signature-verifier.d.mts +0 -33
  86. package/dist/signature-verifier.d.ts +0 -33
  87. package/dist/signature-verifier.js +0 -386
  88. package/dist/signature-verifier.js.map +0 -1
  89. package/dist/signature-verifier.mjs +0 -362
  90. package/dist/signature-verifier.mjs.map +0 -1
  91. package/dist/types-DVmy9NE3.d.mts +0 -105
  92. package/dist/types-DVmy9NE3.d.ts +0 -105
  93. package/dist/wasm-middleware.d.mts +0 -63
  94. package/dist/wasm-middleware.d.ts +0 -63
  95. package/dist/wasm-middleware.js +0 -98
  96. package/dist/wasm-middleware.js.map +0 -1
  97. package/dist/wasm-middleware.mjs +0 -95
  98. package/dist/wasm-middleware.mjs.map +0 -1
  99. package/dist/wasm-setup.d.mts +0 -46
  100. package/dist/wasm-setup.d.ts +0 -46
  101. package/dist/wasm-setup.js +0 -157
  102. package/dist/wasm-setup.js.map +0 -1
  103. package/dist/wasm-setup.mjs +0 -148
  104. package/dist/wasm-setup.mjs.map +0 -1
  105. package/templates/middleware-wasm-100.ts +0 -151
  106. package/wasm/agentshield_wasm.d.ts +0 -479
  107. package/wasm/agentshield_wasm.js +0 -1536
  108. package/wasm/agentshield_wasm_bg.wasm +0 -0
  109. package/wasm/package.json +0 -30
  110. package/wasm.d.ts +0 -21
@@ -1,479 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * Initialize the AgentShield WASM module
5
- */
6
- export function init(): void;
7
- /**
8
- * Analyze a request and detect if it's from an agent
9
- */
10
- export function detect_agent(metadata: JsRequestMetadata): JsDetectionResult;
11
- /**
12
- * Get the version of the AgentShield library
13
- */
14
- export function version(): string;
15
- /**
16
- * Get the version of the AgentShield library
17
- */
18
- export function get_version(): string;
19
- /**
20
- * Get build information
21
- */
22
- export function get_build_info(): string;
23
- /**
24
- * Verify an MCP-I proof (VC-JWT token)
25
- *
26
- * This function verifies a Verifiable Credential JWT and extracts the
27
- * principal (issuer) and agent (subject) DIDs.
28
- *
29
- * # Arguments
30
- *
31
- * * `vc_jwt` - The VC-JWT token string (header.payload.signature)
32
- * * `current_time_secs` - Current Unix timestamp in seconds (for expiration check)
33
- *
34
- * # Returns
35
- *
36
- * A `JsMcpIVerificationResult` with verification status and extracted DIDs.
37
- */
38
- export function verify_mcp_i_proof(
39
- vc_jwt: string,
40
- current_time_secs: bigint
41
- ): JsMcpIVerificationResult;
42
- /**
43
- * Resolve a did:key identifier to its public key
44
- *
45
- * # Arguments
46
- *
47
- * * `did` - The did:key identifier (e.g., "did:key:z6Mkf...")
48
- *
49
- * # Returns
50
- *
51
- * A `JsDidKeyResult` with the resolved public key or an error.
52
- */
53
- export function resolve_did_key_wasm(did: string): JsDidKeyResult;
54
- /**
55
- * Check if a requested scope is permitted by granted scopes
56
- *
57
- * # Arguments
58
- *
59
- * * `requested` - The scope being requested (e.g., "read:email")
60
- * * `granted_json` - JSON array of granted scopes (e.g., "[\"read:*\", \"write:calendar\"]")
61
- *
62
- * # Returns
63
- *
64
- * A `JsScopeCheckResult` indicating whether the scope is permitted.
65
- */
66
- export function check_delegation_scope(requested: string, granted_json: string): JsScopeCheckResult;
67
- /**
68
- * Verify a delegation with time constraints
69
- *
70
- * # Arguments
71
- *
72
- * * `requested` - The scope being requested
73
- * * `granted_json` - JSON array of granted scopes
74
- * * `not_before` - Optional Unix timestamp (0 to skip)
75
- * * `not_after` - Optional Unix timestamp (0 to skip)
76
- * * `current_time` - Current Unix timestamp (0 to skip time checks)
77
- *
78
- * # Returns
79
- *
80
- * A `JsScopeCheckResult` indicating whether the delegation is valid.
81
- */
82
- export function verify_delegation_scope(
83
- requested: string,
84
- granted_json: string,
85
- not_before: bigint,
86
- not_after: bigint,
87
- current_time: bigint
88
- ): JsScopeCheckResult;
89
- /**
90
- * Evaluate a request against a policy configuration
91
- *
92
- * # Arguments
93
- *
94
- * * `policy_json` - Policy configuration as JSON string
95
- * * `context_json` - Evaluation context as JSON string
96
- *
97
- * # Returns
98
- *
99
- * A `JsPolicyEvaluationResult` with the enforcement action and reason.
100
- *
101
- * # Example
102
- *
103
- * ```javascript
104
- * const policy = JSON.stringify({
105
- * version: "1.0.0",
106
- * enabled: true,
107
- * defaultAction: "allow",
108
- * thresholds: { confidenceThreshold: 80, confidenceAction: "block" },
109
- * denyList: [],
110
- * allowList: [],
111
- * rules: []
112
- * });
113
- *
114
- * const context = JSON.stringify({
115
- * agentType: "ai_agent",
116
- * agentName: "ChatGPT",
117
- * confidence: 95
118
- * });
119
- *
120
- * const result = evaluate_policy(policy, context);
121
- * console.log(result.action); // "block" (confidence exceeded threshold)
122
- * ```
123
- */
124
- export function evaluate_policy(
125
- policy_json: string,
126
- context_json: string
127
- ): JsPolicyEvaluationResult;
128
- /**
129
- * Check if a policy allows a request (convenience function)
130
- *
131
- * # Arguments
132
- *
133
- * * `policy_json` - Policy configuration as JSON string
134
- * * `context_json` - Evaluation context as JSON string
135
- *
136
- * # Returns
137
- *
138
- * `true` if the request is allowed, `false` otherwise.
139
- */
140
- export function policy_allows(policy_json: string, context_json: string): boolean;
141
- /**
142
- * JavaScript-compatible detection result
143
- */
144
- export class JsDetectionResult {
145
- private constructor();
146
- free(): void;
147
- [Symbol.dispose](): void;
148
- /**
149
- * Whether the request was identified as coming from an agent
150
- */
151
- is_agent: boolean;
152
- /**
153
- * Confidence score (0.0 to 1.0 scale)
154
- */
155
- confidence: number;
156
- /**
157
- * Get the detected agent name
158
- */
159
- readonly agent: string | undefined;
160
- /**
161
- * Get the detection class for database storage
162
- * Returns: 'human', 'ai_agent', 'bot', 'automation', or 'unknown'
163
- */
164
- readonly detection_class: string;
165
- /**
166
- * Get the verification method as a string
167
- */
168
- readonly verification_method: string;
169
- /**
170
- * Get the risk level as a string
171
- */
172
- readonly risk_level: string;
173
- /**
174
- * Get the timestamp as a string
175
- */
176
- readonly timestamp: string;
177
- }
178
- /**
179
- * JavaScript-compatible result from did:key resolution
180
- */
181
- export class JsDidKeyResult {
182
- private constructor();
183
- free(): void;
184
- [Symbol.dispose](): void;
185
- /**
186
- * Whether the resolution was successful
187
- */
188
- success: boolean;
189
- /**
190
- * Get the public key as hex string
191
- */
192
- readonly public_key_hex: string | undefined;
193
- /**
194
- * Get the key type
195
- */
196
- readonly key_type: string | undefined;
197
- /**
198
- * Get the error message
199
- */
200
- readonly error: string | undefined;
201
- }
202
- /**
203
- * JavaScript-compatible result from MCP-I verification
204
- */
205
- export class JsMcpIVerificationResult {
206
- private constructor();
207
- free(): void;
208
- [Symbol.dispose](): void;
209
- /**
210
- * Whether the verification was successful
211
- */
212
- verified: boolean;
213
- /**
214
- * Confidence score (0.0 to 1.0 scale) - 0.99 for verified MCP-I
215
- */
216
- confidence: number;
217
- /**
218
- * Get the issuer DID (principal)
219
- */
220
- readonly issuer_did: string | undefined;
221
- /**
222
- * Get the subject DID (agent)
223
- */
224
- readonly subject_did: string | undefined;
225
- /**
226
- * Get the error message
227
- */
228
- readonly error: string | undefined;
229
- }
230
- /**
231
- * JavaScript-compatible policy evaluation result
232
- */
233
- export class JsPolicyEvaluationResult {
234
- private constructor();
235
- free(): void;
236
- [Symbol.dispose](): void;
237
- /**
238
- * Check if the action permits the request to proceed
239
- * Returns true for 'allow' and 'log' (allow but log for monitoring)
240
- */
241
- is_allowed(): boolean;
242
- /**
243
- * Check if the action blocks the request
244
- * Returns true for 'block', 'redirect', and 'challenge'
245
- */
246
- is_blocked(): boolean;
247
- /**
248
- * Convert to JSON string for serialization
249
- */
250
- to_json(): string;
251
- /**
252
- * Get the enforcement action
253
- */
254
- readonly action: string;
255
- /**
256
- * Get the reason for the action
257
- */
258
- readonly reason: string;
259
- /**
260
- * Get the matched rule ID
261
- */
262
- readonly rule_id: string | undefined;
263
- /**
264
- * Get the matched rule name
265
- */
266
- readonly rule_name: string | undefined;
267
- /**
268
- * Get the redirect URL
269
- */
270
- readonly redirect_url: string | undefined;
271
- /**
272
- * Get the custom message
273
- */
274
- readonly message: string | undefined;
275
- /**
276
- * Get the match type
277
- */
278
- readonly match_type: string;
279
- }
280
- /**
281
- * JavaScript-compatible request metadata
282
- */
283
- export class JsRequestMetadata {
284
- free(): void;
285
- [Symbol.dispose](): void;
286
- /**
287
- * Constructor for JsRequestMetadata
288
- */
289
- constructor(
290
- user_agent: string | null | undefined,
291
- ip_address: string | null | undefined,
292
- headers: string,
293
- timestamp: string,
294
- url?: string | null,
295
- method?: string | null,
296
- client_fingerprint?: string | null,
297
- tls_fingerprint?: string | null
298
- );
299
- /**
300
- * Get the user agent
301
- */
302
- readonly user_agent: string | undefined;
303
- /**
304
- * Get the IP address
305
- */
306
- readonly ip_address: string | undefined;
307
- /**
308
- * Get the headers as JSON string
309
- */
310
- readonly headers: string;
311
- /**
312
- * Get the timestamp
313
- */
314
- readonly timestamp: string;
315
- /**
316
- * Get the URL
317
- */
318
- readonly url: string | undefined;
319
- /**
320
- * Get the method
321
- */
322
- readonly method: string | undefined;
323
- /**
324
- * Get the client fingerprint
325
- */
326
- readonly client_fingerprint: string | undefined;
327
- /**
328
- * Get the TLS fingerprint
329
- */
330
- readonly tls_fingerprint: string | undefined;
331
- }
332
- /**
333
- * JavaScript-compatible result from scope check
334
- */
335
- export class JsScopeCheckResult {
336
- private constructor();
337
- free(): void;
338
- [Symbol.dispose](): void;
339
- /**
340
- * Whether the scope is permitted
341
- */
342
- permitted: boolean;
343
- /**
344
- * Get the matching scope
345
- */
346
- readonly matched_by: string | undefined;
347
- /**
348
- * Get the match type
349
- */
350
- readonly match_type: string;
351
- /**
352
- * Get the error message
353
- */
354
- readonly error: string | undefined;
355
- }
356
-
357
- export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
358
-
359
- export interface InitOutput {
360
- readonly memory: WebAssembly.Memory;
361
- readonly __wbg_jsdetectionresult_free: (a: number, b: number) => void;
362
- readonly __wbg_get_jsdetectionresult_is_agent: (a: number) => number;
363
- readonly __wbg_set_jsdetectionresult_is_agent: (a: number, b: number) => void;
364
- readonly __wbg_get_jsdetectionresult_confidence: (a: number) => number;
365
- readonly __wbg_set_jsdetectionresult_confidence: (a: number, b: number) => void;
366
- readonly jsdetectionresult_agent: (a: number, b: number) => void;
367
- readonly jsdetectionresult_detection_class: (a: number, b: number) => void;
368
- readonly jsdetectionresult_verification_method: (a: number, b: number) => void;
369
- readonly jsdetectionresult_risk_level: (a: number, b: number) => void;
370
- readonly jsdetectionresult_timestamp: (a: number, b: number) => void;
371
- readonly __wbg_jsrequestmetadata_free: (a: number, b: number) => void;
372
- readonly jsrequestmetadata_new: (
373
- a: number,
374
- b: number,
375
- c: number,
376
- d: number,
377
- e: number,
378
- f: number,
379
- g: number,
380
- h: number,
381
- i: number,
382
- j: number,
383
- k: number,
384
- l: number,
385
- m: number,
386
- n: number,
387
- o: number,
388
- p: number
389
- ) => number;
390
- readonly jsrequestmetadata_user_agent: (a: number, b: number) => void;
391
- readonly jsrequestmetadata_ip_address: (a: number, b: number) => void;
392
- readonly jsrequestmetadata_headers: (a: number, b: number) => void;
393
- readonly jsrequestmetadata_timestamp: (a: number, b: number) => void;
394
- readonly jsrequestmetadata_url: (a: number, b: number) => void;
395
- readonly jsrequestmetadata_method: (a: number, b: number) => void;
396
- readonly jsrequestmetadata_client_fingerprint: (a: number, b: number) => void;
397
- readonly jsrequestmetadata_tls_fingerprint: (a: number, b: number) => void;
398
- readonly init: () => void;
399
- readonly detect_agent: (a: number, b: number) => void;
400
- readonly get_version: (a: number) => void;
401
- readonly get_build_info: (a: number) => void;
402
- readonly __wbg_jsmcpiverificationresult_free: (a: number, b: number) => void;
403
- readonly __wbg_get_jsmcpiverificationresult_verified: (a: number) => number;
404
- readonly __wbg_set_jsmcpiverificationresult_verified: (a: number, b: number) => void;
405
- readonly jsmcpiverificationresult_issuer_did: (a: number, b: number) => void;
406
- readonly jsmcpiverificationresult_subject_did: (a: number, b: number) => void;
407
- readonly jsmcpiverificationresult_error: (a: number, b: number) => void;
408
- readonly verify_mcp_i_proof: (a: number, b: number, c: bigint) => number;
409
- readonly __wbg_jsdidkeyresult_free: (a: number, b: number) => void;
410
- readonly __wbg_get_jsdidkeyresult_success: (a: number) => number;
411
- readonly __wbg_set_jsdidkeyresult_success: (a: number, b: number) => void;
412
- readonly jsdidkeyresult_public_key_hex: (a: number, b: number) => void;
413
- readonly jsdidkeyresult_key_type: (a: number, b: number) => void;
414
- readonly jsdidkeyresult_error: (a: number, b: number) => void;
415
- readonly resolve_did_key_wasm: (a: number, b: number) => number;
416
- readonly __wbg_jsscopecheckresult_free: (a: number, b: number) => void;
417
- readonly jsscopecheckresult_matched_by: (a: number, b: number) => void;
418
- readonly jsscopecheckresult_match_type: (a: number, b: number) => void;
419
- readonly jsscopecheckresult_error: (a: number, b: number) => void;
420
- readonly check_delegation_scope: (a: number, b: number, c: number, d: number) => number;
421
- readonly verify_delegation_scope: (
422
- a: number,
423
- b: number,
424
- c: number,
425
- d: number,
426
- e: bigint,
427
- f: bigint,
428
- g: bigint
429
- ) => number;
430
- readonly __wbg_jspolicyevaluationresult_free: (a: number, b: number) => void;
431
- readonly jspolicyevaluationresult_action: (a: number, b: number) => void;
432
- readonly jspolicyevaluationresult_reason: (a: number, b: number) => void;
433
- readonly jspolicyevaluationresult_rule_id: (a: number, b: number) => void;
434
- readonly jspolicyevaluationresult_rule_name: (a: number, b: number) => void;
435
- readonly jspolicyevaluationresult_redirect_url: (a: number, b: number) => void;
436
- readonly jspolicyevaluationresult_message: (a: number, b: number) => void;
437
- readonly jspolicyevaluationresult_match_type: (a: number, b: number) => void;
438
- readonly jspolicyevaluationresult_is_allowed: (a: number) => number;
439
- readonly jspolicyevaluationresult_is_blocked: (a: number) => number;
440
- readonly jspolicyevaluationresult_to_json: (a: number, b: number) => void;
441
- readonly evaluate_policy: (a: number, b: number, c: number, d: number, e: number) => void;
442
- readonly policy_allows: (a: number, b: number, c: number, d: number) => number;
443
- readonly version: (a: number) => void;
444
- readonly __wbg_set_jsmcpiverificationresult_confidence: (a: number, b: number) => void;
445
- readonly __wbg_get_jsmcpiverificationresult_confidence: (a: number) => number;
446
- readonly __wbg_set_jsscopecheckresult_permitted: (a: number, b: number) => void;
447
- readonly __wbg_get_jsscopecheckresult_permitted: (a: number) => number;
448
- readonly __wbindgen_export: (a: number, b: number, c: number) => void;
449
- readonly __wbindgen_export2: (a: number, b: number) => number;
450
- readonly __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
451
- readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
452
- readonly __wbindgen_start: () => void;
453
- }
454
-
455
- export type SyncInitInput = BufferSource | WebAssembly.Module;
456
- /**
457
- * Instantiates the given `module`, which can either be bytes or
458
- * a precompiled `WebAssembly.Module`.
459
- *
460
- * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
461
- *
462
- * @returns {InitOutput}
463
- */
464
- export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
465
-
466
- /**
467
- * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
468
- * for everything else, calls `WebAssembly.instantiate` directly.
469
- *
470
- * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
471
- *
472
- * @returns {Promise<InitOutput>}
473
- */
474
- export default function __wbg_init(
475
- module_or_path?:
476
- | { module_or_path: InitInput | Promise<InitInput> }
477
- | InitInput
478
- | Promise<InitInput>
479
- ): Promise<InitOutput>;