@testchimp/cli 0.1.80 → 0.1.81

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.
@@ -480,6 +480,23 @@ export function buildCliProgram() {
480
480
  const out = await runTool("get-manual-session-details", merged, { postMcp });
481
481
  console.log(out);
482
482
  });
483
+ program
484
+ .command("get-meeting-transcript")
485
+ .description(TOOL_DEFINITIONS.find((t) => t.kebab === "get-meeting-transcript").description)
486
+ .addOption(jsonInputOption())
487
+ .option("--meeting-id <id>", "meeting id (calendar event id, or URL hash for ad-hoc; same as Studio folder under ~/.testchimp/data/meetings/)")
488
+ .action(async (opts) => {
489
+ const body = {};
490
+ if (opts.meetingId) {
491
+ body.meetingId = String(opts.meetingId).trim();
492
+ }
493
+ const merged = mergeBodies(body, opts.jsonInput);
494
+ if (!merged.meetingId || String(merged.meetingId).trim() === "") {
495
+ throw new Error("meetingId is required (--meeting-id)");
496
+ }
497
+ const out = await runTool("get-meeting-transcript", { meetingId: String(merged.meetingId).trim() }, { postMcp });
498
+ console.log(out);
499
+ });
483
500
  program
484
501
  .command("get-issue-details")
485
502
  .description(TOOL_DEFINITIONS.find((t) => t.kebab === "get-issue-details").description)
@@ -289,6 +289,9 @@ export declare const listTestScenariosForScopeInput: z.ZodObject<{
289
289
  export declare const getManualSessionDetailsInput: z.ZodObject<{
290
290
  manualSessionId: z.ZodString;
291
291
  }, z.core.$strip>;
292
+ export declare const getMeetingTranscriptInput: z.ZodObject<{
293
+ meetingId: z.ZodString;
294
+ }, z.core.$strip>;
292
295
  export declare const getIssueDetailsInput: z.ZodObject<{
293
296
  issueId: z.ZodString;
294
297
  }, z.core.$strip>;
@@ -167,6 +167,10 @@ export const listTestScenariosForScopeInput = z
167
167
  export const getManualSessionDetailsInput = z.object({
168
168
  manualSessionId: z.string().min(1),
169
169
  });
170
+ export const getMeetingTranscriptInput = z.object({
171
+ /** Calendar event id, or URL hash for ad-hoc meetings */
172
+ meetingId: z.string().min(1),
173
+ });
170
174
  export const getIssueDetailsInput = z.object({
171
175
  /** Accepts #B-123, B-123, #B123, B123, or plain 123 */
172
176
  issueId: z.string().min(1),
@@ -385,6 +385,19 @@ export const TOOL_DEFINITIONS = [
385
385
  });
386
386
  },
387
387
  },
388
+ {
389
+ kebab: "get-meeting-transcript",
390
+ description: "Fetch a cloud-synced Meeting Bots transcript by meeting id (calendar event id, or URL hash " +
391
+ "for ad-hoc meetings). Prefer local ~/.testchimp/data/meetings/<meeting-id>/transcript.md " +
392
+ "when present on Studio / the recording machine.",
393
+ inputSchema: S.getMeetingTranscriptInput,
394
+ execute: async (args, { postMcp }) => {
395
+ const a = args;
396
+ return postMcp("/api/mcp/get_meeting_transcript", {
397
+ meetingId: a.meetingId,
398
+ });
399
+ },
400
+ },
388
401
  {
389
402
  kebab: "get-issue-details",
390
403
  description: "Fetch a TestChimp issue (bug) by ordinal id. Accepts flexible issueId formats: " +
@@ -54,3 +54,23 @@ describe("API operation observability", () => {
54
54
  assert.match(getToolDefinition("get-api-operation-detail")?.description ?? "", /p95\/p99 latency/);
55
55
  });
56
56
  });
57
+ describe("get-meeting-transcript", () => {
58
+ it("posts meetingId to get_meeting_transcript", async () => {
59
+ const response = JSON.stringify({
60
+ meetingId: "evt-123",
61
+ transcriptMarkdown: "# Meeting\n\nP1: hello",
62
+ });
63
+ let request;
64
+ const result = await runTool("get-meeting-transcript", { meetingId: "evt-123" }, {
65
+ postMcp: async (path, body) => {
66
+ request = { path, body };
67
+ return response;
68
+ },
69
+ });
70
+ assert.deepEqual(request, {
71
+ path: "/api/mcp/get_meeting_transcript",
72
+ body: { meetingId: "evt-123" },
73
+ });
74
+ assert.deepEqual(JSON.parse(result), JSON.parse(response));
75
+ });
76
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testchimp/cli",
3
- "version": "0.1.80",
3
+ "version": "0.1.81",
4
4
  "description": "TestChimp CLI and MCP server — coverage, plans, EaaS, TrueCoverage, API operations (calls /api/mcp/*)",
5
5
  "type": "module",
6
6
  "main": "dist/bin/testchimp.js",