@kl-c/matrixos 0.3.36 → 0.3.38
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 +31 -6
- package/dist/cli-node/index.js +31 -6
- package/dist/config/schema/agent-names.d.ts +12 -0
- package/dist/features/dashboard/frontend/css/style.css +2 -0
- package/dist/features/dashboard/frontend/js/app.js +11 -0
- package/dist/features/dashboard/types.d.ts +1 -0
- package/dist/index.js +8 -2
- package/dist/tui.js +7 -1
- package/package.json +1 -1
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.3.
|
|
2166
|
+
version: "0.3.38",
|
|
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",
|
|
@@ -168038,7 +168038,13 @@ var BuiltinAgentNameSchema = exports_external.enum([
|
|
|
168038
168038
|
"the-keymaker",
|
|
168039
168039
|
"agent-smith",
|
|
168040
168040
|
"the-operator",
|
|
168041
|
-
"neo"
|
|
168041
|
+
"neo",
|
|
168042
|
+
"trinity",
|
|
168043
|
+
"cypher",
|
|
168044
|
+
"sentinel",
|
|
168045
|
+
"mouse",
|
|
168046
|
+
"dreamer",
|
|
168047
|
+
"architect"
|
|
168042
168048
|
]);
|
|
168043
168049
|
var BuiltinSkillNameSchema = exports_external.enum([
|
|
168044
168050
|
"playwright",
|
|
@@ -186855,7 +186861,13 @@ var AGENT_DISPLAY_NAMES2 = {
|
|
|
186855
186861
|
"the-keymaker": "The Keymaker",
|
|
186856
186862
|
"agent-smith": "Agent Smith",
|
|
186857
186863
|
"the-operator": "The Operator",
|
|
186858
|
-
neo: "Neo"
|
|
186864
|
+
neo: "Neo",
|
|
186865
|
+
trinity: "Trinity",
|
|
186866
|
+
cypher: "Cypher",
|
|
186867
|
+
sentinel: "Sentinel",
|
|
186868
|
+
mouse: "Mouse",
|
|
186869
|
+
dreamer: "Dreamer",
|
|
186870
|
+
architect: "Architect"
|
|
186859
186871
|
};
|
|
186860
186872
|
var AGENT_ROLES = {
|
|
186861
186873
|
morpheus: "Orchestrator",
|
|
@@ -186868,7 +186880,13 @@ var AGENT_ROLES = {
|
|
|
186868
186880
|
"the-keymaker": "Pre-planning",
|
|
186869
186881
|
"agent-smith": "Plan Review",
|
|
186870
186882
|
"the-operator": "Todo Orchestrator",
|
|
186871
|
-
neo: "Executor"
|
|
186883
|
+
neo: "Executor",
|
|
186884
|
+
trinity: "Design",
|
|
186885
|
+
cypher: "SEO / Copy",
|
|
186886
|
+
sentinel: "QA",
|
|
186887
|
+
mouse: "Docs",
|
|
186888
|
+
dreamer: "Memory",
|
|
186889
|
+
architect: "Self-improvement"
|
|
186872
186890
|
};
|
|
186873
186891
|
var DEFAULT_MODEL = "opencode/deepseek-v4-flash-free";
|
|
186874
186892
|
var AVAILABLE_MODELS = [
|
|
@@ -186946,6 +186964,7 @@ function ensureKanbanTable(db) {
|
|
|
186946
186964
|
id TEXT PRIMARY KEY,
|
|
186947
186965
|
title TEXT NOT NULL,
|
|
186948
186966
|
description TEXT NOT NULL DEFAULT '',
|
|
186967
|
+
output TEXT NOT NULL DEFAULT '',
|
|
186949
186968
|
agent TEXT NOT NULL DEFAULT 'Unknown',
|
|
186950
186969
|
status TEXT NOT NULL DEFAULT 'pending',
|
|
186951
186970
|
priority TEXT NOT NULL DEFAULT 'medium',
|
|
@@ -186958,6 +186977,11 @@ function ensureKanbanTable(db) {
|
|
|
186958
186977
|
} catch {
|
|
186959
186978
|
db.exec("ALTER TABLE matrixos_kanban ADD COLUMN description TEXT NOT NULL DEFAULT ''");
|
|
186960
186979
|
}
|
|
186980
|
+
try {
|
|
186981
|
+
db.query("SELECT output FROM matrixos_kanban LIMIT 1").all();
|
|
186982
|
+
} catch {
|
|
186983
|
+
db.exec("ALTER TABLE matrixos_kanban ADD COLUMN output TEXT NOT NULL DEFAULT ''");
|
|
186984
|
+
}
|
|
186961
186985
|
}
|
|
186962
186986
|
function midnightMs() {
|
|
186963
186987
|
const d = new Date;
|
|
@@ -187226,7 +187250,7 @@ function createDataProvider(config5) {
|
|
|
187226
187250
|
return board;
|
|
187227
187251
|
try {
|
|
187228
187252
|
ensureKanbanTable(db);
|
|
187229
|
-
const rows = db.query("SELECT id, title, description, agent, status, priority, created_at, updated_at FROM matrixos_kanban ORDER BY updated_at DESC").all();
|
|
187253
|
+
const rows = db.query("SELECT id, title, description, output, agent, status, priority, created_at, updated_at FROM matrixos_kanban ORDER BY updated_at DESC").all();
|
|
187230
187254
|
for (const row of rows) {
|
|
187231
187255
|
const status2 = row.status;
|
|
187232
187256
|
if (!board.columns[status2])
|
|
@@ -187235,6 +187259,7 @@ function createDataProvider(config5) {
|
|
|
187235
187259
|
id: row.id,
|
|
187236
187260
|
title: row.title,
|
|
187237
187261
|
description: row.description || "",
|
|
187262
|
+
output: row.output || "",
|
|
187238
187263
|
agent: row.agent || "Unknown",
|
|
187239
187264
|
priority: row.priority ?? "medium",
|
|
187240
187265
|
status: status2,
|
|
@@ -187335,7 +187360,7 @@ ${row.description ? `Description: ${row.description}
|
|
|
187335
187360
|
const combined = [output, errOutput].filter(Boolean).join(`
|
|
187336
187361
|
`).slice(0, 4000);
|
|
187337
187362
|
const finalStatus = result === 0 ? "completed" : "failed";
|
|
187338
|
-
db.query("UPDATE matrixos_kanban SET status = ?, updated_at = ? WHERE id = ?").run(finalStatus, Date.now(), id);
|
|
187363
|
+
db.query("UPDATE matrixos_kanban SET status = ?, output = ?, updated_at = ? WHERE id = ?").run(finalStatus, combined, Date.now(), id);
|
|
187339
187364
|
return { ok: true, status: finalStatus, output: combined };
|
|
187340
187365
|
} catch (e) {
|
|
187341
187366
|
try {
|
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.3.
|
|
2166
|
+
version: "0.3.38",
|
|
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",
|
|
@@ -168093,7 +168093,13 @@ var BuiltinAgentNameSchema = exports_external.enum([
|
|
|
168093
168093
|
"the-keymaker",
|
|
168094
168094
|
"agent-smith",
|
|
168095
168095
|
"the-operator",
|
|
168096
|
-
"neo"
|
|
168096
|
+
"neo",
|
|
168097
|
+
"trinity",
|
|
168098
|
+
"cypher",
|
|
168099
|
+
"sentinel",
|
|
168100
|
+
"mouse",
|
|
168101
|
+
"dreamer",
|
|
168102
|
+
"architect"
|
|
168097
168103
|
]);
|
|
168098
168104
|
var BuiltinSkillNameSchema = exports_external.enum([
|
|
168099
168105
|
"playwright",
|
|
@@ -186910,7 +186916,13 @@ var AGENT_DISPLAY_NAMES2 = {
|
|
|
186910
186916
|
"the-keymaker": "The Keymaker",
|
|
186911
186917
|
"agent-smith": "Agent Smith",
|
|
186912
186918
|
"the-operator": "The Operator",
|
|
186913
|
-
neo: "Neo"
|
|
186919
|
+
neo: "Neo",
|
|
186920
|
+
trinity: "Trinity",
|
|
186921
|
+
cypher: "Cypher",
|
|
186922
|
+
sentinel: "Sentinel",
|
|
186923
|
+
mouse: "Mouse",
|
|
186924
|
+
dreamer: "Dreamer",
|
|
186925
|
+
architect: "Architect"
|
|
186914
186926
|
};
|
|
186915
186927
|
var AGENT_ROLES = {
|
|
186916
186928
|
morpheus: "Orchestrator",
|
|
@@ -186923,7 +186935,13 @@ var AGENT_ROLES = {
|
|
|
186923
186935
|
"the-keymaker": "Pre-planning",
|
|
186924
186936
|
"agent-smith": "Plan Review",
|
|
186925
186937
|
"the-operator": "Todo Orchestrator",
|
|
186926
|
-
neo: "Executor"
|
|
186938
|
+
neo: "Executor",
|
|
186939
|
+
trinity: "Design",
|
|
186940
|
+
cypher: "SEO / Copy",
|
|
186941
|
+
sentinel: "QA",
|
|
186942
|
+
mouse: "Docs",
|
|
186943
|
+
dreamer: "Memory",
|
|
186944
|
+
architect: "Self-improvement"
|
|
186927
186945
|
};
|
|
186928
186946
|
var DEFAULT_MODEL = "opencode/deepseek-v4-flash-free";
|
|
186929
186947
|
var AVAILABLE_MODELS = [
|
|
@@ -187001,6 +187019,7 @@ function ensureKanbanTable(db) {
|
|
|
187001
187019
|
id TEXT PRIMARY KEY,
|
|
187002
187020
|
title TEXT NOT NULL,
|
|
187003
187021
|
description TEXT NOT NULL DEFAULT '',
|
|
187022
|
+
output TEXT NOT NULL DEFAULT '',
|
|
187004
187023
|
agent TEXT NOT NULL DEFAULT 'Unknown',
|
|
187005
187024
|
status TEXT NOT NULL DEFAULT 'pending',
|
|
187006
187025
|
priority TEXT NOT NULL DEFAULT 'medium',
|
|
@@ -187013,6 +187032,11 @@ function ensureKanbanTable(db) {
|
|
|
187013
187032
|
} catch {
|
|
187014
187033
|
db.exec("ALTER TABLE matrixos_kanban ADD COLUMN description TEXT NOT NULL DEFAULT ''");
|
|
187015
187034
|
}
|
|
187035
|
+
try {
|
|
187036
|
+
db.query("SELECT output FROM matrixos_kanban LIMIT 1").all();
|
|
187037
|
+
} catch {
|
|
187038
|
+
db.exec("ALTER TABLE matrixos_kanban ADD COLUMN output TEXT NOT NULL DEFAULT ''");
|
|
187039
|
+
}
|
|
187016
187040
|
}
|
|
187017
187041
|
function midnightMs() {
|
|
187018
187042
|
const d = new Date;
|
|
@@ -187281,7 +187305,7 @@ function createDataProvider(config5) {
|
|
|
187281
187305
|
return board;
|
|
187282
187306
|
try {
|
|
187283
187307
|
ensureKanbanTable(db);
|
|
187284
|
-
const rows = db.query("SELECT id, title, description, agent, status, priority, created_at, updated_at FROM matrixos_kanban ORDER BY updated_at DESC").all();
|
|
187308
|
+
const rows = db.query("SELECT id, title, description, output, agent, status, priority, created_at, updated_at FROM matrixos_kanban ORDER BY updated_at DESC").all();
|
|
187285
187309
|
for (const row of rows) {
|
|
187286
187310
|
const status2 = row.status;
|
|
187287
187311
|
if (!board.columns[status2])
|
|
@@ -187290,6 +187314,7 @@ function createDataProvider(config5) {
|
|
|
187290
187314
|
id: row.id,
|
|
187291
187315
|
title: row.title,
|
|
187292
187316
|
description: row.description || "",
|
|
187317
|
+
output: row.output || "",
|
|
187293
187318
|
agent: row.agent || "Unknown",
|
|
187294
187319
|
priority: row.priority ?? "medium",
|
|
187295
187320
|
status: status2,
|
|
@@ -187390,7 +187415,7 @@ ${row.description ? `Description: ${row.description}
|
|
|
187390
187415
|
const combined = [output, errOutput].filter(Boolean).join(`
|
|
187391
187416
|
`).slice(0, 4000);
|
|
187392
187417
|
const finalStatus = result === 0 ? "completed" : "failed";
|
|
187393
|
-
db.query("UPDATE matrixos_kanban SET status = ?, updated_at = ? WHERE id = ?").run(finalStatus, Date.now(), id);
|
|
187418
|
+
db.query("UPDATE matrixos_kanban SET status = ?, output = ?, updated_at = ? WHERE id = ?").run(finalStatus, combined, Date.now(), id);
|
|
187394
187419
|
return { ok: true, status: finalStatus, output: combined };
|
|
187395
187420
|
} catch (e) {
|
|
187396
187421
|
try {
|
|
@@ -11,6 +11,12 @@ export declare const BuiltinAgentNameSchema: z.ZodEnum<{
|
|
|
11
11
|
"agent-smith": "agent-smith";
|
|
12
12
|
"the-operator": "the-operator";
|
|
13
13
|
neo: "neo";
|
|
14
|
+
trinity: "trinity";
|
|
15
|
+
cypher: "cypher";
|
|
16
|
+
sentinel: "sentinel";
|
|
17
|
+
mouse: "mouse";
|
|
18
|
+
dreamer: "dreamer";
|
|
19
|
+
architect: "architect";
|
|
14
20
|
}>;
|
|
15
21
|
export declare const BuiltinSkillNameSchema: z.ZodEnum<{
|
|
16
22
|
playwright: "playwright";
|
|
@@ -55,6 +61,12 @@ export declare const AgentNameSchema: z.ZodEnum<{
|
|
|
55
61
|
"agent-smith": "agent-smith";
|
|
56
62
|
"the-operator": "the-operator";
|
|
57
63
|
neo: "neo";
|
|
64
|
+
trinity: "trinity";
|
|
65
|
+
cypher: "cypher";
|
|
66
|
+
sentinel: "sentinel";
|
|
67
|
+
mouse: "mouse";
|
|
68
|
+
dreamer: "dreamer";
|
|
69
|
+
architect: "architect";
|
|
58
70
|
}>;
|
|
59
71
|
export type AgentName = z.infer<typeof AgentNameSchema>;
|
|
60
72
|
export type BuiltinSkillName = z.infer<typeof BuiltinSkillNameSchema>;
|
|
@@ -248,6 +248,8 @@ body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-pr
|
|
|
248
248
|
.kanban-run:hover{opacity:.85}
|
|
249
249
|
.kanban-run:disabled{opacity:.4;cursor:not-allowed}
|
|
250
250
|
.kanban-card.running{border:1px solid var(--success);box-shadow:0 0 8px rgba(59,203,137,.2)}
|
|
251
|
+
.kanban-output-toggle{all:unset;cursor:pointer;font-size:var(--text-xs);color:var(--info);text-decoration:underline;margin-top:4px}
|
|
252
|
+
.kanban-card-output{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px;margin-top:6px;font-size:var(--text-xs);color:var(--text-secondary);white-space:pre-wrap;max-height:200px;overflow:auto}
|
|
251
253
|
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
|
|
252
254
|
|
|
253
255
|
|
|
@@ -210,6 +210,7 @@ function renderKanban(){
|
|
|
210
210
|
tasks.length?tasks.map(t=>`<div class="kanban-card ${t.status==='in_progress'?'running':''}" draggable="true" ondragstart="onKanbanDragStart(event,'${t.id}')" ondblclick="openKanbanModal('${t.id}')">
|
|
211
211
|
<div class="kanban-card-title">${escapeHtml(t.title)}</div>
|
|
212
212
|
${t.description?`<div class="kanban-card-desc">${escapeHtml(t.description)}</div>`:''}
|
|
213
|
+
${t.output?`<button class="kanban-output-toggle" onclick="toggleKanbanOutput(event,'${t.id}')">Voir résultat</button><pre id="ko-${t.id}" class="kanban-card-output" style="display:none">${escapeHtml(t.output)}</pre>`:''}
|
|
213
214
|
<div class="kanban-card-meta"><span>${escapeHtml(t.agent)}</span><span class="prio ${t.priority}">${t.priority}</span></div>
|
|
214
215
|
<div class="kanban-card-actions">
|
|
215
216
|
<button class="kanban-run" onclick="runKanbanTask('${t.id}')" title="Run" ${t.status==='in_progress'?'disabled':''}>▶ Run</button>
|
|
@@ -337,6 +338,7 @@ async function runKanbanTask(id){
|
|
|
337
338
|
kanbanData.columns[s]=(kanbanData.columns[s]||[]).filter(t=>t.id!==id)
|
|
338
339
|
}
|
|
339
340
|
task.status=res.status||'completed'
|
|
341
|
+
task.output=res.output||''
|
|
340
342
|
kanbanData.columns[task.status]=(kanbanData.columns[task.status]||[])
|
|
341
343
|
kanbanData.columns[task.status].unshift(task)
|
|
342
344
|
renderKanban()
|
|
@@ -346,6 +348,15 @@ async function runKanbanTask(id){
|
|
|
346
348
|
}
|
|
347
349
|
}
|
|
348
350
|
|
|
351
|
+
function toggleKanbanOutput(e,id){
|
|
352
|
+
e.stopPropagation()
|
|
353
|
+
const el=document.getElementById('ko-'+id)
|
|
354
|
+
if(!el)return
|
|
355
|
+
const show=el.style.display==='none'
|
|
356
|
+
el.style.display=show?'block':'none'
|
|
357
|
+
e.target.textContent=show?'Masquer résultat':'Voir résultat'
|
|
358
|
+
}
|
|
359
|
+
|
|
349
360
|
// ===== LOGS =====
|
|
350
361
|
let logStream=null
|
|
351
362
|
async function loadLogs(){
|
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.3.
|
|
368022
|
+
version: "0.3.38",
|
|
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",
|
|
@@ -442317,7 +442317,13 @@ var BuiltinAgentNameSchema = z18.enum([
|
|
|
442317
442317
|
"the-keymaker",
|
|
442318
442318
|
"agent-smith",
|
|
442319
442319
|
"the-operator",
|
|
442320
|
-
"neo"
|
|
442320
|
+
"neo",
|
|
442321
|
+
"trinity",
|
|
442322
|
+
"cypher",
|
|
442323
|
+
"sentinel",
|
|
442324
|
+
"mouse",
|
|
442325
|
+
"dreamer",
|
|
442326
|
+
"architect"
|
|
442321
442327
|
]);
|
|
442322
442328
|
var BuiltinSkillNameSchema = z18.enum([
|
|
442323
442329
|
"playwright",
|
package/dist/tui.js
CHANGED
|
@@ -20033,7 +20033,13 @@ var init_agent_names = __esm(() => {
|
|
|
20033
20033
|
"the-keymaker",
|
|
20034
20034
|
"agent-smith",
|
|
20035
20035
|
"the-operator",
|
|
20036
|
-
"neo"
|
|
20036
|
+
"neo",
|
|
20037
|
+
"trinity",
|
|
20038
|
+
"cypher",
|
|
20039
|
+
"sentinel",
|
|
20040
|
+
"mouse",
|
|
20041
|
+
"dreamer",
|
|
20042
|
+
"architect"
|
|
20037
20043
|
]);
|
|
20038
20044
|
BuiltinSkillNameSchema = exports_external.enum([
|
|
20039
20045
|
"playwright",
|
package/package.json
CHANGED