@straiffi/archon 1.10.9 → 1.10.10

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 (159) hide show
  1. package/dist/client/assets/ActivityView-CRkM5TeN.js +1 -0
  2. package/dist/client/assets/GitHubActionsDialog-KFUiR00H.js +1 -0
  3. package/dist/client/assets/VerificationDialog-BIDttgiW.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BAIGV9Mj.js → architectureDiagram-3BPJPVTR-u0PSZlNP.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-B-5v5jSZ.js → blockDiagram-GPEHLZMM-DFXLHRIk.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-C6wU415o.js → c4Diagram-AAUBKEIU-Dvic8tCt.js} +1 -1
  7. package/dist/client/assets/channel-Dhv_uSKx.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-COmvX2tP.js → chunk-2J33WTMH-t5CxhRXJ.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-BlANptdY.js → chunk-3OPIFGDE-YHT1dP8Q.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-ETyA2_GU.js → chunk-5ZQYHXKU-DcxuI7lb.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-D5-DudwF.js → chunk-727SXJPM-D1F6DmrT.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-k1AJ4sA3.js → chunk-AQP2D5EJ-BIx6Ohbk.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-jfksXwY9.js → chunk-CSCIHK7Q-B355h6HA.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-CHj0FDj9.js → chunk-KSCS5N6A-CLHGYOLQ.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-1ODGxXhG.js → chunk-L5ZTLDWV-DFLYcMx8.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-Bgh9X2W0.js → chunk-LZXEDZCA-DtljFujX.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-DDkb3sp4.js → chunk-ND2GUHAM-CIuUQ86K.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-B6B8PZ_-.js → chunk-NZK2D7GU-CIwqlxek.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-DhiUIFgj.js → chunk-O5CBEL6O-W42BEPu4.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-Dzd0fbP3.js → chunk-WU5MYG2G-C_zuaNxV.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-9XKvSSLq.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Dbr5_49Y.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-DoNDMCXI.js → dagre-BM42HDAG-UKfIUJTP.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-ETDXSa5q.js → diagram-2AECGRRQ-Xn6yojqq.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-CgTUep7e.js → diagram-5GNKFQAL-BzpY1ZEl.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-BKTx2iRe.js → diagram-KO2AKTUF-Dyrvzvsg.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-9iEiScHT.js → diagram-LMA3HP47-AqImKwAr.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-UIZRh7Qa.js → diagram-OG6HWLK6-CaQQ46mi.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-BpNJmJva.js → erDiagram-TEJ5UH35-Dkw4Aa5u.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-C-rK0XZ1.js → flowDiagram-I6XJVG4X-CJTuGX9h.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-DWyfPvv_.js → ganttDiagram-6RSMTGT7-CidgOdS-.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-x71bzdc_.js → gitGraphDiagram-PVQCEYII-Bj02mIQj.js} +1 -1
  33. package/dist/client/assets/index-ClRB9YWJ.css +2 -0
  34. package/dist/client/assets/index-DBMdsTvy.js +276 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-CbRus0Xu.js → infoDiagram-5YYISTIA-GwJWfo_r.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DvaMHrgN.js → ishikawaDiagram-YF4QCWOH-rbrlWbUn.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-BQBu4YGn.js → journeyDiagram-JHISSGLW-BLi_uzQM.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-8rU-U7L1.js → kanban-definition-UN3LZRKU-ynlywm-_.js} +1 -1
  39. package/dist/client/assets/{line-CSZnwjLA.js → line-BNyTZBB4.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-CTOl2slE.js → mermaid-parser.core-CzUOsZAD.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-B9gr0Vqf.js → mermaid.core-K0QR6SzN.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-But1_PWQ.js → mindmap-definition-RKZ34NQL-BKcgqXm0.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-CnlVmfSG.js → pieDiagram-4H26LBE5-Bjx0lvDI.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Dww1ZGuR.js → quadrantDiagram-W4KKPZXB-CmUlgyUv.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-CNf_loe8.js → requirementDiagram-4Y6WPE33-Dj2mzg1y.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DBhi37Jj.js → sankeyDiagram-5OEKKPKP-DC--H6qf.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-B64hb4E4.js → sequenceDiagram-3UESZ5HK-BkNrt6Ra.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-DcS6oB-S.js → stateDiagram-AJRCARHV-BuxxRu1Y.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Cyo85GPN.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-Dq-4tXfh.js → timeline-definition-PNZ67QCA-Db3pCVSp.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-CeDklSE_.js → vennDiagram-CIIHVFJN-BgBSGThQ.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-D2cJISMm.js → wardleyDiagram-YWT4CUSO-BJhPdjYS.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-CBF-tTpF.js → xychartDiagram-2RQKCTM6-BY4Ra0kX.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +341 -4
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +172 -249
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agentRuns.js +14 -1
  60. package/dist/server/lib/agentRuns.js.map +1 -1
  61. package/dist/server/lib/automationLoopProjection.js +55 -12
  62. package/dist/server/lib/automationLoopProjection.js.map +1 -1
  63. package/dist/server/lib/automationProgression.js +2 -5
  64. package/dist/server/lib/automationProgression.js.map +1 -1
  65. package/dist/server/lib/automationResumeDecision.js +19 -1
  66. package/dist/server/lib/automationResumeDecision.js.map +1 -1
  67. package/dist/server/lib/buildControlEligibility.js +4 -0
  68. package/dist/server/lib/buildControlEligibility.js.map +1 -0
  69. package/dist/server/lib/buildExecutionAdmission.js +76 -0
  70. package/dist/server/lib/buildExecutionAdmission.js.map +1 -0
  71. package/dist/server/lib/buildSequenceResume.js +79 -0
  72. package/dist/server/lib/buildSequenceResume.js.map +1 -0
  73. package/dist/server/lib/buildWorkload.js +11 -0
  74. package/dist/server/lib/buildWorkload.js.map +1 -0
  75. package/dist/server/lib/checkAutoFixDetails.js +36 -1
  76. package/dist/server/lib/checkAutoFixDetails.js.map +1 -1
  77. package/dist/server/lib/executionRetry.js +13 -1
  78. package/dist/server/lib/executionRetry.js.map +1 -1
  79. package/dist/server/lib/executionRunAuthority.js +2 -2
  80. package/dist/server/lib/executionRunAuthority.js.map +1 -1
  81. package/dist/server/lib/executionTargets.js +7 -4
  82. package/dist/server/lib/executionTargets.js.map +1 -1
  83. package/dist/server/lib/executionTimeline.js +8 -13
  84. package/dist/server/lib/executionTimeline.js.map +1 -1
  85. package/dist/server/lib/executionTimelineHierarchy.js +83 -0
  86. package/dist/server/lib/executionTimelineHierarchy.js.map +1 -0
  87. package/dist/server/lib/failedBuildSequenceRecovery.js +133 -0
  88. package/dist/server/lib/failedBuildSequenceRecovery.js.map +1 -0
  89. package/dist/server/lib/hostRunSession.js +62 -0
  90. package/dist/server/lib/hostRunSession.js.map +1 -0
  91. package/dist/server/lib/hostServiceRecovery.js +159 -0
  92. package/dist/server/lib/hostServiceRecovery.js.map +1 -0
  93. package/dist/server/lib/hostServiceRunProvider.js +32 -0
  94. package/dist/server/lib/hostServiceRunProvider.js.map +1 -0
  95. package/dist/server/lib/mobileAccess.js +6 -2
  96. package/dist/server/lib/mobileAccess.js.map +1 -1
  97. package/dist/server/lib/projectAutoConfig.js +5 -2
  98. package/dist/server/lib/projectAutoConfig.js.map +1 -1
  99. package/dist/server/lib/projectTargets.js +8 -2
  100. package/dist/server/lib/projectTargets.js.map +1 -1
  101. package/dist/server/lib/projects.js +25 -1
  102. package/dist/server/lib/projects.js.map +1 -1
  103. package/dist/server/lib/reviewFindingReconciliation.js +9 -2
  104. package/dist/server/lib/reviewFindingReconciliation.js.map +1 -1
  105. package/dist/server/lib/reviewFindings.js +82 -21
  106. package/dist/server/lib/reviewFindings.js.map +1 -1
  107. package/dist/server/lib/reviewRepairAssessmentRecords.js +41 -0
  108. package/dist/server/lib/reviewRepairAssessmentRecords.js.map +1 -0
  109. package/dist/server/lib/reviewRepairCompletion.js +78 -18
  110. package/dist/server/lib/reviewRepairCompletion.js.map +1 -1
  111. package/dist/server/lib/reviewRepairIterationRecords.js +4 -2
  112. package/dist/server/lib/reviewRepairIterationRecords.js.map +1 -1
  113. package/dist/server/lib/reviewRepairIterations.js +8 -2
  114. package/dist/server/lib/reviewRepairIterations.js.map +1 -1
  115. package/dist/server/lib/reviewRepairProgress.js +177 -0
  116. package/dist/server/lib/reviewRepairProgress.js.map +1 -0
  117. package/dist/server/lib/reviewRepairReconciliation.js +119 -140
  118. package/dist/server/lib/reviewRepairReconciliation.js.map +1 -1
  119. package/dist/server/lib/reviewRepairResumeOverride.js +55 -0
  120. package/dist/server/lib/reviewRepairResumeOverride.js.map +1 -0
  121. package/dist/server/lib/run.js +523 -504
  122. package/dist/server/lib/run.js.map +1 -1
  123. package/dist/server/lib/runProcessIdentity.js +71 -0
  124. package/dist/server/lib/runProcessIdentity.js.map +1 -0
  125. package/dist/server/lib/runProcesses.js +261 -0
  126. package/dist/server/lib/runProcesses.js.map +1 -0
  127. package/dist/server/lib/runServices.js +221 -0
  128. package/dist/server/lib/runServices.js.map +1 -0
  129. package/dist/server/lib/runSessionLifecycle.js +68 -0
  130. package/dist/server/lib/runSessionLifecycle.js.map +1 -0
  131. package/dist/server/lib/runStatus.js +7 -0
  132. package/dist/server/lib/runStatus.js.map +1 -0
  133. package/dist/server/lib/serviceRuns.js +273 -16
  134. package/dist/server/lib/serviceRuns.js.map +1 -1
  135. package/dist/server/lib/ticketAutomation.js +4 -27
  136. package/dist/server/lib/ticketAutomation.js.map +1 -1
  137. package/dist/server/lib/ticketRunOperations.js +103 -34
  138. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  139. package/dist/server/lib/tickets.js +0 -13
  140. package/dist/server/lib/tickets.js.map +1 -1
  141. package/dist/server/lib/types.js.map +1 -1
  142. package/dist/server/workers/build.js +44 -69
  143. package/dist/server/workers/build.js.map +1 -1
  144. package/dist/server/workers/plan.js +0 -7
  145. package/dist/server/workers/plan.js.map +1 -1
  146. package/dist/server/workers/review.js +95 -146
  147. package/dist/server/workers/review.js.map +1 -1
  148. package/package.json +1 -1
  149. package/dist/client/assets/ActivityView-CKvbDXeA.js +0 -1
  150. package/dist/client/assets/GitHubActionsDialog-Dzo0vtak.js +0 -1
  151. package/dist/client/assets/VerificationDialog-BJnOitrJ.js +0 -4
  152. package/dist/client/assets/channel-5mIy7nm1.js +0 -1
  153. package/dist/client/assets/classDiagram-4FO5ZUOK-BiQ-X2Sg.js +0 -1
  154. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CF-wCYW-.js +0 -1
  155. package/dist/client/assets/index-CIAO5aE_.css +0 -2
  156. package/dist/client/assets/index-nCGyalrn.js +0 -276
  157. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-PWeeL0tR.js +0 -1
  158. package/dist/server/lib/automationDeliveryDecision.js +0 -34
  159. package/dist/server/lib/automationDeliveryDecision.js.map +0 -1
@@ -1,7 +1,16 @@
1
1
  import db from '../db.js';
2
+ import { isDeepStrictEqual } from 'node:util';
3
+ import { randomUUID } from 'node:crypto';
4
+ import { captureHostServiceProcessIdentity, cleanupHostServiceProcess, isHostServiceProcessIdentity } from './hostServiceRecovery.js';
2
5
  import { createExecutionProfileSelection, executionProfileSelectionMetadata, validateExecutionProfileSelection, } from './executionRunAuthority.js';
3
6
  import { appendLifecycleEvent, createExecutionRun, getExecutionRun, transitionExecutionRun } from './executionRuns.js';
4
7
  const MAX_SERVICE_SNAPSHOT_BYTES = 16 * 1024;
8
+ export const hasActiveProjectServiceRun = (projectId) => {
9
+ if (projectId === undefined) {
10
+ return Boolean(db.prepare('SELECT 1 FROM active_project_service_authorities LIMIT 1').get());
11
+ }
12
+ return Boolean(db.prepare('SELECT 1 FROM active_project_service_authorities WHERE project_id = ? LIMIT 1').get(projectId));
13
+ };
5
14
  const serializeBounded = (value, label) => {
6
15
  const serialized = JSON.stringify(value);
7
16
  if (Buffer.byteLength(serialized, 'utf8') > MAX_SERVICE_SNAPSHOT_BYTES) {
@@ -39,13 +48,22 @@ const serializeDetails = (row) => {
39
48
  };
40
49
  };
41
50
  export const createServiceRun = (input) => {
42
- const profileSelection = input.profileSelection ?? createExecutionProfileSelection(input.projectId);
43
- const profileRevision = validateExecutionProfileSelection(input.projectId, profileSelection);
44
- const profile = {
45
- build_execution_provider: profileRevision.profile.provider_preference,
46
- ...executionProfileSelectionMetadata(profileSelection),
47
- };
48
51
  const run = db.transaction(() => {
52
+ if (input.sessionId !== undefined && !input.sessionId.trim()) {
53
+ throw new Error('Service session ID must be a non-empty string');
54
+ }
55
+ if (hasActiveProjectServiceRun(input.projectId)) {
56
+ throw new Error('Project already has active service authority');
57
+ }
58
+ if (input.target.identity.projectId !== input.projectId) {
59
+ throw new Error('Service target must belong to the project');
60
+ }
61
+ const profileSelection = input.profileSelection ?? createExecutionProfileSelection(input.projectId);
62
+ const profileRevision = validateExecutionProfileSelection(input.projectId, profileSelection);
63
+ const profile = {
64
+ build_execution_provider: profileRevision.profile.provider_preference,
65
+ ...executionProfileSelectionMetadata(profileSelection),
66
+ };
49
67
  const created = createExecutionRun({
50
68
  projectId: input.projectId,
51
69
  kind: 'service',
@@ -63,9 +81,11 @@ export const createServiceRun = (input) => {
63
81
  metadata: {
64
82
  ...profile,
65
83
  context_key: input.contextKey,
84
+ ...(input.sessionId !== undefined ? { session_id: input.sessionId } : {}),
66
85
  target_kind: input.target.identity.kind,
67
86
  target_key: input.target.identity.key,
68
87
  target_workspace_path: input.target.workspacePath,
88
+ service_allocation_state: 'not_started',
69
89
  },
70
90
  eventType: 'service_run_created',
71
91
  eventMessage: 'Service run authority was accepted for the canonical target.',
@@ -78,31 +98,84 @@ export const createServiceRun = (input) => {
78
98
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
79
99
  `).run(created.id, input.projectId, input.contextKey, input.target.identity.kind, input.target.identity.key, input.target.workspacePath, profile.execution_profile_revision_id, profile.execution_profile_fingerprint, serializeBounded(input.services, 'Service configuration snapshot'));
80
100
  return created;
81
- })();
101
+ }).immediate();
82
102
  return run;
83
103
  };
84
- export const recordServiceRunPlacement = (input) => {
85
- const placement = input.placement
104
+ // Invalidate absence proof before entering allocation, including its first await.
105
+ export const markServiceRunAllocationStarted = (projectId, executionRunId) => {
106
+ const updated = db.prepare(`UPDATE execution_runs
107
+ SET metadata_json = json_set(metadata_json, '$.service_allocation_state', 'started')
108
+ WHERE project_id = ? AND id = ? AND kind = 'service'
109
+ AND status NOT IN ('completed', 'failed', 'cancelled', 'interrupted')
110
+ AND EXISTS (SELECT 1 FROM service_run_details WHERE execution_run_id = execution_runs.id AND completed_at IS NULL)`)
111
+ .run(projectId, executionRunId);
112
+ if (updated.changes !== 1) {
113
+ throw new Error('Active durable service run was not found');
114
+ }
115
+ };
116
+ export const recordServiceRunPlacement = (input) => db.transaction(() => {
117
+ const details = db.prepare(`SELECT * FROM service_run_details WHERE project_id = ? AND execution_run_id = ?`)
118
+ .get(input.projectId, input.executionRunId);
119
+ if (!details || details.completed_at !== null) {
120
+ throw new Error('Active durable service run was not found');
121
+ }
122
+ if (details.provider_kind !== null && (details.provider_kind !== input.provider
123
+ || details.environment_id !== input.environmentId || details.environment_revision !== input.environmentRevision)) {
124
+ throw new Error('Service placement authority cannot be replaced');
125
+ }
126
+ if (input.placement && (input.placement.provider !== input.provider
127
+ || input.placement.executionRunId !== input.executionRunId || input.placement.targetKey !== details.target_key)) {
128
+ throw new Error('Service placement does not match durable authority');
129
+ }
130
+ let placement = input.placement
86
131
  ? input.placement
87
132
  : input.provider === 'host'
88
133
  ? { provider: 'host', scope: 'local_processes' }
89
134
  : null;
135
+ if (input.provider === 'host') {
136
+ const previous = parseObject(details.placement_json);
137
+ if ((details.placement_json !== null && !previous)
138
+ || (previous?.placements !== undefined && !Array.isArray(previous.placements))) {
139
+ throw new Error('Existing host placement evidence is malformed');
140
+ }
141
+ const placements = previous && Array.isArray(previous.placements)
142
+ ? [...previous.placements]
143
+ : previous && previous.scope !== 'local_processes' ? [previous] : [];
144
+ if (input.placement && !placements.some(existing => isDeepStrictEqual(existing, input.placement))) {
145
+ placements.push(input.placement);
146
+ }
147
+ placement = {
148
+ provider: 'host', scope: 'local_processes', placements,
149
+ ...(previous?.host_processes !== undefined ? { host_processes: previous.host_processes } : {}),
150
+ ...(previous?.host_process_cleanup !== undefined ? { host_process_cleanup: previous.host_process_cleanup } : {}),
151
+ };
152
+ }
90
153
  const updated = db.prepare(`
91
154
  UPDATE service_run_details
92
155
  SET provider_kind = ?, environment_id = ?, environment_revision = ?,
93
156
  placement_json = ?, interruption_scope = ?, started_at = COALESCE(started_at, CURRENT_TIMESTAMP),
94
157
  updated_at = CURRENT_TIMESTAMP
95
158
  WHERE execution_run_id = ? AND project_id = ? AND completed_at IS NULL
159
+ AND EXISTS (SELECT 1 FROM execution_runs run WHERE run.id = service_run_details.execution_run_id
160
+ AND run.status NOT IN ('completed', 'failed', 'cancelled', 'interrupted'))
96
161
  `).run(input.provider, input.environmentId, input.environmentRevision, placement ? serializeBounded(placement, 'Service placement') : null, input.provider === 'docker_sandbox' ? 'whole_environment' : 'local_processes', input.executionRunId, input.projectId);
97
162
  if (updated.changes !== 1) {
98
163
  throw new Error('Active durable service run was not found');
99
164
  }
100
- };
165
+ }).immediate();
101
166
  export const completeServiceRun = (input) => db.transaction(() => {
102
167
  const current = getExecutionRun(input.projectId, input.executionRunId);
103
168
  if (!current) {
104
169
  return current;
105
170
  }
171
+ if (current.kind !== 'service' || !getServiceRunDetails(input.projectId, input.executionRunId)) {
172
+ throw new Error('Durable service run was not found');
173
+ }
174
+ if (db.prepare(`SELECT 1 FROM execution_environment_run_bindings
175
+ WHERE project_id = ? AND execution_run_id = ? AND relationship = 'execution'
176
+ AND released_at IS NULL`).get(input.projectId, input.executionRunId)) {
177
+ throw new Error('Service execution binding is unreleased');
178
+ }
106
179
  const transitioned = ['completed', 'failed', 'cancelled', 'interrupted'].includes(current.status)
107
180
  ? current
108
181
  : transitionExecutionRun({
@@ -125,6 +198,9 @@ export const completeServiceRun = (input) => db.transaction(() => {
125
198
  })();
126
199
  export const recordServiceRunReleaseFailure = (input) => {
127
200
  const current = getExecutionRun(input.projectId, input.executionRunId);
201
+ if (current && (current.kind !== 'service' || !getServiceRunDetails(input.projectId, input.executionRunId))) {
202
+ throw new Error('Durable service run was not found');
203
+ }
128
204
  if (!current || ['completed', 'failed', 'cancelled', 'interrupted'].includes(current.status)) {
129
205
  return current;
130
206
  }
@@ -160,12 +236,179 @@ export const getServiceRunDetails = (projectId, executionRunId) => {
160
236
  `).get(projectId, executionRunId);
161
237
  return row ? serializeDetails(row) : null;
162
238
  };
163
- export const reconcileInterruptedServiceRuns = () => {
239
+ export const getRecoverableHostServiceRun = (projectId) => {
240
+ const row = db.prepare(`SELECT * FROM service_run_details
241
+ WHERE project_id = ? AND (provider_kind = 'host' OR provider_kind IS NULL) AND completed_at IS NULL`).get(projectId);
242
+ if (!row) {
243
+ return null;
244
+ }
245
+ return { ...serializeDetails(row), sessionId: getExecutionRun(projectId, row.execution_run_id)?.metadata?.session_id };
246
+ };
247
+ // Persist the intent BEFORE spawning, so a crash or failed identity capture cannot
248
+ // turn a partial list of service/setup children into proof of complete cleanup.
249
+ export const prepareHostServiceProcessLaunch = (projectId, executionRunId) => {
250
+ const launchId = randomUUID();
251
+ const update = (identity) => db.transaction(() => {
252
+ const details = getServiceRunDetails(projectId, executionRunId);
253
+ if (!details || details.completed_at !== null || (details.provider_kind !== null && details.provider_kind !== 'host')) {
254
+ throw new Error('Active durable host service run was not found');
255
+ }
256
+ recordServiceRunPlacement({ projectId, executionRunId, provider: 'host', environmentId: null, environmentRevision: null });
257
+ const placement = getServiceRunDetails(projectId, executionRunId).placement;
258
+ const processes = placement.host_processes;
259
+ if (processes !== undefined && (!processes || typeof processes !== 'object' || Array.isArray(processes))) {
260
+ throw new Error('Existing host process evidence is malformed');
261
+ }
262
+ if (identity !== null && processes?.[launchId] !== null) {
263
+ throw new Error('Host process launch identity cannot be replaced');
264
+ }
265
+ const nextProcesses = { ...processes, [launchId]: identity };
266
+ const nextPlacement = { ...placement, host_processes: nextProcesses };
267
+ // Reserve room for every cleanup proof before accepting a launch identity.
268
+ serializeBounded({ ...nextPlacement, host_process_cleanup: Object.fromEntries(Object.keys(nextProcesses).map(id => [id, true])) }, 'Host process evidence');
269
+ db.prepare('UPDATE service_run_details SET placement_json = ?, updated_at = CURRENT_TIMESTAMP WHERE execution_run_id = ? AND project_id = ?')
270
+ .run(serializeBounded(nextPlacement, 'Host process evidence'), executionRunId, projectId);
271
+ }).immediate();
272
+ update(null);
273
+ return (pid) => {
274
+ let identity;
275
+ try {
276
+ identity = captureHostServiceProcessIdentity(pid);
277
+ }
278
+ catch (error) {
279
+ // Host execution remains available on unsupported platforms. The unresolved
280
+ // intent blocks recovery until cleanup can be proved, rather than guessing.
281
+ appendLifecycleEvent({
282
+ projectId, runId: executionRunId, eventType: 'service_host_identity_unverified',
283
+ message: 'Host process recovery identity could not be captured.',
284
+ metadata: { launch_id: launchId, reason: error instanceof Error ? error.message : String(error) },
285
+ });
286
+ return;
287
+ }
288
+ update(identity);
289
+ };
290
+ };
291
+ export const retryInterruptedHostServiceRun = (projectId, executionRunId) => db.transaction(() => {
292
+ const details = getServiceRunDetails(projectId, executionRunId);
293
+ if (!details || details.completed_at !== null || (details.provider_kind !== null && details.provider_kind !== 'host')) {
294
+ return false;
295
+ }
296
+ if (details.provider_kind === null) {
297
+ const run = getExecutionRun(projectId, executionRunId);
298
+ // Missing authority is not absence proof. Even released bindings or malformed
299
+ // placement evidence contradict the claim that allocation never began.
300
+ const binding = db.prepare(`SELECT 1 FROM execution_environment_run_bindings
301
+ WHERE project_id = ? AND execution_run_id = ?`).get(projectId, executionRunId);
302
+ const placementEvidence = db.prepare(`SELECT 1 FROM service_run_details
303
+ WHERE project_id = ? AND execution_run_id = ? AND placement_json IS NOT NULL`).get(projectId, executionRunId);
304
+ if (run?.metadata?.service_allocation_state === 'not_started' && !binding
305
+ && !placementEvidence && details.environment_id === null
306
+ && details.environment_revision === null && details.started_at === null) {
307
+ completeServiceRun({
308
+ projectId, executionRunId, status: 'interrupted', code: 'server_restarted',
309
+ message: 'The server restarted before service allocation began; no cleanup was required.',
310
+ eventType: 'service_run_interrupted',
311
+ });
312
+ return true;
313
+ }
314
+ if (run?.domain_status !== 'environment_release_pending') {
315
+ recordServiceRunReleaseFailure({
316
+ projectId, executionRunId,
317
+ message: 'Service placement is uncertain. Authority is retained until allocation and cleanup evidence can be verified.',
318
+ intendedStatus: 'interrupted', intendedEventType: 'service_run_interrupted',
319
+ });
320
+ }
321
+ return false;
322
+ }
323
+ if (db.prepare(`SELECT 1 FROM execution_environment_run_bindings
324
+ WHERE project_id = ? AND execution_run_id = ? AND relationship = 'execution' AND released_at IS NULL`)
325
+ .get(projectId, executionRunId)) {
326
+ return false;
327
+ }
328
+ const processes = details.placement?.host_processes;
329
+ const identities = processes && typeof processes === 'object' && !Array.isArray(processes)
330
+ ? Object.entries(processes) : [];
331
+ const previousCleanup = details.placement?.host_process_cleanup;
332
+ const cleanup = previousCleanup && typeof previousCleanup === 'object' && !Array.isArray(previousCleanup)
333
+ ? { ...previousCleanup } : {};
334
+ // Clean every recorded sibling, but never release authority on partial success.
335
+ const verified = identities.map(([launchId, identity]) => {
336
+ if (!isHostServiceProcessIdentity(identity)) {
337
+ return false;
338
+ }
339
+ if (cleanup[launchId] === true) {
340
+ return true;
341
+ }
342
+ if (!cleanupHostServiceProcess(identity)) {
343
+ return false;
344
+ }
345
+ cleanup[launchId] = true;
346
+ // Never reacquire a numeric session after its disappearance was verified.
347
+ db.prepare('UPDATE service_run_details SET placement_json = ?, updated_at = CURRENT_TIMESTAMP WHERE execution_run_id = ? AND project_id = ? AND completed_at IS NULL')
348
+ .run(serializeBounded({ ...details.placement, host_process_cleanup: cleanup }, 'Host process cleanup evidence'), executionRunId, projectId);
349
+ return true;
350
+ });
351
+ if (!verified.length || verified.some(result => !result)) {
352
+ if (getExecutionRun(projectId, executionRunId)?.domain_status !== 'environment_release_pending') {
353
+ recordServiceRunReleaseFailure({
354
+ projectId, executionRunId,
355
+ message: 'Host process cleanup could not be verified. Authority is retained; retry stopping the session after resolving host inspection or cleanup failures.',
356
+ intendedStatus: 'interrupted', intendedEventType: 'service_run_interrupted',
357
+ });
358
+ }
359
+ return false;
360
+ }
361
+ completeServiceRun({
362
+ projectId, executionRunId, status: 'interrupted', code: 'server_restarted',
363
+ message: 'The server restarted; all recorded host service process sessions were verifiably cleaned up.',
364
+ eventType: 'service_run_interrupted',
365
+ });
366
+ return true;
367
+ }).immediate();
368
+ // The existing Stop action can use this only after finding no live in-memory owner.
369
+ export const retryInterruptedHostServiceRunForContext = (contextKey, options = {}) => {
370
+ const row = db.prepare(`SELECT details.project_id, details.execution_run_id
371
+ FROM service_run_details details
372
+ WHERE details.context_key = ? AND (details.provider_kind = 'host' OR details.provider_kind IS NULL) AND details.completed_at IS NULL`)
373
+ .get(contextKey);
374
+ if (!row) {
375
+ return false;
376
+ }
377
+ const run = getExecutionRun(row.project_id, row.execution_run_id);
378
+ if (options.sessionId !== undefined && run.metadata?.session_id !== options.sessionId) {
379
+ throw new Error('The service session has changed. Refresh before retrying.');
380
+ }
381
+ if (options.serviceId !== undefined) {
382
+ throw new Error('Restarted host sessions require whole-session cleanup');
383
+ }
384
+ if (!retryInterruptedHostServiceRun(row.project_id, row.execution_run_id)) {
385
+ throw new Error('Host service cleanup remains unverified; session authority is retained. Retry stopping the session after resolving host cleanup failures.');
386
+ }
387
+ return true;
388
+ };
389
+ export const reconcileInterruptedServiceRuns = () => db.transaction(() => {
390
+ // Neither a missing binding nor a terminal envelope proves that service processes stopped.
391
+ // Docker requires release evidence for the exact recorded environment.
164
392
  const rows = db.prepare(`
165
- SELECT details.execution_run_id, details.project_id, details.provider_kind, run.status
393
+ SELECT details.execution_run_id, details.project_id, run.status
166
394
  FROM service_run_details details
167
395
  JOIN execution_runs run ON run.id = details.execution_run_id AND run.project_id = details.project_id
168
396
  WHERE details.completed_at IS NULL
397
+ AND details.provider_kind = 'docker_sandbox'
398
+ AND EXISTS (
399
+ SELECT 1 FROM execution_environment_run_bindings released
400
+ JOIN execution_environments environment
401
+ ON environment.id = released.environment_id AND environment.project_id = released.project_id
402
+ WHERE released.execution_run_id = details.execution_run_id
403
+ AND released.project_id = details.project_id
404
+ AND released.relationship = 'execution' AND released.released_at IS NOT NULL
405
+ AND released.environment_id = details.environment_id
406
+ AND released.environment_revision = details.environment_revision
407
+ AND environment.provider_kind = 'docker_sandbox'
408
+ AND environment.environment_revision = details.environment_revision
409
+ AND environment.target_key = details.target_key
410
+ AND environment.target_workspace_path = details.target_workspace_path
411
+ )
169
412
  AND NOT EXISTS (
170
413
  SELECT 1 FROM execution_environment_run_bindings binding
171
414
  WHERE binding.execution_run_id = details.execution_run_id
@@ -177,6 +420,22 @@ export const reconcileInterruptedServiceRuns = () => {
177
420
  `).all();
178
421
  let interrupted = 0;
179
422
  let repaired = 0;
423
+ const hosts = db.prepare(`SELECT details.project_id, details.execution_run_id, run.status
424
+ FROM service_run_details details JOIN execution_runs run ON run.id = details.execution_run_id
425
+ WHERE details.completed_at IS NULL AND (details.provider_kind IS NULL OR (details.provider_kind = 'host'
426
+ AND NOT EXISTS (SELECT 1 FROM execution_environment_run_bindings binding
427
+ WHERE binding.execution_run_id = details.execution_run_id AND binding.relationship = 'execution'
428
+ AND binding.released_at IS NULL)))`).all();
429
+ for (const host of hosts) {
430
+ if (retryInterruptedHostServiceRun(host.project_id, host.execution_run_id)) {
431
+ if (['completed', 'failed', 'cancelled', 'interrupted'].includes(host.status)) {
432
+ repaired += 1;
433
+ }
434
+ else {
435
+ interrupted += 1;
436
+ }
437
+ }
438
+ }
180
439
  for (const row of rows) {
181
440
  const isTerminal = ['completed', 'failed', 'cancelled', 'interrupted'].includes(row.status);
182
441
  completeServiceRun({
@@ -184,9 +443,7 @@ export const reconcileInterruptedServiceRuns = () => {
184
443
  executionRunId: row.execution_run_id,
185
444
  status: 'interrupted',
186
445
  code: 'server_restarted',
187
- message: row.provider_kind === 'docker_sandbox'
188
- ? 'The server restarted while this service run was active. Docker Sandbox interruption applies to the whole environment and every attached service.'
189
- : 'The server restarted while this service run was active. Host process interruption is limited to the local service processes.',
446
+ message: 'The server restarted while this service run was active. Docker Sandbox interruption applies to the whole environment and every attached service.',
190
447
  eventType: 'service_run_interrupted',
191
448
  });
192
449
  if (isTerminal) {
@@ -197,5 +454,5 @@ export const reconcileInterruptedServiceRuns = () => {
197
454
  }
198
455
  }
199
456
  return { interrupted, repaired };
200
- };
457
+ }).immediate();
201
458
  //# sourceMappingURL=serviceRuns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceRuns.js","sourceRoot":"","sources":["../../../server/lib/serviceRuns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serviceRuns.js","sourceRoot":"","sources":["../../../server/lib/serviceRuns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACrI,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAWtH,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAA;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,SAAkB,EAAW,EAAE;IACxE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IAC9F,CAAC;IACD,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,+EAA+E,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAC5H,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,KAAa,EAAE,EAAE;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,0BAA0B,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,0BAA0B,QAAQ,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAA;QAC3C,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,MAAiC;YACnC,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,GAAyB,EAAqB,EAAE;IACxE,IAAI,eAAe,GAAoB,EAAE,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAY,CAAA;QAC/D,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAyB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,eAAe,GAAG,EAAE,CAAA;IACtB,CAAC;IACD,OAAO;QACL,GAAG,GAAG;QACN,gBAAgB,EAAE,eAAe;QACjC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC;KAC3C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAQ/B,EAAE,EAAE;IACJ,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,0BAA0B,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,+BAA+B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnG,MAAM,eAAe,GAAG,iCAAiC,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;QAC5F,MAAM,OAAO,GAAG;YACd,wBAAwB,EAAE,eAAe,CAAC,OAAO,CAAC,mBAAmB;YACrE,GAAG,iCAAiC,CAAC,gBAAgB,CAAC;SACvD,CAAA;QACD,MAAM,OAAO,GAAG,kBAAkB,CAAC;YACjC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;YACjE,KAAK,EAAE;gBACL,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;oBACvB,CAAC,CAAC,CAAC;4BACC,UAAU,EAAE,QAAiB;4BAC7B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;4BAC/B,YAAY,EAAE,SAAkB;yBACjC,CAAC;oBACJ,CAAC,CAAC,EAAE,CAAC;aACR;YACD,QAAQ,EAAE;gBACR,GAAG,OAAO;gBACV,WAAW,EAAE,KAAK,CAAC,UAAU;gBAC7B,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;gBACvC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;gBACrC,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;gBACjD,wBAAwB,EAAE,aAAa;aACxC;YACD,SAAS,EAAE,qBAAqB;YAChC,YAAY,EAAE,8DAA8D;SAC7E,CAAC,CAAA;QACF,EAAE,CAAC,OAAO,CAAC;;;;;;KAMV,CAAC,CAAC,GAAG,CACJ,OAAO,CAAC,EAAE,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAC1B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EACzB,KAAK,CAAC,MAAM,CAAC,aAAa,EAC1B,OAAO,CAAC,6BAA6B,EACrC,OAAO,CAAC,6BAA6B,EACrC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CACnE,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;IACd,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,EAAE;IAC3F,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;;;;yHAI4F,CAAC;SACrH,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACjC,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAOxC,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,iFAAiF,CAAC;SAC1G,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAqC,CAAA;IACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,QAAQ;WAC1E,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,oBAAoB,KAAK,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnH,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;WAC9D,KAAK,CAAC,SAAS,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAClH,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IACD,IAAI,SAAS,GAAgE,KAAK,CAAC,SAAS;QAC1F,CAAC,CAAC,KAAK,CAAC,SAAS;QACjB,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM;YACzB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE;YAChD,CAAC,CAAC,IAAI,CAAA;IACV,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC;eAC7C,CAAC,QAAQ,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAClE,CAAC;QACD,MAAM,UAAU,GAAc,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC1E,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC1B,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAClG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;QACD,SAAS,GAAG;YACV,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU;YACtD,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,GAAG,CAAC,QAAQ,EAAE,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjH,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;GAQ1B,CAAC,CAAC,GAAG,CACJ,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,mBAAmB,EACzB,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EACnE,KAAK,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,EAC7E,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CAChB,CAAA;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;AACH,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AAEd,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAOjC,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IACtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,CAAC;;8BAEa,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/F,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,sBAAsB,CAAC;YACrB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,cAAc;YAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,YAAY,EAAE,KAAK,CAAC,MAAM;YAC1B,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;gBACnE,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,8BAA8B,EAAE;YAC1F,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;SACpC,CAAC,CAAA;IACN,EAAE,CAAC,OAAO,CAAC;;;;GAIV,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,OAAO,YAAY,CAAA;AACrB,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAM7C,EAAE,EAAE;IACJ,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IACtE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7F,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG;QACf,eAAe,EAAE,KAAK,CAAC,cAAc;QACrC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB;QAC5C,cAAc,EAAE,IAAI;KACrB,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,6BAA6B,EAAE,CAAC;QAC5F,oBAAoB,CAAC;YACnB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,cAAc;YAC3B,SAAS,EAAE,oCAAoC;YAC/C,YAAY,EAAE,6BAA6B;YAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ;SACT,CAAC,CAAA;QACF,OAAO,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,sBAAsB,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,cAAc;QAC3B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,6BAA6B;QAC3C,SAAS,EAAE,oCAAoC;QAC/C,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3B,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,EAAE;IAChF,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;GAEtB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAqC,CAAA;IACrE,OAAO,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,SAAiB,EAAE,EAAE;IAChE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;wGAC+E,CAAC,CAAC,GAAG,CAAC,SAAS,CAAqC,CAAA;IAC1J,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AACxH,CAAC,CAAA;AAED,mFAAmF;AACnF,gFAAgF;AAChF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,EAAE;IAC3F,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAC/D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,EAAE,CAAC;YACtH,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAClE,CAAC;QACD,yBAAyB,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1H,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAE,CAAC,SAAU,CAAA;QAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,CAAA;QAC1C,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACzG,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,IAAK,SAAiD,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACjG,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,aAAa,GAAG,EAAE,GAAG,SAAoC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;QACvF,MAAM,aAAa,GAAG,EAAE,GAAG,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,CAAA;QACrE,2EAA2E;QAC3E,gBAAgB,CAAC,EAAE,GAAG,aAAa,EAAE,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAA;QAC3J,EAAE,CAAC,OAAO,CAAC,iIAAiI,CAAC;aAC1I,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,uBAAuB,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;IACd,MAAM,CAAC,IAAI,CAAC,CAAA;IACZ,OAAO,CAAC,GAAW,EAAE,EAAE;QACrB,IAAI,QAAQ,CAAA;QACZ,IAAI,CAAC;YACH,QAAQ,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAA;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4EAA4E;YAC5E,4EAA4E;YAC5E,oBAAoB,CAAC;gBACnB,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,kCAAkC;gBAC/E,OAAO,EAAE,uDAAuD;gBAChE,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAClG,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,CAAA;IAClB,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IAC/G,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAC/D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,EAAE,CAAC;QACtH,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QACtD,8EAA8E;QAC9E,uEAAuE;QACvE,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;oDACqB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAChF,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAAC;mFAC0C,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAC/G,IAAI,GAAG,EAAE,QAAQ,EAAE,wBAAwB,KAAK,aAAa,IAAI,CAAC,OAAO;eACpE,CAAC,iBAAiB,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;eACrD,OAAO,CAAC,oBAAoB,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC1E,kBAAkB,CAAC;gBACjB,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB;gBAC1E,OAAO,EAAE,gFAAgF;gBACzF,SAAS,EAAE,yBAAyB;aACrC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,GAAG,EAAE,aAAa,KAAK,6BAA6B,EAAE,CAAC;YACzD,8BAA8B,CAAC;gBAC7B,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,8GAA8G;gBACvH,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,yBAAyB;aAC5E,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,CAAC;yGACwF,CAAC;SACrG,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,CAAA;IACnD,MAAM,UAAU,GAAG,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACxF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClC,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAA;IAC/D,MAAM,OAAO,GAA4B,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAChI,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/B,gFAAgF;IAChF,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;QACvD,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;QACxB,0EAA0E;QAC1E,EAAE,CAAC,OAAO,CAAC,0JAA0J,CAAC;aACnK,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,EAAE,+BAA+B,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,CAAA;QAC7I,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,aAAa,KAAK,6BAA6B,EAAE,CAAC;YAChG,8BAA8B,CAAC;gBAC7B,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,oJAAoJ;gBAC7J,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,yBAAyB;aAC5E,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,kBAAkB,CAAC;QACjB,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB;QAC1E,OAAO,EAAE,8FAA8F;QACvG,SAAS,EAAE,yBAAyB;KACrC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AAEd,oFAAoF;AACpF,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,UAAkB,EAAE,UAGxE,EAAE,EAAE,EAAE;IACT,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;yIAEgH,CAAC;SACrI,GAAG,CAAC,UAAU,CAAiE,CAAA;IAClF,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAE,CAAA;IAClE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,2IAA2I,CAAC,CAAA;IAC9J,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IACvE,2FAA2F;IAC3F,uEAAuE;IACvE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BvB,CAAC,CAAC,GAAG,EAIJ,CAAA;IACF,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;6CAKkB,CAAC,CAAC,GAAG,EAAiB,CAAA;IACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,8BAA8B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9E,QAAQ,IAAI,CAAC,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,WAAW,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC3F,kBAAkB,CAAC;YACjB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,cAAc,EAAE,GAAG,CAAC,gBAAgB;YACpC,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,kJAAkJ;YAC3J,SAAS,EAAE,yBAAyB;SACrC,CAAC,CAAA;QACF,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,IAAI,CAAC,CAAA;QACf,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AAClC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA"}
@@ -62,7 +62,6 @@ export const serializeBundleAutomationState = (row) => {
62
62
  automation_paused_code: row.automation_paused_code,
63
63
  automation_paused_reason: row.automation_paused_reason,
64
64
  automation_paused_at: row.automation_paused_at,
65
- automation_delivery_ready_stage_run_id: row.automation_delivery_ready_stage_run_id ?? null,
66
65
  };
67
66
  };
68
67
  export const getBundleAutomationState = (projectId, bundleId) => {
@@ -117,11 +116,10 @@ export const upsertBundleAutomationState = (projectId, bundleId, patch) => {
117
116
  automation_pause_reason_code,
118
117
  automation_paused_code,
119
118
  automation_paused_reason,
120
- automation_paused_at,
121
- automation_delivery_ready_stage_run_id
119
+ automation_paused_at
122
120
  )
123
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
124
- `).run(projectId, bundleId, patch.review_iteration_count ?? 0, patch.fix_loop_active ?? 0, patch.automation_progression_run_id ?? null, patch.automation_paused_stage_run_id ?? null, patch.automation_paused_boundary_purpose ?? null, patch.automation_pause_reason_code ?? null, patch.automation_paused_code ?? null, patch.automation_paused_reason ?? null, patch.automation_paused_at ?? null, patch.automation_delivery_ready_stage_run_id ?? null);
121
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
122
+ `).run(projectId, bundleId, patch.review_iteration_count ?? 0, patch.fix_loop_active ?? 0, patch.automation_progression_run_id ?? null, patch.automation_paused_stage_run_id ?? null, patch.automation_paused_boundary_purpose ?? null, patch.automation_pause_reason_code ?? null, patch.automation_paused_code ?? null, patch.automation_paused_reason ?? null, patch.automation_paused_at ?? null);
125
123
  return;
126
124
  }
127
125
  db.prepare(`
@@ -136,7 +134,6 @@ export const upsertBundleAutomationState = (projectId, bundleId, patch) => {
136
134
  automation_paused_code = ?,
137
135
  automation_paused_reason = ?,
138
136
  automation_paused_at = ?,
139
- automation_delivery_ready_stage_run_id = ?,
140
137
  updated_at = CURRENT_TIMESTAMP
141
138
  WHERE project_id = ? AND worktree_bundle_id = ?
142
139
  `).run(patch.review_iteration_count ?? existing.review_iteration_count, patch.fix_loop_active ?? existing.fix_loop_active, patch.automation_progression_run_id !== undefined
@@ -153,9 +150,7 @@ export const upsertBundleAutomationState = (projectId, bundleId, patch) => {
153
150
  ? patch.automation_paused_reason
154
151
  : existing.automation_paused_reason, patch.automation_paused_at !== undefined
155
152
  ? patch.automation_paused_at
156
- : existing.automation_paused_at, patch.automation_delivery_ready_stage_run_id !== undefined
157
- ? patch.automation_delivery_ready_stage_run_id
158
- : existing.automation_delivery_ready_stage_run_id ?? null, projectId, bundleId);
153
+ : existing.automation_paused_at, projectId, bundleId);
159
154
  };
160
155
  export const recordAutomationPause = (projectId, bundleId, code, reason, details) => {
161
156
  upsertBundleAutomationState(projectId, bundleId, {
@@ -207,9 +202,6 @@ const claimBundleAutomationProgressionInTransaction = (projectId, bundleId, prog
207
202
  if (current.id !== progressionRunId) {
208
203
  throw new Error(`Bundle ${bundleId} already has a non-terminal automation progression`);
209
204
  }
210
- if (state.automation_delivery_ready_stage_run_id) {
211
- upsertBundleAutomationState(projectId, bundleId, { automation_delivery_ready_stage_run_id: null });
212
- }
213
205
  return;
214
206
  }
215
207
  const existing = db.prepare(`
@@ -232,21 +224,6 @@ const claimBundleAutomationProgressionInTransaction = (projectId, bundleId, prog
232
224
  }
233
225
  upsertBundleAutomationState(projectId, bundleId, {
234
226
  automation_progression_run_id: progressionRunId,
235
- automation_delivery_ready_stage_run_id: null,
236
- });
237
- };
238
- export const markBundleAutomationDeliveryReady = (projectId, bundleId, reviewStageRunId) => {
239
- upsertBundleAutomationState(projectId, bundleId, {
240
- review_iteration_count: 0,
241
- fix_loop_active: 0,
242
- automation_progression_run_id: null,
243
- automation_paused_stage_run_id: null,
244
- automation_paused_boundary_purpose: null,
245
- automation_pause_reason_code: null,
246
- automation_paused_code: null,
247
- automation_paused_reason: null,
248
- automation_paused_at: null,
249
- automation_delivery_ready_stage_run_id: reviewStageRunId,
250
227
  });
251
228
  };
252
229
  export const claimBundleAutomationProgression = (projectId, bundleId, progressionRunId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ticketAutomation.js","sourceRoot":"","sources":["../../../server/lib/ticketAutomation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAgBzB,MAAM,UAAU,GAAoC;IAClD,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM,aAAa,GAA6C;IAC9D,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;CACR,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAA4B,EAAE;IAC5E,OAAO,KAAK,KAAK,QAAQ;WACpB,KAAK,KAAK,aAAa;WACvB,KAAK,KAAK,aAAa;WACvB,KAAK,KAAK,WAAW;WACrB,KAAK,KAAK,SAAS,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAc,EAAqC,EAAE;IAC9F,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,KAAsB,EAAW,EAAE;IACtF,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAA+B,EAC/B,SAAmC,EAC1B,EAAE;IACX,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,MAA6J,EAC7J,OAOQ,EACU,EAAE;IACpB,MAAM,YAAY,GAAG,OAAO,EAAE,gBAAgB,IAAI,QAAQ,CAAA;IAC1D,MAAM,iBAAiB,GAAG,OAAO,EAAE,6BAA6B,IAAI,CAAC,CAAA;IACrE,MAAM,2BAA2B,GAAG,OAAO,EAAE,kCAAkC,IAAI,CAAC,CAAA;IAEpF,MAAM,WAAW,GAAG,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAA;IACpD,MAAM,gBAAgB,GAAG,MAAM,EAAE,6BAA6B,IAAI,IAAI,CAAA;IACtE,MAAM,0BAA0B,GAAG,MAAM,EAAE,kCAAkC,IAAI,IAAI,CAAA;IACrF,MAAM,yBAAyB,GAAG,MAAM,EAAE,gCAAgC,IAAI,IAAI,CAAA;IAElF,OAAO;QACL,KAAK,EAAE,WAAW,IAAI,YAAY;QAClC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACpG,oBAAoB,EAAE,0BAA0B,KAAK,IAAI;YACvD,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;QACxC,cAAc,EAAE,OAAO,EAAE,0BAA0B,IAAI,QAAQ;QAC/D,mBAAmB,EAAE,yBAAyB,IAAI,OAAO,EAAE,gCAAgC,IAAI,CAAC;KACjG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAW,EAAE;IACtE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,GAAgD,EAClB,EAAE;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;QAClD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC7C,6BAA6B,EAAE,GAAG,CAAC,6BAA6B;QAChE,8BAA8B,EAAE,GAAG,CAAC,8BAA8B;QAClE,kCAAkC,EAAE,GAAG,CAAC,kCAAkC;QAC1E,4BAA4B,EAAE,GAAG,CAAC,4BAA4B;QAC9D,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;QAClD,wBAAwB,EAAE,GAAG,CAAC,wBAAwB;QACtD,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;QAC9C,sCAAsC,EAAE,GAAG,CAAC,sCAAsC,IAAI,IAAI;KAC3F,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACjB,QAAgB,EACiB,EAAE;IACnC,OAAQ,EAAE;SACP,OAAO,CAAC,uFAAuF,CAAC;SAChG,GAAG,CAAC,SAAS,EAAE,QAAQ,CAA0C,IAAI,IAAI,CAAA;AAC9E,CAAC,CAAA;AAID,MAAM,gCAAgC,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAA4B,EAAE;IACzG,OAAO,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,SAAiB,EACjB,QAAgB,EAChB,KAAoD,EACnB,EAAE;IACnC,MAAM,GAAG,GAAG,gCAAgC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACjE,IAAI,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IAC/B,CAAC;IAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC3D,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACtB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,SAAiB,EACjB,SAAmB,EAC2B,EAAE;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2C,CAAA;IAChE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN,yFAAyF,YAAY,GAAG,CACzG;SACA,GAAG,CAAC,SAAS,EAAE,GAAG,SAAS,CAA+B,CAAA;IAE7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,SAAS,EAAE,GAAG,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,CAAA;IACrF,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,gCAAgC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAeD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,SAAiB,EACjB,QAAgB,EAChB,KAAiC,EAC3B,EAAE;IACR,MAAM,QAAQ,GAAG,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;KAgBV,CAAC,CAAC,GAAG,CACJ,SAAS,EACT,QAAQ,EACR,KAAK,CAAC,sBAAsB,IAAI,CAAC,EACjC,KAAK,CAAC,eAAe,IAAI,CAAC,EAC1B,KAAK,CAAC,6BAA6B,IAAI,IAAI,EAC3C,KAAK,CAAC,8BAA8B,IAAI,IAAI,EAC5C,KAAK,CAAC,kCAAkC,IAAI,IAAI,EAChD,KAAK,CAAC,4BAA4B,IAAI,IAAI,EAC1C,KAAK,CAAC,sBAAsB,IAAI,IAAI,EACpC,KAAK,CAAC,wBAAwB,IAAI,IAAI,EACtC,KAAK,CAAC,oBAAoB,IAAI,IAAI,EAClC,KAAK,CAAC,sCAAsC,IAAI,IAAI,CACrD,CAAA;QACD,OAAM;IACR,CAAC;IAED,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;GAeV,CAAC,CAAC,GAAG,CACJ,KAAK,CAAC,sBAAsB,IAAI,QAAQ,CAAC,sBAAsB,EAC/D,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,EACjD,KAAK,CAAC,6BAA6B,KAAK,SAAS;QAC/C,CAAC,CAAC,KAAK,CAAC,6BAA6B;QACrC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,EAC1C,KAAK,CAAC,8BAA8B,KAAK,SAAS;QAChD,CAAC,CAAC,KAAK,CAAC,8BAA8B;QACtC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,EAC3C,KAAK,CAAC,kCAAkC,KAAK,SAAS;QACpD,CAAC,CAAC,KAAK,CAAC,kCAAkC;QAC1C,CAAC,CAAC,QAAQ,CAAC,kCAAkC,EAC/C,KAAK,CAAC,4BAA4B,KAAK,SAAS;QAC9C,CAAC,CAAC,KAAK,CAAC,4BAA4B;QACpC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,EACzC,KAAK,CAAC,sBAAsB,KAAK,SAAS;QACxC,CAAC,CAAC,KAAK,CAAC,sBAAsB;QAC9B,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EACnC,KAAK,CAAC,wBAAwB,KAAK,SAAS;QAC1C,CAAC,CAAC,KAAK,CAAC,wBAAwB;QAChC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,EACrC,KAAK,CAAC,oBAAoB,KAAK,SAAS;QACtC,CAAC,CAAC,KAAK,CAAC,oBAAoB;QAC5B,CAAC,CAAC,QAAQ,CAAC,oBAAoB,EACjC,KAAK,CAAC,sCAAsC,KAAK,SAAS;QACxD,CAAC,CAAC,KAAK,CAAC,sCAAsC;QAC9C,CAAC,CAAC,QAAQ,CAAC,sCAAsC,IAAI,IAAI,EAC3D,SAAS,EACT,QAAQ,CACT,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,SAAiB,EACjB,QAAgB,EAChB,IAAyB,EACzB,MAAc,EACd,OAIC,EACK,EAAE;IACR,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE;QAC/C,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,MAAM;QAChC,oBAAoB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC9C,4BAA4B,EAAE,OAAO,EAAE,UAAU,IAAI,cAAc;QACnE,8BAA8B,EAAE,OAAO,EAAE,gBAAgB,IAAI,IAAI;QACjE,kCAAkC,EAAE,OAAO,EAAE,qBAAqB,IAAI,IAAI;KAC3E,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAQ,EAAE;IAChF,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE;QAC/C,sBAAsB,EAAE,IAAI;QAC5B,8BAA8B,EAAE,IAAI;QACpC,kCAAkC,EAAE,IAAI;QACxC,4BAA4B,EAAE,IAAI;QAClC,wBAAwB,EAAE,IAAI;QAC9B,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAA;AACJ,CAAC,CAAA;AAQD,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAkC,EAAE;IACnG,OAAQ,EAAE,CAAC,OAAO,CAAC;;;;;;;;;GASlB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAyC,IAAI,IAAI,CAAA;AAC1E,CAAC,CAAA;AAED,MAAM,6CAA6C,GAAG,CACpD,SAAiB,EACjB,QAAgB,EAChB,gBAAwB,EACxB,EAAE;IACF,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,+BAA+B,SAAS,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACxE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACzH,MAAM,IAAI,KAAK,CAAC,iBAAiB,gBAAgB,2EAA2E,QAAQ,EAAE,CAAC,CAAA;IACzI,CAAC;IAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC3D,IAAI,KAAK,EAAE,6BAA6B,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACvF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7G,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,uDAAuD,CAAC,CAAA;QAC5F,CAAC;QACD,IAAI,OAAO,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,oDAAoD,CAAC,CAAA;QACzF,CAAC;QACD,IAAI,KAAK,CAAC,sCAAsC,EAAE,CAAC;YACjD,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,CAAC,CAAA;QACpG,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;GAc3B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAA+B,CAAA;IAC3E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,oDAAoD,CAAC,CAAA;IACzF,CAAC;IAED,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE;QAC/C,6BAA6B,EAAE,gBAAgB;QAC/C,sCAAsC,EAAE,IAAI;KAC7C,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,SAAiB,EACjB,QAAgB,EAChB,gBAAwB,EAClB,EAAE;IACR,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE;QAC/C,sBAAsB,EAAE,CAAC;QACzB,eAAe,EAAE,CAAC;QAClB,6BAA6B,EAAE,IAAI;QACnC,8BAA8B,EAAE,IAAI;QACpC,kCAAkC,EAAE,IAAI;QACxC,4BAA4B,EAAE,IAAI;QAClC,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,IAAI;QAC9B,oBAAoB,EAAE,IAAI;QAC1B,sCAAsC,EAAE,gBAAgB;KACzD,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,SAAiB,EACjB,QAAgB,EAChB,gBAAwB,EAClB,EAAE;IACR,EAAE,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;AACtG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAQ,EAAE;IACrF,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE;QAC/C,sBAAsB,EAAE,CAAC;QACzB,eAAe,EAAE,CAAC;KACnB,CAAC,CAAA;AACJ,CAAC,CAAA;AAeD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,QAA6B,EAC7B,MAAwB,EAChB,EAAE;IACV,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAA;AACnG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAwB,EACxB,WAA4C,EAC5C,WAA0B,EAC1B,YAAoC,EACpC,QAA6B,EACH,EAAE;IAC5B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,WAAW,EAAE,wBAAwB,EAAE,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,CAAC,WAAW,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;IACjC,CAAC;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,WAAW,EAAE,sBAAsB,IAAI,CAAC,CAAA;IAE1D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,IAAI,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC3C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAA;YAC7F,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;QAC9B,CAAC;QACD,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,gCAAgC,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC;SAC/E,CAAA;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,aAAqB,EACrB,QAAkC,EAC1B,EAAE;IACV,OAAO,yCAAyC,aAAa,OAAO,QAAQ,YAAY,CAAA;AAC1F,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,QAAkC,EAAU,EAAE;IAC1F,OAAO,6CAA6C,QAAQ,kJAAkJ,CAAA;AAChN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAU,EAAE;IACxF,OAAO,iDAAiD,SAAS,OAAO,GAAG,GAAG,CAAA;AAChF,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,MAAwB,EACxB,WAA4C,EACV,EAAE;IACpC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,WAAW,EAAE,wBAAwB,EAAE,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,WAAW,EAAE,eAAe,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;IAC9B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;AACjC,CAAC,CAAA"}
1
+ {"version":3,"file":"ticketAutomation.js","sourceRoot":"","sources":["../../../server/lib/ticketAutomation.ts"],"names":[],"mappings":"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"}