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.
- package/dist/cli/dashboard.js +45 -9
- package/package.json +1 -1
package/dist/cli/dashboard.js
CHANGED
|
@@ -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
|
-
//
|
|
16926
|
-
//
|
|
16927
|
-
// and
|
|
16928
|
-
|
|
16929
|
-
|
|
16930
|
-
|
|
16931
|
-
|
|
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() {
|
|
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'))
|
|
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
|
|