@chainpatrol/sdk 1.1.0 → 1.2.0

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.
package/dist/index.mjs CHANGED
@@ -7014,6 +7014,15 @@ var OrganizationPortalVisibility = {
7014
7014
  PRIVATE: "PRIVATE",
7015
7015
  DISABLED: "DISABLED"
7016
7016
  };
7017
+ var MetricsVisibility = {
7018
+ PUBLIC: "PUBLIC",
7019
+ PRIVATE: "PRIVATE",
7020
+ DISABLED: "DISABLED"
7021
+ };
7022
+ var ReportVisibility = {
7023
+ PUBLIC: "PUBLIC",
7024
+ PRIVATE: "PRIVATE"
7025
+ };
7017
7026
  var AssetType = {
7018
7027
  URL: "URL",
7019
7028
  PAGE: "PAGE",
@@ -8018,6 +8027,36 @@ var UserOrgTrademarkRegistrationSchema = z.object({
8018
8027
  "Direct URL to view or download the certificate PDF (null when no certificate is attached)"
8019
8028
  )
8020
8029
  });
8030
+ var UserOrgBrandMetadataSchema = z.object({
8031
+ websiteUrl: z.string().nullable().describe("Public website URL of the brand (linked from the portal header)"),
8032
+ twitterHandle: z.string().nullable().describe(
8033
+ "Public Twitter/X handle of the brand, stored with the leading `@` (e.g. `@acme`)"
8034
+ ),
8035
+ securityContactEmail: z.string().nullable().describe(
8036
+ "Email address for security correspondence \u2014 used by takedown providers and researchers, distinct from the internal customer POC email"
8037
+ ),
8038
+ industry: z.string().nullable().describe('Free-form industry label (e.g. "DeFi", "CEX", "NFT", "Wallet")')
8039
+ });
8040
+ var UserOrgPortalCustomizationSchema = z.object({
8041
+ useCustomDetails: z.boolean().describe(
8042
+ "When true, the portal uses `name`/`slug`/`avatarUrl` from this object instead of the org's own name/slug/avatar"
8043
+ ),
8044
+ name: z.string().nullable().describe(
8045
+ "Custom display name shown on the portal (used only when `useCustomDetails=true`)"
8046
+ ),
8047
+ slug: z.string().nullable().describe(
8048
+ "Custom URL slug (`chainpatrol.io/<slug>`) \u2014 takes precedence over the org's own slug when set, regardless of `useCustomDetails`"
8049
+ ),
8050
+ avatarUrl: z.string().nullable().describe(
8051
+ "Custom avatar URL shown on the portal (used only when `useCustomDetails=true`)"
8052
+ ),
8053
+ bannerEnabled: z.boolean().describe(
8054
+ "When true, the portal renders `bannerContent` as a highlighted banner at the top of the page"
8055
+ ),
8056
+ bannerContent: z.string().nullable().describe(
8057
+ "Markdown body of the portal banner. Null (or empty) with `bannerEnabled=true` means the toggle is on but no content has been written yet"
8058
+ )
8059
+ });
8021
8060
  var UserOrgSchema = z.object({
8022
8061
  id: z.number(),
8023
8062
  name: z.string(),
@@ -8028,6 +8067,18 @@ var UserOrgSchema = z.object({
8028
8067
  portalVisibility: z.nativeEnum(OrganizationPortalVisibility).describe(
8029
8068
  "Visibility of the org's public security portal (chainpatrol.io/<slug>). `PUBLIC` is discoverable; `PRIVATE` renders only the report form (no metrics or listings); `DISABLED` returns a 404."
8030
8069
  ),
8070
+ reportVisibility: z.nativeEnum(ReportVisibility).describe(
8071
+ "Whether the report listings on the public portal are visible to visitors. `PUBLIC` shows the org's reports; `PRIVATE` hides the report list even when the portal is discoverable."
8072
+ ),
8073
+ metricsVisibility: z.nativeEnum(MetricsVisibility).describe(
8074
+ "Whether the metrics/threats-blocked stats render on the public portal. `PUBLIC` shows the metrics tab; `PRIVATE` hides it from anonymous visitors; `DISABLED` doesn't compute metrics at all."
8075
+ ),
8076
+ brandMetadata: UserOrgBrandMetadataSchema.describe(
8077
+ "Public brand-facing metadata (website, twitter, security contact, industry) shown on the portal and used by staff for outbound"
8078
+ ),
8079
+ portalCustomization: UserOrgPortalCustomizationSchema.describe(
8080
+ "Customer-configurable presentation of the public security portal \u2014 custom name/slug/avatar and the banner content"
8081
+ ),
8031
8082
  services: z.object({
8032
8083
  reporting: singleServiceSchema,
8033
8084
  reviewing: singleServiceSchema,