| 165 | } |
| 166 | |
| 167 | function isValidExportedSession(data: unknown): data is ExportedSession { |
| 168 | if (typeof data !== "object" || data === null) { |
| 169 | return false; |
| 170 | } |
| 171 | const obj = data as Record<string, unknown>; |
| 172 | return ( |
| 173 | obj.version === EXPORTED_SESSION_VERSION && |
| 174 | typeof obj.exportedAt === "string" && |
| 175 | typeof obj.session === "object" && |
| 176 | obj.session !== null && |
| 177 | typeof (obj.session as Record<string, unknown>).sessionId === "string" && |
| 178 | typeof (obj.session as Record<string, unknown>).title === "string" && |
| 179 | Array.isArray((obj.session as Record<string, unknown>).history) |
| 180 | ); |
| 181 | } |
| 182 | |
| 183 | function handleExport(_args: string[]): SlashCommandResult { |
| 184 | return { |