@kurox_real/agentkit-canaryguard-402 1.0.4 → 1.0.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.
package/dist/action.d.ts CHANGED
@@ -34,26 +34,27 @@ export interface CanaryGuardSanitizeOutput {
34
34
  risk_score_semantics: string;
35
35
  limitations: string[];
36
36
  };
37
+ paymentMode?: "x402_paid" | "x402_header" | "free_preview";
38
+ x402UpgradeHint?: string;
37
39
  }
38
- /**
39
- * Execute prompt-injection inspection and sanitization via CanaryGuard 402 microservice on Base.
40
- */
41
- export declare function executeCanaryGuardSanitize(params: CanaryGuardSanitizeInput, options?: {
42
- hostUrl?: string;
43
- paymentHeader?: string;
44
- useFreePreview?: boolean;
45
- }): Promise<CanaryGuardSanitizeOutput>;
46
40
  export interface CanaryGuardActionProviderConfig {
47
41
  hostUrl?: string;
48
42
  paymentHeader?: string;
43
+ privateKey?: `0x${string}` | string;
49
44
  useFreePreview?: boolean;
45
+ customFetch?: typeof fetch;
50
46
  }
47
+ /**
48
+ * Execute prompt-injection inspection and sanitization via CanaryGuard 402 microservice on Base.
49
+ */
50
+ export declare function executeCanaryGuardSanitize(params: CanaryGuardSanitizeInput, options?: CanaryGuardActionProviderConfig): Promise<CanaryGuardSanitizeOutput>;
51
51
  /**
52
52
  * Creates a Coinbase AgentKit ActionProvider for CanaryGuard 402.
53
53
  */
