soloforge 1.1.48 → 1.1.50

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 (168) hide show
  1. package/README.md +4 -4
  2. package/dist/cli/scope_check.d.ts.map +1 -1
  3. package/dist/cli/scope_check.js +10 -0
  4. package/dist/cli/scope_check.js.map +1 -1
  5. package/dist/context/adapters/shared/integration_guide.d.ts +3 -3
  6. package/dist/context/adapters/shared/integration_guide.js +4 -4
  7. package/dist/core/adversarial_review_store.d.ts +44 -44
  8. package/dist/core/adversarial_review_store.d.ts.map +1 -1
  9. package/dist/core/adversarial_review_store.js +43 -43
  10. package/dist/core/adversarial_review_store.js.map +1 -1
  11. package/dist/core/gate_record_store.d.ts.map +1 -1
  12. package/dist/core/gate_record_store.js +9 -4
  13. package/dist/core/gate_record_store.js.map +1 -1
  14. package/dist/core/git_utils.d.ts.map +1 -1
  15. package/dist/core/git_utils.js +7 -3
  16. package/dist/core/git_utils.js.map +1 -1
  17. package/dist/core/task_context/constants.d.ts.map +1 -1
  18. package/dist/core/task_context/constants.js +3 -1
  19. package/dist/core/task_context/constants.js.map +1 -1
  20. package/dist/core/task_context/manager.d.ts +0 -4
  21. package/dist/core/task_context/manager.d.ts.map +1 -1
  22. package/dist/core/task_context/manager.js +21 -32
  23. package/dist/core/task_context/manager.js.map +1 -1
  24. package/dist/core/task_context/stage_fact_ownership.js +1 -1
  25. package/dist/core/task_context/stage_fact_ownership.js.map +1 -1
  26. package/dist/core/task_context/status_transitions.js +5 -5
  27. package/dist/core/task_context/status_transitions.js.map +1 -1
  28. package/dist/core/types.d.ts +10 -0
  29. package/dist/core/types.d.ts.map +1 -1
  30. package/dist/core/waiver_store.d.ts +100 -0
  31. package/dist/core/waiver_store.d.ts.map +1 -0
  32. package/dist/core/waiver_store.js +185 -0
  33. package/dist/core/waiver_store.js.map +1 -0
  34. package/dist/domain/asset_registry/derived_registry.d.ts +10 -0
  35. package/dist/domain/asset_registry/derived_registry.d.ts.map +1 -1
  36. package/dist/domain/asset_registry/derived_registry.js +10 -0
  37. package/dist/domain/asset_registry/derived_registry.js.map +1 -1
  38. package/dist/domain/asset_registry/derived_types.d.ts +10 -0
  39. package/dist/domain/asset_registry/derived_types.d.ts.map +1 -1
  40. package/dist/domain/asset_registry/derived_types.js +10 -0
  41. package/dist/domain/asset_registry/derived_types.js.map +1 -1
  42. package/dist/gate/certainty_gate.d.ts +10 -0
  43. package/dist/gate/certainty_gate.d.ts.map +1 -1
  44. package/dist/gate/certainty_gate.js.map +1 -1
  45. package/dist/gate/contracts/tool_actions.d.ts +10 -1
  46. package/dist/gate/contracts/tool_actions.d.ts.map +1 -1
  47. package/dist/gate/contracts/tool_actions.js +11 -1
  48. package/dist/gate/contracts/tool_actions.js.map +1 -1
  49. package/dist/gate/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  50. package/dist/gate/contracts/tool_invocation_contract_registry.js +11 -1
  51. package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
  52. package/dist/gate/executors/executors_annotation.d.ts +33 -10
  53. package/dist/gate/executors/executors_annotation.d.ts.map +1 -1
  54. package/dist/gate/executors/executors_annotation.js +119 -64
  55. package/dist/gate/executors/executors_annotation.js.map +1 -1
  56. package/dist/gate/executors/executors_artifact.d.ts +1 -1
  57. package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
  58. package/dist/gate/executors/executors_artifact.js +1 -138
  59. package/dist/gate/executors/executors_artifact.js.map +1 -1
  60. package/dist/gate/executors/executors_build.d.ts +2 -2
  61. package/dist/gate/executors/executors_build.d.ts.map +1 -1
  62. package/dist/gate/executors/executors_build.js +11 -111
  63. package/dist/gate/executors/executors_build.js.map +1 -1
  64. package/dist/gate/executors/executors_deploy.d.ts.map +1 -1
  65. package/dist/gate/executors/executors_deploy.js +35 -7
  66. package/dist/gate/executors/executors_deploy.js.map +1 -1
  67. package/dist/gate/executors/executors_external_command.d.ts.map +1 -1
  68. package/dist/gate/executors/executors_external_command.js +25 -5
  69. package/dist/gate/executors/executors_external_command.js.map +1 -1
  70. package/dist/gate/executors/executors_field_mapping.d.ts.map +1 -1
  71. package/dist/gate/executors/executors_field_mapping.js +78 -66
  72. package/dist/gate/executors/executors_field_mapping.js.map +1 -1
  73. package/dist/gate/executors/executors_jacoco.d.ts +3 -0
  74. package/dist/gate/executors/executors_jacoco.d.ts.map +1 -0
  75. package/dist/gate/executors/executors_jacoco.js +70 -0
  76. package/dist/gate/executors/executors_jacoco.js.map +1 -0
  77. package/dist/gate/executors/executors_prerequisite.d.ts +1 -1
  78. package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
  79. package/dist/gate/executors/executors_prerequisite.js +1 -61
  80. package/dist/gate/executors/executors_prerequisite.js.map +1 -1
  81. package/dist/gate/executors/executors_probe.d.ts +1 -0
  82. package/dist/gate/executors/executors_probe.d.ts.map +1 -1
  83. package/dist/gate/executors/executors_probe.js +1 -0
  84. package/dist/gate/executors/executors_probe.js.map +1 -1
  85. package/dist/gate/executors/executors_scope.d.ts +7 -3
  86. package/dist/gate/executors/executors_scope.d.ts.map +1 -1
  87. package/dist/gate/executors/executors_scope.js +18 -171
  88. package/dist/gate/executors/executors_scope.js.map +1 -1
  89. package/dist/gate/executors/executors_trace.d.ts.map +1 -1
  90. package/dist/gate/executors/executors_trace.js +111 -1
  91. package/dist/gate/executors/executors_trace.js.map +1 -1
  92. package/dist/gate/executors/index.js +2 -2
  93. package/dist/gate/executors/index.js.map +1 -1
  94. package/dist/gate/gate_engine.d.ts +11 -0
  95. package/dist/gate/gate_engine.d.ts.map +1 -1
  96. package/dist/gate/gate_engine.js +43 -6
  97. package/dist/gate/gate_engine.js.map +1 -1
  98. package/dist/gate/gate_registry_bridge.d.ts +10 -0
  99. package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
  100. package/dist/gate/gate_registry_bridge.js +2 -3
  101. package/dist/gate/gate_registry_bridge.js.map +1 -1
  102. package/dist/gate/release/gate_checks/checkAssetAntiBloat.d.ts.map +1 -1
  103. package/dist/gate/release/gate_checks/checkAssetAntiBloat.js +3 -0
  104. package/dist/gate/release/gate_checks/checkAssetAntiBloat.js.map +1 -1
  105. package/dist/server/tools/index.d.ts.map +1 -1
  106. package/dist/server/tools/index.js +4 -2
  107. package/dist/server/tools/index.js.map +1 -1
  108. package/dist/server/tools/middleware.d.ts.map +1 -1
  109. package/dist/server/tools/middleware.js +1 -0
  110. package/dist/server/tools/middleware.js.map +1 -1
  111. package/dist/server/tools/schemas.d.ts +10 -0
  112. package/dist/server/tools/schemas.d.ts.map +1 -1
  113. package/dist/server/tools/schemas.js +10 -0
  114. package/dist/server/tools/schemas.js.map +1 -1
  115. package/dist/server/tools/sf_doctor.d.ts +7 -0
  116. package/dist/server/tools/sf_doctor.d.ts.map +1 -1
  117. package/dist/server/tools/sf_doctor.js +38 -2
  118. package/dist/server/tools/sf_doctor.js.map +1 -1
  119. package/dist/server/tools/sf_waiver.d.ts +31 -0
  120. package/dist/server/tools/sf_waiver.d.ts.map +1 -0
  121. package/dist/server/tools/sf_waiver.js +139 -0
  122. package/dist/server/tools/sf_waiver.js.map +1 -0
  123. package/dist/server/tools/sf_work.d.ts +28 -37
  124. package/dist/server/tools/sf_work.d.ts.map +1 -1
  125. package/dist/server/tools/sf_work.js +155 -83
  126. package/dist/server/tools/sf_work.js.map +1 -1
  127. package/dist/shared/paths.d.ts +4 -0
  128. package/dist/shared/paths.d.ts.map +1 -1
  129. package/dist/shared/paths.js +6 -0
  130. package/dist/shared/paths.js.map +1 -1
  131. package/dist/types/pipeline_types.d.ts +4 -1
  132. package/dist/types/pipeline_types.d.ts.map +1 -1
  133. package/dist/verify/audit/probe_executor.d.ts +4 -1
  134. package/dist/verify/audit/probe_executor.d.ts.map +1 -1
  135. package/dist/verify/audit/probe_executor.js +4 -1
  136. package/dist/verify/audit/probe_executor.js.map +1 -1
  137. package/dist/verify/audit/probe_rule.d.ts +3 -0
  138. package/dist/verify/audit/probe_rule.d.ts.map +1 -1
  139. package/dist/verify/audit/probe_rule.js +3 -0
  140. package/dist/verify/audit/probe_rule.js.map +1 -1
  141. package/dist/verify/contracts/runtime_state_recovery_registry.d.ts.map +1 -1
  142. package/dist/verify/contracts/runtime_state_recovery_registry.js +0 -1
  143. package/dist/verify/contracts/runtime_state_recovery_registry.js.map +1 -1
  144. package/dist/verify/oda/probes/index.d.ts.map +1 -1
  145. package/dist/verify/oda/probes/index.js +2 -0
  146. package/dist/verify/oda/probes/index.js.map +1 -1
  147. package/dist/verify/oda/probes/slice_progress_probe.d.ts +4 -0
  148. package/dist/verify/oda/probes/slice_progress_probe.d.ts.map +1 -0
  149. package/dist/verify/oda/probes/slice_progress_probe.js +144 -0
  150. package/dist/verify/oda/probes/slice_progress_probe.js.map +1 -0
  151. package/package.json +1 -1
  152. package/templates/build/enforced.md +30 -22
  153. package/templates/build//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201.md +1 -0
  154. package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +2 -1
  155. package/templates/design//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +5 -5
  156. package/templates/design//345/210/207/347/211/207/350/247/204/345/210/222.md +3 -1
  157. package/templates/design//345/274/200/345/217/221/345/210/207/347/211/207/350/256/241/345/210/222.md +2 -1
  158. package/templates/operate/UI/350/247/206/350/247/211/351/252/214/346/224/266/347/272/252/345/276/213.md +13 -2
  159. package/templates/operate/enforced.md +2 -2
  160. package/templates/shared/enforced.md +1 -1
  161. package/templates/shared//345/267/245/344/275/234/346/265/201/347/241/254/350/247/204/345/210/231/345/245/221/347/272/246.md +2 -2
  162. package/templates/verify/enforced.md +11 -2
  163. package/templates/verify//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +2 -2
  164. package/templates/verify//345/256/241/346/237/245/346/270/205/345/215/225.md +3 -1
  165. package/dist/gate/executors/executors_openapi_sync.d.ts +0 -23
  166. package/dist/gate/executors/executors_openapi_sync.d.ts.map +0 -1
  167. package/dist/gate/executors/executors_openapi_sync.js +0 -145
  168. package/dist/gate/executors/executors_openapi_sync.js.map +0 -1
