@camstack/addon-benchmark 0.1.17 → 0.1.18

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.
@@ -1,7 +1,7 @@
1
1
  const e = {
2
2
  "@camstack/sdk": {
3
3
  name: "@camstack/sdk",
4
- version: "0.1.39",
4
+ version: "0.1.40",
5
5
  scope: ["default"],
6
6
  loaded: !1,
7
7
  from: "__mfe_internal__addon_benchmark_page",
@@ -10,13 +10,13 @@ const e = {
10
10
  },
11
11
  shareConfig: {
12
12
  singleton: !0,
13
- requiredVersion: "^0.1.39",
13
+ requiredVersion: "^0.1.40",
14
14
  import: !1
15
15
  }
16
16
  },
17
17
  "@camstack/types": {
18
18
  name: "@camstack/types",
19
- version: "0.1.18",
19
+ version: "0.1.26",
20
20
  scope: ["default"],
21
21
  loaded: !1,
22
22
  from: "__mfe_internal__addon_benchmark_page",
@@ -25,13 +25,13 @@ const e = {
25
25
  },
26
26
  shareConfig: {
27
27
  singleton: !0,
28
- requiredVersion: "^0.1.18",
28
+ requiredVersion: "^0.1.26",
29
29
  import: !1
30
30
  }
31
31
  },
32
32
  "@camstack/ui-library": {
33
33
  name: "@camstack/ui-library",
34
- version: "0.1.42",
34
+ version: "0.1.43",
35
35
  scope: ["default"],
36
36
  loaded: !1,
37
37
  from: "__mfe_internal__addon_benchmark_page",
@@ -40,7 +40,7 @@ const e = {
40
40
  },
41
41
  shareConfig: {
42
42
  singleton: !0,
43
- requiredVersion: "^0.1.42",
43
+ requiredVersion: "^0.1.43",
44
44
  import: !1
45
45
  }
46
46
  },
@@ -63,7 +63,7 @@ async function l() {
63
63
  }), r.share["@camstack/sdk"] = e;
64
64
  }
