@ductape/sdk 0.1.20 → 0.1.22
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/dist/agents/agents.service.d.ts +2 -0
- package/dist/agents/agents.service.js +26 -3
- package/dist/agents/agents.service.js.map +1 -1
- package/dist/api/services/logsApi.service.js +5 -1
- package/dist/api/services/logsApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.d.ts +111 -0
- package/dist/api/services/productsApi.service.js +90 -0
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/urls.d.ts +7 -0
- package/dist/api/urls.js +14 -7
- package/dist/api/urls.js.map +1 -1
- package/dist/apps/services/app.service.js +7 -2
- package/dist/apps/services/app.service.js.map +1 -1
- package/dist/brokers/brokers.service.js +20 -12
- package/dist/brokers/brokers.service.js.map +1 -1
- package/dist/database/adapters/mysql.adapter.js +8 -3
- package/dist/database/adapters/mysql.adapter.js.map +1 -1
- package/dist/database/adapters/postgresql.adapter.js +6 -2
- package/dist/database/adapters/postgresql.adapter.js.map +1 -1
- package/dist/database/databases.service.d.ts +10 -1
- package/dist/database/databases.service.js +84 -27
- package/dist/database/databases.service.js.map +1 -1
- package/dist/graph/graphs.service.d.ts +7 -3
- package/dist/graph/graphs.service.js +67 -31
- package/dist/graph/graphs.service.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.js +32 -93
- package/dist/index.js.map +1 -1
- package/dist/logs/logs.service.d.ts +3 -1
- package/dist/logs/logs.service.js +12 -2
- package/dist/logs/logs.service.js.map +1 -1
- package/dist/logs/logs.types.d.ts +4 -0
- package/dist/logs/logs.types.js.map +1 -1
- package/dist/notifications/notifications.service.d.ts +6 -0
- package/dist/notifications/notifications.service.js +54 -17
- package/dist/notifications/notifications.service.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +0 -14
- package/dist/processor/services/processor.service.js +6 -72
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/products/bootstrap-cache.d.ts +22 -0
- package/dist/products/bootstrap-cache.js +78 -0
- package/dist/products/bootstrap-cache.js.map +1 -0
- package/dist/products/services/products.service.d.ts +46 -3
- package/dist/products/services/products.service.js +304 -125
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productFallback.validator.js +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +7 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productQuota.validator.js +1 -1
- package/dist/products/validators/joi-validators/create.productVector.validator.js +6 -0
- package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productFallback.validator.js +1 -1
- package/dist/products/validators/joi-validators/update.productGraph.validator.js +9 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productQuota.validator.js +1 -1
- package/dist/resilience/fallback.service.d.ts +3 -0
- package/dist/resilience/fallback.service.js +49 -14
- package/dist/resilience/fallback.service.js.map +1 -1
- package/dist/resilience/healthcheck.service.d.ts +3 -0
- package/dist/resilience/healthcheck.service.js +57 -7
- package/dist/resilience/healthcheck.service.js.map +1 -1
- package/dist/resilience/quota.service.d.ts +3 -0
- package/dist/resilience/quota.service.js +49 -14
- package/dist/resilience/quota.service.js.map +1 -1
- package/dist/resilience/resilience-execution.utils.d.ts +22 -0
- package/dist/resilience/resilience-execution.utils.js +81 -0
- package/dist/resilience/resilience-execution.utils.js.map +1 -0
- package/dist/sessions/sessions.service.d.ts +9 -1
- package/dist/sessions/sessions.service.js +125 -49
- package/dist/sessions/sessions.service.js.map +1 -1
- package/dist/types/index.types.d.ts +8 -0
- package/dist/types/index.types.js.map +1 -1
- package/dist/types/processor.types.d.ts +3 -0
- package/dist/types/processor.types.js.map +1 -1
- package/dist/types/requests.types.d.ts +4 -0
- package/dist/vector/vector-database.service.d.ts +6 -0
- package/dist/vector/vector-database.service.js +66 -8
- package/dist/vector/vector-database.service.js.map +1 -1
- package/package.json +3 -1
|
@@ -16,6 +16,7 @@ const products_service_1 = __importDefault(require("../products/services/product
|
|
|
16
16
|
const processor_service_1 = __importDefault(require("../processor/services/processor.service"));
|
|
17
17
|
const runtime_defaults_1 = require("../runtime/runtime-defaults");
|
|
18
18
|
const resilience_mapping_utils_1 = require("./resilience-mapping.utils");
|
|
19
|
+
const resilience_execution_utils_1 = require("./resilience-execution.utils");
|
|
19
20
|
/**
|
|
20
21
|
* Error class for quota operations
|
|
21
22
|
*/
|
|
@@ -294,6 +295,43 @@ class QuotaService {
|
|
|
294
295
|
/**
|
|
295
296
|
* Gets or creates a cached ProductBuilder
|
|
296
297
|
*/
|
|
298
|
+
createNewProductBuilder() {
|
|
299
|
+
return new products_service_1.default({
|
|
300
|
+
workspace_id: this.config.workspace_id,
|
|
301
|
+
public_key: this.config.public_key,
|
|
302
|
+
user_id: this.config.user_id,
|
|
303
|
+
token: this.config.token,
|
|
304
|
+
env_type: this.config.env_type,
|
|
305
|
+
redis_client: this.config.redis_client,
|
|
306
|
+
queues: this.config.queues,
|
|
307
|
+
access_key: this.config.access_key,
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
getOrCreateProductBuilder(productTag) {
|
|
311
|
+
let builder = this.productBuilders.get(productTag);
|
|
312
|
+
if (!builder) {
|
|
313
|
+
builder = this.createNewProductBuilder();
|
|
314
|
+
this.productBuilders.set(productTag, builder);
|
|
315
|
+
}
|
|
316
|
+
return builder;
|
|
317
|
+
}
|
|
318
|
+
async bootstrapQuotaForRun(product, env, tag) {
|
|
319
|
+
var _a;
|
|
320
|
+
const builder = this.getOrCreateProductBuilder(product);
|
|
321
|
+
const boot = await builder.bootstrapResilience({
|
|
322
|
+
product_tag: product,
|
|
323
|
+
env_slug: env,
|
|
324
|
+
component_type: 'quota',
|
|
325
|
+
component_tag: tag,
|
|
326
|
+
});
|
|
327
|
+
if ((_a = boot.private_key) === null || _a === void 0 ? void 0 : _a.trim()) {
|
|
328
|
+
this._privateKey = boot.private_key;
|
|
329
|
+
}
|
|
330
|
+
if (!(boot === null || boot === void 0 ? void 0 : boot.component)) {
|
|
331
|
+
throw new QuotaError(`Quota '${tag}' not found in product '${product}'`, 'QUOTA_NOT_FOUND');
|
|
332
|
+
}
|
|
333
|
+
return boot.component;
|
|
334
|
+
}
|
|
297
335
|
async getProductBuilder(productTag) {
|
|
298
336
|
let builder = this.productBuilders.get(productTag);
|
|
299
337
|
if (!builder) {
|
|
@@ -404,11 +442,7 @@ class QuotaService {
|
|
|
404
442
|
var _a;
|
|
405
443
|
const { product, env, tag, input } = this.resolvePE(options);
|
|
406
444
|
const startTime = Date.now();
|
|
407
|
-
|
|
408
|
-
const quota = await this.fetch(product, tag);
|
|
409
|
-
if (!quota) {
|
|
410
|
-
throw new QuotaError(`Quota '${tag}' not found in product '${product}'`, 'QUOTA_NOT_FOUND');
|
|
411
|
-
}
|
|
445
|
+
const quota = await this.bootstrapQuotaForRun(product, env, tag);
|
|
412
446
|
if (!((_a = quota.options) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
413
447
|
throw new QuotaError(`Quota '${tag}' has no providers configured`, 'NO_PROVIDERS');
|
|
414
448
|
}
|
|
@@ -511,15 +545,16 @@ class QuotaService {
|
|
|
511
545
|
let retriesUsed = 0;
|
|
512
546
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
513
547
|
try {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
548
|
+
const raw = await (0, resilience_execution_utils_1.executeResilienceProvider)(processor, {
|
|
549
|
+
workspace_id: this.config.workspace_id,
|
|
550
|
+
public_key: this.config.public_key,
|
|
551
|
+
user_id: this.config.user_id,
|
|
552
|
+
token: this.config.token,
|
|
553
|
+
env_type: this.config.env_type,
|
|
554
|
+
private_key: this._privateKey,
|
|
555
|
+
access_key: this.config.access_key,
|
|
556
|
+
redis_client: this.config.redis_client,
|
|
557
|
+
}, provider, env, product, input);
|
|
523
558
|
const data = (0, resilience_mapping_utils_1.applyResilienceMapping)(provider.output, input, raw);
|
|
524
559
|
return { data, retriesUsed };
|
|
525
560
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.service.js","sourceRoot":"","sources":["../../src/resilience/quota.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quota.service.js","sourceRoot":"","sources":["../../src/resilience/quota.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import ProcessorService from '../processor/services/processor.service';
|
|
2
|
+
import { EnvType } from '../types';
|
|
3
|
+
export interface IResilienceProviderLike {
|
|
4
|
+
app?: string | null;
|
|
5
|
+
event: string;
|
|
6
|
+
input?: Record<string, unknown> | object;
|
|
7
|
+
}
|
|
8
|
+
export interface IResilienceExecutionConfig {
|
|
9
|
+
workspace_id: string;
|
|
10
|
+
public_key: string;
|
|
11
|
+
user_id: string;
|
|
12
|
+
token: string;
|
|
13
|
+
env_type: EnvType;
|
|
14
|
+
private_key: string;
|
|
15
|
+
access_key?: string;
|
|
16
|
+
redis_client?: unknown;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Run a quota/fallback provider as either an app action or a product workflow.
|
|
20
|
+
* Workflow providers omit `app` and use `event` as the workflow tag.
|
|
21
|
+
*/
|
|
22
|
+
export declare function executeResilienceProvider(processor: ProcessorService, config: IResilienceExecutionConfig, provider: IResilienceProviderLike, env: string, product: string, input: Record<string, unknown>): Promise<unknown>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.executeResilienceProvider = executeResilienceProvider;
|
|
37
|
+
const resilience_mapping_utils_1 = require("./resilience-mapping.utils");
|
|
38
|
+
/**
|
|
39
|
+
* Run a quota/fallback provider as either an app action or a product workflow.
|
|
40
|
+
* Workflow providers omit `app` and use `event` as the workflow tag.
|
|
41
|
+
*/
|
|
42
|
+
async function executeResilienceProvider(processor, config, provider, env, product, input) {
|
|
43
|
+
var _a;
|
|
44
|
+
const mappedInput = (0, resilience_mapping_utils_1.applyResilienceInputMapping)(provider.input, input);
|
|
45
|
+
if (!((_a = provider.app) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
46
|
+
const { WorkflowService } = await Promise.resolve().then(() => __importStar(require('../workflows/workflows.service')));
|
|
47
|
+
const workflowService = new WorkflowService({
|
|
48
|
+
workspace_id: config.workspace_id,
|
|
49
|
+
public_key: config.public_key,
|
|
50
|
+
user_id: config.user_id,
|
|
51
|
+
token: config.token,
|
|
52
|
+
env_type: config.env_type,
|
|
53
|
+
private_key: config.private_key,
|
|
54
|
+
access_key: config.access_key,
|
|
55
|
+
redis_client: config.redis_client,
|
|
56
|
+
});
|
|
57
|
+
const result = await workflowService.execute({
|
|
58
|
+
product,
|
|
59
|
+
env,
|
|
60
|
+
tag: provider.event,
|
|
61
|
+
input: mappedInput,
|
|
62
|
+
});
|
|
63
|
+
if (result.status !== 'completed') {
|
|
64
|
+
throw new Error(result.error || `Workflow ${provider.event} failed with status ${result.status}`);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
status: result.status,
|
|
68
|
+
data: result.output,
|
|
69
|
+
workflow_id: result.workflow_id,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return processor.processAction({
|
|
73
|
+
env,
|
|
74
|
+
product,
|
|
75
|
+
app: provider.app,
|
|
76
|
+
action: provider.event,
|
|
77
|
+
input: mappedInput,
|
|
78
|
+
retries: 0,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=resilience-execution.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resilience-execution.utils.js","sourceRoot":"","sources":["../../src/resilience/resilience-execution.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,8DAsDC;AA7ED,yEAAyE;AAmBzE;;;GAGG;AACI,KAAK,UAAU,yBAAyB,CAC7C,SAA2B,EAC3B,MAAkC,EAClC,QAAiC,EACjC,GAAW,EACX,OAAe,EACf,KAA8B;;IAE9B,MAAM,WAAW,GAAG,IAAA,sDAA2B,EAC7C,QAAQ,CAAC,KAAgC,EACzC,KAAK,CACN,CAAC;IAEF,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,GAAG,0CAAE,IAAI,EAAE,CAAA,EAAE,CAAC;QAC1B,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;YAC1C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YAC3C,OAAO;YACP,GAAG;YACH,GAAG,EAAE,QAAQ,CAAC,KAAK;YACnB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,KAAK,IAAI,YAAY,QAAQ,CAAC,KAAK,uBAAuB,MAAM,CAAC,MAAM,EAAE,CACjF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC,aAAa,CAAC;QAC7B,GAAG;QACH,OAAO;QACP,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,MAAM,EAAE,QAAQ,CAAC,KAAK;QACtB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC;KACX,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* creating, refreshing, verifying, and revoking sessions.
|
|
6
6
|
*/
|
|
7
7
|
import { ISessionServiceConfig, ICreateSessionOptions, IRefreshSessionOptions, IVerifySessionOptions, IRevokeSessionOptions, IListSessionsOptions, ISessionResult, IVerifyResult, IListSessionsResult, IDefineSessionOptions, IDefinedSession, IFetchSessionUsersOptions, IFetchSessionUsersResult, IFetchSessionUserDetailsOptions, ISessionUserDetails, IFetchSessionActivityLogsOptions, IFetchSessionActivityLogsResult, IFetchSessionDashboardOptions, ISessionDashboardMetrics, IFetchUserDashboardOptions, IUserDashboardMetrics } from './types';
|
|
8
|
+
import { IBootstrapSessionResponse } from '../api/services/productsApi.service';
|
|
8
9
|
/**
|
|
9
10
|
* Error class for session operations
|
|
10
11
|
*/
|
|
@@ -94,8 +95,15 @@ export declare class SessionsService {
|
|
|
94
95
|
private validateCache;
|
|
95
96
|
/**
|
|
96
97
|
* Create a new session
|
|
98
|
+
*
|
|
99
|
+
* @param internal - For internal use by `refresh()`: lets it reuse the bootstrap it already
|
|
100
|
+
* fetched (instead of fetching again) and tags the write as a token rotation so the backend
|
|
101
|
+
* validates the previous refresh token atomically as part of the same write.
|
|
97
102
|
*/
|
|
98
|
-
create(options: ICreateSessionOptions
|
|
103
|
+
create(options: ICreateSessionOptions, internal?: {
|
|
104
|
+
bootstrap?: IBootstrapSessionResponse;
|
|
105
|
+
previousRefreshToken?: string;
|
|
106
|
+
}): Promise<ISessionResult>;
|
|
99
107
|
/**
|
|
100
108
|
* Refresh an existing session
|
|
101
109
|
*/
|
|
@@ -249,9 +249,13 @@ class SessionsService {
|
|
|
249
249
|
}
|
|
250
250
|
/**
|
|
251
251
|
* Create a new session
|
|
252
|
+
*
|
|
253
|
+
* @param internal - For internal use by `refresh()`: lets it reuse the bootstrap it already
|
|
254
|
+
* fetched (instead of fetching again) and tags the write as a token rotation so the backend
|
|
255
|
+
* validates the previous refresh token atomically as part of the same write.
|
|
252
256
|
*/
|
|
253
|
-
async create(options) {
|
|
254
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
257
|
+
async create(options, internal) {
|
|
258
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
255
259
|
const process_id = (0, processor_utils_1.generateObjectId)();
|
|
256
260
|
const start = Date.now();
|
|
257
261
|
const { product, env, tag, data, cache } = this.resolvePE(options);
|
|
@@ -274,9 +278,35 @@ class SessionsService {
|
|
|
274
278
|
data,
|
|
275
279
|
expected: types_1.ExpectedValues.PARSEINPUT,
|
|
276
280
|
}));
|
|
277
|
-
|
|
278
|
-
this.
|
|
279
|
-
|
|
281
|
+
const cachedPrivateKey = this.privateKeys.get(product);
|
|
282
|
+
if (cache && this.cacheManager && cachedPrivateKey) {
|
|
283
|
+
const cacheConfig = await this.validateCache(cache, product);
|
|
284
|
+
const cacheOptions = {
|
|
285
|
+
cache_tag: cache,
|
|
286
|
+
product_tag: product,
|
|
287
|
+
component_tag: tag,
|
|
288
|
+
component_type: 'session',
|
|
289
|
+
operation: 'create',
|
|
290
|
+
input: { tag, data },
|
|
291
|
+
privateKey: cachedPrivateKey,
|
|
292
|
+
expiry: cacheConfig.expiry,
|
|
293
|
+
};
|
|
294
|
+
const cached = await this.cacheManager.fetch(cacheOptions);
|
|
295
|
+
if (cached.hit && cached.data) {
|
|
296
|
+
const end = Date.now();
|
|
297
|
+
(_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start,
|
|
298
|
+
end, message: `Session create - cache hit (${cached.source})`, successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS, data: { tag, operation: 'create', cache_source: cached.source }, cache_tag: cache, cache_key: cached.key, cache_status: true }));
|
|
299
|
+
(_c = this.logService) === null || _c === void 0 ? void 0 : _c.publish().catch(() => { });
|
|
300
|
+
return cached.data;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
const bootstrap = (_d = internal === null || internal === void 0 ? void 0 : internal.bootstrap) !== null && _d !== void 0 ? _d : await this.productBuilderService.bootstrapSession({
|
|
304
|
+
product_tag: product,
|
|
305
|
+
env_slug: env,
|
|
306
|
+
session_tag: tag,
|
|
307
|
+
});
|
|
308
|
+
this.productId = bootstrap.product_id || '';
|
|
309
|
+
const privateKey = bootstrap.private_key || '';
|
|
280
310
|
// Store private key for cache operations
|
|
281
311
|
if (privateKey) {
|
|
282
312
|
this.privateKeys.set(product, privateKey);
|
|
@@ -297,18 +327,17 @@ class SessionsService {
|
|
|
297
327
|
const cached = await this.cacheManager.fetch(cacheOptions);
|
|
298
328
|
if (cached.hit && cached.data) {
|
|
299
329
|
const end = Date.now();
|
|
300
|
-
(
|
|
330
|
+
(_e = this.logService) === null || _e === void 0 ? void 0 : _e.add(Object.assign(Object.assign({}, baseLogs), { start,
|
|
301
331
|
end, message: `Session create - cache hit (${cached.source})`, successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS, data: { tag, operation: 'create', cache_source: cached.source }, cache_tag: cache, cache_key: cached.key, cache_status: true }));
|
|
302
|
-
(
|
|
332
|
+
(_f = this.logService) === null || _f === void 0 ? void 0 : _f.publish().catch(() => { });
|
|
303
333
|
return cached.data;
|
|
304
334
|
}
|
|
305
335
|
}
|
|
306
|
-
const session =
|
|
336
|
+
const session = bootstrap.session;
|
|
307
337
|
if (!session) {
|
|
308
338
|
throw new SessionError(`Session with tag ${tag} does not exist`, 'SESSION_NOT_FOUND');
|
|
309
339
|
}
|
|
310
|
-
|
|
311
|
-
if (!productEnv) {
|
|
340
|
+
if (!bootstrap.env) {
|
|
312
341
|
throw new SessionError(`Environment with slug ${env} does not exist`, 'ENV_NOT_FOUND');
|
|
313
342
|
}
|
|
314
343
|
// Validate input against session schema
|
|
@@ -336,7 +365,8 @@ class SessionsService {
|
|
|
336
365
|
data: (0, processor_utils_1.encrypt)(JSON.stringify(JSON.stringify(data)), privateKey),
|
|
337
366
|
session_id: sessionId,
|
|
338
367
|
};
|
|
339
|
-
await this.processorApiService.createSessionInfo(Object.assign({ product_tag: product, env,
|
|
368
|
+
await this.processorApiService.createSessionInfo(Object.assign(Object.assign({ product_tag: product, env,
|
|
369
|
+
refreshToken }, details), ((internal === null || internal === void 0 ? void 0 : internal.previousRefreshToken) ? { previous_refresh_token: internal.previousRefreshToken } : {})), this.getUserAccess());
|
|
340
370
|
const result = {
|
|
341
371
|
token: `${tag}:${token}`,
|
|
342
372
|
refreshToken,
|
|
@@ -358,16 +388,16 @@ class SessionsService {
|
|
|
358
388
|
}, result);
|
|
359
389
|
}
|
|
360
390
|
const end = Date.now();
|
|
361
|
-
(
|
|
391
|
+
(_g = this.logService) === null || _g === void 0 ? void 0 : _g.add(Object.assign(Object.assign({}, baseLogs), { start,
|
|
362
392
|
end, message: 'Session create - success', successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS }));
|
|
363
|
-
(
|
|
393
|
+
(_h = this.logService) === null || _h === void 0 ? void 0 : _h.publish();
|
|
364
394
|
return result;
|
|
365
395
|
}
|
|
366
396
|
catch (error) {
|
|
367
397
|
const end = Date.now();
|
|
368
|
-
(
|
|
398
|
+
(_j = this.logService) === null || _j === void 0 ? void 0 : _j.add(Object.assign(Object.assign({}, baseLogs), { start,
|
|
369
399
|
end, message: 'Session create - failed', failed_execution: true, data: { tag, operation: 'create', error: String(error) }, status: logs_types_1.LogEventStatus.FAIL }));
|
|
370
|
-
await ((
|
|
400
|
+
await ((_k = this.logService) === null || _k === void 0 ? void 0 : _k.publish());
|
|
371
401
|
if (error instanceof SessionError)
|
|
372
402
|
throw error;
|
|
373
403
|
throw new SessionError(`Failed to create session: ${error}`, 'CREATE_FAILED', error);
|
|
@@ -377,7 +407,7 @@ class SessionsService {
|
|
|
377
407
|
* Refresh an existing session
|
|
378
408
|
*/
|
|
379
409
|
async refresh(options) {
|
|
380
|
-
var _a, _b, _c, _d, _e;
|
|
410
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
381
411
|
const process_id = (0, processor_utils_1.generateObjectId)();
|
|
382
412
|
const start = Date.now();
|
|
383
413
|
const { product, env, tag, refreshToken, cache } = this.resolvePE(options);
|
|
@@ -395,29 +425,43 @@ class SessionsService {
|
|
|
395
425
|
};
|
|
396
426
|
(_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Session refresh - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
|
|
397
427
|
try {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
// Decrypt refresh token to get original data
|
|
428
|
+
// The one read: bootstrap fetches product/session context + private key (cached, 5min TTL).
|
|
429
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
430
|
+
product_tag: product,
|
|
431
|
+
env_slug: env,
|
|
432
|
+
session_tag: tag,
|
|
433
|
+
});
|
|
434
|
+
this.productId = bootstrap.product_id || '';
|
|
435
|
+
const privateKey = bootstrap.private_key || '';
|
|
436
|
+
// Decrypt refresh token locally to get original data — no network call needed.
|
|
407
437
|
const data = JSON.parse((0, processor_utils_1.decrypt)(refreshToken, privateKey));
|
|
408
|
-
//
|
|
409
|
-
|
|
438
|
+
// The one write: create() validates+rotates the previous refresh token and persists
|
|
439
|
+
// the new session atomically on the backend (no separate validateRefreshToken round trip).
|
|
440
|
+
// Pass the already-fetched bootstrap through so create() doesn't fetch it again.
|
|
441
|
+
let result;
|
|
442
|
+
try {
|
|
443
|
+
result = await this.create({ product, env, tag, data, cache }, { bootstrap, previousRefreshToken: refreshToken });
|
|
444
|
+
}
|
|
445
|
+
catch (createError) {
|
|
446
|
+
const axiosStatus = (createError === null || createError === void 0 ? void 0 : createError.details)
|
|
447
|
+
? (_c = (_b = createError.details) === null || _b === void 0 ? void 0 : _b.response) === null || _c === void 0 ? void 0 : _c.status
|
|
448
|
+
: undefined;
|
|
449
|
+
if (axiosStatus === 401) {
|
|
450
|
+
throw new SessionError('Invalid refresh token', 'INVALID_REFRESH_TOKEN');
|
|
451
|
+
}
|
|
452
|
+
throw createError;
|
|
453
|
+
}
|
|
410
454
|
const end = Date.now();
|
|
411
|
-
(
|
|
455
|
+
(_d = this.logService) === null || _d === void 0 ? void 0 : _d.add(Object.assign(Object.assign({}, baseLogs), { start,
|
|
412
456
|
end, message: 'Session refresh - success', successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS }));
|
|
413
|
-
(
|
|
457
|
+
(_e = this.logService) === null || _e === void 0 ? void 0 : _e.publish();
|
|
414
458
|
return result;
|
|
415
459
|
}
|
|
416
460
|
catch (error) {
|
|
417
461
|
const end = Date.now();
|
|
418
|
-
(
|
|
462
|
+
(_f = this.logService) === null || _f === void 0 ? void 0 : _f.add(Object.assign(Object.assign({}, baseLogs), { start,
|
|
419
463
|
end, message: 'Session refresh - failed', failed_execution: true, data: { tag, operation: 'refresh', error: String(error) }, status: logs_types_1.LogEventStatus.FAIL }));
|
|
420
|
-
await ((
|
|
464
|
+
await ((_g = this.logService) === null || _g === void 0 ? void 0 : _g.publish());
|
|
421
465
|
if (error instanceof SessionError)
|
|
422
466
|
throw error;
|
|
423
467
|
throw new SessionError(`Failed to refresh session: ${error}`, 'REFRESH_FAILED', error);
|
|
@@ -445,9 +489,13 @@ class SessionsService {
|
|
|
445
489
|
};
|
|
446
490
|
(_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Session verify - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
|
|
447
491
|
try {
|
|
448
|
-
await this.productBuilderService.
|
|
449
|
-
|
|
450
|
-
|
|
492
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
493
|
+
product_tag: product,
|
|
494
|
+
env_slug: env,
|
|
495
|
+
session_tag: tag,
|
|
496
|
+
});
|
|
497
|
+
this.productId = bootstrap.product_id || '';
|
|
498
|
+
const privateKey = bootstrap.private_key || '';
|
|
451
499
|
// Store private key for cache operations
|
|
452
500
|
if (privateKey) {
|
|
453
501
|
this.privateKeys.set(product, privateKey);
|
|
@@ -572,8 +620,12 @@ class SessionsService {
|
|
|
572
620
|
if (!sessionId && !identifier) {
|
|
573
621
|
throw new SessionError('Either sessionId or identifier must be provided', 'INVALID_PARAMS');
|
|
574
622
|
}
|
|
575
|
-
await this.productBuilderService.
|
|
576
|
-
|
|
623
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
624
|
+
product_tag: product,
|
|
625
|
+
env_slug: env,
|
|
626
|
+
session_tag: tag,
|
|
627
|
+
});
|
|
628
|
+
this.productId = bootstrap.product_id || '';
|
|
577
629
|
await this.processorApiService.revokeSession({ product, env, sessionId, identifier }, this.getUserAccess());
|
|
578
630
|
const end = Date.now();
|
|
579
631
|
(_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start,
|
|
@@ -612,9 +664,13 @@ class SessionsService {
|
|
|
612
664
|
};
|
|
613
665
|
(_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Session list - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
|
|
614
666
|
try {
|
|
615
|
-
await this.productBuilderService.
|
|
616
|
-
|
|
617
|
-
|
|
667
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
668
|
+
product_tag: product,
|
|
669
|
+
env_slug: env,
|
|
670
|
+
session_tag: tag,
|
|
671
|
+
});
|
|
672
|
+
this.productId = bootstrap.product_id || '';
|
|
673
|
+
const privateKey = bootstrap.private_key || '';
|
|
618
674
|
// Store private key for cache operations
|
|
619
675
|
if (privateKey) {
|
|
620
676
|
this.privateKeys.set(product, privateKey);
|
|
@@ -807,8 +863,12 @@ class SessionsService {
|
|
|
807
863
|
async fetchUsers(options) {
|
|
808
864
|
const { product, session: sessionTag, env, page = 1, limit = 20 } = this.resolvePE(options);
|
|
809
865
|
try {
|
|
810
|
-
await this.productBuilderService.
|
|
811
|
-
|
|
866
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
867
|
+
product_tag: product,
|
|
868
|
+
env_slug: env,
|
|
869
|
+
session_tag: sessionTag,
|
|
870
|
+
});
|
|
871
|
+
this.productId = bootstrap.product_id || '';
|
|
812
872
|
const result = await this.processorApiService.fetchSessionUsers({
|
|
813
873
|
product_tag: product,
|
|
814
874
|
session_tag: sessionTag,
|
|
@@ -845,8 +905,12 @@ class SessionsService {
|
|
|
845
905
|
var _a;
|
|
846
906
|
const { product, session: sessionTag, identifier, env } = this.resolvePE(options);
|
|
847
907
|
try {
|
|
848
|
-
await this.productBuilderService.
|
|
849
|
-
|
|
908
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
909
|
+
product_tag: product,
|
|
910
|
+
env_slug: env,
|
|
911
|
+
session_tag: sessionTag,
|
|
912
|
+
});
|
|
913
|
+
this.productId = bootstrap.product_id || '';
|
|
850
914
|
const result = await this.processorApiService.fetchSessionUserDetails({
|
|
851
915
|
product_tag: product,
|
|
852
916
|
session_tag: sessionTag,
|
|
@@ -880,8 +944,12 @@ class SessionsService {
|
|
|
880
944
|
async fetchActivityLogs(options) {
|
|
881
945
|
const { product, session: sessionTag, env, status, start: startDate, end: endDate, page = 1, limit = 20 } = this.resolvePE(options);
|
|
882
946
|
try {
|
|
883
|
-
await this.productBuilderService.
|
|
884
|
-
|
|
947
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
948
|
+
product_tag: product,
|
|
949
|
+
env_slug: env,
|
|
950
|
+
session_tag: sessionTag,
|
|
951
|
+
});
|
|
952
|
+
this.productId = bootstrap.product_id || '';
|
|
885
953
|
const result = await this.processorApiService.fetchSessionActivityLogs({
|
|
886
954
|
product_tag: product,
|
|
887
955
|
session_tag: sessionTag,
|
|
@@ -919,8 +987,12 @@ class SessionsService {
|
|
|
919
987
|
async fetchDashboard(options) {
|
|
920
988
|
const { product, session: sessionTag, env } = this.resolvePE(options);
|
|
921
989
|
try {
|
|
922
|
-
await this.productBuilderService.
|
|
923
|
-
|
|
990
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
991
|
+
product_tag: product,
|
|
992
|
+
env_slug: env,
|
|
993
|
+
session_tag: sessionTag,
|
|
994
|
+
});
|
|
995
|
+
this.productId = bootstrap.product_id || '';
|
|
924
996
|
// Fetch dashboard metrics from backend
|
|
925
997
|
const dashboard = await this.processorApiService.fetchSessionUsersDashboard({
|
|
926
998
|
product_tag: product,
|
|
@@ -967,8 +1039,12 @@ class SessionsService {
|
|
|
967
1039
|
async fetchUserDashboard(options) {
|
|
968
1040
|
const { product, session: sessionTag, identifier, env } = this.resolvePE(options);
|
|
969
1041
|
try {
|
|
970
|
-
await this.productBuilderService.
|
|
971
|
-
|
|
1042
|
+
const bootstrap = await this.productBuilderService.bootstrapSession({
|
|
1043
|
+
product_tag: product,
|
|
1044
|
+
env_slug: env,
|
|
1045
|
+
session_tag: sessionTag,
|
|
1046
|
+
});
|
|
1047
|
+
this.productId = bootstrap.product_id || '';
|
|
972
1048
|
// Fetch user dashboard metrics from backend
|
|
973
1049
|
const dashboard = await this.processorApiService.fetchUserDashboard({
|
|
974
1050
|
product_tag: product,
|