@moltzap/client 2026.520.2 → 2026.524.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 (125) hide show
  1. package/dist/agent-client.d.ts +66 -0
  2. package/dist/agent-client.d.ts.map +1 -0
  3. package/dist/agent-client.js +287 -0
  4. package/dist/agent-client.js.map +1 -0
  5. package/dist/auth.d.ts +1 -1
  6. package/dist/auth.js +1 -1
  7. package/dist/channel-core-context.test.js +16 -8
  8. package/dist/channel-core-context.test.js.map +1 -1
  9. package/dist/channel-core-dispatch.test.js +17 -10
  10. package/dist/channel-core-dispatch.test.js.map +1 -1
  11. package/dist/channel-core-enrichment.d.ts +2 -1
  12. package/dist/channel-core-enrichment.d.ts.map +1 -1
  13. package/dist/channel-core-enrichment.js +4 -2
  14. package/dist/channel-core-enrichment.js.map +1 -1
  15. package/dist/channel-core-test-support.d.ts +5 -3
  16. package/dist/channel-core-test-support.d.ts.map +1 -1
  17. package/dist/channel-core-test-support.js +6 -4
  18. package/dist/channel-core-test-support.js.map +1 -1
  19. package/dist/channel-core.d.ts +18 -13
  20. package/dist/channel-core.d.ts.map +1 -1
  21. package/dist/channel-core.js +11 -10
  22. package/dist/channel-core.js.map +1 -1
  23. package/dist/cli/commands/conversations.d.ts +15 -63
  24. package/dist/cli/commands/conversations.d.ts.map +1 -1
  25. package/dist/cli/commands/conversations.js +26 -167
  26. package/dist/cli/commands/conversations.js.map +1 -1
  27. package/dist/cli/commands/messages.d.ts +5 -2
  28. package/dist/cli/commands/messages.d.ts.map +1 -1
  29. package/dist/cli/commands/messages.js +10 -5
  30. package/dist/cli/commands/messages.js.map +1 -1
  31. package/dist/cli/commands/messages.test.js +6 -1
  32. package/dist/cli/commands/messages.test.js.map +1 -1
  33. package/dist/cli/commands/send.d.ts +6 -37
  34. package/dist/cli/commands/send.d.ts.map +1 -1
  35. package/dist/cli/commands/send.js +35 -57
  36. package/dist/cli/commands/send.js.map +1 -1
  37. package/dist/cli/commands/send.test.js +14 -19
  38. package/dist/cli/commands/send.test.js.map +1 -1
  39. package/dist/cli/commands/start.d.ts +3 -3
  40. package/dist/cli/commands/start.d.ts.map +1 -1
  41. package/dist/cli/commands/start.js +21 -20
  42. package/dist/cli/commands/start.js.map +1 -1
  43. package/dist/cli/commands/start.test.js +9 -11
  44. package/dist/cli/commands/start.test.js.map +1 -1
  45. package/dist/cli/socket-client.d.ts +0 -17
  46. package/dist/cli/socket-client.d.ts.map +1 -1
  47. package/dist/cli/socket-client.js +1 -39
  48. package/dist/cli/socket-client.js.map +1 -1
  49. package/dist/cli/transport.d.ts.map +1 -1
  50. package/dist/cli/transport.js +33 -6
  51. package/dist/cli/transport.js.map +1 -1
  52. package/dist/cli/transport.test.js +31 -12
  53. package/dist/cli/transport.test.js.map +1 -1
  54. package/dist/index.d.ts +2 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +2 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/notification/__tests__/snapshot-semantics.types-check.js +1 -1
  59. package/dist/notification/stream.d.ts +3 -3
  60. package/dist/notification/stream.js +3 -3
  61. package/dist/runtime/close-info.d.ts +2 -2
  62. package/dist/runtime/close-info.js +1 -1
  63. package/dist/runtime/frame.test.js +4 -2
  64. package/dist/runtime/frame.test.js.map +1 -1
  65. package/dist/runtime/index.d.ts +1 -1
  66. package/dist/runtime/index.js +1 -1
  67. package/dist/runtime/local-history.d.ts +1 -1
  68. package/dist/runtime/local-history.d.ts.map +1 -1
  69. package/dist/runtime/local-history.js +1 -1
  70. package/dist/runtime/local-history.js.map +1 -1
  71. package/dist/runtime/subscribers.d.ts +3 -3
  72. package/dist/runtime/subscribers.js +2 -2
  73. package/dist/service-archive-purge.d.ts +17 -0
  74. package/dist/service-archive-purge.d.ts.map +1 -0
  75. package/dist/service-archive-purge.js +32 -0
  76. package/dist/service-archive-purge.js.map +1 -0
  77. package/dist/service.d.ts +15 -19
  78. package/dist/service.d.ts.map +1 -1
  79. package/dist/service.js +79 -100
  80. package/dist/service.js.map +1 -1
  81. package/dist/service.test.js +50 -26
  82. package/dist/service.test.js.map +1 -1
  83. package/dist/test/index.d.ts +4 -4
  84. package/dist/test/index.d.ts.map +1 -1
  85. package/dist/test/index.js +4 -4
  86. package/dist/test/index.js.map +1 -1
  87. package/dist/test-utils/channel-service-fixture.d.ts +2 -1
  88. package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
  89. package/dist/test-utils/channel-service-fixture.js +11 -6
  90. package/dist/test-utils/channel-service-fixture.js.map +1 -1
  91. package/dist/test-utils/conformance-adapter.d.ts +3 -3
  92. package/dist/test-utils/conformance-adapter.js +7 -7
  93. package/dist/test-utils/conformance-adapter.js.map +1 -1
  94. package/dist/test-utils/ids.d.ts +3 -1
  95. package/dist/test-utils/ids.d.ts.map +1 -1
  96. package/dist/test-utils/ids.js +3 -1
  97. package/dist/test-utils/ids.js.map +1 -1
  98. package/dist/test-utils/index.d.ts +1 -1
  99. package/dist/test-utils/index.d.ts.map +1 -1
  100. package/dist/test-utils/index.js +1 -1
  101. package/dist/test-utils/index.js.map +1 -1
  102. package/dist/{ws-client-test-support.d.ts → tm-client-test-support.d.ts} +14 -13
  103. package/dist/tm-client-test-support.d.ts.map +1 -0
  104. package/dist/{ws-client-test-support.js → tm-client-test-support.js} +51 -18
  105. package/dist/tm-client-test-support.js.map +1 -0
  106. package/dist/{ws-client.d.ts → tm-client.d.ts} +14 -19
  107. package/dist/tm-client.d.ts.map +1 -0
  108. package/dist/{ws-client.js → tm-client.js} +10 -24
  109. package/dist/tm-client.js.map +1 -0
  110. package/dist/tm-client.test.d.ts +2 -0
  111. package/dist/tm-client.test.d.ts.map +1 -0
  112. package/dist/{ws-client.test.js → tm-client.test.js} +41 -29
  113. package/dist/tm-client.test.js.map +1 -0
  114. package/package.json +5 -4
  115. package/dist/cli/commands/conversations-v2.test.d.ts +0 -2
  116. package/dist/cli/commands/conversations-v2.test.d.ts.map +0 -1
  117. package/dist/cli/commands/conversations-v2.test.js +0 -107
  118. package/dist/cli/commands/conversations-v2.test.js.map +0 -1
  119. package/dist/ws-client-test-support.d.ts.map +0 -1
  120. package/dist/ws-client-test-support.js.map +0 -1
  121. package/dist/ws-client.d.ts.map +0 -1
  122. package/dist/ws-client.js.map +0 -1
  123. package/dist/ws-client.test.d.ts +0 -2
  124. package/dist/ws-client.test.d.ts.map +0 -1
  125. package/dist/ws-client.test.js.map +0 -1
