claude-flow 3.25.6 → 3.26.1
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/hook-handler.cjs +129 -0
- package/.claude/helpers/intelligence.cjs +10 -0
- package/.claude/helpers/statusline.cjs +310 -123
- package/.claude/proven-config.json +1 -1
- package/.claude/security-scans/scan-all-standard.json +321 -0
- package/.claude/security-scans/scan-code-deep.json +1209 -0
- package/.claude/security-scans/scan-deps-full.json +14 -0
- package/package.json +3 -1
- package/v3/@claude-flow/cli/catalog-manifest.json +12 -0
- package/v3/@claude-flow/cli/dist/src/commands/advisor.d.ts +15 -0
- package/v3/@claude-flow/cli/dist/src/commands/advisor.js +94 -0
- package/v3/@claude-flow/cli/dist/src/commands/doctor.js +77 -3
- package/v3/@claude-flow/cli/dist/src/commands/funnel.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/commands/funnel.js +103 -0
- package/v3/@claude-flow/cli/dist/src/commands/hooks.js +112 -46
- package/v3/@claude-flow/cli/dist/src/commands/index.js +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/init.js +44 -0
- package/v3/@claude-flow/cli/dist/src/commands/proxy.d.ts +21 -0
- package/v3/@claude-flow/cli/dist/src/commands/proxy.js +310 -0
- package/v3/@claude-flow/cli/dist/src/commands/security.js +29 -0
- package/v3/@claude-flow/cli/dist/src/commands/settings.d.ts +19 -0
- package/v3/@claude-flow/cli/dist/src/commands/settings.js +180 -0
- package/v3/@claude-flow/cli/dist/src/commands/version.d.ts +42 -0
- package/v3/@claude-flow/cli/dist/src/commands/version.js +106 -0
- package/v3/@claude-flow/cli/dist/src/funnel/advisor-tip.d.ts +58 -0
- package/v3/@claude-flow/cli/dist/src/funnel/advisor-tip.js +92 -0
- package/v3/@claude-flow/cli/dist/src/funnel/attribution.d.ts +37 -0
- package/v3/@claude-flow/cli/dist/src/funnel/attribution.js +101 -0
- package/v3/@claude-flow/cli/dist/src/funnel/consent.d.ts +22 -0
- package/v3/@claude-flow/cli/dist/src/funnel/consent.js +55 -0
- package/v3/@claude-flow/cli/dist/src/funnel/credit-errors.d.ts +31 -0
- package/v3/@claude-flow/cli/dist/src/funnel/credit-errors.js +88 -0
- package/v3/@claude-flow/cli/dist/src/funnel/credit-notifier.d.ts +44 -0
- package/v3/@claude-flow/cli/dist/src/funnel/credit-notifier.js +74 -0
- package/v3/@claude-flow/cli/dist/src/funnel/disclosure.d.ts +46 -0
- package/v3/@claude-flow/cli/dist/src/funnel/disclosure.js +97 -0
- package/v3/@claude-flow/cli/dist/src/funnel/enrollment.d.ts +36 -0
- package/v3/@claude-flow/cli/dist/src/funnel/enrollment.js +64 -0
- package/v3/@claude-flow/cli/dist/src/funnel/environment.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/funnel/environment.js +39 -0
- package/v3/@claude-flow/cli/dist/src/funnel/event-transport.d.ts +51 -0
- package/v3/@claude-flow/cli/dist/src/funnel/event-transport.js +199 -0
- package/v3/@claude-flow/cli/dist/src/funnel/events.d.ts +42 -0
- package/v3/@claude-flow/cli/dist/src/funnel/events.js +150 -0
- package/v3/@claude-flow/cli/dist/src/funnel/index.d.ts +20 -0
- package/v3/@claude-flow/cli/dist/src/funnel/index.js +20 -0
- package/v3/@claude-flow/cli/dist/src/funnel/insights.d.ts +49 -0
- package/v3/@claude-flow/cli/dist/src/funnel/insights.js +120 -0
- package/v3/@claude-flow/cli/dist/src/funnel/local-signals.d.ts +15 -0
- package/v3/@claude-flow/cli/dist/src/funnel/local-signals.js +68 -0
- package/v3/@claude-flow/cli/dist/src/funnel/message-transport.d.ts +51 -0
- package/v3/@claude-flow/cli/dist/src/funnel/message-transport.js +149 -0
- package/v3/@claude-flow/cli/dist/src/funnel/messages.d.ts +55 -0
- package/v3/@claude-flow/cli/dist/src/funnel/messages.js +160 -0
- package/v3/@claude-flow/cli/dist/src/funnel/power-saver-notifier.d.ts +44 -0
- package/v3/@claude-flow/cli/dist/src/funnel/power-saver-notifier.js +92 -0
- package/v3/@claude-flow/cli/dist/src/funnel/precedence.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/funnel/precedence.js +85 -0
- package/v3/@claude-flow/cli/dist/src/funnel/promo.d.ts +41 -0
- package/v3/@claude-flow/cli/dist/src/funnel/promo.js +144 -0
- package/v3/@claude-flow/cli/dist/src/funnel/rate-limit-notifier.d.ts +55 -0
- package/v3/@claude-flow/cli/dist/src/funnel/rate-limit-notifier.js +102 -0
- package/v3/@claude-flow/cli/dist/src/funnel/rotation.d.ts +19 -0
- package/v3/@claude-flow/cli/dist/src/funnel/rotation.js +70 -0
- package/v3/@claude-flow/cli/dist/src/funnel/state.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/funnel/state.js +52 -0
- package/v3/@claude-flow/cli/dist/src/funnel/toggle-cooldown.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/funnel/toggle-cooldown.js +32 -0
- package/v3/@claude-flow/cli/dist/src/funnel/types.d.ts +86 -0
- package/v3/@claude-flow/cli/dist/src/funnel/types.js +26 -0
- package/v3/@claude-flow/cli/dist/src/init/executor.js +9 -3
- package/v3/@claude-flow/cli/dist/src/init/helper-refresh.d.ts +33 -2
- package/v3/@claude-flow/cli/dist/src/init/helper-refresh.js +102 -12
- package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +52 -0
- package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +292 -116
- package/v3/@claude-flow/cli/dist/src/services/daemon-autostart.js +28 -5
- package/v3/@claude-flow/cli/dist/src/services/fable-harness.d.ts +39 -0
- package/v3/@claude-flow/cli/dist/src/services/fable-harness.js +41 -0
- package/v3/@claude-flow/cli/package.json +13 -4
- package/.claude/coordinator/config.json +0 -24
- package/.claude/coordinator/state.json +0 -37
- package/.claude/coordinator/tick-log/tick-01.json +0 -17
- package/.claude/coordinator/tick-log/tick-02.json +0 -17
- package/.claude/coordinator/tick-log/tick-03.json +0 -17
- package/.claude/coordinator/tick-log/tick-04.json +0 -14
- package/.claude/coordinator/tick-log/tick-05.json +0 -16
- package/.claude/settings.local.json +0 -11
- package/v3/@claude-flow/cli/dist/src/ruvector/lattice-wasm.d.ts +0 -14
- package/v3/@claude-flow/cli/dist/src/ruvector/lattice-wasm.js +0 -144
- package/v3/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
- package/v3/@claude-flow/guidance/dist/adversarial.js +0 -572
- package/v3/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
- package/v3/@claude-flow/guidance/dist/analyzer.js +0 -2587
- package/v3/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
- package/v3/@claude-flow/guidance/dist/artifacts.js +0 -356
- package/v3/@claude-flow/guidance/dist/authority.d.ts +0 -290
- package/v3/@claude-flow/guidance/dist/authority.js +0 -558
- package/v3/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
- package/v3/@claude-flow/guidance/dist/capabilities.js +0 -485
- package/v3/@claude-flow/guidance/dist/coherence.d.ts +0 -233
- package/v3/@claude-flow/guidance/dist/coherence.js +0 -372
- package/v3/@claude-flow/guidance/dist/compiler.d.ts +0 -87
- package/v3/@claude-flow/guidance/dist/compiler.js +0 -410
- package/v3/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
- package/v3/@claude-flow/guidance/dist/conformance-kit.js +0 -629
- package/v3/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
- package/v3/@claude-flow/guidance/dist/continue-gate.js +0 -353
- package/v3/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
- package/v3/@claude-flow/guidance/dist/crypto-utils.js +0 -24
- package/v3/@claude-flow/guidance/dist/evolution.d.ts +0 -282
- package/v3/@claude-flow/guidance/dist/evolution.js +0 -500
- package/v3/@claude-flow/guidance/dist/gates.d.ts +0 -79
- package/v3/@claude-flow/guidance/dist/gates.js +0 -302
- package/v3/@claude-flow/guidance/dist/gateway.d.ts +0 -206
- package/v3/@claude-flow/guidance/dist/gateway.js +0 -452
- package/v3/@claude-flow/guidance/dist/generators.d.ts +0 -153
- package/v3/@claude-flow/guidance/dist/generators.js +0 -682
- package/v3/@claude-flow/guidance/dist/headless.d.ts +0 -177
- package/v3/@claude-flow/guidance/dist/headless.js +0 -342
- package/v3/@claude-flow/guidance/dist/hooks.d.ts +0 -109
- package/v3/@claude-flow/guidance/dist/hooks.js +0 -347
- package/v3/@claude-flow/guidance/dist/index.d.ts +0 -205
- package/v3/@claude-flow/guidance/dist/index.js +0 -321
- package/v3/@claude-flow/guidance/dist/ledger.d.ts +0 -162
- package/v3/@claude-flow/guidance/dist/ledger.js +0 -375
- package/v3/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
- package/v3/@claude-flow/guidance/dist/manifest-validator.js +0 -838
- package/v3/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
- package/v3/@claude-flow/guidance/dist/memory-gate.js +0 -382
- package/v3/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
- package/v3/@claude-flow/guidance/dist/meta-governance.js +0 -348
- package/v3/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
- package/v3/@claude-flow/guidance/dist/optimizer.js +0 -329
- package/v3/@claude-flow/guidance/dist/persistence.d.ts +0 -189
- package/v3/@claude-flow/guidance/dist/persistence.js +0 -464
- package/v3/@claude-flow/guidance/dist/proof.d.ts +0 -185
- package/v3/@claude-flow/guidance/dist/proof.js +0 -238
- package/v3/@claude-flow/guidance/dist/retriever.d.ts +0 -172
- package/v3/@claude-flow/guidance/dist/retriever.js +0 -596
- package/v3/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
- package/v3/@claude-flow/guidance/dist/ruvbot-integration.js +0 -738
- package/v3/@claude-flow/guidance/dist/temporal.d.ts +0 -426
- package/v3/@claude-flow/guidance/dist/temporal.js +0 -658
- package/v3/@claude-flow/guidance/dist/trust.d.ts +0 -283
- package/v3/@claude-flow/guidance/dist/trust.js +0 -473
- package/v3/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
- package/v3/@claude-flow/guidance/dist/truth-anchors.js +0 -488
- package/v3/@claude-flow/guidance/dist/types.d.ts +0 -378
- package/v3/@claude-flow/guidance/dist/types.js +0 -10
- package/v3/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
- package/v3/@claude-flow/guidance/dist/uncertainty.js +0 -619
- package/v3/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
- package/v3/@claude-flow/guidance/dist/wasm-kernel.js +0 -158
- package/v3/@claude-flow/shared/dist/core/config/defaults.d.ts +0 -41
- package/v3/@claude-flow/shared/dist/core/config/defaults.js +0 -186
- package/v3/@claude-flow/shared/dist/core/config/index.d.ts +0 -8
- package/v3/@claude-flow/shared/dist/core/config/index.js +0 -12
- package/v3/@claude-flow/shared/dist/core/config/loader.d.ts +0 -45
- package/v3/@claude-flow/shared/dist/core/config/loader.js +0 -238
- package/v3/@claude-flow/shared/dist/core/config/schema.d.ts +0 -1728
- package/v3/@claude-flow/shared/dist/core/config/schema.js +0 -160
- package/v3/@claude-flow/shared/dist/core/config/validator.d.ts +0 -92
- package/v3/@claude-flow/shared/dist/core/config/validator.js +0 -147
- package/v3/@claude-flow/shared/dist/core/event-bus.d.ts +0 -31
- package/v3/@claude-flow/shared/dist/core/event-bus.js +0 -197
- package/v3/@claude-flow/shared/dist/core/index.d.ts +0 -15
- package/v3/@claude-flow/shared/dist/core/index.js +0 -19
- package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +0 -200
- package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.js +0 -6
- package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +0 -310
- package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +0 -7
- package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +0 -224
- package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.js +0 -46
- package/v3/@claude-flow/shared/dist/core/interfaces/index.d.ts +0 -10
- package/v3/@claude-flow/shared/dist/core/interfaces/index.js +0 -15
- package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +0 -298
- package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.js +0 -7
- package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +0 -185
- package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.js +0 -6
- package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +0 -35
- package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +0 -101
- package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +0 -60
- package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +0 -166
- package/v3/@claude-flow/shared/dist/core/orchestrator/index.d.ts +0 -46
- package/v3/@claude-flow/shared/dist/core/orchestrator/index.js +0 -64
- package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +0 -56
- package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +0 -195
- package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +0 -83
- package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.js +0 -193
- package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +0 -49
- package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.js +0 -253
- package/v3/@claude-flow/shared/dist/events/domain-events.d.ts +0 -282
- package/v3/@claude-flow/shared/dist/events/domain-events.js +0 -165
- package/v3/@claude-flow/shared/dist/events/event-store.d.ts +0 -126
- package/v3/@claude-flow/shared/dist/events/event-store.js +0 -427
- package/v3/@claude-flow/shared/dist/events/event-store.test.d.ts +0 -8
- package/v3/@claude-flow/shared/dist/events/event-store.test.js +0 -293
- package/v3/@claude-flow/shared/dist/events/example-usage.d.ts +0 -10
- package/v3/@claude-flow/shared/dist/events/example-usage.js +0 -193
- package/v3/@claude-flow/shared/dist/events/index.d.ts +0 -21
- package/v3/@claude-flow/shared/dist/events/index.js +0 -22
- package/v3/@claude-flow/shared/dist/events/projections.d.ts +0 -177
- package/v3/@claude-flow/shared/dist/events/projections.js +0 -421
- package/v3/@claude-flow/shared/dist/events/rvf-event-log.d.ts +0 -82
- package/v3/@claude-flow/shared/dist/events/rvf-event-log.js +0 -340
- package/v3/@claude-flow/shared/dist/events/state-reconstructor.d.ts +0 -101
- package/v3/@claude-flow/shared/dist/events/state-reconstructor.js +0 -263
- package/v3/@claude-flow/shared/dist/events.d.ts +0 -80
- package/v3/@claude-flow/shared/dist/events.js +0 -249
- package/v3/@claude-flow/shared/dist/hooks/example-usage.d.ts +0 -42
- package/v3/@claude-flow/shared/dist/hooks/example-usage.js +0 -351
- package/v3/@claude-flow/shared/dist/hooks/executor.d.ts +0 -100
- package/v3/@claude-flow/shared/dist/hooks/executor.js +0 -267
- package/v3/@claude-flow/shared/dist/hooks/hooks.test.d.ts +0 -9
- package/v3/@claude-flow/shared/dist/hooks/hooks.test.js +0 -322
- package/v3/@claude-flow/shared/dist/hooks/index.d.ts +0 -52
- package/v3/@claude-flow/shared/dist/hooks/index.js +0 -51
- package/v3/@claude-flow/shared/dist/hooks/registry.d.ts +0 -133
- package/v3/@claude-flow/shared/dist/hooks/registry.js +0 -277
- package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +0 -105
- package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.js +0 -481
- package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +0 -144
- package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.js +0 -328
- package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +0 -158
- package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.js +0 -450
- package/v3/@claude-flow/shared/dist/hooks/safety/index.d.ts +0 -17
- package/v3/@claude-flow/shared/dist/hooks/safety/index.js +0 -17
- package/v3/@claude-flow/shared/dist/hooks/session-hooks.d.ts +0 -234
- package/v3/@claude-flow/shared/dist/hooks/session-hooks.js +0 -334
- package/v3/@claude-flow/shared/dist/hooks/task-hooks.d.ts +0 -163
- package/v3/@claude-flow/shared/dist/hooks/task-hooks.js +0 -326
- package/v3/@claude-flow/shared/dist/hooks/types.d.ts +0 -267
- package/v3/@claude-flow/shared/dist/hooks/types.js +0 -62
- package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +0 -9
- package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.js +0 -93
- package/v3/@claude-flow/shared/dist/index.d.ts +0 -20
- package/v3/@claude-flow/shared/dist/index.js +0 -50
- package/v3/@claude-flow/shared/dist/mcp/connection-pool.d.ts +0 -98
- package/v3/@claude-flow/shared/dist/mcp/connection-pool.js +0 -364
- package/v3/@claude-flow/shared/dist/mcp/index.d.ts +0 -69
- package/v3/@claude-flow/shared/dist/mcp/index.js +0 -84
- package/v3/@claude-flow/shared/dist/mcp/server.d.ts +0 -166
- package/v3/@claude-flow/shared/dist/mcp/server.js +0 -590
- package/v3/@claude-flow/shared/dist/mcp/session-manager.d.ts +0 -136
- package/v3/@claude-flow/shared/dist/mcp/session-manager.js +0 -335
- package/v3/@claude-flow/shared/dist/mcp/tool-registry.d.ts +0 -178
- package/v3/@claude-flow/shared/dist/mcp/tool-registry.js +0 -439
- package/v3/@claude-flow/shared/dist/mcp/transport/http.d.ts +0 -104
- package/v3/@claude-flow/shared/dist/mcp/transport/http.js +0 -476
- package/v3/@claude-flow/shared/dist/mcp/transport/index.d.ts +0 -102
- package/v3/@claude-flow/shared/dist/mcp/transport/index.js +0 -238
- package/v3/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +0 -104
- package/v3/@claude-flow/shared/dist/mcp/transport/stdio.js +0 -263
- package/v3/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +0 -133
- package/v3/@claude-flow/shared/dist/mcp/transport/websocket.js +0 -396
- package/v3/@claude-flow/shared/dist/mcp/types.d.ts +0 -436
- package/v3/@claude-flow/shared/dist/mcp/types.js +0 -54
- package/v3/@claude-flow/shared/dist/plugin-interface.d.ts +0 -544
- package/v3/@claude-flow/shared/dist/plugin-interface.js +0 -23
- package/v3/@claude-flow/shared/dist/plugin-loader.d.ts +0 -139
- package/v3/@claude-flow/shared/dist/plugin-loader.js +0 -434
- package/v3/@claude-flow/shared/dist/plugin-registry.d.ts +0 -183
- package/v3/@claude-flow/shared/dist/plugin-registry.js +0 -457
- package/v3/@claude-flow/shared/dist/plugins/index.d.ts +0 -10
- package/v3/@claude-flow/shared/dist/plugins/index.js +0 -10
- package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +0 -106
- package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +0 -241
- package/v3/@claude-flow/shared/dist/plugins/official/index.d.ts +0 -10
- package/v3/@claude-flow/shared/dist/plugins/official/index.js +0 -10
- package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +0 -121
- package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +0 -355
- package/v3/@claude-flow/shared/dist/plugins/types.d.ts +0 -93
- package/v3/@claude-flow/shared/dist/plugins/types.js +0 -9
- package/v3/@claude-flow/shared/dist/resilience/bulkhead.d.ts +0 -105
- package/v3/@claude-flow/shared/dist/resilience/bulkhead.js +0 -206
- package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +0 -132
- package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.js +0 -233
- package/v3/@claude-flow/shared/dist/resilience/index.d.ts +0 -19
- package/v3/@claude-flow/shared/dist/resilience/index.js +0 -19
- package/v3/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +0 -168
- package/v3/@claude-flow/shared/dist/resilience/rate-limiter.js +0 -314
- package/v3/@claude-flow/shared/dist/resilience/retry.d.ts +0 -91
- package/v3/@claude-flow/shared/dist/resilience/retry.js +0 -159
- package/v3/@claude-flow/shared/dist/security/index.d.ts +0 -10
- package/v3/@claude-flow/shared/dist/security/index.js +0 -12
- package/v3/@claude-flow/shared/dist/security/input-validation.d.ts +0 -73
- package/v3/@claude-flow/shared/dist/security/input-validation.js +0 -201
- package/v3/@claude-flow/shared/dist/security/secure-random.d.ts +0 -92
- package/v3/@claude-flow/shared/dist/security/secure-random.js +0 -142
- package/v3/@claude-flow/shared/dist/services/index.d.ts +0 -7
- package/v3/@claude-flow/shared/dist/services/index.js +0 -7
- package/v3/@claude-flow/shared/dist/services/v3-progress.service.d.ts +0 -124
- package/v3/@claude-flow/shared/dist/services/v3-progress.service.js +0 -402
- package/v3/@claude-flow/shared/dist/types/agent.types.d.ts +0 -137
- package/v3/@claude-flow/shared/dist/types/agent.types.js +0 -6
- package/v3/@claude-flow/shared/dist/types/index.d.ts +0 -11
- package/v3/@claude-flow/shared/dist/types/index.js +0 -17
- package/v3/@claude-flow/shared/dist/types/mcp.types.d.ts +0 -266
- package/v3/@claude-flow/shared/dist/types/mcp.types.js +0 -7
- package/v3/@claude-flow/shared/dist/types/memory.types.d.ts +0 -236
- package/v3/@claude-flow/shared/dist/types/memory.types.js +0 -7
- package/v3/@claude-flow/shared/dist/types/swarm.types.d.ts +0 -186
- package/v3/@claude-flow/shared/dist/types/swarm.types.js +0 -65
- package/v3/@claude-flow/shared/dist/types/task.types.d.ts +0 -178
- package/v3/@claude-flow/shared/dist/types/task.types.js +0 -32
- package/v3/@claude-flow/shared/dist/types.d.ts +0 -197
- package/v3/@claude-flow/shared/dist/types.js +0 -21
- package/v3/@claude-flow/shared/dist/utils/secure-logger.d.ts +0 -69
- package/v3/@claude-flow/shared/dist/utils/secure-logger.js +0 -208
|
@@ -79,6 +79,17 @@ const REFLECT_SYSTEM_PROMPT = [
|
|
|
79
79
|
'Reply with ONLY a JSON array, one object per input id, no prose:',
|
|
80
80
|
'[{"id":"...","failureClass":"<short label>","diagnosis":"<one sentence>","mutationHint":"<actionable>"}]',
|
|
81
81
|
].join('\n');
|
|
82
|
+
const ADVISOR_SYSTEM_PROMPT = [
|
|
83
|
+
"You are RuFlo's co-pilot advisor: ONE short, proactive, actionable tip for",
|
|
84
|
+
'a developer, based on a single JSON object describing STRUCTURAL signals',
|
|
85
|
+
'from their current coding session (security scan status, swarm/agent',
|
|
86
|
+
'state, count of uncommitted files, context-window usage). There is no',
|
|
87
|
+
'prompt, command, or file content in the input — never assume or invent any.',
|
|
88
|
+
'If nothing in the snapshot genuinely warrants a tip, say so by returning',
|
|
89
|
+
'an empty array. Never pad with generic advice not grounded in the snapshot.',
|
|
90
|
+
'Reply with ONLY a JSON array containing zero or one object, no prose:',
|
|
91
|
+
'[] or [{"headline":"<=60 chars","detail":"<one actionable sentence>","confidence":0.0-1.0}]',
|
|
92
|
+
].join('\n');
|
|
82
93
|
// ── Default spawner (real CLI) ───────────────────────────────────────────────
|
|
83
94
|
/**
|
|
84
95
|
* Default `claude -p` spawner. Pipes the prompt via stdin (never as an argv
|
|
@@ -213,6 +224,24 @@ export class FableHarness {
|
|
|
213
224
|
}
|
|
214
225
|
return out;
|
|
215
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* ADR-316 — one proactive co-pilot tip from a structural session snapshot
|
|
229
|
+
* (no raw prompt/command/file content). A single-item "batch" — same
|
|
230
|
+
* budget/cwd/parsing discipline as judgeBatch/reflectFailures, just with
|
|
231
|
+
* exactly one call instead of a loop. Returns null when disabled, over
|
|
232
|
+
* budget, or the model found nothing worth surfacing (an empty verdict
|
|
233
|
+
* array is a valid, non-error answer here, not a parse failure).
|
|
234
|
+
*/
|
|
235
|
+
async adviseCoPilotTip(snapshot) {
|
|
236
|
+
if (!this.isEnabled())
|
|
237
|
+
return null;
|
|
238
|
+
if (this.spentUsd >= this.maxBudgetUsd)
|
|
239
|
+
return null;
|
|
240
|
+
const parsed = await this.runBatch(ADVISOR_SYSTEM_PROMPT, [snapshot]);
|
|
241
|
+
if (parsed.length === 0)
|
|
242
|
+
return null;
|
|
243
|
+
return normalizeCoPilotTip(parsed[0]);
|
|
244
|
+
}
|
|
216
245
|
/** Build the argv for a `claude -p` call. Exposed shape for testability. */
|
|
217
246
|
buildArgv(systemPrompt) {
|
|
218
247
|
const perCallCap = Math.max(0, this.maxBudgetUsd - this.spentUsd);
|
|
@@ -321,6 +350,18 @@ function normalizeReflect(raw) {
|
|
|
321
350
|
mutationHint: typeof o.mutationHint === 'string' ? o.mutationHint : '',
|
|
322
351
|
};
|
|
323
352
|
}
|
|
353
|
+
function normalizeCoPilotTip(raw) {
|
|
354
|
+
if (!raw || typeof raw !== 'object')
|
|
355
|
+
return null;
|
|
356
|
+
const o = raw;
|
|
357
|
+
if (typeof o.headline !== 'string' || !o.headline.trim())
|
|
358
|
+
return null;
|
|
359
|
+
return {
|
|
360
|
+
headline: o.headline.slice(0, 80),
|
|
361
|
+
detail: typeof o.detail === 'string' ? o.detail.slice(0, 200) : '',
|
|
362
|
+
confidence: clamp01(typeof o.confidence === 'number' ? o.confidence : Number(o.confidence)),
|
|
363
|
+
};
|
|
364
|
+
}
|
|
324
365
|
function tryParseJson(s) {
|
|
325
366
|
try {
|
|
326
367
|
return JSON.parse(s);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claude-flow/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.26.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Ruflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -81,7 +81,8 @@
|
|
|
81
81
|
"scripts/postinstall.cjs",
|
|
82
82
|
".claude",
|
|
83
83
|
"plugins",
|
|
84
|
-
"README.md"
|
|
84
|
+
"README.md",
|
|
85
|
+
"catalog-manifest.json"
|
|
85
86
|
],
|
|
86
87
|
"scripts": {
|
|
87
88
|
"build": "tsc",
|
|
@@ -89,7 +90,7 @@
|
|
|
89
90
|
"test:plugin-store": "npx tsx src/plugins/tests/standalone-test.ts",
|
|
90
91
|
"test:pattern-store": "npx tsx src/transfer/store/tests/standalone-test.ts",
|
|
91
92
|
"postinstall": "node ./scripts/postinstall.cjs",
|
|
92
|
-
"prepublishOnly": "cp ../../../README.md ./README.md && rm -rf plugins && mkdir -p plugins && cp -r ../../../plugins/ruflo-metaharness plugins/ && node scripts/sign-helpers.mjs && node scripts/verify-helpers.mjs",
|
|
93
|
+
"prepublishOnly": "cp ../../../README.md ./README.md && rm -rf plugins && mkdir -p plugins && cp -r ../../../plugins/ruflo-metaharness plugins/ && node scripts/generate-catalog-manifest.mjs && node scripts/sign-helpers.mjs && node scripts/verify-helpers.mjs",
|
|
93
94
|
"release": "npm version prerelease --preid=alpha && npm run publish:all",
|
|
94
95
|
"publish:all": "./scripts/publish.sh"
|
|
95
96
|
},
|
|
@@ -119,6 +120,14 @@
|
|
|
119
120
|
"tag": "latest"
|
|
120
121
|
},
|
|
121
122
|
"overrides": {
|
|
122
|
-
"protobufjs": ">=7.5.6"
|
|
123
|
+
"protobufjs": ">=7.5.6",
|
|
124
|
+
"js-yaml": ">=4.3.0",
|
|
125
|
+
"express": ">=4.22.2",
|
|
126
|
+
"qs": ">=6.15.2",
|
|
127
|
+
"@opentelemetry/core": ">=2.8.0",
|
|
128
|
+
"@opentelemetry/resources": ">=2.8.0",
|
|
129
|
+
"@opentelemetry/sdk-trace-base": ">=2.8.0",
|
|
130
|
+
"@opentelemetry/sdk-node": ">=0.220.0",
|
|
131
|
+
"agentdb": "$agentdb"
|
|
123
132
|
}
|
|
124
133
|
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "1.0",
|
|
3
|
-
"startedAt": "2026-07-08T02:30:00Z",
|
|
4
|
-
"policy": "full-autopilot",
|
|
5
|
-
"safety": {
|
|
6
|
-
"requireCiGreen": true,
|
|
7
|
-
"requireNoConflict": true,
|
|
8
|
-
"requireIdleHours": 0,
|
|
9
|
-
"maxTicks": 30,
|
|
10
|
-
"tickIntervalSeconds": 600,
|
|
11
|
-
"excludeIfCodeownersBlock": true
|
|
12
|
-
},
|
|
13
|
-
"targetPRs": [
|
|
14
|
-
{"num": 2517, "adr": null, "cluster": "security", "grade": "A", "note": "AgentDB retrieval poisoning 93-100% ASR"},
|
|
15
|
-
{"num": 2537, "adr": null, "cluster": "memory", "grade": "B", "note": "AutoMem RL loop — needs ADR renumber (collides w/ #2527 on 167)"},
|
|
16
|
-
{"num": 2577, "adr": 176, "cluster": "performance", "grade": "A", "note": "PolyKV shared KV pool 97.7% reduction"},
|
|
17
|
-
{"num": 2589, "adr": null, "cluster": "security", "grade": "A", "note": "VMG + RepE IPI — needs ADR renumber (collides w/ #2598 on 178)"},
|
|
18
|
-
{"num": 2598, "adr": null, "cluster": "intelligence", "grade": "B", "note": "SkillRL — needs ADR renumber (collides w/ #2589 on 178)"}
|
|
19
|
-
],
|
|
20
|
-
"adrCollisions": [
|
|
21
|
-
{"conflictingPRs": [2589, 2598], "originalAdr": 178, "resolution": "earlier-wins", "reason": "2589 (dream 2026-07-06) beats 2598 (dream 2026-07-07)"},
|
|
22
|
-
{"conflictingPRs": [2527, 2537], "originalAdr": 167, "resolution": "earlier-wins", "reason": "2527 (dream 2026-07-02) beats 2537 (dream 2026-07-03) — but 2527 not in scope so 2537 gets it if 2527 is also renumbered"}
|
|
23
|
-
]
|
|
24
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tick": 5,
|
|
3
|
-
"terminated": true,
|
|
4
|
-
"terminationReason": "main-preexisting-red-cannot-autopilot",
|
|
5
|
-
"closed": [],
|
|
6
|
-
"merged": [2589],
|
|
7
|
-
"blocked": [2517, 2537, 2577, 2598],
|
|
8
|
-
"adrAssignments": {
|
|
9
|
-
"2517": 180,
|
|
10
|
-
"2537": 181,
|
|
11
|
-
"2577": 182,
|
|
12
|
-
"2598": 183,
|
|
13
|
-
"2589": 178
|
|
14
|
-
},
|
|
15
|
-
"routingWeights": {
|
|
16
|
-
"parallel-renumber-adr": -1,
|
|
17
|
-
"centralized-adr-pre-assign": 2,
|
|
18
|
-
"convert-ready-when-green": 1,
|
|
19
|
-
"single-action-per-tick": 1,
|
|
20
|
-
"gh-pr-merge-admin-squash": 1,
|
|
21
|
-
"rebase-onto-main-when-shared-blocker": 2,
|
|
22
|
-
"force-remove-stale-worktree": 1,
|
|
23
|
-
"inline-fix-when-workflow-stalls": 1,
|
|
24
|
-
"diagnose-main-before-per-pr-fix": 3,
|
|
25
|
-
"terminate-loop-when-main-red-and-not-caused-by-scope": 2
|
|
26
|
-
},
|
|
27
|
-
"cumulativeReward": 14,
|
|
28
|
-
"ticksSpent": 5,
|
|
29
|
-
"completedAt": "2026-07-08T03:15:00Z",
|
|
30
|
-
"achievements": [
|
|
31
|
-
"Landed PR #2589 (security VMG+RepE IPI) — first dream merge in weeks",
|
|
32
|
-
"Resolved 4 ADR-number collisions (178/180/181/182/183) that had built up across in-flight dreams",
|
|
33
|
-
"Rebased 4 stale dream branches onto main to inherit v3.25.3 fixes",
|
|
34
|
-
"Learned + persisted routing weights via 5 tick cycles"
|
|
35
|
-
],
|
|
36
|
-
"handoff": "Main has 7 preexisting failing checks (Build V3 all platforms, Witness verify all platforms, graph schema smoke ADR-130 P1). All 4 remaining PRs (#2517, #2537, #2577, #2598) are draft=false + mergeable + at latest ADR numbers + rebased to main tip. They will auto-merge via a re-fired coordinator OR via `gh pr merge --admin --squash` once main goes green. Recommendation: file a `fix/main-v3-ci-red` triage issue first, unblock main, then re-fire the coordinator with `/loop 10m` OR merge the 4 PRs manually with --admin since they only add ADR markdown."
|
|
37
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tick": 1,
|
|
3
|
-
"completedAt": "2026-07-08T02:33:00Z",
|
|
4
|
-
"durationSeconds": 141,
|
|
5
|
-
"assessed": 5,
|
|
6
|
-
"advanced": 5,
|
|
7
|
-
"merged": 0,
|
|
8
|
-
"renumbered": 4,
|
|
9
|
-
"readyForCi": 1,
|
|
10
|
-
"totalReward": 5,
|
|
11
|
-
"coordinatorMistake": {
|
|
12
|
-
"type": "parallel-race-adr-allocation",
|
|
13
|
-
"description": "4 independent assessors each picked ADR-180 as next-free. Result: 4 PRs now all claim ADR-180.",
|
|
14
|
-
"affectedPRs": [2517, 2537, 2577, 2598]
|
|
15
|
-
},
|
|
16
|
-
"lessonLearned": "Future ticks: PRE-ASSIGN ADR numbers centrally before fanning out. Never let parallel agents pick numbers independently."
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tick": 2,
|
|
3
|
-
"completedAt": "2026-07-08T02:36:00Z",
|
|
4
|
-
"durationSeconds": 106,
|
|
5
|
-
"collisionFixesSucceeded": 3,
|
|
6
|
-
"advancesSucceeded": 2,
|
|
7
|
-
"mergedThisTick": [2589],
|
|
8
|
-
"renumberedThisTick": [
|
|
9
|
-
{"pr": 2537, "adr": 181},
|
|
10
|
-
{"pr": 2577, "adr": 182},
|
|
11
|
-
{"pr": 2598, "adr": 183}
|
|
12
|
-
],
|
|
13
|
-
"ciRunningThisTick": [2517],
|
|
14
|
-
"totalReward": 5,
|
|
15
|
-
"cumulativeReward": 10,
|
|
16
|
-
"lesson": "Central pre-assignment resolved the parallel-race collision that tick 1 created. Reward pattern confirms centralized-adr-pre-assign > parallel-renumber-adr."
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tick": 3,
|
|
3
|
-
"completedAt": "2026-07-08T02:59:00Z",
|
|
4
|
-
"durationSeconds": 69,
|
|
5
|
-
"assessed": 4,
|
|
6
|
-
"advanced": 0,
|
|
7
|
-
"merged": 0,
|
|
8
|
-
"totalReward": 0,
|
|
9
|
-
"cumulativeReward": 10,
|
|
10
|
-
"sharedBlocker": {
|
|
11
|
-
"type": "old-base-missing-2578-fix",
|
|
12
|
-
"description": "All 4 remaining dream branches predate the #2578 phantom-subpath fix that landed in v3.25.3 (PR #2602). Their old midstream-aware-loader.ts still imports from 'agentic-flow/transport/loader' → TS errors on Build V3.",
|
|
13
|
-
"affectedPRs": [2517, 2537, 2577, 2598],
|
|
14
|
-
"resolution": "rebase all 4 onto latest main; the fix is already there"
|
|
15
|
-
},
|
|
16
|
-
"lessonLearned": "Old-base branches get free fixes on rebase after main advances. Detect the shared-blocker pattern (same failure mode across N PRs) → try rebase before per-PR fixes."
|
|
17
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tick": 4,
|
|
3
|
-
"completedAt": "2026-07-08T03:03:00Z",
|
|
4
|
-
"durationSeconds": 92,
|
|
5
|
-
"rebased": [2517, 2537, 2577, 2598],
|
|
6
|
-
"convertedReady": [2537, 2577, 2598],
|
|
7
|
-
"coordinatorMistakes": [
|
|
8
|
-
{"type": "schema-drift", "description": "3 rebase agents returned prNum=0 instead of the target PR number; downstream Convert-Ready phase failed on nonexistent PR #0"},
|
|
9
|
-
{"type": "stale-worktree", "description": "Tick 1's worktree wf_ea2955a6-e74-10 held dream/2026-07-07-intelligence; tick 4's #2598 agent couldn't checkout. Fixed inline with git worktree remove --force + inline rebase."}
|
|
10
|
-
],
|
|
11
|
-
"totalReward": 4,
|
|
12
|
-
"cumulativeReward": 14,
|
|
13
|
-
"lesson": "Workflow agents must inject their prNum into the return payload (prompt-side templating). Force-remove worktrees at end of prior workflow OR clean up before spawning new ones. Sometimes inline main-context work is faster than another workflow round."
|
|
14
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tick": 5,
|
|
3
|
-
"completedAt": "2026-07-08T03:15:00Z",
|
|
4
|
-
"durationSeconds": 33,
|
|
5
|
-
"assessed": 4,
|
|
6
|
-
"mergeEligible": 0,
|
|
7
|
-
"merged": 0,
|
|
8
|
-
"totalReward": 0,
|
|
9
|
-
"cumulativeReward": 14,
|
|
10
|
-
"terminalDiagnosis": {
|
|
11
|
-
"type": "main-preexisting-red",
|
|
12
|
-
"description": "Main's latest v3-ci run (sha a444930d8, post-#2589 merge) has 7 failing checks preexisting: Build V3 (macos/ubuntu/windows) [TS type errors in plugin-agent-federation], Witness verify (signed manifest) [macos/ubuntu/windows], graph schema smoke (ADR-130 P1). ALL 4 remaining dream PRs inherit these failures. They can NEVER pass CI while main is red.",
|
|
13
|
-
"canCoordinatorFixThis": false,
|
|
14
|
-
"reasoning": "Multi-platform TS type errors + witness manifest issues + graph schema audit = multi-hour repo-level work that needs human architectural decisions (revert vs fix upstream, which shim signatures to accept). Beyond the coordinator's 10-min autopilot scope."
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/** Default package name (ruvnet WASM convention); override with RUFLO_LATTICE_WASM_PKG. */
|
|
2
|
-
export declare const LATTICE_WASM_PKG: string;
|
|
3
|
-
export type LatticeModel = 'minilm' | 'bge' | 'paraphrase-minilm' | 'qwen3-0.6b' | string;
|
|
4
|
-
export declare const DEFAULT_LATTICE_MODEL: LatticeModel;
|
|
5
|
-
/** Is the Lattice WASM embedder installed + initializable? Cached; never throws. */
|
|
6
|
-
export declare function latticeAvailable(): Promise<boolean>;
|
|
7
|
-
/** The models Lattice reports (empty until availability is probed). */
|
|
8
|
-
export declare function latticeModels(): LatticeModel[];
|
|
9
|
-
/**
|
|
10
|
-
* Embed `text` with `model` via Lattice WASM. Returns null on any failure so the
|
|
11
|
-
* caller can fall through to the next tier. Never throws.
|
|
12
|
-
*/
|
|
13
|
-
export declare function latticeEmbed(text: string, model?: LatticeModel): Promise<number[] | null>;
|
|
14
|
-
//# sourceMappingURL=lattice-wasm.d.ts.map
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lattice WASM embedder adapter — the primary embedding tier (ADR: embedding
|
|
3
|
-
* substrate upgrade). Replaces hash placeholders with real semantic embeddings
|
|
4
|
-
* and adds multiple models (miniLM, bge, multi-paraphrase-miniLM, GPU qwen3-0.6B).
|
|
5
|
-
*
|
|
6
|
-
* Built on the proven `@ruvector/ruvllm-wasm` optional-dependency convention:
|
|
7
|
-
* - dynamically imported (never a hard dependency),
|
|
8
|
-
* - WASM initialized from bundled bytes,
|
|
9
|
-
* - fully FAIL-CLOSED: if the package is absent, the WASM fails to init, or the
|
|
10
|
-
* embed API differs, `latticeAvailable()` returns false and callers fall
|
|
11
|
-
* through to the existing ruvector-ONNX → hash tiers with ZERO regression.
|
|
12
|
-
*
|
|
13
|
-
* The package specifier is configurable (`RUFLO_LATTICE_WASM_PKG`) so the exact
|
|
14
|
-
* published name can be set without a code change; the API is probed tolerantly.
|
|
15
|
-
* Opt-in for the GPU model: qwen3 is only selected when explicitly requested.
|
|
16
|
-
*/
|
|
17
|
-
import { createRequire } from 'module';
|
|
18
|
-
import { readFileSync } from 'fs';
|
|
19
|
-
const require_ = createRequire(import.meta.url);
|
|
20
|
-
/** Default package name (ruvnet WASM convention); override with RUFLO_LATTICE_WASM_PKG. */
|
|
21
|
-
export const LATTICE_WASM_PKG = process.env.RUFLO_LATTICE_WASM_PKG || '@ruvector/lattice-wasm';
|
|
22
|
-
export const DEFAULT_LATTICE_MODEL = process.env.RUFLO_EMBED_MODEL || 'minilm';
|
|
23
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
24
|
-
let _mod = null;
|
|
25
|
-
let _ready = false;
|
|
26
|
-
let _probed = false;
|
|
27
|
-
let _available = false;
|
|
28
|
-
let _models = [];
|
|
29
|
-
async function loadModule() {
|
|
30
|
-
if (_mod)
|
|
31
|
-
return _mod;
|
|
32
|
-
const spec = LATTICE_WASM_PKG;
|
|
33
|
-
_mod = await import(spec).catch(() => null); // optional — absent ⇒ null ⇒ unavailable
|
|
34
|
-
return _mod;
|
|
35
|
-
}
|
|
36
|
-
async function ensureInit() {
|
|
37
|
-
if (_ready)
|
|
38
|
-
return true;
|
|
39
|
-
const mod = await loadModule();
|
|
40
|
-
if (!mod)
|
|
41
|
-
return false;
|
|
42
|
-
try {
|
|
43
|
-
// ruvnet WASM convention: initSync({ module: <wasm bytes> }); tolerate variants.
|
|
44
|
-
if (!_ready && typeof mod.initSync === 'function') {
|
|
45
|
-
let wasmBytes;
|
|
46
|
-
for (const cand of ['lattice_wasm_bg.wasm', 'lattice_bg.wasm', 'index_bg.wasm']) {
|
|
47
|
-
try {
|
|
48
|
-
wasmBytes = readFileSync(require_.resolve(`${LATTICE_WASM_PKG}/${cand}`));
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
catch { /* try next */ }
|
|
52
|
-
}
|
|
53
|
-
mod.initSync(wasmBytes ? { module: wasmBytes } : undefined);
|
|
54
|
-
}
|
|
55
|
-
else if (typeof mod.default === 'function') {
|
|
56
|
-
await mod.default(); // some wasm-bindgen builds export an async default init
|
|
57
|
-
}
|
|
58
|
-
_ready = true;
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
return false; // init failed ⇒ fail closed
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/** Extract a plain number[] from whatever shape the module's embed returns. */
|
|
66
|
-
function toVec(r) {
|
|
67
|
-
const v = (r && typeof r === 'object' && 'embedding' in r) ? r.embedding : r;
|
|
68
|
-
if (!v)
|
|
69
|
-
return null;
|
|
70
|
-
if (Array.isArray(v))
|
|
71
|
-
return v;
|
|
72
|
-
if (v.length !== undefined)
|
|
73
|
-
return Array.from(v);
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
/** Is the Lattice WASM embedder installed + initializable? Cached; never throws. */
|
|
77
|
-
export async function latticeAvailable() {
|
|
78
|
-
if (_probed)
|
|
79
|
-
return _available;
|
|
80
|
-
_probed = true;
|
|
81
|
-
try {
|
|
82
|
-
if (!(await ensureInit())) {
|
|
83
|
-
_available = false;
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
const mod = _mod;
|
|
87
|
-
// discover models (tolerant): listModels() / models / MODELS
|
|
88
|
-
try {
|
|
89
|
-
const list = typeof mod.listModels === 'function' ? mod.listModels() : (mod.models ?? mod.MODELS);
|
|
90
|
-
if (Array.isArray(list) && list.length)
|
|
91
|
-
_models = list;
|
|
92
|
-
}
|
|
93
|
-
catch { /* leave default */ }
|
|
94
|
-
if (!_models.length)
|
|
95
|
-
_models = [DEFAULT_LATTICE_MODEL];
|
|
96
|
-
// verify an actual embed succeeds (the ADR-086 "loads but runtime-fails" trap).
|
|
97
|
-
const probe = await latticeEmbedRaw('probe', DEFAULT_LATTICE_MODEL);
|
|
98
|
-
_available = !!probe && probe.length > 0;
|
|
99
|
-
return _available;
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
_available = false;
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/** The models Lattice reports (empty until availability is probed). */
|
|
107
|
-
export function latticeModels() { return [..._models]; }
|
|
108
|
-
async function latticeEmbedRaw(text, model) {
|
|
109
|
-
const mod = _mod;
|
|
110
|
-
if (!mod)
|
|
111
|
-
return null;
|
|
112
|
-
// tolerant API probing across plausible wasm-bindgen surfaces.
|
|
113
|
-
const attempts = [
|
|
114
|
-
() => typeof mod.embed === 'function' ? mod.embed(text, model) : undefined,
|
|
115
|
-
() => typeof mod.embed === 'function' ? mod.embed(text) : undefined,
|
|
116
|
-
() => typeof mod.embedText === 'function' ? mod.embedText(text, model) : undefined,
|
|
117
|
-
() => typeof mod.Embedder === 'function' ? new mod.Embedder(model).embed(text) : undefined,
|
|
118
|
-
];
|
|
119
|
-
for (const a of attempts) {
|
|
120
|
-
try {
|
|
121
|
-
const r = await a();
|
|
122
|
-
const v = toVec(r);
|
|
123
|
-
if (v)
|
|
124
|
-
return v;
|
|
125
|
-
}
|
|
126
|
-
catch { /* try next surface */ }
|
|
127
|
-
}
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Embed `text` with `model` via Lattice WASM. Returns null on any failure so the
|
|
132
|
-
* caller can fall through to the next tier. Never throws.
|
|
133
|
-
*/
|
|
134
|
-
export async function latticeEmbed(text, model = DEFAULT_LATTICE_MODEL) {
|
|
135
|
-
try {
|
|
136
|
-
if (!(await latticeAvailable()))
|
|
137
|
-
return null;
|
|
138
|
-
return await latticeEmbedRaw(text, model);
|
|
139
|
-
}
|
|
140
|
-
catch {
|
|
141
|
-
return null;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=lattice-wasm.js.map
|