Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docker-compose.jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ services:
PGDATABASE: constructive
# Api configuration
API_ENABLE_SERVICES: "true"
API_EXPOSED_SCHEMAS: "metaschema_public,services_public,constructive_auth_public"
API_EXPOSED_SCHEMAS: "metaschema_public,constructive_routing_public,constructive_auth_public"
# API_IS_PUBLIC=false enables header-based routing (X-Api-Name, X-Database-Id, X-Meta-Schema)
API_IS_PUBLIC: "false"
# Meta schemas used for schema validation and X-Meta-Schema routing
API_META_SCHEMAS: "metaschema_public,services_public,metaschema_modules_public,constructive_auth_public"
API_META_SCHEMAS: "metaschema_public,constructive_catalog_public,constructive_routing_public,constructive_apps_public,metaschema_modules_public,constructive_auth_public"
API_ANON_ROLE: "administrator"
API_ROLE_NAME: "administrator"
ports:
Expand Down Expand Up @@ -58,11 +58,11 @@ services:
PGDATABASE: constructive
# Api configuration
API_ENABLE_SERVICES: "false"
API_EXPOSED_SCHEMAS: "metaschema_public,services_public,constructive_auth_public"
API_EXPOSED_SCHEMAS: "metaschema_public,constructive_routing_public,constructive_auth_public"
# Public-facing server
API_IS_PUBLIC: "true"
# Meta schemas used for schema validation
API_META_SCHEMAS: "metaschema_public,services_public,metaschema_modules_public,constructive_auth_public"
API_META_SCHEMAS: "metaschema_public,constructive_catalog_public,constructive_routing_public,constructive_apps_public,metaschema_modules_public,constructive_auth_public"
API_ANON_ROLE: "anonymous"
API_ROLE_NAME: "authenticated"
ports:
Expand Down
2 changes: 1 addition & 1 deletion graphile/graphile-llm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ The preset bundles all plugins listed below. You can also import each plugin ind
- **Text mutation fields** — adds `{column}Text: String` companion fields on create/update inputs for vector columns
- **RAG queries** — adds `ragQuery` and `embedText` root query fields; detects `@hasChunks` smart tags for chunk-aware retrieval
- **Pluggable providers** — provider-based architecture for both embedding and chat completion (Ollama via `@agentic-kit/ollama`, extensible to OpenAI, etc.)
- **Per-database configuration** — reads `llm_module` from `services_public.api_modules` for per-API provider config
- **Per-database configuration** — reads `llm_module` from `constructive_routing_public.api_modules` for per-API provider config
- **Toggleable** — each capability (`enableTextSearch`, `enableTextMutations`, `enableRag`) can be independently enabled or disabled
- **Plugin-conditional** — fields only appear in the schema when the plugin is loaded

Expand Down
2 changes: 1 addition & 1 deletion graphile/graphile-llm/src/chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ export function buildChatCompleter(config: ChatConfig): ChatFunction | null {
/**
* Build a chat completer from an `llm_module` api_modules row.
*
* @param data - The llm_module data from services_public.api_modules
* @param data - The llm_module data from constructive_routing_public.api_modules
* @returns A ChatFunction, or null if the chat provider is not configured
*/
export function buildChatCompleterFromModule(data: LlmModuleData): ChatFunction | null {
Expand Down
2 changes: 1 addition & 1 deletion graphile/graphile-llm/src/embedder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ export function buildEmbedder(config: EmbedderConfig): EmbedderFunction | null {
/**
* Build an embedder from an `llm_module` api_modules row.
*
* @param data - The llm_module data from services_public.api_modules
* @param data - The llm_module data from constructive_routing_public.api_modules
* @returns An EmbedderFunction, or null if the provider is not supported
*/
export function buildEmbedderFromModule(data: LlmModuleData): EmbedderFunction | null {
Expand Down
2 changes: 1 addition & 1 deletion graphile/graphile-llm/src/plugins/llm-module-plugin.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* LlmModulePlugin
*
* Detects and loads the `llm_module` configuration from `services_public.api_modules`.
* Detects and loads the `llm_module` configuration from `constructive_routing_public.api_modules`.
* Makes the resolved embedder and chat completer available to other plugins
* via the build context.
*
Expand Down
2 changes: 1 addition & 1 deletion graphile/graphile-llm/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export interface ChatConfig {
// ─── LLM Module Types ───────────────────────────────────────────────────────

/**
* The shape of the `llm_module` data stored in `services_public.api_modules`.
* The shape of the `llm_module` data stored in `constructive_routing_public.api_modules`.
*
* This is the per-database configuration that controls which LLM provider
* and models are available for that API.
Expand Down
2 changes: 1 addition & 1 deletion graphile/graphile-settings/src/plugins/custom-inflector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ export const InflektPlugin: GraphileConfig.Plugin = {
* WHY THIS EXISTS:
* PostGraphile v5's default `_schemaPrefix` inflector only removes the prefix
* for the FIRST schema in the pgServices.schemas array. All other schemas get
* prefixed with their schema name (e.g., "services_public_api" -> "servicesPublicApi").
* prefixed with their schema name (e.g., "constructive_routing_public_api" -> "constructiveRoutingPublicApi").
*
* This is problematic for multi-schema setups where you want clean, consistent
* naming across all schemas.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ exports[`test case test case parser 1`] = `
`;

exports[`test case text fields convert empty strings to NULL when preserveEmptyStrings is false 1`] = `
"INSERT INTO services_public.webauthn_settings (
"INSERT INTO app_public.webauthn_settings (
id,
database_id,
rp_id,
Expand All @@ -105,7 +105,7 @@ exports[`test case text fields convert empty strings to NULL when preserveEmptyS
`;

exports[`test case text fields preserve empty strings by default 1`] = `
"INSERT INTO services_public.webauthn_settings (
"INSERT INTO app_public.webauthn_settings (
id,
database_id,
rp_id,
Expand All @@ -115,7 +115,7 @@ exports[`test case text fields preserve empty strings by default 1`] = `
`;

exports[`test case text fields with null values produce NULL 1`] = `
"INSERT INTO services_public.webauthn_settings (
"INSERT INTO app_public.webauthn_settings (
id,
database_id,
rp_id,
Expand Down
6 changes: 3 additions & 3 deletions packages/csv-to-pg/__tests__/export.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ it('empty array fields emit empty array literal', async () => {

it('text fields preserve empty strings by default', async () => {
const parser = new Parser({
schema: 'services_public',
schema: 'app_public',
singleStmts: true,
table: 'webauthn_settings',
fields: {
Expand All @@ -305,7 +305,7 @@ it('text fields preserve empty strings by default', async () => {

it('text fields convert empty strings to NULL when preserveEmptyStrings is false', async () => {
const parser = new Parser({
schema: 'services_public',
schema: 'app_public',
singleStmts: true,
table: 'webauthn_settings',
preserveEmptyStrings: false,
Expand Down Expand Up @@ -333,7 +333,7 @@ it('text fields convert empty strings to NULL when preserveEmptyStrings is false

it('text fields with null values produce NULL', async () => {
const parser = new Parser({
schema: 'services_public',
schema: 'app_public',
singleStmts: true,
table: 'webauthn_settings',
fields: {
Expand Down
Loading