@cotal-ai/cli 0.2.0 โ†’ 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/commands/channels.d.ts.map +1 -1
  2. package/dist/commands/channels.js +4 -2
  3. package/dist/commands/channels.js.map +1 -1
  4. package/dist/commands/console.d.ts.map +1 -1
  5. package/dist/commands/console.js +11 -8
  6. package/dist/commands/console.js.map +1 -1
  7. package/dist/commands/demo.js +3 -2
  8. package/dist/commands/demo.js.map +1 -1
  9. package/dist/commands/down.d.ts +4 -0
  10. package/dist/commands/down.d.ts.map +1 -0
  11. package/dist/commands/down.js +36 -0
  12. package/dist/commands/down.js.map +1 -0
  13. package/dist/commands/history.d.ts.map +1 -1
  14. package/dist/commands/history.js +5 -3
  15. package/dist/commands/history.js.map +1 -1
  16. package/dist/commands/join.js +3 -2
  17. package/dist/commands/join.js.map +1 -1
  18. package/dist/commands/mint.d.ts.map +1 -1
  19. package/dist/commands/mint.js +3 -2
  20. package/dist/commands/mint.js.map +1 -1
  21. package/dist/commands/setup.d.ts +13 -6
  22. package/dist/commands/setup.d.ts.map +1 -1
  23. package/dist/commands/setup.js +542 -61
  24. package/dist/commands/setup.js.map +1 -1
  25. package/dist/commands/signer.d.ts +6 -0
  26. package/dist/commands/signer.d.ts.map +1 -0
  27. package/dist/commands/signer.js +30 -0
  28. package/dist/commands/signer.js.map +1 -0
  29. package/dist/commands/spawn.d.ts.map +1 -1
  30. package/dist/commands/spawn.js +9 -5
  31. package/dist/commands/spawn.js.map +1 -1
  32. package/dist/commands/up.d.ts +21 -0
  33. package/dist/commands/up.d.ts.map +1 -1
  34. package/dist/commands/up.js +108 -38
  35. package/dist/commands/up.js.map +1 -1
  36. package/dist/commands/web.d.ts +27 -0
  37. package/dist/commands/web.d.ts.map +1 -1
  38. package/dist/commands/web.js +101 -14
  39. package/dist/commands/web.js.map +1 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +31 -8
  42. package/dist/index.js.map +1 -1
  43. package/dist/lib/assist.d.ts +16 -0
  44. package/dist/lib/assist.d.ts.map +1 -0
  45. package/dist/lib/assist.js +52 -0
  46. package/dist/lib/assist.js.map +1 -0
  47. package/dist/lib/cancel.d.ts +5 -0
  48. package/dist/lib/cancel.d.ts.map +1 -0
  49. package/dist/lib/cancel.js +12 -0
  50. package/dist/lib/cancel.js.map +1 -0
  51. package/dist/lib/live-window.d.ts +22 -0
  52. package/dist/lib/live-window.d.ts.map +1 -0
  53. package/dist/lib/live-window.js +71 -0
  54. package/dist/lib/live-window.js.map +1 -0
  55. package/dist/lib/manager-proc.d.ts +32 -0
  56. package/dist/lib/manager-proc.d.ts.map +1 -0
  57. package/dist/lib/manager-proc.js +84 -0
  58. package/dist/lib/manager-proc.js.map +1 -0
  59. package/dist/lib/nats-bin.d.ts +7 -0
  60. package/dist/lib/nats-bin.d.ts.map +1 -0
  61. package/dist/lib/nats-bin.js +21 -0
  62. package/dist/lib/nats-bin.js.map +1 -0
  63. package/dist/lib/onboard.d.ts +3 -0
  64. package/dist/lib/onboard.d.ts.map +1 -0
  65. package/dist/lib/onboard.js +15 -0
  66. package/dist/lib/onboard.js.map +1 -0
  67. package/dist/lib/paths.d.ts +7 -0
  68. package/dist/lib/paths.d.ts.map +1 -0
  69. package/dist/lib/paths.js +13 -0
  70. package/dist/lib/paths.js.map +1 -0
  71. package/dist/lib/self-exec.d.ts +18 -0
  72. package/dist/lib/self-exec.d.ts.map +1 -0
  73. package/dist/lib/self-exec.js +50 -0
  74. package/dist/lib/self-exec.js.map +1 -0
  75. package/dist/lib/setup-log.d.ts +8 -0
  76. package/dist/lib/setup-log.d.ts.map +1 -0
  77. package/dist/lib/setup-log.js +17 -0
  78. package/dist/lib/setup-log.js.map +1 -0
  79. package/dist/lib/status.d.ts +27 -0
  80. package/dist/lib/status.d.ts.map +1 -0
  81. package/dist/lib/status.js +57 -0
  82. package/dist/lib/status.js.map +1 -0
  83. package/dist/lib/steps.d.ts +31 -0
  84. package/dist/lib/steps.d.ts.map +1 -0
  85. package/dist/lib/steps.js +91 -0
  86. package/dist/lib/steps.js.map +1 -0
  87. package/dist/lib/theme.d.ts +18 -0
  88. package/dist/lib/theme.d.ts.map +1 -0
  89. package/dist/lib/theme.js +61 -0
  90. package/dist/lib/theme.js.map +1 -0
  91. package/dist/web/app.js +28 -0
  92. package/dist/web/index.html +2 -0
  93. package/package.json +11 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/lib/theme.ts"],"names":[],"mappings":"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"}
