@dereekb/nestjs 13.41.0 → 13.42.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.
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/eslint",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/util": "13.41.0",
6
+ "@dereekb/util": "13.42.0",
7
7
  "@typescript-eslint/utils": "8.59.3"
8
8
  },
9
9
  "devDependencies": {
@@ -1602,14 +1602,69 @@ function _unsupported_iterable_to_array(o, minLen) {
1602
1602
  *
1603
1603
  * @param config - Factory configuration providing the base request, recipient lookup, and per-recipient variable handling.
1604
1604
  * @returns A factory that expands `MailgunRecipientBatchSendTarget` lists into individual `MailgunTemplateEmailRequest` objects.
1605
- * @throws {Error} When no subject is configured and `useSubjectFromRecipientUserVariables` is false.
1605
+ * @throws {Error} When no subject is configured and `useSubjectFromRecipientUserVariables` is false, or when `throwOnUnresolvedEntityKeys` is set and the base request or a recipient carries an entity key that no configured lookup can resolve.
1606
1606
  */ function expandMailgunRecipientBatchSendTargetRequestFactory(config) {
1607
1607
  var _inputBaseRequest_from, _inputBaseRequest_replyTo;
1608
- var inputBaseRequest = config.request, useSubjectFromRecipientUserVariables = config.useSubjectFromRecipientUserVariables, allowSingleRecipientBatchSendRequests = config.allowSingleRecipientBatchSendRequests, recipientVariablesConfig = config.recipientVariablesConfig, mailgunRecipientBatchSendTargetEntityKeyRecipientLookup = config.mailgunRecipientBatchSendTargetEntityKeyRecipientLookup, overrideCarbonCopyVariablesWithCarbonCopyKeyRecipients = config.overrideCarbonCopyVariablesWithCarbonCopyKeyRecipients;
1608
+ var inputBaseRequest = config.request, useSubjectFromRecipientUserVariables = config.useSubjectFromRecipientUserVariables, allowSingleRecipientBatchSendRequests = config.allowSingleRecipientBatchSendRequests, recipientVariablesConfig = config.recipientVariablesConfig, mailgunRecipientBatchSendTargetEntityKeyRecipientLookup = config.mailgunRecipientBatchSendTargetEntityKeyRecipientLookup, overrideCarbonCopyVariablesWithCarbonCopyKeyRecipients = config.overrideCarbonCopyVariablesWithCarbonCopyKeyRecipients, overrideAttachmentsWithRecipientAttachments = config.overrideAttachmentsWithRecipientAttachments, throwOnUnresolvedEntityKeys = config.throwOnUnresolvedEntityKeys;
1609
1609
  var defaultSubject = inputBaseRequest.subject;
1610
1610
  if (!defaultSubject && !useSubjectFromRecipientUserVariables) {
1611
1611
  throw new Error('defaultSubject must be set when "useSubjectFromRecipientUserVariables" is false');
1612
1612
  }
1613
+ var recipientsMap = mailgunRecipientBatchSendTargetEntityKeyRecipientLookup === null || mailgunRecipientBatchSendTargetEntityKeyRecipientLookup === void 0 ? void 0 : mailgunRecipientBatchSendTargetEntityKeyRecipientLookup.recipientsMap;
1614
+ /**
1615
+ * Returns every entity key on the input that no configured lookup can resolve.
1616
+ *
1617
+ * The map is consulted directly because neither getRecipientOrDefaultForKey() nor getRecipientsForKeys() reports a
1618
+ * miss; both fall back silently. A partially resolved ccKeys/bccKeys counts too, since a single mistyped key there
1619
+ * drops a carbon copy recipient just as quietly.
1620
+ *
1621
+ * @param carrier - The base request or recipient whose keys are checked.
1622
+ * @returns The unresolved keys, paired with the field each was found on.
1623
+ */ function unresolvedEntityKeysFor(carrier) {
1624
+ var unresolved = [];
1625
+ function collectUnresolvedKeys(field, keys) {
1626
+ if (keys != null) {
1627
+ asArray(keys).forEach(function(key) {
1628
+ if (!(recipientsMap === null || recipientsMap === void 0 ? void 0 : recipientsMap.has(key))) {
1629
+ unresolved.push({
1630
+ field: field,
1631
+ key: key
1632
+ });
1633
+ }
1634
+ });
1635
+ }
1636
+ }
1637
+ collectUnresolvedKeys('fromKey', carrier.fromKey);
1638
+ collectUnresolvedKeys('replyToKey', carrier.replyToKey);
1639
+ collectUnresolvedKeys('ccKeys', carrier.ccKeys);
1640
+ collectUnresolvedKeys('bccKeys', carrier.bccKeys);
1641
+ return unresolved;
1642
+ }
1643
+ /**
1644
+ * Throws or warns about unresolved entity keys, depending on throwOnUnresolvedEntityKeys.
1645
+ *
1646
+ * Reports once for the whole set rather than once per key, so a large batch that shares one bad key does not emit a
1647
+ * line per recipient.
1648
+ *
1649
+ * @param source - Description of what carried the keys, used in the message.
1650
+ * @param unresolved - The unresolved keys to report. Nothing is reported when empty.
1651
+ * @throws {Error} When throwOnUnresolvedEntityKeys is set and at least one unresolved key was given.
1652
+ */ function reportUnresolvedEntityKeys(source, unresolved) {
1653
+ if (unresolved.length > 0) {
1654
+ var describedKeys = Array.from(new Set(unresolved.map(function(param) {
1655
+ var field = param.field, key = param.key;
1656
+ return "".concat(field, ': "').concat(key, '"');
1657
+ }))).join(', ');
1658
+ var reason = recipientsMap ? 'they are absent from the configured mailgunRecipientBatchSendTargetEntityKeyRecipientLookup' : 'no mailgunRecipientBatchSendTargetEntityKeyRecipientLookup was configured';
1659
+ var message = "expandMailgunRecipientBatchSendTargetRequestFactory(): ".concat(source, " specified entity keys that cannot be resolved [").concat(describedKeys, "] because ").concat(reason, ". Unresolved keys are ignored in favor of the base request's values, which sends a valid email from the wrong address.");
1660
+ if (throwOnUnresolvedEntityKeys) {
1661
+ throw new Error(message);
1662
+ } else {
1663
+ console.warn(message);
1664
+ }
1665
+ }
1666
+ }
1667
+ reportUnresolvedEntityKeys('the base request', unresolvedEntityKeysFor(inputBaseRequest));
1613
1668
  /**
1614
1669
  * Returns the carbon copy recipients, based on the input.
1615
1670
  *
@@ -1640,11 +1695,33 @@ function _unsupported_iterable_to_array(o, minLen) {
1640
1695
  });
1641
1696
  var baseRequestFrom = (_inputBaseRequest_from = inputBaseRequest.from) !== null && _inputBaseRequest_from !== void 0 ? _inputBaseRequest_from : mailgunRecipientBatchSendTargetEntityKeyRecipientLookup === null || mailgunRecipientBatchSendTargetEntityKeyRecipientLookup === void 0 ? void 0 : mailgunRecipientBatchSendTargetEntityKeyRecipientLookup.getRecipientOrDefaultForKey(inputBaseRequest.fromKey);
1642
1697
  var baseRequestReplyTo = (_inputBaseRequest_replyTo = inputBaseRequest.replyTo) !== null && _inputBaseRequest_replyTo !== void 0 ? _inputBaseRequest_replyTo : mailgunRecipientBatchSendTargetEntityKeyRecipientLookup === null || mailgunRecipientBatchSendTargetEntityKeyRecipientLookup === void 0 ? void 0 : mailgunRecipientBatchSendTargetEntityKeyRecipientLookup.getRecipientOrDefaultForKey(inputBaseRequest.replyToKey);
1698
+ /**
1699
+ * The attachments every request built by this factory carries, batched or individual.
1700
+ *
1701
+ * Normalized once here so the merge in determineAttachments() has a single array to work from.
1702
+ */ var baseRequestAttachments = inputBaseRequest.attachments ? asArray(inputBaseRequest.attachments) : undefined;
1703
+ /**
1704
+ * Returns the attachments for an individual request, merging the base request's attachments with the recipient's.
1705
+ *
1706
+ * Will return undefined if the array would be empty.
1707
+ *
1708
+ * @param recipientAttachments - The recipient's own attachments, if any.
1709
+ * @returns The attachments for the request, or undefined when there are none.
1710
+ */ function determineAttachments(recipientAttachments) {
1711
+ var attachments;
1712
+ if (recipientAttachments === null || recipientAttachments === void 0 ? void 0 : recipientAttachments.length) {
1713
+ attachments = overrideAttachmentsWithRecipientAttachments ? recipientAttachments : _to_consumable_array(baseRequestAttachments !== null && baseRequestAttachments !== void 0 ? baseRequestAttachments : []).concat(_to_consumable_array(recipientAttachments));
1714
+ } else {
1715
+ attachments = baseRequestAttachments;
1716
+ }
1717
+ return (attachments === null || attachments === void 0 ? void 0 : attachments.length) ? attachments : undefined;
1718
+ }
1643
1719
  var baseRequest = _object_spread_props(_object_spread({}, inputBaseRequest), {
1644
1720
  from: baseRequestFrom,
1645
1721
  replyTo: baseRequestReplyTo,
1646
1722
  cc: baseRequestCc,
1647
- bcc: baseRequestBcc
1723
+ bcc: baseRequestBcc,
1724
+ attachments: baseRequestAttachments
1648
1725
  });
1649
1726
  delete baseRequest.fromKey;
1650
1727
  delete baseRequest.replyToKey;
@@ -1652,6 +1729,7 @@ function _unsupported_iterable_to_array(o, minLen) {
1652
1729
  delete baseRequest.bccKeys;
1653
1730
  var configAllowBatchSend = baseRequest.batchSend !== false;
1654
1731
  return function(inputRecipients) {
1732
+ reportUnresolvedEntityKeys('a recipient', inputRecipients.flatMap(unresolvedEntityKeysFor));
1655
1733
  // Process recipients to resolve keys
1656
1734
  var recipients = inputRecipients.map(function(recipient) {
1657
1735
  var from = recipient.from;
@@ -1680,7 +1758,8 @@ function _unsupported_iterable_to_array(o, minLen) {
1680
1758
  from: from,
1681
1759
  replyTo: replyTo,
1682
1760
  cc: cc,
1683
- bcc: bcc
1761
+ bcc: bcc,
1762
+ attachments: recipient.attachments ? asArray(recipient.attachments) : undefined
1684
1763
  });
1685
1764
  return result;
1686
1765
  });
@@ -1688,9 +1767,11 @@ function _unsupported_iterable_to_array(o, minLen) {
1688
1767
  var nonBatchSendRequests = [];
1689
1768
  var batchSendRequestRecipients = [];
1690
1769
  recipients.forEach(function(recipient) {
1691
- var _recipient_cc, _recipient_bcc;
1692
- var recipientHasCarbonCopy = Boolean(((_recipient_cc = recipient.cc) === null || _recipient_cc === void 0 ? void 0 : _recipient_cc.length) || ((_recipient_bcc = recipient.bcc) === null || _recipient_bcc === void 0 ? void 0 : _recipient_bcc.length));
1693
- if (allowBatchSend && !recipientHasCarbonCopy) {
1770
+ var _recipient_cc, _recipient_bcc, _recipient_attachments;
1771
+ // attachments live on the REQUEST and a MailgunRecipient has no attachment slot, so a recipient carrying its own
1772
+ // cannot ride a shared to[] -- every other recipient of that request would receive it too.
1773
+ var recipientRequiresOwnRequest = Boolean(((_recipient_cc = recipient.cc) === null || _recipient_cc === void 0 ? void 0 : _recipient_cc.length) || ((_recipient_bcc = recipient.bcc) === null || _recipient_bcc === void 0 ? void 0 : _recipient_bcc.length) || ((_recipient_attachments = recipient.attachments) === null || _recipient_attachments === void 0 ? void 0 : _recipient_attachments.length));
1774
+ if (allowBatchSend && !recipientRequiresOwnRequest) {
1694
1775
  // add to batch send recipients
1695
1776
  batchSendRequestRecipients.push(recipient);
1696
1777
  } else {
@@ -1708,6 +1789,7 @@ function _unsupported_iterable_to_array(o, minLen) {
1708
1789
  to: recipient,
1709
1790
  cc: cc,
1710
1791
  bcc: bcc,
1792
+ attachments: determineAttachments(recipient.attachments),
1711
1793
  subject: subject,
1712
1794
  batchSend: false // explicitly disable batch send for non-batch requests
1713
1795
  });
@@ -1729,6 +1811,7 @@ function _unsupported_iterable_to_array(o, minLen) {
1729
1811
  replyTo: firstRecipient.replyTo,
1730
1812
  recipientVariablesConfig: (_baseRequest_recipientVariablesConfig = baseRequest.recipientVariablesConfig) !== null && _baseRequest_recipientVariablesConfig !== void 0 ? _baseRequest_recipientVariablesConfig : recipientVariablesConfig,
1731
1813
  to: groupRecipients,
1814
+ attachments: baseRequestAttachments,
1732
1815
  subject: subject,
1733
1816
  batchSend: true
1734
1817
  });
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/mailgun",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/date": "13.41.0",
7
- "@dereekb/model": "13.41.0",
8
- "@dereekb/nestjs": "13.41.0",
9
- "@dereekb/rxjs": "13.41.0",
10
- "@dereekb/util": "13.41.0",
6
+ "@dereekb/date": "13.42.0",
7
+ "@dereekb/model": "13.42.0",
8
+ "@dereekb/nestjs": "13.42.0",
9
+ "@dereekb/rxjs": "13.42.0",
10
+ "@dereekb/util": "13.42.0",
11
11
  "@nestjs/common": "^11.1.19",
12
12
  "@nestjs/config": "^4.0.4",
13
13
  "form-data": "^4.0.5",
@@ -72,6 +72,18 @@ export interface MailgunFileAttachment {
72
72
  * File data as a buffer or string.
73
73
  */
74
74
  readonly data: CustomFileData;
75
+ /**
76
+ * Content-Type applied to this MIME part, including any parameters.
77
+ *
78
+ * Defaulted by Mailgun (to an "attachment"-flavoured octet stream) when absent, which is right for an
79
+ * ordinary file. It is NOT right for a part whose type is what makes the receiving client act on it:
80
+ * an iTIP calendar invite is only auto-processed when its part is typed
81
+ * `text/calendar; method=REQUEST; charset=utf-8` — the same bytes typed as an octet stream render as a
82
+ * paperclip instead of an invitation.
83
+ *
84
+ * Passes through to mailgun.js's `CustomFile.contentType`, which is appended to the form-data part.
85
+ */
86
+ readonly contentType?: Maybe<string>;
75
87
  }
76
88
  export interface MailgunTemplateEmailRequestTestingParameters {
77
89
  /**
@@ -86,8 +98,11 @@ export interface MailgunTemplateEmailRequestTestingParameters {
86
98
  export interface MailgunTemplateEmailRequest extends MailgunEmailRequest, MailgunTemplateEmailRequestTestingParameters {
87
99
  /**
88
100
  * Attachment(s) to send with the email.
101
+ *
102
+ * Every recipient of the request receives them, so a payload meant for one recipient belongs on that recipient's
103
+ * MailgunRecipientBatchSendTarget "attachments" instead, which expands into its own request.
89
104
  */
90
- readonly attachments?: ArrayOrValue<MailgunFileAttachment>;
105
+ readonly attachments?: Maybe<ArrayOrValue<MailgunFileAttachment>>;
91
106
  /**
92
107
  * Apply/override output message data parameters directly.
93
108
  */
@@ -1,5 +1,5 @@
1
1
  import { type Maybe, type NameEmailPair, type ArrayOrValue } from '@dereekb/util';
2
- import { type MailgunTemplateEmailRequestRecipientVariablesConfig, type MailgunRecipient, type MailgunTemplateEmailRequest } from './mailgun';
2
+ import { type MailgunTemplateEmailRequestRecipientVariablesConfig, type MailgunFileAttachment, type MailgunRecipient, type MailgunTemplateEmailRequest } from './mailgun';
3
3
  /**
4
4
  * The default template subject to use when batch sending emails.
5
5
  *
@@ -65,6 +65,18 @@ export interface MailgunRecipientBatchSendTarget extends MailgunRecipient {
65
65
  * Are merged with bcc when building the request.
66
66
  */
67
67
  readonly bccKeys?: Maybe<ArrayOrValue<MailgunRecipientBatchSendTargetEntityKey>>;
68
+ /**
69
+ * Attachment(s) to send to only this recipient.
70
+ *
71
+ * Attachments live on the REQUEST rather than the recipient, so a target that carries any is expanded into its own
72
+ * request with batch sending disabled, which is the same treatment cc/bcc receive. That is what lets a per-recipient
73
+ * payload -- an iTIP invite whose ATTENDEE names one address, for instance -- ride the same expansion as the
74
+ * recipients that still batch.
75
+ *
76
+ * Are merged with the base request's attachments when building the request, unless
77
+ * "overrideAttachmentsWithRecipientAttachments" is set.
78
+ */
79
+ readonly attachments?: Maybe<ArrayOrValue<MailgunFileAttachment>>;
68
80
  }
69
81
  /**
70
82
  * Composite key from the (lowercased) from/replyTo email addresses used to group MailgunRecipientBatchSendTarget values.
@@ -118,9 +130,35 @@ export interface ExpandMailgunRecipientBatchSendTargetRequestFactoryConfig {
118
130
  * Defaults to false.
119
131
  */
120
132
  readonly overrideCarbonCopyVariablesWithCarbonCopyKeyRecipients?: Maybe<boolean>;
133
+ /**
134
+ * Whether or not to override the base request's attachments with the recipient's attachments.
135
+ *
136
+ * If true, a recipient that carries its own attachments sends ONLY those. By default the two are merged, with the
137
+ * base request's attachments first.
138
+ *
139
+ * Only affects the individual requests that a recipient with attachments is expanded into. A batched request's
140
+ * recipients carry no attachments of their own by definition, so it always sends exactly the base request's.
141
+ *
142
+ * Defaults to false.
143
+ */
144
+ readonly overrideAttachmentsWithRecipientAttachments?: Maybe<boolean>;
145
+ /**
146
+ * Whether or not to throw when an entity key cannot be resolved, either because no lookup is configured or because
147
+ * the key is absent from the configured lookup's map.
148
+ *
149
+ * An unresolved key is invisible downstream: from/replyTo fall back to the base request, and from there to the
150
+ * Mailgun service's default sender, which produces a perfectly VALID message sent from the WRONG address.
151
+ * convertMailgunTemplateEmailRequestToMailgunMessageData() validates only batch sending against cc/bcc, the batch
152
+ * recipient ceiling, and doubly-specified attachments, so it cannot catch this.
153
+ *
154
+ * Defaults to false, in which case the unresolved keys are reported once via console.warn and the fallback behavior
155
+ * is kept.
156
+ */
157
+ readonly throwOnUnresolvedEntityKeys?: Maybe<boolean>;
121
158
  }
122
159
  /**
123
- * Expands each of the input MailgunRecipientTargetWithCarbonCopyData recipients into individual (or grouped, if no cc/bcc is present on the input recipient) MailgunTemplateEmailRequest objects, based on the input configuration.
160
+ * Expands each of the input MailgunRecipientBatchSendTarget recipients into individual (or grouped, if no cc/bcc or
161
+ * attachments are present on the input recipient) MailgunTemplateEmailRequest objects, based on the input configuration.
124
162
  */
125
163
  export type ExpandMailgunRecipientBatchSendTargetRequestFactory = (recipients: MailgunRecipientBatchSendTarget[]) => MailgunTemplateEmailRequest[];
126
164
  /**
@@ -128,7 +166,7 @@ export type ExpandMailgunRecipientBatchSendTargetRequestFactory = (recipients: M
128
166
  *
129
167
  * @param config - Factory configuration providing the base request, recipient lookup, and per-recipient variable handling.
130
168
  * @returns A factory that expands `MailgunRecipientBatchSendTarget` lists into individual `MailgunTemplateEmailRequest` objects.
131
- * @throws {Error} When no subject is configured and `useSubjectFromRecipientUserVariables` is false.
169
+ * @throws {Error} When no subject is configured and `useSubjectFromRecipientUserVariables` is false, or when `throwOnUnresolvedEntityKeys` is set and the base request or a recipient carries an entity key that no configured lookup can resolve.
132
170
  */
133
171
  export declare function expandMailgunRecipientBatchSendTargetRequestFactory(config: ExpandMailgunRecipientBatchSendTargetRequestFactoryConfig): ExpandMailgunRecipientBatchSendTargetRequestFactory;
134
172
  /**
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/openai",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/date": "13.41.0",
7
- "@dereekb/model": "13.41.0",
8
- "@dereekb/nestjs": "13.41.0",
9
- "@dereekb/rxjs": "13.41.0",
10
- "@dereekb/util": "13.41.0",
6
+ "@dereekb/date": "13.42.0",
7
+ "@dereekb/model": "13.42.0",
8
+ "@dereekb/nestjs": "13.42.0",
9
+ "@dereekb/rxjs": "13.42.0",
10
+ "@dereekb/util": "13.42.0",
11
11
  "@nestjs/common": "^11.1.19",
12
12
  "@nestjs/config": "^4.0.4",
13
13
  "express": "^5.2.1",
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/openrouter",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/util": "13.41.0",
7
- "@dereekb/nestjs": "13.41.0",
6
+ "@dereekb/util": "13.42.0",
7
+ "@dereekb/nestjs": "13.42.0",
8
8
  "@nestjs/common": "^11.1.19",
9
9
  "@nestjs/config": "^4.0.4",
10
10
  "express": "^5.2.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./stripe": {
@@ -51,8 +51,8 @@
51
51
  }
52
52
  },
53
53
  "peerDependencies": {
54
- "@dereekb/rxjs": "13.41.0",
55
- "@dereekb/util": "13.41.0",
54
+ "@dereekb/rxjs": "13.42.0",
55
+ "@dereekb/util": "13.42.0",
56
56
  "@nestjs/common": "^11.1.19",
57
57
  "@nestjs/config": "^4.0.4",
58
58
  "@typeform/api-client": "^2.10.2",
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/stripe",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/date": "13.41.0",
7
- "@dereekb/model": "13.41.0",
8
- "@dereekb/nestjs": "13.41.0",
9
- "@dereekb/rxjs": "13.41.0",
10
- "@dereekb/util": "13.41.0",
6
+ "@dereekb/date": "13.42.0",
7
+ "@dereekb/model": "13.42.0",
8
+ "@dereekb/nestjs": "13.42.0",
9
+ "@dereekb/rxjs": "13.42.0",
10
+ "@dereekb/util": "13.42.0",
11
11
  "@nestjs/common": "^11.1.19",
12
12
  "@nestjs/config": "^4.0.4",
13
13
  "express": "^5.2.1",
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/twilio",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/date": "13.41.0",
7
- "@dereekb/model": "13.41.0",
8
- "@dereekb/nestjs": "13.41.0",
9
- "@dereekb/rxjs": "13.41.0",
10
- "@dereekb/util": "13.41.0",
6
+ "@dereekb/date": "13.42.0",
7
+ "@dereekb/model": "13.42.0",
8
+ "@dereekb/nestjs": "13.42.0",
9
+ "@dereekb/rxjs": "13.42.0",
10
+ "@dereekb/util": "13.42.0",
11
11
  "@nestjs/common": "^11.1.19",
12
12
  "@nestjs/config": "^4.0.4",
13
13
  "express": "^5.2.1",
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/typeform",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/date": "13.41.0",
7
- "@dereekb/model": "13.41.0",
8
- "@dereekb/nestjs": "13.41.0",
9
- "@dereekb/rxjs": "13.41.0",
10
- "@dereekb/util": "13.41.0",
6
+ "@dereekb/date": "13.42.0",
7
+ "@dereekb/model": "13.42.0",
8
+ "@dereekb/nestjs": "13.42.0",
9
+ "@dereekb/rxjs": "13.42.0",
10
+ "@dereekb/util": "13.42.0",
11
11
  "@nestjs/common": "^11.1.19",
12
12
  "@nestjs/config": "^4.0.4",
13
13
  "@typeform/api-client": "^2.10.2",
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/nestjs/vapiai",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
- "@dereekb/date": "13.41.0",
7
- "@dereekb/model": "13.41.0",
8
- "@dereekb/nestjs": "13.41.0",
9
- "@dereekb/rxjs": "13.41.0",
10
- "@dereekb/util": "13.41.0",
6
+ "@dereekb/date": "13.42.0",
7
+ "@dereekb/model": "13.42.0",
8
+ "@dereekb/nestjs": "13.42.0",
9
+ "@dereekb/rxjs": "13.42.0",
10
+ "@dereekb/util": "13.42.0",
11
11
  "@nestjs/common": "^11.1.19",
12
12
  "@nestjs/config": "^4.0.4",
13
13
  "@vapi-ai/server-sdk": "^0.11.0",