@censys/platform-sdk 0.10.1 → 0.10.2

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 (261) hide show
  1. package/README.md +6 -0
  2. package/docs/sdks/threathunting/README.md +250 -1
  3. package/funcs/accountManagementGetMemberCreditUsage.js.map +1 -1
  4. package/funcs/accountManagementGetOrganizationCreditUsage.js.map +1 -1
  5. package/funcs/accountManagementGetOrganizationCredits.js.map +1 -1
  6. package/funcs/accountManagementGetOrganizationDetails.js.map +1 -1
  7. package/funcs/accountManagementInviteUserToOrganization.js.map +1 -1
  8. package/funcs/accountManagementListOrganizationMembers.js.map +1 -1
  9. package/funcs/accountManagementRemoveOrganizationMember.js.map +1 -1
  10. package/funcs/accountManagementUpdateOrganizationMember.js.map +1 -1
  11. package/funcs/collectionsAggregate.js.map +1 -1
  12. package/funcs/collectionsDelete.js.map +1 -1
  13. package/funcs/collectionsGet.js.map +1 -1
  14. package/funcs/collectionsListEvents.js.map +1 -1
  15. package/funcs/collectionsSearch.js.map +1 -1
  16. package/funcs/collectionsUpdate.js.map +1 -1
  17. package/funcs/globalDataGetCertificate.js.map +1 -1
  18. package/funcs/globalDataGetCertificateRaw.js.map +1 -1
  19. package/funcs/globalDataGetHost.js.map +1 -1
  20. package/funcs/globalDataGetHostTimeline.js.map +1 -1
  21. package/funcs/globalDataGetTrackedScan.js.map +1 -1
  22. package/funcs/globalDataGetWebProperty.js.map +1 -1
  23. package/funcs/globalDataListServicesOnHost.js.map +1 -1
  24. package/funcs/threatHuntingCreateCenseyeJob.d.ts +18 -0
  25. package/funcs/threatHuntingCreateCenseyeJob.d.ts.map +1 -0
  26. package/funcs/threatHuntingCreateCenseyeJob.js +131 -0
  27. package/funcs/threatHuntingCreateCenseyeJob.js.map +1 -0
  28. package/funcs/threatHuntingGetCenseyeJob.d.ts +18 -0
  29. package/funcs/threatHuntingGetCenseyeJob.d.ts.map +1 -0
  30. package/funcs/threatHuntingGetCenseyeJob.js +134 -0
  31. package/funcs/threatHuntingGetCenseyeJob.js.map +1 -0
  32. package/funcs/threatHuntingGetCenseyeJobResults.d.ts +18 -0
  33. package/funcs/threatHuntingGetCenseyeJobResults.d.ts.map +1 -0
  34. package/funcs/threatHuntingGetCenseyeJobResults.js +136 -0
  35. package/funcs/threatHuntingGetCenseyeJobResults.js.map +1 -0
  36. package/funcs/threatHuntingGetHostObservationsWithCertificate.js.map +1 -1
  37. package/funcs/threatHuntingGetTrackedScanThreatHunting.js.map +1 -1
  38. package/funcs/threatHuntingValueCounts.d.ts +1 -1
  39. package/funcs/threatHuntingValueCounts.js +1 -1
  40. package/jsr.json +1 -1
  41. package/lib/config.d.ts +4 -4
  42. package/lib/config.js +4 -4
  43. package/lib/encodings.d.ts.map +1 -1
  44. package/lib/encodings.js +20 -5
  45. package/lib/encodings.js.map +1 -1
  46. package/lib/files.d.ts +13 -0
  47. package/lib/files.d.ts.map +1 -1
  48. package/lib/files.js +19 -0
  49. package/lib/files.js.map +1 -1
  50. package/lib/matchers.d.ts.map +1 -1
  51. package/lib/matchers.js +0 -1
  52. package/lib/matchers.js.map +1 -1
  53. package/lib/sdks.d.ts.map +1 -1
  54. package/lib/sdks.js +8 -4
  55. package/lib/sdks.js.map +1 -1
  56. package/lib/security.d.ts.map +1 -1
  57. package/lib/security.js +1 -2
  58. package/lib/security.js.map +1 -1
  59. package/lib/url.d.ts.map +1 -1
  60. package/lib/url.js +4 -2
  61. package/lib/url.js.map +1 -1
  62. package/models/components/censeyejob.d.ts +59 -0
  63. package/models/components/censeyejob.d.ts.map +1 -0
  64. package/models/components/censeyejob.js +85 -0
  65. package/models/components/censeyejob.js.map +1 -0
  66. package/models/components/censeyeresult.d.ts +18 -0
  67. package/models/components/censeyeresult.d.ts.map +1 -0
  68. package/models/components/censeyeresult.js +57 -0
  69. package/models/components/censeyeresult.js.map +1 -0
  70. package/models/components/censeyeresultsresponse.d.ts +18 -0
  71. package/models/components/censeyeresultsresponse.d.ts.map +1 -0
  72. package/models/components/censeyeresultsresponse.js +57 -0
  73. package/models/components/censeyeresultsresponse.js.map +1 -0
  74. package/models/components/censeyetarget.d.ts +30 -0
  75. package/models/components/censeyetarget.d.ts.map +1 -0
  76. package/models/components/censeyetarget.js +75 -0
  77. package/models/components/censeyetarget.js.map +1 -0
  78. package/models/components/countcondition.d.ts +1 -1
  79. package/models/components/createcenseyejobinputbody.d.ts +13 -0
  80. package/models/components/createcenseyejobinputbody.d.ts.map +1 -0
  81. package/models/components/createcenseyejobinputbody.js +50 -0
  82. package/models/components/createcenseyejobinputbody.js.map +1 -0
  83. package/models/components/fieldvaluepair.d.ts +5 -0
  84. package/models/components/fieldvaluepair.d.ts.map +1 -1
  85. package/models/components/fieldvaluepair.js +11 -1
  86. package/models/components/fieldvaluepair.js.map +1 -1
  87. package/models/components/host.d.ts +12 -0
  88. package/models/components/host.d.ts.map +1 -1
  89. package/models/components/host.js +7 -0
  90. package/models/components/host.js.map +1 -1
  91. package/models/components/index.d.ts +21 -0
  92. package/models/components/index.d.ts.map +1 -1
  93. package/models/components/index.js +21 -0
  94. package/models/components/index.js.map +1 -1
  95. package/models/components/networkclassification.d.ts +27 -0
  96. package/models/components/networkclassification.d.ts.map +1 -0
  97. package/models/components/networkclassification.js +60 -0
  98. package/models/components/networkclassification.js.map +1 -0
  99. package/models/components/networkmobileinfo.d.ts +21 -0
  100. package/models/components/networkmobileinfo.d.ts.map +1 -0
  101. package/models/components/networkmobileinfo.js +57 -0
  102. package/models/components/networkmobileinfo.js.map +1 -0
  103. package/models/components/privacy.d.ts +39 -0
  104. package/models/components/privacy.d.ts.map +1 -0
  105. package/models/components/privacy.js +64 -0
  106. package/models/components/privacy.js.map +1 -0
  107. package/models/components/privacytorinfo.d.ts +11 -0
  108. package/models/components/privacytorinfo.d.ts.map +1 -0
  109. package/models/components/privacytorinfo.js +51 -0
  110. package/models/components/privacytorinfo.js.map +1 -0
  111. package/models/components/privacytorinforelay.d.ts +140 -0
  112. package/models/components/privacytorinforelay.d.ts.map +1 -0
  113. package/models/components/privacytorinforelay.js +114 -0
  114. package/models/components/privacytorinforelay.js.map +1 -0
  115. package/models/components/privacytorinforelayexitpolicysummary.d.ts +17 -0
  116. package/models/components/privacytorinforelayexitpolicysummary.d.ts.map +1 -0
  117. package/models/components/privacytorinforelayexitpolicysummary.js +51 -0
  118. package/models/components/privacytorinforelayexitpolicysummary.js.map +1 -0
  119. package/models/components/reputation.d.ts +26 -0
  120. package/models/components/reputation.d.ts.map +1 -0
  121. package/models/components/reputation.js +71 -0
  122. package/models/components/reputation.js.map +1 -0
  123. package/models/components/reputationevidence.d.ts +17 -0
  124. package/models/components/reputationevidence.d.ts.map +1 -0
  125. package/models/components/reputationevidence.js +65 -0
  126. package/models/components/reputationevidence.js.map +1 -0
  127. package/models/components/reputationevidenceexternalsignal.d.ts +23 -0
  128. package/models/components/reputationevidenceexternalsignal.d.ts.map +1 -0
  129. package/models/components/reputationevidenceexternalsignal.js +62 -0
  130. package/models/components/reputationevidenceexternalsignal.js.map +1 -0
  131. package/models/components/reputationevidencefieldvalue.d.ts +11 -0
  132. package/models/components/reputationevidencefieldvalue.d.ts.map +1 -0
  133. package/models/components/reputationevidencefieldvalue.js +51 -0
  134. package/models/components/reputationevidencefieldvalue.js.map +1 -0
  135. package/models/components/reputationevidencethreat.d.ts +12 -0
  136. package/models/components/reputationevidencethreat.d.ts.map +1 -0
  137. package/models/components/reputationevidencethreat.js +59 -0
  138. package/models/components/reputationevidencethreat.js.map +1 -0
  139. package/models/components/responseenvelopecenseyejob.d.ts +11 -0
  140. package/models/components/responseenvelopecenseyejob.d.ts.map +1 -0
  141. package/models/components/responseenvelopecenseyejob.js +51 -0
  142. package/models/components/responseenvelopecenseyejob.js.map +1 -0
  143. package/models/components/responseenvelopecenseyeresultsresponse.d.ts +11 -0
  144. package/models/components/responseenvelopecenseyeresultsresponse.d.ts.map +1 -0
  145. package/models/components/responseenvelopecenseyeresultsresponse.js +51 -0
  146. package/models/components/responseenvelopecenseyeresultsresponse.js.map +1 -0
  147. package/models/components/sapient.d.ts +15 -0
  148. package/models/components/sapient.d.ts.map +1 -0
  149. package/models/components/sapient.js +60 -0
  150. package/models/components/sapient.js.map +1 -0
  151. package/models/components/sapienterror.d.ts +11 -0
  152. package/models/components/sapienterror.d.ts.map +1 -0
  153. package/models/components/sapienterror.js +56 -0
  154. package/models/components/sapienterror.js.map +1 -0
  155. package/models/components/sapientregistrationack.d.ts +11 -0
  156. package/models/components/sapientregistrationack.d.ts.map +1 -0
  157. package/models/components/sapientregistrationack.js +56 -0
  158. package/models/components/sapientregistrationack.js.map +1 -0
  159. package/models/components/searchvaluecountsinputbody.d.ts +1 -1
  160. package/models/components/service.d.ts +2 -0
  161. package/models/components/service.d.ts.map +1 -1
  162. package/models/components/service.js +2 -0
  163. package/models/components/service.js.map +1 -1
  164. package/models/components/servicescan.d.ts +2 -0
  165. package/models/components/servicescan.d.ts.map +1 -1
  166. package/models/components/servicescan.js +2 -0
  167. package/models/components/servicescan.js.map +1 -1
  168. package/models/components/servicesonhostresponse.d.ts +6 -0
  169. package/models/components/servicesonhostresponse.d.ts.map +1 -1
  170. package/models/components/servicesonhostresponse.js +3 -4
  171. package/models/components/servicesonhostresponse.js.map +1 -1
  172. package/models/operations/index.d.ts +3 -0
  173. package/models/operations/index.d.ts.map +1 -1
  174. package/models/operations/index.js +3 -0
  175. package/models/operations/index.js.map +1 -1
  176. package/models/operations/v3threathuntingcenseyejobresults.d.ts +45 -0
  177. package/models/operations/v3threathuntingcenseyejobresults.d.ts.map +1 -0
  178. package/models/operations/v3threathuntingcenseyejobresults.js +76 -0
  179. package/models/operations/v3threathuntingcenseyejobresults.js.map +1 -0
  180. package/models/operations/v3threathuntingcenseyejobscreate.d.ts +32 -0
  181. package/models/operations/v3threathuntingcenseyejobscreate.d.ts.map +1 -0
  182. package/models/operations/v3threathuntingcenseyejobscreate.js +72 -0
  183. package/models/operations/v3threathuntingcenseyejobscreate.js.map +1 -0
  184. package/models/operations/v3threathuntingcenseyejobsget.d.ts +35 -0
  185. package/models/operations/v3threathuntingcenseyejobsget.d.ts.map +1 -0
  186. package/models/operations/v3threathuntingcenseyejobsget.js +72 -0
  187. package/models/operations/v3threathuntingcenseyejobsget.js.map +1 -0
  188. package/package.json +1 -1
  189. package/sdk/threathunting.d.ts +22 -1
  190. package/sdk/threathunting.d.ts.map +1 -1
  191. package/sdk/threathunting.js +31 -1
  192. package/sdk/threathunting.js.map +1 -1
  193. package/src/funcs/accountManagementGetMemberCreditUsage.ts +0 -1
  194. package/src/funcs/accountManagementGetOrganizationCreditUsage.ts +0 -1
  195. package/src/funcs/accountManagementGetOrganizationCredits.ts +0 -1
  196. package/src/funcs/accountManagementGetOrganizationDetails.ts +0 -1
  197. package/src/funcs/accountManagementInviteUserToOrganization.ts +0 -1
  198. package/src/funcs/accountManagementListOrganizationMembers.ts +0 -1
  199. package/src/funcs/accountManagementRemoveOrganizationMember.ts +0 -1
  200. package/src/funcs/accountManagementUpdateOrganizationMember.ts +0 -1
  201. package/src/funcs/collectionsAggregate.ts +0 -1
  202. package/src/funcs/collectionsDelete.ts +0 -1
  203. package/src/funcs/collectionsGet.ts +0 -1
  204. package/src/funcs/collectionsListEvents.ts +0 -1
  205. package/src/funcs/collectionsSearch.ts +0 -1
  206. package/src/funcs/collectionsUpdate.ts +0 -1
  207. package/src/funcs/globalDataGetCertificate.ts +0 -1
  208. package/src/funcs/globalDataGetCertificateRaw.ts +0 -1
  209. package/src/funcs/globalDataGetHost.ts +0 -1
  210. package/src/funcs/globalDataGetHostTimeline.ts +0 -1
  211. package/src/funcs/globalDataGetTrackedScan.ts +0 -1
  212. package/src/funcs/globalDataGetWebProperty.ts +0 -1
  213. package/src/funcs/globalDataListServicesOnHost.ts +0 -1
  214. package/src/funcs/threatHuntingCreateCenseyeJob.ts +195 -0
  215. package/src/funcs/threatHuntingGetCenseyeJob.ts +200 -0
  216. package/src/funcs/threatHuntingGetCenseyeJobResults.ts +202 -0
  217. package/src/funcs/threatHuntingGetHostObservationsWithCertificate.ts +0 -1
  218. package/src/funcs/threatHuntingGetTrackedScanThreatHunting.ts +0 -1
  219. package/src/funcs/threatHuntingValueCounts.ts +1 -1
  220. package/src/lib/config.ts +4 -4
  221. package/src/lib/encodings.ts +23 -4
  222. package/src/lib/files.ts +22 -0
  223. package/src/lib/matchers.ts +3 -2
  224. package/src/lib/sdks.ts +7 -5
  225. package/src/lib/security.ts +1 -2
  226. package/src/lib/url.ts +16 -14
  227. package/src/models/components/censeyejob.ts +106 -0
  228. package/src/models/components/censeyeresult.ts +48 -0
  229. package/src/models/components/censeyeresultsresponse.ts +45 -0
  230. package/src/models/components/censeyetarget.ts +77 -0
  231. package/src/models/components/countcondition.ts +1 -1
  232. package/src/models/components/createcenseyejobinputbody.ts +36 -0
  233. package/src/models/components/fieldvaluepair.ts +21 -0
  234. package/src/models/components/host.ts +19 -0
  235. package/src/models/components/index.ts +21 -0
  236. package/src/models/components/networkclassification.ts +60 -0
  237. package/src/models/components/networkmobileinfo.ts +49 -0
  238. package/src/models/components/privacy.ts +73 -0
  239. package/src/models/components/privacytorinfo.ts +35 -0
  240. package/src/models/components/privacytorinforelay.ts +227 -0
  241. package/src/models/components/privacytorinforelayexitpolicysummary.ts +40 -0
  242. package/src/models/components/reputation.ts +66 -0
  243. package/src/models/components/reputationevidence.ts +63 -0
  244. package/src/models/components/reputationevidenceexternalsignal.ts +50 -0
  245. package/src/models/components/reputationevidencefieldvalue.ts +33 -0
  246. package/src/models/components/reputationevidencethreat.ts +42 -0
  247. package/src/models/components/responseenvelopecenseyejob.ts +32 -0
  248. package/src/models/components/responseenvelopecenseyeresultsresponse.ts +36 -0
  249. package/src/models/components/sapient.ts +44 -0
  250. package/src/models/components/sapienterror.ts +38 -0
  251. package/src/models/components/sapientregistrationack.ts +38 -0
  252. package/src/models/components/searchvaluecountsinputbody.ts +1 -1
  253. package/src/models/components/service.ts +3 -0
  254. package/src/models/components/servicescan.ts +3 -0
  255. package/src/models/components/servicesonhostresponse.ts +9 -4
  256. package/src/models/operations/index.ts +3 -0
  257. package/src/models/operations/v3threathuntingcenseyejobresults.ts +107 -0
  258. package/src/models/operations/v3threathuntingcenseyejobscreate.ts +91 -0
  259. package/src/models/operations/v3threathuntingcenseyejobsget.ts +87 -0
  260. package/src/sdk/threathunting.ts +55 -1
  261. package/tests/sdk.test.ts +412 -259
