@dereekb/firebase-server 13.19.0 → 13.21.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,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/mailgun",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.19.0",
6
- "@dereekb/firebase": "13.19.0",
7
- "@dereekb/firebase-server": "13.19.0",
8
- "@dereekb/date": "13.19.0",
9
- "@dereekb/nestjs": "13.19.0",
10
- "@dereekb/model": "13.19.0",
11
- "@dereekb/rxjs": "13.19.0",
12
- "@dereekb/util": "13.19.0"
5
+ "@dereekb/analytics": "13.21.0",
6
+ "@dereekb/firebase": "13.21.0",
7
+ "@dereekb/firebase-server": "13.21.0",
8
+ "@dereekb/date": "13.21.0",
9
+ "@dereekb/nestjs": "13.21.0",
10
+ "@dereekb/model": "13.21.0",
11
+ "@dereekb/rxjs": "13.21.0",
12
+ "@dereekb/util": "13.21.0"
13
13
  },
14
14
  "exports": {
15
15
  "./package.json": "./package.json",
package/mcp/index.cjs.js CHANGED
@@ -487,7 +487,7 @@ function _unsupported_iterable_to_array$9(o, minLen) {
487
487
  * Version stamp embedded in `route.manifest.json`. Runtime loaders refuse
488
488
  * manifests whose `version` does not match. Mirror in `@dereekb/dbx-cli`'s
489
489
  * `ROUTE_MANIFEST_VERSION` — bump both together.
490
- */ var ROUTE_MANIFEST_VERSION = 1;
490
+ */ var ROUTE_MANIFEST_VERSION = 2;
491
491
  /**
492
492
  * Extracts the normalized pathname from a full URL or a bare path. Strips the
493
493
  * scheme/host/port, query string, and hash; collapses an empty path to `/` and
@@ -4171,6 +4171,11 @@ function _ts_generator$4(thisArg, body) {
4171
4171
  /**
4172
4172
  * Placeholder segment standing for the caller's authenticated uid.
4173
4173
  */ var AUTH_UID_PLACEHOLDER = '{authUid}';
4174
+ /**
4175
+ * Matches a `{flatKey:<param>}` key template, capturing the route param whose
4176
+ * URL value is a whole two-way-flat FirestoreModelKey. Mirror of the build-time
4177
+ * `FLAT_KEY_TOKEN_RE` in `@dereekb/dbx-cli`'s route-model-tag parser.
4178
+ */ var FLAT_KEY_TEMPLATE_RE = RegExp("^\\{flatKey:([a-zA-Z_][a-zA-Z0-9_]*)\\}$", "u");
4174
4179
  // MARK: Factory
4175
4180
  /**
4176
4181
  * Builds the built-in `url-models` MCP tool definition.
@@ -4449,6 +4454,8 @@ function resolveModelEntry(input) {
4449
4454
  result = base;
4450
4455
  } else if (entry.kind === 'id') {
4451
4456
  result = _object_spread$1({}, base, resolveIdKey(input));
4457
+ } else if (entry.kind === 'flatKey') {
4458
+ result = _object_spread$1({}, base, resolveFlatKey(input));
4452
4459
  } else {
4453
4460
  result = _object_spread$1({}, base, resolveFullKey(input));
4454
4461
  }
@@ -4487,6 +4494,57 @@ function resolveIdKey(input) {
4487
4494
  }
4488
4495
  return result;
4489
4496
  }
4497
+ function resolveFlatKey(input) {
4498
+ var _entry_keyTemplate;
4499
+ var entry = input.entry, params = input.params;
4500
+ var match = FLAT_KEY_TEMPLATE_RE.exec((_entry_keyTemplate = entry.keyTemplate) !== null && _entry_keyTemplate !== void 0 ? _entry_keyTemplate : '');
4501
+ var result;
4502
+ if (match === null) {
4503
+ var _entry_keyTemplate1;
4504
+ // Defensive: a flatKey entry whose template is not `{flatKey:<param>}` (a malformed manifest).
4505
+ result = {
4506
+ unresolved: {
4507
+ reason: 'invalid-flat-key',
4508
+ message: "Model `".concat(entry.modelType, "` is a flatKey binding but its key template `").concat((_entry_keyTemplate1 = entry.keyTemplate) !== null && _entry_keyTemplate1 !== void 0 ? _entry_keyTemplate1 : '', "` is not `{flatKey:<param>}`.")
4509
+ }
4510
+ };
4511
+ } else {
4512
+ var paramName = match[1];
4513
+ var value = params[paramName];
4514
+ if (value === undefined || value.length === 0) {
4515
+ result = {
4516
+ unresolved: {
4517
+ reason: 'missing-param',
4518
+ message: "Route param `:".concat(paramName, "` (the flattened model key) was not captured from the URL.")
4519
+ }
4520
+ };
4521
+ } else {
4522
+ // The param value IS a two-way-flat key (`r_<id>_cs_<id>`); un-flatten it back to `r/<id>/cs/<id>`.
4523
+ var key = firebase.inferKeyFromTwoWayFlatFirestoreModelKey(value);
4524
+ result = isEvenSegmentKey(key) ? {
4525
+ key: key
4526
+ } : {
4527
+ unresolved: {
4528
+ reason: 'invalid-flat-key',
4529
+ message: "Route param `:".concat(paramName, "` did not decode to a valid FirestoreModelKey (got `").concat(key, "`).")
4530
+ }
4531
+ };
4532
+ }
4533
+ }
4534
+ return result;
4535
+ }
4536
+ /**
4537
+ * Whether a decoded key has the shape of a FirestoreModelKey: a non-empty,
4538
+ * even number of `/`-separated segments (collection/id pairs).
4539
+ *
4540
+ * @param key - The decoded (un-flattened) key.
4541
+ * @returns True when the key has an even, non-zero segment count.
4542
+ */ function isEvenSegmentKey(key) {
4543
+ var segments = key.split('/').filter(function(s) {
4544
+ return s.length > 0;
4545
+ });
4546
+ return segments.length >= 2 && segments.length % 2 === 0;
4547
+ }
4490
4548
  function resolveFullKey(input) {
4491
4549
  var _entry_keyTemplate;
4492
4550
  var entry = input.entry, params = input.params, uid = input.uid;
package/mcp/index.esm.js CHANGED
@@ -7,7 +7,7 @@ import { makeValuesGroupMap, performAsyncTasks, authRolesSetHasRoles } from '@de
7
7
  import { ModelApiCallModelDispatchService, ModelApiGetService, FirebaseServerStorageService, FirebaseServerEnvService, FirebaseServerAnalyticsService } from '@dereekb/firebase-server';
8
8
  import { inspect } from 'node:util';
9
9
  import { arktypeToJsonSchemaForExport } from '@dereekb/model';
10
- import { callModelOidcScopeForCallType } from '@dereekb/firebase';
10
+ import { callModelOidcScopeForCallType, inferKeyFromTwoWayFlatFirestoreModelKey } from '@dereekb/firebase';
11
11
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
12
12
 
13
13
  function _class_call_check$5(instance, Constructor) {
@@ -485,7 +485,7 @@ function _unsupported_iterable_to_array$9(o, minLen) {
485
485
  * Version stamp embedded in `route.manifest.json`. Runtime loaders refuse
486
486
  * manifests whose `version` does not match. Mirror in `@dereekb/dbx-cli`'s
487
487
  * `ROUTE_MANIFEST_VERSION` — bump both together.
488
- */ var ROUTE_MANIFEST_VERSION = 1;
488
+ */ var ROUTE_MANIFEST_VERSION = 2;
489
489
  /**
490
490
  * Extracts the normalized pathname from a full URL or a bare path. Strips the
491
491
  * scheme/host/port, query string, and hash; collapses an empty path to `/` and
@@ -4169,6 +4169,11 @@ function _ts_generator$4(thisArg, body) {
4169
4169
  /**
4170
4170
  * Placeholder segment standing for the caller's authenticated uid.
4171
4171
  */ var AUTH_UID_PLACEHOLDER = '{authUid}';
4172
+ /**
4173
+ * Matches a `{flatKey:<param>}` key template, capturing the route param whose
4174
+ * URL value is a whole two-way-flat FirestoreModelKey. Mirror of the build-time
4175
+ * `FLAT_KEY_TOKEN_RE` in `@dereekb/dbx-cli`'s route-model-tag parser.
4176
+ */ var FLAT_KEY_TEMPLATE_RE = RegExp("^\\{flatKey:([a-zA-Z_][a-zA-Z0-9_]*)\\}$", "u");
4172
4177
  // MARK: Factory
4173
4178
  /**
4174
4179
  * Builds the built-in `url-models` MCP tool definition.
@@ -4447,6 +4452,8 @@ function resolveModelEntry(input) {
4447
4452
  result = base;
4448
4453
  } else if (entry.kind === 'id') {
4449
4454
  result = _object_spread$1({}, base, resolveIdKey(input));
4455
+ } else if (entry.kind === 'flatKey') {
4456
+ result = _object_spread$1({}, base, resolveFlatKey(input));
4450
4457
  } else {
4451
4458
  result = _object_spread$1({}, base, resolveFullKey(input));
4452
4459
  }
@@ -4485,6 +4492,57 @@ function resolveIdKey(input) {
4485
4492
  }
4486
4493
  return result;
4487
4494
  }
4495
+ function resolveFlatKey(input) {
4496
+ var _entry_keyTemplate;
4497
+ var entry = input.entry, params = input.params;
4498
+ var match = FLAT_KEY_TEMPLATE_RE.exec((_entry_keyTemplate = entry.keyTemplate) !== null && _entry_keyTemplate !== void 0 ? _entry_keyTemplate : '');
4499
+ var result;
4500
+ if (match === null) {
4501
+ var _entry_keyTemplate1;
4502
+ // Defensive: a flatKey entry whose template is not `{flatKey:<param>}` (a malformed manifest).
4503
+ result = {
4504
+ unresolved: {
4505
+ reason: 'invalid-flat-key',
4506
+ message: "Model `".concat(entry.modelType, "` is a flatKey binding but its key template `").concat((_entry_keyTemplate1 = entry.keyTemplate) !== null && _entry_keyTemplate1 !== void 0 ? _entry_keyTemplate1 : '', "` is not `{flatKey:<param>}`.")
4507
+ }
4508
+ };
4509
+ } else {
4510
+ var paramName = match[1];
4511
+ var value = params[paramName];
4512
+ if (value === undefined || value.length === 0) {
4513
+ result = {
4514
+ unresolved: {
4515
+ reason: 'missing-param',
4516
+ message: "Route param `:".concat(paramName, "` (the flattened model key) was not captured from the URL.")
4517
+ }
4518
+ };
4519
+ } else {
4520
+ // The param value IS a two-way-flat key (`r_<id>_cs_<id>`); un-flatten it back to `r/<id>/cs/<id>`.
4521
+ var key = inferKeyFromTwoWayFlatFirestoreModelKey(value);
4522
+ result = isEvenSegmentKey(key) ? {
4523
+ key: key
4524
+ } : {
4525
+ unresolved: {
4526
+ reason: 'invalid-flat-key',
4527
+ message: "Route param `:".concat(paramName, "` did not decode to a valid FirestoreModelKey (got `").concat(key, "`).")
4528
+ }
4529
+ };
4530
+ }
4531
+ }
4532
+ return result;
4533
+ }
4534
+ /**
4535
+ * Whether a decoded key has the shape of a FirestoreModelKey: a non-empty,
4536
+ * even number of `/`-separated segments (collection/id pairs).
4537
+ *
4538
+ * @param key - The decoded (un-flattened) key.
4539
+ * @returns True when the key has an even, non-zero segment count.
4540
+ */ function isEvenSegmentKey(key) {
4541
+ var segments = key.split('/').filter(function(s) {
4542
+ return s.length > 0;
4543
+ });
4544
+ return segments.length >= 2 && segments.length % 2 === 0;
4545
+ }
4488
4546
  function resolveFullKey(input) {
4489
4547
  var _entry_keyTemplate;
4490
4548
  var entry = input.entry, params = input.params, uid = input.uid;
package/mcp/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/mcp",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.19.0",
6
- "@dereekb/date": "13.19.0",
7
- "@dereekb/firebase": "13.19.0",
8
- "@dereekb/firebase-server": "13.19.0",
9
- "@dereekb/firebase-server/oidc": "13.19.0",
10
- "@dereekb/model": "13.19.0",
11
- "@dereekb/nestjs": "13.19.0",
12
- "@dereekb/rxjs": "13.19.0",
13
- "@dereekb/util": "13.19.0",
14
- "@dereekb/zoho": "13.19.0",
5
+ "@dereekb/analytics": "13.21.0",
6
+ "@dereekb/date": "13.21.0",
7
+ "@dereekb/firebase": "13.21.0",
8
+ "@dereekb/firebase-server": "13.21.0",
9
+ "@dereekb/firebase-server/oidc": "13.21.0",
10
+ "@dereekb/model": "13.21.0",
11
+ "@dereekb/nestjs": "13.21.0",
12
+ "@dereekb/rxjs": "13.21.0",
13
+ "@dereekb/util": "13.21.0",
14
+ "@dereekb/zoho": "13.21.0",
15
15
  "@modelcontextprotocol/sdk": "1.29.0",
16
16
  "@nestjs/common": "^11.1.19",
17
17
  "@nestjs/core": "^11.1.19",
@@ -1 +1,19 @@
1
+ /**
2
+ * Public entry for `@dereekb/firebase-server/mcp`.
3
+ *
4
+ * Packaging note: the published `exports["./mcp"]` maps the `import` condition to
5
+ * the real ESM build (`./mcp/index.esm.js`), NOT the `.cjs.mjs` CJS re-export
6
+ * shim, so a downstream `import { matchRouteManifestUrl, ROUTE_MANIFEST_VERSION }
7
+ * from '@dereekb/firebase-server/mcp'` exposes statically-analyzable named
8
+ * exports under vitest. The shim (`export * from './index.cjs.js'`) resolved to
9
+ * `undefined` for this subpath under vitest's externalized SSR resolution, while
10
+ * plain Node and the root `@dereekb/firebase-server` entry were unaffected.
11
+ * `require` / the `default` condition still resolves to the CJS build for CJS
12
+ * consumers (the NestJS server runtime).
13
+ *
14
+ * Fallback: if a downstream still sees undefined named imports (e.g. consuming a
15
+ * build that predates this fix), inline the package in its vitest config so Vite
16
+ * transforms it through the `module` (ESM) condition:
17
+ * `test: { server: { deps: { inline: [/@dereekb\/firebase-server/] } } }`.
18
+ */
1
19
  export * from './lib';
@@ -12,12 +12,13 @@
12
12
  * manifests whose `version` does not match. Mirror in `@dereekb/dbx-cli`'s
13
13
  * `ROUTE_MANIFEST_VERSION` — bump both together.
14
14
  */
15
- export declare const ROUTE_MANIFEST_VERSION: 1;
15
+ export declare const ROUTE_MANIFEST_VERSION: 2;
16
16
  /**
17
- * Whether a route-model entry resolves to a promoted id, a full key, or a
18
- * keyless list. Mirror of `@dereekb/dbx-cli`'s `RouteModelKind`.
17
+ * Whether a route-model entry resolves to a promoted id, a full key, a
18
+ * single-param flattened key, or a keyless list. Mirror of `@dereekb/dbx-cli`'s
19
+ * `RouteModelKind`.
19
20
  */
20
- export type RouteModelKind = 'id' | 'key' | 'list';
21
+ export type RouteModelKind = 'id' | 'key' | 'flatKey' | 'list';
21
22
  /**
22
23
  * One model an app page renders. Structural mirror of `@dereekb/dbx-cli`'s
23
24
  * `RouteManifestModelEntry`.
@@ -19,7 +19,7 @@ export declare const URL_MODELS_DISPATCH_MODEL_TYPE = "route";
19
19
  /**
20
20
  * Why a model binding could not be resolved into a concrete key.
21
21
  */
22
- export type UrlModelUnresolvedReason = 'missing-param' | 'subcollection-requires-key-template' | 'unknown-model-type' | 'auth-required';
22
+ export type UrlModelUnresolvedReason = 'missing-param' | 'subcollection-requires-key-template' | 'unknown-model-type' | 'auth-required' | 'invalid-flat-key';
23
23
  /**
24
24
  * One resolved model binding for a matched page.
25
25
  */
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/model",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.19.0",
6
- "@dereekb/date": "13.19.0",
7
- "@dereekb/firebase": "13.19.0",
8
- "@dereekb/firebase-server": "13.19.0",
9
- "@dereekb/model": "13.19.0",
10
- "@dereekb/nestjs": "13.19.0",
11
- "@dereekb/rxjs": "13.19.0",
12
- "@dereekb/util": "13.19.0",
5
+ "@dereekb/analytics": "13.21.0",
6
+ "@dereekb/date": "13.21.0",
7
+ "@dereekb/firebase": "13.21.0",
8
+ "@dereekb/firebase-server": "13.21.0",
9
+ "@dereekb/model": "13.21.0",
10
+ "@dereekb/nestjs": "13.21.0",
11
+ "@dereekb/rxjs": "13.21.0",
12
+ "@dereekb/util": "13.21.0",
13
13
  "@nestjs/common": "^11.1.19",
14
14
  "@nestjs/config": "^4.0.4",
15
15
  "archiver": "^7.0.1",
@@ -17,7 +17,7 @@
17
17
  "firebase-functions": "^7.2.5",
18
18
  "make-error": "^1.3.6",
19
19
  "@cantoo/pdf-lib": "^2.6.5",
20
- "sharp": "0.34.5"
20
+ "sharp": "0.35.2"
21
21
  },
22
22
  "exports": {
23
23
  "./package.json": "./package.json",
package/oidc/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/oidc",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.19.0",
6
- "@dereekb/date": "13.19.0",
7
- "@dereekb/firebase": "13.19.0",
8
- "@dereekb/firebase-server": "13.19.0",
9
- "@dereekb/model": "13.19.0",
10
- "@dereekb/nestjs": "13.19.0",
11
- "@dereekb/rxjs": "13.19.0",
12
- "@dereekb/util": "13.19.0",
13
- "@dereekb/zoho": "13.19.0",
5
+ "@dereekb/analytics": "13.21.0",
6
+ "@dereekb/date": "13.21.0",
7
+ "@dereekb/firebase": "13.21.0",
8
+ "@dereekb/firebase-server": "13.21.0",
9
+ "@dereekb/model": "13.21.0",
10
+ "@dereekb/nestjs": "13.21.0",
11
+ "@dereekb/rxjs": "13.21.0",
12
+ "@dereekb/util": "13.21.0",
13
+ "@dereekb/zoho": "13.21.0",
14
14
  "@nestjs/common": "^11.1.19",
15
15
  "@nestjs/config": "^4.0.4",
16
16
  "express": "^5.2.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "sideEffects": false,
5
5
  "exports": {
6
6
  "./test": {
@@ -42,7 +42,7 @@
42
42
  "./mcp": {
43
43
  "module": "./mcp/index.esm.js",
44
44
  "types": "./mcp/index.d.ts",
45
- "import": "./mcp/index.cjs.mjs",
45
+ "import": "./mcp/index.esm.js",
46
46
  "default": "./mcp/index.cjs.js"
47
47
  },
48
48
  "./package.json": "./package.json",
@@ -57,15 +57,15 @@
57
57
  "types": "./src/index.d.ts",
58
58
  "peerDependencies": {
59
59
  "@cantoo/pdf-lib": "^2.6.5",
60
- "@dereekb/analytics": "13.19.0",
61
- "@dereekb/date": "13.19.0",
62
- "@dereekb/dbx-core": "13.19.0",
63
- "@dereekb/firebase": "13.19.0",
64
- "@dereekb/model": "13.19.0",
65
- "@dereekb/nestjs": "13.19.0",
66
- "@dereekb/rxjs": "13.19.0",
67
- "@dereekb/util": "13.19.0",
68
- "@dereekb/zoho": "13.19.0",
60
+ "@dereekb/analytics": "13.21.0",
61
+ "@dereekb/date": "13.21.0",
62
+ "@dereekb/dbx-core": "13.21.0",
63
+ "@dereekb/firebase": "13.21.0",
64
+ "@dereekb/model": "13.21.0",
65
+ "@dereekb/nestjs": "13.21.0",
66
+ "@dereekb/rxjs": "13.21.0",
67
+ "@dereekb/util": "13.21.0",
68
+ "@dereekb/zoho": "13.21.0",
69
69
  "@google-cloud/firestore": "^7.11.6",
70
70
  "@google-cloud/storage": "^7.19.0",
71
71
  "@modelcontextprotocol/sdk": "1.29.0",
@@ -86,7 +86,7 @@
86
86
  "nanoid": "^5.1.9",
87
87
  "oidc-provider": "^9.8.2",
88
88
  "rxjs": "^7.8.2",
89
- "sharp": "0.34.5",
89
+ "sharp": "0.35.2",
90
90
  "supertest": "^7.2.2",
91
91
  "ts-essentials": "^10.2.0"
92
92
  },
package/test/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.19.0",
6
- "@dereekb/date": "13.19.0",
7
- "@dereekb/firebase": "13.19.0",
8
- "@dereekb/firebase-server": "13.19.0",
9
- "@dereekb/firebase-server/oidc": "13.19.0",
10
- "@dereekb/model": "13.19.0",
11
- "@dereekb/nestjs": "13.19.0",
12
- "@dereekb/rxjs": "13.19.0",
13
- "@dereekb/util": "13.19.0",
5
+ "@dereekb/analytics": "13.21.0",
6
+ "@dereekb/date": "13.21.0",
7
+ "@dereekb/firebase": "13.21.0",
8
+ "@dereekb/firebase-server": "13.21.0",
9
+ "@dereekb/firebase-server/oidc": "13.21.0",
10
+ "@dereekb/model": "13.21.0",
11
+ "@dereekb/nestjs": "13.21.0",
12
+ "@dereekb/rxjs": "13.21.0",
13
+ "@dereekb/util": "13.21.0",
14
14
  "@google-cloud/firestore": "^7.11.6",
15
15
  "@google-cloud/storage": "^7.19.0",
16
16
  "@nestjs/common": "^11.1.19",
@@ -23,7 +23,7 @@
23
23
  "supertest": "^7.2.2"
24
24
  },
25
25
  "devDependencies": {
26
- "@dereekb/nestjs": "13.19.0"
26
+ "@dereekb/nestjs": "13.21.0"
27
27
  },
28
28
  "exports": {
29
29
  "./package.json": "./package.json",
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/twilio",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "peerDependencies": {
5
- "@dereekb/date": "13.19.0",
6
- "@dereekb/firebase": "13.19.0",
7
- "@dereekb/firebase-server": "13.19.0",
8
- "@dereekb/model": "13.19.0",
9
- "@dereekb/nestjs": "13.19.0",
10
- "@dereekb/rxjs": "13.19.0",
11
- "@dereekb/util": "13.19.0"
5
+ "@dereekb/date": "13.21.0",
6
+ "@dereekb/firebase": "13.21.0",
7
+ "@dereekb/firebase-server": "13.21.0",
8
+ "@dereekb/model": "13.21.0",
9
+ "@dereekb/nestjs": "13.21.0",
10
+ "@dereekb/rxjs": "13.21.0",
11
+ "@dereekb/util": "13.21.0"
12
12
  },
13
13
  "exports": {
14
14
  "./package.json": "./package.json",
package/zoho/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/zoho",
3
- "version": "13.19.0",
3
+ "version": "13.21.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.19.0",
6
- "@dereekb/date": "13.19.0",
7
- "@dereekb/model": "13.19.0",
8
- "@dereekb/nestjs": "13.19.0",
9
- "@dereekb/rxjs": "13.19.0",
10
- "@dereekb/firebase": "13.19.0",
11
- "@dereekb/util": "13.19.0",
12
- "@dereekb/zoho": "13.19.0"
5
+ "@dereekb/analytics": "13.21.0",
6
+ "@dereekb/date": "13.21.0",
7
+ "@dereekb/model": "13.21.0",
8
+ "@dereekb/nestjs": "13.21.0",
9
+ "@dereekb/rxjs": "13.21.0",
10
+ "@dereekb/firebase": "13.21.0",
11
+ "@dereekb/util": "13.21.0",
12
+ "@dereekb/zoho": "13.21.0"
13
13
  },
14
14
  "exports": {
15
15
  "./package.json": "./package.json",