@growth-labs/cms 0.5.9 → 0.5.11
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 +23 -1
- package/dist/engine/content-insights.d.ts +11 -4
- package/dist/engine/content-insights.d.ts.map +1 -1
- package/dist/engine/content-insights.js +22 -7
- package/dist/engine/content-insights.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/routes/content-insights.d.ts +1 -1
- package/dist/routes/content-insights.d.ts.map +1 -1
- package/dist/routes/content-insights.js +20 -5
- package/dist/routes/content-insights.js.map +1 -1
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/insights-ingest.d.ts +48 -48
- package/dist/schema/migrations.d.ts.map +1 -1
- package/dist/schema/migrations.js +9 -0
- package/dist/schema/migrations.js.map +1 -1
- package/dist/schema/types.d.ts +67 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +10 -0
- package/dist/schema/types.js.map +1 -1
- package/dist/surveys/schema.d.ts +48 -48
- package/dist/ui/editor/Rte.d.ts.map +1 -1
- package/dist/ui/editor/Rte.js +2 -12
- package/dist/ui/editor/Rte.js.map +1 -1
- package/dist/ui/editor/extensions.d.ts +3 -0
- package/dist/ui/editor/extensions.d.ts.map +1 -0
- package/dist/ui/editor/extensions.js +18 -0
- package/dist/ui/editor/extensions.js.map +1 -0
- package/dist/ui/editor/serialize.d.ts.map +1 -1
- package/dist/ui/editor/serialize.js +4 -2
- package/dist/ui/editor/serialize.js.map +1 -1
- package/dist/ui/editor/trim-boundary-marks.d.ts +11 -0
- package/dist/ui/editor/trim-boundary-marks.d.ts.map +1 -0
- package/dist/ui/editor/trim-boundary-marks.js +157 -0
- package/dist/ui/editor/trim-boundary-marks.js.map +1 -0
- package/dist/ui/screens/ContentInsightsScreen.d.ts +28 -0
- package/dist/ui/screens/ContentInsightsScreen.d.ts.map +1 -1
- package/dist/ui/screens/ContentInsightsScreen.js +111 -36
- package/dist/ui/screens/ContentInsightsScreen.js.map +1 -1
- package/dist/ui/screens/content-insights-data.d.ts +13 -1
- package/dist/ui/screens/content-insights-data.d.ts.map +1 -1
- package/dist/ui/screens/content-insights-data.js +29 -1
- package/dist/ui/screens/content-insights-data.js.map +1 -1
- package/migrations/0022_content_insight_dismissal_reasons.sql +8 -0
- package/package.json +1 -1
- package/src/engine/content-insights.ts +32 -7
- package/src/index.ts +2 -0
- package/src/routes/content-insights.ts +31 -5
- package/src/schema/index.ts +1 -0
- package/src/schema/migrations.ts +9 -0
- package/src/schema/types.ts +92 -0
- package/src/ui/editor/Rte.tsx +2 -12
- package/src/ui/editor/extensions.ts +18 -0
- package/src/ui/editor/serialize.ts +4 -2
- package/src/ui/editor/trim-boundary-marks.ts +181 -0
- package/src/ui/screens/ContentInsightsScreen.tsx +416 -195
- package/src/ui/screens/content-insights-data.ts +40 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentInsightsScreen.js","sourceRoot":"","sources":["../../../src/ui/screens/ContentInsightsScreen.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContentInsightsScreen.js","sourceRoot":"","sources":["../../../src/ui/screens/ContentInsightsScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import type { ContentInsightRow, InsightEvidence } from '../../schema/types.js';
|
|
1
|
+
import type { ContentInsightRow, InsightEvidence, InsightLane } from '../../schema/types.js';
|
|
2
2
|
/** InsightCard is ContentInsightRow — alias to prevent drift. */
|
|
3
3
|
export type InsightCard = ContentInsightRow;
|
|
4
4
|
export interface DeskGroup {
|
|
5
5
|
desk: string;
|
|
6
6
|
cards: InsightCard[];
|
|
7
7
|
}
|
|
8
|
+
export interface InsightLaneGroup {
|
|
9
|
+
lane: InsightLane | null;
|
|
10
|
+
label: string;
|
|
11
|
+
cards: InsightCard[];
|
|
12
|
+
}
|
|
8
13
|
export interface InsightsState {
|
|
9
14
|
loading: boolean;
|
|
10
15
|
error: string | null;
|
|
@@ -30,6 +35,13 @@ export type InsightsAction = {
|
|
|
30
35
|
};
|
|
31
36
|
export declare function initInsightsState(): InsightsState;
|
|
32
37
|
export declare function insightsReducer(state: InsightsState, action: InsightsAction): InsightsState;
|
|
38
|
+
/** Show lane panels only after a successful board load, retaining the last good board on errors. */
|
|
39
|
+
export declare function shouldRenderInsightLanes(state: InsightsState): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Project a board into the five Insight Engine action lanes. Legacy cards stay
|
|
42
|
+
* readable in one conditional appendix instead of being dropped or duplicated.
|
|
43
|
+
*/
|
|
44
|
+
export declare function laneGroups(cards: InsightCard[]): InsightLaneGroup[];
|
|
33
45
|
/** Group cards by desk (desks alphabetical), each desk's cards sorted by desk_rank then headline. */
|
|
34
46
|
export declare function deskGroups(cards: InsightCard[]): DeskGroup[];
|
|
35
47
|
/** Which open-web discovery stream an opportunity card came from (theater split).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-insights-data.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/content-insights-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"content-insights-data.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/content-insights-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAE5F,iEAAiE;AACjE,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAE3C,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,WAAW,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,EAAE,CAAA;CACpB;AAUD,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,OAAO,CAAA;CACf;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5C,wBAAgB,iBAAiB,IAAI,aAAa,CASjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,aAAa,CAsB3F;AAED,oGAAoG;AACpG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAEtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAanE;AAED,qGAAqG;AACrG,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAe5D;AAED;;2EAE2E;AAC3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,mBAAmB,CAErF;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAIvE;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAMxE;AAED;mFACmF;AACnF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAElE;AAED,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAO5D;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAE5D;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAE3F"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
const CANONICAL_LANES = [
|
|
2
|
+
{ lane: 'commission', label: 'Commission' },
|
|
3
|
+
{ lane: 'refresh', label: 'Refresh' },
|
|
4
|
+
{ lane: 'optimize-ctr', label: 'Optimize CTR' },
|
|
5
|
+
{ lane: 'consolidate', label: 'Consolidate' },
|
|
6
|
+
{ lane: 'monitor', label: 'Monitor' },
|
|
7
|
+
];
|
|
1
8
|
export function initInsightsState() {
|
|
2
9
|
return {
|
|
3
10
|
loading: true,
|
|
@@ -22,7 +29,7 @@ export function insightsReducer(state, action) {
|
|
|
22
29
|
loaded: true,
|
|
23
30
|
};
|
|
24
31
|
case 'fetch-error':
|
|
25
|
-
return { ...state, loading: false, error: action.error, loaded:
|
|
32
|
+
return { ...state, loading: false, error: action.error, loaded: state.loaded };
|
|
26
33
|
case 'schema-not-ready':
|
|
27
34
|
return { ...state, loading: false, error: null, schemaNotReady: true, loaded: true };
|
|
28
35
|
case 'dismiss-ok':
|
|
@@ -31,6 +38,27 @@ export function insightsReducer(state, action) {
|
|
|
31
38
|
return state;
|
|
32
39
|
}
|
|
33
40
|
}
|
|
41
|
+
/** Show lane panels only after a successful board load, retaining the last good board on errors. */
|
|
42
|
+
export function shouldRenderInsightLanes(state) {
|
|
43
|
+
return state.loaded && !state.schemaNotReady;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Project a board into the five Insight Engine action lanes. Legacy cards stay
|
|
47
|
+
* readable in one conditional appendix instead of being dropped or duplicated.
|
|
48
|
+
*/
|
|
49
|
+
export function laneGroups(cards) {
|
|
50
|
+
const sorted = (items) => items.sort((a, b) => a.desk_rank - b.desk_rank || a.headline.localeCompare(b.headline));
|
|
51
|
+
const groups = CANONICAL_LANES.map(({ lane, label }) => ({
|
|
52
|
+
lane,
|
|
53
|
+
label,
|
|
54
|
+
cards: sorted(cards.filter((card) => card.evidence.lane === lane)),
|
|
55
|
+
}));
|
|
56
|
+
const legacy = sorted(cards.filter((card) => card.evidence.lane == null));
|
|
57
|
+
if (legacy.length > 0) {
|
|
58
|
+
groups.push({ lane: null, label: 'Legacy / unclassified', cards: legacy });
|
|
59
|
+
}
|
|
60
|
+
return groups;
|
|
61
|
+
}
|
|
34
62
|
/** Group cards by desk (desks alphabetical), each desk's cards sorted by desk_rank then headline. */
|
|
35
63
|
export function deskGroups(cards) {
|
|
36
64
|
const byDesk = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-insights-data.js","sourceRoot":"","sources":["../../../src/ui/screens/content-insights-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content-insights-data.js","sourceRoot":"","sources":["../../../src/ui/screens/content-insights-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- 0022_content_insight_dismissal_reasons: retain bounded editor rationale on
|
|
2
|
+
-- site-scoped Insight Engine dismissals. Nullable fields preserve legacy rows.
|
|
3
|
+
|
|
4
|
+
ALTER TABLE content_insight_dismissals
|
|
5
|
+
ADD COLUMN reason_code TEXT CHECK (reason_code IS NULL OR reason_code IN ('off_topic', 'already_covered', 'cant_win', 'wrong_format', 'not_now', 'other'));
|
|
6
|
+
|
|
7
|
+
ALTER TABLE content_insight_dismissals
|
|
8
|
+
ADD COLUMN note TEXT CHECK (note IS NULL OR length(note) <= 500);
|
package/package.json
CHANGED
|
@@ -1,10 +1,32 @@
|
|
|
1
1
|
import type { InsightsIngestPayload } from '../schema/insights-ingest.js'
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
ContentInsightRow,
|
|
4
|
+
InsightBrief,
|
|
5
|
+
InsightDismissalReasonCode,
|
|
6
|
+
InsightEvidence,
|
|
7
|
+
} from '../schema/types.js'
|
|
3
8
|
import type { D1Database } from './d1.js'
|
|
4
9
|
|
|
5
|
-
/** True when
|
|
10
|
+
/** True when an Insights read/write depends on a table missing from an older schema. */
|
|
6
11
|
export function isMissingInsightsTable(error: unknown): boolean {
|
|
7
|
-
return
|
|
12
|
+
return (
|
|
13
|
+
error instanceof Error &&
|
|
14
|
+
/no such table: (?:content_insights|content_insight_dismissals)\b/i.test(error.message)
|
|
15
|
+
)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* True only for schema drift that a reason-coded dismissal requires. This is
|
|
20
|
+
* deliberately scoped to the dismissal route: bare D1 missing-column errors do
|
|
21
|
+
* not identify their table, while the engine statement here only names
|
|
22
|
+
* content_insight_dismissals.
|
|
23
|
+
*/
|
|
24
|
+
export function isMissingInsightDismissalSchema(error: unknown): boolean {
|
|
25
|
+
if (isMissingInsightsTable(error)) return true
|
|
26
|
+
if (!(error instanceof Error)) return false
|
|
27
|
+
return /(?:no such column:\s*(?:reason_code|note)\b|table\s+content_insight_dismissals\s+has no column named\s+(?:reason_code|note)\b)/i.test(
|
|
28
|
+
error.message,
|
|
29
|
+
)
|
|
8
30
|
}
|
|
9
31
|
|
|
10
32
|
interface RawInsightRow extends Omit<ContentInsightRow, 'evidence' | 'brief'> {
|
|
@@ -45,19 +67,22 @@ export async function listInsightBoard(
|
|
|
45
67
|
return (result.results || []).map(decodeRow)
|
|
46
68
|
}
|
|
47
69
|
|
|
48
|
-
/** Persist
|
|
70
|
+
/** Persist an editor-attributed dismissal for (site_id, intent_key), replacing trusted reason data. */
|
|
49
71
|
export async function dismissInsight(
|
|
50
72
|
db: D1Database,
|
|
51
73
|
siteId: string,
|
|
52
74
|
intentKey: string,
|
|
53
75
|
dismissedBy: string | null,
|
|
76
|
+
reasonCode: InsightDismissalReasonCode,
|
|
77
|
+
note: string | null,
|
|
54
78
|
): Promise<void> {
|
|
55
79
|
await db
|
|
56
80
|
.prepare(
|
|
57
|
-
`INSERT OR REPLACE INTO content_insight_dismissals
|
|
58
|
-
|
|
81
|
+
`INSERT OR REPLACE INTO content_insight_dismissals
|
|
82
|
+
(site_id, intent_key, dismissed_at, dismissed_by, reason_code, note)
|
|
83
|
+
VALUES (?, ?, unixepoch(), ?, ?, ?)`,
|
|
59
84
|
)
|
|
60
|
-
.bind(siteId, intentKey, dismissedBy)
|
|
85
|
+
.bind(siteId, intentKey, dismissedBy, reasonCode, note)
|
|
61
86
|
.run()
|
|
62
87
|
}
|
|
63
88
|
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod'
|
|
2
2
|
import {
|
|
3
3
|
dismissInsight,
|
|
4
|
+
isMissingInsightDismissalSchema,
|
|
4
5
|
isMissingInsightsTable,
|
|
5
6
|
listInsightBoard,
|
|
6
7
|
replaceInsightsBoard,
|
|
@@ -8,11 +9,19 @@ import {
|
|
|
8
9
|
} from '../engine/content-insights.js'
|
|
9
10
|
import { verifyHmac } from '../engine/foundry-dispatch.js'
|
|
10
11
|
import { InsightsIngestPayloadSchema } from '../schema/insights-ingest.js'
|
|
12
|
+
import { InsightDismissalReasonCodeSchema } from '../schema/types.js'
|
|
11
13
|
import type { CmsRouteConfig } from './config.js'
|
|
12
14
|
import { resolveConfig } from './config.js'
|
|
13
15
|
import { json, type RouteContext } from './context.js'
|
|
14
16
|
|
|
15
|
-
const DismissSchema = z
|
|
17
|
+
const DismissSchema = z
|
|
18
|
+
.object({
|
|
19
|
+
intentKey: z.string().min(1),
|
|
20
|
+
reasonCode: InsightDismissalReasonCodeSchema,
|
|
21
|
+
note: z.string().max(500).optional(),
|
|
22
|
+
})
|
|
23
|
+
.strict()
|
|
24
|
+
const IntentKeySchema = z.object({ intentKey: z.string().min(1) })
|
|
16
25
|
|
|
17
26
|
/** Resolve YYYY-MM-DD; defaults to the current UTC date when no ?runDate is given. */
|
|
18
27
|
function resolveRunDate(ctx: RouteContext): string {
|
|
@@ -57,7 +66,7 @@ export interface ContentInsightsRouteConfig extends CmsRouteConfig {
|
|
|
57
66
|
export interface ContentInsightsRouteHandlers {
|
|
58
67
|
/** GET /content/insights?runDate= — the current board, dismissed intents filtered out. */
|
|
59
68
|
board(ctx: RouteContext): Promise<Response>
|
|
60
|
-
/** POST /content/insights/dismiss { intentKey } — persist a dismissal. */
|
|
69
|
+
/** POST /content/insights/dismiss { intentKey, reasonCode, note? } — persist a dismissal. */
|
|
61
70
|
dismiss(ctx: RouteContext): Promise<Response>
|
|
62
71
|
/** POST /content/insights/undismiss { intentKey } — clear a dismissal. */
|
|
63
72
|
undismiss(ctx: RouteContext): Promise<Response>
|
|
@@ -91,11 +100,28 @@ export function createContentInsightsRoutes(
|
|
|
91
100
|
const parsed = DismissSchema.safeParse(await ctx.request.json().catch(() => null))
|
|
92
101
|
if (!parsed.success)
|
|
93
102
|
return json({ error: 'Invalid request', details: parsed.error.flatten() }, 400)
|
|
103
|
+
const note = parsed.data.note?.trim() || null
|
|
104
|
+
if (parsed.data.reasonCode === 'other' && (note == null || note.length < 3)) {
|
|
105
|
+
return json(
|
|
106
|
+
{
|
|
107
|
+
error: 'Invalid request',
|
|
108
|
+
details: { note: ['A note of at least 3 characters is required for other.'] },
|
|
109
|
+
},
|
|
110
|
+
400,
|
|
111
|
+
)
|
|
112
|
+
}
|
|
94
113
|
try {
|
|
95
|
-
await dismissInsight(
|
|
114
|
+
await dismissInsight(
|
|
115
|
+
ctx.db,
|
|
116
|
+
siteId,
|
|
117
|
+
parsed.data.intentKey,
|
|
118
|
+
ctx.userId ?? null,
|
|
119
|
+
parsed.data.reasonCode,
|
|
120
|
+
note,
|
|
121
|
+
)
|
|
96
122
|
return json({ dismissed: true })
|
|
97
123
|
} catch (error) {
|
|
98
|
-
if (
|
|
124
|
+
if (isMissingInsightDismissalSchema(error)) return json({ error: 'schema_not_ready' }, 409)
|
|
99
125
|
throw error
|
|
100
126
|
}
|
|
101
127
|
},
|
|
@@ -103,7 +129,7 @@ export function createContentInsightsRoutes(
|
|
|
103
129
|
async undismiss(ctx) {
|
|
104
130
|
const denied = await resolved.authz.requirePublisher(ctx)
|
|
105
131
|
if (denied) return denied
|
|
106
|
-
const parsed =
|
|
132
|
+
const parsed = IntentKeySchema.safeParse(await ctx.request.json().catch(() => null))
|
|
107
133
|
if (!parsed.success)
|
|
108
134
|
return json({ error: 'Invalid request', details: parsed.error.flatten() }, 400)
|
|
109
135
|
try {
|
package/src/schema/index.ts
CHANGED
package/src/schema/migrations.ts
CHANGED
|
@@ -802,6 +802,15 @@ WHERE operation = 'publish' AND target_published_at IS NULL;
|
|
|
802
802
|
sql: `
|
|
803
803
|
CREATE INDEX IF NOT EXISTS idx_content_revisions_published_slug
|
|
804
804
|
ON content_revisions(json_extract(payload_json, '$.item.slug'));
|
|
805
|
+
`,
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
id: '0022_content_insight_dismissal_reasons',
|
|
809
|
+
sql: `
|
|
810
|
+
ALTER TABLE content_insight_dismissals
|
|
811
|
+
ADD COLUMN reason_code TEXT CHECK (reason_code IS NULL OR reason_code IN ('off_topic', 'already_covered', 'cant_win', 'wrong_format', 'not_now', 'other'));
|
|
812
|
+
ALTER TABLE content_insight_dismissals
|
|
813
|
+
ADD COLUMN note TEXT CHECK (note IS NULL OR length(note) <= 500);
|
|
805
814
|
`,
|
|
806
815
|
},
|
|
807
816
|
]
|
package/src/schema/types.ts
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
// Nullability: a column declared NOT NULL maps to a required, non-nullable
|
|
10
10
|
// field; a nullable column maps to `T | null` (D1 returns SQL NULL as JS null).
|
|
11
11
|
|
|
12
|
+
import { z } from 'zod'
|
|
13
|
+
|
|
12
14
|
/** content_items.type CHECK domain. */
|
|
13
15
|
export type ContentType = 'article' | 'video' | 'podcast' | 'newsletter' | 'page'
|
|
14
16
|
|
|
@@ -417,6 +419,60 @@ export type InsightRunStatus = 'running' | 'completed' | 'partial' | 'failed'
|
|
|
417
419
|
/** Beat facet — secondary topical facet (geographic theater lives in desk). */
|
|
418
420
|
export type InsightBeat = 'defense' | 'intelligence' | 'diplomacy' | 'analysis'
|
|
419
421
|
|
|
422
|
+
/** Insight Engine v2 editorial action lane. */
|
|
423
|
+
export type InsightLane = 'commission' | 'refresh' | 'optimize-ctr' | 'consolidate' | 'monitor'
|
|
424
|
+
|
|
425
|
+
/** Bounded scoring inputs carried with Insight Engine v2 evidence. */
|
|
426
|
+
export interface InsightScoreBreakdown {
|
|
427
|
+
actualCtr: number
|
|
428
|
+
expectedCtr: number
|
|
429
|
+
expectedClicksGain: number
|
|
430
|
+
laneWeight: number
|
|
431
|
+
score: number
|
|
432
|
+
targetPosition: number
|
|
433
|
+
topicalFit: number
|
|
434
|
+
winnabilityPrior: number
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
export type InsightJudgeReasonCode =
|
|
438
|
+
| 'no_coherent_intent'
|
|
439
|
+
| 'navigational_or_entity_locked'
|
|
440
|
+
| 'off_topic'
|
|
441
|
+
| 'already_covered'
|
|
442
|
+
| 'unwinnable'
|
|
443
|
+
| 'unsustainable_format'
|
|
444
|
+
| 'too_thin'
|
|
445
|
+
| 'accept'
|
|
446
|
+
|
|
447
|
+
export type InsightJudgeVerdict = 'accept' | 'reject' | 'abstain'
|
|
448
|
+
|
|
449
|
+
export interface InsightWinnabilityEvidence {
|
|
450
|
+
verdict: InsightJudgeVerdict
|
|
451
|
+
confidence: number
|
|
452
|
+
serp_summary: string
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
export interface InsightJudgeEvidence {
|
|
456
|
+
verdict: InsightJudgeVerdict
|
|
457
|
+
reason_code: InsightJudgeReasonCode
|
|
458
|
+
confidence: number
|
|
459
|
+
intent_statement: string
|
|
460
|
+
winnability?: InsightWinnabilityEvidence
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
export interface InsightSemanticEvidence {
|
|
464
|
+
topicalFit: number
|
|
465
|
+
disposition: 'reject' | 'judge_only' | 'advance'
|
|
466
|
+
coverageSimilarity: number
|
|
467
|
+
coverageAligned: boolean
|
|
468
|
+
sharedConcepts: number
|
|
469
|
+
nearest: Array<{
|
|
470
|
+
title: string
|
|
471
|
+
slug: string
|
|
472
|
+
similarity: number
|
|
473
|
+
}>
|
|
474
|
+
}
|
|
475
|
+
|
|
420
476
|
/** Demand evidence chip (signal_type='demand'): the real GSC metric. */
|
|
421
477
|
export interface InsightEvidenceDemand {
|
|
422
478
|
query: string
|
|
@@ -428,6 +484,12 @@ export interface InsightEvidenceDemand {
|
|
|
428
484
|
position: number
|
|
429
485
|
/** Impression delta vs the prior window (signed). */
|
|
430
486
|
trend: number
|
|
487
|
+
lane?: InsightLane
|
|
488
|
+
coveredBy?: string | null
|
|
489
|
+
coverageSource?: 'page_join' | 'semantic' | 'lexical' | null
|
|
490
|
+
scoreBreakdown?: InsightScoreBreakdown
|
|
491
|
+
judge?: InsightJudgeEvidence
|
|
492
|
+
semantic?: InsightSemanticEvidence
|
|
431
493
|
}
|
|
432
494
|
|
|
433
495
|
/** Opportunity evidence chip (signal_type='opportunity'): validated-research basis. */
|
|
@@ -436,6 +498,10 @@ export interface InsightEvidenceOpportunity {
|
|
|
436
498
|
basis: string
|
|
437
499
|
/** Count of cite-or-cut validated sources backing the idea. */
|
|
438
500
|
source_count: number
|
|
501
|
+
lane?: InsightLane
|
|
502
|
+
scoreBreakdown?: InsightScoreBreakdown
|
|
503
|
+
judge?: InsightJudgeEvidence
|
|
504
|
+
semantic?: InsightSemanticEvidence
|
|
439
505
|
}
|
|
440
506
|
|
|
441
507
|
/** content_insights.evidence — JSON stored as TEXT NOT NULL, zod-validated. */
|
|
@@ -463,6 +529,16 @@ export interface InsightBrief {
|
|
|
463
529
|
spokes: string[]
|
|
464
530
|
}
|
|
465
531
|
sources: Array<{ title: string; url: string }>
|
|
532
|
+
format?: 'cornerstone' | 'pillar' | 'standalone'
|
|
533
|
+
content_outline?: Array<{
|
|
534
|
+
question: string
|
|
535
|
+
demand?: {
|
|
536
|
+
query: string
|
|
537
|
+
impressions: number
|
|
538
|
+
position: number
|
|
539
|
+
trend: number
|
|
540
|
+
}
|
|
541
|
+
}>
|
|
466
542
|
/**
|
|
467
543
|
* Which open-web discovery STREAM produced this opportunity row (the theater
|
|
468
544
|
* split): 'competitor' (RSS competitor-watch) vs 'audience_question' (Google
|
|
@@ -532,12 +608,28 @@ export interface ContentInsightRunRow {
|
|
|
532
608
|
error: string | null
|
|
533
609
|
}
|
|
534
610
|
|
|
611
|
+
/** Editor-owned dismissal taxonomy (migration 0022). */
|
|
612
|
+
export const InsightDismissalReasonCodeSchema = z.enum([
|
|
613
|
+
'off_topic',
|
|
614
|
+
'already_covered',
|
|
615
|
+
'cant_win',
|
|
616
|
+
'wrong_format',
|
|
617
|
+
'not_now',
|
|
618
|
+
'other',
|
|
619
|
+
])
|
|
620
|
+
|
|
621
|
+
export type InsightDismissalReasonCode = z.infer<typeof InsightDismissalReasonCodeSchema>
|
|
622
|
+
|
|
535
623
|
/** A content_insight_dismissals row (PK (site_id, intent_key)). */
|
|
536
624
|
export interface ContentInsightDismissalRow {
|
|
537
625
|
site_id: string
|
|
538
626
|
intent_key: string
|
|
539
627
|
dismissed_at: number
|
|
540
628
|
dismissed_by: string | null
|
|
629
|
+
/** NULL is a pre-0022 legacy dismissal. */
|
|
630
|
+
reason_code: InsightDismissalReasonCode | null
|
|
631
|
+
/** NULL is either legacy or an editor dismissal without a note. */
|
|
632
|
+
note: string | null
|
|
541
633
|
}
|
|
542
634
|
|
|
543
635
|
export type ContentPublicationOperation = 'publish' | 'rollback'
|
package/src/ui/editor/Rte.tsx
CHANGED
|
@@ -14,14 +14,10 @@
|
|
|
14
14
|
// Runtime/visual verification is done via the Playwright smoke (SMOKE.md P2 section).
|
|
15
15
|
|
|
16
16
|
import { Editor } from '@tiptap/core'
|
|
17
|
-
import Image from '@tiptap/extension-image'
|
|
18
|
-
import Link from '@tiptap/extension-link'
|
|
19
|
-
import Underline from '@tiptap/extension-underline'
|
|
20
|
-
import StarterKit from '@tiptap/starter-kit'
|
|
21
17
|
import { useEffect, useRef, useState } from 'react'
|
|
22
18
|
import { Icon } from '../icons.js'
|
|
19
|
+
import { createRteExtensions } from './extensions.js'
|
|
23
20
|
import { docToMarkdown, markdownToDoc } from './serialize.js'
|
|
24
|
-
import { TweetEmbed } from './tweet-embed.js'
|
|
25
21
|
|
|
26
22
|
// ---------------------------------------------------------------------------
|
|
27
23
|
// Toolbar config
|
|
@@ -114,13 +110,7 @@ export function Rte({
|
|
|
114
110
|
|
|
115
111
|
const editor = new Editor({
|
|
116
112
|
element: el,
|
|
117
|
-
extensions:
|
|
118
|
-
StarterKit,
|
|
119
|
-
Underline,
|
|
120
|
-
Link.configure({ openOnClick: false }),
|
|
121
|
-
Image,
|
|
122
|
-
TweetEmbed,
|
|
123
|
-
],
|
|
113
|
+
extensions: createRteExtensions(),
|
|
124
114
|
content: markdownToDoc(initialValueRef.current),
|
|
125
115
|
editable: !readOnly,
|
|
126
116
|
onUpdate({ editor: e }) {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Image from '@tiptap/extension-image'
|
|
2
|
+
import Link from '@tiptap/extension-link'
|
|
3
|
+
import Underline from '@tiptap/extension-underline'
|
|
4
|
+
import StarterKit from '@tiptap/starter-kit'
|
|
5
|
+
import { TrimBoundaryMarks } from './trim-boundary-marks.js'
|
|
6
|
+
import { TweetEmbed } from './tweet-embed.js'
|
|
7
|
+
|
|
8
|
+
/** The single extension set used by Masthead and its behavioral editor tests. */
|
|
9
|
+
export function createRteExtensions() {
|
|
10
|
+
return [
|
|
11
|
+
StarterKit.configure({ link: false, underline: false }),
|
|
12
|
+
Underline,
|
|
13
|
+
Link.configure({ openOnClick: false }),
|
|
14
|
+
TrimBoundaryMarks,
|
|
15
|
+
Image,
|
|
16
|
+
TweetEmbed,
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
// :::tweet\n<url>\n::: tweet-embed directive
|
|
20
20
|
|
|
21
21
|
import type { JSONContent } from '@tiptap/core'
|
|
22
|
+
import { normalizeBoundaryMarks } from './trim-boundary-marks.js'
|
|
22
23
|
|
|
23
24
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
24
25
|
// docToMarkdown — JSONContent → string
|
|
@@ -26,8 +27,9 @@ import type { JSONContent } from '@tiptap/core'
|
|
|
26
27
|
|
|
27
28
|
/** Serialise a Tiptap JSONContent document to a markdown string. */
|
|
28
29
|
export function docToMarkdown(doc: JSONContent): string {
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
const normalized = normalizeBoundaryMarks(doc)
|
|
31
|
+
if (!normalized.content || normalized.content.length === 0) return ''
|
|
32
|
+
const lines = normalized.content.map((node) => serializeBlock(node)).filter((s) => s !== null)
|
|
31
33
|
return lines.join('\n\n')
|
|
32
34
|
}
|
|
33
35
|
|