@@ -1,78 +1,30 @@
1
+ /**
2
+ * D3 cutover: only `history` survives; legacy list/create/archive/etc.
3
+ * subcommands ship in the D3 ADD slice once typed `Task*` CLI helpers
4
+ * land at the transport boundary.
5
+ */
1
6
  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
- declare const ConversationsInputError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
7
- readonly _tag: "ConversationsInputError";
8
- } & Readonly<A>;
9
- /** CLI-level input was rejected (architect stage: signature only). */
10
- declare class ConversationsInputError extends ConversationsInputError_base<{
11
- readonly message: string;
12
- readonly reason: string;
13
- }> {
14
- }
15
- /** `moltzap conversations get &lt;id>` → conversations/get; prints { conversation, participants }. */
16
- export declare const conversationsGetHandler: (args: {
17
- readonly conversationId: string;
18
- }) => Effect.Effect<void, ConversationsCommandError, Transport>;
19
- /** `moltzap conversations archive &lt;id>` → conversations/archive; prints success marker. */
20
- export declare const conversationsArchiveHandler: (args: {
21
- readonly conversationId: string;
22
- }) => Effect.Effect<void, ConversationsCommandError, Transport>;
23
- /** `moltzap conversations unarchive &lt;id>` → conversations/unarchive; prints success marker. */
24
- export declare const conversationsUnarchiveHandler: (args: {
25
- readonly conversationId: string;
26
- }) => Effect.Effect<void, ConversationsCommandError, Transport>;
7
+ import { Option } from "effect";
27
8
  /**
28
- * `moltzap conversations [list|create|leave|mute|unmute|update|add-participant|remove-participant|history|get|archive|unarchive]`
29
- * — conversation CRUD + inspection over the local Unix socket. Default (no
30
- * subcommand) lists. The `get`, `archive`, `unarchive` subcommands are
31
- * wired by impl-staff against the handlers above (sbd#185).
9
+ * `moltzap conversations [history]` — the legacy CRUD subcommands
10
+ * retire with the `Conversations*` wire surface; restructure to
11
+ * `Task*` / `TaskConversation*` ships in the D3 ADD slice.
32
12
  */
