thinkwork-cli 0.12.12 → 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 +22123 -9219
- 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,263 @@
|
|
|
1
|
+
# Cognee Module (internal Company Brain substrate)
|
|
2
|
+
|
|
3
|
+
Cognee is the internal implementation substrate behind tenant-scoped Company
|
|
4
|
+
Brain instances. Company Brain is the customer-facing product name; Cognee
|
|
5
|
+
should appear only in operator evidence, Terraform, logs, and implementation
|
|
6
|
+
docs. The module is **not** the memory engine, does not replace Hindsight, and
|
|
7
|
+
does not ingest or migrate Wiki/Brain content during Terraform apply.
|
|
8
|
+
|
|
9
|
+
## What it creates
|
|
10
|
+
|
|
11
|
+
When the parent module enables Cognee, this module provisions:
|
|
12
|
+
|
|
13
|
+
- ECS Fargate cluster, task definition, and service for the Cognee API on port 8000.
|
|
14
|
+
Legacy stage-wide deployments use the Brain-named cluster
|
|
15
|
+
`thinkwork-{stage}-brain-cluster`; Cognee remains the service, task family,
|
|
16
|
+
container, database, log, and implementation key.
|
|
17
|
+
- Internal Application Load Balancer. There is no internet-facing endpoint mode
|
|
18
|
+
in phase 1.
|
|
19
|
+
- Security groups for ALB to Cognee, Cognee to Aurora, and Cognee to EFS.
|
|
20
|
+
- EFS encrypted storage mounted at `/app/cognee-storage`, with Cognee
|
|
21
|
+
`DATA_ROOT_DIRECTORY` and `SYSTEM_ROOT_DIRECTORY` rooted below it.
|
|
22
|
+
- CloudWatch log group `/thinkwork/{stage}/brain/{brain_instance_key}/cognee`
|
|
23
|
+
for tenant-scoped Brain instances, or the legacy `/thinkwork/{stage}/cognee`
|
|
24
|
+
path when no Brain identity is provided.
|
|
25
|
+
- Task/execution IAM roles, including explicit Bedrock invoke permissions and
|
|
26
|
+
Secrets Manager access for ECS secret injection.
|
|
27
|
+
- Optional scoped IAM access to canonical Brain S3 artifact prefixes and a
|
|
28
|
+
Neptune Analytics graph ARN.
|
|
29
|
+
|
|
30
|
+
Tenant-scoped instances derive all AWS resource names from
|
|
31
|
+
`brain_instance_key` (or `brain_tenant_id` when the key is empty). This prevents
|
|
32
|
+
two tenant Brain instances in the same stage from targeting the same ECS, ALB,
|
|
33
|
+
EFS, secret, or log group names. Leaving both values empty preserves the legacy
|
|
34
|
+
stage-wide Cognee resource names for existing deployments except the
|
|
35
|
+
operator-facing ECS cluster name, which is Brain-named.
|
|
36
|
+
|
|
37
|
+
## Enablement checklist
|
|
38
|
+
|
|
39
|
+
Cognee is disabled by default at the composite module, greenfield example,
|
|
40
|
+
CLI-generated root, enterprise deploy template, and CI workflow surfaces. Existing
|
|
41
|
+
deployments should not expect Cognee resources until `enable_cognee = true` is
|
|
42
|
+
set explicitly.
|
|
43
|
+
|
|
44
|
+
Before enabling it, prepare these operator-owned inputs:
|
|
45
|
+
|
|
46
|
+
- `cognee_image_uri` pinned to an immutable `@sha256:` digest.
|
|
47
|
+
- `cognee_db_password_secret_arn` for the dedicated `cognee_db_username`
|
|
48
|
+
database user. Do not reuse the shared Thinkwork admin database secret.
|
|
49
|
+
- `cognee_bedrock_model_resource_arns` for the selected Bedrock LLM and
|
|
50
|
+
embedding models, or non-Bedrock provider secret ARNs when using external
|
|
51
|
+
providers.
|
|
52
|
+
- `cognee_allowed_internal_cidr_blocks` or
|
|
53
|
+
`cognee_allowed_internal_security_group_ids` for the callers allowed to reach
|
|
54
|
+
the internal ALB.
|
|
55
|
+
- `cognee_backend_mode`, `cognee_desired_count`, and graph/vector configuration.
|
|
56
|
+
Keep dogfood mode at one task; use remote stores before scaling out.
|
|
57
|
+
- `cognee_brain_storage_tier`:
|
|
58
|
+
- `default` uses Cognee Postgres metadata plus local LanceDB/Kuzu-style stores
|
|
59
|
+
on the task storage substrate and must stay single-task.
|
|
60
|
+
- `production` uses Cognee-supported Neptune Analytics graph/vector providers.
|
|
61
|
+
It requires `cognee_neptune_graph_id` and `cognee_neptune_endpoint`; pass
|
|
62
|
+
`cognee_neptune_graph_arn` when the task needs graph query IAM.
|
|
63
|
+
- Canonical Brain S3 roots (`cognee_brain_s3_artifact_root`,
|
|
64
|
+
`cognee_brain_s3_manifest_root`, and
|
|
65
|
+
`cognee_brain_s3_vault_projection_root`) for evidence. When the runtime must
|
|
66
|
+
read/write artifacts, also pass `cognee_brain_artifacts_bucket_arn` and the
|
|
67
|
+
tenant prefixes in `cognee_brain_artifacts_prefixes`.
|
|
68
|
+
|
|
69
|
+
After apply, inspect these outputs instead of reconstructing resource names:
|
|
70
|
+
|
|
71
|
+
- `cognee_enabled`
|
|
72
|
+
- `cognee_endpoint`
|
|
73
|
+
- `cognee_log_group_name`
|
|
74
|
+
- `cognee_backend_mode`
|
|
75
|
+
- `cognee_cluster_arn`
|
|
76
|
+
- `cognee_service_name`
|
|
77
|
+
- `cognee_security_group_id`
|
|
78
|
+
- `cognee_storage_file_system_id`
|
|
79
|
+
- `cognee_brain_instance_key`
|
|
80
|
+
- `cognee_brain_tenant_id`
|
|
81
|
+
- `cognee_brain_storage_tier`
|
|
82
|
+
- `cognee_graph_database_provider`
|
|
83
|
+
- `cognee_vector_db_provider`
|
|
84
|
+
- `cognee_embedding_model`
|
|
85
|
+
- `cognee_embedding_dimensions`
|
|
86
|
+
- `cognee_s3_artifact_root`
|
|
87
|
+
- `cognee_s3_manifest_root`
|
|
88
|
+
- `cognee_s3_vault_projection_root`
|
|
89
|
+
- `cognee_neptune_graph_id`
|
|
90
|
+
- `cognee_neptune_endpoint`
|
|
91
|
+
- `cognee_private_substrate_mode`
|
|
92
|
+
- `cognee_production_posture`
|
|
93
|
+
|
|
94
|
+
Terraform proves that the infrastructure graph is syntactically valid and that
|
|
95
|
+
ECS reached steady state when `wait_for_steady_state = true`. It does not prove
|
|
96
|
+
that Cognee can serve ontology work, that provider credentials are populated, or
|
|
97
|
+
that any Wiki/Brain content has migrated.
|
|
98
|
+
|
|
99
|
+
## Phase-1 network contract
|
|
100
|
+
|
|
101
|
+
The ALB is internal-only (`internal = true`). ECS tasks run in the existing
|
|
102
|
+
public subnets with `assign_public_ip = true` so they can reach Bedrock, ECR,
|
|
103
|
+
Secrets Manager, CloudWatch Logs, and optional external providers without NAT
|
|
104
|
+
gateway or VPC endpoint work in this pass.
|
|
105
|
+
|
|
106
|
+
The Cognee task security group accepts inbound traffic only from the internal
|
|
107
|
+
ALB. The ALB accepts inbound traffic only from
|
|
108
|
+
`allowed_internal_cidr_blocks`/`allowed_internal_security_group_ids`.
|
|
109
|
+
All-network CIDRs such as `0.0.0.0/0` and `::/0` are rejected.
|
|
110
|
+
|
|
111
|
+
ThinkWork owns tenant/user authorization at the GraphQL and worker boundaries.
|
|
112
|
+
Because this module exposes Cognee only on a private internal ALB, the default
|
|
113
|
+
posture keeps Cognee-native request authentication and backend access control
|
|
114
|
+
disabled (`REQUIRE_AUTHENTICATION=false`,
|
|
115
|
+
`ENABLE_BACKEND_ACCESS_CONTROL=false`) for current worker compatibility. The
|
|
116
|
+
posture is now explicit: `private_substrate_mode` must remain `true`, while
|
|
117
|
+
`require_authentication`, `enable_backend_access_control`, and
|
|
118
|
+
`cors_allowed_origins` map directly to Cognee security variables for future
|
|
119
|
+
hardening. Do not reuse this module shape for an internet-reachable endpoint.
|
|
120
|
+
|
|
121
|
+
## Backend modes
|
|
122
|
+
|
|
123
|
+
| Brain tier | Backend mode | Graph/vector stores | Scale contract |
|
|
124
|
+
| ------------ | ------------ | ------------------------------------------- | -------------------------------------- |
|
|
125
|
+
| `default` | `dogfood` | local Kuzu/LanceDB-style stores on task EFS | `desired_count = 1`; not HA |
|
|
126
|
+
| `production` | `remote` | Neptune Analytics providers | Requires Neptune graph id and endpoint |
|
|
127
|
+
|
|
128
|
+
Dogfood mode is deliberately single-task because Cognee's local Kuzu/LanceDB
|
|
129
|
+
style stores are not suitable for concurrent writers. Use remote stores before
|
|
130
|
+
raising `desired_count` above 1. Production tier intentionally rejects direct
|
|
131
|
+
OpenSearch/OpenSearch Serverless/AOSS vector storage; Neptune Analytics is the
|
|
132
|
+
supported production graph/vector path for this contract.
|
|
133
|
+
|
|
134
|
+
## Deployment-runner contract
|
|
135
|
+
|
|
136
|
+
The Step Functions deployment runner invokes the managed-app adapter with a
|
|
137
|
+
payload shaped like:
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"phase": "plan",
|
|
142
|
+
"appKey": "cognee",
|
|
143
|
+
"tenantId": "tenant-id",
|
|
144
|
+
"jobId": "deployment-job-id",
|
|
145
|
+
"desiredConfig": {
|
|
146
|
+
"brainTenantId": "tenant-id",
|
|
147
|
+
"brainInstanceKey": "tenant-<stable-hash>",
|
|
148
|
+
"brainStorageTier": "default",
|
|
149
|
+
"privateSubstrateMode": true
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Net-new Company Brain installs seed that tenant identity in the plugin
|
|
155
|
+
infrastructure handler. Existing/adopted rows preserve their stored
|
|
156
|
+
`desired_config` so no-change adoption evidence remains meaningful. The runner
|
|
157
|
+
maps `desiredConfig` to `cognee_*` Terraform variables, including tier defaults:
|
|
158
|
+
`default` becomes dogfood + LanceDB/Kuzu, and `production` becomes remote +
|
|
159
|
+
Neptune Analytics. Terraform state is still owned by the normal deployment
|
|
160
|
+
control-plane job for the stage; the tenant-scoped resource names prevent
|
|
161
|
+
instances from colliding inside that state.
|
|
162
|
+
|
|
163
|
+
## Secret handling
|
|
164
|
+
|
|
165
|
+
Sensitive values enter the ECS task through the `secrets` block, not the normal
|
|
166
|
+
environment list:
|
|
167
|
+
|
|
168
|
+
- `DB_PASSWORD` is read from `db_password_secret_arn` JSON key `password`.
|
|
169
|
+
Use a dedicated least-privilege Cognee database user. Do not pass the shared
|
|
170
|
+
Aurora admin/master credential.
|
|
171
|
+
- Optional non-Bedrock `LLM_API_KEY` and `EMBEDDING_API_KEY` values come from
|
|
172
|
+
their matching secret ARN inputs.
|
|
173
|
+
- Optional remote vector/graph credentials use `VECTOR_DB_KEY` and
|
|
174
|
+
`GRAPH_DATABASE_PASSWORD` secret ARN inputs.
|
|
175
|
+
|
|
176
|
+
Bedrock is the default LLM and embedding provider path, so no provider API key is
|
|
177
|
+
needed by default. Callers must still pass the specific
|
|
178
|
+
`bedrock_model_resource_arns` Cognee may invoke. If a non-Bedrock provider cannot
|
|
179
|
+
consume secrets through ECS secret injection, do not enable that provider mode
|
|
180
|
+
until a wrapper/entrypoint is added.
|
|
181
|
+
|
|
182
|
+
The module accepts pre-existing secret ARNs by default. For deployments that
|
|
183
|
+
want Terraform to create the secret containers, set
|
|
184
|
+
`create_secret_placeholders = true`. Terraform then creates only the missing
|
|
185
|
+
secret containers required by the selected configuration:
|
|
186
|
+
|
|
187
|
+
- `thinkwork/{stage}/cognee/db-credentials`
|
|
188
|
+
- `thinkwork/{stage}/cognee/llm-api-key`
|
|
189
|
+
- `thinkwork/{stage}/cognee/embedding-api-key`
|
|
190
|
+
- `thinkwork/{stage}/cognee/vector-db-key`
|
|
191
|
+
- `thinkwork/{stage}/cognee/graph-database-password`
|
|
192
|
+
|
|
193
|
+
Tenant-scoped Brain instances use the equivalent
|
|
194
|
+
`thinkwork/{stage}/brain/{brain_instance_key}/...` paths.
|
|
195
|
+
|
|
196
|
+
Secret versions are seeded with `PLACEHOLDER_SET_VIA_CLI` and use
|
|
197
|
+
`lifecycle.ignore_changes = [secret_string]`. Operators populate or rotate the
|
|
198
|
+
real values with Secrets Manager after apply, and later Terraform applies do not
|
|
199
|
+
clobber those values. Outputs expose only the selected secret ARNs.
|
|
200
|
+
|
|
201
|
+
`vector_db_url` and `graph_database_url` must not embed credentials in userinfo
|
|
202
|
+
or query parameters. Put remote-store credentials in the matching secret ARN
|
|
203
|
+
inputs.
|
|
204
|
+
|
|
205
|
+
## Image pinning
|
|
206
|
+
|
|
207
|
+
`image_uri` is required and must be pinned to an immutable `@sha256:` digest.
|
|
208
|
+
Mutable public tags such as `cognee/cognee:main` are intentionally rejected
|
|
209
|
+
because the task can access customer knowledge stores, secrets, and Bedrock.
|
|
210
|
+
|
|
211
|
+
## Smoke expectations
|
|
212
|
+
|
|
213
|
+
Terraform validation proves syntax and dependencies, not runtime readiness.
|
|
214
|
+
After enabling Cognee in a stage, operators should verify:
|
|
215
|
+
|
|
216
|
+
- `cognee_enabled` is `true`, `cognee_backend_mode` matches the intended mode,
|
|
217
|
+
and `cognee_endpoint` is an internal ALB URL.
|
|
218
|
+
- `cognee_cluster_arn`, GraphQL `deploymentStatus.cogneeClusterArn`, the Cognee
|
|
219
|
+
managed application `clusterArn`, and the health-check target all normalize to
|
|
220
|
+
the Brain cluster name for legacy stage-wide deployments.
|
|
221
|
+
- `cognee_brain_storage_tier`, graph/vector providers, S3 roots, EFS id, and
|
|
222
|
+
Neptune graph evidence match the intended tenant Brain instance.
|
|
223
|
+
- The internal ALB health check is healthy and the health endpoint is reachable
|
|
224
|
+
from the intended caller network or security group.
|
|
225
|
+
- Terraform waited for ECS steady state, or operators manually confirmed the
|
|
226
|
+
service is stable if `wait_for_steady_state = false` was used.
|
|
227
|
+
- `cognee_log_group_name` points to logs where Cognee boots without provider,
|
|
228
|
+
database, graph, vector, or filesystem errors.
|
|
229
|
+
- Cognee reports the configured LLM, embedding, graph, and vector providers.
|
|
230
|
+
- Cognee can call the selected LLM/embedding provider.
|
|
231
|
+
- Cognee can reach the configured relational, vector, and graph stores.
|
|
232
|
+
|
|
233
|
+
Committed verification evidence must redact account IDs, raw secret ARNs, full
|
|
234
|
+
resource IDs, and environment values. Keep raw AWS/GraphQL evidence in the
|
|
235
|
+
restricted CI, S3, or operator record, and commit only the sanitized summary.
|
|
236
|
+
|
|
237
|
+
If startup fails, start with the ECS service events and the Cognee CloudWatch log
|
|
238
|
+
group. Provider failures usually indicate missing Bedrock ARNs, missing
|
|
239
|
+
Secrets Manager values, or unsupported provider/credential plumbing. Database,
|
|
240
|
+
graph, and vector failures usually indicate connectivity, URL, secret, or
|
|
241
|
+
backend-mode mismatches.
|
|
242
|
+
|
|
243
|
+
## Rollback
|
|
244
|
+
|
|
245
|
+
To disable the substrate, set `enable_cognee = false` and apply through the
|
|
246
|
+
normal deploy pipeline. That removes the ECS service, internal ALB, security
|
|
247
|
+
groups, and Terraform-owned storage/secrets for the module. It does not roll back
|
|
248
|
+
or rewrite approved ontology definitions, Brain pages, Wiki content, or agent
|
|
249
|
+
context. Those product migrations are owned by later application-level work.
|
|
250
|
+
|
|
251
|
+
For a failed rollout where data should be preserved, scale or disable callers
|
|
252
|
+
first, snapshot/export EFS or remote graph/vector stores as appropriate, and then
|
|
253
|
+
apply the Terraform change. Do not manually mutate production resources outside
|
|
254
|
+
the normal incident/deploy process.
|
|
255
|
+
|
|
256
|
+
## Cleanup
|
|
257
|
+
|
|
258
|
+
EFS stores persistent Cognee data/system files. Destroying the module may delete
|
|
259
|
+
that storage if Terraform owns it. Remote graph/vector stores may retain data
|
|
260
|
+
outside Terraform entirely. Treat production data cleanup as an operator
|
|
261
|
+
decision: snapshot or export before destructive changes, and document whether the
|
|
262
|
+
data belongs to the Terraform-owned EFS volume, an operator-managed remote store,
|
|
263
|
+
or both.
|