agent-comms 1.13.0 → 1.15.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 (256) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +1 -1
  3. package/dist/bridges/claude-code/channel.d.ts.map +1 -1
  4. package/dist/bridges/claude-code/channel.js +6 -1
  5. package/dist/bridges/claude-code/channel.js.map +1 -1
  6. package/dist/bridges/codex/tool.d.ts.map +1 -1
  7. package/dist/bridges/codex/tool.js +6 -1
  8. package/dist/bridges/codex/tool.js.map +1 -1
  9. package/dist/bridges/mcp/index.d.ts.map +1 -1
  10. package/dist/bridges/mcp/index.js +6 -1
  11. package/dist/bridges/mcp/index.js.map +1 -1
  12. package/dist/bridges/opencode/plugin.d.ts.map +1 -1
  13. package/dist/bridges/opencode/plugin.js +5 -0
  14. package/dist/bridges/opencode/plugin.js.map +1 -1
  15. package/dist/bridges/pi/index.d.ts +5 -2
  16. package/dist/bridges/pi/index.d.ts.map +1 -1
  17. package/dist/bridges/pi/index.js +125 -20
  18. package/dist/bridges/pi/index.js.map +1 -1
  19. package/dist/bridges/user/controller.d.ts +10 -1
  20. package/dist/bridges/user/controller.d.ts.map +1 -1
  21. package/dist/bridges/user/controller.js +37 -1
  22. package/dist/bridges/user/controller.js.map +1 -1
  23. package/dist/bridges/user/tui.js +4 -0
  24. package/dist/bridges/user/tui.js.map +1 -1
  25. package/dist/bridges/user/web/build.d.ts +4 -4
  26. package/dist/bridges/user/web/build.js +53 -34
  27. package/dist/bridges/user/web/build.js.map +1 -1
  28. package/dist/bridges/user/web/frontend/components/App.d.ts +28 -0
  29. package/dist/bridges/user/web/frontend/components/App.d.ts.map +1 -0
  30. package/dist/bridges/user/web/frontend/components/App.js +7 -0
  31. package/dist/bridges/user/web/frontend/components/App.js.map +1 -0
  32. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts +14 -0
  33. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts.map +1 -0
  34. package/dist/bridges/user/web/frontend/components/ChatArea.js +38 -0
  35. package/dist/bridges/user/web/frontend/components/ChatArea.js.map +1 -0
  36. package/dist/bridges/user/web/frontend/components/CreateRoomForm.d.ts +11 -0
  37. package/dist/bridges/user/web/frontend/components/CreateRoomForm.d.ts.map +1 -0
  38. package/dist/bridges/user/web/frontend/components/CreateRoomForm.js +33 -0
  39. package/dist/bridges/user/web/frontend/components/CreateRoomForm.js.map +1 -0
  40. package/dist/bridges/user/web/frontend/components/JoinForm.d.ts +11 -0
  41. package/dist/bridges/user/web/frontend/components/JoinForm.d.ts.map +1 -0
  42. package/dist/bridges/user/web/frontend/components/JoinForm.js +28 -0
  43. package/dist/bridges/user/web/frontend/components/JoinForm.js.map +1 -0
  44. package/dist/bridges/user/web/frontend/components/Message.d.ts +8 -0
  45. package/dist/bridges/user/web/frontend/components/Message.d.ts.map +1 -0
  46. package/dist/bridges/user/web/frontend/components/Message.js +15 -0
  47. package/dist/bridges/user/web/frontend/components/Message.js.map +1 -0
  48. package/dist/bridges/user/web/frontend/components/MessageList.d.ts +8 -0
  49. package/dist/bridges/user/web/frontend/components/MessageList.d.ts.map +1 -0
  50. package/dist/bridges/user/web/frontend/components/MessageList.js +16 -0
  51. package/dist/bridges/user/web/frontend/components/MessageList.js.map +1 -0
  52. package/dist/bridges/user/web/frontend/components/ProjectTree.d.ts +17 -0
  53. package/dist/bridges/user/web/frontend/components/ProjectTree.d.ts.map +1 -0
  54. package/dist/bridges/user/web/frontend/components/ProjectTree.js +62 -0
  55. package/dist/bridges/user/web/frontend/components/ProjectTree.js.map +1 -0
  56. package/dist/bridges/user/web/frontend/components/RelayPanel.d.ts +15 -0
  57. package/dist/bridges/user/web/frontend/components/RelayPanel.d.ts.map +1 -0
  58. package/dist/bridges/user/web/frontend/components/RelayPanel.js +46 -0
  59. package/dist/bridges/user/web/frontend/components/RelayPanel.js.map +1 -0
  60. package/dist/bridges/user/web/frontend/components/Sidebar.d.ts +21 -0
  61. package/dist/bridges/user/web/frontend/components/Sidebar.d.ts.map +1 -0
  62. package/dist/bridges/user/web/frontend/components/Sidebar.js +37 -0
  63. package/dist/bridges/user/web/frontend/components/Sidebar.js.map +1 -0
  64. package/dist/bridges/user/web/frontend/dom.d.ts +12 -22
  65. package/dist/bridges/user/web/frontend/dom.d.ts.map +1 -1
  66. package/dist/bridges/user/web/frontend/dom.js +24 -49
  67. package/dist/bridges/user/web/frontend/dom.js.map +1 -1
  68. package/dist/bridges/user/web/frontend/input.d.ts +15 -0
  69. package/dist/bridges/user/web/frontend/input.d.ts.map +1 -1
  70. package/dist/bridges/user/web/frontend/input.js +39 -1
  71. package/dist/bridges/user/web/frontend/input.js.map +1 -1
  72. package/dist/bridges/user/web/frontend/main.d.ts +3 -3
  73. package/dist/bridges/user/web/frontend/main.d.ts.map +1 -1
  74. package/dist/bridges/user/web/frontend/main.js +135 -52
  75. package/dist/bridges/user/web/frontend/main.js.map +1 -1
  76. package/dist/bridges/user/web/frontend/mesh-client.d.ts +43 -0
  77. package/dist/bridges/user/web/frontend/mesh-client.d.ts.map +1 -0
  78. package/dist/bridges/user/web/frontend/mesh-client.js +132 -0
  79. package/dist/bridges/user/web/frontend/mesh-client.js.map +1 -0
  80. package/dist/bridges/user/web/frontend/mesh-worker.d.ts +14 -0
  81. package/dist/bridges/user/web/frontend/mesh-worker.d.ts.map +1 -0
  82. package/dist/bridges/user/web/frontend/mesh-worker.js +274 -0
  83. package/dist/bridges/user/web/frontend/mesh-worker.js.map +1 -0
  84. package/dist/bridges/user/web/frontend/messages.d.ts +17 -0
  85. package/dist/bridges/user/web/frontend/messages.d.ts.map +1 -0
  86. package/dist/bridges/user/web/frontend/messages.js +82 -0
  87. package/dist/bridges/user/web/frontend/messages.js.map +1 -0
  88. package/dist/bridges/user/web/frontend/project-tree.d.ts +9 -0
  89. package/dist/bridges/user/web/frontend/project-tree.d.ts.map +1 -0
  90. package/dist/bridges/user/web/frontend/project-tree.js +173 -0
  91. package/dist/bridges/user/web/frontend/project-tree.js.map +1 -0
  92. package/dist/bridges/user/web/frontend/relay-client.d.ts +40 -0
  93. package/dist/bridges/user/web/frontend/relay-client.d.ts.map +1 -0
  94. package/dist/bridges/user/web/frontend/relay-client.js +97 -0
  95. package/dist/bridges/user/web/frontend/relay-client.js.map +1 -0
  96. package/dist/bridges/user/web/frontend/relay-worker.d.ts +15 -0
  97. package/dist/bridges/user/web/frontend/relay-worker.d.ts.map +1 -0
  98. package/dist/bridges/user/web/frontend/relay-worker.js +366 -0
  99. package/dist/bridges/user/web/frontend/relay-worker.js.map +1 -0
  100. package/dist/bridges/user/web/frontend/state.d.ts +8 -1
  101. package/dist/bridges/user/web/frontend/state.d.ts.map +1 -1
  102. package/dist/bridges/user/web/frontend/state.js +17 -1
  103. package/dist/bridges/user/web/frontend/state.js.map +1 -1
  104. package/dist/bridges/user/web/frontend/sw.d.ts +16 -0
  105. package/dist/bridges/user/web/frontend/sw.d.ts.map +1 -0
  106. package/dist/bridges/user/web/frontend/sw.js +145 -0
  107. package/dist/bridges/user/web/frontend/sw.js.map +1 -0
  108. package/dist/bridges/user/web/frontend/types.d.ts +52 -0
  109. package/dist/bridges/user/web/frontend/types.d.ts.map +1 -1
  110. package/dist/bridges/user/web/frontend/url-sync.d.ts +48 -0
  111. package/dist/bridges/user/web/frontend/url-sync.d.ts.map +1 -0
  112. package/dist/bridges/user/web/frontend/url-sync.js +74 -0
  113. package/dist/bridges/user/web/frontend/url-sync.js.map +1 -0
  114. package/dist/bridges/user/web/server.d.ts +10 -3
  115. package/dist/bridges/user/web/server.d.ts.map +1 -1
  116. package/dist/bridges/user/web/server.js +280 -15
  117. package/dist/bridges/user/web/server.js.map +1 -1
  118. package/dist/bridges/user/web/test/web-server.integration.test.d.ts +7 -0
  119. package/dist/bridges/user/web/test/web-server.integration.test.d.ts.map +1 -0
  120. package/dist/bridges/user/web/test/web-server.integration.test.js +187 -0
  121. package/dist/bridges/user/web/test/web-server.integration.test.js.map +1 -0
  122. package/dist/core/bridge.d.ts +43 -0
  123. package/dist/core/bridge.d.ts.map +1 -1
  124. package/dist/core/bridge.js +197 -0
  125. package/dist/core/bridge.js.map +1 -1
  126. package/dist/core/comms-store.d.ts +22 -1
  127. package/dist/core/comms-store.d.ts.map +1 -1
  128. package/dist/core/discovery-mdns.d.ts +33 -0
  129. package/dist/core/discovery-mdns.d.ts.map +1 -0
  130. package/dist/core/discovery-mdns.js +182 -0
  131. package/dist/core/discovery-mdns.js.map +1 -0
  132. package/dist/core/discovery-tailscale.d.ts +40 -0
  133. package/dist/core/discovery-tailscale.d.ts.map +1 -0
  134. package/dist/core/discovery-tailscale.js +158 -0
  135. package/dist/core/discovery-tailscale.js.map +1 -0
  136. package/dist/core/discovery.d.ts +82 -0
  137. package/dist/core/discovery.d.ts.map +1 -0
  138. package/dist/core/discovery.js +194 -0
  139. package/dist/core/discovery.js.map +1 -0
  140. package/dist/core/federation.d.ts +100 -0
  141. package/dist/core/federation.d.ts.map +1 -0
  142. package/dist/core/federation.js +411 -0
  143. package/dist/core/federation.js.map +1 -0
  144. package/dist/core/identity.d.ts +31 -0
  145. package/dist/core/identity.d.ts.map +1 -0
  146. package/dist/core/identity.js +251 -0
  147. package/dist/core/identity.js.map +1 -0
  148. package/dist/core/index.d.ts +12 -1
  149. package/dist/core/index.d.ts.map +1 -1
  150. package/dist/core/index.js +7 -1
  151. package/dist/core/index.js.map +1 -1
  152. package/dist/core/mesh-store.d.ts +75 -26
  153. package/dist/core/mesh-store.d.ts.map +1 -1
  154. package/dist/core/mesh-store.js +570 -355
  155. package/dist/core/mesh-store.js.map +1 -1
  156. package/dist/core/push-manager.d.ts +41 -0
  157. package/dist/core/push-manager.d.ts.map +1 -0
  158. package/dist/core/push-manager.js +60 -0
  159. package/dist/core/push-manager.js.map +1 -0
  160. package/dist/core/store.d.ts +21 -1
  161. package/dist/core/store.d.ts.map +1 -1
  162. package/dist/core/store.js +44 -0
  163. package/dist/core/store.js.map +1 -1
  164. package/dist/core/tcp-transport.d.ts +77 -0
  165. package/dist/core/tcp-transport.d.ts.map +1 -0
  166. package/dist/core/tcp-transport.js +596 -0
  167. package/dist/core/tcp-transport.js.map +1 -0
  168. package/dist/core/test/bridge.unit.test.d.ts +5 -0
  169. package/dist/core/test/bridge.unit.test.d.ts.map +1 -0
  170. package/dist/core/test/bridge.unit.test.js +120 -0
  171. package/dist/core/test/bridge.unit.test.js.map +1 -0
  172. package/dist/core/test/identity.unit.test.d.ts +5 -0
  173. package/dist/core/test/identity.unit.test.d.ts.map +1 -0
  174. package/dist/core/test/identity.unit.test.js +70 -0
  175. package/dist/core/test/identity.unit.test.js.map +1 -0
  176. package/dist/core/tls-transport.d.ts +69 -0
  177. package/dist/core/tls-transport.d.ts.map +1 -0
  178. package/dist/core/tls-transport.js +602 -0
  179. package/dist/core/tls-transport.js.map +1 -0
  180. package/dist/core/tool.d.ts +23 -2
  181. package/dist/core/tool.d.ts.map +1 -1
  182. package/dist/core/tool.js +269 -1
  183. package/dist/core/tool.js.map +1 -1
  184. package/dist/core/transport.d.ts +166 -0
  185. package/dist/core/transport.d.ts.map +1 -0
  186. package/dist/core/transport.js +20 -0
  187. package/dist/core/transport.js.map +1 -0
  188. package/dist/core/types.d.ts +146 -0
  189. package/dist/core/types.d.ts.map +1 -1
  190. package/dist/core/types.js +77 -0
  191. package/dist/core/types.js.map +1 -1
  192. package/dist/core/vapid.d.ts +22 -0
  193. package/dist/core/vapid.d.ts.map +1 -0
  194. package/dist/core/vapid.js +50 -0
  195. package/dist/core/vapid.js.map +1 -0
  196. package/dist/core/web-push.d.ts +37 -0
  197. package/dist/core/web-push.d.ts.map +1 -0
  198. package/dist/core/web-push.js +198 -0
  199. package/dist/core/web-push.js.map +1 -0
  200. package/dist/core/wire-protocol.d.ts +131 -0
  201. package/dist/core/wire-protocol.d.ts.map +1 -0
  202. package/dist/core/wire-protocol.js +54 -0
  203. package/dist/core/wire-protocol.js.map +1 -0
  204. package/dist/core/ws-transport.d.ts +71 -0
  205. package/dist/core/ws-transport.d.ts.map +1 -0
  206. package/dist/core/ws-transport.js +560 -0
  207. package/dist/core/ws-transport.js.map +1 -0
  208. package/dist/test/approval.integration.test.d.ts +9 -0
  209. package/dist/test/approval.integration.test.d.ts.map +1 -0
  210. package/dist/test/approval.integration.test.js +361 -0
  211. package/dist/test/approval.integration.test.js.map +1 -0
  212. package/dist/test/delivery-receipt.helper.d.ts +16 -0
  213. package/dist/test/delivery-receipt.helper.d.ts.map +1 -0
  214. package/dist/test/delivery-receipt.helper.js +409 -0
  215. package/dist/test/delivery-receipt.helper.js.map +1 -0
  216. package/dist/test/delivery-receipt.runner.d.ts +13 -0
  217. package/dist/test/delivery-receipt.runner.d.ts.map +1 -0
  218. package/dist/test/delivery-receipt.runner.js +51 -0
  219. package/dist/test/delivery-receipt.runner.js.map +1 -0
  220. package/dist/test/federation.integration.test.d.ts +15 -0
  221. package/dist/test/federation.integration.test.d.ts.map +1 -0
  222. package/dist/test/federation.integration.test.js +218 -0
  223. package/dist/test/federation.integration.test.js.map +1 -0
  224. package/dist/test/listener-policy.integration.test.d.ts +9 -0
  225. package/dist/test/listener-policy.integration.test.d.ts.map +1 -0
  226. package/dist/test/listener-policy.integration.test.js +239 -0
  227. package/dist/test/listener-policy.integration.test.js.map +1 -0
  228. package/dist/test/tls-transport.integration.test.d.ts +8 -0
  229. package/dist/test/tls-transport.integration.test.d.ts.map +1 -0
  230. package/dist/test/tls-transport.integration.test.js +158 -0
  231. package/dist/test/tls-transport.integration.test.js.map +1 -0
  232. package/dist/test/visibility.integration.test.d.ts +12 -0
  233. package/dist/test/visibility.integration.test.d.ts.map +1 -0
  234. package/dist/test/visibility.integration.test.js +181 -0
  235. package/dist/test/visibility.integration.test.js.map +1 -0
  236. package/package.json +7 -3
  237. package/dist/bridges/user/web/frontend/render.d.ts +0 -30
  238. package/dist/bridges/user/web/frontend/render.d.ts.map +0 -1
  239. package/dist/bridges/user/web/frontend/render.js +0 -129
  240. package/dist/bridges/user/web/frontend/render.js.map +0 -1
  241. package/dist/bridges/user/web/frontend/test/dom.unit.test.d.ts +0 -5
  242. package/dist/bridges/user/web/frontend/test/dom.unit.test.d.ts.map +0 -1
  243. package/dist/bridges/user/web/frontend/test/dom.unit.test.js +0 -149
  244. package/dist/bridges/user/web/frontend/test/dom.unit.test.js.map +0 -1
  245. package/dist/bridges/user/web/frontend/test/input.unit.test.d.ts +0 -5
  246. package/dist/bridges/user/web/frontend/test/input.unit.test.d.ts.map +0 -1
  247. package/dist/bridges/user/web/frontend/test/input.unit.test.js +0 -131
  248. package/dist/bridges/user/web/frontend/test/input.unit.test.js.map +0 -1
  249. package/dist/bridges/user/web/frontend/test/render.unit.test.d.ts +0 -5
  250. package/dist/bridges/user/web/frontend/test/render.unit.test.d.ts.map +0 -1
  251. package/dist/bridges/user/web/frontend/test/render.unit.test.js +0 -436
  252. package/dist/bridges/user/web/frontend/test/render.unit.test.js.map +0 -1
  253. package/dist/bridges/user/web/frontend/test/state.unit.test.d.ts +0 -5
  254. package/dist/bridges/user/web/frontend/test/state.unit.test.d.ts.map +0 -1
  255. package/dist/bridges/user/web/frontend/test/state.unit.test.js +0 -119
  256. package/dist/bridges/user/web/frontend/test/state.unit.test.js.map +0 -1
