@hashgraphonline/standards-sdk 0.1.141-canary.31 → 0.1.141-canary.34

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 (78) hide show
  1. package/dist/cjs/hcs-21/base-client.d.ts +2 -1
  2. package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-21/sdk.d.ts +26 -0
  4. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  5. package/dist/cjs/hcs-21/types.d.ts +11 -1
  6. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  7. package/dist/cjs/services/types.d.ts +1 -0
  8. package/dist/cjs/services/types.d.ts.map +1 -1
  9. package/dist/cjs/standards-sdk.cjs +1 -1
  10. package/dist/cjs/standards-sdk.cjs.map +1 -1
  11. package/dist/es/hcs-21/base-client.d.ts +2 -1
  12. package/dist/es/hcs-21/base-client.d.ts.map +1 -1
  13. package/dist/es/hcs-21/sdk.d.ts +26 -0
  14. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  15. package/dist/es/hcs-21/types.d.ts +11 -1
  16. package/dist/es/hcs-21/types.d.ts.map +1 -1
  17. package/dist/es/services/types.d.ts +1 -0
  18. package/dist/es/services/types.d.ts.map +1 -1
  19. package/dist/es/standards-sdk.es100.js +1 -1
  20. package/dist/es/standards-sdk.es104.js +1 -1
  21. package/dist/es/standards-sdk.es110.js +1 -1
  22. package/dist/es/standards-sdk.es111.js +5 -5
  23. package/dist/es/standards-sdk.es121.js +1 -1
  24. package/dist/es/standards-sdk.es122.js +1 -1
  25. package/dist/es/standards-sdk.es123.js +5 -5
  26. package/dist/es/standards-sdk.es125.js +1 -1
  27. package/dist/es/standards-sdk.es126.js +1 -1
  28. package/dist/es/standards-sdk.es128.js +1 -1
  29. package/dist/es/standards-sdk.es13.js +1 -1
  30. package/dist/es/standards-sdk.es138.js +42 -766
  31. package/dist/es/standards-sdk.es138.js.map +1 -1
  32. package/dist/es/standards-sdk.es139.js +12265 -33
  33. package/dist/es/standards-sdk.es139.js.map +1 -1
  34. package/dist/es/standards-sdk.es141.js +766 -172
  35. package/dist/es/standards-sdk.es141.js.map +1 -1
  36. package/dist/es/standards-sdk.es142.js +55 -321
  37. package/dist/es/standards-sdk.es142.js.map +1 -1
  38. package/dist/es/standards-sdk.es143.js +120 -294
  39. package/dist/es/standards-sdk.es143.js.map +1 -1
  40. package/dist/es/standards-sdk.es144.js +191 -322
  41. package/dist/es/standards-sdk.es144.js.map +1 -1
  42. package/dist/es/standards-sdk.es145.js +294 -279
  43. package/dist/es/standards-sdk.es145.js.map +1 -1
  44. package/dist/es/standards-sdk.es146.js +440 -63
  45. package/dist/es/standards-sdk.es146.js.map +1 -1
  46. package/dist/es/standards-sdk.es147.js +267 -12210
  47. package/dist/es/standards-sdk.es147.js.map +1 -1
  48. package/dist/es/standards-sdk.es148.js +69 -49
  49. package/dist/es/standards-sdk.es148.js.map +1 -1
  50. package/dist/es/standards-sdk.es17.js +1 -1
  51. package/dist/es/standards-sdk.es19.js +3 -3
  52. package/dist/es/standards-sdk.es20.js +2 -2
  53. package/dist/es/standards-sdk.es23.js +1 -1
  54. package/dist/es/standards-sdk.es28.js +2 -2
  55. package/dist/es/standards-sdk.es31.js +1 -1
  56. package/dist/es/standards-sdk.es32.js +1 -1
  57. package/dist/es/standards-sdk.es36.js +2 -2
  58. package/dist/es/standards-sdk.es37.js +2 -2
  59. package/dist/es/standards-sdk.es38.js +1 -1
  60. package/dist/es/standards-sdk.es54.js +1 -1
  61. package/dist/es/standards-sdk.es57.js +1 -1
  62. package/dist/es/standards-sdk.es59.js +1 -1
  63. package/dist/es/standards-sdk.es61.js +1 -1
  64. package/dist/es/standards-sdk.es69.js +1 -1
  65. package/dist/es/standards-sdk.es70.js +1 -1
  66. package/dist/es/standards-sdk.es72.js +1 -1
  67. package/dist/es/standards-sdk.es78.js +1 -1
  68. package/dist/es/standards-sdk.es79.js +1 -1
  69. package/dist/es/standards-sdk.es8.js +1 -1
  70. package/dist/es/standards-sdk.es80.js +4 -3
  71. package/dist/es/standards-sdk.es80.js.map +1 -1
  72. package/dist/es/standards-sdk.es82.js +1 -1
  73. package/dist/es/standards-sdk.es83.js +24 -0
  74. package/dist/es/standards-sdk.es83.js.map +1 -1
  75. package/dist/es/standards-sdk.es84.js +70 -1
  76. package/dist/es/standards-sdk.es84.js.map +1 -1
  77. package/dist/es/standards-sdk.es92.js +1 -1
  78. package/package.json +63 -61
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es141.js","sources":["../../src/utils/parsers/hcs-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { AccountId, Long, Transaction } from '@hashgraph/sdk';\nimport {\n ConsensusCreateTopicData,\n ConsensusSubmitMessageData,\n ConsensusUpdateTopicData,\n ConsensusDeleteTopicData,\n} from '../transaction-parser-types';\nimport { parseKey } from './parser-utils';\nimport { Buffer } from 'buffer';\n\nexport class HCSParser {\n static parseConsensusCreateTopic(\n body: proto.IConsensusCreateTopicTransactionBody,\n ): ConsensusCreateTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusCreateTopicData = {};\n if (body.memo) {\n data.memo = body.memo;\n }\n data.adminKey = parseKey(body.adminKey);\n data.submitKey = parseKey(body.submitKey);\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds,\n ).toString();\n }\n if (body.autoRenewAccount) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccount.shardNum ?? 0,\n body.autoRenewAccount.realmNum ?? 0,\n body.autoRenewAccount.accountNum ?? 0,\n ).toString();\n }\n return data;\n }\n\n static parseConsensusSubmitMessage(\n body: proto.IConsensusSubmitMessageTransactionBody,\n ): ConsensusSubmitMessageData | undefined {\n if (!body) return undefined;\n const data: ConsensusSubmitMessageData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum ?? 0}.${\n body.topicID.realmNum ?? 0\n }.${body.topicID.topicNum ?? 0}`;\n }\n if (body.message?.length > 0) {\n const messageBuffer = Buffer.from(body.message);\n const utf8String = messageBuffer.toString('utf8');\n if (\n /[\\x00-\\x08\\x0B\\x0E-\\x1F\\x7F]/.test(utf8String) ||\n utf8String.includes('\\uFFFD')\n ) {\n data.message = messageBuffer.toString('base64');\n data.messageEncoding = 'base64';\n } else {\n data.message = utf8String;\n data.messageEncoding = 'utf8';\n }\n }\n if (body.chunkInfo) {\n if (body.chunkInfo.initialTransactionID) {\n const txId = body.chunkInfo.initialTransactionID.accountID;\n const taValidStart =\n body.chunkInfo.initialTransactionID.transactionValidStart;\n if (txId && taValidStart) {\n data.chunkInfoInitialTransactionID = `${txId.shardNum ?? 0}.${\n txId.realmNum ?? 0\n }.${txId.accountNum ?? 0}@${taValidStart.seconds ?? 0}.${\n taValidStart.nanos ?? 0\n }`;\n }\n }\n if (\n body.chunkInfo.number !== undefined &&\n body.chunkInfo.number !== null\n ) {\n data.chunkInfoNumber = body.chunkInfo.number;\n }\n if (body.chunkInfo.total !== undefined && body.chunkInfo.total !== null) {\n data.chunkInfoTotal = body.chunkInfo.total;\n }\n }\n return data;\n }\n\n static parseConsensusUpdateTopic(\n body: proto.IConsensusUpdateTopicTransactionBody,\n ): ConsensusUpdateTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusUpdateTopicData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}`;\n }\n if (body.memo?.value !== undefined) {\n data.memo = body.memo.value;\n }\n if (body.adminKey === null) {\n data.clearAdminKey = true;\n data.adminKey = undefined;\n } else if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n } else {\n data.adminKey = undefined;\n }\n if (body.submitKey === null) {\n data.clearSubmitKey = true;\n data.submitKey = undefined;\n } else if (body.submitKey) {\n data.submitKey = parseKey(body.submitKey);\n } else {\n data.submitKey = undefined;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds,\n ).toString();\n }\n if (body.autoRenewAccount) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccount.shardNum ?? 0,\n body.autoRenewAccount.realmNum ?? 0,\n body.autoRenewAccount.accountNum ?? 0,\n ).toString();\n }\n return data;\n }\n\n static parseConsensusDeleteTopic(\n body: proto.IConsensusDeleteTopicTransactionBody,\n ): ConsensusDeleteTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusDeleteTopicData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum ?? 0}.${\n body.topicID.topicNum ?? 0\n }`;\n }\n return data;\n }\n\n /**\n * Parse HCS transaction from Transaction object with comprehensive extraction\n * This is the unified entry point that handles both protobuf and internal field extraction\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const transactionBody = (\n transaction as unknown as { _transactionBody?: unknown }\n )._transactionBody as proto.ITransactionBody | undefined;\n\n if (!transactionBody) {\n return {};\n }\n\n if (transactionBody.consensusCreateTopic) {\n const consensusCreateTopic = this.parseConsensusCreateTopic(\n transactionBody.consensusCreateTopic,\n );\n if (consensusCreateTopic) {\n return {\n type: 'TOPICCREATE',\n humanReadableType: 'Topic Create',\n consensusCreateTopic,\n };\n }\n }\n\n if (transactionBody.consensusSubmitMessage) {\n const consensusSubmitMessage = this.parseConsensusSubmitMessage(\n transactionBody.consensusSubmitMessage,\n );\n if (consensusSubmitMessage) {\n return {\n type: 'CONSENSUSSUBMITMESSAGE',\n humanReadableType: 'Submit Message',\n consensusSubmitMessage,\n };\n }\n }\n\n if (transactionBody.consensusUpdateTopic) {\n const consensusUpdateTopic = this.parseConsensusUpdateTopic(\n transactionBody.consensusUpdateTopic,\n );\n if (consensusUpdateTopic) {\n return {\n type: 'TOPICUPDATE',\n humanReadableType: 'Topic Update',\n consensusUpdateTopic,\n };\n }\n }\n\n if (transactionBody.consensusDeleteTopic) {\n const consensusDeleteTopic = this.parseConsensusDeleteTopic(\n transactionBody.consensusDeleteTopic,\n );\n if (consensusDeleteTopic) {\n return {\n type: 'TOPICDELETE',\n humanReadableType: 'Topic Delete',\n consensusDeleteTopic,\n };\n }\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es141.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\n .record(\n z.union([\n z.array(jsonValueSchema),\n z.record(jsonValueSchema),\n jsonValueSchema,\n ]),\n )\n .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).optional().default([]),\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,325 +1,59 @@
1
- import { proto } from "@hashgraph/proto";
2
- import { Long } from "@hashgraph/sdk";
3
- import { hasTransactionType, parseKey } from "./standards-sdk.es146.js";
4
- import { Buffer } from "buffer";
5
- class FileParser {
6
- /**
7
- * Parse File Service transaction using unified dual-branch approach
8
- * This handles both regular transactions and signed transaction variants
9
- */
10
- static parseFileTransaction(transaction, originalBytes) {
11
- try {
12
- if (originalBytes || transaction.toBytes) {
13
- try {
14
- const bytesToParse = originalBytes || transaction.toBytes();
15
- const decoded = proto.TransactionList.decode(bytesToParse);
16
- if (decoded.transactionList && decoded.transactionList.length > 0) {
17
- const tx = decoded.transactionList[0];
18
- let txBody = null;
19
- if (tx.bodyBytes && tx.bodyBytes.length > 0) {
20
- txBody = proto.TransactionBody.decode(tx.bodyBytes);
21
- } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
22
- const signedTx = proto.SignedTransaction.decode(
23
- tx.signedTransactionBytes
24
- );
25
- if (signedTx.bodyBytes) {
26
- txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
27
- }
28
- }
29
- if (txBody) {
30
- const protoResult = this.parseFromProtobufTxBody(txBody);
31
- if (protoResult.type && protoResult.type !== "UNKNOWN") {
32
- return protoResult;
33
- }
34
- }
35
- }
36
- } catch (protoError) {
37
- }
38
- }
39
- return this.parseFromTransactionInternals(transaction);
40
- } catch (error) {
41
- return { type: "UNKNOWN", humanReadableType: "Unknown File Transaction" };
42
- }
43
- }
44
- /**
45
- * Parse file transaction from protobuf TransactionBody
46
- * Handles all file operations from decoded protobuf data
47
- */
48
- static parseFromProtobufTxBody(txBody) {
49
- if (txBody.fileCreate) {
50
- const fileCreate = this.parseFileCreate(txBody.fileCreate);
51
- if (fileCreate) {
52
- return {
53
- type: "FILECREATE",
54
- humanReadableType: "File Create",
55
- fileCreate
56
- };
57
- }
58
- }
59
- if (txBody.fileAppend) {
60
- const fileAppend = this.parseFileAppend(txBody.fileAppend);
61
- if (fileAppend) {
62
- return {
63
- type: "FILEAPPEND",
64
- humanReadableType: "File Append",
65
- fileAppend
66
- };
67
- }
68
- }
69
- if (txBody.fileUpdate) {
70
- const fileUpdate = this.parseFileUpdate(txBody.fileUpdate);
71
- if (fileUpdate) {
72
- return {
73
- type: "FILEUPDATE",
74
- humanReadableType: "File Update",
75
- fileUpdate
76
- };
77
- }
78
- }
79
- if (txBody.fileDelete) {
80
- const fileDelete = this.parseFileDelete(txBody.fileDelete);
81
- if (fileDelete) {
82
- return {
83
- type: "FILEDELETE",
84
- humanReadableType: "File Delete",
85
- fileDelete
86
- };
87
- }
88
- }
89
- return {};
90
- }
91
- /**
92
- * Extract file data from Transaction internal fields
93
- * This handles cases where data is stored in Transaction object internals
94
- */
95
- static parseFromTransactionInternals(transaction) {
96
- try {
97
- const tx = transaction;
98
- if (hasTransactionType(transaction, "fileCreate")) {
99
- const fileCreate = {};
100
- if (tx._contents) {
101
- const contentInfo = this.analyzeContent(tx._contents);
102
- fileCreate.contents = contentInfo.encoded;
103
- if (contentInfo.contentType) {
104
- fileCreate.contentType = contentInfo.contentType;
105
- }
106
- if (contentInfo.size) {
107
- fileCreate.contentSize = contentInfo.size;
108
- }
109
- }
110
- if (tx._keys && tx._keys.length > 0) {
111
- const keyList = {
112
- keys: tx._keys
113
- };
114
- fileCreate.keys = parseKey({ keyList });
115
- }
116
- if (tx._expirationTime) {
117
- fileCreate.expirationTime = tx._expirationTime.toString();
118
- }
119
- if (tx._memo) {
120
- fileCreate.memo = tx._memo;
121
- }
122
- return {
123
- type: "FILECREATE",
124
- humanReadableType: "File Create",
125
- fileCreate
126
- };
127
- }
128
- if (hasTransactionType(transaction, "fileAppend")) {
129
- const fileAppend = {
130
- fileId: tx._fileId.toString()
131
- };
132
- if (tx._contents) {
133
- const contentInfo = this.analyzeContent(tx._contents);
134
- fileAppend.contents = contentInfo.encoded;
135
- if (contentInfo.size) {
136
- fileAppend.contentSize = contentInfo.size;
137
- }
138
- }
139
- return {
140
- type: "FILEAPPEND",
141
- humanReadableType: "File Append",
142
- fileAppend
143
- };
144
- }
145
- if (hasTransactionType(transaction, "fileUpdate")) {
146
- const fileUpdate = {
147
- fileId: tx._fileId.toString()
148
- };
149
- if (tx._contents) {
150
- const contentInfo = this.analyzeContent(tx._contents);
151
- fileUpdate.contents = contentInfo.encoded;
152
- if (contentInfo.size) {
153
- fileUpdate.contentSize = contentInfo.size;
154
- }
155
- }
156
- if (tx._keys && tx._keys.length > 0) {
157
- const keyList = {
158
- keys: tx._keys
159
- };
160
- fileUpdate.keys = parseKey({ keyList });
161
- }
162
- if (tx._expirationTime) {
163
- fileUpdate.expirationTime = tx._expirationTime.toString();
164
- }
165
- if (tx._memo) {
166
- fileUpdate.memo = tx._memo;
167
- }
168
- return {
169
- type: "FILEUPDATE",
170
- humanReadableType: "File Update",
171
- fileUpdate
172
- };
173
- }
174
- if (hasTransactionType(transaction, "fileDelete")) {
175
- const fileDelete = {
176
- fileId: tx._fileId.toString()
177
- };
178
- return {
179
- type: "FILEDELETE",
180
- humanReadableType: "File Delete",
181
- fileDelete
182
- };
183
- }
184
- return {};
185
- } catch (error) {
186
- return {};
187
- }
188
- }
189
- /**
190
- * Enhanced content analysis with type detection and metadata
191
- */
192
- static analyzeContent(contents) {
193
- const size = contents.length;
194
- const contentBuffer = Buffer.from(contents);
195
- let contentType;
196
- if (size >= 4) {
197
- const header = contentBuffer.subarray(0, 4);
198
- const headerHex = header.toString("hex");
199
- const signatures = {
200
- "89504e47": "image/png",
201
- ffd8ffe0: "image/jpeg",
202
- ffd8ffe1: "image/jpeg",
203
- "47494638": "image/gif",
204
- "25504446": "application/pdf",
205
- "504b0304": "application/zip",
206
- "7f454c46": "application/x-executable",
207
- d0cf11e0: "application/msoffice"
208
- };
209
- contentType = signatures[headerHex.toLowerCase()];
210
- }
211
- if (!contentType) {
212
- try {
213
- const textContent = contentBuffer.toString("utf8");
214
- const hasControlChars = /[\x00-\x08\x0B\x0E-\x1F\x7F]/.test(
215
- textContent
216
- );
217
- const hasReplacementChars = textContent.includes("�");
218
- if (!hasControlChars && !hasReplacementChars) {
219
- if (textContent.trim().startsWith("{") && textContent.trim().endsWith("}")) {
220
- contentType = "application/json";
221
- } else if (textContent.includes("<?xml") || textContent.includes("<html")) {
222
- contentType = "text/xml";
223
- } else if (textContent.includes("<!DOCTYPE html")) {
224
- contentType = "text/html";
225
- } else {
226
- contentType = "text/plain";
227
- }
228
- } else {
229
- contentType = "application/octet-stream";
230
- }
231
- } catch {
232
- contentType = "application/octet-stream";
233
- }
234
- }
235
- let encoded;
236
- if (contentType?.startsWith("text/") || contentType === "application/json") {
237
- try {
238
- encoded = contentBuffer.toString("utf8");
239
- if (encoded.includes("�") || /[\x00-\x08\x0B\x0E-\x1F\x7F]/.test(encoded)) {
240
- encoded = contentBuffer.toString("base64");
241
- }
242
- } catch {
243
- encoded = contentBuffer.toString("base64");
244
- }
245
- } else {
246
- encoded = contentBuffer.toString("base64");
247
- }
248
- return {
249
- encoded,
250
- contentType,
251
- size
252
- };
253
- }
254
- static parseFileCreate(body) {
255
- if (!body) return void 0;
256
- const data = {};
257
- if (body.expirationTime?.seconds) {
258
- data.expirationTime = `${Long.fromValue(
259
- body.expirationTime.seconds
260
- ).toString()}.${body.expirationTime.nanos}`;
261
- }
262
- if (body.keys) {
263
- data.keys = parseKey({ keyList: body.keys });
264
- }
265
- if (body.contents) {
266
- data.contents = Buffer.from(body.contents).toString("base64");
267
- }
268
- if (body.memo) {
269
- data.memo = body.memo;
270
- }
271
- return data;
272
- }
273
- static parseFileAppend(body) {
274
- if (!body) return void 0;
275
- const data = {};
276
- if (body.fileID) {
277
- data.fileId = `${body.fileID.shardNum ?? 0}.${body.fileID.realmNum ?? 0}.${body.fileID.fileNum ?? 0}`;
278
- }
279
- if (body.contents) {
280
- data.contents = Buffer.from(body.contents).toString("base64");
281
- }
282
- return data;
283
- }
284
- static parseFileUpdate(body) {
285
- if (!body) return void 0;
286
- const data = {};
287
- if (body.fileID) {
288
- data.fileId = `${body.fileID.shardNum ?? 0}.${body.fileID.realmNum ?? 0}.${body.fileID.fileNum ?? 0}`;
289
- }
290
- if (body.expirationTime?.seconds) {
291
- data.expirationTime = `${Long.fromValue(
292
- body.expirationTime.seconds
293
- ).toString()}.${body.expirationTime.nanos}`;
294
- }
295
- if (body.keys) {
296
- data.keys = parseKey({ keyList: body.keys });
297
- }
298
- if (body.contents) {
299
- data.contents = Buffer.from(body.contents).toString("base64");
300
- }
301
- if (body.memo?.value !== void 0) {
302
- data.memo = body.memo.value;
303
- }
304
- return data;
305
- }
306
- static parseFileDelete(body) {
307
- if (!body) return void 0;
308
- const data = {};
309
- if (body.fileID) {
310
- data.fileId = `${body.fileID.shardNum ?? 0}.${body.fileID.realmNum ?? 0}.${body.fileID.fileNum ?? 0}`;
311
- }
312
- return data;
313
- }
314
- /**
315
- * Parse File Service transaction from Transaction object
316
- * This is the unified entry point that delegates to the comprehensive parsing logic
317
- */
318
- static parseFromTransactionObject(transaction) {
319
- return this.parseFileTransaction(transaction);
320
- }
1
+ const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
2
+ const BASE = 58;
3
+ function base58Encode(bytes) {
4
+ if (bytes.length === 0) return "";
5
+ let zeros = 0;
6
+ while (zeros < bytes.length && bytes[zeros] === 0) zeros++;
7
+ if (zeros === bytes.length) return "1".repeat(zeros);
8
+ const digits = [0];
9
+ for (let i = zeros; i < bytes.length; i++) {
10
+ let carry = bytes[i];
11
+ for (let j = 0; j < digits.length; j++) {
12
+ const val = (digits[j] << 8) + carry;
13
+ digits[j] = val % BASE;
14
+ carry = val / BASE | 0;
15
+ }
16
+ while (carry > 0) {
17
+ digits.push(carry % BASE);
18
+ carry = carry / BASE | 0;
19
+ }
20
+ }
21
+ let result = "";
22
+ for (let i = 0; i < zeros; i++) result += "1";
23
+ for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];
24
+ return result;
25
+ }
26
+ function base58Decode(text) {
27
+ if (text.length === 0) return new Uint8Array(0);
28
+ let zeros = 0;
29
+ while (zeros < text.length && text[zeros] === "1") zeros++;
30
+ const b256 = [];
31
+ for (let i = zeros; i < text.length; i++) {
32
+ const ch = text[i];
33
+ const val = ALPHABET.indexOf(ch);
34
+ if (val === -1) throw new Error("Invalid Base58 character");
35
+ let carry = val;
36
+ for (let j = 0; j < b256.length; j++) {
37
+ const x = b256[j] * BASE + carry;
38
+ b256[j] = x & 255;
39
+ carry = x >> 8;
40
+ }
41
+ while (carry > 0) {
42
+ b256.push(carry & 255);
43
+ carry >>= 8;
44
+ }
45
+ }
46
+ for (let i = 0; i < zeros; i++) b256.push(0);
47
+ b256.reverse();
48
+ return Uint8Array.from(b256);
49
+ }
50
+ function multibaseB58btcDecode(zText) {
51
+ if (!zText.startsWith("z")) throw new Error("Invalid multibase base58btc");
52
+ return base58Decode(zText.slice(1));
321
53
  }
322
54
  export {
323
- FileParser
55
+ base58Decode,
56
+ base58Encode,
57
+ multibaseB58btcDecode
324
58
  };
325
59
  //# sourceMappingURL=standards-sdk.es142.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es142.js","sources":["../../src/utils/parsers/file-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { Long, Transaction } from '@hashgraph/sdk';\nimport {\n FileCreateData,\n FileAppendData,\n FileUpdateData,\n FileDeleteData,\n} from '../transaction-parser-types';\nimport {\n parseKey,\n extractTransactionBody,\n hasTransactionType,\n} from './parser-utils';\nimport { Buffer } from 'buffer';\nimport { FileId } from '@hashgraph/sdk';\n\n/**\n * File Service Parser\n *\n * Handles parsing for all file-related transaction types including:\n * - File creation, updates, append, and deletion\n * - Proper dual-branch parsing (regular vs signed transactions)\n * - Comprehensive protobuf extraction\n * - Enhanced content handling with type detection\n */\nexport class FileParser {\n /**\n * Parse File Service transaction using unified dual-branch approach\n * This handles both regular transactions and signed transaction variants\n */\n static parseFileTransaction(\n transaction: Transaction,\n originalBytes?: Uint8Array,\n ): {\n type?: string;\n humanReadableType?: string;\n fileCreate?: FileCreateData;\n fileAppend?: FileAppendData;\n fileUpdate?: FileUpdateData;\n fileDelete?: FileDeleteData;\n [key: string]: unknown;\n } {\n try {\n if (originalBytes || transaction.toBytes) {\n try {\n const bytesToParse = originalBytes || transaction.toBytes();\n const decoded = proto.TransactionList.decode(bytesToParse);\n\n if (decoded.transactionList && decoded.transactionList.length > 0) {\n const tx = decoded.transactionList[0];\n let txBody: proto.ITransactionBody | null = null;\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n txBody = proto.TransactionBody.decode(tx.bodyBytes);\n } else if (\n tx.signedTransactionBytes &&\n tx.signedTransactionBytes.length > 0\n ) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n txBody = proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n if (txBody) {\n const protoResult = this.parseFromProtobufTxBody(txBody);\n if (protoResult.type && protoResult.type !== 'UNKNOWN') {\n return protoResult;\n }\n }\n }\n } catch (protoError) {}\n }\n\n return this.parseFromTransactionInternals(transaction);\n } catch (error) {\n return { type: 'UNKNOWN', humanReadableType: 'Unknown File Transaction' };\n }\n }\n\n /**\n * Parse file transaction from protobuf TransactionBody\n * Handles all file operations from decoded protobuf data\n */\n private static parseFromProtobufTxBody(txBody: proto.ITransactionBody): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n if (txBody.fileCreate) {\n const fileCreate = this.parseFileCreate(txBody.fileCreate);\n if (fileCreate) {\n return {\n type: 'FILECREATE',\n humanReadableType: 'File Create',\n fileCreate,\n };\n }\n }\n\n if (txBody.fileAppend) {\n const fileAppend = this.parseFileAppend(txBody.fileAppend);\n if (fileAppend) {\n return {\n type: 'FILEAPPEND',\n humanReadableType: 'File Append',\n fileAppend,\n };\n }\n }\n\n if (txBody.fileUpdate) {\n const fileUpdate = this.parseFileUpdate(txBody.fileUpdate);\n if (fileUpdate) {\n return {\n type: 'FILEUPDATE',\n humanReadableType: 'File Update',\n fileUpdate,\n };\n }\n }\n\n if (txBody.fileDelete) {\n const fileDelete = this.parseFileDelete(txBody.fileDelete);\n if (fileDelete) {\n return {\n type: 'FILEDELETE',\n humanReadableType: 'File Delete',\n fileDelete,\n };\n }\n }\n\n return {};\n }\n\n /**\n * Extract file data from Transaction internal fields\n * This handles cases where data is stored in Transaction object internals\n */\n private static parseFromTransactionInternals(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const tx = transaction as unknown as {\n _fileId?: { toString(): string };\n _contents?: Uint8Array;\n _keys?: unknown[];\n _expirationTime?: { toString(): string };\n _memo?: string;\n constructor?: { name?: string };\n };\n\n if (hasTransactionType(transaction, 'fileCreate')) {\n const fileCreate: FileCreateData = {};\n\n if (tx._contents) {\n const contentInfo = this.analyzeContent(tx._contents);\n fileCreate.contents = contentInfo.encoded;\n if (contentInfo.contentType) {\n fileCreate.contentType = contentInfo.contentType;\n }\n if (contentInfo.size) {\n fileCreate.contentSize = contentInfo.size;\n }\n }\n\n if (tx._keys && tx._keys.length > 0) {\n const keyList: proto.IKeyList = {\n keys: tx._keys as unknown as proto.IKey[],\n };\n fileCreate.keys = parseKey({ keyList });\n }\n\n if (tx._expirationTime) {\n fileCreate.expirationTime = tx._expirationTime.toString();\n }\n\n if (tx._memo) {\n fileCreate.memo = tx._memo;\n }\n\n return {\n type: 'FILECREATE',\n humanReadableType: 'File Create',\n fileCreate,\n };\n }\n\n if (hasTransactionType(transaction, 'fileAppend')) {\n const fileAppend: FileAppendData = {\n fileId: tx._fileId.toString(),\n };\n\n if (tx._contents) {\n const contentInfo = this.analyzeContent(tx._contents);\n fileAppend.contents = contentInfo.encoded;\n if (contentInfo.size) {\n fileAppend.contentSize = contentInfo.size;\n }\n }\n\n return {\n type: 'FILEAPPEND',\n humanReadableType: 'File Append',\n fileAppend,\n };\n }\n\n if (hasTransactionType(transaction, 'fileUpdate')) {\n const fileUpdate: FileUpdateData = {\n fileId: tx._fileId.toString(),\n };\n\n if (tx._contents) {\n const contentInfo = this.analyzeContent(tx._contents);\n fileUpdate.contents = contentInfo.encoded;\n if (contentInfo.size) {\n fileUpdate.contentSize = contentInfo.size;\n }\n }\n\n if (tx._keys && tx._keys.length > 0) {\n const keyList: proto.IKeyList = {\n keys: tx._keys as unknown as proto.IKey[],\n };\n fileUpdate.keys = parseKey({ keyList });\n }\n\n if (tx._expirationTime) {\n fileUpdate.expirationTime = tx._expirationTime.toString();\n }\n\n if (tx._memo) {\n fileUpdate.memo = tx._memo;\n }\n\n return {\n type: 'FILEUPDATE',\n humanReadableType: 'File Update',\n fileUpdate,\n };\n }\n\n if (hasTransactionType(transaction, 'fileDelete')) {\n const fileDelete: FileDeleteData = {\n fileId: tx._fileId.toString(),\n };\n\n return {\n type: 'FILEDELETE',\n humanReadableType: 'File Delete',\n fileDelete,\n };\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n\n /**\n * Enhanced content analysis with type detection and metadata\n */\n private static analyzeContent(contents: Uint8Array): {\n encoded: string;\n contentType?: string;\n size: number;\n } {\n const size = contents.length;\n const contentBuffer = Buffer.from(contents);\n\n let contentType: string | undefined;\n\n if (size >= 4) {\n const header = contentBuffer.subarray(0, 4);\n const headerHex = header.toString('hex');\n\n const signatures: Record<string, string> = {\n '89504e47': 'image/png',\n ffd8ffe0: 'image/jpeg',\n ffd8ffe1: 'image/jpeg',\n '47494638': 'image/gif',\n '25504446': 'application/pdf',\n '504b0304': 'application/zip',\n '7f454c46': 'application/x-executable',\n d0cf11e0: 'application/msoffice',\n };\n\n contentType = signatures[headerHex.toLowerCase()];\n }\n\n if (!contentType) {\n try {\n const textContent = contentBuffer.toString('utf8');\n const hasControlChars = /[\\x00-\\x08\\x0B\\x0E-\\x1F\\x7F]/.test(\n textContent,\n );\n const hasReplacementChars = textContent.includes('\\uFFFD');\n\n if (!hasControlChars && !hasReplacementChars) {\n if (\n textContent.trim().startsWith('{') &&\n textContent.trim().endsWith('}')\n ) {\n contentType = 'application/json';\n } else if (\n textContent.includes('<?xml') ||\n textContent.includes('<html')\n ) {\n contentType = 'text/xml';\n } else if (textContent.includes('<!DOCTYPE html')) {\n contentType = 'text/html';\n } else {\n contentType = 'text/plain';\n }\n } else {\n contentType = 'application/octet-stream';\n }\n } catch {\n contentType = 'application/octet-stream';\n }\n }\n\n let encoded: string;\n if (\n contentType?.startsWith('text/') ||\n contentType === 'application/json'\n ) {\n try {\n encoded = contentBuffer.toString('utf8');\n if (\n encoded.includes('\\uFFFD') ||\n /[\\x00-\\x08\\x0B\\x0E-\\x1F\\x7F]/.test(encoded)\n ) {\n encoded = contentBuffer.toString('base64');\n }\n } catch {\n encoded = contentBuffer.toString('base64');\n }\n } else {\n encoded = contentBuffer.toString('base64');\n }\n\n return {\n encoded,\n contentType,\n size,\n };\n }\n static parseFileCreate(\n body: proto.IFileCreateTransactionBody,\n ): FileCreateData | undefined {\n if (!body) return undefined;\n const data: FileCreateData = {};\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds,\n ).toString()}.${body.expirationTime.nanos}`;\n }\n if (body.keys) {\n data.keys = parseKey({ keyList: body.keys });\n }\n if (body.contents) {\n data.contents = Buffer.from(body.contents).toString('base64');\n }\n if (body.memo) {\n data.memo = body.memo;\n }\n return data;\n }\n\n static parseFileAppend(\n body: proto.IFileAppendTransactionBody,\n ): FileAppendData | undefined {\n if (!body) return undefined;\n const data: FileAppendData = {};\n if (body.fileID) {\n data.fileId = `${body.fileID.shardNum ?? 0}.${\n body.fileID.realmNum ?? 0\n }.${body.fileID.fileNum ?? 0}`;\n }\n if (body.contents) {\n data.contents = Buffer.from(body.contents).toString('base64');\n }\n return data;\n }\n\n static parseFileUpdate(\n body: proto.IFileUpdateTransactionBody,\n ): FileUpdateData | undefined {\n if (!body) return undefined;\n const data: FileUpdateData = {};\n if (body.fileID) {\n data.fileId = `${body.fileID.shardNum ?? 0}.${\n body.fileID.realmNum ?? 0\n }.${body.fileID.fileNum ?? 0}`;\n }\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds,\n ).toString()}.${body.expirationTime.nanos}`;\n }\n if (body.keys) {\n data.keys = parseKey({ keyList: body.keys });\n }\n if (body.contents) {\n data.contents = Buffer.from(body.contents).toString('base64');\n }\n if (body.memo?.value !== undefined) {\n data.memo = body.memo.value;\n }\n return data;\n }\n\n static parseFileDelete(\n body: proto.IFileDeleteTransactionBody,\n ): FileDeleteData | undefined {\n if (!body) return undefined;\n const data: FileDeleteData = {};\n if (body.fileID) {\n data.fileId = `${body.fileID.shardNum ?? 0}.${\n body.fileID.realmNum ?? 0\n }.${body.fileID.fileNum ?? 0}`;\n }\n return data;\n }\n\n /**\n * Parse File Service transaction from Transaction object\n * This is the unified entry point that delegates to the comprehensive parsing logic\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n return this.parseFileTransaction(transaction);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es142.js","sources":["../../src/hcs-14/base58.ts"],"sourcesContent":["/**\n * Minimal Base58 encoder/decoder (Bitcoin alphabet) with no external dependencies.\n */\n\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nconst BASE = 58;\n\nfunction countLeadingZeros(bytes: Uint8Array): number {\n let zeros = 0;\n for (let i = 0; i < bytes.length && bytes[i] === 0; i++) {\n zeros++;\n }\n return zeros;\n}\n\nexport function base58Encode(bytes: Uint8Array): string {\n if (bytes.length === 0) return '';\n\n let zeros = 0;\n while (zeros < bytes.length && bytes[zeros] === 0) zeros++;\n\n if (zeros === bytes.length) return '1'.repeat(zeros);\n\n const digits: number[] = [0];\n for (let i = zeros; i < bytes.length; i++) {\n let carry = bytes[i];\n for (let j = 0; j < digits.length; j++) {\n const val = (digits[j] << 8) + carry;\n digits[j] = val % BASE;\n carry = (val / BASE) | 0;\n }\n while (carry > 0) {\n digits.push(carry % BASE);\n carry = (carry / BASE) | 0;\n }\n }\n\n let result = '';\n for (let i = 0; i < zeros; i++) result += '1';\n for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];\n return result;\n}\n\nexport function base58Decode(text: string): Uint8Array {\n if (text.length === 0) return new Uint8Array(0);\n\n let zeros = 0;\n while (zeros < text.length && text[zeros] === '1') zeros++;\n\n const b256: number[] = [];\n for (let i = zeros; i < text.length; i++) {\n const ch = text[i];\n const val = ALPHABET.indexOf(ch);\n if (val === -1) throw new Error('Invalid Base58 character');\n\n let carry = val;\n for (let j = 0; j < b256.length; j++) {\n const x = b256[j] * BASE + carry;\n b256[j] = x & 0xff;\n carry = x >> 8;\n }\n while (carry > 0) {\n b256.push(carry & 0xff);\n carry >>= 8;\n }\n }\n\n for (let i = 0; i < zeros; i++) b256.push(0);\n b256.reverse();\n return Uint8Array.from(b256);\n}\n\nexport function multibaseB58btcDecode(zText: string): Uint8Array {\n if (!zText.startsWith('z')) throw new Error('Invalid multibase base58btc');\n return base58Decode(zText.slice(1));\n}\n"],"names":[],"mappings":"AAIA,MAAM,WAAW;AACjB,MAAM,OAAO;AAUN,SAAS,aAAa,OAA2B;AACtD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,MAAI,QAAQ;AACZ,SAAO,QAAQ,MAAM,UAAU,MAAM,KAAK,MAAM,EAAG;AAEnD,MAAI,UAAU,MAAM,OAAQ,QAAO,IAAI,OAAO,KAAK;AAEnD,QAAM,SAAmB,CAAC,CAAC;AAC3B,WAAS,IAAI,OAAO,IAAI,MAAM,QAAQ,KAAK;AACzC,QAAI,QAAQ,MAAM,CAAC;AACnB,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,YAAM,OAAO,OAAO,CAAC,KAAK,KAAK;AAC/B,aAAO,CAAC,IAAI,MAAM;AAClB,cAAS,MAAM,OAAQ;AAAA,IACzB;AACA,WAAO,QAAQ,GAAG;AAChB,aAAO,KAAK,QAAQ,IAAI;AACxB,cAAS,QAAQ,OAAQ;AAAA,IAC3B;AAAA,EACF;AAEA,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,WAAU;AAC1C,WAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,IAAK,WAAU,SAAS,OAAO,CAAC,CAAC;AACzE,SAAO;AACT;AAEO,SAAS,aAAa,MAA0B;AACrD,MAAI,KAAK,WAAW,EAAG,QAAO,IAAI,WAAW,CAAC;AAE9C,MAAI,QAAQ;AACZ,SAAO,QAAQ,KAAK,UAAU,KAAK,KAAK,MAAM,IAAK;AAEnD,QAAM,OAAiB,CAAA;AACvB,WAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,KAAK;AACxC,UAAM,KAAK,KAAK,CAAC;AACjB,UAAM,MAAM,SAAS,QAAQ,EAAE;AAC/B,QAAI,QAAQ,GAAI,OAAM,IAAI,MAAM,0BAA0B;AAE1D,QAAI,QAAQ;AACZ,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAM,IAAI,KAAK,CAAC,IAAI,OAAO;AAC3B,WAAK,CAAC,IAAI,IAAI;AACd,cAAQ,KAAK;AAAA,IACf;AACA,WAAO,QAAQ,GAAG;AAChB,WAAK,KAAK,QAAQ,GAAI;AACtB,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,MAAK,KAAK,CAAC;AAC3C,OAAK,QAAA;AACL,SAAO,WAAW,KAAK,IAAI;AAC7B;AAEO,SAAS,sBAAsB,OAA2B;AAC/D,MAAI,CAAC,MAAM,WAAW,GAAG,EAAG,OAAM,IAAI,MAAM,6BAA6B;AACzE,SAAO,aAAa,MAAM,MAAM,CAAC,CAAC;AACpC;"}