3 min read

v3 — Name Change

Module Service Protocol (MSP) is now SynthGrid Fiber. Same protocol, same spec, same wire format. The name changed because “Fiber” communicates what it actually is — a thin, fast connection between your systems and AI — better than a three-word acronym ever could.

All existing integrations continue to work unchanged. Old URLs redirect automatically.


v2 → v3

Fiber v3 is a backward-compatible update that adds richer UI capabilities and flexible data formats.

New Action Schema Fields

Two optional fields have been added to the action schema in /meta:

{
  "name": "getUser",
  "description": "Retrieves a user by ID.",
  "route": "/action/getUser",
  "riskLevel": "safe",
  "pictogram": "user-profile",
  "typicalHumanProcessTime": 15,
  "input": { "type": "object", "properties": {"id": {"type": "string"}} }
}
  • pictogram — A Carbon Design System pictogram name. Displayed as the action’s icon in SynthGrid.
  • typicalHumanProcessTime — Estimated seconds this task takes a human manually. SynthGrid uses this to communicate time savings.

Rich HTML Responses

Action success responses now support an optional html_view field:

{
  "status": "success",
  "data": { "name": "Alice", "email": "alice@co.com" },
  "html_view": "<div style='padding: 16px'><h3>Alice</h3><p>alice@co.com</p></div>"
}

SynthGrid renders this as a rich visual card. The HTML is sanitized via DOMPurify — only safe markup and inline styles are permitted. Scripts, event handlers, and external resources are stripped.

JSONL Data Endpoints

Data endpoints now support JSONL (newline-delimited JSON) in addition to CSV. Declare the format in your /meta response:

{
  "name": "queryRecords",
  "description": "Query records from the database.",
  "route": "/data/queryRecords",
  "format": "jsonl",
  "input": { "type": "object", "properties": {"query": {"type": "string"}} }
}

The endpoint should return Content-Type: application/jsonl with one JSON object per line.

Key Changes

  • ADDED: Optional pictogram field on actions for UI icons.
  • ADDED: Optional typicalHumanProcessTime field on actions.
  • ADDED: Optional html_view field on action success responses.
  • ADDED: JSONL as a supported data endpoint format (via format: "jsonl").
  • UNCHANGED: Full backward compatibility. v2 modules work without any changes.

Developer Actions

  • New Modules: Use protocolVersion: 3.
  • Existing v2 Modules: No action is required. Add the new fields at your own pace.

v1 → v2

Fiber v2 is a backward-compatible update designed to significantly reduce developer friction.

The Core Change: output Schema Removed

The mandatory output schema for actions has been removed. This increases flexibility and reduces boilerplate.

Before (v1)

{
  "name": "getUser",
  "input": { "type": "object", "properties": {"id": {"type": "string"}} },
  "output": {
    "type": "object",
    "properties": {
      "name": {"type": "string"},
      "email": {"type": "string"}
    }
  }
}

After (v2)

{
  "name": "getUser",
  "input": { "type": "object", "properties": {"id": {"type": "string"}} }
}

Key Changes

  • REMOVED: The output schema is no longer required for actions.
  • ADDED: csvEndpoints for retrieving bulk data.
  • ADDED: Formal specification for X-SynthGrid-* request headers.
  • UNCHANGED: Full backward compatibility. v1 modules work without any changes.

Developer Actions

  • New Modules: Use protocolVersion: 2 and omit the output field.
  • Existing v1 Modules: No action is required.