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.
- package/dist/{api-client-JUBCQQDF.js → api-client-JYZXYQJR.js} +3 -1
- package/dist/bowser-6Z6JFAIR.js +2822 -0
- package/dist/chunk-DV3MRBR5.js +43 -0
- package/dist/chunk-DVPBI5HM.js +1728 -0
- package/dist/chunk-EI5ZX7CN.js +522 -0
- package/dist/chunk-EUJ7X6YD.js +126 -0
- package/dist/chunk-GG5WKBOX.js +436 -0
- package/dist/chunk-I64EZSU5.js +358 -0
- package/dist/chunk-ILZKG5WV.js +6151 -0
- package/dist/chunk-KMIJ5KGT.js +128 -0
- package/dist/chunk-OCPHU34C.js +996 -0
- package/dist/chunk-QOERT44A.js +3286 -0
- package/dist/chunk-XYM7PE2A.js +2264 -0
- package/dist/{chunk-STY44FQO.js → chunk-Z2F6RJFR.js} +12 -18
- package/dist/cli.js +72564 -18884
- package/dist/dist-es-CRV46D5B.js +315 -0
- package/dist/dist-es-DCY4IC3Y.js +2000 -0
- package/dist/dist-es-ENBUC3JP.js +14726 -0
- package/dist/dist-es-G54LBMRN.js +48 -0
- package/dist/dist-es-G7PTG75M.js +176 -0
- package/dist/dist-es-GKDBE7E6.js +88 -0
- package/dist/dist-es-HY3535OI.js +70 -0
- package/dist/dist-es-KL7Y5NB2.js +377 -0
- package/dist/dist-es-LDE437AM.js +170 -0
- package/dist/dist-es-P26FWFLT.js +485 -0
- package/dist/dist-es-Q57SZXZ7.js +70 -0
- package/dist/dist-es-R7FGL2IB.js +88 -0
- package/dist/dist-es-USORBXZ5.js +318 -0
- package/dist/dist-es-ZKC2QKD2.js +377 -0
- package/dist/drizzle/0076_scheduled_jobs_marco_backfill.sql +2 -1
- package/dist/drizzle/0079_seed_tenant_customize_catalog.sql +1 -0
- package/dist/drizzle/0090_brain_schema_extraction.sql +10 -0
- package/dist/drizzle/0132_drop_computer_tables.sql +3 -0
- package/dist/drizzle/0160_compliance_event_types_plugins.sql +2 -0
- package/dist/drizzle/0214_think137_drop_judge_evidence_roi.sql +1 -0
- package/dist/drizzle/0216_drop_agent_loop_versions_goal_worker_policy.sql +1 -0
- package/dist/drizzle/0227_analyst_reader_role.sql +106 -38
- package/dist/drizzle/0230_analyst_rls.sql +192 -66
- package/dist/drizzle/0232_memory_source_thin_ledger.sql +176 -0
- package/dist/drizzle/0232_message_source_event_id.sql +9 -0
- package/dist/drizzle/0233_msteams_install_and_links.sql +151 -0
- package/dist/drizzle/0233_workflow_memory_stage_tokens.sql +20 -0
- package/dist/drizzle/0234_memory_claim_lifecycle.sql +160 -0
- package/dist/drizzle/0235_workflow_token_execution_claim.sql +34 -0
- package/dist/drizzle/0236_memory_retraction_fencing.sql +50 -0
- package/dist/drizzle/0237_memory_claims_active_value_uidx.sql +172 -0
- package/dist/drizzle/0238_memory_erase_generation_fence.sql +97 -0
- package/dist/drizzle/0239_canonical_entity_identity.sql +257 -0
- package/dist/drizzle/0240_memory_personal_scope.sql +45 -0
- package/dist/drizzle/0241_knowledge_base_document_manifest.sql +67 -0
- package/dist/drizzle/0242_search_queries.sql +28 -0
- package/dist/drizzle/0243_section_sources_thread_refs.sql +12 -0
- package/dist/drizzle/0244_system_automations_and_memory_stage_overrides.sql +45 -0
- package/dist/drizzle/0245_wiki_page_render.sql +21 -0
- package/dist/drizzle/0246_automation_workflow_ownership.sql +30 -0
- package/dist/drizzle/0247_capability_runtime.sql +402 -0
- package/dist/drizzle/0248_capability_private_interpreter.sql +13 -0
- package/dist/drizzle/0249_capability_headless_execution_evidence.sql +40 -0
- package/dist/drizzle/0250_kg_schema_extraction.sql +576 -0
- package/dist/drizzle/0251_agents_json_render_ui.sql +25 -0
- package/dist/drizzle/0251_brain_stragglers.sql +263 -0
- package/dist/drizzle/0252_drop_kg_and_straggler_compat_views.sql +100 -0
- package/dist/drizzle/0253_drop_brain_substrate.sql +93 -0
- package/dist/drizzle/0254_capability_autonomous_admission.sql +29 -0
- package/dist/drizzle/0255_capability_autonomous_approval_mode.sql +16 -0
- package/dist/drizzle/0256_agent_profile_manifest_authority.sql +18 -0
- package/dist/drizzle/0257_agents_runtime_allow_harness.sql +24 -0
- package/dist/drizzle/0257_capability_approvals.sql +53 -0
- package/dist/drizzle/0258_pending_tool_approvals.sql +84 -0
- package/dist/drizzle/0259_tenant_capability_registry_trust.sql +19 -0
- package/dist/drizzle/0260_scheduled_jobs_run_as_user.sql +20 -0
- package/dist/drizzle/0261_managed_harness_multiplayer.sql +313 -0
- package/dist/drizzle/0261_native_auth_control_plane.sql +328 -0
- package/dist/drizzle/0262_auth_subscription_tickets.sql +59 -0
- package/dist/drizzle/0262_parallel_harness_threads.sql +9 -0
- package/dist/drizzle/0263_agentcore_runtime_identifier.sql +69 -0
- package/dist/drizzle/0263_drop_workos_auth_runtime.sql +236 -0
- package/dist/drizzle/0264_auth_enrollment_attempt_limits.sql +15 -0
- package/dist/drizzle/0264_harness_tool_execution_ledger.sql +113 -0
- package/dist/drizzle/0265_eval_runs_requester_identity.sql +28 -0
- package/dist/drizzle/0265_require_fully_valid_auth_publication.sql +27 -0
- package/dist/drizzle/0266_auth_identity_recovery_grants.sql +9 -0
- package/dist/drizzle/0266_eval_profiles_runtime_type.sql +12 -0
- package/dist/drizzle/0267_ontology_candidate_rejections.sql +53 -0
- package/dist/drizzle/0268_identity_crosswalk_routing.sql +182 -0
- package/dist/drizzle/0269_ontology_system_map.sql +31 -0
- package/dist/event-streams-7JNLJEEL.js +894 -0
- package/dist/event-streams-KDF5RWR6.js +1515 -0
- package/dist/loadSso-DJVB7BXE.js +576 -0
- package/dist/loadSso-JAMNA3WY.js +583 -0
- package/dist/plugins/catalog/package.json +1 -2
- package/dist/plugins/catalog/src/__tests__/build-catalog.test.ts +0 -1
- package/dist/plugins/catalog/src/__tests__/contracts.test.ts +0 -69
- package/dist/plugins/catalog/src/__tests__/plugin-package.test.ts +0 -2
- package/dist/plugins/catalog/src/__tests__/plugin-registry.test.ts +0 -5
- package/dist/plugins/catalog/src/contracts.ts +2 -179
- package/dist/plugins/catalog/src/registry/generated-first-party.ts +0 -6
- package/dist/signin-UGDWTGS4.js +821 -0
- package/dist/sso-oidc-Q4VXANXY.js +837 -0
- package/dist/sts-CWLSE3GH.js +1241 -0
- package/dist/sts-DNZLNVOV.js +1245 -0
- package/dist/terraform/examples/greenfield/main.tf +247 -50
- package/dist/terraform/examples/greenfield/terraform.tfvars.example +15 -1
- package/dist/terraform/modules/app/agentcore-admin/main.tf +341 -0
- package/dist/terraform/modules/app/agentcore-admin/outputs.tf +20 -0
- package/dist/terraform/modules/app/agentcore-code-interpreter/main.tf +61 -0
- package/dist/terraform/modules/app/agentcore-gateway/main.tf +305 -0
- package/dist/terraform/modules/app/agentcore-gateway/outputs.tf +44 -0
- package/dist/terraform/modules/app/agentcore-gateway/scripts/delete_gateway.sh +93 -0
- package/dist/terraform/modules/app/agentcore-gateway/scripts/read_gateway.sh +33 -0
- package/dist/terraform/modules/app/agentcore-gateway/scripts/reconcile_gateway.sh +543 -0
- package/dist/terraform/modules/app/agentcore-gateway/variables.tf +70 -0
- package/dist/terraform/modules/app/agentcore-harness/main.tf +330 -0
- package/dist/terraform/modules/app/agentcore-harness/outputs.tf +72 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/delete_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/harness-lifecycle.mjs +430 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/harness-readback.mjs +180 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/harness-tool-contract.mjs +193 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/prune_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/read_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/reconcile_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/variables.tf +96 -0
- package/dist/terraform/modules/app/agentcore-identity/main.tf +173 -0
- package/dist/terraform/modules/app/agentcore-identity/outputs.tf +51 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/bootstrap_twenty_oauth_client.sh +122 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/delete_identity.sh +25 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/delete_twenty_identity.sh +16 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/read_identity.sh +40 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_identity.sh +73 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_identity.sh +74 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_provider.mjs +61 -0
- package/dist/terraform/modules/app/agentcore-identity/variables.tf +54 -0
- package/dist/terraform/modules/app/agentcore-pi/main.tf +7 -0
- package/dist/terraform/modules/app/appsync-subscriptions/main.tf +127 -21
- package/dist/terraform/modules/app/appsync-subscriptions/outputs.tf +0 -6
- package/dist/terraform/modules/app/appsync-subscriptions/variables.tf +5 -0
- package/dist/terraform/modules/app/capability-broker/main.tf +393 -0
- package/dist/terraform/modules/app/capability-broker/outputs.tf +54 -0
- package/dist/terraform/modules/app/capability-broker/variables.tf +98 -0
- package/dist/terraform/modules/app/deployment-control-plane/runner.py +1011 -31
- package/dist/terraform/modules/app/deployment-control-plane/test_runner_bundle.py +655 -2
- package/dist/terraform/modules/app/lambda-api/agentcore-harness-alarms.tf +88 -0
- package/dist/terraform/modules/app/lambda-api/agentcore-identity-alarms.tf +91 -0
- package/dist/terraform/modules/app/lambda-api/capability-search-alarms.tf +60 -0
- package/dist/terraform/modules/app/lambda-api/handlers.tf +606 -37
- package/dist/terraform/modules/app/lambda-api/iam-grouped.tf +192 -21
- package/dist/terraform/modules/app/lambda-api/main.tf +35 -0
- package/dist/terraform/modules/app/lambda-api/mcp-oauth.tf +181 -4
- package/dist/terraform/modules/app/lambda-api/memory-alarms.tf +92 -0
- package/dist/terraform/modules/app/lambda-api/msteams-app-secrets.tf +46 -0
- package/dist/terraform/modules/app/lambda-api/outputs.tf +35 -0
- package/dist/terraform/modules/app/lambda-api/runtime-config.tf +3 -21
- package/dist/terraform/modules/app/lambda-api/variables.tf +188 -3
- package/dist/terraform/modules/app/workflow-interpreter-stepfunctions/alarms.tf +47 -0
- package/dist/terraform/modules/app/workflow-interpreter-stepfunctions/main.tf +43 -2
- package/dist/terraform/modules/foundation/cognito/main.tf +319 -73
- package/dist/terraform/modules/foundation/cognito/outputs.tf +42 -0
- package/dist/terraform/modules/foundation/cognito/variables.tf +124 -2
- package/dist/terraform/modules/foundation/vpc/outputs.tf +5 -0
- package/dist/terraform/modules/thinkwork/main.tf +396 -26
- package/dist/terraform/modules/thinkwork/outputs.tf +188 -5
- package/dist/terraform/modules/thinkwork/variables.tf +154 -5
- package/dist/terraform/schema.graphql +69 -36
- package/dist/workspace-defaults/files/TOOLS.md +39 -0
- package/dist/workspace-defaults/files/USER.md +1 -0
- package/dist/workspace-defaults/files/agents/analyst/INSTRUCTIONS.md +18 -0
- package/dist/workspace-defaults/files/agents/coding/INSTRUCTIONS.md +11 -0
- package/dist/workspace-defaults/files/agents/research/INSTRUCTIONS.md +12 -0
- package/dist/workspace-defaults/files/agents/reviewer/INSTRUCTIONS.md +15 -0
- package/dist/workspace-defaults/files/skills/document-composer/SKILL.md +6 -2
- package/package.json +6 -3
- package/dist/plugins/workos-auth/package.json +0 -22
- package/dist/plugins/workos-auth/src/index.ts +0 -30
- package/dist/plugins/workos-auth/src/manifest.ts +0 -40
- package/dist/plugins/workos-auth/src/provider-contract.ts +0 -39
- package/dist/plugins/workos-auth/test/manifest.test.ts +0 -94
- package/dist/plugins/workos-auth/tsconfig.json +0 -8
- /package/dist/workspace-defaults/files/{AGENTS.md → INSTRUCTIONS.md} +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
################################################################################
|
|
2
|
+
# AgentCore Harness retirement-soak operational gates.
|
|
3
|
+
#
|
|
4
|
+
# These use native AWS/Lambda metrics so they work on a fresh stage without
|
|
5
|
+
# pre-creating or importing implicit log groups. alarm_actions remain empty,
|
|
6
|
+
# consistent with the other non-cost operational alarms in this module.
|
|
7
|
+
################################################################################
|
|
8
|
+
|
|
9
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_harness_runner_errors" {
|
|
10
|
+
count = local.deploy_lambda_handlers && var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
11
|
+
|
|
12
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-harness-runner-errors"
|
|
13
|
+
alarm_description = "The AgentCore Harness runner crashed. The turn fails closed and must be reconciled before the retirement soak can pass."
|
|
14
|
+
namespace = "AWS/Lambda"
|
|
15
|
+
metric_name = "Errors"
|
|
16
|
+
statistic = "Sum"
|
|
17
|
+
period = 60
|
|
18
|
+
evaluation_periods = 1
|
|
19
|
+
threshold = 1
|
|
20
|
+
comparison_operator = "GreaterThanOrEqualToThreshold"
|
|
21
|
+
treat_missing_data = "notBreaching"
|
|
22
|
+
alarm_actions = []
|
|
23
|
+
|
|
24
|
+
dimensions = {
|
|
25
|
+
FunctionName = aws_lambda_function.handler["harness-runner"].function_name
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_harness_runner_throttles" {
|
|
29
|
+
count = local.deploy_lambda_handlers && var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
30
|
+
|
|
31
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-harness-runner-throttles"
|
|
32
|
+
alarm_description = "AgentCore Harness turns are being throttled before execution; capacity admission or account concurrency is insufficient."
|
|
33
|
+
namespace = "AWS/Lambda"
|
|
34
|
+
metric_name = "Throttles"
|
|
35
|
+
statistic = "Sum"
|
|
36
|
+
period = 60
|
|
37
|
+
evaluation_periods = 1
|
|
38
|
+
threshold = 1
|
|
39
|
+
comparison_operator = "GreaterThanOrEqualToThreshold"
|
|
40
|
+
treat_missing_data = "notBreaching"
|
|
41
|
+
alarm_actions = []
|
|
42
|
+
|
|
43
|
+
dimensions = {
|
|
44
|
+
FunctionName = aws_lambda_function.handler["harness-runner"].function_name
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_harness_runner_p95" {
|
|
49
|
+
count = local.deploy_lambda_handlers && var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
50
|
+
|
|
51
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-harness-runner-p95"
|
|
52
|
+
alarm_description = "AgentCore Harness runner p95 exceeded the 120-second retirement-certification threshold."
|
|
53
|
+
namespace = "AWS/Lambda"
|
|
54
|
+
metric_name = "Duration"
|
|
55
|
+
extended_statistic = "p95"
|
|
56
|
+
period = 300
|
|
57
|
+
evaluation_periods = 5
|
|
58
|
+
datapoints_to_alarm = 3
|
|
59
|
+
threshold = 120000
|
|
60
|
+
comparison_operator = "GreaterThanThreshold"
|
|
61
|
+
treat_missing_data = "notBreaching"
|
|
62
|
+
alarm_actions = []
|
|
63
|
+
|
|
64
|
+
dimensions = {
|
|
65
|
+
FunctionName = aws_lambda_function.handler["harness-runner"].function_name
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_harness_runner_async_age" {
|
|
70
|
+
count = local.deploy_lambda_handlers && var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
71
|
+
|
|
72
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-harness-runner-async-age"
|
|
73
|
+
alarm_description = "AgentCore Harness Event invocations waited more than 60 seconds before execution; the runtime path is backlogged."
|
|
74
|
+
namespace = "AWS/Lambda"
|
|
75
|
+
metric_name = "AsyncEventAge"
|
|
76
|
+
extended_statistic = "p95"
|
|
77
|
+
period = 60
|
|
78
|
+
evaluation_periods = 3
|
|
79
|
+
datapoints_to_alarm = 2
|
|
80
|
+
threshold = 60000
|
|
81
|
+
comparison_operator = "GreaterThanThreshold"
|
|
82
|
+
treat_missing_data = "notBreaching"
|
|
83
|
+
alarm_actions = []
|
|
84
|
+
|
|
85
|
+
dimensions = {
|
|
86
|
+
FunctionName = aws_lambda_function.handler["harness-runner"].function_name
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
################################################################################
|
|
2
|
+
# THINK-316 U9 — assertion mint operational gates
|
|
3
|
+
#
|
|
4
|
+
# The mint emits redacted EMF metrics around only the KMS Sign call. These
|
|
5
|
+
# alarms encode the frozen U9 latency and failure thresholds; no assertion,
|
|
6
|
+
# subject, tenant, key id, or other caller material is emitted as a dimension.
|
|
7
|
+
################################################################################
|
|
8
|
+
|
|
9
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_turn_assertion_kms_p95" {
|
|
10
|
+
count = var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
11
|
+
|
|
12
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-turn-assertion-kms-p95"
|
|
13
|
+
alarm_description = "AgentCore turn assertion KMS signing p95 exceeded the frozen 100 ms U9 gate."
|
|
14
|
+
namespace = "ThinkWork/AgentCore"
|
|
15
|
+
metric_name = "TurnAssertionKmsSignLatency"
|
|
16
|
+
extended_statistic = "p95"
|
|
17
|
+
comparison_operator = "GreaterThanThreshold"
|
|
18
|
+
threshold = 100
|
|
19
|
+
period = 60
|
|
20
|
+
evaluation_periods = 5
|
|
21
|
+
datapoints_to_alarm = 3
|
|
22
|
+
treat_missing_data = "notBreaching"
|
|
23
|
+
alarm_actions = []
|
|
24
|
+
|
|
25
|
+
dimensions = {
|
|
26
|
+
Stage = var.stage
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_turn_assertion_kms_p99" {
|
|
31
|
+
count = var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
32
|
+
|
|
33
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-turn-assertion-kms-p99"
|
|
34
|
+
alarm_description = "AgentCore turn assertion KMS signing p99 exceeded the frozen 250 ms U9 gate."
|
|
35
|
+
namespace = "ThinkWork/AgentCore"
|
|
36
|
+
metric_name = "TurnAssertionKmsSignLatency"
|
|
37
|
+
extended_statistic = "p99"
|
|
38
|
+
comparison_operator = "GreaterThanThreshold"
|
|
39
|
+
threshold = 250
|
|
40
|
+
period = 60
|
|
41
|
+
evaluation_periods = 5
|
|
42
|
+
datapoints_to_alarm = 3
|
|
43
|
+
treat_missing_data = "notBreaching"
|
|
44
|
+
alarm_actions = []
|
|
45
|
+
|
|
46
|
+
dimensions = {
|
|
47
|
+
Stage = var.stage
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_turn_assertion_kms_failures" {
|
|
52
|
+
count = var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
53
|
+
|
|
54
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-turn-assertion-kms-failures"
|
|
55
|
+
alarm_description = "AgentCore turn assertion KMS signing failed; new Harness/Gateway assertions fail closed."
|
|
56
|
+
namespace = "ThinkWork/AgentCore"
|
|
57
|
+
metric_name = "TurnAssertionKmsSignFailures"
|
|
58
|
+
statistic = "Sum"
|
|
59
|
+
comparison_operator = "GreaterThanThreshold"
|
|
60
|
+
threshold = 0
|
|
61
|
+
period = 60
|
|
62
|
+
evaluation_periods = 1
|
|
63
|
+
datapoints_to_alarm = 1
|
|
64
|
+
treat_missing_data = "notBreaching"
|
|
65
|
+
alarm_actions = []
|
|
66
|
+
|
|
67
|
+
dimensions = {
|
|
68
|
+
Stage = var.stage
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
resource "aws_cloudwatch_metric_alarm" "agentcore_turn_assertion_lambda_errors" {
|
|
73
|
+
count = var.enable_agentcore_multiplayer_proof ? 1 : 0
|
|
74
|
+
|
|
75
|
+
alarm_name = "thinkwork-${var.stage}-agentcore-turn-assertion-errors"
|
|
76
|
+
alarm_description = "The internal AgentCore assertion mint Lambda failed. No fallback assertion is issued."
|
|
77
|
+
namespace = "AWS/Lambda"
|
|
78
|
+
metric_name = "Errors"
|
|
79
|
+
statistic = "Sum"
|
|
80
|
+
comparison_operator = "GreaterThanThreshold"
|
|
81
|
+
threshold = 0
|
|
82
|
+
period = 60
|
|
83
|
+
evaluation_periods = 1
|
|
84
|
+
datapoints_to_alarm = 1
|
|
85
|
+
treat_missing_data = "notBreaching"
|
|
86
|
+
alarm_actions = []
|
|
87
|
+
|
|
88
|
+
dimensions = {
|
|
89
|
+
FunctionName = aws_lambda_function.handler["turn-assertion-mint"].function_name
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# THINK-280 U8 — governed capability runtime external-search observability.
|
|
2
|
+
#
|
|
3
|
+
# The external MCP search facade (/mcp/capabilities) and the confidential
|
|
4
|
+
# client_credentials token leg are the LAST rollout stage. These alarms fire
|
|
5
|
+
# from AWS/Lambda Errors metrics that EXIST without any log-group management
|
|
6
|
+
# (handler crashes, including ones that never reach a log line) — the same
|
|
7
|
+
# constraint memory-alarms.tf documents. Log-metric filters over the broker's
|
|
8
|
+
# structured replay/policy/readiness/adapter/provider failure codes require the
|
|
9
|
+
# /aws/lambda/<function> groups (created only after first invocation) and are a
|
|
10
|
+
# coordinated follow-up; until then those failure classes are observable through
|
|
11
|
+
# the structured logs + the capability_broker_calls evidence table.
|
|
12
|
+
#
|
|
13
|
+
# DISABLE PATH: flip `enable_capability_broker = false` (or the tenant/env gate
|
|
14
|
+
# CAPABILITY_EXTERNAL_SEARCH_ENABLED). The handler + route stay deployed but
|
|
15
|
+
# return an empty, no-data projection, so no new external access is granted —
|
|
16
|
+
# while all historical capability_broker_calls / compliance evidence remains
|
|
17
|
+
# queryable. These alarms only exist while the broker is enabled.
|
|
18
|
+
#
|
|
19
|
+
# alarm_actions are intentionally empty (see memory-alarms.tf): operators wire
|
|
20
|
+
# an SNS topic when the rollout needs paging.
|
|
21
|
+
|
|
22
|
+
resource "aws_cloudwatch_metric_alarm" "capability_search_lambda_errors" {
|
|
23
|
+
count = local.deploy_lambda_handlers && var.enable_capability_broker ? 1 : 0
|
|
24
|
+
|
|
25
|
+
alarm_name = "thinkwork-${var.stage}-mcp-capability-search-lambda-errors"
|
|
26
|
+
alarm_description = "mcp-capability-search (external capability search facade) crashed. External hosts see a failed search; no capability data is exposed on error (fail closed). Investigate before continuing the external-search rollout."
|
|
27
|
+
namespace = "AWS/Lambda"
|
|
28
|
+
metric_name = "Errors"
|
|
29
|
+
statistic = "Sum"
|
|
30
|
+
period = 300
|
|
31
|
+
evaluation_periods = 1
|
|
32
|
+
threshold = 1
|
|
33
|
+
comparison_operator = "GreaterThanOrEqualToThreshold"
|
|
34
|
+
treat_missing_data = "notBreaching"
|
|
35
|
+
alarm_actions = []
|
|
36
|
+
|
|
37
|
+
dimensions = {
|
|
38
|
+
FunctionName = aws_lambda_function.handler["mcp-capability-search"].function_name
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
resource "aws_cloudwatch_metric_alarm" "capability_oauth_token_errors" {
|
|
43
|
+
count = local.deploy_lambda_handlers && var.enable_capability_broker ? 1 : 0
|
|
44
|
+
|
|
45
|
+
alarm_name = "thinkwork-${var.stage}-mcp-oauth-lambda-errors"
|
|
46
|
+
alarm_description = "mcp-oauth crashed — includes the confidential client_credentials token leg for external capability clients. Token minting failing hard (never issuing on a bad secret is expected + returns 401, not an Error). Investigate credential/DB reachability."
|
|
47
|
+
namespace = "AWS/Lambda"
|
|
48
|
+
metric_name = "Errors"
|
|
49
|
+
statistic = "Sum"
|
|
50
|
+
period = 300
|
|
51
|
+
evaluation_periods = 1
|
|
52
|
+
threshold = 3
|
|
53
|
+
comparison_operator = "GreaterThanOrEqualToThreshold"
|
|
54
|
+
treat_missing_data = "notBreaching"
|
|
55
|
+
alarm_actions = []
|
|
56
|
+
|
|
57
|
+
dimensions = {
|
|
58
|
+
FunctionName = aws_lambda_function.handler["mcp-oauth"].function_name
|
|
59
|
+
}
|
|
60
|
+
}
|