@hashgraphonline/standards-sdk 0.1.179 → 0.1.181

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 (167) hide show
  1. package/dist/browser/services/registry-broker/client/base-client.d.ts +18 -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 +15 -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 +1705 -173
  6. package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
  7. package/dist/browser/services/registry-broker/types.d.ts +32 -1
  8. package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
  9. package/dist/browser/standards-sdk.browser.js +178 -9
  10. package/dist/browser/standards-sdk.browser.js.map +1 -1
  11. package/dist/browser-root/services/registry-broker/client/base-client.d.ts +18 -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 +15 -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 +1705 -173
  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 +32 -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 +682 -71
  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 +18 -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 +15 -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 +1705 -173
  26. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  27. package/dist/cjs/services/registry-broker/types.d.ts +32 -1
  28. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  29. package/dist/cjs/standards-sdk.cjs +1 -1
  30. package/dist/cjs/standards-sdk.cjs.map +1 -1
  31. package/dist/es/services/registry-broker/client/base-client.d.ts +18 -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 +15 -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 +1705 -173
  36. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  37. package/dist/es/services/registry-broker/types.d.ts +32 -1
  38. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  39. package/dist/es/standards-sdk.es.js +10 -7
  40. package/dist/es/standards-sdk.es.js.map +1 -1
  41. package/dist/es/standards-sdk.es104.js +1 -1
  42. package/dist/es/standards-sdk.es106.js +1 -1
  43. package/dist/es/standards-sdk.es108.js +1 -1
  44. package/dist/es/standards-sdk.es11.js +1 -1
  45. package/dist/es/standards-sdk.es110.js +1 -1
  46. package/dist/es/standards-sdk.es116.js +1 -1
  47. package/dist/es/standards-sdk.es12.js +1 -1
  48. package/dist/es/standards-sdk.es121.js +1 -1
  49. package/dist/es/standards-sdk.es127.js +2 -2
  50. package/dist/es/standards-sdk.es128.js +5 -5
  51. package/dist/es/standards-sdk.es138.js +1 -1
  52. package/dist/es/standards-sdk.es139.js +1 -1
  53. package/dist/es/standards-sdk.es140.js +5 -5
  54. package/dist/es/standards-sdk.es142.js +2 -2
  55. package/dist/es/standards-sdk.es145.js +86 -15
  56. package/dist/es/standards-sdk.es145.js.map +1 -1
  57. package/dist/es/standards-sdk.es147.js +3 -3
  58. package/dist/es/standards-sdk.es148.js +4 -81
  59. package/dist/es/standards-sdk.es148.js.map +1 -1
  60. package/dist/es/standards-sdk.es149.js +71 -77
  61. package/dist/es/standards-sdk.es149.js.map +1 -1
  62. package/dist/es/standards-sdk.es150.js +80 -53
  63. package/dist/es/standards-sdk.es150.js.map +1 -1
  64. package/dist/es/standards-sdk.es151.js +53 -152
  65. package/dist/es/standards-sdk.es151.js.map +1 -1
  66. package/dist/es/standards-sdk.es152.js +159 -7
  67. package/dist/es/standards-sdk.es152.js.map +1 -1
  68. package/dist/es/standards-sdk.es153.js +7 -86
  69. package/dist/es/standards-sdk.es153.js.map +1 -1
  70. package/dist/es/standards-sdk.es154.js +64 -43
  71. package/dist/es/standards-sdk.es154.js.map +1 -1
  72. package/dist/es/standards-sdk.es155.js +65 -30
  73. package/dist/es/standards-sdk.es155.js.map +1 -1
  74. package/dist/es/standards-sdk.es156.js +30 -34
  75. package/dist/es/standards-sdk.es156.js.map +1 -1
  76. package/dist/es/standards-sdk.es157.js +34 -48
  77. package/dist/es/standards-sdk.es157.js.map +1 -1
  78. package/dist/es/standards-sdk.es158.js +48 -138
  79. package/dist/es/standards-sdk.es158.js.map +1 -1
  80. package/dist/es/standards-sdk.es159.js +133 -37
  81. package/dist/es/standards-sdk.es159.js.map +1 -1
  82. package/dist/es/standards-sdk.es16.js +2 -2
  83. package/dist/es/standards-sdk.es160.js +42 -2168
  84. package/dist/es/standards-sdk.es160.js.map +1 -1
  85. package/dist/es/standards-sdk.es162.js +2352 -672
  86. package/dist/es/standards-sdk.es162.js.map +1 -1
  87. package/dist/es/standards-sdk.es163.js +15 -109
  88. package/dist/es/standards-sdk.es163.js.map +1 -1
  89. package/dist/es/standards-sdk.es164.js +96 -58
  90. package/dist/es/standards-sdk.es164.js.map +1 -1
  91. package/dist/es/standards-sdk.es165.js +66 -165
  92. package/dist/es/standards-sdk.es165.js.map +1 -1
  93. package/dist/es/standards-sdk.es166.js +55 -321
  94. package/dist/es/standards-sdk.es166.js.map +1 -1
  95. package/dist/es/standards-sdk.es167.js +71 -336
  96. package/dist/es/standards-sdk.es167.js.map +1 -1
  97. package/dist/es/standards-sdk.es168.js +186 -439
  98. package/dist/es/standards-sdk.es168.js.map +1 -1
  99. package/dist/es/standards-sdk.es169.js +142 -301
  100. package/dist/es/standards-sdk.es169.js.map +1 -1
  101. package/dist/es/standards-sdk.es170.js +310 -64
  102. package/dist/es/standards-sdk.es170.js.map +1 -1
  103. package/dist/es/standards-sdk.es171.js +345 -55
  104. package/dist/es/standards-sdk.es171.js.map +1 -1
  105. package/dist/es/standards-sdk.es172.js +443 -71
  106. package/dist/es/standards-sdk.es172.js.map +1 -1
  107. package/dist/es/standards-sdk.es173.js +315 -184
  108. package/dist/es/standards-sdk.es173.js.map +1 -1
  109. package/dist/es/standards-sdk.es174.js +74 -15
  110. package/dist/es/standards-sdk.es174.js.map +1 -1
  111. package/dist/es/standards-sdk.es175.js +653 -120
  112. package/dist/es/standards-sdk.es175.js.map +1 -1
  113. package/dist/es/standards-sdk.es176.js +111 -303
  114. package/dist/es/standards-sdk.es176.js.map +1 -1
  115. package/dist/es/standards-sdk.es177.js +297 -225
  116. package/dist/es/standards-sdk.es177.js.map +1 -1
  117. package/dist/es/standards-sdk.es178.js +239 -176
  118. package/dist/es/standards-sdk.es178.js.map +1 -1
  119. package/dist/es/standards-sdk.es179.js +178 -101
  120. package/dist/es/standards-sdk.es179.js.map +1 -1
  121. package/dist/es/standards-sdk.es18.js +4 -4
  122. package/dist/es/standards-sdk.es180.js +75 -108
  123. package/dist/es/standards-sdk.es180.js.map +1 -1
  124. package/dist/es/standards-sdk.es181.js +116 -148
  125. package/dist/es/standards-sdk.es181.js.map +1 -1
  126. package/dist/es/standards-sdk.es182.js +146 -264
  127. package/dist/es/standards-sdk.es182.js.map +1 -1
  128. package/dist/es/standards-sdk.es183.js +661 -162
  129. package/dist/es/standards-sdk.es183.js.map +1 -1
  130. package/dist/es/standards-sdk.es184.js +156 -206
  131. package/dist/es/standards-sdk.es184.js.map +1 -1
  132. package/dist/es/standards-sdk.es185.js +219 -223
  133. package/dist/es/standards-sdk.es185.js.map +1 -1
  134. package/dist/es/standards-sdk.es186.js +242 -0
  135. package/dist/es/standards-sdk.es186.js.map +1 -0
  136. package/dist/es/standards-sdk.es19.js +2 -2
  137. package/dist/es/standards-sdk.es22.js +1 -1
  138. package/dist/es/standards-sdk.es27.js +4 -4
  139. package/dist/es/standards-sdk.es35.js +2 -2
  140. package/dist/es/standards-sdk.es36.js +2 -2
  141. package/dist/es/standards-sdk.es4.js +1 -1
  142. package/dist/es/standards-sdk.es53.js +1 -1
  143. package/dist/es/standards-sdk.es56.js +1 -1
  144. package/dist/es/standards-sdk.es59.js +1 -1
  145. package/dist/es/standards-sdk.es60.js +1 -1
  146. package/dist/es/standards-sdk.es62.js +1 -1
  147. package/dist/es/standards-sdk.es63.js +2 -2
  148. package/dist/es/standards-sdk.es64.js +1 -1
  149. package/dist/es/standards-sdk.es65.js +1 -1
  150. package/dist/es/standards-sdk.es66.js +1 -1
  151. package/dist/es/standards-sdk.es67.js +3 -3
  152. package/dist/es/standards-sdk.es69.js +1 -1
  153. package/dist/es/standards-sdk.es7.js +1 -1
  154. package/dist/es/standards-sdk.es71.js +1 -1
  155. package/dist/es/standards-sdk.es72.js +2 -2
  156. package/dist/es/standards-sdk.es75.js +2 -2
  157. package/dist/es/standards-sdk.es76.js +1 -1
  158. package/dist/es/standards-sdk.es78.js +1 -1
  159. package/dist/es/standards-sdk.es83.js +1 -1
  160. package/dist/es/standards-sdk.es84.js +2 -2
  161. package/dist/es/standards-sdk.es85.js +1 -1
  162. package/dist/es/standards-sdk.es88.js +1 -1
  163. package/dist/es/standards-sdk.es90.js +1 -1
  164. package/dist/es/standards-sdk.es94.js +3 -3
  165. package/dist/es/standards-sdk.es98.js +1 -1
  166. package/dist/es/standards-sdk.es99.js +1 -1
  167. package/package.json +1 -1
