@hashgraphonline/standards-sdk 0.1.177 → 0.1.179

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 (140) hide show
  1. package/dist/browser/hcs-11/client.d.ts +30 -30
  2. package/dist/browser/hcs-21/types.d.ts +23 -23
  3. package/dist/browser/inscribe/inscriber.d.ts.map +1 -1
  4. package/dist/browser/services/registry-broker/client/base-client.d.ts +30 -1
  5. package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
  6. package/dist/browser/services/registry-broker/client/credits.d.ts +6 -1
  7. package/dist/browser/services/registry-broker/client/credits.d.ts.map +1 -1
  8. package/dist/browser/services/registry-broker/client/guard.d.ts +27 -0
  9. package/dist/browser/services/registry-broker/client/guard.d.ts.map +1 -0
  10. package/dist/browser/services/registry-broker/client/skills.d.ts.map +1 -1
  11. package/dist/browser/services/registry-broker/schemas.d.ts +2079 -260
  12. package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
  13. package/dist/browser/services/registry-broker/types.d.ts +89 -1
  14. package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
  15. package/dist/browser/standards-sdk.browser.js +351 -6
  16. package/dist/browser/standards-sdk.browser.js.map +1 -1
  17. package/dist/browser/utils/dynamic-import.d.ts.map +1 -1
  18. package/dist/browser-root/hcs-11/client.d.ts +30 -30
  19. package/dist/browser-root/hcs-21/types.d.ts +23 -23
  20. package/dist/browser-root/inscribe/inscriber.d.ts.map +1 -1
  21. package/dist/browser-root/services/registry-broker/client/base-client.d.ts +30 -1
  22. package/dist/browser-root/services/registry-broker/client/base-client.d.ts.map +1 -1
  23. package/dist/browser-root/services/registry-broker/client/credits.d.ts +6 -1
  24. package/dist/browser-root/services/registry-broker/client/credits.d.ts.map +1 -1
  25. package/dist/browser-root/services/registry-broker/client/guard.d.ts +27 -0
  26. package/dist/browser-root/services/registry-broker/client/guard.d.ts.map +1 -0
  27. package/dist/browser-root/services/registry-broker/client/skills.d.ts.map +1 -1
  28. package/dist/browser-root/services/registry-broker/schemas.d.ts +2079 -260
  29. package/dist/browser-root/services/registry-broker/schemas.d.ts.map +1 -1
  30. package/dist/browser-root/services/registry-broker/types.d.ts +89 -1
  31. package/dist/browser-root/services/registry-broker/types.d.ts.map +1 -1
  32. package/dist/browser-root/standards-sdk.root-browser.js +800 -131
  33. package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
  34. package/dist/browser-root/utils/dynamic-import.d.ts.map +1 -1
  35. package/dist/cjs/hcs-11/client.d.ts +30 -30
  36. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  37. package/dist/cjs/services/registry-broker/client/base-client.d.ts +30 -1
  38. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  39. package/dist/cjs/services/registry-broker/client/credits.d.ts +6 -1
  40. package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -1
  41. package/dist/cjs/services/registry-broker/client/guard.d.ts +27 -0
  42. package/dist/cjs/services/registry-broker/client/guard.d.ts.map +1 -0
  43. package/dist/cjs/services/registry-broker/client/skills.d.ts.map +1 -1
  44. package/dist/cjs/services/registry-broker/schemas.d.ts +1827 -8
  45. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  46. package/dist/cjs/services/registry-broker/types.d.ts +89 -1
  47. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  48. package/dist/cjs/standards-sdk.cjs +2 -2
  49. package/dist/cjs/standards-sdk.cjs.map +1 -1
  50. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  51. package/dist/es/hcs-11/client.d.ts +30 -30
  52. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  53. package/dist/es/services/registry-broker/client/base-client.d.ts +30 -1
  54. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  55. package/dist/es/services/registry-broker/client/credits.d.ts +6 -1
  56. package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -1
  57. package/dist/es/services/registry-broker/client/guard.d.ts +27 -0
  58. package/dist/es/services/registry-broker/client/guard.d.ts.map +1 -0
  59. package/dist/es/services/registry-broker/client/skills.d.ts.map +1 -1
  60. package/dist/es/services/registry-broker/schemas.d.ts +1827 -8
  61. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  62. package/dist/es/services/registry-broker/types.d.ts +89 -1
  63. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  64. package/dist/es/standards-sdk.es116.js +1 -1
  65. package/dist/es/standards-sdk.es121.js +1 -1
  66. package/dist/es/standards-sdk.es127.js +1 -1
  67. package/dist/es/standards-sdk.es128.js +5 -5
  68. package/dist/es/standards-sdk.es138.js +1 -1
  69. package/dist/es/standards-sdk.es139.js +1 -1
  70. package/dist/es/standards-sdk.es140.js +5 -5
  71. package/dist/es/standards-sdk.es142.js +9 -6
  72. package/dist/es/standards-sdk.es142.js.map +1 -1
  73. package/dist/es/standards-sdk.es143.js +1 -1
  74. package/dist/es/standards-sdk.es145.js +89 -7
  75. package/dist/es/standards-sdk.es145.js.map +1 -1
  76. package/dist/es/standards-sdk.es147.js +2 -2
  77. package/dist/es/standards-sdk.es148.js +1 -1
  78. package/dist/es/standards-sdk.es16.js +1 -1
  79. package/dist/es/standards-sdk.es160.js +2147 -12461
  80. package/dist/es/standards-sdk.es160.js.map +1 -1
  81. package/dist/es/standards-sdk.es161.js +12461 -1773
  82. package/dist/es/standards-sdk.es161.js.map +1 -1
  83. package/dist/es/standards-sdk.es162.js +670 -15
  84. package/dist/es/standards-sdk.es162.js.map +1 -1
  85. package/dist/es/standards-sdk.es163.js +97 -158
  86. package/dist/es/standards-sdk.es163.js.map +1 -1
  87. package/dist/es/standards-sdk.es164.js +65 -314
  88. package/dist/es/standards-sdk.es164.js.map +1 -1
  89. package/dist/es/standards-sdk.es165.js +120 -294
  90. package/dist/es/standards-sdk.es165.js.map +1 -1
  91. package/dist/es/standards-sdk.es166.js +191 -322
  92. package/dist/es/standards-sdk.es166.js.map +1 -1
  93. package/dist/es/standards-sdk.es167.js +294 -279
  94. package/dist/es/standards-sdk.es167.js.map +1 -1
  95. package/dist/es/standards-sdk.es168.js +440 -63
  96. package/dist/es/standards-sdk.es168.js.map +1 -1
  97. package/dist/es/standards-sdk.es169.js +315 -742
  98. package/dist/es/standards-sdk.es169.js.map +1 -1
  99. package/dist/es/standards-sdk.es170.js +69 -49
  100. package/dist/es/standards-sdk.es170.js.map +1 -1
  101. package/dist/es/standards-sdk.es171.js +47 -95
  102. package/dist/es/standards-sdk.es171.js.map +1 -1
  103. package/dist/es/standards-sdk.es174.js +15 -71
  104. package/dist/es/standards-sdk.es174.js.map +1 -1
  105. package/dist/es/standards-sdk.es175.js +1 -1
  106. package/dist/es/standards-sdk.es176.js +2 -2
  107. package/dist/es/standards-sdk.es178.js +2 -2
  108. package/dist/es/standards-sdk.es179.js +2 -2
  109. package/dist/es/standards-sdk.es18.js +2 -2
  110. package/dist/es/standards-sdk.es180.js +1 -1
  111. package/dist/es/standards-sdk.es181.js +61 -3
  112. package/dist/es/standards-sdk.es181.js.map +1 -1
  113. package/dist/es/standards-sdk.es182.js +284 -167
  114. package/dist/es/standards-sdk.es182.js.map +1 -1
  115. package/dist/es/standards-sdk.es183.js +156 -206
  116. package/dist/es/standards-sdk.es183.js.map +1 -1
  117. package/dist/es/standards-sdk.es184.js +219 -223
  118. package/dist/es/standards-sdk.es184.js.map +1 -1
  119. package/dist/es/standards-sdk.es185.js +242 -0
  120. package/dist/es/standards-sdk.es185.js.map +1 -0
  121. package/dist/es/standards-sdk.es19.js +2 -2
  122. package/dist/es/standards-sdk.es27.js +2 -2
  123. package/dist/es/standards-sdk.es30.js +1 -1
  124. package/dist/es/standards-sdk.es31.js +1 -1
  125. package/dist/es/standards-sdk.es35.js +2 -2
  126. package/dist/es/standards-sdk.es36.js +1 -1
  127. package/dist/es/standards-sdk.es37.js +1 -1
  128. package/dist/es/standards-sdk.es56.js +1 -1
  129. package/dist/es/standards-sdk.es59.js +1 -1
  130. package/dist/es/standards-sdk.es60.js +1 -1
  131. package/dist/es/standards-sdk.es65.js +1 -1
  132. package/dist/es/standards-sdk.es66.js +1 -1
  133. package/dist/es/standards-sdk.es67.js +1 -1
  134. package/dist/es/standards-sdk.es69.js +1 -1
  135. package/dist/es/standards-sdk.es71.js +1 -1
  136. package/dist/es/standards-sdk.es72.js +1 -1
  137. package/dist/es/standards-sdk.es75.js +1 -1
  138. package/dist/es/standards-sdk.es84.js +1 -1
  139. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  140. package/package.json +1 -1
