@wirecat/cli-core 0.338.0 → 0.340.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 (218) hide show
  1. package/dist/background/units.d.ts.map +1 -1
  2. package/dist/background/units.js +3 -3
  3. package/dist/background/units.js.map +1 -1
  4. package/dist/cli/bot/watch.d.ts.map +1 -1
  5. package/dist/cli/bot/watch.js +3 -0
  6. package/dist/cli/bot/watch.js.map +1 -1
  7. package/dist/cli/context.d.ts +2 -1
  8. package/dist/cli/context.d.ts.map +1 -1
  9. package/dist/cli/context.js.map +1 -1
  10. package/dist/cli/index.d.ts +1 -1
  11. package/dist/cli/index.d.ts.map +1 -1
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/messenger/account-command.d.ts.map +1 -1
  14. package/dist/cli/messenger/account-command.js +3 -3
  15. package/dist/cli/messenger/account-command.js.map +1 -1
  16. package/dist/cli/messenger/admin-commands.d.ts +3 -0
  17. package/dist/cli/messenger/admin-commands.d.ts.map +1 -1
  18. package/dist/cli/messenger/admin-commands.js +15 -4
  19. package/dist/cli/messenger/admin-commands.js.map +1 -1
  20. package/dist/cli/messenger/context.d.ts +12 -0
  21. package/dist/cli/messenger/context.d.ts.map +1 -1
  22. package/dist/cli/messenger/context.js +3 -3
  23. package/dist/cli/messenger/context.js.map +1 -1
  24. package/dist/cli/messenger/conversation-answers.d.ts +1 -0
  25. package/dist/cli/messenger/conversation-answers.d.ts.map +1 -1
  26. package/dist/cli/messenger/flood-command.js +2 -2
  27. package/dist/cli/messenger/flood-command.js.map +1 -1
  28. package/dist/cli/messenger/flooded.js +10 -10
  29. package/dist/cli/messenger/flooded.js.map +1 -1
  30. package/dist/cli/messenger/gaps-command.js +2 -2
  31. package/dist/cli/messenger/gaps-command.js.map +1 -1
  32. package/dist/cli/messenger/guard-commands.js +1 -1
  33. package/dist/cli/messenger/guard-commands.js.map +1 -1
  34. package/dist/cli/messenger/history-query.d.ts +2 -1
  35. package/dist/cli/messenger/history-query.d.ts.map +1 -1
  36. package/dist/cli/messenger/history-query.js +24 -6
  37. package/dist/cli/messenger/history-query.js.map +1 -1
  38. package/dist/cli/messenger/message-answers.d.ts +1 -0
  39. package/dist/cli/messenger/message-answers.d.ts.map +1 -1
  40. package/dist/cli/messenger/message-items.d.ts.map +1 -1
  41. package/dist/cli/messenger/message-items.js +1 -0
  42. package/dist/cli/messenger/message-items.js.map +1 -1
  43. package/dist/cli/messenger/message-writes.d.ts +1 -0
  44. package/dist/cli/messenger/message-writes.d.ts.map +1 -1
  45. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  46. package/dist/cli/messenger/messages-command.js +2 -2
  47. package/dist/cli/messenger/messages-command.js.map +1 -1
  48. package/dist/cli/messenger/messages-pin-command.d.ts.map +1 -1
  49. package/dist/cli/messenger/messages-pin-command.js +5 -4
  50. package/dist/cli/messenger/messages-pin-command.js.map +1 -1
  51. package/dist/cli/messenger/messages-send-command.d.ts.map +1 -1
  52. package/dist/cli/messenger/messages-send-command.js +11 -4
  53. package/dist/cli/messenger/messages-send-command.js.map +1 -1
  54. package/dist/cli/messenger/metadata-command.d.ts.map +1 -1
  55. package/dist/cli/messenger/metadata-command.js +8 -2
  56. package/dist/cli/messenger/metadata-command.js.map +1 -1
  57. package/dist/cli/messenger/refreshed-refs.d.ts +16 -0
  58. package/dist/cli/messenger/refreshed-refs.d.ts.map +1 -0
  59. package/dist/cli/messenger/refreshed-refs.js +31 -0
  60. package/dist/cli/messenger/refreshed-refs.js.map +1 -0
  61. package/dist/cli/messenger/serve-relay.d.ts +4 -0
  62. package/dist/cli/messenger/serve-relay.d.ts.map +1 -1
  63. package/dist/cli/messenger/server-command.d.ts.map +1 -1
  64. package/dist/cli/messenger/server-command.js +13 -13
  65. package/dist/cli/messenger/server-command.js.map +1 -1
  66. package/dist/cli/messenger/store-maintenance-command.js +3 -6
  67. package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
  68. package/dist/cli/messenger/stored.d.ts +1 -1
  69. package/dist/cli/messenger/stored.d.ts.map +1 -1
  70. package/dist/cli/messenger/stored.js +21 -7
  71. package/dist/cli/messenger/stored.js.map +1 -1
  72. package/dist/cli/messenger/transcribe-command.d.ts.map +1 -1
  73. package/dist/cli/messenger/transcribe-command.js +3 -1
  74. package/dist/cli/messenger/transcribe-command.js.map +1 -1
  75. package/dist/cli/messenger/watch-command.js +2 -0
  76. package/dist/cli/messenger/watch-command.js.map +1 -1
  77. package/dist/cli/program.d.ts.map +1 -1
  78. package/dist/cli/program.js +4 -1
  79. package/dist/cli/program.js.map +1 -1
  80. package/dist/domain/attachments.d.ts +18 -1
  81. package/dist/domain/attachments.d.ts.map +1 -1
  82. package/dist/domain/attachments.js.map +1 -1
  83. package/dist/domain/models.d.ts +17 -2
  84. package/dist/domain/models.d.ts.map +1 -1
  85. package/dist/domain/models.js.map +1 -1
  86. package/dist/domain/pin-duration.d.ts +1 -0
  87. package/dist/domain/pin-duration.d.ts.map +1 -1
  88. package/dist/domain/pin-duration.js +2 -0
  89. package/dist/domain/pin-duration.js.map +1 -1
  90. package/dist/entities/evidence.d.ts +8 -0
  91. package/dist/entities/evidence.d.ts.map +1 -1
  92. package/dist/entities/index.d.ts +9 -0
  93. package/dist/entities/index.d.ts.map +1 -1
  94. package/dist/entities/message.d.ts +2 -0
  95. package/dist/entities/message.d.ts.map +1 -1
  96. package/dist/entities/message.js +2 -0
  97. package/dist/entities/message.js.map +1 -1
  98. package/dist/mcp/tool.d.ts +4 -1
  99. package/dist/mcp/tool.d.ts.map +1 -1
  100. package/dist/mcp/tool.js +1 -0
  101. package/dist/mcp/tool.js.map +1 -1
  102. package/dist/mcp/tools/admin.d.ts.map +1 -1
  103. package/dist/mcp/tools/admin.js +5 -0
  104. package/dist/mcp/tools/admin.js.map +1 -1
  105. package/dist/mcp/tools/messages-actions.d.ts.map +1 -1
  106. package/dist/mcp/tools/messages-actions.js +3 -2
  107. package/dist/mcp/tools/messages-actions.js.map +1 -1
  108. package/dist/mcp/tools/messages-photo.d.ts.map +1 -1
  109. package/dist/mcp/tools/messages-photo.js +3 -1
  110. package/dist/mcp/tools/messages-photo.js.map +1 -1
  111. package/dist/mcp/tools/messages-send.d.ts.map +1 -1
  112. package/dist/mcp/tools/messages-send.js +11 -3
  113. package/dist/mcp/tools/messages-send.js.map +1 -1
  114. package/dist/mcp/tools/messages.js +10 -6
  115. package/dist/mcp/tools/messages.js.map +1 -1
  116. package/dist/mcp/tools/store.d.ts.map +1 -1
  117. package/dist/mcp/tools/store.js +0 -2
  118. package/dist/mcp/tools/store.js.map +1 -1
  119. package/dist/ports/messenger.d.ts +21 -4
  120. package/dist/ports/messenger.d.ts.map +1 -1
  121. package/dist/ports/messenger.js.map +1 -1
  122. package/dist/ports/traits.d.ts +2 -0
  123. package/dist/ports/traits.d.ts.map +1 -1
  124. package/dist/ports/traits.js.map +1 -1
  125. package/dist/search/lucene/registry.d.ts.map +1 -1
  126. package/dist/search/lucene/registry.js +2 -2
  127. package/dist/search/lucene/registry.js.map +1 -1
  128. package/dist/sends/file-lock.d.ts +10 -1
  129. package/dist/sends/file-lock.d.ts.map +1 -1
  130. package/dist/sends/file-lock.js +42 -14
  131. package/dist/sends/file-lock.js.map +1 -1
  132. package/dist/sends/guard.d.ts +5 -0
  133. package/dist/sends/guard.d.ts.map +1 -1
  134. package/dist/sends/guard.js +54 -42
  135. package/dist/sends/guard.js.map +1 -1
  136. package/dist/sends/guarded.d.ts.map +1 -1
  137. package/dist/sends/guarded.js +14 -1
  138. package/dist/sends/guarded.js.map +1 -1
  139. package/dist/sends/index.d.ts +1 -1
  140. package/dist/sends/index.d.ts.map +1 -1
  141. package/dist/sends/journal.d.ts +3 -1
  142. package/dist/sends/journal.d.ts.map +1 -1
  143. package/dist/sends/journal.js +5 -1
  144. package/dist/sends/journal.js.map +1 -1
  145. package/dist/sends/pace.d.ts +3 -3
  146. package/dist/sends/pace.d.ts.map +1 -1
  147. package/dist/sends/pace.js +7 -7
  148. package/dist/sends/pace.js.map +1 -1
  149. package/dist/sends/recipients.d.ts +3 -1
  150. package/dist/sends/recipients.d.ts.map +1 -1
  151. package/dist/sends/recipients.js +23 -16
  152. package/dist/sends/recipients.js.map +1 -1
  153. package/dist/sends/upload.d.ts +15 -2
  154. package/dist/sends/upload.d.ts.map +1 -1
  155. package/dist/sends/upload.js +58 -9
  156. package/dist/sends/upload.js.map +1 -1
  157. package/dist/services/admin.d.ts.map +1 -1
  158. package/dist/services/admin.js +7 -1
  159. package/dist/services/admin.js.map +1 -1
  160. package/dist/services/file-download.d.ts +3 -0
  161. package/dist/services/file-download.d.ts.map +1 -1
  162. package/dist/services/file-download.js +16 -1
  163. package/dist/services/file-download.js.map +1 -1
  164. package/dist/services/messages-search.d.ts +3 -1
  165. package/dist/services/messages-search.d.ts.map +1 -1
  166. package/dist/services/messages-search.js +2 -1
  167. package/dist/services/messages-search.js.map +1 -1
  168. package/dist/services/messages.d.ts +6 -2
  169. package/dist/services/messages.d.ts.map +1 -1
  170. package/dist/services/messages.js +29 -8
  171. package/dist/services/messages.js.map +1 -1
  172. package/dist/services/pictures.d.ts.map +1 -1
  173. package/dist/services/pictures.js +12 -2
  174. package/dist/services/pictures.js.map +1 -1
  175. package/dist/speech/transcribe.d.ts +3 -2
  176. package/dist/speech/transcribe.d.ts.map +1 -1
  177. package/dist/speech/transcribe.js +5 -2
  178. package/dist/speech/transcribe.js.map +1 -1
  179. package/dist/store/attachments.d.ts +6 -1
  180. package/dist/store/attachments.d.ts.map +1 -1
  181. package/dist/store/attachments.js +10 -0
  182. package/dist/store/attachments.js.map +1 -1
  183. package/dist/store/messages.d.ts +12 -2
  184. package/dist/store/messages.d.ts.map +1 -1
  185. package/dist/store/messages.js +14 -1
  186. package/dist/store/messages.js.map +1 -1
  187. package/dist/store/sqlite/attachments.d.ts +8 -3
  188. package/dist/store/sqlite/attachments.d.ts.map +1 -1
  189. package/dist/store/sqlite/attachments.js +15 -3
  190. package/dist/store/sqlite/attachments.js.map +1 -1
  191. package/dist/store/sqlite/chat-rekey.d.ts.map +1 -1
  192. package/dist/store/sqlite/chat-rekey.js +3 -0
  193. package/dist/store/sqlite/chat-rekey.js.map +1 -1
  194. package/dist/store/sqlite/lucene-fields.d.ts.map +1 -1
  195. package/dist/store/sqlite/lucene-fields.js +5 -1
  196. package/dist/store/sqlite/lucene-fields.js.map +1 -1
  197. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  198. package/dist/store/sqlite/manifest.js +2 -0
  199. package/dist/store/sqlite/manifest.js.map +1 -1
  200. package/dist/store/sqlite/messages.d.ts +2 -0
  201. package/dist/store/sqlite/messages.d.ts.map +1 -1
  202. package/dist/store/sqlite/messages.js +13 -0
  203. package/dist/store/sqlite/messages.js.map +1 -1
  204. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  205. package/dist/store/sqlite/migrations.generated.js +12 -0
  206. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  207. package/dist/store/sqlite/reads.d.ts +52 -1
  208. package/dist/store/sqlite/reads.d.ts.map +1 -1
  209. package/dist/store/sqlite/reads.js +8 -2
  210. package/dist/store/sqlite/reads.js.map +1 -1
  211. package/dist/store/sqlite/schema.d.ts +16 -0
  212. package/dist/store/sqlite/schema.d.ts.map +1 -1
  213. package/dist/store/sqlite/schema.js +2 -0
  214. package/dist/store/sqlite/schema.js.map +1 -1
  215. package/dist/store/sqlite/search.d.ts +33 -0
  216. package/dist/store/sqlite/search.d.ts.map +1 -1
  217. package/package.json +1 -1
  218. package/parity.json +31 -8
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/sends/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/sends/guard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"guarded.d.ts","sourceRoot":"","sources":["../../src/sends/guarded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,2EAA2E;AAC3E,KAAK,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAA;CACjB,CAAA;AAED,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAA;AAIrD,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,EAAE,MAAM,IAAI,CAAA;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,uCAA8C,CAAA;AAQzE,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,GAAG,CAAC,aAAa,CAAC,QAAQ,MAAM,CAAC,KAAG,CAI5E,CAAA;AACD,eAAO,MAAM,UAAU,UAAW,GAAG,CAAC,aAAa,CAAC,UAAU,OAAO,KAAG,IAGvE,CAAA;AAKD,gHAAgH;AAChH,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,SAA+B,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,CAAC,SAC3B,SAAS,WACP,OAAO,OACX,MAAM,OAAO,CAAC,CAAC,CAAC,YACZ,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,YAC5B,MAAM,OAAO,CAAC,IAAI,CAAC,KAC5B,OAAO,CAAC,CAAC,CA4DX,CAAA;AAED,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MACgE,CAAA"}
1
+ {"version":3,"file":"guarded.d.ts","sourceRoot":"","sources":["../../src/sends/guarded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,2EAA2E;AAC3E,KAAK,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAA;CACjB,CAAA;AAED,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAA;AAIrD,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,EAAE,MAAM,IAAI,CAAA;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,uCAA8C,CAAA;AAQzE,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,GAAG,CAAC,aAAa,CAAC,QAAQ,MAAM,CAAC,KAAG,CAI5E,CAAA;AACD,eAAO,MAAM,UAAU,UAAW,GAAG,CAAC,aAAa,CAAC,UAAU,OAAO,KAAG,IAGvE,CAAA;AAKD,gHAAgH;AAChH,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,SAA+B,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,CAAC,SAC3B,SAAS,WACP,OAAO,OACX,MAAM,OAAO,CAAC,CAAC,CAAC,YACZ,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,YAC5B,MAAM,OAAO,CAAC,IAAI,CAAC,KAC5B,OAAO,CAAC,CAAC,CAsEX,CAAA;AAED,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MACgE,CAAA"}
@@ -44,12 +44,25 @@ export const guardedWrite = async (guard, attempt, act, settled = () => ({}), pr
44
44
  try {
45
45
  await guard.ask?.(attempt);
46
46
  refuseStopped(scopes);
47
- guard.check(attempt);
47
+ if (guard.reserve) {
48
+ guard.check(attempt, { reserve: false });
49
+ await guard.reserve(attempt);
50
+ }
51
+ else
52
+ guard.check(attempt);
48
53
  }
49
54
  catch (error) {
50
55
  guard.record({ ...attempt, outcome: "refused", errorCode: codeOf(error) });
51
56
  throw error;
52
57
  }
58
+ try {
59
+ // The deadline may have ended the command while the reservation waited for the journal lock.
60
+ refuseStopped(scopes);
61
+ }
62
+ catch (error) {
63
+ guard.record({ ...attempt, outcome: "failed", errorCode: codeOf(error) });
64
+ throw error;
65
+ }
53
66
  let recorded = false;
54
67
  const once = (entry) => {
55
68
  if (recorded)
@@ -1 +1 @@
1
- {"version":3,"file":"guarded.js","sourceRoot":"","sources":["../../src/sends/guarded.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guarded.js","sourceRoot":"","sources":["../../src/sends/guarded.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type { Upload, UploadKind, UploadSource } from "../domain/attachments.js";
1
+ export type { StickerFile, Upload, UploadKind, UploadSource } from "../domain/attachments.js";
2
2
  export { type FloodDeadline, FloodMemory, type FloodState, FROZEN_HOLD_MS, floodPathFor, LIMITED_HOLD_MS, type SendBlock, } from "./flood.js";
3
3
  export { type Asker, type GuardRequest, guardFor, type SendGuard, type SendGuardOptions, sendGuard, sharedJournal, } from "./guard.js";
4
4
  export { currentOperation, guardedWrite, type Operated } from "./guarded.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sends/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,EACL,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,UAAU,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,KAAK,SAAS,GACf,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,MAAM,EACN,KAAK,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EACL,yBAAyB,EACzB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sends/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EACL,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,UAAU,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,KAAK,SAAS,GACf,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,MAAM,EACN,KAAK,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EACL,yBAAyB,EACzB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,aAAa,CAAA"}
@@ -46,7 +46,7 @@ export interface SendEntry {
46
46
  length?: number;
47
47
  /** What was attached, by kind and size — never a file name. */
48
48
  attachments?: {
49
- kind: "photo" | "file" | "video" | "voice";
49
+ kind: "photo" | "file" | "video" | "voice" | "sticker";
50
50
  bytes: number;
51
51
  }[];
52
52
  /** When the provider will send it; it counts toward the limit of that hour, not of the hour it was queued. */
@@ -81,6 +81,8 @@ export declare class SendJournal {
81
81
  * read "one left". A lock file opened with `wx`, because `flock` is not there on Windows.
82
82
  */
83
83
  locked<T>(body: () => T): T;
84
+ /** `locked` without blocking the thread while another process holds the journal: what `serve` uses. */
85
+ lockedAsync<T>(body: () => T): Promise<T>;
84
86
  append(entry: SendEntry): void;
85
87
  /**
86
88
  * Oldest first, each reservation folded into its outcome; one with no outcome yet is in flight,
@@ -1 +1 @@
1
- {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/sends/journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/sends/journal.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { logRecordOf, resolvePaths } from "@wirecat/cli-base";
4
4
  import { LOG_ATTRIBUTES } from "../runs/log-attributes.js";
5
5
  import { fromLogAttributes, logAttributes } from "../runs/log-keys.js";
6
6
  import { currentRun } from "../runs/scope.js";
7
- import { withFileLock } from "./file-lock.js";
7
+ import { withFileLock, withFileLockAsync } from "./file-lock.js";
8
8
  /**
9
9
  * `<state dir>/sends/<profile>.jsonl` — beside `runs`, never in the cache directory, so that
10
10
  * clearing a cache cannot erase what was sent in the owner's name.
@@ -30,6 +30,10 @@ export class SendJournal {
30
30
  locked(body) {
31
31
  return withFileLock(this.path, "the send journal", body);
32
32
  }
33
+ /** `locked` without blocking the thread while another process holds the journal: what `serve` uses. */
34
+ lockedAsync(body) {
35
+ return withFileLockAsync(this.path, "the send journal", body);
36
+ }
33
37
  append(entry) {
34
38
  const { at, ...attributes } = entry;
35
39
  const { runId, command, traceId } = currentRun();
@@ -1 +1 @@
1
- {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/sends/journal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAI7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAkH7C;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAgB,EAAE,OAAe,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAU,EAAE,CAC9G,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,QAAQ,CAAC,CAAA;AAE7G;;;GAGG;AACH,MAAM,OAAO,WAAW;IAEX,IAAI;IAEI,QAAQ;IAH3B,YACW,IAAY;IACrB,kFAAkF;IACjE,QAAQ,GAA0B,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;oBAFpF,IAAI;wBAEI,QAAQ;IACxB,CAAC;IAEJ;;;OAGG;IACH,MAAM,CAAI,IAAa;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,CAAC,KAAgB;QACrB,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;QACnC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;QAChD,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,QAAQ,EAAE,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACpF,KAAK,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,CAAC;YAC/D,IAAI,EAAE,EAAE;YACR,KAAK;YACL,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAA;QACF,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;QAChH,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAClF,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACtG,GAAG,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;IAED,MAAM;QACJ,IAAI,IAAY,CAAA;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,IAAI;aACR,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;aACpC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC,CAAC,CAAA;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC,CAAC,CAAA;IACN,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,GAAG,CAAC,IAA2B,EAAa,EAAE;IACzD,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;IACnD,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,EAAe,CAAA;AACzE,CAAC,CAAA;AAED,gGAAgG;AAChG,MAAM,UAAU,GAAG,CAAC,KAAmC,EAAa,EAAE;IACpE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC9B,OAAO,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;AACjG,CAAC,CAAA"}
1
+ {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/sends/journal.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,11 @@ export declare class Pacer {
22
22
  constructor(path: string, rate: PaceRate, now?: () => number);
23
23
  get interval(): number;
24
24
  /** When this call may go; reserved at once, so the next caller in any process lines up behind it. */
25
- reserve(): number;
25
+ reserve(): Promise<number>;
26
26
  /** The messenger asked every caller to wait: nothing goes before `now + waitMs`, in any process. */
27
- holdFor(waitMs: number): void;
27
+ holdFor(waitMs: number): Promise<void>;
28
28
  /** The owner's `flood clear`: every process may go again at once. */
29
- reset(): void;
29
+ reset(): Promise<void>;
30
30
  private read;
31
31
  private write;
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pace.d.ts","sourceRoot":"","sources":["../../src/sends/pace.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,yFAAyF;AACzF,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;CACd;AAED,gHAAgH;AAChH,eAAO,MAAM,YAAY,EAAE,QAAuC,CAAA;AAElE,0DAA0D;AAC1D,eAAO,MAAM,WAAW,QAAS,WAAW,WAAW,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,MACK,CAAA;AAE3G;;;;GAIG;AACH,qBAAa,KAAK;IAEd,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHtB,YACW,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,QAAQ,EACd,GAAG,GAAE,MAAM,MAAiB,EAC3C;IAEJ,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,qGAAqG;IACrG,OAAO,IAAI,MAAM,CAQhB;IAED,oGAAoG;IACpG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAM5B;IAED,qEAAqE;IACrE,KAAK,IAAI,IAAI,CAEZ;IAED,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,KAAK;CAKd"}
1
+ {"version":3,"file":"pace.d.ts","sourceRoot":"","sources":["../../src/sends/pace.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,yFAAyF;AACzF,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;CACd;AAED,gHAAgH;AAChH,eAAO,MAAM,YAAY,EAAE,QAAuC,CAAA;AAElE,0DAA0D;AAC1D,eAAO,MAAM,WAAW,QAAS,WAAW,WAAW,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,MACK,CAAA;AAE3G;;;;GAIG;AACH,qBAAa,KAAK;IAEd,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHtB,YACW,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,QAAQ,EACd,GAAG,GAAE,MAAM,MAAiB,EAC3C;IAEJ,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,qGAAqG;IAC/F,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ/B;IAED,oGAAoG;IAC9F,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3C;IAED,qEAAqE;IAC/D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,KAAK;CAKd"}
@@ -1,7 +1,7 @@
1
1
  import { readFileSync, renameSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { resolvePaths } from "@wirecat/cli-base";
4
- import { withFileLock } from "./file-lock.js";
4
+ import { withFileLockAsync } from "./file-lock.js";
5
5
  /** One call a second after a burst of 20: what a single `messages sync` already did with its 1 s page pause. */
6
6
  export const DEFAULT_PACE = { perMinute: 60, burst: 20 };
7
7
  /** `<state dir>/pace/<profile>.json`, beside `flood/`. */
@@ -24,28 +24,28 @@ export class Pacer {
24
24
  return this.rate.perMinute > 0 ? 60_000 / this.rate.perMinute : 0;
25
25
  }
26
26
  /** When this call may go; reserved at once, so the next caller in any process lines up behind it. */
27
- reserve() {
27
+ async reserve() {
28
28
  const now = this.now();
29
29
  if (this.interval === 0)
30
30
  return now;
31
- return withFileLock(this.path, "the request pace", () => {
31
+ return withFileLockAsync(this.path, "the request pace", () => {
32
32
  const tat = Math.max(this.read(), now);
33
33
  this.write(tat + this.interval);
34
34
  return Math.max(now, tat - this.rate.burst * this.interval);
35
35
  });
36
36
  }
37
37
  /** The messenger asked every caller to wait: nothing goes before `now + waitMs`, in any process. */
38
- holdFor(waitMs) {
38
+ async holdFor(waitMs) {
39
39
  if (this.interval === 0)
40
40
  return;
41
- withFileLock(this.path, "the request pace", () => {
41
+ await withFileLockAsync(this.path, "the request pace", () => {
42
42
  const hold = this.now() + waitMs + this.rate.burst * this.interval;
43
43
  this.write(Math.max(this.read(), hold));
44
44
  });
45
45
  }
46
46
  /** The owner's `flood clear`: every process may go again at once. */
47
- reset() {
48
- withFileLock(this.path, "the request pace", () => this.write(0));
47
+ async reset() {
48
+ await withFileLockAsync(this.path, "the request pace", () => this.write(0));
49
49
  }
50
50
  read() {
51
51
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"pace.js","sourceRoot":"","sources":["../../src/sends/pace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU7C,gHAAgH;AAChH,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AAElE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAgB,EAAE,OAAe,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAU,EAAE,CAC7G,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;AAE3G;;;;GAIG;AACH,MAAM,OAAO,KAAK;IAEL,IAAI;IACI,IAAI;IACJ,GAAG;IAHtB,YACW,IAAY,EACJ,IAAc,EACd,GAAG,GAAiB,IAAI,CAAC,GAAG;oBAFpC,IAAI;oBACI,IAAI;mBACJ,GAAG;IACnB,CAAC;IAEJ,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,qGAAqG;IACrG,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,GAAG,CAAA;QACnC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oGAAoG;IACpG,OAAO,CAAC,MAAc;QACpB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAM;QAC/B,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAA;YAClE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,qEAAqE;IACrE,KAAK;QACH,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IAEO,IAAI;QACV,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAuB,CAAC,GAAG,CAAC,CAAA;YAC1F,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,GAAW;QACvB,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAA;QACnD,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAClE,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"pace.js","sourceRoot":"","sources":["../../src/sends/pace.ts"],"names":[],"mappings":"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"}
@@ -27,13 +27,15 @@ export declare class RecipientList {
27
27
  read(): Recipient[] | undefined;
28
28
  /** Whether it was new. Adding one again fills in a partner an older entry was stored without. */
29
29
  add(recipient: Recipient): boolean;
30
+ /** `add` waiting for the lock on timers: `recipients add` connects, so it runs inside `serve` when one holds the account. */
31
+ addAsync(recipient: Recipient): Promise<boolean>;
30
32
  /** The id or the title as it was stored; `undefined` when neither matched. */
31
33
  remove(reference: string): Recipient | undefined;
32
34
  /**
33
35
  * The chat the messenger now names `to`: its entry, and a partner of that id, follow it. Only an entry already there
34
36
  * changes, and no list is created, so the list never opens up. Whether anything changed.
35
37
  */
36
- rekey(from: Id, to: Id): boolean;
38
+ rekey(from: Id, to: Id): Promise<boolean>;
37
39
  /** Whether there was a list to turn off. */
38
40
  off(): boolean;
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../src/sends/recipients.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,CAAA;IACN,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAS,WAAW,WAAW,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,MAKzG,CAAA;AAEH;;;GAGG;AACH,qBAAa,aAAa;;IAGtB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;IAJ9B,uEAAuE;IACvE,YACW,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,YAAA,EAC1B;IAEJ,mGAAmG;IACnG,IAAI,IAAI,SAAS,EAAE,GAAG,SAAS,CAa9B;IAED,iGAAiG;IACjG,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAajC;IAED,8EAA8E;IAC9E,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU/C;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAiB/B;IAED,4CAA4C;IAC5C,GAAG,IAAI,OAAO,CAMb;CAaF"}
1
+ {"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../src/sends/recipients.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,CAAA;IACN,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAS,WAAW,WAAW,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,MAKzG,CAAA;AAEH;;;GAGG;AACH,qBAAa,aAAa;;IAGtB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;IAJ9B,uEAAuE;IACvE,YACW,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,YAAA,EAC1B;IAEJ,mGAAmG;IACnG,IAAI,IAAI,SAAS,EAAE,GAAG,SAAS,CAa9B;IAED,iGAAiG;IACjG,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAEjC;IAED,6HAA6H;IAC7H,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/C;IAeD,8EAA8E;IAC9E,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU/C;IAED;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB9C;IAED,4CAA4C;IAC5C,GAAG,IAAI,OAAO,CAMb;CAeF"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readFileSync, rmSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { CliError, resolvePaths, writeSecurely } from "@wirecat/cli-base";
4
- import { withFileLock } from "./file-lock.js";
4
+ import { withFileLock, withFileLockAsync } from "./file-lock.js";
5
5
  /**
6
6
  * A state file, not a setting: the configuration schema has deliberately no place for a chat id,
7
7
  * and this list is data about a profile rather than a preference.
@@ -38,18 +38,23 @@ export class RecipientList {
38
38
  }
39
39
  /** Whether it was new. Adding one again fills in a partner an older entry was stored without. */
40
40
  add(recipient) {
41
- return this.#locked(() => {
42
- const chats = this.read() ?? [];
43
- const known = chats.find((chat) => chat.id === recipient.id);
44
- if (known) {
45
- if (recipient.partnerId && !known.partnerId) {
46
- this.#write(chats.map((chat) => (chat === known ? { ...known, partnerId: recipient.partnerId } : chat)));
47
- }
48
- return false;
41
+ return this.#locked(() => this.#added(recipient));
42
+ }
43
+ /** `add` waiting for the lock on timers: `recipients add` connects, so it runs inside `serve` when one holds the account. */
44
+ addAsync(recipient) {
45
+ return withFileLockAsync(this.path, "the recipient list", () => this.#added(recipient), this.lockWaitMs);
46
+ }
47
+ #added(recipient) {
48
+ const chats = this.read() ?? [];
49
+ const known = chats.find((chat) => chat.id === recipient.id);
50
+ if (known) {
51
+ if (recipient.partnerId && !known.partnerId) {
52
+ this.#write(chats.map((chat) => (chat === known ? { ...known, partnerId: recipient.partnerId } : chat)));
49
53
  }
50
- this.#write([...chats, recipient]);
51
- return true;
52
- });
54
+ return false;
55
+ }
56
+ this.#write([...chats, recipient]);
57
+ return true;
53
58
  }
54
59
  /** The id or the title as it was stored; `undefined` when neither matched. */
55
60
  remove(reference) {
@@ -67,10 +72,10 @@ export class RecipientList {
67
72
  * The chat the messenger now names `to`: its entry, and a partner of that id, follow it. Only an entry already there
68
73
  * changes, and no list is created, so the list never opens up. Whether anything changed.
69
74
  */
70
- rekey(from, to) {
75
+ async rekey(from, to) {
71
76
  if (from === to)
72
77
  return false;
73
- return this.#locked(() => {
78
+ return withFileLockAsync(this.path, "the recipient list", () => {
74
79
  const chats = this.read();
75
80
  if (!chats?.some((chat) => chat.id === from || chat.partnerId === from))
76
81
  return false;
@@ -83,7 +88,7 @@ export class RecipientList {
83
88
  ...(chat.partnerId === from ? { partnerId: to } : {}),
84
89
  })));
85
90
  return true;
86
- });
91
+ }, this.lockWaitMs);
87
92
  }
88
93
  /** Whether there was a list to turn off. */
89
94
  off() {
@@ -96,7 +101,9 @@ export class RecipientList {
96
101
  }
97
102
  /**
98
103
  * Every change reads and writes under one lock: a `serve` re-keying while the owner removes a chat must not write
99
- * the removed chat back. A lock held too long refuses the change and leaves the list as it was.
104
+ * the removed chat back. A lock held too long refuses the change and leaves the list as it was. Blocks the thread
105
+ * while it waits: for callers that cannot be async, and `recipients remove` and `clear`, which never
106
+ * connect and so never run inside `serve`.
100
107
  */
101
108
  #locked(body) {
102
109
  return withFileLock(this.path, "the recipient list", body, this.lockWaitMs);
@@ -1 +1 @@
1
- {"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/sends/recipients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/sends/recipients.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Upload, UploadKind, UploadSource } from "../domain/attachments.js";
1
+ import type { StickerFile, Upload, UploadKind, UploadSource } from "../domain/attachments.js";
2
2
  import type { AppIdentity } from "../ports/app.js";
3
3
  /** The most `uploadBytes` holds in memory; an adapter that can stream uses `uploadBlob` and has no such cap. */
4
4
  export declare const MAX_BUFFERED_UPLOAD_BYTES: number;
@@ -7,13 +7,20 @@ export declare const uploadSize: (source: UploadSource) => number;
7
7
  export declare const uploadBlob: (source: UploadSource, type?: string) => Promise<Blob>;
8
8
  /** The upload's bytes in memory, for a messenger library that takes nothing else. */
9
9
  export declare const uploadBytes: (source: UploadSource) => Promise<Uint8Array>;
10
+ /** `[".jpg", ".jpeg"]` as help says it: ".jpg or .jpeg". */
11
+ export declare const typesText: (types: readonly string[]) => string;
10
12
  /** Protect known credential/state paths without refusing ordinary hidden developer folders. */
11
13
  export declare const refusedPlace: (path: string, app: AppIdentity, env: NodeJS.ProcessEnv, platform?: NodeJS.Platform) => boolean;
12
- export declare const readUpload: (kind: UploadKind, path: string, { app, env, anyFile }: {
14
+ export declare const readUpload: (kind: UploadKind, path: string, { app, env, anyFile, photoTypes, }: {
13
15
  app: AppIdentity;
14
16
  env?: NodeJS.ProcessEnv;
15
17
  anyFile?: boolean;
18
+ photoTypes?: readonly string[];
16
19
  }) => Promise<Upload>;
20
+ /**
21
+ * What a send attaches, as `messages send` and its tool take it. A voice message goes alone, as the
22
+ * messengers' own apps send one.
23
+ */
17
24
  export declare const readAttachments: ({ photo, file, voice, asFile, filename, text, }: {
18
25
  photo?: string;
19
26
  file?: string;
@@ -26,4 +33,10 @@ export declare const readAttachments: ({ photo, file, voice, asFile, filename, t
26
33
  env?: NodeJS.ProcessEnv;
27
34
  anyFile?: boolean;
28
35
  }) => Promise<Upload[]>;
36
+ /** A sticker to send from a file: a WebP image of at most `maxBytes`, behind the same file guard as `--file`. */
37
+ export declare const readStickerFile: (path: string, maxBytes: number, read: {
38
+ app: AppIdentity;
39
+ env?: NodeJS.ProcessEnv;
40
+ anyFile?: boolean;
41
+ }) => Promise<StickerFile>;
29
42
  //# sourceMappingURL=upload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/sends/upload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,gHAAgH;AAChH,eAAO,MAAM,yBAAyB,QAAoB,CAAA;AAE1D,eAAO,MAAM,UAAU,WAAY,YAAY,KAAG,MACc,CAAA;AAIhE,8DAA8D;AAC9D,eAAO,MAAM,UAAU,WAAkB,YAAY,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAKlF,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,WAAW,WAAkB,YAAY,KAAG,OAAO,CAAC,UAAU,CAW1E,CAAA;AAwED,+FAA+F;AAC/F,eAAO,MAAM,YAAY,SACjB,MAAM,OACP,WAAW,OACX,MAAM,CAAC,UAAU,aACZ,MAAM,CAAC,QAAQ,KACxB,OA4CF,CAAA;AAOD,eAAO,MAAM,UAAU,SACf,UAAU,QACV,MAAM,yBACiC;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAC5G,OAAO,CAAC,MAAM,CAuBhB,CAAA;AAYD,eAAO,MAAM,eAAe,oDAQvB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,QAClG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KACrE,OAAO,CAAC,MAAM,EAAE,CAmBlB,CAAA"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/sends/upload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,gHAAgH;AAChH,eAAO,MAAM,yBAAyB,QAAoB,CAAA;AAE1D,eAAO,MAAM,UAAU,WAAY,YAAY,KAAG,MACc,CAAA;AAIhE,8DAA8D;AAC9D,eAAO,MAAM,UAAU,WAAkB,YAAY,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAKlF,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,WAAW,WAAkB,YAAY,KAAG,OAAO,CAAC,UAAU,CAW1E,CAAA;AA2BD,4DAA4D;AAC5D,eAAO,MAAM,SAAS,UAAW,SAAS,MAAM,EAAE,KAAG,MACwC,CAAA;AAqE7F,+FAA+F;AAC/F,eAAO,MAAM,YAAY,SACjB,MAAM,OACP,WAAW,OACX,MAAM,CAAC,UAAU,aACZ,MAAM,CAAC,QAAQ,KACxB,OA4CF,CAAA;AAOD,eAAO,MAAM,UAAU,SACf,UAAU,QACV,MAAM,sCAMT;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,KAClG,OAAO,CAAC,MAAM,CAmChB,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,eAAe,oDAQvB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,QAClG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KACrE,OAAO,CAAC,MAAM,EAAE,CAmBlB,CAAA;AAED,iHAAiH;AACjH,eAAO,MAAM,eAAe,SACpB,MAAM,YACF,MAAM,QACV;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KACrE,OAAO,CAAC,WAAW,CAcrB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { openAsBlob, realpathSync } from "node:fs";
2
- import { stat } from "node:fs/promises";
2
+ import { open, stat } from "node:fs/promises";
3
3
  import { basename, dirname, extname, isAbsolute, relative, resolve, sep } from "node:path";
4
4
  import { CliError, resolvePaths } from "@wirecat/cli-base";
5
5
  import { storePath, wirecatDirectory } from "../store/path.js";
@@ -30,6 +30,29 @@ export const uploadBytes = async (source) => {
30
30
  };
31
31
  const PHOTO = new Set([".jpg", ".jpeg", ".png", ".webp"]);
32
32
  const VOICE = new Set([".ogg", ".oga", ".opus"]);
33
+ const JPEG = (head) => head[0] === 0xff && head[1] === 0xd8 && head[2] === 0xff;
34
+ const SIGNATURES = {
35
+ ".jpg": JPEG,
36
+ ".jpeg": JPEG,
37
+ ".png": (head) => Buffer.from(head.subarray(0, 8)).toString("latin1") === "\x89PNG\r\n\x1a\n",
38
+ ".webp": (head) => {
39
+ const text = Buffer.from(head).toString("latin1");
40
+ return text.startsWith("RIFF") && text.slice(8, 12) === "WEBP";
41
+ },
42
+ };
43
+ const fileHead = async (path) => {
44
+ const file = await open(path, "r");
45
+ try {
46
+ const head = new Uint8Array(12);
47
+ const { bytesRead } = await file.read(head, 0, head.length, 0);
48
+ return head.subarray(0, bytesRead);
49
+ }
50
+ finally {
51
+ await file.close();
52
+ }
53
+ };
54
+ /** `[".jpg", ".jpeg"]` as help says it: ".jpg or .jpeg". */
55
+ export const typesText = (types) => types.length < 2 ? (types[0] ?? "") : `${types.slice(0, -1).join(", ")} or ${types.at(-1)}`;
33
56
  /** Single path parts that hold credentials wherever they are. */
34
57
  const CREDENTIAL_PARTS = new Set([
35
58
  ".ssh",
@@ -138,39 +161,52 @@ const inside = (path, dir) => {
138
161
  const way = relative(resolve(dir), path);
139
162
  return way === "" || (!way.startsWith("..") && !isAbsolute(way));
140
163
  };
141
- export const readUpload = async (kind, path, { app, env = process.env, anyFile = false }) => {
142
- if (kind === "photo" && !PHOTO.has(extname(path).toLowerCase())) {
164
+ export const readUpload = async (kind, path, { app, env = process.env, anyFile = false, photoTypes, }) => {
165
+ const extension = extname(path).toLowerCase();
166
+ if (kind === "photo" && photoTypes !== undefined && !photoTypes.includes(extension)) {
167
+ throw new CliError("validation_error", `this photo must be a ${typesText(photoTypes)} file, not ${path}`);
168
+ }
169
+ if (kind === "photo" && photoTypes === undefined && !PHOTO.has(extension)) {
143
170
  throw new CliError("validation_error", `a photo is a .jpg, .png or .webp — send ${path} as a file instead`);
144
171
  }
145
- if (kind === "voice" && !VOICE.has(extname(path).toLowerCase())) {
172
+ if (kind === "voice" && !VOICE.has(extension)) {
146
173
  throw new CliError("validation_error", `a voice message is Ogg Opus: .ogg, .oga or .opus — send ${path} as a file`);
147
174
  }
148
175
  if (!anyFile && refusedPlace(path, app, env)) {
149
176
  throw new CliError("validation_error", `cannot send ${path}: known credential files, browser profiles, the WireCat apps' folders and the message ` +
150
177
  "store are not sent — the owner adds --allow-any-file to the command if this file is meant to go");
151
178
  }
179
+ let size;
180
+ let head;
152
181
  try {
153
182
  const info = await stat(path);
154
183
  if (!info.isFile())
155
184
  throw Object.assign(new Error("not a file"), { code: "EISDIR" });
156
- return { kind, name: basename(path), source: { kind: "file", path: resolve(path), size: info.size } };
185
+ size = info.size;
186
+ if (photoTypes !== undefined && SIGNATURES[extension] !== undefined)
187
+ head = await fileHead(path);
157
188
  }
158
189
  catch (error) {
159
190
  const code = error.code;
160
191
  const reason = code === "ENOENT" ? "no such file" : code === "EISDIR" ? "it is a folder" : "it cannot be read";
161
192
  throw new CliError("validation_error", `cannot send ${path}: ${reason}`);
162
193
  }
194
+ // A renamed file passes the extension check, and the messenger would refuse it only after connecting.
195
+ if (head !== undefined && SIGNATURES[extension]?.(head) !== true) {
196
+ throw new CliError("validation_error", `${path} is not a ${typesText(photoTypes ?? [])} image inside`);
197
+ }
198
+ return { kind, name: basename(path), source: { kind: "file", path: resolve(path), size } };
163
199
  };
164
- /**
165
- * What a send attaches, as `messages send` and its tool take it. A voice message goes alone, as the
166
- * messengers' own apps send one.
167
- */
168
200
  const checkFilename = (filename, file) => {
169
201
  if (file === undefined)
170
202
  throw new CliError("validation_error", "--filename names a --file; give one");
171
203
  if (filename.trim() === "" || /[/\\\0]/.test(filename) || filename.length > 255)
172
204
  throw new CliError("validation_error", "--filename is a name, not a path: no / or \\, at most 255 characters");
173
205
  };
206
+ /**
207
+ * What a send attaches, as `messages send` and its tool take it. A voice message goes alone, as the
208
+ * messengers' own apps send one.
209
+ */
174
210
  export const readAttachments = async ({ photo, file, voice, asFile, filename, text, }, read) => {
175
211
  if (voice !== undefined && (photo !== undefined || file !== undefined || (text ?? "").trim() !== "")) {
176
212
  throw new CliError("validation_error", "a voice message goes alone — no text, no file, no photo beside it");
@@ -193,4 +229,17 @@ export const readAttachments = async ({ photo, file, voice, asFile, filename, te
193
229
  ...(voice === undefined ? [] : [await readUpload("voice", voice, read)]),
194
230
  ];
195
231
  };
232
+ /** A sticker to send from a file: a WebP image of at most `maxBytes`, behind the same file guard as `--file`. */
233
+ export const readStickerFile = async (path, maxBytes, read) => {
234
+ if (extname(path).toLowerCase() !== ".webp")
235
+ throw new CliError("validation_error", `a sticker is a .webp — send ${path} as a photo or a file instead`);
236
+ const { name, source } = await readUpload("file", path, read);
237
+ if (SIGNATURES[".webp"]?.(await fileHead(path)) !== true)
238
+ throw new CliError("validation_error", `${path} is named .webp but is not a WebP image — nothing was sent`);
239
+ const size = uploadSize(source);
240
+ if (size > maxBytes)
241
+ throw new CliError("validation_error", `the sticker is ${Math.ceil(size / 1024)} KiB, and this messenger takes at most ` +
242
+ `${Math.floor(maxBytes / 1024)} KiB — nothing was sent`);
243
+ return { name, source };
244
+ };
196
245
  //# sourceMappingURL=upload.js.map