@firstlovecenter/ai-chat 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/drizzle/index.cjs +13 -0
- package/dist/drizzle/index.cjs.map +1 -1
- package/dist/drizzle/index.d.cts +18 -1
- package/dist/drizzle/index.d.ts +18 -1
- package/dist/drizzle/index.js +13 -0
- package/dist/drizzle/index.js.map +1 -1
- package/dist/prisma/index.cjs +2 -0
- package/dist/prisma/index.cjs.map +1 -1
- package/dist/prisma/index.d.cts +4 -1
- package/dist/prisma/index.d.ts +4 -1
- package/dist/prisma/index.js +2 -0
- package/dist/prisma/index.js.map +1 -1
- package/dist/server/index.cjs +29 -7
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +7 -3
- package/dist/server/index.d.ts +7 -3
- package/dist/server/index.js +29 -7
- package/dist/server/index.js.map +1 -1
- package/dist/{types-CQntnyDJ.d.cts → types-BnwUkqKb.d.cts} +8 -0
- package/dist/{types-CQntnyDJ.d.ts → types-BnwUkqKb.d.ts} +8 -0
- package/package.json +1 -1
- package/prisma/chat-models.prisma +5 -0
|
@@ -152,6 +152,11 @@ type ChatMessage = {
|
|
|
152
152
|
* `rolePrompt` is the persona the assistant adopts. When non-null, it
|
|
153
153
|
* takes precedence over the host's static `rolePrompt` configureAiChat
|
|
154
154
|
* option, so admins can edit live in the settings UI.
|
|
155
|
+
*
|
|
156
|
+
* `gcpProjectId` is an admin-editable override for the GCP project that
|
|
157
|
+
* every Vertex API call targets. When non-null, it takes precedence over
|
|
158
|
+
* the host's static `VertexPort.projectId` so admins can flip projects
|
|
159
|
+
* (staging ↔ prod, multi-tenant) without redeploying.
|
|
155
160
|
*/
|
|
156
161
|
type AiSettings = {
|
|
157
162
|
toolProvider: string;
|
|
@@ -159,6 +164,7 @@ type AiSettings = {
|
|
|
159
164
|
chatInterface: string;
|
|
160
165
|
maxOutputTokens: number;
|
|
161
166
|
rolePrompt: string | null;
|
|
167
|
+
gcpProjectId: string | null;
|
|
162
168
|
updatedAt: Date | null;
|
|
163
169
|
updatedByUserId: number | null;
|
|
164
170
|
};
|
|
@@ -255,6 +261,8 @@ type AiSettingsPatch = {
|
|
|
255
261
|
maxOutputTokens?: number;
|
|
256
262
|
/** Pass `null` to clear back to the host's static fallback. */
|
|
257
263
|
rolePrompt?: string | null;
|
|
264
|
+
/** Pass `null` to clear back to the host's static VertexPort.projectId. */
|
|
265
|
+
gcpProjectId?: string | null;
|
|
258
266
|
};
|
|
259
267
|
/**
|
|
260
268
|
* The whole reason this package is ORM-agnostic. Implemented by:
|
|
@@ -152,6 +152,11 @@ type ChatMessage = {
|
|
|
152
152
|
* `rolePrompt` is the persona the assistant adopts. When non-null, it
|
|
153
153
|
* takes precedence over the host's static `rolePrompt` configureAiChat
|
|
154
154
|
* option, so admins can edit live in the settings UI.
|
|
155
|
+
*
|
|
156
|
+
* `gcpProjectId` is an admin-editable override for the GCP project that
|
|
157
|
+
* every Vertex API call targets. When non-null, it takes precedence over
|
|
158
|
+
* the host's static `VertexPort.projectId` so admins can flip projects
|
|
159
|
+
* (staging ↔ prod, multi-tenant) without redeploying.
|
|
155
160
|
*/
|
|
156
161
|
type AiSettings = {
|
|
157
162
|
toolProvider: string;
|
|
@@ -159,6 +164,7 @@ type AiSettings = {
|
|
|
159
164
|
chatInterface: string;
|
|
160
165
|
maxOutputTokens: number;
|
|
161
166
|
rolePrompt: string | null;
|
|
167
|
+
gcpProjectId: string | null;
|
|
162
168
|
updatedAt: Date | null;
|
|
163
169
|
updatedByUserId: number | null;
|
|
164
170
|
};
|
|
@@ -255,6 +261,8 @@ type AiSettingsPatch = {
|
|
|
255
261
|
maxOutputTokens?: number;
|
|
256
262
|
/** Pass `null` to clear back to the host's static fallback. */
|
|
257
263
|
rolePrompt?: string | null;
|
|
264
|
+
/** Pass `null` to clear back to the host's static VertexPort.projectId. */
|
|
265
|
+
gcpProjectId?: string | null;
|
|
258
266
|
};
|
|
259
267
|
/**
|
|
260
268
|
* The whole reason this package is ORM-agnostic. Implemented by:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firstlovecenter/ai-chat",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Reusable AI chat module: agent loop, Vertex providers (Claude + Gemini), narrators, persistence schema, and chat UI components. Host injects auth, scope, tools, and credentials via configureAiChat().",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "First Love Church",
|
|
@@ -54,6 +54,11 @@ model AiSettings {
|
|
|
54
54
|
toolProvider String @default("claude") @map("tool_provider") @db.VarChar(32)
|
|
55
55
|
gcpLocation String @default("us-east5") @map("gcp_location") @db.VarChar(32)
|
|
56
56
|
chatInterface String @default("custom") @map("chat_interface") @db.VarChar(32)
|
|
57
|
+
// Admin-editable GCP project override. NULL means the host's static
|
|
58
|
+
// configureAiChat({ vertex: { projectId } }) is used. Lets admins flip
|
|
59
|
+
// the active GCP project without redeploying — useful for staging/prod
|
|
60
|
+
// migrations or running multiple FLC tenants from one runtime.
|
|
61
|
+
gcpProjectId String? @map("gcp_project_id") @db.VarChar(64)
|
|
57
62
|
// Caps the per-turn output budget for both the agent loop and the prose
|
|
58
63
|
// narrator. Bump well past 4096 for reasoning models — internal thinking
|
|
59
64
|
// tokens are charged against this.
|