@hashgraphonline/standards-sdk 0.1.178 → 0.1.180

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 (115) hide show
  1. package/dist/browser/services/registry-broker/client/base-client.d.ts +32 -1
  2. package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
  3. package/dist/browser/services/registry-broker/client/guard.d.ts +32 -1
  4. package/dist/browser/services/registry-broker/client/guard.d.ts.map +1 -1
  5. package/dist/browser/services/registry-broker/schemas.d.ts +2904 -231
  6. package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
  7. package/dist/browser/services/registry-broker/types.d.ts +87 -1
  8. package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
  9. package/dist/browser/standards-sdk.browser.js +364 -7
  10. package/dist/browser/standards-sdk.browser.js.map +1 -1
  11. package/dist/browser-root/services/registry-broker/client/base-client.d.ts +32 -1
  12. package/dist/browser-root/services/registry-broker/client/base-client.d.ts.map +1 -1
  13. package/dist/browser-root/services/registry-broker/client/guard.d.ts +32 -1
  14. package/dist/browser-root/services/registry-broker/client/guard.d.ts.map +1 -1
  15. package/dist/browser-root/services/registry-broker/schemas.d.ts +2904 -231
  16. package/dist/browser-root/services/registry-broker/schemas.d.ts.map +1 -1
  17. package/dist/browser-root/services/registry-broker/types.d.ts +87 -1
  18. package/dist/browser-root/services/registry-broker/types.d.ts.map +1 -1
  19. package/dist/browser-root/standards-sdk.root-browser.js +810 -8
  20. package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
  21. package/dist/cjs/services/registry-broker/client/base-client.d.ts +32 -1
  22. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  23. package/dist/cjs/services/registry-broker/client/guard.d.ts +32 -1
  24. package/dist/cjs/services/registry-broker/client/guard.d.ts.map +1 -1
  25. package/dist/cjs/services/registry-broker/schemas.d.ts +2900 -227
  26. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  27. package/dist/cjs/services/registry-broker/types.d.ts +87 -1
  28. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  29. package/dist/cjs/standards-sdk.cjs +2 -2
  30. package/dist/cjs/standards-sdk.cjs.map +1 -1
  31. package/dist/es/services/registry-broker/client/base-client.d.ts +32 -1
  32. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  33. package/dist/es/services/registry-broker/client/guard.d.ts +32 -1
  34. package/dist/es/services/registry-broker/client/guard.d.ts.map +1 -1
  35. package/dist/es/services/registry-broker/schemas.d.ts +2900 -227
  36. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  37. package/dist/es/services/registry-broker/types.d.ts +87 -1
  38. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  39. package/dist/es/standards-sdk.es116.js +1 -1
  40. package/dist/es/standards-sdk.es121.js +1 -1
  41. package/dist/es/standards-sdk.es127.js +1 -1
  42. package/dist/es/standards-sdk.es128.js +5 -5
  43. package/dist/es/standards-sdk.es138.js +1 -1
  44. package/dist/es/standards-sdk.es139.js +1 -1
  45. package/dist/es/standards-sdk.es140.js +5 -5
  46. package/dist/es/standards-sdk.es142.js +3 -3
  47. package/dist/es/standards-sdk.es143.js +1 -1
  48. package/dist/es/standards-sdk.es145.js +97 -4
  49. package/dist/es/standards-sdk.es145.js.map +1 -1
  50. package/dist/es/standards-sdk.es147.js +1 -1
  51. package/dist/es/standards-sdk.es148.js +1 -1
  52. package/dist/es/standards-sdk.es16.js +1 -1
  53. package/dist/es/standards-sdk.es160.js +2331 -12461
  54. package/dist/es/standards-sdk.es160.js.map +1 -1
  55. package/dist/es/standards-sdk.es161.js +12461 -1936
  56. package/dist/es/standards-sdk.es161.js.map +1 -1
  57. package/dist/es/standards-sdk.es162.js +671 -55
  58. package/dist/es/standards-sdk.es162.js.map +1 -1
  59. package/dist/es/standards-sdk.es163.js +47 -102
  60. package/dist/es/standards-sdk.es163.js.map +1 -1
  61. package/dist/es/standards-sdk.es164.js +94 -64
  62. package/dist/es/standards-sdk.es164.js.map +1 -1
  63. package/dist/es/standards-sdk.es165.js +61 -180
  64. package/dist/es/standards-sdk.es165.js.map +1 -1
  65. package/dist/es/standards-sdk.es166.js +197 -14
  66. package/dist/es/standards-sdk.es166.js.map +1 -1
  67. package/dist/es/standards-sdk.es167.js +15 -71
  68. package/dist/es/standards-sdk.es167.js.map +1 -1
  69. package/dist/es/standards-sdk.es168.js +66 -165
  70. package/dist/es/standards-sdk.es168.js.map +1 -1
  71. package/dist/es/standards-sdk.es169.js +139 -289
  72. package/dist/es/standards-sdk.es169.js.map +1 -1
  73. package/dist/es/standards-sdk.es170.js +274 -298
  74. package/dist/es/standards-sdk.es170.js.map +1 -1
  75. package/dist/es/standards-sdk.es171.js +262 -369
  76. package/dist/es/standards-sdk.es171.js.map +1 -1
  77. package/dist/es/standards-sdk.es172.js +316 -194
  78. package/dist/es/standards-sdk.es172.js.map +1 -1
  79. package/dist/es/standards-sdk.es173.js +319 -64
  80. package/dist/es/standards-sdk.es173.js.map +1 -1
  81. package/dist/es/standards-sdk.es174.js +68 -664
  82. package/dist/es/standards-sdk.es174.js.map +1 -1
  83. package/dist/es/standards-sdk.es175.js +1 -1
  84. package/dist/es/standards-sdk.es176.js +1 -1
  85. package/dist/es/standards-sdk.es178.js +2 -2
  86. package/dist/es/standards-sdk.es179.js +1 -1
  87. package/dist/es/standards-sdk.es18.js +2 -2
  88. package/dist/es/standards-sdk.es180.js +1 -1
  89. package/dist/es/standards-sdk.es181.js +2 -2
  90. package/dist/es/standards-sdk.es182.js +386 -3
  91. package/dist/es/standards-sdk.es182.js.map +1 -1
  92. package/dist/es/standards-sdk.es183.js +1 -1
  93. package/dist/es/standards-sdk.es184.js +1 -1
  94. package/dist/es/standards-sdk.es19.js +2 -2
  95. package/dist/es/standards-sdk.es27.js +2 -2
  96. package/dist/es/standards-sdk.es30.js +1 -1
  97. package/dist/es/standards-sdk.es31.js +1 -1
  98. package/dist/es/standards-sdk.es35.js +2 -2
  99. package/dist/es/standards-sdk.es36.js +1 -1
  100. package/dist/es/standards-sdk.es37.js +1 -1
  101. package/dist/es/standards-sdk.es56.js +1 -1
  102. package/dist/es/standards-sdk.es59.js +1 -1
  103. package/dist/es/standards-sdk.es60.js +1 -1
  104. package/dist/es/standards-sdk.es62.js +1 -1
  105. package/dist/es/standards-sdk.es63.js +2 -2
  106. package/dist/es/standards-sdk.es64.js +1 -1
  107. package/dist/es/standards-sdk.es65.js +1 -1
  108. package/dist/es/standards-sdk.es66.js +1 -1
  109. package/dist/es/standards-sdk.es67.js +1 -1
  110. package/dist/es/standards-sdk.es69.js +1 -1
  111. package/dist/es/standards-sdk.es71.js +1 -1
  112. package/dist/es/standards-sdk.es72.js +1 -1
  113. package/dist/es/standards-sdk.es75.js +1 -1
  114. package/dist/es/standards-sdk.es84.js +1 -1
  115. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es162.js","sources":["../../src/hcs-14/base58.ts"],"sourcesContent":["/**\n * Minimal Base58 encoder/decoder (Bitcoin alphabet) with no external dependencies.\n */\n\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nconst BASE = 58;\n\nfunction countLeadingZeros(bytes: Uint8Array): number {\n let zeros = 0;\n for (let i = 0; i < bytes.length && bytes[i] === 0; i++) {\n zeros++;\n }\n return zeros;\n}\n\nexport function base58Encode(bytes: Uint8Array): string {\n if (bytes.length === 0) return '';\n\n let zeros = 0;\n while (zeros < bytes.length && bytes[zeros] === 0) zeros++;\n\n if (zeros === bytes.length) return '1'.repeat(zeros);\n\n const digits: number[] = [0];\n for (let i = zeros; i < bytes.length; i++) {\n let carry = bytes[i];\n for (let j = 0; j < digits.length; j++) {\n const val = (digits[j] << 8) + carry;\n digits[j] = val % BASE;\n carry = (val / BASE) | 0;\n }\n while (carry > 0) {\n digits.push(carry % BASE);\n carry = (carry / BASE) | 0;\n }\n }\n\n let result = '';\n for (let i = 0; i < zeros; i++) result += '1';\n for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];\n return result;\n}\n\nexport function base58Decode(text: string): Uint8Array {\n if (text.length === 0) return new Uint8Array(0);\n\n let zeros = 0;\n while (zeros < text.length && text[zeros] === '1') zeros++;\n\n const b256: number[] = [];\n for (let i = zeros; i < text.length; i++) {\n const ch = text[i];\n const val = ALPHABET.indexOf(ch);\n if (val === -1) throw new Error('Invalid Base58 character');\n\n let carry = val;\n for (let j = 0; j < b256.length; j++) {\n const x = b256[j] * BASE + carry;\n b256[j] = x & 0xff;\n carry = x >> 8;\n }\n while (carry > 0) {\n b256.push(carry & 0xff);\n carry >>= 8;\n }\n }\n\n for (let i = 0; i < zeros; i++) b256.push(0);\n b256.reverse();\n return Uint8Array.from(b256);\n}\n\nexport function multibaseB58btcDecode(zText: string): Uint8Array {\n if (!zText.startsWith('z')) throw new Error('Invalid multibase base58btc');\n return base58Decode(zText.slice(1));\n}\n"],"names":[],"mappings":"AAIA,MAAM,WAAW;AACjB,MAAM,OAAO;AAUN,SAAS,aAAa,OAA2B;AACtD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,MAAI,QAAQ;AACZ,SAAO,QAAQ,MAAM,UAAU,MAAM,KAAK,MAAM,EAAG;AAEnD,MAAI,UAAU,MAAM,OAAQ,QAAO,IAAI,OAAO,KAAK;AAEnD,QAAM,SAAmB,CAAC,CAAC;AAC3B,WAAS,IAAI,OAAO,IAAI,MAAM,QAAQ,KAAK;AACzC,QAAI,QAAQ,MAAM,CAAC;AACnB,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,YAAM,OAAO,OAAO,CAAC,KAAK,KAAK;AAC/B,aAAO,CAAC,IAAI,MAAM;AAClB,cAAS,MAAM,OAAQ;AAAA,IACzB;AACA,WAAO,QAAQ,GAAG;AAChB,aAAO,KAAK,QAAQ,IAAI;AACxB,cAAS,QAAQ,OAAQ;AAAA,IAC3B;AAAA,EACF;AAEA,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,WAAU;AAC1C,WAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,IAAK,WAAU,SAAS,OAAO,CAAC,CAAC;AACzE,SAAO;AACT;AAEO,SAAS,aAAa,MAA0B;AACrD,MAAI,KAAK,WAAW,EAAG,QAAO,IAAI,WAAW,CAAC;AAE9C,MAAI,QAAQ;AACZ,SAAO,QAAQ,KAAK,UAAU,KAAK,KAAK,MAAM,IAAK;AAEnD,QAAM,OAAiB,CAAA;AACvB,WAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,KAAK;AACxC,UAAM,KAAK,KAAK,CAAC;AACjB,UAAM,MAAM,SAAS,QAAQ,EAAE;AAC/B,QAAI,QAAQ,GAAI,OAAM,IAAI,MAAM,0BAA0B;AAE1D,QAAI,QAAQ;AACZ,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAM,IAAI,KAAK,CAAC,IAAI,OAAO;AAC3B,WAAK,CAAC,IAAI,IAAI;AACd,cAAQ,KAAK;AAAA,IACf;AACA,WAAO,QAAQ,GAAG;AAChB,WAAK,KAAK,QAAQ,GAAI;AACtB,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,MAAK,KAAK,CAAC;AAC3C,OAAK,QAAA;AACL,SAAO,WAAW,KAAK,IAAI;AAC7B;AAEO,SAAS,sBAAsB,OAA2B;AAC/D,MAAI,CAAC,MAAM,WAAW,GAAG,EAAG,OAAM,IAAI,MAAM,6BAA6B;AACzE,SAAO,aAAa,MAAM,MAAM,CAAC,CAAC;AACpC;"}
