From dbbabff055e589a13ca7543ca5be0c43c2bb01e4 Mon Sep 17 00:00:00 2001 From: Devin AI Date: Mon, 10 Aug 2026 01:23:55 +0000 Subject: [PATCH 1/2] sync: port the capabilities rename and five modules' drift from constructive-db constructive-db vendors these modules and edits them in place, so the two trees drift until someone ports the changes back (last done in #118). Five modules had substantive drift; the other 25 differ only in the test harness import and bundle artifacts. metaschema-modules carries the rename: permissions_module becomes capabilities_module and data_permissions_field becomes data_capabilities_field, default_permissions becomes default_capabilities on every module table that has it, plus four module tables the platform already provisions (content_preset, email_sender, oauth_requests, file_ref_field). function-resolution gains the opt-in staging bucket (resolve_staging_bucket, staging_bucket_tag). metaschema-schema, object-store and object-tree carry procedure-level fixes. Tests keep upstream's pgsql-test import rather than the vendored constructive-test one. sql/ artifacts regenerated with pgpm package 5.23.1; metaschema-modules snapshots re-recorded against the ported deploy tree. A publish needs a version bump: 0.40.0 is already released and these changes rename objects inside it. --- .../__tests__/staging-bucket.test.ts | 140 ++++++ .../procedures/resolve_api.sql | 4 +- .../procedures/resolve_staging_bucket.sql | 101 ++++ .../procedures/staging_bucket_tag.sql | 20 + packages/function-resolution/pgpm.plan | 2 + .../procedures/resolve_staging_bucket.sql | 7 + .../procedures/staging_bucket_tag.sql | 7 + ...-function-resolution--0.40.0.bundle.tar.gz | Bin 28233 -> 30009 bytes .../sql/pgpm-function-resolution--0.40.0.sql | 82 ++++ .../procedures/resolve_staging_bucket.sql | 7 + .../procedures/staging_bucket_tag.sql | 7 + .../__snapshots__/modules.test.ts.snap | 13 +- .../__tests__/modules.test.ts | 2 +- .../tables/agent_module/table.sql | 4 +- .../tables/api_surface_module/table.sql | 4 +- .../tables/app_module/table.sql | 4 +- .../tables/billing_module/table.sql | 4 +- .../table.sql | 30 +- .../tables/catalog_module/table.sql | 4 +- .../tables/content_preset_module/table.sql | 44 ++ .../tables/data_capabilities_field/table.sql | 97 ++++ .../tables/database_settings_module/table.sql | 4 +- .../tables/db_usage_module/table.sql | 4 +- .../tables/domain_module/table.sql | 4 +- .../tables/email_sender_module/table.sql | 86 ++++ .../tables/entity_type_provision/table.sql | 27 +- .../tables/events_module/table.sql | 14 +- .../tables/file_ref_field/table.sql | 83 ++++ .../function_deployment_module/table.sql | 4 +- .../function_invocation_module/table.sql | 4 +- .../tables/function_module/table.sql | 4 +- .../tables/graph_execution_module/table.sql | 4 +- .../tables/graph_module/table.sql | 4 +- .../tables/hierarchy_module/table.sql | 4 +- .../tables/http_route_module/table.sql | 2 +- .../tables/limits_module/table.sql | 5 + .../tables/memberships_module/table.sql | 18 +- .../tables/merkle_store_module/table.sql | 6 +- .../tables/namespace_module/table.sql | 4 +- .../tables/notifications_module/table.sql | 4 +- .../tables/oauth_requests_module/table.sql | 70 +++ .../tables/profiles_module/table.sql | 24 +- .../tables/rate_limit_meters_module/table.sql | 4 +- .../tables/resource_module/table.sql | 4 +- .../tables/route_module/table.sql | 4 +- .../tables/site_surface_module/table.sql | 4 +- .../tables/storage_module/table.sql | 6 +- .../tables/webhook_module/table.sql | 2 +- packages/metaschema-modules/pgpm.plan | 7 +- .../tables/capabilities_module/table.sql | 7 + .../tables/content_preset_module/table.sql | 7 + .../tables/data_capabilities_field/table.sql | 7 + .../tables/email_sender_module/table.sql | 7 + .../tables/file_ref_field/table.sql | 7 + .../tables/oauth_requests_module/table.sql | 7 + .../tables/permissions_module/table.sql | 7 - .../metaschema-modules--0.40.0.bundle.tar.gz | Bin 80760 -> 87604 bytes .../sql/metaschema-modules--0.40.0.sql | 441 +++++++++++++++--- .../tables/capabilities_module/table.sql | 7 + .../tables/content_preset_module/table.sql | 9 + .../tables/data_capabilities_field/table.sql | 7 + .../tables/email_sender_module/table.sql | 9 + .../tables/file_ref_field/table.sql | 7 + .../function_invocation_module/table.sql | 2 +- .../tables/oauth_requests_module/table.sql | 9 + .../tables/permissions_module/table.sql | 7 - .../tables/profiles_module/table.sql | 5 +- .../tables/resource_module/table.sql | 2 +- .../triggers/enforce_api_exposure_ratchet.sql | 2 +- .../types/object_category.sql | 6 +- .../metaschema-schema--0.40.0.bundle.tar.gz | Bin 28273 -> 28282 bytes .../sql/metaschema-schema--0.40.0.sql | 2 +- .../procedures/insert_nodes_at_paths.sql | 30 +- .../sql/object-store--0.40.0.bundle.tar.gz | Bin 18466 -> 19482 bytes .../object-store/sql/object-store--0.40.0.sql | 2 +- .../objects/set-many-and-commit.test.ts | 61 +++ .../procedures/init_empty_repo.sql | 6 + .../procedures/set_and_commit.sql | 19 +- .../procedures/set_many_and_commit.sql | 29 +- .../sql/object-tree--0.40.0.bundle.tar.gz | Bin 7385 -> 7869 bytes .../object-tree/sql/object-tree--0.40.0.sql | 40 +- 81 files changed, 1531 insertions(+), 213 deletions(-) create mode 100644 packages/function-resolution/__tests__/staging-bucket.test.ts create mode 100644 packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_staging_bucket.sql create mode 100644 packages/function-resolution/deploy/schemas/function_resolution/procedures/staging_bucket_tag.sql create mode 100644 packages/function-resolution/revert/schemas/function_resolution/procedures/resolve_staging_bucket.sql create mode 100644 packages/function-resolution/revert/schemas/function_resolution/procedures/staging_bucket_tag.sql create mode 100644 packages/function-resolution/verify/schemas/function_resolution/procedures/resolve_staging_bucket.sql create mode 100644 packages/function-resolution/verify/schemas/function_resolution/procedures/staging_bucket_tag.sql rename packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/{permissions_module => capabilities_module}/table.sql (71%) create mode 100644 packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/content_preset_module/table.sql create mode 100644 packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql create mode 100644 packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/email_sender_module/table.sql create mode 100644 packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/file_ref_field/table.sql create mode 100644 packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql create mode 100644 packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/capabilities_module/table.sql create mode 100644 packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/content_preset_module/table.sql create mode 100644 packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql create mode 100644 packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/email_sender_module/table.sql create mode 100644 packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/file_ref_field/table.sql create mode 100644 packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql delete mode 100644 packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/permissions_module/table.sql create mode 100644 packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/capabilities_module/table.sql create mode 100644 packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/content_preset_module/table.sql create mode 100644 packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql create mode 100644 packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/email_sender_module/table.sql create mode 100644 packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/file_ref_field/table.sql create mode 100644 packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql delete mode 100644 packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/permissions_module/table.sql diff --git a/packages/function-resolution/__tests__/staging-bucket.test.ts b/packages/function-resolution/__tests__/staging-bucket.test.ts new file mode 100644 index 00000000..842f0f31 --- /dev/null +++ b/packages/function-resolution/__tests__/staging-bucket.test.ts @@ -0,0 +1,140 @@ +import { getConnections, PgTestClient } from 'pgsql-test'; + +let pg: PgTestClient; +let teardown: () => Promise; + +// Deterministic fixture ids. +const TENANT_DB = '22222222-2222-2222-2222-222222222222'; +// A tenant whose storage bootstrap never labelled a staging bucket. +const BARE_DB = '33333333-3333-3333-3333-333333333333'; +// A tenant that labelled two, which is a tagging mistake and not a coin flip. +const AMBIGUOUS_DB = '44444444-4444-4444-4444-444444444444'; + +const ids: Record = {}; + +// The database's staging bucket: the answer to "where does an upload land before +// anything has vouched for it". It resolves by the same exactly-one tag rule the +// default bucket uses, so staging is not a second lookup mechanism — and a +// module that has no staging bucket raises rather than staging into a permanent +// one. +describe('staging bucket resolution', () => { + beforeAll(async () => { + ({ pg, teardown } = await getConnections()); + + await pg.query( + `INSERT INTO metaschema_public.database (id, name, platform) + VALUES ($1, 'tenant_db', false), ($2, 'bare_db', false), + ($3, 'ambiguous_db', false)`, + [TENANT_DB, BARE_DB, AMBIGUOUS_DB] + ); + + // The published bucket plane, as the catalog-sync triggers maintain it. + await pg.query(`CREATE SCHEMA catalog_private`); + await pg.query( + `CREATE TABLE catalog_private.buckets ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + owner_scope text NOT NULL, + owner_key uuid, + is_visible boolean NOT NULL DEFAULT false, + database_id uuid NOT NULL, + key text NOT NULL, + type text NOT NULL, + physical_name text, + tags text[] + )` + ); + + const bucket = async ( + database: string, + key: string, + type: string, + tags: string[] + ) => { + const row = await pg.one( + `INSERT INTO catalog_private.buckets + (owner_scope, owner_key, is_visible, database_id, key, type, physical_name, tags) + VALUES ('database', $1, false, $1, $2, $3, $4, $5) RETURNING id`, + [database, key, type, `phys-${key}`, tags] + ); + return row.id; + }; + + ids.default = await bucket(TENANT_DB, 'default', 'private', ['default']); + ids.staging = await bucket(TENANT_DB, 'default-temp', 'temp', [ + 'default-temp', + ]); + + // A permanent bucket carrying the staging tag is not a staging bucket: the + // type filter is part of the rule, not a hint. + ids.mislabelled = await bucket(BARE_DB, 'uploads', 'private', [ + 'default-temp', + ]); + + ids.ambiguousOne = await bucket(AMBIGUOUS_DB, 'staging_a', 'temp', [ + 'default-temp', + ]); + ids.ambiguousTwo = await bucket(AMBIGUOUS_DB, 'staging_b', 'temp', [ + 'default-temp', + ]); + }); + + afterAll(async () => { + await teardown(); + }); + + it('the reserved staging tag is one fact, not a literal per call site', async () => { + const [row] = await pg.any( + `SELECT function_resolution.staging_bucket_tag() AS staging_tag` + ); + expect(row).toEqual({ staging_tag: 'default-temp' }); + }); + + it('resolves the database staging bucket without anyone naming one', async () => { + const [row] = await pg.any( + `SELECT bucket_id, resolved_key, bucket_type, physical_name, owner_database_id + FROM function_resolution.resolve_staging_bucket($1, 'database', $1)`, + [TENANT_DB] + ); + expect(row).toEqual({ + bucket_id: ids.staging, + resolved_key: 'default-temp', + bucket_type: 'temp', + physical_name: 'phys-default-temp', + owner_database_id: TENANT_DB, + }); + }); + + it('a database with no staging bucket raises rather than staging into a permanent one', async () => { + // BARE_DB does carry the tag — on a private bucket, which is exactly the + // case that must not resolve. + await expect( + pg.any( + `SELECT * FROM function_resolution.resolve_staging_bucket($1, 'database', $1)`, + [BARE_DB] + ) + ).rejects.toThrow(/STORAGE_STAGING_BUCKET_NOT_FOUND/); + }); + + it('two staging buckets raise, naming the candidates', async () => { + let failure: (Error & { detail?: string }) | null = null; + try { + await pg.any( + `SELECT * FROM function_resolution.resolve_staging_bucket($1, 'database', $1)`, + [AMBIGUOUS_DB] + ); + } catch (error) { + failure = error as Error & { detail?: string }; + } + + expect(failure).not.toBeNull(); + expect(failure!.message).toMatch(/STORAGE_STAGING_BUCKET_AMBIGUOUS/); + + const detail = JSON.parse(failure!.detail!); + expect(detail.code).toBe('STORAGE_STAGING_BUCKET_AMBIGUOUS'); + expect(detail.context.tag).toBe('default-temp'); + expect(detail.context.candidates).toEqual([ + { bucket_id: ids.ambiguousOne, key: 'staging_a', type: 'temp' }, + { bucket_id: ids.ambiguousTwo, key: 'staging_b', type: 'temp' }, + ]); + }); +}); diff --git a/packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_api.sql b/packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_api.sql index 2dc93b7a..d8b6ab95 100644 --- a/packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_api.sql +++ b/packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_api.sql @@ -15,9 +15,9 @@ BEGIN; -- module has several, and a scope when a module is registered at several: -- -- notifications_module the module's api surface --- permissions_module.admin this api from this module +-- capabilities_module.admin this api from this module -- limits_module@org the module's org-scope registration --- permissions_module.admin@org both +-- capabilities_module.admin@org both -- admin an api by its owner-local name -- -- Anything ending in _module (before its suffixes) is a module selector; a diff --git a/packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_staging_bucket.sql b/packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_staging_bucket.sql new file mode 100644 index 00000000..96d87845 --- /dev/null +++ b/packages/function-resolution/deploy/schemas/function_resolution/procedures/resolve_staging_bucket.sql @@ -0,0 +1,101 @@ +-- Deploy schemas/function_resolution/procedures/resolve_staging_bucket to pg + +-- requires: schemas/function_resolution/schema +-- requires: schemas/function_resolution/procedures/bucket_matches +-- requires: schemas/function_resolution/procedures/staging_bucket_tag + +BEGIN; + +-- resolve_staging_bucket: answer "which bucket does this database stage an +-- upload through", server-side, by the same rule resolve_default_bucket uses +-- for the destination. +-- +-- Staging is not a second mechanism: the reserved staging tag is matched in the +-- caller's own frame chain, filtered to type = 'temp', and exactly one match is +-- the only acceptable answer. Zero raises (a module whose storage bootstrap +-- never labelled a staging bucket cannot silently stage into its permanent +-- bucket), several raise naming the candidates (picking one would stage a +-- tenant's uploads through whichever bucket sorted first). +-- +-- The staging bucket's destination is its own destination_bucket_id, enforced on +-- the module's buckets table, so promotion reads the destination from the row +-- rather than being handed one by a client. +CREATE FUNCTION function_resolution.resolve_staging_bucket( + database_id uuid, + scope text, + entity_id uuid +) RETURNS TABLE ( + bucket_id uuid, + resolved_key text, + bucket_type text, + physical_name text, + owner_database_id uuid, + owner_scope text, + owner_key uuid +) AS $$ +DECLARE + v_tag text; + v_matches jsonb; + v_match jsonb; +BEGIN + v_tag := function_resolution.staging_bucket_tag(); + + SELECT COALESCE(jsonb_agg(to_jsonb(m) ORDER BY m.bucket_id), '[]'::jsonb) + INTO v_matches + FROM function_resolution.bucket_matches( + resolve_staging_bucket.database_id, + resolve_staging_bucket.scope, + resolve_staging_bucket.entity_id, + ARRAY[v_tag], + 'temp' + ) m; + + IF jsonb_array_length(v_matches) = 0 THEN + PERFORM errors.raise_error( + 'STORAGE_STAGING_BUCKET_NOT_FOUND', + jsonb_build_object( + 'database_id', resolve_staging_bucket.database_id, + 'scope', resolve_staging_bucket.scope, + 'entity_id', resolve_staging_bucket.entity_id, + 'tag', v_tag + ), + 'internal' + ); + END IF; + + IF jsonb_array_length(v_matches) > 1 THEN + PERFORM errors.raise_error( + 'STORAGE_STAGING_BUCKET_AMBIGUOUS', + jsonb_build_object( + 'database_id', resolve_staging_bucket.database_id, + 'scope', resolve_staging_bucket.scope, + 'entity_id', resolve_staging_bucket.entity_id, + 'tag', v_tag, + 'candidates', ( + SELECT jsonb_agg(jsonb_build_object( + 'bucket_id', c->>'bucket_id', + 'key', c->>'bucket_key', + 'type', c->>'bucket_type' + ) ORDER BY c->>'bucket_key') + FROM jsonb_array_elements(v_matches) c + ) + ), + 'internal' + ); + END IF; + + v_match := v_matches->0; + + resolve_staging_bucket.bucket_id := (v_match->>'bucket_id')::uuid; + resolve_staging_bucket.resolved_key := v_match->>'bucket_key'; + resolve_staging_bucket.bucket_type := v_match->>'bucket_type'; + resolve_staging_bucket.physical_name := v_match->>'physical_name'; + resolve_staging_bucket.owner_database_id := (v_match->>'owner_database_id')::uuid; + resolve_staging_bucket.owner_scope := v_match->>'owner_scope'; + resolve_staging_bucket.owner_key := (v_match->>'owner_key')::uuid; + + RETURN NEXT; +END; +$$ LANGUAGE plpgsql STABLE SECURITY DEFINER; + +COMMIT; diff --git a/packages/function-resolution/deploy/schemas/function_resolution/procedures/staging_bucket_tag.sql b/packages/function-resolution/deploy/schemas/function_resolution/procedures/staging_bucket_tag.sql new file mode 100644 index 00000000..847ae0ab --- /dev/null +++ b/packages/function-resolution/deploy/schemas/function_resolution/procedures/staging_bucket_tag.sql @@ -0,0 +1,20 @@ +-- Deploy schemas/function_resolution/procedures/staging_bucket_tag to pg + +-- requires: schemas/function_resolution/schema + +BEGIN; + +-- staging_bucket_tag: the reserved tag for "the bucket this module stages +-- uploads through before they are promoted", in one place. +-- +-- Third label in the same reserved vocabulary default_bucket_tag owns +-- ('default', 'default-public'), for the same reason: staging is a bucket a +-- tenant labelled, resolved by the tag rule capabilities already use, not a +-- boolean on the row. A staging bucket is additionally a 'temp' bucket, so +-- resolution filters on type as well and a mislabelled permanent bucket cannot +-- become a staging destination by tag alone. +CREATE FUNCTION function_resolution.staging_bucket_tag() RETURNS text AS $$ + SELECT 'default-temp'; +$$ LANGUAGE sql IMMUTABLE; + +COMMIT; diff --git a/packages/function-resolution/pgpm.plan b/packages/function-resolution/pgpm.plan index 3c9a1435..e6aeb36d 100644 --- a/packages/function-resolution/pgpm.plan +++ b/packages/function-resolution/pgpm.plan @@ -13,6 +13,8 @@ schemas/function_resolution/procedures/bucket_matches [schemas/function_resoluti schemas/function_resolution/procedures/resolve_bucket [schemas/function_resolution/schema schemas/function_resolution/procedures/frame_candidates schemas/function_resolution/procedures/bucket_matches] 2017-08-11T08:11:51Z constructive # bucket selector {tags,type} resolution schemas/function_resolution/procedures/default_bucket_tag [schemas/function_resolution/schema] 2017-08-11T08:11:51Z constructive # reserved default-bucket tag vocabulary schemas/function_resolution/procedures/resolve_default_bucket [schemas/function_resolution/schema schemas/function_resolution/procedures/bucket_matches schemas/function_resolution/procedures/default_bucket_tag] 2017-08-11T08:11:51Z constructive # the database's default bucket, or an explicit key +schemas/function_resolution/procedures/staging_bucket_tag [schemas/function_resolution/schema] 2017-08-11T08:11:51Z constructive # reserved staging-bucket tag vocabulary +schemas/function_resolution/procedures/resolve_staging_bucket [schemas/function_resolution/schema schemas/function_resolution/procedures/bucket_matches schemas/function_resolution/procedures/staging_bucket_tag] 2017-08-11T08:11:51Z constructive # the module's staging bucket for uploads schemas/function_resolution/procedures/bucket_catalog_row [schemas/function_resolution/schema schemas/function_resolution/procedures/frame_candidates] 2017-08-11T08:11:51Z constructive # reachable bucket by id (same-tenant proof) schemas/function_resolution/procedures/api_catalog_row [schemas/function_resolution/schema schemas/function_resolution/procedures/frame_candidates] 2017-08-11T08:11:51Z constructive # reachable api by id schemas/function_resolution/procedures/resolve_api [schemas/function_resolution/schema schemas/function_resolution/procedures/frame_candidates schemas/function_resolution/procedures/api_catalog_row] 2017-08-11T08:11:51Z constructive # api selector module:/name: resolution diff --git a/packages/function-resolution/revert/schemas/function_resolution/procedures/resolve_staging_bucket.sql b/packages/function-resolution/revert/schemas/function_resolution/procedures/resolve_staging_bucket.sql new file mode 100644 index 00000000..173ef4a9 --- /dev/null +++ b/packages/function-resolution/revert/schemas/function_resolution/procedures/resolve_staging_bucket.sql @@ -0,0 +1,7 @@ +-- Revert schemas/function_resolution/procedures/resolve_staging_bucket from pg + +BEGIN; + +DROP FUNCTION function_resolution.resolve_staging_bucket(uuid, text, uuid); + +COMMIT; diff --git a/packages/function-resolution/revert/schemas/function_resolution/procedures/staging_bucket_tag.sql b/packages/function-resolution/revert/schemas/function_resolution/procedures/staging_bucket_tag.sql new file mode 100644 index 00000000..c07246ee --- /dev/null +++ b/packages/function-resolution/revert/schemas/function_resolution/procedures/staging_bucket_tag.sql @@ -0,0 +1,7 @@ +-- Revert schemas/function_resolution/procedures/staging_bucket_tag from pg + +BEGIN; + +DROP FUNCTION function_resolution.staging_bucket_tag(); + +COMMIT; diff --git a/packages/function-resolution/sql/pgpm-function-resolution--0.40.0.bundle.tar.gz b/packages/function-resolution/sql/pgpm-function-resolution--0.40.0.bundle.tar.gz index 2efd16d5db03786d0808aea917a9271f0e1aede1..d6b24f7fe93942bb2763c52ffb353bd757cdc324 100644 GIT binary patch literal 30009 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
    (8g`43-;9>cU=$^0jjVYZo7)4E|M z*v^m0?`hhu^f8LN0j-@DllCA#ug`-#$g|sne$P)a)B{@Nvv;gfnBG#M9>3d&6do$_ zEum-s?F~CB-P&f9tGu@#V1k$dTI31O+PBDd-I3{up#v&ICe@Aky?;pA0Kl z=&Tp4=8$ zP-&MP19F)|XjfZz$|#yS(yad!|G4L8sj_v@75+=oKKav(sp3(MI1w;OMey>Z8p#r* zb4p~RTopnv+d_zNYt2_l4|RVgBYtYh2rFkv`5aQ98%@%J6{7qIF-jYf4v>4CdA2fD zf0n_)IGJXRaGLikYYqI+2+JY9R&iu-ah~uJoT>|pK-=Z&o1ic zjJq?9HPN>ayPM97L@;qbYhEpvWT?i-+pFlH<^yyAE9XEN)iO7UByojGAYY%N@5i<6 zW8+d<5RAXXRZ;9^Nr66(8ivzT0BWwH&n}Xta8VBN$9# z?t@wOP2z<&>*5s^+eq}x^T(PJIYpoHdvGm&Atz>0Q1Bc$)9A%;KWc95;9N z2|E1m-?Y%5v%-GJ4{`q(;pYCF7&1xLmA`gi!A|P+Jns%wnnUCUg4AYq^a>?nA)D^w zga$2MF3Vjcy02}#S1vnzSR*{H(6v8}a{5kxagrjaS3DzNr}ezohwTN5glKrK=w}fN zv%+W))qgzr9?8BkO?`fTxIIvwaOxvIs5Y=u=Q~WbcujZkDYPeqr+>X(@G1GyuE$Z|;A|gA+&_6D>phLYCO#p%kY~CSFcyOxZX$xwY02hNNSnAfV zv)!|~W4CU;fp=Cv(0)sP$rz*Cfv^>rcaUy}@$|w~mV=n?&g%2u(pQ#WZ9UL%<_J@f zn>g$_w};t{X7eRQDe2%Ej zo%>`9`GjPvA^`6Ba^j0g1xF*3W@9Zjn=tbvU4B>&A#@hpg8-bEjuU~PT^O90vGtu_ zpH_dTcU=aC!gGDxsl7LPoSj^>53{QU8PF7+6py1mbW4Ua9cCaPwwtz}VhbO}Y?2;J zcfTd2(Lv}BM&;&d_vkNcust*Kqr19bPL5?QW9YQAUGrzU&3&I2pI!9~+T~DU5W76% zk{K}S&PTqD{pTD;vG(?F$bKEV&yrF*06{SuU0^l+*+CD6GFP$#gARO+ej*e)j`w&E z&$jrQB!g-)gr~8X`XN3A;IL#0D>Y*PjG10vc>m4s;@LsymPk%LB++y$$N3N1i~pMk0oIKYuyv zO<7Ji?~%^h3iXS4;MSq{%TG{Dz8ED_8J6Pa*(vbQLs-2Vo+o}dPGrUk-zO7Sya@4> zfrwAavyi&FY^Y3XMq>YZ>v~&K?A2mNZxiLwZMW^KLNcP}^8~qYcR;zI4UbBb<-6G$H$cMp%5o z?5CpYB7EcRZUZ}}g2?B+4@O5wk_a=+l$XPu%I{8P?`3PP!RVEJoxRgna#Vx@gHC7w8@K zW{NeNI4&2g!4^Fx2Oy9JF!QQuw#!oTi4k8(Xm!1A5<^{4I_XaZyf8ZHkAxnJo`?$K z;JSrjuAE#rhnu#fyC^Qe}dyl!09#VKI<<^`&sQkO*p#At$Yo)J{?jo$H1@Tfcb zv>ABk{a9Av%F?8u#2hU{UdhUkOMLAtyI#NcO=Un5xfCQ~B#gaIzt3Rz0S5UBD(Hg4 zM@6}sra2E8uBOxf!pbFFMSm<|hG2ARrtd5Lh0>KLE6Vg+k4&|S02YsBZxIy!mf2Uf z76F2*=A?2&h55V0QzYs?!{5$q$i`*FY^f)C?YEzVlpy|$#OfaAVT(NecLEItPz6Bg zh-`8KgXHKebiw%@-Zd}^@#5=^frrjQEs-{$y8G_K#+Y4G>3ZO-a99 znFp%k-O-^oUL2#L6uWPC`vqbx*t8oow=g*zdCsvL#-l*sii&Ma^@B37*c!RGj`u$` zS+)O$X^#xeEd?Z(6gd!-LiOW(DOP{Z=@;X?x-b%|_{i7FzU1%x7v7~ehRGZBTTI#w zJIkX6#wn}Y-o*L_qwqUJ0eSHN;&xH_Zko2eXsQJG+N$e&rM75k?;cxJ-BlkJezYNl zOKGIWNs?rNCtKn=m_`FAy?#A!ehvs7xE(VKw@ZF33TxtSjQ`y;M4f=teR;ABylTucdrCbJ@*s4R_a52y~lmR|}W?RQ?yT5FB)_Q^= z%TyUv6#V^B$WdnZtnrcGVO0?pf zUfA=UHP`4(vU6=Ad@DIN)`#ieEyp^tGQ7RPLr;NL)yeoa)6$kb{|%j>gpct1YML#g+1NUK+*d7cfpC%d!vqNPPD=4* zC-G6gdMI>C;IJs zw%}qO`&7H+VpLy=X4*>mF4;DiNXEY4cbr|RedUut+tu+Ar`ZNHS~E!y86g>Q2B&ec895R`L9uC?cQn+;TY&Sl!X_lhW{Bh zFmwH>W$Rzg%nww(tY&F|7Alc#Wk8j!h=V?M0dhT*_c1Qxv6@j?g#oh@7O1M=N;X-K z8K9zXJm5w?bkg}~2gZz3s2Bi+qRXs#pHH#*7_50+ULQxR6AefP=-wgk5g^ku$BF!% z#N-?_OAgwxud^O+^jtjr*4vfj>lj3;@J*=mug+{PyH}cvOM8~+N9F0{|YVeQSxdnXp^+-1H$>!*Oy411MXs^xSlrKcd&iK)_j>^^D)D` z1COtWD(ej2v%~divWcV}2t)e)lrt@$7$W39PU#1uMgpOoB{9et%BX% zt2Wk_{JPrzX&i?dNXmq`b8r?{EK`epsF%}4UKveT;kMTL_aehVR&SMU;)GP4t||zLisr&;EDS@4!Ogt93F&wG zJc2W0Fd4JIg$|Z&21; zl2otrMYN^AJ|VC0;)eIX$2pH;;GLF+N2701+)oLE(j3ZY{TSOqH|3$r<79Yf4~Lgt zZo8{<_mKiYzJpG)DSaZylmGBBPRLK8g(f|AO5=&2=$YUJgO$)R!qX>zcEfuZVzCKr zi`12qtf2aQ9zCqL|t?pZ?=Gtm?VU zvmnrVYtBzhm|E@Q2h9HK5pc?Xy*D>o3VANxc#|)=Vl8L+h0KlGQ+&P3_2qswk@yY=c4gsj(gwL1V}_O zWrT4EtYNFZO7%1)*|`Vy@Q!N`UzA#~8T$FL3ED+{PFCM)M6#Dpd5MZLBD5~V%b@lX zsF%m5lWhXOzzHA8N5OZGXX5n(MWMI1j;mRKq7a?8aO6_WcOLnDVw0g&IL-%-o=jHw zOSA{UvJwbxDmorveM39({n>jQR zCmP8t{)BFL;D?o?cUty^&wSrL$NQhN*t%F=Yd5@$wXK}M6dDEB?p6@;I05m0M`6#! z)7C1e>BehTteZ=Cee+#ygy>mQJm;LtCaDT7+gBm#JB2=T>TUl|#B58Xx4- zoH4`_S5~tgq8hd~>c{#rkh69BOwoyp=mH}T&?G!)YU_8!(H;b}(%5DW@g92F!M^Er z!Zg>#X)Ai^QbI^1+K_*uj(hT;4B%Hg8joXL#YlDw8XLuXOz(LuBRGTN>q)yDs0d>*C(*O|6-Rf3m(J@_pG7hye$ zBFr>*zky6aht;@wKrFj0+leI10lQ=)Nt#L2@RbRzYehQb_)--m8tde_Ab1SBj>;JS zm?^RqL(U}O+Jk98O(Nntn@m3a7*2#tM}Jtl_nhixA0CKuuK5Tl`xq<;0y(%D z(2r9$qr{4L>P6-01LwPS}Pz5Wed%K$QtvFZc9{12Pf1G#3|?1S0X0CusldN zu2^5z66_kBZLL=~p&~4^=p-b(724Q}WhCUmruQ zD+Q~6VsIAQYr}vqJcMm9u#r6@wY46eoGoOVh?Ji?#Zt)w4uX6z@fe8YJ)T1I?Pe1% zOwr;dlBrvZ=8dF7|D1~ao&)&BQ6F|hCGOAI5`nr zh)Lhxk-D?mB$Ka|1gLGJtzZ3R24ho$fUrMk!6!~;qQ510gBqYuLv~kDFNOL~?%G$q zyI)Mmb&8rQEC2bYtZUvvIG~c(Lf_%H=3N=q(`PmK%`yj>8Ehl$9D(WhG&9kE5RIS{3*C68IAHhKYyL z420TZ8!5xq%MD@~O)!R~vxmB~V4L%(nr)-l9CTR?Vh?hE{oot_J!!*ro2WU=@6PmZ zp|$Nw*3T2KV>{+^@C|^}cF)iCEjkQDW~;bXH_FdKZJfc1|Cl&919KM=O?*^B0g0w| zw3>0>>GM{~hW5^e76b_Y+1G&K$#b2UzV7=sROec4O(&A+rXR46S!Q2ASi3TBw{ZCj!JZ`QwkhM!ec9Pv94Q&D8U0IIU%}(Qhv$E&UXr3@%_CPhU$8gDDu*xIk-ALTGAnLROUlX@ zbM$v{5uq0qxnkG2da1v8*?#k-yr#T%)n!%?Z1jKoM#^GU zr}^Uk@4?ki?4j>nrunCbcA4cruGs4SpXMdLW|su#G^My^)x8@?R^%hAFRyV;t{(8Z z9=dGiA=8alS*>2btnq^8{f|u$2yI-tws>ztr z2Y-8sZ?gi^%aZYjF9w2_I7zd#P9LzMKH*F(ycK-#fzF1~haMdrW+q}j< zO+QIS``VsaGwVbC#j-4ZV5EM%j>&$=zgU&&hT9+VyV)gjEIXW9(bTpttY~iAbKm}7 zh!lBMmn%}IpBVa``Pc9L#3FVaFqQ<)m+0ToNYh9*z4`NZaA5TJyZiqAqdPCY#t=po zDV7XT#w%3gBx76mT`~U8(_O)^k^UqvN`z5MyzToeH_hkiGbxLzno9br5104tsd3D0 z(`j_S)*nB{wtLeI=MNaCI*XrlaB7u&Zd&NEPw@>d8PX$Td0pP3Ws&Cf)>P?B8lPvu zimz6P{j|h6WfY}(T_APHqGeem47FX_dMsU`=P4(;Po>9GK=!o)w#YI@>Y_xt-)WBO zD~580OIFpAR`=e`vi+Zv2IxVv@>G;-$@Y&LFRDp>yJY`D=E?kES@rX5fs$3M{KP0y z9hj0ozIT;l{+Y_HM;R10H*;K8JoWZP-*@UHrdlef7#2T+53&Md5e-Xry#2ppIBL@ z^!_KRsYCw^60+vl_g}qFz)kQGHq)BIjC*ce#wl++s4V}ItY`LG!p zIZGb6*B-#o9&66nR}1nPC!0Gj?(Z_&?KcX@tMXYbMbB7ypjdy@c3LHOni(_DOMl z&GH((MtgTZzV{*5a-0It;5}>RSu<fW@zy6+ru=qt&1x(saVq~YugEW}7w~c^F%bEumJp{u6p4D` zhnspzGMrvl;`@Ss2hmX1J$OQ`&dpWTe6(8 zoTReF@69_|aoem1aqVN8Q}}|qH)-!wKf=;^F`c5f;vU*!Q`7}oE&#jy>gb!}lUMND zo3o?Ciz9UY<_|~T9-`x~(aGrrI{NGJ`NjDd{P^la{>|Cp$pw0Ue)!E1Iz7>EjzN_d zrwG&QG*7F##C1{L`{h-A#qv4@9Fe~IkRQIgI66abkG?*9|Ly{PcXs^e<9A2j9G#=% zjV;M<9{u&`&HD@S)vw>5ytz0&Jvkri;fMUq>9^k=U%dK|o8)dmYA3WE+i{6yVcU1y zz+tZITg0&#Az>Wy$mT)lavxis7ln3|us8~+9rKVdLhay%YV=>t#Fy+7E9>!zSNBFI z{!HB4X5x8STo0!H?b+#f8|bzTEtthIj%;FE+=~LsNfOI-tc1D_vt7r=4rPQ|7WF-s zMwV-HjvY6SXcR;ijXZZq3%UEpX`$|o(&EqJ-Zr#AMLr_EJIcKYt!SBG!@xRy+TmDmYQEXU={kGLBp#7n3jT2bsI31u$v zW1l51X2h~B%Zie~PTV-OVjNqRZx6}TwjEO!JD3H5?GrolNW{ay<2EK?5;7adoH&ll zT^eJGNyHKsxvt~kfV$jwEZ1*26Z?sgF5wk<@6RJ1$t51iCq4_OShFDln=qJQ+og#c z+A+g6W_}!CHx78>@W}RX;zum9a7c0B*a7xzoA87ul+&b{>HlHO_r1=Wt*!6!T%WkzuE}^sb9n|)EUrAT;(gDIb6;BI^ zYWk7gB2r|l>m2RF7OQVBdCD?+AS`4>uAW0TX?>N-uE9kugU!$zoMo)6&=OabXjdp> zdlkxx;^S(0shXbI;|CIbNB{5t{9lyAajNZ=Qz6k-OGZ+hAtJ_d#_Cm>S12z~S=@*wZ?0J0k_%m7 zaTnzO6vSmlQExtHjmV{W%NQq`jm_`=ha5JKNwL)`r4xBscA#cI)gST$bar&{{tVdG z;aBgD(7t{|tUEC>cu>75CVp_$ob9IB!*leT-+aj59=&;Ycy=To`~=u@btzj>eR`#D z4O)4n7P5RmoxA+HGhp4+1a6ou$d`^!E>8Pjo%FsXpZxml^joxc$IW_EgZQ<4?Js{g zIy(}bGD!V;bkCWO$d?g1Jb4Q*%L!TYnz$)8vlx*)QolZZfASWco()KPe2z}uzk7!+ z{%~}nzk<{pD^eewyhX=fH!Ui{Rx@MHC#as~!lu+vaZTThS4N*`SIjt_6@9fTE+6{; zPLEGU9{TV?@}d{0h7)(c*54O2uVyI~1g(3MQJH@qnDbW8!~;DVj?;R3f{xOmv%2T6 zduvcNBwIx%M}Gx5`sn2Cs}K2aeuLf}o_zBj#2cjpqjR}e&yU``KRdqo8%Qt5Cr4-7 zh~Ye>zJ+a@crg!{6-Lyip-o&nj#wN=f#lc1$^Tu*V7itSZS} z$N73)<^CK~@JGRS4z{7A=eX43Rz%!5uy_!;4BNgHc$hNGy_j*=r8f1LW5*2iyTqZE zOR?uVjvZQI^jX!JyXbhgo}*hG)pYJ8s8ofTUTmofg>h(c+m2Z5J4qB$FYq{_B(ehs zTM7I8MILSEt}PLMcJlK5`qg_eyS-w#6DO$fEQ z75RRMNko&7$DxaZ*maYbSfOY07`q?J&kJPQZd^F!CBPl^f*-06RfK!EnZd#LW;Q>RsPb0qAbpw9`y&Ps;q?NsUEtvYBd)fv1ZUc0zr zjW-iTJ2 zA<4W(TiJuVpk|Ba>Z`N@B^z}7Wtm>%@>W0uFi2Ez{hiBYnSR1GYj}5M`X0b%O{ycD zS2wIQh61NtS=>yzU<4iZP5~Jxtwe)TgRhGfxndOL9|3!4GbGrly0kW#)v{z%Ac!!& zn=1?sL~JRCsyu2$2VtnP(?xy7%Dt+=0t(J$XRmMxR&{V!ogns!!%Bu0 zD^^vE_5po2__$56G%r;Wvr{V1Q`_lH{%M; zi!Igl6KjEncAJ=pg5EIT^~n~jRF}=&qi-2lgCU0;f4#0Z4?cRy%-qss)^2JtGdpIS z#)@j@i|r?yyG=tQ_l6CNqj~M-LBu>ci99)VW8)Mtr5w^bl=Yj&)rKt7DLT!wTU4z| zjtO}0>rL8OpzXI1CiO}{jqInisw=dQ(REr?X})M$OexA3{sfM{pIF%diekn9crzCD z4bJPvv#*+bDPnN~a!K_&b!&%UapdmPny+0irAL^{c`!A`_py-E;SQd>42`o&! z1V>KfMihIYjhTae5(QD>#a0vqNf=<3P#oBS<-4{Yx;ToH=Th{W!|P$Xy=GKWaf1JD zrOx}I@3Me7%&{1CJu9{yFCt0kJ5~~V#IeJWJH+!bV*$5(KXIJMNnDRuB;+CUo=ctA z)OxH2KSH*LDeVpk0)~@>`EJ5!$f=F}Fkx1}!!QgY8itV_x`g4_i()r%0_?|D=rG&I zp2zq``(@;XVN4H;y8*KzYDa#OfP;;nxJej=Bw&u`Qs(&4 z6DjSQRzp2~!vQ!{-1{eA=g^xB&boolzB}!9r`@mkw0kOr*-!kKyEX~j(2oL_IW~?X z$B)A(vArOPJU@!4#odGfe&{=XNPL(0ZbV!bTQPoGg}EO`{;O1&wITS4jpa{e-+r?8 zHDB4#eAjERX&Nt=m*UF6ceok?29lgTlY1v1v(fZ*)ZRoXx`x&++7kV*t_*OXYEXbQ z7cfFqV`x6jDf@|0p@X)X>~XCE>LgH5Kwby&4H0W6KGh6urmjNZowSJ;H#sZi%?Xl! zd}Ox=MjW2d!bNaiwSj9FIg!H=p|e>Aa6o;yH%;Ei%sUqKU6 zqlTdXJKl#bkXw?mmy|8*D^y|5>f3{s2yb+EB`t)n>QaCT5cwb;LFl(=krfHfu3)gL&_RlELM5?Sh|xANJFdk($wtzYvIiX{A=0BF|oBOd+n@!N{*_s8RVRiRP47QS+qe)4noYA}MJEdA ztkR6-HB6seSWQ303||!>plSv!T2v<{N>;UYRniBIGOiJvgAkgq=B#Q64Ux8z%36`S zJUco+efM7c`sVQB@ZIS*m+wyw|9p7-PO3xae|mR*Aylt3%d!t(5G76p^m(Y`n@uk- zL6n@Of+!-=Ax&0r0s);Q=ql#5`j{@4%s2w&#E#B>gQm;*hgO>JX>r_yyG46fg-K3$ ztSXeyUZH&@K_7_i14OJCDROltpc|YCNS3DpUEdaql|sU{K3-iXt?pAj{$)O|WFSL( zLP=3%4CjrrY+bI{T3~mBF5G-U8agfqeI3q`#*oLo%2v5tf&$?0n5(bS8kLL`CGFa& zVb5%_6*}8M?j$K^Gm5ZYF-?nVW59Ol*d2_;r8Z5)*bE(tKEo>e@B%J!i0J~e=@lzk z)2QSSu*=X*Su`dPvDebN-6u$fQX!n*O1?4cTI6R#FUpSf-K3$Rd-o->{Z{2u^Jl8d zli^)?QVy>->rvhkQ_HpRGVJRFH4<3IIIMijjc%y{+YfaX*x)d*o`|YXpfnpE?<2ix zuiVkSu5yCNpm${Z-Wia`bt{K=-4RYNy88dd7k>Ap*k+e`n(ZHSDDdw1+v5vlo7VZ> z{xm+;#}E#W&tXR29DOI4-~039lW)upA;ij(6ja2IiGyNq(!GDpstPYew3f)4x8J=D zKYLrAN%NL7d{J%U3+i|rXk`7q4S7}f{=qnUqC`GZp_^|ZrdJaw^C@8*x2*|jy_KVh%l&iEhSjliVjIG!q(YW%wIXv$O--G91=(ASXAKc&P zv!bNvx5zm_|Dm4dTr^wK-oD(x_U>kVo7mq57AV=^Uyd*SfKJce9-kb(1N3Wawg_1* zwBro?yg55PKbKBAdbRXM@#n*L?~l%bE=D8Pe4eC>G_MaPXdgD|d@jLlySZU@_wZa$ za^Fz03eJs3rc?Bdp-ERl^|*x%^O4=o5xZ7mvET=WW+Zi<9?R2n_8M8>R%LX2$ipNq zA%EXYiw5$BVUq6hCbLm)x*aZUV$*$5>vgjXdUpmK*z6E`Z7y?hY2EV@PUvom!Lyya z8_$8>Ve{tj{AkGD{_=;TlR*c8S+^?PMemVbujJ3syK^<$n~yZbF564*PvGD<-^3d3D;%g$UQ5J*;o^0gR@TH#q z&^&BVZ{)3^ZqdBhwfl4}8`^rYjlBaf#w(mcbo>=wRkct*wRvW!R&5r7T5(0#L5{_* zC#M&e!r^fajMQjL1V8oG;)fSse0ZT#hDllx(LKnvEWN5~bzMGc0$#7bIOxkUz4n!R z@&paZH);p^xf~vROl@jY!UG!9Fk(1Lh>L@Wgi#z&*Y!y3__lA85GPKIoq#wV#a0|8 z5p|jWY>^Gx-11O|2ZaW-?)DR8{tim}RxS_$_aP?Oa>68v9c;0{@q8S(5Q6GCIC3cs zV#^C6X4|$$gMd30=C0?tEOG;CJ(~-JqTi!kAhsdo!<-_hn^>+#{E)@i}8K8H<#Bh0PX!A|J2@TnphH1#$GFHHI%)HwdME%Y>Wsn~=$jlxZ9 zkfyuhBX)Sx4sY7wO*_14hd1r;rXAk2!<%+^(++Ri;Y~ZdX@@ucqVc9Di_s-cM2TlJ zhuaZx5*#}*i?K^XH^JPu+>k_;OBm!9NFqBTlvrUL2GkCG2y*y2T#iReP(8}~c(UEo zBi_%?>$hxHDR~kX=KFpA*Xo~akZo={+!_@_#AW5bCn|F27b^7C(buPdkARQy$@$UQ zg$^ASu29tsJdY(VQuX5`8n;8CCuFxm6q|^qAaib7LDt&rRD^0G7WvBs{PFUpC_l3DVBUCqfhX<~r=^atM%8M$%pf9qUp_0}KK$+&RjghE zA|1>d4_pZLMQJ_JZnVNrtbJC&OVSgrrIGY0)0mAG(^Zq;tfmtf%j9LEzdC|MO;IJ> z%Zi?IhVTNXc~v(~;(}*_2i}O2xbmr$`Gz4(8v3zU^`NO4cm+3Y>1X;bj{kvV%C~Da z?l~?XBQ+}RRw(IrTQ!rNr5~9Y@V(Dwiy1^f|L>w){BKDI@q!9ZSAKa#xoD{eV3t|% z;b4aT+n|nm`dHtnK*?ce& zfmcBBq^Pgj)gb(kD=9jPpf2rBs<+_%d^8QF`ZK$0iXgKzUo;T5M#^C*{b$;*jXefs zCR8be(bgW}@;PLa8?yzr&oltL))wCRDGra!XVm;Do1r#kH(=f;uToLtI--e}L@ipKG~s?@o?%?aFT zPX|SG)2`}Zu+E)E%-9Z~HDR~*4F&l&{9s~ofxFPvvDIUKaowzp-f39%0pbIbPLnn4 z(`7eBSOZ$L9Bn+Zw$JzGuhBSg&|A4iZmgksXxv2fI5W`(Q<2gCKAd)ME783zMG{aN z5_LWDvAv;YtuY1^fJUO1(!Ao^`=fZt!MOFtSl%0eJ%vSr`3fDKodL+vTC6s&km(ei zixdPm#Z)9-{>W|xL{k}TVXnfbz>d=49m-uDf(Q0oYgcy^5|-p z7}O|CJYZ_lGXDs8xQp?AS_kc}MUhSRwk4n};r}&+83TYjGc;t2QgmC-5=ZH`o`(0M zIU)J$s9pXlC0fm~2C8!(-s?Xv=le_juuPvIVc0=z>#Hq$%&6Pwda9?+!1HAL?Ms z9Blh8jeSa!&|{uWt&l|t;Wnlb4;;A6FphW<27yN%5(N&k}PB=$Ka?#9YXjCnR=VF0C;;)M9zPKaZXh*+WTk$|}*roQF6iO+eMgxqGX zk3Gh)4ciJot&^@v)Ti**-Hbin4Ljb6INsCKcNAs3%cpmTHSVy+9oD$R8h2RZ4r|j*F%nL3KTlF@7X>LBO52&rV)>+Ym>x^ z;vmAI>pNcTSV+-k0!+UeUu;FVUw{Ml z{V4qe?$yHvnvAJG6iL--1TL6uU`pZISR+5&)Kik-^tx@~hnrf97G@)4RhBHTyHPbg zr*Abs9Zzqae0qv+0AVs6zop-GgDw70B%o~56=5>_vT*X2uC6UdnKp|+xq@r8y>%gn zE&^5BLQ~)=Zn~wbX2Ut|13P#q~*2h|MzL9*r(r;a-zy)97GzWBA zoH>Zrq+-sx|P=HCnI(6JA5k=0L+`G(f)9S9_WmyVxCf>`q{Ln zQmd-s;#r!A$;@uiN4BinRm4js9m)F(>xyNN8ahj1b|Lq`q{)1nK?l)lIYG%P&7gkZ zyT1ubLQ%@bSRQax@I013Cdb(Ozp;ePbScRF5SQT(bFGu1ups|LiG9z?> z2&6n%V)79$m>I!gDCIz%yg-NN7m$D)mlZ2fxytMGT4y3oL339{*I>g`HKdEBBGbCg zr_dAyZ#}fHimFZQkXC3}ELRz>&E&RcExPupnn6-+4cfwzY;&8hks{l`2*Z*i@)T<@ zS?w1Yl%Wh$*gPws_ zOTABCi4tgRYKTqUC=ZeELJtHcqq>5W7MHq{uSN0@DbAa`M-0>m^SIM9{Z3gHxJ~P* zzP)q0pf+p%W1GGDY5iX|rk(y35}o@#@$B4^!7 zcSBaH`N1%?HWDWiG~56%DzHOtX9(_4{0QDk0JwZ5XI7_3#zX`@K#mu7g)5#XLvfR)5y_V2bGxd-j0YNblbOCq=kf8DmFfDuZ|!MXTk3;LYvC)jCJIo_*Dara?8B zsvp=S8AMv4Rj$e@zG|Xz2K%dN4Q8?_SE&+i8+e~FyA6F>W8_P)2;e;ZPpmoDOMMpt zpTyh=ZYAdd__R3p+IXv4<_k}Yd?LF7)~FJviz}dSS*#XU<|=}Pa&q+Nqch2xYLQH! z6L4iLA(#(&@YOek=nEB^IjIrL>9j7UET>z>k*Gbre`oy165on~q(4+enMn)3y<_r4vWNjD^?Z~MixMe~T$tvIDXer6AzMSiSzNbf45g5vDy>Ofx*bJVE3aFid&Bb8j?e9uQtZGqXs0RpV6=({wZt_40@6_#RDwoK&%@xrWzZoyzk+4iuVrgw1dEZH;$J@JG z=-%KoTp1)48JhKSWrS#^V$!m_p1E&3D0;xkCL_ynGFW6I_74MCZo%bogThkW;vjdtXTr10*@^P zS&Vw9$ZBX!qx$}|DcPmEG3l|QVaXw_V)YLMR!+5IJQb`*tnI2!vkXD?G+;ex-BNBm zOThSA*CuOe&TjYrdM75)fIfrow7v2>Gc&1$KUm`HJ#!wgnmcYcQq8eG!Q&gQQNtgn4e z>ucr_tgcNAz3sqwMJq}3*ZNoErXjbQO?IcN{mX1uX-*wsKwO$g&B=VW!(z=h%p3jH zFhP!QHqyw_oxvMRsr}tD-)r?#Fn2e`%=Ur4LNVb6+!0gCQE6Wv}X+ zc0^^)u5Cw}bOgxM<0ew>Xwok!>kF2}PTRr5E3b^t8kqB1D0qgxQ=8(xc1IKJ{n=qFUhs?4pm-=x`ynvF}XCbzI$_NfPcR1!j!n`mFg4j(g z&*p&zRpPlzoq+i9a|IGbDbba7^aRL2jq!Dl$yyHjWp6y({gdCxYBGL z;Jp^>-UxGVk8p1TZg0S~H$&QYquB!>yVrn;SN3k*4O`!VSZ@VZZ-Z0c4N*S`o!*2^ zuZ{oOLDV~ldIwSOAnF}Ny@RNC5cLkC-a*tmhi?=(^_oJcjK-YBIKjjtJdSM7W)`- zoCCb0Lc(;<#n41+LJw_}Rf3l|Ni#S}brevgpoA-&)2Zl<%JJWN!Y_;hZfL))xhC>C z%n{n})3!_GC|a1Kk)L4`uaTG}Rav#Fk*0g&1~1Lq&YCsuu5w;<4AbCRa>~lxjyTa7hJoEjW^(POs2|tOm)pbwKZL zi$|3)*shGgh;nLt!c381e5j?l`D{s%tRZOB7%*T@B`g2w{n6Rq?yO$hjrZqcl@>Qu zgdDF1xn1Sk{v@oa137rC-^IZLgQB=kQVnu*^~1+ifxM#vI(}IPqMIJB)Mch6!~n&f~qxYQ1C6w%PLJZ^uS|K3O&I$aJ~xG#nm;{WH)w{sze}cZcBa5PYUX@TsbBCY1Spz&)1- zA&z+hS$Z*xogi@{>~LliV#U~sd`uW&KK8xPPsb%KU=<- z0b1}(dVZH2Po?EQkO%`+zuUXHQf1{;u`zOnOD2lvfvzMHj|e5IfS~kBTfwGN^p6@Z zASdDNlKl%+EMufD$|hNYN};Nw+SLczPERD}l^3X3rnxSWh!d#8cU9b=Ysdvr7B`g) zMkjKy0O!jrtr0vgG(=pZ4=<$FCqGt674gFhkvp<2u*pz*z0BA(%WJHx*r}>5 z$}qXowrr@IC=6~gJR1u{yj*21?s=&OMcFmZX{8hXD)JcGzckcgIc)v1Qij(y(x{nx zI@^eNUZzSB8NftoLXdp^la&Q3N>ssQ;tVPrDnmFambbF*Wh$`F@)q5Iv0LZg!1_Ts z+pt)>M3lzUwEFO(CH$$dN{XtI6|1MvN2(f^%~Wbt$%TV!$z3H{YNVG$S4BqU;NhiaRZ~X51P2i>ez5 z%dk_MQes^|XhCF!IzXxjRgzLP**sqg4+TZtHwHvjs=U6m4~7ZC3P?;W2W?JnHm^!U z3?G4w(eyw#F+uP@lca@=)Z(2|@A6e$;`}3|B!S;q2_uthu1-~kC)l{6!Zoh-6sw#A z_&P}!D}mwYZ6xbwB9*B`ju7A-Wj8Oyyz&B4gH&c+Q8h{6Po*(5vG=fEm~i?7NmVin zLDqJbH1`#h5pF7JbtxLl7}{T!#S$+>7N$0Rv%m`_*A)vY)wy^NbfRWS5WP5*8=kRI zR=F5XmrZS`HmdoQ1`;b^Ot+m$$_oQCl^|hN7bRXum$MudOJFNFQ^j>fSAl2Yq+*a( zJ(U?AyUuBdm8G=9$O(nyEF#08nP;jppxJgfN?w`BR5L$jbIDs&nqrZeN2M#0DV^Zt ztRzOPDNxC!b5*EPv|^0%OU592`9oy}_@qgw1dCqn0O3q0Ga%|EpTo}XYcIm^u^sZ) zJtd!}eCeVR5B>dnedTt^E_s^O%ENa%fKc_U+qk-@y=}W!8%I{1-9aVRYP~2sFydpN z$8C{Dp=4aaGCk~M%T~%)GV3c_VmPybN+mD%Y{Jd;&OpZ=SgYH~+omaF?d{P%Nx{FQ zTliV5!I+!RbQa=<9`_y`>vivup6VxcD}v2rzCwfRC-T)?tK-9SdeS8rdTr{$eSaJ9 zLP~nMcTX>R339u-^x*AoO5S1CX`Ohw-;Hht>WkhZgGAFh*R*)%E*~dwi0LPZPG(~3 z|NhH9{o!&yck_P#8G}b?f1}egwdT=lwEppfVbeX5tzTO56YYViHSZ2Way8hbSHlf@ zHL^LcHf_wS^-KI}{f4~i&z@L7g27ywO8u44&R?T_HHPan-@g(U56oAt4ti=mjP>V2 zvK`+ej_dlN6;kS37Uqt_0z0t6FlL-b4&`3JeV1|D32Yn3flFi03p^{dNic@NejX&d zr{+Eo$L<}pcPgoF`wJQ5`?V-_Q!op?d$1USJC_lO_aF67H4uIqT% zi|mLKI|!ZFrJTplR!6Ew&&ML#_ap2B(QS%7X4`R0?H~y`k1=)a(2Y3eZtPLwdff6k z#uoEg6x$9q;9u*)~0+g?b$2wM~!P8f>=FXA3?-O%9@t|DBX<-cI#xiI|20jf#y4T zZYR&}PaWE9%HMxTgz(#b(Y`b$0T`>uBCJ*o&Z)pyIBNhc6=Io2eMN)dWDhW@zPKlRV4<^u|4p+(B*548 zx3KDgXsJRsSGX45q-ot`oR;6bW>~);m=@({XXt-{Nlxo>A`!c^%{A9r3tsarX~_^KlwwsW zj9yN4$9`35mspM3EQz@euF8JmdaI5rE$x!>~3is=rYQkap3;OfnNFvy(b{9DS6eo z+FUdA&*QIqXO)!54SAa2#+!V9Bc84u+2y1i)AKzn%}sk?ao)<>Echtx z#QH0Zpow1;>*x|M7W;K^DgM~MK4>+9>shmR4kl>t@87Ec&*Z?UhxVyGPBvlyqt?Sa zCU@;aef6k!do0d!WXW&1+j1K1V0Ud+WmbeMOMH8ov3yZq?KgCI;6^$*y}11P^!>?O zkQW-?BfMBJC|CGJ8&@c$2(!?L%pD>kid9~c?J5**CW-J_)GK8VmNu}(J@n6iZlKl# z?d^lO2bT`^4mN*q48K{w8n)Qf_TJh$+M8$WOJv`F#ty&z>iC=Yr|-|_=!-^xAI=zJ zKdwZTn0+&r?2Cg}XswhYgphu?R9gX~KaU&7_S|!>VTh^*zd6BdAbJef`+HwhX#b1q zU~hu1r(b@#*Ph9}D=FOr{xd;)25;)UaWFu%1Sc{{!=!&(WlsF{!4}KPS+lJ4aV&zO zRg=>%t>%7@WUU}Fe~ok}dc%|szOOdDufpkv?*kb&zNy2;hp)n&HSczXpYGe8du!ew z%1FJ@4<6V|1yii*_Qtrgu`h~%!#;?0)O>qGam%MQc7`s)V1J`=91zMF^Fu;I7W-E0 zh8B&ID1lgp$hWy4#25#bA7LH_)UgwvTkdliJA3HQ1C5MAo7T1lOzu8 zD2cG+5SJ$owRspN-1e~Rx|~rLLtF`Gi4%DiaXmY7E&tg9czX1Ftg-WcgngK?Gxh^2 zLd|T8B;4_R>O}#uf+&C(_{8TS4RP$d9`mX1Q7cKP?F7E%6USmMjW!uOt;DhdI|z6{ zeQH@r6tE!hnCII;>{|iD31!6bc<5v5+jc~m8w9=;S(tjh>pWHd$sQU1`x-lU`sq$T z-RY-0{dA|F?)1~0e!A07clzlsRzH0z=M9TF%p$f&JRD=+b$r613IHde69-XfkvMS^ zC-7+y(2()SaS}}3#B!LQSe!>s>b%j74ZN)J;@6$}YB-)pI8gN57KUxlb*f;n$x|WW zwibWktMK84NG`2|Uel^uX?ax%>pII(UL*y*6-HPp3bntOXgPG5VbTfnT5pAHVz5Y& zt*-Nl2)nFh>1T-aS{YjwwAQtmVTfSBY|ki=OjnicAG)|H zT5?ENfC)+%!K;cXTIkeFFNCMWO#xQYN;n1R%v5?z>PN&`u_g$vDS^E#S(PpzH1C_E zi-YdFQyEXE-+lA;WU4yVzAm2t;l4UBOS{YGgqWX*5IN4WYER|H{L5E@pmQjOqp|*R^3ot+-VIrNyf!I zp!y~y3@w<*oR}3WYB&K%&7t*jz$#0;@JV3hme%Uw{!jwHB=x0qo6%_?P1CYa+?B=F zR9OzskEAQ+u<2R1QQ?ib*PZ=6>3^xO?x7*j2;BSl+i%|s2EGjp#+)eNF0~@Z3*!KL zF(t%hIC3l&1l+a!fI3OYg9JO&V!mTXEOIPv5eJHe;PAO%#Sy;vKxlDfmeq`Ig(F(A z&mzjHA9y5+Jdb0G$Ck}(N*vF_ap*EXh`43NiEl+-n0P@zEJAIbB(DE_WpG9a_*g7) z10^2@9AZ0)63=BZv01_+NZnyYzR$4ZVdh6kkZ>HZAR-p_e8-9WfYFfIw&(iH4lQdF zaL5_;D7P8qZtNtH$1Iz;mdm^t!d~3a@nY9?Y}ayHBG`7~#P?imahr3@>=65oX%-IYwCaqJynU#LV_!&RZ0!1`78Maa#esB1o&vaXv(>?d7)*} z)LJ+LW+}^|tLnEYxhg7_tIP-@Uk!M_f;dG}NLd2{lj&e8gfS(W<%s2<(y|a9#nX&^ zVwvflD;v_%q>$ePEnsM}ucA+YwfQDBSp#+JX98KO?0~J}MpIF`~39Ov*lx0+8@h@Qopu;BHi}H9@67i&Q z78UN3FhoOnYu&T=+FC`IS|(QoG1{E5`g2Wt4RPzMvREyyWQK3yUrn@gZtKLXr|=`Y zZM=kMW1}su(;AYAsPQ(sRx`06*r~+l&}&w~)A9ss`nF#&Hget_%#DMrCqs>Wp^#{bQL;=dLMT%O7S*!&$RP0ya5LpUFBe~18mO)1 z);oY^1N(4ym6@>eAjhB%l&s72djHP%!Sc1Y*E6JicXamk>Djk3vY?uYoqj3)=tZgS zonM@u9e#79%`1OA`rGAK?+#D?IBxEM3I+7CNPb|X-XDPfZFnXC%IgxKZ4TZ=dlE}t z`}T;fxo`d0gX(`}jzXq53oi*dPy|4>fMrf!X+`*UMsckP0$D}4K~_x&#h*m`9y0ko*>dS zAWt^DCI?9RruGeQ2(xha6>(|&6@&4UJFWBEo9M~#-Ge7Qbhk6%k1vP&oAP_@bOh&Z zjr!w#xu0>rf9gNf$lq({$&CG@?cUSqKibAG&NLg**HjO==lVY z@`zc!W4R=M{&d>?okiNF0pLzu!utJB#}eh=()Ysdjx(eul0LU`e9Zm zKL~8whGZnzBVH2vmQCWATR}`5=31O#m-=9@2v|%5hFQXF-=Z{eUCYB1Z?ZyB3-X#o zu|)&dqjum}u}>1}J1!1*;Q4ms*fx$_&Ug?&RDw?!p~Q<^jG1MzCw5=&(er+8?BgiS zMu6sSfA%3L^UNOYI|OEj!0Zs19RjmMV0P;E4uRP%i5&v7Ltu6Y%npHhw(tu(@u=;P z(2BT|*o<0Uz^w!amgTrHXPm^2lY}e@qR6qM$O<^)VQBjnXC7lQ|2Ybp=|s6@akDFG zHXz9_w6K}c!#RQ^hGvGrjw_W=SfTC^#E2BK643;L3sP!k!AqeM5O}zOzt%|hJmJSu zE~Mu_#39J$TK_QZ&m>i2cwD%z$a+`{ma|e6BGRhtVueepQ$|wAA2~;)xL&SmT?wpB zrMb*-4H0~*ZcZh=eV`ON#C-Fq%9jaoBURBj?KIz%E;*n&s}G=S47JLI%1lIcFzx#$ zY8pWthStdm&YQ|wjTSEZcU9!Ys?^aMjc;HZAJJ4vYSV-E9NdfoR>Hw;(n*uq)P5S) zeZrKcG9PGmtHRyeyvH*YsiXV5EYe)Y>gKm{f>{PmZw#P@s-c$|g8_xx#T(N1NaqU0 z0B^8#k+;rGigewwX=d>Hye&0m=63v{Nb_|$x+l88m*D^?otxGaS5t-6?k=dNR_MB- zY8}s~eH{z4zJglYzov@XNCmY6v4U>eDr&fynx=T#hZk~BeRv@wV-}D>RNzVwrz%QIqeeO-iy*F@N=9>NpULfEnnLQ?}l*FP|;4Vc7jHkN*QQ<;J_GrXo$L90u5Dsj9! z{`U9+**}*-m=flM79&nZ!hg52|5C>$+=>G`@vJDZB5cQj7kV+rE{^;-@&al{QH*WN z3c`>_iRVYYn^5k$*rzdh=F&_iJ)fvN(-wq%pt(2X#95~k~oYdPH6FfyJRfUo)HiiTXD<@hfqUqg>mFFN-gXWE4D0Zxilbw z57u2LBoW27WhZV#Eywc%YCU;rCX|o zTP%znlHkzC#C9Dw;32TNIB=tg261G?mP=h02iPS%AT(wHVLq`~{G{k3UZy+faXmeL zX}Dvrdj{x;mno`NCC7w40C_xz6Gb5lZ2@!>eOTi9O601MND_QbtLH61W*})QTU{S& zGXb_-w6YdnlLOueu^EUdu0?vrs#AUh+See@|NB4xSF|XS;3(_@*EJ?rqQXyuF{F8~ z`nsw`Qe3xqTyyet>cO{YoScWJLF4c;{qG3HDIl%`!`(^ebqE@)gFbxr%8Vf|ZgN$# zNdjjwZI8}cl-34j*5o(+Z;h7q7|~NeWzghZI2k4aHi#UaZCI#ajFnVr_3K z)^w!*RKGX<`}dV*flXOCu#xaY$wme-uAxs?T4SppHPwWZ#YR3@J zE)~j6h#f3zB0K5-T~4-5n~#jtKN5{k*_~t12Vn)yh$#YxEIcV0NXK9X*AzHy-h~bo zfWQRL)Wi{>0#w8b8z@jieX%=lr+su636}`Pxo= zf2(1nnUaf&yMk4Ze!ezu4E2__JAK#Mf1XQDg{N2CeJC{LvwfD1-Ww45YE65$PHJ2e ze_-UnH#k;QInTXhyL+I-9EwaHiP<8q3%}v+(`(To^P_A}=DcEpaEbCXPSe(Q;g}6G zKbqB`>Xv?N&q|y%p1!gwts*BNX`r$?qoG?Cw4D-d`PG_C580^&21S0urP|zDMgU=q z&Ka6z_JAo-Te_r;KabFkc?OUkAxRBn4YXrA?nJwX*Llx)pqq`w6$f@%EuE*w=q zkoYR{t2RxfnQ(>ZOt@DeUt_RjPCLe2%kGP3IO)F4S% zP1W|WC*{Apt>X%t{a-Y}6?#-59?d`x!q^;Vr7tS>DjD#N-9v~_z>ErAoEBT+vOM^5 zONX5H(VD4MVU10epBHk=1pjk(&J;rtmGGefVRAVQC98b!Ah;ZoSyD(JS{$8Y-!BOE zZp_Rs$g-NCDb)-K^h)*P_UkUS0W?z(YY$!I$XMGI{CkRouf2t1*+_t(pue_;KUDVD zN%lUAtpRgy8&tIZ z06v>%cMEBS6bP$2Y}?4s8Ljv#D$8;mn$S7{IE11}bD)u62EKDH-T!17D8N!w(mdyn z^4FeZ;385_l>JYu8UsI6?1LA=4Bn5%XDQW$C?tRXbAN(x{#SatqyyN(>m*&uOQICN zN}`pfqRzlBl}~ldOa)??dfg0TI{4dNMP_~~XIH|Yo|uT})<`-|p8&b%Ff`xXc+h9N zJwj+iJ(Gp|$h2I_P<9B|DwsyG#c$i5GTumQIEG3>Irkdjcb;t*ixn$tGp~BQtyl+p zi>-9O3ymlh7*dAiFOI9f9(@!Hg^sr^RE1{lE~L=7e@dZQEq*>}dinZ%J#Br-v3?vp z9p?_Un%QN&oXIA!8Zq)@nt$RRRM1Ml_%@EuzB)#XdFr!r3VL;KWfJ{xggeLYIQ6lb zn0pMsap$|8mf;QF#Q(a1z3{o&3DTPUkW^a-cTMu#PWG7FMi>H9lT=N8m8PEdvIQVd z``r(@EY}{+c zydZsgccpEhYA_p1quVv-WL-?S(w(}YcII>cbKKP!oSwjf{Ft^@ghnKzE+M9{qSgL> z7w@~%gWNeyF&oygDCXu^MUlTX;b&-G`5Gq zi<1R@O|{L(xfd7oBNC_gjBnD-Aw1`d@)ohJCAww?xlC;&=d41JK6J6YpI(1qGT5Sw zqW=`FwZ>19 z=2l5=H_%5Yvw-nkb};y@b5PB)mzXw(*I`kWa#Q<-q76lRvy(W=FIJ_|g&=#W9Jl;H z3eya3$~P>jtTo^uWz|tvaR>50QK78QI=TD2Npr*O z(0s{!fhl53G6el2iXL6ICN0w)2hxA2U&eScox<*$;Qk>gy;XD(7=$h8B&s^SKh_(lK8dXT)m*C~$K`#|Fv&IjEk*2%DOCWei4PhhE`Tx&q2~JRXR#kbY&r#C@i_uiPBW<2aVzkd`ep_d4zvByY>YIV*MgS9!aV#{oGGi^_Lm_ z*eM2Xq53w%C$foyU9=^a^j~rF!wT^YJt!Q5S{{6D$}&|jOO1L5w-&g5CN9xkB5Gd* z$BMhYS~DOG`t--5pKIkvCY!oz)`pxP0soDELL86kHlnbt9t!uysBP zWlHe}g(sz013teqfZh2Ay|e%G=W@?{t(F4fkVz@&R#tY`7xH{ow6kTd{X#*g!f5>c z{e3%fLh0{E(+q1Ag1cuLpmDyO=F2E-RVJc>Bv+==Kx^-c_>RD=TIJH;N_fQ)bRYo< zKgcEhjP+NRQn0m3>vBaKzIESK&w~^+50*o1O-j8SO&^78Mv(_!ktKA=3#+-nftFf`Rn~(S_DcSX!dUEspu`T()m)chw-c3Hiq&^3p?3VjB{yV9s(k?iQE?xbng@Ms1OHBsvLnEN=Llmju z8@_B0HTe+`uk>6kMHF)I(2M93txTCr@?J=xE6!Wmv;MrxCYsuQaiAh3L)01RI8m=S z?ot~R@@o3*X!95_UE(+l!)!FviY`Y`f8C(bG|jgv=fb_dOKc>w_j?2qk@7FRa1i*t z42^agIJ@AR4@w4GtT#PE&)-V0wG}6r7_!lZm*0OUk95NLzz>hKfuZD9wb*P*3zZ{n z(}(4oS}N7`9%q^0o+=6X;q7V=PTY9`tw^}hxZ9msc^Jm9kQzNtuSz*bN+}J=(DacN` zd`GGPk;ptPWR3_)i3(9%Y5FSbz`->N@&Y{N`ia6^{9D8WMsN!0+;Br)T9n%hI984n zmxUgEEb0)Bi`W0*Q&*L_3*|!L#thTI*BREExR(9Ulz|gAyjX0$_t5)cdokIG)j;A? zvf^=lDDL`(YV9PR*B!>#WcNVD0H7NYSg$K`8xRVXq<);I<`Ci#y&ebngK$tmy&{jl z_8M#!Z!*@bt!k>wGd|Fl2NGb8V^V(iys2%AzdBq@7rtH_)!0XK9v4WRam-99XL7j0 zB9p8+u9G3+5sLFW!Pf8i#R%Ih71<4F4x~kMJ=KocGTh@B3tEsbN9MM(+oM~(T?clc z`m)M&gIsPlu=l2ohz*xX=#9z#tPj+AkD*8g8VB-awnDvOxs(AYf)$qPJ%HK4Fmg6^ z+pSSo5YV~hyO%IZ{IrQkvUql)K+!bjttR8iM9vsmnuc)9J4!f`T$uF|sMD>X0Q(>R z-9e7UYMj5Oh;x{NZUV7E%y-KqakxD9=RGC=J=O;C*$LxPWP-w<*Te2b4AIazhIonb zZj}b^%PP(wE-q6Ci_x#ybB2o(Zw^`JyEg`#E{xV(zX7}DCS98~`X*bzT2qwm+W*V) zM{10%S2;B(&4U=hBgui|5z{pI32}MDKY#t(eqb}|<)*;-` zVxn5SY^183s%-06(x)T!KYnHWWdgpOPAr?6SF0K?G?fHD5+JPJDJUR9<@7&&Q{D*^ zUCvR7UsjuNS7RqC;r+V`fcDaW*#i%TimBeMo?kmALH$3^Cv6wn`ww}_fx6nGwQ_KQ zC1Xh-E({xth0VP8pQM(9DzXBa#{OJX2IQC8(Sgm%{}jK+lGMOpFM2}~~^Qh@GxWD4zn`$O4JxlIICOM3|IMn1)as3HvsRG*_Qd1 z5yP(y7w`06E55=cdi`JW(E8@tw!qdsOI<{0==)pi-s`mimYv!M{= zD?=NV*#Kd=(QvS178wnyvBEs@2|X(gD|o%_di}luy!<7IKR^a$TNo9XF30QY?7HKp`9xcEJi>X#wV-Vb$5UfpDy{L$R=hj3i~@(SmXnAEWOCmX^J>sves$ zcdan>PmN*IYcrb*G^|r#mUNzCeVR+MYQT5+rvAZ}rdY6UMzw5gGSYq&CuM zUD@+0yagLvg_Wh$d+t;_m<6A#K%CkgO3vUB3Yz>a3@Hggk$#w*mObh5^uG$>zb4xq z{gkt+f`TP&rn4-u2QYPc{ioX}09^IPu0MR}|FL9PgO3dvtcSRYZfqhJE8M=*8W*{e zn0)BMNNYv3uUbmD=tk%`eyM&FcJ;tUN(QZ@gy~u(va8a<9|?Ld$vG3{Y9co42&ODX z#*aoUWSd!x^H8~1<*a4cQMYy~n2G^K3#Ekmx+U5G!VCO6c}4$*7sT&#pnPNf1ovnB zsXQ^V_Vh+7zY18$DnbgYF39k&^4l&!u+aXBDjrP`vS@+!QS#a*@#QHIh>P*Qi`mYifE`_7#x9vDAj``d&nUy-JDYR&CeHXQ_=kAR zs_fE7)mV8KkHx2?OTa51Y5+M&L-3c8%QN#0go4Gu((R`))(%+PJo~d(Z}8S z6A34|T{MbJ;=Xs8T|m7Hli<1T$N+D3+3DP0nL$!$?ZEXMb-4N4%@K^g)QGm!-xO4K z&`Q?hYvBRs>V4FDTXmn@^y5(H#A(A26z658AAu(Wu@+HhyrQ@3#rcO+=6nP>-I!$w zS;ArmcC8xIlK>fwV;}~gy$teMt4Dv-Sy6wz_qKsa@%r!4uvLS1C@3ye(*N5?l{A3d zFF9^ZFuZB%13HX25*Bm&wH{1`X;W5NaJO7$nLoeB^oy+;;FhwB*Dj*P5}ryS;) z_PQ)z5R4w{k&=o!iXLXXM9#Te-QOZE#Irl2d|-5F=gDrM8noOBetLb3uuFUZ*R3{tYPW*83JGO z*SJe!XllcKj4#y&{dYq$na2>tl<@BoUNRyWQ%|-ZC0gO-g(~U>GYVe{ zLjHnr>j_a7Ai@T5*jK~%+&d4mA(NiJI)X%baetw@EpEpVeMDh}s25*~@}$D&sp_g> zuO=izc+GJp-bCDgv(E&AyDSj>S-YZour$z!0{t&WA%O7~czhC@%{an*KX3P&pVuxP zOyY!kr6KP|f&3j{(qK9tZ()FMEH3cB-TtVn!R$5i#3`Eio&G4l=*C}5J5g{#gc$mY z_7Q9}-6ZcGgQ{9_$qr|lbGSCB76@92aVZ@+0Mu=%;4@K|va5ILS2GN9)>&VuZ&{-{ zAu1u4c_D@~UGHRK5gg4Qq)95)zGoE^g1idrYay6ofzVMcOTaT zR3&{Sz<-lDz+)Hj;)t18VY9VEo$6k}t}z%cP8$YAc;3$Ax?Hl|RkN%b&4zZsn;gLnM z-#B<%7?m&yvzp0O8MokUZQ}kcAXjOJnIwf9T5BI#72(wtj;Oo1ew75(SC^_#FH#AW z$`-pDs)1&D&-JeX7vJ`NBG@mawU1vD%qm4VW8f!p01rjnzg)%Vo|^vJS2_=p2fs(b zM!IZiaSf_0!m0k2gajxOud3#AUNz_(v~J!6rehe1?zatE@{rT<1T)A-9i&{JV*B~Q z16AE5u8q*el234l|I8bzNf}V=j&61PEi5#>o)Gm4{&g!$bekK|=Nbobj^9(ZOcQaL z{Oh?~8KWp;8*2OqkX@Z*HC%*pq=OY|b z+?t=5qe4r|>ai=Yl$-S{8la@1PMT9mZ?CAI>#m`?!>Dpzzq)d>(_BMhp4Ddd z{XUXS8lIIn91wPS=Lmb?7a^w8;DR=U9jHDln#K=)lN*$XSN^k3=&b8~wMvTg3&e2< z+3|p^n;UXgjof3{+01Vt4C0RWv{l;^9aB2fz>;daQ2XvfCfIJbJ-|6_=^?Dp(ovnKlk#Lo-*e z1F;fYo$Ic_i{>MvjhVUGLnfsVzHi~DYeHkhbh#rA>s?1-Z2V?Z5LZ((>w4mzGQbJY z+&GYRXz^l0H2-S*G!vQH>_+3i)NAW%qd}O&%4G{J=_+{;eWK4ao@gsk2iv;rHjFK( z`)8x;oVo)Zl}ZFAZzL)&pG~N?fJys_HWg%>1Lbvtg$b29S?Ng-)NX-(Vl=a26}`h| zKrM29X3rKj=qv`npu0T55^4CnsNdrF5x8g8L{Gx&$meWfTpXtPAJCn^M(B6tj=H75 z>o_(_!w<%V_9!WNlW6Rv>6A;+2j)gY+P9P=BKL!q#t4dYuSz*5X1|07&9EQH*U%@U z>|9*|VEC+0Z|>*BVlXz2JUz~U7MMG|T!E~wE-4J04$*_h(;zn$;6YL!Bw-K}0rW_Mso0@!$!x>Za$|P~7=Fjq#?cfa~Qn%P(b+aB92skHJ_uh7Q_j`aYKdvpQHy94=-;mhtQPrVXROvy`Mn-v zLwfYVK#>+pN{AeC%eX&f3AB=Z<9ESh9dY8s>K+(o1a2%#rU^f$s+<=`X$2H+D>3&^ zQX>^xZsO!HeGgyr? z9bpMryPO)A<>Ak_KUMT96GyF&peTLklEZsk&@W5uiZ$>eY2^yYVncpH(K_x8ppzh| zOd50CK&b!GAJt`ZuZCB_x@Em>A$;LQ)QtP*Z=OEJ%W+Rm`L}h{yo-V5pC~oiowB@p z_0&%Lb^OD$R;RlTu^x>iYZ3{!P`AxEMs#`slQOGW!sBy8y|Gvm#7D<5c zw`{ft0aJQc#w?Eb_LfpzFX=~X=02?c z!Ea-JfLML+T~aOpH~$VBFL=ry>w<-Lqa>cLFy;xeYV+$7%l|38uI5qXBc!fIc+AH=yMgulCh~Cnh!CvSL=g=h8^2ps#{3kpt6DUb!Qyars4~eKP7rtN zXsHXhf_kvy-wa7H?B^tmVuXl9O@EJHH!Rs=}PlB{oZ!kQEEsq&W3=GhPvDKwPp{?Q8`zb z!HlZ)xn^%u*~sRe!O?h55++I74wH@>DFmxGe(pgD{H=~ZLRr#nEg_90T5)JHc}1(F zG;w3mLL_aj`PC_XCn+g5g*+jjGLN&;+IaF{-l0XOe0`5Bxh zBLNJYUa&b@^*1`aPAcX#eXdm?y2#98RbJL50P4ufhPHz1Ap2Wl_rsC{f6pFcM{bk~ zi4Cru_=t^nBCHv}NC@aFFnafNSt8b}VjuJrlxM*~TdC+rQPyES$0ZtqH5r0Wan-ko zS%?_aD#)zkuS4N+I>OTwcp&?Y>&x;6XM#}Bok9259?D+$9;27~EZA#?>e-p}6C1Gr zjeJwl=1>RyaM4(QZgH1*fKf$AI3owqrfwdqMP@!GdQtu9rhg^X@Oh6kS zg8i%KQOr@&X|UA@!391na&-Do2_K3e^TtREn*8$&S9w)aUbbYuzSyKoC%Fc$t5I0pd%eX%A0k=?l3Cl)`Kv*>$)~sTP4p^&*Z81^D z$~7V7Pz4T%6fD)ElQU`-9LZ`-47AyeON)WgpZ}m<@Tp7%-oxR)1ebdP%`08KT1F!OQ8#OF#PqIy4DF zIQ{14Y5h==2J83pUttqO|3!52f888R*+=AB!qVvL8!S*ApFLx0(;qKYJ3Z zent42`)DIC^6mgIx-5O7jrKmgC%8Rj)-+qBP2qWX;*57HYN))TkUag2Xa?LcxS#G`Sbr}Pbi@L zGFPRoX#0m|$&SG#7;QRY30W}NpIetspGSJj^K8C(3GcmO=kwE7IUKFMMEzOq^xrg% zrzIa+_VYr5f9ixT$p#-^e!dvRx!AY=ROy(vJ=<`)$FvVf2KR|yBeezTj0 z5V32KKXUTFCQ+qV?&K%$sgKpA9d<6K<)8+!!b5yrWoX`_l21_h?Ken_c5AO(`CjfS=EXaEM}6 z+0qF08mLrF{fS&L8rF)gg{rt|wru(ZhN*^4%B?EFY{TV1F!R9_kss-4n-^zO&P%$l z;XV)3kev8D!k+ERR-Lp|<8r#3dp88RwcgEQwfUZ)sdzK+n{eXE;@aTDmXD-43f(vn zwxn?YC(xOTIY0{BdL1+}4s@~PO^lgpO-OR~hmN{|-dGi*c9@K?>~0)5K@1<}b;?_S zpo~jPd!jDZ_OT`~ZcnkS=>cYDzBaaGUvlSBroxZWUi1_*$mwS}uku)?Ldf@;@1ftZ z3P*5N?8s@e=q5d!oC9@&%kIJe*+NzMIj_zp8CMH_9o|ou?{tN!zFq#=#d>;M>_JuX zxSVkfUB{MZn#@d!h4p+?dwZ$ti|r5gC^~vi)X}DmuQKcY!kvi5?4r;k{j;$<4u_uZ zWuKpQpOvPI`~^7=Sw^IF%DsYJGkBv{zh{RVl$+g%E0k-cj21l&02K?k z%`}u~PLBUpY^kWslsPQM7};*7jVu$)l2_2JT@BMTC=nol!7L>y>O;+p{sl8e z`Fs&SRrU-pfh_r&7BsZSV6zH&O~nX6XGBdN9axigU}@thCB;mDRR^fbI3 zsEGSB@lS0p>%*=&fq=Z_WbxDCaJt=mU*FO+p$?yyoA>^)W(x8ozH8_h3bW+wF>RPY zX{9EZ!ksL#{yhEPkuS;nrDHBz?Ig@i8)=uKC{Q(F>X;A&-U>L z?^=y7&+woXE}{2*RIlb{cfadu{KmJSr7Nlpzcl>eYFz4z;VO`DmTynjx}EtN{YGOt z#TqJ45K-nCoL0Nps|*rhn;{e-*=bXA0D>#2yo-u3{eo5h4Y|!93Qhro4B<7DOxC5y zoF!Qy(XeceG{lG{T$kJhB{`}mX!F0Jt*$+oWKQl>sS=hY>iZ=jjO-+^`%7>y#d;bdiy|etLBG3QXl_dDFA*Oi8`^T#JER87uo)#uQ_824%b@Ezerd!m130=*IYx z0^Pyi1JP8uWj6h4Io6ER>rc@S} zM$}37Gm+yZ=hEk9>E+2rx8wPKNx(Z+_ii__8f8TBLMv!arZb3^OFKwe|EA)k!~8Pt zDu@-jhbUkl%qOH3Q#s5`hgM5 zsH0cMFnH>EH!m1_ahR9I!O*()Yo3vDG0Yza7V>AHuZtSv8qCXTs|+!*ZPkph&8wbQ zwfR9FpSZT3oXnBTl_|n%ORqT#)C6{>o3ZXf<%Y0;Hw0(;#$AWQ?1WSHc+6y2HX;Be z4S3KL8F*>u_#BsY?mfG?x3E`x5tARlZOIEXv$tpHodu)N)?crLGL1$~zx#MsI%AWB zJdA6~kZxuZGqwD|wy4uq#l)DIx{r5hRp+$QwD^kC{C04tr5BCWp0SbYbfEsHsqD@0 zy1I?K#=e|R-Q`sU(LX1%ob%r;BQmc5(0$h4uixdk)UsQ6+-#aEc5?bl7|CNndjwK|g?gwo3S z6r*jWCbaV+Ih}~pj|FOo3GNr=AMtar7*x~~M&VowcKQko^#ILtMgk>T1QXn4p!G%y zSnnVQbz&n_Ub38WhAh#Jc;hswjdwz6ql4zhM7OVu5M@|!g6o0@lWJv{2Dzls=%LW5 z|09++%^D*^4*(qCAiPsX1{035Mx|w%8orJI1FANCL{2t$64v`G{-96}Z0H4fVfgH5 zg!5qS#)PyO6JP$HPMhHW5K0>eilvY6<&a6iF_@+kdd36$c%6gRA3$W|KIw1N0OotX z_?Cc*+cfk4o>WP6<$23{APCeo9%vLbu#>#pe~Eqd=DdVZeT2RK6~`8M&NEMfw?XgB zO?vFb7@0{$rKHzXO)6&$?ouF!)!S)IvM%>$Y`8%>xwLMjbVLkixFpJSQ>9(QI}IWq zxLBtmLjxeR63J*P*_Z>~iqWp$M%!uO<1(2r4__JVnVIt<6kw;O*5WUr9TWYFOu7nQRAjU`#_`*Q6~ zsbY2DagkyAi63g3DJ_F~d_!)vpMEHs!_~5e=HXXQ(^!^3Wohf4X1nNDK+KSNjjCE= zc<4gv;=i=(I%MN+$e9$6PvCSe5sTQY81(am5)Q|NX&|ZN%kafY*J9UJc5c1=%rLp% zuA*WAW(iCNlhVKWb`6Lu6@wuP?HaI?Km)~FwpiAKh~A;ENy|7BE9?aK@0W$IC1tz3 zrPyjY@{k&y#3HW+)TduPo1Z3TUmTluQI|lr-}B8!m;iyaN3=&kzTD>SBBK7qQ?Bb_Rp4M`+-dwaE*e2Ai(|yWm8~` diff --git a/packages/function-resolution/sql/pgpm-function-resolution--0.40.0.sql b/packages/function-resolution/sql/pgpm-function-resolution--0.40.0.sql index 8a74261a..d64bf13b 100644 --- a/packages/function-resolution/sql/pgpm-function-resolution--0.40.0.sql +++ b/packages/function-resolution/sql/pgpm-function-resolution--0.40.0.sql @@ -658,6 +658,88 @@ BEGIN END; $EOFCODE$ LANGUAGE plpgsql STABLE SECURITY DEFINER; +CREATE FUNCTION function_resolution.staging_bucket_tag() RETURNS text AS $EOFCODE$ + SELECT 'default-temp'; +$EOFCODE$ LANGUAGE sql IMMUTABLE; + +CREATE FUNCTION function_resolution.resolve_staging_bucket( + database_id uuid, + scope text, + entity_id uuid +) RETURNS TABLE ( + bucket_id uuid, + resolved_key text, + bucket_type text, + physical_name text, + owner_database_id uuid, + owner_scope text, + owner_key uuid +) AS $EOFCODE$ +DECLARE + v_tag text; + v_matches jsonb; + v_match jsonb; +BEGIN + v_tag := function_resolution.staging_bucket_tag(); + + SELECT COALESCE(jsonb_agg(to_jsonb(m) ORDER BY m.bucket_id), '[]'::jsonb) + INTO v_matches + FROM function_resolution.bucket_matches( + resolve_staging_bucket.database_id, + resolve_staging_bucket.scope, + resolve_staging_bucket.entity_id, + ARRAY[v_tag], + 'temp' + ) m; + + IF jsonb_array_length(v_matches) = 0 THEN + PERFORM errors.raise_error( + 'STORAGE_STAGING_BUCKET_NOT_FOUND', + jsonb_build_object( + 'database_id', resolve_staging_bucket.database_id, + 'scope', resolve_staging_bucket.scope, + 'entity_id', resolve_staging_bucket.entity_id, + 'tag', v_tag + ), + 'internal' + ); + END IF; + + IF jsonb_array_length(v_matches) > 1 THEN + PERFORM errors.raise_error( + 'STORAGE_STAGING_BUCKET_AMBIGUOUS', + jsonb_build_object( + 'database_id', resolve_staging_bucket.database_id, + 'scope', resolve_staging_bucket.scope, + 'entity_id', resolve_staging_bucket.entity_id, + 'tag', v_tag, + 'candidates', ( + SELECT jsonb_agg(jsonb_build_object( + 'bucket_id', c->>'bucket_id', + 'key', c->>'bucket_key', + 'type', c->>'bucket_type' + ) ORDER BY c->>'bucket_key') + FROM jsonb_array_elements(v_matches) c + ) + ), + 'internal' + ); + END IF; + + v_match := v_matches->0; + + resolve_staging_bucket.bucket_id := (v_match->>'bucket_id')::uuid; + resolve_staging_bucket.resolved_key := v_match->>'bucket_key'; + resolve_staging_bucket.bucket_type := v_match->>'bucket_type'; + resolve_staging_bucket.physical_name := v_match->>'physical_name'; + resolve_staging_bucket.owner_database_id := (v_match->>'owner_database_id')::uuid; + resolve_staging_bucket.owner_scope := v_match->>'owner_scope'; + resolve_staging_bucket.owner_key := (v_match->>'owner_key')::uuid; + + RETURN NEXT; +END; +$EOFCODE$ LANGUAGE plpgsql STABLE SECURITY DEFINER; + CREATE FUNCTION function_resolution.bucket_catalog_row( database_id uuid, scope text, diff --git a/packages/function-resolution/verify/schemas/function_resolution/procedures/resolve_staging_bucket.sql b/packages/function-resolution/verify/schemas/function_resolution/procedures/resolve_staging_bucket.sql new file mode 100644 index 00000000..5b6408fd --- /dev/null +++ b/packages/function-resolution/verify/schemas/function_resolution/procedures/resolve_staging_bucket.sql @@ -0,0 +1,7 @@ +-- Verify schemas/function_resolution/procedures/resolve_staging_bucket on pg + +BEGIN; + +SELECT assert_function('function_resolution.resolve_staging_bucket(uuid, text, uuid)'::regprocedure); + +ROLLBACK; diff --git a/packages/function-resolution/verify/schemas/function_resolution/procedures/staging_bucket_tag.sql b/packages/function-resolution/verify/schemas/function_resolution/procedures/staging_bucket_tag.sql new file mode 100644 index 00000000..2a20ff49 --- /dev/null +++ b/packages/function-resolution/verify/schemas/function_resolution/procedures/staging_bucket_tag.sql @@ -0,0 +1,7 @@ +-- Verify schemas/function_resolution/procedures/staging_bucket_tag on pg + +BEGIN; + +SELECT assert_function('function_resolution.staging_bucket_tag()'::regprocedure); + +ROLLBACK; diff --git a/packages/metaschema-modules/__tests__/__snapshots__/modules.test.ts.snap b/packages/metaschema-modules/__tests__/__snapshots__/modules.test.ts.snap index aaa56b07..0d7567e1 100644 --- a/packages/metaschema-modules/__tests__/__snapshots__/modules.test.ts.snap +++ b/packages/metaschema-modules/__tests__/__snapshots__/modules.test.ts.snap @@ -8,10 +8,12 @@ exports[`db_meta_modules should have all expected module tables 1`] = ` "app_module", "billing_module", "billing_provider_module", + "capabilities_module", "catalog_module", "compute_log_module", "config_secrets_user_module", "connected_accounts_module", + "content_preset_module", "crypto_addresses_module", "crypto_auth_module", "database_settings_module", @@ -20,6 +22,7 @@ exports[`db_meta_modules should have all expected module tables 1`] = ` "default_ids_module", "devices_module", "domain_module", + "email_sender_module", "emails_module", "events_module", "function_deployment_module", @@ -43,8 +46,8 @@ exports[`db_meta_modules should have all expected module tables 1`] = ` "merkle_store_module", "namespace_module", "notifications_module", + "oauth_requests_module", "pages_module", - "permissions_module", "phone_numbers_module", "plans_module", "principal_auth_module", @@ -77,8 +80,8 @@ exports[`db_meta_modules should have all expected module tables 1`] = ` exports[`db_meta_modules should verify all module tables exist in metaschema_modules_public schema 1`] = ` { - "moduleTablesCount": 68, - "totalTables": 75, + "moduleTablesCount": 71, + "totalTables": 80, } `; @@ -145,13 +148,13 @@ exports[`db_meta_modules should verify emails_module table structure 1`] = ` exports[`db_meta_modules should verify module table structures have database_id foreign keys 1`] = ` { - "constraintCount": 68, + "constraintCount": 71, } `; exports[`db_meta_modules should verify module tables have proper foreign key relationships 1`] = ` { - "constraintCount": 486, + "constraintCount": 505, "foreignTables": [ "catalog_module", "database", diff --git a/packages/metaschema-modules/__tests__/modules.test.ts b/packages/metaschema-modules/__tests__/modules.test.ts index 115cc19a..b1b02098 100644 --- a/packages/metaschema-modules/__tests__/modules.test.ts +++ b/packages/metaschema-modules/__tests__/modules.test.ts @@ -36,7 +36,7 @@ describe('db_meta_modules', () => { 'limits_module', 'membership_types_module', 'memberships_module', - 'permissions_module', + 'capabilities_module', 'phone_numbers_module', 'rls_module', 'user_state_module', diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/agent_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/agent_module/table.sql index 10cd8713..d6c81128 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/agent_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/agent_module/table.sql @@ -76,9 +76,9 @@ CREATE TABLE metaschema_modules_public.agent_module ( -- secure_table_provision applies the custom grants/policies instead. provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- Constraints CONSTRAINT agent_module_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/api_surface_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/api_surface_module/table.sql index 021ed405..76ec941e 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/api_surface_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/api_surface_module/table.sql @@ -55,8 +55,8 @@ CREATE TABLE metaschema_modules_public.api_surface_module ( -- Per-table provisions overrides from blueprint config provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members + default_capabilities text[] DEFAULT NULL, CONSTRAINT api_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/app_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/app_module/table.sql index 664f4b0f..3c57a1e0 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/app_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/app_module/table.sql @@ -53,8 +53,8 @@ CREATE TABLE metaschema_modules_public.app_module ( -- Per-table provisions overrides from blueprint config provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members + default_capabilities text[] DEFAULT NULL, CONSTRAINT app_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/billing_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/billing_module/table.sql index fc62424a..a28278e9 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/billing_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/billing_module/table.sql @@ -56,9 +56,9 @@ CREATE TABLE metaschema_modules_public.billing_module ( -- NULL seeds nothing (clean catalog). default_meter_catalog jsonb DEFAULT NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- API routing (configurable per-module) api_name text DEFAULT 'usage', diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/permissions_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/capabilities_module/table.sql similarity index 71% rename from packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/permissions_module/table.sql rename to packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/capabilities_module/table.sql index ab71cf2d..496b3889 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/permissions_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/capabilities_module/table.sql @@ -1,10 +1,10 @@ --- Deploy schemas/metaschema_modules_public/tables/permissions_module/table to pg +-- Deploy schemas/metaschema_modules_public/tables/capabilities_module/table to pg -- requires: schemas/metaschema_modules_public/schema BEGIN; -CREATE TABLE metaschema_modules_public.permissions_module ( +CREATE TABLE metaschema_modules_public.capabilities_module ( id uuid PRIMARY KEY DEFAULT uuidv7(), database_id uuid NOT NULL, @@ -28,9 +28,9 @@ CREATE TABLE metaschema_modules_public.permissions_module ( default_table_name text NOT NULL DEFAULT '', -- - -- Default bit-width of the permission mask for this module. + -- Default bit-width of the capability mask for this module. -- - -- Chosen to maximize permission headroom without costing extra storage or + -- Chosen to maximize capability headroom without costing extra storage or -- compute. PostgreSQL lays out heap tuples to MAXALIGN (8 bytes on x86_64), -- so the row-size bucket that holds bit(24) already extends up to bit(64): -- @@ -42,14 +42,14 @@ CREATE TABLE metaschema_modules_public.permissions_module ( -- 65 | 73 | 81 MB | 47 MB <-- next bucket -- -- Bitwise AND/OR on bit(<=64) fits in a single 64-bit machine word, so - -- permission checks at 64 cost the same as at 24. Raising the default from - -- 24 to 64 gives new modules 6.4x more permission slots before anyone has - -- to think about running update_bitlen_permissions, at identical storage + -- capability checks at 64 cost the same as at 24. Raising the default from + -- 24 to 64 gives new modules 6.4x more capability slots before anyone has + -- to think about running update_bitlen_capabilities, at identical storage -- and compute cost. Do not raise past 64 casually -- bit(65+) jumps to the -- next 8-byte tuple bucket (+~10% heap) and pays on every write. -- -- Existing databases are unaffected; this only changes the default for - -- newly inserted permissions_module rows. + -- newly inserted capabilities_module rows. bitlen int NOT NULL DEFAULT 64, -- Scope: determines the security level for this module instance. @@ -86,12 +86,12 @@ CREATE TABLE metaschema_modules_public.permissions_module ( CONSTRAINT actor_table_fkey FOREIGN KEY (actor_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE ); -CREATE INDEX permissions_module_database_id_idx ON metaschema_modules_public.permissions_module ( database_id ); -CREATE INDEX permissions_module_actor_table_id_idx ON metaschema_modules_public.permissions_module ( actor_table_id ); -CREATE INDEX permissions_module_default_table_id_idx ON metaschema_modules_public.permissions_module ( default_table_id ); -CREATE INDEX permissions_module_entity_table_id_idx ON metaschema_modules_public.permissions_module ( entity_table_id ); -CREATE INDEX permissions_module_table_id_idx ON metaschema_modules_public.permissions_module ( table_id ); -CREATE INDEX permissions_module_private_schema_id_idx ON metaschema_modules_public.permissions_module ( private_schema_id ); -CREATE INDEX permissions_module_schema_id_idx ON metaschema_modules_public.permissions_module ( schema_id ); +CREATE INDEX capabilities_module_database_id_idx ON metaschema_modules_public.capabilities_module ( database_id ); +CREATE INDEX capabilities_module_actor_table_id_idx ON metaschema_modules_public.capabilities_module ( actor_table_id ); +CREATE INDEX capabilities_module_default_table_id_idx ON metaschema_modules_public.capabilities_module ( default_table_id ); +CREATE INDEX capabilities_module_entity_table_id_idx ON metaschema_modules_public.capabilities_module ( entity_table_id ); +CREATE INDEX capabilities_module_table_id_idx ON metaschema_modules_public.capabilities_module ( table_id ); +CREATE INDEX capabilities_module_private_schema_id_idx ON metaschema_modules_public.capabilities_module ( private_schema_id ); +CREATE INDEX capabilities_module_schema_id_idx ON metaschema_modules_public.capabilities_module ( schema_id ); COMMIT; diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/catalog_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/catalog_module/table.sql index 6e179049..bd811a26 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/catalog_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/catalog_module/table.sql @@ -72,8 +72,8 @@ CREATE TABLE metaschema_modules_public.catalog_module ( -- Per-table provisions overrides from blueprint config provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members + default_capabilities text[] DEFAULT NULL, CONSTRAINT catalog_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/content_preset_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/content_preset_module/table.sql new file mode 100644 index 00000000..247b8c70 --- /dev/null +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/content_preset_module/table.sql @@ -0,0 +1,44 @@ +-- Deploy schemas/metaschema_modules_public/tables/content_preset_module/table to pg + +-- requires: schemas/metaschema_modules_public/schema +-- requires: schemas/metaschema_modules_public/tables/merkle_store_module/table + +BEGIN; + +CREATE TABLE metaschema_modules_public.content_preset_module ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + public_schema_id uuid NOT NULL DEFAULT uuid_nil(), + private_schema_id uuid NOT NULL DEFAULT uuid_nil(), + public_schema_name text, + private_schema_name text, + scope text NOT NULL, + prefix text NOT NULL, + merkle_store_module_id uuid NOT NULL, + content_presets_table_id uuid NOT NULL DEFAULT uuid_nil(), + + -- Store row name inside the Merkle store tables (one shared infra store) + store_name text NOT NULL, + + api_name text, + private_api_name text, + entity_table_id uuid NULL, + policies jsonb NULL, + provisions jsonb NULL, + created_at timestamptz NOT NULL DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, + CONSTRAINT public_schema_fkey FOREIGN KEY (public_schema_id) REFERENCES metaschema_public.schema (id) ON DELETE CASCADE, + CONSTRAINT private_schema_fkey FOREIGN KEY (private_schema_id) REFERENCES metaschema_public.schema (id) ON DELETE CASCADE, + CONSTRAINT merkle_store_fkey FOREIGN KEY (merkle_store_module_id) REFERENCES metaschema_modules_public.merkle_store_module (id) ON DELETE CASCADE, + CONSTRAINT content_presets_table_fkey FOREIGN KEY (content_presets_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT content_preset_module_entity_table_fkey FOREIGN KEY (entity_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT content_preset_module_database_merkle_unique UNIQUE (database_id, merkle_store_module_id) +); + +CREATE INDEX content_preset_module_entity_table_id_idx ON metaschema_modules_public.content_preset_module ( entity_table_id ); +CREATE INDEX content_preset_module_content_presets_table_id_idx ON metaschema_modules_public.content_preset_module ( content_presets_table_id ); +CREATE INDEX content_preset_module_private_schema_id_idx ON metaschema_modules_public.content_preset_module ( private_schema_id ); +CREATE INDEX content_preset_module_public_schema_id_idx ON metaschema_modules_public.content_preset_module ( public_schema_id ); +CREATE INDEX content_preset_module_merkle_store_module_id_idx ON metaschema_modules_public.content_preset_module ( merkle_store_module_id ); + +COMMIT; diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql new file mode 100644 index 00000000..0229b11d --- /dev/null +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql @@ -0,0 +1,97 @@ +-- Deploy schemas/metaschema_modules_public/tables/data_capabilities_field/table to pg + +-- requires: schemas/metaschema_modules_public/schema +-- requires: schemas/metaschema_modules_public/tables/capabilities_module/table + +BEGIN; + +-- One row per DataCapabilities declaration — a schema usage, never a record. +-- +-- The SPRT materializes what an actor holds; this registry marks the column +-- that materializes what a row requires, so a read is a flat bitwise subset +-- test (sprt.capabilities & row.required = row.required) with no join onto a +-- grant table. +-- +-- Two set-level questions are answered here, and both are the reason the +-- declaration is recorded rather than inferred: +-- +-- 1. bitlen — widening a scope's capability mask must repad every row mask +-- and every mapping mask that feeds one, or the AND becomes a type error. +-- 2. propagation — a derived mask is stamped from a mapping row, so a mask +-- change on the mapping table has to find the tables that copied it. +CREATE TABLE metaschema_modules_public.data_capabilities_field ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + + -- The protected table and its bit(bitlen) required-permissions column. + table_id uuid NOT NULL, + field_id uuid NOT NULL, + + -- The capability vocabulary the mask is written in. Names it explicitly: + -- bitlen and capability names are per (scope, prefix), so a mask is only + -- meaningful against one module. + capabilities_module_id uuid NOT NULL, + + -- 'direct' — the mask is written on the protected row. + -- 'derived' — the mask is stamped from a mapping row (classification etc.). + mode text NOT NULL DEFAULT 'direct', + + -- Derived mode only: the FK on the protected table, the mapping table it + -- points into, the key column it points at, and the mapping table's own + -- mask column that gets copied down. + from_field_id uuid NULL, + mapping_table_id uuid NULL, + mapping_key_field_id uuid NULL, + mapping_field_id uuid NULL, + + -- Direct mode only: writes are guarded so a writer cannot require a bit + -- they do not themselves hold (new_mask & writer_mask = new_mask). + subset_guard boolean NOT NULL DEFAULT true, + + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, + CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT field_fkey FOREIGN KEY (field_id) REFERENCES metaschema_public.field (id) ON DELETE CASCADE, + CONSTRAINT capabilities_module_fkey FOREIGN KEY (capabilities_module_id) REFERENCES metaschema_modules_public.capabilities_module (id) ON DELETE CASCADE, + CONSTRAINT from_field_fkey FOREIGN KEY (from_field_id) REFERENCES metaschema_public.field (id) ON DELETE CASCADE, + CONSTRAINT mapping_table_fkey FOREIGN KEY (mapping_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT mapping_key_field_fkey FOREIGN KEY (mapping_key_field_id) REFERENCES metaschema_public.field (id) ON DELETE CASCADE, + CONSTRAINT mapping_field_fkey FOREIGN KEY (mapping_field_id) REFERENCES metaschema_public.field (id) ON DELETE CASCADE, + + CONSTRAINT mode_chk CHECK (mode IN ('direct', 'derived')), + + -- Derived mode is the whole propagation path or none of it: a half-declared + -- mapping stamps nothing and silently leaves rows at their default mask. + CONSTRAINT derived_mode_chk CHECK ( + (mode = 'derived' + AND from_field_id IS NOT NULL + AND mapping_table_id IS NOT NULL + AND mapping_key_field_id IS NOT NULL + AND mapping_field_id IS NOT NULL) + OR + (mode = 'direct' + AND from_field_id IS NULL + AND mapping_table_id IS NULL + AND mapping_key_field_id IS NULL + AND mapping_field_id IS NULL) + ), + + -- One mask column carries one row's requirement, so one row describes it. + UNIQUE (field_id) +); + +CREATE INDEX data_capabilities_field_database_id_idx ON metaschema_modules_public.data_capabilities_field ( database_id ); +CREATE INDEX data_capabilities_field_table_id_idx ON metaschema_modules_public.data_capabilities_field ( table_id ); + +-- The bitlen migration asks "every row mask written in this module's vocabulary". +CREATE INDEX data_capabilities_field_permissions_module_id_idx ON metaschema_modules_public.data_capabilities_field ( capabilities_module_id ); + +-- Restamping asks "which protected tables copied this mapping table's mask". +CREATE INDEX data_capabilities_field_mapping_table_id_idx ON metaschema_modules_public.data_capabilities_field ( mapping_table_id ); + +-- The derived-mode field references, so dropping a field does not scan this +-- table three times to find its cascades (field_id is covered by its UNIQUE). +CREATE INDEX data_capabilities_field_from_field_id_idx ON metaschema_modules_public.data_capabilities_field ( from_field_id ); +CREATE INDEX data_capabilities_field_mapping_key_field_id_idx ON metaschema_modules_public.data_capabilities_field ( mapping_key_field_id ); +CREATE INDEX data_capabilities_field_mapping_field_id_idx ON metaschema_modules_public.data_capabilities_field ( mapping_field_id ); + +COMMIT; diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/database_settings_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/database_settings_module/table.sql index ef16a177..e22caa51 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/database_settings_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/database_settings_module/table.sql @@ -49,8 +49,8 @@ CREATE TABLE metaschema_modules_public.database_settings_module ( -- Per-table provisions overrides from blueprint config provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members + default_capabilities text[] DEFAULT NULL, CONSTRAINT database_settings_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/db_usage_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/db_usage_module/table.sql index ebb2f173..375e3169 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/db_usage_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/db_usage_module/table.sql @@ -53,9 +53,9 @@ CREATE TABLE metaschema_modules_public.db_usage_module ( -- Table name prefix. Auto-derived from scope by the trigger when empty. prefix text NOT NULL DEFAULT '', - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- API routing (configurable per-module) api_name text DEFAULT 'usage', diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/domain_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/domain_module/table.sql index aa394198..1601d6f1 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/domain_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/domain_module/table.sql @@ -62,8 +62,8 @@ CREATE TABLE metaschema_modules_public.domain_module ( -- Per-table provisions overrides from blueprint config provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members + default_capabilities text[] DEFAULT NULL, CONSTRAINT domain_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/email_sender_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/email_sender_module/table.sql new file mode 100644 index 00000000..58057f4a --- /dev/null +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/email_sender_module/table.sql @@ -0,0 +1,86 @@ +-- Deploy schemas/metaschema_modules_public/tables/email_sender_module/table to pg + +-- requires: schemas/metaschema_modules_public/schema +-- requires: schemas/metaschema_modules_public/tables/site_surface_module/table + +BEGIN; + +CREATE TABLE metaschema_modules_public.email_sender_module ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + + -- Scope-key column name on the generated tables. The insert trigger records + -- database_id for database scope, entity_id for entity scopes, NULL for + -- global tiers. Consumers read this instead of re-deriving the literal. + entity_field text, + + -- Schema reference (uuid_nil is resolved from schema names/defaults). + schema_id uuid NOT NULL DEFAULT uuid_nil(), + public_schema_name text, + + -- Generated table IDs. The site binding table is only generated when a + -- site_surface_module exists at the same scope, so it stays nullable. + email_provider_accounts_table_id uuid NOT NULL DEFAULT uuid_nil(), + email_identities_table_id uuid NOT NULL DEFAULT uuid_nil(), + email_site_identities_table_id uuid NULL, + + -- Bare table names; the trigger prepends the scope prefix. + email_provider_accounts_table_name text NOT NULL DEFAULT 'email_provider_accounts', + email_identities_table_name text NOT NULL DEFAULT 'email_identities', + email_site_identities_table_name text NOT NULL DEFAULT 'email_site_identities', + + -- Site surface at the exact same scope, when one exists. + site_surface_module_id uuid, + + -- API routing (optional administrative CRUD surface). + api_name text, + private_api_name text, + + scope text NOT NULL, + prefix text NOT NULL DEFAULT '', + entity_table_id uuid NULL, + + policies jsonb NULL, + provisions jsonb NULL, + default_capabilities text[] DEFAULT NULL, + + CONSTRAINT email_sender_module_db_fkey + FOREIGN KEY (database_id) + REFERENCES metaschema_public.database (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_schema_fkey + FOREIGN KEY (schema_id) + REFERENCES metaschema_public.schema (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_provider_accounts_table_fkey + FOREIGN KEY (email_provider_accounts_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_identities_table_fkey + FOREIGN KEY (email_identities_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_site_identities_table_fkey + FOREIGN KEY (email_site_identities_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_site_surface_module_fkey + FOREIGN KEY (site_surface_module_id) + REFERENCES metaschema_modules_public.site_surface_module (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_entity_table_fkey + FOREIGN KEY (entity_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE +); + +CREATE UNIQUE INDEX email_sender_module_unique_scope + ON metaschema_modules_public.email_sender_module (database_id, scope); +CREATE INDEX email_sender_module_schema_id_idx ON metaschema_modules_public.email_sender_module ( schema_id ); +CREATE INDEX email_sender_module_provider_accounts_table_id_idx ON metaschema_modules_public.email_sender_module ( email_provider_accounts_table_id ); +CREATE INDEX email_sender_module_identities_table_id_idx ON metaschema_modules_public.email_sender_module ( email_identities_table_id ); +CREATE INDEX email_sender_module_site_identities_table_id_idx ON metaschema_modules_public.email_sender_module ( email_site_identities_table_id ); +CREATE INDEX email_sender_module_site_surface_module_id_idx ON metaschema_modules_public.email_sender_module ( site_surface_module_id ); +CREATE INDEX email_sender_module_entity_table_id_idx ON metaschema_modules_public.email_sender_module ( entity_table_id ); + +COMMIT; diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/entity_type_provision/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/entity_type_provision/table.sql index e2665f92..d8861d13 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/entity_type_provision/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/entity_type_provision/table.sql @@ -156,7 +156,7 @@ CREATE TABLE metaschema_modules_public.entity_type_provision ( COMMENT ON TABLE metaschema_modules_public.entity_type_provision IS 'Provisions a new membership entity type. Each INSERT creates an entity table, registers a membership type, - and installs the required modules (permissions, memberships, limits) plus optional modules (profiles, levels, invites). + and installs the required modules (capabilities, memberships, limits) plus optional modules (profiles, levels, invites). Uses provision_membership_table() internally. Graceful: duplicate (database_id, prefix) pairs are silently skipped via the unique constraint (use INSERT ... ON CONFLICT DO NOTHING). Policy behavior: by default the five entity-table RLS policies are applied (gated by is_visible). @@ -180,7 +180,7 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.name IS COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.prefix IS 'SQL prefix used for table and module naming, e.g. ''data_room'', ''team_channel''. Required. - Drives entity table name (prefix || ''s'' by default), module labels (permissions_module:prefix), + Drives entity table name (prefix || ''s'' by default), module labels (capabilities_module:prefix), and membership table names (prefix_memberships, prefix_members, etc.). Must be unique per database — the (database_id, prefix) constraint ensures graceful ON CONFLICT DO NOTHING.'; @@ -231,8 +231,11 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.has_limits IS COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.has_profiles IS 'Whether to provision profiles_module for this type. Defaults to false. - Profiles provide named permission roles (e.g. ''Editor'', ''Viewer'') with pre-configured permission bitmasks. - When true, creates profile tables and applies profiles security.'; + Profiles provide named capability roles (e.g. ''Editor'', ''Viewer'') with pre-configured capability bitmasks. + When true, creates profile tables and applies profiles security. A membership may hold + any number of profiles: the membership_profiles assignment table holds every profile a + membership holds and the membership mask is granted | bit_or(held profile masks), with + memberships.profile_id kept as a pointer at one held profile.'; COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.has_levels IS 'Whether to provision events_module for this type. Defaults to false. @@ -270,8 +273,8 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.skip_entity_po Defaults (applied when table_provision IS NULL and skip_entity_policies=false): - SELECT (parent_member): parent entity members can see child entities (only when is_visible=true) - SELECT (self_member): direct members of the entity can see it - - INSERT: create_entity permission on the parent entity - - UPDATE: admin_entity permission on the entity itself + - INSERT: create_entity capability on the parent entity + - UPDATE: admin_entity capability on the entity itself - DELETE: owner of the entity can delete it'; COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.table_provision IS @@ -321,7 +324,7 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.out_entity_tab 'Output: the name of the created entity table (e.g. ''data_rooms''). Populated by the trigger.'; COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.out_installed_modules IS - 'Output: array of installed module labels (e.g. ARRAY[''permissions_module:data_room'', ''memberships_module:data_room'', ''invites_module:data_room'']). + 'Output: array of installed module labels (e.g. ARRAY[''capabilities_module:data_room'', ''memberships_module:data_room'', ''invites_module:data_room'']). Populated by the trigger. Useful for verifying which modules were provisioned.'; COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.storage IS @@ -339,7 +342,7 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.storage IS - download_url_expiry_seconds (integer) presigned GET URL expiry override - default_max_file_size (bigint) global max file size in bytes for this module - allowed_origins (text[]) default CORS origins for all buckets in this module - - restrict_reads (boolean) require read_files permission for SELECT on files + - restrict_reads (boolean) require read_files capability for SELECT on files - has_path_shares (boolean) enable virtual filesystem + path share policies - has_versioning (boolean) enable file version chains - has_content_hash (boolean) enable content hash for dedup @@ -378,7 +381,7 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.namespaces IS - policies (jsonb array) RLS policy overrides. NULL = apply defaults from apply_namespace_security(). Creates {prefix}_namespaces (or {prefix}_{key}_namespaces for non-default keys) with entity-scoped RLS (AuthzEntityMembership) and a rename proxy trigger. - Registers manage_namespaces permission bit on first provision. + Registers manage_namespaces capability bit on first provision. Example: namespaces := ''[{}]''::jsonb'; COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.functions IS @@ -389,7 +392,7 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.functions IS - policies (jsonb array) RLS policy overrides. NULL = apply defaults from apply_function_security(). Creates {prefix}_function_definitions (or {prefix}_{key}_function_definitions for non-default keys) with entity-scoped RLS and a job trigger dispatching function:provision tasks. - Registers manage_functions + invoke_functions permission bits on first provision. + Registers manage_functions + invoke_functions capability bits on first provision. Example: functions := ''[{}]''::jsonb'; COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.graphs IS @@ -398,9 +401,9 @@ COMMENT ON COLUMN metaschema_modules_public.entity_type_provision.graphs IS Each element recognizes (all optional): - key (text) module discriminator. Defaults to ''default''. - policies (jsonb array) RLS policy overrides. NULL = apply defaults from apply_graph_security(). - Registers manage_graphs + execute_graphs permission bits on first provision. + Registers manage_graphs + execute_graphs capability bits on first provision. Graph module requires a merkle_store_module_id dependency, so entity_type_provision - only registers permissions here. The graph module itself must be provisioned + only registers capabilities here. The graph module itself must be provisioned separately with the merkle store dependency resolved. Example: graphs := ''[{}]''::jsonb'; diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/events_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/events_module/table.sql index dabe75a0..c2707c4a 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/events_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/events_module/table.sql @@ -56,6 +56,10 @@ CREATE TABLE metaschema_modules_public.events_module ( tg_check_achievements text NOT NULL DEFAULT '', grant_achievement text NOT NULL DEFAULT '', tg_achievement_reward text NOT NULL DEFAULT '', + revoke_achievement text NOT NULL DEFAULT '', + recompute_capabilities text NOT NULL DEFAULT '', + tg_level_grant_sync text NOT NULL DEFAULT '', + expire_grants text NOT NULL DEFAULT '', -- Partition lifecycle configuration for events table "interval" text NOT NULL DEFAULT '1 month', @@ -75,9 +79,15 @@ CREATE TABLE metaschema_modules_public.events_module ( actor_table_id uuid NOT NULL DEFAULT uuid_nil(), - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, + + -- Trust ladder seeded at provision, as an array of rungs. NULL seeds nothing; + -- the usual value is a content_presets row named by slug, so which evidence + -- counts is data. App scope only — an entity ladder belongs to an + -- organization that does not exist at provision time. + trust_ladder jsonb DEFAULT NULL, -- API routing (configurable per-module) api_name text DEFAULT 'usage', diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/file_ref_field/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/file_ref_field/table.sql new file mode 100644 index 00000000..61e50ab6 --- /dev/null +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/file_ref_field/table.sql @@ -0,0 +1,83 @@ +-- Deploy schemas/metaschema_modules_public/tables/file_ref_field/table to pg + +-- requires: schemas/metaschema_modules_public/schema +-- requires: schemas/metaschema_modules_public/tables/storage_module/table + +BEGIN; + +-- One row per file-ref field declaration — a schema usage, never a record. +-- +-- An upload/image column is a projection of a files row: the doc carries +-- {id, key, mime, bucket_id, ...} copied from it, so a read needs no join. This +-- table is the registry that makes the projection maintainable, and it answers +-- the three set-level questions the storage lane asks: +-- +-- 1. upload — which bucket does a write to this column land in? +-- 2. sync — when a files row changes, which columns project it? +-- 3. gc — before deleting an object, which columns still refer to it? +-- +-- storage_module_id is the load-bearing column. Module identity is +-- (database_id, scope, prefix), and a logical bucket key is owner-local: an +-- entity-scoped module has one 'avatars' bucket per entity row. So the module is +-- named at declaration time, and the physical bucket is resolved per written row +-- from the module's scope plus the row's own scope key. It also identifies the +-- files table a doc's id points into — there is no single global files table, so +-- a bare uuid in a document is unresolvable without it. +-- +-- Intent is stored, never a bucket_id: at declaration time there is no single +-- bucket to record. The concrete bucket lands on the files row and the document +-- when the upload is written. +CREATE TABLE metaschema_modules_public.file_ref_field ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + + -- The referring table and its upload/image document column. + table_id uuid NOT NULL, + field_id uuid NOT NULL, + + -- The buckets/files pair this field's references live in. + storage_module_id uuid NOT NULL, + + -- Bucket intent, resolved at upload time by function_resolution: + -- bucket_key — a logical key, resolved inside the tenant + -- bucket_tags — resolve whichever bucket carries these tags + -- neither — the reserved default tag for is_public + -- Never a physical bucket name and never an id: a blueprint names a role, + -- and buckets stay a tenant-owned concern. + bucket_key text, + bucket_tags citext[], + + -- Publicness intent. Selector when no bucket is named (true resolves the + -- 'default-public' reserved tag, false 'default'); assertion when one is + -- (resolution raises when the named bucket's type disagrees). Serving + -- behaviour always comes from the bucket, never from here. + is_public boolean, + + -- Strict mode: a real FK column beside the document, so Postgres enforces + -- referential integrity instead of the GC scan. The column is recorded here, + -- but the generator does not emit the FK yet and refuses a true value rather + -- than accepting configuration it would silently ignore. + enforce_fk boolean NOT NULL DEFAULT false, + + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, + CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT field_fkey FOREIGN KEY (field_id) REFERENCES metaschema_public.field (id) ON DELETE CASCADE, + CONSTRAINT storage_module_fkey FOREIGN KEY (storage_module_id) REFERENCES metaschema_modules_public.storage_module (id) ON DELETE CASCADE, + + -- A key and a tag selector are two answers to one question. + CONSTRAINT bucket_intent_chk CHECK (bucket_key IS NULL OR bucket_tags IS NULL), + + -- A blank key would resolve to nothing; refuse it at write time. + CONSTRAINT bucket_key_not_blank_chk CHECK (bucket_key IS NULL OR btrim(bucket_key) <> ''), + + -- One document column projects one file, so one registry row describes it. + UNIQUE (field_id) +); + +CREATE INDEX file_ref_field_database_id_idx ON metaschema_modules_public.file_ref_field ( database_id ); +CREATE INDEX file_ref_field_table_id_idx ON metaschema_modules_public.file_ref_field ( table_id ); + +-- The sync and GC readers both ask "every file-ref field of this module". +CREATE INDEX file_ref_field_storage_module_id_idx ON metaschema_modules_public.file_ref_field ( storage_module_id ); + +COMMIT; diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_deployment_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_deployment_module/table.sql index 108507a7..ae4fcddb 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_deployment_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_deployment_module/table.sql @@ -63,9 +63,9 @@ CREATE TABLE metaschema_modules_public.function_deployment_module ( -- secure_table_provision applies the custom grants/policies instead. provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- Constraints CONSTRAINT function_deployment_module_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql index f2cb10df..a7f85e23 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql @@ -54,8 +54,8 @@ CREATE TABLE metaschema_modules_public.function_invocation_module ( -- Keys are table keys (invocations, execution_logs). provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members. + default_capabilities text[] DEFAULT NULL, -- Constraints CONSTRAINT function_invocation_module_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_module/table.sql index e68d45ff..3f0c50f6 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/function_module/table.sql @@ -67,9 +67,9 @@ CREATE TABLE metaschema_modules_public.function_module ( -- secure_table_provision applies the custom grants/policies instead. provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- Constraints CONSTRAINT function_module_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_execution_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_execution_module/table.sql index 66677cb9..b6fefd56 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_execution_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_execution_module/table.sql @@ -62,8 +62,8 @@ CREATE TABLE metaschema_modules_public.graph_execution_module ( -- Keys are table keys (executions, outputs, node_states). provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members. + default_capabilities text[] DEFAULT NULL, -- Timestamps created_at timestamptz NOT NULL DEFAULT now(), diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_module/table.sql index 85f0feef..38dc006c 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/graph_module/table.sql @@ -53,9 +53,9 @@ CREATE TABLE metaschema_modules_public.graph_module ( -- secure_table_provision applies the custom grants/policies instead. provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- Timestamps created_at timestamptz NOT NULL DEFAULT now(), diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/hierarchy_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/hierarchy_module/table.sql index 0717be66..90c0b6df 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/hierarchy_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/hierarchy_module/table.sql @@ -47,9 +47,9 @@ CREATE TABLE metaschema_modules_public.hierarchy_module ( get_managers_function text NOT NULL DEFAULT '', is_manager_of_function text NOT NULL DEFAULT '', - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- Timestamps created_at timestamptz NOT NULL DEFAULT now(), diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/http_route_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/http_route_module/table.sql index d51abb19..7fedb29c 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/http_route_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/http_route_module/table.sql @@ -34,7 +34,7 @@ CREATE TABLE metaschema_modules_public.http_route_module ( policies jsonb NULL, provisions jsonb NULL, - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, CONSTRAINT http_route_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/limits_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/limits_module/table.sql index c8dd2326..fe605a89 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/limits_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/limits_module/table.sql @@ -82,6 +82,11 @@ CREATE TABLE metaschema_modules_public.limits_module ( -- required tables actor_table_id uuid NOT NULL DEFAULT uuid_nil(), + -- Limit defaults seeded at provision, in seed_limit_defaults' shape: + -- [{"name": "api_requests_per_day", "max": 500}, ...]. NULL seeds nothing, + -- which is every tenant that existed before this column. + limit_defaults jsonb DEFAULT NULL, + -- API routing (configurable per-module) api_name text DEFAULT 'usage', private_api_name text DEFAULT NULL, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/memberships_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/memberships_module/table.sql index edccf1ba..13b5b76c 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/memberships_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/memberships_module/table.sql @@ -40,8 +40,8 @@ CREATE TABLE metaschema_modules_public.memberships_module ( actor_table_id uuid NOT NULL DEFAULT uuid_nil(), limits_table_id uuid NOT NULL DEFAULT uuid_nil(), default_limits_table_id uuid NOT NULL DEFAULT uuid_nil(), - permissions_table_id uuid NOT NULL DEFAULT uuid_nil(), - default_permissions_table_id uuid NOT NULL DEFAULT uuid_nil(), + capabilities_table_id uuid NOT NULL DEFAULT uuid_nil(), + default_capabilities_table_id uuid NOT NULL DEFAULT uuid_nil(), sprt_table_id uuid NOT NULL DEFAULT uuid_nil(), admin_grants_table_id uuid NOT NULL DEFAULT uuid_nil(), @@ -73,9 +73,9 @@ CREATE TABLE metaschema_modules_public.memberships_module ( member_profiles_table_id uuid NULL, - -- Audit tables for permission defaults (created by memberships_module when has_permissions=true) - permission_default_permissions_table_id uuid NULL, - permission_default_grants_table_id uuid NULL, + -- Audit tables for capability defaults (created by memberships_module when has_capabilities=true) + capability_default_capabilities_table_id uuid NULL, + capability_default_grants_table_id uuid NULL, -- API routing (configurable per-module) api_name text DEFAULT 'admin', @@ -98,15 +98,15 @@ CREATE TABLE metaschema_modules_public.memberships_module ( CONSTRAINT limits_table_fkey FOREIGN KEY (limits_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT default_limits_table_fkey FOREIGN KEY (default_limits_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, - CONSTRAINT permissions_table_fkey FOREIGN KEY (permissions_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, - CONSTRAINT default_permissions_table_fkey FOREIGN KEY (default_permissions_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT capabilities_table_fkey FOREIGN KEY (capabilities_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT default_capabilities_table_fkey FOREIGN KEY (default_capabilities_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT memberships_module_unique UNIQUE (database_id, scope, prefix) ); CREATE INDEX memberships_module_actor_table_id_idx ON metaschema_modules_public.memberships_module ( actor_table_id ); CREATE INDEX memberships_module_default_limits_table_id_idx ON metaschema_modules_public.memberships_module ( default_limits_table_id ); -CREATE INDEX memberships_module_default_permissions_table_id_idx ON metaschema_modules_public.memberships_module ( default_permissions_table_id ); +CREATE INDEX memberships_module_default_capabilities_table_id_idx ON metaschema_modules_public.memberships_module ( default_capabilities_table_id ); CREATE INDEX memberships_module_entity_table_id_idx ON metaschema_modules_public.memberships_module ( entity_table_id ); CREATE INDEX memberships_module_grants_table_id_idx ON metaschema_modules_public.memberships_module ( grants_table_id ); CREATE INDEX memberships_module_limits_table_id_idx ON metaschema_modules_public.memberships_module ( limits_table_id ); @@ -114,7 +114,7 @@ CREATE INDEX memberships_module_members_table_id_idx ON metaschema_modules_publi CREATE INDEX memberships_module_membership_defaults_table_id_idx ON metaschema_modules_public.memberships_module ( membership_defaults_table_id ); CREATE INDEX memberships_module_membership_settings_table_id_idx ON metaschema_modules_public.memberships_module ( membership_settings_table_id ); CREATE INDEX memberships_module_memberships_table_id_idx ON metaschema_modules_public.memberships_module ( memberships_table_id ); -CREATE INDEX memberships_module_permissions_table_id_idx ON metaschema_modules_public.memberships_module ( permissions_table_id ); +CREATE INDEX memberships_module_capabilities_table_id_idx ON metaschema_modules_public.memberships_module ( capabilities_table_id ); CREATE INDEX memberships_module_sprt_table_id_idx ON metaschema_modules_public.memberships_module ( sprt_table_id ); CREATE INDEX memberships_module_private_schema_id_idx ON metaschema_modules_public.memberships_module ( private_schema_id ); CREATE INDEX memberships_module_schema_id_idx ON metaschema_modules_public.memberships_module ( schema_id ); diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/merkle_store_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/merkle_store_module/table.sql index d8b1ba43..8b4a83bb 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/merkle_store_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/merkle_store_module/table.sql @@ -44,10 +44,10 @@ CREATE TABLE metaschema_modules_public.merkle_store_module ( -- any other value is used as-is. Tables always keep their prefix regardless of this setting. function_prefix text DEFAULT NULL, - -- Permission key for SELECT gating: when set, all 4 merkle tables require this - -- permission for SELECT at platform/app scope (e.g., 'manage_graphs'). + -- Capability key for SELECT gating: when set, all 4 merkle tables require this + -- capability for SELECT at platform/app scope (e.g., 'manage_graphs'). -- NULL means the caller intentionally wants open membership SELECT. - permission_key text DEFAULT NULL, + capability_key text DEFAULT NULL, -- Timestamps created_at timestamptz NOT NULL DEFAULT now(), diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/namespace_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/namespace_module/table.sql index 43ca357b..bc696fa0 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/namespace_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/namespace_module/table.sql @@ -56,9 +56,9 @@ CREATE TABLE metaschema_modules_public.namespace_module ( -- secure_table_provision applies the custom grants/policies instead. provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- Constraints CONSTRAINT namespace_module_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/notifications_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/notifications_module/table.sql index ed893a39..0ea9c855 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/notifications_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/notifications_module/table.sql @@ -45,9 +45,9 @@ CREATE TABLE metaschema_modules_public.notifications_module ( has_digest_metadata boolean NOT NULL DEFAULT false, has_subscriptions boolean NOT NULL DEFAULT false, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- API routing (configurable per-module) api_name text DEFAULT 'notifications', diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql new file mode 100644 index 00000000..b6f61d76 --- /dev/null +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql @@ -0,0 +1,70 @@ +-- Deploy schemas/metaschema_modules_public/tables/oauth_requests_module/table to pg + +-- requires: schemas/metaschema_modules_public/schema + +BEGIN; + +CREATE TABLE metaschema_modules_public.oauth_requests_module ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + + -- Scope-key column name on the generated tables. The insert trigger records + -- database_id for database scope, entity_id for entity scopes, NULL for + -- global tiers. Consumers read this instead of re-deriving the literal. + entity_field text, + + -- Both tables live on the private schema and have no public counterpart: + -- nothing outside the generated SECURITY DEFINER procedures may read a + -- code_verifier or a link ticket, so there is no public schema to route. + private_schema_id uuid NOT NULL DEFAULT uuid_nil(), + private_schema_name text, + + oauth_authorization_requests_table_id uuid NOT NULL DEFAULT uuid_nil(), + pending_identity_links_table_id uuid NOT NULL DEFAULT uuid_nil(), + + oauth_authorization_requests_table_name text NOT NULL DEFAULT 'oauth_authorization_requests', + pending_identity_links_table_name text NOT NULL DEFAULT 'pending_identity_links', + + scope text NOT NULL, + prefix text NOT NULL DEFAULT '', + entity_table_id uuid NULL, + + CONSTRAINT oauth_requests_module_db_fkey + FOREIGN KEY (database_id) + REFERENCES metaschema_public.database (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_private_schema_fkey + FOREIGN KEY (private_schema_id) + REFERENCES metaschema_public.schema (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_requests_table_fkey + FOREIGN KEY (oauth_authorization_requests_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_links_table_fkey + FOREIGN KEY (pending_identity_links_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_entity_table_fkey + FOREIGN KEY (entity_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE +); + +-- One install per database per scope +CREATE UNIQUE INDEX oauth_requests_module_unique_scope + ON metaschema_modules_public.oauth_requests_module (database_id, scope); +CREATE INDEX oauth_requests_module_private_schema_id_idx ON metaschema_modules_public.oauth_requests_module ( private_schema_id ); +CREATE INDEX oauth_requests_module_requests_table_id_idx ON metaschema_modules_public.oauth_requests_module ( oauth_authorization_requests_table_id ); +CREATE INDEX oauth_requests_module_links_table_id_idx ON metaschema_modules_public.oauth_requests_module ( pending_identity_links_table_id ); +CREATE INDEX oauth_requests_module_entity_table_id_idx ON metaschema_modules_public.oauth_requests_module ( entity_table_id ); + +COMMENT ON TABLE metaschema_modules_public.oauth_requests_module IS + 'Config row for the oauth_requests_module, which provisions the in-flight half of an SSO + sign-in: the OAuth authorization requests table (state + PKCE code_verifier) and the + pending identity links table (a verified identity parked under a single-use ticket), + both private, plus the five SECURITY DEFINER procedures that are their only surface. + Sibling of identity_providers_module (durable provider configuration) rather than part + of it: this is ephemeral, purged flow state with its own retention.'; + +COMMIT; diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/profiles_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/profiles_module/table.sql index 4226861c..217d2926 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/profiles_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/profiles_module/table.sql @@ -24,9 +24,9 @@ CREATE TABLE metaschema_modules_public.profiles_module ( table_id uuid NOT NULL DEFAULT uuid_nil(), table_name text NOT NULL DEFAULT '', - -- Profile permissions join table (for UI) - profile_permissions_table_id uuid NOT NULL DEFAULT uuid_nil(), - profile_permissions_table_name text NOT NULL DEFAULT '', + -- Profile capabilities join table (for UI) + profile_capabilities_table_id uuid NOT NULL DEFAULT uuid_nil(), + profile_capabilities_table_name text NOT NULL DEFAULT '', -- Profile grants audit table profile_grants_table_id uuid NOT NULL DEFAULT uuid_nil(), @@ -36,6 +36,12 @@ CREATE TABLE metaschema_modules_public.profiles_module ( profile_definition_grants_table_id uuid NOT NULL DEFAULT uuid_nil(), profile_definition_grants_table_name text NOT NULL DEFAULT '', + -- Profile assignment set: every profile a membership holds, and the only + -- profile-derived authorization input. memberships.profile_id is a pointer at + -- one of its rows, kept in sync by the generated triggers. + membership_profiles_table_id uuid NOT NULL DEFAULT uuid_nil(), + membership_profiles_table_name text NOT NULL DEFAULT '', + -- Profile templates table (for seeding profiles into new entities) profile_templates_table_id uuid NOT NULL DEFAULT uuid_nil(), profile_templates_table_name text NOT NULL DEFAULT '', @@ -51,7 +57,7 @@ CREATE TABLE metaschema_modules_public.profiles_module ( -- Required tables actor_table_id uuid NOT NULL DEFAULT uuid_nil(), - permissions_table_id uuid NOT NULL DEFAULT uuid_nil(), + capabilities_table_id uuid NOT NULL DEFAULT uuid_nil(), memberships_table_id uuid NOT NULL DEFAULT uuid_nil(), -- API routing (configurable per-module) @@ -63,13 +69,14 @@ CREATE TABLE metaschema_modules_public.profiles_module ( CONSTRAINT schema_fkey FOREIGN KEY (schema_id) REFERENCES metaschema_public.schema (id) ON DELETE CASCADE, CONSTRAINT private_schema_fkey FOREIGN KEY (private_schema_id) REFERENCES metaschema_public.schema (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, - CONSTRAINT profile_permissions_table_fkey FOREIGN KEY (profile_permissions_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT profile_capabilities_table_fkey FOREIGN KEY (profile_capabilities_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT profile_grants_table_fkey FOREIGN KEY (profile_grants_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT profile_definition_grants_table_fkey FOREIGN KEY (profile_definition_grants_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT membership_profiles_table_fkey FOREIGN KEY (membership_profiles_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT profile_templates_table_fkey FOREIGN KEY (profile_templates_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT entity_table_fkey FOREIGN KEY (entity_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT actor_table_fkey FOREIGN KEY (actor_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, - CONSTRAINT permissions_table_fkey FOREIGN KEY (permissions_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, + CONSTRAINT capabilities_table_fkey FOREIGN KEY (capabilities_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT memberships_table_fkey FOREIGN KEY (memberships_table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT profiles_module_unique UNIQUE (database_id, scope, prefix) @@ -78,11 +85,12 @@ CREATE TABLE metaschema_modules_public.profiles_module ( CREATE INDEX profiles_module_actor_table_id_idx ON metaschema_modules_public.profiles_module ( actor_table_id ); CREATE INDEX profiles_module_entity_table_id_idx ON metaschema_modules_public.profiles_module ( entity_table_id ); CREATE INDEX profiles_module_memberships_table_id_idx ON metaschema_modules_public.profiles_module ( memberships_table_id ); -CREATE INDEX profiles_module_permissions_table_id_idx ON metaschema_modules_public.profiles_module ( permissions_table_id ); +CREATE INDEX profiles_module_capabilities_table_id_idx ON metaschema_modules_public.profiles_module ( capabilities_table_id ); CREATE INDEX profiles_module_profile_definition_grants_table_id_idx ON metaschema_modules_public.profiles_module ( profile_definition_grants_table_id ); CREATE INDEX profiles_module_profile_grants_table_id_idx ON metaschema_modules_public.profiles_module ( profile_grants_table_id ); -CREATE INDEX profiles_module_profile_permissions_table_id_idx ON metaschema_modules_public.profiles_module ( profile_permissions_table_id ); +CREATE INDEX profiles_module_profile_capabilities_table_id_idx ON metaschema_modules_public.profiles_module ( profile_capabilities_table_id ); CREATE INDEX profiles_module_profile_templates_table_id_idx ON metaschema_modules_public.profiles_module ( profile_templates_table_id ); +CREATE INDEX profiles_module_membership_profiles_table_id_idx ON metaschema_modules_public.profiles_module ( membership_profiles_table_id ); CREATE INDEX profiles_module_table_id_idx ON metaschema_modules_public.profiles_module ( table_id ); CREATE INDEX profiles_module_private_schema_id_idx ON metaschema_modules_public.profiles_module ( private_schema_id ); CREATE INDEX profiles_module_schema_id_idx ON metaschema_modules_public.profiles_module ( schema_id ); diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/rate_limit_meters_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/rate_limit_meters_module/table.sql index 36fe9fcf..d2dcdda7 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/rate_limit_meters_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/rate_limit_meters_module/table.sql @@ -34,9 +34,9 @@ CREATE TABLE metaschema_modules_public.rate_limit_meters_module ( prefix text NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- API routing (configurable per-module) api_name text DEFAULT 'usage', diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/resource_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/resource_module/table.sql index 888f1666..fef07595 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/resource_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/resource_module/table.sql @@ -85,8 +85,8 @@ CREATE TABLE metaschema_modules_public.resource_module ( -- Keys are table keys (resources, resource_events). provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members. - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members. + default_capabilities text[] DEFAULT NULL, -- Constraints CONSTRAINT resource_module_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/route_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/route_module/table.sql index da0c1ca0..6992b422 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/route_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/route_module/table.sql @@ -71,8 +71,8 @@ CREATE TABLE metaschema_modules_public.route_module ( -- Per-table provisions overrides from blueprint config provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members + default_capabilities text[] DEFAULT NULL, CONSTRAINT route_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/site_surface_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/site_surface_module/table.sql index c602a6b0..109198d5 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/site_surface_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/site_surface_module/table.sql @@ -69,8 +69,8 @@ CREATE TABLE metaschema_modules_public.site_surface_module ( -- Per-table provisions overrides from blueprint config provisions jsonb NULL, - -- Default permissions: permission names auto-granted to new members - default_permissions text[] DEFAULT NULL, + -- Default capabilities: capability names auto-granted to new members + default_capabilities text[] DEFAULT NULL, CONSTRAINT site_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/storage_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/storage_module/table.sql index e629667d..296aef84 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/storage_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/storage_module/table.sql @@ -67,7 +67,7 @@ CREATE TABLE metaschema_modules_public.storage_module ( -- CORS configuration (NULL = use plugin defaults) allowed_origins text[] NULL, -- Default CORS origins for all buckets in this database (e.g., ARRAY['https://app.example.com']). ['*'] = open/CDN mode. - -- Storage permissions: when true, SELECT on files requires read_files permission + -- Storage capabilities: when true, SELECT on files requires read_files capability -- (opt-in restrictive mode for sensitive entity types like data rooms with confidential docs). -- When false (default), any entity member can read all files (baseline = membership). restrict_reads boolean NOT NULL DEFAULT false, @@ -102,9 +102,9 @@ CREATE TABLE metaschema_modules_public.storage_module ( -- Generated table ID for file_events (populated by the generator when has_audit_log=true) file_events_table_id uuid NULL DEFAULT NULL, - -- Default permissions: permission names auto-granted to new members. + -- Default capabilities: capability names auto-granted to new members. -- NULL uses the module's built-in defaults; explicit array overrides them. - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, -- Constraints -- API routing (configurable per-module) diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/webhook_module/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/webhook_module/table.sql index f2abd2fd..4cc85a12 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/webhook_module/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/webhook_module/table.sql @@ -47,7 +47,7 @@ CREATE TABLE metaschema_modules_public.webhook_module ( policies jsonb NULL, provisions jsonb NULL, - default_permissions text[] DEFAULT NULL, + default_capabilities text[] DEFAULT NULL, CONSTRAINT webhook_module_db_fkey FOREIGN KEY (database_id) diff --git a/packages/metaschema-modules/pgpm.plan b/packages/metaschema-modules/pgpm.plan index dd490eba..8c6e5373 100644 --- a/packages/metaschema-modules/pgpm.plan +++ b/packages/metaschema-modules/pgpm.plan @@ -15,7 +15,7 @@ schemas/metaschema_modules_public/tables/events_module/table [schemas/metaschema schemas/metaschema_modules_public/tables/limits_module/table [schemas/metaschema_modules_public/schema] 2017-08-11T08:11:51Z skitch # add schemas/metaschema_modules_public/tables/limits_module/table schemas/metaschema_modules_public/tables/membership_types_module/table [schemas/metaschema_modules_public/schema] 2017-08-11T08:11:51Z skitch # add schemas/metaschema_modules_public/tables/membership_types_module/table schemas/metaschema_modules_public/tables/memberships_module/table [schemas/metaschema_modules_public/schema] 2017-08-11T08:11:51Z skitch # add schemas/metaschema_modules_public/tables/memberships_module/table -schemas/metaschema_modules_public/tables/permissions_module/table [schemas/metaschema_modules_public/schema] 2017-08-11T08:11:51Z skitch # add schemas/metaschema_modules_public/tables/permissions_module/table +schemas/metaschema_modules_public/tables/capabilities_module/table [schemas/metaschema_modules_public/schema] 2017-08-11T08:11:51Z skitch # add schemas/metaschema_modules_public/tables/capabilities_module/table schemas/metaschema_modules_public/tables/phone_numbers_module/table [schemas/metaschema_modules_public/schema] 2017-08-11T08:11:51Z skitch # add schemas/metaschema_modules_public/tables/phone_numbers_module/table schemas/metaschema_modules_public/tables/profiles_module/table [schemas/metaschema_modules_public/schema] 2026-01-01T00:00:00Z devin # add schemas/metaschema_modules_public/tables/profiles_module/table schemas/metaschema_modules_public/tables/rls_module/table [schemas/metaschema_modules_public/schema] 2017-08-11T08:11:51Z skitch # add schemas/metaschema_modules_public/tables/rls_module/table @@ -89,3 +89,8 @@ schemas/metaschema_modules_public/tables/database_settings_module/table [schemas schemas/metaschema_modules_public/tables/pages_module/table [schemas/metaschema_modules_public/schema schemas/metaschema_modules_public/tables/merkle_store_module/table schemas/metaschema_modules_public/tables/site_surface_module/table] 2026-07-31T19:00:00Z devin # add pages_module config table for site-owned merkle-versioned page content schemas/metaschema_modules_public/tables/user_settings_security_module/table [schemas/metaschema_modules_public/schema] 2026-08-05T00:00:00Z devin # add user_settings_security_module for per-user MFA enrollment state (1:1 with users) schemas/metaschema_modules_public/tables/scope_types_module/table [schemas/metaschema_modules_public/schema] 2026-08-06T00:00:00Z devin # add scope type projection module config (which scope encloses each scope) +schemas/metaschema_modules_public/tables/file_ref_field/table [schemas/metaschema_modules_public/schema schemas/metaschema_modules_public/tables/storage_module/table] 2026-08-08T01:00:00Z devin # add file_ref_field registry: one row per upload/image field declaration +schemas/metaschema_modules_public/tables/data_capabilities_field/table [schemas/metaschema_modules_public/schema schemas/metaschema_modules_public/tables/capabilities_module/table] 2026-08-08T02:00:00Z devin # add data_capabilities_field registry: one row per DataCapabilities declaration +schemas/metaschema_modules_public/tables/email_sender_module/table [schemas/metaschema_modules_public/schema schemas/metaschema_modules_public/tables/site_surface_module/table] 2026-08-09T00:00:00Z devin # add scoped email sender module registration +schemas/metaschema_modules_public/tables/oauth_requests_module/table [schemas/metaschema_modules_public/schema] 2026-08-09T06:00:00Z devin # add oauth requests module registration: in-flight OAuth state + pending identity links +schemas/metaschema_modules_public/tables/content_preset_module/table [schemas/metaschema_modules_public/schema schemas/metaschema_modules_public/tables/merkle_store_module/table] 2026-08-09T08:00:00Z devin # add content_preset_module config table for the merkle-versioned seed-content catalog diff --git a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/capabilities_module/table.sql b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/capabilities_module/table.sql new file mode 100644 index 00000000..476eefa5 --- /dev/null +++ b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/capabilities_module/table.sql @@ -0,0 +1,7 @@ +-- Revert schemas/metaschema_modules_public/tables/capabilities_module/table from pg + +BEGIN; + +DROP TABLE metaschema_modules_public.capabilities_module; + +COMMIT; diff --git a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/content_preset_module/table.sql b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/content_preset_module/table.sql new file mode 100644 index 00000000..73db41d8 --- /dev/null +++ b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/content_preset_module/table.sql @@ -0,0 +1,7 @@ +-- Revert schemas/metaschema_modules_public/tables/content_preset_module/table from pg + +BEGIN; + +DROP TABLE IF EXISTS metaschema_modules_public.content_preset_module CASCADE; + +COMMIT; diff --git a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql new file mode 100644 index 00000000..af841f1a --- /dev/null +++ b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql @@ -0,0 +1,7 @@ +-- Revert schemas/metaschema_modules_public/tables/data_capabilities_field/table from pg + +BEGIN; + +DROP TABLE metaschema_modules_public.data_capabilities_field; + +COMMIT; diff --git a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/email_sender_module/table.sql b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/email_sender_module/table.sql new file mode 100644 index 00000000..7d1bc0ba --- /dev/null +++ b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/email_sender_module/table.sql @@ -0,0 +1,7 @@ +-- Revert schemas/metaschema_modules_public/tables/email_sender_module/table from pg + +BEGIN; + +DROP TABLE metaschema_modules_public.email_sender_module; + +COMMIT; diff --git a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/file_ref_field/table.sql b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/file_ref_field/table.sql new file mode 100644 index 00000000..cb291b8b --- /dev/null +++ b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/file_ref_field/table.sql @@ -0,0 +1,7 @@ +-- Revert schemas/metaschema_modules_public/tables/file_ref_field/table from pg + +BEGIN; + +DROP TABLE metaschema_modules_public.file_ref_field; + +COMMIT; diff --git a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql new file mode 100644 index 00000000..7b4cfc61 --- /dev/null +++ b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql @@ -0,0 +1,7 @@ +-- Revert schemas/metaschema_modules_public/tables/oauth_requests_module/table from pg + +BEGIN; + +DROP TABLE metaschema_modules_public.oauth_requests_module; + +COMMIT; diff --git a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/permissions_module/table.sql b/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/permissions_module/table.sql deleted file mode 100644 index 42ace72b..00000000 --- a/packages/metaschema-modules/revert/schemas/metaschema_modules_public/tables/permissions_module/table.sql +++ /dev/null @@ -1,7 +0,0 @@ --- Revert schemas/metaschema_modules_public/tables/permissions_module/table from pg - -BEGIN; - -DROP TABLE metaschema_modules_public.permissions_module; - -COMMIT; diff --git a/packages/metaschema-modules/sql/metaschema-modules--0.40.0.bundle.tar.gz b/packages/metaschema-modules/sql/metaschema-modules--0.40.0.bundle.tar.gz index 6a63fa94b9b769ded695e00b97845a141e2b8296..2918a97c8813704a58e135ee33e1365bdb8ca65e 100644 GIT binary patch literal 87604 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 T^YzcK<CL&G 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ÒuvJatr!=Tl$Zo%g<0!C{)!5T&ZOJ~cpf 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 '' + ), + UNIQUE (field_id) +); + +CREATE INDEX file_ref_field_database_id_idx ON metaschema_modules_public.file_ref_field (database_id); + +CREATE INDEX file_ref_field_table_id_idx ON metaschema_modules_public.file_ref_field (table_id); + +CREATE INDEX file_ref_field_storage_module_id_idx ON metaschema_modules_public.file_ref_field (storage_module_id); + +CREATE TABLE metaschema_modules_public.data_capabilities_field ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + table_id uuid NOT NULL, + field_id uuid NOT NULL, + capabilities_module_id uuid NOT NULL, + mode text NOT NULL DEFAULT 'direct', + from_field_id uuid NULL, + mapping_table_id uuid NULL, + mapping_key_field_id uuid NULL, + mapping_field_id uuid NULL, + subset_guard boolean NOT NULL DEFAULT true, + CONSTRAINT db_fkey + FOREIGN KEY(database_id) + REFERENCES metaschema_public.database (id) + ON DELETE CASCADE, + CONSTRAINT table_fkey + FOREIGN KEY(table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT field_fkey + FOREIGN KEY(field_id) + REFERENCES metaschema_public.field (id) + ON DELETE CASCADE, + CONSTRAINT capabilities_module_fkey + FOREIGN KEY(capabilities_module_id) + REFERENCES metaschema_modules_public.capabilities_module (id) + ON DELETE CASCADE, + CONSTRAINT from_field_fkey + FOREIGN KEY(from_field_id) + REFERENCES metaschema_public.field (id) + ON DELETE CASCADE, + CONSTRAINT mapping_table_fkey + FOREIGN KEY(mapping_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT mapping_key_field_fkey + FOREIGN KEY(mapping_key_field_id) + REFERENCES metaschema_public.field (id) + ON DELETE CASCADE, + CONSTRAINT mapping_field_fkey + FOREIGN KEY(mapping_field_id) + REFERENCES metaschema_public.field (id) + ON DELETE CASCADE, + CONSTRAINT mode_chk + CHECK (mode IN ('direct', 'derived')), + CONSTRAINT derived_mode_chk + CHECK ( + (mode = 'derived' + AND from_field_id IS NOT NULL + AND mapping_table_id IS NOT NULL + AND mapping_key_field_id IS NOT NULL + AND mapping_field_id IS NOT NULL) + OR (mode = 'direct' + AND from_field_id IS NULL + AND mapping_table_id IS NULL + AND mapping_key_field_id IS NULL + AND mapping_field_id IS NULL) + ), + UNIQUE (field_id) +); + +CREATE INDEX data_capabilities_field_database_id_idx ON metaschema_modules_public.data_capabilities_field (database_id); + +CREATE INDEX data_capabilities_field_table_id_idx ON metaschema_modules_public.data_capabilities_field (table_id); + +CREATE INDEX data_capabilities_field_permissions_module_id_idx ON metaschema_modules_public.data_capabilities_field (capabilities_module_id); + +CREATE INDEX data_capabilities_field_mapping_table_id_idx ON metaschema_modules_public.data_capabilities_field (mapping_table_id); + +CREATE INDEX data_capabilities_field_from_field_id_idx ON metaschema_modules_public.data_capabilities_field (from_field_id); + +CREATE INDEX data_capabilities_field_mapping_key_field_id_idx ON metaschema_modules_public.data_capabilities_field (mapping_key_field_id); + +CREATE INDEX data_capabilities_field_mapping_field_id_idx ON metaschema_modules_public.data_capabilities_field (mapping_field_id); + +CREATE TABLE metaschema_modules_public.email_sender_module ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + entity_field text, + schema_id uuid NOT NULL DEFAULT uuid_nil(), + public_schema_name text, + email_provider_accounts_table_id uuid NOT NULL DEFAULT uuid_nil(), + email_identities_table_id uuid NOT NULL DEFAULT uuid_nil(), + email_site_identities_table_id uuid NULL, + email_provider_accounts_table_name text NOT NULL DEFAULT 'email_provider_accounts', + email_identities_table_name text NOT NULL DEFAULT 'email_identities', + email_site_identities_table_name text NOT NULL DEFAULT 'email_site_identities', + site_surface_module_id uuid, + api_name text, + private_api_name text, + scope text NOT NULL, + prefix text NOT NULL DEFAULT '', + entity_table_id uuid NULL, + policies jsonb NULL, + provisions jsonb NULL, + default_capabilities text[] DEFAULT NULL, + CONSTRAINT email_sender_module_db_fkey + FOREIGN KEY(database_id) + REFERENCES metaschema_public.database (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_schema_fkey + FOREIGN KEY(schema_id) + REFERENCES metaschema_public.schema (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_provider_accounts_table_fkey + FOREIGN KEY(email_provider_accounts_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_identities_table_fkey + FOREIGN KEY(email_identities_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_site_identities_table_fkey + FOREIGN KEY(email_site_identities_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_site_surface_module_fkey + FOREIGN KEY(site_surface_module_id) + REFERENCES metaschema_modules_public.site_surface_module (id) + ON DELETE CASCADE, + CONSTRAINT email_sender_module_entity_table_fkey + FOREIGN KEY(entity_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE +); + +CREATE UNIQUE INDEX email_sender_module_unique_scope ON metaschema_modules_public.email_sender_module (database_id, scope); + +CREATE INDEX email_sender_module_schema_id_idx ON metaschema_modules_public.email_sender_module (schema_id); + +CREATE INDEX email_sender_module_provider_accounts_table_id_idx ON metaschema_modules_public.email_sender_module (email_provider_accounts_table_id); + +CREATE INDEX email_sender_module_identities_table_id_idx ON metaschema_modules_public.email_sender_module (email_identities_table_id); + +CREATE INDEX email_sender_module_site_identities_table_id_idx ON metaschema_modules_public.email_sender_module (email_site_identities_table_id); + +CREATE INDEX email_sender_module_site_surface_module_id_idx ON metaschema_modules_public.email_sender_module (site_surface_module_id); + +CREATE INDEX email_sender_module_entity_table_id_idx ON metaschema_modules_public.email_sender_module (entity_table_id); + +CREATE TABLE metaschema_modules_public.oauth_requests_module ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + entity_field text, + private_schema_id uuid NOT NULL DEFAULT uuid_nil(), + private_schema_name text, + oauth_authorization_requests_table_id uuid NOT NULL DEFAULT uuid_nil(), + pending_identity_links_table_id uuid NOT NULL DEFAULT uuid_nil(), + oauth_authorization_requests_table_name text NOT NULL DEFAULT 'oauth_authorization_requests', + pending_identity_links_table_name text NOT NULL DEFAULT 'pending_identity_links', + scope text NOT NULL, + prefix text NOT NULL DEFAULT '', + entity_table_id uuid NULL, + CONSTRAINT oauth_requests_module_db_fkey + FOREIGN KEY(database_id) + REFERENCES metaschema_public.database (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_private_schema_fkey + FOREIGN KEY(private_schema_id) + REFERENCES metaschema_public.schema (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_requests_table_fkey + FOREIGN KEY(oauth_authorization_requests_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_links_table_fkey + FOREIGN KEY(pending_identity_links_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT oauth_requests_module_entity_table_fkey + FOREIGN KEY(entity_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE +); + +CREATE UNIQUE INDEX oauth_requests_module_unique_scope ON metaschema_modules_public.oauth_requests_module (database_id, scope); + +CREATE INDEX oauth_requests_module_private_schema_id_idx ON metaschema_modules_public.oauth_requests_module (private_schema_id); + +CREATE INDEX oauth_requests_module_requests_table_id_idx ON metaschema_modules_public.oauth_requests_module (oauth_authorization_requests_table_id); + +CREATE INDEX oauth_requests_module_links_table_id_idx ON metaschema_modules_public.oauth_requests_module (pending_identity_links_table_id); + +CREATE INDEX oauth_requests_module_entity_table_id_idx ON metaschema_modules_public.oauth_requests_module (entity_table_id); + +COMMENT ON TABLE metaschema_modules_public.oauth_requests_module IS 'Config row for the oauth_requests_module, which provisions the in-flight half of an SSO + sign-in: the OAuth authorization requests table (state + PKCE code_verifier) and the + pending identity links table (a verified identity parked under a single-use ticket), + both private, plus the five SECURITY DEFINER procedures that are their only surface. + Sibling of identity_providers_module (durable provider configuration) rather than part + of it: this is ephemeral, purged flow state with its own retention.'; + +CREATE TABLE metaschema_modules_public.content_preset_module ( + id uuid PRIMARY KEY DEFAULT uuidv7(), + database_id uuid NOT NULL, + public_schema_id uuid NOT NULL DEFAULT uuid_nil(), + private_schema_id uuid NOT NULL DEFAULT uuid_nil(), + public_schema_name text, + private_schema_name text, + scope text NOT NULL, + prefix text NOT NULL, + merkle_store_module_id uuid NOT NULL, + content_presets_table_id uuid NOT NULL DEFAULT uuid_nil(), + store_name text NOT NULL, + api_name text, + private_api_name text, + entity_table_id uuid NULL, + policies jsonb NULL, + provisions jsonb NULL, + created_at timestamptz NOT NULL DEFAULT now(), + CONSTRAINT db_fkey + FOREIGN KEY(database_id) + REFERENCES metaschema_public.database (id) + ON DELETE CASCADE, + CONSTRAINT public_schema_fkey + FOREIGN KEY(public_schema_id) + REFERENCES metaschema_public.schema (id) + ON DELETE CASCADE, + CONSTRAINT private_schema_fkey + FOREIGN KEY(private_schema_id) + REFERENCES metaschema_public.schema (id) + ON DELETE CASCADE, + CONSTRAINT merkle_store_fkey + FOREIGN KEY(merkle_store_module_id) + REFERENCES metaschema_modules_public.merkle_store_module (id) + ON DELETE CASCADE, + CONSTRAINT content_presets_table_fkey + FOREIGN KEY(content_presets_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT content_preset_module_entity_table_fkey + FOREIGN KEY(entity_table_id) + REFERENCES metaschema_public.table (id) + ON DELETE CASCADE, + CONSTRAINT content_preset_module_database_merkle_unique + UNIQUE (database_id, merkle_store_module_id) +); + +CREATE INDEX content_preset_module_entity_table_id_idx ON metaschema_modules_public.content_preset_module (entity_table_id); + +CREATE INDEX content_preset_module_content_presets_table_id_idx ON metaschema_modules_public.content_preset_module (content_presets_table_id); + +CREATE INDEX content_preset_module_private_schema_id_idx ON metaschema_modules_public.content_preset_module (private_schema_id); + +CREATE INDEX content_preset_module_public_schema_id_idx ON metaschema_modules_public.content_preset_module (public_schema_id); + +CREATE INDEX content_preset_module_merkle_store_module_id_idx ON metaschema_modules_public.content_preset_module (merkle_store_module_id); \ No newline at end of file diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/capabilities_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/capabilities_module/table.sql new file mode 100644 index 00000000..12742162 --- /dev/null +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/capabilities_module/table.sql @@ -0,0 +1,7 @@ +-- Verify schemas/metaschema_modules_public/tables/capabilities_module/table on pg + +BEGIN; + +SELECT assert_table('metaschema_modules_public.capabilities_module'::regclass); + +ROLLBACK; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/content_preset_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/content_preset_module/table.sql new file mode 100644 index 00000000..117bcaf0 --- /dev/null +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/content_preset_module/table.sql @@ -0,0 +1,9 @@ +-- Verify schemas/metaschema_modules_public/tables/content_preset_module/table on pg + +BEGIN; + +SELECT id, database_id, public_schema_id, private_schema_id, merkle_store_module_id, store_name, scope, prefix + FROM metaschema_modules_public.content_preset_module + WHERE FALSE; + +ROLLBACK; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql new file mode 100644 index 00000000..b4a35910 --- /dev/null +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql @@ -0,0 +1,7 @@ +-- Verify schemas/metaschema_modules_public/tables/data_capabilities_field/table on pg + +BEGIN; + +SELECT assert_table('metaschema_modules_public.data_capabilities_field'::regclass); + +ROLLBACK; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/email_sender_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/email_sender_module/table.sql new file mode 100644 index 00000000..f5d709f4 --- /dev/null +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/email_sender_module/table.sql @@ -0,0 +1,9 @@ +-- Verify schemas/metaschema_modules_public/tables/email_sender_module/table on pg + +BEGIN; + +SELECT id, database_id, scope +FROM metaschema_modules_public.email_sender_module +WHERE false; + +ROLLBACK; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/file_ref_field/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/file_ref_field/table.sql new file mode 100644 index 00000000..488ea01b --- /dev/null +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/file_ref_field/table.sql @@ -0,0 +1,7 @@ +-- Verify schemas/metaschema_modules_public/tables/file_ref_field/table on pg + +BEGIN; + +SELECT assert_table('metaschema_modules_public.file_ref_field'::regclass); + +ROLLBACK; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql index a4fa95db..2117b00d 100644 --- a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/function_invocation_module/table.sql @@ -8,7 +8,7 @@ SELECT id, database_id, schema_id, private_schema_id, invocations_table_name, execution_logs_table_name, api_name, private_api_name, scope, prefix, entity_table_id, - policies, provisions, default_permissions + policies, provisions, default_capabilities FROM metaschema_modules_public.function_invocation_module WHERE false; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql new file mode 100644 index 00000000..4839f24e --- /dev/null +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/oauth_requests_module/table.sql @@ -0,0 +1,9 @@ +-- Verify schemas/metaschema_modules_public/tables/oauth_requests_module/table on pg + +BEGIN; + +SELECT id, database_id, scope +FROM metaschema_modules_public.oauth_requests_module +WHERE false; + +ROLLBACK; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/permissions_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/permissions_module/table.sql deleted file mode 100644 index 16d0f5f3..00000000 --- a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/permissions_module/table.sql +++ /dev/null @@ -1,7 +0,0 @@ --- Verify schemas/metaschema_modules_public/tables/permissions_module/table on pg - -BEGIN; - -SELECT assert_table('metaschema_modules_public.permissions_module'::regclass); - -ROLLBACK; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/profiles_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/profiles_module/table.sql index 995dd6f6..00dd6583 100644 --- a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/profiles_module/table.sql +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/profiles_module/table.sql @@ -3,11 +3,12 @@ BEGIN; SELECT id, database_id, schema_id, private_schema_id, table_id, table_name, - profile_permissions_table_id, profile_permissions_table_name, + profile_capabilities_table_id, profile_capabilities_table_name, profile_grants_table_id, profile_grants_table_name, profile_definition_grants_table_id, profile_definition_grants_table_name, entity_table_id, actor_table_id, - permissions_table_id, memberships_table_id, prefix + capabilities_table_id, memberships_table_id, prefix, + membership_profiles_table_id, membership_profiles_table_name FROM metaschema_modules_public.profiles_module WHERE FALSE; diff --git a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/resource_module/table.sql b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/resource_module/table.sql index 19ab8e40..b4eac27a 100644 --- a/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/resource_module/table.sql +++ b/packages/metaschema-modules/verify/schemas/metaschema_modules_public/tables/resource_module/table.sql @@ -7,7 +7,7 @@ SELECT id, database_id, schema_id, private_schema_id, resources_table_name, resource_events_table_name, resolved_requirements_view_name, requirements_state_view_name, scope, prefix, entity_table_id, namespace_module_id, - policies, provisions, default_permissions + policies, provisions, default_capabilities FROM metaschema_modules_public.resource_module WHERE FALSE; diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/triggers/enforce_api_exposure_ratchet.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/triggers/enforce_api_exposure_ratchet.sql index 526ef9ba..ba015f41 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/triggers/enforce_api_exposure_ratchet.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/triggers/enforce_api_exposure_ratchet.sql @@ -5,7 +5,7 @@ BEGIN; -- never_expose is a one-way ratchet: once set, it cannot be changed via the app. --- Loosening internal_only → exposable is governed by introspection-layer permissions. +-- Loosening internal_only → exposable is governed by introspection-layer capabilities. CREATE FUNCTION metaschema_public.tg_enforce_api_exposure_ratchet() RETURNS TRIGGER AS $$ BEGIN diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/types/object_category.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/types/object_category.sql index 41399e2e..9f4f994d 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/types/object_category.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/types/object_category.sql @@ -6,11 +6,11 @@ BEGIN; -- Unified category type for all metaschema objects (tables, fields, procedures, triggers, indexes, policies, constraints, etc.) -- 'core' - system-level objects (id fields, entity_id, actor_id, etc.) --- 'module' - objects created by modules (users, permissions, memberships, etc.) --- 'permissions' - permission-framework objects (SPRTs, grants, permission defaults) — excluded from exports via excludeCategories +-- 'module' - objects created by modules (users, capabilities, memberships, etc.) +-- 'capabilities' - capability-framework objects (SPRTs, grants, capability defaults) — excluded from exports via excludeCategories -- 'auth' - authentication/session objects (sessions, rate limits, identity providers) — excluded from exports via excludeCategories -- 'memberships' - membership-structure objects (memberships, members, profiles, settings) — excluded from exports via excludeCategories -- 'app' - user-defined application objects -CREATE TYPE metaschema_public.object_category AS ENUM ('core', 'module', 'permissions', 'auth', 'memberships', 'app'); +CREATE TYPE metaschema_public.object_category AS ENUM ('core', 'module', 'capabilities', 'auth', 'memberships', 'app'); COMMIT; diff --git a/packages/metaschema-schema/sql/metaschema-schema--0.40.0.bundle.tar.gz b/packages/metaschema-schema/sql/metaschema-schema--0.40.0.bundle.tar.gz index 1ebc40591eb6579bc28fcf7aa423be9d4ec4d9c8..dfdaa4ce1484bfd7f4022296e5fc508522937760 100644 GIT binary patch delta 20318 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 YKVSZQ`Saz^uj9}E5AmYLO90#p07Z0isQ>@~ delta 61675 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

    pfT^`&#G~X6xKgUru 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 z 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 diff --git a/packages/metaschema-modules/sql/metaschema-modules--0.40.0.sql b/packages/metaschema-modules/sql/metaschema-modules--0.40.0.sql index 7093ba3c..9ddc694e 100644 --- a/packages/metaschema-modules/sql/metaschema-modules--0.40.0.sql +++ b/packages/metaschema-modules/sql/metaschema-modules--0.40.0.sql @@ -5383,7 +5383,7 @@ CREATE INDEX data_capabilities_field_database_id_idx ON metaschema_modules_publi CREATE INDEX data_capabilities_field_table_id_idx ON metaschema_modules_public.data_capabilities_field (table_id); -CREATE INDEX data_capabilities_field_permissions_module_id_idx ON metaschema_modules_public.data_capabilities_field (capabilities_module_id); +CREATE INDEX data_capabilities_field_capabilities_module_id_idx ON metaschema_modules_public.data_capabilities_field (capabilities_module_id); CREATE INDEX data_capabilities_field_mapping_table_id_idx ON metaschema_modules_public.data_capabilities_field (mapping_table_id);

    AJ*9_CWu}oH|2XlV)S2<5<_!# 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 F0syAb;IjY# delta 20290 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 L=L=Ll)Kvcgi5DT! literal 18466 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 diff --git a/packages/object-store/sql/object-store--0.40.0.sql b/packages/object-store/sql/object-store--0.40.0.sql index 7dae5626..550eeb0c 100644 --- a/packages/object-store/sql/object-store--0.40.0.sql +++ b/packages/object-store/sql/object-store--0.40.0.sql @@ -991,4 +991,4 @@ BEGIN root_id := pd_id[1]; RETURN root_id; END; -$EOFCODE$ LANGUAGE plpgsql VOLATILE; \ No newline at end of file +$EOFCODE$ LANGUAGE plpgsql VOLATILE SET jit TO off SET work_mem TO '64MB' SET plan_cache_mode TO force_custom_plan; \ No newline at end of file diff --git a/packages/object-tree/__tests__/objects/set-many-and-commit.test.ts b/packages/object-tree/__tests__/objects/set-many-and-commit.test.ts index 9d175298..cf2a7d0d 100644 --- a/packages/object-tree/__tests__/objects/set-many-and-commit.test.ts +++ b/packages/object-tree/__tests__/objects/set-many-and-commit.test.ts @@ -79,6 +79,45 @@ const setManyAndCommit = async (scope_id: string, store_id: string, entries: Ent return row.tree_id as string; }; +const setPropsAndCommit = async ( + scope_id: string, + store_id: string, + path: string[], + data: unknown +) => { + const [row] = await pg.any( + `SELECT (object_tree_public.set_props_and_commit( + s_id := $1::uuid, + store_id := $2::uuid, + refname := 'main', + path := $3::text[], + data := $4::jsonb + )).tree_id AS tree_id`, + [scope_id, store_id, path, JSON.stringify(data)] + ); + return row.tree_id as string; +}; + +const storeHash = async (scope_id: string, store_id: string) => { + const [row] = await pg.any( + `SELECT s.hash FROM object_tree_public.store s + WHERE s.scope_id = $1::uuid AND s.id = $2::uuid`, + [scope_id, store_id] + ); + return row.hash as string; +}; + +const treeId = async (scope_id: string, store_id: string) => { + const [row] = await pg.any( + `SELECT c.tree_id + FROM object_tree_public.ref r + JOIN object_tree_public.commit c ON c.id = r.commit_id AND c.scope_id = r.scope_id + WHERE r.scope_id = $1::uuid AND r.store_id = $2::uuid AND r.name = 'main'`, + [scope_id, store_id] + ); + return row.tree_id as string; +}; + const countCommits = async (scope_id: string, store_id: string) => { const [row] = await pg.any( `SELECT count(*)::int AS n FROM object_tree_public.commit @@ -143,6 +182,28 @@ describe('set_many_and_commit', () => { expect(await countCommits(batched_scope, store_id)).toEqual(3); }); + it('the store carries the head tree from initialization onward', async () => { + const store_id = '55555555-5555-4555-8555-555555555555'; + // The other cases never need the store row itself: init_empty_repo writes the + // ref and the commit, and the store is the caller's to create. + await pg.any( + `INSERT INTO object_tree_public.store (id, scope_id, name) VALUES ($1::uuid, $2::uuid, 'head')`, + [store_id, batched_scope] + ); + await initRepo(batched_scope, store_id); + expect(await storeHash(batched_scope, store_id)).toEqual( + await treeId(batched_scope, store_id) + ); + + const tree_id = await setManyAndCommit(batched_scope, store_id, entries); + expect(await storeHash(batched_scope, store_id)).toEqual(tree_id); + + const after_props = await setPropsAndCommit(batched_scope, store_id, ['package.json'], { + name: 'renamed' + }); + expect(await storeHash(batched_scope, store_id)).toEqual(after_props); + }); + it('nothing to write leaves the ref alone', async () => { const store_id = '44444444-4444-4444-8444-444444444444'; await initRepo(batched_scope, store_id); diff --git a/packages/object-tree/deploy/schemas/object_tree_public/procedures/init_empty_repo.sql b/packages/object-tree/deploy/schemas/object_tree_public/procedures/init_empty_repo.sql index 2cb029a2..3696d160 100644 --- a/packages/object-tree/deploy/schemas/object_tree_public/procedures/init_empty_repo.sql +++ b/packages/object-tree/deploy/schemas/object_tree_public/procedures/init_empty_repo.sql @@ -3,6 +3,7 @@ -- requires: schemas/object_tree_public/schema -- requires: schemas/object_tree_public/tables/commit/table -- requires: schemas/object_tree_public/tables/ref/table +-- requires: schemas/object_tree_public/tables/store/table BEGIN; @@ -36,6 +37,11 @@ BEGIN UPDATE object_tree_public.ref SET commit_id = vcommit_id WHERE id = vref_id; + -- the store's head tree, kept current from here on by the commit functions + UPDATE object_tree_public.store s SET hash = vtree_id + WHERE s.id = init_empty_repo.store_id + AND s.scope_id = s_id; + END; $$ LANGUAGE 'plpgsql' VOLATILE; diff --git a/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_and_commit.sql b/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_and_commit.sql index 9107b73d..ae39169d 100644 --- a/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_and_commit.sql +++ b/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_and_commit.sql @@ -3,6 +3,7 @@ -- requires: schemas/object_tree_public/schema -- requires: schemas/object_tree_public/tables/commit/table -- requires: schemas/object_tree_public/tables/ref/table +-- requires: schemas/object_tree_public/tables/store/table BEGIN; @@ -49,6 +50,9 @@ LANGUAGE 'plpgsql' VOLATILE; -- commits. Not expressible through set_many_and_commit: the batched primitive -- takes a node's children as given (an absent kids/ktree means "no children"), -- whereas this reads the existing node to carry them over. +-- +-- Takes the ref FOR UPDATE for the same reason set_many_and_commit does: read +-- ref, compute, repoint is a lost update between concurrent writers to one ref. CREATE FUNCTION object_tree_public.set_props_and_commit( s_id uuid, store_id uuid, @@ -58,19 +62,19 @@ CREATE FUNCTION object_tree_public.set_props_and_commit( message text DEFAULT NULL ) returns object_tree_public.commit as $$ DECLARE - hash uuid; + tree uuid; ref object_tree_public.ref; com object_tree_public.commit; BEGIN -SELECT * FROM +SELECT * INTO ref FROM object_tree_public.ref r WHERE r.scope_id = s_id AND r.store_id = set_props_and_commit.store_id AND r.name = refname -INTO ref; +FOR UPDATE; IF (NOT FOUND) THEN RAISE EXCEPTION 'REF_NOT_FOUND'; @@ -90,7 +94,7 @@ END IF; SELECT * FROM object_store_public.set_data_at_path (s_id, com.tree_id, path, data) -INTO hash; +INTO tree; INSERT INTO object_tree_public.commit ( scope_id, @@ -98,13 +102,18 @@ INSERT INTO object_tree_public.commit ( message, parent_ids, tree_id -) VALUES (s_id, set_props_and_commit.store_id, set_props_and_commit.message, ARRAY[com.id]::uuid[], hash) +) VALUES (s_id, set_props_and_commit.store_id, set_props_and_commit.message, ARRAY[com.id]::uuid[], tree) RETURNING * INTO com; UPDATE object_tree_public.ref r SET commit_id = com.id WHERE r.id = ref.id; +UPDATE object_tree_public.store s + SET hash = tree +WHERE s.id = set_props_and_commit.store_id + AND s.scope_id = s_id; + RETURN com; END; $$ diff --git a/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_many_and_commit.sql b/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_many_and_commit.sql index 8301dc49..c918a3dc 100644 --- a/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_many_and_commit.sql +++ b/packages/object-tree/deploy/schemas/object_tree_public/procedures/set_many_and_commit.sql @@ -3,6 +3,7 @@ -- requires: schemas/object_tree_public/schema -- requires: schemas/object_tree_public/tables/commit/table -- requires: schemas/object_tree_public/tables/ref/table +-- requires: schemas/object_tree_public/tables/store/table BEGIN; @@ -18,11 +19,19 @@ BEGIN; -- the tree reads .tree_id, and a caller stamping provenance (every generated -- merkle writer does) gets .id without re-reading the ref. This is the same -- shape the generated stores' {prefix}set_many_and_commit returns. +-- +-- The ref row is taken FOR UPDATE, so concurrent writers to one ref queue here +-- rather than each reading the same parent commit and racing to repoint the ref, +-- which loses whichever write landed first. Two writers of identical content +-- collide on object_store_public.object's primary key instead, since node ids +-- are content hashes; different content is exactly the case that does not +-- collide, so nothing but this lock serializes it. The lock is per ref, so +-- unrelated stores and unrelated branches never wait on each other. CREATE FUNCTION object_tree_public.set_many_and_commit (s_id uuid, store_id uuid, refname text, entries jsonb, message text DEFAULT NULL) RETURNS object_tree_public.commit AS $$ DECLARE - hash uuid; + tree uuid; paths jsonb; datas jsonb[]; kids_list jsonb; @@ -31,13 +40,14 @@ DECLARE com object_tree_public.commit; BEGIN SELECT - * + * INTO ref FROM object_tree_public.ref AS r WHERE r.scope_id = s_id AND r.store_id = set_many_and_commit.store_id - AND r.name = refname INTO ref; + AND r.name = refname + FOR UPDATE; IF (NOT FOUND) THEN RAISE EXCEPTION 'REF_NOT_FOUND'; END IF; @@ -67,9 +77,9 @@ BEGIN SELECT * FROM - object_store_public.insert_nodes_at_paths (s_id := s_id, root := com.tree_id, paths := paths, datas := datas, kids_list := kids_list, ktree_list := ktree_list) INTO hash; + object_store_public.insert_nodes_at_paths (s_id := s_id, root := com.tree_id, paths := paths, datas := datas, kids_list := kids_list, ktree_list := ktree_list) INTO tree; INSERT INTO object_tree_public.commit (scope_id, store_id, message, parent_ids, tree_id) - VALUES (s_id, set_many_and_commit.store_id, set_many_and_commit.message, ARRAY[com.id]::uuid[], hash) + VALUES (s_id, set_many_and_commit.store_id, set_many_and_commit.message, ARRAY[com.id]::uuid[], tree) RETURNING * INTO com; UPDATE @@ -78,6 +88,15 @@ BEGIN commit_id = com.id WHERE r.id = ref.id; + -- store.hash is documented as the store's current head tree, and the + -- generated merkle stores keep theirs current; keep this one current too. + UPDATE + object_tree_public.store AS s + SET + hash = tree + WHERE + s.id = set_many_and_commit.store_id + AND s.scope_id = s_id; RETURN com; END; $$ diff --git a/packages/object-tree/sql/object-tree--0.40.0.bundle.tar.gz b/packages/object-tree/sql/object-tree--0.40.0.bundle.tar.gz index d02f2ef428b29dd3378588ed298b5ffecffe4bda..583461ac3d0a7d72444de85b7627d3444557ad7b 100644 GIT binary patch delta 7769 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 Date: Mon, 10 Aug 2026 01:27:17 +0000 Subject: [PATCH 2/2] fix: port app-scope's renamed membership columns and drop a stale index name app-scope's membership test still inserted permissions_table_id / default_permissions_table_id into memberships_module, which the ported metaschema-modules renamed; constructive-db's copy of that test was already updated. Also renames data_capabilities_field's index, which still carried permissions_module in its name. --- .../app-scope/__tests__/membership.test.ts | 2 +- .../tables/data_capabilities_field/table.sql | 2 +- .../metaschema-modules--0.40.0.bundle.tar.gz | Bin 87604 -> 87600 bytes .../sql/metaschema-modules--0.40.0.sql | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/app-scope/__tests__/membership.test.ts b/packages/app-scope/__tests__/membership.test.ts index 1e6f494a..54111980 100644 --- a/packages/app-scope/__tests__/membership.test.ts +++ b/packages/app-scope/__tests__/membership.test.ts @@ -111,7 +111,7 @@ describe('app_scope scope frames (membership climb + platform fall-through)', () database_id, scope, schema_id, private_schema_id, memberships_table_id, membership_defaults_table_id, members_table_id, grants_table_id, sprt_table_id, actor_table_id, limits_table_id, - default_limits_table_id, permissions_table_id, default_permissions_table_id, + default_limits_table_id, capabilities_table_id, default_capabilities_table_id, entity_table_id, entity_table_owner_id ) VALUES ( $1, $2, $3, $3, diff --git a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql index 0229b11d..fb4f3427 100644 --- a/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql +++ b/packages/metaschema-modules/deploy/schemas/metaschema_modules_public/tables/data_capabilities_field/table.sql @@ -83,7 +83,7 @@ CREATE INDEX data_capabilities_field_database_id_idx ON metaschema_modules_publi CREATE INDEX data_capabilities_field_table_id_idx ON metaschema_modules_public.data_capabilities_field ( table_id ); -- The bitlen migration asks "every row mask written in this module's vocabulary". -CREATE INDEX data_capabilities_field_permissions_module_id_idx ON metaschema_modules_public.data_capabilities_field ( capabilities_module_id ); +CREATE INDEX data_capabilities_field_capabilities_module_id_idx ON metaschema_modules_public.data_capabilities_field ( capabilities_module_id ); -- Restamping asks "which protected tables copied this mapping table's mask". CREATE INDEX data_capabilities_field_mapping_table_id_idx ON metaschema_modules_public.data_capabilities_field ( mapping_table_id ); diff --git a/packages/metaschema-modules/sql/metaschema-modules--0.40.0.bundle.tar.gz b/packages/metaschema-modules/sql/metaschema-modules--0.40.0.bundle.tar.gz index 2918a97c8813704a58e135ee33e1365bdb8ca65e..c51d17643d986c4a2926af76b9c447cd720ecf2a 100644 GIT binary patch delta 61671 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