@hashgraphonline/standards-sdk 0.1.143-feat-solana-register.canary.1c6f446.78 → 0.1.144-feat-solana-register.canary.d5edcec.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +153 -153
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/cjs/utils/dynamic-import.d.ts +5 -1
- package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +153 -153
- package/dist/es/standards-sdk.es.js +134 -135
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es10.js +70 -90
- package/dist/es/standards-sdk.es10.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +229 -27
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +109 -228
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +15 -94
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +80 -30
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +27 -80
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +136 -25
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +27 -140
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +20 -27
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +156 -18
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +198 -148
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es11.js +121 -45
- package/dist/es/standards-sdk.es11.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +747 -167
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +9 -786
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +567 -13
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +576 -541
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +12 -601
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +2 -13
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +87 -2
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +37 -84
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +2 -40
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +231 -2
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +60 -159
- package/dist/es/standards-sdk.es12.js.map +1 -1
- package/dist/es/standards-sdk.es120.js +1110 -201
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +225 -1059
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +419 -303
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +351 -418
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +872 -347
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +182 -854
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +1512 -153
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +157 -1547
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +192 -162
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +61 -164
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +200 -60
- package/dist/es/standards-sdk.es13.js.map +1 -1
- package/dist/es/standards-sdk.es130.js +102 -85
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +222 -96
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +153 -220
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +104 -162
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +296 -92
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +432 -294
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +14 -461
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +79 -15
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +77 -71
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +152 -80
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +149 -178
- package/dist/es/standards-sdk.es14.js.map +1 -1
- package/dist/es/standards-sdk.es140.js +7 -159
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +86 -7
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +44 -65
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +30 -65
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +34 -30
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +28 -34
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +138 -28
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +37 -133
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +12280 -33
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +1 -1
- package/dist/es/standards-sdk.es15.js +152 -151
- package/dist/es/standards-sdk.es15.js.map +1 -1
- package/dist/es/standards-sdk.es150.js +12 -12284
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +54 -15
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +72 -160
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +139 -289
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +274 -298
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +262 -369
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +316 -194
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +319 -64
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +69 -49
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +222 -65
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +917 -136
- package/dist/es/standards-sdk.es16.js.map +1 -1
- package/dist/es/standards-sdk.es160.js +223 -218
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es17.js +23 -948
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +2422 -24
- package/dist/es/standards-sdk.es18.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +818 -2092
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +654 -189
- package/dist/es/standards-sdk.es2.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +205 -1092
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +858 -221
- package/dist/es/standards-sdk.es21.js.map +1 -1
- package/dist/es/standards-sdk.es22.js +179 -903
- package/dist/es/standards-sdk.es22.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +164 -179
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +62 -118
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +377 -57
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +36 -394
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +901 -50
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +134 -922
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +7 -134
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es3.js +63 -680
- package/dist/es/standards-sdk.es3.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +344 -7
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +302 -287
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +94 -322
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +458 -101
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +132 -451
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +216 -130
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +273 -196
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +148 -87
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +183 -320
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +238 -161
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es4.js +425 -63
- package/dist/es/standards-sdk.es4.js.map +1 -1
- package/dist/es/standards-sdk.es40.js +136 -254
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +225 -176
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +199 -261
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +237 -199
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +209 -201
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +305 -201
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +371 -261
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +316 -372
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +404 -336
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +83 -449
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +232 -354
- package/dist/es/standards-sdk.es5.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +179 -89
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +231 -165
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +25 -262
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +56 -26
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +12 -57
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +49 -12
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +115 -43
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +42 -115
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +52 -43
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +36 -50
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es6.js +125 -246
- package/dist/es/standards-sdk.es6.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +207 -39
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +24 -201
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +87 -25
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +3 -51
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +100 -3
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +61 -62
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +17 -98
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +77 -19
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +458 -77
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +106 -240
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +28 -183
- package/dist/es/standards-sdk.es7.js.map +1 -1
- package/dist/es/standards-sdk.es70.js +170 -286
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +71 -207
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +71 -72
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +143 -71
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +62 -136
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +380 -45
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +222 -130
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +320 -444
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +88 -371
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +125 -89
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +80 -29
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +8 -125
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +45 -6
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +98 -44
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +331 -84
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +93 -160
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +55 -275
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +43 -55
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +145 -44
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +30 -113
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +22 -59
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +104 -80
- package/dist/es/standards-sdk.es9.js.map +1 -1
- package/dist/es/standards-sdk.es90.js +23 -28
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +238 -23
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +267 -225
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +95 -220
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +124 -136
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +42 -138
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +259 -43
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +82 -245
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +49 -50
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +29 -100
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/es/utils/dynamic-import.d.ts +5 -1
- package/dist/es/utils/dynamic-import.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
- package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
- package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
- package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
- package/dist/es/standards-sdk.es161.js +0 -247
- package/dist/es/standards-sdk.es161.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es128.js","sources":["../../src/services/registry-broker/client/encryption.ts"],"sourcesContent":["import * as path from 'path';\nimport { Buffer } from 'buffer';\nimport { randomBytes } from 'crypto';\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nimport type {\n AutoRegisterEncryptionKeyOptions,\n CipherEnvelope,\n ClientEncryptionOptions,\n DecryptCipherEnvelopeOptions,\n DeriveSharedSecretOptions,\n EncryptCipherEnvelopeOptions,\n EphemeralKeyPair,\n EnsureAgentKeyOptions,\n RegisterEncryptionKeyPayload,\n RegisterEncryptionKeyResponse,\n SharedSecretInput,\n} from '../types';\nimport { registerEncryptionKeyResponseSchema } from '../schemas';\nimport { optionalImport } from '../../../utils/dynamic-import';\nimport {\n RegistryBrokerClient,\n type GenerateEncryptionKeyPairOptions,\n} from './base-client';\n\ntype FsModule = {\n existsSync: (path: string) => boolean;\n readFileSync: (path: string, encoding: BufferEncoding) => string;\n writeFileSync: (path: string, data: string) => void;\n appendFileSync: (path: string, data: string) => void;\n};\n\nconst getFs = async (): Promise<FsModule | null> => {\n const fsModule = await optionalImport<Partial<FsModule>>('node:fs');\n\n if (\n fsModule &&\n typeof fsModule.existsSync === 'function' &&\n typeof fsModule.readFileSync === 'function' &&\n typeof fsModule.writeFileSync === 'function' &&\n typeof fsModule.appendFileSync === 'function'\n ) {\n return fsModule as FsModule;\n }\n\n return null;\n};\n\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n readonly encryption: {\n registerKey: (\n payload: RegisterEncryptionKeyPayload,\n ) => Promise<RegisterEncryptionKeyResponse>;\n generateEphemeralKeyPair: () => EphemeralKeyPair;\n deriveSharedSecret: (options: DeriveSharedSecretOptions) => Buffer;\n encryptCipherEnvelope: (\n options: EncryptCipherEnvelopeOptions,\n ) => CipherEnvelope;\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) => string;\n ensureAgentKey: (\n options: EnsureAgentKeyOptions,\n ) => Promise<{ publicKey: string; privateKey?: string }>;\n };\n\n generateEncryptionKeyPair(\n options?: GenerateEncryptionKeyPairOptions,\n ): Promise<{\n privateKey: string;\n publicKey: string;\n envPath?: string;\n envVar: string;\n }>;\n\n createEphemeralKeyPair(): EphemeralKeyPair;\n deriveSharedSecret(options: DeriveSharedSecretOptions): Buffer;\n buildCipherEnvelope(options: EncryptCipherEnvelopeOptions): CipherEnvelope;\n openCipherEnvelope(options: DecryptCipherEnvelopeOptions): string;\n normalizeSharedSecret(input: SharedSecretInput): Buffer;\n\n bootstrapEncryptionOptions(\n options?: ClientEncryptionOptions,\n ): Promise<{ publicKey: string; privateKey?: string } | null>;\n }\n}\n\nasync function registerEncryptionKey(\n client: RegistryBrokerClient,\n payload: RegisterEncryptionKeyPayload,\n): Promise<RegisterEncryptionKeyResponse> {\n const raw = await client.requestJson('/encryption/keys', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n registerEncryptionKeyResponseSchema,\n 'register encryption key response',\n );\n}\n\nfunction normalizeAutoRegisterIdentity(\n config: AutoRegisterEncryptionKeyOptions,\n): Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n> | null {\n const identity: Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n > = {};\n if (config.uaid) {\n identity.uaid = config.uaid;\n }\n if (config.ledgerAccountId) {\n identity.ledgerAccountId = config.ledgerAccountId;\n if (config.ledgerNetwork) {\n identity.ledgerNetwork = config.ledgerNetwork;\n }\n }\n if (config.email) {\n identity.email = config.email;\n }\n if (identity.uaid || identity.ledgerAccountId || identity.email) {\n return identity;\n }\n return null;\n}\n\nfunction derivePublicKeyFromPrivateKey(\n client: RegistryBrokerClient,\n privateKey: string,\n): string {\n const normalized = client.hexToBuffer(privateKey);\n const publicKey = secp256k1.getPublicKey(normalized, true);\n return Buffer.from(publicKey).toString('hex');\n}\n\nasync function resolveAutoRegisterKeyMaterial(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (config.publicKey?.trim()) {\n return { publicKey: config.publicKey.trim() };\n }\n let privateKey = config.privateKey?.trim();\n const envVar = config.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {\n privateKey = process.env[envVar]?.trim();\n }\n if (!privateKey && config.generateIfMissing) {\n const pair = await client.generateEncryptionKeyPair({\n keyType: config.keyType ?? 'secp256k1',\n envVar,\n envPath: config.envPath,\n overwrite: config.overwriteEnv,\n });\n if (envVar) {\n process.env[envVar] = pair.privateKey;\n }\n return { publicKey: pair.publicKey, privateKey: pair.privateKey };\n }\n if (privateKey) {\n const publicKey = derivePublicKeyFromPrivateKey(client, privateKey);\n return { publicKey, privateKey };\n }\n return null;\n}\n\nasync function autoRegisterEncryptionKey(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n const identity = normalizeAutoRegisterIdentity(config);\n if (!identity) {\n throw new Error(\n 'Auto-registration requires uaid, ledgerAccountId, or email',\n );\n }\n const material = await resolveAutoRegisterKeyMaterial(client, config);\n if (!material) {\n throw new Error(\n 'Unable to resolve encryption public key for auto-registration',\n );\n }\n await registerEncryptionKey(client, {\n keyType: config.keyType ?? 'secp256k1',\n publicKey: material.publicKey,\n ...identity,\n });\n return material;\n}\n\nasync function ensureAgentEncryptionKey(\n client: RegistryBrokerClient,\n options: EnsureAgentKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n return autoRegisterEncryptionKey(client, {\n ...options,\n uaid: options.uaid,\n enabled: true,\n });\n}\n\nconst encryptionApis = new WeakMap<\n RegistryBrokerClient,\n RegistryBrokerClient['encryption']\n>();\n\nObject.defineProperty(RegistryBrokerClient.prototype, 'encryption', {\n get(this: RegistryBrokerClient) {\n const existing = encryptionApis.get(this);\n if (existing) {\n return existing;\n }\n const api = {\n registerKey: (payload: RegisterEncryptionKeyPayload) =>\n registerEncryptionKey(this, payload),\n generateEphemeralKeyPair: () => this.createEphemeralKeyPair(),\n deriveSharedSecret: (options: DeriveSharedSecretOptions) =>\n this.deriveSharedSecret(options),\n encryptCipherEnvelope: (options: EncryptCipherEnvelopeOptions) =>\n this.buildCipherEnvelope(options),\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) =>\n this.openCipherEnvelope(options),\n ensureAgentKey: (options: EnsureAgentKeyOptions) =>\n ensureAgentEncryptionKey(this, options),\n };\n encryptionApis.set(this, api);\n return api;\n },\n});\n\nRegistryBrokerClient.prototype.bootstrapEncryptionOptions = async function (\n this: RegistryBrokerClient,\n options?: ClientEncryptionOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (!options?.autoRegister || options.autoRegister.enabled === false) {\n return null;\n }\n return autoRegisterEncryptionKey(this, options.autoRegister);\n};\n\nRegistryBrokerClient.prototype.generateEncryptionKeyPair = async function (\n this: RegistryBrokerClient,\n options: GenerateEncryptionKeyPairOptions = {},\n): Promise<{\n privateKey: string;\n publicKey: string;\n envPath?: string;\n envVar: string;\n}> {\n this.assertNodeRuntime('generateEncryptionKeyPair');\n\n const keyType = options.keyType ?? 'secp256k1';\n if (keyType !== 'secp256k1') {\n throw new Error('Only secp256k1 key generation is supported currently');\n }\n\n const privateKeyBytes = randomBytes(32);\n const privateKey = Buffer.from(privateKeyBytes).toString('hex');\n const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);\n const publicKey = Buffer.from(publicKeyBytes).toString('hex');\n\n const envVar = options.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n const resolvedPath = options.envPath\n ? path.resolve(options.envPath)\n : undefined;\n\n if (resolvedPath) {\n const fsModule = await getFs();\n\n if (!fsModule) {\n throw new Error(\n 'File system module is not available; cannot write encryption key env file',\n );\n }\n\n const envLine = `${envVar}=${privateKey}`;\n if (fsModule.existsSync(resolvedPath)) {\n const content = fsModule.readFileSync(resolvedPath, 'utf-8');\n const lineRegex = new RegExp(`^${envVar}=.*$`, 'm');\n if (lineRegex.test(content)) {\n if (!options.overwrite) {\n throw new Error(\n `${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`,\n );\n }\n const updated = content.replace(lineRegex, envLine);\n fsModule.writeFileSync(resolvedPath, updated);\n } else {\n const needsNewline = !content.endsWith('\\n');\n fsModule.appendFileSync(\n resolvedPath,\n `${needsNewline ? '\\n' : ''}${envLine}\\n`,\n );\n }\n } else {\n fsModule.writeFileSync(resolvedPath, `${envLine}\\n`);\n }\n }\n\n return {\n privateKey,\n publicKey,\n envPath: resolvedPath,\n envVar,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es128.js","sources":["../../src/services/registry-broker/client/search.ts"],"sourcesContent":["import type {\n JsonValue,\n PopularSearchesResponse,\n ProtocolDetectionMessage,\n DetectProtocolResponse,\n ProtocolsResponse,\n RegistriesResponse,\n AdditionalRegistryCatalogResponse,\n RegistrySearchByNamespaceResponse,\n RegistryStatsResponse,\n SearchFacetsResponse,\n SearchParams,\n SearchResult,\n SearchStatusResponse,\n VectorSearchRequest,\n VectorSearchResponse,\n WebsocketStatsResponse,\n MetricsSummaryResponse,\n} from '../types';\nimport {\n additionalRegistryCatalogResponseSchema,\n detectProtocolResponseSchema,\n metricsSummaryResponseSchema,\n popularResponseSchema,\n protocolsResponseSchema,\n registriesResponseSchema,\n registrySearchByNamespaceSchema,\n searchFacetsResponseSchema,\n searchResponseSchema,\n searchStatusResponseSchema,\n statsResponseSchema,\n vectorSearchResponseSchema,\n websocketStatsResponseSchema,\n} from '../schemas';\nimport { RegistryBrokerClient } from './base-client';\nimport { buildSearchQuery } from './utils';\nimport { RegistryBrokerError } from './errors';\n\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n search(params?: SearchParams): Promise<SearchResult>;\n stats(): Promise<RegistryStatsResponse>;\n registries(): Promise<RegistriesResponse>;\n getAdditionalRegistries(): Promise<AdditionalRegistryCatalogResponse>;\n popularSearches(): Promise<PopularSearchesResponse>;\n listProtocols(): Promise<ProtocolsResponse>;\n detectProtocol(\n message: ProtocolDetectionMessage,\n ): Promise<DetectProtocolResponse>;\n registrySearchByNamespace(\n registry: string,\n query?: string,\n ): Promise<RegistrySearchByNamespaceResponse>;\n vectorSearch(request: VectorSearchRequest): Promise<VectorSearchResponse>;\n searchStatus(): Promise<SearchStatusResponse>;\n websocketStats(): Promise<WebsocketStatsResponse>;\n metricsSummary(): Promise<MetricsSummaryResponse>;\n facets(adapter?: string): Promise<SearchFacetsResponse>;\n }\n}\n\nfunction buildVectorFallbackSearchParams(\n request: VectorSearchRequest,\n): SearchParams {\n const params: SearchParams = {\n q: request.query,\n };\n let effectiveLimit: number | undefined;\n if (typeof request.limit === 'number' && Number.isFinite(request.limit)) {\n effectiveLimit = request.limit;\n params.limit = request.limit;\n }\n if (\n typeof request.offset === 'number' &&\n Number.isFinite(request.offset) &&\n request.offset > 0\n ) {\n const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;\n params.limit = limit;\n params.page = Math.floor(request.offset / limit) + 1;\n }\n if (request.filter?.registry) {\n params.registry = request.filter.registry;\n }\n if (request.filter?.protocols?.length) {\n params.protocols = [...request.filter.protocols];\n }\n if (request.filter?.adapter?.length) {\n params.adapters = [...request.filter.adapter];\n }\n if (request.filter?.capabilities?.length) {\n params.capabilities = request.filter.capabilities.map(value =>\n typeof value === 'number' ? value.toString(10) : value,\n );\n }\n if (request.filter?.type) {\n params.type = request.filter.type;\n }\n return params;\n}\n\nfunction convertSearchResultToVectorResponse(\n result: SearchResult,\n): VectorSearchResponse {\n const hits = result.hits.map(agent => ({\n agent,\n score: 0,\n highlights: {},\n }));\n const total = result.total;\n const limit = result.limit;\n const page = result.page;\n const totalVisible = page * limit;\n const limited = total > totalVisible || page > 1;\n\n return {\n hits,\n total,\n took: 0,\n totalAvailable: total,\n visible: hits.length,\n limited,\n credits_used: 0,\n };\n}\n\nRegistryBrokerClient.prototype.search = async function (\n this: RegistryBrokerClient,\n params: SearchParams = {},\n): Promise<SearchResult> {\n const query = buildSearchQuery(params);\n const raw = await this.requestJson<JsonValue>(`/search${query}`, {\n method: 'GET',\n });\n return this.parseWithSchema(raw, searchResponseSchema, 'search response');\n};\n\nRegistryBrokerClient.prototype.stats = async function (\n this: RegistryBrokerClient,\n): Promise<RegistryStatsResponse> {\n const raw = await this.requestJson<JsonValue>('/stats', { method: 'GET' });\n return this.parseWithSchema(raw, statsResponseSchema, 'stats response');\n};\n\nRegistryBrokerClient.prototype.registries = async function (\n this: RegistryBrokerClient,\n): Promise<RegistriesResponse> {\n const raw = await this.requestJson<JsonValue>('/registries', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n registriesResponseSchema,\n 'registries response',\n );\n};\n\nRegistryBrokerClient.prototype.getAdditionalRegistries = async function (\n this: RegistryBrokerClient,\n) {\n const raw = await this.requestJson<JsonValue>(\n '/register/additional-registries',\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n additionalRegistryCatalogResponseSchema,\n 'additional registry catalog response',\n );\n};\n\nRegistryBrokerClient.prototype.popularSearches = async function (\n this: RegistryBrokerClient,\n): Promise<PopularSearchesResponse> {\n const raw = await this.requestJson<JsonValue>('/popular', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n popularResponseSchema,\n 'popular searches response',\n );\n};\n\nRegistryBrokerClient.prototype.listProtocols = async function (\n this: RegistryBrokerClient,\n): Promise<ProtocolsResponse> {\n const raw = await this.requestJson<JsonValue>('/protocols', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n protocolsResponseSchema,\n 'protocols response',\n );\n};\n\nRegistryBrokerClient.prototype.detectProtocol = async function (\n this: RegistryBrokerClient,\n message: ProtocolDetectionMessage,\n): Promise<DetectProtocolResponse> {\n const raw = await this.requestJson<JsonValue>('/detect-protocol', {\n method: 'POST',\n body: { message },\n headers: { 'content-type': 'application/json' },\n });\n return this.parseWithSchema(\n raw,\n detectProtocolResponseSchema,\n 'detect protocol response',\n );\n};\n\nRegistryBrokerClient.prototype.registrySearchByNamespace = async function (\n this: RegistryBrokerClient,\n registry: string,\n query?: string,\n): Promise<RegistrySearchByNamespaceResponse> {\n const params = new URLSearchParams();\n if (query) {\n params.set('q', query);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await this.requestJson<JsonValue>(\n `/registries/${encodeURIComponent(registry)}/search${suffix}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n registrySearchByNamespaceSchema,\n 'registry search response',\n );\n};\n\nRegistryBrokerClient.prototype.vectorSearch = async function (\n this: RegistryBrokerClient,\n request: VectorSearchRequest,\n): Promise<VectorSearchResponse> {\n try {\n const raw = await this.requestJson<JsonValue>('/search', {\n method: 'POST',\n body: request,\n headers: { 'content-type': 'application/json' },\n });\n return this.parseWithSchema(\n raw,\n vectorSearchResponseSchema,\n 'vector search response',\n );\n } catch (error) {\n if (error instanceof RegistryBrokerError && error.status === 501) {\n const fallback = await this.search(\n buildVectorFallbackSearchParams(request),\n );\n return convertSearchResultToVectorResponse(fallback);\n }\n throw error;\n }\n};\n\nRegistryBrokerClient.prototype.searchStatus = async function (\n this: RegistryBrokerClient,\n): Promise<SearchStatusResponse> {\n const raw = await this.requestJson<JsonValue>('/search/status', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n searchStatusResponseSchema,\n 'search status response',\n );\n};\n\nRegistryBrokerClient.prototype.websocketStats = async function (\n this: RegistryBrokerClient,\n): Promise<WebsocketStatsResponse> {\n const raw = await this.requestJson<JsonValue>('/websocket/stats', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n websocketStatsResponseSchema,\n 'websocket stats response',\n );\n};\n\nRegistryBrokerClient.prototype.metricsSummary = async function (\n this: RegistryBrokerClient,\n): Promise<MetricsSummaryResponse> {\n const raw = await this.requestJson<JsonValue>('/metrics', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n metricsSummaryResponseSchema,\n 'metrics summary response',\n );\n};\n\nRegistryBrokerClient.prototype.facets = async function (\n this: RegistryBrokerClient,\n adapter?: string,\n): Promise<SearchFacetsResponse> {\n const params = new URLSearchParams();\n if (adapter) {\n params.set('adapter', adapter);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await this.requestJson<JsonValue>(`/search/facets${suffix}`, {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n searchFacetsResponseSchema,\n 'search facets response',\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,210 +1,107 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RegistryBrokerClient } from "./standards-sdk.
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const params = {
|
|
7
|
-
q: request.query
|
|
8
|
-
};
|
|
9
|
-
let effectiveLimit;
|
|
10
|
-
if (typeof request.limit === "number" && Number.isFinite(request.limit)) {
|
|
11
|
-
effectiveLimit = request.limit;
|
|
12
|
-
params.limit = request.limit;
|
|
13
|
-
}
|
|
14
|
-
if (typeof request.offset === "number" && Number.isFinite(request.offset) && request.offset > 0) {
|
|
15
|
-
const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;
|
|
16
|
-
params.limit = limit;
|
|
17
|
-
params.page = Math.floor(request.offset / limit) + 1;
|
|
18
|
-
}
|
|
19
|
-
if (request.filter?.registry) {
|
|
20
|
-
params.registry = request.filter.registry;
|
|
21
|
-
}
|
|
22
|
-
if (request.filter?.protocols?.length) {
|
|
23
|
-
params.protocols = [...request.filter.protocols];
|
|
24
|
-
}
|
|
25
|
-
if (request.filter?.adapter?.length) {
|
|
26
|
-
params.adapters = [...request.filter.adapter];
|
|
27
|
-
}
|
|
28
|
-
if (request.filter?.capabilities?.length) {
|
|
29
|
-
params.capabilities = request.filter.capabilities.map(
|
|
30
|
-
(value) => typeof value === "number" ? value.toString(10) : value
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
if (request.filter?.type) {
|
|
34
|
-
params.type = request.filter.type;
|
|
35
|
-
}
|
|
36
|
-
return params;
|
|
37
|
-
}
|
|
38
|
-
function convertSearchResultToVectorResponse(result) {
|
|
39
|
-
const hits = result.hits.map((agent) => ({
|
|
40
|
-
agent,
|
|
41
|
-
score: 0,
|
|
42
|
-
highlights: {}
|
|
43
|
-
}));
|
|
44
|
-
const total = result.total;
|
|
45
|
-
const limit = result.limit;
|
|
46
|
-
const page = result.page;
|
|
47
|
-
const totalVisible = page * limit;
|
|
48
|
-
const limited = total > totalVisible || page > 1;
|
|
49
|
-
return {
|
|
50
|
-
hits,
|
|
51
|
-
total,
|
|
52
|
-
took: 0,
|
|
53
|
-
totalAvailable: total,
|
|
54
|
-
visible: hits.length,
|
|
55
|
-
limited,
|
|
56
|
-
credits_used: 0
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
RegistryBrokerClient.prototype.search = async function(params = {}) {
|
|
60
|
-
const query = buildSearchQuery(params);
|
|
61
|
-
const raw = await this.requestJson(`/search${query}`, {
|
|
1
|
+
import { adaptersResponseSchema, adapterDetailsResponseSchema, adapterRegistryCategoriesResponseSchema, adapterRegistryAdaptersResponseSchema, adapterRegistryCreateCategoryResponseSchema, adapterRegistrySubmitAdapterAcceptedResponseSchema, adapterRegistrySubmissionStatusResponseSchema } from "./standards-sdk.es149.js";
|
|
2
|
+
import { RegistryBrokerClient } from "./standards-sdk.es135.js";
|
|
3
|
+
import { toJsonObject } from "./standards-sdk.es159.js";
|
|
4
|
+
RegistryBrokerClient.prototype.adapters = async function() {
|
|
5
|
+
const raw = await this.requestJson("/adapters", {
|
|
62
6
|
method: "GET"
|
|
63
7
|
});
|
|
64
|
-
return this.parseWithSchema(raw,
|
|
8
|
+
return this.parseWithSchema(raw, adaptersResponseSchema, "adapters response");
|
|
65
9
|
};
|
|
66
|
-
RegistryBrokerClient.prototype.
|
|
67
|
-
const raw = await this.requestJson("/
|
|
68
|
-
return this.parseWithSchema(raw, statsResponseSchema, "stats response");
|
|
69
|
-
};
|
|
70
|
-
RegistryBrokerClient.prototype.registries = async function() {
|
|
71
|
-
const raw = await this.requestJson("/registries", {
|
|
10
|
+
RegistryBrokerClient.prototype.adaptersDetailed = async function() {
|
|
11
|
+
const raw = await this.requestJson("/adapters/details", {
|
|
72
12
|
method: "GET"
|
|
73
13
|
});
|
|
74
14
|
return this.parseWithSchema(
|
|
75
15
|
raw,
|
|
76
|
-
|
|
77
|
-
"
|
|
16
|
+
adapterDetailsResponseSchema,
|
|
17
|
+
"adapter details response"
|
|
78
18
|
);
|
|
79
19
|
};
|
|
80
|
-
RegistryBrokerClient.prototype.
|
|
20
|
+
RegistryBrokerClient.prototype.adapterRegistryCategories = async function() {
|
|
81
21
|
const raw = await this.requestJson(
|
|
82
|
-
"/
|
|
22
|
+
"/adapters/registry/categories",
|
|
83
23
|
{
|
|
84
24
|
method: "GET"
|
|
85
25
|
}
|
|
86
26
|
);
|
|
87
27
|
return this.parseWithSchema(
|
|
88
28
|
raw,
|
|
89
|
-
|
|
90
|
-
"
|
|
91
|
-
);
|
|
92
|
-
};
|
|
93
|
-
RegistryBrokerClient.prototype.popularSearches = async function() {
|
|
94
|
-
const raw = await this.requestJson("/popular", {
|
|
95
|
-
method: "GET"
|
|
96
|
-
});
|
|
97
|
-
return this.parseWithSchema(
|
|
98
|
-
raw,
|
|
99
|
-
popularResponseSchema,
|
|
100
|
-
"popular searches response"
|
|
101
|
-
);
|
|
102
|
-
};
|
|
103
|
-
RegistryBrokerClient.prototype.listProtocols = async function() {
|
|
104
|
-
const raw = await this.requestJson("/protocols", {
|
|
105
|
-
method: "GET"
|
|
106
|
-
});
|
|
107
|
-
return this.parseWithSchema(
|
|
108
|
-
raw,
|
|
109
|
-
protocolsResponseSchema,
|
|
110
|
-
"protocols response"
|
|
111
|
-
);
|
|
112
|
-
};
|
|
113
|
-
RegistryBrokerClient.prototype.detectProtocol = async function(message) {
|
|
114
|
-
const raw = await this.requestJson("/detect-protocol", {
|
|
115
|
-
method: "POST",
|
|
116
|
-
body: { message },
|
|
117
|
-
headers: { "content-type": "application/json" }
|
|
118
|
-
});
|
|
119
|
-
return this.parseWithSchema(
|
|
120
|
-
raw,
|
|
121
|
-
detectProtocolResponseSchema,
|
|
122
|
-
"detect protocol response"
|
|
29
|
+
adapterRegistryCategoriesResponseSchema,
|
|
30
|
+
"adapter registry categories response"
|
|
123
31
|
);
|
|
124
32
|
};
|
|
125
|
-
RegistryBrokerClient.prototype.
|
|
33
|
+
RegistryBrokerClient.prototype.adapterRegistryAdapters = async function(filters = {}) {
|
|
126
34
|
const params = new URLSearchParams();
|
|
127
|
-
if (
|
|
128
|
-
params.set("
|
|
35
|
+
if (filters.category) {
|
|
36
|
+
params.set("category", filters.category);
|
|
37
|
+
}
|
|
38
|
+
if (filters.entity) {
|
|
39
|
+
params.set("entity", filters.entity);
|
|
40
|
+
}
|
|
41
|
+
if (filters.keywords?.length) {
|
|
42
|
+
params.set("keywords", filters.keywords.join(","));
|
|
43
|
+
}
|
|
44
|
+
if (filters.query) {
|
|
45
|
+
params.set("query", filters.query);
|
|
46
|
+
}
|
|
47
|
+
if (typeof filters.limit === "number") {
|
|
48
|
+
params.set("limit", String(filters.limit));
|
|
49
|
+
}
|
|
50
|
+
if (typeof filters.offset === "number") {
|
|
51
|
+
params.set("offset", String(filters.offset));
|
|
129
52
|
}
|
|
130
53
|
const suffix = params.size > 0 ? `?${params.toString()}` : "";
|
|
131
54
|
const raw = await this.requestJson(
|
|
132
|
-
`/
|
|
55
|
+
`/adapters/registry/adapters${suffix}`,
|
|
133
56
|
{
|
|
134
57
|
method: "GET"
|
|
135
58
|
}
|
|
136
59
|
);
|
|
137
60
|
return this.parseWithSchema(
|
|
138
61
|
raw,
|
|
139
|
-
|
|
140
|
-
"registry
|
|
62
|
+
adapterRegistryAdaptersResponseSchema,
|
|
63
|
+
"adapter registry adapters response"
|
|
141
64
|
);
|
|
142
65
|
};
|
|
143
|
-
RegistryBrokerClient.prototype.
|
|
144
|
-
|
|
145
|
-
|
|
66
|
+
RegistryBrokerClient.prototype.createAdapterRegistryCategory = async function(payload) {
|
|
67
|
+
const raw = await this.requestJson(
|
|
68
|
+
"/adapters/registry/categories",
|
|
69
|
+
{
|
|
146
70
|
method: "POST",
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
});
|
|
150
|
-
return this.parseWithSchema(
|
|
151
|
-
raw,
|
|
152
|
-
vectorSearchResponseSchema,
|
|
153
|
-
"vector search response"
|
|
154
|
-
);
|
|
155
|
-
} catch (error) {
|
|
156
|
-
if (error instanceof RegistryBrokerError && error.status === 501) {
|
|
157
|
-
const fallback = await this.search(
|
|
158
|
-
buildVectorFallbackSearchParams(request)
|
|
159
|
-
);
|
|
160
|
-
return convertSearchResultToVectorResponse(fallback);
|
|
71
|
+
headers: { "content-type": "application/json" },
|
|
72
|
+
body: toJsonObject(payload)
|
|
161
73
|
}
|
|
162
|
-
throw error;
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
RegistryBrokerClient.prototype.searchStatus = async function() {
|
|
166
|
-
const raw = await this.requestJson("/search/status", {
|
|
167
|
-
method: "GET"
|
|
168
|
-
});
|
|
169
|
-
return this.parseWithSchema(
|
|
170
|
-
raw,
|
|
171
|
-
searchStatusResponseSchema,
|
|
172
|
-
"search status response"
|
|
173
74
|
);
|
|
174
|
-
|
|
175
|
-
RegistryBrokerClient.prototype.websocketStats = async function() {
|
|
176
|
-
const raw = await this.requestJson("/websocket/stats", {
|
|
177
|
-
method: "GET"
|
|
178
|
-
});
|
|
179
|
-
return this.parseWithSchema(
|
|
75
|
+
const parsed = this.parseWithSchema(
|
|
180
76
|
raw,
|
|
181
|
-
|
|
182
|
-
"
|
|
77
|
+
adapterRegistryCreateCategoryResponseSchema,
|
|
78
|
+
"adapter registry create category response"
|
|
183
79
|
);
|
|
80
|
+
return parsed.category;
|
|
184
81
|
};
|
|
185
|
-
RegistryBrokerClient.prototype.
|
|
186
|
-
const raw = await this.requestJson("/
|
|
187
|
-
method: "
|
|
82
|
+
RegistryBrokerClient.prototype.submitAdapterRegistryAdapter = async function(payload) {
|
|
83
|
+
const raw = await this.requestJson("/adapters/registry/adapters", {
|
|
84
|
+
method: "POST",
|
|
85
|
+
headers: { "content-type": "application/json" },
|
|
86
|
+
body: toJsonObject(payload)
|
|
188
87
|
});
|
|
189
88
|
return this.parseWithSchema(
|
|
190
89
|
raw,
|
|
191
|
-
|
|
192
|
-
"
|
|
90
|
+
adapterRegistrySubmitAdapterAcceptedResponseSchema,
|
|
91
|
+
"adapter registry submit adapter response"
|
|
193
92
|
);
|
|
194
93
|
};
|
|
195
|
-
RegistryBrokerClient.prototype.
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
method: "GET"
|
|
203
|
-
});
|
|
94
|
+
RegistryBrokerClient.prototype.adapterRegistrySubmissionStatus = async function(submissionId) {
|
|
95
|
+
const raw = await this.requestJson(
|
|
96
|
+
`/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,
|
|
97
|
+
{
|
|
98
|
+
method: "GET"
|
|
99
|
+
}
|
|
100
|
+
);
|
|
204
101
|
return this.parseWithSchema(
|
|
205
102
|
raw,
|
|
206
|
-
|
|
207
|
-
"
|
|
103
|
+
adapterRegistrySubmissionStatusResponseSchema,
|
|
104
|
+
"adapter registry submission status response"
|
|
208
105
|
);
|
|
209
106
|
};
|
|
210
107
|
//# sourceMappingURL=standards-sdk.es129.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es129.js","sources":["../../src/services/registry-broker/client/search.ts"],"sourcesContent":["import type {\n JsonValue,\n PopularSearchesResponse,\n ProtocolDetectionMessage,\n DetectProtocolResponse,\n ProtocolsResponse,\n RegistriesResponse,\n AdditionalRegistryCatalogResponse,\n RegistrySearchByNamespaceResponse,\n RegistryStatsResponse,\n SearchFacetsResponse,\n SearchParams,\n SearchResult,\n SearchStatusResponse,\n VectorSearchRequest,\n VectorSearchResponse,\n WebsocketStatsResponse,\n MetricsSummaryResponse,\n} from '../types';\nimport {\n additionalRegistryCatalogResponseSchema,\n detectProtocolResponseSchema,\n metricsSummaryResponseSchema,\n popularResponseSchema,\n protocolsResponseSchema,\n registriesResponseSchema,\n registrySearchByNamespaceSchema,\n searchFacetsResponseSchema,\n searchResponseSchema,\n searchStatusResponseSchema,\n statsResponseSchema,\n vectorSearchResponseSchema,\n websocketStatsResponseSchema,\n} from '../schemas';\nimport { RegistryBrokerClient } from './base-client';\nimport { buildSearchQuery } from './utils';\nimport { RegistryBrokerError } from './errors';\n\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n search(params?: SearchParams): Promise<SearchResult>;\n stats(): Promise<RegistryStatsResponse>;\n registries(): Promise<RegistriesResponse>;\n getAdditionalRegistries(): Promise<AdditionalRegistryCatalogResponse>;\n popularSearches(): Promise<PopularSearchesResponse>;\n listProtocols(): Promise<ProtocolsResponse>;\n detectProtocol(\n message: ProtocolDetectionMessage,\n ): Promise<DetectProtocolResponse>;\n registrySearchByNamespace(\n registry: string,\n query?: string,\n ): Promise<RegistrySearchByNamespaceResponse>;\n vectorSearch(request: VectorSearchRequest): Promise<VectorSearchResponse>;\n searchStatus(): Promise<SearchStatusResponse>;\n websocketStats(): Promise<WebsocketStatsResponse>;\n metricsSummary(): Promise<MetricsSummaryResponse>;\n facets(adapter?: string): Promise<SearchFacetsResponse>;\n }\n}\n\nfunction buildVectorFallbackSearchParams(\n request: VectorSearchRequest,\n): SearchParams {\n const params: SearchParams = {\n q: request.query,\n };\n let effectiveLimit: number | undefined;\n if (typeof request.limit === 'number' && Number.isFinite(request.limit)) {\n effectiveLimit = request.limit;\n params.limit = request.limit;\n }\n if (\n typeof request.offset === 'number' &&\n Number.isFinite(request.offset) &&\n request.offset > 0\n ) {\n const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;\n params.limit = limit;\n params.page = Math.floor(request.offset / limit) + 1;\n }\n if (request.filter?.registry) {\n params.registry = request.filter.registry;\n }\n if (request.filter?.protocols?.length) {\n params.protocols = [...request.filter.protocols];\n }\n if (request.filter?.adapter?.length) {\n params.adapters = [...request.filter.adapter];\n }\n if (request.filter?.capabilities?.length) {\n params.capabilities = request.filter.capabilities.map(value =>\n typeof value === 'number' ? value.toString(10) : value,\n );\n }\n if (request.filter?.type) {\n params.type = request.filter.type;\n }\n return params;\n}\n\nfunction convertSearchResultToVectorResponse(\n result: SearchResult,\n): VectorSearchResponse {\n const hits = result.hits.map(agent => ({\n agent,\n score: 0,\n highlights: {},\n }));\n const total = result.total;\n const limit = result.limit;\n const page = result.page;\n const totalVisible = page * limit;\n const limited = total > totalVisible || page > 1;\n\n return {\n hits,\n total,\n took: 0,\n totalAvailable: total,\n visible: hits.length,\n limited,\n credits_used: 0,\n };\n}\n\nRegistryBrokerClient.prototype.search = async function (\n this: RegistryBrokerClient,\n params: SearchParams = {},\n): Promise<SearchResult> {\n const query = buildSearchQuery(params);\n const raw = await this.requestJson<JsonValue>(`/search${query}`, {\n method: 'GET',\n });\n return this.parseWithSchema(raw, searchResponseSchema, 'search response');\n};\n\nRegistryBrokerClient.prototype.stats = async function (\n this: RegistryBrokerClient,\n): Promise<RegistryStatsResponse> {\n const raw = await this.requestJson<JsonValue>('/stats', { method: 'GET' });\n return this.parseWithSchema(raw, statsResponseSchema, 'stats response');\n};\n\nRegistryBrokerClient.prototype.registries = async function (\n this: RegistryBrokerClient,\n): Promise<RegistriesResponse> {\n const raw = await this.requestJson<JsonValue>('/registries', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n registriesResponseSchema,\n 'registries response',\n );\n};\n\nRegistryBrokerClient.prototype.getAdditionalRegistries = async function (\n this: RegistryBrokerClient,\n) {\n const raw = await this.requestJson<JsonValue>(\n '/register/additional-registries',\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n additionalRegistryCatalogResponseSchema,\n 'additional registry catalog response',\n );\n};\n\nRegistryBrokerClient.prototype.popularSearches = async function (\n this: RegistryBrokerClient,\n): Promise<PopularSearchesResponse> {\n const raw = await this.requestJson<JsonValue>('/popular', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n popularResponseSchema,\n 'popular searches response',\n );\n};\n\nRegistryBrokerClient.prototype.listProtocols = async function (\n this: RegistryBrokerClient,\n): Promise<ProtocolsResponse> {\n const raw = await this.requestJson<JsonValue>('/protocols', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n protocolsResponseSchema,\n 'protocols response',\n );\n};\n\nRegistryBrokerClient.prototype.detectProtocol = async function (\n this: RegistryBrokerClient,\n message: ProtocolDetectionMessage,\n): Promise<DetectProtocolResponse> {\n const raw = await this.requestJson<JsonValue>('/detect-protocol', {\n method: 'POST',\n body: { message },\n headers: { 'content-type': 'application/json' },\n });\n return this.parseWithSchema(\n raw,\n detectProtocolResponseSchema,\n 'detect protocol response',\n );\n};\n\nRegistryBrokerClient.prototype.registrySearchByNamespace = async function (\n this: RegistryBrokerClient,\n registry: string,\n query?: string,\n): Promise<RegistrySearchByNamespaceResponse> {\n const params = new URLSearchParams();\n if (query) {\n params.set('q', query);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await this.requestJson<JsonValue>(\n `/registries/${encodeURIComponent(registry)}/search${suffix}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n registrySearchByNamespaceSchema,\n 'registry search response',\n );\n};\n\nRegistryBrokerClient.prototype.vectorSearch = async function (\n this: RegistryBrokerClient,\n request: VectorSearchRequest,\n): Promise<VectorSearchResponse> {\n try {\n const raw = await this.requestJson<JsonValue>('/search', {\n method: 'POST',\n body: request,\n headers: { 'content-type': 'application/json' },\n });\n return this.parseWithSchema(\n raw,\n vectorSearchResponseSchema,\n 'vector search response',\n );\n } catch (error) {\n if (error instanceof RegistryBrokerError && error.status === 501) {\n const fallback = await this.search(\n buildVectorFallbackSearchParams(request),\n );\n return convertSearchResultToVectorResponse(fallback);\n }\n throw error;\n }\n};\n\nRegistryBrokerClient.prototype.searchStatus = async function (\n this: RegistryBrokerClient,\n): Promise<SearchStatusResponse> {\n const raw = await this.requestJson<JsonValue>('/search/status', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n searchStatusResponseSchema,\n 'search status response',\n );\n};\n\nRegistryBrokerClient.prototype.websocketStats = async function (\n this: RegistryBrokerClient,\n): Promise<WebsocketStatsResponse> {\n const raw = await this.requestJson<JsonValue>('/websocket/stats', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n websocketStatsResponseSchema,\n 'websocket stats response',\n );\n};\n\nRegistryBrokerClient.prototype.metricsSummary = async function (\n this: RegistryBrokerClient,\n): Promise<MetricsSummaryResponse> {\n const raw = await this.requestJson<JsonValue>('/metrics', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n metricsSummaryResponseSchema,\n 'metrics summary response',\n );\n};\n\nRegistryBrokerClient.prototype.facets = async function (\n this: RegistryBrokerClient,\n adapter?: string,\n): Promise<SearchFacetsResponse> {\n const params = new URLSearchParams();\n if (adapter) {\n params.set('adapter', adapter);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await this.requestJson<JsonValue>(`/search/facets${suffix}`, {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n searchFacetsResponseSchema,\n 'search facets response',\n );\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es129.js","sources":["../../src/services/registry-broker/client/adapters.ts"],"sourcesContent":["import type {\n AdapterDetailsResponse,\n AdapterRegistryAdaptersResponse,\n AdapterRegistryCategoriesResponse,\n AdapterRegistryCategory,\n AdapterRegistrySubmitAdapterAcceptedResponse,\n AdapterRegistrySubmissionStatusResponse,\n AdaptersResponse,\n CreateAdapterRegistryCategoryRequest,\n JsonValue,\n SubmitAdapterRegistryAdapterRequest,\n} from '../types';\nimport {\n adapterDetailsResponseSchema,\n adapterRegistryAdaptersResponseSchema,\n adapterRegistryCategoriesResponseSchema,\n adapterRegistryCreateCategoryResponseSchema,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n adapterRegistrySubmissionStatusResponseSchema,\n adaptersResponseSchema,\n} from '../schemas';\nimport { RegistryBrokerClient } from './base-client';\nimport { toJsonObject } from './utils';\n\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n adapters(): Promise<AdaptersResponse>;\n adaptersDetailed(): Promise<AdapterDetailsResponse>;\n adapterRegistryCategories(): Promise<AdapterRegistryCategoriesResponse>;\n adapterRegistryAdapters(filters?: {\n category?: string;\n entity?: string;\n keywords?: string[];\n query?: string;\n limit?: number;\n offset?: number;\n }): Promise<AdapterRegistryAdaptersResponse>;\n createAdapterRegistryCategory(\n payload: CreateAdapterRegistryCategoryRequest,\n ): Promise<AdapterRegistryCategory>;\n submitAdapterRegistryAdapter(\n payload: SubmitAdapterRegistryAdapterRequest,\n ): Promise<AdapterRegistrySubmitAdapterAcceptedResponse>;\n adapterRegistrySubmissionStatus(\n submissionId: string,\n ): Promise<AdapterRegistrySubmissionStatusResponse>;\n }\n}\n\nRegistryBrokerClient.prototype.adapters = async function (\n this: RegistryBrokerClient,\n): Promise<AdaptersResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters', {\n method: 'GET',\n });\n return this.parseWithSchema(raw, adaptersResponseSchema, 'adapters response');\n};\n\nRegistryBrokerClient.prototype.adaptersDetailed = async function (\n this: RegistryBrokerClient,\n): Promise<AdapterDetailsResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters/details', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n adapterDetailsResponseSchema,\n 'adapter details response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistryCategories = async function (\n this: RegistryBrokerClient,\n): Promise<AdapterRegistryCategoriesResponse> {\n const raw = await this.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistryCategoriesResponseSchema,\n 'adapter registry categories response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistryAdapters = async function (\n this: RegistryBrokerClient,\n filters: {\n category?: string;\n entity?: string;\n keywords?: string[];\n query?: string;\n limit?: number;\n offset?: number;\n } = {},\n): Promise<AdapterRegistryAdaptersResponse> {\n const params = new URLSearchParams();\n if (filters.category) {\n params.set('category', filters.category);\n }\n if (filters.entity) {\n params.set('entity', filters.entity);\n }\n if (filters.keywords?.length) {\n params.set('keywords', filters.keywords.join(','));\n }\n if (filters.query) {\n params.set('query', filters.query);\n }\n if (typeof filters.limit === 'number') {\n params.set('limit', String(filters.limit));\n }\n if (typeof filters.offset === 'number') {\n params.set('offset', String(filters.offset));\n }\n\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await this.requestJson<JsonValue>(\n `/adapters/registry/adapters${suffix}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistryAdaptersResponseSchema,\n 'adapter registry adapters response',\n );\n};\n\nRegistryBrokerClient.prototype.createAdapterRegistryCategory = async function (\n this: RegistryBrokerClient,\n payload: CreateAdapterRegistryCategoryRequest,\n): Promise<AdapterRegistryCategory> {\n const raw = await this.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n },\n );\n const parsed = this.parseWithSchema(\n raw,\n adapterRegistryCreateCategoryResponseSchema,\n 'adapter registry create category response',\n );\n return parsed.category;\n};\n\nRegistryBrokerClient.prototype.submitAdapterRegistryAdapter = async function (\n this: RegistryBrokerClient,\n payload: SubmitAdapterRegistryAdapterRequest,\n): Promise<AdapterRegistrySubmitAdapterAcceptedResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters/registry/adapters', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n });\n return this.parseWithSchema(\n raw,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n 'adapter registry submit adapter response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistrySubmissionStatus =\n async function (\n this: RegistryBrokerClient,\n submissionId: string,\n ): Promise<AdapterRegistrySubmissionStatusResponse> {\n const raw = await this.requestJson<JsonValue>(\n `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistrySubmissionStatusResponseSchema,\n 'adapter registry submission status response',\n );\n };\n"],"names":[],"mappings":";;;AAiDA,qBAAqB,UAAU,WAAW,iBAEb;AAC3B,QAAM,MAAM,MAAM,KAAK,YAAuB,aAAa;AAAA,IACzD,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,KAAK,gBAAgB,KAAK,wBAAwB,mBAAmB;AAC9E;AAEA,qBAAqB,UAAU,mBAAmB,iBAEf;AACjC,QAAM,MAAM,MAAM,KAAK,YAAuB,qBAAqB;AAAA,IACjE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,4BAA4B,iBAEb;AAC5C,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,0BAA0B,eAEvD,UAOI,CAAA,GACsC;AAC1C,QAAM,SAAS,IAAI,gBAAA;AACnB,MAAI,QAAQ,UAAU;AACpB,WAAO,IAAI,YAAY,QAAQ,QAAQ;AAAA,EACzC;AACA,MAAI,QAAQ,QAAQ;AAClB,WAAO,IAAI,UAAU,QAAQ,MAAM;AAAA,EACrC;AACA,MAAI,QAAQ,UAAU,QAAQ;AAC5B,WAAO,IAAI,YAAY,QAAQ,SAAS,KAAK,GAAG,CAAC;AAAA,EACnD;AACA,MAAI,QAAQ,OAAO;AACjB,WAAO,IAAI,SAAS,QAAQ,KAAK;AAAA,EACnC;AACA,MAAI,OAAO,QAAQ,UAAU,UAAU;AACrC,WAAO,IAAI,SAAS,OAAO,QAAQ,KAAK,CAAC;AAAA,EAC3C;AACA,MAAI,OAAO,QAAQ,WAAW,UAAU;AACtC,WAAO,IAAI,UAAU,OAAO,QAAQ,MAAM,CAAC;AAAA,EAC7C;AAEA,QAAM,SAAS,OAAO,OAAO,IAAI,IAAI,OAAO,UAAU,KAAK;AAC3D,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB,8BAA8B,MAAM;AAAA,IACpC;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,gCAAgC,eAE7D,SACkC;AAClC,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,aAAa,OAAO;AAAA,IAAA;AAAA,EAC5B;AAEF,QAAM,SAAS,KAAK;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,SAAO,OAAO;AAChB;AAEA,qBAAqB,UAAU,+BAA+B,eAE5D,SACuD;AACvD,QAAM,MAAM,MAAM,KAAK,YAAuB,+BAA+B;AAAA,IAC3E,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAC3B,MAAM,aAAa,OAAO;AAAA,EAAA,CAC3B;AACD,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,kCAC7B,eAEE,cACkD;AAClD,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB,kCAAkC,mBAAmB,YAAY,CAAC;AAAA,IAClE;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,64 +1,204 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
import { Logger } from "./standards-sdk.es105.js";
|
|
2
|
+
class WasmBridge {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.wasm = null;
|
|
5
|
+
this.WASM_VECTOR_LEN = 0;
|
|
6
|
+
this.cachedUint8Memory = null;
|
|
7
|
+
this.cachedDataViewMemory = null;
|
|
8
|
+
this.textEncoder = new TextEncoder();
|
|
9
|
+
this.textDecoder = new TextDecoder("utf-8", {
|
|
10
|
+
ignoreBOM: true,
|
|
11
|
+
fatal: true
|
|
12
|
+
});
|
|
13
|
+
this.textDecoder.decode();
|
|
14
|
+
this.logger = Logger.getInstance({ module: "WasmBridge" });
|
|
15
|
+
}
|
|
16
|
+
setLogLevel(level) {
|
|
17
|
+
this.logger.setLogLevel(level);
|
|
18
|
+
}
|
|
19
|
+
get wasmInstance() {
|
|
20
|
+
if (!this.wasm) {
|
|
21
|
+
throw new Error("WASM not initialized");
|
|
22
|
+
}
|
|
23
|
+
return this.wasm;
|
|
24
|
+
}
|
|
25
|
+
getUint8Memory() {
|
|
26
|
+
if (!this.wasm) {
|
|
27
|
+
throw new Error("WASM not initialized");
|
|
28
|
+
}
|
|
29
|
+
if (this.cachedUint8Memory === null || this.cachedUint8Memory.byteLength === 0) {
|
|
30
|
+
this.cachedUint8Memory = new Uint8Array(this.wasm.memory.buffer);
|
|
31
|
+
}
|
|
32
|
+
return this.cachedUint8Memory;
|
|
33
|
+
}
|
|
34
|
+
getDataViewMemory() {
|
|
35
|
+
if (!this.wasm) {
|
|
36
|
+
throw new Error("WASM not initialized");
|
|
37
|
+
}
|
|
38
|
+
if (this.cachedDataViewMemory === null || this.cachedDataViewMemory.buffer !== this.wasm.memory.buffer) {
|
|
39
|
+
this.cachedDataViewMemory = new DataView(this.wasm.memory.buffer);
|
|
40
|
+
}
|
|
41
|
+
return this.cachedDataViewMemory;
|
|
42
|
+
}
|
|
43
|
+
encodeString(arg, view) {
|
|
44
|
+
if (arg.length === 0) {
|
|
45
|
+
return { read: 0, written: 0 };
|
|
46
|
+
}
|
|
47
|
+
const buf = this.textEncoder.encode(arg);
|
|
48
|
+
view.set(buf);
|
|
49
|
+
return { read: arg.length, written: buf.length };
|
|
50
|
+
}
|
|
51
|
+
passStringToWasm(arg, malloc, realloc) {
|
|
52
|
+
if (realloc === void 0) {
|
|
53
|
+
const buf = this.textEncoder.encode(arg);
|
|
54
|
+
const ptr2 = malloc(buf.length, 1);
|
|
55
|
+
const view = this.getUint8Memory();
|
|
56
|
+
view.set(buf, ptr2);
|
|
57
|
+
this.WASM_VECTOR_LEN = buf.length;
|
|
58
|
+
return ptr2;
|
|
59
|
+
}
|
|
60
|
+
let len = this.textEncoder.encode(arg).length;
|
|
61
|
+
let ptr = malloc(len, 1);
|
|
62
|
+
const mem = this.getUint8Memory();
|
|
63
|
+
let offset = 0;
|
|
64
|
+
for (; offset < len; offset++) {
|
|
65
|
+
const code = arg.charCodeAt(offset);
|
|
66
|
+
if (code > 127) break;
|
|
67
|
+
mem[ptr + offset] = code;
|
|
68
|
+
}
|
|
69
|
+
if (offset !== len) {
|
|
70
|
+
if (offset !== 0) {
|
|
71
|
+
arg = arg.slice(offset);
|
|
72
|
+
}
|
|
73
|
+
ptr = realloc(
|
|
74
|
+
ptr,
|
|
75
|
+
len,
|
|
76
|
+
len = offset + this.textEncoder.encode(arg).length * 3,
|
|
77
|
+
1
|
|
78
|
+
);
|
|
79
|
+
const view = this.getUint8Memory().subarray(ptr + offset, ptr + len);
|
|
80
|
+
const ret = this.encodeString(arg, view);
|
|
81
|
+
offset += ret.written;
|
|
82
|
+
}
|
|
83
|
+
this.WASM_VECTOR_LEN = offset;
|
|
84
|
+
return ptr;
|
|
85
|
+
}
|
|
86
|
+
getStringFromWasm(ptr, len) {
|
|
87
|
+
ptr = ptr >>> 0;
|
|
88
|
+
return this.textDecoder.decode(
|
|
89
|
+
this.getUint8Memory().subarray(ptr, ptr + len)
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
createWasmFunction(wasmFn) {
|
|
93
|
+
if (!this.wasm) {
|
|
94
|
+
throw new Error("WASM not initialized");
|
|
95
|
+
}
|
|
96
|
+
return (...args) => {
|
|
97
|
+
const retptr = this.wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
98
|
+
let deferred = [0, 0];
|
|
99
|
+
try {
|
|
100
|
+
const ptrLenPairs = args.map((arg) => {
|
|
101
|
+
const ptr = this.passStringToWasm(
|
|
102
|
+
arg,
|
|
103
|
+
this.wasm.__wbindgen_malloc,
|
|
104
|
+
this.wasm.__wbindgen_realloc
|
|
105
|
+
);
|
|
106
|
+
return [ptr, this.WASM_VECTOR_LEN];
|
|
107
|
+
});
|
|
108
|
+
const wasmArgs = [retptr, ...ptrLenPairs.flat()];
|
|
109
|
+
wasmFn.apply(this.wasm, wasmArgs);
|
|
110
|
+
const r0 = this.getDataViewMemory().getInt32(retptr + 4 * 0, true);
|
|
111
|
+
const r1 = this.getDataViewMemory().getInt32(retptr + 4 * 1, true);
|
|
112
|
+
deferred = [r0, r1];
|
|
113
|
+
return this.getStringFromWasm(r0, r1);
|
|
114
|
+
} finally {
|
|
115
|
+
this.wasm.__wbindgen_add_to_stack_pointer(16);
|
|
116
|
+
this.wasm.__wbindgen_free(deferred[0], deferred[1], 1);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async initWasm(wasmBytes) {
|
|
121
|
+
const bridge = this;
|
|
122
|
+
const imports = {
|
|
123
|
+
__wbindgen_placeholder__: {
|
|
124
|
+
__wbindgen_throw: function(ptr, len) {
|
|
125
|
+
const message = bridge.getStringFromWasm(ptr, len);
|
|
126
|
+
bridge.logger.error(`WASM error: ${message}`);
|
|
127
|
+
throw new Error(message);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
try {
|
|
132
|
+
this.logger.debug("Compiling WASM module");
|
|
133
|
+
const wasmModule = await WebAssembly.compile(wasmBytes);
|
|
134
|
+
this.logger.debug("Instantiating WASM module");
|
|
135
|
+
const wasmInstance = await WebAssembly.instantiate(wasmModule, imports);
|
|
136
|
+
this.wasm = wasmInstance.exports;
|
|
137
|
+
this.logger.info("WASM module initialized successfully");
|
|
138
|
+
return this.wasm;
|
|
139
|
+
} catch (error) {
|
|
140
|
+
this.logger.error("Failed to initialize WASM module", error);
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
createStateData(wasmConfig, stateData = {}) {
|
|
145
|
+
let dynamicStateData = {};
|
|
146
|
+
if (wasmConfig?.c?.inputType?.stateData) {
|
|
147
|
+
if (stateData.latestRoundData && Object.keys(wasmConfig.c.inputType.stateData).every(
|
|
148
|
+
(key) => key in stateData.latestRoundData
|
|
149
|
+
)) {
|
|
150
|
+
dynamicStateData.latestRoundData = {};
|
|
151
|
+
Object.entries(wasmConfig.c.inputType.stateData).forEach(([key, _]) => {
|
|
152
|
+
dynamicStateData.latestRoundData[key] = String(
|
|
153
|
+
stateData.latestRoundData[key]
|
|
154
|
+
);
|
|
155
|
+
});
|
|
156
|
+
} else {
|
|
157
|
+
Object.entries(wasmConfig.c.inputType.stateData).forEach(
|
|
158
|
+
([key, type]) => {
|
|
159
|
+
const result = stateData[key];
|
|
160
|
+
if (result && typeof result === "object" && "values" in result && result.values.length > 0) {
|
|
161
|
+
dynamicStateData[key] = String(result.values[0]);
|
|
162
|
+
} else {
|
|
163
|
+
dynamicStateData[key] = this.getDefaultValueForType(
|
|
164
|
+
type
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return dynamicStateData;
|
|
172
|
+
}
|
|
173
|
+
getDefaultValueForType(type) {
|
|
174
|
+
if (type.startsWith("uint") || type.startsWith("int") || type === "number") {
|
|
175
|
+
return "0";
|
|
176
|
+
} else if (type === "bool") {
|
|
177
|
+
return "false";
|
|
178
|
+
} else {
|
|
179
|
+
return "";
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
executeWasm(stateData, messages) {
|
|
183
|
+
if (!this.wasm) {
|
|
184
|
+
this.logger.error("WASM not initialized");
|
|
185
|
+
throw new Error("WASM not initialized");
|
|
186
|
+
}
|
|
187
|
+
try {
|
|
188
|
+
this.logger.debug("Executing WASM with stateData", stateData);
|
|
189
|
+
const fn = this.createWasmFunction(this.wasmInstance.process_state);
|
|
190
|
+
return fn(JSON.stringify(stateData), JSON.stringify(messages));
|
|
191
|
+
} catch (error) {
|
|
192
|
+
this.logger.error("Error executing WASM", error);
|
|
193
|
+
throw error;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
getParams() {
|
|
197
|
+
const fn = this.createWasmFunction(this.wasmInstance.get_params);
|
|
198
|
+
return fn();
|
|
199
|
+
}
|
|
57
200
|
}
|
|
58
201
|
export {
|
|
59
|
-
|
|
60
|
-
buildHcs7EvmMessageTx,
|
|
61
|
-
buildHcs7SubmitMessageTx,
|
|
62
|
-
buildHcs7WasmMessageTx
|
|
202
|
+
WasmBridge
|
|
63
203
|
};
|
|
64
204
|
//# sourceMappingURL=standards-sdk.es13.js.map
|