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 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: "App-specific capture coming soon" }) : null
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
- const lvl = Math.max(telemetry.level?.system ?? 0, telemetry.level?.mic ?? 0);
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: /* @__PURE__ */ jsx17(Text15, { color: paused ? "gray" : "red", children: waveform(wave, innerWidth) }) }),
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: "CLI recording isn't ready yet.",
1690
- detail: "Use the Recappi Mini app to record for now; CLI recording is coming soon.",
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 cannot capture yet.", {
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 when a helper build with native recording support ships, or set ${SIDECAR_COMMAND_ENV} to a compatible helper.`
20516
+ )}. Upgrade recappi, or set ${SIDECAR_COMMAND_ENV} to a compatible helper.`
20522
20517
  });
20523
20518
  }
20524
20519
  function resolveSidecarCommand(opts) {