cf-claw 3.0.2 → 3.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAmEA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAExD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAYpD;AAoBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAI7D;AAED,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAK3D;AAED,wBAAgB,QAAQ,IAAI,MAAM,EAAE,CAGnC;AA8BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,OAAO,CAAC,eAAe,CAAC,CA6D1B;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAOzH;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAchG;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,QAAA,MAAM,WAAW,EAAE,SAAS,EAqL3B,CAAC;AAEF,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAoDhD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAgD3C;AAcD,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAsEA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAExD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAYpD;AAoBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAI7D;AAED,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAK3D;AAED,wBAAgB,QAAQ,IAAI,MAAM,EAAE,CAGnC;AA8BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,OAAO,CAAC,eAAe,CAAC,CA6D1B;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAOzH;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAchG;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,QAAA,MAAM,WAAW,EAAE,SAAS,EAqL3B,CAAC;AAEF,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAsDhD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAoD3C;AAcD,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/dist/agents.js CHANGED
@@ -48,6 +48,7 @@ const getAgentByName = db.prepare("SELECT * FROM agent_registry WHERE name = ?")
48
48
  const getAllAgents = db.prepare("SELECT id, name, role, description, tools, rules, tags, team, model, fallback_model, built_in, created_at, updated_at FROM agent_registry ORDER BY team, name");
49
49
  const getAgentsByTeam = db.prepare("SELECT id, name, role, description, tools, rules, tags, team, model, fallback_model, built_in FROM agent_registry WHERE team = ? ORDER BY name");
50
50
  const deleteAgentStmt = db.prepare("DELETE FROM agent_registry WHERE name = ?");