54
54
  export declare function canaryGuardActionProvider(config?: CanaryGuardActionProviderConfig): {
55
55
  name: string;
56
56
  actionProviderName: string;
57
+ supportsNetwork: () => boolean;
57
58
  getActions: () => {
58
59
  name: string;
59
60
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,8BAA8B;;;;;;;;;EAWzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnF,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjG,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,OAAO,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/E,OAAO,CAAC,yBAAyB,CAAC,CAqDpC;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,+BAA+B;;;;;;;;;;;;;;;;uBASrD,wBAAwB;;;;;;;;;;;;;;;uBAUxB,wBAAwB;;EAMpD"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,8BAA8B;;;;;;;;;EAazC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnF,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,KAAK,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,OAAO,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B;AAwCD;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,+BAA+B,GACxC,OAAO,CAAC,yBAAyB,CAAC,CA0DpC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,+BAA+B;;;;;;;;;;;;;;;;;uBAMzD,wBAAwB;;;;;;;;;;;;;;;uBAAxB,wBAAwB;;EAYhD"}
package/dist/action.js CHANGED
@@ -1,4 +1,10 @@
1
1
  import { z } from "zod";
2
+ import { x402Client, wrapFetchWithPayment } from "@x402/fetch";
3
+ import { ExactEvmScheme } from "@x402/evm/exact/client";
4
+ import { privateKeyToAccount } from "viem/accounts";
5
+ const EXPECTED_MERCHANT = "0x80e0ae84679b7f11be171daadd492fbecf628cd6";
6
+ const BASE_USDC = "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913";
7
+ const MAX_PER_CALL_MICRO_USDC = 50000n;
2
8
  export const CanaryGuardSanitizeInputSchema = z.object({
3
9
  content: z
4
10
  .string()
@@ -11,6 +17,44 @@ export const CanaryGuardSanitizeInputSchema = z.object({
11
17
  .default(true)
12
18
  .describe("When true, blocks detected instruction overrides and wallet-draining commands"),
13
19
  });
20
+ function resolvePrivateKey(explicitKey) {
21
+ const candidates = [
22
+ explicitKey,
23
+ typeof process !== "undefined" ? process.env?.X402_PRIVATE_KEY : undefined,
24
+ typeof process !== "undefined" ? process.env?.CANARYGUARD_PRIVATE_KEY : undefined,
25
+ typeof process !== "undefined" ? process.env?.EVM_PRIVATE_KEY : undefined,
26
+ typeof process !== "undefined" ? process.env?.BASE_PRIVATE_KEY : undefined,
27
+ ];
28
+ for (const raw of candidates) {
29
+ if (typeof raw !== "string")
30
+ continue;
31
+ const cleaned = raw.trim().replace(/^0x/i, "");
32
+ if (/^[a-fA-F0-9]{64}$/.test(cleaned))
33
+ return `0x${cleaned}`;
34
+ }
35
+ return undefined;
36
+ }
37
+ function createPayingFetch(privateKey, baseFetch = fetch) {
38
+ const account = privateKeyToAccount(privateKey);
39
+ const client = new x402Client();
40
+ client.register("eip155:8453", new ExactEvmScheme(account));
41
+ client.onBeforePaymentCreation(async (context) => {
42
+ const req = context.selectedRequirements;
43
+ if (req.network !== "eip155:8453") {
44
+ throw new Error(`Rejected x402 network ${req.network}`);
45
+ }
46
+ if (req.asset.toLowerCase() !== BASE_USDC) {
47
+ throw new Error(`Rejected x402 asset ${req.asset}`);
48
+ }
49
+ if (req.payTo.toLowerCase() !== EXPECTED_MERCHANT) {
50
+ throw new Error(`Rejected x402 payTo ${req.payTo}`);
51
+ }
52
+ if (BigInt(req.amount) > MAX_PER_CALL_MICRO_USDC) {
53
+ throw new Error(`Rejected x402 amount ${req.amount}`);
54
+ }
55
+ });
56
+ return wrapFetchWithPayment(baseFetch, client);
57
+ }
14
58
  /**
15
59
  * Execute prompt-injection inspection and sanitization via CanaryGuard 402 microservice on Base.
16
60
  */
@@ -18,17 +62,19 @@ export async function executeCanaryGuardSanitize(params, options) {
18
62
  const host = (options?.hostUrl ||
19
63
  process.env.CANARYGUARD_URL ||
20
64
  "https://canaryguard-402.onrender.com").replace(/\/$/, "");
65
+ const baseFetch = options?.customFetch ?? fetch;
66
+ const privateKey = resolvePrivateKey(options?.privateKey);
67
+ const paymentHeader = options?.paymentHeader || process.env.CANARYGUARD_PAYMENT_HEADER;
21
68
  const usePreview = options?.useFreePreview === true ||
22
- (!options?.paymentHeader && process.env.CANARYGUARD_FREE_PREVIEW === "true");
69
+ (!privateKey && !paymentHeader && options?.useFreePreview !== false);
23
70
  const url = `${host}${usePreview ? "/v1/sanitize/preview" : "/v1/sanitize"}`;
24
- const headers = {
25
- "Content-Type": "application/json",
26
- };
27
- if (options?.paymentHeader) {
28
- headers["PAYMENT-SIGNATURE"] = options.paymentHeader;
29
- headers["X-PAYMENT"] = options.paymentHeader;
71
+ const headers = { "Content-Type": "application/json" };
72
+ if (paymentHeader && !privateKey && !usePreview) {
73
+ headers["PAYMENT-SIGNATURE"] = paymentHeader;
74
+ headers["X-PAYMENT"] = paymentHeader;
30
75
  }
31
- const res = await fetch(url, {
76
+ const caller = privateKey && !usePreview ? createPayingFetch(privateKey, baseFetch) : baseFetch;
77
+ const res = await caller(url, {
32
78
  method: "POST",
33
79
  headers,
34
80
  body: JSON.stringify({
@@ -37,13 +83,13 @@ export async function executeCanaryGuardSanitize(params, options) {
37
83
  }),
38
84
  });
39
85
  if (res.status === 402) {
40
- throw new Error(`CanaryGuard 402 Payment Required ($0.010 USDC via x402). Pass options.paymentHeader (from @x402/fetch) for production /v1/sanitize, or set { useFreePreview: true } / CANARYGUARD_FREE_PREVIEW=true to evaluate via free /v1/sanitize/preview.`);
86
+ throw new Error(`CanaryGuard 402 Payment Required ($0.010 USDC via x402). Pass options.privateKey or set X402_PRIVATE_KEY (Base USDC, 0 ETH gas) for automatic /v1/sanitize signing, or omit useFreePreview: false to evaluate via /v1/sanitize/preview.`);
41
87
  }
42
88
  if (!res.ok) {
43
89
  const text = await res.text();
44
90
  throw new Error(`CanaryGuard 402 error (${res.status}): ${text}`);
45
91
  }
46
- const data = (await res.json());
92
+ const data = await res.json();
47
93
  return {
48
94
  status: data.status,
49
95
  riskScore: data.risk_score,
@@ -54,35 +100,30 @@ export async function executeCanaryGuardSanitize(params, options) {
54
100
  safetyReceipt: data.safety_receipt,
55
101
  recommendedActions: data.recommended_actions,
56
102
  inspection: data.inspection,
103
+ paymentMode: usePreview ? "free_preview" : privateKey ? "x402_paid" : "x402_header",
104
+ x402UpgradeHint: usePreview
105
+ ? "Evaluated via free /v1/sanitize/preview. Set X402_PRIVATE_KEY or pass { privateKey } (Base USDC, 0 ETH gas) to run full paid /v1/sanitize."
106
+ : undefined,
57
107
  };
58
108
  }
59
109
  /**
60
110
  * Creates a Coinbase AgentKit ActionProvider for CanaryGuard 402.
61
111
  */
62
112
  export function canaryGuardActionProvider(config) {
113
+ const action = {
114
+ name: "canary_sanitize",
115
+ description: "Deterministic prompt-injection firewall and honeypot scrubber on Base via x402 (0.010 USDC). Auto-pays via @x402/fetch when X402_PRIVATE_KEY is set, or evaluates via /v1/sanitize/preview.",
116
+ schema: CanaryGuardSanitizeInputSchema,
117
+ invoke: async (args) => {
118
+ return await executeCanaryGuardSanitize(args, config);
119
+ },
120
+ };
63
121
  return {
64
122
  name: "canaryguard",
65
123
  actionProviderName: "canaryguard",
66
- getActions: () => [
67
- {
68
- name: "canary_sanitize",
69
- description: "Deterministic prompt-injection firewall and honeypot scrubber on Base via x402 (0.010 USDC). Sanitizes untrusted text and blocks detected instruction overrides or wallet-draining commands.",
70
- schema: CanaryGuardSanitizeInputSchema,
71
- invoke: async (args) => {
72
- return await executeCanaryGuardSanitize(args, config);
73
- },
74
- },
75
- ],
76
- actions: [
77
- {
78
- name: "canary_sanitize",
79
- description: "Deterministic prompt-injection firewall and honeypot scrubber on Base via x402 (0.010 USDC). Sanitizes untrusted text and blocks detected instruction overrides or wallet-draining commands.",
80
- schema: CanaryGuardSanitizeInputSchema,
81
- invoke: async (args) => {
82
- return await executeCanaryGuardSanitize(args, config);
83
- },
84
- },
85
- ],
124
+ supportsNetwork: () => true,
125
+ getActions: () => [action],
126
+ actions: [action],
86
127
  };
87
128
  }
88
129
  //# sourceMappingURL=action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kurox_real/agentkit-canaryguard-402",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Coinbase AgentKit Action Provider for CanaryGuard 402 prompt-injection firewall and honeypot scrubber on Base (x402 protocol gated).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,6 +44,9 @@
44
44
  "directory": "plugins/agentkit-canaryguard"
45
45
  },
46
46
  "dependencies": {
47
+ "@x402/evm": "^2.28.0",
48
+ "@x402/fetch": "^2.28.0",
49
+ "viem": "^2.57.4",
47
50
  "zod": "^3.24.1"
48
51
  },
49
52
  "devDependencies": {