email: Email Capture admin panel (status / enroll / sync / re-match) — v0.1.0:59
Adds an admin-only "Email Capture" page so Gmail capture can be turned on and
monitored from the UI instead of an API call: shows whether the integration is
enabled, how many mailboxes are enrolled, how many emails are matched to investors,
and last sync; with Enroll Ten31 mailboxes / Sync now / Re-match buttons and a hint
that domain-wide delegation must be authorized in Google Workspace first. Disabled
state renders cleanly (no scary error) when the integration is off. Bundles the
email-into-grounding corpus wiring (bf829b7).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -23,8 +23,9 @@ export const PACKAGE_TITLE = 'Ten31 Database'
|
||||
// * 0.1.0:55 (Architect grounding boundary: redaction/re-hydration privacy gate)
|
||||
// * 0.1.0:56 (Thesis Workshop redesign: edit/choose/delete + approve-as-current)
|
||||
// * 0.1.0:57 (redaction fix: magnitude regex no longer eats the word after an amount)
|
||||
// * Current: 0.1.0:58 (seed 5 Architect positioning framings into the Workshop as candidate options)
|
||||
export const PACKAGE_VERSION = '0.1.0:58'
|
||||
// * 0.1.0:58 (seed 5 Architect positioning framings into the Workshop as candidate options)
|
||||
// * Current: 0.1.0:59 (Email Capture admin panel + matched email into the grounding corpus)
|
||||
export const PACKAGE_VERSION = '0.1.0:59'
|
||||
|
||||
export const DATA_MOUNT_PATH = '/data'
|
||||
export const WEB_PORT = 8080
|
||||
|
||||
@@ -19,8 +19,9 @@ import { v_0_1_0_55 } from './v0.1.0.55'
|
||||
import { v_0_1_0_56 } from './v0.1.0.56'
|
||||
import { v_0_1_0_57 } from './v0.1.0.57'
|
||||
import { v_0_1_0_58 } from './v0.1.0.58'
|
||||
import { v_0_1_0_59 } from './v0.1.0.59'
|
||||
|
||||
export const versionGraph = VersionGraph.of({
|
||||
current: v_0_1_0_58,
|
||||
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52, v_0_1_0_53, v_0_1_0_54, v_0_1_0_55, v_0_1_0_56, v_0_1_0_57],
|
||||
current: v_0_1_0_59,
|
||||
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52, v_0_1_0_53, v_0_1_0_54, v_0_1_0_55, v_0_1_0_56, v_0_1_0_57, v_0_1_0_58],
|
||||
})
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
// Email Capture admin panel + email-into-grounding wiring. The new "Email Capture"
|
||||
// page (admin-only) shows whether Gmail capture is on, lets an admin enroll Ten31
|
||||
// mailboxes, sync now, and re-match emails to investors — so capture can be turned
|
||||
// on from the UI instead of an API call. Backend: the Architect's grounding corpus
|
||||
// now includes matched email bodies (through the redaction boundary, never to Claude
|
||||
// directly), inert until a mailbox is enrolled. No schema migration.
|
||||
export const v_0_1_0_59 = VersionInfo.of({
|
||||
version: '0.1.0:59',
|
||||
releaseNotes: {
|
||||
en_US: [
|
||||
'New Email Capture page (admin): see whether Gmail capture is on, enroll your Ten31',
|
||||
'mailboxes, sync now, and re-match emails to investors — all from the UI. Once capture',
|
||||
'is on, the Architect can ground the thesis in what LPs actually wrote, through the',
|
||||
'redaction boundary. Requires domain-wide delegation authorized in Google Workspace.',
|
||||
].join(' '),
|
||||
},
|
||||
migrations: { up: async () => {}, down: async () => {} },
|
||||
})
|
||||
Reference in New Issue
Block a user