@dommaker/harness 0.12.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +70 -174
  2. package/dist/cli/commands/check.d.ts.map +1 -1
  3. package/dist/cli/commands/check.js +6 -9
  4. package/dist/cli/commands/check.js.map +1 -1
  5. package/dist/cli/commands/report.d.ts.map +1 -1
  6. package/dist/cli/commands/report.js +5 -8
  7. package/dist/cli/commands/report.js.map +1 -1
  8. package/dist/cli/commands/sync-docs.js +7 -5
  9. package/dist/cli/commands/sync-docs.js.map +1 -1
  10. package/dist/constraints/registry.d.ts +2 -1
  11. package/dist/constraints/registry.d.ts.map +1 -1
  12. package/dist/constraints/registry.js +7 -7
  13. package/dist/constraints/registry.js.map +1 -1
  14. package/dist/constraints/types.d.ts +2 -2
  15. package/dist/constraints/types.d.ts.map +1 -1
  16. package/dist/context/session-manager.d.ts +24 -7
  17. package/dist/context/session-manager.d.ts.map +1 -1
  18. package/dist/context/session-manager.js +71 -12
  19. package/dist/context/session-manager.js.map +1 -1
  20. package/dist/core/constraints/check-cache.d.ts +38 -0
  21. package/dist/core/constraints/check-cache.d.ts.map +1 -0
  22. package/dist/core/constraints/check-cache.js +75 -0
  23. package/dist/core/constraints/check-cache.js.map +1 -0
  24. package/dist/core/constraints/checker.d.ts +48 -10
  25. package/dist/core/constraints/checker.d.ts.map +1 -1
  26. package/dist/core/constraints/checker.js +160 -44
  27. package/dist/core/constraints/checker.js.map +1 -1
  28. package/dist/core/constraints/definitions.d.ts.map +1 -1
  29. package/dist/core/constraints/definitions.js +165 -28
  30. package/dist/core/constraints/definitions.js.map +1 -1
  31. package/dist/core/constraints/interceptor.d.ts +1 -0
  32. package/dist/core/constraints/interceptor.d.ts.map +1 -1
  33. package/dist/core/constraints/interceptor.js +38 -44
  34. package/dist/core/constraints/interceptor.js.map +1 -1
  35. package/dist/failure/constraint-handler.d.ts +83 -0
  36. package/dist/failure/constraint-handler.d.ts.map +1 -0
  37. package/dist/failure/constraint-handler.js +140 -0
  38. package/dist/failure/constraint-handler.js.map +1 -0
  39. package/dist/failure/index.d.ts +1 -0
  40. package/dist/failure/index.d.ts.map +1 -1
  41. package/dist/failure/index.js +7 -1
  42. package/dist/failure/index.js.map +1 -1
  43. package/dist/hooks/bootstrap.d.ts +50 -0
  44. package/dist/hooks/bootstrap.d.ts.map +1 -0
  45. package/dist/hooks/bootstrap.js +137 -0
  46. package/dist/hooks/bootstrap.js.map +1 -0
  47. package/dist/hooks/index.d.ts +11 -0
  48. package/dist/hooks/index.d.ts.map +1 -0
  49. package/dist/hooks/index.js +32 -0
  50. package/dist/hooks/index.js.map +1 -0
  51. package/dist/hooks/pipeline.d.ts +36 -0
  52. package/dist/hooks/pipeline.d.ts.map +1 -0
  53. package/dist/hooks/pipeline.js +135 -0
  54. package/dist/hooks/pipeline.js.map +1 -0
  55. package/dist/hooks/registry.d.ts +50 -0
  56. package/dist/hooks/registry.d.ts.map +1 -0
  57. package/dist/hooks/registry.js +81 -0
  58. package/dist/hooks/registry.js.map +1 -0
  59. package/dist/hooks/types.d.ts +75 -0
  60. package/dist/hooks/types.d.ts.map +1 -0
  61. package/dist/hooks/types.js +9 -0
  62. package/dist/hooks/types.js.map +1 -0
  63. package/dist/index.d.ts +1 -0
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +4 -0
  66. package/dist/index.js.map +1 -1
  67. package/dist/presets/index.d.ts +1 -1
  68. package/dist/presets/index.d.ts.map +1 -1
  69. package/dist/presets/index.js +2 -1
  70. package/dist/presets/index.js.map +1 -1
  71. package/dist/presets/standard.d.ts +17 -0
  72. package/dist/presets/standard.d.ts.map +1 -1
  73. package/dist/presets/standard.js +50 -1
  74. package/dist/presets/standard.js.map +1 -1
  75. package/dist/types/constraint.d.ts +2 -0
  76. package/dist/types/constraint.d.ts.map +1 -1
  77. package/dist/types/constraint.js.map +1 -1
  78. package/package.json +2 -2