33
- export declare const conversationsCommand: Command.Command<"conversations", Transport, never, {
13
+ export declare const conversationsCommand: Command.Command<"conversations", never, never, {
34
14
  readonly subcommand: Option.Option<{
35
- readonly limit: number;
36
- readonly json: boolean;
37
- } | {
38
- readonly name: string;
39
- readonly participants: string[];
40
- readonly type: Option.Option<string>;
41
- } | {
42
- readonly conversationId: string;
43
- } | {
44
- readonly conversationId: string;
45
- readonly until: Option.Option<string>;
46
- } | {
47
- readonly conversationId: string;
48
- } | {
49
- readonly conversationId: string;
50
- readonly name: string;
51
- } | {
52
- readonly conversationId: string;
53
- readonly participant: string;
54
- } | {
55
- readonly conversationId: string;
56
- readonly participant: string;
57
- } | {
58
- readonly conversationId: string;
15
+ readonly taskId: string & import("effect/Brand").Brand<"TaskId">;
16
+ readonly conversationId: string & import("effect/Brand").Brand<"ConversationId">;
59
17
  readonly limit: number;
60
18
  readonly json: boolean;
61
19
  readonly sessionKey: Option.Option<string>;
62
- } | {
63
- readonly conversationId: string;
64
- } | {
65
- readonly conversationId: string;
66
- } | {
67
- readonly conversationId: string;
68
20
  }>;
69
21
  }>;
70
- /** Top-level `moltzap history &lt;conversationId>` — identical to `conversations history`. */
22
+ /** Top-level `moltzap history &lt;taskId> &lt;conversationId>` — identical to `conversations history`. */
71
23
  export declare const historyCommand: Command.Command<"history", never, never, {
72
- readonly conversationId: string;
24
+ readonly taskId: string & import("effect/Brand").Brand<"TaskId">;
25
+ readonly conversationId: string & import("effect/Brand").Brand<"ConversationId">;
73
26
  readonly limit: number;
74
27
  readonly json: boolean;
75
28
  readonly sessionKey: Option.Option<string>;
76
29
  }>;
77
- export {};
78
30
  //# 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,EAAQ,OAAO,EAAW,MAAM,aAAa,CAAC;AACrD,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsW9C,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,cAAM,uBAAwB,SAAQ,6BAEpC;IACA,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;CAAG;AAEL,sGAAsG;AACtG,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAQP,CAAC;AAEtD,8FAA8F;AAC9F,eAAO,MAAM,2BAA2B,GAAI,MAAM;IAChD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAQH,CAAC;AAE1D,kGAAkG;AAClG,eAAO,MAAM,6BAA6B,GAAI,MAAM;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAQD,CAAC;AAwB5D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBhC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,cAAc;;;;;EAS+C,CAAC"}
1
+ {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAQ,OAAO,EAAoB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoJxC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;EAUhC,CAAC;AAEF,0GAA0G;AAC1G,eAAO,MAAM,cAAc;;;;;;EAU+C,CAAC"}
@@ -1,9 +1,14 @@
1
- import { Args, Command, Options } from "@effect/cli";
2
- import { Data, Effect, Option } from "effect";
3
- import {} from "@moltzap/protocol";
4
- import { LocalServiceCommands, request, requestLocalService, resolveParticipant, } from "../socket-client.js";
1
+ /**
2
+ * D3 cutover: only `history` survives; legacy list/create/archive/etc.
3
+ * subcommands ship in the D3 ADD slice once typed `Task*` CLI helpers
4
+ * land at the transport boundary.
5
+ */
6
+ import { Args, Command, HelpDoc, Options } from "@effect/cli";
7
+ import { Effect, Option } from "effect";
8
+ import { Value } from "@sinclair/typebox/value";
9
+ import { ConversationId, TaskId } from "@moltzap/protocol/task";
10
+ import { LocalServiceCommands, requestLocalService } from "../socket-client.js";
5
11
  const jsonOption = Options.boolean("json").pipe(Options.withDescription("Output as JSON"));
6
- const DEFAULT_LIST_LIMIT = 20;
7
12
  const DEFAULT_HISTORY_LIMIT = 50;
8
13
  const JSON_INDENT_SPACES = 2;
9
14
  const MILLISECONDS_PER_MINUTE = 60_000;
@@ -11,114 +16,14 @@ const wrap = (effect, onSuccess) => effect.pipe(Effect.tap((value) => Effect.syn
11
16
  console.error(`Failed: ${err.message}`);
12
17
  process.exit(1);
13
18
  })));
