thinkwork-cli 0.13.0 → 0.13.2

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.
Files changed (178) hide show
  1. package/dist/{api-client-JUBCQQDF.js → api-client-JYZXYQJR.js} +3 -1
  2. package/dist/bowser-6Z6JFAIR.js +2822 -0
  3. package/dist/chunk-DV3MRBR5.js +43 -0
  4. package/dist/chunk-DVPBI5HM.js +1728 -0
  5. package/dist/chunk-EI5ZX7CN.js +522 -0
  6. package/dist/chunk-EUJ7X6YD.js +126 -0
  7. package/dist/chunk-GG5WKBOX.js +436 -0
  8. package/dist/chunk-I64EZSU5.js +358 -0
  9. package/dist/chunk-ILZKG5WV.js +6151 -0
  10. package/dist/chunk-KMIJ5KGT.js +128 -0
  11. package/dist/chunk-OCPHU34C.js +996 -0
  12. package/dist/chunk-QOERT44A.js +3286 -0
  13. package/dist/chunk-XYM7PE2A.js +2264 -0
  14. package/dist/{chunk-STY44FQO.js → chunk-Z2F6RJFR.js} +12 -18
  15. package/dist/cli.js +72564 -18884
  16. package/dist/dist-es-CRV46D5B.js +315 -0
  17. package/dist/dist-es-DCY4IC3Y.js +2000 -0
  18. package/dist/dist-es-ENBUC3JP.js +14726 -0
  19. package/dist/dist-es-G54LBMRN.js +48 -0
  20. package/dist/dist-es-G7PTG75M.js +176 -0
  21. package/dist/dist-es-GKDBE7E6.js +88 -0
  22. package/dist/dist-es-HY3535OI.js +70 -0
  23. package/dist/dist-es-KL7Y5NB2.js +377 -0
  24. package/dist/dist-es-LDE437AM.js +170 -0
  25. package/dist/dist-es-P26FWFLT.js +485 -0
  26. package/dist/dist-es-Q57SZXZ7.js +70 -0
  27. package/dist/dist-es-R7FGL2IB.js +88 -0
  28. package/dist/dist-es-USORBXZ5.js +318 -0
  29. package/dist/dist-es-ZKC2QKD2.js +377 -0
  30. package/dist/drizzle/0076_scheduled_jobs_marco_backfill.sql +2 -1
  31. package/dist/drizzle/0079_seed_tenant_customize_catalog.sql +1 -0
  32. package/dist/drizzle/0090_brain_schema_extraction.sql +10 -0
  33. package/dist/drizzle/0132_drop_computer_tables.sql +3 -0
  34. package/dist/drizzle/0160_compliance_event_types_plugins.sql +2 -0
  35. package/dist/drizzle/0214_think137_drop_judge_evidence_roi.sql +1 -0
  36. package/dist/drizzle/0216_drop_agent_loop_versions_goal_worker_policy.sql +1 -0
  37. package/dist/drizzle/0227_analyst_reader_role.sql +106 -38
  38. package/dist/drizzle/0230_analyst_rls.sql +192 -66
  39. package/dist/drizzle/0232_memory_source_thin_ledger.sql +176 -0
  40. package/dist/drizzle/0232_message_source_event_id.sql +9 -0
  41. package/dist/drizzle/0233_msteams_install_and_links.sql +151 -0
  42. package/dist/drizzle/0233_workflow_memory_stage_tokens.sql +20 -0
  43. package/dist/drizzle/0234_memory_claim_lifecycle.sql +160 -0
  44. package/dist/drizzle/0235_workflow_token_execution_claim.sql +34 -0
  45. package/dist/drizzle/0236_memory_retraction_fencing.sql +50 -0
  46. package/dist/drizzle/0237_memory_claims_active_value_uidx.sql +172 -0
  47. package/dist/drizzle/0238_memory_erase_generation_fence.sql +97 -0
  48. package/dist/drizzle/0239_canonical_entity_identity.sql +257 -0
  49. package/dist/drizzle/0240_memory_personal_scope.sql +45 -0
  50. package/dist/drizzle/0241_knowledge_base_document_manifest.sql +67 -0
  51. package/dist/drizzle/0242_search_queries.sql +28 -0
  52. package/dist/drizzle/0243_section_sources_thread_refs.sql +12 -0
  53. package/dist/drizzle/0244_system_automations_and_memory_stage_overrides.sql +45 -0
  54. package/dist/drizzle/0245_wiki_page_render.sql +21 -0
  55. package/dist/drizzle/0246_automation_workflow_ownership.sql +30 -0
  56. package/dist/drizzle/0247_capability_runtime.sql +402 -0
  57. package/dist/drizzle/0248_capability_private_interpreter.sql +13 -0
  58. package/dist/drizzle/0249_capability_headless_execution_evidence.sql +40 -0
  59. package/dist/drizzle/0250_kg_schema_extraction.sql +576 -0
  60. package/dist/drizzle/0251_agents_json_render_ui.sql +25 -0
  61. package/dist/drizzle/0251_brain_stragglers.sql +263 -0
  62. package/dist/drizzle/0252_drop_kg_and_straggler_compat_views.sql +100 -0
  63. package/dist/drizzle/0253_drop_brain_substrate.sql +93 -0
  64. package/dist/drizzle/0254_capability_autonomous_admission.sql +29 -0
  65. package/dist/drizzle/0255_capability_autonomous_approval_mode.sql +16 -0
  66. package/dist/drizzle/0256_agent_profile_manifest_authority.sql +18 -0
  67. package/dist/drizzle/0257_agents_runtime_allow_harness.sql +24 -0
  68. package/dist/drizzle/0257_capability_approvals.sql +53 -0
  69. package/dist/drizzle/0258_pending_tool_approvals.sql +84 -0
  70. package/dist/drizzle/0259_tenant_capability_registry_trust.sql +19 -0
  71. package/dist/drizzle/0260_scheduled_jobs_run_as_user.sql +20 -0
  72. package/dist/drizzle/0261_managed_harness_multiplayer.sql +313 -0
  73. package/dist/drizzle/0261_native_auth_control_plane.sql +328 -0
  74. package/dist/drizzle/0262_auth_subscription_tickets.sql +59 -0
  75. package/dist/drizzle/0262_parallel_harness_threads.sql +9 -0
  76. package/dist/drizzle/0263_agentcore_runtime_identifier.sql +69 -0
  77. package/dist/drizzle/0263_drop_workos_auth_runtime.sql +236 -0
  78. package/dist/drizzle/0264_auth_enrollment_attempt_limits.sql +15 -0
  79. package/dist/drizzle/0264_harness_tool_execution_ledger.sql +113 -0
  80. package/dist/drizzle/0265_eval_runs_requester_identity.sql +28 -0
  81. package/dist/drizzle/0265_require_fully_valid_auth_publication.sql +27 -0
  82. package/dist/drizzle/0266_auth_identity_recovery_grants.sql +9 -0
  83. package/dist/drizzle/0266_eval_profiles_runtime_type.sql +12 -0
  84. package/dist/drizzle/0267_ontology_candidate_rejections.sql +53 -0
  85. package/dist/drizzle/0268_identity_crosswalk_routing.sql +182 -0
  86. package/dist/drizzle/0269_ontology_system_map.sql +31 -0
  87. package/dist/event-streams-7JNLJEEL.js +894 -0
  88. package/dist/event-streams-KDF5RWR6.js +1515 -0
  89. package/dist/loadSso-DJVB7BXE.js +576 -0
  90. package/dist/loadSso-JAMNA3WY.js +583 -0
  91. package/dist/plugins/catalog/package.json +1 -2
  92. package/dist/plugins/catalog/src/__tests__/build-catalog.test.ts +0 -1
  93. package/dist/plugins/catalog/src/__tests__/contracts.test.ts +0 -69
  94. package/dist/plugins/catalog/src/__tests__/plugin-package.test.ts +0 -2
  95. package/dist/plugins/catalog/src/__tests__/plugin-registry.test.ts +0 -5
  96. package/dist/plugins/catalog/src/contracts.ts +2 -179
  97. package/dist/plugins/catalog/src/registry/generated-first-party.ts +0 -6
  98. package/dist/signin-UGDWTGS4.js +821 -0
  99. package/dist/sso-oidc-Q4VXANXY.js +837 -0
  100. package/dist/sts-CWLSE3GH.js +1241 -0
  101. package/dist/sts-DNZLNVOV.js +1245 -0
  102. package/dist/terraform/examples/greenfield/main.tf +247 -50
  103. package/dist/terraform/examples/greenfield/terraform.tfvars.example +15 -1
  104. package/dist/terraform/modules/app/agentcore-admin/main.tf +341 -0
  105. package/dist/terraform/modules/app/agentcore-admin/outputs.tf +20 -0
  106. package/dist/terraform/modules/app/agentcore-code-interpreter/main.tf +61 -0
  107. package/dist/terraform/modules/app/agentcore-gateway/main.tf +305 -0
  108. package/dist/terraform/modules/app/agentcore-gateway/outputs.tf +44 -0
  109. package/dist/terraform/modules/app/agentcore-gateway/scripts/delete_gateway.sh +93 -0
  110. package/dist/terraform/modules/app/agentcore-gateway/scripts/read_gateway.sh +33 -0
  111. package/dist/terraform/modules/app/agentcore-gateway/scripts/reconcile_gateway.sh +543 -0
  112. package/dist/terraform/modules/app/agentcore-gateway/variables.tf +70 -0
  113. package/dist/terraform/modules/app/agentcore-harness/main.tf +330 -0
  114. package/dist/terraform/modules/app/agentcore-harness/outputs.tf +72 -0
  115. package/dist/terraform/modules/app/agentcore-harness/scripts/delete_harness.sh +5 -0
  116. package/dist/terraform/modules/app/agentcore-harness/scripts/harness-lifecycle.mjs +430 -0
  117. package/dist/terraform/modules/app/agentcore-harness/scripts/harness-readback.mjs +180 -0
  118. package/dist/terraform/modules/app/agentcore-harness/scripts/harness-tool-contract.mjs +193 -0
  119. package/dist/terraform/modules/app/agentcore-harness/scripts/prune_harness.sh +5 -0
  120. package/dist/terraform/modules/app/agentcore-harness/scripts/read_harness.sh +5 -0
  121. package/dist/terraform/modules/app/agentcore-harness/scripts/reconcile_harness.sh +5 -0
  122. package/dist/terraform/modules/app/agentcore-harness/variables.tf +96 -0
  123. package/dist/terraform/modules/app/agentcore-identity/main.tf +173 -0
  124. package/dist/terraform/modules/app/agentcore-identity/outputs.tf +51 -0
  125. package/dist/terraform/modules/app/agentcore-identity/scripts/bootstrap_twenty_oauth_client.sh +122 -0
  126. package/dist/terraform/modules/app/agentcore-identity/scripts/delete_identity.sh +25 -0
  127. package/dist/terraform/modules/app/agentcore-identity/scripts/delete_twenty_identity.sh +16 -0
  128. package/dist/terraform/modules/app/agentcore-identity/scripts/read_identity.sh +40 -0
  129. package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_identity.sh +73 -0
  130. package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_identity.sh +74 -0
  131. package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_provider.mjs +61 -0
  132. package/dist/terraform/modules/app/agentcore-identity/variables.tf +54 -0
  133. package/dist/terraform/modules/app/agentcore-pi/main.tf +7 -0
  134. package/dist/terraform/modules/app/appsync-subscriptions/main.tf +127 -21
  135. package/dist/terraform/modules/app/appsync-subscriptions/outputs.tf +0 -6
  136. package/dist/terraform/modules/app/appsync-subscriptions/variables.tf +5 -0
  137. package/dist/terraform/modules/app/capability-broker/main.tf +393 -0
  138. package/dist/terraform/modules/app/capability-broker/outputs.tf +54 -0
  139. package/dist/terraform/modules/app/capability-broker/variables.tf +98 -0
  140. package/dist/terraform/modules/app/deployment-control-plane/runner.py +1011 -31
  141. package/dist/terraform/modules/app/deployment-control-plane/test_runner_bundle.py +655 -2
  142. package/dist/terraform/modules/app/lambda-api/agentcore-harness-alarms.tf +88 -0
  143. package/dist/terraform/modules/app/lambda-api/agentcore-identity-alarms.tf +91 -0
  144. package/dist/terraform/modules/app/lambda-api/capability-search-alarms.tf +60 -0
  145. package/dist/terraform/modules/app/lambda-api/handlers.tf +606 -37
  146. package/dist/terraform/modules/app/lambda-api/iam-grouped.tf +192 -21
  147. package/dist/terraform/modules/app/lambda-api/main.tf +35 -0
  148. package/dist/terraform/modules/app/lambda-api/mcp-oauth.tf +181 -4
  149. package/dist/terraform/modules/app/lambda-api/memory-alarms.tf +92 -0
  150. package/dist/terraform/modules/app/lambda-api/msteams-app-secrets.tf +46 -0
  151. package/dist/terraform/modules/app/lambda-api/outputs.tf +35 -0
  152. package/dist/terraform/modules/app/lambda-api/runtime-config.tf +3 -21
  153. package/dist/terraform/modules/app/lambda-api/variables.tf +188 -3
  154. package/dist/terraform/modules/app/workflow-interpreter-stepfunctions/alarms.tf +47 -0
  155. package/dist/terraform/modules/app/workflow-interpreter-stepfunctions/main.tf +43 -2
  156. package/dist/terraform/modules/foundation/cognito/main.tf +319 -73
  157. package/dist/terraform/modules/foundation/cognito/outputs.tf +42 -0
  158. package/dist/terraform/modules/foundation/cognito/variables.tf +124 -2
  159. package/dist/terraform/modules/foundation/vpc/outputs.tf +5 -0
  160. package/dist/terraform/modules/thinkwork/main.tf +396 -26
  161. package/dist/terraform/modules/thinkwork/outputs.tf +188 -5
  162. package/dist/terraform/modules/thinkwork/variables.tf +154 -5
  163. package/dist/terraform/schema.graphql +69 -36
  164. package/dist/workspace-defaults/files/TOOLS.md +39 -0
  165. package/dist/workspace-defaults/files/USER.md +1 -0
  166. package/dist/workspace-defaults/files/agents/analyst/INSTRUCTIONS.md +18 -0
  167. package/dist/workspace-defaults/files/agents/coding/INSTRUCTIONS.md +11 -0
  168. package/dist/workspace-defaults/files/agents/research/INSTRUCTIONS.md +12 -0
  169. package/dist/workspace-defaults/files/agents/reviewer/INSTRUCTIONS.md +15 -0
  170. package/dist/workspace-defaults/files/skills/document-composer/SKILL.md +6 -2
  171. package/package.json +6 -3
  172. package/dist/plugins/workos-auth/package.json +0 -22
  173. package/dist/plugins/workos-auth/src/index.ts +0 -30
  174. package/dist/plugins/workos-auth/src/manifest.ts +0 -40
  175. package/dist/plugins/workos-auth/src/provider-contract.ts +0 -39
  176. package/dist/plugins/workos-auth/test/manifest.test.ts +0 -94
  177. package/dist/plugins/workos-auth/tsconfig.json +0 -8
  178. /package/dist/workspace-defaults/files/{AGENTS.md → INSTRUCTIONS.md} +0 -0
