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.
- package/.agents/skills/spec-ask/SKILL.md +34 -11
- package/.agents/skills/speccore-router/SKILL.md +8 -2
- package/dist/cli.js +15 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +11 -2
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +13 -2
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/code-index.d.ts +2 -0
- package/dist/commands/code-index.d.ts.map +1 -1
- package/dist/commands/code-index.js +48 -3
- package/dist/commands/code-index.js.map +1 -1
- package/dist/commands/doctor.d.ts +5 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +304 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +42 -0
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/init.d.ts +24 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +17 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/notify.d.ts +13 -0
- package/dist/commands/notify.d.ts.map +1 -0
- package/dist/commands/notify.js +63 -0
- package/dist/commands/notify.js.map +1 -0
- package/dist/commands/recommend.d.ts +13 -0
- package/dist/commands/recommend.d.ts.map +1 -0
- package/dist/commands/recommend.js +37 -0
- package/dist/commands/recommend.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +33 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +22 -8
- package/dist/commands/update.js.map +1 -1
- package/dist/core/ask-config.d.ts.map +1 -1
- package/dist/core/ask-config.js +5 -2
- package/dist/core/ask-config.js.map +1 -1
- package/dist/core/ask-engine.d.ts +6 -1
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +70 -6
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/code-graph/incremental-build.d.ts +11 -0
- package/dist/core/code-graph/incremental-build.d.ts.map +1 -0
- package/dist/core/code-graph/incremental-build.js +207 -0
- package/dist/core/code-graph/incremental-build.js.map +1 -0
- package/dist/core/code-graph/index.d.ts +2 -0
- package/dist/core/code-graph/index.d.ts.map +1 -1
- package/dist/core/code-graph/index.js +7 -1
- package/dist/core/code-graph/index.js.map +1 -1
- package/dist/core/code-graph/requirement-linker.d.ts +25 -0
- package/dist/core/code-graph/requirement-linker.d.ts.map +1 -0
- package/dist/core/code-graph/requirement-linker.js +192 -0
- package/dist/core/code-graph/requirement-linker.js.map +1 -0
- package/dist/core/error-diagnosis.d.ts +20 -0
- package/dist/core/error-diagnosis.d.ts.map +1 -0
- package/dist/core/error-diagnosis.js +155 -0
- package/dist/core/error-diagnosis.js.map +1 -0
- package/dist/core/intent-recognition.d.ts +7 -0
- package/dist/core/intent-recognition.d.ts.map +1 -1
- package/dist/core/intent-recognition.js +118 -10
- package/dist/core/intent-recognition.js.map +1 -1
- package/dist/core/lock-manager.d.ts +33 -0
- package/dist/core/lock-manager.d.ts.map +1 -0
- package/dist/core/lock-manager.js +144 -0
- package/dist/core/lock-manager.js.map +1 -0
- package/dist/core/notification.d.ts +39 -0
- package/dist/core/notification.d.ts.map +1 -0
- package/dist/core/notification.js +172 -0
- package/dist/core/notification.js.map +1 -0
- package/dist/core/prompt-builder.d.ts.map +1 -1
- package/dist/core/prompt-builder.js +26 -84
- package/dist/core/prompt-builder.js.map +1 -1
- package/dist/core/prompt-plugins/agents-plugin.d.ts +3 -0
- package/dist/core/prompt-plugins/agents-plugin.d.ts.map +1 -0
- package/dist/core/prompt-plugins/agents-plugin.js +34 -0
- package/dist/core/prompt-plugins/agents-plugin.js.map +1 -0
- package/dist/core/prompt-plugins/analyze-graph-plugin.d.ts +3 -0
- package/dist/core/prompt-plugins/analyze-graph-plugin.d.ts.map +1 -0
- package/dist/core/prompt-plugins/analyze-graph-plugin.js +48 -0
- package/dist/core/prompt-plugins/analyze-graph-plugin.js.map +1 -0
- package/dist/core/prompt-plugins/execute-graph-plugin.d.ts +3 -0
- package/dist/core/prompt-plugins/execute-graph-plugin.d.ts.map +1 -0
- package/dist/core/prompt-plugins/execute-graph-plugin.js +117 -0
- package/dist/core/prompt-plugins/execute-graph-plugin.js.map +1 -0
- package/dist/core/prompt-plugins/execute-rules-plugin.d.ts +3 -0
- package/dist/core/prompt-plugins/execute-rules-plugin.d.ts.map +1 -0
- package/dist/core/prompt-plugins/execute-rules-plugin.js +41 -0
- package/dist/core/prompt-plugins/execute-rules-plugin.js.map +1 -0
- package/dist/core/prompt-plugins/index.d.ts +10 -0
- package/dist/core/prompt-plugins/index.d.ts.map +1 -0
- package/dist/core/prompt-plugins/index.js +41 -0
- package/dist/core/prompt-plugins/index.js.map +1 -0
- package/dist/core/prompt-plugins/types.d.ts +47 -0
- package/dist/core/prompt-plugins/types.d.ts.map +1 -0
- package/dist/core/prompt-plugins/types.js +28 -0
- package/dist/core/prompt-plugins/types.js.map +1 -0
- package/dist/core/smart-recommend.d.ts +16 -0
- package/dist/core/smart-recommend.d.ts.map +1 -0
- package/dist/core/smart-recommend.js +149 -0
- package/dist/core/smart-recommend.js.map +1 -0
- package/dist/core/usage-analytics.d.ts +41 -0
- package/dist/core/usage-analytics.d.ts.map +1 -0
- package/dist/core/usage-analytics.js +162 -0
- package/dist/core/usage-analytics.js.map +1 -0
- package/dist/core/user-context.d.ts +9 -0
- package/dist/core/user-context.d.ts.map +1 -0
- package/dist/core/user-context.js +53 -0
- package/dist/core/user-context.js.map +1 -0
- 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: [
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
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
|
-
|
|
577
|
-
'
|
|
578
|
-
'
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"intent-recognition.js","sourceRoot":"","sources":["../../src/core/intent-recognition.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA0iBH,0CA2GC;AAsID,gDAIC;AAKD,sDAEC;AAKD,8CAEC;AAKD,kDAEC;AAmCD,kDAGC;AAx1BD,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,kCAAkC;IAClC;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE;YACR,MAAM;YACN,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YACtC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;YACjC,wCAAwC;YACxC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;YAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;YAChC,MAAM,EAAE,MAAM,EAAE,QAAQ;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;YACnC,MAAM,EAAE,OAAO,EAAE,QAAQ;YACzB,QAAQ,EAAE,QAAQ,EAAE,QAAQ;YAC5B,6BAA6B;YAC7B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;YAChC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;YACrC,gDAAgD;YAChD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO;YAChC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;SAC/B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,WAAW;YACvB,UAAU;YACV,UAAU,EAAE,UAAU,EAAE,UAAU;YAClC,UAAU,EAAE,UAAU,EAAE,UAAU;YAClC,UAAU,EAAE,UAAU;YACtB,UAAU;YACV,UAAU,EAAE,UAAU,EAAE,WAAW;YACnC,YAAY,EAAE,YAAY;YAC1B,cAAc;YACd,UAAU,EAAE,SAAS,EAAE,UAAU;YACjC,UAAU,EAAE,UAAU,EAAE,UAAU;SACnC;QACD,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,sEAAsE;KAC7E;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,wCAAwC;gBACxC,MAAM,cAAc,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvC,UAAU,IAAI,EAAE,CAAC;oBACjB,YAAY,GAAG,IAAI,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IAAI,eAAe,IAAI,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC7E,yCAAyC;oBACzC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC7C,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,oCAAoC;IACpC,2CAA2C;IAC3C,MAAM,aAAa,GAA2B;QAC5C,0BAA0B;QAC1B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;QAC5B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;QAC5B,MAAM;QACN,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QACjD,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QACjD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAClC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;QACnD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAClC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;QAChC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAClC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;KAC/B,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,mBAAmB;IACnB,oCAAoC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,GAAG,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClE,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,0BAA0B;IAC1B,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC1F,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,qCAAqC;IACrC,sCAAsC;IACtC,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3E,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7B,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;IACvB,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;AAED,8DAA8D;AAC9D,yCAAyC;AACzC,8DAA8D;AAE9D,iCAAiC;AACjC,MAAM,yBAAyB,GAAG;IAChC,MAAM;IACN,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU;IAC/C,UAAU;IACV,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU;IACvC,sBAAsB;IACtB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;IAC9B,QAAQ;IACR,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;IACtC,QAAQ;IACR,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;IACnE,uBAAuB;IACvB,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;IACtC,mBAAmB;IACnB,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW;IAC9D,KAAK;IACL,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF,yBAAyB;AACZ,QAAA,iBAAiB,GAAG,IAAI,GAAG,CAAa;IACnD,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;CAChD,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -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"}
|