@kl-c/matrixos 0.3.33 → 0.3.35

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.3.33",
2166
+ version: "0.3.35",
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",
@@ -186945,6 +186945,7 @@ function ensureKanbanTable(db) {
186945
186945
  CREATE TABLE IF NOT EXISTS matrixos_kanban (
186946
186946
  id TEXT PRIMARY KEY,
186947
186947
  title TEXT NOT NULL,
186948
+ description TEXT NOT NULL DEFAULT '',
186948
186949
  agent TEXT NOT NULL DEFAULT 'Unknown',
186949
186950
  status TEXT NOT NULL DEFAULT 'pending',
186950
186951
  priority TEXT NOT NULL DEFAULT 'medium',
@@ -186952,6 +186953,11 @@ function ensureKanbanTable(db) {
186952
186953
  updated_at INTEGER NOT NULL
186953
186954
  )
186954
186955
  `);
186956
+ try {
186957
+ db.query("SELECT description FROM matrixos_kanban LIMIT 1").all();
186958
+ } catch {
186959
+ db.exec("ALTER TABLE matrixos_kanban ADD COLUMN description TEXT NOT NULL DEFAULT ''");
186960
+ }
186955
186961
  }
186956
186962
  function midnightMs() {
186957
186963
  const d = new Date;
@@ -187220,7 +187226,7 @@ function createDataProvider(config5) {
187220
187226
  return board;
187221
187227
  try {
187222
187228
  ensureKanbanTable(db);
187223
- const rows = db.query("SELECT id, title, agent, status, priority, created_at, updated_at FROM matrixos_kanban ORDER BY updated_at DESC").all();
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();
187224
187230
  for (const row of rows) {
187225
187231
  const status2 = row.status;
187226
187232
  if (!board.columns[status2])
@@ -187228,6 +187234,7 @@ function createDataProvider(config5) {
187228
187234
  const task2 = {
187229
187235
  id: row.id,
187230
187236
  title: row.title,
187237
+ description: row.description || "",
187231
187238
  agent: row.agent || "Unknown",
187232
187239
  priority: row.priority ?? "medium",
187233
187240
  status: status2,
@@ -187251,7 +187258,7 @@ function createDataProvider(config5) {
187251
187258
  const now = Date.now();
187252
187259
  const status2 = input.status ?? "pending";
187253
187260
  const priority = input.priority ?? "medium";
187254
- db.query("INSERT INTO matrixos_kanban (id, title, agent, status, priority, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)").run(id, input.title, input.agent ?? "Unknown", status2, priority, now, now);
187261
+ db.query("INSERT INTO matrixos_kanban (id, title, description, agent, status, priority, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run(id, input.title, input.description ?? "", input.agent ?? "Unknown", status2, priority, now, now);
187255
187262
  return { ok: true, id };
187256
187263
  } catch (e) {
187257
187264
  return { ok: false, error: e instanceof Error ? e.message : String(e) };
@@ -187274,6 +187281,10 @@ function createDataProvider(config5) {
187274
187281
  sets.push("title = ?");
187275
187282
  params.push(input.title);
187276
187283
  }
187284
+ if (input.description !== undefined) {
187285
+ sets.push("description = ?");
187286
+ params.push(input.description);
187287
+ }
187277
187288
  if (input.agent !== undefined) {
187278
187289
  sets.push("agent = ?");
187279
187290
  params.push(input.agent);
@@ -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.33",
2166
+ version: "0.3.35",
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",
@@ -187000,6 +187000,7 @@ function ensureKanbanTable(db) {
187000
187000
  CREATE TABLE IF NOT EXISTS matrixos_kanban (
187001
187001
  id TEXT PRIMARY KEY,
187002
187002
  title TEXT NOT NULL,
187003
+ description TEXT NOT NULL DEFAULT '',
187003
187004
  agent TEXT NOT NULL DEFAULT 'Unknown',
187004
187005
  status TEXT NOT NULL DEFAULT 'pending',
187005
187006
  priority TEXT NOT NULL DEFAULT 'medium',
@@ -187007,6 +187008,11 @@ function ensureKanbanTable(db) {
187007
187008
  updated_at INTEGER NOT NULL
187008
187009
  )
187009
187010
  `);
187011
+ try {
187012
+ db.query("SELECT description FROM matrixos_kanban LIMIT 1").all();
187013
+ } catch {
187014
+ db.exec("ALTER TABLE matrixos_kanban ADD COLUMN description TEXT NOT NULL DEFAULT ''");
187015
+ }
187010
187016
  }
