feat: deliver Beeper message events to ChatGPT through MCP

This commit is contained in:
2026-10-07 22:39:02 +09:00
parent c46e787738
commit 71df9fb421
23 changed files with 3161 additions and 8 deletions
+48
View File
@@ -0,0 +1,48 @@
CREATE TABLE `beeper_chat_checkpoints` (
`target_id` text NOT NULL,
`chat_id` text NOT NULL,
`cursor` text,
`anchor_message_id` text,
`pending_anchor_message_id` text,
`started_at` text NOT NULL,
PRIMARY KEY(`target_id`, `chat_id`)
);
--> statement-breakpoint
CREATE TABLE `beeper_seen_messages` (
`target_id` text NOT NULL,
`chat_id` text NOT NULL,
`message_id` text NOT NULL,
`observed_at` text NOT NULL,
PRIMARY KEY(`target_id`, `chat_id`, `message_id`)
);
--> statement-breakpoint
CREATE TABLE `mcp_event_outbox` (
`id` text PRIMARY KEY NOT NULL,
`subscription_id` text NOT NULL,
`event_id` text NOT NULL,
`body` text NOT NULL,
`attempts` integer DEFAULT 0 NOT NULL,
`next_attempt_at` integer NOT NULL,
`created_at` integer NOT NULL,
`delivered_at` integer,
`failed_at` integer,
`last_error` text,
FOREIGN KEY (`subscription_id`) REFERENCES `mcp_event_subscriptions`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE UNIQUE INDEX `mcp_event_outbox_identity` ON `mcp_event_outbox` (`subscription_id`,`event_id`);--> statement-breakpoint
CREATE INDEX `mcp_event_outbox_due` ON `mcp_event_outbox` (`next_attempt_at`);--> statement-breakpoint
CREATE TABLE `mcp_event_subscriptions` (
`id` text PRIMARY KEY NOT NULL,
`owner` text NOT NULL,
`name` text NOT NULL,
`arguments_json` text NOT NULL,
`callback_url` text NOT NULL,
`secret_ciphertext` text NOT NULL,
`previous_secret_ciphertext` text,
`rotation_expires_at` integer,
`verified_at` integer NOT NULL,
`expires_at` integer NOT NULL,
`created_at` integer NOT NULL,
`updated_at` integer NOT NULL
);