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:
| Estado | Significado | Siguiente paso |
|---|---|---|
pending | Esperando a una persona. | Dé a la persona la URL de revisión; verifique nuevamente más tarde. |
approved | Aplicado a la lista de reproducción o pantallas. | Verificar en pantalla con screen show y una captura. |
changes_requested | La persona solicitó cambios; decision_note dice cuáles. | Revise y proponga de nuevo con --note. |
rejected | La persona rechazó; decision_note dice por qué. | No reenvíe el mismo cambio; pregunte a la persona. |
withdrawn | El proponente lo retiró. | Ninguno. |
superseded | Una 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. |
stale | La 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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
--state STATE | string | no | pending | pending, decided o all. |
--kind KIND | string | no | cada tipo | playlist_change, screen_change, ad_creative o protected_change. |
--limit N | integer | no | 50 | Revisiones por página, de 1 a 100. |
--cursor CURSOR | string | no | la primera página | El next_cursor de la página anterior. |
screenrig reviews list --state all
screenrig reviews list --kind protected_changeEl 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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | El id de revisión del resultado pending_review, o el de una revisión de creatividad publicitaria. |
screenrig reviews show rvw_LOBBYLa 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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | Una revisión pendiente propuesta en esta sesión. |
screenrig reviews withdraw rvw_LOBBYNada 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).
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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
--all | bandera | no | notas abiertas | Incluya notas resueltas. |
--resolved | bandera | no | notas abiertas | Solo notas resueltas. |
--about ID | string | no | cada nota | Solo notas sobre una pantalla o lista de reproducción: screen:ID, playlist:ID, o el id. |
--author AGENT_ID | string | no | cada autor | Solo las notas que escribió este agente, según su id agt_. |
--limit N | integer | no | 50 | Tamaño de página, de 1 a 200. |
--after CURSOR | string | no | la primera página | El next_cursor de la página anterior. |
screenrig notesCada 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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | El id de nota nte_. |
screenrig notes show nte_01EXAMPLENOTE000000000notes 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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<text> | string | uno de los dos | ninguno | La nota: de 1 a 2000 caracteres de texto plano después de recortar, o - para leerla desde la entrada estándar. |
--file FILE | ruta | uno de los dos | ninguno | Leer la nota desde un archivo, o - para entrada estándar. |
--about ID | string | no | todo el proyecto | Vincule la nota a una pantalla o lista de reproducción: screen:ID, playlist:ID o el id. |
--ttl DURATION | string | no | revisión después de 90 días | Resolver la nota automáticamente después de este tiempo, en horas o días desde 1h hasta 365d, por ejemplo 12h o 3d. |
--replaces ID | string | no | ninguno | Una 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_01EXAMPLESCREEN00000000Escriba 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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | El id nte_ de una nota abierta. |
screenrig notes confirm nte_01EXAMPLENOTE000000000Una 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ámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | El id nte_ de una nota abierta. |
<reason> | string | sí | ninguno | Qué 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).
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.
<id>scr_opl_, que coincide con la palabra objetivo.--page PAGE_IDUn comentario no establecido se lee como
{ "comments": null }.screen showyplaylist showincluyencommentscuando el servidor lo envía.comment set#Escriba el objeto comentario.
<id>scr_opl_.--json-value JSON--file FILE-para la entrada estándar.--page PAGE_IDCrear y actualizar lista de reproducción no puede establecer comentarios; para eso están estos comandos.
comment delete#Eliminar el objeto comentario.
<id>scr_opl_.--page PAGE_IDEliminar un comentario que no está establecido tiene éxito.