@@ -105,6 +105,48 @@ variable "enable_hindsight" {
105
105
  default = true
106
106
  }
107
107
 
108
+ variable "enable_capability_broker" {
109
+ description = "THINK-280 governed capability runtime. When true, brings up the capability broker (PoP session table, private REST API, dedicated execute-api VPCE with private DNS off, no-NAT interpreter SG) and enables capability-private interpreter provisioning. Default false — currently flipped on only for the dev dogfood via deploy.yml."
110
+ type = bool
111
+ default = false
112
+ }
113
+
114
+ variable "enable_agentcore_multiplayer_proof" {
115
+ description = "Opt in to the non-production THINK-316 AgentCore Identity/Gateway proof substrate."
116
+ type = bool
117
+ default = false
118
+ }
119
+
120
+ variable "agentcore_multiplayer_proof_tenant_slug" {
121
+ description = "Explicit non-production tenant slug used for the one-Harness multiplayer proof."
122
+ type = string
123
+ default = ""
124
+ }
125
+
126
+ variable "agentcore_multiplayer_proof_owner_allowlist" {
127
+ description = "Comma-separated non-production subjects for the manual authorization-code and mixed-disclosure fixtures. Signed OBO turn participants do not require registration here."
128
+ type = string
129
+ default = ""
130
+ }
131
+
132
+ variable "agentcore_turn_assertion_key_versions" {
133
+ description = "One or two published AgentCore assertion key versions during rotation."
134
+ type = list(string)
135
+ default = ["v1"]
136
+ }
137
+
138
+ variable "agentcore_turn_assertion_active_key_version" {
139
+ description = "AgentCore assertion key version used to sign new tokens."
140
+ type = string
141
+ default = "v1"
142
+ }
143
+
144
+ variable "analyst_lambda_vpc_egress" {
145
+ description = "VPC-attach the analyst data-path Lambdas so their egress rides the NAT gateway's stable EIP — required when an external analyst data source sits behind an IP allowlist. See the thinkwork module's analyst_egress_ip output for the IP to allowlist."
146
+ type = bool
147
+ default = false
148
+ }
149
+
108
150
  variable "memory_engine" {
109
151
  description = "Active long-term memory engine. Empty selects Hindsight when enable_hindsight = true. Use 'agentcore' only for explicit low-cost/development managed-memory deployments."
110
152
  type = string
@@ -286,14 +328,68 @@ variable "google_oauth_client_secret" {
286
328
  default = ""
287
329
  }
288
330
 
331
+ variable "microsoft_oauth_client_id" {
332
+ description = "Microsoft Entra application client ID for direct Cognito organizations login"
333
+ type = string
334
+ default = ""
335
+ }
336
+
337
+ variable "microsoft_oauth_client_secret" {
338
+ description = "Microsoft Entra application client secret for direct Cognito organizations login"
339
+ type = string
340
+ sensitive = true
341
+ default = ""
342
+ }
343
+
344
+ variable "microsoft_oauth_tenant" {
345
+ description = "Microsoft Entra directory GUID for the deployment's default Microsoft login route"
346
+ type = string
347
+ default = ""
348
+ }
349
+
350
+ variable "tenant_entra_connections" {
351
+ description = "Safe tenant-specific Entra provider metadata. Secret values must never be placed in tfvars."
352
+ type = list(object({
353
+ connection_key = string
354
+ tenant_id = string
355
+ provider_name = string
356
+ display_name = string
357
+ }))
358
+ default = []
359
+ }
360
+
289
361
  variable "pre_signup_lambda_zip" {
290
362
  description = "Path to the Cognito pre-signup Lambda zip"
291
363
  type = string
292
364
  default = ""
293
365
  }
294
366
 
367
+ variable "auth_retirement_phase" {
368
+ description = "Native-auth migration phase. Greenfield installs are native-only; use coexistence/cutover only for an existing deployment migration."
369
+ type = string
370
+ default = "retired"
371
+
372
+ validation {
373
+ condition = contains(["coexistence", "cutover", "retired"], var.auth_retirement_phase)
374
+ error_message = "auth_retirement_phase must be coexistence, cutover, or retired."
375
+ }
376
+ }
377
+
378
+ variable "auth_migration_recovery_deadline" {
379
+ description = "RFC3339 deadline for legacy-session identity migration; required only when explicitly deploying coexistence."
380
+ type = string
381
+ default = ""
382
+
383
+ validation {
384
+ condition = trimspace(var.auth_migration_recovery_deadline) == "" || (
385
+ can(timecmp(var.auth_migration_recovery_deadline, var.auth_migration_recovery_deadline))
386
+ )
387
+ error_message = "auth_migration_recovery_deadline must be empty or an RFC3339 timestamp."
388
+ }
389
+ }
390
+
295
391
  variable "cognito_custom_auth_lambda_zip" {
296
- description = "Path to the Cognito custom-auth challenge Lambda zip"
392
+ description = "Path to the WorkOS rollback Cognito custom-auth Lambda zip for source-checkout deployments."
297
393
  type = string
298
394
  default = ""
299
395
  }
@@ -438,6 +534,12 @@ variable "knowledge_graph_observations_ingest_enabled" {
438
534
  default = false
439
535
  }
440
536
 
537
+ variable "ontology_scan_sweep_enabled" {
538
+ description = "Enable the recurring per-tenant ontology suggestion scan sweep (THINK-320 U4/KTD-3). Ships disabled; enabled per stage once the Living Map review surfaces land."
539
+ type = bool
540
+ default = false
541
+ }
542
+
441
543
  variable "wiki_source" {
442
544
  description = "Wiki compile pipeline source: 'planner' (LLM compile) or 'graph' (deterministic graph->wiki materializer). Dev flips first per THINK-133 U8/KTD-4; the default flips for all stages only after dev comparison evidence holds."
443
545
  type = string
@@ -460,6 +562,12 @@ variable "analyst_policy_source" {
460
562
  }
461
563
  }
462
564
 
565
+ variable "capability_self_extension_tenants" {
566
+ description = "Governed autonomy opt-in: comma/space-separated tenant ids allowed to autonomously self-extend capabilities (self_admit_connection / self_approve_routine). Empty (default) = NO tenant enabled; self-extension ships inert and fail-closed."
567
+ type = string
568
+ default = ""
569
+ }
570
+
463
571
  variable "wiki_aggregation_pass_enabled" {
464
572
  description = <<-EOT
465
573
  Feature flag for the wiki aggregation pass — the second LLM call
@@ -746,49 +854,62 @@ module "thinkwork" {
746
854
 
747
855
  plugin_catalog_github_token_secret_arn = var.plugin_catalog_github_token_secret_arn
748
856
 
749
- db_password = var.db_password
750
- database_engine = var.database_engine
751
- enable_hindsight = var.enable_hindsight
752
- hindsight_database_name = var.hindsight_database_name
753
- memory_engine = var.memory_engine
754
- twenty_provisioned = var.twenty_provisioned
755
- twenty_runtime_enabled = var.twenty_runtime_enabled
756
- twenty_image_uri = var.twenty_image_uri
757
- twenty_db_username = var.twenty_db_username
758
- twenty_db_name = var.twenty_db_name
759
- twenty_db_url_secret_arn = var.twenty_db_url_secret_arn
760
- twenty_encryption_key_secret_arn = var.twenty_encryption_key_secret_arn
761
- twenty_email_from_address = var.twenty_email_from_address
762
- twenty_email_from_name = var.twenty_email_from_name
763
- twenty_public_url = local.twenty_url
764
- twenty_certificate_arn = var.twenty_certificate_arn != "" ? var.twenty_certificate_arn : (local.twenty_managed_certificate_enabled ? aws_acm_certificate_validation.twenty[0].certificate_arn : "")
765
- n8n_provisioned = var.n8n_provisioned
766
- n8n_runtime_enabled = var.n8n_runtime_enabled
767
- n8n_image_uri = var.n8n_image_uri
768
- n8n_database_admin_secret_arn = var.n8n_database_admin_secret_arn
769
- n8n_database_url_secret_arn = var.n8n_database_url_secret_arn
770
- n8n_database_username = var.n8n_database_username
771
- n8n_database_name = var.n8n_database_name
772
- n8n_encryption_key_secret_arn = var.n8n_encryption_key_secret_arn
773
- n8n_operator_secret_arn = var.n8n_operator_secret_arn
774
- n8n_service_credential_secret_arn = var.n8n_service_credential_secret_arn
775
- n8n_storage_bucket_name = var.n8n_storage_bucket_name
776
- n8n_container_port = var.n8n_container_port
777
- n8n_cache_engine = var.n8n_cache_engine
778
- n8n_domain = local.n8n_domain
779
- n8n_public_url = local.n8n_url
780
- n8n_certificate_arn = var.n8n_certificate_arn != "" ? var.n8n_certificate_arn : (local.n8n_managed_certificate_enabled ? aws_acm_certificate_validation.n8n[0].certificate_arn : "")
781
- google_oauth_client_id = var.google_oauth_client_id
782
- google_oauth_client_secret = var.google_oauth_client_secret
783
- pre_signup_lambda_zip = var.pre_signup_lambda_zip
784
- cognito_custom_auth_lambda_zip = var.cognito_custom_auth_lambda_zip
785
- lambda_zips_dir = var.lambda_zips_dir
786
- lambda_artifact_bucket = var.lambda_artifact_bucket
787
- lambda_artifact_prefix = var.lambda_artifact_prefix
788
- require_lambda_artifacts = var.require_lambda_artifacts
789
- enable_workspace_orchestration = var.enable_workspace_orchestration
790
- api_auth_secret = var.api_auth_secret
791
- platform_operator_emails = var.platform_operator_emails
857
+ db_password = var.db_password
858
+ database_engine = var.database_engine
859
+ enable_hindsight = var.enable_hindsight
860
+ enable_capability_broker = var.enable_capability_broker
861
+ enable_agentcore_multiplayer_proof = var.enable_agentcore_multiplayer_proof
862
+ agentcore_multiplayer_proof_tenant_slug = var.agentcore_multiplayer_proof_tenant_slug
863
+ agentcore_multiplayer_proof_owner_allowlist = var.agentcore_multiplayer_proof_owner_allowlist
864
+ agentcore_turn_assertion_key_versions = var.agentcore_turn_assertion_key_versions
865
+ agentcore_turn_assertion_active_key_version = var.agentcore_turn_assertion_active_key_version
866
+ analyst_lambda_vpc_egress = var.analyst_lambda_vpc_egress
867
+ hindsight_database_name = var.hindsight_database_name
868
+ memory_engine = var.memory_engine
869
+ twenty_provisioned = var.twenty_provisioned
870
+ twenty_runtime_enabled = var.twenty_runtime_enabled
871
+ twenty_image_uri = var.twenty_image_uri
872
+ twenty_db_username = var.twenty_db_username
873
+ twenty_db_name = var.twenty_db_name
874
+ twenty_db_url_secret_arn = var.twenty_db_url_secret_arn
875
+ twenty_encryption_key_secret_arn = var.twenty_encryption_key_secret_arn
876
+ twenty_email_from_address = var.twenty_email_from_address
877
+ twenty_email_from_name = var.twenty_email_from_name
878
+ twenty_public_url = local.twenty_url
879
+ twenty_certificate_arn = var.twenty_certificate_arn != "" ? var.twenty_certificate_arn : (local.twenty_managed_certificate_enabled ? aws_acm_certificate_validation.twenty[0].certificate_arn : "")
880
+ n8n_provisioned = var.n8n_provisioned
881
+ n8n_runtime_enabled = var.n8n_runtime_enabled
882
+ n8n_image_uri = var.n8n_image_uri
883
+ n8n_database_admin_secret_arn = var.n8n_database_admin_secret_arn
884
+ n8n_database_url_secret_arn = var.n8n_database_url_secret_arn
885
+ n8n_database_username = var.n8n_database_username
886
+ n8n_database_name = var.n8n_database_name
887
+ n8n_encryption_key_secret_arn = var.n8n_encryption_key_secret_arn
888
+ n8n_operator_secret_arn = var.n8n_operator_secret_arn
889
+ n8n_service_credential_secret_arn = var.n8n_service_credential_secret_arn
890
+ n8n_storage_bucket_name = var.n8n_storage_bucket_name
891
+ n8n_container_port = var.n8n_container_port
892
+ n8n_cache_engine = var.n8n_cache_engine
893
+ n8n_domain = local.n8n_domain
894
+ n8n_public_url = local.n8n_url
895
+ n8n_certificate_arn = var.n8n_certificate_arn != "" ? var.n8n_certificate_arn : (local.n8n_managed_certificate_enabled ? aws_acm_certificate_validation.n8n[0].certificate_arn : "")
896
+ google_oauth_client_id = var.google_oauth_client_id
897
+ google_oauth_client_secret = var.google_oauth_client_secret
898
+ microsoft_oauth_client_id = var.microsoft_oauth_client_id
899
+ microsoft_oauth_client_secret = var.microsoft_oauth_client_secret
900
+ microsoft_oauth_tenant = var.microsoft_oauth_tenant
901
+ tenant_entra_connections = var.tenant_entra_connections
902
+ pre_signup_lambda_zip = var.pre_signup_lambda_zip
903
+ auth_retirement_phase = var.auth_retirement_phase
904
+ auth_migration_recovery_deadline = var.auth_migration_recovery_deadline
905
+ cognito_custom_auth_lambda_zip = var.cognito_custom_auth_lambda_zip
906
+ lambda_zips_dir = var.lambda_zips_dir
907
+ lambda_artifact_bucket = var.lambda_artifact_bucket
908
+ lambda_artifact_prefix = var.lambda_artifact_prefix
909
+ require_lambda_artifacts = var.require_lambda_artifacts
910
+ enable_workspace_orchestration = var.enable_workspace_orchestration
911
+ api_auth_secret = var.api_auth_secret
912
+ platform_operator_emails = var.platform_operator_emails
792
913
 
793
914
  # Public website custom domain (optional — wired only when www_domain is set)
794
915
  www_domain = var.www_domain
@@ -831,7 +952,9 @@ module "thinkwork" {
831
952
  wiki_aggregation_pass_enabled = var.wiki_aggregation_pass_enabled
832
953
  wiki_source = var.wiki_source
833
954
  analyst_policy_source = var.analyst_policy_source
955
+ capability_self_extension_tenants = var.capability_self_extension_tenants
834
956
  knowledge_graph_observations_ingest_enabled = var.knowledge_graph_observations_ingest_enabled
957
+ ontology_scan_sweep_enabled = var.ontology_scan_sweep_enabled
835
958
  wiki_deterministic_linking_enabled = var.wiki_deterministic_linking_enabled
836
959
  google_places_api_key = var.google_places_api_key
837
960
  requester_idle_memory_learning_enabled = var.requester_idle_memory_learning_enabled
@@ -990,12 +1113,6 @@ output "appsync_realtime_url" {
990
1113
  value = module.thinkwork.appsync_realtime_url
991
1114
  }
992
1115
 
993
- output "appsync_api_key" {
994
- description = "AppSync API key"
995
- value = module.thinkwork.appsync_api_key
996
- sensitive = true
997
- }
998
-
999
1116
  output "mapbox_public_token" {
1000
1117
  description = "Mapbox public token used by apps/web MapView. Read by scripts/build-web.sh to inline VITE_MAPBOX_PUBLIC_TOKEN at build time; empty string lets MapView fall back to OpenStreetMap tiles."
1001
1118
  value = module.thinkwork.mapbox_public_token
@@ -1017,6 +1134,21 @@ output "admin_client_id" {
1017
1134
  value = module.thinkwork.admin_client_id
1018
1135
  }
1019
1136
 
1137
+ output "auth_route_clients" {
1138
+ description = "Safe Cognito app-client manifest for local, Google, Microsoft, and tenant Entra routes."
1139
+ value = module.thinkwork.auth_route_clients
1140
+ }
1141
+
1142
+ output "auth_retirement_phase" {
1143
+ description = "Applied authentication retirement phase used for safe controller upgrades."
1144
+ value = module.thinkwork.auth_retirement_phase
1145
+ }
1146
+
1147
+ output "web_local_client_id" {
1148
+ description = "Local-password-only Cognito app client used by the web runtime."
1149
+ value = module.thinkwork.web_local_client_id
1150
+ }
1151
+
1020
1152
  output "mobile_client_id" {
1021
1153
  description = "Cognito app client ID for mobile"
1022
1154
  value = module.thinkwork.mobile_client_id
@@ -1316,3 +1448,68 @@ output "customer_domain_name_servers" {
1316
1448
  description = "The four Route53 name servers for the customer-domain zone — publish these via the claim tool's `claim --set-targets` to delegate (empty when no customer domain is configured)."
1317
1449
  value = module.thinkwork.customer_domain_name_servers
1318
1450
  }
1451
+
1452
+ output "analyst_egress_ip" {
1453
+ description = "Stable NAT egress IP of the VPC-attached analyst data-path Lambdas (null unless analyst_lambda_vpc_egress is set)"
1454
+ value = module.thinkwork.analyst_egress_ip
1455
+ }
1456
+
1457
+ output "agentcore_harness_proof_arn" {
1458
+ description = "Deprecated: use agentcore_harness_arn."
1459
+ value = module.thinkwork.agentcore_harness_proof_arn
1460
+ }
1461
+
1462
+ output "agentcore_harness_arn" {
1463
+ description = "Managed tenant/profile AgentCore Harness ARN."
1464
+ value = module.thinkwork.agentcore_harness_arn
1465
+ }
1466
+
1467
+ output "agentcore_harness_endpoint_name" {
1468
+ description = "Named version-pinned managed AgentCore Harness qualifier."
1469
+ value = module.thinkwork.agentcore_harness_endpoint_name
1470
+ }
1471
+
1472
+ output "agentcore_harness_version" {
1473
+ description = "Attested immutable managed AgentCore Harness version."
1474
+ value = module.thinkwork.agentcore_harness_version
1475
+ }
1476
+
1477
+ output "agentcore_harness_status" {
1478
+ description = "Safe managed AgentCore Harness readiness state."
1479
+ value = module.thinkwork.agentcore_harness_status
1480
+ }
1481
+
1482
+ output "agentcore_harness_proof_endpoint_name" {
1483
+ description = "Deprecated: use agentcore_harness_endpoint_name."
1484
+ value = module.thinkwork.agentcore_harness_proof_endpoint_name
1485
+ }
1486
+
1487
+ output "agentcore_harness_proof_version" {
1488
+ description = "Deprecated: use agentcore_harness_version."
1489
+ value = module.thinkwork.agentcore_harness_proof_version
1490
+ }
1491
+
1492
+ output "agentcore_harness_proof_status" {
1493
+ description = "Deprecated: use agentcore_harness_status."
1494
+ value = module.thinkwork.agentcore_harness_proof_status
1495
+ }
1496
+
1497
+ output "agentcore_turn_assertion_issuer" {
1498
+ description = "Proof CUSTOM_JWT issuer used by deployed operator probes."
1499
+ value = module.thinkwork.agentcore_turn_assertion_issuer
1500
+ }
1501
+
1502
+ output "agentcore_harness_audience" {
1503
+ description = "Purpose-bound proof Harness audience."
1504
+ value = module.thinkwork.agentcore_harness_audience
1505
+ }
1506
+
1507
+ output "agentcore_turn_assertion_active_key_arn" {
1508
+ description = "Operator-only active proof signing key ARN."
1509
+ value = module.thinkwork.agentcore_turn_assertion_active_key_arn
1510
+ }
1511
+
1512
+ output "agentcore_turn_assertion_active_kid" {
1513
+ description = "Public JWKS key identifier for the active proof signing key."
1514
+ value = module.thinkwork.agentcore_turn_assertion_active_kid
1515
+ }
@@ -72,10 +72,24 @@ db_password = "CHANGE_ME_strong_password_here"
72
72
  # Google OAuth (optional — leave empty to skip Google social login)
73
73
  # google_oauth_client_id = ""
74
74
  # google_oauth_client_secret = ""
75
+ # microsoft_oauth_client_id = ""
76
+ # microsoft_oauth_client_secret = "" # Supply securely; never commit a real value.
77
+ # microsoft_oauth_tenant = "" # Entra directory GUID; organizations/common are not valid Cognito issuers.
78
+
79
+ # Tenant-specific Entra IdPs are reconciled by `thinkwork enterprise
80
+ # identity-provider`; Terraform receives safe provider metadata only.
81
+ # tenant_entra_connections = [{
82
+ # connection_key = "microsoft:tenant:00000000-0000-4000-8000-000000000000"
83
+ # tenant_id = "00000000-0000-4000-8000-000000000000"
84
+ # provider_name = "Entra_0000000000004000_ab12cd34"
85
+ # display_name = "Example organization"
86
+ # }]
75
87
 
76
88
  # Cognito trigger Lambdas (optional — leave empty if not using custom auth logic)
77
89
  # pre_signup_lambda_zip = "./lambdas/cognito-pre-signup.zip"
78
- # cognito_custom_auth_lambda_zip = "./lambdas/cognito-custom-auth.zip"
90
+ # auth_retirement_phase = "retired" # greenfield default; existing upgrades explicitly use coexistence -> cutover -> retired
91
+ # auth_migration_recovery_deadline = "2026-08-01T00:00:00Z" # required when auth_retirement_phase = "coexistence"
92
+ # cognito_custom_auth_lambda_zip = "./lambdas/cognito-custom-auth.zip" # rollback only
79
93
 
80
94
  # Lambda artifacts:
81
95
  # - Source checkout deploys can set lambda_zips_dir after `pnpm build:lambdas`.