clementine-agent 1.18.66 → 1.18.67

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.
@@ -15926,6 +15926,25 @@ if('serviceWorker' in navigator){navigator.serviceWorker.getRegistrations().then
15926
15926
 
15927
15927
  <!-- ═══ Build Page — Routines (single unified surface) ═══ -->
15928
15928
  <div class="page" id="page-build">
15929
+ <!-- Build sub-tabs: Scheduled Tasks (single-prompt cron jobs) | Tricks (multi-step workflows) -->
15930
+ <div id="build-tabs" style="display:flex;gap:4px;padding:8px 18px 0;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0">
15931
+ <button class="build-tab-btn active" data-build-tab="crons" onclick="switchBuildTab('crons')" style="padding:8px 14px;border-radius:6px 6px 0 0;border:none;background:transparent;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent">
15932
+ <span style="margin-right:6px">📅</span>Scheduled Tasks <span id="build-tab-cron-count" style="display:none;margin-left:4px;font-size:10px;background:var(--bg-tertiary);padding:1px 6px;border-radius:999px;color:var(--text-muted)">0</span>
15933
+ </button>
15934
+ <button class="build-tab-btn" data-build-tab="workflows" onclick="switchBuildTab('workflows')" style="padding:8px 14px;border-radius:6px 6px 0 0;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent">
15935
+ <span style="margin-right:6px">🔧</span>Tricks (workflows) <span id="build-tab-workflows-count" style="display:none;margin-left:4px;font-size:10px;background:var(--bg-tertiary);padding:1px 6px;border-radius:999px;color:var(--text-muted)">0</span>
15936
+ </button>
15937
+ </div>
15938
+ <style>
15939
+ .build-tab-btn.active { color:var(--accent) !important; border-bottom-color:var(--accent) !important; background:var(--bg-primary) !important; }
15940
+ .build-tab-btn:hover:not(.active) { color:var(--text-primary); }
15941
+ </style>
15942
+ <!-- Scheduled Tasks tab — populated by refreshCron() ─────────────────────── -->
15943
+ <div id="build-tab-crons" style="display:none;flex:1;min-height:0;overflow-y:auto;padding:18px;background:var(--bg-primary)">
15944
+ <div id="panel-cron"><div class="empty-state" style="padding:24px;color:var(--text-muted)">Loading scheduled tasks…</div></div>
15945
+ </div>
15946
+ <!-- Tricks (workflows) tab — existing RoutinesUI surface ─────────────────── -->
15947
+ <div id="build-tab-workflows" style="display:none;flex:1;min-height:0;display:flex;flex-direction:column">
15929
15948
  <!-- Toolbar -->
15930
15949
  <div id="routines-toolbar" style="display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-wrap:wrap">
15931
15950
  <h2 style="margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px"><span data-icon="workflow" class="icon-slot"></span> Tricks</h2>
@@ -16922,22 +16941,39 @@ if('serviceWorker' in navigator){navigator.serviceWorker.getRegistrations().then
16922
16941
  },
16923
16942
  };
16924
16943
  window.RoutinesUI = R;
16925
- // Compatibility shims for legacy callers in other parts of the dashboard.
16926
- // The old switchBuildTab(tab) is referenced from KPI tiles, getting-started cards,
16927
- // and the navigateTo dispatcher. Map them all to the unified Routines view.
16928
- if (typeof window.switchBuildTab !== 'function' || true) {
16929
- window.switchBuildTab = function() { try { R.init(); } catch (e) { /* */ } };
16930
- }
16931
- // Auto-init when the user lands on the build page.
16944
+ // Real switchBuildTab toggles between Scheduled Tasks (cron) and
16945
+ // Tricks (workflows / RoutinesUI) sub-panes. Called from KPI tiles,
16946
+ // getting-started cards, and navigateTo('build', { tab: 'crons' }).
16947
+ // Default tab is 'crons' so users land on the scheduled-task surface
16948
+ // (with the capability strip + Preview) which is what most users want.
16949
+ window.switchBuildTab = function(tab) {
16950
+ var which = (tab === 'workflows') ? 'workflows' : 'crons';
16951
+ var crons = document.getElementById('build-tab-crons');
16952
+ var work = document.getElementById('build-tab-workflows');
16953
+ if (crons) crons.style.display = (which === 'crons') ? '' : 'none';
16954
+ if (work) work.style.display = (which === 'workflows') ? 'flex' : 'none';
16955
+ document.querySelectorAll('.build-tab-btn').forEach(function(b) {
16956
+ b.classList.toggle('active', b.getAttribute('data-build-tab') === which);
16957
+ });
16958
+ if (which === 'crons') {
16959
+ try { if (typeof refreshCron === 'function') refreshCron(); } catch (e) { /* */ }
16960
+ } else {
16961
+ try { R.init(); } catch (e) { /* */ }
16962
+ }
16963
+ };
16964
+ // Auto-init when the user lands on the build page (default to Scheduled Tasks).
16932
16965
  document.addEventListener('DOMContentLoaded', function() {
16933
16966
  var nav = document.querySelector('[data-page="build"]');
16934
- if (nav) nav.addEventListener('click', function() { setTimeout(function() { R.init(); }, 50); });
16967
+ if (nav) nav.addEventListener('click', function() {
16968
+ setTimeout(function() { window.switchBuildTab('crons'); }, 50);
16969
+ });
16935
16970
  // If page-build is already active on load (deep-link), init now.
16936
16971
  var page = document.getElementById('page-build');
16937
- if (page && page.classList.contains('active')) R.init();
16972
+ if (page && page.classList.contains('active')) window.switchBuildTab('crons');
16938
16973
  });
16939
16974
  })();
16940
16975
  </script>
16976
+ </div><!-- /build-tab-workflows wrapper for Tricks (RoutinesUI) sub-pane -->
16941
16977
 
16942
16978
  <!-- page-agent-detail merged into Team page; click an agent in Roster to drill down. -->
16943
16979
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clementine-agent",
3
- "version": "1.18.66",
3
+ "version": "1.18.67",
4
4
  "description": "Clementine — Personal AI Assistant (TypeScript)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",