@creatornader/agent-bridge 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -1
- package/README.md +73 -7
- package/ROADMAP.md +29 -0
- package/SECURITY.md +23 -0
- package/SKILL.md +5 -1
- package/dist/archive.d.ts +2 -2
- package/dist/{bridge-service-YTjGr91A.d.ts → bridge-service-CNBKdYXh.d.ts} +2 -1
- package/dist/{bridge-store-Boaj-ZbO.d.ts → bridge-store-ByJ6CaJk.d.ts} +1 -0
- package/dist/bridge.d.ts +15 -8
- package/dist/bridge.js +10 -8
- package/dist/{chunk-PDIHDBP3.js → chunk-7VJI2MXI.js} +116 -26
- package/dist/chunk-7VJI2MXI.js.map +1 -0
- package/dist/{chunk-4VB44KJU.js → chunk-AWE3DFZV.js} +3 -2
- package/dist/chunk-AWE3DFZV.js.map +1 -0
- package/dist/{chunk-IHZFI7TH.js → chunk-E4OWHGUE.js} +5 -2
- package/dist/chunk-E4OWHGUE.js.map +1 -0
- package/dist/{chunk-SYGONYMM.js → chunk-HUHG7XTB.js} +6 -5
- package/dist/chunk-HUHG7XTB.js.map +1 -0
- package/dist/{chunk-DQOZJJZ2.js → chunk-IVG4XWWS.js} +5 -5
- package/dist/{chunk-DQOZJJZ2.js.map → chunk-IVG4XWWS.js.map} +1 -1
- package/dist/{chunk-3YHVUPU2.js → chunk-P635FAN4.js} +4 -4
- package/dist/chunk-P635FAN4.js.map +1 -0
- package/dist/{chunk-6BTJE6D4.js → chunk-QNXHDOJ5.js} +56 -23
- package/dist/chunk-QNXHDOJ5.js.map +1 -0
- package/dist/{chunk-MCKKVNCE.js → chunk-QPC6JHA3.js} +5 -5
- package/dist/{chunk-SV3SVBYS.js → chunk-SN7PIVDF.js} +2 -2
- package/dist/{chunk-2DFNOLMO.js → chunk-XDNT6ZNZ.js} +9 -6
- package/dist/chunk-XDNT6ZNZ.js.map +1 -0
- package/dist/{chunk-LAHNQZDN.js → chunk-Z6JP6MYD.js} +2 -2
- package/dist/cli.js +9 -9
- package/dist/cli.js.map +1 -1
- package/dist/client-runtime.d.ts +3 -3
- package/dist/client-runtime.js +6 -6
- package/dist/contracts/generate.js +1 -1
- package/dist/dr.js +3 -3
- package/dist/{gateway-BQHpV-MZ.d.ts → gateway-CW-61lvs.d.ts} +2 -2
- package/dist/gateway-main.js +5 -5
- package/dist/gateway.d.ts +3 -3
- package/dist/gateway.js +3 -3
- package/dist/index.js +7 -7
- package/dist/{postgres-bridge-store-WASumj26.d.ts → postgres-bridge-store-C9KG9Z69.d.ts} +1 -1
- package/dist/postgres-production-preflight.d.ts +32 -0
- package/dist/postgres-production-preflight.js +249 -0
- package/dist/postgres-production-preflight.js.map +1 -0
- package/dist/server.js +7 -7
- package/dist/{sqlite-edge-store-Bc15DvpX.d.ts → sqlite-edge-store-CdMIOrho.d.ts} +1 -1
- package/dist/sqlite.d.ts +3 -3
- package/dist/sqlite.js +2 -2
- package/docs/architecture-v2.md +36 -5
- package/docs/deployment.md +144 -0
- package/llms.txt +2 -1
- package/openapi/agent-bridge-v2.openapi.json +5 -1
- package/package.json +5 -1
- package/schemas/agent-bridge-v2.capabilities.json +2 -1
- package/schemas/agent-bridge-v2.mcp.json +5 -1
- package/schemas/agent-bridge-v2.schema.json +4 -0
- package/sql/migrations/007_runtime_role.sql +8 -4
- package/sql/migrations/013_row_isolation.sql +71 -8
- package/sql/migrations/014_owner_control_plane.sql +124 -31
- package/sql/migrations/015_portable_archives.sql +143 -41
- package/sql/migrations/016_native_dr_fence.sql +102 -35
- package/sql/migrations/018_endpoint_migration_challenges.sql +36 -10
- package/sql/migrations/019_endpoint_migration_same_successor.sql +34 -10
- package/sql/migrations/020_managed_authority_compat.sql +698 -0
- package/sql/migrations/021_native_backup_reader.sql +421 -0
- package/sql/setup.sql +1 -3
- package/dist/chunk-2DFNOLMO.js.map +0 -1
- package/dist/chunk-3YHVUPU2.js.map +0 -1
- package/dist/chunk-4VB44KJU.js.map +0 -1
- package/dist/chunk-6BTJE6D4.js.map +0 -1
- package/dist/chunk-IHZFI7TH.js.map +0 -1
- package/dist/chunk-PDIHDBP3.js.map +0 -1
- package/dist/chunk-SYGONYMM.js.map +0 -1
- /package/dist/{chunk-MCKKVNCE.js.map → chunk-QPC6JHA3.js.map} +0 -0
- /package/dist/{chunk-SV3SVBYS.js.map → chunk-SN7PIVDF.js.map} +0 -0
- /package/dist/{chunk-LAHNQZDN.js.map → chunk-Z6JP6MYD.js.map} +0 -0
|
@@ -251,19 +251,37 @@ returns boolean language sql stable security definer set search_path = '' as $$
|
|
|
251
251
|
), active_registry as (
|
|
252
252
|
select member_role,control_role from latest_registry where action='register'
|
|
253
253
|
), expected_memberships as (
|
|
254
|
-
select names.owner_role granted_role,names.schema_owner member_role,
|
|
255
|
-
|
|
256
|
-
union all select names.
|
|
254
|
+
select names.owner_role granted_role,names.schema_owner member_role,
|
|
255
|
+
true admin_option,true inherit_option,true set_option from names
|
|
256
|
+
union all select names.operator_role,names.schema_owner,true,true,true from names
|
|
257
|
+
union all select names.auditor_role,names.schema_owner,true,true,true from names
|
|
257
258
|
union all select case registry.control_role when 'operator' then names.operator_role else names.auditor_role end,
|
|
258
|
-
registry.member_role,false from active_registry registry cross join names
|
|
259
|
-
),
|
|
260
|
-
select granted.rolname::name granted_role,member.rolname::name member_role,
|
|
259
|
+
registry.member_role,false,true,true from active_registry registry cross join names
|
|
260
|
+
), raw_memberships as (
|
|
261
|
+
select granted.rolname::name granted_role,member.rolname::name member_role,
|
|
262
|
+
membership.admin_option,
|
|
261
263
|
coalesce((to_jsonb(membership)->>'inherit_option')::boolean,true) inherit_option,
|
|
262
|
-
coalesce((to_jsonb(membership)->>'set_option')::boolean,true) set_option
|
|
264
|
+
coalesce((to_jsonb(membership)->>'set_option')::boolean,true) set_option,
|
|
265
|
+
membership.grantor,member.oid member_oid
|
|
263
266
|
from pg_catalog.pg_auth_members membership
|
|
264
267
|
join pg_catalog.pg_roles granted on granted.oid=membership.roleid
|
|
265
268
|
join pg_catalog.pg_roles member on member.oid=membership.member
|
|
266
269
|
where granted.rolname in ((select owner_role from names),(select operator_role from names),(select auditor_role from names))
|
|
270
|
+
), actual_memberships as (
|
|
271
|
+
select membership.granted_role,membership.member_role,
|
|
272
|
+
bool_or(membership.admin_option) admin_option,
|
|
273
|
+
bool_or(membership.inherit_option) inherit_option,
|
|
274
|
+
bool_or(membership.set_option) set_option,
|
|
275
|
+
bool_and(case when membership.member_role=names.schema_owner then
|
|
276
|
+
(membership.grantor=10 and membership.admin_option
|
|
277
|
+
and membership.inherit_option=membership.set_option)
|
|
278
|
+
or (membership.grantor=membership.member_oid
|
|
279
|
+
and membership.inherit_option and membership.set_option)
|
|
280
|
+
else membership.grantor=(select oid from pg_catalog.pg_roles where rolname=names.schema_owner)
|
|
281
|
+
and not membership.admin_option
|
|
282
|
+
and membership.inherit_option and membership.set_option end) grants_valid
|
|
283
|
+
from raw_memberships membership cross join names
|
|
284
|
+
group by membership.granted_role,membership.member_role
|
|
267
285
|
), authority_closure as (
|
|
268
286
|
select control_role.granted_role,candidate.rolname::name member_role
|
|
269
287
|
from names cross join lateral(values(names.owner_role),(names.operator_role),(names.auditor_role)) control_role(granted_role)
|
|
@@ -276,10 +294,12 @@ returns boolean language sql stable security definer set search_path = '' as $$
|
|
|
276
294
|
and(select count(*)=1 and bool_and(catalog_definition=agent_bridge.owner_control_attestation_definition())
|
|
277
295
|
from agent_bridge.owner_control_attestations where name='owner-control-v6')
|
|
278
296
|
and not exists(
|
|
279
|
-
(select granted_role,member_role,admin_option
|
|
280
|
-
|
|
297
|
+
(select granted_role,member_role,admin_option,inherit_option,set_option from actual_memberships
|
|
298
|
+
except select granted_role,member_role,admin_option,inherit_option,set_option from expected_memberships)
|
|
299
|
+
union all(select granted_role,member_role,admin_option,inherit_option,set_option from expected_memberships
|
|
300
|
+
except select granted_role,member_role,admin_option,inherit_option,set_option from actual_memberships)
|
|
281
301
|
)
|
|
282
|
-
and not exists(select 1 from actual_memberships where not
|
|
302
|
+
and not exists(select 1 from actual_memberships where not grants_valid)
|
|
283
303
|
and not exists(select 1 from active_registry registry left join pg_catalog.pg_roles role_record on role_record.rolname=registry.member_role
|
|
284
304
|
where role_record.oid is null or not role_record.rolcanlogin or role_record.rolsuper or role_record.rolcreaterole
|
|
285
305
|
or role_record.rolcreatedb or role_record.rolreplication or role_record.rolbypassrls)
|
|
@@ -299,8 +319,12 @@ $$;
|
|
|
299
319
|
|
|
300
320
|
insert into agent_bridge.endpoint_migration_challenge_attestations(name,catalog_definition)
|
|
301
321
|
values('endpoint-migration-v2',agent_bridge.endpoint_migration_challenge_catalog_definition());
|
|
322
|
+
select set_config(
|
|
323
|
+
'role','agent_bridge_control_owner_'||substr(md5(current_database()),1,16),false
|
|
324
|
+
);
|
|
302
325
|
insert into agent_bridge.owner_control_attestations(name,catalog_definition)
|
|
303
326
|
values('owner-control-v6',agent_bridge.owner_control_attestation_definition());
|
|
327
|
+
reset role;
|
|
304
328
|
|
|
305
329
|
do $final_readiness$
|
|
306
330
|
begin
|