@claude-flow/cli 3.32.1 → 3.32.3
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/helpers/.helpers-version +1 -1
- package/.claude/helpers/helpers.manifest.json +3 -3
- package/.claude/helpers/statusline.cjs +24 -17
- package/.claude/helpers/statusline.js +19 -31
- package/catalog-manifest.json +2 -2
- package/package.json +1 -1
- package/plugins/ruflo-metaharness/.claude-plugin/plugin.json +1 -1
- package/plugins/ruflo-metaharness/scripts/smoke.sh +8 -5
- package/plugins/ruflo-metaharness/skills/harness-similarity/SKILL.md +1 -1
- package/dist/src/agenticow/speculative-exploration.d.ts +0 -148
- package/dist/src/agenticow/speculative-exploration.js +0 -218
- package/dist/src/appliance/gguf-engine.d.ts +0 -91
- package/dist/src/appliance/gguf-engine.js +0 -425
- package/dist/src/appliance/ruvllm-bridge.d.ts +0 -102
- package/dist/src/appliance/ruvllm-bridge.js +0 -292
- package/dist/src/appliance/rvfa-builder.d.ts +0 -44
- package/dist/src/appliance/rvfa-builder.js +0 -329
- package/dist/src/appliance/rvfa-distribution.d.ts +0 -97
- package/dist/src/appliance/rvfa-distribution.js +0 -370
- package/dist/src/appliance/rvfa-format.d.ts +0 -111
- package/dist/src/appliance/rvfa-format.js +0 -393
- package/dist/src/appliance/rvfa-runner.d.ts +0 -69
- package/dist/src/appliance/rvfa-runner.js +0 -237
- package/dist/src/appliance/rvfa-signing.d.ts +0 -123
- package/dist/src/appliance/rvfa-signing.js +0 -347
- package/dist/src/autopilot-state.d.ts +0 -77
- package/dist/src/autopilot-state.js +0 -271
- package/dist/src/benchmarks/gaia-agent-planning.smoke.d.ts +0 -18
- package/dist/src/benchmarks/gaia-agent-planning.smoke.js +0 -253
- package/dist/src/benchmarks/gaia-agent.d.ts +0 -198
- package/dist/src/benchmarks/gaia-agent.js +0 -651
- package/dist/src/benchmarks/gaia-causal-memory.d.ts +0 -133
- package/dist/src/benchmarks/gaia-causal-memory.js +0 -281
- package/dist/src/benchmarks/gaia-causal-memory.smoke.d.ts +0 -22
- package/dist/src/benchmarks/gaia-causal-memory.smoke.js +0 -300
- package/dist/src/benchmarks/gaia-convergence.d.ts +0 -138
- package/dist/src/benchmarks/gaia-convergence.js +0 -260
- package/dist/src/benchmarks/gaia-convergence.smoke.d.ts +0 -19
- package/dist/src/benchmarks/gaia-convergence.smoke.js +0 -246
- package/dist/src/benchmarks/gaia-critic.d.ts +0 -123
- package/dist/src/benchmarks/gaia-critic.js +0 -312
- package/dist/src/benchmarks/gaia-critic.smoke.d.ts +0 -21
- package/dist/src/benchmarks/gaia-critic.smoke.js +0 -327
- package/dist/src/benchmarks/gaia-decomposer.d.ts +0 -125
- package/dist/src/benchmarks/gaia-decomposer.js +0 -350
- package/dist/src/benchmarks/gaia-decomposer.smoke.d.ts +0 -21
- package/dist/src/benchmarks/gaia-decomposer.smoke.js +0 -228
- package/dist/src/benchmarks/gaia-e2e-smoke.d.ts +0 -27
- package/dist/src/benchmarks/gaia-e2e-smoke.js +0 -136
- package/dist/src/benchmarks/gaia-extract.smoke.d.ts +0 -45
- package/dist/src/benchmarks/gaia-extract.smoke.js +0 -242
- package/dist/src/benchmarks/gaia-hardness/features.d.ts +0 -46
- package/dist/src/benchmarks/gaia-hardness/features.js +0 -170
- package/dist/src/benchmarks/gaia-hardness/predictor.d.ts +0 -105
- package/dist/src/benchmarks/gaia-hardness/predictor.js +0 -260
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.d.ts +0 -20
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.js +0 -235
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.d.ts +0 -51
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.js +0 -179
- package/dist/src/benchmarks/gaia-judge.d.ts +0 -88
- package/dist/src/benchmarks/gaia-judge.js +0 -437
- package/dist/src/benchmarks/gaia-loader.d.ts +0 -87
- package/dist/src/benchmarks/gaia-loader.js +0 -326
- package/dist/src/benchmarks/gaia-tools/file_read.d.ts +0 -35
- package/dist/src/benchmarks/gaia-tools/file_read.js +0 -403
- package/dist/src/benchmarks/gaia-tools/grounded_query.d.ts +0 -126
- package/dist/src/benchmarks/gaia-tools/grounded_query.js +0 -225
- package/dist/src/benchmarks/gaia-tools/index.d.ts +0 -32
- package/dist/src/benchmarks/gaia-tools/index.js +0 -36
- package/dist/src/benchmarks/gaia-tools/types.d.ts +0 -62
- package/dist/src/benchmarks/gaia-tools/types.js +0 -12
- package/dist/src/benchmarks/gaia-tools/web_search.d.ts +0 -30
- package/dist/src/benchmarks/gaia-tools/web_search.js +0 -210
- package/dist/src/benchmarks/gaia-voting.d.ts +0 -88
- package/dist/src/benchmarks/gaia-voting.js +0 -297
- package/dist/src/benchmarks/gaia-voting.smoke.d.ts +0 -20
- package/dist/src/benchmarks/gaia-voting.smoke.js +0 -332
- package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
- package/dist/src/benchmarks/pretrain/index.js +0 -404
- package/dist/src/business-pods/bbs-budget-tracker.d.ts +0 -139
- package/dist/src/business-pods/bbs-budget-tracker.js +0 -358
- package/dist/src/business-pods/domain-affinity-policy.d.ts +0 -47
- package/dist/src/business-pods/domain-affinity-policy.js +0 -65
- package/dist/src/business-pods/pod-schema.d.ts +0 -96
- package/dist/src/business-pods/pod-schema.js +0 -225
- package/dist/src/commands/advisor.d.ts +0 -15
- package/dist/src/commands/advisor.js +0 -94
- package/dist/src/commands/agent-wasm.d.ts +0 -14
- package/dist/src/commands/agent-wasm.js +0 -333
- package/dist/src/commands/agent.d.ts +0 -8
- package/dist/src/commands/agent.js +0 -927
- package/dist/src/commands/analyze.d.ts +0 -19
- package/dist/src/commands/analyze.js +0 -2047
- package/dist/src/commands/announcements.d.ts +0 -17
- package/dist/src/commands/announcements.js +0 -0
- package/dist/src/commands/appliance-advanced.d.ts +0 -9
- package/dist/src/commands/appliance-advanced.js +0 -215
- package/dist/src/commands/appliance.d.ts +0 -8
- package/dist/src/commands/appliance.js +0 -404
- package/dist/src/commands/autopilot.d.ts +0 -15
- package/dist/src/commands/autopilot.js +0 -407
- package/dist/src/commands/benchmark.d.ts +0 -10
- package/dist/src/commands/benchmark.js +0 -460
- package/dist/src/commands/claims.d.ts +0 -10
- package/dist/src/commands/claims.js +0 -620
- package/dist/src/commands/cleanup.d.ts +0 -13
- package/dist/src/commands/cleanup.js +0 -250
- package/dist/src/commands/completions.d.ts +0 -10
- package/dist/src/commands/completions.js +0 -539
- package/dist/src/commands/config.d.ts +0 -8
- package/dist/src/commands/config.js +0 -428
- package/dist/src/commands/daemon.d.ts +0 -59
- package/dist/src/commands/daemon.js +0 -1733
- package/dist/src/commands/deployment.d.ts +0 -10
- package/dist/src/commands/deployment.js +0 -672
- package/dist/src/commands/doctor.d.ts +0 -10
- package/dist/src/commands/doctor.js +0 -1695
- package/dist/src/commands/eject.d.ts +0 -33
- package/dist/src/commands/eject.js +0 -195
- package/dist/src/commands/embeddings.d.ts +0 -18
- package/dist/src/commands/embeddings.js +0 -1623
- package/dist/src/commands/funnel.d.ts +0 -18
- package/dist/src/commands/funnel.js +0 -302
- package/dist/src/commands/gaia-bench.d.ts +0 -40
- package/dist/src/commands/gaia-bench.js +0 -597
- package/dist/src/commands/guidance.d.ts +0 -8
- package/dist/src/commands/guidance.js +0 -556
- package/dist/src/commands/hive-mind.d.ts +0 -11
- package/dist/src/commands/hive-mind.js +0 -1319
- package/dist/src/commands/hooks.d.ts +0 -8
- package/dist/src/commands/hooks.js +0 -4595
- package/dist/src/commands/index.d.ts +0 -118
- package/dist/src/commands/index.js +0 -364
- package/dist/src/commands/init.d.ts +0 -13
- package/dist/src/commands/init.js +0 -1297
- package/dist/src/commands/issues.d.ts +0 -21
- package/dist/src/commands/issues.js +0 -567
- package/dist/src/commands/mcp.d.ts +0 -11
- package/dist/src/commands/mcp.js +0 -732
- package/dist/src/commands/memory-backup.d.ts +0 -11
- package/dist/src/commands/memory-backup.js +0 -46
- package/dist/src/commands/memory-distill.d.ts +0 -27
- package/dist/src/commands/memory-distill.js +0 -374
- package/dist/src/commands/memory.d.ts +0 -8
- package/dist/src/commands/memory.js +0 -1596
- package/dist/src/commands/metaharness.d.ts +0 -39
- package/dist/src/commands/metaharness.js +0 -215
- package/dist/src/commands/migrate.d.ts +0 -8
- package/dist/src/commands/migrate.js +0 -742
- package/dist/src/commands/neural.d.ts +0 -10
- package/dist/src/commands/neural.js +0 -4331
- package/dist/src/commands/performance.d.ts +0 -10
- package/dist/src/commands/performance.js +0 -583
- package/dist/src/commands/plugins.d.ts +0 -11
- package/dist/src/commands/plugins.js +0 -826
- package/dist/src/commands/process.d.ts +0 -10
- package/dist/src/commands/process.js +0 -694
- package/dist/src/commands/progress.d.ts +0 -11
- package/dist/src/commands/progress.js +0 -259
- package/dist/src/commands/providers.d.ts +0 -10
- package/dist/src/commands/providers.js +0 -502
- package/dist/src/commands/proxy.d.ts +0 -21
- package/dist/src/commands/proxy.js +0 -310
- package/dist/src/commands/route.d.ts +0 -16
- package/dist/src/commands/route.js +0 -822
- package/dist/src/commands/ruvector/backup.d.ts +0 -11
- package/dist/src/commands/ruvector/backup.js +0 -747
- package/dist/src/commands/ruvector/benchmark.d.ts +0 -11
- package/dist/src/commands/ruvector/benchmark.js +0 -490
- package/dist/src/commands/ruvector/import.d.ts +0 -18
- package/dist/src/commands/ruvector/import.js +0 -373
- package/dist/src/commands/ruvector/index.d.ts +0 -29
- package/dist/src/commands/ruvector/index.js +0 -129
- package/dist/src/commands/ruvector/init.d.ts +0 -11
- package/dist/src/commands/ruvector/init.js +0 -467
- package/dist/src/commands/ruvector/migrate.d.ts +0 -11
- package/dist/src/commands/ruvector/migrate.js +0 -498
- package/dist/src/commands/ruvector/optimize.d.ts +0 -11
- package/dist/src/commands/ruvector/optimize.js +0 -505
- package/dist/src/commands/ruvector/pg-utils.d.ts +0 -14
- package/dist/src/commands/ruvector/pg-utils.js +0 -41
- package/dist/src/commands/ruvector/setup.d.ts +0 -18
- package/dist/src/commands/ruvector/setup.js +0 -765
- package/dist/src/commands/ruvector/status.d.ts +0 -11
- package/dist/src/commands/ruvector/status.js +0 -479
- package/dist/src/commands/security.d.ts +0 -10
- package/dist/src/commands/security.js +0 -1007
- package/dist/src/commands/session.d.ts +0 -8
- package/dist/src/commands/session.js +0 -757
- package/dist/src/commands/settings.d.ts +0 -19
- package/dist/src/commands/settings.js +0 -180
- package/dist/src/commands/spinner.d.ts +0 -16
- package/dist/src/commands/spinner.js +0 -329
- package/dist/src/commands/start.d.ts +0 -8
- package/dist/src/commands/start.js +0 -418
- package/dist/src/commands/status.d.ts +0 -8
- package/dist/src/commands/status.js +0 -608
- package/dist/src/commands/swarm.d.ts +0 -8
- package/dist/src/commands/swarm.js +0 -891
- package/dist/src/commands/task.d.ts +0 -8
- package/dist/src/commands/task.js +0 -675
- package/dist/src/commands/transfer-store.d.ts +0 -13
- package/dist/src/commands/transfer-store.js +0 -428
- package/dist/src/commands/update.d.ts +0 -8
- package/dist/src/commands/update.js +0 -276
- package/dist/src/commands/verify.d.ts +0 -19
- package/dist/src/commands/verify.js +0 -261
- package/dist/src/commands/version.d.ts +0 -42
- package/dist/src/commands/version.js +0 -106
- package/dist/src/commands/workflow.d.ts +0 -8
- package/dist/src/commands/workflow.js +0 -617
- package/dist/src/config/harness-feedback-applier.d.ts +0 -50
- package/dist/src/config/harness-feedback-applier.js +0 -122
- package/dist/src/config/proven-config-refresh.d.ts +0 -39
- package/dist/src/config/proven-config-refresh.js +0 -154
- package/dist/src/config/proven-config-rvfa.d.ts +0 -23
- package/dist/src/config/proven-config-rvfa.js +0 -73
- package/dist/src/config/proven-config.d.ts +0 -86
- package/dist/src/config/proven-config.js +0 -176
- package/dist/src/config-adapter.d.ts +0 -15
- package/dist/src/config-adapter.js +0 -186
- package/dist/src/encryption/vault.d.ts +0 -94
- package/dist/src/encryption/vault.js +0 -172
- package/dist/src/fs-secure.d.ts +0 -86
- package/dist/src/fs-secure.js +0 -133
- package/dist/src/funnel/advisor-tip.d.ts +0 -58
- package/dist/src/funnel/advisor-tip.js +0 -92
- package/dist/src/funnel/attribution.d.ts +0 -37
- package/dist/src/funnel/attribution.js +0 -101
- package/dist/src/funnel/consent.d.ts +0 -22
- package/dist/src/funnel/consent.js +0 -58
- package/dist/src/funnel/credit-errors.d.ts +0 -31
- package/dist/src/funnel/credit-errors.js +0 -88
- package/dist/src/funnel/credit-notifier.d.ts +0 -44
- package/dist/src/funnel/credit-notifier.js +0 -74
- package/dist/src/funnel/disclosure.d.ts +0 -47
- package/dist/src/funnel/disclosure.js +0 -109
- package/dist/src/funnel/enrollment.d.ts +0 -36
- package/dist/src/funnel/enrollment.js +0 -64
- package/dist/src/funnel/environment.d.ts +0 -17
- package/dist/src/funnel/environment.js +0 -39
- package/dist/src/funnel/event-transport.d.ts +0 -51
- package/dist/src/funnel/event-transport.js +0 -199
- package/dist/src/funnel/events.d.ts +0 -42
- package/dist/src/funnel/events.js +0 -150
- package/dist/src/funnel/index.d.ts +0 -21
- package/dist/src/funnel/index.js +0 -21
- package/dist/src/funnel/insights.d.ts +0 -49
- package/dist/src/funnel/insights.js +0 -120
- package/dist/src/funnel/local-signals.d.ts +0 -15
- package/dist/src/funnel/local-signals.js +0 -68
- package/dist/src/funnel/message-transport.d.ts +0 -51
- package/dist/src/funnel/message-transport.js +0 -149
- package/dist/src/funnel/messages.d.ts +0 -55
- package/dist/src/funnel/messages.js +0 -160
- package/dist/src/funnel/payout.d.ts +0 -40
- package/dist/src/funnel/payout.js +0 -60
- package/dist/src/funnel/power-saver-notifier.d.ts +0 -44
- package/dist/src/funnel/power-saver-notifier.js +0 -92
- package/dist/src/funnel/precedence.d.ts +0 -16
- package/dist/src/funnel/precedence.js +0 -85
- package/dist/src/funnel/promo.d.ts +0 -41
- package/dist/src/funnel/promo.js +0 -144
- package/dist/src/funnel/rate-limit-notifier.d.ts +0 -55
- package/dist/src/funnel/rate-limit-notifier.js +0 -102
- package/dist/src/funnel/rotation.d.ts +0 -19
- package/dist/src/funnel/rotation.js +0 -70
- package/dist/src/funnel/state.d.ts +0 -13
- package/dist/src/funnel/state.js +0 -52
- package/dist/src/funnel/toggle-cooldown.d.ts +0 -17
- package/dist/src/funnel/toggle-cooldown.js +0 -32
- package/dist/src/funnel/types.d.ts +0 -98
- package/dist/src/funnel/types.js +0 -26
- package/dist/src/index.d.ts +0 -81
- package/dist/src/index.js +0 -609
- package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
- package/dist/src/infrastructure/in-memory-repositories.js +0 -264
- package/dist/src/init/claudemd-generator.d.ts +0 -16
- package/dist/src/init/claudemd-generator.js +0 -368
- package/dist/src/init/executor.d.ts +0 -41
- package/dist/src/init/executor.js +0 -2142
- package/dist/src/init/helper-refresh.d.ts +0 -79
- package/dist/src/init/helper-refresh.js +0 -347
- package/dist/src/init/helper-signing.d.ts +0 -37
- package/dist/src/init/helper-signing.js +0 -67
- package/dist/src/init/helpers-generator.d.ts +0 -87
- package/dist/src/init/helpers-generator.js +0 -1456
- package/dist/src/init/index.d.ts +0 -13
- package/dist/src/init/index.js +0 -15
- package/dist/src/init/mcp-generator.d.ts +0 -26
- package/dist/src/init/mcp-generator.js +0 -126
- package/dist/src/init/memory-package-resolver.d.ts +0 -53
- package/dist/src/init/memory-package-resolver.js +0 -118
- package/dist/src/init/settings-generator.d.ts +0 -14
- package/dist/src/init/settings-generator.js +0 -462
- package/dist/src/init/statusline-generator.d.ts +0 -28
- package/dist/src/init/statusline-generator.js +0 -177
- package/dist/src/init/types.d.ts +0 -331
- package/dist/src/init/types.js +0 -276
- package/dist/src/log-filters.d.ts +0 -46
- package/dist/src/log-filters.js +0 -107
- package/dist/src/mcp-client.d.ts +0 -92
- package/dist/src/mcp-client.js +0 -397
- package/dist/src/mcp-server.d.ts +0 -163
- package/dist/src/mcp-server.js +0 -751
- package/dist/src/mcp-tools/agent-execute-core.d.ts +0 -115
- package/dist/src/mcp-tools/agent-execute-core.js +0 -587
- package/dist/src/mcp-tools/agent-tools.d.ts +0 -9
- package/dist/src/mcp-tools/agent-tools.js +0 -837
- package/dist/src/mcp-tools/agentbbs-tools.d.ts +0 -28
- package/dist/src/mcp-tools/agentbbs-tools.js +0 -394
- package/dist/src/mcp-tools/agentdb-tools.d.ts +0 -35
- package/dist/src/mcp-tools/agentdb-tools.js +0 -1473
- package/dist/src/mcp-tools/agenticow-loader.d.ts +0 -59
- package/dist/src/mcp-tools/agenticow-loader.js +0 -105
- package/dist/src/mcp-tools/agenticow-speculate-tools.d.ts +0 -24
- package/dist/src/mcp-tools/agenticow-speculate-tools.js +0 -209
- package/dist/src/mcp-tools/agenticow-tools.d.ts +0 -36
- package/dist/src/mcp-tools/agenticow-tools.js +0 -360
- package/dist/src/mcp-tools/analyze-tools.d.ts +0 -38
- package/dist/src/mcp-tools/analyze-tools.js +0 -346
- package/dist/src/mcp-tools/auto-install.d.ts +0 -83
- package/dist/src/mcp-tools/auto-install.js +0 -131
- package/dist/src/mcp-tools/autopilot-tools.d.ts +0 -12
- package/dist/src/mcp-tools/autopilot-tools.js +0 -231
- package/dist/src/mcp-tools/browser-intent-tools.d.ts +0 -162
- package/dist/src/mcp-tools/browser-intent-tools.js +0 -548
- package/dist/src/mcp-tools/browser-session-tools.d.ts +0 -27
- package/dist/src/mcp-tools/browser-session-tools.js +0 -398
- package/dist/src/mcp-tools/browser-tools.d.ts +0 -21
- package/dist/src/mcp-tools/browser-tools.js +0 -760
- package/dist/src/mcp-tools/business-pod-tools.d.ts +0 -20
- package/dist/src/mcp-tools/business-pod-tools.js +0 -169
- package/dist/src/mcp-tools/claims-tools.d.ts +0 -12
- package/dist/src/mcp-tools/claims-tools.js +0 -863
- package/dist/src/mcp-tools/config-tools.d.ts +0 -8
- package/dist/src/mcp-tools/config-tools.js +0 -411
- package/dist/src/mcp-tools/coordination-tools.d.ts +0 -13
- package/dist/src/mcp-tools/coordination-tools.js +0 -729
- package/dist/src/mcp-tools/daa-tools.d.ts +0 -13
- package/dist/src/mcp-tools/daa-tools.js +0 -534
- package/dist/src/mcp-tools/embeddings-tools.d.ts +0 -9
- package/dist/src/mcp-tools/embeddings-tools.js +0 -904
- package/dist/src/mcp-tools/github-tools.d.ts +0 -9
- package/dist/src/mcp-tools/github-tools.js +0 -659
- package/dist/src/mcp-tools/guidance-tools.d.ts +0 -15
- package/dist/src/mcp-tools/guidance-tools.js +0 -639
- package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -8
- package/dist/src/mcp-tools/hive-mind-tools.js +0 -953
- package/dist/src/mcp-tools/hooks-tools.d.ts +0 -65
- package/dist/src/mcp-tools/hooks-tools.js +0 -4824
- package/dist/src/mcp-tools/http-fetch-tools.d.ts +0 -55
- package/dist/src/mcp-tools/http-fetch-tools.js +0 -329
- package/dist/src/mcp-tools/index.d.ts +0 -34
- package/dist/src/mcp-tools/index.js +0 -40
- package/dist/src/mcp-tools/managed-agent-tools.d.ts +0 -22
- package/dist/src/mcp-tools/managed-agent-tools.js +0 -357
- package/dist/src/mcp-tools/memory-tools.d.ts +0 -14
- package/dist/src/mcp-tools/memory-tools.js +0 -1330
- package/dist/src/mcp-tools/metaharness-tools.d.ts +0 -51
- package/dist/src/mcp-tools/metaharness-tools.js +0 -684
- package/dist/src/mcp-tools/neural-tools.d.ts +0 -54
- package/dist/src/mcp-tools/neural-tools.js +0 -1168
- package/dist/src/mcp-tools/performance-tools.d.ts +0 -16
- package/dist/src/mcp-tools/performance-tools.js +0 -675
- package/dist/src/mcp-tools/progress-tools.d.ts +0 -14
- package/dist/src/mcp-tools/progress-tools.js +0 -348
- package/dist/src/mcp-tools/request-tracker.d.ts +0 -17
- package/dist/src/mcp-tools/request-tracker.js +0 -27
- package/dist/src/mcp-tools/ruvllm-tools.d.ts +0 -9
- package/dist/src/mcp-tools/ruvllm-tools.js +0 -355
- package/dist/src/mcp-tools/security-tools.d.ts +0 -18
- package/dist/src/mcp-tools/security-tools.js +0 -556
- package/dist/src/mcp-tools/session-tools.d.ts +0 -8
- package/dist/src/mcp-tools/session-tools.js +0 -517
- package/dist/src/mcp-tools/swarm-tools.d.ts +0 -37
- package/dist/src/mcp-tools/swarm-tools.js +0 -390
- package/dist/src/mcp-tools/system-tools.d.ts +0 -13
- package/dist/src/mcp-tools/system-tools.js +0 -688
- package/dist/src/mcp-tools/task-tools.d.ts +0 -8
- package/dist/src/mcp-tools/task-tools.js +0 -487
- package/dist/src/mcp-tools/terminal-tools.d.ts +0 -8
- package/dist/src/mcp-tools/terminal-tools.js +0 -306
- package/dist/src/mcp-tools/testgen-tools.d.ts +0 -26
- package/dist/src/mcp-tools/testgen-tools.js +0 -168
- package/dist/src/mcp-tools/tool-loop-guardrail.d.ts +0 -31
- package/dist/src/mcp-tools/tool-loop-guardrail.js +0 -71
- package/dist/src/mcp-tools/transfer-tools.d.ts +0 -14
- package/dist/src/mcp-tools/transfer-tools.js +0 -447
- package/dist/src/mcp-tools/types.d.ts +0 -8
- package/dist/src/mcp-tools/types.js +0 -8
- package/dist/src/mcp-tools/validate-input.d.ts +0 -9
- package/dist/src/mcp-tools/validate-input.js +0 -9
- package/dist/src/mcp-tools/wasm-agent-tools.d.ts +0 -13
- package/dist/src/mcp-tools/wasm-agent-tools.js +0 -840
- package/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
- package/dist/src/mcp-tools/workflow-tools.js +0 -884
- package/dist/src/memory/bge-embedder.d.ts +0 -25
- package/dist/src/memory/bge-embedder.js +0 -121
- package/dist/src/memory/cross-encoder-rerank.d.ts +0 -33
- package/dist/src/memory/cross-encoder-rerank.js +0 -123
- package/dist/src/memory/embedding-policy.d.ts +0 -21
- package/dist/src/memory/embedding-policy.js +0 -30
- package/dist/src/memory/embedding-quantization.d.ts +0 -62
- package/dist/src/memory/embedding-quantization.js +0 -156
- package/dist/src/memory/ewc-consolidation.d.ts +0 -305
- package/dist/src/memory/ewc-consolidation.js +0 -611
- package/dist/src/memory/graph-edge-writer.d.ts +0 -95
- package/dist/src/memory/graph-edge-writer.js +0 -217
- package/dist/src/memory/hybrid-retrieval.d.ts +0 -77
- package/dist/src/memory/hybrid-retrieval.js +0 -192
- package/dist/src/memory/intelligence.d.ts +0 -405
- package/dist/src/memory/intelligence.js +0 -1316
- package/dist/src/memory/lucene-bm25.d.ts +0 -19
- package/dist/src/memory/lucene-bm25.js +0 -308
- package/dist/src/memory/memory-bridge.d.ts +0 -537
- package/dist/src/memory/memory-bridge.js +0 -2460
- package/dist/src/memory/memory-initializer.d.ts +0 -556
- package/dist/src/memory/memory-initializer.js +0 -3021
- package/dist/src/memory/neural-package-bridge.d.ts +0 -48
- package/dist/src/memory/neural-package-bridge.js +0 -87
- package/dist/src/memory/rabitq-index.d.ts +0 -60
- package/dist/src/memory/rabitq-index.js +0 -242
- package/dist/src/memory/sona-optimizer.d.ts +0 -267
- package/dist/src/memory/sona-optimizer.js +0 -779
- package/dist/src/memory/structured-distill.d.ts +0 -48
- package/dist/src/memory/structured-distill.js +0 -125
- package/dist/src/output.d.ts +0 -9
- package/dist/src/output.js +0 -9
- package/dist/src/parser.d.ts +0 -89
- package/dist/src/parser.js +0 -516
- package/dist/src/plugins/manager.d.ts +0 -133
- package/dist/src/plugins/manager.js +0 -415
- package/dist/src/plugins/store/discovery.d.ts +0 -99
- package/dist/src/plugins/store/discovery.js +0 -1224
- package/dist/src/plugins/store/index.d.ts +0 -76
- package/dist/src/plugins/store/index.js +0 -141
- package/dist/src/plugins/store/search.d.ts +0 -46
- package/dist/src/plugins/store/search.js +0 -230
- package/dist/src/plugins/store/types.d.ts +0 -279
- package/dist/src/plugins/store/types.js +0 -7
- package/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
- package/dist/src/plugins/tests/demo-plugin-store.js +0 -126
- package/dist/src/plugins/tests/standalone-test.d.ts +0 -12
- package/dist/src/plugins/tests/standalone-test.js +0 -188
- package/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
- package/dist/src/plugins/tests/test-plugin-store.js +0 -206
- package/dist/src/production/circuit-breaker.d.ts +0 -101
- package/dist/src/production/circuit-breaker.js +0 -241
- package/dist/src/production/error-handler.d.ts +0 -92
- package/dist/src/production/error-handler.js +0 -299
- package/dist/src/production/index.d.ts +0 -23
- package/dist/src/production/index.js +0 -18
- package/dist/src/production/monitoring.d.ts +0 -161
- package/dist/src/production/monitoring.js +0 -356
- package/dist/src/production/rate-limiter.d.ts +0 -80
- package/dist/src/production/rate-limiter.js +0 -201
- package/dist/src/production/retry.d.ts +0 -48
- package/dist/src/production/retry.js +0 -179
- package/dist/src/prompt.d.ts +0 -44
- package/dist/src/prompt.js +0 -501
- package/dist/src/runtime/headless.d.ts +0 -60
- package/dist/src/runtime/headless.js +0 -284
- package/dist/src/runtime/parent-death-watchdog.d.ts +0 -42
- package/dist/src/runtime/parent-death-watchdog.js +0 -70
- package/dist/src/ruvector/agent-wasm.d.ts +0 -228
- package/dist/src/ruvector/agent-wasm.js +0 -463
- package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
- package/dist/src/ruvector/ast-analyzer.js +0 -277
- package/dist/src/ruvector/codemods/engine.d.ts +0 -45
- package/dist/src/ruvector/codemods/engine.js +0 -291
- package/dist/src/ruvector/codemods/scope-analysis.d.ts +0 -29
- package/dist/src/ruvector/codemods/scope-analysis.js +0 -162
- package/dist/src/ruvector/coverage-router.d.ts +0 -160
- package/dist/src/ruvector/coverage-router.js +0 -531
- package/dist/src/ruvector/coverage-tools.d.ts +0 -33
- package/dist/src/ruvector/coverage-tools.js +0 -157
- package/dist/src/ruvector/diff-classifier.d.ts +0 -175
- package/dist/src/ruvector/diff-classifier.js +0 -699
- package/dist/src/ruvector/diskann-backend.d.ts +0 -78
- package/dist/src/ruvector/diskann-backend.js +0 -310
- package/dist/src/ruvector/enhanced-model-router.d.ts +0 -172
- package/dist/src/ruvector/enhanced-model-router.js +0 -577
- package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
- package/dist/src/ruvector/graph-analyzer.js +0 -929
- package/dist/src/ruvector/graph-backend.d.ts +0 -79
- package/dist/src/ruvector/graph-backend.js +0 -220
- package/dist/src/ruvector/index.d.ts +0 -38
- package/dist/src/ruvector/index.js +0 -86
- package/dist/src/ruvector/lora-adapter.d.ts +0 -292
- package/dist/src/ruvector/lora-adapter.js +0 -710
- package/dist/src/ruvector/model-prices.d.ts +0 -50
- package/dist/src/ruvector/model-prices.js +0 -72
- package/dist/src/ruvector/model-router.d.ts +0 -408
- package/dist/src/ruvector/model-router.js +0 -1162
- package/dist/src/ruvector/neural-router.d.ts +0 -182
- package/dist/src/ruvector/neural-router.js +0 -825
- package/dist/src/ruvector/output-verifier.d.ts +0 -83
- package/dist/src/ruvector/output-verifier.js +0 -277
- package/dist/src/ruvector/q-learning-router.d.ts +0 -227
- package/dist/src/ruvector/q-learning-router.js +0 -721
- package/dist/src/ruvector/router-calibrator.d.ts +0 -65
- package/dist/src/ruvector/router-calibrator.js +0 -120
- package/dist/src/ruvector/router-parallel-recorder.d.ts +0 -127
- package/dist/src/ruvector/router-parallel-recorder.js +0 -183
- package/dist/src/ruvector/router-trajectory.d.ts +0 -194
- package/dist/src/ruvector/router-trajectory.js +0 -281
- package/dist/src/ruvector/run-transcript-recorder.d.ts +0 -154
- package/dist/src/ruvector/run-transcript-recorder.js +0 -209
- package/dist/src/ruvector/ruvllm-wasm.d.ts +0 -179
- package/dist/src/ruvector/ruvllm-wasm.js +0 -379
- package/dist/src/ruvector/semantic-router.d.ts +0 -77
- package/dist/src/ruvector/semantic-router.js +0 -178
- package/dist/src/ruvector/task-embedder.d.ts +0 -56
- package/dist/src/ruvector/task-embedder.js +0 -237
- package/dist/src/ruvector/trajectory-tree.d.ts +0 -113
- package/dist/src/ruvector/trajectory-tree.js +0 -237
- package/dist/src/ruvector/vector-db.d.ts +0 -73
- package/dist/src/ruvector/vector-db.js +0 -301
- package/dist/src/ruvector/wasm-embedder.d.ts +0 -13
- package/dist/src/ruvector/wasm-embedder.js +0 -143
- package/dist/src/services/agentic-flow-bridge.d.ts +0 -50
- package/dist/src/services/agentic-flow-bridge.js +0 -95
- package/dist/src/services/ai-job-dedup.d.ts +0 -61
- package/dist/src/services/ai-job-dedup.js +0 -136
- package/dist/src/services/checkpoint-gate.d.ts +0 -140
- package/dist/src/services/checkpoint-gate.js +0 -223
- package/dist/src/services/claim-service.d.ts +0 -204
- package/dist/src/services/claim-service.js +0 -818
- package/dist/src/services/config-file-manager.d.ts +0 -37
- package/dist/src/services/config-file-manager.js +0 -224
- package/dist/src/services/container-worker-pool.d.ts +0 -204
- package/dist/src/services/container-worker-pool.js +0 -589
- package/dist/src/services/daemon-autostart.d.ts +0 -17
- package/dist/src/services/daemon-autostart.js +0 -102
- package/dist/src/services/distill-oracle.d.ts +0 -190
- package/dist/src/services/distill-oracle.js +0 -349
- package/dist/src/services/distill-tuning.d.ts +0 -111
- package/dist/src/services/distill-tuning.js +0 -510
- package/dist/src/services/evolve-proof.d.ts +0 -253
- package/dist/src/services/evolve-proof.js +0 -343
- package/dist/src/services/fable-harness.d.ts +0 -207
- package/dist/src/services/fable-harness.js +0 -388
- package/dist/src/services/git-workspace-identity.d.ts +0 -42
- package/dist/src/services/git-workspace-identity.js +0 -99
- package/dist/src/services/global-ai-budget.d.ts +0 -135
- package/dist/src/services/global-ai-budget.js +0 -415
- package/dist/src/services/harness-benchmark.d.ts +0 -68
- package/dist/src/services/harness-benchmark.js +0 -94
- package/dist/src/services/harness-canary.d.ts +0 -60
- package/dist/src/services/harness-canary.js +0 -69
- package/dist/src/services/harness-corpus-harvester.d.ts +0 -51
- package/dist/src/services/harness-corpus-harvester.js +0 -74
- package/dist/src/services/harness-flywheel-generations.d.ts +0 -115
- package/dist/src/services/harness-flywheel-generations.js +0 -360
- package/dist/src/services/harness-flywheel-runtime.d.ts +0 -25
- package/dist/src/services/harness-flywheel-runtime.js +0 -92
- package/dist/src/services/harness-flywheel.d.ts +0 -48
- package/dist/src/services/harness-flywheel.js +0 -207
- package/dist/src/services/harness-frozen-eval.d.ts +0 -22
- package/dist/src/services/harness-frozen-eval.js +0 -66
- package/dist/src/services/harness-hosts.d.ts +0 -40
- package/dist/src/services/harness-hosts.js +0 -88
- package/dist/src/services/harness-improvement-ledger.d.ts +0 -63
- package/dist/src/services/harness-improvement-ledger.js +0 -101
- package/dist/src/services/harness-loop.d.ts +0 -53
- package/dist/src/services/harness-loop.js +0 -85
- package/dist/src/services/harness-qualification.d.ts +0 -66
- package/dist/src/services/harness-qualification.js +0 -143
- package/dist/src/services/harness-replay.d.ts +0 -37
- package/dist/src/services/harness-replay.js +0 -92
- package/dist/src/services/harness-verify.d.ts +0 -33
- package/dist/src/services/harness-verify.js +0 -26
- package/dist/src/services/harness-worker.d.ts +0 -23
- package/dist/src/services/harness-worker.js +0 -66
- package/dist/src/services/headless-worker-executor.d.ts +0 -358
- package/dist/src/services/headless-worker-executor.js +0 -1269
- package/dist/src/services/index.d.ts +0 -13
- package/dist/src/services/index.js +0 -11
- package/dist/src/services/memory-backup.d.ts +0 -53
- package/dist/src/services/memory-backup.js +0 -198
- package/dist/src/services/memory-distillation.d.ts +0 -41
- package/dist/src/services/memory-distillation.js +0 -277
- package/dist/src/services/native-training.d.ts +0 -68
- package/dist/src/services/native-training.js +0 -141
- package/dist/src/services/registry-api.d.ts +0 -58
- package/dist/src/services/registry-api.js +0 -146
- package/dist/src/services/repo-supervisor.d.ts +0 -70
- package/dist/src/services/repo-supervisor.js +0 -228
- package/dist/src/services/ruvector-training.d.ts +0 -222
- package/dist/src/services/ruvector-training.js +0 -693
- package/dist/src/services/swarm-memory-branches.d.ts +0 -135
- package/dist/src/services/swarm-memory-branches.js +0 -213
- package/dist/src/services/weight-eft.d.ts +0 -305
- package/dist/src/services/weight-eft.js +0 -296
- package/dist/src/services/worker-daemon.d.ts +0 -439
- package/dist/src/services/worker-daemon.js +0 -1865
- package/dist/src/services/worker-queue.d.ts +0 -194
- package/dist/src/services/worker-queue.js +0 -513
- package/dist/src/services/workspace-lease.d.ts +0 -55
- package/dist/src/services/workspace-lease.js +0 -191
- package/dist/src/suggest.d.ts +0 -53
- package/dist/src/suggest.js +0 -200
- package/dist/src/transfer/anonymization/index.d.ts +0 -25
- package/dist/src/transfer/anonymization/index.js +0 -175
- package/dist/src/transfer/deploy-seraphine.d.ts +0 -13
- package/dist/src/transfer/deploy-seraphine.js +0 -205
- package/dist/src/transfer/export.d.ts +0 -25
- package/dist/src/transfer/export.js +0 -113
- package/dist/src/transfer/index.d.ts +0 -12
- package/dist/src/transfer/index.js +0 -31
- package/dist/src/transfer/ipfs/client.d.ts +0 -109
- package/dist/src/transfer/ipfs/client.js +0 -307
- package/dist/src/transfer/ipfs/upload.d.ts +0 -95
- package/dist/src/transfer/ipfs/upload.js +0 -413
- package/dist/src/transfer/models/seraphine.d.ts +0 -72
- package/dist/src/transfer/models/seraphine.js +0 -373
- package/dist/src/transfer/serialization/cfp.d.ts +0 -49
- package/dist/src/transfer/serialization/cfp.js +0 -183
- package/dist/src/transfer/storage/gcs.d.ts +0 -82
- package/dist/src/transfer/storage/gcs.js +0 -272
- package/dist/src/transfer/storage/index.d.ts +0 -6
- package/dist/src/transfer/storage/index.js +0 -6
- package/dist/src/transfer/store/discovery.d.ts +0 -84
- package/dist/src/transfer/store/discovery.js +0 -382
- package/dist/src/transfer/store/download.d.ts +0 -70
- package/dist/src/transfer/store/download.js +0 -334
- package/dist/src/transfer/store/index.d.ts +0 -84
- package/dist/src/transfer/store/index.js +0 -153
- package/dist/src/transfer/store/publish.d.ts +0 -76
- package/dist/src/transfer/store/publish.js +0 -294
- package/dist/src/transfer/store/registry.d.ts +0 -58
- package/dist/src/transfer/store/registry.js +0 -285
- package/dist/src/transfer/store/search.d.ts +0 -54
- package/dist/src/transfer/store/search.js +0 -232
- package/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
- package/dist/src/transfer/store/tests/standalone-test.js +0 -190
- package/dist/src/transfer/store/types.d.ts +0 -193
- package/dist/src/transfer/store/types.js +0 -6
- package/dist/src/transfer/test-seraphine.d.ts +0 -6
- package/dist/src/transfer/test-seraphine.js +0 -105
- package/dist/src/transfer/tests/test-store.d.ts +0 -7
- package/dist/src/transfer/tests/test-store.js +0 -214
- package/dist/src/transfer/types.d.ts +0 -245
- package/dist/src/transfer/types.js +0 -6
- package/dist/src/types.d.ts +0 -13
- package/dist/src/types.js +0 -13
- package/dist/src/update/checker.d.ts +0 -34
- package/dist/src/update/checker.js +0 -191
- package/dist/src/update/executor.d.ts +0 -33
- package/dist/src/update/executor.js +0 -217
- package/dist/src/update/index.d.ts +0 -33
- package/dist/src/update/index.js +0 -64
- package/dist/src/update/rate-limiter.d.ts +0 -20
- package/dist/src/update/rate-limiter.js +0 -96
- package/dist/src/update/validator.d.ts +0 -17
- package/dist/src/update/validator.js +0 -123
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Graph Edge Writer — ADR-130 Phase 1
|
|
3
|
-
*
|
|
4
|
-
* Provides a minimal interface for inserting rows into the graph_edges
|
|
5
|
-
* SQLite table defined by MEMORY_SCHEMA_V3.
|
|
6
|
-
*
|
|
7
|
-
* #2431 fix (2026-06-22) — replaces the prior sql.js implementation. The
|
|
8
|
-
* prior version opened sql.js, performed in-memory updates, then called
|
|
9
|
-
* `fs.writeFileSync(dbPath, db.export())` after every edge insert. This
|
|
10
|
-
* whole-file flush overwrote the main `memory.db` while the better-sqlite3
|
|
11
|
-
* bridge was actively writing through its WAL — exactly the dual-write
|
|
12
|
-
* race that ADR-068 (#1257) removed. Symptom: PRAGMA integrity_check
|
|
13
|
-
* reports `database disk image is malformed (11)` after a single
|
|
14
|
-
* memory_store + causal-edge sequence.
|
|
15
|
-
*
|
|
16
|
-
* Fix posture: use better-sqlite3 directly (the same native engine the
|
|
17
|
-
* memory bridge uses). WAL-native, no whole-file fsync, no race. Keeps
|
|
18
|
-
* the public API surface identical so callers don't have to change.
|
|
19
|
-
*
|
|
20
|
-
* Note: this is the minimum-safe fix. The architecturally cleaner fix
|
|
21
|
-
* (route writes through the bridge's controller layer) is scoped to a
|
|
22
|
-
* future ADR — see #2431 for the discussion. Until that ADR lands, this
|
|
23
|
-
* module owns its own better-sqlite3 handle but on the same file, with
|
|
24
|
-
* WAL mode enabled (which makes concurrent writers safe by SQLite's own
|
|
25
|
-
* design — no overlapping fsync).
|
|
26
|
-
*
|
|
27
|
-
* The module is designed for fire-and-forget callers — every public
|
|
28
|
-
* function suppresses errors internally so callers never need try/catch.
|
|
29
|
-
*
|
|
30
|
-
* @module v3/cli/memory/graph-edge-writer
|
|
31
|
-
*/
|
|
32
|
-
import * as path from 'path';
|
|
33
|
-
import * as fs from 'fs';
|
|
34
|
-
import * as crypto from 'crypto';
|
|
35
|
-
import { getMemoryRoot } from './memory-initializer.js';
|
|
36
|
-
import { encodeEmbedding } from './embedding-quantization.js';
|
|
37
|
-
// ============================================================================
|
|
38
|
-
// Lazy-cached better-sqlite3 db handle
|
|
39
|
-
// ============================================================================
|
|
40
|
-
let _db = null;
|
|
41
|
-
let _dbPath = '';
|
|
42
|
-
let _dbInitializing = false;
|
|
43
|
-
/**
|
|
44
|
-
* Return the better-sqlite3 Database instance for graph_edges writes.
|
|
45
|
-
* Creates the graph_edges table if it is absent (idempotent).
|
|
46
|
-
* Returns null if better-sqlite3 is not available or db cannot be opened.
|
|
47
|
-
*
|
|
48
|
-
* #2246 fix: `createIfMissing` (default false for back-compat) — when true,
|
|
49
|
-
* lazily creates an empty memory.db with the graph_edges schema so
|
|
50
|
-
* graph-pathfinder works on fresh environments before any memory writes.
|
|
51
|
-
*
|
|
52
|
-
* #2431 fix: better-sqlite3 + WAL mode replaces sql.js + whole-file
|
|
53
|
-
* writeFileSync. Eliminates the dual-write race that corrupted memory.db
|
|
54
|
-
* when called alongside the memory bridge's better-sqlite3 writer.
|
|
55
|
-
*/
|
|
56
|
-
export async function getBridgeDb(customDbPath, opts) {
|
|
57
|
-
const dbPath = customDbPath ?? path.join(getMemoryRoot(), 'memory.db');
|
|
58
|
-
const createIfMissing = opts?.createIfMissing === true;
|
|
59
|
-
if (_db && _dbPath === dbPath)
|
|
60
|
-
return _db;
|
|
61
|
-
if (_dbInitializing)
|
|
62
|
-
return null;
|
|
63
|
-
_dbInitializing = true;
|
|
64
|
-
try {
|
|
65
|
-
const dbExists = fs.existsSync(dbPath);
|
|
66
|
-
if (!dbExists && !createIfMissing)
|
|
67
|
-
return null;
|
|
68
|
-
// Ensure parent dir exists for createIfMissing case.
|
|
69
|
-
if (!dbExists && createIfMissing) {
|
|
70
|
-
const dir = path.dirname(dbPath);
|
|
71
|
-
if (!fs.existsSync(dir))
|
|
72
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
73
|
-
}
|
|
74
|
-
// better-sqlite3 may not be available on all platforms (it's a native
|
|
75
|
-
// module, so platform-specific binaries are required). If unavailable,
|
|
76
|
-
// return null and let callers degrade gracefully — same posture as the
|
|
77
|
-
// prior sql.js version when sql.js failed to load.
|
|
78
|
-
//
|
|
79
|
-
// The module name is hidden behind a variable so the TypeScript compiler
|
|
80
|
-
// does not statically resolve and require the `better-sqlite3` types at
|
|
81
|
-
// build time — they would only be installed via optionalDependencies,
|
|
82
|
-
// which CI doesn't always install. This is the standard pattern for
|
|
83
|
-
// runtime-only optional native deps. The actual presence is gated by
|
|
84
|
-
// the try/catch below.
|
|
85
|
-
let BetterSqlite3;
|
|
86
|
-
try {
|
|
87
|
-
const mod = 'better-sqlite3';
|
|
88
|
-
BetterSqlite3 = (await import(mod)).default;
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
const db = new BetterSqlite3(dbPath);
|
|
94
|
-
// WAL mode is the load-bearing piece of the #2431 fix: it lets multiple
|
|
95
|
-
// connections (this module + the memory bridge) write to the same file
|
|
96
|
-
// without overlapping fsyncs corrupting each other. SQLite's WAL is
|
|
97
|
-
// designed for exactly this case.
|
|
98
|
-
db.pragma('journal_mode = WAL');
|
|
99
|
-
db.pragma('synchronous = NORMAL'); // WAL-safe + faster than FULL
|
|
100
|
-
db.pragma('busy_timeout = 5000'); // wait up to 5s on lock contention
|
|
101
|
-
// Ensure graph_edges table exists (in case this is an older DB that
|
|
102
|
-
// predates ADR-130 Phase 1 schema migration).
|
|
103
|
-
db.exec(`
|
|
104
|
-
CREATE TABLE IF NOT EXISTS graph_edges (
|
|
105
|
-
id TEXT PRIMARY KEY,
|
|
106
|
-
source_id TEXT NOT NULL,
|
|
107
|
-
target_id TEXT NOT NULL,
|
|
108
|
-
relation TEXT NOT NULL,
|
|
109
|
-
weight REAL DEFAULT 1.0,
|
|
110
|
-
confidence REAL DEFAULT 1.0,
|
|
111
|
-
decay_rate REAL DEFAULT 0.0,
|
|
112
|
-
last_reinforced TEXT,
|
|
113
|
-
witness_id TEXT,
|
|
114
|
-
embedding_ref TEXT,
|
|
115
|
-
metadata TEXT,
|
|
116
|
-
created_at TEXT NOT NULL
|
|
117
|
-
);
|
|
118
|
-
CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges (source_id);
|
|
119
|
-
CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges (target_id);
|
|
120
|
-
CREATE INDEX IF NOT EXISTS idx_graph_edges_relation ON graph_edges (relation);
|
|
121
|
-
CREATE INDEX IF NOT EXISTS idx_graph_edges_reinforced ON graph_edges (last_reinforced);
|
|
122
|
-
`);
|
|
123
|
-
_db = db;
|
|
124
|
-
_dbPath = dbPath;
|
|
125
|
-
return db;
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
finally {
|
|
131
|
-
_dbInitializing = false;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Insert a single edge into graph_edges.
|
|
136
|
-
* Fire-and-forget — errors are suppressed.
|
|
137
|
-
* Returns true if the write succeeded, false otherwise.
|
|
138
|
-
*
|
|
139
|
-
* #2431 fix: uses better-sqlite3 prepared statements + implicit WAL
|
|
140
|
-
* journal. No `fs.writeFileSync` whole-file flush — the WAL handles
|
|
141
|
-
* durability without overwriting the main file out from under other
|
|
142
|
-
* writers.
|
|
143
|
-
*/
|
|
144
|
-
export async function insertGraphEdge(input) {
|
|
145
|
-
try {
|
|
146
|
-
const db = await getBridgeDb(input.dbPath);
|
|
147
|
-
if (!db)
|
|
148
|
-
return false;
|
|
149
|
-
const id = `edge-${crypto.randomUUID()}`;
|
|
150
|
-
const createdAt = new Date().toISOString();
|
|
151
|
-
let embeddingRef = null;
|
|
152
|
-
if (input.embedding && input.embedding.length > 0) {
|
|
153
|
-
embeddingRef = encodeEmbedding(input.embedding);
|
|
154
|
-
}
|
|
155
|
-
const metaStr = input.metadata ? JSON.stringify(input.metadata) : null;
|
|
156
|
-
db.prepare(`INSERT OR IGNORE INTO graph_edges
|
|
157
|
-
(id, source_id, target_id, relation, weight, confidence, decay_rate,
|
|
158
|
-
last_reinforced, witness_id, embedding_ref, metadata, created_at)
|
|
159
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(id, input.sourceId, input.targetId, input.relation, input.weight ?? 1.0, input.confidence ?? 1.0, input.decayRate ?? 0.0, input.lastReinforced ?? null, input.witnessId ?? null, embeddingRef, metaStr, createdAt);
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
catch {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Query graph_edges by source_id.
|
|
168
|
-
* Returns rows or empty array on error.
|
|
169
|
-
*/
|
|
170
|
-
export async function queryEdgesBySource(sourceId, relation, dbPath) {
|
|
171
|
-
try {
|
|
172
|
-
const db = await getBridgeDb(dbPath);
|
|
173
|
-
if (!db)
|
|
174
|
-
return [];
|
|
175
|
-
const sql = relation
|
|
176
|
-
? `SELECT id, source_id, target_id, relation, weight FROM graph_edges WHERE source_id = ? AND relation = ? LIMIT 1000`
|
|
177
|
-
: `SELECT id, source_id, target_id, relation, weight FROM graph_edges WHERE source_id = ? LIMIT 1000`;
|
|
178
|
-
const args = relation ? [sourceId, relation] : [sourceId];
|
|
179
|
-
return db.prepare(sql).all(...args);
|
|
180
|
-
}
|
|
181
|
-
catch {
|
|
182
|
-
return [];
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Count rows in graph_edges (for test assertions).
|
|
187
|
-
*/
|
|
188
|
-
export async function countGraphEdges(dbPath) {
|
|
189
|
-
try {
|
|
190
|
-
const db = await getBridgeDb(dbPath);
|
|
191
|
-
if (!db)
|
|
192
|
-
return 0;
|
|
193
|
-
const row = db.prepare(`SELECT COUNT(*) AS n FROM graph_edges`).get();
|
|
194
|
-
return row?.n ?? 0;
|
|
195
|
-
}
|
|
196
|
-
catch {
|
|
197
|
-
return 0;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Reset the cached db handle (for tests that need a fresh DB).
|
|
202
|
-
*
|
|
203
|
-
* #2431 fix: also explicitly closes the prior handle so file locks
|
|
204
|
-
* release immediately — better-sqlite3 holds an OS-level file handle
|
|
205
|
-
* which the prior sql.js implementation did not.
|
|
206
|
-
*/
|
|
207
|
-
export function _resetBridgeDb() {
|
|
208
|
-
if (_db) {
|
|
209
|
-
try {
|
|
210
|
-
_db.close();
|
|
211
|
-
}
|
|
212
|
-
catch { /* best-effort */ }
|
|
213
|
-
}
|
|
214
|
-
_db = null;
|
|
215
|
-
_dbPath = '';
|
|
216
|
-
}
|
|
217
|
-
//# sourceMappingURL=graph-edge-writer.js.map
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/** Tokenise text into lowercase content tokens (drops stopwords + length<3). */
|
|
2
|
-
export declare function tokenize(text: string): string[];
|
|
3
|
-
export interface CorpusStats {
|
|
4
|
-
/** docFreq: how many documents contain each token */
|
|
5
|
-
df: Map<string, number>;
|
|
6
|
-
/** idf: log((N - df + 0.5) / (df + 0.5) + 1) — BM25's smoothed IDF */
|
|
7
|
-
idf: Map<string, number>;
|
|
8
|
-
/** averageDocumentLength in tokens */
|
|
9
|
-
avgDocLen: number;
|
|
10
|
-
/** total docs in corpus */
|
|
11
|
-
N: number;
|
|
12
|
-
}
|
|
13
|
-
/** Build BM25 corpus statistics from a set of tokenised documents. */
|
|
14
|
-
export declare function buildCorpusStats(tokenisedDocs: string[][]): CorpusStats;
|
|
15
|
-
/**
|
|
16
|
-
* Type penalty for meta-commits — multiplies the hybrid score by `factor`
|
|
17
|
-
* when the document's name matches the meta-commit regex (release bumps,
|
|
18
|
-
* merge commits, badge updates, etc.). These commits bundle every issue
|
|
19
|
-
* number from a release window and steal top-1 from real work commits.
|
|
20
|
-
*
|
|
21
|
-
* Defaults: factor 0.5, regex covers `chore(release)`, `Merge `, `bump `,
|
|
22
|
-
* `[Dream Cycle]`, `publish 3.x.y`. Tune via env or call site.
|
|
23
|
-
*/
|
|
24
|
-
export declare const META_COMMIT_REGEX: RegExp;
|
|
25
|
-
export declare function typePenalty(name: string | undefined, factor?: number, regex?: RegExp): number;
|
|
26
|
-
/**
|
|
27
|
-
* BM25 score of one document against a query.
|
|
28
|
-
* Standard Okapi formula with k1=1.5 and b=0.75.
|
|
29
|
-
*/
|
|
30
|
-
export declare function bm25Score(queryTokens: string[], docTokens: string[], stats: CorpusStats, k1?: number, b?: number): number;
|
|
31
|
-
/**
|
|
32
|
-
* Min-max normalise a score vector to [0, 1].
|
|
33
|
-
* Returns the original vector if it is constant (avoid divide-by-zero).
|
|
34
|
-
*/
|
|
35
|
-
export declare function normalise(scores: number[]): number[];
|
|
36
|
-
/**
|
|
37
|
-
* Combine cosine and BM25 scores. Both vectors must be aligned by docIndex.
|
|
38
|
-
* Returns hybridScores[] aligned to the same index.
|
|
39
|
-
* alpha controls the cosine weight; (1-alpha) is the BM25 weight.
|
|
40
|
-
*/
|
|
41
|
-
export declare function hybridScores(cosine: number[], bm25: number[], alpha?: number): number[];
|
|
42
|
-
/**
|
|
43
|
-
* Multi-field BM25 score — treats subject and body as separate fields with
|
|
44
|
-
* independent token frequencies, then combines `subjectWeight * subjectBM25
|
|
45
|
-
* + bodyWeight * bodyBM25`. Subject (commit title / pattern name) carries
|
|
46
|
-
* the high-signal tokens (file names, action verbs, ADR refs); body is
|
|
47
|
-
* often boilerplate. Default 3:1 weight reflects that asymmetry.
|
|
48
|
-
*
|
|
49
|
-
* Caller must build separate CorpusStats for subjects and bodies (their
|
|
50
|
-
* IDF distributions differ — subjects are short, bodies long).
|
|
51
|
-
*/
|
|
52
|
-
export declare function multiFieldBM25(queryTokens: string[], subjectTokens: string[], bodyTokens: string[], subjectStats: CorpusStats, bodyStats: CorpusStats, subjectWeight?: number, bodyWeight?: number): number;
|
|
53
|
-
/**
|
|
54
|
-
* Cosine similarity between two equal-length numeric vectors.
|
|
55
|
-
* Returns 0 if either has zero norm.
|
|
56
|
-
*/
|
|
57
|
-
export declare function cosineSim(a: number[], b: number[]): number;
|
|
58
|
-
/**
|
|
59
|
-
* Maximal Marginal Relevance rerank.
|
|
60
|
-
*
|
|
61
|
-
* Greedy selection: at each step pick the candidate that maximises
|
|
62
|
-
* lambda * relevance(c) - (1-lambda) * max(similarity(c, picked))
|
|
63
|
-
*
|
|
64
|
-
* lambda=1.0 → pure relevance (no diversity adjustment)
|
|
65
|
-
* lambda=0.0 → pure diversity
|
|
66
|
-
*
|
|
67
|
-
* Default lambda=0.5 balances both.
|
|
68
|
-
*/
|
|
69
|
-
export declare function mmrRerank<T extends {
|
|
70
|
-
embedding: number[];
|
|
71
|
-
}>(candidates: Array<T & {
|
|
72
|
-
relevance: number;
|
|
73
|
-
}>, k: number, lambda?: number): Array<T & {
|
|
74
|
-
relevance: number;
|
|
75
|
-
mmrScore: number;
|
|
76
|
-
}>;
|
|
77
|
-
//# sourceMappingURL=hybrid-retrieval.d.ts.map
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
// Hybrid retrieval — sparse (BM25) + dense (cosine) + MMR diversity.
|
|
2
|
-
//
|
|
3
|
-
// Why: on small corpora (N<1k) a bi-encoder like all-MiniLM-L6-v2 produces
|
|
4
|
-
// noisy cosine scores — random short commits with low-IDF token overlap can
|
|
5
|
-
// outrank exact-keyword matches. BM25 over the same text recovers the
|
|
6
|
-
// "did the query's content tokens actually appear?" signal. We linearly
|
|
7
|
-
// combine the two on normalised scores, then MMR-rerank to suppress
|
|
8
|
-
// near-duplicate top-K.
|
|
9
|
-
//
|
|
10
|
-
// Pure functions, no external deps. Tested via __tests__/hybrid-retrieval.test.ts
|
|
11
|
-
// and the live A/B in scripts/benchmark-pretrained-retrieval.mjs (HYBRID=0|1).
|
|
12
|
-
const STOPWORDS = new Set([
|
|
13
|
-
'the', 'a', 'an', 'and', 'or', 'but', 'if', 'then', 'else', 'of', 'in', 'to', 'for', 'on', 'at',
|
|
14
|
-
'by', 'with', 'from', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had',
|
|
15
|
-
'do', 'does', 'did', 'will', 'would', 'should', 'could', 'can', 'may', 'might', 'must', 'this',
|
|
16
|
-
'that', 'these', 'those', 'it', 'its', 'as', 'also', 'not', 'no', 'so', 'too', 'very',
|
|
17
|
-
]);
|
|
18
|
-
/** Tokenise text into lowercase content tokens (drops stopwords + length<3). */
|
|
19
|
-
export function tokenize(text) {
|
|
20
|
-
if (!text)
|
|
21
|
-
return [];
|
|
22
|
-
return text
|
|
23
|
-
.toLowerCase()
|
|
24
|
-
.split(/[^a-z0-9_\-/.]+/g)
|
|
25
|
-
.filter((t) => t.length >= 3 && !STOPWORDS.has(t));
|
|
26
|
-
}
|
|
27
|
-
/** Build BM25 corpus statistics from a set of tokenised documents. */
|
|
28
|
-
export function buildCorpusStats(tokenisedDocs) {
|
|
29
|
-
const N = tokenisedDocs.length;
|
|
30
|
-
const df = new Map();
|
|
31
|
-
let totalLen = 0;
|
|
32
|
-
for (const doc of tokenisedDocs) {
|
|
33
|
-
totalLen += doc.length;
|
|
34
|
-
const seen = new Set();
|
|
35
|
-
for (const tok of doc) {
|
|
36
|
-
if (seen.has(tok))
|
|
37
|
-
continue;
|
|
38
|
-
seen.add(tok);
|
|
39
|
-
df.set(tok, (df.get(tok) ?? 0) + 1);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
const idf = new Map();
|
|
43
|
-
for (const [tok, dfVal] of df) {
|
|
44
|
-
// BM25 smoothed IDF — never negative, always > 0
|
|
45
|
-
idf.set(tok, Math.log(1 + (N - dfVal + 0.5) / (dfVal + 0.5)));
|
|
46
|
-
}
|
|
47
|
-
return { df, idf, avgDocLen: N > 0 ? totalLen / N : 0, N };
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Type penalty for meta-commits — multiplies the hybrid score by `factor`
|
|
51
|
-
* when the document's name matches the meta-commit regex (release bumps,
|
|
52
|
-
* merge commits, badge updates, etc.). These commits bundle every issue
|
|
53
|
-
* number from a release window and steal top-1 from real work commits.
|
|
54
|
-
*
|
|
55
|
-
* Defaults: factor 0.5, regex covers `chore(release)`, `Merge `, `bump `,
|
|
56
|
-
* `[Dream Cycle]`, `publish 3.x.y`. Tune via env or call site.
|
|
57
|
-
*/
|
|
58
|
-
export const META_COMMIT_REGEX = /^(chore\(release\)|Merge\s|bump\s|publish\s+\d|\[Dream Cycle\b)/i;
|
|
59
|
-
export function typePenalty(name, factor = 0.5, regex = META_COMMIT_REGEX) {
|
|
60
|
-
if (!name)
|
|
61
|
-
return 1.0;
|
|
62
|
-
return regex.test(name) ? factor : 1.0;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* BM25 score of one document against a query.
|
|
66
|
-
* Standard Okapi formula with k1=1.5 and b=0.75.
|
|
67
|
-
*/
|
|
68
|
-
export function bm25Score(queryTokens, docTokens, stats, k1 = 1.5, b = 0.75) {
|
|
69
|
-
if (queryTokens.length === 0 || docTokens.length === 0)
|
|
70
|
-
return 0;
|
|
71
|
-
// Term frequency in this document
|
|
72
|
-
const tf = new Map();
|
|
73
|
-
for (const tok of docTokens)
|
|
74
|
-
tf.set(tok, (tf.get(tok) ?? 0) + 1);
|
|
75
|
-
const docLen = docTokens.length;
|
|
76
|
-
const norm = docLen / (stats.avgDocLen || 1);
|
|
77
|
-
let score = 0;
|
|
78
|
-
for (const qt of queryTokens) {
|
|
79
|
-
const f = tf.get(qt);
|
|
80
|
-
if (!f)
|
|
81
|
-
continue;
|
|
82
|
-
const idf = stats.idf.get(qt) ?? 0;
|
|
83
|
-
if (idf === 0)
|
|
84
|
-
continue;
|
|
85
|
-
const numerator = f * (k1 + 1);
|
|
86
|
-
const denominator = f + k1 * (1 - b + b * norm);
|
|
87
|
-
score += idf * (numerator / denominator);
|
|
88
|
-
}
|
|
89
|
-
return score;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Min-max normalise a score vector to [0, 1].
|
|
93
|
-
* Returns the original vector if it is constant (avoid divide-by-zero).
|
|
94
|
-
*/
|
|
95
|
-
export function normalise(scores) {
|
|
96
|
-
if (scores.length === 0)
|
|
97
|
-
return scores;
|
|
98
|
-
let lo = Infinity, hi = -Infinity;
|
|
99
|
-
for (const s of scores) {
|
|
100
|
-
if (s < lo)
|
|
101
|
-
lo = s;
|
|
102
|
-
if (s > hi)
|
|
103
|
-
hi = s;
|
|
104
|
-
}
|
|
105
|
-
const range = hi - lo;
|
|
106
|
-
if (range < 1e-9)
|
|
107
|
-
return scores.map(() => 0.5);
|
|
108
|
-
return scores.map((s) => (s - lo) / range);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Combine cosine and BM25 scores. Both vectors must be aligned by docIndex.
|
|
112
|
-
* Returns hybridScores[] aligned to the same index.
|
|
113
|
-
* alpha controls the cosine weight; (1-alpha) is the BM25 weight.
|
|
114
|
-
*/
|
|
115
|
-
export function hybridScores(cosine, bm25, alpha = 0.6) {
|
|
116
|
-
if (cosine.length !== bm25.length) {
|
|
117
|
-
throw new Error('hybridScores: cosine and bm25 length mismatch');
|
|
118
|
-
}
|
|
119
|
-
const cN = normalise(cosine);
|
|
120
|
-
const bN = normalise(bm25);
|
|
121
|
-
return cN.map((c, i) => alpha * c + (1 - alpha) * bN[i]);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Multi-field BM25 score — treats subject and body as separate fields with
|
|
125
|
-
* independent token frequencies, then combines `subjectWeight * subjectBM25
|
|
126
|
-
* + bodyWeight * bodyBM25`. Subject (commit title / pattern name) carries
|
|
127
|
-
* the high-signal tokens (file names, action verbs, ADR refs); body is
|
|
128
|
-
* often boilerplate. Default 3:1 weight reflects that asymmetry.
|
|
129
|
-
*
|
|
130
|
-
* Caller must build separate CorpusStats for subjects and bodies (their
|
|
131
|
-
* IDF distributions differ — subjects are short, bodies long).
|
|
132
|
-
*/
|
|
133
|
-
export function multiFieldBM25(queryTokens, subjectTokens, bodyTokens, subjectStats, bodyStats, subjectWeight = 3.0, bodyWeight = 1.0) {
|
|
134
|
-
const sScore = bm25Score(queryTokens, subjectTokens, subjectStats);
|
|
135
|
-
const bScore = bm25Score(queryTokens, bodyTokens, bodyStats);
|
|
136
|
-
return subjectWeight * sScore + bodyWeight * bScore;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Cosine similarity between two equal-length numeric vectors.
|
|
140
|
-
* Returns 0 if either has zero norm.
|
|
141
|
-
*/
|
|
142
|
-
export function cosineSim(a, b) {
|
|
143
|
-
if (a.length !== b.length)
|
|
144
|
-
return 0;
|
|
145
|
-
let dot = 0, na = 0, nb = 0;
|
|
146
|
-
for (let i = 0; i < a.length; i++) {
|
|
147
|
-
dot += a[i] * b[i];
|
|
148
|
-
na += a[i] * a[i];
|
|
149
|
-
nb += b[i] * b[i];
|
|
150
|
-
}
|
|
151
|
-
const denom = Math.sqrt(na) * Math.sqrt(nb);
|
|
152
|
-
return denom > 1e-9 ? dot / denom : 0;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Maximal Marginal Relevance rerank.
|
|
156
|
-
*
|
|
157
|
-
* Greedy selection: at each step pick the candidate that maximises
|
|
158
|
-
* lambda * relevance(c) - (1-lambda) * max(similarity(c, picked))
|
|
159
|
-
*
|
|
160
|
-
* lambda=1.0 → pure relevance (no diversity adjustment)
|
|
161
|
-
* lambda=0.0 → pure diversity
|
|
162
|
-
*
|
|
163
|
-
* Default lambda=0.5 balances both.
|
|
164
|
-
*/
|
|
165
|
-
export function mmrRerank(candidates, k, lambda = 0.5) {
|
|
166
|
-
if (candidates.length === 0 || k === 0)
|
|
167
|
-
return [];
|
|
168
|
-
const picked = [];
|
|
169
|
-
const remaining = candidates.slice();
|
|
170
|
-
while (picked.length < k && remaining.length > 0) {
|
|
171
|
-
let bestIdx = 0;
|
|
172
|
-
let bestScore = -Infinity;
|
|
173
|
-
for (let i = 0; i < remaining.length; i++) {
|
|
174
|
-
const cand = remaining[i];
|
|
175
|
-
let maxSimToPicked = 0;
|
|
176
|
-
for (const p of picked) {
|
|
177
|
-
const s = cosineSim(cand.embedding, p.embedding);
|
|
178
|
-
if (s > maxSimToPicked)
|
|
179
|
-
maxSimToPicked = s;
|
|
180
|
-
}
|
|
181
|
-
const mmrScore = lambda * cand.relevance - (1 - lambda) * maxSimToPicked;
|
|
182
|
-
if (mmrScore > bestScore) {
|
|
183
|
-
bestScore = mmrScore;
|
|
184
|
-
bestIdx = i;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
const chosen = remaining.splice(bestIdx, 1)[0];
|
|
188
|
-
picked.push({ ...chosen, mmrScore: bestScore });
|
|
189
|
-
}
|
|
190
|
-
return picked;
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=hybrid-retrieval.js.map
|