@warlock.js/notifications 5.24.0 → 5.26.0
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/CHANGELOG.md +12 -0
- package/cjs/index.cjs +1 -1
- package/cjs/rabbitmq-driver-DvWaCPES.cjs +3 -0
- package/cjs/{src-DbAWktJm.cjs → src-BVlqtCR2.cjs} +22 -6
- package/cjs/src-BVlqtCR2.cjs.map +1 -0
- package/esm/herald/src/communicators/broker-registry.mjs.map +1 -1
- package/esm/herald/src/communicators/broker.mjs.map +1 -1
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -1
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -1
- package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs.map +1 -1
- package/esm/herald/src/utils/connect-to-broker.mjs.map +1 -1
- package/esm/seal/src/config.mjs.map +1 -1
- package/esm/seal/src/factory/validate.mjs.map +1 -1
- package/esm/seal/src/factory/validators.mjs +1 -1
- package/esm/seal/src/factory/validators.mjs.map +1 -1
- package/esm/seal/src/helpers/date-helpers.mjs.map +1 -1
- package/esm/seal/src/helpers/get-field-value.mjs.map +1 -1
- package/esm/seal/src/helpers/path-helpers.mjs.map +1 -1
- package/esm/seal/src/mutators/array-mutators.mjs.map +1 -1
- package/esm/seal/src/mutators/date-mutators.mjs.map +1 -1
- package/esm/seal/src/mutators/number-mutators.mjs.map +1 -1
- package/esm/seal/src/mutators/object-mutators.mjs.map +1 -1
- package/esm/seal/src/mutators/scalar-mutators.mjs.map +1 -1
- package/esm/seal/src/mutators/string-mutators.mjs.map +1 -1
- package/esm/seal/src/rules/array/array-rules.mjs.map +1 -1
- package/esm/seal/src/rules/color/color-rules.mjs.map +1 -1
- package/esm/seal/src/rules/common/enum.mjs.map +1 -1
- package/esm/seal/src/rules/common/equals-field-rules.mjs.map +1 -1
- package/esm/seal/src/rules/common/type-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/forbidden-if-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/present-if-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/present-unless-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/present-with-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/present-without-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/required-if-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/required-unless-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/required-with-rules.mjs.map +1 -1
- package/esm/seal/src/rules/conditional/required-without-rules.mjs.map +1 -1
- package/esm/seal/src/rules/core/equal.mjs.map +1 -1
- package/esm/seal/src/rules/core/forbidden.mjs.map +1 -1
- package/esm/seal/src/rules/core/required.mjs.map +1 -1
- package/esm/seal/src/rules/core/union.mjs.map +1 -1
- package/esm/seal/src/rules/core/when.mjs.map +1 -1
- package/esm/seal/src/rules/date/date-comparison-rules.mjs.map +1 -1
- package/esm/seal/src/rules/date/date-day-rules.mjs.map +1 -1
- package/esm/seal/src/rules/date/date-field-comparison-rules.mjs.map +1 -1
- package/esm/seal/src/rules/date/date-period-rules.mjs.map +1 -1
- package/esm/seal/src/rules/date/date-relative-rules.mjs.map +1 -1
- package/esm/seal/src/rules/date/date-special-rules.mjs.map +1 -1
- package/esm/seal/src/rules/date/date.mjs.map +1 -1
- package/esm/seal/src/rules/length/length-rules.mjs.map +1 -1
- package/esm/seal/src/rules/number/number-rules.mjs.map +1 -1
- package/esm/seal/src/rules/scalar/accepted-rule.mjs.map +1 -1
- package/esm/seal/src/rules/scalar/declined-rule.mjs.map +1 -1
- package/esm/seal/src/rules/string/alpha.mjs.map +1 -1
- package/esm/seal/src/rules/string/credit-card.mjs.map +1 -1
- package/esm/seal/src/rules/string/email.mjs.map +1 -1
- package/esm/seal/src/rules/string/pattern.mjs.map +1 -1
- package/esm/seal/src/rules/string/string-comparison.mjs.map +1 -1
- package/esm/seal/src/rules/string/strong-password-rule.mjs.map +1 -1
- package/esm/seal/src/rules/string/url.mjs.map +1 -1
- package/esm/seal/src/rules/string/without-whitespace.mjs.map +1 -1
- package/esm/seal/src/types/date-types.mjs.map +1 -1
- package/esm/seal/src/validators/any-validator.mjs.map +1 -1
- package/esm/seal/src/validators/array-validator.mjs +1 -0
- package/esm/seal/src/validators/array-validator.mjs.map +1 -1
- package/esm/seal/src/validators/base-validator.mjs +12 -1
- package/esm/seal/src/validators/base-validator.mjs.map +1 -1
- package/esm/seal/src/validators/boolean-validator.mjs +1 -0
- package/esm/seal/src/validators/boolean-validator.mjs.map +1 -1
- package/esm/seal/src/validators/date-validator.mjs +1 -0
- package/esm/seal/src/validators/date-validator.mjs.map +1 -1
- package/esm/seal/src/validators/float-validator.mjs.map +1 -1
- package/esm/seal/src/validators/int-validator.mjs.map +1 -1
- package/esm/seal/src/validators/literal-validator.mjs +1 -3
- package/esm/seal/src/validators/literal-validator.mjs.map +1 -1
- package/esm/seal/src/validators/methods/equality-conditional-methods.mjs.map +1 -1
- package/esm/seal/src/validators/methods/forbidden-methods.mjs.map +1 -1
- package/esm/seal/src/validators/methods/present-methods.mjs.map +1 -1
- package/esm/seal/src/validators/methods/required-methods.mjs.map +1 -1
- package/esm/seal/src/validators/number-validator.mjs +1 -0
- package/esm/seal/src/validators/number-validator.mjs.map +1 -1
- package/esm/seal/src/validators/numeric-validator.mjs.map +1 -1
- package/esm/seal/src/validators/object-validator.mjs +1 -1
- package/esm/seal/src/validators/object-validator.mjs.map +1 -1
- package/esm/seal/src/validators/record-validator.mjs.map +1 -1
- package/esm/seal/src/validators/scalar-validator.mjs +1 -0
- package/esm/seal/src/validators/scalar-validator.mjs.map +1 -1
- package/esm/seal/src/validators/string-validator.mjs.map +1 -1
- package/esm/seal/src/validators/tuple-validator.mjs.map +1 -1
- package/esm/seal/src/validators/union-validator.mjs.map +1 -1
- package/llms-full.txt +901 -891
- package/package.json +7 -7
- package/skills/configure-notifications/SKILL.md +138 -138
- package/skills/define-channel/SKILL.md +107 -107
- package/skills/define-notification/SKILL.md +133 -133
- package/skills/observe-notifications/SKILL.md +66 -66
- package/skills/queue-notifications/SKILL.md +110 -110
- package/skills/send-ad-hoc/SKILL.md +95 -95
- package/skills/use-in-app/SKILL.md +172 -172
- package/skills/write-notification-migration/SKILL.md +66 -66
- package/cjs/rabbitmq-driver-C0o3Pz15.cjs +0 -3
- package/cjs/src-DbAWktJm.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to `@warlock.js/notifications` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). `@warlock.js/*` packages are released in lockstep — every package shares the same version number, so a version below may list only the changes that affected this package.
|
|
6
6
|
|
|
7
|
+
## 5.26.0 - 2026-09-30
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Lockstep release; package APIs are unchanged.
|
|
12
|
+
|
|
13
|
+
## 5.25.0 - 2026-09-28
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Lockstep release; package APIs are unchanged.
|
|
18
|
+
|
|
7
19
|
## 5.24.0 - 2026-09-27
|
|
8
20
|
|
|
9
21
|
### Changed
|
package/cjs/index.cjs
CHANGED
|
@@ -988,7 +988,7 @@ Or with your preferred package manager:
|
|
|
988
988
|
async function loadHerald() {
|
|
989
989
|
if (heraldModule) return heraldModule;
|
|
990
990
|
try {
|
|
991
|
-
heraldModule = await Promise.resolve().then(() => require("./src-
|
|
991
|
+
heraldModule = await Promise.resolve().then(() => require("./src-BVlqtCR2.cjs"));
|
|
992
992
|
return heraldModule;
|
|
993
993
|
} catch {
|
|
994
994
|
throw new Error(INSTALL_INSTRUCTIONS);
|
|
@@ -1203,6 +1203,8 @@ var BaseValidator = class {
|
|
|
1203
1203
|
shouldOmit = false;
|
|
1204
1204
|
isNullable = false;
|
|
1205
1205
|
isMutable = false;
|
|
1206
|
+
/** Treat empty or whitespace-only form strings as an absent value. */
|
|
1207
|
+
blankIsMissing = false;
|
|
1206
1208
|
/**
|
|
1207
1209
|
* Catch state — when `hasCatch` is true and validation fails, `catchValue`
|
|
1208
1210
|
* (or its callback result) substitutes for the failed value, and the public
|
|
@@ -1495,8 +1497,10 @@ var BaseValidator = class {
|
|
|
1495
1497
|
cloned.shouldOmit = this.shouldOmit;
|
|
1496
1498
|
cloned.description = this.description;
|
|
1497
1499
|
cloned.attributesText = { ...this.attributesText };
|
|
1500
|
+
cloned.translatedAttributes = { ...this.translatedAttributes };
|
|
1498
1501
|
cloned.isNullable = this.isNullable;
|
|
1499
1502
|
cloned.isOptional = this.isOptional;
|
|
1503
|
+
cloned.blankIsMissing = this.blankIsMissing;
|
|
1500
1504
|
cloned.requiredRule = this.requiredRule;
|
|
1501
1505
|
cloned.catchValue = this.catchValue;
|
|
1502
1506
|
cloned.hasCatch = this.hasCatch;
|
|
@@ -1742,7 +1746,13 @@ var BaseValidator = class {
|
|
|
1742
1746
|
errors: [],
|
|
1743
1747
|
data: null
|
|
1744
1748
|
};
|
|
1745
|
-
const
|
|
1749
|
+
const isBlank = this.blankIsMissing && typeof data === "string" && data.trim() === "";
|
|
1750
|
+
if (isBlank && this.isNullable) return {
|
|
1751
|
+
isValid: true,
|
|
1752
|
+
errors: [],
|
|
1753
|
+
data: null
|
|
1754
|
+
};
|
|
1755
|
+
const valueForRules = (isBlank ? void 0 : data) ?? this.getDefaultValue();
|
|
1746
1756
|
const mutatedData = this.isOptional && valueForRules === void 0 ? void 0 : await this.mutate(valueForRules, context);
|
|
1747
1757
|
const errors = [];
|
|
1748
1758
|
let isValid = true;
|
|
@@ -1781,6 +1791,7 @@ var BaseValidator = class {
|
|
|
1781
1791
|
*/
|
|
1782
1792
|
setRuleAttributesList(rule) {
|
|
1783
1793
|
rule.context.attributesList = typeof this.attributesText[rule.name] === "object" ? this.attributesText[rule.name] : this.attributesText;
|
|
1794
|
+
rule.context.translatedAttributes = this.translatedAttributes;
|
|
1784
1795
|
}
|
|
1785
1796
|
/**
|
|
1786
1797
|
* Standard Schema V1 compliance.
|
|
@@ -5621,6 +5632,7 @@ var ArrayValidator = class extends BaseValidator {
|
|
|
5621
5632
|
constructor(validator, errorMessage) {
|
|
5622
5633
|
super();
|
|
5623
5634
|
this.validator = validator;
|
|
5635
|
+
this.blankIsMissing = true;
|
|
5624
5636
|
this.addMutableRule(arrayRule, errorMessage);
|
|
5625
5637
|
}
|
|
5626
5638
|
/**
|
|
@@ -6688,6 +6700,7 @@ var PrimitiveValidator = class extends BaseValidator {
|
|
|
6688
6700
|
var BooleanValidator = class extends PrimitiveValidator {
|
|
6689
6701
|
constructor(errorMessage) {
|
|
6690
6702
|
super();
|
|
6703
|
+
this.blankIsMissing = true;
|
|
6691
6704
|
this.addMutableRule(booleanRule, errorMessage);
|
|
6692
6705
|
}
|
|
6693
6706
|
/**
|
|
@@ -6961,6 +6974,7 @@ var ComputedValidator = class extends BaseValidator {
|
|
|
6961
6974
|
var DateValidator = class extends BaseValidator {
|
|
6962
6975
|
constructor(errorMessage) {
|
|
6963
6976
|
super();
|
|
6977
|
+
this.blankIsMissing = true;
|
|
6964
6978
|
this.addMutableMutator(dateMutator);
|
|
6965
6979
|
this.addMutableRule(dateRule, errorMessage);
|
|
6966
6980
|
}
|
|
@@ -7593,9 +7607,9 @@ var LiteralValidator = class extends BaseValidator {
|
|
|
7593
7607
|
values;
|
|
7594
7608
|
constructor(values, errorMessage) {
|
|
7595
7609
|
super();
|
|
7610
|
+
this.blankIsMissing = true;
|
|
7596
7611
|
this.values = values;
|
|
7597
7612
|
this.addMutableRule(literalRule, errorMessage, { values });
|
|
7598
|
-
if (values.some((value) => isEmptyValue(value))) this.requiredRule = this.createRule(presentRule);
|
|
7599
7613
|
}
|
|
7600
7614
|
/**
|
|
7601
7615
|
* Check if value is one of the configured literals
|
|
@@ -7766,6 +7780,7 @@ var DiscriminatedUnionValidator = class DiscriminatedUnionValidator extends Base
|
|
|
7766
7780
|
var NumberValidator = class extends PrimitiveValidator {
|
|
7767
7781
|
constructor(errorMessage) {
|
|
7768
7782
|
super();
|
|
7783
|
+
this.blankIsMissing = true;
|
|
7769
7784
|
this.addMutableRule(numberRule, errorMessage);
|
|
7770
7785
|
}
|
|
7771
7786
|
/**
|
|
@@ -8600,7 +8615,7 @@ var ObjectValidator = class ObjectValidator extends BaseValidator {
|
|
|
8600
8615
|
}
|
|
8601
8616
|
const result = await super.validate(mutatedData, context);
|
|
8602
8617
|
if (result.isValid === false) return result;
|
|
8603
|
-
if (
|
|
8618
|
+
if (mutatedData === void 0 || mutatedData === null) return result;
|
|
8604
8619
|
const errors = [];
|
|
8605
8620
|
const validatedData = {};
|
|
8606
8621
|
const validationPromises = Object.entries(this.schema).filter(([, validator]) => !this.isComputedValidator(validator)).map(async ([key, validator]) => {
|
|
@@ -8851,6 +8866,7 @@ var RecordValidator = class extends BaseValidator {
|
|
|
8851
8866
|
var ScalarValidator = class extends PrimitiveValidator {
|
|
8852
8867
|
constructor(errorMessage) {
|
|
8853
8868
|
super();
|
|
8869
|
+
this.blankIsMissing = true;
|
|
8854
8870
|
this.addMutableRule({
|
|
8855
8871
|
name: "scalar",
|
|
8856
8872
|
defaultErrorMessage: "The :input must be a scalar value",
|
|
@@ -9696,7 +9712,7 @@ const v = {
|
|
|
9696
9712
|
* Implementation is loosely typed; the public `ValidatorV.enum`
|
|
9697
9713
|
* surface declares the precise overloads.
|
|
9698
9714
|
*/
|
|
9699
|
-
enum: ((values, errorMessage) => Array.isArray(values) ? new
|
|
9715
|
+
enum: ((values, errorMessage) => Array.isArray(values) ? new ScalarValidator().oneOf(values, errorMessage) : new ScalarValidator().enum(values, errorMessage)),
|
|
9700
9716
|
/** Create a number validator */
|
|
9701
9717
|
number: (errorMessage) => new NumberValidator(errorMessage),
|
|
9702
9718
|
/** Create a numeric validator */
|
|
@@ -10794,7 +10810,7 @@ async function connectToBroker(options) {
|
|
|
10794
10810
|
switch (driverType) {
|
|
10795
10811
|
case "rabbitmq": {
|
|
10796
10812
|
const rabbitOptions = options;
|
|
10797
|
-
const { RabbitMQDriver } = await Promise.resolve().then(() => require("./rabbitmq-driver-
|
|
10813
|
+
const { RabbitMQDriver } = await Promise.resolve().then(() => require("./rabbitmq-driver-DvWaCPES.cjs"));
|
|
10798
10814
|
driver = new RabbitMQDriver(rabbitOptions);
|
|
10799
10815
|
break;
|
|
10800
10816
|
}
|
|
@@ -11118,4 +11134,4 @@ exports.heraldChannel = heraldChannel;
|
|
|
11118
11134
|
exports.pendingSubscribers = pendingSubscribers;
|
|
11119
11135
|
exports.publishEvent = publishEvent;
|
|
11120
11136
|
exports.subscribeConsumer = subscribeConsumer;
|
|
11121
|
-
//# sourceMappingURL=src-
|
|
11137
|
+
//# sourceMappingURL=src-BVlqtCR2.cjs.map
|