ruvnet/ruflo · error

Plugin ID required

Error message

Plugin ID required

What it means

The 'track-download' action found no pluginId in the body or query. Input-presence guard: download analytics need an item to attribute the event to; the request is rejected with 400 rather than recording an anonymous download.

Source

Thrown at v3/@claude-flow/cli/cloud-functions/publish-registry/index.js:298

      case 'import-model': {
        const { cid } = req.query;

        if (!cid) {
          return res.status(400).json({ error: 'CID required' });
        }

        const result = await importModel(cid);
        await trackEvent(bucket, 'model-import', cid);

        return res.json(result);
      }

      case 'track-download': {
        const { pluginId } = req.body || req.query;

        if (!pluginId) {
          return res.status(400).json({ error: 'Plugin ID required' });
        }

        await trackEvent(bucket, 'download', pluginId);
        return res.json({ success: true });
      }

      case 'analytics': {
        const { period = '7d' } = req.query;

        // Read analytics files
        const [files] = await bucket.getFiles({ prefix: 'analytics/' });
        const analytics = {
          downloads: {},
          exports: 0,
          imports: 0,
          publishes: 0,
        };

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Provide all required parameters listed in the message.
  2. Validate required fields before dispatch and report the full set of missing fields at once.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/@claude-flow/cli/cloud-functions/publish-registry/index.js:298 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/290be468dd3cc0c2. Report an issue: GitHub.