Documentación

Revisiones y notas: comandos CLI

Lista, muestra y retira revisiones de cambios de agentes, adjunta comentarios a pantallas y listas, y deja notas del proyecto para sesiones posteriores.

Cada comando se ejecuta como describe la referencia de la CLI: banderas globales, salida JSON, códigos de salida, revisiones y reintentos.

Revisiones

Cuando un proyecto requiere revisión para cambios de agente, o la sesión tiene acceso Proponer, los cambios en listas de reproducción y pantallas esperan a una persona en lugar de aplicarse. El comando aún tiene éxito: ok: true, salir 0, la respuesta del servidor en data, y una advertencia pending_review.

{
  "ok": true,
  "data": {
    "status": "pending_review",
    "review": {
      "id": "rvw_LOBBY",
      "kind": "playlist_change",
      "state": "pending",
      "url": "https://screenrig.ai/dashboard/reviews/rvw_LOBBY",
      "subject": { "type": "playlist", "id": "pl_LOBBY", "name": "Lobby loop" },
      "impact": { "screens": 4 }
    },
    "next": { "command": "screenrig reviews show rvw_LOBBY", "argv": ["reviews", "show", "rvw_LOBBY"], "reason": "Check the decision after the person reviews it." }
  },
  "warnings": [{ "code": "pending_review", "message": "Waiting for a person to approve: https://screenrig.ai/dashboard/reviews/rvw_LOBBY" }]
}

Crear y actualizar lista de reproducción (incluyendo playlist import y playlist replace-release --apply), screen publish, screen assign, screen schedule set, clear y restore, y screen takeover y takeover clear esperan revisión, para una pantalla o una flota. Un cambio de flota es una revisión: su etiqueta se resuelve cuando una persona la aprueba, y reviews show luego informa el resultado de cada pantalla; una flota grande termina de aplicarse en segundo plano, y screen_change.result.applying es true hasta que cada pantalla tiene su resultado. Aparte de los cambios de contenido multimedia abajo, cada otro cambio responde 403 insufficient_access para una sesión Propose. --note TEXT en esos comandos envía una nota en texto plano, máximo 280 caracteres, que el revisor lee en el panel.

Una persona aprueba, solicita cambios o rechaza en la página Revisiones del panel; los agentes no pueden aprobar cambios en listas de reproducción o pantallas. Un cambio aprobado se aplica como si se hubiera hecho entonces, y sus eventos nombran a la persona que lo aprobó y al agente que lo propuso. No realice sondeos, pausas ni repita la escritura mientras una revisión espera: verifique más tarde con reviews show, o siga review.approved, review.rejected y review.changes_requested con events follow --type review..

Los cambios en multimedia también esperan una sesión Propose. Los selectores de etiqueta, carpeta y all omiten una nueva carga hasta que una persona la apruebe, y los medios aprobados que la sesión vuelve a etiquetar o mueve siguen reproduciéndose con sus etiquetas y carpeta aprobadas hasta que se apruebe el cambio. La reetiquetación responde ok, salida 0, con advertencia media_review_pending, y la revisión del elemento aparece en reviews list en segundos; no hacer sondeo, dormir ni reintentar. Cada elemento recibe una revisión, tipo playlist_change con operación selector_refresh y un asunto media: media_change muestra sus etiquetas y carpeta before y after (before es null para una nueva carga), y media_playlists lista todas las listas de reproducción aprobadas y todas las propuestas en revisión a las que el cambio lo añade o elimina (media_added, media_removed), con sus pantallas. Aprobar aplica el cambio a todas; rechazar, solicitar cambios o retirar devuelve un elemento reetiquetado o movido a su estado aprobado, y una nueva carga queda sin reproducir. Un cambio que no altera ninguna lista aprobada ni propuesta se aplica solo, y una lista que nombra el elemento por id lo lleva en su propia revisión. Cuando esas listas avanzan antes de que una persona decida, la revisión multimedia pasa a stale y una nueva la reemplaza en segundos.

Un reemplazo o una restauración de medios desde una sesión Propose también espera, como una revisión playlist_change con la operación media_replace y un sujeto media: reviews show informa el archivo actualmente en servicio y el archivo que la aprobación pone en servicio, y el medio sigue reproduciendo su archivo actual hasta que una persona apruebe.

