@eventmodelers/cli 2.0.36 → 2.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eventmodelers/cli",
3
- "version": "2.0.36",
3
+ "version": "2.0.37",
4
4
  "description": "Eventmodelers CLI — real-time Claude agent + skills for Claude Code, for any stack (Node, Supabase, Axon, OpenCQRS, UmaDB, Kurrent, or modeling-only)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -93,6 +93,11 @@
93
93
  .em-toast.em-error { background: #b91c1c; }
94
94
  .em-banner { padding: 10px 16px; font: 14px system-ui; color: #fff; background: #b91c1c; }
95
95
  .em-banner pre { margin: 6px 0 0; white-space: pre-wrap; font-size: 12px; }
96
+ .em-note { display: flex; align-items: flex-start; gap: 8px; padding: 4px 12px; font: 12px system-ui; color: #92400e; background: #fffbeb; border-bottom: 1px solid #fde68a; }
97
+ .em-note details { flex: 1; }
98
+ .em-note summary { cursor: pointer; }
99
+ .em-note pre { margin: 4px 0; white-space: pre-wrap; font-size: 11px; color: #451a03; }
100
+ .em-note button { border: 0; background: none; cursor: pointer; font-size: 14px; line-height: 1; color: inherit; }
96
101
  /* Narrow (the small snippet in the chat): the page gets all the room — the event panel is for the wider views. */
97
102
  @media (max-width: 720px) { .em-shell { grid-template-columns: 1fr; } .em-panel { display: none; } }
98
103
  </style>
@@ -780,10 +785,21 @@ globalThis.emMount = () => {
780
785
  }
781
786
  const failed = EMRuntime.runSpecs(EMRuntime.domain).filter((r) => !r.pass);
782
787
  if (failed.length) {
783
- show(
784
- `${failed.length} scenario${failed.length === 1 ? '' : 's'} from the board fail`,
785
- failed.map((r) => `✗ [${r.spec.slice || '-'}] ${r.spec.title}\n ${r.detail}`).join('\n'),
786
- );
788
+ const note = document.createElement('div');
789
+ note.className = 'em-note';
790
+ const det = document.createElement('details');
791
+ const sum = document.createElement('summary');
792
+ sum.textContent = `${failed.length} scenario${failed.length === 1 ? '' : 's'} from the board fail — run /prototype again to regenerate`;
793
+ const pre = document.createElement('pre');
794
+ pre.textContent = failed.map((r) => `✗ [${r.spec.slice || '-'}] ${r.spec.title}\n ${r.detail}`).join('\n');
795
+ det.append(sum, pre);
796
+ const close = document.createElement('button');
797
+ close.type = 'button';
798
+ close.title = 'Dismiss';
799
+ close.textContent = '×';
800
+ close.onclick = () => note.remove();
801
+ note.append(det, close);
802
+ banner.appendChild(note);
787
803
  }
788
804
  emMount();
789
805
  })();