14
- const limitOption = Options.integer("limit").pipe(Options.withDefault(DEFAULT_LIST_LIMIT), Options.withDescription("Max conversations to list"));
15
- const listConversations = Command.make("list", { limit: limitOption, json: jsonOption }, ({ limit, json }) => wrap(request(ConversationsList, { limit }), (r) => {
16
- if (json) {
17
- console.log(JSON.stringify(r.conversations, null, JSON_INDENT_SPACES));
18
- return;
19
- }
20
- if (r.conversations.length === 0) {
21
- console.log("No conversations.");
22
- return;
23
- }
24
- for (const c of r.conversations) {
25
- const unread = c.unreadCount > 0 ? ` (${c.unreadCount} unread)` : "";
26
- const name = c.name ?? c.type;
27
- console.log(` ${c.id} ${name}${unread}`);
28
- if (c.lastMessagePreview) {
29
- console.log(` Last: ${c.lastMessagePreview}`);
30
- }
31
- }
32
- })).pipe(Command.withDescription("List conversations with unread counts"));
33
- const nameArg = Args.text({ name: "name" }).pipe(Args.withDescription("Conversation name"));
34
- const participantArg = Args.text({ name: "participant" }).pipe(Args.withDescription("Participant (e.g. agent:bob)"));
35
- const participantsArg = Args.text({ name: "participant" }).pipe(Args.withDescription("Participants (e.g. agent:bob)"), Args.repeated);
36
- const typeOption = Options.text("type").pipe(Options.withDescription("Conversation type: dm or group"), Options.optional);
37
- function resolveConversationType(type, participantCount) {
38
- if (Option.isNone(type)) {
39
- return Effect.succeed(participantCount === 1 ? "dm" : "group");
40
- }
41
- if (type.value === "dm" || type.value === "group") {
42
- return Effect.succeed(type.value);
43
- }
44
- return Effect.fail(new ConversationsInputError({
45
- message: `invalid conversation type: ${type.value}`,
46
- reason: "type must be dm or group",
47
- }));
48
- }
49
- const createConversation = Command.make("create", { name: nameArg, participants: participantsArg, type: typeOption }, ({ name, participants, type }) => Effect.gen(function* () {
50
- const parsed = yield* Effect.all(participants.map((p) => resolveParticipant(p)));
51
- const convType = yield* resolveConversationType(type, parsed.length);
52
- const result = (yield* request(ConversationsCreate, {
53
- type: convType,
54
- name,
55
- participants: parsed,
56
- }));
57
- console.log(`Conversation created: ${result.conversation.id} (${result.conversation.type})`);
58
- }).pipe(Effect.catchAll((err) => Effect.sync(() => {
59
- console.error(`Failed: ${err.message}`);
60
- process.exit(1);
61
- })))).pipe(Command.withDescription("Create a new conversation"));
62
- const conversationIdArg = Args.text({ name: "conversationId" }).pipe(Args.withDescription("Conversation ID"));
63
- const leaveConversation = Command.make("leave", { conversationId: conversationIdArg }, ({ conversationId: rawConversationId }) => wrap(request(ConversationsLeave, {
64
- conversationId: rawConversationId,
65
- }), () => {
66
- console.log(`Left conversation ${rawConversationId}.`);
67
- })).pipe(Command.withDescription("Leave a conversation"));
68
- const untilOption = Options.text("until").pipe(Options.withDescription("Mute until ISO datetime"), Options.optional);
69
- const muteConversation = Command.make("mute", { conversationId: conversationIdArg, until: untilOption }, ({ conversationId: rawConversationId, until }) => {
70
- const params = Option.isSome(until)
71
- ? {
72
- conversationId: rawConversationId,
73
- until: until.value,
74
- }
75
- : { conversationId: rawConversationId };
76
- return wrap(request(ConversationsMute, params), () => {
77
- console.log(Option.isSome(until)
78
- ? `Conversation ${rawConversationId} muted until ${until.value}.`
79
- : `Conversation ${rawConversationId} muted.`);
80
- });
81
- }).pipe(Command.withDescription("Mute a conversation"));
82
- const unmuteConversation = Command.make("unmute", { conversationId: conversationIdArg }, ({ conversationId: rawConversationId }) => wrap(request(ConversationsUnmute, {
83
- conversationId: rawConversationId,
84
- }), () => {
85
- console.log(`Conversation ${rawConversationId} unmuted.`);
86
- })).pipe(Command.withDescription("Unmute a conversation"));
87
- const nameOption = Options.text("name").pipe(Options.withDescription("New conversation name"));
88
- const updateConversation = Command.make("update", { conversationId: conversationIdArg, name: nameOption }, ({ conversationId: rawConversationId, name }) => wrap(request(ConversationsUpdate, {
89
- conversationId: rawConversationId,
90
- name,
91
- }), () => {
92
- console.log(`Conversation ${rawConversationId} updated.`);
93
- })).pipe(Command.withDescription("Update conversation settings"));
94
- const addParticipantCommand = Command.make("add-participant", { conversationId: conversationIdArg, participant: participantArg }, ({ conversationId: rawConversationId, participant }) => Effect.gen(function* () {
95
- const ref = yield* resolveParticipant(participant);
96
- yield* request(ConversationsAddParticipant, {
97
- conversationId: rawConversationId,
98
- participant: ref,
99
- });
100
- console.log(`Added ${participant} to ${rawConversationId}.`);
101
- }).pipe(Effect.catchAll((err) => Effect.sync(() => {
102
- console.error(`Failed: ${err.message}`);
103
- process.exit(1);
104
- })))).pipe(Command.withDescription("Add a participant to a conversation"));
105
- const removeParticipantCommand = Command.make("remove-participant", { conversationId: conversationIdArg, participant: participantArg }, ({ conversationId: rawConversationId, participant }) => Effect.gen(function* () {
106
- const ref = yield* resolveParticipant(participant);
107
- yield* request(ConversationsRemoveParticipant, {
108
- conversationId: rawConversationId,
109
- participant: ref,
110
- });
111
- console.log(`Removed ${participant} from ${rawConversationId}.`);
112
- }).pipe(Effect.catchAll((err) => Effect.sync(() => {
113
- console.error(`Failed: ${err.message}`);
114
- process.exit(1);
115
- })))).pipe(Command.withDescription("Remove a participant from a conversation"));
116
19
  const historyLimitOption = Options.integer("limit").pipe(Options.withDefault(DEFAULT_HISTORY_LIMIT), Options.withDescription("Max messages to show"));
