@indx-workspace/embedded 0.0.0-bootstrap → 0.3.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 +72 -0
- package/LICENSE +202 -0
- package/README.md +309 -0
- package/dist/bin.js +73 -0
- package/dist/launch.js +28617 -0
- package/dist/migrations/0000_init.sql +119 -0
- package/dist/migrations/0001_w2_resources.sql +177 -0
- package/dist/migrations/0002_w3_runtime_profiles.sql +34 -0
- package/dist/migrations/0003_steep_galactus.sql +91 -0
- package/dist/migrations/0004_overconfident_lake.sql +16 -0
- package/dist/migrations/0005_durable_sessions_run_tokens.sql +46 -0
- package/dist/migrations/0006_familiar_karnak.sql +2 -0
- package/dist/migrations/0007_fast_hannibal_king.sql +1 -0
- package/dist/migrations/0008_damp_nemesis.sql +31 -0
- package/dist/migrations/0009_special_thena.sql +2 -0
- package/dist/migrations/0010_little_power_pack.sql +66 -0
- package/dist/migrations/0011_goofy_storm.sql +14 -0
- package/dist/migrations/0012_legal_shatterstar.sql +14 -0
- package/dist/migrations/0013_secret_namora.sql +9 -0
- package/dist/migrations/0014_premium_vengeance.sql +16 -0
- package/dist/migrations/0015_amazing_screwball.sql +1 -0
- package/dist/migrations/0016_next_satana.sql +29 -0
- package/dist/migrations/0017_wild_the_executioner.sql +1 -0
- package/dist/migrations/0018_heavy_stone_men.sql +2 -0
- package/dist/migrations/0019_repair_legacy_run_accounting.sql +20 -0
- package/dist/migrations/0020_sparkling_nova.sql +340 -0
- package/dist/migrations/0021_slippery_sister_grimm.sql +1 -0
- package/dist/migrations/0022_warm_paibok.sql +26 -0
- package/dist/migrations/0023_colorful_shotgun.sql +2 -0
- package/dist/migrations/0024_curly_molten_man.sql +9 -0
- package/dist/migrations/0025_name_the_engine_in_stored_rows.sql +50 -0
- package/dist/migrations/0026_create_the_engine_scoped_session_state_store.sql +47 -0
- package/dist/migrations/0027_backfill_claude_session_state.sql +66 -0
- package/dist/migrations/0028_widen_the_engine_checks_to_openai_agents.sql +14 -0
- package/dist/migrations/0029_widen_the_engine_checks_to_pi.sql +14 -0
- package/dist/migrations/0030_create_the_cli_sessions_table.sql +23 -0
- package/dist/migrations/0031_widen_the_engine_checks_to_mastra.sql +17 -0
- package/dist/migrations/0032_mark_the_setup_agent.sql +7 -0
- package/dist/migrations/0033_create_the_agent_version_store.sql +41 -0
- package/dist/migrations/0034_mark_the_workspace_default_runtime_profile.sql +15 -0
- package/dist/migrations/0035_record_who_a_local_runtime_key_acts_for.sql +19 -0
- package/dist/migrations/0036_add_connector_kinds_and_the_run_tool_snapshot.sql +34 -0
- package/dist/migrations/0037_create_the_surface_session_keys.sql +20 -0
- package/dist/migrations/0038_record_feedback_on_a_run.sql +14 -0
- package/dist/migrations/0039_record_an_evaluation_of_a_version.sql +18 -0
- package/dist/migrations/0040_record_the_materialised_version.sql +23 -0
- package/dist/migrations/0041_pin_a_session_to_its_agent_version.sql +4 -0
- package/dist/migrations/0042_store_the_prompt_of_a_run.sql +1 -0
- package/dist/migrations/0043_record_every_pointer_move.sql +30 -0
- package/dist/migrations/meta/0000_snapshot.json +964 -0
- package/dist/migrations/meta/0001_snapshot.json +2278 -0
- package/dist/migrations/meta/0002_snapshot.json +2550 -0
- package/dist/migrations/meta/0003_snapshot.json +3295 -0
- package/dist/migrations/meta/0004_snapshot.json +3452 -0
- package/dist/migrations/meta/0005_snapshot.json +3921 -0
- package/dist/migrations/meta/0006_snapshot.json +3949 -0
- package/dist/migrations/meta/0007_snapshot.json +3956 -0
- package/dist/migrations/meta/0008_snapshot.json +4177 -0
- package/dist/migrations/meta/0009_snapshot.json +4177 -0
- package/dist/migrations/meta/0010_snapshot.json +3988 -0
- package/dist/migrations/meta/0011_snapshot.json +4491 -0
- package/dist/migrations/meta/0012_snapshot.json +4629 -0
- package/dist/migrations/meta/0013_snapshot.json +4646 -0
- package/dist/migrations/meta/0014_snapshot.json +4313 -0
- package/dist/migrations/meta/0015_snapshot.json +4775 -0
- package/dist/migrations/meta/0016_snapshot.json +4976 -0
- package/dist/migrations/meta/0017_snapshot.json +4982 -0
- package/dist/migrations/meta/0018_snapshot.json +4982 -0
- package/dist/migrations/meta/0019_snapshot.json +4990 -0
- package/dist/migrations/meta/0020_snapshot.json +5469 -0
- package/dist/migrations/meta/0021_snapshot.json +5475 -0
- package/dist/migrations/meta/0022_snapshot.json +5711 -0
- package/dist/migrations/meta/0023_snapshot.json +5722 -0
- package/dist/migrations/meta/0024_snapshot.json +5748 -0
- package/dist/migrations/meta/0025_snapshot.json +5748 -0
- package/dist/migrations/meta/0026_snapshot.json +6151 -0
- package/dist/migrations/meta/0027_snapshot.json +6151 -0
- package/dist/migrations/meta/0028_snapshot.json +6151 -0
- package/dist/migrations/meta/0029_snapshot.json +6151 -0
- package/dist/migrations/meta/0030_snapshot.json +6328 -0
- package/dist/migrations/meta/0031_snapshot.json +6328 -0
- package/dist/migrations/meta/0032_snapshot.json +6334 -0
- package/dist/migrations/meta/0033_snapshot.json +6615 -0
- package/dist/migrations/meta/0034_snapshot.json +6633 -0
- package/dist/migrations/meta/0035_snapshot.json +6662 -0
- package/dist/migrations/meta/0036_snapshot.json +6706 -0
- package/dist/migrations/meta/0037_snapshot.json +6816 -0
- package/dist/migrations/meta/0038_snapshot.json +6927 -0
- package/dist/migrations/meta/0039_snapshot.json +7073 -0
- package/dist/migrations/meta/0040_snapshot.json +7096 -0
- package/dist/migrations/meta/0041_snapshot.json +7119 -0
- package/dist/migrations/meta/0042_snapshot.json +7125 -0
- package/dist/migrations/meta/0043_snapshot.json +7292 -0
- package/dist/migrations/meta/_journal.json +314 -0
- package/dist/web/.next-embedded/BUILD_ID +1 -0
- package/dist/web/.next-embedded/app-path-routes-manifest.json +108 -0
- package/dist/web/.next-embedded/build-manifest.json +20 -0
- package/dist/web/.next-embedded/diagnostics/build-diagnostics.json +6 -0
- package/dist/web/.next-embedded/diagnostics/framework.json +1 -0
- package/dist/web/.next-embedded/export-marker.json +6 -0
- package/dist/web/.next-embedded/images-manifest.json +68 -0
- package/dist/web/.next-embedded/package.json +1 -0
- package/dist/web/.next-embedded/prerender-manifest.json +97 -0
- package/dist/web/.next-embedded/react-loadable-manifest.json +1 -0
- package/dist/web/.next-embedded/required-server-files.js +355 -0
- package/dist/web/.next-embedded/required-server-files.json +355 -0
- package/dist/web/.next-embedded/routes-manifest.json +786 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/api-keys/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/api-keys/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/models/new/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/models/new/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/models/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/models/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/runtimes/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/runtimes/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/settings/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/settings/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/shares/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/shares/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/users/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/admin/users/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/agents/[id]/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/agents/[id]/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/agents/new/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/agents/new/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/agents/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/agents/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/connectors/new/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/connectors/new/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/connectors/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/connectors/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/files/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/files/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/projects/[id]/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/projects/[id]/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/projects/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/projects/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/runs/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/runs/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/skills/[name]/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/skills/[name]/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/skills/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/skills/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/workspaces/page.js +1 -0
- package/dist/web/.next-embedded/server/app/(shell)/workspaces/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/_global-error/page.js +31 -0
- package/dist/web/.next-embedded/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/_global-error.html +1 -0
- package/dist/web/.next-embedded/server/app/_global-error.meta +27 -0
- package/dist/web/.next-embedded/server/app/_global-error.rsc +14 -0
- package/dist/web/.next-embedded/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/dist/web/.next-embedded/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
- package/dist/web/.next-embedded/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/dist/web/.next-embedded/server/app/_not-found/page.js +1 -0
- package/dist/web/.next-embedded/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/_not-found.html +1 -0
- package/dist/web/.next-embedded/server/app/_not-found.meta +27 -0
- package/dist/web/.next-embedded/server/app/_not-found.rsc +15 -0
- package/dist/web/.next-embedded/server/app/_not-found.segments/_full.segment.rsc +15 -0
- package/dist/web/.next-embedded/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +21 -0
- package/dist/web/.next-embedded/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/evaluations/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/evaluations/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/feedback/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/feedback/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/grants/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/grants/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/pointers/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/pointers/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/policy/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/policy/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/promote/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/promote/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/resources/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/resources/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/rollback/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/rollback/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/runs/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/runs/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/versions/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/[id]/versions/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/agents/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/api-keys/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/api-keys/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/api-keys/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/api-keys/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/audit-events/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/audit-events/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/callback/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/callback/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-device/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-device/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-token/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-token/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-verify/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-verify/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-workspace/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/cli-workspace/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/login/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/auth/workspace/route.js +13 -0
- package/dist/web/.next-embedded/server/app/api/auth/workspace/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/connectors/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/connectors/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/connectors/[id]/test-connection/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/connectors/[id]/test-connection/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/connectors/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/connectors/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/engines/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/engines/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/files/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/files/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/files/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/files/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/[id]/accept/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/[id]/accept/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/[id]/resend/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/[id]/resend/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/invitations/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/me/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/me/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/memberships/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/memberships/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/memberships/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/memberships/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/metrics/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/metrics/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/[id]/credential/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/[id]/credential/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/[id]/test/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/[id]/test/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/model-connections/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/models/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/models/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/archive/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/archive/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/restore/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/restore/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/sessions/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/[id]/sessions/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/projects/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/events/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/events/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/feedback/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/feedback/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/interrupt/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/interrupt/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/revoke-tokens/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/revoke-tokens/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runs/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtime-connections/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtime-connections/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtime-profiles/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtime-profiles/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtime-profiles/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtime-profiles/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtimes/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/runtimes/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/secrets/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/secrets/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/secrets/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/secrets/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/state-blobs/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/state-blobs/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/state-entries/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/state-entries/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/state-streams/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/state-streams/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/subkeys/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/subkeys/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/transcript/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/[engineSessionId]/transcript/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sessions/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/setup/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/setup/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/setup/runtime-detect/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/setup/runtime-detect/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/shares/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/shares/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/shares/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/shares/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sharing-policies/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/sharing-policies/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/skills/[name]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/skills/[name]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/skills/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/tokens/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/tokens/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/users/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/users/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/workspaces/[id]/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/workspaces/[id]/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/api/workspaces/route.js +1 -0
- package/dist/web/.next-embedded/server/app/api/workspaces/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/p/[token]/messages/route.js +1 -0
- package/dist/web/.next-embedded/server/app/p/[token]/messages/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/p/[token]/page.js +1 -0
- package/dist/web/.next-embedded/server/app/p/[token]/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/page.js +1 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/sessions/route.js +1 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/sessions/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/try/page.js +1 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/try/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/widget.js/route.js +156 -0
- package/dist/web/.next-embedded/server/app/p/s/[name]/widget.js/route_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/setup/page.js +1 -0
- package/dist/web/.next-embedded/server/app/setup/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app/setup.html +1 -0
- package/dist/web/.next-embedded/server/app/setup.meta +26 -0
- package/dist/web/.next-embedded/server/app/setup.rsc +16 -0
- package/dist/web/.next-embedded/server/app/setup.segments/_full.segment.rsc +16 -0
- package/dist/web/.next-embedded/server/app/setup.segments/_tree.segment.rsc +2 -0
- package/dist/web/.next-embedded/server/app/setup.segments/setup/__PAGE__.segment.rsc +22 -0
- package/dist/web/.next-embedded/server/app/signin/page.js +2 -0
- package/dist/web/.next-embedded/server/app/signin/page_client-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/app-paths-manifest.json +108 -0
- package/dist/web/.next-embedded/server/chunks/1117.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1173.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1190.js +1 -0
- package/dist/web/.next-embedded/server/chunks/121.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1231.js +8 -0
- package/dist/web/.next-embedded/server/chunks/1252.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1328.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1503.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1519.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1610.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1614.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1794.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1804.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1924.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1947.js +1 -0
- package/dist/web/.next-embedded/server/chunks/1998.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2026.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2030.js +39 -0
- package/dist/web/.next-embedded/server/chunks/2049.js +12 -0
- package/dist/web/.next-embedded/server/chunks/2192.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2208.js +3 -0
- package/dist/web/.next-embedded/server/chunks/2239.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2250.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2294.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2300.js +1 -0
- package/dist/web/.next-embedded/server/chunks/235.js +1 -0
- package/dist/web/.next-embedded/server/chunks/240.js +2 -0
- package/dist/web/.next-embedded/server/chunks/2400.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2438.js +2 -0
- package/dist/web/.next-embedded/server/chunks/2448.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2502.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2580.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2587.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2610.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2670.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2780.js +165 -0
- package/dist/web/.next-embedded/server/chunks/2792.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2857.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2884.js +1 -0
- package/dist/web/.next-embedded/server/chunks/2895.js +19 -0
- package/dist/web/.next-embedded/server/chunks/2961.js +1 -0
- package/dist/web/.next-embedded/server/chunks/3171.js +1 -0
- package/dist/web/.next-embedded/server/chunks/3222.js +2 -0
- package/dist/web/.next-embedded/server/chunks/3351.js +1 -0
- package/dist/web/.next-embedded/server/chunks/3381.js +1 -0
- package/dist/web/.next-embedded/server/chunks/3520.js +8 -0
- package/dist/web/.next-embedded/server/chunks/364.js +1 -0
- package/dist/web/.next-embedded/server/chunks/411.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4119.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4128.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4191.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4200.js +1 -0
- package/dist/web/.next-embedded/server/chunks/434.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4368.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4463.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4467.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4543.js +8 -0
- package/dist/web/.next-embedded/server/chunks/468.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4741.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4755.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4758.js +21 -0
- package/dist/web/.next-embedded/server/chunks/4870.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4877.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4888.js +1 -0
- package/dist/web/.next-embedded/server/chunks/491.js +1 -0
- package/dist/web/.next-embedded/server/chunks/4911.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5036.js +27 -0
- package/dist/web/.next-embedded/server/chunks/5052.js +134 -0
- package/dist/web/.next-embedded/server/chunks/5057.js +55 -0
- package/dist/web/.next-embedded/server/chunks/5126.js +8 -0
- package/dist/web/.next-embedded/server/chunks/5133.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5173.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5225.js +2 -0
- package/dist/web/.next-embedded/server/chunks/5277.js +324 -0
- package/dist/web/.next-embedded/server/chunks/5398.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5568.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5576.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5634.js +19 -0
- package/dist/web/.next-embedded/server/chunks/5645.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5684.js +5 -0
- package/dist/web/.next-embedded/server/chunks/5699.js +1 -0
- package/dist/web/.next-embedded/server/chunks/57.js +2 -0
- package/dist/web/.next-embedded/server/chunks/5734.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5787.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5796.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5933.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5945.js +1 -0
- package/dist/web/.next-embedded/server/chunks/5961.js +1 -0
- package/dist/web/.next-embedded/server/chunks/6445.js +55 -0
- package/dist/web/.next-embedded/server/chunks/6511.js +18 -0
- package/dist/web/.next-embedded/server/chunks/6518.js +1 -0
- package/dist/web/.next-embedded/server/chunks/6572.js +1 -0
- package/dist/web/.next-embedded/server/chunks/6672.js +2 -0
- package/dist/web/.next-embedded/server/chunks/6773.js +1 -0
- package/dist/web/.next-embedded/server/chunks/6821.js +1 -0
- package/dist/web/.next-embedded/server/chunks/6926.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7090.js +25 -0
- package/dist/web/.next-embedded/server/chunks/7206.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7269.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7380.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7395.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7466.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7571.js +1 -0
- package/dist/web/.next-embedded/server/chunks/769.js +1 -0
- package/dist/web/.next-embedded/server/chunks/784.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7861.js +1 -0
- package/dist/web/.next-embedded/server/chunks/7944.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8020.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8061.js +2 -0
- package/dist/web/.next-embedded/server/chunks/822.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8302.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8336.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8376.js +1 -0
- package/dist/web/.next-embedded/server/chunks/841.js +2 -0
- package/dist/web/.next-embedded/server/chunks/8430.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8563.js +2 -0
- package/dist/web/.next-embedded/server/chunks/8576.js +193 -0
- package/dist/web/.next-embedded/server/chunks/8656.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8726.js +1 -0
- package/dist/web/.next-embedded/server/chunks/8935.js +1 -0
- package/dist/web/.next-embedded/server/chunks/9260.js +1 -0
- package/dist/web/.next-embedded/server/chunks/9314.js +1 -0
- package/dist/web/.next-embedded/server/chunks/9332.js +1 -0
- package/dist/web/.next-embedded/server/chunks/9380.js +13 -0
- package/dist/web/.next-embedded/server/chunks/951.js +2 -0
- package/dist/web/.next-embedded/server/chunks/9537.js +1 -0
- package/dist/web/.next-embedded/server/chunks/9840.js +1 -0
- package/dist/web/.next-embedded/server/chunks/9913.js +1 -0
- package/dist/web/.next-embedded/server/functions-config-manifest.json +97 -0
- package/dist/web/.next-embedded/server/instrumentation.js +1 -0
- package/dist/web/.next-embedded/server/interception-route-rewrite-manifest.js +1 -0
- package/dist/web/.next-embedded/server/middleware-build-manifest.js +1 -0
- package/dist/web/.next-embedded/server/middleware-manifest.json +6 -0
- package/dist/web/.next-embedded/server/middleware-react-loadable-manifest.js +1 -0
- package/dist/web/.next-embedded/server/middleware.js +217 -0
- package/dist/web/.next-embedded/server/next-font-manifest.js +1 -0
- package/dist/web/.next-embedded/server/next-font-manifest.json +1 -0
- package/dist/web/.next-embedded/server/pages/404.html +1 -0
- package/dist/web/.next-embedded/server/pages/500.html +1 -0
- package/dist/web/.next-embedded/server/pages-manifest.json +4 -0
- package/dist/web/.next-embedded/server/prefetch-hints.json +44 -0
- package/dist/web/.next-embedded/server/server-reference-manifest.js +1 -0
- package/dist/web/.next-embedded/server/server-reference-manifest.json +1 -0
- package/dist/web/.next-embedded/server/webpack-runtime.js +1 -0
- package/dist/web/.next-embedded/static/DkxmcmiDAUutpm9e7G9xn/_buildManifest.js +1 -0
- package/dist/web/.next-embedded/static/DkxmcmiDAUutpm9e7G9xn/_ssgManifest.js +1 -0
- package/dist/web/.next-embedded/static/chunks/1000-501917027865ec48.js +52 -0
- package/dist/web/.next-embedded/static/chunks/1435-55acf1390b3a2da1.js +1 -0
- package/dist/web/.next-embedded/static/chunks/2349-3254a65053329135.js +1 -0
- package/dist/web/.next-embedded/static/chunks/2378-4ca744bf47c3dabb.js +1 -0
- package/dist/web/.next-embedded/static/chunks/2685-42c2a4f17fb6adb1.js +18 -0
- package/dist/web/.next-embedded/static/chunks/5633-9a07d4830813ece7.js +1 -0
- package/dist/web/.next-embedded/static/chunks/6365-04af34ae5b1497e3.js +1 -0
- package/dist/web/.next-embedded/static/chunks/6482-ecc9c62a178ba724.js +1 -0
- package/dist/web/.next-embedded/static/chunks/7413-3a721e7c495f89fb.js +55 -0
- package/dist/web/.next-embedded/static/chunks/9595-fea797909cd07d91.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/admin/api-keys/page-5fe6d7717b0565f1.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/admin/models/new/page-875800e6afa2dac3.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/admin/models/page-7c39ee3c51034f12.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/admin/runtimes/page-d51caeefc8b5ed98.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/admin/settings/page-7f1874c14b33856a.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/admin/shares/page-c194edfd7701dc77.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/admin/users/page-463489ca2ebf664f.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/agents/[id]/page-febe3b0582c996ae.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/agents/new/page-a5ba72c5bc40b6e1.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/agents/page-89d6af2961318db8.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/connectors/new/page-b7ab59a7697ce004.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/connectors/page-be6a19d14cc78f0f.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/files/page-63febed6b4433238.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/layout-4667e8f589776bbe.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/page-2cd836e518729ee6.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/projects/[id]/page-e6bc2217623b8939.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/projects/page-3db56f853165c53c.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/runs/page-fe28919e456c3966.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/skills/[name]/page-69390975e9417783.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/skills/page-1e756149864de860.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/(shell)/workspaces/page-47afb61daed3bbb2.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/_global-error/page-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/_not-found/page-1e20f0faf42b5dab.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/evaluations/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/feedback/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/grants/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/pointers/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/policy/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/promote/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/resources/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/rollback/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/runs/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/[id]/versions/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/agents/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/api-keys/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/api-keys/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/audit-events/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/auth/callback/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/auth/cli-device/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/auth/cli-token/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/auth/cli-verify/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/auth/cli-workspace/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/auth/login/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/auth/workspace/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/connectors/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/connectors/[id]/test-connection/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/connectors/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/engines/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/files/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/files/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/invitations/[id]/accept/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/invitations/[id]/resend/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/invitations/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/invitations/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/me/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/memberships/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/memberships/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/metrics/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/model-connections/[id]/credential/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/model-connections/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/model-connections/[id]/test/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/model-connections/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/models/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/projects/[id]/archive/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/projects/[id]/restore/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/projects/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/projects/[id]/sessions/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/projects/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runs/[id]/events/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runs/[id]/feedback/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runs/[id]/interrupt/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runs/[id]/revoke-tokens/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runs/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runs/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runtime-connections/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runtime-profiles/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runtime-profiles/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/runtimes/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/secrets/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/secrets/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sessions/[engineSessionId]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sessions/[engineSessionId]/state-blobs/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sessions/[engineSessionId]/state-entries/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sessions/[engineSessionId]/state-streams/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sessions/[engineSessionId]/subkeys/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sessions/[engineSessionId]/transcript/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sessions/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/setup/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/setup/runtime-detect/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/shares/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/shares/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/sharing-policies/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/skills/[name]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/skills/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/tokens/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/users/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/workspaces/[id]/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/api/workspaces/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/layout-2f33ac5af1408328.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/[token]/layout-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/[token]/messages/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/[token]/page-6cd5f2bd228d80dc.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/s/[name]/page-3bbe19f3f8fa0cd8.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/s/[name]/sessions/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/s/[name]/try/layout-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/s/[name]/try/page-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/p/s/[name]/widget.js/route-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/setup/page-1ffa2012b2226832.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/signin/layout-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/app/signin/page-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/b7e071c5-1178abcc3dcc97b7.js +1 -0
- package/dist/web/.next-embedded/static/chunks/framework-bd8f371b90cbf524.js +1 -0
- package/dist/web/.next-embedded/static/chunks/main-5f1d9db627247614.js +5 -0
- package/dist/web/.next-embedded/static/chunks/main-app-736eb94d950bf794.js +1 -0
- package/dist/web/.next-embedded/static/chunks/next/dist/client/components/builtin/app-error-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/next/dist/client/components/builtin/forbidden-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/next/dist/client/components/builtin/global-error-bcd4657bc775688d.js +1 -0
- package/dist/web/.next-embedded/static/chunks/next/dist/client/components/builtin/not-found-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/next/dist/client/components/builtin/unauthorized-259206b8559c1c4b.js +1 -0
- package/dist/web/.next-embedded/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/web/.next-embedded/static/chunks/webpack-e654bfe3f030a510.js +1 -0
- package/dist/web/.next-embedded/static/css/85d72f669bcd1172.css +1 -0
- package/dist/web/next.config.mjs +1 -0
- package/package.json +51 -3
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
-- ADR-0065 gives the harness that runs an agent loop its own name, `engine`, because `provider`
|
|
2
|
+
-- already means the *model* provider on `runs` and on `model_connections`. Migration 0024 renamed
|
|
3
|
+
-- `sessions.claude_session_id` to `sessions.engine_session_id` and added `sessions.engine`,
|
|
4
|
+
-- `runs.engine` and `runs.engine_version`. This migration moves the data that the rename leaves
|
|
5
|
+
-- behind — the discriminant inside the `agents.policy` JSON document, which no `ALTER TABLE` can
|
|
6
|
+
-- reach — and backfills the engine of every session that already has an identity.
|
|
7
|
+
--
|
|
8
|
+
-- Every statement is idempotent and order-independent with respect to the rows it does not touch,
|
|
9
|
+
-- so re-running the migration set against a partially migrated database is safe.
|
|
10
|
+
--
|
|
11
|
+
-- `runs.engine` is deliberately NOT backfilled. A historic run row never recorded which engine
|
|
12
|
+
-- executed it, and writing `claude-agent-sdk` onto it would make a guess indistinguishable from a
|
|
13
|
+
-- measurement — the same false-zero mistake `runs.accounting_state` exists to avoid (issue #134).
|
|
14
|
+
-- `NULL` reads as "this run predates the column", which is the truth. Stated here so a later reader
|
|
15
|
+
-- does not take the omission for an oversight.
|
|
16
|
+
|
|
17
|
+
-- `agents.policy` is a jsonb document whose discriminant was `provider`. Rewrite the key in place:
|
|
18
|
+
-- `- 'provider'` removes the old key and `|| jsonb_build_object(...)` adds the new one, carrying the
|
|
19
|
+
-- value across rather than assuming it. Only `claude-agent-sdk` was ever storable there — the
|
|
20
|
+
-- column has always been written through `AgentPolicySchema` — so the value needs no mapping table.
|
|
21
|
+
--
|
|
22
|
+
-- A row that already carries `engine` is left alone, which is what makes this re-runnable. A row
|
|
23
|
+
-- carrying NEITHER key is not a policy this schema ever wrote and is left for a reader to find,
|
|
24
|
+
-- rather than being given an invented engine.
|
|
25
|
+
UPDATE "agents"
|
|
26
|
+
SET "policy" = ("policy" - 'provider') || jsonb_build_object('engine', "policy" ->> 'provider')
|
|
27
|
+
WHERE "policy" IS NOT NULL
|
|
28
|
+
AND "policy" ? 'provider'
|
|
29
|
+
AND NOT ("policy" ? 'engine');
|
|
30
|
+
--> statement-breakpoint
|
|
31
|
+
-- Every session that already has an engine session id got it from the only engine this platform
|
|
32
|
+
-- has ever run, so its engine is known rather than guessed. A session with no identity yet is left
|
|
33
|
+
-- NULL: nothing has pinned it, and #318 is what pins it at first run.
|
|
34
|
+
--
|
|
35
|
+
-- This is the statement that makes the release's invariant hold:
|
|
36
|
+
-- select count(*) from sessions where engine is null and engine_session_id is not null -- 0
|
|
37
|
+
UPDATE "sessions"
|
|
38
|
+
SET "engine" = 'claude-agent-sdk'
|
|
39
|
+
WHERE "engine" IS NULL
|
|
40
|
+
AND "engine_session_id" IS NOT NULL;
|
|
41
|
+
--> statement-breakpoint
|
|
42
|
+
-- Migration 0024 added both engine CHECK constraints `NOT VALID`, and this migration validates
|
|
43
|
+
-- them. That split does NOT buy a weaker lock or a shorter cutover: drizzle's `migrate()` applies
|
|
44
|
+
-- every pending migration in one transaction, so 0024's ACCESS EXCLUSIVE locks are still held
|
|
45
|
+
-- while these scans run. What it buys is control over where the scan happens — here, after the
|
|
46
|
+
-- backfill above, so it checks the rows this migration wrote — and re-runnability: `VALIDATE` on
|
|
47
|
+
-- an already-validated constraint is a no-op (ADR-0069).
|
|
48
|
+
ALTER TABLE "runs" VALIDATE CONSTRAINT "runs_engine_valid";
|
|
49
|
+
--> statement-breakpoint
|
|
50
|
+
ALTER TABLE "sessions" VALIDATE CONSTRAINT "sessions_engine_valid";
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
CREATE TABLE "session_state_blobs" (
|
|
2
|
+
"workspace_id" uuid NOT NULL,
|
|
3
|
+
"session_id" uuid NOT NULL,
|
|
4
|
+
"engine" text NOT NULL,
|
|
5
|
+
"blob_key" text NOT NULL,
|
|
6
|
+
"storage_key" text NOT NULL,
|
|
7
|
+
"size_bytes" bigint NOT NULL,
|
|
8
|
+
"sha256" text NOT NULL,
|
|
9
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
10
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
11
|
+
CONSTRAINT "session_state_blobs_pkey" PRIMARY KEY("workspace_id","session_id","engine","blob_key"),
|
|
12
|
+
CONSTRAINT "session_state_blobs_engine_valid" CHECK ("session_state_blobs"."engine" in ('claude-agent-sdk'))
|
|
13
|
+
);
|
|
14
|
+
--> statement-breakpoint
|
|
15
|
+
CREATE TABLE "session_state_entries" (
|
|
16
|
+
"workspace_id" uuid NOT NULL,
|
|
17
|
+
"session_id" uuid NOT NULL,
|
|
18
|
+
"engine" text NOT NULL,
|
|
19
|
+
"stream_key" text NOT NULL,
|
|
20
|
+
"sequence" bigint NOT NULL,
|
|
21
|
+
"entry_key" text,
|
|
22
|
+
"entry" jsonb NOT NULL,
|
|
23
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
24
|
+
CONSTRAINT "session_state_entries_pkey" PRIMARY KEY("workspace_id","session_id","engine","stream_key","sequence"),
|
|
25
|
+
CONSTRAINT "session_state_entries_engine_valid" CHECK ("session_state_entries"."engine" in ('claude-agent-sdk'))
|
|
26
|
+
);
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
CREATE TABLE "session_state_streams" (
|
|
29
|
+
"workspace_id" uuid NOT NULL,
|
|
30
|
+
"session_id" uuid NOT NULL,
|
|
31
|
+
"engine" text NOT NULL,
|
|
32
|
+
"stream_key" text NOT NULL,
|
|
33
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
34
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
35
|
+
CONSTRAINT "session_state_streams_pkey" PRIMARY KEY("workspace_id","session_id","engine","stream_key"),
|
|
36
|
+
CONSTRAINT "session_state_streams_engine_valid" CHECK ("session_state_streams"."engine" in ('claude-agent-sdk'))
|
|
37
|
+
);
|
|
38
|
+
--> statement-breakpoint
|
|
39
|
+
ALTER TABLE "session_state_blobs" ADD CONSTRAINT "session_state_blobs_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
40
|
+
ALTER TABLE "session_state_blobs" ADD CONSTRAINT "session_state_blobs_session_workspace_fk" FOREIGN KEY ("session_id","workspace_id") REFERENCES "public"."sessions"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
41
|
+
ALTER TABLE "session_state_entries" ADD CONSTRAINT "session_state_entries_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
42
|
+
ALTER TABLE "session_state_entries" ADD CONSTRAINT "session_state_entries_stream_fk" FOREIGN KEY ("workspace_id","session_id","engine","stream_key") REFERENCES "public"."session_state_streams"("workspace_id","session_id","engine","stream_key") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
43
|
+
ALTER TABLE "session_state_streams" ADD CONSTRAINT "session_state_streams_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
44
|
+
ALTER TABLE "session_state_streams" ADD CONSTRAINT "session_state_streams_session_workspace_fk" FOREIGN KEY ("session_id","workspace_id") REFERENCES "public"."sessions"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
45
|
+
CREATE INDEX "session_state_blobs_workspace_updated_idx" ON "session_state_blobs" USING btree ("workspace_id","updated_at");--> statement-breakpoint
|
|
46
|
+
CREATE UNIQUE INDEX "session_state_entries_key_unique" ON "session_state_entries" USING btree ("workspace_id","session_id","engine","stream_key","entry_key");--> statement-breakpoint
|
|
47
|
+
CREATE INDEX "session_state_streams_workspace_updated_idx" ON "session_state_streams" USING btree ("workspace_id","updated_at");
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
-- ENG-06 (#305): move every existing Claude transcript into the engine-scoped session store that
|
|
2
|
+
-- migration 0026 created, so a session that existed before the upgrade resumes after it with its
|
|
3
|
+
-- full history. ADR-0071 records the shape; this file is the data half of it.
|
|
4
|
+
--
|
|
5
|
+
-- **A single-revision cutover** (ADR-0071, in the sense of `docs/adr/0069-*`). The schema is
|
|
6
|
+
-- additive — `session_transcripts` and `session_messages` are left exactly as they are — but this
|
|
7
|
+
-- copy is ONE-SHOT: it moves what the legacy tables hold when `migrate` runs, and nothing copies
|
|
8
|
+
-- anything after that. A previous-release revision still serving during a rolling update keeps
|
|
9
|
+
-- appending to the legacy tables, and those turns would be missing from every later resume. So the
|
|
10
|
+
-- old revision is drained, or scaled to zero, before the new one starts and migrates; rollback is
|
|
11
|
+
-- restoring the pre-upgrade backup. Every `docs/deploy/*` guide carries the step. Removing the old
|
|
12
|
+
-- pair is the contract half, and it is a later unit's work, not this one's.
|
|
13
|
+
--
|
|
14
|
+
-- Every statement is idempotent: re-running the migration set against a partially migrated
|
|
15
|
+
-- database inserts nothing a previous run already inserted, so a retry is safe.
|
|
16
|
+
--
|
|
17
|
+
-- `session_transcripts.session_id` holds the id the ENGINE reported, and for a Claude session that
|
|
18
|
+
-- is the platform's own `sessions.id` — the platform passes `sessions.id` as `Options.sessionId`,
|
|
19
|
+
-- which is also why `session_transcripts_session_workspace_fk` has always held. The new tables key
|
|
20
|
+
-- on `sessions.id` deliberately (no other engine promises the two are equal), so the copy carries
|
|
21
|
+
-- `session_id` across unchanged and the existing foreign key is the evidence that it resolves.
|
|
22
|
+
|
|
23
|
+
-- One stream per old transcript key. `stream_key` is `project_key || '/' || subpath`, which is the
|
|
24
|
+
-- Claude adapter's own key rendered into the one field the platform promises not to interpret —
|
|
25
|
+
-- the main transcript's `subpath` is the empty string, so its stream key ends in a bare `/`.
|
|
26
|
+
INSERT INTO "session_state_streams" ("workspace_id", "session_id", "engine", "stream_key", "created_at", "updated_at")
|
|
27
|
+
SELECT "workspace_id", "session_id", 'claude-agent-sdk', "project_key" || '/' || "subpath", "created_at", "updated_at"
|
|
28
|
+
FROM "session_transcripts"
|
|
29
|
+
ON CONFLICT DO NOTHING;
|
|
30
|
+
--> statement-breakpoint
|
|
31
|
+
-- The entries, folded the way `load()` already folded them.
|
|
32
|
+
--
|
|
33
|
+
-- `session_messages` is append-only: a redelivered entry got a NEW `sequence` and kept its
|
|
34
|
+
-- `position`, and a read folded the LATEST delivery into the FIRST position. The new store holds one
|
|
35
|
+
-- row per entry instead, so the fold happens here, once, rather than on every read:
|
|
36
|
+
--
|
|
37
|
+
-- * `latest` picks the highest-`sequence` delivery of each `position` — the entry as the last
|
|
38
|
+
-- delivery left it, which is exactly what `load()` returned;
|
|
39
|
+
-- * `dense_rank()` over `position` renumbers the survivors from 1 with no gaps, because the new
|
|
40
|
+
-- store's `sequence` is dense within a stream and `replace-all`/`delete-last` depend on it;
|
|
41
|
+
-- * `entry_uuid` becomes `entry_key`, NULL and all: an entry the SDK gave no uuid has no
|
|
42
|
+
-- identity to dedup on (R-01 §7), and inventing one here would be an idempotency claim about
|
|
43
|
+
-- an entry that has none.
|
|
44
|
+
--
|
|
45
|
+
-- ORDER BY inside `dense_rank()` is `position` alone: `position` is a first-delivery sequence, so it
|
|
46
|
+
-- is already unique per key and already the order `load()` produced.
|
|
47
|
+
INSERT INTO "session_state_entries" ("workspace_id", "session_id", "engine", "stream_key", "sequence", "entry_key", "entry", "created_at")
|
|
48
|
+
SELECT
|
|
49
|
+
"latest"."workspace_id",
|
|
50
|
+
"latest"."session_id",
|
|
51
|
+
'claude-agent-sdk',
|
|
52
|
+
"latest"."project_key" || '/' || "latest"."subpath",
|
|
53
|
+
dense_rank() OVER (
|
|
54
|
+
PARTITION BY "latest"."workspace_id", "latest"."session_id", "latest"."project_key", "latest"."subpath"
|
|
55
|
+
ORDER BY "latest"."position"
|
|
56
|
+
),
|
|
57
|
+
"latest"."entry_uuid",
|
|
58
|
+
"latest"."entry",
|
|
59
|
+
"latest"."created_at"
|
|
60
|
+
FROM (
|
|
61
|
+
SELECT DISTINCT ON ("workspace_id", "project_key", "session_id", "subpath", "position")
|
|
62
|
+
"workspace_id", "project_key", "session_id", "subpath", "position", "entry_uuid", "entry", "created_at"
|
|
63
|
+
FROM "session_messages"
|
|
64
|
+
ORDER BY "workspace_id", "project_key", "session_id", "subpath", "position", "sequence" DESC
|
|
65
|
+
) AS "latest"
|
|
66
|
+
ON CONFLICT DO NOTHING;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- ENG-09 (#308, ADR-0074): `openai-agents` joins `claude-agent-sdk` in every engine CHECK.
|
|
2
|
+
-- Additive: each constraint is widened, never narrowed, and a revision from the previous release
|
|
3
|
+
-- only ever writes `claude-agent-sdk`, which both the old and the new constraint admit — so no
|
|
4
|
+
-- single-revision cutover is needed (ADR-0069's rule applies to incompatible changes).
|
|
5
|
+
ALTER TABLE "runs" DROP CONSTRAINT "runs_engine_valid";--> statement-breakpoint
|
|
6
|
+
ALTER TABLE "session_state_blobs" DROP CONSTRAINT "session_state_blobs_engine_valid";--> statement-breakpoint
|
|
7
|
+
ALTER TABLE "session_state_entries" DROP CONSTRAINT "session_state_entries_engine_valid";--> statement-breakpoint
|
|
8
|
+
ALTER TABLE "session_state_streams" DROP CONSTRAINT "session_state_streams_engine_valid";--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "sessions" DROP CONSTRAINT "sessions_engine_valid";--> statement-breakpoint
|
|
10
|
+
ALTER TABLE "runs" ADD CONSTRAINT "runs_engine_valid" CHECK ("runs"."engine" in ('claude-agent-sdk', 'openai-agents'));--> statement-breakpoint
|
|
11
|
+
ALTER TABLE "session_state_blobs" ADD CONSTRAINT "session_state_blobs_engine_valid" CHECK ("session_state_blobs"."engine" in ('claude-agent-sdk', 'openai-agents'));--> statement-breakpoint
|
|
12
|
+
ALTER TABLE "session_state_entries" ADD CONSTRAINT "session_state_entries_engine_valid" CHECK ("session_state_entries"."engine" in ('claude-agent-sdk', 'openai-agents'));--> statement-breakpoint
|
|
13
|
+
ALTER TABLE "session_state_streams" ADD CONSTRAINT "session_state_streams_engine_valid" CHECK ("session_state_streams"."engine" in ('claude-agent-sdk', 'openai-agents'));--> statement-breakpoint
|
|
14
|
+
ALTER TABLE "sessions" ADD CONSTRAINT "sessions_engine_valid" CHECK ("sessions"."engine" in ('claude-agent-sdk', 'openai-agents'));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- ENG-08 (#307, ADR-0081): `pi` joins `claude-agent-sdk` and `openai-agents` in every engine CHECK.
|
|
2
|
+
-- Additive: each constraint is widened, never narrowed, and a revision from the previous release
|
|
3
|
+
-- only ever writes `claude-agent-sdk` or `openai-agents`, which both the old and the new constraint
|
|
4
|
+
-- admit — so no single-revision cutover is needed (ADR-0069's rule applies to incompatible changes).
|
|
5
|
+
ALTER TABLE "runs" DROP CONSTRAINT "runs_engine_valid";--> statement-breakpoint
|
|
6
|
+
ALTER TABLE "session_state_blobs" DROP CONSTRAINT "session_state_blobs_engine_valid";--> statement-breakpoint
|
|
7
|
+
ALTER TABLE "session_state_entries" DROP CONSTRAINT "session_state_entries_engine_valid";--> statement-breakpoint
|
|
8
|
+
ALTER TABLE "session_state_streams" DROP CONSTRAINT "session_state_streams_engine_valid";--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "sessions" DROP CONSTRAINT "sessions_engine_valid";--> statement-breakpoint
|
|
10
|
+
ALTER TABLE "runs" ADD CONSTRAINT "runs_engine_valid" CHECK ("runs"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi'));--> statement-breakpoint
|
|
11
|
+
ALTER TABLE "session_state_blobs" ADD CONSTRAINT "session_state_blobs_engine_valid" CHECK ("session_state_blobs"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi'));--> statement-breakpoint
|
|
12
|
+
ALTER TABLE "session_state_entries" ADD CONSTRAINT "session_state_entries_engine_valid" CHECK ("session_state_entries"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi'));--> statement-breakpoint
|
|
13
|
+
ALTER TABLE "session_state_streams" ADD CONSTRAINT "session_state_streams_engine_valid" CHECK ("session_state_streams"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi'));--> statement-breakpoint
|
|
14
|
+
ALTER TABLE "sessions" ADD CONSTRAINT "sessions_engine_valid" CHECK ("sessions"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi'));
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
CREATE TABLE "cli_sessions" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"workspace_id" uuid NOT NULL,
|
|
4
|
+
"user_id" uuid NOT NULL,
|
|
5
|
+
"user_code" text NOT NULL,
|
|
6
|
+
"status" text NOT NULL,
|
|
7
|
+
"approval_expires_at" timestamp with time zone NOT NULL,
|
|
8
|
+
"token_hash" text,
|
|
9
|
+
"expires_at" timestamp with time zone,
|
|
10
|
+
"revoked_at" timestamp with time zone,
|
|
11
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
12
|
+
CONSTRAINT "cli_sessions_status_valid" CHECK ("cli_sessions"."status" in ('approved', 'denied', 'active', 'revoked')),
|
|
13
|
+
CONSTRAINT "cli_sessions_user_code_shape" CHECK ("cli_sessions"."user_code" ~ '^[A-Z]{8}$'),
|
|
14
|
+
CONSTRAINT "cli_sessions_token_iff_issued" CHECK (("cli_sessions"."status" in ('active', 'revoked')) = ("cli_sessions"."token_hash" is not null and "cli_sessions"."expires_at" is not null)),
|
|
15
|
+
CONSTRAINT "cli_sessions_revoked_iff_status" CHECK (("cli_sessions"."status" = 'revoked') = ("cli_sessions"."revoked_at" is not null)),
|
|
16
|
+
CONSTRAINT "cli_sessions_expiry_after_created" CHECK ("cli_sessions"."expires_at" is null or "cli_sessions"."expires_at" > "cli_sessions"."created_at")
|
|
17
|
+
);
|
|
18
|
+
--> statement-breakpoint
|
|
19
|
+
ALTER TABLE "cli_sessions" ADD CONSTRAINT "cli_sessions_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
20
|
+
ALTER TABLE "cli_sessions" ADD CONSTRAINT "cli_sessions_member_workspace_fk" FOREIGN KEY ("workspace_id","user_id") REFERENCES "public"."memberships"("workspace_id","user_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
21
|
+
CREATE UNIQUE INDEX "cli_sessions_user_code_key" ON "cli_sessions" USING btree ("user_code");--> statement-breakpoint
|
|
22
|
+
CREATE UNIQUE INDEX "cli_sessions_token_hash_key" ON "cli_sessions" USING btree ("token_hash");--> statement-breakpoint
|
|
23
|
+
CREATE INDEX "cli_sessions_workspace_user_idx" ON "cli_sessions" USING btree ("workspace_id","user_id");
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-- ENG-10 (#309, ADR-0084): `mastra` joins `claude-agent-sdk`, `openai-agents` and `pi` in every engine
|
|
2
|
+
-- CHECK. Additive: each constraint is widened, never narrowed, and a revision from the previous release
|
|
3
|
+
-- only ever writes one of the three earlier ids, which both the old and the new constraint admit — so
|
|
4
|
+
-- no single-revision cutover is needed (ADR-0069's rule applies to incompatible changes). Numbered
|
|
5
|
+
-- 0031 so the file prefix equals the journal `idx` (31): `drizzle-kit generate` names the next
|
|
6
|
+
-- migration `lastEntry.idx + 1`, so a gap would make it reuse this prefix and overwrite
|
|
7
|
+
-- `meta/0032_snapshot.json`. It follows 0030 (`cli_sessions`, #356, ADR-0083), which merged first.
|
|
8
|
+
ALTER TABLE "runs" DROP CONSTRAINT "runs_engine_valid";--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "session_state_blobs" DROP CONSTRAINT "session_state_blobs_engine_valid";--> statement-breakpoint
|
|
10
|
+
ALTER TABLE "session_state_entries" DROP CONSTRAINT "session_state_entries_engine_valid";--> statement-breakpoint
|
|
11
|
+
ALTER TABLE "session_state_streams" DROP CONSTRAINT "session_state_streams_engine_valid";--> statement-breakpoint
|
|
12
|
+
ALTER TABLE "sessions" DROP CONSTRAINT "sessions_engine_valid";--> statement-breakpoint
|
|
13
|
+
ALTER TABLE "runs" ADD CONSTRAINT "runs_engine_valid" CHECK ("runs"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi', 'mastra'));--> statement-breakpoint
|
|
14
|
+
ALTER TABLE "session_state_blobs" ADD CONSTRAINT "session_state_blobs_engine_valid" CHECK ("session_state_blobs"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi', 'mastra'));--> statement-breakpoint
|
|
15
|
+
ALTER TABLE "session_state_entries" ADD CONSTRAINT "session_state_entries_engine_valid" CHECK ("session_state_entries"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi', 'mastra'));--> statement-breakpoint
|
|
16
|
+
ALTER TABLE "session_state_streams" ADD CONSTRAINT "session_state_streams_engine_valid" CHECK ("session_state_streams"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi', 'mastra'));--> statement-breakpoint
|
|
17
|
+
ALTER TABLE "sessions" ADD CONSTRAINT "sessions_engine_valid" CHECK ("sessions"."engine" in ('claude-agent-sdk', 'openai-agents', 'pi', 'mastra'));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
-- PR #403 review (issue #393): first-run setup marks the agent it configured and tested, so the
|
|
2
|
+
-- composer selects that agent before the user chooses one. Recorded on the agent, not as an id on
|
|
3
|
+
-- `workspaces`, so no reference points back into `agents` and a deleted agent takes its mark with it.
|
|
4
|
+
-- Additive and nullable; no revision from the previous release reads or writes it, so no
|
|
5
|
+
-- single-revision cutover is needed (ADR-0069). Numbered 0032 so the file prefix equals the journal
|
|
6
|
+
-- idx (32).
|
|
7
|
+
ALTER TABLE "agents" ADD COLUMN "setup_configured_at" timestamp with time zone;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
-- Issue #442 (S1-04, ADR-0101): the agent version store. `agent_versions` holds each agent's
|
|
2
|
+
-- immutable, numbered definitions and `agent_version_pointers` records which version is live in an
|
|
3
|
+
-- environment. The pointer → version FK carries `workspace_id` as a third column so the reference is
|
|
4
|
+
-- tenant-paired (tenancy.test.ts bucket 3). Additive: it creates two tables with their constraints
|
|
5
|
+
-- and index, and no revision from the previous release reads or writes them, so no single-revision
|
|
6
|
+
-- cutover is needed (ADR-0069). Numbered 0033 so the file prefix equals the journal idx (33).
|
|
7
|
+
CREATE TABLE "agent_version_pointers" (
|
|
8
|
+
"workspace_id" uuid NOT NULL,
|
|
9
|
+
"agent_id" uuid NOT NULL,
|
|
10
|
+
"environment" text NOT NULL,
|
|
11
|
+
"version_id" uuid NOT NULL,
|
|
12
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
13
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
14
|
+
CONSTRAINT "agent_version_pointers_pkey" PRIMARY KEY("agent_id","environment"),
|
|
15
|
+
CONSTRAINT "agent_version_pointers_environment_valid" CHECK ("agent_version_pointers"."environment" in ('local'))
|
|
16
|
+
);
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
CREATE TABLE "agent_versions" (
|
|
19
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
20
|
+
"workspace_id" uuid NOT NULL,
|
|
21
|
+
"agent_id" uuid NOT NULL,
|
|
22
|
+
"number" integer NOT NULL,
|
|
23
|
+
"summary" text NOT NULL,
|
|
24
|
+
"via" text NOT NULL,
|
|
25
|
+
"body" jsonb NOT NULL,
|
|
26
|
+
"created_by_principal_id" uuid NOT NULL,
|
|
27
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
28
|
+
CONSTRAINT "agent_versions_workspace_agent_number_key" UNIQUE("workspace_id","agent_id","number"),
|
|
29
|
+
CONSTRAINT "agent_versions_id_workspace_key" UNIQUE("id","workspace_id"),
|
|
30
|
+
CONSTRAINT "agent_versions_id_agent_workspace_key" UNIQUE("id","agent_id","workspace_id"),
|
|
31
|
+
CONSTRAINT "agent_versions_via_valid" CHECK ("agent_versions"."via" in ('ui', 'aw-push', 'api')),
|
|
32
|
+
CONSTRAINT "agent_versions_number_positive" CHECK ("agent_versions"."number" > 0)
|
|
33
|
+
);
|
|
34
|
+
--> statement-breakpoint
|
|
35
|
+
ALTER TABLE "agent_version_pointers" ADD CONSTRAINT "agent_version_pointers_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
36
|
+
ALTER TABLE "agent_version_pointers" ADD CONSTRAINT "agent_version_pointers_agent_workspace_fk" FOREIGN KEY ("agent_id","workspace_id") REFERENCES "public"."agents"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
37
|
+
ALTER TABLE "agent_version_pointers" ADD CONSTRAINT "agent_version_pointers_version_fk" FOREIGN KEY ("version_id","agent_id","workspace_id") REFERENCES "public"."agent_versions"("id","agent_id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
38
|
+
ALTER TABLE "agent_versions" ADD CONSTRAINT "agent_versions_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
39
|
+
ALTER TABLE "agent_versions" ADD CONSTRAINT "agent_versions_agent_workspace_fk" FOREIGN KEY ("agent_id","workspace_id") REFERENCES "public"."agents"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
40
|
+
ALTER TABLE "agent_versions" ADD CONSTRAINT "agent_versions_created_by_principal_workspace_fk" FOREIGN KEY ("workspace_id","created_by_principal_id") REFERENCES "public"."workspace_principals"("workspace_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
41
|
+
CREATE INDEX "agent_version_pointers_workspace_environment_idx" ON "agent_version_pointers" USING btree ("workspace_id","environment");
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-- Issue #504 (S1-22): a workspace may mark one runtime profile as its default. An agent version
|
|
2
|
+
-- that names no runtime profile (`runtimeProfileName: null`) resolves to it when the version is
|
|
3
|
+
-- applied, so the stored agent row carries a concrete profile id and run preflight stays strict.
|
|
4
|
+
-- The mark lives on `runtime_profiles` rather than as an id on `workspaces`, so the tenant root
|
|
5
|
+
-- gains no reference back into a tenant table (no second schema cycle), a workspace can never
|
|
6
|
+
-- default to another workspace's profile, and deleting the profile removes the default with it.
|
|
7
|
+
-- `workspace_default` is `true` or NULL, never `false`, so the plain unique key on
|
|
8
|
+
-- (workspace_id, workspace_default) allows at most one default per workspace.
|
|
9
|
+
-- Additive and nullable, with no backfill: every existing profile stays unmarked, which means "no
|
|
10
|
+
-- default" (agents that name no profile stay refused, as before). No revision from the previous
|
|
11
|
+
-- release reads or writes it, so no single-revision cutover is needed (ADR-0069). Numbered 0034 so
|
|
12
|
+
-- the file prefix equals the journal idx (34).
|
|
13
|
+
ALTER TABLE "runtime_profiles" ADD COLUMN "workspace_default" boolean;--> statement-breakpoint
|
|
14
|
+
ALTER TABLE "runtime_profiles" ADD CONSTRAINT "runtime_profiles_workspace_default_key" UNIQUE("workspace_id","workspace_default");--> statement-breakpoint
|
|
15
|
+
ALTER TABLE "runtime_profiles" ADD CONSTRAINT "runtime_profiles_workspace_default_true_or_null" CHECK ("runtime_profiles"."workspace_default" is null or "runtime_profiles"."workspace_default");
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
-- Issue #509 (S1-24): an API-key principal may record the membership principal it acts for. The
|
|
2
|
+
-- per-run local runtime key `aw dev` mints (ADR-0109, S1-21) acts for the bootstrap admin who
|
|
3
|
+
-- issued it, so what that key writes (agents, sessions, skills, files, MCP servers, projects and
|
|
4
|
+
-- shares) is owned by that admin rather than by a key the next start sweeps or that expires after
|
|
5
|
+
-- 12 h. Audit, version and browser-token attribution keep the acting key.
|
|
6
|
+
-- The column lives on `workspace_principals` rather than on `api_keys`: a reference from
|
|
7
|
+
-- `api_keys` to this table would close a schema cycle, while a self-reference is none. The pair
|
|
8
|
+
-- FK is tenant-paired and NO ACTION, like every owner FK, so a membership principal a key acted
|
|
9
|
+
-- for cannot be deleted while that key principal remains. The two checks keep the column on
|
|
10
|
+
-- API-key principals only and never pointing at the principal itself.
|
|
11
|
+
-- Additive and nullable, with no backfill: every existing principal stays unset, which means "owns
|
|
12
|
+
-- what it writes" (today's semantics; hosted keys never set it). The local start's repair step
|
|
13
|
+
-- fills it for earlier local runtime keys. No revision from the previous release reads or writes
|
|
14
|
+
-- it, so no single-revision cutover is needed (ADR-0069). Numbered 0035 so the file prefix equals
|
|
15
|
+
-- the journal idx (35).
|
|
16
|
+
ALTER TABLE "workspace_principals" ADD COLUMN "acts_for_principal_id" uuid;--> statement-breakpoint
|
|
17
|
+
ALTER TABLE "workspace_principals" ADD CONSTRAINT "workspace_principals_acts_for_workspace_fk" FOREIGN KEY ("workspace_id","acts_for_principal_id") REFERENCES "public"."workspace_principals"("workspace_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
18
|
+
ALTER TABLE "workspace_principals" ADD CONSTRAINT "workspace_principals_acts_for_api_key_only" CHECK ("workspace_principals"."acts_for_principal_id" is null or "workspace_principals"."kind" = 'api_key');--> statement-breakpoint
|
|
19
|
+
ALTER TABLE "workspace_principals" ADD CONSTRAINT "workspace_principals_acts_for_not_self" CHECK ("workspace_principals"."acts_for_principal_id" is null or "workspace_principals"."acts_for_principal_id" <> "workspace_principals"."id");
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
-- Issue #527 (S2-02b, ADR-0113 C15/C16): connector kinds and the run tool snapshot.
|
|
2
|
+
-- `mcp_servers` gains `kind` ('mcp', 'openapi' or 'postgres'; default 'mcp') and `tool_config`, a
|
|
3
|
+
-- JSON object a tool connector carries instead of a transport, command, args or URL. `runs` gains
|
|
4
|
+
-- `tool_connector_ids`, the sorted, distinct set of tool connectors a run may call, snapshotted
|
|
5
|
+
-- before launch (C16); it has no foreign key because PostgreSQL cannot put one on an array element,
|
|
6
|
+
-- and the gateway re-checks tenancy, kind and existence on every call. There is no secret-by-name
|
|
7
|
+
-- column (SD3): a tool connector's credential stays a reference by id into `secrets`.
|
|
8
|
+
-- Additive except two things: `transport` drops NOT NULL (a tool row has none), and the four
|
|
9
|
+
-- transport and credential checks are dropped and re-added under the same names, guarded by
|
|
10
|
+
-- `kind <> 'mcp' or (...)` so they mean exactly what they meant for every MCP row. Every existing
|
|
11
|
+
-- row becomes kind 'mcp' with tool_config NULL, and every constraint is added VALID, so applying
|
|
12
|
+
-- this migration proves that the existing rows satisfy the new checks. A revision from the previous
|
|
13
|
+
-- release inserts without `kind` and gets 'mcp', and reads neither new column, so no
|
|
14
|
+
-- single-revision cutover is needed (ADR-0069); tool rows cannot exist until S2-02c ships. The
|
|
15
|
+
-- openapi auth/credential pairing lives in tool_config and is enforced by the server and the
|
|
16
|
+
-- resource schema, not here. Numbered 0036 so the file prefix equals the journal idx (36).
|
|
17
|
+
ALTER TABLE "mcp_servers" DROP CONSTRAINT "mcp_servers_stdio_has_command";--> statement-breakpoint
|
|
18
|
+
ALTER TABLE "mcp_servers" DROP CONSTRAINT "mcp_servers_remote_has_url";--> statement-breakpoint
|
|
19
|
+
ALTER TABLE "mcp_servers" DROP CONSTRAINT "mcp_servers_args_are_stdio_only";--> statement-breakpoint
|
|
20
|
+
ALTER TABLE "mcp_servers" DROP CONSTRAINT "mcp_servers_credential_required";--> statement-breakpoint
|
|
21
|
+
ALTER TABLE "mcp_servers" ALTER COLUMN "transport" DROP NOT NULL;--> statement-breakpoint
|
|
22
|
+
ALTER TABLE "mcp_servers" ADD COLUMN "kind" text DEFAULT 'mcp' NOT NULL;--> statement-breakpoint
|
|
23
|
+
ALTER TABLE "mcp_servers" ADD COLUMN "tool_config" jsonb;--> statement-breakpoint
|
|
24
|
+
ALTER TABLE "runs" ADD COLUMN "tool_connector_ids" uuid[] DEFAULT '{}'::uuid[] NOT NULL;--> statement-breakpoint
|
|
25
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_kind_valid" CHECK ("mcp_servers"."kind" in ('mcp', 'openapi', 'postgres'));--> statement-breakpoint
|
|
26
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_transport_by_kind" CHECK (("mcp_servers"."kind" = 'mcp') = ("mcp_servers"."transport" is not null));--> statement-breakpoint
|
|
27
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_tool_kind_fields" CHECK ("mcp_servers"."kind" = 'mcp' or ("mcp_servers"."command" is null and "mcp_servers"."args" is null and "mcp_servers"."url" is null));--> statement-breakpoint
|
|
28
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_tool_config_by_kind" CHECK (("mcp_servers"."kind" = 'mcp') = ("mcp_servers"."tool_config" is null));--> statement-breakpoint
|
|
29
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_tool_config_is_object" CHECK ("mcp_servers"."tool_config" is null or jsonb_typeof("mcp_servers"."tool_config") = 'object');--> statement-breakpoint
|
|
30
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_tool_credential" CHECK ("mcp_servers"."kind" = 'mcp' or ("mcp_servers"."auth_type" = 'none' and ("mcp_servers"."kind" <> 'postgres' or "mcp_servers"."credential_secret_id" is not null)));--> statement-breakpoint
|
|
31
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_stdio_has_command" CHECK ("mcp_servers"."kind" <> 'mcp' or (("mcp_servers"."transport" = 'stdio') = ("mcp_servers"."command" is not null)));--> statement-breakpoint
|
|
32
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_remote_has_url" CHECK ("mcp_servers"."kind" <> 'mcp' or (("mcp_servers"."transport" in ('http', 'sse')) = ("mcp_servers"."url" is not null)));--> statement-breakpoint
|
|
33
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_args_are_stdio_only" CHECK ("mcp_servers"."kind" <> 'mcp' or ("mcp_servers"."args" is null or "mcp_servers"."transport" = 'stdio'));--> statement-breakpoint
|
|
34
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_credential_required" CHECK ("mcp_servers"."kind" <> 'mcp' or (("mcp_servers"."auth_type" in ('api-key', 'bearer', 'oauth')) = ("mcp_servers"."credential_secret_id" is not null)));
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- Issue #538 (S2-05b, C18, ADR-0105): the resume key of a hosted surface session.
|
|
2
|
+
-- `surface_session_keys` holds one row per session a surface bootstrap opened: the SHA-256 digest
|
|
3
|
+
-- of the key (never the key), and the surface name and agent it was issued for, so a reloaded page
|
|
4
|
+
-- resumes exactly that (surface, agent) session. Both references are tenant-paired and cascade.
|
|
5
|
+
-- Additive: one new table, its constraints and one index. No revision from the previous release
|
|
6
|
+
-- reads or writes it, so no single-revision cutover is needed (ADR-0069). Numbered 0037 so the
|
|
7
|
+
-- file prefix equals the journal idx (37).
|
|
8
|
+
CREATE TABLE "surface_session_keys" (
|
|
9
|
+
"session_id" uuid PRIMARY KEY NOT NULL,
|
|
10
|
+
"workspace_id" uuid NOT NULL,
|
|
11
|
+
"surface_name" text NOT NULL,
|
|
12
|
+
"agent_id" uuid NOT NULL,
|
|
13
|
+
"key_hash" text NOT NULL,
|
|
14
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
15
|
+
);
|
|
16
|
+
--> statement-breakpoint
|
|
17
|
+
ALTER TABLE "surface_session_keys" ADD CONSTRAINT "surface_session_keys_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
18
|
+
ALTER TABLE "surface_session_keys" ADD CONSTRAINT "surface_session_keys_session_workspace_fk" FOREIGN KEY ("session_id","workspace_id") REFERENCES "public"."sessions"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
19
|
+
ALTER TABLE "surface_session_keys" ADD CONSTRAINT "surface_session_keys_agent_workspace_fk" FOREIGN KEY ("agent_id","workspace_id") REFERENCES "public"."agents"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
20
|
+
CREATE INDEX "surface_session_keys_workspace_idx" ON "surface_session_keys" USING btree ("workspace_id");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
CREATE TABLE "run_feedback" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"workspace_id" uuid NOT NULL,
|
|
4
|
+
"run_id" uuid NOT NULL,
|
|
5
|
+
"rating" text NOT NULL,
|
|
6
|
+
"comment" text,
|
|
7
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
8
|
+
CONSTRAINT "run_feedback_rating_valid" CHECK ("run_feedback"."rating" in ('up', 'down')),
|
|
9
|
+
CONSTRAINT "run_feedback_comment_length" CHECK ("run_feedback"."comment" is null or char_length("run_feedback"."comment") <= 1000)
|
|
10
|
+
);
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
ALTER TABLE "run_feedback" ADD CONSTRAINT "run_feedback_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
13
|
+
ALTER TABLE "run_feedback" ADD CONSTRAINT "run_feedback_run_workspace_fk" FOREIGN KEY ("run_id","workspace_id") REFERENCES "public"."runs"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
14
|
+
CREATE INDEX "run_feedback_workspace_run_idx" ON "run_feedback" USING btree ("workspace_id","run_id");
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
CREATE TABLE "agent_version_evaluations" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"workspace_id" uuid NOT NULL,
|
|
4
|
+
"version_id" uuid NOT NULL,
|
|
5
|
+
"score" numeric(5, 4) NOT NULL,
|
|
6
|
+
"passed" integer NOT NULL,
|
|
7
|
+
"total" integer NOT NULL,
|
|
8
|
+
"cases_snapshot" jsonb NOT NULL,
|
|
9
|
+
"results" jsonb NOT NULL,
|
|
10
|
+
"created_by_principal_id" uuid NOT NULL,
|
|
11
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
12
|
+
CONSTRAINT "agent_version_evaluations_counts" CHECK ("agent_version_evaluations"."total" > 0 and "agent_version_evaluations"."passed" >= 0 and "agent_version_evaluations"."passed" <= "agent_version_evaluations"."total")
|
|
13
|
+
);
|
|
14
|
+
--> statement-breakpoint
|
|
15
|
+
ALTER TABLE "agent_version_evaluations" ADD CONSTRAINT "agent_version_evaluations_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
16
|
+
ALTER TABLE "agent_version_evaluations" ADD CONSTRAINT "agent_version_evaluations_version_workspace_fk" FOREIGN KEY ("version_id","workspace_id") REFERENCES "public"."agent_versions"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
17
|
+
ALTER TABLE "agent_version_evaluations" ADD CONSTRAINT "agent_version_evaluations_created_by_principal_workspace_fk" FOREIGN KEY ("workspace_id","created_by_principal_id") REFERENCES "public"."workspace_principals"("workspace_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
18
|
+
CREATE INDEX "agent_version_evaluations_workspace_version_idx" ON "agent_version_evaluations" USING btree ("workspace_id","version_id");
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- Issue #613: `agents.materialised_version_id` records the version the agent row was last written
|
|
2
|
+
-- from, so "edited since the pointer moved" is `materialised_version_id IS DISTINCT FROM
|
|
3
|
+
-- pointer.version_id` instead of the `agents.updated_at <= agent_version_pointers.updated_at`
|
|
4
|
+
-- timestamp proxy.
|
|
5
|
+
--
|
|
6
|
+
-- Additive and nullable, so no single-revision cutover is needed (ADR-0069): a revision that
|
|
7
|
+
-- predates this column ignores it. During a rollout, an old revision that still serves a legacy
|
|
8
|
+
-- `PATCH` does not clear the column, so `aw dev` misses that one edit until the agent is edited
|
|
9
|
+
-- again. The result is the overwrite `aw push` already does by default.
|
|
10
|
+
--
|
|
11
|
+
-- ON DELETE is NO ACTION: a version is only deleted by its agent's cascade, which removes the
|
|
12
|
+
-- referencing row in the same statement. MATCH SIMPLE leaves NULL unchecked.
|
|
13
|
+
ALTER TABLE "agents" ADD COLUMN "materialised_version_id" uuid;--> statement-breakpoint
|
|
14
|
+
ALTER TABLE "agents" ADD CONSTRAINT "agents_materialised_version_fk" FOREIGN KEY ("materialised_version_id","id","workspace_id") REFERENCES "public"."agent_versions"("id","agent_id","workspace_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
15
|
+
-- The backfill uses the old proxy one last time, so no existing agent reads as edited on upgrade:
|
|
16
|
+
-- an agent whose row was not written after its `local` pointer moved still equals that version.
|
|
17
|
+
UPDATE "agents" AS a
|
|
18
|
+
SET "materialised_version_id" = p."version_id"
|
|
19
|
+
FROM "agent_version_pointers" AS p
|
|
20
|
+
WHERE p."agent_id" = a."id"
|
|
21
|
+
AND p."workspace_id" = a."workspace_id"
|
|
22
|
+
AND p."environment" = 'local'
|
|
23
|
+
AND a."updated_at" <= p."updated_at";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
ALTER TABLE "agent_version_pointers" DROP CONSTRAINT "agent_version_pointers_environment_valid";--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "sessions" ADD COLUMN "agent_version_id" uuid;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "sessions" ADD CONSTRAINT "sessions_agent_version_fk" FOREIGN KEY ("agent_version_id","agent_id","workspace_id") REFERENCES "public"."agent_versions"("id","agent_id","workspace_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
4
|
+
ALTER TABLE "agent_version_pointers" ADD CONSTRAINT "agent_version_pointers_environment_valid" CHECK ("agent_version_pointers"."environment" in ('local', 'production'));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE "runs" ADD COLUMN "prompt" text;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-- Issue #615 (80-08): `agent_pointer_moves` is every version an environment has pointed at. The
|
|
2
|
+
-- repository appends one row in the transaction that moves a pointer, so the newest row of an
|
|
3
|
+
-- (agent, environment) is its pointer and a rollback is the row before it.
|
|
4
|
+
--
|
|
5
|
+
-- Additive, so no single-revision cutover is needed (ADR-0069). During a rollout an old revision
|
|
6
|
+
-- still moves pointers without a row, so a history head can lag its pointer until the next move;
|
|
7
|
+
-- a rollback in that window steps back from the last recorded move.
|
|
8
|
+
CREATE TABLE "agent_pointer_moves" (
|
|
9
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
10
|
+
"workspace_id" uuid NOT NULL,
|
|
11
|
+
"agent_id" uuid NOT NULL,
|
|
12
|
+
"environment" text NOT NULL,
|
|
13
|
+
"version_id" uuid NOT NULL,
|
|
14
|
+
"moved_by" uuid,
|
|
15
|
+
"moved_at" timestamp with time zone DEFAULT clock_timestamp() NOT NULL,
|
|
16
|
+
"reason" text NOT NULL,
|
|
17
|
+
CONSTRAINT "agent_pointer_moves_environment_valid" CHECK ("agent_pointer_moves"."environment" in ('local', 'production')),
|
|
18
|
+
CONSTRAINT "agent_pointer_moves_reason_valid" CHECK ("agent_pointer_moves"."reason" in ('set', 'promote', 'rollback'))
|
|
19
|
+
);
|
|
20
|
+
--> statement-breakpoint
|
|
21
|
+
ALTER TABLE "agent_pointer_moves" ADD CONSTRAINT "agent_pointer_moves_workspace_id_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
22
|
+
ALTER TABLE "agent_pointer_moves" ADD CONSTRAINT "agent_pointer_moves_agent_workspace_fk" FOREIGN KEY ("agent_id","workspace_id") REFERENCES "public"."agents"("id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
23
|
+
ALTER TABLE "agent_pointer_moves" ADD CONSTRAINT "agent_pointer_moves_version_fk" FOREIGN KEY ("version_id","agent_id","workspace_id") REFERENCES "public"."agent_versions"("id","agent_id","workspace_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
24
|
+
ALTER TABLE "agent_pointer_moves" ADD CONSTRAINT "agent_pointer_moves_moved_by_principal_workspace_fk" FOREIGN KEY ("workspace_id","moved_by") REFERENCES "public"."workspace_principals"("workspace_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
25
|
+
CREATE INDEX "agent_pointer_moves_workspace_agent_environment_idx" ON "agent_pointer_moves" USING btree ("workspace_id","agent_id","environment","moved_at");--> statement-breakpoint
|
|
26
|
+
-- The backfill gives every existing pointer one `set` row, so each head equals its pointer from the
|
|
27
|
+
-- start. `moved_by` is NULL: the pointer row never recorded who moved it.
|
|
28
|
+
INSERT INTO "agent_pointer_moves" ("workspace_id", "agent_id", "environment", "version_id", "moved_by", "moved_at", "reason")
|
|
29
|
+
SELECT p."workspace_id", p."agent_id", p."environment", p."version_id", NULL, p."updated_at", 'set'
|
|
30
|
+
FROM "agent_version_pointers" AS p;
|