package/dist/web/app.js CHANGED
@@ -343,6 +343,7 @@ function renderChannel() {
343
343
  <span class="chip mode on">๐Ÿ‘ฅ ${plural(memberCount, "member")}</span>
344
344
  <span class="chip mode on">โœฆ summarize</span>
345
345
  <span class="chip static">๐Ÿ”• mute</span>
346
+ ${isDemo ? "" : `<span class="chip danger" id="ch-del" title="Delete this channel and all its messages">๐Ÿ—‘ delete</span>`}
346
347
  </div>
347
348
  </div>
348
349
  <div class="purpose">${esc(desc)}${plural(memberCount, "member")} ยท ${plural(msgCount, "message")}</div>
@@ -350,6 +351,30 @@ function renderChannel() {
350
351
  <div class="clist">${items.length ? items.map(cmsgHTML).join("") : `<div class="empty">no messages</div>`}</div>`;
351
352
  const list = $("center").querySelector(".clist");
352
353
  list.scrollTop = list.scrollHeight;
354
+ const del = $("center").querySelector("#ch-del");
355
+ if (del) del.onclick = () => deleteChannel(name);
356
+ }
357
+
358
+ // Delete the channel and its content (steward action). Confirm first โ€” purging the chat
359
+ // stream is irreversible. On success the channel drops from the sidebar and the view falls
360
+ // back to all-activity; a stray live message would recreate it (deletion clears, not bans).
361
+ async function deleteChannel(name) {
362
+ if (!name || name === "*") return;
363
+ if (!confirm(`Delete #${name} and all its messages?\n\nThis purges the channel's history and cannot be undone.`)) return;
364
+ try {
365
+ const r = await fetch("/api/channel/delete", {
366
+ method: "POST",
367
+ headers: { "content-type": "application/json" },
368
+ body: JSON.stringify({ channel: name }),
369
+ });
370
+ if (!r.ok) throw new Error((await r.json().catch(() => ({}))).error || `HTTP ${r.status}`);
371
+ channels.delete(name);
372
+ unread.delete(name);
373
+ activity = activity.filter((e) => e.msg.channel !== name); // drop its rows from all-activity
374
+ select("*");
375
+ } catch (e) {
376
+ alert(`Couldn't delete #${name}: ${e.message}`);
377
+ }
353
378
  }
354
379
 
355
380
  // โ”€โ”€ Direct-messages thread (centre) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
@@ -473,8 +498,11 @@ function refreshDerived() {
473
498
  const oldest = waiting.length ? agoShort(Math.min(...waiting.map((p) => p.ts))) : "โ€”";
474
499
  renderTiles(counts, oldest);
475
500
  $("online-c").textContent = roster.filter((p) => p.status !== "offline").length;
501
+ // The roster sidebar is the ONLINE list โ€” offline peers drop out (their count still rides
502
+ // in the header tiles). They reappear here the moment presence flips them back on.
476
503
  renderRoster(
477
504
  [...roster]
505
+ .filter((p) => p.status !== "offline")
478
506
  .sort(
479
507
  (a, b) =>
480
508
  STATUS.indexOf(a.status) - STATUS.indexOf(b.status) ||
@@ -134,6 +134,8 @@
134
134
  .chip.mode.on { background: var(--tile); border-color: var(--line); color: var(--fg); }
135
135
  .chip.pause.on { color: var(--amber); }
136
136
  .chip.static { cursor: default; }
137
+ .chip.danger { color: var(--red); }
138
+ .chip.danger:hover { background: #2a1717; border-color: var(--red); }
137
139
 
138
140
  .feed { overflow-y: auto; min-height: 0; flex: 1; display: flex; flex-direction: column;
139
141
  gap: 2px; padding: 8px; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cotal-ai/cli",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,9 +17,18 @@
17
17
  }
18
18
  },
19
19
  "dependencies": {
20
+ "@clack/prompts": "^1.0.0",
20
21
  "ink": "^6.0.0",
21
22
  "react": "^19.0.0",
22
- "@cotal-ai/core": "0.1.3"
23
+ "@cotal-ai/core": "0.3.0"
24
+ },
25
+ "optionalDependencies": {
26
+ "@eplightning/nats-server-darwin-arm64": "^2.14.0",
27
+ "@eplightning/nats-server-darwin-x64": "^2.14.0",
28
+ "@eplightning/nats-server-linux-arm64": "^2.14.0",
29
+ "@eplightning/nats-server-linux-x64": "^2.14.0",
30
+ "@eplightning/nats-server-win32-arm64": "^2.14.0",
31
+ "@eplightning/nats-server-win32-x64": "^2.14.0"
23
32
  },
24
33
  "devDependencies": {
25
34
  "@types/react": "^19.0.0"