@openhi/constructs 0.0.159 → 0.0.161

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 (129) hide show
  1. package/lib/{chunk-HQ67J7BP.mjs → chunk-5S6VFBLT.mjs} +12 -70
  2. package/lib/chunk-5S6VFBLT.mjs.map +1 -0
  3. package/lib/{chunk-MVQWAIMC.mjs → chunk-6BB4CRSS.mjs} +3 -312
  4. package/lib/chunk-6BB4CRSS.mjs.map +1 -0
  5. package/lib/{chunk-WPCBVDFZ.mjs → chunk-76UM2LQ5.mjs} +2 -2
  6. package/lib/chunk-7TRO2STL.mjs +4616 -0
  7. package/lib/chunk-7TRO2STL.mjs.map +1 -0
  8. package/lib/chunk-BUAYVN3C.mjs +87 -0
  9. package/lib/chunk-BUAYVN3C.mjs.map +1 -0
  10. package/lib/{chunk-23PUSHBV.mjs → chunk-D2Y6DDOC.mjs} +2 -2
  11. package/lib/chunk-DWSWCUZR.mjs +123 -0
  12. package/lib/chunk-DWSWCUZR.mjs.map +1 -0
  13. package/lib/{chunk-VZCPGQXA.mjs → chunk-EUIP2U5F.mjs} +69 -1
  14. package/lib/{chunk-VZCPGQXA.mjs.map → chunk-EUIP2U5F.mjs.map} +1 -1
  15. package/lib/chunk-GJTPXJKD.mjs +46 -0
  16. package/lib/chunk-GJTPXJKD.mjs.map +1 -0
  17. package/lib/chunk-I6LUPJUY.mjs +61 -0
  18. package/lib/chunk-I6LUPJUY.mjs.map +1 -0
  19. package/lib/{chunk-KR2Y2CVQ.mjs → chunk-KA3OMP3X.mjs} +2 -2
  20. package/lib/{chunk-ZM4GDHHC.mjs → chunk-KMEWULMX.mjs} +51 -3
  21. package/lib/chunk-KMEWULMX.mjs.map +1 -0
  22. package/lib/chunk-LKKLO66E.mjs +25 -0
  23. package/lib/chunk-LKKLO66E.mjs.map +1 -0
  24. package/lib/{chunk-CFJDATDK.mjs → chunk-MLFMW5IF.mjs} +43 -9
  25. package/lib/chunk-MLFMW5IF.mjs.map +1 -0
  26. package/lib/chunk-O5VQWB6U.mjs +315 -0
  27. package/lib/chunk-O5VQWB6U.mjs.map +1 -0
  28. package/lib/{chunk-7BQHLC7U.mjs → chunk-P3CTZWC2.mjs} +8 -40
  29. package/lib/chunk-P3CTZWC2.mjs.map +1 -0
  30. package/lib/chunk-P3NFCKTZ.mjs +502 -0
  31. package/lib/chunk-P3NFCKTZ.mjs.map +1 -0
  32. package/lib/{chunk-M7Y3BOQW.mjs → chunk-Q3MKITPY.mjs} +5 -5
  33. package/lib/chunk-Q64MOYJ7.mjs +218 -0
  34. package/lib/chunk-Q64MOYJ7.mjs.map +1 -0
  35. package/lib/chunk-RQKJNMX5.mjs +89 -0
  36. package/lib/chunk-RQKJNMX5.mjs.map +1 -0
  37. package/lib/{chunk-ZWSGM6PZ.mjs → chunk-SD7J3N3C.mjs} +2 -2
  38. package/lib/{chunk-7RZHFI77.mjs → chunk-VESULYQQ.mjs} +2 -2
  39. package/lib/{chunk-AOSEKL7U.mjs → chunk-WOTU36P3.mjs} +6 -103
  40. package/lib/chunk-WOTU36P3.mjs.map +1 -0
  41. package/lib/{chunk-X5E4YJGZ.mjs → chunk-YPTJJ35S.mjs} +2 -2
  42. package/lib/counter-apply-operation-DZM3MIDm.d.mts +63 -0
  43. package/lib/counter-apply-operation-DZM3MIDm.d.ts +63 -0
  44. package/lib/counter-maintenance.handler.d.mts +38 -0
  45. package/lib/counter-maintenance.handler.d.ts +38 -0
  46. package/lib/counter-maintenance.handler.js +2885 -0
  47. package/lib/counter-maintenance.handler.js.map +1 -0
  48. package/lib/counter-maintenance.handler.mjs +180 -0
  49. package/lib/counter-maintenance.handler.mjs.map +1 -0
  50. package/lib/counter-reconciliation.handler.d.mts +116 -0
  51. package/lib/counter-reconciliation.handler.d.ts +116 -0
  52. package/lib/counter-reconciliation.handler.js +3324 -0
  53. package/lib/counter-reconciliation.handler.js.map +1 -0
  54. package/lib/counter-reconciliation.handler.mjs +295 -0
  55. package/lib/counter-reconciliation.handler.mjs.map +1 -0
  56. package/lib/data-store-postgres-replication.handler.js +50 -2
  57. package/lib/data-store-postgres-replication.handler.js.map +1 -1
  58. package/lib/data-store-postgres-replication.handler.mjs +2 -2
  59. package/lib/delete-chunk.handler.js +118 -2
  60. package/lib/delete-chunk.handler.js.map +1 -1
  61. package/lib/delete-chunk.handler.mjs +3 -3
  62. package/lib/{events-DTgo2dcW.d.mts → events-TG654e7L.d.mts} +68 -19
  63. package/lib/{events-DTgo2dcW.d.ts → events-TG654e7L.d.ts} +68 -19
  64. package/lib/finalize.handler.js +50 -2
  65. package/lib/finalize.handler.js.map +1 -1
  66. package/lib/finalize.handler.mjs +4 -4
  67. package/lib/firehose-archive-transform.handler.js +50 -2
  68. package/lib/firehose-archive-transform.handler.js.map +1 -1
  69. package/lib/firehose-archive-transform.handler.mjs +2 -2
  70. package/lib/index.d.mts +1283 -4
  71. package/lib/index.d.ts +1389 -24
  72. package/lib/index.js +4113 -320
  73. package/lib/index.js.map +1 -1
  74. package/lib/index.mjs +602 -195
  75. package/lib/index.mjs.map +1 -1
  76. package/lib/list-chunks.handler.js +118 -2
  77. package/lib/list-chunks.handler.js.map +1 -1
  78. package/lib/list-chunks.handler.mjs +3 -3
  79. package/lib/platform-deploy-bridge.handler.js +50 -2
  80. package/lib/platform-deploy-bridge.handler.js.map +1 -1
  81. package/lib/platform-deploy-bridge.handler.mjs +1 -1
  82. package/lib/pre-token-generation.handler.js +68 -0
  83. package/lib/pre-token-generation.handler.js.map +1 -1
  84. package/lib/pre-token-generation.handler.mjs +9 -5
  85. package/lib/pre-token-generation.handler.mjs.map +1 -1
  86. package/lib/provision-default-workspace.handler.js +887 -4
  87. package/lib/provision-default-workspace.handler.js.map +1 -1
  88. package/lib/provision-default-workspace.handler.mjs +14 -9
  89. package/lib/provision-default-workspace.handler.mjs.map +1 -1
  90. package/lib/rename-finalize.handler.js +50 -2
  91. package/lib/rename-finalize.handler.js.map +1 -1
  92. package/lib/rename-finalize.handler.mjs +2 -2
  93. package/lib/rename-list-targets.handler.js +118 -2
  94. package/lib/rename-list-targets.handler.js.map +1 -1
  95. package/lib/rename-list-targets.handler.mjs +11 -9
  96. package/lib/rename-list-targets.handler.mjs.map +1 -1
  97. package/lib/rename-rewrite-chunk.handler.js +68 -0
  98. package/lib/rename-rewrite-chunk.handler.js.map +1 -1
  99. package/lib/rename-rewrite-chunk.handler.mjs +2 -2
  100. package/lib/rest-api-lambda.handler.js +1454 -251
  101. package/lib/rest-api-lambda.handler.js.map +1 -1
  102. package/lib/rest-api-lambda.handler.mjs +673 -821
  103. package/lib/rest-api-lambda.handler.mjs.map +1 -1
  104. package/lib/seed-demo-data.handler.d.mts +1 -1
  105. package/lib/seed-demo-data.handler.d.ts +1 -1
  106. package/lib/seed-demo-data.handler.js +4004 -201
  107. package/lib/seed-demo-data.handler.js.map +1 -1
  108. package/lib/seed-demo-data.handler.mjs +10 -7
  109. package/lib/seed-system-data.handler.js +118 -2
  110. package/lib/seed-system-data.handler.js.map +1 -1
  111. package/lib/seed-system-data.handler.mjs +5 -5
  112. package/package.json +1 -1
  113. package/lib/chunk-7BQHLC7U.mjs.map +0 -1
  114. package/lib/chunk-AOSEKL7U.mjs.map +0 -1
  115. package/lib/chunk-BQMJSDOD.mjs +0 -1136
  116. package/lib/chunk-BQMJSDOD.mjs.map +0 -1
  117. package/lib/chunk-CFJDATDK.mjs.map +0 -1
  118. package/lib/chunk-E6MCKJVS.mjs +0 -212
  119. package/lib/chunk-E6MCKJVS.mjs.map +0 -1
  120. package/lib/chunk-HQ67J7BP.mjs.map +0 -1
  121. package/lib/chunk-MVQWAIMC.mjs.map +0 -1
  122. package/lib/chunk-ZM4GDHHC.mjs.map +0 -1
  123. /package/lib/{chunk-WPCBVDFZ.mjs.map → chunk-76UM2LQ5.mjs.map} +0 -0
  124. /package/lib/{chunk-23PUSHBV.mjs.map → chunk-D2Y6DDOC.mjs.map} +0 -0
  125. /package/lib/{chunk-KR2Y2CVQ.mjs.map → chunk-KA3OMP3X.mjs.map} +0 -0
  126. /package/lib/{chunk-M7Y3BOQW.mjs.map → chunk-Q3MKITPY.mjs.map} +0 -0
  127. /package/lib/{chunk-ZWSGM6PZ.mjs.map → chunk-SD7J3N3C.mjs.map} +0 -0
  128. /package/lib/{chunk-7RZHFI77.mjs.map → chunk-VESULYQQ.mjs.map} +0 -0
  129. /package/lib/{chunk-X5E4YJGZ.mjs.map → chunk-YPTJJ35S.mjs.map} +0 -0
