ai: call transcripts (each side recorded, merged by time) and summaries; search on Recordings
This commit is contained in:
1 parent
d9f9c6e444
commit
4d331fb70e
56 files changed
+5186
-37
No files matched your search
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE "recordings" ADD COLUMN "transcript" jsonb;--> statement-breakpoint
|
||||
ALTER TABLE "recordings" ADD COLUMN "summary" text;--> statement-breakpoint
|
||||
ALTER TABLE "recordings" ADD COLUMN "ai_done_at" timestamp with time zone;--> statement-breakpoint
|
||||
ALTER TABLE "recordings" ADD COLUMN "ai_error" text;
|
||||
File diff suppressed because it is too large.
Load diff
@@ -50,6 +50,13 @@
|
||||
"when": 1792624567407,
|
||||
"tag": "0006_voicemail_transcript",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 7,
|
||||
"version": "7",
|
||||
"when": 1792626762332,
|
||||
"tag": "0007_recording_transcripts",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -533,6 +533,12 @@ export const recordings = pgTable('recordings', {
|
||||
startedAt: tstz().notNull(),
|
||||
durationMs: integer(),
|
||||
sizeBytes: bigint({ mode: 'number' }),
|
||||
/** Spec 10 §3: [{ side: 'caller' | 'other', at: seconds, text }], in time order. */
|
||||
transcript: jsonb().$type<{ side: 'caller' | 'other'; at: number; text: string }[]>(),
|
||||
summary: text(),
|
||||
/** When the transcript job finished with it (null: not yet); aiError: why it has none. */
|
||||
aiDoneAt: tstz(),
|
||||
aiError: text(),
|
||||
...timestamps,
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user