@@ -47,7 +47,7 @@ exports.IRON_LAWS = {
47
47
  rule: 'NO SELF APPROVAL WITHOUT TEST EVIDENCE',
48
48
  message: '禁止自评通过,必须提供测试证据',
49
49
  level: 'iron_law',
50
- trigger: 'code_implementation',
50
+ trigger: 'task_completion_claim',
51
51
  enforcement: 'passes-gate',
52
52
  description: '任务完成声明必须基于真实测试结果,不能由开发者自评。测试证据包括:测试报告、覆盖率数据、CI 通过记录。',
53
53
  promptInjection: '声明任务完成时,必须提供可验证的测试证据(测试报告、覆盖率数据、CI 通过记录),不得仅凭自己的判断声称完成。',
@@ -277,12 +277,16 @@ https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agent
277
277
  - "应该没问题"、"大概完成了"、"可能可以了"
278
278
  - "好像通过了"、"似乎工作正常"、"应该能跑"
279
279
  - "基本完成"、"差不多"、"大部分功能可用"
280
+ - "我记得删过了"、"之前说删了"、"已删除"(未经 ls/grep 验证)
281
+ - "大部分实现"(未经逐 AC 对照 spec)
282
+ - "已修复"(未经 test 验证)
280
283
 
281
284
  【必须提供】
282
285
  - 测试通过的精确数量(如 "142 tests passed")
283
- - 覆盖率数据(如 "coverage: 87.3%")
284
- - 验证命令输出(如 "npm test 全部通过")`,
285
- promptInjection: '声明任务完成时,禁止使用模糊词语(应该、可能、大概、希望、好像、似乎、应该没问题、基本完成)。必须提供具体的测试通过数量、覆盖率数据和验证命令输出来证明任务真的完成了。',
286
+ - 验证命令输出(如 "npm test 全部通过")
287
+ - 删除操作后 ls 确认(如 "ls packages/dead-pkg → No such file"
288
+ - Spec AC 对照表(逐项标注 pass/fail)`,
289
+ promptInjection: '声明任务完成时,禁止使用模糊词语。必须提供具体的测试通过数量、覆盖率数据和验证命令输出来证明任务真的完成了。声明"已删除"前必须用 ls 确认文件不存在。声明 spec 完成前必须逐 AC 对照。',
286
290
  },
287
291
  /**
288
292
  * 禁止表演性同意
@@ -308,7 +312,7 @@ https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agent
308
312
  2. 提出潜在的疑问或边界情况
309
313
  3. 说明你的实现方案
310
314
  4. 确认理解一致后再行动`,
311
- promptInjection: '收到需求或反馈时,先分析再回应。不要只回复"好的"、"明白了"然后直接执行。必须:① 复述你对需求的理解;② 提出潜在的疑问或边界情况;③ 说明你的实现方案。确认理解一致后再开始写代码。',
315
+ promptInjection: '先思后码。明确声明前提假设。遇不确定先提问而非猜测。存在歧义时列出多种理解路径。若存在更简方案应果断提出异议。收到需求时:①复述理解 ②提出疑问 ③说明方案 ④确认一致。',
312
316
  },
313
317
  /**
314
318
  * 必须两阶段审查
@@ -337,6 +341,20 @@ https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agent
337
341
  - 类型安全(type check、lint)`,
338
342
  promptInjection: '代码审查必须分两阶段:① 规范合规审查 — 逐条对照验收标准(AC)验证实现是否满足需求,重新运行测试,审计测试质量并补写边界用例;② 代码质量审查 — 仅在 Stage 1 全部通过后,检查安全性、可读性、类型安全。Stage 1 不通过则不得进入 Stage 2。',
339
343
  },
344
+ /**
345
+ * 文档新鲜度 — 升级为 Iron Law (2026-05-19)
346
+ * 原因:guideline 只警告不阻断,导致文档持续腐烂。
347
+ */
348
+ docs_freshness: {
349
+ id: 'docs_freshness',
350
+ rule: 'CAPABILITIES.MD MUST BE IN SYNC WITH CODE',
351
+ message: 'CAPABILITIES.md 与源码不同步,运行 harness sync-docs 更新后重新提交',
352
+ level: 'iron_law',
353
+ trigger: ['file_modification', 'module_creation', 'module_modification'],
354
+ enforcement: 'docs-sync-check',
355
+ description: `CAPABILITIES.md 中列出的文件必须在 src/ 中实际存在。删除源文件时须从 CAPABILITIES.md 同步移除。运行 harness sync-docs 自动修复过期引用。
356
+ 注: CONTEXT.md 已删除。目录描述集中在 CLAUDE.md Key Subsystems 表中。新增文件全覆盖检查待 sync-docs 完善后启用。`,
357
+ },
340
358
  };
341
359
  // ========================================
342
360
  // GUIDELINES(指导原则)
