@wirecat/max-cli 0.50.0 → 0.52.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 (219) hide show
  1. package/README.md +9 -9
  2. package/dist/adapter/max-adapter.d.ts.map +1 -1
  3. package/dist/adapter/max-adapter.js +8 -4
  4. package/dist/adapter/max-adapter.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +2 -0
  7. package/dist/app.js.map +1 -1
  8. package/dist/bot/adapter.d.ts.map +1 -1
  9. package/dist/bot/adapter.js +3 -2
  10. package/dist/bot/adapter.js.map +1 -1
  11. package/dist/bot/mcp-tools.d.ts.map +1 -1
  12. package/dist/bot/mcp-tools.js +3 -3
  13. package/dist/bot/mcp-tools.js.map +1 -1
  14. package/dist/bot/transport.d.ts.map +1 -1
  15. package/dist/bot/transport.js +8 -3
  16. package/dist/bot/transport.js.map +1 -1
  17. package/dist/bot/uploads.d.ts +2 -2
  18. package/dist/bot/uploads.d.ts.map +1 -1
  19. package/dist/bot/uploads.js +3 -3
  20. package/dist/bot/uploads.js.map +1 -1
  21. package/dist/client/account.d.ts +39 -0
  22. package/dist/client/account.d.ts.map +1 -0
  23. package/dist/client/account.js +92 -0
  24. package/dist/client/account.js.map +1 -0
  25. package/dist/client/chat-members.d.ts +27 -0
  26. package/dist/client/chat-members.d.ts.map +1 -0
  27. package/dist/client/chat-members.js +73 -0
  28. package/dist/client/chat-members.js.map +1 -0
  29. package/dist/client/chat-reads.d.ts +57 -0
  30. package/dist/client/chat-reads.d.ts.map +1 -0
  31. package/dist/client/chat-reads.js +160 -0
  32. package/dist/client/chat-reads.js.map +1 -0
  33. package/dist/client/chat-writes.d.ts +111 -0
  34. package/dist/client/chat-writes.d.ts.map +1 -0
  35. package/dist/client/chat-writes.js +240 -0
  36. package/dist/client/chat-writes.js.map +1 -0
  37. package/dist/client/contacts.d.ts +39 -0
  38. package/dist/client/contacts.d.ts.map +1 -0
  39. package/dist/client/contacts.js +93 -0
  40. package/dist/client/contacts.js.map +1 -0
  41. package/dist/client/delivery.d.ts +35 -0
  42. package/dist/client/delivery.d.ts.map +1 -0
  43. package/dist/client/delivery.js +62 -0
  44. package/dist/client/delivery.js.map +1 -0
  45. package/dist/client/folders.d.ts +20 -0
  46. package/dist/client/folders.d.ts.map +1 -0
  47. package/dist/client/folders.js +57 -0
  48. package/dist/client/folders.js.map +1 -0
  49. package/dist/client/history.d.ts +41 -0
  50. package/dist/client/history.d.ts.map +1 -0
  51. package/dist/client/history.js +111 -0
  52. package/dist/client/history.js.map +1 -0
  53. package/dist/client/live.d.ts +38 -0
  54. package/dist/client/live.d.ts.map +1 -0
  55. package/dist/client/live.js +182 -0
  56. package/dist/client/live.js.map +1 -0
  57. package/dist/client/login.d.ts +11 -0
  58. package/dist/client/login.d.ts.map +1 -0
  59. package/dist/client/login.js +8 -0
  60. package/dist/client/login.js.map +1 -0
  61. package/dist/client/message-reads.d.ts +53 -0
  62. package/dist/client/message-reads.d.ts.map +1 -0
  63. package/dist/client/message-reads.js +164 -0
  64. package/dist/client/message-reads.js.map +1 -0
  65. package/dist/client/message-writes.d.ts +84 -0
  66. package/dist/client/message-writes.d.ts.map +1 -0
  67. package/dist/client/message-writes.js +254 -0
  68. package/dist/client/message-writes.js.map +1 -0
  69. package/dist/client/people.d.ts +31 -0
  70. package/dist/client/people.d.ts.map +1 -0
  71. package/dist/client/people.js +130 -0
  72. package/dist/client/people.js.map +1 -0
  73. package/dist/client/polls.d.ts +53 -0
  74. package/dist/client/polls.d.ts.map +1 -0
  75. package/dist/client/polls.js +141 -0
  76. package/dist/client/polls.js.map +1 -0
  77. package/dist/client/read-policy.d.ts +2 -0
  78. package/dist/client/read-policy.d.ts.map +1 -0
  79. package/dist/client/read-policy.js +34 -0
  80. package/dist/client/read-policy.js.map +1 -0
  81. package/dist/client/request.d.ts +21 -0
  82. package/dist/client/request.d.ts.map +1 -0
  83. package/dist/client/request.js +69 -0
  84. package/dist/client/request.js.map +1 -0
  85. package/dist/client/session.d.ts +50 -0
  86. package/dist/client/session.d.ts.map +1 -0
  87. package/dist/client/session.js +293 -0
  88. package/dist/client/session.js.map +1 -0
  89. package/dist/client/stickers.d.ts +12 -0
  90. package/dist/client/stickers.d.ts.map +1 -0
  91. package/dist/client/stickers.js +29 -0
  92. package/dist/client/stickers.js.map +1 -0
  93. package/dist/client/types.d.ts +54 -0
  94. package/dist/client/types.d.ts.map +1 -0
  95. package/dist/client/types.js +2 -0
  96. package/dist/client/types.js.map +1 -0
  97. package/dist/client/upload-transport.d.ts +15 -0
  98. package/dist/client/upload-transport.d.ts.map +1 -0
  99. package/dist/client/upload-transport.js +49 -0
  100. package/dist/client/upload-transport.js.map +1 -0
  101. package/dist/client/uploads.d.ts +15 -0
  102. package/dist/client/uploads.d.ts.map +1 -0
  103. package/dist/client/uploads.js +25 -0
  104. package/dist/client/uploads.js.map +1 -0
  105. package/dist/client/values.d.ts +120 -0
  106. package/dist/client/values.d.ts.map +1 -0
  107. package/dist/client/values.js +186 -0
  108. package/dist/client/values.js.map +1 -0
  109. package/dist/client/writes.d.ts +40 -0
  110. package/dist/client/writes.d.ts.map +1 -0
  111. package/dist/client/writes.js +186 -0
  112. package/dist/client/writes.js.map +1 -0
  113. package/dist/client.d.ts +29 -644
  114. package/dist/client.d.ts.map +1 -1
  115. package/dist/client.js +267 -2828
  116. package/dist/client.js.map +1 -1
  117. package/dist/commands/bot-comments.d.ts.map +1 -1
  118. package/dist/commands/bot-comments.js +13 -13
  119. package/dist/commands/bot-comments.js.map +1 -1
  120. package/dist/commands/bot-context.d.ts.map +1 -1
  121. package/dist/commands/bot-context.js +11 -3
  122. package/dist/commands/bot-context.js.map +1 -1
  123. package/dist/commands/bot-members.d.ts.map +1 -1
  124. package/dist/commands/bot-members.js +25 -14
  125. package/dist/commands/bot-members.js.map +1 -1
  126. package/dist/commands/bot-messenger.d.ts +5 -2
  127. package/dist/commands/bot-messenger.d.ts.map +1 -1
  128. package/dist/commands/bot-messenger.js +7 -11
  129. package/dist/commands/bot-messenger.js.map +1 -1
  130. package/dist/commands/bot-setup.d.ts.map +1 -1
  131. package/dist/commands/bot-setup.js +3 -2
  132. package/dist/commands/bot-setup.js.map +1 -1
  133. package/dist/commands/bot.d.ts +2 -1
  134. package/dist/commands/bot.d.ts.map +1 -1
  135. package/dist/commands/bot.js +6 -6
  136. package/dist/commands/bot.js.map +1 -1
  137. package/dist/commands/config.d.ts.map +1 -1
  138. package/dist/commands/config.js +33 -33
  139. package/dist/commands/config.js.map +1 -1
  140. package/dist/commands/contacts.d.ts.map +1 -1
  141. package/dist/commands/contacts.js +4 -5
  142. package/dist/commands/contacts.js.map +1 -1
  143. package/dist/commands/doctor.d.ts.map +1 -1
  144. package/dist/commands/doctor.js +10 -9
  145. package/dist/commands/doctor.js.map +1 -1
  146. package/dist/commands/mcp.d.ts.map +1 -1
  147. package/dist/commands/mcp.js +13 -13
  148. package/dist/commands/mcp.js.map +1 -1
  149. package/dist/commands/messages.d.ts.map +1 -1
  150. package/dist/commands/messages.js +12 -4
  151. package/dist/commands/messages.js.map +1 -1
  152. package/dist/commands/paging.d.ts +0 -36
  153. package/dist/commands/paging.d.ts.map +1 -1
  154. package/dist/commands/paging.js +0 -50
  155. package/dist/commands/paging.js.map +1 -1
  156. package/dist/commands/recipients.d.ts.map +1 -1
  157. package/dist/commands/recipients.js +15 -14
  158. package/dist/commands/recipients.js.map +1 -1
  159. package/dist/commands/serve.d.ts.map +1 -1
  160. package/dist/commands/serve.js +14 -4
  161. package/dist/commands/serve.js.map +1 -1
  162. package/dist/commands/session.d.ts.map +1 -1
  163. package/dist/commands/session.js +8 -7
  164. package/dist/commands/session.js.map +1 -1
  165. package/dist/commands/setup.js +2 -2
  166. package/dist/commands/setup.js.map +1 -1
  167. package/dist/commands/watch.d.ts +4 -2
  168. package/dist/commands/watch.d.ts.map +1 -1
  169. package/dist/commands/watch.js +21 -5
  170. package/dist/commands/watch.js.map +1 -1
  171. package/dist/config.d.ts +843 -143
  172. package/dist/config.d.ts.map +1 -1
  173. package/dist/config.js +33 -33
  174. package/dist/config.js.map +1 -1
  175. package/dist/mcp/legacy-check.d.ts.map +1 -1
  176. package/dist/mcp/legacy-check.js +5 -3
  177. package/dist/mcp/legacy-check.js.map +1 -1
  178. package/dist/mcp/photo.d.ts.map +1 -1
  179. package/dist/mcp/photo.js +2 -2
  180. package/dist/mcp/photo.js.map +1 -1
  181. package/dist/mcp/prompts.d.ts.map +1 -1
  182. package/dist/mcp/prompts.js +10 -8
  183. package/dist/mcp/prompts.js.map +1 -1
  184. package/dist/mcp/tools.d.ts.map +1 -1
  185. package/dist/mcp/tools.js +36 -27
  186. package/dist/mcp/tools.js.map +1 -1
  187. package/dist/messenger.d.ts.map +1 -1
  188. package/dist/messenger.js +11 -1
  189. package/dist/messenger.js.map +1 -1
  190. package/dist/permissions.d.ts.map +1 -1
  191. package/dist/permissions.js +4 -1
  192. package/dist/permissions.js.map +1 -1
  193. package/dist/program.d.ts.map +1 -1
  194. package/dist/program.js +7 -3
  195. package/dist/program.js.map +1 -1
  196. package/dist/protocol/connection.d.ts.map +1 -1
  197. package/dist/protocol/connection.js +44 -12
  198. package/dist/protocol/connection.js.map +1 -1
  199. package/dist/sends.d.ts +1 -1
  200. package/dist/sends.js +1 -1
  201. package/dist/server/server.d.ts +3 -1
  202. package/dist/server/server.d.ts.map +1 -1
  203. package/dist/server/server.js +39 -21
  204. package/dist/server/server.js.map +1 -1
  205. package/dist/server/subscribe.d.ts.map +1 -1
  206. package/dist/server/subscribe.js +30 -4
  207. package/dist/server/subscribe.js.map +1 -1
  208. package/dist/server/subscribers.d.ts +18 -0
  209. package/dist/server/subscribers.d.ts.map +1 -0
  210. package/dist/server/subscribers.js +146 -0
  211. package/dist/server/subscribers.js.map +1 -0
  212. package/dist/upload.d.ts +6 -5
  213. package/dist/upload.d.ts.map +1 -1
  214. package/dist/upload.js +16 -11
  215. package/dist/upload.js.map +1 -1
  216. package/dist/version.d.ts +1 -1
  217. package/dist/version.js +1 -1
  218. package/package.json +3 -3
  219. package/skills/max-cli/SKILL.md +79 -59
