thinkwork-cli 0.13.1 → 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 (130) hide show
  1. package/dist/{api-client-4DZ266J5.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-Y2WHJECR.js → chunk-Z2F6RJFR.js} +1 -39
  15. package/dist/cli.js +43080 -13150
  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 +6 -0
  38. package/dist/drizzle/0230_analyst_rls.sql +9 -0
  39. package/dist/drizzle/0250_kg_schema_extraction.sql +27 -0
  40. package/dist/drizzle/0251_brain_stragglers.sql +21 -0
  41. package/dist/drizzle/0253_drop_brain_substrate.sql +2 -0
  42. package/dist/drizzle/0257_agents_runtime_allow_harness.sql +24 -0
  43. package/dist/drizzle/0261_managed_harness_multiplayer.sql +313 -0
  44. package/dist/drizzle/0261_native_auth_control_plane.sql +328 -0
  45. package/dist/drizzle/0262_auth_subscription_tickets.sql +59 -0
  46. package/dist/drizzle/0262_parallel_harness_threads.sql +9 -0
  47. package/dist/drizzle/0263_agentcore_runtime_identifier.sql +69 -0
  48. package/dist/drizzle/0263_drop_workos_auth_runtime.sql +236 -0
  49. package/dist/drizzle/0264_auth_enrollment_attempt_limits.sql +15 -0
  50. package/dist/drizzle/0264_harness_tool_execution_ledger.sql +113 -0
  51. package/dist/drizzle/0265_eval_runs_requester_identity.sql +28 -0
  52. package/dist/drizzle/0265_require_fully_valid_auth_publication.sql +27 -0
  53. package/dist/drizzle/0266_auth_identity_recovery_grants.sql +9 -0
  54. package/dist/drizzle/0266_eval_profiles_runtime_type.sql +12 -0
  55. package/dist/drizzle/0267_ontology_candidate_rejections.sql +53 -0
  56. package/dist/drizzle/0268_identity_crosswalk_routing.sql +182 -0
  57. package/dist/drizzle/0269_ontology_system_map.sql +31 -0
  58. package/dist/event-streams-7JNLJEEL.js +894 -0
  59. package/dist/event-streams-KDF5RWR6.js +1515 -0
  60. package/dist/loadSso-DJVB7BXE.js +576 -0
  61. package/dist/loadSso-JAMNA3WY.js +583 -0
  62. package/dist/plugins/catalog/package.json +1 -2
  63. package/dist/plugins/catalog/src/__tests__/build-catalog.test.ts +0 -1
  64. package/dist/plugins/catalog/src/__tests__/contracts.test.ts +0 -69
  65. package/dist/plugins/catalog/src/__tests__/plugin-package.test.ts +0 -2
  66. package/dist/plugins/catalog/src/__tests__/plugin-registry.test.ts +0 -5
  67. package/dist/plugins/catalog/src/contracts.ts +2 -179
  68. package/dist/plugins/catalog/src/registry/generated-first-party.ts +0 -6
  69. package/dist/signin-UGDWTGS4.js +821 -0
  70. package/dist/sso-oidc-Q4VXANXY.js +837 -0
  71. package/dist/sts-CWLSE3GH.js +1241 -0
  72. package/dist/sts-DNZLNVOV.js +1245 -0
  73. package/dist/terraform/examples/greenfield/main.tf +223 -66
  74. package/dist/terraform/examples/greenfield/terraform.tfvars.example +15 -1
  75. package/dist/terraform/modules/app/agentcore-gateway/main.tf +305 -0
  76. package/dist/terraform/modules/app/agentcore-gateway/outputs.tf +44 -0
  77. package/dist/terraform/modules/app/agentcore-gateway/scripts/delete_gateway.sh +93 -0
  78. package/dist/terraform/modules/app/agentcore-gateway/scripts/read_gateway.sh +33 -0
  79. package/dist/terraform/modules/app/agentcore-gateway/scripts/reconcile_gateway.sh +543 -0
  80. package/dist/terraform/modules/app/agentcore-gateway/variables.tf +70 -0
  81. package/dist/terraform/modules/app/agentcore-harness/main.tf +237 -8
  82. package/dist/terraform/modules/app/agentcore-harness/outputs.tf +63 -0
  83. package/dist/terraform/modules/app/agentcore-harness/scripts/delete_harness.sh +5 -0
  84. package/dist/terraform/modules/app/agentcore-harness/scripts/harness-lifecycle.mjs +430 -0
  85. package/dist/terraform/modules/app/agentcore-harness/scripts/harness-readback.mjs +180 -0
  86. package/dist/terraform/modules/app/agentcore-harness/scripts/harness-tool-contract.mjs +193 -0
  87. package/dist/terraform/modules/app/agentcore-harness/scripts/prune_harness.sh +5 -0
  88. package/dist/terraform/modules/app/agentcore-harness/scripts/read_harness.sh +5 -0
  89. package/dist/terraform/modules/app/agentcore-harness/scripts/reconcile_harness.sh +5 -0
  90. package/dist/terraform/modules/app/agentcore-harness/variables.tf +72 -1
  91. package/dist/terraform/modules/app/agentcore-identity/main.tf +173 -0
  92. package/dist/terraform/modules/app/agentcore-identity/outputs.tf +51 -0
  93. package/dist/terraform/modules/app/agentcore-identity/scripts/bootstrap_twenty_oauth_client.sh +122 -0
  94. package/dist/terraform/modules/app/agentcore-identity/scripts/delete_identity.sh +25 -0
  95. package/dist/terraform/modules/app/agentcore-identity/scripts/delete_twenty_identity.sh +16 -0
  96. package/dist/terraform/modules/app/agentcore-identity/scripts/read_identity.sh +40 -0
  97. package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_identity.sh +73 -0
  98. package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_identity.sh +74 -0
  99. package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_provider.mjs +61 -0
  100. package/dist/terraform/modules/app/agentcore-identity/variables.tf +54 -0
  101. package/dist/terraform/modules/app/appsync-subscriptions/main.tf +127 -21
  102. package/dist/terraform/modules/app/appsync-subscriptions/outputs.tf +0 -6
  103. package/dist/terraform/modules/app/appsync-subscriptions/variables.tf +5 -0
  104. package/dist/terraform/modules/app/deployment-control-plane/runner.py +966 -27
  105. package/dist/terraform/modules/app/deployment-control-plane/test_runner_bundle.py +581 -22
  106. package/dist/terraform/modules/app/lambda-api/agentcore-harness-alarms.tf +88 -0
  107. package/dist/terraform/modules/app/lambda-api/agentcore-identity-alarms.tf +91 -0
  108. package/dist/terraform/modules/app/lambda-api/handlers.tf +298 -74
  109. package/dist/terraform/modules/app/lambda-api/iam-grouped.tf +99 -54
  110. package/dist/terraform/modules/app/lambda-api/main.tf +24 -0
  111. package/dist/terraform/modules/app/lambda-api/mcp-oauth.tf +181 -4
  112. package/dist/terraform/modules/app/lambda-api/outputs.tf +35 -0
  113. package/dist/terraform/modules/app/lambda-api/runtime-config.tf +3 -21
  114. package/dist/terraform/modules/app/lambda-api/variables.tf +109 -16
  115. package/dist/terraform/modules/foundation/cognito/main.tf +294 -72
  116. package/dist/terraform/modules/foundation/cognito/outputs.tf +42 -0
  117. package/dist/terraform/modules/foundation/cognito/variables.tf +114 -4
  118. package/dist/terraform/modules/thinkwork/main.tf +269 -46
  119. package/dist/terraform/modules/thinkwork/outputs.tf +136 -8
  120. package/dist/terraform/modules/thinkwork/variables.tf +124 -17
  121. package/dist/terraform/schema.graphql +69 -36
  122. package/dist/workspace-defaults/files/USER.md +1 -0
  123. package/package.json +3 -2
  124. package/dist/drizzle/0261_thread_turns_origin_turn_index.sql +0 -11
  125. package/dist/plugins/workos-auth/package.json +0 -22
  126. package/dist/plugins/workos-auth/src/index.ts +0 -30
  127. package/dist/plugins/workos-auth/src/manifest.ts +0 -40
  128. package/dist/plugins/workos-auth/src/provider-contract.ts +0 -39
  129. package/dist/plugins/workos-auth/test/manifest.test.ts +0 -94
  130. package/dist/plugins/workos-auth/tsconfig.json +0 -8
