@yemi33/minions 0.1.2146 → 0.1.2148

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/bin/minions.js CHANGED
@@ -1044,6 +1044,14 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
1044
1044
  Dashboard:
1045
1045
  minions dash Start web dashboard (default :7331)
1046
1046
 
1047
+ Watchdog (out-of-process recovery):
1048
+ minions watchdog install [--interval=5]
1049
+ Register OS scheduler task to probe + heal every N minutes
1050
+ (Windows Task Scheduler / macOS launchd / Linux systemd --user)
1051
+ minions watchdog uninstall Remove the scheduled task (idempotent)
1052
+ minions watchdog status Show registration + last-run details from the OS scheduler
1053
+ minions watchdog tick One-shot probe + recovery (used by the scheduler; safe to run by hand)
1054
+
1047
1055
  Runtime root: ${MINIONS_HOME}
1048
1056
  `);
1049
1057
  } else if (cmd === 'init') {
@@ -1348,6 +1356,12 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
1348
1356
  const minionsBin = __filename;
1349
1357
  if (sub === 'tick') {
1350
1358
  const shared = require(path.join(MINIONS_HOME, 'engine', 'shared'));
1359
+ // Resolve the live dashboard port via the in-file resolver, which honors
1360
+ // the runtime beacon (written by dashboard.js after bind), env, and
1361
+ // config — so the watchdog probes whatever port the dashboard actually
1362
+ // fell back to under EADDRINUSE, not a hard-coded default.
1363
+ // See W-mq5nwl9l for the helper contract and W-mq5y1cti for the
1364
+ // watchdog-tick beacon hookup.
1351
1365
  watchdog.tick({
1352
1366
  minionsHome: MINIONS_HOME,
1353
1367
  minionsBin,
@@ -26,7 +26,20 @@ function renderPinned(entries) {
26
26
 
27
27
  function openPinNoteModal() {
28
28
  document.getElementById('modal-title').textContent = 'Pin a Note';
29
- document.getElementById('modal-body').innerHTML =
29
+ // The shared #modal-body is reused across every modal, and other openers
30
+ // (e.g. the pinned-note view modal, inbox edit/steer mode) leave inline
31
+ // font-family / white-space / padding / border styles on it. Without this
32
+ // reset the create form inherits whichever modal opened last, distorting
33
+ // its padding and font. Clear those inline styles so the dialog always
34
+ // renders against the default .modal-body CSS — mirror of openPinnedEdit.
35
+ const modalBody = document.getElementById('modal-body');
36
+ modalBody.style.fontFamily = '';
37
+ modalBody.style.whiteSpace = '';
38
+ modalBody.style.padding = '';
39
+ modalBody.style.border = '';
40
+ modalBody.style.borderRadius = '';
41
+ const qa = document.getElementById('modal-qa'); if (qa) qa.style.display = 'none';
42
+ modalBody.innerHTML =
30
43
  '<div style="display:flex;flex-direction:column;gap:12px">' +
31
44
  '<label style="color:var(--text);font-size:var(--text-md)">Title<input id="pin-title" style="display:block;width:100%;margin-top:4px;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)" placeholder="e.g. API freeze until Friday"></label>' +
32
45
  '<label style="color:var(--text);font-size:var(--text-md)">Content<textarea id="pin-content" rows="4" style="display:block;width:100%;margin-top:4px;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:vertical;font-family:inherit" placeholder="Context all agents should see..."></textarea></label>' +
@@ -8,7 +8,8 @@
8
8
  silently break (handler attaches before crash, button still renders,
9
9
  click fires but no global handler). addEventListener attaches inside
10
10
  the same scope and is observable in DevTools when wiring fails. -->
11
- <button id="slim-new-chat-btn" class="icon-btn" title="New chat (clears session)">&#x270E;</button>
11
+ <button id="slim-back-classic-btn" class="topbar-back-btn" title="Return to the classic dashboard">&#8592; Classic dashboard</button>
12
+ <button id="slim-report-bug-btn" class="topbar-back-btn" title="Report a bug in Minions">Report Bug</button>
12
13
  <button id="slim-settings-btn" class="icon-btn" title="Settings">&#9881;</button>
13
14
  </div>
14
15
  </div>
@@ -171,8 +171,9 @@
171
171
  inputEl.focus();
172
172
  }
173
173
 
174
- var newChatBtn = document.getElementById('slim-new-chat-btn');
175
- if (newChatBtn) newChatBtn.addEventListener('click', slimChatNew);
174
+ // (The header "new chat" button was replaced by "Classic dashboard" /
175
+ // "Report Bug"; new chats are created via the "+" affordance in the chat
176
+ // tab bar — see renderTabBar.)
176
177
  sendBtn.addEventListener('click', sendMessage);
177
178
  stopBtn.addEventListener('click', abortInFlight);
178
179
  inputEl.addEventListener('keydown', function(ev) {
@@ -83,7 +83,12 @@
83
83
  chip.title = 'review';
84
84
  } else {
85
85
  chip.className = 'completions-card-type-chip';
86
- chip.textContent = typeEmoji(c.type);
86
+ // Known types → Fluent icon via CSS mask (data-type); unknown → "•" glyph.
87
+ if (c.type && TYPE_ICON_SET[c.type]) {
88
+ chip.setAttribute('data-type', c.type);
89
+ } else {
90
+ chip.textContent = '•';
91
+ }
87
92
  if (c.type) chip.title = c.type;
88
93
  }
89
94
  railTop.appendChild(chip);
@@ -92,7 +97,9 @@
92
97
  railBottom.className = 'completions-card-rail-bottom';
93
98
  var icon = document.createElement('span');
94
99
  icon.className = 'completions-card-status-icon ' + status;
95
- icon.textContent = status === 'active' ? '●' : (status === 'ok' ? '✓' : (status === 'warn' ? '⚠' : '✕'));
100
+ // ok/warn/fail render as Fluent icons via the status class (CSS mask in
101
+ // styles.css); the live 'active' state keeps its pulsing dot.
102
+ if (status === 'active') icon.textContent = '●';
96
103
  icon.title = status === 'active' ? 'Running' : (status === 'ok' ? 'Success' : (status === 'warn' ? 'Partial' : 'Failure'));
97
104
  var sep = document.createElement('span');
98
105
  sep.className = 'completions-card-rail-sep';
@@ -474,6 +474,29 @@
474
474
  .tile-chip.blue { background: rgba(88, 166, 255, 0.12); color: var(--blue); border-color: var(--blue); }
475
475
  .tile-empty { color: var(--muted); font-style: italic; font-size: 13px; }
476
476
 
477
+ /* Pinned-context list rows (slim-pinned-modal). */
478
+ .pinned-row {
479
+ border: 1px solid var(--border);
480
+ border-radius: var(--radius);
481
+ background: var(--surface2);
482
+ padding: 10px 12px;
483
+ margin-bottom: 8px;
484
+ }
485
+ .pinned-row-top { display: flex; align-items: center; gap: 8px; }
486
+ .pinned-row-title {
487
+ flex: 1; min-width: 0;
488
+ font-weight: 600; font-size: var(--text-md); color: var(--text);
489
+ overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
490
+ }
491
+ .pinned-row-preview {
492
+ margin-top: 6px;
493
+ font-size: var(--text-base); color: var(--muted); line-height: 1.5;
494
+ white-space: pre-wrap; word-break: break-word;
495
+ }
496
+ .pinned-row-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
497
+ .pinned-row-actions .btn-secondary { padding: 4px 12px; font-size: var(--text-base); }
498
+ .pinned-row-unpin { color: var(--red); border-color: var(--red); }
499
+
477
500
  .chat-thinking {
478
501
  color: var(--muted);
479
502
  font-size: 13px;
@@ -564,7 +587,20 @@
564
587
  transition: border-color 0.15s, background 0.15s, color 0.15s;
565
588
  }
566
589
  .link-pr-btn:hover { border-color: var(--green); background: var(--surface); color: var(--green); }
567
- .link-pr-btn .link-pr-icon { font-size: 16px; }
590
+ /* Action-button icons render as Fluent System Icons (Microsoft, MIT — see
591
+ attribution in the completion-card block) via CSS mask, inheriting the
592
+ button text color (currentColor → green on hover). */
593
+ .link-pr-btn .link-pr-icon {
594
+ display: inline-block;
595
+ width: 18px;
596
+ height: 18px;
597
+ background-color: currentColor;
598
+ -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
599
+ -webkit-mask-position: center; mask-position: center;
600
+ -webkit-mask-size: contain; mask-size: contain;
601
+ }
602
+ .act-ic-link { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M9%207C9.55228%207%2010%207.44772%2010%208C10%208.51284%209.61396%208.93551%209.11662%208.99327L9%209H7C5.34315%209%204%2010.3431%204%2012C4%2013.5977%205.24892%2014.9037%206.82373%2014.9949L7%2015H9C9.55228%2015%2010%2015.4477%2010%2016C10%2016.5128%209.61396%2016.9355%209.11662%2016.9933L9%2017H7C4.23858%2017%202%2014.7614%202%2012C2%209.31125%204.12231%207.11818%206.78311%207.00462L7%207H9ZM17%207C19.7614%207%2022%209.23858%2022%2012C22%2014.6888%2019.8777%2016.8818%2017.2169%2016.9954L17%2017H15C14.4477%2017%2014%2016.5523%2014%2016C14%2015.4872%2014.386%2015.0645%2014.8834%2015.0067L15%2015H17C18.6569%2015%2020%2013.6569%2020%2012C20%2010.4023%2018.7511%209.09634%2017.1763%209.00509L17%209H15C14.4477%209%2014%208.55228%2014%208C14%207.48716%2014.386%207.06449%2014.8834%207.00673L15%207H17ZM7%2011H17C17.5523%2011%2018%2011.4477%2018%2012C18%2012.5128%2017.614%2012.9355%2017.1166%2012.9933L17%2013H7C6.44772%2013%206%2012.5523%206%2012C6%2011.4872%206.38604%2011.0645%206.88338%2011.0067L7%2011H17H7Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M9%207C9.55228%207%2010%207.44772%2010%208C10%208.51284%209.61396%208.93551%209.11662%208.99327L9%209H7C5.34315%209%204%2010.3431%204%2012C4%2013.5977%205.24892%2014.9037%206.82373%2014.9949L7%2015H9C9.55228%2015%2010%2015.4477%2010%2016C10%2016.5128%209.61396%2016.9355%209.11662%2016.9933L9%2017H7C4.23858%2017%202%2014.7614%202%2012C2%209.31125%204.12231%207.11818%206.78311%207.00462L7%207H9ZM17%207C19.7614%207%2022%209.23858%2022%2012C22%2014.6888%2019.8777%2016.8818%2017.2169%2016.9954L17%2017H15C14.4477%2017%2014%2016.5523%2014%2016C14%2015.4872%2014.386%2015.0645%2014.8834%2015.0067L15%2015H17C18.6569%2015%2020%2013.6569%2020%2012C20%2010.4023%2018.7511%209.09634%2017.1763%209.00509L17%209H15C14.4477%209%2014%208.55228%2014%208C14%207.48716%2014.386%207.06449%2014.8834%207.00673L15%207H17ZM7%2011H17C17.5523%2011%2018%2011.4477%2018%2012C18%2012.5128%2017.614%2012.9355%2017.1166%2012.9933L17%2013H7C6.44772%2013%206%2012.5523%206%2012C6%2011.4872%206.38604%2011.0645%206.88338%2011.0067L7%2011H17H7Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
603
+ .act-ic-pin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M21.0682%207.75765L16.2425%202.93189C14.9152%201.60462%2012.6777%201.96772%2011.8382%203.6466L9.40281%208.51748C9.31512%208.69287%209.16223%208.82694%208.97688%208.89096L4.81061%2010.3302C3.93791%2010.6317%203.682%2011.7427%204.33487%2012.3956L7.43936%2015.5001L3.00008%2019.9394L3%2021.0001H4.06074L8.50002%2016.5607L11.6045%2019.6653C12.2574%2020.3181%2013.3684%2020.0622%2013.6699%2019.1895L15.1092%2015.0232C15.1732%2014.8379%2015.3073%2014.685%2015.4826%2014.5973L20.3535%2012.1619C22.0324%2011.3224%2022.3955%209.08491%2021.0682%207.75765Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M21.0682%207.75765L16.2425%202.93189C14.9152%201.60462%2012.6777%201.96772%2011.8382%203.6466L9.40281%208.51748C9.31512%208.69287%209.16223%208.82694%208.97688%208.89096L4.81061%2010.3302C3.93791%2010.6317%203.682%2011.7427%204.33487%2012.3956L7.43936%2015.5001L3.00008%2019.9394L3%2021.0001H4.06074L8.50002%2016.5607L11.6045%2019.6653C12.2574%2020.3181%2013.3684%2020.0622%2013.6699%2019.1895L15.1092%2015.0232C15.1732%2014.8379%2015.3073%2014.685%2015.4826%2014.5973L20.3535%2012.1619C22.0324%2011.3224%2022.3955%209.08491%2021.0682%207.75765Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
568
604
  .link-pr-btn .link-pr-label { font-weight: 600; }
569
605
  .link-pr-btn .link-pr-sub { font-size: 12px; color: var(--muted); }
570
606
 
@@ -940,19 +976,61 @@
940
976
  @media (prefers-reduced-motion: reduce) {
941
977
  .completions-card-status-icon.active { animation: none; }
942
978
  }
979
+ /* Terminal status icons (ok/warn/fail) as Fluent masks; .active keeps its
980
+ pulsing "•" dot. background-color: currentColor inherits the icon color
981
+ set above (var(--muted), or var(--blue) for active — which is unmasked). */
982
+ .completions-card-status-icon.ok,
983
+ .completions-card-status-icon.warn,
984
+ .completions-card-status-icon.fail {
985
+ display: inline-block;
986
+ width: 13px; height: 13px;
987
+ vertical-align: -2px;
988
+ background-color: currentColor;
989
+ -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
990
+ -webkit-mask-position: center; mask-position: center;
991
+ -webkit-mask-size: contain; mask-size: contain;
992
+ }
993
+ .completions-card-status-icon.ok { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M8.5%2016.5858L4.70711%2012.7929C4.31658%2012.4024%203.68342%2012.4024%203.29289%2012.7929C2.90237%2013.1834%202.90237%2013.8166%203.29289%2014.2071L7.79289%2018.7071C8.18342%2019.0976%208.81658%2019.0976%209.20711%2018.7071L20.2071%207.70711C20.5976%207.31658%2020.5976%206.68342%2020.2071%206.29289C19.8166%205.90237%2019.1834%205.90237%2018.7929%206.29289L8.5%2016.5858Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M8.5%2016.5858L4.70711%2012.7929C4.31658%2012.4024%203.68342%2012.4024%203.29289%2012.7929C2.90237%2013.1834%202.90237%2013.8166%203.29289%2014.2071L7.79289%2018.7071C8.18342%2019.0976%208.81658%2019.0976%209.20711%2018.7071L20.2071%207.70711C20.5976%207.31658%2020.5976%206.68342%2020.2071%206.29289C19.8166%205.90237%2019.1834%205.90237%2018.7929%206.29289L8.5%2016.5858Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
994
+ .completions-card-status-icon.warn { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M9.13841%203.70704C10.3662%201.43109%2013.6314%201.43093%2014.8591%203.70704L21.6023%2016.209C22.7698%2018.3741%2021.2018%2021.0016%2018.7419%2021.002H5.25462C2.79479%2021.0016%201.22676%2018.3741%202.39426%2016.209L9.13841%203.70704ZM12.0007%2015C11.4486%2015.0002%2011.0008%2015.4479%2011.0007%2016C11.0007%2016.5522%2011.4486%2016.9998%2012.0007%2017C12.5528%2016.9998%2013.0007%2016.5522%2013.0007%2016C13.0006%2015.4479%2012.5528%2015.0002%2012.0007%2015ZM12.0007%207.50001C11.5867%207.50019%2011.2508%207.83598%2011.2507%208.25001V12.75C11.2507%2013.1641%2011.5867%2013.4998%2012.0007%2013.5C12.4148%2013.4998%2012.7507%2013.1641%2012.7507%2012.75V8.25001C12.7506%207.83599%2012.4147%207.50021%2012.0007%207.50001Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M9.13841%203.70704C10.3662%201.43109%2013.6314%201.43093%2014.8591%203.70704L21.6023%2016.209C22.7698%2018.3741%2021.2018%2021.0016%2018.7419%2021.002H5.25462C2.79479%2021.0016%201.22676%2018.3741%202.39426%2016.209L9.13841%203.70704ZM12.0007%2015C11.4486%2015.0002%2011.0008%2015.4479%2011.0007%2016C11.0007%2016.5522%2011.4486%2016.9998%2012.0007%2017C12.5528%2016.9998%2013.0007%2016.5522%2013.0007%2016C13.0006%2015.4479%2012.5528%2015.0002%2012.0007%2015ZM12.0007%207.50001C11.5867%207.50019%2011.2508%207.83598%2011.2507%208.25001V12.75C11.2507%2013.1641%2011.5867%2013.4998%2012.0007%2013.5C12.4148%2013.4998%2012.7507%2013.1641%2012.7507%2012.75V8.25001C12.7506%207.83599%2012.4147%207.50021%2012.0007%207.50001Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
995
+ .completions-card-status-icon.fail { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M4.2097%204.3871L4.29289%204.29289C4.65338%203.93241%205.22061%203.90468%205.6129%204.2097L5.70711%204.29289L12%2010.585L18.2929%204.29289C18.6834%203.90237%2019.3166%203.90237%2019.7071%204.29289C20.0976%204.68342%2020.0976%205.31658%2019.7071%205.70711L13.415%2012L19.7071%2018.2929C20.0676%2018.6534%2020.0953%2019.2206%2019.7903%2019.6129L19.7071%2019.7071C19.3466%2020.0676%2018.7794%2020.0953%2018.3871%2019.7903L18.2929%2019.7071L12%2013.415L5.70711%2019.7071C5.31658%2020.0976%204.68342%2020.0976%204.29289%2019.7071C3.90237%2019.3166%203.90237%2018.6834%204.29289%2018.2929L10.585%2012L4.29289%205.70711C3.93241%205.34662%203.90468%204.77939%204.2097%204.3871L4.29289%204.29289L4.2097%204.3871Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M4.2097%204.3871L4.29289%204.29289C4.65338%203.93241%205.22061%203.90468%205.6129%204.2097L5.70711%204.29289L12%2010.585L18.2929%204.29289C18.6834%203.90237%2019.3166%203.90237%2019.7071%204.29289C20.0976%204.68342%2020.0976%205.31658%2019.7071%205.70711L13.415%2012L19.7071%2018.2929C20.0676%2018.6534%2020.0953%2019.2206%2019.7903%2019.6129L19.7071%2019.7071C19.3466%2020.0676%2018.7794%2020.0953%2018.3871%2019.7903L18.2929%2019.7071L12%2013.415L5.70711%2019.7071C5.31658%2020.0976%204.68342%2020.0976%204.29289%2019.7071C3.90237%2019.3166%203.90237%2018.6834%204.29289%2018.2929L10.585%2012L4.29289%205.70711C3.93241%205.34662%203.90468%204.77939%204.2097%204.3871L4.29289%204.29289L4.2097%204.3871Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
943
996
  .completions-card-rail-sep {
944
997
  color: var(--muted);
945
998
  line-height: 1;
946
999
  }
947
- /* Type indicator — a single emoji glyph at 28px (alone on the rail's
948
- top row). The full c.type string is exposed via the `title`
949
- attribute so hovering reveals it. */
950
- .completions-card-type-chip {
951
- font-size: 28px;
952
- line-height: 1;
953
- cursor: help;
954
- white-space: nowrap;
955
- }
1000
+ /* ───────────────────────────────────────────────────────────────────────
1001
+ Fluent System Icons (Microsoft) MIT License.
1002
+ https://github.com/microsoft/fluentui-system-icons
1003
+ Copyright (c) Microsoft Corporation. Vendored as inline CSS `mask`
1004
+ data-URIs (24px regular) so completion-card type/status icons render as
1005
+ theme-colored monochrome glyphs (currentColor) with no font asset, no
1006
+ extra dependency, and no CSP change (img-src already allows data:).
1007
+ ─────────────────────────────────────────────────────────────────────── */
1008
+ /* Type indicator. Known work types render as a monochrome Fluent icon via
1009
+ CSS mask (inherits theme color); unknown types fall back to a "•" glyph
1010
+ sized by font-size. The full c.type is exposed via the title attribute. */
1011
+ .completions-card-type-chip[data-type] {
1012
+ display: inline-block;
1013
+ width: 24px;
1014
+ height: 24px;
1015
+ background-color: var(--text);
1016
+ -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
1017
+ -webkit-mask-position: center; mask-position: center;
1018
+ -webkit-mask-size: contain; mask-size: contain;
1019
+ }
1020
+ .completions-card-type-chip[data-type="implement"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M16.5002%202C13.4627%202%2011.0002%204.46243%2011.0002%207.5C11.0002%207.94322%2011.0528%208.37496%2011.1523%208.78899L2.84099%2017.1003C1.71967%2018.2216%201.71967%2020.0396%202.84099%2021.1609C3.96231%2022.2823%205.78033%2022.2823%206.90165%2021.1609L15.214%2012.8486C15.6272%2012.9477%2016.058%2013%2016.5002%2013C19.5378%2013%2022.0002%2010.5376%2022.0002%207.5C22.0002%206.89137%2021.9011%206.30437%2021.7175%205.75516C21.6351%205.50875%2021.4311%205.32252%2021.1782%205.26294C20.9253%205.20336%2020.6595%205.27892%2020.4758%205.46266L18.0317%207.90697C17.7389%208.19989%2017.264%208.19991%2016.9711%207.907L16.0934%207.0293C15.8005%206.73642%2015.8005%206.26156%2016.0933%205.96867L18.5375%203.5243C18.7212%203.34057%2018.7967%203.07485%2018.7371%202.82197C18.6775%202.56908%2018.4913%202.36505%2018.2449%202.28268C17.6957%202.09912%2017.1088%202%2016.5002%202Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M16.5002%202C13.4627%202%2011.0002%204.46243%2011.0002%207.5C11.0002%207.94322%2011.0528%208.37496%2011.1523%208.78899L2.84099%2017.1003C1.71967%2018.2216%201.71967%2020.0396%202.84099%2021.1609C3.96231%2022.2823%205.78033%2022.2823%206.90165%2021.1609L15.214%2012.8486C15.6272%2012.9477%2016.058%2013%2016.5002%2013C19.5378%2013%2022.0002%2010.5376%2022.0002%207.5C22.0002%206.89137%2021.9011%206.30437%2021.7175%205.75516C21.6351%205.50875%2021.4311%205.32252%2021.1782%205.26294C20.9253%205.20336%2020.6595%205.27892%2020.4758%205.46266L18.0317%207.90697C17.7389%208.19989%2017.264%208.19991%2016.9711%207.907L16.0934%207.0293C15.8005%206.73642%2015.8005%206.26156%2016.0933%205.96867L18.5375%203.5243C18.7212%203.34057%2018.7967%203.07485%2018.7371%202.82197C18.6775%202.56908%2018.4913%202.36505%2018.2449%202.28268C17.6957%202.09912%2017.1088%202%2016.5002%202Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1021
+ .completions-card-type-chip[data-type="implement:large"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M16.0792%202.41459C16.2062%202.1605%2016.4659%202%2016.75%202H18.25C18.5341%202%2018.7938%202.1605%2018.9208%202.41459L19.9208%204.41459C20.033%204.63888%2020.0256%204.90438%2019.9012%205.1221L19%206.69917V12H20.25C20.6642%2012%2021%2012.3358%2021%2012.75V14.5H14V12.75C14%2012.3358%2014.3358%2012%2014.75%2012H16V6.69917L15.0988%205.1221C14.9744%204.90438%2014.967%204.63888%2015.0792%204.41459L16.0792%202.41459ZM14%2016V18.5C14%2020.433%2015.567%2022%2017.5%2022C19.433%2022%2021%2020.433%2021%2018.5V16H14ZM8.82848%202.2123C9.03402%202.07269%209.29535%202.04394%209.52632%202.13551C11.5598%202.94176%2013%204.92679%2013%207.25C13%209.37406%2011.7961%2011.2154%2010.0357%2012.1317V19.4641C10.0357%2020.8645%208.90043%2021.9998%207.5%2021.9998C6.09956%2021.9998%204.96429%2020.8645%204.96429%2019.4641V12.1317C3.20387%2011.2154%202%209.37406%202%207.25C2%204.92688%203.44005%202.94192%205.47344%202.13561C5.70441%202.04402%205.96575%202.07277%206.1713%202.21238C6.37684%202.35198%206.4999%202.58433%206.4999%202.8328V6.49988C6.4999%207.05216%206.94761%207.49988%207.4999%207.49988C8.05218%207.49988%208.4999%207.05216%208.4999%206.49988V2.83271C8.4999%202.58425%208.62295%202.35191%208.82848%202.2123Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M16.0792%202.41459C16.2062%202.1605%2016.4659%202%2016.75%202H18.25C18.5341%202%2018.7938%202.1605%2018.9208%202.41459L19.9208%204.41459C20.033%204.63888%2020.0256%204.90438%2019.9012%205.1221L19%206.69917V12H20.25C20.6642%2012%2021%2012.3358%2021%2012.75V14.5H14V12.75C14%2012.3358%2014.3358%2012%2014.75%2012H16V6.69917L15.0988%205.1221C14.9744%204.90438%2014.967%204.63888%2015.0792%204.41459L16.0792%202.41459ZM14%2016V18.5C14%2020.433%2015.567%2022%2017.5%2022C19.433%2022%2021%2020.433%2021%2018.5V16H14ZM8.82848%202.2123C9.03402%202.07269%209.29535%202.04394%209.52632%202.13551C11.5598%202.94176%2013%204.92679%2013%207.25C13%209.37406%2011.7961%2011.2154%2010.0357%2012.1317V19.4641C10.0357%2020.8645%208.90043%2021.9998%207.5%2021.9998C6.09956%2021.9998%204.96429%2020.8645%204.96429%2019.4641V12.1317C3.20387%2011.2154%202%209.37406%202%207.25C2%204.92688%203.44005%202.94192%205.47344%202.13561C5.70441%202.04402%205.96575%202.07277%206.1713%202.21238C6.37684%202.35198%206.4999%202.58433%206.4999%202.8328V6.49988C6.4999%207.05216%206.94761%207.49988%207.4999%207.49988C8.05218%207.49988%208.4999%207.05216%208.4999%206.49988V2.83271C8.4999%202.58425%208.62295%202.35191%208.82848%202.2123Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1022
+ .completions-card-type-chip[data-type="fix"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M14.25%202.00195C14.6297%202.00195%2014.9435%202.28411%2014.9932%202.65018L15%202.75195V3.50406C15%204.13683%2014.8041%204.72384%2014.4696%205.20775C15.8646%205.68594%2016.8883%206.96607%2016.9914%208.49849L17.2469%208.49857C18.4895%208.49343%2019.4927%207.48192%2019.4876%206.23929L19.4814%204.75369C19.4797%204.33948%2019.8141%204.00231%2020.2283%204.00059C20.6425%203.99889%2020.9797%204.33328%2020.9814%204.74749L20.9876%206.23309C20.9958%208.23733%2019.4302%209.88083%2017.4522%209.99254L17.2376%209.99859L17%209.99795V11.5L21.2528%2011.5006C21.6325%2011.5006%2021.9463%2011.7827%2021.996%2012.1488L22.0028%2012.2506C22.0028%2012.6303%2021.7207%2012.9441%2021.3546%2012.9937L21.2528%2013.0006H17.0004L17%2015L17.2376%2015.0006L17.4522%2015.0066C19.3643%2015.1146%2020.891%2016.654%2020.9832%2018.5669L20.9876%2018.7661L20.9814%2020.2517C20.9797%2020.6659%2020.6425%2021.0003%2020.2283%2020.9986C19.8486%2020.997%2019.536%2020.7136%2019.4878%2020.3473L19.4814%2020.2455L19.4876%2018.7599C19.4925%2017.569%2018.5714%2016.5904%2017.4009%2016.5064L17.2469%2016.5006L16.7713%2016.5005C16.1343%2018.5294%2014.239%2020.0011%2012%2020.0011C9.76098%2020.0011%207.86569%2018.5294%207.22873%2016.5005L6.74073%2016.5006C5.4981%2016.5057%204.49492%2017.5173%204.50005%2018.7599L4.50619%2020.2455C4.50791%2020.6597%204.17351%2020.9969%203.7593%2020.9986C3.34509%2021.0003%203.00792%2020.6659%203.00621%2020.2517L3%2018.7661C2.99178%2016.7618%204.55736%2015.1183%206.5354%2015.0066L6.75003%2015.0006L7%2015V13L2.75%2013.0006C2.3703%2013.0006%202.05651%2012.7184%202.00685%2012.3524L2%2012.2506C2%2011.8709%202.28215%2011.5571%202.64823%2011.5074L2.75%2011.5006L7%2011.5V9.99795L6.75%209.99858L6.53536%209.99253C4.62326%209.88455%203.09658%208.34519%203.00438%206.43226L3%206.23308L3.00617%204.74749C3.00789%204.33328%203.34506%203.99888%203.75927%204.00059C4.13896%204.00216%204.45159%204.28561%204.49973%204.65189L4.50616%204.75369L4.50002%206.23928C4.4951%207.43014%205.41622%208.40873%206.58667%208.49274L6.7407%208.49856L7.00857%208.49849C7.11171%206.96607%208.13544%205.68594%209.53135%205.20652C9.23317%204.77747%209.04526%204.26599%209.00718%203.71321L9%203.50406V2.75195C9%202.33774%209.33579%202.00195%209.75%202.00195C10.1297%202.00195%2010.4435%202.28411%2010.4932%202.65018L10.5%202.75195V3.50406C10.5%204.33249%2011.1716%205.00406%2012%205.00406C12.7797%205.00406%2013.4204%204.40918%2013.4931%203.64852L13.5%203.50406V2.75195C13.5%202.33774%2013.8358%202.00195%2014.25%202.00195Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M14.25%202.00195C14.6297%202.00195%2014.9435%202.28411%2014.9932%202.65018L15%202.75195V3.50406C15%204.13683%2014.8041%204.72384%2014.4696%205.20775C15.8646%205.68594%2016.8883%206.96607%2016.9914%208.49849L17.2469%208.49857C18.4895%208.49343%2019.4927%207.48192%2019.4876%206.23929L19.4814%204.75369C19.4797%204.33948%2019.8141%204.00231%2020.2283%204.00059C20.6425%203.99889%2020.9797%204.33328%2020.9814%204.74749L20.9876%206.23309C20.9958%208.23733%2019.4302%209.88083%2017.4522%209.99254L17.2376%209.99859L17%209.99795V11.5L21.2528%2011.5006C21.6325%2011.5006%2021.9463%2011.7827%2021.996%2012.1488L22.0028%2012.2506C22.0028%2012.6303%2021.7207%2012.9441%2021.3546%2012.9937L21.2528%2013.0006H17.0004L17%2015L17.2376%2015.0006L17.4522%2015.0066C19.3643%2015.1146%2020.891%2016.654%2020.9832%2018.5669L20.9876%2018.7661L20.9814%2020.2517C20.9797%2020.6659%2020.6425%2021.0003%2020.2283%2020.9986C19.8486%2020.997%2019.536%2020.7136%2019.4878%2020.3473L19.4814%2020.2455L19.4876%2018.7599C19.4925%2017.569%2018.5714%2016.5904%2017.4009%2016.5064L17.2469%2016.5006L16.7713%2016.5005C16.1343%2018.5294%2014.239%2020.0011%2012%2020.0011C9.76098%2020.0011%207.86569%2018.5294%207.22873%2016.5005L6.74073%2016.5006C5.4981%2016.5057%204.49492%2017.5173%204.50005%2018.7599L4.50619%2020.2455C4.50791%2020.6597%204.17351%2020.9969%203.7593%2020.9986C3.34509%2021.0003%203.00792%2020.6659%203.00621%2020.2517L3%2018.7661C2.99178%2016.7618%204.55736%2015.1183%206.5354%2015.0066L6.75003%2015.0006L7%2015V13L2.75%2013.0006C2.3703%2013.0006%202.05651%2012.7184%202.00685%2012.3524L2%2012.2506C2%2011.8709%202.28215%2011.5571%202.64823%2011.5074L2.75%2011.5006L7%2011.5V9.99795L6.75%209.99858L6.53536%209.99253C4.62326%209.88455%203.09658%208.34519%203.00438%206.43226L3%206.23308L3.00617%204.74749C3.00789%204.33328%203.34506%203.99888%203.75927%204.00059C4.13896%204.00216%204.45159%204.28561%204.49973%204.65189L4.50616%204.75369L4.50002%206.23928C4.4951%207.43014%205.41622%208.40873%206.58667%208.49274L6.7407%208.49856L7.00857%208.49849C7.11171%206.96607%208.13544%205.68594%209.53135%205.20652C9.23317%204.77747%209.04526%204.26599%209.00718%203.71321L9%203.50406V2.75195C9%202.33774%209.33579%202.00195%209.75%202.00195C10.1297%202.00195%2010.4435%202.28411%2010.4932%202.65018L10.5%202.75195V3.50406C10.5%204.33249%2011.1716%205.00406%2012%205.00406C12.7797%205.00406%2013.4204%204.40918%2013.4931%203.64852L13.5%203.50406V2.75195C13.5%202.33774%2013.8358%202.00195%2014.25%202.00195Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1023
+ .completions-card-type-chip[data-type="verify"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%202C17.5228%202%2022%206.47715%2022%2012C22%2017.5228%2017.5228%2022%2012%2022C6.47715%2022%202%2017.5228%202%2012C2%206.47715%206.47715%202%2012%202ZM15.2197%208.96967L10.75%2013.4393L8.78033%2011.4697C8.48744%2011.1768%208.01256%2011.1768%207.71967%2011.4697C7.42678%2011.7626%207.42678%2012.2374%207.71967%2012.5303L10.2197%2015.0303C10.5126%2015.3232%2010.9874%2015.3232%2011.2803%2015.0303L16.2803%2010.0303C16.5732%209.73744%2016.5732%209.26256%2016.2803%208.96967C15.9874%208.67678%2015.5126%208.67678%2015.2197%208.96967Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%202C17.5228%202%2022%206.47715%2022%2012C22%2017.5228%2017.5228%2022%2012%2022C6.47715%2022%202%2017.5228%202%2012C2%206.47715%206.47715%202%2012%202ZM15.2197%208.96967L10.75%2013.4393L8.78033%2011.4697C8.48744%2011.1768%208.01256%2011.1768%207.71967%2011.4697C7.42678%2011.7626%207.42678%2012.2374%207.71967%2012.5303L10.2197%2015.0303C10.5126%2015.3232%2010.9874%2015.3232%2011.2803%2015.0303L16.2803%2010.0303C16.5732%209.73744%2016.5732%209.26256%2016.2803%208.96967C15.9874%208.67678%2015.5126%208.67678%2015.2197%208.96967Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1024
+ .completions-card-type-chip[data-type="test"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M8.99998%204.5V10.7382C8.99998%2011.1132%208.90628%2011.4822%208.72739%2011.8117L7.53944%2014H16.4605L15.2726%2011.8117C15.0937%2011.4822%2015%2011.1132%2015%2010.7382V4.5H16C16.4142%204.5%2016.75%204.16421%2016.75%203.75C16.75%203.33579%2016.4142%203%2016%203H8C7.58579%203%207.25%203.33579%207.25%203.75C7.25%204.16421%207.58579%204.5%208%204.5H8.99998ZM17.2748%2015.5H6.72515L5.14269%2018.415C4.50968%2019.5811%205.35388%2020.9999%206.68068%2020.9999H17.3193C18.6461%2020.9999%2019.4903%2019.5811%2018.8573%2018.415L17.2748%2015.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M8.99998%204.5V10.7382C8.99998%2011.1132%208.90628%2011.4822%208.72739%2011.8117L7.53944%2014H16.4605L15.2726%2011.8117C15.0937%2011.4822%2015%2011.1132%2015%2010.7382V4.5H16C16.4142%204.5%2016.75%204.16421%2016.75%203.75C16.75%203.33579%2016.4142%203%2016%203H8C7.58579%203%207.25%203.33579%207.25%203.75C7.25%204.16421%207.58579%204.5%208%204.5H8.99998ZM17.2748%2015.5H6.72515L5.14269%2018.415C4.50968%2019.5811%205.35388%2020.9999%206.68068%2020.9999H17.3193C18.6461%2020.9999%2019.4903%2019.5811%2018.8573%2018.415L17.2748%2015.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1025
+ .completions-card-type-chip[data-type="plan"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M13.75%202H10.25C9.09205%202%208.13841%202.87472%208.01379%203.99944L6.25%204C5.00736%204%204%205.00736%204%206.25V19.75C4%2020.9926%205.00736%2022%206.25%2022H17.75C18.9926%2022%2020%2020.9926%2020%2019.75V6.25C20%205.00736%2018.9926%204%2017.75%204L15.9862%203.99944C15.8616%202.87472%2014.9079%202%2013.75%202ZM10.25%203.5H13.75C14.1642%203.5%2014.5%203.83579%2014.5%204.25C14.5%204.66421%2014.1642%205%2013.75%205H10.25C9.83579%205%209.5%204.66421%209.5%204.25C9.5%203.83579%209.83579%203.5%2010.25%203.5ZM12.5%2010.25C12.5%209.83579%2012.8358%209.5%2013.25%209.5H16.75C17.1642%209.5%2017.5%209.83579%2017.5%2010.25C17.5%2010.6642%2017.1642%2011%2016.75%2011H13.25C12.8358%2011%2012.5%2010.6642%2012.5%2010.25ZM13.2501%2015H16.7499C17.1642%2015%2017.4999%2015.3358%2017.4999%2015.75C17.4999%2016.1642%2017.1642%2016.5%2016.7499%2016.5H13.2501C12.8358%2016.5%2012.5001%2016.1642%2012.5001%2015.75C12.5001%2015.3358%2012.8358%2015%2013.2501%2015ZM10.7803%209.78033L8.78033%2011.7803C8.48744%2012.0732%208.01256%2012.0732%207.71967%2011.7803L6.71967%2010.7803C6.42678%2010.4874%206.42678%2010.0126%206.71967%209.71967C7.01256%209.42678%207.48744%209.42678%207.78033%209.71967L8.25%2010.1893L9.71967%208.71967C10.0126%208.42678%2010.4874%208.42678%2010.7803%208.71967C11.0732%209.01256%2011.0732%209.48744%2010.7803%209.78033ZM10.7803%2014.2197C11.0732%2014.5126%2011.0732%2014.9874%2010.7803%2015.2803L8.78033%2017.2803C8.48744%2017.5732%208.01256%2017.5732%207.71967%2017.2803L6.71967%2016.2803C6.42678%2015.9874%206.42678%2015.5126%206.71967%2015.2197C7.01256%2014.9268%207.48744%2014.9268%207.78033%2015.2197L8.25%2015.6893L9.71967%2014.2197C10.0126%2013.9268%2010.4874%2013.9268%2010.7803%2014.2197Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M13.75%202H10.25C9.09205%202%208.13841%202.87472%208.01379%203.99944L6.25%204C5.00736%204%204%205.00736%204%206.25V19.75C4%2020.9926%205.00736%2022%206.25%2022H17.75C18.9926%2022%2020%2020.9926%2020%2019.75V6.25C20%205.00736%2018.9926%204%2017.75%204L15.9862%203.99944C15.8616%202.87472%2014.9079%202%2013.75%202ZM10.25%203.5H13.75C14.1642%203.5%2014.5%203.83579%2014.5%204.25C14.5%204.66421%2014.1642%205%2013.75%205H10.25C9.83579%205%209.5%204.66421%209.5%204.25C9.5%203.83579%209.83579%203.5%2010.25%203.5ZM12.5%2010.25C12.5%209.83579%2012.8358%209.5%2013.25%209.5H16.75C17.1642%209.5%2017.5%209.83579%2017.5%2010.25C17.5%2010.6642%2017.1642%2011%2016.75%2011H13.25C12.8358%2011%2012.5%2010.6642%2012.5%2010.25ZM13.2501%2015H16.7499C17.1642%2015%2017.4999%2015.3358%2017.4999%2015.75C17.4999%2016.1642%2017.1642%2016.5%2016.7499%2016.5H13.2501C12.8358%2016.5%2012.5001%2016.1642%2012.5001%2015.75C12.5001%2015.3358%2012.8358%2015%2013.2501%2015ZM10.7803%209.78033L8.78033%2011.7803C8.48744%2012.0732%208.01256%2012.0732%207.71967%2011.7803L6.71967%2010.7803C6.42678%2010.4874%206.42678%2010.0126%206.71967%209.71967C7.01256%209.42678%207.48744%209.42678%207.78033%209.71967L8.25%2010.1893L9.71967%208.71967C10.0126%208.42678%2010.4874%208.42678%2010.7803%208.71967C11.0732%209.01256%2011.0732%209.48744%2010.7803%209.78033ZM10.7803%2014.2197C11.0732%2014.5126%2011.0732%2014.9874%2010.7803%2015.2803L8.78033%2017.2803C8.48744%2017.5732%208.01256%2017.5732%207.71967%2017.2803L6.71967%2016.2803C6.42678%2015.9874%206.42678%2015.5126%206.71967%2015.2197C7.01256%2014.9268%207.48744%2014.9268%207.78033%2015.2197L8.25%2015.6893L9.71967%2014.2197C10.0126%2013.9268%2010.4874%2013.9268%2010.7803%2014.2197Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1026
+ .completions-card-type-chip[data-type="plan-to-prd"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M7%204.25C7%203.00736%208.00736%202%209.25%202H14.75C15.9926%202%2017%203.00736%2017%204.25V19.75C17%2020.9926%2015.9926%2022%2014.75%2022H9.25C9.09467%2022%208.94302%2021.9843%208.79655%2021.9543C7.77126%2021.7445%207%2020.8373%207%2019.75V4.25ZM8.5%205V6.5H10.25C10.6642%206.5%2011%206.16421%2011%205.75C11%205.33579%2010.6642%205%2010.25%205H8.5ZM8.5%208V9.5H12.25C12.6642%209.5%2013%209.16421%2013%208.75C13%208.33579%2012.6642%208%2012.25%208H8.5ZM8.5%2011.25V12.75H10.25C10.6642%2012.75%2011%2012.4142%2011%2012C11%2011.5858%2010.6642%2011.25%2010.25%2011.25H8.5ZM8.5%2014.5V16H12.25C12.6642%2016%2013%2015.6642%2013%2015.25C13%2014.8358%2012.6642%2014.5%2012.25%2014.5H8.5ZM8.5%2017.5V19H10.25C10.6642%2019%2011%2018.6642%2011%2018.25C11%2017.8358%2010.6642%2017.5%2010.25%2017.5H8.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M7%204.25C7%203.00736%208.00736%202%209.25%202H14.75C15.9926%202%2017%203.00736%2017%204.25V19.75C17%2020.9926%2015.9926%2022%2014.75%2022H9.25C9.09467%2022%208.94302%2021.9843%208.79655%2021.9543C7.77126%2021.7445%207%2020.8373%207%2019.75V4.25ZM8.5%205V6.5H10.25C10.6642%206.5%2011%206.16421%2011%205.75C11%205.33579%2010.6642%205%2010.25%205H8.5ZM8.5%208V9.5H12.25C12.6642%209.5%2013%209.16421%2013%208.75C13%208.33579%2012.6642%208%2012.25%208H8.5ZM8.5%2011.25V12.75H10.25C10.6642%2012.75%2011%2012.4142%2011%2012C11%2011.5858%2010.6642%2011.25%2010.25%2011.25H8.5ZM8.5%2014.5V16H12.25C12.6642%2016%2013%2015.6642%2013%2015.25C13%2014.8358%2012.6642%2014.5%2012.25%2014.5H8.5ZM8.5%2017.5V19H10.25C10.6642%2019%2011%2018.6642%2011%2018.25C11%2017.8358%2010.6642%2017.5%2010.25%2017.5H8.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1027
+ .completions-card-type-chip[data-type="decompose"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M4%205.5C4%203.567%205.567%202%207.5%202C9.433%202%2011%203.567%2011%205.5C11%207.08957%209.94034%208.43164%208.48889%208.85835C9.17675%2011.1112%2011.272%2012.75%2013.75%2012.75H14.0805C14.4239%2011.1774%2015.8244%2010%2017.5%2010C19.433%2010%2021%2011.567%2021%2013.5C21%2015.433%2019.433%2017%2017.5%2017C15.8244%2017%2014.4239%2015.8226%2014.0805%2014.25H13.75C11.519%2014.25%209.53183%2013.2063%208.25%2011.5806L8.25%2015.0805C9.82259%2015.4239%2011%2016.8244%2011%2018.5C11%2020.433%209.433%2022%207.5%2022C5.567%2022%204%2020.433%204%2018.5C4%2016.8244%205.17741%2015.4239%206.75%2015.0805L6.75%208.91946C5.17741%208.57612%204%207.17556%204%205.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M4%205.5C4%203.567%205.567%202%207.5%202C9.433%202%2011%203.567%2011%205.5C11%207.08957%209.94034%208.43164%208.48889%208.85835C9.17675%2011.1112%2011.272%2012.75%2013.75%2012.75H14.0805C14.4239%2011.1774%2015.8244%2010%2017.5%2010C19.433%2010%2021%2011.567%2021%2013.5C21%2015.433%2019.433%2017%2017.5%2017C15.8244%2017%2014.4239%2015.8226%2014.0805%2014.25H13.75C11.519%2014.25%209.53183%2013.2063%208.25%2011.5806L8.25%2015.0805C9.82259%2015.4239%2011%2016.8244%2011%2018.5C11%2020.433%209.433%2022%207.5%2022C5.567%2022%204%2020.433%204%2018.5C4%2016.8244%205.17741%2015.4239%206.75%2015.0805L6.75%208.91946C5.17741%208.57612%204%207.17556%204%205.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1028
+ .completions-card-type-chip[data-type="meeting"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%202C17.5228%202%2022%206.47715%2022%2012C22%2017.5228%2017.5228%2022%2012%2022C10.3596%2022%208.77516%2021.6039%207.35578%2020.8583L3.06538%2021.9753C2.6111%2022.0937%202.1469%2021.8213%202.02858%2021.367C1.99199%2021.2266%201.99198%2021.0791%202.02855%2020.9386L3.1449%2016.6502C2.3972%2015.2294%202%2013.6428%202%2012C2%206.47715%206.47715%202%2012%202ZM13.2517%2013H8.75L8.64823%2013.0068C8.28215%2013.0565%208%2013.3703%208%2013.75C8%2014.1297%208.28215%2014.4435%208.64823%2014.4932L8.75%2014.5H13.2517L13.3535%2014.4932C13.7196%2014.4435%2014.0017%2014.1297%2014.0017%2013.75C14.0017%2013.3703%2013.7196%2013.0565%2013.3535%2013.0068L13.2517%2013ZM15.25%209.5H8.75L8.64823%209.50685C8.28215%209.55651%208%209.8703%208%2010.25C8%2010.6297%208.28215%2010.9435%208.64823%2010.9932L8.75%2011H15.25L15.3518%2010.9932C15.7178%2010.9435%2016%2010.6297%2016%2010.25C16%209.8703%2015.7178%209.55651%2015.3518%209.50685L15.25%209.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%202C17.5228%202%2022%206.47715%2022%2012C22%2017.5228%2017.5228%2022%2012%2022C10.3596%2022%208.77516%2021.6039%207.35578%2020.8583L3.06538%2021.9753C2.6111%2022.0937%202.1469%2021.8213%202.02858%2021.367C1.99199%2021.2266%201.99198%2021.0791%202.02855%2020.9386L3.1449%2016.6502C2.3972%2015.2294%202%2013.6428%202%2012C2%206.47715%206.47715%202%2012%202ZM13.2517%2013H8.75L8.64823%2013.0068C8.28215%2013.0565%208%2013.3703%208%2013.75C8%2014.1297%208.28215%2014.4435%208.64823%2014.4932L8.75%2014.5H13.2517L13.3535%2014.4932C13.7196%2014.4435%2014.0017%2014.1297%2014.0017%2013.75C14.0017%2013.3703%2013.7196%2013.0565%2013.3535%2013.0068L13.2517%2013ZM15.25%209.5H8.75L8.64823%209.50685C8.28215%209.55651%208%209.8703%208%2010.25C8%2010.6297%208.28215%2010.9435%208.64823%2010.9932L8.75%2011H15.25L15.3518%2010.9932C15.7178%2010.9435%2016%2010.6297%2016%2010.25C16%209.8703%2015.7178%209.55651%2015.3518%209.50685L15.25%209.5Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1029
+ .completions-card-type-chip[data-type="explore"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M3%206.5C3%204.567%204.567%203%206.5%203H9C9.55228%203%2010%203.44772%2010%204C10%204.55228%209.55228%205%209%205H6.5C5.67157%205%205%205.67157%205%206.5V9C5%209.55229%204.55228%2010%204%2010C3.44772%2010%203%209.55229%203%209V6.5ZM21%2017.5C21%2019.433%2019.433%2021%2017.5%2021H15C14.4477%2021%2014%2020.5523%2014%2020C14%2019.4477%2014.4477%2019%2015%2019L17.5%2019C18.3284%2019%2019%2018.3284%2019%2017.5V15C19%2014.4477%2019.4477%2014%2020%2014C20.5523%2014%2021%2014.4477%2021%2015V17.5ZM21%206.5C21%204.567%2019.433%203%2017.5%203H15C14.4477%203%2014%203.44772%2014%204C14%204.55228%2014.4477%205%2015%205H17.5C18.3284%205%2019%205.67157%2019%206.5V9C19%209.55228%2019.4477%2010%2020%2010C20.5523%2010%2021%209.55229%2021%209V6.5ZM6.5%2021C4.567%2021%203%2019.433%203%2017.5V15C3%2014.4477%203.44772%2014%204%2014C4.55229%2014%205%2014.4477%205%2015L5%2017.5C5%2018.3284%205.67157%2019%206.5%2019H9C9.55229%2019%2010%2019.4477%2010%2020C10%2020.5523%209.55228%2021%209%2021H6.5ZM12%2015C13.6569%2015%2015%2013.6569%2015%2012C15%2010.3431%2013.6569%209%2012%209C10.3431%209%209%2010.3431%209%2012C9%2013.6569%2010.3431%2015%2012%2015ZM7.5%208.75C8.19036%208.75%208.75%208.19036%208.75%207.5C8.75%206.80964%208.19036%206.25%207.5%206.25C6.80964%206.25%206.25%206.80964%206.25%207.5C6.25%208.19036%206.80964%208.75%207.5%208.75Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M3%206.5C3%204.567%204.567%203%206.5%203H9C9.55228%203%2010%203.44772%2010%204C10%204.55228%209.55228%205%209%205H6.5C5.67157%205%205%205.67157%205%206.5V9C5%209.55229%204.55228%2010%204%2010C3.44772%2010%203%209.55229%203%209V6.5ZM21%2017.5C21%2019.433%2019.433%2021%2017.5%2021H15C14.4477%2021%2014%2020.5523%2014%2020C14%2019.4477%2014.4477%2019%2015%2019L17.5%2019C18.3284%2019%2019%2018.3284%2019%2017.5V15C19%2014.4477%2019.4477%2014%2020%2014C20.5523%2014%2021%2014.4477%2021%2015V17.5ZM21%206.5C21%204.567%2019.433%203%2017.5%203H15C14.4477%203%2014%203.44772%2014%204C14%204.55228%2014.4477%205%2015%205H17.5C18.3284%205%2019%205.67157%2019%206.5V9C19%209.55228%2019.4477%2010%2020%2010C20.5523%2010%2021%209.55229%2021%209V6.5ZM6.5%2021C4.567%2021%203%2019.433%203%2017.5V15C3%2014.4477%203.44772%2014%204%2014C4.55229%2014%205%2014.4477%205%2015L5%2017.5C5%2018.3284%205.67157%2019%206.5%2019H9C9.55229%2019%2010%2019.4477%2010%2020C10%2020.5523%209.55228%2021%209%2021H6.5ZM12%2015C13.6569%2015%2015%2013.6569%2015%2012C15%2010.3431%2013.6569%209%2012%209C10.3431%209%209%2010.3431%209%2012C9%2013.6569%2010.3431%2015%2012%2015ZM7.5%208.75C8.19036%208.75%208.75%208.19036%208.75%207.5C8.75%206.80964%208.19036%206.25%207.5%206.25C6.80964%206.25%206.25%206.80964%206.25%207.5C6.25%208.19036%206.80964%208.75%207.5%208.75Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1030
+ .completions-card-type-chip[data-type="ask"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%202C17.523%202%2022%206.478%2022%2012C22%2017.522%2017.523%2022%2012%2022C6.477%2022%202%2017.522%202%2012C2%206.478%206.477%202%2012%202ZM12%2015.5C11.4477%2015.5%2011%2015.9477%2011%2016.5C11%2017.0523%2011.4477%2017.5%2012%2017.5C12.5523%2017.5%2013%2017.0523%2013%2016.5C13%2015.9477%2012.5523%2015.5%2012%2015.5ZM12%206.75C10.4812%206.75%209.25%207.98122%209.25%209.5C9.25%209.91421%209.58579%2010.25%2010%2010.25C10.3797%2010.25%2010.6935%209.96785%2010.7432%209.60177L10.75%209.5C10.75%208.80964%2011.3096%208.25%2012%208.25C12.6904%208.25%2013.25%208.80964%2013.25%209.5C13.25%2010.0388%2013.115%2010.3053%2012.6051%2010.8322L12.4697%2010.9697C11.5916%2011.8478%2011.25%2012.4171%2011.25%2013.5C11.25%2013.9142%2011.5858%2014.25%2012%2014.25C12.4142%2014.25%2012.75%2013.9142%2012.75%2013.5C12.75%2012.9612%2012.885%2012.6947%2013.3949%2012.1678L13.5303%2012.0303C14.4084%2011.1522%2014.75%2010.5829%2014.75%209.5C14.75%207.98122%2013.5188%206.75%2012%206.75Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%202C17.523%202%2022%206.478%2022%2012C22%2017.522%2017.523%2022%2012%2022C6.477%2022%202%2017.522%202%2012C2%206.478%206.477%202%2012%202ZM12%2015.5C11.4477%2015.5%2011%2015.9477%2011%2016.5C11%2017.0523%2011.4477%2017.5%2012%2017.5C12.5523%2017.5%2013%2017.0523%2013%2016.5C13%2015.9477%2012.5523%2015.5%2012%2015.5ZM12%206.75C10.4812%206.75%209.25%207.98122%209.25%209.5C9.25%209.91421%209.58579%2010.25%2010%2010.25C10.3797%2010.25%2010.6935%209.96785%2010.7432%209.60177L10.75%209.5C10.75%208.80964%2011.3096%208.25%2012%208.25C12.6904%208.25%2013.25%208.80964%2013.25%209.5C13.25%2010.0388%2013.115%2010.3053%2012.6051%2010.8322L12.4697%2010.9697C11.5916%2011.8478%2011.25%2012.4171%2011.25%2013.5C11.25%2013.9142%2011.5858%2014.25%2012%2014.25C12.4142%2014.25%2012.75%2013.9142%2012.75%2013.5C12.75%2012.9612%2012.885%2012.6947%2013.3949%2012.1678L13.5303%2012.0303C14.4084%2011.1522%2014.75%2010.5829%2014.75%209.5C14.75%207.98122%2013.5188%206.75%2012%206.75Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1031
+ .completions-card-type-chip[data-type="docs"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M6.25%202C5.00736%202%204%203.00736%204%204.25V19.75C4%2020.9926%205.00736%2022%206.25%2022H17.75C18.9926%2022%2020%2020.9926%2020%2019.75V4.25C20%203.00736%2018.9926%202%2017.75%202H6.25ZM7.75%206H16.25C16.6642%206%2017%206.33579%2017%206.75C17%207.16421%2016.6642%207.5%2016.25%207.5H7.75C7.33579%207.5%207%207.16421%207%206.75C7%206.33579%207.33579%206%207.75%206ZM7%2016.75C7%2016.3358%207.33579%2016%207.75%2016H16.25C16.6642%2016%2017%2016.3358%2017%2016.75C17%2017.1642%2016.6642%2017.5%2016.25%2017.5H7.75C7.33579%2017.5%207%2017.1642%207%2016.75ZM7.75%2011H16.25C16.6642%2011%2017%2011.3358%2017%2011.75C17%2012.1642%2016.6642%2012.5%2016.25%2012.5H7.75C7.33579%2012.5%207%2012.1642%207%2011.75C7%2011.3358%207.33579%2011%207.75%2011Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M6.25%202C5.00736%202%204%203.00736%204%204.25V19.75C4%2020.9926%205.00736%2022%206.25%2022H17.75C18.9926%2022%2020%2020.9926%2020%2019.75V4.25C20%203.00736%2018.9926%202%2017.75%202H6.25ZM7.75%206H16.25C16.6642%206%2017%206.33579%2017%206.75C17%207.16421%2016.6642%207.5%2016.25%207.5H7.75C7.33579%207.5%207%207.16421%207%206.75C7%206.33579%207.33579%206%207.75%206ZM7%2016.75C7%2016.3358%207.33579%2016%207.75%2016H16.25C16.6642%2016%2017%2016.3358%2017%2016.75C17%2017.1642%2016.6642%2017.5%2016.25%2017.5H7.75C7.33579%2017.5%207%2017.1642%207%2016.75ZM7.75%2011H16.25C16.6642%2011%2017%2011.3358%2017%2011.75C17%2012.1642%2016.6642%2012.5%2016.25%2012.5H7.75C7.33579%2012.5%207%2012.1642%207%2011.75C7%2011.3358%207.33579%2011%207.75%2011Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1032
+ .completions-card-type-chip[data-type="setup"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12.0122%202.25C12.7462%202.25846%2013.4773%202.34326%2014.1937%202.50304C14.5064%202.57279%2014.7403%202.83351%2014.7758%203.15196L14.946%204.67881C15.0231%205.37986%2015.615%205.91084%2016.3206%205.91158C16.5103%205.91188%2016.6979%205.87238%2016.8732%205.79483L18.2738%205.17956C18.5651%205.05159%2018.9055%205.12136%2019.1229%205.35362C20.1351%206.43464%2020.8889%207.73115%2021.3277%209.14558C21.4223%209.45058%2021.3134%209.78203%2021.0564%209.9715L19.8149%2010.8866C19.4607%2011.1468%2019.2516%2011.56%2019.2516%2011.9995C19.2516%2012.4389%2019.4607%2012.8521%2019.8157%2013.1129L21.0582%2014.0283C21.3153%2014.2177%2021.4243%2014.5492%2021.3297%2014.8543C20.8911%2016.2685%2020.1377%2017.5649%2019.1261%2018.6461C18.9089%2018.8783%2018.5688%2018.9483%2018.2775%2018.8206L16.8712%2018.2045C16.4688%2018.0284%2016.0068%2018.0542%2015.6265%2018.274C15.2463%2018.4937%2014.9933%2018.8812%2014.945%2019.3177L14.7759%2020.8444C14.741%2021.1592%2014.5122%2021.4182%2014.204%2021.4915C12.7556%2021.8361%2011.2465%2021.8361%209.79803%2021.4915C9.48991%2021.4182%209.26105%2021.1592%209.22618%2020.8444L9.05736%2019.32C9.00777%2018.8843%208.75434%2018.498%208.37442%2018.279C7.99451%2018.06%207.5332%2018.0343%207.1322%2018.2094L5.72557%2018.8256C5.43422%2018.9533%205.09403%2018.8833%204.87678%2018.6509C3.86462%2017.5685%203.11119%2016.2705%202.6732%2014.8548C2.57886%2014.5499%202.68786%2014.2186%202.94485%2014.0293L4.18818%2013.1133C4.54232%2012.8531%204.75147%2012.4399%204.75147%2012.0005C4.75147%2011.561%204.54232%2011.1478%204.18771%2010.8873L2.94516%209.97285C2.6878%209.78345%202.5787%209.45178%202.67337%209.14658C3.11212%207.73215%203.86594%206.43564%204.87813%205.35462C5.09559%205.12236%205.43594%205.05259%205.72724%205.18056L7.12762%205.79572C7.53056%205.97256%207.9938%205.94585%208.37577%205.72269C8.75609%205.50209%209.00929%205.11422%209.05817%204.67764L9.22824%203.15196C9.26376%202.83335%209.49786%202.57254%209.8108%202.50294C10.5281%202.34342%2011.26%202.25865%2012.0122%202.25ZM11.9997%208.99995C10.3428%208.99995%208.9997%2010.3431%208.9997%2012C8.9997%2013.6568%2010.3428%2015%2011.9997%2015C13.6565%2015%2014.9997%2013.6568%2014.9997%2012C14.9997%2010.3431%2013.6565%208.99995%2011.9997%208.99995Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12.0122%202.25C12.7462%202.25846%2013.4773%202.34326%2014.1937%202.50304C14.5064%202.57279%2014.7403%202.83351%2014.7758%203.15196L14.946%204.67881C15.0231%205.37986%2015.615%205.91084%2016.3206%205.91158C16.5103%205.91188%2016.6979%205.87238%2016.8732%205.79483L18.2738%205.17956C18.5651%205.05159%2018.9055%205.12136%2019.1229%205.35362C20.1351%206.43464%2020.8889%207.73115%2021.3277%209.14558C21.4223%209.45058%2021.3134%209.78203%2021.0564%209.9715L19.8149%2010.8866C19.4607%2011.1468%2019.2516%2011.56%2019.2516%2011.9995C19.2516%2012.4389%2019.4607%2012.8521%2019.8157%2013.1129L21.0582%2014.0283C21.3153%2014.2177%2021.4243%2014.5492%2021.3297%2014.8543C20.8911%2016.2685%2020.1377%2017.5649%2019.1261%2018.6461C18.9089%2018.8783%2018.5688%2018.9483%2018.2775%2018.8206L16.8712%2018.2045C16.4688%2018.0284%2016.0068%2018.0542%2015.6265%2018.274C15.2463%2018.4937%2014.9933%2018.8812%2014.945%2019.3177L14.7759%2020.8444C14.741%2021.1592%2014.5122%2021.4182%2014.204%2021.4915C12.7556%2021.8361%2011.2465%2021.8361%209.79803%2021.4915C9.48991%2021.4182%209.26105%2021.1592%209.22618%2020.8444L9.05736%2019.32C9.00777%2018.8843%208.75434%2018.498%208.37442%2018.279C7.99451%2018.06%207.5332%2018.0343%207.1322%2018.2094L5.72557%2018.8256C5.43422%2018.9533%205.09403%2018.8833%204.87678%2018.6509C3.86462%2017.5685%203.11119%2016.2705%202.6732%2014.8548C2.57886%2014.5499%202.68786%2014.2186%202.94485%2014.0293L4.18818%2013.1133C4.54232%2012.8531%204.75147%2012.4399%204.75147%2012.0005C4.75147%2011.561%204.54232%2011.1478%204.18771%2010.8873L2.94516%209.97285C2.6878%209.78345%202.5787%209.45178%202.67337%209.14658C3.11212%207.73215%203.86594%206.43564%204.87813%205.35462C5.09559%205.12236%205.43594%205.05259%205.72724%205.18056L7.12762%205.79572C7.53056%205.97256%207.9938%205.94585%208.37577%205.72269C8.75609%205.50209%209.00929%205.11422%209.05817%204.67764L9.22824%203.15196C9.26376%202.83335%209.49786%202.57254%209.8108%202.50294C10.5281%202.34342%2011.26%202.25865%2012.0122%202.25ZM11.9997%208.99995C10.3428%208.99995%208.9997%2010.3431%208.9997%2012C8.9997%2013.6568%2010.3428%2015%2011.9997%2015C13.6565%2015%2014.9997%2013.6568%2014.9997%2012C14.9997%2010.3431%2013.6565%208.99995%2011.9997%208.99995Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
1033
+ .completions-card-type-chip[data-type="qa-validate"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%2014C13.1046%2014%2014%2013.1046%2014%2012C14%2010.8954%2013.1046%2010%2012%2010C10.8954%2010%2010%2010.8954%2010%2012C10%2013.1046%2010.8954%2014%2012%2014ZM6%2012C6%208.68629%208.68629%206%2012%206C15.3137%206%2018%208.68629%2018%2012C18%2015.3137%2015.3137%2018%2012%2018C8.68629%2018%206%2015.3137%206%2012ZM12%208C9.79086%208%208%209.79086%208%2012C8%2014.2091%209.79086%2016%2012%2016C14.2091%2016%2016%2014.2091%2016%2012C16%209.79086%2014.2091%208%2012%208ZM2%2012C2%206.47715%206.47715%202%2012%202C17.5228%202%2022%206.47715%2022%2012C22%2017.5228%2017.5228%2022%2012%2022C6.47715%2022%202%2017.5228%202%2012ZM12%204C7.58172%204%204%207.58172%204%2012C4%2016.4183%207.58172%2020%2012%2020C16.4183%2020%2020%2016.4183%2020%2012C20%207.58172%2016.4183%204%2012%204Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12%2014C13.1046%2014%2014%2013.1046%2014%2012C14%2010.8954%2013.1046%2010%2012%2010C10.8954%2010%2010%2010.8954%2010%2012C10%2013.1046%2010.8954%2014%2012%2014ZM6%2012C6%208.68629%208.68629%206%2012%206C15.3137%206%2018%208.68629%2018%2012C18%2015.3137%2015.3137%2018%2012%2018C8.68629%2018%206%2015.3137%206%2012ZM12%208C9.79086%208%208%209.79086%208%2012C8%2014.2091%209.79086%2016%2012%2016C14.2091%2016%2016%2014.2091%2016%2012C16%209.79086%2014.2091%208%2012%208ZM2%2012C2%206.47715%206.47715%202%2012%202C17.5228%202%2022%206.47715%2022%2012C22%2017.5228%2017.5228%2022%2012%2022C6.47715%2022%202%2017.5228%202%2012ZM12%204C7.58172%204%204%207.58172%204%2012C4%2016.4183%207.58172%2020%2012%2020C16.4183%2020%2020%2016.4183%2020%2012C20%207.58172%2016.4183%204%2012%204Z%22%20fill%3D%22%23212121%22%2F%3E%20%3C%2Fsvg%3E"); }
956
1034
  /* Review cards swap the emoji for a "REVIEW" word chip — same boxed
957
1035
  treatment as the lineage WI/Plan/PR chips (monospace, bordered, muted)
958
1036
  but a larger font so it reads as the rail's primary type marker. */
package/dashboard.js CHANGED
@@ -5630,6 +5630,17 @@ const server = http.createServer(async (req, res) => {
5630
5630
  if (originAgent) item._originAgent = originAgent;
5631
5631
  if (originWi) item._originWi = originWi;
5632
5632
  copyWorkItemPrFields(item, body);
5633
+ // W-mq5wfh1v000e0da9 — Auto-enroll the PR into pull-requests.json when
5634
+ // this is a `type: fix` WI carrying a structured PR pointer and the PR
5635
+ // isn't tracked yet. Without this, the engine's `pr_not_found` gate
5636
+ // skips the fix forever (engine.js dispatch loop). Idempotent — safe to
5637
+ // call on every WI create. Failures are swallowed (best-effort belt;
5638
+ // engine.js#dispatch loop also calls this as defense-in-depth).
5639
+ try {
5640
+ shared.autoEnrollPrFromFixWorkItem(item, targetProject, MINIONS_DIR);
5641
+ } catch (e) {
5642
+ shared.log('warn', `auto-enroll PR for ${item.id}: ${e.message}`);
5643
+ }
5633
5644
  // W-mpejf0fq000e84d6: pre-compute the canonical branch name at create
5634
5645
  // time so the persisted WI carries `branch` from the moment it hits
5635
5646
  // disk. Skip when the caller already supplied a branch, when this is
package/docs/README.md CHANGED
@@ -17,6 +17,7 @@ Architecture, design proposals, and lifecycle references for people working on t
17
17
  - [completion-reports.md](completion-reports.md) — Canonical schema for the per-spawn completion JSON: trust nonce, `failure_class` enum, `noop` semantics, `retryable` / `needs_rerun` shape, and the artifacts array.
18
18
  - [constants.md](constants.md) — Cross-cutting status / type / condition constants (`WI_STATUS`, `WORK_TYPE`, `PR_STATUS`, `WATCH_CONDITION`, …) and the no-magic-strings invariant.
19
19
  - [constellation-bridge.md](constellation-bridge.md) — Read-only cross-repo bridge: `engine.constellationBridge.enabled` flag, marker-file contract, and the `minions bridge` subcommand for local debugging.
20
+ - [constellation-style-telemetry.md](constellation-style-telemetry.md) — Feasibility study for a local-first usage/analytics layer modeled on Constellation's telemetry (typed event log + daily rollup + dashboard view), and why a 1:1 PostgreSQL/multi-tenant port is the wrong goal for Minions.
20
21
  - [cooldown-merge-semantics.md](cooldown-merge-semantics.md) — Scoping deliverable defining merge semantics for `saveCooldowns` (longer-of TTL merge, key-level upserts, gitignored on-disk format).
21
22
  - [copilot-cli-schema.md](copilot-cli-schema.md) — Behavior and schema reference for the GitHub Copilot CLI adapter (capability flags, stdin vs `-p`, model discovery, effort levels).
22
23
  - [dead-code-audit-retractions.md](dead-code-audit-retractions.md) — Retracted dead-code-audit findings (false positives) that future audits MUST read before re-citing.