ruvnet/ruflo · warning · Error
"@agntcy/slim-bindings" is installed but does not export cre
Error message
"@agntcy/slim-bindings" is installed but does not export createSlimTransport()
What it means
Thrown by the AGNTCY transport-switch command when the optional @agntcy/slim-bindings is installed and an endpoint is configured, but the imported module lacks createSlimTransport(). The error is caught, printed as 'Failed to activate SLIM transport: ...', and the command falls back to local in-process transport, returning success:true with data { transport:'local', error }. The code comment notes this branch is currently unreachable in practice because the package is unpublished.
Source
Thrown at v3/@claude-flow/cli/src/commands/agntcy/transport.ts:73
}
const status = await detectAgntcyRuntime();
if (!status.configured) {
output.printInfo(AGNTCY_NOT_CONFIGURED_MESSAGE);
output.printInfo('Active transport remains: local (in-process hooks routing).');
return {
success: true,
data: { transport: 'local', requested, configured: false, reason: status.reason },
};
}
// Reachable only once the optional package is actually installed AND
// an endpoint is configured — not possible today (package unpublished).
try {
const mod = (await import(AGNTCY_PACKAGE_NAME)) as AgntcySlimRuntimeModule;
if (typeof mod.createSlimTransport !== 'function') {
throw new Error(`"${AGNTCY_PACKAGE_NAME}" is installed but does not export createSlimTransport()`);
}
await mod.createSlimTransport({ endpoint: status.endpoint as string });
output.printSuccess(`Active transport switched to: slim (${status.endpoint})`);
return { success: true, data: { transport: 'slim', endpoint: status.endpoint, configured: true } };
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
output.printError(`Failed to activate SLIM transport: ${message}`);
output.printInfo('Falling back to local transport.');
return { success: true, data: { transport: 'local', requested, configured: false, error: message } };
}
},
};
export const transportCommand: Command = {
name: 'transport',
description: 'Manage the active swarm/hive-mind coordination transport (ADR-380 §2)',
subcommands: [useCommand],
examples: [View on GitHub (pinned to fa13ee4ad6)
Solutions
- Uninstall @agntcy/slim-bindings — the command then cleanly reports local transport with configured:false instead of an error path
- Pin a version that actually exports createSlimTransport() and verify via a probe import before switching transport
- Treat data.transport === 'local' after this command as expected behavior until the real runtime ships
Example fix
// before npm install @agntcy/slim-bindings # stub lacking createSlimTransport ruflo transport activate slim // after npm uninstall @agntcy/slim-bindings ruflo transport activate slim # -> transport:'local', configured:false, clean fallback
Defensive patterns
Strategy: fallback
Validate before calling
let slimAvailable = false;
try {
const mod = (await import('@agntcy/slim-bindings')) as { createSlimTransport?: unknown };
slimAvailable = typeof mod.createSlimTransport === 'function';
} catch { slimAvailable = false; }
if (!slimAvailable) useLocalTransport(); Type guard
function exportsCreateSlimTransport(m: unknown): m is { createSlimTransport: (o: { endpoint: string }) => Promise<unknown> } {
return typeof (m as { createSlimTransport?: unknown })?.createSlimTransport === 'function';
} Try / catch
const res = await activateTransport('slim');
if (res.data?.transport === 'local') {
// expected until the real SLIM runtime ships; hooks keep routing in-process
} Prevention
- Design callers to accept transport:'local' as a first-class outcome
- Audit node_modules for stray @agntcy/slim-bindings stubs in CI images
When it happens
Trigger: Invoking the transport activation command in an environment where a resolvable @agntcy/slim-bindings module exists (stub, squat, or renamed API) and AGNTCY endpoint config is present — the module loads but exports no createSlimTransport function.
Common situations: Private-registry placeholder packages; future real versions with a changed export surface; CI images that accidentally include a leftover package. Impact is limited: transport stays local.
Related errors
- "@agntcy/slim-bindings" is installed but does not export pub
- "@agntcy/slim-bindings" is installed but does not export joi
- Failed to import OpenAI
- HTTP transport failed: ${firstError instanceof Error ? first
- ruflo auth needs the '@claude-flow/security' package, which
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/e78956a284a26725.
Report an issue: GitHub.