@wirecat/zoom-cli 0.13.0 → 0.15.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 (213) hide show
  1. package/README.md +4 -4
  2. package/dist/answer-output.d.ts +21 -2
  3. package/dist/answer-output.d.ts.map +1 -1
  4. package/dist/answer-output.js +44 -37
  5. package/dist/answer-output.js.map +1 -1
  6. package/dist/answers.d.ts +2 -2
  7. package/dist/answers.d.ts.map +1 -1
  8. package/dist/answers.js +12 -43
  9. package/dist/answers.js.map +1 -1
  10. package/dist/api.d.ts.map +1 -1
  11. package/dist/api.js +20 -19
  12. package/dist/api.js.map +1 -1
  13. package/dist/archive-commands.d.ts +5 -4
  14. package/dist/archive-commands.d.ts.map +1 -1
  15. package/dist/archive-commands.js +31 -30
  16. package/dist/archive-commands.js.map +1 -1
  17. package/dist/archive-import.d.ts +2 -2
  18. package/dist/archive-import.d.ts.map +1 -1
  19. package/dist/archive-import.js +20 -30
  20. package/dist/archive-import.js.map +1 -1
  21. package/dist/archive-transcripts.d.ts.map +1 -1
  22. package/dist/archive-transcripts.js +22 -21
  23. package/dist/archive-transcripts.js.map +1 -1
  24. package/dist/bin/zm.js +2 -5
  25. package/dist/bin/zm.js.map +1 -1
  26. package/dist/command-effects.js +1 -1
  27. package/dist/command-effects.js.map +1 -1
  28. package/dist/commands.d.ts +2 -1
  29. package/dist/commands.d.ts.map +1 -1
  30. package/dist/commands.js +8 -8
  31. package/dist/commands.js.map +1 -1
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/config.js +54 -37
  34. package/dist/config.js.map +1 -1
  35. package/dist/errors.d.ts +0 -4
  36. package/dist/errors.d.ts.map +1 -1
  37. package/dist/errors.js +2 -7
  38. package/dist/errors.js.map +1 -1
  39. package/dist/execution.d.ts.map +1 -1
  40. package/dist/execution.js +3 -4
  41. package/dist/execution.js.map +1 -1
  42. package/dist/files.d.ts.map +1 -1
  43. package/dist/files.js +9 -9
  44. package/dist/files.js.map +1 -1
  45. package/dist/folders.d.ts +2 -7
  46. package/dist/folders.d.ts.map +1 -1
  47. package/dist/folders.js +2 -35
  48. package/dist/folders.js.map +1 -1
  49. package/dist/index.d.ts +2 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/ingestion-search-commands.d.ts +3 -2
  54. package/dist/ingestion-search-commands.d.ts.map +1 -1
  55. package/dist/ingestion-search-commands.js +5 -5
  56. package/dist/ingestion-search-commands.js.map +1 -1
  57. package/dist/json-fields.d.ts +7 -0
  58. package/dist/json-fields.d.ts.map +1 -0
  59. package/dist/json-fields.js +23 -0
  60. package/dist/json-fields.js.map +1 -0
  61. package/dist/keys.d.ts +1 -1
  62. package/dist/keys.d.ts.map +1 -1
  63. package/dist/keys.js +7 -5
  64. package/dist/keys.js.map +1 -1
  65. package/dist/local-transcription-commands.d.ts +3 -2
  66. package/dist/local-transcription-commands.d.ts.map +1 -1
  67. package/dist/local-transcription-commands.js +6 -6
  68. package/dist/local-transcription-commands.js.map +1 -1
  69. package/dist/local-transcription.d.ts.map +1 -1
  70. package/dist/local-transcription.js +13 -12
  71. package/dist/local-transcription.js.map +1 -1
  72. package/dist/login.d.ts.map +1 -1
  73. package/dist/login.js +8 -7
  74. package/dist/login.js.map +1 -1
  75. package/dist/mcp-server.d.ts +2 -0
  76. package/dist/mcp-server.d.ts.map +1 -1
  77. package/dist/mcp-server.js +33 -42
  78. package/dist/mcp-server.js.map +1 -1
  79. package/dist/meeting-context-commands.d.ts +2 -1
  80. package/dist/meeting-context-commands.d.ts.map +1 -1
  81. package/dist/meeting-context-commands.js +10 -15
  82. package/dist/meeting-context-commands.js.map +1 -1
  83. package/dist/meeting-context.d.ts +6 -6
  84. package/dist/meeting-context.d.ts.map +1 -1
  85. package/dist/meeting-context.js +8 -21
  86. package/dist/meeting-context.js.map +1 -1
  87. package/dist/meeting-integration-commands.d.ts +3 -2
  88. package/dist/meeting-integration-commands.d.ts.map +1 -1
  89. package/dist/meeting-integration-commands.js +6 -6
  90. package/dist/meeting-integration-commands.js.map +1 -1
  91. package/dist/meeting-integration.d.ts.map +1 -1
  92. package/dist/meeting-integration.js +2 -2
  93. package/dist/meeting-integration.js.map +1 -1
  94. package/dist/meeting-mcp-command.d.ts +19 -0
  95. package/dist/meeting-mcp-command.d.ts.map +1 -0
  96. package/dist/meeting-mcp-command.js +41 -0
  97. package/dist/meeting-mcp-command.js.map +1 -0
  98. package/dist/meeting-preparation-mcp.d.ts +131 -0
  99. package/dist/meeting-preparation-mcp.d.ts.map +1 -0
  100. package/dist/meeting-preparation-mcp.js +20 -0
  101. package/dist/meeting-preparation-mcp.js.map +1 -0
  102. package/dist/meeting-preparation.d.ts +22 -0
  103. package/dist/meeting-preparation.d.ts.map +1 -0
  104. package/dist/meeting-preparation.js +29 -0
  105. package/dist/meeting-preparation.js.map +1 -0
  106. package/dist/meeting-project-evidence-commands.d.ts +1 -4
  107. package/dist/meeting-project-evidence-commands.d.ts.map +1 -1
  108. package/dist/meeting-project-evidence-commands.js +2 -6
  109. package/dist/meeting-project-evidence-commands.js.map +1 -1
  110. package/dist/meeting-project-evidence-mcp.d.ts.map +1 -1
  111. package/dist/meeting-project-evidence-mcp.js +2 -4
  112. package/dist/meeting-project-evidence-mcp.js.map +1 -1
  113. package/dist/meeting-read-command-bindings.d.ts +10 -0
  114. package/dist/meeting-read-command-bindings.d.ts.map +1 -0
  115. package/dist/meeting-read-command-bindings.js +13 -0
  116. package/dist/meeting-read-command-bindings.js.map +1 -0
  117. package/dist/meeting-search-commands.d.ts +3 -2
  118. package/dist/meeting-search-commands.d.ts.map +1 -1
  119. package/dist/meeting-search-commands.js +46 -38
  120. package/dist/meeting-search-commands.js.map +1 -1
  121. package/dist/meeting-semantic-commands.d.ts +3 -2
  122. package/dist/meeting-semantic-commands.d.ts.map +1 -1
  123. package/dist/meeting-semantic-commands.js +12 -12
  124. package/dist/meeting-semantic-commands.js.map +1 -1
  125. package/dist/meeting-semantic.d.ts.map +1 -1
  126. package/dist/meeting-semantic.js +3 -2
  127. package/dist/meeting-semantic.js.map +1 -1
  128. package/dist/occurrence-schedule.d.ts +3 -0
  129. package/dist/occurrence-schedule.d.ts.map +1 -0
  130. package/dist/occurrence-schedule.js +106 -0
  131. package/dist/occurrence-schedule.js.map +1 -0
  132. package/dist/output-file.js +3 -3
  133. package/dist/output-file.js.map +1 -1
  134. package/dist/program.d.ts +14 -28
  135. package/dist/program.d.ts.map +1 -1
  136. package/dist/program.js +152 -317
  137. package/dist/program.js.map +1 -1
  138. package/dist/recording-archive.d.ts +1 -1
  139. package/dist/recording-archive.d.ts.map +1 -1
  140. package/dist/recording-archive.js +99 -46
  141. package/dist/recording-archive.js.map +1 -1
  142. package/dist/recording-partial-store.d.ts.map +1 -1
  143. package/dist/recording-partial-store.js +11 -10
  144. package/dist/recording-partial-store.js.map +1 -1
  145. package/dist/recording-promotion-store.d.ts.map +1 -1
  146. package/dist/recording-promotion-store.js +4 -4
  147. package/dist/recording-promotion-store.js.map +1 -1
  148. package/dist/recording-schedule-commands.d.ts +3 -2
  149. package/dist/recording-schedule-commands.d.ts.map +1 -1
  150. package/dist/recording-schedule-commands.js +12 -12
  151. package/dist/recording-schedule-commands.js.map +1 -1
  152. package/dist/recording-schedule-store.d.ts.map +1 -1
  153. package/dist/recording-schedule-store.js +15 -14
  154. package/dist/recording-schedule-store.js.map +1 -1
  155. package/dist/recording-schedule-systemd.d.ts.map +1 -1
  156. package/dist/recording-schedule-systemd.js +16 -15
  157. package/dist/recording-schedule-systemd.js.map +1 -1
  158. package/dist/recording-schedule.d.ts +1 -1
  159. package/dist/recording-schedule.d.ts.map +1 -1
  160. package/dist/recording-schedule.js +15 -14
  161. package/dist/recording-schedule.js.map +1 -1
  162. package/dist/recording-sync-store.d.ts.map +1 -1
  163. package/dist/recording-sync-store.js +9 -9
  164. package/dist/recording-sync-store.js.map +1 -1
  165. package/dist/recording-sync.d.ts +1 -1
  166. package/dist/recording-sync.d.ts.map +1 -1
  167. package/dist/recording-sync.js +10 -19
  168. package/dist/recording-sync.js.map +1 -1
  169. package/dist/recordings.d.ts.map +1 -1
  170. package/dist/recordings.js +19 -18
  171. package/dist/recordings.js.map +1 -1
  172. package/dist/remote-http.d.ts +1 -0
  173. package/dist/remote-http.d.ts.map +1 -1
  174. package/dist/remote-http.js +26 -14
  175. package/dist/remote-http.js.map +1 -1
  176. package/dist/remote-meeting-id.d.ts +2 -0
  177. package/dist/remote-meeting-id.d.ts.map +1 -0
  178. package/dist/remote-meeting-id.js +7 -0
  179. package/dist/remote-meeting-id.js.map +1 -0
  180. package/dist/remote-meetings.d.ts.map +1 -1
  181. package/dist/remote-meetings.js +10 -13
  182. package/dist/remote-meetings.js.map +1 -1
  183. package/dist/store-connection.d.ts +1 -7
  184. package/dist/store-connection.d.ts.map +1 -1
  185. package/dist/store-connection.js +95 -176
  186. package/dist/store-connection.js.map +1 -1
  187. package/dist/streaming.js +3 -3
  188. package/dist/streaming.js.map +1 -1
  189. package/dist/tokens.d.ts.map +1 -1
  190. package/dist/tokens.js +10 -9
  191. package/dist/tokens.js.map +1 -1
  192. package/dist/unified-search.d.ts +1 -10
  193. package/dist/unified-search.d.ts.map +1 -1
  194. package/dist/unified-search.js +7 -6
  195. package/dist/unified-search.js.map +1 -1
  196. package/dist/upcoming-meetings.d.ts +10 -0
  197. package/dist/upcoming-meetings.d.ts.map +1 -0
  198. package/dist/upcoming-meetings.js +24 -0
  199. package/dist/upcoming-meetings.js.map +1 -0
  200. package/dist/watch-commands.d.ts +2 -1
  201. package/dist/watch-commands.d.ts.map +1 -1
  202. package/dist/watch-commands.js +8 -8
  203. package/dist/watch-commands.js.map +1 -1
  204. package/package.json +3 -3
  205. package/skills/zoom-cli/SKILL.md +127 -169
  206. package/dist/ordinary-file.d.ts +0 -3
  207. package/dist/ordinary-file.d.ts.map +0 -1
  208. package/dist/ordinary-file.js +0 -16
  209. package/dist/ordinary-file.js.map +0 -1
  210. package/dist/wav-audio.d.ts +0 -2
  211. package/dist/wav-audio.d.ts.map +0 -1
  212. package/dist/wav-audio.js +0 -2
  213. package/dist/wav-audio.js.map +0 -1
