@aranova/tracking-next 0.27.0 → 1.0.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/blog-server.d.mts +2 -1
- package/dist/blog-server.d.ts +2 -1
- package/dist/blog-server.js +121 -98
- package/dist/blog-server.js.map +1 -1
- package/dist/blog-server.mjs +86 -63
- package/dist/blog-server.mjs.map +1 -1
- package/dist/blog.d.mts +651 -1755
- package/dist/blog.d.ts +651 -1755
- package/dist/blog.js +121 -98
- package/dist/blog.js.map +1 -1
- package/dist/blog.mjs +86 -63
- package/dist/blog.mjs.map +1 -1
- package/dist/calendar-server.d.mts +2 -2
- package/dist/calendar-server.d.ts +2 -2
- package/dist/calendar-server.js +0 -26
- package/dist/calendar-server.js.map +1 -1
- package/dist/calendar-server.mjs +0 -26
- package/dist/calendar-server.mjs.map +1 -1
- package/dist/calendar.d.mts +3 -3
- package/dist/calendar.d.ts +3 -3
- package/dist/calendar.js +227 -126
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.mjs +216 -125
- package/dist/calendar.mjs.map +1 -1
- package/dist/client.d.mts +4 -3
- package/dist/client.d.ts +4 -3
- package/dist/client.js +185 -277
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +157 -249
- package/dist/client.mjs.map +1 -1
- package/dist/index.d.mts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.js +482 -484
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +471 -484
- package/dist/index.mjs.map +1 -1
- package/dist/ingest-typed-BdKmlouW.d.ts +791 -0
- package/dist/ingest-typed-Bo7WPmpU.d.mts +791 -0
- package/dist/middleware.js +0 -467
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.mjs +0 -467
- package/dist/middleware.mjs.map +1 -1
- package/dist/{phone-utils-BVzSNBf1.d.mts → phone-utils-CubQif9Z.d.mts} +18 -78
- package/dist/{phone-utils-BVzSNBf1.d.ts → phone-utils-CubQif9Z.d.ts} +18 -78
- package/dist/phone.d.mts +2 -2
- package/dist/phone.d.ts +2 -2
- package/dist/phone.js +0 -464
- package/dist/phone.js.map +1 -1
- package/dist/phone.mjs +0 -464
- package/dist/phone.mjs.map +1 -1
- package/dist/{sales-DQGzXSgL.d.mts → sales-D7KstKA-.d.mts} +89 -328
- package/dist/{sales-IGC2tq4J.d.ts → sales-DG150g3o.d.ts} +89 -328
- package/dist/sales.d.mts +2 -2
- package/dist/sales.d.ts +2 -2
- package/dist/sales.js +265 -127
- package/dist/sales.js.map +1 -1
- package/dist/sales.mjs +254 -127
- package/dist/sales.mjs.map +1 -1
- package/dist/server.d.mts +2 -2
- package/dist/server.d.ts +2 -2
- package/dist/server.js +0 -467
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +0 -467
- package/dist/server.mjs.map +1 -1
- package/dist/transport-CDmGOiCq.d.ts +253 -0
- package/dist/transport-I_cMSFQ6.d.mts +253 -0
- package/package.json +2 -2
- package/dist/ingest-typed-BxLFlZ7N.d.mts +0 -1371
- package/dist/ingest-typed-ByQVRMvP.d.ts +0 -1371
- package/dist/transport-C-_rFSR4.d.ts +0 -721
- package/dist/transport-yUF5Wize.d.mts +0 -721
package/dist/blog-server.mjs
CHANGED
|
@@ -8,18 +8,15 @@ function registerCapability(capability) {
|
|
|
8
8
|
registered.add(capability);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
// ../tracking-core/src/phone.ts
|
|
12
|
-
import { AsYouType, parsePhoneNumberFromString } from "libphonenumber-js";
|
|
13
|
-
|
|
14
11
|
// ../tracking-core/src/resources/tracking-config-runtime.ts
|
|
15
12
|
var DEFAULT_CDN_BASE_URL = "https://demos.aranova.io";
|
|
16
13
|
var RETRY_MAX_MS = 5 * 6e4;
|
|
17
14
|
|
|
18
15
|
// ../tracking-core/src/resources/blog/schema.ts
|
|
19
|
-
import
|
|
16
|
+
import * as z2 from "zod/mini";
|
|
20
17
|
|
|
21
18
|
// ../tracking-core/src/resources/blog/theme.ts
|
|
22
|
-
import
|
|
19
|
+
import * as z from "zod/mini";
|
|
23
20
|
var BLOG_BREAKPOINTS = ["sm", "md", "lg", "xl", "2xl", "3xl"];
|
|
24
21
|
var BLOG_BREAKPOINT_MIN_WIDTHS_PX = {
|
|
25
22
|
sm: 640,
|
|
@@ -38,36 +35,41 @@ var LENGTH = /^-?\d+(\.\d+)?(px|rem|em|%|ch|vw)$/;
|
|
|
38
35
|
var LINE_HEIGHT = /^-?\d+(\.\d+)?(px|rem|em|%|ch|vw)?$/;
|
|
39
36
|
var FONT_FAMILY_TOKEN = /^['"]?[a-zA-Z0-9 -]+['"]?$/;
|
|
40
37
|
var FONT_FAMILY_VAR_TOKEN = /^var\(--[a-zA-Z0-9-]+\)$/;
|
|
41
|
-
var colorValueSchema = z.string().
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
var lineHeightValueSchema = z.string().regex(LINE_HEIGHT, {
|
|
48
|
-
|
|
49
|
-
});
|
|
50
|
-
var fontWeightSchema = z.number().int().min(100).max(1e3);
|
|
38
|
+
var colorValueSchema = z.string().check(
|
|
39
|
+
z.refine((v) => HEX_COLOR.test(v) || FUNCTIONAL_COLOR.test(v), {
|
|
40
|
+
error: "must be a #hex or rgb()/rgba()/hsl()/hsla()/oklch() color"
|
|
41
|
+
})
|
|
42
|
+
);
|
|
43
|
+
var lengthValueSchema = z.string().check(z.regex(LENGTH, { error: "must be a CSS length (px|rem|em|%|ch|vw)" }));
|
|
44
|
+
var lineHeightValueSchema = z.string().check(z.regex(LINE_HEIGHT, { error: "must be a CSS length or unitless line-height" }));
|
|
45
|
+
var fontWeightSchema = z.int().check(z.gte(100), z.lte(1e3));
|
|
51
46
|
var alignValueSchema = z.enum(["left", "center", "right"]);
|
|
52
|
-
var fontFamilySchema = z.string().
|
|
53
|
-
(
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
var fontFamilySchema = z.string().check(
|
|
48
|
+
z.refine(
|
|
49
|
+
(v) => {
|
|
50
|
+
const tokens = v.split(",").map((t) => t.trim());
|
|
51
|
+
return tokens.length > 0 && tokens.every((t) => FONT_FAMILY_TOKEN.test(t) || FONT_FAMILY_VAR_TOKEN.test(t));
|
|
52
|
+
},
|
|
53
|
+
{ error: "must be a comma-separated list of font-family or var(--custom-property) tokens" }
|
|
54
|
+
)
|
|
58
55
|
);
|
|
59
56
|
function nullishField(schema) {
|
|
60
|
-
return
|
|
57
|
+
return z.optional(
|
|
58
|
+
z.pipe(
|
|
59
|
+
z.nullish(schema),
|
|
60
|
+
z.transform((v) => v ?? void 0)
|
|
61
|
+
)
|
|
62
|
+
);
|
|
61
63
|
}
|
|
62
64
|
function breakpointMapSchema(valueSchema) {
|
|
63
65
|
return z.object({
|
|
64
66
|
base: valueSchema,
|
|
65
|
-
sm: nullishField(valueSchema)
|
|
66
|
-
md: nullishField(valueSchema)
|
|
67
|
-
lg: nullishField(valueSchema)
|
|
68
|
-
xl: nullishField(valueSchema)
|
|
69
|
-
"2xl": nullishField(valueSchema)
|
|
70
|
-
"3xl": nullishField(valueSchema)
|
|
67
|
+
sm: z.catch(nullishField(valueSchema), void 0),
|
|
68
|
+
md: z.catch(nullishField(valueSchema), void 0),
|
|
69
|
+
lg: z.catch(nullishField(valueSchema), void 0),
|
|
70
|
+
xl: z.catch(nullishField(valueSchema), void 0),
|
|
71
|
+
"2xl": z.catch(nullishField(valueSchema), void 0),
|
|
72
|
+
"3xl": z.catch(nullishField(valueSchema), void 0)
|
|
71
73
|
});
|
|
72
74
|
}
|
|
73
75
|
function responsive(valueSchema) {
|
|
@@ -131,14 +133,17 @@ var blogThemeSchema = z.object({
|
|
|
131
133
|
function dropInvalidFields(shape) {
|
|
132
134
|
const out = {};
|
|
133
135
|
for (const [key, schema] of Object.entries(shape)) {
|
|
134
|
-
out[key] = nullTolerant(schema)
|
|
136
|
+
out[key] = z.catch(nullTolerant(schema), void 0);
|
|
135
137
|
}
|
|
136
138
|
return out;
|
|
137
139
|
}
|
|
138
140
|
function nullTolerant(schema) {
|
|
139
|
-
if (schema instanceof z.
|
|
140
|
-
const options = schema.options;
|
|
141
|
-
return z.
|
|
141
|
+
if (schema instanceof z.ZodMiniUnion) {
|
|
142
|
+
const options = schema.def.options;
|
|
143
|
+
return z.pipe(
|
|
144
|
+
z.optional(z.union([...options, z.null()])),
|
|
145
|
+
z.transform((v) => v ?? void 0)
|
|
146
|
+
);
|
|
142
147
|
}
|
|
143
148
|
return nullishField(schema);
|
|
144
149
|
}
|
|
@@ -263,91 +268,109 @@ function blogThemeToCssVars(theme) {
|
|
|
263
268
|
var schemaVersionSchema = z2.literal(1);
|
|
264
269
|
var blogHeroImageSchema = z2.object({
|
|
265
270
|
url: z2.string(),
|
|
266
|
-
alt: z2.string()
|
|
267
|
-
width: z2.
|
|
268
|
-
height: z2.
|
|
271
|
+
alt: z2.catch(z2.string(), ""),
|
|
272
|
+
width: z2.int(),
|
|
273
|
+
height: z2.int()
|
|
269
274
|
});
|
|
270
275
|
var blogManifestEntrySchema = z2.object({
|
|
271
276
|
slug: z2.string(),
|
|
272
277
|
title: z2.string(),
|
|
273
|
-
description: z2.string()
|
|
278
|
+
description: z2.catch(z2.string(), ""),
|
|
274
279
|
content_hash: z2.string(),
|
|
275
280
|
content_key: z2.string(),
|
|
276
281
|
published_at: z2.string(),
|
|
277
282
|
updated_at: z2.string(),
|
|
278
283
|
// Estimated read time in whole minutes (computed at publish from the post
|
|
279
284
|
// body). 0 when unknown; index cards render "N min read".
|
|
280
|
-
reading_minutes: z2.
|
|
285
|
+
reading_minutes: z2.catch(z2.int(), 0),
|
|
281
286
|
// A malformed tags array / hero_image degrades gracefully instead of
|
|
282
287
|
// dropping the whole entry.
|
|
283
|
-
tags: z2.array(z2.string())
|
|
284
|
-
hero_image:
|
|
288
|
+
tags: z2.catch(z2.array(z2.string()), []),
|
|
289
|
+
hero_image: z2.catch(z2.nullable(blogHeroImageSchema), null)
|
|
285
290
|
});
|
|
286
291
|
var blogManifestWireSchema = z2.object({
|
|
287
292
|
schema_version: schemaVersionSchema,
|
|
288
293
|
namespace: z2.string(),
|
|
289
294
|
generated_at: z2.string(),
|
|
290
|
-
posts: z2.array(blogManifestEntrySchema)
|
|
295
|
+
posts: z2.catch(z2.array(blogManifestEntrySchema), [])
|
|
291
296
|
});
|
|
292
|
-
var blogManifestSchema =
|
|
297
|
+
var blogManifestSchema = z2.extend(blogManifestWireSchema, {
|
|
293
298
|
// A single malformed entry is dropped; the rest of the manifest survives.
|
|
294
|
-
posts: z2.
|
|
299
|
+
posts: z2.catch(
|
|
300
|
+
z2.pipe(
|
|
301
|
+
z2.array(z2.catch(z2.nullable(blogManifestEntrySchema), null)),
|
|
302
|
+
z2.transform((entries) => entries.filter((e) => e !== null))
|
|
303
|
+
),
|
|
304
|
+
[]
|
|
305
|
+
)
|
|
295
306
|
});
|
|
296
307
|
var blogImageSchema = z2.object({
|
|
297
308
|
id: z2.string(),
|
|
298
309
|
url: z2.string(),
|
|
299
|
-
alt: z2.string()
|
|
300
|
-
caption: z2.
|
|
301
|
-
role: z2.enum(["hero", "inline"])
|
|
302
|
-
width: z2.
|
|
303
|
-
height: z2.
|
|
304
|
-
mime: z2.string()
|
|
310
|
+
alt: z2.catch(z2.string(), ""),
|
|
311
|
+
caption: z2.catch(z2.nullable(z2.string()), null),
|
|
312
|
+
role: z2.catch(z2.enum(["hero", "inline"]), "inline"),
|
|
313
|
+
width: z2.int(),
|
|
314
|
+
height: z2.int(),
|
|
315
|
+
mime: z2.catch(z2.string(), "")
|
|
305
316
|
});
|
|
306
317
|
var blogSeoSchema = z2.object({
|
|
307
|
-
meta_title: z2.string()
|
|
308
|
-
meta_description: z2.string()
|
|
309
|
-
canonical_path: z2.string()
|
|
310
|
-
og_image: z2.
|
|
318
|
+
meta_title: z2.catch(z2.string(), ""),
|
|
319
|
+
meta_description: z2.catch(z2.string(), ""),
|
|
320
|
+
canonical_path: z2.catch(z2.string(), ""),
|
|
321
|
+
og_image: z2.catch(z2.nullable(z2.string()), null)
|
|
311
322
|
});
|
|
312
323
|
var blogPostContentWireSchema = z2.object({
|
|
313
324
|
schema_version: schemaVersionSchema,
|
|
314
325
|
slug: z2.string(),
|
|
315
326
|
title: z2.string(),
|
|
316
|
-
description: z2.string()
|
|
327
|
+
description: z2.catch(z2.string(), ""),
|
|
317
328
|
mdx: z2.string(),
|
|
318
|
-
images: z2.array(blogImageSchema)
|
|
329
|
+
images: z2.catch(z2.array(blogImageSchema), []),
|
|
319
330
|
// Already schema-validated at publish time, but re-sanitized on read (and
|
|
320
331
|
// again before rendering) — the override schema itself drops invalid values.
|
|
321
332
|
// Nullish: the backend serializes an unset override as an explicit `null`
|
|
322
333
|
// (Pydantic `model_dump()`); it folds into `undefined` for TS consumers.
|
|
323
|
-
theme_overrides: nullishField(blogThemeOverrideSchema)
|
|
324
|
-
seo:
|
|
334
|
+
theme_overrides: z2.catch(nullishField(blogThemeOverrideSchema), void 0),
|
|
335
|
+
seo: z2.catch(blogSeoSchema, {
|
|
325
336
|
meta_title: "",
|
|
326
337
|
meta_description: "",
|
|
327
338
|
canonical_path: "",
|
|
328
339
|
og_image: null
|
|
329
340
|
}),
|
|
330
|
-
jsonld: z2.record(z2.unknown())
|
|
341
|
+
jsonld: z2.catch(z2.record(z2.string(), z2.unknown()), {}),
|
|
331
342
|
published_at: z2.string(),
|
|
332
343
|
// The applied_at of the version this content was published from; `null`
|
|
333
344
|
// when the backend has no separate modified date. Nullish on the wire
|
|
334
345
|
// (Pydantic `model_dump()` emits explicit `null`s), folded to `null` for a
|
|
335
346
|
// single TS sentinel; a malformed value degrades to `null` instead of
|
|
336
347
|
// dropping the post.
|
|
337
|
-
updated_at: z2.
|
|
338
|
-
|
|
348
|
+
updated_at: z2.catch(
|
|
349
|
+
z2.pipe(
|
|
350
|
+
z2.nullish(z2.string()),
|
|
351
|
+
z2.transform((v) => v ?? null)
|
|
352
|
+
),
|
|
353
|
+
null
|
|
354
|
+
),
|
|
355
|
+
version_number: z2.catch(z2.int(), 0),
|
|
339
356
|
content_hash: z2.string()
|
|
340
357
|
});
|
|
341
|
-
var blogPostContentSchema =
|
|
358
|
+
var blogPostContentSchema = z2.extend(blogPostContentWireSchema, {
|
|
342
359
|
// A single malformed image record is dropped; the post survives.
|
|
343
|
-
images: z2.
|
|
360
|
+
images: z2.catch(
|
|
361
|
+
z2.pipe(
|
|
362
|
+
z2.array(z2.catch(z2.nullable(blogImageSchema), null)),
|
|
363
|
+
z2.transform((images) => images.filter((i) => i !== null))
|
|
364
|
+
),
|
|
365
|
+
[]
|
|
366
|
+
)
|
|
344
367
|
});
|
|
345
368
|
function parseBlogManifest(raw) {
|
|
346
|
-
const parsed =
|
|
369
|
+
const parsed = z2.safeParse(blogManifestSchema, raw);
|
|
347
370
|
return parsed.success ? parsed.data : null;
|
|
348
371
|
}
|
|
349
372
|
function parseBlogPostContent(raw) {
|
|
350
|
-
const parsed =
|
|
373
|
+
const parsed = z2.safeParse(blogPostContentSchema, raw);
|
|
351
374
|
return parsed.success ? parsed.data : null;
|
|
352
375
|
}
|
|
353
376
|
|