speccore 6.91.2 → 6.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/.agents/skills/spec-ask/SKILL.md +34 -11
  2. package/.agents/skills/speccore-router/SKILL.md +8 -2
  3. package/dist/cli.js +15 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/analyze.d.ts.map +1 -1
  6. package/dist/commands/analyze.js +11 -2
  7. package/dist/commands/analyze.js.map +1 -1
  8. package/dist/commands/ask.d.ts.map +1 -1
  9. package/dist/commands/ask.js +13 -2
  10. package/dist/commands/ask.js.map +1 -1
  11. package/dist/commands/code-index.d.ts +2 -0
  12. package/dist/commands/code-index.d.ts.map +1 -1
  13. package/dist/commands/code-index.js +48 -3
  14. package/dist/commands/code-index.js.map +1 -1
  15. package/dist/commands/doctor.d.ts +5 -0
  16. package/dist/commands/doctor.d.ts.map +1 -0
  17. package/dist/commands/doctor.js +304 -0
  18. package/dist/commands/doctor.js.map +1 -0
  19. package/dist/commands/execute.d.ts.map +1 -1
  20. package/dist/commands/execute.js +42 -0
  21. package/dist/commands/execute.js.map +1 -1
  22. package/dist/commands/init.d.ts +24 -0
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +17 -10
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/notify.d.ts +13 -0
  27. package/dist/commands/notify.d.ts.map +1 -0
  28. package/dist/commands/notify.js +63 -0
  29. package/dist/commands/notify.js.map +1 -0
  30. package/dist/commands/recommend.d.ts +13 -0
  31. package/dist/commands/recommend.d.ts.map +1 -0
  32. package/dist/commands/recommend.js +37 -0
  33. package/dist/commands/recommend.js.map +1 -0
  34. package/dist/commands/status.d.ts.map +1 -1
  35. package/dist/commands/status.js +33 -1
  36. package/dist/commands/status.js.map +1 -1
  37. package/dist/commands/update.d.ts.map +1 -1
  38. package/dist/commands/update.js +22 -8
  39. package/dist/commands/update.js.map +1 -1
  40. package/dist/core/ask-config.d.ts.map +1 -1
  41. package/dist/core/ask-config.js +5 -2
  42. package/dist/core/ask-config.js.map +1 -1
  43. package/dist/core/ask-engine.d.ts +6 -1
  44. package/dist/core/ask-engine.d.ts.map +1 -1
  45. package/dist/core/ask-engine.js +70 -6
  46. package/dist/core/ask-engine.js.map +1 -1
  47. package/dist/core/code-graph/incremental-build.d.ts +11 -0
  48. package/dist/core/code-graph/incremental-build.d.ts.map +1 -0
  49. package/dist/core/code-graph/incremental-build.js +207 -0
  50. package/dist/core/code-graph/incremental-build.js.map +1 -0
  51. package/dist/core/code-graph/index.d.ts +2 -0
  52. package/dist/core/code-graph/index.d.ts.map +1 -1
  53. package/dist/core/code-graph/index.js +7 -1
  54. package/dist/core/code-graph/index.js.map +1 -1
  55. package/dist/core/code-graph/requirement-linker.d.ts +25 -0
  56. package/dist/core/code-graph/requirement-linker.d.ts.map +1 -0
  57. package/dist/core/code-graph/requirement-linker.js +192 -0
  58. package/dist/core/code-graph/requirement-linker.js.map +1 -0
  59. package/dist/core/error-diagnosis.d.ts +20 -0
  60. package/dist/core/error-diagnosis.d.ts.map +1 -0
  61. package/dist/core/error-diagnosis.js +155 -0
  62. package/dist/core/error-diagnosis.js.map +1 -0
  63. package/dist/core/intent-recognition.d.ts +7 -0
  64. package/dist/core/intent-recognition.d.ts.map +1 -1
  65. package/dist/core/intent-recognition.js +118 -10
  66. package/dist/core/intent-recognition.js.map +1 -1
  67. package/dist/core/lock-manager.d.ts +33 -0
  68. package/dist/core/lock-manager.d.ts.map +1 -0
  69. package/dist/core/lock-manager.js +144 -0
  70. package/dist/core/lock-manager.js.map +1 -0
  71. package/dist/core/notification.d.ts +39 -0
  72. package/dist/core/notification.d.ts.map +1 -0
  73. package/dist/core/notification.js +172 -0
  74. package/dist/core/notification.js.map +1 -0
  75. package/dist/core/prompt-builder.d.ts.map +1 -1
  76. package/dist/core/prompt-builder.js +26 -84
  77. package/dist/core/prompt-builder.js.map +1 -1
  78. package/dist/core/prompt-plugins/agents-plugin.d.ts +3 -0
  79. package/dist/core/prompt-plugins/agents-plugin.d.ts.map +1 -0
  80. package/dist/core/prompt-plugins/agents-plugin.js +34 -0
  81. package/dist/core/prompt-plugins/agents-plugin.js.map +1 -0
  82. package/dist/core/prompt-plugins/analyze-graph-plugin.d.ts +3 -0
  83. package/dist/core/prompt-plugins/analyze-graph-plugin.d.ts.map +1 -0
  84. package/dist/core/prompt-plugins/analyze-graph-plugin.js +48 -0
  85. package/dist/core/prompt-plugins/analyze-graph-plugin.js.map +1 -0
  86. package/dist/core/prompt-plugins/execute-graph-plugin.d.ts +3 -0
  87. package/dist/core/prompt-plugins/execute-graph-plugin.d.ts.map +1 -0
  88. package/dist/core/prompt-plugins/execute-graph-plugin.js +117 -0
  89. package/dist/core/prompt-plugins/execute-graph-plugin.js.map +1 -0
  90. package/dist/core/prompt-plugins/execute-rules-plugin.d.ts +3 -0
  91. package/dist/core/prompt-plugins/execute-rules-plugin.d.ts.map +1 -0
  92. package/dist/core/prompt-plugins/execute-rules-plugin.js +41 -0
  93. package/dist/core/prompt-plugins/execute-rules-plugin.js.map +1 -0
  94. package/dist/core/prompt-plugins/index.d.ts +10 -0
  95. package/dist/core/prompt-plugins/index.d.ts.map +1 -0
  96. package/dist/core/prompt-plugins/index.js +41 -0
  97. package/dist/core/prompt-plugins/index.js.map +1 -0
  98. package/dist/core/prompt-plugins/types.d.ts +47 -0
  99. package/dist/core/prompt-plugins/types.d.ts.map +1 -0
  100. package/dist/core/prompt-plugins/types.js +28 -0
  101. package/dist/core/prompt-plugins/types.js.map +1 -0
  102. package/dist/core/smart-recommend.d.ts +16 -0
  103. package/dist/core/smart-recommend.d.ts.map +1 -0
  104. package/dist/core/smart-recommend.js +149 -0
  105. package/dist/core/smart-recommend.js.map +1 -0
  106. package/dist/core/usage-analytics.d.ts +41 -0
  107. package/dist/core/usage-analytics.d.ts.map +1 -0
  108. package/dist/core/usage-analytics.js +162 -0
  109. package/dist/core/usage-analytics.js.map +1 -0
  110. package/dist/core/user-context.d.ts +9 -0
  111. package/dist/core/user-context.d.ts.map +1 -0
  112. package/dist/core/user-context.js +53 -0
  113. package/dist/core/user-context.js.map +1 -0
  114. package/package.json +3 -2