187011
187017
  function midnightMs() {
187012
187018
  const d = new Date;
@@ -187275,7 +187281,7 @@ function createDataProvider(config5) {
187275
187281
  return board;
187276
187282
  try {
187277
187283
  ensureKanbanTable(db);
187278
- const rows = db.query("SELECT id, title, agent, status, priority, created_at, updated_at FROM matrixos_kanban ORDER BY updated_at DESC").all();
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();
187279
187285
  for (const row of rows) {
187280
187286
  const status2 = row.status;
187281
187287
  if (!board.columns[status2])
@@ -187283,6 +187289,7 @@ function createDataProvider(config5) {
187283
187289
  const task2 = {
187284
187290
  id: row.id,
187285
187291
  title: row.title,
187292
+ description: row.description || "",
187286
187293
  agent: row.agent || "Unknown",
187287
187294
  priority: row.priority ?? "medium",
187288
187295
  status: status2,
@@ -187306,7 +187313,7 @@ function createDataProvider(config5) {
187306
187313
  const now = Date.now();
187307
187314
  const status2 = input.status ?? "pending";
187308
187315
  const priority = input.priority ?? "medium";
187309
- db.query("INSERT INTO matrixos_kanban (id, title, agent, status, priority, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)").run(id, input.title, input.agent ?? "Unknown", status2, priority, now, now);
187316
+ db.query("INSERT INTO matrixos_kanban (id, title, description, agent, status, priority, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run(id, input.title, input.description ?? "", input.agent ?? "Unknown", status2, priority, now, now);
187310
187317
  return { ok: true, id };
187311
187318
  } catch (e) {
187312
187319
  return { ok: false, error: e instanceof Error ? e.message : String(e) };
@@ -187329,6 +187336,10 @@ function createDataProvider(config5) {
187329
187336
  sets.push("title = ?");
187330
187337
  params.push(input.title);
187331
187338
  }
187339
+ if (input.description !== undefined) {
187340
+ sets.push("description = ?");
187341
+ params.push(input.description);
187342
+ }
187332
187343
  if (input.agent !== undefined) {
187333
187344
  sets.push("agent = ?");
187334
187345
  params.push(input.agent);
@@ -241,6 +241,8 @@ body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-pr
241
241
  .modal-box .input{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 12px;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-body)}
242
242
  .modal-box select.input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23a0a8b8' stroke-width='1.5'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}
243
243
  .modal-box select.input option{background:var(--bg-elevated);color:var(--text-primary)}
244
+ .modal-box textarea.input{resize:vertical;min-height:60px;font-family:var(--font-body)}
245
+ .kanban-card-desc{font-size:var(--text-xs);color:var(--text-secondary);margin:4px 0 2px;line-height:1.4;max-height:60px;overflow:hidden}
244
246
  .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
245
247
 
246
248
 
@@ -209,6 +209,7 @@ function renderKanban(){
209
209
  <div class="kanban-body">${
210
210
  tasks.length?tasks.map(t=>`<div class="kanban-card" draggable="true" ondragstart="onKanbanDragStart(event,'${t.id}')" ondblclick="openKanbanModal('${t.id}')">
211
211
  <div class="kanban-card-title">${escapeHtml(t.title)}</div>
212
+ ${t.description?`<div class="kanban-card-desc">${escapeHtml(t.description)}</div>`:''}
212
213
  <div class="kanban-card-meta"><span>${escapeHtml(t.agent)}</span><span class="prio ${t.priority}">${t.priority}</span></div>
213
214
  <button class="kanban-del" onclick="deleteKanbanTask('${t.id}')" title="Delete">×</button>
214
215
  </div>`).join(''):'<div style="padding:20px;text-align:center;color:var(--text-tertiary);font-size:var(--text-xs)">No tasks</div>'
@@ -278,6 +279,7 @@ async function openKanbanModal(id){
278
279
  <div class="modal-box">
279
280
  <h3>${task?'Edit Task':'New Task'}</h3>
280
281
  <label>Title<input id="kbTitle" class="input" value="${task?escapeHtml(task.title):''}"></label>
282
+ <label>Description<textarea id="kbDesc" class="input" rows="3" placeholder="Détails de la tâche...">${task?escapeHtml(task.description||''):''}</textarea></label>
281
283
  <label>Agent<select id="kbAgent" class="input">
282
284
  ${agentOptions||'<option value="">—</option>'}
283
285
  </select></label>
@@ -297,15 +299,16 @@ async function openKanbanModal(id){
297
299
 
298
300
  async function saveKanban(id){
299
301
  const title=document.getElementById('kbTitle').value.trim()
302
+ const description=document.getElementById('kbDesc').value.trim()
300
303
  const agent=document.getElementById('kbAgent').value.trim()
301
304
  const priority=document.getElementById('kbPriority').value
302
305
  const status=document.getElementById('kbStatus').value
303
306
  if(!title){alert('Title required');return}
304
307
  try{
305
308
  if(id){
306
- await API.kanbanUpdate({id,title,agent,priority,status})
309
+ await API.kanbanUpdate({id,title,description,agent,priority,status})
307
310
  }else{
308
- const res=await API.kanbanCreate({title,agent,priority,status})
311
+ const res=await API.kanbanCreate({title,description,agent,priority,status})
309
312
  if(!res.ok){throw new Error(res.error||'create failed')}
310
313
  }
311
314
  document.querySelector('.modal-overlay')?.remove()
@@ -40,8 +40,9 @@ export interface CostSummary {
40
40
  export interface KanbanTask {
41
41
  id: string;
42
42
  title: string;
43
+ description?: string;
43
44
  agent: string;
44
- priority: "low" | "medium" | "high" | "critical";
45
+ priority: "low" | "medium" | "high" | "urgent";
45
46
  status: "pending" | "in_progress" | "completed" | "failed";
46
47
  createdAt: string;
47
48
  updatedAt: string;
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.33",
368022
+ version: "0.3.35",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kl-c/matrixos",
3
- "version": "0.3.33",
3
+ "version": "0.3.35",
4
4
  "description": "MaTrixOS \u2014 Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",