@kl-c/matrixos 0.2.12 → 0.3.0
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/index.js
CHANGED
|
@@ -2163,7 +2163,7 @@ var package_default;
|
|
|
2163
2163
|
var init_package = __esm(() => {
|
|
2164
2164
|
package_default = {
|
|
2165
2165
|
name: "@kl-c/matrixos",
|
|
2166
|
-
version: "0.
|
|
2166
|
+
version: "0.3.0",
|
|
2167
2167
|
description: "MaTrixOS \u2014 Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
|
|
2168
2168
|
main: "./dist/index.js",
|
|
2169
2169
|
types: "dist/index.d.ts",
|
package/dist/cli-node/index.js
CHANGED
|
@@ -2163,7 +2163,7 @@ var package_default;
|
|
|
2163
2163
|
var init_package = __esm(() => {
|
|
2164
2164
|
package_default = {
|
|
2165
2165
|
name: "@kl-c/matrixos",
|
|
2166
|
-
version: "0.
|
|
2166
|
+
version: "0.3.0",
|
|
2167
2167
|
description: "MaTrixOS \u2014 Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
|
|
2168
2168
|
main: "./dist/index.js",
|
|
2169
2169
|
types: "dist/index.d.ts",
|
|
@@ -219,5 +219,10 @@ body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-pr
|
|
|
219
219
|
.form-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}
|
|
220
220
|
.gateway-status{font-size:var(--text-sm);color:var(--text-tertiary)}
|
|
221
221
|
|
|
222
|
+
.agent-model-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);margin-top:var(--space-1)}
|
|
223
|
+
.agent-model-label{font-size:var(--text-xs);color:var(--text-tertiary)}
|
|
224
|
+
.agent-model-select{flex:1;max-width:200px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-xs);font-family:var(--font-mono);cursor:pointer}
|
|
225
|
+
.agent-model-select:focus{outline:none;border-color:var(--accent-primary)}
|
|
226
|
+
|
|
222
227
|
@media(max-width:1024px){.kpi-grid,.grid-2{grid-template-columns:repeat(2,1fr)}.kanban-board{grid-template-columns:repeat(2,1fr)}.gauge-grid{grid-template-columns:repeat(2,1fr)}}
|
|
223
228
|
@media(max-width:768px){.kpi-grid,.grid-2{grid-template-columns:1fr}.kanban-board{grid-template-columns:1fr}.agent-grid{grid-template-columns:1fr}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const API={health:()=>fetchJSON('/health'),agents:()=>fetchJSON('/agents'),sessions:(l)=>fetchJSON(`/sessions?limit=${l}`),cost:()=>fetchJSON('/cost'),kanban:()=>fetchJSON('/kanban'),incidents:(l)=>fetchJSON(`/incidents?limit=${l}`),metrics:()=>fetchJSON('/metrics'),config:()=>fetchJSON('/config'),memory:()=>fetchJSON('/memory'),skills:()=>fetchJSON('/skills'),gatewayToken:(type,token,passphrase)=>fetch('/api/gateway/token',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({type,token,passphrase})}).then(r=>r.json())}
|
|
1
|
+
const API={health:()=>fetchJSON('/health'),agents:()=>fetchJSON('/agents'),models:()=>fetchJSON('/models'),sessions:(l)=>fetchJSON(`/sessions?limit=${l}`),cost:()=>fetchJSON('/cost'),kanban:()=>fetchJSON('/kanban'),incidents:(l)=>fetchJSON(`/incidents?limit=${l}`),metrics:()=>fetchJSON('/metrics'),config:()=>fetchJSON('/config'),memory:()=>fetchJSON('/memory'),skills:()=>fetchJSON('/skills'),gatewayToken:(type,token,passphrase)=>fetch('/api/gateway/token',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({type,token,passphrase})}).then(r=>r.json())}
|
|
2
2
|
async function fetchJSON(e){const r=await fetch(`/api${e}`);if(!r.ok)throw new Error(`API ${e}: ${r.status}`);return r.json()}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
const AGENTS=['Morpheus','Trinity','Keymaker','Oracle','Prometheus','Boulder','Sentinel','Ghost','Neo','Tank']
|
|
2
|
-
const AGENT_ROLES={Morpheus:'orchestrator',Trinity:'design',Keymaker:'integration',Oracle:'review',Prometheus:'planning',Boulder:'worker',Sentinel:'qa',Ghost:'search',Neo:'executor',Tank:'deep-work'}
|
|
3
|
-
const MODELS=['deepseek-v4-flash-free','gpt-5.5-pro','gpt-5.5','claude-opus-4-7','gemini-3.1-pro','glm-5.2']
|
|
4
|
-
|
|
5
1
|
function rand(min,max){return Math.floor(Math.random()*(max-min+1))+min}
|
|
6
2
|
function pick(a){return a[Math.floor(Math.random()*a.length)]}
|
|
7
3
|
|
|
@@ -47,7 +43,7 @@ async function loadArchitect(){
|
|
|
47
43
|
const kpi=document.getElementById('archKpis'),grid=document.getElementById('agentGrid'),tbl=document.getElementById('sessionsTable'),queue=document.getElementById('sessionQueue')
|
|
48
44
|
showSkeleton(kpi,'kpi');showSkeleton(grid,'card');showSkeleton(tbl,'table')
|
|
49
45
|
try{
|
|
50
|
-
const[health,agents,sessions]=await Promise.all([API.health(),API.agents(),API.sessions(10)])
|
|
46
|
+
const[health,agents,models,sessions]=await Promise.all([API.health(),API.agents(),API.models(),API.sessions(10)])
|
|
51
47
|
// KPI
|
|
52
48
|
kpi.innerHTML=`
|
|
53
49
|
<div class="kpi-card"><div class="kpi-card-header"><span class="kpi-label">Active Agents</span><div class="kpi-icon purple"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="6" r="3"/><path d="M2 14c0-3.3 2.7-5 6-5s6 1.7 6 5"/></svg></div></div><div class="kpi-value">${health.agentsOnline}<span style="font-size:var(--text-lg);color:var(--text-tertiary);margin-left:4px">/${health.totalAgents}</span></div><div class="kpi-trend up"><svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M5 2L9 7H1z"/></svg>+1 from yesterday</div></div>
|
|
@@ -73,13 +69,30 @@ async function loadArchitect(){
|
|
|
73
69
|
const cpuColor=a.cpuPercent>80?'red':a.cpuPercent>60?'amber':a.cpuPercent>20?'green':'purple'
|
|
74
70
|
const statusCls=a.status==='online'?'success':a.status==='idle'?'warning':'danger'
|
|
75
71
|
const statusDot=a.status==='online'?liveDot():''
|
|
76
|
-
|
|
72
|
+
const modelOptions=models.map(m=>`<option value="${m}" ${m===a.model?'selected':''}>${m}</option>`).join('')
|
|
73
|
+
const inheritedBadge=a.modelInherited?'<span class="badge badge-warning" style="margin-left:6px">default</span>':''
|
|
74
|
+
return `<div class="agent-card"><div class="agent-card-header"><div><div class="agent-name">${a.name}</div><div class="agent-role">${a.role||'agent'}</div></div><span class="badge badge-${statusCls}">${statusDot}${a.status}</span></div>
|
|
77
75
|
<div class="agent-meta"><div class="agent-meta-row"><span>Sessions</span><span class="agent-meta-val">${a.sessions}</span></div>
|
|
78
76
|
<div class="agent-meta-row"><span>Uptime</span><span class="agent-meta-val">${fmtDur(a.uptime)}</span></div>
|
|
79
77
|
<div class="agent-meta-row"><span>Last heartbeat</span><span class="agent-meta-val">${rand(1,30)}s ago</span></div></div>
|
|
78
|
+
<div class="agent-model-row"><span class="agent-model-label">Model</span><select class="agent-model-select" data-agent="${a.name}">${modelOptions}</select>${inheritedBadge}</div>
|
|
80
79
|
<div class="agent-cpu"><div class="agent-cpu-header"><span class="agent-cpu-label">CPU</span><span class="agent-cpu-pct" style="color:var(--${cpuColor==='green'?'success':cpuColor==='amber'?'warning':cpuColor==='red'?'danger':'accent-primary'})">${a.cpuPercent}%</span></div>
|
|
81
80
|
<div class="progress-bar"><div class="progress-fill ${cpuColor}" style="width:${a.cpuPercent}%"></div></div></div></div>`
|
|
82
81
|
}).join('')
|
|
82
|
+
// Wire model change
|
|
83
|
+
grid.querySelectorAll('.agent-model-select').forEach(sel=>{
|
|
84
|
+
sel.onchange=async()=>{
|
|
85
|
+
const agentName=sel.dataset.agent
|
|
86
|
+
const model=sel.value
|
|
87
|
+
sel.disabled=true
|
|
88
|
+
try{
|
|
89
|
+
const r=await fetch('/api/agents',{method:'PUT',headers:{'Content-Type':'application/json'},body:JSON.stringify({agentName,model})})
|
|
90
|
+
const res=await r.json()
|
|
91
|
+
if(!res.ok)alert('Erreur: '+res.error)
|
|
92
|
+
}catch(e){alert('Erreur réseau: '+e.message)}
|
|
93
|
+
sel.disabled=false
|
|
94
|
+
}
|
|
95
|
+
})
|
|
83
96
|
}
|
|
84
97
|
renderAgents(agents,'all')
|
|
85
98
|
|
package/dist/index.js
CHANGED
|
@@ -368019,7 +368019,7 @@ function getCachedVersion(options = {}) {
|
|
|
368019
368019
|
// package.json
|
|
368020
368020
|
var package_default = {
|
|
368021
368021
|
name: "@kl-c/matrixos",
|
|
368022
|
-
version: "0.
|
|
368022
|
+
version: "0.3.0",
|
|
368023
368023
|
description: "MaTrixOS \u2014 Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
|
|
368024
368024
|
main: "./dist/index.js",
|
|
368025
368025
|
types: "dist/index.d.ts",
|
package/package.json
CHANGED