thinkwork-cli 0.12.16 → 0.13.0
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/cli.js +517 -10403
- package/dist/commands/enterprise/templates/deploy-repo/docs/runbook.md +3 -8
- package/dist/commands/enterprise/templates/deploy-repo/terraform/main.tf +1 -184
- package/dist/drizzle/0050_brain_v0_entity_subtype.sql +2 -2
- package/dist/drizzle/0051_brain_v0_tenant_entity_pages.sql +6 -6
- package/dist/drizzle/0052_brain_v0_external_refs.sql +2 -2
- package/dist/drizzle/0053_brain_v0_unresolved_mentions_subtype.sql +2 -2
- package/dist/drizzle/0145_knowledge_graph_thread_ingest.sql +14 -14
- package/dist/drizzle/0146_knowledge_graph_source_scope.sql +1 -1
- package/dist/drizzle/0157_knowledge_graph_observations_source.sql +2 -2
- package/dist/drizzle/0158_wiki_tenant_scope.sql +1 -1
- package/dist/drizzle/0165_plugin_premium_entitlements.sql +2 -2
- package/dist/drizzle/{0166_company_brain_substrate_contract.sql → 0166_brain_substrate_contract.sql} +9 -9
- package/dist/drizzle/{0167_company_brain_artifact_manifest_runtime.sql → 0167_brain_artifact_manifest_runtime.sql} +5 -5
- package/dist/drizzle/0168_eval_skill_gate.sql +1 -1
- package/dist/drizzle/0183_okf_artifact_manifests.sql +1 -1
- package/dist/drizzle/0200_eval_results_execution_tier.sql +40 -0
- package/dist/drizzle/0201_brain_dream_runs.sql +72 -0
- package/dist/drizzle/0202_backfill_thread_participants_from_senders.sql +110 -0
- package/dist/drizzle/0203_threads_mode_override.sql +61 -0
- package/dist/drizzle/0204_thread_turns_triggering_message_id.sql +48 -0
- package/dist/drizzle/0205_routines_git_python.sql +185 -0
- package/dist/drizzle/0206_agent_loop_versions_routine_actions.sql +40 -0
- package/dist/drizzle/0207_tenant_credentials_github_repo_kind.sql +52 -0
- package/dist/drizzle/0208_knowledge_graph_neutral_identifiers.sql +253 -0
- package/dist/drizzle/0209_living_artifacts_schema.sql +109 -0
- package/dist/drizzle/0210_think137_automations_additive_schema.sql +113 -0
- package/dist/drizzle/0211_backfill_agent_loop_versions_target_spec.sql +120 -0
- package/dist/drizzle/0212_fold_webhooks_into_automations.sql +312 -0
- package/dist/drizzle/0213_agent_loop_versions_judge_evidence_nullable.sql +63 -0
- package/dist/drizzle/0214_think137_drop_judge_evidence_roi.sql +99 -0
- package/dist/drizzle/0215_agent_loop_versions_goal_worker_policy_nullable.sql +70 -0
- package/dist/drizzle/0216_drop_agent_loop_versions_goal_worker_policy.sql +81 -0
- package/dist/drizzle/0217_agents_capability_folder_dispatch.sql +12 -0
- package/dist/drizzle/0218_document_plates.sql +30 -0
- package/dist/drizzle/0219_document_section_waivers.sql +29 -0
- package/dist/drizzle/0220_artifacts_created_by_user.sql +21 -0
- package/dist/drizzle/0221_artifact_shares.sql +29 -0
- package/dist/drizzle/0221_workflow_interpreter_thin_slice.sql +71 -0
- package/dist/drizzle/0222_compliance_drainer_select_audit_events.sql +21 -0
- package/dist/drizzle/0223_document_conformance_reports.sql +38 -0
- package/dist/drizzle/0224_artifact_refresh_state.sql +11 -0
- package/dist/drizzle/0225_think216_agent_loop_convergence.sql +21 -0
- package/dist/drizzle/0226_drop_n8n_agent_step_runs.sql +6 -0
- package/dist/drizzle/0227_analyst_reader_role.sql +1055 -0
- package/dist/drizzle/0228_tenant_credentials_rds_iam_kind.sql +62 -0
- package/dist/drizzle/0229_analyst_reader_rds_iam_grant.sql +79 -0
- package/dist/drizzle/0230_analyst_rls.sql +1613 -0
- package/dist/drizzle/0231_cost_events_cache_write_enforcement_exempt.sql +11 -0
- package/dist/plugins/catalog/package.json +0 -1
- package/dist/plugins/catalog/src/__tests__/build-catalog.test.ts +0 -1
- package/dist/plugins/catalog/src/__tests__/catalog.test.ts +16 -8
- package/dist/plugins/catalog/src/__tests__/contracts.test.ts +56 -0
- 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 +112 -0
- package/dist/plugins/catalog/src/registry/generated-first-party.ts +0 -6
- package/dist/plugins/n8n/README.md +4 -36
- package/dist/plugins/n8n/src/deployment/managed-app.ts +0 -17
- package/dist/plugins/n8n/src/manifest.ts +0 -5
- package/dist/plugins/n8n/terraform/n8n/main.tf +0 -26
- package/dist/plugins/n8n/terraform/n8n/outputs.tf +0 -5
- package/dist/plugins/n8n/terraform/n8n/variables.tf +0 -6
- package/dist/plugins/n8n/test/manifest.test.ts +0 -1
- package/dist/plugins/twenty/package.json +5 -0
- package/dist/plugins/twenty/scripts/lib/__tests__/load-records.test.ts +232 -0
- package/dist/plugins/twenty/scripts/lib/__tests__/mappers.test.ts +489 -0
- package/dist/plugins/twenty/scripts/lib/__tests__/members-ensure.test.ts +199 -0
- package/dist/plugins/twenty/scripts/lib/__tests__/provision-members-db.test.ts +43 -0
- package/dist/plugins/twenty/scripts/lib/__tests__/schema-ensure.test.ts +230 -0
- package/dist/plugins/twenty/scripts/lib/__tests__/twenty-client.test.ts +207 -0
- package/dist/plugins/twenty/scripts/lib/lastmile-reader.ts +282 -0
- package/dist/plugins/twenty/scripts/lib/load-attachments.ts +220 -0
- package/dist/plugins/twenty/scripts/lib/load-records.ts +680 -0
- package/dist/plugins/twenty/scripts/lib/mappers.ts +559 -0
- package/dist/plugins/twenty/scripts/lib/members-ensure.ts +381 -0
- package/dist/plugins/twenty/scripts/lib/provision-members-db.ts +191 -0
- package/dist/plugins/twenty/scripts/lib/schema-ensure.ts +425 -0
- package/dist/plugins/twenty/scripts/lib/twenty-client.ts +246 -0
- package/dist/plugins/twenty/scripts/migrate-lastmile.ts +610 -0
- package/dist/plugins/twenty/scripts/provision-twenty-members.ts +214 -0
- package/dist/plugins/twenty/src/manifest.ts +99 -0
- package/dist/plugins/twenty/terraform/twenty/README.md +1 -1
- package/dist/plugins/twenty/test/manifest.test.ts +12 -2
- package/dist/terraform/examples/greenfield/main.tf +90 -380
- package/dist/terraform/examples/greenfield/terraform.tfvars.example +0 -1
- package/dist/terraform/modules/app/agentcore-pi/README.md +1 -3
- package/dist/terraform/modules/app/agentcore-pi/main.tf +29 -38
- package/dist/terraform/modules/app/agentcore-pi/variables.tf +23 -15
- package/dist/terraform/modules/app/agentcore-runtime/main.tf +3 -3
- package/dist/terraform/modules/app/customer-domain/main.tf +16 -2
- package/dist/terraform/modules/app/deployment-control-plane/main.tf +5 -0
- package/dist/terraform/modules/app/deployment-control-plane/runner.py +85 -207
- package/dist/terraform/modules/app/deployment-control-plane/test_runner_bundle.py +56 -2
- package/dist/terraform/modules/app/hindsight-memory/main.tf +52 -4
- package/dist/terraform/modules/app/lambda-api/eval-fanout.tf +7 -0
- package/dist/terraform/modules/app/lambda-api/handlers.tf +493 -89
- package/dist/terraform/modules/app/lambda-api/iam-grouped.tf +215 -96
- package/dist/terraform/modules/app/lambda-api/main.tf +24 -5
- package/dist/terraform/modules/app/lambda-api/outputs.tf +19 -11
- package/dist/terraform/modules/app/lambda-api/variables.tf +94 -67
- package/dist/terraform/modules/app/ses-email/main.tf +14 -2
- package/dist/terraform/modules/app/workflow-interpreter-stepfunctions/main.tf +493 -0
- package/dist/terraform/modules/app/workflow-interpreter-stepfunctions/outputs.tf +34 -0
- package/dist/terraform/modules/app/workflow-interpreter-stepfunctions/variables.tf +32 -0
- package/dist/terraform/modules/data/aurora-postgres/main.tf +55 -0
- package/dist/terraform/modules/data/aurora-postgres/outputs.tf +15 -0
- package/dist/terraform/modules/data/s3-buckets/main.tf +26 -0
- package/dist/terraform/modules/thinkwork/README.md +0 -1
- package/dist/terraform/modules/thinkwork/main.tf +167 -446
- package/dist/terraform/modules/thinkwork/outputs.tf +2 -142
- package/dist/terraform/modules/thinkwork/variables.tf +55 -309
- package/dist/terraform/schema.graphql +4 -0
- package/dist/workspace-defaults/files/AGENTS.md +45 -31
- package/dist/workspace-defaults/files/CONTEXT.md +48 -4
- package/dist/workspace-defaults/files/GUARDRAILS.md +18 -0
- package/dist/workspace-defaults/files/MEMORY_GUIDE.md +32 -4
- package/dist/workspace-defaults/files/SPACE.md +34 -19
- package/dist/workspace-defaults/files/TOOLS.md +30 -0
- package/dist/workspace-defaults/files/skills/document-composer/SKILL.md +154 -0
- package/dist/workspace-defaults/files/skills/document-composer/references/authoring-rules.md +101 -0
- package/package.json +1 -1
- package/dist/plugins/company-brain/README.md +0 -37
- package/dist/plugins/company-brain/package.json +0 -33
- package/dist/plugins/company-brain/runtime/cognee/Dockerfile +0 -11
- package/dist/plugins/company-brain/smoke/cognee-managed-app-smoke.mjs +0 -458
- package/dist/plugins/company-brain/smoke/cognee-memory-cutover-smoke.mjs +0 -539
- package/dist/plugins/company-brain/smoke/company-brain-context-engine-smoke.mjs +0 -312
- package/dist/plugins/company-brain/smoke/company-brain-operations-smoke.mjs +0 -449
- package/dist/plugins/company-brain/smoke/company-brain-plugin-smoke.mjs +0 -655
- package/dist/plugins/company-brain/smoke/hindsight-memory-isolation-smoke.mjs +0 -474
- package/dist/plugins/company-brain/src/api/cognee-client.ts +0 -896
- package/dist/plugins/company-brain/src/api/cognee-cluster-identity.ts +0 -49
- package/dist/plugins/company-brain/src/api/cognee-memory-scope.ts +0 -84
- package/dist/plugins/company-brain/src/api/context-engine-provider.ts +0 -888
- package/dist/plugins/company-brain/src/api/migration.ts +0 -665
- package/dist/plugins/company-brain/src/deployment/cognee-managed-app.ts +0 -396
- package/dist/plugins/company-brain/src/index.ts +0 -62
- package/dist/plugins/company-brain/src/manifest.ts +0 -112
- package/dist/plugins/company-brain/terraform/cognee/README.md +0 -263
- package/dist/plugins/company-brain/terraform/cognee/main.tf +0 -766
- package/dist/plugins/company-brain/terraform/cognee/outputs.tf +0 -144
- package/dist/plugins/company-brain/terraform/cognee/variables.tf +0 -402
- package/dist/plugins/company-brain/test/api/cognee-client.test.ts +0 -562
- package/dist/plugins/company-brain/test/api/cognee-memory-scope.test.ts +0 -74
- package/dist/plugins/company-brain/test/api/context-engine-provider.test.ts +0 -447
- package/dist/plugins/company-brain/test/api/migration.test.ts +0 -465
- package/dist/plugins/company-brain/test/manifest.test.ts +0 -95
- package/dist/plugins/company-brain/tsconfig.json +0 -8
|
@@ -93,264 +93,23 @@ variable "database_engine" {
|
|
|
93
93
|
default = "aurora-serverless"
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
variable "
|
|
97
|
-
description = "
|
|
98
|
-
type = bool
|
|
99
|
-
default = true
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
variable "memory_engine" {
|
|
103
|
-
description = "Active long-term memory engine. Empty selects Hindsight when enable_hindsight = true. Use 'agentcore' only for explicit low-cost/development managed-memory deployments; 'cognee' is legacy diagnostic compatibility, not the supported user/Space memory path."
|
|
104
|
-
type = string
|
|
105
|
-
default = ""
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
variable "enable_cognee" {
|
|
109
|
-
description = "Enable Cognee as optional ThinkWork Brain ontology/knowledge-graph infrastructure. Disabled by default."
|
|
110
|
-
type = bool
|
|
111
|
-
default = false
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
variable "cognee_image_uri" {
|
|
115
|
-
description = "Cognee container image URI pinned to an immutable sha256 digest. Required when enable_cognee = true."
|
|
116
|
-
type = string
|
|
117
|
-
default = ""
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
variable "cognee_db_username" {
|
|
121
|
-
description = "Dedicated PostgreSQL username for Cognee metadata storage."
|
|
122
|
-
type = string
|
|
123
|
-
default = "thinkwork_cognee"
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
variable "cognee_db_name" {
|
|
127
|
-
description = "Dedicated PostgreSQL database name for Cognee metadata storage."
|
|
128
|
-
type = string
|
|
129
|
-
default = "thinkwork_cognee"
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
variable "cognee_db_password_secret_arn" {
|
|
133
|
-
description = "Secrets Manager ARN containing a JSON password field for the dedicated Cognee PostgreSQL user. Required when enable_cognee = true."
|
|
134
|
-
type = string
|
|
135
|
-
default = ""
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
variable "cognee_allowed_internal_cidr_blocks" {
|
|
139
|
-
description = "CIDR blocks allowed to reach the internal Cognee ALB."
|
|
140
|
-
type = list(string)
|
|
141
|
-
default = []
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
variable "cognee_allowed_internal_security_group_ids" {
|
|
145
|
-
description = "Security group IDs allowed to reach the internal Cognee ALB."
|
|
146
|
-
type = list(string)
|
|
147
|
-
default = []
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
variable "cognee_backend_mode" {
|
|
151
|
-
description = "Cognee backend mode. dogfood uses EFS-backed local stores; remote requires graph/vector URLs."
|
|
152
|
-
type = string
|
|
153
|
-
default = "dogfood"
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
variable "cognee_desired_count" {
|
|
157
|
-
description = "Desired Cognee task count. Dogfood mode must stay at 1."
|
|
158
|
-
type = number
|
|
159
|
-
default = 1
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
variable "cognee_brain_tenant_id" {
|
|
163
|
-
description = "Tenant ID for a tenant-scoped Company Brain substrate instance. Empty preserves legacy stage-wide Cognee names."
|
|
164
|
-
type = string
|
|
165
|
-
default = ""
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
variable "cognee_brain_instance_key" {
|
|
169
|
-
description = "Stable tenant-scoped Brain instance key used to derive resource names."
|
|
170
|
-
type = string
|
|
171
|
-
default = ""
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
variable "cognee_brain_storage_tier" {
|
|
175
|
-
description = "Company Brain storage tier: default or production."
|
|
176
|
-
type = string
|
|
177
|
-
default = "default"
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
variable "cognee_brain_s3_artifact_root" {
|
|
181
|
-
description = "Canonical Company Brain S3 root URI for source artifacts."
|
|
182
|
-
type = string
|
|
183
|
-
default = ""
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
variable "cognee_brain_s3_manifest_root" {
|
|
187
|
-
description = "Canonical Company Brain S3 root URI for ingestion manifests."
|
|
188
|
-
type = string
|
|
189
|
-
default = ""
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
variable "cognee_brain_s3_vault_projection_root" {
|
|
193
|
-
description = "Canonical Company Brain S3 root URI for vault/materialized projections."
|
|
194
|
-
type = string
|
|
195
|
-
default = ""
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
variable "cognee_brain_artifacts_bucket_arn" {
|
|
199
|
-
description = "Optional canonical Company Brain artifacts bucket ARN for scoped task-role access."
|
|
96
|
+
variable "hindsight_database_name" {
|
|
97
|
+
description = "Dedicated Hindsight database name (THINK-220 cutover flag). Empty keeps Hindsight in the hindsight schema of the primary database."
|
|
200
98
|
type = string
|
|
201
99
|
default = ""
|
|
202
100
|
}
|
|
203
101
|
|
|
204
|
-
variable "
|
|
205
|
-
description = "
|
|
206
|
-
type = list(string)
|
|
207
|
-
default = []
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
variable "cognee_private_substrate_mode" {
|
|
211
|
-
description = "Whether the Company Brain substrate is private/internal-only."
|
|
102
|
+
variable "enable_hindsight" {
|
|
103
|
+
description = "Enable Hindsight canonical user and Space memory. Full ThinkWork installs default this on; set false only for explicit low-cost/development AgentCore-only deployments."
|
|
212
104
|
type = bool
|
|
213
105
|
default = true
|
|
214
106
|
}
|
|
215
107
|
|
|
216
|
-
variable "
|
|
217
|
-
description = "
|
|
218
|
-
type = bool
|
|
219
|
-
default = false
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
variable "cognee_enable_backend_access_control" {
|
|
223
|
-
description = "Passed to Cognee ENABLE_BACKEND_ACCESS_CONTROL."
|
|
224
|
-
type = bool
|
|
225
|
-
default = false
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
variable "cognee_cors_allowed_origins" {
|
|
229
|
-
description = "Passed to Cognee CORS_ALLOWED_ORIGINS."
|
|
230
|
-
type = string
|
|
231
|
-
default = ""
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
variable "cognee_llm_provider" {
|
|
235
|
-
description = "Cognee LLM provider."
|
|
236
|
-
type = string
|
|
237
|
-
default = "bedrock"
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
variable "cognee_llm_model" {
|
|
241
|
-
description = "Cognee LLM model. Must handle tool-use structured extraction reliably — nova-lite repeatedly produced invalid ToolUse sequences on observation documents, and Haiku is rate-limited on this account. Kimi K2.5 is ON_DEMAND (no inference profile needed)."
|
|
242
|
-
type = string
|
|
243
|
-
default = "bedrock/moonshotai.kimi-k2.5"
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
variable "cognee_llm_api_key_secret_arn" {
|
|
247
|
-
description = "Optional Secrets Manager ARN for non-Bedrock Cognee LLM provider API key."
|
|
248
|
-
type = string
|
|
249
|
-
default = ""
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
variable "cognee_embedding_provider" {
|
|
253
|
-
description = "Cognee embedding provider."
|
|
254
|
-
type = string
|
|
255
|
-
default = "bedrock"
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
variable "cognee_embedding_model" {
|
|
259
|
-
description = "Cognee embedding model."
|
|
260
|
-
type = string
|
|
261
|
-
default = "amazon.titan-embed-text-v2:0"
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
variable "cognee_embedding_dimensions" {
|
|
265
|
-
description = "Cognee embedding dimensions."
|
|
266
|
-
type = number
|
|
267
|
-
default = 1024
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
variable "cognee_embedding_api_key_secret_arn" {
|
|
271
|
-
description = "Optional Secrets Manager ARN for non-Bedrock Cognee embedding provider API key."
|
|
272
|
-
type = string
|
|
273
|
-
default = ""
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
variable "cognee_vector_db_provider" {
|
|
277
|
-
description = "Cognee vector store provider."
|
|
278
|
-
type = string
|
|
279
|
-
default = "lancedb"
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
variable "cognee_vector_db_url" {
|
|
283
|
-
description = "Cognee vector store URL. Empty uses the dogfood local default."
|
|
284
|
-
type = string
|
|
285
|
-
default = ""
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
variable "cognee_vector_db_key_secret_arn" {
|
|
289
|
-
description = "Optional Secrets Manager ARN for remote Cognee vector store credentials."
|
|
290
|
-
type = string
|
|
291
|
-
default = ""
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
variable "cognee_graph_database_provider" {
|
|
295
|
-
description = "Cognee graph store provider."
|
|
296
|
-
type = string
|
|
297
|
-
default = "kuzu"
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
variable "cognee_graph_database_url" {
|
|
301
|
-
description = "Cognee graph store URL. Empty uses the dogfood local default."
|
|
302
|
-
type = string
|
|
303
|
-
default = ""
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
variable "cognee_graph_database_username" {
|
|
307
|
-
description = "Optional Cognee graph store username."
|
|
308
|
-
type = string
|
|
309
|
-
default = ""
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
variable "cognee_graph_database_password_secret_arn" {
|
|
313
|
-
description = "Optional Secrets Manager ARN for remote Cognee graph store password."
|
|
314
|
-
type = string
|
|
315
|
-
default = ""
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
variable "cognee_neptune_graph_id" {
|
|
319
|
-
description = "Neptune Analytics graph ID used by the production Brain tier."
|
|
320
|
-
type = string
|
|
321
|
-
default = ""
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
variable "cognee_neptune_graph_arn" {
|
|
325
|
-
description = "Optional Neptune Analytics graph ARN for scoped task-role access."
|
|
326
|
-
type = string
|
|
327
|
-
default = ""
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
variable "cognee_neptune_endpoint" {
|
|
331
|
-
description = "Neptune Analytics endpoint used by the production Brain tier."
|
|
332
|
-
type = string
|
|
333
|
-
default = ""
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
variable "cognee_production_posture" {
|
|
337
|
-
description = "Operator evidence string for production-tier approval/readiness posture."
|
|
108
|
+
variable "memory_engine" {
|
|
109
|
+
description = "Active long-term memory engine. Empty selects Hindsight when enable_hindsight = true. Use 'agentcore' only for explicit low-cost/development managed-memory deployments."
|
|
338
110
|
type = string
|
|
339
111
|
default = ""
|
|
340
112
|
}
|
|
341
|
-
|
|
342
|
-
variable "cognee_bedrock_model_resource_arns" {
|
|
343
|
-
description = "Explicit Bedrock model ARNs Cognee may invoke when a Bedrock provider is selected."
|
|
344
|
-
type = list(string)
|
|
345
|
-
default = []
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
variable "cognee_kms_key_arns" {
|
|
349
|
-
description = "Optional KMS key ARNs needed to decrypt Cognee-injected secrets."
|
|
350
|
-
type = list(string)
|
|
351
|
-
default = []
|
|
352
|
-
}
|
|
353
|
-
|
|
354
113
|
variable "twenty_provisioned" {
|
|
355
114
|
description = "Provision the retained Twenty CRM managed-app substrate. Runtime can be parked independently with twenty_runtime_enabled."
|
|
356
115
|
type = bool
|
|
@@ -477,11 +236,6 @@ variable "n8n_service_credential_secret_arn" {
|
|
|
477
236
|
default = ""
|
|
478
237
|
}
|
|
479
238
|
|
|
480
|
-
variable "n8n_agent_step_bridge_credential_secret_arn" {
|
|
481
|
-
description = "Secrets Manager ARN containing the inbound credential used by n8n workflows to call the ThinkWork agent-step bridge."
|
|
482
|
-
type = string
|
|
483
|
-
default = ""
|
|
484
|
-
}
|
|
485
239
|
|
|
486
240
|
variable "n8n_storage_bucket_name" {
|
|
487
241
|
description = "S3 bucket name used for n8n managed artifacts and optional storage mode objects."
|
|
@@ -656,15 +410,21 @@ variable "requester_memory_dreaming_schedule_expression" {
|
|
|
656
410
|
default = "cron(30 4 * * ? *)"
|
|
657
411
|
}
|
|
658
412
|
|
|
413
|
+
variable "brain_dream_state_enabled" {
|
|
414
|
+
description = "Enable the recurring Brain dream-state consolidation schedule (THINK-261 #5). Manual invokes work regardless via event.manual."
|
|
415
|
+
type = bool
|
|
416
|
+
default = false
|
|
417
|
+
}
|
|
418
|
+
|
|
659
419
|
variable "requester_memory_dreaming_model_id" {
|
|
660
420
|
description = "Bedrock Converse model id for requester memory REM reflection."
|
|
661
421
|
type = string
|
|
662
422
|
default = "openai.gpt-oss-120b-1:0"
|
|
663
423
|
}
|
|
664
424
|
|
|
665
|
-
variable "
|
|
425
|
+
variable "brain_source_agent_model_id" {
|
|
666
426
|
description = <<-EOT
|
|
667
|
-
Bedrock model id the GraphQL
|
|
427
|
+
Bedrock model id the GraphQL Brain source-agent runtime uses
|
|
668
428
|
for JSON tool/action turns. Defaults to Claude Haiku 4.5 for reliable
|
|
669
429
|
action JSON while wiki compile can stay on gpt-oss for throughput.
|
|
670
430
|
EOT
|
|
@@ -672,6 +432,34 @@ variable "company_brain_source_agent_model_id" {
|
|
|
672
432
|
default = "us.anthropic.claude-haiku-4-5-20251001-v1:0"
|
|
673
433
|
}
|
|
674
434
|
|
|
435
|
+
variable "knowledge_graph_observations_ingest_enabled" {
|
|
436
|
+
description = "Enable the Brain distillation schedule (observations -> knowledge graph). Ships disabled; flip on dev after a validated manual run (plan 2026-07-03-005 U4)."
|
|
437
|
+
type = bool
|
|
438
|
+
default = false
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
variable "wiki_source" {
|
|
442
|
+
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
|
+
type = string
|
|
444
|
+
default = "planner"
|
|
445
|
+
|
|
446
|
+
validation {
|
|
447
|
+
condition = contains(["planner", "graph"], var.wiki_source)
|
|
448
|
+
error_message = "wiki_source must be 'planner' or 'graph'."
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
variable "analyst_policy_source" {
|
|
453
|
+
description = "THINK-229 KTD5 enforcement flip for the analyst connection policy source: 'row' (default — signed sidecar policy is shadow-only) or 'sidecar' (the sidecar block is authoritative). Flip only after clean shadow parity on live traffic."
|
|
454
|
+
type = string
|
|
455
|
+
default = "row"
|
|
456
|
+
|
|
457
|
+
validation {
|
|
458
|
+
condition = contains(["row", "sidecar"], var.analyst_policy_source)
|
|
459
|
+
error_message = "analyst_policy_source must be 'row' or 'sidecar'."
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
675
463
|
variable "wiki_aggregation_pass_enabled" {
|
|
676
464
|
description = <<-EOT
|
|
677
465
|
Feature flag for the wiki aggregation pass — the second LLM call
|
|
@@ -958,90 +746,49 @@ module "thinkwork" {
|
|
|
958
746
|
|
|
959
747
|
plugin_catalog_github_token_secret_arn = var.plugin_catalog_github_token_secret_arn
|
|
960
748
|
|
|
961
|
-
db_password
|
|
962
|
-
database_engine
|
|
963
|
-
enable_hindsight
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
cognee_bedrock_model_resource_arns = var.cognee_bedrock_model_resource_arns
|
|
1005
|
-
cognee_kms_key_arns = var.cognee_kms_key_arns
|
|
1006
|
-
twenty_provisioned = var.twenty_provisioned
|
|
1007
|
-
twenty_runtime_enabled = var.twenty_runtime_enabled
|
|
1008
|
-
twenty_image_uri = var.twenty_image_uri
|
|
1009
|
-
twenty_db_username = var.twenty_db_username
|
|
1010
|
-
twenty_db_name = var.twenty_db_name
|
|
1011
|
-
twenty_db_url_secret_arn = var.twenty_db_url_secret_arn
|
|
1012
|
-
twenty_encryption_key_secret_arn = var.twenty_encryption_key_secret_arn
|
|
1013
|
-
twenty_email_from_address = var.twenty_email_from_address
|
|
1014
|
-
twenty_email_from_name = var.twenty_email_from_name
|
|
1015
|
-
twenty_public_url = local.twenty_url
|
|
1016
|
-
twenty_certificate_arn = var.twenty_certificate_arn != "" ? var.twenty_certificate_arn : (local.twenty_managed_certificate_enabled ? aws_acm_certificate_validation.twenty[0].certificate_arn : "")
|
|
1017
|
-
n8n_provisioned = var.n8n_provisioned
|
|
1018
|
-
n8n_runtime_enabled = var.n8n_runtime_enabled
|
|
1019
|
-
n8n_image_uri = var.n8n_image_uri
|
|
1020
|
-
n8n_database_admin_secret_arn = var.n8n_database_admin_secret_arn
|
|
1021
|
-
n8n_database_url_secret_arn = var.n8n_database_url_secret_arn
|
|
1022
|
-
n8n_database_username = var.n8n_database_username
|
|
1023
|
-
n8n_database_name = var.n8n_database_name
|
|
1024
|
-
n8n_encryption_key_secret_arn = var.n8n_encryption_key_secret_arn
|
|
1025
|
-
n8n_operator_secret_arn = var.n8n_operator_secret_arn
|
|
1026
|
-
n8n_service_credential_secret_arn = var.n8n_service_credential_secret_arn
|
|
1027
|
-
n8n_agent_step_bridge_credential_secret_arn = var.n8n_agent_step_bridge_credential_secret_arn
|
|
1028
|
-
n8n_storage_bucket_name = var.n8n_storage_bucket_name
|
|
1029
|
-
n8n_container_port = var.n8n_container_port
|
|
1030
|
-
n8n_cache_engine = var.n8n_cache_engine
|
|
1031
|
-
n8n_domain = local.n8n_domain
|
|
1032
|
-
n8n_public_url = local.n8n_url
|
|
1033
|
-
n8n_certificate_arn = var.n8n_certificate_arn != "" ? var.n8n_certificate_arn : (local.n8n_managed_certificate_enabled ? aws_acm_certificate_validation.n8n[0].certificate_arn : "")
|
|
1034
|
-
google_oauth_client_id = var.google_oauth_client_id
|
|
1035
|
-
google_oauth_client_secret = var.google_oauth_client_secret
|
|
1036
|
-
pre_signup_lambda_zip = var.pre_signup_lambda_zip
|
|
1037
|
-
cognito_custom_auth_lambda_zip = var.cognito_custom_auth_lambda_zip
|
|
1038
|
-
lambda_zips_dir = var.lambda_zips_dir
|
|
1039
|
-
lambda_artifact_bucket = var.lambda_artifact_bucket
|
|
1040
|
-
lambda_artifact_prefix = var.lambda_artifact_prefix
|
|
1041
|
-
require_lambda_artifacts = var.require_lambda_artifacts
|
|
1042
|
-
enable_workspace_orchestration = var.enable_workspace_orchestration
|
|
1043
|
-
api_auth_secret = var.api_auth_secret
|
|
1044
|
-
platform_operator_emails = var.platform_operator_emails
|
|
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
|
|
1045
792
|
|
|
1046
793
|
# Public website custom domain (optional — wired only when www_domain is set)
|
|
1047
794
|
www_domain = var.www_domain
|
|
@@ -1080,13 +827,17 @@ module "thinkwork" {
|
|
|
1080
827
|
# don't wipe the Bedrock model or the aggregation flag back to
|
|
1081
828
|
# whatever the Lambda env defaults to.
|
|
1082
829
|
wiki_compile_model_id = var.wiki_compile_model_id
|
|
1083
|
-
|
|
830
|
+
brain_source_agent_model_id = var.brain_source_agent_model_id
|
|
1084
831
|
wiki_aggregation_pass_enabled = var.wiki_aggregation_pass_enabled
|
|
832
|
+
wiki_source = var.wiki_source
|
|
833
|
+
analyst_policy_source = var.analyst_policy_source
|
|
834
|
+
knowledge_graph_observations_ingest_enabled = var.knowledge_graph_observations_ingest_enabled
|
|
1085
835
|
wiki_deterministic_linking_enabled = var.wiki_deterministic_linking_enabled
|
|
1086
836
|
google_places_api_key = var.google_places_api_key
|
|
1087
837
|
requester_idle_memory_learning_enabled = var.requester_idle_memory_learning_enabled
|
|
1088
838
|
requester_memory_dreaming_enabled = var.requester_memory_dreaming_enabled
|
|
1089
839
|
requester_memory_dreaming_schedule_expression = var.requester_memory_dreaming_schedule_expression
|
|
840
|
+
brain_dream_state_enabled = var.brain_dream_state_enabled
|
|
1090
841
|
requester_memory_dreaming_model_id = var.requester_memory_dreaming_model_id
|
|
1091
842
|
agentcore_code_interpreter_id = var.agentcore_code_interpreter_id
|
|
1092
843
|
agentcore_memory_id = var.agentcore_memory_id
|
|
@@ -1305,42 +1056,6 @@ output "hindsight_endpoint" {
|
|
|
1305
1056
|
description = "Hindsight API endpoint (null when enable_hindsight = false)"
|
|
1306
1057
|
value = module.thinkwork.hindsight_endpoint
|
|
1307
1058
|
}
|
|
1308
|
-
|
|
1309
|
-
output "cognee_enabled" {
|
|
1310
|
-
description = "Whether the Cognee ontology/KG add-on is enabled"
|
|
1311
|
-
value = module.thinkwork.cognee_enabled
|
|
1312
|
-
}
|
|
1313
|
-
|
|
1314
|
-
output "cognee_endpoint" {
|
|
1315
|
-
description = "Internal Cognee API endpoint (null when enable_cognee = false)"
|
|
1316
|
-
value = module.thinkwork.cognee_endpoint
|
|
1317
|
-
}
|
|
1318
|
-
|
|
1319
|
-
output "cognee_log_group_name" {
|
|
1320
|
-
description = "CloudWatch log group for Cognee (null when enable_cognee = false)"
|
|
1321
|
-
value = module.thinkwork.cognee_log_group_name
|
|
1322
|
-
}
|
|
1323
|
-
|
|
1324
|
-
output "cognee_brain_storage_tier" {
|
|
1325
|
-
description = "Company Brain storage tier (null when enable_cognee = false)"
|
|
1326
|
-
value = module.thinkwork.cognee_brain_storage_tier
|
|
1327
|
-
}
|
|
1328
|
-
|
|
1329
|
-
output "cognee_brain_instance_key" {
|
|
1330
|
-
description = "Tenant-scoped Company Brain instance key (null for legacy stage-wide instances)"
|
|
1331
|
-
value = module.thinkwork.cognee_brain_instance_key
|
|
1332
|
-
}
|
|
1333
|
-
|
|
1334
|
-
output "cognee_s3_artifact_root" {
|
|
1335
|
-
description = "Canonical Company Brain S3 source artifact root"
|
|
1336
|
-
value = module.thinkwork.cognee_s3_artifact_root
|
|
1337
|
-
}
|
|
1338
|
-
|
|
1339
|
-
output "cognee_neptune_graph_id" {
|
|
1340
|
-
description = "Neptune Analytics graph ID for production Company Brain"
|
|
1341
|
-
value = module.thinkwork.cognee_neptune_graph_id
|
|
1342
|
-
}
|
|
1343
|
-
|
|
1344
1059
|
output "twenty_provisioned" {
|
|
1345
1060
|
description = "Whether the Twenty CRM retained managed-app substrate is provisioned"
|
|
1346
1061
|
value = module.thinkwork.twenty_provisioned
|
|
@@ -1431,11 +1146,6 @@ output "n8n_service_credential_secret_arn" {
|
|
|
1431
1146
|
value = module.thinkwork.n8n_service_credential_secret_arn
|
|
1432
1147
|
}
|
|
1433
1148
|
|
|
1434
|
-
output "n8n_agent_step_bridge_credential_secret_arn" {
|
|
1435
|
-
description = "Secrets Manager ARN used for the inbound n8n agent-step bridge credential (null when n8n_provisioned = false)"
|
|
1436
|
-
value = module.thinkwork.n8n_agent_step_bridge_credential_secret_arn
|
|
1437
|
-
}
|
|
1438
|
-
|
|
1439
1149
|
output "agentcore_memory_id" {
|
|
1440
1150
|
description = "AgentCore Memory resource ID used for automatic retention"
|
|
1441
1151
|
value = module.thinkwork.agentcore_memory_id
|
|
@@ -59,7 +59,6 @@ database_engine = "rds-postgres"
|
|
|
59
59
|
# n8n_encryption_key_secret_arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:thinkwork/dev/n8n/encryption-key-..."
|
|
60
60
|
# n8n_operator_secret_arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:thinkwork/dev/n8n/operator-..."
|
|
61
61
|
# n8n_service_credential_secret_arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:thinkwork/dev/n8n/service-credential-..."
|
|
62
|
-
# n8n_agent_step_bridge_credential_secret_arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:thinkwork/dev/n8n/agent-step-bridge-credential-..."
|
|
63
62
|
# n8n_storage_bucket_name = "thinkwork-dev-n8n"
|
|
64
63
|
# n8n_container_port = 5678
|
|
65
64
|
# n8n_cache_engine = "valkey"
|
|
@@ -8,7 +8,7 @@ This module owns the dedicated Pi Lambda + log group + IAM role + event-invoke c
|
|
|
8
8
|
|
|
9
9
|
- `aws_iam_role.agentcore_pi` (`thinkwork-${stage}-agentcore-pi-role`) — assumed by Lambda + Bedrock AgentCore Runtime principals.
|
|
10
10
|
- `aws_iam_role_policy.agentcore_pi` — baseline permissions (S3 skill catalog, Bedrock model invoke, AgentCore Memory + Code Interpreter, CloudWatch Logs, X-Ray ingestion, ECR pull, SSM parameter access, memory-retain Lambda invoke). Forward-compat additions for U4-U8: Aurora Data API + Secrets Manager scoped to `thinkwork-${stage}-*`.
|
|
11
|
-
- `aws_iam_role_policy_attachment.agentcore_pi_vpc_access` — attached when Pi needs private-network access for
|
|
11
|
+
- `aws_iam_role_policy_attachment.agentcore_pi_vpc_access` — attached when Pi needs private-network access for the OKF EFS mount.
|
|
12
12
|
- `aws_iam_role_policy.agentcore_pi_dlq_send` — `sqs:SendMessage` against the shared async DLQ (injected via `var.async_dlq_arn`).
|
|
13
13
|
- `aws_cloudwatch_log_group.agentcore_pi` (`/thinkwork/${stage}/agentcore-pi`).
|
|
14
14
|
- `aws_lambda_function.agentcore_pi` (`thinkwork-${stage}-agentcore-pi`) — `package_type = "Image"`, pulls `${ecr_repository_url}:pi-latest`.
|
|
@@ -48,8 +48,6 @@ The Lambda function name changes from `thinkwork-${stage}-agentcore-flue` to `th
|
|
|
48
48
|
| `api_endpoint` | no | API Gateway base URL for the `/api/skills/complete` callback. |
|
|
49
49
|
| `api_auth_secret` | no | Service-auth bearer for the same callback. |
|
|
50
50
|
| `memory_engine` | no | `hindsight` or `agentcore`; surfaced as `MEMORY_ENGINE` env var. |
|
|
51
|
-
| `cognee_subnet_ids` | no | Private subnets for direct Company Brain/Cognee MCP access. |
|
|
52
|
-
| `cognee_security_group_ids` | no | Security groups allowed to reach the internal Company Brain/Cognee endpoint. |
|
|
53
51
|
|
|
54
52
|
## Outputs
|
|
55
53
|
|