@@ -5,11 +5,13 @@
5
5
  * 支持 31 种意图类型、200+ 关键词匹配、置信度计算、上下文感知增强
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AMBIGUOUS_INTENTS = void 0;
8
9
  exports.recognizeIntent = recognizeIntent;
9
10
  exports.getConfidenceLevel = getConfidenceLevel;
10
11
  exports.getAllCommandMappings = getAllCommandMappings;
11
12
  exports.getCommandMapping = getCommandMapping;
12
13
  exports.getCommandsByIntent = getCommandsByIntent;
14
+ exports.isSpeccoreOperation = isSpeccoreOperation;
13
15
  const context_1 = require("./context");
14
16
  // ============================================================
15
17
  // 命令映射表(12 种意图,按优先级排序)
@@ -54,15 +56,46 @@ const COMMAND_MAPPINGS = [
54
56
  description: '创建新迭代 — 生成 STAFFING + 产品需求 + 需求文档目录',
55
57
  args: '--name=<name> --owner=<owner>',
56
58
  },
57
- // 需求分析
59
+ // 需求分析(全局级 + 迭代级 + 任务级 + 重新/补充分析)
58
60
  {
59
61
  id: 'analyze',
60
62
  intent: 'analyze',
61
63
  priority: 90,
62
- triggers: ['分析需求', '需求分析', 'AI分析', '代码分析', '分析代码', '迭代分析', '分析迭代', '本迭代分析', '当前迭代分析'],
63
- patterns: ['分析(.+)需求', '分析(.+)代码', '迭代(.+)分析', '本迭代(.+)分析'],
64
- description: 'AI 分析 需求完整性 + 改动范围 + 风险矩阵',
65
- args: '-I <iteration> 或 --scope global --src <dirs>',
64
+ triggers: [
65
+ // 迭代级
66
+ '分析需求', '需求分析', 'AI分析', '代码分析', '分析代码',
67
+ '迭代分析', '分析迭代', '本迭代分析', '当前迭代分析',
68
+ // 全局级(v6.97.0+ 修复:避免全局分析 fallback 到迭代层)
69
+ '全局分析', '全局层分析', '分析全局层', '分析全局',
70
+ '全量分析', '全量层分析', '分析全量层', '分析全量',
71
+ '项目分析', '分析项目', '分析整体架构',
72
+ '分析所有端', '分析所有工程', '跨端分析', '全局架构分析',
73
+ '整体分析', '全项目分析', '项目架构分析',
74
+ '分析整个系统', '分析整个项目', '分析所有源码',
75
+ // 任务级(v6.97.0+ 新增:子任务/单任务分析)
76
+ '任务分析', '分析任务', '子任务分析', '分析子任务',
77
+ 'Task分析', '分析Task', '当前任务分析', '单任务分析',
78
+ // 重新/补充分析(v6.97.0+ 新增:覆盖 --supplement / --sync)
79
+ '重新分析', '再分析', '重新生成分析', '重新跑分析',
80
+ '补充分析', '追加分析', '更新分析', '修正分析',
81
+ '完善分析', '刷新分析', '重新评估', '重新审查',
82
+ ],
83
+ patterns: [
84
+ '分析(.+)需求', '分析(.+)代码',
85
+ '迭代(.+)分析', '本迭代(.+)分析',
86
+ // 全局级匹配模式
87
+ '全局分析(.+)', '全量分析(.+)', '分析所有(.+)',
88
+ '分析项目(.+)', '项目(.+)分析', '整体(.+)分析',
89
+ '跨端(.+)分析', '架构(.+)分析',
90
+ // 任务级匹配模式
91
+ '任务(.+)分析', '分析任务(.+)', '子任务(.+)分析',
92
+ 'Task(.+)分析', '分析Task(.+)',
93
+ // 重新/补充分析匹配模式
94
+ '重新(.+)分析', '再(.+)分析', '补充(.+)分析',
95
+ '更新(.+)分析', '修正(.+)分析', '完善(.+)分析',
96
+ ],
97
+ description: 'AI 分析 — 需求完整性 + 改动范围 + 风险矩阵(支持全局级/迭代级/任务级/重新分析)',
98
+ args: '-I <iteration> 或 --scope global|task --with-code --supplement --sync',
66
99
  },
