Alta en catálogo de una subida terminada (dec-0121).
packages/api-contracts/src/bus/nats.tsPágina generada desde
packages/api-contracts/src/bus/nats.ts + packages/api-contracts/src/bus/routes.ts. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
cmd.catalog.registerIngested · v2
Alta en catálogo de una subida terminada (dec-0121): playback-svc la pide
por cada evento que drena del daemon y sólo lo confirma al daemon con la
respuesta; un error retryable se reintenta, uno permanente se descarta.
| Campo | Valor |
|---|---|
| Familia | cmd |
| Versión | 2 |
| Tope del payload | 4096 bytes |
| Contrato | CatalogRegisterIngested en packages/api-contracts/src/bus/nats.ts |
BUS_ROUTES)Deny-by-default: un emisor fuera de la allowlist se deniega y se audita (dec-0119 §4).
| Atiende | Transporte | Emisores admitidos | Rate (por emisor) |
|---|---|---|---|
catalog-svc | nats | playback-svc | 100/s, ráfaga 200 |
{
"type": "object",
"required": [
"ingestSessionId",
"actorDigest",
"uploadId",
"sizeBytes",
"blake3",
"rootId",
"key",
"filename",
"completedAt"
],
"properties": {
"ingestSessionId": {
"type": "string",
"pattern": "^ing_[0-9a-f]{32}$"
},
"actorId": {
"type": "string",
"minLength": 1
},
"actorDigest": {
"type": "string",
"pattern": "^[0-9a-f]{32}$"
},
"uploadId": {
"type": "string",
"pattern": "^[0-9a-f]{32}$"
},
"sizeBytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"blake3": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"rootId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9._-]+$"
},
"key": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^(?!\\.{1,2}$)[^/\\\\\\u0000-\\u001f\\u007f]+$"
},
"completedAt": {
"type": "integer",
"minimum": 0
}
}
}{
"anyOf": [
{
"type": "object",
"required": [
"ok",
"data"
],
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"data": {
"type": "object",
"required": [
"assetId"
],
"properties": {
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"additionalProperties": false
}
}
},
{
"type": "object",
"required": [
"ok",
"error"
],
"properties": {
"ok": {
"type": "boolean",
"const": false
},
"error": {
"type": "object",
"required": [
"code",
"message",
"category",
"retryable"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"category": {
"anyOf": [
{
"type": "string",
"const": "transient"
},
{
"type": "string",
"const": "permanent"
},
{
"type": "string",
"const": "recoverable"
}
]
},
"retryable": {
"type": "boolean"
},
"suggestedAction": {
"type": "string"
},
"details": {
"anyOf": [
{
"type": "object",
"properties": {}
},
{
"type": "array",
"items": {}
}
]
},
"causedBy": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {}
},
{
"type": "array",
"items": {}
}
]
}
}
}
}
}
}
]
}