@camstack/addon-smtp-nodemailer 1.2.52 → 1.2.55
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/smtp.addon.js +47 -27
- package/dist/smtp.addon.mjs +47 -27
- package/package.json +1 -1
package/dist/smtp.addon.js
CHANGED
|
@@ -13278,6 +13278,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13278
13278
|
auth: "admin"
|
|
13279
13279
|
});
|
|
13280
13280
|
/**
|
|
13281
|
+
* Transport bounds for AI capability methods.
|
|
13282
|
+
*
|
|
13283
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13284
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13285
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13286
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13287
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13288
|
+
*/
|
|
13289
|
+
/**
|
|
13290
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13291
|
+
*
|
|
13292
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13293
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13294
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13295
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13296
|
+
* the wrong layer and hiding the real one.
|
|
13297
|
+
*
|
|
13298
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13299
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13300
|
+
* exactly 60 s and shipped without its text.
|
|
13301
|
+
*
|
|
13302
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13303
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13304
|
+
* decide when to stop, because only they can say WHY.
|
|
13305
|
+
*/
|
|
13306
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13307
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13308
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13309
|
+
/**
|
|
13281
13310
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13282
13311
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13283
13312
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13549,16 +13578,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13549
13578
|
timeoutMs: number().int().positive().optional()
|
|
13550
13579
|
}), LlmGenerateResultSchema, {
|
|
13551
13580
|
kind: "mutation",
|
|
13552
|
-
auth: "admin"
|
|
13581
|
+
auth: "admin",
|
|
13582
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13553
13583
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13554
13584
|
kind: "mutation",
|
|
13555
|
-
auth: "admin"
|
|
13585
|
+
auth: "admin",
|
|
13586
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13556
13587
|
}), method(object({}), _void(), {
|
|
13557
13588
|
kind: "mutation",
|
|
13558
13589
|
auth: "admin"
|
|
13559
13590
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13560
13591
|
kind: "mutation",
|
|
13561
|
-
auth: "admin"
|
|
13592
|
+
auth: "admin",
|
|
13593
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13562
13594
|
}), method(object({ file: string() }), _void(), {
|
|
13563
13595
|
kind: "mutation",
|
|
13564
13596
|
auth: "admin"
|
|
@@ -13726,7 +13758,13 @@ var ProfileRefInputSchema = object({
|
|
|
13726
13758
|
addonId: string(),
|
|
13727
13759
|
profileId: string()
|
|
13728
13760
|
});
|
|
13729
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13761
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13762
|
+
kind: "mutation",
|
|
13763
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13764
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
13765
|
+
kind: "mutation",
|
|
13766
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13767
|
+
}), method(object({
|
|
13730
13768
|
addonId: string().optional(),
|
|
13731
13769
|
requestId: string()
|
|
13732
13770
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13737,7 +13775,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13737
13775
|
auth: "admin"
|
|
13738
13776
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13739
13777
|
kind: "mutation",
|
|
13740
|
-
auth: "admin"
|
|
13778
|
+
auth: "admin",
|
|
13779
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13741
13780
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13742
13781
|
selector: LlmDefaultSelectorSchema,
|
|
13743
13782
|
profileId: string().nullable()
|
|
@@ -14203,17 +14242,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14203
14242
|
*/
|
|
14204
14243
|
gpuShmemBytes: number().nullable()
|
|
14205
14244
|
}).extend({ atMs: number() });
|
|
14206
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14207
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14208
|
-
addonId: string() });
|
|
14209
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14210
|
-
success: boolean(),
|
|
14211
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14212
|
-
path: string().optional(),
|
|
14213
|
-
/** Process pid that was signalled. */
|
|
14214
|
-
pid: number().optional(),
|
|
14215
|
-
reason: string().optional()
|
|
14216
|
-
});
|
|
14217
14245
|
/**
|
|
14218
14246
|
* One point of one function's series.
|
|
14219
14247
|
*
|
|
@@ -14337,10 +14365,7 @@ var SystemMetricsSchema = object({
|
|
|
14337
14365
|
gpuPercent: number().optional(),
|
|
14338
14366
|
gpuMemoryPercent: number().optional()
|
|
14339
14367
|
});
|
|
14340
|
-
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)
|
|
14341
|
-
kind: "mutation",
|
|
14342
|
-
auth: "admin"
|
|
14343
|
-
});
|
|
14368
|
+
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);
|
|
14344
14369
|
method(object({
|
|
14345
14370
|
sourceUrl: string(),
|
|
14346
14371
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -18574,7 +18599,8 @@ var MediaFileKindEnum = _enum([
|
|
|
18574
18599
|
"plateCrop",
|
|
18575
18600
|
"keyFrame",
|
|
18576
18601
|
"keyFrameSmall",
|
|
18577
|
-
"thumbnailSmall"
|
|
18602
|
+
"thumbnailSmall",
|
|
18603
|
+
"sceneFrame"
|
|
18578
18604
|
]);
|
|
18579
18605
|
/**
|
|
18580
18606
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -31405,12 +31431,6 @@ Object.freeze({
|
|
|
31405
31431
|
addonId: null,
|
|
31406
31432
|
access: "view"
|
|
31407
31433
|
},
|
|
31408
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
31409
|
-
capName: "metrics-provider",
|
|
31410
|
-
capScope: "system",
|
|
31411
|
-
addonId: null,
|
|
31412
|
-
access: "create"
|
|
31413
|
-
},
|
|
31414
31434
|
"metricsProvider.getAddonStats": {
|
|
31415
31435
|
capName: "metrics-provider",
|
|
31416
31436
|
capScope: "system",
|
package/dist/smtp.addon.mjs
CHANGED
|
@@ -13276,6 +13276,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13276
13276
|
auth: "admin"
|
|
13277
13277
|
});
|
|
13278
13278
|
/**
|
|
13279
|
+
* Transport bounds for AI capability methods.
|
|
13280
|
+
*
|
|
13281
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13282
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13283
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13284
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13285
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13286
|
+
*/
|
|
13287
|
+
/**
|
|
13288
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13289
|
+
*
|
|
13290
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13291
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13292
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13293
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13294
|
+
* the wrong layer and hiding the real one.
|
|
13295
|
+
*
|
|
13296
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13297
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13298
|
+
* exactly 60 s and shipped without its text.
|
|
13299
|
+
*
|
|
13300
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13301
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13302
|
+
* decide when to stop, because only they can say WHY.
|
|
13303
|
+
*/
|
|
13304
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13305
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13306
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13307
|
+
/**
|
|
13279
13308
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13280
13309
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13281
13310
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13547,16 +13576,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13547
13576
|
timeoutMs: number().int().positive().optional()
|
|
13548
13577
|
}), LlmGenerateResultSchema, {
|
|
13549
13578
|
kind: "mutation",
|
|
13550
|
-
auth: "admin"
|
|
13579
|
+
auth: "admin",
|
|
13580
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13551
13581
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13552
13582
|
kind: "mutation",
|
|
13553
|
-
auth: "admin"
|
|
13583
|
+
auth: "admin",
|
|
13584
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13554
13585
|
}), method(object({}), _void(), {
|
|
13555
13586
|
kind: "mutation",
|
|
13556
13587
|
auth: "admin"
|
|
13557
13588
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13558
13589
|
kind: "mutation",
|
|
13559
|
-
auth: "admin"
|
|
13590
|
+
auth: "admin",
|
|
13591
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13560
13592
|
}), method(object({ file: string() }), _void(), {
|
|
13561
13593
|
kind: "mutation",
|
|
13562
13594
|
auth: "admin"
|
|
@@ -13724,7 +13756,13 @@ var ProfileRefInputSchema = object({
|
|
|
13724
13756
|
addonId: string(),
|
|
13725
13757
|
profileId: string()
|
|
13726
13758
|
});
|
|
13727
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13759
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13760
|
+
kind: "mutation",
|
|
13761
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13762
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
13763
|
+
kind: "mutation",
|
|
13764
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13765
|
+
}), method(object({
|
|
13728
13766
|
addonId: string().optional(),
|
|
13729
13767
|
requestId: string()
|
|
13730
13768
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13735,7 +13773,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13735
13773
|
auth: "admin"
|
|
13736
13774
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13737
13775
|
kind: "mutation",
|
|
13738
|
-
auth: "admin"
|
|
13776
|
+
auth: "admin",
|
|
13777
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13739
13778
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13740
13779
|
selector: LlmDefaultSelectorSchema,
|
|
13741
13780
|
profileId: string().nullable()
|
|
@@ -14201,17 +14240,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14201
14240
|
*/
|
|
14202
14241
|
gpuShmemBytes: number().nullable()
|
|
14203
14242
|
}).extend({ atMs: number() });
|
|
14204
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14205
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14206
|
-
addonId: string() });
|
|
14207
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14208
|
-
success: boolean(),
|
|
14209
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14210
|
-
path: string().optional(),
|
|
14211
|
-
/** Process pid that was signalled. */
|
|
14212
|
-
pid: number().optional(),
|
|
14213
|
-
reason: string().optional()
|
|
14214
|
-
});
|
|
14215
14243
|
/**
|
|
14216
14244
|
* One point of one function's series.
|
|
14217
14245
|
*
|
|
@@ -14335,10 +14363,7 @@ var SystemMetricsSchema = object({
|
|
|
14335
14363
|
gpuPercent: number().optional(),
|
|
14336
14364
|
gpuMemoryPercent: number().optional()
|
|
14337
14365
|
});
|
|
14338
|
-
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)
|
|
14339
|
-
kind: "mutation",
|
|
14340
|
-
auth: "admin"
|
|
14341
|
-
});
|
|
14366
|
+
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);
|
|
14342
14367
|
method(object({
|
|
14343
14368
|
sourceUrl: string(),
|
|
14344
14369
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -18572,7 +18597,8 @@ var MediaFileKindEnum = _enum([
|
|
|
18572
18597
|
"plateCrop",
|
|
18573
18598
|
"keyFrame",
|
|
18574
18599
|
"keyFrameSmall",
|
|
18575
|
-
"thumbnailSmall"
|
|
18600
|
+
"thumbnailSmall",
|
|
18601
|
+
"sceneFrame"
|
|
18576
18602
|
]);
|
|
18577
18603
|
/**
|
|
18578
18604
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -31403,12 +31429,6 @@ Object.freeze({
|
|
|
31403
31429
|
addonId: null,
|
|
31404
31430
|
access: "view"
|
|
31405
31431
|
},
|
|
31406
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
31407
|
-
capName: "metrics-provider",
|
|
31408
|
-
capScope: "system",
|
|
31409
|
-
addonId: null,
|
|
31410
|
-
access: "create"
|
|
31411
|
-
},
|
|
31412
31432
|
"metricsProvider.getAddonStats": {
|
|
31413
31433
|
capName: "metrics-provider",
|
|
31414
31434
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-smtp-nodemailer",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.55",
|
|
4
4
|
"description": "SMTP email provider addon for CamStack — wraps `nodemailer` and registers a `smtp-provider` cap collection entry. Used by magic-link login + notifier addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|