@enigmax/dashboard 0.1.55 → 0.1.56
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/assets/index.html +10 -12
- package/package.json +1 -1
package/assets/index.html
CHANGED
|
@@ -2892,16 +2892,16 @@ export {
|
|
|
2892
2892
|
let skillScope = "global"; // "global" | "project" - the same rows render in both
|
|
2893
2893
|
function skillRow(s) {
|
|
2894
2894
|
const ver = s.version ? '<span class="tag">v' + esc(s.version) + "</span>" : "";
|
|
2895
|
-
// Project scope: same row, but the per-app chips
|
|
2896
|
-
//
|
|
2895
|
+
// Project scope: same row, but policy skills are managed globally - the per-app chips are
|
|
2896
|
+
// read-only here (show presence only) and the global-only controls are hidden.
|
|
2897
2897
|
if (skillScope === "project") {
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2898
|
+
// Policy (enigma) skills are managed at GLOBAL scope - deploying one per-project is
|
|
2899
|
+
// redundant (an agent reads both global and project skills). So in project scope the
|
|
2900
|
+
// per-app chips are READ-ONLY: they show where the skill is present but never toggle
|
|
2901
|
+
// (no data-pskill). Switch Scope to Global to enable/disable a policy skill.
|
|
2902
|
+
const chips = (s.agentStates || []).map((a) =>
|
|
2903
|
+
'<button type="button" class="achip' + (a.deployed ? " on" : "") + '" disabled aria-label="' + esc(a.label) + '" title="'
|
|
2904
|
+
+ esc(a.label) + (a.installed === false ? " - not installed" : " - policy skills are managed at Global scope") + '">' + (agentSvg(a.name) || esc(a.label)) + "</button>").join("");
|
|
2905
2905
|
return '<div class="set-row"><div class="set-meta"><div class="set-name">' + esc(s.name) + ver + "</div>"
|
|
2906
2906
|
+ '<div class="set-hint">' + esc(s.description || "") + "</div>"
|
|
2907
2907
|
+ '<div class="set-agents">' + (chips || '<span class="tag">no agents</span>') + "</div></div></div>";
|
|
@@ -2962,7 +2962,7 @@ export {
|
|
|
2962
2962
|
'<div class="panel"><div class="set-cat-h">Auto-detect skills by stack</div>'
|
|
2963
2963
|
+ '<div class="set-cat-b">Scan this project (packages, config files, gems) and install the matching community skills for its stack - hash-verified and kept separate from the policy skills below.</div>'
|
|
2964
2964
|
+ '<div class="ladd"><button type="button" class="toggle on with-icon" data-proj-autoskills><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></svg>Detect skills</button></div></div>'
|
|
2965
|
-
+ section("Policy skills", "
|
|
2965
|
+
+ section("Policy skills", "enigma's policy skills are managed at Global scope (an agent reads them in every project). Shown here read-only - a green app logo means the skill is also present in this project's folder. Switch Scope to Global to enable or disable a policy skill.", skills, "No skills.");
|
|
2966
2966
|
return;
|
|
2967
2967
|
}
|
|
2968
2968
|
const enigma = skills.filter((s) => s.source === "enigma");
|
|
@@ -3572,8 +3572,6 @@ export {
|
|
|
3572
3572
|
function onProjectControlClick(e) {
|
|
3573
3573
|
if (!isProjectScope()) return;
|
|
3574
3574
|
if (e.target.closest("[data-proj-autoskills]")) { autoskillsFlow(); return; }
|
|
3575
|
-
const chip = e.target.closest("[data-pskill]"); // per-app deploy chip in the Skills view
|
|
3576
|
-
if (chip) { projAction({ op: "skill", name: chip.dataset.pskill, agent: chip.dataset.pagent, on: chip.dataset.poff !== "1" }); return; }
|
|
3577
3575
|
const sk = e.target.closest("[data-proj-skill]");
|
|
3578
3576
|
if (sk) { projAction({ op: "skill", name: sk.dataset.projSkill, on: sk.dataset.on !== "1" }); return; }
|
|
3579
3577
|
const cb = e.target.closest("[data-proj-cfg-bool]");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enigmax/dashboard",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.56",
|
|
4
4
|
"description": "Local browser dashboard UI for enigma: the static page and chart assets enigma serves on its loopback dashboard (savings, real tool usage, in-browser settings). Installed on demand by enigma-cli; not a runtime dependency.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|