@andrewkimjoseph/celina 0.2.18 → 0.3.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 (44) hide show
  1. package/README.md +31 -2
  2. package/build/abis/self-registry.d.ts +194 -0
  3. package/build/abis/self-registry.js +120 -0
  4. package/build/abis/self-registry.js.map +1 -0
  5. package/build/clients/self-api.d.ts +82 -0
  6. package/build/clients/self-api.js +242 -0
  7. package/build/clients/self-api.js.map +1 -0
  8. package/build/config/env.d.ts +1 -0
  9. package/build/config/env.js +1 -0
  10. package/build/config/env.js.map +1 -1
  11. package/build/config/self.d.ts +22 -0
  12. package/build/config/self.js +27 -0
  13. package/build/config/self.js.map +1 -0
  14. package/build/context/app-context.d.ts +4 -1
  15. package/build/context/app-context.js +4 -1
  16. package/build/context/app-context.js.map +1 -1
  17. package/build/server/create-server.js +1 -1
  18. package/build/server/create-server.js.map +1 -1
  19. package/build/server/instructions.js +6 -2
  20. package/build/server/instructions.js.map +1 -1
  21. package/build/services/mento-fx.service.d.ts +5 -0
  22. package/build/services/mento-fx.service.js +35 -6
  23. package/build/services/mento-fx.service.js.map +1 -1
  24. package/build/services/self-session-store.d.ts +19 -0
  25. package/build/services/self-session-store.js +28 -0
  26. package/build/services/self-session-store.js.map +1 -0
  27. package/build/services/self.service.d.ts +250 -0
  28. package/build/services/self.service.js +689 -0
  29. package/build/services/self.service.js.map +1 -0
  30. package/build/tools/index.js +2 -0
  31. package/build/tools/index.js.map +1 -1
  32. package/build/tools/self.tools.d.ts +2 -0
  33. package/build/tools/self.tools.js +256 -0
  34. package/build/tools/self.tools.js.map +1 -0
  35. package/build/utils/erc20-allowance-storage.d.ts +7 -0
  36. package/build/utils/erc20-allowance-storage.js +44 -0
  37. package/build/utils/erc20-allowance-storage.js.map +1 -0
  38. package/build/utils/self-format.d.ts +16 -0
  39. package/build/utils/self-format.js +59 -0
  40. package/build/utils/self-format.js.map +1 -0
  41. package/build/utils/self-signing.d.ts +4 -0
  42. package/build/utils/self-signing.js +38 -0
  43. package/build/utils/self-signing.js.map +1 -0
  44. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self.service.js","sourceRoot":"","sources":["../../src/services/self.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { accountTools, blockchainTools } from "./blockchain.tools.js";
2
2
  import { gooddollarTools } from "./gooddollar.tools.js";
3
+ import { selfTools } from "./self.tools.js";
3
4
  import { tokenTools } from "./token.tools.js";
4
5
  import { transactionTools } from "./transaction.tools.js";
5
6
  import { mentoFxTools } from "./mento-fx.tools.js";
@@ -14,6 +15,7 @@ export const toolModules = [
14
15
  mentoFxTools,
15
16
  aaveTools,
16
17
  gooddollarTools,
18
+ selfTools,
17
19
  ];
18
20
  export function registerAllTools(server, ctx) {
19
21
  for (const module of toolModules) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,eAAe;IACf,YAAY;IACZ,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,eAAe;CAChB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,GAAe;IACjE,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,eAAe;IACf,YAAY;IACZ,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,eAAe;IACf,SAAS;CACV,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,GAAe;IACjE,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ToolModule } from "./types.js";
