Files
sausage/extensions/lineage/refs.ts
T

10 lines
1013 B
TypeScript

/** Stable document kinds and domain events for trees and landed submissions. */
import { defineEvent } from '@earendil-works/sausage-events'
export const RootsDoc = {kind: 'lineage.roots'}
export const TallyDoc = {kind: 'lineage.tally'}
export type MemoryItem = {kind: 'decision' | 'fact' | 'lesson'; line: string; body: string; source?: string; updated: number}
export const Branched = defineEvent<{id: number; from: number; at: number; intent: string; title?: string}>('lineage.branched')
export const Rooted = defineEvent<{id: number; intent: string}>('lineage.rooted')
/** The workspaces port emits this event in the transaction that records a landing. */
export const SubmissionLanded = defineEvent<{submission: string; conversationId: number; at: number; sha: string; base: string; target: string; lander: number; divergence: string; title: string; feature?: string; summary?: string; commits: {sha: string; subject: string}[]; commitCount: number; paths: string[]; pushed?: boolean}>('workspaces.landed')