codingbuddy 5.1.2 → 5.2.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/README.md +9 -0
- package/dist/src/app.module.js +2 -0
- package/dist/src/app.module.js.map +1 -1
- package/dist/src/cli/cli.d.ts +3 -3
- package/dist/src/cli/cli.js +118 -1
- package/dist/src/cli/cli.js.map +1 -1
- package/dist/src/cli/cli.types.d.ts +14 -0
- package/dist/src/cli/init/init.constants.js +0 -1
- package/dist/src/cli/init/init.constants.js.map +1 -1
- package/dist/src/cli/plugin/install.command.d.ts +10 -0
- package/dist/src/cli/plugin/install.command.js +31 -0
- package/dist/src/cli/plugin/install.command.js.map +1 -0
- package/dist/src/cli/plugin/plugins.command.d.ts +9 -0
- package/dist/src/cli/plugin/plugins.command.js +51 -0
- package/dist/src/cli/plugin/plugins.command.js.map +1 -0
- package/dist/src/cli/plugin/search.command.d.ts +9 -0
- package/dist/src/cli/plugin/search.command.js +53 -0
- package/dist/src/cli/plugin/search.command.js.map +1 -0
- package/dist/src/cli/plugin/uninstall.command.d.ts +12 -0
- package/dist/src/cli/plugin/uninstall.command.js +79 -0
- package/dist/src/cli/plugin/uninstall.command.js.map +1 -0
- package/dist/src/cli/plugin/update.command.d.ts +11 -0
- package/dist/src/cli/plugin/update.command.js +103 -0
- package/dist/src/cli/plugin/update.command.js.map +1 -0
- package/dist/src/cli/run-tui.js +16 -0
- package/dist/src/cli/run-tui.js.map +1 -1
- package/dist/src/context/briefing-loader.service.d.ts +27 -0
- package/dist/src/context/briefing-loader.service.js +124 -0
- package/dist/src/context/briefing-loader.service.js.map +1 -0
- package/dist/src/context/briefing.service.d.ts +27 -0
- package/dist/src/context/briefing.service.js +181 -0
- package/dist/src/context/briefing.service.js.map +1 -0
- package/dist/src/context/briefing.types.d.ts +13 -0
- package/dist/src/context/briefing.types.js +6 -0
- package/dist/src/context/briefing.types.js.map +1 -0
- package/dist/src/context/context.module.js +16 -2
- package/dist/src/context/context.module.js.map +1 -1
- package/dist/src/context/index.d.ts +2 -0
- package/dist/src/context/index.js +2 -0
- package/dist/src/context/index.js.map +1 -1
- package/dist/src/main.js +0 -17
- package/dist/src/main.js.map +1 -1
- package/dist/src/mcp/handlers/briefing.handler.d.ts +12 -0
- package/dist/src/mcp/handlers/briefing.handler.js +71 -0
- package/dist/src/mcp/handlers/briefing.handler.js.map +1 -0
- package/dist/src/mcp/handlers/index.d.ts +4 -0
- package/dist/src/mcp/handlers/index.js +9 -1
- package/dist/src/mcp/handlers/index.js.map +1 -1
- package/dist/src/mcp/handlers/quality-report.handler.d.ts +12 -0
- package/dist/src/mcp/handlers/quality-report.handler.js +75 -0
- package/dist/src/mcp/handlers/quality-report.handler.js.map +1 -0
- package/dist/src/mcp/handlers/resume.handler.d.ts +12 -0
- package/dist/src/mcp/handlers/resume.handler.js +63 -0
- package/dist/src/mcp/handlers/resume.handler.js.map +1 -0
- package/dist/src/mcp/handlers/rule-impact.handler.d.ts +23 -0
- package/dist/src/mcp/handlers/rule-impact.handler.js +241 -0
- package/dist/src/mcp/handlers/rule-impact.handler.js.map +1 -0
- package/dist/src/mcp/handlers/skill.handler.js +2 -2
- package/dist/src/mcp/handlers/skill.handler.js.map +1 -1
- package/dist/src/mcp/mcp.module.js +6 -0
- package/dist/src/mcp/mcp.module.js.map +1 -1
- package/dist/src/plugin/plugin-installer.service.d.ts +41 -0
- package/dist/src/plugin/plugin-installer.service.js +183 -0
- package/dist/src/plugin/plugin-installer.service.js.map +1 -0
- package/dist/src/plugin/plugin-manifest.schema.d.ts +21 -0
- package/dist/src/plugin/plugin-manifest.schema.js +45 -0
- package/dist/src/plugin/plugin-manifest.schema.js.map +1 -0
- package/dist/src/plugin/plugin.module.d.ts +2 -0
- package/dist/src/plugin/plugin.module.js +17 -0
- package/dist/src/plugin/plugin.module.js.map +1 -0
- package/dist/src/plugin/plugin.types.d.ts +7 -0
- package/dist/src/plugin/plugin.types.js +3 -0
- package/dist/src/plugin/plugin.types.js.map +1 -0
- package/dist/src/plugin/registry-client.d.ts +24 -0
- package/dist/src/plugin/registry-client.js +45 -0
- package/dist/src/plugin/registry-client.js.map +1 -0
- package/dist/src/rules/rule-event-collector.d.ts +7 -0
- package/dist/src/rules/rule-event-collector.js +38 -0
- package/dist/src/rules/rule-event-collector.js.map +1 -0
- package/dist/src/rules/rule-event.types.d.ts +9 -0
- package/dist/src/rules/rule-event.types.js +10 -0
- package/dist/src/rules/rule-event.types.js.map +1 -0
- package/dist/src/rules/rule-stats-writer.d.ts +23 -0
- package/dist/src/rules/rule-stats-writer.js +138 -0
- package/dist/src/rules/rule-stats-writer.js.map +1 -0
- package/dist/src/rules/rules.module.js +4 -2
- package/dist/src/rules/rules.module.js.map +1 -1
- package/dist/src/rules/rules.service.d.ts +2 -1
- package/dist/src/rules/rules.service.js.map +1 -1
- package/dist/src/rules/skill.schema.d.ts +5 -0
- package/dist/src/rules/skill.schema.js +6 -0
- package/dist/src/rules/skill.schema.js.map +1 -1
- package/dist/src/shared/rules-core.d.ts +2 -1
- package/dist/src/shared/rules-core.js +1 -0
- package/dist/src/shared/rules-core.js.map +1 -1
- package/dist/src/shared/version.d.ts +1 -1
- package/dist/src/shared/version.js +1 -1
- package/dist/src/ship/file-specialist-mapper.d.ts +9 -0
- package/dist/src/ship/file-specialist-mapper.js +56 -0
- package/dist/src/ship/file-specialist-mapper.js.map +1 -0
- package/dist/src/ship/quality-report.service.d.ts +6 -0
- package/dist/src/ship/quality-report.service.js +56 -0
- package/dist/src/ship/quality-report.service.js.map +1 -0
- package/dist/src/ship/quality-report.types.d.ts +20 -0
- package/dist/src/ship/quality-report.types.js +3 -0
- package/dist/src/ship/quality-report.types.js.map +1 -0
- package/dist/src/ship/ship.module.d.ts +2 -0
- package/dist/src/ship/ship.module.js +21 -0
- package/dist/src/ship/ship.module.js.map +1 -0
- package/dist/src/skill/skill-recommendation.service.d.ts +9 -2
- package/dist/src/skill/skill-recommendation.service.js +94 -16
- package/dist/src/skill/skill-recommendation.service.js.map +1 -1
- package/dist/src/skill/skill.module.js +2 -0
- package/dist/src/skill/skill.module.js.map +1 -1
- package/dist/src/tui/__perf__/memory-stability.spec.js +6 -6
- package/dist/src/tui/__perf__/memory-stability.spec.js.map +1 -1
- package/dist/src/tui/__perf__/rendering-performance.spec.js +5 -8
- package/dist/src/tui/__perf__/rendering-performance.spec.js.map +1 -1
- package/dist/src/tui/dashboard-app.spec.js +15 -15
- package/dist/src/tui/dashboard-app.spec.js.map +1 -1
- package/dist/src/tui/eventbus-ui.integration.spec.js +45 -45
- package/dist/src/tui/eventbus-ui.integration.spec.js.map +1 -1
- package/dist/src/tui/events/hud-file-bridge.d.ts +21 -0
- package/dist/src/tui/events/hud-file-bridge.js +112 -0
- package/dist/src/tui/events/hud-file-bridge.js.map +1 -0
- package/dist/src/tui/events/index.d.ts +1 -0
- package/dist/src/tui/events/index.js +3 -1
- package/dist/src/tui/events/index.js.map +1 -1
- package/dist/src/tui/testing/tui-test-utils.d.ts +2 -0
- package/dist/src/tui/testing/tui-test-utils.js +25 -0
- package/dist/src/tui/testing/tui-test-utils.js.map +1 -0
- package/dist/src/tui/transport-tui.integration.spec.js +8 -8
- package/dist/src/tui/transport-tui.integration.spec.js.map +1 -1
- package/dist/src/tui-bundle.mjs +226 -61
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.PluginModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
let PluginModule = class PluginModule {
|
|
12
|
+
};
|
|
13
|
+
exports.PluginModule = PluginModule;
|
|
14
|
+
exports.PluginModule = PluginModule = __decorate([
|
|
15
|
+
(0, common_1.Module)({})
|
|
16
|
+
], PluginModule);
|
|
17
|
+
//# sourceMappingURL=plugin.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.module.js","sourceRoot":"","sources":["../../../src/plugin/plugin.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAKjC,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.types.js","sourceRoot":"","sources":["../../../src/plugin/plugin.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface RegistryPluginProvides {
|
|
2
|
+
agents?: string[];
|
|
3
|
+
rules?: string[];
|
|
4
|
+
skills?: string[];
|
|
5
|
+
checklists?: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface RegistryPlugin {
|
|
8
|
+
name: string;
|
|
9
|
+
version: string;
|
|
10
|
+
description: string;
|
|
11
|
+
source: string;
|
|
12
|
+
tags: string[];
|
|
13
|
+
provides: RegistryPluginProvides;
|
|
14
|
+
}
|
|
15
|
+
export interface RegistryIndex {
|
|
16
|
+
plugins: RegistryPlugin[];
|
|
17
|
+
}
|
|
18
|
+
export declare class RegistryClient {
|
|
19
|
+
private cache;
|
|
20
|
+
private cacheTime;
|
|
21
|
+
fetchIndex(): Promise<RegistryIndex>;
|
|
22
|
+
findByName(name: string): Promise<RegistryPlugin | undefined>;
|
|
23
|
+
search(query: string): Promise<RegistryPlugin[]>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RegistryClient = void 0;
|
|
4
|
+
const REGISTRY_URL = 'https://raw.githubusercontent.com/JeremyDev87/codingbuddy-registry/main/index.json';
|
|
5
|
+
const CACHE_TTL_MS = 5 * 60 * 1000;
|
|
6
|
+
class RegistryClient {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.cache = null;
|
|
9
|
+
this.cacheTime = 0;
|
|
10
|
+
}
|
|
11
|
+
async fetchIndex() {
|
|
12
|
+
if (this.cache && Date.now() - this.cacheTime < CACHE_TTL_MS) {
|
|
13
|
+
return this.cache;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const response = await fetch(REGISTRY_URL);
|
|
17
|
+
if (!response.ok) {
|
|
18
|
+
return { plugins: [] };
|
|
19
|
+
}
|
|
20
|
+
const data = (await response.json());
|
|
21
|
+
this.cache = data;
|
|
22
|
+
this.cacheTime = Date.now();
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return { plugins: [] };
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async findByName(name) {
|
|
30
|
+
const index = await this.fetchIndex();
|
|
31
|
+
return index.plugins.find(plugin => plugin.name === name);
|
|
32
|
+
}
|
|
33
|
+
async search(query) {
|
|
34
|
+
const index = await this.fetchIndex();
|
|
35
|
+
const lowerQuery = query.toLowerCase();
|
|
36
|
+
return index.plugins.filter(plugin => {
|
|
37
|
+
const nameMatch = plugin.name.toLowerCase().includes(lowerQuery);
|
|
38
|
+
const descMatch = plugin.description.toLowerCase().includes(lowerQuery);
|
|
39
|
+
const tagMatch = plugin.tags.some(tag => tag.toLowerCase().includes(lowerQuery));
|
|
40
|
+
return nameMatch || descMatch || tagMatch;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.RegistryClient = RegistryClient;
|
|
45
|
+
//# sourceMappingURL=registry-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../src/plugin/registry-client.ts"],"names":[],"mappings":";;;AAOA,MAAM,YAAY,GAChB,oFAAoF,CAAC;AACvF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AA8BnC,MAAa,cAAc;IAA3B;QACU,UAAK,GAAyB,IAAI,CAAC;QACnC,cAAS,GAAG,CAAC,CAAC;IAqCxB,CAAC;IAnCC,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACzB,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;YACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YACjF,OAAO,SAAS,IAAI,SAAS,IAAI,QAAQ,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvCD,wCAuCC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RuleEventCollector = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const rule_event_types_1 = require("./rule-event.types");
|
|
12
|
+
let RuleEventCollector = class RuleEventCollector {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.events = [];
|
|
15
|
+
}
|
|
16
|
+
record(event) {
|
|
17
|
+
if (!rule_event_types_1.RULE_EVENT_TYPES.includes(event.type)) {
|
|
18
|
+
throw new Error(`Invalid rule event type: ${event.type}`);
|
|
19
|
+
}
|
|
20
|
+
this.events.push({
|
|
21
|
+
...event,
|
|
22
|
+
timestamp: event.timestamp ?? new Date().toISOString(),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
getEvents() {
|
|
26
|
+
return [...this.events];
|
|
27
|
+
}
|
|
28
|
+
flush() {
|
|
29
|
+
const flushed = [...this.events];
|
|
30
|
+
this.events = [];
|
|
31
|
+
return flushed;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.RuleEventCollector = RuleEventCollector;
|
|
35
|
+
exports.RuleEventCollector = RuleEventCollector = __decorate([
|
|
36
|
+
(0, common_1.Injectable)()
|
|
37
|
+
], RuleEventCollector);
|
|
38
|
+
//# sourceMappingURL=rule-event-collector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-event-collector.js","sourceRoot":"","sources":["../../../src/rules/rule-event-collector.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAiE;AAG1D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAAxB;QACG,WAAM,GAAgB,EAAE,CAAC;IAsBnC,CAAC;IApBC,MAAM,CAAC,KAAgB;QACrB,IAAI,CAAC,mCAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,GAAG,KAAK;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvD,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAvBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAuB9B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const RULE_EVENT_TYPES: readonly ["mode_activated", "checklist_generated", "specialist_dispatched", "violation_caught"];
|
|
2
|
+
export type RuleEventType = (typeof RULE_EVENT_TYPES)[number];
|
|
3
|
+
export interface RuleEvent {
|
|
4
|
+
type: RuleEventType;
|
|
5
|
+
timestamp: string;
|
|
6
|
+
domain?: string;
|
|
7
|
+
rule?: string;
|
|
8
|
+
details?: Record<string, unknown>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RULE_EVENT_TYPES = void 0;
|
|
4
|
+
exports.RULE_EVENT_TYPES = [
|
|
5
|
+
'mode_activated',
|
|
6
|
+
'checklist_generated',
|
|
7
|
+
'specialist_dispatched',
|
|
8
|
+
'violation_caught',
|
|
9
|
+
];
|
|
10
|
+
//# sourceMappingURL=rule-event.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-event.types.js","sourceRoot":"","sources":["../../../src/rules/rule-event.types.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,qBAAqB;IACrB,uBAAuB;IACvB,kBAAkB;CACV,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RuleEventCollector } from './rule-event-collector';
|
|
2
|
+
export declare const STATS_FILE_PATH: unique symbol;
|
|
3
|
+
export interface RuleStatsEntry {
|
|
4
|
+
applied: number;
|
|
5
|
+
sessions: number;
|
|
6
|
+
}
|
|
7
|
+
export interface DomainStatsEntry {
|
|
8
|
+
checks: number;
|
|
9
|
+
issues_prevented: number;
|
|
10
|
+
}
|
|
11
|
+
export interface StatsFile {
|
|
12
|
+
lastUpdated: string;
|
|
13
|
+
rules: Record<string, RuleStatsEntry>;
|
|
14
|
+
domains: Record<string, DomainStatsEntry>;
|
|
15
|
+
}
|
|
16
|
+
export declare class RuleStatsWriter {
|
|
17
|
+
private readonly collector;
|
|
18
|
+
private readonly statsPath;
|
|
19
|
+
constructor(collector: RuleEventCollector, statsPath?: string);
|
|
20
|
+
flush(): Promise<void>;
|
|
21
|
+
private readExistingStats;
|
|
22
|
+
private atomicWrite;
|
|
23
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RuleStatsWriter = exports.STATS_FILE_PATH = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const promises_1 = require("fs/promises");
|
|
18
|
+
const fs_1 = require("fs");
|
|
19
|
+
const path_1 = require("path");
|
|
20
|
+
const rule_event_collector_1 = require("./rule-event-collector");
|
|
21
|
+
exports.STATS_FILE_PATH = Symbol('STATS_FILE_PATH');
|
|
22
|
+
const DEFAULT_STATS_RELATIVE_PATH = 'docs/codingbuddy/rule-stats.json';
|
|
23
|
+
function createEmptyStats() {
|
|
24
|
+
return {
|
|
25
|
+
lastUpdated: new Date().toISOString(),
|
|
26
|
+
rules: {},
|
|
27
|
+
domains: {},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function aggregateEvents(events) {
|
|
31
|
+
const stats = createEmptyStats();
|
|
32
|
+
for (const event of events) {
|
|
33
|
+
switch (event.type) {
|
|
34
|
+
case 'mode_activated': {
|
|
35
|
+
if (!event.rule)
|
|
36
|
+
break;
|
|
37
|
+
if (!stats.rules[event.rule]) {
|
|
38
|
+
stats.rules[event.rule] = { applied: 0, sessions: 0 };
|
|
39
|
+
}
|
|
40
|
+
stats.rules[event.rule].applied += 1;
|
|
41
|
+
stats.rules[event.rule].sessions += 1;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case 'checklist_generated':
|
|
45
|
+
case 'specialist_dispatched': {
|
|
46
|
+
if (!event.domain)
|
|
47
|
+
break;
|
|
48
|
+
if (!stats.domains[event.domain]) {
|
|
49
|
+
stats.domains[event.domain] = { checks: 0, issues_prevented: 0 };
|
|
50
|
+
}
|
|
51
|
+
stats.domains[event.domain].checks += 1;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
case 'violation_caught': {
|
|
55
|
+
if (!event.domain)
|
|
56
|
+
break;
|
|
57
|
+
if (!stats.domains[event.domain]) {
|
|
58
|
+
stats.domains[event.domain] = { checks: 0, issues_prevented: 0 };
|
|
59
|
+
}
|
|
60
|
+
stats.domains[event.domain].issues_prevented += 1;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return stats;
|
|
66
|
+
}
|
|
67
|
+
function mergeStats(existing, incoming) {
|
|
68
|
+
const merged = {
|
|
69
|
+
lastUpdated: new Date().toISOString(),
|
|
70
|
+
rules: { ...existing.rules },
|
|
71
|
+
domains: { ...existing.domains },
|
|
72
|
+
};
|
|
73
|
+
for (const [name, entry] of Object.entries(incoming.rules)) {
|
|
74
|
+
if (merged.rules[name]) {
|
|
75
|
+
merged.rules[name] = {
|
|
76
|
+
applied: merged.rules[name].applied + entry.applied,
|
|
77
|
+
sessions: merged.rules[name].sessions + entry.sessions,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
merged.rules[name] = { ...entry };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
for (const [name, entry] of Object.entries(incoming.domains)) {
|
|
85
|
+
if (merged.domains[name]) {
|
|
86
|
+
merged.domains[name] = {
|
|
87
|
+
checks: merged.domains[name].checks + entry.checks,
|
|
88
|
+
issues_prevented: merged.domains[name].issues_prevented + entry.issues_prevented,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
merged.domains[name] = { ...entry };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return merged;
|
|
96
|
+
}
|
|
97
|
+
let RuleStatsWriter = class RuleStatsWriter {
|
|
98
|
+
constructor(collector, statsPath) {
|
|
99
|
+
this.collector = collector;
|
|
100
|
+
this.statsPath = statsPath ?? (0, path_1.join)(process.cwd(), DEFAULT_STATS_RELATIVE_PATH);
|
|
101
|
+
}
|
|
102
|
+
async flush() {
|
|
103
|
+
const events = this.collector.flush();
|
|
104
|
+
if (events.length === 0) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const incoming = aggregateEvents(events);
|
|
108
|
+
const existing = await this.readExistingStats();
|
|
109
|
+
const merged = existing ? mergeStats(existing, incoming) : incoming;
|
|
110
|
+
await this.atomicWrite(merged);
|
|
111
|
+
}
|
|
112
|
+
async readExistingStats() {
|
|
113
|
+
try {
|
|
114
|
+
const raw = await (0, promises_1.readFile)(this.statsPath, 'utf-8');
|
|
115
|
+
return JSON.parse(raw);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async atomicWrite(stats) {
|
|
122
|
+
const dir = (0, path_1.dirname)(this.statsPath);
|
|
123
|
+
if (!(0, fs_1.existsSync)(dir)) {
|
|
124
|
+
await (0, promises_1.mkdir)(dir, { recursive: true });
|
|
125
|
+
}
|
|
126
|
+
const tmpPath = this.statsPath + '.tmp';
|
|
127
|
+
await (0, promises_1.writeFile)(tmpPath, JSON.stringify(stats, null, 2), 'utf-8');
|
|
128
|
+
await (0, promises_1.rename)(tmpPath, this.statsPath);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
exports.RuleStatsWriter = RuleStatsWriter;
|
|
132
|
+
exports.RuleStatsWriter = RuleStatsWriter = __decorate([
|
|
133
|
+
(0, common_1.Injectable)(),
|
|
134
|
+
__param(1, (0, common_1.Optional)()),
|
|
135
|
+
__param(1, (0, common_1.Inject)(exports.STATS_FILE_PATH)),
|
|
136
|
+
__metadata("design:paramtypes", [rule_event_collector_1.RuleEventCollector, String])
|
|
137
|
+
], RuleStatsWriter);
|
|
138
|
+
//# sourceMappingURL=rule-stats-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-stats-writer.js","sourceRoot":"","sources":["../../../src/rules/rule-stats-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ exports.RulesModule = void 0;
|
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const rules_service_1 = require("./rules.service");
|
|
12
12
|
const rule_insights_service_1 = require("./rule-insights.service");
|
|
13
|
+
const rule_event_collector_1 = require("./rule-event-collector");
|
|
14
|
+
const rule_stats_writer_1 = require("./rule-stats-writer");
|
|
13
15
|
const custom_1 = require("../custom");
|
|
14
16
|
const config_module_1 = require("../config/config.module");
|
|
15
17
|
let RulesModule = class RulesModule {
|
|
@@ -18,8 +20,8 @@ exports.RulesModule = RulesModule;
|
|
|
18
20
|
exports.RulesModule = RulesModule = __decorate([
|
|
19
21
|
(0, common_1.Module)({
|
|
20
22
|
imports: [custom_1.CustomModule, config_module_1.CodingBuddyConfigModule],
|
|
21
|
-
providers: [rules_service_1.RulesService, rule_insights_service_1.RuleInsightsService],
|
|
22
|
-
exports: [rules_service_1.RulesService, rule_insights_service_1.RuleInsightsService],
|
|
23
|
+
providers: [rules_service_1.RulesService, rule_insights_service_1.RuleInsightsService, rule_event_collector_1.RuleEventCollector, rule_stats_writer_1.RuleStatsWriter],
|
|
24
|
+
exports: [rules_service_1.RulesService, rule_insights_service_1.RuleInsightsService, rule_event_collector_1.RuleEventCollector, rule_stats_writer_1.RuleStatsWriter],
|
|
23
25
|
})
|
|
24
26
|
], RulesModule);
|
|
25
27
|
//# sourceMappingURL=rules.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.module.js","sourceRoot":"","sources":["../../../src/rules/rules.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,mEAA8D;AAC9D,sCAAyC;AACzC,2DAAkE;AAO3D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAY,EAAE,uCAAuB,CAAC;QAChD,SAAS,EAAE,CAAC,4BAAY,EAAE,2CAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"rules.module.js","sourceRoot":"","sources":["../../../src/rules/rules.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,mEAA8D;AAC9D,iEAA4D;AAC5D,2DAAsD;AACtD,sCAAyC;AACzC,2DAAkE;AAO3D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAY,EAAE,uCAAuB,CAAC;QAChD,SAAS,EAAE,CAAC,4BAAY,EAAE,2CAAmB,EAAE,yCAAkB,EAAE,mCAAe,CAAC;QACnF,OAAO,EAAE,CAAC,4BAAY,EAAE,2CAAmB,EAAE,yCAAkB,EAAE,mCAAe,CAAC;KAClF,CAAC;GACW,WAAW,CAAG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AgentProfile, SearchResult } from './rules.types';
|
|
2
|
-
import type { Skill } from './skill.schema';
|
|
2
|
+
import type { Skill, SkillFrontmatterTrigger } from './skill.schema';
|
|
3
3
|
import { CustomService } from '../custom';
|
|
4
4
|
import { ConfigService } from '../config/config.service';
|
|
5
5
|
export declare class RulesService {
|
|
@@ -17,6 +17,7 @@ export declare class RulesService {
|
|
|
17
17
|
listSkillsFromDir(): Promise<Array<{
|
|
18
18
|
name: string;
|
|
19
19
|
description: string;
|
|
20
|
+
triggers?: SkillFrontmatterTrigger[];
|
|
20
21
|
}>>;
|
|
21
22
|
getSkill(name: string): Promise<Skill>;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.service.js","sourceRoot":"","sources":["../../../src/rules/rules.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rules.service.js","sourceRoot":"","sources":["../../../src/rules/rules.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,15 @@ export declare class SkillSchemaError extends Error {
|
|
|
3
3
|
readonly details?: z.ZodError | undefined;
|
|
4
4
|
constructor(message: string, details?: z.ZodError | undefined);
|
|
5
5
|
}
|
|
6
|
+
export interface SkillFrontmatterTrigger {
|
|
7
|
+
pattern: string;
|
|
8
|
+
confidence: 'high' | 'medium' | 'low';
|
|
9
|
+
}
|
|
6
10
|
export interface Skill {
|
|
7
11
|
name: string;
|
|
8
12
|
description: string;
|
|
9
13
|
content: string;
|
|
10
14
|
path: string;
|
|
15
|
+
triggers?: SkillFrontmatterTrigger[];
|
|
11
16
|
}
|
|
12
17
|
export declare function parseSkill(content: string, filePath: string): Skill;
|
|
@@ -13,12 +13,17 @@ class SkillSchemaError extends Error {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
exports.SkillSchemaError = SkillSchemaError;
|
|
16
|
+
const SkillFrontmatterTriggerSchema = z.object({
|
|
17
|
+
pattern: z.string().min(1),
|
|
18
|
+
confidence: z.enum(['high', 'medium', 'low']),
|
|
19
|
+
});
|
|
16
20
|
const SkillFrontmatterSchema = z.object({
|
|
17
21
|
name: z
|
|
18
22
|
.string()
|
|
19
23
|
.min(1)
|
|
20
24
|
.regex(/^[a-z0-9-]+$/, 'Skill name must be lowercase alphanumeric with hyphens only'),
|
|
21
25
|
description: z.string().min(1).max(500),
|
|
26
|
+
triggers: z.array(SkillFrontmatterTriggerSchema).optional(),
|
|
22
27
|
});
|
|
23
28
|
const FRONTMATTER_REGEX = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/;
|
|
24
29
|
function parseFrontmatter(content) {
|
|
@@ -59,6 +64,7 @@ function parseSkill(content, filePath) {
|
|
|
59
64
|
description: result.data.description,
|
|
60
65
|
content: body,
|
|
61
66
|
path: filePath,
|
|
67
|
+
triggers: result.data.triggers,
|
|
62
68
|
};
|
|
63
69
|
}
|
|
64
70
|
//# sourceMappingURL=skill.schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.schema.js","sourceRoot":"","sources":["../../../src/rules/skill.schema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"skill.schema.js","sourceRoot":"","sources":["../../../src/rules/skill.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentProfile, SearchResult } from '../rules/rules.types';
|
|
2
|
-
import type { Skill } from '../rules/skill.schema';
|
|
2
|
+
import type { Skill, SkillFrontmatterTrigger } from '../rules/skill.schema';
|
|
3
3
|
interface ResolveRulesDirOptions {
|
|
4
4
|
envRulesDir?: string;
|
|
5
5
|
packageRulesPath?: string;
|
|
@@ -23,6 +23,7 @@ export declare function searchInRuleFiles(rulesDir: string, query: string, files
|
|
|
23
23
|
export declare function listSkillSummaries(rulesDir: string, deps?: FileSystemDeps): Promise<Array<{
|
|
24
24
|
name: string;
|
|
25
25
|
description: string;
|
|
26
|
+
triggers?: SkillFrontmatterTrigger[];
|
|
26
27
|
}>>;
|
|
27
28
|
export declare function loadSkill(rulesDir: string, name: string, deps?: FileSystemDeps): Promise<Skill>;
|
|
28
29
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-core.js","sourceRoot":"","sources":["../../../src/shared/rules-core.ts"],"names":[],"mappings":";;AAkFA,0CA8BC;AAYD,0CAiBC;AASD,wCAUC;AAYD,4CAiBC;AAYD,8CAgCC;AAUD,
|
|
1
|
+
{"version":3,"file":"rules-core.js","sourceRoot":"","sources":["../../../src/shared/rules-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "5.
|
|
1
|
+
export declare const VERSION = "5.2.0";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileSpecialistMapper = void 0;
|
|
4
|
+
const MAPPINGS = [
|
|
5
|
+
{
|
|
6
|
+
pattern: /\.(ts|tsx)$/,
|
|
7
|
+
specialist: 'code-quality-specialist',
|
|
8
|
+
domain: 'code-quality',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
pattern: /(auth|security|crypto|password|token|jwt)/i,
|
|
12
|
+
specialist: 'security-specialist',
|
|
13
|
+
domain: 'security',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
pattern: /\.tsx$/,
|
|
17
|
+
specialist: 'accessibility-specialist',
|
|
18
|
+
domain: 'accessibility',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
pattern: /(package\.json|webpack|vite|bundle)/i,
|
|
22
|
+
specialist: 'performance-specialist',
|
|
23
|
+
domain: 'performance',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
class FileSpecialistMapper {
|
|
27
|
+
mapFile(filePath) {
|
|
28
|
+
const matched = [];
|
|
29
|
+
const seen = new Set();
|
|
30
|
+
for (const mapping of MAPPINGS) {
|
|
31
|
+
if (mapping.pattern.test(filePath) && !seen.has(mapping.domain)) {
|
|
32
|
+
seen.add(mapping.domain);
|
|
33
|
+
matched.push({
|
|
34
|
+
specialist: mapping.specialist,
|
|
35
|
+
domain: mapping.domain,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return matched;
|
|
40
|
+
}
|
|
41
|
+
mapFiles(filePaths) {
|
|
42
|
+
const seen = new Set();
|
|
43
|
+
const result = [];
|
|
44
|
+
for (const filePath of filePaths) {
|
|
45
|
+
for (const mapped of this.mapFile(filePath)) {
|
|
46
|
+
if (!seen.has(mapped.domain)) {
|
|
47
|
+
seen.add(mapped.domain);
|
|
48
|
+
result.push(mapped);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.FileSpecialistMapper = FileSpecialistMapper;
|
|
56
|
+
//# sourceMappingURL=file-specialist-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-specialist-mapper.js","sourceRoot":"","sources":["../../../src/ship/file-specialist-mapper.ts"],"names":[],"mappings":";;;AAEA,MAAM,QAAQ,GAA4B;IACxC;QACE,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,yBAAyB;QACrC,MAAM,EAAE,cAAc;KACvB;IACD;QACE,OAAO,EAAE,4CAA4C;QACrD,UAAU,EAAE,qBAAqB;QACjC,MAAM,EAAE,UAAU;KACnB;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,0BAA0B;QACtC,MAAM,EAAE,eAAe;KACxB;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,wBAAwB;QACpC,MAAM,EAAE,aAAa;KACtB;CACF,CAAC;AAOF,MAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAgB;QACtB,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC;oBACX,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,SAAmB;QAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAjCD,oDAiCC"}
|