biome format
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { default as PublicSchema } from './public/PublicSchema';
|
||||
import type { default as PublicSchema } from "./public/PublicSchema";
|
||||
|
||||
type Database = PublicSchema;
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { UsersId } from './Users';
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';
|
||||
import type { UsersId } from "./Users";
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from "kysely";
|
||||
|
||||
/** Identifier type for public.conversations */
|
||||
export type ConversationsId = number & { __brand: 'public.conversations' };
|
||||
export type ConversationsId = number & { __brand: "public.conversations" };
|
||||
|
||||
/** Represents the table public.conversations */
|
||||
export default interface ConversationsTable {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { FactsId } from './Facts';
|
||||
import type { ConversationsId } from './Conversations';
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';
|
||||
import type { FactsId } from "./Facts";
|
||||
import type { ConversationsId } from "./Conversations";
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from "kysely";
|
||||
|
||||
/** Identifier type for public.fact_triggers */
|
||||
export type FactTriggersId = number & { __brand: 'public.fact_triggers' };
|
||||
export type FactTriggersId = number & { __brand: "public.fact_triggers" };
|
||||
|
||||
/** Represents the table public.fact_triggers */
|
||||
export default interface FactTriggersTable {
|
||||
@@ -18,9 +18,17 @@ export default interface FactTriggersTable {
|
||||
|
||||
priority_multiplier: ColumnType<number | null, number | null, number | null>;
|
||||
|
||||
priority_multiplier_reason: ColumnType<string | null, string | null, string | null>;
|
||||
priority_multiplier_reason: ColumnType<
|
||||
string | null,
|
||||
string | null,
|
||||
string | null
|
||||
>;
|
||||
|
||||
scope_conversation_id: ColumnType<ConversationsId | null, ConversationsId | null, ConversationsId | null>;
|
||||
scope_conversation_id: ColumnType<
|
||||
ConversationsId | null,
|
||||
ConversationsId | null,
|
||||
ConversationsId | null
|
||||
>;
|
||||
|
||||
created_at: ColumnType<string | null, string | null, string | null>;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { UsersId } from './Users';
|
||||
import type { MessagesId } from './Messages';
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';
|
||||
import type { UsersId } from "./Users";
|
||||
import type { MessagesId } from "./Messages";
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from "kysely";
|
||||
|
||||
/** Identifier type for public.facts */
|
||||
export type FactsId = number & { __brand: 'public.facts' };
|
||||
export type FactsId = number & { __brand: "public.facts" };
|
||||
|
||||
/** Represents the table public.facts */
|
||||
export default interface FactsTable {
|
||||
@@ -14,7 +14,11 @@ export default interface FactsTable {
|
||||
|
||||
user_id: ColumnType<UsersId | null, UsersId | null, UsersId | null>;
|
||||
|
||||
source_message_id: ColumnType<MessagesId | null, MessagesId | null, MessagesId | null>;
|
||||
source_message_id: ColumnType<
|
||||
MessagesId | null,
|
||||
MessagesId | null,
|
||||
MessagesId | null
|
||||
>;
|
||||
|
||||
content: ColumnType<string | null, string | null, string | null>;
|
||||
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { ConversationsId } from './Conversations';
|
||||
import type { default as Role } from './Role';
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';
|
||||
import type { ConversationsId } from "./Conversations";
|
||||
import type { default as Role } from "./Role";
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from "kysely";
|
||||
|
||||
/** Identifier type for public.messages */
|
||||
export type MessagesId = number & { __brand: 'public.messages' };
|
||||
export type MessagesId = number & { __brand: "public.messages" };
|
||||
|
||||
/** Represents the table public.messages */
|
||||
export default interface MessagesTable {
|
||||
id: ColumnType<MessagesId, never, never>;
|
||||
|
||||
conversation_id: ColumnType<ConversationsId | null, ConversationsId | null, ConversationsId | null>;
|
||||
conversation_id: ColumnType<
|
||||
ConversationsId | null,
|
||||
ConversationsId | null,
|
||||
ConversationsId | null
|
||||
>;
|
||||
|
||||
index: ColumnType<number | null, number | null, number | null>;
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { default as UsersTable } from './Users';
|
||||
import type { default as MessagesTable } from './Messages';
|
||||
import type { default as ToolsTable } from './Tools';
|
||||
import type { default as FactTriggersTable } from './FactTriggers';
|
||||
import type { default as FactsTable } from './Facts';
|
||||
import type { default as ConversationsTable } from './Conversations';
|
||||
import type { default as UsersTable } from "./Users";
|
||||
import type { default as MessagesTable } from "./Messages";
|
||||
import type { default as ToolsTable } from "./Tools";
|
||||
import type { default as FactTriggersTable } from "./FactTriggers";
|
||||
import type { default as FactsTable } from "./Facts";
|
||||
import type { default as ConversationsTable } from "./Conversations";
|
||||
|
||||
export default interface PublicSchema {
|
||||
users: UsersTable;
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
/** Represents the enum public.role */
|
||||
type Role =
|
||||
| 'user'
|
||||
| 'assistant'
|
||||
| 'system';
|
||||
type Role = "user" | "assistant" | "system";
|
||||
|
||||
export default Role;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { UsersId } from './Users';
|
||||
import type { MessagesId } from './Messages';
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';
|
||||
import type { UsersId } from "./Users";
|
||||
import type { MessagesId } from "./Messages";
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from "kysely";
|
||||
|
||||
/** Identifier type for public.tools */
|
||||
export type ToolsId = number & { __brand: 'public.tools' };
|
||||
export type ToolsId = number & { __brand: "public.tools" };
|
||||
|
||||
/** Represents the table public.tools */
|
||||
export default interface ToolsTable {
|
||||
@@ -14,7 +14,11 @@ export default interface ToolsTable {
|
||||
|
||||
user_id: ColumnType<UsersId | null, UsersId | null, UsersId | null>;
|
||||
|
||||
source_message_id: ColumnType<MessagesId | null, MessagesId | null, MessagesId | null>;
|
||||
source_message_id: ColumnType<
|
||||
MessagesId | null,
|
||||
MessagesId | null,
|
||||
MessagesId | null
|
||||
>;
|
||||
|
||||
name: ColumnType<string | null, string | null, string | null>;
|
||||
|
||||
@@ -22,7 +26,11 @@ export default interface ToolsTable {
|
||||
|
||||
parameter_schema: ColumnType<unknown | null, unknown | null, unknown | null>;
|
||||
|
||||
implementation_language: ColumnType<string | null, string | null, string | null>;
|
||||
implementation_language: ColumnType<
|
||||
string | null,
|
||||
string | null,
|
||||
string | null
|
||||
>;
|
||||
|
||||
implementation_code: ColumnType<string | null, string | null, string | null>;
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// @generated
|
||||
// This file is automatically generated by Kanel. Do not modify manually.
|
||||
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';
|
||||
import type { ColumnType, Selectable, Insertable, Updateable } from "kysely";
|
||||
|
||||
/** Identifier type for public.users */
|
||||
export type UsersId = number & { __brand: 'public.users' };
|
||||
export type UsersId = number & { __brand: "public.users" };
|
||||
|
||||
/** Represents the table public.users */
|
||||
export default interface UsersTable {
|
||||
|
||||
@@ -79,13 +79,24 @@ export const factTriggers = router({
|
||||
return { ok: true };
|
||||
}),
|
||||
generateFromFact: publicProcedure
|
||||
.input((x) => x as {
|
||||
.input(
|
||||
(x) =>
|
||||
x as {
|
||||
previousRunningSummary: string;
|
||||
messagesSincePreviousRunningSummary: Array<DraftMessage>;
|
||||
mainResponseContent: string;
|
||||
fact: Fact;
|
||||
})
|
||||
.mutation(async ({ input: { previousRunningSummary, messagesSincePreviousRunningSummary, mainResponseContent, fact } }) => {
|
||||
},
|
||||
)
|
||||
.mutation(
|
||||
async ({
|
||||
input: {
|
||||
previousRunningSummary,
|
||||
messagesSincePreviousRunningSummary,
|
||||
mainResponseContent,
|
||||
fact,
|
||||
},
|
||||
}) => {
|
||||
const factTriggers = await generateObject<{
|
||||
factTriggers: Array<string>;
|
||||
}>({
|
||||
@@ -121,7 +132,8 @@ export const factTriggers = router({
|
||||
// tools: undefined,
|
||||
});
|
||||
return factTriggers;
|
||||
})
|
||||
},
|
||||
),
|
||||
});
|
||||
|
||||
export const createCaller = createCallerFactory(factTriggers);
|
||||
|
||||
+16
-8
@@ -6,9 +6,7 @@ import {
|
||||
import { createCaller as createConversationsCaller } from "./conversations.js";
|
||||
import { openrouter } from "./provider.js";
|
||||
import { generateObject, generateText, jsonSchema } from "ai";
|
||||
import type {
|
||||
DraftMessage,
|
||||
} from "../../types.js";
|
||||
import type { DraftMessage } from "../../types.js";
|
||||
|
||||
const runningSummarySystemPrompt = ({
|
||||
previousRunningSummary,
|
||||
@@ -47,7 +45,6 @@ ${mainResponseContent}
|
||||
|
||||
Generate a new running summary of the conversation.`;
|
||||
|
||||
|
||||
export const messages = router({
|
||||
fetchByConversationId: publicProcedure
|
||||
.input((x) => x as { conversationId: string })
|
||||
@@ -58,12 +55,22 @@ export const messages = router({
|
||||
});
|
||||
}),
|
||||
generateRunningSummary: publicProcedure
|
||||
.input((x) => x as {
|
||||
.input(
|
||||
(x) =>
|
||||
x as {
|
||||
previousRunningSummary: string;
|
||||
messagesSincePreviousRunningSummary: Array<DraftMessage>;
|
||||
mainResponseContent: string;
|
||||
})
|
||||
.mutation(async ({ input: { previousRunningSummary, messagesSincePreviousRunningSummary, mainResponseContent } }) => {
|
||||
},
|
||||
)
|
||||
.mutation(
|
||||
async ({
|
||||
input: {
|
||||
previousRunningSummary,
|
||||
messagesSincePreviousRunningSummary,
|
||||
mainResponseContent,
|
||||
},
|
||||
}) => {
|
||||
const runningSummaryResponse = await generateText({
|
||||
model: openrouter("mistralai/mistral-nemo"),
|
||||
messages: [
|
||||
@@ -85,7 +92,8 @@ export const messages = router({
|
||||
tools: undefined,
|
||||
});
|
||||
return runningSummaryResponse;
|
||||
}),
|
||||
},
|
||||
),
|
||||
});
|
||||
|
||||
export const createCaller = createCallerFactory(messages);
|
||||
|
||||
+3
-3
@@ -38,7 +38,6 @@ ${previousRunningSummary}
|
||||
</running_summary>
|
||||
`;
|
||||
|
||||
|
||||
export const chat = router({
|
||||
conversations,
|
||||
messages,
|
||||
@@ -139,7 +138,8 @@ export const chat = router({
|
||||
* with the model's response to the database. The new running summary is
|
||||
* based on the previous running summary combined with the all messages
|
||||
* since that summary was produced. */
|
||||
const runningSummaryResponse = await messagesCaller.generateRunningSummary({
|
||||
const runningSummaryResponse =
|
||||
await messagesCaller.generateRunningSummary({
|
||||
messagesSincePreviousRunningSummary,
|
||||
mainResponseContent: mainResponse.text,
|
||||
previousRunningSummary,
|
||||
@@ -193,7 +193,7 @@ export const chat = router({
|
||||
mainResponseContent: mainResponse.text,
|
||||
previousRunningSummary,
|
||||
messagesSincePreviousRunningSummary,
|
||||
fact
|
||||
fact,
|
||||
});
|
||||
const insertedFactTriggers: Array<FactTrigger> =
|
||||
factTriggers.object.factTriggers.map((factTrigger) => ({
|
||||
|
||||
Reference in New Issue
Block a user