@camstack/addon-model-studio 1.1.103 → 1.1.104

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/_stub.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./virtualExposes-CWSi4E_g.mjs";
2
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-B62CQYmV.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CaE_D4tv.mjs";
3
3
  import { _ as e, c as t, d as n, h as r, i, l as a, m as o, p as s, r as c, t as l, u, y as d } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
4
4
  import { a as f, i as p, o as m, r as h, s as g } from "./responsive-BKfVQp1R.mjs";
5
5
  import { d as _, l as v, u as y } from "./use-device-snapshot-BHoqPeg0.mjs";
@@ -1,9 +1,9 @@
1
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-B62CQYmV.mjs";
1
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CaE_D4tv.mjs";
2
2
  //#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_model_studio_page
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.80",
6
+ version: "1.2.81",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_model_studio_page",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.160",
21
+ version: "1.2.161",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_model_studio_page",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.128",
36
+ version: "1.2.129",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_model_studio_page",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.160",
39
+ version: "1.2.161",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -45,7 +45,7 @@ async function r() {
45
45
  }
46
46
  },
47
47
  "@camstack/sdk": {
48
- version: "1.2.80",
48
+ version: "1.2.81",
49
49
  scope: "default",
50
50
  shareConfig: {
51
51
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.128",
84
+ version: "1.2.129",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
@@ -11134,12 +11134,30 @@ var BackupDestinationInfoSchema = object({
11134
11134
  lastSuccessAt: number().optional(),
11135
11135
  /** Newest-archive size from `manifests.json`, or undefined. */
11136
11136
  lastSuccessSizeBytes: number().optional(),
11137
- /** Per-destination cron expression. Empty = manual-only (no schedule). */
11137
+ /**
11138
+ * Cron cadence(s) of the ENABLED schedules that fan out to this
11139
+ * destination, comma-joined. Absent when no enabled schedule targets it
11140
+ * — a destination nothing is scheduled to write to must not advertise a
11141
+ * cadence (D384). This is never the `backup_destination_policies.cron`
11142
+ * column: that per-location cron has scheduled nothing since 2026-07-28
11143
+ * and reading it made a destination with a DISABLED schedule claim a
11144
+ * nightly run.
11145
+ */
11138
11146
  cron: string().optional(),
11139
- /** ms-epoch of next computed firing for this destination's cron, if any. */
11147
+ /** ms-epoch of the next firing across those schedules (earliest), if any. */
11140
11148
  nextRunAt: number().optional(),
11141
- /** ms-epoch of last successful scheduled run (mirrors policy.lastRunAt). */
11142
- lastRunAt: number().optional()
11149
+ /**
11150
+ * ms-epoch of the last time a run ATTEMPTED to write here — success or
11151
+ * failure. Never a success stamp: pair it with `lastSuccessAt` (the
11152
+ * newest archive that actually landed) and `lastError`.
11153
+ */
11154
+ lastAttemptAt: number().optional(),
11155
+ /**
11156
+ * Why the last attempt failed, verbatim. Absent when the last attempt
11157
+ * landed the archive. A destination that has never been written to has
11158
+ * neither this nor `lastAttemptAt`.
11159
+ */
11160
+ lastError: string().optional()
11143
11161
  });
11144
11162
  /**
11145
11163
  * Per-archive entry returned by `backup.listArchives({ destinationId })`.
@@ -11302,8 +11320,16 @@ var BackupScheduleSchema = object({
11302
11320
  retentionCount: number().int().min(1).max(1e3),
11303
11321
  /** Optional subset of source locations to include; omitted = all. */
11304
11322
  dataSources: array(string()).readonly().optional(),
11305
- /** ms-epoch of last successful run. */
11306
- lastRunAt: number().optional(),
11323
+ /**
11324
+ * ms-epoch of the last tick that FIRED this schedule. Stamped before the
11325
+ * archive runs (it is the dedupe anchor), so it says "attempted", never
11326
+ * "succeeded" — a run refused by every destination stamps it too.
11327
+ */
11328
+ lastAttemptAt: number().optional(),
11329
+ /** ms-epoch of the last run of this schedule that landed at ≥1 destination. */
11330
+ lastSuccessAt: number().optional(),
11331
+ /** Why the last fired run failed, verbatim. Absent when it succeeded. */
11332
+ lastError: string().optional(),
11307
11333
  /** ms-epoch of next computed firing (read-only, filled on list). */
11308
11334
  nextRunAt: number().optional()
11309
11335
  });
@@ -11352,14 +11378,7 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
11352
11378
  locationId: string(),
11353
11379
  enabled: boolean(),
11354
11380
  retentionCount: number().int().min(1).max(1e3),