67
100
  // 任务拆分
68
101
  {
@@ -481,11 +514,17 @@ async function recognizeIntent(input) {
481
514
  let contextAware = false;
482
515
  const contextRule = CONTEXT_RULES[mapping.id];
483
516
  if (contextRule) {
484
- if (activeIteration) {
517
+ // v6.97.0+ 修复:用户明确说全局分析时,不因活跃迭代给迭代级意图加分
518
+ const hasGlobalScope = /全局|全量|所有项目|所有工程|整体架构|跨端|整个系统/.test(input);
519
+ if (activeIteration && !hasGlobalScope) {
485
520
  totalScore += 15;
486
521
  contextAware = true;
487
522
  matched.push('上下文感知: 有活跃迭代');
488
523
  }
524
+ else if (activeIteration && hasGlobalScope && mapping.intent === 'analyze') {
525
+ // 全局分析时,analyze 意图不因活跃迭代加分(避免全局被迭代上下文拉高)
526
+ matched.push('上下文感知: 有活跃迭代,但用户明确全局分析,不加分');
527
+ }
489
528
  else if (mapping.intent === 'execute' ||
490
529
  mapping.intent === 'query_progress') {
491
530
  totalScore -= 20; // 无上下文降权
@@ -571,11 +610,21 @@ function extractParams(input, mapping) {
571
610
  if (iterMatch) {
572
611
  params.iteration = iterMatch[1];
573
612
  }
574
- // 检测 scope 参数(全局分析 vs 迭代分析)
613
+ // 检测 scope 参数(全局分析 vs 迭代分析 vs 任务分析)
614
+ // v6.97.0+ 新增:任务级 scope 映射,优先级高于全局(先匹配先命中)
575
615
  const scopeKeywords = {
576
- '全局': 'global', '所有工程': 'global', '全部工程': 'global',
577
- '所有项目': 'global', '全部项目': 'global', '整个项目': 'global',
578
- '全量': 'global', '整体': 'global', '全部': 'global',
616
+ // 任务级(优先匹配,避免"任务"被误判为迭代级)
617
+ '子任务': 'task', '单任务': 'task',
618
+ '任务级': 'task', '任务层': 'task',
619
+ // 全局级
620
+ '全局': 'global', '全局层': 'global', '全局范围': 'global',
621
+ '全量': 'global', '全量层': 'global', '全量范围': 'global',
622
+ '所有工程': 'global', '全部工程': 'global',
623
+ '所有项目': 'global', '全部项目': 'global', '全项目': 'global',
624
+ '整个项目': 'global', '整个系统': 'global',
625
+ '所有端': 'global', '全部端': 'global',
626
+ '所有源码': 'global', '全部源码': 'global',
627
+ '整体': 'global', '全部': 'global',
579
628
  };
580
629
  for (const [keyword, scopeValue] of Object.entries(scopeKeywords)) {
581
630
  if (input.includes(keyword)) {
@@ -583,6 +632,31 @@ function extractParams(input, mapping) {
583
632
  break;
584
633
  }
585
634
  }
635
+ // 检测任务名(--task 参数)
636
+ // v6.97.0+ 新增:从输入中提取 Task-XXX 或子任务名
637
+ const taskIdMatch = input.match(/Task[\-\s]*(\w+)/i);
638
+ if (taskIdMatch) {
639
+ params.task = `Task-${taskIdMatch[1]}`;
640
+ }
641
+ const taskNameMatch = input.match(/(?:子任务|任务)[::\s]*([^,,。\s]+)/);
642
+ if (taskNameMatch && !params.task) {
643
+ params.task = taskNameMatch[1];
644
+ }
645
+ // 检测 --with-code 参数(源码扫描)
646
+ const codeKeywords = ['源码', '代码', '结合源码', '扫描代码', '读代码', '看代码', 'with-code', 'with code'];
647
+ if (codeKeywords.some(k => input.includes(k))) {
648
+ params.withCode = 'true';
649
+ }
650
+ // 检测重新/补充分析参数(--supplement / --sync)
651
+ // v6.97.0+ 新增:覆盖"重新分析""补充分析""更新分析"等场景
652
+ const supplementKeywords = ['重新', '再', '补充', '追加', '更新', '修正', '完善', '刷新'];
653
+ if (supplementKeywords.some(k => input.includes(k)) && input.includes('分析')) {
654
+ params.supplement = 'true';
655
+ }
656
+ const syncKeywords = ['回写', '同步到', '写回', '局部更新'];
657
+ if (syncKeywords.some(k => input.includes(k))) {
658
+ params.sync = 'true';
659
+ }
586
660
  // 检测工具/平台名称(--tool 参数)
587
661
  const toolKeywords = {
588
662
  'trae': 'trae', 'tree': 'trae',
@@ -643,4 +717,38 @@ function getCommandMapping(commandId) {
643
717
  function getCommandsByIntent(intent) {
644
718
  return COMMAND_MAPPINGS.filter((m) => m.intent === intent);
645
719
  }
720
+ // ═══════════════════════════════════════════════════════════
721
+ // 意图域检测 — 区分 speccore CLI 操作 vs 普通 AI 对话
722
+ // ═══════════════════════════════════════════════════════════
723
+ /** 明确表明用户在使用 speccore 的上下文关键词 */
724
+ const SPECCORE_CONTEXT_KEYWORDS = [
725
+ // 工具名
726
+ 'speccore', 'spec-core', 'spec_ask', 'spec-ask',
727
+ // 迭代/项目管理
728
+ '迭代', 'iteration', 'sprint', 'STAFFING',
729
+ // 全局分析(speccore 专有概念)
730
+ '全局', '全局层', '全量', '全量层', '跨端',
731
+ // 任务/拆分
732
+ '拆分', 'split', '子任务', 'Task-', 'task-',
733
+ // 文档/规格
734
+ 'PRD', 'doc2spec', 'spec2doc', 'ANALYSIS', '020-specs', '030-tasks',
735
+ // 执行相关(明确 speccore 语境)
736
+ 'execute', 'dev --', 'done', 'reindex',
737
+ // 端(speccore 专有概念)
738
+ 'backend', 'frontend', 'h5', 'admin', 'with-code', 'with code',
739
+ // 变更
740
+ '变更', 'change --',
741
+ ];
742
+ /** 容易与"普通 AI 对话"混淆的意图 */
743
+ exports.AMBIGUOUS_INTENTS = new Set([
744
+ 'analyze', 'split', 'execute', 'plan', 'review',
745
+ ]);
746
+ /**
747
+ * 判断用户输入是否明确与 speccore CLI 操作相关
748
+ * v6.97.0+ 新增:避免"分析代码""讨论需求"等普通聊天被误判为 speccore 操作
749
+ */
750
+ function isSpeccoreOperation(input) {
751
+ const lower = input.toLowerCase();
752
+ return SPECCORE_CONTEXT_KEYWORDS.some(kw => lower.includes(kw.toLowerCase()));
753
+ }
646
754
  //# sourceMappingURL=intent-recognition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent-recognition.js","sourceRoot":"","sources":["../../src/core/intent-recognition.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA2gBH,0CAsGC;AAgGD,gDAIC;AAKD,sDAEC;AAKD,8CAEC;AAKD,kDAEC;AAxuBD,uCAAwE;AAwExE,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,MAAM,gBAAgB,GAAqB;IACzC,4BAA4B;IAC5B,iCAAiC;IACjC;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;QAClF,QAAQ,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;QACrG,WAAW,EAAE,0CAA0C;KACxD;IACD,MAAM;IACN;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;QAC/D,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC3D,WAAW,EAAE,6BAA6B;KAC3C;IACD,SAAS;IACT;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;QACvD,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACvD,WAAW,EAAE,2BAA2B;KACzC;IACD,MAAM;IACN,wBAAwB;IACxB;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;QAClC,QAAQ,EAAE,CAAC,kBAAkB,CAAC;QAC9B,WAAW,EAAE,qCAAqC;QAClD,IAAI,EAAE,+BAA+B;KACtC;IACD,OAAO;IACP;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACrF,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;QAC3D,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,8CAA8C;KACrD;IACD,OAAO;IACP;QACE,EAAE,EAAE,iBAAiB;QACrB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC1C,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC5C,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,8BAA8B;KACrC;IACD,QAAQ;IACR;QACE,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC;QACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;QAC9C,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,kBAAkB;KACzB;IACD,OAAO;IACP;QACE,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC1C,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;QAClC,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,0BAA0B;KACjC;IACD,aAAa;IACb;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;QACjE,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,iCAAiC;KACxC;IACD,MAAM;IACN;QACE,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACjD,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;QAC/C,WAAW,EAAE,gCAAgC;KAC9C;IACD,MAAM;IACN;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;QACpD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;QACxD,WAAW,EAAE,2BAA2B;KACzC;IACD,KAAK;IACL;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;QACxD,WAAW,EAAE,sBAAsB;KACpC;IACD,MAAM;IACN;QACE,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;QACzD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;QACvD,WAAW,EAAE,wBAAwB;KACtC;IACD,MAAM;IACN;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxC,WAAW,EAAE,sBAAsB;KACpC;IACD,MAAM;IACN;QACE,EAAE,EAAE,WAAW;QACf,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QAC/C,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC3C,WAAW,EAAE,6BAA6B;KAC3C;IACD,KAAK;IACL;QACE,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QACxC,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC5C,WAAW,EAAE,4BAA4B;KAC1C;IACD,MAAM;IACN;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;QAC1C,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxC,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;QAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC1C,WAAW,EAAE,kBAAkB;KAChC;IACD,KAAK;IACL;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxC,WAAW,EAAE,wBAAwB;KACtC;IACD,MAAM;IACN;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAC5B,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACzC,WAAW,EAAE,uBAAuB;KACrC;IACD,KAAK;IACL;QACE,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxC,WAAW,EAAE,kBAAkB;KAChC;IACD,KAAK;IACL;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC9B,WAAW,EAAE,oBAAoB;KAClC;IACD,KAAK;IACL;QACE,EAAE,EAAE,cAAc;QAClB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;QAC9C,WAAW,EAAE,wBAAwB;KACtC;IACD,KAAK;IACL;QACE,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;QAC5C,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;QACzC,WAAW,EAAE,sBAAsB;KACpC;IACD,KAAK;IACL;QACE,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;QACrC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;QACzC,WAAW,EAAE,6BAA6B;KAC3C;IACD,KAAK;IACL;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QACnC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC/C,WAAW,EAAE,yBAAyB;KACvC;IACD,+DAA+D;IAC/D,QAAQ;IACR,+DAA+D;IAC/D,SAAS;IACT;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;QACvC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC;QACzD,WAAW,EAAE,+BAA+B;KAC7C;IACD,UAAU;IACV;QACE,EAAE,EAAE,uBAAuB;QAC3B,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC;QACzC,QAAQ,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;QAC7C,WAAW,EAAE,6BAA6B;KAC3C;IACD,2BAA2B;IAC3B;QACE,EAAE,EAAE,aAAa;QACjB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC5C,QAAQ,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;QACzC,WAAW,EAAE,6CAA6C;KAC3D;IACD,OAAO;IACP;QACE,EAAE,EAAE,eAAe;QACnB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QACjD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAC3C,WAAW,EAAE,kDAAkD;KAChE;IACD,KAAK;IACL;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QACvC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;QAC1D,WAAW,EAAE,oBAAoB;KAClC;IACD,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAC/D,YAAY;IACZ;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACpD,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;QAC5D,WAAW,EAAE,0BAA0B;KACxC;IACD,YAAY;IACZ;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC;QACzC,WAAW,EAAE,uBAAuB;KACrC;IACD,WAAW;IACX;QACE,EAAE,EAAE,WAAW;QACf,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;QACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;QACxC,WAAW,EAAE,2BAA2B;KACzC;IACD,YAAY;IACZ;QACE,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACrC,WAAW,EAAE,4BAA4B;KAC1C;IACD,MAAM;IACN;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;QAC3D,QAAQ,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC;QACzE,WAAW,EAAE,uBAAuB;KACrC;IACD,+DAA+D;IAC/D,cAAc;IACd,+DAA+D;IAC/D,oBAAoB;IACpB;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QAC3C,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;QAC5D,WAAW,EAAE,iCAAiC;KAC/C;IACD,cAAc;IACd;QACE,EAAE,EAAE,cAAc;QAClB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;QACxC,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;QAC7C,WAAW,EAAE,wCAAwC;KACtD;IACD,cAAc;IACd;QACE,EAAE,EAAE,cAAc;QAClB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAClC,WAAW,EAAE,mCAAmC;KACjD;IACD,eAAe;IACf;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QACnD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;QACpC,WAAW,EAAE,oCAAoC;KAClD;IACD,YAAY;IACZ;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;QAClF,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;QAClE,WAAW,EAAE,0DAA0D;KACxE;IACD,gCAAgC;IAChC;QACE,EAAE,EAAE,YAAY;QAChB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAChG,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC;QAC9F,WAAW,EAAE,wDAAwD;KACtE;CACF,CAAC;AAYF,MAAM,aAAa,GAAgC;IACjD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,gBAAgB,EAAE,gBAAgB;QAClC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9B,SAAS,GAAG,CAAC,gBAAgB,YAAY;KAC5C;IACD,cAAc,EAAE;QACd,MAAM,EAAE,gBAAgB;QACxB,gBAAgB,EAAE,gBAAgB;QAClC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9B,SAAS,GAAG,CAAC,gBAAgB,EAAE;KAClC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,cAAc;QAChC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9B,GAAG,CAAC,WAAW;YACb,CAAC,CAAC,cAAc,GAAG,CAAC,WAAW,EAAE;YACjC,CAAC,CAAC,WAAW,GAAG,CAAC,gBAAgB,EAAE;KACxC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,cAAc;QAChC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9B,GAAG,CAAC,WAAW;YACb,CAAC,CAAC,cAAc,GAAG,CAAC,WAAW,EAAE;YACjC,CAAC,CAAC,WAAW,GAAG,CAAC,gBAAgB,EAAE;KACxC;CACF,CAAC;AAEF,+DAA+D;AAC/D,SAAS;AACT,+DAA+D;AAE/D;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,KAAa;IACjD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAW,GAAE,CAAC;IACpC,MAAM,eAAe,GAAG,MAAM,IAAA,+BAAqB,GAAE,CAAC;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC7C,CAAC;IAED,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,aAAa;QACb,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC1E,UAAU,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,YAAY;QACZ,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,IAAI,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,WAAW;YACX,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;YAErC,aAAa;YACb,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,eAAe,EAAE,CAAC;oBACpB,UAAU,IAAI,EAAE,CAAC;oBACjB,YAAY,GAAG,IAAI,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IACL,OAAO,CAAC,MAAM,KAAK,SAAS;oBAC5B,OAAO,CAAC,MAAM,KAAK,gBAAgB,EACnC,CAAC;oBACD,UAAU,IAAI,EAAE,CAAC,CAAC,SAAS;oBAC3B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,wCAAwC;YACxC,MAAM,QAAQ,GAAG,0IAA0I,CAAC;YAC5J,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,UAAU,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YAED,gDAAgD;YAChD,MAAM,SAAS,GAAG,iIAAiI,CAAC;YACpJ,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,UAAU,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACvC,CAAC;YAED,2CAA2C;YAC3C,MAAM,WAAW,GAAG,mGAAmG,CAAC;YACxH,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,UAAU,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACtC,CAAC;YAED,sBAAsB;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAEtE,UAAU;YACV,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,EAAE;gBACnB,UAAU;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,eAAe,EAAE,OAAO;gBACxB,eAAe;gBACf,YAAY;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,WAAW;IACX,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACtE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAa,EAAE,OAAuB;IAC3D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,eAAe;IACf,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,WAAW;IACX,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChC,CAAC;gBACD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,KAAK;QACP,CAAC;IACH,CAAC;IAED,YAAY;IACZ,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAA2B;QAC5C,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAClD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QACpD,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;KAC/C,CAAC;IACF,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAClE,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;YAC1B,MAAM;QACR,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,YAAY,GAA2B;QAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QAC9B,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW;QACnD,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;QACrC,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU;QAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;QACvD,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW;KACpD,CAAC;IACF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,WAAW;IACX,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,2BAA2B;IAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1G,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,UAAkB;IACnD,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IACpC,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAAiB;IACjD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAkB;IACpD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"intent-recognition.js","sourceRoot":"","sources":["../../src/core/intent-recognition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export interface LockInfo {
2
+ holder: string;
3
+ acquiredAt: string;
4
+ task?: string;
5
+ iteration?: string;
6
+ pid: number;
7
+ }
8
+ export interface LockResult {
9
+ success: boolean;
10
+ existing?: LockInfo;
11
+ message: string;
12
+ }
13
+ /**
14
+ * 尝试获取锁
15
+ */
16
+ export declare function acquireLock(cwd: string, lockName: string, options?: {
17
+ task?: string;
18
+ iteration?: string;
19
+ force?: boolean;
20
+ }): Promise<LockResult>;
21
+ /**
22
+ * 释放锁
23
+ */
24
+ export declare function releaseLock(cwd: string, lockName: string): Promise<void>;
25
+ /**
26
+ * 检查锁状态
27
+ */
28
+ export declare function checkLock(cwd: string, lockName: string): Promise<LockInfo | null>;
29
+ /**
30
+ * 清理所有锁(管理员用)
31
+ */
32
+ export declare function clearAllLocks(cwd: string): Promise<number>;
33
+ //# sourceMappingURL=lock-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-manager.d.ts","sourceRoot":"","sources":["../../src/core/lock-manager.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC,UAAU,CAAC,CAgDrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9E;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CASvF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAchE"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.acquireLock = acquireLock;
37
+ exports.releaseLock = releaseLock;
38
+ exports.checkLock = checkLock;
39
+ exports.clearAllLocks = clearAllLocks;
40
+ /**
41
+ * Lock Manager — 并发保护
42
+ * v6.95.0: 基于文件的轻量级锁,防止多用户/多进程同时操作同一迭代
43
+ */
44
+ const path_1 = require("path");
45
+ const fs_extra_1 = require("fs-extra");
46
+ const user_context_1 = require("./user-context");
47
+ const logger_1 = require("../utils/logger");
48
+ const LOCKS_DIR = '.speccore/local/locks';
49
+ function getLockPath(cwd, lockName) {
50
+ return (0, path_1.join)(cwd, LOCKS_DIR, `${lockName}.lock`);
51
+ }
52
+ /**
53
+ * 尝试获取锁
54
+ */
55
+ async function acquireLock(cwd, lockName, options = {}) {
56
+ const lockPath = getLockPath(cwd, lockName);
57
+ // 检查现有锁
58
+ if (await (0, fs_extra_1.pathExists)(lockPath)) {
59
+ try {
60
+ const raw = await (0, fs_extra_1.readFile)(lockPath, 'utf-8');
61
+ const existing = JSON.parse(raw);
62
+ // 检查是否是同一进程(可能是崩溃后重启)
63
+ if (existing.pid === process.pid) {
64
+ return { success: true, message: '当前进程已持有此锁' };
65
+ }
66
+ // 检查锁是否过期(超过 30 分钟视为死锁)
67
+ const acquiredTime = new Date(existing.acquiredAt).getTime();
68
+ const now = Date.now();
69
+ const EXPIRE_MS = 30 * 60 * 1000;
70
+ if (now - acquiredTime > EXPIRE_MS) {
71
+ logger_1.logger.warn(`检测到过期锁 (${Math.round((now - acquiredTime) / 60000)} 分钟前),自动清理`);
72
+ await (0, fs_extra_1.unlink)(lockPath);
73
+ }
74
+ else if (!options.force) {
75
+ return {
76
+ success: false,
77
+ existing,
78
+ message: `锁已被 ${existing.holder} 持有(任务: ${existing.task || 'unknown'},${existing.acquiredAt})`,
79
+ };
80
+ }
81
+ else {
82
+ logger_1.logger.warn(`强制获取锁(原持有者: ${existing.holder})`);
83
+ await (0, fs_extra_1.unlink)(lockPath);
84
+ }
85
+ }
86
+ catch {
87
+ // 锁文件损坏,直接覆盖
88
+ await (0, fs_extra_1.unlink)(lockPath).catch(() => { });
89
+ }
90
+ }
91
+ // 创建锁
92
+ const info = {
93
+ holder: (0, user_context_1.getCurrentUser)(),
94
+ acquiredAt: new Date().toISOString(),
95
+ task: options.task,
96
+ iteration: options.iteration,
97
+ pid: process.pid,
98
+ };
99
+ await (0, fs_extra_1.writeFile)(lockPath, JSON.stringify(info, null, 2));
100
+ return { success: true, message: '锁获取成功' };
101
+ }
102
+ /**
103
+ * 释放锁
104
+ */
105
+ async function releaseLock(cwd, lockName) {
106
+ const lockPath = getLockPath(cwd, lockName);
107
+ if (await (0, fs_extra_1.pathExists)(lockPath)) {
108
+ await (0, fs_extra_1.unlink)(lockPath).catch(() => { });
109
+ }
110
+ }
111
+ /**
112
+ * 检查锁状态
113
+ */
114
+ async function checkLock(cwd, lockName) {
115
+ const lockPath = getLockPath(cwd, lockName);
116
+ if (!(await (0, fs_extra_1.pathExists)(lockPath)))
117
+ return null;
118
+ try {
119
+ const raw = await (0, fs_extra_1.readFile)(lockPath, 'utf-8');
120
+ return JSON.parse(raw);
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ }
126
+ /**
127
+ * 清理所有锁(管理员用)
128
+ */
129
+ async function clearAllLocks(cwd) {
130
+ const { readdir } = await Promise.resolve().then(() => __importStar(require('fs-extra')));
131
+ const locksDir = (0, path_1.join)(cwd, LOCKS_DIR);
132
+ if (!(await (0, fs_extra_1.pathExists)(locksDir)))
133
+ return 0;
134
+ const files = await readdir(locksDir);
135
+ let count = 0;
136
+ for (const f of files) {
137
+ if (f.endsWith('.lock')) {
138
+ await (0, fs_extra_1.unlink)((0, path_1.join)(locksDir, f)).catch(() => { });
139
+ count++;
140
+ }
141
+ }
142
+ return count;
143
+ }
144
+ //# sourceMappingURL=lock-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-manager.js","sourceRoot":"","sources":["../../src/core/lock-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export type NotificationType = 'task_status_changed' | 'task_created' | 'requirement_updated' | 'spec_generated' | 'code_executed' | 'plan_generated' | 'iteration_created';
2
+ export interface Notification {
3
+ id: string;
4
+ type: NotificationType;
5
+ title: string;
6
+ message: string;
7
+ actor: string;
8
+ timestamp: string;
9
+ iteration?: string;
10
+ task?: string;
11
+ metadata?: Record<string, unknown>;
12
+ }
13
+ /**
14
+ * 发送通知(记录变更事件)
15
+ */
16
+ export declare function sendNotification(cwd: string, notification: Omit<Notification, 'id' | 'actor' | 'timestamp'>): Promise<Notification>;
17
+ /**
18
+ * 获取所有通知(按时间倒序)
19
+ */
20
+ export declare function getNotifications(cwd: string, options?: {
21
+ unreadOnly?: boolean;
22
+ }): Promise<Notification[]>;
23
+ /**
24
+ * 标记通知为已读
25
+ */
26
+ export declare function markAsRead(cwd: string, notificationId: string): Promise<void>;
27
+ /**
28
+ * 标记所有通知为已读
29
+ */
30
+ export declare function markAllAsRead(cwd: string): Promise<number>;
31
+ /**
32
+ * 清除过期通知(默认保留 30 天)
33
+ */
34
+ export declare function cleanupOldNotifications(cwd: string, maxAgeDays?: number): Promise<number>;
35
+ /**
36
+ * 格式化通知为可读文本
37
+ */
38
+ export declare function formatNotification(n: Notification): string;
39
+ //# sourceMappingURL=notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/core/notification.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,gBAAgB,GACxB,qBAAqB,GACrB,cAAc,GACd,qBAAqB,GACrB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAUD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,GAC7D,OAAO,CAAC,YAAY,CAAC,CAevB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA0BnH;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKnF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWhE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB3F;AAOD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAI1D"}