recappi 0.1.70 → 0.1.71
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.
- package/dist/index.js +83 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -2935,6 +2935,7 @@ async function runDashboard(deps) {
|
|
|
2935
2935
|
startRecordSetupPreview: deps.startRecordSetupPreview,
|
|
2936
2936
|
transcribeRecordingArtifact: deps.transcribeRecordingArtifact,
|
|
2937
2937
|
onRetranscribe: deps.retranscribeRecording,
|
|
2938
|
+
onResummarize: deps.resummarizeRecording,
|
|
2938
2939
|
initialView: deps.initialView ?? "overview",
|
|
2939
2940
|
openUrl,
|
|
2940
2941
|
copyText
|
|
@@ -18028,6 +18029,12 @@ var summaryStatusSchema = external_exports.enum([
|
|
|
18028
18029
|
"failed",
|
|
18029
18030
|
"skipped"
|
|
18030
18031
|
]);
|
|
18032
|
+
var recordingSummarizeDataSchema = external_exports.object({
|
|
18033
|
+
origin: external_exports.string(),
|
|
18034
|
+
recordingId: external_exports.string(),
|
|
18035
|
+
transcriptId: external_exports.string(),
|
|
18036
|
+
summaryStatus: summaryStatusSchema
|
|
18037
|
+
});
|
|
18031
18038
|
var summaryActionItemSchema = external_exports.object({
|
|
18032
18039
|
who: external_exports.string().optional(),
|
|
18033
18040
|
what: external_exports.string()
|
|
@@ -19301,6 +19308,22 @@ var RecappiApiClient = class {
|
|
|
19301
19308
|
}
|
|
19302
19309
|
return result;
|
|
19303
19310
|
}
|
|
19311
|
+
async summarizeRecording(opts) {
|
|
19312
|
+
const hasPrompt = Boolean(opts.prompt?.trim());
|
|
19313
|
+
const parsed = await this.postJson(
|
|
19314
|
+
`/api/recordings/${encodeURIComponent(opts.recordingId)}/summarize`,
|
|
19315
|
+
{
|
|
19316
|
+
...hasPrompt ? { prompt: opts.prompt } : {},
|
|
19317
|
+
...opts.model ? { model: opts.model } : {}
|
|
19318
|
+
}
|
|
19319
|
+
);
|
|
19320
|
+
return recordingSummarizeDataSchema.parse({
|
|
19321
|
+
origin: this.auth.origin,
|
|
19322
|
+
recordingId: opts.recordingId,
|
|
19323
|
+
transcriptId: parsed.transcriptId,
|
|
19324
|
+
summaryStatus: parsed.summaryStatus
|
|
19325
|
+
});
|
|
19326
|
+
}
|
|
19304
19327
|
async downloadRecordingAudio(recordingId, opts = {}) {
|
|
19305
19328
|
const response = await this.request(
|
|
19306
19329
|
"GET",
|
|
@@ -20160,6 +20183,7 @@ var COMMON_TASKS = [
|
|
|
20160
20183
|
{ label: "Record audio + live captions", command: "recappi record --live" },
|
|
20161
20184
|
{ label: "Transcribe a local file", command: "recappi upload <file> --transcribe --wait" },
|
|
20162
20185
|
{ label: "Re-transcribe a recording", command: "recappi recordings retranscribe <recordingId> --wait" },
|
|
20186
|
+
{ label: "Re-summarize a recording", command: "recappi recordings resummarize <recordingId>" },
|
|
20163
20187
|
{ label: "List / find recordings", command: "recappi recordings list" },
|
|
20164
20188
|
{ label: "Read a transcript", command: "recappi transcript get <transcriptId>" },
|
|
20165
20189
|
{ label: "Download / open audio", command: "recappi audio <recordingId> --open" },
|
|
@@ -20290,6 +20314,20 @@ var COMMAND_METADATA = {
|
|
|
20290
20314
|
],
|
|
20291
20315
|
relatedCommands: ["jobs wait", "transcript get"]
|
|
20292
20316
|
},
|
|
20317
|
+
"recordings resummarize": {
|
|
20318
|
+
capabilities: ["Retry or regenerate the summary for an existing recording", "Re-summarize with a custom prompt/model"],
|
|
20319
|
+
examples: [
|
|
20320
|
+
{
|
|
20321
|
+
description: "Retry summary generation for the active transcript",
|
|
20322
|
+
command: "recappi recordings resummarize <recordingId>"
|
|
20323
|
+
},
|
|
20324
|
+
{
|
|
20325
|
+
description: "Re-summarize with custom context",
|
|
20326
|
+
command: 'recappi recordings resummarize <recordingId> --prompt "focus on action items"'
|
|
20327
|
+
}
|
|
20328
|
+
],
|
|
20329
|
+
relatedCommands: ["recordings get", "transcript get"]
|
|
20330
|
+
},
|
|
20293
20331
|
"transcript get": {
|
|
20294
20332
|
capabilities: ["Fetch a finished transcript by id"],
|
|
20295
20333
|
examples: [{ description: "Fetch an existing transcript", command: "recappi transcript get <transcriptId>" }],
|
|
@@ -20850,6 +20888,24 @@ Next:
|
|
|
20850
20888
|
opts.stdout(`
|
|
20851
20889
|
Next:
|
|
20852
20890
|
recappi jobs wait ${data.jobId}
|
|
20891
|
+
`);
|
|
20892
|
+
}
|
|
20893
|
+
return;
|
|
20894
|
+
}
|
|
20895
|
+
if (command === "recordings resummarize" && isRecord4(data)) {
|
|
20896
|
+
opts.stdout("Summary queued\n");
|
|
20897
|
+
if (typeof data.recordingId === "string") opts.stdout(` recordingId: ${data.recordingId}
|
|
20898
|
+
`);
|
|
20899
|
+
if (typeof data.transcriptId === "string") opts.stdout(` transcriptId: ${data.transcriptId}
|
|
20900
|
+
`);
|
|
20901
|
+
if (typeof data.summaryStatus === "string") {
|
|
20902
|
+
opts.stdout(` summaryStatus: ${data.summaryStatus}
|
|
20903
|
+
`);
|
|
20904
|
+
}
|
|
20905
|
+
if (typeof data.transcriptId === "string") {
|
|
20906
|
+
opts.stdout(`
|
|
20907
|
+
Next:
|
|
20908
|
+
recappi transcript get ${data.transcriptId}
|
|
20853
20909
|
`);
|
|
20854
20910
|
}
|
|
20855
20911
|
return;
|
|
@@ -21308,6 +21364,7 @@ var COMMAND_DATA_SCHEMAS = {
|
|
|
21308
21364
|
"recordings get": recordingDataSchema,
|
|
21309
21365
|
"recordings list": recordingListDataSchema,
|
|
21310
21366
|
"recordings retranscribe": recordingTranscribeDataSchema,
|
|
21367
|
+
"recordings resummarize": recordingSummarizeDataSchema,
|
|
21311
21368
|
"jobs list": jobListDataSchema,
|
|
21312
21369
|
"jobs wait": jobDataSchema,
|
|
21313
21370
|
"transcript get": transcriptDataSchema
|
|
@@ -22812,6 +22869,7 @@ async function runCli(deps = {}) {
|
|
|
22812
22869
|
return success2;
|
|
22813
22870
|
},
|
|
22814
22871
|
retranscribeRecording: (recordingId, options = {}) => client.transcribeRecording({ recordingId, ...options }),
|
|
22872
|
+
resummarizeRecording: (recordingId) => client.summarizeRecording({ recordingId }),
|
|
22815
22873
|
initialView: parsed.initialView
|
|
22816
22874
|
});
|
|
22817
22875
|
return 0;
|
|
@@ -23020,6 +23078,15 @@ async function runCli(deps = {}) {
|
|
|
23020
23078
|
renderSuccess("recordings retranscribe", data, render3);
|
|
23021
23079
|
return 0;
|
|
23022
23080
|
}
|
|
23081
|
+
if (parsed.kind === "recordings-resummarize") {
|
|
23082
|
+
const data = await client.summarizeRecording({
|
|
23083
|
+
recordingId: parsed.recordingId,
|
|
23084
|
+
prompt: parsed.prompt,
|
|
23085
|
+
model: parsed.model
|
|
23086
|
+
});
|
|
23087
|
+
renderSuccess("recordings resummarize", data, render3);
|
|
23088
|
+
return 0;
|
|
23089
|
+
}
|
|
23023
23090
|
if (parsed.kind === "dashboard-stats") {
|
|
23024
23091
|
const data = await client.dashboardStats();
|
|
23025
23092
|
renderSuccess("dashboard stats", data, render3);
|
|
@@ -23321,7 +23388,7 @@ Agent mode:
|
|
|
23321
23388
|
commandName: "dashboard stats"
|
|
23322
23389
|
});
|
|
23323
23390
|
});
|
|
23324
|
-
const recordings = program.command("recordings").description("List, fetch, and re-
|
|
23391
|
+
const recordings = program.command("recordings").description("List, fetch, re-transcribe, and re-summarize recordings");
|
|
23325
23392
|
addCommonOptions(recordings);
|
|
23326
23393
|
const recordingsList = recordings.command("list").description("List recent recordings").option("--limit <n>", "number of recordings to show", parseLimitOption("--limit", 1, 100), 20).option("--cursor <cursor>", "pagination cursor", parseStringOption("--cursor")).option("--search <query>", "search recordings and transcripts", parseStringOption("--search")).addHelpText("after", commandMetadataHelpText("recordings list"));
|
|
23327
23394
|
addCommonOptions(recordingsList);
|
|
@@ -23367,6 +23434,21 @@ Agent mode:
|
|
|
23367
23434
|
});
|
|
23368
23435
|
}
|
|
23369
23436
|
);
|
|
23437
|
+
const recordingsResummarize = recordings.command("resummarize <recordingId>").description("Retry or regenerate the summary for an existing recording").option("--model <name>", "summary model", parseStringOption("--model")).option("--prompt <text>", "custom summary prompt/context", parseStringOption("--prompt")).addHelpText("after", commandMetadataHelpText("recordings resummarize"));
|
|
23438
|
+
addCommonOptions(recordingsResummarize);
|
|
23439
|
+
recordingsResummarize.action(
|
|
23440
|
+
(recordingId, _options, command) => {
|
|
23441
|
+
const opts = command.opts();
|
|
23442
|
+
onSelect({
|
|
23443
|
+
kind: "recordings-resummarize",
|
|
23444
|
+
options: collectGlobalOptions(command),
|
|
23445
|
+
commandName: "recordings resummarize",
|
|
23446
|
+
recordingId,
|
|
23447
|
+
...typeof opts.model === "string" ? { model: opts.model } : {},
|
|
23448
|
+
...typeof opts.prompt === "string" ? { prompt: opts.prompt } : {}
|
|
23449
|
+
});
|
|
23450
|
+
}
|
|
23451
|
+
);
|
|
23370
23452
|
const transcript = program.command("transcript").description("Read transcripts (create via upload --transcribe or recordings retranscribe)").addHelpText(
|
|
23371
23453
|
"after",
|
|
23372
23454
|
`
|