@@ -111,6 +111,36 @@ variable "enable_capability_broker" {
111
111
  default = false
112
112
  }
113
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
+
114
144
  variable "analyst_lambda_vpc_egress" {
115
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."
116
146
  type = bool
@@ -298,14 +328,68 @@ variable "google_oauth_client_secret" {
298
328
  default = ""
299
329
  }
300
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
+
301
361
  variable "pre_signup_lambda_zip" {
302
362
  description = "Path to the Cognito pre-signup Lambda zip"
303
363
  type = string
304
364
  default = ""
305
365
  }
306
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
+
307
391
  variable "cognito_custom_auth_lambda_zip" {
308
- 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."
309
393
  type = string
310
394
  default = ""
311
395
  }
@@ -428,18 +512,6 @@ variable "brain_dream_state_enabled" {
428
512
  default = false
429
513
  }
430
514
 
431
- variable "retry_dispatcher_enabled" {
432
- description = "Enable the recurring retry-dispatcher schedule (THINK-307). Never enable on a stage before THINK-305, THINK-308, and THINK-309 are live there; manual invokes work regardless."
433
- type = bool
434
- default = false
435
- }
436
-
437
- variable "stall_threshold_minutes" {
438
- description = "Minutes of turn inactivity before the stall monitor marks a running turn timed_out; the retry dispatcher reads the same knob as its origin-freshness guard (THINK-306/THINK-307)."
439
- type = number
440
- default = 5
441
- }
442
-
443
515
  variable "requester_memory_dreaming_model_id" {
444
516
  description = "Bedrock Converse model id for requester memory REM reflection."
445
517
  type = string
@@ -462,6 +534,12 @@ variable "knowledge_graph_observations_ingest_enabled" {
462
534
  default = false
463
535
  }
464
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
+
465
543
  variable "wiki_source" {
466
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."
467
545
  type = string
@@ -776,51 +854,62 @@ module "thinkwork" {
776
854
 
777
855
  plugin_catalog_github_token_secret_arn = var.plugin_catalog_github_token_secret_arn
778
856
 
779
- db_password = var.db_password
780
- database_engine = var.database_engine
781
- enable_hindsight = var.enable_hindsight
782
- enable_capability_broker = var.enable_capability_broker
783
- analyst_lambda_vpc_egress = var.analyst_lambda_vpc_egress
784
- hindsight_database_name = var.hindsight_database_name
785
- memory_engine = var.memory_engine
786
- twenty_provisioned = var.twenty_provisioned
787
- twenty_runtime_enabled = var.twenty_runtime_enabled
788
- twenty_image_uri = var.twenty_image_uri
789
- twenty_db_username = var.twenty_db_username
790
- twenty_db_name = var.twenty_db_name
791
- twenty_db_url_secret_arn = var.twenty_db_url_secret_arn
792
- twenty_encryption_key_secret_arn = var.twenty_encryption_key_secret_arn
793
- twenty_email_from_address = var.twenty_email_from_address
794
- twenty_email_from_name = var.twenty_email_from_name
795
- twenty_public_url = local.twenty_url
796
- twenty_certificate_arn = var.twenty_certificate_arn != "" ? var.twenty_certificate_arn : (local.twenty_managed_certificate_enabled ? aws_acm_certificate_validation.twenty[0].certificate_arn : "")
797
- n8n_provisioned = var.n8n_provisioned
798
- n8n_runtime_enabled = var.n8n_runtime_enabled
799
- n8n_image_uri = var.n8n_image_uri
800
- n8n_database_admin_secret_arn = var.n8n_database_admin_secret_arn
801
- n8n_database_url_secret_arn = var.n8n_database_url_secret_arn
802
- n8n_database_username = var.n8n_database_username
803
- n8n_database_name = var.n8n_database_name
804
- n8n_encryption_key_secret_arn = var.n8n_encryption_key_secret_arn
805
- n8n_operator_secret_arn = var.n8n_operator_secret_arn
806
- n8n_service_credential_secret_arn = var.n8n_service_credential_secret_arn
807
- n8n_storage_bucket_name = var.n8n_storage_bucket_name
808
- n8n_container_port = var.n8n_container_port
809
- n8n_cache_engine = var.n8n_cache_engine
810
- n8n_domain = local.n8n_domain
811
- n8n_public_url = local.n8n_url
812
- n8n_certificate_arn = var.n8n_certificate_arn != "" ? var.n8n_certificate_arn : (local.n8n_managed_certificate_enabled ? aws_acm_certificate_validation.n8n[0].certificate_arn : "")
813
- google_oauth_client_id = var.google_oauth_client_id
814
- google_oauth_client_secret = var.google_oauth_client_secret
815
- pre_signup_lambda_zip = var.pre_signup_lambda_zip
816
- cognito_custom_auth_lambda_zip = var.cognito_custom_auth_lambda_zip
817
- lambda_zips_dir = var.lambda_zips_dir
818
- lambda_artifact_bucket = var.lambda_artifact_bucket
819
- lambda_artifact_prefix = var.lambda_artifact_prefix
820
- require_lambda_artifacts = var.require_lambda_artifacts
821
- enable_workspace_orchestration = var.enable_workspace_orchestration
822
- api_auth_secret = var.api_auth_secret
823
- 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
824
913
 
825
914
  # Public website custom domain (optional — wired only when www_domain is set)
826
915
  www_domain = var.www_domain
@@ -865,14 +954,13 @@ module "thinkwork" {
865
954
  analyst_policy_source = var.analyst_policy_source
866
955
  capability_self_extension_tenants = var.capability_self_extension_tenants
867
956
  knowledge_graph_observations_ingest_enabled = var.knowledge_graph_observations_ingest_enabled
957
+ ontology_scan_sweep_enabled = var.ontology_scan_sweep_enabled
868
958
  wiki_deterministic_linking_enabled = var.wiki_deterministic_linking_enabled
869
959
  google_places_api_key = var.google_places_api_key
870
960
  requester_idle_memory_learning_enabled = var.requester_idle_memory_learning_enabled
871
961
  requester_memory_dreaming_enabled = var.requester_memory_dreaming_enabled
872
962
  requester_memory_dreaming_schedule_expression = var.requester_memory_dreaming_schedule_expression
873
963
  brain_dream_state_enabled = var.brain_dream_state_enabled
874
- retry_dispatcher_enabled = var.retry_dispatcher_enabled
875
- stall_threshold_minutes = var.stall_threshold_minutes
876
964
  requester_memory_dreaming_model_id = var.requester_memory_dreaming_model_id
877
965
  agentcore_code_interpreter_id = var.agentcore_code_interpreter_id
878
966
  agentcore_memory_id = var.agentcore_memory_id
@@ -1025,12 +1113,6 @@ output "appsync_realtime_url" {
1025
1113
  value = module.thinkwork.appsync_realtime_url
1026
1114
  }
1027
1115
 
1028
- output "appsync_api_key" {
1029
- description = "AppSync API key"
1030
- value = module.thinkwork.appsync_api_key
1031
- sensitive = true
1032
- }
1033
-
1034
1116
  output "mapbox_public_token" {
1035
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."
1036
1118
  value = module.thinkwork.mapbox_public_token
@@ -1052,6 +1134,21 @@ output "admin_client_id" {
1052
1134
  value = module.thinkwork.admin_client_id
1053
1135
  }
1054
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
+
1055
1152
  output "mobile_client_id" {
1056
1153
  description = "Cognito app client ID for mobile"
1057
1154
  value = module.thinkwork.mobile_client_id
@@ -1356,3 +1453,63 @@ output "analyst_egress_ip" {
1356
1453
  description = "Stable NAT egress IP of the VPC-attached analyst data-path Lambdas (null unless analyst_lambda_vpc_egress is set)"
1357
1454
  value = module.thinkwork.analyst_egress_ip
1358
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`.