package/lib/index.mjs CHANGED
@@ -1,3 +1,11 @@
1
+ import {
2
+ RENAME_CASCADE_CONSUMER_NAME,
3
+ RENAME_CASCADE_DEFAULT_CONCURRENCY,
4
+ RENAME_CASCADE_FAILED_THRESHOLD,
5
+ RENAME_CASCADE_OPS_EVENT_BUS_ENV_VAR,
6
+ RENAME_CASCADE_SLOW_THRESHOLD_SECONDS,
7
+ import_workflows as import_workflows5
8
+ } from "./chunk-D2Y6DDOC.mjs";
1
9
  import {
2
10
  DATA_STORE_CHANGE_DETAIL_MAX_UTF8_BYTES,
3
11
  DATA_STORE_CHANGE_DETAIL_TYPE,
@@ -7,42 +15,159 @@ import {
7
15
  SEED_SYSTEM_DATA_ACTOR_SYSTEM,
8
16
  SEED_SYSTEM_DATA_CONSUMER_NAME,
9
17
  SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR,
10
- import_workflows as import_workflows2
11
- } from "./chunk-WPCBVDFZ.mjs";
18
+ import_workflows as import_workflows3
19
+ } from "./chunk-76UM2LQ5.mjs";
12
20
  import {
21
+ BLOCK_OCCURRENCES_PER_TEMPLATE,
22
+ BLOCK_OCCURRENCE_WEEKS_FUTURE,
23
+ BLOCK_OCCURRENCE_WEEKS_PAST,
24
+ CLAIM_WORKFLOW_STATUS,
25
+ CLAIM_WORKFLOW_STATUS_EXTENSION_URL,
26
+ CLAIM_WORKFLOW_STATUS_LAST_TRANSITION_SUB_EXTENSION_URL,
27
+ CLAIM_WORKFLOW_STATUS_VALUE_SUB_EXTENSION_URL,
28
+ CONDITION_CLINICAL_STATUS_SYSTEM,
29
+ COVERAGE_PAYOR_TYPE_SYSTEM,
30
+ COVERAGE_QMB_STATUS_EXTENSION_URL,
31
+ COVERAGE_VERIFICATION_DATE_EXTENSION_URL,
32
+ CPT_SYSTEM,
33
+ CREDENTIALING_STATUS,
13
34
  DEMO_DATA_PLANE_FIXTURES,
14
35
  DEMO_PERIOD,
15
36
  DEMO_TENANT_SPECS,
16
37
  DEMO_URN_SYSTEM,
17
38
  DEV_USERS,
39
+ DIRECTOR_OF_NURSING_EMAIL_EXTENSION_URL,
40
+ DIRECTOR_OF_NURSING_EXTENSION_URL,
41
+ DIRECTOR_OF_NURSING_NAME_EXTENSION_URL,
42
+ DIRECTOR_OF_NURSING_PHONE_EXTENSION_URL,
43
+ DME_SUPPLIER_CATEGORY_CODE,
44
+ ENCOUNTER_CLASS_FACILITY,
45
+ ENCOUNTER_CLASS_HOME_HEALTH,
46
+ ENCOUNTER_CLASS_SYSTEM,
47
+ FHIR_ORGANIZATION_TYPE_SYSTEM,
48
+ HOME_HEALTH_ELIGIBLE_EXTENSION_URL,
49
+ HOME_HEALTH_VISITS_PAST,
50
+ HOME_HEALTH_VISIT_CADENCE_DAYS_EXTENSION_URL,
51
+ HOME_HEALTH_VISIT_CADENCE_OPTIONS,
52
+ HOSPICE_EFFECTIVE_DATE_SUB_EXTENSION_URL,
53
+ HOSPICE_STATUS_VALUE_SUB_EXTENSION_URL,
54
+ INSURANCE_PAYOR_CATEGORY_CODE,
55
+ INSURANCE_PAYOR_PLAN_TYPE_SYSTEM,
56
+ LOINC_SYSTEM,
57
+ ON_SITE_APPOINTMENT_TYPE_SYSTEM,
58
+ ON_SITE_DEMO_BLOCK_CAPACITY_EXTENSION_URL,
59
+ ON_SITE_DEMO_BLOCK_TEMPLATE_IDS,
60
+ ON_SITE_DEMO_DIRECTORY_ORGANIZATIONS,
61
+ ON_SITE_DEMO_DME_SUPPLIERS,
62
+ ON_SITE_DEMO_DOCTORS,
63
+ ON_SITE_DEMO_DOCTOR_IDS,
64
+ ON_SITE_DEMO_FACILITIES,
65
+ ON_SITE_DEMO_FACILITY_IDS,
66
+ ON_SITE_DEMO_FIXTURES,
67
+ ON_SITE_DEMO_INSURANCE_PAYORS,
68
+ ON_SITE_DEMO_SCRIBES,
69
+ ON_SITE_DEMO_SCRIBE_IDS,
70
+ ON_SITE_DEMO_TENANT_ID,
71
+ ON_SITE_DEMO_WORKSPACE_ID,
72
+ ON_SITE_DIRECTORY_CATEGORY_SYSTEM,
73
+ ON_SITE_STAFF_ID_SYSTEM,
18
74
  OPENHI_RESOURCE_URN_SYSTEM,
75
+ PATIENT_ASSIGNED_BLOCK_TEMPLATE_EXTENSION_URL,
76
+ PATIENT_ASSIGNED_HOME_HEALTH_PROVIDER_EXTENSION_URL,
77
+ PATIENT_DEFAULT_CARE_LOCATION_EXTENSION_URL,
78
+ PATIENT_DEFAULT_CARE_SETTING_EXTENSION_URL,
79
+ PATIENT_HOSPICE_STATUS_EXTENSION_URL,
80
+ PATIENT_RESIDENCY_ADMISSION_DATE_EXTENSION_URL,
81
+ PATIENT_RESIDENCY_ROOM_EXTENSION_URL,
82
+ PAYMENT_STATUS,
83
+ PAYMENT_STATUS_SYSTEM,
84
+ PAYOR_PLAN_TYPE_COMMERCIAL,
85
+ PAYOR_PLAN_TYPE_MEDICARE,
86
+ PAYOR_PLAN_TYPE_MEDICARE_ADVANTAGE,
87
+ PAYOR_TYPE_COMMERCIAL,
88
+ PAYOR_TYPE_MEDICARE,
89
+ PAYOR_TYPE_MEDICARE_ADVANTAGE,
19
90
  PLACEHOLDER_TENANT_ID,
20
91
  PLACEHOLDER_WORKSPACE_ID,
92
+ PRACTITIONER_CREDENTIALING_EXTENSION_URL,
93
+ PRACTITIONER_CREDENTIALING_STATE_SUB_EXTENSION_URL,
94
+ PRACTITIONER_CREDENTIALING_STATUS_SUB_EXTENSION_URL,
95
+ PRACTITIONER_ROLE_PHYSICIAN,
96
+ PRACTITIONER_ROLE_SCRIBE,
97
+ QMB_EFFECTIVE_DATE_SUB_EXTENSION_URL,
98
+ QMB_STATUS_VALUE_SUB_EXTENSION_URL,
21
99
  SEED_DEMO_DATA_CONSUMER_NAME,
22
100
  SEED_DEMO_DATA_USER_POOL_ID_ENV_VAR,
101
+ SNOMED_SYSTEM,
102
+ STATE_MEDICAL_LICENSE_SYSTEM,
103
+ TOTAL_HOME_HEALTH_PATIENTS,
104
+ US_NPI_SYSTEM,
105
+ WOUND_DEPTH_CODE,
106
+ WOUND_EXAM_PANEL_CODE,
107
+ WOUND_EXAM_PANEL_DISPLAY,
108
+ WOUND_LENGTH_CODE,
109
+ WOUND_STATUS_CODE,
110
+ WOUND_WIDTH_CODE,
111
+ __resetOnSiteDemoClaimCachesForTests,
112
+ __resetOnSiteDemoEncounterCachesForTests,
113
+ buildCredentialingQualifications,
114
+ buildOnSiteDemoBlockAppointments,
115
+ buildOnSiteDemoClaims,
116
+ buildOnSiteDemoEncounters,
117
+ buildOnSiteDemoFacilityCoverages,
118
+ buildOnSiteDemoFacilityPatients,
119
+ buildOnSiteDemoHomeHealthCoverages,
120
+ buildOnSiteDemoHomeHealthPatients,
121
+ buildOnSiteDemoPaymentNotices,
122
+ buildOnSiteDemoWoundConditions,
123
+ buildOnSiteDemoWoundObservations,
124
+ buildOnSiteDemoWoundProcedures,
23
125
  demoMembershipId,
24
126
  demoRoleAssignmentId,
25
127
  demoRolesForUserInTenant,
26
128
  demoScenarioIdentifier,
27
- import_workflows,
28
- openhiResourceIdentifier
29
- } from "./chunk-BQMJSDOD.mjs";
129
+ facilityPatientsForBlock,
130
+ findOnSiteDemoBlockTemplate,
131
+ findOnSiteDemoFacilityPatientBlock,
132
+ findOnSiteDemoHomeHealthPatientProvider,
133
+ findOnSiteDemoHomeHealthPatientVisitCadenceDays,
134
+ homeHealthEligibleDoctors,
135
+ import_workflows as import_workflows2,
136
+ onSiteDemoBilledEncounterIds,
137
+ onSiteDemoClaimIds,
138
+ onSiteDemoDmeSupplierIds,
139
+ onSiteDemoEncounterIds,
140
+ onSiteDemoEncounterMetadata,
141
+ onSiteDemoEncountersForPatient,
142
+ onSiteDemoFacilityPatientIds,
143
+ onSiteDemoHomeHealthPatientIds,
144
+ onSiteDemoInsurancePayorIds,
145
+ onSiteDemoIntakeOnlyFacilityPatientIds,
146
+ onSiteDemoIntakeOnlyHomeHealthPatientIds,
147
+ onSiteDemoPaymentNoticeIds,
148
+ onSiteDemoScheduledFacilityPatientIds,
149
+ onSiteDemoScheduledHomeHealthPatientIds,
150
+ onSiteDemoUnbilledEncounterIds,
151
+ onSiteDemoWoundBearingPatientIds,
152
+ onSiteDemoWoundProcedurePatientIds,
153
+ openhiResourceIdentifier,
154
+ practitionerCredentialingForDoctor,
155
+ practitionerCredentialingForState,
156
+ woundConditionIdForPatient
157
+ } from "./chunk-7TRO2STL.mjs";
158
+ import {
159
+ COUNTER_MAINTENANCE_CONSUMER_NAME,
160
+ COUNTER_MAINTENANCE_DETAIL_TYPES,
161
+ import_workflows
162
+ } from "./chunk-LKKLO66E.mjs";
30
163
  import {
31
164
  OWNING_DELETE_CASCADE_CONSUMER_NAME,
32
165
  OWNING_DELETE_CASCADE_DEFAULT_CONCURRENCY,
33
166
  OWNING_DELETE_CASCADE_STUCK_THRESHOLD_MINUTES,
34
167
  OWNING_DELETE_OPS_EVENT_BUS_ENV_VAR,
35
- import_workflows as import_workflows3
36
- } from "./chunk-7RZHFI77.mjs";
37
- import {
38
- RENAME_CASCADE_CONSUMER_NAME,
39
- RENAME_CASCADE_DEFAULT_CONCURRENCY,
40
- RENAME_CASCADE_FAILED_THRESHOLD,
41
- RENAME_CASCADE_OPS_EVENT_BUS_ENV_VAR,
42
- RENAME_CASCADE_SLOW_THRESHOLD_SECONDS,
43
168
  import_workflows as import_workflows4
44
- } from "./chunk-23PUSHBV.mjs";
45
- import "./chunk-E6MCKJVS.mjs";
169
+ } from "./chunk-VESULYQQ.mjs";
170
+ import "./chunk-P3NFCKTZ.mjs";
46
171
  import {
47
172
  PROVISION_DEFAULT_WORKSPACE_DETAIL_TYPE,
48
173
  USER_ONBOARDING_EVENT_SOURCE,
@@ -57,18 +182,21 @@ import {
57
182
  OPENHI_TAG_KEY_PREFIX_ENV_VAR,
58
183
  PLATFORM_DEPLOY_BRIDGE_ACTOR_SYSTEM
59
184
  } from "./chunk-SVXLZCF7.mjs";
60
- import {
61
- require_lib
62
- } from "./chunk-ZM4GDHHC.mjs";
63
185
  import {
64
186
  PLATFORM_SCOPE_TENANT_ID
65
- } from "./chunk-CFJDATDK.mjs";
66
- import "./chunk-HQ67J7BP.mjs";
187
+ } from "./chunk-MLFMW5IF.mjs";
188
+ import "./chunk-BUAYVN3C.mjs";
189
+ import "./chunk-5S6VFBLT.mjs";
190
+ import "./chunk-I6LUPJUY.mjs";
67
191
  import "./chunk-QJDHVMKT.mjs";