1
+ {"version":3,"file":"standards-sdk.es162.js","sources":["../../src/services/registry-broker/client/skills.ts"],"sourcesContent":["import type {\n JsonValue,\n SkillBadgeQuery,\n SkillBadgeResponse,\n SkillCatalogQueryOptions,\n SkillCatalogResponse,\n SkillDeprecationRecord,\n SkillDeprecationSetRequest,\n SkillDeprecationsResponse,\n SkillListOptions,\n SkillRecommendedVersionResponse,\n SkillRecommendedVersionSetRequest,\n SkillRegistryConfigResponse,\n SkillRegistryCategoriesResponse,\n SkillRegistryJobStatusResponse,\n SkillRegistryListResponse,\n SkillRegistryMineResponse,\n SkillRegistryMyListResponse,\n SkillRegistryOwnershipResponse,\n SkillRegistryPublishRequest,\n SkillRegistryPublishResponse,\n SkillRegistryQuoteRequest,\n SkillRegistryQuoteResponse,\n SkillQuotePreviewRequest,\n SkillQuotePreviewResponse,\n SkillRegistryTagsResponse,\n SkillRegistryVoteRequest,\n SkillRegistryVoteStatusResponse,\n SkillStatusRequest,\n SkillStatusResponse,\n SkillPreviewLookupRequest,\n SkillPreviewByRepoRequest,\n SkillPreviewLookupResponse,\n SkillPreviewRecord,\n SkillConversionSignalsResponse,\n UploadSkillPreviewFromGithubOidcRequest,\n SkillInstallResponse,\n SkillInstallCopyTelemetryRequest,\n SkillInstallCopyTelemetryResponse,\n SkillResolverManifestResponse,\n SkillRegistryVersionsResponse,\n SkillSecurityBreakdownRequest,\n SkillSecurityBreakdownResponse,\n SkillVerificationDomainProofChallengeRequest,\n SkillVerificationDomainProofChallengeResponse,\n SkillVerificationDomainProofVerifyRequest,\n SkillVerificationDomainProofVerifyResponse,\n SkillVerificationRequestCreateRequest,\n SkillVerificationRequestCreateResponse,\n SkillVerificationStatusResponse,\n} from '../types';\nimport {\n skillBadgeResponseSchema,\n skillCatalogResponseSchema,\n skillDeprecationRecordSchema,\n skillDeprecationsResponseSchema,\n skillRecommendedVersionResponseSchema,\n skillRegistryConfigResponseSchema,\n skillRegistryCategoriesResponseSchema,\n skillRegistryJobStatusResponseSchema,\n skillRegistryListResponseSchema,\n skillRegistryMineResponseSchema,\n skillRegistryMyListResponseSchema,\n skillRegistryOwnershipResponseSchema,\n skillRegistryPublishResponseSchema,\n skillRegistryQuoteResponseSchema,\n skillQuotePreviewResponseSchema,\n skillConversionSignalsResponseSchema,\n skillRegistryTagsResponseSchema,\n skillRegistryVoteStatusResponseSchema,\n skillStatusResponseSchema,\n skillPreviewLookupResponseSchema,\n skillPreviewRecordSchema,\n skillInstallResponseSchema,\n skillInstallCopyTelemetryResponseSchema,\n skillSecurityBreakdownResponseSchema,\n skillResolverManifestResponseSchema,\n skillVerificationDomainProofChallengeResponseSchema,\n skillVerificationDomainProofVerifyResponseSchema,\n skillRegistryVersionsResponseSchema,\n skillVerificationRequestCreateResponseSchema,\n skillVerificationStatusResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\n\nfunction requireTrimmedString(value: string, fieldName: string): string {\n const normalizedValue = value.trim();\n if (!normalizedValue) {\n throw new Error(`${fieldName} is required`);\n }\n return normalizedValue;\n}\n\nexport async function skillsConfig(\n client: RegistryBrokerClient,\n): Promise<SkillRegistryConfigResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/config', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n skillRegistryConfigResponseSchema,\n 'skill registry config response',\n );\n}\n\nexport async function listSkills(\n client: RegistryBrokerClient,\n params: SkillListOptions = {},\n): Promise<SkillRegistryListResponse> {\n const query = new URLSearchParams();\n if (params.name) {\n query.set('name', params.name);\n }\n if (params.version) {\n query.set('version', params.version);\n }\n if (typeof params.limit === 'number' && Number.isFinite(params.limit)) {\n query.set('limit', String(Math.trunc(params.limit)));\n }\n if (params.cursor) {\n query.set('cursor', params.cursor);\n }\n if (typeof params.includeFiles === 'boolean') {\n query.set('includeFiles', params.includeFiles ? 'true' : 'false');\n }\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n if (params.q) {\n query.set('q', params.q);\n }\n if (params.tag) {\n query.set('tag', params.tag);\n }\n if (params.category) {\n query.set('category', params.category);\n }\n if (typeof params.featured === 'boolean') {\n query.set('featured', params.featured ? 'true' : 'false');\n }\n if (typeof params.verified === 'boolean') {\n query.set('verified', params.verified ? 'true' : 'false');\n }\n if (params.view) {\n query.set('view', params.view);\n }\n\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(`/skills${suffix}`, {\n method: 'GET',\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryListResponseSchema,\n 'skill registry list response',\n );\n}\n\nexport async function getSkillSecurityBreakdown(\n client: RegistryBrokerClient,\n params: SkillSecurityBreakdownRequest,\n): Promise<SkillSecurityBreakdownResponse> {\n const normalizedJobId = requireTrimmedString(params.jobId, 'jobId');\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/${encodeURIComponent(normalizedJobId)}/security-breakdown`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillSecurityBreakdownResponseSchema,\n 'skill security breakdown response',\n );\n}\n\nexport async function getSkillsCatalog(\n client: RegistryBrokerClient,\n params: SkillCatalogQueryOptions = {},\n): Promise<SkillCatalogResponse> {\n const query = new URLSearchParams();\n if (params.q) {\n query.set('q', params.q);\n }\n if (params.category) {\n query.set('category', params.category);\n }\n params.tags?.forEach(tag => {\n if (tag.trim()) {\n query.append('tag', tag.trim());\n }\n });\n if (typeof params.featured === 'boolean') {\n query.set('featured', params.featured ? 'true' : 'false');\n }\n if (typeof params.verified === 'boolean') {\n query.set('verified', params.verified ? 'true' : 'false');\n }\n if (params.channel) {\n query.set('channel', params.channel);\n }\n if (params.sortBy) {\n query.set('sortBy', params.sortBy);\n }\n if (typeof params.limit === 'number' && Number.isFinite(params.limit)) {\n query.set('limit', String(Math.trunc(params.limit)));\n }\n if (params.cursor) {\n query.set('cursor', params.cursor);\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(`/skills/catalog${suffix}`, {\n method: 'GET',\n });\n\n return client.parseWithSchema(\n raw,\n skillCatalogResponseSchema,\n 'skill catalog response',\n );\n}\n\nexport async function listSkillVersions(\n client: RegistryBrokerClient,\n params: { name: string },\n): Promise<SkillRegistryVersionsResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/versions?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryVersionsResponseSchema,\n 'skill registry versions response',\n );\n}\n\nexport async function listMySkills(\n client: RegistryBrokerClient,\n params: { limit?: number } = {},\n): Promise<SkillRegistryMineResponse> {\n const query = new URLSearchParams();\n if (typeof params.limit === 'number' && Number.isFinite(params.limit)) {\n query.set('limit', String(Math.trunc(params.limit)));\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(`/skills/mine${suffix}`, {\n method: 'GET',\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryMineResponseSchema,\n 'skill registry mine response',\n );\n}\n\nexport async function getMySkillsList(\n client: RegistryBrokerClient,\n params: { limit?: number; cursor?: string; accountId?: string } = {},\n): Promise<SkillRegistryMyListResponse> {\n const query = new URLSearchParams();\n if (typeof params.limit === 'number' && Number.isFinite(params.limit)) {\n query.set('limit', String(Math.trunc(params.limit)));\n }\n if (params.cursor) {\n query.set('cursor', params.cursor);\n }\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(`/skills/my-list${suffix}`, {\n method: 'GET',\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryMyListResponseSchema,\n 'skill registry my list response',\n );\n}\n\nexport async function quoteSkillPublish(\n client: RegistryBrokerClient,\n payload: SkillRegistryQuoteRequest,\n): Promise<SkillRegistryQuoteResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/quote', {\n method: 'POST',\n body: payload,\n headers: { 'content-type': 'application/json' },\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryQuoteResponseSchema,\n 'skill registry quote response',\n );\n}\n\nexport async function quoteSkillPublishPreview(\n client: RegistryBrokerClient,\n payload: SkillQuotePreviewRequest,\n): Promise<SkillQuotePreviewResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/quote-preview', {\n method: 'POST',\n body: payload,\n headers: { 'content-type': 'application/json' },\n });\n\n return client.parseWithSchema(\n raw,\n skillQuotePreviewResponseSchema,\n 'skill quote preview response',\n );\n}\n\nexport async function publishSkill(\n client: RegistryBrokerClient,\n payload: SkillRegistryPublishRequest,\n): Promise<SkillRegistryPublishResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/publish', {\n method: 'POST',\n body: payload,\n headers: { 'content-type': 'application/json' },\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryPublishResponseSchema,\n 'skill registry publish response',\n );\n}\n\nexport async function getSkillPublishJob(\n client: RegistryBrokerClient,\n jobId: string,\n params: { accountId?: string } = {},\n): Promise<SkillRegistryJobStatusResponse> {\n const normalized = requireTrimmedString(jobId, 'jobId');\n\n const query = new URLSearchParams();\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/jobs/${encodeURIComponent(normalized)}${suffix}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryJobStatusResponseSchema,\n 'skill registry job status response',\n );\n}\n\nexport async function getSkillOwnership(\n client: RegistryBrokerClient,\n params: { name: string; accountId?: string },\n): Promise<SkillRegistryOwnershipResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n if (params.accountId) {\n query.set('accountId', params.accountId);\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/ownership?${query.toString()}`,\n {\n method: 'GET',\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryOwnershipResponseSchema,\n 'skill registry ownership response',\n );\n}\n\nexport async function getRecommendedSkillVersion(\n client: RegistryBrokerClient,\n params: { name: string },\n): Promise<SkillRecommendedVersionResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n const raw = await client.requestJson<JsonValue>(\n `/skills/recommended?${query.toString()}`,\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n skillRecommendedVersionResponseSchema,\n 'skill recommended version response',\n );\n}\n\nexport async function setRecommendedSkillVersion(\n client: RegistryBrokerClient,\n payload: SkillRecommendedVersionSetRequest,\n): Promise<SkillRecommendedVersionResponse> {\n const normalizedName = requireTrimmedString(payload.name, 'name');\n const normalizedVersion = requireTrimmedString(payload.version, 'version');\n const raw = await client.requestJson<JsonValue>('/skills/recommended', {\n method: 'POST',\n body: {\n name: normalizedName,\n version: normalizedVersion,\n },\n headers: { 'content-type': 'application/json' },\n });\n return client.parseWithSchema(\n raw,\n skillRecommendedVersionResponseSchema,\n 'skill recommended version response',\n );\n}\n\nexport async function getSkillDeprecations(\n client: RegistryBrokerClient,\n params: { name: string },\n): Promise<SkillDeprecationsResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n const raw = await client.requestJson<JsonValue>(\n `/skills/deprecations?${query.toString()}`,\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n skillDeprecationsResponseSchema,\n 'skill deprecations response',\n );\n}\n\nexport async function setSkillDeprecation(\n client: RegistryBrokerClient,\n payload: SkillDeprecationSetRequest,\n): Promise<SkillDeprecationRecord> {\n const normalizedName = requireTrimmedString(payload.name, 'name');\n const version = payload.version?.trim();\n const reason = requireTrimmedString(payload.reason, 'reason');\n const replacementRef = payload.replacementRef?.trim();\n const raw = await client.requestJson<JsonValue>('/skills/deprecate', {\n method: 'POST',\n body: {\n name: normalizedName,\n version,\n reason,\n replacementRef,\n },\n headers: { 'content-type': 'application/json' },\n });\n return client.parseWithSchema(\n raw,\n skillDeprecationRecordSchema,\n 'skill deprecation response',\n );\n}\n\nexport async function getSkillBadge(\n client: RegistryBrokerClient,\n params: SkillBadgeQuery,\n): Promise<SkillBadgeResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n if (params.metric) {\n query.set('metric', params.metric);\n }\n if (params.label?.trim()) {\n query.set('label', params.label.trim());\n }\n if (params.style) {\n query.set('style', params.style);\n }\n const raw = await client.requestJson<JsonValue>(\n `/skills/badge?${query.toString()}`,\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n skillBadgeResponseSchema,\n 'skill badge response',\n );\n}\n\nexport async function getSkillStatus(\n client: RegistryBrokerClient,\n params: SkillStatusRequest,\n): Promise<SkillStatusResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n if (params.version?.trim()) {\n query.set('version', params.version.trim());\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/status?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillStatusResponseSchema,\n 'skill status response',\n );\n}\n\nexport async function getSkillStatusByRepo(\n client: RegistryBrokerClient,\n params: SkillPreviewByRepoRequest,\n): Promise<SkillStatusResponse> {\n const repo = requireTrimmedString(params.repo, 'repo');\n const skillDir = requireTrimmedString(params.skillDir, 'skillDir');\n\n const query = new URLSearchParams();\n query.set('repo', repo);\n query.set('skillDir', skillDir);\n if (params.ref?.trim()) {\n query.set('ref', params.ref.trim());\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/status/by-repo?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillStatusResponseSchema,\n 'skill status response',\n );\n}\n\nexport async function getSkillConversionSignalsByRepo(\n client: RegistryBrokerClient,\n params: SkillPreviewByRepoRequest,\n): Promise<SkillConversionSignalsResponse> {\n const repo = requireTrimmedString(params.repo, 'repo');\n const skillDir = requireTrimmedString(params.skillDir, 'skillDir');\n\n const query = new URLSearchParams();\n query.set('repo', repo);\n query.set('skillDir', skillDir);\n if (params.ref?.trim()) {\n query.set('ref', params.ref.trim());\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/conversion-signals/by-repo?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillConversionSignalsResponseSchema,\n 'skill conversion signals response',\n );\n}\n\nexport async function uploadSkillPreviewFromGithubOidc(\n client: RegistryBrokerClient,\n payload: UploadSkillPreviewFromGithubOidcRequest,\n): Promise<SkillPreviewRecord> {\n const token = requireTrimmedString(payload.token, 'token');\n\n const raw = await client.requestJson<JsonValue>(\n '/skills/preview/github-oidc',\n {\n method: 'POST',\n body: payload.report,\n headers: {\n 'content-type': 'application/json',\n authorization: `Bearer ${token}`,\n },\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillPreviewRecordSchema,\n 'skill preview record response',\n );\n}\n\nexport async function getSkillPreview(\n client: RegistryBrokerClient,\n params: SkillPreviewLookupRequest,\n): Promise<SkillPreviewLookupResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n if (params.version?.trim()) {\n query.set('version', params.version.trim());\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/preview?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillPreviewLookupResponseSchema,\n 'skill preview response',\n );\n}\n\nexport async function getSkillPreviewByRepo(\n client: RegistryBrokerClient,\n params: SkillPreviewByRepoRequest,\n): Promise<SkillPreviewLookupResponse> {\n const repo = requireTrimmedString(params.repo, 'repo');\n const skillDir = requireTrimmedString(params.skillDir, 'skillDir');\n\n const query = new URLSearchParams();\n query.set('repo', repo);\n query.set('skillDir', skillDir);\n if (params.ref?.trim()) {\n query.set('ref', params.ref.trim());\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/preview/by-repo?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillPreviewLookupResponseSchema,\n 'skill preview by repo response',\n );\n}\n\nexport async function getSkillPreviewById(\n client: RegistryBrokerClient,\n previewId: string,\n): Promise<SkillPreviewLookupResponse> {\n const normalizedPreviewId = requireTrimmedString(previewId, 'previewId');\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/preview/${encodeURIComponent(normalizedPreviewId)}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillPreviewLookupResponseSchema,\n 'skill preview by id response',\n );\n}\n\nexport async function getSkillInstall(\n client: RegistryBrokerClient,\n skillRef: string,\n): Promise<SkillInstallResponse> {\n const normalizedSkillRef = requireTrimmedString(skillRef, 'skillRef');\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/${encodeURIComponent(normalizedSkillRef)}/install`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillInstallResponseSchema,\n 'skill install response',\n );\n}\n\nexport async function recordSkillInstallCopy(\n client: RegistryBrokerClient,\n skillRef: string,\n payload: SkillInstallCopyTelemetryRequest = {},\n): Promise<SkillInstallCopyTelemetryResponse> {\n const normalizedSkillRef = requireTrimmedString(skillRef, 'skillRef');\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/${encodeURIComponent(normalizedSkillRef)}/telemetry/install-copy`,\n {\n method: 'POST',\n body: payload,\n headers: { 'content-type': 'application/json' },\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillInstallCopyTelemetryResponseSchema,\n 'skill install copy telemetry response',\n );\n}\n\nexport async function listSkillTags(\n client: RegistryBrokerClient,\n): Promise<SkillRegistryTagsResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/tags', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n skillRegistryTagsResponseSchema,\n 'skill tags response',\n );\n}\n\nexport async function listSkillCategories(\n client: RegistryBrokerClient,\n): Promise<SkillRegistryCategoriesResponse> {\n const raw = await client.requestJson<JsonValue>('/skills/categories', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n skillRegistryCategoriesResponseSchema,\n 'skill categories response',\n );\n}\n\nexport async function resolveSkillMarkdown(\n client: RegistryBrokerClient,\n skillRef: string,\n): Promise<string> {\n const normalizedSkillRef = requireTrimmedString(skillRef, 'skillRef');\n const response = await client.request(\n `/skills/${encodeURIComponent(normalizedSkillRef)}/SKILL.md`,\n {\n method: 'GET',\n headers: {\n accept: 'text/markdown, text/plain;q=0.9, */*;q=0.8',\n },\n },\n );\n return response.text();\n}\n\nexport async function resolveSkillManifest(\n client: RegistryBrokerClient,\n skillRef: string,\n): Promise<SkillResolverManifestResponse> {\n const normalizedSkillRef = requireTrimmedString(skillRef, 'skillRef');\n const raw = await client.requestJson<JsonValue>(\n `/skills/${encodeURIComponent(normalizedSkillRef)}/manifest`,\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n skillResolverManifestResponseSchema,\n 'skill resolver manifest response',\n );\n}\n\nexport async function getSkillVoteStatus(\n client: RegistryBrokerClient,\n params: { name: string },\n): Promise<SkillRegistryVoteStatusResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/vote?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillRegistryVoteStatusResponseSchema,\n 'skill registry vote status response',\n );\n}\n\nexport async function setSkillVote(\n client: RegistryBrokerClient,\n payload: SkillRegistryVoteRequest,\n): Promise<SkillRegistryVoteStatusResponse> {\n const normalizedName = requireTrimmedString(payload.name, 'name');\n\n const raw = await client.requestJson<JsonValue>('/skills/vote', {\n method: 'POST',\n body: { name: normalizedName, upvoted: payload.upvoted },\n headers: { 'content-type': 'application/json' },\n });\n\n return client.parseWithSchema(\n raw,\n skillRegistryVoteStatusResponseSchema,\n 'skill registry vote status response',\n );\n}\n\nexport async function requestSkillVerification(\n client: RegistryBrokerClient,\n payload: SkillVerificationRequestCreateRequest,\n): Promise<SkillVerificationRequestCreateResponse> {\n const normalizedName = requireTrimmedString(payload.name, 'name');\n\n const raw = await client.requestJson<JsonValue>(\n '/skills/verification/request',\n {\n method: 'POST',\n body: {\n name: normalizedName,\n version: payload.version,\n tier: payload.tier,\n },\n headers: { 'content-type': 'application/json' },\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillVerificationRequestCreateResponseSchema,\n 'skill verification request create response',\n );\n}\n\nexport async function getSkillVerificationStatus(\n client: RegistryBrokerClient,\n params: { name: string; version?: string },\n): Promise<SkillVerificationStatusResponse> {\n const normalizedName = requireTrimmedString(params.name, 'name');\n\n const query = new URLSearchParams();\n query.set('name', normalizedName);\n if (params.version) {\n query.set('version', params.version);\n }\n\n const raw = await client.requestJson<JsonValue>(\n `/skills/verification/status?${query.toString()}`,\n { method: 'GET' },\n );\n\n return client.parseWithSchema(\n raw,\n skillVerificationStatusResponseSchema,\n 'skill verification status response',\n );\n}\n\nexport async function createSkillDomainProofChallenge(\n client: RegistryBrokerClient,\n payload: SkillVerificationDomainProofChallengeRequest,\n): Promise<SkillVerificationDomainProofChallengeResponse> {\n const normalizedName = requireTrimmedString(payload.name, 'name');\n\n const raw = await client.requestJson<JsonValue>(\n '/skills/verification/domain/challenge',\n {\n method: 'POST',\n body: {\n name: normalizedName,\n version: payload.version,\n domain: payload.domain,\n },\n headers: { 'content-type': 'application/json' },\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillVerificationDomainProofChallengeResponseSchema,\n 'skill domain proof challenge response',\n );\n}\n\nexport async function verifySkillDomainProof(\n client: RegistryBrokerClient,\n payload: SkillVerificationDomainProofVerifyRequest,\n): Promise<SkillVerificationDomainProofVerifyResponse> {\n const normalizedName = requireTrimmedString(payload.name, 'name');\n const challengeToken = requireTrimmedString(\n payload.challengeToken,\n 'challengeToken',\n );\n\n const raw = await client.requestJson<JsonValue>(\n '/skills/verification/domain/verify',\n {\n method: 'POST',\n body: {\n name: normalizedName,\n version: payload.version,\n domain: payload.domain,\n challengeToken,\n },\n headers: { 'content-type': 'application/json' },\n },\n );\n\n return client.parseWithSchema(\n raw,\n skillVerificationDomainProofVerifyResponseSchema,\n 'skill domain proof verify response',\n );\n}\n"],"names":[],"mappings":";AAqFA,SAAS,qBAAqB,OAAe,WAA2B;AACtE,QAAM,kBAAkB,MAAM,KAAA;AAC9B,MAAI,CAAC,iBAAiB;AACpB,UAAM,IAAI,MAAM,GAAG,SAAS,cAAc;AAAA,EAC5C;AACA,SAAO;AACT;AAEA,eAAsB,aACpB,QACsC;AACtC,QAAM,MAAM,MAAM,OAAO,YAAuB,kBAAkB;AAAA,IAChE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,WACpB,QACA,SAA2B,IACS;AACpC,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,MAAM;AACf,UAAM,IAAI,QAAQ,OAAO,IAAI;AAAA,EAC/B;AACA,MAAI,OAAO,SAAS;AAClB,UAAM,IAAI,WAAW,OAAO,OAAO;AAAA,EACrC;AACA,MAAI,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,GAAG;AACrE,UAAM,IAAI,SAAS,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC;AAAA,EACrD;AACA,MAAI,OAAO,QAAQ;AACjB,UAAM,IAAI,UAAU,OAAO,MAAM;AAAA,EACnC;AACA,MAAI,OAAO,OAAO,iBAAiB,WAAW;AAC5C,UAAM,IAAI,gBAAgB,OAAO,eAAe,SAAS,OAAO;AAAA,EAClE;AACA,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AACA,MAAI,OAAO,GAAG;AACZ,UAAM,IAAI,KAAK,OAAO,CAAC;AAAA,EACzB;AACA,MAAI,OAAO,KAAK;AACd,UAAM,IAAI,OAAO,OAAO,GAAG;AAAA,EAC7B;AACA,MAAI,OAAO,UAAU;AACnB,UAAM,IAAI,YAAY,OAAO,QAAQ;AAAA,EACvC;AACA,MAAI,OAAO,OAAO,aAAa,WAAW;AACxC,UAAM,IAAI,YAAY,OAAO,WAAW,SAAS,OAAO;AAAA,EAC1D;AACA,MAAI,OAAO,OAAO,aAAa,WAAW;AACxC,UAAM,IAAI,YAAY,OAAO,WAAW,SAAS,OAAO;AAAA,EAC1D;AACA,MAAI,OAAO,MAAM;AACf,UAAM,IAAI,QAAQ,OAAO,IAAI;AAAA,EAC/B;AAEA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO,YAAuB,UAAU,MAAM,IAAI;AAAA,IAClE,QAAQ;AAAA,EAAA,CACT;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,0BACpB,QACA,QACyC;AACzC,QAAM,kBAAkB,qBAAqB,OAAO,OAAO,OAAO;AAElE,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,WAAW,mBAAmB,eAAe,CAAC;AAAA,IAC9C,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,iBACpB,QACA,SAAmC,IACJ;AAC/B,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,GAAG;AACZ,UAAM,IAAI,KAAK,OAAO,CAAC;AAAA,EACzB;AACA,MAAI,OAAO,UAAU;AACnB,UAAM,IAAI,YAAY,OAAO,QAAQ;AAAA,EACvC;AACA,SAAO,MAAM,QAAQ,CAAA,QAAO;AAC1B,QAAI,IAAI,QAAQ;AACd,YAAM,OAAO,OAAO,IAAI,KAAA,CAAM;AAAA,IAChC;AAAA,EACF,CAAC;AACD,MAAI,OAAO,OAAO,aAAa,WAAW;AACxC,UAAM,IAAI,YAAY,OAAO,WAAW,SAAS,OAAO;AAAA,EAC1D;AACA,MAAI,OAAO,OAAO,aAAa,WAAW;AACxC,UAAM,IAAI,YAAY,OAAO,WAAW,SAAS,OAAO;AAAA,EAC1D;AACA,MAAI,OAAO,SAAS;AAClB,UAAM,IAAI,WAAW,OAAO,OAAO;AAAA,EACrC;AACA,MAAI,OAAO,QAAQ;AACjB,UAAM,IAAI,UAAU,OAAO,MAAM;AAAA,EACnC;AACA,MAAI,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,GAAG;AACrE,UAAM,IAAI,SAAS,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC;AAAA,EACrD;AACA,MAAI,OAAO,QAAQ;AACjB,UAAM,IAAI,UAAU,OAAO,MAAM;AAAA,EACnC;AACA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO,YAAuB,kBAAkB,MAAM,IAAI;AAAA,IAC1E,QAAQ;AAAA,EAAA,CACT;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,kBACpB,QACA,QACwC;AACxC,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAE/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAEhC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,oBAAoB,MAAM,SAAA,CAAU;AAAA,IACpC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,aACpB,QACA,SAA6B,IACO;AACpC,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,GAAG;AACrE,UAAM,IAAI,SAAS,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC;AAAA,EACrD;AACA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO,YAAuB,eAAe,MAAM,IAAI;AAAA,IACvE,QAAQ;AAAA,EAAA,CACT;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gBACpB,QACA,SAAkE,IAC5B;AACtC,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,GAAG;AACrE,UAAM,IAAI,SAAS,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC;AAAA,EACrD;AACA,MAAI,OAAO,QAAQ;AACjB,UAAM,IAAI,UAAU,OAAO,MAAM;AAAA,EACnC;AACA,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AACA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO,YAAuB,kBAAkB,MAAM,IAAI;AAAA,IAC1E,QAAQ;AAAA,EAAA,CACT;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,kBACpB,QACA,SACqC;AACrC,QAAM,MAAM,MAAM,OAAO,YAAuB,iBAAiB;AAAA,IAC/D,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,yBACpB,QACA,SACoC;AACpC,QAAM,MAAM,MAAM,OAAO,YAAuB,yBAAyB;AAAA,IACvE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,aACpB,QACA,SACuC;AACvC,QAAM,MAAM,MAAM,OAAO,YAAuB,mBAAmB;AAAA,IACjE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,mBACpB,QACA,OACA,SAAiC,CAAA,GACQ;AACzC,QAAM,aAAa,qBAAqB,OAAO,OAAO;AAEtD,QAAM,QAAQ,IAAI,gBAAA;AAClB,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AACA,QAAM,SAAS,MAAM,OAAO,IAAI,IAAI,MAAM,UAAU,KAAK;AAEzD,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,gBAAgB,mBAAmB,UAAU,CAAC,GAAG,MAAM;AAAA,IACvD,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,kBACpB,QACA,QACyC;AACzC,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAE/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,MAAI,OAAO,WAAW;AACpB,UAAM,IAAI,aAAa,OAAO,SAAS;AAAA,EACzC;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,qBAAqB,MAAM,SAAA,CAAU;AAAA,IACrC;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,2BACpB,QACA,QAC0C;AAC1C,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAC/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,uBAAuB,MAAM,SAAA,CAAU;AAAA,IACvC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAElB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,2BACpB,QACA,SAC0C;AAC1C,QAAM,iBAAiB,qBAAqB,QAAQ,MAAM,MAAM;AAChE,QAAM,oBAAoB,qBAAqB,QAAQ,SAAS,SAAS;AACzE,QAAM,MAAM,MAAM,OAAO,YAAuB,uBAAuB;AAAA,IACrE,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEX,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,qBACpB,QACA,QACoC;AACpC,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAC/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,wBAAwB,MAAM,SAAA,CAAU;AAAA,IACxC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAElB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,oBACpB,QACA,SACiC;AACjC,QAAM,iBAAiB,qBAAqB,QAAQ,MAAM,MAAM;AAChE,QAAM,UAAU,QAAQ,SAAS,KAAA;AACjC,QAAM,SAAS,qBAAqB,QAAQ,QAAQ,QAAQ;AAC5D,QAAM,iBAAiB,QAAQ,gBAAgB,KAAA;AAC/C,QAAM,MAAM,MAAM,OAAO,YAAuB,qBAAqB;AAAA,IACnE,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,cACpB,QACA,QAC6B;AAC7B,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAC/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,MAAI,OAAO,QAAQ;AACjB,UAAM,IAAI,UAAU,OAAO,MAAM;AAAA,EACnC;AACA,MAAI,OAAO,OAAO,QAAQ;AACxB,UAAM,IAAI,SAAS,OAAO,MAAM,MAAM;AAAA,EACxC;AACA,MAAI,OAAO,OAAO;AAChB,UAAM,IAAI,SAAS,OAAO,KAAK;AAAA,EACjC;AACA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,iBAAiB,MAAM,SAAA,CAAU;AAAA,IACjC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAElB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,eACpB,QACA,QAC8B;AAC9B,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAE/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,MAAI,OAAO,SAAS,QAAQ;AAC1B,UAAM,IAAI,WAAW,OAAO,QAAQ,MAAM;AAAA,EAC5C;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,kBAAkB,MAAM,SAAA,CAAU;AAAA,IAClC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,qBACpB,QACA,QAC8B;AAC9B,QAAM,OAAO,qBAAqB,OAAO,MAAM,MAAM;AACrD,QAAM,WAAW,qBAAqB,OAAO,UAAU,UAAU;AAEjE,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,IAAI;AACtB,QAAM,IAAI,YAAY,QAAQ;AAC9B,MAAI,OAAO,KAAK,QAAQ;AACtB,UAAM,IAAI,OAAO,OAAO,IAAI,MAAM;AAAA,EACpC;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,0BAA0B,MAAM,SAAA,CAAU;AAAA,IAC1C,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gCACpB,QACA,QACyC;AACzC,QAAM,OAAO,qBAAqB,OAAO,MAAM,MAAM;AACrD,QAAM,WAAW,qBAAqB,OAAO,UAAU,UAAU;AAEjE,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,IAAI;AACtB,QAAM,IAAI,YAAY,QAAQ;AAC9B,MAAI,OAAO,KAAK,QAAQ;AACtB,UAAM,IAAI,OAAO,OAAO,IAAI,MAAM;AAAA,EACpC;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,sCAAsC,MAAM,SAAA,CAAU;AAAA,IACtD,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,iCACpB,QACA,SAC6B;AAC7B,QAAM,QAAQ,qBAAqB,QAAQ,OAAO,OAAO;AAEzD,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,eAAe,UAAU,KAAK;AAAA,MAAA;AAAA,IAChC;AAAA,EACF;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gBACpB,QACA,QACqC;AACrC,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAE/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,MAAI,OAAO,SAAS,QAAQ;AAC1B,UAAM,IAAI,WAAW,OAAO,QAAQ,MAAM;AAAA,EAC5C;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,mBAAmB,MAAM,SAAA,CAAU;AAAA,IACnC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,sBACpB,QACA,QACqC;AACrC,QAAM,OAAO,qBAAqB,OAAO,MAAM,MAAM;AACrD,QAAM,WAAW,qBAAqB,OAAO,UAAU,UAAU;AAEjE,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,IAAI;AACtB,QAAM,IAAI,YAAY,QAAQ;AAC9B,MAAI,OAAO,KAAK,QAAQ;AACtB,UAAM,IAAI,OAAO,OAAO,IAAI,MAAM;AAAA,EACpC;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,2BAA2B,MAAM,SAAA,CAAU;AAAA,IAC3C,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,oBACpB,QACA,WACqC;AACrC,QAAM,sBAAsB,qBAAqB,WAAW,WAAW;AAEvE,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,mBAAmB,mBAAmB,mBAAmB,CAAC;AAAA,IAC1D,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gBACpB,QACA,UAC+B;AAC/B,QAAM,qBAAqB,qBAAqB,UAAU,UAAU;AAEpE,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,WAAW,mBAAmB,kBAAkB,CAAC;AAAA,IACjD,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,uBACpB,QACA,UACA,UAA4C,CAAA,GACA;AAC5C,QAAM,qBAAqB,qBAAqB,UAAU,UAAU;AAEpE,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,WAAW,mBAAmB,kBAAkB,CAAC;AAAA,IACjD;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAChD;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,cACpB,QACoC;AACpC,QAAM,MAAM,MAAM,OAAO,YAAuB,gBAAgB;AAAA,IAC9D,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,oBACpB,QAC0C;AAC1C,QAAM,MAAM,MAAM,OAAO,YAAuB,sBAAsB;AAAA,IACpE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,qBACpB,QACA,UACiB;AACjB,QAAM,qBAAqB,qBAAqB,UAAU,UAAU;AACpE,QAAM,WAAW,MAAM,OAAO;AAAA,IAC5B,WAAW,mBAAmB,kBAAkB,CAAC;AAAA,IACjD;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,EACF;AAEF,SAAO,SAAS,KAAA;AAClB;AAEA,eAAsB,qBACpB,QACA,UACwC;AACxC,QAAM,qBAAqB,qBAAqB,UAAU,UAAU;AACpE,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,WAAW,mBAAmB,kBAAkB,CAAC;AAAA,IACjD;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,mBACpB,QACA,QAC0C;AAC1C,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAE/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAEhC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,gBAAgB,MAAM,SAAA,CAAU;AAAA,IAChC,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,aACpB,QACA,SAC0C;AAC1C,QAAM,iBAAiB,qBAAqB,QAAQ,MAAM,MAAM;AAEhE,QAAM,MAAM,MAAM,OAAO,YAAuB,gBAAgB;AAAA,IAC9D,QAAQ;AAAA,IACR,MAAM,EAAE,MAAM,gBAAgB,SAAS,QAAQ,QAAA;AAAA,IAC/C,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AAED,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,yBACpB,QACA,SACiD;AACjD,QAAM,iBAAiB,qBAAqB,QAAQ,MAAM,MAAM;AAEhE,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,QAAQ;AAAA,QACjB,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEhB,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAChD;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,2BACpB,QACA,QAC0C;AAC1C,QAAM,iBAAiB,qBAAqB,OAAO,MAAM,MAAM;AAE/D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,IAAI,QAAQ,cAAc;AAChC,MAAI,OAAO,SAAS;AAClB,UAAM,IAAI,WAAW,OAAO,OAAO;AAAA,EACrC;AAEA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,+BAA+B,MAAM,SAAA,CAAU;AAAA,IAC/C,EAAE,QAAQ,MAAA;AAAA,EAAM;AAGlB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gCACpB,QACA,SACwD;AACxD,QAAM,iBAAiB,qBAAqB,QAAQ,MAAM,MAAM;AAEhE,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,QAAQ;AAAA,QACjB,QAAQ,QAAQ;AAAA,MAAA;AAAA,MAElB,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAChD;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,uBACpB,QACA,SACqD;AACrD,QAAM,iBAAiB,qBAAqB,QAAQ,MAAM,MAAM;AAChE,QAAM,iBAAiB;AAAA,IACrB,QAAQ;AAAA,IACR;AAAA,EAAA;AAGF,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,QAAQ;AAAA,QACjB,QAAQ,QAAQ;AAAA,QAChB;AAAA,MAAA;AAAA,MAEF,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAChD;AAGF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
@@ -1,114 +1,59 @@
1
- import { isBrowser } from "./standards-sdk.es136.js";
2
- let nodeRequire;
3
- const isNodeRuntime = () => typeof process !== "undefined" && Boolean(process.versions?.node);
4
- function resolveBuiltinModuleLoader() {
5
- if (typeof process === "undefined") {
6
- return void 0;
7
- }
8
- return process.getBuiltinModule;
9
- }
10
- function getNodeRequireSync() {
11
- try {
12
- const builtinModuleLoader = resolveBuiltinModuleLoader();
13
- const moduleNamespace = builtinModuleLoader?.("module");
14
- if (typeof moduleNamespace?.createRequire === "function") {
15
- const requireFromModule = moduleNamespace.createRequire(import.meta.url);
16
- if (typeof requireFromModule.resolve === "function") {
17
- return requireFromModule;
18
- }
1
+ const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
2
+ const BASE = 58;
3
+ function base58Encode(bytes) {
4
+ if (bytes.length === 0) return "";
5
+ let zeros = 0;
6
+ while (zeros < bytes.length && bytes[zeros] === 0) zeros++;
7
+ if (zeros === bytes.length) return "1".repeat(zeros);
8
+ const digits = [0];
9
+ for (let i = zeros; i < bytes.length; i++) {
10
+ let carry = bytes[i];
11
+ for (let j = 0; j < digits.length; j++) {
12
+ const val = (digits[j] << 8) + carry;
13
+ digits[j] = val % BASE;
14
+ carry = val / BASE | 0;
19
15
  }
20
- const globalObject = typeof global !== "undefined" ? global : globalThis;
21
- const runtimeRequire = globalObject.process?.mainModule?.require ?? globalObject.require ?? Function('return typeof require === "function" ? require : undefined;')();
22
- if (typeof runtimeRequire === "function" && typeof runtimeRequire.resolve === "function") {
23
- return runtimeRequire;
16
+ while (carry > 0) {
17
+ digits.push(carry % BASE);
18
+ carry = carry / BASE | 0;
24
19
  }
25
- } catch {
26
- return null;
27
- }
28
- return null;
29
- }
30
- function isModuleNotFound(specifier, error) {
31
- if (!error || typeof error !== "object") {
32
- return false;
33
- }
34
- const code = Reflect.get(error, "code");
35
- const message = Reflect.get(error, "message");
36
- const messageText = typeof message === "string" ? message : "";
37
- if (typeof code === "string" && code.includes("MODULE_NOT_FOUND")) {
38
- return messageText.includes(specifier);
39
- }
40
- if (messageText) {
41
- const lowered = messageText.toLowerCase();
42
- if (lowered.includes("cannot find module") || lowered.includes("module not found") || lowered.includes("cannot find package")) {
43
- return lowered.includes(specifier.toLowerCase());
44
- }
45
- }
46
- return false;
47
- }
48
- async function resolveNodeRequire() {
49
- if (nodeRequire !== void 0) {
50
- return nodeRequire;
51
20
  }
52
- if (isBrowser && !isNodeRuntime()) {
53
- nodeRequire = null;
54
- return nodeRequire;
55
- }
56
- try {
57
- nodeRequire = getNodeRequireSync();
58
- } catch {
59
- nodeRequire = null;
60
- }
61
- return nodeRequire;
21
+ let result = "";
22
+ for (let i = 0; i < zeros; i++) result += "1";
23
+ for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];
24
+ return result;
62
25
  }
63
- async function dynamicImport(specifier) {
64
- try {
65
- return await import(
66
- /* webpackIgnore: true */
67
- specifier
68
- );
69
- } catch (error) {
70
- if (isModuleNotFound(specifier, error)) {
71
- return null;
26
+ function base58Decode(text) {
27
+ if (text.length === 0) return new Uint8Array(0);
28
+ let zeros = 0;
29
+ while (zeros < text.length && text[zeros] === "1") zeros++;
30
+ const b256 = [];
31
+ for (let i = zeros; i < text.length; i++) {
32
+ const ch = text[i];
33
+ const val = ALPHABET.indexOf(ch);
34
+ if (val === -1) throw new Error("Invalid Base58 character");
35
+ let carry = val;
36
+ for (let j = 0; j < b256.length; j++) {
37
+ const x = b256[j] * BASE + carry;
38
+ b256[j] = x & 255;
39
+ carry = x >> 8;
72
40
  }
73
- throw error;
74
- }
75
- }
76
- async function optionalImport(specifier, options = {}) {
77
- if (isBrowser && !isNodeRuntime()) {
78
- return dynamicImport(specifier);
79
- }
80
- if (!options.preferImport) {
81
- const requireFn = await resolveNodeRequire();
82
- if (requireFn) {
83
- try {
84
- return requireFn(specifier);
85
- } catch (error) {
86
- if (!isModuleNotFound(specifier, error)) {
87
- throw error;
88
- }
89
- }
41
+ while (carry > 0) {
42
+ b256.push(carry & 255);
43
+ carry >>= 8;
90
44
  }
91
45
  }
92
- return dynamicImport(specifier);
46
+ for (let i = 0; i < zeros; i++) b256.push(0);
47
+ b256.reverse();
48
+ return Uint8Array.from(b256);
93
49
  }
94
- function optionalImportSync(specifier) {
95
- if (isBrowser && !isNodeRuntime()) {
96
- return null;
97
- }
98
- try {
99
- const requireFn = getNodeRequireSync();
100
- if (requireFn) {
101
- return requireFn(specifier);
102
- }
103
- } catch (error) {
104
- if (!isModuleNotFound(specifier, error)) {
105
- throw error;
106
- }
107
- }
108
- return null;
50
+ function multibaseB58btcDecode(zText) {
51
+ if (!zText.startsWith("z")) throw new Error("Invalid multibase base58btc");
52
+ return base58Decode(zText.slice(1));
109
53
  }
110
54
  export {
111
- optionalImport,
112
- optionalImportSync
55
+ base58Decode,
56
+ base58Encode,
57
+ multibaseB58btcDecode
113
58
  };
114
59
  //# sourceMappingURL=standards-sdk.es163.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es163.js","sources":["../../src/utils/dynamic-import.ts"],"sourcesContent":["import { isBrowser } from './is-browser';\n\nlet nodeRequire: NodeRequire | null | undefined;\n\nconst isNodeRuntime = (): boolean =>\n typeof process !== 'undefined' && Boolean(process.versions?.node);\n\ntype NodeModuleNamespace = {\n createRequire: (path: string | URL) => NodeRequire;\n};\n\ntype BuiltinModuleLoader = <TModule>(name: string) => TModule | undefined;\n\nfunction resolveBuiltinModuleLoader(): BuiltinModuleLoader | undefined {\n if (typeof process === 'undefined') {\n return undefined;\n }\n\n return (\n process as typeof process & {\n getBuiltinModule?: BuiltinModuleLoader;\n }\n ).getBuiltinModule;\n}\n\nfunction getNodeRequireSync(): NodeRequire | null {\n try {\n const builtinModuleLoader = resolveBuiltinModuleLoader();\n const moduleNamespace = builtinModuleLoader?.('module') as\n | Partial<NodeModuleNamespace>\n | undefined;\n if (typeof moduleNamespace?.createRequire === 'function') {\n const requireFromModule = moduleNamespace.createRequire(import.meta.url);\n if (typeof requireFromModule.resolve === 'function') {\n return requireFromModule;\n }\n }\n\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const runtimeRequire =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require ??\n Function('return typeof require === \"function\" ? require : undefined;')();\n\n if (\n typeof runtimeRequire === 'function' &&\n typeof (runtimeRequire as NodeRequire).resolve === 'function'\n ) {\n return runtimeRequire as NodeRequire;\n }\n } catch {\n return null;\n }\n\n return null;\n}\n\nfunction isModuleNotFound(specifier: string, error: unknown): boolean {\n if (!error || typeof error !== 'object') {\n return false;\n }\n const code = Reflect.get(error, 'code');\n const message = Reflect.get(error, 'message');\n const messageText = typeof message === 'string' ? message : '';\n\n if (typeof code === 'string' && code.includes('MODULE_NOT_FOUND')) {\n return messageText.includes(specifier);\n }\n\n if (messageText) {\n const lowered = messageText.toLowerCase();\n if (\n lowered.includes('cannot find module') ||\n lowered.includes('module not found') ||\n lowered.includes('cannot find package')\n ) {\n return lowered.includes(specifier.toLowerCase());\n }\n }\n\n return false;\n}\n\nasync function resolveNodeRequire(): Promise<NodeRequire | null> {\n if (nodeRequire !== undefined) {\n return nodeRequire;\n }\n\n if (isBrowser && !isNodeRuntime()) {\n nodeRequire = null;\n return nodeRequire;\n }\n\n try {\n nodeRequire = getNodeRequireSync();\n } catch {\n nodeRequire = null;\n }\n\n return nodeRequire;\n}\n\nasync function dynamicImport<T>(specifier: string): Promise<T | null> {\n try {\n return (await import(/* webpackIgnore: true */ specifier)) as T;\n } catch (error) {\n if (isModuleNotFound(specifier, error)) {\n return null;\n }\n throw error as Error;\n }\n}\n\ntype OptionalImportOptions = {\n preferImport?: boolean;\n};\n\nexport async function optionalImport<T>(\n specifier: string,\n options: OptionalImportOptions = {},\n): Promise<T | null> {\n if (isBrowser && !isNodeRuntime()) {\n return dynamicImport<T>(specifier);\n }\n\n if (!options.preferImport) {\n const requireFn = await resolveNodeRequire();\n if (requireFn) {\n try {\n return requireFn(specifier) as T;\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n }\n }\n\n return dynamicImport<T>(specifier);\n}\n\nexport function optionalImportSync<T>(specifier: string): T | null {\n if (isBrowser && !isNodeRuntime()) {\n return null;\n }\n\n try {\n const requireFn = getNodeRequireSync();\n if (requireFn) {\n return requireFn(specifier) as T;\n }\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n\n return null;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es163.js","sources":["../../src/hcs-14/base58.ts"],"sourcesContent":["/**\n * Minimal Base58 encoder/decoder (Bitcoin alphabet) with no external dependencies.\n */\n\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nconst BASE = 58;\n\nfunction countLeadingZeros(bytes: Uint8Array): number {\n let zeros = 0;\n for (let i = 0; i < bytes.length && bytes[i] === 0; i++) {\n zeros++;\n }\n return zeros;\n}\n\nexport function base58Encode(bytes: Uint8Array): string {\n if (bytes.length === 0) return '';\n\n let zeros = 0;\n while (zeros < bytes.length && bytes[zeros] === 0) zeros++;\n\n if (zeros === bytes.length) return '1'.repeat(zeros);\n\n const digits: number[] = [0];\n for (let i = zeros; i < bytes.length; i++) {\n let carry = bytes[i];\n for (let j = 0; j < digits.length; j++) {\n const val = (digits[j] << 8) + carry;\n digits[j] = val % BASE;\n carry = (val / BASE) | 0;\n }\n while (carry > 0) {\n digits.push(carry % BASE);\n carry = (carry / BASE) | 0;\n }\n }\n\n let result = '';\n for (let i = 0; i < zeros; i++) result += '1';\n for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];\n return result;\n}\n\nexport function base58Decode(text: string): Uint8Array {\n if (text.length === 0) return new Uint8Array(0);\n\n let zeros = 0;\n while (zeros < text.length && text[zeros] === '1') zeros++;\n\n const b256: number[] = [];\n for (let i = zeros; i < text.length; i++) {\n const ch = text[i];\n const val = ALPHABET.indexOf(ch);\n if (val === -1) throw new Error('Invalid Base58 character');\n\n let carry = val;\n for (let j = 0; j < b256.length; j++) {\n const x = b256[j] * BASE + carry;\n b256[j] = x & 0xff;\n carry = x >> 8;\n }\n while (carry > 0) {\n b256.push(carry & 0xff);\n carry >>= 8;\n }\n }\n\n for (let i = 0; i < zeros; i++) b256.push(0);\n b256.reverse();\n return Uint8Array.from(b256);\n}\n\nexport function multibaseB58btcDecode(zText: string): Uint8Array {\n if (!zText.startsWith('z')) throw new Error('Invalid multibase base58btc');\n return base58Decode(zText.slice(1));\n}\n"],"names":[],"mappings":"AAIA,MAAM,WAAW;AACjB,MAAM,OAAO;AAUN,SAAS,aAAa,OAA2B;AACtD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,MAAI,QAAQ;AACZ,SAAO,QAAQ,MAAM,UAAU,MAAM,KAAK,MAAM,EAAG;AAEnD,MAAI,UAAU,MAAM,OAAQ,QAAO,IAAI,OAAO,KAAK;AAEnD,QAAM,SAAmB,CAAC,CAAC;AAC3B,WAAS,IAAI,OAAO,IAAI,MAAM,QAAQ,KAAK;AACzC,QAAI,QAAQ,MAAM,CAAC;AACnB,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,YAAM,OAAO,OAAO,CAAC,KAAK,KAAK;AAC/B,aAAO,CAAC,IAAI,MAAM;AAClB,cAAS,MAAM,OAAQ;AAAA,IACzB;AACA,WAAO,QAAQ,GAAG;AAChB,aAAO,KAAK,QAAQ,IAAI;AACxB,cAAS,QAAQ,OAAQ;AAAA,IAC3B;AAAA,EACF;AAEA,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,WAAU;AAC1C,WAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,IAAK,WAAU,SAAS,OAAO,CAAC,CAAC;AACzE,SAAO;AACT;AAEO,SAAS,aAAa,MAA0B;AACrD,MAAI,KAAK,WAAW,EAAG,QAAO,IAAI,WAAW,CAAC;AAE9C,MAAI,QAAQ;AACZ,SAAO,QAAQ,KAAK,UAAU,KAAK,KAAK,MAAM,IAAK;AAEnD,QAAM,OAAiB,CAAA;AACvB,WAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,KAAK;AACxC,UAAM,KAAK,KAAK,CAAC;AACjB,UAAM,MAAM,SAAS,QAAQ,EAAE;AAC/B,QAAI,QAAQ,GAAI,OAAM,IAAI,MAAM,0BAA0B;AAE1D,QAAI,QAAQ;AACZ,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAM,IAAI,KAAK,CAAC,IAAI,OAAO;AAC3B,WAAK,CAAC,IAAI,IAAI;AACd,cAAQ,KAAK;AAAA,IACf;AACA,WAAO,QAAQ,GAAG;AAChB,WAAK,KAAK,QAAQ,GAAI;AACtB,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,MAAK,KAAK,CAAC;AAC3C,OAAK,QAAA;AACL,SAAO,WAAW,KAAK,IAAI;AAC7B;AAEO,SAAS,sBAAsB,OAA2B;AAC/D,MAAI,CAAC,MAAM,WAAW,GAAG,EAAG,OAAM,IAAI,MAAM,6BAA6B;AACzE,SAAO,aAAa,MAAM,MAAM,CAAC,CAAC;AACpC;"}
@@ -1,84 +1,114 @@
1
- const orderedParamKeys = [
2
- "uid",
3
- "registry",
4
- "proto",
5
- "nativeId",
6
- "domain",
7
- "src"
8
- ];
9
- const fqdnLabelRegex = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;
10
- function uaidTargetFromParsed(parsed) {
11
- return parsed.method === "aid" ? "aid" : "did";
1
+ import { isBrowser } from "./standards-sdk.es136.js";
2
+ let nodeRequire;
3
+ const isNodeRuntime = () => typeof process !== "undefined" && Boolean(process.versions?.node);
4
+ function resolveBuiltinModuleLoader() {
5
+ if (typeof process === "undefined") {
6
+ return void 0;
7
+ }
8
+ return process.getBuiltinModule;
12
9
  }
13
- function normalizeDomain(value) {
14
- return value.trim().replace(/\.$/, "").toLowerCase();
10
+ function getNodeRequireSync() {
11
+ try {
12
+ const builtinModuleLoader = resolveBuiltinModuleLoader();
13
+ const moduleNamespace = builtinModuleLoader?.("module");
14
+ if (typeof moduleNamespace?.createRequire === "function") {
15
+ const requireFromModule = moduleNamespace.createRequire(import.meta.url);
16
+ if (typeof requireFromModule.resolve === "function") {
17
+ return requireFromModule;
18
+ }
19
+ }
20
+ const globalObject = typeof global !== "undefined" ? global : globalThis;
21
+ const runtimeRequire = globalObject.process?.mainModule?.require ?? globalObject.require ?? Function('return typeof require === "function" ? require : undefined;')();
22
+ if (typeof runtimeRequire === "function" && typeof runtimeRequire.resolve === "function") {
23
+ return runtimeRequire;
24
+ }
25
+ } catch {
26
+ return null;
27
+ }
28
+ return null;
15
29
  }
16
- function isFqdn(value) {
17
- const normalized = normalizeDomain(value);
18
- if (!normalized || normalized.length > 253 || !normalized.includes(".")) {
30
+ function isModuleNotFound(specifier, error) {
31
+ if (!error || typeof error !== "object") {
19
32
  return false;
20
33
  }
21
- const labels = normalized.split(".");
22
- for (const label of labels) {
23
- if (!label || label.length > 63 || !fqdnLabelRegex.test(label)) {
24
- return false;
34
+ const code = Reflect.get(error, "code");
35
+ const message = Reflect.get(error, "message");
36
+ const messageText = typeof message === "string" ? message : "";
37
+ if (typeof code === "string" && code.includes("MODULE_NOT_FOUND")) {
38
+ return messageText.includes(specifier);
39
+ }
40
+ if (messageText) {
41
+ const lowered = messageText.toLowerCase();
42
+ if (lowered.includes("cannot find module") || lowered.includes("module not found") || lowered.includes("cannot find package")) {
43
+ return lowered.includes(specifier.toLowerCase());
25
44
  }
26
45
  }
27
- return true;
46
+ return false;
28
47
  }
29
- function normalizeTxtValue(value) {
30
- const trimmed = value.trim();
31
- if (trimmed.length >= 2 && trimmed.startsWith('"') && trimmed.endsWith('"')) {
32
- return trimmed.slice(1, -1);
48
+ async function resolveNodeRequire() {
49
+ if (nodeRequire !== void 0) {
50
+ return nodeRequire;
51
+ }
52
+ if (isBrowser && !isNodeRuntime()) {
53
+ nodeRequire = null;
54
+ return nodeRequire;
33
55
  }
34
- const markdownLinkMatch = trimmed.match(/^\[(.+)\]\((.+)\)$/);
35
- if (markdownLinkMatch) {
36
- return markdownLinkMatch[2].trim();
56
+ try {
57
+ nodeRequire = getNodeRequireSync();
58
+ } catch {
59
+ nodeRequire = null;
37
60
  }
38
- return trimmed;
61
+ return nodeRequire;
39
62
  }
40
- function parseSemicolonFields(input) {
41
- const fields = {};
42
- for (const part of input.split(";")) {
43
- const trimmed = part.trim();
44
- if (!trimmed) {
45
- continue;
46
- }
47
- const equalsIndex = trimmed.indexOf("=");
48
- if (equalsIndex <= 0) {
49
- continue;
63
+ async function dynamicImport(specifier) {
64
+ try {
65
+ return await import(
66
+ /* webpackIgnore: true */
67
+ specifier
68
+ );
69
+ } catch (error) {
70
+ if (isModuleNotFound(specifier, error)) {
71
+ return null;
50
72
  }
51
- const key = trimmed.slice(0, equalsIndex).trim();
52
- const value = normalizeTxtValue(trimmed.slice(equalsIndex + 1));
53
- if (!key || !value) {
54
- continue;
55
- }
56
- fields[key] = value;
73
+ throw error;
57
74
  }
58
- return fields;
59
75
  }
60
- function buildCanonicalUaid(target, id, params) {
61
- const entries = [];
62
- const usedKeys = /* @__PURE__ */ new Set();
63
- for (const key of orderedParamKeys) {
64
- const value = params[key];
65
- if (value) {
66
- entries.push(`${key}=${value}`);
67
- usedKeys.add(key);
76
+ async function optionalImport(specifier, options = {}) {
77
+ if (isBrowser && !isNodeRuntime()) {
78
+ return dynamicImport(specifier);
79
+ }
80
+ if (!options.preferImport) {
81
+ const requireFn = await resolveNodeRequire();
82
+ if (requireFn) {
83
+ try {
84
+ return requireFn(specifier);
85
+ } catch (error) {
86
+ if (!isModuleNotFound(specifier, error)) {
87
+ throw error;
88
+ }
89
+ }
68
90
  }
69
91
  }
70
- const extraKeys = Object.keys(params).filter((key) => !usedKeys.has(key) && params[key]).sort((a, b) => a.localeCompare(b));
71
- for (const key of extraKeys) {
72
- entries.push(`${key}=${params[key]}`);
92
+ return dynamicImport(specifier);
93
+ }
94
+ function optionalImportSync(specifier) {
95
+ if (isBrowser && !isNodeRuntime()) {
96
+ return null;
97
+ }
98
+ try {
99
+ const requireFn = getNodeRequireSync();
100
+ if (requireFn) {
101
+ return requireFn(specifier);
102
+ }
103
+ } catch (error) {
104
+ if (!isModuleNotFound(specifier, error)) {
105
+ throw error;
106
+ }
73
107
  }
74
- return entries.length > 0 ? `uaid:${target}:${id};${entries.join(";")}` : `uaid:${target}:${id}`;
108
+ return null;
75
109
  }
76
110
  export {
77
- buildCanonicalUaid,
78
- isFqdn,
79
- normalizeDomain,
80
- normalizeTxtValue,
81
- parseSemicolonFields,
82
- uaidTargetFromParsed
111
+ optionalImport,
112
+ optionalImportSync
83
113
  };
84
114
  //# sourceMappingURL=standards-sdk.es164.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es164.js","sources":["../../src/hcs-14/resolvers/profile-utils.ts"],"sourcesContent":["import type { ParsedHcs14Did } from '../types';\n\nconst orderedParamKeys = [\n 'uid',\n 'registry',\n 'proto',\n 'nativeId',\n 'domain',\n 'src',\n] as const;\n\nconst fqdnLabelRegex = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;\n\nexport function uaidTargetFromParsed(parsed: ParsedHcs14Did): 'aid' | 'did' {\n return parsed.method === 'aid' ? 'aid' : 'did';\n}\n\nexport function normalizeDomain(value: string): string {\n return value.trim().replace(/\\.$/, '').toLowerCase();\n}\n\nexport function isFqdn(value: string): boolean {\n const normalized = normalizeDomain(value);\n if (!normalized || normalized.length > 253 || !normalized.includes('.')) {\n return false;\n }\n const labels = normalized.split('.');\n for (const label of labels) {\n if (!label || label.length > 63 || !fqdnLabelRegex.test(label)) {\n return false;\n }\n }\n return true;\n}\n\nexport function normalizeTxtValue(value: string): string {\n const trimmed = value.trim();\n if (trimmed.length >= 2 && trimmed.startsWith('\"') && trimmed.endsWith('\"')) {\n return trimmed.slice(1, -1);\n }\n const markdownLinkMatch = trimmed.match(/^\\[(.+)\\]\\((.+)\\)$/);\n if (markdownLinkMatch) {\n return markdownLinkMatch[2].trim();\n }\n return trimmed;\n}\n\nexport function parseSemicolonFields(input: string): Record<string, string> {\n const fields: Record<string, string> = {};\n for (const part of input.split(';')) {\n const trimmed = part.trim();\n if (!trimmed) {\n continue;\n }\n const equalsIndex = trimmed.indexOf('=');\n if (equalsIndex <= 0) {\n continue;\n }\n const key = trimmed.slice(0, equalsIndex).trim();\n const value = normalizeTxtValue(trimmed.slice(equalsIndex + 1));\n if (!key || !value) {\n continue;\n }\n fields[key] = value;\n }\n return fields;\n}\n\nexport function buildCanonicalUaid(\n target: 'aid' | 'did',\n id: string,\n params: Record<string, string>,\n): string {\n const entries: string[] = [];\n const usedKeys = new Set<string>();\n\n for (const key of orderedParamKeys) {\n const value = params[key];\n if (value) {\n entries.push(`${key}=${value}`);\n usedKeys.add(key);\n }\n }\n\n const extraKeys = Object.keys(params)\n .filter(key => !usedKeys.has(key) && params[key])\n .sort((a, b) => a.localeCompare(b));\n\n for (const key of extraKeys) {\n entries.push(`${key}=${params[key]}`);\n }\n\n return entries.length > 0\n ? `uaid:${target}:${id};${entries.join(';')}`\n : `uaid:${target}:${id}`;\n}\n\nexport function canonicalizeUaidFromParsed(parsed: ParsedHcs14Did): string {\n return buildCanonicalUaid(\n uaidTargetFromParsed(parsed),\n parsed.id,\n parsed.params,\n );\n}\n"],"names":[],"mappings":"AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,iBAAiB;AAEhB,SAAS,qBAAqB,QAAuC;AAC1E,SAAO,OAAO,WAAW,QAAQ,QAAQ;AAC3C;AAEO,SAAS,gBAAgB,OAAuB;AACrD,SAAO,MAAM,OAAO,QAAQ,OAAO,EAAE,EAAE,YAAA;AACzC;AAEO,SAAS,OAAO,OAAwB;AAC7C,QAAM,aAAa,gBAAgB,KAAK;AACxC,MAAI,CAAC,cAAc,WAAW,SAAS,OAAO,CAAC,WAAW,SAAS,GAAG,GAAG;AACvE,WAAO;AAAA,EACT;AACA,QAAM,SAAS,WAAW,MAAM,GAAG;AACnC,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,SAAS,MAAM,SAAS,MAAM,CAAC,eAAe,KAAK,KAAK,GAAG;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,kBAAkB,OAAuB;AACvD,QAAM,UAAU,MAAM,KAAA;AACtB,MAAI,QAAQ,UAAU,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,GAAG;AAC3E,WAAO,QAAQ,MAAM,GAAG,EAAE;AAAA,EAC5B;AACA,QAAM,oBAAoB,QAAQ,MAAM,oBAAoB;AAC5D,MAAI,mBAAmB;AACrB,WAAO,kBAAkB,CAAC,EAAE,KAAA;AAAA,EAC9B;AACA,SAAO;AACT;AAEO,SAAS,qBAAqB,OAAuC;AAC1E,QAAM,SAAiC,CAAA;AACvC,aAAW,QAAQ,MAAM,MAAM,GAAG,GAAG;AACnC,UAAM,UAAU,KAAK,KAAA;AACrB,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,cAAc,QAAQ,QAAQ,GAAG;AACvC,QAAI,eAAe,GAAG;AACpB;AAAA,IACF;AACA,UAAM,MAAM,QAAQ,MAAM,GAAG,WAAW,EAAE,KAAA;AAC1C,UAAM,QAAQ,kBAAkB,QAAQ,MAAM,cAAc,CAAC,CAAC;AAC9D,QAAI,CAAC,OAAO,CAAC,OAAO;AAClB;AAAA,IACF;AACA,WAAO,GAAG,IAAI;AAAA,EAChB;AACA,SAAO;AACT;AAEO,SAAS,mBACd,QACA,IACA,QACQ;AACR,QAAM,UAAoB,CAAA;AAC1B,QAAM,+BAAe,IAAA;AAErB,aAAW,OAAO,kBAAkB;AAClC,UAAM,QAAQ,OAAO,GAAG;AACxB,QAAI,OAAO;AACT,cAAQ,KAAK,GAAG,GAAG,IAAI,KAAK,EAAE;AAC9B,eAAS,IAAI,GAAG;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,YAAY,OAAO,KAAK,MAAM,EACjC,OAAO,CAAA,QAAO,CAAC,SAAS,IAAI,GAAG,KAAK,OAAO,GAAG,CAAC,EAC/C,KAAK,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,CAAC;AAEpC,aAAW,OAAO,WAAW;AAC3B,YAAQ,KAAK,GAAG,GAAG,IAAI,OAAO,GAAG,CAAC,EAAE;AAAA,EACtC;AAEA,SAAO,QAAQ,SAAS,IACpB,QAAQ,MAAM,IAAI,EAAE,IAAI,QAAQ,KAAK,GAAG,CAAC,KACzC,QAAQ,MAAM,IAAI,EAAE;AAC1B;"}
1
+ {"version":3,"file":"standards-sdk.es164.js","sources":["../../src/utils/dynamic-import.ts"],"sourcesContent":["import { isBrowser } from './is-browser';\n\nlet nodeRequire: NodeRequire | null | undefined;\n\nconst isNodeRuntime = (): boolean =>\n typeof process !== 'undefined' && Boolean(process.versions?.node);\n\ntype NodeModuleNamespace = {\n createRequire: (path: string | URL) => NodeRequire;\n};\n\ntype BuiltinModuleLoader = <TModule>(name: string) => TModule | undefined;\n\nfunction resolveBuiltinModuleLoader(): BuiltinModuleLoader | undefined {\n if (typeof process === 'undefined') {\n return undefined;\n }\n\n return (\n process as typeof process & {\n getBuiltinModule?: BuiltinModuleLoader;\n }\n ).getBuiltinModule;\n}\n\nfunction getNodeRequireSync(): NodeRequire | null {\n try {\n const builtinModuleLoader = resolveBuiltinModuleLoader();\n const moduleNamespace = builtinModuleLoader?.('module') as\n | Partial<NodeModuleNamespace>\n | undefined;\n if (typeof moduleNamespace?.createRequire === 'function') {\n const requireFromModule = moduleNamespace.createRequire(import.meta.url);\n if (typeof requireFromModule.resolve === 'function') {\n return requireFromModule;\n }\n }\n\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const runtimeRequire =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require ??\n Function('return typeof require === \"function\" ? require : undefined;')();\n\n if (\n typeof runtimeRequire === 'function' &&\n typeof (runtimeRequire as NodeRequire).resolve === 'function'\n ) {\n return runtimeRequire as NodeRequire;\n }\n } catch {\n return null;\n }\n\n return null;\n}\n\nfunction isModuleNotFound(specifier: string, error: unknown): boolean {\n if (!error || typeof error !== 'object') {\n return false;\n }\n const code = Reflect.get(error, 'code');\n const message = Reflect.get(error, 'message');\n const messageText = typeof message === 'string' ? message : '';\n\n if (typeof code === 'string' && code.includes('MODULE_NOT_FOUND')) {\n return messageText.includes(specifier);\n }\n\n if (messageText) {\n const lowered = messageText.toLowerCase();\n if (\n lowered.includes('cannot find module') ||\n lowered.includes('module not found') ||\n lowered.includes('cannot find package')\n ) {\n return lowered.includes(specifier.toLowerCase());\n }\n }\n\n return false;\n}\n\nasync function resolveNodeRequire(): Promise<NodeRequire | null> {\n if (nodeRequire !== undefined) {\n return nodeRequire;\n }\n\n if (isBrowser && !isNodeRuntime()) {\n nodeRequire = null;\n return nodeRequire;\n }\n\n try {\n nodeRequire = getNodeRequireSync();\n } catch {\n nodeRequire = null;\n }\n\n return nodeRequire;\n}\n\nasync function dynamicImport<T>(specifier: string): Promise<T | null> {\n try {\n return (await import(/* webpackIgnore: true */ specifier)) as T;\n } catch (error) {\n if (isModuleNotFound(specifier, error)) {\n return null;\n }\n throw error as Error;\n }\n}\n\ntype OptionalImportOptions = {\n preferImport?: boolean;\n};\n\nexport async function optionalImport<T>(\n specifier: string,\n options: OptionalImportOptions = {},\n): Promise<T | null> {\n if (isBrowser && !isNodeRuntime()) {\n return dynamicImport<T>(specifier);\n }\n\n if (!options.preferImport) {\n const requireFn = await resolveNodeRequire();\n if (requireFn) {\n try {\n return requireFn(specifier) as T;\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n }\n }\n\n return dynamicImport<T>(specifier);\n}\n\nexport function optionalImportSync<T>(specifier: string): T | null {\n if (isBrowser && !isNodeRuntime()) {\n return null;\n }\n\n try {\n const requireFn = getNodeRequireSync();\n if (requireFn) {\n return requireFn(specifier) as T;\n }\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n\n return null;\n}\n"],"names":[],"mappings":"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"}