@hashgraphonline/standards-agent-kit 0.2.136 → 0.2.138

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 (211) hide show
  1. package/README.md +3 -4
  2. package/dist/cjs/builders/hcs10/hcs10-builder.d.ts +1 -0
  3. package/dist/cjs/builders/hcs2/hcs2-builder.d.ts +8 -7
  4. package/dist/cjs/builders/hcs6/hcs6-builder.d.ts +5 -4
  5. package/dist/cjs/builders/inscriber/inscriber-builder.d.ts +32 -1
  6. package/dist/cjs/index.d.ts +4 -0
  7. package/dist/cjs/signing/bytes-registry.d.ts +17 -0
  8. package/dist/cjs/signing/signer-provider.d.ts +45 -0
  9. package/dist/cjs/standards-agent-kit.cjs +1 -1
  10. package/dist/cjs/standards-agent-kit.cjs.map +1 -1
  11. package/dist/cjs/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
  12. package/dist/cjs/tools/hcs2/CreateRegistryTool.d.ts +2 -2
  13. package/dist/cjs/tools/hcs2/DeleteEntryTool.d.ts +2 -2
  14. package/dist/cjs/tools/hcs2/UpdateEntryTool.d.ts +2 -2
  15. package/dist/cjs/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
  16. package/dist/cjs/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
  17. package/dist/cjs/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
  18. package/dist/cjs/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
  19. package/dist/cjs/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
  20. package/dist/cjs/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
  21. package/dist/cjs/types/inscription-response.d.ts +8 -0
  22. package/dist/cjs/types/tx-results.d.ts +15 -0
  23. package/dist/cjs/utils/CodedError.d.ts +4 -0
  24. package/dist/cjs/utils/inscription-utils.d.ts +21 -0
  25. package/dist/cjs/validation/hip412-schemas.d.ts +2 -2
  26. package/dist/es/builders/hcs10/hcs10-builder.d.ts +1 -0
  27. package/dist/es/builders/hcs2/hcs2-builder.d.ts +8 -7
  28. package/dist/es/builders/hcs6/hcs6-builder.d.ts +5 -4
  29. package/dist/es/builders/inscriber/inscriber-builder.d.ts +32 -1
  30. package/dist/es/index.d.ts +4 -0
  31. package/dist/es/signing/bytes-registry.d.ts +17 -0
  32. package/dist/es/signing/signer-provider.d.ts +45 -0
  33. package/dist/es/standards-agent-kit.es.js +46 -42
  34. package/dist/es/standards-agent-kit.es.js.map +1 -1
  35. package/dist/es/standards-agent-kit.es10.js +24 -83
  36. package/dist/es/standards-agent-kit.es10.js.map +1 -1
  37. package/dist/es/standards-agent-kit.es11.js +224 -20
  38. package/dist/es/standards-agent-kit.es11.js.map +1 -1
  39. package/dist/es/standards-agent-kit.es12.js +78 -27
  40. package/dist/es/standards-agent-kit.es12.js.map +1 -1
  41. package/dist/es/standards-agent-kit.es13.js +26 -36
  42. package/dist/es/standards-agent-kit.es13.js.map +1 -1
  43. package/dist/es/standards-agent-kit.es14.js +17 -39
  44. package/dist/es/standards-agent-kit.es14.js.map +1 -1
  45. package/dist/es/standards-agent-kit.es15.js +36 -58
  46. package/dist/es/standards-agent-kit.es15.js.map +1 -1
  47. package/dist/es/standards-agent-kit.es16.js +45 -18
  48. package/dist/es/standards-agent-kit.es16.js.map +1 -1
  49. package/dist/es/standards-agent-kit.es17.js +53 -16
  50. package/dist/es/standards-agent-kit.es17.js.map +1 -1
  51. package/dist/es/standards-agent-kit.es18.js +18 -28
  52. package/dist/es/standards-agent-kit.es18.js.map +1 -1
  53. package/dist/es/standards-agent-kit.es19.js +26 -12
  54. package/dist/es/standards-agent-kit.es19.js.map +1 -1
  55. package/dist/es/standards-agent-kit.es20.js +38 -136
  56. package/dist/es/standards-agent-kit.es20.js.map +1 -1
  57. package/dist/es/standards-agent-kit.es21.js +13 -24
  58. package/dist/es/standards-agent-kit.es21.js.map +1 -1
  59. package/dist/es/standards-agent-kit.es22.js +136 -39
  60. package/dist/es/standards-agent-kit.es22.js.map +1 -1
  61. package/dist/es/standards-agent-kit.es23.js +25 -41
  62. package/dist/es/standards-agent-kit.es23.js.map +1 -1
  63. package/dist/es/standards-agent-kit.es24.js +49 -31
  64. package/dist/es/standards-agent-kit.es24.js.map +1 -1
  65. package/dist/es/standards-agent-kit.es25.js +34 -18
  66. package/dist/es/standards-agent-kit.es25.js.map +1 -1
  67. package/dist/es/standards-agent-kit.es26.js +35 -19
  68. package/dist/es/standards-agent-kit.es26.js.map +1 -1
  69. package/dist/es/standards-agent-kit.es27.js +45 -32
  70. package/dist/es/standards-agent-kit.es27.js.map +1 -1
  71. package/dist/es/standards-agent-kit.es28.js +54 -25
  72. package/dist/es/standards-agent-kit.es28.js.map +1 -1
  73. package/dist/es/standards-agent-kit.es29.js +35 -23
  74. package/dist/es/standards-agent-kit.es29.js.map +1 -1
  75. package/dist/es/standards-agent-kit.es3.js +41 -1545
  76. package/dist/es/standards-agent-kit.es3.js.map +1 -1
  77. package/dist/es/standards-agent-kit.es30.js +23 -39
  78. package/dist/es/standards-agent-kit.es30.js.map +1 -1
  79. package/dist/es/standards-agent-kit.es31.js +30 -28
  80. package/dist/es/standards-agent-kit.es31.js.map +1 -1
  81. package/dist/es/standards-agent-kit.es32.js +45 -32
  82. package/dist/es/standards-agent-kit.es32.js.map +1 -1
  83. package/dist/es/standards-agent-kit.es33.js +50 -89
  84. package/dist/es/standards-agent-kit.es33.js.map +1 -1
  85. package/dist/es/standards-agent-kit.es34.js +35 -228
  86. package/dist/es/standards-agent-kit.es34.js.map +1 -1
  87. package/dist/es/standards-agent-kit.es35.js +87 -212
  88. package/dist/es/standards-agent-kit.es35.js.map +1 -1
  89. package/dist/es/standards-agent-kit.es36.js +188 -128
  90. package/dist/es/standards-agent-kit.es36.js.map +1 -1
  91. package/dist/es/standards-agent-kit.es37.js +167 -561
  92. package/dist/es/standards-agent-kit.es37.js.map +1 -1
  93. package/dist/es/standards-agent-kit.es38.js +236 -31
  94. package/dist/es/standards-agent-kit.es38.js.map +1 -1
  95. package/dist/es/standards-agent-kit.es39.js +483 -206
  96. package/dist/es/standards-agent-kit.es39.js.map +1 -1
  97. package/dist/es/standards-agent-kit.es4.js +359 -81
  98. package/dist/es/standards-agent-kit.es4.js.map +1 -1
  99. package/dist/es/standards-agent-kit.es40.js +39 -135
  100. package/dist/es/standards-agent-kit.es40.js.map +1 -1
  101. package/dist/es/standards-agent-kit.es41.js +244 -28
  102. package/dist/es/standards-agent-kit.es41.js.map +1 -1
  103. package/dist/es/standards-agent-kit.es42.js +132 -418
  104. package/dist/es/standards-agent-kit.es42.js.map +1 -1
  105. package/dist/es/standards-agent-kit.es43.js +28 -184
  106. package/dist/es/standards-agent-kit.es43.js.map +1 -1
  107. package/dist/es/standards-agent-kit.es44.js +423 -3
  108. package/dist/es/standards-agent-kit.es44.js.map +1 -1
  109. package/dist/es/standards-agent-kit.es45.js +185 -24
  110. package/dist/es/standards-agent-kit.es45.js.map +1 -1
  111. package/dist/es/standards-agent-kit.es46.js +3 -3
  112. package/dist/es/standards-agent-kit.es46.js.map +1 -1
  113. package/dist/es/standards-agent-kit.es47.js +21 -50
  114. package/dist/es/standards-agent-kit.es47.js.map +1 -1
  115. package/dist/es/standards-agent-kit.es48.js +8 -3
  116. package/dist/es/standards-agent-kit.es48.js.map +1 -1
  117. package/dist/es/standards-agent-kit.es49.js +3 -39
  118. package/dist/es/standards-agent-kit.es49.js.map +1 -1
  119. package/dist/es/standards-agent-kit.es5.js +1747 -73
  120. package/dist/es/standards-agent-kit.es5.js.map +1 -1
  121. package/dist/es/standards-agent-kit.es50.js +18 -16
  122. package/dist/es/standards-agent-kit.es50.js.map +1 -1
  123. package/dist/es/standards-agent-kit.es51.js +49 -49
  124. package/dist/es/standards-agent-kit.es51.js.map +1 -1
  125. package/dist/es/standards-agent-kit.es52.js +6 -0
  126. package/dist/es/standards-agent-kit.es52.js.map +1 -0
  127. package/dist/es/standards-agent-kit.es53.js +43 -0
  128. package/dist/es/standards-agent-kit.es53.js.map +1 -0
  129. package/dist/es/standards-agent-kit.es54.js +22 -0
  130. package/dist/es/standards-agent-kit.es54.js.map +1 -0
  131. package/dist/es/standards-agent-kit.es55.js +77 -0
  132. package/dist/es/standards-agent-kit.es55.js.map +1 -0
  133. package/dist/es/standards-agent-kit.es56.js +7 -0
  134. package/dist/es/standards-agent-kit.es56.js.map +1 -0
  135. package/dist/es/standards-agent-kit.es6.js +347 -32
  136. package/dist/es/standards-agent-kit.es6.js.map +1 -1
  137. package/dist/es/standards-agent-kit.es7.js +142 -293
  138. package/dist/es/standards-agent-kit.es7.js.map +1 -1
  139. package/dist/es/standards-agent-kit.es8.js +201 -21
  140. package/dist/es/standards-agent-kit.es8.js.map +1 -1
  141. package/dist/es/standards-agent-kit.es9.js +301 -213
  142. package/dist/es/standards-agent-kit.es9.js.map +1 -1
  143. package/dist/es/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
  144. package/dist/es/tools/hcs2/CreateRegistryTool.d.ts +2 -2
  145. package/dist/es/tools/hcs2/DeleteEntryTool.d.ts +2 -2
  146. package/dist/es/tools/hcs2/UpdateEntryTool.d.ts +2 -2
  147. package/dist/es/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
  148. package/dist/es/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
  149. package/dist/es/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
  150. package/dist/es/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
  151. package/dist/es/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
  152. package/dist/es/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
  153. package/dist/es/types/inscription-response.d.ts +8 -0
  154. package/dist/es/types/tx-results.d.ts +15 -0
  155. package/dist/es/utils/CodedError.d.ts +4 -0
  156. package/dist/es/utils/inscription-utils.d.ts +21 -0
  157. package/dist/es/validation/hip412-schemas.d.ts +2 -2
  158. package/dist/umd/builders/hcs10/hcs10-builder.d.ts +1 -0
  159. package/dist/umd/builders/hcs2/hcs2-builder.d.ts +8 -7
  160. package/dist/umd/builders/hcs6/hcs6-builder.d.ts +5 -4
  161. package/dist/umd/builders/inscriber/inscriber-builder.d.ts +32 -1
  162. package/dist/umd/index.d.ts +4 -0
  163. package/dist/umd/signing/bytes-registry.d.ts +17 -0
  164. package/dist/umd/signing/signer-provider.d.ts +45 -0
  165. package/dist/umd/standards-agent-kit.umd.js +1 -1
  166. package/dist/umd/standards-agent-kit.umd.js.map +1 -1
  167. package/dist/umd/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
  168. package/dist/umd/tools/hcs2/CreateRegistryTool.d.ts +2 -2
  169. package/dist/umd/tools/hcs2/DeleteEntryTool.d.ts +2 -2
  170. package/dist/umd/tools/hcs2/UpdateEntryTool.d.ts +2 -2
  171. package/dist/umd/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
  172. package/dist/umd/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
  173. package/dist/umd/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
  174. package/dist/umd/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
  175. package/dist/umd/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
  176. package/dist/umd/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
  177. package/dist/umd/types/inscription-response.d.ts +8 -0
  178. package/dist/umd/types/tx-results.d.ts +15 -0
  179. package/dist/umd/utils/CodedError.d.ts +4 -0
  180. package/dist/umd/utils/inscription-utils.d.ts +21 -0
  181. package/dist/umd/validation/hip412-schemas.d.ts +2 -2
  182. package/package.json +10 -5
  183. package/src/builders/hcs10/hcs10-builder.ts +239 -6
  184. package/src/builders/hcs2/hcs2-builder.ts +302 -9
  185. package/src/builders/hcs6/hcs6-builder.ts +79 -4
  186. package/src/builders/inscriber/inscriber-builder.ts +235 -2
  187. package/src/hcs10/HCS10Client.ts +1 -1
  188. package/src/index.ts +5 -1
  189. package/src/lib/zod-render/schema-extension.ts +0 -1
  190. package/src/signing/bytes-registry.ts +501 -0
  191. package/src/signing/signer-provider.ts +120 -0
  192. package/src/tools/hcs2/CreateRegistryTool.ts +30 -5
  193. package/src/tools/hcs2/DeleteEntryTool.ts +16 -2
  194. package/src/tools/hcs2/MigrateRegistryTool.ts +16 -2
  195. package/src/tools/hcs2/QueryRegistryTool.ts +11 -2
  196. package/src/tools/hcs2/RegisterEntryTool.ts +17 -3
  197. package/src/tools/hcs2/UpdateEntryTool.ts +16 -2
  198. package/src/tools/hcs6/CreateDynamicRegistryTool.ts +17 -3
  199. package/src/tools/hcs6/RegisterDynamicHashinalTool.ts +17 -3
  200. package/src/tools/hcs6/UpdateDynamicHashinalTool.ts +17 -3
  201. package/src/tools/inscriber/InscribeFromBufferTool.ts +126 -21
  202. package/src/tools/inscriber/InscribeFromFileTool.ts +10 -13
  203. package/src/tools/inscriber/InscribeFromUrlTool.ts +15 -11
  204. package/src/tools/inscriber/InscribeHashinalTool.ts +40 -168
  205. package/src/tools/inscriber/RetrieveInscriptionTool.ts +15 -16
  206. package/src/types/inscription-response.ts +27 -0
  207. package/src/types/tx-results.ts +18 -0
  208. package/src/utils/CodedError.ts +8 -0
  209. package/src/utils/Encryption.ts +0 -2
  210. package/src/utils/ensure-agent-has-hbar.ts +4 -5
  211. package/src/utils/inscription-utils.ts +53 -0
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es42.js","sources":["../../src/lib/zod-render/schema-extension.ts"],"sourcesContent":["import { ZodType } from 'zod';\nimport { RenderConfigSchema, EnhancedRenderConfig, ZodSchemaWithRender, FormFieldType, FieldMetadata, SelectOption } from './types';\n\n// Type definitions for extended Zod schemas - using Record to extend existing properties\ninterface ExtendedZodSchema {\n description?: string;\n merge?: (other: ZodType<unknown>) => ZodType<unknown>;\n extend?: (extensions: Record<string, ZodType<unknown>>) => ZodType<unknown>;\n pick?: (fields: Record<string, boolean>) => ZodType<unknown>;\n omit?: (fields: Record<string, boolean>) => ZodType<unknown>;\n withRender?: (config: EnhancedRenderConfig | RenderConfigSchema) => ZodSchemaWithRender<unknown>;\n withProgressive?: (priority: 'essential' | 'common' | 'advanced' | 'expert', group?: string) => ZodSchemaWithRender<unknown>;\n withBlock?: (blockId: string) => ZodSchemaWithRender<unknown>;\n}\n\n/**\n * Extends a Zod schema with render configuration capabilities\n */\nexport function extendZodSchema<TSchema>(schema: ZodType<TSchema>): ZodSchemaWithRender<TSchema> {\n const extendedSchema = schema as ZodSchemaWithRender<TSchema>;\n\n extendedSchema.withRender = function(config: EnhancedRenderConfig | RenderConfigSchema): ZodSchemaWithRender<TSchema> {\n const newSchema = Object.create(this);\n const currentConfig = this._renderConfig || {} as EnhancedRenderConfig;\n\n const mergedConfig: EnhancedRenderConfig = {\n ...currentConfig,\n ...config,\n ui: {\n ...(currentConfig.ui || {}),\n ...(config.ui || {})\n }\n };\n\n if (currentConfig.progressive || (config as EnhancedRenderConfig).progressive) {\n mergedConfig.progressive = {\n ...(currentConfig.progressive || {} as NonNullable<EnhancedRenderConfig['progressive']>),\n ...((config as EnhancedRenderConfig).progressive || {} as NonNullable<EnhancedRenderConfig['progressive']>)\n };\n }\n\n if (currentConfig.block || (config as EnhancedRenderConfig).block) {\n mergedConfig.block = {\n ...(currentConfig.block || {} as NonNullable<EnhancedRenderConfig['block']>),\n ...((config as EnhancedRenderConfig).block || {} as NonNullable<EnhancedRenderConfig['block']>)\n };\n }\n\n (newSchema as ZodSchemaWithRender<TSchema>)._renderConfig = mergedConfig;\n (newSchema as ZodSchemaWithRender<TSchema>).withRender = extendedSchema.withRender;\n (newSchema as ZodSchemaWithRender<TSchema>).withProgressive = extendedSchema.withProgressive;\n (newSchema as ZodSchemaWithRender<TSchema>).withBlock = extendedSchema.withBlock;\n return newSchema as ZodSchemaWithRender<TSchema>;\n };\n\n extendedSchema.withProgressive = function(\n priority: 'essential' | 'common' | 'advanced' | 'expert',\n group?: string\n ): ZodSchemaWithRender<TSchema> {\n const currentConfig = this._renderConfig || { fieldType: inferFieldTypeFromSchema(schema) };\n return this.withRender({\n ...currentConfig,\n progressive: {\n priority,\n group\n }\n });\n };\n\n extendedSchema.withBlock = function(blockId: string): ZodSchemaWithRender<TSchema> {\n const currentConfig = this._renderConfig || { fieldType: inferFieldTypeFromSchema(schema) };\n return this.withRender({\n ...currentConfig,\n block: {\n id: blockId,\n type: 'field',\n reusable: true\n }\n });\n };\n\n return extendedSchema;\n}\n\n/**\n * Checks if a schema has render configuration\n */\nexport function hasRenderConfig(schema: unknown): schema is ZodSchemaWithRender {\n return Boolean(schema && typeof (schema as Record<string, unknown>).withRender === 'function');\n}\n\n/**\n * Extracts render configuration from a schema\n */\nexport function getRenderConfig(schema: ZodType<unknown>): EnhancedRenderConfig | undefined {\n if (hasRenderConfig(schema)) {\n return schema._renderConfig;\n }\n return undefined;\n}\n\n/**\n * Infers form field type from Zod schema type with enhanced field detection\n */\nexport function inferFieldTypeFromSchema(schema: ZodType<unknown>): FormFieldType {\n const typeName = (schema._def as Record<string, unknown>)?.typeName;\n\n switch (typeName) {\n case 'ZodString': {\n const stringChecks = ((schema._def as Record<string, unknown>)?.checks as Array<Record<string, unknown>>) || [];\n for (const check of stringChecks) {\n if (check.kind === 'email') {return 'text';}\n if (check.kind === 'url') {return 'text';}\n }\n return 'text';\n }\n\n case 'ZodNumber':\n case 'ZodBigInt':\n return 'number';\n\n case 'ZodBoolean':\n return 'checkbox';\n\n case 'ZodEnum':\n case 'ZodNativeEnum':\n return 'select';\n\n case 'ZodArray':\n return 'array';\n\n case 'ZodUnion':\n case 'ZodDiscriminatedUnion':\n return 'select';\n\n case 'ZodDate':\n return 'text';\n\n case 'ZodObject':\n return 'object';\n\n case 'ZodOptional':\n case 'ZodDefault': {\n const innerType = (schema._def as Record<string, unknown>)?.innerType as ZodType<unknown>;\n if (innerType) {\n return inferFieldTypeFromSchema(innerType);\n }\n return 'text';\n }\n\n default:\n return 'text';\n }\n}\n\n/**\n * Extracts options from enum, union, or literal schemas\n */\nexport function extractOptionsFromSchema(schema: ZodType<unknown>): SelectOption[] | undefined {\n const typeName = (schema._def as Record<string, unknown>)?.typeName;\n\n if (typeName === 'ZodEnum') {\n const values = (schema._def as Record<string, unknown>)?.values;\n if (Array.isArray(values)) {\n return values.map((value: string) => ({\n value,\n label: value.charAt(0).toUpperCase() + value.slice(1).replace(/[_-]/g, ' '),\n }));\n }\n }\n\n if (typeName === 'ZodNativeEnum') {\n const enumObject = (schema._def as Record<string, unknown>)?.values as Record<string, unknown>;\n if (enumObject) {\n return Object.entries(enumObject).map(([key, value]) => ({\n value,\n label: key.replace(/[_-]/g, ' '),\n }));\n }\n }\n\n if (typeName === 'ZodUnion') {\n const options: SelectOption[] = [];\n const unionOptions = (schema._def as Record<string, unknown>)?.options as Array<ZodType<unknown>>;\n\n if (Array.isArray(unionOptions)) {\n for (const option of unionOptions) {\n if ((option._def as Record<string, unknown>)?.typeName === 'ZodLiteral') {\n const value = (option._def as Record<string, unknown>)?.value;\n if (value !== undefined) {\n options.push({\n value,\n label: typeof value === 'string'\n ? value.charAt(0).toUpperCase() + value.slice(1)\n : String(value),\n });\n }\n }\n }\n }\n\n return options.length > 0 ? options : undefined;\n }\n\n return undefined;\n}\n\n/**\n * Checks if a schema is optional\n */\nexport function isOptionalSchema(schema: ZodType<unknown>): boolean {\n const typeName = (schema._def as Record<string, unknown>)?.typeName;\n return typeName === 'ZodOptional' || typeName === 'ZodDefault';\n}\n\n/**\n * Gets the inner schema from optional/default wrappers\n */\nexport function getInnerSchema(schema: ZodType<unknown>): ZodType<unknown> {\n const typeName = (schema._def as Record<string, unknown>)?.typeName;\n if (typeName === 'ZodOptional' || typeName === 'ZodDefault') {\n const innerType = (schema._def as Record<string, unknown>)?.innerType as ZodType<unknown>;\n return innerType || schema;\n }\n return schema;\n}\n\n/**\n * Extracts validation constraints from a schema with enhanced support\n */\nexport function extractValidationConstraints(schema: ZodType<unknown>): Record<string, unknown> {\n const innerSchema = getInnerSchema(schema);\n const typeName = (innerSchema._def as Record<string, unknown>)?.typeName;\n const constraints: Record<string, unknown> = {};\n\n if (typeName === 'ZodString') {\n const def = innerSchema._def as Record<string, unknown>;\n const checks = def.checks as Array<Record<string, unknown>>;\n if (checks && Array.isArray(checks)) {\n for (const check of checks) {\n switch (check.kind) {\n case 'min':\n constraints.minLength = check.value;\n break;\n case 'max':\n constraints.maxLength = check.value;\n break;\n case 'email':\n constraints.type = 'email';\n break;\n case 'url':\n constraints.type = 'url';\n break;\n case 'regex':\n constraints.pattern = check.regex as string;\n break;\n }\n }\n }\n }\n\n if (typeName === 'ZodNumber') {\n const def = innerSchema._def as Record<string, unknown>;\n const checks = def.checks as Array<Record<string, unknown>>;\n if (checks && Array.isArray(checks)) {\n for (const check of checks) {\n switch (check.kind) {\n case 'min':\n constraints.min = check.value;\n break;\n case 'max':\n constraints.max = check.value;\n break;\n case 'int':\n constraints.step = 1;\n break;\n case 'multipleOf':\n constraints.step = check.value;\n break;\n }\n }\n }\n }\n\n if (typeName === 'ZodArray') {\n const def = innerSchema._def as Record<string, unknown>;\n const minLength = def.minLength as Record<string, unknown> | undefined;\n const maxLength = def.maxLength as Record<string, unknown> | undefined;\n if (minLength !== undefined) {\n constraints.minItems = minLength.value;\n }\n if (maxLength !== undefined) {\n constraints.maxItems = maxLength.value;\n }\n }\n\n return constraints;\n}\n\n/**\n * Gets default value from schema with comprehensive type support\n */\nexport function getDefaultValue(schema: ZodType<unknown>): unknown {\n const typeName = (schema._def as Record<string, unknown>)?.typeName;\n if (typeName === 'ZodDefault') {\n const defaultValue = (schema._def as Record<string, unknown>)?.defaultValue;\n if (typeof defaultValue === 'function') {\n return (defaultValue as () => unknown)();\n }\n return defaultValue;\n }\n\n const innerSchema = getInnerSchema(schema);\n const innerTypeName = (innerSchema._def as Record<string, unknown>)?.typeName;\n\n switch (innerTypeName) {\n case 'ZodString':\n return '';\n case 'ZodNumber':\n case 'ZodBigInt':\n return 0;\n case 'ZodBoolean':\n return false;\n case 'ZodArray':\n return [];\n case 'ZodObject': {\n const shape = (innerSchema._def as Record<string, unknown>)?.shape as Record<string, ZodType<unknown>>;\n if (shape) {\n const defaultObj: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(shape)) {\n defaultObj[key] = getDefaultValue(value);\n }\n return defaultObj;\n }\n return {};\n }\n case 'ZodDate':\n return new Date();\n case 'ZodEnum': {\n const values = (innerSchema._def as Record<string, unknown>)?.values as unknown[];\n return Array.isArray(values) && values.length > 0 ? values[0] : undefined;\n }\n default:\n return undefined;\n }\n}\n\n/**\n * Extracts field metadata from schema including render configuration\n */\nexport function extractFieldMetadata(schema: ZodType<unknown>): FieldMetadata {\n const innerSchema = getInnerSchema(schema);\n const fieldType = inferFieldTypeFromSchema(schema);\n const required = !isOptionalSchema(schema);\n const optional = isOptionalSchema(schema);\n const defaultValue = getDefaultValue(schema);\n const options = extractOptionsFromSchema(innerSchema);\n const constraints = extractValidationConstraints(schema);\n const description = (schema as ZodType<unknown> & ExtendedZodSchema)?.description;\n\n return {\n type: fieldType,\n required,\n optional,\n default: defaultValue,\n options,\n constraints,\n description,\n validation: {\n minLength: constraints.minLength as number,\n maxLength: constraints.maxLength as number,\n min: constraints.min as number,\n max: constraints.max as number,\n pattern: constraints.pattern ? new RegExp(constraints.pattern as string) : undefined,\n }\n };\n}\n\n\n\n/**\n * Helper function to create common render configurations\n */\nexport const renderConfigs = {\n text: (label: string, placeholder?: string, priority: 'essential' | 'common' | 'advanced' | 'expert' = 'common'): EnhancedRenderConfig => ({\n fieldType: 'text',\n ui: { label, placeholder, priority },\n progressive: { priority }\n }),\n\n number: (label: string, min?: number, max?: number, priority: 'essential' | 'common' | 'advanced' | 'expert' = 'common'): EnhancedRenderConfig => ({\n fieldType: 'number',\n ui: { label, priority },\n constraints: { min, max },\n progressive: { priority }\n }),\n\n select: (label: string, options: SelectOption[], priority: 'essential' | 'common' | 'advanced' | 'expert' = 'common'): EnhancedRenderConfig => ({\n fieldType: 'select',\n ui: { label, priority },\n options,\n progressive: { priority }\n }),\n\n textarea: (label: string, rows = 3, priority: 'essential' | 'common' | 'advanced' | 'expert' = 'common'): EnhancedRenderConfig => ({\n fieldType: 'textarea',\n ui: { label, priority },\n props: { rows },\n progressive: { priority }\n }),\n\n currency: (label: string, symbol = 'HBAR', priority: 'essential' | 'common' | 'advanced' | 'expert' = 'common'): EnhancedRenderConfig => ({\n fieldType: 'currency',\n ui: { label, priority },\n props: { symbol },\n progressive: { priority }\n }),\n\n array: (label: string, itemLabel?: string, priority: 'essential' | 'common' | 'advanced' | 'expert' = 'advanced'): EnhancedRenderConfig => ({\n fieldType: 'array',\n ui: { label, priority },\n props: { itemLabel },\n progressive: { priority }\n }),\n\n essential: {\n text: (label: string, placeholder?: string) => renderConfigs.text(label, placeholder, 'essential'),\n number: (label: string, min?: number, max?: number) => renderConfigs.number(label, min, max, 'essential'),\n select: (label: string, options: SelectOption[]) => renderConfigs.select(label, options, 'essential'),\n textarea: (label: string, rows?: number) => renderConfigs.textarea(label, rows, 'essential'),\n },\n\n advanced: {\n text: (label: string, placeholder?: string) => renderConfigs.text(label, placeholder, 'advanced'),\n number: (label: string, min?: number, max?: number) => renderConfigs.number(label, min, max, 'advanced'),\n select: (label: string, options: SelectOption[]) => renderConfigs.select(label, options, 'advanced'),\n textarea: (label: string, rows?: number) => renderConfigs.textarea(label, rows, 'advanced'),\n array: (label: string, itemLabel?: string) => renderConfigs.array(label, itemLabel, 'advanced'),\n },\n\n expert: {\n text: (label: string, placeholder?: string) => renderConfigs.text(label, placeholder, 'expert'),\n number: (label: string, min?: number, max?: number) => renderConfigs.number(label, min, max, 'expert'),\n select: (label: string, options: SelectOption[]) => renderConfigs.select(label, options, 'expert'),\n textarea: (label: string, rows?: number) => renderConfigs.textarea(label, rows, 'expert'),\n }\n};\n\n/**\n * Extends Zod prototype to add withRender functionality globally\n */\nexport function installZodRenderExtensions() {\n if (!(ZodType.prototype as typeof ZodType.prototype & ExtendedZodSchema).withRender) {\n (ZodType.prototype as typeof ZodType.prototype & ExtendedZodSchema).withRender = function(config: EnhancedRenderConfig | RenderConfigSchema) {\n return extendZodSchema(this).withRender(config);\n };\n\n (ZodType.prototype as typeof ZodType.prototype & ExtendedZodSchema).withProgressive = function(\n priority: 'essential' | 'common' | 'advanced' | 'expert',\n group?: string\n ) {\n return extendZodSchema(this).withProgressive(priority, group);\n };\n\n (ZodType.prototype as typeof ZodType.prototype & ExtendedZodSchema).withBlock = function(blockId: string) {\n return extendZodSchema(this).withBlock(blockId);\n };\n }\n}\n\n/**\n * Creates a progressive form schema with grouped fields\n */\nexport function createProgressiveSchema<TSchema>(\n baseSchema: ZodType<TSchema>,\n groups: Record<string, { priority: 'essential' | 'common' | 'advanced' | 'expert'; fields: string[] }>\n): ZodSchemaWithRender<TSchema> {\n const extendedSchema = extendZodSchema(baseSchema);\n\n const typeName = (baseSchema._def as Record<string, unknown>)?.typeName;\n if (typeName === 'ZodObject') {\n const shape = (baseSchema._def as Record<string, unknown>)?.shape as Record<string, ZodType<unknown>>;\n if (shape) {\n const enhancedShape: Record<string, ZodType<unknown>> = {};\n\n for (const [fieldName, fieldSchema] of Object.entries(shape)) {\n let fieldGroup: string | undefined;\n let fieldPriority: 'essential' | 'common' | 'advanced' | 'expert' = 'common';\n\n for (const [groupName, groupConfig] of Object.entries(groups)) {\n if (groupConfig.fields.includes(fieldName)) {\n fieldGroup = groupName;\n fieldPriority = groupConfig.priority;\n break;\n }\n }\n\n enhancedShape[fieldName] = extendZodSchema(fieldSchema).withProgressive(fieldPriority, fieldGroup);\n }\n\n return extendedSchema;\n }\n }\n\n return extendedSchema;\n}\n\n/**\n * Utility to convert legacy render configs to enhanced configs\n */\nexport function enhanceRenderConfig(config: RenderConfigSchema): EnhancedRenderConfig {\n return {\n ...config,\n progressive: {\n priority: config.ui?.priority || 'common',\n group: config.ui?.group\n }\n };\n}\n\n/**\n * Helper to extract progressive disclosure information from schema\n */\nexport function extractProgressiveInfo(schema: ZodType<unknown>): {\n priority: 'essential' | 'common' | 'advanced' | 'expert';\n group?: string;\n} {\n const renderConfig = getRenderConfig(schema);\n if (renderConfig?.progressive) {\n return {\n priority: renderConfig.progressive.priority,\n group: renderConfig.progressive.group\n };\n }\n\n if (renderConfig?.ui?.priority) {\n return {\n priority: renderConfig.ui.priority,\n group: renderConfig.ui.group\n };\n }\n\n return { priority: 'common' };\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-agent-kit.es42.js","sources":["../../src/init/init.ts"],"sourcesContent":["import { HederaAgentKit, ServerSigner } from 'hedera-agent-kit';\nimport { HCS10Builder } from '../builders/hcs10/hcs10-builder';\nimport { RegisterAgentTool } from '../tools/hcs10/RegisterAgentTool';\nimport { FindRegistrationsTool } from '../tools/hcs10/FindRegistrationsTool';\nimport { InitiateConnectionTool } from '../tools/hcs10/InitiateConnectionTool';\nimport { ListConnectionsTool } from '../tools/hcs10/ListConnectionsTool';\nimport { SendMessageToConnectionTool } from '../tools/hcs10/SendMessageToConnectionTool';\nimport { CheckMessagesTool } from '../tools/hcs10/CheckMessagesTool';\nimport { ConnectionMonitorTool } from '../tools/hcs10/ConnectionMonitorTool';\nimport { ManageConnectionRequestsTool } from '../tools/hcs10/ManageConnectionRequestsTool';\nimport { AcceptConnectionRequestTool } from '../tools/hcs10/AcceptConnectionRequestTool';\nimport { RetrieveProfileTool } from '../tools/hcs10/RetrieveProfileTool';\nimport { ListUnapprovedConnectionRequestsTool } from '../tools/hcs10/ListUnapprovedConnectionRequestsTool';\nimport { IStateManager } from '../state/state-types';\nimport { OpenConvaiState } from '../state/open-convai-state';\nimport { Logger } from '@hashgraphonline/standards-sdk';\nimport { ENV_FILE_PATH } from '../utils/state-tools';\n\nexport interface HCS10ClientConfig {\n operatorId?: string;\n operatorKey?: string;\n network?: 'mainnet' | 'testnet';\n useEncryption?: boolean;\n registryUrl?: string;\n logLevel?: 'debug' | 'info' | 'warn' | 'error';\n}\n\nexport interface HCS10InitializationOptions {\n clientConfig?: HCS10ClientConfig;\n stateManager?: IStateManager;\n createAllTools?: boolean;\n monitoringClient?: boolean;\n}\n\n/**\n * Tool collection containing all available tools from the standards-agent-kit\n */\nexport interface HCS10Tools {\n registerAgentTool: RegisterAgentTool;\n findRegistrationsTool: FindRegistrationsTool;\n retrieveProfileTool: RetrieveProfileTool;\n initiateConnectionTool: InitiateConnectionTool;\n listConnectionsTool: ListConnectionsTool;\n sendMessageToConnectionTool: SendMessageToConnectionTool;\n checkMessagesTool: CheckMessagesTool;\n connectionMonitorTool: ConnectionMonitorTool;\n manageConnectionRequestsTool: ManageConnectionRequestsTool;\n acceptConnectionRequestTool: AcceptConnectionRequestTool;\n listUnapprovedConnectionRequestsTool: ListUnapprovedConnectionRequestsTool;\n}\n\n/**\n * Initializes the HCS10 client and returns pre-registered LangChain tools.\n *\n * @param options - Initialization options\n * @returns Object containing hederaKit, hcs10Builder and requested tools\n */\nexport const initializeStandardsAgentKit = async (\n options?: HCS10InitializationOptions\n): Promise<{\n hederaKit: HederaAgentKit;\n hcs10Builder: HCS10Builder;\n monitoringHederaKit?: HederaAgentKit;\n monitoringHcs10Builder?: HCS10Builder;\n tools: Partial<HCS10Tools>;\n stateManager: IStateManager;\n}> => {\n const config = options?.clientConfig || {};\n\n const operatorId = config.operatorId || process.env.HEDERA_OPERATOR_ID;\n const operatorPrivateKey =\n config.operatorKey || process.env.HEDERA_OPERATOR_KEY;\n\n const networkEnv = config.network || process.env.HEDERA_NETWORK || 'testnet';\n\n const shouldSilence = process.env.DISABLE_LOGGING === 'true';\n const logger = Logger.getInstance({\n level: config.logLevel || 'info',\n silent: shouldSilence,\n });\n\n let network: 'mainnet' | 'testnet';\n if (networkEnv === 'mainnet') {\n network = 'mainnet';\n } else if (networkEnv === 'testnet') {\n network = 'testnet';\n } else {\n logger.warn(\n `Unsupported network specified: '${networkEnv}'. Defaulting to 'testnet'.`\n );\n network = 'testnet';\n }\n\n if (!operatorId || !operatorPrivateKey) {\n throw new Error(\n 'Operator ID and private key must be provided either through options or environment variables.'\n );\n }\n\n const stateManager =\n options?.stateManager ||\n new OpenConvaiState({\n defaultEnvFilePath: ENV_FILE_PATH,\n defaultPrefix: 'TODD',\n });\n logger.info('State manager initialized');\n\n const signer = new ServerSigner(operatorId, operatorPrivateKey, network);\n const hederaKit = new HederaAgentKit(signer);\n await hederaKit.initialize();\n logger.info(`HederaAgentKit initialized for ${operatorId} on ${network}`);\n\n const hcs10Builder = new HCS10Builder(hederaKit, stateManager, {\n useEncryption: config.useEncryption,\n registryUrl: config.registryUrl,\n logLevel: config.logLevel,\n });\n\n let monitoringHederaKit: HederaAgentKit | undefined;\n let monitoringHcs10Builder: HCS10Builder | undefined;\n\n if (options?.monitoringClient) {\n const monitoringSigner = new ServerSigner(operatorId, operatorPrivateKey, network);\n monitoringHederaKit = new HederaAgentKit(monitoringSigner);\n await monitoringHederaKit.initialize();\n monitoringHcs10Builder = new HCS10Builder(monitoringHederaKit, stateManager, {\n useEncryption: config.useEncryption,\n registryUrl: config.registryUrl,\n logLevel: 'error',\n });\n logger.info('Monitoring client initialized');\n }\n\n const tools: Partial<HCS10Tools> = {};\n\n tools.registerAgentTool = new RegisterAgentTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n\n if (options?.createAllTools) {\n tools.findRegistrationsTool = new FindRegistrationsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.retrieveProfileTool = new RetrieveProfileTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.initiateConnectionTool = new InitiateConnectionTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.listConnectionsTool = new ListConnectionsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.sendMessageToConnectionTool = new SendMessageToConnectionTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.checkMessagesTool = new CheckMessagesTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.connectionMonitorTool = new ConnectionMonitorTool({\n hederaKit: monitoringHederaKit || hederaKit,\n hcs10Builder: monitoringHcs10Builder || hcs10Builder,\n logger: undefined,\n });\n tools.manageConnectionRequestsTool = new ManageConnectionRequestsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.acceptConnectionRequestTool = new AcceptConnectionRequestTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.listUnapprovedConnectionRequestsTool =\n new ListUnapprovedConnectionRequestsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n\n logger.info('All tools initialized');\n }\n\n return {\n hederaKit,\n hcs10Builder,\n monitoringHederaKit,\n monitoringHcs10Builder,\n tools,\n stateManager,\n };\n};"],"names":[],"mappings":"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"}
@@ -1,189 +1,33 @@
1
- import { getInnerSchema, hasRenderConfig, getRenderConfig, extractFieldMetadata } from "./standards-agent-kit.es42.js";
2
- function extractRenderConfigs(schema) {
3
- const fields = {};
4
- const groups = {};
5
- const order = [];
6
- const metadata = {};
7
- extractFromSchema(schema, "", fields, groups, order, metadata);
8
- return {
9
- fields,
10
- groups: organizeFieldGroups(groups),
11
- order: orderFields(order, fields),
12
- metadata
13
- };
14
- }
15
- function extractFromSchema(schema, pathPrefix, fields, groups, order, metadata) {
16
- const innerSchema = getInnerSchema(schema);
17
- const typeName = innerSchema._def?.typeName;
18
- if (typeName === "ZodObject") {
19
- extractFromObjectSchema(innerSchema, pathPrefix, fields, groups, order, metadata);
20
- } else if (typeName === "ZodArray") {
21
- extractFromArraySchema(innerSchema, pathPrefix, fields, groups, order, metadata);
22
- } else {
23
- extractFromPrimitiveSchema(schema, pathPrefix, fields, groups, order, metadata);
24
- }
25
- }
26
- function extractFromObjectSchema(schema, pathPrefix, fields, groups, order, metadata) {
27
- const shape = schema.shape;
28
- if (hasRenderConfig(schema)) {
29
- const config = getRenderConfig(schema);
30
- if (config && pathPrefix) {
31
- fields[pathPrefix] = config;
32
- addToGroup(groups, config.ui?.group || "default", pathPrefix);
33
- addToOrder(order, pathPrefix, config.ui?.order);
34
- }
35
- }
36
- for (const [key, fieldSchema] of Object.entries(shape)) {
37
- const fieldPath = pathPrefix ? `${pathPrefix}.${key}` : key;
38
- extractFromSchema(fieldSchema, fieldPath, fields, groups, order, metadata);
39
- }
40
- }
41
- function extractFromArraySchema(schema, pathPrefix, fields, groups, order, metadata) {
42
- if (hasRenderConfig(schema)) {
43
- const config = getRenderConfig(schema);
44
- if (config) {
45
- fields[pathPrefix] = config;
46
- addToGroup(groups, config.ui?.group || "default", pathPrefix);
47
- addToOrder(order, pathPrefix, config.ui?.order);
48
- metadata[pathPrefix] = extractFieldMetadata(schema);
49
- }
50
- }
51
- const elementSchema = schema._def.type;
52
- if (elementSchema) {
53
- const itemPath = `${pathPrefix}[]`;
54
- extractFromSchema(elementSchema, itemPath, fields, groups, order, metadata);
55
- }
56
- }
57
- function extractFromPrimitiveSchema(schema, pathPrefix, fields, groups, order, metadata) {
58
- if (hasRenderConfig(schema)) {
59
- const config = getRenderConfig(schema);
60
- if (config) {
61
- fields[pathPrefix] = config;
62
- addToGroup(groups, config.ui?.group || "default", pathPrefix);
63
- addToOrder(order, pathPrefix, config.ui?.order);
64
- }
65
- }
66
- metadata[pathPrefix] = extractFieldMetadata(schema);
67
- }
68
- function addToGroup(groups, groupName, fieldPath) {
69
- if (!groups[groupName]) {
70
- groups[groupName] = [];
71
- }
72
- groups[groupName].push(fieldPath);
73
- }
74
- function addToOrder(order, fieldPath, explicitOrder) {
75
- if (explicitOrder !== void 0) {
76
- order.splice(explicitOrder, 0, fieldPath);
77
- } else {
78
- order.push(fieldPath);
79
- }
80
- }
81
- function organizeFieldGroups(groups) {
82
- const organized = {};
83
- const groupPriority = ["default", "Keys & Security", "Token Settings", "Custom Fees"];
84
- for (const groupName of groupPriority) {
85
- if (groups[groupName]) {
86
- organized[groupName] = groups[groupName];
87
- }
88
- }
89
- for (const [groupName, fields] of Object.entries(groups)) {
90
- if (!groupPriority.includes(groupName)) {
91
- organized[groupName] = fields;
92
- }
93
- }
94
- return organized;
95
- }
96
- function orderFields(order, fields) {
97
- const fieldPriority = {
98
- "tokenName": 1,
99
- "tokenSymbol": 2,
100
- "maxSupply": 3,
101
- "supplyType": 4,
102
- "treasuryAccountId": 5,
103
- "memo": 6
104
- };
105
- return order.sort((a, b) => {
106
- const aConfig = fields[a];
107
- const bConfig = fields[b];
108
- if (aConfig?.ui?.order !== void 0 && bConfig?.ui?.order !== void 0) {
109
- return aConfig.ui.order - bConfig.ui.order;
110
- }
111
- if (aConfig?.ui?.order !== void 0) {
112
- return -1;
113
- }
114
- if (bConfig?.ui?.order !== void 0) {
115
- return 1;
116
- }
117
- const aPriority = fieldPriority[a] || 1e3;
118
- const bPriority = fieldPriority[b] || 1e3;
119
- if (aPriority !== bPriority) {
120
- return aPriority - bPriority;
121
- }
122
- return a.localeCompare(b);
123
- });
124
- }
125
- function generateFieldOrdering(schema) {
126
- const extracted = extractRenderConfigs(schema);
127
- const sections = {};
128
- const sectionOrder = {
129
- "default": 0,
130
- "Basic Information": 1,
131
- "Token Settings": 2,
132
- "Keys & Security": 3,
133
- "Custom Fees": 4,
134
- "Advanced Settings": 5
135
- };
136
- for (const [groupName, fields] of Object.entries(extracted.groups)) {
137
- const displayName = groupName === "default" ? "Basic Information" : groupName;
138
- sections[displayName] = {
139
- title: displayName,
140
- fields,
141
- order: sectionOrder[displayName] || 10
142
- };
143
- }
144
- return {
145
- sections,
146
- fieldOrder: extracted.order
147
- };
148
- }
149
- function createFieldConfigMap(schema) {
150
- const extracted = extractRenderConfigs(schema);
151
- const configMap = {};
152
- for (const [fieldPath, renderConfig] of Object.entries(extracted.fields)) {
153
- const metadata = extracted.metadata[fieldPath];
154
- const path = fieldPath.split(".");
155
- configMap[fieldPath] = {
156
- renderConfig,
157
- metadata,
158
- path
159
- };
160
- }
161
- return configMap;
162
- }
163
- function createSimpleConfig(schema) {
164
- const extracted = extractRenderConfigs(schema);
165
- const fields = [];
166
- for (const fieldPath of extracted.order) {
167
- const renderConfig = extracted.fields[fieldPath];
168
- const metadata = extracted.metadata[fieldPath];
169
- if (!renderConfig || !metadata) {
170
- continue;
171
- }
172
- fields.push({
173
- name: fieldPath,
174
- type: metadata.type,
175
- label: renderConfig.ui?.label || fieldPath,
176
- required: metadata.required,
177
- placeholder: renderConfig.ui?.placeholder,
178
- options: renderConfig.options || metadata.options
179
- });
1
+ import { BasePlugin, HederaGetHbarPriceTool } from "hedera-agent-kit";
2
+ import { HederaGetHbarPriceTool as HederaGetHbarPriceTool2 } from "hedera-agent-kit";
3
+ class HbarPricePlugin extends BasePlugin {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.id = "hedera-hbar-price";
7
+ this.name = "Hedera HBAR Price Plugin";
8
+ this.description = "Provides tools to interact with Hedera network data, specifically HBAR price.";
9
+ this.version = "1.0.0";
10
+ this.author = "Hashgraph Online";
11
+ this.tools = [];
12
+ }
13
+ async initialize(context) {
14
+ await super.initialize(context);
15
+ this.initializeTools();
16
+ }
17
+ initializeTools() {
18
+ this.tools = [
19
+ new HederaGetHbarPriceTool({
20
+ hederaKit: this.context.config.hederaKit,
21
+ logger: this.context.logger
22
+ })
23
+ ];
24
+ }
25
+ getTools() {
26
+ return this.tools;
180
27
  }
181
- return { fields };
182
28
  }
183
29
  export {
184
- createFieldConfigMap,
185
- createSimpleConfig,
186
- extractRenderConfigs,
187
- generateFieldOrdering
30
+ HederaGetHbarPriceTool2 as GetHbarPriceTool,
31
+ HbarPricePlugin
188
32
  };
189
33
  //# sourceMappingURL=standards-agent-kit.es43.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es43.js","sources":["../../src/lib/zod-render/config-extractor.ts"],"sourcesContent":["import { ZodType } from 'zod';\n\n/**\n * Type definitions for Zod internal structures\n */\ninterface ZodDef {\n typeName: string;\n type?: ZodType<unknown>;\n}\n\n/**\n * Type definition for Zod object schema with shape property\n */\ninterface ZodObjectSchema {\n _def: ZodDef;\n shape: Record<string, ZodType<unknown>>;\n}\n\n/**\n * Type definition for Zod array schema with element type\n */\ninterface ZodArraySchema {\n _def: ZodDef & {\n type: ZodType<unknown>;\n };\n}\n\n/**\n * Type definition for field config map entries\n */\ninterface FieldConfigMapEntry {\n renderConfig: RenderConfigSchema;\n metadata: FieldMetadata;\n path: string[];\n}\n\n\n/**\n * Type definition for simple field configuration\n */\ninterface SimpleFieldConfig {\n name: string;\n type: FormFieldType;\n label: string;\n required: boolean;\n placeholder?: string;\n options?: Array<{ value: unknown; label: string }>;\n}\nimport {\n RenderConfigSchema,\n ExtractedRenderConfig,\n FieldMetadata,\n FormFieldType\n} from './types';\nimport {\n hasRenderConfig,\n getRenderConfig,\n extractFieldMetadata,\n getInnerSchema\n} from './schema-extension';\n\n/**\n * Extracts render configurations from a Zod schema and all nested schemas\n */\nexport function extractRenderConfigs(schema: ZodType<unknown>): ExtractedRenderConfig {\n const fields: Record<string, RenderConfigSchema> = {};\n const groups: Record<string, string[]> = {};\n const order: string[] = [];\n const metadata: Record<string, FieldMetadata> = {};\n\n extractFromSchema(schema, '', fields, groups, order, metadata);\n\n return {\n fields,\n groups: organizeFieldGroups(groups),\n order: orderFields(order, fields),\n metadata\n };\n}\n\n/**\n * Recursively extracts render configurations from schema and nested schemas\n */\nfunction extractFromSchema(\n schema: ZodType<unknown>,\n pathPrefix: string,\n fields: Record<string, RenderConfigSchema>,\n groups: Record<string, string[]>,\n order: string[],\n metadata: Record<string, FieldMetadata>\n): void {\n const innerSchema = getInnerSchema(schema);\n const typeName = (innerSchema._def as ZodDef)?.typeName;\n\n if (typeName === 'ZodObject') {\n extractFromObjectSchema(innerSchema as unknown as ZodObjectSchema, pathPrefix, fields, groups, order, metadata);\n } else if (typeName === 'ZodArray') {\n extractFromArraySchema(innerSchema as unknown as ZodArraySchema, pathPrefix, fields, groups, order, metadata);\n } else {\n extractFromPrimitiveSchema(schema, pathPrefix, fields, groups, order, metadata);\n }\n}\n\n/**\n * Extracts configurations from ZodObject schemas\n */\nfunction extractFromObjectSchema(\n schema: ZodObjectSchema,\n pathPrefix: string,\n fields: Record<string, RenderConfigSchema>,\n groups: Record<string, string[]>,\n order: string[],\n metadata: Record<string, FieldMetadata>\n): void {\n const shape = schema.shape;\n\n if (hasRenderConfig(schema)) {\n const config = getRenderConfig(schema);\n if (config && pathPrefix) {\n fields[pathPrefix] = config;\n addToGroup(groups, config.ui?.group || 'default', pathPrefix);\n addToOrder(order, pathPrefix, config.ui?.order);\n }\n }\n\n for (const [key, fieldSchema] of Object.entries(shape)) {\n const fieldPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n extractFromSchema(fieldSchema as ZodType<unknown>, fieldPath, fields, groups, order, metadata);\n }\n}\n\n/**\n * Extracts configurations from ZodArray schemas\n */\nfunction extractFromArraySchema(\n schema: ZodArraySchema,\n pathPrefix: string,\n fields: Record<string, RenderConfigSchema>,\n groups: Record<string, string[]>,\n order: string[],\n metadata: Record<string, FieldMetadata>\n): void {\n if (hasRenderConfig(schema)) {\n const config = getRenderConfig(schema);\n if (config) {\n fields[pathPrefix] = config;\n addToGroup(groups, config.ui?.group || 'default', pathPrefix);\n addToOrder(order, pathPrefix, config.ui?.order);\n metadata[pathPrefix] = extractFieldMetadata(schema);\n }\n }\n\n const elementSchema = schema._def.type;\n if (elementSchema) {\n const itemPath = `${pathPrefix}[]`;\n extractFromSchema(elementSchema, itemPath, fields, groups, order, metadata);\n }\n}\n\n/**\n * Extracts configurations from primitive schemas\n */\nfunction extractFromPrimitiveSchema(\n schema: ZodType<unknown>,\n pathPrefix: string,\n fields: Record<string, RenderConfigSchema>,\n groups: Record<string, string[]>,\n order: string[],\n metadata: Record<string, FieldMetadata>\n): void {\n if (hasRenderConfig(schema)) {\n const config = getRenderConfig(schema);\n if (config) {\n fields[pathPrefix] = config;\n addToGroup(groups, config.ui?.group || 'default', pathPrefix);\n addToOrder(order, pathPrefix, config.ui?.order);\n }\n }\n\n metadata[pathPrefix] = extractFieldMetadata(schema);\n}\n\n/**\n * Adds a field to a group\n */\nfunction addToGroup(groups: Record<string, string[]>, groupName: string, fieldPath: string): void {\n if (!groups[groupName]) {\n groups[groupName] = [];\n }\n groups[groupName].push(fieldPath);\n}\n\n/**\n * Adds a field to the order array considering explicit order values\n */\nfunction addToOrder(order: string[], fieldPath: string, explicitOrder?: number): void {\n if (explicitOrder !== undefined) {\n order.splice(explicitOrder, 0, fieldPath);\n } else {\n order.push(fieldPath);\n }\n}\n\n/**\n * Organizes field groups with proper ordering\n */\nfunction organizeFieldGroups(groups: Record<string, string[]>): Record<string, string[]> {\n const organized: Record<string, string[]> = {};\n const groupPriority = ['default', 'Keys & Security', 'Token Settings', 'Custom Fees'];\n\n for (const groupName of groupPriority) {\n if (groups[groupName]) {\n organized[groupName] = groups[groupName];\n }\n }\n\n for (const [groupName, fields] of Object.entries(groups)) {\n if (!groupPriority.includes(groupName)) {\n organized[groupName] = fields;\n }\n }\n\n return organized;\n}\n\n/**\n * Orders fields based on explicit order values and logical grouping\n */\nfunction orderFields(order: string[], fields: Record<string, RenderConfigSchema>): string[] {\n const fieldPriority: Record<string, number> = {\n 'tokenName': 1,\n 'tokenSymbol': 2,\n 'maxSupply': 3,\n 'supplyType': 4,\n 'treasuryAccountId': 5,\n 'memo': 6,\n };\n\n return order.sort((a, b) => {\n const aConfig = fields[a];\n const bConfig = fields[b];\n\n if (aConfig?.ui?.order !== undefined && bConfig?.ui?.order !== undefined) {\n return aConfig.ui.order - bConfig.ui.order;\n }\n\n if (aConfig?.ui?.order !== undefined) {\n return -1;\n }\n if (bConfig?.ui?.order !== undefined) {\n return 1;\n }\n\n const aPriority = fieldPriority[a] || 1000;\n const bPriority = fieldPriority[b] || 1000;\n\n if (aPriority !== bPriority) {\n return aPriority - bPriority;\n }\n\n return a.localeCompare(b);\n });\n}\n\n/**\n * Generates field ordering metadata for complex forms\n */\nexport function generateFieldOrdering(schema: ZodType<unknown>): {\n sections: Record<string, { title: string; fields: string[]; order: number }>;\n fieldOrder: string[];\n} {\n const extracted = extractRenderConfigs(schema);\n const sections: Record<string, { title: string; fields: string[]; order: number }> = {};\n\n const sectionOrder: Record<string, number> = {\n 'default': 0,\n 'Basic Information': 1,\n 'Token Settings': 2,\n 'Keys & Security': 3,\n 'Custom Fees': 4,\n 'Advanced Settings': 5\n };\n\n for (const [groupName, fields] of Object.entries(extracted.groups)) {\n const displayName = groupName === 'default' ? 'Basic Information' : groupName;\n sections[displayName] = {\n title: displayName,\n fields,\n order: sectionOrder[displayName] || 10\n };\n }\n\n return {\n sections,\n fieldOrder: extracted.order\n };\n}\n\n/**\n * Creates a field configuration map for form builders\n */\nexport function createFieldConfigMap(schema: ZodType<unknown>): Record<string, FieldConfigMapEntry> {\n const extracted = extractRenderConfigs(schema);\n const configMap: Record<string, FieldConfigMapEntry> = {};\n\n for (const [fieldPath, renderConfig] of Object.entries(extracted.fields)) {\n const metadata = extracted.metadata[fieldPath];\n const path = fieldPath.split('.');\n\n configMap[fieldPath] = {\n renderConfig,\n metadata,\n path\n };\n }\n\n return configMap;\n}\n\n\n\n\n/**\n * Creates a simplified configuration for basic form rendering\n */\nexport function createSimpleConfig(schema: ZodType<unknown>): {\n fields: Array<SimpleFieldConfig>;\n} {\n const extracted = extractRenderConfigs(schema);\n const fields = [];\n\n for (const fieldPath of extracted.order) {\n const renderConfig = extracted.fields[fieldPath];\n const metadata = extracted.metadata[fieldPath];\n\n if (!renderConfig || !metadata) {\n continue;\n }\n\n fields.push({\n name: fieldPath,\n type: metadata.type,\n label: renderConfig.ui?.label || fieldPath,\n required: metadata.required,\n placeholder: renderConfig.ui?.placeholder,\n options: renderConfig.options || metadata.options\n });\n }\n\n return { fields };\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-agent-kit.es43.js","sources":["../../src/plugins/hedera/HbarPricePlugin.ts"],"sourcesContent":["\nexport { HederaGetHbarPriceTool as GetHbarPriceTool } from 'hedera-agent-kit';\n\nimport { BasePlugin, GenericPluginContext, HederaTool, HederaAgentKit } from 'hedera-agent-kit';\nimport { HederaGetHbarPriceTool } from 'hedera-agent-kit';\n\n/**\n * Plugin to provide tools related to Hedera network information, like HBAR price.\n * Uses the built-in HederaGetHbarPriceTool from hedera-agent-kit.\n */\nexport class HbarPricePlugin extends BasePlugin<GenericPluginContext> {\n id = 'hedera-hbar-price';\n name = 'Hedera HBAR Price Plugin';\n description = 'Provides tools to interact with Hedera network data, specifically HBAR price.';\n version = '1.0.0';\n author = 'Hashgraph Online';\n\n private tools: HederaTool[] = [];\n\n override async initialize(context: GenericPluginContext): Promise<void> {\n await super.initialize(context);\n this.initializeTools();\n }\n\n private initializeTools(): void {\n this.tools = [\n new HederaGetHbarPriceTool({\n hederaKit: this.context.config.hederaKit as HederaAgentKit,\n logger: this.context.logger\n })\n ];\n }\n\n getTools(): HederaTool[] {\n return this.tools;\n }\n}"],"names":["HederaGetHbarPriceTool"],"mappings":";;AAUO,MAAM,wBAAwB,WAAiC;AAAA,EAA/D,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,KAAK;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AACd,SAAA,UAAU;AACV,SAAA,SAAS;AAET,SAAQ,QAAsB,CAAA;AAAA,EAAC;AAAA,EAE/B,MAAe,WAAW,SAA8C;AACtE,UAAM,MAAM,WAAW,OAAO;AAC9B,SAAK,gBAAA;AAAA,EACP;AAAA,EAEQ,kBAAwB;AAC9B,SAAK,QAAQ;AAAA,MACX,IAAIA,uBAAuB;AAAA,QACzB,WAAW,KAAK,QAAQ,OAAO;AAAA,QAC/B,QAAQ,KAAK,QAAQ;AAAA,MAAA,CACtB;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,WAAyB;AACvB,WAAO,KAAK;AAAA,EACd;AACF;"}