@hashgraphonline/standards-sdk 0.1.141-canary.5 → 0.1.141-canary.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/es/standards-sdk.es101.js +1 -1
  2. package/dist/es/standards-sdk.es103.js +1 -1
  3. package/dist/es/standards-sdk.es109.js +1 -1
  4. package/dist/es/standards-sdk.es12.js +1 -1
  5. package/dist/es/standards-sdk.es124.js +1 -1
  6. package/dist/es/standards-sdk.es125.js +1 -1
  7. package/dist/es/standards-sdk.es127.js +1 -1
  8. package/dist/es/standards-sdk.es13.js +1 -1
  9. package/dist/es/standards-sdk.es135.js +12 -12269
  10. package/dist/es/standards-sdk.es135.js.map +1 -1
  11. package/dist/es/standards-sdk.es136.js +138 -760
  12. package/dist/es/standards-sdk.es136.js.map +1 -1
  13. package/dist/es/standards-sdk.es137.js +37 -133
  14. package/dist/es/standards-sdk.es137.js.map +1 -1
  15. package/dist/es/standards-sdk.es138.js +760 -42
  16. package/dist/es/standards-sdk.es138.js.map +1 -1
  17. package/dist/es/standards-sdk.es139.js +12269 -12
  18. package/dist/es/standards-sdk.es139.js.map +1 -1
  19. package/dist/es/standards-sdk.es17.js +1 -1
  20. package/dist/es/standards-sdk.es19.js +4 -4
  21. package/dist/es/standards-sdk.es20.js +2 -2
  22. package/dist/es/standards-sdk.es23.js +1 -1
  23. package/dist/es/standards-sdk.es28.js +3 -3
  24. package/dist/es/standards-sdk.es31.js +1 -1
  25. package/dist/es/standards-sdk.es32.js +1 -1
  26. package/dist/es/standards-sdk.es36.js +2 -2
  27. package/dist/es/standards-sdk.es37.js +3 -3
  28. package/dist/es/standards-sdk.es38.js +1 -1
  29. package/dist/es/standards-sdk.es5.js +1 -1
  30. package/dist/es/standards-sdk.es54.js +1 -1
  31. package/dist/es/standards-sdk.es61.js +2 -2
  32. package/dist/es/standards-sdk.es65.js +1 -1
  33. package/dist/es/standards-sdk.es66.js +2 -2
  34. package/dist/es/standards-sdk.es69.js +2 -2
  35. package/dist/es/standards-sdk.es70.js +1 -1
  36. package/dist/es/standards-sdk.es72.js +1 -1
  37. package/dist/es/standards-sdk.es77.js +1 -1
  38. package/dist/es/standards-sdk.es78.js +1 -1
  39. package/dist/es/standards-sdk.es79.js +1 -1
  40. package/dist/es/standards-sdk.es8.js +1 -1
  41. package/dist/es/standards-sdk.es82.js +1 -1
  42. package/dist/es/standards-sdk.es84.js +1 -1
  43. package/dist/es/standards-sdk.es87.js +1 -1
  44. package/dist/es/standards-sdk.es91.js +1 -1
  45. package/dist/es/standards-sdk.es92.js +1 -1
  46. package/dist/es/standards-sdk.es97.js +1 -1
  47. package/dist/es/standards-sdk.es99.js +1 -1
  48. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es136.js","sources":["../../src/services/registry-broker/schemas.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport enum AIAgentType {\n MANUAL = 0,\n AUTONOMOUS = 1,\n}\n\nexport enum AIAgentCapability {\n TEXT_GENERATION = 0,\n IMAGE_GENERATION = 1,\n AUDIO_GENERATION = 2,\n VIDEO_GENERATION = 3,\n CODE_GENERATION = 4,\n LANGUAGE_TRANSLATION = 5,\n SUMMARIZATION_EXTRACTION = 6,\n KNOWLEDGE_RETRIEVAL = 7,\n DATA_INTEGRATION = 8,\n MARKET_INTELLIGENCE = 9,\n TRANSACTION_ANALYTICS = 10,\n SMART_CONTRACT_AUDIT = 11,\n GOVERNANCE_FACILITATION = 12,\n SECURITY_MONITORING = 13,\n COMPLIANCE_ANALYSIS = 14,\n FRAUD_DETECTION = 15,\n MULTI_AGENT_COORDINATION = 16,\n API_INTEGRATION = 17,\n WORKFLOW_AUTOMATION = 18,\n}\n\ntype JsonValue =\n | string\n | number\n | boolean\n | null\n | JsonValue[]\n | { [key: string]: JsonValue };\n\nconst capabilitySchema = z.nativeEnum(AIAgentCapability);\nconst capabilityValueSchema = z.union([capabilitySchema, z.string()]);\nconst jsonPrimitiveSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n]);\nconst jsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n jsonPrimitiveSchema,\n z.array(jsonValueSchema),\n z.record(jsonValueSchema),\n ]),\n);\n\nconst agentProfileSchema = z\n .object({\n version: z.string(),\n type: z.number(),\n display_name: z.string(),\n alias: z.string().optional(),\n bio: z.string().optional(),\n socials: z.array(jsonValueSchema).optional(),\n aiAgent: z\n .object({\n type: z.nativeEnum(AIAgentType),\n creator: z.string().optional(),\n model: z.string().optional(),\n capabilities: z.array(capabilitySchema).optional(),\n })\n .optional(),\n uaid: z.string().optional(),\n })\n .catchall(jsonValueSchema);\n\nconst cipherEnvelopeRecipientSchema = z.object({\n uaid: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n userId: z.string().optional(),\n email: z.string().optional(),\n encryptedShare: z.string(),\n});\n\nconst cipherEnvelopeSchema = z.object({\n algorithm: z.string(),\n ciphertext: z.string(),\n nonce: z.string(),\n associatedData: z.string().optional(),\n keyLocator: z\n .object({\n sessionId: z.string().optional(),\n revision: z.number().optional(),\n })\n .optional(),\n recipients: z.array(cipherEnvelopeRecipientSchema),\n});\n\nconst peerSummarySchema = z.object({\n keyType: z.string(),\n publicKey: z.string(),\n uaid: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n userId: z.string().optional(),\n email: z.string().optional(),\n});\n\nconst handshakeParticipantSchema = z.object({\n role: z.enum(['requester', 'responder']),\n uaid: z.string().optional(),\n userId: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n keyType: z.string(),\n longTermPublicKey: z.string().optional(),\n ephemeralPublicKey: z.string(),\n signature: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n submittedAt: z.string(),\n});\n\nconst encryptionHandshakeRecordSchema = z.object({\n sessionId: z.string(),\n algorithm: z.string(),\n createdAt: z.string(),\n expiresAt: z.number(),\n status: z.enum(['pending', 'complete']),\n requester: handshakeParticipantSchema.optional(),\n responder: handshakeParticipantSchema.optional(),\n});\n\nconst sessionEncryptionSummarySchema = z.object({\n enabled: z.boolean(),\n algorithm: z.string(),\n requireCiphertext: z.boolean(),\n requester: peerSummarySchema.nullable().optional(),\n responder: peerSummarySchema.nullable().optional(),\n handshake: encryptionHandshakeRecordSchema.nullable().optional(),\n});\n\nconst chatHistoryEntrySchema = z.object({\n messageId: z.string(),\n role: z.enum(['user', 'agent']),\n content: z.string(),\n timestamp: z.string(),\n cipherEnvelope: cipherEnvelopeSchema.optional(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nconst metadataFacetSchema = z.record(z.array(jsonValueSchema)).optional();\n\nconst searchHitSchema = z\n .object({\n id: z.string(),\n uaid: z.string(),\n registry: z.string(),\n name: z.string(),\n description: z.string().optional(),\n capabilities: z.array(capabilityValueSchema),\n endpoints: z\n .union([z.record(jsonValueSchema), z.array(z.string())])\n .optional(),\n metadata: z.record(jsonValueSchema).optional(),\n metadataFacet: metadataFacetSchema,\n profile: agentProfileSchema.optional(),\n protocols: z.array(z.string()).optional(),\n adapter: z.string().optional(),\n originalId: z.string().optional(),\n communicationSupported: z.boolean().optional(),\n routingSupported: z.boolean().optional(),\n available: z.boolean().optional(),\n availabilityStatus: z.string().optional(),\n availabilityCheckedAt: z.string().optional(),\n availabilitySource: z.string().optional(),\n availabilityLatencyMs: z.number().optional(),\n availabilityScore: z.number().optional(),\n capabilityLabels: z.array(z.string()).optional(),\n capabilityTokens: z.array(z.string()).optional(),\n image: z.string().optional(),\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n lastSeen: z.string().optional(),\n lastIndexed: z.string().optional(),\n })\n .passthrough();\n\nexport const searchResponseSchema = z.object({\n hits: z.array(searchHitSchema),\n total: z.number(),\n page: z.number(),\n limit: z.number(),\n});\n\nexport const statsResponseSchema = z.object({\n totalAgents: z.number(),\n registries: z.record(z.number()),\n capabilities: z.record(z.number()),\n lastUpdate: z.string(),\n status: z.string(),\n});\n\nexport const registriesResponseSchema = z.object({\n registries: z.array(z.string()),\n});\n\nexport const popularResponseSchema = z.object({\n searches: z.array(z.string()),\n});\n\nexport const resolveResponseSchema = z.object({\n agent: searchHitSchema,\n});\n\nexport const createSessionResponseSchema = z.object({\n sessionId: z.string(),\n uaid: z.string().nullable().optional(),\n agent: z.object({\n name: z.string(),\n description: z.string().optional(),\n capabilities: z.record(jsonValueSchema).nullable().optional(),\n skills: z.array(z.string()).optional(),\n }),\n history: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number().nullable().optional(),\n encryption: sessionEncryptionSummarySchema.nullable().optional(),\n});\n\nexport const sendMessageResponseSchema = z.object({\n sessionId: z.string(),\n uaid: z.string().nullable().optional(),\n message: z.string(),\n timestamp: z.string(),\n rawResponse: jsonValueSchema.optional(),\n content: z.string().optional(),\n history: z.array(chatHistoryEntrySchema).optional(),\n historyTtlSeconds: z.number().nullable().optional(),\n encrypted: z.boolean().optional(),\n});\n\nexport const chatHistorySnapshotResponseSchema = z.object({\n sessionId: z.string(),\n history: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number(),\n});\n\nexport const chatHistoryCompactionRequestSchema = z\n .object({\n preserveEntries: z.number().int().min(0).optional(),\n })\n .strict();\n\nexport const chatHistoryCompactionResponseSchema = z.object({\n sessionId: z.string(),\n history: z.array(chatHistoryEntrySchema),\n summaryEntry: chatHistoryEntrySchema,\n preservedEntries: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number(),\n creditsDebited: z.number(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nexport const sessionEncryptionStatusResponseSchema = z.object({\n sessionId: z.string(),\n encryption: sessionEncryptionSummarySchema.nullable(),\n});\n\nexport const encryptionHandshakeResponseSchema = z.object({\n sessionId: z.string(),\n handshake: encryptionHandshakeRecordSchema,\n});\n\nexport const registerEncryptionKeyResponseSchema = z.object({\n id: z.string(),\n keyType: z.string(),\n publicKey: z.string(),\n uaid: z.string().nullable(),\n ledgerAccountId: z.string().nullable(),\n ledgerNetwork: z.string().nullable().optional(),\n userId: z.string().nullable().optional(),\n email: z.string().nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const ledgerChallengeResponseSchema = z.object({\n challengeId: z.string(),\n message: z.string(),\n expiresAt: z.string(),\n});\n\nconst ledgerApiKeySummarySchema = z.object({\n id: z.string(),\n label: z.string().optional(),\n prefix: z.string(),\n lastFour: z.string(),\n createdAt: z.string(),\n lastUsedAt: z.string().nullable().optional(),\n ownerType: z.literal('ledger'),\n ledgerAccountId: z.string().optional(),\n ledgerNetwork: z.string().optional(),\n ledgerNetworkCanonical: z.string().optional(),\n});\n\nexport const ledgerVerifyResponseSchema = z.object({\n key: z.string(),\n apiKey: ledgerApiKeySummarySchema,\n accountId: z.string(),\n network: z.string(),\n networkCanonical: z.string().optional(),\n});\n\nexport const protocolsResponseSchema = z.object({\n protocols: z.array(z.string()),\n});\n\nexport const detectProtocolResponseSchema = z.object({\n protocol: z.string().nullable(),\n});\n\nexport const registrySearchByNamespaceSchema = z.object({\n hits: z.array(searchHitSchema),\n total: z.number(),\n page: z.number().optional(),\n limit: z.number().optional(),\n});\n\nconst capabilityFilterValueSchema = z.union([z.string(), z.number()]);\n\nconst vectorSearchFilterSchema = z\n .object({\n capabilities: z.array(capabilityFilterValueSchema).optional(),\n type: z.enum(['ai-agents', 'mcp-servers']).optional(),\n registry: z.string().optional(),\n protocols: z.array(z.string()).optional(),\n adapter: z.array(z.string()).optional(),\n })\n .strict();\n\nexport const vectorSearchRequestSchema = z\n .object({\n query: z.string(),\n filter: vectorSearchFilterSchema.optional(),\n limit: z.number().int().min(1).max(100).optional(),\n offset: z.number().int().min(0).optional(),\n })\n .strict();\n\nconst vectorSearchHitSchema = z.object({\n agent: searchHitSchema,\n score: z.number().optional(),\n highlights: z.record(z.array(z.string())).optional(),\n});\n\nexport const vectorSearchResponseSchema = z.object({\n hits: z.array(vectorSearchHitSchema),\n total: z.number(),\n took: z.number(),\n totalAvailable: z.number().optional(),\n visible: z.number().optional(),\n limited: z.boolean().optional(),\n credits_used: z.number().optional(),\n});\n\nconst vectorStatusSchema = z.object({\n enabled: z.boolean(),\n healthy: z.boolean(),\n mode: z.enum(['disabled', 'initializing', 'healthy', 'degraded', 'error']),\n lastUpdated: z.string(),\n details: z.record(z.any()).optional(),\n lastError: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n timestamp: z.string().optional(),\n })\n .optional(),\n});\n\nexport const searchStatusResponseSchema = z.object({\n storageMode: z.string(),\n vectorStatus: vectorStatusSchema,\n});\n\nexport const websocketStatsResponseSchema = z.object({\n clients: z.number(),\n stats: z\n .object({\n totalClients: z.number().optional(),\n clientsByRegistry: z.record(z.number()).optional(),\n clientsByEventType: z.record(z.number()).optional(),\n })\n .passthrough(),\n});\n\nconst durationStatsSchema = z.object({\n p50: z.number(),\n p90: z.number(),\n p95: z.number(),\n p99: z.number(),\n});\n\nexport const metricsSummaryResponseSchema = z.object({\n http: z.object({\n requestsTotal: z.number(),\n activeConnections: z.number(),\n requestDuration: durationStatsSchema,\n }),\n search: z.object({\n queriesTotal: z.number(),\n queryDuration: durationStatsSchema,\n }),\n indexing: z.object({ agentsTotal: z.number(), crawlErrors: z.number() }),\n registration: z.object({\n total: z.number(),\n failures: z.number(),\n duration: durationStatsSchema,\n }),\n cache: z.object({\n hits: z.number(),\n misses: z.number(),\n hitRate: z.number(),\n }),\n websocket: z.object({ connections: z.number() }),\n});\n\nexport const uaidValidationResponseSchema = z.object({\n uaid: z.string(),\n valid: z.boolean(),\n formats: z.array(z.string()),\n});\n\nconst adapterConnectionSchema = z.object({\n id: z.string(),\n agentId: z.string(),\n protocol: z.string(),\n endpoint: z.string(),\n status: z.enum(['connected', 'disconnected', 'error']),\n metadata: z.record(jsonPrimitiveSchema).optional(),\n createdAt: z.string(),\n});\n\nexport const uaidConnectionStatusSchema = z.object({\n connected: z.boolean(),\n connection: adapterConnectionSchema.optional(),\n adapter: z.string().optional(),\n agentId: z.string().optional(),\n});\n\nexport const dashboardStatsResponseSchema = z.object({\n operatorId: z.string().optional(),\n adapters: z\n .array(\n z.object({\n name: z.string(),\n version: z.string(),\n status: z.string(),\n agentCount: z.number(),\n lastDiscovery: z.string(),\n registryType: z.string(),\n health: z.string(),\n }),\n )\n .optional(),\n totalAgents: z.number().optional(),\n elasticsearchDocumentCount: z.number().optional(),\n agentsByAdapter: z.record(z.number()).optional(),\n agentsByRegistry: z.record(z.number()).optional(),\n systemInfo: z\n .object({\n uptime: z.number().optional(),\n version: z.string().optional(),\n network: z.string().optional(),\n })\n .optional(),\n});\n\nconst registrationAgentSchema = z.object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n endpoint: z.string().optional(),\n capabilities: z.array(capabilityValueSchema),\n registry: z.string().optional(),\n protocol: z.string().optional(),\n profile: agentProfileSchema.optional(),\n nativeId: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nconst registrationProfileInfoSchema = z.object({\n tId: z.string().nullable(),\n sizeBytes: z.number().optional(),\n});\n\nconst profileRegistrySchema = z\n .object({\n topicId: z.string().optional(),\n sequenceNumber: z.number().optional(),\n profileReference: z.string().optional(),\n profileTopicId: z.string().optional(),\n })\n .passthrough()\n .nullable()\n .optional();\n\nconst additionalRegistryResultSchema = z.object({\n registry: z.string(),\n status: z.enum([\n 'created',\n 'duplicate',\n 'skipped',\n 'error',\n 'updated',\n 'pending',\n ]),\n agentId: z.string().nullable().optional(),\n agentUri: z.string().nullable().optional(),\n error: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n registryKey: z.string().optional(),\n networkId: z.string().optional(),\n networkName: z.string().optional(),\n chainId: z.number().optional(),\n estimatedCredits: z.number().nullable().optional(),\n gasEstimateCredits: z.number().nullable().optional(),\n gasEstimateUsd: z.number().nullable().optional(),\n gasPriceGwei: z.number().nullable().optional(),\n gasLimit: z.number().nullable().optional(),\n creditMode: z.enum(['fixed', 'gas']).nullable().optional(),\n minCredits: z.number().nullable().optional(),\n consumedCredits: z.number().nullable().optional(),\n cost: z\n .object({\n credits: z.number(),\n usd: z.number(),\n eth: z.number(),\n gasUsedWei: z.string(),\n effectiveGasPriceWei: z.string().nullable().optional(),\n transactions: z\n .array(\n z.object({\n hash: z.string(),\n gasUsedWei: z.string(),\n effectiveGasPriceWei: z.string().nullable().optional(),\n costWei: z.string(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nconst registrationCreditsSchema = z.object({\n base: z.number(),\n additional: z.number(),\n total: z.number(),\n});\n\nconst hcs10RegistrySchema = z\n .object({\n status: z.string(),\n uaid: z.string().optional(),\n transactionId: z.string().optional(),\n consensusTimestamp: z.string().optional(),\n registryTopicId: z.string().optional(),\n topicSequenceNumber: z.number().optional(),\n payloadHash: z.string().optional(),\n profileReference: z.string().optional(),\n tId: z.string().optional(),\n profileSizeBytes: z.number().optional(),\n error: z.string().optional(),\n })\n .passthrough();\n\nconst additionalRegistryNetworkSchema = z\n .object({\n key: z.string(),\n registryId: z.string().optional(),\n networkId: z.string().optional(),\n name: z.string().optional(),\n chainId: z.number().optional(),\n label: z.string().optional(),\n estimatedCredits: z.number().nullable().optional(),\n baseCredits: z.number().nullable().optional(),\n gasPortionCredits: z.number().nullable().optional(),\n gasPortionUsd: z.number().nullable().optional(),\n gasEstimateCredits: z.number().nullable().optional(),\n gasEstimateUsd: z.number().nullable().optional(),\n gasPriceGwei: z.number().nullable().optional(),\n gasLimit: z.number().nullable().optional(),\n minCredits: z.number().nullable().optional(),\n creditMode: z.string().nullable().optional(),\n })\n .passthrough();\n\nconst additionalRegistryDescriptorSchema = z.object({\n id: z.string(),\n label: z.string(),\n networks: z.array(additionalRegistryNetworkSchema),\n});\n\nexport const additionalRegistryCatalogResponseSchema = z.object({\n registries: z.array(additionalRegistryDescriptorSchema),\n});\n\nconst registerAgentSuccessResponse = z.object({\n success: z.literal(true),\n status: z.enum(['created', 'duplicate', 'updated']).optional(),\n uaid: z.string(),\n agentId: z.string(),\n message: z.string().optional(),\n registry: z.string().optional(),\n attemptId: z.string().nullable().optional(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema.optional(),\n additionalRegistries: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n});\n\nconst registerAgentPendingResponse = z.object({\n success: z.literal(true),\n status: z.literal('pending'),\n message: z.string(),\n uaid: z.string(),\n agentId: z.string(),\n registry: z.string().optional(),\n attemptId: z.string().nullable(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema,\n additionalRegistries: z.array(additionalRegistryResultSchema),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n});\n\nconst registerAgentPartialResponse = z.object({\n success: z.literal(false),\n status: z.literal('partial'),\n message: z.string(),\n uaid: z.string(),\n agentId: z.string(),\n registry: z.string().optional(),\n attemptId: z.string().nullable().optional(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema.optional(),\n additionalRegistries: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n errors: z\n .array(\n z.object({\n registry: z.string(),\n registryKey: z.string().nullable().optional(),\n error: z.string(),\n }),\n )\n .min(1),\n});\n\nexport const registerAgentSuccessResponseSchema = registerAgentSuccessResponse;\nexport const registerAgentPendingResponseSchema = registerAgentPendingResponse;\nexport const registerAgentPartialResponseSchema = registerAgentPartialResponse;\nexport const registerAgentResponseSchema = z.union([\n registerAgentSuccessResponse,\n registerAgentPendingResponse,\n registerAgentPartialResponse,\n]);\n\nconst registrationProgressAdditionalEntry = z.object({\n registryId: z.string(),\n registryKey: z.string(),\n networkId: z.string().optional(),\n networkName: z.string().optional(),\n chainId: z.number().optional(),\n label: z.string().optional(),\n status: z.enum(['pending', 'in_progress', 'completed', 'failed']),\n error: z.string().optional(),\n credits: z.number().nullable().optional(),\n agentId: z.string().nullable().optional(),\n agentUri: z.string().nullable().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n lastUpdated: z.string(),\n});\n\nconst registrationProgressRecord = z.object({\n attemptId: z.string(),\n mode: z.enum(['register', 'update']),\n status: z.enum(['pending', 'partial', 'completed', 'failed']),\n uaid: z.string().optional(),\n agentId: z.string().optional(),\n registryNamespace: z.string(),\n accountId: z.string().optional(),\n startedAt: z.string(),\n completedAt: z.string().optional(),\n primary: z.object({\n status: z.enum(['pending', 'completed', 'failed']),\n finishedAt: z.string().optional(),\n error: z.string().optional(),\n }),\n additionalRegistries: z.record(\n z.string(),\n registrationProgressAdditionalEntry,\n ),\n errors: z.array(z.string()).optional(),\n});\n\nexport const registrationProgressResponseSchema = z.object({\n progress: registrationProgressRecord,\n});\n\nexport const registrationProgressAdditionalEntrySchema =\n registrationProgressAdditionalEntry;\nexport const registrationProgressRecordSchema = registrationProgressRecord;\n\nexport const registrationQuoteResponseSchema = z.object({\n accountId: z.string().nullable().optional(),\n registry: z.string().optional(),\n protocol: z.string().optional(),\n requiredCredits: z.number(),\n availableCredits: z.number().nullable().optional(),\n shortfallCredits: z.number().nullable().optional(),\n creditsPerHbar: z.number().nullable().optional(),\n estimatedHbar: z.number().nullable().optional(),\n});\n\nexport const creditPurchaseResponseSchema = z.object({\n success: z.boolean().optional(),\n purchaser: z.string(),\n credits: z.number(),\n hbarAmount: z.number(),\n transactionId: z.string(),\n consensusTimestamp: z.string().nullable().optional(),\n});\n\nconst x402SettlementSchema = z\n .object({\n success: z.boolean().optional(),\n transaction: z.string().optional(),\n network: z.string().optional(),\n payer: z.string().optional(),\n errorReason: z.string().optional(),\n })\n .strict();\n\nexport const x402CreditPurchaseResponseSchema = z.object({\n success: z.boolean(),\n accountId: z.string(),\n creditedCredits: z.number(),\n usdAmount: z.number(),\n balance: z.number(),\n payment: z\n .object({\n payer: z.string().optional(),\n requirement: z.record(jsonValueSchema).optional(),\n settlement: x402SettlementSchema.optional(),\n })\n .optional(),\n});\n\nexport const x402MinimumsResponseSchema = z.object({\n minimums: z\n .record(\n z.object({\n network: z.string().optional(),\n gasLimit: z.number().optional(),\n gasPriceWei: z.string().optional(),\n gasUsd: z.number().optional(),\n minUsd: z.number().optional(),\n ethUsd: z.number().optional(),\n fetchedAt: z.string().optional(),\n source: z.string().optional(),\n }),\n )\n .optional(),\n creditUnitUsd: z.number().optional(),\n});\n\nexport const adaptersResponseSchema = z.object({\n adapters: z.array(z.string()),\n});\n\nexport const adapterChatProfileSchema = z.object({\n supportsChat: z.boolean(),\n delivery: z.string().optional(),\n transport: z.string().optional(),\n streaming: z.boolean().optional(),\n requiresAuth: z.array(z.string()).optional(),\n notes: z.string().optional(),\n});\n\nconst adapterCapabilitiesSchema = z.object({\n discovery: z.boolean(),\n routing: z.boolean(),\n communication: z.boolean(),\n translation: z.boolean(),\n protocols: z.array(z.string()),\n});\n\nexport const adapterDescriptorSchema = z.object({\n id: z.string(),\n name: z.string(),\n version: z.string(),\n author: z.string(),\n description: z.string(),\n supportedProtocols: z.array(z.string()),\n registryType: z.enum(['web2', 'web3', 'hybrid']),\n chatProfile: adapterChatProfileSchema.optional(),\n capabilities: adapterCapabilitiesSchema,\n enabled: z.boolean(),\n priority: z.number(),\n status: z.enum(['running', 'stopped']),\n});\n\nexport const adapterDetailsResponseSchema = z.object({\n adapters: z.array(adapterDescriptorSchema),\n});\n\nconst metadataFacetOptionSchema = z.object({\n value: z.union([z.string(), z.number(), z.boolean()]),\n label: z.string(),\n});\n\nconst searchFacetSchema = z.object({\n key: z.string(),\n label: z.string(),\n description: z.string().optional(),\n type: z.enum(['string', 'boolean', 'number']),\n adapters: z.array(z.string()).optional(),\n options: z.array(metadataFacetOptionSchema).optional(),\n});\n\nexport const searchFacetsResponseSchema = z.object({\n facets: z.array(searchFacetSchema),\n});\n"],"names":["AIAgentType","AIAgentCapability"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es136.js","sources":["../../src/common/node-operator-resolver.ts"],"sourcesContent":["import { AccountId, Client, PrivateKey } from '@hashgraph/sdk';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { ILogger } from '../utils/logger';\nimport { detectKeyTypeFromString } from '../utils/key-type-detector';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Resolves operator and supply private keys using Mirror Node as source of truth\n * with format-detection fallbacks for string keys.\n */\nexport class NodeOperatorResolver {\n private readonly mirror: HederaMirrorNode;\n private readonly logger: ILogger;\n\n constructor(params: { mirrorNode: HederaMirrorNode; logger: ILogger }) {\n this.mirror = params.mirrorNode;\n this.logger = params.logger;\n }\n\n /**\n * Best-guess parsing for an operator key without network calls.\n * - If PrivateKey: returns immediately with provided or fallback type.\n * - If string with explicitType: parse directly.\n * - If string without type: detect format; fallback to ECDSA.\n */\n bestGuessOperatorKey(\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): { keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey } {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n try {\n const detected = detectKeyTypeFromString(operatorKeyInput);\n return {\n keyType: detected.detectedType,\n privateKey: detected.privateKey,\n };\n } catch {\n return {\n keyType: 'ecdsa',\n privateKey: PrivateKey.fromStringECDSA(operatorKeyInput),\n };\n }\n }\n\n /**\n * Resolve an operator key using Mirror Node for key type when possible.\n * - If PrivateKey: return immediately.\n * - If explicitType: parse directly.\n * - Else: query Mirror Node; fallback to local detection.\n */\n async resolveOperatorKey(\n operatorId: string | AccountId,\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<{ keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey }> {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n const account =\n typeof operatorId === 'string' ? operatorId : operatorId.toString();\n try {\n const info = await this.mirror.requestAccount(account);\n const t = info?.key?._type || '';\n const keyType: 'ed25519' | 'ecdsa' = t.includes('ED25519')\n ? 'ed25519'\n : 'ecdsa';\n const privateKey =\n keyType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType, privateKey };\n } catch {\n this.logger.warn(\n 'Mirror node key detection failed; using local detection or default ECDSA',\n );\n return this.bestGuessOperatorKey(operatorKeyInput);\n }\n }\n\n /**\n * Resolve a supply key for the given token using Mirror Node token supply_key._type when possible.\n */\n async resolveSupplyKey(\n tokenId: string,\n keyInput: string | PrivateKey,\n fallbackType: 'ed25519' | 'ecdsa',\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<PrivateKey> {\n try {\n const info = await this.mirror.getTokenInfo(tokenId);\n const t = info?.supply_key?._type || '';\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n if (t.includes('ED25519')) {\n return PrivateKey.fromStringED25519(keyInput);\n }\n if (t.includes('ECDSA')) {\n return PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n } catch {\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n }\n}\n\nexport interface NodeOperatorInitParams {\n network: NetworkType;\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n mirrorNode: HederaMirrorNode;\n logger: ILogger;\n client?: Client;\n}\n\nexport interface NodeOperatorContext {\n client: Client;\n operatorId: AccountId;\n readonly operatorKey: PrivateKey;\n readonly keyType: 'ed25519' | 'ecdsa';\n ensureInitialized(): Promise<void>;\n}\n\nexport function createNodeOperatorContext(\n params: NodeOperatorInitParams,\n): NodeOperatorContext {\n const operatorId: AccountId =\n typeof params.operatorId === 'string'\n ? AccountId.fromString(params.operatorId)\n : params.operatorId;\n\n const client: Client = params.client\n ? params.client\n : params.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet();\n\n const resolver = new NodeOperatorResolver({\n mirrorNode: params.mirrorNode,\n logger: params.logger,\n });\n\n let currentKeyType: 'ed25519' | 'ecdsa';\n let currentPrivateKey: PrivateKey;\n\n const guess = resolver.bestGuessOperatorKey(\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = guess.keyType;\n currentPrivateKey = guess.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n\n const initPromise = (async () => {\n try {\n const resolved = await resolver.resolveOperatorKey(\n operatorId,\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = resolved.keyType;\n currentPrivateKey = resolved.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n } catch {}\n })();\n\n return {\n client,\n operatorId,\n get operatorKey() {\n return currentPrivateKey;\n },\n get keyType() {\n return currentKeyType;\n },\n ensureInitialized: async () => {\n await initPromise;\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,141 +1,45 @@
1
- import { AccountId, Client, PrivateKey } from "@hashgraph/sdk";
2
- import { detectKeyTypeFromString } from "./standards-sdk.es113.js";
3
- class NodeOperatorResolver {
4
- constructor(params) {
5
- this.mirror = params.mirrorNode;
6
- this.logger = params.logger;
7
- }
8
- /**
9
- * Best-guess parsing for an operator key without network calls.
10
- * - If PrivateKey: returns immediately with provided or fallback type.
11
- * - If string with explicitType: parse directly.
12
- * - If string without type: detect format; fallback to ECDSA.
13
- */
14
- bestGuessOperatorKey(operatorKeyInput, explicitType) {
15
- if (typeof operatorKeyInput !== "string") {
16
- return { keyType: explicitType || "ecdsa", privateKey: operatorKeyInput };
17
- }
18
- if (explicitType) {
19
- const pk = explicitType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
20
- return { keyType: explicitType, privateKey: pk };
21
- }
22
- try {
23
- const detected = detectKeyTypeFromString(operatorKeyInput);
24
- return {
25
- keyType: detected.detectedType,
26
- privateKey: detected.privateKey
27
- };
28
- } catch {
29
- return {
30
- keyType: "ecdsa",
31
- privateKey: PrivateKey.fromStringECDSA(operatorKeyInput)
32
- };
33
- }
34
- }
35
- /**
36
- * Resolve an operator key using Mirror Node for key type when possible.
37
- * - If PrivateKey: return immediately.
38
- * - If explicitType: parse directly.
39
- * - Else: query Mirror Node; fallback to local detection.
40
- */
41
- async resolveOperatorKey(operatorId, operatorKeyInput, explicitType) {
42
- if (typeof operatorKeyInput !== "string") {
43
- return { keyType: explicitType || "ecdsa", privateKey: operatorKeyInput };
44
- }
45
- if (explicitType) {
46
- const pk = explicitType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
47
- return { keyType: explicitType, privateKey: pk };
48
- }
49
- const account = typeof operatorId === "string" ? operatorId : operatorId.toString();
50
- try {
51
- const info = await this.mirror.requestAccount(account);
52
- const t = info?.key?._type || "";
53
- const keyType = t.includes("ED25519") ? "ed25519" : "ecdsa";
54
- const privateKey = keyType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
55
- return { keyType, privateKey };
56
- } catch {
57
- this.logger.warn(
58
- "Mirror node key detection failed; using local detection or default ECDSA"
59
- );
60
- return this.bestGuessOperatorKey(operatorKeyInput);
61
- }
62
- }
63
- /**
64
- * Resolve a supply key for the given token using Mirror Node token supply_key._type when possible.
65
- */
66
- async resolveSupplyKey(tokenId, keyInput, fallbackType, explicitType) {
67
- try {
68
- const info = await this.mirror.getTokenInfo(tokenId);
69
- const t = info?.supply_key?._type || "";
70
- if (typeof keyInput !== "string") {
71
- return keyInput;
72
- }
73
- if (explicitType) {
74
- return explicitType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
75
- }
76
- if (t.includes("ED25519")) {
77
- return PrivateKey.fromStringED25519(keyInput);
78
- }
79
- if (t.includes("ECDSA")) {
80
- return PrivateKey.fromStringECDSA(keyInput);
81
- }
82
- return fallbackType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
83
- } catch {
84
- if (typeof keyInput !== "string") {
85
- return keyInput;
86
- }
87
- if (explicitType) {
88
- return explicitType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
1
+ import { TopicMessageSubmitTransaction, TopicId, TopicCreateTransaction, PublicKey, KeyList } from "@hashgraph/sdk";
2
+ function encodeHcs2RegistryMemo(indexedFlag, ttl) {
3
+ return `hcs-2:${indexedFlag}:${ttl}`;
4
+ }
5
+ function buildTopicCreateTx(params) {
6
+ const { memo, adminKey, submitKey, operatorPublicKey } = params;
7
+ const tx = new TopicCreateTransaction().setTopicMemo(memo);
8
+ const coerceKey = (k) => {
9
+ if (!k) return void 0;
10
+ if (k instanceof PublicKey || k instanceof KeyList) return k;
11
+ if (typeof k === "boolean") {
12
+ return k ? operatorPublicKey : void 0;
13
+ }
14
+ if (typeof k === "string") {
15
+ try {
16
+ return PublicKey.fromString(k);
17
+ } catch {
18
+ return void 0;
89
19
  }
90
- return fallbackType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
91
20
  }
21
+ return void 0;
22
+ };
23
+ const admin = coerceKey(adminKey);
24
+ if (admin) {
25
+ tx.setAdminKey(admin);
92
26
  }
27
+ const submit = coerceKey(submitKey);
28
+ if (submit) {
29
+ tx.setSubmitKey(submit);
30
+ }
31
+ return tx;
93
32
  }
94
- function createNodeOperatorContext(params) {
95
- const operatorId = typeof params.operatorId === "string" ? AccountId.fromString(params.operatorId) : params.operatorId;
96
- const client = params.client ? params.client : params.network === "mainnet" ? Client.forMainnet() : Client.forTestnet();
97
- const resolver = new NodeOperatorResolver({
98
- mirrorNode: params.mirrorNode,
99
- logger: params.logger
100
- });
101
- let currentKeyType;
102
- let currentPrivateKey;
103
- const guess = resolver.bestGuessOperatorKey(
104
- params.operatorKey,
105
- params.keyType
106
- );
107
- currentKeyType = guess.keyType;
108
- currentPrivateKey = guess.privateKey;
109
- client.setOperator(operatorId.toString(), currentPrivateKey);
110
- const initPromise = (async () => {
111
- try {
112
- const resolved = await resolver.resolveOperatorKey(
113
- operatorId,
114
- params.operatorKey,
115
- params.keyType
116
- );
117
- currentKeyType = resolved.keyType;
118
- currentPrivateKey = resolved.privateKey;
119
- client.setOperator(operatorId.toString(), currentPrivateKey);
120
- } catch {
121
- }
122
- })();
123
- return {
124
- client,
125
- operatorId,
126
- get operatorKey() {
127
- return currentPrivateKey;
128
- },
129
- get keyType() {
130
- return currentKeyType;
131
- },
132
- ensureInitialized: async () => {
133
- await initPromise;
134
- }
135
- };
33
+ function buildMessageTx(params) {
34
+ const tx = new TopicMessageSubmitTransaction().setTopicId(TopicId.fromString(params.topicId)).setMessage(params.message);
35
+ if (params.transactionMemo) {
36
+ tx.setTransactionMemo(params.transactionMemo);
37
+ }
38
+ return tx;
136
39
  }
137
40
  export {
138
- NodeOperatorResolver,
139
- createNodeOperatorContext
41
+ buildMessageTx,
42
+ buildTopicCreateTx,
43
+ encodeHcs2RegistryMemo
140
44
  };
141
45
  //# sourceMappingURL=standards-sdk.es137.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es137.js","sources":["../../src/common/node-operator-resolver.ts"],"sourcesContent":["import { AccountId, Client, PrivateKey } from '@hashgraph/sdk';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { ILogger } from '../utils/logger';\nimport { detectKeyTypeFromString } from '../utils/key-type-detector';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Resolves operator and supply private keys using Mirror Node as source of truth\n * with format-detection fallbacks for string keys.\n */\nexport class NodeOperatorResolver {\n private readonly mirror: HederaMirrorNode;\n private readonly logger: ILogger;\n\n constructor(params: { mirrorNode: HederaMirrorNode; logger: ILogger }) {\n this.mirror = params.mirrorNode;\n this.logger = params.logger;\n }\n\n /**\n * Best-guess parsing for an operator key without network calls.\n * - If PrivateKey: returns immediately with provided or fallback type.\n * - If string with explicitType: parse directly.\n * - If string without type: detect format; fallback to ECDSA.\n */\n bestGuessOperatorKey(\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): { keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey } {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n try {\n const detected = detectKeyTypeFromString(operatorKeyInput);\n return {\n keyType: detected.detectedType,\n privateKey: detected.privateKey,\n };\n } catch {\n return {\n keyType: 'ecdsa',\n privateKey: PrivateKey.fromStringECDSA(operatorKeyInput),\n };\n }\n }\n\n /**\n * Resolve an operator key using Mirror Node for key type when possible.\n * - If PrivateKey: return immediately.\n * - If explicitType: parse directly.\n * - Else: query Mirror Node; fallback to local detection.\n */\n async resolveOperatorKey(\n operatorId: string | AccountId,\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<{ keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey }> {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n const account =\n typeof operatorId === 'string' ? operatorId : operatorId.toString();\n try {\n const info = await this.mirror.requestAccount(account);\n const t = info?.key?._type || '';\n const keyType: 'ed25519' | 'ecdsa' = t.includes('ED25519')\n ? 'ed25519'\n : 'ecdsa';\n const privateKey =\n keyType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType, privateKey };\n } catch {\n this.logger.warn(\n 'Mirror node key detection failed; using local detection or default ECDSA',\n );\n return this.bestGuessOperatorKey(operatorKeyInput);\n }\n }\n\n /**\n * Resolve a supply key for the given token using Mirror Node token supply_key._type when possible.\n */\n async resolveSupplyKey(\n tokenId: string,\n keyInput: string | PrivateKey,\n fallbackType: 'ed25519' | 'ecdsa',\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<PrivateKey> {\n try {\n const info = await this.mirror.getTokenInfo(tokenId);\n const t = info?.supply_key?._type || '';\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n if (t.includes('ED25519')) {\n return PrivateKey.fromStringED25519(keyInput);\n }\n if (t.includes('ECDSA')) {\n return PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n } catch {\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n }\n}\n\nexport interface NodeOperatorInitParams {\n network: NetworkType;\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n mirrorNode: HederaMirrorNode;\n logger: ILogger;\n client?: Client;\n}\n\nexport interface NodeOperatorContext {\n client: Client;\n operatorId: AccountId;\n readonly operatorKey: PrivateKey;\n readonly keyType: 'ed25519' | 'ecdsa';\n ensureInitialized(): Promise<void>;\n}\n\nexport function createNodeOperatorContext(\n params: NodeOperatorInitParams,\n): NodeOperatorContext {\n const operatorId: AccountId =\n typeof params.operatorId === 'string'\n ? AccountId.fromString(params.operatorId)\n : params.operatorId;\n\n const client: Client = params.client\n ? params.client\n : params.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet();\n\n const resolver = new NodeOperatorResolver({\n mirrorNode: params.mirrorNode,\n logger: params.logger,\n });\n\n let currentKeyType: 'ed25519' | 'ecdsa';\n let currentPrivateKey: PrivateKey;\n\n const guess = resolver.bestGuessOperatorKey(\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = guess.keyType;\n currentPrivateKey = guess.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n\n const initPromise = (async () => {\n try {\n const resolved = await resolver.resolveOperatorKey(\n operatorId,\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = resolved.keyType;\n currentPrivateKey = resolved.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n } catch {}\n })();\n\n return {\n client,\n operatorId,\n get operatorKey() {\n return currentPrivateKey;\n },\n get keyType() {\n return currentKeyType;\n },\n ensureInitialized: async () => {\n await initPromise;\n },\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es137.js","sources":["../../src/common/tx/tx-utils.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n PublicKey,\n KeyList,\n TopicId,\n} from '@hashgraph/sdk';\n\nexport type MaybeKey = boolean | string | PublicKey | KeyList | undefined;\n\nexport function encodeHcs2RegistryMemo(\n indexedFlag: 0 | 1,\n ttl: number,\n): string {\n return `hcs-2:${indexedFlag}:${ttl}`;\n}\n\nexport function buildTopicCreateTx(params: {\n memo: string;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n operatorPublicKey?: PublicKey;\n}): TopicCreateTransaction {\n const { memo, adminKey, submitKey, operatorPublicKey } = params;\n const tx = new TopicCreateTransaction().setTopicMemo(memo);\n\n const coerceKey = (k?: MaybeKey): PublicKey | KeyList | undefined => {\n if (!k) return undefined;\n if (k instanceof PublicKey || k instanceof KeyList) return k;\n if (typeof k === 'boolean') {\n return k ? operatorPublicKey : undefined;\n }\n if (typeof k === 'string') {\n try {\n return PublicKey.fromString(k);\n } catch {\n return undefined;\n }\n }\n return undefined;\n };\n\n const admin = coerceKey(adminKey);\n if (admin) {\n tx.setAdminKey(admin);\n }\n\n const submit = coerceKey(submitKey);\n if (submit) {\n tx.setSubmitKey(submit);\n }\n\n return tx;\n}\n\nexport function buildMessageTx(params: {\n topicId: string;\n message: string | Uint8Array;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const tx = new TopicMessageSubmitTransaction()\n .setTopicId(TopicId.fromString(params.topicId))\n .setMessage(params.message);\n if (params.transactionMemo) {\n tx.setTransactionMemo(params.transactionMemo);\n }\n return tx;\n}\n"],"names":[],"mappings":";AAUO,SAAS,uBACd,aACA,KACQ;AACR,SAAO,SAAS,WAAW,IAAI,GAAG;AACpC;AAEO,SAAS,mBAAmB,QAKR;AACzB,QAAM,EAAE,MAAM,UAAU,WAAW,sBAAsB;AACzD,QAAM,KAAK,IAAI,yBAAyB,aAAa,IAAI;AAEzD,QAAM,YAAY,CAAC,MAAkD;AACnE,QAAI,CAAC,EAAG,QAAO;AACf,QAAI,aAAa,aAAa,aAAa,QAAS,QAAO;AAC3D,QAAI,OAAO,MAAM,WAAW;AAC1B,aAAO,IAAI,oBAAoB;AAAA,IACjC;AACA,QAAI,OAAO,MAAM,UAAU;AACzB,UAAI;AACF,eAAO,UAAU,WAAW,CAAC;AAAA,MAC/B,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,UAAU,QAAQ;AAChC,MAAI,OAAO;AACT,OAAG,YAAY,KAAK;AAAA,EACtB;AAEA,QAAM,SAAS,UAAU,SAAS;AAClC,MAAI,QAAQ;AACV,OAAG,aAAa,MAAM;AAAA,EACxB;AAEA,SAAO;AACT;AAEO,SAAS,eAAe,QAIG;AAChC,QAAM,KAAK,IAAI,gCACZ,WAAW,QAAQ,WAAW,OAAO,OAAO,CAAC,EAC7C,WAAW,OAAO,OAAO;AAC5B,MAAI,OAAO,iBAAiB;AAC1B,OAAG,mBAAmB,OAAO,eAAe;AAAA,EAC9C;AACA,SAAO;AACT;"}