@slaw-ai/db 2026.611.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/LICENSE +26 -0
- package/dist/backup-lib.d.ts +42 -0
- package/dist/backup-lib.d.ts.map +1 -0
- package/dist/backup-lib.js +862 -0
- package/dist/backup-lib.js.map +1 -0
- package/dist/backup-lib.test.d.ts +2 -0
- package/dist/backup-lib.test.d.ts.map +1 -0
- package/dist/backup-lib.test.js +376 -0
- package/dist/backup-lib.test.js.map +1 -0
- package/dist/backup.d.ts +2 -0
- package/dist/backup.d.ts.map +1 -0
- package/dist/backup.js +77 -0
- package/dist/backup.js.map +1 -0
- package/dist/check-migration-numbering.d.ts +2 -0
- package/dist/check-migration-numbering.d.ts.map +1 -0
- package/dist/check-migration-numbering.js +64 -0
- package/dist/check-migration-numbering.js.map +1 -0
- package/dist/client.d.ts +43 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +586 -0
- package/dist/client.js.map +1 -0
- package/dist/client.test.d.ts +2 -0
- package/dist/client.test.d.ts.map +1 -0
- package/dist/client.test.js +400 -0
- package/dist/client.test.js.map +1 -0
- package/dist/embedded-postgres-error.d.ts +9 -0
- package/dist/embedded-postgres-error.d.ts.map +1 -0
- package/dist/embedded-postgres-error.js +73 -0
- package/dist/embedded-postgres-error.js.map +1 -0
- package/dist/embedded-postgres-error.test.d.ts +2 -0
- package/dist/embedded-postgres-error.test.d.ts.map +1 -0
- package/dist/embedded-postgres-error.test.js +25 -0
- package/dist/embedded-postgres-error.test.js.map +1 -0
- package/dist/embedded-postgres-native.d.ts +3 -0
- package/dist/embedded-postgres-native.d.ts.map +1 -0
- package/dist/embedded-postgres-native.js +83 -0
- package/dist/embedded-postgres-native.js.map +1 -0
- package/dist/embedded-postgres-native.test.d.ts +2 -0
- package/dist/embedded-postgres-native.test.d.ts.map +1 -0
- package/dist/embedded-postgres-native.test.js +36 -0
- package/dist/embedded-postgres-native.test.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/migrate.d.ts +2 -0
- package/dist/migrate.d.ts.map +1 -0
- package/dist/migrate.js +25 -0
- package/dist/migrate.js.map +1 -0
- package/dist/migration-runtime.d.ts +7 -0
- package/dist/migration-runtime.d.ts.map +1 -0
- package/dist/migration-runtime.js +159 -0
- package/dist/migration-runtime.js.map +1 -0
- package/dist/migration-status.d.ts +2 -0
- package/dist/migration-status.d.ts.map +1 -0
- package/dist/migration-status.js +55 -0
- package/dist/migration-status.js.map +1 -0
- package/dist/migrations/0000_mature_masked_marvel.sql +208 -0
- package/dist/migrations/0001_fast_northstar.sql +87 -0
- package/dist/migrations/0002_big_zaladane.sql +1 -0
- package/dist/migrations/0003_shallow_quentin_quire.sql +5 -0
- package/dist/migrations/0004_issue_identifiers.sql +28 -0
- package/dist/migrations/0005_chief_luke_cage.sql +19 -0
- package/dist/migrations/0006_overjoyed_mister_sinister.sql +36 -0
- package/dist/migrations/0007_new_quentin_quire.sql +20 -0
- package/dist/migrations/0008_amused_zzzax.sql +1 -0
- package/dist/migrations/0009_fast_jackal.sql +36 -0
- package/dist/migrations/0010_stale_justin_hammer.sql +37 -0
- package/dist/migrations/0011_windy_corsair.sql +18 -0
- package/dist/migrations/0012_perpetual_ser_duncan.sql +2 -0
- package/dist/migrations/0013_dashing_wasp.sql +4 -0
- package/dist/migrations/0014_many_mikhail_rasputin.sql +135 -0
- package/dist/migrations/0015_project_color_archived.sql +2 -0
- package/dist/migrations/0016_agent_icon.sql +1 -0
- package/dist/migrations/0017_tiresome_gabe_jones.sql +51 -0
- package/dist/migrations/0018_flat_sleepwalker.sql +26 -0
- package/dist/migrations/0019_public_victor_mancha.sql +18 -0
- package/dist/migrations/0020_white_anita_blake.sql +1 -0
- package/dist/migrations/0021_chief_vindicator.sql +1 -0
- package/dist/migrations/0022_squad_brand_color.sql +1 -0
- package/dist/migrations/0023_fair_lethal_legion.sql +3 -0
- package/dist/migrations/0024_far_beast.sql +2 -0
- package/dist/migrations/0025_nasty_salo.sql +15 -0
- package/dist/migrations/0026_lying_pete_wisdom.sql +39 -0
- package/dist/migrations/0027_tranquil_tenebrous.sql +2 -0
- package/dist/migrations/0028_harsh_goliath.sql +54 -0
- package/dist/migrations/0029_plugin_tables.sql +177 -0
- package/dist/migrations/0030_rich_magneto.sql +12 -0
- package/dist/migrations/0031_zippy_magma.sql +51 -0
- package/dist/migrations/0032_pretty_doctor_octopus.sql +102 -0
- package/dist/migrations/0033_shiny_black_tarantula.sql +2 -0
- package/dist/migrations/0034_fat_dormammu.sql +2 -0
- package/dist/migrations/0035_marvelous_satana.sql +91 -0
- package/dist/migrations/0036_cheerful_nitro.sql +9 -0
- package/dist/migrations/0037_friendly_eddie_brock.sql +29 -0
- package/dist/migrations/0038_careless_iron_monger.sql +5 -0
- package/dist/migrations/0039_fat_magneto.sql +161 -0
- package/dist/migrations/0040_eager_shotgun.sql +5 -0
- package/dist/migrations/0041_curly_maria_hill.sql +1 -0
- package/dist/migrations/0042_spotty_the_renegades.sql +26 -0
- package/dist/migrations/0043_reflective_captain_universe.sql +6 -0
- package/dist/migrations/0044_illegal_toad.sql +56 -0
- package/dist/migrations/0045_workable_shockwave.sql +17 -0
- package/dist/migrations/0046_smooth_sentinels.sql +11 -0
- package/dist/migrations/0047_overjoyed_groot.sql +102 -0
- package/dist/migrations/0048_flashy_marrow.sql +1 -0
- package/dist/migrations/0049_flawless_abomination.sql +21 -0
- package/dist/migrations/0050_stiff_luckman.sql +1 -0
- package/dist/migrations/0051_young_korg.sql +5 -0
- package/dist/migrations/0052_mushy_trauma.sql +26 -0
- package/dist/migrations/0053_sharp_wild_child.sql +18 -0
- package/dist/migrations/0054_draft_routines.sql +2 -0
- package/dist/migrations/0055_kind_weapon_omega.sql +1 -0
- package/dist/migrations/0056_spooky_ultragirl.sql +22 -0
- package/dist/migrations/0057_tidy_join_requests.sql +57 -0
- package/dist/migrations/0058_wealthy_starbolt.sql +6 -0
- package/dist/migrations/0059_plugin_database_namespaces.sql +41 -0
- package/dist/migrations/0060_orange_annihilus.sql +50 -0
- package/dist/migrations/0061_lively_thor_girl.sql +3 -0
- package/dist/migrations/0062_routine_run_dispatch_fingerprint.sql +9 -0
- package/dist/migrations/0063_issue_thread_interactions.sql +65 -0
- package/dist/migrations/0064_issue_thread_interaction_idempotency.sql +4 -0
- package/dist/migrations/0065_environments.sql +50 -0
- package/dist/migrations/0066_issue_tree_holds.sql +107 -0
- package/dist/migrations/0067_agent_default_environment.sql +3 -0
- package/dist/migrations/0068_environment_local_driver_unique.sql +2 -0
- package/dist/migrations/0069_liveness_recovery_dedupe.sql +13 -0
- package/dist/migrations/0070_active_run_output_watchdog.sql +70 -0
- package/dist/migrations/0071_default_hire_approval_off.sql +1 -0
- package/dist/migrations/0072_large_sandman.sql +6 -0
- package/dist/migrations/0073_shiny_salo.sql +1 -0
- package/dist/migrations/0074_striped_genesis.sql +4 -0
- package/dist/migrations/0075_cultured_sebastian_shaw.sql +7 -0
- package/dist/migrations/0076_useful_elektra.sql +29 -0
- package/dist/migrations/0077_unusual_karnak.sql +140 -0
- package/dist/migrations/0078_white_darwin.sql +3 -0
- package/dist/migrations/0079_squad_search_document_indexes.sql +2 -0
- package/dist/migrations/0080_squad_search_fuzzystrmatch.sql +1 -0
- package/dist/migrations/0081_optimal_dormammu.sql +1 -0
- package/dist/migrations/0082_dry_vision.sql +124 -0
- package/dist/migrations/0083_squad_secret_provider_configs.sql +51 -0
- package/dist/migrations/0084_issue_recovery_actions.sql +64 -0
- package/dist/migrations/0085_tranquil_the_executioner.sql +8 -0
- package/dist/migrations/0086_routine_env_runtime_contract.sql +8 -0
- package/dist/migrations/0087_backfill_environment_manage_human_defaults.sql +29 -0
- package/dist/migrations/0088_backfill_principal_access_compatibility.sql +75 -0
- package/dist/migrations/0089_cloud_upstreams.sql +71 -0
- package/dist/migrations/0090_resource_memberships.sql +55 -0
- package/dist/migrations/0091_old_swarm.sql +189 -0
- package/dist/migrations/0092_mighty_puma.sql +28 -0
- package/dist/migrations/0093_giant_green_goblin.sql +6 -0
- package/dist/migrations/0094_botfather_sync_state.sql +7 -0
- package/dist/migrations/0095_instance_limits.sql +10 -0
- package/dist/migrations/0096_squad_skills_tower_managed.sql +4 -0
- package/dist/migrations/0097_board_to_operator.sql +52 -0
- package/dist/migrations/0098_roles_to_leads.sql +13 -0
- package/dist/migrations/meta/0000_snapshot.json +1743 -0
- package/dist/migrations/meta/0001_snapshot.json +2441 -0
- package/dist/migrations/meta/0002_snapshot.json +2454 -0
- package/dist/migrations/meta/0003_snapshot.json +2502 -0
- package/dist/migrations/meta/0005_snapshot.json +2719 -0
- package/dist/migrations/meta/0006_snapshot.json +3048 -0
- package/dist/migrations/meta/0007_snapshot.json +3258 -0
- package/dist/migrations/meta/0008_snapshot.json +3264 -0
- package/dist/migrations/meta/0009_snapshot.json +3587 -0
- package/dist/migrations/meta/0010_snapshot.json +3929 -0
- package/dist/migrations/meta/0011_snapshot.json +4068 -0
- package/dist/migrations/meta/0012_snapshot.json +4087 -0
- package/dist/migrations/meta/0013_snapshot.json +4118 -0
- package/dist/migrations/meta/0014_snapshot.json +5187 -0
- package/dist/migrations/meta/0017_snapshot.json +5215 -0
- package/dist/migrations/meta/0018_snapshot.json +5450 -0
- package/dist/migrations/meta/0019_snapshot.json +5603 -0
- package/dist/migrations/meta/0020_snapshot.json +5603 -0
- package/dist/migrations/meta/0021_snapshot.json +5609 -0
- package/dist/migrations/meta/0023_snapshot.json +5633 -0
- package/dist/migrations/meta/0024_snapshot.json +5693 -0
- package/dist/migrations/meta/0025_snapshot.json +5849 -0
- package/dist/migrations/meta/0027_snapshot.json +6205 -0
- package/dist/migrations/meta/0028_snapshot.json +6710 -0
- package/dist/migrations/meta/0029_snapshot.json +7899 -0
- package/dist/migrations/meta/0030_snapshot.json +8003 -0
- package/dist/migrations/meta/0031_snapshot.json +7242 -0
- package/dist/migrations/meta/0032_snapshot.json +7733 -0
- package/dist/migrations/meta/0033_snapshot.json +9038 -0
- package/dist/migrations/meta/0034_snapshot.json +9039 -0
- package/dist/migrations/meta/0035_snapshot.json +9959 -0
- package/dist/migrations/meta/0036_snapshot.json +10023 -0
- package/dist/migrations/meta/0037_snapshot.json +10263 -0
- package/dist/migrations/meta/0038_snapshot.json +11350 -0
- package/dist/migrations/meta/0039_snapshot.json +10308 -0
- package/dist/migrations/meta/0040_snapshot.json +10481 -0
- package/dist/migrations/meta/0041_snapshot.json +11393 -0
- package/dist/migrations/meta/0044_snapshot.json +11701 -0
- package/dist/migrations/meta/0045_snapshot.json +11857 -0
- package/dist/migrations/meta/0046_snapshot.json +11870 -0
- package/dist/migrations/meta/0047_snapshot.json +12539 -0
- package/dist/migrations/meta/0048_snapshot.json +12546 -0
- package/dist/migrations/meta/0049_snapshot.json +12766 -0
- package/dist/migrations/meta/0050_snapshot.json +12772 -0
- package/dist/migrations/meta/0051_snapshot.json +12836 -0
- package/dist/migrations/meta/0052_snapshot.json +13057 -0
- package/dist/migrations/meta/0053_snapshot.json +12979 -0
- package/dist/migrations/meta/0055_snapshot.json +13206 -0
- package/dist/migrations/meta/0056_snapshot.json +13388 -0
- package/dist/migrations/meta/0057_snapshot.json +13432 -0
- package/dist/migrations/meta/0058_snapshot.json +13490 -0
- package/dist/migrations/meta/0060_snapshot.json +14023 -0
- package/dist/migrations/meta/0061_snapshot.json +14042 -0
- package/dist/migrations/meta/0072_snapshot.json +15852 -0
- package/dist/migrations/meta/0073_snapshot.json +15859 -0
- package/dist/migrations/meta/0074_snapshot.json +15887 -0
- package/dist/migrations/meta/0075_snapshot.json +15945 -0
- package/dist/migrations/meta/0077_snapshot.json +16355 -0
- package/dist/migrations/meta/0078_snapshot.json +16373 -0
- package/dist/migrations/meta/0081_snapshot.json +16380 -0
- package/dist/migrations/meta/0090_snapshot.json +17974 -0
- package/dist/migrations/meta/0091_snapshot.json +18843 -0
- package/dist/migrations/meta/0092_snapshot.json +19543 -0
- package/dist/migrations/meta/0093_snapshot.json +19543 -0
- package/dist/migrations/meta/_journal.json +699 -0
- package/dist/runtime-config.d.ts +16 -0
- package/dist/runtime-config.d.ts.map +1 -0
- package/dist/runtime-config.js +168 -0
- package/dist/runtime-config.js.map +1 -0
- package/dist/runtime-config.test.d.ts +2 -0
- package/dist/runtime-config.test.d.ts.map +1 -0
- package/dist/runtime-config.test.js +111 -0
- package/dist/runtime-config.test.js.map +1 -0
- package/dist/schema/activity_log.d.ts +197 -0
- package/dist/schema/activity_log.d.ts.map +1 -0
- package/dist/schema/activity_log.js +22 -0
- package/dist/schema/activity_log.js.map +1 -0
- package/dist/schema/agent_api_keys.d.ts +144 -0
- package/dist/schema/agent_api_keys.d.ts.map +1 -0
- package/dist/schema/agent_api_keys.js +17 -0
- package/dist/schema/agent_api_keys.js.map +1 -0
- package/dist/schema/agent_config_revisions.d.ts +201 -0
- package/dist/schema/agent_config_revisions.d.ts.map +1 -0
- package/dist/schema/agent_config_revisions.js +20 -0
- package/dist/schema/agent_config_revisions.js.map +1 -0
- package/dist/schema/agent_memberships.d.ts +127 -0
- package/dist/schema/agent_memberships.d.ts.map +1 -0
- package/dist/schema/agent_memberships.js +17 -0
- package/dist/schema/agent_memberships.js.map +1 -0
- package/dist/schema/agent_runtime_state.d.ts +248 -0
- package/dist/schema/agent_runtime_state.d.ts.map +1 -0
- package/dist/schema/agent_runtime_state.js +23 -0
- package/dist/schema/agent_runtime_state.js.map +1 -0
- package/dist/schema/agent_task_sessions.d.ts +197 -0
- package/dist/schema/agent_task_sessions.d.ts.map +1 -0
- package/dist/schema/agent_task_sessions.js +22 -0
- package/dist/schema/agent_task_sessions.js.map +1 -0
- package/dist/schema/agent_wakeup_requests.d.ts +333 -0
- package/dist/schema/agent_wakeup_requests.d.ts.map +1 -0
- package/dist/schema/agent_wakeup_requests.js +29 -0
- package/dist/schema/agent_wakeup_requests.js.map +1 -0
- package/dist/schema/agents.d.ts +390 -0
- package/dist/schema/agents.d.ts.map +1 -0
- package/dist/schema/agents.js +32 -0
- package/dist/schema/agents.js.map +1 -0
- package/dist/schema/approval_comments.d.ts +144 -0
- package/dist/schema/approval_comments.d.ts.map +1 -0
- package/dist/schema/approval_comments.js +19 -0
- package/dist/schema/approval_comments.js.map +1 -0
- package/dist/schema/approvals.d.ts +214 -0
- package/dist/schema/approvals.d.ts.map +1 -0
- package/dist/schema/approvals.js +20 -0
- package/dist/schema/approvals.js.map +1 -0
- package/dist/schema/assets.d.ts +212 -0
- package/dist/schema/assets.d.ts.map +1 -0
- package/dist/schema/assets.js +22 -0
- package/dist/schema/assets.js.map +1 -0
- package/dist/schema/auth.d.ts +607 -0
- package/dist/schema/auth.d.ts.map +1 -0
- package/dist/schema/auth.js +44 -0
- package/dist/schema/auth.js.map +1 -0
- package/dist/schema/botfather_sync_state.d.ts +103 -0
- package/dist/schema/botfather_sync_state.d.ts.map +1 -0
- package/dist/schema/botfather_sync_state.js +22 -0
- package/dist/schema/botfather_sync_state.js.map +1 -0
- package/dist/schema/budget_incidents.d.ts +297 -0
- package/dist/schema/budget_incidents.d.ts.map +1 -0
- package/dist/schema/budget_incidents.js +29 -0
- package/dist/schema/budget_incidents.js.map +1 -0
- package/dist/schema/budget_policies.d.ts +263 -0
- package/dist/schema/budget_policies.d.ts.map +1 -0
- package/dist/schema/budget_policies.js +24 -0
- package/dist/schema/budget_policies.js.map +1 -0
- package/dist/schema/cli_auth_challenges.d.ts +263 -0
- package/dist/schema/cli_auth_challenges.d.ts.map +1 -0
- package/dist/schema/cli_auth_challenges.js +26 -0
- package/dist/schema/cli_auth_challenges.js.map +1 -0
- package/dist/schema/cloud_upstreams.d.ts +884 -0
- package/dist/schema/cloud_upstreams.d.ts.map +1 -0
- package/dist/schema/cloud_upstreams.js +63 -0
- package/dist/schema/cloud_upstreams.js.map +1 -0
- package/dist/schema/cost_events.d.ts +314 -0
- package/dist/schema/cost_events.d.ts.map +1 -0
- package/dist/schema/cost_events.js +34 -0
- package/dist/schema/cost_events.js.map +1 -0
- package/dist/schema/document_annotation_anchor_snapshots.d.ts +255 -0
- package/dist/schema/document_annotation_anchor_snapshots.d.ts.map +1 -0
- package/dist/schema/document_annotation_anchor_snapshots.js +25 -0
- package/dist/schema/document_annotation_anchor_snapshots.js.map +1 -0
- package/dist/schema/document_annotation_comments.d.ts +214 -0
- package/dist/schema/document_annotation_comments.d.ts.map +1 -0
- package/dist/schema/document_annotation_comments.js +27 -0
- package/dist/schema/document_annotation_comments.js.map +1 -0
- package/dist/schema/document_annotation_threads.d.ts +476 -0
- package/dist/schema/document_annotation_threads.d.ts.map +1 -0
- package/dist/schema/document_annotation_threads.js +44 -0
- package/dist/schema/document_annotation_threads.js.map +1 -0
- package/dist/schema/document_revisions.d.ts +212 -0
- package/dist/schema/document_revisions.d.ts.map +1 -0
- package/dist/schema/document_revisions.js +23 -0
- package/dist/schema/document_revisions.js.map +1 -0
- package/dist/schema/documents.d.ts +280 -0
- package/dist/schema/documents.d.ts.map +1 -0
- package/dist/schema/documents.js +27 -0
- package/dist/schema/documents.js.map +1 -0
- package/dist/schema/environment_leases.d.ts +333 -0
- package/dist/schema/environment_leases.d.ts.map +1 -0
- package/dist/schema/environment_leases.js +35 -0
- package/dist/schema/environment_leases.js.map +1 -0
- package/dist/schema/environments.d.ts +182 -0
- package/dist/schema/environments.d.ts.map +1 -0
- package/dist/schema/environments.js +22 -0
- package/dist/schema/environments.js.map +1 -0
- package/dist/schema/execution_workspaces.d.ts +418 -0
- package/dist/schema/execution_workspaces.d.ts.map +1 -0
- package/dist/schema/execution_workspaces.js +39 -0
- package/dist/schema/execution_workspaces.js.map +1 -0
- package/dist/schema/feedback_exports.d.ts +450 -0
- package/dist/schema/feedback_exports.d.ts.map +1 -0
- package/dist/schema/feedback_exports.js +41 -0
- package/dist/schema/feedback_exports.js.map +1 -0
- package/dist/schema/feedback_votes.d.ts +246 -0
- package/dist/schema/feedback_votes.d.ts.map +1 -0
- package/dist/schema/feedback_votes.js +25 -0
- package/dist/schema/feedback_votes.js.map +1 -0
- package/dist/schema/finance_events.d.ts +469 -0
- package/dist/schema/finance_events.d.ts.map +1 -0
- package/dist/schema/finance_events.js +45 -0
- package/dist/schema/finance_events.js.map +1 -0
- package/dist/schema/goals.d.ts +178 -0
- package/dist/schema/goals.d.ts.map +1 -0
- package/dist/schema/goals.js +18 -0
- package/dist/schema/goals.js.map +1 -0
- package/dist/schema/heartbeat_run_events.d.ts +214 -0
- package/dist/schema/heartbeat_run_events.d.ts.map +1 -0
- package/dist/schema/heartbeat_run_events.js +23 -0
- package/dist/schema/heartbeat_run_events.js.map +1 -0
- package/dist/schema/heartbeat_run_watchdog_decisions.d.ts +195 -0
- package/dist/schema/heartbeat_run_watchdog_decisions.d.ts.map +1 -0
- package/dist/schema/heartbeat_run_watchdog_decisions.js +22 -0
- package/dist/schema/heartbeat_run_watchdog_decisions.js.map +1 -0
- package/dist/schema/heartbeat_runs.d.ts +830 -0
- package/dist/schema/heartbeat_runs.d.ts.map +1 -0
- package/dist/schema/heartbeat_runs.js +62 -0
- package/dist/schema/heartbeat_runs.js.map +1 -0
- package/dist/schema/inbox_dismissals.d.ts +127 -0
- package/dist/schema/inbox_dismissals.d.ts.map +1 -0
- package/dist/schema/inbox_dismissals.js +16 -0
- package/dist/schema/inbox_dismissals.js.map +1 -0
- package/dist/schema/index.d.ts +88 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +88 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/instance_limits.d.ts +155 -0
- package/dist/schema/instance_limits.d.ts.map +1 -0
- package/dist/schema/instance_limits.js +26 -0
- package/dist/schema/instance_limits.js.map +1 -0
- package/dist/schema/instance_settings.d.ts +114 -0
- package/dist/schema/instance_settings.d.ts.map +1 -0
- package/dist/schema/instance_settings.js +12 -0
- package/dist/schema/instance_settings.js.map +1 -0
- package/dist/schema/instance_user_roles.d.ts +93 -0
- package/dist/schema/instance_user_roles.d.ts.map +1 -0
- package/dist/schema/instance_user_roles.js +12 -0
- package/dist/schema/instance_user_roles.js.map +1 -0
- package/dist/schema/invites.d.ts +214 -0
- package/dist/schema/invites.d.ts.map +1 -0
- package/dist/schema/invites.js +20 -0
- package/dist/schema/invites.js.map +1 -0
- package/dist/schema/issue_approvals.d.ts +110 -0
- package/dist/schema/issue_approvals.d.ts.map +1 -0
- package/dist/schema/issue_approvals.js +19 -0
- package/dist/schema/issue_approvals.js.map +1 -0
- package/dist/schema/issue_attachments.d.ts +127 -0
- package/dist/schema/issue_attachments.d.ts.map +1 -0
- package/dist/schema/issue_attachments.js +19 -0
- package/dist/schema/issue_attachments.js.map +1 -0
- package/dist/schema/issue_comments.d.ts +219 -0
- package/dist/schema/issue_comments.d.ts.map +1 -0
- package/dist/schema/issue_comments.js +26 -0
- package/dist/schema/issue_comments.js.map +1 -0
- package/dist/schema/issue_documents.d.ts +127 -0
- package/dist/schema/issue_documents.d.ts.map +1 -0
- package/dist/schema/issue_documents.js +18 -0
- package/dist/schema/issue_documents.js.map +1 -0
- package/dist/schema/issue_execution_decisions.d.ts +212 -0
- package/dist/schema/issue_execution_decisions.d.ts.map +1 -0
- package/dist/schema/issue_execution_decisions.js +23 -0
- package/dist/schema/issue_execution_decisions.js.map +1 -0
- package/dist/schema/issue_inbox_archives.d.ts +127 -0
- package/dist/schema/issue_inbox_archives.d.ts.map +1 -0
- package/dist/schema/issue_inbox_archives.js +17 -0
- package/dist/schema/issue_inbox_archives.js.map +1 -0
- package/dist/schema/issue_labels.d.ts +76 -0
- package/dist/schema/issue_labels.d.ts.map +1 -0
- package/dist/schema/issue_labels.js +16 -0
- package/dist/schema/issue_labels.js.map +1 -0
- package/dist/schema/issue_plan_decompositions.d.ts +284 -0
- package/dist/schema/issue_plan_decompositions.d.ts.map +1 -0
- package/dist/schema/issue_plan_decompositions.js +36 -0
- package/dist/schema/issue_plan_decompositions.js.map +1 -0
- package/dist/schema/issue_read_states.d.ts +127 -0
- package/dist/schema/issue_read_states.d.ts.map +1 -0
- package/dist/schema/issue_read_states.js +17 -0
- package/dist/schema/issue_read_states.js.map +1 -0
- package/dist/schema/issue_recovery_actions.d.ts +456 -0
- package/dist/schema/issue_recovery_actions.d.ts.map +1 -0
- package/dist/schema/issue_recovery_actions.js +44 -0
- package/dist/schema/issue_recovery_actions.js.map +1 -0
- package/dist/schema/issue_reference_mentions.d.ts +180 -0
- package/dist/schema/issue_reference_mentions.d.ts.map +1 -0
- package/dist/schema/issue_reference_mentions.js +23 -0
- package/dist/schema/issue_reference_mentions.js.map +1 -0
- package/dist/schema/issue_relations.d.ts +163 -0
- package/dist/schema/issue_relations.d.ts.map +1 -0
- package/dist/schema/issue_relations.js +21 -0
- package/dist/schema/issue_relations.js.map +1 -0
- package/dist/schema/issue_thread_interactions.d.ts +353 -0
- package/dist/schema/issue_thread_interactions.d.ts.map +1 -0
- package/dist/schema/issue_thread_interactions.js +38 -0
- package/dist/schema/issue_thread_interactions.js.map +1 -0
- package/dist/schema/issue_tree_hold_members.d.ts +280 -0
- package/dist/schema/issue_tree_hold_members.d.ts.map +1 -0
- package/dist/schema/issue_tree_hold_members.js +29 -0
- package/dist/schema/issue_tree_hold_members.js.map +1 -0
- package/dist/schema/issue_tree_holds.d.ts +352 -0
- package/dist/schema/issue_tree_holds.d.ts.map +1 -0
- package/dist/schema/issue_tree_holds.js +31 -0
- package/dist/schema/issue_tree_holds.js.map +1 -0
- package/dist/schema/issue_work_products.d.ts +350 -0
- package/dist/schema/issue_work_products.d.ts.map +1 -0
- package/dist/schema/issue_work_products.js +37 -0
- package/dist/schema/issue_work_products.js.map +1 -0
- package/dist/schema/issues.d.ts +781 -0
- package/dist/schema/issues.d.ts.map +1 -0
- package/dist/schema/issues.js +109 -0
- package/dist/schema/issues.js.map +1 -0
- package/dist/schema/join_requests.d.ts +384 -0
- package/dist/schema/join_requests.d.ts.map +1 -0
- package/dist/schema/join_requests.js +39 -0
- package/dist/schema/join_requests.js.map +1 -0
- package/dist/schema/labels.d.ts +110 -0
- package/dist/schema/labels.d.ts.map +1 -0
- package/dist/schema/labels.js +14 -0
- package/dist/schema/labels.js.map +1 -0
- package/dist/schema/operator_api_keys.d.ts +144 -0
- package/dist/schema/operator_api_keys.d.ts.map +1 -0
- package/dist/schema/operator_api_keys.js +16 -0
- package/dist/schema/operator_api_keys.js.map +1 -0
- package/dist/schema/plugin_config.d.ts +123 -0
- package/dist/schema/plugin_config.d.ts.map +1 -0
- package/dist/schema/plugin_config.js +26 -0
- package/dist/schema/plugin_config.js.map +1 -0
- package/dist/schema/plugin_database.d.ts +357 -0
- package/dist/schema/plugin_database.d.ts.map +1 -0
- package/dist/schema/plugin_database.js +51 -0
- package/dist/schema/plugin_database.js.map +1 -0
- package/dist/schema/plugin_entities.d.ts +213 -0
- package/dist/schema/plugin_entities.d.ts.map +1 -0
- package/dist/schema/plugin_entities.js +37 -0
- package/dist/schema/plugin_entities.js.map +1 -0
- package/dist/schema/plugin_jobs.d.ts +392 -0
- package/dist/schema/plugin_jobs.d.ts.map +1 -0
- package/dist/schema/plugin_jobs.js +83 -0
- package/dist/schema/plugin_jobs.js.map +1 -0
- package/dist/schema/plugin_logs.d.ts +125 -0
- package/dist/schema/plugin_logs.d.ts.map +1 -0
- package/dist/schema/plugin_logs.js +29 -0
- package/dist/schema/plugin_logs.js.map +1 -0
- package/dist/schema/plugin_managed_resources.d.ts +180 -0
- package/dist/schema/plugin_managed_resources.d.ts.map +1 -0
- package/dist/schema/plugin_managed_resources.js +25 -0
- package/dist/schema/plugin_managed_resources.js.map +1 -0
- package/dist/schema/plugin_squad_settings.d.ts +158 -0
- package/dist/schema/plugin_squad_settings.d.ts.map +1 -0
- package/dist/schema/plugin_squad_settings.js +34 -0
- package/dist/schema/plugin_squad_settings.js.map +1 -0
- package/dist/schema/plugin_state.d.ts +169 -0
- package/dist/schema/plugin_state.d.ts.map +1 -0
- package/dist/schema/plugin_state.js +68 -0
- package/dist/schema/plugin_state.js.map +1 -0
- package/dist/schema/plugin_webhooks.d.ts +239 -0
- package/dist/schema/plugin_webhooks.d.ts.map +1 -0
- package/dist/schema/plugin_webhooks.js +52 -0
- package/dist/schema/plugin_webhooks.js.map +1 -0
- package/dist/schema/plugins.d.ts +246 -0
- package/dist/schema/plugins.d.ts.map +1 -0
- package/dist/schema/plugins.js +31 -0
- package/dist/schema/plugins.js.map +1 -0
- package/dist/schema/principal_permission_grants.d.ts +163 -0
- package/dist/schema/principal_permission_grants.d.ts.map +1 -0
- package/dist/schema/principal_permission_grants.js +17 -0
- package/dist/schema/principal_permission_grants.js.map +1 -0
- package/dist/schema/project_goals.d.ts +93 -0
- package/dist/schema/project_goals.d.ts.map +1 -0
- package/dist/schema/project_goals.js +17 -0
- package/dist/schema/project_goals.js.map +1 -0
- package/dist/schema/project_memberships.d.ts +127 -0
- package/dist/schema/project_memberships.d.ts.map +1 -0
- package/dist/schema/project_memberships.js +17 -0
- package/dist/schema/project_memberships.js.map +1 -0
- package/dist/schema/project_workspaces.d.ts +333 -0
- package/dist/schema/project_workspaces.d.ts.map +1 -0
- package/dist/schema/project_workspaces.js +32 -0
- package/dist/schema/project_workspaces.js.map +1 -0
- package/dist/schema/projects.d.ts +285 -0
- package/dist/schema/projects.d.ts.map +1 -0
- package/dist/schema/projects.js +25 -0
- package/dist/schema/projects.js.map +1 -0
- package/dist/schema/routines.d.ts +1330 -0
- package/dist/schema/routines.d.ts.map +1 -0
- package/dist/schema/routines.js +113 -0
- package/dist/schema/routines.js.map +1 -0
- package/dist/schema/secret_access_events.d.ts +280 -0
- package/dist/schema/secret_access_events.d.ts.map +1 -0
- package/dist/schema/secret_access_events.js +30 -0
- package/dist/schema/secret_access_events.js.map +1 -0
- package/dist/schema/squad_logos.d.ts +93 -0
- package/dist/schema/squad_logos.d.ts.map +1 -0
- package/dist/schema/squad_logos.js +14 -0
- package/dist/schema/squad_logos.js.map +1 -0
- package/dist/schema/squad_memberships.d.ts +144 -0
- package/dist/schema/squad_memberships.d.ts.map +1 -0
- package/dist/schema/squad_memberships.js +17 -0
- package/dist/schema/squad_memberships.js.map +1 -0
- package/dist/schema/squad_secret_bindings.d.ts +195 -0
- package/dist/schema/squad_secret_bindings.d.ts.map +1 -0
- package/dist/schema/squad_secret_bindings.js +22 -0
- package/dist/schema/squad_secret_bindings.js.map +1 -0
- package/dist/schema/squad_secret_provider_configs.d.ts +284 -0
- package/dist/schema/squad_secret_provider_configs.d.ts.map +1 -0
- package/dist/schema/squad_secret_provider_configs.js +29 -0
- package/dist/schema/squad_secret_provider_configs.js.map +1 -0
- package/dist/schema/squad_secret_versions.d.ts +231 -0
- package/dist/schema/squad_secret_versions.d.ts.map +1 -0
- package/dist/schema/squad_secret_versions.js +24 -0
- package/dist/schema/squad_secret_versions.js.map +1 -0
- package/dist/schema/squad_secrets.d.ts +333 -0
- package/dist/schema/squad_secrets.d.ts.map +1 -0
- package/dist/schema/squad_secrets.js +32 -0
- package/dist/schema/squad_secrets.js.map +1 -0
- package/dist/schema/squad_skills.d.ts +335 -0
- package/dist/schema/squad_skills.d.ts.map +1 -0
- package/dist/schema/squad_skills.js +32 -0
- package/dist/schema/squad_skills.js.map +1 -0
- package/dist/schema/squad_user_sidebar_preferences.d.ts +112 -0
- package/dist/schema/squad_user_sidebar_preferences.d.ts.map +1 -0
- package/dist/schema/squad_user_sidebar_preferences.js +15 -0
- package/dist/schema/squad_user_sidebar_preferences.js.map +1 -0
- package/dist/schema/squads.d.ts +331 -0
- package/dist/schema/squads.d.ts.map +1 -0
- package/dist/schema/squads.js +31 -0
- package/dist/schema/squads.js.map +1 -0
- package/dist/schema/user_sidebar_preferences.d.ts +95 -0
- package/dist/schema/user_sidebar_preferences.d.ts.map +1 -0
- package/dist/schema/user_sidebar_preferences.js +11 -0
- package/dist/schema/user_sidebar_preferences.js.map +1 -0
- package/dist/schema/workspace_operations.d.ts +367 -0
- package/dist/schema/workspace_operations.d.ts.map +1 -0
- package/dist/schema/workspace_operations.js +35 -0
- package/dist/schema/workspace_operations.js.map +1 -0
- package/dist/schema/workspace_runtime_services.d.ts +469 -0
- package/dist/schema/workspace_runtime_services.d.ts.map +1 -0
- package/dist/schema/workspace_runtime_services.js +44 -0
- package/dist/schema/workspace_runtime_services.js.map +1 -0
- package/dist/seed.d.ts +2 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +91 -0
- package/dist/seed.js.map +1 -0
- package/dist/test-embedded-postgres.d.ts +11 -0
- package/dist/test-embedded-postgres.d.ts.map +1 -0
- package/dist/test-embedded-postgres.js +138 -0
- package/dist/test-embedded-postgres.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "issue_recovery_actions" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"squad_id" uuid NOT NULL,
|
|
4
|
+
"source_issue_id" uuid NOT NULL,
|
|
5
|
+
"recovery_issue_id" uuid,
|
|
6
|
+
"kind" text NOT NULL,
|
|
7
|
+
"status" text DEFAULT 'active' NOT NULL,
|
|
8
|
+
"owner_type" text DEFAULT 'agent' NOT NULL,
|
|
9
|
+
"owner_agent_id" uuid,
|
|
10
|
+
"owner_user_id" text,
|
|
11
|
+
"previous_owner_agent_id" uuid,
|
|
12
|
+
"return_owner_agent_id" uuid,
|
|
13
|
+
"cause" text NOT NULL,
|
|
14
|
+
"fingerprint" text NOT NULL,
|
|
15
|
+
"evidence" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
16
|
+
"next_action" text NOT NULL,
|
|
17
|
+
"wake_policy" jsonb,
|
|
18
|
+
"monitor_policy" jsonb,
|
|
19
|
+
"attempt_count" integer DEFAULT 0 NOT NULL,
|
|
20
|
+
"max_attempts" integer,
|
|
21
|
+
"timeout_at" timestamp with time zone,
|
|
22
|
+
"last_attempt_at" timestamp with time zone,
|
|
23
|
+
"outcome" text,
|
|
24
|
+
"resolution_note" text,
|
|
25
|
+
"resolved_at" timestamp with time zone,
|
|
26
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
27
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
28
|
+
);
|
|
29
|
+
--> statement-breakpoint
|
|
30
|
+
DO $$ BEGIN
|
|
31
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_recovery_actions_squad_id_squads_id_fk') THEN
|
|
32
|
+
ALTER TABLE "issue_recovery_actions" ADD CONSTRAINT "issue_recovery_actions_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
|
|
33
|
+
END IF;
|
|
34
|
+
END $$;--> statement-breakpoint
|
|
35
|
+
DO $$ BEGIN
|
|
36
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_recovery_actions_source_issue_id_issues_id_fk') THEN
|
|
37
|
+
ALTER TABLE "issue_recovery_actions" ADD CONSTRAINT "issue_recovery_actions_source_issue_id_issues_id_fk" FOREIGN KEY ("source_issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;
|
|
38
|
+
END IF;
|
|
39
|
+
END $$;--> statement-breakpoint
|
|
40
|
+
DO $$ BEGIN
|
|
41
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_recovery_actions_recovery_issue_id_issues_id_fk') THEN
|
|
42
|
+
ALTER TABLE "issue_recovery_actions" ADD CONSTRAINT "issue_recovery_actions_recovery_issue_id_issues_id_fk" FOREIGN KEY ("recovery_issue_id") REFERENCES "public"."issues"("id") ON DELETE set null ON UPDATE no action;
|
|
43
|
+
END IF;
|
|
44
|
+
END $$;--> statement-breakpoint
|
|
45
|
+
DO $$ BEGIN
|
|
46
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_recovery_actions_owner_agent_id_agents_id_fk') THEN
|
|
47
|
+
ALTER TABLE "issue_recovery_actions" ADD CONSTRAINT "issue_recovery_actions_owner_agent_id_agents_id_fk" FOREIGN KEY ("owner_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
|
|
48
|
+
END IF;
|
|
49
|
+
END $$;--> statement-breakpoint
|
|
50
|
+
DO $$ BEGIN
|
|
51
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_recovery_actions_previous_owner_agent_id_agents_id_fk') THEN
|
|
52
|
+
ALTER TABLE "issue_recovery_actions" ADD CONSTRAINT "issue_recovery_actions_previous_owner_agent_id_agents_id_fk" FOREIGN KEY ("previous_owner_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
|
|
53
|
+
END IF;
|
|
54
|
+
END $$;--> statement-breakpoint
|
|
55
|
+
DO $$ BEGIN
|
|
56
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_recovery_actions_return_owner_agent_id_agents_id_fk') THEN
|
|
57
|
+
ALTER TABLE "issue_recovery_actions" ADD CONSTRAINT "issue_recovery_actions_return_owner_agent_id_agents_id_fk" FOREIGN KEY ("return_owner_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
|
|
58
|
+
END IF;
|
|
59
|
+
END $$;--> statement-breakpoint
|
|
60
|
+
CREATE INDEX IF NOT EXISTS "issue_recovery_actions_squad_source_status_idx" ON "issue_recovery_actions" USING btree ("squad_id","source_issue_id","status");--> statement-breakpoint
|
|
61
|
+
CREATE INDEX IF NOT EXISTS "issue_recovery_actions_squad_owner_status_idx" ON "issue_recovery_actions" USING btree ("squad_id","owner_agent_id","status");--> statement-breakpoint
|
|
62
|
+
CREATE INDEX IF NOT EXISTS "issue_recovery_actions_squad_recovery_issue_idx" ON "issue_recovery_actions" USING btree ("squad_id","recovery_issue_id");--> statement-breakpoint
|
|
63
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "issue_recovery_actions_active_source_uq" ON "issue_recovery_actions" USING btree ("squad_id","source_issue_id") WHERE "issue_recovery_actions"."status" in ('active', 'escalated');--> statement-breakpoint
|
|
64
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "issue_recovery_actions_active_fingerprint_uq" ON "issue_recovery_actions" USING btree ("squad_id","source_issue_id","cause","fingerprint") WHERE "issue_recovery_actions"."status" in ('active', 'escalated');
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
ALTER TABLE "documents" ADD COLUMN IF NOT EXISTS "locked_at" timestamp with time zone;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "documents" ADD COLUMN IF NOT EXISTS "locked_by_agent_id" uuid;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "documents" ADD COLUMN IF NOT EXISTS "locked_by_user_id" text;--> statement-breakpoint
|
|
4
|
+
DO $$ BEGIN
|
|
5
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'documents_locked_by_agent_id_agents_id_fk') THEN
|
|
6
|
+
ALTER TABLE "documents" ADD CONSTRAINT "documents_locked_by_agent_id_agents_id_fk" FOREIGN KEY ("locked_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
|
|
7
|
+
END IF;
|
|
8
|
+
END $$;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
ALTER TABLE "routines" ADD COLUMN IF NOT EXISTS "env" jsonb;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "routine_runs" ADD COLUMN IF NOT EXISTS "routine_revision_id" uuid;--> statement-breakpoint
|
|
3
|
+
DO $$ BEGIN
|
|
4
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'routine_runs_routine_revision_id_routine_revisions_id_fk') THEN
|
|
5
|
+
ALTER TABLE "routine_runs" ADD CONSTRAINT "routine_runs_routine_revision_id_routine_revisions_id_fk" FOREIGN KEY ("routine_revision_id") REFERENCES "public"."routine_revisions"("id") ON DELETE set null ON UPDATE no action;
|
|
6
|
+
END IF;
|
|
7
|
+
END $$;--> statement-breakpoint
|
|
8
|
+
CREATE INDEX IF NOT EXISTS "routine_runs_revision_idx" ON "routine_runs" USING btree ("routine_revision_id");
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
INSERT INTO "principal_permission_grants" (
|
|
2
|
+
"squad_id",
|
|
3
|
+
"principal_type",
|
|
4
|
+
"principal_id",
|
|
5
|
+
"permission_key",
|
|
6
|
+
"scope",
|
|
7
|
+
"granted_by_user_id",
|
|
8
|
+
"created_at",
|
|
9
|
+
"updated_at"
|
|
10
|
+
)
|
|
11
|
+
SELECT
|
|
12
|
+
"squad_id",
|
|
13
|
+
'user',
|
|
14
|
+
"principal_id",
|
|
15
|
+
'environments:manage',
|
|
16
|
+
NULL,
|
|
17
|
+
NULL,
|
|
18
|
+
now(),
|
|
19
|
+
now()
|
|
20
|
+
FROM "squad_memberships"
|
|
21
|
+
WHERE "principal_type" = 'user'
|
|
22
|
+
AND "status" = 'active'
|
|
23
|
+
AND "membership_role" IN ('owner', 'admin')
|
|
24
|
+
ON CONFLICT (
|
|
25
|
+
"squad_id",
|
|
26
|
+
"principal_type",
|
|
27
|
+
"principal_id",
|
|
28
|
+
"permission_key"
|
|
29
|
+
) DO NOTHING;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
INSERT INTO "squad_memberships" (
|
|
2
|
+
"squad_id",
|
|
3
|
+
"principal_type",
|
|
4
|
+
"principal_id",
|
|
5
|
+
"status",
|
|
6
|
+
"membership_role",
|
|
7
|
+
"created_at",
|
|
8
|
+
"updated_at"
|
|
9
|
+
)
|
|
10
|
+
SELECT
|
|
11
|
+
"squad_id",
|
|
12
|
+
'agent',
|
|
13
|
+
"id",
|
|
14
|
+
'active',
|
|
15
|
+
'member',
|
|
16
|
+
now(),
|
|
17
|
+
now()
|
|
18
|
+
FROM "agents"
|
|
19
|
+
WHERE "status" NOT IN ('pending_approval', 'terminated')
|
|
20
|
+
ON CONFLICT (
|
|
21
|
+
"squad_id",
|
|
22
|
+
"principal_type",
|
|
23
|
+
"principal_id"
|
|
24
|
+
) DO NOTHING;
|
|
25
|
+
|
|
26
|
+
INSERT INTO "principal_permission_grants" (
|
|
27
|
+
"squad_id",
|
|
28
|
+
"principal_type",
|
|
29
|
+
"principal_id",
|
|
30
|
+
"permission_key",
|
|
31
|
+
"scope",
|
|
32
|
+
"granted_by_user_id",
|
|
33
|
+
"created_at",
|
|
34
|
+
"updated_at"
|
|
35
|
+
)
|
|
36
|
+
SELECT
|
|
37
|
+
memberships."squad_id",
|
|
38
|
+
'user',
|
|
39
|
+
memberships."principal_id",
|
|
40
|
+
role_defaults."permission_key",
|
|
41
|
+
NULL,
|
|
42
|
+
NULL,
|
|
43
|
+
now(),
|
|
44
|
+
now()
|
|
45
|
+
FROM "squad_memberships" memberships
|
|
46
|
+
JOIN (
|
|
47
|
+
VALUES
|
|
48
|
+
('owner', 'agents:create'),
|
|
49
|
+
('owner', 'environments:manage'),
|
|
50
|
+
('owner', 'users:invite'),
|
|
51
|
+
('owner', 'users:manage_permissions'),
|
|
52
|
+
('owner', 'tasks:assign'),
|
|
53
|
+
('owner', 'joins:approve'),
|
|
54
|
+
('admin', 'agents:create'),
|
|
55
|
+
('admin', 'environments:manage'),
|
|
56
|
+
('admin', 'users:invite'),
|
|
57
|
+
('admin', 'tasks:assign'),
|
|
58
|
+
('admin', 'joins:approve'),
|
|
59
|
+
('operator', 'tasks:assign')
|
|
60
|
+
) AS role_defaults("membership_role", "permission_key")
|
|
61
|
+
ON role_defaults."membership_role" = CASE
|
|
62
|
+
WHEN memberships."membership_role" = 'owner' THEN 'owner'
|
|
63
|
+
WHEN memberships."membership_role" = 'admin' THEN 'admin'
|
|
64
|
+
WHEN memberships."membership_role" = 'viewer' THEN 'viewer'
|
|
65
|
+
WHEN memberships."membership_role" = 'member' THEN 'operator'
|
|
66
|
+
ELSE 'operator'
|
|
67
|
+
END
|
|
68
|
+
WHERE memberships."principal_type" = 'user'
|
|
69
|
+
AND memberships."status" = 'active'
|
|
70
|
+
ON CONFLICT (
|
|
71
|
+
"squad_id",
|
|
72
|
+
"principal_type",
|
|
73
|
+
"principal_id",
|
|
74
|
+
"permission_key"
|
|
75
|
+
) DO NOTHING;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "cloud_upstream_connections" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"squad_id" uuid NOT NULL,
|
|
4
|
+
"remote_url" text NOT NULL,
|
|
5
|
+
"source_instance_id" text NOT NULL,
|
|
6
|
+
"source_instance_fingerprint" text NOT NULL,
|
|
7
|
+
"source_public_key" text NOT NULL,
|
|
8
|
+
"private_key_pem" text NOT NULL,
|
|
9
|
+
"token_status" text NOT NULL,
|
|
10
|
+
"scopes" text[] DEFAULT '{}' NOT NULL,
|
|
11
|
+
"authorized_global_user_id" text,
|
|
12
|
+
"access_token" text,
|
|
13
|
+
"token_id" text,
|
|
14
|
+
"token_expires_at" timestamp with time zone,
|
|
15
|
+
"target_stack_id" text NOT NULL,
|
|
16
|
+
"target_stack_slug" text,
|
|
17
|
+
"target_stack_display_name" text,
|
|
18
|
+
"target_squad_id" text NOT NULL,
|
|
19
|
+
"target_origin" text NOT NULL,
|
|
20
|
+
"target_primary_host" text NOT NULL,
|
|
21
|
+
"target_product" text NOT NULL,
|
|
22
|
+
"target_schema_major" integer NOT NULL,
|
|
23
|
+
"target_max_chunk_bytes" integer NOT NULL,
|
|
24
|
+
"pending_state" text,
|
|
25
|
+
"pending_code_verifier" text,
|
|
26
|
+
"pending_redirect_uri" text,
|
|
27
|
+
"pending_token_url" text,
|
|
28
|
+
"last_run_id" uuid,
|
|
29
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
30
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
31
|
+
);--> statement-breakpoint
|
|
32
|
+
CREATE TABLE IF NOT EXISTS "cloud_upstream_runs" (
|
|
33
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
34
|
+
"connection_id" uuid NOT NULL,
|
|
35
|
+
"squad_id" uuid NOT NULL,
|
|
36
|
+
"remote_run_id" text,
|
|
37
|
+
"status" text NOT NULL,
|
|
38
|
+
"active_step" text NOT NULL,
|
|
39
|
+
"progress_percent" integer DEFAULT 0 NOT NULL,
|
|
40
|
+
"dry_run" boolean DEFAULT false NOT NULL,
|
|
41
|
+
"retry_of_run_id" uuid,
|
|
42
|
+
"summary" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
43
|
+
"warnings" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
44
|
+
"conflicts" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
45
|
+
"events" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
46
|
+
"report" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
47
|
+
"idempotency_key" text NOT NULL,
|
|
48
|
+
"manifest_hash" text NOT NULL,
|
|
49
|
+
"target_url" text,
|
|
50
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
51
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
52
|
+
"completed_at" timestamp with time zone
|
|
53
|
+
);--> statement-breakpoint
|
|
54
|
+
DO $$ BEGIN
|
|
55
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'cloud_upstream_connections_squad_id_squads_id_fk') THEN
|
|
56
|
+
ALTER TABLE "cloud_upstream_connections" ADD CONSTRAINT "cloud_upstream_connections_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
|
|
57
|
+
END IF;
|
|
58
|
+
END $$;--> statement-breakpoint
|
|
59
|
+
DO $$ BEGIN
|
|
60
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'cloud_upstream_runs_connection_id_cloud_upstream_connections_id_fk') THEN
|
|
61
|
+
ALTER TABLE "cloud_upstream_runs" ADD CONSTRAINT "cloud_upstream_runs_connection_id_cloud_upstream_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."cloud_upstream_connections"("id") ON DELETE cascade ON UPDATE no action;
|
|
62
|
+
END IF;
|
|
63
|
+
END $$;--> statement-breakpoint
|
|
64
|
+
DO $$ BEGIN
|
|
65
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'cloud_upstream_runs_squad_id_squads_id_fk') THEN
|
|
66
|
+
ALTER TABLE "cloud_upstream_runs" ADD CONSTRAINT "cloud_upstream_runs_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
|
|
67
|
+
END IF;
|
|
68
|
+
END $$;--> statement-breakpoint
|
|
69
|
+
CREATE INDEX IF NOT EXISTS "cloud_upstream_connections_squad_idx" ON "cloud_upstream_connections" USING btree ("squad_id");--> statement-breakpoint
|
|
70
|
+
CREATE INDEX IF NOT EXISTS "cloud_upstream_runs_squad_created_idx" ON "cloud_upstream_runs" USING btree ("squad_id","created_at");--> statement-breakpoint
|
|
71
|
+
CREATE INDEX IF NOT EXISTS "cloud_upstream_runs_connection_idx" ON "cloud_upstream_runs" USING btree ("connection_id");
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "agent_memberships" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"squad_id" uuid NOT NULL,
|
|
4
|
+
"agent_id" uuid NOT NULL,
|
|
5
|
+
"user_id" text NOT NULL,
|
|
6
|
+
"state" text DEFAULT 'joined' NOT NULL,
|
|
7
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
8
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
9
|
+
);
|
|
10
|
+
--> statement-breakpoint
|
|
11
|
+
CREATE TABLE IF NOT EXISTS "project_memberships" (
|
|
12
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
13
|
+
"squad_id" uuid NOT NULL,
|
|
14
|
+
"project_id" uuid NOT NULL,
|
|
15
|
+
"user_id" text NOT NULL,
|
|
16
|
+
"state" text DEFAULT 'joined' NOT NULL,
|
|
17
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
18
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
19
|
+
);
|
|
20
|
+
--> statement-breakpoint
|
|
21
|
+
DO $$ BEGIN
|
|
22
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'agent_memberships_squad_id_squads_id_fk') THEN
|
|
23
|
+
ALTER TABLE "agent_memberships" ADD CONSTRAINT "agent_memberships_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
|
|
24
|
+
END IF;
|
|
25
|
+
END $$;
|
|
26
|
+
--> statement-breakpoint
|
|
27
|
+
DO $$ BEGIN
|
|
28
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'agent_memberships_agent_id_agents_id_fk') THEN
|
|
29
|
+
ALTER TABLE "agent_memberships" ADD CONSTRAINT "agent_memberships_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;
|
|
30
|
+
END IF;
|
|
31
|
+
END $$;
|
|
32
|
+
--> statement-breakpoint
|
|
33
|
+
DO $$ BEGIN
|
|
34
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'project_memberships_squad_id_squads_id_fk') THEN
|
|
35
|
+
ALTER TABLE "project_memberships" ADD CONSTRAINT "project_memberships_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
|
|
36
|
+
END IF;
|
|
37
|
+
END $$;
|
|
38
|
+
--> statement-breakpoint
|
|
39
|
+
DO $$ BEGIN
|
|
40
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'project_memberships_project_id_projects_id_fk') THEN
|
|
41
|
+
ALTER TABLE "project_memberships" ADD CONSTRAINT "project_memberships_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE cascade ON UPDATE no action;
|
|
42
|
+
END IF;
|
|
43
|
+
END $$;
|
|
44
|
+
--> statement-breakpoint
|
|
45
|
+
CREATE INDEX IF NOT EXISTS "agent_memberships_squad_user_idx" ON "agent_memberships" USING btree ("squad_id","user_id");
|
|
46
|
+
--> statement-breakpoint
|
|
47
|
+
CREATE INDEX IF NOT EXISTS "agent_memberships_agent_idx" ON "agent_memberships" USING btree ("agent_id");
|
|
48
|
+
--> statement-breakpoint
|
|
49
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "agent_memberships_squad_user_agent_uq" ON "agent_memberships" USING btree ("squad_id","user_id","agent_id");
|
|
50
|
+
--> statement-breakpoint
|
|
51
|
+
CREATE INDEX IF NOT EXISTS "project_memberships_squad_user_idx" ON "project_memberships" USING btree ("squad_id","user_id");
|
|
52
|
+
--> statement-breakpoint
|
|
53
|
+
CREATE INDEX IF NOT EXISTS "project_memberships_project_idx" ON "project_memberships" USING btree ("project_id");
|
|
54
|
+
--> statement-breakpoint
|
|
55
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "project_memberships_squad_user_project_uq" ON "project_memberships" USING btree ("squad_id","user_id","project_id");
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "document_annotation_threads" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"squad_id" uuid NOT NULL,
|
|
4
|
+
"issue_id" uuid NOT NULL,
|
|
5
|
+
"document_id" uuid NOT NULL,
|
|
6
|
+
"document_key" text NOT NULL,
|
|
7
|
+
"status" text DEFAULT 'open' NOT NULL,
|
|
8
|
+
"anchor_state" text DEFAULT 'active' NOT NULL,
|
|
9
|
+
"original_revision_id" uuid,
|
|
10
|
+
"original_revision_number" integer NOT NULL,
|
|
11
|
+
"current_revision_id" uuid,
|
|
12
|
+
"current_revision_number" integer NOT NULL,
|
|
13
|
+
"selected_text" text NOT NULL,
|
|
14
|
+
"prefix_text" text DEFAULT '' NOT NULL,
|
|
15
|
+
"suffix_text" text DEFAULT '' NOT NULL,
|
|
16
|
+
"normalized_start" integer NOT NULL,
|
|
17
|
+
"normalized_end" integer NOT NULL,
|
|
18
|
+
"markdown_start" integer NOT NULL,
|
|
19
|
+
"markdown_end" integer NOT NULL,
|
|
20
|
+
"anchor_confidence" text DEFAULT 'exact' NOT NULL,
|
|
21
|
+
"anchor_selector" jsonb NOT NULL,
|
|
22
|
+
"created_by_agent_id" uuid,
|
|
23
|
+
"created_by_user_id" text,
|
|
24
|
+
"resolved_by_agent_id" uuid,
|
|
25
|
+
"resolved_by_user_id" text,
|
|
26
|
+
"resolved_at" timestamp with time zone,
|
|
27
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
28
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
29
|
+
);
|
|
30
|
+
--> statement-breakpoint
|
|
31
|
+
CREATE TABLE IF NOT EXISTS "document_annotation_comments" (
|
|
32
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
33
|
+
"squad_id" uuid NOT NULL,
|
|
34
|
+
"thread_id" uuid NOT NULL,
|
|
35
|
+
"issue_id" uuid NOT NULL,
|
|
36
|
+
"document_id" uuid NOT NULL,
|
|
37
|
+
"body" text NOT NULL,
|
|
38
|
+
"author_type" text NOT NULL,
|
|
39
|
+
"author_agent_id" uuid,
|
|
40
|
+
"author_user_id" text,
|
|
41
|
+
"created_by_run_id" uuid,
|
|
42
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
43
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
44
|
+
);
|
|
45
|
+
--> statement-breakpoint
|
|
46
|
+
CREATE TABLE IF NOT EXISTS "document_annotation_anchor_snapshots" (
|
|
47
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
48
|
+
"squad_id" uuid NOT NULL,
|
|
49
|
+
"thread_id" uuid NOT NULL,
|
|
50
|
+
"document_id" uuid NOT NULL,
|
|
51
|
+
"from_revision_id" uuid,
|
|
52
|
+
"from_revision_number" integer,
|
|
53
|
+
"to_revision_id" uuid,
|
|
54
|
+
"to_revision_number" integer NOT NULL,
|
|
55
|
+
"previous_anchor" jsonb NOT NULL,
|
|
56
|
+
"next_anchor" jsonb,
|
|
57
|
+
"anchor_state" text NOT NULL,
|
|
58
|
+
"anchor_confidence" text NOT NULL,
|
|
59
|
+
"failure_reason" text,
|
|
60
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
61
|
+
);
|
|
62
|
+
--> statement-breakpoint
|
|
63
|
+
DO $$ BEGIN
|
|
64
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_threads_squad_id_squads_id_fk') THEN
|
|
65
|
+
ALTER TABLE "document_annotation_threads" ADD CONSTRAINT "document_annotation_threads_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
|
|
66
|
+
END IF;
|
|
67
|
+
END $$;
|
|
68
|
+
--> statement-breakpoint
|
|
69
|
+
DO $$ BEGIN
|
|
70
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_threads_issue_id_issues_id_fk') THEN
|
|
71
|
+
ALTER TABLE "document_annotation_threads" ADD CONSTRAINT "document_annotation_threads_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;
|
|
72
|
+
END IF;
|
|
73
|
+
END $$;
|
|
74
|
+
--> statement-breakpoint
|
|
75
|
+
DO $$ BEGIN
|
|
76
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_threads_document_id_documents_id_fk') THEN
|
|
77
|
+
ALTER TABLE "document_annotation_threads" ADD CONSTRAINT "document_annotation_threads_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;
|
|
78
|
+
END IF;
|
|
79
|
+
END $$;
|
|
80
|
+
--> statement-breakpoint
|
|
81
|
+
DO $$ BEGIN
|
|
82
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_threads_original_revision_id_document_revisions_id_fk') THEN
|
|
83
|
+
ALTER TABLE "document_annotation_threads" ADD CONSTRAINT "document_annotation_threads_original_revision_id_document_revisions_id_fk" FOREIGN KEY ("original_revision_id") REFERENCES "public"."document_revisions"("id") ON DELETE set null ON UPDATE no action;
|
|
84
|
+
END IF;
|
|
85
|
+
END $$;
|
|
86
|
+
--> statement-breakpoint
|
|
87
|
+
DO $$ BEGIN
|
|
88
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_threads_current_revision_id_document_revisions_id_fk') THEN
|
|
89
|
+
ALTER TABLE "document_annotation_threads" ADD CONSTRAINT "document_annotation_threads_current_revision_id_document_revisions_id_fk" FOREIGN KEY ("current_revision_id") REFERENCES "public"."document_revisions"("id") ON DELETE set null ON UPDATE no action;
|
|
90
|
+
END IF;
|
|
91
|
+
END $$;
|
|
92
|
+
--> statement-breakpoint
|
|
93
|
+
DO $$ BEGIN
|
|
94
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_threads_created_by_agent_id_agents_id_fk') THEN
|
|
95
|
+
ALTER TABLE "document_annotation_threads" ADD CONSTRAINT "document_annotation_threads_created_by_agent_id_agents_id_fk" FOREIGN KEY ("created_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
|
|
96
|
+
END IF;
|
|
97
|
+
END $$;
|
|
98
|
+
--> statement-breakpoint
|
|
99
|
+
DO $$ BEGIN
|
|
100
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_threads_resolved_by_agent_id_agents_id_fk') THEN
|
|
101
|
+
ALTER TABLE "document_annotation_threads" ADD CONSTRAINT "document_annotation_threads_resolved_by_agent_id_agents_id_fk" FOREIGN KEY ("resolved_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
|
|
102
|
+
END IF;
|
|
103
|
+
END $$;
|
|
104
|
+
--> statement-breakpoint
|
|
105
|
+
DO $$ BEGIN
|
|
106
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_comments_squad_id_squads_id_fk') THEN
|
|
107
|
+
ALTER TABLE "document_annotation_comments" ADD CONSTRAINT "document_annotation_comments_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
|
|
108
|
+
END IF;
|
|
109
|
+
END $$;
|
|
110
|
+
--> statement-breakpoint
|
|
111
|
+
DO $$ BEGIN
|
|
112
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_comments_thread_id_document_annotation_threads_id_fk') THEN
|
|
113
|
+
ALTER TABLE "document_annotation_comments" ADD CONSTRAINT "document_annotation_comments_thread_id_document_annotation_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."document_annotation_threads"("id") ON DELETE cascade ON UPDATE no action;
|
|
114
|
+
END IF;
|
|
115
|
+
END $$;
|
|
116
|
+
--> statement-breakpoint
|
|
117
|
+
DO $$ BEGIN
|
|
118
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_comments_issue_id_issues_id_fk') THEN
|
|
119
|
+
ALTER TABLE "document_annotation_comments" ADD CONSTRAINT "document_annotation_comments_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;
|
|
120
|
+
END IF;
|
|
121
|
+
END $$;
|
|
122
|
+
--> statement-breakpoint
|
|
123
|
+
DO $$ BEGIN
|
|
124
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_comments_document_id_documents_id_fk') THEN
|
|
125
|
+
ALTER TABLE "document_annotation_comments" ADD CONSTRAINT "document_annotation_comments_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;
|
|
126
|
+
END IF;
|
|
127
|
+
END $$;
|
|
128
|
+
--> statement-breakpoint
|
|
129
|
+
DO $$ BEGIN
|
|
130
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_comments_author_agent_id_agents_id_fk') THEN
|
|
131
|
+
ALTER TABLE "document_annotation_comments" ADD CONSTRAINT "document_annotation_comments_author_agent_id_agents_id_fk" FOREIGN KEY ("author_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
|
|
132
|
+
END IF;
|
|
133
|
+
END $$;
|
|
134
|
+
--> statement-breakpoint
|
|
135
|
+
DO $$ BEGIN
|
|
136
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_comments_created_by_run_id_heartbeat_runs_id_fk') THEN
|
|
137
|
+
ALTER TABLE "document_annotation_comments" ADD CONSTRAINT "document_annotation_comments_created_by_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("created_by_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;
|
|
138
|
+
END IF;
|
|
139
|
+
END $$;
|
|
140
|
+
--> statement-breakpoint
|
|
141
|
+
DO $$ BEGIN
|
|
142
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_anchor_snapshots_squad_id_squads_id_fk') THEN
|
|
143
|
+
ALTER TABLE "document_annotation_anchor_snapshots" ADD CONSTRAINT "document_annotation_anchor_snapshots_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
|
|
144
|
+
END IF;
|
|
145
|
+
END $$;
|
|
146
|
+
--> statement-breakpoint
|
|
147
|
+
DO $$ BEGIN
|
|
148
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_anchor_snapshots_thread_id_document_annotation_threads_id_fk') THEN
|
|
149
|
+
ALTER TABLE "document_annotation_anchor_snapshots" ADD CONSTRAINT "document_annotation_anchor_snapshots_thread_id_document_annotation_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."document_annotation_threads"("id") ON DELETE cascade ON UPDATE no action;
|
|
150
|
+
END IF;
|
|
151
|
+
END $$;
|
|
152
|
+
--> statement-breakpoint
|
|
153
|
+
DO $$ BEGIN
|
|
154
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_anchor_snapshots_document_id_documents_id_fk') THEN
|
|
155
|
+
ALTER TABLE "document_annotation_anchor_snapshots" ADD CONSTRAINT "document_annotation_anchor_snapshots_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;
|
|
156
|
+
END IF;
|
|
157
|
+
END $$;
|
|
158
|
+
--> statement-breakpoint
|
|
159
|
+
DO $$ BEGIN
|
|
160
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_anchor_snapshots_from_revision_id_document_revisions_id_fk') THEN
|
|
161
|
+
ALTER TABLE "document_annotation_anchor_snapshots" ADD CONSTRAINT "document_annotation_anchor_snapshots_from_revision_id_document_revisions_id_fk" FOREIGN KEY ("from_revision_id") REFERENCES "public"."document_revisions"("id") ON DELETE set null ON UPDATE no action;
|
|
162
|
+
END IF;
|
|
163
|
+
END $$;
|
|
164
|
+
--> statement-breakpoint
|
|
165
|
+
DO $$ BEGIN
|
|
166
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'document_annotation_anchor_snapshots_to_revision_id_document_revisions_id_fk') THEN
|
|
167
|
+
ALTER TABLE "document_annotation_anchor_snapshots" ADD CONSTRAINT "document_annotation_anchor_snapshots_to_revision_id_document_revisions_id_fk" FOREIGN KEY ("to_revision_id") REFERENCES "public"."document_revisions"("id") ON DELETE set null ON UPDATE no action;
|
|
168
|
+
END IF;
|
|
169
|
+
END $$;
|
|
170
|
+
--> statement-breakpoint
|
|
171
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_threads_squad_document_status_idx" ON "document_annotation_threads" USING btree ("squad_id","document_id","status");
|
|
172
|
+
--> statement-breakpoint
|
|
173
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_threads_squad_issue_status_idx" ON "document_annotation_threads" USING btree ("squad_id","issue_id","status");
|
|
174
|
+
--> statement-breakpoint
|
|
175
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_threads_squad_current_revision_open_idx" ON "document_annotation_threads" USING btree ("squad_id","document_id","current_revision_id","status");
|
|
176
|
+
--> statement-breakpoint
|
|
177
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_threads_squad_anchor_state_idx" ON "document_annotation_threads" USING btree ("squad_id","anchor_state");
|
|
178
|
+
--> statement-breakpoint
|
|
179
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_comments_squad_thread_created_at_idx" ON "document_annotation_comments" USING btree ("squad_id","thread_id","created_at");
|
|
180
|
+
--> statement-breakpoint
|
|
181
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_comments_squad_issue_created_at_idx" ON "document_annotation_comments" USING btree ("squad_id","issue_id","created_at");
|
|
182
|
+
--> statement-breakpoint
|
|
183
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_comments_squad_document_created_at_idx" ON "document_annotation_comments" USING btree ("squad_id","document_id","created_at");
|
|
184
|
+
--> statement-breakpoint
|
|
185
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_comments_body_search_idx" ON "document_annotation_comments" USING gin ("body" gin_trgm_ops);
|
|
186
|
+
--> statement-breakpoint
|
|
187
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_anchor_snapshots_squad_thread_created_at_idx" ON "document_annotation_anchor_snapshots" USING btree ("squad_id","thread_id","created_at");
|
|
188
|
+
--> statement-breakpoint
|
|
189
|
+
CREATE INDEX IF NOT EXISTS "document_annotation_anchor_snapshots_squad_document_revision_idx" ON "document_annotation_anchor_snapshots" USING btree ("squad_id","document_id","to_revision_number");
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
CREATE TABLE "issue_plan_decompositions" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"squad_id" uuid NOT NULL,
|
|
4
|
+
"source_issue_id" uuid NOT NULL,
|
|
5
|
+
"accepted_plan_revision_id" uuid NOT NULL,
|
|
6
|
+
"accepted_interaction_id" uuid,
|
|
7
|
+
"status" text DEFAULT 'in_flight' NOT NULL,
|
|
8
|
+
"request_fingerprint" text NOT NULL,
|
|
9
|
+
"requested_child_count" integer DEFAULT 0 NOT NULL,
|
|
10
|
+
"requested_children" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
11
|
+
"child_issue_ids" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
12
|
+
"owner_agent_id" uuid,
|
|
13
|
+
"owner_user_id" text,
|
|
14
|
+
"owner_run_id" uuid,
|
|
15
|
+
"completed_at" timestamp with time zone,
|
|
16
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
17
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
18
|
+
);
|
|
19
|
+
--> statement-breakpoint
|
|
20
|
+
ALTER TABLE "issue_plan_decompositions" ADD CONSTRAINT "issue_plan_decompositions_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
21
|
+
ALTER TABLE "issue_plan_decompositions" ADD CONSTRAINT "issue_plan_decompositions_source_issue_id_issues_id_fk" FOREIGN KEY ("source_issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
22
|
+
ALTER TABLE "issue_plan_decompositions" ADD CONSTRAINT "issue_plan_decompositions_accepted_plan_revision_id_document_revisions_id_fk" FOREIGN KEY ("accepted_plan_revision_id") REFERENCES "public"."document_revisions"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
23
|
+
ALTER TABLE "issue_plan_decompositions" ADD CONSTRAINT "issue_plan_decompositions_accepted_interaction_id_issue_thread_interactions_id_fk" FOREIGN KEY ("accepted_interaction_id") REFERENCES "public"."issue_thread_interactions"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
24
|
+
ALTER TABLE "issue_plan_decompositions" ADD CONSTRAINT "issue_plan_decompositions_owner_agent_id_agents_id_fk" FOREIGN KEY ("owner_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
25
|
+
ALTER TABLE "issue_plan_decompositions" ADD CONSTRAINT "issue_plan_decompositions_owner_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("owner_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
26
|
+
CREATE INDEX "issue_plan_decompositions_squad_source_status_idx" ON "issue_plan_decompositions" USING btree ("squad_id","source_issue_id","status");--> statement-breakpoint
|
|
27
|
+
CREATE INDEX "issue_plan_decompositions_active_owner_idx" ON "issue_plan_decompositions" USING btree ("squad_id","owner_agent_id") WHERE "issue_plan_decompositions"."status" = 'in_flight';--> statement-breakpoint
|
|
28
|
+
CREATE UNIQUE INDEX "issue_plan_decompositions_source_revision_uq" ON "issue_plan_decompositions" USING btree ("squad_id","source_issue_id","accepted_plan_revision_id");
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
ALTER TABLE "execution_workspaces" DROP CONSTRAINT "execution_workspaces_squad_id_squads_id_fk";
|
|
2
|
+
--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "workspace_operations" DROP CONSTRAINT "workspace_operations_squad_id_squads_id_fk";
|
|
4
|
+
--> statement-breakpoint
|
|
5
|
+
ALTER TABLE "execution_workspaces" ADD CONSTRAINT "execution_workspaces_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
6
|
+
ALTER TABLE "workspace_operations" ADD CONSTRAINT "workspace_operations_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "botfather_sync_state" (
|
|
2
|
+
"entity_type" text PRIMARY KEY NOT NULL,
|
|
3
|
+
"last_synced_at" timestamp with time zone,
|
|
4
|
+
"last_synced_id" text,
|
|
5
|
+
"sent_count" bigint DEFAULT 0 NOT NULL,
|
|
6
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
7
|
+
);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "instance_limits" (
|
|
2
|
+
"singleton_key" text PRIMARY KEY DEFAULT 'default' NOT NULL,
|
|
3
|
+
"source" text DEFAULT 'tower' NOT NULL,
|
|
4
|
+
"cost_limit_cents" integer,
|
|
5
|
+
"token_limit" bigint,
|
|
6
|
+
"warn_percent" integer DEFAULT 80 NOT NULL,
|
|
7
|
+
"mode" text DEFAULT 'off' NOT NULL,
|
|
8
|
+
"version" integer DEFAULT 0 NOT NULL,
|
|
9
|
+
"applied_at" timestamp with time zone
|
|
10
|
+
);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
ALTER TABLE "squad_skills" ADD COLUMN IF NOT EXISTS "is_tower_managed" boolean DEFAULT false NOT NULL;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "squad_skills" ADD COLUMN IF NOT EXISTS "tower_skill_key" text;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "squad_skills" ADD COLUMN IF NOT EXISTS "tower_skill_version" integer;--> statement-breakpoint
|
|
4
|
+
CREATE INDEX IF NOT EXISTS "squad_skills_tower_key_idx" ON "squad_skills" USING btree ("tower_skill_key");
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-- 0097: Retire "board" governance terminology → "operator".
|
|
2
|
+
-- Structural renames only. On a fresh DB these run after the original creating
|
|
3
|
+
-- migrations (which still use the old names), renaming them to the new names.
|
|
4
|
+
-- No data-value rekey is needed: a fresh DB seeds the local actor directly as
|
|
5
|
+
-- 'local-operator' / name 'Operator' at boot (see server/src/index.ts).
|
|
6
|
+
-- (Existing pre-rename DBs should be wiped and re-seeded rather than migrated in
|
|
7
|
+
-- place — a partial id rekey across the many free-text user_id columns is unsafe.)
|
|
8
|
+
|
|
9
|
+
-- Rename board_api_keys → operator_api_keys + its indexes
|
|
10
|
+
ALTER TABLE IF EXISTS "board_api_keys" RENAME TO "operator_api_keys";
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
ALTER INDEX IF EXISTS "board_api_keys_key_hash_idx" RENAME TO "operator_api_keys_key_hash_idx";
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
ALTER INDEX IF EXISTS "board_api_keys_user_idx" RENAME TO "operator_api_keys_user_idx";
|
|
15
|
+
--> statement-breakpoint
|
|
16
|
+
|
|
17
|
+
-- Rename the FK column on cli_auth_challenges if it still has the old name
|
|
18
|
+
DO $$
|
|
19
|
+
BEGIN
|
|
20
|
+
IF EXISTS (
|
|
21
|
+
SELECT 1 FROM information_schema.columns
|
|
22
|
+
WHERE table_name = 'cli_auth_challenges' AND column_name = 'board_api_key_id'
|
|
23
|
+
) THEN
|
|
24
|
+
ALTER TABLE "cli_auth_challenges" RENAME COLUMN "board_api_key_id" TO "operator_api_key_id";
|
|
25
|
+
END IF;
|
|
26
|
+
END $$;
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
|
|
29
|
+
-- Rename squads.require_board_approval_for_new_agents → require_operator_approval_for_new_agents
|
|
30
|
+
DO $$
|
|
31
|
+
BEGIN
|
|
32
|
+
IF EXISTS (
|
|
33
|
+
SELECT 1 FROM information_schema.columns
|
|
34
|
+
WHERE table_name = 'squads' AND column_name = 'require_board_approval_for_new_agents'
|
|
35
|
+
) THEN
|
|
36
|
+
ALTER TABLE "squads" RENAME COLUMN "require_board_approval_for_new_agents" TO "require_operator_approval_for_new_agents";
|
|
37
|
+
END IF;
|
|
38
|
+
END $$;
|
|
39
|
+
--> statement-breakpoint
|
|
40
|
+
|
|
41
|
+
-- cli_auth_challenges.requested_access: migrate stored value + default ('board' → 'operator')
|
|
42
|
+
DO $$
|
|
43
|
+
BEGIN
|
|
44
|
+
IF EXISTS (
|
|
45
|
+
SELECT 1 FROM information_schema.columns
|
|
46
|
+
WHERE table_name = 'cli_auth_challenges' AND column_name = 'requested_access'
|
|
47
|
+
) THEN
|
|
48
|
+
ALTER TABLE "cli_auth_challenges" ALTER COLUMN "requested_access" DROP DEFAULT;
|
|
49
|
+
UPDATE "cli_auth_challenges" SET "requested_access" = 'operator' WHERE "requested_access" = 'board';
|
|
50
|
+
ALTER TABLE "cli_auth_challenges" ALTER COLUMN "requested_access" SET DEFAULT 'operator';
|
|
51
|
+
END IF;
|
|
52
|
+
END $$;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
-- 0098: Retire paperclip-era C-suite agent roles → leads-based roles.
|
|
2
|
+
-- The agents.role column is free-text (text NOT NULL DEFAULT 'general'), NOT a
|
|
3
|
+
-- Postgres enum, and the value is not used as a cross-table foreign key, so an
|
|
4
|
+
-- in-place rekey is safe here (unlike the board→operator actor-id rename in 0097).
|
|
5
|
+
-- Idempotent: each UPDATE is a no-op when no rows hold the legacy value.
|
|
6
|
+
-- cto → engineering_lead
|
|
7
|
+
-- cmo → marketing_lead
|
|
8
|
+
-- cfo → finance_lead
|
|
9
|
+
UPDATE "agents" SET "role" = 'engineering_lead' WHERE "role" = 'cto';
|
|
10
|
+
--> statement-breakpoint
|
|
11
|
+
UPDATE "agents" SET "role" = 'marketing_lead' WHERE "role" = 'cmo';
|
|
12
|
+
--> statement-breakpoint
|
|
13
|
+
UPDATE "agents" SET "role" = 'finance_lead' WHERE "role" = 'cfo';
|