feat: upgrade to Constructive 5.x stack + RLS-stripped single-user export - #38
Conversation
…x) with RLS-stripped export
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
…dingText collision)
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
…am in graphile-llm)
… graphile-llm 1.5.0 via graphile-settings 6.5.0)
Summary
Upgrades agentic-db from the 4.x Constructive stack to the current 5.x stack and switches the exported pgpm packages to the RLS-stripped, single-user form.
Toolchain bumps (root + all packages)
@constructive-io/graphql-codegen4.30.2 → 5.4.1,graphql-query4.2.2,graphql-types3.19.0,graphile-test5.2.2,pgsql-test5.1.4@pgpmjs/core7.5.1 /@pgpmjs/export1.5.2; vendoredextensions/@pgpm/*modules 0.20.x/0.21.x → 0.33.x (now pinned inpgpm.jsondependencies)1.0.0-rc.*graphile/grafast line to GA versions (grafast 1.0.2,graphile-build 5.0.2,postgraphile 5.0.3, …) — the mixed rc/GA tree was instantiating multiplegrafastcopies and broke schema builds in testsRLS-stripped export (single-user personal DB)
packages/export/src/run-export.tsnow passesexcludeCategoriestoexportMigrations, defaulting tosecurity,permissions(override withEXCLUDE_CATEGORIES; set it empty to keep everything):packages/agentic-db/packages/agentic-db-servicesaccordingly: no grants, no policies, no RLS (verified on a fresh deploy: 95 tables, 34 BM25 indexes, 0 policies, 0 RLS-enabled tables). Integration tests that issue raw SQL now use the root client (connections.pg) since app-role grants no longer exist in the exported package.Provisioning updates for the new platform APIs (
packages/provision)modulesAPI (modules.localhost) via@constructive-io/sdk(api/modulesclients); oldpublic_namespace from@constructive-io/nodeno longer carries these ops{ name, args, array_dimensions }/{ value }/{ function }) — raw strings like'citext[]'are now rejected withBAD_FIELD_INPUTSDK/CLI regeneration (codegen 5.4.1)
sdk/schemas/agentic-db.graphqlre-exported;sdk/sdk+sdk/cliregenerated (model naming changed, e.g.contactChunk→contactsChunk, FK inputscontactId→contactsId; tests updated)@constructive-io/graphql-query/runtime→ added as a dependency; removed the deletednodeHttpAdaptercodegen option;@agentic-kit/ollama^2.4.2 insdk/cli(generated embedder expects the v2{ embedding }result shape)X-Api-Nameheader routing (API_NAMEenv), required to pick up per-database settings on the new scoped-routing serverTests: orm 36/36, embeddings 5/5, embedding-pipeline 8/8, rag 10/10, documents-loader 74/74, cli-e2e 16/16 all pass locally against the exported (stripped) packages.
Note:
LlmTextMutationPluginis disabled in the graphile-test presets — the current constructivegraphile-llmplugin unconditionally adds anembeddingTextcompanion field that collides with agentic-db's physicalembedding_textcolumns (platform bug, reported separately).pnpm run lintfails identically onmain(eslint 9 flat-config migration not done; packages have noeslint.config.js) — pre-existing, not addressed here.Link to Devin session: https://app.devin.ai/sessions/bd82f3b68a6348b6b3527a6a9c399f15
Requested by: @pyramation