@hashgraphonline/standards-sdk 0.1.180 → 0.1.182

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 (177) hide show
  1. package/dist/browser/services/registry-broker/client/base-client.d.ts +8 -2
  2. package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
  3. package/dist/browser/services/registry-broker/client/chat.d.ts +9 -3
  4. package/dist/browser/services/registry-broker/client/chat.d.ts.map +1 -1
  5. package/dist/browser/services/registry-broker/client/guard.d.ts.map +1 -1
  6. package/dist/browser/services/registry-broker/schemas.d.ts +471 -108
  7. package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
  8. package/dist/browser/services/registry-broker/types.d.ts +25 -1
  9. package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
  10. package/dist/browser/standards-sdk.browser.js +141 -3
  11. package/dist/browser/standards-sdk.browser.js.map +1 -1
  12. package/dist/browser-root/services/registry-broker/client/base-client.d.ts +8 -2
  13. package/dist/browser-root/services/registry-broker/client/base-client.d.ts.map +1 -1
  14. package/dist/browser-root/services/registry-broker/client/chat.d.ts +9 -3
  15. package/dist/browser-root/services/registry-broker/client/chat.d.ts.map +1 -1
  16. package/dist/browser-root/services/registry-broker/client/guard.d.ts.map +1 -1
  17. package/dist/browser-root/services/registry-broker/schemas.d.ts +471 -108
  18. package/dist/browser-root/services/registry-broker/schemas.d.ts.map +1 -1
  19. package/dist/browser-root/services/registry-broker/types.d.ts +25 -1
  20. package/dist/browser-root/services/registry-broker/types.d.ts.map +1 -1
  21. package/dist/browser-root/standards-sdk.root-browser.js +653 -110
  22. package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
  23. package/dist/cjs/services/registry-broker/client/base-client.d.ts +8 -2
  24. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  25. package/dist/cjs/services/registry-broker/client/chat.d.ts +9 -3
  26. package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -1
  27. package/dist/cjs/services/registry-broker/client/guard.d.ts.map +1 -1
  28. package/dist/cjs/services/registry-broker/schemas.d.ts +587 -224
  29. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  30. package/dist/cjs/services/registry-broker/types.d.ts +25 -1
  31. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  32. package/dist/cjs/standards-sdk.cjs +1 -1
  33. package/dist/cjs/standards-sdk.cjs.map +1 -1
  34. package/dist/es/services/registry-broker/client/base-client.d.ts +8 -2
  35. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  36. package/dist/es/services/registry-broker/client/chat.d.ts +9 -3
  37. package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -1
  38. package/dist/es/services/registry-broker/client/guard.d.ts.map +1 -1
  39. package/dist/es/services/registry-broker/schemas.d.ts +587 -224
  40. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  41. package/dist/es/services/registry-broker/types.d.ts +25 -1
  42. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  43. package/dist/es/standards-sdk.es.js +10 -7
  44. package/dist/es/standards-sdk.es.js.map +1 -1
  45. package/dist/es/standards-sdk.es104.js +1 -1
  46. package/dist/es/standards-sdk.es106.js +1 -1
  47. package/dist/es/standards-sdk.es108.js +1 -1
  48. package/dist/es/standards-sdk.es11.js +1 -1
  49. package/dist/es/standards-sdk.es110.js +1 -1
  50. package/dist/es/standards-sdk.es116.js +2 -2
  51. package/dist/es/standards-sdk.es12.js +1 -1
  52. package/dist/es/standards-sdk.es121.js +1 -1
  53. package/dist/es/standards-sdk.es127.js +2 -2
  54. package/dist/es/standards-sdk.es128.js +5 -5
  55. package/dist/es/standards-sdk.es138.js +1 -1
  56. package/dist/es/standards-sdk.es139.js +1 -1
  57. package/dist/es/standards-sdk.es140.js +5 -5
  58. package/dist/es/standards-sdk.es142.js +3 -3
  59. package/dist/es/standards-sdk.es143.js +1 -1
  60. package/dist/es/standards-sdk.es145.js +53 -15
  61. package/dist/es/standards-sdk.es145.js.map +1 -1
  62. package/dist/es/standards-sdk.es147.js +3 -3
  63. package/dist/es/standards-sdk.es148.js +4 -81
  64. package/dist/es/standards-sdk.es148.js.map +1 -1
  65. package/dist/es/standards-sdk.es149.js +71 -77
  66. package/dist/es/standards-sdk.es149.js.map +1 -1
  67. package/dist/es/standards-sdk.es150.js +80 -53
  68. package/dist/es/standards-sdk.es150.js.map +1 -1
  69. package/dist/es/standards-sdk.es151.js +53 -152
  70. package/dist/es/standards-sdk.es151.js.map +1 -1
  71. package/dist/es/standards-sdk.es152.js +159 -7
  72. package/dist/es/standards-sdk.es152.js.map +1 -1
  73. package/dist/es/standards-sdk.es153.js +7 -86
  74. package/dist/es/standards-sdk.es153.js.map +1 -1
  75. package/dist/es/standards-sdk.es154.js +64 -43
  76. package/dist/es/standards-sdk.es154.js.map +1 -1
  77. package/dist/es/standards-sdk.es155.js +65 -30
  78. package/dist/es/standards-sdk.es155.js.map +1 -1
  79. package/dist/es/standards-sdk.es156.js +30 -34
  80. package/dist/es/standards-sdk.es156.js.map +1 -1
  81. package/dist/es/standards-sdk.es157.js +34 -48
  82. package/dist/es/standards-sdk.es157.js.map +1 -1
  83. package/dist/es/standards-sdk.es158.js +48 -138
  84. package/dist/es/standards-sdk.es158.js.map +1 -1
  85. package/dist/es/standards-sdk.es159.js +133 -37
  86. package/dist/es/standards-sdk.es159.js.map +1 -1
  87. package/dist/es/standards-sdk.es16.js +2 -2
  88. package/dist/es/standards-sdk.es160.js +42 -2352
  89. package/dist/es/standards-sdk.es160.js.map +1 -1
  90. package/dist/es/standards-sdk.es161.js +2488 -12476
  91. package/dist/es/standards-sdk.es161.js.map +1 -1
  92. package/dist/es/standards-sdk.es162.js +12425 -615
  93. package/dist/es/standards-sdk.es162.js.map +1 -1
  94. package/dist/es/standards-sdk.es163.js +15 -54
  95. package/dist/es/standards-sdk.es163.js.map +1 -1
  96. package/dist/es/standards-sdk.es164.js +47 -102
  97. package/dist/es/standards-sdk.es164.js.map +1 -1
  98. package/dist/es/standards-sdk.es165.js +94 -64
  99. package/dist/es/standards-sdk.es165.js.map +1 -1
  100. package/dist/es/standards-sdk.es166.js +61 -180
  101. package/dist/es/standards-sdk.es166.js.map +1 -1
  102. package/dist/es/standards-sdk.es167.js +197 -14
  103. package/dist/es/standards-sdk.es167.js.map +1 -1
  104. package/dist/es/standards-sdk.es168.js +165 -66
  105. package/dist/es/standards-sdk.es168.js.map +1 -1
  106. package/dist/es/standards-sdk.es169.js +289 -139
  107. package/dist/es/standards-sdk.es169.js.map +1 -1
  108. package/dist/es/standards-sdk.es170.js +298 -274
  109. package/dist/es/standards-sdk.es170.js.map +1 -1
  110. package/dist/es/standards-sdk.es171.js +369 -262
  111. package/dist/es/standards-sdk.es171.js.map +1 -1
  112. package/dist/es/standards-sdk.es172.js +194 -316
  113. package/dist/es/standards-sdk.es172.js.map +1 -1
  114. package/dist/es/standards-sdk.es173.js +64 -319
  115. package/dist/es/standards-sdk.es173.js.map +1 -1
  116. package/dist/es/standards-sdk.es174.js +664 -68
  117. package/dist/es/standards-sdk.es174.js.map +1 -1
  118. package/dist/es/standards-sdk.es175.js +60 -126
  119. package/dist/es/standards-sdk.es175.js.map +1 -1
  120. package/dist/es/standards-sdk.es176.js +111 -303
  121. package/dist/es/standards-sdk.es176.js.map +1 -1
  122. package/dist/es/standards-sdk.es177.js +457 -222
  123. package/dist/es/standards-sdk.es177.js.map +1 -1
  124. package/dist/es/standards-sdk.es178.js +239 -176
  125. package/dist/es/standards-sdk.es178.js.map +1 -1
  126. package/dist/es/standards-sdk.es179.js +178 -101
  127. package/dist/es/standards-sdk.es179.js.map +1 -1
  128. package/dist/es/standards-sdk.es18.js +5 -5
  129. package/dist/es/standards-sdk.es180.js +75 -108
  130. package/dist/es/standards-sdk.es180.js.map +1 -1
  131. package/dist/es/standards-sdk.es181.js +116 -148
  132. package/dist/es/standards-sdk.es181.js.map +1 -1
  133. package/dist/es/standards-sdk.es182.js +143 -439
  134. package/dist/es/standards-sdk.es182.js.map +1 -1
  135. package/dist/es/standards-sdk.es183.js +661 -162
  136. package/dist/es/standards-sdk.es183.js.map +1 -1
  137. package/dist/es/standards-sdk.es184.js +156 -206
  138. package/dist/es/standards-sdk.es184.js.map +1 -1
  139. package/dist/es/standards-sdk.es185.js +219 -223
  140. package/dist/es/standards-sdk.es185.js.map +1 -1
  141. package/dist/es/standards-sdk.es186.js +242 -0
  142. package/dist/es/standards-sdk.es186.js.map +1 -0
  143. package/dist/es/standards-sdk.es19.js +3 -3
  144. package/dist/es/standards-sdk.es22.js +1 -1
  145. package/dist/es/standards-sdk.es27.js +5 -5
  146. package/dist/es/standards-sdk.es30.js +1 -1
  147. package/dist/es/standards-sdk.es31.js +1 -1
  148. package/dist/es/standards-sdk.es35.js +2 -2
  149. package/dist/es/standards-sdk.es36.js +3 -3
  150. package/dist/es/standards-sdk.es37.js +1 -1
  151. package/dist/es/standards-sdk.es4.js +1 -1
  152. package/dist/es/standards-sdk.es53.js +1 -1
  153. package/dist/es/standards-sdk.es56.js +1 -1
  154. package/dist/es/standards-sdk.es59.js +1 -1
  155. package/dist/es/standards-sdk.es60.js +1 -1
  156. package/dist/es/standards-sdk.es62.js +1 -1
  157. package/dist/es/standards-sdk.es63.js +2 -2
  158. package/dist/es/standards-sdk.es64.js +1 -1
  159. package/dist/es/standards-sdk.es65.js +1 -1
  160. package/dist/es/standards-sdk.es66.js +1 -1
  161. package/dist/es/standards-sdk.es67.js +3 -3
  162. package/dist/es/standards-sdk.es69.js +1 -1
  163. package/dist/es/standards-sdk.es7.js +1 -1
  164. package/dist/es/standards-sdk.es71.js +1 -1
  165. package/dist/es/standards-sdk.es72.js +2 -2
  166. package/dist/es/standards-sdk.es75.js +3 -3
  167. package/dist/es/standards-sdk.es76.js +1 -1
  168. package/dist/es/standards-sdk.es78.js +1 -1
  169. package/dist/es/standards-sdk.es83.js +1 -1
  170. package/dist/es/standards-sdk.es84.js +2 -2
  171. package/dist/es/standards-sdk.es85.js +1 -1
  172. package/dist/es/standards-sdk.es88.js +1 -1
  173. package/dist/es/standards-sdk.es90.js +1 -1
  174. package/dist/es/standards-sdk.es94.js +3 -3
  175. package/dist/es/standards-sdk.es98.js +1 -1
  176. package/dist/es/standards-sdk.es99.js +1 -1
  177. 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.es161.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