@claude-flow/cli 3.7.0-alpha.81 → 3.7.0-alpha.82
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/agents/core/coder.md +453 -0
- package/.claude/agents/core/researcher.md +369 -0
- package/.claude/agents/core/reviewer.md +520 -0
- package/.claude/agents/core/tester.md +512 -0
- package/.claude/agents/github/release-manager.md +2 -2
- package/.claude/agents/github/release-swarm.md +1 -1
- package/.claude/agents/github/repo-architect.md +2 -2
- package/.claude/agents/github/swarm-pr.md +1 -1
- package/.claude/agents/github/workflow-automation.md +2 -2
- package/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude/agents/v3/adr-architect.md +184 -0
- package/.claude/agents/v3/memory-specialist.md +995 -0
- package/.claude/agents/v3/security-auditor.md +771 -0
- package/.claude/agents/v3/sparc-orchestrator.md +182 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/code-review-swarm.md +1 -1
- package/.claude/commands/github/issue-tracker.md +3 -3
- package/.claude/commands/github/release-manager.md +3 -5
- package/.claude/commands/github/release-swarm.md +1 -1
- package/.claude/commands/github/repo-architect.md +2 -2
- package/.claude/commands/github/swarm-issue.md +1 -4
- package/.claude/commands/github/swarm-pr.md +3 -6
- package/.claude/commands/github/sync-coordinator.md +1 -3
- package/.claude/commands/github/workflow-automation.md +2 -2
- package/.claude/helpers/github-safe.js +60 -95
- package/.claude/helpers/github-setup.sh +9 -26
- package/.claude/helpers/hook-handler.cjs +4 -12
- package/.claude/helpers/statusline.cjs +2 -31
- package/.claude/settings.json +1 -1
- package/README.md +38 -55
- package/dist/src/commands/daemon.d.ts +0 -20
- package/dist/src/commands/daemon.d.ts.map +1 -1
- package/dist/src/commands/daemon.js +5 -82
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +6 -17
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.d.ts.map +1 -1
- package/dist/src/commands/embeddings.js +9 -18
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/index.d.ts +26 -26
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +1 -21
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +5 -43
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/start.js +1 -1
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/swarm.js +1 -1
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +0 -1
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +0 -41
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +0 -1
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +2 -19
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +15 -74
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +31 -75
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +0 -23
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +5 -18
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +0 -12
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +5 -38
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.js +74 -141
- package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +4 -112
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.js +2 -13
- package/dist/src/mcp-tools/browser-session-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +0 -44
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts +0 -2
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +6 -100
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +7 -332
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.js +1 -17
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +1 -125
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts +0 -28
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +2 -4
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +0 -48
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +0 -48
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +0 -108
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +0 -4
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +8 -49
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +0 -4
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +6 -24
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +4 -15
- package/dist/src/plugins/store/discovery.d.ts.map +1 -1
- package/dist/src/plugins/store/discovery.js +18 -40
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/prompt.d.ts +3 -3
- package/dist/src/prompt.d.ts.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +6 -6
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/ruvector/vector-db.d.ts.map +1 -1
- package/dist/src/ruvector/vector-db.js +12 -3
- package/dist/src/ruvector/vector-db.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts +1 -14
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -1
- package/dist/src/services/headless-worker-executor.js +10 -54
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts +0 -12
- package/dist/src/services/worker-daemon.d.ts.map +1 -1
- package/dist/src/services/worker-daemon.js +14 -68
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -10
- package/.claude/skills/agentdb-advanced/SKILL.md +0 -550
- package/.claude/skills/agentdb-learning/SKILL.md +0 -545
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +0 -339
- package/.claude/skills/agentdb-optimization/SKILL.md +0 -509
- package/.claude/skills/agentdb-vector-search/SKILL.md +0 -339
- package/.claude/skills/browser/SKILL.md +0 -204
- package/.claude/skills/dual-mode/README.md +0 -71
- package/.claude/skills/dual-mode/dual-collect.md +0 -103
- package/.claude/skills/dual-mode/dual-coordinate.md +0 -85
- package/.claude/skills/dual-mode/dual-spawn.md +0 -81
- package/.claude/skills/flow-nexus-neural/SKILL.md +0 -727
- package/.claude/skills/flow-nexus-platform/SKILL.md +0 -1154
- package/.claude/skills/flow-nexus-swarm/SKILL.md +0 -604
- package/.claude/skills/github-code-review/SKILL.md +0 -1125
- package/.claude/skills/github-multi-repo/SKILL.md +0 -862
- package/.claude/skills/github-project-management/SKILL.md +0 -1262
- package/.claude/skills/github-release-management/SKILL.md +0 -1064
- package/.claude/skills/github-workflow-automation/SKILL.md +0 -1047
- package/.claude/skills/hooks-automation/SKILL.md +0 -1201
- package/.claude/skills/pair-programming/SKILL.md +0 -1202
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +0 -446
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +0 -201
- package/.claude/skills/skill-builder/SKILL.md +0 -910
- package/.claude/skills/sparc-methodology/SKILL.md +0 -1106
- package/.claude/skills/stream-chain/SKILL.md +0 -560
- package/.claude/skills/swarm-advanced/SKILL.md +0 -970
- package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
- package/.claude/skills/v3-cli-modernization/SKILL.md +0 -872
- package/.claude/skills/v3-core-implementation/SKILL.md +0 -797
- package/.claude/skills/v3-ddd-architecture/SKILL.md +0 -442
- package/.claude/skills/v3-integration-deep/SKILL.md +0 -241
- package/.claude/skills/v3-mcp-optimization/SKILL.md +0 -777
- package/.claude/skills/v3-memory-unification/SKILL.md +0 -174
- package/.claude/skills/v3-performance-optimization/SKILL.md +0 -390
- package/.claude/skills/v3-security-overhaul/SKILL.md +0 -82
- package/.claude/skills/v3-swarm-coordination/SKILL.md +0 -340
- package/.claude/skills/verification-quality/SKILL.md +0 -691
- package/dist/src/__probe.d.ts +0 -2
- package/dist/src/__probe.d.ts.map +0 -1
- package/dist/src/__probe.js +0 -5
- package/dist/src/__probe.js.map +0 -1
- package/dist/src/commands/benchmark-cosign.d.ts +0 -29
- package/dist/src/commands/benchmark-cosign.d.ts.map +0 -1
- package/dist/src/commands/benchmark-cosign.js +0 -222
- package/dist/src/commands/benchmark-cosign.js.map +0 -1
- package/dist/src/commands/benchmark-verify.d.ts +0 -21
- package/dist/src/commands/benchmark-verify.d.ts.map +0 -1
- package/dist/src/commands/benchmark-verify.js +0 -202
- package/dist/src/commands/benchmark-verify.js.map +0 -1
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts +0 -149
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts.map +0 -1
- package/dist/src/mcp-tools/hive-consensus-runtime.js +0 -296
- package/dist/src/mcp-tools/hive-consensus-runtime.js.map +0 -1
- package/dist/src/mcp-tools/managed-agent-tools.d.ts +0 -22
- package/dist/src/mcp-tools/managed-agent-tools.d.ts.map +0 -1
- package/dist/src/mcp-tools/managed-agent-tools.js +0 -357
- package/dist/src/mcp-tools/managed-agent-tools.js.map +0 -1
- package/dist/src/memory/ann-router-registry.d.ts +0 -61
- package/dist/src/memory/ann-router-registry.d.ts.map +0 -1
- package/dist/src/memory/ann-router-registry.js +0 -72
- package/dist/src/memory/ann-router-registry.js.map +0 -1
- package/dist/src/memory/diskann-registry.d.ts +0 -56
- package/dist/src/memory/diskann-registry.d.ts.map +0 -1
- package/dist/src/memory/diskann-registry.js +0 -88
- package/dist/src/memory/diskann-registry.js.map +0 -1
|
@@ -1394,44 +1394,14 @@ export const hooksPretrain = {
|
|
|
1394
1394
|
// (readdirSync/statSync already imported statically at the top.)
|
|
1395
1395
|
const extCounts = {};
|
|
1396
1396
|
let filesAnalyzed = 0;
|
|
1397
|
-
// #1953: separate budget for code files. The old code gated the
|
|
1398
|
-
// import-pattern extraction on `filesAnalyzed <= 50`, which counts
|
|
1399
|
-
// EVERY directory entry (including .md/.yaml/.db/.log). In any
|
|
1400
|
-
// markdown/docs-heavy repo, the depth-first walker burned through the
|
|
1401
|
-
// 50-file budget on non-code files before reaching any source — so
|
|
1402
|
-
// `patternsExtracted: 0` even when hundreds of `.ts`/`.js` files existed.
|
|
1403
|
-
let codeFilesScanned = 0;
|
|
1404
1397
|
let totalLines = 0;
|
|
1405
1398
|
const maxDepth = depth === 'shallow' ? 2 : depth === 'deep' ? 6 : 4;
|
|
1406
1399
|
const patterns = [];
|
|
1407
|
-
// #1953: recurse into directories that typically contain code first
|
|
1408
|
-
// (`src/`, `apps/`, `packages/`, `lib/`, `crates/`, `workers/`, `server/`)
|
|
1409
|
-
// before docs / specs / planning dirs, so the import-extraction budget
|
|
1410
|
-
// is spent on the highest-signal directories even in mixed repos.
|
|
1411
|
-
const CODE_DIR_PREFIXES = new Set([
|
|
1412
|
-
'src', 'apps', 'packages', 'lib', 'crates', 'workers',
|
|
1413
|
-
'server', 'backend', 'frontend', 'app', 'cli', 'core',
|
|
1414
|
-
]);
|
|
1415
|
-
const scoreEntry = (name) => {
|
|
1416
|
-
if (CODE_DIR_PREFIXES.has(name))
|
|
1417
|
-
return 0;
|
|
1418
|
-
// Deprioritise common docs / output directories.
|
|
1419
|
-
if (/^(docs?|specs?|_.*|examples?|samples?|out|build|target|coverage|tests?)$/.test(name))
|
|
1420
|
-
return 2;
|
|
1421
|
-
return 1;
|
|
1422
|
-
};
|
|
1423
1400
|
const scan = (dir, currentDepth) => {
|
|
1424
1401
|
if (currentDepth > maxDepth)
|
|
1425
1402
|
return;
|
|
1426
1403
|
try {
|
|
1427
1404
|
const entries = readdirSync(dir, { withFileTypes: true });
|
|
1428
|
-
// Sort: code-likely dirs first, files mixed in by name, deprioritised
|
|
1429
|
-
// dirs last. Stable for deterministic test behaviour.
|
|
1430
|
-
entries.sort((a, b) => {
|
|
1431
|
-
const sa = a.isDirectory() ? scoreEntry(a.name) : 1;
|
|
1432
|
-
const sb = b.isDirectory() ? scoreEntry(b.name) : 1;
|
|
1433
|
-
return sa - sb;
|
|
1434
|
-
});
|
|
1435
1405
|
for (const entry of entries) {
|
|
1436
1406
|
if (entry.name.startsWith('.') || entry.name === 'node_modules' || entry.name === 'dist')
|
|
1437
1407
|
continue;
|
|
@@ -1445,18 +1415,15 @@ export const hooksPretrain = {
|
|
|
1445
1415
|
extCounts[ext] = (extCounts[ext] || 0) + 1;
|
|
1446
1416
|
filesAnalyzed++;
|
|
1447
1417
|
// For code files, count lines and extract imports
|
|
1448
|
-
if (['.ts', '.js', '.
|
|
1418
|
+
if (['.ts', '.js', '.py', '.go', '.rs', '.java'].includes(ext)) {
|
|
1449
1419
|
try {
|
|
1450
1420
|
const content = readFileSync(full, 'utf-8');
|
|
1451
1421
|
const lines = content.split('\n');
|
|
1452
1422
|
totalLines += lines.length;
|
|
1453
|
-
//
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
if (++codeFilesScanned <= 50) {
|
|
1458
|
-
for (const line of lines.slice(0, 80)) {
|
|
1459
|
-
if (line.startsWith('import ') || line.startsWith('from ') || (line.startsWith('const ') && line.includes('require('))) {
|
|
1423
|
+
// Extract import patterns (first 50 files max for performance)
|
|
1424
|
+
if (filesAnalyzed <= 50) {
|
|
1425
|
+
for (const line of lines.slice(0, 30)) {
|
|
1426
|
+
if (line.startsWith('import ') || line.startsWith('from ') || line.startsWith('const ') && line.includes('require(')) {
|
|
1460
1427
|
const trimmed = line.trim();
|
|
1461
1428
|
if (trimmed.length < 120 && !patterns.includes(trimmed))
|
|
1462
1429
|
patterns.push(trimmed);
|
|
@@ -1491,7 +1458,7 @@ export const hooksPretrain = {
|
|
|
1491
1458
|
// #1847: when the corpus contains files but no patterns were extracted
|
|
1492
1459
|
// (typical for Markdown vaults), make the source-code-only extraction
|
|
1493
1460
|
// contract explicit so users don't conclude the hook system is broken.
|
|
1494
|
-
const SUPPORTED_EXTRACTION_EXTS = ['.ts', '.js', '.
|
|
1461
|
+
const SUPPORTED_EXTRACTION_EXTS = ['.ts', '.js', '.py', '.go', '.rs', '.java'];
|
|
1495
1462
|
let note;
|
|
1496
1463
|
if (filesAnalyzed > 0 && patterns.length === 0) {
|
|
1497
1464
|
const codeFileCount = SUPPORTED_EXTRACTION_EXTS.reduce((sum, ext) => sum + (extCounts[ext] ?? 0), 0);
|
|
@@ -3832,69 +3799,8 @@ export const hooksWorkerCancel = {
|
|
|
3832
3799
|
};
|
|
3833
3800
|
},
|
|
3834
3801
|
};
|
|
3835
|
-
// #1916: the `ruflo hooks teammate-idle` / `ruflo hooks task-completed` CLI
|
|
3836
|
-
// subcommands (Agent Teams hooks) referenced unregistered tools. Minimal
|
|
3837
|
-
// acknowledgement handlers with the shapes the CLI expects — auto-assignment
|
|
3838
|
-
// and pattern-learning are delegated to the task-queue consumer / intelligence
|
|
3839
|
-
// pipeline (a tracked #1916 follow-up).
|
|
3840
|
-
export const hooksTeammateIdle = {
|
|
3841
|
-
name: 'hooks_teammate-idle',
|
|
3842
|
-
description: 'Agent Teams hook — fired when a teammate agent finishes its turn; reports whether a pending task can be auto-assigned. Use when native Task is wrong because you have a persistent multi-agent team with a shared task list and want idle workers picked up automatically rather than re-spawning subagents. For a one-shot Task, native Task is fine. (Auto-assignment is delegated to the task-queue consumer — this acknowledges the event today.)',
|
|
3843
|
-
category: 'hooks',
|
|
3844
|
-
inputSchema: {
|
|
3845
|
-
type: 'object',
|
|
3846
|
-
properties: {
|
|
3847
|
-
teammateId: { type: 'string', description: 'ID of the idle teammate' },
|
|
3848
|
-
teamName: { type: 'string', description: 'Team name' },
|
|
3849
|
-
autoAssign: { type: 'boolean', description: 'Auto-assign a pending task if available' },
|
|
3850
|
-
checkTaskList: { type: 'boolean', description: 'Consult the shared task list' },
|
|
3851
|
-
timestamp: { type: 'number', description: 'Event timestamp (ms)' },
|
|
3852
|
-
},
|
|
3853
|
-
},
|
|
3854
|
-
handler: async (input) => {
|
|
3855
|
-
const teammateId = String(input.teammateId ?? '');
|
|
3856
|
-
return {
|
|
3857
|
-
success: true,
|
|
3858
|
-
teammateId,
|
|
3859
|
-
action: 'waiting',
|
|
3860
|
-
pendingTasks: 0,
|
|
3861
|
-
message: 'teammate-idle acknowledged; auto-assignment requires the task-queue consumer (#1916 follow-up)',
|
|
3862
|
-
};
|
|
3863
|
-
},
|
|
3864
|
-
};
|
|
3865
|
-
export const hooksTaskCompleted = {
|
|
3866
|
-
name: 'hooks_task-completed',
|
|
3867
|
-
description: 'Agent Teams hook — fired when a task is marked complete; records completion and (eventually) trains patterns + notifies the team lead. Use when native TodoWrite is wrong because the work was a persisted, agent-assigned task whose outcome should feed cross-session learning and team coordination. For an in-session checklist tick, native TodoWrite is fine. (Pattern-learning is delegated to the intelligence pipeline — this records the completion today.)',
|
|
3868
|
-
category: 'hooks',
|
|
3869
|
-
inputSchema: {
|
|
3870
|
-
type: 'object',
|
|
3871
|
-
properties: {
|
|
3872
|
-
taskId: { type: 'string', description: 'ID of the completed task' },
|
|
3873
|
-
teammateId: { type: 'string', description: 'Teammate that completed it' },
|
|
3874
|
-
success: { type: 'boolean', description: 'Whether the task succeeded' },
|
|
3875
|
-
quality: { type: 'number', description: 'Quality score 0-1' },
|
|
3876
|
-
trainPatterns: { type: 'boolean', description: 'Feed the outcome to the learning pipeline' },
|
|
3877
|
-
notifyLead: { type: 'boolean', description: 'Notify the team lead' },
|
|
3878
|
-
},
|
|
3879
|
-
required: ['taskId'],
|
|
3880
|
-
},
|
|
3881
|
-
handler: async (input) => {
|
|
3882
|
-
const taskId = String(input.taskId ?? '');
|
|
3883
|
-
const quality = typeof input.quality === 'number' ? input.quality : (input.success === false ? 0 : 1);
|
|
3884
|
-
return {
|
|
3885
|
-
success: true,
|
|
3886
|
-
taskId,
|
|
3887
|
-
patternsLearned: 0,
|
|
3888
|
-
leadNotified: input.notifyLead === true,
|
|
3889
|
-
metrics: { duration: 0, quality, learningUpdates: 0 },
|
|
3890
|
-
note: 'completion recorded; pattern-learning is delegated to the intelligence pipeline (#1916 follow-up)',
|
|
3891
|
-
};
|
|
3892
|
-
},
|
|
3893
|
-
};
|
|
3894
3802
|
// Export all hooks tools
|
|
3895
3803
|
export const hooksTools = [
|
|
3896
|
-
hooksTeammateIdle,
|
|
3897
|
-
hooksTaskCompleted,
|
|
3898
3804
|
hooksPreEdit,
|
|
3899
3805
|
hooksPostEdit,
|
|
3900
3806
|
hooksPreCommand,
|