@growth-labs/cms 0.5.5 → 0.5.7
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/README.md +46 -0
- package/dist/engine/ai-dek-notifications.d.ts +16 -0
- package/dist/engine/ai-dek-notifications.d.ts.map +1 -0
- package/dist/engine/ai-dek-notifications.js +34 -0
- package/dist/engine/ai-dek-notifications.js.map +1 -0
- package/dist/engine/ai-dek.d.ts +35 -0
- package/dist/engine/ai-dek.d.ts.map +1 -0
- package/dist/engine/ai-dek.js +99 -0
- package/dist/engine/ai-dek.js.map +1 -0
- package/dist/engine/ai-prompts.d.ts +12 -0
- package/dist/engine/ai-prompts.d.ts.map +1 -1
- package/dist/engine/ai-prompts.js +17 -0
- package/dist/engine/ai-prompts.js.map +1 -1
- package/dist/engine/index.d.ts +3 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +4 -1
- package/dist/engine/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integration/index.d.ts.map +1 -1
- package/dist/integration/index.js +13 -0
- package/dist/integration/index.js.map +1 -1
- package/dist/integration/options.d.ts +19 -0
- package/dist/integration/options.d.ts.map +1 -1
- package/dist/integration/options.js +7 -0
- package/dist/integration/options.js.map +1 -1
- package/dist/providers/null.d.ts +2 -1
- package/dist/providers/null.d.ts.map +1 -1
- package/dist/providers/null.js +9 -0
- package/dist/providers/null.js.map +1 -1
- package/dist/providers/types.d.ts +10 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/routes/ai.d.ts +2 -0
- package/dist/routes/ai.d.ts.map +1 -1
- package/dist/routes/ai.js +42 -0
- package/dist/routes/ai.js.map +1 -1
- package/dist/routes/authz-matrix.d.ts +2 -1
- package/dist/routes/authz-matrix.d.ts.map +1 -1
- package/dist/routes/authz-matrix.js +5 -0
- package/dist/routes/authz-matrix.js.map +1 -1
- package/dist/routes/content.d.ts.map +1 -1
- package/dist/routes/content.js +43 -1
- package/dist/routes/content.js.map +1 -1
- package/dist/routes/context.d.ts +1 -1
- package/dist/routes/context.d.ts.map +1 -1
- package/dist/routes/context.js.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +2 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/surveys.d.ts +12 -0
- package/dist/routes/surveys.d.ts.map +1 -0
- package/dist/routes/surveys.js +109 -0
- package/dist/routes/surveys.js.map +1 -0
- package/dist/schema/insights-ingest.d.ts +46 -46
- package/dist/surveys/access.d.ts +4 -0
- package/dist/surveys/access.d.ts.map +1 -0
- package/dist/surveys/access.js +9 -0
- package/dist/surveys/access.js.map +1 -0
- package/dist/surveys/errors.d.ts +43 -0
- package/dist/surveys/errors.d.ts.map +1 -0
- package/dist/surveys/errors.js +42 -0
- package/dist/surveys/errors.js.map +1 -0
- package/dist/surveys/schema.d.ts +939 -0
- package/dist/surveys/schema.d.ts.map +1 -0
- package/dist/surveys/schema.js +385 -0
- package/dist/surveys/schema.js.map +1 -0
- package/dist/ui/api/_content-config.d.ts.map +1 -1
- package/dist/ui/api/_content-config.js +1 -0
- package/dist/ui/api/_content-config.js.map +1 -1
- package/dist/ui/api/content/[id]/ai/dek.d.ts +3 -0
- package/dist/ui/api/content/[id]/ai/dek.d.ts.map +1 -0
- package/dist/ui/api/content/[id]/ai/dek.js +5 -0
- package/dist/ui/api/content/[id]/ai/dek.js.map +1 -0
- package/dist/ui/api/surveys/[surveyId]/responses.csv.d.ts +3 -0
- package/dist/ui/api/surveys/[surveyId]/responses.csv.d.ts.map +1 -0
- package/dist/ui/api/surveys/[surveyId]/responses.csv.js +17 -0
- package/dist/ui/api/surveys/[surveyId]/responses.csv.js.map +1 -0
- package/dist/ui/api/surveys/[surveyId].d.ts +3 -0
- package/dist/ui/api/surveys/[surveyId].d.ts.map +1 -0
- package/dist/ui/api/surveys/[surveyId].js +17 -0
- package/dist/ui/api/surveys/[surveyId].js.map +1 -0
- package/dist/ui/client/mount.d.ts.map +1 -1
- package/dist/ui/client/mount.js +1 -0
- package/dist/ui/client/mount.js.map +1 -1
- package/dist/ui/commands.d.ts +5 -1
- package/dist/ui/commands.d.ts.map +1 -1
- package/dist/ui/commands.js +7 -0
- package/dist/ui/commands.js.map +1 -1
- package/dist/ui/components/CmsApp.d.ts +2 -0
- package/dist/ui/components/CmsApp.d.ts.map +1 -1
- package/dist/ui/components/CmsApp.js +14 -3
- package/dist/ui/components/CmsApp.js.map +1 -1
- package/dist/ui/components/CommandPalette.d.ts +2 -0
- package/dist/ui/components/CommandPalette.d.ts.map +1 -1
- package/dist/ui/components/CommandPalette.js +1 -1
- package/dist/ui/components/CommandPalette.js.map +1 -1
- package/dist/ui/components/Sidebar.d.ts +1 -0
- package/dist/ui/components/Sidebar.d.ts.map +1 -1
- package/dist/ui/components/Sidebar.js +1 -1
- package/dist/ui/components/Sidebar.js.map +1 -1
- package/dist/ui/editor/AiAssistPanel.d.ts +3 -1
- package/dist/ui/editor/AiAssistPanel.d.ts.map +1 -1
- package/dist/ui/editor/AiAssistPanel.js +28 -4
- package/dist/ui/editor/AiAssistPanel.js.map +1 -1
- package/dist/ui/editor/ContentForm.d.ts.map +1 -1
- package/dist/ui/editor/ContentForm.js +1 -1
- package/dist/ui/editor/ContentForm.js.map +1 -1
- package/dist/ui/editor/ai-assist.d.ts +2 -2
- package/dist/ui/editor/ai-assist.d.ts.map +1 -1
- package/dist/ui/hash-router.d.ts +1 -1
- package/dist/ui/hash-router.d.ts.map +1 -1
- package/dist/ui/hash-router.js +1 -0
- package/dist/ui/hash-router.js.map +1 -1
- package/dist/ui/nav.d.ts +5 -1
- package/dist/ui/nav.d.ts.map +1 -1
- package/dist/ui/nav.js +10 -2
- package/dist/ui/nav.js.map +1 -1
- package/dist/ui/screens/SurveyResponsesScreen.d.ts +28 -0
- package/dist/ui/screens/SurveyResponsesScreen.d.ts.map +1 -0
- package/dist/ui/screens/SurveyResponsesScreen.js +110 -0
- package/dist/ui/screens/SurveyResponsesScreen.js.map +1 -0
- package/dist/ui/screens/registry.d.ts +2 -1
- package/dist/ui/screens/registry.d.ts.map +1 -1
- package/dist/ui/screens/registry.js +5 -1
- package/dist/ui/screens/registry.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/ai-dek-notifications.ts +50 -0
- package/src/engine/ai-dek.ts +138 -0
- package/src/engine/ai-prompts.ts +25 -0
- package/src/engine/index.ts +14 -0
- package/src/index.ts +2 -2
- package/src/integration/index.ts +13 -0
- package/src/integration/options.ts +8 -0
- package/src/providers/null.ts +19 -0
- package/src/providers/types.ts +7 -0
- package/src/routes/ai.ts +44 -0
- package/src/routes/authz-matrix.ts +14 -1
- package/src/routes/content.ts +45 -1
- package/src/routes/context.ts +3 -0
- package/src/routes/index.ts +6 -0
- package/src/routes/surveys.ts +130 -0
- package/src/surveys/access.ts +11 -0
- package/src/surveys/errors.ts +51 -0
- package/src/surveys/schema.ts +435 -0
- package/src/ui/api/_content-config.ts +2 -0
- package/src/ui/api/content/[id]/ai/dek.ts +8 -0
- package/src/ui/api/surveys/[surveyId]/responses.csv.ts +23 -0
- package/src/ui/api/surveys/[surveyId].ts +23 -0
- package/src/ui/client/mount.tsx +1 -0
- package/src/ui/commands.ts +14 -1
- package/src/ui/components/CmsApp.tsx +25 -3
- package/src/ui/components/CommandPalette.tsx +2 -1
- package/src/ui/components/Sidebar.tsx +10 -2
- package/src/ui/editor/AiAssistPanel.tsx +55 -3
- package/src/ui/editor/ContentForm.tsx +3 -1
- package/src/ui/editor/ai-assist.ts +2 -2
- package/src/ui/hash-router.ts +1 -0
- package/src/ui/nav.ts +15 -2
- package/src/ui/screens/SurveyResponsesScreen.tsx +271 -0
- package/src/ui/screens/registry.tsx +6 -0
|
@@ -7,18 +7,18 @@ export declare const InsightEvidenceDemandSchema: z.ZodObject<{
|
|
|
7
7
|
position: z.ZodNumber;
|
|
8
8
|
trend: z.ZodNumber;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
position: number;
|
|
10
11
|
query: string;
|
|
11
12
|
impressions: number;
|
|
12
13
|
clicks: number;
|
|
13
14
|
ctr: number;
|
|
14
|
-
position: number;
|
|
15
15
|
trend: number;
|
|
16
16
|
}, {
|
|
17
|
+
position: number;
|
|
17
18
|
query: string;
|
|
18
19
|
impressions: number;
|
|
19
20
|
clicks: number;
|
|
20
21
|
ctr: number;
|
|
21
|
-
position: number;
|
|
22
22
|
trend: number;
|
|
23
23
|
}>;
|
|
24
24
|
export declare const InsightEvidenceOpportunitySchema: z.ZodObject<{
|
|
@@ -39,18 +39,18 @@ export declare const InsightEvidenceSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
39
39
|
position: z.ZodNumber;
|
|
40
40
|
trend: z.ZodNumber;
|
|
41
41
|
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
position: number;
|
|
42
43
|
query: string;
|
|
43
44
|
impressions: number;
|
|
44
45
|
clicks: number;
|
|
45
46
|
ctr: number;
|
|
46
|
-
position: number;
|
|
47
47
|
trend: number;
|
|
48
48
|
}, {
|
|
49
|
+
position: number;
|
|
49
50
|
query: string;
|
|
50
51
|
impressions: number;
|
|
51
52
|
clicks: number;
|
|
52
53
|
ctr: number;
|
|
53
|
-
position: number;
|
|
54
54
|
trend: number;
|
|
55
55
|
}>, z.ZodObject<{
|
|
56
56
|
basis: z.ZodString;
|
|
@@ -191,18 +191,18 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
|
|
|
191
191
|
position: z.ZodNumber;
|
|
192
192
|
trend: z.ZodNumber;
|
|
193
193
|
}, "strip", z.ZodTypeAny, {
|
|
194
|
+
position: number;
|
|
194
195
|
query: string;
|
|
195
196
|
impressions: number;
|
|
196
197
|
clicks: number;
|
|
197
198
|
ctr: number;
|
|
198
|
-
position: number;
|
|
199
199
|
trend: number;
|
|
200
200
|
}, {
|
|
201
|
+
position: number;
|
|
201
202
|
query: string;
|
|
202
203
|
impressions: number;
|
|
203
204
|
clicks: number;
|
|
204
205
|
ctr: number;
|
|
205
|
-
position: number;
|
|
206
206
|
trend: number;
|
|
207
207
|
}>, z.ZodObject<{
|
|
208
208
|
basis: z.ZodString;
|
|
@@ -317,11 +317,11 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
|
|
|
317
317
|
desk_rank: number;
|
|
318
318
|
headline: string;
|
|
319
319
|
evidence: {
|
|
320
|
+
position: number;
|
|
320
321
|
query: string;
|
|
321
322
|
impressions: number;
|
|
322
323
|
clicks: number;
|
|
323
324
|
ctr: number;
|
|
324
|
-
position: number;
|
|
325
325
|
trend: number;
|
|
326
326
|
} | {
|
|
327
327
|
basis: string;
|
|
@@ -360,11 +360,11 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
|
|
|
360
360
|
desk_rank: number;
|
|
361
361
|
headline: string;
|
|
362
362
|
evidence: {
|
|
363
|
+
position: number;
|
|
363
364
|
query: string;
|
|
364
365
|
impressions: number;
|
|
365
366
|
clicks: number;
|
|
366
367
|
ctr: number;
|
|
367
|
-
position: number;
|
|
368
368
|
trend: number;
|
|
369
369
|
} | {
|
|
370
370
|
basis: string;
|
|
@@ -415,6 +415,10 @@ export declare const InsightsIngestMetaSchema: z.ZodObject<{
|
|
|
415
415
|
error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
416
416
|
}, "strip", z.ZodTypeAny, {
|
|
417
417
|
status: "failed" | "running" | "completed" | "partial";
|
|
418
|
+
counts: {
|
|
419
|
+
demand_count: number;
|
|
420
|
+
opportunity_count: number;
|
|
421
|
+
};
|
|
418
422
|
site_id: string;
|
|
419
423
|
run_date: string;
|
|
420
424
|
event_id: string;
|
|
@@ -422,13 +426,13 @@ export declare const InsightsIngestMetaSchema: z.ZodObject<{
|
|
|
422
426
|
run_attempt: number;
|
|
423
427
|
generated_at: number;
|
|
424
428
|
content_hash: string;
|
|
429
|
+
error?: string | null | undefined;
|
|
430
|
+
}, {
|
|
431
|
+
status: "failed" | "running" | "completed" | "partial";
|
|
425
432
|
counts: {
|
|
426
433
|
demand_count: number;
|
|
427
434
|
opportunity_count: number;
|
|
428
435
|
};
|
|
429
|
-
error?: string | null | undefined;
|
|
430
|
-
}, {
|
|
431
|
-
status: "failed" | "running" | "completed" | "partial";
|
|
432
436
|
site_id: string;
|
|
433
437
|
run_date: string;
|
|
434
438
|
event_id: string;
|
|
@@ -436,10 +440,6 @@ export declare const InsightsIngestMetaSchema: z.ZodObject<{
|
|
|
436
440
|
run_attempt: number;
|
|
437
441
|
generated_at: number;
|
|
438
442
|
content_hash: string;
|
|
439
|
-
counts: {
|
|
440
|
-
demand_count: number;
|
|
441
|
-
opportunity_count: number;
|
|
442
|
-
};
|
|
443
443
|
error?: string | null | undefined;
|
|
444
444
|
}>;
|
|
445
445
|
export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
@@ -465,6 +465,10 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
465
465
|
error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
466
466
|
}, "strip", z.ZodTypeAny, {
|
|
467
467
|
status: "failed" | "running" | "completed" | "partial";
|
|
468
|
+
counts: {
|
|
469
|
+
demand_count: number;
|
|
470
|
+
opportunity_count: number;
|
|
471
|
+
};
|
|
468
472
|
site_id: string;
|
|
469
473
|
run_date: string;
|
|
470
474
|
event_id: string;
|
|
@@ -472,13 +476,13 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
472
476
|
run_attempt: number;
|
|
473
477
|
generated_at: number;
|
|
474
478
|
content_hash: string;
|
|
479
|
+
error?: string | null | undefined;
|
|
480
|
+
}, {
|
|
481
|
+
status: "failed" | "running" | "completed" | "partial";
|
|
475
482
|
counts: {
|
|
476
483
|
demand_count: number;
|
|
477
484
|
opportunity_count: number;
|
|
478
485
|
};
|
|
479
|
-
error?: string | null | undefined;
|
|
480
|
-
}, {
|
|
481
|
-
status: "failed" | "running" | "completed" | "partial";
|
|
482
486
|
site_id: string;
|
|
483
487
|
run_date: string;
|
|
484
488
|
event_id: string;
|
|
@@ -486,10 +490,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
486
490
|
run_attempt: number;
|
|
487
491
|
generated_at: number;
|
|
488
492
|
content_hash: string;
|
|
489
|
-
counts: {
|
|
490
|
-
demand_count: number;
|
|
491
|
-
opportunity_count: number;
|
|
492
|
-
};
|
|
493
493
|
error?: string | null | undefined;
|
|
494
494
|
}>;
|
|
495
495
|
rows: z.ZodArray<z.ZodObject<{
|
|
@@ -510,18 +510,18 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
510
510
|
position: z.ZodNumber;
|
|
511
511
|
trend: z.ZodNumber;
|
|
512
512
|
}, "strip", z.ZodTypeAny, {
|
|
513
|
+
position: number;
|
|
513
514
|
query: string;
|
|
514
515
|
impressions: number;
|
|
515
516
|
clicks: number;
|
|
516
517
|
ctr: number;
|
|
517
|
-
position: number;
|
|
518
518
|
trend: number;
|
|
519
519
|
}, {
|
|
520
|
+
position: number;
|
|
520
521
|
query: string;
|
|
521
522
|
impressions: number;
|
|
522
523
|
clicks: number;
|
|
523
524
|
ctr: number;
|
|
524
|
-
position: number;
|
|
525
525
|
trend: number;
|
|
526
526
|
}>, z.ZodObject<{
|
|
527
527
|
basis: z.ZodString;
|
|
@@ -636,11 +636,11 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
636
636
|
desk_rank: number;
|
|
637
637
|
headline: string;
|
|
638
638
|
evidence: {
|
|
639
|
+
position: number;
|
|
639
640
|
query: string;
|
|
640
641
|
impressions: number;
|
|
641
642
|
clicks: number;
|
|
642
643
|
ctr: number;
|
|
643
|
-
position: number;
|
|
644
644
|
trend: number;
|
|
645
645
|
} | {
|
|
646
646
|
basis: string;
|
|
@@ -679,11 +679,11 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
679
679
|
desk_rank: number;
|
|
680
680
|
headline: string;
|
|
681
681
|
evidence: {
|
|
682
|
+
position: number;
|
|
682
683
|
query: string;
|
|
683
684
|
impressions: number;
|
|
684
685
|
clicks: number;
|
|
685
686
|
ctr: number;
|
|
686
|
-
position: number;
|
|
687
687
|
trend: number;
|
|
688
688
|
} | {
|
|
689
689
|
basis: string;
|
|
@@ -715,6 +715,10 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
715
715
|
}, "strip", z.ZodTypeAny, {
|
|
716
716
|
meta: {
|
|
717
717
|
status: "failed" | "running" | "completed" | "partial";
|
|
718
|
+
counts: {
|
|
719
|
+
demand_count: number;
|
|
720
|
+
opportunity_count: number;
|
|
721
|
+
};
|
|
718
722
|
site_id: string;
|
|
719
723
|
run_date: string;
|
|
720
724
|
event_id: string;
|
|
@@ -722,10 +726,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
722
726
|
run_attempt: number;
|
|
723
727
|
generated_at: number;
|
|
724
728
|
content_hash: string;
|
|
725
|
-
counts: {
|
|
726
|
-
demand_count: number;
|
|
727
|
-
opportunity_count: number;
|
|
728
|
-
};
|
|
729
729
|
error?: string | null | undefined;
|
|
730
730
|
};
|
|
731
731
|
rows: {
|
|
@@ -739,11 +739,11 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
739
739
|
desk_rank: number;
|
|
740
740
|
headline: string;
|
|
741
741
|
evidence: {
|
|
742
|
+
position: number;
|
|
742
743
|
query: string;
|
|
743
744
|
impressions: number;
|
|
744
745
|
clicks: number;
|
|
745
746
|
ctr: number;
|
|
746
|
-
position: number;
|
|
747
747
|
trend: number;
|
|
748
748
|
} | {
|
|
749
749
|
basis: string;
|
|
@@ -775,6 +775,10 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
775
775
|
}, {
|
|
776
776
|
meta: {
|
|
777
777
|
status: "failed" | "running" | "completed" | "partial";
|
|
778
|
+
counts: {
|
|
779
|
+
demand_count: number;
|
|
780
|
+
opportunity_count: number;
|
|
781
|
+
};
|
|
778
782
|
site_id: string;
|
|
779
783
|
run_date: string;
|
|
780
784
|
event_id: string;
|
|
@@ -782,10 +786,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
782
786
|
run_attempt: number;
|
|
783
787
|
generated_at: number;
|
|
784
788
|
content_hash: string;
|
|
785
|
-
counts: {
|
|
786
|
-
demand_count: number;
|
|
787
|
-
opportunity_count: number;
|
|
788
|
-
};
|
|
789
789
|
error?: string | null | undefined;
|
|
790
790
|
};
|
|
791
791
|
rows: {
|
|
@@ -799,11 +799,11 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
799
799
|
desk_rank: number;
|
|
800
800
|
headline: string;
|
|
801
801
|
evidence: {
|
|
802
|
+
position: number;
|
|
802
803
|
query: string;
|
|
803
804
|
impressions: number;
|
|
804
805
|
clicks: number;
|
|
805
806
|
ctr: number;
|
|
806
|
-
position: number;
|
|
807
807
|
trend: number;
|
|
808
808
|
} | {
|
|
809
809
|
basis: string;
|
|
@@ -835,6 +835,10 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
835
835
|
}>, {
|
|
836
836
|
meta: {
|
|
837
837
|
status: "failed" | "running" | "completed" | "partial";
|
|
838
|
+
counts: {
|
|
839
|
+
demand_count: number;
|
|
840
|
+
opportunity_count: number;
|
|
841
|
+
};
|
|
838
842
|
site_id: string;
|
|
839
843
|
run_date: string;
|
|
840
844
|
event_id: string;
|
|
@@ -842,10 +846,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
842
846
|
run_attempt: number;
|
|
843
847
|
generated_at: number;
|
|
844
848
|
content_hash: string;
|
|
845
|
-
counts: {
|
|
846
|
-
demand_count: number;
|
|
847
|
-
opportunity_count: number;
|
|
848
|
-
};
|
|
849
849
|
error?: string | null | undefined;
|
|
850
850
|
};
|
|
851
851
|
rows: {
|
|
@@ -859,11 +859,11 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
859
859
|
desk_rank: number;
|
|
860
860
|
headline: string;
|
|
861
861
|
evidence: {
|
|
862
|
+
position: number;
|
|
862
863
|
query: string;
|
|
863
864
|
impressions: number;
|
|
864
865
|
clicks: number;
|
|
865
866
|
ctr: number;
|
|
866
|
-
position: number;
|
|
867
867
|
trend: number;
|
|
868
868
|
} | {
|
|
869
869
|
basis: string;
|
|
@@ -895,6 +895,10 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
895
895
|
}, {
|
|
896
896
|
meta: {
|
|
897
897
|
status: "failed" | "running" | "completed" | "partial";
|
|
898
|
+
counts: {
|
|
899
|
+
demand_count: number;
|
|
900
|
+
opportunity_count: number;
|
|
901
|
+
};
|
|
898
902
|
site_id: string;
|
|
899
903
|
run_date: string;
|
|
900
904
|
event_id: string;
|
|
@@ -902,10 +906,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
902
906
|
run_attempt: number;
|
|
903
907
|
generated_at: number;
|
|
904
908
|
content_hash: string;
|
|
905
|
-
counts: {
|
|
906
|
-
demand_count: number;
|
|
907
|
-
opportunity_count: number;
|
|
908
|
-
};
|
|
909
909
|
error?: string | null | undefined;
|
|
910
910
|
};
|
|
911
911
|
rows: {
|
|
@@ -919,11 +919,11 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
919
919
|
desk_rank: number;
|
|
920
920
|
headline: string;
|
|
921
921
|
evidence: {
|
|
922
|
+
position: number;
|
|
922
923
|
query: string;
|
|
923
924
|
impressions: number;
|
|
924
925
|
clicks: number;
|
|
925
926
|
ctr: number;
|
|
926
|
-
position: number;
|
|
927
927
|
trend: number;
|
|
928
928
|
} | {
|
|
929
929
|
basis: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/surveys/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEjD,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAIrD,CAAA;AAEF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/surveys/access.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAyB,IAAI,GAAG,CAAC;IAClE,OAAO;IACP,eAAe;IACf,QAAQ;CACR,CAAC,CAAA;AAEF,MAAM,UAAU,sBAAsB,CAAC,IAAgC;IACtE,OAAO,IAAI,IAAI,IAAI,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const SURVEY_ERROR_CODE_HEADER = "X-Growth-Labs-Survey-Error-Code";
|
|
2
|
+
export declare const SURVEY_ERROR_DEFINITIONS: {
|
|
3
|
+
readonly survey_invalid_request: {
|
|
4
|
+
readonly status: 400;
|
|
5
|
+
readonly error: "Invalid survey request.";
|
|
6
|
+
};
|
|
7
|
+
readonly survey_forbidden: {
|
|
8
|
+
readonly status: 403;
|
|
9
|
+
readonly error: "You do not have permission to view survey responses.";
|
|
10
|
+
};
|
|
11
|
+
readonly survey_not_found: {
|
|
12
|
+
readonly status: 404;
|
|
13
|
+
readonly error: "Survey not found.";
|
|
14
|
+
};
|
|
15
|
+
readonly survey_provider_unavailable: {
|
|
16
|
+
readonly status: 503;
|
|
17
|
+
readonly error: "Survey reporting is not configured for this site.";
|
|
18
|
+
};
|
|
19
|
+
readonly survey_provider_malformed: {
|
|
20
|
+
readonly status: 502;
|
|
21
|
+
readonly error: "Survey provider returned invalid data.";
|
|
22
|
+
};
|
|
23
|
+
readonly survey_upstream_unavailable: {
|
|
24
|
+
readonly status: 503;
|
|
25
|
+
readonly error: "Survey reporting is temporarily unavailable.";
|
|
26
|
+
};
|
|
27
|
+
readonly survey_upstream_failure: {
|
|
28
|
+
readonly status: 502;
|
|
29
|
+
readonly error: "Survey reporting could not be loaded.";
|
|
30
|
+
};
|
|
31
|
+
readonly survey_internal_failure: {
|
|
32
|
+
readonly status: 500;
|
|
33
|
+
readonly error: "Survey reporting could not be loaded.";
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type SurveyErrorCode = keyof typeof SURVEY_ERROR_DEFINITIONS;
|
|
37
|
+
export interface SurveyErrorBody {
|
|
38
|
+
error: string;
|
|
39
|
+
code: SurveyErrorCode;
|
|
40
|
+
}
|
|
41
|
+
export declare function isSurveyErrorCode(value: unknown): value is SurveyErrorCode;
|
|
42
|
+
export declare function surveyErrorBody(code: SurveyErrorCode): SurveyErrorBody;
|
|
43
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/surveys/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,oCAAoC,CAAA;AAEzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC3B,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,wBAAwB,CAAA;AAEnE,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,eAAe,CAAA;CACrB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAEtE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export const SURVEY_ERROR_CODE_HEADER = 'X-Growth-Labs-Survey-Error-Code';
|
|
2
|
+
export const SURVEY_ERROR_DEFINITIONS = {
|
|
3
|
+
survey_invalid_request: {
|
|
4
|
+
status: 400,
|
|
5
|
+
error: 'Invalid survey request.',
|
|
6
|
+
},
|
|
7
|
+
survey_forbidden: {
|
|
8
|
+
status: 403,
|
|
9
|
+
error: 'You do not have permission to view survey responses.',
|
|
10
|
+
},
|
|
11
|
+
survey_not_found: {
|
|
12
|
+
status: 404,
|
|
13
|
+
error: 'Survey not found.',
|
|
14
|
+
},
|
|
15
|
+
survey_provider_unavailable: {
|
|
16
|
+
status: 503,
|
|
17
|
+
error: 'Survey reporting is not configured for this site.',
|
|
18
|
+
},
|
|
19
|
+
survey_provider_malformed: {
|
|
20
|
+
status: 502,
|
|
21
|
+
error: 'Survey provider returned invalid data.',
|
|
22
|
+
},
|
|
23
|
+
survey_upstream_unavailable: {
|
|
24
|
+
status: 503,
|
|
25
|
+
error: 'Survey reporting is temporarily unavailable.',
|
|
26
|
+
},
|
|
27
|
+
survey_upstream_failure: {
|
|
28
|
+
status: 502,
|
|
29
|
+
error: 'Survey reporting could not be loaded.',
|
|
30
|
+
},
|
|
31
|
+
survey_internal_failure: {
|
|
32
|
+
status: 500,
|
|
33
|
+
error: 'Survey reporting could not be loaded.',
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
export function isSurveyErrorCode(value) {
|
|
37
|
+
return typeof value === 'string' && Object.hasOwn(SURVEY_ERROR_DEFINITIONS, value);
|
|
38
|
+
}
|
|
39
|
+
export function surveyErrorBody(code) {
|
|
40
|
+
return { error: SURVEY_ERROR_DEFINITIONS[code].error, code };
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/surveys/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,iCAAiC,CAAA;AAEzE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACvC,sBAAsB,EAAE;QACvB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,yBAAyB;KAChC;IACD,gBAAgB,EAAE;QACjB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,sDAAsD;KAC7D;IACD,gBAAgB,EAAE;QACjB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,mBAAmB;KAC1B;IACD,2BAA2B,EAAE;QAC5B,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,mDAAmD;KAC1D;IACD,yBAAyB,EAAE;QAC1B,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,wCAAwC;KAC/C;IACD,2BAA2B,EAAE;QAC5B,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,8CAA8C;KACrD;IACD,uBAAuB,EAAE;QACxB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,uCAAuC;KAC9C;IACD,uBAAuB,EAAE;QACxB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,uCAAuC;KAC9C;CACQ,CAAA;AASV,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAqB;IACpD,OAAO,EAAE,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;AAC7D,CAAC"}
|