@railbeam/stardorm-api-contract 0.0.1 → 0.0.2
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/index.d.mts +7157 -1300
- package/dist/index.d.ts +7157 -1300
- package/dist/index.js +295 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +270 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/catalog-build.ts +33 -3
- package/src/chat-api.ts +85 -5
- package/src/conversation-sync.ts +41 -0
- package/src/conversation.ts +10 -2
- package/src/credit-card.ts +20 -29
- package/src/financial-snapshot.ts +28 -0
- package/src/handler-result.ts +65 -0
- package/src/handlers.ts +4 -0
- package/src/index.ts +56 -4
- package/src/marketplace-hire.ts +26 -0
- package/src/payment-request.ts +6 -0
- package/src/swap.ts +73 -0
- package/src/transfer-form.ts +28 -0
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/agent.ts","../src/catalog.ts","../src/catalog-marketplace-response.ts","../src/catalog-build.ts","../src/auth.ts","../src/handlers.ts","../src/storage.ts","../src/chat-api.ts","../src/user.ts","../src/conversation.ts","../src/agent-feedbacks.ts","../src/payment-request.ts","../src/on-ramp.ts","../src/kyc.ts","../src/credit-card.ts","../src/billing-handlers.ts","../src/iso-3166-1-alpha2.ts","../src/tax-rate-for-country.ts","../src/transfer-drafts.ts"],"names":["z"],"mappings":"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","file":"index.mjs","sourcesContent":["import { z } from \"zod\";\n\nexport const agentCategorySchema = z.enum([\n \"Payments\",\n \"Taxes\",\n \"Reports\",\n \"DeFi\",\n \"Compliance\",\n \"General\",\n]);\n\nexport const skillHandleSchema = z.object({\n handle: z.string().min(1),\n label: z.string().min(1),\n});\n\n/** Absolute http(s) URL or root-relative asset path (e.g. on-chain `/images/…`). */\nexport const agentAvatarSchema = z.union([\n z.string().url(),\n z.string().regex(/^\\/\\S+/, \"avatar must be a URL or a root-relative path\"),\n]);\n\nexport const agentSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n handle: z.string().min(1),\n avatar: agentAvatarSchema,\n category: agentCategorySchema,\n tagline: z.string(),\n description: z.string(),\n /** From on-chain feedback / analytics when wired; omit if unknown. */\n rating: z.number().min(0).max(5).optional(),\n reviews: z.number().int().nonnegative().optional(),\n hires: z.number().int().nonnegative().optional(),\n reputation: z.number().min(0).max(100).optional(),\n /** Estimated from indexer `feePerDay` (wei) when available; omit if unknown. */\n pricePerMonth: z.number().nonnegative().optional(),\n /** Raw `feePerDay` (wei, decimal string) from the subgraph. `subscribe` must send exactly `feePerDay * numDays` wei. */\n feePerDayWei: z.string().regex(/^\\d+$/).optional(),\n /** Presence-only when we have a live signal; omit if unknown. */\n online: z.boolean().optional(),\n skills: z.array(z.string()),\n creator: z.string().min(1),\n skillHandles: z.array(skillHandleSchema).optional(),\n chainAgentId: z.number().int().positive().optional(),\n /** From indexer when the token is an ERC-7857 clone of another agent. */\n isCloned: z.boolean().optional(),\n /** Lowercase `0x` registry owner (subgraph); used for “my clone” ownership checks. */\n ownerAddress: z.string().regex(/^0x[a-f0-9]{40}$/).optional(),\n /** Raw on-chain registration string (hex or JSON) for owner-only URI updates. */\n registrationUriRaw: z.string().optional(),\n});\n\nexport const agentsListSchema = z.array(agentSchema).nonempty();\n\nexport type AgentCategory = z.infer<typeof agentCategorySchema>;\nexport type SkillHandle = z.infer<typeof skillHandleSchema>;\nexport type Agent = z.infer<typeof agentSchema>;\n","import { z } from \"zod\";\r\nimport { agentCategorySchema, agentsListSchema } from \"./agent.js\";\r\n\r\nexport const catalogResponseSchema = z.object({\r\n agents: agentsListSchema,\r\n categories: z.array(agentCategorySchema),\r\n defaultHiredIds: z.array(z.string().min(1)),\r\n chatSuggestions: z.array(z.string()),\r\n});\r\n\r\nexport type CatalogResponse = z.infer<typeof catalogResponseSchema>;\r\n","import type { Agent, AgentCategory } from \"./agent.js\";\nimport { catalogResponseSchema, type CatalogResponse } from \"./catalog.js\";\n\nconst CHAT_SUGGESTIONS = [\n \"Summarize last month’s onchain P&L\",\n \"Draft an invoice for Acme Labs\",\n \"What are the best stablecoin yields right now?\",\n \"Estimate my crypto tax exposure for Q3\",\n \"Create an x402 checkout link I can send to a payer\",\n \"Help me buy stablecoins on 0G with a card\",\n \"Start identity verification for my account\",\n \"Create a virtual payment card with my billing address\",\n] as const;\n\n/** Catalog metadata only; the app does not treat these as on-chain hires without a subscription. */\nconst DEFAULT_HIRED_IDS = [\"beam-default\"] as const;\n\nconst ALL_CATEGORIES: readonly AgentCategory[] = [\n \"Payments\",\n \"Taxes\",\n \"Reports\",\n \"DeFi\",\n \"Compliance\",\n \"General\",\n] as const;\n\n/**\n * Offline / API-only catalog: default Beam row (mirrors on-chain token 1 after ignition seed).\n * Full marketplace listings come from the subgraph.\n */\nconst BEAM_DEFAULT_AGENT: Agent = {\n id: \"beam-default\",\n name: \"Beam\",\n handle: \"beam.0g\",\n avatar: \"/images/beam.png\",\n category: \"General\",\n tagline: \"Your default conversational agent\",\n description:\n \"Beam routes your prompts to the best hired agent and handles general financial questions.\",\n skills: [\"Routing\", \"General Q&A\", \"Wallet\"],\n creator: \"Beam\",\n chainAgentId: 1,\n};\n\n/** Public marketplace payload for `GET /agents/catalog` when no subgraph is wired. */\nexport function buildStardormCatalogResponse(): CatalogResponse {\n return catalogResponseSchema.parse({\n agents: [BEAM_DEFAULT_AGENT],\n categories: [...ALL_CATEGORIES],\n defaultHiredIds: [...DEFAULT_HIRED_IDS],\n chatSuggestions: [...CHAT_SUGGESTIONS],\n });\n}\n","/**\n * Resolve catalog / chat `agentKey` values to ERC-8004 registry `agentId`.\n * Supports numeric strings, `beam-default` (token 1), and `chain-{id}`.\n */\nexport function resolveStardormChainAgentId(agentKey: string): number | null {\n const trimmed = agentKey.trim();\n if (/^\\d+$/.test(trimmed)) {\n const n = Number.parseInt(trimmed, 10);\n return Number.isFinite(n) && n > 0 ? n : null;\n }\n if (/^beam-default$/i.test(trimmed)) return 1;\n const m = /^chain-(\\d+)$/i.exec(trimmed);\n if (m) {\n const n = Number.parseInt(m[1], 10);\n return Number.isFinite(n) && n > 0 ? n : null;\n }\n return null;\n}\n\n/** Reverse of `resolveStardormChainAgentId`: registry id → canonical catalog id. */\nexport function resolveStardormAgentKey(\n chainAgentId: number | bigint | string,\n): string | null {\n const n =\n typeof chainAgentId === \"string\"\n ? Number.parseInt(chainAgentId, 10)\n : Number(chainAgentId);\n if (!Number.isFinite(n) || n <= 0) return null;\n if (n === 1) return \"beam-default\";\n return `chain-${n}`;\n}\n","import { z } from \"zod\";\r\n\r\nexport const authChallengeBodySchema = z.object({\r\n walletAddress: z.string().min(1),\r\n});\r\n\r\nexport const authChallengeResponseSchema = z.object({\r\n message: z.string().min(1),\r\n});\r\n\r\nexport const authVerifyBodySchema = z.object({\r\n walletAddress: z.string().min(1),\r\n message: z.string().min(1),\r\n signature: z.string().min(1),\r\n});\r\n\r\nexport const authVerifyResponseSchema = z.object({\r\n accessToken: z.string().min(1),\r\n});\r\n\r\nexport const authMeResponseSchema = z.object({\r\n walletAddress: z.string().min(1),\r\n});\r\n\r\nexport type AuthChallengeBody = z.infer<typeof authChallengeBodySchema>;\r\nexport type AuthChallengeResponse = z.infer<typeof authChallengeResponseSchema>;\r\nexport type AuthVerifyBody = z.infer<typeof authVerifyBodySchema>;\r\nexport type AuthVerifyResponse = z.infer<typeof authVerifyResponseSchema>;\r\nexport type AuthMeResponse = z.infer<typeof authMeResponseSchema>;\r\n","import { z } from \"zod\";\r\n\r\n/**\r\n * Source of truth for backend handler ids implemented in\r\n * `stardorm/backend/src/handlers/handlers.service.ts`. Keep in sync.\r\n */\r\nexport const HANDLER_ACTION_IDS = [\r\n \"generate_tax_report\",\r\n \"create_x402_payment\",\r\n /** Fiat checkout via Stripe; webhook fulfills ERC-20 transfer from treasury key. */\r\n \"on_ramp_tokens\",\r\n /** Stripe Identity hosted verification for the signed-in wallet user. */\r\n \"complete_stripe_kyc\",\r\n /** Issue a virtual payment card record with billing profile and spend balance. */\r\n \"create_credit_card\",\r\n /** PDF + structured snapshot: payment requests, on-ramps, cards, KYC for this wallet. */\r\n \"generate_payment_invoice\",\r\n /** Summary report across payment requests, on-ramps, virtual cards, and KYC status. */\r\n \"generate_financial_activity_report\",\r\n /** Confirms a native (gas token) transfer draft; user signs in their wallet / Beam Send. */\r\n \"draft_native_transfer\",\r\n /** Confirms an ERC-20 transfer draft; user signs in their wallet / Beam Send. */\r\n \"draft_erc20_transfer\",\r\n /** Confirms an NFT (ERC-721 / ERC-1155) transfer draft; user signs in their wallet / Beam Send. */\r\n \"draft_nft_transfer\",\r\n] as const;\r\n\r\nexport type HandlerActionId = (typeof HANDLER_ACTION_IDS)[number];\r\n\r\nexport function isHandlerActionId(id: string): id is HandlerActionId {\r\n return (HANDLER_ACTION_IDS as readonly string[]).includes(id);\r\n}\r\n\r\nexport const handlerActionIdSchema = z.enum(HANDLER_ACTION_IDS);\r\n\r\nexport const handlersListResponseSchema = z.object({\r\n handlers: z.array(handlerActionIdSchema),\r\n});\r\n\r\nexport type HandlersListResponse = z.infer<typeof handlersListResponseSchema>;\r\n","import { z } from \"zod\";\r\n\r\nexport const storageUploadBodySchema = z.object({\r\n content: z.string().min(1),\r\n});\r\n\r\nexport const storageUploadResponseSchema = z.object({\r\n rootHash: z.string().min(1),\r\n txHash: z.string().optional(),\r\n});\r\n\r\nexport type StorageUploadBody = z.infer<typeof storageUploadBodySchema>;\r\nexport type StorageUploadResponse = z.infer<typeof storageUploadResponseSchema>;\r\n","import { z } from \"zod\";\r\nimport { handlerActionIdSchema } from \"./handlers.js\";\r\n\r\nexport const stardormChatRichRowSchema = z.object({\r\n label: z.string(),\r\n value: z.string(),\r\n});\r\n\r\n/** One selectable asset row for the x402 checkout form rich block. */\r\nexport const x402SupportedAssetSchema = z.object({\r\n name: z.string().min(1).max(64),\r\n symbol: z.string().min(1).max(32),\r\n icon: z.string().min(1).max(512),\r\n decimals: z.number().int().min(0).max(36),\r\n address: z.string().min(1).max(66),\r\n usdValue: z.number().finite().nonnegative().optional(),\r\n});\r\n\r\nexport type X402SupportedAsset = z.infer<typeof x402SupportedAssetSchema>;\r\n\r\nconst stardormChatRichRows = z.array(stardormChatRichRowSchema).max(32).optional();\r\n\r\nexport const stardormChatRichBlockSchema = z.discriminatedUnion(\"type\", [\r\n z.object({\r\n type: z.literal(\"report\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n z.object({\r\n type: z.literal(\"invoice\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n z.object({\r\n type: z.literal(\"tx\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n z.object({\r\n type: z.literal(\"x402_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n /** Paywalled HTTP resource URL for x402 clients (optional). */\r\n resourceUrl: z.string().url().max(2048).optional(),\r\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\r\n networks: z\r\n .array(\r\n z.object({\r\n id: z.string().min(1).max(64),\r\n label: z.string().min(1).max(120),\r\n }),\r\n )\r\n .max(16)\r\n .optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"on_ramp_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\r\n networks: z\r\n .array(\r\n z.object({\r\n id: z.string().min(1).max(64),\r\n label: z.string().min(1).max(120),\r\n }),\r\n )\r\n .max(16)\r\n .optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"credit_card_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n /** Pre-filled ISO 4217 currency in the form (e.g. USD). */\r\n defaultCurrency: z.string().length(3).optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"credit_card\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n]);\r\n\r\nexport type StardormChatRichBlock = z.infer<typeof stardormChatRichBlockSchema>;\r\n\r\nexport const stardormChatJsonBodySchema = z.object({\r\n message: z.string().min(1),\r\n});\r\n\r\nexport type StardormChatJsonBody = z.infer<typeof stardormChatJsonBodySchema>;\r\n\r\nexport const stardormChatStructuredSchema = z.object({\r\n text: z.string(),\r\n handler: handlerActionIdSchema.optional(),\r\n params: z.unknown().optional(),\r\n});\r\n\r\nexport const stardormChatComputeSchema = z.object({\r\n model: z.string(),\r\n verified: z.boolean(),\r\n chatId: z.string().optional(),\r\n provider: z.string(),\r\n computeNetwork: z.string(),\r\n});\r\n\r\nexport const stardormChatAttachmentSchema = z.object({\r\n id: z.string().min(1),\r\n name: z.string(),\r\n mimeType: z.string(),\r\n hash: z.string().min(1),\r\n size: z.string().optional(),\r\n});\r\n\r\nexport type StardormChatAttachment = z.infer<typeof stardormChatAttachmentSchema>;\r\n\r\nexport const stardormChatSuccessSchema = z.object({\r\n agentKey: z.string().min(1),\r\n reply: z.string(),\r\n structured: stardormChatStructuredSchema.optional(),\r\n /** Structured card rows for the client (model or server-generated). */\r\n rich: stardormChatRichBlockSchema.optional(),\r\n /** Files the server uploaded to 0G Storage from the user's chat turn (echoed for immediate render). */\r\n attachments: z.array(stardormChatAttachmentSchema).optional(),\r\n compute: stardormChatComputeSchema,\r\n});\r\n\r\nexport type StardormChatSuccess = z.infer<typeof stardormChatSuccessSchema>;\r\n\r\nexport const stardormChatClientErrorSchema = z.object({\r\n error: z.string().min(1),\r\n});\r\n\r\nexport const stardormChatClientResultSchema = z.union([\r\n stardormChatSuccessSchema,\r\n stardormChatClientErrorSchema,\r\n]);\r\n\r\nexport type StardormChatClientResult = z.infer<typeof stardormChatClientResultSchema>;\r\n","import { z } from \"zod\";\r\nimport { handlerActionIdSchema } from \"./handlers.js\";\r\nimport { stardormChatRichBlockSchema } from \"./chat-api.js\";\r\n\r\nexport const userAvatarPresetSchema = z.enum([\"male\", \"female\"]);\r\n\r\nexport const userPreferencesSchema = z.object({\r\n autoRoutePrompts: z.boolean(),\r\n onchainReceipts: z.boolean(),\r\n emailNotifications: z.boolean(),\r\n avatarPreset: userAvatarPresetSchema.default(\"male\"),\r\n});\r\n\r\nexport const publicUserSchema = z.object({\r\n id: z.string().min(1),\r\n walletAddress: z.string().min(1),\r\n displayName: z.string().optional(),\r\n email: z.string().optional(),\r\n activeAgentId: z.string().min(1),\r\n /** Selected chat thread id when multi-conversation is enabled. */\r\n activeConversationId: z.string().min(1).optional(),\r\n preferences: userPreferencesSchema,\r\n lastLoginAt: z.coerce.date().optional(),\r\n createdAt: z.coerce.date().optional(),\r\n updatedAt: z.coerce.date().optional(),\r\n});\r\n\r\nexport const updateUserBodySchema = z.object({\r\n displayName: z.string().optional(),\r\n email: z.string().nullable().optional(),\r\n activeAgentId: z.string().optional(),\r\n activeConversationId: z.string().nullable().optional(),\r\n preferences: userPreferencesSchema.partial().optional(),\r\n});\r\n\r\nexport const userUploadResultSchema = z.object({\r\n rootHash: z.string().min(1),\r\n txHash: z.string().optional(),\r\n originalName: z.string(),\r\n mimeType: z.string(),\r\n size: z.number().int().nonnegative(),\r\n});\r\n\r\nexport const executeHandlerBodySchema = z.object({\r\n handler: handlerActionIdSchema,\r\n params: z.unknown().optional(),\r\n /** Mongo id of the chat message that displayed the handler CTA (required). */\r\n ctaMessageId: z.string().min(1),\r\n});\r\n\r\nconst handlerAttachmentSchema = z.object({\r\n rootHash: z.string(),\r\n mimeType: z.string(),\r\n name: z.string(),\r\n});\r\n\r\nexport const executeHandlerResponseSchema = z.object({\r\n message: z.string(),\r\n attachments: z.array(handlerAttachmentSchema).optional(),\r\n data: z.record(z.string(), z.unknown()).optional(),\r\n rich: stardormChatRichBlockSchema.optional(),\r\n});\r\n\r\nexport type UserAvatarPreset = z.infer<typeof userAvatarPresetSchema>;\r\n\r\nexport type PublicUser = z.infer<typeof publicUserSchema>;\r\nexport type UpdateUserBody = z.infer<typeof updateUserBodySchema>;\r\nexport type UserUploadResult = z.infer<typeof userUploadResultSchema>;\r\nexport type ExecuteHandlerBody = z.infer<typeof executeHandlerBodySchema>;\r\nexport type ExecuteHandlerResponse = z.infer<typeof executeHandlerResponseSchema>;\r\n","import { z } from \"zod\";\r\nimport { handlerActionIdSchema } from \"./handlers.js\";\r\nimport { stardormChatRichBlockSchema } from \"./chat-api.js\";\r\n\r\nexport const chatHistoryQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(40),\r\n /** When omitted, the server uses the user’s active conversation. */\r\n conversationId: z.string().min(1).optional(),\r\n /**\r\n * Opaque cursor from the previous response’s `nextCursorOlder` — loads older messages\r\n * than the oldest message in the last batch (prepends chronologically in the client).\r\n */\r\n cursor: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ChatHistoryQuery = z.infer<typeof chatHistoryQuerySchema>;\r\n\r\nexport const chatHistoryAttachmentSchema = z.object({\r\n id: z.string(),\r\n mimeType: z.string(),\r\n name: z.string(),\r\n hash: z.string(),\r\n size: z.string().optional(),\r\n});\r\n\r\nexport const chatHistoryHandlerCtaSchema = z.object({\r\n handler: handlerActionIdSchema,\r\n params: z.record(z.unknown()),\r\n});\r\n\r\n/** Post-execute affordances derived from handler result (x402 checkout, tax PDF, …). */\r\nexport const chatFollowUpSchema = z.discriminatedUnion(\"kind\", [\r\n z.object({\r\n kind: z.literal(\"x402_checkout\"),\r\n /** App-relative path, e.g. `/pay/<mongoId>`. */\r\n payPath: z.string().min(1),\r\n paymentRequestId: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"tax_report_pdf\"),\r\n attachmentId: z.string().min(1),\r\n name: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"stripe_on_ramp\"),\r\n checkoutUrl: z.string().url(),\r\n onRampId: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"stripe_identity\"),\r\n verificationUrl: z.string().url(),\r\n verificationSessionId: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"credit_card_ready\"),\r\n creditCardId: z.string().min(1),\r\n /** App path for managing the card balance (e.g. /dashboard). */\r\n dashboardPath: z.string().min(1),\r\n }),\r\n]);\r\n\r\nexport const chatHistoryMessageSchema = z.object({\r\n id: z.string(),\r\n role: z.enum([\"user\", \"agent\"]),\r\n agentKey: z.string().optional(),\r\n content: z.string(),\r\n createdAt: z.number(),\r\n attachments: z.array(chatHistoryAttachmentSchema).optional(),\r\n rich: stardormChatRichBlockSchema.optional(),\r\n handlerCta: chatHistoryHandlerCtaSchema.optional(),\r\n followUp: chatFollowUpSchema.optional(),\r\n model: z.string().optional(),\r\n verified: z.boolean().optional(),\r\n chatId: z.string().optional(),\r\n provider: z.string().optional(),\r\n});\r\n\r\nexport const chatHistoryResponseSchema = z.object({\r\n conversationId: z.string(),\r\n agentKey: z.string(),\r\n messages: z.array(chatHistoryMessageSchema),\r\n /** True when more older messages exist before this batch. */\r\n hasMoreOlder: z.boolean(),\r\n /** Pass as `cursor` on the next request to load older messages. */\r\n nextCursorOlder: z.string().optional(),\r\n});\r\n\r\nexport type ChatHistoryAttachment = z.infer<typeof chatHistoryAttachmentSchema>;\r\nexport type ChatFollowUp = z.infer<typeof chatFollowUpSchema>;\r\nexport type ChatHistoryMessage = z.infer<typeof chatHistoryMessageSchema>;\r\nexport type ChatHistoryResponse = z.infer<typeof chatHistoryResponseSchema>;\r\n\r\nexport const conversationSummarySchema = z.object({\r\n id: z.string().min(1),\r\n agentKey: z.string().min(1),\r\n title: z.string().optional(),\r\n lastMessageAt: z.coerce.date(),\r\n createdAt: z.coerce.date().optional(),\r\n});\r\n\r\nexport const conversationsQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(50).default(25),\r\n /** Opaque cursor from the previous response’s `nextCursor`. */\r\n cursor: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ConversationsQuery = z.infer<typeof conversationsQuerySchema>;\r\n\r\nexport const conversationsPageResponseSchema = z.object({\r\n conversations: z.array(conversationSummarySchema),\r\n hasMore: z.boolean(),\r\n nextCursor: z.string().optional(),\r\n});\r\n\r\n/** @deprecated Use `conversationsPageResponseSchema` — same shape. */\r\nexport const conversationsListResponseSchema = conversationsPageResponseSchema;\r\n\r\nexport const createConversationBodySchema = z.object({\r\n title: z.string().max(120).optional(),\r\n agentKey: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ConversationSummary = z.infer<typeof conversationSummarySchema>;\r\nexport type ConversationsPageResponse = z.infer<typeof conversationsPageResponseSchema>;\r\nexport type ConversationsListResponse = ConversationsPageResponse;\r\nexport type CreateConversationBody = z.infer<typeof createConversationBodySchema>;\r\n\r\nexport const deleteConversationResponseSchema = z.object({\r\n deleted: z.literal(true),\r\n});\r\n\r\nexport type DeleteConversationResponse = z.infer<typeof deleteConversationResponseSchema>;\r\n","import { z } from \"zod\";\r\n\r\n/** One feedback row from the Stardorm subgraph (ReputationRegistry `NewFeedback`). */\r\nexport const agentOnchainFeedbackItemSchema = z.object({\r\n id: z.string(),\r\n agentId: z.number(),\r\n clientAddress: z.string(),\r\n feedbackIndex: z.string(),\r\n value: z.string(),\r\n valueDecimals: z.number().int().min(0).max(18),\r\n tag1: z.string(),\r\n tag2: z.string(),\r\n endpoint: z.string(),\r\n feedbackURI: z.string(),\r\n feedbackHash: z.string(),\r\n revoked: z.boolean(),\r\n blockNumber: z.number(),\r\n blockTimestamp: z.number(),\r\n transactionHash: z.string(),\r\n});\r\n\r\nexport type AgentOnchainFeedbackItem = z.infer<typeof agentOnchainFeedbackItemSchema>;\r\n\r\n/** Query string for `GET /agents/:agentKey/feedbacks` (subgraph `first` / `skip`). */\r\nexport const agentFeedbacksQuerySchema = z.object({\r\n limit: z\r\n .union([z.string(), z.number()])\r\n .optional()\r\n .transform((v) => {\r\n if (v === undefined) return 20;\r\n const n = typeof v === \"string\" ? Number.parseInt(v, 10) : v;\r\n if (!Number.isFinite(n)) return 20;\r\n return Math.min(50, Math.max(1, Math.trunc(n)));\r\n }),\r\n skip: z\r\n .union([z.string(), z.number()])\r\n .optional()\r\n .transform((v) => {\r\n if (v === undefined) return 0;\r\n const n = typeof v === \"string\" ? Number.parseInt(v, 10) : v;\r\n if (!Number.isFinite(n)) return 0;\r\n return Math.max(0, Math.trunc(n));\r\n }),\r\n});\r\n\r\nexport type AgentFeedbacksQuery = z.infer<typeof agentFeedbacksQuerySchema>;\r\n\r\n/** Paginated page (infinite scroll / cursor-style skip). */\r\nexport const agentFeedbacksPageResponseSchema = z.object({\r\n feedbacks: z.array(agentOnchainFeedbackItemSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(50),\r\n skip: z.number().int().min(0),\r\n hasMore: z.boolean(),\r\n }),\r\n});\r\n\r\nexport type AgentFeedbacksPageResponse = z.infer<typeof agentFeedbacksPageResponseSchema>;\r\n","import { z } from \"zod\";\nimport { stardormChatAttachmentSchema } from \"./chat-api.js\";\n\nconst evmTxHashSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{64}$/i, \"Invalid transaction hash\");\n\nconst evmAddressSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{40}$/i, \"Invalid address\");\n\n/**\n * Body for POST `/payments/:id/pay`.\n * Either record a broadcast EVM tx (`txHash`), or submit a full x402 `PaymentPayload` for facilitator verify+settle when `X402_FACILITATOR_URL` is configured.\n */\nexport const paymentSettlementBodySchema = z\n .object({\n txHash: evmTxHashSchema.optional(),\n payerAddress: evmAddressSchema.optional(),\n /** Matches @x402/core `PaymentPayload` (x402Version, accepted, payload, …). */\n x402PaymentPayload: z.record(z.string(), z.unknown()).optional(),\n })\n .superRefine((val, ctx) => {\n if (!val.txHash && !val.x402PaymentPayload) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Provide txHash (direct settlement) or x402PaymentPayload (facilitator).\",\n path: [\"txHash\"],\n });\n }\n if (val.txHash && val.x402PaymentPayload) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Provide only one of txHash or x402PaymentPayload.\",\n path: [\"txHash\"],\n });\n }\n });\n\nexport type PaymentSettlementBody = z.infer<typeof paymentSettlementBodySchema>;\n\nexport const paymentRequestTypeSchema = z.enum([\"on-chain\", \"x402\"]);\n\nexport const paymentRequestStatusSchema = z.enum([\n \"pending\",\n \"paid\",\n \"expired\",\n \"cancelled\",\n]);\n\nexport const publicPaymentRequestSchema = z.object({\n id: z.string(),\n type: paymentRequestTypeSchema,\n status: paymentRequestStatusSchema,\n title: z.string(),\n description: z.string().optional(),\n asset: z.string(),\n amount: z.string(),\n payTo: z.string(),\n network: z.string(),\n expiresAt: z.string().optional(),\n resourceId: z.string().optional(),\n resourceUrl: z.string().max(2048).optional(),\n decimals: z.number().int().min(0).max(36).optional(),\n x402Payload: z.record(z.string(), z.unknown()).optional(),\n attachment: stardormChatAttachmentSchema.optional(),\n /** Set when status is `paid` (on-chain settlement recorded). */\n txHash: z.string().optional(),\n paidByWallet: z.string().optional(),\n});\n\nexport type PublicPaymentRequest = z.infer<typeof publicPaymentRequestSchema>;\n\n/** Query for GET `/users/me/payment-requests`. */\nexport const mePaymentRequestsQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(50).default(20),\n});\n\nexport type MePaymentRequestsQuery = z.infer<typeof mePaymentRequestsQuerySchema>;\n\nexport const paymentRequestsListResponseSchema = z.object({\n items: z.array(publicPaymentRequestSchema),\n});\n\nexport type PaymentRequestsListResponse = z.infer<\n typeof paymentRequestsListResponseSchema\n>;\n","import { z } from \"zod\";\nimport { x402SupportedAssetSchema } from \"./chat-api.js\";\n\nexport const onRampFormNetworkOptionSchema = z.object({\n id: z.string().min(1).max(64),\n label: z.string().min(1).max(120),\n});\n\n/** Persisted on the chat CTA row until the user submits the on-ramp form. */\nexport const onRampFormCtaParamsSchema = z.object({\n _onRampForm: z.literal(true),\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\n networks: z.array(onRampFormNetworkOptionSchema).max(16).optional(),\n intro: z.string().max(2000).optional(),\n});\n\nexport type OnRampFormCtaParams = z.infer<typeof onRampFormCtaParamsSchema>;\n\nexport function isOnRampFormCtaParams(v: unknown): v is OnRampFormCtaParams {\n return onRampFormCtaParamsSchema.safeParse(v).success;\n}\n\nconst weiString = z.union([\n z\n .string()\n .trim()\n .regex(\n /^[1-9]\\d*$/,\n \"tokenAmountWei must be base units (positive integer string, no decimals)\",\n ),\n z.number().int().positive().transform((n) => String(n)),\n]);\n\nconst evmAddr = z\n .string()\n .min(1)\n .refine(\n (s) => /^0x[a-fA-F0-9]{40}$/.test(s.trim()),\n \"must be a 0x-prefixed 20-byte address\",\n )\n .transform((s) => s.trim().toLowerCase());\n\n/** Execution payload for `on_ramp_tokens` (Stripe Checkout + treasury ERC-20 send). */\nexport const onRampTokensInputSchema = z.object({\n recipientWallet: evmAddr,\n network: z.string().min(1).max(64),\n tokenAddress: evmAddr,\n tokenDecimals: z.number().int().min(0).max(36),\n tokenSymbol: z.string().min(1).max(32),\n tokenAmountWei: weiString,\n /** Optional spot reference for analytics / UI (per supported token). */\n usdValue: z.number().finite().nonnegative().optional(),\n /** Total USD charged via Stripe (cents). Minimum $1.00. */\n usdAmountCents: z.number().int().min(100).max(10_000_000),\n});\n\nexport type OnRampTokensInput = z.infer<typeof onRampTokensInputSchema>;\n\nexport const onRampRecordStatusSchema = z.enum([\n \"pending_checkout\",\n \"pending_payment\",\n \"paid_pending_transfer\",\n \"fulfilled\",\n \"failed\",\n \"canceled\",\n]);\n\nexport type OnRampRecordStatus = z.infer<typeof onRampRecordStatusSchema>;\n\nexport const onRampRecordSchema = z.object({\n id: z.string().min(1),\n status: onRampRecordStatusSchema,\n walletAddress: z.string().min(1),\n recipientWallet: z.string().min(1),\n network: z.string().min(1),\n tokenAddress: z.string().min(1),\n tokenDecimals: z.number().int().min(0).max(36),\n tokenSymbol: z.string().min(1),\n tokenAmountWei: z.string().min(1),\n usdAmountCents: z.number().int().nonnegative(),\n usdValue: z.number().finite().nonnegative().optional(),\n stripeCheckoutSessionId: z.string().optional(),\n stripePaymentIntentId: z.string().optional(),\n fulfillmentTxHash: z.string().optional(),\n errorMessage: z.string().optional(),\n createdAt: z.coerce.date().optional(),\n updatedAt: z.coerce.date().optional(),\n});\n\nexport type OnRampRecord = z.infer<typeof onRampRecordSchema>;\n\n/** Query for GET `/users/me/on-ramps`. */\nexport const meOnRampsQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(50).default(20),\n});\n\nexport type MeOnRampsQuery = z.infer<typeof meOnRampsQuerySchema>;\n\nexport const onRampsListResponseSchema = z.object({\n items: z.array(onRampRecordSchema),\n});\n\nexport type OnRampsListResponse = z.infer<typeof onRampsListResponseSchema>;\n","import { z } from \"zod\";\n\n/** Stripe Identity–backed lifecycle for a wallet user. */\nexport const userKycStatusSchema = z.enum([\n \"not_started\",\n \"pending\",\n \"processing\",\n \"verified\",\n \"requires_input\",\n \"canceled\",\n]);\n\nexport type UserKycStatus = z.infer<typeof userKycStatusSchema>;\n\nexport const stripeKycInputSchema = z\n .object({\n /** App path + query (e.g. `/` or `/?conversation=<id>`); joined with `APP_PUBLIC_URL` for Stripe `return_url`. */\n returnPath: z.string().min(1).max(512).optional(),\n })\n .strict();\n\nexport type StripeKycInput = z.infer<typeof stripeKycInputSchema>;\n\nexport const userKycStatusDocumentSchema = z.object({\n walletAddress: z.string().min(1),\n status: userKycStatusSchema,\n stripeVerificationSessionId: z.string().optional(),\n lastStripeEventType: z.string().optional(),\n lastError: z.string().optional(),\n createdAt: z.coerce.date().optional(),\n updatedAt: z.coerce.date().optional(),\n});\n\nexport type UserKycStatusDocument = z.infer<typeof userKycStatusDocumentSchema>;\n","import { z } from \"zod\";\r\n\r\nexport const createCreditCardInputSchema = z.object({\r\n firstName: z.string().trim().min(1).max(80),\r\n lastName: z.string().trim().min(1).max(80),\r\n line1: z.string().trim().min(1).max(120),\r\n line2: z.string().trim().max(120).optional(),\r\n city: z.string().trim().min(1).max(80),\r\n region: z.string().trim().min(1).max(80),\r\n postalCode: z.string().trim().min(1).max(20),\r\n countryCode: z\r\n .string()\r\n .trim()\r\n .length(2)\r\n .transform((c) => c.toUpperCase()),\r\n cardLabel: z.string().trim().min(1).max(80).optional(),\r\n currency: z\r\n .string()\r\n .trim()\r\n .length(3)\r\n .transform((c) => c.toUpperCase())\r\n .optional(),\r\n /** Opening balance in minor units (e.g. USD cents). */\r\n initialBalanceCents: z.coerce.number().int().min(0).max(100_000_000).optional(),\r\n});\r\n\r\nexport type CreateCreditCardInput = z.infer<typeof createCreditCardInputSchema>;\r\n\r\n/** Persisted on the chat CTA row until the user submits the virtual-card billing form. */\r\nexport const creditCardFormCtaParamsSchema = z.object({\r\n _creditCardForm: z.literal(true),\r\n intro: z.string().max(2000).optional(),\r\n defaultCurrency: z\r\n .string()\r\n .trim()\r\n .length(3)\r\n .transform((c) => c.toUpperCase())\r\n .optional(),\r\n});\r\n\r\nexport type CreditCardFormCtaParams = z.infer<typeof creditCardFormCtaParamsSchema>;\r\n\r\nexport function isCreditCardFormCtaParams(v: unknown): v is CreditCardFormCtaParams {\r\n return creditCardFormCtaParamsSchema.safeParse(v).success;\r\n}\r\n\r\nexport const creditCardPublicSchema = z.object({\r\n id: z.string().min(1),\r\n firstName: z.string(),\r\n lastName: z.string(),\r\n cardLabel: z.string().optional(),\r\n line1: z.string(),\r\n line2: z.string().optional(),\r\n city: z.string(),\r\n region: z.string(),\r\n postalCode: z.string(),\r\n countryCode: z.string(),\r\n currency: z.string(),\r\n balanceCents: z.number().int().nonnegative(),\r\n last4: z.string(),\r\n networkBrand: z.string(),\r\n status: z.enum([\"active\", \"frozen\"]),\r\n createdAt: z.coerce.date().optional(),\r\n updatedAt: z.coerce.date().optional(),\r\n /** Present on some `POST …/withdraw` responses when native 0G was sent from the treasury. */\r\n lastWithdrawTxHash: z\r\n .string()\r\n .regex(/^0x[a-fA-F0-9]{64}$/)\r\n .optional(),\r\n});\r\n\r\nexport type CreditCardPublic = z.infer<typeof creditCardPublicSchema>;\r\n\r\n/** Wallet-authenticated only; never included in list cards responses. */\r\nexport const creditCardSensitiveDetailsSchema = z.object({\r\n cardId: z.string().min(1),\r\n pan: z.string().regex(/^\\d{16}$/),\r\n expiryMonth: z.coerce.number().int().min(1).max(12),\r\n expiryYear: z.coerce.number().int().min(2000).max(2100),\r\n cvv: z.string().regex(/^\\d{3,4}$/),\r\n});\r\n\r\nexport type CreditCardSensitiveDetails = z.infer<\r\n typeof creditCardSensitiveDetailsSchema\r\n>;\r\n\r\nexport const creditCardsListResponseSchema = z.object({\r\n cards: z.array(creditCardPublicSchema),\r\n});\r\n\r\nexport type CreditCardsListResponse = z.infer<typeof creditCardsListResponseSchema>;\r\n\r\nexport const creditCardFundBodySchema = z\r\n .object({\r\n amountCents: z.coerce.number().int().min(1).max(100_000_000),\r\n fundingTxHash: z\r\n .string()\r\n .regex(/^0x[a-fA-F0-9]{64}$/)\r\n .optional(),\r\n fundingChainId: z.coerce.number().int().positive().optional(),\r\n })\r\n .refine(\r\n (d) =>\r\n (d.fundingTxHash == null && d.fundingChainId == null) ||\r\n (d.fundingTxHash != null && d.fundingChainId != null),\r\n {\r\n message:\r\n \"fundingTxHash and fundingChainId must both be provided or both omitted\",\r\n path: [\"fundingTxHash\"],\r\n },\r\n );\r\n\r\nexport type CreditCardFundBody = z.infer<typeof creditCardFundBodySchema>;\r\n\r\nexport const creditCardFundQuoteQuerySchema = z.object({\r\n amountCents: z.coerce.number().int().min(1).max(100_000_000),\r\n});\r\n\r\nexport type CreditCardFundQuoteQuery = z.infer<\r\n typeof creditCardFundQuoteQuerySchema\r\n>;\r\n\r\nexport const creditCardFundQuoteOffChainSchema = z.object({\r\n onchainFundingRequired: z.literal(false),\r\n});\r\n\r\nexport const creditCardFundQuoteOnChainSchema = z.object({\r\n onchainFundingRequired: z.literal(true),\r\n chainId: z.number().int(),\r\n recipient: z.string().min(1),\r\n minNativeWei: z.string().regex(/^\\d+$/),\r\n usdValue: z.number().finite().positive(),\r\n nativeSymbol: z.string().min(1),\r\n nativeDecimals: z.number().int().min(0).max(18),\r\n});\r\n\r\nexport const creditCardFundQuoteResponseSchema = z.discriminatedUnion(\r\n \"onchainFundingRequired\",\r\n [creditCardFundQuoteOffChainSchema, creditCardFundQuoteOnChainSchema],\r\n);\r\n\r\nexport type CreditCardFundQuoteResponse = z.infer<\r\n typeof creditCardFundQuoteResponseSchema\r\n>;\r\n\r\nexport const creditCardWithdrawBodySchema = z.object({\r\n amountCents: z.coerce.number().int().min(1).max(100_000_000),\r\n});\r\n\r\nexport type CreditCardWithdrawBody = z.infer<typeof creditCardWithdrawBodySchema>;\r\n","import { z } from \"zod\";\n\n/** UTC calendar day (same shape as tax report date parts). */\nexport const billingDatePartSchema = z.object({\n year: z.number().int().min(2020).max(2036),\n month: z.number().int().min(1).max(12),\n day: z.number().int().min(1).max(31),\n});\n\nexport type BillingDatePart = z.infer<typeof billingDatePartSchema>;\n\nexport function billingDatePartToUtc(p: BillingDatePart): Date {\n return new Date(Date.UTC(p.year, p.month - 1, p.day));\n}\n\n/** Inclusive end of the UTC calendar day for `to` filters. */\nexport function billingRangeEndOfDay(p: BillingDatePart): Date {\n const d = billingDatePartToUtc(p);\n d.setUTCHours(23, 59, 59, 999);\n return d;\n}\n\n/** Mongo / service date bounds from optional handler `from` / `to` parts. */\nexport function billingPeriodBounds(input: {\n from?: BillingDatePart;\n to?: BillingDatePart;\n}): { from?: Date; to?: Date } {\n return {\n from: input.from ? billingDatePartToUtc(input.from) : undefined,\n to: input.to ? billingRangeEndOfDay(input.to) : undefined,\n };\n}\n\nexport const generatePaymentInvoiceInputSchema = z\n .object({\n from: billingDatePartSchema.optional(),\n to: billingDatePartSchema.optional(),\n invoiceTitle: z.string().trim().min(1).max(120).optional(),\n })\n .superRefine((val, ctx) => {\n if (!val.from || !val.to) return;\n const a = billingDatePartToUtc(val.from);\n const b = billingDatePartToUtc(val.to);\n if (Number.isNaN(a.getTime()) || Number.isNaN(b.getTime())) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Invalid calendar date\",\n });\n return;\n }\n if (a > b) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`from` must be on or before `to`\",\n path: [\"from\"],\n });\n }\n });\n\nexport type GeneratePaymentInvoiceInput = z.infer<\n typeof generatePaymentInvoiceInputSchema\n>;\n\nexport const generateFinancialActivityReportInputSchema = z\n .object({\n from: billingDatePartSchema.optional(),\n to: billingDatePartSchema.optional(),\n reportTitle: z.string().trim().min(1).max(120).optional(),\n })\n .superRefine((val, ctx) => {\n if (!val.from || !val.to) return;\n const a = billingDatePartToUtc(val.from);\n const b = billingDatePartToUtc(val.to);\n if (Number.isNaN(a.getTime()) || Number.isNaN(b.getTime())) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Invalid calendar date\",\n });\n return;\n }\n if (a > b) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`from` must be on or before `to`\",\n path: [\"from\"],\n });\n }\n });\n\nexport type GenerateFinancialActivityReportInput = z.infer<\n typeof generateFinancialActivityReportInputSchema\n>;\n","/**\n * ISO 3166-1 alpha-2 codes (officially assigned), sourced from the slim-2 dataset\n * (lukes/ISO-3166-Countries-with-Regional-Codes). UK is accepted as an alias for GB at validation boundaries.\n */\nconst ISO_3166_1_ALPHA2_CODES_RAW =\n \"AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS YE YT ZA ZM ZW\";\n\nexport const ISO_3166_1_ALPHA2_CODES: readonly string[] = Object.freeze(\n ISO_3166_1_ALPHA2_CODES_RAW.split(/\\s+/),\n);\n\nconst ISO_3166_1_ALPHA2_SET = new Set(ISO_3166_1_ALPHA2_CODES);\n\nexport function isIso3166Alpha2(code: string): boolean {\n const c = code.length === 2 ? code.toUpperCase() : \"\";\n return ISO_3166_1_ALPHA2_SET.has(c);\n}\n\nexport function isoCountryDisplayName(\n code: string,\n locale: string | string[] = \"en\",\n): string {\n const c = code.length === 2 ? code.toUpperCase() : code;\n try {\n const dn = new Intl.DisplayNames(locale, { type: \"region\" });\n return dn.of(c) ?? c;\n } catch {\n return c;\n }\n}\n","/** EU-27 member states (post-Brexit, excluding GB). */\nconst EU27 = new Set([\n \"AT\",\n \"BE\",\n \"BG\",\n \"HR\",\n \"CY\",\n \"CZ\",\n \"DK\",\n \"EE\",\n \"FI\",\n \"FR\",\n \"DE\",\n \"GR\",\n \"HU\",\n \"IE\",\n \"IT\",\n \"LV\",\n \"LT\",\n \"LU\",\n \"MT\",\n \"NL\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"SK\",\n \"SI\",\n \"ES\",\n \"SE\",\n]);\n\nconst EEA_NON_EU = new Set([\"IS\", \"LI\", \"NO\"]);\n\nconst HIGH_TIER_OECD = new Set([\"AU\", \"CA\", \"JP\", \"KR\", \"NZ\"]);\n\n/**\n * Approximate headline rate for PDF math when native activity is priced in USD.\n * Not tax advice; every jurisdiction has nuance. Unknown ISO codes use the same default as the historical stub (0.2).\n */\nexport function taxRateForCountry(country: string): number {\n const c = country.toUpperCase();\n if (c === \"US\") return 0.22;\n if (c === \"GB\" || c === \"UK\") return 0.2;\n if (c === \"DE\" || c === \"FR\") return 0.25;\n if (c === \"SG\") return 0.17;\n if (EU27.has(c)) return 0.24;\n if (EEA_NON_EU.has(c)) return 0.24;\n if (HIGH_TIER_OECD.has(c)) return 0.25;\n return 0.2;\n}\n","import { z } from \"zod\";\r\n\r\nconst caip2Eip155 = z\r\n .string()\r\n .min(8)\r\n .max(64)\r\n .regex(\r\n /^eip155:\\d+$/,\r\n \"network must be CAIP-2 form eip155:<chainId> (e.g. eip155:16602)\",\r\n );\r\n\r\nconst evmAddress20 = z\r\n .string()\r\n .trim()\r\n .refine(\r\n (s) => /^0x[a-fA-F0-9]{40}$/.test(s),\r\n \"must be a 0x-prefixed 20-byte EVM address\",\r\n )\r\n .transform((s) => s.trim().toLowerCase());\r\n\r\n/** Positive integer string in base units (no decimals, no leading zeros except single \"0\" disallowed for valueWei — use /^[1-9]\\\\d*$/ for strictly positive). */\r\nconst positiveWeiString = z\r\n .string()\r\n .trim()\r\n .regex(\r\n /^[1-9]\\d*$/,\r\n \"must be a positive integer decimal string (base units / wei)\",\r\n );\r\n\r\nconst decimalStringNonNeg = z\r\n .string()\r\n .trim()\r\n .regex(/^\\d+$/, \"must be a non-negative integer decimal string\");\r\n\r\nconst nftStandardSchema = z.enum([\"erc721\", \"erc1155\"]);\r\n\r\nexport const draftNativeTransferInputSchema = z.object({\r\n network: caip2Eip155,\r\n to: evmAddress20,\r\n valueWei: positiveWeiString,\r\n note: z.string().max(500).optional(),\r\n});\r\n\r\nexport type DraftNativeTransferInput = z.infer<\r\n typeof draftNativeTransferInputSchema\r\n>;\r\n\r\nexport const draftErc20TransferInputSchema = z.object({\r\n network: caip2Eip155,\r\n token: evmAddress20,\r\n tokenSymbol: z.string().min(1).max(32).optional(),\r\n tokenDecimals: z.number().int().min(0).max(36),\r\n to: evmAddress20,\r\n amountWei: positiveWeiString,\r\n note: z.string().max(500).optional(),\r\n});\r\n\r\nexport type DraftErc20TransferInput = z.infer<\r\n typeof draftErc20TransferInputSchema\r\n>;\r\n\r\nexport const draftNftTransferInputSchema = z\r\n .object({\r\n network: caip2Eip155,\r\n contract: evmAddress20,\r\n standard: nftStandardSchema.default(\"erc721\"),\r\n to: evmAddress20,\r\n tokenId: decimalStringNonNeg,\r\n /** Required for ERC-1155; omit for ERC-721. */\r\n amount: positiveWeiString.optional(),\r\n note: z.string().max(500).optional(),\r\n })\r\n .superRefine((val, ctx) => {\r\n if (val.standard === \"erc1155\") {\r\n if (!val.amount) {\r\n ctx.addIssue({\r\n code: z.ZodIssueCode.custom,\r\n message: \"amount (base units) is required for ERC-1155\",\r\n path: [\"amount\"],\r\n });\r\n }\r\n } else if (val.amount != null) {\r\n ctx.addIssue({\r\n code: z.ZodIssueCode.custom,\r\n message: \"amount must be omitted for ERC-721\",\r\n path: [\"amount\"],\r\n });\r\n }\r\n });\r\n\r\nexport type DraftNftTransferInput = z.infer<typeof draftNftTransferInputSchema>;\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/agent.ts","../src/catalog.ts","../src/catalog-marketplace-response.ts","../src/catalog-build.ts","../src/auth.ts","../src/handlers.ts","../src/storage.ts","../src/chat-api.ts","../src/user.ts","../src/handler-result.ts","../src/conversation.ts","../src/conversation-sync.ts","../src/agent-feedbacks.ts","../src/payment-request.ts","../src/financial-snapshot.ts","../src/on-ramp.ts","../src/kyc.ts","../src/credit-card.ts","../src/billing-handlers.ts","../src/iso-3166-1-alpha2.ts","../src/tax-rate-for-country.ts","../src/transfer-drafts.ts","../src/swap.ts","../src/transfer-form.ts","../src/marketplace-hire.ts"],"names":["z","caip2Eip155","evmAddress20","positiveWeiString"],"mappings":"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","file":"index.mjs","sourcesContent":["import { z } from \"zod\";\n\nexport const agentCategorySchema = z.enum([\n \"Payments\",\n \"Taxes\",\n \"Reports\",\n \"DeFi\",\n \"Compliance\",\n \"General\",\n]);\n\nexport const skillHandleSchema = z.object({\n handle: z.string().min(1),\n label: z.string().min(1),\n});\n\n/** Absolute http(s) URL or root-relative asset path (e.g. on-chain `/images/…`). */\nexport const agentAvatarSchema = z.union([\n z.string().url(),\n z.string().regex(/^\\/\\S+/, \"avatar must be a URL or a root-relative path\"),\n]);\n\nexport const agentSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n handle: z.string().min(1),\n avatar: agentAvatarSchema,\n category: agentCategorySchema,\n tagline: z.string(),\n description: z.string(),\n /** From on-chain feedback / analytics when wired; omit if unknown. */\n rating: z.number().min(0).max(5).optional(),\n reviews: z.number().int().nonnegative().optional(),\n hires: z.number().int().nonnegative().optional(),\n reputation: z.number().min(0).max(100).optional(),\n /** Estimated from indexer `feePerDay` (wei) when available; omit if unknown. */\n pricePerMonth: z.number().nonnegative().optional(),\n /** Raw `feePerDay` (wei, decimal string) from the subgraph. `subscribe` must send exactly `feePerDay * numDays` wei. */\n feePerDayWei: z.string().regex(/^\\d+$/).optional(),\n /** Presence-only when we have a live signal; omit if unknown. */\n online: z.boolean().optional(),\n skills: z.array(z.string()),\n creator: z.string().min(1),\n skillHandles: z.array(skillHandleSchema).optional(),\n chainAgentId: z.number().int().positive().optional(),\n /** From indexer when the token is an ERC-7857 clone of another agent. */\n isCloned: z.boolean().optional(),\n /** Lowercase `0x` registry owner (subgraph); used for “my clone” ownership checks. */\n ownerAddress: z.string().regex(/^0x[a-f0-9]{40}$/).optional(),\n /** Raw on-chain registration string (hex or JSON) for owner-only URI updates. */\n registrationUriRaw: z.string().optional(),\n});\n\nexport const agentsListSchema = z.array(agentSchema).nonempty();\n\nexport type AgentCategory = z.infer<typeof agentCategorySchema>;\nexport type SkillHandle = z.infer<typeof skillHandleSchema>;\nexport type Agent = z.infer<typeof agentSchema>;\n","import { z } from \"zod\";\r\nimport { agentCategorySchema, agentsListSchema } from \"./agent.js\";\r\n\r\nexport const catalogResponseSchema = z.object({\r\n agents: agentsListSchema,\r\n categories: z.array(agentCategorySchema),\r\n defaultHiredIds: z.array(z.string().min(1)),\r\n chatSuggestions: z.array(z.string()),\r\n});\r\n\r\nexport type CatalogResponse = z.infer<typeof catalogResponseSchema>;\r\n","import type { Agent, AgentCategory } from \"./agent.js\";\nimport { catalogResponseSchema, type CatalogResponse } from \"./catalog.js\";\n\nconst CHAT_SUGGESTIONS = [\n \"Summarize last month’s onchain P&L\",\n \"Draft an invoice for Acme Labs\",\n \"What are the best stablecoin yields right now?\",\n \"Estimate my crypto tax exposure for Q3\",\n \"Create an x402 checkout link I can send to a payer\",\n \"Help me buy stablecoins on 0G with a card\",\n \"Start identity verification for my account\",\n \"Create a virtual payment card with my billing address\",\n] as const;\n\n/** Catalog metadata only; the app does not treat these as on-chain hires without a subscription. */\nconst DEFAULT_HIRED_IDS = [\"beam-default\"] as const;\n\nconst ALL_CATEGORIES: readonly AgentCategory[] = [\n \"Payments\",\n \"Taxes\",\n \"Reports\",\n \"DeFi\",\n \"Compliance\",\n \"General\",\n] as const;\n\n/**\n * Offline / API-only catalog: default Beam row (mirrors on-chain token 1 after ignition seed).\n * Full marketplace listings come from the subgraph.\n */\nconst BEAM_DEFAULT_AGENT: Agent = {\n id: \"beam-default\",\n name: \"Beam\",\n handle: \"beam.0g\",\n avatar: \"/images/beam.png\",\n category: \"General\",\n tagline: \"Your default conversational agent\",\n description:\n \"Beam routes your prompts to the best hired agent and handles general financial questions.\",\n skills: [\"Routing\", \"General Q&A\", \"Wallet\"],\n creator: \"Beam\",\n chainAgentId: 1,\n};\n\n/** Public marketplace payload for `GET /agents/catalog` when no subgraph is wired. */\nexport function buildStardormCatalogResponse(): CatalogResponse {\n return catalogResponseSchema.parse({\n agents: [BEAM_DEFAULT_AGENT],\n categories: [...ALL_CATEGORIES],\n defaultHiredIds: [...DEFAULT_HIRED_IDS],\n chatSuggestions: [...CHAT_SUGGESTIONS],\n });\n}\n","/**\n * Ignition seed registration order → on-chain `agentId` (1-based).\n * Keep aligned with `smart-contracts/ignition/data/seedAgentUris.ts` `catalogJson` key order.\n */\nexport const STARDORM_CATALOG_AGENT_KEYS_ORDERED = [\n \"beam-default\",\n \"ledger\",\n \"fiscus\",\n \"scribe\",\n \"yieldr\",\n \"audita\",\n \"settler\",\n \"quanta\",\n \"ramp\",\n \"passport\",\n \"capita\",\n] as const;\n\n/**\n * Resolve catalog / chat `agentKey` values to ERC-8004 registry `agentId`.\n * Supports numeric strings, catalog slugs (`capita`, `ledger`, …), `beam-default`, and `chain-{id}`.\n */\nexport function resolveStardormChainAgentId(agentKey: string): number | null {\n const trimmed = agentKey.trim();\n if (/^\\d+$/.test(trimmed)) {\n const n = Number.parseInt(trimmed, 10);\n return Number.isFinite(n) && n > 0 ? n : null;\n }\n if (/^beam-default$/i.test(trimmed)) return 1;\n const m = /^chain-(\\d+)$/i.exec(trimmed);\n if (m) {\n const n = Number.parseInt(m[1], 10);\n return Number.isFinite(n) && n > 0 ? n : null;\n }\n const slug = trimmed.toLowerCase();\n const idx = (\n STARDORM_CATALOG_AGENT_KEYS_ORDERED as readonly string[]\n ).indexOf(slug);\n if (idx >= 0) return idx + 1;\n return null;\n}\n\n/** Reverse of `resolveStardormChainAgentId`: registry id → catalog slug when known. */\nexport function resolveStardormAgentKey(\n chainAgentId: number | bigint | string,\n): string | null {\n const n =\n typeof chainAgentId === \"string\"\n ? Number.parseInt(chainAgentId, 10)\n : Number(chainAgentId);\n if (!Number.isFinite(n) || n <= 0) return null;\n const idx = n - 1;\n if (\n idx >= 0 &&\n idx < STARDORM_CATALOG_AGENT_KEYS_ORDERED.length &&\n STARDORM_CATALOG_AGENT_KEYS_ORDERED[idx]\n ) {\n return STARDORM_CATALOG_AGENT_KEYS_ORDERED[idx];\n }\n return `chain-${n}`;\n}\n","import { z } from \"zod\";\r\n\r\nexport const authChallengeBodySchema = z.object({\r\n walletAddress: z.string().min(1),\r\n});\r\n\r\nexport const authChallengeResponseSchema = z.object({\r\n message: z.string().min(1),\r\n});\r\n\r\nexport const authVerifyBodySchema = z.object({\r\n walletAddress: z.string().min(1),\r\n message: z.string().min(1),\r\n signature: z.string().min(1),\r\n});\r\n\r\nexport const authVerifyResponseSchema = z.object({\r\n accessToken: z.string().min(1),\r\n});\r\n\r\nexport const authMeResponseSchema = z.object({\r\n walletAddress: z.string().min(1),\r\n});\r\n\r\nexport type AuthChallengeBody = z.infer<typeof authChallengeBodySchema>;\r\nexport type AuthChallengeResponse = z.infer<typeof authChallengeResponseSchema>;\r\nexport type AuthVerifyBody = z.infer<typeof authVerifyBodySchema>;\r\nexport type AuthVerifyResponse = z.infer<typeof authVerifyResponseSchema>;\r\nexport type AuthMeResponse = z.infer<typeof authMeResponseSchema>;\r\n","import { z } from \"zod\";\r\n\r\n/**\r\n * Source of truth for backend handler ids implemented in\r\n * `stardorm/backend/src/handlers/handlers.service.ts`. Keep in sync.\r\n */\r\nexport const HANDLER_ACTION_IDS = [\r\n \"generate_tax_report\",\r\n \"create_x402_payment\",\r\n /** Fiat checkout via Stripe; webhook fulfills ERC-20 transfer from treasury key. */\r\n \"on_ramp_tokens\",\r\n /** Stripe Identity hosted verification for the signed-in wallet user. */\r\n \"complete_stripe_kyc\",\r\n /** Issue a virtual payment card record with billing profile and spend balance. */\r\n \"create_credit_card\",\r\n /** PDF + structured snapshot: payment requests, on-ramps, cards, KYC for this wallet. */\r\n \"generate_payment_invoice\",\r\n /** Summary report across payment requests, on-ramps, virtual cards, and KYC status. */\r\n \"generate_financial_activity_report\",\r\n /** Confirms a native (gas token) transfer draft; user signs in their wallet / Beam Send. */\r\n \"draft_native_transfer\",\r\n /** Confirms an ERC-20 transfer draft; user signs in their wallet / Beam Send. */\r\n \"draft_erc20_transfer\",\r\n /** Confirms an NFT (ERC-721 / ERC-1155) transfer draft; user signs in their wallet / Beam Send. */\r\n \"draft_nft_transfer\",\r\n /** Confirms a Uniswap V3 single-hop swap on 0G mainnet; user signs approve + router in wallet. */\r\n \"draft_token_swap\",\r\n /** Direct the user to hire a marketplace specialist for a task this agent cannot run. */\r\n \"suggest_marketplace_hire\",\r\n] as const;\r\n\r\nexport type HandlerActionId = (typeof HANDLER_ACTION_IDS)[number];\r\n\r\nexport function isHandlerActionId(id: string): id is HandlerActionId {\r\n return (HANDLER_ACTION_IDS as readonly string[]).includes(id);\r\n}\r\n\r\nexport const handlerActionIdSchema = z.enum(HANDLER_ACTION_IDS);\r\n\r\nexport const handlersListResponseSchema = z.object({\r\n handlers: z.array(handlerActionIdSchema),\r\n});\r\n\r\nexport type HandlersListResponse = z.infer<typeof handlersListResponseSchema>;\r\n","import { z } from \"zod\";\r\n\r\nexport const storageUploadBodySchema = z.object({\r\n content: z.string().min(1),\r\n});\r\n\r\nexport const storageUploadResponseSchema = z.object({\r\n rootHash: z.string().min(1),\r\n txHash: z.string().optional(),\r\n});\r\n\r\nexport type StorageUploadBody = z.infer<typeof storageUploadBodySchema>;\r\nexport type StorageUploadResponse = z.infer<typeof storageUploadResponseSchema>;\r\n","import { z } from \"zod\";\r\nimport { handlerActionIdSchema } from \"./handlers.js\";\r\n\r\n/**\r\n * Recursively convert JSON `null` to `undefined` so optional Zod fields accept\r\n * model output and Mongo payloads (`intro: null` otherwise fails chat parse).\r\n */\r\nexport function stripJsonNulls(value: unknown): unknown {\r\n if (value === null) return undefined;\r\n if (Array.isArray(value)) return value.map(stripJsonNulls);\r\n if (typeof value === \"object\") {\r\n const out: Record<string, unknown> = {};\r\n for (const [k, v] of Object.entries(value as Record<string, unknown>)) {\r\n const stripped = stripJsonNulls(v);\r\n if (stripped !== undefined) out[k] = stripped;\r\n }\r\n return out;\r\n }\r\n return value;\r\n}\r\n\r\nexport const stardormChatRichRowSchema = z.object({\r\n label: z.string(),\r\n value: z.string(),\r\n});\r\n\r\n/** One selectable asset row for the x402 checkout form rich block. */\r\nexport const x402SupportedAssetSchema = z.object({\r\n name: z.string().min(1).max(64),\r\n symbol: z.string().min(1).max(32),\r\n icon: z.string().min(1).max(512),\r\n decimals: z.number().int().min(0).max(36),\r\n address: z.string().min(1).max(66),\r\n usdValue: z.number().finite().nonnegative().optional(),\r\n});\r\n\r\nexport type X402SupportedAsset = z.infer<typeof x402SupportedAssetSchema>;\r\n\r\nconst stardormChatRichRows = z.array(stardormChatRichRowSchema).max(32).optional();\r\n\r\nexport const stardormChatRichBlockSchema = z.discriminatedUnion(\"type\", [\r\n z.object({\r\n type: z.literal(\"report\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n z.object({\r\n type: z.literal(\"invoice\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n z.object({\r\n type: z.literal(\"tx\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n z.object({\r\n type: z.literal(\"x402_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n /** Paywalled HTTP resource URL for x402 clients (optional). */\r\n resourceUrl: z.string().url().max(2048).optional(),\r\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\r\n networks: z\r\n .array(\r\n z.object({\r\n id: z.string().min(1).max(64),\r\n label: z.string().min(1).max(120),\r\n }),\r\n )\r\n .max(16)\r\n .optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"on_ramp_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\r\n networks: z\r\n .array(\r\n z.object({\r\n id: z.string().min(1).max(64),\r\n label: z.string().min(1).max(120),\r\n }),\r\n )\r\n .max(16)\r\n .optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"credit_card_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n /** Pre-filled ISO 4217 currency in the form (e.g. USD). */\r\n defaultCurrency: z.string().length(3).optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"credit_card\"),\r\n title: z.string().min(1),\r\n rows: stardormChatRichRows,\r\n }),\r\n z.object({\r\n type: z.literal(\"swap_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\r\n networks: z\r\n .array(\r\n z.object({\r\n id: z.string().min(1).max(64),\r\n label: z.string().min(1).max(120),\r\n }),\r\n )\r\n .max(16)\r\n .optional(),\r\n /** Default V3 fee tier when the form does not override (500, 3000, 10000). */\r\n defaultPoolFee: z.union([z.literal(500), z.literal(3000), z.literal(10000)]).optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"marketplace_hire\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n specialistName: z.string().min(1).max(80),\r\n specialistAgentKey: z.string().min(1).max(64),\r\n category: z\r\n .enum([\"Payments\", \"Taxes\", \"Reports\", \"DeFi\", \"Compliance\", \"General\"])\r\n .optional(),\r\n capability: z.string().min(1).max(400).optional(),\r\n userTask: z.string().max(500).optional(),\r\n /** App path to open the marketplace (default `/marketplace`). */\r\n marketplacePath: z.string().min(1).max(256).default(\"/marketplace\"),\r\n /** App path to the specialist profile when known (e.g. `/agents/chain-2`). */\r\n agentProfilePath: z.string().min(1).max(256).optional(),\r\n requiredHandler: z.string().min(1).max(64).optional(),\r\n }),\r\n z.object({\r\n type: z.literal(\"transfer_checkout_form\"),\r\n title: z.string().min(1).max(200),\r\n intro: z.string().max(2000).optional(),\r\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\r\n networks: z\r\n .array(\r\n z.object({\r\n id: z.string().min(1).max(64),\r\n label: z.string().min(1).max(120),\r\n }),\r\n )\r\n .max(16)\r\n .optional(),\r\n defaultTo: z.string().max(66).optional(),\r\n }),\r\n]);\r\n\r\nexport type StardormChatRichBlock = z.infer<typeof stardormChatRichBlockSchema>;\r\n\r\nexport const stardormChatJsonBodySchema = z.object({\r\n message: z.string().min(1),\r\n});\r\n\r\nexport type StardormChatJsonBody = z.infer<typeof stardormChatJsonBodySchema>;\r\n\r\nexport const stardormChatStructuredSchema = z.object({\r\n text: z.string(),\r\n handler: handlerActionIdSchema.optional(),\r\n params: z.unknown().optional(),\r\n});\r\n\r\nexport const stardormChatComputeSchema = z.object({\r\n model: z.string(),\r\n verified: z.boolean(),\r\n chatId: z.string().optional(),\r\n provider: z.string(),\r\n computeNetwork: z.string(),\r\n});\r\n\r\nexport const stardormChatAttachmentSchema = z.object({\r\n id: z.string().min(1),\r\n name: z.string(),\r\n mimeType: z.string(),\r\n hash: z.string().min(1),\r\n size: z.string().optional(),\r\n});\r\n\r\nexport type StardormChatAttachment = z.infer<typeof stardormChatAttachmentSchema>;\r\n\r\n/** JSON APIs sometimes emit `null` for omitted optional fields. */\r\nfunction nullishOptional<T extends z.ZodTypeAny>(schema: T) {\r\n return z.preprocess((v) => (v === null ? undefined : v), schema);\r\n}\r\n\r\nconst stardormChatSuccessObjectSchema = z.object({\r\n agentKey: z.string().min(1),\r\n reply: z.string(),\r\n structured: nullishOptional(stardormChatStructuredSchema.optional()),\r\n /** Structured card rows for the client (model or server-generated). */\r\n rich: nullishOptional(stardormChatRichBlockSchema.optional()),\r\n /** Files the server uploaded to 0G Storage from the user's chat turn (echoed for immediate render). */\r\n attachments: nullishOptional(\r\n z.array(stardormChatAttachmentSchema).optional(),\r\n ),\r\n compute: stardormChatComputeSchema,\r\n});\r\n\r\nexport const stardormChatSuccessSchema = z.preprocess(\r\n (v) => (v != null && typeof v === \"object\" ? stripJsonNulls(v) : v),\r\n stardormChatSuccessObjectSchema,\r\n);\r\n\r\nexport type StardormChatSuccess = z.infer<typeof stardormChatSuccessObjectSchema>;\r\n\r\nexport const stardormChatClientErrorSchema = z.object({\r\n error: z.string().min(1),\r\n});\r\n\r\nexport const stardormChatClientResultSchema = z.union([\r\n stardormChatSuccessSchema,\r\n stardormChatClientErrorSchema,\r\n]);\r\n\r\nexport type StardormChatClientResult = z.infer<typeof stardormChatClientResultSchema>;\r\n","import { z } from \"zod\";\r\nimport { handlerActionIdSchema } from \"./handlers.js\";\r\nimport { stardormChatRichBlockSchema } from \"./chat-api.js\";\r\n\r\nexport const userAvatarPresetSchema = z.enum([\"male\", \"female\"]);\r\n\r\nexport const userPreferencesSchema = z.object({\r\n autoRoutePrompts: z.boolean(),\r\n onchainReceipts: z.boolean(),\r\n emailNotifications: z.boolean(),\r\n avatarPreset: userAvatarPresetSchema.default(\"male\"),\r\n});\r\n\r\nexport const publicUserSchema = z.object({\r\n id: z.string().min(1),\r\n walletAddress: z.string().min(1),\r\n displayName: z.string().optional(),\r\n email: z.string().optional(),\r\n activeAgentId: z.string().min(1),\r\n /** Selected chat thread id when multi-conversation is enabled. */\r\n activeConversationId: z.string().min(1).optional(),\r\n preferences: userPreferencesSchema,\r\n lastLoginAt: z.coerce.date().optional(),\r\n createdAt: z.coerce.date().optional(),\r\n updatedAt: z.coerce.date().optional(),\r\n});\r\n\r\nexport const updateUserBodySchema = z.object({\r\n displayName: z.string().optional(),\r\n email: z.string().nullable().optional(),\r\n activeAgentId: z.string().optional(),\r\n activeConversationId: z.string().nullable().optional(),\r\n preferences: userPreferencesSchema.partial().optional(),\r\n});\r\n\r\nexport const userUploadResultSchema = z.object({\r\n rootHash: z.string().min(1),\r\n txHash: z.string().optional(),\r\n originalName: z.string(),\r\n mimeType: z.string(),\r\n size: z.number().int().nonnegative(),\r\n});\r\n\r\nexport const executeHandlerBodySchema = z.object({\r\n handler: handlerActionIdSchema,\r\n params: z.unknown().optional(),\r\n /** Mongo id of the chat message that displayed the handler CTA (required). */\r\n ctaMessageId: z.string().min(1),\r\n});\r\n\r\nconst handlerAttachmentSchema = z.object({\r\n rootHash: z.string(),\r\n mimeType: z.string(),\r\n name: z.string(),\r\n});\r\n\r\nexport const executeHandlerResponseSchema = z.object({\r\n message: z.string(),\r\n attachments: z.array(handlerAttachmentSchema).optional(),\r\n data: z.record(z.string(), z.unknown()).optional(),\r\n rich: stardormChatRichBlockSchema.optional(),\r\n});\r\n\r\nexport type UserAvatarPreset = z.infer<typeof userAvatarPresetSchema>;\r\n\r\nexport type PublicUser = z.infer<typeof publicUserSchema>;\r\nexport type UpdateUserBody = z.infer<typeof updateUserBodySchema>;\r\nexport type UserUploadResult = z.infer<typeof userUploadResultSchema>;\r\nexport type ExecuteHandlerBody = z.infer<typeof executeHandlerBodySchema>;\r\nexport type ExecuteHandlerResponse = z.infer<typeof executeHandlerResponseSchema>;\r\n","import { z } from \"zod\";\n\n/** Outcome after a wallet-signed handler CTA (transfer, swap, …). */\nexport const chatHandlerWalletTxResultSchema = z.object({\n kind: z.literal(\"wallet_tx\"),\n status: z.enum([\"submitted\", \"confirmed\", \"failed\"]),\n txHash: z\n .string()\n .regex(/^0x[a-fA-F0-9]{64}$/)\n .optional(),\n error: z.string().max(2000).optional(),\n network: z.string().min(1).max(64).optional(),\n chainId: z.number().int().positive().optional(),\n handler: z.string().min(1).max(64).optional(),\n updatedAt: z.number().int().positive(),\n});\n\nexport type ChatHandlerWalletTxResult = z.infer<typeof chatHandlerWalletTxResultSchema>;\n\n/** Outcome after `execute-handler` (server job, checkout created, draft recorded, …). */\nexport const chatHandlerServerResultSchema = z.object({\n kind: z.literal(\"server\"),\n status: z.enum([\"completed\", \"failed\"]).default(\"completed\"),\n data: z.record(z.string(), z.unknown()).optional(),\n updatedAt: z.number().int().positive(),\n});\n\nexport type ChatHandlerServerResult = z.infer<typeof chatHandlerServerResultSchema>;\n\nexport const chatHandlerResultSchema = z.discriminatedUnion(\"kind\", [\n chatHandlerWalletTxResultSchema,\n chatHandlerServerResultSchema,\n]);\n\nexport type ChatHandlerResult = z.infer<typeof chatHandlerResultSchema>;\n\nexport const patchChatMessageResultBodySchema = z.object({\n result: chatHandlerResultSchema,\n});\n\nexport type PatchChatMessageResultBody = z.infer<typeof patchChatMessageResultBodySchema>;\n\nexport const patchChatMessageResultResponseSchema = z.object({\n ok: z.literal(true),\n messageId: z.string().min(1),\n result: chatHandlerResultSchema,\n rich: z\n .object({\n type: z.literal(\"tx\"),\n title: z.string(),\n rows: z\n .array(\n z.object({\n label: z.string(),\n value: z.string(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nexport type PatchChatMessageResultResponse = z.infer<\n typeof patchChatMessageResultResponseSchema\n>;\n","import { z } from \"zod\";\r\nimport { handlerActionIdSchema } from \"./handlers.js\";\r\nimport { stripJsonNulls, stardormChatRichBlockSchema } from \"./chat-api.js\";\r\nimport { chatHandlerResultSchema } from \"./handler-result.js\";\r\n\r\nexport const chatHistoryQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(40),\r\n /** When omitted, the server uses the user’s active conversation. */\r\n conversationId: z.string().min(1).optional(),\r\n /**\r\n * Opaque cursor from the previous response’s `nextCursorOlder` — loads older messages\r\n * than the oldest message in the last batch (prepends chronologically in the client).\r\n */\r\n cursor: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ChatHistoryQuery = z.infer<typeof chatHistoryQuerySchema>;\r\n\r\nexport const chatHistoryAttachmentSchema = z.object({\r\n id: z.string(),\r\n mimeType: z.string(),\r\n name: z.string(),\r\n hash: z.string(),\r\n size: z.string().optional(),\r\n});\r\n\r\nexport const chatHistoryHandlerCtaSchema = z.object({\r\n handler: handlerActionIdSchema,\r\n params: z.record(z.unknown()),\r\n});\r\n\r\n/** Post-execute affordances derived from handler result (x402 checkout, tax PDF, …). */\r\nexport const chatFollowUpSchema = z.discriminatedUnion(\"kind\", [\r\n z.object({\r\n kind: z.literal(\"x402_checkout\"),\r\n /** App-relative path, e.g. `/pay/<mongoId>`. */\r\n payPath: z.string().min(1),\r\n paymentRequestId: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"tax_report_pdf\"),\r\n attachmentId: z.string().min(1),\r\n name: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"stripe_on_ramp\"),\r\n checkoutUrl: z.string().url(),\r\n onRampId: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"stripe_identity\"),\r\n verificationUrl: z.string().url(),\r\n verificationSessionId: z.string().min(1),\r\n }),\r\n z.object({\r\n kind: z.literal(\"credit_card_ready\"),\r\n creditCardId: z.string().min(1),\r\n /** App path for managing the card balance (e.g. /dashboard). */\r\n dashboardPath: z.string().min(1),\r\n }),\r\n]);\r\n\r\nexport const chatHistoryMessageSchema = z.object({\r\n id: z.string(),\r\n role: z.enum([\"user\", \"agent\"]),\r\n agentKey: z.string().optional(),\r\n content: z.string(),\r\n createdAt: z.number(),\r\n attachments: z.array(chatHistoryAttachmentSchema).optional(),\r\n rich: z\r\n .preprocess(\r\n (v) => (v != null && typeof v === \"object\" ? stripJsonNulls(v) : v),\r\n stardormChatRichBlockSchema.optional(),\r\n )\r\n .optional(),\r\n handlerCta: chatHistoryHandlerCtaSchema.optional(),\r\n /** Wallet or server outcome for this bubble (tx hash, checkout ids, …). */\r\n result: chatHandlerResultSchema.optional(),\r\n followUp: chatFollowUpSchema.optional(),\r\n model: z.string().optional(),\r\n verified: z.boolean().optional(),\r\n chatId: z.string().optional(),\r\n provider: z.string().optional(),\r\n});\r\n\r\nexport const chatHistoryResponseSchema = z.object({\r\n conversationId: z.string(),\r\n agentKey: z.string(),\r\n messages: z.array(chatHistoryMessageSchema),\r\n /** True when more older messages exist before this batch. */\r\n hasMoreOlder: z.boolean(),\r\n /** Pass as `cursor` on the next request to load older messages. */\r\n nextCursorOlder: z.string().optional(),\r\n});\r\n\r\nexport type ChatHistoryAttachment = z.infer<typeof chatHistoryAttachmentSchema>;\r\nexport type ChatFollowUp = z.infer<typeof chatFollowUpSchema>;\r\nexport type ChatHistoryMessage = z.infer<typeof chatHistoryMessageSchema>;\r\nexport type ChatHistoryResponse = z.infer<typeof chatHistoryResponseSchema>;\r\n\r\nexport const conversationSummarySchema = z.object({\r\n id: z.string().min(1),\r\n agentKey: z.string().min(1),\r\n title: z.string().optional(),\r\n lastMessageAt: z.coerce.date(),\r\n createdAt: z.coerce.date().optional(),\r\n});\r\n\r\nexport const conversationsQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(50).default(25),\r\n /** Opaque cursor from the previous response’s `nextCursor`. */\r\n cursor: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ConversationsQuery = z.infer<typeof conversationsQuerySchema>;\r\n\r\nexport const conversationsPageResponseSchema = z.object({\r\n conversations: z.array(conversationSummarySchema),\r\n hasMore: z.boolean(),\r\n nextCursor: z.string().optional(),\r\n});\r\n\r\n/** @deprecated Use `conversationsPageResponseSchema` — same shape. */\r\nexport const conversationsListResponseSchema = conversationsPageResponseSchema;\r\n\r\nexport const createConversationBodySchema = z.object({\r\n title: z.string().max(120).optional(),\r\n agentKey: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ConversationSummary = z.infer<typeof conversationSummarySchema>;\r\nexport type ConversationsPageResponse = z.infer<typeof conversationsPageResponseSchema>;\r\nexport type ConversationsListResponse = ConversationsPageResponse;\r\nexport type CreateConversationBody = z.infer<typeof createConversationBodySchema>;\r\n\r\nexport const deleteConversationResponseSchema = z.object({\r\n deleted: z.literal(true),\r\n});\r\n\r\nexport type DeleteConversationResponse = z.infer<typeof deleteConversationResponseSchema>;\r\n","import { z } from \"zod\";\nimport { chatHistoryMessageSchema } from \"./conversation.js\";\n\n/** Lightweight invalidation hint (legacy clients refetch the thread). */\nexport const conversationSyncThreadSchema = z.object({\n v: z.literal(1),\n op: z.literal(\"thread\"),\n conversationId: z.string().min(1),\n});\n\n/** Full message rows for in-place TanStack cache updates (no refetch). */\nexport const conversationSyncThreadMessagesSchema = z.object({\n v: z.literal(1),\n op: z.literal(\"thread_messages\"),\n conversationId: z.string().min(1),\n messages: z.array(chatHistoryMessageSchema).min(1),\n});\n\nexport const conversationSyncConversationsSchema = z.object({\n v: z.literal(1),\n op: z.literal(\"conversations\"),\n});\n\nexport const conversationSyncConversationDeletedSchema = z.object({\n v: z.literal(1),\n op: z.literal(\"conversation_deleted\"),\n conversationId: z.string().min(1),\n});\n\nexport const conversationSyncPayloadSchema = z.discriminatedUnion(\"op\", [\n conversationSyncThreadSchema,\n conversationSyncThreadMessagesSchema,\n conversationSyncConversationsSchema,\n conversationSyncConversationDeletedSchema,\n]);\n\nexport type ConversationSyncThreadPayload = z.infer<typeof conversationSyncThreadSchema>;\nexport type ConversationSyncThreadMessagesPayload = z.infer<\n typeof conversationSyncThreadMessagesSchema\n>;\nexport type ConversationSyncPayload = z.infer<typeof conversationSyncPayloadSchema>;\n","import { z } from \"zod\";\r\n\r\n/** One feedback row from the Stardorm subgraph (ReputationRegistry `NewFeedback`). */\r\nexport const agentOnchainFeedbackItemSchema = z.object({\r\n id: z.string(),\r\n agentId: z.number(),\r\n clientAddress: z.string(),\r\n feedbackIndex: z.string(),\r\n value: z.string(),\r\n valueDecimals: z.number().int().min(0).max(18),\r\n tag1: z.string(),\r\n tag2: z.string(),\r\n endpoint: z.string(),\r\n feedbackURI: z.string(),\r\n feedbackHash: z.string(),\r\n revoked: z.boolean(),\r\n blockNumber: z.number(),\r\n blockTimestamp: z.number(),\r\n transactionHash: z.string(),\r\n});\r\n\r\nexport type AgentOnchainFeedbackItem = z.infer<typeof agentOnchainFeedbackItemSchema>;\r\n\r\n/** Query string for `GET /agents/:agentKey/feedbacks` (subgraph `first` / `skip`). */\r\nexport const agentFeedbacksQuerySchema = z.object({\r\n limit: z\r\n .union([z.string(), z.number()])\r\n .optional()\r\n .transform((v) => {\r\n if (v === undefined) return 20;\r\n const n = typeof v === \"string\" ? Number.parseInt(v, 10) : v;\r\n if (!Number.isFinite(n)) return 20;\r\n return Math.min(50, Math.max(1, Math.trunc(n)));\r\n }),\r\n skip: z\r\n .union([z.string(), z.number()])\r\n .optional()\r\n .transform((v) => {\r\n if (v === undefined) return 0;\r\n const n = typeof v === \"string\" ? Number.parseInt(v, 10) : v;\r\n if (!Number.isFinite(n)) return 0;\r\n return Math.max(0, Math.trunc(n));\r\n }),\r\n});\r\n\r\nexport type AgentFeedbacksQuery = z.infer<typeof agentFeedbacksQuerySchema>;\r\n\r\n/** Paginated page (infinite scroll / cursor-style skip). */\r\nexport const agentFeedbacksPageResponseSchema = z.object({\r\n feedbacks: z.array(agentOnchainFeedbackItemSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(50),\r\n skip: z.number().int().min(0),\r\n hasMore: z.boolean(),\r\n }),\r\n});\r\n\r\nexport type AgentFeedbacksPageResponse = z.infer<typeof agentFeedbacksPageResponseSchema>;\r\n","import { z } from \"zod\";\nimport { stardormChatAttachmentSchema } from \"./chat-api.js\";\n\nconst evmTxHashSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{64}$/i, \"Invalid transaction hash\");\n\nconst evmAddressSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{40}$/i, \"Invalid address\");\n\n/**\n * Body for POST `/payments/:id/pay`.\n * Either record a broadcast EVM tx (`txHash`), or submit a full x402 `PaymentPayload` for facilitator verify+settle when `X402_FACILITATOR_URL` is configured.\n */\nexport const paymentSettlementBodySchema = z\n .object({\n txHash: evmTxHashSchema.optional(),\n payerAddress: evmAddressSchema.optional(),\n /** Matches @x402/core `PaymentPayload` (x402Version, accepted, payload, …). */\n x402PaymentPayload: z.record(z.string(), z.unknown()).optional(),\n })\n .superRefine((val, ctx) => {\n if (!val.txHash && !val.x402PaymentPayload) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Provide txHash (direct settlement) or x402PaymentPayload (facilitator).\",\n path: [\"txHash\"],\n });\n }\n if (val.txHash && val.x402PaymentPayload) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Provide only one of txHash or x402PaymentPayload.\",\n path: [\"txHash\"],\n });\n }\n });\n\nexport type PaymentSettlementBody = z.infer<typeof paymentSettlementBodySchema>;\n\nexport const paymentRequestTypeSchema = z.enum([\"on-chain\", \"x402\"]);\n\nexport const paymentRequestStatusSchema = z.enum([\n \"pending\",\n \"paid\",\n \"expired\",\n \"cancelled\",\n]);\n\nexport const publicPaymentRequestSchema = z.object({\n id: z.string(),\n type: paymentRequestTypeSchema,\n status: paymentRequestStatusSchema,\n title: z.string(),\n description: z.string().optional(),\n asset: z.string(),\n amount: z.string(),\n payTo: z.string(),\n network: z.string(),\n expiresAt: z.string().optional(),\n resourceId: z.string().optional(),\n resourceUrl: z.string().max(2048).optional(),\n decimals: z.number().int().min(0).max(36).optional(),\n x402Payload: z.record(z.string(), z.unknown()).optional(),\n attachment: stardormChatAttachmentSchema.optional(),\n /** Set when status is `paid` (on-chain settlement recorded). */\n txHash: z.string().optional(),\n paidByWallet: z.string().optional(),\n /** When true, checkout can settle via x402 facilitator + wallet-signed payload. */\n facilitatorSettlement: z.boolean().optional(),\n});\n\nexport type PublicPaymentRequest = z.infer<typeof publicPaymentRequestSchema>;\n\n/** Query for GET `/users/me/payment-requests`. */\nexport const mePaymentRequestsQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(50).default(20),\n /** 1-based page index (sorted by `updatedAt` descending). */\n page: z.coerce.number().int().min(1).default(1),\n});\n\nexport type MePaymentRequestsQuery = z.infer<typeof mePaymentRequestsQuerySchema>;\n\nexport const paymentRequestsListResponseSchema = z.object({\n items: z.array(publicPaymentRequestSchema),\n /** Total rows matching the wallet filter (ignores pagination). */\n total: z.number().int().min(0),\n});\n\nexport type PaymentRequestsListResponse = z.infer<\n typeof paymentRequestsListResponseSchema\n>;\n","import { z } from \"zod\";\n\n/** One UTC daily rollup row (Mongo `FinancialSnapshot` → chat / dashboard). */\nexport const financialSnapshotDailyRowSchema = z.object({\n bucketStart: z.string(),\n bucket: z.string(),\n revenueUsd: z.number().optional(),\n walletBalance0g: z.number().optional(),\n monthlySpend0g: z.number().optional(),\n spendByCategory: z.record(z.number()).default({}),\n});\n\nexport type FinancialSnapshotDailyRow = z.infer<typeof financialSnapshotDailyRowSchema>;\n\n/** Query for GET `/users/me/financial-snapshots`. */\nexport const meFinancialSnapshotsQuerySchema = z.object({\n days: z.coerce.number().int().min(7).max(90).default(30),\n});\n\nexport type MeFinancialSnapshotsQuery = z.infer<typeof meFinancialSnapshotsQuerySchema>;\n\nexport const financialSnapshotsListResponseSchema = z.object({\n items: z.array(financialSnapshotDailyRowSchema),\n});\n\nexport type FinancialSnapshotsListResponse = z.infer<\n typeof financialSnapshotsListResponseSchema\n>;\n","import { z } from \"zod\";\nimport { x402SupportedAssetSchema } from \"./chat-api.js\";\n\nexport const onRampFormNetworkOptionSchema = z.object({\n id: z.string().min(1).max(64),\n label: z.string().min(1).max(120),\n});\n\n/** Persisted on the chat CTA row until the user submits the on-ramp form. */\nexport const onRampFormCtaParamsSchema = z.object({\n _onRampForm: z.literal(true),\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\n networks: z.array(onRampFormNetworkOptionSchema).max(16).optional(),\n intro: z.string().max(2000).optional(),\n});\n\nexport type OnRampFormCtaParams = z.infer<typeof onRampFormCtaParamsSchema>;\n\nexport function isOnRampFormCtaParams(v: unknown): v is OnRampFormCtaParams {\n return onRampFormCtaParamsSchema.safeParse(v).success;\n}\n\nconst weiString = z.union([\n z\n .string()\n .trim()\n .regex(\n /^[1-9]\\d*$/,\n \"tokenAmountWei must be base units (positive integer string, no decimals)\",\n ),\n z.number().int().positive().transform((n) => String(n)),\n]);\n\nconst evmAddr = z\n .string()\n .min(1)\n .refine(\n (s) => /^0x[a-fA-F0-9]{40}$/.test(s.trim()),\n \"must be a 0x-prefixed 20-byte address\",\n )\n .transform((s) => s.trim().toLowerCase());\n\n/** Execution payload for `on_ramp_tokens` (Stripe Checkout + treasury ERC-20 send). */\nexport const onRampTokensInputSchema = z.object({\n recipientWallet: evmAddr,\n network: z.string().min(1).max(64),\n tokenAddress: evmAddr,\n tokenDecimals: z.number().int().min(0).max(36),\n tokenSymbol: z.string().min(1).max(32),\n tokenAmountWei: weiString,\n /** Optional spot reference for analytics / UI (per supported token). */\n usdValue: z.number().finite().nonnegative().optional(),\n /** Total USD charged via Stripe (cents). Minimum $1.00. */\n usdAmountCents: z.number().int().min(100).max(10_000_000),\n});\n\nexport type OnRampTokensInput = z.infer<typeof onRampTokensInputSchema>;\n\nexport const onRampRecordStatusSchema = z.enum([\n \"pending_checkout\",\n \"pending_payment\",\n \"paid_pending_transfer\",\n \"fulfilled\",\n \"failed\",\n \"canceled\",\n]);\n\nexport type OnRampRecordStatus = z.infer<typeof onRampRecordStatusSchema>;\n\nexport const onRampRecordSchema = z.object({\n id: z.string().min(1),\n status: onRampRecordStatusSchema,\n walletAddress: z.string().min(1),\n recipientWallet: z.string().min(1),\n network: z.string().min(1),\n tokenAddress: z.string().min(1),\n tokenDecimals: z.number().int().min(0).max(36),\n tokenSymbol: z.string().min(1),\n tokenAmountWei: z.string().min(1),\n usdAmountCents: z.number().int().nonnegative(),\n usdValue: z.number().finite().nonnegative().optional(),\n stripeCheckoutSessionId: z.string().optional(),\n stripePaymentIntentId: z.string().optional(),\n fulfillmentTxHash: z.string().optional(),\n errorMessage: z.string().optional(),\n createdAt: z.coerce.date().optional(),\n updatedAt: z.coerce.date().optional(),\n});\n\nexport type OnRampRecord = z.infer<typeof onRampRecordSchema>;\n\n/** Query for GET `/users/me/on-ramps`. */\nexport const meOnRampsQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(50).default(20),\n});\n\nexport type MeOnRampsQuery = z.infer<typeof meOnRampsQuerySchema>;\n\nexport const onRampsListResponseSchema = z.object({\n items: z.array(onRampRecordSchema),\n});\n\nexport type OnRampsListResponse = z.infer<typeof onRampsListResponseSchema>;\n","import { z } from \"zod\";\n\n/** Stripe Identity–backed lifecycle for a wallet user. */\nexport const userKycStatusSchema = z.enum([\n \"not_started\",\n \"pending\",\n \"processing\",\n \"verified\",\n \"requires_input\",\n \"canceled\",\n]);\n\nexport type UserKycStatus = z.infer<typeof userKycStatusSchema>;\n\nexport const stripeKycInputSchema = z\n .object({\n /** App path + query (e.g. `/` or `/?conversation=<id>`); joined with `APP_PUBLIC_URL` for Stripe `return_url`. */\n returnPath: z.string().min(1).max(512).optional(),\n })\n .strict();\n\nexport type StripeKycInput = z.infer<typeof stripeKycInputSchema>;\n\nexport const userKycStatusDocumentSchema = z.object({\n walletAddress: z.string().min(1),\n status: userKycStatusSchema,\n stripeVerificationSessionId: z.string().optional(),\n lastStripeEventType: z.string().optional(),\n lastError: z.string().optional(),\n createdAt: z.coerce.date().optional(),\n updatedAt: z.coerce.date().optional(),\n});\n\nexport type UserKycStatusDocument = z.infer<typeof userKycStatusDocumentSchema>;\n","import { z } from \"zod\";\r\n\r\nexport const createCreditCardInputSchema = z.object({\r\n firstName: z.string().trim().min(1).max(80),\r\n lastName: z.string().trim().min(1).max(80),\r\n line1: z.string().trim().min(1).max(120),\r\n line2: z.string().trim().max(120).optional(),\r\n city: z.string().trim().min(1).max(80),\r\n region: z.string().trim().min(1).max(80),\r\n postalCode: z.string().trim().min(1).max(20),\r\n countryCode: z\r\n .string()\r\n .trim()\r\n .length(2)\r\n .transform((c) => c.toUpperCase()),\r\n cardLabel: z.string().trim().min(1).max(80).optional(),\r\n currency: z\r\n .string()\r\n .trim()\r\n .length(3)\r\n .transform((c) => c.toUpperCase())\r\n .optional(),\r\n /** Opening balance in minor units (e.g. USD cents). */\r\n initialBalanceCents: z.coerce.number().int().min(0).max(100_000_000).optional(),\r\n});\r\n\r\nexport type CreateCreditCardInput = z.infer<typeof createCreditCardInputSchema>;\r\n\r\n/** Persisted on the chat CTA row until the user submits the virtual-card billing form. */\r\nexport const creditCardFormCtaParamsSchema = z.object({\r\n _creditCardForm: z.literal(true),\r\n intro: z.string().max(2000).optional(),\r\n defaultCurrency: z\r\n .string()\r\n .trim()\r\n .length(3)\r\n .transform((c) => c.toUpperCase())\r\n .optional(),\r\n});\r\n\r\nexport type CreditCardFormCtaParams = z.infer<typeof creditCardFormCtaParamsSchema>;\r\n\r\nexport function isCreditCardFormCtaParams(v: unknown): v is CreditCardFormCtaParams {\r\n return creditCardFormCtaParamsSchema.safeParse(v).success;\r\n}\r\n\r\nexport const creditCardPublicSchema = z.object({\r\n id: z.string().min(1),\r\n firstName: z.string(),\r\n lastName: z.string(),\r\n cardLabel: z.string().optional(),\r\n line1: z.string(),\r\n line2: z.string().optional(),\r\n city: z.string(),\r\n region: z.string(),\r\n postalCode: z.string(),\r\n countryCode: z.string(),\r\n currency: z.string(),\r\n balanceCents: z.number().int().nonnegative(),\r\n last4: z.string(),\r\n networkBrand: z.string(),\r\n status: z.enum([\"active\", \"frozen\"]),\r\n createdAt: z.coerce.date().optional(),\r\n updatedAt: z.coerce.date().optional(),\r\n /** Present on some `POST …/withdraw` responses when native 0G was sent from the treasury. */\r\n lastWithdrawTxHash: z\r\n .string()\r\n .regex(/^0x[a-fA-F0-9]{64}$/)\r\n .optional(),\r\n});\r\n\r\nexport type CreditCardPublic = z.infer<typeof creditCardPublicSchema>;\r\n\r\n/** Wallet-authenticated only; never included in list cards responses. */\r\nexport const creditCardSensitiveDetailsSchema = z.object({\r\n cardId: z.string().min(1),\r\n pan: z.string().regex(/^\\d{16}$/),\r\n expiryMonth: z.coerce.number().int().min(1).max(12),\r\n expiryYear: z.coerce.number().int().min(2000).max(2100),\r\n cvv: z.string().regex(/^\\d{3,4}$/),\r\n});\r\n\r\nexport type CreditCardSensitiveDetails = z.infer<\r\n typeof creditCardSensitiveDetailsSchema\r\n>;\r\n\r\nexport const creditCardsListResponseSchema = z.object({\r\n cards: z.array(creditCardPublicSchema),\r\n});\r\n\r\nexport type CreditCardsListResponse = z.infer<typeof creditCardsListResponseSchema>;\r\n\r\nexport const creditCardFundQuoteQuerySchema = z.object({\r\n amountCents: z.coerce.number().int().min(1).max(100_000_000),\r\n});\r\n\r\nexport type CreditCardFundQuoteQuery = z.infer<\r\n typeof creditCardFundQuoteQuerySchema\r\n>;\r\n\r\n/** USDC.e x402 fund on 0G mainnet (1 USD cent = 10_000 base units). */\r\nexport const creditCardFundQuoteX402Schema = z.object({\r\n onchainFundingRequired: z.literal(false),\r\n chainId: z.number().int(),\r\n recipient: z.string().min(1),\r\n usdcAsset: z.string().min(1),\r\n usdcAmountBaseUnits: z.string().regex(/^\\d+$/),\r\n usdcDecimals: z.number().int().min(0).max(18),\r\n});\r\n\r\n/** Native 0G transfer to treasury (used when x402 is not configured). */\r\nexport const creditCardFundQuoteNativeSchema = z.object({\r\n onchainFundingRequired: z.literal(true),\r\n chainId: z.number().int(),\r\n recipient: z.string().min(1),\r\n minNativeWei: z.string().regex(/^\\d+$/),\r\n usdValue: z.number().finite().positive(),\r\n nativeSymbol: z.string().min(1),\r\n nativeDecimals: z.number().int().min(0).max(18),\r\n});\r\n\r\nexport const creditCardFundQuoteSchema = z.discriminatedUnion(\r\n \"onchainFundingRequired\",\r\n [creditCardFundQuoteX402Schema, creditCardFundQuoteNativeSchema],\r\n);\r\n\r\nexport type CreditCardFundQuote = z.infer<typeof creditCardFundQuoteSchema>;\r\nexport type CreditCardFundQuoteX402 = z.infer<typeof creditCardFundQuoteX402Schema>;\r\nexport type CreditCardFundQuoteNative = z.infer<typeof creditCardFundQuoteNativeSchema>;\r\n\r\n/** @deprecated Use {@link CreditCardFundQuote} */\r\nexport type CreditCardFundQuoteResponse = CreditCardFundQuote;\r\n\r\n/** @deprecated Use {@link creditCardFundQuoteSchema} */\r\nexport const creditCardFundQuoteResponseSchema = creditCardFundQuoteSchema;\r\n\r\nexport const creditCardWithdrawBodySchema = z.object({\r\n amountCents: z.coerce.number().int().min(1).max(100_000_000),\r\n});\r\n\r\nexport type CreditCardWithdrawBody = z.infer<typeof creditCardWithdrawBodySchema>;\r\n","import { z } from \"zod\";\n\n/** UTC calendar day (same shape as tax report date parts). */\nexport const billingDatePartSchema = z.object({\n year: z.number().int().min(2020).max(2036),\n month: z.number().int().min(1).max(12),\n day: z.number().int().min(1).max(31),\n});\n\nexport type BillingDatePart = z.infer<typeof billingDatePartSchema>;\n\nexport function billingDatePartToUtc(p: BillingDatePart): Date {\n return new Date(Date.UTC(p.year, p.month - 1, p.day));\n}\n\n/** Inclusive end of the UTC calendar day for `to` filters. */\nexport function billingRangeEndOfDay(p: BillingDatePart): Date {\n const d = billingDatePartToUtc(p);\n d.setUTCHours(23, 59, 59, 999);\n return d;\n}\n\n/** Mongo / service date bounds from optional handler `from` / `to` parts. */\nexport function billingPeriodBounds(input: {\n from?: BillingDatePart;\n to?: BillingDatePart;\n}): { from?: Date; to?: Date } {\n return {\n from: input.from ? billingDatePartToUtc(input.from) : undefined,\n to: input.to ? billingRangeEndOfDay(input.to) : undefined,\n };\n}\n\nexport const generatePaymentInvoiceInputSchema = z\n .object({\n from: billingDatePartSchema.optional(),\n to: billingDatePartSchema.optional(),\n invoiceTitle: z.string().trim().min(1).max(120).optional(),\n })\n .superRefine((val, ctx) => {\n if (!val.from || !val.to) return;\n const a = billingDatePartToUtc(val.from);\n const b = billingDatePartToUtc(val.to);\n if (Number.isNaN(a.getTime()) || Number.isNaN(b.getTime())) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Invalid calendar date\",\n });\n return;\n }\n if (a > b) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`from` must be on or before `to`\",\n path: [\"from\"],\n });\n }\n });\n\nexport type GeneratePaymentInvoiceInput = z.infer<\n typeof generatePaymentInvoiceInputSchema\n>;\n\nexport const generateFinancialActivityReportInputSchema = z\n .object({\n from: billingDatePartSchema.optional(),\n to: billingDatePartSchema.optional(),\n reportTitle: z.string().trim().min(1).max(120).optional(),\n })\n .superRefine((val, ctx) => {\n if (!val.from || !val.to) return;\n const a = billingDatePartToUtc(val.from);\n const b = billingDatePartToUtc(val.to);\n if (Number.isNaN(a.getTime()) || Number.isNaN(b.getTime())) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Invalid calendar date\",\n });\n return;\n }\n if (a > b) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`from` must be on or before `to`\",\n path: [\"from\"],\n });\n }\n });\n\nexport type GenerateFinancialActivityReportInput = z.infer<\n typeof generateFinancialActivityReportInputSchema\n>;\n","/**\n * ISO 3166-1 alpha-2 codes (officially assigned), sourced from the slim-2 dataset\n * (lukes/ISO-3166-Countries-with-Regional-Codes). UK is accepted as an alias for GB at validation boundaries.\n */\nconst ISO_3166_1_ALPHA2_CODES_RAW =\n \"AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS YE YT ZA ZM ZW\";\n\nexport const ISO_3166_1_ALPHA2_CODES: readonly string[] = Object.freeze(\n ISO_3166_1_ALPHA2_CODES_RAW.split(/\\s+/),\n);\n\nconst ISO_3166_1_ALPHA2_SET = new Set(ISO_3166_1_ALPHA2_CODES);\n\nexport function isIso3166Alpha2(code: string): boolean {\n const c = code.length === 2 ? code.toUpperCase() : \"\";\n return ISO_3166_1_ALPHA2_SET.has(c);\n}\n\nexport function isoCountryDisplayName(\n code: string,\n locale: string | string[] = \"en\",\n): string {\n const c = code.length === 2 ? code.toUpperCase() : code;\n try {\n const dn = new Intl.DisplayNames(locale, { type: \"region\" });\n return dn.of(c) ?? c;\n } catch {\n return c;\n }\n}\n","/** EU-27 member states (post-Brexit, excluding GB). */\nconst EU27 = new Set([\n \"AT\",\n \"BE\",\n \"BG\",\n \"HR\",\n \"CY\",\n \"CZ\",\n \"DK\",\n \"EE\",\n \"FI\",\n \"FR\",\n \"DE\",\n \"GR\",\n \"HU\",\n \"IE\",\n \"IT\",\n \"LV\",\n \"LT\",\n \"LU\",\n \"MT\",\n \"NL\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"SK\",\n \"SI\",\n \"ES\",\n \"SE\",\n]);\n\nconst EEA_NON_EU = new Set([\"IS\", \"LI\", \"NO\"]);\n\nconst HIGH_TIER_OECD = new Set([\"AU\", \"CA\", \"JP\", \"KR\", \"NZ\"]);\n\n/**\n * Approximate headline rate for PDF math when native activity is priced in USD.\n * Not tax advice; every jurisdiction has nuance. Unknown ISO codes use the same default as the historical stub (0.2).\n */\nexport function taxRateForCountry(country: string): number {\n const c = country.toUpperCase();\n if (c === \"US\") return 0.22;\n if (c === \"GB\" || c === \"UK\") return 0.2;\n if (c === \"DE\" || c === \"FR\") return 0.25;\n if (c === \"SG\") return 0.17;\n if (EU27.has(c)) return 0.24;\n if (EEA_NON_EU.has(c)) return 0.24;\n if (HIGH_TIER_OECD.has(c)) return 0.25;\n return 0.2;\n}\n","import { z } from \"zod\";\r\n\r\nconst caip2Eip155 = z\r\n .string()\r\n .min(8)\r\n .max(64)\r\n .regex(\r\n /^eip155:\\d+$/,\r\n \"network must be CAIP-2 form eip155:<chainId> (e.g. eip155:16602)\",\r\n );\r\n\r\nconst evmAddress20 = z\r\n .string()\r\n .trim()\r\n .refine(\r\n (s) => /^0x[a-fA-F0-9]{40}$/.test(s),\r\n \"must be a 0x-prefixed 20-byte EVM address\",\r\n )\r\n .transform((s) => s.trim().toLowerCase());\r\n\r\n/** Positive integer string in base units (no decimals, no leading zeros except single \"0\" disallowed for valueWei — use /^[1-9]\\\\d*$/ for strictly positive). */\r\nconst positiveWeiString = z\r\n .string()\r\n .trim()\r\n .regex(\r\n /^[1-9]\\d*$/,\r\n \"must be a positive integer decimal string (base units / wei)\",\r\n );\r\n\r\nconst decimalStringNonNeg = z\r\n .string()\r\n .trim()\r\n .regex(/^\\d+$/, \"must be a non-negative integer decimal string\");\r\n\r\nconst nftStandardSchema = z.enum([\"erc721\", \"erc1155\"]);\r\n\r\nexport const draftNativeTransferInputSchema = z.object({\r\n network: caip2Eip155,\r\n to: evmAddress20,\r\n valueWei: positiveWeiString,\r\n note: z.string().max(500).optional(),\r\n});\r\n\r\nexport type DraftNativeTransferInput = z.infer<\r\n typeof draftNativeTransferInputSchema\r\n>;\r\n\r\nexport const draftErc20TransferInputSchema = z.object({\r\n network: caip2Eip155,\r\n token: evmAddress20,\r\n tokenSymbol: z.string().min(1).max(32).optional(),\r\n tokenDecimals: z.number().int().min(0).max(36),\r\n to: evmAddress20,\r\n amountWei: positiveWeiString,\r\n note: z.string().max(500).optional(),\r\n});\r\n\r\nexport type DraftErc20TransferInput = z.infer<\r\n typeof draftErc20TransferInputSchema\r\n>;\r\n\r\nexport const draftNftTransferInputSchema = z\r\n .object({\r\n network: caip2Eip155,\r\n contract: evmAddress20,\r\n standard: nftStandardSchema.default(\"erc721\"),\r\n to: evmAddress20,\r\n tokenId: decimalStringNonNeg,\r\n /** Required for ERC-1155; omit for ERC-721. */\r\n amount: positiveWeiString.optional(),\r\n note: z.string().max(500).optional(),\r\n })\r\n .superRefine((val, ctx) => {\r\n if (val.standard === \"erc1155\") {\r\n if (!val.amount) {\r\n ctx.addIssue({\r\n code: z.ZodIssueCode.custom,\r\n message: \"amount (base units) is required for ERC-1155\",\r\n path: [\"amount\"],\r\n });\r\n }\r\n } else if (val.amount != null) {\r\n ctx.addIssue({\r\n code: z.ZodIssueCode.custom,\r\n message: \"amount must be omitted for ERC-721\",\r\n path: [\"amount\"],\r\n });\r\n }\r\n });\r\n\r\nexport type DraftNftTransferInput = z.infer<typeof draftNftTransferInputSchema>;\r\n","import { z } from \"zod\";\nimport { x402SupportedAssetSchema } from \"./chat-api.js\";\n\nexport const swapFormNetworkOptionSchema = z.object({\n id: z.string().min(1).max(64),\n label: z.string().min(1).max(120),\n});\n\n/** Persisted on the chat CTA row until the user submits the swap form. */\nexport const swapFormCtaParamsSchema = z.object({\n _swapForm: z.literal(true),\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\n networks: z.array(swapFormNetworkOptionSchema).max(16).optional(),\n intro: z.string().max(2000).optional(),\n /** Default Uniswap V3 pool fee tier (500, 3000, or 10000). */\n defaultPoolFee: z.union([z.literal(500), z.literal(3000), z.literal(10000)]).optional(),\n});\n\nexport type SwapFormCtaParams = z.infer<typeof swapFormCtaParamsSchema>;\n\nexport function isSwapFormCtaParams(v: unknown): v is SwapFormCtaParams {\n return swapFormCtaParamsSchema.safeParse(v).success;\n}\n\nconst caip2Eip155 = z\n .string()\n .min(8)\n .max(64)\n .regex(/^eip155:\\d+$/, \"network must be CAIP-2 form eip155:<chainId>\");\n\nconst evmAddress20 = z\n .string()\n .trim()\n .refine((s) => /^0x[a-fA-F0-9]{40}$/.test(s), \"must be a 0x-prefixed 20-byte EVM address\")\n .transform((s) => s.trim().toLowerCase());\n\nconst positiveWeiString = z\n .string()\n .trim()\n .regex(/^[1-9]\\d*$/, \"must be a positive integer decimal string (base units)\");\n\nconst nonNegativeWeiString = z\n .string()\n .trim()\n .regex(/^\\d+$/, \"must be a non-negative integer decimal string (base units)\");\n\nconst poolFeeSchema = z.union([\n z.literal(500),\n z.literal(3000),\n z.literal(10000),\n]);\n\n/** Confirmed swap draft — user signs approve (if needed) + router `exactInputSingle` in wallet. */\nexport const draftTokenSwapInputSchema = z.object({\n network: caip2Eip155,\n tokenIn: evmAddress20,\n tokenInSymbol: z.string().min(1).max(32).optional(),\n tokenInDecimals: z.number().int().min(0).max(36),\n tokenOut: evmAddress20,\n tokenOutSymbol: z.string().min(1).max(32).optional(),\n tokenOutDecimals: z.number().int().min(0).max(36),\n amountInWei: positiveWeiString,\n /** Slippage floor in `tokenOut` base units; `0` accepts any output. */\n amountOutMinimumWei: nonNegativeWeiString.default(\"0\"),\n poolFee: poolFeeSchema.default(3000),\n /** Filled server-side from deployment when omitted. */\n router: evmAddress20.optional(),\n /** Unix seconds; wallet may refresh if expired. */\n deadlineUnix: z.number().int().positive().optional(),\n note: z.string().max(500).optional(),\n});\n\nexport type DraftTokenSwapInput = z.infer<typeof draftTokenSwapInputSchema>;\n","import { z } from \"zod\";\nimport { x402SupportedAssetSchema } from \"./chat-api.js\";\n\nexport const transferFormNetworkOptionSchema = z.object({\n id: z.string().min(1).max(64),\n label: z.string().min(1).max(120),\n});\n\n/** Persisted on the chat CTA row until the user submits the transfer form. */\nexport const transferFormCtaParamsSchema = z.object({\n _transferForm: z.literal(true),\n supportedAssets: z.array(x402SupportedAssetSchema).min(1).max(24),\n networks: z.array(transferFormNetworkOptionSchema).max(16).optional(),\n intro: z.string().max(2000).optional(),\n /** When set, pre-fill recipient in the form. */\n defaultTo: z\n .string()\n .trim()\n .refine((s) => /^0x[a-fA-F0-9]{40}$/.test(s), \"defaultTo must be 0x…40\")\n .transform((s) => s.toLowerCase())\n .optional(),\n});\n\nexport type TransferFormCtaParams = z.infer<typeof transferFormCtaParamsSchema>;\n\nexport function isTransferFormCtaParams(v: unknown): v is TransferFormCtaParams {\n return transferFormCtaParamsSchema.safeParse(v).success;\n}\n","import { z } from \"zod\";\nimport { handlerActionIdSchema } from \"./handlers.js\";\n\n/** Known Beam catalog specialist keys (subgraph / marketplace). */\nexport const marketplaceSpecialistAgentKeySchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[a-z0-9][a-z0-9-]*$/i);\n\nexport const suggestMarketplaceHireInputSchema = z.object({\n specialistAgentKey: marketplaceSpecialistAgentKeySchema,\n specialistName: z.string().min(1).max(80).optional(),\n category: z\n .enum([\"Payments\", \"Taxes\", \"Reports\", \"DeFi\", \"Compliance\", \"General\"])\n .optional(),\n /** One line: what the specialist runs for the user (handler names ok). */\n capability: z.string().min(1).max(400).optional(),\n /** Short description of what the user was trying to do. */\n userTask: z.string().min(1).max(500).optional(),\n intro: z.string().max(2000).optional(),\n /** Optional handler the user needs after hiring (for display only). */\n requiredHandler: handlerActionIdSchema.optional(),\n});\n\nexport type SuggestMarketplaceHireInput = z.infer<typeof suggestMarketplaceHireInputSchema>;\n"]}
|
package/package.json
CHANGED
package/src/catalog-build.ts
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ignition seed registration order → on-chain `agentId` (1-based).
|
|
3
|
+
* Keep aligned with `smart-contracts/ignition/data/seedAgentUris.ts` `catalogJson` key order.
|
|
4
|
+
*/
|
|
5
|
+
export const STARDORM_CATALOG_AGENT_KEYS_ORDERED = [
|
|
6
|
+
"beam-default",
|
|
7
|
+
"ledger",
|
|
8
|
+
"fiscus",
|
|
9
|
+
"scribe",
|
|
10
|
+
"yieldr",
|
|
11
|
+
"audita",
|
|
12
|
+
"settler",
|
|
13
|
+
"quanta",
|
|
14
|
+
"ramp",
|
|
15
|
+
"passport",
|
|
16
|
+
"capita",
|
|
17
|
+
] as const;
|
|
18
|
+
|
|
1
19
|
/**
|
|
2
20
|
* Resolve catalog / chat `agentKey` values to ERC-8004 registry `agentId`.
|
|
3
|
-
* Supports numeric strings, `
|
|
21
|
+
* Supports numeric strings, catalog slugs (`capita`, `ledger`, …), `beam-default`, and `chain-{id}`.
|
|
4
22
|
*/
|
|
5
23
|
export function resolveStardormChainAgentId(agentKey: string): number | null {
|
|
6
24
|
const trimmed = agentKey.trim();
|
|
@@ -14,10 +32,15 @@ export function resolveStardormChainAgentId(agentKey: string): number | null {
|
|
|
14
32
|
const n = Number.parseInt(m[1], 10);
|
|
15
33
|
return Number.isFinite(n) && n > 0 ? n : null;
|
|
16
34
|
}
|
|
35
|
+
const slug = trimmed.toLowerCase();
|
|
36
|
+
const idx = (
|
|
37
|
+
STARDORM_CATALOG_AGENT_KEYS_ORDERED as readonly string[]
|
|
38
|
+
).indexOf(slug);
|
|
39
|
+
if (idx >= 0) return idx + 1;
|
|
17
40
|
return null;
|
|
18
41
|
}
|
|
19
42
|
|
|
20
|
-
/** Reverse of `resolveStardormChainAgentId`: registry id →
|
|
43
|
+
/** Reverse of `resolveStardormChainAgentId`: registry id → catalog slug when known. */
|
|
21
44
|
export function resolveStardormAgentKey(
|
|
22
45
|
chainAgentId: number | bigint | string,
|
|
23
46
|
): string | null {
|
|
@@ -26,6 +49,13 @@ export function resolveStardormAgentKey(
|
|
|
26
49
|
? Number.parseInt(chainAgentId, 10)
|
|
27
50
|
: Number(chainAgentId);
|
|
28
51
|
if (!Number.isFinite(n) || n <= 0) return null;
|
|
29
|
-
|
|
52
|
+
const idx = n - 1;
|
|
53
|
+
if (
|
|
54
|
+
idx >= 0 &&
|
|
55
|
+
idx < STARDORM_CATALOG_AGENT_KEYS_ORDERED.length &&
|
|
56
|
+
STARDORM_CATALOG_AGENT_KEYS_ORDERED[idx]
|
|
57
|
+
) {
|
|
58
|
+
return STARDORM_CATALOG_AGENT_KEYS_ORDERED[idx];
|
|
59
|
+
}
|
|
30
60
|
return `chain-${n}`;
|
|
31
61
|
}
|