117
20
  const sessionKeyOption = Options.text("session-key").pipe(Options.withDescription("Session key for cross-conversation context"), Options.optional);
21
+ const taskIdArg = Args.text({ name: "taskId" }).pipe(Args.withDescription("Task ID"), Args.mapTryCatch((raw) => Value.Decode(TaskId, raw), (err) => HelpDoc.p(`invalid taskId: ${String(err)}`)));
22
+ const conversationIdArg = Args.text({ name: "conversationId" }).pipe(Args.withDescription("Conversation ID"), Args.mapTryCatch((raw) => Value.Decode(ConversationId, raw), (err) => HelpDoc.p(`invalid conversationId: ${String(err)}`)));
118
23
  function renderHistoryHeader(conversationId, sessionKey, result) {
119
24
  if (!Option.isSome(sessionKey) || !result.conversationMeta)
120
25
  return;
121
- const label = result.conversationMeta.name ?? result.conversationMeta.type;
26
+ const label = result.conversationMeta.name ?? "conversation";
122
27
  console.log(`Conversation: ${label} (${conversationId}) | ${result.newCount} new`);
123
28
  console.log("");
124
29
  }
@@ -147,79 +52,33 @@ const renderHistory = (conversationId, sessionKey, result, json) => {
147
52
  console.log(" ... more messages available");
148
53
  }
149
54
  };