@@ -1,7 +1,7 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
3
  import { installerOf } from "@wirecat/cli-base/update";
4
- import { httpTokenFile, revokeAll } from "@wirecat/cli-core/cli";
4
+ import { httpTokenFile, itemOf, LOCAL_READ, LOCAL_WRITE, REMOTE_WRITE, renderAnswer, revokeAll, snakeKeys, } from "@wirecat/cli-core/cli";
5
5
  import { Command } from "commander";
6
6
  import { MAX_APP } from "../app.js";
7
7
  import { ownScript } from "../install.js";
@@ -43,7 +43,7 @@ const withFlags = (command) => command
43
43
  .option("--allow-moderate", "deprecated: use permissions.chats.moderate and group rules; does not grant access");
44
44
  const checked = (flags, _mcpTools) => flags;
45
45
  export const mcpCommand = () => {
46
- const command = withFlags(new Command("mcp").description("serve this profile to an agent over MCP, on stdin and stdout — `claude mcp add max -- max mcp`"))
46
+ const command = withFlags(annotate(new Command("mcp"), { effects: REMOTE_WRITE }).description("serve this profile to an agent over MCP, on stdin and stdout — `claude mcp add max -- max mcp`"))
47
47
  .option("--http", "serve over HTTP on 127.0.0.1 for ChatGPT and Claude in the browser, behind your tunnel; the profile's permissions decide")
48
48
  .option("--http-confirmation <mode>", "no longer used — writes show no form; the profile's permissions decide")
49
49
  .option("--port <port>", `the local port for --http (default ${DEFAULT_PORT})`)
@@ -55,7 +55,7 @@ export const mcpCommand = () => {
55
55
  const tokenFile = httpTokenFile(MAX_APP, context.settings.profile, process.env);
56
56
  if (own.revoke) {
57
57
  revokeAll(tokenFile);
58
- context.renderer.result({ revoked: true, profile: context.settings.profile });
58
+ renderAnswer(this, context, itemOf({ revoked: true, profile: context.settings.profile }));
59
59
  return;
60
60
  }
61
61
  const { allowSend, confirmSend, allowMarkRead, allowDelete, allowModerate } = checked(this.opts(), context.settings.mcpTools);
@@ -88,7 +88,7 @@ export const mcpCommand = () => {
88
88
  allowModerate: allowModerate === true,
89
89
  });
90
90
  });