@@ -1,188 +1,687 @@
1
- import { Buffer } from "buffer";
2
- import { ledgerChallengeResponseSchema, ledgerVerifyResponseSchema } from "./standards-sdk.es160.js";
3
- import { canonicalizeLedgerNetwork } from "./standards-sdk.es149.js";
4
- import { createPrivateKeySignerAsync } from "./standards-sdk.es148.js";
5
- async function loadViemAccount(privateKey) {
1
+ import { guardSessionResponseSchema, guardBalanceResponseSchema, guardFeedResponseSchema, guardOverviewResponseSchema, guardTrustByHashResponseSchema, guardTrustResolveResponseSchema, guardRevocationResponseSchema, guardPolicySchema, guardInventoryResponseSchema, guardReceiptHistoryResponseSchema, guardArtifactTimelineResponseSchema, guardInventoryDiffResponseSchema, guardAbomResponseSchema, guardReceiptExportResponseSchema, guardDeviceListResponseSchema, guardAlertPreferencesSchema, guardExceptionListResponseSchema, guardWatchlistResponseSchema, guardWatchlistLookupResponseSchema, guardPainSignalListResponseSchema, guardPainSignalAggregateResponseSchema, guardReceiptSyncResponseSchema, guardTeamPolicyPackSchema, guardPreflightVerdictResponseSchema } from "./standards-sdk.es162.js";
2
+ import { RegistryBrokerError } from "./standards-sdk.es146.js";
3
+ function isStatusError(error) {
4
+ if (error instanceof RegistryBrokerError) {
5
+ return true;
6
+ }
7
+ if (typeof error !== "object" || error === null || !("status" in error)) {
8
+ return false;
9
+ }
10
+ return typeof Reflect.get(error, "status") === "number";
11
+ }
12
+ function toPortalCanonicalGuardPath(path) {
13
+ const segments = path.split("/");
14
+ const findPatternStart = (size, matcher) => {
15
+ for (let startIndex = segments.length - size; startIndex >= 0; startIndex -= 1) {
16
+ if (matcher(startIndex)) {
17
+ return startIndex;
18
+ }
19
+ }
20
+ return -1;
21
+ };
22
+ const replaceAt = (startIndex, consumed) => [
23
+ ...segments.slice(0, startIndex),
24
+ "api",
25
+ "guard",
26
+ ...segments.slice(startIndex + consumed)
27
+ ].join("/");
28
+ const registryStart = findPatternStart(
29
+ 4,
30
+ (startIndex) => segments[startIndex] === "registry" && segments[startIndex + 1] === "api" && /^v\d+$/.test(segments[startIndex + 2] ?? "") && segments[startIndex + 3] === "guard"
31
+ );
32
+ if (registryStart >= 0) {
33
+ return replaceAt(registryStart, 4);
34
+ }
35
+ const apiVersionStart = findPatternStart(
36
+ 3,
37
+ (startIndex) => segments[startIndex] === "api" && /^v\d+$/.test(segments[startIndex + 1] ?? "") && segments[startIndex + 2] === "guard"
38
+ );
39
+ if (apiVersionStart >= 0) {
40
+ return replaceAt(apiVersionStart, 3);
41
+ }
42
+ for (let index = segments.length - 1; index >= 0; index -= 1) {
43
+ if (segments[index] === "guard" && segments[index - 1] !== "api") {
44
+ return [
45
+ ...segments.slice(0, index),
46
+ "api",
47
+ "guard",
48
+ ...segments.slice(index + 1)
49
+ ].join("/");
50
+ }
51
+ }
52
+ return path;
53
+ }
54
+ function buildPortalCanonicalGuardUrl(baseUrl, path) {
55
+ const target = new URL(path, "https://guard.local");
56
+ const normalizedBasePath = (() => {
57
+ try {
58
+ const base = new URL(baseUrl);
59
+ return base.pathname.replace(/\/+$/, "");
60
+ } catch {
61
+ return baseUrl.replace(/\/+$/, "");
62
+ }
63
+ })();
64
+ const requestedPath = `${normalizedBasePath}${target.pathname}`;
65
+ const canonicalPath = toPortalCanonicalGuardPath(requestedPath);
66
+ const canonicalRelativePath = `${canonicalPath}${target.search}`;
67
+ try {
68
+ const base = new URL(baseUrl);
69
+ return `${base.origin}${canonicalRelativePath}`;
70
+ } catch {
71
+ return canonicalRelativePath;
72
+ }
73
+ }
74
+ async function requestPortalFirstJson(client, path, init) {
6
75
  try {
7
- const viem = await import("viem/accounts");
8
- return viem.privateKeyToAccount(privateKey);
76
+ return await client.requestJson(path, init);
9
77
  } 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;
15
- }
16
- }
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;
24
- }
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
- );
29
- }
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.");
35
- }
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
- }
44
- }
45
- return {
46
- signature: Buffer.from(signatureEntry.signature).toString("base64"),
47
- signatureKind: "raw",
48
- publicKey: derivedPublicKey
49
- };
78
+ if (isStatusError(error) && (error.status === 404 || error.status === 501)) {
79
+ return client.requestAbsoluteJson(
80
+ buildPortalCanonicalGuardUrl(client.baseUrl, path),
81
+ init
82
+ );
83
+ }
84
+ throw error;
85
+ }
50
86
  }
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", {
55
- method: "POST",
56
- headers: { "content-type": "application/json" },
57
- body: {
58
- accountId: payload.accountId,
59
- network
87
+ async function getGuardSession(client) {
88
+ const raw = await requestPortalFirstJson(
89
+ client,
90
+ "/guard/auth/session",
91
+ {
92
+ method: "GET"
60
93
  }
61
- });
94
+ );
62
95
  return client.parseWithSchema(
63
96
  raw,
64
- ledgerChallengeResponseSchema,
65
- "ledger challenge response"
97
+ guardSessionResponseSchema,
98
+ "guard session response"
66
99
  );