11355
- label: string().optional(),
11356
- /**
11357
- * Per-destination cron expression. Empty string clears the
11358
- * schedule (manual-only). Validated server-side via croner;
11359
- * malformed expressions reject the upsert with an actionable
11360
- * message.
11361
- */
11362
- cron: string().optional()
11381
+ label: string().optional()
11363
11382
  }), _void(), {
11364
11383
  kind: "mutation",
11365
11384
  auth: "admin"
@@ -11113,12 +11113,30 @@ var BackupDestinationInfoSchema = object({
11113
11113
  lastSuccessAt: number().optional(),
11114
11114
  /** Newest-archive size from `manifests.json`, or undefined. */
11115
11115
  lastSuccessSizeBytes: number().optional(),
11116
- /** Per-destination cron expression. Empty = manual-only (no schedule). */
11116
+ /**
11117
+ * Cron cadence(s) of the ENABLED schedules that fan out to this
11118
+ * destination, comma-joined. Absent when no enabled schedule targets it
11119
+ * — a destination nothing is scheduled to write to must not advertise a
11120
+ * cadence (D384). This is never the `backup_destination_policies.cron`
11121
+ * column: that per-location cron has scheduled nothing since 2026-07-28
11122
+ * and reading it made a destination with a DISABLED schedule claim a
11123
+ * nightly run.
11124
+ */
11117
11125
  cron: string().optional(),
11118
- /** ms-epoch of next computed firing for this destination's cron, if any. */
11126
+ /** ms-epoch of the next firing across those schedules (earliest), if any. */
11119
11127
  nextRunAt: number().optional(),
11120
- /** ms-epoch of last successful scheduled run (mirrors policy.lastRunAt). */
11121
- lastRunAt: number().optional()
11128
+ /**
11129
+ * ms-epoch of the last time a run ATTEMPTED to write here — success or
11130
+ * failure. Never a success stamp: pair it with `lastSuccessAt` (the
11131
+ * newest archive that actually landed) and `lastError`.
11132
+ */
11133
+ lastAttemptAt: number().optional(),
11134
+ /**
11135
+ * Why the last attempt failed, verbatim. Absent when the last attempt
11136
+ * landed the archive. A destination that has never been written to has
11137
+ * neither this nor `lastAttemptAt`.
11138
+ */
11139
+ lastError: string().optional()
11122
11140
  });
11123
11141
  /**
11124
11142
  * Per-archive entry returned by `backup.listArchives({ destinationId })`.
@@ -11281,8 +11299,16 @@ var BackupScheduleSchema = object({
11281
11299
  retentionCount: number().int().min(1).max(1e3),
11282
11300
  /** Optional subset of source locations to include; omitted = all. */
11283
11301
  dataSources: array(string()).readonly().optional(),
11284
- /** ms-epoch of last successful run. */
11285
- lastRunAt: number().optional(),
11302
+ /**
11303
+ * ms-epoch of the last tick that FIRED this schedule. Stamped before the
11304
+ * archive runs (it is the dedupe anchor), so it says "attempted", never
11305
+ * "succeeded" — a run refused by every destination stamps it too.
11306
+ */
11307
+ lastAttemptAt: number().optional(),
11308
+ /** ms-epoch of the last run of this schedule that landed at ≥1 destination. */
11309
+ lastSuccessAt: number().optional(),
11310
+ /** Why the last fired run failed, verbatim. Absent when it succeeded. */
11311
+ lastError: string().optional(),
11286
11312
  /** ms-epoch of next computed firing (read-only, filled on list). */
11287
11313
  nextRunAt: number().optional()
11288
11314
  });
@@ -11331,14 +11357,7 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
11331
11357
  locationId: string(),
11332
11358
  enabled: boolean(),
11333
11359
  retentionCount: number().int().min(1).max(1e3),
11334
- label: string().optional(),
11335
- /**
11336
- * Per-destination cron expression. Empty string clears the
11337
- * schedule (manual-only). Validated server-side via croner;
11338
- * malformed expressions reject the upsert with an actionable
11339
- * message.
11340
- */
11341
- cron: string().optional()
11360
+ label: string().optional()
11342
11361
  }), _void(), {
11343
11362
  kind: "mutation",
11344
11363
  auth: "admin"
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-B62CQYmV.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CaE_D4tv.mjs";
2
2
  export { t as get, e as init };
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-CixOJF-v.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-vNTuRhqM.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-model-studio",
3
- "version": "1.1.103",
3
+ "version": "1.1.104",
4
4
  "description": "Custom detection model registry, conversion & distribution for CamStack",
5
5
  "keywords": [
6
6
  "camstack",