65
65
  if (r.share["@camstack/types"] === void 0) {
66
- const e = { ...await import("./index-CH38B8HO.mjs") };
66
+ const e = { ...await import("./index-9AUGaWzI.mjs") };
67
67
  Object.defineProperty(e, "__esModule", {
68
68
  value: !0,
69
69
  enumerable: !1
@@ -101,21 +101,21 @@ async function l() {
101
101
  "@camstack/sdk": {
102
102
  shareConfig: {
103
103
  singleton: !0,
104
- requiredVersion: "^0.1.39",
104
+ requiredVersion: "^0.1.40",
105
105
  import: !1
106
106
  }
107
107
  },
108
108
  "@camstack/types": {
109
109
  shareConfig: {
110
110
  singleton: !0,
111
- requiredVersion: "^0.1.18",
111
+ requiredVersion: "^0.1.26",
112
112
  import: !1
113
113
  }
114
114
  },
115
115
  "@camstack/ui-library": {
116
116
  shareConfig: {
117
117
  singleton: !0,
118
- requiredVersion: "^0.1.42",
118
+ requiredVersion: "^0.1.43",
119
119
  import: !1
120
120
  }
121
121
  },
@@ -8572,15 +8572,6 @@ const lu = a({
8572
8572
  addonId: o(),
8573
8573
  /** Display label shown on the login button + admin row. */
8574
8574
  displayName: o(),
8575
- /**
8576
- * Provider kind — drives icon + grouping in admin UI.
8577
- * - `local` — username/password form (always at top of login page)
8578
- * - `oidc` — OpenID Connect (Google, Microsoft, Okta, generic)
8579
- * - `saml` — SAML 2.0
8580
- * - `ldap` — LDAP / Active Directory
8581
- * - `other` — anything else (custom integrations)
8582
- */
8583
- kind: I(["local", "oidc", "saml", "ldap", "other"]),
8584
8575
  /** Optional iconography hint (lucide-react icon name OR emoji). */
8585
8576
  icon: o().optional(),
8586
8577
  /** When true, the provider exposes a redirect-based login flow
@@ -8640,16 +8631,8 @@ const lu = a({
8640
8631
  }), Hm = a({
8641
8632
  /** Stable id matching the addon id. */
8642
8633
  addonId: o(),
8643
- /** Display label shown on the admin row. */
8634
+ /** Display label shown on the admin row — sourced from the addon manifest. */
8644
8635
  displayName: o(),
8645
- /**
8646
- * Provider kind — drives icon + status formatting.
8647
- * - `cloudflare-tunnel`
8648
- * - `ngrok`
8649
- * - `tailscale`
8650
- * - `other`
8651
- */
8652
- kind: I(["cloudflare-tunnel", "ngrok", "tailscale", "other"]),
8653
8636
  /** When false, the provider is registered but disabled. */
8654
8637
  enabled: y(),
8655
8638
  /** True when the underlying tunnel/connection is up. */
@@ -8705,16 +8688,8 @@ const lu = a({
8705
8688
  }, Jm = a({
8706
8689
  /** Stable id matching the addon id. */
8707
8690
  addonId: o(),
8708
- /** Display label shown on the admin row. */
8691
+ /** Display label shown on the admin row — sourced from the addon manifest. */
8709
8692
  displayName: o(),
8710
- /**
8711
- * Provider kind — drives icon + grouping.
8712
- * - `cloudflare` — Cloudflare TURN
8713
- * - `coturn` — self-hosted coturn
8714
- * - `twilio` — Twilio Network Traversal
8715
- * - `other` — anything else
8716
- */
8717
- kind: I(["cloudflare", "coturn", "twilio", "other"]),
8718
8693
  /** When false, the provider is registered but disabled. */
8719
8694
  enabled: y(),
8720
8695
  /** Number of servers this provider is currently exposing. */
@@ -10251,10 +10226,8 @@ const lu = a({
10251
10226
  }), qg = a({
10252
10227
  /** Stable id matching the addon id. */
10253
10228
  addonId: o(),
10254
- /** Display label shown on the admin row. */
10229
+ /** Display label shown on the admin row — sourced from the addon manifest. */
10255
10230
  displayName: o(),
10256
- /** Drives icon + status formatting. */
10257
- kind: I(["tailscale", "headscale", "zerotier", "other"]),
10258
10231
  /** True when the host is joined to this provider's mesh. */
10259
10232
  joined: y(),
10260
10233
  /** Local mesh IP (empty when not joined). */
@@ -10293,7 +10266,7 @@ const lu = a({
10293
10266
  { kind: "mutation" }
10294
10267
  )
10295
10268
  }
10296
- }, je = I(["super_admin", "admin", "viewer", "agent"]), xt = a({
10269
+ }, je = I(["super_admin", "admin", "viewer", "agent", "scoped"]), xt = a({
10297
10270
  id: o(),
10298
10271
  username: o(),
10299
10272
  role: je,
@@ -10338,10 +10311,16 @@ const lu = a({
10338
10311
  name: o(),
10339
10312
  tokenPrefix: o(),
10340
10313
  scopes: g(Da),
10341
- expiresAt: s().optional(),
10342
- lastUsedAt: s().optional(),
10314
+ // Mirror the storage schema: `.nullish()` accepts the SQLite-native
10315
+ // `null` for absent timestamps as well as in-memory `undefined`.
10316
+ expiresAt: s().nullish(),
10317
+ lastUsedAt: s().nullish(),
10343
10318
  createdAt: s()
10344
10319
  }), Vg = a({
10320
+ // The owner the token is issued on behalf of. `adminProcedure` gates
10321
+ // this call so an admin can mint tokens for any user; the CLI passes
10322
+ // its own logged-in `user.id` here.
10323
+ userId: o(),
10345
10324
  name: o(),
10346
10325
  scopes: g(Da),
10347
10326
  expiresAt: s().optional()
@@ -10795,14 +10774,16 @@ const lu = a({
10795
10774
  // ── Listing ──────────────────────────────────────────────────────
10796
10775
  list: u(v(), g(kf).readonly()),
10797
10776
  // ── Logs (query) ────────────────────────────────────────────────
10777
+ // Default auth (`protected`): authenticated users — including scoped
10778
+ // tokens with the right route-prefix scope. Reading logs isn't an
10779
+ // administrative action; install/restart/uninstall stay admin-only.
10798
10780
  getLogs: u(
10799
10781
  a({
10800
10782
  addonId: o(),
10801
10783
  limit: s().min(1).max(500).default(100),
10802
10784
  level: di.optional()
10803
10785
  }),
10804
- g(Ef),
10805
- { auth: "admin" }
10786
+ g(Ef)
10806
10787
  ),
10807
10788
  // ── Packages ────────────────────────────────────────────────────
10808
10789
  listPackages: u(v(), g(If).readonly()),
@@ -10944,7 +10925,7 @@ const lu = a({
10944
10925
  ...Mf,
10945
10926
  "pipeline-orchestrator",
10946
10927
  "pipeline-runner"
10947
- ], Ea = I(["super_admin", "admin", "viewer", "agent"]), Oa = U([P("*"), g(o())]), Ra = A(o(), U([P("*"), g(o())])), Uv = a({
10928
+ ], Ea = I(["super_admin", "admin", "viewer", "agent", "scoped"]), Oa = U([P("*"), g(o())]), Ra = A(o(), U([P("*"), g(o())])), Uv = a({
10948
10929
  id: o(),
10949
10930
  username: o(),
10950
10931
  passwordHash: o(),
@@ -10973,8 +10954,10 @@ const lu = a({
10973
10954
  tokenHash: o(),
10974
10955
  tokenPrefix: o(),
10975
10956
  scopes: g(Nf),
10976
- expiresAt: s().optional(),
10977
- lastUsedAt: s().optional(),
10957
+ // SQLite/JSON storage round-trips undefined → null. Use `nullish` so the
10958
+ // schema accepts both `null` (read from disk) and `undefined` (in-memory).
10959
+ expiresAt: s().nullish(),
10960
+ lastUsedAt: s().nullish(),
10978
10961
  createdAt: s()
10979
10962
  });
10980
10963
  class Vv {
@@ -2926,7 +2926,7 @@ async function wt(e) {
2926
2926
  }
2927
2927
  }
2928
2928
  async function ba() {
2929
- return Le || (Le = wt(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_benchmark_page-CP_gJOE-.mjs")).catch((e) => {
2929
+ return Le || (Le = wt(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_benchmark_page-Cvj2DZgg.mjs")).catch((e) => {
2930
2930
  throw Le = void 0, e;
2931
2931
  })), Le;
2932
2932
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-benchmark",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "description": "Detection addon benchmarking with reference images, accuracy metrics, and distributed execution",
5
5
  "keywords": [
6
6
  "camstack",