67
100
  }
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;
101
+ async function getGuardEntitlements(client) {
102
+ const raw = await requestPortalFirstJson(
103
+ client,
104
+ "/guard/entitlements",
105
+ {
106
+ method: "GET"
107
+ }
108
+ );
109
+ return client.parseWithSchema(
110
+ raw,
111
+ guardSessionResponseSchema,
112
+ "guard entitlements response"
113
+ );
114
+ }
115
+ async function getGuardBillingBalance(client) {
116
+ const raw = await requestPortalFirstJson(
117
+ client,
118
+ "/guard/billing/balance",
119
+ {
120
+ method: "GET"
121
+ }
122
+ );
123
+ return client.parseWithSchema(
124
+ raw,
125
+ guardBalanceResponseSchema,
126
+ "guard billing balance response"
127
+ );
128
+ }
129
+ async function getGuardFeed(client, limit) {
130
+ const params = new URLSearchParams();
131
+ if (typeof limit === "number" && Number.isFinite(limit) && Math.trunc(limit) > 0) {
132
+ params.set("limit", String(Math.trunc(limit)));
79
133
  }
80
- if (payload.publicKey) {
81
- body.publicKey = payload.publicKey;
134
+ const query = params.toString();
135
+ const suffix = query ? `?${query}` : "";
136
+ const raw = await requestPortalFirstJson(
137
+ client,
138
+ `/guard/feed${suffix}`,
139
+ {
140
+ method: "GET"
141
+ }
142
+ );
143
+ return client.parseWithSchema(
144
+ raw,
145
+ guardFeedResponseSchema,
146
+ "guard feed response"
147
+ );
148
+ }
149
+ async function getGuardOverview(client) {
150
+ const raw = await requestPortalFirstJson(
151
+ client,
152
+ "/guard/overview",
153
+ {
154
+ method: "GET"
155
+ }
156
+ );
157
+ return client.parseWithSchema(
158
+ raw,
159
+ guardOverviewResponseSchema,
160
+ "guard overview response"
161
+ );
162
+ }
163
+ async function getGuardTrustByHash(client, sha256) {
164
+ const normalizedHash = sha256.trim();
165
+ if (!normalizedHash) {
166
+ throw new Error("sha256 is required");
167
+ }
168
+ const raw = await requestPortalFirstJson(
169
+ client,
170
+ `/guard/trust/by-hash/${encodeURIComponent(normalizedHash)}`,
171
+ { method: "GET" }
172
+ );
173
+ return client.parseWithSchema(
174
+ raw,
175
+ guardTrustByHashResponseSchema,
176
+ "guard trust by hash response"
177
+ );
178
+ }
179
+ async function resolveGuardTrust(client, query) {
180
+ const params = new URLSearchParams();
181
+ if (query.ecosystem?.trim()) {
182
+ params.set("ecosystem", query.ecosystem.trim());
82
183
  }
83
- if (typeof payload.expiresInMinutes === "number") {
84
- body.expiresInMinutes = payload.expiresInMinutes;
184
+ if (query.name?.trim()) {
185
+ params.set("name", query.name.trim());
85
186
  }
86
- const raw = await client.requestJson("/auth/ledger/verify", {
87
- method: "POST",
88
- headers: { "content-type": "application/json" },
89
- body
90
- });
91
- const result = client.parseWithSchema(
187
+ if (query.version?.trim()) {
188
+ params.set("version", query.version.trim());
189
+ }
190
+ const suffix = params.size > 0 ? `?${params.toString()}` : "";
191
+ const raw = await requestPortalFirstJson(
192
+ client,
193
+ `/guard/trust/resolve${suffix}`,
194
+ { method: "GET" }
195
+ );
196
+ return client.parseWithSchema(
92
197
  raw,
93
- ledgerVerifyResponseSchema,
94
- "ledger verification response"
198
+ guardTrustResolveResponseSchema,
199
+ "guard trust resolve response"
95
200
  );
96
- client.setLedgerApiKey(result.key);
97
- return result;
98
201
  }
99
- async function authenticateWithLedger(client, options) {
100
- const challenge = await client.createLedgerChallenge({
101
- accountId: options.accountId,
102
- network: options.network
202
+ async function getGuardRevocations(client) {
203
+ const raw = await requestPortalFirstJson(
204
+ client,
205
+ "/guard/revocations",
206
+ {
207
+ method: "GET"
208
+ }
209
+ );
210
+ return client.parseWithSchema(
211
+ raw,
212
+ guardRevocationResponseSchema,
213
+ "guard revocations response"
214
+ );
215
+ }
216
+ async function fetchGuardAdvisories(client) {
217
+ const raw = await requestPortalFirstJson(
218
+ client,
219
+ "/guard/advisories",
220
+ {
221
+ method: "GET"
222
+ }
223
+ );
224
+ return client.parseWithSchema(
225
+ raw,
226
+ guardRevocationResponseSchema,
227
+ "guard advisories response"
228
+ );
229
+ }
230
+ async function fetchGuardPolicy(client) {
231
+ const raw = await requestPortalFirstJson(
232
+ client,
233
+ "/guard/policy/fetch",
234
+ {
235
+ method: "GET"
236
+ }
237
+ );
238
+ return client.parseWithSchema(
239
+ raw,
240
+ guardPolicySchema,
241
+ "guard policy response"
242
+ );
243
+ }
244
+ async function getGuardInventory(client) {
245
+ const raw = await requestPortalFirstJson(
246
+ client,
247
+ "/guard/inventory",
248
+ {
249
+ method: "GET"
250
+ }
251
+ );
252
+ return client.parseWithSchema(
253
+ raw,
254
+ guardInventoryResponseSchema,
255
+ "guard inventory response"
256
+ );
257
+ }
258
+ async function getGuardReceiptHistory(client) {
259
+ const raw = await requestPortalFirstJson(
260
+ client,
261
+ "/guard/history",
262
+ {
263
+ method: "GET"
264
+ }
265
+ );
266
+ return client.parseWithSchema(
267
+ raw,
268
+ guardReceiptHistoryResponseSchema,
269
+ "guard receipt history response"
270
+ );
271
+ }
272
+ async function getGuardArtifactTimeline(client, artifactId) {
273
+ const normalizedArtifactId = artifactId.trim();
274
+ if (!normalizedArtifactId) {
275
+ throw new Error("artifactId is required");
276
+ }
277
+ const raw = await requestPortalFirstJson(
278
+ client,
279
+ `/guard/history/${encodeURIComponent(normalizedArtifactId)}`,
280
+ { method: "GET" }
281
+ );
282
+ return client.parseWithSchema(
283
+ raw,
284
+ guardArtifactTimelineResponseSchema,
285
+ "guard artifact timeline response"
286
+ );
287
+ }
288
+ async function exportGuardAbom(client) {
289
+ const raw = await requestPortalFirstJson(client, "/guard/abom", {
290
+ method: "GET"
103
291
  });
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
292
+ return client.parseWithSchema(
293
+ raw,
294
+ guardAbomResponseSchema,
295
+ "guard abom response"
296
+ );
297
+ }
298
+ async function exportGuardArtifactAbom(client, artifactId) {
299
+ const normalizedArtifactId = artifactId.trim();
300
+ if (!normalizedArtifactId) {
301
+ throw new Error("artifactId is required");
302
+ }
303
+ const raw = await requestPortalFirstJson(
304
+ client,
305
+ `/guard/abom/${encodeURIComponent(normalizedArtifactId)}`,
306
+ { method: "GET" }
307
+ );
308
+ return client.parseWithSchema(
309
+ raw,
310
+ guardAbomResponseSchema,
311
+ "guard artifact abom response"
312
+ );
313
+ }
314
+ async function exportGuardReceipts(client) {
315
+ const raw = await requestPortalFirstJson(
316
+ client,
317
+ "/guard/receipts/export",
318
+ {
319
+ method: "GET"
320
+ }
321
+ );
322
+ return client.parseWithSchema(
323
+ raw,
324
+ guardReceiptExportResponseSchema,
325
+ "guard receipt export response"
326
+ );
327
+ }
328
+ async function getGuardInventoryDiff(client) {
329
+ const raw = await requestPortalFirstJson(
330
+ client,
331
+ "/guard/inventory/diff",
332
+ {
333
+ method: "GET"
334
+ }
335
+ );
336
+ return client.parseWithSchema(
337
+ raw,
338
+ guardInventoryDiffResponseSchema,
339
+ "guard inventory diff response"
340
+ );
341
+ }
342
+ async function getGuardDevices(client) {
343
+ const raw = await requestPortalFirstJson(
344
+ client,
345
+ "/guard/devices",
346
+ {
347
+ method: "GET"
348
+ }
349
+ );
350
+ return client.parseWithSchema(
351
+ raw,
352
+ guardDeviceListResponseSchema,
353
+ "guard devices response"
354
+ );
355
+ }
356
+ async function getGuardAlertPreferences(client) {
357
+ const raw = await requestPortalFirstJson(
358
+ client,
359
+ "/guard/alerts/preferences",
360
+ {
361
+ method: "GET"
362
+ }
363
+ );
364
+ return client.parseWithSchema(
365
+ raw,
366
+ guardAlertPreferencesSchema,
367
+ "guard alert preferences response"
368
+ );
369
+ }
370
+ async function updateGuardAlertPreferences(client, payload) {
371
+ const raw = await requestPortalFirstJson(
372
+ client,
373
+ "/guard/alerts/preferences",
374
+ {
375
+ method: "PUT",
376
+ body: payload
377
+ }
378
+ );
379
+ return client.parseWithSchema(
380
+ raw,
381
+ guardAlertPreferencesSchema,
382
+ "guard alert preferences response"
383
+ );
384
+ }
385
+ async function getGuardExceptions(client) {
386
+ const raw = await requestPortalFirstJson(
387
+ client,
388
+ "/guard/exceptions",
389
+ {
390
+ method: "GET"
391
+ }
392
+ );
393
+ return client.parseWithSchema(
394
+ raw,
395
+ guardExceptionListResponseSchema,
396
+ "guard exceptions response"
397
+ );
398
+ }
399
+ async function getGuardWatchlist(client) {
400
+ const raw = await requestPortalFirstJson(
401
+ client,
402
+ "/guard/watchlist",
403
+ {
404
+ method: "GET"
405
+ }
406
+ );
407
+ return client.parseWithSchema(
408
+ raw,
409
+ guardWatchlistResponseSchema,
410
+ "guard watchlist response"
411
+ );
412
+ }
413
+ async function lookupGuardWatchlist(client, payload) {
414
+ const raw = await requestPortalFirstJson(
415
+ client,
416
+ "/guard/watchlist/lookup",
417
+ {
418
+ method: "POST",
419
+ body: payload
420
+ }
421
+ );
422
+ return client.parseWithSchema(
423
+ raw,
424
+ guardWatchlistLookupResponseSchema,
425
+ "guard watchlist lookup response"
426
+ );
427
+ }
428
+ async function getGuardPainSignals(client) {
429
+ const raw = await requestPortalFirstJson(
430
+ client,
431
+ "/guard/signals/pain",
432
+ {
433
+ method: "GET"
434
+ }
435
+ );
436
+ return client.parseWithSchema(
437
+ raw,
438
+ guardPainSignalListResponseSchema,
439
+ "guard pain signals response"
440
+ );
441
+ }
442
+ async function getGuardAggregatedPainSignals(client) {
443
+ const raw = await requestPortalFirstJson(
444
+ client,
445
+ "/guard/signals/pain/aggregate",
446
+ {
447
+ method: "GET"
448
+ }
449
+ );
450
+ return client.parseWithSchema(
451
+ raw,
452
+ guardPainSignalAggregateResponseSchema,
453
+ "guard aggregated pain signals response"
454
+ );
455
+ }
456
+ async function getGuardPreflightVerdict(client, path, payload) {
457
+ const raw = await requestPortalFirstJson(client, path, {
458
+ method: "POST",
459
+ body: payload
113
460
  });
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
- );
461
+ return client.parseWithSchema(
462
+ raw,
463
+ guardPreflightVerdictResponseSchema,
464
+ "guard preflight verdict response"
465
+ );
466
+ }
467
+ async function getGuardPreInstallVerdict(client, payload) {
468
+ return getGuardPreflightVerdict(
469
+ client,
470
+ "/guard/verdict/pre-install",
471
+ payload
472
+ );
473
+ }
474
+ async function getGuardPreExecutionVerdict(client, payload) {
475
+ return getGuardPreflightVerdict(
476
+ client,
477
+ "/guard/verdict/pre-execution",
478
+ payload
479
+ );
480
+ }
481
+ async function ingestGuardPainSignals(client, items) {
482
+ const raw = await requestPortalFirstJson(
483
+ client,
484
+ "/guard/signals/pain",
485
+ {
486
+ method: "POST",
487
+ body: { items }
146
488
  }
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
- );
489
+ );
490
+ return client.parseWithSchema(
491
+ raw,
492
+ guardPainSignalListResponseSchema,
493
+ "guard pain signals response"
494
+ );
495
+ }
496
+ async function submitGuardReceipts(client, payload) {
497
+ const raw = await requestPortalFirstJson(
498
+ client,
499
+ "/guard/receipts/submit",
500
+ {
501
+ method: "POST",
502
+ body: payload
157
503
  }
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
- );
504
+ );
505
+ return client.parseWithSchema(
506
+ raw,
507
+ guardReceiptSyncResponseSchema,
508
+ "guard receipt submit response"
509
+ );
510
+ }
511
+ async function addGuardWatchlistItem(client, payload) {
512
+ const raw = await requestPortalFirstJson(
513
+ client,
514
+ "/guard/watchlist",
515
+ {
516
+ method: "POST",
517
+ body: payload
518
+ }
519
+ );
520
+ return client.parseWithSchema(
521
+ raw,
522
+ guardWatchlistResponseSchema,
523
+ "guard watchlist response"
524
+ );
525
+ }
526
+ async function removeGuardWatchlistItem(client, artifactId) {
527
+ const normalizedArtifactId = artifactId.trim();
528
+ if (!normalizedArtifactId) {
529
+ throw new Error("artifactId is required");
169
530
  }
170
- logger?.info?.(
171
- `Authenticating ledger account ${accountId} (${resolvedNetwork.canonical})${labelSuffix}...`
531
+ const raw = await requestPortalFirstJson(
532
+ client,
533
+ `/guard/watchlist/${encodeURIComponent(normalizedArtifactId)}`,
534
+ { method: "DELETE" }
535
+ );
536
+ return client.parseWithSchema(
537
+ raw,
538
+ guardWatchlistResponseSchema,
539
+ "guard watchlist response"
172
540
  );
173
- const verification = await client.authenticateWithLedger(authOptions);
174
- if (setAccountHeader) {
175
- client.setDefaultHeader("x-account-id", verification.accountId);
541
+ }
542
+ async function addGuardException(client, payload) {
543
+ const raw = await requestPortalFirstJson(
544
+ client,
545
+ "/guard/exceptions",
546
+ {
547
+ method: "POST",
548
+ body: payload
549
+ }
550
+ );
551
+ return client.parseWithSchema(
552
+ raw,
553
+ guardExceptionListResponseSchema,
554
+ "guard exceptions response"
555
+ );
556
+ }
557
+ async function requestGuardException(client, payload) {
558
+ const raw = await requestPortalFirstJson(
559
+ client,
560
+ "/guard/exceptions/request",
561
+ {
562
+ method: "POST",
563
+ body: payload
564
+ }
565
+ );
566
+ return client.parseWithSchema(
567
+ raw,
568
+ guardExceptionListResponseSchema,
569
+ "guard exception request response"
570
+ );
571
+ }
572
+ async function syncGuardInventory(client, payload) {
573
+ const raw = await requestPortalFirstJson(
574
+ client,
575
+ "/guard/inventory/sync",
576
+ {
577
+ method: "POST",
578
+ body: payload
579
+ }
580
+ );
581
+ return client.parseWithSchema(
582
+ raw,
583
+ guardReceiptSyncResponseSchema,
584
+ "guard inventory sync response"
585
+ );
586
+ }
587
+ async function removeGuardException(client, exceptionId) {
588
+ const normalizedExceptionId = exceptionId.trim();
589
+ if (!normalizedExceptionId) {
590
+ throw new Error("exceptionId is required");
176
591
  }
177
- logger?.info?.(
178
- `Ledger authentication complete${labelSuffix}. Issued key prefix: ${verification.apiKey.prefix}…${verification.apiKey.lastFour}`
592
+ const raw = await requestPortalFirstJson(
593
+ client,
594
+ `/guard/exceptions/${encodeURIComponent(normalizedExceptionId)}`,
595
+ { method: "DELETE" }
596
+ );
597
+ return client.parseWithSchema(
598
+ raw,
599
+ guardExceptionListResponseSchema,
600
+ "guard exceptions response"
601
+ );
602
+ }
603
+ async function getGuardTeamPolicyPack(client) {
604
+ const raw = await requestPortalFirstJson(
605
+ client,
606
+ "/guard/team/policy-pack",
607
+ {
608
+ method: "GET"
609
+ }
610
+ );
611
+ return client.parseWithSchema(
612
+ raw,
613
+ guardTeamPolicyPackSchema,
614
+ "guard team policy pack response"
615
+ );
616
+ }
617
+ async function updateGuardTeamPolicyPack(client, payload) {
618
+ const raw = await requestPortalFirstJson(
619
+ client,
620
+ "/guard/team/policy-pack",
621
+ {
622
+ method: "PUT",
623
+ body: payload
624
+ }
625
+ );
626
+ return client.parseWithSchema(
627
+ raw,
628
+ guardTeamPolicyPackSchema,
629
+ "guard team policy pack response"
630
+ );
631
+ }
632
+ async function syncGuardReceipts(client, payload) {
633
+ const raw = await requestPortalFirstJson(
634
+ client,
635
+ "/guard/receipts/sync",
636
+ {
637
+ method: "POST",
638
+ body: payload
639
+ }
640
+ );
641
+ return client.parseWithSchema(
642
+ raw,
643
+ guardReceiptSyncResponseSchema,
644
+ "guard receipt sync response"
179
645
  );
180
- return verification;
181
646
  }
182
647
  export {
183
- authenticateWithLedger,
184
- authenticateWithLedgerCredentials,
185
- createLedgerChallenge,
186
- verifyLedgerChallenge
648
+ addGuardException,
649
+ addGuardWatchlistItem,
650
+ exportGuardAbom,
651
+ exportGuardArtifactAbom,
652
+ exportGuardReceipts,
653
+ fetchGuardAdvisories,
654
+ fetchGuardPolicy,
655
+ getGuardAggregatedPainSignals,
656
+ getGuardAlertPreferences,
657
+ getGuardArtifactTimeline,
658
+ getGuardBillingBalance,
659
+ getGuardDevices,
660
+ getGuardEntitlements,
661
+ getGuardExceptions,
662
+ getGuardFeed,
663
+ getGuardInventory,
664
+ getGuardInventoryDiff,
665
+ getGuardOverview,
666
+ getGuardPainSignals,
667
+ getGuardPreExecutionVerdict,
668
+ getGuardPreInstallVerdict,
669
+ getGuardReceiptHistory,
670
+ getGuardRevocations,
671
+ getGuardSession,
672
+ getGuardTeamPolicyPack,
673
+ getGuardTrustByHash,
674
+ getGuardWatchlist,
675
+ ingestGuardPainSignals,
676
+ lookupGuardWatchlist,
677
+ removeGuardException,
678
+ removeGuardWatchlistItem,
679
+ requestGuardException,
680
+ resolveGuardTrust,
681
+ submitGuardReceipts,
682
+ syncGuardInventory,
683
+ syncGuardReceipts,
684
+ updateGuardAlertPreferences,
685
+ updateGuardTeamPolicyPack
187
686
  };
188
687
  //# sourceMappingURL=standards-sdk.es183.js.map