@@ -1,188 +1,305 @@
1
- import { Buffer } from "buffer";
2
- import { ledgerChallengeResponseSchema, ledgerVerifyResponseSchema } from "./standards-sdk.es161.js";
3
- import { canonicalizeLedgerNetwork } from "./standards-sdk.es149.js";
4
- import { createPrivateKeySignerAsync } from "./standards-sdk.es148.js";
5
- async function loadViemAccount(privateKey) {
6
- try {
7
- const viem = await import("viem/accounts");
8
- return viem.privateKeyToAccount(privateKey);
9
- } catch (error) {
10
- const err = new Error(
11
- 'EVM ledger authentication requires the optional dependency "viem". Install it to use evmPrivateKey flows.'
12
- );
13
- err.cause = error;
14
- throw err;
1
+ import { guardSessionResponseSchema, guardBalanceResponseSchema, guardTrustByHashResponseSchema, guardTrustResolveResponseSchema, guardRevocationResponseSchema, guardInventoryResponseSchema, guardReceiptHistoryResponseSchema, guardArtifactTimelineResponseSchema, guardInventoryDiffResponseSchema, guardAbomResponseSchema, guardReceiptExportResponseSchema, guardDeviceListResponseSchema, guardAlertPreferencesSchema, guardExceptionListResponseSchema, guardWatchlistResponseSchema, guardReceiptSyncResponseSchema, guardTeamPolicyPackSchema } from "./standards-sdk.es160.js";
2
+ async function getGuardSession(client) {
3
+ const raw = await client.requestJson("/guard/auth/session", {
4
+ method: "GET"
5
+ });
6
+ return client.parseWithSchema(
7
+ raw,
8
+ guardSessionResponseSchema,
9
+ "guard session response"
10
+ );
11
+ }
12
+ async function getGuardEntitlements(client) {
13
+ const raw = await client.requestJson("/guard/entitlements", {
14
+ method: "GET"
15
+ });
16
+ return client.parseWithSchema(
17
+ raw,
18
+ guardSessionResponseSchema,
19
+ "guard entitlements response"
20
+ );
21
+ }
22
+ async function getGuardBillingBalance(client) {
23
+ const raw = await client.requestJson("/guard/billing/balance", {
24
+ method: "GET"
25
+ });
26
+ return client.parseWithSchema(
27
+ raw,
28
+ guardBalanceResponseSchema,
29
+ "guard billing balance response"
30
+ );
31
+ }
32
+ async function getGuardTrustByHash(client, sha256) {
33
+ const normalizedHash = sha256.trim();
34
+ if (!normalizedHash) {
35
+ throw new Error("sha256 is required");
15
36
  }
37
+ const raw = await client.requestJson(
38
+ `/guard/trust/by-hash/${encodeURIComponent(normalizedHash)}`,
39
+ { method: "GET" }
40
+ );
41
+ return client.parseWithSchema(
42
+ raw,
43
+ guardTrustByHashResponseSchema,
44
+ "guard trust by hash response"
45
+ );
16
46
  }
17
- async function resolveLedgerAuthSignature(message, options) {
18
- if (typeof options.sign === "function") {
19
- const result = await options.sign(message);
20
- if (!result || typeof result.signature !== "string" || result.signature.length === 0) {
21
- throw new Error("Custom ledger signer failed to produce a signature.");
22
- }
23
- return result;
47
+ async function resolveGuardTrust(client, query) {
48
+ const params = new URLSearchParams();
49
+ if (query.ecosystem?.trim()) {
50
+ params.set("ecosystem", query.ecosystem.trim());
24
51
  }
25
- if (!options.signer || typeof options.signer.sign !== "function") {
26
- throw new Error(
27
- "Ledger authentication requires a Hedera Signer or custom sign function."
28
- );
52
+ if (query.name?.trim()) {
53
+ params.set("name", query.name.trim());
29
54
  }
30
- const payload = Buffer.from(message, "utf8");
31
- const signatures = await options.signer.sign([payload]);
32
- const signatureEntry = signatures?.[0];
33
- if (!signatureEntry) {
34
- throw new Error("Signer did not return any signatures.");
55
+ if (query.version?.trim()) {
56
+ params.set("version", query.version.trim());
35
57
  }
36
- let derivedPublicKey;
37
- if (signatureEntry.publicKey) {
38
- derivedPublicKey = signatureEntry.publicKey.toString();
39
- } else if (typeof options.signer.getAccountKey === "function") {
40
- const accountKey = await options.signer.getAccountKey();
41
- if (accountKey && typeof accountKey.toString === "function") {
42
- derivedPublicKey = accountKey.toString();
43
- }
58
+ const suffix = params.size > 0 ? `?${params.toString()}` : "";
59
+ const raw = await client.requestJson(
60
+ `/guard/trust/resolve${suffix}`,
61
+ { method: "GET" }
62
+ );
63
+ return client.parseWithSchema(
64
+ raw,
65
+ guardTrustResolveResponseSchema,
66
+ "guard trust resolve response"
67
+ );
68
+ }
69
+ async function getGuardRevocations(client) {
70
+ const raw = await client.requestJson("/guard/revocations", {
71
+ method: "GET"
72
+ });
73
+ return client.parseWithSchema(
74
+ raw,
75
+ guardRevocationResponseSchema,
76
+ "guard revocations response"
77
+ );
78
+ }
79
+ async function getGuardInventory(client) {
80
+ const raw = await client.requestJson("/guard/inventory", {
81
+ method: "GET"
82
+ });
83
+ return client.parseWithSchema(
84
+ raw,
85
+ guardInventoryResponseSchema,
86
+ "guard inventory response"
87
+ );
88
+ }
89
+ async function getGuardReceiptHistory(client) {
90
+ const raw = await client.requestJson("/guard/history", {
91
+ method: "GET"
92
+ });
93
+ return client.parseWithSchema(
94
+ raw,
95
+ guardReceiptHistoryResponseSchema,
96
+ "guard receipt history response"
97
+ );
98
+ }
99
+ async function getGuardArtifactTimeline(client, artifactId) {
100
+ const normalizedArtifactId = artifactId.trim();
101
+ if (!normalizedArtifactId) {
102
+ throw new Error("artifactId is required");
44
103
  }
45
- return {
46
- signature: Buffer.from(signatureEntry.signature).toString("base64"),
47
- signatureKind: "raw",
48
- publicKey: derivedPublicKey
49
- };
50
- }
51
- async function createLedgerChallenge(client, payload) {
52
- const resolvedNetwork = canonicalizeLedgerNetwork(payload.network);
53
- const network = resolvedNetwork.kind === "hedera" ? resolvedNetwork.hederaNetwork ?? resolvedNetwork.canonical : resolvedNetwork.canonical;
54
- const raw = await client.requestJson("/auth/ledger/challenge", {
104
+ const raw = await client.requestJson(
105
+ `/guard/history/${encodeURIComponent(normalizedArtifactId)}`,
106
+ { method: "GET" }
107
+ );
108
+ return client.parseWithSchema(
109
+ raw,
110
+ guardArtifactTimelineResponseSchema,
111
+ "guard artifact timeline response"
112
+ );
113
+ }
114
+ async function exportGuardAbom(client) {
115
+ const raw = await client.requestJson("/guard/abom", {
116
+ method: "GET"
117
+ });
118
+ return client.parseWithSchema(
119
+ raw,
120
+ guardAbomResponseSchema,
121
+ "guard abom response"
122
+ );
123
+ }
124
+ async function exportGuardReceipts(client) {
125
+ const raw = await client.requestJson("/guard/receipts/export", {
126
+ method: "GET"
127
+ });
128
+ return client.parseWithSchema(
129
+ raw,
130
+ guardReceiptExportResponseSchema,
131
+ "guard receipt export response"
132
+ );
133
+ }
134
+ async function getGuardInventoryDiff(client) {
135
+ const raw = await client.requestJson("/guard/inventory/diff", {
136
+ method: "GET"
137
+ });
138
+ return client.parseWithSchema(
139
+ raw,
140
+ guardInventoryDiffResponseSchema,
141
+ "guard inventory diff response"
142
+ );
143
+ }
144
+ async function getGuardDevices(client) {
145
+ const raw = await client.requestJson("/guard/devices", {
146
+ method: "GET"
147
+ });
148
+ return client.parseWithSchema(
149
+ raw,
150
+ guardDeviceListResponseSchema,
151
+ "guard devices response"
152
+ );
153
+ }
154
+ async function getGuardAlertPreferences(client) {
155
+ const raw = await client.requestJson("/guard/alerts/preferences", {
156
+ method: "GET"
157
+ });
158
+ return client.parseWithSchema(
159
+ raw,
160
+ guardAlertPreferencesSchema,
161
+ "guard alert preferences response"
162
+ );
163
+ }
164
+ async function updateGuardAlertPreferences(client, payload) {
165
+ const raw = await client.requestJson("/guard/alerts/preferences", {
166
+ method: "PUT",
167
+ body: payload
168
+ });
169
+ return client.parseWithSchema(
170
+ raw,
171
+ guardAlertPreferencesSchema,
172
+ "guard alert preferences response"
173
+ );
174
+ }
175
+ async function getGuardExceptions(client) {
176
+ const raw = await client.requestJson("/guard/exceptions", {
177
+ method: "GET"
178
+ });
179
+ return client.parseWithSchema(
180
+ raw,
181
+ guardExceptionListResponseSchema,
182
+ "guard exceptions response"
183
+ );
184
+ }
185
+ async function getGuardWatchlist(client) {
186
+ const raw = await client.requestJson("/guard/watchlist", {
187
+ method: "GET"
188
+ });
189
+ return client.parseWithSchema(
190
+ raw,
191
+ guardWatchlistResponseSchema,
192
+ "guard watchlist response"
193
+ );
194
+ }
195
+ async function addGuardWatchlistItem(client, payload) {
196
+ const raw = await client.requestJson("/guard/watchlist", {
55
197
  method: "POST",
56
- headers: { "content-type": "application/json" },
57
- body: {
58
- accountId: payload.accountId,
59
- network
60
- }
198
+ body: payload
61
199
  });
62
200
  return client.parseWithSchema(
63
201
  raw,
64
- ledgerChallengeResponseSchema,
65
- "ledger challenge response"
202
+ guardWatchlistResponseSchema,
203
+ "guard watchlist response"
66
204
  );
67
205
  }
68
- async function verifyLedgerChallenge(client, payload) {
69
- const resolvedNetwork = canonicalizeLedgerNetwork(payload.network);
70
- const network = resolvedNetwork.kind === "hedera" ? resolvedNetwork.hederaNetwork ?? resolvedNetwork.canonical : resolvedNetwork.canonical;
71
- const body = {
72
- challengeId: payload.challengeId,
73
- accountId: payload.accountId,
74
- network,
75
- signature: payload.signature
76
- };
77
- if (payload.signatureKind) {
78
- body.signatureKind = payload.signatureKind;
206
+ async function removeGuardWatchlistItem(client, artifactId) {
207
+ const normalizedArtifactId = artifactId.trim();
208
+ if (!normalizedArtifactId) {
209
+ throw new Error("artifactId is required");
79
210
  }
80
- if (payload.publicKey) {
81
- body.publicKey = payload.publicKey;
82
- }
83
- if (typeof payload.expiresInMinutes === "number") {
84
- body.expiresInMinutes = payload.expiresInMinutes;
85
- }
86
- const raw = await client.requestJson("/auth/ledger/verify", {
211
+ const raw = await client.requestJson(
212
+ `/guard/watchlist/${encodeURIComponent(normalizedArtifactId)}`,
213
+ { method: "DELETE" }
214
+ );
215
+ return client.parseWithSchema(
216
+ raw,
217
+ guardWatchlistResponseSchema,
218
+ "guard watchlist response"
219
+ );
220
+ }
221
+ async function addGuardException(client, payload) {
222
+ const raw = await client.requestJson("/guard/exceptions", {
87
223
  method: "POST",
88
- headers: { "content-type": "application/json" },
89
- body
90
- });
91
- const result = client.parseWithSchema(
92
- raw,
93
- ledgerVerifyResponseSchema,
94
- "ledger verification response"
95
- );
96
- client.setLedgerApiKey(result.key);
97
- return result;
98
- }
99
- async function authenticateWithLedger(client, options) {
100
- const challenge = await client.createLedgerChallenge({
101
- accountId: options.accountId,
102
- network: options.network
103
- });
104
- const signed = await resolveLedgerAuthSignature(challenge.message, options);
105
- const verification = await client.verifyLedgerChallenge({
106
- challengeId: challenge.challengeId,
107
- accountId: options.accountId,
108
- network: options.network,
109
- signature: signed.signature,
110
- signatureKind: signed.signatureKind,
111
- publicKey: signed.publicKey,
112
- expiresInMinutes: options.expiresInMinutes
113
- });
114
- return verification;
115
- }
116
- async function authenticateWithLedgerCredentials(client, options) {
117
- const {
118
- accountId,
119
- network,
120
- signer,
121
- sign,
122
- hederaPrivateKey,
123
- evmPrivateKey,
124
- expiresInMinutes,
125
- setAccountHeader = true,
126
- label,
127
- logger
128
- } = options;
129
- const resolvedNetwork = canonicalizeLedgerNetwork(network);
130
- const labelSuffix = label ? ` for ${label}` : "";
131
- const networkPayload = resolvedNetwork.canonical;
132
- const authOptions = {
133
- accountId,
134
- network: networkPayload,
135
- expiresInMinutes
136
- };
137
- if (sign) {
138
- authOptions.sign = sign;
139
- } else if (signer) {
140
- authOptions.signer = signer;
141
- } else if (hederaPrivateKey) {
142
- if (resolvedNetwork.kind !== "hedera" || !resolvedNetwork.hederaNetwork) {
143
- throw new Error(
144
- "hederaPrivateKey can only be used with hedera:mainnet or hedera:testnet networks."
145
- );
146
- }
147
- authOptions.signer = await createPrivateKeySignerAsync({
148
- accountId,
149
- privateKey: hederaPrivateKey,
150
- network: resolvedNetwork.hederaNetwork
151
- });
152
- } else if (evmPrivateKey) {
153
- if (resolvedNetwork.kind !== "evm") {
154
- throw new Error(
155
- "evmPrivateKey can only be used with CAIP-2 EVM networks (eip155:<chainId>)."
156
- );
157
- }
158
- const formattedKey = evmPrivateKey.startsWith("0x") ? evmPrivateKey : `0x${evmPrivateKey}`;
159
- const account = await loadViemAccount(formattedKey);
160
- authOptions.sign = async (message) => ({
161
- signature: await account.signMessage({ message }),
162
- signatureKind: "evm",
163
- publicKey: account.publicKey
164
- });
165
- } else {
166
- throw new Error(
167
- "Provide a signer, sign function, hederaPrivateKey, or evmPrivateKey to authenticate with the ledger."
168
- );
169
- }
170
- logger?.info?.(
171
- `Authenticating ledger account ${accountId} (${resolvedNetwork.canonical})${labelSuffix}...`
224
+ body: payload
225
+ });
226
+ return client.parseWithSchema(
227
+ raw,
228
+ guardExceptionListResponseSchema,
229
+ "guard exceptions response"
172
230
  );
173
- const verification = await client.authenticateWithLedger(authOptions);
174
- if (setAccountHeader) {
175
- client.setDefaultHeader("x-account-id", verification.accountId);
231
+ }
232
+ async function removeGuardException(client, exceptionId) {
233
+ const normalizedExceptionId = exceptionId.trim();
234
+ if (!normalizedExceptionId) {
235
+ throw new Error("exceptionId is required");
176
236
  }
177
- logger?.info?.(
178
- `Ledger authentication complete${labelSuffix}. Issued key prefix: ${verification.apiKey.prefix}…${verification.apiKey.lastFour}`
237
+ const raw = await client.requestJson(
238
+ `/guard/exceptions/${encodeURIComponent(normalizedExceptionId)}`,
239
+ { method: "DELETE" }
240
+ );
241
+ return client.parseWithSchema(
242
+ raw,
243
+ guardExceptionListResponseSchema,
244
+ "guard exceptions response"
245
+ );
246
+ }
247
+ async function getGuardTeamPolicyPack(client) {
248
+ const raw = await client.requestJson("/guard/team/policy-pack", {
249
+ method: "GET"
250
+ });
251
+ return client.parseWithSchema(
252
+ raw,
253
+ guardTeamPolicyPackSchema,
254
+ "guard team policy pack response"
255
+ );
256
+ }
257
+ async function updateGuardTeamPolicyPack(client, payload) {
258
+ const raw = await client.requestJson("/guard/team/policy-pack", {
259
+ method: "PUT",
260
+ body: payload
261
+ });
262
+ return client.parseWithSchema(
263
+ raw,
264
+ guardTeamPolicyPackSchema,
265
+ "guard team policy pack response"
266
+ );
267
+ }
268
+ async function syncGuardReceipts(client, payload) {
269
+ const raw = await client.requestJson("/guard/receipts/sync", {
270
+ method: "POST",
271
+ body: payload
272
+ });
273
+ return client.parseWithSchema(
274
+ raw,
275
+ guardReceiptSyncResponseSchema,
276
+ "guard receipt sync response"
179
277
  );
180
- return verification;
181
278
  }
182
279
  export {
183
- authenticateWithLedger,
184
- authenticateWithLedgerCredentials,
185
- createLedgerChallenge,
186
- verifyLedgerChallenge
280
+ addGuardException,
281
+ addGuardWatchlistItem,
282
+ exportGuardAbom,
283
+ exportGuardReceipts,
284
+ getGuardAlertPreferences,
285
+ getGuardArtifactTimeline,
286
+ getGuardBillingBalance,
287
+ getGuardDevices,
288
+ getGuardEntitlements,
289
+ getGuardExceptions,
290
+ getGuardInventory,
291
+ getGuardInventoryDiff,
292
+ getGuardReceiptHistory,
293
+ getGuardRevocations,
294
+ getGuardSession,
295
+ getGuardTeamPolicyPack,
296
+ getGuardTrustByHash,
297
+ getGuardWatchlist,
298
+ removeGuardException,
299
+ removeGuardWatchlistItem,
300
+ resolveGuardTrust,
301
+ syncGuardReceipts,
302
+ updateGuardAlertPreferences,
303
+ updateGuardTeamPolicyPack
187
304
  };
188
305
  //# sourceMappingURL=standards-sdk.es182.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es182.js","sources":["../../src/services/registry-broker/client/ledger-auth.ts"],"sourcesContent":["import { Buffer } from 'buffer';\nimport type { SignerSignature } from '@hashgraph/sdk';\nimport type {\n JsonObject,\n JsonValue,\n LedgerAuthenticationOptions,\n LedgerAuthenticationSignerResult,\n LedgerChallengeRequest,\n LedgerChallengeResponse,\n LedgerCredentialAuthOptions,\n LedgerVerifyRequest,\n LedgerVerifyResponse,\n} from '../types';\nimport {\n ledgerChallengeResponseSchema,\n ledgerVerifyResponseSchema,\n} from '../schemas';\nimport { canonicalizeLedgerNetwork } from '../ledger-network';\nimport { createPrivateKeySignerAsync } from '../private-key-signer';\nimport type { RegistryBrokerClient } from './base-client';\n\nasync function loadViemAccount(privateKey: `0x${string}`): Promise<{\n publicKey: string;\n signMessage: (input: { message: string }) => Promise<string>;\n}> {\n try {\n const viem = await import('viem/accounts');\n return viem.privateKeyToAccount(privateKey);\n } catch (error) {\n const err = new Error(\n 'EVM ledger authentication requires the optional dependency \"viem\". Install it to use evmPrivateKey flows.',\n );\n (err as { cause?: unknown }).cause = error;\n throw err;\n }\n}\n\nasync function resolveLedgerAuthSignature(\n message: string,\n options: LedgerAuthenticationOptions,\n): Promise<LedgerAuthenticationSignerResult> {\n if (typeof options.sign === 'function') {\n const result = await options.sign(message);\n if (\n !result ||\n typeof result.signature !== 'string' ||\n result.signature.length === 0\n ) {\n throw new Error('Custom ledger signer failed to produce a signature.');\n }\n return result;\n }\n\n if (!options.signer || typeof options.signer.sign !== 'function') {\n throw new Error(\n 'Ledger authentication requires a Hedera Signer or custom sign function.',\n );\n }\n\n const payload = Buffer.from(message, 'utf8');\n const signatures: SignerSignature[] = await options.signer.sign([payload]);\n const signatureEntry = signatures?.[0];\n if (!signatureEntry) {\n throw new Error('Signer did not return any signatures.');\n }\n\n let derivedPublicKey: string | undefined;\n if (signatureEntry.publicKey) {\n derivedPublicKey = signatureEntry.publicKey.toString();\n } else if (typeof options.signer.getAccountKey === 'function') {\n const accountKey = await options.signer.getAccountKey();\n if (accountKey && typeof accountKey.toString === 'function') {\n derivedPublicKey = accountKey.toString();\n }\n }\n\n return {\n signature: Buffer.from(signatureEntry.signature).toString('base64'),\n signatureKind: 'raw',\n publicKey: derivedPublicKey,\n };\n}\n\nexport async function createLedgerChallenge(\n client: RegistryBrokerClient,\n payload: LedgerChallengeRequest,\n): Promise<LedgerChallengeResponse> {\n const resolvedNetwork = canonicalizeLedgerNetwork(payload.network);\n const network =\n resolvedNetwork.kind === 'hedera'\n ? (resolvedNetwork.hederaNetwork ?? resolvedNetwork.canonical)\n : resolvedNetwork.canonical;\n const raw = await client.requestJson<JsonValue>('/auth/ledger/challenge', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: {\n accountId: payload.accountId,\n network,\n },\n });\n\n return client.parseWithSchema(\n raw,\n ledgerChallengeResponseSchema,\n 'ledger challenge response',\n );\n}\n\nexport async function verifyLedgerChallenge(\n client: RegistryBrokerClient,\n payload: LedgerVerifyRequest,\n): Promise<LedgerVerifyResponse> {\n const resolvedNetwork = canonicalizeLedgerNetwork(payload.network);\n const network =\n resolvedNetwork.kind === 'hedera'\n ? (resolvedNetwork.hederaNetwork ?? resolvedNetwork.canonical)\n : resolvedNetwork.canonical;\n const body: JsonObject = {\n challengeId: payload.challengeId,\n accountId: payload.accountId,\n network,\n signature: payload.signature,\n };\n\n if (payload.signatureKind) {\n body.signatureKind = payload.signatureKind;\n }\n if (payload.publicKey) {\n body.publicKey = payload.publicKey;\n }\n if (typeof payload.expiresInMinutes === 'number') {\n body.expiresInMinutes = payload.expiresInMinutes;\n }\n\n const raw = await client.requestJson<JsonValue>('/auth/ledger/verify', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body,\n });\n\n const result = client.parseWithSchema(\n raw,\n ledgerVerifyResponseSchema,\n 'ledger verification response',\n );\n\n client.setLedgerApiKey(result.key);\n return result;\n}\n\nexport async function authenticateWithLedger(\n client: RegistryBrokerClient,\n options: LedgerAuthenticationOptions,\n): Promise<LedgerVerifyResponse> {\n const challenge = await client.createLedgerChallenge({\n accountId: options.accountId,\n network: options.network,\n });\n const signed = await resolveLedgerAuthSignature(challenge.message, options);\n const verification = await client.verifyLedgerChallenge({\n challengeId: challenge.challengeId,\n accountId: options.accountId,\n network: options.network,\n signature: signed.signature,\n signatureKind: signed.signatureKind,\n publicKey: signed.publicKey,\n expiresInMinutes: options.expiresInMinutes,\n });\n return verification;\n}\n\nexport async function authenticateWithLedgerCredentials(\n client: RegistryBrokerClient,\n options: LedgerCredentialAuthOptions,\n): Promise<LedgerVerifyResponse> {\n const {\n accountId,\n network,\n signer,\n sign,\n hederaPrivateKey,\n evmPrivateKey,\n expiresInMinutes,\n setAccountHeader = true,\n label,\n logger,\n } = options;\n\n const resolvedNetwork = canonicalizeLedgerNetwork(network);\n const labelSuffix = label ? ` for ${label}` : '';\n\n const networkPayload = resolvedNetwork.canonical;\n\n const authOptions: LedgerAuthenticationOptions = {\n accountId,\n network: networkPayload,\n expiresInMinutes,\n };\n\n if (sign) {\n authOptions.sign = sign;\n } else if (signer) {\n authOptions.signer = signer;\n } else if (hederaPrivateKey) {\n if (resolvedNetwork.kind !== 'hedera' || !resolvedNetwork.hederaNetwork) {\n throw new Error(\n 'hederaPrivateKey can only be used with hedera:mainnet or hedera:testnet networks.',\n );\n }\n authOptions.signer = await createPrivateKeySignerAsync({\n accountId,\n privateKey: hederaPrivateKey,\n network: resolvedNetwork.hederaNetwork,\n });\n } else if (evmPrivateKey) {\n if (resolvedNetwork.kind !== 'evm') {\n throw new Error(\n 'evmPrivateKey can only be used with CAIP-2 EVM networks (eip155:<chainId>).',\n );\n }\n const formattedKey = evmPrivateKey.startsWith('0x')\n ? (evmPrivateKey as `0x${string}`)\n : (`0x${evmPrivateKey}` as `0x${string}`);\n const account = await loadViemAccount(formattedKey);\n authOptions.sign = async message => ({\n signature: await account.signMessage({ message }),\n signatureKind: 'evm',\n publicKey: account.publicKey,\n });\n } else {\n throw new Error(\n 'Provide a signer, sign function, hederaPrivateKey, or evmPrivateKey to authenticate with the ledger.',\n );\n }\n\n logger?.info?.(\n `Authenticating ledger account ${accountId} (${resolvedNetwork.canonical})${labelSuffix}...`,\n );\n const verification = await client.authenticateWithLedger(authOptions);\n if (setAccountHeader) {\n client.setDefaultHeader('x-account-id', verification.accountId);\n }\n logger?.info?.(\n `Ledger authentication complete${labelSuffix}. Issued key prefix: ${verification.apiKey.prefix}…${verification.apiKey.lastFour}`,\n );\n return verification;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es182.js","sources":["../../src/services/registry-broker/client/guard.ts"],"sourcesContent":["import type {\n GuardAlertPreferences,\n GuardAlertPreferencesUpdate,\n GuardAbomResponse,\n GuardArtifactTimelineResponse,\n GuardBalanceResponse,\n GuardDeviceListResponse,\n GuardExceptionListResponse,\n GuardExceptionUpsert,\n GuardInventoryDiffResponse,\n GuardInventoryResponse,\n GuardReceiptExportResponse,\n GuardReceiptHistoryResponse,\n GuardReceiptSyncPayload,\n GuardReceiptSyncResponse,\n GuardRevocationResponse,\n GuardSessionResponse,\n GuardTeamPolicyPack,\n GuardTeamPolicyPackUpdate,\n GuardTrustByHashResponse,\n GuardTrustResolveQuery,\n GuardTrustResolveResponse,\n GuardWatchlistResponse,\n GuardWatchlistUpsert,\n JsonValue,\n} from '../types';\nimport {\n guardAlertPreferencesSchema,\n guardAbomResponseSchema,\n guardArtifactTimelineResponseSchema,\n guardBalanceResponseSchema,\n guardDeviceListResponseSchema,\n guardExceptionListResponseSchema,\n guardInventoryDiffResponseSchema,\n guardInventoryResponseSchema,\n guardReceiptExportResponseSchema,\n guardReceiptHistoryResponseSchema,\n guardReceiptSyncResponseSchema,\n guardRevocationResponseSchema,\n guardSessionResponseSchema,\n guardTeamPolicyPackSchema,\n guardTrustByHashResponseSchema,\n guardTrustResolveResponseSchema,\n guardWatchlistResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\n\nexport async function getGuardSession(\n client: RegistryBrokerClient,\n): Promise<GuardSessionResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/auth/session', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardSessionResponseSchema,\n 'guard session response',\n );\n}\n\nexport async function getGuardEntitlements(\n client: RegistryBrokerClient,\n): Promise<GuardSessionResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/entitlements', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardSessionResponseSchema,\n 'guard entitlements response',\n );\n}\n\nexport async function getGuardBillingBalance(\n client: RegistryBrokerClient,\n): Promise<GuardBalanceResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/billing/balance', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardBalanceResponseSchema,\n 'guard billing balance response',\n );\n}\n\nexport async function getGuardTrustByHash(\n client: RegistryBrokerClient,\n sha256: string,\n): Promise<GuardTrustByHashResponse> {\n const normalizedHash = sha256.trim();\n if (!normalizedHash) {\n throw new Error('sha256 is required');\n }\n const raw = await client.requestJson<JsonValue>(\n `/guard/trust/by-hash/${encodeURIComponent(normalizedHash)}`,\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n guardTrustByHashResponseSchema,\n 'guard trust by hash response',\n );\n}\n\nexport async function resolveGuardTrust(\n client: RegistryBrokerClient,\n query: GuardTrustResolveQuery,\n): Promise<GuardTrustResolveResponse> {\n const params = new URLSearchParams();\n if (query.ecosystem?.trim()) {\n params.set('ecosystem', query.ecosystem.trim());\n }\n if (query.name?.trim()) {\n params.set('name', query.name.trim());\n }\n if (query.version?.trim()) {\n params.set('version', query.version.trim());\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await client.requestJson<JsonValue>(\n `/guard/trust/resolve${suffix}`,\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n guardTrustResolveResponseSchema,\n 'guard trust resolve response',\n );\n}\n\nexport async function getGuardRevocations(\n client: RegistryBrokerClient,\n): Promise<GuardRevocationResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/revocations', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardRevocationResponseSchema,\n 'guard revocations response',\n );\n}\n\nexport async function getGuardInventory(\n client: RegistryBrokerClient,\n): Promise<GuardInventoryResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/inventory', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardInventoryResponseSchema,\n 'guard inventory response',\n );\n}\n\nexport async function getGuardReceiptHistory(\n client: RegistryBrokerClient,\n): Promise<GuardReceiptHistoryResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/history', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardReceiptHistoryResponseSchema,\n 'guard receipt history response',\n );\n}\n\nexport async function getGuardArtifactTimeline(\n client: RegistryBrokerClient,\n artifactId: string,\n): Promise<GuardArtifactTimelineResponse> {\n const normalizedArtifactId = artifactId.trim();\n if (!normalizedArtifactId) {\n throw new Error('artifactId is required');\n }\n const raw = await client.requestJson<JsonValue>(\n `/guard/history/${encodeURIComponent(normalizedArtifactId)}`,\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n guardArtifactTimelineResponseSchema,\n 'guard artifact timeline response',\n );\n}\n\nexport async function exportGuardAbom(\n client: RegistryBrokerClient,\n): Promise<GuardAbomResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/abom', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardAbomResponseSchema,\n 'guard abom response',\n );\n}\n\nexport async function exportGuardReceipts(\n client: RegistryBrokerClient,\n): Promise<GuardReceiptExportResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/receipts/export', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardReceiptExportResponseSchema,\n 'guard receipt export response',\n );\n}\n\nexport async function getGuardInventoryDiff(\n client: RegistryBrokerClient,\n): Promise<GuardInventoryDiffResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/inventory/diff', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardInventoryDiffResponseSchema,\n 'guard inventory diff response',\n );\n}\n\nexport async function getGuardDevices(\n client: RegistryBrokerClient,\n): Promise<GuardDeviceListResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/devices', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardDeviceListResponseSchema,\n 'guard devices response',\n );\n}\n\nexport async function getGuardAlertPreferences(\n client: RegistryBrokerClient,\n): Promise<GuardAlertPreferences> {\n const raw = await client.requestJson<JsonValue>('/guard/alerts/preferences', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardAlertPreferencesSchema,\n 'guard alert preferences response',\n );\n}\n\nexport async function updateGuardAlertPreferences(\n client: RegistryBrokerClient,\n payload: GuardAlertPreferencesUpdate,\n): Promise<GuardAlertPreferences> {\n const raw = await client.requestJson<JsonValue>('/guard/alerts/preferences', {\n method: 'PUT',\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n guardAlertPreferencesSchema,\n 'guard alert preferences response',\n );\n}\n\nexport async function getGuardExceptions(\n client: RegistryBrokerClient,\n): Promise<GuardExceptionListResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/exceptions', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardExceptionListResponseSchema,\n 'guard exceptions response',\n );\n}\n\nexport async function getGuardWatchlist(\n client: RegistryBrokerClient,\n): Promise<GuardWatchlistResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/watchlist', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardWatchlistResponseSchema,\n 'guard watchlist response',\n );\n}\n\nexport async function addGuardWatchlistItem(\n client: RegistryBrokerClient,\n payload: GuardWatchlistUpsert,\n): Promise<GuardWatchlistResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/watchlist', {\n method: 'POST',\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n guardWatchlistResponseSchema,\n 'guard watchlist response',\n );\n}\n\nexport async function removeGuardWatchlistItem(\n client: RegistryBrokerClient,\n artifactId: string,\n): Promise<GuardWatchlistResponse> {\n const normalizedArtifactId = artifactId.trim();\n if (!normalizedArtifactId) {\n throw new Error('artifactId is required');\n }\n const raw = await client.requestJson<JsonValue>(\n `/guard/watchlist/${encodeURIComponent(normalizedArtifactId)}`,\n { method: 'DELETE' },\n );\n return client.parseWithSchema(\n raw,\n guardWatchlistResponseSchema,\n 'guard watchlist response',\n );\n}\n\nexport async function addGuardException(\n client: RegistryBrokerClient,\n payload: GuardExceptionUpsert,\n): Promise<GuardExceptionListResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/exceptions', {\n method: 'POST',\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n guardExceptionListResponseSchema,\n 'guard exceptions response',\n );\n}\n\nexport async function removeGuardException(\n client: RegistryBrokerClient,\n exceptionId: string,\n): Promise<GuardExceptionListResponse> {\n const normalizedExceptionId = exceptionId.trim();\n if (!normalizedExceptionId) {\n throw new Error('exceptionId is required');\n }\n const raw = await client.requestJson<JsonValue>(\n `/guard/exceptions/${encodeURIComponent(normalizedExceptionId)}`,\n { method: 'DELETE' },\n );\n return client.parseWithSchema(\n raw,\n guardExceptionListResponseSchema,\n 'guard exceptions response',\n );\n}\n\nexport async function getGuardTeamPolicyPack(\n client: RegistryBrokerClient,\n): Promise<GuardTeamPolicyPack> {\n const raw = await client.requestJson<JsonValue>('/guard/team/policy-pack', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n guardTeamPolicyPackSchema,\n 'guard team policy pack response',\n );\n}\n\nexport async function updateGuardTeamPolicyPack(\n client: RegistryBrokerClient,\n payload: GuardTeamPolicyPackUpdate,\n): Promise<GuardTeamPolicyPack> {\n const raw = await client.requestJson<JsonValue>('/guard/team/policy-pack', {\n method: 'PUT',\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n guardTeamPolicyPackSchema,\n 'guard team policy pack response',\n );\n}\n\nexport async function syncGuardReceipts(\n client: RegistryBrokerClient,\n payload: GuardReceiptSyncPayload,\n): Promise<GuardReceiptSyncResponse> {\n const raw = await client.requestJson<JsonValue>('/guard/receipts/sync', {\n method: 'POST',\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n guardReceiptSyncResponseSchema,\n 'guard receipt sync response',\n );\n}\n"],"names":[],"mappings":"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"}