@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.js
CHANGED
|
@@ -81,18 +81,15 @@ function registerCapability(capability) {
|
|
|
81
81
|
registered.add(capability);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
// ../tracking-core/src/phone.ts
|
|
85
|
-
var import_libphonenumber_js = require("libphonenumber-js");
|
|
86
|
-
|
|
87
84
|
// ../tracking-core/src/resources/tracking-config-runtime.ts
|
|
88
85
|
var DEFAULT_CDN_BASE_URL = "https://demos.aranova.io";
|
|
89
86
|
var RETRY_MAX_MS = 5 * 6e4;
|
|
90
87
|
|
|
91
88
|
// ../tracking-core/src/resources/blog/schema.ts
|
|
92
|
-
var
|
|
89
|
+
var z2 = __toESM(require("zod/mini"));
|
|
93
90
|
|
|
94
91
|
// ../tracking-core/src/resources/blog/theme.ts
|
|
95
|
-
var
|
|
92
|
+
var z = __toESM(require("zod/mini"));
|
|
96
93
|
var BLOG_BREAKPOINTS = ["sm", "md", "lg", "xl", "2xl", "3xl"];
|
|
97
94
|
var BLOG_BREAKPOINT_MIN_WIDTHS_PX = {
|
|
98
95
|
sm: 640,
|
|
@@ -111,40 +108,45 @@ var LENGTH = /^-?\d+(\.\d+)?(px|rem|em|%|ch|vw)$/;
|
|
|
111
108
|
var LINE_HEIGHT = /^-?\d+(\.\d+)?(px|rem|em|%|ch|vw)?$/;
|
|
112
109
|
var FONT_FAMILY_TOKEN = /^['"]?[a-zA-Z0-9 -]+['"]?$/;
|
|
113
110
|
var FONT_FAMILY_VAR_TOKEN = /^var\(--[a-zA-Z0-9-]+\)$/;
|
|
114
|
-
var colorValueSchema =
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
});
|
|
120
|
-
var lineHeightValueSchema =
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
var
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
111
|
+
var colorValueSchema = z.string().check(
|
|
112
|
+
z.refine((v) => HEX_COLOR.test(v) || FUNCTIONAL_COLOR.test(v), {
|
|
113
|
+
error: "must be a #hex or rgb()/rgba()/hsl()/hsla()/oklch() color"
|
|
114
|
+
})
|
|
115
|
+
);
|
|
116
|
+
var lengthValueSchema = z.string().check(z.regex(LENGTH, { error: "must be a CSS length (px|rem|em|%|ch|vw)" }));
|
|
117
|
+
var lineHeightValueSchema = z.string().check(z.regex(LINE_HEIGHT, { error: "must be a CSS length or unitless line-height" }));
|
|
118
|
+
var fontWeightSchema = z.int().check(z.gte(100), z.lte(1e3));
|
|
119
|
+
var alignValueSchema = z.enum(["left", "center", "right"]);
|
|
120
|
+
var fontFamilySchema = z.string().check(
|
|
121
|
+
z.refine(
|
|
122
|
+
(v) => {
|
|
123
|
+
const tokens = v.split(",").map((t) => t.trim());
|
|
124
|
+
return tokens.length > 0 && tokens.every((t) => FONT_FAMILY_TOKEN.test(t) || FONT_FAMILY_VAR_TOKEN.test(t));
|
|
125
|
+
},
|
|
126
|
+
{ error: "must be a comma-separated list of font-family or var(--custom-property) tokens" }
|
|
127
|
+
)
|
|
131
128
|
);
|
|
132
129
|
function nullishField(schema) {
|
|
133
|
-
return
|
|
130
|
+
return z.optional(
|
|
131
|
+
z.pipe(
|
|
132
|
+
z.nullish(schema),
|
|
133
|
+
z.transform((v) => v ?? void 0)
|
|
134
|
+
)
|
|
135
|
+
);
|
|
134
136
|
}
|
|
135
137
|
function breakpointMapSchema(valueSchema) {
|
|
136
|
-
return
|
|
138
|
+
return z.object({
|
|
137
139
|
base: valueSchema,
|
|
138
|
-
sm: nullishField(valueSchema)
|
|
139
|
-
md: nullishField(valueSchema)
|
|
140
|
-
lg: nullishField(valueSchema)
|
|
141
|
-
xl: nullishField(valueSchema)
|
|
142
|
-
"2xl": nullishField(valueSchema)
|
|
143
|
-
"3xl": nullishField(valueSchema)
|
|
140
|
+
sm: z.catch(nullishField(valueSchema), void 0),
|
|
141
|
+
md: z.catch(nullishField(valueSchema), void 0),
|
|
142
|
+
lg: z.catch(nullishField(valueSchema), void 0),
|
|
143
|
+
xl: z.catch(nullishField(valueSchema), void 0),
|
|
144
|
+
"2xl": z.catch(nullishField(valueSchema), void 0),
|
|
145
|
+
"3xl": z.catch(nullishField(valueSchema), void 0)
|
|
144
146
|
});
|
|
145
147
|
}
|
|
146
148
|
function responsive(valueSchema) {
|
|
147
|
-
return
|
|
149
|
+
return z.union([valueSchema, breakpointMapSchema(valueSchema)]);
|
|
148
150
|
}
|
|
149
151
|
var blogThemeColorsShape = {
|
|
150
152
|
background: colorValueSchema,
|
|
@@ -158,14 +160,14 @@ var blogThemeColorsShape = {
|
|
|
158
160
|
code_background: colorValueSchema,
|
|
159
161
|
heading: colorValueSchema
|
|
160
162
|
};
|
|
161
|
-
var blogThemeColorsSchema =
|
|
163
|
+
var blogThemeColorsSchema = z.object({
|
|
162
164
|
...blogThemeColorsShape,
|
|
163
165
|
// The ONE optional color in a resolved theme: when unset, headings fall back
|
|
164
166
|
// to `text` in the stylesheet (`--_heading-color`), so `blogThemeToCssVars`
|
|
165
167
|
// only emits `--ara-blog-color-heading` when a theme actually sets it.
|
|
166
168
|
heading: nullishField(colorValueSchema)
|
|
167
169
|
});
|
|
168
|
-
var blogThemeTypographySchema =
|
|
170
|
+
var blogThemeTypographySchema = z.object({
|
|
169
171
|
heading_family: fontFamilySchema,
|
|
170
172
|
body_family: fontFamilySchema,
|
|
171
173
|
heading_weight: fontWeightSchema,
|
|
@@ -184,17 +186,17 @@ var blogThemeTypographySchema = import_zod.z.object({
|
|
|
184
186
|
// default center in the base CSS if unset.
|
|
185
187
|
caption_align: alignValueSchema
|
|
186
188
|
});
|
|
187
|
-
var blogThemeSpacingSchema =
|
|
189
|
+
var blogThemeSpacingSchema = z.object({
|
|
188
190
|
content_max_width: responsive(lengthValueSchema),
|
|
189
191
|
block_gap: responsive(lengthValueSchema),
|
|
190
192
|
section_gap: responsive(lengthValueSchema)
|
|
191
193
|
});
|
|
192
|
-
var blogThemeColorsPartialSchema =
|
|
194
|
+
var blogThemeColorsPartialSchema = z.object(
|
|
193
195
|
Object.fromEntries(
|
|
194
196
|
Object.keys(blogThemeColorsShape).map((key) => [key, nullishField(colorValueSchema)])
|
|
195
197
|
)
|
|
196
198
|
);
|
|
197
|
-
var blogThemeSchema =
|
|
199
|
+
var blogThemeSchema = z.object({
|
|
198
200
|
colors: blogThemeColorsSchema,
|
|
199
201
|
colors_dark: nullishField(blogThemeColorsPartialSchema),
|
|
200
202
|
typography: blogThemeTypographySchema,
|
|
@@ -204,23 +206,26 @@ var blogThemeSchema = import_zod.z.object({
|
|
|
204
206
|
function dropInvalidFields(shape) {
|
|
205
207
|
const out = {};
|
|
206
208
|
for (const [key, schema] of Object.entries(shape)) {
|
|
207
|
-
out[key] = nullTolerant(schema)
|
|
209
|
+
out[key] = z.catch(nullTolerant(schema), void 0);
|
|
208
210
|
}
|
|
209
211
|
return out;
|
|
210
212
|
}
|
|
211
213
|
function nullTolerant(schema) {
|
|
212
|
-
if (schema instanceof
|
|
213
|
-
const options = schema.options;
|
|
214
|
-
return
|
|
214
|
+
if (schema instanceof z.ZodMiniUnion) {
|
|
215
|
+
const options = schema.def.options;
|
|
216
|
+
return z.pipe(
|
|
217
|
+
z.optional(z.union([...options, z.null()])),
|
|
218
|
+
z.transform((v) => v ?? void 0)
|
|
219
|
+
);
|
|
215
220
|
}
|
|
216
221
|
return nullishField(schema);
|
|
217
222
|
}
|
|
218
|
-
var blogThemeColorsOverrideSchema =
|
|
219
|
-
var blogThemeTypographyOverrideSchema =
|
|
223
|
+
var blogThemeColorsOverrideSchema = z.object(dropInvalidFields(blogThemeColorsShape));
|
|
224
|
+
var blogThemeTypographyOverrideSchema = z.object(
|
|
220
225
|
dropInvalidFields(blogThemeTypographySchema.shape)
|
|
221
226
|
);
|
|
222
|
-
var blogThemeSpacingOverrideSchema =
|
|
223
|
-
var blogThemeOverrideSchema =
|
|
227
|
+
var blogThemeSpacingOverrideSchema = z.object(dropInvalidFields(blogThemeSpacingSchema.shape));
|
|
228
|
+
var blogThemeOverrideSchema = z.object(
|
|
224
229
|
dropInvalidFields({
|
|
225
230
|
colors: blogThemeColorsOverrideSchema,
|
|
226
231
|
colors_dark: blogThemeColorsOverrideSchema,
|
|
@@ -333,94 +338,112 @@ function blogThemeToCssVars(theme) {
|
|
|
333
338
|
}
|
|
334
339
|
|
|
335
340
|
// ../tracking-core/src/resources/blog/schema.ts
|
|
336
|
-
var schemaVersionSchema =
|
|
337
|
-
var blogHeroImageSchema =
|
|
338
|
-
url:
|
|
339
|
-
alt:
|
|
340
|
-
width:
|
|
341
|
-
height:
|
|
341
|
+
var schemaVersionSchema = z2.literal(1);
|
|
342
|
+
var blogHeroImageSchema = z2.object({
|
|
343
|
+
url: z2.string(),
|
|
344
|
+
alt: z2.catch(z2.string(), ""),
|
|
345
|
+
width: z2.int(),
|
|
346
|
+
height: z2.int()
|
|
342
347
|
});
|
|
343
|
-
var blogManifestEntrySchema =
|
|
344
|
-
slug:
|
|
345
|
-
title:
|
|
346
|
-
description:
|
|
347
|
-
content_hash:
|
|
348
|
-
content_key:
|
|
349
|
-
published_at:
|
|
350
|
-
updated_at:
|
|
348
|
+
var blogManifestEntrySchema = z2.object({
|
|
349
|
+
slug: z2.string(),
|
|
350
|
+
title: z2.string(),
|
|
351
|
+
description: z2.catch(z2.string(), ""),
|
|
352
|
+
content_hash: z2.string(),
|
|
353
|
+
content_key: z2.string(),
|
|
354
|
+
published_at: z2.string(),
|
|
355
|
+
updated_at: z2.string(),
|
|
351
356
|
// Estimated read time in whole minutes (computed at publish from the post
|
|
352
357
|
// body). 0 when unknown; index cards render "N min read".
|
|
353
|
-
reading_minutes:
|
|
358
|
+
reading_minutes: z2.catch(z2.int(), 0),
|
|
354
359
|
// A malformed tags array / hero_image degrades gracefully instead of
|
|
355
360
|
// dropping the whole entry.
|
|
356
|
-
tags:
|
|
357
|
-
hero_image:
|
|
361
|
+
tags: z2.catch(z2.array(z2.string()), []),
|
|
362
|
+
hero_image: z2.catch(z2.nullable(blogHeroImageSchema), null)
|
|
358
363
|
});
|
|
359
|
-
var blogManifestWireSchema =
|
|
364
|
+
var blogManifestWireSchema = z2.object({
|
|
360
365
|
schema_version: schemaVersionSchema,
|
|
361
|
-
namespace:
|
|
362
|
-
generated_at:
|
|
363
|
-
posts:
|
|
366
|
+
namespace: z2.string(),
|
|
367
|
+
generated_at: z2.string(),
|
|
368
|
+
posts: z2.catch(z2.array(blogManifestEntrySchema), [])
|
|
364
369
|
});
|
|
365
|
-
var blogManifestSchema =
|
|
370
|
+
var blogManifestSchema = z2.extend(blogManifestWireSchema, {
|
|
366
371
|
// A single malformed entry is dropped; the rest of the manifest survives.
|
|
367
|
-
posts:
|
|
372
|
+
posts: z2.catch(
|
|
373
|
+
z2.pipe(
|
|
374
|
+
z2.array(z2.catch(z2.nullable(blogManifestEntrySchema), null)),
|
|
375
|
+
z2.transform((entries) => entries.filter((e) => e !== null))
|
|
376
|
+
),
|
|
377
|
+
[]
|
|
378
|
+
)
|
|
368
379
|
});
|
|
369
|
-
var blogImageSchema =
|
|
370
|
-
id:
|
|
371
|
-
url:
|
|
372
|
-
alt:
|
|
373
|
-
caption:
|
|
374
|
-
role:
|
|
375
|
-
width:
|
|
376
|
-
height:
|
|
377
|
-
mime:
|
|
380
|
+
var blogImageSchema = z2.object({
|
|
381
|
+
id: z2.string(),
|
|
382
|
+
url: z2.string(),
|
|
383
|
+
alt: z2.catch(z2.string(), ""),
|
|
384
|
+
caption: z2.catch(z2.nullable(z2.string()), null),
|
|
385
|
+
role: z2.catch(z2.enum(["hero", "inline"]), "inline"),
|
|
386
|
+
width: z2.int(),
|
|
387
|
+
height: z2.int(),
|
|
388
|
+
mime: z2.catch(z2.string(), "")
|
|
378
389
|
});
|
|
379
|
-
var blogSeoSchema =
|
|
380
|
-
meta_title:
|
|
381
|
-
meta_description:
|
|
382
|
-
canonical_path:
|
|
383
|
-
og_image:
|
|
390
|
+
var blogSeoSchema = z2.object({
|
|
391
|
+
meta_title: z2.catch(z2.string(), ""),
|
|
392
|
+
meta_description: z2.catch(z2.string(), ""),
|
|
393
|
+
canonical_path: z2.catch(z2.string(), ""),
|
|
394
|
+
og_image: z2.catch(z2.nullable(z2.string()), null)
|
|
384
395
|
});
|
|
385
|
-
var blogPostContentWireSchema =
|
|
396
|
+
var blogPostContentWireSchema = z2.object({
|
|
386
397
|
schema_version: schemaVersionSchema,
|
|
387
|
-
slug:
|
|
388
|
-
title:
|
|
389
|
-
description:
|
|
390
|
-
mdx:
|
|
391
|
-
images:
|
|
398
|
+
slug: z2.string(),
|
|
399
|
+
title: z2.string(),
|
|
400
|
+
description: z2.catch(z2.string(), ""),
|
|
401
|
+
mdx: z2.string(),
|
|
402
|
+
images: z2.catch(z2.array(blogImageSchema), []),
|
|
392
403
|
// Already schema-validated at publish time, but re-sanitized on read (and
|
|
393
404
|
// again before rendering) — the override schema itself drops invalid values.
|
|
394
405
|
// Nullish: the backend serializes an unset override as an explicit `null`
|
|
395
406
|
// (Pydantic `model_dump()`); it folds into `undefined` for TS consumers.
|
|
396
|
-
theme_overrides: nullishField(blogThemeOverrideSchema)
|
|
397
|
-
seo:
|
|
407
|
+
theme_overrides: z2.catch(nullishField(blogThemeOverrideSchema), void 0),
|
|
408
|
+
seo: z2.catch(blogSeoSchema, {
|
|
398
409
|
meta_title: "",
|
|
399
410
|
meta_description: "",
|
|
400
411
|
canonical_path: "",
|
|
401
412
|
og_image: null
|
|
402
413
|
}),
|
|
403
|
-
jsonld:
|
|
404
|
-
published_at:
|
|
414
|
+
jsonld: z2.catch(z2.record(z2.string(), z2.unknown()), {}),
|
|
415
|
+
published_at: z2.string(),
|
|
405
416
|
// The applied_at of the version this content was published from; `null`
|
|
406
417
|
// when the backend has no separate modified date. Nullish on the wire
|
|
407
418
|
// (Pydantic `model_dump()` emits explicit `null`s), folded to `null` for a
|
|
408
419
|
// single TS sentinel; a malformed value degrades to `null` instead of
|
|
409
420
|
// dropping the post.
|
|
410
|
-
updated_at:
|
|
411
|
-
|
|
412
|
-
|
|
421
|
+
updated_at: z2.catch(
|
|
422
|
+
z2.pipe(
|
|
423
|
+
z2.nullish(z2.string()),
|
|
424
|
+
z2.transform((v) => v ?? null)
|
|
425
|
+
),
|
|
426
|
+
null
|
|
427
|
+
),
|
|
428
|
+
version_number: z2.catch(z2.int(), 0),
|
|
429
|
+
content_hash: z2.string()
|
|
413
430
|
});
|
|
414
|
-
var blogPostContentSchema =
|
|
431
|
+
var blogPostContentSchema = z2.extend(blogPostContentWireSchema, {
|
|
415
432
|
// A single malformed image record is dropped; the post survives.
|
|
416
|
-
images:
|
|
433
|
+
images: z2.catch(
|
|
434
|
+
z2.pipe(
|
|
435
|
+
z2.array(z2.catch(z2.nullable(blogImageSchema), null)),
|
|
436
|
+
z2.transform((images) => images.filter((i) => i !== null))
|
|
437
|
+
),
|
|
438
|
+
[]
|
|
439
|
+
)
|
|
417
440
|
});
|
|
418
441
|
function parseBlogManifest(raw) {
|
|
419
|
-
const parsed =
|
|
442
|
+
const parsed = z2.safeParse(blogManifestSchema, raw);
|
|
420
443
|
return parsed.success ? parsed.data : null;
|
|
421
444
|
}
|
|
422
445
|
function parseBlogPostContent(raw) {
|
|
423
|
-
const parsed =
|
|
446
|
+
const parsed = z2.safeParse(blogPostContentSchema, raw);
|
|
424
447
|
return parsed.success ? parsed.data : null;
|
|
425
448
|
}
|
|
426
449
|
|