@@ -0,0 +1,49 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ export type NetworkMobileInfo = {
12
+ /**
13
+ * The name of the mobile carrier.
14
+ */
15
+ carrierName?: string | undefined;
16
+ /**
17
+ * The Mobile Country Code, identifying the country of the mobile network.
18
+ */
19
+ mcc?: string | undefined;
20
+ /**
21
+ * The Mobile Network Code, identifying the specific carrier network.
22
+ */
23
+ mnc?: string | undefined;
24
+ };
25
+
26
+ /** @internal */
27
+ export const NetworkMobileInfo$inboundSchema: z.ZodType<
28
+ NetworkMobileInfo,
29
+ z.ZodTypeDef,
30
+ unknown
31
+ > = z.object({
32
+ carrier_name: z.string().optional(),
33
+ mcc: z.string().optional(),
34
+ mnc: z.string().optional(),
35
+ }).transform((v) => {
36
+ return remap$(v, {
37
+ "carrier_name": "carrierName",
38
+ });
39
+ });
40
+
41
+ export function networkMobileInfoFromJSON(
42
+ jsonString: string,
43
+ ): SafeParseResult<NetworkMobileInfo, SDKValidationError> {
44
+ return safeParse(
45
+ jsonString,
46
+ (x) => NetworkMobileInfo$inboundSchema.parse(JSON.parse(x)),
47
+ `Failed to parse 'NetworkMobileInfo' from JSON`,
48
+ );
49
+ }
@@ -0,0 +1,73 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ PrivacyTorInfo,
12
+ PrivacyTorInfo$inboundSchema,
13
+ } from "./privacytorinfo.js";
14
+
15
+ export type Privacy = {
16
+ /**
17
+ * Whether the host uses any kind of privacy service.
18
+ */
19
+ anonymous?: boolean | undefined;
20
+ /**
21
+ * Whether the host is an open web proxy.
22
+ */
23
+ proxy?: boolean | undefined;
24
+ /**
25
+ * Whether the host is a location-preserving anonymous relay service, like iCloud Private Relay..
26
+ */
27
+ relay?: boolean | undefined;
28
+ /**
29
+ * The name of the privacy service providers detected.
30
+ */
31
+ serviceProvider?: Array<string> | null | undefined;
32
+ /**
33
+ * The source of the data.
34
+ */
35
+ source?: string | undefined;
36
+ /**
37
+ * Whether the host is a Tor exit node.
38
+ */
39
+ tor?: boolean | undefined;
40
+ torInfo?: PrivacyTorInfo | undefined;
41
+ /**
42
+ * Whether the host is a VPN service exit node IP address.
43
+ */
44
+ vpn?: boolean | undefined;
45
+ };
46
+
47
+ /** @internal */
48
+ export const Privacy$inboundSchema: z.ZodType<Privacy, z.ZodTypeDef, unknown> =
49
+ z.object({
50
+ anonymous: z.boolean().optional(),
51
+ proxy: z.boolean().optional(),
52
+ relay: z.boolean().optional(),
53
+ service_provider: z.nullable(z.array(z.string())).optional(),
54
+ source: z.string().optional(),
55
+ tor: z.boolean().optional(),
56
+ tor_info: PrivacyTorInfo$inboundSchema.optional(),
57
+ vpn: z.boolean().optional(),
58
+ }).transform((v) => {
59
+ return remap$(v, {
60
+ "service_provider": "serviceProvider",
61
+ "tor_info": "torInfo",
62
+ });
63
+ });
64
+
65
+ export function privacyFromJSON(
66
+ jsonString: string,
67
+ ): SafeParseResult<Privacy, SDKValidationError> {
68
+ return safeParse(
69
+ jsonString,
70
+ (x) => Privacy$inboundSchema.parse(JSON.parse(x)),
71
+ `Failed to parse 'Privacy' from JSON`,
72
+ );
73
+ }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ PrivacyTorInfoRelay,
11
+ PrivacyTorInfoRelay$inboundSchema,
12
+ } from "./privacytorinforelay.js";
13
+
14
+ export type PrivacyTorInfo = {
15
+ relays?: Array<PrivacyTorInfoRelay> | null | undefined;
16
+ };
17
+
18
+ /** @internal */
19
+ export const PrivacyTorInfo$inboundSchema: z.ZodType<
20
+ PrivacyTorInfo,
21
+ z.ZodTypeDef,
22
+ unknown
23
+ > = z.object({
24
+ relays: z.nullable(z.array(PrivacyTorInfoRelay$inboundSchema)).optional(),
25
+ });
26
+
27
+ export function privacyTorInfoFromJSON(
28
+ jsonString: string,
29
+ ): SafeParseResult<PrivacyTorInfo, SDKValidationError> {
30
+ return safeParse(
31
+ jsonString,
32
+ (x) => PrivacyTorInfo$inboundSchema.parse(JSON.parse(x)),
33
+ `Failed to parse 'PrivacyTorInfo' from JSON`,
34
+ );
35
+ }
@@ -0,0 +1,227 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ PrivacyTorInfoRelayExitPolicySummary,
12
+ PrivacyTorInfoRelayExitPolicySummary$inboundSchema,
13
+ } from "./privacytorinforelayexitpolicysummary.js";
14
+
15
+ export type PrivacyTorInfoRelay = {
16
+ /**
17
+ * Bandwidth in bytes per second that this relay is willing and capable to provide. The minimum of bandwidth_rate, bandwidth_burst, and observed_bandwidth.
18
+ */
19
+ advertisedBandwidth?: number | undefined;
20
+ /**
21
+ * Fingerprints of relays that are part of this relay's family but do not consider this relay to be part of their family.
22
+ */
23
+ allegedFamily?: Array<string> | null | undefined;
24
+ /**
25
+ * Bandwidth in bytes per second that this relay is willing to sustain in very short intervals.
26
+ */
27
+ bandwidthBurst?: number | undefined;
28
+ /**
29
+ * Average bandwidth in bytes per second that this relay is willing to sustain over long periods.
30
+ */
31
+ bandwidthRate?: number | undefined;
32
+ /**
33
+ * Country codes where this bridge is not served because it is believed to be blocked.
34
+ */
35
+ blocklist?: Array<string> | null | undefined;
36
+ /**
37
+ * Whether this entry represents a bridge rather than a relay.
38
+ */
39
+ bridge?: boolean | undefined;
40
+ /**
41
+ * BridgeDB distributor that this bridge is currently assigned to.
42
+ */
43
+ bridgedbDistributor?: string | undefined;
44
+ /**
45
+ * Weight assigned to this relay by the directory authorities that clients use in their path selection algorithm.
46
+ */
47
+ consensusWeight?: number | undefined;
48
+ /**
49
+ * Fraction of this relay's consensus weight compared to the sum of all consensus weights in the network. A rough approximation of the probability of this relay to be selected by clients.
50
+ */
51
+ consensusWeightFraction?: number | undefined;
52
+ /**
53
+ * Contact address of the relay operator.
54
+ */
55
+ contact?: string | undefined;
56
+ /**
57
+ * IPv4 address and TCP port where the relay accepts directory connections.
58
+ */
59
+ dirAddress?: string | undefined;
60
+ /**
61
+ * Fingerprints of relays in an effective, mutual family relationship with this relay. Always contains the relay's own fingerprint.
62
+ */
63
+ effectiveFamily?: Array<string> | null | undefined;
64
+ /**
65
+ * IPv4 addresses that the relay used to exit to the Internet in the past 24 hours.
66
+ */
67
+ exitAddresses?: Array<string> | null | undefined;
68
+ /**
69
+ * Array of exit-policy lines from the relay's router descriptor.
70
+ */
71
+ exitPolicy?: Array<string> | null | undefined;
72
+ exitPolicySummary?: PrivacyTorInfoRelayExitPolicySummary | undefined;
73
+ exitPolicyV6Summary?: PrivacyTorInfoRelayExitPolicySummary | undefined;
74
+ /**
75
+ * Probability of this relay to be selected for the exit position, calculated based on consensus weights, relay flags, and bandwidth weights.
76
+ */
77
+ exitProbability?: number | undefined;
78
+ /**
79
+ * Relay fingerprint consisting of 40 upper-case hexadecimal characters.
80
+ */
81
+ fingerprint?: string | undefined;
82
+ /**
83
+ * Relay flags assigned by the directory authorities.
84
+ */
85
+ flags?: Array<string> | null | undefined;
86
+ /**
87
+ * Probability of this relay to be selected for the guard position, calculated based on consensus weights, relay flags, and bandwidth weights.
88
+ */
89
+ guardProbability?: number | undefined;
90
+ /**
91
+ * SHA-1 hash of the bridge fingerprint consisting of 40 upper-case hexadecimal characters.
92
+ */
93
+ hashedFingerprint?: string | undefined;
94
+ /**
95
+ * Fingerprints of relays reachable by following effective, mutual family relationships starting at this relay, but not directly in a mutual family relationship.
96
+ */
97
+ indirectFamily?: Array<string> | null | undefined;
98
+ /**
99
+ * Whether the consensus weight of this relay is based on a threshold of 3 or more measurements by Tor bandwidth authorities.
100
+ */
101
+ measured?: boolean | undefined;
102
+ /**
103
+ * Probability of this relay to be selected for the middle position, calculated based on consensus weights, relay flags, and bandwidth weights.
104
+ */
105
+ middleProbability?: number | undefined;
106
+ /**
107
+ * Relay nickname consisting of 1-19 alphanumerical characters.
108
+ */
109
+ nickname?: string | undefined;
110
+ /**
111
+ * Bandwidth estimate in bytes per second of the capacity this relay can handle. The lesser of the maximum sustained output and input over any ten second period in the past day.
112
+ */
113
+ observedBandwidth?: number | undefined;
114
+ /**
115
+ * IPv4 or IPv6 addresses and TCP ports where the relay accepts onion-routing connections. The first address is the primary onion-routing address.
116
+ */
117
+ orAddresses?: Array<string> | null | undefined;
118
+ /**
119
+ * Timestamp indicating when the relay reached an overloaded state (e.g., OOM invocation, ntor onionskins dropped, or TCP port exhaustion).
120
+ */
121
+ overloadGeneralTimestamp?: number | undefined;
122
+ /**
123
+ * Platform string containing operating system and Tor version details.
124
+ */
125
+ platform?: string | undefined;
126
+ /**
127
+ * Whether the Tor software version of this relay is recommended by the directory authorities.
128
+ */
129
+ recommendedVersion?: boolean | undefined;
130
+ /**
131
+ * Pluggable transport names supported by this bridge.
132
+ */
133
+ transports?: Array<string> | null | undefined;
134
+ /**
135
+ * IPv4 or IPv6 addresses and TCP ports where the relay claims to accept onion-routing connections but that the directory authorities failed to confirm as reachable.
136
+ */
137
+ unreachableOrAddresses?: Array<string> | null | undefined;
138
+ /**
139
+ * Tor software version without leading 'Tor' as reported by the directory authorities.
140
+ */
141
+ version?: string | undefined;
142
+ /**
143
+ * Status of the Tor software version: recommended, experimental, obsolete, new in series, or unrecommended.
144
+ */
145
+ versionStatus?: string | undefined;
146
+ };
147
+
148
+ /** @internal */
149
+ export const PrivacyTorInfoRelay$inboundSchema: z.ZodType<
150
+ PrivacyTorInfoRelay,
151
+ z.ZodTypeDef,
152
+ unknown
153
+ > = z.object({
154
+ advertised_bandwidth: z.number().int().optional(),
155
+ alleged_family: z.nullable(z.array(z.string())).optional(),
156
+ bandwidth_burst: z.number().int().optional(),
157
+ bandwidth_rate: z.number().int().optional(),
158
+ blocklist: z.nullable(z.array(z.string())).optional(),
159
+ bridge: z.boolean().optional(),
160
+ bridgedb_distributor: z.string().optional(),
161
+ consensus_weight: z.number().int().optional(),
162
+ consensus_weight_fraction: z.number().optional(),
163
+ contact: z.string().optional(),
164
+ dir_address: z.string().optional(),
165
+ effective_family: z.nullable(z.array(z.string())).optional(),
166
+ exit_addresses: z.nullable(z.array(z.string())).optional(),
167
+ exit_policy: z.nullable(z.array(z.string())).optional(),
168
+ exit_policy_summary: PrivacyTorInfoRelayExitPolicySummary$inboundSchema
169
+ .optional(),
170
+ exit_policy_v6_summary: PrivacyTorInfoRelayExitPolicySummary$inboundSchema
171
+ .optional(),
172
+ exit_probability: z.number().optional(),
173
+ fingerprint: z.string().optional(),
174
+ flags: z.nullable(z.array(z.string())).optional(),
175
+ guard_probability: z.number().optional(),
176
+ hashed_fingerprint: z.string().optional(),
177
+ indirect_family: z.nullable(z.array(z.string())).optional(),
178
+ measured: z.boolean().optional(),
179
+ middle_probability: z.number().optional(),
180
+ nickname: z.string().optional(),
181
+ observed_bandwidth: z.number().int().optional(),
182
+ or_addresses: z.nullable(z.array(z.string())).optional(),
183
+ overload_general_timestamp: z.number().int().optional(),
184
+ platform: z.string().optional(),
185
+ recommended_version: z.boolean().optional(),
186
+ transports: z.nullable(z.array(z.string())).optional(),
187
+ unreachable_or_addresses: z.nullable(z.array(z.string())).optional(),
188
+ version: z.string().optional(),
189
+ version_status: z.string().optional(),
190
+ }).transform((v) => {
191
+ return remap$(v, {
192
+ "advertised_bandwidth": "advertisedBandwidth",
193
+ "alleged_family": "allegedFamily",
194
+ "bandwidth_burst": "bandwidthBurst",
195
+ "bandwidth_rate": "bandwidthRate",
196
+ "bridgedb_distributor": "bridgedbDistributor",
197
+ "consensus_weight": "consensusWeight",
198
+ "consensus_weight_fraction": "consensusWeightFraction",
199
+ "dir_address": "dirAddress",
200
+ "effective_family": "effectiveFamily",
201
+ "exit_addresses": "exitAddresses",
202
+ "exit_policy": "exitPolicy",
203
+ "exit_policy_summary": "exitPolicySummary",
204
+ "exit_policy_v6_summary": "exitPolicyV6Summary",
205
+ "exit_probability": "exitProbability",
206
+ "guard_probability": "guardProbability",
207
+ "hashed_fingerprint": "hashedFingerprint",
208
+ "indirect_family": "indirectFamily",
209
+ "middle_probability": "middleProbability",
210
+ "observed_bandwidth": "observedBandwidth",
211
+ "or_addresses": "orAddresses",
212
+ "overload_general_timestamp": "overloadGeneralTimestamp",
213
+ "recommended_version": "recommendedVersion",
214
+ "unreachable_or_addresses": "unreachableOrAddresses",
215
+ "version_status": "versionStatus",
216
+ });
217
+ });
218
+
219
+ export function privacyTorInfoRelayFromJSON(
220
+ jsonString: string,
221
+ ): SafeParseResult<PrivacyTorInfoRelay, SDKValidationError> {
222
+ return safeParse(
223
+ jsonString,
224
+ (x) => PrivacyTorInfoRelay$inboundSchema.parse(JSON.parse(x)),
225
+ `Failed to parse 'PrivacyTorInfoRelay' from JSON`,
226
+ );
227
+ }
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+
10
+ export type PrivacyTorInfoRelayExitPolicySummary = {
11
+ /**
12
+ * TCP ports or port ranges that the relay accepts for most IP addresses.
13
+ */
14
+ accept?: Array<string> | null | undefined;
15
+ /**
16
+ * TCP ports or port ranges that the relay rejects for most IP addresses.
17
+ */
18
+ reject?: Array<string> | null | undefined;
19
+ };
20
+
21
+ /** @internal */
22
+ export const PrivacyTorInfoRelayExitPolicySummary$inboundSchema: z.ZodType<
23
+ PrivacyTorInfoRelayExitPolicySummary,
24
+ z.ZodTypeDef,
25
+ unknown
26
+ > = z.object({
27
+ accept: z.nullable(z.array(z.string())).optional(),
28
+ reject: z.nullable(z.array(z.string())).optional(),
29
+ });
30
+
31
+ export function privacyTorInfoRelayExitPolicySummaryFromJSON(
32
+ jsonString: string,
33
+ ): SafeParseResult<PrivacyTorInfoRelayExitPolicySummary, SDKValidationError> {
34
+ return safeParse(
35
+ jsonString,
36
+ (x) =>
37
+ PrivacyTorInfoRelayExitPolicySummary$inboundSchema.parse(JSON.parse(x)),
38
+ `Failed to parse 'PrivacyTorInfoRelayExitPolicySummary' from JSON`,
39
+ );
40
+ }
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import * as openEnums from "../../types/enums.js";
9
+ import { OpenEnum } from "../../types/enums.js";
10
+ import { Result as SafeParseResult } from "../../types/fp.js";
11
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
12
+ import {
13
+ ReputationEvidence,
14
+ ReputationEvidence$inboundSchema,
15
+ } from "./reputationevidence.js";
16
+
17
+ export const ScoreLevel = {
18
+ Unknown: "",
19
+ Benign: "benign",
20
+ LowRisk: "low_risk",
21
+ MediumRisk: "medium_risk",
22
+ HighRisk: "high_risk",
23
+ Malicious: "malicious",
24
+ } as const;
25
+ export type ScoreLevel = OpenEnum<typeof ScoreLevel>;
26
+
27
+ export type Reputation = {
28
+ evidence?: Array<ReputationEvidence> | null | undefined;
29
+ modelVersion?: string | undefined;
30
+ score?: number | undefined;
31
+ scoreLevel?: ScoreLevel | undefined;
32
+ };
33
+
34
+ /** @internal */
35
+ export const ScoreLevel$inboundSchema: z.ZodType<
36
+ ScoreLevel,
37
+ z.ZodTypeDef,
38
+ unknown
39
+ > = openEnums.inboundSchema(ScoreLevel);
40
+
41
+ /** @internal */
42
+ export const Reputation$inboundSchema: z.ZodType<
43
+ Reputation,
44
+ z.ZodTypeDef,
45
+ unknown
46
+ > = z.object({
47
+ evidence: z.nullable(z.array(ReputationEvidence$inboundSchema)).optional(),
48
+ model_version: z.string().optional(),
49
+ score: z.number().optional(),
50
+ score_level: ScoreLevel$inboundSchema.optional(),
51
+ }).transform((v) => {
52
+ return remap$(v, {
53
+ "model_version": "modelVersion",
54
+ "score_level": "scoreLevel",
55
+ });
56
+ });
57
+
58
+ export function reputationFromJSON(
59
+ jsonString: string,
60
+ ): SafeParseResult<Reputation, SDKValidationError> {
61
+ return safeParse(
62
+ jsonString,
63
+ (x) => Reputation$inboundSchema.parse(JSON.parse(x)),
64
+ `Failed to parse 'Reputation' from JSON`,
65
+ );
66
+ }
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ ReputationEvidenceExternalSignal,
12
+ ReputationEvidenceExternalSignal$inboundSchema,
13
+ } from "./reputationevidenceexternalsignal.js";
14
+ import {
15
+ ReputationEvidenceFieldValue,
16
+ ReputationEvidenceFieldValue$inboundSchema,
17
+ } from "./reputationevidencefieldvalue.js";
18
+ import {
19
+ ReputationEvidenceThreat,
20
+ ReputationEvidenceThreat$inboundSchema,
21
+ } from "./reputationevidencethreat.js";
22
+
23
+ export type ReputationEvidence = {
24
+ additionalFields?: Array<ReputationEvidenceFieldValue> | null | undefined;
25
+ category?: string | undefined;
26
+ evidenceScore?: number | undefined;
27
+ externalSignals?: Array<ReputationEvidenceExternalSignal> | null | undefined;
28
+ threats?: Array<ReputationEvidenceThreat> | null | undefined;
29
+ };
30
+
31
+ /** @internal */
32
+ export const ReputationEvidence$inboundSchema: z.ZodType<
33
+ ReputationEvidence,
34
+ z.ZodTypeDef,
35
+ unknown
36
+ > = z.object({
37
+ additional_fields: z.nullable(
38
+ z.array(ReputationEvidenceFieldValue$inboundSchema),
39
+ ).optional(),
40
+ category: z.string().optional(),
41
+ evidence_score: z.number().optional(),
42
+ external_signals: z.nullable(
43
+ z.array(ReputationEvidenceExternalSignal$inboundSchema),
44
+ ).optional(),
45
+ threats: z.nullable(z.array(ReputationEvidenceThreat$inboundSchema))
46
+ .optional(),
47
+ }).transform((v) => {
48
+ return remap$(v, {
49
+ "additional_fields": "additionalFields",
50
+ "evidence_score": "evidenceScore",
51
+ "external_signals": "externalSignals",
52
+ });
53
+ });
54
+
55
+ export function reputationEvidenceFromJSON(
56
+ jsonString: string,
57
+ ): SafeParseResult<ReputationEvidence, SDKValidationError> {
58
+ return safeParse(
59
+ jsonString,
60
+ (x) => ReputationEvidence$inboundSchema.parse(JSON.parse(x)),
61
+ `Failed to parse 'ReputationEvidence' from JSON`,
62
+ );
63
+ }
@@ -0,0 +1,50 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import * as openEnums from "../../types/enums.js";
8
+ import { OpenEnum } from "../../types/enums.js";
9
+ import { Result as SafeParseResult } from "../../types/fp.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
11
+
12
+ export const Tlp = {
13
+ Unknown: "",
14
+ Green: "green",
15
+ Amber: "amber",
16
+ Red: "red",
17
+ White: "white",
18
+ } as const;
19
+ export type Tlp = OpenEnum<typeof Tlp>;
20
+
21
+ export type ReputationEvidenceExternalSignal = {
22
+ description?: string | undefined;
23
+ source?: string | undefined;
24
+ tlp?: Tlp | undefined;
25
+ };
26
+
27
+ /** @internal */
28
+ export const Tlp$inboundSchema: z.ZodType<Tlp, z.ZodTypeDef, unknown> =
29
+ openEnums.inboundSchema(Tlp);
30
+
31
+ /** @internal */
32
+ export const ReputationEvidenceExternalSignal$inboundSchema: z.ZodType<
33
+ ReputationEvidenceExternalSignal,
34
+ z.ZodTypeDef,
35
+ unknown
36
+ > = z.object({
37
+ description: z.string().optional(),
38
+ source: z.string().optional(),
39
+ tlp: Tlp$inboundSchema.optional(),
40
+ });
41
+
42
+ export function reputationEvidenceExternalSignalFromJSON(
43
+ jsonString: string,
44
+ ): SafeParseResult<ReputationEvidenceExternalSignal, SDKValidationError> {
45
+ return safeParse(
46
+ jsonString,
47
+ (x) => ReputationEvidenceExternalSignal$inboundSchema.parse(JSON.parse(x)),
48
+ `Failed to parse 'ReputationEvidenceExternalSignal' from JSON`,
49
+ );
50
+ }
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+
10
+ export type ReputationEvidenceFieldValue = {
11
+ field?: string | undefined;
12
+ value?: string | undefined;
13
+ };
14
+
15
+ /** @internal */
16
+ export const ReputationEvidenceFieldValue$inboundSchema: z.ZodType<
17
+ ReputationEvidenceFieldValue,
18
+ z.ZodTypeDef,
19
+ unknown
20
+ > = z.object({
21
+ field: z.string().optional(),
22
+ value: z.string().optional(),
23
+ });
24
+
25
+ export function reputationEvidenceFieldValueFromJSON(
26
+ jsonString: string,
27
+ ): SafeParseResult<ReputationEvidenceFieldValue, SDKValidationError> {
28
+ return safeParse(
29
+ jsonString,
30
+ (x) => ReputationEvidenceFieldValue$inboundSchema.parse(JSON.parse(x)),
31
+ `Failed to parse 'ReputationEvidenceFieldValue' from JSON`,
32
+ );
33
+ }
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ export type ReputationEvidenceThreat = {
12
+ lastObservedTime?: string | undefined;
13
+ threatId?: string | undefined;
14
+ threatTypes?: Array<string> | null | undefined;
15
+ };
16
+
17
+ /** @internal */
18
+ export const ReputationEvidenceThreat$inboundSchema: z.ZodType<
19
+ ReputationEvidenceThreat,
20
+ z.ZodTypeDef,
21
+ unknown
22
+ > = z.object({
23
+ last_observed_time: z.string().optional(),
24
+ threat_id: z.string().optional(),
25
+ threat_types: z.nullable(z.array(z.string())).optional(),
26
+ }).transform((v) => {
27
+ return remap$(v, {
28
+ "last_observed_time": "lastObservedTime",
29
+ "threat_id": "threatId",
30
+ "threat_types": "threatTypes",
31
+ });
32
+ });
33
+
34
+ export function reputationEvidenceThreatFromJSON(
35
+ jsonString: string,
36
+ ): SafeParseResult<ReputationEvidenceThreat, SDKValidationError> {
37
+ return safeParse(
38
+ jsonString,
39
+ (x) => ReputationEvidenceThreat$inboundSchema.parse(JSON.parse(x)),
40
+ `Failed to parse 'ReputationEvidenceThreat' from JSON`,
41
+ );
42
+ }