@camstack/addon-notifiers 1.2.57 → 1.2.60
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.js +47 -27
- package/dist/addon.mjs +47 -27
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -13431,6 +13431,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13431
13431
|
auth: "admin"
|
|
13432
13432
|
});
|
|
13433
13433
|
/**
|
|
13434
|
+
* Transport bounds for AI capability methods.
|
|
13435
|
+
*
|
|
13436
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13437
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13438
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13439
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13440
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13441
|
+
*/
|
|
13442
|
+
/**
|
|
13443
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13444
|
+
*
|
|
13445
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13446
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13447
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13448
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13449
|
+
* the wrong layer and hiding the real one.
|
|
13450
|
+
*
|
|
13451
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13452
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13453
|
+
* exactly 60 s and shipped without its text.
|
|
13454
|
+
*
|
|
13455
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13456
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13457
|
+
* decide when to stop, because only they can say WHY.
|
|
13458
|
+
*/
|
|
13459
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13460
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13461
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13462
|
+
/**
|
|
13434
13463
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13435
13464
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13436
13465
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13702,16 +13731,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13702
13731
|
timeoutMs: number().int().positive().optional()
|
|
13703
13732
|
}), LlmGenerateResultSchema, {
|
|
13704
13733
|
kind: "mutation",
|
|
13705
|
-
auth: "admin"
|
|
13734
|
+
auth: "admin",
|
|
13735
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13706
13736
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13707
13737
|
kind: "mutation",
|
|
13708
|
-
auth: "admin"
|
|
13738
|
+
auth: "admin",
|
|
13739
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13709
13740
|
}), method(object({}), _void(), {
|
|
13710
13741
|
kind: "mutation",
|
|
13711
13742
|
auth: "admin"
|
|
13712
13743
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13713
13744
|
kind: "mutation",
|
|
13714
|
-
auth: "admin"
|
|
13745
|
+
auth: "admin",
|
|
13746
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13715
13747
|
}), method(object({ file: string() }), _void(), {
|
|
13716
13748
|
kind: "mutation",
|
|
13717
13749
|
auth: "admin"
|
|
@@ -13879,7 +13911,13 @@ var ProfileRefInputSchema = object({
|
|
|
13879
13911
|
addonId: string(),
|
|
13880
13912
|
profileId: string()
|
|
13881
13913
|
});
|
|
13882
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13914
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13915
|
+
kind: "mutation",
|
|
13916
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13917
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
13918
|
+
kind: "mutation",
|
|
13919
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13920
|
+
}), method(object({
|
|
13883
13921
|
addonId: string().optional(),
|
|
13884
13922
|
requestId: string()
|
|
13885
13923
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13890,7 +13928,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13890
13928
|
auth: "admin"
|
|
13891
13929
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13892
13930
|
kind: "mutation",
|
|
13893
|
-
auth: "admin"
|
|
13931
|
+
auth: "admin",
|
|
13932
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13894
13933
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13895
13934
|
selector: LlmDefaultSelectorSchema,
|
|
13896
13935
|
profileId: string().nullable()
|
|
@@ -14356,17 +14395,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14356
14395
|
*/
|
|
14357
14396
|
gpuShmemBytes: number().nullable()
|
|
14358
14397
|
}).extend({ atMs: number() });
|
|
14359
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14360
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14361
|
-
addonId: string() });
|
|
14362
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14363
|
-
success: boolean(),
|
|
14364
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14365
|
-
path: string().optional(),
|
|
14366
|
-
/** Process pid that was signalled. */
|
|
14367
|
-
pid: number().optional(),
|
|
14368
|
-
reason: string().optional()
|
|
14369
|
-
});
|
|
14370
14398
|
/**
|
|
14371
14399
|
* One point of one function's series.
|
|
14372
14400
|
*
|
|
@@ -14490,10 +14518,7 @@ var SystemMetricsSchema = object({
|
|
|
14490
14518
|
gpuPercent: number().optional(),
|
|
14491
14519
|
gpuMemoryPercent: number().optional()
|
|
14492
14520
|
});
|
|
14493
|
-
method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema)
|
|
14494
|
-
kind: "mutation",
|
|
14495
|
-
auth: "admin"
|
|
14496
|
-
});
|
|
14521
|
+
method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema);
|
|
14497
14522
|
method(object({
|
|
14498
14523
|
sourceUrl: string(),
|
|
14499
14524
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -18741,7 +18766,8 @@ var MediaFileKindEnum = _enum([
|
|
|
18741
18766
|
"plateCrop",
|
|
18742
18767
|
"keyFrame",
|
|
18743
18768
|
"keyFrameSmall",
|
|
18744
|
-
"thumbnailSmall"
|
|
18769
|
+
"thumbnailSmall",
|
|
18770
|
+
"sceneFrame"
|
|
18745
18771
|
]);
|
|
18746
18772
|
/**
|
|
18747
18773
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -31559,12 +31585,6 @@ Object.freeze({
|
|
|
31559
31585
|
addonId: null,
|
|
31560
31586
|
access: "view"
|
|
31561
31587
|
},
|
|
31562
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
31563
|
-
capName: "metrics-provider",
|
|
31564
|
-
capScope: "system",
|
|
31565
|
-
addonId: null,
|
|
31566
|
-
access: "create"
|
|
31567
|
-
},
|
|
31568
31588
|
"metricsProvider.getAddonStats": {
|
|
31569
31589
|
capName: "metrics-provider",
|
|
31570
31590
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -13404,6 +13404,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13404
13404
|
auth: "admin"
|
|
13405
13405
|
});
|
|
13406
13406
|
/**
|
|
13407
|
+
* Transport bounds for AI capability methods.
|
|
13408
|
+
*
|
|
13409
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13410
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13411
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13412
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13413
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13414
|
+
*/
|
|
13415
|
+
/**
|
|
13416
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13417
|
+
*
|
|
13418
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13419
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13420
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13421
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13422
|
+
* the wrong layer and hiding the real one.
|
|
13423
|
+
*
|
|
13424
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13425
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13426
|
+
* exactly 60 s and shipped without its text.
|
|
13427
|
+
*
|
|
13428
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13429
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13430
|
+
* decide when to stop, because only they can say WHY.
|
|
13431
|
+
*/
|
|
13432
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13433
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13434
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13435
|
+
/**
|
|
13407
13436
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13408
13437
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13409
13438
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13675,16 +13704,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13675
13704
|
timeoutMs: number().int().positive().optional()
|
|
13676
13705
|
}), LlmGenerateResultSchema, {
|
|
13677
13706
|
kind: "mutation",
|
|
13678
|
-
auth: "admin"
|
|
13707
|
+
auth: "admin",
|
|
13708
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13679
13709
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13680
13710
|
kind: "mutation",
|
|
13681
|
-
auth: "admin"
|
|
13711
|
+
auth: "admin",
|
|
13712
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13682
13713
|
}), method(object({}), _void(), {
|
|
13683
13714
|
kind: "mutation",
|
|
13684
13715
|
auth: "admin"
|
|
13685
13716
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13686
13717
|
kind: "mutation",
|
|
13687
|
-
auth: "admin"
|
|
13718
|
+
auth: "admin",
|
|
13719
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13688
13720
|
}), method(object({ file: string() }), _void(), {
|
|
13689
13721
|
kind: "mutation",
|
|
13690
13722
|
auth: "admin"
|
|
@@ -13852,7 +13884,13 @@ var ProfileRefInputSchema = object({
|
|
|
13852
13884
|
addonId: string(),
|
|
13853
13885
|
profileId: string()
|
|
13854
13886
|
});
|
|
13855
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13887
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13888
|
+
kind: "mutation",
|
|
13889
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13890
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
13891
|
+
kind: "mutation",
|
|
13892
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13893
|
+
}), method(object({
|
|
13856
13894
|
addonId: string().optional(),
|
|
13857
13895
|
requestId: string()
|
|
13858
13896
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13863,7 +13901,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13863
13901
|
auth: "admin"
|
|
13864
13902
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13865
13903
|
kind: "mutation",
|
|
13866
|
-
auth: "admin"
|
|
13904
|
+
auth: "admin",
|
|
13905
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13867
13906
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13868
13907
|
selector: LlmDefaultSelectorSchema,
|
|
13869
13908
|
profileId: string().nullable()
|
|
@@ -14329,17 +14368,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14329
14368
|
*/
|
|
14330
14369
|
gpuShmemBytes: number().nullable()
|
|
14331
14370
|
}).extend({ atMs: number() });
|
|
14332
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14333
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14334
|
-
addonId: string() });
|
|
14335
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14336
|
-
success: boolean(),
|
|
14337
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14338
|
-
path: string().optional(),
|
|
14339
|
-
/** Process pid that was signalled. */
|
|
14340
|
-
pid: number().optional(),
|
|
14341
|
-
reason: string().optional()
|
|
14342
|
-
});
|
|
14343
14371
|
/**
|
|
14344
14372
|
* One point of one function's series.
|
|
14345
14373
|
*
|
|
@@ -14463,10 +14491,7 @@ var SystemMetricsSchema = object({
|
|
|
14463
14491
|
gpuPercent: number().optional(),
|
|
14464
14492
|
gpuMemoryPercent: number().optional()
|
|
14465
14493
|
});
|
|
14466
|
-
method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema)
|
|
14467
|
-
kind: "mutation",
|
|
14468
|
-
auth: "admin"
|
|
14469
|
-
});
|
|
14494
|
+
method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema);
|
|
14470
14495
|
method(object({
|
|
14471
14496
|
sourceUrl: string(),
|
|
14472
14497
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -18714,7 +18739,8 @@ var MediaFileKindEnum = _enum([
|
|
|
18714
18739
|
"plateCrop",
|
|
18715
18740
|
"keyFrame",
|
|
18716
18741
|
"keyFrameSmall",
|
|
18717
|
-
"thumbnailSmall"
|
|
18742
|
+
"thumbnailSmall",
|
|
18743
|
+
"sceneFrame"
|
|
18718
18744
|
]);
|
|
18719
18745
|
/**
|
|
18720
18746
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -31532,12 +31558,6 @@ Object.freeze({
|
|
|
31532
31558
|
addonId: null,
|
|
31533
31559
|
access: "view"
|
|
31534
31560
|
},
|
|
31535
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
31536
|
-
capName: "metrics-provider",
|
|
31537
|
-
capScope: "system",
|
|
31538
|
-
addonId: null,
|
|
31539
|
-
access: "create"
|
|
31540
|
-
},
|
|
31541
31561
|
"metricsProvider.getAddonStats": {
|
|
31542
31562
|
capName: "metrics-provider",
|
|
31543
31563
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-notifiers",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.60",
|
|
4
4
|
"description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|