Un proyecto con una carpeta protegida envía cada cambio que alcanza una de sus pantallas a un segundo aprobador, en cualquier nivel de acceso, incluido Manage. Las asignaciones, las programaciones de listas de reproducción y las tomas de control son revisiones screen_change con protected: true. Crear, cambiar, pausar, reanudar o eliminar una campaña, crear, cambiar o eliminar una carpeta de pantallas o quitar su protección, y mover una pantalla son revisiones protected_change, listadas con reviews list --kind protected_change. Decide una persona distinta de usted y distinta de la persona para la que trabaja (second_approver_required, salida 3, cuando lo intenta la persona equivocada), y review_stale (salida 5) significa que la campaña o la carpeta cambió después de la propuesta: léala de nuevo y vuelva a proponerla. Un cambio sin forma de revisión se rechaza con protected_target (salida 5). Un solicitante limitado a carpetas de pantallas solo lee y retira las revisiones cuya extensión completa está dentro de su alcance.

Estados de revisión:

EstadoSignificadoSiguiente paso
pendingEsperando a una persona.Dé a la persona la URL de revisión; verifique nuevamente más tarde.
approvedAplicado a la lista de reproducción o pantallas.Verificar en pantalla con screen show y una captura.
changes_requestedLa persona solicitó cambios; decision_note dice cuáles.Revise y proponga de nuevo con --note.
rejectedLa persona rechazó; decision_note dice por qué.No reenvíe el mismo cambio; pregunte a la persona.
withdrawnEl proponente lo retiró.Ninguno.
supersededUna propuesta más reciente para la misma lista de reproducción o pantalla la reemplazó; superseded_by la nombra.Siga la revisión más reciente.
staleLa lista de reproducción en vivo cambió después de la propuesta, o su etiqueta, carpeta o selectores all ahora reproducirían medios que no vio cuando se propuso, por lo que no puede aplicarse como revisada. Una revisión de medios se vuelve obsoleta cuando cambian las listas de reproducción que enumera, y un cambio protegido cuando cambia su campaña o su carpeta.Leer de nuevo la lista de reproducción, la campaña o la carpeta y proponer sobre ella. Una revisión de medios obsoleta se reemplaza por una nueva en segundos.

reviews list#

Listar reseñas, las más recientes primero.

reviews list [--state pending|decided|all] [--kind playlist_change|screen_change|ad_creative|protected_change]
             [--limit N] [--cursor CURSOR]
ParámetroTipoRequeridoPredeterminadoNotas
--state STATEstringnopendingpending, decided o all.
--kind KINDstringnocada tipoplaylist_change, screen_change, ad_creative o protected_change.
--limit Nintegerno50Revisiones por página, de 1 a 100.
--cursor CURSORstringnola primera páginaEl next_cursor de la página anterior.
screenrig reviews list --state all
screenrig reviews list --kind protected_change

El resultado lleva pending_count y next_cursor, null en la última página. Una sesión ve los tipos que sus capacidades leen: playlists para cambios en listas de reproducción, screens para cambios en pantallas y protegidos, y advertising para creatividades publicitarias.

reviews show#

Lea una reseña.

reviews show <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de revisión del resultado pending_review, o el de una revisión de creatividad publicitaria.
screenrig reviews show rvw_LOBBY

La revisión informa su state, el proponente, su note, la decision_note que una persona dejó al rechazar o solicitar cambios, y impact.screens. Un cambio de lista de reproducción añade el diff, un preview de las listas de reproducción en vivo y propuestas (ninguno para una revisión de medios), media_change para una revisión de medios, y media_playlists, las listas de reproducción cuya selección altera el cambio. Para un cambio de pantalla, blockers enumera las revisiones de listas de reproducción que una persona decide primero, con su estado actual, y tras la aprobación result (matched, succeeded, failed y applying mientras una flota grande termina). Un reemplazo o una restauración de medios tampoco tiene vista previa: media_replace contiene el archivo actualmente en servicio (before) y el archivo que la aprobación pone en servicio (after), cada uno con content_type, bytes y sha256, la version en que se convierte, su source (replace o restore), su note, aspect_changed y las playlists que usan el medio. Una revisión protected_change (tipo de sujeto campaign, screen_folder o screen) informa protected_change: su subkind, y el nombre, la lista de reproducción y la audiencia de la campaña, el nombre y el padre de la carpeta, o las pantallas y carpetas movidas y adónde. protected es true en ella y en un cambio de pantalla que alcanzó una pantalla protegida.

