claude-flow 3.59.16 → 3.60.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/proven-config.json +1 -1
- package/.claude-plugin/marketplace.json +3 -3
- package/README.md +2 -1
- package/node_modules/@claude-flow/codex/dist/cli.js +0 -0
- package/node_modules/@claude-flow/mcp/dist/session-manager.d.ts.map +1 -1
- package/node_modules/@claude-flow/mcp/dist/session-manager.js +4 -1
- package/node_modules/@claude-flow/mcp/dist/session-manager.js.map +1 -1
- package/node_modules/@claude-flow/mcp/package.json +1 -1
- package/node_modules/@claude-flow/plugin-agent-federation/dist/bin.js +0 -0
- package/package.json +3 -2
- package/v3/@claude-flow/cli/README.md +2 -1
- package/v3/@claude-flow/cli/catalog-manifest.json +4 -4
- package/v3/@claude-flow/cli/dist/src/commands/agntcy/publish.js +1 -1
- package/v3/@claude-flow/cli/dist/src/commands/agntcy/runtime.d.ts +4 -1
- package/v3/@claude-flow/cli/dist/src/commands/agntcy/runtime.js +15 -2
- package/v3/@claude-flow/cli/dist/src/commands/agntcy/swarm-join.js +1 -1
- package/v3/@claude-flow/cli/dist/src/commands/agntcy/transport.js +1 -1
- package/v3/@claude-flow/cli/dist/src/commands/update.js +5 -3
- package/v3/@claude-flow/cli/dist/src/init/executor.js +2 -1
- package/v3/@claude-flow/cli/dist/src/mcp-client.js +4 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentbbs-tools.js +7 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/capability-brain.js +17 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.js +20 -12
- package/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.js +78 -75
- package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +11 -17
- package/v3/@claude-flow/cli/dist/src/mcp-tools/rure-tools.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/rure-tools.js +359 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +18 -9
- package/v3/@claude-flow/cli/dist/src/mods/claude-installs.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/mods/claude-installs.js +21 -1
- package/v3/@claude-flow/cli/dist/src/rure/aidefence-gate.d.ts +25 -0
- package/v3/@claude-flow/cli/dist/src/rure/aidefence-gate.js +63 -0
- package/v3/@claude-flow/cli/dist/src/rure/analyze-js-app.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/rure/analyze-js-app.js +26 -0
- package/v3/@claude-flow/cli/dist/src/rure/binary-parse.d.ts +38 -0
- package/v3/@claude-flow/cli/dist/src/rure/binary-parse.js +347 -0
- package/v3/@claude-flow/cli/dist/src/rure/dotnet-parse.d.ts +30 -0
- package/v3/@claude-flow/cli/dist/src/rure/dotnet-parse.js +299 -0
- package/v3/@claude-flow/cli/dist/src/rure/evm-parse.d.ts +52 -0
- package/v3/@claude-flow/cli/dist/src/rure/evm-parse.js +233 -0
- package/v3/@claude-flow/cli/dist/src/rure/extract-asar.d.ts +33 -0
- package/v3/@claude-flow/cli/dist/src/rure/extract-asar.js +70 -0
- package/v3/@claude-flow/cli/dist/src/rure/find-feature.d.ts +26 -0
- package/v3/@claude-flow/cli/dist/src/rure/find-feature.js +69 -0
- package/v3/@claude-flow/cli/dist/src/rure/ts-walk.d.ts +47 -0
- package/v3/@claude-flow/cli/dist/src/rure/ts-walk.js +158 -0
- package/v3/@claude-flow/cli/dist/src/rure/walk-files.d.ts +21 -0
- package/v3/@claude-flow/cli/dist/src/rure/walk-files.js +71 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +17 -3
- package/v3/@claude-flow/cli/dist/src/update/checker.d.ts +1 -0
- package/v3/@claude-flow/cli/dist/src/update/checker.js +4 -2
- package/v3/@claude-flow/cli/package.json +4 -3
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"source": "git-subdir",
|
|
58
58
|
"url": "https://github.com/proffesor-for-testing/agentic-qe.git",
|
|
59
59
|
"path": "plugins/agentic-qe-fleet",
|
|
60
|
-
"ref": "v3.15.
|
|
61
|
-
"sha": "
|
|
60
|
+
"ref": "v3.15.12",
|
|
61
|
+
"sha": "90a91fe3cc7dc1b9ee9a6ce4e888f3406e8f794a"
|
|
62
62
|
},
|
|
63
|
-
"description": "Agentic QE (external: maintained in proffesor-for-testing/agentic-qe, pinned to v3.15.
|
|
63
|
+
"description": "Agentic QE (external: maintained in proffesor-for-testing/agentic-qe, pinned to v3.15.12): a quality-engineering fleet with 11 QE agents, 9 skills, 9 commands, the agentic-qe MCP server pinned to the plugin version, and the aqe-mod guard that refuses destructive operations on AQE learning data"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"name": "ruflo-docs",
|
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
[](https://www.npmjs.com/package/ruflo)
|
|
9
9
|
[](https://opensource.org/licenses/MIT)
|
|
10
10
|
[](https://github.com/ruvnet/claude-flow)
|
|
11
|
+
[](https://x.com/rUv)
|
|
11
12
|
|
|
12
13
|
<p align="center">
|
|
13
14
|
<a href="docs/harness-origins.md"><img src="https://raw.githubusercontent.com/ruvnet/ruflo/e69e4b95aa08d65ea0f7715489bbf8e62a83a0d2/docs/assets/readme/badges/first-commit.svg" width="300" height="76" alt="Claude Flow lineage: first commit June 2, 2025 by rUv; inspect the evidence"></a>
|
|
@@ -242,7 +243,7 @@ This adds slash commands and agent definitions. `ruflo-core` (installed above) d
|
|
|
242
243
|
| [**ruflo-browser**](plugins/ruflo-browser/README.md) | Automate browser testing with Playwright |
|
|
243
244
|
| [**ruflo-jujutsu**](plugins/ruflo-jujutsu/README.md) | Analyze git diffs, score risk, suggest reviewers |
|
|
244
245
|
| [**ruflo-docs**](plugins/ruflo-docs/README.md) | Generate and maintain documentation automatically |
|
|
245
|
-
| [**agentic-qe-fleet**](https://github.com/proffesor-for-testing/agentic-qe/tree/v3.15.
|
|
246
|
+
| [**agentic-qe-fleet**](https://github.com/proffesor-for-testing/agentic-qe/tree/v3.15.12/plugins/agentic-qe-fleet) | External, maintained by [Agentic QE](https://github.com/proffesor-for-testing/agentic-qe): 11 QE agents, test generation, coverage, chaos and TDD skills, the `agentic-qe` MCP server, and a guard for AQE learning data (`/plugin install agentic-qe-fleet@ruflo`). Install it from one marketplace only, `agentic-qe` or `ruflo`: enabled from both, its mod and commands load twice |
|
|
246
247
|
|
|
247
248
|
#### Security & Compliance
|
|
248
249
|
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AASD,qBAAa,cAAe,SAAQ,YAAY;IAW5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAK;gBAGN,MAAM,EAAE,OAAO,EAChC,MAAM,GAAE,aAAkB;IAO5B,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU;IA2BnD,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,GAC1B,UAAU,GAAG,SAAS;IAwBzB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAe/C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,iBAAiB,IAAI,UAAU,EAAE;IAMjC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAU1C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO;IAoBzD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAepE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAKpD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAgBzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIzC,iBAAiB,IAAI,cAAc;IAiBnC,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3C,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,IAAI,CAAC;KACtB;IA4CD,sBAAsB,IAAI,MAAM;IA6BhC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAMzB,QAAQ,IAAI,IAAI;IAOhB,OAAO,IAAI,IAAI;CAMhB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,aAAa,GACrB,cAAc,CAEhB"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* MCP session lifecycle management
|
|
5
5
|
*/
|
|
6
6
|
import { EventEmitter } from 'events';
|
|
7
|
+
import { randomUUID } from 'crypto';
|
|
7
8
|
const DEFAULT_SESSION_CONFIG = {
|
|
8
9
|
maxSessions: 100,
|
|
9
10
|
sessionTimeout: 30 * 60 * 1000,
|
|
@@ -231,7 +232,9 @@ export class SessionManager extends EventEmitter {
|
|
|
231
232
|
}
|
|
232
233
|
}
|
|
233
234
|
generateSessionId() {
|
|
234
|
-
|
|
235
|
+
// Counter + timestamp + Math.random() was predictable (6 base36 chars),
|
|
236
|
+
// so use a UUID for the unguessable part.
|
|
237
|
+
return `session-${++this.sessionCounter}-${randomUUID()}`;
|
|
235
238
|
}
|
|
236
239
|
clearAll() {
|
|
237
240
|
for (const id of this.sessions.keys()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.60.0",
|
|
4
4
|
"workspaces": [
|
|
5
5
|
"v3/@claude-flow/codex",
|
|
6
6
|
"v3/@claude-flow/mcp",
|
|
@@ -71,11 +71,12 @@
|
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"@claude-flow/cli-core": "3.7.5",
|
|
73
73
|
"@claude-flow/codex": "3.0.5",
|
|
74
|
-
"@claude-flow/mcp": "3.1.
|
|
74
|
+
"@claude-flow/mcp": "3.1.2",
|
|
75
75
|
"@claude-flow/neural": "3.0.0",
|
|
76
76
|
"@claude-flow/plugin-agent-federation": "1.0.1",
|
|
77
77
|
"@claude-flow/security": "3.0.5",
|
|
78
78
|
"@claude-flow/shared": "3.0.5",
|
|
79
|
+
"@electron/asar": "^4.3.1",
|
|
79
80
|
"@iarna/toml": "^2.2.5",
|
|
80
81
|
"@noble/ed25519": "2.3.0",
|
|
81
82
|
"@ruvector/rabitq-wasm": "0.1.0",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
[](https://www.npmjs.com/package/ruflo)
|
|
9
9
|
[](https://opensource.org/licenses/MIT)
|
|
10
10
|
[](https://github.com/ruvnet/claude-flow)
|
|
11
|
+
[](https://x.com/rUv)
|
|
11
12
|
|
|
12
13
|
<p align="center">
|
|
13
14
|
<a href="docs/harness-origins.md"><img src="https://raw.githubusercontent.com/ruvnet/ruflo/e69e4b95aa08d65ea0f7715489bbf8e62a83a0d2/docs/assets/readme/badges/first-commit.svg" width="300" height="76" alt="Claude Flow lineage: first commit June 2, 2025 by rUv; inspect the evidence"></a>
|
|
@@ -242,7 +243,7 @@ This adds slash commands and agent definitions. `ruflo-core` (installed above) d
|
|
|
242
243
|
| [**ruflo-browser**](plugins/ruflo-browser/README.md) | Automate browser testing with Playwright |
|
|
243
244
|
| [**ruflo-jujutsu**](plugins/ruflo-jujutsu/README.md) | Analyze git diffs, score risk, suggest reviewers |
|
|
244
245
|
| [**ruflo-docs**](plugins/ruflo-docs/README.md) | Generate and maintain documentation automatically |
|
|
245
|
-
| [**agentic-qe-fleet**](https://github.com/proffesor-for-testing/agentic-qe/tree/v3.15.
|
|
246
|
+
| [**agentic-qe-fleet**](https://github.com/proffesor-for-testing/agentic-qe/tree/v3.15.12/plugins/agentic-qe-fleet) | External, maintained by [Agentic QE](https://github.com/proffesor-for-testing/agentic-qe): 11 QE agents, test generation, coverage, chaos and TDD skills, the `agentic-qe` MCP server, and a guard for AQE learning data (`/plugin install agentic-qe-fleet@ruflo`). Install it from one marketplace only, `agentic-qe` or `ruflo`: enabled from both, its mod and commands load twice |
|
|
246
247
|
|
|
247
248
|
#### Security & Compliance
|
|
248
249
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generation": 7,
|
|
4
|
-
"generatedAt": "2026-10-
|
|
5
|
-
"gitSha": "
|
|
4
|
+
"generatedAt": "2026-10-23T17:21:46.374Z",
|
|
5
|
+
"gitSha": "7402c321",
|
|
6
6
|
"catalog": {
|
|
7
|
-
"agents":
|
|
8
|
-
"tools":
|
|
7
|
+
"agents": 177,
|
|
8
|
+
"tools": 438,
|
|
9
9
|
"skills": 34
|
|
10
10
|
},
|
|
11
11
|
"benchmark": null
|
|
@@ -87,7 +87,7 @@ const publishCommand = {
|
|
|
87
87
|
}
|
|
88
88
|
// Step 2 (stub, requires the not-yet-published runtime): the actual
|
|
89
89
|
// Directory publish call.
|
|
90
|
-
const status = await detectAgntcyRuntime();
|
|
90
|
+
const status = await detectAgntcyRuntime(process.env, AGNTCY_PACKAGE_NAME, ['publishAgentRecord']);
|
|
91
91
|
if (!status.configured) {
|
|
92
92
|
output.printInfo(AGNTCY_NOT_CONFIGURED_MESSAGE);
|
|
93
93
|
output.printInfo(`Validated OASF record at "${manifestPath}" locally (name=${parsed.name}, ` +
|
|
@@ -107,6 +107,9 @@ export interface AgntcyRuntimeStatus {
|
|
|
107
107
|
* @param packageName Injectable for tests (to simulate "package not
|
|
108
108
|
* installed" without needing to actually uninstall the real optional
|
|
109
109
|
* dependency); defaults to {@link AGNTCY_PACKAGE_NAME}.
|
|
110
|
+
* @param requiredExports Function names the caller will use. A resolved module
|
|
111
|
+
* missing any of them is reported as not configured, with the missing names
|
|
112
|
+
* in `reason`, instead of failing later at the call site.
|
|
110
113
|
*/
|
|
111
|
-
export declare function detectAgntcyRuntime(env?: NodeJS.ProcessEnv, packageName?: string): Promise<AgntcyRuntimeStatus>;
|
|
114
|
+
export declare function detectAgntcyRuntime(env?: NodeJS.ProcessEnv, packageName?: string, requiredExports?: readonly string[]): Promise<AgntcyRuntimeStatus>;
|
|
112
115
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -100,8 +100,11 @@ export const AGNTCY_NOT_CONFIGURED_MESSAGE = `AGNTCY/SLIM transport is not confi
|
|
|
100
100
|
* @param packageName Injectable for tests (to simulate "package not
|
|
101
101
|
* installed" without needing to actually uninstall the real optional
|
|
102
102
|
* dependency); defaults to {@link AGNTCY_PACKAGE_NAME}.
|
|
103
|
+
* @param requiredExports Function names the caller will use. A resolved module
|
|
104
|
+
* missing any of them is reported as not configured, with the missing names
|
|
105
|
+
* in `reason`, instead of failing later at the call site.
|
|
103
106
|
*/
|
|
104
|
-
export async function detectAgntcyRuntime(env = process.env, packageName = AGNTCY_PACKAGE_NAME) {
|
|
107
|
+
export async function detectAgntcyRuntime(env = process.env, packageName = AGNTCY_PACKAGE_NAME, requiredExports = []) {
|
|
105
108
|
const endpoint = env[AGNTCY_ENDPOINT_ENV];
|
|
106
109
|
if (!endpoint) {
|
|
107
110
|
return { configured: false, reason: `${AGNTCY_ENDPOINT_ENV} is not set` };
|
|
@@ -112,7 +115,17 @@ export async function detectAgntcyRuntime(env = process.env, packageName = AGNTC
|
|
|
112
115
|
// `await import('pg')`). Never a static `import` — a static import
|
|
113
116
|
// would make @claude-flow/cli fail to build/run when the package is
|
|
114
117
|
// absent, which is the one thing ADR-150/ADR-380 forbid.
|
|
115
|
-
await import(packageName);
|
|
118
|
+
const mod = await import(packageName);
|
|
119
|
+
if (requiredExports.length > 0) {
|
|
120
|
+
const missing = requiredExports.filter((name) => typeof mod[name] !== 'function');
|
|
121
|
+
if (missing.length > 0) {
|
|
122
|
+
return {
|
|
123
|
+
configured: false,
|
|
124
|
+
reason: `${packageName} resolved but does not export ${missing.join(', ')}; the installed SDK API is not the one this command implements`,
|
|
125
|
+
endpoint,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
116
129
|
return { configured: true, reason: `${packageName} resolved`, endpoint };
|
|
117
130
|
}
|
|
118
131
|
catch (error) {
|
|
@@ -54,7 +54,7 @@ const joinCommand = {
|
|
|
54
54
|
output.printError(`Invalid namespace "${namespace}": ${nsCheck.error}`);
|
|
55
55
|
return { success: false, exitCode: 1 };
|
|
56
56
|
}
|
|
57
|
-
const status = await detectAgntcyRuntime();
|
|
57
|
+
const status = await detectAgntcyRuntime(process.env, AGNTCY_PACKAGE_NAME, ['joinGroup']);
|
|
58
58
|
if (!status.configured) {
|
|
59
59
|
output.printInfo(AGNTCY_NOT_CONFIGURED_MESSAGE);
|
|
60
60
|
output.printInfo(`Namespace "${namespace}" was not joined via SLIM. Local swarm/hive-mind coordination ` +
|
|
@@ -37,7 +37,7 @@ const useCommand = {
|
|
|
37
37
|
output.printInfo('Local transport remains the default and needs no explicit "use".');
|
|
38
38
|
return { success: false, exitCode: 1 };
|
|
39
39
|
}
|
|
40
|
-
const status = await detectAgntcyRuntime();
|
|
40
|
+
const status = await detectAgntcyRuntime(process.env, AGNTCY_PACKAGE_NAME, ['createSlimTransport']);
|
|
41
41
|
if (!status.configured) {
|
|
42
42
|
output.printInfo(AGNTCY_NOT_CONFIGURED_MESSAGE);
|
|
43
43
|
output.printInfo('Active transport remains: local (in-process hooks routing).');
|
|
@@ -110,6 +110,8 @@ const allCommand = {
|
|
|
110
110
|
],
|
|
111
111
|
async action(ctx) {
|
|
112
112
|
const { flags } = ctx;
|
|
113
|
+
// The parser stores `--dry-run` as `dryRun`.
|
|
114
|
+
const dryRun = flags.dryRun === true || flags['dry-run'] === true;
|
|
113
115
|
process.env.CLAUDE_FLOW_FORCE_UPDATE = 'true';
|
|
114
116
|
try {
|
|
115
117
|
output.printInfo('Checking for updates...');
|
|
@@ -135,14 +137,14 @@ const allCommand = {
|
|
|
135
137
|
}
|
|
136
138
|
}
|
|
137
139
|
output.printInfo(`Updating ${results.length} package(s)...`);
|
|
138
|
-
const updateResults = await executeMultipleUpdates(results, installedPackages,
|
|
140
|
+
const updateResults = await executeMultipleUpdates(results, installedPackages, dryRun);
|
|
139
141
|
const successful = updateResults.filter((r) => r.success);
|
|
140
142
|
const failed = updateResults.filter((r) => !r.success);
|
|
141
143
|
output.writeln();
|
|
142
|
-
output.writeln(output.highlight(
|
|
144
|
+
output.writeln(output.highlight(dryRun ? '═══ Dry Run - Would Update ═══' : '═══ Update Results ═══'));
|
|
143
145
|
output.writeln();
|
|
144
146
|
if (successful.length > 0) {
|
|
145
|
-
output.printSuccess(`${successful.length} package(s) ${
|
|
147
|
+
output.printSuccess(`${successful.length} package(s) ${dryRun ? 'would be ' : ''}updated:`);
|
|
146
148
|
for (const r of successful) {
|
|
147
149
|
output.writeln(` ${output.success('✓')} ${r.package}@${r.version}`);
|
|
148
150
|
}
|
|
@@ -1435,7 +1435,8 @@ swarm:
|
|
|
1435
1435
|
memory:
|
|
1436
1436
|
backend: ${options.runtime.memoryBackend}
|
|
1437
1437
|
enableHNSW: ${options.runtime.enableHNSW}
|
|
1438
|
-
|
|
1438
|
+
# Store location is read from claude-flow.config.json (memory.persistPath);
|
|
1439
|
+
# this YAML file is runtime/daemon configuration only.
|
|
1439
1440
|
cacheSize: 100
|
|
1440
1441
|
# ADR-049: Self-Learning Memory
|
|
1441
1442
|
learningBridge:
|
|
@@ -33,6 +33,9 @@ import { performanceTools } from './mcp-tools/performance-tools.js';
|
|
|
33
33
|
import { githubTools } from './mcp-tools/github-tools.js';
|
|
34
34
|
import { daaTools } from './mcp-tools/daa-tools.js';
|
|
35
35
|
import { coordinationTools } from './mcp-tools/coordination-tools.js';
|
|
36
|
+
// ruRE Phase 1 (plugins/ruflo-rure ADR-0001/0002) — JS/Electron static
|
|
37
|
+
// analysis. Always registered: pure-TS, no native engine dependency.
|
|
38
|
+
import { rureTools } from './mcp-tools/rure-tools.js';
|
|
36
39
|
import { browserTools } from './mcp-tools/browser-tools.js';
|
|
37
40
|
import { browserSessionTools } from './mcp-tools/browser-session-tools.js';
|
|
38
41
|
// ADR-175 — page-agent natural-language intent layer (browser_act). Always
|
|
@@ -150,6 +153,7 @@ registerTools([
|
|
|
150
153
|
...githubTools,
|
|
151
154
|
...daaTools,
|
|
152
155
|
...coordinationTools,
|
|
156
|
+
...rureTools,
|
|
153
157
|
...getBrowserTools(),
|
|
154
158
|
...getBrowserSessionTools(),
|
|
155
159
|
...getBrowserIntentTools(),
|
|
@@ -98,6 +98,13 @@ function validateRoomId(roomId) {
|
|
|
98
98
|
if (!/^[A-Za-z0-9_.\-:/@#]+$/.test(roomId)) {
|
|
99
99
|
throw new Error('roomId may only contain [A-Za-z0-9_.\\-:/@#]');
|
|
100
100
|
}
|
|
101
|
+
// `.` and `/` are allowed chars, so reject `..` explicitly. The roomId is
|
|
102
|
+
// joined into a file path in roomLogPath; without this check a value like
|
|
103
|
+
// ../../../../tmp/x escapes the .agentbbs directory. Matches the validator
|
|
104
|
+
// in agentbbs-federation.ts.
|
|
105
|
+
if (roomId.includes('..')) {
|
|
106
|
+
throw new Error('roomId must not contain ..');
|
|
107
|
+
}
|
|
101
108
|
return roomId;
|
|
102
109
|
}
|
|
103
110
|
function ensureDir(dir) {
|
|
@@ -411,6 +411,22 @@ export const CAPABILITY_DOMAINS = [
|
|
|
411
411
|
useWhen: 'Interacting with web surfaces or testing endpoints under explicit network policy.',
|
|
412
412
|
verifyBeforeUse: ['Check network target policy, authentication, side effects, and runtime provider health.'],
|
|
413
413
|
},
|
|
414
|
+
{
|
|
415
|
+
id: 'reverse-engineering',
|
|
416
|
+
name: 'Reverse Engineering (ruRE)',
|
|
417
|
+
prefixes: ['rure_'],
|
|
418
|
+
description: 'Static JS/Electron analysis: evidence-sourced module/import/export graphs and Electron process-boundary detection. Parses only, never executes analyzed code; Phase 1 of ADR-0001 — native binary, .NET, EVM and dynamic-instrumentation analysis are future phases.',
|
|
419
|
+
taskSignals: ['reverse engineer', 'how does this feature work', 'electron app', 'asar', 'decompile', 'static analysis'],
|
|
420
|
+
commands: [],
|
|
421
|
+
skills: ['analyze-app'],
|
|
422
|
+
agents: ['reverse-engineer'],
|
|
423
|
+
maturity: 'experimental',
|
|
424
|
+
authority: 'capability-plane',
|
|
425
|
+
risk: 'reversible',
|
|
426
|
+
riskFlags: ['read', 'local-write', 'credential-pii'],
|
|
427
|
+
useWhen: 'Understanding or reimplementing a feature from a local app you are authorized to study; refuses DRM/license-circumvention requests.',
|
|
428
|
+
verifyBeforeUse: ['Confirm authorization context (own app, licensed target, or research/CTF). Never trust redacted-content markers as absent data — report them as withheld.'],
|
|
429
|
+
},
|
|
414
430
|
{
|
|
415
431
|
id: 'github-delivery',
|
|
416
432
|
name: 'GitHub & Delivery',
|
|
@@ -554,6 +570,7 @@ const TOOL_OWNERSHIP = [
|
|
|
554
570
|
{ prefixes: ['guidance_'], packageOwner: '@claude-flow/guidance', pluginOwner: 'ruflo-core' },
|
|
555
571
|
{ prefixes: ['seraphina_'], packageOwner: '@claude-flow/cli', pluginOwner: 'ruflo-core' },
|
|
556
572
|
{ prefixes: ['x_federation_'], packageOwner: '@claude-flow/cli', pluginOwner: 'ruflo-x-gateway' },
|
|
573
|
+
{ prefixes: ['rure_'], packageOwner: '@claude-flow/cli', pluginOwner: 'ruflo-rure' },
|
|
557
574
|
{ prefixes: ['team_'], packageOwner: '@claude-flow/cli' },
|
|
558
575
|
];
|
|
559
576
|
function ownershipForTool(toolName, definition) {
|
|
@@ -151,26 +151,34 @@ export const daaTools = [
|
|
|
151
151
|
if (!agent) {
|
|
152
152
|
return { success: false, error: 'Agent not found' };
|
|
153
153
|
}
|
|
154
|
-
|
|
154
|
+
// #4426: `|| 0.8` turned a failing 0 (and a missing score) into a 0.8
|
|
155
|
+
// success. A given score must be in [0, 1]; a missing one records none.
|
|
156
|
+
const performanceScore = input.performanceScore === undefined ? null : input.performanceScore;
|
|
157
|
+
if (performanceScore !== null && (typeof performanceScore !== 'number' || !Number.isFinite(performanceScore) || performanceScore < 0 || performanceScore > 1)) {
|
|
158
|
+
return { success: false, error: 'performanceScore must be a number between 0 and 1' };
|
|
159
|
+
}
|
|
155
160
|
// Update agent metrics
|
|
156
161
|
agent.metrics.adaptations++;
|
|
157
|
-
|
|
162
|
+
if (performanceScore !== null)
|
|
163
|
+
agent.metrics.successRate = (agent.metrics.successRate + performanceScore) / 2;
|
|
158
164
|
agent.lastActivity = new Date().toISOString();
|
|
159
165
|
agent.status = 'active';
|
|
160
166
|
saveDAAStore(store);
|
|
161
167
|
// Store adaptation feedback in AgentDB for pattern learning (backward compat: JSON store above)
|
|
162
168
|
let _storedIn = 'json-store';
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
if (performanceScore !== null) {
|
|
170
|
+
try {
|
|
171
|
+
const bridge = await import('../memory/memory-bridge.js');
|
|
172
|
+
await bridge.bridgeRecordFeedback({
|
|
173
|
+
taskId: `adapt-${agentId}-${agent.metrics.adaptations}`,
|
|
174
|
+
success: performanceScore >= 0.5,
|
|
175
|
+
quality: performanceScore,
|
|
176
|
+
agent: agentId,
|
|
177
|
+
});
|
|
178
|
+
_storedIn = 'agentdb';
|
|
179
|
+
}
|
|
180
|
+
catch { /* AgentDB not available */ }
|
|
172
181
|
}
|
|
173
|
-
catch { /* AgentDB not available */ }
|
|
174
182
|
return {
|
|
175
183
|
success: true,
|
|
176
184
|
agentId,
|