@@ -445,6 +463,8 @@ exports.GUIDELINES = {
445
463
  - performance_required: 本地方案性能不足
446
464
  - reliability_required: 需要持久化/高可用`,
447
465
  exceptions: ['scalability_required', 'security_required', 'performance_required', 'reliability_required'],
466
+ promptInjection: '简单至上:仅用最少代码解决问题。不添加"以防万一"的冗余功能。不为仅用一次的代码强行设计抽象。自检:资深工程师是否会认为此实现过度复杂?若是,立即简化。',
467
+ injectPrompt: true,
448
468
  },
449
469
  /**
450
470
  * 复用检查优先
@@ -667,29 +687,6 @@ exports.GUIDELINES = {
667
687
  * 文档应与代码同步
668
688
  * 例外:WIP 分支、实验性修改
669
689
  */
670
- docs_freshness: {
671
- id: 'docs_freshness',
672
- rule: 'DOCS SHOULD BE IN SYNC WITH CODE',
673
- message: '文档与代码不同步,运行 harness sync-docs --json 查看详情并修复',
674
- level: 'guideline',
675
- trigger: 'file_modification',
676
- enforcement: 'docs-sync-check',
677
- description: `CAPABILITIES.md 等文档应与源码保持同步。
678
-
679
- [触发条件]
680
- - src/ 下有文件新增或删除
681
- - harness sync-docs --check 检测到差异
682
-
683
- [要求]
684
- - CAPABILITIES.md 中列出的文件应与 src/ 中的实际文件一致
685
- - 新增模块应添加到 CAPABILITIES.md
686
- - 删除模块应从 CAPABILITIES.md 移除
687
-
688
- [例外]
689
- - WIP 分支(未完成的功能)
690
- - 实验性修改(可后续同步)`,
691
- exceptions: ['wip_branch', 'experimental_change'],
692
- },
693
690
  /**
694
691
  * 禁止借口模式
695
692
  * 例外:已有明确修复计划
@@ -752,6 +749,146 @@ exports.GUIDELINES = {
752
749
  promptInjection: '遵循 YAGNI 原则(You Aren\'t Gonna Need It)。不要为"未来可能需要"的需求添加抽象层、接口、配置项或插件系统。如果一个 interface/abstract class 只有一个实现者,删除这个抽象。只实现当前明确需要的功能。',
753
750
  exceptions: ['planned_extension', 'multi_platform', 'security_abstraction'],
754
751
  },
752
+ /**
753
+ * 禁止无验证完成声明
754
+ * 原因:口头声明"done"与实际情况不符,需要可复现的证据
755
+ */
756
+ no_claim_without_evidence: {
757
+ id: 'no_claim_without_evidence',
758
+ rule: 'NO "DONE" CLAIM WITHOUT VERIFIABLE EVIDENCE',
759
+ message: '禁止无验证的完成声明,必须提供可复现的验证证据',
760
+ level: 'guideline',
761
+ trigger: ['code_implementation', 'file_deletion', 'module_modification'],
762
+ enforcement: 'evidence-check',
763
+ description: `声称任何任务"完成"前,必须提供验证证据:
764
+ 【代码完成】提供 test 输出(如 "142 passed, 0 failed")
765
+ 【文件删除】提供 ls 确认(如 "ls pkg/ → No such file")
766
+ 【Spec 完成】提供逐 AC 对照表(每项 pass/fail)
767
+ 【文档更新】提供 grep 确认(如 "grep '遗留' CLAUDE.md → no match")`,
768
+ promptInjection: '声称任务"完成"前,必须提供可复现的验证证据:test 输出数字、ls 文件确认、grep 文档确认、spec AC 逐项对照。禁止"我记得""之前说""大部分"等无验证声明。',
769
+ },
770
+ /**
771
+ * 禁止无上下文删除
772
+ * 原因:删除代码前应评估是否有可吸收的功能,避免丢弃有用设计
773
+ */
774
+ no_delete_without_context: {
775
+ id: 'no_delete_without_context',
776
+ rule: 'NO DELETION WITHOUT DESIGN DOCUMENT REVIEW',
777
+ message: '禁止删除代码前未审查设计文档和吸收价值',
778
+ level: 'guideline',
779
+ trigger: ['file_deletion', 'module_deletion'],
780
+ enforcement: 'context-check',
781
+ description: `删除任何代码(包/模块/文件)前,必须:
782
+ 1. 查设计文档(CLAUDE.md / roadmap / specs)
783
+ 2. 分析是否有可吸收的功能
784
+ 3. 记录分析结论(有/无吸收价值,原因)`,
785
+ promptInjection: '删除任何代码包或模块前,必须先查 CLAUDE.md 和相关设计文档,分析是否有可吸收的功能,并记录分析结论。',
786
+ },
787
+ /**
788
+ * 外科手术式修改 — Mnilax Rule 3
789
+ * 原因:只改必要部分,不顺手改相邻代码
790
+ */
791
+ surgical_changes_only: {
792
+ id: 'surgical_changes_only',
793
+ rule: 'ONLY CHANGE WHAT IS ABSOLUTELY NECESSARY',
794
+ message: '只改必要部分,不顺手改相邻代码和格式',
795
+ level: 'guideline',
796
+ trigger: ['code_implementation', 'file_modification'],
797
+ enforcement: 'surgical-check',
798
+ description: `仅改动绝对必要的部分。不"顺手优化"相邻代码、注释或排版格式。未出问题的代码不重构。严格贴合项目既有风格。`,
799
+ promptInjection: '外科手术式修改:仅改动绝对必要的部分。不顺手"优化"相邻代码、注释或格式。未出问题的代码不重构。',
800
+ injectPrompt: true,
801
+ },
802
+ /**
803
+ * 模型只做判断 — Mnilax Rule 5
804
+ * 原因:路由/重试/状态码用代码比 LLM 可靠
805
+ */
806
+ no_model_for_deterministic: {
807
+ id: 'no_model_for_deterministic',
808
+ rule: 'USE MODEL ONLY FOR JUDGMENT CALLS, NOT DETERMINISTIC LOGIC',
809
+ message: '路由/重试/状态码处理→代码,不要调 LLM 决策',
810
+ level: 'guideline',
811
+ trigger: ['code_implementation'],
812
+ enforcement: 'deterministic-check',
813
+ description: `仅将模型用于需要判断与裁量的场景:分类、内容起草、摘要、信息提取。切勿将模型用于:路由分发、重试机制、状态码处理、确定性数据转换。若常规代码能给出答案,就由代码处理。`,
814
+ promptInjection: '模型只做判断不做决策:路由、重试、状态码处理→用代码,不调 LLM。若常规代码能给出答案,就由代码处理。',
815
+ injectPrompt: true,
816
+ },
817
+ /**
818
+ * 暴露冲突 — Mnilax Rule 7
819
+ * 原因:两种模式冲突时不要折中
820
+ */
821
+ no_conflict_blending: {
822
+ id: 'no_conflict_blending',
823
+ rule: 'SURFACE CONFLICTS, DO NOT BLEND THEM',
824
+ message: '两种模式冲突→选其一+说明理由,不折中',
825
+ level: 'guideline',
826
+ trigger: ['code_implementation', 'module_extension'],
827
+ enforcement: 'conflict-check',
828
+ description: `若代码库中既有的两种模式相互矛盾,明确选择其一(优先更新或更经测试的版本),阐明选择理由,将另一种标记为待清理项。试图同时迎合两套规则的中庸代码往往是最糟的。`,
829
+ promptInjection: '暴露冲突不折中:若两种模式冲突→选其一(优先更经测试的版本)+说明理由+标记另一种为待清理。',
830
+ injectPrompt: true,
831
+ },
832
+ /**
833
+ * 先读后写 — Mnilax Rule 8
834
+ * 原因:加代码前必须理解上下文
835
+ */
836
+ read_before_write: {
837
+ id: 'read_before_write',
838
+ rule: 'READ IMPORTS AND CALLERS BEFORE ADDING CODE',
839
+ message: '加代码前先读文件的导入、调用方、工具函数',
840
+ level: 'guideline',
841
+ trigger: ['code_implementation', 'file_modification'],
842
+ enforcement: 'read-check',
843
+ description: `在文件中添加代码前,必须通读该文件的导出接口、直接调用方以及任何显而易见的公共工具函数。"看似互不干涉"是最危险的判断。若不理解现有代码为何采用当前结构,在动手添加前必须先提问确认。`,
844
+ promptInjection: '先读后写:加代码前读 imports/callers/工具函数。"看似互不干涉"是最危险的判断。不理解现有结构时先提问。',
845
+ injectPrompt: true,
846
+ },
847
+ /**
848
+ * 约定胜于新奇 — Mnilax Rule 11
849
+ * 原因:规范一致性 > 技术偏好
850
+ */
851
+ follow_conventions: {
852
+ id: 'follow_conventions',
853
+ rule: 'MATCH CODEBASE CONVENTIONS, EVEN IF YOU DISAGREE',
854
+ message: '规范一致性 > 技术偏好,有异议显式提出不暗中背离',
855
+ level: 'guideline',
856
+ trigger: ['code_implementation', 'module_extension'],
857
+ enforcement: 'convention-check',
858
+ description: `在代码库内部:规范一致性 > 个人技术偏好。若项目用 snake_case 而你偏好 camelCase:用 snake_case。若项目用 class 组件而你偏好 hooks:用 class。若确信某规范存在实质危害,请显式提出。切勿暗中背离规范另起范式。`,
859
+ promptInjection: '约定胜于新奇:规范一致性 > 技术偏好。项目用 snake_case 就用 snake_case。有异议显式提出,不暗中另起范式。',
860
+ injectPrompt: true,
861
+ },
862
+ /**
863
+ * 第一性优先 — Mnilax extension
864
+ * 原因:从当前状态推导结论会自我证明。正确顺序:第一性→事实校验→结论。
865
+ */
866
+ first_principles_first: {
867
+ id: 'first_principles_first',
868
+ rule: 'ANALYZE FROM FIRST PRINCIPLES, NOT FROM CURRENT STATE',
869
+ message: '分析顺序: 第一性→事实校验→结论。禁止"代码就是这样"作为理由',
870
+ level: 'guideline',
871
+ trigger: ['code_implementation', 'module_modification', 'file_modification'],
872
+ enforcement: 'principle-check',
873
+ description: `架构分析与设计决策必须从第一性原理出发,而非从当前实现状态推导。禁止的模式: "当前代码这样写的所以应该保持这样"——这是自我证明的错误逻辑。`,
874
+ promptInjection: '第一性优先: 分析设计问题从本质出发,不从当前代码推导。正确设计是什么→当前实现匹配吗→差距决定行动。禁止"代码就是这样"作为理由。',
875
+ injectPrompt: true,
876
+ },
877
+ /**
878
+ /**
879
+ * 原因:质量门阻断是信号,不是障碍。调整门禁而非修复违规是自我欺骗。
880
+ */
881
+ fix_the_problem_not_the_gate: {
882
+ id: 'fix_the_problem_not_the_gate',
883
+ rule: 'FIX THE PROBLEM THAT TRIGGERED THE GATE, NOT THE GATE ITSELF',
884
+ message: '修复触发门禁的问题,不降低门禁本身',
885
+ level: 'guideline',
886
+ trigger: ['code_implementation', 'module_modification', 'file_modification'],
887
+ enforcement: 'principle-check',
888
+ description: `质量门禁(测试失败、lint 报错、覆盖率不足、约束违规)阻断时,修复导致阻断的代码,而非调整门禁门槛。降低阈值、删除测试、关闭 lint 规则是对质量信号的压制,不是质量改进。`,
889
+ promptInjection: '质量门禁阻断时修复代码,不修复门禁。不降阈值、不删测试、不关 lint、不改断言让 CI 通过。',
890
+ injectPrompt: true,
891
+ },
755
892
  };
756
893
  // ========================================
757
894
  // TIPS(提示)
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/core/constraints/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/core/constraints/definitions.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAm9BH,8CAMC;AAKD,4DAKC;AAKD,sCAEC;AASD,gCAEC;AAKD,8CAEC;AAKD,wBAEC;AA//BD,QAAQ;AACR,qDAA+D;AAAtD,mHAAA,qBAAqB,OAAA;AAE9B,2CAA2C;AAC3C,gBAAgB;AAChB,GAAG;AACH,sBAAsB;AACtB,2CAA2C;AAE9B,QAAA,SAAS,GAA+B;IACnD;;;OAGG;IACH,oBAAoB,EAAE;QACpB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,mCAAmC;QAChD,eAAe,EAAE,8EAA8E;KAChG;IAED;;;OAGG;IACH,gBAAgB,EAAE;QAChB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,sDAAsD;QACnE,eAAe,EAAE,yDAAyD;KAC3E;IAED;;;OAGG;IACH,kCAAkC,EAAE;QAClC,EAAE,EAAE,oCAAoC;QACxC,IAAI,EAAE,0DAA0D;QAChE,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,kEAAkE;QAC/E,eAAe,EAAE,kFAAkF;KACpG;IAED;;;OAGG;IACH,sBAAsB,EAAE;QACtB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;YAUL;QACR,eAAe,EAAE,wFAAwF;KAC1G;IAED;;;;OAIG;IACH,oBAAoB,EAAE;QACpB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;kFAmBiE;QAC9E,eAAe,EAAE,uFAAuF;KACzG;IAED;;;OAGG;IACH,0BAA0B,EAAE;QAC1B,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,kDAAkD;QACxD,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;mCAwBkB;QAC/B,eAAe,EAAE,qFAAqF;KACvG;IAED;;;OAGG;IACH,4CAA4C,EAAE;QAC5C,EAAE,EAAE,8CAA8C;QAClD,IAAI,EAAE,4CAA4C;QAClD,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4BU;QACvB,eAAe,EAAE,8FAA8F;KAChH;IAED;;;OAGG;IACH,qCAAqC,EAAE;QACrC,EAAE,EAAE,uCAAuC;QAC3C,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;QAClD,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;;;;;;;;uBAiBM;QACnB,eAAe,EAAE,gFAAgF;KAClG;IAED;;;;OAIG;IACH,iBAAiB,EAAE;QACjB,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,6CAA6C;QACnD,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,qBAAqB,CAAC;QAChC,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;;;;;;;;;2BASU;QACvB,eAAe,EAAE,0GAA0G;KAC5H;IAED;;;;OAIG;IACH,yBAAyB,EAAE;QACzB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,0DAA0D;QAChE,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;QAClD,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE;;;;;;;;;;;;;;8BAca;QAC1B,eAAe,EAAE,oGAAoG;KACtH;IAED;;;;OAIG;IACH,yBAAyB,EAAE;QACzB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,4CAA4C;QAClD,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;;cAWH;QACV,eAAe,EAAE,uFAAuF;KACzG;IAED;;;;OAIG;IACH,yBAAyB,EAAE;QACzB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,uDAAuD;QAC7D,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE;;;;;;;;;;;;wBAYO;QACpB,eAAe,EAAE,wIAAwI;KAC1J;IAED;;;OAGG;IACH,cAAc,EAAE;QACd,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,qDAAqD;QAC9D,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;QACxE,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;kFACiE;KAC/E;CACF,CAAC;AAEF,2CAA2C;AAC3C,mBAAmB;AACnB,GAAG;AACH,wBAAwB;AACxB,2CAA2C;AAE9B,QAAA,UAAU,GAA+B;IACpD;;;OAGG;IACH,yBAAyB,EAAE;QACzB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,iDAAiD;QACvD,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE;;;;;;;;;;;;;;;4BAeW;QACxB,UAAU,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;KACpE;IAED;;;OAGG;IACH,oBAAoB,EAAE;QACpB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,6CAA6C;QACnD,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE;;;;;;;;;;;;mBAYE;QACf,UAAU,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,CAAC;KAC5F;IAED;;;OAGG;IACH,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,+CAA+C;QACrD,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE;;;;;;;;;;aAUJ;QACT,UAAU,EAAE,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC;KAC9E;IAED;;;OAGG;IACH,uBAAuB,EAAE;QACvB,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,kDAAkD;QACxD,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;QACpD,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE;;;;;;;;;kCASiB;QAC9B,UAAU,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC;QACzG,eAAe,EAAE,8EAA8E;QAC/F,YAAY,EAAE,IAAI;KACnB;IAED;;;OAGG;IACH,+BAA+B,EAAE;QAC/B,EAAE,EAAE,iCAAiC;QACrC,IAAI,EAAE,+CAA+C;QACrD,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE;YACP,iBAAiB;YACjB,iBAAiB;YACjB,iBAAiB;YACjB,iBAAiB;YACjB,kBAAkB;YAClB,qBAAqB;SACtB;QACD,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE;;;;;;;;;;;;;oBAaG;QAChB,UAAU,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,gBAAgB,CAAC;KAC1D;IAED;;;OAGG;IACH,eAAe,EAAE;QACf,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QAC1F,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;;;;;;;;;;;YAWL;QACR,UAAU,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,0BAA0B,CAAC;KAC9E;IAED;;;OAGG;IACH,kCAAkC,EAAE;QAClC,EAAE,EAAE,oCAAoC;QACxC,IAAI,EAAE,4CAA4C;QAClD,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;;;;;;;;;;cAUH;QACV,UAAU,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,CAAC;KACtF;IAED;;;OAGG;IACH,qBAAqB,EAAE;QACrB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,uCAAuC;QAC7C,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;;;;;;;;;;OAUV;KACJ;IAED;;;OAGG;IACH,sBAAsB,EAAE;QACtB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,sCAAsC;QAC5C,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;;;;;;;;YAQL;KACT;IAED;;;OAGG;IACH,mCAAmC,EAAE;QACnC,EAAE,EAAE,qCAAqC;QACzC,IAAI,EAAE,0DAA0D;QAChE,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;QACzE,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;WAmBN;QACP,UAAU,EAAE,CAAC,sBAAsB,EAAE,eAAe,EAAE,iBAAiB,CAAC;KACzE;IAED;;;OAGG;IACH,oBAAoB,EAAE;QACpB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;;;;;;;;;;;;;;;;cAgBH;QACV,UAAU,EAAE,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,4BAA4B,CAAC;KAC9F;IAED;;;OAGG;IACH,gBAAgB,EAAE;QAChB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,oDAAoD;QAC7D,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;;;;;;;;;;;;;+BAac;QAC3B,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC;KACvD;IAED;;;OAGG;IACH;;;;OAIG;IACH,kBAAkB,EAAE;QAClB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,iDAAiD;QACvD,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,CAAC;QAChC,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE;;;;;;;;;;;;;;;;2BAgBU;QACvB,eAAe,EAAE,8FAA8F;QAC/G,UAAU,EAAE,CAAC,mBAAmB,CAAC;KAClC;IAED;;;;OAIG;IACH,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,yDAAyD;QAC/D,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;QAClD,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE;;;;;;;;;;;;;;uBAcM;QACnB,eAAe,EAAE,mIAAmI;QACpJ,UAAU,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;KAC5E;IAED;;;OAGG;IACH,yBAAyB,EAAE;QACzB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,6CAA6C;QACnD,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,CAAC;QACxE,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;;;;qDAIoC;QACjD,eAAe,EAAE,0FAA0F;KAC5G;IAED;;;OAGG;IACH,yBAAyB,EAAE;QACzB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,4CAA4C;QAClD,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC;QAC7C,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;;;sBAGK;QAClB,eAAe,EAAE,yDAAyD;KAC3E;IAED;;;OAGG;IACH,qBAAqB,EAAE;QACrB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;QACrD,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,uDAAuD;QACpE,eAAe,EAAE,kDAAkD;QACnE,YAAY,EAAE,IAAI;KACnB;IAED;;;OAGG;IACH,0BAA0B,EAAE;QAC1B,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,4DAA4D;QAClE,OAAO,EAAE,2BAA2B;QACpC,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,CAAC;QAChC,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,qFAAqF;QAClG,eAAe,EAAE,sDAAsD;QACvE,YAAY,EAAE,IAAI;KACnB;IAED;;;OAGG;IACH,oBAAoB,EAAE;QACpB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sCAAsC;QAC5C,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;QACpD,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,iFAAiF;QAC9F,eAAe,EAAE,gDAAgD;QACjE,YAAY,EAAE,IAAI;KACnB;IAED;;;OAGG;IACH,iBAAiB,EAAE;QACjB,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,6CAA6C;QACnD,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;QACrD,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,6FAA6F;QAC1G,eAAe,EAAE,8DAA8D;QAC/E,YAAY,EAAE,IAAI;KACnB;IAED;;;OAGG;IACH,kBAAkB,EAAE;QAClB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,kDAAkD;QACxD,OAAO,EAAE,2BAA2B;QACpC,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;QACpD,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,oIAAoI;QACjJ,eAAe,EAAE,mEAAmE;QACpF,YAAY,EAAE,IAAI;KACnB;IAED;;;OAGG;IACH,sBAAsB,EAAE;QACtB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,uDAAuD;QAC7D,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;QAC5E,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,yEAAyE;QACtF,eAAe,EAAE,oEAAoE;QACrF,YAAY,EAAE,IAAI;KACnB;IAED;;;OAGG;IACH,4BAA4B,EAAE;QAC5B,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,8DAA8D;QACpE,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;QAC5E,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,2FAA2F;QACxG,eAAe,EAAE,kDAAkD;QACnE,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,2CAA2C;AAC3C,WAAW;AACX,EAAE;AACF,eAAe;AACf,2CAA2C;AAE9B,QAAA,IAAI,GAA+B;IAC9C;;OAEG;IACH,eAAe,EAAE;QACf,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;;;;;;;sBAOK;KACnB;IAED;;OAEG;IACH,2BAA2B,EAAE;QAC3B,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,sCAAsC;QAC5C,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE;;;;;;;;;;;;;;mBAcE;KAChB;CACF,CAAC;AAEF,2CAA2C;AAC3C,OAAO;AACP,2CAA2C;AAE3C;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO;QACL,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC;QAC3B,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC;QAC5B,GAAG,MAAM,CAAC,MAAM,CAAC,YAAI,CAAC;KACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,OAA0B;IACjE,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/F,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAU;IACtC,OAAO,iBAAS,CAAC,EAAE,CAAC,IAAI,kBAAU,CAAC,EAAE,CAAC,IAAI,YAAI,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,2CAA2C;AAC3C,UAAU;AACV,2CAA2C;AAE3C;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO,iBAAiB,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAA0B;IAC1D,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,EAAU;IAC/B,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAAC,QAAsC,EAAgB,EAAE;IAC3F,SAAS;IACT,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC;IAC1D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,YAAI,CAAC,CAAC;IACpD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B"}
@@ -6,6 +6,7 @@ import type { EnforcementId, EnforcementExecutor, InterceptionResult } from '../
6
6
  export declare class ConstraintInterceptor {
7
7
  private static instance;
8
8
  private executors;
9
+ private executorSources;
9
10
  private enabled;
10
11
  private skipEnforcements;
11
12
  private constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/interceptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAGnB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAC/C,OAAO,CAAC,SAAS,CAAsD;IACvE,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,qBAAqB;IAO3C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,QAAQ,CACN,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,IAAI;IAIP,aAAa,CACX,aAAa,EAAE,KAAK,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC,GACD,IAAI;IAMP,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAIjD,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAIlD,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS;IAI1E,gBAAgB,IAAI;QAAE,EAAE,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,mBAAmB,CAAC;QAAC,YAAY,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;IAS/G,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI;IAM3C,UAAU,IAAI,IAAI;IAIZ,SAAS,CACb,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IA+FxB,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAO3F;AAED,eAAO,MAAM,qBAAqB,uBAAsC,CAAC;AAMzE,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/interceptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EAGlB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAGnB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAC/C,OAAO,CAAC,SAAS,CAAsD;IACvE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,qBAAqB;IAO3C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,QAAQ,CACN,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,IAAI;IAKP,aAAa,CACX,aAAa,EAAE,KAAK,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC,GACD,IAAI;IAMP,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAIjD,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAIlD,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS;IAI1E,gBAAgB,IAAI;QAAE,EAAE,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,mBAAmB,CAAC;QAAC,YAAY,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;IAS/G,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI;IAM3C,UAAU,IAAI,IAAI;IAIZ,SAAS,CACb,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAmFxB,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAO3F;AAED,eAAO,MAAM,qBAAqB,uBAAsC,CAAC;AAMzE,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -12,6 +12,7 @@ const checker_1 = require("./checker");
12
12
  class ConstraintInterceptor {
13
13
  static instance;
14
14
  executors = new Map();
15
+ executorSources = new Map();
15
16
  enabled = true;
16
17
  skipEnforcements = new Set();
17
18
  constructor() { }
@@ -26,6 +27,8 @@ class ConstraintInterceptor {
26
27
  }
27
28
  register(enforcementId, executor, source) {
28
29
  this.executors.set(enforcementId, executor);
30
+ if (source)
31
+ this.executorSources.set(enforcementId, source);
29
32
  }
30
33
  registerBatch(registrations) {
31
34
  for (const { enforcementId, executor } of registrations) {
@@ -46,7 +49,7 @@ class ConstraintInterceptor {
46
49
  id,
47
50
  executor,
48
51
  registeredAt: new Date(),
49
- source: undefined,
52
+ source: this.executorSources.get(id),
50
53
  }));
51
54
  }
52
55
  skip(enforcementIds) {
@@ -83,57 +86,48 @@ class ConstraintInterceptor {
83
86
  const order = { iron_law: 0, guideline: 1, tip: 2 };
84
87
  const ordered = applicableConstraints.sort((a, b) => order[a.level] - order[b.level]);
85
88
  for (const constraint of ordered) {
86
- const enforcementId = constraint.enforcement;
87
- if (this.skipEnforcements.has(enforcementId)) {
89
+ if (this.skipEnforcements.has(constraint.enforcement)) {
88
90
  result.constraints.push({ constraint, skipped: true, skipReason: 'configured to skip' });
89
91
  continue;
90
92
  }
91
- const executor = this.executors.get(enforcementId);
92
- if (!executor) {
93
- result.constraints.push({ constraint, skipped: true, skipReason: `no executor for '${enforcementId}'` });
94
- continue;
95
- }
96
- const enforcementContext = { ...context, enforcementId, constraint };
97
- const start = Date.now();
98
- try {
99
- const enforcementResult = await executor.execute(enforcementContext);
100
- enforcementResult.duration = Date.now() - start;
101
- result.constraints.push({ constraint, enforcementResult });
102
- if (!enforcementResult.passed) {
103
- if (constraint.level === 'iron_law') {
104
- result.passed = false;
105
- result.violations.push(constraint);
106
- throw new constraint_1.ConstraintViolationError({
107
- id: constraint.id,
108
- level: constraint.level,
109
- satisfied: false,
110
- constraint,
111
- message: constraint.message,
112
- requiredAction: constraint.enforcement,
113
- checkedAt: new Date(),
114
- });
115
- }
116
- if (constraint.level === 'guideline') {
117
- result.violations.push(constraint);
118
- }
93
+ // Custom executor overrides built-in check
94
+ const executor = this.executors.get(constraint.enforcement);
95
+ let checkResult;
96
+ if (executor) {
97
+ const enforcementContext = { ...context, enforcementId: constraint.enforcement, constraint };
98
+ const start = Date.now();
99
+ try {
100
+ const enforcementResult = await executor.execute(enforcementContext);
101
+ enforcementResult.duration = Date.now() - start;
102
+ result.constraints.push({ constraint, enforcementResult });
103
+ checkResult = {
104
+ id: constraint.id, level: constraint.level,
105
+ satisfied: enforcementResult.passed,
106
+ message: enforcementResult.message,
107
+ checkedAt: new Date(),
108
+ constraint,
109
+ };
110
+ }
111
+ catch (error) {
112
+ if (error instanceof constraint_1.ConstraintViolationError)
113
+ throw error;
114
+ result.constraints.push({ constraint, enforcementResult: { passed: false, error: error.message, duration: Date.now() - start } });
115
+ checkResult = { id: constraint.id, level: constraint.level, satisfied: false, message: error.message, checkedAt: new Date(), constraint };
119
116
  }
120
117
  }
121
- catch (error) {
122
- if (error instanceof constraint_1.ConstraintViolationError)
123
- throw error;
124
- result.constraints.push({ constraint, enforcementResult: { passed: false, error: error.message, duration: Date.now() - start } });
118
+ else {
119
+ // Unified: constraint.check(context) delegates to checker
120
+ checkResult = await constraint.check(context);
121
+ result.constraints.push({ constraint, enforcementResult: { passed: checkResult.satisfied, message: checkResult.message } });
122
+ }
123
+ if (!checkResult.satisfied) {
125
124
  if (constraint.level === 'iron_law') {
126
125
  result.passed = false;
127
126
  result.violations.push(constraint);
128
- throw new constraint_1.ConstraintViolationError({
129
- id: constraint.id,
130
- level: constraint.level,
131
- satisfied: false,
132
- constraint,
133
- message: `Enforcement failed: ${error.message}`,
134
- requiredAction: constraint.enforcement,
135
- checkedAt: new Date(),
136
- });
127
+ throw new constraint_1.ConstraintViolationError(checkResult);
128
+ }
129
+ if (constraint.level === 'guideline') {
130
+ result.violations.push(constraint);
137
131
  }
138
132
  }
139
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../../src/core/constraints/interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../../src/core/constraints/interceptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * ConstraintViolationHandler — 约束违规统一处理(S4)
3
+ *
4
+ * 问题:ConstraintViolationError 在 4 个调用点有 4 种行为:
5
+ * 1. 抛异常阻断(checker.ts / interceptor.ts)
6
+ * 2. 返回 null(report.ts catch 后返回空数据)
7
+ * 3. 返回 403 HTTP 状态
8
+ * 4. console.warn 静默吞掉
9
+ *
10
+ * 解决:提供 3 种标准化处理策略,消除 ad-hoc catch 行为。
11
+ */
12
+ import type { ConstraintCheckResult } from '../types/constraint';
13
+ /**
14
+ * 违规处理策略
15
+ */
16
+ export type ViolationStrategy = 'BLOCK' | 'COLLECT' | 'SAFE_BOOLEAN';
17
+ /**
18
+ * 违规处理结果
19
+ */
20
+ export interface ViolationHandlingResult {
21
+ /** 策略 */
22
+ strategy: ViolationStrategy;
23
+ /** 检查结果(COLLECT 策略时总是有值) */
24
+ checkResult?: ConstraintCheckResult;
25
+ /** 是否有违规(SAFE_BOOLEAN 策略时为 false) */
26
+ hasViolation: boolean;
27
+ /** 违规数量 */
28
+ violationCount: number;
29
+ }
30
+ /**
31
+ * 约束违规处理器
32
+ *
33
+ * 用法:
34
+ * ```typescript
35
+ * const handler = new ConstraintViolationHandler();
36
+ *
37
+ * // 策略 1: BLOCK — 抛异常阻断(Iron Laws 默认)
38
+ * await handler.execute(checkFn, 'BLOCK');
39
+ *
40
+ * // 策略 2: COLLECT — 收集违规不抛异常(用于报告生成)
41
+ * const result = await handler.execute(checkFn, 'COLLECT');
42
+ * // result.checkResult 总是有值
43
+ *
44
+ * // 策略 3: SAFE_BOOLEAN — 返回真/假(用于 canProceed 类方法)
45
+ * const ok = await handler.execute(checkFn, 'SAFE_BOOLEAN');
46
+ * // ok.hasViolation 为 true/false
47
+ * ```
48
+ */
49
+ export declare class ConstraintViolationHandler {
50
+ /**
51
+ * 执行约束检查并统一处理结果
52
+ *
53
+ * @param checkFn 约束检查函数(可能抛出 ConstraintViolationError)
54
+ * @param strategy 处理策略
55
+ * @returns 标准化结果
56
+ */
57
+ execute(checkFn: () => Promise<ConstraintCheckResult>, strategy: ViolationStrategy): Promise<ViolationHandlingResult>;
58
+ /**
59
+ * BLOCK 策略:违规即抛出,无违规返回结果
60
+ */
61
+ private handleBlock;
62
+ /**
63
+ * COLLECT 策略:捕获异常,收集所有违规,不抛出
64
+ */
65
+ private handleCollect;
66
+ /**
67
+ * SAFE_BOOLEAN 策略:不抛异常,只返回 boolean
68
+ */
69
+ private handleSafeBoolean;
70
+ }
71
+ /**
72
+ * 快捷:BLOCK 策略执行检查
73
+ */
74
+ export declare function executeWithBlock(checkFn: () => Promise<ConstraintCheckResult>): Promise<ViolationHandlingResult>;
75
+ /**
76
+ * 快捷:COLLECT 策略执行检查
77
+ */
78
+ export declare function executeWithCollect(checkFn: () => Promise<ConstraintCheckResult>): Promise<ViolationHandlingResult>;
79
+ /**
80
+ * 快捷:SAFE_BOOLEAN 策略执行检查
81
+ */
82
+ export declare function executeWithSafeBoolean(checkFn: () => Promise<ConstraintCheckResult>): Promise<ViolationHandlingResult>;
83
+ //# sourceMappingURL=constraint-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint-handler.d.ts","sourceRoot":"","sources":["../../src/failure/constraint-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS;IACT,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,4BAA4B;IAC5B,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,qCAAqC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW;IACX,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,0BAA0B;IACrC;;;;;;OAMG;IACG,OAAO,CACX,OAAO,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,EAC7C,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,uBAAuB,CAAC;IAWnC;;OAEG;YACW,WAAW;IAYzB;;OAEG;YACW,aAAa;IAgC3B;;OAEG;YACW,iBAAiB;CAkBhC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAC5C,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAC5C,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAC5C,OAAO,CAAC,uBAAuB,CAAC,CAElC"}