- Move all v1 files (index, router, container-runner, db, ipc, types, logger, channels/registry, and all utilities) to src/v1/ as a fully self-contained archive with no shared dependencies - Rename v2 files to remove -v2 suffix (index-v2.ts → index.ts, etc.) - Update all imports across v2 source, tests, and setup files - Migrate shared utilities (config, env, container-runtime, mount-security, timezone, group-folder) from pino logger to v2 log module - Migrate setup/ files from logger to log with argument order swap - Container agent-runner: move v1 entry to v1/, rename v2 to index.ts - Update setup skill to offer all 13 v2 channels - Install all Chat SDK adapter packages - dist/index.js now runs v2; dist/v1/index.js runs v1 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
91 lines
2.2 KiB
TypeScript
91 lines
2.2 KiB
TypeScript
// ── Central DB entities ──
|
|
|
|
export interface AgentGroup {
|
|
id: string;
|
|
name: string;
|
|
folder: string;
|
|
is_admin: number; // 0 | 1
|
|
agent_provider: string | null;
|
|
container_config: string | null; // JSON: { additionalMounts, timeout }
|
|
created_at: string;
|
|
}
|
|
|
|
export interface MessagingGroup {
|
|
id: string;
|
|
channel_type: string;
|
|
platform_id: string;
|
|
name: string | null;
|
|
is_group: number; // 0 | 1
|
|
admin_user_id: string | null;
|
|
created_at: string;
|
|
}
|
|
|
|
export interface MessagingGroupAgent {
|
|
id: string;
|
|
messaging_group_id: string;
|
|
agent_group_id: string;
|
|
trigger_rules: string | null; // JSON: { pattern, mentionOnly, excludeSenders, includeSenders }
|
|
response_scope: 'all' | 'triggered' | 'allowlisted';
|
|
session_mode: 'shared' | 'per-thread';
|
|
priority: number;
|
|
created_at: string;
|
|
}
|
|
|
|
export interface Session {
|
|
id: string;
|
|
agent_group_id: string;
|
|
messaging_group_id: string | null;
|
|
thread_id: string | null;
|
|
agent_provider: string | null;
|
|
status: 'active' | 'closed';
|
|
container_status: 'running' | 'idle' | 'stopped';
|
|
last_active: string | null;
|
|
created_at: string;
|
|
}
|
|
|
|
// ── Session DB entities ──
|
|
|
|
export type MessageInKind = 'chat' | 'chat-sdk' | 'task' | 'webhook' | 'system';
|
|
export type MessageInStatus = 'pending' | 'processing' | 'completed' | 'failed';
|
|
|
|
export interface MessageIn {
|
|
id: string;
|
|
kind: MessageInKind;
|
|
timestamp: string;
|
|
status: MessageInStatus;
|
|
status_changed: string | null;
|
|
process_after: string | null;
|
|
recurrence: string | null;
|
|
tries: number;
|
|
platform_id: string | null;
|
|
channel_type: string | null;
|
|
thread_id: string | null;
|
|
content: string; // JSON blob
|
|
}
|
|
|
|
export interface MessageOut {
|
|
id: string;
|
|
in_reply_to: string | null;
|
|
timestamp: string;
|
|
delivered: number; // 0 | 1
|
|
deliver_after: string | null;
|
|
recurrence: string | null;
|
|
kind: string;
|
|
platform_id: string | null;
|
|
channel_type: string | null;
|
|
thread_id: string | null;
|
|
content: string; // JSON blob
|
|
}
|
|
|
|
// ── Pending questions (central DB) ──
|
|
|
|
export interface PendingQuestion {
|
|
question_id: string;
|
|
session_id: string;
|
|
message_out_id: string;
|
|
platform_id: string | null;
|
|
channel_type: string | null;
|
|
thread_id: string | null;
|
|
created_at: string;
|
|
}
|