@moltzap/client 2026.414.0 → 2026.425.1

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 (215) hide show
  1. package/dist/channel-core.d.ts +28 -15
  2. package/dist/channel-core.d.ts.map +1 -1
  3. package/dist/channel-core.js +113 -74
  4. package/dist/channel-core.js.map +1 -1
  5. package/dist/channel-core.test.js +126 -34
  6. package/dist/channel-core.test.js.map +1 -1
  7. package/dist/cli/__tests__/cli-multi-agent.int.test.d.ts +2 -0
  8. package/dist/cli/__tests__/cli-multi-agent.int.test.d.ts.map +1 -0
  9. package/dist/cli/__tests__/cli-multi-agent.int.test.js +26 -0
  10. package/dist/cli/__tests__/cli-multi-agent.int.test.js.map +1 -0
  11. package/dist/cli/commands/agents.d.ts +13 -2
  12. package/dist/cli/commands/agents.d.ts.map +1 -1
  13. package/dist/cli/commands/agents.js +30 -18
  14. package/dist/cli/commands/agents.js.map +1 -1
  15. package/dist/cli/commands/apps.d.ts +96 -0
  16. package/dist/cli/commands/apps.d.ts.map +1 -0
  17. package/dist/cli/commands/apps.js +193 -0
  18. package/dist/cli/commands/apps.js.map +1 -0
  19. package/dist/cli/commands/apps.test.d.ts +2 -0
  20. package/dist/cli/commands/apps.test.d.ts.map +1 -0
  21. package/dist/cli/commands/apps.test.js +220 -0
  22. package/dist/cli/commands/apps.test.js.map +1 -0
  23. package/dist/cli/commands/contacts.d.ts +18 -2
  24. package/dist/cli/commands/contacts.d.ts.map +1 -1
  25. package/dist/cli/commands/contacts.js +44 -52
  26. package/dist/cli/commands/contacts.js.map +1 -1
  27. package/dist/cli/commands/conversations-v2.test.d.ts +2 -0
  28. package/dist/cli/commands/conversations-v2.test.d.ts.map +1 -0
  29. package/dist/cli/commands/conversations-v2.test.js +92 -0
  30. package/dist/cli/commands/conversations-v2.test.js.map +1 -0
  31. package/dist/cli/commands/conversations.d.ts +73 -3
  32. package/dist/cli/commands/conversations.d.ts.map +1 -1
  33. package/dist/cli/commands/conversations.js +157 -108
  34. package/dist/cli/commands/conversations.js.map +1 -1
  35. package/dist/cli/commands/invite.d.ts +6 -2
  36. package/dist/cli/commands/invite.d.ts.map +1 -1
  37. package/dist/cli/commands/invite.js +8 -6
  38. package/dist/cli/commands/invite.js.map +1 -1
  39. package/dist/cli/commands/messages.d.ts +48 -0
  40. package/dist/cli/commands/messages.d.ts.map +1 -0
  41. package/dist/cli/commands/messages.js +68 -0
  42. package/dist/cli/commands/messages.js.map +1 -0
  43. package/dist/cli/commands/messages.test.d.ts +2 -0
  44. package/dist/cli/commands/messages.test.d.ts.map +1 -0
  45. package/dist/cli/commands/messages.test.js +73 -0
  46. package/dist/cli/commands/messages.test.js.map +1 -0
  47. package/dist/cli/commands/permissions.d.ts +66 -0
  48. package/dist/cli/commands/permissions.d.ts.map +1 -0
  49. package/dist/cli/commands/permissions.js +101 -0
  50. package/dist/cli/commands/permissions.js.map +1 -0
  51. package/dist/cli/commands/permissions.test.d.ts +2 -0
  52. package/dist/cli/commands/permissions.test.d.ts.map +1 -0
  53. package/dist/cli/commands/permissions.test.js +126 -0
  54. package/dist/cli/commands/permissions.test.js.map +1 -0
  55. package/dist/cli/commands/ping.d.ts +6 -2
  56. package/dist/cli/commands/ping.d.ts.map +1 -1
  57. package/dist/cli/commands/ping.js +21 -20
  58. package/dist/cli/commands/ping.js.map +1 -1
  59. package/dist/cli/commands/presence.d.ts +10 -2
  60. package/dist/cli/commands/presence.d.ts.map +1 -1
  61. package/dist/cli/commands/presence.js +27 -15
  62. package/dist/cli/commands/presence.js.map +1 -1
  63. package/dist/cli/commands/register.d.ts +24 -2
  64. package/dist/cli/commands/register.d.ts.map +1 -1
  65. package/dist/cli/commands/register.js +123 -47
  66. package/dist/cli/commands/register.js.map +1 -1
  67. package/dist/cli/commands/register.test.js +45 -27
  68. package/dist/cli/commands/register.test.js.map +1 -1
  69. package/dist/cli/commands/send.d.ts +43 -2
  70. package/dist/cli/commands/send.d.ts.map +1 -1
  71. package/dist/cli/commands/send.js +55 -13
  72. package/dist/cli/commands/send.js.map +1 -1
  73. package/dist/cli/commands/send.test.js +20 -19
  74. package/dist/cli/commands/send.test.js.map +1 -1
  75. package/dist/cli/commands/status.d.ts +6 -2
  76. package/dist/cli/commands/status.d.ts.map +1 -1
  77. package/dist/cli/commands/status.js +16 -10
  78. package/dist/cli/commands/status.js.map +1 -1
  79. package/dist/cli/commands/whoami.d.ts +7 -2
  80. package/dist/cli/commands/whoami.d.ts.map +1 -1
  81. package/dist/cli/commands/whoami.js +13 -7
  82. package/dist/cli/commands/whoami.js.map +1 -1
  83. package/dist/cli/config.d.ts +24 -8
  84. package/dist/cli/config.d.ts.map +1 -1
  85. package/dist/cli/config.js +65 -39
  86. package/dist/cli/config.js.map +1 -1
  87. package/dist/cli/config.test.js +12 -10
  88. package/dist/cli/config.test.js.map +1 -1
  89. package/dist/cli/http-client.d.ts +6 -2
  90. package/dist/cli/http-client.d.ts.map +1 -1
  91. package/dist/cli/http-client.js +25 -24
  92. package/dist/cli/http-client.js.map +1 -1
  93. package/dist/cli/index.d.ts +16 -1
  94. package/dist/cli/index.d.ts.map +1 -1
  95. package/dist/cli/index.js +160 -27
  96. package/dist/cli/index.js.map +1 -1
  97. package/dist/cli/profile.d.ts +134 -0
  98. package/dist/cli/profile.d.ts.map +1 -0
  99. package/dist/cli/profile.js +217 -0
  100. package/dist/cli/profile.js.map +1 -0
  101. package/dist/cli/profile.test.d.ts +2 -0
  102. package/dist/cli/profile.test.d.ts.map +1 -0
  103. package/dist/cli/profile.test.js +263 -0
  104. package/dist/cli/profile.test.js.map +1 -0
  105. package/dist/cli/runtime.d.ts +34 -0
  106. package/dist/cli/runtime.d.ts.map +1 -0
  107. package/dist/cli/runtime.js +94 -0
  108. package/dist/cli/runtime.js.map +1 -0
  109. package/dist/cli/socket-client.d.ts +15 -12
  110. package/dist/cli/socket-client.d.ts.map +1 -1
  111. package/dist/cli/socket-client.js +72 -75
  112. package/dist/cli/socket-client.js.map +1 -1
  113. package/dist/cli/transport.d.ts +181 -0
  114. package/dist/cli/transport.d.ts.map +1 -0
  115. package/dist/cli/transport.js +324 -0
  116. package/dist/cli/transport.js.map +1 -0
  117. package/dist/cli/transport.test.d.ts +2 -0
  118. package/dist/cli/transport.test.d.ts.map +1 -0
  119. package/dist/cli/transport.test.js +197 -0
  120. package/dist/cli/transport.test.js.map +1 -0
  121. package/dist/index.d.ts +6 -2
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +1 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/runtime/close-info.d.ts +94 -0
  126. package/dist/runtime/close-info.d.ts.map +1 -0
  127. package/dist/runtime/close-info.js +109 -0
  128. package/dist/runtime/close-info.js.map +1 -0
  129. package/dist/runtime/close-info.test.d.ts +2 -0
  130. package/dist/runtime/close-info.test.d.ts.map +1 -0
  131. package/dist/runtime/close-info.test.js +102 -0
  132. package/dist/runtime/close-info.test.js.map +1 -0
  133. package/dist/runtime/errors.d.ts +47 -0
  134. package/dist/runtime/errors.d.ts.map +1 -0
  135. package/dist/runtime/errors.js +20 -0
  136. package/dist/runtime/errors.js.map +1 -0
  137. package/dist/runtime/errors.test.d.ts +2 -0
  138. package/dist/runtime/errors.test.d.ts.map +1 -0
  139. package/dist/runtime/errors.test.js +66 -0
  140. package/dist/runtime/errors.test.js.map +1 -0
  141. package/dist/runtime/frame.d.ts +25 -0
  142. package/dist/runtime/frame.d.ts.map +1 -0
  143. package/dist/runtime/frame.js +106 -0
  144. package/dist/runtime/frame.js.map +1 -0
  145. package/dist/runtime/frame.test.d.ts +2 -0
  146. package/dist/runtime/frame.test.d.ts.map +1 -0
  147. package/dist/runtime/frame.test.js +32 -0
  148. package/dist/runtime/frame.test.js.map +1 -0
  149. package/dist/runtime/index.d.ts +3 -0
  150. package/dist/runtime/index.d.ts.map +1 -0
  151. package/dist/runtime/index.js +3 -0
  152. package/dist/runtime/index.js.map +1 -0
  153. package/dist/runtime/refs.d.ts +10 -0
  154. package/dist/runtime/refs.d.ts.map +1 -0
  155. package/dist/runtime/refs.js +10 -0
  156. package/dist/runtime/refs.js.map +1 -0
  157. package/dist/runtime/runtime.test.d.ts +2 -0
  158. package/dist/runtime/runtime.test.d.ts.map +1 -0
  159. package/dist/runtime/runtime.test.js +29 -0
  160. package/dist/runtime/runtime.test.js.map +1 -0
  161. package/dist/runtime/subscribers.d.ts +157 -0
  162. package/dist/runtime/subscribers.d.ts.map +1 -0
  163. package/dist/runtime/subscribers.js +131 -0
  164. package/dist/runtime/subscribers.js.map +1 -0
  165. package/dist/runtime/subscribers.test.d.ts +2 -0
  166. package/dist/runtime/subscribers.test.d.ts.map +1 -0
  167. package/dist/runtime/subscribers.test.js +155 -0
  168. package/dist/runtime/subscribers.test.js.map +1 -0
  169. package/dist/service.d.ts +68 -17
  170. package/dist/service.d.ts.map +1 -1
  171. package/dist/service.js +461 -307
  172. package/dist/service.js.map +1 -1
  173. package/dist/service.test.js +266 -77
  174. package/dist/service.test.js.map +1 -1
  175. package/dist/test/index.d.ts +33 -0
  176. package/dist/test/index.d.ts.map +1 -0
  177. package/dist/test/index.js +44 -0
  178. package/dist/test/index.js.map +1 -0
  179. package/dist/test-utils/channel-service-fixture.d.ts +2 -1
  180. package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
  181. package/dist/test-utils/channel-service-fixture.js +31 -11
  182. package/dist/test-utils/channel-service-fixture.js.map +1 -1
  183. package/dist/test-utils/conformance-adapter.d.ts +50 -0
  184. package/dist/test-utils/conformance-adapter.d.ts.map +1 -0
  185. package/dist/test-utils/conformance-adapter.js +206 -0
  186. package/dist/test-utils/conformance-adapter.js.map +1 -0
  187. package/dist/test-utils/fake-service.d.ts +85 -0
  188. package/dist/test-utils/fake-service.d.ts.map +1 -0
  189. package/dist/test-utils/fake-service.js +103 -0
  190. package/dist/test-utils/fake-service.js.map +1 -0
  191. package/dist/test-utils/index.d.ts +2 -0
  192. package/dist/test-utils/index.d.ts.map +1 -1
  193. package/dist/test-utils/index.js +3 -2
  194. package/dist/test-utils/index.js.map +1 -1
  195. package/dist/ws-client.d.ts +157 -18
  196. package/dist/ws-client.d.ts.map +1 -1
  197. package/dist/ws-client.js +432 -94
  198. package/dist/ws-client.js.map +1 -1
  199. package/dist/ws-client.test.d.ts +2 -0
  200. package/dist/ws-client.test.d.ts.map +1 -0
  201. package/dist/ws-client.test.js +672 -0
  202. package/dist/ws-client.test.js.map +1 -0
  203. package/package.json +17 -8
  204. package/dist/__tests__/service.integration.test.d.ts +0 -2
  205. package/dist/__tests__/service.integration.test.d.ts.map +0 -1
  206. package/dist/__tests__/service.integration.test.js +0 -1087
  207. package/dist/__tests__/service.integration.test.js.map +0 -1
  208. package/dist/cli/commands/delete.d.ts +0 -3
  209. package/dist/cli/commands/delete.d.ts.map +0 -1
  210. package/dist/cli/commands/delete.js +0 -10
  211. package/dist/cli/commands/delete.js.map +0 -1
  212. package/dist/cli/commands/react.d.ts +0 -3
  213. package/dist/cli/commands/react.d.ts.map +0 -1
  214. package/dist/cli/commands/react.js +0 -18
  215. package/dist/cli/commands/react.js.map +0 -1