@@ -1,149 +0,0 @@
1
- /**
2
- * Unit tests for dom.ts — DOM helper functions.
3
- */
4
- import { describe, it } from "node:test";
5
- import assert from "node:assert/strict";
6
- import { Window } from "happy-dom";
7
- import { clearChildren, createElement, escapeHtml, formatTime, querySelector, requireElement, } from "../dom.js";
8
- function createDoc() {
9
- const window = new Window();
10
- return {
11
- doc: window.document,
12
- cleanup: () => {
13
- window.close();
14
- },
15
- };
16
- }
17
- describe("dom", () => {
18
- describe("escapeHtml", () => {
19
- it("escapes <, >, &, quotes", () => {
20
- const { doc, cleanup } = createDoc();
21
- try {
22
- assert.strictEqual(escapeHtml(doc, "<script>alert('xss')</script>"), "&lt;script&gt;alert('xss')&lt;/script&gt;");
23
- }
24
- finally {
25
- cleanup();
26
- }
27
- });
28
- it("passes through safe text unchanged", () => {
29
- const { doc, cleanup } = createDoc();
30
- try {
31
- assert.strictEqual(escapeHtml(doc, "hello world"), "hello world");
32
- }
33
- finally {
34
- cleanup();
35
- }
36
- });
37
- });
38
- describe("formatTime", () => {
39
- it("extracts HH:MM:SS from ISO string", () => {
40
- assert.strictEqual(formatTime("2025-05-23T14:30:45.123Z"), "14:30:45");
41
- });
42
- });
43
- describe("createElement", () => {
44
- it("creates element with attributes and children", () => {
45
- const { doc, cleanup } = createDoc();
46
- try {
47
- const el = createElement(doc, "div", { class: "test" }, "hello");
48
- assert.strictEqual(el.tagName, "DIV");
49
- assert.strictEqual(el.getAttribute("class"), "test");
50
- assert.strictEqual(el.textContent, "hello");
51
- }
52
- finally {
53
- cleanup();
54
- }
55
- });
56
- it("creates element without attributes or children", () => {
57
- const { doc, cleanup } = createDoc();
58
- try {
59
- const el = createElement(doc, "span");
60
- assert.strictEqual(el.tagName, "SPAN");
61
- assert.strictEqual(el.childNodes.length, 0);
62
- }
63
- finally {
64
- cleanup();
65
- }
66
- });
67
- it("appends Node children", () => {
68
- const { doc, cleanup } = createDoc();
69
- try {
70
- const child = doc.createElement("strong");
71
- child.textContent = "bold";
72
- const el = createElement(doc, "p", undefined, child);
73
- assert.strictEqual(el.querySelector("strong")?.textContent, "bold");
74
- }
75
- finally {
76
- cleanup();
77
- }
78
- });
79
- });
80
- describe("clearChildren", () => {
81
- it("removes all children from an element", () => {
82
- const { doc, cleanup } = createDoc();
83
- try {
84
- const parent = doc.createElement("div");
85
- parent.appendChild(doc.createElement("span"));
86
- parent.appendChild(doc.createElement("span"));
87
- assert.strictEqual(parent.childNodes.length, 2);
88
- clearChildren(parent);
89
- assert.strictEqual(parent.childNodes.length, 0);
90
- }
91
- finally {
92
- cleanup();
93
- }
94
- });
95
- });
96
- describe("querySelector", () => {
97
- it("returns element when found", () => {
98
- const { doc, cleanup } = createDoc();
99
- try {
100
- const parent = doc.createElement("div");
101
- const child = doc.createElement("span");
102
- child.id = "target";
103
- parent.appendChild(child);
104
- doc.body.appendChild(parent);
105
- const result = querySelector(doc, "#target");
106
- assert.ok(result);
107
- assert.strictEqual(result.id, "target");
108
- }
109
- finally {
110
- cleanup();
111
- }
112
- });
113
- it("returns undefined when not found", () => {
114
- const { doc, cleanup } = createDoc();
115
- try {
116
- const result = querySelector(doc, "#nonexistent");
117
- assert.strictEqual(result, undefined);
118
- }
119
- finally {
120
- cleanup();
121
- }
122
- });
123
- });
124
- describe("requireElement", () => {
125
- it("returns element when found", () => {
126
- const { doc, cleanup } = createDoc();
127
- try {
128
- const el = doc.createElement("div");
129
- el.id = "required";
130
- doc.body.appendChild(el);
131
- const result = requireElement(doc, "#required");
132
- assert.strictEqual(result.id, "required");
133
- }
134
- finally {
135
- cleanup();
136
- }
137
- });
138
- it("throws when element not found", () => {
139
- const { doc, cleanup } = createDoc();
140
- try {
141
- assert.throws(() => requireElement(doc, "#missing"), /Required element not found/);
142
- }
143
- finally {
144
- cleanup();
145
- }
146
- });
147
- });
148
- });
149
- //# sourceMappingURL=dom.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom.unit.test.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/test/dom.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Unit tests for input.ts — command parsing.
3
- */
4
- export {};
5
- //# sourceMappingURL=input.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.unit.test.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/test/input.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,131 +0,0 @@
1
- /**
2
- * Unit tests for input.ts — command parsing.
3
- */
4
- import { describe, it } from "node:test";
5
- import assert from "node:assert/strict";
6
- import { parseInput } from "../input.js";
7
- describe("input", () => {
8
- describe("parseInput", () => {
9
- it("ignores empty input", () => {
10
- assert.deepStrictEqual(parseInput("", undefined), { kind: "ignored" });
11
- assert.deepStrictEqual(parseInput(" ", undefined), { kind: "ignored" });
12
- });
13
- it("returns error for message with no current room or DM target", () => {
14
- const result = parseInput("hello", undefined, undefined);
15
- assert.strictEqual(result.kind, "local");
16
- if (result.kind === "local") {
17
- assert.strictEqual(result.result.type, "error");
18
- }
19
- });
20
- it("returns DM action when DM target is set and no current room", () => {
21
- const result = parseInput("hello there", undefined, "agent-42");
22
- assert.deepStrictEqual(result, {
23
- kind: "action",
24
- action: { action: "dm", target: "agent-42", content: "hello there" },
25
- });
26
- });
27
- it("prefers current room over DM target for plain text", () => {
28
- const result = parseInput("hello", "room-1", "agent-42");
29
- assert.deepStrictEqual(result, {
30
- kind: "action",
31
- action: { action: "send", target: "room-1", content: "hello" },
32
- });
33
- });
34
- it("returns send action for message in current room", () => {
35
- const result = parseInput("hello there", "room-1");
36
- assert.deepStrictEqual(result, {
37
- kind: "action",
38
- action: { action: "send", target: "room-1", content: "hello there" },
39
- });
40
- });
41
- it("parses /join command", () => {
42
- const result = parseInput("/join my-room", undefined);
43
- assert.deepStrictEqual(result, {
44
- kind: "action",
45
- action: { action: "join_room", room: "my-room" },
46
- });
47
- });
48
- it("returns error for /join without room", () => {
49
- const result = parseInput("/join", undefined);
50
- assert.strictEqual(result.kind, "local");
51
- if (result.kind === "local") {
52
- assert.strictEqual(result.result.type, "error");
53
- assert.ok(result.result.text.includes("Usage"));
54
- }
55
- });
56
- it("parses /leave with explicit room", () => {
57
- const result = parseInput("/leave room-1", undefined);
58
- assert.deepStrictEqual(result, {
59
- kind: "action",
60
- action: { action: "leave_room", room: "room-1" },
61
- });
62
- });
63
- it("parses /leave with current room", () => {
64
- const result = parseInput("/leave", "current-room");
65
- assert.deepStrictEqual(result, {
66
- kind: "action",
67
- action: { action: "leave_room", room: "current-room" },
68
- });
69
- });
70
- it("parses /dm command", () => {
71
- const result = parseInput("/dm agent-1 hello friend", undefined);
72
- assert.deepStrictEqual(result, {
73
- kind: "action",
74
- action: { action: "dm", target: "agent-1", content: "hello friend" },
75
- });
76
- });
77
- it("returns error for /dm without target or message", () => {
78
- const result = parseInput("/dm", undefined);
79
- assert.strictEqual(result.kind, "local");
80
- if (result.kind === "local") {
81
- assert.strictEqual(result.result.type, "error");
82
- }
83
- });
84
- it("parses /create command", () => {
85
- const result = parseInput("/create new-room", undefined);
86
- assert.deepStrictEqual(result, {
87
- kind: "action",
88
- action: { action: "create_room", name: "new-room", type: "public" },
89
- });
90
- });
91
- it("parses /destroy command", () => {
92
- const result = parseInput("/destroy old-room", undefined);
93
- assert.deepStrictEqual(result, {
94
- kind: "action",
95
- action: { action: "destroy_room", room: "old-room" },
96
- });
97
- });
98
- it("parses /rooms command", () => {
99
- const result = parseInput("/rooms", undefined);
100
- assert.deepStrictEqual(result, {
101
- kind: "action",
102
- action: { action: "list_rooms" },
103
- });
104
- });
105
- it("parses /agents command", () => {
106
- const result = parseInput("/agents", undefined);
107
- assert.deepStrictEqual(result, {
108
- kind: "action",
109
- action: { action: "list_agents" },
110
- });
111
- });
112
- it("parses /help command", () => {
113
- const result = parseInput("/help", undefined);
114
- assert.strictEqual(result.kind, "local");
115
- if (result.kind === "local") {
116
- assert.strictEqual(result.result.type, "help");
117
- assert.ok(result.result.text.includes("/join"));
118
- assert.ok(result.result.text.includes("/dm"));
119
- }
120
- });
121
- it("returns unknown for unrecognized commands", () => {
122
- const result = parseInput("/foobar", undefined);
123
- assert.strictEqual(result.kind, "local");
124
- if (result.kind === "local") {
125
- assert.strictEqual(result.result.type, "unknown");
126
- assert.ok(result.result.text.includes("/foobar"));
127
- }
128
- });
129
- });
130
- });
131
- //# sourceMappingURL=input.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.unit.test.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/test/input.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Unit tests for render.ts — DOM rendering functions.
3
- */
4
- export {};
5
- //# sourceMappingURL=render.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render.unit.test.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/test/render.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}