You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -50,7 +50,7 @@ Created by **Nerio Villalobos** (<nervill@gmail.com>).
50
50
```bash
51
51
sf plugins install github:NerioVillalobos/plugin-metadelta.git
52
52
```
53
-
Confirm installation with `sf plugins`, which should list `@nervill/metadelta 0.11.8`.
53
+
Confirm installation with `sf plugins`, which should list `@nervill/metadelta 0.11.9`.
54
54
55
55
3. (Optional, for local development) Clone this repository and install dependencies:
56
56
```bash
@@ -63,7 +63,7 @@ Created by **Nerio Villalobos** (<nervill@gmail.com>).
63
63
npm run build
64
64
sf plugins link .
65
65
```
66
-
Confirm installation with `sf plugins`, which should list `@nervill/metadelta 0.11.8 (link)`.
66
+
Confirm installation with `sf plugins`, which should list `@nervill/metadelta 0.11.9 (link)`.
67
67
68
68
### Usage
69
69
@@ -380,13 +380,22 @@ Starts a temporary terminal monitor for Salesforce Core and Vlocity metadata dri
380
380
sf metadelta monitor run --org DEV
381
381
```
382
382
383
+
Options:
384
+
385
+
| Flag | Description | Default |
386
+
| --- | --- | --- |
387
+
|`--org`, `-o`| Alias or username of the target org. | Required |
388
+
|`--interval`| Refresh interval in minutes. Values below `1` are normalized to `1`. |`5`|
389
+
|`--scope`| Metadata source to monitor: `all`, `salesforce`, or `vlocity`. |`all`|
390
+
|`--once`| Run one refresh cycle and exit after cleanup. Useful for validation. |`false`|
391
+
383
392
The monitor creates `.metadelta-monitor/`, retrieves the current metadata snapshot, initializes a local-only Git repository as the diff engine, and refreshes every five minutes. `NEXT` shows the exact next refresh time instead of repainting a countdown. The first cycle creates the baseline and shows `STATUS: BASELINE CREATED`; later refreshes show added, modified, deleted, or renamed files. Full errors and Vlocity warnings are wrapped in a detail section and automatically pause UI repainting so the text can be selected/copied.
384
393
385
394
The UI has two navigable sections. `SALESFORCE CORE / VLOCITY` groups changes by metadata type and shows the count, latest change date, and latest modifier foreach type. `RECENT CHANGES` lists the session-cumulative component changes with the most recently detected items first. The arrow keys move the `>` selector across both sections; when the selected row moves past the visible terminal area, the list scrolls so the selector remains visible. Press Enter or `d` on an individual change to see its file, metadata query, modifier, detection time, and Git diff summary. Press Enter or `d` on a metadata type to open `TYPE DETAILS`, which lists the changed components for that typein recent-first order.
386
395
387
396
Press `p` to pause/resume, `r` to refresh, `s`for Salesforce only, `v`for Vlocity only, `a`for all, and `q`, `x`, `ESC`, `CTRL+C`, or `exit` to quit.
388
397
389
-
For Vlocity-enabled orgs, the default monitor scope runs `packExportAllDefault`without a job file:
398
+
For Vlocity-enabled orgs, the default monitor scope runs `packExportAllDefault`with a temporary job file that includes `continueAfterError: true`:
390
399
391
400
```bash
392
401
sf metadelta monitor run --org DEV --scope vlocity
@@ -403,7 +412,7 @@ sf metadelta monitor run --org DEV --scope salesforce
403
412
>**Linked ESM note:** When `sf` prints `@nervill/metadelta is a linked ESM module and cannot be auto-transpiled`, always run `npm run build` before testing commands. If your CLI still does not resolve `sf metadelta task record`, use `sf metadelta:task:record` and relink the plugin. Task diagnostics are saved in`.metadelta/metadelta-task-orchestrator.json`. This is mandatory after local code changes; otherwise `sf` may run stale compiled `lib/` output.
404
413
>**Task play hardening:**`sf metadelta task play` now includes automatic stabilizers forfrontdoor/base URL separation, initial Setup popup recovery, popup rebinds, App Launcher fallbacks, dynamic Permission Set Assignment selectors, and Action Library scroll selection + Finish enablement checksin the temporary `.metadelta.*`test file.
405
414
>**Salesforce CLI secrets workaround (v0.11.4):**`sf metadelta task record` and `sf metadelta task play` build Salesforce frontdoor URLs from the alias passed in`--org`. When they need the real `accessToken`, Metadelta now runs the required `sf org display --target-org <alias> --verbose --json` calls with `SF_TEMP_SHOW_SECRETS=true`in the child process environment. This keeps the automation compatible with Salesforce CLI outputs that redact secrets, without asking users to run `sf org auth ...` interactively or set the workaround globally.
406
-
>**Monitor Vlocity support (v0.11.8):**`sf metadelta monitor run` can monitor Vlocity-only sessions with `--scope vlocity` and uses `vlocity -sfdx.username <orgAlias> --projectPath <paths.vlocity>-nojob packExportAllDefault`.
415
+
>**Monitor Vlocity support (v0.11.9):**`sf metadelta monitor run` can monitor Vlocity-only sessions with `--scope vlocity` and uses `vlocity -sfdx.username <orgAlias> -job <temporary-yaml> --projectPath <paths.vlocity> packExportAllDefault`. The temporary YAML sets `continueAfterError: true`.
407
416
>**Task orchestrator diagnostics:** The orchestrator now stores the most relevant Playwright failure excerpt (not only the exit code), making solution matching and future triage more accurate in`.metadelta/metadelta-task-orchestrator.json`.
408
417
>**Report a task-play issue:** If playback fails, please open a public GitHub Issue at <https://github.com/NerioVillalobos/plugin-metadelta/issues> and include: (1) command executed, (2) full error text, (3) screenshot captured while running with `--header`, and (4) sanitized `.metadelta.*` snippet around the failing step.
409
418
@@ -1010,13 +1019,22 @@ Inicia un monitor temporal de terminal para detectar drift de metadatos Salesfor
1010
1019
sf metadelta monitor run --org DEV
1011
1020
```
1012
1021
1022
+
Opciones:
1023
+
1024
+
| Flag | Descripción | Valor por defecto |
1025
+
| --- | --- | --- |
1026
+
|`--org`, `-o`| Alias o username del org destino. | Requerido |
1027
+
|`--interval`| Intervalo de refresh en minutos. Los valores menores a `1` se normalizan a `1`. |`5`|
1028
+
|`--scope`| Fuente de metadata a monitorear: `all`, `salesforce` o `vlocity`. |`all`|
1029
+
|`--once`| Ejecuta un solo ciclo de refresh y sale después del cleanup. Útil para validación. |`false`|
1030
+
1013
1031
El monitor crea `.metadelta-monitor/`, recupera el snapshot actual de metadatos, inicializa un repositorio Git local como motor de diff y refresca cada cinco minutos. `NEXT` muestra la hora exacta del próximo refresh en vez de repintar un countdown. El primer ciclo crea la línea base y muestra `STATUS: BASELINE CREATED`; los siguientes refresh muestran archivos agregados, modificados, eliminados o renombrados. Los errores completos y avisos de Vlocity se muestran envueltos en una sección de detalle y pausan automáticamente el repintado de la UI para poder seleccionar/copiar el texto.
1014
1032
1015
1033
La UI tiene dos secciones navegables. `SALESFORCE CORE / VLOCITY` agrupa cambios por tipo de metadata y muestra contador, fecha del último cambio y último usuario modificador para cada tipo. `RECENT CHANGES` lista los cambios acumulados de la sesión con los elementos detectados más recientemente primero. Las flechas mueven el selector `>` por ambas secciones; cuando la fila seleccionada supera el área visible de la terminal, la lista se desplaza para mantener el selector en pantalla. Presiona Enter o `d` sobre un cambio individual para ver archivo, query de metadata, modificador, hora de detección y resumen del diff Git. Presiona Enter o `d` sobre un tipo de metadata para abrir `TYPE DETAILS`, que lista los componentes cambiados de ese tipo en orden reciente primero.
1016
1034
1017
1035
Presiona `p` para pausar/reanudar, `r` para refrescar, `s` para solo Salesforce, `v` para solo Vlocity, `a` para todo y `q`, `x`, `ESC`, `CTRL+C` o `exit` para salir.
1018
1036
1019
-
Para orgs con Vlocity habilitado, el scope por defecto del monitor ejecuta `packExportAllDefault`sin archivo job:
1037
+
Para orgs con Vlocity habilitado, el scope por defecto del monitor ejecuta `packExportAllDefault`con un job YAML temporal que incluye `continueAfterError: true`:
1020
1038
1021
1039
```bash
1022
1040
sf metadelta monitor run --org DEV --scope vlocity
@@ -1033,7 +1051,7 @@ sf metadelta monitor run --org DEV --scope salesforce
1033
1051
>**Nota para ESM enlazado:** Si `sf` muestra `@nervill/metadelta is a linked ESM module and cannot be auto-transpiled`, ejecuta `npm run build` antes de probar comandos. Si la CLI no resuelve `sf metadelta task record`, usa `sf metadelta:task:record` y vuelve a enlazar el plugin. El diagnóstico de tareas se guarda en `.metadelta/metadelta-task-orchestrator.json`. Esto es obligatorio tras cambios locales de código; de lo contrario `sf` puede ejecutar un `lib/` compilado desactualizado.
1034
1052
>**Robustez en task play:**`sf metadelta task play` incluye estabilizadores automáticos para separar frontdoor/base URL, recuperar la apertura inicial del popup de Setup, reabrir popups, aplicar fallback en App Launcher, normalizar selectores dinámicos de Permission Set Assignment y resolver selección con scroll + validación de botón Finish en Action Library dentro del archivo temporal `.metadelta.*`.
1035
1053
>**Workaround de secretos de Salesforce CLI (v0.11.4):**`sf metadelta task record` y `sf metadelta task play` construyen URLs frontdoor usando el alias recibido en `--org`. Cuando necesitan el `accessToken` real, Metadelta ejecuta las llamadas requeridas a `sf org display --target-org <alias> --verbose --json` con `SF_TEMP_SHOW_SECRETS=true` en el entorno del proceso hijo. Esto mantiene la automatización compatible con salidas de Salesforce CLI que ocultan secretos, sin pedir al usuario ejecutar `sf org auth ...` de forma interactiva ni configurar el workaround globalmente.
1036
-
>**Soporte monitor Vlocity (v0.11.8):**`sf metadelta monitor run` puede monitorear sesiones solo Vlocity con `--scope vlocity` y usa `vlocity -sfdx.username <orgAlias> --projectPath <paths.vlocity>-nojob packExportAllDefault`.
1054
+
>**Soporte monitor Vlocity (v0.11.9):**`sf metadelta monitor run` puede monitorear sesiones solo Vlocity con `--scope vlocity` y usa `vlocity -sfdx.username <orgAlias> -job <temporary-yaml> --projectPath <paths.vlocity> packExportAllDefault`. El YAML temporal define `continueAfterError: true`.
1037
1055
>**Diagnóstico del orquestador:** El orquestador ahora guarda el fragmento más relevante del fallo de Playwright (no solo el código de salida), mejorando el match de soluciones y el triage futuro dentro de `.metadelta/metadelta-task-orchestrator.json`.
1038
1056
>**Reportar incidencias de task play:** Si la reproducción falla, abre un Issue público en GitHub: <https://github.com/NerioVillalobos/plugin-metadelta/issues> e incluye: (1) comando ejecutado, (2) texto completo del error, (3) captura ejecutando con `--header`, y (4) fragmento saneado del archivo `.metadelta.*` en el paso donde falla.
0 commit comments