recappi 0.1.22 → 0.1.24
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 +12 -17
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -15,16 +15,6 @@ function recordingCaptureMappingFromSelection(selection = DEFAULT_RECORDING_SELE
|
|
|
15
15
|
if (!source) {
|
|
16
16
|
throw new Error("No recording sources are available.");
|
|
17
17
|
}
|
|
18
|
-
if (source.kind === "microphone") {
|
|
19
|
-
return {
|
|
20
|
-
source,
|
|
21
|
-
includeSystemAudio: false,
|
|
22
|
-
includeMicrophone: true,
|
|
23
|
-
...selection.microphoneDeviceId ? { microphoneDeviceId: selection.microphoneDeviceId } : {},
|
|
24
|
-
sourceLabel: source.label,
|
|
25
|
-
micEnabled: true
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
18
|
const microphoneDeviceId = selection.includeMicrophone && selection.microphoneDeviceId ? selection.microphoneDeviceId : void 0;
|
|
29
19
|
return {
|
|
30
20
|
source,
|
|
@@ -1503,7 +1493,7 @@ function RecordSetupView({
|
|
|
1503
1493
|
s.label
|
|
1504
1494
|
] }, s.id);
|
|
1505
1495
|
}),
|
|
1506
|
-
!hasAppSource ? /* @__PURE__ */ jsx16(Text14, { dimColor: true, children: "
|
|
1496
|
+
!hasAppSource ? /* @__PURE__ */ jsx16(Text14, { dimColor: true, children: "No app-specific sources available right now" }) : null
|
|
1507
1497
|
] });
|
|
1508
1498
|
const capturePlan = /* @__PURE__ */ jsxs13(Box14, { flexDirection: "column", children: [
|
|
1509
1499
|
/* @__PURE__ */ jsx16(Text14, { dimColor: true, children: "CAPTURE PLAN" }),
|
|
@@ -1577,7 +1567,8 @@ function RecordingHeroScreen({
|
|
|
1577
1567
|
const [tick, setTick] = useState6(() => now());
|
|
1578
1568
|
const [wave, setWave] = useState6([]);
|
|
1579
1569
|
useEffect2(() => {
|
|
1580
|
-
|
|
1570
|
+
if (telemetry.level == null) return;
|
|
1571
|
+
const lvl = Math.max(telemetry.level.system ?? 0, telemetry.level.mic ?? 0);
|
|
1581
1572
|
setWave((w) => [...w.slice(-512), lvl]);
|
|
1582
1573
|
}, [telemetry.level]);
|
|
1583
1574
|
useEffect2(() => {
|
|
@@ -1623,7 +1614,11 @@ function RecordingHeroScreen({
|
|
|
1623
1614
|
/* @__PURE__ */ jsxs14(Box15, { flexGrow: 1, flexDirection: "column", justifyContent: "center", alignItems: "center", children: [
|
|
1624
1615
|
/* @__PURE__ */ jsx17(Text15, { bold: true, color: paused ? "yellow" : "red", children: badge }),
|
|
1625
1616
|
/* @__PURE__ */ jsx17(Text15, { bold: true, children: elapsed }),
|
|
1626
|
-
/* @__PURE__ */ jsx17(Box15, { marginTop: 1, children:
|
|
1617
|
+
/* @__PURE__ */ jsx17(Box15, { marginTop: 1, children: telemetry.level == null ? (
|
|
1618
|
+
// No level telemetry yet — show honest activity, not a flat meter that
|
|
1619
|
+
// looks like silence (the elapsed timer above proves it's live).
|
|
1620
|
+
/* @__PURE__ */ jsx17(Text15, { dimColor: true, children: paused ? "Paused" : `Capturing audio${".".repeat(Math.floor(tick / 1e3) % 3 + 1)}` })
|
|
1621
|
+
) : /* @__PURE__ */ jsx17(Text15, { color: paused ? "gray" : "red", children: waveform(wave, innerWidth) }) }),
|
|
1627
1622
|
/* @__PURE__ */ jsx17(Box15, { marginTop: 1, children: /* @__PURE__ */ jsxs14(Text15, { dimColor: true, children: [
|
|
1628
1623
|
telemetry.sourceLabel,
|
|
1629
1624
|
telemetry.micEnabled ? " + Microphone" : ""
|
|
@@ -1686,8 +1681,8 @@ function recordErrorCopy(code, message) {
|
|
|
1686
1681
|
};
|
|
1687
1682
|
case "record.capture_unavailable":
|
|
1688
1683
|
return {
|
|
1689
|
-
title: "
|
|
1690
|
-
detail: "
|
|
1684
|
+
title: "This local recorder can't capture audio.",
|
|
1685
|
+
detail: "Update recappi so the local recorder matches this CLI.",
|
|
1691
1686
|
tone: "yellow"
|
|
1692
1687
|
};
|
|
1693
1688
|
case "record.permission_required":
|
|
@@ -20515,10 +20510,10 @@ function assertSidecarCapabilities(handshake, opts) {
|
|
|
20515
20510
|
missing.push("live_captions.stream");
|
|
20516
20511
|
}
|
|
20517
20512
|
if (missing.length === 0) return;
|
|
20518
|
-
throw cliError("record.capture_unavailable", "Recappi recording helper
|
|
20513
|
+
throw cliError("record.capture_unavailable", "Recappi recording helper does not support capture.", {
|
|
20519
20514
|
hint: `Found ${handshake.sidecar.name} ${handshake.sidecar.version}, but it did not advertise ${missing.join(
|
|
20520
20515
|
", "
|
|
20521
|
-
)}. Upgrade recappi
|
|
20516
|
+
)}. Upgrade recappi, or set ${SIDECAR_COMMAND_ENV} to a compatible helper.`
|
|
20522
20517
|
});
|
|
20523
20518
|
}
|
|
20524
20519
|
function resolveSidecarCommand(opts) {
|