@camstack/addon-post-analysis 1.2.371 → 1.2.373
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/{clip-model-registry-aWakBGm3.js → clip-model-registry-Cy2RokDO.js} +316 -34
- package/dist/{clip-model-registry-DnJSHCsn.mjs → clip-model-registry-jeFu3pma.mjs} +316 -34
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DzBqyp65.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-ujfvEENv.mjs} +2 -2
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BRMRfKVO.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CyYkqCmx.mjs} +1 -1
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CYfz4e5v.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Kh1uHJki.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit-B83y5X7G.mjs → hostInit-Ddz0CyLk.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +72 -77
- package/dist/pipeline-analytics/index.mjs +72 -77
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-BvOFi6PY.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -63,6 +63,24 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
63
63
|
* consumes this category and maps it to the `addon-crash-loop` kind.
|
|
64
64
|
*/
|
|
65
65
|
EventCategory["AddonRunnerFailed"] = "addon.runner-failed";
|
|
66
|
+
/**
|
|
67
|
+
* A runner whose addon refused to start with a typed reason (D877) - parked
|
|
68
|
+
* in `refused`, never counted by the crash breaker, retried on operator
|
|
69
|
+
* action. One event per refusal.
|
|
70
|
+
*/
|
|
71
|
+
EventCategory["AddonRunnerRefused"] = "addon.runner-refused";
|
|
72
|
+
/**
|
|
73
|
+
* A runner settled on a state (D877): `running` (READY), `crashed`, `failed` or
|
|
74
|
+
* `refused`. In-process telemetry for the boot check (re-evaluate while any
|
|
75
|
+
* runner is still pending) and the alert centre (close a recovered runner).
|
|
76
|
+
*/
|
|
77
|
+
EventCategory["ProcessStateChanged"] = "process.state-changed";
|
|
78
|
+
/**
|
|
79
|
+
* The node's one-shot runner boot check (D877): planned runners against the
|
|
80
|
+
* process service, `degraded` when any is failed, refused or missing. The
|
|
81
|
+
* alert centre turns it into one alert and a direct critical push.
|
|
82
|
+
*/
|
|
83
|
+
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
66
84
|
EventCategory["AddonError"] = "addon.error";
|
|
67
85
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
68
86
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5459,7 +5477,7 @@ var ZodIssueCode = {
|
|
|
5459
5477
|
var ZodFirstPartyTypeKind;
|
|
5460
5478
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5461
5479
|
//#endregion
|
|
5462
|
-
//#region ../types/dist/sleep-
|
|
5480
|
+
//#region ../types/dist/sleep-bgZLodYc.mjs
|
|
5463
5481
|
/**
|
|
5464
5482
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5465
5483
|
* window to float samples (D455).
|
|
@@ -6710,7 +6728,6 @@ function createHandle(raw, opts) {
|
|
|
6710
6728
|
const writeAddon = (patch) => write("addon", opts.addonTree(), void 0, patch, () => readStoredAddonBlob(raw), (p) => raw.writeAddonStore(p));
|
|
6711
6729
|
const readAddonStoreResult = raw.readAddonStoreResult;
|
|
6712
6730
|
const readAddonStoreKeyResult = raw.readAddonStoreKeyResult;
|
|
6713
|
-
const readDeviceStoreBatch = raw.readDeviceStoreBatch;
|
|
6714
6731
|
const overrides = {
|
|
6715
6732
|
readAddonStore: async () => resolveRead("addon", await raw.readAddonStore()),
|
|
6716
6733
|
...readAddonStoreResult !== void 0 ? { readAddonStoreResult: async () => {
|
|
@@ -6734,12 +6751,12 @@ function createHandle(raw, opts) {
|
|
|
6734
6751
|
};
|
|
6735
6752
|
} } : {},
|
|
6736
6753
|
readDeviceStore: async (deviceId) => resolveRead(`device:${deviceId}`, await raw.readDeviceStore(deviceId)),
|
|
6737
|
-
|
|
6738
|
-
const rows = await readDeviceStoreBatch
|
|
6754
|
+
readDeviceStoreBatch: async (deviceIds) => {
|
|
6755
|
+
const rows = await raw.readDeviceStoreBatch(deviceIds);
|
|
6739
6756
|
const out = /* @__PURE__ */ new Map();
|
|
6740
6757
|
for (const [deviceId, blob] of rows) out.set(deviceId, await resolveRead(`device:${deviceId}`, blob));
|
|
6741
6758
|
return out;
|
|
6742
|
-
}
|
|
6759
|
+
},
|
|
6743
6760
|
writeAddonStore: async (patch) => {
|
|
6744
6761
|
await writeAddon(patch);
|
|
6745
6762
|
},
|
|
@@ -7566,7 +7583,7 @@ var BaseAddon = class {
|
|
|
7566
7583
|
return this._addonSecretTree;
|
|
7567
7584
|
}
|
|
7568
7585
|
deviceSecretTree() {
|
|
7569
|
-
this._deviceSecretTree ??= secretTreeFromSchema(this.deviceSettingsSchema());
|
|
7586
|
+
this._deviceSecretTree ??= mergeSecretStatePaths(secretTreeFromSchema(this.deviceSettingsSchema()), this.secretStatePaths);
|
|
7570
7587
|
return this._deviceSecretTree;
|
|
7571
7588
|
}
|
|
7572
7589
|
/**
|
|
@@ -7642,42 +7659,135 @@ var BaseAddon = class {
|
|
|
7642
7659
|
this[timerOf] = timer;
|
|
7643
7660
|
}
|
|
7644
7661
|
/**
|
|
7645
|
-
* Wrap `ctx.settings.readAddonStore()` with a
|
|
7646
|
-
*
|
|
7647
|
-
* swap, or any race where the SqliteSettingsBackend is between shutdown and
|
|
7648
|
-
* re-initialize) doesn't propagate up into `initialize()` and leave the
|
|
7662
|
+
* Wrap `ctx.settings.readAddonStore()` with a retry budget so a transient
|
|
7663
|
+
* settings-store outage doesn't propagate up into `initialize()` and leave the
|
|
7649
7664
|
* addon permanently broken.
|
|
7650
7665
|
*
|
|
7651
|
-
*
|
|
7652
|
-
*
|
|
7653
|
-
* `
|
|
7666
|
+
* Two kinds of outage, two budgets:
|
|
7667
|
+
* - the store's own restart fingerprints (`SqliteSettingsBackend not
|
|
7668
|
+
* initialized`, `provider not available`): a short budget, then the addon
|
|
7669
|
+
* falls back to `{}` (defaults) - its first successful patch rehydrates;
|
|
7670
|
+
* - a TRANSPORT failure (the hub is restarting while this runner boots:
|
|
7671
|
+
* `discovery deadline exceeded`, `parent could not route`, a refused or
|
|
7672
|
+
* timed-out connection). Since D870 a runner's settings read THROWS instead
|
|
7673
|
+
* of answering `{}`, so without a budget a hub restart ends in a respawn
|
|
7674
|
+
* loop. A long, bounded budget; only after it the error propagates - the
|
|
7675
|
+
* addon never runs on defaults for a store it could not ask.
|
|
7676
|
+
* Anything else propagates immediately so real bugs surface.
|
|
7654
7677
|
*/
|
|
7655
7678
|
async readAddonStoreWithRetry() {
|
|
7656
7679
|
const settings = this.rawSettings();
|
|
7657
7680
|
if (!settings) return {};
|
|
7658
|
-
const delaysMs = [
|
|
7659
|
-
150,
|
|
7660
|
-
350,
|
|
7661
|
-
600,
|
|
7662
|
-
900
|
|
7663
|
-
];
|
|
7664
7681
|
let lastErr;
|
|
7665
|
-
for (let attempt = 0
|
|
7682
|
+
for (let attempt = 0;; attempt++) try {
|
|
7666
7683
|
const stored = await settings.readAddonStore() ?? {};
|
|
7667
7684
|
this.settingsStoreReady = true;
|
|
7668
7685
|
return stored;
|
|
7669
7686
|
} catch (err) {
|
|
7670
7687
|
lastErr = err;
|
|
7671
|
-
const
|
|
7672
|
-
if (
|
|
7673
|
-
|
|
7674
|
-
|
|
7688
|
+
const kind = classifyStoreError(err);
|
|
7689
|
+
if (kind === "permanent") throw err;
|
|
7690
|
+
const delay = (kind === "transport" ? TRANSPORT_RETRY_DELAYS_MS : RESTART_RETRY_DELAYS_MS)[attempt];
|
|
7691
|
+
if (delay === void 0) {
|
|
7692
|
+
if (kind === "transport") throw err;
|
|
7693
|
+
break;
|
|
7694
|
+
}
|
|
7695
|
+
await new Promise((r) => setTimeout(r, delay));
|
|
7675
7696
|
}
|
|
7676
7697
|
this.settingsStoreReady = false;
|
|
7677
7698
|
this._ctx?.logger?.warn?.("readAddonStore: settings-store unavailable after retries — using defaults", { meta: { error: lastErr instanceof Error ? lastErr.message : String(lastErr) } });
|
|
7678
7699
|
return {};
|
|
7679
7700
|
}
|
|
7680
7701
|
};
|
|
7702
|
+
/** The settings store's own restart fingerprints. */
|
|
7703
|
+
var RESTART_RETRY_DELAYS_MS = [
|
|
7704
|
+
150,
|
|
7705
|
+
350,
|
|
7706
|
+
600,
|
|
7707
|
+
900
|
|
7708
|
+
];
|
|
7709
|
+
/** A hub restarting under a booting runner: ~100 s in total. */
|
|
7710
|
+
var TRANSPORT_RETRY_DELAYS_MS = [
|
|
7711
|
+
150,
|
|
7712
|
+
350,
|
|
7713
|
+
600,
|
|
7714
|
+
900,
|
|
7715
|
+
2e3,
|
|
7716
|
+
5e3,
|
|
7717
|
+
1e4,
|
|
7718
|
+
2e4,
|
|
7719
|
+
3e4,
|
|
7720
|
+
3e4
|
|
7721
|
+
];
|
|
7722
|
+
var RESTART_FINGERPRINTS = ["SqliteSettingsBackend not initialized", "provider not available"];
|
|
7723
|
+
/** Node / socket error codes of a connection that did not happen or broke. */
|
|
7724
|
+
var TRANSPORT_CODES = new Set([
|
|
7725
|
+
"ECONNREFUSED",
|
|
7726
|
+
"ECONNRESET",
|
|
7727
|
+
"ETIMEDOUT",
|
|
7728
|
+
"EPIPE",
|
|
7729
|
+
"EHOSTUNREACH",
|
|
7730
|
+
"ENETUNREACH"
|
|
7731
|
+
]);
|
|
7732
|
+
/** tRPC error codes that mean "the other side is not answering now", not "your call is wrong". */
|
|
7733
|
+
var UNAVAILABLE_TRPC_CODES = new Set([
|
|
7734
|
+
"TIMEOUT",
|
|
7735
|
+
"SERVICE_UNAVAILABLE",
|
|
7736
|
+
"BAD_GATEWAY",
|
|
7737
|
+
"GATEWAY_TIMEOUT"
|
|
7738
|
+
]);
|
|
7739
|
+
/** The exact phrases OUR transport raises when it cannot reach the hub. */
|
|
7740
|
+
var TRANSPORT_PHRASES = [
|
|
7741
|
+
"discovery deadline exceeded",
|
|
7742
|
+
"parent could not route child unowned cap call",
|
|
7743
|
+
"UDS request timed out after",
|
|
7744
|
+
"channel closed"
|
|
7745
|
+
];
|
|
7746
|
+
/** Moleculer error `type`s of a call that could not be served right now. */
|
|
7747
|
+
var MOLECULER_TRANSIENT_TYPES = new Set([
|
|
7748
|
+
"REQUEST_TIMEOUT",
|
|
7749
|
+
"SERVICE_NOT_FOUND",
|
|
7750
|
+
"SERVICE_NOT_AVAILABLE",
|
|
7751
|
+
"REQUEST_REJECTED",
|
|
7752
|
+
"BROKER_DISCONNECTED"
|
|
7753
|
+
]);
|
|
7754
|
+
function stringProp(value, key) {
|
|
7755
|
+
if (typeof value !== "object" || value === null) return void 0;
|
|
7756
|
+
const found = Reflect.get(value, key);
|
|
7757
|
+
return typeof found === "string" ? found : void 0;
|
|
7758
|
+
}
|
|
7759
|
+
/** The code an error carries: its own, its cause's, or a tRPC `data.code`. */
|
|
7760
|
+
function errorCode(err) {
|
|
7761
|
+
const out = {};
|
|
7762
|
+
const cause = typeof err === "object" && err !== null ? Reflect.get(err, "cause") : void 0;
|
|
7763
|
+
const data = typeof err === "object" && err !== null ? Reflect.get(err, "data") : void 0;
|
|
7764
|
+
const node = stringProp(err, "code") ?? stringProp(cause, "code");
|
|
7765
|
+
if (node !== void 0) out.node = node;
|
|
7766
|
+
const trpc = stringProp(data, "code");
|
|
7767
|
+
if (trpc !== void 0) out.trpc = trpc;
|
|
7768
|
+
return out;
|
|
7769
|
+
}
|
|
7770
|
+
/**
|
|
7771
|
+
* Is a settings read failure worth retrying, and with which budget? Only
|
|
7772
|
+
* EXPLICIT signals count: a socket error code, a tRPC "unavailable" code, or
|
|
7773
|
+
* one of the exact phrases our own transport raises. A message that merely
|
|
7774
|
+
* contains "timed out" or "unreachable" is not evidence of anything, and
|
|
7775
|
+
* `settings store not wired` is a wiring bug that retrying cannot fix.
|
|
7776
|
+
*/
|
|
7777
|
+
function classifyStoreError(err) {
|
|
7778
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
7779
|
+
if (RESTART_FINGERPRINTS.some((f) => message.includes(f))) return "restart";
|
|
7780
|
+
const code = errorCode(err);
|
|
7781
|
+
if (code.node !== void 0 && TRANSPORT_CODES.has(code.node)) return "transport";
|
|
7782
|
+
if (code.trpc !== void 0 && UNAVAILABLE_TRPC_CODES.has(code.trpc)) return "transport";
|
|
7783
|
+
if (typeof err === "object" && err !== null) {
|
|
7784
|
+
if (Reflect.get(err, "retryable") === true) return "transport";
|
|
7785
|
+
const type = stringProp(err, "type");
|
|
7786
|
+
if (type !== void 0 && MOLECULER_TRANSIENT_TYPES.has(type)) return "transport";
|
|
7787
|
+
}
|
|
7788
|
+
if (TRANSPORT_PHRASES.some((f) => message.includes(f))) return "transport";
|
|
7789
|
+
return "permanent";
|
|
7790
|
+
}
|
|
7681
7791
|
/**
|
|
7682
7792
|
* Collect the keys of every field marked `perNode: true`, recursing into
|
|
7683
7793
|
* layout containers (`group` fields and `sub-tabs` tabs) the same way
|
|
@@ -8518,7 +8628,7 @@ function sleep(ms) {
|
|
|
8518
8628
|
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
8519
8629
|
}
|
|
8520
8630
|
//#endregion
|
|
8521
|
-
//#region ../types/dist/err-msg
|
|
8631
|
+
//#region ../types/dist/err-msg--2RrYiLO.mjs
|
|
8522
8632
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8523
8633
|
DeviceType["Camera"] = "camera";
|
|
8524
8634
|
DeviceType["Hub"] = "hub";
|
|
@@ -8787,6 +8897,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8787
8897
|
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
8788
8898
|
* real Switch device for UI rendering / export adapters. */
|
|
8789
8899
|
DeviceRole["BinaryHelper"] = "binary-helper";
|
|
8900
|
+
/** A smart plug: a `switch` whose source says it is an outlet (HA
|
|
8901
|
+
* `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
|
|
8902
|
+
DeviceRole["Outlet"] = "outlet";
|
|
8790
8903
|
/** Generic motion / occupancy / moving event source. Distinct from
|
|
8791
8904
|
* the camera accessory PirSensor role: that one is a camera child;
|
|
8792
8905
|
* this is a standalone HA / 3rd-party motion sensor. */
|
|
@@ -8864,7 +8977,7 @@ function errMsg(err) {
|
|
|
8864
8977
|
return String(err);
|
|
8865
8978
|
}
|
|
8866
8979
|
//#endregion
|
|
8867
|
-
//#region ../types/dist/composition-
|
|
8980
|
+
//#region ../types/dist/composition-DOwQB_Ua.mjs
|
|
8868
8981
|
/**
|
|
8869
8982
|
* Deterministic SHA-256 hash of an arbitrary serialisable value. The
|
|
8870
8983
|
* canonical form sorts object keys alphabetically at every depth so two
|
|
@@ -17207,6 +17320,28 @@ id: union([string(), number()]) }), {
|
|
|
17207
17320
|
kind: "mutation",
|
|
17208
17321
|
auth: "admin"
|
|
17209
17322
|
});
|
|
17323
|
+
/** One table of the settings database. */
|
|
17324
|
+
var StorageTableSchema = object({
|
|
17325
|
+
/** The table's full name, e.g. `recorder:addon-settings` or `addon-device-settings`. */
|
|
17326
|
+
name: string(),
|
|
17327
|
+
/** The owner prefix of a scoped name (`recorder` for `recorder:addon-settings`), else null. */
|
|
17328
|
+
owner: string().nullable(),
|
|
17329
|
+
rows: number().int().nonnegative(),
|
|
17330
|
+
/** Bytes the table's pages occupy (`dbstat`); null when the engine cannot measure. */
|
|
17331
|
+
bytes: number().int().nonnegative().nullable(),
|
|
17332
|
+
/** Declared by an addon since this engine process started (a running addon claims it). */
|
|
17333
|
+
declaredThisBoot: boolean()
|
|
17334
|
+
});
|
|
17335
|
+
method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
|
|
17336
|
+
collection: string().min(1),
|
|
17337
|
+
expectRows: number().int().nonnegative()
|
|
17338
|
+
}), object({
|
|
17339
|
+
dropped: literal(true),
|
|
17340
|
+
rows: number().int().nonnegative()
|
|
17341
|
+
}), {
|
|
17342
|
+
kind: "mutation",
|
|
17343
|
+
auth: "admin"
|
|
17344
|
+
});
|
|
17210
17345
|
/**
|
|
17211
17346
|
* `keychain` — the hub's encrypted store of secret values (D787).
|
|
17212
17347
|
*
|
|
@@ -17748,6 +17883,16 @@ method(object({}), KeychainStatusSchema, { auth: "admin" }), method(object({}),
|
|
|
17748
17883
|
kind: "mutation",
|
|
17749
17884
|
auth: "admin",
|
|
17750
17885
|
caller: "required"
|
|
17886
|
+
}), method(object({
|
|
17887
|
+
ref: string().min(1),
|
|
17888
|
+
value: string().min(1)
|
|
17889
|
+
}), object({
|
|
17890
|
+
ref: string(),
|
|
17891
|
+
version: number().int()
|
|
17892
|
+
}), {
|
|
17893
|
+
kind: "mutation",
|
|
17894
|
+
auth: "admin",
|
|
17895
|
+
caller: "required"
|
|
17751
17896
|
}), method(object({ refs: array(string().min(1)).max(1e3) }), object({
|
|
17752
17897
|
deleted: array(string()).readonly(),
|
|
17753
17898
|
kept: array(object({
|
|
@@ -40341,6 +40486,36 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
|
40341
40486
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
40342
40487
|
});
|
|
40343
40488
|
/**
|
|
40489
|
+
* The report of a one-shot "move this owner's plaintext secrets into the
|
|
40490
|
+
* keychain" run (D878). COUNTS only - never a value, never a ref.
|
|
40491
|
+
*
|
|
40492
|
+
* The owner runs it on its own rows, through its own write path; an operator
|
|
40493
|
+
* script (`scripts/hub/migrate-raw-secrets.ts`) calls the owner's cap method.
|
|
40494
|
+
* Dry run (`apply: false`) reports what WOULD move and changes nothing.
|
|
40495
|
+
*/
|
|
40496
|
+
var RawSecretMigrationInputSchema = object({
|
|
40497
|
+
/** `false` (the default of the script) = report only. */
|
|
40498
|
+
apply: boolean() });
|
|
40499
|
+
var RawSecretMigrationReportSchema = object({
|
|
40500
|
+
apply: boolean(),
|
|
40501
|
+
/** Rows that can carry a secret (a profile, an enrolment). */
|
|
40502
|
+
rows: number().int(),
|
|
40503
|
+
/** Rows whose secret was plaintext when the run started. */
|
|
40504
|
+
raw: number().int(),
|
|
40505
|
+
/** Rows that already held a keychain marker when the run started. */
|
|
40506
|
+
markers: number().int(),
|
|
40507
|
+
/** Plaintext rows moved by THIS run (always 0 on a dry run). */
|
|
40508
|
+
migrated: number().int(),
|
|
40509
|
+
/** Plaintext rows left in place because the move or its read-back failed. */
|
|
40510
|
+
failed: number().int(),
|
|
40511
|
+
/** After the run: rows still holding plaintext. */
|
|
40512
|
+
remainingRaw: number().int(),
|
|
40513
|
+
/** After the run: markers the keychain could not resolve right now. */
|
|
40514
|
+
unresolvedMarkers: number().int(),
|
|
40515
|
+
/** True when nothing is raw and every marker resolves. */
|
|
40516
|
+
verified: boolean()
|
|
40517
|
+
});
|
|
40518
|
+
/**
|
|
40344
40519
|
* `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
|
|
40345
40520
|
* methods concat-fan across providers; single-row methods route to ONE
|
|
40346
40521
|
* provider by the `addonId` in the call input (the notification-output
|
|
@@ -40525,6 +40700,9 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
40525
40700
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
40526
40701
|
kind: "mutation",
|
|
40527
40702
|
auth: "admin"
|
|
40703
|
+
}), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
40704
|
+
kind: "mutation",
|
|
40705
|
+
auth: "admin"
|
|
40528
40706
|
}), method(ProfileRefInputSchema, _void(), {
|
|
40529
40707
|
kind: "mutation",
|
|
40530
40708
|
auth: "admin"
|
|
@@ -52856,6 +53034,41 @@ var ServerRollbackInfoSchema = object({
|
|
|
52856
53034
|
atMs: number(),
|
|
52857
53035
|
reason: string()
|
|
52858
53036
|
});
|
|
53037
|
+
/**
|
|
53038
|
+
* The runner boot check (D877): the runners this node PLANNED (hub: one per
|
|
53039
|
+
* `resolveRunnerId` over its forked addons; agent: the runners its process
|
|
53040
|
+
* service holds, because only the hub plans) against the states the process
|
|
53041
|
+
* service reports. Kept in memory, recomputed by the same one-shot check after
|
|
53042
|
+
* every boot, served on `getServerPackageStatus`.
|
|
53043
|
+
*
|
|
53044
|
+
* `failed` is the D6 breaker's terminal state, `refused` a deterministic Init
|
|
53045
|
+
* refusal (an addon that said "I will not start, and here is why"), `missing` a
|
|
53046
|
+
* planned runner the process service has no entry for.
|
|
53047
|
+
*/
|
|
53048
|
+
var RunnerRefusalSchema = object({
|
|
53049
|
+
runnerId: string(),
|
|
53050
|
+
addonIds: array(string()),
|
|
53051
|
+
reason: string()
|
|
53052
|
+
});
|
|
53053
|
+
var RunnerBootCheckSchema = object({
|
|
53054
|
+
checkedAtMs: number(),
|
|
53055
|
+
/** Runners planned for this node. */
|
|
53056
|
+
expected: number(),
|
|
53057
|
+
/** Planned runners whose process is `running`. */
|
|
53058
|
+
running: number(),
|
|
53059
|
+
failed: array(string()),
|
|
53060
|
+
refused: array(RunnerRefusalSchema),
|
|
53061
|
+
missing: array(string()),
|
|
53062
|
+
/**
|
|
53063
|
+
* Runners still on their way: `starting`, or `crashed` waiting on a backoff
|
|
53064
|
+
* respawn. The check is FINAL only when this is empty; until then nothing is
|
|
53065
|
+
* pushed and the verdict is re-evaluated on the next runner state change.
|
|
53066
|
+
* Optional for version skew (absent = settled).
|
|
53067
|
+
*/
|
|
53068
|
+
pending: array(string()).optional(),
|
|
53069
|
+
/** True when the plan is the hub's (`missing` is then meaningful); false on an agent. */
|
|
53070
|
+
planKnown: boolean()
|
|
53071
|
+
});
|
|
52859
53072
|
var ServerPackageStatusSchema = object({
|
|
52860
53073
|
/** Root package name (`@camstack/server` on the hub). */
|
|
52861
53074
|
packageName: string(),
|
|
@@ -52918,7 +53131,14 @@ var ServerPackageStatusSchema = object({
|
|
|
52918
53131
|
* for version skew: an older provider's payload simply omits it, and an
|
|
52919
53132
|
* absent wrapper is unknown — never `native`.
|
|
52920
53133
|
*/
|
|
52921
|
-
wrapper: WrapperIdentitySchema.optional()
|
|
53134
|
+
wrapper: WrapperIdentitySchema.optional(),
|
|
53135
|
+
/**
|
|
53136
|
+
* What this node PLANNED to run against what its process service reports
|
|
53137
|
+
* (D877). Absent until the one-shot boot check has run (~60 s after boot) and
|
|
53138
|
+
* on a provider that predates it. Absent is "not checked yet", never "all
|
|
53139
|
+
* well": a consumer that needs the answer treats it as pending.
|
|
53140
|
+
*/
|
|
53141
|
+
runners: RunnerBootCheckSchema.optional()
|
|
52922
53142
|
});
|
|
52923
53143
|
var ServerUpdateCheckResultSchema = object({
|
|
52924
53144
|
packageName: string(),
|
|
@@ -52969,6 +53189,13 @@ var ServerUpdateOutcomeSchema = _enum([
|
|
|
52969
53189
|
"refused",
|
|
52970
53190
|
"failed"
|
|
52971
53191
|
]);
|
|
53192
|
+
/** One addon the pre-flight found the target version would refuse (D877). */
|
|
53193
|
+
var UpdateBlockerSchema = object({
|
|
53194
|
+
addonId: string(),
|
|
53195
|
+
reason: string(),
|
|
53196
|
+
/** What the operator does about it. */
|
|
53197
|
+
remedy: string()
|
|
53198
|
+
});
|
|
52972
53199
|
var ServerUpdateActionResultSchema = object({
|
|
52973
53200
|
accepted: boolean(),
|
|
52974
53201
|
targetVersion: string().nullable(),
|
|
@@ -52986,14 +53213,27 @@ var ServerUpdateActionResultSchema = object({
|
|
|
52986
53213
|
* The failure itself, verbatim enough to act on (the npm output for a
|
|
52987
53214
|
* staging install). Non-null only for `failed`.
|
|
52988
53215
|
*/
|
|
52989
|
-
error: string().nullable().optional()
|
|
53216
|
+
error: string().nullable().optional(),
|
|
53217
|
+
/**
|
|
53218
|
+
* The addons the target version would refuse to start on this node's live
|
|
53219
|
+
* store (D877), present when the pre-flight refused the update
|
|
53220
|
+
* (`reason: 'addon-would-refuse'`). Optional for version skew.
|
|
53221
|
+
*/
|
|
53222
|
+
blockers: array(UpdateBlockerSchema).optional()
|
|
52990
53223
|
});
|
|
52991
53224
|
method(_void(), ServerPackageStatusSchema, { auth: "admin" }), method(_void(), ServerUpdateCheckResultSchema, {
|
|
52992
53225
|
kind: "mutation",
|
|
52993
53226
|
auth: "admin"
|
|
52994
|
-
}), method(object({
|
|
52995
|
-
/** Explicit target version; omitted = latest from the registry. */
|
|
52996
|
-
version: string().optional()
|
|
53227
|
+
}), method(object({
|
|
53228
|
+
/** Explicit target version; omitted = latest from the registry. */
|
|
53229
|
+
version: string().optional(),
|
|
53230
|
+
/**
|
|
53231
|
+
* Apply even though the pre-flight (D877) found addons the target would
|
|
53232
|
+
* refuse to start. Off by default: those addons stay down until the
|
|
53233
|
+
* remedy is run, which is the incident this gate exists to prevent.
|
|
53234
|
+
*/
|
|
53235
|
+
acknowledgeRefusals: boolean().optional()
|
|
53236
|
+
}), ServerUpdateActionResultSchema, {
|
|
52997
53237
|
kind: "mutation",
|
|
52998
53238
|
auth: "admin",
|
|
52999
53239
|
timeoutMs: 16 * 6e4
|
|
@@ -55473,7 +55713,9 @@ var ManifestShapeSchema = object({
|
|
|
55473
55713
|
var AddonProcessSchema = object({
|
|
55474
55714
|
pid: number().optional(),
|
|
55475
55715
|
mode: string(),
|
|
55476
|
-
state: string()
|
|
55716
|
+
state: string(),
|
|
55717
|
+
/** Why the runner is `refused` (an addon's own words), when it is (D877). */
|
|
55718
|
+
reason: string().optional()
|
|
55477
55719
|
});
|
|
55478
55720
|
/**
|
|
55479
55721
|
* Per-addon health snapshot from the kernel's AddonHealthMonitor.
|
|
@@ -56889,6 +57131,12 @@ var ClimateControlStatusSchema = object({
|
|
|
56889
57131
|
/** Horizontal louver swing on/off. Null when the device has no
|
|
56890
57132
|
* horizontal swing surface (gate with `DeviceFeature.ClimateSwingHorizontal`). */
|
|
56891
57133
|
swingHorizontal: boolean().nullable(),
|
|
57134
|
+
/** Lowest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
57135
|
+
minTemp: number().nullable().optional(),
|
|
57136
|
+
/** Highest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
57137
|
+
maxTemp: number().nullable().optional(),
|
|
57138
|
+
/** Setpoint granularity, Celsius (0.5, 1). Absent / null = not reported. */
|
|
57139
|
+
tempStep: number().positive().nullable().optional(),
|
|
56892
57140
|
/** Ms epoch when the slice was last updated (push or command). */
|
|
56893
57141
|
lastFetchedAt: number()
|
|
56894
57142
|
});
|
|
@@ -66424,7 +66672,11 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
66424
66672
|
kind: "mutation",
|
|
66425
66673
|
auth: "admin",
|
|
66426
66674
|
access: "delete"
|
|
66427
|
-
}), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(
|
|
66675
|
+
}), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
66676
|
+
kind: "mutation",
|
|
66677
|
+
auth: "admin",
|
|
66678
|
+
access: "create"
|
|
66679
|
+
}), method(object({
|
|
66428
66680
|
userId: string(),
|
|
66429
66681
|
code: string()
|
|
66430
66682
|
}), object({ valid: boolean() }), {
|
|
@@ -71812,6 +72064,12 @@ Object.freeze({
|
|
|
71812
72064
|
addonId: null,
|
|
71813
72065
|
access: "create"
|
|
71814
72066
|
},
|
|
72067
|
+
"keychainAdmin.importSecret": {
|
|
72068
|
+
capName: "keychain-admin",
|
|
72069
|
+
capScope: "system",
|
|
72070
|
+
addonId: null,
|
|
72071
|
+
access: "create"
|
|
72072
|
+
},
|
|
71815
72073
|
"keychainAdmin.listAudit": {
|
|
71816
72074
|
capName: "keychain-admin",
|
|
71817
72075
|
capScope: "system",
|
|
@@ -71980,6 +72238,12 @@ Object.freeze({
|
|
|
71980
72238
|
addonId: null,
|
|
71981
72239
|
access: "view"
|
|
71982
72240
|
},
|
|
72241
|
+
"llm.migrateRawSecrets": {
|
|
72242
|
+
capName: "llm",
|
|
72243
|
+
capScope: "system",
|
|
72244
|
+
addonId: null,
|
|
72245
|
+
access: "create"
|
|
72246
|
+
},
|
|
71983
72247
|
"llm.resolveModelRef": {
|
|
71984
72248
|
capName: "llm",
|
|
71985
72249
|
capScope: "system",
|
|
@@ -75598,6 +75862,18 @@ Object.freeze({
|
|
|
75598
75862
|
addonId: null,
|
|
75599
75863
|
access: "create"
|
|
75600
75864
|
},
|
|
75865
|
+
"storageAdmin.dropCollection": {
|
|
75866
|
+
capName: "storage-admin",
|
|
75867
|
+
capScope: "system",
|
|
75868
|
+
addonId: null,
|
|
75869
|
+
access: "delete"
|
|
75870
|
+
},
|
|
75871
|
+
"storageAdmin.listTables": {
|
|
75872
|
+
capName: "storage-admin",
|
|
75873
|
+
capScope: "system",
|
|
75874
|
+
addonId: null,
|
|
75875
|
+
access: "view"
|
|
75876
|
+
},
|
|
75601
75877
|
"storageEvictable.evict": {
|
|
75602
75878
|
capName: "storage-evictable",
|
|
75603
75879
|
capScope: "system",
|
|
@@ -76510,6 +76786,12 @@ Object.freeze({
|
|
|
76510
76786
|
addonId: null,
|
|
76511
76787
|
access: "view"
|
|
76512
76788
|
},
|
|
76789
|
+
"userManagement.migrateRawSecrets": {
|
|
76790
|
+
capName: "user-management",
|
|
76791
|
+
capScope: "system",
|
|
76792
|
+
addonId: null,
|
|
76793
|
+
access: "create"
|
|
76794
|
+
},
|
|
76513
76795
|
"userManagement.oauthExchangeCode": {
|
|
76514
76796
|
capName: "user-management",
|
|
76515
76797
|
capScope: "system",
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_clip_model_registry = require("../clip-model-registry-
|
|
5
|
+
const require_clip_model_registry = require("../clip-model-registry-Cy2RokDO.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_clip_model_registry.__toESM(node_fs);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $t as PoolMemoryWatchdog, Ii as normalizeNodeId, Oi as BaseAddon, Rr as parseProcStatus, Xr as resolvePoolMemoryPolicy, a as CLIP_EMBEDDING_STEP_ID, i as CLIP_TEXT_MODELS, ir as embeddingModelFailedError, l as resolveClusterModelPin, n as DEFAULT_CLIP_MODEL, or as embeddingRequirementsFailedError, r as CLIP_IMAGE_MODELS, rr as embeddingEncoderCapability, sr as embeddingRequirementsUnavailableError, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-
|
|
1
|
+
import { $t as PoolMemoryWatchdog, Ii as normalizeNodeId, Oi as BaseAddon, Rr as parseProcStatus, Xr as resolvePoolMemoryPolicy, a as CLIP_EMBEDDING_STEP_ID, i as CLIP_TEXT_MODELS, ir as embeddingModelFailedError, l as resolveClusterModelPin, n as DEFAULT_CLIP_MODEL, or as embeddingRequirementsFailedError, r as CLIP_IMAGE_MODELS, rr as embeddingEncoderCapability, sr as embeddingRequirementsUnavailableError, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-jeFu3pma.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";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
|
|
2
2
|
import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
|
|
3
|
-
import { a as s, c, i as l, n as u, o as d, r as f, s as p, t as m } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-
|
|
3
|
+
import { a as s, c, i as l, n as u, o as d, r as f, s as p, t as m } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Kh1uHJki.mjs";
|
|
4
4
|
import { n as h, r as g, t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
|
|
5
|
-
import { t as v } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
5
|
+
import { t as v } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CyYkqCmx.mjs";
|
|
6
6
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
7
7
|
var y = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), b = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), x = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), S = (e) => {
|
|
8
8
|
let t = x(e);
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.378",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.296",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|