@chainpatrol/sdk 1.9.0 → 1.10.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.js CHANGED
@@ -601,45 +601,6 @@ zod.z.object({
601
601
  name: zod.z.string().optional().describe("Asset name"),
602
602
  description: zod.z.string().nullish().optional().describe("Asset description")
603
603
  });
604
- zod.z.object({
605
- slug: zod.z.string(),
606
- assetId: zod.z.number(),
607
- name: zod.z.string().optional(),
608
- description: zod.z.string().optional(),
609
- assetGroupId: zod.z.number().nullable().optional(),
610
- updatedByOrganizationId: zod.z.number().optional()
611
- });
612
- zod.z.object({
613
- content: zod.z.string().min(1, { message: "Content must be at least 3 character" }).max(1e3, { message: "Content must be less than 1000 characters" }),
614
- email: zod.z.string().email(),
615
- description: zod.z.string().optional().default("")
616
- });
617
- zod.z.object({
618
- /** Canonicalization algorithm version the client computed its prefixes with. */
619
- algoVersion: zod.z.number().int().positive(),
620
- /** 4-byte (8-hex-char) prefixes that hit the client's local index. */
621
- prefixes: zod.z.array(zod.z.string().regex(/^[0-9a-f]{8}$/)).min(1).max(200)
622
- }).describe("Blocklist confirm request");
623
- zod.z.object({
624
- /** Full 64-char SHA-256 hashes of blocked expressions, grouped by prefix. */
625
- fullHashes: zod.z.record(zod.z.string(), zod.z.array(zod.z.string()))
626
- }).describe("Blocklist confirm response");
627
- zod.z.void().describe("Blocklist version request");
628
- zod.z.object({
629
- /** Canonicalization algorithm version the artifacts + confirm are built with. */
630
- algoVersion: zod.z.number().int().positive(),
631
- snapshot: zod.z.object({
632
- token: zod.z.string(),
633
- url: zod.z.string().url(),
634
- prefixBytes: zod.z.number().int().positive(),
635
- count: zod.z.number().int().nonnegative()
636
- }),
637
- recent: zod.z.object({
638
- token: zod.z.string(),
639
- url: zod.z.string().url(),
640
- windowSeconds: zod.z.number().int().positive()
641
- })
642
- }).describe("Blocklist version response");
643
604
 
644
605
  // ../../node_modules/luxon/src/errors.js
