atabey 0.0.35 → 0.0.37
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/ATABEY.md +6 -4
- package/dist/atabey/src/cli/commands/approve.js +55 -34
- package/dist/atabey/src/cli/commands/approve.js.map +1 -1
- package/dist/atabey/src/cli/commands/dashboard.js +92 -18
- package/dist/atabey/src/cli/commands/dashboard.js.map +1 -1
- package/dist/atabey/src/cli/utils/compliance.js +58 -0
- package/dist/atabey/src/cli/utils/compliance.js.map +1 -1
- package/dist/atabey/src/cli/utils/memory.js +14 -2
- package/dist/atabey/src/cli/utils/memory.js.map +1 -1
- package/dist/atabey/src/modules/engines/evaluation-engine.js +13 -3
- package/dist/atabey/src/modules/engines/evaluation-engine.js.map +1 -1
- package/dist/atabey/src/modules/skills/definitions.d.ts +24 -0
- package/dist/atabey/src/modules/skills/definitions.js +36 -0
- package/dist/atabey/src/modules/skills/definitions.js.map +1 -1
- package/dist/shared/src/audit-chain.js +1 -1
- package/dist/shared/src/audit-chain.js.map +1 -1
- package/dist/shared/src/sandbox-fs.js +3 -1
- package/dist/shared/src/sandbox-fs.js.map +1 -1
- package/package.json +5 -2
- package/templates/standards/auth-standards.md +5 -2
- package/templates/standards/enterprise-systems-standards.md +33 -0
- package/templates/standards/reporting-standards.md +23 -0
- package/templates/standards/typeorm-standards.md +2 -1
package/ATABEY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Atabey Governance Layer — Supreme Law (Summary)
|
|
2
2
|
|
|
3
3
|
> This file contains the core rules that AI agents must follow.
|
|
4
|
-
> **Full version:** `templates/full/ATABEY_FULL.md`
|
|
4
|
+
> **Full version:** `packages/atabey/templates/full/ATABEY_FULL.md`
|
|
5
5
|
|
|
6
6
|
## [RULE 0] Language Policy
|
|
7
7
|
- **All product content is English:** code, comments, agent instructions, standards, prompts, CLI output, commits, and docs (except the root `README.md`, which is bilingual EN + TR).
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
## [RULE 1] Always Work Inside the Project Directory
|
|
12
12
|
- **NEVER write to `/tmp`, `/var/tmp`, `temp` or similar locations.** All files, logs, and state must remain inside the project directory.
|
|
13
|
-
- All work is done under `apps/`, `src/`, `docs/`, `tests/`.
|
|
14
|
-
-
|
|
13
|
+
- **Consumer Projects:** All application work is done under `apps/`, `src/`, `docs/`, `tests/`. Do not modify installed framework internals (`.atabey/agents/`, framework dist).
|
|
14
|
+
- **Framework Monorepo (`frameworkRepo: true`):** Framework development is strictly organized under `packages/` (`packages/shared`, `packages/atabey`, `packages/atabey-mcp`, `packages/atabey-mcp/dashboard`).
|
|
15
15
|
|
|
16
16
|
## [RULE 2] Hierarchy
|
|
17
17
|
1. **ATABEY.md** — Supreme Law
|
|
@@ -35,12 +35,14 @@
|
|
|
35
35
|
| @explorer | Recon | Codebase discovery |
|
|
36
36
|
| @git | Recon | Version control |
|
|
37
37
|
|
|
38
|
+
> **Profile Tailoring:** Active agents in `.atabey/agents/` depend on `--profile` (`freelancer`: 3-4 essential agents, `team`: 7 agents, `enterprise`: all 13 agents).
|
|
39
|
+
|
|
38
40
|
## [RULE 4] Prohibitions
|
|
39
41
|
- `any` type is forbidden
|
|
40
42
|
- `console.log` is forbidden — use `EnterpriseLogger`
|
|
41
43
|
- Mock data is forbidden (except 3rd party services)
|
|
42
44
|
- Writing to `/tmp` or similar is forbidden
|
|
43
|
-
- Raw SQL is forbidden — use Kysely/ORM
|
|
45
|
+
- Raw unparameterized SQL is forbidden — use Kysely/ORM (or parameterized prepared statements)
|
|
44
46
|
- Direct DB calls in controllers are forbidden
|
|
45
47
|
|
|
46
48
|
## [RULE 5] Phase System
|
|
@@ -5,47 +5,68 @@ import { UI } from "../utils/ui.js";
|
|
|
5
5
|
import { writeTextFile, appendFile } from "../utils/fs.js";
|
|
6
6
|
import { ValidationError } from "../../shared/errors.js";
|
|
7
7
|
import { HermesMessageSchema } from "./orchestrate.js";
|
|
8
|
+
import { Storage } from "../../shared/storage.js";
|
|
8
9
|
export async function approveCommand(traceId) {
|
|
9
10
|
const frameworkDir = getFrameworkDir();
|
|
10
11
|
const messagesDir = path.join(frameworkDir, "messages");
|
|
11
|
-
if (!fs.existsSync(messagesDir)) {
|
|
12
|
-
throw new ValidationError("No messages directory found.", null, "Ensure the framework is initialized and the Hermes orchestrator has been run at least once.");
|
|
13
|
-
}
|
|
14
|
-
const files = fs.readdirSync(messagesDir).filter((f) => f.endsWith(".json"));
|
|
15
12
|
let found = false;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
13
|
+
// 1. Primary SSOT: Check and approve in SQLite storage
|
|
14
|
+
try {
|
|
15
|
+
const approval = Storage.getApproval(traceId);
|
|
16
|
+
if (approval && approval.status === "PENDING") {
|
|
17
|
+
Storage.updateApprovalStatus(traceId, "APPROVED");
|
|
18
|
+
found = true;
|
|
19
|
+
UI.success(`Approved high-risk operation for trace: ${traceId} (Tool: ${approval.toolName})`);
|
|
20
|
+
}
|
|
21
|
+
const pendingMessages = Storage.getPendingMessages();
|
|
22
|
+
for (const msg of pendingMessages) {
|
|
23
|
+
if (msg.traceId === traceId && (msg.category === "ALERT" || msg.category === "ACTION") && msg.id !== undefined) {
|
|
24
|
+
Storage.updateMessageStatus(msg.id, "APPROVED");
|
|
25
|
+
found = true;
|
|
26
|
+
UI.success(`Approved message from ${msg.from} to ${msg.to} (Action: ${msg.category})`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Storage may not be initialized in non-DB environments
|
|
32
|
+
}
|
|
33
|
+
// 2. Secondary / Legacy: Check flat message files if present
|
|
34
|
+
if (fs.existsSync(messagesDir)) {
|
|
35
|
+
const files = fs.readdirSync(messagesDir).filter((f) => f.endsWith(".json"));
|
|
36
|
+
for (const file of files) {
|
|
37
|
+
const filePath = path.join(messagesDir, file);
|
|
38
|
+
try {
|
|
39
|
+
const content = fs.readFileSync(filePath, "utf8").trim();
|
|
40
|
+
if (!content)
|
|
41
|
+
continue;
|
|
42
|
+
const lines = content.split("\n");
|
|
43
|
+
let updated = false;
|
|
44
|
+
const newLines = lines.map((line) => {
|
|
45
|
+
if (!line.trim())
|
|
46
|
+
return line;
|
|
47
|
+
try {
|
|
48
|
+
const parsed = JSON.parse(line);
|
|
49
|
+
const msg = HermesMessageSchema.parse(parsed);
|
|
50
|
+
if (msg.traceId === traceId && msg.status === "PENDING" && (msg.category === "ALERT" || msg.category === "ACTION")) {
|
|
51
|
+
msg.status = "APPROVED";
|
|
52
|
+
updated = true;
|
|
53
|
+
found = true;
|
|
54
|
+
UI.success(`Approved message from ${msg.from} to ${msg.to} (Action: ${msg.action || "None"})`);
|
|
55
|
+
}
|
|
56
|
+
return JSON.stringify(msg);
|
|
35
57
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
58
|
+
catch (e) {
|
|
59
|
+
UI.error(`Skipping invalid Hermes message during approval: ${e.message}`);
|
|
60
|
+
return line;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
if (updated) {
|
|
64
|
+
writeTextFile(filePath, newLines.join("\n") + "\n");
|
|
41
65
|
}
|
|
42
|
-
});
|
|
43
|
-
if (updated) {
|
|
44
|
-
writeTextFile(filePath, newLines.join("\n") + "\n");
|
|
45
66
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
67
|
+
catch (e) {
|
|
68
|
+
UI.error(`Error reading or updating message file ${file}: ${e.message}`);
|
|
69
|
+
}
|
|
49
70
|
}
|
|
50
71
|
}
|
|
51
72
|
if (found) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../../../src/cli/commands/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../../../src/cli/commands/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAChD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,uDAAuD;IACvD,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAClD,KAAK,GAAG,IAAI,CAAC;YACb,EAAE,CAAC,OAAO,CAAC,2CAA2C,OAAO,WAAW,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC7G,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAChD,KAAK,GAAG,IAAI,CAAC;gBACb,EAAE,CAAC,OAAO,CAAC,yBAAyB,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC3F,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,wDAAwD;IAC5D,CAAC;IAED,6DAA6D;IAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBAAE,OAAO,IAAI,CAAC;oBAC9B,IAAI,CAAC;wBACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAChC,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;4BACjH,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;4BACxB,OAAO,GAAG,IAAI,CAAC;4BACf,KAAK,GAAG,IAAI,CAAC;4BACb,EAAE,CAAC,OAAO,CAAC,yBAAyB,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC;wBACnG,CAAC;wBACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC/B,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,EAAE,CAAC,KAAK,CAAC,oDAAqD,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;wBACrF,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,OAAO,EAAE,CAAC;oBACV,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACxD,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,EAAE,CAAC,KAAK,CAAC,0CAA0C,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;IACD,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACR,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;QACxE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,2CAA2C,GAAG,OAAO,CAAC;YAC9G,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,+BAA+B,GAAG,OAAO,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,eAAe,CACrB,mDAAmD,OAAO,EAAE,EAC5D,IAAI,EACJ,iGAAiG,CACpG,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
2
|
-
// @ts-nocheck — cross-package dynamic imports from atabey-mcp are runtime-only
|
|
3
1
|
import fs from "fs";
|
|
4
2
|
import http from "http";
|
|
5
3
|
import path from "path";
|
|
@@ -119,7 +117,19 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
|
|
|
119
117
|
const uiDistPath = possibleUiDistPaths.find(p => fs.existsSync(p)) || possibleUiDistPaths[0];
|
|
120
118
|
const server = http.createServer(async (req, res) => {
|
|
121
119
|
// CORS & Cache Headers
|
|
122
|
-
|
|
120
|
+
const origin = req.headers.origin;
|
|
121
|
+
const isLocalOrigin = !origin ||
|
|
122
|
+
origin.startsWith("http://localhost:") ||
|
|
123
|
+
origin.startsWith("http://127.0.0.1:") ||
|
|
124
|
+
origin.startsWith("https://localhost:") ||
|
|
125
|
+
origin.startsWith("https://127.0.0.1:") ||
|
|
126
|
+
origin === "null";
|
|
127
|
+
if (isLocalOrigin) {
|
|
128
|
+
res.setHeader("Access-Control-Allow-Origin", origin || "*");
|
|
129
|
+
}
|
|
130
|
+
else if (process.env.ATABEY_ALLOWED_ORIGIN && origin === process.env.ATABEY_ALLOWED_ORIGIN) {
|
|
131
|
+
res.setHeader("Access-Control-Allow-Origin", origin);
|
|
132
|
+
}
|
|
123
133
|
res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
|
|
124
134
|
res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
|
|
125
135
|
res.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, proxy-revalidate");
|
|
@@ -308,17 +318,48 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
|
|
|
308
318
|
return;
|
|
309
319
|
}
|
|
310
320
|
try {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
321
|
+
let approvedCount = 0;
|
|
322
|
+
// 1. Primary: Update SQLite approvals table
|
|
323
|
+
try {
|
|
324
|
+
const approval = Storage.getApproval(traceId);
|
|
325
|
+
if (approval && approval.status === "PENDING") {
|
|
326
|
+
Storage.updateApprovalStatus(traceId, "APPROVED");
|
|
327
|
+
approvedCount++;
|
|
328
|
+
}
|
|
316
329
|
}
|
|
330
|
+
catch { /* best effort */ }
|
|
331
|
+
// 2. Update SQLite pending messages
|
|
332
|
+
const pendingMessages = Storage.getPendingMessages().filter(m => m.traceId === traceId && (m.category === "ALERT" || m.category === "ACTION"));
|
|
317
333
|
pendingMessages.forEach((msg) => {
|
|
318
334
|
if (msg.id !== undefined) {
|
|
319
335
|
Storage.updateMessageStatus(msg.id, "APPROVED");
|
|
336
|
+
approvedCount++;
|
|
320
337
|
}
|
|
321
338
|
});
|
|
339
|
+
// 3. Fallback: Update legacy file-based message queue
|
|
340
|
+
const messagesDir = path.join(frameworkDir, "messages");
|
|
341
|
+
if (fs.existsSync(messagesDir)) {
|
|
342
|
+
const files = fs.readdirSync(messagesDir);
|
|
343
|
+
for (const file of files) {
|
|
344
|
+
if (file.endsWith(".json")) {
|
|
345
|
+
const p = path.join(messagesDir, file);
|
|
346
|
+
try {
|
|
347
|
+
const data = JSON.parse(fs.readFileSync(p, "utf8"));
|
|
348
|
+
if (data.traceId === traceId && (data.category === "ALERT" || data.category === "ACTION") && data.status !== "APPROVED") {
|
|
349
|
+
data.status = "APPROVED";
|
|
350
|
+
data.resolvedAt = new Date().toISOString();
|
|
351
|
+
fs.writeFileSync(p, JSON.stringify(data, null, 2), "utf8");
|
|
352
|
+
approvedCount++;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
catch { /* ignore */ }
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
if (approvedCount === 0) {
|
|
360
|
+
serveJson(res, 404, { success: false, error: "No pending approval found for this trace ID" });
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
322
363
|
// Log approval to audit — atomic appendFile kullan
|
|
323
364
|
const auditPath = path.join(frameworkDir, "observability/audit_log.md");
|
|
324
365
|
if (fs.existsSync(auditPath)) {
|
|
@@ -327,7 +368,7 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
|
|
|
327
368
|
}
|
|
328
369
|
// Notify WS clients
|
|
329
370
|
broadcastWS("approval", { traceId, status: "APPROVED" });
|
|
330
|
-
serveJson(res, 200, { success: true, message: `Trace ${traceId} approved successfully`, approved:
|
|
371
|
+
serveJson(res, 200, { success: true, message: `Trace ${traceId} approved successfully`, approved: approvedCount });
|
|
331
372
|
}
|
|
332
373
|
catch (e) {
|
|
333
374
|
serveJson(res, 500, { success: false, error: e.message });
|
|
@@ -342,16 +383,48 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
|
|
|
342
383
|
return;
|
|
343
384
|
}
|
|
344
385
|
try {
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
386
|
+
let rejectedCount = 0;
|
|
387
|
+
// 1. Primary: Update SQLite approvals table
|
|
388
|
+
try {
|
|
389
|
+
const approval = Storage.getApproval(traceId);
|
|
390
|
+
if (approval && approval.status === "PENDING") {
|
|
391
|
+
Storage.updateApprovalStatus(traceId, "REJECTED");
|
|
392
|
+
rejectedCount++;
|
|
393
|
+
}
|
|
349
394
|
}
|
|
395
|
+
catch { /* best effort */ }
|
|
396
|
+
// 2. Update SQLite pending messages
|
|
397
|
+
const pendingMessages = Storage.getPendingMessages().filter(m => m.traceId === traceId && (m.category === "ALERT" || m.category === "ACTION"));
|
|
350
398
|
pendingMessages.forEach((msg) => {
|
|
351
399
|
if (msg.id !== undefined) {
|
|
352
400
|
Storage.updateMessageStatus(msg.id, "REJECTED");
|
|
401
|
+
rejectedCount++;
|
|
353
402
|
}
|
|
354
403
|
});
|
|
404
|
+
// 3. Fallback: Update legacy file-based message queue
|
|
405
|
+
const messagesDir = path.join(frameworkDir, "messages");
|
|
406
|
+
if (fs.existsSync(messagesDir)) {
|
|
407
|
+
const files = fs.readdirSync(messagesDir);
|
|
408
|
+
for (const file of files) {
|
|
409
|
+
if (file.endsWith(".json")) {
|
|
410
|
+
const p = path.join(messagesDir, file);
|
|
411
|
+
try {
|
|
412
|
+
const data = JSON.parse(fs.readFileSync(p, "utf8"));
|
|
413
|
+
if (data.traceId === traceId && (data.category === "ALERT" || data.category === "ACTION") && data.status !== "REJECTED") {
|
|
414
|
+
data.status = "REJECTED";
|
|
415
|
+
data.resolvedAt = new Date().toISOString();
|
|
416
|
+
fs.writeFileSync(p, JSON.stringify(data, null, 2), "utf8");
|
|
417
|
+
rejectedCount++;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
catch { /* ignore */ }
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
if (rejectedCount === 0) {
|
|
425
|
+
serveJson(res, 404, { success: false, error: "No pending approval found for this trace ID" });
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
355
428
|
// Log rejection to audit
|
|
356
429
|
const auditPath = path.join(frameworkDir, "observability/audit_log.md");
|
|
357
430
|
if (fs.existsSync(auditPath)) {
|
|
@@ -360,7 +433,7 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
|
|
|
360
433
|
}
|
|
361
434
|
// Notify WS clients
|
|
362
435
|
broadcastWS("approval", { traceId, status: "REJECTED" });
|
|
363
|
-
serveJson(res, 200, { success: true, message: `Trace ${traceId} rejected successfully`, rejected:
|
|
436
|
+
serveJson(res, 200, { success: true, message: `Trace ${traceId} rejected successfully`, rejected: rejectedCount });
|
|
364
437
|
}
|
|
365
438
|
catch (e) {
|
|
366
439
|
serveJson(res, 500, { success: false, error: e.message });
|
|
@@ -705,11 +778,12 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
|
|
|
705
778
|
process.exit(1);
|
|
706
779
|
}
|
|
707
780
|
});
|
|
708
|
-
|
|
781
|
+
const host = process.env.ATABEY_DASHBOARD_HOST || "127.0.0.1";
|
|
782
|
+
server.listen(port, host, () => {
|
|
709
783
|
UI.success("\n[START] Hermes Visual Control Plane is running!");
|
|
710
|
-
UI.success(`[INFO] Web UI: http
|
|
711
|
-
UI.success(`[DATA] API Base: http
|
|
712
|
-
UI.success(`[WS] WebSocket: ws
|
|
784
|
+
UI.success(`[INFO] Web UI: http://${host}:${port}`);
|
|
785
|
+
UI.success(`[DATA] API Base: http://${host}:${port}/api`);
|
|
786
|
+
UI.success(`[WS] WebSocket: ws://${host}:${port}/ws`);
|
|
713
787
|
UI.success("[ENDPOINTS]");
|
|
714
788
|
UI.success(" GET /api/health → System health check");
|
|
715
789
|
UI.success(" GET /api/status → Agent statuses");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,+EAA+E;AAC/E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAapC;;GAEG;AACH,SAAS,SAAS,CAAC,GAAwB,EAAE,UAAkB,EAAE,IAAa;IAC1E,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAwB,EAAE,QAAgB,EAAE,WAAmB;IAC9E,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,SAAS,GAAmB,IAAI,GAAG,EAAE,CAAC;AAE5C,SAAS,WAAW,CAAC,IAAY,EAAE,OAAgB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACrB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC;gBAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAA8B,GAAyB,EAAE,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;IACrG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACtC,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACjF,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;gBACvB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBAClE,OAAO;YACX,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACf,IAAI,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,EAAQ,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,SAAS,CAAC,cAAc;IAC1E,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oCAAoC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oCAAoC,CAAC;KAC/D,CAAC;IACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAE7F,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAChD,uBAAuB;QACvB,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;QAC7E,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,uDAAuD,CAAC,CAAC;QACxF,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE9B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC3B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE3C,iDAAiD;QACjD,+CAA+C;QAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,QAAQ,KAAK,aAAa,CAAC;QAChD,IAAI,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAClE,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACtB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,sGAAsG,EAAE,CAAC,CAAC;oBACvI,OAAO;gBACX,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,EAAE,CAAC,OAAO,CAAC,qCAAsC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;QAED,kEAAkE;QAElE,eAAe;QACf,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3E,OAAO;QACX,CAAC;QAED,gBAAgB;QAChB,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpE,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC/C,OAAO;QACX,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YAC1E,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,oCAAoC;QACpC,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACpC,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,CAAC,KAAK,CAM/F,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;wBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;wBAC9C,OAAO;4BACH,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ;4BAC/C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU;4BAC3C,SAAS,EAAE,GAAG;yBACjB,CAAC;oBACN,CAAC,CAAC,CAAC;oBACH,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBACtD,OAAO;gBACX,CAAC;gBAED,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;oBACjE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAChC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;wBACd,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;wBACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ;wBAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACjE,SAAS,EAAE,CAAC,CAAC,KAAK;qBACrB,CAAC,CAAC,CAAC;oBACJ,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjG,CAAC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/B,8DAA8D;gBAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kCAAkC;QAClC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACD,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5C,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,IAAI,QAAQ,KAAK,kBAAkB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3D,IAAI,CAAC;gBACD,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAgC,GAAG,CAAC,CAAC;gBACvE,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC7C,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,qEAAqE,EAAE,CAAC,CAAC;YACrI,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC9C,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBACtC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,mEAAmE;QACnE,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACzD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACR,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;oBAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;oBACtH,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;oBAC7B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACrD,CAAC,CAAC,CAAC;gBACJ,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBACvE,OAAO;YACX,CAAC;YACD,IAAI,CAAC;gBACD,2CAA2C;gBAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CACpF,CAAC;gBAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;oBAC9F,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;wBACvB,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,mDAAmD;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;gBACxE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,2CAA2C,GAAG,OAAO,CAAC;oBAC9G,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACpC,CAAC;gBAED,oBAAoB;gBACpB,WAAW,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAEzD,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,OAAO,wBAAwB,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAChI,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBACvE,OAAO;YACX,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CACpF,CAAC;gBAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;oBAC9F,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;wBACvB,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,yBAAyB;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;gBACxE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,2CAA2C,GAAG,OAAO,CAAC;oBAC9G,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACpC,CAAC;gBAED,oBAAoB;gBACpB,WAAW,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAEzD,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,OAAO,wBAAwB,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAChI,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAuB,CAAC;gBACnH,MAAM,UAAU,GAA2B,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAA2B,EAAE,CAAC;gBAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACjB,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3D,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;gBAEH,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;oBAChB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACF,KAAK,EAAE,aAAa,CAAC,KAAK;wBAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM;wBACxB,UAAU;wBACV,QAAQ;wBACR,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;qBAC1E;iBACJ,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;gBACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBAE3D,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;oBAChB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACF,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;wBACnC,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;qBACrC;iBACJ,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,mEAAmE;QACnE,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YACtC,MAAM,CAAC,wCAAwC,CAAC;iBAC3C,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClE,EAAE;oBACF,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM;oBACpD,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3E,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC,CAAC;gBACJ,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;gBAChB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YACP,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBAEpD,oDAAoD;gBACpD,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAElD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACrC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;wBAC/C,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa;4BAC3C,CAAC,CAAC,OAAO,CAAC;oBAElB,OAAO;wBACH,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;wBAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI;wBACJ,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,mDAAmD,EAAE,EAAE,CAAC;qBACvF,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE5D,MAAM,OAAO,GAAG;oBACZ,UAAU,EAAE,cAAc,CAAC,IAAI;oBAC/B,eAAe,EAAE,UAAU,CAAC,MAAM;oBAClC,MAAM,EAAE;wBACJ,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM;wBAClE,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,MAAM;qBAC3E;iBACJ,CAAC;gBAEF,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,eAAe;QACf,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACnC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACzE,OAAO;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBACjF,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;gBACtC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;gBACtG,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;gBAC7C,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,eAAe,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACrJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACpC,IAAI,CAAC;gBACD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;gBAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK;oBACf,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;oBACzE,CAAC,CAAC,eAAe,EAAE,CAAC;gBACxB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,sBAAsB;QACtB,IAAI,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5E,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC;gBACD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;gBAC5E,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAGD,sBAAsB;QACtB,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;gBACjF,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;gBACpD,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,2CAA2C;QAC3C,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBACjF,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;gBACzF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;gBAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;gBACzE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;gBACjF,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;oBAChB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;wBACjB,UAAU,EAAE,qBAAqB,EAAE;wBACnC,WAAW,EAAE,sBAAsB,EAAE;wBACrC,aAAa,EAAE,eAAe,EAAE;wBAChC,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;wBAC3G,QAAQ,EAAE,kBAAkB,CAAC,gBAAgB,EAAE;wBAC/C,SAAS,EAAE,CAAC,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE;qBACpG;iBACJ,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,mEAAmE;QACnE,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,4BAA4B,CAAC,CAAC;gBACvF,IAAI,OAAO,GAAkB,EAAE,CAAC;gBAChC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC7B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBAED,MAAM,OAAO,GAAoE,EAAE,CAAC;gBACpF,MAAM,QAAQ,GAAsD,EAAE,CAAC;gBACvE,IAAI,WAAW,GAAG,CAAC,CAAC;gBAEpB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;oBACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;oBACzC,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;oBAE1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBACvE,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;oBAChC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAEzE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;oBAClE,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;oBAElC,WAAW,IAAI,MAAM,CAAC;gBAC1B,CAAC;gBAED,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;oBAChB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACF,cAAc,EAAE,OAAO,CAAC,MAAM;wBAC9B,oBAAoB,EAAE,WAAW;wBACjC,kBAAkB,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC5D,OAAO;wBACP,QAAQ;wBACR,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;qBACrC;iBACJ,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACf,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;gBAC3B,YAAY,EAAE,YAAY;gBAC1B,6BAA6B,EAAE,GAAG;aACrC,CAAC,CAAC;YAEH,yBAAyB;YACzB,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE7B,wBAAwB;YACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAC;YACzE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YAChD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEjF,2DAA2D;QAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAClE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,SAAS,GAA2B;gBACtC,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,wBAAwB;gBAC/B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,kBAAkB;gBAC3B,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,cAAc;aACzB,CAAC;YACF,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;YACjE,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACxB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3C,wDAAwD;QACxD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAExB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACtB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC;YACD,SAAS;YACT,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACtC,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAE7E,mBAAmB;YACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9C,WAAW,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAE1E,gDAAgD;YAChD,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACzD,CAAC;YACF,WAAW,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAE5E,OAAO;YACP,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,0BAA0B;IAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACpB,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACjC,SAAS,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;QAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,kBAAkB,IAAI,wCAAwC,CAAC,CAAC;YACzE,EAAE,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,EAAE,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;QAChE,EAAE,CAAC,OAAO,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;QACzD,EAAE,CAAC,OAAO,CAAC,sCAAsC,IAAI,MAAM,CAAC,CAAC;QAC7D,EAAE,CAAC,OAAO,CAAC,oCAAoC,IAAI,KAAK,CAAC,CAAC;QAC1D,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1B,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAC/D,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAC1D,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;QACrE,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QACnE,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC;QACvE,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QACjE,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC3D,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC;QAC7E,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACxD,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC;QAC7E,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7B,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACxD,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACnD,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACpD,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACxD,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAC7D,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC/C,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,11 @@ export function verifyCorporateCompliance(content, filePath) {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
// 3. No Explicit Any Policy
|
|
61
|
+
if (node.kind === ts.SyntaxKind.AnyKeyword) {
|
|
62
|
+
if (!filePath.includes("definitions.ts") && !filePath.includes("types.ts")) {
|
|
63
|
+
errors.push(`[ERROR] Corporate Compliance Breach: 'any' keyword is forbidden at line ${sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1}.`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
61
66
|
if (ts.isTypeReferenceNode(node)) {
|
|
62
67
|
if (ts.isIdentifier(node.typeName) && node.typeName.text === "any") {
|
|
63
68
|
if (!filePath.includes("definitions.ts") && !filePath.includes("types.ts")) {
|
|
@@ -74,11 +79,64 @@ export function verifyCorporateCompliance(content, filePath) {
|
|
|
74
79
|
if (lib) {
|
|
75
80
|
errors.push(`[ERROR] Corporate Compliance Breach: External UI library '${lib}' usage is FORBIDDEN at line ${sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1}. Build atomic components manually instead.`);
|
|
76
81
|
}
|
|
82
|
+
// 5. Secure CLI Policy (No direct child_process)
|
|
83
|
+
if (moduleSpecifier.text === "child_process") {
|
|
84
|
+
const isExempt = filePath.includes("src/cli/commands/") ||
|
|
85
|
+
filePath.includes("shared/fs.ts") ||
|
|
86
|
+
filePath.includes("shared/lock.ts") ||
|
|
87
|
+
filePath.includes("quality-gate.ts") ||
|
|
88
|
+
filePath.includes("shell/run_command.ts");
|
|
89
|
+
if (!isExempt) {
|
|
90
|
+
errors.push(`[ERROR] Corporate Compliance Breach: Direct 'child_process' usage is forbidden at line ${sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1}. Use secure framework APIs.`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// 6. SQL Safety Policy (Kysely only)
|
|
96
|
+
if (ts.isTaggedTemplateExpression(node)) {
|
|
97
|
+
const tag = node.tag;
|
|
98
|
+
if (ts.isIdentifier(tag) && tag.text === "sql") {
|
|
99
|
+
errors.push(`[ERROR] Corporate Compliance Breach: Raw SQL tagged template detected at line ${sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1}. Use Kysely query builder.`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// 7. Atomic FS Policy (No raw fs mutations)
|
|
103
|
+
if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression)) {
|
|
104
|
+
const prop = node.expression;
|
|
105
|
+
if (ts.isIdentifier(prop.expression) && prop.expression.text === "fs") {
|
|
106
|
+
if (["writeFileSync", "appendFileSync"].includes(prop.name.text)) {
|
|
107
|
+
// Lock files, core atomic fs wrapper, and mcp configs are exempt
|
|
108
|
+
const args = node.arguments;
|
|
109
|
+
const firstArgText = args.length > 0 ? args[0].getText(sourceFile).toLowerCase() : "";
|
|
110
|
+
const isExemptFile = filePath.includes("shared/fs.ts") ||
|
|
111
|
+
filePath.includes("src/cli/commands/mcp.ts") ||
|
|
112
|
+
filePath.includes("utils/compliance.ts") ||
|
|
113
|
+
filePath.includes("utils/memory.ts") ||
|
|
114
|
+
filePath.includes("tools/messaging/send_message.ts");
|
|
115
|
+
if (!firstArgText.includes("lock") && !isExemptFile) {
|
|
116
|
+
errors.push(`[ERROR] Corporate Compliance Breach: Raw 'fs.${prop.name.text}' mutation detected at line ${sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1}. Use atomic utilities instead.`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
77
119
|
}
|
|
78
120
|
}
|
|
79
121
|
ts.forEachChild(node, visit);
|
|
80
122
|
}
|
|
81
123
|
visit(sourceFile);
|
|
124
|
+
// 8. Hardcoded Secrets & PII Guard
|
|
125
|
+
const piiKeywords = [
|
|
126
|
+
{ regex: /API_KEY\s*=\s*['"][^'"]+['"]/i, msg: "Hardcoded API Key" },
|
|
127
|
+
{ regex: /SECRET\s*=\s*['"][^'"]+['"]/i, msg: "Hardcoded Secret" },
|
|
128
|
+
{ regex: /PASSWORD\s*=\s*['"][^'"]+['"]/i, msg: "Hardcoded Password" },
|
|
129
|
+
{ regex: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/, msg: "PII Detected: Email Address" },
|
|
130
|
+
{ regex: /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/, msg: "PII Detected: Credit Card Pattern" }
|
|
131
|
+
];
|
|
132
|
+
for (const { regex, msg } of piiKeywords) {
|
|
133
|
+
if (regex.test(content)) {
|
|
134
|
+
if (msg.includes("Email") && (filePath.endsWith("README.md") || filePath.endsWith("package.json") || filePath.includes("CONTRIBUTING"))) {
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
errors.push(`[ERROR] Corporate Compliance Breach: ${msg} detected in ${filePath}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
82
140
|
if (errors.length > 0) {
|
|
83
141
|
throw new Error(errors.join("\n"));
|
|
84
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../../../../src/cli/utils/compliance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../../../../src/cli/utils/compliance.ts"],"names":[],"mappings":"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"}
|
|
@@ -311,6 +311,7 @@ export function syncMarkdownMemory(fDir) {
|
|
|
311
311
|
}
|
|
312
312
|
export function acquireMemoryLock(lockPath) {
|
|
313
313
|
try {
|
|
314
|
+
fs.mkdirSync(path.dirname(lockPath), { recursive: true });
|
|
314
315
|
fs.writeFileSync(lockPath, String(Date.now()), { flag: "wx" });
|
|
315
316
|
return true;
|
|
316
317
|
}
|
|
@@ -320,12 +321,23 @@ export function acquireMemoryLock(lockPath) {
|
|
|
320
321
|
try {
|
|
321
322
|
const stat = fs.statSync(lockPath);
|
|
322
323
|
if (Date.now() - stat.mtimeMs > 10000) {
|
|
323
|
-
|
|
324
|
+
logger.warn(`[WARN] Breaking stale memory lock at ${lockPath}...`);
|
|
325
|
+
try {
|
|
326
|
+
const staleFile = `${lockPath}.stale.${Date.now()}.${Math.random().toString(36).slice(2, 6)}`;
|
|
327
|
+
fs.renameSync(lockPath, staleFile);
|
|
328
|
+
try {
|
|
329
|
+
fs.unlinkSync(staleFile);
|
|
330
|
+
}
|
|
331
|
+
catch { /* ignore */ }
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
// Another process already reclaimed or lock was released
|
|
335
|
+
}
|
|
324
336
|
fs.writeFileSync(lockPath, String(Date.now()), { flag: "wx" });
|
|
325
337
|
return true;
|
|
326
338
|
}
|
|
327
339
|
}
|
|
328
|
-
catch {
|
|
340
|
+
catch {
|
|
329
341
|
// Ignore
|
|
330
342
|
}
|
|
331
343
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../../src/cli/utils/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../../src/cli/utils/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,12 +37,16 @@ export class EvaluationEngine {
|
|
|
37
37
|
catch (e) {
|
|
38
38
|
logger.debug("Compliance check failed during evaluation", e);
|
|
39
39
|
}
|
|
40
|
+
const isTestEnv = process.env.VITEST === "true" || !!process.env.ATABEY_TEST_DIR;
|
|
40
41
|
// 2. Compilation Check
|
|
41
42
|
try {
|
|
42
|
-
if (fs.existsSync(path.join(projectRoot, "tsconfig.json"))) {
|
|
43
|
+
if (!isTestEnv && fs.existsSync(path.join(projectRoot, "tsconfig.json"))) {
|
|
43
44
|
runCommandQuiet("npx", ["tsc", "--noEmit"], projectRoot);
|
|
44
45
|
lessons.push("TypeScript compilation succeeded. Project is type-safe.");
|
|
45
46
|
}
|
|
47
|
+
else if (isTestEnv) {
|
|
48
|
+
lessons.push("TypeScript compilation check bypassed during test runner execution.");
|
|
49
|
+
}
|
|
46
50
|
}
|
|
47
51
|
catch {
|
|
48
52
|
metrics.compilation = false;
|
|
@@ -51,10 +55,13 @@ export class EvaluationEngine {
|
|
|
51
55
|
}
|
|
52
56
|
// 3. Lint Check
|
|
53
57
|
try {
|
|
54
|
-
if (fs.existsSync(path.join(projectRoot, "eslint.config.js"))) {
|
|
58
|
+
if (!isTestEnv && fs.existsSync(path.join(projectRoot, "eslint.config.js"))) {
|
|
55
59
|
runCommandQuiet("npx", ["eslint", ".", "--max-warnings", "0"], projectRoot);
|
|
56
60
|
lessons.push("Lint check passed. Code follows project style guidelines.");
|
|
57
61
|
}
|
|
62
|
+
else if (isTestEnv) {
|
|
63
|
+
lessons.push("Lint check bypassed during test runner execution.");
|
|
64
|
+
}
|
|
58
65
|
}
|
|
59
66
|
catch {
|
|
60
67
|
metrics.lint = false;
|
|
@@ -62,10 +69,13 @@ export class EvaluationEngine {
|
|
|
62
69
|
}
|
|
63
70
|
// 4. Test Check
|
|
64
71
|
try {
|
|
65
|
-
if (fs.existsSync(path.join(projectRoot, "vitest.config.ts"))) {
|
|
72
|
+
if (!isTestEnv && fs.existsSync(path.join(projectRoot, "vitest.config.ts"))) {
|
|
66
73
|
runCommandQuiet("npx", ["vitest", "run", "--passWithNoTests"], projectRoot);
|
|
67
74
|
lessons.push("All tests passed. Changes are verified.");
|
|
68
75
|
}
|
|
76
|
+
else if (isTestEnv) {
|
|
77
|
+
lessons.push("Test check bypassed during test runner execution.");
|
|
78
|
+
}
|
|
69
79
|
}
|
|
70
80
|
catch {
|
|
71
81
|
metrics.tests = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-engine.js","sourceRoot":"","sources":["../../../../../src/modules/engines/evaluation-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,OAAO,gBAAgB;IACzB;;;OAGG;IACI,MAAM,CAAC,YAAY,CAAC,UAAkB,EAAE,SAAiB,EAAE,UAAkB,EAAE,eAAwB;QAC1G,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,OAAO,SAAS,EAAE,CAAC,CAAC;QAEzE,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,MAAM,OAAO,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,CAAC;SAChB,CAAC;QAEF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,mDAAmD;QACnD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YAC3F,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluation-engine.js","sourceRoot":"","sources":["../../../../../src/modules/engines/evaluation-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,4 +45,28 @@ export declare const CORE_SKILLS: {
|
|
|
45
45
|
description: string;
|
|
46
46
|
mandates: string[];
|
|
47
47
|
};
|
|
48
|
+
SECURITY_AUDIT: {
|
|
49
|
+
name: string;
|
|
50
|
+
tools: string[];
|
|
51
|
+
description: string;
|
|
52
|
+
mandates: string[];
|
|
53
|
+
};
|
|
54
|
+
FRONTEND_DEVELOPMENT: {
|
|
55
|
+
name: string;
|
|
56
|
+
tools: string[];
|
|
57
|
+
description: string;
|
|
58
|
+
mandates: string[];
|
|
59
|
+
};
|
|
60
|
+
MOBILE_DEVELOPMENT: {
|
|
61
|
+
name: string;
|
|
62
|
+
tools: string[];
|
|
63
|
+
description: string;
|
|
64
|
+
mandates: string[];
|
|
65
|
+
};
|
|
66
|
+
GIT_WORKFLOW: {
|
|
67
|
+
name: string;
|
|
68
|
+
tools: string[];
|
|
69
|
+
description: string;
|
|
70
|
+
mandates: string[];
|
|
71
|
+
};
|
|
48
72
|
};
|
|
@@ -66,6 +66,42 @@ export const CORE_SKILLS = {
|
|
|
66
66
|
"- **No Hardcoded Secrets:** Never embed API keys, secrets, or passwords inside configuration files or codebases.",
|
|
67
67
|
"- **Immutable Deploys:** Ensure build steps compile production bundles successfully without configuration side-effects."
|
|
68
68
|
]
|
|
69
|
+
},
|
|
70
|
+
SECURITY_AUDIT: {
|
|
71
|
+
name: "Security Audit & Vulnerability Assessment",
|
|
72
|
+
tools: ["run_shell_command", "view_file"],
|
|
73
|
+
description: "Conducts AST security analysis, SSRF inspection, dependency audits, and secret scanning.",
|
|
74
|
+
mandates: [
|
|
75
|
+
"- **Zero-Secret Policy:** Enforce absence of hardcoded secrets or fallback API tokens.",
|
|
76
|
+
"- **Least Privilege:** Ensure restricted endpoints implement RBAC and strict input validation via Zod."
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
FRONTEND_DEVELOPMENT: {
|
|
80
|
+
name: "Frontend Architecture & Component Design",
|
|
81
|
+
tools: ["view_file", "replace_text", "patch_file"],
|
|
82
|
+
description: "Builds responsive, accessible, atomic UI components without direct DOM mutations.",
|
|
83
|
+
mandates: [
|
|
84
|
+
"- **No Direct DOM Mutation:** State changes must drive render cycles; direct DOM manipulations (`document.getElementById`) are forbidden.",
|
|
85
|
+
"- **Design System Fidelity:** Follow Tailwind or defined design tokens consistently across components."
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
MOBILE_DEVELOPMENT: {
|
|
89
|
+
name: "Mobile & Cross-Platform Development",
|
|
90
|
+
tools: ["view_file", "replace_text", "patch_file", "run_shell_command"],
|
|
91
|
+
description: "Architects React Native, Expo, and native bridge components with cross-platform fidelity.",
|
|
92
|
+
mandates: [
|
|
93
|
+
"- **Platform Separation:** Separate iOS and Android platform-specific implementations cleanly using `.ios.tsx` / `.android.tsx`.",
|
|
94
|
+
"- **Responsive Ergonomics:** Support diverse screen aspect ratios, safe areas, and offline state caching."
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
GIT_WORKFLOW: {
|
|
98
|
+
name: "Git Version Control & Branch Discipline",
|
|
99
|
+
tools: ["run_shell_command", "view_file"],
|
|
100
|
+
description: "Manages branches, staging, conventional commits, and atomic pull requests.",
|
|
101
|
+
mandates: [
|
|
102
|
+
"- **Conventional Commits:** Format all commit messages with conventional prefixes (`feat:`, `fix:`, `refactor:`, `chore:`).",
|
|
103
|
+
"- **Atomic Changes:** Keep commits focused on a single change with traceable commit messages."
|
|
104
|
+
]
|
|
69
105
|
}
|
|
70
106
|
};
|
|
71
107
|
//# sourceMappingURL=definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../../src/modules/skills/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,WAAW,EAAE;QACT,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QAClC,WAAW,EAAE,2EAA2E;QACxF,QAAQ,EAAE;YACN,mJAAmJ;YACnJ,uGAAuG;SAC1G;KACJ;IACD,OAAO,EAAE;QACL,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;QACrC,WAAW,EAAE,8FAA8F;QAC3G,QAAQ,EAAE;YACN,wHAAwH;YACxH,8HAA8H;SACjI;KACJ;IACD,aAAa,EAAE;QACX,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC;QAC7F,WAAW,EAAE,2GAA2G;QACxH,QAAQ,EAAE;YACN,0FAA0F;YAC1F,+GAA+G;YAC/G,uGAAuG;SAC1G;KACJ;IACD,UAAU,EAAE;QACR,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;QACjF,WAAW,EAAE,6FAA6F;QAC1G,QAAQ,EAAE;YACN,oKAAoK;YACpK,qHAAqH;SACxH;KACJ;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,mFAAmF;QAChG,QAAQ,EAAE;YACN,8IAA8I;YAC9I,yHAAyH;SAC5H;KACJ;IACD,mBAAmB,EAAE;QACjB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,mBAAmB,CAAC;QACzD,WAAW,EAAE,qEAAqE;QAClF,QAAQ,EAAE;YACN,gKAAgK;YAChK,kHAAkH;SACrH;KACJ;IACD,qBAAqB,EAAE;QACnB,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE;YACN,kHAAkH;YAClH,yHAAyH;SAC5H;KACJ;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../../src/modules/skills/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,WAAW,EAAE;QACT,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QAClC,WAAW,EAAE,2EAA2E;QACxF,QAAQ,EAAE;YACN,mJAAmJ;YACnJ,uGAAuG;SAC1G;KACJ;IACD,OAAO,EAAE;QACL,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;QACrC,WAAW,EAAE,8FAA8F;QAC3G,QAAQ,EAAE;YACN,wHAAwH;YACxH,8HAA8H;SACjI;KACJ;IACD,aAAa,EAAE;QACX,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC;QAC7F,WAAW,EAAE,2GAA2G;QACxH,QAAQ,EAAE;YACN,0FAA0F;YAC1F,+GAA+G;YAC/G,uGAAuG;SAC1G;KACJ;IACD,UAAU,EAAE;QACR,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;QACjF,WAAW,EAAE,6FAA6F;QAC1G,QAAQ,EAAE;YACN,oKAAoK;YACpK,qHAAqH;SACxH;KACJ;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,mFAAmF;QAChG,QAAQ,EAAE;YACN,8IAA8I;YAC9I,yHAAyH;SAC5H;KACJ;IACD,mBAAmB,EAAE;QACjB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,mBAAmB,CAAC;QACzD,WAAW,EAAE,qEAAqE;QAClF,QAAQ,EAAE;YACN,gKAAgK;YAChK,kHAAkH;SACrH;KACJ;IACD,qBAAqB,EAAE;QACnB,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE;YACN,kHAAkH;YAClH,yHAAyH;SAC5H;KACJ;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,2CAA2C;QACjD,KAAK,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,0FAA0F;QACvG,QAAQ,EAAE;YACN,wFAAwF;YACxF,wGAAwG;SAC3G;KACJ;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,0CAA0C;QAChD,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC;QAClD,WAAW,EAAE,mFAAmF;QAChG,QAAQ,EAAE;YACN,2IAA2I;YAC3I,wGAAwG;SAC3G;KACJ;IACD,kBAAkB,EAAE;QAChB,IAAI,EAAE,qCAAqC;QAC3C,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,CAAC;QACvE,WAAW,EAAE,2FAA2F;QACxG,QAAQ,EAAE;YACN,kIAAkI;YAClI,2GAA2G;SAC9G;KACJ;IACD,YAAY,EAAE;QACV,IAAI,EAAE,yCAAyC;QAC/C,KAAK,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,4EAA4E;QACzF,QAAQ,EAAE;YACN,6HAA6H;YAC7H,+FAA+F;SAClG;KACJ;CACJ,CAAC"}
|
|
@@ -44,7 +44,7 @@ export function buildStructuredAuditChainPayload(fields) {
|
|
|
44
44
|
* `computePayload(row, prevHash)` must rebuild the exact string used at insert time.
|
|
45
45
|
*/
|
|
46
46
|
export function verifyHashChain(rows, computePayload) {
|
|
47
|
-
let expectedPrev = AUDIT_CHAIN_GENESIS;
|
|
47
|
+
let expectedPrev = rows.length > 0 ? (rows[0].prev_hash || AUDIT_CHAIN_GENESIS) : AUDIT_CHAIN_GENESIS;
|
|
48
48
|
let checked = 0;
|
|
49
49
|
for (const row of rows) {
|
|
50
50
|
checked++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-chain.js","sourceRoot":"","sources":["../../../../shared/src/audit-chain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE7C,MAAM,UAAU,SAAS,CAAC,OAAe;IACrC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAQzC;IACG,OAAO;QACH,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,SAAS;KACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,MAShD;IACG,OAAO;QACH,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,YAAY;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAgBD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,IAAS,EACT,cAAoD;IAEpD,IAAI,YAAY,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit-chain.js","sourceRoot":"","sources":["../../../../shared/src/audit-chain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE7C,MAAM,UAAU,SAAS,CAAC,OAAe;IACrC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAQzC;IACG,OAAO;QACH,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,SAAS;KACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,MAShD;IACG,OAAO;QACH,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,YAAY;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAgBD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,IAAS,EACT,cAAoD;IAEpD,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACtG,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACxB,OAAO;gBACH,KAAK,EAAE,KAAK;gBACZ,OAAO;gBACP,WAAW,EAAE,GAAG,CAAC,EAAE;gBACnB,MAAM,EAAE,6BAA6B,GAAG,CAAC,EAAE,EAAE;gBAC7C,GAAG,EAAE,+DAA+D;aACvE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;gBACH,KAAK,EAAE,KAAK;gBACZ,OAAO;gBACP,WAAW,EAAE,GAAG,CAAC,EAAE;gBACnB,MAAM,EAAE,uBAAuB,GAAG,CAAC,EAAE,EAAE;gBACvC,GAAG,EAAE,kEAAkE;aAC1E,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,UAAU,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO;gBACH,KAAK,EAAE,KAAK;gBACZ,OAAO;gBACP,WAAW,EAAE,GAAG,CAAC,EAAE;gBACnB,MAAM,EAAE,0BAA0B,GAAG,CAAC,EAAE,EAAE;gBAC1C,GAAG,EAAE,wCAAwC;aAChD,CAAC;QACN,CAAC;QACD,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -30,7 +30,9 @@ export function assertSafeRelativePath(userPath, projectRoot) {
|
|
|
30
30
|
}
|
|
31
31
|
const root = path.resolve(projectRoot);
|
|
32
32
|
const abs = path.resolve(trimmed);
|
|
33
|
-
|
|
33
|
+
const rootCheck = process.platform === "win32" ? root.toLowerCase() : root;
|
|
34
|
+
const absCheck = process.platform === "win32" ? abs.toLowerCase() : abs;
|
|
35
|
+
if (!absCheck.startsWith(rootCheck + path.sep) && absCheck !== rootCheck) {
|
|
34
36
|
throw new Error(`[SANDBOX_FS] Absolute path escapes project root: "${userPath}"`);
|
|
35
37
|
}
|
|
36
38
|
rel = path.relative(root, abs).replace(/\\/g, "/");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-fs.js","sourceRoot":"","sources":["../../../../shared/src/sandbox-fs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACH,2BAA2B,EAC3B,YAAY,EACZ,oBAAoB,GAEvB,MAAM,sBAAsB,CAAC;AAU9B;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAE,WAAoB;IACzE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEtC,8CAA8C;IAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qDAAqD,QAAQ,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"sandbox-fs.js","sourceRoot":"","sources":["../../../../shared/src/sandbox-fs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atabey",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.37",
|
|
4
4
|
"description": "Atabey — AI Governance & Multi-Agent Platform / Orchestrator — Core Engine",
|
|
5
5
|
"author": "Yusuf BEKAR",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"prepublishOnly": "npm run build"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"atabey-shared": "^0.0.
|
|
58
|
+
"atabey-shared": "^0.0.37",
|
|
59
59
|
"better-sqlite3": "^13.0.2",
|
|
60
60
|
"chalk": "^5.6.2",
|
|
61
61
|
"js-yaml": "^4.2.0",
|
|
@@ -63,6 +63,9 @@
|
|
|
63
63
|
"ws": "^8.21.0",
|
|
64
64
|
"zod": "^3.24.2"
|
|
65
65
|
},
|
|
66
|
+
"optionalDependencies": {
|
|
67
|
+
"atabey-mcp": "^0.0.37"
|
|
68
|
+
},
|
|
66
69
|
"devDependencies": {
|
|
67
70
|
"@types/better-sqlite3": "^7.6.13",
|
|
68
71
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -19,8 +19,11 @@ npm install -D @types/bcrypt @types/jsonwebtoken
|
|
|
19
19
|
```typescript
|
|
20
20
|
import jwt from "jsonwebtoken";
|
|
21
21
|
|
|
22
|
-
const JWT_SECRET = process.env.JWT_SECRET
|
|
23
|
-
|
|
22
|
+
const JWT_SECRET = process.env.JWT_SECRET;
|
|
23
|
+
if (!JWT_SECRET) {
|
|
24
|
+
throw new Error("FATAL: JWT_SECRET environment variable is mandatory and cannot be empty.");
|
|
25
|
+
}
|
|
26
|
+
const JWT_EXPIRES_IN = process.env.JWT_EXPIRES_IN || "15m"; // Access tokens must be short-lived
|
|
24
27
|
|
|
25
28
|
interface AuthPayload {
|
|
26
29
|
sub: string; // User ID
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Enterprise Systems Standards
|
|
2
|
+
|
|
3
|
+
> Corporate architectural standards for Multi-Tenancy, Migrations, Background Queues, Caching, RBAC, and GDPR/KVKK compliance.
|
|
4
|
+
|
|
5
|
+
## 1. Multi-Tenancy Architecture
|
|
6
|
+
- **Tenant Isolation:** Every multi-tenant database table must include a non-nullable `tenant_id` foreign key with indexed compound queries (`INDEX (tenant_id, id)`).
|
|
7
|
+
- **Row-Level Security (RLS) / Scoped Querying:** Repositories must enforce tenant context via AsyncLocalStorage or request-scoped dependency injection. Never write un-scoped queries.
|
|
8
|
+
|
|
9
|
+
## 2. Database Migration & Rollback Strategy
|
|
10
|
+
- **Two-Phase Deployments (Expand & Contract):**
|
|
11
|
+
1. *Phase 1 (Expand):* Add new nullable columns or tables. Deploy application code reading both old and new schemas.
|
|
12
|
+
2. *Phase 2 (Contract):* Backfill data, apply NOT NULL constraints, drop old deprecated columns in a separate release.
|
|
13
|
+
- **Reversibility:** Every migration file must provide both `up()` and `down()` rollback functions.
|
|
14
|
+
- **Lock Minimization:** Avoid `ALTER TABLE` operations that acquire exclusive table locks in production; use concurrent indexing where supported.
|
|
15
|
+
|
|
16
|
+
## 3. Background Jobs & Job Queues
|
|
17
|
+
- **Idempotency:** All job handlers must be idempotent. Use `idempotency_key` or message deduplication hashes.
|
|
18
|
+
- **Retry & Dead-Letter Queues (DLQ):** Failed jobs must use exponential backoff with jitter (max 5 retries) before being routed to a dead-letter queue.
|
|
19
|
+
- **Graceful Shutdown:** Workers must listen to `SIGTERM` / `SIGINT` signals, stop accepting new jobs, and allow in-flight tasks up to 30 seconds to finish.
|
|
20
|
+
|
|
21
|
+
## 4. Caching & Cache Invalidation
|
|
22
|
+
- **Cache-Aside Pattern:** Query cache first; on miss, query database, populate cache with TTL, and return.
|
|
23
|
+
- **Strict TTLs:** Never set infinite cache lifespans. Default TTL: 5 minutes for dynamic entities, 1 hour for static reference data.
|
|
24
|
+
- **Event-Driven Invalidation:** Invalidate specific keys on entity mutations (`users:{id}`, `tenant:{id}:settings`). Avoid wildcards (`KEYS *`) in production.
|
|
25
|
+
|
|
26
|
+
## 5. Permission-Based Authorization (RBAC / ABAC)
|
|
27
|
+
- **Granular Permissions:** Check specific permissions (`users:write`, `reports:export`) rather than coarse roles (`ADMIN`).
|
|
28
|
+
- **Fail-Closed:** Unauthenticated or unauthorized requests must be rejected immediately before controller execution.
|
|
29
|
+
|
|
30
|
+
## 6. Data Retention & Privacy (GDPR / KVKK)
|
|
31
|
+
- **Soft Delete:** Entities subject to regulatory compliance must use soft delete (`deleted_at TIMESTAMP NULL`). Hard delete must only occur through scheduled data retention purge jobs.
|
|
32
|
+
- **Right to Be Forgotten:** Implement cryptographic shredding or automated data scrubbing pipelines to anonymize user PII across primary and backup storage upon request.
|
|
33
|
+
- **Audit Trail:** Maintain immutable audit logs of all privileged access and configuration modifications using the Atabey cryptographic audit chain.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Reporting & Data Aggregation Standards
|
|
2
|
+
|
|
3
|
+
> High-performance guidelines for reporting, aggregation queries, and exports in Atabey-governed services.
|
|
4
|
+
|
|
5
|
+
## 1. Aggregation & Analytical Queries
|
|
6
|
+
|
|
7
|
+
- **Read Replicas:** Heavy analytical queries (`COUNT(*)`, `SUM`, multi-table `JOIN`) must run on read replicas or dedicated read transactions.
|
|
8
|
+
- **Materialized Views:** Daily/weekly aggregations exceeding 100k rows must use materialized views refreshed periodically via background jobs, not computed on request.
|
|
9
|
+
- **Pagination & Time Windows:** Analytical endpoints must require mandatory time-range bounds (`startDate`, `endDate` <= 90 days) and keyset pagination.
|
|
10
|
+
|
|
11
|
+
## 2. Export Pipelines (CSV & PDF)
|
|
12
|
+
|
|
13
|
+
- **Streaming Output:** Never load complete datasets into memory before serializing. Use Node.js Streams (`stream.Readable` / Fastify `reply.send(stream)`).
|
|
14
|
+
- **Background Execution:** Exports exceeding 5,000 rows must run asynchronously via a background job queue:
|
|
15
|
+
1. API issues a report task (`status: PENDING`, returns `reportId`).
|
|
16
|
+
2. Worker streams query results directly to object storage (S3/MinIO) or local reports directory.
|
|
17
|
+
3. Client polls status or receives notification upon completion.
|
|
18
|
+
- **CSV Injection Defense:** Prefix cells beginning with `=`, `+`, `-`, `@` with a single quote (`'`) to prevent formula execution in Excel/Calc.
|
|
19
|
+
|
|
20
|
+
## 3. Scheduled Reports
|
|
21
|
+
|
|
22
|
+
- **Distributed Locks:** Cron-triggered report jobs must acquire a distributed lock (`AtomicFileLock` or Redis lock) to prevent duplicate runs across worker instances.
|
|
23
|
+
- **Graceful Timeouts:** Set explicit database statement timeouts (`statement_timeout = 30000`) for analytical queries.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# TypeORM Standards
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> **Enterprise Alternative:** Use when existing systems require decorator-based Entity/Data Mapper patterns.
|
|
4
|
+
> For greenfield TypeScript services, **Kysely** (`kysely-standards.md`) is the primary, recommended zero-runtime type-safe query builder.
|
|
4
5
|
|
|
5
6
|
## Setup
|
|
6
7
|
|