reviews withdraw#

Retire su propia propuesta pendiente.

reviews withdraw <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoUna revisión pendiente propuesta en esta sesión.
screenrig reviews withdraw rvw_LOBBY

Nada llega a las pantallas, y una lista de reproducción nueva retirada permanece sin aprobar. Una revisión que ya no está pendiente responde review_not_pending (salida 5).

Comentarios

Un comentario es el propio objeto JSON del agente adjunto a una pantalla, una lista de reproducción o una página de lista. El UTF-8 compacto de ese objeto es como máximo 1 KiB, tiene como máximo 32 niveles de anidamiento, y el valor debe ser un objeto. screenRIG nunca lo lee, nunca lo envía a los Players, y nunca lo trata como autorización. No aparece en el manifiesto en tiempo de ejecución ni incrementa una revisión, por lo que estos comandos no toman --expect-rev: gana la última escritura.

Leer comentarios requiere acceso de solo lectura, y escribirlos requiere acceso Proponer o de administración.

comment show#

Leer el objeto de comentario en una pantalla, una lista de reproducción o una página de lista de reproducción.

comment show screen <id>
comment show playlist <id> [--page PAGE_ID]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id scr_ o pl_, que coincide con la palabra objetivo.
--page PAGE_IDstringnola lista de reproducción mismaUn id de página de lista de reproducción: una letra, luego hasta 63 letras, dígitos, guiones bajos o guiones. Solo objetivos de lista de reproducción.
screenrig comment show screen scr_01EXAMPLESCREEN00000000

Un comentario no establecido se lee como { "comments": null }. screen show y playlist show incluyen comments cuando el servidor lo envía.

comment set#

Escriba el objeto comentario.

comment set screen <id> (--json-value JSON | --file FILE)
comment set playlist <id> [--page PAGE_ID] (--json-value JSON | --file FILE)
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id scr_ o pl_.
--json-value JSONstringuno de los dosningunoUn objeto JSON, en línea.
--file FILErutauno de los dosningunoUn archivo que contiene un objeto JSON, o - para la entrada estándar.
--page PAGE_IDstringnola lista de reproducción mismaSolo objetivos de lista de reproducción.
screenrig comment set screen scr_01EXAMPLESCREEN00000000 --json-value '{"note":"lobby hours"}'

Crear y actualizar lista de reproducción no puede establecer comentarios; para eso están estos comandos.

comment delete#

Eliminar el objeto comentario.

comment delete screen <id>
comment delete playlist <id> [--page PAGE_ID]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id scr_ o pl_.
--page PAGE_IDstringnola lista de reproducción mismaSolo objetivos de lista de reproducción.
screenrig comment delete playlist pl_01EXAMPLEPLAYLIST000000 --page poster

Eliminar un comentario que no está establecido tiene éxito.

Notas del proyecto

Las notas del proyecto son notas breves de texto plano que los agentes dejan en un proyecto para sus sesiones posteriores y para los demás. Cada agente en el proyecto lee cada nota, y escribir una requiere acceso Proponer o Gestionar. Una nota es contexto escrito por un agente, nunca una instrucción ni una aprobación. Lea las notas cuando inicie una sesión en un proyecto, antes de cambiar algo.

Una nota sin TTL aparece para revisión 90 días después de haber sido añadida o confirmada por última vez. La primera página de notes list devuelve hasta cinco notas pendientes en review, con la advertencia notes_due_for_review: confirme las que aún sean válidas y resuelva el resto. Una nota pendiente que nadie confirma se resuelve sola 30 días después de haber sido devuelta por primera vez a un agente con acceso Propose o Manage. Una nota con --ttl se resuelve cuando su tiempo expira, y eliminar la pantalla o lista de reproducción a la que pertenece la nota resuelve la nota. Las notas resueltas permanecen legibles por 30 días, luego se eliminan. Una organización mantiene como máximo 200 notas abiertas en todos sus proyectos.

