thinkwork-cli 0.12.11 → 0.12.15
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/README.md +42 -38
- package/dist/{api-client-ASJWIG3Z.js → api-client-4VT3FWOH.js} +1 -1
- package/dist/{chunk-JEHV35EU.js → chunk-H7AB42ES.js} +340 -30
- package/dist/cli.js +22157 -9229
- package/dist/commands/enterprise/templates/deploy-repo/.github/workflows/deploy.yml +17 -6
- package/dist/commands/enterprise/templates/deploy-repo/docs/runbook.md +81 -9
- package/dist/commands/enterprise/templates/deploy-repo/scripts/apply-release.mjs +183 -21
- package/dist/commands/enterprise/templates/deploy-repo/scripts/smoke.mjs +1 -2
- package/dist/commands/enterprise/templates/deploy-repo/terraform/main.tf +286 -0
- package/dist/drizzle/0000_petite_marvel_apes.sql +1188 -0
- package/dist/drizzle/0001_milky_surge.sql +103 -0
- package/dist/drizzle/0002_aberrant_mattie_franklin.sql +41 -0
- package/dist/drizzle/0003_exotic_ogun.sql +3 -0
- package/dist/drizzle/0004_glamorous_magneto.sql +2 -0
- package/dist/drizzle/0005_ancient_nocturne.sql +2 -0
- package/dist/drizzle/0006_new_colonel_america.sql +2 -0
- package/dist/drizzle/0007_unique_external_task_id.sql +31 -0
- package/dist/drizzle/0008_external_task_id_column.sql +43 -0
- package/dist/drizzle/0009_evaluations.sql +64 -0
- package/dist/drizzle/0010_eval_agent_template.sql +2 -0
- package/dist/drizzle/0011_eval_run_template.sql +2 -0
- package/dist/drizzle/0012_eval_seed_unique.sql +16 -0
- package/dist/drizzle/0013_motionless_white_queen.sql +140 -0
- package/dist/drizzle/0014_wiki_aggregation.sql +11 -0
- package/dist/drizzle/0015_pg_trgm_alias_title_indexes.sql +9 -0
- package/dist/drizzle/0016_wiki_schema_drops.sql +24 -0
- package/dist/drizzle/0017_wiki_places.sql +46 -0
- package/dist/drizzle/0018_agent_workspace_overlay.sql +26 -0
- package/dist/drizzle/0018_cool_firebird.sql +24 -0
- package/dist/drizzle/0018_skill_runs.sql +84 -0
- package/dist/drizzle/0019_condemned_dragon_man.sql +95 -0
- package/dist/drizzle/0019_webhook_skill_runs.sql +58 -0
- package/dist/drizzle/0020_crazy_the_anarchist.sql +9 -0
- package/dist/drizzle/0020_mutation_idempotency.sql +64 -0
- package/dist/drizzle/0021_crm_work_links.sql +76 -0
- package/dist/drizzle/0021_skill_runs_completion_hmac.sql +33 -0
- package/dist/drizzle/0022_add_billing_tables.sql +70 -0
- package/dist/drizzle/0022_seed_thinkwork_admin_permissions.sql +160 -0
- package/dist/drizzle/0022_stripe_billing_indexes.sql +48 -0
- package/dist/drizzle/0023_tenants_deactivation.sql +27 -0
- package/dist/drizzle/0024_tenant_mcp_admin_keys.sql +63 -0
- package/dist/drizzle/0025_v1_agent_architecture.sql +182 -0
- package/dist/drizzle/0026_thread_turns_add_kind.sql +28 -0
- package/dist/drizzle/0027_capability_catalog_and_manifests.sql +219 -0
- package/dist/drizzle/0028_aws_s3_extension.sql +26 -0
- package/dist/drizzle/0029_collapse_execution_types.sql +42 -0
- package/dist/drizzle/0030_retire_composition_primitives.sql +48 -0
- package/dist/drizzle/0031_thread_cleanup_drops.sql +131 -0
- package/dist/drizzle/0032_add_browser_automation_template_config.sql +24 -0
- package/dist/drizzle/0033_agent_operation_leases.sql +32 -0
- package/dist/drizzle/0034_agent_workspace_events.sql +116 -0
- package/dist/drizzle/0035_workspace_review_decisions.sql +19 -0
- package/dist/drizzle/0036_user_scoped_memory_wiki.sql +152 -0
- package/dist/drizzle/0037_user_profile_operating_model.sql +34 -0
- package/dist/drizzle/0042_agent_runtime_selector.sql +41 -0
- package/dist/drizzle/0043_wiki_search_tsv_tokenization.sql +48 -0
- package/dist/drizzle/0044_add_web_search_template_config.sql +7 -0
- package/dist/drizzle/0045_add_send_email_template_config.sql +7 -0
- package/dist/drizzle/0046_tenant_mcp_context_tools.sql +26 -0
- package/dist/drizzle/0047_add_context_engine_template_config.sql +7 -0
- package/dist/drizzle/0048_tenant_context_provider_settings.sql +22 -0
- package/dist/drizzle/0050_brain_v0_entity_subtype.sql +29 -0
- package/dist/drizzle/0051_brain_v0_tenant_entity_pages.sql +170 -0
- package/dist/drizzle/0052_brain_v0_external_refs.sql +41 -0
- package/dist/drizzle/0053_brain_v0_unresolved_mentions_subtype.sql +48 -0
- package/dist/drizzle/0054_wiki_compile_jobs_input.sql +28 -0
- package/dist/drizzle/0055_routines_stepfunctions_substrate.sql +202 -0
- package/dist/drizzle/0056_routine_step_events_dedup_idx.sql +25 -0
- package/dist/drizzle/0057_archive_legacy_python_routines.sql +36 -0
- package/dist/drizzle/0058_routines_visibility_and_owning_agent.sql +61 -0
- package/dist/drizzle/0061_routine_execution_asl_version_id.sql +29 -0
- package/dist/drizzle/0062_migrate_pi_to_flue.sql +110 -0
- package/dist/drizzle/0063_threads_session_data.sql +23 -0
- package/dist/drizzle/0064_tenant_credentials.sql +65 -0
- package/dist/drizzle/0067_thinkwork_computers_phase_one.sql +174 -0
- package/dist/drizzle/0068_drop_system_workflows_and_activation.sql +115 -0
- package/dist/drizzle/0069_compliance_schema.sql +364 -0
- package/dist/drizzle/0070_compliance_aurora_roles.sql +171 -0
- package/dist/drizzle/0072_threads_computer_ownership.sql +24 -0
- package/dist/drizzle/0073_compliance_tenant_anchor_state.sql +105 -0
- package/dist/drizzle/0074_compliance_event_hash_index.sql +49 -0
- package/dist/drizzle/0075_scheduled_jobs_computer_ownership.sql +27 -0
- package/dist/drizzle/0076_scheduled_jobs_marco_backfill.sql +69 -0
- package/dist/drizzle/0077_computers_primary_agent_id.sql +38 -0
- package/dist/drizzle/0078_tenant_customize_catalog.sql +46 -0
- package/dist/drizzle/0079_seed_tenant_customize_catalog.sql +53 -0
- package/dist/drizzle/0081_routines_catalog_slug.sql +42 -0
- package/dist/drizzle/0082_messages_parts_jsonb.sql +52 -0
- package/dist/drizzle/0083_computer_runbooks.sql +103 -0
- package/dist/drizzle/0084_artifacts_favorited_at.sql +32 -0
- package/dist/drizzle/0085_seed_thinkwork_computer_default_template.sql +46 -0
- package/dist/drizzle/0086_update_default_template_models.sql +19 -0
- package/dist/drizzle/0087_retire_oss_connectors.sql +77 -0
- package/dist/drizzle/0088_compliance_event_types_finance_pilot.sql +37 -0
- package/dist/drizzle/0089_remove_maniflow_eval_seeds.sql +81 -0
- package/dist/drizzle/0089_wiki_schema_extraction.sql +315 -0
- package/dist/drizzle/0090_brain_schema_extraction.sql +274 -0
- package/dist/drizzle/0091_drop_wiki_brain_compat_views.sql +118 -0
- package/dist/drizzle/0092_finish_oss_connector_retirement.sql +97 -0
- package/dist/drizzle/0093_eval_runs_scheduled_job_id.sql +23 -0
- package/dist/drizzle/0094_slack_workspace_app.sql +140 -0
- package/dist/drizzle/0095_eval_runs_computer_id.sql +22 -0
- package/dist/drizzle/0096_true_redteam_eval_seed_cleanup.sql +67 -0
- package/dist/drizzle/0097_shared_computers.sql +191 -0
- package/dist/drizzle/0098_business_ontology.sql +587 -0
- package/dist/drizzle/0099_thread_idle_learning.sql +145 -0
- package/dist/drizzle/0100_ontology_gated_brain_dynamic_subtypes.sql +7 -0
- package/dist/drizzle/0101_ontology_gated_unresolved_mentions_dynamic_subtypes.sql +7 -0
- package/dist/drizzle/0102_wiki_brain_owner_repair.sql +87 -0
- package/dist/drizzle/0103_brain_section_source_trigger_repair.sql +75 -0
- package/dist/drizzle/0104_expand_seed_ontology_for_user_memory.sql +166 -0
- package/dist/drizzle/0105_spaces_domain.sql +349 -0
- package/dist/drizzle/0106_expand_seed_ontology_for_triples.sql +173 -0
- package/dist/drizzle/0106_space_threads_participants.sql +197 -0
- package/dist/drizzle/0107_linked_task_mirror.sql +245 -0
- package/dist/drizzle/0108_message_mentions.sql +95 -0
- package/dist/drizzle/0109_space_owned_threads.sql +217 -0
- package/dist/drizzle/0110_thread_participant_read_state.sql +21 -0
- package/dist/drizzle/0111_agents_tenant_name_unique.sql +38 -0
- package/dist/drizzle/0112_recast_spaces_as_contextual_workrooms.sql +138 -0
- package/dist/drizzle/0113_agents_own_runtime_fields.sql +48 -0
- package/dist/drizzle/0114_migrate_templates_to_agents_and_spaces.sql +361 -0
- package/dist/drizzle/0115_remove_computer_eval_template_dependencies.sql +69 -0
- package/dist/drizzle/0116_backfill_thread_participants_access.sql +126 -0
- package/dist/drizzle/0117_space_access_mode.sql +40 -0
- package/dist/drizzle/0118_normalize_tenant_member_principal_type.sql +41 -0
- package/dist/drizzle/0119_space_knowledge_bases.sql +126 -0
- package/dist/drizzle/0120_space_automations.sql +58 -0
- package/dist/drizzle/0121_drop_computer_runbooks.sql +26 -0
- package/dist/drizzle/0122_space_email_triggers.sql +24 -0
- package/dist/drizzle/0123_single_platform_agent_and_overrides.sql +58 -0
- package/dist/drizzle/0124_thread_turns_finalized_at.sql +17 -0
- package/dist/drizzle/0125_drop_space_agent_assignments.sql +42 -0
- package/dist/drizzle/0126_migrate_flue_to_pi.sql +42 -0
- package/dist/drizzle/0127_runtime_type_observability.sql +28 -0
- package/dist/drizzle/0128_drop_eval_test_cases_agent_id.sql +37 -0
- package/dist/drizzle/0129_drop_code_factory_tables.sql +43 -0
- package/dist/drizzle/0129_eval_results_system_prompt.sql +30 -0
- package/dist/drizzle/0130_drop_teams_and_team_id_columns.sql +54 -0
- package/dist/drizzle/0131_drop_skill_catalog_and_tenant_skills.sql +33 -0
- package/dist/drizzle/0132_drop_computer_tables.sql +31 -0
- package/dist/drizzle/0133_drop_seed_view_tombstones.sql +79 -0
- package/dist/drizzle/0133_thread_turns_system_prompt.sql +22 -0
- package/dist/drizzle/0134_drop_dead_agent_runtime_tables.sql +53 -0
- package/dist/drizzle/0135_native_checklist_linked_tasks.sql +48 -0
- package/dist/drizzle/0136_goal_ledger.sql +55 -0
- package/dist/drizzle/0136_space_email_trigger_status.sql +66 -0
- package/dist/drizzle/0137_thread_participant_pins.sql +25 -0
- package/dist/drizzle/0138_users_cognito_sub.sql +30 -0
- package/dist/drizzle/0139_mobile_turn_client_id.sql +23 -0
- package/dist/drizzle/0140_workspace_folder_names.sql +36 -0
- package/dist/drizzle/0141_eval_runs_desktop_pi_provenance.sql +31 -0
- package/dist/drizzle/0142_pi_only_agent_runtime.sql +61 -0
- package/dist/drizzle/0143_add_web_extract_builtin_config.sql +28 -0
- package/dist/drizzle/0144_skill_catalog_index.sql +40 -0
- package/dist/drizzle/0145_knowledge_graph_thread_ingest.sql +512 -0
- package/dist/drizzle/0146_knowledge_graph_source_scope.sql +413 -0
- package/dist/drizzle/0147_knowledge_graph_scope_trigger_qualification.sql +211 -0
- package/dist/drizzle/0148_user_cost_attribution.sql +171 -0
- package/dist/drizzle/0149_managed_mcp_servers.sql +64 -0
- package/dist/drizzle/0149_user_model_approvals.sql +89 -0
- package/dist/drizzle/0150_bootstrap_first_admin_claim.sql +11 -0
- package/dist/drizzle/0151_managed_deployments.sql +91 -0
- package/dist/drizzle/0152_agent_profiles.sql +81 -0
- package/dist/drizzle/0153_message_mentions_agent_profile.sql +9 -0
- package/dist/drizzle/0154_customer_deployment_sessions.sql +61 -0
- package/dist/drizzle/0155_tenant_model_catalog.sql +152 -0
- package/dist/drizzle/0156_bootstrap_credential_leases.sql +52 -0
- package/dist/drizzle/0157_knowledge_graph_observations_source.sql +79 -0
- package/dist/drizzle/0158_pending_user_questions.sql +80 -0
- package/dist/drizzle/0158_wiki_tenant_scope.sql +38 -0
- package/dist/drizzle/0159_agent_profiles_space_local.sql +49 -0
- package/dist/drizzle/0159_application_plugins.sql +193 -0
- package/dist/drizzle/0159_eval_scoring_version.sql +46 -0
- package/dist/drizzle/0160_compliance_event_types_plugins.sql +37 -0
- package/dist/drizzle/0160_eval_datasets.sql +75 -0
- package/dist/drizzle/0160_eval_results_thread_turn.sql +35 -0
- package/dist/drizzle/0161_eval_run_pinning.sql +54 -0
- package/dist/drizzle/0161_tenant_mcp_servers_plugin_source.sql +62 -0
- package/dist/drizzle/0162_eval_result_override.sql +49 -0
- package/dist/drizzle/0163_eval_replay_tool_allowlist.sql +50 -0
- package/dist/drizzle/0164_eval_replay_tool_override_mode.sql +52 -0
- package/dist/drizzle/0165_plugin_premium_entitlements.sql +153 -0
- package/dist/drizzle/0166_company_brain_substrate_contract.sql +386 -0
- package/dist/drizzle/0167_company_brain_artifact_manifest_runtime.sql +85 -0
- package/dist/drizzle/0168_eval_skill_gate.sql +44 -0
- package/dist/drizzle/0169_release_update_jobs.sql +67 -0
- package/dist/drizzle/0170_email_channel_plugin.sql +291 -0
- package/dist/drizzle/0171_linked_task_external_providers.sql +30 -0
- package/dist/drizzle/0172_email_channel_sendgrid_provider.sql +8 -0
- package/dist/drizzle/0173_auth_provider_resources.sql +83 -0
- package/dist/drizzle/0174_workos_auth_bridges.sql +37 -0
- package/dist/drizzle/0175_workos_auth_sessions.sql +38 -0
- package/dist/drizzle/0176_n8n_agent_step_runs.sql +107 -0
- package/dist/drizzle/0177_workflow_control_plane.sql +281 -0
- package/dist/drizzle/0178_workflow_backfill_existing_routines.sql +525 -0
- package/dist/drizzle/0179_tenant_goal_budget_settings.sql +21 -0
- package/dist/drizzle/0180_skill_drafts.sql +89 -0
- package/dist/drizzle/0181_skill_draft_publish_status.sql +21 -0
- package/dist/drizzle/0182_agent_loops.sql +260 -0
- package/dist/drizzle/0183_okf_artifact_manifests.sql +52 -0
- package/dist/drizzle/0184_skill_catalog_trust_cache.sql +35 -0
- package/dist/drizzle/0185_agent_loop_space.sql +16 -0
- package/dist/drizzle/0186_tenant_mcp_runtime_metadata.sql +10 -0
- package/dist/drizzle/0187_native_work_items.sql +220 -0
- package/dist/drizzle/0188_company_etl_plugin_rename.sql +99 -0
- package/dist/drizzle/0189_trace_cost_substrate.sql +247 -0
- package/dist/drizzle/0190_billing_export_reconciliation.sql +101 -0
- package/dist/drizzle/0191_open_engine_work_item_queue.sql +66 -0
- package/dist/drizzle/0192_work_item_labels.sql +44 -0
- package/dist/drizzle/0193_work_item_documents.sql +31 -0
- package/dist/drizzle/0194_memory_retain_attempts.sql +103 -0
- package/dist/drizzle/0194_work_item_comments.sql +35 -0
- package/dist/drizzle/0195_plugin_app_overlays.sql +45 -0
- package/dist/drizzle/0196_pi_extensions.sql +118 -0
- package/dist/drizzle/0197_eval_profiles.sql +150 -0
- package/dist/drizzle/0198_eval_runs_unstable.sql +27 -0
- package/dist/drizzle/0199_eval_runs_cost_partial.sql +27 -0
- package/dist/drizzle/meta/_journal.json +160 -0
- package/dist/plugins/README.md +162 -0
- package/dist/plugins/catalog/package.json +40 -0
- package/dist/plugins/catalog/scripts/build-catalog.ts +120 -0
- package/dist/plugins/catalog/scripts/generate-plugin-registry.ts +144 -0
- package/dist/plugins/catalog/src/__tests__/build-catalog.test.ts +86 -0
- package/dist/plugins/catalog/src/__tests__/catalog.test.ts +308 -0
- package/dist/plugins/catalog/src/__tests__/contracts.test.ts +861 -0
- package/dist/plugins/catalog/src/__tests__/plugin-package.test.ts +124 -0
- package/dist/plugins/catalog/src/__tests__/plugin-registry.test.ts +120 -0
- package/dist/plugins/catalog/src/catalog.ts +434 -0
- package/dist/plugins/catalog/src/contracts.ts +1498 -0
- package/dist/plugins/catalog/src/index.ts +4 -0
- package/dist/plugins/catalog/src/plugin-package.ts +171 -0
- package/dist/plugins/catalog/src/registry/generated-first-party.ts +76 -0
- package/dist/plugins/catalog/src/registry/index.ts +1 -0
- package/dist/plugins/catalog/tsconfig.json +8 -0
- package/dist/plugins/company-brain/README.md +37 -0
- package/dist/plugins/company-brain/package.json +33 -0
- package/dist/plugins/company-brain/runtime/cognee/Dockerfile +11 -0
- package/dist/plugins/company-brain/smoke/cognee-managed-app-smoke.mjs +458 -0
- package/dist/plugins/company-brain/smoke/cognee-memory-cutover-smoke.mjs +539 -0
- package/dist/plugins/company-brain/smoke/company-brain-context-engine-smoke.mjs +312 -0
- package/dist/plugins/company-brain/smoke/company-brain-operations-smoke.mjs +449 -0
- package/dist/plugins/company-brain/smoke/company-brain-plugin-smoke.mjs +655 -0
- package/dist/plugins/company-brain/smoke/hindsight-memory-isolation-smoke.mjs +474 -0
- package/dist/plugins/company-brain/src/api/cognee-client.ts +896 -0
- package/dist/plugins/company-brain/src/api/cognee-cluster-identity.ts +49 -0
- package/dist/plugins/company-brain/src/api/cognee-memory-scope.ts +84 -0
- package/dist/plugins/company-brain/src/api/context-engine-provider.ts +888 -0
- package/dist/plugins/company-brain/src/api/migration.ts +665 -0
- package/dist/plugins/company-brain/src/deployment/cognee-managed-app.ts +396 -0
- package/dist/plugins/company-brain/src/index.ts +62 -0
- package/dist/plugins/company-brain/src/manifest.ts +112 -0
- package/dist/plugins/company-brain/terraform/cognee/README.md +263 -0
- package/dist/plugins/company-brain/terraform/cognee/main.tf +766 -0
- package/dist/plugins/company-brain/terraform/cognee/outputs.tf +144 -0
- package/dist/plugins/company-brain/terraform/cognee/variables.tf +402 -0
- package/dist/plugins/company-brain/test/api/cognee-client.test.ts +562 -0
- package/dist/plugins/company-brain/test/api/cognee-memory-scope.test.ts +74 -0
- package/dist/plugins/company-brain/test/api/context-engine-provider.test.ts +447 -0
- package/dist/plugins/company-brain/test/api/migration.test.ts +465 -0
- package/dist/plugins/company-brain/test/manifest.test.ts +95 -0
- package/dist/plugins/company-brain/tsconfig.json +8 -0
- package/dist/plugins/company-data/README.md +49 -0
- package/dist/plugins/company-data/package.json +21 -0
- package/dist/plugins/company-data/src/index.ts +30 -0
- package/dist/plugins/company-data/src/manifest.ts +26 -0
- package/dist/plugins/company-data/test/manifest.test.ts +116 -0
- package/dist/plugins/company-data/tsconfig.json +8 -0
- package/dist/plugins/company-etl/README.md +46 -0
- package/dist/plugins/company-etl/package.json +21 -0
- package/dist/plugins/company-etl/src/index.ts +29 -0
- package/dist/plugins/company-etl/src/manifest.ts +26 -0
- package/dist/plugins/company-etl/test/manifest.test.ts +108 -0
- package/dist/plugins/company-etl/tsconfig.json +8 -0
- package/dist/plugins/email-channel/README.md +41 -0
- package/dist/plugins/email-channel/package.json +22 -0
- package/dist/plugins/email-channel/src/index.ts +36 -0
- package/dist/plugins/email-channel/src/manifest.ts +44 -0
- package/dist/plugins/email-channel/src/provider-contract.ts +36 -0
- package/dist/plugins/email-channel/test/manifest.test.ts +119 -0
- package/dist/plugins/email-channel/tsconfig.json +8 -0
- package/dist/plugins/lastmile/README.md +50 -0
- package/dist/plugins/lastmile/package.json +23 -0
- package/dist/plugins/lastmile/smoke/lastmile-plugin-smoke.mjs +661 -0
- package/dist/plugins/lastmile/src/api/tasks-adapter.ts +572 -0
- package/dist/plugins/lastmile/src/discovery.fixture.ts +64 -0
- package/dist/plugins/lastmile/src/index.ts +46 -0
- package/dist/plugins/lastmile/src/manifest.ts +139 -0
- package/dist/plugins/lastmile/test/api/tasks-adapter.test.ts +266 -0
- package/dist/plugins/lastmile/test/discovery.test.ts +88 -0
- package/dist/plugins/lastmile/tsconfig.json +8 -0
- package/dist/plugins/n8n/README.md +201 -0
- package/dist/plugins/n8n/n8n-app/README.md +33 -0
- package/dist/plugins/n8n/n8n-app/package.json +23 -0
- package/dist/plugins/n8n/n8n-app/src/application-config.ts +45 -0
- package/dist/plugins/n8n/n8n-app/src/front-components/thinkwork-workflows.front-component.tsx +970 -0
- package/dist/plugins/n8n/n8n-app/src/lib/n8n-app-data.ts +190 -0
- package/dist/plugins/n8n/n8n-app/src/vite-env.d.ts +7 -0
- package/dist/plugins/n8n/n8n-app/tsconfig.json +15 -0
- package/dist/plugins/n8n/package.json +35 -0
- package/dist/plugins/n8n/runtime/Dockerfile +18 -0
- package/dist/plugins/n8n/runtime/n8n-task-runners.json +14 -0
- package/dist/plugins/n8n/runtime/n8n-task-runners.json.template +14 -0
- package/dist/plugins/n8n/runtime/package-lock.json +13 -0
- package/dist/plugins/n8n/runtime/package.json +7 -0
- package/dist/plugins/n8n/scripts/sync-thinkwork-app.mjs +268 -0
- package/dist/plugins/n8n/smoke/README.md +95 -0
- package/dist/plugins/n8n/smoke/n8n-agent-step-bridge-smoke.mjs +866 -0
- package/dist/plugins/n8n/smoke/n8n-integrated-app-smoke.mjs +262 -0
- package/dist/plugins/n8n/smoke/n8n-managed-app-smoke.mjs +409 -0
- package/dist/plugins/n8n/smoke/n8n-mcp-smoke.mjs +624 -0
- package/dist/plugins/n8n/src/deployment/image-build.ts +172 -0
- package/dist/plugins/n8n/src/deployment/managed-app.ts +429 -0
- package/dist/plugins/n8n/src/index.ts +79 -0
- package/dist/plugins/n8n/src/manifest.ts +403 -0
- package/dist/plugins/n8n/src/package-config.ts +186 -0
- package/dist/plugins/n8n/src/skills/n8n-workflow-operator/SKILL.md +76 -0
- package/dist/plugins/n8n/src/skills/n8n-workflow-operator/references/mcp-tooling.md +40 -0
- package/dist/plugins/n8n/src/skills/n8n-workflow-operator/references/validation-and-handoff.md +40 -0
- package/dist/plugins/n8n/src/skills/n8n-workflow-operator/references/workflow-authoring.md +45 -0
- package/dist/plugins/n8n/terraform/n8n/README.md +113 -0
- package/dist/plugins/n8n/terraform/n8n/main.tf +918 -0
- package/dist/plugins/n8n/terraform/n8n/outputs.tf +124 -0
- package/dist/plugins/n8n/terraform/n8n/scripts/sync-database.py +250 -0
- package/dist/plugins/n8n/terraform/n8n/scripts/test_sync_database.py +55 -0
- package/dist/plugins/n8n/terraform/n8n/variables.tf +354 -0
- package/dist/plugins/n8n/test/image-build.test.ts +118 -0
- package/dist/plugins/n8n/test/integrated-app-contract.test.ts +353 -0
- package/dist/plugins/n8n/test/manifest.test.ts +278 -0
- package/dist/plugins/n8n/test/package-config.test.ts +57 -0
- package/dist/plugins/n8n/tsconfig.json +8 -0
- package/dist/plugins/sendgrid/README.md +30 -0
- package/dist/plugins/sendgrid/package.json +22 -0
- package/dist/plugins/sendgrid/src/index.ts +36 -0
- package/dist/plugins/sendgrid/src/manifest.ts +37 -0
- package/dist/plugins/sendgrid/src/provider-contract.ts +14 -0
- package/dist/plugins/sendgrid/test/manifest.test.ts +80 -0
- package/dist/plugins/sendgrid/tsconfig.json +8 -0
- package/dist/plugins/twenty/README.md +78 -0
- package/dist/plugins/twenty/package.json +27 -0
- package/dist/plugins/twenty/scripts/__tests__/sync-thinkwork-app.test.mjs +67 -0
- package/dist/plugins/twenty/scripts/sync-thinkwork-app.mjs +185 -0
- package/dist/plugins/twenty/scripts/wire-thinkwork-workflow.mjs +658 -0
- package/dist/plugins/twenty/smoke/twenty-managed-app-smoke.mjs +359 -0
- package/dist/plugins/twenty/smoke/twenty-mcp-oauth-smoke.mjs +574 -0
- package/dist/plugins/twenty/src/api/cutover.ts +209 -0
- package/dist/plugins/twenty/src/deployment/managed-app.ts +253 -0
- package/dist/plugins/twenty/src/index.ts +55 -0
- package/dist/plugins/twenty/src/manifest.ts +259 -0
- package/dist/plugins/twenty/terraform/twenty/README.md +97 -0
- package/dist/plugins/twenty/terraform/twenty/main.tf +829 -0
- package/dist/plugins/twenty/terraform/twenty/outputs.tf +79 -0
- package/dist/plugins/twenty/terraform/twenty/variables.tf +268 -0
- package/dist/plugins/twenty/test/api/cutover.test.ts +183 -0
- package/dist/plugins/twenty/test/manifest.test.ts +463 -0
- package/dist/plugins/twenty/tsconfig.json +9 -0
- package/dist/plugins/twenty/twenty-app/.nvmrc +1 -0
- package/dist/plugins/twenty/twenty-app/README.md +148 -0
- package/dist/plugins/twenty/twenty-app/package.json +30 -0
- package/dist/plugins/twenty/twenty-app/src/application-config.ts +44 -0
- package/dist/plugins/twenty/twenty-app/src/constants/universal-identifiers.ts +18 -0
- package/dist/plugins/twenty/twenty-app/src/default-role.ts +24 -0
- package/dist/plugins/twenty/twenty-app/src/front-components/thinkwork-settings.front-component.tsx +299 -0
- package/dist/plugins/twenty/twenty-app/src/logic-functions/thinkwork-webhook.logic-function.ts +354 -0
- package/dist/plugins/twenty/twenty-app/tsconfig.json +14 -0
- package/dist/plugins/twenty/twenty-app/yarn.lock +4144 -0
- package/dist/plugins/workos-auth/package.json +22 -0
- package/dist/plugins/workos-auth/src/index.ts +30 -0
- package/dist/plugins/workos-auth/src/manifest.ts +40 -0
- package/dist/plugins/workos-auth/src/provider-contract.ts +39 -0
- package/dist/plugins/workos-auth/test/manifest.test.ts +94 -0
- package/dist/plugins/workos-auth/tsconfig.json +8 -0
- package/dist/scripts/bootstrap-workspace.sh +162 -0
- package/dist/scripts/post-deploy.sh +290 -0
- package/dist/terraform/examples/greenfield/main.tf +903 -75
- package/dist/terraform/examples/greenfield/terraform.tfvars.example +67 -8
- package/dist/terraform/modules/app/agentcore-code-interpreter/Dockerfile.sandbox-base +2 -2
- package/dist/terraform/modules/app/agentcore-code-interpreter/README.md +8 -9
- package/dist/terraform/modules/app/agentcore-code-interpreter/sandbox/sitecustomize.py +227 -0
- package/dist/terraform/modules/app/agentcore-code-interpreter/sandbox/test_sitecustomize.py +277 -0
- package/dist/terraform/modules/app/agentcore-memory/README.md +6 -6
- package/dist/terraform/modules/app/agentcore-memory/main.tf +1 -1
- package/dist/terraform/modules/app/agentcore-memory/scripts/create_or_find_memory.sh +40 -9
- package/dist/terraform/modules/app/agentcore-pi/README.md +61 -0
- package/dist/terraform/modules/app/agentcore-pi/main.tf +453 -0
- package/dist/terraform/modules/app/agentcore-pi/outputs.tf +38 -0
- package/dist/terraform/modules/app/agentcore-pi/variables.tf +145 -0
- package/dist/terraform/modules/app/agentcore-platform/main.tf +83 -0
- package/dist/terraform/modules/app/agentcore-runtime/main.tf +9 -11
- package/dist/terraform/modules/app/appsync-subscriptions/main.tf +5 -1
- package/dist/terraform/modules/app/customer-domain/main.tf +483 -0
- package/dist/terraform/modules/app/deployment-control-plane/README.md +47 -0
- package/dist/terraform/modules/app/deployment-control-plane/buildspec.yml +24 -0
- package/dist/terraform/modules/app/deployment-control-plane/main.tf +614 -0
- package/dist/terraform/modules/app/deployment-control-plane/outputs.tf +54 -0
- package/dist/terraform/modules/app/deployment-control-plane/runner.py +4720 -0
- package/dist/terraform/modules/app/deployment-control-plane/test_runner_bundle.py +3026 -0
- package/dist/terraform/modules/app/deployment-control-plane/variables.tf +96 -0
- package/dist/terraform/modules/app/hindsight-memory/README.md +25 -23
- package/dist/terraform/modules/app/hindsight-memory/main.tf +26 -2
- package/dist/terraform/modules/app/lambda-api/eval-fanout.tf +17 -50
- package/dist/terraform/modules/app/lambda-api/handlers.tf +1290 -679
- package/dist/terraform/modules/app/lambda-api/iam-grouped.tf +933 -0
- package/dist/terraform/modules/app/lambda-api/main.tf +14 -527
- package/dist/terraform/modules/app/lambda-api/mcp-oauth.tf +3 -19
- package/dist/terraform/modules/app/lambda-api/outputs.tf +50 -6
- package/dist/terraform/modules/app/lambda-api/runtime-config.tf +163 -0
- package/dist/terraform/modules/app/lambda-api/slack-app-secrets.tf +3 -1
- package/dist/terraform/modules/app/lambda-api/stripe-secrets.tf +3 -1
- package/dist/terraform/modules/app/lambda-api/variables.tf +240 -53
- package/dist/terraform/modules/app/lambda-api/workspace-events.tf +2 -25
- package/dist/terraform/modules/app/ses-email/main.tf +143 -30
- package/dist/terraform/modules/app/static-site/main.tf +4 -3
- package/dist/terraform/modules/app/www-dns/main.tf +45 -5
- package/dist/terraform/modules/app/www-dns/outputs.tf +10 -0
- package/dist/terraform/modules/app/www-dns/variables.tf +24 -0
- package/dist/terraform/modules/data/aurora-postgres/main.tf +15 -1
- package/dist/terraform/modules/data/compliance-exports-bucket/main.tf +1 -1
- package/dist/terraform/modules/data/compliance-exports-bucket/variables.tf +6 -0
- package/dist/terraform/modules/foundation/cognito/main.tf +167 -11
- package/dist/terraform/modules/foundation/cognito/outputs.tf +5 -0
- package/dist/terraform/modules/foundation/cognito/variables.tf +110 -0
- package/dist/terraform/modules/foundation/vpc/main.tf +45 -3
- package/dist/terraform/modules/foundation/vpc/outputs.tf +20 -0
- package/dist/terraform/modules/foundation/vpc/variables.tf +18 -0
- package/dist/terraform/modules/thinkwork/README.md +71 -0
- package/dist/terraform/modules/thinkwork/main.tf +1325 -174
- package/dist/terraform/modules/thinkwork/outputs.tf +457 -24
- package/dist/terraform/modules/thinkwork/variables.tf +1169 -93
- package/dist/terraform/schema.graphql +82 -9
- package/dist/workspace-defaults/files/AGENTS.md +344 -0
- package/dist/workspace-defaults/files/CONTEXT.md +8 -0
- package/dist/workspace-defaults/files/GUARDRAILS.md +51 -0
- package/dist/workspace-defaults/files/MEMORY_GUIDE.md +65 -0
- package/dist/workspace-defaults/files/ROUTER.md +24 -0
- package/dist/workspace-defaults/files/SPACE.md +62 -0
- package/dist/workspace-defaults/files/TOOLS.md +65 -0
- package/dist/workspace-defaults/files/USER.md +40 -0
- package/dist/workspace-defaults/files/mcp.json +3 -0
- package/dist/workspace-defaults/files/memory/contacts.md +13 -0
- package/dist/workspace-defaults/files/memory/lessons.md +13 -0
- package/dist/workspace-defaults/files/memory/preferences.md +12 -0
- package/dist/workspace-defaults/files/skills/.gitkeep +1 -0
- package/dist/workspace-defaults/files/skills/artifact-builder/SKILL.md +79 -0
- package/dist/workspace-defaults/files/skills/artifact-builder/references/crm-dashboard.md +166 -0
- package/dist/workspace-defaults/files/skills/automation-loop-designer/SKILL.md +120 -0
- package/dist/workspace-defaults/files/skills/skill-creator/LICENSE.txt +202 -0
- package/dist/workspace-defaults/files/skills/skill-creator/SKILL.md +485 -0
- package/dist/workspace-defaults/files/skills/skill-creator/UPSTREAM.json +124 -0
- package/dist/workspace-defaults/files/skills/skill-creator/agents/analyzer.md +274 -0
- package/dist/workspace-defaults/files/skills/skill-creator/agents/comparator.md +202 -0
- package/dist/workspace-defaults/files/skills/skill-creator/agents/grader.md +223 -0
- package/dist/workspace-defaults/files/skills/skill-creator/assets/eval_review.html +146 -0
- package/dist/workspace-defaults/files/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/dist/workspace-defaults/files/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/dist/workspace-defaults/files/skills/skill-creator/references/schemas.md +430 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/__init__.py +0 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/generate_report.py +326 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/improve_description.py +247 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/package_skill.py +136 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/run_eval.py +310 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/run_loop.py +328 -0
- package/dist/workspace-defaults/files/skills/skill-creator/scripts/utils.py +47 -0
- package/package.json +1 -1
- package/dist/terraform/modules/app/agentcore-flue/README.md +0 -58
- package/dist/terraform/modules/app/agentcore-flue/main.tf +0 -323
- package/dist/terraform/modules/app/agentcore-flue/outputs.tf +0 -23
- package/dist/terraform/modules/app/agentcore-flue/variables.tf +0 -97
- package/dist/terraform/modules/app/computer-runtime/README.md +0 -15
- package/dist/terraform/modules/app/computer-runtime/main.tf +0 -406
- package/dist/terraform/modules/app/computer-runtime/outputs.tf +0 -75
- package/dist/terraform/modules/app/computer-runtime/variables.tf +0 -66
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
-- Purpose: add Space-to-knowledge-base assignments for the admin Space Memory tab.
|
|
2
|
+
-- Plan: docs/plans/2026-05-21-005-feat-admin-space-studio-simplification-plan.md (U3)
|
|
3
|
+
-- Apply manually: psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0119_space_knowledge_bases.sql
|
|
4
|
+
-- creates: public.space_knowledge_bases
|
|
5
|
+
-- creates: public.uq_space_kb
|
|
6
|
+
-- creates: public.idx_space_kbs_space
|
|
7
|
+
-- creates: public.idx_space_kbs_knowledge_base
|
|
8
|
+
-- creates-trigger: public.space_knowledge_bases.space_knowledge_bases_tenant_guard
|
|
9
|
+
-- creates-constraint: public.space_knowledge_bases.space_knowledge_bases_tenant_id_tenants_id_fk
|
|
10
|
+
-- creates-constraint: public.space_knowledge_bases.space_knowledge_bases_space_id_spaces_id_fk
|
|
11
|
+
-- creates-constraint: public.space_knowledge_bases.space_knowledge_bases_knowledge_base_id_knowledge_bases_id_fk
|
|
12
|
+
|
|
13
|
+
\set ON_ERROR_STOP on
|
|
14
|
+
|
|
15
|
+
BEGIN;
|
|
16
|
+
|
|
17
|
+
SET LOCAL lock_timeout = '5s';
|
|
18
|
+
SET LOCAL statement_timeout = '120s';
|
|
19
|
+
|
|
20
|
+
CREATE TABLE IF NOT EXISTS public.space_knowledge_bases (
|
|
21
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
22
|
+
tenant_id uuid NOT NULL,
|
|
23
|
+
space_id uuid NOT NULL,
|
|
24
|
+
knowledge_base_id uuid NOT NULL,
|
|
25
|
+
enabled boolean NOT NULL DEFAULT true,
|
|
26
|
+
search_config jsonb,
|
|
27
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
28
|
+
CONSTRAINT space_knowledge_bases_tenant_id_tenants_id_fk
|
|
29
|
+
FOREIGN KEY (tenant_id)
|
|
30
|
+
REFERENCES public.tenants(id)
|
|
31
|
+
ON DELETE CASCADE,
|
|
32
|
+
CONSTRAINT space_knowledge_bases_space_id_spaces_id_fk
|
|
33
|
+
FOREIGN KEY (space_id)
|
|
34
|
+
REFERENCES public.spaces(id)
|
|
35
|
+
ON DELETE CASCADE,
|
|
36
|
+
CONSTRAINT space_knowledge_bases_knowledge_base_id_knowledge_bases_id_fk
|
|
37
|
+
FOREIGN KEY (knowledge_base_id)
|
|
38
|
+
REFERENCES public.knowledge_bases(id)
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
CREATE UNIQUE INDEX IF NOT EXISTS uq_space_kb
|
|
42
|
+
ON public.space_knowledge_bases (space_id, knowledge_base_id);
|
|
43
|
+
|
|
44
|
+
CREATE INDEX IF NOT EXISTS idx_space_kbs_space
|
|
45
|
+
ON public.space_knowledge_bases (tenant_id, space_id);
|
|
46
|
+
|
|
47
|
+
CREATE INDEX IF NOT EXISTS idx_space_kbs_knowledge_base
|
|
48
|
+
ON public.space_knowledge_bases (tenant_id, knowledge_base_id);
|
|
49
|
+
|
|
50
|
+
CREATE OR REPLACE FUNCTION public.enforce_space_child_tenant()
|
|
51
|
+
RETURNS trigger
|
|
52
|
+
LANGUAGE plpgsql
|
|
53
|
+
AS $$
|
|
54
|
+
DECLARE
|
|
55
|
+
target_tenant_id uuid;
|
|
56
|
+
BEGIN
|
|
57
|
+
SELECT tenant_id INTO target_tenant_id
|
|
58
|
+
FROM public.spaces
|
|
59
|
+
WHERE id = NEW.space_id;
|
|
60
|
+
|
|
61
|
+
IF target_tenant_id IS NULL OR target_tenant_id <> NEW.tenant_id THEN
|
|
62
|
+
RAISE EXCEPTION 'space child tenant mismatch for space %', NEW.space_id
|
|
63
|
+
USING ERRCODE = '23514';
|
|
64
|
+
END IF;
|
|
65
|
+
|
|
66
|
+
IF TG_TABLE_NAME = 'space_members' THEN
|
|
67
|
+
SELECT tenant_id INTO target_tenant_id
|
|
68
|
+
FROM public.users
|
|
69
|
+
WHERE id = NEW.user_id;
|
|
70
|
+
|
|
71
|
+
IF target_tenant_id IS NULL OR target_tenant_id <> NEW.tenant_id THEN
|
|
72
|
+
RAISE EXCEPTION 'space member tenant mismatch for user %', NEW.user_id
|
|
73
|
+
USING ERRCODE = '23514';
|
|
74
|
+
END IF;
|
|
75
|
+
ELSIF TG_TABLE_NAME = 'space_agent_assignments' THEN
|
|
76
|
+
SELECT tenant_id INTO target_tenant_id
|
|
77
|
+
FROM public.agents
|
|
78
|
+
WHERE id = NEW.agent_id;
|
|
79
|
+
|
|
80
|
+
IF target_tenant_id IS NULL OR target_tenant_id <> NEW.tenant_id THEN
|
|
81
|
+
RAISE EXCEPTION 'space agent assignment tenant mismatch for agent %', NEW.agent_id
|
|
82
|
+
USING ERRCODE = '23514';
|
|
83
|
+
END IF;
|
|
84
|
+
ELSIF TG_TABLE_NAME = 'space_checklist_items' THEN
|
|
85
|
+
SELECT tenant_id INTO target_tenant_id
|
|
86
|
+
FROM public.space_checklist_templates
|
|
87
|
+
WHERE id = NEW.template_id;
|
|
88
|
+
|
|
89
|
+
IF target_tenant_id IS NULL OR target_tenant_id <> NEW.tenant_id THEN
|
|
90
|
+
RAISE EXCEPTION 'space checklist item tenant mismatch for template %', NEW.template_id
|
|
91
|
+
USING ERRCODE = '23514';
|
|
92
|
+
END IF;
|
|
93
|
+
ELSIF TG_TABLE_NAME = 'space_mcp_servers' THEN
|
|
94
|
+
SELECT tenant_id INTO target_tenant_id
|
|
95
|
+
FROM public.tenant_mcp_servers
|
|
96
|
+
WHERE id = NEW.mcp_server_id;
|
|
97
|
+
|
|
98
|
+
IF target_tenant_id IS NULL OR target_tenant_id <> NEW.tenant_id THEN
|
|
99
|
+
RAISE EXCEPTION 'space MCP server tenant mismatch for MCP server %', NEW.mcp_server_id
|
|
100
|
+
USING ERRCODE = '23514';
|
|
101
|
+
END IF;
|
|
102
|
+
ELSIF TG_TABLE_NAME = 'space_knowledge_bases' THEN
|
|
103
|
+
SELECT tenant_id INTO target_tenant_id
|
|
104
|
+
FROM public.knowledge_bases
|
|
105
|
+
WHERE id = NEW.knowledge_base_id;
|
|
106
|
+
|
|
107
|
+
IF target_tenant_id IS NULL OR target_tenant_id <> NEW.tenant_id THEN
|
|
108
|
+
RAISE EXCEPTION 'space knowledge base tenant mismatch for knowledge base %', NEW.knowledge_base_id
|
|
109
|
+
USING ERRCODE = '23514';
|
|
110
|
+
END IF;
|
|
111
|
+
END IF;
|
|
112
|
+
|
|
113
|
+
RETURN NEW;
|
|
114
|
+
END;
|
|
115
|
+
$$;
|
|
116
|
+
|
|
117
|
+
DROP TRIGGER IF EXISTS space_knowledge_bases_tenant_guard
|
|
118
|
+
ON public.space_knowledge_bases;
|
|
119
|
+
|
|
120
|
+
CREATE TRIGGER space_knowledge_bases_tenant_guard
|
|
121
|
+
BEFORE INSERT OR UPDATE
|
|
122
|
+
ON public.space_knowledge_bases
|
|
123
|
+
FOR EACH ROW
|
|
124
|
+
EXECUTE FUNCTION public.enforce_space_child_tenant();
|
|
125
|
+
|
|
126
|
+
COMMIT;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
-- Purpose: scope scheduled jobs and webhooks to Spaces for the admin Space Automations tab.
|
|
2
|
+
-- Plan: docs/plans/2026-05-21-005-feat-admin-space-studio-simplification-plan.md (U5)
|
|
3
|
+
-- Apply manually: psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0120_space_automations.sql
|
|
4
|
+
-- creates-column: public.scheduled_jobs.space_id
|
|
5
|
+
-- creates-column: public.webhooks.space_id
|
|
6
|
+
-- creates: public.idx_scheduled_jobs_space
|
|
7
|
+
-- creates: public.idx_webhooks_space
|
|
8
|
+
-- creates-constraint: public.scheduled_jobs.scheduled_jobs_space_id_spaces_id_fk
|
|
9
|
+
-- creates-constraint: public.webhooks.webhooks_space_id_spaces_id_fk
|
|
10
|
+
|
|
11
|
+
\set ON_ERROR_STOP on
|
|
12
|
+
|
|
13
|
+
BEGIN;
|
|
14
|
+
|
|
15
|
+
SET LOCAL lock_timeout = '5s';
|
|
16
|
+
SET LOCAL statement_timeout = '120s';
|
|
17
|
+
|
|
18
|
+
ALTER TABLE public.scheduled_jobs
|
|
19
|
+
ADD COLUMN IF NOT EXISTS space_id uuid;
|
|
20
|
+
|
|
21
|
+
ALTER TABLE public.webhooks
|
|
22
|
+
ADD COLUMN IF NOT EXISTS space_id uuid;
|
|
23
|
+
|
|
24
|
+
DO $$
|
|
25
|
+
BEGIN
|
|
26
|
+
IF NOT EXISTS (
|
|
27
|
+
SELECT 1
|
|
28
|
+
FROM pg_constraint
|
|
29
|
+
WHERE conname = 'scheduled_jobs_space_id_spaces_id_fk'
|
|
30
|
+
AND conrelid = 'public.scheduled_jobs'::regclass
|
|
31
|
+
) THEN
|
|
32
|
+
ALTER TABLE public.scheduled_jobs
|
|
33
|
+
ADD CONSTRAINT scheduled_jobs_space_id_spaces_id_fk
|
|
34
|
+
FOREIGN KEY (space_id)
|
|
35
|
+
REFERENCES public.spaces(id);
|
|
36
|
+
END IF;
|
|
37
|
+
|
|
38
|
+
IF NOT EXISTS (
|
|
39
|
+
SELECT 1
|
|
40
|
+
FROM pg_constraint
|
|
41
|
+
WHERE conname = 'webhooks_space_id_spaces_id_fk'
|
|
42
|
+
AND conrelid = 'public.webhooks'::regclass
|
|
43
|
+
) THEN
|
|
44
|
+
ALTER TABLE public.webhooks
|
|
45
|
+
ADD CONSTRAINT webhooks_space_id_spaces_id_fk
|
|
46
|
+
FOREIGN KEY (space_id)
|
|
47
|
+
REFERENCES public.spaces(id);
|
|
48
|
+
END IF;
|
|
49
|
+
END;
|
|
50
|
+
$$;
|
|
51
|
+
|
|
52
|
+
CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_space
|
|
53
|
+
ON public.scheduled_jobs (tenant_id, space_id);
|
|
54
|
+
|
|
55
|
+
CREATE INDEX IF NOT EXISTS idx_webhooks_space
|
|
56
|
+
ON public.webhooks (tenant_id, space_id);
|
|
57
|
+
|
|
58
|
+
COMMIT;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-- Drop the computer-runbook tables introduced in 0083_computer_runbooks.sql.
|
|
2
|
+
-- Runbooks are being retired as a platform feature — the runbook-shaped
|
|
3
|
+
-- skills (crm-dashboard, research-dashboard, map-artifact) have been
|
|
4
|
+
-- rewritten as regular agentskills.io skills that compose with the
|
|
5
|
+
-- platform artifact-builder skill, and the runbook orchestration
|
|
6
|
+
-- machinery in the runtime + the API resolvers + legacy runbook code paths
|
|
7
|
+
-- have all been removed.
|
|
8
|
+
-- See refactor commit "drop runbook functionality entirely (L3)".
|
|
9
|
+
--
|
|
10
|
+
-- The dev tenant has no production data in these tables that needs
|
|
11
|
+
-- preserving; this is a destructive drop. The indexes drop with the
|
|
12
|
+
-- tables via CASCADE-on-drop-table.
|
|
13
|
+
--
|
|
14
|
+
-- drops: public.tenant_runbook_catalog
|
|
15
|
+
-- drops: public.computer_runbook_runs
|
|
16
|
+
-- drops: public.computer_runbook_tasks
|
|
17
|
+
|
|
18
|
+
\set ON_ERROR_STOP on
|
|
19
|
+
|
|
20
|
+
BEGIN;
|
|
21
|
+
|
|
22
|
+
DROP TABLE IF EXISTS public.computer_runbook_tasks;
|
|
23
|
+
DROP TABLE IF EXISTS public.computer_runbook_runs;
|
|
24
|
+
DROP TABLE IF EXISTS public.tenant_runbook_catalog;
|
|
25
|
+
|
|
26
|
+
COMMIT;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-- Purpose: add per-Space cold-contact email trigger opt-in.
|
|
2
|
+
-- Plan: docs/plans/2026-05-22-002-feat-spaces-runtime-renderer-and-channels-plan.md (U4)
|
|
3
|
+
-- Apply manually: psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0122_space_email_triggers.sql
|
|
4
|
+
-- creates-column: public.spaces.email_triggers_enabled
|
|
5
|
+
|
|
6
|
+
\set ON_ERROR_STOP on
|
|
7
|
+
|
|
8
|
+
BEGIN;
|
|
9
|
+
|
|
10
|
+
SET LOCAL lock_timeout = '5s';
|
|
11
|
+
SET LOCAL statement_timeout = '120s';
|
|
12
|
+
|
|
13
|
+
ALTER TABLE public.spaces
|
|
14
|
+
ADD COLUMN IF NOT EXISTS email_triggers_enabled boolean;
|
|
15
|
+
|
|
16
|
+
UPDATE public.spaces
|
|
17
|
+
SET email_triggers_enabled = false
|
|
18
|
+
WHERE email_triggers_enabled IS NULL;
|
|
19
|
+
|
|
20
|
+
ALTER TABLE public.spaces
|
|
21
|
+
ALTER COLUMN email_triggers_enabled SET DEFAULT false,
|
|
22
|
+
ALTER COLUMN email_triggers_enabled SET NOT NULL;
|
|
23
|
+
|
|
24
|
+
COMMIT;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
-- Purpose: add the single-platform-agent marker and typed per-Space runtime override columns.
|
|
2
|
+
-- Plan: docs/plans/2026-05-22-005-refactor-single-platform-agent-and-space-runtime-overrides-plan.md (U1a)
|
|
3
|
+
-- Apply manually: psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0123_single_platform_agent_and_overrides.sql
|
|
4
|
+
-- creates-column: public.agents.is_platform_default
|
|
5
|
+
-- creates: public.uq_agents_platform_default_per_tenant
|
|
6
|
+
-- creates-column: public.spaces.model_override
|
|
7
|
+
-- creates-column: public.spaces.guardrail_id_override
|
|
8
|
+
-- creates-column: public.spaces.budget_monthly_cents_override
|
|
9
|
+
-- creates-column: public.spaces.budget_paused_override
|
|
10
|
+
-- creates-column: public.spaces.sandbox_override
|
|
11
|
+
-- creates-constraint: public.spaces.spaces_guardrail_id_override_guardrails_id_fk
|
|
12
|
+
|
|
13
|
+
\set ON_ERROR_STOP on
|
|
14
|
+
|
|
15
|
+
BEGIN;
|
|
16
|
+
|
|
17
|
+
SET LOCAL lock_timeout = '5s';
|
|
18
|
+
SET LOCAL statement_timeout = '120s';
|
|
19
|
+
|
|
20
|
+
ALTER TABLE public.agents
|
|
21
|
+
ADD COLUMN IF NOT EXISTS is_platform_default boolean;
|
|
22
|
+
|
|
23
|
+
UPDATE public.agents
|
|
24
|
+
SET is_platform_default = false
|
|
25
|
+
WHERE is_platform_default IS NULL;
|
|
26
|
+
|
|
27
|
+
ALTER TABLE public.agents
|
|
28
|
+
ALTER COLUMN is_platform_default SET DEFAULT false,
|
|
29
|
+
ALTER COLUMN is_platform_default SET NOT NULL;
|
|
30
|
+
|
|
31
|
+
CREATE UNIQUE INDEX IF NOT EXISTS uq_agents_platform_default_per_tenant
|
|
32
|
+
ON public.agents (tenant_id)
|
|
33
|
+
WHERE is_platform_default IS TRUE;
|
|
34
|
+
|
|
35
|
+
ALTER TABLE public.spaces
|
|
36
|
+
ADD COLUMN IF NOT EXISTS model_override text,
|
|
37
|
+
ADD COLUMN IF NOT EXISTS guardrail_id_override uuid,
|
|
38
|
+
ADD COLUMN IF NOT EXISTS budget_monthly_cents_override integer,
|
|
39
|
+
ADD COLUMN IF NOT EXISTS budget_paused_override boolean,
|
|
40
|
+
ADD COLUMN IF NOT EXISTS sandbox_override boolean;
|
|
41
|
+
|
|
42
|
+
DO $$
|
|
43
|
+
BEGIN
|
|
44
|
+
IF NOT EXISTS (
|
|
45
|
+
SELECT 1
|
|
46
|
+
FROM pg_constraint
|
|
47
|
+
WHERE conname = 'spaces_guardrail_id_override_guardrails_id_fk'
|
|
48
|
+
AND conrelid = 'public.spaces'::regclass
|
|
49
|
+
) THEN
|
|
50
|
+
ALTER TABLE public.spaces
|
|
51
|
+
ADD CONSTRAINT spaces_guardrail_id_override_guardrails_id_fk
|
|
52
|
+
FOREIGN KEY (guardrail_id_override)
|
|
53
|
+
REFERENCES public.guardrails(id);
|
|
54
|
+
END IF;
|
|
55
|
+
END;
|
|
56
|
+
$$;
|
|
57
|
+
|
|
58
|
+
COMMIT;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-- creates-column: public.thread_turns.finalized_at
|
|
2
|
+
--
|
|
3
|
+
-- chat-agent-invoke direct-callback finalize architecture (plan
|
|
4
|
+
-- 2026-05-22-006). The new chat-agent-finalize Lambda handler keys on
|
|
5
|
+
-- thread_turns.finalized_at to enforce idempotency: when the Strands runtime
|
|
6
|
+
-- POSTs the same turn_id twice (transient network failure → retry), the
|
|
7
|
+
-- second call detects finalized_at IS NOT NULL and returns
|
|
8
|
+
-- {idempotent: true} without re-running the cost / message-insert /
|
|
9
|
+
-- notify side-effects.
|
|
10
|
+
|
|
11
|
+
\set ON_ERROR_STOP on
|
|
12
|
+
BEGIN;
|
|
13
|
+
|
|
14
|
+
ALTER TABLE public.thread_turns
|
|
15
|
+
ADD COLUMN IF NOT EXISTS finalized_at TIMESTAMPTZ;
|
|
16
|
+
|
|
17
|
+
COMMIT;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
-- 0125_drop_space_agent_assignments.sql
|
|
2
|
+
--
|
|
3
|
+
-- Drops the retired Space-agent assignment table after the platform-agent
|
|
4
|
+
-- collapse and GraphQL/admin consumer rewrites have shipped.
|
|
5
|
+
--
|
|
6
|
+
-- Plan: docs/plans/2026-05-22-005-refactor-single-platform-agent-and-space-runtime-overrides-plan.md (U1b)
|
|
7
|
+
-- Dependencies:
|
|
8
|
+
-- - U3 merged: cold-contact no longer resolves agents through assignments.
|
|
9
|
+
-- - U5/U7 merged: GraphQL/admin/API consumers no longer read assignments.
|
|
10
|
+
-- - U6 merged: legacy email paths no longer need assignment-era agent email state.
|
|
11
|
+
--
|
|
12
|
+
-- Apply manually:
|
|
13
|
+
-- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0125_drop_space_agent_assignments.sql
|
|
14
|
+
-- Then verify:
|
|
15
|
+
-- bash scripts/db-migrate-manual.sh packages/database-pg/drizzle/0125_drop_space_agent_assignments.sql
|
|
16
|
+
--
|
|
17
|
+
-- The table's local_instructions values were backfilled into spaces.prompt
|
|
18
|
+
-- by the U2 collapse migration before this drop. The remaining columns
|
|
19
|
+
-- (local_role, auto_subscribe, allowed_capabilities, allowed_tools, status)
|
|
20
|
+
-- are retired with the per-Space agent assignment model.
|
|
21
|
+
--
|
|
22
|
+
-- drops: public.space_agent_assignments
|
|
23
|
+
-- drops: public.uq_space_agent_assignments_agent
|
|
24
|
+
-- drops: public.idx_space_agent_assignments_agent
|
|
25
|
+
-- drops: public.idx_space_agent_assignments_space
|
|
26
|
+
-- drops-constraint: public.space_agent_assignments.space_agent_assignments_tenant_id_tenants_id_fk
|
|
27
|
+
-- drops-constraint: public.space_agent_assignments.space_agent_assignments_space_id_spaces_id_fk
|
|
28
|
+
-- drops-constraint: public.space_agent_assignments.space_agent_assignments_agent_id_agents_id_fk
|
|
29
|
+
-- drops-constraint: public.space_agent_assignments.space_agent_assignments_status_allowed
|
|
30
|
+
|
|
31
|
+
\set ON_ERROR_STOP on
|
|
32
|
+
|
|
33
|
+
BEGIN;
|
|
34
|
+
|
|
35
|
+
SET LOCAL lock_timeout = '30s';
|
|
36
|
+
SET LOCAL statement_timeout = '60s';
|
|
37
|
+
|
|
38
|
+
SELECT pg_advisory_xact_lock(hashtext('drop_space_agent_assignments'));
|
|
39
|
+
|
|
40
|
+
DROP TABLE IF EXISTS public.space_agent_assignments CASCADE;
|
|
41
|
+
|
|
42
|
+
COMMIT;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
-- Runtime selector rename: flue -> pi.
|
|
2
|
+
--
|
|
3
|
+
-- creates-constraint: public.agents.agents_runtime_check
|
|
4
|
+
-- creates-constraint: public.agent_templates.agent_templates_runtime_check
|
|
5
|
+
|
|
6
|
+
\echo '== runtime selector rename: flue -> pi =='
|
|
7
|
+
|
|
8
|
+
\echo '-- allowing strands, pi, and legacy flue during backfill --'
|
|
9
|
+
|
|
10
|
+
ALTER TABLE agents DROP CONSTRAINT IF EXISTS agents_runtime_check;
|
|
11
|
+
ALTER TABLE agents
|
|
12
|
+
ADD CONSTRAINT agents_runtime_check
|
|
13
|
+
CHECK (runtime IN ('strands', 'pi', 'flue'));
|
|
14
|
+
|
|
15
|
+
ALTER TABLE agent_templates DROP CONSTRAINT IF EXISTS agent_templates_runtime_check;
|
|
16
|
+
ALTER TABLE agent_templates
|
|
17
|
+
ADD CONSTRAINT agent_templates_runtime_check
|
|
18
|
+
CHECK (runtime IN ('strands', 'pi', 'flue'));
|
|
19
|
+
|
|
20
|
+
\echo '-- updating agents.runtime: flue -> pi --'
|
|
21
|
+
|
|
22
|
+
UPDATE agents
|
|
23
|
+
SET runtime = 'pi', updated_at = NOW()
|
|
24
|
+
WHERE runtime = 'flue';
|
|
25
|
+
|
|
26
|
+
\echo '-- updating agent_templates.runtime: flue -> pi --'
|
|
27
|
+
|
|
28
|
+
UPDATE agent_templates
|
|
29
|
+
SET runtime = 'pi', updated_at = NOW()
|
|
30
|
+
WHERE runtime = 'flue';
|
|
31
|
+
|
|
32
|
+
\echo '-- tightening runtime CHECK constraints to strands/pi --'
|
|
33
|
+
|
|
34
|
+
ALTER TABLE agents DROP CONSTRAINT IF EXISTS agents_runtime_check;
|
|
35
|
+
ALTER TABLE agents
|
|
36
|
+
ADD CONSTRAINT agents_runtime_check
|
|
37
|
+
CHECK (runtime IN ('strands', 'pi'));
|
|
38
|
+
|
|
39
|
+
ALTER TABLE agent_templates DROP CONSTRAINT IF EXISTS agent_templates_runtime_check;
|
|
40
|
+
ALTER TABLE agent_templates
|
|
41
|
+
ADD CONSTRAINT agent_templates_runtime_check
|
|
42
|
+
CHECK (runtime IN ('strands', 'pi'));
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-- Runtime observability for thread turns and usage/cost events.
|
|
2
|
+
--
|
|
3
|
+
-- Apply manually: psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0127_runtime_type_observability.sql
|
|
4
|
+
-- creates-column: public.thread_turns.runtime_type
|
|
5
|
+
-- creates: public.idx_thread_turns_runtime
|
|
6
|
+
-- creates-column: public.cost_events.runtime_type
|
|
7
|
+
-- creates: public.idx_cost_events_runtime
|
|
8
|
+
|
|
9
|
+
\set ON_ERROR_STOP on
|
|
10
|
+
|
|
11
|
+
BEGIN;
|
|
12
|
+
|
|
13
|
+
SET LOCAL lock_timeout = '5s';
|
|
14
|
+
SET LOCAL statement_timeout = '120s';
|
|
15
|
+
|
|
16
|
+
ALTER TABLE public.thread_turns
|
|
17
|
+
ADD COLUMN IF NOT EXISTS runtime_type text;
|
|
18
|
+
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_thread_turns_runtime
|
|
20
|
+
ON public.thread_turns (tenant_id, runtime_type);
|
|
21
|
+
|
|
22
|
+
ALTER TABLE public.cost_events
|
|
23
|
+
ADD COLUMN IF NOT EXISTS runtime_type text;
|
|
24
|
+
|
|
25
|
+
CREATE INDEX IF NOT EXISTS idx_cost_events_runtime
|
|
26
|
+
ON public.cost_events (tenant_id, runtime_type);
|
|
27
|
+
|
|
28
|
+
COMMIT;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-- 0128_drop_eval_test_cases_agent_id.sql
|
|
2
|
+
--
|
|
3
|
+
-- Drops the per-case Agent override column on eval_test_cases. Under the
|
|
4
|
+
-- one-platform-agent model, evals always run against the tenant's
|
|
5
|
+
-- is_platform_default=true row; a per-test-case agent target has no
|
|
6
|
+
-- meaning. The matching GraphQL fields (EvalTestCase.agentId,
|
|
7
|
+
-- CreateEvalTestCaseInput.agentId, UpdateEvalTestCaseInput.agentId) were
|
|
8
|
+
-- removed in the same PR set; this drops the underlying column once the
|
|
9
|
+
-- resolver no longer reads or writes it.
|
|
10
|
+
--
|
|
11
|
+
-- Plan: docs/plans/2026-05-23-006-refactor-evaluations-tenant-platform-agent-plan.md (U3)
|
|
12
|
+
-- Dependencies:
|
|
13
|
+
-- - U1 merged: every eval call site resolves through resolveTenantPlatformAgent.
|
|
14
|
+
-- - U2 merged: GraphQL surface no longer exposes per-case agentId; resolver
|
|
15
|
+
-- no longer reads or writes the column.
|
|
16
|
+
--
|
|
17
|
+
-- Apply manually:
|
|
18
|
+
-- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0128_drop_eval_test_cases_agent_id.sql
|
|
19
|
+
-- Then verify:
|
|
20
|
+
-- bash scripts/db-migrate-manual.sh packages/database-pg/drizzle/0128_drop_eval_test_cases_agent_id.sql
|
|
21
|
+
--
|
|
22
|
+
-- drops-column: public.eval_test_cases.agent_id
|
|
23
|
+
-- drops-constraint: public.eval_test_cases.eval_test_cases_agent_id_agents_id_fk
|
|
24
|
+
|
|
25
|
+
\set ON_ERROR_STOP on
|
|
26
|
+
|
|
27
|
+
BEGIN;
|
|
28
|
+
|
|
29
|
+
SET LOCAL lock_timeout = '30s';
|
|
30
|
+
SET LOCAL statement_timeout = '60s';
|
|
31
|
+
|
|
32
|
+
SELECT pg_advisory_xact_lock(hashtext('drop_eval_test_cases_agent_id'));
|
|
33
|
+
|
|
34
|
+
ALTER TABLE public.eval_test_cases
|
|
35
|
+
DROP COLUMN IF EXISTS agent_id;
|
|
36
|
+
|
|
37
|
+
COMMIT;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
-- 0129_drop_code_factory_tables.sql
|
|
2
|
+
--
|
|
3
|
+
-- Drops the three code_factory_* tables and their indexes.
|
|
4
|
+
--
|
|
5
|
+
-- Origin: docs/brainstorms/2026-05-24-codebase-and-database-simplification-cleanup-requirements.md
|
|
6
|
+
-- Plan: docs/plans/2026-05-24-002-refactor-p0-zombie-sweep-cleanup-plan.md (T8 — Code Factory)
|
|
7
|
+
--
|
|
8
|
+
-- Context: code_factory was an OSS feature shipped alongside the retired
|
|
9
|
+
-- Symphony connectors. The Lambda handlers (code-factory.ts, github-repos.ts),
|
|
10
|
+
-- mobile settings screen (code-factory-repos.tsx), agent-detail UI blocks, and
|
|
11
|
+
-- create-hosted-agent-modal "code_factory" runtime profile are removed in the
|
|
12
|
+
-- same PR as this migration. github-app-webhook.ts retains its workspace-sync
|
|
13
|
+
-- skeleton but the tenant-slug lookup that depended on code_factory_repos now
|
|
14
|
+
-- always returns null until a replacement mapping is wired.
|
|
15
|
+
--
|
|
16
|
+
-- All three tables are 0 rows in dev. No inbound FKs from non-code_factory
|
|
17
|
+
-- tables (verified via pg_constraint query). CASCADE handles internal FK
|
|
18
|
+
-- ordering between code_factory_runs → code_factory_jobs → code_factory_repos.
|
|
19
|
+
--
|
|
20
|
+
-- Apply manually after merge:
|
|
21
|
+
-- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0129_drop_code_factory_tables.sql
|
|
22
|
+
-- Then verify:
|
|
23
|
+
-- bash scripts/db-migrate-manual.sh packages/database-pg/drizzle/0129_drop_code_factory_tables.sql
|
|
24
|
+
--
|
|
25
|
+
-- drops: public.code_factory_jobs
|
|
26
|
+
-- drops: public.code_factory_repos
|
|
27
|
+
-- drops: public.code_factory_runs
|
|
28
|
+
-- drops: public.uq_code_factory_repos_owner_repo
|
|
29
|
+
|
|
30
|
+
\set ON_ERROR_STOP on
|
|
31
|
+
|
|
32
|
+
BEGIN;
|
|
33
|
+
|
|
34
|
+
SET LOCAL lock_timeout = '30s';
|
|
35
|
+
SET LOCAL statement_timeout = '60s';
|
|
36
|
+
|
|
37
|
+
SELECT pg_advisory_xact_lock(hashtext('drop_code_factory_tables'));
|
|
38
|
+
|
|
39
|
+
DROP TABLE IF EXISTS public.code_factory_runs CASCADE;
|
|
40
|
+
DROP TABLE IF EXISTS public.code_factory_jobs CASCADE;
|
|
41
|
+
DROP TABLE IF EXISTS public.code_factory_repos CASCADE;
|
|
42
|
+
|
|
43
|
+
COMMIT;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-- 0129_eval_results_system_prompt.sql
|
|
2
|
+
--
|
|
3
|
+
-- Adds a nullable text column capturing the system prompt the agent loop
|
|
4
|
+
-- ran against during an eval invocation. Populated by the eval-worker from
|
|
5
|
+
-- the Pi runtime's `composed_system_prompt` response field; surfaced in the
|
|
6
|
+
-- admin "View System Prompt" sheet on the eval result detail.
|
|
7
|
+
--
|
|
8
|
+
-- Plan: docs/plans/2026-05-23-006-refactor-evaluations-tenant-platform-agent-plan.md
|
|
9
|
+
-- (post-merge feature follow-up from ce-debug session 2026-05-24)
|
|
10
|
+
--
|
|
11
|
+
-- Apply manually:
|
|
12
|
+
-- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0129_eval_results_system_prompt.sql
|
|
13
|
+
-- Then verify:
|
|
14
|
+
-- bash scripts/db-migrate-manual.sh packages/database-pg/drizzle/0129_eval_results_system_prompt.sql
|
|
15
|
+
--
|
|
16
|
+
-- creates-column: public.eval_results.system_prompt
|
|
17
|
+
|
|
18
|
+
\set ON_ERROR_STOP on
|
|
19
|
+
|
|
20
|
+
BEGIN;
|
|
21
|
+
|
|
22
|
+
SET LOCAL lock_timeout = '30s';
|
|
23
|
+
SET LOCAL statement_timeout = '60s';
|
|
24
|
+
|
|
25
|
+
SELECT pg_advisory_xact_lock(hashtext('add_eval_results_system_prompt'));
|
|
26
|
+
|
|
27
|
+
ALTER TABLE public.eval_results
|
|
28
|
+
ADD COLUMN IF NOT EXISTS system_prompt text;
|
|
29
|
+
|
|
30
|
+
COMMIT;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
-- 0130_drop_teams_and_team_id_columns.sql
|
|
2
|
+
--
|
|
3
|
+
-- Drops the teams feature end-to-end.
|
|
4
|
+
--
|
|
5
|
+
-- Origin: docs/brainstorms/2026-05-24-codebase-and-database-simplification-cleanup-requirements.md
|
|
6
|
+
--
|
|
7
|
+
-- Removes the three team tables (teams, team_users, team_agents) and the
|
|
8
|
+
-- four orphan team_id columns left on routines/scheduled_jobs/workflow_configs/
|
|
9
|
+
-- cost_events after the teams feature was retired in this PR. The
|
|
10
|
+
-- computer_assignments.team_id column is intentionally NOT dropped here —
|
|
11
|
+
-- computer_assignments goes away entirely in the P3 Computer-residual sweep,
|
|
12
|
+
-- and dropping the column requires invalidating the multi-CHECK constraint
|
|
13
|
+
-- that distinguishes user vs team subject types. Cleanup of that column
|
|
14
|
+
-- ships with T4.
|
|
15
|
+
--
|
|
16
|
+
-- Apply manually after merge:
|
|
17
|
+
-- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0130_drop_teams_and_team_id_columns.sql
|
|
18
|
+
-- Then verify:
|
|
19
|
+
-- bash scripts/db-migrate-manual.sh packages/database-pg/drizzle/0130_drop_teams_and_team_id_columns.sql
|
|
20
|
+
--
|
|
21
|
+
-- drops: public.teams
|
|
22
|
+
-- drops: public.team_users
|
|
23
|
+
-- drops: public.team_agents
|
|
24
|
+
-- drops-column: public.routines.team_id
|
|
25
|
+
-- drops-column: public.scheduled_jobs.team_id
|
|
26
|
+
-- drops-column: public.workflow_configs.team_id
|
|
27
|
+
-- drops-column: public.cost_events.team_id
|
|
28
|
+
|
|
29
|
+
\set ON_ERROR_STOP on
|
|
30
|
+
|
|
31
|
+
BEGIN;
|
|
32
|
+
|
|
33
|
+
SET LOCAL lock_timeout = '30s';
|
|
34
|
+
SET LOCAL statement_timeout = '60s';
|
|
35
|
+
|
|
36
|
+
SELECT pg_advisory_xact_lock(hashtext('drop_teams_and_team_id_columns'));
|
|
37
|
+
|
|
38
|
+
-- Drop the workflow_configs team index that referenced team_id
|
|
39
|
+
DROP INDEX IF EXISTS public.workflow_configs_tenant_team_idx;
|
|
40
|
+
|
|
41
|
+
-- Drop team_id columns from alive tables
|
|
42
|
+
ALTER TABLE public.routines DROP COLUMN IF EXISTS team_id;
|
|
43
|
+
ALTER TABLE public.scheduled_jobs DROP COLUMN IF EXISTS team_id;
|
|
44
|
+
ALTER TABLE public.workflow_configs DROP COLUMN IF EXISTS team_id;
|
|
45
|
+
ALTER TABLE public.cost_events DROP COLUMN IF EXISTS team_id;
|
|
46
|
+
|
|
47
|
+
-- Drop the teams tables themselves. CASCADE handles any incidental FKs
|
|
48
|
+
-- (the only internal FKs are team_users.team_id and team_agents.team_id
|
|
49
|
+
-- pointing back at teams, which CASCADE removes implicitly via table drop).
|
|
50
|
+
DROP TABLE IF EXISTS public.team_users CASCADE;
|
|
51
|
+
DROP TABLE IF EXISTS public.team_agents CASCADE;
|
|
52
|
+
DROP TABLE IF EXISTS public.teams CASCADE;
|
|
53
|
+
|
|
54
|
+
COMMIT;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- 0131_drop_skill_catalog_and_tenant_skills.sql
|
|
2
|
+
--
|
|
3
|
+
-- Drops the retired database-backed skill catalog tables.
|
|
4
|
+
--
|
|
5
|
+
-- Origin: docs/plans/2026-05-24-003-feat-pi-skill-catalog-and-workspace-install-plan.md
|
|
6
|
+
--
|
|
7
|
+
-- Context: skills are now cataloged in S3 under
|
|
8
|
+
-- tenants/<tenant_slug>/skill-catalog/<skill_slug>/ and installed by copying
|
|
9
|
+
-- skill folders into agent/Space workspace `skills/` directories. U15 retired
|
|
10
|
+
-- the GraphQL customize skill surface and U16a retired the remaining REST,
|
|
11
|
+
-- runtime, plugin-install, bootstrap, and tenant-inventory table consumers.
|
|
12
|
+
--
|
|
13
|
+
-- Apply manually after merge:
|
|
14
|
+
-- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0131_drop_skill_catalog_and_tenant_skills.sql
|
|
15
|
+
-- Then verify:
|
|
16
|
+
-- bash scripts/db-migrate-manual.sh packages/database-pg/drizzle/0131_drop_skill_catalog_and_tenant_skills.sql
|
|
17
|
+
--
|
|
18
|
+
-- drops: public.tenant_skills
|
|
19
|
+
-- drops: public.skill_catalog
|
|
20
|
+
|
|
21
|
+
\set ON_ERROR_STOP on
|
|
22
|
+
|
|
23
|
+
BEGIN;
|
|
24
|
+
|
|
25
|
+
SET LOCAL lock_timeout = '30s';
|
|
26
|
+
SET LOCAL statement_timeout = '60s';
|
|
27
|
+
|
|
28
|
+
SELECT pg_advisory_xact_lock(hashtext('drop_skill_catalog_and_tenant_skills'));
|
|
29
|
+
|
|
30
|
+
DROP TABLE IF EXISTS public.tenant_skills CASCADE;
|
|
31
|
+
DROP TABLE IF EXISTS public.skill_catalog CASCADE;
|
|
32
|
+
|
|
33
|
+
COMMIT;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
-- 0131_drop_computer_tables.sql
|
|
2
|
+
-- drops: public.computer_events
|
|
3
|
+
-- drops: public.computer_tasks
|
|
4
|
+
-- drops: public.computer_assignments
|
|
5
|
+
-- drops: public.computer_snapshots
|
|
6
|
+
-- drops: public.computers
|
|
7
|
+
--
|
|
8
|
+
-- Kill the legacy Computer feature. All product surfaces (admin, Spaces,
|
|
9
|
+
-- mobile, CLI), Lambda handlers (computer-runtime, computer-manager,
|
|
10
|
+
-- computer-runtime-reconciler, computer-terminal-start, slack-dispatch,
|
|
11
|
+
-- workspace-files-efs, migrate-agents-to-computers), GraphQL resolvers,
|
|
12
|
+
-- and Terraform modules for the Computer concept are removed in this
|
|
13
|
+
-- same PR. After this migration applies, the 5 tables drop and ~2.6 GB
|
|
14
|
+
-- of dead data is reclaimed.
|
|
15
|
+
--
|
|
16
|
+
-- Order: child tables first to satisfy FK chains.
|
|
17
|
+
-- computer_events.task_id → computer_tasks.id
|
|
18
|
+
-- computer_tasks.computer_id → computers.id
|
|
19
|
+
-- computer_assignments.computer_id → computers.id
|
|
20
|
+
-- computer_snapshots.computer_id → computers.id
|
|
21
|
+
--
|
|
22
|
+
-- Apply AFTER merge + deploy of this PR so the live Lambda functions
|
|
23
|
+
-- have already shipped without computer_* reads/writes. Applying before
|
|
24
|
+
-- the deploy will crash chat-agent, scheduled jobs, and admin queries
|
|
25
|
+
-- with PG 42P01 (relation does not exist).
|
|
26
|
+
|
|
27
|
+
DROP TABLE IF EXISTS public.computer_events CASCADE;
|
|
28
|
+
DROP TABLE IF EXISTS public.computer_tasks CASCADE;
|
|
29
|
+
DROP TABLE IF EXISTS public.computer_assignments CASCADE;
|
|
30
|
+
DROP TABLE IF EXISTS public.computer_snapshots CASCADE;
|
|
31
|
+
DROP TABLE IF EXISTS public.computers CASCADE;
|