@cryptorobot.ai/client 1.26.0-dev.1003 → 1.26.0-dev.1005
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/lib/src/client.d.ts +0 -8
- package/lib/src/client.js +0 -10
- package/lib/src/services/advisor/advisor.hooks.d.ts +0 -6
- package/lib/src/services/advisor/advisor.shared.js +0 -1
- package/lib/src/services/advisor/messages/messages.shared.js +0 -1
- package/lib/src/services/affiliates/affiliates.class.d.ts +0 -3
- package/lib/src/services/affiliates/affiliates.shared.js +0 -1
- package/lib/src/services/affiliates/clicks/clicks.shared.js +0 -1
- package/lib/src/services/affiliates/comissions/comissions.shared.js +0 -1
- package/lib/src/services/affiliates/contracts/contracts.shared.js +0 -1
- package/lib/src/services/affiliates/coupons/coupons.shared.js +0 -1
- package/lib/src/services/affiliates/links/links.shared.js +0 -1
- package/lib/src/services/affiliates/payouts/payouts.shared.js +0 -1
- package/lib/src/services/agents/agents.shared.js +0 -1
- package/lib/src/services/agents/delete-agent-triggers.hooks.d.ts +0 -3
- package/lib/src/services/agents/prepare/prepare.shared.js +0 -1
- package/lib/src/services/agents/sessions/conversations/conversations.hooks.d.ts +0 -8
- package/lib/src/services/agents/sessions/conversations/conversations.shared.js +0 -1
- package/lib/src/services/agents/sessions/sessions.hooks.d.ts +0 -8
- package/lib/src/services/agents/sessions/sessions.shared.js +0 -1
- package/lib/src/services/agents/update-trigger-rules-with-agent-info.hooks.d.ts +0 -3
- package/lib/src/services/auth-management/auth-management.shared.js +0 -2
- package/lib/src/services/autotune/apply-params.d.ts +0 -39
- package/lib/src/services/autotune/optuna-bridge.d.ts +0 -3
- package/lib/src/services/autotune/score.d.ts +0 -25
- package/lib/src/services/autotune/storage.d.ts +0 -2
- package/lib/src/services/autotune/studies/studies.shared.js +0 -1
- package/lib/src/services/autotune/trials/trials.shared.js +0 -1
- package/lib/src/services/autotune/usage/usage.shared.js +0 -1
- package/lib/src/services/blog/actions/actions.shared.js +0 -1
- package/lib/src/services/blog/calendar/calendar.shared.js +0 -1
- package/lib/src/services/blog/integrations/integrations.shared.js +0 -1
- package/lib/src/services/blog/posts/posts.shared.js +0 -1
- package/lib/src/services/blog/queries/queries.shared.js +0 -1
- package/lib/src/services/blog/sitemaps/pages/pages.shared.js +0 -1
- package/lib/src/services/blog/sitemaps/sitemaps.shared.js +0 -1
- package/lib/src/services/blog/suggestions/suggestions.shared.js +0 -1
- package/lib/src/services/changelog/changelog.class.d.ts +0 -3
- package/lib/src/services/changelog/changelog.helper.d.ts +0 -27
- package/lib/src/services/changelog/changelog.shared.js +0 -1
- package/lib/src/services/changelog/hooks/parse-from-file.d.ts +0 -4
- package/lib/src/services/config/config.shared.js +0 -1
- package/lib/src/services/copilot/concerns/concerns.shared.js +0 -1
- package/lib/src/services/copilot/decisions/decisions.shared.js +0 -1
- package/lib/src/services/copilot/help/help.shared.js +0 -1
- package/lib/src/services/copilot/recommendations/recommendations.shared.js +0 -1
- package/lib/src/services/currencies/currencies.shared.js +0 -1
- package/lib/src/services/custom/custom.shared.js +0 -1
- package/lib/src/services/emails/emails.shared.js +0 -1
- package/lib/src/services/events/events.shared.js +0 -1
- package/lib/src/services/events/triggers/triggers.shared.js +0 -1
- package/lib/src/services/events/types/types.shared.js +0 -1
- package/lib/src/services/exchanges/arb-signals/arb-signals.class.d.ts +0 -10
- package/lib/src/services/exchanges/arb-signals/arb-signals.shared.js +0 -1
- package/lib/src/services/exchanges/arbitrage/opportunities/opportunities.class.d.ts +0 -10
- package/lib/src/services/exchanges/arbitrage/opportunities/opportunities.shared.js +0 -1
- package/lib/src/services/exchanges/balance/balance.shared.js +0 -1
- package/lib/src/services/exchanges/deposits/deposits.shared.js +0 -1
- package/lib/src/services/exchanges/deposits/sync/sync.shared.js +0 -1
- package/lib/src/services/exchanges/download/download.shared.js +0 -1
- package/lib/src/services/exchanges/download/webhooks/webhooks.shared.js +0 -1
- package/lib/src/services/exchanges/exchanges.shared.js +0 -1
- package/lib/src/services/exchanges/ledger/ledger.shared.js +0 -1
- package/lib/src/services/exchanges/ledger/sync/sync.shared.js +0 -1
- package/lib/src/services/exchanges/markets-stats/markets-stats.class.d.ts +0 -5
- package/lib/src/services/exchanges/markets-stats/markets-stats.shared.js +0 -1
- package/lib/src/services/exchanges/ohlcv/history/history.shared.js +0 -1
- package/lib/src/services/exchanges/ohlcv/ohlcv.shared.js +0 -1
- package/lib/src/services/exchanges/orderbook/orderbook.class.d.ts +0 -11
- package/lib/src/services/exchanges/orderbook/orderbook.shared.js +0 -1
- package/lib/src/services/exchanges/ticker/ticker.shared.js +0 -1
- package/lib/src/services/exchanges/transactions/sync/sync.shared.js +0 -1
- package/lib/src/services/exchanges/transactions/transactions.shared.js +0 -1
- package/lib/src/services/extensions/extensions.shared.js +0 -1
- package/lib/src/services/homepage/homepage.shared.js +0 -1
- package/lib/src/services/insights/crypto-stress-index/crypto-stress-index.class.d.ts +0 -12
- package/lib/src/services/insights/crypto-stress-index/crypto-stress-index.shared.js +0 -1
- package/lib/src/services/insights/etf-flow/etf-flow.shared.js +0 -1
- package/lib/src/services/insights/fear-and-greed/fear-and-greed.shared.js +0 -1
- package/lib/src/services/insights/global/global.shared.js +0 -1
- package/lib/src/services/insights/insights.hooks.d.ts +0 -11
- package/lib/src/services/insights/insights.shared.js +0 -1
- package/lib/src/services/insights/news/news.class.d.ts +0 -3
- package/lib/src/services/insights/news/news.shared.js +0 -1
- package/lib/src/services/keys/keys.shared.js +0 -1
- package/lib/src/services/knowledges/knowledges.class.d.ts +0 -15
- package/lib/src/services/knowledges/knowledges.shared.js +0 -1
- package/lib/src/services/mailer/mailer.shared.js +0 -1
- package/lib/src/services/marketplaces/marketplaces.shared.js +0 -1
- package/lib/src/services/markets/markets.shared.js +0 -1
- package/lib/src/services/messages/messages.shared.js +0 -1
- package/lib/src/services/models/pods/events/events.shared.js +0 -1
- package/lib/src/services/models/pods/pods.shared.js +0 -1
- package/lib/src/services/models/presets/presets.shared.js +0 -1
- package/lib/src/services/models/signals/history/history.shared.js +0 -1
- package/lib/src/services/models/signals/signals-proxy-router.d.ts +0 -19
- package/lib/src/services/models/signals/signals.shared.js +0 -1
- package/lib/src/services/models/signals/subscriptions/subscriptions.shared.js +0 -3
- package/lib/src/services/objectives/objectives.hooks.d.ts +0 -9
- package/lib/src/services/objectives/objectives.shared.js +0 -1
- package/lib/src/services/plans/plans.shared.js +0 -1
- package/lib/src/services/referrals/referrals.shared.js +0 -1
- package/lib/src/services/restricted/restricted.d.ts +0 -11
- package/lib/src/services/restricted/restricted.shared.js +0 -1
- package/lib/src/services/security/events/security-events.shared.js +0 -1
- package/lib/src/services/series/balance/balance.shared.js +0 -1
- package/lib/src/services/series/performance/performance.shared.js +0 -1
- package/lib/src/services/series/performance/performance.usage.examples.d.ts +0 -6
- package/lib/src/services/snapshot/snapshot.shared.js +0 -2
- package/lib/src/services/store/items/items.shared.js +0 -1
- package/lib/src/services/strategies/ai/ai.shared.js +0 -1
- package/lib/src/services/strategies/ai/stream/stream.shared.js +0 -1
- package/lib/src/services/strategies/backtest/backtest.shared.js +0 -1
- package/lib/src/services/strategies/backtest/preflight/preflight.class.d.ts +0 -23
- package/lib/src/services/strategies/backtest/preflight/preflight.shared.js +0 -1
- package/lib/src/services/strategies/backtest/results/results.shared.js +0 -1
- package/lib/src/services/strategies/blob/blob.shared.js +0 -1
- package/lib/src/services/strategies/follow/follow.shared.js +0 -1
- package/lib/src/services/strategies/generate/generate.schema.d.ts +0 -4
- package/lib/src/services/strategies/generate/generate.shared.js +0 -1
- package/lib/src/services/strategies/history/history.shared.js +0 -1
- package/lib/src/services/strategies/hyperopt/hyperopt-generate-exchange-config.hooks.d.ts +0 -6
- package/lib/src/services/strategies/hyperopt/hyperopt-populate-exchange.hooks.d.ts +0 -5
- package/lib/src/services/strategies/hyperopt/hyperopt-promote-template.hooks.d.ts +0 -7
- package/lib/src/services/strategies/hyperopt/hyperopt-validate-exchange-whitelist.hooks.d.ts +0 -8
- package/lib/src/services/strategies/hyperopt/hyperopt-validate-historical-data.hooks.d.ts +0 -7
- package/lib/src/services/strategies/hyperopt/hyperopt-validate-stake-balance.hooks.d.ts +0 -5
- package/lib/src/services/strategies/hyperopt/hyperopt-validate-stake-currency.hooks.d.ts +0 -7
- package/lib/src/services/strategies/hyperopt/hyperopt-validate.hooks.d.ts +0 -5
- package/lib/src/services/strategies/hyperopt/hyperopt-verify-subscription-limits.hooks.d.ts +0 -4
- package/lib/src/services/strategies/hyperopt/hyperopt.shared.js +0 -1
- package/lib/src/services/strategies/indicators/indicators.shared.js +0 -1
- package/lib/src/services/strategies/indicators/talib/talib.schema.d.ts +0 -4
- package/lib/src/services/strategies/indicators/talib/talib.shared.js +0 -1
- package/lib/src/services/strategies/research/research.schema.d.ts +0 -15
- package/lib/src/services/strategies/research/research.shared.js +0 -1
- package/lib/src/services/strategies/strategies.schema.d.ts +8 -8
- package/lib/src/services/strategies/strategies.shared.js +0 -1
- package/lib/src/services/strategies/templates/templates.shared.js +0 -1
- package/lib/src/services/stripe/charges/charges.shared.js +0 -1
- package/lib/src/services/stripe/customers/cards/cards.shared.js +0 -1
- package/lib/src/services/stripe/customers/customers.shared.js +0 -1
- package/lib/src/services/stripe/customers/paymentintent/paymentintent.shared.js +0 -1
- package/lib/src/services/stripe/customers/paymentmethods/paymentmethods.shared.js +0 -1
- package/lib/src/services/stripe/customers/subscriptions/subscriptions.shared.js +0 -1
- package/lib/src/services/stripe/products/products.shared.js +0 -1
- package/lib/src/services/stripe/webhooks/webhooks.shared.js +0 -1
- package/lib/src/services/support/support.shared.js +0 -1
- package/lib/src/services/tasks/comments/comments.shared.js +0 -1
- package/lib/src/services/tasks/tasks.hooks.d.ts +0 -71
- package/lib/src/services/tasks/tasks.shared.js +0 -1
- package/lib/src/services/tax/research/research.shared.js +0 -1
- package/lib/src/services/tax/sessions/conversations/conversations.hooks.d.ts +0 -8
- package/lib/src/services/tax/sessions/conversations/conversations.shared.js +0 -1
- package/lib/src/services/tax/sessions/sessions.hooks.d.ts +0 -8
- package/lib/src/services/tax/sessions/sessions.shared.js +0 -1
- package/lib/src/services/telegram/link/link.class.d.ts +0 -8
- package/lib/src/services/telegram/link/link.shared.js +0 -1
- package/lib/src/services/telegram/telegram.class.d.ts +0 -5
- package/lib/src/services/telegram/telegram.shared.js +0 -1
- package/lib/src/services/toggles/toggles.shared.js +0 -1
- package/lib/src/services/tokens/tokens.shared.js +0 -1
- package/lib/src/services/traders/pods/api/api.schema.d.ts +8 -8
- package/lib/src/services/traders/pods/api/api.shared.js +0 -1
- package/lib/src/services/traders/pods/blob/blob.shared.js +0 -1
- package/lib/src/services/traders/pods/events/events.shared.js +0 -1
- package/lib/src/services/traders/pods/pods.schema.d.ts +8 -8
- package/lib/src/services/traders/pods/pods.shared.js +0 -1
- package/lib/src/services/traders/pods/webhooks/webhooks.shared.js +0 -1
- package/lib/src/services/traders/traders.shared.js +0 -1
- package/lib/src/services/trades/trades.shared.js +0 -1
- package/lib/src/services/users/access/access.shared.js +0 -1
- package/lib/src/services/users/marketing/campaigns/trial.context.d.ts +0 -11
- package/lib/src/services/users/marketing/marketing.class.d.ts +0 -4
- package/lib/src/services/users/marketing/marketing.engine.d.ts +0 -20
- package/lib/src/services/users/marketing/marketing.shared.js +0 -1
- package/lib/src/services/users/onboarding/onboarding.hooks.d.ts +0 -38
- package/lib/src/services/users/onboarding/onboarding.shared.js +0 -1
- package/lib/src/services/users/onboarding/steps/exchanges.processor.d.ts +0 -5
- package/lib/src/services/users/onboarding/steps/notifications.processor.d.ts +0 -4
- package/lib/src/services/users/onboarding/steps/preferences.processor.d.ts +0 -4
- package/lib/src/services/users/onboarding/steps/strategy.processor.d.ts +0 -5
- package/lib/src/services/users/onboarding/steps/traders.processor.d.ts +0 -5
- package/lib/src/services/users/sessions/sessions.class.d.ts +0 -6
- package/lib/src/services/users/sessions/sessions.schema.d.ts +0 -8
- package/lib/src/services/users/sessions/sessions.shared.js +0 -1
- package/lib/src/services/users/users.class.d.ts +0 -1
- package/lib/src/services/users/users.schema.d.ts +0 -13
- package/lib/src/services/users/users.shared.d.ts +1 -3
- package/lib/src/services/users/users.shared.js +0 -1
- package/lib/src/services/version/version.shared.js +0 -1
- package/package.json +1 -1
|
@@ -1945,7 +1945,7 @@ export declare const tradersPodsResolver: import("@feathersjs/schema").Resolver<
|
|
|
1945
1945
|
}[] | undefined;
|
|
1946
1946
|
buywhen?: {
|
|
1947
1947
|
logic: "AND" | "OR";
|
|
1948
|
-
conditions: (
|
|
1948
|
+
conditions: (any | {
|
|
1949
1949
|
indicator: string;
|
|
1950
1950
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
1951
1951
|
compare_to: {
|
|
@@ -1963,7 +1963,7 @@ export declare const tradersPodsResolver: import("@feathersjs/schema").Resolver<
|
|
|
1963
1963
|
} | undefined;
|
|
1964
1964
|
sellwhen?: {
|
|
1965
1965
|
logic: "AND" | "OR";
|
|
1966
|
-
conditions: (
|
|
1966
|
+
conditions: (any | {
|
|
1967
1967
|
indicator: string;
|
|
1968
1968
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
1969
1969
|
compare_to: {
|
|
@@ -3276,7 +3276,7 @@ export declare const tradersPodsExternalResolver: import("@feathersjs/schema").R
|
|
|
3276
3276
|
}[] | undefined;
|
|
3277
3277
|
buywhen?: {
|
|
3278
3278
|
logic: "AND" | "OR";
|
|
3279
|
-
conditions: (
|
|
3279
|
+
conditions: (any | {
|
|
3280
3280
|
indicator: string;
|
|
3281
3281
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
3282
3282
|
compare_to: {
|
|
@@ -3294,7 +3294,7 @@ export declare const tradersPodsExternalResolver: import("@feathersjs/schema").R
|
|
|
3294
3294
|
} | undefined;
|
|
3295
3295
|
sellwhen?: {
|
|
3296
3296
|
logic: "AND" | "OR";
|
|
3297
|
-
conditions: (
|
|
3297
|
+
conditions: (any | {
|
|
3298
3298
|
indicator: string;
|
|
3299
3299
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
3300
3300
|
compare_to: {
|
|
@@ -7270,7 +7270,7 @@ export declare const tradersPodsDataResolver: import("@feathersjs/schema").Resol
|
|
|
7270
7270
|
}[] | undefined;
|
|
7271
7271
|
buywhen?: {
|
|
7272
7272
|
logic: "AND" | "OR";
|
|
7273
|
-
conditions: (
|
|
7273
|
+
conditions: (any | {
|
|
7274
7274
|
indicator: string;
|
|
7275
7275
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
7276
7276
|
compare_to: {
|
|
@@ -7288,7 +7288,7 @@ export declare const tradersPodsDataResolver: import("@feathersjs/schema").Resol
|
|
|
7288
7288
|
} | undefined;
|
|
7289
7289
|
sellwhen?: {
|
|
7290
7290
|
logic: "AND" | "OR";
|
|
7291
|
-
conditions: (
|
|
7291
|
+
conditions: (any | {
|
|
7292
7292
|
indicator: string;
|
|
7293
7293
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
7294
7294
|
compare_to: {
|
|
@@ -9934,7 +9934,7 @@ export declare const tradersPodsPatchResolver: import("@feathersjs/schema").Reso
|
|
|
9934
9934
|
}[] | undefined;
|
|
9935
9935
|
buywhen?: {
|
|
9936
9936
|
logic: "AND" | "OR";
|
|
9937
|
-
conditions: (
|
|
9937
|
+
conditions: (any | {
|
|
9938
9938
|
indicator: string;
|
|
9939
9939
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
9940
9940
|
compare_to: {
|
|
@@ -9952,7 +9952,7 @@ export declare const tradersPodsPatchResolver: import("@feathersjs/schema").Reso
|
|
|
9952
9952
|
} | undefined;
|
|
9953
9953
|
sellwhen?: {
|
|
9954
9954
|
logic: "AND" | "OR";
|
|
9955
|
-
conditions: (
|
|
9955
|
+
conditions: (any | {
|
|
9956
9956
|
indicator: string;
|
|
9957
9957
|
condition: "<" | "<=" | "==" | ">" | ">=" | "crossed" | "crossed_above" | "crossed_below";
|
|
9958
9958
|
compare_to: {
|
|
@@ -1,27 +1,16 @@
|
|
|
1
1
|
import type { Application } from '../../../../declarations';
|
|
2
2
|
export interface TrialContext {
|
|
3
3
|
user: any;
|
|
4
|
-
/** Days since signup (0 = same day) */
|
|
5
4
|
daysSinceSignup: number;
|
|
6
|
-
/** Days remaining in 7-day trial (may be negative if expired) */
|
|
7
5
|
trialDaysLeft: number;
|
|
8
|
-
/** True if the trial window is still open */
|
|
9
6
|
trialActive: boolean;
|
|
10
|
-
/** True if trial has fully expired */
|
|
11
7
|
trialExpired: boolean;
|
|
12
|
-
/** Subscription status shorthand */
|
|
13
8
|
hasPaidPlan: boolean;
|
|
14
|
-
/** User-owned traders that were NOT created by onboarding wizard */
|
|
15
9
|
ownedTraders: any[];
|
|
16
|
-
/** Total closed trades across all running traders */
|
|
17
10
|
totalClosedTrades: number;
|
|
18
|
-
/** Number of strategies the user has created (excluding onboarding template) */
|
|
19
11
|
strategyCount: number;
|
|
20
|
-
/** Number of backtests the user has run */
|
|
21
12
|
backtestCount: number;
|
|
22
|
-
/** Number of AI strategy generation requests made */
|
|
23
13
|
aiGenerationCount: number;
|
|
24
|
-
/** Number of hyperopt runs */
|
|
25
14
|
hyperoptCount: number;
|
|
26
15
|
}
|
|
27
16
|
export declare function resolveTrialContext(app: Application, user: any): Promise<TrialContext | null>;
|
|
@@ -11,10 +11,6 @@ export interface UsersMarketingOptions extends MongoDBAdapterOptions {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class UsersMarketingService<ServiceParams extends Params = UsersMarketingParams> extends FlexibleMongoDBService<UsersMarketing, UsersMarketingData, UsersMarketingParams, UsersMarketingPatch> {
|
|
13
13
|
options: UsersMarketingOptions;
|
|
14
|
-
/**
|
|
15
|
-
* Preview a specific campaign for a user, bypassing cooldown/dedup.
|
|
16
|
-
* Only available outside production — guarded at the hook level too.
|
|
17
|
-
*/
|
|
18
14
|
preview(data: {
|
|
19
15
|
userId: string;
|
|
20
16
|
campaignId: string;
|
|
@@ -1,35 +1,15 @@
|
|
|
1
1
|
import type { Application } from '../../../declarations';
|
|
2
2
|
export interface CampaignRule<TContext = any> {
|
|
3
|
-
/** Unique stable identifier — used as the dedup key in users-marketing */
|
|
4
3
|
id: string;
|
|
5
|
-
/** Email subject line */
|
|
6
4
|
subject: string;
|
|
7
|
-
/** MJML template filename (without .mjml) under src/emails/ */
|
|
8
5
|
template: string;
|
|
9
|
-
/** Do not re-send to the same user within this many days (default 30) */
|
|
10
6
|
cooldownDays?: number;
|
|
11
|
-
/**
|
|
12
|
-
* Fetch anything extra this campaign needs (trader list, onboarding record…).
|
|
13
|
-
* Return null/undefined to bail out early — no email sent, nothing recorded.
|
|
14
|
-
*/
|
|
15
7
|
resolve: (app: Application, user: any) => Promise<TContext | null>;
|
|
16
|
-
/**
|
|
17
|
-
* Given the fully resolved context, decide whether to send.
|
|
18
|
-
* Called only when resolve() returned a non-null value.
|
|
19
|
-
*/
|
|
20
8
|
condition: (ctx: TContext) => boolean;
|
|
21
|
-
/** Override the default "from" address for this campaign */
|
|
22
9
|
from?: string;
|
|
23
|
-
/** Override the default "replyTo" address for this campaign */
|
|
24
10
|
replyTo?: string;
|
|
25
|
-
/** BCC address for this campaign */
|
|
26
11
|
bcc?: string;
|
|
27
12
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Fire a named subset of campaigns immediately for a single user.
|
|
30
|
-
* Safe to call from service hooks — dedup prevents double-sends.
|
|
31
|
-
* Fire-and-forget: wrap the call in .catch() at the call site.
|
|
32
|
-
*/
|
|
33
13
|
export declare function triggerCampaignsForUser(app: Application, user: any, campaignIds: string[], allCampaigns: CampaignRule[]): Promise<void>;
|
|
34
14
|
export declare function runCampaignsForUser(app: Application, user: any, campaigns: CampaignRule[], options?: {
|
|
35
15
|
force?: boolean;
|
|
@@ -1,54 +1,16 @@
|
|
|
1
1
|
import { HookContext } from '@feathersjs/feathers';
|
|
2
2
|
import type { UsersOnboarding } from './onboarding.schema';
|
|
3
|
-
/**
|
|
4
|
-
* Hook to handle special onboarding actions (skip, reset).
|
|
5
|
-
* Must run BEFORE schema validators since 'action' is not part of the schema.
|
|
6
|
-
*/
|
|
7
3
|
export declare const handleOnboardingAction: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
8
|
-
/**
|
|
9
|
-
* Hook to automatically set userId from authenticated user
|
|
10
|
-
*/
|
|
11
4
|
export declare const setUserId: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
12
|
-
/**
|
|
13
|
-
* Hook to initialize onboarding data with default values
|
|
14
|
-
*/
|
|
15
5
|
export declare const initializeOnboarding: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
16
|
-
/**
|
|
17
|
-
* Hook to validate step transitions and mark steps as completed
|
|
18
|
-
* Note: This runs after processing hooks, so it should preserve their changes
|
|
19
|
-
*/
|
|
20
6
|
export declare const validateStepTransition: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
21
|
-
/**
|
|
22
|
-
* Hook to handle onboarding step completion and check for full completion
|
|
23
|
-
*/
|
|
24
7
|
export declare const handleStepCompletion: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
25
|
-
/**
|
|
26
|
-
* Hook to process exchanges step using the modular exchanges processor
|
|
27
|
-
*/
|
|
28
8
|
export declare const processExchangesStep: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
29
|
-
/**
|
|
30
|
-
* Hook to process preferences step
|
|
31
|
-
*/
|
|
32
9
|
export declare const processPreferencesStep: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
33
|
-
/**
|
|
34
|
-
* Hook to process strategy step using the modular strategy processor
|
|
35
|
-
*/
|
|
36
10
|
export declare const processStrategyStep: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
37
|
-
/**
|
|
38
|
-
* Hook to process traders step using the modular traders processor
|
|
39
|
-
*/
|
|
40
11
|
export declare const processTradersStep: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
41
|
-
/**
|
|
42
|
-
* Hook to process notifications step
|
|
43
|
-
*/
|
|
44
12
|
export declare const processNotificationsStep: (context: HookContext) => Promise<HookContext<import("@feathersjs/feathers").Application<any, any>, any>>;
|
|
45
|
-
/**
|
|
46
|
-
* Utility function to check if onboarding is complete
|
|
47
|
-
*/
|
|
48
13
|
export declare const isOnboardingComplete: (onboarding: UsersOnboarding) => boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Utility function to get onboarding progress
|
|
51
|
-
*/
|
|
52
14
|
export declare const getOnboardingProgress: (onboarding: UsersOnboarding) => {
|
|
53
15
|
totalSteps: 5;
|
|
54
16
|
completedSteps: number;
|
|
@@ -7,9 +7,4 @@ export interface ExchangesStepResult {
|
|
|
7
7
|
exchangeIds: string[];
|
|
8
8
|
completedStep: 'exchanges';
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Process the exchanges onboarding step
|
|
12
|
-
* Creates exchanges from marketplace data and applies whitelists.
|
|
13
|
-
* Idempotent: cleans up previously created exchanges before creating new ones.
|
|
14
|
-
*/
|
|
15
10
|
export declare const processExchangesStep: (app: any, user: any, stepData: ExchangesStepData, onboarding: UsersOnboarding) => Promise<ExchangesStepResult>;
|
|
@@ -8,8 +8,4 @@ export interface NotificationsStepData {
|
|
|
8
8
|
export interface NotificationsStepResult {
|
|
9
9
|
completedStep: 'notifications';
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Process the notifications onboarding step
|
|
13
|
-
* Maps the user's chosen preset to the per-channel user.notifications schema.
|
|
14
|
-
*/
|
|
15
11
|
export declare const processNotificationsStep: (app: any, user: any, stepData: NotificationsStepData, onboarding: UsersOnboarding) => Promise<NotificationsStepResult>;
|
|
@@ -9,8 +9,4 @@ export interface PreferencesStepData {
|
|
|
9
9
|
export interface PreferencesStepResult {
|
|
10
10
|
completedStep: 'preferences';
|
|
11
11
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Process the preferences onboarding step
|
|
14
|
-
* Saves user display currency, timezone, and language preferences
|
|
15
|
-
*/
|
|
16
12
|
export declare const processPreferencesStep: (app: any, user: any, stepData: PreferencesStepData, onboarding: UsersOnboarding) => Promise<PreferencesStepResult>;
|
|
@@ -7,9 +7,4 @@ export interface StrategyStepResult {
|
|
|
7
7
|
templateId: string;
|
|
8
8
|
completedStep: 'strategy';
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Process the strategy onboarding step
|
|
12
|
-
* Creates a strategy from template.
|
|
13
|
-
* Idempotent: cleans up previously created strategy before creating a new one.
|
|
14
|
-
*/
|
|
15
10
|
export declare const processStrategyStep: (app: any, user: any, stepData: StrategyStepData, onboarding: UsersOnboarding) => Promise<StrategyStepResult>;
|
|
@@ -8,9 +8,4 @@ export interface TradersStepResult {
|
|
|
8
8
|
traderIds: string[];
|
|
9
9
|
completedStep: 'traders';
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Process the traders onboarding step
|
|
13
|
-
* Creates traders for specified exchange IDs.
|
|
14
|
-
* Idempotent: stops and removes previously created traders before creating new ones.
|
|
15
|
-
*/
|
|
16
11
|
export declare const processTradersStep: (app: any, user: any, stepData: TradersStepData, onboarding: UsersOnboarding) => Promise<TradersStepResult>;
|
|
@@ -7,12 +7,6 @@ export type { UsersSessions, UsersSessionsData, UsersSessionsPatch, UsersSession
|
|
|
7
7
|
export interface UsersSessionsParams extends MongoDBAdapterParams<UsersSessionsQuery> {
|
|
8
8
|
}
|
|
9
9
|
export declare class UsersSessionsService<ServiceParams extends Params = UsersSessionsParams> extends MongoDBService<UsersSessions, UsersSessionsData, UsersSessionsParams, UsersSessionsPatch> {
|
|
10
|
-
/**
|
|
11
|
-
* Atomic upsert: create a session only if one with the same jti doesn't exist.
|
|
12
|
-
* Uses MongoDB updateOne with upsert + $setOnInsert so concurrent calls are
|
|
13
|
-
* idempotent — no E11000 duplicate key errors, no race conditions.
|
|
14
|
-
* Returns the resulting session document.
|
|
15
|
-
*/
|
|
16
10
|
upsertSession(data: UsersSessionsData, params?: ServiceParams): Promise<UsersSessions>;
|
|
17
11
|
}
|
|
18
12
|
export declare const getOptions: (app: Application) => MongoDBAdapterOptions;
|
|
@@ -4,18 +4,14 @@ import type { UsersSessionsService } from './sessions.class';
|
|
|
4
4
|
export declare const usersSessionsSchema: import("@feathersjs/typebox").TObject<{
|
|
5
5
|
_id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
|
|
6
6
|
userId: import("@feathersjs/typebox").TString<string>;
|
|
7
|
-
/** JWT id claim — used to match / revoke a specific token */
|
|
8
7
|
jti: import("@feathersjs/typebox").TString<string>;
|
|
9
8
|
strategy: import("@feathersjs/typebox").TString<string>;
|
|
10
9
|
ip: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
11
10
|
userAgent: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
12
|
-
/** Parsed UA family, e.g. "Chrome 125 / macOS" */
|
|
13
11
|
deviceLabel: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
14
12
|
country: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
15
13
|
city: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
16
|
-
/** SHA-256 fingerprint sent by the frontend (optional) */
|
|
17
14
|
fingerprint: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
18
|
-
/** Risk score computed at login (0-100) */
|
|
19
15
|
riskScore: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
|
|
20
16
|
active: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
21
17
|
revokedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
@@ -104,18 +100,14 @@ export declare const usersSessionsPatchResolver: import("@feathersjs/schema").Re
|
|
|
104
100
|
export declare const usersSessionsQueryProperties: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
|
|
105
101
|
_id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
|
|
106
102
|
userId: import("@feathersjs/typebox").TString<string>;
|
|
107
|
-
/** JWT id claim — used to match / revoke a specific token */
|
|
108
103
|
jti: import("@feathersjs/typebox").TString<string>;
|
|
109
104
|
strategy: import("@feathersjs/typebox").TString<string>;
|
|
110
105
|
ip: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
111
106
|
userAgent: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
112
|
-
/** Parsed UA family, e.g. "Chrome 125 / macOS" */
|
|
113
107
|
deviceLabel: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
114
108
|
country: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
115
109
|
city: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
116
|
-
/** SHA-256 fingerprint sent by the frontend (optional) */
|
|
117
110
|
fingerprint: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
118
|
-
/** Risk score computed at login (0-100) */
|
|
119
111
|
riskScore: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
|
|
120
112
|
active: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
121
113
|
revokedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
@@ -419,7 +419,6 @@ declare const MemoryWithOnboardInternal_base: {
|
|
|
419
419
|
} & typeof MemoryService;
|
|
420
420
|
declare class MemoryWithOnboardInternal extends MemoryWithOnboardInternal_base {
|
|
421
421
|
}
|
|
422
|
-
/** Public test double that only mentions **MemoryService** */
|
|
423
422
|
export declare class MemoryUserService extends MemoryWithOnboardInternal {
|
|
424
423
|
}
|
|
425
424
|
export declare const getOptions: (app: Application) => MongoDBAdapterOptions;
|
|
@@ -181,9 +181,7 @@ export declare const userSchema: import("@feathersjs/typebox").TObject<{
|
|
|
181
181
|
updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
182
182
|
lastLoginAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
183
183
|
skipEmailVerification: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
184
|
-
/** Computed server-side: true when the require-credit-card feature flag evaluates true for this user */
|
|
185
184
|
requiresCreditCard: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
186
|
-
/** Signup survey answers collected during the credit-card wall flow */
|
|
187
185
|
signupSurvey: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
|
|
188
186
|
source: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
189
187
|
traderType: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
@@ -725,9 +723,7 @@ export declare const userDataSchema: import("@feathersjs/typebox").TPick<import(
|
|
|
725
723
|
updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
726
724
|
lastLoginAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
727
725
|
skipEmailVerification: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
728
|
-
/** Computed server-side: true when the require-credit-card feature flag evaluates true for this user */
|
|
729
726
|
requiresCreditCard: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
730
|
-
/** Signup survey answers collected during the credit-card wall flow */
|
|
731
727
|
signupSurvey: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
|
|
732
728
|
source: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
733
729
|
traderType: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
@@ -1089,9 +1085,7 @@ export declare const userPatchSchema: import("@feathersjs/typebox").TPartial<imp
|
|
|
1089
1085
|
updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
1090
1086
|
lastLoginAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
1091
1087
|
skipEmailVerification: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
1092
|
-
/** Computed server-side: true when the require-credit-card feature flag evaluates true for this user */
|
|
1093
1088
|
requiresCreditCard: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
1094
|
-
/** Signup survey answers collected during the credit-card wall flow */
|
|
1095
1089
|
signupSurvey: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
|
|
1096
1090
|
source: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
1097
1091
|
traderType: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
@@ -1279,11 +1273,6 @@ export declare const userPatchResolver: import("@feathersjs/schema").Resolver<{
|
|
|
1279
1273
|
traderType?: string | undefined;
|
|
1280
1274
|
} | undefined;
|
|
1281
1275
|
}, HookContext<UserService>>;
|
|
1282
|
-
/**
|
|
1283
|
-
* Before-patch hook: strips any field not in the allowlist when the request
|
|
1284
|
-
* comes from an external provider (REST / Socket.io). Internal callers
|
|
1285
|
-
* (provider === undefined) are unaffected.
|
|
1286
|
-
*/
|
|
1287
1276
|
export declare const sanitizeExternalPatch: (context: any) => Promise<any>;
|
|
1288
1277
|
export declare const userQueryProperties: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
|
|
1289
1278
|
_id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
|
|
@@ -1459,9 +1448,7 @@ export declare const userQueryProperties: import("@feathersjs/typebox").TPick<im
|
|
|
1459
1448
|
updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
1460
1449
|
lastLoginAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
|
|
1461
1450
|
skipEmailVerification: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
1462
|
-
/** Computed server-side: true when the require-credit-card feature flag evaluates true for this user */
|
|
1463
1451
|
requiresCreditCard: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
|
|
1464
|
-
/** Signup survey answers collected during the credit-card wall flow */
|
|
1465
1452
|
signupSurvey: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
|
|
1466
1453
|
source: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
1467
1454
|
traderType: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import type { ClientApplication } from '../../client';
|
|
2
2
|
import type { User, UserData, UserPatch, UserQuery, UserService } from './users.class';
|
|
3
3
|
export type { User, UserData, UserPatch, UserQuery };
|
|
4
|
-
|
|
5
|
-
export type UserClientService = Pick<UserService, // ← no generics – class is concrete
|
|
6
|
-
(typeof userMethods)[number]>;
|
|
4
|
+
export type UserClientService = Pick<UserService, (typeof userMethods)[number]>;
|
|
7
5
|
export declare const userPath = "users";
|
|
8
6
|
export declare const userMethods: readonly ['get', 'create', 'patch', 'find', 'remove'];
|
|
9
7
|
export declare const userClient: (client: ClientApplication) => void;
|