@vosjs/cli 0.11.0 → 0.12.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.
@@ -3351,9 +3351,9 @@ import { readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "
3351
3351
  import { join as join8 } from "path";
3352
3352
 
3353
3353
  // src/plugin/recordingCap.ts
3354
- import { formatDurationCap, planLimits } from "@vosjs/shared/limits";
3354
+ var HOSTED_RECORDING_CAP_SECONDS = 30 * 60;
3355
3355
  function defaultMaxDurationSeconds() {
3356
- return planLimits().recordingMaxSeconds;
3356
+ return HOSTED_RECORDING_CAP_SECONDS;
3357
3357
  }
3358
3358
  function capReached(elapsedMs, capSeconds) {
3359
3359
  return elapsedMs >= capSeconds * 1e3;
@@ -3361,6 +3361,14 @@ function capReached(elapsedMs, capSeconds) {
3361
3361
  function clampWait(waitMs, elapsedMs, capSeconds) {
3362
3362
  return Math.max(0, Math.min(waitMs, capSeconds * 1e3 - elapsedMs));
3363
3363
  }
3364
+ function formatDurationCap(seconds) {
3365
+ if (seconds < 60) return `${seconds} s`;
3366
+ const m = Math.round(seconds / 60);
3367
+ if (m < 60) return `${m} min`;
3368
+ const h = Math.floor(m / 60);
3369
+ const rest = m % 60;
3370
+ return rest ? `${h} h ${rest} min` : `${h} h`;
3371
+ }
3364
3372
  function cappedLine(capSeconds) {
3365
3373
  return `stopped at ${formatDurationCap(capSeconds)} (--max-duration ${capSeconds}); the remaining steps did not run`;
3366
3374
  }
@@ -7245,12 +7253,12 @@ async function cmdDigest(argv) {
7245
7253
  sourceDuration: d.take.sourceDuration,
7246
7254
  outputDuration: d.take.outputDuration,
7247
7255
  hasCursor: d.take.hasCursor,
7248
- tokensEstimateClaude: d.images.tokensEstimateClaude,
7256
+ tokensEstimate: d.images.tokensEstimate,
7249
7257
  bytes: result.bytes
7250
7258
  },
7251
7259
  `Wrote ${result.file} \u2014 ${d.moments.length} moments (${Object.entries(
7252
7260
  kinds
7253
- ).map(([k, n]) => `${n} ${k}`).join(", ")}), ${d.images.full} frames + ${d.images.crop} crops` + (d.images.sheet ? `, sheet.png` : "") + ` \u2014 ~${d.images.tokensEstimateClaude} image tokens to read them all` + (d.take.hasCursor ? "" : "\n no cursor track: moments are head/tail/scenes only \u2014 pace by activity, zoom only where the ask names a place") + `
7261
+ ).map(([k, n]) => `${n} ${k}`).join(", ")}), ${d.images.full} frames + ${d.images.crop} crops` + (d.images.sheet ? `, sheet.png` : "") + ` \u2014 ~${d.images.tokensEstimate} image tokens to read them all` + (d.take.hasCursor ? "" : "\n no cursor track: moments are head/tail/scenes only \u2014 pace by activity, zoom only where the ask names a place") + `
7254
7262
  Read digest.json, then the sheet, then a crop only where you must decide.`
7255
7263
  );
7256
7264
  return EXIT_OK;
@@ -7565,4 +7573,4 @@ export {
7565
7573
  convertAgentBrowser,
7566
7574
  run
7567
7575
  };
7568
- //# sourceMappingURL=chunk-3W3XD6HL.js.map
7576
+ //# sourceMappingURL=chunk-DEE2KCDO.js.map