ruvnet/ruflo · warning · Error

"${AGNTCY_PACKAGE_NAME}" is installed but does not export cr

Error message

"${AGNTCY_PACKAGE_NAME}" is installed but does not export createSlimTransport()

What it means

Thrown inside the 'transport use slim' command (ADR-380 §2) when the optional package '@agntcy/slim-bindings' is installed and resolves, but its module object does not have a callable 'createSlimTransport' function. The throw is immediately caught and the command falls back to local transport with a user-facing message. The error is returned as a soft failure (success: true, transport: 'local').

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 6b01dc5a68)

Solutions

  1. Upgrade to the pinned alpha: npm install @agntcy/slim-bindings@2.0.0-alpha.5
  2. Confirm the package exports createSlimTransport by checking its type definitions
  3. If unavailable, the local in-process transport is used automatically — no action needed

Example fix

// before
"@agntcy/slim-bindings": "^1.0.0"

// after
"@agntcy/slim-bindings": "2.0.0-alpha.5"
Defensive patterns

Strategy: type-guard

Validate before calling

async function hasCreateSlimTransport(pkgName: string): Promise<boolean> {
  try {
    const mod = await import(pkgName);
    return typeof (mod as Record<string, unknown>)?.createSlimTransport === 'function';
  } catch {
    return false;
  }
}

if (!await hasCreateSlimTransport('@agntcy/slim-bindings')) {
  console.error('Upgrade @agntcy/slim-bindings to support createSlimTransport()');
}

Type guard

function hasCreateSlimTransport(mod: unknown): mod is { createSlimTransport: (opts: { endpoint: string }) => Promise<unknown> } {
  return typeof (mod as Record<string, unknown>)?.createSlimTransport === 'function';
}

Try / catch

// The command already catches this internally and falls back to local transport.
const result = await useCommand.action(ctx);
if (result.data?.transport === 'local' && result.data?.error) {
  console.error('SLIM transport unavailable, using local:', result.data.error);
}

Prevention

When it happens

Trigger: RUFLO_AGNTCY_SLIM_ENDPOINT is set, @agntcy/slim-bindings resolves, detectAgntcyRuntime() returns configured: true, but mod.createSlimTransport is undefined or not a function.

Common situations: The installed @agntcy/slim-bindings version predates the createSlimTransport export; a different major version was installed that renamed or restructured the transport factory.

Related errors


AI-assisted analysis of ruvnet/ruflo@6b01dc5a68 (2026-08-12). Data as JSON: /api/errors/7466d16617116c72. Report an issue: GitHub.