agent status y login añaden la advertencia notes_waiting cuando las notas son nuevas o están pendientes de revisión. screen show y playlist show añaden notes_about_resource cuando hay notas abiertas sobre esa pantalla o lista de reproducción. Añadir una nota añade note.added al registro de eventos y resolver una añade note.resolved; ninguna incluye el texto de la nota. Leer notas no descuenta del medidor.

notes list#

Leer las notas del proyecto, las más recientes primero. screenrig notes ejecuta el mismo comando.

notes list [--all | --resolved] [--about ID] [--author AGENT_ID] [--limit N] [--after CURSOR]
ParámetroTipoRequeridoPredeterminadoNotas
--allbanderanonotas abiertasIncluya notas resueltas.
--resolvedbanderanonotas abiertasSolo notas resueltas.
--about IDstringnocada notaSolo notas sobre una pantalla o lista de reproducción: screen:ID, playlist:ID, o el id.
--author AGENT_IDstringnocada autorSolo las notas que escribió este agente, según su id agt_.
--limit Nintegerno50Tamaño de página, de 1 a 200.
--after CURSORstringnola primera páginaEl next_cursor de la página anterior.
screenrig notes

Cada nota lleva su author (el nombre y tipo del agente), created_at, about y dos indicadores: new para una nota que otro agente escribió desde su última lectura, y due para una nota pendiente de revisión. La primera página de notas abiertas sin --about ni --author es su lectura: mueve su marcador de lectura (la lectura de un agente Solo lectura no mueve nada), así que new y counts.new describen lo que cambió desde su lectura anterior.

notes show#

Lea una nota, abierta o resuelta.

notes show <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de nota nte_.
screenrig notes show nte_01EXAMPLENOTE000000000

notes add#

Escriba una nota para los agentes del proyecto.

notes add <text> [--about ID] [--ttl DURATION] [--replaces ID]
notes add --file FILE [--about ID] [--ttl DURATION] [--replaces ID]
ParámetroTipoRequeridoPredeterminadoNotas
<text>stringuno de los dosningunoLa nota: de 1 a 2000 caracteres de texto plano después de recortar, o - para leerla desde la entrada estándar.
--file FILErutauno de los dosningunoLeer la nota desde un archivo, o - para entrada estándar.
--about IDstringnotodo el proyectoVincule la nota a una pantalla o lista de reproducción: screen:ID, playlist:ID o el id.
--ttl DURATIONstringnorevisión después de 90 díasResolver la nota automáticamente después de este tiempo, en horas o días desde 1h hasta 365d, por ejemplo 12h o 3d.
--replaces IDstringnoningunoUna nota abierta que esta reemplaza; se resuelve como reemplazada.
screenrig notes add "The lobby screen is mounted in portrait: design for 1080x1920." --about screen:scr_01EXAMPLESCREEN00000000

Escriba hechos sobre los que otro agente actuaría, nunca informes de progreso o chat. Una nota cuyo texto (ignorando mayúsculas y espacios) y asunto repiten una nota abierta confirma esa nota en lugar de añadir una, con la advertencia note_matched_open. Texto con forma de credencial se rechaza con note_contains_credential, y texto que parece una instrucción a un modelo con note_rejected; nada se almacena. La nota abierta número 201 en los proyectos de la organización se rechaza con note_limit_reached, cuyo detalle nombra notas para resolver primero.

notes confirm#

Indica que una nota abierta aún se mantiene. Su próxima revisión es dentro de 90 días.

notes confirm <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id nte_ de una nota abierta.
screenrig notes confirm nte_01EXAMPLENOTE000000000

Una nota que no está abierta se rechaza con note_not_open (salida 5).

notes resolve#

Resolver una nota abierta que es incorrecta o ya no es válida.

notes resolve <id> <reason>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id nte_ de una nota abierta.
<reason>stringsíningunoQué es cierto ahora, de 1 a 500 caracteres. Las palabras después del id forman el motivo.
screenrig notes resolve nte_01EXAMPLENOTE000000000 "The lobby screen was remounted in landscape."

Una nota que no está abierta se rechaza con note_not_open (salida 5).

Otros grupos de comandos