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