645
606
  var LuxonError = class extends Error {
@@ -1313,17 +1274,17 @@ var PolyDateFormatter = class {
1313
1274
  constructor(dt, intl, opts) {
1314
1275
  this.opts = opts;
1315
1276
  this.originalZone = void 0;
1316
- let z56 = void 0;
1277
+ let z61 = void 0;
1317
1278
  if (this.opts.timeZone) {
1318
1279
  this.dt = dt;
1319
1280
  } else if (dt.zone.type === "fixed") {
1320
1281
  const gmtOffset = -1 * (dt.offset / 60);
1321
1282
  const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;
1322
1283
  if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {
1323
- z56 = offsetZ;
1284
+ z61 = offsetZ;
1324
1285
  this.dt = dt;
1325
1286
  } else {
1326
- z56 = "UTC";
1287
+ z61 = "UTC";
1327
1288
  this.dt = dt.offset === 0 ? dt : dt.setZone("UTC").plus({ minutes: dt.offset });
1328
1289
  this.originalZone = dt.zone;
1329
1290
  }
@@ -1331,14 +1292,14 @@ var PolyDateFormatter = class {
1331
1292
  this.dt = dt;
1332
1293
  } else if (dt.zone.type === "iana") {
1333
1294
  this.dt = dt;
1334
- z56 = dt.zone.name;
1295
+ z61 = dt.zone.name;
1335
1296
  } else {
1336
- z56 = "UTC";
1297
+ z61 = "UTC";
1337
1298
  this.dt = dt.setZone("UTC").plus({ minutes: dt.offset });
1338
1299
  this.originalZone = dt.zone;
1339
1300
  }
1340
1301
  const intlOpts = __spreadValues({}, this.opts);
1341
- intlOpts.timeZone = intlOpts.timeZone || z56;
1302
+ intlOpts.timeZone = intlOpts.timeZone || z61;
1342
1303
  this.dtf = getCachedDTF(intl, intlOpts);
1343
1304
  }
1344
1305
  format() {
@@ -7054,6 +7015,63 @@ function friendlyDateTime(dateTimeish) {
7054
7015
  );
7055
7016
  }
7056
7017
  }
7018
+ var MAX_ASSET_NOTE_LENGTH = 5e3;
7019
+ var assetNoteBodySchema = zod.z.string().trim().min(1, "Note is required").max(MAX_ASSET_NOTE_LENGTH, `Note must be at most ${MAX_ASSET_NOTE_LENGTH} characters`);
7020
+ var assetNoteTimelineAtSchema = zod.z.coerce.date().refine((value) => value.getTime() <= DateTime.now().toUTC().toMillis(), {
7021
+ message: "Timeline date cannot be in the future"
7022
+ });
7023
+ zod.z.object({
7024
+ assetId: zod.z.number().int().positive(),
7025
+ note: assetNoteBodySchema,
7026
+ timelineAt: assetNoteTimelineAtSchema.optional()
7027
+ });
7028
+ zod.z.object({
7029
+ noteId: zod.z.number().int().positive(),
7030
+ note: assetNoteBodySchema,
7031
+ timelineAt: assetNoteTimelineAtSchema.nullish()
7032
+ });
7033
+ zod.z.object({
7034
+ noteId: zod.z.number().int().positive()
7035
+ });
7036
+ zod.z.object({
7037
+ slug: zod.z.string(),
7038
+ assetId: zod.z.number(),
7039
+ name: zod.z.string().optional(),
7040
+ description: zod.z.string().optional(),
7041
+ assetGroupId: zod.z.number().nullable().optional(),
7042
+ updatedByOrganizationId: zod.z.number().optional()
7043
+ });
7044
+ zod.z.object({
7045
+ content: zod.z.string().min(1, { message: "Content must be at least 3 character" }).max(1e3, { message: "Content must be less than 1000 characters" }),
7046
+ email: zod.z.string().email(),
7047
+ description: zod.z.string().optional().default("")
7048
+ });
7049
+ zod.z.object({
7050
+ /** Canonicalization algorithm version the client computed its prefixes with. */
7051
+ algoVersion: zod.z.number().int().positive(),
7052
+ /** 4-byte (8-hex-char) prefixes that hit the client's local index. */
7053
+ prefixes: zod.z.array(zod.z.string().regex(/^[0-9a-f]{8}$/)).min(1).max(200)
7054
+ }).describe("Blocklist confirm request");
7055
+ zod.z.object({
7056
+ /** Full 64-char SHA-256 hashes of blocked expressions, grouped by prefix. */
7057
+ fullHashes: zod.z.record(zod.z.string(), zod.z.array(zod.z.string()))
7058
+ }).describe("Blocklist confirm response");
7059
+ zod.z.void().describe("Blocklist version request");
7060
+ zod.z.object({
7061
+ /** Canonicalization algorithm version the artifacts + confirm are built with. */
7062
+ algoVersion: zod.z.number().int().positive(),
7063
+ snapshot: zod.z.object({
7064
+ token: zod.z.string(),
7065
+ url: zod.z.string().url(),
7066
+ prefixBytes: zod.z.number().int().positive(),
7067
+ count: zod.z.number().int().nonnegative()
7068
+ }),
7069
+ recent: zod.z.object({
7070
+ token: zod.z.string(),
7071
+ url: zod.z.string().url(),
7072
+ windowSeconds: zod.z.number().int().positive()
7073
+ })
7074
+ }).describe("Blocklist version response");
7057
7075
 
7058
7076
  // ../../internal/database/src/generated/prisma/enums.ts
7059
7077
  var BrandType = {
@@ -11574,6 +11592,39 @@ var utcDateSchema2 = (endOfDay) => zod.z.preprocess((value) => {
11574
11592
  }
11575
11593
  return endOfDay && DATE_ONLY_PATTERN2.test(value) ? parsed.endOf("day").toJSDate() : parsed.toJSDate();
11576
11594
  }, zod.z.coerce.date());
11595
+
11596
+ // ../../internal/validation/src/public/metrics/takedown-success-rate.ts
11597
+ zod.z.object({
11598
+ slug: zod.z.string().min(1).describe("Organization slug"),
11599
+ startDate: utcDateSchema2(false).optional().describe(
11600
+ "Only include takedowns first submitted to a provider on or after this date. A date-only value (YYYY-MM-DD) starts at midnight UTC"
11601
+ ),
11602
+ endDate: utcDateSchema2(true).optional().describe(
11603
+ "Only include takedowns first submitted to a provider on or before this date. A date-only value (YYYY-MM-DD) covers the whole day in UTC; pass a full timestamp for a precise cut-off"
11604
+ ),
11605
+ blockLabel: zod.z.string().optional().describe(
11606
+ 'Only include assets blocked with this review label, e.g. "Brand Impersonation", "Employee Impersonation" or "Targeting Org Users"'
11607
+ ),
11608
+ brandType: zod.z.nativeEnum(BrandType).optional().describe("Only include assets belonging to brands of this type"),
11609
+ countryCodes: zod.z.array(zod.z.string().length(2)).optional().describe("Only include assets scanned from these ISO 3166-1 alpha-2 countries"),
11610
+ brandIds: zod.z.array(zod.z.number().int().positive()).optional().describe("Only include assets belonging to these brands")
11611
+ });
11612
+ zod.z.object({
11613
+ byAssetType: zod.z.array(
11614
+ zod.z.object({
11615
+ assetType: zod.z.nativeEnum(AssetType).describe("Asset type the takedowns were filed against"),
11616
+ submitted: zod.z.number().describe("Takedowns whose first submission to a provider fell in the range"),
11617
+ completed: zod.z.number().describe("Of those, how many ended in a takedown"),
11618
+ stillOpen: zod.z.number().describe("Of those, how many have not yet reached an outcome"),
11619
+ successRate: zod.z.number().describe("completed / submitted, 0-1. Still-open takedowns count against it"),
11620
+ resolvedSuccessRate: zod.z.number().nullable().describe(
11621
+ "completed / (submitted - stillOpen), 0-1, or null when nothing has resolved yet. Higher than successRate whenever work is still outstanding"
11622
+ )
11623
+ })
11624
+ ).describe(
11625
+ "Takedown success rate, one entry per asset type, descending by number submitted"
11626
+ )
11627
+ });
11577
11628
  zod.z.object({
11578
11629
  slug: zod.z.string().min(1).describe("Organization slug"),
11579
11630
  startDate: utcDateSchema2(false).optional().describe(
@@ -11602,6 +11653,46 @@ zod.z.object({
11602
11653
  "Median time from takedown start to completion, one entry per asset type, ascending by median"
11603
11654
  )
11604
11655
  });
11656
+ var TakedownProviderRoleSchema = zod.z.enum([
11657
+ "HOSTING_PROVIDER",
11658
+ "DOMAIN_REGISTRAR",
11659
+ "TLD_REGISTRAR"
11660
+ ]);
11661
+ zod.z.object({
11662
+ slug: zod.z.string().min(1).describe("Organization slug"),
11663
+ startDate: utcDateSchema2(false).optional().describe(
11664
+ "Only include takedowns completed on or after this date. A date-only value (YYYY-MM-DD) starts at midnight UTC"
11665
+ ),
11666
+ endDate: utcDateSchema2(true).optional().describe(
11667
+ "Only include takedowns completed on or before this date. A date-only value (YYYY-MM-DD) covers the whole day in UTC; pass a full timestamp for a precise cut-off"
11668
+ ),
11669
+ roles: zod.z.array(TakedownProviderRoleSchema).optional().describe(
11670
+ "Only break down these provider roles. Omit for every role. A takedown filed against both a host and a registrar is counted once under each"
11671
+ ),
11672
+ blockLabel: zod.z.string().optional().describe(
11673
+ 'Only include assets blocked with this review label, e.g. "Brand Impersonation", "Employee Impersonation" or "Targeting Org Users"'
11674
+ ),
11675
+ brandType: zod.z.nativeEnum(BrandType).optional().describe("Only include assets belonging to brands of this type"),
11676
+ countryCodes: zod.z.array(zod.z.string().length(2)).optional().describe("Only include assets scanned from these ISO 3166-1 alpha-2 countries"),
11677
+ brandIds: zod.z.array(zod.z.number().int().positive()).optional().describe("Only include assets belonging to these brands")
11678
+ });
11679
+ zod.z.object({
11680
+ byProvider: zod.z.array(
11681
+ zod.z.object({
11682
+ providerId: zod.z.number().describe("Takedown provider id"),
11683
+ providerName: zod.z.string().describe("Takedown provider name"),
11684
+ role: TakedownProviderRoleSchema.describe(
11685
+ "Which provider slot of the takedown this median is computed over"
11686
+ ),
11687
+ medianTakedownMinutes: zod.z.number(),
11688
+ medianTakedownHours: zod.z.number(),
11689
+ medianTakedownDays: zod.z.number(),
11690
+ count: zod.z.number().describe("Number of completed takedowns behind the median")
11691
+ })
11692
+ ).describe(
11693
+ "Median time from takedown start to completion, one entry per provider and role, ascending by median"
11694
+ )
11695
+ });
11605
11696
  zod.z.object({
11606
11697
  slug: zod.z.string().min(1).describe("Organization slug"),
11607
11698
  months: zod.z.number().int().min(2).max(36).default(12).describe("Size of the trailing window in whole months, including the current month"),
@@ -11857,6 +11948,13 @@ zod.z.object({
11857
11948
  brands: zod.z.array(brandItemSchema).describe("List of brands")
11858
11949
  }).describe("Successful operation");
11859
11950
  var FILTERABLE_SUBSCRIPTION_STATUSES = [
11951
+ SubscriptionStatus.PROSPECT,
11952
+ SubscriptionStatus.POC,
11953
+ SubscriptionStatus.ACTIVE,
11954
+ SubscriptionStatus.INTEGRATION,
11955
+ SubscriptionStatus.INACTIVE
11956
+ ];
11957
+ [
11860
11958
  SubscriptionStatus.PROSPECT,
11861
11959
  SubscriptionStatus.POC,
11862
11960
  SubscriptionStatus.ACTIVE,
@@ -11891,7 +11989,9 @@ var userOrgsPendingServiceApprovalFilterSchema = zod.z.object({
11891
11989
  }).optional();
11892
11990
  zod.z.object({
11893
11991
  query: zod.z.string().default(""),
11894
- subscriptionStatus: zod.z.array(UserOrgsSubscriptionStatusSchema).min(1).optional(),
11992
+ subscriptionStatus: zod.z.array(UserOrgsSubscriptionStatusSchema).min(1).optional().describe(
11993
+ "Statuses to include. Defaults to the live set (PROSPECT/POC/ACTIVE/INTEGRATION); pass INACTIVE explicitly to see churned organizations."
11994
+ ),
11895
11995
  services: userOrgsServicesFilterObjectSchema.optional(),
11896
11996
  obligatoryAdminApproval: userOrgsObligatoryAdminApprovalFilterSchema,
11897
11997
  pendingServiceApproval: userOrgsPendingServiceApprovalFilterSchema
@@ -12072,7 +12172,7 @@ zod.z.object({
12072
12172
  "Shortcut for 'every org the caller is authorized to read'. Reuses the same filter logic as `/user/orgs`: org-scoped API keys are rejected (they're pinned to one org \u2014 use the default form); user API keys / Bearer sessions resolve to the user's memberships (or every active org for staff). Combine with `subscriptionStatus` and `services` to narrow (e.g. only paying customers with takedowns enabled). The resolved org set is still capped at " + String(ORGANIZATION_METRICS_MAX_SLUGS) + " and a 413 is returned if exceeded. Mutually exclusive with `organizationSlug`, `slugs`, and `brandSlug`."
12073
12173
  ),
12074
12174
  subscriptionStatus: zod.z.array(UserOrgsSubscriptionStatusSchema).min(1).optional().describe(
12075
- "Only meaningful with `allMyOrgs: true`. Defaults to the same set `/user/orgs` uses (ACTIVE/POC/PROSPECT/INTEGRATION \u2014 INACTIVE is always excluded)."
12175
+ "Only meaningful with `allMyOrgs: true`. Defaults to the same set `/user/orgs` uses (ACTIVE/POC/PROSPECT/INTEGRATION); pass INACTIVE explicitly to include churned organizations."
12076
12176
  ),
12077
12177
  services: organizationMetricsServicesFilterSchema.describe(
12078
12178
  "Only meaningful with `allMyOrgs: true`. Same shape as `/user/orgs`'s `services` filter \u2014 every service accepts `{ active }`, and **only `takedowns` additionally accepts `automated`** (the one service where manual-vs-automated changes real platform behavior). E.g. `{ takedowns: { active: true, automated: false } }` for 'orgs with takedowns enabled but automation off'."
@@ -12729,6 +12829,74 @@ zod.z.object({
12729
12829
  hiddenMetrics: zod.z.record(zod.z.string(), zod.z.boolean()).default({}),
12730
12830
  overriddenMetrics: zod.z.record(zod.z.string(), zod.z.boolean()).default({})
12731
12831
  });
12832
+ var ONE_PAGER_BUDGETS = {
12833
+ headline: 60,
12834
+ badge: 28,
12835
+ frontLabel: 44,
12836
+ paragraph: 480,
12837
+ paragraphsMax: 2,
12838
+ heroPhrase: 80,
12839
+ heroNarrative: 300,
12840
+ divergenceLine: 220,
12841
+ xp01Line: 220
12842
+ };
12843
+ var onePagerFactPayloadSchema = zod.z.object({
12844
+ /** Raw (not defanged) asset contents the prose may reference. */
12845
+ assetContents: zod.z.array(zod.z.string()),
12846
+ /** Every numeric token (as string) the prose is allowed to contain. */
12847
+ numbers: zod.z.array(zod.z.string()),
12848
+ /** ISO dates the prose may reference. */
12849
+ dates: zod.z.array(zod.z.string()),
12850
+ platforms: zod.z.array(zod.z.string()),
12851
+ groupSize: zod.z.number(),
12852
+ takedownCompletedAt: zod.z.string().nullable(),
12853
+ activeSince: zod.z.string().nullable()
12854
+ });
12855
+ var onePagerStorySchema = zod.z.object({
12856
+ archetypeId: zod.z.string(),
12857
+ archetypeCategory: zod.z.string(),
12858
+ /** 1-5 = placed on the page; null = alternate available for swap. */
12859
+ slot: zod.z.number().int().min(1).max(5).nullable(),
12860
+ frontLabel: zod.z.string().max(ONE_PAGER_BUDGETS.frontLabel),
12861
+ headline: zod.z.string().max(ONE_PAGER_BUDGETS.headline),
12862
+ badge: zod.z.string().max(ONE_PAGER_BUDGETS.badge),
12863
+ paragraphs: zod.z.array(zod.z.string().max(ONE_PAGER_BUDGETS.paragraph)).min(1).max(ONE_PAGER_BUDGETS.paragraphsMax),
12864
+ /** Defanged, display-ready asset identifiers. */
12865
+ assetList: zod.z.array(zod.z.string()).max(10),
12866
+ screenshotUrls: zod.z.array(zod.z.string()),
12867
+ selectedScreenshotUrls: zod.z.array(zod.z.string()).max(2),
12868
+ xp01Line: zod.z.string().max(ONE_PAGER_BUDGETS.xp01Line).nullable(),
12869
+ factPayload: onePagerFactPayloadSchema,
12870
+ proseSource: zod.z.enum(["llm", "template"])
12871
+ });
12872
+ var onePagerLandscapeRowSchema = zod.z.object({
12873
+ platform: zod.z.string(),
12874
+ count: zod.z.number(),
12875
+ sharePct: zod.z.number()
12876
+ });
12877
+ var onePagerFormDataObjectSchema = zod.z.object({
12878
+ orgName: zod.z.string(),
12879
+ orgSlug: zod.z.string(),
12880
+ periodLabel: zod.z.string(),
12881
+ heroStat: zod.z.object({
12882
+ value: zod.z.string(),
12883
+ phrase: zod.z.string().max(ONE_PAGER_BUDGETS.heroPhrase)
12884
+ }),
12885
+ heroNarrative: zod.z.string().max(ONE_PAGER_BUDGETS.heroNarrative),
12886
+ metricsRows: zod.z.array(zod.z.object({ label: zod.z.string(), value: zod.z.string() })).length(4),
12887
+ landscape: zod.z.object({
12888
+ rows: zod.z.array(onePagerLandscapeRowSchema).max(8),
12889
+ otherCount: zod.z.number().nullable(),
12890
+ otherPlatformsLabel: zod.z.string().nullable(),
12891
+ divergenceLine: zod.z.string().max(ONE_PAGER_BUDGETS.divergenceLine).nullable()
12892
+ }),
12893
+ stories: zod.z.array(onePagerStorySchema).min(1).max(6),
12894
+ footer: zod.z.object({ contactName: zod.z.string(), contactLine: zod.z.string() })
12895
+ });
12896
+ onePagerFormDataObjectSchema.refine(
12897
+ (data) => data.stories.some((s2) => s2.slot !== null),
12898
+ { message: "at least one story must be placed", path: ["stories"] }
12899
+ );
12732
12900
  zod.z.object({
12733
12901
  x: zod.z.number().min(0).max(1),
12734
12902
  y: zod.z.number().min(0).max(1),
@@ -13494,20 +13662,20 @@ var convertA98ToXyz65_default = convertA98ToXyz65;
13494
13662
 
13495
13663
  // ../../node_modules/culori/src/a98/convertXyz65ToA98.js
13496
13664
  var gamma = (v) => Math.pow(Math.abs(v), 256 / 563) * Math.sign(v);
13497
- var convertXyz65ToA98 = ({ x, y, z: z56, alpha }) => {
13665
+ var convertXyz65ToA98 = ({ x, y, z: z61, alpha }) => {
13498
13666
  if (x === void 0) x = 0;
13499
13667
  if (y === void 0) y = 0;
13500
- if (z56 === void 0) z56 = 0;
13668
+ if (z61 === void 0) z61 = 0;
13501
13669
  let res = {
13502
13670
  mode: "a98",
13503
13671
  r: gamma(
13504
- x * 2.0415879038107465 - y * 0.5650069742788597 - 0.3447313507783297 * z56
13672
+ x * 2.0415879038107465 - y * 0.5650069742788597 - 0.3447313507783297 * z61
13505
13673
  ),
13506
13674
  g: gamma(
13507
- x * -0.9692436362808798 + y * 1.8759675015077206 + 0.0415550574071756 * z56
13675
+ x * -0.9692436362808798 + y * 1.8759675015077206 + 0.0415550574071756 * z61
13508
13676
  ),
13509
13677
  b: gamma(
13510
- x * 0.0134442806320312 - y * 0.1183623922310184 + 1.0151749943912058 * z56
13678
+ x * 0.0134442806320312 - y * 0.1183623922310184 + 1.0151749943912058 * z61
13511
13679
  )
13512
13680
  };
13513
13681
  if (alpha !== void 0) {
@@ -13574,14 +13742,14 @@ var convertLrgbToRgb = ({ r, g, b, alpha }, mode = "rgb") => {
13574
13742
  var convertLrgbToRgb_default = convertLrgbToRgb;
13575
13743
 
13576
13744
  // ../../node_modules/culori/src/xyz65/convertXyz65ToRgb.js
13577
- var convertXyz65ToRgb = ({ x, y, z: z56, alpha }) => {
13745
+ var convertXyz65ToRgb = ({ x, y, z: z61, alpha }) => {
13578
13746
  if (x === void 0) x = 0;
13579
13747
  if (y === void 0) y = 0;
13580
- if (z56 === void 0) z56 = 0;
13748
+ if (z61 === void 0) z61 = 0;
13581
13749
  let res = convertLrgbToRgb_default({
13582
- r: x * 3.2409699419045226 - y * 1.537383177570094 - 0.4986107602930034 * z56,
13583
- g: x * -0.9692436362808796 + y * 1.8759675015077204 + 0.0415550574071756 * z56,
13584
- b: x * 0.0556300796969936 - y * 0.2039769588889765 + 1.0569715142428784 * z56
13750
+ r: x * 3.2409699419045226 - y * 1.537383177570094 - 0.4986107602930034 * z61,
13751
+ g: x * -0.9692436362808796 + y * 1.8759675015077204 + 0.0415550574071756 * z61,
13752
+ b: x * 0.0556300796969936 - y * 0.2039769588889765 + 1.0569715142428784 * z61
13585
13753
  });
13586
13754
  if (alpha !== void 0) {
13587
13755
  res.alpha = alpha;
@@ -13831,13 +13999,13 @@ var convertLab65ToRgb_default = convertLab65ToRgb;
13831
13999
 
13832
14000
  // ../../node_modules/culori/src/lab65/convertXyz65ToLab65.js
13833
14001
  var f = (value) => value > e ? Math.cbrt(value) : (k * value + 16) / 116;
13834
- var convertXyz65ToLab65 = ({ x, y, z: z56, alpha }) => {
14002
+ var convertXyz65ToLab65 = ({ x, y, z: z61, alpha }) => {
13835
14003
  if (x === void 0) x = 0;
13836
14004
  if (y === void 0) y = 0;
13837
- if (z56 === void 0) z56 = 0;
14005
+ if (z61 === void 0) z61 = 0;
13838
14006
  let f0 = f(x / D65.X);
13839
14007
  let f1 = f(y / D65.Y);
13840
- let f22 = f(z56 / D65.Z);
14008
+ let f22 = f(z61 / D65.Z);
13841
14009
  let res = {
13842
14010
  mode: "lab65",
13843
14011
  l: 116 * f1 - 16,
@@ -14494,10 +14662,10 @@ var convertItpToXyz65_default = convertItpToXyz65;
14494
14662
 
14495
14663
  // ../../node_modules/culori/src/itp/convertXyz65ToItp.js
14496
14664
  var toAbs = (c2 = 0) => Math.max(c2 * YW, 0);
14497
- var convertXyz65ToItp = ({ x, y, z: z56, alpha }) => {
14665
+ var convertXyz65ToItp = ({ x, y, z: z61, alpha }) => {
14498
14666
  const absX = toAbs(x);
14499
14667
  const absY = toAbs(y);
14500
- const absZ = toAbs(z56);
14668
+ const absZ = toAbs(z61);
14501
14669
  const l2 = transferPqEncode(
14502
14670
  0.3592832590121217 * absX + 0.6976051147779502 * absY - 0.0358915932320289 * absZ
14503
14671
  );
@@ -14555,15 +14723,15 @@ var jabPqEncode = (v) => {
14555
14723
  return Math.pow((C1 + C2 * vn3) / (1 + C3 * vn3), p);
14556
14724
  };
14557
14725
  var abs = (v = 0) => Math.max(v * 203, 0);
14558
- var convertXyz65ToJab = ({ x, y, z: z56, alpha }) => {
14726
+ var convertXyz65ToJab = ({ x, y, z: z61, alpha }) => {
14559
14727
  x = abs(x);
14560
14728
  y = abs(y);
14561
- z56 = abs(z56);
14562
- let xp = 1.15 * x - 0.15 * z56;
14729
+ z61 = abs(z61);
14730
+ let xp = 1.15 * x - 0.15 * z61;
14563
14731
  let yp = 0.66 * y + 0.34 * x;
14564
- let l2 = jabPqEncode(0.41478972 * xp + 0.579999 * yp + 0.014648 * z56);
14565
- let m = jabPqEncode(-0.20151 * xp + 1.120649 * yp + 0.0531008 * z56);
14566
- let s2 = jabPqEncode(-0.0166008 * xp + 0.2648 * yp + 0.6684799 * z56);
14732
+ let l2 = jabPqEncode(0.41478972 * xp + 0.579999 * yp + 0.014648 * z61);
14733
+ let m = jabPqEncode(-0.20151 * xp + 1.120649 * yp + 0.0531008 * z61);
14734
+ let s2 = jabPqEncode(-0.0166008 * xp + 0.2648 * yp + 0.6684799 * z61);
14567
14735
  let i = (l2 + m) / 2;
14568
14736
  let res = {
14569
14737
  mode: "jab",
@@ -14749,14 +14917,14 @@ var convertLabToXyz50 = ({ l: l2, a, b, alpha }) => {
14749
14917
  var convertLabToXyz50_default = convertLabToXyz50;
14750
14918
 
14751
14919
  // ../../node_modules/culori/src/xyz50/convertXyz50ToRgb.js
14752
- var convertXyz50ToRgb = ({ x, y, z: z56, alpha }) => {
14920
+ var convertXyz50ToRgb = ({ x, y, z: z61, alpha }) => {
14753
14921
  if (x === void 0) x = 0;
14754
14922
  if (y === void 0) y = 0;
14755
- if (z56 === void 0) z56 = 0;
14923
+ if (z61 === void 0) z61 = 0;
14756
14924
  let res = convertLrgbToRgb_default({
14757
- r: x * 3.1341359569958707 - y * 1.6173863321612538 - 0.4906619460083532 * z56,
14758
- g: x * -0.978795502912089 + y * 1.916254567259524 + 0.03344273116131949 * z56,
14759
- b: x * 0.07195537988411677 - y * 0.2289768264158322 + 1.405386058324125 * z56
14925
+ r: x * 3.1341359569958707 - y * 1.6173863321612538 - 0.4906619460083532 * z61,
14926
+ g: x * -0.978795502912089 + y * 1.916254567259524 + 0.03344273116131949 * z61,
14927
+ b: x * 0.07195537988411677 - y * 0.2289768264158322 + 1.405386058324125 * z61
14760
14928
  });
14761
14929
  if (alpha !== void 0) {
14762
14930
  res.alpha = alpha;
@@ -14787,13 +14955,13 @@ var convertRgbToXyz50_default = convertRgbToXyz50;
14787
14955
 
14788
14956
  // ../../node_modules/culori/src/lab/convertXyz50ToLab.js
14789
14957
  var f2 = (value) => value > e3 ? Math.cbrt(value) : (k3 * value + 16) / 116;
14790
- var convertXyz50ToLab = ({ x, y, z: z56, alpha }) => {
14958
+ var convertXyz50ToLab = ({ x, y, z: z61, alpha }) => {
14791
14959
  if (x === void 0) x = 0;
14792
14960
  if (y === void 0) y = 0;
14793
- if (z56 === void 0) z56 = 0;
14961
+ if (z61 === void 0) z61 = 0;
14794
14962
  let f0 = f2(x / D50.X);
14795
14963
  let f1 = f2(y / D50.Y);
14796
- let f22 = f2(z56 / D50.Z);
14964
+ let f22 = f2(z61 / D50.Z);
14797
14965
  let res = {
14798
14966
  mode: "lab",
14799
14967
  l: 116 * f1 - 16,
@@ -15028,18 +15196,18 @@ var convertLchuvToLuv = ({ l: l2, c: c2, h, alpha }) => {
15028
15196
  var convertLchuvToLuv_default = convertLchuvToLuv;
15029
15197
 
15030
15198
  // ../../node_modules/culori/src/luv/convertXyz50ToLuv.js
15031
- var u_fn = (x, y, z56) => 4 * x / (x + 15 * y + 3 * z56);
15032
- var v_fn = (x, y, z56) => 9 * y / (x + 15 * y + 3 * z56);
15199
+ var u_fn = (x, y, z61) => 4 * x / (x + 15 * y + 3 * z61);
15200
+ var v_fn = (x, y, z61) => 9 * y / (x + 15 * y + 3 * z61);
15033
15201
  var un = u_fn(D50.X, D50.Y, D50.Z);
15034
15202
  var vn = v_fn(D50.X, D50.Y, D50.Z);
15035
15203
  var l_fn = (value) => value <= e3 ? k3 * value : 116 * Math.cbrt(value) - 16;
15036
- var convertXyz50ToLuv = ({ x, y, z: z56, alpha }) => {
15204
+ var convertXyz50ToLuv = ({ x, y, z: z61, alpha }) => {
15037
15205
  if (x === void 0) x = 0;
15038
15206
  if (y === void 0) y = 0;
15039
- if (z56 === void 0) z56 = 0;
15207
+ if (z61 === void 0) z61 = 0;
15040
15208
  let l2 = l_fn(y / D50.Y);
15041
- let u = u_fn(x, y, z56);
15042
- let v = v_fn(x, y, z56);
15209
+ let u = u_fn(x, y, z61);
15210
+ let v = v_fn(x, y, z61);
15043
15211
  if (!isFinite(u) || !isFinite(v)) {
15044
15212
  l2 = u = v = 0;
15045
15213
  } else {
@@ -15060,8 +15228,8 @@ var convertXyz50ToLuv = ({ x, y, z: z56, alpha }) => {
15060
15228
  var convertXyz50ToLuv_default = convertXyz50ToLuv;
15061
15229
 
15062
15230
  // ../../node_modules/culori/src/luv/convertLuvToXyz50.js
15063
- var u_fn2 = (x, y, z56) => 4 * x / (x + 15 * y + 3 * z56);
15064
- var v_fn2 = (x, y, z56) => 9 * y / (x + 15 * y + 3 * z56);
15231
+ var u_fn2 = (x, y, z61) => 4 * x / (x + 15 * y + 3 * z61);
15232
+ var v_fn2 = (x, y, z61) => 9 * y / (x + 15 * y + 3 * z61);
15065
15233
  var un2 = u_fn2(D50.X, D50.Y, D50.Z);
15066
15234
  var vn2 = v_fn2(D50.X, D50.Y, D50.Z);
15067
15235
  var convertLuvToXyz50 = ({ l: l2, u, v, alpha }) => {
@@ -15075,8 +15243,8 @@ var convertLuvToXyz50 = ({ l: l2, u, v, alpha }) => {
15075
15243
  let vp = v / (13 * l2) + vn2;
15076
15244
  let y = D50.Y * (l2 <= 8 ? l2 / k3 : Math.pow((l2 + 16) / 116, 3));
15077
15245
  let x = y * (9 * up) / (4 * vp);
15078
- let z56 = y * (12 - 3 * up - 20 * vp) / (4 * vp);
15079
- let res = { mode: "xyz50", x, y, z: z56 };
15246
+ let z61 = y * (12 - 3 * up - 20 * vp) / (4 * vp);
15247
+ let res = { mode: "xyz50", x, y, z: z61 };
15080
15248
  if (alpha !== void 0) {
15081
15249
  res.alpha = alpha;
15082
15250
  }
@@ -15693,15 +15861,15 @@ var convertP3ToXyz65 = (rgb2) => {
15693
15861
  var convertP3ToXyz65_default = convertP3ToXyz65;
15694
15862
 
15695
15863
  // ../../node_modules/culori/src/p3/convertXyz65ToP3.js
15696
- var convertXyz65ToP3 = ({ x, y, z: z56, alpha }) => {
15864
+ var convertXyz65ToP3 = ({ x, y, z: z61, alpha }) => {
15697
15865
  if (x === void 0) x = 0;
15698
15866
  if (y === void 0) y = 0;
15699
- if (z56 === void 0) z56 = 0;
15867
+ if (z61 === void 0) z61 = 0;
15700
15868
  let res = convertLrgbToRgb_default(
15701
15869
  {
15702
- r: x * 2.4934969119414263 - y * 0.9313836179191242 - 0.402710784450717 * z56,
15703
- g: x * -0.8294889695615749 + y * 1.7626640603183465 + 0.0236246858419436 * z56,
15704
- b: x * 0.0358458302437845 - y * 0.0761723892680418 + 0.9568845240076871 * z56
15870
+ r: x * 2.4934969119414263 - y * 0.9313836179191242 - 0.402710784450717 * z61,
15871
+ g: x * -0.8294889695615749 + y * 1.7626640603183465 + 0.0236246858419436 * z61,
15872
+ b: x * 0.0358458302437845 - y * 0.0761723892680418 + 0.9568845240076871 * z61
15705
15873
  },
15706
15874
  "p3"
15707
15875
  );
@@ -15736,19 +15904,19 @@ var gamma2 = (v) => {
15736
15904
  }
15737
15905
  return 16 * v;
15738
15906
  };
15739
- var convertXyz50ToProphoto = ({ x, y, z: z56, alpha }) => {
15907
+ var convertXyz50ToProphoto = ({ x, y, z: z61, alpha }) => {
15740
15908
  if (x === void 0) x = 0;
15741
15909
  if (y === void 0) y = 0;
15742
- if (z56 === void 0) z56 = 0;
15910
+ if (z61 === void 0) z61 = 0;
15743
15911
  let res = {
15744
15912
  mode: "prophoto",
15745
15913
  r: gamma2(
15746
- x * 1.3457868816471585 - y * 0.2555720873797946 - 0.0511018649755453 * z56
15914
+ x * 1.3457868816471585 - y * 0.2555720873797946 - 0.0511018649755453 * z61
15747
15915
  ),
15748
15916
  g: gamma2(
15749
- x * -0.5446307051249019 + y * 1.5082477428451466 + 0.0205274474364214 * z56
15917
+ x * -0.5446307051249019 + y * 1.5082477428451466 + 0.0205274474364214 * z61
15750
15918
  ),
15751
- b: gamma2(x * 0 + y * 0 + 1.2119675456389452 * z56)
15919
+ b: gamma2(x * 0 + y * 0 + 1.2119675456389452 * z61)
15752
15920
  };
15753
15921
  if (alpha !== void 0) {
15754
15922
  res.alpha = alpha;
@@ -15808,20 +15976,20 @@ var gamma3 = (v) => {
15808
15976
  }
15809
15977
  return 4.5 * v;
15810
15978
  };
15811
- var convertXyz65ToRec2020 = ({ x, y, z: z56, alpha }) => {
15979
+ var convertXyz65ToRec2020 = ({ x, y, z: z61, alpha }) => {
15812
15980
  if (x === void 0) x = 0;
15813
15981
  if (y === void 0) y = 0;
15814
- if (z56 === void 0) z56 = 0;
15982
+ if (z61 === void 0) z61 = 0;
15815
15983
  let res = {
15816
15984
  mode: "rec2020",
15817
15985
  r: gamma3(
15818
- x * 1.7166511879712683 - y * 0.3556707837763925 - 0.2533662813736599 * z56
15986
+ x * 1.7166511879712683 - y * 0.3556707837763925 - 0.2533662813736599 * z61
15819
15987
  ),
15820
15988
  g: gamma3(
15821
- x * -0.6666843518324893 + y * 1.6164812366349395 + 0.0157685458139111 * z56
15989
+ x * -0.6666843518324893 + y * 1.6164812366349395 + 0.0157685458139111 * z61
15822
15990
  ),
15823
15991
  b: gamma3(
15824
- x * 0.0176398574453108 - y * 0.0427706132578085 + 0.9421031212354739 * z56
15992
+ x * 0.0176398574453108 - y * 0.0427706132578085 + 0.9421031212354739 * z61
15825
15993
  )
15826
15994
  };
15827
15995
  if (alpha !== void 0) {
@@ -15974,15 +16142,15 @@ var definition_default26 = definition26;
15974
16142
 
15975
16143
  // ../../node_modules/culori/src/xyz65/convertXyz65ToXyz50.js
15976
16144
  var convertXyz65ToXyz50 = (xyz652) => {
15977
- let { x, y, z: z56, alpha } = xyz652;
16145
+ let { x, y, z: z61, alpha } = xyz652;
15978
16146
  if (x === void 0) x = 0;
15979
16147
  if (y === void 0) y = 0;
15980
- if (z56 === void 0) z56 = 0;
16148
+ if (z61 === void 0) z61 = 0;
15981
16149
  let res = {
15982
16150
  mode: "xyz50",
15983
- x: 1.0479298208405488 * x + 0.0229467933410191 * y - 0.0501922295431356 * z56,
15984
- y: 0.0296278156881593 * x + 0.990434484573249 * y - 0.0170738250293851 * z56,
15985
- z: -0.0092430581525912 * x + 0.0150551448965779 * y + 0.7518742899580008 * z56
16151
+ x: 1.0479298208405488 * x + 0.0229467933410191 * y - 0.0501922295431356 * z61,
16152
+ y: 0.0296278156881593 * x + 0.990434484573249 * y - 0.0170738250293851 * z61,
16153
+ z: -0.0092430581525912 * x + 0.0150551448965779 * y + 0.7518742899580008 * z61
15986
16154
  };
15987
16155
  if (alpha !== void 0) {
15988
16156
  res.alpha = alpha;
@@ -15993,15 +16161,15 @@ var convertXyz65ToXyz50_default = convertXyz65ToXyz50;
15993
16161
 
15994
16162
  // ../../node_modules/culori/src/xyz65/convertXyz50ToXyz65.js
15995
16163
  var convertXyz50ToXyz65 = (xyz502) => {
15996
- let { x, y, z: z56, alpha } = xyz502;
16164
+ let { x, y, z: z61, alpha } = xyz502;
15997
16165
  if (x === void 0) x = 0;
15998
16166
  if (y === void 0) y = 0;
15999
- if (z56 === void 0) z56 = 0;
16167
+ if (z61 === void 0) z61 = 0;
16000
16168
  let res = {
16001
16169
  mode: "xyz65",
16002
- x: 0.9554734527042182 * x - 0.0230985368742614 * y + 0.0632593086610217 * z56,
16003
- y: -0.0283697069632081 * x + 1.0099954580058226 * y + 0.021041398966943 * z56,
16004
- z: 0.0123140016883199 * x - 0.0205076964334779 * y + 1.3303659366080753 * z56
16170
+ x: 0.9554734527042182 * x - 0.0230985368742614 * y + 0.0632593086610217 * z61,
16171
+ y: -0.0283697069632081 * x + 1.0099954580058226 * y + 0.021041398966943 * z61,
16172
+ z: 0.0123140016883199 * x - 0.0205076964334779 * y + 1.3303659366080753 * z61
16005
16173
  };
16006
16174
  if (alpha !== void 0) {
16007
16175
  res.alpha = alpha;