51
+ const insertSeedAgent = db.prepare("INSERT OR IGNORE INTO agent_registry (name, role, description, system_prompt, tools, rules, tags, team, file_path, model, fallback_model, embedding, built_in) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
51
52
  const deleteAgentVec = db.prepare("DELETE FROM agent_registry_vec WHERE rowid = ?");
52
53
  const updateAgentStmt = db.prepare("UPDATE agent_registry SET role = ?, description = ?, system_prompt = ?, tools = ?, rules = ?, tags = ?, team = ?, model = ?, fallback_model = ?, embedding = ?, updated_at = datetime('now') WHERE name = ?");
53
54
  let activeAgent = null;
@@ -405,10 +406,12 @@ export async function seedAgents() {
405
406
  if (!existing) {
406
407
  const vec = await embed(`${def.name} ${def.role || ""} ${def.description || ""}`);
407
408
  const buf = vecToBuffer(vec);
408
- const result = insertAgent.run(name, def.role || "Agent", def.description || "", def.system_prompt || "", JSON.stringify(def.tools || []), JSON.stringify(def.rules || []), JSON.stringify(def.tags || []), def.team || "general", filePath, def.model || null, def.fallback_model || null, buf, 1);
409
- const rowid = Number(result.lastInsertRowid);
410
- insertAgentVec.run(BigInt(rowid), buf);
411
- seeded++;
409
+ const result = insertSeedAgent.run(name, def.role || "Agent", def.description || "", def.system_prompt || "", JSON.stringify(def.tools || []), JSON.stringify(def.rules || []), JSON.stringify(def.tags || []), def.team || "general", filePath, def.model || null, def.fallback_model || null, buf, 1);
410
+ if (result.changes > 0) {
411
+ const rowid = Number(result.lastInsertRowid);
412
+ insertAgentVec.run(BigInt(rowid), buf);
413
+ seeded++;
414
+ }
412
415
  }
413
416
  else if (existing.built_in === 1) {
414
417
  const seedModel = def.model || null;
@@ -447,10 +450,12 @@ export function loadAgentsFromDisk() {
447
450
  continue;
448
451
  const vec = pseudoEmbed(`${parsed.name} ${parsed.role || ""} ${parsed.description || ""}`);
449
452
  const agentTeam = parsed.team || team;
450
- const result = insertAgent.run(name, parsed.role || "Agent", parsed.description || "", parsed.system_prompt, JSON.stringify(parsed.tools || []), JSON.stringify(parsed.rules || []), JSON.stringify(parsed.tags || []), agentTeam, path.join(teamPath, file), vec, 0);
451
- const rowid = Number(result.lastInsertRowid);
452
- insertAgentVec.run(BigInt(rowid), vec);
453
- loaded++;
453
+ const result = insertSeedAgent.run(name, parsed.role || "Agent", parsed.description || "", parsed.system_prompt, JSON.stringify(parsed.tools || []), JSON.stringify(parsed.rules || []), JSON.stringify(parsed.tags || []), agentTeam, path.join(teamPath, file), parsed.model || null, parsed.fallback_model || null, vec, 0);
454
+ if (result.changes > 0) {
455
+ const rowid = Number(result.lastInsertRowid);
456
+ insertAgentVec.run(BigInt(rowid), vec);
457
+ loaded++;
458
+ }
454
459
  }
455
460
  catch (err) {
456
461
  console.warn(`📋 Failed to load agent ${file}: ${err instanceof Error ? err.message : err}`);
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
package/dist/bot.js CHANGED
@@ -195,7 +195,7 @@ bot.on("message:voice", async (ctx) => {
195
195
  await ctx.reply("🎤 Transkriberar röst...");
196
196
  const file = await ctx.getFile();
197
197
  const fileUrl = `https://api.telegram.org/file/bot${config.telegramBotToken}/${file.file_path}`;
198
- const transcript = await transcribeVoice(fileUrl, file.file_path ?? "voice.ogg");
198
+ const transcript = await transcribeVoice(file.file_id);
199
199
  console.log(`📝 Transcript: ${transcript.substring(0, 80)}${transcript.length > 80 ? "…" : ""}`);
200
200
  await ctx.reply(`🎤 _"${transcript}"_`, { parse_mode: "Markdown" }).catch(async () => {
201
201
  await ctx.reply(`🎤 "${transcript}"`);
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAuC,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,IAAY;IAC/D,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACnF,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACpF,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACnC,IAAI,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,MAAM,CAAC;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAE3B,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAAE,OAAO;QACvC,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YAC/E,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,GAAG,uFAAuF,CAAC;IACrH,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,mDAAmD,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACnG,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAChE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5G,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;wBAC3E,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACxE,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC7E,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAEzC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,KAAK;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;iBACnM,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,GAAG,GAAG,gCAAgC,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,EAAE,MAAM,KAAK,CAAC,MAAM,cAAc,QAAQ,8DAA8D,CAAC;YAErL,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBAChE,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,GAAG,CAAC,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACjD,IAAI,CAAC;oBAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;iBAClG,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,GAAG,CAAC,KAAK,CAAC,4BAA4B,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBAClG,MAAM,GAAG,CAAC,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACxE,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;YAC5C,MAAM,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpG,IAAI,CAAC;QACH,IAAI,aAAiC,CAAC;QACtC,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAE1B,MAAM,YAAY,GAAiB;YACjC,UAAU,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBACpC,IAAI,CAAC;oBACH,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,OAAO,GAAG,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC;wBAClD,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;4BAC3B,gBAAgB,GAAG,OAAO,CAAC;4BAC3B,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;wBAChE,CAAC;6BAAM,CAAC;4BACN,gBAAgB,GAAG,OAAO,CAAC;4BAC3B,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;wBACxD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,gBAAgB,GAAG,OAAO,CAAC;wBAC3B,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7F,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBAAC,MAAM,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACtE,CAAC;QAED,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,MAAM,CAAC;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,oBAAoB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;IAE9E,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE5C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,oCAAoC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhG,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjG,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,UAAU,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACnF,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,aAAiC,CAAC;QACtC,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAE1B,MAAM,YAAY,GAAiB;YACjC,UAAU,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBACpC,IAAI,CAAC;oBACH,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,OAAO,GAAG,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC;wBAClD,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;4BAC3B,gBAAgB,GAAG,OAAO,CAAC;4BAC3B,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;wBAChE,CAAC;6BAAM,CAAC;4BACN,gBAAgB,GAAG,OAAO,CAAC;4BAC3B,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;wBACxD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,gBAAgB,GAAG,OAAO,CAAC;wBAC3B,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7F,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBAAC,MAAM,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACtE,CAAC;QAED,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,YAAY,CAAC,GAAQ,EAAE,MAAmB;IACvD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO;IAE9C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACjE,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBAClE,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,SAAiB;IACnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,MAAM;QACR,CAAC;QAED,IAAI,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;YACtD,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;YACtD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAChD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"pjCmHhInKD6BfWBygpvXd\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"lfNehuxVBbCLAYmSRZXi4\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"pjCmHhInKD6BfWBygpvXd\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"lfNehuxVBbCLAYmSRZXi4\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><script src="/_next/static/chunks/343-71498a8257bc1e81.js" async=""></script><script src="/_next/static/chunks/191-a6922264096cb3ad.js" async=""></script><script src="/_next/static/chunks/app/page-dff55e58941a3c4d.js" async=""></script><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div class="flex h-screen w-screen overflow-hidden bg-[#030712]"><aside class="flex w-64 flex-shrink-0 flex-col border-r border-slate-800/60 bg-[#0b1120]" style="width:256px"><div class="flex items-center gap-3 border-b border-slate-800/60 px-5 py-5"><div class="flex h-9 w-9 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-5 w-5 text-cyan-400" style="filter:drop-shadow(0 0 6px rgba(34,211,238,0.6))"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-sm font-semibold text-slate-100">CF Claw</h1><p class="text-xs text-slate-500">AgentOS Dashboard</p></div></div><nav class="flex-1 overflow-y-auto px-3 py-3"><div class="space-y-0.5"><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-cyan-500/20 bg-cyan-500/10 text-cyan-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 flex-shrink-0"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="truncate">Platform Overview</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-factory h-4 w-4 flex-shrink-0"><path d="M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"></path><path d="M17 18h1"></path><path d="M12 18h1"></path><path d="M7 18h1"></path></svg><span class="truncate">Project Factory</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-4 w-4 flex-shrink-0"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="truncate">Cron Scheduler</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 flex-shrink-0"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="truncate">Agent Chat</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-graduation-cap h-4 w-4 flex-shrink-0"><path d="M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"></path><path d="M22 10v6"></path><path d="M6 12.5V16a6 3 0 0 0 12 0v-3.5"></path></svg><span class="truncate">Skills &amp; Learning</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain-circuit h-4 w-4 flex-shrink-0"><path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"></path><path d="M9 13a4.5 4.5 0 0 0 3-4"></path><path d="M6.003 5.125A3 3 0 0 0 6.401 6.5"></path><path d="M3.477 10.896a4 4 0 0 1 .585-.396"></path><path d="M6 18a4 4 0 0 1-1.967-.516"></path><path d="M12 13h4"></path><path d="M12 18h6a2 2 0 0 1 2 2v1"></path><path d="M12 8h8"></path><path d="M16 8V5a2 2 0 0 1 2-2"></path><circle cx="16" cy="13" r=".5"></circle><circle cx="18" cy="3" r=".5"></circle><circle cx="20" cy="21" r=".5"></circle><circle cx="20" cy="8" r=".5"></circle></svg><span class="truncate">Memory &amp; Graph</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-merge h-4 w-4 flex-shrink-0"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path></svg><span class="truncate">Mesh &amp; Swarms</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-4 w-4 flex-shrink-0"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="truncate">Agent Registry</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder h-4 w-4 flex-shrink-0"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path></svg><span class="truncate">Document Store</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4 flex-shrink-0"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg><span class="truncate">System Logs</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign h-4 w-4 flex-shrink-0"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span class="truncate">Usage &amp; Cost</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell h-4 w-4 flex-shrink-0"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg><span class="truncate">Webhooks</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers h-4 w-4 flex-shrink-0"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span class="truncate">Sessions</span></button></div></nav><div class="border-t border-slate-800/60 p-4"><h3 class="mb-3 text-xs font-semibold uppercase tracking-wider text-slate-500">Nudge Counters</h3><div class="space-y-3"><div><div class="mb-1 flex items-center justify-between"><span class="text-xs text-slate-400">Memory Nudge</span><span class="text-xs font-mono text-cyan-400">0<!-- -->/10</span></div><div class="h-1.5 w-full rounded-full bg-slate-800"><div class="h-1.5 rounded-full bg-cyan-500 transition-all duration-500" style="width:0%"></div></div></div><div><div class="mb-1 flex items-center justify-between"><span class="text-xs text-slate-400">Skill Edit Nudge</span><span class="text-xs font-mono text-purple-400">0<!-- -->/10</span></div><div class="h-1.5 w-full rounded-full bg-slate-800"><div class="h-1.5 rounded-full bg-purple-500 transition-all duration-500" style="width:0%"></div></div></div></div></div></aside><div class="flex flex-1 flex-col overflow-hidden"><header class="flex items-center justify-between border-b border-slate-800/60 bg-[#0b1120] px-6 py-3"><h2 class="text-base font-semibold text-slate-100">Platform Overview</h2><div class="flex items-center gap-3"><div class="flex items-center gap-2"><div class="h-2 w-2 rounded-full animate-pulse bg-amber-400"></div><span class="text-xs text-slate-500">Connecting...</span><span class="mx-1 text-slate-700">|</span><span class="text-xs text-slate-500">WS: <!-- -->Closed</span></div><a class="flex items-center gap-1.5 rounded-lg border border-slate-700/50 bg-slate-800/40 px-3 py-1.5 text-xs font-medium text-slate-400 transition-colors hover:border-cyan-500/30 hover:bg-cyan-500/10 hover:text-cyan-400" href="/manual/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-help h-3.5 w-3.5"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg>Help</a></div></header><main class="flex-1 overflow-y-auto p-6"><div class="space-y-6"><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4"><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5"><h3 class="text-sm font-semibold text-slate-300 mb-4 flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity w-4 h-4 text-cyan-400"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>System Status</h3><div class="grid grid-cols-2 lg:grid-cols-4 gap-4"><div class="flex items-center gap-3"><div class="bg-purple-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap w-4 h-4 text-purple-400"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><p class="text-xs text-slate-500">Active Model</p><p class="text-sm text-slate-300 font-medium">—</p></div></div><div class="flex items-center gap-3"><div class="bg-cyan-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock w-4 h-4 text-cyan-400"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div><div><p class="text-xs text-slate-500">Uptime</p><p class="text-sm text-slate-300 font-medium">—</p></div></div><div class="flex items-center gap-3"><div class="bg-red-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi-off w-4 h-4 text-red-400"><path d="M12 20h.01"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path><path d="M5 12.859a10 10 0 0 1 5.17-2.69"></path><path d="M19 12.859a10 10 0 0 0-2.007-1.523"></path><path d="M2 8.82a15 15 0 0 1 4.177-2.643"></path><path d="M22 8.82a15 15 0 0 0-11.288-3.764"></path><path d="m2 2 20 20"></path></svg></div><div><p class="text-xs text-slate-500">WebSocket</p><p class="text-sm font-medium text-red-400">Disconnected</p></div></div><div class="flex items-center gap-3"><div class="bg-amber-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar w-4 h-4 text-amber-400"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></div><div><p class="text-xs text-slate-500">Scheduler</p><p class="text-sm font-medium text-slate-500">Disabled</p></div></div></div></div></div></main></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[9107,[],\"ClientPageRoot\"]\n5:I[4615,[\"343\",\"static/chunks/343-71498a8257bc1e81.js\",\"191\",\"static/chunks/191-a6922264096cb3ad.js\",\"931\",\"static/chunks/app/page-dff55e58941a3c4d.js\"],\"default\",1]\n6:I[4707,[],\"\"]\n7:I[6423,[],\"\"]\n9:I[1060,[],\"\"]\na:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"pjCmHhInKD6BfWBygpvXd\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],null],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><script src="/_next/static/chunks/343-71498a8257bc1e81.js" async=""></script><script src="/_next/static/chunks/191-a6922264096cb3ad.js" async=""></script><script src="/_next/static/chunks/app/page-dff55e58941a3c4d.js" async=""></script><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div class="flex h-screen w-screen overflow-hidden bg-[#030712]"><aside class="flex w-64 flex-shrink-0 flex-col border-r border-slate-800/60 bg-[#0b1120]" style="width:256px"><div class="flex items-center gap-3 border-b border-slate-800/60 px-5 py-5"><div class="flex h-9 w-9 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-5 w-5 text-cyan-400" style="filter:drop-shadow(0 0 6px rgba(34,211,238,0.6))"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-sm font-semibold text-slate-100">CF Claw</h1><p class="text-xs text-slate-500">AgentOS Dashboard</p></div></div><nav class="flex-1 overflow-y-auto px-3 py-3"><div class="space-y-0.5"><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-cyan-500/20 bg-cyan-500/10 text-cyan-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 flex-shrink-0"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="truncate">Platform Overview</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-factory h-4 w-4 flex-shrink-0"><path d="M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"></path><path d="M17 18h1"></path><path d="M12 18h1"></path><path d="M7 18h1"></path></svg><span class="truncate">Project Factory</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-4 w-4 flex-shrink-0"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="truncate">Cron Scheduler</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 flex-shrink-0"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="truncate">Agent Chat</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-graduation-cap h-4 w-4 flex-shrink-0"><path d="M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"></path><path d="M22 10v6"></path><path d="M6 12.5V16a6 3 0 0 0 12 0v-3.5"></path></svg><span class="truncate">Skills &amp; Learning</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain-circuit h-4 w-4 flex-shrink-0"><path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"></path><path d="M9 13a4.5 4.5 0 0 0 3-4"></path><path d="M6.003 5.125A3 3 0 0 0 6.401 6.5"></path><path d="M3.477 10.896a4 4 0 0 1 .585-.396"></path><path d="M6 18a4 4 0 0 1-1.967-.516"></path><path d="M12 13h4"></path><path d="M12 18h6a2 2 0 0 1 2 2v1"></path><path d="M12 8h8"></path><path d="M16 8V5a2 2 0 0 1 2-2"></path><circle cx="16" cy="13" r=".5"></circle><circle cx="18" cy="3" r=".5"></circle><circle cx="20" cy="21" r=".5"></circle><circle cx="20" cy="8" r=".5"></circle></svg><span class="truncate">Memory &amp; Graph</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-merge h-4 w-4 flex-shrink-0"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path></svg><span class="truncate">Mesh &amp; Swarms</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-4 w-4 flex-shrink-0"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="truncate">Agent Registry</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder h-4 w-4 flex-shrink-0"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path></svg><span class="truncate">Document Store</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4 flex-shrink-0"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg><span class="truncate">System Logs</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign h-4 w-4 flex-shrink-0"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span class="truncate">Usage &amp; Cost</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell h-4 w-4 flex-shrink-0"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg><span class="truncate">Webhooks</span></button><button class="flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors border border-transparent text-slate-400 hover:bg-slate-800/40 hover:text-slate-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers h-4 w-4 flex-shrink-0"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span class="truncate">Sessions</span></button></div></nav><div class="border-t border-slate-800/60 p-4"><h3 class="mb-3 text-xs font-semibold uppercase tracking-wider text-slate-500">Nudge Counters</h3><div class="space-y-3"><div><div class="mb-1 flex items-center justify-between"><span class="text-xs text-slate-400">Memory Nudge</span><span class="text-xs font-mono text-cyan-400">0<!-- -->/10</span></div><div class="h-1.5 w-full rounded-full bg-slate-800"><div class="h-1.5 rounded-full bg-cyan-500 transition-all duration-500" style="width:0%"></div></div></div><div><div class="mb-1 flex items-center justify-between"><span class="text-xs text-slate-400">Skill Edit Nudge</span><span class="text-xs font-mono text-purple-400">0<!-- -->/10</span></div><div class="h-1.5 w-full rounded-full bg-slate-800"><div class="h-1.5 rounded-full bg-purple-500 transition-all duration-500" style="width:0%"></div></div></div></div></div></aside><div class="flex flex-1 flex-col overflow-hidden"><header class="flex items-center justify-between border-b border-slate-800/60 bg-[#0b1120] px-6 py-3"><h2 class="text-base font-semibold text-slate-100">Platform Overview</h2><div class="flex items-center gap-3"><div class="flex items-center gap-2"><div class="h-2 w-2 rounded-full animate-pulse bg-amber-400"></div><span class="text-xs text-slate-500">Connecting...</span><span class="mx-1 text-slate-700">|</span><span class="text-xs text-slate-500">WS: <!-- -->Closed</span></div><a class="flex items-center gap-1.5 rounded-lg border border-slate-700/50 bg-slate-800/40 px-3 py-1.5 text-xs font-medium text-slate-400 transition-colors hover:border-cyan-500/30 hover:bg-cyan-500/10 hover:text-cyan-400" href="/manual/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-help h-3.5 w-3.5"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg>Help</a></div></header><main class="flex-1 overflow-y-auto p-6"><div class="space-y-6"><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4"><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5 animate-pulse"><div class="flex items-center gap-3 mb-3"><div class="w-10 h-10 rounded-xl bg-slate-800"></div><div class="flex-1"><div class="h-4 bg-slate-800 rounded w-12 mb-1"></div><div class="h-3 bg-slate-800 rounded w-20"></div></div></div><div class="h-8 bg-slate-800 rounded w-16"></div></div></div><div class="bg-[#0b1120] border border-slate-800 rounded-2xl p-5"><h3 class="text-sm font-semibold text-slate-300 mb-4 flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity w-4 h-4 text-cyan-400"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>System Status</h3><div class="grid grid-cols-2 lg:grid-cols-4 gap-4"><div class="flex items-center gap-3"><div class="bg-purple-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap w-4 h-4 text-purple-400"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><p class="text-xs text-slate-500">Active Model</p><p class="text-sm text-slate-300 font-medium">—</p></div></div><div class="flex items-center gap-3"><div class="bg-cyan-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock w-4 h-4 text-cyan-400"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div><div><p class="text-xs text-slate-500">Uptime</p><p class="text-sm text-slate-300 font-medium">—</p></div></div><div class="flex items-center gap-3"><div class="bg-red-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi-off w-4 h-4 text-red-400"><path d="M12 20h.01"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path><path d="M5 12.859a10 10 0 0 1 5.17-2.69"></path><path d="M19 12.859a10 10 0 0 0-2.007-1.523"></path><path d="M2 8.82a15 15 0 0 1 4.177-2.643"></path><path d="M22 8.82a15 15 0 0 0-11.288-3.764"></path><path d="m2 2 20 20"></path></svg></div><div><p class="text-xs text-slate-500">WebSocket</p><p class="text-sm font-medium text-red-400">Disconnected</p></div></div><div class="flex items-center gap-3"><div class="bg-amber-500/10 p-2 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar w-4 h-4 text-amber-400"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></div><div><p class="text-xs text-slate-500">Scheduler</p><p class="text-sm font-medium text-slate-500">Disabled</p></div></div></div></div></div></main></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[9107,[],\"ClientPageRoot\"]\n5:I[4615,[\"343\",\"static/chunks/343-71498a8257bc1e81.js\",\"191\",\"static/chunks/191-a6922264096cb3ad.js\",\"931\",\"static/chunks/app/page-dff55e58941a3c4d.js\"],\"default\",1]\n6:I[4707,[],\"\"]\n7:I[6423,[],\"\"]\n9:I[1060,[],\"\"]\na:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"lfNehuxVBbCLAYmSRZXi4\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],null],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
@@ -2,6 +2,6 @@
2
2
  3:I[4615,["343","static/chunks/343-71498a8257bc1e81.js","191","static/chunks/191-a6922264096cb3ad.js","931","static/chunks/app/page-dff55e58941a3c4d.js"],"default",1]
3
3
  4:I[4707,[],""]
4
4
  5:I[6423,[],""]
5
- 0:["pjCmHhInKD6BfWBygpvXd",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/baff0f221c10680b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"sv","children":["$","body",null,{"className":"bg-[#030712] text-slate-300 antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
5
+ 0:["lfNehuxVBbCLAYmSRZXi4",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/baff0f221c10680b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"sv","children":["$","body",null,{"className":"bg-[#030712] text-slate-300 antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
6
6
  6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"CF Claw Dashboard"}],["$","meta","3",{"name":"description","content":"CF Claw AgentOS Dashboard"}]]
7
7
  1:null
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><script src="/_next/static/chunks/343-71498a8257bc1e81.js" async=""></script><script src="/_next/static/chunks/app/manual/page-3c401ecf89979cd7.js" async=""></script><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div class="min-h-screen bg-[#030712]"><div class="mx-auto max-w-4xl px-6 py-8"><header class="mb-8"><a class="mb-6 inline-flex items-center gap-2 rounded-lg border border-slate-700/50 bg-slate-800/40 px-4 py-2 text-sm font-medium text-slate-400 transition-colors hover:border-cyan-500/30 hover:bg-cyan-500/10 hover:text-cyan-400" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left h-4 w-4"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Tillbaka till Dashboard</a><div class="mt-6 flex items-center gap-4"><div class="flex h-12 w-12 items-center justify-center rounded-xl bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-6 w-6 text-cyan-400" style="filter:drop-shadow(0 0 6px rgba(34,211,238,0.6))"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-2xl font-bold text-slate-100">CF Claw Dashboard — Manual</h1><p class="text-sm text-slate-500">AgentOS Dashboard v1.0</p></div></div></header><div class="mb-8 rounded-xl border border-cyan-500/20 bg-cyan-500/5 p-5"><h3 class="mb-2 text-sm font-semibold text-cyan-400">Om CF Claw Dashboard</h3><p class="text-sm leading-relaxed text-slate-300">CF Claw Dashboard är webbgränssnittet för din AI-agentplattform. Här kan du hantera projekt, schemalägga uppgifter, chatta med agenter, övervaka minne och kunskaper, samt följa systemets prestanda i realtid. All kommunikation sker via ett autentiserat WebSocket-anslutning mot backend.</p></div><div class="space-y-6"><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi h-4 w-4 text-cyan-400"><path d="M12 20h.01"></path><path d="M2 8.82a15 15 0 0 1 20 0"></path><path d="M5 12.859a10 10 0 0 1 14 0"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Anslutning &amp; Autentisering</h2></div><p class="mb-3 text-sm text-slate-400">Dashboarden ansluter automatiskt till backend-servern via WebSocket. Statusen visas i headern på varje sida:</p><div class="space-y-2 text-sm text-slate-400"><div class="flex items-center gap-2"><div class="h-2 w-2 rounded-full bg-emerald-400"></div><span class="text-emerald-400">Connected</span> — API och WebSocket är uppkopplat</div><div class="flex items-center gap-2"><div class="h-2 w-2 rounded-full bg-red-400"></div><span class="text-red-400">Disconnected</span> — Ingen kontakt med backend</div><div class="flex items-center gap-2"><div class="h-2 w-2 animate-pulse rounded-full bg-amber-400"></div><span class="text-amber-400">Connecting...</span> — Försöker ansluta</div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Om du ser &quot;Disconnected&quot;, kontrollera att backend-servern körs och att<code class="mx-1 rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">NEXT_PUBLIC_API_BASE</code>är korrekt inställd i din <code class="mx-1 rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">.env.local</code>.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield h-4 w-4 text-cyan-400"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Autentisering</h2></div><p class="mb-3 text-sm text-slate-400">Om miljövariabeln<code class="mx-1 rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">NEXT_PUBLIC_AUTH_TOKEN</code>är satt skickas en Bearer-token med alla API-anrop och WebSocket-autentisering. Utan token körs dashboarden i öppet läge (endast för utveckling).</p></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 text-cyan-400"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Platform Overview</h2></div><p class="mb-3 text-sm text-slate-400">Översiktssidan visar systemets hälsostatus och nyckeltal vid en blink.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Statistikkort</span><p class="mt-0.5 text-sm text-slate-400">Visar antal aktiva projekt, cron-jobb, inlärda färdigheter och registrerade agenter.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">System Status</span><p class="mt-0.5 text-sm text-slate-400">Aktiv AI-modell, upptid, WebSocket-status och om schemaläggaren är igång.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Sidan uppdateras automatiskt när du öppnar den. Statistikkortens data hämtas från flera API:er parallellt.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-factory h-4 w-4 text-cyan-400"><path d="M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"></path><path d="M17 18h1"></path><path d="M12 18h1"></path><path d="M7 18h1"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Project Factory</h2></div><p class="mb-3 text-sm text-slate-400">Hantera projekt med Kanban-stil uppdelning. Skapa projekt, lägg till uppgifter och flytta dem mellan kolumner.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Projektlistning</span><p class="mt-0.5 text-sm text-slate-400">Välj bland projekt med framstegsindikatorer, team-avatars och status.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kanban-tavla</span><p class="mt-0.5 text-sm text-slate-400">Fyra kolumner: Backlog, Working, Review och Done. Hovra över en uppgift för att flytta den.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Skapa projekt</span><p class="mt-0.5 text-sm text-slate-400">Klicka &quot;Nytt Projekt&quot; och ange titel, beskrivning och team.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Uppgifter flyttas optimistic — gränssnittet uppdateras direkt och rullas tillbaka om API-anropet misslyckas.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-4 w-4 text-cyan-400"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Cron Scheduler</h2></div><p class="mb-3 text-sm text-slate-400">Schemalägga återkommande uppgifter med cron-uttryck som skickar prompts till din AI-agent.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Global start/stopp</span><p class="mt-0.5 text-sm text-slate-400">Starta eller stoppa hela schemaläggaren med en knapp.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Skapa cron-jobb</span><p class="mt-0.5 text-sm text-slate-400">Ange namn, cron-uttryck (t.ex. 0 9 * * *) och prompt som ska köras.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Aktivera/inaktivera</span><p class="mt-0.5 text-sm text-slate-400">Pausa enskilda jobb utan att ta bort dem.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Nästa körning</span><p class="mt-0.5 text-sm text-slate-400">Se när varje jobb körs nästa gång.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Cron-uttryck följer standardformat: minut timme dag-månad månad veckodag. Exempel: <code class="rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">0 */2 * * *</code> kör varannan timme.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 text-cyan-400"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Agent Chat</h2></div><p class="mb-3 text-sm text-slate-400">Chatta direkt med din AI-agent i realtid med strömmande svar och Markdown-rendering.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Strömmande svar</span><p class="mt-0.5 text-sm text-slate-400">Svaren visas tecken för tecken via WebSocket i realtid.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Modellbyte</span><p class="mt-0.5 text-sm text-slate-400">Välj aktiv AI-modell från en dropdown i chatten. Modeller grupperas per leverantör.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Markdown</span><p class="mt-0.5 text-sm text-slate-400">Assistentens svar renderas med full Markdown-stöd inklusive kodblock.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Stop generation</span><p class="mt-0.5 text-sm text-slate-400">Avbryt en pågående generering med stopp-knappen.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Auto-resize</span><p class="mt-0.5 text-sm text-slate-400">Textrutan växer automatiskt. Skicka med Enter, ny rad med Shift+Enter.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-graduation-cap h-4 w-4 text-cyan-400"><path d="M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"></path><path d="M22 10v6"></path><path d="M6 12.5V16a6 3 0 0 0 12 0v-3.5"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Skills &amp; Learning</h2></div><p class="mb-3 text-sm text-slate-400">Bläddra bland agentens inlärda färdigheter och inbyggda core-skills.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Learned Skills</span><p class="mt-0.5 text-sm text-slate-400">Färdigheter som agenten skapat och sparat. Klicka för att expandera och se innehållet.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Core Skills</span><p class="mt-0.5 text-sm text-slate-400">Inbyggda färdigheter från systemet som inte kan redigeras.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain-circuit h-4 w-4 text-cyan-400"><path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"></path><path d="M9 13a4.5 4.5 0 0 0 3-4"></path><path d="M6.003 5.125A3 3 0 0 0 6.401 6.5"></path><path d="M3.477 10.896a4 4 0 0 1 .585-.396"></path><path d="M6 18a4 4 0 0 1-1.967-.516"></path><path d="M12 13h4"></path><path d="M12 18h6a2 2 0 0 1 2 2v1"></path><path d="M12 8h8"></path><path d="M16 8V5a2 2 0 0 1 2-2"></path><circle cx="16" cy="13" r=".5"></circle><circle cx="18" cy="3" r=".5"></circle><circle cx="20" cy="21" r=".5"></circle><circle cx="20" cy="8" r=".5"></circle></svg></div><h2 class="text-lg font-semibold text-slate-100">Memory &amp; Graph</h2></div><p class="mb-3 text-sm text-slate-400">Inspektera agentens beständiga minne — automatiska sammanfattningar, extraherade fakta och entitetsgraf.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Auto-Summaries</span><p class="mt-0.5 text-sm text-slate-400">Automatiskt genererade sammanfattningar av konversationer.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Extracted Facts</span><p class="mt-0.5 text-sm text-slate-400">Fakta som agenten extraherat och kategoriserat.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Entity Graph</span><p class="mt-0.5 text-sm text-slate-400">Visualisering av relationer mellan entiteter (subjekt — relation — objekt).</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-merge h-4 w-4 text-cyan-400"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Mesh &amp; Swarms</h2></div><p class="mb-3 text-sm text-slate-400">Starta multi-agent arbetsflöden. Mesh delar upp ett mål, Swarm fördelar uppgifter till ett team.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Mesh</span><p class="mt-0.5 text-sm text-slate-400">Ange ett mål — agenten dekomponerar det och distribuerar till flera agenter.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Swarm</span><p class="mt-0.5 text-sm text-slate-400">Ange en uppgift och välj team (default, research, engineering, analysis).</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Live-output</span><p class="mt-0.5 text-sm text-slate-400">Följ arbetsflödets framsteg i realtid med statusindikatorer.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Krver aktiv WebSocket-anslutning. Om du ser en varning, kontrollera anslutningen i headern.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-4 w-4 text-cyan-400"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Agent Registry</h2></div><p class="mb-3 text-sm text-slate-400">Se alla registrerade AI-agenter grupperade per team.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Team-gruppering</span><p class="mt-0.5 text-sm text-slate-400">Agenter visas i team som content, strategy, design, development, quality, operations och support.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Agentkort</span><p class="mt-0.5 text-sm text-slate-400">Varje agent visar namn, roll, tillgängliga verktyg och taggar.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Aktiv agent</span><p class="mt-0.5 text-sm text-slate-400">Den aktiva agenten markeras med en pulserande cyan-prick.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder h-4 w-4 text-cyan-400"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Document Store</h2></div><p class="mb-3 text-sm text-slate-400">Bläddra och hantera dokument med kategorifiltrering.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kategorifilter</span><p class="mt-0.5 text-sm text-slate-400">Filtrera på: all, general, projects, research, notes, html.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Dokumentlista</span><p class="mt-0.5 text-sm text-slate-400">Visar filtyp, titel, storlek och datum. HTML-filer får en &quot;Canvas Ready&quot;-badge.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Åtgärder</span><p class="mt-0.5 text-sm text-slate-400">Rendera (HTML), redigera eller radera dokument vid hover.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4 text-cyan-400"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg></div><h2 class="text-lg font-semibold text-slate-100">System Logs</h2></div><p class="mb-3 text-sm text-slate-400">Realtidsloggvisning med terminalkänsla. Se allt som händer i systemet.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Realtidsuppdateringar</span><p class="mt-0.5 text-sm text-slate-400">Nya loggar strömmar via WebSocket (max 500 rader buffras).</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Färgkodade källor</span><p class="mt-0.5 text-sm text-slate-400">Agent Nudge (lila), Memory (cyan), Factory (indigo), Scheduler (amber), Core (grå).</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Auto-scroll</span><p class="mt-0.5 text-sm text-slate-400">Loggen scrollar automatiskt till botten vid nya inlägg.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign h-4 w-4 text-cyan-400"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Usage &amp; Cost</h2></div><p class="mb-3 text-sm text-slate-400">Övervaka LLM API-användning, kostnader och prestandamätetal.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">24h-statistik</span><p class="mt-0.5 text-sm text-slate-400">Totalt anrop, tokens, kostnad och genomsnittlig latens.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kostnad per modell</span><p class="mt-0.5 text-sm text-slate-400">Tabell med anrop, tokens och kostnad uppdelat per AI-modell.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Senaste anrop</span><p class="mt-0.5 text-sm text-slate-400">De 10 senaste API-anropen med detaljer om modell, tokens och källa.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell h-4 w-4 text-cyan-400"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Webhooks</h2></div><p class="mb-3 text-sm text-slate-400">Skapa webhook-endpoints som triggare AI-prompts vid externa händelser.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Skapa webhook</span><p class="mt-0.5 text-sm text-slate-400">Ange namn, path, hemlighet (valfritt) och prompt-mall.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kopiera URL</span><p class="mt-0.5 text-sm text-slate-400">Kopiera webhook-URL:en till urklipp med ett klick.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Hantera</span><p class="mt-0.5 text-sm text-slate-400">Aktivera, inaktivera eller radera webhooks.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers h-4 w-4 text-cyan-400"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Sessions</h2></div><p class="mb-3 text-sm text-slate-400">Bläddra bland isolerade sub-agent konversationssessioner.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Sessionlista</span><p class="mt-0.5 text-sm text-slate-400">Vänsterpanelen visar alla sessioner med ID och tidsstämpel.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Meddelandevy</span><p class="mt-0.5 text-sm text-slate-400">Välj en session för att se dess konversation i chat-layout.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Rollmarkering</span><p class="mt-0.5 text-sm text-slate-400">Meddelanden färgkodas per roll — user (cyan), assistant/system (mörk).</p></div></div></section></div><footer class="mt-12 border-t border-slate-800/60 pt-6 pb-12 text-center"><p class="text-xs text-slate-600">CF Claw AgentOS Dashboard — Manual v1.0</p><a class="mt-3 inline-flex items-center gap-2 text-sm text-cyan-400 transition-colors hover:text-cyan-300" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left h-4 w-4"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Tillbaka till Dashboard</a></footer></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[9107,[],\"ClientPageRoot\"]\n5:I[8423,[\"343\",\"static/chunks/343-71498a8257bc1e81.js\",\"789\",\"static/chunks/app/manual/page-3c401ecf89979cd7.js\"],\"default\",1]\n6:I[4707,[],\"\"]\n7:I[6423,[],\"\"]\n9:I[1060,[],\"\"]\na:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"pjCmHhInKD6BfWBygpvXd\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"manual\",\"\"],\"initialTree\":[\"\",{\"children\":[\"manual\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"manual\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],null],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"manual\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="sv"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/baff0f221c10680b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-616e068a201ad621.js"/><script src="/_next/static/chunks/fd9d1056-9583fa19bc194043.js" async=""></script><script src="/_next/static/chunks/117-c657912d4a6fa056.js" async=""></script><script src="/_next/static/chunks/main-app-89f5ec28b3bb0e7f.js" async=""></script><script src="/_next/static/chunks/343-71498a8257bc1e81.js" async=""></script><script src="/_next/static/chunks/app/manual/page-3c401ecf89979cd7.js" async=""></script><title>CF Claw Dashboard</title><meta name="description" content="CF Claw AgentOS Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-[#030712] text-slate-300 antialiased"><div class="min-h-screen bg-[#030712]"><div class="mx-auto max-w-4xl px-6 py-8"><header class="mb-8"><a class="mb-6 inline-flex items-center gap-2 rounded-lg border border-slate-700/50 bg-slate-800/40 px-4 py-2 text-sm font-medium text-slate-400 transition-colors hover:border-cyan-500/30 hover:bg-cyan-500/10 hover:text-cyan-400" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left h-4 w-4"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Tillbaka till Dashboard</a><div class="mt-6 flex items-center gap-4"><div class="flex h-12 w-12 items-center justify-center rounded-xl bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-6 w-6 text-cyan-400" style="filter:drop-shadow(0 0 6px rgba(34,211,238,0.6))"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-2xl font-bold text-slate-100">CF Claw Dashboard — Manual</h1><p class="text-sm text-slate-500">AgentOS Dashboard v1.0</p></div></div></header><div class="mb-8 rounded-xl border border-cyan-500/20 bg-cyan-500/5 p-5"><h3 class="mb-2 text-sm font-semibold text-cyan-400">Om CF Claw Dashboard</h3><p class="text-sm leading-relaxed text-slate-300">CF Claw Dashboard är webbgränssnittet för din AI-agentplattform. Här kan du hantera projekt, schemalägga uppgifter, chatta med agenter, övervaka minne och kunskaper, samt följa systemets prestanda i realtid. All kommunikation sker via ett autentiserat WebSocket-anslutning mot backend.</p></div><div class="space-y-6"><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi h-4 w-4 text-cyan-400"><path d="M12 20h.01"></path><path d="M2 8.82a15 15 0 0 1 20 0"></path><path d="M5 12.859a10 10 0 0 1 14 0"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Anslutning &amp; Autentisering</h2></div><p class="mb-3 text-sm text-slate-400">Dashboarden ansluter automatiskt till backend-servern via WebSocket. Statusen visas i headern på varje sida:</p><div class="space-y-2 text-sm text-slate-400"><div class="flex items-center gap-2"><div class="h-2 w-2 rounded-full bg-emerald-400"></div><span class="text-emerald-400">Connected</span> — API och WebSocket är uppkopplat</div><div class="flex items-center gap-2"><div class="h-2 w-2 rounded-full bg-red-400"></div><span class="text-red-400">Disconnected</span> — Ingen kontakt med backend</div><div class="flex items-center gap-2"><div class="h-2 w-2 animate-pulse rounded-full bg-amber-400"></div><span class="text-amber-400">Connecting...</span> — Försöker ansluta</div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Om du ser &quot;Disconnected&quot;, kontrollera att backend-servern körs och att<code class="mx-1 rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">NEXT_PUBLIC_API_BASE</code>är korrekt inställd i din <code class="mx-1 rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">.env.local</code>.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield h-4 w-4 text-cyan-400"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Autentisering</h2></div><p class="mb-3 text-sm text-slate-400">Om miljövariabeln<code class="mx-1 rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">NEXT_PUBLIC_AUTH_TOKEN</code>är satt skickas en Bearer-token med alla API-anrop och WebSocket-autentisering. Utan token körs dashboarden i öppet läge (endast för utveckling).</p></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 text-cyan-400"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Platform Overview</h2></div><p class="mb-3 text-sm text-slate-400">Översiktssidan visar systemets hälsostatus och nyckeltal vid en blink.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Statistikkort</span><p class="mt-0.5 text-sm text-slate-400">Visar antal aktiva projekt, cron-jobb, inlärda färdigheter och registrerade agenter.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">System Status</span><p class="mt-0.5 text-sm text-slate-400">Aktiv AI-modell, upptid, WebSocket-status och om schemaläggaren är igång.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Sidan uppdateras automatiskt när du öppnar den. Statistikkortens data hämtas från flera API:er parallellt.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-factory h-4 w-4 text-cyan-400"><path d="M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"></path><path d="M17 18h1"></path><path d="M12 18h1"></path><path d="M7 18h1"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Project Factory</h2></div><p class="mb-3 text-sm text-slate-400">Hantera projekt med Kanban-stil uppdelning. Skapa projekt, lägg till uppgifter och flytta dem mellan kolumner.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Projektlistning</span><p class="mt-0.5 text-sm text-slate-400">Välj bland projekt med framstegsindikatorer, team-avatars och status.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kanban-tavla</span><p class="mt-0.5 text-sm text-slate-400">Fyra kolumner: Backlog, Working, Review och Done. Hovra över en uppgift för att flytta den.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Skapa projekt</span><p class="mt-0.5 text-sm text-slate-400">Klicka &quot;Nytt Projekt&quot; och ange titel, beskrivning och team.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Uppgifter flyttas optimistic — gränssnittet uppdateras direkt och rullas tillbaka om API-anropet misslyckas.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-4 w-4 text-cyan-400"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Cron Scheduler</h2></div><p class="mb-3 text-sm text-slate-400">Schemalägga återkommande uppgifter med cron-uttryck som skickar prompts till din AI-agent.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Global start/stopp</span><p class="mt-0.5 text-sm text-slate-400">Starta eller stoppa hela schemaläggaren med en knapp.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Skapa cron-jobb</span><p class="mt-0.5 text-sm text-slate-400">Ange namn, cron-uttryck (t.ex. 0 9 * * *) och prompt som ska köras.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Aktivera/inaktivera</span><p class="mt-0.5 text-sm text-slate-400">Pausa enskilda jobb utan att ta bort dem.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Nästa körning</span><p class="mt-0.5 text-sm text-slate-400">Se när varje jobb körs nästa gång.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Cron-uttryck följer standardformat: minut timme dag-månad månad veckodag. Exempel: <code class="rounded bg-slate-800 px-1.5 py-0.5 text-xs text-cyan-300">0 */2 * * *</code> kör varannan timme.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 text-cyan-400"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Agent Chat</h2></div><p class="mb-3 text-sm text-slate-400">Chatta direkt med din AI-agent i realtid med strömmande svar och Markdown-rendering.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Strömmande svar</span><p class="mt-0.5 text-sm text-slate-400">Svaren visas tecken för tecken via WebSocket i realtid.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Modellbyte</span><p class="mt-0.5 text-sm text-slate-400">Välj aktiv AI-modell från en dropdown i chatten. Modeller grupperas per leverantör.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Markdown</span><p class="mt-0.5 text-sm text-slate-400">Assistentens svar renderas med full Markdown-stöd inklusive kodblock.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Stop generation</span><p class="mt-0.5 text-sm text-slate-400">Avbryt en pågående generering med stopp-knappen.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Auto-resize</span><p class="mt-0.5 text-sm text-slate-400">Textrutan växer automatiskt. Skicka med Enter, ny rad med Shift+Enter.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-graduation-cap h-4 w-4 text-cyan-400"><path d="M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"></path><path d="M22 10v6"></path><path d="M6 12.5V16a6 3 0 0 0 12 0v-3.5"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Skills &amp; Learning</h2></div><p class="mb-3 text-sm text-slate-400">Bläddra bland agentens inlärda färdigheter och inbyggda core-skills.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Learned Skills</span><p class="mt-0.5 text-sm text-slate-400">Färdigheter som agenten skapat och sparat. Klicka för att expandera och se innehållet.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Core Skills</span><p class="mt-0.5 text-sm text-slate-400">Inbyggda färdigheter från systemet som inte kan redigeras.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain-circuit h-4 w-4 text-cyan-400"><path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"></path><path d="M9 13a4.5 4.5 0 0 0 3-4"></path><path d="M6.003 5.125A3 3 0 0 0 6.401 6.5"></path><path d="M3.477 10.896a4 4 0 0 1 .585-.396"></path><path d="M6 18a4 4 0 0 1-1.967-.516"></path><path d="M12 13h4"></path><path d="M12 18h6a2 2 0 0 1 2 2v1"></path><path d="M12 8h8"></path><path d="M16 8V5a2 2 0 0 1 2-2"></path><circle cx="16" cy="13" r=".5"></circle><circle cx="18" cy="3" r=".5"></circle><circle cx="20" cy="21" r=".5"></circle><circle cx="20" cy="8" r=".5"></circle></svg></div><h2 class="text-lg font-semibold text-slate-100">Memory &amp; Graph</h2></div><p class="mb-3 text-sm text-slate-400">Inspektera agentens beständiga minne — automatiska sammanfattningar, extraherade fakta och entitetsgraf.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Auto-Summaries</span><p class="mt-0.5 text-sm text-slate-400">Automatiskt genererade sammanfattningar av konversationer.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Extracted Facts</span><p class="mt-0.5 text-sm text-slate-400">Fakta som agenten extraherat och kategoriserat.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Entity Graph</span><p class="mt-0.5 text-sm text-slate-400">Visualisering av relationer mellan entiteter (subjekt — relation — objekt).</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-merge h-4 w-4 text-cyan-400"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Mesh &amp; Swarms</h2></div><p class="mb-3 text-sm text-slate-400">Starta multi-agent arbetsflöden. Mesh delar upp ett mål, Swarm fördelar uppgifter till ett team.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Mesh</span><p class="mt-0.5 text-sm text-slate-400">Ange ett mål — agenten dekomponerar det och distribuerar till flera agenter.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Swarm</span><p class="mt-0.5 text-sm text-slate-400">Ange en uppgift och välj team (default, research, engineering, analysis).</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Live-output</span><p class="mt-0.5 text-sm text-slate-400">Följ arbetsflödets framsteg i realtid med statusindikatorer.</p></div></div><div class="mt-3 flex gap-2 rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 flex-shrink-0 text-amber-400"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><p class="text-sm text-amber-200/80">Krver aktiv WebSocket-anslutning. Om du ser en varning, kontrollera anslutningen i headern.</p></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-4 w-4 text-cyan-400"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Agent Registry</h2></div><p class="mb-3 text-sm text-slate-400">Se alla registrerade AI-agenter grupperade per team.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Team-gruppering</span><p class="mt-0.5 text-sm text-slate-400">Agenter visas i team som content, strategy, design, development, quality, operations och support.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Agentkort</span><p class="mt-0.5 text-sm text-slate-400">Varje agent visar namn, roll, tillgängliga verktyg och taggar.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Aktiv agent</span><p class="mt-0.5 text-sm text-slate-400">Den aktiva agenten markeras med en pulserande cyan-prick.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder h-4 w-4 text-cyan-400"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Document Store</h2></div><p class="mb-3 text-sm text-slate-400">Bläddra och hantera dokument med kategorifiltrering.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kategorifilter</span><p class="mt-0.5 text-sm text-slate-400">Filtrera på: all, general, projects, research, notes, html.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Dokumentlista</span><p class="mt-0.5 text-sm text-slate-400">Visar filtyp, titel, storlek och datum. HTML-filer får en &quot;Canvas Ready&quot;-badge.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Åtgärder</span><p class="mt-0.5 text-sm text-slate-400">Rendera (HTML), redigera eller radera dokument vid hover.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4 text-cyan-400"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg></div><h2 class="text-lg font-semibold text-slate-100">System Logs</h2></div><p class="mb-3 text-sm text-slate-400">Realtidsloggvisning med terminalkänsla. Se allt som händer i systemet.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Realtidsuppdateringar</span><p class="mt-0.5 text-sm text-slate-400">Nya loggar strömmar via WebSocket (max 500 rader buffras).</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Färgkodade källor</span><p class="mt-0.5 text-sm text-slate-400">Agent Nudge (lila), Memory (cyan), Factory (indigo), Scheduler (amber), Core (grå).</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Auto-scroll</span><p class="mt-0.5 text-sm text-slate-400">Loggen scrollar automatiskt till botten vid nya inlägg.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign h-4 w-4 text-cyan-400"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Usage &amp; Cost</h2></div><p class="mb-3 text-sm text-slate-400">Övervaka LLM API-användning, kostnader och prestandamätetal.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">24h-statistik</span><p class="mt-0.5 text-sm text-slate-400">Totalt anrop, tokens, kostnad och genomsnittlig latens.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kostnad per modell</span><p class="mt-0.5 text-sm text-slate-400">Tabell med anrop, tokens och kostnad uppdelat per AI-modell.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Senaste anrop</span><p class="mt-0.5 text-sm text-slate-400">De 10 senaste API-anropen med detaljer om modell, tokens och källa.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell h-4 w-4 text-cyan-400"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Webhooks</h2></div><p class="mb-3 text-sm text-slate-400">Skapa webhook-endpoints som triggare AI-prompts vid externa händelser.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Skapa webhook</span><p class="mt-0.5 text-sm text-slate-400">Ange namn, path, hemlighet (valfritt) och prompt-mall.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Kopiera URL</span><p class="mt-0.5 text-sm text-slate-400">Kopiera webhook-URL:en till urklipp med ett klick.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Hantera</span><p class="mt-0.5 text-sm text-slate-400">Aktivera, inaktivera eller radera webhooks.</p></div></div></section><section class="rounded-xl border border-slate-800/60 bg-[#0b1120] p-6"><div class="mb-4 flex items-center gap-3"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers h-4 w-4 text-cyan-400"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg></div><h2 class="text-lg font-semibold text-slate-100">Sessions</h2></div><p class="mb-3 text-sm text-slate-400">Bläddra bland isolerade sub-agent konversationssessioner.</p><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Sessionlista</span><p class="mt-0.5 text-sm text-slate-400">Vänsterpanelen visar alla sessioner med ID och tidsstämpel.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Meddelandevy</span><p class="mt-0.5 text-sm text-slate-400">Välj en session för att se dess konversation i chat-layout.</p></div></div><div class="flex gap-3 py-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-0.5 h-4 w-4 flex-shrink-0 text-cyan-500"><path d="m9 18 6-6-6-6"></path></svg><div><span class="text-sm font-medium text-slate-200">Rollmarkering</span><p class="mt-0.5 text-sm text-slate-400">Meddelanden färgkodas per roll — user (cyan), assistant/system (mörk).</p></div></div></section></div><footer class="mt-12 border-t border-slate-800/60 pt-6 pb-12 text-center"><p class="text-xs text-slate-600">CF Claw AgentOS Dashboard — Manual v1.0</p><a class="mt-3 inline-flex items-center gap-2 text-sm text-cyan-400 transition-colors hover:text-cyan-300" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left h-4 w-4"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Tillbaka till Dashboard</a></footer></div></div><script src="/_next/static/chunks/webpack-616e068a201ad621.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/baff0f221c10680b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[9107,[],\"ClientPageRoot\"]\n5:I[8423,[\"343\",\"static/chunks/343-71498a8257bc1e81.js\",\"789\",\"static/chunks/app/manual/page-3c401ecf89979cd7.js\"],\"default\",1]\n6:I[4707,[],\"\"]\n7:I[6423,[],\"\"]\n9:I[1060,[],\"\"]\na:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"lfNehuxVBbCLAYmSRZXi4\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"manual\",\"\"],\"initialTree\":[\"\",{\"children\":[\"manual\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"manual\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],null],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"manual\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baff0f221c10680b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"sv\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-[#030712] text-slate-300 antialiased\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"CF Claw Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"CF Claw AgentOS Dashboard\"}]]\n3:null\n"])</script></body></html>
@@ -2,6 +2,6 @@
2
2
  3:I[8423,["343","static/chunks/343-71498a8257bc1e81.js","789","static/chunks/app/manual/page-3c401ecf89979cd7.js"],"default",1]
3
3
  4:I[4707,[],""]
4
4
  5:I[6423,[],""]
5
- 0:["pjCmHhInKD6BfWBygpvXd",[[["",{"children":["manual",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["manual",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","manual","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/baff0f221c10680b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"sv","children":["$","body",null,{"className":"bg-[#030712] text-slate-300 antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
5
+ 0:["lfNehuxVBbCLAYmSRZXi4",[[["",{"children":["manual",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["manual",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","manual","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/baff0f221c10680b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"sv","children":["$","body",null,{"className":"bg-[#030712] text-slate-300 antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
6
6
  6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"CF Claw Dashboard"}],["$","meta","3",{"name":"description","content":"CF Claw AgentOS Dashboard"}]]
7
7
  1:null
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,MAAM,CAAC;AAkBjC;;;GAGG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAI/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAGrD"}
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,MAAM,CAAC;AAmBjC;;;GAGG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAI/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAGrD"}
@@ -1,10 +1,13 @@
1
- import { pipeline } from "@xenova/transformers";
1
+ import { pipeline, env } from "@xenova/transformers";
2
+ import path from "node:path";
3
+ import os from "node:os";
4
+ import fs from "node:fs";
2
5
  const MODEL_NAME = "Xenova/all-MiniLM-L6-v2";
3
6
  export const EMBEDDING_DIM = 384;
7
+ const CACHE_DIR = path.join(os.homedir(), ".cache", "cf-claw-transformers");
8
+ fs.mkdirSync(CACHE_DIR, { recursive: true });
9
+ env.cacheDir = CACHE_DIR;
4
10
  let embedder = null;
5
- /**
6
- * Lazily loads the embedding model on first use (~80MB download, cached).
7
- */
8
11
  async function getEmbedder() {
9
12
  if (!embedder) {
10
13
  console.log("🧠 Loading embedding model (first time may take a moment)…");
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,sBAAsB,CAAC;AAEhF,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,IAAI,QAAQ,GAAqC,IAAI,CAAC;AAEtD;;GAEG;AACH,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,QAAQ,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,UAAU,EAAE;YAC1D,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,IAAyB,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7E,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAkC,MAAM,sBAAsB,CAAC;AACrF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAC5E,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;AAEzB,IAAI,QAAQ,GAAqC,IAAI,CAAC;AAEtD,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,QAAQ,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,UAAU,EAAE;YAC1D,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,IAAyB,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7E,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiHA,wBAAsB,IAAI,kBA0IzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiHA,wBAAsB,IAAI,kBAmJzB"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ import { registerAPIRoutes } from "./api/routes.js";
21
21
  import { addLog } from "./logs.js";
22
22
  import { getMcpConfigPath } from "./paths.js";
23
23
  import fs from "node:fs";
24
+ import path from "node:path";
24
25
  async function registerProviders() {
25
26
  const providers = config.modelsConfig?.providers || {};
26
27
  const providerApiKeys = {
@@ -139,8 +140,16 @@ export async function main() {
139
140
  process.once("SIGTERM", () => {
140
141
  void shutdown("SIGTERM");
141
142
  });
143
+ let version = "?.?.?";
144
+ try {
145
+ const pkg = JSON.parse(fs.readFileSync(path.join(path.dirname(new URL(import.meta.url).pathname), "..", "package.json"), "utf8"));
146
+ version = pkg.version || version;
147
+ }
148
+ catch { }
149
+ const verLine = `🦀 CF Claw v${version}`;
150
+ const padL = Math.floor((37 - verLine.length) / 2);
142
151
  console.log("┌─────────────────────────────────────┐");
143
- console.log("│ 🦀 CF Claw v3.0.0 │");
152
+ console.log(`│${" ".repeat(Math.max(1, padL))}${verLine}${" ".repeat(Math.max(0, 37 - padL - verLine.length))}│`);
144
153
  console.log("│ Personal AI Agent – Level 3 │");
145
154
  console.log("├─────────────────────────────────────┤");
146
155
  console.log(`│ Models: ${String(getAvailableModels().length).padEnd(24)}│`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/voice.d.ts CHANGED
@@ -1,6 +1,2 @@
1
- /**
2
- * Downloads a Telegram voice file and transcribes it using Groq Whisper.
3
- * Returns the transcribed text.
4
- */
5
- export declare function transcribeVoice(fileUrl: string, fileName: string): Promise<string>;
1
+ export declare function transcribeVoice(fileId: string): Promise<string>;
6
2
  //# sourceMappingURL=voice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"AAiCA,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBrE"}
package/dist/voice.js CHANGED
@@ -3,45 +3,48 @@ import { config } from "./config.js";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
- const groq = new OpenAI({
7
- apiKey: config.groqApiKey,
8
- baseURL: "https://api.groq.com/openai/v1",
9
- });
10
- /**
11
- * Downloads a Telegram voice file and transcribes it using Groq Whisper.
12
- * Returns the transcribed text.
13
- */
14
- export async function transcribeVoice(fileUrl, fileName) {
15
- // Download the voice file to a temp location
16
- let safeName = path.basename(fileName);
17
- // Telegram uses .oga extension, but Groq Whisper expects .ogg (same codec)
18
- if (safeName.endsWith(".oga")) {
19
- safeName = safeName.replace(/\.oga$/, ".ogg");
6
+ let groqClient = null;
7
+ function getGroqClient() {
8
+ if (!groqClient) {
9
+ if (!config.groqApiKey) {
10
+ throw new Error("GROQ_API_KEY not configured — voice transcription unavailable");
11
+ }
12
+ groqClient = new OpenAI({
13
+ apiKey: config.groqApiKey,
14
+ baseURL: "https://api.groq.com/openai/v1",
15
+ });
20
16
  }
21
- const tempPath = path.join(os.tmpdir(), `cf-claw-${Date.now()}-${safeName}`);
17
+ return groqClient;
18
+ }
19
+ async function downloadTelegramFile(fileId, botToken) {
20
+ const fileUrl = `https://api.telegram.org/bot${botToken}/getFile?file_id=${fileId}`;
21
+ const fileRes = await fetch(fileUrl);
22
+ const fileData = (await fileRes.json());
23
+ if (!fileData.ok || !fileData.result)
24
+ throw new Error("Failed to get Telegram file");
25
+ const downloadUrl = `https://api.telegram.org/file/bot${botToken}/${fileData.result.file_path}`;
26
+ const res = await fetch(downloadUrl);
27
+ if (!res.ok)
28
+ throw new Error("Failed to download file");
29
+ return Buffer.from(await res.arrayBuffer());
30
+ }
31
+ export async function transcribeVoice(fileId) {
32
+ const buffer = await downloadTelegramFile(fileId, config.telegramBotToken);
33
+ const tempPath = path.join(os.tmpdir(), `cf-claw-voice-${Date.now()}.ogg`);
22
34
  try {
23
- const response = await fetch(fileUrl);
24
- if (!response.ok) {
25
- throw new Error(`Failed to download voice file: ${response.statusText}`);
26
- }
27
- const buffer = Buffer.from(await response.arrayBuffer());
28
35
  fs.writeFileSync(tempPath, buffer);
29
- // Send to Groq Whisper for transcription
30
- const transcription = await groq.audio.transcriptions.create({
36
+ const transcription = await getGroqClient().audio.transcriptions.create({
31
37
  file: fs.createReadStream(tempPath),
32
38
  model: "whisper-large-v3",
33
- language: "sv", // Swedish as default, Whisper auto-detects well
39
+ language: "sv",
34
40
  });
35
41
  return transcription.text;
36
42
  }
37
43
  finally {
38
- // Clean up temp file
39
44
  try {
40
45
  fs.unlinkSync(tempPath);
41
46
  }
42
- catch {
43
- // ignore cleanup errors
44
- }
47
+ catch { }
45
48
  }
46
49
  }
47
50
  //# sourceMappingURL=voice.js.map
package/dist/voice.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"voice.js","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,UAAU;IACzB,OAAO,EAAE,gCAAgC;CAC1C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,QAAgB;IAEhB,6CAA6C;IAC7C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,2EAA2E;IAC3E,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnC,yCAAyC;QACzC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;YAC3D,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,IAAI,EAAE,gDAAgD;SACjE,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,qBAAqB;QACrB,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"voice.js","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,SAAS,aAAa;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,UAAU,GAAG,IAAI,MAAM,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,UAAU;YACzB,OAAO,EAAE,gCAAgC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,QAAgB;IAClE,MAAM,OAAO,GAAG,+BAA+B,QAAQ,oBAAoB,MAAM,EAAE,CAAC;IACpF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAoD,CAAC;IAC3F,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAErF,MAAM,WAAW,GAAG,oCAAoC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IAChG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc;IAClD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE3E,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnC,MAAM,aAAa,GAAG,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;YACtE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cf-claw",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "description": "CF Claw – A lean, secure personal AI agent on Telegram with web dashboard",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",