claude-flow 3.55.0 → 3.56.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/.claude/settings.json +0 -1
- package/node_modules/@claude-flow/codex/dist/cli.js +0 -0
- package/node_modules/@claude-flow/security/dist/oauth/callback-server.d.ts +2 -1
- package/node_modules/@claude-flow/security/dist/oauth/callback-server.d.ts.map +1 -1
- package/node_modules/@claude-flow/security/dist/oauth/callback-server.js +48 -16
- package/node_modules/@claude-flow/security/dist/oauth/callback-server.js.map +1 -1
- package/node_modules/@claude-flow/security/dist/path-validator.d.ts +2 -2
- package/node_modules/@claude-flow/security/dist/path-validator.d.ts.map +1 -1
- package/node_modules/@claude-flow/security/dist/path-validator.js +15 -4
- package/node_modules/@claude-flow/security/dist/path-validator.js.map +1 -1
- package/node_modules/@claude-flow/security/package.json +1 -1
- package/package.json +2 -2
- package/v3/@claude-flow/cli/catalog-manifest.json +2 -2
- package/v3/@claude-flow/cli/dist/src/auth/client.js +40 -24
- package/v3/@claude-flow/cli/dist/src/commands/agent.js +12 -0
- package/v3/@claude-flow/cli/dist/src/commands/analyze.js +18 -14
- package/v3/@claude-flow/cli/dist/src/commands/daemon.js +11 -19
- package/v3/@claude-flow/cli/dist/src/commands/doctor.js +65 -58
- package/v3/@claude-flow/cli/dist/src/commands/memory-backup.d.ts +1 -1
- package/v3/@claude-flow/cli/dist/src/commands/memory-backup.js +23 -9
- package/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +0 -4
- package/v3/@claude-flow/cli/dist/src/commands/memory.js +10 -2
- package/v3/@claude-flow/cli/dist/src/commands/plugins.js +13 -1
- package/v3/@claude-flow/cli/dist/src/commands/task.js +12 -0
- package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +3 -3
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.js +244 -188
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +15 -16
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +22 -3
- package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +3 -11
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +47 -2
- package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +29 -10
- package/v3/@claude-flow/cli/dist/src/mcp-tools/record-store.d.ts +3 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/record-store.js +21 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +47 -13
- package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +5 -11
- package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +78 -29
- package/v3/@claude-flow/cli/dist/src/memory/append-conditions.d.ts +28 -0
- package/v3/@claude-flow/cli/dist/src/memory/append-conditions.js +56 -0
- package/v3/@claude-flow/cli/dist/src/memory/graph-edge-writer.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/memory/graph-edge-writer.js +90 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +4 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +50 -9
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +4 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +95 -61
- package/v3/@claude-flow/cli/dist/src/memory/memory-root.d.ts +2 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-root.js +28 -0
- package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +2 -0
- package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +4 -0
- package/v3/@claude-flow/cli/dist/src/parser.js +7 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +6 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +7 -3
- package/v3/@claude-flow/cli/dist/src/ruvector/neural-router.js +7 -2
- package/v3/@claude-flow/cli/dist/src/services/claim-service.js +39 -18
- package/v3/@claude-flow/cli/dist/src/services/claims-store.d.ts +3 -0
- package/v3/@claude-flow/cli/dist/src/services/claims-store.js +40 -0
- package/v3/@claude-flow/cli/dist/src/services/distill-tuning.js +17 -10
- package/v3/@claude-flow/cli/dist/src/services/memory-backup.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/services/memory-backup.js +29 -2
- package/v3/@claude-flow/cli/dist/src/services/memory-distillation.js +2 -2
- package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +4 -2
- package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +14 -6
- package/v3/@claude-flow/cli/package.json +4 -4
- package/.claude/.proven-config-version +0 -1
- package/.claude/proven-config.json +0 -42
package/.claude/settings.json
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"model": "claude-sonnet-5",
|
|
3
2
|
"skillListingBudgetFraction": 0.06,
|
|
4
3
|
"customInstructions": "Follow the project's CLAUDE.md guidelines. Use concurrent execution for all operations. Prioritize v3 implementation with security-first development, 15-agent swarm coordination, phased performance optimization, and cross-platform helper automation.",
|
|
5
4
|
"env": {
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ephemeral-port localhost callback server for the browser-based OAuth flow
|
|
3
|
-
* (ADR-306). A minimal single-
|
|
3
|
+
* (ADR-306). A minimal single-callback HTTP server — deliberately not a full
|
|
4
4
|
* framework for one GET route that lives for one request and then shuts
|
|
5
5
|
* down. A TypeScript port of meta-proxy's `src/oauth/callback_server.rs`.
|
|
6
6
|
*
|
|
@@ -18,6 +18,7 @@ export declare class CallbackServer {
|
|
|
18
18
|
private readonly server;
|
|
19
19
|
readonly redirectUri: string;
|
|
20
20
|
readonly port: number;
|
|
21
|
+
private readonly callback;
|
|
21
22
|
private constructor();
|
|
22
23
|
/**
|
|
23
24
|
* Binds `127.0.0.1:0` (OS-assigned ephemeral port) and returns the server
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback-server.d.ts","sourceRoot":"","sources":["../../src/oauth/callback-server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAeD,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AAED,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"callback-server.d.ts","sourceRoot":"","sources":["../../src/oauth/callback-server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAeD,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AAED,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,WAAW,EAAE,MAAM;aACnB,IAAI,EAAE,MAAM;IAJ9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO;IAkDP;;;;;OAKG;WACU,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC;IAa5C;;;;;OAKG;IACG,aAAa,CAAC,SAAS,SAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;CAa7E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ephemeral-port localhost callback server for the browser-based OAuth flow
|
|
3
|
-
* (ADR-306). A minimal single-
|
|
3
|
+
* (ADR-306). A minimal single-callback HTTP server — deliberately not a full
|
|
4
4
|
* framework for one GET route that lives for one request and then shuts
|
|
5
5
|
* down. A TypeScript port of meta-proxy's `src/oauth/callback_server.rs`.
|
|
6
6
|
*
|
|
@@ -28,10 +28,55 @@ export class CallbackServer {
|
|
|
28
28
|
server;
|
|
29
29
|
redirectUri;
|
|
30
30
|
port;
|
|
31
|
+
callback;
|
|
31
32
|
constructor(server, redirectUri, port) {
|
|
32
33
|
this.server = server;
|
|
33
34
|
this.redirectUri = redirectUri;
|
|
34
35
|
this.port = port;
|
|
36
|
+
// Install the listener before bind() returns: opening the browser can
|
|
37
|
+
// deliver a callback before the caller reaches awaitCallback().
|
|
38
|
+
this.callback = new Promise((resolve) => {
|
|
39
|
+
let received = false;
|
|
40
|
+
this.server.on('request', (req, res) => {
|
|
41
|
+
let url;
|
|
42
|
+
try {
|
|
43
|
+
url = new URL(req.url ?? '/', 'http://127.0.0.1');
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
res.writeHead(400, { connection: 'close' });
|
|
47
|
+
res.end();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (url.pathname !== '/oauth/callback') {
|
|
51
|
+
res.writeHead(404, { connection: 'close' });
|
|
52
|
+
res.end();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (req.method !== 'GET') {
|
|
56
|
+
res.writeHead(405, { allow: 'GET', connection: 'close' });
|
|
57
|
+
res.end();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (received) {
|
|
61
|
+
res.writeHead(409, { connection: 'close' });
|
|
62
|
+
res.end();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
received = true;
|
|
66
|
+
const result = {
|
|
67
|
+
code: url.searchParams.get('code'),
|
|
68
|
+
state: url.searchParams.get('state'),
|
|
69
|
+
error: url.searchParams.get('error'),
|
|
70
|
+
};
|
|
71
|
+
res.writeHead(200, {
|
|
72
|
+
'content-type': 'text/html; charset=utf-8',
|
|
73
|
+
connection: 'close',
|
|
74
|
+
});
|
|
75
|
+
res.end(SUCCESS_PAGE);
|
|
76
|
+
this.server.close();
|
|
77
|
+
resolve(result);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
35
80
|
}
|
|
36
81
|
/**
|
|
37
82
|
* Binds `127.0.0.1:0` (OS-assigned ephemeral port) and returns the server
|
|
@@ -63,22 +108,9 @@ export class CallbackServer {
|
|
|
63
108
|
this.server.close();
|
|
64
109
|
reject(new CallbackTimeoutError());
|
|
65
110
|
}, waitForMs);
|
|
66
|
-
this.
|
|
111
|
+
this.callback.then((result) => {
|
|
67
112
|
clearTimeout(timer);
|
|
68
|
-
|
|
69
|
-
const result = {
|
|
70
|
-
code: url.searchParams.get('code'),
|
|
71
|
-
state: url.searchParams.get('state'),
|
|
72
|
-
error: url.searchParams.get('error'),
|
|
73
|
-
};
|
|
74
|
-
res.writeHead(200, {
|
|
75
|
-
'content-type': 'text/html; charset=utf-8',
|
|
76
|
-
connection: 'close',
|
|
77
|
-
});
|
|
78
|
-
res.end(SUCCESS_PAGE, () => {
|
|
79
|
-
this.server.close();
|
|
80
|
-
resolve(result);
|
|
81
|
-
});
|
|
113
|
+
resolve(result);
|
|
82
114
|
});
|
|
83
115
|
});
|
|
84
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback-server.js","sourceRoot":"","sources":["../../src/oauth/callback-server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAStD,MAAM,YAAY,GAAG;;;;;;;;;QASb,CAAC;AAET,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,mDAAmD;AAE7F,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C;QACE,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAc;
|
|
1
|
+
{"version":3,"file":"callback-server.js","sourceRoot":"","sources":["../../src/oauth/callback-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,8 @@ export interface PathValidatorConfig {
|
|
|
32
32
|
*/
|
|
33
33
|
blockedExtensions?: string[];
|
|
34
34
|
/**
|
|
35
|
-
* Blocked file names.
|
|
36
|
-
*
|
|
35
|
+
* Blocked file or directory names.
|
|
36
|
+
* Matching components beneath an allowed prefix are rejected.
|
|
37
37
|
*/
|
|
38
38
|
blockedNames?: string[];
|
|
39
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-validator.d.ts","sourceRoot":"","sources":["../src/path-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,EAAE,MAAM;aACZ,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AA2HD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAW;gBAEjC,MAAM,EAAE,mBAAmB;IAqCvC;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"path-validator.d.ts","sourceRoot":"","sources":["../src/path-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,EAAE,MAAM;aACZ,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AA2HD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAW;gBAEjC,MAAM,EAAE,mBAAmB;IAqCvC;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiKhE;;;;;;OAMG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAczD;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB;IAsGrD;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxE;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW/B;;OAEG;IACH,kBAAkB,IAAI,SAAS,MAAM,EAAE;IAIvC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAU5C;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CASjF"}
|
|
@@ -341,8 +341,10 @@ export class PathValidator {
|
|
|
341
341
|
}
|
|
342
342
|
// Check blocked file names
|
|
343
343
|
const basename = path.basename(resolvedPath);
|
|
344
|
-
|
|
345
|
-
|
|
344
|
+
const blockedPart = (relativePath || basename).split(path.sep)
|
|
345
|
+
.find(part => this.config.blockedNames.includes(part));
|
|
346
|
+
if (blockedPart) {
|
|
347
|
+
errors.push(`File name "${blockedPart}" is blocked`);
|
|
346
348
|
}
|
|
347
349
|
// Check blocked extensions
|
|
348
350
|
const ext = path.extname(resolvedPath).toLowerCase();
|
|
@@ -450,13 +452,22 @@ export class PathValidator {
|
|
|
450
452
|
}
|
|
451
453
|
}
|
|
452
454
|
const basename = path.basename(resolvedPath);
|
|
453
|
-
|
|
454
|
-
|
|
455
|
+
const blockedPart = (relativePath || basename).split(path.sep)
|
|
456
|
+
.find(part => this.config.blockedNames.includes(part));
|
|
457
|
+
if (blockedPart) {
|
|
458
|
+
errors.push(`File name "${blockedPart}" is blocked`);
|
|
455
459
|
}
|
|
456
460
|
const ext = path.extname(resolvedPath).toLowerCase();
|
|
457
461
|
if (this.config.blockedExtensions.includes(ext)) {
|
|
458
462
|
errors.push(`File extension "${ext}" is blocked`);
|
|
459
463
|
}
|
|
464
|
+
const fullname = basename.toLowerCase();
|
|
465
|
+
for (const blockedExt of this.config.blockedExtensions) {
|
|
466
|
+
if (fullname.endsWith(blockedExt)) {
|
|
467
|
+
errors.push(`File extension "${blockedExt}" is blocked`);
|
|
468
|
+
break;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
460
471
|
return {
|
|
461
472
|
isValid: errors.length === 0,
|
|
462
473
|
resolvedPath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-validator.js","sourceRoot":"","sources":["../src/path-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"path-validator.js","sourceRoot":"","sources":["../src/path-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAsDlC,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzB;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACzB,QAAQ,EAAe,MAAM;IAC7B,QAAQ,EAAe,MAAM;IAC7B,MAAM,EAAiB,cAAc;IACrC,SAAS,EAAc,iBAAiB;IACxC,aAAa,EAAU,wBAAwB;IAC/C,QAAQ,EAAe,iBAAiB;IACxC,QAAQ,EAAe,iBAAiB;IACxC,IAAI,EAAmB,YAAY;IACnC,KAAK,EAAkB,mBAAmB;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,0BAA0B,GAAG;IACjC,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,SAAS;IACT,cAAc;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG;IAC5B,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,WAAW;IACX,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,iBAAiB;IACjB,aAAa;IACb,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,YAAY,CAAC,YAAoB;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,6EAA6E;IAC7E,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,YAAoB,EAAE,MAAc;IAC1D,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;IACxE,OAAO,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,aAAa;IACP,MAAM,CAAgC;IACvD,oFAAoF;IACnE,gBAAgB,CAAW;IAC5C;;;;;;;;;;;;;;;OAeG;IACc,iBAAiB,CAAW;IAE7C,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG;YACZ,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,0BAA0B;YACzE,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,qBAAqB;YAC1D,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;YAC3C,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;YAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;YACjD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;SACzC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,EAC/C,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAChB,CAAC;QACF,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,uBAAuB;QACvB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAC,eAAe,CAAC;aAC1B,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAC,kCAAkC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,EAAE;oBAChB,YAAY,EAAE,EAAE;oBAChB,aAAa,EAAE,EAAE;oBACjB,MAAM,EAAE,CAAC,iCAAiC,CAAC;iBAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,YAAoB,CAAC;QACzB,yEAAyE;QACzE,4EAA4E;QAC5E,qCAAqC;QACrC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEvC,8BAA8B;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC/C,gBAAgB,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,6CAA6C;oBAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC5B,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;wBACrC,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC5D,0DAA0D;wBAC1D,gEAAgE;wBAChE,8DAA8D;wBAC9D,yDAAyD;wBACzD,4DAA4D;wBAC5D,EAAE;wBACF,0DAA0D;wBAC1D,gEAAgE;wBAChE,4DAA4D;wBAC5D,sDAAsD;wBACtD,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;wBAChD,gBAAgB,GAAG,IAAI,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC;aAC3C,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,MAAM,QAAQ,GAAG,gBAAgB;YAC/B,CAAC,CAAC,IAAI,CAAC,iBAAiB;YACxB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAE1B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;gBACzC,aAAa,GAAG,IAAI,CAAC;gBACrB,aAAa,GAAG,MAAM,CAAC;gBACvB,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY;gBACZ,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAC,qCAAqC,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1D,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACxD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,cAAc,WAAW,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,2BAA2B;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,CAAC;QACpD,CAAC;QAED,iEAAiE;QACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,cAAc,CAAC,CAAC;gBACzD,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,mBAAmB,EACnB,SAAS,CACV,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAiB;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAC,eAAe,CAAC;aAC1B,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAC,kCAAkC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,EAAE;oBAChB,YAAY,EAAE,EAAE;oBAChB,aAAa,EAAE,EAAE;oBACjB,MAAM,EAAE,CAAC,iCAAiC,CAAC;iBAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;gBACzC,aAAa,GAAG,IAAI,CAAC;gBACrB,aAAa,GAAG,MAAM,CAAC;gBACvB,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY;gBACZ,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,CAAC,qCAAqC,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1D,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACxD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,cAAc,WAAW,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,cAAc,CAAC,CAAC;gBACzD,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,GAAG,QAAkB;QACpD,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QAE9C,sBAAsB;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAc;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAiB;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC/B,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAC3C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO,IAAI,aAAa,CAAC;QACvB,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC3C,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,OAAO,IAAI,aAAa,CAAC;QACvB,eAAe,EAAE,CAAC,WAAW,CAAC;QAC9B,WAAW,EAAE,IAAI,EAAE,yBAAyB;QAC5C,YAAY,EAAE;YACZ,GAAG,qBAAqB;YACxB,cAAc,EAAE,+BAA+B;SAChD;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.56.0",
|
|
4
4
|
"workspaces": [
|
|
5
5
|
"v3/@claude-flow/codex",
|
|
6
6
|
"v3/@claude-flow/mcp",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@claude-flow/mcp": "3.1.0",
|
|
72
72
|
"@claude-flow/neural": "3.0.0",
|
|
73
73
|
"@claude-flow/plugin-agent-federation": "1.0.1",
|
|
74
|
-
"@claude-flow/security": "3.0.
|
|
74
|
+
"@claude-flow/security": "3.0.3",
|
|
75
75
|
"@claude-flow/shared": "3.0.2",
|
|
76
76
|
"@iarna/toml": "^2.2.5",
|
|
77
77
|
"@noble/ed25519": "2.3.0",
|
|
@@ -19,6 +19,8 @@ import { hasConsent } from '../funnel/index.js';
|
|
|
19
19
|
import { domainForScope } from './scopes.js';
|
|
20
20
|
/** Refresh before there is less than one minute left on the access token. */
|
|
21
21
|
export const ACCESS_TOKEN_REFRESH_WINDOW_MS = 60_000;
|
|
22
|
+
// A rotating refresh credential may be spent only once per process attempt.
|
|
23
|
+
const pendingRefreshes = new Map();
|
|
22
24
|
/**
|
|
23
25
|
* Best-effort headlessness signal — a false negative just means the browser
|
|
24
26
|
* flow is attempted and a real browser opens fine anyway; a false positive
|
|
@@ -213,30 +215,44 @@ export async function getValidAccessToken(profileName = 'default') {
|
|
|
213
215
|
const cached = getSessionToken(profileName, ACCESS_TOKEN_REFRESH_WINDOW_MS);
|
|
214
216
|
if (cached)
|
|
215
217
|
return cached;
|
|
216
|
-
|
|
218
|
+
const keychainRef = profile.keychainRef;
|
|
219
|
+
if (!keychainRef)
|
|
217
220
|
throw new SessionOnlyExpiredError(profileName);
|
|
218
|
-
const
|
|
219
|
-
const
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
221
|
+
const refreshKey = JSON.stringify([profileName, keychainRef]);
|
|
222
|
+
const pending = pendingRefreshes.get(refreshKey);
|
|
223
|
+
if (pending)
|
|
224
|
+
return pending;
|
|
225
|
+
const refresh = (async () => {
|
|
226
|
+
const sec = await loadSecurityOAuth();
|
|
227
|
+
const keychain = await sec.createKeychainAdapter();
|
|
228
|
+
const refreshTokenValue = await keychain.getSecret(KEYCHAIN_SERVICE, keychainRef);
|
|
229
|
+
if (!refreshTokenValue)
|
|
230
|
+
throw new SessionOnlyExpiredError(profileName);
|
|
231
|
+
const refreshed = await refreshAccessToken(refreshTokenValue);
|
|
232
|
+
if (!refreshed.access_token)
|
|
233
|
+
throw new Error('Cognitum refresh response did not contain an access token');
|
|
234
|
+
// Cognitum rotates refresh tokens with reuse detection. Commit the rotated
|
|
235
|
+
// credential first; if this write fails, do not publish/cache the access
|
|
236
|
+
// token and do not retry the already-spent old refresh token here.
|
|
237
|
+
if (refreshed.refresh_token) {
|
|
238
|
+
await keychain.setSecret(KEYCHAIN_SERVICE, keychainRef, refreshed.refresh_token);
|
|
239
|
+
}
|
|
240
|
+
const expiresAtMs = Date.now() + Math.max(0, refreshed.expires_in ?? 0) * 1000;
|
|
241
|
+
setSessionToken(profileName, refreshed.access_token, expiresAtMs);
|
|
242
|
+
setProfile(profileName, {
|
|
243
|
+
...profile,
|
|
244
|
+
accountId: refreshed.account_email ?? profile.accountId,
|
|
245
|
+
accessTokenExpiresAt: new Date(expiresAtMs).toISOString(),
|
|
246
|
+
linkedAt: new Date().toISOString(),
|
|
247
|
+
});
|
|
248
|
+
return refreshed.access_token;
|
|
249
|
+
})();
|
|
250
|
+
pendingRefreshes.set(refreshKey, refresh);
|
|
251
|
+
try {
|
|
252
|
+
return await refresh;
|
|
253
|
+
}
|
|
254
|
+
finally {
|
|
255
|
+
pendingRefreshes.delete(refreshKey);
|
|
256
|
+
}
|
|
241
257
|
}
|
|
242
258
|
//# sourceMappingURL=client.js.map
|
|
@@ -294,6 +294,18 @@ const statusCommand = {
|
|
|
294
294
|
includeMetrics: true,
|
|
295
295
|
includeHistory: false,
|
|
296
296
|
});
|
|
297
|
+
// The MCP tool answers an unknown id with status "not_found" and no other fields.
|
|
298
|
+
// Rendering that as a record printed "Agent: undefined", "Invalid Date" and
|
|
299
|
+
// "undefined%" and exited 0, so scripts and agents took it as success.
|
|
300
|
+
if ((status.status) === 'not_found') {
|
|
301
|
+
if (ctx.flags.format === 'json') {
|
|
302
|
+
output.printJson(status);
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
output.printError(`Agent not found: ${agentId}`);
|
|
306
|
+
}
|
|
307
|
+
return { success: false, exitCode: 1 };
|
|
308
|
+
}
|
|
297
309
|
if (ctx.flags.format === 'json') {
|
|
298
310
|
output.printJson(status);
|
|
299
311
|
return { success: true, data: status };
|
|
@@ -254,14 +254,16 @@ const codeCommand = {
|
|
|
254
254
|
const targetPath = resolve(ctx.flags.path || '.');
|
|
255
255
|
const analysisType = ctx.flags.type || 'quality';
|
|
256
256
|
const formatJson = ctx.flags.format === 'json';
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
257
|
+
if (!formatJson) {
|
|
258
|
+
output.writeln();
|
|
259
|
+
output.writeln(output.bold('Code Analysis'));
|
|
260
|
+
output.writeln(output.dim('-'.repeat(50)));
|
|
261
|
+
}
|
|
260
262
|
const spinner = output.createSpinner({ text: `Analyzing ${targetPath}...`, spinner: 'dots' });
|
|
261
263
|
spinner.start();
|
|
262
264
|
try {
|
|
263
265
|
const files = await scanSourceFiles(targetPath);
|
|
264
|
-
if (files.length === 0) {
|
|
266
|
+
if (files.length === 0 && !formatJson) {
|
|
265
267
|
spinner.stop();
|
|
266
268
|
output.printWarning('No source files found');
|
|
267
269
|
return { success: true };
|
|
@@ -310,16 +312,16 @@ const codeCommand = {
|
|
|
310
312
|
const totalTodos = fileStats.reduce((s, f) => s + f.todos, 0);
|
|
311
313
|
const totalFunctions = fileStats.reduce((s, f) => s + f.functions, 0);
|
|
312
314
|
const totalImports = fileStats.reduce((s, f) => s + f.imports, 0);
|
|
313
|
-
const avgFileSize = Math.round(totalLoc / files.length);
|
|
314
|
-
const longestFile = fileStats.reduce((a, b) => a.loc > b.loc ? a : b);
|
|
315
|
-
const avgFnPerFile = (totalFunctions / files.length).toFixed(1);
|
|
316
|
-
const deepestNesting = fileStats.reduce((a, b) => a.maxNesting > b.maxNesting ? a : b);
|
|
317
|
-
const allSecurityIssues = fileStats.filter(f => f.securityIssues.length > 0);
|
|
315
|
+
const avgFileSize = files.length > 0 ? Math.round(totalLoc / files.length) : 0;
|
|
318
316
|
if (formatJson) {
|
|
319
317
|
const jsonData = { type: analysisType, path: targetPath, files: files.length, totalLoc, totalTodos, totalFunctions, totalImports, avgFileSize, fileStats: fileStats.map(f => ({ relativePath: path.relative(targetPath, f.file), loc: f.loc, todos: f.todos, functions: f.functions, imports: f.imports, maxNesting: f.maxNesting, securityIssues: f.securityIssues })) };
|
|
320
318
|
output.printJson(jsonData);
|
|
321
319
|
return { success: true, data: jsonData };
|
|
322
320
|
}
|
|
321
|
+
const longestFile = fileStats.reduce((a, b) => a.loc > b.loc ? a : b);
|
|
322
|
+
const avgFnPerFile = (totalFunctions / files.length).toFixed(1);
|
|
323
|
+
const deepestNesting = fileStats.reduce((a, b) => a.maxNesting > b.maxNesting ? a : b);
|
|
324
|
+
const allSecurityIssues = fileStats.filter(f => f.securityIssues.length > 0);
|
|
323
325
|
if (analysisType === 'quality') {
|
|
324
326
|
output.printBox([`Files: ${files.length}`, `Lines of Code: ${totalLoc.toLocaleString()}`, `Avg File Size: ${avgFileSize} LOC`, `TODO/FIXME: ${totalTodos}`, `Functions: ${totalFunctions}`, `Imports: ${totalImports}`].join('\n'), 'Quality Summary');
|
|
325
327
|
output.writeln();
|
|
@@ -549,7 +551,7 @@ const astCommand = {
|
|
|
549
551
|
}
|
|
550
552
|
}
|
|
551
553
|
spinner.stop();
|
|
552
|
-
if (results.length === 0) {
|
|
554
|
+
if (results.length === 0 && formatType !== 'json') {
|
|
553
555
|
output.printWarning('No files analyzed');
|
|
554
556
|
return { success: true };
|
|
555
557
|
}
|
|
@@ -559,7 +561,7 @@ const astCommand = {
|
|
|
559
561
|
functions: results.reduce((sum, r) => sum + r.functions.length, 0),
|
|
560
562
|
classes: results.reduce((sum, r) => sum + r.classes.length, 0),
|
|
561
563
|
imports: results.reduce((sum, r) => sum + r.imports.length, 0),
|
|
562
|
-
avgComplexity: results.reduce((sum, r) => sum + r.complexity.cyclomatic, 0) / results.length,
|
|
564
|
+
avgComplexity: results.length > 0 ? results.reduce((sum, r) => sum + r.complexity.cyclomatic, 0) / results.length : 0,
|
|
563
565
|
totalLoc: results.reduce((sum, r) => sum + r.complexity.loc, 0),
|
|
564
566
|
};
|
|
565
567
|
// JSON output
|
|
@@ -1230,9 +1232,11 @@ const depsCommand = {
|
|
|
1230
1232
|
const showOutdated = ctx.flags.outdated;
|
|
1231
1233
|
const checkSecurity = ctx.flags.security;
|
|
1232
1234
|
const formatJson = ctx.flags.format === 'json';
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1235
|
+
if (!formatJson || showOutdated || checkSecurity) {
|
|
1236
|
+
output.writeln();
|
|
1237
|
+
output.writeln(output.bold('Dependency Analysis'));
|
|
1238
|
+
output.writeln(output.dim('-'.repeat(50)));
|
|
1239
|
+
}
|
|
1236
1240
|
try {
|
|
1237
1241
|
const pkgPath = resolve('package.json');
|
|
1238
1242
|
let pkgContent;
|
|
@@ -3,24 +3,22 @@
|
|
|
3
3
|
* Manages background worker daemon (Node.js-based, similar to shell helpers)
|
|
4
4
|
*/
|
|
5
5
|
import { output } from '../output.js';
|
|
6
|
-
import { getDaemon, startDaemon, stopDaemon } from '../services/worker-daemon.js';
|
|
6
|
+
import { getDaemon, startDaemon, stopDaemon, parseEnabledWorkers } from '../services/worker-daemon.js';
|
|
7
7
|
import { resolveDaemonProjectRoot } from '../services/daemon-autostart.js';
|
|
8
8
|
import { fork } from 'child_process';
|
|
9
9
|
import { fileURLToPath } from 'url';
|
|
10
10
|
import { dirname, join, resolve } from 'path';
|
|
11
11
|
import { homedir } from 'os';
|
|
12
12
|
import * as fs from 'fs';
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
// forked background child's argv (startBackgroundDaemon). One pattern, one
|
|
16
|
-
// place, so the two paths can't drift out of sync on what they accept.
|
|
13
|
+
// Syntax guard for worker-name flags forwarded to a background child.
|
|
14
|
+
// The start action validates the names against the daemon's supported workers.
|
|
17
15
|
const WORKERS_RE = /^[a-z][a-z0-9_-]*(,[a-z][a-z0-9_-]*)*$/;
|
|
18
16
|
// Start daemon subcommand
|
|
19
17
|
const startCommand = {
|
|
20
18
|
name: 'start',
|
|
21
19
|
description: 'Start the worker daemon with all enabled background workers',
|
|
22
20
|
options: [
|
|
23
|
-
{ name: 'workers', short: 'w', type: 'string', description: 'Comma-separated list of workers to enable (default: map,audit,optimize,consolidate,testgaps)' },
|
|
21
|
+
{ name: 'workers', short: 'w', type: 'string', description: 'Comma-separated list of workers to enable (default: saved selection or map,audit,optimize,consolidate,testgaps,backup,harness)' },
|
|
24
22
|
// ADR-174 M3: consolidate now runs a real memory-distillation pass
|
|
25
23
|
// (memory_entries -> episodes/reasoning_patterns/causal_edges) instead of
|
|
26
24
|
// a no-op stub. This opt-out skips just that pass for the life of this
|
|
@@ -124,20 +122,14 @@ const startCommand = {
|
|
|
124
122
|
output.printWarning(`Ignoring invalid --ttl value: ${sanitize(rawTtl)}`);
|
|
125
123
|
}
|
|
126
124
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
// DEFAULT_WORKERS (7 enabled) regardless of what was requested — in
|
|
131
|
-
// both foreground mode (this same action, run directly) and background
|
|
132
|
-
// mode (this same action, re-run in the forked child with --foreground
|
|
133
|
-
// and the forwarded --workers flag).
|
|
134
|
-
const rawWorkers = ctx.flags.workers;
|
|
135
|
-
if (typeof rawWorkers === 'string' && rawWorkers.length > 0) {
|
|
136
|
-
if (WORKERS_RE.test(rawWorkers)) {
|
|
137
|
-
config.enabledWorkers = rawWorkers.split(',');
|
|
125
|
+
if (ctx.flags.workers !== undefined) {
|
|
126
|
+
try {
|
|
127
|
+
config.enabledWorkers = parseEnabledWorkers(ctx.flags.workers);
|
|
138
128
|
}
|
|
139
|
-
|
|
140
|
-
|
|
129
|
+
catch (error) {
|
|
130
|
+
if (!quiet)
|
|
131
|
+
output.printError(error.message);
|
|
132
|
+
return { success: false, exitCode: 1 };
|
|
141
133
|
}
|
|
142
134
|
}
|
|
143
135
|
// Check if background daemon already running (skip if we ARE the daemon process)
|