91
- command.addCommand(withFlags(new Command("config").description("print the mcpServers entry for Claude Desktop, Cursor and others, with full paths; writes nothing")).action(async function () {
91
+ command.addCommand(withFlags(annotate(new Command("config"), { effects: LOCAL_READ }).description("print the mcpServers entry for Claude Desktop, Cursor and others, with full paths; writes nothing")).action(async function () {
92
92
  const { renderer, settings, format, streams, run } = forCommand(this);
93
93
  const flags = checked(this.optsWithGlobals(), settings.mcpTools);
94
94
  await run("mcp config", async () => {
@@ -103,18 +103,18 @@ export const mcpCommand = () => {
103
103
  if (format === "pretty")
104
104
  streams.data(JSON.stringify(entry.config, null, 2));
105
105
  else
106
- renderer.result(entry.config);
106
+ renderAnswer(this, { renderer, format, streams }, itemOf({ config: entry.config }));
107
107
  if (entry.warning)
108
108
  renderer.note(entry.warning);
109
109
  });
110
110
  }));
111
- command.addCommand(withFlags(annotate(new Command("setup"), { mutates: true, local: true })
111
+ command.addCommand(withFlags(annotate(new Command("setup"), { effects: LOCAL_WRITE })
112
112
  .description("add this profile's local MCP server to Codex or Claude Code")
113
113
  .argument("<client>", "codex or claude-code")
114
114
  .option("--allow-writes", "acknowledge that this profile offers writing tools")).action(async function (client) {
115
115
  if (client !== "codex" && client !== "claude-code")
116
116
  throw new CliError("validation_error", "choose codex or claude-code");
117
- const { renderer, settings } = forCommand(this);
117
+ const { renderer, settings, format, streams } = forCommand(this);
118
118
  const entry = serverEntry({
119
119
  profile: settings.profile,
120
120
  flags: checked(this.optsWithGlobals(), settings.mcpTools),
@@ -131,14 +131,14 @@ export const mcpCommand = () => {
131
131
  const { potentialWrites } = await probeStdio(configuration);
132
132
  if (potentialWrites.length > 0 && this.opts().allowWrites !== true)
133
133
  throw new Error(`this profile offers ${potentialWrites.length} tools that may write; review its permissions, then pass --allow-writes to install it`);
134
- renderer.result({ ...installStdioEntry(client, name, configuration), potentialWrites: potentialWrites.length });
134
+ renderAnswer(this, { renderer, format, streams }, itemOf(snakeKeys({ ...installStdioEntry(client, name, configuration), potentialWrites: potentialWrites.length })));
135
135
  }
136
136
  catch (error) {
137
137
  throw new CliError("validation_error", error instanceof Error ? error.message : "MCP setup failed");
138
138
  }
139
139
  }));
140
- command.addCommand(withFlags(new Command("doctor").description("check this profile's local MCP handshake and tool list")).action(async function () {
141
- const { renderer, settings } = forCommand(this);
140
+ command.addCommand(withFlags(annotate(new Command("doctor"), { effects: LOCAL_READ }).description("check this profile's local MCP handshake and tool list")).action(async function () {
141
+ const { renderer, settings, format, streams } = forCommand(this);
142
142
  const entry = serverEntry({
143
143
  profile: settings.profile,
144
144
  flags: checked(this.optsWithGlobals(), settings.mcpTools),
@@ -152,12 +152,12 @@ export const mcpCommand = () => {
152
152
  const { probeStdio } = await import("@wirecat/cli-base/mcp");
153
153
  try {
154
154
  const { tools, potentialWrites } = await probeStdio(server);
155
- renderer.result({
155
+ renderAnswer(this, { renderer, format, streams }, itemOf({
156
156
  healthy: true,
157
157
  profile: settings.profile,
158
158
  tools: tools.length,
159
- potentialWrites: potentialWrites.length,
160
- });
159
+ potential_writes: potentialWrites.length,
160
+ }));
161
161
  }
162
162
  catch (error) {
163
163
  throw new CliError("validation_error", error instanceof Error ? error.message : "MCP doctor failed");
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,eAAO,MAAM,eAAe,QAAO,OAiGlC,CAAA"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,eAAO,MAAM,eAAe,QAAO,OA6GlC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
- import { deleteCommand, editCommand, forwardCommand, pinCommand, sendCommand, messagesCommand as sharedMessagesCommand, unpinCommand, } from "@wirecat/cli-core/cli";
2
+ import { annotate } from "@wirecat/cli-base/commands";
3
+ import { deleteCommand, editCommand, forwardCommand, itemOf, pinCommand, REMOTE_READ, renderAnswer, sendCommand, messagesCommand as sharedMessagesCommand, unpinCommand, } from "@wirecat/cli-core/cli";
3
4
  import { Command } from "commander";
4
5
  import { maxMessenger, sharedSubcommand } from "../messenger.js";
5
6
  import { maxRecord } from "../record.js";
@@ -37,8 +38,7 @@ export const messagesCommand = () => {
37
38
  * fetched, the connection closed, and then the model runs — up to a minute for five minutes of
38
39
  * speech, which should not hold a socket open.
39
40
  */
40
- command
41
- .command("transcribe")
41
+ annotate(command.command("transcribe"), { effects: REMOTE_READ })
42
42
  .argument("<chat>", "chat id, or part of a chat name")
43
43
  .argument("<message>", "id of a voice message")
44
44
  .description("turn a voice message into text, on this machine — the recording goes nowhere")
@@ -72,7 +72,15 @@ export const messagesCommand = () => {
72
72
  if (format === "pretty")
73
73
  streams.data(`${transcript.text}\n`);
74
74
  else
75
- renderer.result(transcript);
75
+ renderAnswer(this, { renderer, format, streams }, itemOf({
76
+ message_id: transcript.messageId,
77
+ chat_id: transcript.chatId,
78
+ text: transcript.text,
79
+ pending: false,
80
+ via: "local",
81
+ model: transcript.model,
82
+ cached: transcript.cached,
83
+ }));
76
84
  }
77
85
  finally {
78
86
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,IAAI,qBAAqB,EACxC,YAAY,GACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAY,EAAE;IAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAA;IAEvF,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAA;IAClD,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;QAAE,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAC3G,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAA;IAClE,2BAA2B;IAC3B,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAA;IAE/G,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/E,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;SAClD,MAAM,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;SAChE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,EAA0C,CAAA;QACnF,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,IAAI,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACnF,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,wDAAwD,CAAC,CAAA;QAClG,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IACJ,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC5B,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IACxD,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAEpD;;;;OAIG;IACH,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,CAAC;SACrD,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC9C,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,cAAc,EAAE,0EAA0E,CAAC;SAClG,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,SAAiB;QACpE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAsB,CAAA;QACzD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;QAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC7D,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;QACnC,MAAM,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;YACvC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC/E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC9D,IAAI,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,EAAE;wBAAE,MAAM,aAAa,CAAC,KAAK,CAAC,CAAA;gBAC3D,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE;oBACpE,GAAG,OAAO,CAAC,OAAO;oBAClB,KAAK;oBACL,SAAS;oBACT,MAAM;oBACN,OAAO,EAAE,KAAK,IAAI,EAAE;wBAClB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;wBACpB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAA;oBAChE,CAAC;iBACF,CAAC,CAAA;gBACF,IAAI,MAAM,KAAK,QAAQ;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAA;;oBACxD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;gBACtB,CAAC;wBAAS,CAAC;oBACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CACvF;KACF,CAAC,CAAA;IACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAExB,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IAEzD,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,KAAa,EAAE,QAAQ,GAAa,EAAE,EAAE,EAAE,CAAC;QACnF,GAAG,QAAQ;QACX,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;KAC3C,CAAC,CAAA;IACF,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAA;IAChD,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5C,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9C,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import { type Renderer, type RenderFormat, type Streams } from "@wirecat/cli-base";
2
1
  import type { Command } from "commander";
3
2
  import type { Settings } from "../config.js";
4
- import type { Page } from "../domain/models.js";
5
3
  /** Checked while parsing, so the error can quote what was typed rather than the `NaN` it became. */
6
4
  export declare const wholeNumber: (flag: string) => (value: string) => number;
7
5
  /**
@@ -22,38 +20,4 @@ export declare const window: ({ limit, page, all }: Settings) => {
22
20
  limit?: number;
23
21
  offset: number;
24
22
  };
25
- /**
26
- * A list with no pages — folders, members, runs, everything a bot lists — in the envelope a paged
27
- * one uses (`NEED-358`), so an agent reads one shape. `--jsonl` streams it and a person gets the table.
28
- * `extra` goes beside it: a Bot API list paged by `marker` carries its marker and `hasMore`.
29
- */
30
- export declare const renderList: (renderer: Renderer, format: RenderFormat, items: readonly unknown[], extra?: {
31
- hasMore?: boolean;
32
- } & Record<string, unknown>) => void;
33
- export declare const listed: (items: readonly unknown[]) => {
34
- items: readonly unknown[];
35
- page: number;
36
- limit: number;
37
- hasMore: boolean;
38
- };
39
- /**
40
- * **One shape for every listing**, and the caller never has to work out which one it got.
41
- *
42
- * In the machine modes stdout carries the envelope. For a person it carries the table it always
43
- * did, and the line about there being another page goes to **stderr** as a note — stdout is data
44
- * in every mode, and a pager's hint is not data.
45
- *
46
- * It is a helper each command calls rather than something inside `renderer.result`, because
47
- * `account show` and `session start` are not lists and keep answering a bare object.
48
- */
49
- export declare const renderPage: <T>({ renderer, format, settings, streams, }: {
50
- renderer: Renderer;
51
- format: RenderFormat;
52
- settings: Settings;
53
- streams: Streams;
54
- }, { items, hasMore }: Page<T>, view?: (items: T[]) => string,
55
- /** What to type for the rest, when the listing is not paged by `--page`. */
56
- more?: (items: T[]) => string,
57
- /** Fields beside the page in `--json`. */
58
- extra?: object) => void;
59
23
  //# sourceMappingURL=paging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paging.d.ts","sourceRoot":"","sources":["../../src/commands/paging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,oGAAoG;AACpG,eAAO,MAAM,WAAW,SACf,MAAM,aACL,MAAM,KAAG,MAKhB,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,YAAa,OAAO,KAAG,OAIF,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,yBAA0B,QAAQ,KAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAC3B,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,UAAU,aACX,QAAQ,UACV,YAAY,SACb,SAAS,OAAO,EAAE,UAClB;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACrD,IAGF,CAAA;AAED,eAAO,MAAM,MAAM,UAAW,SAAS,OAAO,EAAE;;;;;CAA8D,CAAA;AAE9G;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,4CAMvB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,sBACjE,IAAI,CAAC,CAAC,CAAC,SACpB,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,MAAM;AAC7B,4EAA4E;OACrE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,MAAM;AAC7B,0CAA0C;QACnC,MAAM,KACZ,IAuBF,CAAA"}
1
+ {"version":3,"file":"paging.d.ts","sourceRoot":"","sources":["../../src/commands/paging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,oGAAoG;AACpG,eAAO,MAAM,WAAW,SACf,MAAM,aACL,MAAM,KAAG,MAKhB,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,YAAa,OAAO,KAAG,OAIF,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,yBAA0B,QAAQ,KAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAC3B,CAAA"}
@@ -24,54 +24,4 @@ export const withPaging = (command) => command
24
24
  * CLI that pages this way has this; it is in `--help` rather than engineered away.
25
25
  */
26
26
  export const window = ({ limit, page, all }) => all ? { offset: 0 } : { limit, offset: (page - 1) * limit };
27
- /**
28
- * A list with no pages — folders, members, runs, everything a bot lists — in the envelope a paged
29
- * one uses (`NEED-358`), so an agent reads one shape. `--jsonl` streams it and a person gets the table.
30
- * `extra` goes beside it: a Bot API list paged by `marker` carries its marker and `hasMore`.
31
- */
32
- export const renderList = (renderer, format, items, extra = {}) => {
33
- if (format === "json")
34
- renderer.result({ ...listed(items), ...extra });
35
- else
36
- renderer.stream(items);
37
- };
38
- export const listed = (items) => ({ items, page: 1, limit: items.length, hasMore: false });
39
- /**
40
- * **One shape for every listing**, and the caller never has to work out which one it got.
41
- *
42
- * In the machine modes stdout carries the envelope. For a person it carries the table it always
43
- * did, and the line about there being another page goes to **stderr** as a note — stdout is data
44
- * in every mode, and a pager's hint is not data.
45
- *
46
- * It is a helper each command calls rather than something inside `renderer.result`, because
47
- * `account show` and `session start` are not lists and keep answering a bare object.
48
- */
49
- export const renderPage = ({ renderer, format, settings, streams, }, { items, hasMore }, view,
50
- /** What to type for the rest, when the listing is not paged by `--page`. */
51
- more,
52
- /** Fields beside the page in `--json`. */
53
- extra = {}) => {
54
- if (format === "jsonl") {
55
- renderer.stream(items);
56
- if (!settings.all && hasMore)
57
- renderer.note(more ? more(items) : `more — \`--page ${settings.page + 1}\` for the next`);
58
- return;
59
- }
60
- if (format !== "pretty") {
61
- renderer.result({
62
- items,
63
- page: settings.all ? 1 : settings.page,
64
- limit: settings.all ? items.length : settings.limit,
65
- hasMore: settings.all ? false : hasMore,
66
- ...extra,
67
- });
68
- return;
69
- }
70
- if (view)
71
- streams.data(view(items));
72
- else
73
- renderer.result(items);
74
- if (!settings.all && hasMore)
75
- renderer.note(more ? more(items) : `page ${settings.page} of more — \`--page ${settings.page + 1}\` for the next`);
76
- };
77
27
  //# sourceMappingURL=paging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../src/commands/paging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../src/commands/paging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAI5C,oGAAoG;AACpG,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,KAAa,EAAU,EAAE;IACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,GAAG,IAAI,8CAA8C,KAAK,GAAG,CAAC,CAAA;IACvG,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAW,EAAE,CACtD,OAAO;KACJ,MAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;KACjE,MAAM,CAAC,YAAY,EAAE,2BAA2B,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;KACxE,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAY,EAAsC,EAAE,CAC3F,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../src/commands/recipients.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAO,OA8DpC,CAAA"}
1
+ {"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../src/commands/recipients.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAmEpC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
+ import { itemOf, LOCAL_READ, LOCAL_WRITE, listOf, renderAnswer, snakeKeys } from "@wirecat/cli-core/cli";
3
4
  import { Command } from "commander";
4
5
  import { recipientListFor } from "../sends.js";
5
6
  import { forCommand } from "./context.js";
6
- import { renderList } from "./paging.js";
7
7
  /**
8
8
  * The chats this profile may send to. Off until the first `add`; `off` turns it off again.
9
9
  *
@@ -12,25 +12,26 @@ import { renderList } from "./paging.js";
12
12
  */
13
13
  export const recipientsCommand = () => {
14
14
  const command = new Command("recipients").description("the chats this profile may send to, when the list is on");
15
- command
16
- .command("list")
15
+ annotate(command.command("list"), { effects: LOCAL_READ })
17
16
  .description("the chats on the list; empty and off until the first add")
18
17
  .action(async function () {
19
- const { settings, renderer, format, run } = forCommand(this);
18
+ const context = forCommand(this);
19
+ const { settings, renderer, run } = context;
20
20
  await run("recipients list", async () => {
21
21
  const chats = recipientListFor(settings.profile).read();
22
- renderList(renderer, format, chats ?? []);
22
+ const items = (chats ?? []).map(snakeKeys);
23
+ renderAnswer(this, context, listOf("recipients list", { items, limit: items.length, has_more: false }));
23
24
  if (!chats)
24
25
  renderer.note("the recipient list is off — this profile may send to any chat");
25
26
  else if (chats.length === 0)
26
27
  renderer.note("the recipient list is on and empty — this profile may send nowhere");
27
28
  });
28
29
  });
29
- annotate(command.command("add"), { mutates: true, local: true })
30
+ annotate(command.command("add"), { effects: LOCAL_WRITE })
30
31
  .argument("<chat>", "chat id, or part of a chat name")
31
32
  .description("allow sending to this chat; the first add turns the list on")
32
33
  .action(async function (chat) {
33
- const { settings, renderer, createClient, run } = forCommand(this);
34
+ const { settings, renderer, format, streams, createClient, run } = forCommand(this);
34
35
  await run("recipients add", async (events) => {
35
36
  const client = createClient({ events });
36
37
  try {
@@ -42,31 +43,31 @@ export const recipientsCommand = () => {
42
43
  ...(partnerId ? { partnerId } : {}),
43
44
  addedAt: new Date().toISOString(),
44
45
  });
45
- renderer.result({ id: found.id, title: found.title, added });
46
+ renderAnswer(this, { renderer, format, streams }, itemOf({ id: found.id, title: found.title, added }));
46
47
  }
47
48
  finally {
48
49
  await client.close();
49
50
  }
50
51
  });
51
52
  });
52
- annotate(command.command("remove"), { mutates: true, local: true })
53
+ annotate(command.command("remove"), { effects: LOCAL_WRITE })
53
54
  .argument("<chat>", "chat id, or the title as the list shows it")
54
55
  .description("stop allowing this chat; the list stays on")
55
56
  .action(async function (chat) {
56
- const { settings, renderer, run } = forCommand(this);
57
+ const { settings, renderer, format, streams, run } = forCommand(this);
57
58
  await run("recipients remove", async () => {
58
59
  const gone = recipientListFor(settings.profile).remove(chat);
59
60
  if (!gone)
60
61
  throw new CliError("not_found", `${chat.trim()} is not on the recipient list of ${settings.profile}`);
61
- renderer.result({ id: gone.id, title: gone.title, removed: true });
62
+ renderAnswer(this, { renderer, format, streams }, itemOf({ id: gone.id, title: gone.title, removed: true }));
62
63
  });
63
64
  });
64
- annotate(command.command("clear"), { mutates: true, local: true })
65
+ annotate(command.command("clear"), { effects: LOCAL_WRITE })
65
66
  .description("empty the list and turn it off: this profile may send to any chat again")
66
67
  .action(async function () {
67
- const { settings, renderer, run } = forCommand(this);
68
+ const { settings, renderer, format, streams, run } = forCommand(this);
68
69
  await run("recipients clear", async () => {
69
- renderer.result({ cleared: true, wasOn: recipientListFor(settings.profile).off() });
70
+ renderAnswer(this, { renderer, format, streams }, itemOf({ off: true, was_on: recipientListFor(settings.profile).off() }));
70
71
  });
71
72
  });
72
73
  return command;
@@ -1 +1 @@
1
- {"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/commands/recipients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/commands/recipients.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAW3C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,QAAO,OA6D1B,CAAA"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAW3C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,QAAO,OA+E1B,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import { writeFileSync } from "node:fs";
2
2
  import { CliError } from "@wirecat/cli-base";
3
+ import { annotate } from "@wirecat/cli-base/commands";
3
4
  import { holdLock, lockPath, releaseLock } from "@wirecat/cli-core/background";
5
+ import { REMOTE_WRITE } from "@wirecat/cli-core/cli";
4
6
  import { Command, Option } from "commander";
5
7
  import { MAX_APP } from "../app.js";
6
8
  import { parseDuration } from "../config.js";
@@ -8,7 +10,7 @@ import { asFirstWord } from "../profile.js";
8
10
  import { MaxServer, refusedLogin } from "../server/server.js";
9
11
  import { refusedPath } from "../server/start.js";
10
12
  import { VERSION } from "../version.js";
11
- import { forCommand } from "./context.js";
13
+ import { environmentOf, forCommand } from "./context.js";
12
14
  import { serveMembers } from "./serve-members.js";
13
15
  import { serveStems } from "./serve-stems.js";
14
16
  /**
@@ -18,12 +20,14 @@ import { serveStems } from "./serve-stems.js";
18
20
  * in the background when none is running** (`serve` setting, `--no-serve` to decline), and that
19
21
  * one is given `--idle`, so it does not outlive the work that started it.
20
22
  */
21
- export const serveCommand = () => new Command("serve")
23
+ export const serveCommand = () => annotate(new Command("serve"), { effects: REMOTE_WRITE })
22
24
  .description("stay connected to MAX and stream new messages to `max watch`, until Ctrl-C")
23
25
  .option("--idle <duration>", "stop after this long with nobody using it — 15m, 1h is 60m")
26
+ .option("--max-subscriber-buffer-bytes <bytes>", "buffer per watcher before disconnecting it; 0 is unlimited")
27
+ .option("--max-subscriber-total-buffer-bytes <bytes>", "combined watcher buffer budget; 0 is unlimited")
24
28
  .addOption(new Option("--started-by-command").hideHelp())
25
29
  .action(async function () {
26
- const { idle, startedByCommand = false } = this.opts();
30
+ const { idle, startedByCommand = false, maxSubscriberBufferBytes, maxSubscriberTotalBufferBytes, } = this.opts();
27
31
  const { renderer, settings, store, run, format, streams, track } = forCommand(this);
28
32
  const idleMs = idle === undefined ? undefined : parseDuration(idle, "--idle");
29
33
  await run("serve", async (events) => {
@@ -32,6 +36,12 @@ export const serveCommand = () => new Command("serve")
32
36
  : streams.diagnostic(JSON.stringify({ time: new Date().toISOString(), note: line }));
33
37
  const server = new MaxServer({
34
38
  store,
39
+ ...(maxSubscriberBufferBytes === undefined
40
+ ? {}
41
+ : { maxSubscriberBufferBytes: Number(maxSubscriberBufferBytes) }),
42
+ ...(maxSubscriberTotalBufferBytes === undefined
43
+ ? {}
44
+ : { maxSubscriberTotalBufferBytes: Number(maxSubscriberTotalBufferBytes) }),
35
45
  members: (client) => serveMembers({ client, store, note }),
36
46
  // Unwatched — a log file, systemd — each line says when, or "connecting again in 60s" means nothing.
37
47
  note,
@@ -51,7 +61,7 @@ export const serveCommand = () => new Command("serve")
51
61
  process.once("SIGINT", stop);
52
62
  process.once("SIGTERM", stop);
53
63
  // Not how max finds its server — the socket is — but what the shared store commands look for.
54
- const lock = lockPath(MAX_APP, store.profile, process.env);
64
+ const lock = lockPath(MAX_APP, store.profile, environmentOf(this).env ?? process.env);
55
65
  const startedAt = new Date().toISOString();
56
66
  const stems = serveStems({ note });
57
67
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAY,EAAE,CACxC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;KACtD,WAAW,CAAC,4EAA4E,CAAC;KACzF,MAAM,CAAC,mBAAmB,EAAE,4DAA4D,CAAC;KACzF,MAAM,CAAC,uCAAuC,EAAE,4DAA4D,CAAC;KAC7G,MAAM,CAAC,6CAA6C,EAAE,gDAAgD,CAAC;KACvG,SAAS,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC;KACxD,MAAM,CAAC,KAAK;IACX,MAAM,EACJ,IAAI,EACJ,gBAAgB,GAAG,KAAK,EACxB,wBAAwB,EACxB,6BAA6B,GAC9B,GAAG,IAAI,CAAC,IAAI,EAKT,CAAA;IACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACnF,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAE7E,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,MAAM,KAAK,QAAQ;YACjB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,KAAK;YACL,GAAG,CAAC,wBAAwB,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,6BAA6B,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,6BAA6B,EAAE,MAAM,CAAC,6BAA6B,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC1D,qGAAqG;YACrG,IAAI;YACJ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,gBAAgB;SACjB,CAAC,CAAA;QACF,KAAK,CAAC;YACJ,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBAC3C,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAAA;gBACrF,MAAM,OAAO,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC7B,8FAA8F;QAC9F,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;QACrF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;YACxG,QAAQ,CAAC,IAAI,CACX,qBAAqB,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,gDAAgD,CACnG,CAAA;YACD,MAAM,MAAM,CAAC,IAAI,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACrF,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAA;YACtF,WAAW,CAAC,IAAI,CAAC,CAAA;YACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC3B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAkB,KAAK,gBAAgB,EAAqB,MAAM,cAAc,CAAA;AAOvF,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,cAAc,CAAA;AAG9D,eAAO,MAAM,YAAY,QAGb,CAAA;AAEZ,eAAO,MAAM,cAAc,QAAO,OA8EjC,CAAA;AAkBD,QAAA,MAAM,OAAO,YAAI,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAU,CAAA;AAC5D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C,eAAO,MAAM,YAAY,YAAmB,cAAc,UAAU,MAAM,UAAU,gBAAgB,CAAC,QAAQ,CAAC;;;;;EA6B7G,CAAA"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAkB,KAAK,gBAAgB,EAAqB,MAAM,cAAc,CAAA;AAOvF,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,cAAc,CAAA;AAG9D,eAAO,MAAM,YAAY,QAGb,CAAA;AAEZ,eAAO,MAAM,cAAc,QAAO,OAkFjC,CAAA;AAkBD,QAAA,MAAM,OAAO,YAAI,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAU,CAAA;AAC5D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C,eAAO,MAAM,YAAY,YAAmB,cAAc,UAAU,MAAM,UAAU,gBAAgB,CAAC,QAAQ,CAAC;;;;;EA6B7G,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { CliError, indent } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
+ import { itemOf, REMOTE_WRITE, renderAnswer, snakeKeys } from "@wirecat/cli-core/cli";
3
4
  import { Argument, Command } from "commander";
4
5
  import { refuseWhilePaused } from "../client.js";
5
6
  import { maskedProfile } from "../domain/map.js";
@@ -30,8 +31,7 @@ export const sessionCommand = () => {
30
31
  *
31
32
  * **A token is never an argument.** argv is read by `ps` and kept by shell history.
32
33
  */
33
- command
34
- .command("start")
34
+ annotate(command.command("start"), { effects: REMOTE_WRITE })
35
35
  .description("log this profile in to MAX")
36
36
  .addHelpText("after", "\nFirst time: run `max personal setup --agent codex` for guided login and agent setup.\n" +
37
37
  "Examples:\n max personal session start qr Scan a QR with MAX on your phone\n" +
@@ -49,7 +49,7 @@ export const sessionCommand = () => {
49
49
  refuseCommandName(context.settings.profile, commandWords(rootOf(this)));
50
50
  await run("session start", async (events) => {
51
51
  const { firstLogin, ...answer } = await startSession(context, method, events);
52
- renderer.result(answer);
52
+ renderAnswer(this, context, itemOf(snakeKeys(answer)));
53
53
  renderer.success(`logged in as ${answer.profile.name ?? answer.profile.id}`);
54
54
  if (firstLogin)
55
55
  renderer.note(TERMS_NOTICE);
@@ -61,13 +61,14 @@ export const sessionCommand = () => {
61
61
  * Ends the session on MAX's side (LOGOUT, opcode 20), then forgets it here, as `tg session end` does
62
62
  * (`NEED-821` A). A token copied from a browser tab is that tab's session, so the tab is logged out too.
63
63
  */
64
- annotate(command.command("end"), { mutates: true })
64
+ annotate(command.command("end"), { effects: REMOTE_WRITE })
65
65
  .description("log this profile out on MAX's side and forget the session here")
66
66
  .action(async function () {
67
- const { renderer, store, run, createClient } = forCommand(this);
67
+ const context = forCommand(this);
68
+ const { renderer, store, run, createClient } = context;
68
69
  await run("session end", async (events) => {
69
70
  if (store.readToken() === undefined) {
70
- renderer.result({ profile: store.profile, forgotten: false, revokedOnServer: false });
71
+ renderAnswer(this, context, itemOf({ profile: store.profile, forgotten: false, revoked_on_server: false }));
71
72
  renderer.note(`there was no session for "${store.profile}"`);
72
73
  return;
73
74
  }
@@ -78,7 +79,7 @@ export const sessionCommand = () => {
78
79
  }
79
80
  const revokedOnServer = await logOut(createClient({ events }));
80
81
  const had = store.forget();
81
- renderer.result({ profile: store.profile, forgotten: had, revokedOnServer });
82
+ renderAnswer(this, context, itemOf({ profile: store.profile, forgotten: had, revoked_on_server: revokedOnServer }));
82
83
  renderer.success(`logged "${store.profile}" out of MAX and forgot the session here`);
83
84
  });
84
85
  });
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}