68
- import "./chunk-MVQWAIMC.mjs";
192
+ import "./chunk-6BB4CRSS.mjs";
193
+ import "./chunk-O5VQWB6U.mjs";
69
194
  import "./chunk-FYHBHHWK.mjs";
70
- import "./chunk-VZCPGQXA.mjs";
195
+ import "./chunk-EUIP2U5F.mjs";
71
196
  import "./chunk-TRY7JGWO.mjs";
197
+ import {
198
+ require_lib
199
+ } from "./chunk-KMEWULMX.mjs";
72
200
  import {
73
201
  __commonJS,
74
202
  __toESM
@@ -1054,7 +1182,7 @@ var DynamoDbDataStore = class extends Table {
1054
1182
  };
1055
1183
 
1056
1184
  // src/components/dynamodb/workflow-dedup-table.ts
1057
- var import_workflows5 = __toESM(require_lib());
1185
+ var import_workflows6 = __toESM(require_lib());
1058
1186
  import { Annotations } from "aws-cdk-lib";
1059
1187
  import { AttributeType as AttributeType2, BillingMode as BillingMode2, Table as Table2 } from "aws-cdk-lib/aws-dynamodb";
1060
1188
  import { Effect, PolicyStatement } from "aws-cdk-lib/aws-iam";
@@ -1130,7 +1258,7 @@ var _WorkflowDedupTable = class _WorkflowDedupTable extends Construct5 {
1130
1258
  _WorkflowDedupTable.assertConsumerNameStatic(consumerName);
1131
1259
  const tableName = _WorkflowDedupTable.tableNameFromLookup(scope);
1132
1260
  const tableArn = _WorkflowDedupTable.tableArnFromLookup(scope);
1133
- fn.addEnvironment(import_workflows5.WORKFLOW_DEDUP_TABLE_NAME_ENV_VAR, tableName);
1261
+ fn.addEnvironment(import_workflows6.WORKFLOW_DEDUP_TABLE_NAME_ENV_VAR, tableName);
1134
1262
  if (options.defaultTtlSeconds !== void 0) {
1135
1263
  fn.addEnvironment(
1136
1264
  "OPENHI_WORKFLOW_DEDUP_DEFAULT_TTL_SECONDS",
@@ -1166,9 +1294,9 @@ var _WorkflowDedupTable = class _WorkflowDedupTable extends Construct5 {
1166
1294
  "consumerName must be non-empty."
1167
1295
  );
1168
1296
  }
1169
- if (consumerName.length > import_workflows5.WORKFLOW_DEDUP_MAX_CONSUMER_NAME_LENGTH) {
1297
+ if (consumerName.length > import_workflows6.WORKFLOW_DEDUP_MAX_CONSUMER_NAME_LENGTH) {
1170
1298
  throw new WorkflowDedupConsumerNameInvalidError(
1171
- `consumerName must be at most ${import_workflows5.WORKFLOW_DEDUP_MAX_CONSUMER_NAME_LENGTH} chars; got ${consumerName.length}.`
1299
+ `consumerName must be at most ${import_workflows6.WORKFLOW_DEDUP_MAX_CONSUMER_NAME_LENGTH} chars; got ${consumerName.length}.`
1172
1300
  );
1173
1301
  }
1174
1302
  if (/\s/.test(consumerName)) {
@@ -1191,7 +1319,7 @@ var _WorkflowDedupTable = class _WorkflowDedupTable extends Construct5 {
1191
1319
  );
1192
1320
  }
1193
1321
  this.registeredConsumers.add(consumerName);
1194
- fn.addEnvironment(import_workflows5.WORKFLOW_DEDUP_TABLE_NAME_ENV_VAR, this.table.tableName);
1322
+ fn.addEnvironment(import_workflows6.WORKFLOW_DEDUP_TABLE_NAME_ENV_VAR, this.table.tableName);
1195
1323
  if (options.defaultTtlSeconds !== void 0) {
1196
1324
  fn.addEnvironment(
1197
1325
  "OPENHI_WORKFLOW_DEDUP_DEFAULT_TTL_SECONDS",
@@ -2273,17 +2401,16 @@ var _OpenHiGlobalService = class _OpenHiGlobalService extends OpenHiService {
2273
2401
  _OpenHiGlobalService.SERVICE_TYPE = "global";
2274
2402
  var OpenHiGlobalService = _OpenHiGlobalService;
2275
2403
 
2276
- // src/workflows/control-plane/seed-demo-data/seed-demo-data-lambda.ts
2404
+ // src/workflows/control-plane/counter-maintenance/counter-maintenance-lambda.ts
2277
2405
  import fs8 from "fs";
2278
2406
  import path8 from "path";
2279
- import { Duration as Duration7, Stack as Stack5 } from "aws-cdk-lib";
2407
+ import { Duration as Duration7 } from "aws-cdk-lib";
2280
2408
  import { Rule as Rule2 } from "aws-cdk-lib/aws-events";
2281
2409
  import { LambdaFunction as LambdaFunction2 } from "aws-cdk-lib/aws-events-targets";
2282
- import { Effect as Effect3, PolicyStatement as PolicyStatement3 } from "aws-cdk-lib/aws-iam";
2283
2410
  import { Runtime as Runtime8 } from "aws-cdk-lib/aws-lambda";
2284
2411
  import { NodejsFunction as NodejsFunction8 } from "aws-cdk-lib/aws-lambda-nodejs";
2285
2412
  import { Construct as Construct13 } from "constructs";
2286
- var HANDLER_NAME7 = "seed-demo-data.handler.js";
2413
+ var HANDLER_NAME7 = "counter-maintenance.handler.js";
2287
2414
  function resolveHandlerEntry7(dirname) {
2288
2415
  const sameDir = path8.join(dirname, HANDLER_NAME7);
2289
2416
  if (fs8.existsSync(sameDir)) {
@@ -2291,14 +2418,123 @@ function resolveHandlerEntry7(dirname) {
2291
2418
  }
2292
2419
  return path8.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME7);
2293
2420
  }
2294
- var SeedDemoDataLambda = class extends Construct13 {
2421
+ var CounterMaintenanceLambda = class extends Construct13 {
2295
2422
  constructor(scope, props) {
2296
- super(scope, "seed-demo-data-lambda");
2423
+ super(scope, "counter-maintenance-lambda");
2297
2424
  this.lambda = new NodejsFunction8(this, "handler", {
2298
2425
  entry: resolveHandlerEntry7(__dirname),
2299
2426
  runtime: Runtime8.NODEJS_LATEST,
2427
+ memorySize: 256,
2428
+ timeout: Duration7.minutes(1),
2429
+ environment: {
2430
+ DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
2431
+ }
2432
+ });
2433
+ props.dataStoreTable.grant(this.lambda, "dynamodb:UpdateItem");
2434
+ this.rule = new Rule2(this, "rule", {
2435
+ eventBus: props.controlEventBus,
2436
+ eventPattern: {
2437
+ source: [import_workflows.ControlPlaneMembershipCreatedV1.source],
2438
+ detailType: [...COUNTER_MAINTENANCE_DETAIL_TYPES]
2439
+ },
2440
+ targets: [
2441
+ new LambdaFunction2(this.lambda, {
2442
+ retryAttempts: 2,
2443
+ maxEventAge: Duration7.hours(2)
2444
+ })
2445
+ ]
2446
+ });
2447
+ }
2448
+ };
2449
+
2450
+ // src/workflows/control-plane/counter-maintenance/counter-maintenance-workflow.ts
2451
+ import { Construct as Construct14 } from "constructs";
2452
+ var CounterMaintenanceWorkflow = class extends Construct14 {
2453
+ constructor(scope, props) {
2454
+ super(scope, "counter-maintenance-workflow");
2455
+ this.counterMaintenance = new CounterMaintenanceLambda(this, {
2456
+ controlEventBus: props.controlEventBus,
2457
+ dataStoreTable: props.dataStoreTable
2458
+ });
2459
+ WorkflowDedupTable.grantConsumerFromLookup(
2460
+ this,
2461
+ this.counterMaintenance.lambda,
2462
+ COUNTER_MAINTENANCE_CONSUMER_NAME
2463
+ );
2464
+ }
2465
+ };
2466
+
2467
+ // src/workflows/control-plane/counter-reconciliation/counter-reconciliation-lambda.ts
2468
+ import fs9 from "fs";
2469
+ import path9 from "path";
2470
+ import { Duration as Duration8 } from "aws-cdk-lib";
2471
+ import { Runtime as Runtime9 } from "aws-cdk-lib/aws-lambda";
2472
+ import { NodejsFunction as NodejsFunction9 } from "aws-cdk-lib/aws-lambda-nodejs";
2473
+ import { Construct as Construct15 } from "constructs";
2474
+ var HANDLER_NAME8 = "counter-reconciliation.handler.js";
2475
+ function resolveHandlerEntry8(dirname) {
2476
+ const sameDir = path9.join(dirname, HANDLER_NAME8);
2477
+ if (fs9.existsSync(sameDir)) {
2478
+ return sameDir;
2479
+ }
2480
+ return path9.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME8);
2481
+ }
2482
+ var CounterReconciliationLambda = class extends Construct15 {
2483
+ constructor(scope, props) {
2484
+ super(scope, "counter-reconciliation-lambda");
2485
+ this.lambda = new NodejsFunction9(this, "handler", {
2486
+ entry: resolveHandlerEntry8(__dirname),
2487
+ runtime: Runtime9.NODEJS_LATEST,
2300
2488
  memorySize: 512,
2301
- timeout: Duration7.minutes(2),
2489
+ // A full-table sweep over every Tenant / Workspace / User is
2490
+ // heavier than the single-event counter-maintenance consumer, so
2491
+ // the on-demand job gets a longer ceiling.
2492
+ timeout: Duration8.minutes(15),
2493
+ environment: {
2494
+ DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
2495
+ }
2496
+ });
2497
+ props.dataStoreTable.grantReadWriteData(this.lambda);
2498
+ }
2499
+ };
2500
+
2501
+ // src/workflows/control-plane/counter-reconciliation/counter-reconciliation-workflow.ts
2502
+ import { Construct as Construct16 } from "constructs";
2503
+ var CounterReconciliationWorkflow = class extends Construct16 {
2504
+ constructor(scope, props) {
2505
+ super(scope, "counter-reconciliation-workflow");
2506
+ this.counterReconciliation = new CounterReconciliationLambda(this, {
2507
+ dataStoreTable: props.dataStoreTable
2508
+ });
2509
+ }
2510
+ };
2511
+
2512
+ // src/workflows/control-plane/seed-demo-data/seed-demo-data-lambda.ts
2513
+ import fs10 from "fs";
2514
+ import path10 from "path";
2515
+ import { Duration as Duration9, Stack as Stack5 } from "aws-cdk-lib";
2516
+ import { Rule as Rule3 } from "aws-cdk-lib/aws-events";
2517
+ import { LambdaFunction as LambdaFunction3 } from "aws-cdk-lib/aws-events-targets";
2518
+ import { Effect as Effect3, PolicyStatement as PolicyStatement3 } from "aws-cdk-lib/aws-iam";
2519
+ import { Runtime as Runtime10 } from "aws-cdk-lib/aws-lambda";
2520
+ import { NodejsFunction as NodejsFunction10 } from "aws-cdk-lib/aws-lambda-nodejs";
2521
+ import { Construct as Construct17 } from "constructs";
2522
+ var HANDLER_NAME9 = "seed-demo-data.handler.js";
2523
+ function resolveHandlerEntry9(dirname) {
2524
+ const sameDir = path10.join(dirname, HANDLER_NAME9);
2525
+ if (fs10.existsSync(sameDir)) {
2526
+ return sameDir;
2527
+ }
2528
+ return path10.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME9);
2529
+ }
2530
+ var SeedDemoDataLambda = class extends Construct17 {
2531
+ constructor(scope, props) {
2532
+ super(scope, "seed-demo-data-lambda");
2533
+ this.lambda = new NodejsFunction10(this, "handler", {
2534
+ entry: resolveHandlerEntry9(__dirname),
2535
+ runtime: Runtime10.NODEJS_LATEST,
2536
+ memorySize: 512,
2537
+ timeout: Duration9.minutes(2),
2302
2538
  environment: {
2303
2539
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName,
2304
2540
  [SEED_DEMO_DATA_USER_POOL_ID_ENV_VAR]: props.userPool.userPoolId
@@ -2361,16 +2597,16 @@ var SeedDemoDataLambda = class extends Construct13 {
2361
2597
  ]
2362
2598
  })
2363
2599
  );
2364
- this.rule = new Rule2(this, "rule", {
2600
+ this.rule = new Rule3(this, "rule", {
2365
2601
  eventBus: props.controlEventBus,
2366
2602
  eventPattern: {
2367
- source: [import_workflows.PlatformSystemDataSeededV1.source],
2368
- detailType: [import_workflows.PlatformSystemDataSeededV1.detailType]
2603
+ source: [import_workflows2.PlatformSystemDataSeededV1.source],
2604
+ detailType: [import_workflows2.PlatformSystemDataSeededV1.detailType]
2369
2605
  },
2370
2606
  targets: [
2371
- new LambdaFunction2(this.lambda, {
2607
+ new LambdaFunction3(this.lambda, {
2372
2608
  retryAttempts: 2,
2373
- maxEventAge: Duration7.hours(2)
2609
+ maxEventAge: Duration9.hours(2)
2374
2610
  })
2375
2611
  ]
2376
2612
  });
@@ -2378,8 +2614,8 @@ var SeedDemoDataLambda = class extends Construct13 {
2378
2614
  };
2379
2615
 
2380
2616
  // src/workflows/control-plane/seed-demo-data/seed-demo-data-workflow.ts
2381
- import { Construct as Construct14 } from "constructs";
2382
- var SeedDemoDataWorkflow = class extends Construct14 {
2617
+ import { Construct as Construct18 } from "constructs";
2618
+ var SeedDemoDataWorkflow = class extends Construct18 {
2383
2619
  constructor(scope, props) {
2384
2620
  super(scope, "seed-demo-data-workflow");
2385
2621
  this.seedDemoData = new SeedDemoDataLambda(this, {
@@ -2396,32 +2632,32 @@ var SeedDemoDataWorkflow = class extends Construct14 {
2396
2632
  };
2397
2633
 
2398
2634
  // src/workflows/control-plane/seed-system-data/seed-system-data-lambda.ts
2399
- import fs9 from "fs";
2400
- import path9 from "path";
2635
+ import fs11 from "fs";
2636
+ import path11 from "path";
2401
2637
  import { PLATFORM_ROLE_IDS } from "@openhi/types";
2402
- import { Duration as Duration8, Stack as Stack6 } from "aws-cdk-lib";
2403
- import { Rule as Rule3 } from "aws-cdk-lib/aws-events";
2404
- import { LambdaFunction as LambdaFunction3 } from "aws-cdk-lib/aws-events-targets";
2638
+ import { Duration as Duration10, Stack as Stack6 } from "aws-cdk-lib";
2639
+ import { Rule as Rule4 } from "aws-cdk-lib/aws-events";
2640
+ import { LambdaFunction as LambdaFunction4 } from "aws-cdk-lib/aws-events-targets";
2405
2641
  import { Effect as Effect4, PolicyStatement as PolicyStatement4 } from "aws-cdk-lib/aws-iam";
2406
- import { Runtime as Runtime9 } from "aws-cdk-lib/aws-lambda";
2407
- import { NodejsFunction as NodejsFunction9 } from "aws-cdk-lib/aws-lambda-nodejs";
2408
- import { Construct as Construct15 } from "constructs";
2409
- var HANDLER_NAME8 = "seed-system-data.handler.js";
2410
- function resolveHandlerEntry8(dirname) {
2411
- const sameDir = path9.join(dirname, HANDLER_NAME8);
2412
- if (fs9.existsSync(sameDir)) {
2642
+ import { Runtime as Runtime11 } from "aws-cdk-lib/aws-lambda";
2643
+ import { NodejsFunction as NodejsFunction11 } from "aws-cdk-lib/aws-lambda-nodejs";
2644
+ import { Construct as Construct19 } from "constructs";
2645
+ var HANDLER_NAME10 = "seed-system-data.handler.js";
2646
+ function resolveHandlerEntry10(dirname) {
2647
+ const sameDir = path11.join(dirname, HANDLER_NAME10);
2648
+ if (fs11.existsSync(sameDir)) {
2413
2649
  return sameDir;
2414
2650
  }
2415
- return path9.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME8);
2651
+ return path11.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME10);
2416
2652
  }
2417
- var SeedSystemDataLambda = class extends Construct15 {
2653
+ var SeedSystemDataLambda = class extends Construct19 {
2418
2654
  constructor(scope, props) {
2419
2655
  super(scope, "seed-system-data-lambda");
2420
- this.lambda = new NodejsFunction9(this, "handler", {
2421
- entry: resolveHandlerEntry8(__dirname),
2422
- runtime: Runtime9.NODEJS_LATEST,
2656
+ this.lambda = new NodejsFunction11(this, "handler", {
2657
+ entry: resolveHandlerEntry10(__dirname),
2658
+ runtime: Runtime11.NODEJS_LATEST,
2423
2659
  memorySize: 512,
2424
- timeout: Duration8.minutes(1),
2660
+ timeout: Duration10.minutes(1),
2425
2661
  environment: {
2426
2662
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName,
2427
2663
  [SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR]: props.controlEventBus.eventBusName
@@ -2444,11 +2680,11 @@ var SeedSystemDataLambda = class extends Construct15 {
2444
2680
  );
2445
2681
  props.controlEventBus.grantPutEventsTo(this.lambda);
2446
2682
  const hostStackName = Stack6.of(this).stackName;
2447
- this.rule = new Rule3(this, "rule", {
2683
+ this.rule = new Rule4(this, "rule", {
2448
2684
  eventBus: props.controlEventBus,
2449
2685
  eventPattern: {
2450
- source: [import_workflows2.PlatformDeploymentCompletedV1.source],
2451
- detailType: [import_workflows2.PlatformDeploymentCompletedV1.detailType],
2686
+ source: [import_workflows3.PlatformDeploymentCompletedV1.source],
2687
+ detailType: [import_workflows3.PlatformDeploymentCompletedV1.detailType],
2452
2688
  detail: {
2453
2689
  payload: {
2454
2690
  stackName: [hostStackName]
@@ -2456,9 +2692,9 @@ var SeedSystemDataLambda = class extends Construct15 {
2456
2692
  }
2457
2693
  },
2458
2694
  targets: [
2459
- new LambdaFunction3(this.lambda, {
2695
+ new LambdaFunction4(this.lambda, {
2460
2696
  retryAttempts: 2,
2461
- maxEventAge: Duration8.hours(2)
2697
+ maxEventAge: Duration10.hours(2)
2462
2698
  })
2463
2699
  ]
2464
2700
  });
@@ -2466,8 +2702,8 @@ var SeedSystemDataLambda = class extends Construct15 {
2466
2702
  };
2467
2703
 
2468
2704
  // src/workflows/control-plane/seed-system-data/seed-system-data-workflow.ts
2469
- import { Construct as Construct16 } from "constructs";
2470
- var SeedSystemDataWorkflow = class extends Construct16 {
2705
+ import { Construct as Construct20 } from "constructs";
2706
+ var SeedSystemDataWorkflow = class extends Construct20 {
2471
2707
  constructor(scope, props) {
2472
2708
  super(scope, "seed-system-data-workflow");
2473
2709
  this.seedSystemData = new SeedSystemDataLambda(this, {
@@ -2534,6 +2770,8 @@ var _OpenHiDataService = class _OpenHiDataService extends OpenHiService {
2534
2770
  );
2535
2771
  this.seedSystemDataWorkflow = this.createSeedSystemDataWorkflow();
2536
2772
  this.seedDemoDataWorkflow = this.createSeedDemoDataWorkflow();
2773
+ this.counterMaintenanceWorkflow = this.createCounterMaintenanceWorkflow();
2774
+ this.counterReconciliationWorkflow = this.createCounterReconciliationWorkflow();
2537
2775
  }
2538
2776
  /**
2539
2777
  * Returns the data store table by name. Use from other stacks (e.g. REST API Lambda) to obtain an ITable reference.
@@ -2580,6 +2818,28 @@ var _OpenHiDataService = class _OpenHiDataService extends OpenHiService {
2580
2818
  userPool: OpenHiAuthService.userPoolFromConstruct(this)
2581
2819
  });
2582
2820
  }
2821
+ /**
2822
+ * Creates the ADR-028 counter-maintenance workflow. Override to
2823
+ * customize. Mounted on every stage — the denormalized counters back
2824
+ * the admin console list columns in prod and non-prod alike.
2825
+ */
2826
+ createCounterMaintenanceWorkflow() {
2827
+ return new CounterMaintenanceWorkflow(this, {
2828
+ controlEventBus: this.controlEventBus(),
2829
+ dataStoreTable: this.dataStore
2830
+ });
2831
+ }
2832
+ /**
2833
+ * Creates the ADR-028 counter-reconciliation job (#1319). Override to
2834
+ * customize. Mounted on every stage — the recompute-and-repair backstop
2835
+ * is the correctness authority for the denormalized counters in prod
2836
+ * and non-prod alike. On-demand only (no EventBridge trigger).
2837
+ */
2838
+ createCounterReconciliationWorkflow() {
2839
+ return new CounterReconciliationWorkflow(this, {
2840
+ dataStoreTable: this.dataStore
2841
+ });
2842
+ }
2583
2843
  /**
2584
2844
  * Creates the single-table DynamoDB data store.
2585
2845
  * Override to customize.
@@ -2612,6 +2872,7 @@ import {
2612
2872
  } from "aws-cdk-lib/aws-apigatewayv2";
2613
2873
  import { HttpUserPoolAuthorizer } from "aws-cdk-lib/aws-apigatewayv2-authorizers";
2614
2874
  import { HttpLambdaIntegration } from "aws-cdk-lib/aws-apigatewayv2-integrations";
2875
+ import { EventBus as EventBus5 } from "aws-cdk-lib/aws-events";
2615
2876
  import { Effect as Effect5, PolicyStatement as PolicyStatement5 } from "aws-cdk-lib/aws-iam";
2616
2877
  import {
2617
2878
  ARecord as ARecord3,
@@ -2619,56 +2880,56 @@ import {
2619
2880
  RecordTarget as RecordTarget3
2620
2881
  } from "aws-cdk-lib/aws-route53";
2621
2882
  import { ApiGatewayv2DomainProperties } from "aws-cdk-lib/aws-route53-targets";
2622
- import { Duration as Duration9 } from "aws-cdk-lib/core";
2623
- import { Construct as Construct19 } from "constructs";
2883
+ import { Duration as Duration11 } from "aws-cdk-lib/core";
2884
+ import { Construct as Construct23 } from "constructs";
2624
2885
 
2625
2886
  // src/data/lambda/cors-options-lambda.ts
2626
- import fs10 from "fs";
2627
- import path10 from "path";
2628
- import { Runtime as Runtime10 } from "aws-cdk-lib/aws-lambda";
2629
- import { NodejsFunction as NodejsFunction10 } from "aws-cdk-lib/aws-lambda-nodejs";
2630
- import { Construct as Construct17 } from "constructs";
2631
- var HANDLER_NAME9 = "cors-options-lambda.handler.js";
2632
- function resolveHandlerEntry9(dirname) {
2633
- const sameDir = path10.join(dirname, HANDLER_NAME9);
2634
- if (fs10.existsSync(sameDir)) {
2887
+ import fs12 from "fs";
2888
+ import path12 from "path";
2889
+ import { Runtime as Runtime12 } from "aws-cdk-lib/aws-lambda";
2890
+ import { NodejsFunction as NodejsFunction12 } from "aws-cdk-lib/aws-lambda-nodejs";
2891
+ import { Construct as Construct21 } from "constructs";
2892
+ var HANDLER_NAME11 = "cors-options-lambda.handler.js";
2893
+ function resolveHandlerEntry11(dirname) {
2894
+ const sameDir = path12.join(dirname, HANDLER_NAME11);
2895
+ if (fs12.existsSync(sameDir)) {
2635
2896
  return sameDir;
2636
2897
  }
2637
- const fromLib = path10.join(dirname, "..", "..", "..", "lib", HANDLER_NAME9);
2898
+ const fromLib = path12.join(dirname, "..", "..", "..", "lib", HANDLER_NAME11);
2638
2899
  return fromLib;
2639
2900
  }
2640
- var CorsOptionsLambda = class extends Construct17 {
2901
+ var CorsOptionsLambda = class extends Construct21 {
2641
2902
  constructor(scope, id = "cors-options-lambda") {
2642
2903
  super(scope, id);
2643
- this.lambda = new NodejsFunction10(this, "handler", {
2644
- entry: resolveHandlerEntry9(__dirname),
2645
- runtime: Runtime10.NODEJS_LATEST,
2904
+ this.lambda = new NodejsFunction12(this, "handler", {
2905
+ entry: resolveHandlerEntry11(__dirname),
2906
+ runtime: Runtime12.NODEJS_LATEST,
2646
2907
  memorySize: 128
2647
2908
  });
2648
2909
  }
2649
2910
  };
2650
2911
 
2651
2912
  // src/data/lambda/rest-api-lambda.ts
2652
- import fs11 from "fs";
2653
- import path11 from "path";
2654
- import { Runtime as Runtime11 } from "aws-cdk-lib/aws-lambda";
2655
- import { NodejsFunction as NodejsFunction11 } from "aws-cdk-lib/aws-lambda-nodejs";
2656
- import { Construct as Construct18 } from "constructs";
2657
- var HANDLER_NAME10 = "rest-api-lambda.handler.js";
2658
- function resolveHandlerEntry10(dirname) {
2659
- const sameDir = path11.join(dirname, HANDLER_NAME10);
2660
- if (fs11.existsSync(sameDir)) {
2913
+ import fs13 from "fs";
2914
+ import path13 from "path";
2915
+ import { Runtime as Runtime13 } from "aws-cdk-lib/aws-lambda";
2916
+ import { NodejsFunction as NodejsFunction13 } from "aws-cdk-lib/aws-lambda-nodejs";
2917
+ import { Construct as Construct22 } from "constructs";
2918
+ var HANDLER_NAME12 = "rest-api-lambda.handler.js";
2919
+ function resolveHandlerEntry12(dirname) {
2920
+ const sameDir = path13.join(dirname, HANDLER_NAME12);
2921
+ if (fs13.existsSync(sameDir)) {
2661
2922
  return sameDir;
2662
2923
  }
2663
- const fromLib = path11.join(dirname, "..", "..", "..", "lib", HANDLER_NAME10);
2924
+ const fromLib = path13.join(dirname, "..", "..", "..", "lib", HANDLER_NAME12);
2664
2925
  return fromLib;
2665
2926
  }
2666
- var RestApiLambda = class extends Construct18 {
2927
+ var RestApiLambda = class extends Construct22 {
2667
2928
  constructor(scope, props) {
2668
2929
  super(scope, "rest-api-lambda");
2669
- this.lambda = new NodejsFunction11(this, "handler", {
2670
- entry: resolveHandlerEntry10(__dirname),
2671
- runtime: Runtime11.NODEJS_LATEST,
2930
+ this.lambda = new NodejsFunction13(this, "handler", {
2931
+ entry: resolveHandlerEntry12(__dirname),
2932
+ runtime: Runtime13.NODEJS_LATEST,
2672
2933
  memorySize: 1024,
2673
2934
  environment: {
2674
2935
  DYNAMO_TABLE_NAME: props.dynamoTableName,
@@ -2678,6 +2939,7 @@ var RestApiLambda = class extends Construct18 {
2678
2939
  OPENHI_PG_SECRET_ARN: props.postgresSecretArn,
2679
2940
  OPENHI_PG_DATABASE: props.postgresDatabase,
2680
2941
  OPENHI_PG_SCHEMA: props.postgresSchema,
2942
+ CONTROL_EVENT_BUS_NAME: props.controlEventBusName,
2681
2943
  ...props.extraEnvironment
2682
2944
  },
2683
2945
  bundling: {
@@ -2861,6 +3123,7 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
2861
3123
  const postgresDatabase = DataStorePostgresReplica.databaseNameFromConstruct(this);
2862
3124
  const postgresSchema = getPostgresReplicaSchemaName(this.branchHash);
2863
3125
  const extraEnvironment = this.resolveRuntimeConfigEnvVars();
3126
+ const controlEventBusName = ControlEventBus.getEventBusName(this);
2864
3127
  const { lambda } = new RestApiLambda(this, {
2865
3128
  dynamoTableName: dataStoreTable.tableName,
2866
3129
  branchTagValue: this.branchName,
@@ -2869,8 +3132,14 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
2869
3132
  postgresSecretArn,
2870
3133
  postgresDatabase,
2871
3134
  postgresSchema,
3135
+ controlEventBusName,
2872
3136
  extraEnvironment
2873
3137
  });
3138
+ EventBus5.fromEventBusName(
3139
+ this,
3140
+ "control-event-bus-ref",
3141
+ controlEventBusName
3142
+ ).grantPutEventsTo(lambda);
2874
3143
  lambda.addToRolePolicy(
2875
3144
  new PolicyStatement5({
2876
3145
  effect: Effect5.ALLOW,
@@ -3068,7 +3337,7 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
3068
3337
  ],
3069
3338
  allowHeaders: cors?.allowHeaders ?? ["Content-Type", "Authorization"],
3070
3339
  allowCredentials: cors?.allowCredentials ?? true,
3071
- maxAge: cors?.maxAge ?? Duration9.days(1),
3340
+ maxAge: cors?.maxAge ?? Duration11.days(1),
3072
3341
  ...cors?.exposeHeaders !== void 0 && {
3073
3342
  exposeHeaders: cors.exposeHeaders
3074
3343
  }
@@ -3086,7 +3355,7 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
3086
3355
  * client-side from `window.location.origin`.
3087
3356
  */
3088
3357
  resolveRuntimeConfigEnvVars() {
3089
- const cognitoScope = new Construct19(this, "runtime-config");
3358
+ const cognitoScope = new Construct23(this, "runtime-config");
3090
3359
  const userPool = OpenHiAuthService.userPoolFromConstruct(cognitoScope);
3091
3360
  const userPoolClient = OpenHiAuthService.userPoolClientFromConstruct(cognitoScope);
3092
3361
  const cognitoDomainUrl = OpenHiAuthService.userPoolDomainBaseUrlFromConstruct(cognitoScope);
@@ -3422,29 +3691,29 @@ _OpenHiWebsiteService.ADMIN_CONSOLE_ENDPOINT_OUTPUT_NAME = "AdminConsoleEndpoint
3422
3691
  var OpenHiWebsiteService = _OpenHiWebsiteService;
3423
3692
 
3424
3693
  // src/workflows/control-plane/user-onboarding/provision-default-workspace-lambda.ts
3425
- import fs12 from "fs";
3426
- import path12 from "path";
3427
- import { Duration as Duration10 } from "aws-cdk-lib";
3428
- import { Rule as Rule4 } from "aws-cdk-lib/aws-events";
3429
- import { LambdaFunction as LambdaFunction4 } from "aws-cdk-lib/aws-events-targets";
3694
+ import fs14 from "fs";
3695
+ import path14 from "path";
3696
+ import { Duration as Duration12 } from "aws-cdk-lib";
3697
+ import { Rule as Rule5 } from "aws-cdk-lib/aws-events";
3698
+ import { LambdaFunction as LambdaFunction5 } from "aws-cdk-lib/aws-events-targets";
3430
3699
  import { Effect as Effect6, PolicyStatement as PolicyStatement6 } from "aws-cdk-lib/aws-iam";
3431
- import { Runtime as Runtime12 } from "aws-cdk-lib/aws-lambda";
3432
- import { NodejsFunction as NodejsFunction12 } from "aws-cdk-lib/aws-lambda-nodejs";
3433
- import { Construct as Construct20 } from "constructs";
3434
- var HANDLER_NAME11 = "provision-default-workspace.handler.js";
3435
- function resolveHandlerEntry11(dirname) {
3436
- const sameDir = path12.join(dirname, HANDLER_NAME11);
3437
- if (fs12.existsSync(sameDir)) {
3700
+ import { Runtime as Runtime14 } from "aws-cdk-lib/aws-lambda";
3701
+ import { NodejsFunction as NodejsFunction14 } from "aws-cdk-lib/aws-lambda-nodejs";
3702
+ import { Construct as Construct24 } from "constructs";
3703
+ var HANDLER_NAME13 = "provision-default-workspace.handler.js";
3704
+ function resolveHandlerEntry13(dirname) {
3705
+ const sameDir = path14.join(dirname, HANDLER_NAME13);
3706
+ if (fs14.existsSync(sameDir)) {
3438
3707
  return sameDir;
3439
3708
  }
3440
- return path12.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME11);
3709
+ return path14.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME13);
3441
3710
  }
3442
- var ProvisionDefaultWorkspaceLambda = class extends Construct20 {
3711
+ var ProvisionDefaultWorkspaceLambda = class extends Construct24 {
3443
3712
  constructor(scope, props) {
3444
3713
  super(scope, "provision-default-workspace-lambda");
3445
- this.lambda = new NodejsFunction12(this, "handler", {
3446
- entry: resolveHandlerEntry11(__dirname),
3447
- runtime: Runtime12.NODEJS_LATEST,
3714
+ this.lambda = new NodejsFunction14(this, "handler", {
3715
+ entry: resolveHandlerEntry13(__dirname),
3716
+ runtime: Runtime14.NODEJS_LATEST,
3448
3717
  memorySize: 1024,
3449
3718
  environment: {
3450
3719
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
@@ -3462,16 +3731,16 @@ var ProvisionDefaultWorkspaceLambda = class extends Construct20 {
3462
3731
  resources: [`${props.dataStoreTable.tableArn}/index/*`]
3463
3732
  })
3464
3733
  );
3465
- this.rule = new Rule4(this, "rule", {
3734
+ this.rule = new Rule5(this, "rule", {
3466
3735
  eventBus: props.controlEventBus,
3467
3736
  eventPattern: {
3468
3737
  source: [USER_ONBOARDING_EVENT_SOURCE],
3469
3738
  detailType: [PROVISION_DEFAULT_WORKSPACE_DETAIL_TYPE]
3470
3739
  },
3471
3740
  targets: [
3472
- new LambdaFunction4(this.lambda, {
3741
+ new LambdaFunction5(this.lambda, {
3473
3742
  retryAttempts: 2,
3474
- maxEventAge: Duration10.hours(2)
3743
+ maxEventAge: Duration12.hours(2)
3475
3744
  })
3476
3745
  ]
3477
3746
  });
@@ -3479,8 +3748,8 @@ var ProvisionDefaultWorkspaceLambda = class extends Construct20 {
3479
3748
  };
3480
3749
 
3481
3750
  // src/workflows/control-plane/user-onboarding/user-onboarding-workflow.ts
3482
- import { Construct as Construct21 } from "constructs";
3483
- var UserOnboardingWorkflow = class extends Construct21 {
3751
+ import { Construct as Construct25 } from "constructs";
3752
+ var UserOnboardingWorkflow = class extends Construct25 {
3484
3753
  constructor(scope, props) {
3485
3754
  super(scope, "user-onboarding-workflow");
3486
3755
  this.provisionDefaultWorkspace = new ProvisionDefaultWorkspaceLambda(this, {
@@ -3904,47 +4173,47 @@ _OpenHiGraphqlService.SERVICE_TYPE = "graphql-api";
3904
4173
  var OpenHiGraphqlService = _OpenHiGraphqlService;
3905
4174
 
3906
4175
  // src/workflows/control-plane/owning-delete-cascade/owning-delete-cascade-lambdas.ts
3907
- import fs13 from "fs";
3908
- import path13 from "path";
3909
- import { Duration as Duration11 } from "aws-cdk-lib";
4176
+ import fs15 from "fs";
4177
+ import path15 from "path";
4178
+ import { Duration as Duration13 } from "aws-cdk-lib";
3910
4179
  import { Effect as Effect8, PolicyStatement as PolicyStatement8 } from "aws-cdk-lib/aws-iam";
3911
- import { Runtime as Runtime13 } from "aws-cdk-lib/aws-lambda";
3912
- import { NodejsFunction as NodejsFunction13 } from "aws-cdk-lib/aws-lambda-nodejs";
3913
- import { Construct as Construct22 } from "constructs";
3914
- function resolveHandlerEntry12(dirname, handlerName) {
3915
- const sameDir = path13.join(dirname, handlerName);
3916
- if (fs13.existsSync(sameDir)) {
4180
+ import { Runtime as Runtime15 } from "aws-cdk-lib/aws-lambda";
4181
+ import { NodejsFunction as NodejsFunction15 } from "aws-cdk-lib/aws-lambda-nodejs";
4182
+ import { Construct as Construct26 } from "constructs";
4183
+ function resolveHandlerEntry14(dirname, handlerName) {
4184
+ const sameDir = path15.join(dirname, handlerName);
4185
+ if (fs15.existsSync(sameDir)) {
3917
4186
  return { entry: sameDir, handler: "handler" };
3918
4187
  }
3919
- const libDir = path13.join(dirname, "..", "..", "..", "..", "lib", handlerName);
4188
+ const libDir = path15.join(dirname, "..", "..", "..", "..", "lib", handlerName);
3920
4189
  return { entry: libDir, handler: "handler" };
3921
4190
  }
3922
- var OwningDeleteCascadeLambdas = class extends Construct22 {
4191
+ var OwningDeleteCascadeLambdas = class extends Construct26 {
3923
4192
  constructor(scope, props) {
3924
4193
  super(scope, "owning-delete-cascade-lambdas");
3925
- const listResolved = resolveHandlerEntry12(
4194
+ const listResolved = resolveHandlerEntry14(
3926
4195
  __dirname,
3927
4196
  "list-chunks.handler.js"
3928
4197
  );
3929
- this.listChunks = new NodejsFunction13(this, "list-chunks-handler", {
4198
+ this.listChunks = new NodejsFunction15(this, "list-chunks-handler", {
3930
4199
  entry: listResolved.entry,
3931
- runtime: Runtime13.NODEJS_LATEST,
4200
+ runtime: Runtime15.NODEJS_LATEST,
3932
4201
  memorySize: 512,
3933
- timeout: Duration11.minutes(1),
4202
+ timeout: Duration13.minutes(1),
3934
4203
  environment: {
3935
4204
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
3936
4205
  }
3937
4206
  });
3938
4207
  props.dataStoreTable.grant(this.listChunks, "dynamodb:Query");
3939
- const deleteResolved = resolveHandlerEntry12(
4208
+ const deleteResolved = resolveHandlerEntry14(
3940
4209
  __dirname,
3941
4210
  "delete-chunk.handler.js"
3942
4211
  );
3943
- this.deleteChunk = new NodejsFunction13(this, "delete-chunk-handler", {
4212
+ this.deleteChunk = new NodejsFunction15(this, "delete-chunk-handler", {
3944
4213
  entry: deleteResolved.entry,
3945
- runtime: Runtime13.NODEJS_LATEST,
4214
+ runtime: Runtime15.NODEJS_LATEST,
3946
4215
  memorySize: 512,
3947
- timeout: Duration11.minutes(1),
4216
+ timeout: Duration13.minutes(1),
3948
4217
  environment: {
3949
4218
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
3950
4219
  }
@@ -3955,15 +4224,15 @@ var OwningDeleteCascadeLambdas = class extends Construct22 {
3955
4224
  "dynamodb:UpdateItem",
3956
4225
  "dynamodb:PutItem"
3957
4226
  );
3958
- const finalizeResolved = resolveHandlerEntry12(
4227
+ const finalizeResolved = resolveHandlerEntry14(
3959
4228
  __dirname,
3960
4229
  "finalize.handler.js"
3961
4230
  );
3962
- this.finalize = new NodejsFunction13(this, "finalize-handler", {
4231
+ this.finalize = new NodejsFunction15(this, "finalize-handler", {
3963
4232
  entry: finalizeResolved.entry,
3964
- runtime: Runtime13.NODEJS_LATEST,
4233
+ runtime: Runtime15.NODEJS_LATEST,
3965
4234
  memorySize: 512,
3966
- timeout: Duration11.minutes(1),
4235
+ timeout: Duration13.minutes(1),
3967
4236
  environment: {
3968
4237
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName,
3969
4238
  [OWNING_DELETE_OPS_EVENT_BUS_ENV_VAR]: props.opsEventBus.eventBusName
@@ -3981,8 +4250,8 @@ var OwningDeleteCascadeLambdas = class extends Construct22 {
3981
4250
  };
3982
4251
 
3983
4252
  // src/workflows/control-plane/owning-delete-cascade/owning-delete-cascade-workflow.ts
3984
- import { Duration as Duration12 } from "aws-cdk-lib";
3985
- import { Rule as Rule5 } from "aws-cdk-lib/aws-events";
4253
+ import { Duration as Duration14 } from "aws-cdk-lib";
4254
+ import { Rule as Rule6 } from "aws-cdk-lib/aws-events";
3986
4255
  import { SfnStateMachine } from "aws-cdk-lib/aws-events-targets";
3987
4256
  import {
3988
4257
  Choice,
@@ -3997,8 +4266,8 @@ import {
3997
4266
  WaitTime
3998
4267
  } from "aws-cdk-lib/aws-stepfunctions";
3999
4268
  import { LambdaInvoke } from "aws-cdk-lib/aws-stepfunctions-tasks";
4000
- import { Construct as Construct23 } from "constructs";
4001
- var OwningDeleteCascadeWorkflow = class extends Construct23 {
4269
+ import { Construct as Construct27 } from "constructs";
4270
+ var OwningDeleteCascadeWorkflow = class extends Construct27 {
4002
4271
  constructor(scope, props) {
4003
4272
  super(scope, "owning-delete-cascade-workflow");
4004
4273
  this.lambdas = new OwningDeleteCascadeLambdas(this, {
@@ -4107,7 +4376,7 @@ var OwningDeleteCascadeWorkflow = class extends Construct23 {
4107
4376
  }
4108
4377
  });
4109
4378
  const interPageWait = new Wait(this, "inter-page-wait", {
4110
- time: WaitTime.duration(Duration12.seconds(0))
4379
+ time: WaitTime.duration(Duration14.seconds(0))
4111
4380
  });
4112
4381
  const isExhausted = new Choice(this, "is-exhausted");
4113
4382
  const finalize = new LambdaInvoke(this, "finalize", {
@@ -4138,18 +4407,18 @@ var OwningDeleteCascadeWorkflow = class extends Construct23 {
4138
4407
  // Long timeout because real-world cascades can run minutes when
4139
4408
  // a workspace has thousands of members. The stuck-cascade alarm
4140
4409
  // fires at 15 minutes; the state machine itself does not abort.
4141
- timeout: Duration12.hours(2)
4410
+ timeout: Duration14.hours(2)
4142
4411
  });
4143
- this.rule = new Rule5(this, "rule", {
4412
+ this.rule = new Rule6(this, "rule", {
4144
4413
  eventBus: props.dataEventBus,
4145
4414
  eventPattern: {
4146
- source: [import_workflows3.OPENHI_DATA_SOURCE],
4147
- detailType: [import_workflows3.ControlPlaneOwningDeleteV1.detailType]
4415
+ source: [import_workflows4.OPENHI_DATA_SOURCE],
4416
+ detailType: [import_workflows4.ControlPlaneOwningDeleteV1.detailType]
4148
4417
  },
4149
4418
  targets: [
4150
4419
  new SfnStateMachine(this.stateMachine, {
4151
4420
  retryAttempts: 2,
4152
- maxEventAge: Duration12.hours(2)
4421
+ maxEventAge: Duration14.hours(2)
4153
4422
  })
4154
4423
  ]
4155
4424
  });
@@ -4157,47 +4426,47 @@ var OwningDeleteCascadeWorkflow = class extends Construct23 {
4157
4426
  };
4158
4427
 
4159
4428
  // src/workflows/control-plane/rename-cascade/rename-cascade-lambdas.ts
4160
- import fs14 from "fs";
4161
- import path14 from "path";
4162
- import { Duration as Duration13 } from "aws-cdk-lib";
4429
+ import fs16 from "fs";
4430
+ import path16 from "path";
4431
+ import { Duration as Duration15 } from "aws-cdk-lib";
4163
4432
  import { Effect as Effect9, PolicyStatement as PolicyStatement9 } from "aws-cdk-lib/aws-iam";
4164
- import { Runtime as Runtime14 } from "aws-cdk-lib/aws-lambda";
4165
- import { NodejsFunction as NodejsFunction14 } from "aws-cdk-lib/aws-lambda-nodejs";
4166
- import { Construct as Construct24 } from "constructs";
4167
- function resolveHandlerEntry13(dirname, handlerName) {
4168
- const sameDir = path14.join(dirname, handlerName);
4169
- if (fs14.existsSync(sameDir)) {
4433
+ import { Runtime as Runtime16 } from "aws-cdk-lib/aws-lambda";
4434
+ import { NodejsFunction as NodejsFunction16 } from "aws-cdk-lib/aws-lambda-nodejs";
4435
+ import { Construct as Construct28 } from "constructs";
4436
+ function resolveHandlerEntry15(dirname, handlerName) {
4437
+ const sameDir = path16.join(dirname, handlerName);
4438
+ if (fs16.existsSync(sameDir)) {
4170
4439
  return { entry: sameDir, handler: "handler" };
4171
4440
  }
4172
- const libDir = path14.join(dirname, "..", "..", "..", "..", "lib", handlerName);
4441
+ const libDir = path16.join(dirname, "..", "..", "..", "..", "lib", handlerName);
4173
4442
  return { entry: libDir, handler: "handler" };
4174
4443
  }
4175
- var RenameCascadeLambdas = class extends Construct24 {
4444
+ var RenameCascadeLambdas = class extends Construct28 {
4176
4445
  constructor(scope, props) {
4177
4446
  super(scope, "rename-cascade-lambdas");
4178
- const listResolved = resolveHandlerEntry13(
4447
+ const listResolved = resolveHandlerEntry15(
4179
4448
  __dirname,
4180
4449
  "rename-list-targets.handler.js"
4181
4450
  );
4182
- this.listTargets = new NodejsFunction14(this, "list-targets-handler", {
4451
+ this.listTargets = new NodejsFunction16(this, "list-targets-handler", {
4183
4452
  entry: listResolved.entry,
4184
- runtime: Runtime14.NODEJS_LATEST,
4453
+ runtime: Runtime16.NODEJS_LATEST,
4185
4454
  memorySize: 512,
4186
- timeout: Duration13.minutes(1),
4455
+ timeout: Duration15.minutes(1),
4187
4456
  environment: {
4188
4457
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
4189
4458
  }
4190
4459
  });
4191
4460
  props.dataStoreTable.grant(this.listTargets, "dynamodb:Query");
4192
- const rewriteResolved = resolveHandlerEntry13(
4461
+ const rewriteResolved = resolveHandlerEntry15(
4193
4462
  __dirname,
4194
4463
  "rename-rewrite-chunk.handler.js"
4195
4464
  );
4196
- this.rewriteChunk = new NodejsFunction14(this, "rewrite-chunk-handler", {
4465
+ this.rewriteChunk = new NodejsFunction16(this, "rewrite-chunk-handler", {
4197
4466
  entry: rewriteResolved.entry,
4198
- runtime: Runtime14.NODEJS_LATEST,
4467
+ runtime: Runtime16.NODEJS_LATEST,
4199
4468
  memorySize: 512,
4200
- timeout: Duration13.minutes(1),
4469
+ timeout: Duration15.minutes(1),
4201
4470
  environment: {
4202
4471
  DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
4203
4472
  }
@@ -4208,15 +4477,15 @@ var RenameCascadeLambdas = class extends Construct24 {
4208
4477
  "dynamodb:PutItem",
4209
4478
  "dynamodb:UpdateItem"
4210
4479
  );
4211
- const finalizeResolved = resolveHandlerEntry13(
4480
+ const finalizeResolved = resolveHandlerEntry15(
4212
4481
  __dirname,
4213
4482
  "rename-finalize.handler.js"
4214
4483
  );
4215
- this.finalize = new NodejsFunction14(this, "finalize-handler", {
4484
+ this.finalize = new NodejsFunction16(this, "finalize-handler", {
4216
4485
  entry: finalizeResolved.entry,
4217
- runtime: Runtime14.NODEJS_LATEST,
4486
+ runtime: Runtime16.NODEJS_LATEST,
4218
4487
  memorySize: 512,
4219
- timeout: Duration13.minutes(1),
4488
+ timeout: Duration15.minutes(1),
4220
4489
  environment: {
4221
4490
  [RENAME_CASCADE_OPS_EVENT_BUS_ENV_VAR]: props.opsEventBus.eventBusName
4222
4491
  }
@@ -4232,8 +4501,8 @@ var RenameCascadeLambdas = class extends Construct24 {
4232
4501
  };
4233
4502
 
4234
4503
  // src/workflows/control-plane/rename-cascade/rename-cascade-workflow.ts
4235
- import { Duration as Duration14 } from "aws-cdk-lib";
4236
- import { Rule as Rule6 } from "aws-cdk-lib/aws-events";
4504
+ import { Duration as Duration16 } from "aws-cdk-lib";
4505
+ import { Rule as Rule7 } from "aws-cdk-lib/aws-events";
4237
4506
  import { SfnStateMachine as SfnStateMachine2 } from "aws-cdk-lib/aws-events-targets";
4238
4507
  import {
4239
4508
  Choice as Choice2,
@@ -4246,8 +4515,8 @@ import {
4246
4515
  TaskInput as TaskInput2
4247
4516
  } from "aws-cdk-lib/aws-stepfunctions";
4248
4517
  import { LambdaInvoke as LambdaInvoke2 } from "aws-cdk-lib/aws-stepfunctions-tasks";
4249
- import { Construct as Construct25 } from "constructs";
4250
- var RenameCascadeWorkflow = class extends Construct25 {
4518
+ import { Construct as Construct29 } from "constructs";
4519
+ var RenameCascadeWorkflow = class extends Construct29 {
4251
4520
  constructor(scope, props) {
4252
4521
  super(scope, "rename-cascade-workflow");
4253
4522
  this.lambdas = new RenameCascadeLambdas(this, {
@@ -4391,50 +4660,81 @@ var RenameCascadeWorkflow = class extends Construct25 {
4391
4660
  // Long timeout — large renames may rewrite thousands of rows;
4392
4661
  // the `CascadeSlow` alarm fires at 300s p99 but the state
4393
4662
  // machine itself does not abort.
4394
- timeout: Duration14.hours(2)
4663
+ timeout: Duration16.hours(2)
4395
4664
  });
4396
- this.rule = new Rule6(this, "rule", {
4665
+ this.rule = new Rule7(this, "rule", {
4397
4666
  eventBus: props.dataEventBus,
4398
4667
  eventPattern: {
4399
- source: [import_workflows4.OPENHI_DATA_SOURCE],
4400
- detailType: [import_workflows4.ControlPlaneRenameV1.detailType]
4668
+ source: [import_workflows5.OPENHI_DATA_SOURCE],
4669
+ detailType: [import_workflows5.ControlPlaneRenameV1.detailType]
4401
4670
  },
4402
4671
  targets: [
4403
4672
  new SfnStateMachine2(this.stateMachine, {
4404
4673
  retryAttempts: 2,
4405
- maxEventAge: Duration14.hours(2)
4674
+ maxEventAge: Duration16.hours(2)
4406
4675
  })
4407
4676
  ]
4408
4677
  });
4409
4678
  }
4410
4679
  };
4411
- var export_ControlPlaneOwningDeleteCompleteV1 = import_workflows3.ControlPlaneOwningDeleteCompleteV1;
4412
- var export_ControlPlaneOwningDeleteFailedV1 = import_workflows3.ControlPlaneOwningDeleteFailedV1;
4413
- var export_ControlPlaneOwningDeleteV1 = import_workflows3.ControlPlaneOwningDeleteV1;
4414
- var export_ControlPlaneRenameCompleteV1 = import_workflows4.ControlPlaneRenameCompleteV1;
4415
- var export_ControlPlaneRenameFailedV1 = import_workflows4.ControlPlaneRenameFailedV1;
4416
- var export_ControlPlaneRenameV1 = import_workflows4.ControlPlaneRenameV1;
4417
- var export_OWNING_ENTITY_TYPE = import_workflows3.OWNING_ENTITY_TYPE;
4418
- var export_PlatformDeploymentCompletedV1 = import_workflows2.PlatformDeploymentCompletedV1;
4419
- var export_RENAMABLE_ENTITY_TYPE = import_workflows4.RENAMABLE_ENTITY_TYPE;
4680
+ var export_ControlPlaneMembershipCreatedV1 = import_workflows.ControlPlaneMembershipCreatedV1;
4681
+ var export_ControlPlaneMembershipDeletedV1 = import_workflows.ControlPlaneMembershipDeletedV1;
4682
+ var export_ControlPlaneOwningDeleteCompleteV1 = import_workflows4.ControlPlaneOwningDeleteCompleteV1;
4683
+ var export_ControlPlaneOwningDeleteFailedV1 = import_workflows4.ControlPlaneOwningDeleteFailedV1;
4684
+ var export_ControlPlaneOwningDeleteV1 = import_workflows4.ControlPlaneOwningDeleteV1;
4685
+ var export_ControlPlaneRenameCompleteV1 = import_workflows5.ControlPlaneRenameCompleteV1;
4686
+ var export_ControlPlaneRenameFailedV1 = import_workflows5.ControlPlaneRenameFailedV1;
4687
+ var export_ControlPlaneRenameV1 = import_workflows5.ControlPlaneRenameV1;
4688
+ var export_ControlPlaneRoleAssignmentCreatedV1 = import_workflows.ControlPlaneRoleAssignmentCreatedV1;
4689
+ var export_ControlPlaneRoleAssignmentDeletedV1 = import_workflows.ControlPlaneRoleAssignmentDeletedV1;
4690
+ var export_ControlPlaneWorkspaceCreatedV1 = import_workflows.ControlPlaneWorkspaceCreatedV1;
4691
+ var export_ControlPlaneWorkspaceDeletedV1 = import_workflows.ControlPlaneWorkspaceDeletedV1;
4692
+ var export_OWNING_ENTITY_TYPE = import_workflows4.OWNING_ENTITY_TYPE;
4693
+ var export_PlatformDeploymentCompletedV1 = import_workflows3.PlatformDeploymentCompletedV1;
4694
+ var export_RENAMABLE_ENTITY_TYPE = import_workflows5.RENAMABLE_ENTITY_TYPE;
4420
4695
  export {
4421
4696
  ADMIN_DOMAIN_PREFIX,
4697
+ BLOCK_OCCURRENCES_PER_TEMPLATE,
4698
+ BLOCK_OCCURRENCE_WEEKS_FUTURE,
4699
+ BLOCK_OCCURRENCE_WEEKS_PAST,
4422
4700
  BRIDGED_STATUSES,
4701
+ CLAIM_WORKFLOW_STATUS,
4702
+ CLAIM_WORKFLOW_STATUS_EXTENSION_URL,
4703
+ CLAIM_WORKFLOW_STATUS_LAST_TRANSITION_SUB_EXTENSION_URL,
4704
+ CLAIM_WORKFLOW_STATUS_VALUE_SUB_EXTENSION_URL,
4423
4705
  CLOUDFORMATION_EVENT_SOURCE,
4424
4706
  CLOUDFORMATION_STACK_STATUS_CHANGE_DETAIL_TYPE,
4707
+ CONDITION_CLINICAL_STATUS_SYSTEM,
4425
4708
  CONTROL_EVENT_BUS_NAME_ENV_VAR,
4709
+ COUNTER_MAINTENANCE_CONSUMER_NAME,
4710
+ COUNTER_MAINTENANCE_DETAIL_TYPES,
4711
+ COVERAGE_PAYOR_TYPE_SYSTEM,
4712
+ COVERAGE_QMB_STATUS_EXTENSION_URL,
4713
+ COVERAGE_VERIFICATION_DATE_EXTENSION_URL,
4714
+ CPT_SYSTEM,
4715
+ CREDENTIALING_STATUS,
4426
4716
  ChildHostedZone,
4427
4717
  CognitoUserPool,
4428
4718
  CognitoUserPoolClient,
4429
4719
  CognitoUserPoolDomain,
4430
4720
  CognitoUserPoolKmsKey,
4431
4721
  ControlEventBus,
4722
+ export_ControlPlaneMembershipCreatedV1 as ControlPlaneMembershipCreatedV1,
4723
+ export_ControlPlaneMembershipDeletedV1 as ControlPlaneMembershipDeletedV1,
4432
4724
  export_ControlPlaneOwningDeleteCompleteV1 as ControlPlaneOwningDeleteCompleteV1,
4433
4725
  export_ControlPlaneOwningDeleteFailedV1 as ControlPlaneOwningDeleteFailedV1,
4434
4726
  export_ControlPlaneOwningDeleteV1 as ControlPlaneOwningDeleteV1,
4435
4727
  export_ControlPlaneRenameCompleteV1 as ControlPlaneRenameCompleteV1,
4436
4728
  export_ControlPlaneRenameFailedV1 as ControlPlaneRenameFailedV1,
4437
4729
  export_ControlPlaneRenameV1 as ControlPlaneRenameV1,
4730
+ export_ControlPlaneRoleAssignmentCreatedV1 as ControlPlaneRoleAssignmentCreatedV1,
4731
+ export_ControlPlaneRoleAssignmentDeletedV1 as ControlPlaneRoleAssignmentDeletedV1,
4732
+ export_ControlPlaneWorkspaceCreatedV1 as ControlPlaneWorkspaceCreatedV1,
4733
+ export_ControlPlaneWorkspaceDeletedV1 as ControlPlaneWorkspaceDeletedV1,
4734
+ CounterMaintenanceLambda,
4735
+ CounterMaintenanceWorkflow,
4736
+ CounterReconciliationLambda,
4737
+ CounterReconciliationWorkflow,
4438
4738
  DATA_STORE_CHANGE_DETAIL_MAX_UTF8_BYTES,
4439
4739
  DATA_STORE_CHANGE_DETAIL_TYPE,
4440
4740
  DEFAULT_PREVIEW_EXPIRATION_DAYS,
@@ -4444,13 +4744,48 @@ export {
4444
4744
  DEMO_URN_SYSTEM,
4445
4745
  DEV_CORS_ALLOW_ORIGINS,
4446
4746
  DEV_USERS,
4747
+ DIRECTOR_OF_NURSING_EMAIL_EXTENSION_URL,
4748
+ DIRECTOR_OF_NURSING_EXTENSION_URL,
4749
+ DIRECTOR_OF_NURSING_NAME_EXTENSION_URL,
4750
+ DIRECTOR_OF_NURSING_PHONE_EXTENSION_URL,
4751
+ DME_SUPPLIER_CATEGORY_CODE,
4447
4752
  DataEventBus,
4448
4753
  DataStoreHistoricalArchive,
4449
4754
  DataStorePostgresReplica,
4450
4755
  DiscoverableStringParameter,
4451
4756
  DynamoDbDataStore,
4757
+ ENCOUNTER_CLASS_FACILITY,
4758
+ ENCOUNTER_CLASS_HOME_HEALTH,
4759
+ ENCOUNTER_CLASS_SYSTEM,
4760
+ FHIR_ORGANIZATION_TYPE_SYSTEM,
4761
+ HOME_HEALTH_ELIGIBLE_EXTENSION_URL,
4762
+ HOME_HEALTH_VISITS_PAST,
4763
+ HOME_HEALTH_VISIT_CADENCE_DAYS_EXTENSION_URL,
4764
+ HOME_HEALTH_VISIT_CADENCE_OPTIONS,
4765
+ HOSPICE_EFFECTIVE_DATE_SUB_EXTENSION_URL,
4766
+ HOSPICE_STATUS_VALUE_SUB_EXTENSION_URL,
4767
+ INSURANCE_PAYOR_CATEGORY_CODE,
4768
+ INSURANCE_PAYOR_PLAN_TYPE_SYSTEM,
4452
4769
  LOCALHOST_OAUTH_CALLBACK_URLS,
4453
4770
  LOCALHOST_OAUTH_LOGOUT_URLS,
4771
+ LOINC_SYSTEM,
4772
+ ON_SITE_APPOINTMENT_TYPE_SYSTEM,
4773
+ ON_SITE_DEMO_BLOCK_CAPACITY_EXTENSION_URL,
4774
+ ON_SITE_DEMO_BLOCK_TEMPLATE_IDS,
4775
+ ON_SITE_DEMO_DIRECTORY_ORGANIZATIONS,
4776
+ ON_SITE_DEMO_DME_SUPPLIERS,
4777
+ ON_SITE_DEMO_DOCTORS,
4778
+ ON_SITE_DEMO_DOCTOR_IDS,
4779
+ ON_SITE_DEMO_FACILITIES,
4780
+ ON_SITE_DEMO_FACILITY_IDS,
4781
+ ON_SITE_DEMO_FIXTURES,
4782
+ ON_SITE_DEMO_INSURANCE_PAYORS,
4783
+ ON_SITE_DEMO_SCRIBES,
4784
+ ON_SITE_DEMO_SCRIBE_IDS,
4785
+ ON_SITE_DEMO_TENANT_ID,
4786
+ ON_SITE_DEMO_WORKSPACE_ID,
4787
+ ON_SITE_DIRECTORY_CATEGORY_SYSTEM,
4788
+ ON_SITE_STAFF_ID_SYSTEM,
4454
4789
  OPENHI_REPO_TAG_KEY_ENV_VAR,
4455
4790
  OPENHI_RESOURCE_URN_SYSTEM,
4456
4791
  OPENHI_TAG_KEY_PREFIX_ENV_VAR,
@@ -4476,6 +4811,21 @@ export {
4476
4811
  OpsEventBus,
4477
4812
  OwningDeleteCascadeLambdas,
4478
4813
  OwningDeleteCascadeWorkflow,
4814
+ PATIENT_ASSIGNED_BLOCK_TEMPLATE_EXTENSION_URL,
4815
+ PATIENT_ASSIGNED_HOME_HEALTH_PROVIDER_EXTENSION_URL,
4816
+ PATIENT_DEFAULT_CARE_LOCATION_EXTENSION_URL,
4817
+ PATIENT_DEFAULT_CARE_SETTING_EXTENSION_URL,
4818
+ PATIENT_HOSPICE_STATUS_EXTENSION_URL,
4819
+ PATIENT_RESIDENCY_ADMISSION_DATE_EXTENSION_URL,
4820
+ PATIENT_RESIDENCY_ROOM_EXTENSION_URL,
4821
+ PAYMENT_STATUS,
4822
+ PAYMENT_STATUS_SYSTEM,
4823
+ PAYOR_PLAN_TYPE_COMMERCIAL,
4824
+ PAYOR_PLAN_TYPE_MEDICARE,
4825
+ PAYOR_PLAN_TYPE_MEDICARE_ADVANTAGE,
4826
+ PAYOR_TYPE_COMMERCIAL,
4827
+ PAYOR_TYPE_MEDICARE,
4828
+ PAYOR_TYPE_MEDICARE_ADVANTAGE,
4479
4829
  PER_BRANCH_PREVIEW_PREFIX,
4480
4830
  PLACEHOLDER_TENANT_ID,
4481
4831
  PLACEHOLDER_WORKSPACE_ID,
@@ -4484,6 +4834,11 @@ export {
4484
4834
  POSTGRES_REPLICA_CLUSTER_ARN_SSM_NAME,
4485
4835
  POSTGRES_REPLICA_DATABASE_NAME_SSM_NAME,
4486
4836
  POSTGRES_REPLICA_SECRET_ARN_SSM_NAME,
4837
+ PRACTITIONER_CREDENTIALING_EXTENSION_URL,
4838
+ PRACTITIONER_CREDENTIALING_STATE_SUB_EXTENSION_URL,
4839
+ PRACTITIONER_CREDENTIALING_STATUS_SUB_EXTENSION_URL,
4840
+ PRACTITIONER_ROLE_PHYSICIAN,
4841
+ PRACTITIONER_ROLE_SCRIBE,
4487
4842
  PROVISION_DEFAULT_WORKSPACE_DETAIL_TYPE,
4488
4843
  PerBranchHostname,
4489
4844
  PlatformDeployBridge,
@@ -4493,6 +4848,8 @@ export {
4493
4848
  PostConfirmationLambda,
4494
4849
  PreTokenGenerationLambda,
4495
4850
  ProvisionDefaultWorkspaceLambda,
4851
+ QMB_EFFECTIVE_DATE_SUB_EXTENSION_URL,
4852
+ QMB_STATUS_VALUE_SUB_EXTENSION_URL,
4496
4853
  export_RENAMABLE_ENTITY_TYPE as RENAMABLE_ENTITY_TYPE,
4497
4854
  RENAME_CASCADE_CONSUMER_NAME,
4498
4855
  RENAME_CASCADE_DEFAULT_CONCURRENCY,
@@ -4511,7 +4868,9 @@ export {
4511
4868
  SEED_SYSTEM_DATA_ACTOR_SYSTEM,
4512
4869
  SEED_SYSTEM_DATA_CONSUMER_NAME,
4513
4870
  SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR,
4871
+ SNOMED_SYSTEM,
4514
4872
  SSM_PARAM_NAME_FULL_DOMAIN,
4873
+ STATE_MEDICAL_LICENSE_SYSTEM,
4515
4874
  STATIC_HOSTING_SERVICE_TYPE,
4516
4875
  SeedDemoDataLambda,
4517
4876
  SeedDemoDataWorkflow,
@@ -4519,22 +4878,70 @@ export {
4519
4878
  SeedSystemDataWorkflow,
4520
4879
  StaticContent,
4521
4880
  StaticHosting,
4881
+ TOTAL_HOME_HEALTH_PATIENTS,
4522
4882
  USER_ONBOARDING_EVENT_SOURCE,
4883
+ US_NPI_SYSTEM,
4523
4884
  UserOnboardingWorkflow,
4885
+ WOUND_DEPTH_CODE,
4886
+ WOUND_EXAM_PANEL_CODE,
4887
+ WOUND_EXAM_PANEL_DISPLAY,
4888
+ WOUND_LENGTH_CODE,
4889
+ WOUND_STATUS_CODE,
4890
+ WOUND_WIDTH_CODE,
4524
4891
  WorkflowDedupConsumerNameInvalidError,
4525
4892
  WorkflowDedupTable,
4526
4893
  WorkflowDedupTableDuplicateError,
4894
+ __resetOnSiteDemoClaimCachesForTests,
4895
+ __resetOnSiteDemoEncounterCachesForTests,
4896
+ buildCredentialingQualifications,
4527
4897
  buildFhirCurrentResourceChangeDetail,
4898
+ buildOnSiteDemoBlockAppointments,
4899
+ buildOnSiteDemoClaims,
4900
+ buildOnSiteDemoEncounters,
4901
+ buildOnSiteDemoFacilityCoverages,
4902
+ buildOnSiteDemoFacilityPatients,
4903
+ buildOnSiteDemoHomeHealthCoverages,
4904
+ buildOnSiteDemoHomeHealthPatients,
4905
+ buildOnSiteDemoPaymentNotices,
4906
+ buildOnSiteDemoWoundConditions,
4907
+ buildOnSiteDemoWoundObservations,
4908
+ buildOnSiteDemoWoundProcedures,
4528
4909
  buildProvisionDefaultWorkspaceRequestedDetail,
4529
4910
  computeBranchHash,
4530
4911
  demoMembershipId,
4531
4912
  demoRoleAssignmentId,
4532
4913
  demoRolesForUserInTenant,
4533
4914
  demoScenarioIdentifier,
4915
+ facilityPatientsForBlock,
4916
+ findOnSiteDemoBlockTemplate,
4917
+ findOnSiteDemoFacilityPatientBlock,
4918
+ findOnSiteDemoHomeHealthPatientProvider,
4919
+ findOnSiteDemoHomeHealthPatientVisitCadenceDays,
4534
4920
  getDynamoDbDataStoreTableName,
4535
4921
  getPostgresReplicaSchemaName,
4536
4922
  getWorkflowDedupTableName,
4923
+ homeHealthEligibleDoctors,
4924
+ onSiteDemoBilledEncounterIds,
4925
+ onSiteDemoClaimIds,
4926
+ onSiteDemoDmeSupplierIds,
4927
+ onSiteDemoEncounterIds,
4928
+ onSiteDemoEncounterMetadata,
4929
+ onSiteDemoEncountersForPatient,
4930
+ onSiteDemoFacilityPatientIds,
4931
+ onSiteDemoHomeHealthPatientIds,
4932
+ onSiteDemoInsurancePayorIds,
4933
+ onSiteDemoIntakeOnlyFacilityPatientIds,
4934
+ onSiteDemoIntakeOnlyHomeHealthPatientIds,
4935
+ onSiteDemoPaymentNoticeIds,
4936
+ onSiteDemoScheduledFacilityPatientIds,
4937
+ onSiteDemoScheduledHomeHealthPatientIds,
4938
+ onSiteDemoUnbilledEncounterIds,
4939
+ onSiteDemoWoundBearingPatientIds,
4940
+ onSiteDemoWoundProcedurePatientIds,
4537
4941
  openHiTagKey,
4538
- openhiResourceIdentifier
4942
+ openhiResourceIdentifier,
4943
+ practitionerCredentialingForDoctor,
4944
+ practitionerCredentialingForState,
4945
+ woundConditionIdForPatient
4539
4946
  };
4540
4947
  //# sourceMappingURL=index.mjs.map