@camstack/system 1.2.217 → 1.2.218
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/addon-runner.js +9 -6
- package/dist/addon-runner.mjs +9 -6
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
- package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.d.ts +0 -7
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -8
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -8
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{custom-action-registry-jY0NOZK8.js → custom-action-registry-BDwM5qAK.js} +19 -0
- package/dist/{custom-action-registry-F__gp_VX.mjs → custom-action-registry-CsONUlhC.mjs} +19 -0
- package/dist/{dist-C85OOASj.js → dist-BOlMCOeT.js} +116 -1
- package/dist/{dist-DtDKMSeG.mjs → dist-DigmGsQS.mjs} +111 -2
- package/dist/index.d.ts +3 -1
- package/dist/index.js +11 -3
- package/dist/index.mjs +4 -4
- package/dist/kernel/array-buffer-census.d.ts +122 -0
- package/dist/kernel/custom-action-registry.d.ts +10 -1
- package/dist/kernel/heap-watch.d.ts +15 -0
- package/dist/kernel/transport/child-cap-protocol.d.ts +15 -1
- package/dist/kernel/transport/local-child-client.d.ts +18 -2
- package/dist/{manifest-system-deps-DvY1bY_n.js → manifest-system-deps-Bo92lg5u.js} +350 -14
- package/dist/{manifest-system-deps-726RBOX7.mjs → manifest-system-deps-D--wyMD9.mjs} +303 -15
- package/dist/{retired-settings-keys-Cx-lYIbU.mjs → retired-settings-keys-vK_U-CG2.mjs} +1 -1
- package/dist/{retired-settings-keys-Dfj9LA-i.js → retired-settings-keys-xEAlYnv7.js} +1 -1
- package/package.json +1 -1
|
@@ -9683,6 +9683,17 @@ var coreBlocksCapability = {
|
|
|
9683
9683
|
})) }), { auth: "admin" })
|
|
9684
9684
|
}
|
|
9685
9685
|
};
|
|
9686
|
+
/** Strip a catalog to what crosses the wire. Pure; the schemas are not touched. */
|
|
9687
|
+
function describeCustomActions(catalog) {
|
|
9688
|
+
const out = {};
|
|
9689
|
+
for (const [name, spec] of Object.entries(catalog)) out[name] = {
|
|
9690
|
+
kind: spec.kind,
|
|
9691
|
+
auth: spec.auth,
|
|
9692
|
+
scope: spec.scope,
|
|
9693
|
+
...spec.caller === "required" ? { caller: "required" } : {}
|
|
9694
|
+
};
|
|
9695
|
+
return out;
|
|
9696
|
+
}
|
|
9686
9697
|
/**
|
|
9687
9698
|
* `custom-model-registry` — collection cap exposing operator-registered
|
|
9688
9699
|
* custom detection models. Each provider (today: `addon-model-studio`)
|
|
@@ -15189,6 +15200,7 @@ var NcSystemEventKindSchema = zod.z.enum([
|
|
|
15189
15200
|
"addon-crash-loop",
|
|
15190
15201
|
"addon-update-available",
|
|
15191
15202
|
"server-update-available",
|
|
15203
|
+
"wrapper-update-available",
|
|
15192
15204
|
"alarm-triggered",
|
|
15193
15205
|
"alarm-armed",
|
|
15194
15206
|
"alarm-disarmed",
|
|
@@ -22228,6 +22240,97 @@ var ImageContractSchema = zod.z.object({
|
|
|
22228
22240
|
/** One operator-grade sentence: this node runs image X; the contract says Y. */
|
|
22229
22241
|
message: zod.z.string()
|
|
22230
22242
|
});
|
|
22243
|
+
/**
|
|
22244
|
+
* How this node's SHELL was identified — the process wrapper the node runs
|
|
22245
|
+
* inside (a Docker container, the Electron desktop app, a bare host process).
|
|
22246
|
+
*
|
|
22247
|
+
* ## The rule: observe what you can, declare only what you cannot
|
|
22248
|
+
*
|
|
22249
|
+
* On 2026-08-02 `check-deployment-templates.ts` proved every day that the
|
|
22250
|
+
* templates declared `ghcr.io/camstack/camstack:intel-latest` while the hub
|
|
22251
|
+
* actually ran `camstack-server:intel-1.1.74` from a repository that had been
|
|
22252
|
+
* renamed and received no builds. The declaration was right; reality was not;
|
|
22253
|
+
* nothing compared them. A `CAMSTACK_WRAPPER=docker` written into a template
|
|
22254
|
+
* would be exactly that same declaration, so `kind` is NEVER an env var.
|
|
22255
|
+
*
|
|
22256
|
+
* What can honestly be observed from inside: `/.dockerenv` and `/proc/1/cgroup`
|
|
22257
|
+
* (a container), and the platform (a Linux container cannot exist on darwin or
|
|
22258
|
+
* win32). What cannot: that the node is a CHILD of an Electron main process —
|
|
22259
|
+
* `process.versions.electron` is `undefined` in the child, so the only channel
|
|
22260
|
+
* is `CAMSTACK_AGENT_APP_VERSION`, which the main process already writes
|
|
22261
|
+
* (`packages/desktop/src/main.ts`). That one declaration is unavoidable, and it
|
|
22262
|
+
* is marked as such on every row of {@link WrapperEvidenceSchema}.
|
|
22263
|
+
*
|
|
22264
|
+
* - `docker` — container observed, no Electron declaration.
|
|
22265
|
+
* - `electron` — Electron declared, no container observed.
|
|
22266
|
+
* - `native` — the container probe RAN and found nothing, and there is
|
|
22267
|
+
* no Electron declaration. Exclusion, but only from a
|
|
22268
|
+
* probe that actually answered.
|
|
22269
|
+
* - `contradictory` — an Electron declaration INSIDE an observed container.
|
|
22270
|
+
* Reported, never resolved: both proofs stay on
|
|
22271
|
+
* `evidence` and nothing picks a winner.
|
|
22272
|
+
* - `unknown` — the container probe could not run (a Linux host that
|
|
22273
|
+
* denied `/proc/1/cgroup`). Never `native` by default,
|
|
22274
|
+
* for the same reason `assessImageContract` refuses to
|
|
22275
|
+
* say `in-sync` without proof.
|
|
22276
|
+
*
|
|
22277
|
+
* See D437.
|
|
22278
|
+
*/
|
|
22279
|
+
var WrapperKindSchema = zod.z.enum([
|
|
22280
|
+
"docker",
|
|
22281
|
+
"electron",
|
|
22282
|
+
"native",
|
|
22283
|
+
"contradictory",
|
|
22284
|
+
"unknown"
|
|
22285
|
+
]);
|
|
22286
|
+
/**
|
|
22287
|
+
* One probe and what it returned — including the probes that returned
|
|
22288
|
+
* NOTHING. A record listing only the facts that held cannot tell "checked,
|
|
22289
|
+
* absent" from "never checked", and that difference is the whole distance
|
|
22290
|
+
* between `native` and `unknown`.
|
|
22291
|
+
*/
|
|
22292
|
+
var WrapperEvidenceSchema = zod.z.object({
|
|
22293
|
+
/** Which probe this row reports. */
|
|
22294
|
+
fact: zod.z.enum([
|
|
22295
|
+
"dockerenv-file",
|
|
22296
|
+
"proc-1-cgroup",
|
|
22297
|
+
"platform",
|
|
22298
|
+
"electron-app-version-env"
|
|
22299
|
+
]),
|
|
22300
|
+
/**
|
|
22301
|
+
* `observed` — this process read it itself. `declared` — the shell told the
|
|
22302
|
+
* process and nothing here can check it. Only the Electron app version is
|
|
22303
|
+
* ever `declared`, and only because a child cannot see its parent.
|
|
22304
|
+
*/
|
|
22305
|
+
mode: zod.z.enum(["observed", "declared"]),
|
|
22306
|
+
/** Did the probe support the fact it names? A `false` row is still evidence. */
|
|
22307
|
+
holds: zod.z.boolean(),
|
|
22308
|
+
/** What was actually read, verbatim enough for an operator to argue with. */
|
|
22309
|
+
detail: zod.z.string()
|
|
22310
|
+
});
|
|
22311
|
+
/**
|
|
22312
|
+
* The shell verdict (see {@link WrapperKindSchema}) with the proofs that
|
|
22313
|
+
* produced it.
|
|
22314
|
+
*
|
|
22315
|
+
* There is deliberately NO `canSelfUpdate` and no apply action: a wrapper
|
|
22316
|
+
* update is an ANNOUNCEMENT. The notification body carries the exact command
|
|
22317
|
+
* for a `docker` shell and says the app restarts into the new build for
|
|
22318
|
+
* `electron`, and that sentence is chosen from `kind` alone — a boolean
|
|
22319
|
+
* nothing reads is the defect this repo keeps paying for.
|
|
22320
|
+
*/
|
|
22321
|
+
var WrapperIdentitySchema = zod.z.object({
|
|
22322
|
+
kind: WrapperKindSchema,
|
|
22323
|
+
/** Every probe that ran, in a stable order. Never empty. */
|
|
22324
|
+
evidence: zod.z.array(WrapperEvidenceSchema),
|
|
22325
|
+
/**
|
|
22326
|
+
* The version of the SHELL, when the shell has one it can state: the
|
|
22327
|
+
* Electron app version it declared, or the baked seed closure that
|
|
22328
|
+
* fingerprints a container / app bundle. `null` for `contradictory` and
|
|
22329
|
+
* `unknown` — which version belongs to the shell is precisely what is not
|
|
22330
|
+
* known there.
|
|
22331
|
+
*/
|
|
22332
|
+
currentVersion: zod.z.string().nullable()
|
|
22333
|
+
});
|
|
22231
22334
|
var ServerRollbackInfoSchema = zod.z.object({
|
|
22232
22335
|
/** The version that failed (or was manually rolled back). */
|
|
22233
22336
|
fromVersion: zod.z.string(),
|
|
@@ -22269,7 +22372,13 @@ var ServerPackageStatusSchema = zod.z.object({
|
|
|
22269
22372
|
* Seed-vs-contract verdict (see {@link ImageContractSchema}). Optional for
|
|
22270
22373
|
* version skew: an older provider's payload simply omits it.
|
|
22271
22374
|
*/
|
|
22272
|
-
imageContract: ImageContractSchema.optional()
|
|
22375
|
+
imageContract: ImageContractSchema.optional(),
|
|
22376
|
+
/**
|
|
22377
|
+
* What this node runs INSIDE (see {@link WrapperIdentitySchema}). Optional
|
|
22378
|
+
* for version skew: an older provider's payload simply omits it, and an
|
|
22379
|
+
* absent wrapper is unknown — never `native`.
|
|
22380
|
+
*/
|
|
22381
|
+
wrapper: WrapperIdentitySchema.optional()
|
|
22273
22382
|
});
|
|
22274
22383
|
var ServerUpdateCheckResultSchema = zod.z.object({
|
|
22275
22384
|
packageName: zod.z.string(),
|
|
@@ -45628,6 +45737,12 @@ Object.defineProperty(exports, "deriveBatteryPresence", {
|
|
|
45628
45737
|
return deriveBatteryPresence;
|
|
45629
45738
|
}
|
|
45630
45739
|
});
|
|
45740
|
+
Object.defineProperty(exports, "describeCustomActions", {
|
|
45741
|
+
enumerable: true,
|
|
45742
|
+
get: function() {
|
|
45743
|
+
return describeCustomActions;
|
|
45744
|
+
}
|
|
45745
|
+
});
|
|
45631
45746
|
Object.defineProperty(exports, "deviceManagerCapability", {
|
|
45632
45747
|
enumerable: true,
|
|
45633
45748
|
get: function() {
|
|
@@ -9683,6 +9683,17 @@ var coreBlocksCapability = {
|
|
|
9683
9683
|
})) }), { auth: "admin" })
|
|
9684
9684
|
}
|
|
9685
9685
|
};
|
|
9686
|
+
/** Strip a catalog to what crosses the wire. Pure; the schemas are not touched. */
|
|
9687
|
+
function describeCustomActions(catalog) {
|
|
9688
|
+
const out = {};
|
|
9689
|
+
for (const [name, spec] of Object.entries(catalog)) out[name] = {
|
|
9690
|
+
kind: spec.kind,
|
|
9691
|
+
auth: spec.auth,
|
|
9692
|
+
scope: spec.scope,
|
|
9693
|
+
...spec.caller === "required" ? { caller: "required" } : {}
|
|
9694
|
+
};
|
|
9695
|
+
return out;
|
|
9696
|
+
}
|
|
9686
9697
|
/**
|
|
9687
9698
|
* `custom-model-registry` — collection cap exposing operator-registered
|
|
9688
9699
|
* custom detection models. Each provider (today: `addon-model-studio`)
|
|
@@ -15189,6 +15200,7 @@ var NcSystemEventKindSchema = z.enum([
|
|
|
15189
15200
|
"addon-crash-loop",
|
|
15190
15201
|
"addon-update-available",
|
|
15191
15202
|
"server-update-available",
|
|
15203
|
+
"wrapper-update-available",
|
|
15192
15204
|
"alarm-triggered",
|
|
15193
15205
|
"alarm-armed",
|
|
15194
15206
|
"alarm-disarmed",
|
|
@@ -22228,6 +22240,97 @@ var ImageContractSchema = z.object({
|
|
|
22228
22240
|
/** One operator-grade sentence: this node runs image X; the contract says Y. */
|
|
22229
22241
|
message: z.string()
|
|
22230
22242
|
});
|
|
22243
|
+
/**
|
|
22244
|
+
* How this node's SHELL was identified — the process wrapper the node runs
|
|
22245
|
+
* inside (a Docker container, the Electron desktop app, a bare host process).
|
|
22246
|
+
*
|
|
22247
|
+
* ## The rule: observe what you can, declare only what you cannot
|
|
22248
|
+
*
|
|
22249
|
+
* On 2026-08-02 `check-deployment-templates.ts` proved every day that the
|
|
22250
|
+
* templates declared `ghcr.io/camstack/camstack:intel-latest` while the hub
|
|
22251
|
+
* actually ran `camstack-server:intel-1.1.74` from a repository that had been
|
|
22252
|
+
* renamed and received no builds. The declaration was right; reality was not;
|
|
22253
|
+
* nothing compared them. A `CAMSTACK_WRAPPER=docker` written into a template
|
|
22254
|
+
* would be exactly that same declaration, so `kind` is NEVER an env var.
|
|
22255
|
+
*
|
|
22256
|
+
* What can honestly be observed from inside: `/.dockerenv` and `/proc/1/cgroup`
|
|
22257
|
+
* (a container), and the platform (a Linux container cannot exist on darwin or
|
|
22258
|
+
* win32). What cannot: that the node is a CHILD of an Electron main process —
|
|
22259
|
+
* `process.versions.electron` is `undefined` in the child, so the only channel
|
|
22260
|
+
* is `CAMSTACK_AGENT_APP_VERSION`, which the main process already writes
|
|
22261
|
+
* (`packages/desktop/src/main.ts`). That one declaration is unavoidable, and it
|
|
22262
|
+
* is marked as such on every row of {@link WrapperEvidenceSchema}.
|
|
22263
|
+
*
|
|
22264
|
+
* - `docker` — container observed, no Electron declaration.
|
|
22265
|
+
* - `electron` — Electron declared, no container observed.
|
|
22266
|
+
* - `native` — the container probe RAN and found nothing, and there is
|
|
22267
|
+
* no Electron declaration. Exclusion, but only from a
|
|
22268
|
+
* probe that actually answered.
|
|
22269
|
+
* - `contradictory` — an Electron declaration INSIDE an observed container.
|
|
22270
|
+
* Reported, never resolved: both proofs stay on
|
|
22271
|
+
* `evidence` and nothing picks a winner.
|
|
22272
|
+
* - `unknown` — the container probe could not run (a Linux host that
|
|
22273
|
+
* denied `/proc/1/cgroup`). Never `native` by default,
|
|
22274
|
+
* for the same reason `assessImageContract` refuses to
|
|
22275
|
+
* say `in-sync` without proof.
|
|
22276
|
+
*
|
|
22277
|
+
* See D437.
|
|
22278
|
+
*/
|
|
22279
|
+
var WrapperKindSchema = z.enum([
|
|
22280
|
+
"docker",
|
|
22281
|
+
"electron",
|
|
22282
|
+
"native",
|
|
22283
|
+
"contradictory",
|
|
22284
|
+
"unknown"
|
|
22285
|
+
]);
|
|
22286
|
+
/**
|
|
22287
|
+
* One probe and what it returned — including the probes that returned
|
|
22288
|
+
* NOTHING. A record listing only the facts that held cannot tell "checked,
|
|
22289
|
+
* absent" from "never checked", and that difference is the whole distance
|
|
22290
|
+
* between `native` and `unknown`.
|
|
22291
|
+
*/
|
|
22292
|
+
var WrapperEvidenceSchema = z.object({
|
|
22293
|
+
/** Which probe this row reports. */
|
|
22294
|
+
fact: z.enum([
|
|
22295
|
+
"dockerenv-file",
|
|
22296
|
+
"proc-1-cgroup",
|
|
22297
|
+
"platform",
|
|
22298
|
+
"electron-app-version-env"
|
|
22299
|
+
]),
|
|
22300
|
+
/**
|
|
22301
|
+
* `observed` — this process read it itself. `declared` — the shell told the
|
|
22302
|
+
* process and nothing here can check it. Only the Electron app version is
|
|
22303
|
+
* ever `declared`, and only because a child cannot see its parent.
|
|
22304
|
+
*/
|
|
22305
|
+
mode: z.enum(["observed", "declared"]),
|
|
22306
|
+
/** Did the probe support the fact it names? A `false` row is still evidence. */
|
|
22307
|
+
holds: z.boolean(),
|
|
22308
|
+
/** What was actually read, verbatim enough for an operator to argue with. */
|
|
22309
|
+
detail: z.string()
|
|
22310
|
+
});
|
|
22311
|
+
/**
|
|
22312
|
+
* The shell verdict (see {@link WrapperKindSchema}) with the proofs that
|
|
22313
|
+
* produced it.
|
|
22314
|
+
*
|
|
22315
|
+
* There is deliberately NO `canSelfUpdate` and no apply action: a wrapper
|
|
22316
|
+
* update is an ANNOUNCEMENT. The notification body carries the exact command
|
|
22317
|
+
* for a `docker` shell and says the app restarts into the new build for
|
|
22318
|
+
* `electron`, and that sentence is chosen from `kind` alone — a boolean
|
|
22319
|
+
* nothing reads is the defect this repo keeps paying for.
|
|
22320
|
+
*/
|
|
22321
|
+
var WrapperIdentitySchema = z.object({
|
|
22322
|
+
kind: WrapperKindSchema,
|
|
22323
|
+
/** Every probe that ran, in a stable order. Never empty. */
|
|
22324
|
+
evidence: z.array(WrapperEvidenceSchema),
|
|
22325
|
+
/**
|
|
22326
|
+
* The version of the SHELL, when the shell has one it can state: the
|
|
22327
|
+
* Electron app version it declared, or the baked seed closure that
|
|
22328
|
+
* fingerprints a container / app bundle. `null` for `contradictory` and
|
|
22329
|
+
* `unknown` — which version belongs to the shell is precisely what is not
|
|
22330
|
+
* known there.
|
|
22331
|
+
*/
|
|
22332
|
+
currentVersion: z.string().nullable()
|
|
22333
|
+
});
|
|
22231
22334
|
var ServerRollbackInfoSchema = z.object({
|
|
22232
22335
|
/** The version that failed (or was manually rolled back). */
|
|
22233
22336
|
fromVersion: z.string(),
|
|
@@ -22269,7 +22372,13 @@ var ServerPackageStatusSchema = z.object({
|
|
|
22269
22372
|
* Seed-vs-contract verdict (see {@link ImageContractSchema}). Optional for
|
|
22270
22373
|
* version skew: an older provider's payload simply omits it.
|
|
22271
22374
|
*/
|
|
22272
|
-
imageContract: ImageContractSchema.optional()
|
|
22375
|
+
imageContract: ImageContractSchema.optional(),
|
|
22376
|
+
/**
|
|
22377
|
+
* What this node runs INSIDE (see {@link WrapperIdentitySchema}). Optional
|
|
22378
|
+
* for version skew: an older provider's payload simply omits it, and an
|
|
22379
|
+
* absent wrapper is unknown — never `native`.
|
|
22380
|
+
*/
|
|
22381
|
+
wrapper: WrapperIdentitySchema.optional()
|
|
22273
22382
|
});
|
|
22274
22383
|
var ServerUpdateCheckResultSchema = z.object({
|
|
22275
22384
|
packageName: z.string(),
|
|
@@ -45274,4 +45383,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
45274
45383
|
return out;
|
|
45275
45384
|
}
|
|
45276
45385
|
//#endregion
|
|
45277
|
-
export {
|
|
45386
|
+
export { evaluateSensorEdge as $, DeviceFeature as $t, addonSettingsCapability as A, resolveContainerPrimaryChild as At, coreBlockIdFromAddonId as B, storageMigrationCapability as Bt, ScopedTokenSchema as C, normalizeUnit as Ct, StorageMigrationJobSchema as D, procedureAuthKey as Dt, StorageLocationTypeSchema as E, platformProbeCapability as Et, bareAddonId as F, scopesAllowDeviceCap as Ft, describeCustomActions as G, vectorDimFromBase64 as Gt, dataStoreProviderCapability as H, storageProviderCapability as Ht, batteryCapability as I, scoreRuntimes as It, deviceStatusCapability as J, errMsg as Jt, deviceManagerCapability as K, vectorStoreCapability as Kt, buildStreamParamsConfigSchema as L, settingsStoreCapability as Lt, alertsCapability as M, resolveMethodAuth as Mt, authProviderCapability as N, runtimeStatePolicyFor as Nt, UserRecordSchema as O, reducePoints as Ot, backupCapability as P, scopesAllowAddon as Pt, enumerateSchemaFields as Q, DEVICE_STATUS_METHOD as Qt, collectSecretConfigKeys as R, snapshotCapability as Rt, STREAM_PROFILE_META as S, modeMayWrite as St, StorageLocationModeSchema as T, parseStreamParamsFormPatch as Tt, decodeVectorBase64 as U, streamQualityLabel as Ut, coreBlocksCapability as V, storageOccupancyCapability as Vt, deriveBatteryPresence as W, userManagementCapability as Wt, enumerateInferenceDevices as X, DATAPLANE_SECRET_HEADER as Xt, doorbellCapability as Y, BaseAddon as Yt, enumerateItemArrayFields as Z, DEVICE_SETTINGS_CONTRIBUTION_METHODS as Zt, RUNTIME_DEFAULTS as _, readinessKey as _n, logLevelAtMost as _t, CAMERA_SWITCH_ORDER as a, asJsonObject as an, isArrayOutputSchema as at, SOURCE_DEVICE_TYPES as b, sleep as bn, mayWriteToLocation as bt, CORE_BLOCK_ADDON_PREFIX as c, createEvent as cn, isObjectInput as ct, DeclaredDevices as d, expandCapMethods as dn, isVoidInput as dt, DeviceRole as en, evictionPolicyOfLocation as et, DeviceStatusSchema as f, hydrateSchema as fn, kebabToCamel as ft, REDACTED_SECRET as g, parseJsonUnknown as gn, logDestinationCapability as gt, METHOD_ACCESS_MAP as h, parseJsonObject as hn, localNetworkCapability as ht, BatteryStatusSchema as i, WELL_KNOWN_TAB_MAP as in, gbToBytes as it, addonWidgetsCapability as j, resolveLocationMode as jt, addonPagesCapability as k, resolveBucketMs as kt, CoreBlockSchema as l, emitDownForOwnedCaps as ln, isSameAddonId as lt, LegacyStorageLocationDefaultSchema as m, nodePin as mn, lifecycleJobSchema as mt, AlertSchema as n, ReadinessRegistry as nn, filesystemBrowseCapability as nt, CAP_NAMES_WITH_STATUS as o, asNumber as on, isCollectionArrayMethod as ot, LOG_LEVEL_RANK as p, isDeviceConfigCap as pn, legacyModeOf as pt, deviceStateCapability as q, withLocationMode as qt, ApiKeyRecordSchema as r, ReadinessTimeoutError as rn, foldSnapshotByFunction as rt, CORE_BLOCKS_ADDON_ID as s, asString as sn, isLocationEnabled as st, ALL_CAPABILITY_DEFINITIONS as t, DeviceType as tn, extractNestedAddonId as tt, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as u, emitReadiness as un, isSourceCap as ut, RecordingStatusSchema as v, resolveCapMount as vn, looseSchema as vt, StorageCleanupJobSchema as w, objectInputDeclaresAddonId as wt, STORAGE_ACCESS_FALLBACK as x, EventCategory as xn, metricsProviderCapability as xt, SOURCE_CAPS as y, scopeKey as yn, mayReadLocation as yt, coreBlockAddonId as z, storageCapability as zt };
|
package/dist/index.d.ts
CHANGED
|
@@ -52,7 +52,9 @@ export type { SocketPeerDelta, SocketPeerSample, SocketPlaneBaseline, SocketPlan
|
|
|
52
52
|
export { createSocketPlaneMeter, createSocketPlaneReader, diffSocketPlane, EMPTY_SOCKET_PLANE_BASELINE, formatSocketPlane, SOCKET_PLANE_TOP_N, } from './kernel/socket-plane-report.js';
|
|
53
53
|
export type { HeapDiagnosticDeps, HeapDiagnosticRequest, HeapSpaceReader, HeapSpaceUsage, } from './kernel/heap-spaces.js';
|
|
54
54
|
export { DECISIVE_HEAP_SPACES, emitHeapDiagnosticReport, formatHeapSpaces, HEAP_SPACE_REPORT_MIN_MB, heapSpaceField, readHeapSpaces, selectReportedSpaces, } from './kernel/heap-spaces.js';
|
|
55
|
-
export type {
|
|
55
|
+
export type { ArrayBufferCensus, ArrayBufferCensusContext, ArrayBufferCensusGate, ArrayBufferCensusGateOptions, ArrayBufferCensusReport, ArrayBufferCensusVerdict, ArrayBufferExactSize, ArrayBufferSizeBucket, } from './kernel/array-buffer-census.js';
|
|
56
|
+
export { ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ARRAY_BUFFER_CENSUS_THRESHOLD_MB, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, createArrayBufferCensusGate, createInspectorArrayBufferCensus, formatArrayBufferCensus, isArrayBufferCensusReport, } from './kernel/array-buffer-census.js';
|
|
57
|
+
export type { ArrayBufferCensusProbe, DeferredHeapWatchSink, HeapReclaimer, HeapReclaimOptions, HeapSample, HeapWatchProbes, HeapWatchSink, LoopDelayMeter, LoopDelaySample, RssBreakdown, RssBudgetOptions, RssBudgetState, RssGrowthShape, RunnerHeapWatchOptions, } from './kernel/heap-watch.js';
|
|
56
58
|
export { buildHeapSample, createDeferredHeapWatchSink, createLoopDelayMeter, createV8Reclaimer, HEAP_RECLAIM_MIN_INTERVAL_MS, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, HEAP_RECLAIM_TRIGGER_MB, HEAP_WATCH_INTERVAL_MS, HEAP_WATCH_WARN_RATIO, HUB_MAIN_HEAP_WATCH_LABEL, HUB_MAIN_RSS_BUDGET_MB, HUB_RSS_BUDGET_ENV, hubMainRssBudget, describeRss, nextRssBudgetState, parseRssBudgetMb, reclaimIntervalMs, RSS_BUDGET_REANNOUNCE_MIN_MS, RSS_BUDGET_RELEASE_RATIO, RUNNER_HEAP_WATCH_INTERVAL_MS, RUNNER_RSS_BUDGET_ENV, shouldReclaim, startHeapWatch, startRunnerHeapWatch, strandedMb, ZERO_LOOP_DELAY, } from './kernel/heap-watch.js';
|
|
57
59
|
export type { StallVerdict } from './kernel/event-loop-stall-monitor.js';
|
|
58
60
|
export { attributeStall, STALL_REPORT_MS, STALL_TICK_MS, startEventLoopStallMonitor, } from './kernel/event-loop-stall-monitor.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("./dist-
|
|
3
|
+
const require_dist = require("./dist-BOlMCOeT.js");
|
|
4
4
|
const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
|
|
5
5
|
require("./builtins/alerts/index.js");
|
|
6
6
|
const require_formatter = require("./formatter-DqAKDlvN.js");
|
|
@@ -27,9 +27,9 @@ require("./builtins/system-config/index.js");
|
|
|
27
27
|
const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
|
|
28
28
|
const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-DM9OAzy8.js");
|
|
29
29
|
const require_tls$1 = require("./tls-BxQlomxd.js");
|
|
30
|
-
const require_manifest_system_deps = require("./manifest-system-deps-
|
|
30
|
+
const require_manifest_system_deps = require("./manifest-system-deps-Bo92lg5u.js");
|
|
31
31
|
const require_resource_monitor = require("./resource-monitor-CdnzxBLP.js");
|
|
32
|
-
const require_custom_action_registry = require("./custom-action-registry-
|
|
32
|
+
const require_custom_action_registry = require("./custom-action-registry-BDwM5qAK.js");
|
|
33
33
|
let zod = require("zod");
|
|
34
34
|
let node_crypto = require("node:crypto");
|
|
35
35
|
let _camstack_types_node = require("@camstack/types/node");
|
|
@@ -95777,6 +95777,10 @@ exports.AGENT_CAP_FWD_ACTION = require_manifest_system_deps.AGENT_CAP_FWD_ACTION
|
|
|
95777
95777
|
exports.AGENT_CAP_FWD_SERVICE = require_manifest_system_deps.AGENT_CAP_FWD_SERVICE;
|
|
95778
95778
|
exports.AGENT_READINESS_SERVICE_NAME = AGENT_READINESS_SERVICE_NAME;
|
|
95779
95779
|
exports.ALL_CAPABILITY_DEFINITIONS = require_dist.ALL_CAPABILITY_DEFINITIONS;
|
|
95780
|
+
exports.ARRAY_BUFFER_CENSUS_COOLDOWN_MS = require_manifest_system_deps.ARRAY_BUFFER_CENSUS_COOLDOWN_MS;
|
|
95781
|
+
exports.ARRAY_BUFFER_CENSUS_SUSTAIN_MS = require_manifest_system_deps.ARRAY_BUFFER_CENSUS_SUSTAIN_MS;
|
|
95782
|
+
exports.ARRAY_BUFFER_CENSUS_THRESHOLD_MB = require_manifest_system_deps.ARRAY_BUFFER_CENSUS_THRESHOLD_MB;
|
|
95783
|
+
exports.ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO = require_manifest_system_deps.ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO;
|
|
95780
95784
|
exports.AddonApiFactory = AddonApiFactory;
|
|
95781
95785
|
exports.AddonDepsManager = require_manifest_system_deps.AddonDepsManager;
|
|
95782
95786
|
exports.AddonEngineManager = AddonEngineManager;
|
|
@@ -95960,6 +95964,7 @@ exports.copyExtraFileDirs = copyExtraFileDirs;
|
|
|
95960
95964
|
exports.createAddonContext = require_manifest_system_deps.createAddonContext;
|
|
95961
95965
|
exports.createAddonDataPlaneFacility = require_manifest_system_deps.createAddonDataPlaneFacility;
|
|
95962
95966
|
exports.createAddonService = require_manifest_system_deps.createAddonService;
|
|
95967
|
+
exports.createArrayBufferCensusGate = require_manifest_system_deps.createArrayBufferCensusGate;
|
|
95963
95968
|
exports.createAuthenticatedFileServer = require_event_loop_stall_monitor.createAuthenticatedFileServer;
|
|
95964
95969
|
exports.createBroker = createBroker;
|
|
95965
95970
|
exports.createBrokerDeviceManagerApi = require_manifest_system_deps.createBrokerDeviceManagerApi;
|
|
@@ -95971,6 +95976,7 @@ exports.createEventPlaneReader = require_manifest_system_deps.createEventPlaneRe
|
|
|
95971
95976
|
exports.createFileDataPlaneHandler = require_event_loop_stall_monitor.createFileDataPlaneHandler;
|
|
95972
95977
|
exports.createHubCapForwardService = require_hub_cap_forward.createHubCapForwardService;
|
|
95973
95978
|
exports.createHubService = createHubService;
|
|
95979
|
+
exports.createInspectorArrayBufferCensus = require_manifest_system_deps.createInspectorArrayBufferCensus;
|
|
95974
95980
|
exports.createKernelHwAccel = require_manifest_system_deps.createKernelHwAccel;
|
|
95975
95981
|
exports.createLocalTransport = require_manifest_system_deps.createLocalTransport;
|
|
95976
95982
|
exports.createLoopDelayMeter = require_manifest_system_deps.createLoopDelayMeter;
|
|
@@ -96040,6 +96046,7 @@ Object.defineProperty(exports, "findInPath", {
|
|
|
96040
96046
|
return _camstack_types_node.findInPath;
|
|
96041
96047
|
}
|
|
96042
96048
|
});
|
|
96049
|
+
exports.formatArrayBufferCensus = require_manifest_system_deps.formatArrayBufferCensus;
|
|
96043
96050
|
exports.formatEventPlane = require_manifest_system_deps.formatEventPlane;
|
|
96044
96051
|
exports.formatHeapSpaces = require_manifest_system_deps.formatHeapSpaces;
|
|
96045
96052
|
exports.formatLogLine = require_formatter.formatLogLine;
|
|
@@ -96095,6 +96102,7 @@ Object.defineProperty(exports, "installPythonRequirements", {
|
|
|
96095
96102
|
});
|
|
96096
96103
|
exports.ipcParentLink = require_manifest_system_deps.ipcParentLink;
|
|
96097
96104
|
exports.isAddonDeploySource = isAddonDeploySource;
|
|
96105
|
+
exports.isArrayBufferCensusReport = require_manifest_system_deps.isArrayBufferCensusReport;
|
|
96098
96106
|
exports.isArrayOutputSchema = require_dist.isArrayOutputSchema;
|
|
96099
96107
|
exports.isClusterSecretMismatchError = isClusterSecretMismatchError;
|
|
96100
96108
|
exports.isCollectionArrayMethod = require_dist.isCollectionArrayMethod;
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { A as addonSettingsCapability,
|
|
2
|
+
import { A as addonSettingsCapability, Dt as procedureAuthKey, Ft as scopesAllowDeviceCap, Jt as errMsg$1, Mt as resolveMethodAuth, Pt as scopesAllowAddon, Qt as DEVICE_STATUS_METHOD, Xt as DATAPLANE_SECRET_HEADER$1, Zt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, _ as RUNTIME_DEFAULTS, _n as readinessKey, _t as logLevelAtMost, an as asJsonObject$1, at as isArrayOutputSchema, cn as createEvent, ct as isObjectInput, dn as expandCapMethods, dt as isVoidInput, ft as kebabToCamel, gn as parseJsonUnknown, h as METHOD_ACCESS_MAP, hn as parseJsonObject, ln as emitDownForOwnedCaps, mt as lifecycleJobSchema, nn as ReadinessRegistry, on as asNumber, ot as isCollectionArrayMethod, p as LOG_LEVEL_RANK, rn as ReadinessTimeoutError, sn as asString$1, t as ALL_CAPABILITY_DEFINITIONS, tt as extractNestedAddonId, vn as resolveCapMount, vt as looseSchema, wt as objectInputDeclaresAddonId, xn as EventCategory$1, yn as scopeKey } from "./dist-DigmGsQS.mjs";
|
|
3
3
|
import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
|
|
4
4
|
import "./builtins/alerts/index.mjs";
|
|
5
5
|
import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
|
|
@@ -26,9 +26,9 @@ import "./builtins/system-config/index.mjs";
|
|
|
26
26
|
import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
|
|
27
27
|
import { _ as fetchJson, a as createFileDataPlaneHandler, c as parseRangeHeader, d as ModelDownloadService, f as collectModelFiles, g as ensureModel, h as downloadModel, i as startEventLoopStallMonitor, l as parseTokenizedUrl, m as downloadFile, n as STALL_TICK_MS, o as contentTypeFor, p as deleteModelFromDisk, r as attributeStall, s as createAuthenticatedFileServer, t as STALL_REPORT_MS, u as resolveFilePath, v as getModelFilePath, y as isModelDownloaded } from "./event-loop-stall-monitor-B3CFd9tM.mjs";
|
|
28
28
|
import { C as registerLanHttpHandler, S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, b as bindPendingLanHttp, c as loadTlsCert, d as collectCertIdentity, f as CA_VALIDITY_DAYS, g as evaluateExistingCert, h as SERVER_AUTH_OID, i as writeExtraSans, l as reissueTlsLeaf, m as MAX_LEAF_VALIDITY_DAYS, n as readTlsAccessStatus, o as validateUploadedTls, p as LEAF_RENEWAL_WINDOW_DAYS, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, u as CA_COMMON_NAME, v as allFamiliesListenHost, x as closeLanHttp, y as applyLanHttp } from "./tls-DOTmtLCW.mjs";
|
|
29
|
-
import { $ as buildUdsNativeCapProxy, $t as
|
|
29
|
+
import { $ as buildUdsNativeCapProxy, $t as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, A as createUdsLoggerWithControl, At as HUB_MAIN_RSS_BUDGET_MB, B as readMoleculerFanoutMode, Bt as createV8Reclaimer, C as ipcParentLink, Cn as EVENT_PLANE_TOP_N, Ct as createAddonDataPlaneFacility, D as createUdsEventBus, Dn as formatEventPlane, Dt as HEAP_WATCH_INTERVAL_MS, E as createUdsEventBridge, En as diffEventPlane, Et as HEAP_RECLAIM_TRIGGER_MB, F as AGENT_CAP_FWD_SERVICE, Ft as RUNNER_RSS_BUDGET_ENV, G as createLocalTransport, Gt as reclaimIntervalMs, H as PARENT_ROUTED_PROVIDER_ADDON_ID, Ht as hubMainRssBudget, I as CapRouteResolver, It as ZERO_LOOP_DELAY, J as SocketChannel, Jt as startRunnerHeapWatch, K as UdsLocalTransportClient, Kt as shouldReclaim, L as CapRouteError, Lt as buildHeapSample, M as LocalChildRegistry, Mt as RSS_BUDGET_REANNOUNCE_MIN_MS, N as UDS_NO_ROUTE_PREFIX, Nt as RSS_BUDGET_RELEASE_RATIO, O as udsChildLogToWorkerEntry, Ot as HEAP_WATCH_WARN_RATIO, P as AGENT_CAP_FWD_ACTION, Pt as RUNNER_HEAP_WATCH_INTERVAL_MS, Q as buildNativeCapProxy, Qt as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, R as classifyCapRoute, Rt as createDeferredHeapWatchSink, S as buildLinkChain, Sn as socketDirectionMessages, St as runNpm, T as createParentUnownedCallHandler, Tn as createEventPlaneReader, Tt as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, U as __resetCapUsageRegistryForTests, Ut as nextRssBudgetState, V as CapUsageRegistry, Vt as describeRss, W as getCapUsageRegistry, Wt as parseRssBudgetMb, X as FrameDecoder, Xt as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, Y as localEndpointPath, Yt as strandedMb, Z as encodeFrame, Zt as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, _ as AddonDepsManager, _n as EMPTY_SOCKET_DIRECTION, _t as CapabilityUnavailableError, a as createUdsAddonContext, an as HEAP_SPACE_REPORT_MIN_MB, at as createAddonService, b as brokerCallForCap, bn as sampleSocketDirection, bt as resolveAddonClass, c as getOrInitReadinessRegistryForClient, cn as heapSpaceField, ct as capActionName, d as clusterEventTopic, dn as EMPTY_SOCKET_PLANE_BASELINE, dt as capServiceName, en as createArrayBufferCensusGate, et as createBrokerDeviceManagerApi, f as getBrokerEventBus, fn as SOCKET_PLANE_TOP_N, ft as parseCapAction, g as subscribePassthrough, gn as formatSocketPlane, gt as CapabilityHandle, h as setNodeEventInterest, hn as diffSocketPlane, ht as DeviceRegistry, i as createAddonContext, in as DECISIVE_HEAP_SPACES, j as LocalChildClient, jt as HUB_RSS_BUDGET_ENV, k as createUdsLogger, kt as HUB_MAIN_HEAP_WATCH_LABEL, l as setHubConnected, ln as readHeapSpaces, lt as capActionSuffix, m as registerEventBusService, mn as createSocketPlaneReader, mt as serializeTypedArrays, n as installManifestPythonDeps, nn as formatArrayBufferCensus, o as getWorkerDeviceRegistry, on as emitHeapDiagnosticReport, ot as validateProviderRegistrations, p as getMoleculerEventStats, pn as createSocketPlaneMeter, pt as deserializeTypedArrays, q as UdsLocalTransportServer, qt as startHeapWatch, r as adaptBrokerToCluster, rn as isArrayBufferCensusReport, rt as mountNativeCapService, s as getOrInitReadinessRegistry, sn as formatHeapSpaces, st as NATIVE_PROVIDER_SERVICE_INFIX, t as installManifestSystemDeps, tn as createInspectorArrayBufferCensus, u as EVENT_TOPIC_PREFIX, un as selectReportedSpaces, ut as capBareAction, v as createKernelHwAccel, vn as createSocketDirectionCounters, vt as copyBundledNativeModules, w as localProviderLink, wn as createEventPlaneMeter, wt as HEAP_RECLAIM_MIN_INTERVAL_MS, x as brokerTransportLink, xn as socketDirectionBytes, xt as resolveNpmInvocation, y as resolveHwAccel, yn as recordSocketFrame, yt as installManifestNativeDeps, z as callWithServiceDiscovery, zt as createLoopDelayMeter } from "./manifest-system-deps-D--wyMD9.mjs";
|
|
30
30
|
import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-BWmQ5i-o.mjs";
|
|
31
|
-
import { t as CustomActionRegistry } from "./custom-action-registry-
|
|
31
|
+
import { t as CustomActionRegistry } from "./custom-action-registry-CsONUlhC.mjs";
|
|
32
32
|
import { z } from "zod";
|
|
33
33
|
import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
|
|
34
34
|
import { PYTHON_VERSION, buildBinaryPath, downloadBinary, ensureBinary, ensureFfmpeg, ensurePython, findInPath, getFfmpegDownloadUrl, getPlatformInfo, getPythonDownloadUrl, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
|
|
@@ -95766,4 +95766,4 @@ var LifecycleJobEngine = class {
|
|
|
95766
95766
|
}
|
|
95767
95767
|
};
|
|
95768
95768
|
//#endregion
|
|
95769
|
-
export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_READINESS_SERVICE_NAME, ALL_CAPABILITY_DEFINITIONS, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRouteRegistry, AlertCenterAddon, ApiKeyManager, AuthManager, CA_COMMON_NAME, CA_VALIDITY_DAYS, CLUSTER_SECRET_MISMATCH_TYPE, CLUSTER_SECRET_REJECTED_EXIT_CODE, CORE_CAP_SERVICE_NAME, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HEAP_RECLAIM_MIN_INTERVAL_MS, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, HEAP_RECLAIM_TRIGGER_MB, HEAP_SPACE_REPORT_MIN_MB, HEAP_WATCH_INTERVAL_MS, HEAP_WATCH_WARN_RATIO, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HUB_MAIN_HEAP_WATCH_LABEL, HUB_MAIN_RSS_BUDGET_MB, HUB_RSS_BUDGET_ENV, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, INFRA_CAPABILITIES, IntegrationRegistry, JobJournal, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LokiDestination, LokiLoggingAddon, MAX_LEAF_VALIDITY_DAYS, METHOD_ACCESS_MAP, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, PARENT_ROUTED_PROVIDER_ADDON_ID, PYTHON_VERSION, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, RESTART_MARKER_FILE, RSS_BUDGET_REANNOUNCE_MIN_MS, RSS_BUDGET_RELEASE_RATIO, RUNNER_HEAP_WATCH_INTERVAL_MS, RUNNER_RSS_BUDGET_ENV, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, ReplEngine, RingBuffer, SERVER_AUTH_OID, SOCKET_PLANE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, ScopedLogger, ScopedTokenManager, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, ToastService, UDS_NO_ROUTE_PREFIX, UdsLocalTransportClient, UdsLocalTransportServer, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, adaptBrokerToCluster, addonSettingsCapability, allFamiliesListenHost, applyLanHttp, attributeStall, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNativeCapProxy, buildNodeManifest, buildStorageLocationRegistry, buildUdsNativeCapProxy, builderMountedCapNames, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionName, capActionSuffix, capBareAction, capServiceName, classifyAddonDir, classifyCapRoute, clearPendingRestart, closeLanHttp, clusterEventTopic, clusterSecretMatches, collectCertIdentity, collectModelFiles, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonService, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCoreCapService, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createKernelHwAccel, createLocalTransport, createLoopDelayMeter, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, deleteModelFromDisk, deriveAgentListenPort, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, diffEventPlane, diffSocketPlane, downloadBinary, downloadFile, downloadModel, emitDownForOwnedCaps, emitHeapDiagnosticReport, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, fetchJson, findInPath, formatEventPlane, formatHeapSpaces, formatLogLine, formatSocketPlane, getBrokerEventBus, getCapUsageRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getWorkerDeviceRegistry, hasDotNode, hashClusterSecret, heapSpaceField, hubMainRssBudget, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcParentLink, isAddonDeploySource, isArrayOutputSchema, isClusterSecretMismatchError, isCollectionArrayMethod, isInfraCapability, isModelDownloaded, isSourceNewer, isolatedBuiltinPhase, loadTlsCert, localEndpointPath, localProviderLink, mountNativeCapService, nextRssBudgetState, parseCapAction, parseRangeHeader, parseRssBudgetMb, parseTokenizedUrl, partitionIsolatedBuiltinIds, proxyToUpstream, quarantineAddonResidue, readExtraSans, readHeapSpaces, readLanHttpState, readMoleculerFanoutMode, readPendingRestart, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, registerEventBusService, registerLanHttpHandler, reissueTlsLeaf, resolveFilePath, resolveHwAccel, resolveNpmInvocation, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, setHubConnected, setNodeEventInterest, shouldReclaim, socketDirectionBytes, socketDirectionMessages, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, strandedMb, stripCamstackDeps, subscribePassthrough, udsChildLogToWorkerEntry, validateProviderRegistrations, validateUploadedTls, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
|
|
95769
|
+
export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_READINESS_SERVICE_NAME, ALL_CAPABILITY_DEFINITIONS, ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ARRAY_BUFFER_CENSUS_THRESHOLD_MB, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRouteRegistry, AlertCenterAddon, ApiKeyManager, AuthManager, CA_COMMON_NAME, CA_VALIDITY_DAYS, CLUSTER_SECRET_MISMATCH_TYPE, CLUSTER_SECRET_REJECTED_EXIT_CODE, CORE_CAP_SERVICE_NAME, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HEAP_RECLAIM_MIN_INTERVAL_MS, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, HEAP_RECLAIM_TRIGGER_MB, HEAP_SPACE_REPORT_MIN_MB, HEAP_WATCH_INTERVAL_MS, HEAP_WATCH_WARN_RATIO, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HUB_MAIN_HEAP_WATCH_LABEL, HUB_MAIN_RSS_BUDGET_MB, HUB_RSS_BUDGET_ENV, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, INFRA_CAPABILITIES, IntegrationRegistry, JobJournal, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LokiDestination, LokiLoggingAddon, MAX_LEAF_VALIDITY_DAYS, METHOD_ACCESS_MAP, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, PARENT_ROUTED_PROVIDER_ADDON_ID, PYTHON_VERSION, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, RESTART_MARKER_FILE, RSS_BUDGET_REANNOUNCE_MIN_MS, RSS_BUDGET_RELEASE_RATIO, RUNNER_HEAP_WATCH_INTERVAL_MS, RUNNER_RSS_BUDGET_ENV, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, ReplEngine, RingBuffer, SERVER_AUTH_OID, SOCKET_PLANE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, ScopedLogger, ScopedTokenManager, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, ToastService, UDS_NO_ROUTE_PREFIX, UdsLocalTransportClient, UdsLocalTransportServer, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, adaptBrokerToCluster, addonSettingsCapability, allFamiliesListenHost, applyLanHttp, attributeStall, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNativeCapProxy, buildNodeManifest, buildStorageLocationRegistry, buildUdsNativeCapProxy, builderMountedCapNames, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionName, capActionSuffix, capBareAction, capServiceName, classifyAddonDir, classifyCapRoute, clearPendingRestart, closeLanHttp, clusterEventTopic, clusterSecretMatches, collectCertIdentity, collectModelFiles, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonService, createArrayBufferCensusGate, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCoreCapService, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createInspectorArrayBufferCensus, createKernelHwAccel, createLocalTransport, createLoopDelayMeter, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, deleteModelFromDisk, deriveAgentListenPort, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, diffEventPlane, diffSocketPlane, downloadBinary, downloadFile, downloadModel, emitDownForOwnedCaps, emitHeapDiagnosticReport, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, fetchJson, findInPath, formatArrayBufferCensus, formatEventPlane, formatHeapSpaces, formatLogLine, formatSocketPlane, getBrokerEventBus, getCapUsageRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getWorkerDeviceRegistry, hasDotNode, hashClusterSecret, heapSpaceField, hubMainRssBudget, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcParentLink, isAddonDeploySource, isArrayBufferCensusReport, isArrayOutputSchema, isClusterSecretMismatchError, isCollectionArrayMethod, isInfraCapability, isModelDownloaded, isSourceNewer, isolatedBuiltinPhase, loadTlsCert, localEndpointPath, localProviderLink, mountNativeCapService, nextRssBudgetState, parseCapAction, parseRangeHeader, parseRssBudgetMb, parseTokenizedUrl, partitionIsolatedBuiltinIds, proxyToUpstream, quarantineAddonResidue, readExtraSans, readHeapSpaces, readLanHttpState, readMoleculerFanoutMode, readPendingRestart, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, registerEventBusService, registerLanHttpHandler, reissueTlsLeaf, resolveFilePath, resolveHwAccel, resolveNpmInvocation, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, setHubConnected, setNodeEventInterest, shouldReclaim, socketDirectionBytes, socketDirectionMessages, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, strandedMb, stripCamstackDeps, subscribePassthrough, udsChildLogToWorkerEntry, validateProviderRegistrations, validateUploadedTls, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/** One power-of-two bucket of the live set: every buffer with `byteLength <= upToBytes`
|
|
2
|
+
* and above the previous bucket. */
|
|
3
|
+
export interface ArrayBufferSizeBucket {
|
|
4
|
+
readonly upToBytes: number;
|
|
5
|
+
readonly count: number;
|
|
6
|
+
readonly bytes: number;
|
|
7
|
+
}
|
|
8
|
+
/** One exact byteLength and how much of the live set it accounts for. */
|
|
9
|
+
export interface ArrayBufferExactSize {
|
|
10
|
+
readonly byteLength: number;
|
|
11
|
+
readonly count: number;
|
|
12
|
+
readonly bytes: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ArrayBufferCensusReport {
|
|
15
|
+
/** Live `ArrayBuffer` objects reachable after the census's own GC. */
|
|
16
|
+
readonly count: number;
|
|
17
|
+
/** Their total `byteLength`. */
|
|
18
|
+
readonly bytes: number;
|
|
19
|
+
/** Buffers whose backing store is gone (`byteLength === 0`, detached). */
|
|
20
|
+
readonly detached: number;
|
|
21
|
+
/** Largest buckets first, by bytes. */
|
|
22
|
+
readonly buckets: readonly ArrayBufferSizeBucket[];
|
|
23
|
+
/** Largest exact sizes first, by bytes. */
|
|
24
|
+
readonly topSizes: readonly ArrayBufferExactSize[];
|
|
25
|
+
}
|
|
26
|
+
/** Take a census. Injectable so the heartbeat's gating is testable without an inspector. */
|
|
27
|
+
export type ArrayBufferCensus = () => Promise<ArrayBufferCensusReport>;
|
|
28
|
+
/**
|
|
29
|
+
* Take the census once `arrayBuffers` has been at or above this for
|
|
30
|
+
* {@link ARRAY_BUFFER_CENSUS_SUSTAIN_MS}.
|
|
31
|
+
*
|
|
32
|
+
* 512 MB. The two 2026-09-10 episodes crossed it 25 and 8 minutes in; the
|
|
33
|
+
* routine reading in six hours of 2-second samples around them was 18–100 MB
|
|
34
|
+
* with single-sample spikes to 479 MB, and the process's floor after every
|
|
35
|
+
* compaction is 12–18 MB. A dead-buffer sawtooth between major GCs (measured
|
|
36
|
+
* up to 3.65 GB on 2026-08-08 when the heap had 4 GB of headroom) cannot reach
|
|
37
|
+
* it while GC runs every few seconds — and if one did, the census would SAY
|
|
38
|
+
* so: it reports the live total after its own GC next to the raw reading.
|
|
39
|
+
*/
|
|
40
|
+
export declare const ARRAY_BUFFER_CENSUS_THRESHOLD_MB = 512;
|
|
41
|
+
/**
|
|
42
|
+
* How long the reading must stay above the threshold before a census is taken.
|
|
43
|
+
*
|
|
44
|
+
* 60 s = 30 probes at the 2 s cadence. A burst that a scavenge or the next
|
|
45
|
+
* major GC returns never pays a forced GC; an episode climbing at the slowest
|
|
46
|
+
* rate measured (20 MB/min) is still 20 MB higher by the time it is measured,
|
|
47
|
+
* which is nothing against the threshold.
|
|
48
|
+
*/
|
|
49
|
+
export declare const ARRAY_BUFFER_CENSUS_SUSTAIN_MS = 60000;
|
|
50
|
+
/**
|
|
51
|
+
* Minimum spacing between two censuses.
|
|
52
|
+
*
|
|
53
|
+
* 30 minutes: the second episode ran 76 minutes, so it would have produced
|
|
54
|
+
* three readings — enough to see the shape change (or not) as it grew — at a
|
|
55
|
+
* cost the router already pays six times an hour for the reclaim pass.
|
|
56
|
+
*/
|
|
57
|
+
export declare const ARRAY_BUFFER_CENSUS_COOLDOWN_MS: number;
|
|
58
|
+
/**
|
|
59
|
+
* A drop of at least this share of the threshold between two consecutive
|
|
60
|
+
* probes, from a reading that had been SUSTAINED above the threshold, is a
|
|
61
|
+
* RELEASE — the boundary both episodes crossed with no line, and the one line
|
|
62
|
+
* that lets the release be correlated with whatever else the process logged
|
|
63
|
+
* that second. Sustained, not merely above: a one-probe spike that the next
|
|
64
|
+
* scavenge sweeps (a 1.3 GB burst in 11 s was measured on 2026-08-29) is not
|
|
65
|
+
* an episode ending, and a WARN for every one of those would bury the line
|
|
66
|
+
* this exists to produce.
|
|
67
|
+
*/
|
|
68
|
+
export declare const ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO = 0.5;
|
|
69
|
+
export interface ArrayBufferCensusGateOptions {
|
|
70
|
+
readonly thresholdMb?: number;
|
|
71
|
+
readonly sustainMs?: number;
|
|
72
|
+
readonly cooldownMs?: number;
|
|
73
|
+
}
|
|
74
|
+
/** What one probe reading means to the gate. */
|
|
75
|
+
export type ArrayBufferCensusVerdict = {
|
|
76
|
+
readonly kind: 'hold';
|
|
77
|
+
}
|
|
78
|
+
/** Take a census now. `reason` is printed on the resulting line. */
|
|
79
|
+
| {
|
|
80
|
+
readonly kind: 'take';
|
|
81
|
+
readonly reason: string;
|
|
82
|
+
}
|
|
83
|
+
/** The live set was released between this probe and the previous one. */
|
|
84
|
+
| {
|
|
85
|
+
readonly kind: 'released';
|
|
86
|
+
readonly fromMb: number;
|
|
87
|
+
readonly toMb: number;
|
|
88
|
+
};
|
|
89
|
+
export interface ArrayBufferCensusGate {
|
|
90
|
+
/** Judge one reading. A `take` verdict starts the cooldown. */
|
|
91
|
+
readonly observe: (arrayBuffersMb: number, at: number) => ArrayBufferCensusVerdict;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The pure decision: threshold, sustain, cooldown, release — testable without
|
|
95
|
+
* allocating a gigabyte or forcing a GC.
|
|
96
|
+
*/
|
|
97
|
+
export declare function createArrayBufferCensusGate(options?: ArrayBufferCensusGateOptions): ArrayBufferCensusGate;
|
|
98
|
+
/** The inspector answers `unknown`; the report is trusted only once it has this shape. */
|
|
99
|
+
export declare function isArrayBufferCensusReport(value: unknown): value is ArrayBufferCensusReport;
|
|
100
|
+
/**
|
|
101
|
+
* The real census: an in-process inspector session, opened for the call and
|
|
102
|
+
* closed after it, so no session is left listening between censuses.
|
|
103
|
+
*
|
|
104
|
+
* Every remote object it creates is released before the session closes; a
|
|
105
|
+
* failure anywhere still disconnects. The session is in-process — nothing
|
|
106
|
+
* listens on a port, nothing outside this process can reach it.
|
|
107
|
+
*/
|
|
108
|
+
export declare function createInspectorArrayBufferCensus(): ArrayBufferCensus;
|
|
109
|
+
/** What a census line needs beyond the report. */
|
|
110
|
+
export interface ArrayBufferCensusContext {
|
|
111
|
+
/** `process.memoryUsage().arrayBuffers` at the probe that triggered it. */
|
|
112
|
+
readonly rawMb: number;
|
|
113
|
+
readonly tookMs: number;
|
|
114
|
+
/** The gate's `take` reason. */
|
|
115
|
+
readonly reason: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The census line. `live` is what survived the census's own GC; `raw` is the
|
|
119
|
+
* reading that triggered it — when they disagree by a lot, the growth was dead
|
|
120
|
+
* buffers awaiting a sweep, not a retention, and the line says which.
|
|
121
|
+
*/
|
|
122
|
+
export declare function formatArrayBufferCensus(label: string, report: ArrayBufferCensusReport, context: ArrayBufferCensusContext): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomActionCaller, CustomActionSpec, CustomActionsSpec } from '@camstack/types';
|
|
1
|
+
import { ChildCustomActionCatalogs, CustomActionCaller, CustomActionSpec, CustomActionsSpec } from '@camstack/types';
|
|
2
2
|
type Handler = (action: string, input: unknown, caller?: CustomActionCaller) => Promise<unknown>;
|
|
3
3
|
export interface CustomActionEntry {
|
|
4
4
|
readonly spec: CustomActionSpec;
|
|
@@ -19,5 +19,14 @@ export declare class CustomActionRegistry {
|
|
|
19
19
|
resolve(addonId: string, action: string): CustomActionEntry | null;
|
|
20
20
|
listActions(addonId: string): readonly string[];
|
|
21
21
|
listAddons(): readonly string[];
|
|
22
|
+
/**
|
|
23
|
+
* Every registered catalog with its schemas stripped, keyed by addon id —
|
|
24
|
+
* what a runner puts in its register frame so the hub learns the catalogs
|
|
25
|
+
* from the process that owns them (D444). `hostedAddonIds` are the addons
|
|
26
|
+
* this runner hosts: each is present in the result, with an EMPTY catalog
|
|
27
|
+
* when it registered none, so the parent can say "declares no actions" per
|
|
28
|
+
* addon instead of guessing from an absent key.
|
|
29
|
+
*/
|
|
30
|
+
describeAll(hostedAddonIds: readonly string[]): ChildCustomActionCatalogs;
|
|
22
31
|
}
|
|
23
32
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventPlaneReader } from './event-plane-report.js';
|
|
2
2
|
import { SocketPlaneReader } from './socket-plane-report.js';
|
|
3
3
|
import { HeapSpaceReader } from './heap-spaces.js';
|
|
4
|
+
import { ArrayBufferCensus, ArrayBufferCensusGateOptions } from './array-buffer-census.js';
|
|
4
5
|
/**
|
|
5
6
|
* What hub-main calls itself in a `[mem]` line.
|
|
6
7
|
*
|
|
@@ -606,6 +607,20 @@ export interface HeapWatchProbes {
|
|
|
606
607
|
* from the parent's side. Only hub-main and an agent's main pass one.
|
|
607
608
|
*/
|
|
608
609
|
readonly socketPlane?: SocketPlaneReader;
|
|
610
|
+
/**
|
|
611
|
+
* The ArrayBuffer census that ARMS ITSELF. No default: it costs a forced
|
|
612
|
+
* full GC when it fires, and only hub-main has an episode on record (two
|
|
613
|
+
* silent linear climbs to 1.3 GB and 5 GB on 2026-09-10, each released in
|
|
614
|
+
* one instant with no line, the second two hours before the OOM). A runner
|
|
615
|
+
* that legitimately holds gigabytes of ArrayBuffers (`hub/stream-broker`,
|
|
616
|
+
* ~900 MB of RTP pre-roll rings) would fire it forever. See
|
|
617
|
+
* `array-buffer-census.ts` for the gate, the cost and what it is NOT.
|
|
618
|
+
*/
|
|
619
|
+
readonly arrayBufferCensus?: ArrayBufferCensusProbe;
|
|
620
|
+
}
|
|
621
|
+
/** How the census is wired: the census itself plus the gate's thresholds. */
|
|
622
|
+
export interface ArrayBufferCensusProbe extends ArrayBufferCensusGateOptions {
|
|
623
|
+
readonly census: ArrayBufferCensus;
|
|
609
624
|
}
|
|
610
625
|
/**
|
|
611
626
|
* Start the heartbeat. Returns a stop function.
|