@camstack/addon-post-analysis 1.2.227 → 1.2.228

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.
@@ -34331,7 +34331,29 @@ var LoggingSettingsPatchSchema = object({
34331
34331
  * disarmed the channels it did not mention would make the Levels page and
34332
34332
  * the Diagnostics page fight over the same value.
34333
34333
  */
34334
- channels: array(LogChannelWindowPatchSchema).readonly().optional()
34334
+ channels: array(LogChannelWindowPatchSchema).readonly().optional(),
34335
+ /**
34336
+ * How many days the analytics OPS LOG is kept — the audit trail of what
34337
+ * retention actually deleted.
34338
+ *
34339
+ * It lives HERE, on the logging document, and not on the analytics addon's
34340
+ * settings form, on the operator's instruction: every other log-ish window in
34341
+ * this system is configured through this one document, and a retention audit
34342
+ * configured somewhere else is a second place to look when the question is
34343
+ * "what happened to my data".
34344
+ *
34345
+ * That placement has a cost worth stating: this document ships in the
34346
+ * framework closure, so this knob needs a published `@camstack/server` while
34347
+ * the four windows beside it (D485) reach a node on `camstack deploy`.
34348
+ *
34349
+ * `retention-model.ts` argued this one must NOT follow a device window,
34350
+ * because the audit trail is the history of the SWEEP and not of the camera.
34351
+ * That argument stands and is untouched — what changes is that 30 days stops
34352
+ * being a constant nobody can reach. `0` keeps it forever. The floor is 1 day
34353
+ * rather than 0-as-delete: an audit log truncated to nothing is precisely the
34354
+ * state in which the next 9.5 GiB leak cannot be explained.
34355
+ */
34356
+ opsLogRetentionDays: number().int().min(0).max(3650).optional()
34335
34357
  });
34336
34358
  /**
34337
34359
  * Which LAYER of the hierarchy is addressed. Absent = the cluster layer.
@@ -34404,6 +34426,14 @@ var LoggingSettingsStateSchema = object({
34404
34426
  channels: array(LogChannelDescriptorSchema).readonly(),
34405
34427
  /** The channels ARMED right now, each with its deadline. */
34406
34428
  activeChannels: array(LogChannelWindowStateSchema).readonly(),
34429
+ /**
34430
+ * The ops-log window in days, as it is in force. `0` = kept forever.
34431
+ *
34432
+ * Reported rather than left to the caller's memory of what it wrote: this is
34433
+ * the value the analytics sweep will actually use, and an operator asking how
34434
+ * long their audit trail lives should not have to infer it from a default.
34435
+ */
34436
+ opsLogRetentionDays: number().int().min(0),
34407
34437
  persisted: boolean()
34408
34438
  });
34409
34439
  method(_void(), FeatureManifestSchema), method(_void(), HealthStatusSchema), method(_void(), FeatureManifestSchema), method(_void(), array(NetworkAddressSchema).readonly()), method(_void(), unknown().nullable(), { auth: "admin" }), method(record(string(), unknown()), _null(), {
@@ -34300,7 +34300,29 @@ var LoggingSettingsPatchSchema = object({
34300
34300
  * disarmed the channels it did not mention would make the Levels page and
34301
34301
  * the Diagnostics page fight over the same value.
34302
34302
  */
34303
- channels: array(LogChannelWindowPatchSchema).readonly().optional()
34303
+ channels: array(LogChannelWindowPatchSchema).readonly().optional(),
34304
+ /**
34305
+ * How many days the analytics OPS LOG is kept — the audit trail of what
34306
+ * retention actually deleted.
34307
+ *
34308
+ * It lives HERE, on the logging document, and not on the analytics addon's
34309
+ * settings form, on the operator's instruction: every other log-ish window in
34310
+ * this system is configured through this one document, and a retention audit
34311
+ * configured somewhere else is a second place to look when the question is
34312
+ * "what happened to my data".
34313
+ *
34314
+ * That placement has a cost worth stating: this document ships in the
34315
+ * framework closure, so this knob needs a published `@camstack/server` while
34316
+ * the four windows beside it (D485) reach a node on `camstack deploy`.
34317
+ *
34318
+ * `retention-model.ts` argued this one must NOT follow a device window,
34319
+ * because the audit trail is the history of the SWEEP and not of the camera.
34320
+ * That argument stands and is untouched — what changes is that 30 days stops
34321
+ * being a constant nobody can reach. `0` keeps it forever. The floor is 1 day
34322
+ * rather than 0-as-delete: an audit log truncated to nothing is precisely the
34323
+ * state in which the next 9.5 GiB leak cannot be explained.
34324
+ */
34325
+ opsLogRetentionDays: number().int().min(0).max(3650).optional()
34304
34326
  });
34305
34327
  /**
34306
34328
  * Which LAYER of the hierarchy is addressed. Absent = the cluster layer.
@@ -34373,6 +34395,14 @@ var LoggingSettingsStateSchema = object({
34373
34395
  channels: array(LogChannelDescriptorSchema).readonly(),
34374
34396
  /** The channels ARMED right now, each with its deadline. */
34375
34397
  activeChannels: array(LogChannelWindowStateSchema).readonly(),
34398
+ /**
34399
+ * The ops-log window in days, as it is in force. `0` = kept forever.
34400
+ *
34401
+ * Reported rather than left to the caller's memory of what it wrote: this is
34402
+ * the value the analytics sweep will actually use, and an operator asking how
34403
+ * long their audit trail lives should not have to infer it from a default.
34404
+ */
34405
+ opsLogRetentionDays: number().int().min(0),
34376
34406
  persisted: boolean()
34377
34407
  });
34378
34408
  method(_void(), FeatureManifestSchema), method(_void(), HealthStatusSchema), method(_void(), FeatureManifestSchema), method(_void(), array(NetworkAddressSchema).readonly()), method(_void(), unknown().nullable(), { auth: "admin" }), method(record(string(), unknown()), _null(), {
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-BmhTo2Yp.js");
5
+ const require_dist = require("../dist-BA22X-6q.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_dist.__toESM(node_fs);
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Dt as parseProcStatus, H as PoolMemoryWatchdog, Pt as resolvePoolMemoryPolicy, Ut as BaseAddon, ft as embeddingEncoderCapability, vt as hfModelUrl } from "../dist-C7-GAwZ9.mjs";
1
+ import { Dt as parseProcStatus, H as PoolMemoryWatchdog, Pt as resolvePoolMemoryPolicy, Ut as BaseAddon, ft as embeddingEncoderCapability, vt as hfModelUrl } from "../dist-C8Z_mwSc.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.183",
21
+ version: "1.2.184",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.183",
39
+ version: "1.2.184",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,