@leemour/cli-messaging 0.155.0 → 0.157.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 (280) hide show
  1. package/README.md +5 -7
  2. package/dist/analysis/provider.d.ts +1 -1
  3. package/dist/analysis/provider.d.ts.map +1 -1
  4. package/dist/analysis/provider.js +2 -1
  5. package/dist/analysis/provider.js.map +1 -1
  6. package/dist/cli/agent-evaluation.d.ts +25 -0
  7. package/dist/cli/agent-evaluation.d.ts.map +1 -0
  8. package/dist/cli/agent-evaluation.js +42 -0
  9. package/dist/cli/agent-evaluation.js.map +1 -0
  10. package/dist/cli/analysis-choice.js +2 -2
  11. package/dist/cli/analysis-choice.js.map +1 -1
  12. package/dist/cli/bot/mcp.d.ts.map +1 -1
  13. package/dist/cli/bot/mcp.js +4 -12
  14. package/dist/cli/bot/mcp.js.map +1 -1
  15. package/dist/cli/command-contract.d.ts +85 -0
  16. package/dist/cli/command-contract.d.ts.map +1 -0
  17. package/dist/cli/command-contract.js +211 -0
  18. package/dist/cli/command-contract.js.map +1 -0
  19. package/dist/cli/commands-command.d.ts.map +1 -1
  20. package/dist/cli/commands-command.js +44 -28
  21. package/dist/cli/commands-command.js.map +1 -1
  22. package/dist/cli/context.d.ts +2 -0
  23. package/dist/cli/context.d.ts.map +1 -1
  24. package/dist/cli/context.js +10 -3
  25. package/dist/cli/context.js.map +1 -1
  26. package/dist/cli/deadline.js +3 -4
  27. package/dist/cli/deadline.js.map +1 -1
  28. package/dist/cli/embedding-choice.js +2 -2
  29. package/dist/cli/embedding-choice.js.map +1 -1
  30. package/dist/cli/embedding-keys.d.ts +1 -0
  31. package/dist/cli/embedding-keys.d.ts.map +1 -1
  32. package/dist/cli/embedding-keys.js +4 -0
  33. package/dist/cli/embedding-keys.js.map +1 -1
  34. package/dist/cli/execution.d.ts +26 -0
  35. package/dist/cli/execution.d.ts.map +1 -0
  36. package/dist/cli/execution.js +175 -0
  37. package/dist/cli/execution.js.map +1 -0
  38. package/dist/cli/index.d.ts +7 -3
  39. package/dist/cli/index.d.ts.map +1 -1
  40. package/dist/cli/index.js +7 -3
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/input-policy.d.ts +14 -0
  43. package/dist/cli/input-policy.d.ts.map +1 -0
  44. package/dist/cli/input-policy.js +66 -0
  45. package/dist/cli/input-policy.js.map +1 -0
  46. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  47. package/dist/cli/messenger/chats-command.js +0 -2
  48. package/dist/cli/messenger/chats-command.js.map +1 -1
  49. package/dist/cli/messenger/chats-stats-command.js +1 -1
  50. package/dist/cli/messenger/chats-stats-command.js.map +1 -1
  51. package/dist/cli/messenger/context.d.ts.map +1 -1
  52. package/dist/cli/messenger/context.js +9 -9
  53. package/dist/cli/messenger/context.js.map +1 -1
  54. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  55. package/dist/cli/messenger/conversations-command.js +3 -1
  56. package/dist/cli/messenger/conversations-command.js.map +1 -1
  57. package/dist/cli/messenger/mcp-command.d.ts +0 -1
  58. package/dist/cli/messenger/mcp-command.d.ts.map +1 -1
  59. package/dist/cli/messenger/mcp-command.js +15 -19
  60. package/dist/cli/messenger/mcp-command.js.map +1 -1
  61. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  62. package/dist/cli/messenger/messages-command.js +0 -2
  63. package/dist/cli/messenger/messages-command.js.map +1 -1
  64. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  65. package/dist/cli/messenger/messages-search-command.js +7 -3
  66. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  67. package/dist/cli/messenger/messages-stats-command.js +2 -2
  68. package/dist/cli/messenger/messages-stats-command.js.map +1 -1
  69. package/dist/cli/messenger/replies-command.d.ts.map +1 -1
  70. package/dist/cli/messenger/replies-command.js +15 -1
  71. package/dist/cli/messenger/replies-command.js.map +1 -1
  72. package/dist/cli/messenger/replies-consents-command.d.ts +4 -0
  73. package/dist/cli/messenger/replies-consents-command.d.ts.map +1 -0
  74. package/dist/cli/messenger/replies-consents-command.js +57 -0
  75. package/dist/cli/messenger/replies-consents-command.js.map +1 -0
  76. package/dist/cli/messenger/replies-edit-command.d.ts +1 -1
  77. package/dist/cli/messenger/replies-edit-command.d.ts.map +1 -1
  78. package/dist/cli/messenger/replies-edit-command.js +1 -1
  79. package/dist/cli/messenger/replies-edit-command.js.map +1 -1
  80. package/dist/cli/messenger/search-sync-options.d.ts.map +1 -1
  81. package/dist/cli/messenger/search-sync-options.js +2 -0
  82. package/dist/cli/messenger/search-sync-options.js.map +1 -1
  83. package/dist/cli/messenger/searches-command.d.ts +1 -1
  84. package/dist/cli/messenger/searches-command.d.ts.map +1 -1
  85. package/dist/cli/messenger/searches-command.js +3 -3
  86. package/dist/cli/messenger/searches-command.js.map +1 -1
  87. package/dist/cli/messenger/serve-command.d.ts.map +1 -1
  88. package/dist/cli/messenger/serve-command.js +10 -2
  89. package/dist/cli/messenger/serve-command.js.map +1 -1
  90. package/dist/cli/messenger/stats-command.d.ts.map +1 -1
  91. package/dist/cli/messenger/stats-command.js +9 -1
  92. package/dist/cli/messenger/stats-command.js.map +1 -1
  93. package/dist/cli/messenger/stdin.d.ts.map +1 -1
  94. package/dist/cli/messenger/stdin.js +2 -4
  95. package/dist/cli/messenger/stdin.js.map +1 -1
  96. package/dist/cli/messenger/tasks-command.d.ts +1 -0
  97. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  98. package/dist/cli/messenger/tasks-command.js +4 -3
  99. package/dist/cli/messenger/tasks-command.js.map +1 -1
  100. package/dist/cli/permission-migration.d.ts +0 -1
  101. package/dist/cli/permission-migration.d.ts.map +1 -1
  102. package/dist/cli/permission-migration.js +39 -1
  103. package/dist/cli/permission-migration.js.map +1 -1
  104. package/dist/cli/preview.d.ts +35 -0
  105. package/dist/cli/preview.d.ts.map +1 -0
  106. package/dist/cli/preview.js +40 -0
  107. package/dist/cli/preview.js.map +1 -0
  108. package/dist/cli/program.d.ts +1 -1
  109. package/dist/cli/program.d.ts.map +1 -1
  110. package/dist/cli/program.js +171 -26
  111. package/dist/cli/program.js.map +1 -1
  112. package/dist/cli/result-fields.d.ts +3 -0
  113. package/dist/cli/result-fields.d.ts.map +1 -0
  114. package/dist/cli/result-fields.js +55 -0
  115. package/dist/cli/result-fields.js.map +1 -0
  116. package/dist/kit/index.d.ts +1 -0
  117. package/dist/kit/index.d.ts.map +1 -1
  118. package/dist/kit/index.js +1 -0
  119. package/dist/kit/index.js.map +1 -1
  120. package/dist/kit/mcp-commands-client.d.ts +7 -0
  121. package/dist/kit/mcp-commands-client.d.ts.map +1 -0
  122. package/dist/kit/mcp-commands-client.js +50 -0
  123. package/dist/kit/mcp-commands-client.js.map +1 -0
  124. package/dist/mcp/bot/instructions.d.ts +2 -3
  125. package/dist/mcp/bot/instructions.d.ts.map +1 -1
  126. package/dist/mcp/bot/instructions.js +4 -10
  127. package/dist/mcp/bot/instructions.js.map +1 -1
  128. package/dist/mcp/bot/server.d.ts +0 -6
  129. package/dist/mcp/bot/server.d.ts.map +1 -1
  130. package/dist/mcp/bot/server.js +30 -76
  131. package/dist/mcp/bot/server.js.map +1 -1
  132. package/dist/mcp/bot/tools.d.ts +3 -11
  133. package/dist/mcp/bot/tools.d.ts.map +1 -1
  134. package/dist/mcp/bot/tools.js +7 -22
  135. package/dist/mcp/bot/tools.js.map +1 -1
  136. package/dist/mcp/instructions.d.ts +1 -2
  137. package/dist/mcp/instructions.d.ts.map +1 -1
  138. package/dist/mcp/instructions.js +6 -13
  139. package/dist/mcp/instructions.js.map +1 -1
  140. package/dist/mcp/personal.d.ts +1 -1
  141. package/dist/mcp/personal.d.ts.map +1 -1
  142. package/dist/mcp/personal.js +1 -1
  143. package/dist/mcp/personal.js.map +1 -1
  144. package/dist/mcp/prompts.d.ts.map +1 -1
  145. package/dist/mcp/prompts.js +26 -11
  146. package/dist/mcp/prompts.js.map +1 -1
  147. package/dist/mcp/server.d.ts +3 -23
  148. package/dist/mcp/server.d.ts.map +1 -1
  149. package/dist/mcp/server.js +24 -53
  150. package/dist/mcp/server.js.map +1 -1
  151. package/dist/mcp/surface.d.ts +29 -0
  152. package/dist/mcp/surface.d.ts.map +1 -0
  153. package/dist/mcp/surface.js +125 -0
  154. package/dist/mcp/surface.js.map +1 -0
  155. package/dist/mcp/tool.d.ts +19 -24
  156. package/dist/mcp/tool.d.ts.map +1 -1
  157. package/dist/mcp/tool.js +110 -84
  158. package/dist/mcp/tool.js.map +1 -1
  159. package/dist/mcp/tools/admin.d.ts.map +1 -1
  160. package/dist/mcp/tools/admin.js +1 -10
  161. package/dist/mcp/tools/admin.js.map +1 -1
  162. package/dist/mcp/tools/attachments.d.ts.map +1 -1
  163. package/dist/mcp/tools/attachments.js +1 -2
  164. package/dist/mcp/tools/attachments.js.map +1 -1
  165. package/dist/mcp/tools/chats-read.d.ts.map +1 -1
  166. package/dist/mcp/tools/chats-read.js +1 -2
  167. package/dist/mcp/tools/chats-read.js.map +1 -1
  168. package/dist/mcp/tools/chats.js +1 -1
  169. package/dist/mcp/tools/chats.js.map +1 -1
  170. package/dist/mcp/tools/contacts-write.d.ts.map +1 -1
  171. package/dist/mcp/tools/contacts-write.js +1 -4
  172. package/dist/mcp/tools/contacts-write.js.map +1 -1
  173. package/dist/mcp/tools/conversations.d.ts.map +1 -1
  174. package/dist/mcp/tools/conversations.js +1 -5
  175. package/dist/mcp/tools/conversations.js.map +1 -1
  176. package/dist/mcp/tools/folders.d.ts.map +1 -1
  177. package/dist/mcp/tools/folders.js +1 -4
  178. package/dist/mcp/tools/folders.js.map +1 -1
  179. package/dist/mcp/tools/messages-actions.d.ts.map +1 -1
  180. package/dist/mcp/tools/messages-actions.js +1 -5
  181. package/dist/mcp/tools/messages-actions.js.map +1 -1
  182. package/dist/mcp/tools/messages-delete.d.ts.map +1 -1
  183. package/dist/mcp/tools/messages-delete.js +1 -2
  184. package/dist/mcp/tools/messages-delete.js.map +1 -1
  185. package/dist/mcp/tools/messages-send.d.ts.map +1 -1
  186. package/dist/mcp/tools/messages-send.js +1 -2
  187. package/dist/mcp/tools/messages-send.js.map +1 -1
  188. package/dist/mcp/tools/messages.js +1 -1
  189. package/dist/mcp/tools/messages.js.map +1 -1
  190. package/dist/mcp/tools/moderation.d.ts.map +1 -1
  191. package/dist/mcp/tools/moderation.js +1 -2
  192. package/dist/mcp/tools/moderation.js.map +1 -1
  193. package/dist/mcp/tools/polls.d.ts.map +1 -1
  194. package/dist/mcp/tools/polls.js +1 -4
  195. package/dist/mcp/tools/polls.js.map +1 -1
  196. package/dist/mcp/tools/reactions.d.ts.map +1 -1
  197. package/dist/mcp/tools/reactions.js +1 -3
  198. package/dist/mcp/tools/reactions.js.map +1 -1
  199. package/dist/mcp/tools/search.d.ts.map +1 -1
  200. package/dist/mcp/tools/search.js +1 -1
  201. package/dist/mcp/tools/search.js.map +1 -1
  202. package/dist/mcp/tools/searches.d.ts.map +1 -1
  203. package/dist/mcp/tools/searches.js +3 -7
  204. package/dist/mcp/tools/searches.js.map +1 -1
  205. package/dist/mcp/tools/tags.d.ts.map +1 -1
  206. package/dist/mcp/tools/tags.js +1 -4
  207. package/dist/mcp/tools/tags.js.map +1 -1
  208. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  209. package/dist/mcp/tools/tasks.js +2 -5
  210. package/dist/mcp/tools/tasks.js.map +1 -1
  211. package/dist/mcp/tools/topics.d.ts.map +1 -1
  212. package/dist/mcp/tools/topics.js +1 -3
  213. package/dist/mcp/tools/topics.js.map +1 -1
  214. package/dist/models/index.d.ts +1 -0
  215. package/dist/models/index.d.ts.map +1 -1
  216. package/dist/models/index.js +15 -1
  217. package/dist/models/index.js.map +1 -1
  218. package/dist/output.d.ts +3 -1
  219. package/dist/output.d.ts.map +1 -1
  220. package/dist/output.js +13 -3
  221. package/dist/output.js.map +1 -1
  222. package/dist/replies/consents.d.ts +14 -0
  223. package/dist/replies/consents.d.ts.map +1 -0
  224. package/dist/replies/consents.js +26 -0
  225. package/dist/replies/consents.js.map +1 -0
  226. package/dist/replies/dry-run.d.ts +6 -1
  227. package/dist/replies/dry-run.d.ts.map +1 -1
  228. package/dist/replies/dry-run.js +19 -3
  229. package/dist/replies/dry-run.js.map +1 -1
  230. package/dist/replies/rendering.d.ts +17 -0
  231. package/dist/replies/rendering.d.ts.map +1 -0
  232. package/dist/replies/rendering.js +52 -0
  233. package/dist/replies/rendering.js.map +1 -0
  234. package/dist/replies/rules.d.ts +1 -1
  235. package/dist/replies/rules.js +3 -3
  236. package/dist/replies/rules.js.map +1 -1
  237. package/dist/replies/serve.d.ts +5 -2
  238. package/dist/replies/serve.d.ts.map +1 -1
  239. package/dist/replies/serve.js +24 -1
  240. package/dist/replies/serve.js.map +1 -1
  241. package/dist/replies/template.d.ts +38 -0
  242. package/dist/replies/template.d.ts.map +1 -0
  243. package/dist/replies/template.js +167 -0
  244. package/dist/replies/template.js.map +1 -0
  245. package/dist/sends/guarded.d.ts +2 -0
  246. package/dist/sends/guarded.d.ts.map +1 -1
  247. package/dist/sends/guarded.js +37 -3
  248. package/dist/sends/guarded.js.map +1 -1
  249. package/dist/sends/index.d.ts +1 -1
  250. package/dist/sends/index.d.ts.map +1 -1
  251. package/dist/sends/index.js +1 -1
  252. package/dist/sends/index.js.map +1 -1
  253. package/dist/sends/permissions.d.ts +3 -1
  254. package/dist/sends/permissions.d.ts.map +1 -1
  255. package/dist/sends/permissions.js +30 -1
  256. package/dist/sends/permissions.js.map +1 -1
  257. package/dist/skills/validate.d.ts +9 -0
  258. package/dist/skills/validate.d.ts.map +1 -0
  259. package/dist/skills/validate.js +86 -0
  260. package/dist/skills/validate.js.map +1 -0
  261. package/dist/store/sqlite/chats.d.ts.map +1 -1
  262. package/dist/store/sqlite/chats.js +7 -3
  263. package/dist/store/sqlite/chats.js.map +1 -1
  264. package/dist/store/sqlite/schema.d.ts +1 -1
  265. package/dist/store/sqlite/schema.js +1 -1
  266. package/dist/terminal/prompt.d.ts +1 -1
  267. package/dist/terminal/prompt.d.ts.map +1 -1
  268. package/dist/terminal/prompt.js +34 -31
  269. package/dist/terminal/prompt.js.map +1 -1
  270. package/package.json +10 -3
  271. package/parity.json +214 -430
  272. package/skills/link-conversations/SKILL.md +8 -13
  273. package/dist/mcp/confirm.d.ts +0 -30
  274. package/dist/mcp/confirm.d.ts.map +0 -1
  275. package/dist/mcp/confirm.js +0 -92
  276. package/dist/mcp/confirm.js.map +0 -1
  277. package/dist/mcp/http/policy.d.ts +0 -13
  278. package/dist/mcp/http/policy.d.ts.map +0 -1
  279. package/dist/mcp/http/policy.js +0 -18
  280. package/dist/mcp/http/policy.js.map +0 -1