package/README.md CHANGED
@@ -46,7 +46,7 @@ walks through app settings, browser approval and callback completion.
46
46
 
47
47
  ```sh
48
48
  npm install -g @wirecat/zoom-cli
49
- zm config set zoom.clientId <public-client-id>
49
+ zm config set zoom.client_id <public-client-id>
50
50
  zm session start # approve in your browser; the token goes to the keyring
51
51
  zm config set account.profile personal # a label for your stored meetings
52
52
  zm meetings sync --lookback-days 7
@@ -207,7 +207,7 @@ More: [the local archive][docs/archive.md] · [Zoom on wirecat.dev][wirecat/en/d
207
207
  ```sh
208
208
  zm recordings sync --since-time 2026-01-01 --until-time 2026-10-10 --destination ./zoom-archive --jsonl
209
209
  zm recordings archive check ./zoom-archive --offline --json
210
- zm search meetings "example plan" --archive ./zoom-archive --offline --json
210
+ zm search recordings ./zoom-archive "example plan" --offline --json
211
211
  ```
212
212
 
213
213
  Sync covers up to ten years in monthly requests and downloads serially, streaming to disk. Each
@@ -285,7 +285,7 @@ More: [managing Zoom meetings][docs/remote-meetings.md] · [Zoom on wirecat.dev]
285
285
  ## Output, limits and deadlines
286
286
 
287
287
  `--json` prints one answer envelope; `--jsonl` prints typed item records and a final end record; piped output defaults to JSON and errors
288
- go to stderr. `--fields id,title` trims results, `--offline` refuses the network, and output is
288
+ go to stderr. `--json=id,title` keeps only those fields, `--offline` refuses the network, and output is
289
289
  capped at 4 MiB unless `--max-output-bytes` says otherwise. Default deadlines are 30 seconds for
290
290
  reads, five minutes for login and one hour for downloads, sync and verification; `--timeout 5m`
291
291
  changes them. Watching and MCP serving run until stopped.
@@ -296,7 +296,7 @@ More: [usage][docs/usage.md] · [Zoom on wirecat.dev][wirecat/en/docs/zoom]
296
296
 
297
297
  | Setting | Meaning |
298
298
  |---|---|
299
- | `zoom.clientId` | your Zoom app's Public Client ID |
299
+ | `zoom.client_id` | your Zoom app's Public Client ID |
300
300
  | `account.profile` | the local profile label |
301
301
  | `source` | `api` or `files` for `meetings sync` and `watch` |
302
302
  | `files.folder`, `files.timezone` | the transcript folder and the zone of its filenames |
@@ -1,4 +1,23 @@
1
+ import type { Meta } from "@wirecat/cli-base/standards";
2
+ import { type Body } from "@wirecat/cli-core/cli";
1
3
  import type { Command } from "commander";
2
- import type { ProgramDeps } from "./program.js";
3
- export declare const createAnswerRenderer: (registry: Command, onAnswer?: (meta: import("@wirecat/cli-base/standards").Meta) => void) => (value: unknown, format: "json" | "jsonl" | "text", deps: ProgramDeps, fields?: readonly string[], preserveEnvelope?: boolean, providerKeys?: boolean, seal?: () => import("@wirecat/cli-base/standards").Meta) => string;
4
+ export type AnswerFormat = "json" | "jsonl" | "pretty";
5
+ /**
6
+ * cli-core's meeting commands and MCP tools return envelopes as plain objects, `listed()` lists or bare reports,
7
+ * not `itemOf`/`listOf` bodies; zoom's own commands build bodies and never come through here.
8
+ */
9
+ export declare const bodyOf: (value: unknown) => Body;
10
+ /** The answer as text, and the exit code a partial answer earns. */
11
+ export declare const renderBody: (command: Command, body: Body, options: {
12
+ format: AnswerFormat;
13
+ meta: Meta;
14
+ fields?: readonly string[];
15
+ quiet?: boolean;
16
+ diagnostic: (text: string) => void;
17
+ }) => {
18
+ text: string;
19
+ exitCode: number;
20
+ };
21
+ /** Every row the command read, in one page. */
22
+ export declare const wholeList: <T>(command: string, items: T[]) => import("@wirecat/cli-core/cli").ListBody<T>;
4
23
  //# sourceMappingURL=answer-output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"answer-output.d.ts","sourceRoot":"","sources":["../src/answer-output.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,eAAO,MAAM,oBAAoB,aACpB,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,6BAA6B,EAAE,IAAI,KAAK,IAAI,aAEhF,OAAO,UACN,MAAM,GAAG,OAAO,GAAG,MAAM,QAC3B,WAAW,WACR,SAAS,MAAM,EAAE,6DAGnB,MAAM,OAAO,6BAA6B,EAAE,IAAI,KACtD,MAkCF,CAAA"}
1
+ {"version":3,"file":"answer-output.d.ts","sourceRoot":"","sources":["../src/answer-output.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,KAAK,IAAI,EAAoD,MAAM,uBAAuB,CAAA;AACnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;AAMtD;;;GAGG;AACH,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,IAYvC,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,UAAU,YACZ,OAAO,QACV,IAAI,WACD;IACP,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,KACA;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAmBlC,CAAA;AAED,+CAA+C;AAC/C,eAAO,MAAM,SAAS,GAAI,CAAC,WAAW,MAAM,SAAS,CAAC,EAAE,gDACuB,CAAA"}
@@ -1,41 +1,48 @@
1
- import { createRenderer, projectFields } from "@wirecat/cli-base";
2
- import { jsonlRecords } from "@wirecat/cli-core/cli";
3
- import { meetingAnswer } from "./answers.js";
4
- import { snakeKeys } from "./keys.js";
5
- export const createAnswerRenderer = (registry, onAnswer) => (value, format, deps, fields, preserveEnvelope = false, providerKeys = false, seal) => {
6
- if (!providerKeys)
7
- value = snakeKeys(value);
8
- if (seal) {
9
- const packet = meetingAnswer(value, seal(), registry);
10
- onAnswer?.(packet.meta);
11
- value = packet;
1
+ import { createRenderer, exitCodeOfAnswer, projectFields } from "@wirecat/cli-base";
2
+ import { metaOf } from "@wirecat/cli-base/commands";
3
+ import { itemOf, listOf, metaNow, renderAnswer, snakeKeys } from "@wirecat/cli-core/cli";
4
+ const record = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
5
+ const only = (value, keys) => Object.keys(value).every((key) => keys.includes(key));
6
+ /**
7
+ * cli-core's meeting commands and MCP tools return envelopes as plain objects, `listed()` lists or bare reports,
8
+ * not `itemOf`/`listOf` bodies; zoom's own commands build bodies and never come through here.
9
+ */
10
+ export const bodyOf = (value) => {
11
+ const data = snakeKeys(value);
12
+ if (record(data) && only(data, ["item", "items", "page", "next", "missing", "meta"])) {
13
+ if ("item" in data || (Array.isArray(data.items) && record(data.page)))
14
+ return data;
12
15
  }
13
- if (fields) {
14
- if (seal && value && typeof value === "object" && "item" in value)
15
- value = { ...value, item: projectFields(value.item, fields) };
16
- else
17
- value = projectFields(value, fields);
18
- }
19
- if (seal && format === "jsonl")
20
- return `${jsonlRecords(value)
21
- .map((record) => JSON.stringify(record))
22
- .join("\n")}\n`;
16
+ if (record(data) && Array.isArray(data.items) && only(data, ["items", "page", "limit", "has_more"]))
17
+ return listOf("list", {
18
+ items: data.items,
19
+ limit: Math.max(1, data.items.length),
20
+ has_more: data.has_more === true,
21
+ });
22
+ return itemOf(data);
23
+ };
24
+ /** The answer as text, and the exit code a partial answer earns. */
25
+ export const renderBody = (command, body, options) => {
26
+ const data = snakeKeys(body);
27
+ const fields = options.fields;
28
+ const projected = fields ? projectFields(data, fields) : data;
29
+ const meta = metaNow({ ...projected.meta, run_id: options.meta.run_id, duration_ms: options.meta.duration_ms });
23
30
  const chunks = [];
24
- const renderer = createRenderer({
25
- format: format === "text" ? (deps.outputIsTTY ? "pretty" : "json") : format,
26
- color: false,
27
- streams: { data: (text) => chunks.push(`${text}\n`), diagnostic: deps.diagnostic },
28
- });
29
- if (!preserveEnvelope &&
30
- !seal &&
31
- format === "jsonl" &&
32
- typeof value === "object" &&
33
- value !== null &&
34
- "items" in value &&
35
- Array.isArray(value.items))
36
- renderer.stream(value.items);
37
- else
38
- renderer.result(value);
39
- return chunks.join("");
31
+ const streams = {
32
+ data: (text) => chunks.push(`${text}\n`),
33
+ diagnostic: (text) => options.diagnostic(`${text}\n`),
34
+ };
35
+ const renderer = createRenderer({ format: options.format, color: false, quiet: options.quiet, streams });
36
+ // renderAnswer reports a partial answer through process.exitCode; zoom returns that code from `run` instead.
37
+ const exitCode = process.exitCode;
38
+ try {
39
+ renderAnswer(command, { renderer, format: options.format, streams }, { ...projected, meta });
40
+ }
41
+ finally {
42
+ process.exitCode = exitCode;
43
+ }
44
+ return { text: chunks.join(""), exitCode: exitCodeOfAnswer(meta, metaOf(command).partial === true) };
40
45
  };
46
+ /** Every row the command read, in one page. */
47
+ export const wholeList = (command, items) => listOf(command, { items, limit: Math.max(1, items.length), has_more: false });
41
48
  //# sourceMappingURL=answer-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"answer-output.js","sourceRoot":"","sources":["../src/answer-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAa,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,CAAC,QAAiB,EAAE,QAAqE,EAAE,EAAE,CAC7F,CACE,KAAc,EACd,MAAiC,EACjC,IAAiB,EACjB,MAA0B,EAC1B,gBAAgB,GAAG,KAAK,EACxB,YAAY,GAAG,KAAK,EACpB,IAAuD,EAC/C,EAAE;IACV,IAAI,CAAC,YAAY;QAAE,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAA;QACrD,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,KAAK,GAAG,MAAM,CAAA;IAChB,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;YAC/D,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAA;;YAC1D,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,IAAI,IAAI,MAAM,KAAK,OAAO;QAC5B,OAAO,GAAG,YAAY,CAAC,KAAa,CAAC;aAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IACnB,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QAC3E,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;KACnF,CAAC,CAAA;IACF,IACE,CAAC,gBAAgB;QACjB,CAAC,IAAI;QACL,MAAM,KAAK,OAAO;QAClB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAE1B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;;QACzB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"answer-output.js","sourceRoot":"","sources":["../src/answer-output.ts"],"names":[],"mappings":"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"}
package/dist/answers.d.ts CHANGED
@@ -108,8 +108,8 @@ export declare const answerSchema: v.UnionSchema<[v.StrictObjectSchema<{
108
108
  }, undefined>], undefined>;
109
109
  export declare const toolAnswerSchema: NonNullable<Tool["outputSchema"]>;
110
110
  export declare const readMetadata: (now?: () => number) => (() => Meta);
111
- /** Seal standard bodies; keep report-specific coverage and cursors together inside one item. */
112
- export declare const meetingAnswer: (value: unknown, meta: Meta, registry?: Command) => {
111
+ /** An MCP tool's result as a validated envelope with the host's run metadata and only runnable next steps. */
112
+ export declare const toolAnswer: (value: unknown, meta: Meta, registry?: Command) => {
113
113
  items: unknown[];
114
114
  page: {
115
115
  mode: "page";
@@ -1 +1 @@
1
- {"version":3,"file":"answers.d.ts","sourceRoot":"","sources":["../src/answers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,EAAmC,KAAK,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAAuB,CAAA;AAEhD,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAuC,CAAA;AAEtG,eAAO,MAAM,YAAY,SAAS,MAAM,MAAM,KAAc,CAAC,MAAM,IAAI,CAItE,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,aAAa,UAAW,OAAO,QAAQ,IAAI,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C3E,CAAA"}
1
+ {"version":3,"file":"answers.d.ts","sourceRoot":"","sources":["../src/answers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAE9D,OAAO,EAAmC,KAAK,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAAuB,CAAA;AAEhD,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAuC,CAAA;AAEtG,eAAO,MAAM,YAAY,SAAS,MAAM,MAAM,KAAc,CAAC,MAAM,IAAI,CAItE,CAAA;AAED,8GAA8G;AAC9G,eAAO,MAAM,UAAU,UAAW,OAAO,QAAQ,IAAI,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAexE,CAAA"}
package/dist/answers.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { CliError } from "@wirecat/cli-base";
2
3
  import { errorObjectSchema, jsonSchemaOf } from "@wirecat/cli-base/standards";
3
- import { itemOf, listOf, metaNow, runnable, sealed, answerSchema as sharedAnswerSchema } from "@wirecat/cli-core/cli";
4
+ import { metaNow, runnable, answerSchema as sharedAnswerSchema } from "@wirecat/cli-core/cli";
4
5
  import * as v from "valibot";
5
- import { ZoomError } from "./errors.js";
6
- import { snakeKeys } from "./keys.js";
6
+ import { bodyOf } from "./answer-output.js";
7
7
  export const answerSchema = sharedAnswerSchema();
8
8
  const outputSchema = { ...jsonSchemaOf(v.union([answerSchema, errorObjectSchema])) };
9
9
  export const toolAnswerSchema = { ...outputSchema, type: "object" };
@@ -12,48 +12,17 @@ export const readMetadata = (now = Date.now) => {
12
12
  const runId = randomUUID();
13
13
  return () => metaNow({ run_id: runId, duration_ms: Math.max(0, Math.round(now() - started)) });
14
14
  };
15
- /** Seal standard bodies; keep report-specific coverage and cursors together inside one item. */
16
- export const meetingAnswer = (value, meta, registry) => {
15
+ /** An MCP tool's result as a validated envelope with the host's run metadata and only runnable next steps. */
16
+ export const toolAnswer = (value, meta, registry) => {
17
17
  if (value === undefined)
18
- throw new ZoomError("invalid_response", "command returned no answer");
19
- const data = snakeKeys(value);
20
- let body;
21
- if (Array.isArray(data))
22
- body = sealed(listOf("list", { items: data, limit: Math.max(1, data.length), has_more: false, meta }));
23
- else if (data && typeof data === "object") {
24
- const record = data;
25
- const reportedMeta = record.meta;
26
- if (Object.keys(record).every((key) => ["item", "items", "page", "next", "missing", "meta"].includes(key)) &&
27
- ("item" in record || (Array.isArray(record.items) && record.page && typeof record.page === "object")))
28
- body = {
29
- ...record,
30
- meta: metaNow({
31
- ...meta,
32
- ...reportedMeta,
33
- complete: reportedMeta?.complete ?? !reportedMeta?.issues?.length,
34
- run_id: meta.run_id,
35
- duration_ms: meta.duration_ms,
36
- }),
37
- };
38
- else if (Array.isArray(record.items) &&
39
- Object.keys(record).every((key) => ["items", "page", "limit", "has_more"].includes(key)))
40
- body = {
41
- items: record.items,
42
- page: {
43
- mode: "page",
44
- limit: Math.max(1, typeof record.limit === "number" ? record.limit : record.items.length),
45
- has_more: record.has_more === true,
46
- },
47
- meta,
48
- };
49
- else
50
- body = sealed(itemOf(data, { meta }));
51
- }
52
- else
53
- body = { item: data, meta };
54
- const answer = v.safeParse(answerSchema, body);
18
+ throw new CliError("invalid_response", "command returned no answer");
19
+ const body = bodyOf(value);
20
+ const answer = v.safeParse(answerSchema, {
21
+ ...body,
22
+ meta: metaNow({ ...body.meta, run_id: meta.run_id, duration_ms: meta.duration_ms }),
23
+ });
55
24
  if (!answer.success)
56
- throw new ZoomError("invalid_response", "command returned an invalid answer envelope");
25
+ throw new CliError("invalid_response", "command returned an invalid answer envelope");
57
26
  const packet = answer.output;
58
27
  if (registry && packet.next) {
59
28
  const next = runnable(registry, packet.next);
@@ -1 +1 @@
1
- {"version":3,"file":"answers.js","sourceRoot":"","sources":["../src/answers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"answers.js","sourceRoot":"","sources":["../src/answers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAa,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE7F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;AAChD,MAAM,YAAY,GAA4B,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7G,MAAM,CAAC,MAAM,gBAAgB,GAAsC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AAEtG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,GAAiB,IAAI,CAAC,GAAG,EAAgB,EAAE;IACzE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAA;IACrB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;IAC1B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;AAChG,CAAC,CAAA;AAED,8GAA8G;AAC9G,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,IAAU,EAAE,QAAkB,EAAE,EAAE;IAC3E,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAA;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE;QACvC,GAAG,IAAI;QACP,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;KACpF,CAAC,CAAA;IACF,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,6CAA6C,CAAC,CAAA;IAC1G,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,QAAmB,CAAA;AAgBpD,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAC6E,CAAA;AAavH,qBAAa,aAAc,YAAW,aAAa;IAM/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,QAAQ,CAAC,QAAQ,UAAS;IAC1B,QAAQ,CAAC,gBAAgB,SAAQ;IACjC,QAAQ,CAAC,IAAI,SAAQ;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,YACmB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,KAAK,EACtC,OAAO,GAAE,aAAkB,EAG5B;IACD,OAAO,CAAC,OAAO;YAKD,KAAK;IAeb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAqEtD;IACK,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoE3D;IACK,UAAU,CAAC,EAAE,EAAE,MAAM,yEAkF1B;IAEK,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAmCxD;IACK,IAAI,kBAET;IACK,KAAK,kBAEV;CACF"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,QAAmB,CAAA;AAgBpD,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAC6E,CAAA;AAavH,qBAAa,aAAc,YAAW,aAAa;IAM/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,QAAQ,CAAC,QAAQ,UAAS;IAC1B,QAAQ,CAAC,gBAAgB,SAAQ;IACjC,QAAQ,CAAC,IAAI,SAAQ;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,YACmB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,KAAK,EACtC,OAAO,GAAE,aAAkB,EAG5B;IACD,OAAO,CAAC,OAAO;YAKD,KAAK;IAeb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAqEtD;IACK,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoE3D;IACK,UAAU,CAAC,EAAE,EAAE,MAAM,yEAkF1B;IAEK,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAmCxD;IACK,IAAI,kBAET;IACK,KAAK,kBAEV;CACF"}
package/dist/api.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { CliError, isCliError } from "@wirecat/cli-base";
1
2
  import { statusToCode } from "@wirecat/cli-base/http";
2
3
  import { parseVtt, } from "@wirecat/cli-core/meetings";
3
- import { number, object, string, ZoomError } from "./errors.js";
4
+ import { number, object, string } from "./errors.js";
4
5
  import { ZoomRemote } from "./remote-http.js";
5
6
  /** A mislabeled HTML login page must not become an empty saved transcript. */
6
7
  export const TRANSCRIPT_MAX_BYTES = 10 * 1024 * 1024;
@@ -25,13 +26,13 @@ const time = (value) => {
25
26
  return null;
26
27
  const result = Date.parse(text);
27
28
  if (!Number.isFinite(result))
28
- throw new ZoomError("invalid_response", "Zoom returned an invalid timestamp");
29
+ throw new CliError("invalid_response", "Zoom returned an invalid timestamp");
29
30
  return result;
30
31
  };
31
32
  const requiredString = (value) => {
32
33
  const text = string(value);
33
34
  if (text === null)
34
- throw new ZoomError("invalid_response", "Zoom response is missing a required field");
35
+ throw new CliError("invalid_response", "Zoom response is missing a required field");
35
36
  return text;
36
37
  };
37
38
  export class ZoomApiSource {
@@ -59,11 +60,11 @@ export class ZoomApiSource {
59
60
  const query = new URLSearchParams({ page_size: "100", ...(next ? { next_page_token: next } : {}) });
60
61
  const body = await this.request(`${path}${path.includes("?") ? "&" : "?"}${query}`, scope);
61
62
  if (!body || !Array.isArray(body[key]))
62
- throw new ZoomError("invalid_response", "Zoom returned an invalid list");
63
+ throw new CliError("invalid_response", "Zoom returned an invalid list");
63
64
  rows.push(...body[key].map(object));
64
65
  next = string(body.next_page_token) ?? "";
65
66
  if (next && seen.has(next))
66
- throw new ZoomError("invalid_response", "Zoom repeated a pagination token");
67
+ throw new CliError("invalid_response", "Zoom repeated a pagination token");
67
68
  seen.add(next);
68
69
  } while (next);
69
70
  return rows;
@@ -71,27 +72,27 @@ export class ZoomApiSource {
71
72
  async meetings(since) {
72
73
  const lower = Date.parse(since);
73
74
  if (!Number.isFinite(lower))
74
- throw new ZoomError("validation_error", "expected an ISO since timestamp");
75
+ throw new CliError("validation_error", "expected an ISO since timestamp");
75
76
  const series = await this.pages("/users/me/meetings?type=previous_meetings", "meetings", "meeting:read:list_meetings");
76
77
  const meetings = [];
77
78
  const seen = new Set();
78
79
  for (const row of series) {
79
80
  if (!(string(row.id) !== null || (typeof row.id === "number" && Number.isSafeInteger(row.id) && row.id > 0)))
80
- throw new ZoomError("invalid_response", "Zoom meeting is missing its series id");
81
+ throw new CliError("invalid_response", "Zoom meeting is missing its series id");
81
82
  const seriesId = String(row.id);
82
83
  const recurring = row.type === 3 || row.type === 8;
83
84
  let instances = [row];
84
85
  if (recurring) {
85
86
  const body = await this.request(`/past_meetings/${encodeURIComponent(seriesId)}/instances`, "meeting:read:list_past_instances");
86
87
  if (!body || !Array.isArray(body.meetings))
87
- throw new ZoomError("invalid_response", "Zoom returned invalid occurrences");
88
+ throw new CliError("invalid_response", "Zoom returned invalid occurrences");
88
89
  instances = body.meetings.map(object);
89
90
  }
90
91
  for (const instance of instances) {
91
92
  const startedAt = time(instance.start_time);
92
93
  const id = requiredString(instance.uuid);
93
94
  if (startedAt === null)
94
- throw new ZoomError("invalid_response", "Zoom occurrence is missing its start time");
95
+ throw new CliError("invalid_response", "Zoom occurrence is missing its start time");
95
96
  if (startedAt < lower || seen.has(id))
96
97
  continue;
97
98
  seen.add(id);
@@ -214,14 +215,14 @@ export class ZoomApiSource {
214
215
  target = new URL(value, base);
215
216
  }
216
217
  catch {
217
- throw new ZoomError("invalid_response", "Zoom returned an unexpected transcript download host");
218
+ throw new CliError("invalid_response", "Zoom returned an unexpected transcript download host");
218
219
  }
219
220
  if (target.protocol !== "https:" ||
220
221
  target.username ||
221
222
  target.password ||
222
223
  (target.port && target.port !== "443") ||
223
224
  !/(^|\.)zoom\.(us|com)$/.test(target.hostname))
224
- throw new ZoomError("invalid_response", "Zoom returned an unexpected transcript download host");
225
+ throw new CliError("invalid_response", "Zoom returned an unexpected transcript download host");
225
226
  return target;
226
227
  };
227
228
  let target = validateTarget(requiredString(body.download_url));
@@ -238,22 +239,22 @@ export class ZoomApiSource {
238
239
  });
239
240
  }
240
241
  catch {
241
- throw new ZoomError("provider_error", "Transcript download could not be completed");
242
+ throw new CliError("provider_error", "Transcript download could not be completed");
242
243
  }
243
244
  if ([301, 302, 303, 307, 308].includes(response.status)) {
244
245
  const location = response.headers.get("location");
245
246
  await response.body?.cancel();
246
247
  if (!location || redirects >= 5)
247
- throw new ZoomError("invalid_response", "Zoom returned invalid transcript redirects");
248
+ throw new CliError("invalid_response", "Zoom returned invalid transcript redirects");
248
249
  target = validateTarget(location, target);
249
250
  continue;
250
251
  }
251
252
  if (!response.ok)
252
- throw new ZoomError(statusToCode(response.status), `Transcript download failed (HTTP ${response.status})`);
253
+ throw new CliError(statusToCode(response.status), `Transcript download failed (HTTP ${response.status})`);
253
254
  const maxBytes = TRANSCRIPT_MAX_BYTES;
254
255
  const reader = response.body?.getReader();
255
256
  if (!reader)
256
- throw new ZoomError("invalid_response", "Zoom returned an invalid transcript");
257
+ throw new CliError("invalid_response", "Zoom returned an invalid transcript");
257
258
  const chunks = [];
258
259
  let size = 0;
259
260
  try {
@@ -264,15 +265,15 @@ export class ZoomApiSource {
264
265
  size += value.byteLength;
265
266
  if (size > maxBytes) {
266
267
  await reader.cancel();
267
- throw new ZoomError("invalid_response", "Zoom transcript exceeds the download size limit");
268
+ throw new CliError("invalid_response", "Zoom transcript exceeds the download size limit");
268
269
  }
269
270
  chunks.push(value);
270
271
  }
271
272
  }
272
273
  catch (error) {
273
- if (error instanceof ZoomError)
274
+ if (isCliError(error))
274
275
  throw error;
275
- throw new ZoomError("provider_error", "Transcript download could not be completed");
276
+ throw new CliError("provider_error", "Transcript download could not be completed");
276
277
  }
277
278
  const bytes = new Uint8Array(size);
278
279
  let offset = 0;
@@ -285,7 +286,7 @@ export class ZoomApiSource {
285
286
  return parseVtt(content);
286
287
  }
287
288
  catch {
288
- throw new ZoomError("invalid_response", "Zoom returned an invalid transcript");
289
+ throw new CliError("invalid_response", "Zoom returned an invalid transcript");
289
290
  }
290
291
  }
291
292
  }
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAGL,QAAQ,GAIT,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAsB,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAGjE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAEpD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAa,EAAE;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3F,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAClG,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AACD,MAAM,MAAM,GAAG,CAAC,GAA4B,EAAE,IAAc,EAAE,EAAE,CAC9D,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KAChB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7C,CAAA;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACvH,MAAM,IAAI,GAAG,CAAC,KAAc,EAAiB,EAAE;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAA;IAC1G,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AACD,MAAM,cAAc,GAAG,CAAC,KAAc,EAAU,EAAE;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAA;IACtG,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AACD,MAAM,OAAO,aAAa;IAML,MAAM;IACN,OAAO;IANjB,QAAQ,GAAG,MAAM,CAAA;IACjB,gBAAgB,GAAG,KAAK,CAAA;IACxB,IAAI,GAAG,KAAK,CAAA;IACJ,MAAM,CAAY;IACnC,YACmB,MAAoB,EACpB,OAAqB,EACtC,OAAO,GAAkB,EAAE;sBAFV,MAAM;uBACN,OAAO;QAGxB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IACO,OAAO,CAAC,IAAY,EAAE,KAAa,EAAE,WAAoB;QAC/D,OAAO,WAAW,KAAK,SAAS;YAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC3D,CAAC;IACO,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa;QAC1D,MAAM,IAAI,GAA8B,EAAE,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,GAAG,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACnG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;YAC1F,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAA;YAC/G,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;YACnC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;YACzC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAA;YACtG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,QAAQ,IAAI,EAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,CAAA;QACtG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,2CAA2C,EAC3C,UAAU,EACV,4BAA4B,CAC7B,CAAA;QACD,MAAM,QAAQ,GAAoB,EAAE,CAAA;QACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1G,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAA;YACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,CAAA;YAClD,IAAI,SAAS,GAA8B,CAAC,GAAG,CAAC,CAAA;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,kBAAkB,kBAAkB,CAAC,QAAQ,CAAC,YAAY,EAC1D,kCAAkC,CACnC,CAAA;gBACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACxC,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAA;gBAC7E,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACvC,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBAC3C,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACxC,IAAI,SAAS,KAAK,IAAI;oBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAA;gBAC3G,IAAI,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAQ;gBAC/C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACZ,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC3D,MAAM,GAAG,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;gBACnG,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC9G,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE;wBACN,EAAE,EAAE,QAAQ;wBACZ,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;wBACxB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;wBACxE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS;wBAC1C,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;qBACjC;oBACD,UAAU,EAAE;wBACV,EAAE;wBACF,QAAQ;wBACR,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;wBACxB,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;wBAC5C,OAAO;qBACR;oBACD,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC/B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC7B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC9B,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE;wBACpB,IAAI;wBACJ,MAAM;wBACN,OAAO;wBACP,MAAM;wBACN,YAAY;wBACZ,UAAU;wBACV,UAAU;wBACV,UAAU;wBACV,QAAQ;wBACR,YAAY;qBACb,CAAC;iBACH,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAC3B,kBAAkB,UAAU,CAAC,EAAE,CAAC,eAAe,EAC/C,cAAc,EACd,qCAAqC,CACtC,CAAA;QACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;QACtC,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACpC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC5C,MAAM,GAAG,GAAG,QAAQ;gBAClB,CAAC,CAAC,MAAM,QAAQ,EAAE;gBAClB,CAAC,CAAC,KAAK;oBACL,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,EAAE,EAAE;oBAChC,CAAC,CAAC,UAAU;wBACV,CAAC,CAAC,cAAc,UAAU,EAAE;wBAC5B,CAAC,CAAC,WAAW,QAAQ,EAAE,CAAA;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACnC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACxC,MAAM,QAAQ,GACZ,WAAW,KAAK,IAAI,IAAI,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;YACtG,gFAAgF;YAChF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,GAAG,KAAK,WAAW,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAChF,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;oBAAE,SAAQ;gBAC3C,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC/B,CAAC;YACD,MAAM,OAAO,GAAG;gBACd,QAAQ;gBACR,MAAM;gBACN,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI;gBACtD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC3B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;aAC9B,CAAA;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAC5F,IAAI,MAAM,KAAK,IAAI;oBAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,EAAE,MAAM,CAAC,CAAA;gBAClF,IAAI,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAA;gBACzF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvE,CAAC;;gBACC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE;oBACpB,kBAAkB,EAAE,QAAQ;oBAC5B,KAAK;oBACL,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC7B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBACtB,QAAQ;oBACR,MAAM;oBACN,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI;oBACtD,QAAQ,EAAE,CAAC,OAAO,CAAC;oBACnB,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE;wBACpB,IAAI;wBACJ,MAAM;wBACN,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,YAAY;wBACZ,UAAU;wBACV,MAAM;qBACP,CAAC;iBACH,CAAC,CAAA;QACN,CAAC;QACD,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAA;IACnC,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,aAAa,UAAU,CAAC,EAAE,CAAC,aAAa,EACxC,yCAAyC,EACzC,IAAI,CACL,CAAA;QACD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QACtB,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,IAAU,EAAO,EAAE;YACxD,IAAI,MAAW,CAAA;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,sDAAsD,CAAC,CAAA;YAChG,CAAC;YACD,IACE,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC5B,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,QAAQ;gBACf,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;gBACtC,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAE9C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,sDAAsD,CAAC,CAAA;YAChG,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QACD,IAAI,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QACzC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACzC,KAAK,IAAI,SAAS,GAAG,CAAC,GAAI,SAAS,EAAE,EAAE,CAAC;YACtC,4DAA4D;YAC5D,IAAI,QAAkB,CAAA;YACtB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACpC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE,EAAE;oBAC1D,MAAM;oBACN,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAA;YACpF,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACjD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;gBAC7B,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC;oBAC7B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,4CAA4C,CAAC,CAAA;gBACtF,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;gBACzC,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACd,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,oCAAoC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;YAC3G,MAAM,QAAQ,GAAG,oBAAoB,CAAA;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAA;YACzC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAA;YAC1F,MAAM,MAAM,GAAiB,EAAE,CAAA;YAC/B,IAAI,IAAI,GAAG,CAAC,CAAA;YACZ,IAAI,CAAC;gBACH,SAAS,CAAC;oBACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;oBAC3C,IAAI,IAAI;wBAAE,MAAK;oBACf,IAAI,IAAI,KAAK,CAAC,UAAU,CAAA;oBACxB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;wBACpB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;wBACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAA;oBAC3F,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,UAAU,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;gBAClC,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAA;YACpF,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;gBACxB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAA;YAC5B,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/C,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAA;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAA;QAC5G,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3F,MAAM,KAAK,GAAG,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU,CAAA;QACnD,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAA;QACtF,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAA;QACjG,MAAM,cAAc,GAAG,OAAO,MAAM,EAAE,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAA;QACpG,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,OAAO,IAAI,aAAa;YACjC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;YACpC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAClD,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,iBAAiB;gBACjB,eAAe;gBACf,kBAAkB;gBAClB,iBAAiB;gBACjB,YAAY;gBACZ,gBAAgB;gBAChB,iBAAiB;gBACjB,sBAAsB;gBACtB,4BAA4B;aAC7B,CAAC;YACF,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YACjC,QAAQ,EAAE,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzD,QAAQ,EACN,OAAO,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpG,SAAS,EACP,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;SAC9G,CAAA;IACH,CAAC;IACD,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -1,9 +1,10 @@
1
+ import { type Body } from "@wirecat/cli-core/cli";
1
2
  import type { Command } from "commander";
2
3
  import type { readArchiveTranscripts, searchArchiveTranscripts } from "./archive-transcripts.js";
3
4
  import type { inspectArchive, inspectArchiveLocks, recoverArchiveLocks, verifyArchive } from "./recording-archive.js";
4
5
  import type { ZoomRecordings } from "./recordings.js";
5
6
  import type { ZoomRemoteMeetings } from "./remote-meetings.js";
6
- export type RecordingsService = Pick<ZoomRecordings, "list" | "show" | "download"> & Partial<Pick<ZoomRecordings, "catalog">>;
7
+ export type RecordingsService = Pick<ZoomRecordings, "list" | "show" | "download" | "catalog">;
7
8
  export type RemoteMeetingsService = Pick<ZoomRemoteMeetings, "list" | "show" | "invitation" | "create" | "update" | "cancel">;
8
9
  export interface ArchiveService {
9
10
  inspect: typeof inspectArchive;
@@ -22,10 +23,10 @@ export interface ArchiveCommandsDeps {
22
23
  transcripts: ArchiveTranscriptService;
23
24
  signal: () => AbortSignal | undefined;
24
25
  api: () => void;
25
- account?: () => string | undefined;
26
- output: (value: unknown) => void;
26
+ account: () => string | undefined;
27
+ output: (body: Body) => void;
27
28
  outputItems: (values: AsyncIterable<unknown>) => Promise<void>;
28
- receipt: (value: unknown) => Promise<void>;
29
+ receipt: (body: Body) => Promise<void>;
29
30
  outputIsTTY?: boolean;
30
31
  now: () => number;
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"archive-commands.d.ts","sourceRoot":"","sources":["../src/archive-commands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAGhG,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAkC,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,GAChF,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAA;AAC1C,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,kBAAkB,EAClB,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAChE,CAAA;AACD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,MAAM,EAAE,OAAO,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,mBAAmB,CAAA;IACjC,OAAO,EAAE,OAAO,mBAAmB,CAAA;CACpC;AACD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,sBAAsB,CAAA;IACnC,MAAM,EAAE,OAAO,wBAAwB,CAAA;CACxC;AACD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,iBAAiB,CAAA;IACnC,cAAc,EAAE,MAAM,qBAAqB,CAAA;IAC3C,OAAO,EAAE,cAAc,CAAA;IACvB,WAAW,EAAE,wBAAwB,CAAA;IACrC,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACrC,GAAG,EAAE,MAAM,IAAI,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,EAAE,MAAM,MAAM,CAAA;CAClB;AAyDD,eAAO,MAAM,kBAAkB,YAAa,OAAO,QAAQ,mBAAmB,KAAG,IA4PhF,CAAA"}
1
+ {"version":3,"file":"archive-commands.d.ts","sourceRoot":"","sources":["../src/archive-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAiD,MAAM,uBAAuB,CAAA;AAEhG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEhG,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAkC,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC,CAAA;AAC9F,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,kBAAkB,EAClB,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAChE,CAAA;AACD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,MAAM,EAAE,OAAO,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,mBAAmB,CAAA;IACjC,OAAO,EAAE,OAAO,mBAAmB,CAAA;CACpC;AACD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,sBAAsB,CAAA;IACnC,MAAM,EAAE,OAAO,wBAAwB,CAAA;CACxC;AACD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,iBAAiB,CAAA;IACnC,cAAc,EAAE,MAAM,qBAAqB,CAAA;IAC3C,OAAO,EAAE,cAAc,CAAA;IACvB,WAAW,EAAE,wBAAwB,CAAA;IACrC,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACrC,GAAG,EAAE,MAAM,IAAI,CAAA;IACf,OAAO,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IACjC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC5B,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,EAAE,MAAM,MAAM,CAAA;CAClB;AAyDD,eAAO,MAAM,kBAAkB,YAAa,OAAO,QAAQ,mBAAmB,KAAG,IAoQhF,CAAA"}