@@ -1,67 +1,59 @@
1
- import { Command } from "commander";
2
- import { request, action } from "../socket-client.js";
3
- export const contactsCommand = new Command("contacts").description("Manage contacts");
4
- contactsCommand
5
- .command("list")
6
- .description("List contacts")
7
- .option("--status <status>", "Filter by status (pending, accepted, blocked)")
8
- .option("--json", "Output as JSON")
9
- .action(action(async (opts) => {
10
- const params = {};
11
- if (opts.status)
12
- params.status = opts.status;
13
- const result = (await request("contacts/list", params));
14
- if (opts.json) {
15
- console.log(JSON.stringify(result.contacts, null, 2));
1
+ import { Args, Command, Options } from "@effect/cli";
2
+ import { Effect } from "effect";
3
+ import { request } from "../socket-client.js";
4
+ const jsonOption = Options.boolean("json").pipe(Options.withDescription("Output as JSON"));
5
+ const wrap = (effect, onSuccess) => effect.pipe(Effect.tap((value) => Effect.sync(() => onSuccess(value))), Effect.asVoid, Effect.catchAll((err) => Effect.sync(() => {
6
+ console.error(`Failed: ${err.message}`);
7
+ process.exit(1);
8
+ })));
9
+ const listContacts = Command.make("list", { json: jsonOption }, ({ json }) => wrap(request("contacts/list", {}), (r) => {
10
+ if (json) {
11
+ console.log(JSON.stringify(r.contacts, null, 2));
16
12
  return;
17
13
  }
18
- if (result.contacts.length === 0) {
14
+ if (r.contacts.length === 0) {
19
15
  console.log("No contacts found.");
20
16
  return;
21
17
  }
22
- for (const c of result.contacts) {
23
- const requester = c.requesterName ?? c.requesterPhone ?? c.requesterId;
24
- const target = c.targetName ?? c.targetPhone ?? c.targetId;
25
- console.log(` ${c.id} ${c.status} ${requester} -> ${target}`);
18
+ for (const c of r.contacts) {
19
+ const rel = c.relationship ? ` (${c.relationship})` : "";
20
+ console.log(` ${c.id} ${c.contactUserId} ${c.source}${rel}`);
26
21
  }
27
- }));
28
- contactsCommand
29
- .command("add")
30
- .description("Add a contact by phone number or user ID")
31
- .argument("<identifier>", "Phone number (+E.164) or user ID")
32
- .action(action(async (identifier) => {
22
+ })).pipe(Command.withDescription("List contacts"));
23
+ const identifierArg = Args.text({ name: "identifier" }).pipe(Args.withDescription("Phone number (+E.164) or user ID"));
24
+ const addContact = Command.make("add", { identifier: identifierArg }, ({ identifier }) => {
33
25
  const params = {};
34
26
  if (identifier.startsWith("+")) {
35
27
  params.phone = identifier;
28
+ params.source = "phone";
36
29
  }
37
30
  else {
38
- params.userId = identifier;
31
+ params.contactUserId = identifier;
32
+ params.source = "manual";
39
33
  }
40
- const result = (await request("contacts/add", params));
41
- console.log(`Contact request sent (id: ${result.contactId}, status: ${result.status})`);
42
- }));
43
- contactsCommand
44
- .command("accept")
45
- .description("Accept a contact request")
46
- .argument("<contactId>", "Contact ID to accept")
47
- .action(action(async (contactId) => {
48
- const result = (await request("contacts/accept", { contactId }));
49
- console.log(`Contact accepted: ${result.contact.id}`);
50
- }));
51
- contactsCommand
52
- .command("block")
53
- .description("Block a contact")
54
- .argument("<contactId>", "Contact ID to block")
55
- .action(action(async (contactId) => {
56
- await request("contacts/block", { contactId });
34
+ return wrap(request("contacts/add", params), (r) => {
35
+ console.log(`Contact added (id: ${r.contact.id})`);
36
+ });
37
+ }).pipe(Command.withDescription("Add a contact by phone number or user ID"));
38
+ const contactIdArg = Args.text({ name: "contactId" }).pipe(Args.withDescription("Contact ID"));
39
+ const acceptContact = Command.make("accept", { contactId: contactIdArg }, ({ contactId }) => wrap(request("contacts/accept", { contactId }), (r) => {
40
+ console.log(`Contact accepted: ${r.contact.id}`);
41
+ })).pipe(Command.withDescription("Accept a contact request"));
42
+ const blockContact = Command.make("block", { contactId: contactIdArg }, ({ contactId }) => wrap(request("contacts/block", { contactId }), () => {
57
43
  console.log(`Contact ${contactId} blocked.`);
58
- }));
59
- contactsCommand
60
- .command("remove")
61
- .description("Remove a contact")
62
- .argument("<contactId>", "Contact ID to remove")
63
- .action(action(async (contactId) => {
64
- await request("contacts/remove", { contactId });
44
+ })).pipe(Command.withDescription("Block a contact"));
45
+ const removeContact = Command.make("remove", { contactId: contactIdArg }, ({ contactId }) => wrap(request("contacts/remove", { contactId }), () => {
65
46
  console.log(`Contact ${contactId} removed.`);
66
- }));
47
+ })).pipe(Command.withDescription("Remove a contact"));
48
+ /**
49
+ * `moltzap contacts [list|add|accept|block|remove]` — contact CRUD over the
50
+ * local Unix socket. Addresses by phone (+E.164 prefix) or explicit user id.
51
+ */
52
+ export const contactsCommand = Command.make("contacts", {}, () => listContacts.handler({ json: false })).pipe(Command.withDescription("Manage contacts"), Command.withSubcommands([
53
+ listContacts,
54
+ addContact,
55
+ acceptContact,
56
+ blockContact,
57
+ removeContact,
58
+ ]));
67
59
  //# sourceMappingURL=contacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/cli/commands/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/cli/commands/contacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=conversations-v2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversations-v2.test.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conversations-v2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Unit tests for the v2 subcommand handlers added to conversations.ts
3
+ * (sbd#185). Keeps v1 tests untouched — lives in a sibling file so the
4
+ * existing conversations test module is not edited at architect stage.
5
+ *
6
+ * Spec test-coverage floor: one success + one RPC-failure per handler.
7
+ */
8
+ import { Effect } from "effect";
9
+ import { afterEach, beforeEach, describe, expect, it, vi, } from "vitest";
10
+ import { conversationsArchiveHandler, conversationsGetHandler, conversationsUnarchiveHandler, } from "./conversations.js";
11
+ import { Transport, TransportRpcError, } from "../transport.js";
12
+ const makeFakeTransport = (respond) => {
13
+ const calls = [];
14
+ const transport = {
15
+ kind: "test",
16
+ rpc: (method, params) => {
17
+ calls.push({ method, params });
18
+ const out = respond({ method, params });
19
+ if (out instanceof Error) {
20
+ return Effect.fail(new TransportRpcError({ method, code: -32000, message: out.message }));
21
+ }
22
+ return Effect.succeed(out);
23
+ },
24
+ };
25
+ return { calls, transport };
26
+ };
27
+ describe("conversations get (v2)", () => {
28
+ let stdout;
29
+ beforeEach(() => {
30
+ stdout = vi.spyOn(console, "log").mockImplementation(() => { });
31
+ });
32
+ afterEach(() => stdout.mockRestore());
33
+ it("calls conversations/get and prints { conversation, participants } as JSON", async () => {
34
+ const body = {
35
+ conversation: { id: "c1", type: "dm" },
36
+ participants: [],
37
+ };
38
+ const { calls, transport } = makeFakeTransport(() => body);
39
+ await Effect.runPromise(conversationsGetHandler({ conversationId: "c1" }).pipe(Effect.provideService(Transport, transport)));
40
+ expect(calls[0]).toEqual({
41
+ method: "conversations/get",
42
+ params: { conversationId: "c1" },
43
+ });
44
+ expect(stdout).toHaveBeenCalledWith(JSON.stringify(body, null, 2));
45
+ });
46
+ it("surfaces TransportRpcError", async () => {
47
+ const { transport } = makeFakeTransport(() => new Error("404"));
48
+ const result = await Effect.runPromiseExit(conversationsGetHandler({ conversationId: "c1" }).pipe(Effect.provideService(Transport, transport)));
49
+ expect(result._tag).toBe("Failure");
50
+ });
51
+ });
52
+ describe("conversations archive (v2)", () => {
53
+ let stdout;
54
+ beforeEach(() => {
55
+ stdout = vi.spyOn(console, "log").mockImplementation(() => { });
56
+ });
57
+ afterEach(() => stdout.mockRestore());
58
+ it("calls conversations/archive with the supplied id", async () => {
59
+ const { calls, transport } = makeFakeTransport(() => ({}));
60
+ await Effect.runPromise(conversationsArchiveHandler({ conversationId: "c1" }).pipe(Effect.provideService(Transport, transport)));
61
+ expect(calls[0]).toEqual({
62
+ method: "conversations/archive",
63
+ params: { conversationId: "c1" },
64
+ });
65
+ });
66
+ it("surfaces TransportRpcError", async () => {
67
+ const { transport } = makeFakeTransport(() => new Error("fail"));
68
+ const result = await Effect.runPromiseExit(conversationsArchiveHandler({ conversationId: "c1" }).pipe(Effect.provideService(Transport, transport)));
69
+ expect(result._tag).toBe("Failure");
70
+ });
71
+ });
72
+ describe("conversations unarchive (v2)", () => {
73
+ let stdout;
74
+ beforeEach(() => {
75
+ stdout = vi.spyOn(console, "log").mockImplementation(() => { });
76
+ });
77
+ afterEach(() => stdout.mockRestore());
78
+ it("calls conversations/unarchive with the supplied id", async () => {
79
+ const { calls, transport } = makeFakeTransport(() => ({}));
80
+ await Effect.runPromise(conversationsUnarchiveHandler({ conversationId: "c1" }).pipe(Effect.provideService(Transport, transport)));
81
+ expect(calls[0]).toEqual({
82
+ method: "conversations/unarchive",
83
+ params: { conversationId: "c1" },
84
+ });
85
+ });
86
+ it("surfaces TransportRpcError", async () => {
87
+ const { transport } = makeFakeTransport(() => new Error("fail"));
88
+ const result = await Effect.runPromiseExit(conversationsUnarchiveHandler({ conversationId: "c1" }).pipe(Effect.provideService(Transport, transport)));
89
+ expect(result._tag).toBe("Failure");
90
+ });
91
+ });
92
+ //# sourceMappingURL=conversations-v2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversations-v2.test.js","sourceRoot":"","sources":["../../../src/cli/commands/conversations-v2.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,74 @@
1
- import { Command } from "commander";
2
- export declare const conversationsCommand: Command;
3
- export declare const historyCommand: Command;
1
+ import { Command } from "@effect/cli";
2
+ import { Effect, Option } from "effect";
3
+ import { type Transport, type TransportError } from "../transport.js";
4
+ /** Discriminated error union for the three v2 conversation subcommands. */
5
+ export type ConversationsCommandError = TransportError | ConversationsInputError;
6
+ /** CLI-level input was rejected (architect stage: signature only). */
7
+ export declare class ConversationsInputError extends Error {
8
+ readonly reason: string;
9
+ readonly _tag: "ConversationsInputError";
10
+ constructor(reason: string);
11
+ }
12
+ /** `moltzap conversations get <id>` → conversations/get; prints { conversation, participants }. */
13
+ export declare const conversationsGetHandler: (args: {
14
+ readonly conversationId: string;
15
+ }) => Effect.Effect<void, ConversationsCommandError, Transport>;
16
+ /** `moltzap conversations archive <id>` → conversations/archive; prints success marker. */
17
+ export declare const conversationsArchiveHandler: (args: {
18
+ readonly conversationId: string;
19
+ }) => Effect.Effect<void, ConversationsCommandError, Transport>;
20
+ /** `moltzap conversations unarchive <id>` → conversations/unarchive; prints success marker. */
21
+ export declare const conversationsUnarchiveHandler: (args: {
22
+ readonly conversationId: string;
23
+ }) => Effect.Effect<void, ConversationsCommandError, Transport>;
24
+ /**
25
+ * `moltzap conversations [list|create|leave|mute|unmute|update|add-participant|remove-participant|history|get|archive|unarchive]`
26
+ * — conversation CRUD + inspection over the local Unix socket. Default (no
27
+ * subcommand) lists. The `get`, `archive`, `unarchive` subcommands are
28
+ * wired by impl-staff against the handlers above (sbd#185).
29
+ */
30
+ export declare const conversationsCommand: Command.Command<"conversations", Transport, never, {
31
+ readonly subcommand: Option.Option<{
32
+ readonly limit: number;
33
+ readonly json: boolean;
34
+ } | {
35
+ readonly name: string;
36
+ readonly participants: string[];
37
+ readonly type: Option.Option<string>;
38
+ } | {
39
+ readonly conversationId: string;
40
+ } | {
41
+ readonly conversationId: string;
42
+ readonly until: Option.Option<string>;
43
+ } | {
44
+ readonly conversationId: string;
45
+ } | {
46
+ readonly conversationId: string;
47
+ readonly name: string;
48
+ } | {
49
+ readonly conversationId: string;
50
+ readonly participant: string;
51
+ } | {
52
+ readonly conversationId: string;
53
+ readonly participant: string;
54
+ } | {
55
+ readonly conversationId: string;
56
+ readonly limit: number;
57
+ readonly json: boolean;
58
+ readonly sessionKey: Option.Option<string>;
59
+ } | {
60
+ readonly conversationId: string;
61
+ } | {
62
+ readonly conversationId: string;
63
+ } | {
64
+ readonly conversationId: string;
65
+ }>;
66
+ }>;
67
+ /** Top-level `moltzap history <conversationId>` — identical to `conversations history`. */
68
+ export declare const historyCommand: Command.Command<"history", never, never, {
69
+ readonly conversationId: string;
70
+ readonly limit: number;
71
+ readonly json: boolean;
72
+ readonly sessionKey: Option.Option<string>;
73
+ }>;
4
74
  //# sourceMappingURL=conversations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,oBAAoB,SAEhC,CAAC;AAiNF,eAAO,MAAM,cAAc,SAMG,CAAC"}
1
+ {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAW,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA2TxC,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAEzB,2EAA2E;AAC3E,MAAM,MAAM,yBAAyB,GACjC,cAAc,GACd,uBAAuB,CAAC;AAE5B,sEAAsE;AACtE,qBAAa,uBAAwB,SAAQ,KAAK;IAEpC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADnC,QAAQ,CAAC,IAAI,EAAG,yBAAyB,CAAU;gBAC9B,MAAM,EAAE,MAAM;CAGpC;AAED,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CASxD,CAAC;AAEL,2FAA2F;AAC3F,eAAO,MAAM,2BAA2B,GAAI,MAAM;IAChD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAQxD,CAAC;AAEL,+FAA+F;AAC/F,eAAO,MAAM,6BAA6B,GAAI,MAAM;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAQxD,CAAC;AAwBL;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBhC,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,cAAc;;;;;EAS+C,CAAC"}