150
- const historyHandler = ({ conversationId, limit, json, sessionKey, }) => {
55
+ const historyHandler = ({ taskId, conversationId, limit, json, sessionKey, }) => {
151
56
  const params = Option.isSome(sessionKey)
152
- ? { conversationId, limit, sessionKey: sessionKey.value }
153
- : { conversationId, limit };
57
+ ? { taskId, conversationId, limit, sessionKey: sessionKey.value }
58
+ : { taskId, conversationId, limit };
154
59
  return wrap(requestLocalService(LocalServiceCommands.History, params), (result) => {
155
60
  renderHistory(conversationId, sessionKey, result, json);
156
61
  });
157
62
  };
158
63
  const historySubcommand = Command.make("history", {
64
+ taskId: taskIdArg,
159
65
  conversationId: conversationIdArg,
160
66
  limit: historyLimitOption,
161
67
  json: jsonOption,
162
68
  sessionKey: sessionKeyOption,
163
69
  }, historyHandler).pipe(Command.withDescription("Show message history for a conversation"));
164
- // ─── ARCH sbd#185: v2 subcommands (get / archive / unarchive) ──────────────
165
- import { rpc as transportRpc, runHandler as runConversationsHandler, } from "../transport.js";
166
- import { ConversationsAddParticipant, ConversationsArchive, ConversationsCreate, ConversationsGet, ConversationsLeave, ConversationsList, ConversationsMute, ConversationsRemoveParticipant, ConversationsUnarchive, ConversationsUnmute, ConversationsUpdate, } from "@moltzap/protocol";
167
- /** CLI-level input was rejected (architect stage: signature only). */
168
- class ConversationsInputError extends Data.TaggedError("ConversationsInputError") {
169
- }
170
- /** `moltzap conversations get &lt;id>` → conversations/get; prints { conversation, participants }. */
171
- export const conversationsGetHandler = (args) => Effect.gen(function* () {
172
- const result = yield* transportRpc(ConversationsGet, {
173
- conversationId: args.conversationId,
174
- });
175
- yield* Effect.sync(() => {
176
- console.log(JSON.stringify(result, null, JSON_INDENT_SPACES));
177
- });
178
- }).pipe(Effect.withSpan("conversationsGetHandler"));
179
- /** `moltzap conversations archive &lt;id>` → conversations/archive; prints success marker. */
180
- export const conversationsArchiveHandler = (args) => Effect.gen(function* () {
181
- yield* transportRpc(ConversationsArchive, {
182
- conversationId: args.conversationId,
183
- });
184
- yield* Effect.sync(() => {
185
- console.log(`archived: ${args.conversationId}`);
186
- });
187
- }).pipe(Effect.withSpan("conversationsArchiveHandler"));
188
- /** `moltzap conversations unarchive &lt;id>` → conversations/unarchive; prints success marker. */
189
- export const conversationsUnarchiveHandler = (args) => Effect.gen(function* () {
190
- yield* transportRpc(ConversationsUnarchive, {
191
- conversationId: args.conversationId,
192
- });
193
- yield* Effect.sync(() => {
194
- console.log(`unarchived: ${args.conversationId}`);
195
- });
196
- }).pipe(Effect.withSpan("conversationsUnarchiveHandler"));
197
- // ── Command.make wrappers for the three v2 handlers ───────────────────────
198
- const getConversationCommand = Command.make("get", { conversationId: conversationIdArg }, ({ conversationId }) => runConversationsHandler(conversationsGetHandler({ conversationId }))).pipe(Command.withDescription("Get a conversation and its participants"));
199
- const archiveConversationCommand = Command.make("archive", { conversationId: conversationIdArg }, ({ conversationId }) => runConversationsHandler(conversationsArchiveHandler({ conversationId }))).pipe(Command.withDescription("Archive a conversation"));
200
- const unarchiveConversationCommand = Command.make("unarchive", { conversationId: conversationIdArg }, ({ conversationId }) => runConversationsHandler(conversationsUnarchiveHandler({ conversationId }))).pipe(Command.withDescription("Unarchive a conversation"));
201
70
  /**
202
- * `moltzap conversations [list|create|leave|mute|unmute|update|add-participant|remove-participant|history|get|archive|unarchive]`
203
- * — conversation CRUD + inspection over the local Unix socket. Default (no
204
- * subcommand) lists. The `get`, `archive`, `unarchive` subcommands are
205
- * wired by impl-staff against the handlers above (sbd#185).
71
+ * `moltzap conversations [history]` — the legacy CRUD subcommands
72
+ * retire with the `Conversations*` wire surface; restructure to
73
+ * `Task*` / `TaskConversation*` ships in the D3 ADD slice.
206
74
  */
207
- export const conversationsCommand = Command.make("conversations", {}, () => listConversations.handler({ limit: DEFAULT_LIST_LIMIT, json: false })).pipe(Command.withDescription("Manage conversations"), Command.withSubcommands([
208
- listConversations,
209
- createConversation,
210
- leaveConversation,
211
- muteConversation,
212
- unmuteConversation,
213
- updateConversation,
214
- addParticipantCommand,
215
- removeParticipantCommand,
216
- historySubcommand,
217
- getConversationCommand,
218
- archiveConversationCommand,
219
- unarchiveConversationCommand,
220
- ]));
221
- /** Top-level `moltzap history &lt;conversationId>` — identical to `conversations history`. */
75
+ export const conversationsCommand = Command.make("conversations", {}, () => Effect.sync(() => {
76
+ console.log("moltzap conversations: only `history` is supported in this release.");
77
+ console.log("See `moltzap conversations history --help`.");
78
+ })).pipe(Command.withDescription("Show conversation history"), Command.withSubcommands([historySubcommand]));
79
+ /** Top-level `moltzap history &lt;taskId> &lt;conversationId>` — identical to `conversations history`. */
222
80
  export const historyCommand = Command.make("history", {
81
+ taskId: taskIdArg,
223
82
  conversationId: conversationIdArg,
224
83
  limit: historyLimitOption,
225
84
  json: jsonOption,
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@
17
17
  import { Command } from "@effect/cli";
18
18
  import { Effect, Option } from "effect";
19
19
  import { type Transport, type TransportError } from "../transport.js";
20
+ import { ConversationId, TaskId } from "@moltzap/protocol/task";
20
21
  export type MessagesCommandError = TransportError | MessagesInputError;
21
22
  declare const MessagesInputError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
22
23
  readonly _tag: "MessagesInputError";
@@ -32,7 +33,8 @@ declare class MessagesInputError extends MessagesInputError_base<{
32
33
  * question is resolved.
33
34
  */
34
35
  export interface MessagesListArgs {
35
- readonly conversationId: string;
36
+ readonly taskId: TaskId;
37
+ readonly conversationId: ConversationId;
36
38
  readonly limit?: number;
37
39
  }
38
40
  /**
@@ -48,7 +50,8 @@ export declare const messagesListHandler: (args: MessagesListArgs) => Effect.Eff
48
50
  /** `moltzap messages [list]` subcommand group. */
49
51
  export declare const messagesCommand: Command.Command<"messages", Transport, never, {
50
52
  readonly subcommand: Option.Option<{
51
- readonly conversation: string;
53
+ readonly task: string & import("effect/Brand").Brand<"TaskId">;
54
+ readonly conversation: string & import("effect/Brand").Brand<"ConversationId">;
52
55
  readonly limit: Option.Option<number>;
53
56
  }>;
54
57
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAOzB,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,kBAAkB,CAAC;;;;AAEvE,cAAM,kBAAmB,SAAQ,wBAAuC;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;CAAG;AAIL;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,CAuBL,CAAC;AAqBlD,kDAAkD;AAClD,eAAO,MAAM,eAAe;;;;;EAW3B,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,OAAO,EAAoB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKhE,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,kBAAkB,CAAC;;;;AAEvE,cAAM,kBAAmB,SAAQ,wBAAuC;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;CAAG;AAIL;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,CAwBL,CAAC;AAiClD,kDAAkD;AAClD,eAAO,MAAM,eAAe;;;;;;EAa3B,CAAC"}
@@ -14,10 +14,12 @@
14
14
  * backing in the current protocol; ESCALATED to spec rev 4. The flag is
15
15
  * deliberately absent from this interface until resolved.
16
16
  */
17
- import { Command, Options } from "@effect/cli";
17
+ import { Command, HelpDoc, Options } from "@effect/cli";
18
18
  import { Data, Effect, Option } from "effect";
19
19
  import { rpc, runHandler, } from "../transport.js";
20
20
  import { MessagesList } from "@moltzap/protocol";
21
+ import { ConversationId, TaskId } from "@moltzap/protocol/task";
22
+ import { Value } from "@sinclair/typebox/value";
21
23
  class MessagesInputError extends Data.TaggedError("MessagesInputError") {
22
24
  }
23
25
  // ─── Handlers ──────────────────────────────────────────────────────────────
@@ -32,8 +34,9 @@ class MessagesInputError extends Data.TaggedError("MessagesInputError") {
32
34
  */
33
35
  export const messagesListHandler = (args) => Effect.gen(function* () {
34
36
  const params = args.limit === undefined
35
- ? { conversationId: args.conversationId }
37
+ ? { taskId: args.taskId, conversationId: args.conversationId }
36
38
  : {
39
+ taskId: args.taskId,
37
40
  conversationId: args.conversationId,
38
41
  limit: args.limit,
39
42
  };
@@ -52,10 +55,12 @@ export const messagesListHandler = (args) => Effect.gen(function* () {
52
55
  });
53
56
  }).pipe(Effect.withSpan("messagesListHandler"));
54
57
  // ─── CLI commands ──────────────────────────────────────────────────────────
55
- const conversationOption = Options.text("conversation").pipe(Options.withDescription("Conversation id"));
58
+ const taskOption = Options.text("task").pipe(Options.withDescription("Task id"), Options.mapTryCatch((raw) => Value.Decode(TaskId, raw), (err) => HelpDoc.p(`invalid --task: ${String(err)}`)));
59
+ const conversationOption = Options.text("conversation").pipe(Options.withDescription("Conversation id"), Options.mapTryCatch((raw) => Value.Decode(ConversationId, raw), (err) => HelpDoc.p(`invalid --conversation: ${String(err)}`)));
56
60
  const msgLimitOption = Options.integer("limit").pipe(Options.optional);
57
- const messagesListCommand = Command.make("list", { conversation: conversationOption, limit: msgLimitOption }, ({ conversation, limit }) => {
61
+ const messagesListCommand = Command.make("list", { task: taskOption, conversation: conversationOption, limit: msgLimitOption }, ({ task, conversation, limit }) => {
58
62
  const args = {
63
+ taskId: task,
59
64
  conversationId: conversation,
60
65
  ...(Option.isSome(limit) ? { limit: limit.value } : {}),
61
66
  };
@@ -63,7 +68,7 @@ const messagesListCommand = Command.make("list", { conversation: conversationOpt
63
68
  }).pipe(Command.withDescription("List messages in a conversation"));
64
69
  /** `moltzap messages [list]` subcommand group. */
65
70
  export const messagesCommand = Command.make("messages", {}, () => Effect.sync(() => {
66
- console.log("Usage: moltzap messages list --conversation <id> [--limit N]");
71
+ console.log("Usage: moltzap messages list --task <id> --conversation <id> [--limit N]");
67
72
  })).pipe(Command.withDescription("Query message history. Runs as the identity selected by the global " +
68
73
  "--as / --profile flags (see `moltzap --help`); visibility is scoped " +
69
74
  "to conversations that caller participates in."), Command.withSubcommands([messagesListCommand]));
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/cli/commands/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/cli/commands/messages.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,10 @@ import { messagesListHandler } from "./messages.js";
9
9
  import { Transport } from "../transport.js";
10
10
  import { makeFakeTransport } from "./test-transport.js";
11
11
  import { MessagesList } from "@moltzap/protocol";
12
+ import { conversationId as makeConversationId, taskId as makeTaskId, } from "@moltzap/protocol/testing";
12
13
  const it = effectIt.effect;
13
- const CONVERSATION_ID = "00000000-0000-4000-8000-00000000000c";
14
+ const TASK_ID = makeTaskId("00000000-0000-4000-8000-00000000001a");
15
+ const CONVERSATION_ID = makeConversationId("00000000-0000-4000-8000-00000000000c");
14
16
  const FIRST_MESSAGE_ID = "00000000-0000-4000-8000-00000000000a";
15
17
  const SECOND_MESSAGE_ID = "00000000-0000-4000-8000-00000000000b";
16
18
  const SENDER_A = "00000000-0000-4000-8000-0000000000a1";
@@ -46,6 +48,7 @@ function transportFailure() {
46
48
  }
47
49
  function runMessagesList(transport, limit) {
48
50
  return messagesListHandler({
51
+ taskId: TASK_ID,
49
52
  conversationId: CONVERSATION_ID,
50
53
  ...(limit !== undefined ? { limit } : {}),
51
54
  }).pipe(Effect.provideService(Transport, transport));
@@ -66,6 +69,7 @@ describe("messages list", () => {
66
69
  expect(calls[0]).toEqual({
67
70
  method: MessagesList.name,
68
71
  params: {
72
+ taskId: TASK_ID,
69
73
  conversationId: CONVERSATION_ID,
70
74
  limit: DEFAULT_LIMIT,
71
75
  },
@@ -82,6 +86,7 @@ describe("messages list", () => {
82
86
  const { calls, transport } = makeFakeTransport(emptyMessagesList);
83
87
  yield* runMessagesList(transport);
84
88
  expect(calls[0]?.params).toEqual({
89
+ taskId: TASK_ID,
85
90
  conversationId: CONVERSATION_ID,
86
91
  });
87
92
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"messages.test.js","sourceRoot":"","sources":["../../../src/cli/commands/messages.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.test.js","sourceRoot":"","sources":["../../../src/cli/commands/messages.test.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,12 @@
1
1
  import { Command } from "@effect/cli";
2
2
  import { Option } from "effect";
3
- /**
4
- * `moltzap send &lt;target> &lt;message> [--reply-to &lt;id>]` — socket-call into
5
- * the local MoltZapService to enqueue an outbound message. `conv:` prefix
6
- * addresses a conversation id directly; otherwise `target` is passed as a
7
- * string the service resolves (typically `agent:&lt;name>` for direct messages
8
- * or a bare contact name the service resolves against the caller's roster).
9
- *
10
- * Identity selection is driven by the parent `@effect/cli` options wired in
11
- * `cli/index.ts`:
12
- *
13
- * --as &lt;apiKey> Send as the agent owning the given API key.
14
- * Bypasses the local daemon socket; dials the server
15
- * directly. Useful in multi-agent workflows where
16
- * the same host registers more than one agent.
17
- * --profile &lt;name> Load the named profile from ~/.moltzap/config.json
18
- * and send as that agent. Short for looking up the
19
- * apiKey out of the profile and passing it as --as.
20
- *
21
- * If neither is provided, the command uses the legacy default profile
22
- * (top-level apiKey in ~/.moltzap/config.json) — the identity set by the
23
- * most recent `moltzap register` that did not use `--profile` or
24
- * `--no-persist`.
25
- *
26
- * Examples:
27
- * moltzap send agent:bob "hello" # default identity
28
- * moltzap --profile alice send agent:bob "hello" # send as alice
29
- * moltzap --as $BOB_API_KEY send conv:$CID "ack" # send as bob
30
- *
31
- * NOTE: `moltzap send` today routes through the local channel daemon and
32
- * does NOT yet honor `--as`/`--profile` end-to-end — rewiring legacy
33
- * commands onto the v2 Transport layer is tracked as a follow-up (see the
34
- * PR body "Concerns" block). The flag semantics documented above describe
35
- * the v2 contract; new v2 subcommands (`apps/*`, `messages list`,
36
- * `conversations {get,archive,unarchive}`) honor them today.
37
- */
3
+ import { ConversationId, TaskId } from "@moltzap/protocol/task";
38
4
  export declare const sendCommand: Command.Command<"send", never, never, {
39
- readonly target: string;
5
+ readonly target: {
6
+ taskId: TaskId;
7
+ conversationId: ConversationId;
8
+ };
40
9
  readonly message: string;
41
- readonly replyTo: Option.Option<string>;
10
+ readonly replyTo: Option.Option<string & import("effect/Brand").Brand<"MessageId">>;
42
11
  }>;
43
12
  //# sourceMappingURL=send.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAW,MAAM,aAAa,CAAC;AACrD,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAqBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,WAAW;;;;EAwDvB,CAAC"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAoB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAK9C,OAAO,EAAE,cAAc,EAAa,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAoD3E,eAAO,MAAM,WAAW;;gBArCH,MAAM;wBAAkB,cAAc;;;;EAsE1D,CAAC"}