2
+ export declare const selfTools: ToolModule;
@@ -0,0 +1,256 @@
1
+ import { z } from "zod";
2
+ import { selfDemoUrl } from "../config/self.js";
3
+ import { addressSchema } from "../schemas/common.js";
4
+ import { err, ok } from "./helpers.js";
5
+ const SELF_DEMO_VERIFY_URL = selfDemoUrl("/api/demo/verify");
6
+ const encryptedSelfAgentPrivateKeySchema = z
7
+ .string()
8
+ .optional()
9
+ .describe("RSA-OAEP encrypted Self agent private key (base64). Encrypt locally with get_wallet_encryption_public_key.");
10
+ const selfRegistrationModeSchema = z
11
+ .enum([
12
+ "linked",
13
+ "wallet-free",
14
+ "smartwallet",
15
+ "self-custody",
16
+ "ed25519",
17
+ "ed25519-linked",
18
+ ])
19
+ .optional();
20
+ export const selfTools = {
21
+ register(server, ctx) {
22
+ server.registerTool("verify_self_agent", {
23
+ title: "Verify Self Agent",
24
+ description: "Verify whether an agent address is backed by a real human on Self Agent ID (Celo mainnet). Checks on-chain registration, proof provider, credentials, and proof expiry.",
25
+ inputSchema: z.object({
26
+ agent_address: addressSchema,
27
+ require_age: z
28
+ .union([z.literal(0), z.literal(18), z.literal(21)])
29
+ .optional()
30
+ .default(0),
31
+ require_ofac: z.boolean().optional().default(false),
32
+ require_self_provider: z.boolean().optional().default(true),
33
+ }),
34
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
35
+ }, async (args) => {
36
+ try {
37
+ return ok(await ctx.self.verifyAgent({
38
+ agentAddress: args.agent_address,
39
+ requireAge: args.require_age,
40
+ requireOfac: args.require_ofac,
41
+ requireSelfProvider: args.require_self_provider,
42
+ }));
43
+ }
44
+ catch (error) {
45
+ return err(error instanceof Error ? error.message : String(error));
46
+ }
47
+ });
48
+ server.registerTool("lookup_self_agent", {
49
+ title: "Look Up Self Agent",
50
+ description: "Look up a Self Agent ID by numeric on-chain ID via ai.self.xyz, enriched with on-chain proof expiry from the registry.",
51
+ inputSchema: z.object({
52
+ agent_id: z.number().int().positive(),
53
+ }),
54
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
55
+ }, async ({ agent_id }) => {
56
+ try {
57
+ return ok(await ctx.self.lookupAgent(agent_id));
58
+ }
59
+ catch (error) {
60
+ return err(error instanceof Error ? error.message : String(error));
61
+ }
62
+ });
63
+ server.registerTool("verify_self_request", {
64
+ title: "Verify Self Agent Request",
65
+ description: "Verify incoming HTTP request headers signed by a Self Agent (x-self-agent-signature, x-self-agent-timestamp). Recovers signer from signature and checks on-chain registration.",
66
+ inputSchema: z.object({
67
+ agent_signature: z
68
+ .string()
69
+ .regex(/^0x[a-fA-F0-9]+$/, "Invalid signature hex"),
70
+ agent_timestamp: z.string(),
71
+ method: z.string(),
72
+ path: z.string(),
73
+ body: z.string().optional(),
74
+ keytype: z.string().optional(),
75
+ agent_key: z
76
+ .string()
77
+ .regex(/^0x[a-fA-F0-9]+$/, "Invalid agent key hex")
78
+ .optional(),
79
+ }),
80
+ annotations: { readOnlyHint: true, idempotentHint: true },
81
+ }, async (args) => {
82
+ try {
83
+ return ok(await ctx.self.verifyRequest({
84
+ agentSignature: args.agent_signature,
85
+ agentTimestamp: args.agent_timestamp,
86
+ method: args.method,
87
+ path: args.path,
88
+ body: args.body,
89
+ keytype: args.keytype,
90
+ agentKey: args.agent_key,
91
+ }));
92
+ }
93
+ catch (error) {
94
+ return err(error instanceof Error ? error.message : String(error));
95
+ }
96
+ });
97
+ server.registerTool("register_self_agent", {
98
+ title: "Register Self Agent",
99
+ description: "Start Self Agent ID registration. Returns a QR/deep link for the human to scan with the Self app. Poll with check_self_registration.",
100
+ inputSchema: z.object({
101
+ mode: selfRegistrationModeSchema.describe("Registration mode (default wallet-free)"),
102
+ minimum_age: z
103
+ .union([z.literal(0), z.literal(18), z.literal(21)])
104
+ .optional(),
105
+ ofac: z.boolean().optional(),
106
+ human_address: addressSchema.optional(),
107
+ agent_name: z.string().optional(),
108
+ agent_description: z.string().optional(),
109
+ }),
110
+ annotations: {
111
+ destructiveHint: true,
112
+ openWorldHint: true,
113
+ },
114
+ }, async (args) => {
115
+ try {
116
+ return ok(await ctx.self.registerAgent({
117
+ mode: args.mode,
118
+ minimumAge: args.minimum_age,
119
+ ofac: args.ofac,
120
+ humanAddress: args.human_address,
121
+ agentName: args.agent_name,
122
+ agentDescription: args.agent_description,
123
+ }));
124
+ }
125
+ catch (error) {
126
+ return err(error instanceof Error ? error.message : String(error));
127
+ }
128
+ });
129
+ server.registerTool("check_self_registration", {
130
+ title: "Check Self Registration",
131
+ description: "Poll a pending Self registration, proof refresh, or deregistration session. Returns private_key_hex when registration completes.",
132
+ inputSchema: z.object({
133
+ session_id: z.string(),
134
+ }),
135
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
136
+ }, async ({ session_id }) => {
137
+ try {
138
+ return ok(await ctx.self.checkRegistration(session_id));
139
+ }
140
+ catch (error) {
141
+ return err(error instanceof Error ? error.message : String(error));
142
+ }
143
+ });
144
+ server.registerTool("get_self_identity", {
145
+ title: "Get Self Agent Identity",
146
+ description: "Return the configured Self agent's on-chain identity, credentials summary, and proof expiry. Requires SELF_AGENT_PRIVATE_KEY or encryptedSelfAgentPrivateKey.",
147
+ inputSchema: z.object({
148
+ encryptedSelfAgentPrivateKey: encryptedSelfAgentPrivateKeySchema,
149
+ }),
150
+ annotations: { readOnlyHint: true, idempotentHint: true },
151
+ }, async ({ encryptedSelfAgentPrivateKey }) => {
152
+ try {
153
+ return ok(await ctx.self.getIdentity({ encryptedSelfAgentPrivateKey }));
154
+ }
155
+ catch (error) {
156
+ return err(error instanceof Error ? error.message : String(error));
157
+ }
158
+ });
159
+ server.registerTool("refresh_self_proof", {
160
+ title: "Refresh Self Proof",
161
+ description: "Start a human proof refresh after on-chain proof expiry (isProofFresh is false). Returns an error while the proof is still fresh. Poll completion with check_self_registration. Self SDK also supports deregister_self_agent then register_self_agent.",
162
+ inputSchema: z.object({
163
+ agent_id: z.number().int().positive().optional(),
164
+ encryptedSelfAgentPrivateKey: encryptedSelfAgentPrivateKeySchema,
165
+ }),
166
+ annotations: { openWorldHint: true },
167
+ }, async ({ agent_id, encryptedSelfAgentPrivateKey }) => {
168
+ try {
169
+ return ok(await ctx.self.refreshProof({
170
+ agentId: agent_id,
171
+ encryptedSelfAgentPrivateKey,
172
+ }));
173
+ }
174
+ catch (error) {
175
+ return err(error instanceof Error ? error.message : String(error));
176
+ }
177
+ });
178
+ server.registerTool("deregister_self_agent", {
179
+ title: "Deregister Self Agent",
180
+ description: "Start irreversible Self agent deregistration. Human must confirm via Self app QR. Poll with check_self_registration.",
181
+ inputSchema: z.object({
182
+ encryptedSelfAgentPrivateKey: encryptedSelfAgentPrivateKeySchema,
183
+ }),
184
+ annotations: {
185
+ destructiveHint: true,
186
+ openWorldHint: true,
187
+ },
188
+ }, async ({ encryptedSelfAgentPrivateKey }) => {
189
+ try {
190
+ return ok(await ctx.self.deregisterAgent({ encryptedSelfAgentPrivateKey }));
191
+ }
192
+ catch (error) {
193
+ return err(error instanceof Error ? error.message : String(error));
194
+ }
195
+ });
196
+ server.registerTool("sign_self_request", {
197
+ title: "Sign Self Agent Request",
198
+ description: `Sign an HTTP request with the configured Self agent identity. Returns x-self-agent-* headers for gated APIs. For Self demo endpoints on Celo mainnet, use ?network=celo-mainnet (e.g. POST ${SELF_DEMO_VERIFY_URL}).`,
199
+ inputSchema: z.object({
200
+ method: z.enum(["GET", "POST", "PUT", "DELETE"]),
201
+ url: z
202
+ .string()
203
+ .url()
204
+ .refine((u) => u.startsWith("http://") || u.startsWith("https://"), {
205
+ message: "Only http:// and https:// URLs are allowed",
206
+ }),
207
+ body: z.string().optional(),
208
+ encryptedSelfAgentPrivateKey: encryptedSelfAgentPrivateKeySchema,
209
+ }),
210
+ annotations: { readOnlyHint: true, idempotentHint: true },
211
+ }, async ({ method, url, body, encryptedSelfAgentPrivateKey }) => {
212
+ try {
213
+ return ok(await ctx.self.signRequest({
214
+ method,
215
+ url,
216
+ body,
217
+ encryptedSelfAgentPrivateKey,
218
+ }));
219
+ }
220
+ catch (error) {
221
+ return err(error instanceof Error ? error.message : String(error));
222
+ }
223
+ });
224
+ server.registerTool("authenticated_self_fetch", {
225
+ title: "Authenticated Self Fetch",
226
+ description: `Make an HTTP request with Self Agent ID authentication headers applied automatically. For Self demo endpoints on Celo mainnet, use ?network=celo-mainnet (e.g. POST ${SELF_DEMO_VERIFY_URL}).`,
227
+ inputSchema: z.object({
228
+ method: z.enum(["GET", "POST", "PUT", "DELETE"]),
229
+ url: z
230
+ .string()
231
+ .url()
232
+ .refine((u) => u.startsWith("http://") || u.startsWith("https://"), {
233
+ message: "Only http:// and https:// URLs are allowed",
234
+ }),
235
+ body: z.string().optional(),
236
+ content_type: z.string().optional().default("application/json"),
237
+ encryptedSelfAgentPrivateKey: encryptedSelfAgentPrivateKeySchema,
238
+ }),
239
+ annotations: { openWorldHint: true },
240
+ }, async ({ method, url, body, content_type, encryptedSelfAgentPrivateKey }) => {
241
+ try {
242
+ return ok(await ctx.self.authenticatedFetch({
243
+ method,
244
+ url,
245
+ body,
246
+ contentType: content_type,
247
+ encryptedSelfAgentPrivateKey,
248
+ }));
249
+ }
250
+ catch (error) {
251
+ return err(error instanceof Error ? error.message : String(error));
252
+ }
253
+ });
254
+ },
255
+ };
256
+ //# sourceMappingURL=self.tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self.tools.js","sourceRoot":"","sources":["../../src/tools/self.tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Address, type Hex, type StateOverride } from "viem";
2
+ /** Common base slots for ERC-20 allowance mappings (Mento stablecoins use 7). */
3
+ declare const ALLOWANCE_MAPPING_SLOTS: readonly [7n, 1n, 0n, 2n, 3n, 4n, 5n, 6n, 8n, 9n, 10n, 11n, 12n, 13n, 14n];
4
+ export declare function erc20AllowanceStorageSlot(owner: Address, spender: Address, mappingSlot: bigint): Hex;
5
+ export declare function erc20AllowanceStateOverride(token: Address, owner: Address, spender: Address, amount: bigint, mappingSlot: bigint): StateOverride;
6
+ export declare function isLikelyTransferFailed(error: unknown): boolean;
7
+ export { ALLOWANCE_MAPPING_SLOTS };
@@ -0,0 +1,44 @@
1
+ import { encodeAbiParameters, keccak256, pad, parseAbiParameters, toHex, } from "viem";
2
+ /** Common base slots for ERC-20 allowance mappings (Mento stablecoins use 7). */
3
+ const ALLOWANCE_MAPPING_SLOTS = [
4
+ 7n,
5
+ 1n,
6
+ 0n,
7
+ 2n,
8
+ 3n,
9
+ 4n,
10
+ 5n,
11
+ 6n,
12
+ 8n,
13
+ 9n,
14
+ 10n,
15
+ 11n,
16
+ 12n,
17
+ 13n,
18
+ 14n,
19
+ ];
20
+ export function erc20AllowanceStorageSlot(owner, spender, mappingSlot) {
21
+ const ownerSlot = keccak256(encodeAbiParameters(parseAbiParameters("address, uint256"), [owner, mappingSlot]));
22
+ return keccak256(encodeAbiParameters(parseAbiParameters("address, bytes32"), [spender, ownerSlot]));
23
+ }
24
+ export function erc20AllowanceStateOverride(token, owner, spender, amount, mappingSlot) {
25
+ return [
26
+ {
27
+ address: token,
28
+ stateDiff: [
29
+ {
30
+ slot: erc20AllowanceStorageSlot(owner, spender, mappingSlot),
31
+ value: pad(toHex(amount)),
32
+ },
33
+ ],
34
+ },
35
+ ];
36
+ }
37
+ export function isLikelyTransferFailed(error) {
38
+ const message = error instanceof Error
39
+ ? `${error.message} ${error.cause instanceof Error ? error.cause.message : ""}`
40
+ : String(error);
41
+ return /transfer failed/i.test(message);
42
+ }
43
+ export { ALLOWANCE_MAPPING_SLOTS };
44
+ //# sourceMappingURL=erc20-allowance-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20-allowance-storage.js","sourceRoot":"","sources":["../../src/utils/erc20-allowance-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,GAAG,EACH,kBAAkB,EAClB,KAAK,GAIN,MAAM,MAAM,CAAC;AAEd,iFAAiF;AACjF,MAAM,uBAAuB,GAAG;IAC9B,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AAEX,MAAM,UAAU,yBAAyB,CACvC,KAAc,EACd,OAAgB,EAChB,WAAmB;IAEnB,MAAM,SAAS,GAAG,SAAS,CACzB,mBAAmB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAClF,CAAC;IACF,OAAO,SAAS,CACd,mBAAmB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAClF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAc,EACd,KAAc,EACd,OAAgB,EAChB,MAAc,EACd,WAAmB;IAEnB,OAAO;QACL;YACE,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC;oBAC5D,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBAC1B;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK;QACpB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/E,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface SelfCredentialLike {
2
+ nationality?: string;
3
+ olderThan?: bigint | number;
4
+ ofac?: boolean[];
5
+ }
6
+ export declare function formatCredentialsSummary(credentials?: SelfCredentialLike | null): string;
7
+ export declare function truncateBody(body: string, maxBytes?: number): {
8
+ body: string;
9
+ truncated: boolean;
10
+ };
11
+ export declare function formatAgentInfo(info: Record<string, unknown>): Record<string, unknown>;
12
+ export declare function proofExpiryFields(proofExpiresAtRaw: bigint): {
13
+ proof_expires_at: string | null;
14
+ days_until_expiry: number;
15
+ is_expiring_soon: boolean;
16
+ };
@@ -0,0 +1,59 @@
1
+ import { SELF_PROOF_EXPIRING_SOON_DAYS } from "../config/self.js";
2
+ export function formatCredentialsSummary(credentials) {
3
+ if (!credentials) {
4
+ return "No credentials available";
5
+ }
6
+ const parts = ["Verified human"];
7
+ const age = Number(credentials.olderThan ?? 0);
8
+ if (age > 0) {
9
+ parts.push(`${age}+`);
10
+ }
11
+ if (credentials.ofac?.[0] === true) {
12
+ parts.push("OFAC clear");
13
+ }
14
+ if (credentials.nationality) {
15
+ parts.push(`nationality: ${credentials.nationality}`);
16
+ }
17
+ return parts.join(", ");
18
+ }
19
+ export function truncateBody(body, maxBytes = 10 * 1024) {
20
+ const encoded = new TextEncoder().encode(body);
21
+ if (encoded.byteLength <= maxBytes) {
22
+ return { body, truncated: false };
23
+ }
24
+ const truncated = new TextDecoder().decode(encoded.slice(0, maxBytes));
25
+ return {
26
+ body: truncated +
27
+ `\n\n[Truncated — original was ${encoded.byteLength} bytes, limit is ${maxBytes} bytes]`,
28
+ truncated: true,
29
+ };
30
+ }
31
+ export function formatAgentInfo(info) {
32
+ const result = {};
33
+ for (const [key, value] of Object.entries(info)) {
34
+ result[key] =
35
+ typeof value === "bigint"
36
+ ? Number(value)
37
+ : Array.isArray(value)
38
+ ? value.map((item) => (typeof item === "bigint" ? Number(item) : item))
39
+ : value;
40
+ }
41
+ return result;
42
+ }
43
+ export function proofExpiryFields(proofExpiresAtRaw) {
44
+ const proofExpiresAtSecs = Number(proofExpiresAtRaw);
45
+ const proofExpiresAtISO = proofExpiresAtSecs > 0
46
+ ? new Date(proofExpiresAtSecs * 1000).toISOString()
47
+ : null;
48
+ const now = Math.floor(Date.now() / 1000);
49
+ const daysUntilExpiry = proofExpiresAtSecs > 0
50
+ ? Math.floor((proofExpiresAtSecs - now) / 86400)
51
+ : -1;
52
+ const isExpiringSoon = daysUntilExpiry >= 0 && daysUntilExpiry <= SELF_PROOF_EXPIRING_SOON_DAYS;
53
+ return {
54
+ proof_expires_at: proofExpiresAtISO,
55
+ days_until_expiry: daysUntilExpiry,
56
+ is_expiring_soon: isExpiringSoon,
57
+ };
58
+ }
59
+ //# sourceMappingURL=self-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-format.js","sourceRoot":"","sources":["../../src/utils/self-format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type Hex } from "viem";
2
+ export declare function canonicalizeSigningUrl(url: string): string;
3
+ export declare function computeBodyHash(body?: string | null): Hex;
4
+ export declare function computeSigningMessage(timestamp: string, method: string, url: string, body?: string | null): Hex;
@@ -0,0 +1,38 @@
1
+ import { keccak256, toBytes } from "viem";
2
+ export function canonicalizeSigningUrl(url) {
3
+ if (!url) {
4
+ return "";
5
+ }
6
+ if (url.startsWith("http://") || url.startsWith("https://")) {
7
+ try {
8
+ const parsed = new URL(url);
9
+ return (parsed.pathname || "/") + parsed.search;
10
+ }
11
+ catch {
12
+ return url;
13
+ }
14
+ }
15
+ if (url.startsWith("?")) {
16
+ return `/${url}`;
17
+ }
18
+ if (url.startsWith("/")) {
19
+ return url;
20
+ }
21
+ try {
22
+ const parsed = new URL(url, "http://self.local");
23
+ return (parsed.pathname || "/") + parsed.search;
24
+ }
25
+ catch {
26
+ return url;
27
+ }
28
+ }
29
+ export function computeBodyHash(body) {
30
+ const payload = body ?? "";
31
+ return keccak256(toBytes(payload));
32
+ }
33
+ export function computeSigningMessage(timestamp, method, url, body) {
34
+ const canonicalUrl = canonicalizeSigningUrl(url);
35
+ const bodyHash = computeBodyHash(body);
36
+ return keccak256(toBytes(timestamp + method.toUpperCase() + canonicalUrl + bodyHash));
37
+ }
38
+ //# sourceMappingURL=self-signing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-signing.js","sourceRoot":"","sources":["../../src/utils/self-signing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAY,MAAM,MAAM,CAAC;AAEpD,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,MAAc,EACd,GAAW,EACX,IAAoB;IAEpB,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,SAAS,CACd,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,YAAY,GAAG,QAAQ,CAAC,CACpE,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@andrewkimjoseph/celina",
3
- "version": "0.2.18",
4
- "description": "Celina — MCP server for Celo mainnet. Balances, transfers, and chain reads for LLM agents.",
3
+ "version": "0.3.1",
4
+ "description": "Celina — MCP server for Celo mainnet. Balances, transfers, Self Agent ID, and chain reads for LLM agents.",
5
5
  "type": "module",
6
6
  "main": "build/index.js",
7
7
  "bin": {
@@ -43,6 +43,7 @@
43
43
  "dependencies": {
44
44
  "@mento-protocol/mento-sdk": "^3.2.8",
45
45
  "@modelcontextprotocol/sdk": "^1.22.0",
46
+ "@noble/ed25519": "^3.1.0",
46
47
  "dotenv": "^17.4.2",
47
48
  "express": "^5.2.1",
48
49
  "viem": "^2.39.3",