hotsheet 0.20.0-beta.6 → 0.20.0-beta.7

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/channel.js CHANGED
@@ -10476,6 +10476,16 @@ var GlobalConfigSchema = z2.object({
10476
10476
  // `Model` is the concrete local model name (e.g. `llama3.1`). Both global.
10477
10477
  announcerLocalEndpoint: z2.string().optional(),
10478
10478
  announcerLocalModel: z2.string().optional(),
10479
+ // HS-8891 — optional fallback model used ONLY when the primary is Apple
10480
+ // Foundation Models and it fails at inference (the HS-8883 "code 4" class). A
10481
+ // non-apple id: a `claude-*` model (cloud backup, spends on the user's key) or
10482
+ // the local pseudo-id. Empty string / unset = no fallback (Apple failure → no
10483
+ // narration, the pre-HS-8891 behavior). The auto-selected-on-device fallback
10484
+ // (HS-8805) is separate and unaffected.
10485
+ announcerFallbackModel: z2.string().refine(
10486
+ (v) => v === "" || v === LOCAL_MODEL_ID || v.startsWith("claude-"),
10487
+ { message: "must be empty, the local provider id, or a claude-* model id" }
10488
+ ).optional(),
10479
10489
  // HS-8781 — verbally announce permission checks (TTS only, no API cost).
10480
10490
  // Global; default ON, so `undefined`/unset is treated as enabled by the
10481
10491
  // client (`announcerSpeakPermissions !== false`).
@@ -10485,11 +10495,27 @@ var GlobalConfigSchema = z2.object({
10485
10495
  // destructive copy of legacy launch-default telemetry rows into each row's
10486
10496
  // owning project DB / the central store. Skipped on subsequent startups.
10487
10497
  telemetryMigratedV1: z2.boolean().optional(),
10498
+ // HS-8874 (migration efficiency) — per-source-DB resumability for the
10499
+ // telemetry migration. Each source project dir is appended here once all its
10500
+ // foreign rows have been copied, so a crash/quit mid-migration resumes at the
10501
+ // first incomplete DB instead of restarting from zero (the boot-loop the
10502
+ // end-only `telemetryMigratedV1` flag caused). Cleared when migration completes.
10503
+ telemetryMigrationV1DoneDirs: z2.array(z2.string()).optional(),
10488
10504
  // HS-8877 — retention window (days) for the centralized non-project telemetry
10489
10505
  // store (`~/.hotsheet/telemetry`). Projects have a per-project
10490
10506
  // `telemetry_retention_days`; central isn't a project, so its sweep window
10491
10507
  // lives here. Unset → the §67.6 default (30 days). `0` keeps central forever.
10492
- centralTelemetryRetentionDays: z2.number().int().min(0).optional()
10508
+ centralTelemetryRetentionDays: z2.number().int().min(0).optional(),
10509
+ // HS-8890 (§85.2.2) — retention window (days) for `otel_spans` in the central
10510
+ // store. Spans (§68 enhanced tracing) are high-volume, so they age out faster
10511
+ // than metrics/events: unset → the §85 default of 7 days (vs 30 for
10512
+ // metrics/events via `centralTelemetryRetentionDays`); `0` keeps spans forever.
10513
+ centralSpanRetentionDays: z2.number().int().min(0).optional(),
10514
+ // HS-8884 — last time a `VACUUM FULL` reclaim ran per telemetry DB dir
10515
+ // (`<dataDir>/db` or the central store), keyed by that dir's absolute path →
10516
+ // ISO timestamp. Throttles the heavy, exclusive-lock full reclaim to at most
10517
+ // once per `FULL_VACUUM_THROTTLE_DAYS`; routine plain VACUUMs aren't tracked.
10518
+ telemetryVacuumFullAt: z2.record(z2.string(), z2.string()).optional()
10493
10519
  }).strict();
10494
10520
  var PluginActionSchema = z2.object({
10495
10521
  actionId: z2.string(),