@dereekb/firebase-server 13.17.0 → 13.18.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/mailgun/package.json +9 -9
- package/mcp/index.cjs.js +411 -133
- package/mcp/index.esm.js +403 -134
- package/mcp/package.json +11 -11
- package/mcp/src/lib/mcp.config.d.ts +71 -0
- package/mcp/src/lib/service/analytics/mcp.analytics.handler.d.ts +8 -1
- package/mcp/src/lib/service/index.d.ts +1 -0
- package/mcp/src/lib/service/mcp.reason.d.ts +80 -0
- package/mcp/src/lib/service/mcp.server.factory.d.ts +14 -1
- package/mcp/src/lib/service/mcp.tool-generator.d.ts +37 -1
- package/model/package.json +9 -9
- package/oidc/package.json +10 -10
- package/package.json +10 -10
- package/test/package.json +11 -11
- package/twilio/package.json +8 -8
- package/zoho/package.json +9 -9
package/mcp/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/mcp",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.18.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/date": "13.
|
|
7
|
-
"@dereekb/firebase": "13.
|
|
8
|
-
"@dereekb/firebase-server": "13.
|
|
9
|
-
"@dereekb/firebase-server/oidc": "13.
|
|
10
|
-
"@dereekb/model": "13.
|
|
11
|
-
"@dereekb/nestjs": "13.
|
|
12
|
-
"@dereekb/rxjs": "13.
|
|
13
|
-
"@dereekb/util": "13.
|
|
14
|
-
"@dereekb/zoho": "13.
|
|
5
|
+
"@dereekb/analytics": "13.18.0",
|
|
6
|
+
"@dereekb/date": "13.18.0",
|
|
7
|
+
"@dereekb/firebase": "13.18.0",
|
|
8
|
+
"@dereekb/firebase-server": "13.18.0",
|
|
9
|
+
"@dereekb/firebase-server/oidc": "13.18.0",
|
|
10
|
+
"@dereekb/model": "13.18.0",
|
|
11
|
+
"@dereekb/nestjs": "13.18.0",
|
|
12
|
+
"@dereekb/rxjs": "13.18.0",
|
|
13
|
+
"@dereekb/util": "13.18.0",
|
|
14
|
+
"@dereekb/zoho": "13.18.0",
|
|
15
15
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
16
16
|
"@nestjs/common": "^11.1.19",
|
|
17
17
|
"@nestjs/core": "^11.1.19",
|
|
@@ -19,6 +19,66 @@ export declare const DEFAULT_MCP_SERVER_NAME = "dbx-firebase-server-mcp";
|
|
|
19
19
|
* handshake. Apps may override this via {@link McpModuleConfig.serverInstructions}.
|
|
20
20
|
*/
|
|
21
21
|
export declare const DEFAULT_MCP_SERVER_INSTRUCTIONS = "A set of call-model tools generated automatically.";
|
|
22
|
+
/**
|
|
23
|
+
* Default name of the auto-injected reason parameter added to every advertised MCP tool's input
|
|
24
|
+
* schema. See {@link McpReasonParameterConfig.parameterName}.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DEFAULT_MCP_REASON_PARAMETER_NAME = "reason";
|
|
27
|
+
/**
|
|
28
|
+
* Default maximum length (in characters) of the auto-injected reason parameter. Values longer than
|
|
29
|
+
* this are clamped server-side before being forwarded to analytics. See
|
|
30
|
+
* {@link McpReasonParameterConfig.maxLength}.
|
|
31
|
+
*/
|
|
32
|
+
export declare const DEFAULT_MCP_REASON_PARAMETER_MAX_LENGTH = 250;
|
|
33
|
+
/**
|
|
34
|
+
* Default required-ness of the auto-injected reason parameter. See
|
|
35
|
+
* {@link McpReasonParameterConfig.required}.
|
|
36
|
+
*/
|
|
37
|
+
export declare const DEFAULT_MCP_REASON_PARAMETER_REQUIRED = true;
|
|
38
|
+
/**
|
|
39
|
+
* Default description advertised for the auto-injected reason parameter on every tool's input schema.
|
|
40
|
+
* See {@link McpReasonParameterConfig.description}.
|
|
41
|
+
*/
|
|
42
|
+
export declare const DEFAULT_MCP_REASON_PARAMETER_DESCRIPTION = "A brief human-readable reason (\u2264250 chars) explaining why this tool is being called. Recorded for analytics/audit only; not part of the operation.";
|
|
43
|
+
/**
|
|
44
|
+
* Configuration for the auto-injected `reason` parameter the MCP server adds to every advertised
|
|
45
|
+
* tool's input schema.
|
|
46
|
+
*
|
|
47
|
+
* When enabled (the default), the server augments each tool's `inputSchema` with a `reason` string
|
|
48
|
+
* property — a short human-readable justification for the call, surfaced to the model and recorded on
|
|
49
|
+
* the per-call analytics event. The field is stripped from the JSON body before the args are
|
|
50
|
+
* dispatched to the underlying handler, so call-model handlers never receive it.
|
|
51
|
+
*
|
|
52
|
+
* Supplied to {@link McpModuleConfig.reasonParameter} as a full object (to tune individual fields), or
|
|
53
|
+
* as a boolean shorthand (`true` = defaults on, `false` = disabled).
|
|
54
|
+
*/
|
|
55
|
+
export interface McpReasonParameterConfig {
|
|
56
|
+
/**
|
|
57
|
+
* Whether the reason parameter is injected at all. Defaults to `true`. Set `false` to disable
|
|
58
|
+
* (equivalent to `reasonParameter: false`).
|
|
59
|
+
*/
|
|
60
|
+
readonly enabled?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Whether the parameter is marked `required` in the advertised input schema. Defaults to
|
|
63
|
+
* {@link DEFAULT_MCP_REASON_PARAMETER_REQUIRED}.
|
|
64
|
+
*/
|
|
65
|
+
readonly required?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Maximum character length advertised (`maxLength`) and enforced server-side (the forwarded value is
|
|
68
|
+
* clamped). Defaults to {@link DEFAULT_MCP_REASON_PARAMETER_MAX_LENGTH}.
|
|
69
|
+
*/
|
|
70
|
+
readonly maxLength?: number;
|
|
71
|
+
/**
|
|
72
|
+
* Description advertised for the parameter on each tool's input schema. Defaults to
|
|
73
|
+
* {@link DEFAULT_MCP_REASON_PARAMETER_DESCRIPTION}.
|
|
74
|
+
*/
|
|
75
|
+
readonly description?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Name of the injected parameter. Defaults to {@link DEFAULT_MCP_REASON_PARAMETER_NAME} (`'reason'`).
|
|
78
|
+
* Rename to avoid colliding with a handler that legitimately consumes a `reason` input field.
|
|
79
|
+
*/
|
|
80
|
+
readonly parameterName?: string;
|
|
81
|
+
}
|
|
22
82
|
/**
|
|
23
83
|
* Configuration for the firebase-server/mcp module.
|
|
24
84
|
*
|
|
@@ -102,6 +162,17 @@ export declare abstract class McpModuleConfig {
|
|
|
102
162
|
* ` (read-only)` so the client surface reflects the mode.
|
|
103
163
|
*/
|
|
104
164
|
readonly readOnly?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Controls the auto-injected `reason` parameter added to every advertised tool's input schema.
|
|
167
|
+
*
|
|
168
|
+
* Enabled by default (unset / `true` = defaults on). Pass a {@link McpReasonParameterConfig} object
|
|
169
|
+
* to tune `required`, `maxLength`, `description`, or `parameterName`, or `false` to disable it.
|
|
170
|
+
*
|
|
171
|
+
* When enabled, every advertised tool's `inputSchema` carries a required `reason` string the model
|
|
172
|
+
* fills with a short justification for the call. The value is forwarded to analytics and stripped
|
|
173
|
+
* from the dispatched handler body. See {@link McpReasonParameterConfig}.
|
|
174
|
+
*/
|
|
175
|
+
readonly reasonParameter?: McpReasonParameterConfig | boolean;
|
|
105
176
|
}
|
|
106
177
|
/**
|
|
107
178
|
* Signature for the optional role reader the MCP module uses when evaluating
|
|
@@ -58,9 +58,16 @@ export interface McpAnalyticsEvent {
|
|
|
58
58
|
*/
|
|
59
59
|
readonly readOnly?: Maybe<boolean>;
|
|
60
60
|
/**
|
|
61
|
-
* The raw tool arguments passed to the call
|
|
61
|
+
* The raw tool arguments passed to the call, with the auto-injected reason parameter already
|
|
62
|
+
* stripped (so it never appears twice — once here and once on {@link reason}).
|
|
62
63
|
*/
|
|
63
64
|
readonly args?: Maybe<Record<string, unknown>>;
|
|
65
|
+
/**
|
|
66
|
+
* The auto-injected, human-readable reason the caller supplied for this tool call, clamped to the
|
|
67
|
+
* configured max length. `undefined` when the reason parameter is disabled, absent, or the tool
|
|
68
|
+
* declares its own field of the same name. Recorded for analytics/audit only.
|
|
69
|
+
*/
|
|
70
|
+
readonly reason?: Maybe<string>;
|
|
64
71
|
/**
|
|
65
72
|
* Custom key-value properties. Reserved for future use.
|
|
66
73
|
*/
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type Maybe } from '@dereekb/util';
|
|
2
|
+
import { type McpReasonParameterConfig } from '../mcp.config';
|
|
3
|
+
/**
|
|
4
|
+
* The fully-normalized form of {@link McpReasonParameterConfig}, with every field resolved to a
|
|
5
|
+
* concrete value via {@link resolveMcpReasonParameterConfig}.
|
|
6
|
+
*/
|
|
7
|
+
export interface ResolvedMcpReasonParameterConfig {
|
|
8
|
+
readonly enabled: boolean;
|
|
9
|
+
readonly required: boolean;
|
|
10
|
+
readonly maxLength: number;
|
|
11
|
+
readonly description: string;
|
|
12
|
+
readonly parameterName: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Normalizes the app-supplied {@link McpModuleConfig.reasonParameter} value (object / boolean /
|
|
16
|
+
* undefined) into a fully-resolved {@link ResolvedMcpReasonParameterConfig} with the package defaults
|
|
17
|
+
* applied.
|
|
18
|
+
*
|
|
19
|
+
* - `undefined` / `true` → defaults, enabled.
|
|
20
|
+
* - `false` → defaults, but `enabled: false`.
|
|
21
|
+
* - object → per-field overrides on top of the defaults (`enabled` defaults to `true`).
|
|
22
|
+
*
|
|
23
|
+
* @param config - The raw config from {@link McpModuleConfig.reasonParameter}.
|
|
24
|
+
* @returns The resolved config with all defaults applied.
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveMcpReasonParameterConfig(config?: McpReasonParameterConfig | boolean): ResolvedMcpReasonParameterConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Returns `true` when the JSON schema already declares a property named `name` under `properties`.
|
|
29
|
+
*
|
|
30
|
+
* Used as the collision guard so a handler that legitimately consumes its own field of the same name
|
|
31
|
+
* is never double-declared (schema injection) or stripped (arg extraction).
|
|
32
|
+
*
|
|
33
|
+
* @param schema - The candidate JSON schema object (may be `undefined`).
|
|
34
|
+
* @param name - The property name to look for.
|
|
35
|
+
* @returns Whether the schema's `properties` already contains `name`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function mcpSchemaDeclaresProperty(schema: object | undefined, name: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Returns a NEW JSON schema object with the reason parameter property merged into `properties` (and
|
|
40
|
+
* appended to `required` when configured). Never mutates the input — the static wire schemas are
|
|
41
|
+
* shared module-level constants reused across requests.
|
|
42
|
+
*
|
|
43
|
+
* Self-skips (returns the input schema unchanged) when the config is disabled or the schema already
|
|
44
|
+
* declares the parameter name. Defensive against a non-object / missing-`properties` input.
|
|
45
|
+
*
|
|
46
|
+
* @param inputSchema - The tool's resolved input schema.
|
|
47
|
+
* @param resolved - The resolved reason-parameter config.
|
|
48
|
+
* @returns A new schema carrying the reason property, or the original schema when skipped.
|
|
49
|
+
*/
|
|
50
|
+
export declare function applyMcpReasonParameterToSchema(inputSchema: object, resolved: ResolvedMcpReasonParameterConfig): object;
|
|
51
|
+
/**
|
|
52
|
+
* The result of extracting the reason value from a tool call's raw arguments.
|
|
53
|
+
*/
|
|
54
|
+
export interface ExtractedMcpReason {
|
|
55
|
+
/**
|
|
56
|
+
* The extracted, clamped reason string, or `undefined` when absent / disabled / handler-owned.
|
|
57
|
+
*/
|
|
58
|
+
readonly reason: Maybe<string>;
|
|
59
|
+
/**
|
|
60
|
+
* The arguments to forward to the underlying handler — with the reason key removed when this module
|
|
61
|
+
* owns it, or the original args untouched otherwise.
|
|
62
|
+
*/
|
|
63
|
+
readonly args: Record<string, unknown>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Splits the auto-injected reason value out of a tool call's raw arguments.
|
|
67
|
+
*
|
|
68
|
+
* When enabled and the tool did NOT declare its own field of the same name: shallow-copies the args,
|
|
69
|
+
* deletes the parameter key, and coerces + clamps the value to `maxLength` (the client is not trusted).
|
|
70
|
+
* An empty / absent value yields `reason: undefined`.
|
|
71
|
+
*
|
|
72
|
+
* Otherwise (disabled, or the handler legitimately owns the field) returns the args unchanged so a
|
|
73
|
+
* field the handler actually consumes is never stripped.
|
|
74
|
+
*
|
|
75
|
+
* @param args - The raw `tools/call` arguments.
|
|
76
|
+
* @param resolved - The resolved reason-parameter config.
|
|
77
|
+
* @param toolDeclaresOwnReason - Whether the tool's own input schema already declares the parameter.
|
|
78
|
+
* @returns The extracted reason plus the (possibly stripped) args to dispatch.
|
|
79
|
+
*/
|
|
80
|
+
export declare function extractMcpReasonFromArgs(args: Record<string, unknown>, resolved: ResolvedMcpReasonParameterConfig, toolDeclaresOwnReason: boolean): ExtractedMcpReason;
|
|
@@ -39,6 +39,7 @@ export declare class McpServerFactoryService {
|
|
|
39
39
|
private _manifestLoaded;
|
|
40
40
|
private _loggedSkips;
|
|
41
41
|
private _warnedMissingRoleReader;
|
|
42
|
+
private _resolvedReasonConfig?;
|
|
42
43
|
private readonly _analyticsService;
|
|
43
44
|
constructor(mcpConfig: McpModuleConfig, dispatchService: ModelApiCallModelDispatchService, modelApiGetService?: ModelApiGetService | undefined, roleReader?: McpAuthRoleReader | undefined, analyticsService?: McpAnalyticsService, storageService?: FirebaseServerStorageService | undefined);
|
|
44
45
|
/**
|
|
@@ -169,12 +170,24 @@ export declare class McpServerFactoryService {
|
|
|
169
170
|
private _filterToolsForRequest;
|
|
170
171
|
private _passesVisibility;
|
|
171
172
|
private _checkDeclarativeVisibility;
|
|
173
|
+
/**
|
|
174
|
+
* Resolves the app's reason-parameter config once and caches it for the process lifetime.
|
|
175
|
+
*
|
|
176
|
+
* The underlying {@link McpModuleConfig.reasonParameter} value is fixed at boot, so the normalized
|
|
177
|
+
* form is safe to memoize and reuse across every `tools/list` and `tools/call`.
|
|
178
|
+
*
|
|
179
|
+
* @returns The resolved reason-parameter config (defaults applied).
|
|
180
|
+
*/
|
|
181
|
+
private _resolveReasonConfig;
|
|
172
182
|
/**
|
|
173
183
|
* Resolves the wire-shape `tools/list` entry for a single tool.
|
|
174
184
|
*
|
|
175
185
|
* Hot-path short-circuit: tools without a `toolDetailsBuilder` reuse the precomputed,
|
|
176
186
|
* frozen {@link McpToolDefinition.staticWireEntry} verbatim — zero allocations per
|
|
177
|
-
* request for the common case.
|
|
187
|
+
* request for the common case. When the auto-injected reason parameter is enabled (the
|
|
188
|
+
* default), the entry is no longer returned frozen-verbatim: its `inputSchema` is wrapped
|
|
189
|
+
* with the reason property per request (`tools/list` is low-frequency, so the allocation is
|
|
190
|
+
* acceptable). Tools that already declare the parameter name are still reused verbatim.
|
|
178
191
|
*
|
|
179
192
|
* Tools that opted in to {@link McpToolDetailsBuilder} get a fresh wire entry built
|
|
180
193
|
* from the builder's overrides. If the builder throws, the framework falls back to
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Maybe } from '@dereekb/util';
|
|
2
2
|
import { type KnownOnCallFunctionType } from '@dereekb/firebase';
|
|
3
|
-
import { type ModelApiDetailsResult, type OnCallModelFunctionApiDetails, type FirebaseServerAuthData, type McpToolDetailsBuilder } from '@dereekb/firebase-server';
|
|
3
|
+
import { type ModelApiDetailsResult, type OnCallModelFunctionApiDetails, type FirebaseServerAuthData, type McpToolDetailsBuilder, type McpVisibilityRule } from '@dereekb/firebase-server';
|
|
4
4
|
import { type Request } from 'express';
|
|
5
5
|
import { type CallToolResult, type ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
|
|
6
6
|
import { type McpManifestToolEntry } from './mcp.manifest';
|
|
@@ -262,6 +262,42 @@ export declare const MCP_WRITE_TOOL_DESCRIPTION_PREFIX = "[WRITE] ";
|
|
|
262
262
|
* @returns The description, prefixed with the write marker when the tool mutates.
|
|
263
263
|
*/
|
|
264
264
|
export declare function applyWriteMarker(description: string, annotations: ToolAnnotations): string;
|
|
265
|
+
/**
|
|
266
|
+
* Input for {@link buildStaticToolDefinition}.
|
|
267
|
+
*/
|
|
268
|
+
export interface BuildStaticToolDefinitionInput {
|
|
269
|
+
readonly name: string;
|
|
270
|
+
readonly description: string;
|
|
271
|
+
readonly inputSchema: object;
|
|
272
|
+
readonly outputSchema?: object;
|
|
273
|
+
readonly dispatch: McpToolDispatchTarget;
|
|
274
|
+
readonly staticHandler: McpStaticToolHandler;
|
|
275
|
+
/**
|
|
276
|
+
* Read-only classification for this built-in tool. Drives both the advertised MCP annotations
|
|
277
|
+
* (`readOnlyHint` / `destructiveHint`) and the per-request module-level `readOnly` filter.
|
|
278
|
+
*/
|
|
279
|
+
readonly effectiveReadOnly: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Declarative visibility rule checked per request. Defaults to `{}` (always visible) when omitted.
|
|
282
|
+
*/
|
|
283
|
+
readonly rule?: McpVisibilityRule;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Assembles a statically-registered {@link McpToolDefinition} with consistent MCP annotations.
|
|
287
|
+
*
|
|
288
|
+
* Built-in tools (e.g. `whoami`, `model-get`, `batch-execute`) don't flow through
|
|
289
|
+
* {@link buildToolFromCandidate}, so this is their analogous single source of truth: it derives the
|
|
290
|
+
* read/write annotations from {@link BuildStaticToolDefinitionInput.effectiveReadOnly} via
|
|
291
|
+
* {@link resolveMcpToolAnnotations}, applies the {@link MCP_WRITE_TOOL_DESCRIPTION_PREFIX} write
|
|
292
|
+
* marker to the description, then mirrors the annotations onto both the definition's `annotations`
|
|
293
|
+
* field and the frozen {@link McpToolDefinition.staticWireEntry}. Centralizing this guarantees no
|
|
294
|
+
* built-in tool reaches `tools/list` un-annotated (which would surface as an uncategorized "other"
|
|
295
|
+
* tool in clients that bucket by `readOnlyHint`).
|
|
296
|
+
*
|
|
297
|
+
* @param input - The tool identity, schemas, dispatch target, static handler, and read-only classification.
|
|
298
|
+
* @returns A statically-registered {@link McpToolDefinition} to append to the MCP server factory's tool registry.
|
|
299
|
+
*/
|
|
300
|
+
export declare function buildStaticToolDefinition(input: BuildStaticToolDefinitionInput): McpToolDefinition;
|
|
265
301
|
/**
|
|
266
302
|
* The default specifier key used when a handler is not behind a specifier router.
|
|
267
303
|
*/
|
package/model/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/model",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.18.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/date": "13.
|
|
7
|
-
"@dereekb/firebase": "13.
|
|
8
|
-
"@dereekb/firebase-server": "13.
|
|
9
|
-
"@dereekb/model": "13.
|
|
10
|
-
"@dereekb/nestjs": "13.
|
|
11
|
-
"@dereekb/rxjs": "13.
|
|
12
|
-
"@dereekb/util": "13.
|
|
5
|
+
"@dereekb/analytics": "13.18.0",
|
|
6
|
+
"@dereekb/date": "13.18.0",
|
|
7
|
+
"@dereekb/firebase": "13.18.0",
|
|
8
|
+
"@dereekb/firebase-server": "13.18.0",
|
|
9
|
+
"@dereekb/model": "13.18.0",
|
|
10
|
+
"@dereekb/nestjs": "13.18.0",
|
|
11
|
+
"@dereekb/rxjs": "13.18.0",
|
|
12
|
+
"@dereekb/util": "13.18.0",
|
|
13
13
|
"@nestjs/common": "^11.1.19",
|
|
14
14
|
"@nestjs/config": "^4.0.4",
|
|
15
15
|
"archiver": "^7.0.1",
|
package/oidc/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/oidc",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.18.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/date": "13.
|
|
7
|
-
"@dereekb/firebase": "13.
|
|
8
|
-
"@dereekb/firebase-server": "13.
|
|
9
|
-
"@dereekb/model": "13.
|
|
10
|
-
"@dereekb/nestjs": "13.
|
|
11
|
-
"@dereekb/rxjs": "13.
|
|
12
|
-
"@dereekb/util": "13.
|
|
13
|
-
"@dereekb/zoho": "13.
|
|
5
|
+
"@dereekb/analytics": "13.18.0",
|
|
6
|
+
"@dereekb/date": "13.18.0",
|
|
7
|
+
"@dereekb/firebase": "13.18.0",
|
|
8
|
+
"@dereekb/firebase-server": "13.18.0",
|
|
9
|
+
"@dereekb/model": "13.18.0",
|
|
10
|
+
"@dereekb/nestjs": "13.18.0",
|
|
11
|
+
"@dereekb/rxjs": "13.18.0",
|
|
12
|
+
"@dereekb/util": "13.18.0",
|
|
13
|
+
"@dereekb/zoho": "13.18.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.
|
|
3
|
+
"version": "13.18.0",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"exports": {
|
|
6
6
|
"./test": {
|
|
@@ -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.
|
|
61
|
-
"@dereekb/date": "13.
|
|
62
|
-
"@dereekb/dbx-core": "13.
|
|
63
|
-
"@dereekb/firebase": "13.
|
|
64
|
-
"@dereekb/model": "13.
|
|
65
|
-
"@dereekb/nestjs": "13.
|
|
66
|
-
"@dereekb/rxjs": "13.
|
|
67
|
-
"@dereekb/util": "13.
|
|
68
|
-
"@dereekb/zoho": "13.
|
|
60
|
+
"@dereekb/analytics": "13.18.0",
|
|
61
|
+
"@dereekb/date": "13.18.0",
|
|
62
|
+
"@dereekb/dbx-core": "13.18.0",
|
|
63
|
+
"@dereekb/firebase": "13.18.0",
|
|
64
|
+
"@dereekb/model": "13.18.0",
|
|
65
|
+
"@dereekb/nestjs": "13.18.0",
|
|
66
|
+
"@dereekb/rxjs": "13.18.0",
|
|
67
|
+
"@dereekb/util": "13.18.0",
|
|
68
|
+
"@dereekb/zoho": "13.18.0",
|
|
69
69
|
"@google-cloud/firestore": "^7.11.6",
|
|
70
70
|
"@google-cloud/storage": "^7.19.0",
|
|
71
71
|
"@modelcontextprotocol/sdk": "1.29.0",
|
package/test/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.18.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/date": "13.
|
|
7
|
-
"@dereekb/firebase": "13.
|
|
8
|
-
"@dereekb/firebase-server": "13.
|
|
9
|
-
"@dereekb/firebase-server/oidc": "13.
|
|
10
|
-
"@dereekb/model": "13.
|
|
11
|
-
"@dereekb/nestjs": "13.
|
|
12
|
-
"@dereekb/rxjs": "13.
|
|
13
|
-
"@dereekb/util": "13.
|
|
5
|
+
"@dereekb/analytics": "13.18.0",
|
|
6
|
+
"@dereekb/date": "13.18.0",
|
|
7
|
+
"@dereekb/firebase": "13.18.0",
|
|
8
|
+
"@dereekb/firebase-server": "13.18.0",
|
|
9
|
+
"@dereekb/firebase-server/oidc": "13.18.0",
|
|
10
|
+
"@dereekb/model": "13.18.0",
|
|
11
|
+
"@dereekb/nestjs": "13.18.0",
|
|
12
|
+
"@dereekb/rxjs": "13.18.0",
|
|
13
|
+
"@dereekb/util": "13.18.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.
|
|
26
|
+
"@dereekb/nestjs": "13.18.0"
|
|
27
27
|
},
|
|
28
28
|
"exports": {
|
|
29
29
|
"./package.json": "./package.json",
|
package/twilio/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/twilio",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.18.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/date": "13.
|
|
6
|
-
"@dereekb/firebase": "13.
|
|
7
|
-
"@dereekb/firebase-server": "13.
|
|
8
|
-
"@dereekb/model": "13.
|
|
9
|
-
"@dereekb/nestjs": "13.
|
|
10
|
-
"@dereekb/rxjs": "13.
|
|
11
|
-
"@dereekb/util": "13.
|
|
5
|
+
"@dereekb/date": "13.18.0",
|
|
6
|
+
"@dereekb/firebase": "13.18.0",
|
|
7
|
+
"@dereekb/firebase-server": "13.18.0",
|
|
8
|
+
"@dereekb/model": "13.18.0",
|
|
9
|
+
"@dereekb/nestjs": "13.18.0",
|
|
10
|
+
"@dereekb/rxjs": "13.18.0",
|
|
11
|
+
"@dereekb/util": "13.18.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.
|
|
3
|
+
"version": "13.18.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/date": "13.
|
|
7
|
-
"@dereekb/model": "13.
|
|
8
|
-
"@dereekb/nestjs": "13.
|
|
9
|
-
"@dereekb/rxjs": "13.
|
|
10
|
-
"@dereekb/firebase": "13.
|
|
11
|
-
"@dereekb/util": "13.
|
|
12
|
-
"@dereekb/zoho": "13.
|
|
5
|
+
"@dereekb/analytics": "13.18.0",
|
|
6
|
+
"@dereekb/date": "13.18.0",
|
|
7
|
+
"@dereekb/model": "13.18.0",
|
|
8
|
+
"@dereekb/nestjs": "13.18.0",
|
|
9
|
+
"@dereekb/rxjs": "13.18.0",
|
|
10
|
+
"@dereekb/firebase": "13.18.0",
|
|
11
|
+
"@dereekb/util": "13.18.0",
|
|
12
|
+
"@dereekb/zoho": "13.18.0"
|
|
13
13
|
},
|
|
14
14
|
"exports": {
|
|
15
15
|
"./package.json": "./package.json",
|