@@ -18,7 +18,7 @@ import { createToolRegistrar } from "./middleware.js";
18
18
  import { initializeDomainEngines, ALL_CONTRACTS } from "../../domain/index.js";
19
19
  import { DomainRegistry } from "../../domain/registry.js";
20
20
  import { GateRecordStore } from "../../core/gate_record_store.js";
21
- import { AdversarialReviewStore, MAX_REVIEW_ROUNDS, checkConvergence, checkOscillation, diffErrors, countBySeverity, } from "../../core/adversarial_review_store.js";
21
+ import { AdversarialReviewStore, REVIEW_SAMPLE_K, checkSamplingComplete, computeIntersection, countBySeverity, } from "../../core/adversarial_review_store.js";
22
22
  import { isTransitionAllowed, detectLoop } from "../../core/domain_transition.js";
23
23
  import { getFileGitHash } from "../../core/git_utils.js";
24
24
  import { loadGatesForDomain, evaluateGate, computeRulesetHash } from "../../gate/gate_engine.js";
@@ -35,7 +35,7 @@ function toSystemType(ctx) {
35
35
  /** sf_work 参数 schema */
36
36
  const sfWorkSchema = {
37
37
  domain: z.enum(["design", "build", "verify", "operate"]).describe("目标域"),
38
- action: z.enum(SF_WORK_ACTIONS).describe("动作:observe=查看状态 / deliberate=产出前条件研讨(有疑问才触发头脑风暴+第一性原理,无疑问举证一行) / act=获取 prompt / verify=执行门禁 / adversarial_review=对抗审查(per-artifact 单产物 / cross-artifact 跨产物,loop-until-dry 零 error 收敛、多利益方独立对抗)"),
38
+ action: z.enum(SF_WORK_ACTIONS).describe("动作:observe=查看状态 / deliberate=产出前条件研讨(有疑问才触发头脑风暴+第一性原理,无疑问举证一行) / act=获取 prompt / verify=执行门禁 / verify_slice=切片完成时跑切片级门禁(docker compose build/up+HTTP验收+playwright e2e 硬验证) / adversarial_review=对抗审查(per-artifact 单产物 / cross-artifact 跨产物,K 次独立采样取交集、多利益方独立对抗)"),
39
39
  target: z.string().optional().describe("目标产物 kind(act 时必填)"),
40
40
  artifact_path: z.string().optional().describe("产物路径(verify 时指定)"),
41
41
  artifact: z.string().optional().describe("对抗审查指定单产物 kind(adversarial_review per-artifact 模式;不传=cross-artifact 跨产物)"),
@@ -100,6 +100,9 @@ export async function registerSfWorkTools(ctx) {
100
100
  else if (action === "adversarial_review") {
101
101
  return await handleAdversarialReview(projectRoot, task, args, taskContext);
102
102
  }
103
+ else if (action === "verify_slice") {
104
+ return await handleVerifySlice(engine, task, projectRoot, taskContext, args);
105
+ }
103
106
  else {
104
107
  return await handleVerify(engine, task, projectRoot, taskContext, args);
105
108
  }
@@ -218,8 +221,8 @@ export async function handleAct(engine, task, args, projectRoot) {
218
221
  if (!isRewrite) {
219
222
  const adversarialStore = new AdversarialReviewStore(projectRoot);
220
223
  const reviews = await adversarialStore.listByTask(task.task_id);
221
- // converged 收敛 或 escalated 升级人工 都算「审过」(oscillated 震荡未收敛不算,须再审)
222
- const reviewedKinds = new Set(reviews.filter((r) => r.mode === "per_artifact" && (r.converged || r.status === "escalated")).map((r) => r.artifact_path));
224
+ // 审查完成(K 轮独立采样)即算「审过」——findings 留痕不阻断,只校验"审查执行过"
225
+ const reviewedKinds = new Set(reviews.filter((r) => r.mode === "per_artifact" && r.status === "completed").map((r) => r.artifact_path));
223
226
  // 需审 verified:当前域 + 上游域(跨域查上游堵最后产物漏审)
224
227
  const domainsToCheck = new Set([engine.contract.name]);
225
228
  for (const req of engine.contract.requires_upstream)
@@ -264,14 +267,14 @@ export async function handleAct(engine, task, args, projectRoot) {
264
267
  const xStore = new AdversarialReviewStore(projectRoot);
265
268
  const xReviews = await xStore.listByTask(task.task_id);
266
269
  const xPerArtifacts = xReviews.filter((r) => r.mode === "per_artifact");
267
- const xCrossArtifacts = xReviews.filter((r) => r.mode === "cross_artifact" && (r.converged || r.status === "escalated"));
270
+ const xCrossArtifacts = xReviews.filter((r) => r.mode === "cross_artifact" && r.status === "completed");
268
271
  const xCrossLatest = xCrossArtifacts.sort((a, b) => b.updated_at - a.updated_at)[0];
269
272
  if (!xCrossLatest) {
270
273
  return { result: {
271
274
  success: false,
272
275
  gate_blocked: true,
273
- error: `跨域推进前须做 cross-artifact 对抗审查(上游域所有产物:多利益方独立对抗 + 跨产物一致性 + 完整性 + 研讨充分性),当前无收敛记录。`,
274
- next_step: `调 sf_work action="adversarial_review"(不传 artifact,cross-artifact 审当前域所有产物),loop-until-dry error 收敛后再推进下一域`,
276
+ error: `跨域推进前须做 cross-artifact 对抗审查(上游域所有产物:多利益方独立对抗 + 跨产物一致性 + 完整性 + 研讨充分性),当前无完成记录。`,
277
+ next_step: `调 sf_work action="adversarial_review"(不传 artifact,cross-artifact 审当前域所有产物),完成 K 轮独立采样后再推进下一域`,
275
278
  } };
276
279
  }
277
280
  const xLatestPer = xPerArtifacts.sort((a, b) => b.updated_at - a.updated_at)[0];
@@ -280,7 +283,7 @@ export async function handleAct(engine, task, args, projectRoot) {
280
283
  success: false,
281
284
  gate_blocked: true,
282
285
  error: `cross-artifact 审查已过时(在最新 per-artifact 审查之前)。上游域最新产物产出后须重新 cross-artifact 审。`,
283
- next_step: `调 sf_work action="adversarial_review"(不传 artifact)重审当前域所有产物,收敛后再推进`,
286
+ next_step: `调 sf_work action="adversarial_review"(不传 artifact)重审当前域所有产物,完成后再次推进`,
284
287
  } };
285
288
  }
286
289
  }
@@ -400,6 +403,9 @@ async function handleVerify(engine, task, projectRoot, taskContext, args) {
400
403
  // 真实执行域门禁:让 verify 名副其实,findings 含 ARC/PER 等真实违规(Reflexion 反馈数据源)。
401
404
  // 仅在产物存在时跑 gate(产物不存在时 gate 检查无意义,直接报 artifact_exists)。
402
405
  const gateFindings = [];
406
+ const waivedFindings = [];
407
+ const appliedWaiverIds = new Set();
408
+ const skippedSliceChecks = []; // 透明层:切片级 check 的 skipped(docker/e2e 没真跑),供 next_step 提示防 AI 被 passed=true 骗
403
409
  let gatePassed = true;
404
410
  let recoverySummary = "";
405
411
  if (artifactExists) {
@@ -417,11 +423,16 @@ async function handleVerify(engine, task, projectRoot, taskContext, args) {
417
423
  const evalCtx = {
418
424
  projectRoot,
419
425
  stage: domain,
426
+ artifactPath: artifact.path_pattern,
420
427
  systemType: toSystemType(task.system_context),
421
428
  tech_stack: techStack,
422
429
  taskContext: task,
423
430
  };
424
431
  for (const gate of gates) {
432
+ // 强制层:普通 verify 跳过 slice-gate(切片级 docker/e2e 由专门 verify_slice 触发,
433
+ // 避免混跑误伤开发调试 + 让切片验证有独立硬入口)
434
+ if (gate.gate_scope === "slice")
435
+ continue;
425
436
  // per-产物路由:只跑无 required_artifact 的通用 check + 命中当前 verify 产物的专属 check。
426
437
  // 修复 per-域缺陷:此前 verify 任一产物跑整个 domain-gate,逐个产出时前面产物被后面章节检查阻断。
427
438
  const filteredChecks = gate.checks.filter((c) => {
@@ -432,6 +443,12 @@ async function handleVerify(engine, task, projectRoot, taskContext, args) {
432
443
  return (CROSS_VALIDATION_ARTIFACT_PATHS[c.required_artifact] || []).includes(artifact.path_pattern);
433
444
  });
434
445
  const result = await evaluateGate({ ...gate, checks: filteredChecks }, evalCtx);
446
+ // 透明层:聚合切片级 check 的 skipped(docker/e2e 没真跑),供 next_step 提示防 AI 被假通过骗
447
+ for (const cr of result.check_results) {
448
+ if (cr.skipped && /^SLICE-/.test(cr.check_id) && !skippedSliceChecks.includes(cr.check_id)) {
449
+ skippedSliceChecks.push(cr.check_id);
450
+ }
451
+ }
435
452
  if (!result.passed) {
436
453
  gatePassed = false;
437
454
  recoverySummary = result.recovery_summary || recoverySummary;
@@ -455,6 +472,25 @@ async function handleVerify(engine, task, projectRoot, taskContext, args) {
455
472
  message: d.error || d.rule || d.name,
456
473
  });
457
474
  }
475
+ // 被豁免(waiver)的失败项:标 waived=true/waiver_id/waiver_reason 供 Reflexion 看真相,
476
+ // 但不阻断(gate_engine 已从 blocking_errors 排除,gatePassed 不受影响)。
477
+ for (const d of result.waived_details) {
478
+ const applied = result.applied_waivers.find((a) => a.check_id === d.check_id);
479
+ const f = {
480
+ check_id: d.check_id,
481
+ check_name: d.name,
482
+ passed: false,
483
+ severity: "error",
484
+ message: d.error || d.rule || d.name,
485
+ waived: true,
486
+ waiver_id: applied?.waiver_id,
487
+ waiver_reason: applied?.reason,
488
+ };
489
+ gateFindings.push(f);
490
+ waivedFindings.push(f);
491
+ if (applied)
492
+ appliedWaiverIds.add(applied.waiver_id);
493
+ }
458
494
  }
459
495
  }
460
496
  catch (err) {
@@ -514,6 +550,8 @@ async function handleVerify(engine, task, projectRoot, taskContext, args) {
514
550
  : (recoverySummary || undefined),
515
551
  evaluated_at: Date.now(),
516
552
  ruleset_hash: computeRulesetHash(domain),
553
+ waived_findings: waivedFindings.length > 0 ? waivedFindings : undefined,
554
+ waiver_ids: appliedWaiverIds.size > 0 ? Array.from(appliedWaiverIds) : undefined,
517
555
  };
518
556
  await gateStore.write(record);
519
557
  // 治本:检查 pending_return 恢复(通过后才恢复)
@@ -542,16 +580,87 @@ async function handleVerify(engine, task, projectRoot, taskContext, args) {
542
580
  gate_record: record,
543
581
  retry_count: record.retry_count,
544
582
  next_step: passed
545
- ? "门禁通过。建议调 sf_work action=adversarial_review 排独立 agent 对抗复审(产物校验标准环节,全新视角复核,不论门禁通过与否)。复审后再继续下一个产物或切换域。"
583
+ ? (skippedSliceChecks.length > 0
584
+ ? `门禁通过,但 ⚠️ 切片级验证 [${skippedSliceChecks.join(", ")}] skipped(docker/e2e 未真执行)——若项目需 docker/e2e 验证,请产 docker-compose.yml / playwright.config 后重验,确保切片交付前真跑。之后调 sf_work action=adversarial_review 对抗复审。`
585
+ : "门禁通过。建议调 sf_work action=adversarial_review 排独立 agent 对抗复审(产物校验标准环节,全新视角复核,不论门禁通过与否)。复审后再继续下一个产物或切换域。")
546
586
  : "门禁未通过。按 recovery_guidance 修复后重新 verify;修复后建议 sf_work action=adversarial_review 排独立 agent 对抗复审。",
547
587
  },
548
588
  };
549
589
  }
590
+ /**
591
+ * verify_slice:切片完成时专门跑切片级门禁(slice-gate: docker compose build/up + HTTP 验收 + playwright e2e)。
592
+ * 强制层:普通 verify 跳过 slice-gate(不混跑误伤开发),切片完成时 AI 显式调此 action 触发 docker/e2e 硬验证。
593
+ * 不写 per-artifact GateRecord(切片级非产物);结果直接返回(passed + findings + skipped 透明)。
594
+ */
595
+ async function handleVerifySlice(engine, task, projectRoot, _taskContext, _args) {
596
+ const domain = engine.contract.name;
597
+ // design 域无切片实现(设计阶段无代码/部署)
598
+ if (domain === "design") {
599
+ return { result: { success: true, passed: true, message: "design 域无切片实现,无需切片级验证" } };
600
+ }
601
+ // 解析技术栈(slice-gate 的 check 可能按技术栈过滤)
602
+ let techStack = null;
603
+ try {
604
+ techStack = (await resolveConfig(projectRoot)).tech_stack;
605
+ }
606
+ catch (configErr) {
607
+ debug("切片验证", `技术栈解析失败,降级全跑: ${configErr instanceof Error ? configErr.message : String(configErr)}`);
608
+ }
609
+ // 只跑 gate_scope=slice 的 gate(普通 verify 已跳过,此处专门触发 docker/e2e)
610
+ const sliceGates = loadGatesForDomain(domain, projectRoot).filter((g) => g.gate_scope === "slice");
611
+ if (sliceGates.length === 0) {
612
+ return { result: { success: true, passed: true, message: "项目无切片级门禁 check(SLICE-BUILD/UP/HTTP/E2E),切片验证跳过" } };
613
+ }
614
+ const evalCtx = {
615
+ projectRoot,
616
+ stage: domain,
617
+ systemType: toSystemType(task.system_context),
618
+ tech_stack: techStack,
619
+ taskContext: task,
620
+ };
621
+ let slicePassed = true;
622
+ const findings = [];
623
+ const skippedChecks = [];
624
+ for (const gate of sliceGates) {
625
+ const result = await evaluateGate(gate, evalCtx);
626
+ if (!result.passed)
627
+ slicePassed = false;
628
+ for (const d of result.blocking_details) {
629
+ findings.push({ check_id: d.check_id, severity: "error", message: d.error || d.rule || d.name });
630
+ }
631
+ for (const d of result.warning_details) {
632
+ findings.push({ check_id: d.check_id, severity: "warning", message: d.error || d.rule || d.name });
633
+ }
634
+ for (const cr of result.check_results) {
635
+ if (cr.skipped && !skippedChecks.includes(cr.check_id))
636
+ skippedChecks.push(cr.check_id);
637
+ }
638
+ }
639
+ return {
640
+ result: {
641
+ success: true,
642
+ passed: slicePassed,
643
+ domain,
644
+ gate_scope: "slice",
645
+ findings,
646
+ skipped_slice_checks: skippedChecks,
647
+ message: slicePassed
648
+ ? (skippedChecks.length > 0
649
+ ? `切片级验证通过,但 ⚠️ [${skippedChecks.join(", ")}] skipped(docker/e2e 未真执行)——产 docker-compose.yml / playwright.config 后重验 verify_slice`
650
+ : "切片级验证通过(docker/e2e 真执行)")
651
+ : `切片级验证未通过(docker/e2e 失败),按 findings 修复后重验 verify_slice`,
652
+ next_step: slicePassed
653
+ ? "切片级验证通过,可推进下一切片或切换域"
654
+ : "修复 docker/e2e 问题后重新 verify_slice,通过后再推进",
655
+ },
656
+ };
657
+ }
550
658
  /** adversarial_review:对抗性独立审查(per-artifact 单产物 / cross-artifact 跨产物一致性)。
551
659
  * SoloForge 不调 LLM——只组装 prompt 返回,AI 用独立 session/subagent 执行(避免确认偏见)。
552
- * loop-until-dry:不限轮数,新一轮零 error 才达标;warning 软收敛记遗留;震荡/超轮熔断升级。
660
+ * K 次独立采样取交集:K=REVIEW_SAMPLE_K 轮独立审查,每轮不参考前轮结论,完成后取多数交集。
661
+ * 确定性边界原则:findings 留痕不阻断——放弃"零 error 收敛"(LLM 裁判不可收敛),act 只校验"审过"。
553
662
  * 多利益方独立对抗:用户/攻击者/维护者/性能/合规 各自独立目标函数,避免单一视角确认偏见。 */
554
- export async function handleAdversarialReview(projectRoot, task, args, taskContext) {
663
+ export async function handleAdversarialReview(projectRoot, task, args, _taskContext) {
555
664
  const store = new AdversarialReviewStore(projectRoot);
556
665
  const round = typeof args.round === "number" ? args.round : 1;
557
666
  const artifactKind = args.artifact;
@@ -569,9 +678,9 @@ export async function handleAdversarialReview(projectRoot, task, args, taskConte
569
678
  artifacts,
570
679
  rounds: [],
571
680
  total_rounds: 0,
572
- converged: false,
573
- oscillation_detected: false,
574
- remaining_warnings: [],
681
+ completed: false,
682
+ sample_k: REVIEW_SAMPLE_K,
683
+ retained_findings: [],
575
684
  status: "in_progress",
576
685
  created_at: now,
577
686
  updated_at: now,
@@ -593,7 +702,7 @@ export async function handleAdversarialReview(projectRoot, task, args, taskConte
593
702
  },
594
703
  };
595
704
  }
596
- // ── 后续轮:处理 findings,判定收敛/震荡/超轮 ──
705
+ // ── 后续轮:处理 findings,判定 K 轮采样是否完成 ──
597
706
  const reviewId = args.review_id;
598
707
  if (!reviewId) {
599
708
  return { result: { success: false, error: `round=${round} 须带 review_id(首轮返回的会话 ID)` } };
@@ -603,27 +712,26 @@ export async function handleAdversarialReview(projectRoot, task, args, taskConte
603
712
  return { result: { success: false, error: `review_id ${reviewId} 不存在(可能跨会话丢失)` } };
604
713
  }
605
714
  const findings = normalizeFindings(args.findings);
606
- const prevRound = record.rounds[record.rounds.length - 1];
607
- const { new_errors, fixed_errors } = diffErrors(prevRound, findings);
608
715
  const { error_count, warning_count } = countBySeverity(findings);
609
716
  const roundRecord = {
610
717
  round,
611
718
  findings,
612
719
  error_count,
613
720
  warning_count,
614
- new_errors,
615
- fixed_errors,
616
721
  reviewed_at: Date.now(),
617
722
  };
618
723
  record.rounds.push(roundRecord);
619
724
  record.total_rounds = round;
620
725
  record.updated_at = Date.now();
621
- // 收敛达标(连续一轮零 error;warning 软收敛记遗留)
622
- if (checkConvergence(record.rounds)) {
623
- record.status = "converged";
624
- record.converged = true;
625
- record.converged_round = round;
626
- record.remaining_warnings = findings.filter((f) => f.severity === "warning");
726
+ const k = record.sample_k ?? REVIEW_SAMPLE_K;
727
+ // K 次独立采样完成 → 聚合取交集,达标(findings 留痕不阻断)
728
+ if (checkSamplingComplete(record.rounds, k)) {
729
+ const intersection = computeIntersection(record.rounds);
730
+ record.status = "completed";
731
+ record.completed = true;
732
+ record.completed_round = round;
733
+ record.intersection_findings = intersection;
734
+ record.retained_findings = intersection.filter((f) => !f.dismissed);
627
735
  await store.write(record);
628
736
  return {
629
737
  result: {
@@ -631,53 +739,20 @@ export async function handleAdversarialReview(projectRoot, task, args, taskConte
631
739
  action: "adversarial_review",
632
740
  review_id: reviewId,
633
741
  round,
634
- review_status: "converged",
635
- round_summary: { errors: error_count, warnings: warning_count, new_errors, fixed_errors },
636
- remaining_warnings: record.remaining_warnings.length,
637
- converged: true,
638
- next_step: `对抗审查达标(连续一轮零 error)。${record.remaining_warnings.length} 个 warning 记为遗留项(软收敛,不阻断交付)。可继续下一产物或切换域。`,
639
- },
640
- };
641
- }
642
- // 震荡熔断(连续多轮修一个引入一个,问题集合不收敛)
643
- if (checkOscillation(record.rounds)) {
644
- record.status = "oscillated";
645
- record.oscillation_detected = true;
646
- record.oscillation_round = round;
647
- await store.write(record);
648
- await taskContext.updateStatus(task.task_id, "escalated");
649
- return {
650
- result: {
651
- success: false,
652
- action: "adversarial_review",
653
- review_id: reviewId,
654
- round,
655
- review_status: "oscillated",
656
- round_summary: { errors: error_count, warnings: warning_count, new_errors, fixed_errors },
657
- next_step: "检测到震荡(连续多轮修一个引入一个,问题集合不收敛),任务已升级处理。建议人工介入排查根因。",
742
+ review_status: "completed",
743
+ sample_k: k,
744
+ round_summary: { errors: error_count, warnings: warning_count },
745
+ intersection_count: intersection.length,
746
+ intersection_findings: intersection,
747
+ retained_count: record.retained_findings.length,
748
+ completed: true,
749
+ next_step: `对抗审查完成(${k} 次独立采样,交集 ${intersection.length} 条发现)。error 留痕不阻断,可继续下一产物或切换域。`,
658
750
  },
659
751
  };
660
752
  }
661
- // 超轮次兜底(对齐 verify max_retries=5)
662
- if (round >= MAX_REVIEW_ROUNDS) {
663
- record.status = "escalated";
664
- await store.write(record);
665
- await taskContext.updateStatus(task.task_id, "escalated");
666
- return {
667
- result: {
668
- success: false,
669
- action: "adversarial_review",
670
- review_id: reviewId,
671
- round,
672
- review_status: "escalated",
673
- round_summary: { errors: error_count, warnings: warning_count, new_errors, fixed_errors },
674
- next_step: `已达轮次上限(${MAX_REVIEW_ROUNDS})仍有 ${error_count} 个 error 未清零,任务已升级处理。建议人工介入。`,
675
- },
676
- };
677
- }
678
- // 继续:注入上轮 findings 反馈,组装下一轮 prompt(Reflexion 模式)
753
+ // 未完成 K 轮 → 继续(每轮独立,不注入前轮反馈,保独立性)
679
754
  await store.write(record);
680
- const prompt = buildReviewPrompt(record.artifacts, record.mode, formatRoundFeedback(roundRecord));
755
+ const prompt = buildReviewPrompt(record.artifacts, record.mode, "");
681
756
  return {
682
757
  result: {
683
758
  success: true,
@@ -685,9 +760,11 @@ export async function handleAdversarialReview(projectRoot, task, args, taskConte
685
760
  review_id: reviewId,
686
761
  round,
687
762
  review_status: "in_progress",
688
- round_summary: { errors: error_count, warnings: warning_count, new_errors, fixed_errors },
763
+ rounds_completed: record.rounds.length,
764
+ sample_k: k,
765
+ round_summary: { errors: error_count, warnings: warning_count },
689
766
  prompt,
690
- next_step: `本轮仍有 ${error_count} error 未达标。修复后继续:sf_work action="adversarial_review" round=${round + 1} review_id="${reviewId}" findings=[...]`,
767
+ next_step: `已完成 ${record.rounds.length}/${k} 轮独立采样。用全新独立 session 执行上述 prompt(不参考前轮结论,保持独立性),完成后带回 findings:sf_work action="adversarial_review" round=${round + 1} review_id="${reviewId}" findings=[...]`,
691
768
  },
692
769
  };
693
770
  }
@@ -739,7 +816,7 @@ async function collectDeliberationRecords(projectRoot, artifacts) {
739
816
  }
740
817
  /** 组装多利益方独立对抗审查 prompt。
741
818
  * 5 方(用户/攻击者/维护者/性能/合规)各自独立目标函数,审查前不得互参,最后交叉汇总。
742
- * loop-until-dry 收敛语义写进 prompt:连续一轮零 error 才达标。 */
819
+ * K 次独立采样语义写进 prompt:每轮独立不互参,完成后取多数交集。 */
743
820
  function buildReviewPrompt(artifacts, mode, prevFeedback) {
744
821
  const modeLabel = mode === "per_artifact" ? "per-artifact 单产物深度" : "cross-artifact 跨产物一致性";
745
822
  const extraDim = mode === "cross_artifact"
@@ -755,7 +832,7 @@ function buildReviewPrompt(artifacts, mode, prevFeedback) {
755
832
  const feedbackSection = prevFeedback
756
833
  ? `\n## ⚠️ 上轮审查发现(必须先验证是否已修复,再继续找新问题)\n${prevFeedback}\n`
757
834
  : "";
758
- return `# 对抗性独立审查(${modeLabel},loop-until-dry)
835
+ return `# 对抗性独立审查(${modeLabel},K-sample 独立采样)
759
836
 
760
837
  你是**独立审查 agent**,与产物创建 agent 完全隔离(不同 session、全新视角)。**默认所有产物有问题**,禁止说"看起来没问题"。每条发现必须 \`quote\` 引用原文——空泛=凑数=无效,会被丢弃。
761
838
 
@@ -784,11 +861,13 @@ N+1 / 瓶颈 / 资源泄漏 / 锁竞争 / 扩展性?
784
861
 
785
862
  ${extraDim}
786
863
  ${feedbackSection}
787
- ## 收敛规则(loop-until-dry)
788
- - 本轮发现 error 级 → 修复后继续下一轮;**连续一整轮零 error 才达标**(warning/info 不阻断,记遗留)
789
- - 禁止凑数提前停,禁止为省事放过 error,禁止用 warning 冒充 error 凑数
864
+ ## 采样规则(K 次独立采样取交集)
865
+ - 你是本轮(第 N/K 轮)**独立采样**,**不得参考前轮结论**(保持独立性,避免确认偏见)
866
+ - 每条发现必须 \`quote\` 引用原文——空泛=凑数=无效,会被丢弃
867
+ - error/warning/info 均如实记录,**不追求"零 error"**(findings 留痕不阻断,引擎只取多轮复现的交集)
868
+ - 禁止凑数、禁止为省事放过真问题、禁止用 warning 冒充 error
790
869
 
791
- ## 输出格式(严格 JSON 数组,引擎据此判定收敛)
870
+ ## 输出格式(严格 JSON 数组,引擎据此计轮数取交集)
792
871
  \`\`\`json
793
872
  [
794
873
  {"severity":"error|warning|info","artifact":"产物路径","location":"章节/行","quote":"引用原文","issue":"问题","suggestion":"修复建议"}
@@ -797,13 +876,6 @@ ${feedbackSection}
797
876
  - 无问题也必须返回 \`[]\`(这是达标的信号,不是"没问题"四个字)
798
877
  - error 优先,按 severity 排序`;
799
878
  }
800
- /** 格式化上轮 findings 为反馈文本(Reflexion:上轮发现 → 注入下轮 prompt 针对性复核) */
801
- function formatRoundFeedback(round) {
802
- if (round.findings.length === 0)
803
- return "";
804
- const lines = round.findings.map((f) => `- [${f.severity}] ${f.artifact} ${f.location}:${f.issue}${f.suggestion ? ` → 建议:${f.suggestion}` : ""}`);
805
- return `第 ${round.round} 轮发现 ${round.error_count} error / ${round.warning_count} warning:\n${lines.join("\n")}`;
806
- }
807
879
  /** 规范化客户端提交的 findings(容错:校验 severity + 补全字符串字段 + 过滤无效条目) */
808
880
  function normalizeFindings(raw) {
809
881
  if (!Array.isArray(raw))
@@ -1 +1 @@
1
- {"version":3,"file":"sf_work.js","sourceRoot":"","sources":["../../../src/server/tools/sf_work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sf_work.js","sourceRoot":"","sources":["../../../src/server/tools/sf_work.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAIhB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,mEAAmE;AACnE,SAAS,YAAY,CAAC,GAAuB;IAC3C,OAAO,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9C,CAAC;AAED,wBAAwB;AACxB,MAAM,YAAY,GAAG;IACnB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,iQAAiQ,CAAC;IAC3S,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC5D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;IACpH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACzF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACxE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6GAA6G,CAAC;CAC9J,CAAC;AAEF,8BAA8B;AAC9B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAA4B;IACpE,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IAEpC,gBAAgB,CACd,SAAS,EACT,yHAAyH,EACzH,YAAY,EACZ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAmD,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAA6F,CAAC;QAElH,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;YAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC;YAC3E,CAAC;YAED,QAAQ;YACR,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,MAAM,EAAE;4BACN,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,OAAO,IAAI,CAAC,YAAY,MAAM,MAAM,gBAAgB;yBAC5D;qBACF,CAAC;gBACJ,CAAC;gBAED,QAAQ;gBACR,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,+DAA+D;oBAC/D,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAC1D,OAAO;wBACL,MAAM,EAAE;4BACN,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,WAAW,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,aAAa;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBAED,gFAAgF;gBAChF,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvD,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,MAAM,MAAM,EAAE,EAAE,CAAC,CAAC;YAClJ,CAAC;YAED,cAAc;YACd,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBACnC,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;gBAC3C,OAAO,MAAM,uBAAuB,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBACrC,OAAO,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,WAAW,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAClF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,QAAQ;AACR,8CAA8C;AAE9C,mBAAmB;AACnB,KAAK,UAAU,aAAa,CAC1B,MAAyC,EACzC,IAAwB;IAExB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;IAE/D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,KAAK,CAAC,cAAc;YAC5B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;YACrC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACjH,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBAC/D,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;oBACvC,CAAC,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG;oBACrE,CAAC,CAAC,wCAAwC,KAAK,CAAC,cAAc,aAAa,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;SACtJ;KACF,CAAC;AACJ,CAAC;AAED,oBAAoB;AACpB,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAyC,EACzC,IAAiB,EACjB,IAA6B,EAC7B,WAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC;IAC3E,CAAC;IACD,4DAA4D;IAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,MAAM,QAAQ,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAChH,EAAC,CAAC;IACL,CAAC;IAED,yFAAyF;IACzF,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,EAAE,qCAAqC,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,MAAM,qCAAqC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE;oBACf,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa;oBACvD,YAAY,EAAE,IAAI;oBAClB,cAAc,EAAE,UAAU,CAAC,iBAAiB;oBAC5C,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,SAAS,EAAE,UAAU,CAAC,iBAAiB;wBACrC,CAAC,CAAC,sBAAsB,UAAU,CAAC,WAAW,qCAAqC;wBACnF,CAAC,CAAC,WAAW;iBAChB,EAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,wCAAwC;IACxC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,mDAAmD;IACnD,6BAA6B;IAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;WAC5E,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACnE,kFAAkF;IAClF,IAAI,WAAW,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzG,OAAO,EAAE,MAAM,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,WAAW,OAAO,qBAAqB,MAAM,0CAA0C;gBAC9F,SAAS,EAAE,mBAAmB,OAAO,WAAW;aACjD,EAAC,CAAC;IACL,CAAC;IACD,4CAA4C;IAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC;IACrG,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,MAAM,MAAM,sBAAsB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC9D,SAAS,EAAE,gCAAgC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,MAAM,GAAG;aAClF,EAAC,CAAC;IACL,CAAC;IACD,wDAAwD;IACxD,0EAA0E;IAC1E,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjF,OAAO,EAAE,MAAM,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,WAAW,UAAU,wEAAwE;gBACpG,SAAS,EAAE,gCAAgC,UAAU,EAAE;aACxD,EAAC,CAAC;IACL,CAAC;IACD,kEAAkE;IAClE,+EAA+E;IAC/E,sDAAsD;IACtD,yEAAyE;IACzE,4DAA4D;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,gBAAgB,GAAG,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,iDAAiD;QACjD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CACzG,CAAC;QACF,sCAAsC;QACtC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB;YAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAmB,CAAC,CAAC;YAClG,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,MAAM,GAAG,WAAW,CAAC;YACzB,IAAI,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,uFAAuF;gBACvF,gEAAgE;gBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,KAAmB,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,OAAO,EAAE,MAAM,EAAE;oBACf,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,6BAA6B,cAAc,kDAAkD;oBACpG,SAAS,EAAE,+DAA+D,cAAc,EAAE;iBAC3F,EAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,+FAA+F;IAC/F,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QACxE,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QACxG,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,MAAM,EAAE;oBACf,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,+EAA+E;oBACtF,SAAS,EAAE,8FAA8F;iBAC1G,EAAC,CAAC;QACL,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,UAAU,IAAI,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;YAClE,OAAO,EAAE,MAAM,EAAE;oBACf,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,6EAA6E;oBACpF,SAAS,EAAE,qEAAqE;iBACjF,EAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5E,sEAAsE;IACtE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC5E,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnF,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3E,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;YACjG,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,YAAY,CAAC;IAC9F,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAExG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAElE,yBAAyB;IACzB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,2BAA2B,QAAQ,CAAC,OAAO,OAAO,QAAQ,CAAC,QAAQ,WAAW,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,CAAC,qBAAqB,GAAG,QAAQ,CAAC,SAAS,CAAC;IAElD,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,EAAE;YACzD,SAAS,EAAE,0EAA0E;SACtF;KACF,CAAC;AACJ,CAAC;AAED;;+CAE+C;AAC/C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAyC,EACzC,IAAiB,EACjB,IAA6B,EAC7B,WAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/D,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,iEAAiE,MAAM,gBAAgB;SACnG;KACF,CAAC;AACJ,CAAC;AAED,mCAAmC;AACnC,KAAK,UAAU,YAAY,CACzB,MAAyC,EACzC,IAAiB,EACjB,WAAmB,EACnB,WAA+B,EAC/B,IAA6B;IAE7B,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAmC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAEpC,WAAW;IACX,MAAM,QAAQ,GAAG,YAAY;QAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;QAClG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAErD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7D,CAAC;IAED,0BAA0B;IAC1B,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,aAAa;IACb,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,wEAAwE;QACxE,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,iBAAiB,KAAK,WAAW,CAAC;QACnF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC1D,OAAO;gBACL,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,cAAc,UAAU,uDAAuD;iBACvF;aACF,CAAC;QACJ,CAAC;QACD,6CAA6C;IAC/C,CAAC;IAED,6DAA6D;IAC7D,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,GAAG,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;IACnE,MAAM,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,kBAAkB;QACvC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAC;QAC7E,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAEjC,qBAAqB;IACrB,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,eAAe,GAAG,kBAAkB;gBAClC,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC;gBAC1C,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,eAAe,GAAG,WAAW,CAAC;QAChC,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,wDAAwD;IACxD,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,kBAAkB,GAAa,EAAE,CAAC,CAAE,6EAA6E;IACvH,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,4DAA4D;YAC5D,6CAA6C;YAC7C,IAAI,SAAS,GAAwC,IAAI,CAAC;YAC1D,IAAI,CAAC;gBACH,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;YAC5D,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,EAAE,iBAAiB,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG;gBACd,WAAW;gBACX,KAAK,EAAE,MAAM;gBACb,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC7C,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,kEAAkE;gBAClE,4BAA4B;gBAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO;oBAAE,SAAS;gBAC1C,sEAAsE;gBACtE,+DAA+D;gBAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC9C,IAAI,CAAC,CAAC,CAAC,iBAAiB;wBAAE,OAAO,IAAI,CAAC;oBACtC,IAAI,CAAC,CAAC,iBAAiB,KAAK,QAAQ,CAAC,YAAY;wBAAE,OAAO,IAAI,CAAC;oBAC/D,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACtG,CAAC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;gBAChF,qEAAqE;gBACrE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACtC,IAAI,EAAE,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC3F,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,UAAU,GAAG,KAAK,CAAC;oBACnB,eAAe,GAAG,MAAM,CAAC,gBAAgB,IAAI,eAAe,CAAC;gBAC/D,CAAC;gBACD,qDAAqD;gBACrD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBACxC,YAAY,CAAC,IAAI,CAAC;wBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,UAAU,EAAE,CAAC,CAAC,IAAI;wBAClB,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,OAAgB;wBAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI;qBACrC,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBACvC,YAAY,CAAC,IAAI,CAAC;wBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,UAAU,EAAE,CAAC,CAAC,IAAI;wBAClB,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,SAAkB;wBAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI;qBACrC,CAAC,CAAC;gBACL,CAAC;gBACD,yEAAyE;gBACzE,2DAA2D;gBAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBACtC,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC9E,MAAM,CAAC,GAAgB;wBACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,UAAU,EAAE,CAAC,CAAC,IAAI;wBAClB,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,OAAgB;wBAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI;wBACpC,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,OAAO,EAAE,SAAS;wBAC7B,aAAa,EAAE,OAAO,EAAE,MAAM;qBAC/B,CAAC;oBACF,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,OAAO;wBAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yDAAyD;YACzD,UAAU,GAAG,KAAK,CAAC;YACnB,eAAe,GAAG,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACjF,YAAY,CAAC,IAAI,CAAC;gBAChB,QAAQ,EAAE,aAAa;gBACvB,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,OAAgB;gBAC1B,OAAO,EAAE,eAAe;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,YAAY,CAAC,IAAI,CAAC;YAChB,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,OAAgB;YAC1B,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE;SACpC,CAAC,CAAC;QACH,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,IAAI,UAAU,CAAC;IAE5C,2EAA2E;IAC3E,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1C,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,wDAAwD;IACxD,MAAM,MAAM,GAAe;QACzB,MAAM,EAAE,MAAmD;QAC3D,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,QAAQ,CAAC,IAAI;QACxB,aAAa,EAAE,QAAQ,CAAC,YAAY;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,EAAG,oBAAoB;QAC/D,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC,cAAc;YACvB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAgB,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,YAAY,MAAM,EAAE,CAAC;YACnJ,CAAC,CAAC,YAAY;QAChB,iBAAiB,EAAE,CAAC,cAAc;YAChC,CAAC,CAAC,wBAAwB,MAAM,0BAA0B,QAAQ,CAAC,IAAI,QAAQ;YAC/E,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC;QAClC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;QACxB,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC;QACxC,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACvE,UAAU,EAAE,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;KACjF,CAAC;IAEF,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9B,kCAAkC;IAClC,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,qFAAqF;QACrF,MAAM,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAE/K,OAAO;YACL,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI,CAAC,cAAc;gBAC9B,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,oBAAoB,IAAI,CAAC,cAAc,CAAC,MAAM,QAAQ;aAChE;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,MAAM;YACN,MAAM;YACN,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM;gBACf,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;oBAC9B,CAAC,CAAC,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,oJAAoJ;oBACvM,CAAC,CAAC,sGAAsG,CAAC;gBAC3G,CAAC,CAAC,gGAAgG;SACrG;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAAyC,EACzC,IAAiB,EACjB,WAAmB,EACnB,YAAgC,EAChC,KAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpC,4BAA4B;IAC5B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC;IACvF,CAAC;IACD,qCAAqC;IACrC,IAAI,SAAS,GAAwC,IAAI,CAAC;IAC1D,IAAI,CAAC;QACH,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5D,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,MAAM,EAAE,iBAAiB,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,8DAA8D;IAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC;IACnG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gDAAgD,EAAE,EAAE,CAAC;IAChH,CAAC;IACD,MAAM,OAAO,GAAG;QACd,WAAW;QACX,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,MAAM,QAAQ,GAAmE,EAAE,CAAC;IACpF,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,WAAW,GAAG,KAAK,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,WAAW;YACnB,MAAM;YACN,UAAU,EAAE,OAAO;YACnB,QAAQ;YACR,oBAAoB,EAAE,aAAa;YACnC,OAAO,EAAE,WAAW;gBAClB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;oBACzB,CAAC,CAAC,iBAAiB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,uFAAuF;oBAClI,CAAC,CAAC,yBAAyB,CAAC;gBAC9B,CAAC,CAAC,uDAAuD;YAC3D,SAAS,EAAE,WAAW;gBACpB,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,yCAAyC;SAC9C;KACF,CAAC;AACJ,CAAC;AAED;;;;qDAIqD;AACrD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,IAAiB,EACjB,IAA6B,EAC7B,YAAgC;IAEhC,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,QAA8B,CAAC;IAEzD,gCAAgC;IAChC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,GAAsC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACjG,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAA4B;YACtC,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI;YACJ,aAAa,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,sIAAsI;YACzM,SAAS;YACT,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,eAAe;YACzB,iBAAiB,EAAE,EAAE;YACrB,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO;YACL,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,oBAAoB;gBAC5B,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,CAAC;gBACR,IAAI;gBACJ,WAAW,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,2BAA2B;gBAC7F,cAAc,EAAE,SAAS,CAAC,MAAM;gBAChC,SAAS;gBACT,MAAM;gBACN,SAAS,EAAE,4IAA4I,QAAQ,sEAAsE;aACtO;SACF,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAA+B,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,KAAK,2BAA2B,EAAE,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,QAAQ,eAAe,EAAE,EAAE,CAAC;IACrF,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,WAAW,GAAsB;QACrC,KAAK;QACL,QAAQ;QACR,WAAW;QACX,aAAa;QACb,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE/B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,eAAe,CAAC;IAE7C,uCAAuC;IACvC,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;QAC5B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,MAAM,CAAC,qBAAqB,GAAG,YAAY,CAAC;QAC5C,MAAM,CAAC,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,oBAAoB;gBAC5B,SAAS,EAAE,QAAQ;gBACnB,KAAK;gBACL,aAAa,EAAE,WAAW;gBAC1B,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE;gBAC/D,kBAAkB,EAAE,YAAY,CAAC,MAAM;gBACvC,qBAAqB,EAAE,YAAY;gBACnC,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM;gBAC/C,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,UAAU,CAAC,aAAa,YAAY,CAAC,MAAM,gCAAgC;aACvF;SACF,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,oBAAoB;YAC5B,SAAS,EAAE,QAAQ;YACnB,KAAK;YACL,aAAa,EAAE,aAAa;YAC5B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YACtC,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE;YAC/D,MAAM;YACN,SAAS,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,4GAA4G,KAAK,GAAG,CAAC,eAAe,QAAQ,kBAAkB;SAC1M;KACF,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,IAAuC,EACvC,YAAqB;IAErB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,IAAI,KAAK,cAAc,IAAI,YAAY,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC7F,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAClD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAClD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,sDAAsD;IACtD,MAAM,0BAA0B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4DAA4D;AAC5D,KAAK,UAAU,0BAA0B,CAAC,WAAmB,EAAE,SAAmB;IAChF,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;QAC3B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtD,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,CAAC;AAED;;2CAE2C;AAC3C,SAAS,iBAAiB,CACxB,SAAmB,EACnB,IAAuC,EACvC,YAAoB;IAEpB,MAAM,SAAS,GAAG,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAI,KAAK,gBAAgB;QACxC,CAAC,CAAC;;;;;kFAK4E;QAC9E,CAAC,CAAC;;gEAE0D,CAAC;IAC/D,MAAM,eAAe,GAAG,YAAY;QAClC,CAAC,CAAC,uCAAuC,YAAY,IAAI;QACzD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,aAAa,SAAS;;;;;EAK7B,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iCAAiC;;;;;;;;;;;;;;;;;;;;;;EAsBxG,QAAQ;EACR,eAAe;;;;;;;;;;;;;;yBAcQ,CAAC;AAC1B,CAAC;AAED,4DAA4D;AAC5D,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5B,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM;YAAE,SAAS;QACpF,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,4BAA4B;AAC5B,KAAK,UAAU,mBAAmB,CAChC,IAAiB,EACjB,MAAyC,EACzC,KAA8B,EAC9B,WAAmB;IAEnB,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAE9C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,OAAO;QACP,IAAI,GAAG,CAAC,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,cAAc,KAAK,YAAY;YAAE,SAAS;QAErF,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,QAAQ,GAAG,CAAC,WAAW,cAAc,CAAC;YACpE,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,QAAQ,GAAG,CAAC,WAAW,UAAU,GAAG,CAAC,aAAa,GAAG,CAAC;YACpF,SAAS;QACX,CAAC;QAED,UAAU;QACV,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,kCAAkC;gBAClC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI;oBACjD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,cAAc;oBACzC,CAAC,CAAC,OAAO,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,SAAS,GAAG,CAAC,aAAa,QAAQ,CAAC;YACnE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,SAAS,QAAQ,CAAC,YAAY,YAAY,GAAG,CAAC,WAAW,OAAO,CAAC;QACjG,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CACnC,IAAiB,EACjB,MAAc,EACd,WAAmB,EACnB,YAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,MAAoB,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAClG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IACD,6BAA6B;IAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtF,CAAC;AAED,uCAAuC;AACvC,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAChC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/C,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -88,6 +88,10 @@ export declare function getProjectPaths(projectPath: string): {
88
88
  export declare function getLockFilePath(projectPath: string): string;
89
89
  /** 全局用户目录下的 patterns 路径 */
90
90
  export declare function getGlobalPatternsPath(): string;
91
+ /** 全局用户目录下的注解配置路径(~/.soloforge/annotations.yaml)
92
+ * 用途:API-03 等注解检查的「等效鉴权注解白名单」可由用户全局声明(如自定义 @RequireRole),
93
+ * executor 启动时读取合并进内置白名单。文件不存在/解析失败 → 空数组(fail-safe 用默认白名单)。 */
94
+ export declare function getGlobalAnnotationsPath(): string;
91
95
  /** intent.yaml 便捷路径 — 获取指定项目根目录下的 intent.yaml 完整路径 */
92
96
  export declare function getIntentYamlPath(projectPath: string): string;
93
97
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,qBAAqB;AACrB,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,oCAAoC;AACpC,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM;IAG/C,sBAAsB;;IAItB,6CAA6C;;IAE7C,iEAAiE;;IAEjE,6BAA6B;;IAE7B,gCAAgC;;IAIhC,wBAAwB;;IAExB,yCAAyC;;IAEzC,6BAA6B;;IAE7B,+CAA+C;;IAI/C,4BAA4B;;IAE5B,qCAAqC;;IAErC,0CAA0C;;IAE1C,0CAA0C;;IAE1C,uCAAuC;;IAEvC,2CAA2C;;IAE3C,4CAA4C;;IAE5C,iDAAiD;;IAEjD,yCAAyC;;IAEzC,6CAA6C;;IAE7C,uCAAuC;;IAEvC,yCAAyC;;IAIzC,yBAAyB;;IAIzB,0CAA0C;;IAE1C,wCAAwC;;IAExC,qCAAqC;;IAErC,8BAA8B;;IAE9B,+BAA+B;;IAE/B,oCAAoC;;IAEpC,sCAAsC;;IAItC,6BAA6B;;IAI7B,mCAAmC;;IAInC,iCAAiC;;IAEjC,0BAA0B;;IAI1B,4BAA4B;;EAG/B;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,2BAA2B;AAC3B,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,qBAAqB;AACrB,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,oCAAoC;AACpC,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM;IAG/C,sBAAsB;;IAItB,6CAA6C;;IAE7C,iEAAiE;;IAEjE,6BAA6B;;IAE7B,gCAAgC;;IAIhC,wBAAwB;;IAExB,yCAAyC;;IAEzC,6BAA6B;;IAE7B,+CAA+C;;IAI/C,4BAA4B;;IAE5B,qCAAqC;;IAErC,0CAA0C;;IAE1C,0CAA0C;;IAE1C,uCAAuC;;IAEvC,2CAA2C;;IAE3C,4CAA4C;;IAE5C,iDAAiD;;IAEjD,yCAAyC;;IAEzC,6CAA6C;;IAE7C,uCAAuC;;IAEvC,yCAAyC;;IAIzC,yBAAyB;;IAIzB,0CAA0C;;IAE1C,wCAAwC;;IAExC,qCAAqC;;IAErC,8BAA8B;;IAE9B,+BAA+B;;IAE/B,oCAAoC;;IAEpC,sCAAsC;;IAItC,6BAA6B;;IAI7B,mCAAmC;;IAInC,iCAAiC;;IAEjC,0BAA0B;;IAI1B,4BAA4B;;EAG/B;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,2BAA2B;AAC3B,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;iEAEiE;AACjE,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -105,6 +105,12 @@ export function getLockFilePath(projectPath) {
105
105
  export function getGlobalPatternsPath() {
106
106
  return path.join(process.env.HOME ?? "", SOLOFORGE_DIR, "patterns");
107
107
  }
108
+ /** 全局用户目录下的注解配置路径(~/.soloforge/annotations.yaml)
109
+ * 用途:API-03 等注解检查的「等效鉴权注解白名单」可由用户全局声明(如自定义 @RequireRole),
110
+ * executor 启动时读取合并进内置白名单。文件不存在/解析失败 → 空数组(fail-safe 用默认白名单)。 */
111
+ export function getGlobalAnnotationsPath() {
112
+ return path.join(process.env.HOME ?? "", SOLOFORGE_DIR, "annotations.yaml");
113
+ }
108
114
  /** intent.yaml 便捷路径 — 获取指定项目根目录下的 intent.yaml 完整路径 */
109
115
  export function getIntentYamlPath(projectPath) {
110
116
  return getProjectPaths(projectPath).intentYaml;
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"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"}