@@ -16,7 +16,7 @@ export type PermissionKey = string;
16
16
  /** Only what cannot be undone asks; the tool is meant to work without questions (owner, NEED-460). */
17
17
  export declare const DEFAULT_PERMISSIONS: Readonly<Record<PermissionKey, Level>>;
18
18
  /** The resources at the top of the command tree, which `readOnly` and `allow` turn read-only as a whole. */
19
- export declare const RESOURCES: readonly ["messages", "reactions", "polls", "topics", "chats", "contacts", "account", "bot", "conversations", "tags", "searches", "tasks", "replies", "attachments"];
19
+ export declare const RESOURCES: readonly ["messages", "reactions", "polls", "topics", "chats", "contacts", "account", "bot", "conversations", "tags", "searches", "tasks", "replies", "attachments", "stats"];
20
20
  /** The command path an old `allow` word stood for, as one key — what an MCP tool's `permission` is checked against. */
21
21
  export declare const keyOfWord: (word: Permission) => PermissionKey;
22
22
  /** `bot` translates a bot's `readOnly` and `allow`, which only ever covered the bot. */
@@ -46,6 +46,8 @@ export declare const levelFor: (permissions: Readonly<Record<PermissionKey, Leve
46
46
  export declare const keyForWrite: (kind: SendKind, action?: string) => PermissionKey;
47
47
  /** Every key a write is checked against that a command path may not spell out. */
48
48
  export declare const WRITE_KEYS: readonly PermissionKey[];
49
+ export declare const assertStatsPermissionsCurrent: (path: readonly string[], permissions: Readonly<Record<string, Level>>) => void;
50
+ export declare const readKeysForCommand: (path: readonly string[]) => PermissionKey[];
49
51
  /**
50
52
  * The key a command path is checked against: `null` for housekeeping, which no level stops, and
51
53
  * `undefined` for a path this package does not know — a CLI's own command, which its CLI maps.
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/sends/permissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,YACtB,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,CACF,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAgBrD,eAAO,MAAM,aAAa,SAAU,QAAQ,WAAW,MAAM,KAAG,UAc/D,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,MAAM,YAAI,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAU,CAAA;AAEnE,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3C,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAOtE,CAAA;AAED,4GAA4G;AAC5G,eAAO,MAAM,SAAS,YACpB,UAAU,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,eAAe,EACf,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,CACL,CAAA;AA6BV,uHAAuH;AACvH,eAAO,MAAM,SAAS,SAAU,UAAU,KAAG,aAAoD,CAAA;AAajG,wFAAwF;AACxF,eAAO,MAAM,eAAe,aAChB,OAAO,SACV,SAAS,UAAU,EAAE,GAAG,SAAS,YACvB;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KACjC,MAAM,CAAC,aAAa,EAAE,KAAK,CAW7B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,WAAY,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;;;CAY/G,CAAA;AAeD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,gBACN,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,OAC9C,aAAa,aACR,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,KAC/C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAA;CAM3C,CAAA;AA4BD,oFAAoF;AACpF,eAAO,MAAM,WAAW,SAAU,QAAQ,WAAW,MAAM,KAAG,aAQ7D,CAAA;AA0CD,kFAAkF;AAClF,eAAO,MAAM,UAAU,EAAE,SAAS,aAAa,EAS9C,CAAA;AA8BD;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAU,SAAS,MAAM,EAAE,KAAG,aAAa,GAAG,IAAI,GAAG,SAkB9E,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,aAAa,SAAS,MAAM,EAAE,KAAQ,MAAM,CAAC,aAAa,EAAE,KAAK,CAahG,CAAA"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/sends/permissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,YACtB,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,CACF,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAgBrD,eAAO,MAAM,aAAa,SAAU,QAAQ,WAAW,MAAM,KAAG,UAc/D,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,MAAM,YAAI,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAU,CAAA;AAEnE,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3C,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAOtE,CAAA;AAED,4GAA4G;AAC5G,eAAO,MAAM,SAAS,YACpB,UAAU,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,eAAe,EACf,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,CACC,CAAA;AA6BV,uHAAuH;AACvH,eAAO,MAAM,SAAS,SAAU,UAAU,KAAG,aAAoD,CAAA;AAajG,wFAAwF;AACxF,eAAO,MAAM,eAAe,aAChB,OAAO,SACV,SAAS,UAAU,EAAE,GAAG,SAAS,YACvB;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KACjC,MAAM,CAAC,aAAa,EAAE,KAAK,CAW7B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,WAAY,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;;;CAY/G,CAAA;AAeD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,gBACN,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,OAC9C,aAAa,aACR,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,KAC/C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAA;CAM3C,CAAA;AA4BD,oFAAoF;AACpF,eAAO,MAAM,WAAW,SAAU,QAAQ,WAAW,MAAM,KAAG,aAQ7D,CAAA;AA2CD,kFAAkF;AAClF,eAAO,MAAM,UAAU,EAAE,SAAS,aAAa,EAS9C,CAAA;AA8BD,eAAO,MAAM,6BAA6B,SAClC,SAAS,MAAM,EAAE,eACV,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAC3C,IAYF,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAU,SAAS,MAAM,EAAE,KAAG,aAAa,EAazE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAU,SAAS,MAAM,EAAE,KAAG,aAAa,GAAG,IAAI,GAAG,SAkB9E,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,aAAa,SAAS,MAAM,EAAE,KAAQ,MAAM,CAAC,aAAa,EAAE,KAAK,CAahG,CAAA"}
@@ -75,6 +75,7 @@ export const RESOURCES = [
75
75
  "tasks",
76
76
  "replies",
77
77
  "attachments",
78
+ "stats",
78
79
  ];
79
80
  const OLD_WORDS = {
80
81
  send: ["messages.send", "polls.create"],
@@ -215,6 +216,7 @@ export const keyForWrite = (kind, action) => {
215
216
  /** Write keys written out where a write is checked; `permission-keys.test.ts` keeps this list whole. */
216
217
  const NAMED_WRITE_KEYS = [
217
218
  "messages.sync-first",
219
+ "stats.messages.show.sync-first",
218
220
  "account.sessions.list",
219
221
  "attachments.extract",
220
222
  "attachments.text.set",
@@ -285,7 +287,34 @@ const HOUSEKEEPING = new Set([
285
287
  const BOT_HOUSEKEEPING = new Set(["auth", "list", "sends", "recipients", "mcp"]);
286
288
  const STORE_MAINTENANCE = new Set(["info", "check", "migrate", "backup", "restore", "repair", "copies"]);
287
289
  /** Commands outside `messages` that print what people wrote, so `deny messages` reaches them too. */
288
- const SHOW_MESSAGES = new Set(["stats", "inbox", "review", "watch", "serve", "store", "conversations"]);
290
+ const SHOW_MESSAGES = new Set(["inbox", "review", "watch", "serve", "store", "conversations"]);
291
+ export const assertStatsPermissionsCurrent = (path, permissions) => {
292
+ if (path[0] === "bot") {
293
+ assertStatsPermissionsCurrent(path.slice(1), permissions);
294
+ return;
295
+ }
296
+ if (path[0] !== "stats")
297
+ return;
298
+ if (Object.keys(permissions).some((key) => /^(bot\.)?(messages|chats|tasks)\.stats(?:\.|$)/.test(key)))
299
+ throw new CliError("configuration_error", "statistics permission paths have moved — run config migrate before reading statistics", { retryable: false });
300
+ };
301
+ export const readKeysForCommand = (path) => {
302
+ if (path[0] === "bot")
303
+ return readKeysForCommand(path.slice(1)).map((key) => `bot.${key}`);
304
+ const key = keyForCommand(path);
305
+ if (!key)
306
+ return [];
307
+ if (path[0] !== "stats")
308
+ return [key];
309
+ const resource = path[1] === "charts" ? "chats" : path[1];
310
+ return [
311
+ ...new Set([
312
+ key,
313
+ "messages",
314
+ ...(["chats", "contacts", "tasks"].includes(resource ?? "") ? [resource] : []),
315
+ ]),
316
+ ];
317
+ };
289
318
  /**
290
319
  * The key a command path is checked against: `null` for housekeeping, which no level stops, and
291
320
  * `undefined` for a path this package does not know — a CLI's own command, which its CLI maps.
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/sends/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/sends/permissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Command } from "commander";
2
+ export interface SkillValidation {
3
+ folder?: string;
4
+ file?: string;
5
+ version?: string;
6
+ program?: Command;
7
+ }
8
+ export declare const validateSkill: (content: string, options?: SkillValidation) => string[];
9
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/skills/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,aAAa,YAAa,MAAM,YAAW,eAAe,KAAQ,MAAM,EA+EpF,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { existsSync } from "node:fs";
2
+ import { dirname, resolve } from "node:path";
3
+ import { parseDocument } from "yaml";
4
+ export const validateSkill = (content, options = {}) => {
5
+ const problems = [];
6
+ const match = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/.exec(content);
7
+ if (!match)
8
+ return ["SKILL.md needs YAML frontmatter"];
9
+ const yaml = parseDocument(match[1] ?? "", { uniqueKeys: true });
10
+ if (yaml.errors.length)
11
+ return ["SKILL.md frontmatter is not valid YAML"];
12
+ let data;
13
+ try {
14
+ data = yaml.toJS({ maxAliasCount: 0 });
15
+ }
16
+ catch {
17
+ return ["SKILL.md frontmatter cannot be read"];
18
+ }
19
+ if (!data || typeof data !== "object" || Array.isArray(data))
20
+ return ["SKILL.md frontmatter must be an object"];
21
+ const fields = data;
22
+ if (typeof fields.name !== "string" || fields.name.length > 64 || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(fields.name))
23
+ problems.push("skill name must be 1–64 lowercase letters, digits and single hyphens");
24
+ if (options.folder && fields.name !== options.folder)
25
+ problems.push("skill name must match its folder");
26
+ if (typeof fields.description !== "string" || !fields.description.trim() || fields.description.length > 1024)
27
+ problems.push("skill description must be 1–1024 characters");
28
+ if (fields.compatibility !== undefined &&
29
+ (typeof fields.compatibility !== "string" || fields.compatibility.length > 500))
30
+ problems.push("skill compatibility must be a string of at most 500 characters");
31
+ for (const key of ["license", "allowed-tools"])
32
+ if (fields[key] !== undefined && typeof fields[key] !== "string")
33
+ problems.push(`skill ${key} must be a string`);
34
+ const known = new Set(["name", "description", "license", "compatibility", "allowed-tools", "metadata"]);
35
+ for (const key of Object.keys(fields))
36
+ if (!known.has(key))
37
+ problems.push(`unsupported frontmatter field: ${key}`);
38
+ if (fields.metadata !== undefined &&
39
+ (!fields.metadata ||
40
+ typeof fields.metadata !== "object" ||
41
+ Array.isArray(fields.metadata) ||
42
+ Object.values(fields.metadata).some((value) => typeof value !== "string")))
43
+ problems.push("skill metadata must contain string values");
44
+ if (options.version && fields.metadata?.version !== options.version)
45
+ problems.push("emitted skill version must match the binary");
46
+ const body = content.slice(match[0].length);
47
+ if (options.file) {
48
+ for (const link of body.matchAll(/\[[^\]]*\]\(([^\s)]+)\)/g)) {
49
+ const target = (link[1] ?? "").split("#")[0] ?? "";
50
+ if (!target || /^(?:[a-z]+:|\/)/i.test(target))
51
+ continue;
52
+ if (!existsSync(resolve(dirname(options.file), target)))
53
+ problems.push(`missing skill reference: ${target}`);
54
+ }
55
+ }
56
+ if (options.program) {
57
+ const root = options.program;
58
+ const spans = [...body.matchAll(/```[^\n]*\n([\s\S]*?)```|`([^`\n]*(?:\n[^`\n]*)?)`/g)];
59
+ for (const span of spans) {
60
+ const text = span[1] ?? span[2] ?? "";
61
+ const escaped = root.name().replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
62
+ for (const call of text.matchAll(new RegExp(`(?:^|[\\s;])(?:${escaped}|\\{\\{command\\}\\})\\s+([^\\n;]+)`, "g"))) {
63
+ const tokens = (call[1] ?? "").trim().split(/\s+/);
64
+ let at = root;
65
+ let start = 0;
66
+ if (!root.commands.some((child) => child.name() === tokens[0]) &&
67
+ root.commands.some((child) => child.name() === tokens[1]))
68
+ start = 1;
69
+ for (const word of tokens.slice(start)) {
70
+ if (!/^[a-z][a-z-]*$/.test(word))
71
+ break;
72
+ const child = at.commands.find((one) => one.name() === word || one.aliases().includes(word));
73
+ if (child) {
74
+ at = child;
75
+ continue;
76
+ }
77
+ if ((at.registeredArguments.length === 0 && at.commands.length > 0) || at === root)
78
+ problems.push(`unknown skill command path: ${[root.name(), ...tokens.slice(start)].join(" ")}`);
79
+ break;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ return [...new Set(problems)];
85
+ };
86
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/skills/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAgB7C,uEAAuE;AACvE,eAAO,MAAM,MAAM,YAAa,YAAY,cAAc,MAAM,WAAW,MAAM,KAAG,EAAE,GAAG,SAK3E,CAAA;AAEd,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAAM,GAAG,SAK9E,CAAA;AAEd,yEAAyE;AACzE,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAQ/E,CAAA;AAEH,eAAO,MAAM,UAAU,iBAAkB,YAAY,cAAc,MAAM,QAAQ,IAAI,KAAG,IA+BvF,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,YACd,YAAY,OAChB,UAAU,cACH,MAAM,UACV,EAAE,aACC,EAAE,EAAE,KACd,IASF,CAAA;AAED,eAAO,MAAM,OAAO,YAAa,YAAY,WAAW,MAAM,KAAG,MAAM,EAO7D,CAAA;AAMV,gGAAgG;AAChG,eAAO,MAAM,QAAQ,YAAa,YAAY,cAAc,MAAM,WAAW,EAAE,EAAE,KAAG,MAYnE,CAAA;AAEjB,8DAA8D;AAC9D,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,KAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAYtG,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,UAAU,YAAa,YAAY,OAAO,MAAM,EAAE,KAAG,IAajE,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,OAAO,UAAU,YAAY,EAAE,KAAG,IAAI,EAgBrE,CAAA;AAiBpC,eAAO,MAAM,SAAS,YACX,YAAY,cACT,MAAM,gCACgB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,KACvF,IAAI,CAAC,IAAI,CAUX,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,gBAAgB,KAAG,MACY,CAAA"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAgB7C,uEAAuE;AACvE,eAAO,MAAM,MAAM,YAAa,YAAY,cAAc,MAAM,WAAW,MAAM,KAAG,EAAE,GAAG,SAK3E,CAAA;AAEd,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAAM,GAAG,SAK9E,CAAA;AAEd,yEAAyE;AACzE,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAQ/E,CAAA;AAEH,eAAO,MAAM,UAAU,iBAAkB,YAAY,cAAc,MAAM,QAAQ,IAAI,KAAG,IA+BvF,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,YACd,YAAY,OAChB,UAAU,cACH,MAAM,UACV,EAAE,aACC,EAAE,EAAE,KACd,IASF,CAAA;AAED,eAAO,MAAM,OAAO,YAAa,YAAY,WAAW,MAAM,KAAG,MAAM,EAO7D,CAAA;AAMV,gGAAgG;AAChG,eAAO,MAAM,QAAQ,YAAa,YAAY,cAAc,MAAM,WAAW,EAAE,EAAE,KAAG,MAYnE,CAAA;AAEjB,8DAA8D;AAC9D,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,KAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAYtG,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,UAAU,YAAa,YAAY,OAAO,MAAM,EAAE,KAAG,IAajE,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,OAAO,UAAU,YAAY,EAAE,KAAG,IAAI,EA4BrE,CAAA;AAiBpC,eAAO,MAAM,SAAS,YACX,YAAY,cACT,MAAM,gCACgB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,KACvF,IAAI,CAAC,IAAI,CAUX,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,gBAAgB,KAAG,MACY,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
- import { and, eq, gt, inArray, sql } from "./drizzle/core.js";
2
+ import { and, eq, gt, inArray, or, sql } from "./drizzle/core.js";
3
3
  import { identityPk } from "./identities.js";
4
4
  import { attachments, chatMembers, chats, fetchLeases, identities, memberCounts, memberStays, messageRevisions, messages, syncRanges, transcripts, } from "./schema.js";
5
5
  import { json, parsed, present, toIso, toMs } from "./values.js";
@@ -111,10 +111,14 @@ export const purgeChats = ({ orm }, pks) => {
111
111
  };
112
112
  export const chatsWith = ({ orm }, accountKey, key, memberId) => orm
113
113
  .select({ chat: chats })
114
+ .from(chats)
115
+ .where(and(eq(chats.accountPk, accountKey), notLeft, or(inArray(chats.pk, orm
116
+ .select({ pk: chatMembers.chatPk })
114
117
  .from(chatMembers)
115
- .innerJoin(chats, eq(chats.pk, chatMembers.chatPk))
116
118
  .innerJoin(identities, eq(identities.pk, chatMembers.identityPk))
117
- .where(and(eq(chats.accountPk, accountKey), notLeft, eq(identities.provider, key.provider), eq(identities.nativeId, memberId)))
119
+ .where(and(eq(identities.provider, key.provider), eq(identities.nativeId, memberId)))),
120
+ // Some providers name a private dialog by its partner's id without recording members.
121
+ and(eq(chats.kind, "dialog"), eq(chats.nativeId, memberId), sql `NOT EXISTS (SELECT 1 FROM ${chatMembers} WHERE ${chatMembers.chatPk} = ${chats.pk})`))))
118
122
  .orderBy(...byRecency)
119
123
  .all()
120
124
  .map(({ chat }) => toChat(chat));
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"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"}
@@ -2905,7 +2905,7 @@ export declare const tags: import("drizzle-orm/sqlite-core").SQLiteTableWithColu
2905
2905
  dialect: 'sqlite';
2906
2906
  }>;
2907
2907
  /**
2908
- * Every run of `messages search` and `messages stats`, with the parameters as the caller gave them — never
2908
+ * Every run of `messages search` and `stats messages show`, with the parameters as the caller gave them — never
2909
2909
  * a message or a result. A row with a name is a saved search; an identical unnamed run counts on its row.
2910
2910
  */
2911
2911
  export declare const searches: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
@@ -362,7 +362,7 @@ export const tags = sqliteTable("tags", {
362
362
  index("tags_by_tag").on(table.tag, table.taggableType, table.taggablePk),
363
363
  ]);
364
364
  /**
365
- * Every run of `messages search` and `messages stats`, with the parameters as the caller gave them — never
365
+ * Every run of `messages search` and `stats messages show`, with the parameters as the caller gave them — never
366
366
  * a message or a result. A row with a name is a saved search; an identical unnamed run counts on its row.
367
367
  */
368
368
  export const searches = sqliteTable("searches", {
@@ -18,5 +18,5 @@ export interface SecretInput {
18
18
  * The prompt goes to **stderr**, not stdout, so that `session start --json` still writes one JSON
19
19
  * value and nothing else.
20
20
  */
21
- export declare const readSecret: (prompt: string, { input, output, echo, signal }?: SecretInput) => Promise<string>;
21
+ export declare const readSecret: (prompt: string, { input, output, echo, signal: givenSignal }?: SecretInput) => Promise<string>;
22
22
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/terminal/prompt.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAC9B,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iEAAiE;IACjE,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,oCAC4D,WAAW,KACpF,OAAO,CAAC,MAAM,CA6DhB,CAAA"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/terminal/prompt.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAC9B,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iEAAiE;IACjE,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,iDACyE,WAAW,KACjG,OAAO,CAAC,MAAM,CAkEhB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { createInterface } from "node:readline";
2
2
  import { Writable } from "node:stream";
3
3
  import { CliError } from "@leemour/cli-core";
4
+ import { bufferedInput, inputPolicy, MAX_SECRET_INPUT } from "../cli/input-policy.js";
4
5
  /**
5
6
  * One line of secret, taken without a file and without argv.
6
7
  *
@@ -11,40 +12,24 @@ import { CliError } from "@leemour/cli-core";
11
12
  * The prompt goes to **stderr**, not stdout, so that `session start --json` still writes one JSON
12
13
  * value and nothing else.
13
14
  */
14
- export const readSecret = async (prompt, { input = process.stdin, output = process.stderr, echo = false, signal } = {}) => {
15
+ export const readSecret = async (prompt, { input = process.stdin, output = process.stderr, echo = false, signal: givenSignal } = {}) => {
16
+ const policy = inputPolicy(input);
17
+ const signals = [givenSignal, policy.signal].filter((one) => one !== undefined);
18
+ const signal = signals.length ? AbortSignal.any(signals) : undefined;
15
19
  const cancelled = () => new CliError("cancelled", "cancelled — nothing was stored");
16
20
  if (signal?.aborted)
17
21
  throw cancelled();
22
+ if (input.isTTY && policy.noInput)
23
+ throw new CliError("validation_error", "interactive input is disabled — provide the input through a pipe", {
24
+ reason: "input_required",
25
+ });
18
26
  if (!input.isTTY) {
19
- if (signal) {
20
- return new Promise((resolve, reject) => {
21
- const chunks = [];
22
- const cleanup = () => {
23
- input.off("data", data).off("end", end).off("error", error).off("close", abort);
24
- signal.removeEventListener("abort", abort);
25
- };
26
- const data = (chunk) => chunks.push(Buffer.from(chunk));
27
- const end = () => {
28
- cleanup();
29
- resolve(Buffer.concat(chunks).toString("utf8").trim());
30
- };
31
- const error = (cause) => {
32
- cleanup();
33
- reject(cause);
34
- };
35
- const abort = () => {
36
- cleanup();
37
- input.pause();
38
- reject(cancelled());
39
- };
40
- input.on("data", data).once("end", end).once("error", error).once("close", abort);
41
- signal.addEventListener("abort", abort, { once: true });
42
- });
43
- }
44
- const chunks = [];
45
- for await (const chunk of input)
46
- chunks.push(Buffer.from(chunk));
47
- return Buffer.concat(chunks).toString("utf8").trim();
27
+ return (await bufferedInput(input, {
28
+ maxBytes: Math.min(policy.maxBytes ?? MAX_SECRET_INPUT, MAX_SECRET_INPUT),
29
+ ...(signal ? { signal } : {}),
30
+ }))
31
+ .toString("utf8")
32
+ .trim();
48
33
  }
49
34
  let muted = false;
50
35
  const shim = new Writable({
@@ -56,11 +41,28 @@ export const readSecret = async (prompt, { input = process.stdin, output = proce
56
41
  });
57
42
  const reader = createInterface({ input, output: shim, terminal: true });
58
43
  const abort = () => reader.close();
44
+ let bytes = 0;
45
+ let inputFailure;
46
+ const data = (chunk) => {
47
+ bytes += Buffer.byteLength(chunk);
48
+ if (bytes > Math.min(policy.maxBytes ?? MAX_SECRET_INPUT, MAX_SECRET_INPUT)) {
49
+ inputFailure = new CliError("validation_error", "secret input exceeds its byte limit", {
50
+ reason: "input_limit",
51
+ retryable: false,
52
+ });
53
+ reader.close();
54
+ }
55
+ };
56
+ const inputError = (error) => {
57
+ inputFailure = error;
58
+ reader.close();
59
+ };
60
+ input.on("data", data).on("error", inputError);
59
61
  try {
60
62
  // Ctrl-C and a closed terminal would otherwise leave this waiting for ever, and Node exits
61
63
  // on the unsettled promise with a warning and a code nobody documents.
62
64
  const answer = await new Promise((resolve, reject) => {
63
- const cancel = () => reject(cancelled());
65
+ const cancel = () => reject(inputFailure ?? cancelled());
64
66
  reader.once("SIGINT", cancel);
65
67
  reader.once("close", cancel);
66
68
  signal?.addEventListener("abort", abort, { once: true });
@@ -70,6 +72,7 @@ export const readSecret = async (prompt, { input = process.stdin, output = proce
70
72
  return answer.trim();
71
73
  }
72
74
  finally {
75
+ input.off("data", data).off("error", inputError);
73
76
  signal?.removeEventListener("abort", abort);
74
77
  reader.close();
75
78
  output.write("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/terminal/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/terminal/prompt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leemour/cli-messaging",
3
- "version": "0.155.0",
3
+ "version": "0.157.0",
4
4
  "description": "The messenger-neutral half of a messaging CLI: domain model, message locators, rendering, name resolution, the SQLite seam, the command skeleton and shared read commands, the send guard, run records and the message store",
5
5
  "license": "MIT",
6
6
  "author": "Viacheslav Ptsarev",
@@ -71,6 +71,10 @@
71
71
  "./models": {
72
72
  "types": "./dist/models/index.d.ts",
73
73
  "default": "./dist/models/index.js"
74
+ },
75
+ "./skill-validation": {
76
+ "types": "./dist/skills/validate.d.ts",
77
+ "import": "./dist/skills/validate.js"
74
78
  }
75
79
  },
76
80
  "scripts": {
@@ -93,7 +97,8 @@
93
97
  "parity:seed": "tsc --build && node --experimental-strip-types scripts/parity-seed.ts",
94
98
  "parity:render": "node --experimental-strip-types scripts/parity-render.ts",
95
99
  "parity:audit": "tsc --build && node --experimental-strip-types scripts/parity-audit.ts",
96
- "search:docs": "pnpm build && node scripts/search-docs.ts"
100
+ "search:docs": "pnpm build && node scripts/search-docs.ts",
101
+ "check:agent-process": "pnpm build && node --experimental-strip-types scripts/check-agent-process.ts"
97
102
  },
98
103
  "dependencies": {
99
104
  "@anthropic-ai/sdk": "0.131.0",
@@ -106,13 +111,15 @@
106
111
  "@resvg/resvg-js": "2.6.2",
107
112
  "@valibot/to-json-schema": "1.8.0",
108
113
  "echarts": "6.1.0",
114
+ "liquidjs": "10.30.0",
109
115
  "lossless-json": "4.3.0",
110
116
  "ogg-opus-decoder": "1.7.5",
111
117
  "qrcode-generator": "2.0.4",
112
118
  "sherpa-onnx": "1.13.8",
113
119
  "string-width": "8.3.0",
114
120
  "valibot": "1.5.0",
115
- "wrap-ansi": "10.0.2"
121
+ "wrap-ansi": "10.0.2",
122
+ "yaml": "2.9.1"
116
123
  },
117
124
  "devDependencies": {
118
125
  "@biomejs/biome": "^2.3.14",