Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

api / api protobuf scalar merge

An agent that receives a Protobuf handover needs its claimed decoded scalar fields checked against varint, zigzag, fixed32, packed repetition and oneof last-member-wins wire semantics.

POST https://detect.halowerk.com/v1/api/api-protobuf-scalar-merge

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "artifact": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer",
                "minimum": 1,
                "maximum": 2047
              },
              "kind": {
                "type": "string",
                "enum": [
                  "uint32",
                  "sint32",
                  "bool",
                  "fixed32"
                ],
                "minLength": 1,
                "maxLength": 64
              },
              "repeated": {
                "type": "boolean"
              },
              "oneof": {
                "type": "integer",
                "minimum": -1,
                "maximum": 31
              }
            },
            "required": [
              "number",
              "kind",
              "repeated",
              "oneof"
            ],
            "additionalProperties": false
          },
          "minItems": 1,
          "maxItems": 64
        },
        "bytes": {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0,
            "maximum": 255
          },
          "minItems": 0,
          "maxItems": 2048
        },
        "claimed": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer",
                "minimum": 1,
                "maximum": 2047
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": -2147483648,
                  "maximum": 4294967295
                },
                "minItems": 0,
                "maxItems": 2048
              }
            },
            "required": [
              "number",
              "values"
            ],
            "additionalProperties": false
          },
          "minItems": 0,
          "maxItems": 64
        }
      },
      "required": [
        "fields",
        "bytes",
        "claimed"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "artifact"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "artifact": {
    "fields": [
      {
        "number": 1,
        "kind": "uint32",
        "repeated": false,
        "oneof": 0
      },
      {
        "number": 2,
        "kind": "sint32",
        "repeated": false,
        "oneof": 0
      },
      {
        "number": 3,
        "kind": "bool",
        "repeated": true,
        "oneof": -1
      },
      {
        "number": 4,
        "kind": "fixed32",
        "repeated": true,
        "oneof": -1
      }
    ],
    "bytes": [
      37,
      242,
      0,
      0,
      0,
      8,
      123,
      26,
      4,
      212,
      1,
      188,
      1,
      8,
      173,
      1,
      37,
      190,
      0,
      0,
      0,
      37,
      48,
      0,
      0,
      0,
      37,
      139,
      0,
      0,
      0,
      24,
      62,
      24,
      74,
      24,
      75,
      16,
      137,
      1,
      8,
      77,
      16,
      130,
      1,
      8,
      243,
      1,
      16,
      28,
      16,
      65,
      24,
      125,
      34,
      12,
      198,
      0,
      0,
      0,
      111,
      0,
      0,
      0,
      36,
      0,
      0,
      0,
      37,
      68,
      0,
      0,
      0,
      37,
      33,
      0,
      0,
      0,
      24,
      172,
      1,
      24,
      211,
      1,
      37,
      182,
      0,
      0,
      0,
      37,
      55,
      0,
      0,
      0,
      16,
      185,
      1,
      16,
      51
    ],
    "claimed": [
      {
        "number": 2,
        "values": [
          -26
        ]
      },
      {
        "number": 3,
        "values": [
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1
        ]
      },
      {
        "number": 4,
        "values": [
          242,
          190,
          48,
          139,
          198,
          111,
          36,
          68,
          33,
          182,
          55
        ]
      }
    ]
  }
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →