@eaera-com/cms-sdk 0.1.100 → 0.1.102
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/chunks/{_shared-Dyz_Ya9z.js → _shared-DWYblQqx.js} +6 -1
- package/dist/chunks/_txn-DmQZNq48.js +99 -0
- package/dist/chunks/{connection--KUpmDbP.js → connection-DprBIh4D.js} +0 -10
- package/dist/common/constants/bars.constant.d.ts +2 -0
- package/dist/common/constants/bars.constant.d.ts.map +1 -1
- package/dist/common/constants/oauth.constant.d.ts +26 -0
- package/dist/common/constants/oauth.constant.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -1
- package/dist/nuxt.d.ts +5 -0
- package/dist/nuxt.d.ts.map +1 -1
- package/dist/nuxt.js +4 -0
- package/dist/runtime/plugin.js +6 -1
- package/dist/server/ai/qwenpaw/chat/stop.post.js +1 -1
- package/dist/server/ai/qwenpaw/chat.post.js +1 -1
- package/dist/server/ai/qwenpaw/chats-id.delete.js +1 -1
- package/dist/server/ai/qwenpaw/chats.get.js +1 -1
- package/dist/server/ai/qwenpaw/history.get.js +1 -1
- package/dist/server/ai/qwenpaw/session.get.js +1 -1
- package/dist/server/ai/qwenpaw/session.post.js +1 -1
- package/dist/server/ai/qwenpaw/upload.post.js +1 -1
- package/dist/server/auth/cbs-callback.post.js +3 -3
- package/dist/server/auth/cbs-start.post.js +1 -1
- package/dist/server/auth/idp-callback.get.js +3 -3
- package/dist/server/auth/idp-link-callback.get.js +1 -1
- package/dist/server/auth/idp-link-start.get.js +1 -1
- package/dist/server/auth/idp-link.post.js +1 -1
- package/dist/server/auth/idp-login.get.js +1 -1
- package/dist/server/auth/idp-me.get.js +1 -1
- package/dist/server/auth/idp-unlink.delete.js +1 -1
- package/dist/server/auth/login.post.js +3 -3
- package/dist/server/auth/logout.post.js +1 -1
- package/dist/server/auth/refresh.post.js +18 -3
- package/dist/server/authz/portal-access.get.js +1 -1
- package/dist/server/oauth/callback.get.js +53 -0
- package/dist/server/oauth/start.get.js +46 -0
- package/dist/services/bars/bars.type.d.ts +22 -2
- package/dist/services/bars/bars.type.d.ts.map +1 -1
- package/dist/services/bars/index.d.ts +12 -3
- package/dist/services/bars/index.d.ts.map +1 -1
- package/dist/services/bars/mock.d.ts +16 -1
- package/dist/services/bars/mock.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { a as COOKIE_DEFAULTS } from './storage.constant-CVWam5ls.js';
|
|
2
|
+
import { getRequestURL } from 'h3';
|
|
2
3
|
import { useRuntimeConfig } from '#imports';
|
|
3
4
|
|
|
4
5
|
const TOKEN_COOKIE_OPTIONS = {
|
|
@@ -8,6 +9,10 @@ const TOKEN_COOKIE_OPTIONS = {
|
|
|
8
9
|
path: COOKIE_DEFAULTS.PATH,
|
|
9
10
|
maxAge: COOKIE_DEFAULTS.MAX_AGE_SECONDS
|
|
10
11
|
};
|
|
12
|
+
function tokenCookieOptions(event) {
|
|
13
|
+
const secure = new URL(getRequestURL(event)).protocol === "https:";
|
|
14
|
+
return { ...TOKEN_COOKIE_OPTIONS, secure };
|
|
15
|
+
}
|
|
11
16
|
function readSdkConfig(event) {
|
|
12
17
|
const config = useRuntimeConfig(event);
|
|
13
18
|
const pub = config?.public ?? {};
|
|
@@ -22,4 +27,4 @@ function readSdkConfig(event) {
|
|
|
22
27
|
};
|
|
23
28
|
}
|
|
24
29
|
|
|
25
|
-
export { TOKEN_COOKIE_OPTIONS as T, readSdkConfig as r };
|
|
30
|
+
export { TOKEN_COOKIE_OPTIONS as T, readSdkConfig as r, tokenCookieOptions as t };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { timingSafeEqual, randomBytes, createHash } from 'node:crypto';
|
|
2
|
+
import { parseCookies, setCookie } from 'h3';
|
|
3
|
+
|
|
4
|
+
const OAUTH_PROXY_PATH = {
|
|
5
|
+
/** GET — CMS code callback (state check + code exchange). Must match the
|
|
6
|
+
* route the Nuxt module registers in `nuxt.ts` (SERVER_HANDLERS). */
|
|
7
|
+
CALLBACK: "/api/cms/oauth/callback"
|
|
8
|
+
};
|
|
9
|
+
const OAUTH_TXN_COOKIE = "cms_oauth_txn";
|
|
10
|
+
const OAUTH_TXN_TTL_MS = 10 * 60 * 1e3;
|
|
11
|
+
const OAUTH_TXN_MAX_ENTRIES = 1e3;
|
|
12
|
+
const OAUTH_GRANT_AUTHORIZATION_CODE = "authorization_code";
|
|
13
|
+
const OAUTH_PKCE_METHOD = "S256";
|
|
14
|
+
|
|
15
|
+
const GLOBAL_KEY = "__cms_sdk_oauth_txns__";
|
|
16
|
+
function store() {
|
|
17
|
+
const g = globalThis;
|
|
18
|
+
g[GLOBAL_KEY] ??= { txns: /* @__PURE__ */ new Map(), byState: /* @__PURE__ */ new Map() };
|
|
19
|
+
return g[GLOBAL_KEY];
|
|
20
|
+
}
|
|
21
|
+
function prune() {
|
|
22
|
+
const s = store();
|
|
23
|
+
const now = Date.now();
|
|
24
|
+
for (const [id, txn] of s.txns) {
|
|
25
|
+
if (now - txn.createdAt > OAUTH_TXN_TTL_MS) {
|
|
26
|
+
s.txns.delete(id);
|
|
27
|
+
s.byState.delete(txn.state);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
while (s.txns.size > OAUTH_TXN_MAX_ENTRIES) {
|
|
31
|
+
const oldest = s.txns.keys().next().value;
|
|
32
|
+
if (!oldest) break;
|
|
33
|
+
const txn = s.txns.get(oldest);
|
|
34
|
+
s.txns.delete(oldest);
|
|
35
|
+
if (txn) s.byState.delete(txn.state);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function base64url(bytes) {
|
|
39
|
+
return bytes.toString("base64url");
|
|
40
|
+
}
|
|
41
|
+
function createPkce() {
|
|
42
|
+
return {
|
|
43
|
+
state: base64url(randomBytes(32)),
|
|
44
|
+
verifier: base64url(randomBytes(64)),
|
|
45
|
+
challenge: ""
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function codeChallenge(verifier) {
|
|
49
|
+
return base64url(createHash("sha256").update(verifier).digest());
|
|
50
|
+
}
|
|
51
|
+
function saveTransaction(txn) {
|
|
52
|
+
prune();
|
|
53
|
+
const id = base64url(randomBytes(24));
|
|
54
|
+
const s = store();
|
|
55
|
+
s.txns.set(id, txn);
|
|
56
|
+
s.byState.set(txn.state, id);
|
|
57
|
+
return id;
|
|
58
|
+
}
|
|
59
|
+
function consumeTransaction(event, state) {
|
|
60
|
+
const s = store();
|
|
61
|
+
const id = s.byState.get(state);
|
|
62
|
+
if (!id) return null;
|
|
63
|
+
const cookie = parseCookies(event)[OAUTH_TXN_COOKIE];
|
|
64
|
+
if (!cookie || !safeEqual(cookie, id)) return null;
|
|
65
|
+
const txn = s.txns.get(id);
|
|
66
|
+
if (!txn) return null;
|
|
67
|
+
s.txns.delete(id);
|
|
68
|
+
s.byState.delete(state);
|
|
69
|
+
if (Date.now() - txn.createdAt > OAUTH_TXN_TTL_MS) return null;
|
|
70
|
+
return txn;
|
|
71
|
+
}
|
|
72
|
+
function clearTransactionCookie(event) {
|
|
73
|
+
setCookie(event, OAUTH_TXN_COOKIE, "", {
|
|
74
|
+
httpOnly: true,
|
|
75
|
+
sameSite: "lax",
|
|
76
|
+
path: "/",
|
|
77
|
+
maxAge: 0
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function setTransactionCookie(event, txnId) {
|
|
81
|
+
setCookie(event, OAUTH_TXN_COOKIE, txnId, {
|
|
82
|
+
httpOnly: true,
|
|
83
|
+
sameSite: "lax",
|
|
84
|
+
path: "/",
|
|
85
|
+
maxAge: Math.floor(OAUTH_TXN_TTL_MS / 1e3)
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
const PKCE_METHOD = OAUTH_PKCE_METHOD;
|
|
89
|
+
function safeEqual(a, b) {
|
|
90
|
+
const bufA = Buffer.from(a);
|
|
91
|
+
const bufB = Buffer.from(b);
|
|
92
|
+
if (bufA.length !== bufB.length) return false;
|
|
93
|
+
return timingSafeEqual(bufA, bufB);
|
|
94
|
+
}
|
|
95
|
+
function safeReturnPath(value) {
|
|
96
|
+
return value && value.startsWith("/") && !value.startsWith("//") ? value : "/";
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export { OAUTH_GRANT_AUTHORIZATION_CODE as O, PKCE_METHOD as P, clearTransactionCookie as a, createPkce as b, consumeTransaction as c, saveTransaction as d, setTransactionCookie as e, OAUTH_PROXY_PATH as f, codeChallenge as g, safeReturnPath as s };
|
|
@@ -27,11 +27,6 @@ const setQwenpawSessionCookies = (event, connection) => {
|
|
|
27
27
|
path: "/",
|
|
28
28
|
maxAge: QWENPAW_COOKIE_MAX_AGE
|
|
29
29
|
};
|
|
30
|
-
console.log("[qwenpaw] exchange saved connection →", {
|
|
31
|
-
agentId: connection.agentId,
|
|
32
|
-
agentIdIsConstant: connection.agentId === QWENPAW_DEFAULT_AGENT_ID,
|
|
33
|
-
baseUrl: connection.baseUrl
|
|
34
|
-
});
|
|
35
30
|
setCookie(event, QWENPAW_COOKIE_BASE_URL, connection.baseUrl, common);
|
|
36
31
|
};
|
|
37
32
|
const readCookieValue = (event, name) => {
|
|
@@ -44,11 +39,6 @@ const resolveQwenpawConnection = (event, overrides = {}) => {
|
|
|
44
39
|
baseUrl: overrides.baseUrl || readCookieValue(event, QWENPAW_COOKIE_BASE_URL) || config.baseUrl,
|
|
45
40
|
agentId: QWENPAW_DEFAULT_AGENT_ID
|
|
46
41
|
};
|
|
47
|
-
console.log("[qwenpaw] resolveQwenpawConnection →", {
|
|
48
|
-
agentId: resolved.agentId,
|
|
49
|
-
source: overrides.baseUrl ? "override" : readCookieValue(event, QWENPAW_COOKIE_BASE_URL) ? "cookie" : "runtimeConfig",
|
|
50
|
-
baseUrl: resolved.baseUrl
|
|
51
|
-
});
|
|
52
42
|
return resolved;
|
|
53
43
|
};
|
|
54
44
|
const hasQwenpawConnection = (event) => Boolean(resolveQwenpawConnection(event).baseUrl);
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const BARS_ENDPOINT: {
|
|
6
6
|
readonly BASE: "/api/v1/chart/bars";
|
|
7
|
+
/** Latest M1 bar per symbol — POST, body `{ symbols, serverName }`. */
|
|
8
|
+
readonly LATEST: "/api/v1/chart/bars/latest";
|
|
7
9
|
};
|
|
8
10
|
/** Chart-bars query defaults (doc §5.5.1). */
|
|
9
11
|
export declare const BARS_DEFAULTS: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bars.constant.d.ts","sourceRoot":"","sources":["../../../src/common/constants/bars.constant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa;;
|
|
1
|
+
{"version":3,"file":"bars.constant.d.ts","sourceRoot":"","sources":["../../../src/common/constants/bars.constant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa;;IAExB,uEAAuE;;CAE/D,CAAC;AAEX,8CAA8C;AAC9C,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central-login OAuth constants (FEAT-014 portal integration contract).
|
|
3
|
+
*
|
|
4
|
+
* The portal BFF owns state + PKCE; the browser only ever sees the
|
|
5
|
+
* authorize redirect and the code/state echo on the callback. Secrets and
|
|
6
|
+
* verifiers stay server-side.
|
|
7
|
+
*/
|
|
8
|
+
export declare const OAUTH_PROXY_PATH: {
|
|
9
|
+
/** GET — starts the flow (302 to the CMS authorize URL). Must match the
|
|
10
|
+
* route the Nuxt module registers in `nuxt.ts` (SERVER_HANDLERS). */
|
|
11
|
+
readonly START: "/api/cms/oauth/start";
|
|
12
|
+
/** GET — CMS code callback (state check + code exchange). Must match the
|
|
13
|
+
* route the Nuxt module registers in `nuxt.ts` (SERVER_HANDLERS). */
|
|
14
|
+
readonly CALLBACK: "/api/cms/oauth/callback";
|
|
15
|
+
};
|
|
16
|
+
/** Browser-correlation cookie holding the local transaction id. */
|
|
17
|
+
export declare const OAUTH_TXN_COOKIE = "cms_oauth_txn";
|
|
18
|
+
/** Transaction TTL — must cover the whole login round-trip. */
|
|
19
|
+
export declare const OAUTH_TXN_TTL_MS: number;
|
|
20
|
+
/** Prune threshold — keep the in-memory map bounded. */
|
|
21
|
+
export declare const OAUTH_TXN_MAX_ENTRIES = 1000;
|
|
22
|
+
/** Token endpoint grant used for the code exchange. */
|
|
23
|
+
export declare const OAUTH_GRANT_AUTHORIZATION_CODE = "authorization_code";
|
|
24
|
+
/** PKCE method required by the CMS (S256, 43-char challenge, no padding). */
|
|
25
|
+
export declare const OAUTH_PKCE_METHOD = "S256";
|
|
26
|
+
//# sourceMappingURL=oauth.constant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.constant.d.ts","sourceRoot":"","sources":["../../../src/common/constants/oauth.constant.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC3B;0EACsE;;IAEtE;0EACsE;;CAE9D,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,QAAiB,CAAC;AAE/C,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,uDAAuD;AACvD,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,SAAS,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ export type { ILlmService, ILlmServiceOptions } from './services/llm';
|
|
|
59
59
|
export type { PromptCreatePayload, PromptUpdatePayload, PromptTemplate, PromptListResponse, PromptMutationResponse, LlmProvider, LlmProviderCreatePayload, LlmProviderListResponse, LlmProviderModelsResponse, LlmProviderType, LlmProviderUpdatePayload, } from './services/llm/llm.type';
|
|
60
60
|
export { createBarsService } from './services/bars';
|
|
61
61
|
export type { IBarsService, IBarsServiceOptions } from './services/bars';
|
|
62
|
-
export type { BarItem, BarsItemSource, BarsQuery, BarsResponse, BarsSortDirection, ChartIntervalFe, } from './services/bars/bars.type';
|
|
62
|
+
export type { BarItem, BarsItemSource, BarsLatestItem, BarsLatestQuery, BarsLatestResponse, BarsQuery, BarsResponse, BarsSortDirection, ChartIntervalFe, } from './services/bars/bars.type';
|
|
63
63
|
export { CHART_INTERVAL, normalizeChartInterval } from './services/bars/bars.type';
|
|
64
64
|
export { BARS_DEFAULTS, BARS_ENDPOINT } from './common/constants/bars.constant';
|
|
65
65
|
export { createKalshiService } from './services/kalshi';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -667,7 +667,9 @@ function _normalize(res) {
|
|
|
667
667
|
}
|
|
668
668
|
|
|
669
669
|
const BARS_ENDPOINT = {
|
|
670
|
-
BASE: "/api/v1/chart/bars"
|
|
670
|
+
BASE: "/api/v1/chart/bars",
|
|
671
|
+
/** Latest M1 bar per symbol — POST, body `{ symbols, serverName }`. */
|
|
672
|
+
LATEST: "/api/v1/chart/bars/latest"
|
|
671
673
|
};
|
|
672
674
|
const BARS_DEFAULTS = {
|
|
673
675
|
LIMIT: 1e3,
|
|
@@ -774,6 +776,45 @@ function mockBars(params) {
|
|
|
774
776
|
aggregated: !isM1
|
|
775
777
|
};
|
|
776
778
|
}
|
|
779
|
+
const MOCK_LATEST_BARS = {
|
|
780
|
+
EURUSD: {
|
|
781
|
+
symbol: "EURUSD",
|
|
782
|
+
interval: MT5_INTERVAL.M1,
|
|
783
|
+
mt5Ts: "2026-10-07T04:14:00",
|
|
784
|
+
open: 1.12356,
|
|
785
|
+
high: 1.12356,
|
|
786
|
+
low: 1.12346,
|
|
787
|
+
close: 1.12347,
|
|
788
|
+
tickVolume: 13,
|
|
789
|
+
volume: 13,
|
|
790
|
+
spread: 14,
|
|
791
|
+
source: "broker_snapshot",
|
|
792
|
+
serverName: "demo"
|
|
793
|
+
},
|
|
794
|
+
BTCUSD: {
|
|
795
|
+
symbol: "BTCUSD",
|
|
796
|
+
interval: MT5_INTERVAL.M1,
|
|
797
|
+
mt5Ts: "2026-10-07T04:14:00",
|
|
798
|
+
open: 84126.79,
|
|
799
|
+
high: 84130.78,
|
|
800
|
+
low: 84107.98,
|
|
801
|
+
close: 84115.13,
|
|
802
|
+
tickVolume: 290,
|
|
803
|
+
volume: 290,
|
|
804
|
+
spread: 500,
|
|
805
|
+
source: "broker_snapshot",
|
|
806
|
+
serverName: "demo"
|
|
807
|
+
}
|
|
808
|
+
};
|
|
809
|
+
function mockBarsLatest(params) {
|
|
810
|
+
const result = {};
|
|
811
|
+
for (const symbol of params.symbols) {
|
|
812
|
+
const row = MOCK_LATEST_BARS[symbol];
|
|
813
|
+
if (!row) continue;
|
|
814
|
+
result[symbol] = { ...row, serverName: params.serverName ?? row.serverName };
|
|
815
|
+
}
|
|
816
|
+
return result;
|
|
817
|
+
}
|
|
777
818
|
|
|
778
819
|
function createBarsService(opts) {
|
|
779
820
|
const { api, mock } = opts;
|
|
@@ -804,6 +845,20 @@ function createBarsService(opts) {
|
|
|
804
845
|
apiQuery.sortDirection = query.sortDirection;
|
|
805
846
|
}
|
|
806
847
|
return api(BARS_ENDPOINT.BASE, { query: apiQuery });
|
|
848
|
+
},
|
|
849
|
+
async getLatestBars(query) {
|
|
850
|
+
const symbols = [...new Set(query.symbols.map((s) => s.trim()).filter(Boolean))];
|
|
851
|
+
if (symbols.length === 0) {
|
|
852
|
+
throw new TypeError("getLatestBars: `symbols` must contain at least one symbol");
|
|
853
|
+
}
|
|
854
|
+
const serverName = query.serverName ?? MT5_SERVER_NAME;
|
|
855
|
+
if (mock()) {
|
|
856
|
+
return mockBarsLatest({ symbols, serverName });
|
|
857
|
+
}
|
|
858
|
+
return api(BARS_ENDPOINT.LATEST, {
|
|
859
|
+
method: "POST",
|
|
860
|
+
body: { symbols, serverName }
|
|
861
|
+
});
|
|
807
862
|
}
|
|
808
863
|
};
|
|
809
864
|
}
|
package/dist/nuxt.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ export interface IModuleOptions {
|
|
|
7
7
|
*/
|
|
8
8
|
endpoints?: Record<string, string>;
|
|
9
9
|
clientId?: string;
|
|
10
|
+
/**
|
|
11
|
+
* OAuth scope requested by the central-login flow
|
|
12
|
+
* (`/api/cms/oauth/start`). Default 'read'.
|
|
13
|
+
*/
|
|
14
|
+
oauthScope?: string;
|
|
10
15
|
/** Storage backend name. Default 'cookie'. */
|
|
11
16
|
storage?: StorageName;
|
|
12
17
|
/** Use fake data until the backend is ready. Default false. */
|
package/dist/nuxt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nuxt.d.ts","sourceRoot":"","sources":["../src/nuxt.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kFAAkF;IAClF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"nuxt.d.ts","sourceRoot":"","sources":["../src/nuxt.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kFAAkF;IAClF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA+BD;;;;;;;;;;;;;GAaG;;AACH,wBA4CG"}
|
package/dist/nuxt.js
CHANGED
|
@@ -6,6 +6,8 @@ const SERVER_HANDLERS = [
|
|
|
6
6
|
["/api/cms/login", "server/auth/login.post.js"],
|
|
7
7
|
["/api/cms/logout", "server/auth/logout.post.js"],
|
|
8
8
|
["/api/cms/refresh", "server/auth/refresh.post.js"],
|
|
9
|
+
["/api/cms/oauth/start", "server/oauth/start.get.js"],
|
|
10
|
+
["/api/cms/oauth/callback", "server/oauth/callback.get.js"],
|
|
9
11
|
["/api/cms/cbs-start", "server/auth/cbs-start.post.js"],
|
|
10
12
|
["/api/cms/cbs-callback", "server/auth/cbs-callback.post.js"],
|
|
11
13
|
["/api/cms/idp-login", "server/auth/idp-login.get.js"],
|
|
@@ -35,6 +37,7 @@ const nuxt = defineNuxtModule({
|
|
|
35
37
|
defaults: {
|
|
36
38
|
endpoints: { cms: "cmsUrl", report: "reportUrl", poolTrading: "poolTradingUrl" },
|
|
37
39
|
clientId: "clientId",
|
|
40
|
+
oauthScope: "read",
|
|
38
41
|
storage: "cookie",
|
|
39
42
|
mock: false,
|
|
40
43
|
wsTopics: [],
|
|
@@ -45,6 +48,7 @@ const nuxt = defineNuxtModule({
|
|
|
45
48
|
const { resolve } = createResolver(import.meta.url);
|
|
46
49
|
nuxt.options.runtimeConfig.public ??= {};
|
|
47
50
|
nuxt.options.runtimeConfig.public.cmsSdkOptions = options;
|
|
51
|
+
nuxt.options.runtimeConfig.cmsClientSecret ??= "";
|
|
48
52
|
for (const [route, file] of SERVER_HANDLERS) {
|
|
49
53
|
addServerHandler({ route, handler: resolve(file) });
|
|
50
54
|
}
|
package/dist/runtime/plugin.js
CHANGED
|
@@ -2,6 +2,7 @@ import { createCmsSDK, createPersistPlugin, TOKEN_STORAGE_KEY, useAuthStore, use
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { watch } from 'vue';
|
|
4
4
|
import { defineNuxtPlugin, useRuntimeConfig, useCookie } from '#app';
|
|
5
|
+
import { getRequestURL } from 'h3';
|
|
5
6
|
|
|
6
7
|
function buildOpts(httpOnly) {
|
|
7
8
|
return httpOnly ? { httpOnly: true, secure: true, sameSite: "lax", path: "/" } : { secure: true, sameSite: "lax", path: "/" };
|
|
@@ -27,6 +28,10 @@ const TOKEN_COOKIE_OPTIONS = {
|
|
|
27
28
|
path: "/",
|
|
28
29
|
maxAge: 60 * 60 * 24 * 30
|
|
29
30
|
};
|
|
31
|
+
function tokenCookieOptions(event) {
|
|
32
|
+
const secure = new URL(getRequestURL(event)).protocol === "https:";
|
|
33
|
+
return { ...TOKEN_COOKIE_OPTIONS, secure };
|
|
34
|
+
}
|
|
30
35
|
|
|
31
36
|
const STORE_ATTACHMENTS = [
|
|
32
37
|
{ name: "auth", get: useAuthStore },
|
|
@@ -81,7 +86,7 @@ const plugin = defineNuxtPlugin(async (nuxtApp) => {
|
|
|
81
86
|
if (import.meta.server) {
|
|
82
87
|
const { setCookie, deleteCookie } = await import('h3');
|
|
83
88
|
const event = nuxtApp.ssrContext?.event;
|
|
84
|
-
if (token) setCookie(event, TOKEN_STORAGE_KEY, token,
|
|
89
|
+
if (token) setCookie(event, TOKEN_STORAGE_KEY, token, tokenCookieOptions(event));
|
|
85
90
|
else deleteCookie(event, TOKEN_STORAGE_KEY, { path: TOKEN_COOKIE_OPTIONS.path });
|
|
86
91
|
} else if (token) {
|
|
87
92
|
await $fetch("/api/cms/set-token", { method: "POST", body: { token } });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineEventHandler, readBody, createError } from 'h3';
|
|
2
2
|
import { c as qwenpawStop, p as postConsoleChatError } from '../../../../chunks/client-Ac6qgpZ8.js';
|
|
3
3
|
import { c as QWENPAW_MAX_SESSION_ID_LENGTH } from '../../../../chunks/qwenpaw.constant-DHSj9A-0.js';
|
|
4
|
-
import { r as requireCmsSession, a as resolveFreshQwenpawConnection, b as resolveQwenpawServerConfig } from '../../../../chunks/connection
|
|
4
|
+
import { r as requireCmsSession, a as resolveFreshQwenpawConnection, b as resolveQwenpawServerConfig } from '../../../../chunks/connection-DprBIh4D.js';
|
|
5
5
|
|
|
6
6
|
const stop_post = defineEventHandler(async (event) => {
|
|
7
7
|
requireCmsSession(event);
|
|
@@ -2,7 +2,7 @@ import { Readable } from 'node:stream';
|
|
|
2
2
|
import { defineEventHandler, readBody, createError, setResponseStatus, setResponseHeader, sendStream } from 'h3';
|
|
3
3
|
import { q as qwenpawChat, p as postConsoleChatError } from '../../../chunks/client-Ac6qgpZ8.js';
|
|
4
4
|
import { Q as QWENPAW_MAX_MESSAGE_LENGTH, a as QWENPAW_MAX_FILES, b as QWENPAW_MAX_FILE_NAME_LENGTH, c as QWENPAW_MAX_SESSION_ID_LENGTH } from '../../../chunks/qwenpaw.constant-DHSj9A-0.js';
|
|
5
|
-
import { r as requireCmsSession, a as resolveFreshQwenpawConnection, b as resolveQwenpawServerConfig } from '../../../chunks/connection
|
|
5
|
+
import { r as requireCmsSession, a as resolveFreshQwenpawConnection, b as resolveQwenpawServerConfig } from '../../../chunks/connection-DprBIh4D.js';
|
|
6
6
|
|
|
7
7
|
const chat_post = defineEventHandler(async (event) => {
|
|
8
8
|
requireCmsSession(event);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineEventHandler, getRouterParam, createError } from 'h3';
|
|
2
2
|
import { d as deleteQwenpawChat } from '../../../chunks/chats-BjSS83OW.js';
|
|
3
|
-
import { r as requireCmsSession, a as resolveFreshQwenpawConnection } from '../../../chunks/connection
|
|
3
|
+
import { r as requireCmsSession, a as resolveFreshQwenpawConnection } from '../../../chunks/connection-DprBIh4D.js';
|
|
4
4
|
|
|
5
5
|
const chatsId_delete = defineEventHandler(async (event) => {
|
|
6
6
|
requireCmsSession(event);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineEventHandler } from 'h3';
|
|
2
2
|
import { l as listQwenpawChats, a as listQwenpawGroups } from '../../../chunks/chats-BjSS83OW.js';
|
|
3
3
|
import { d as QWENPAW_DEFAULT_AGENT_ID } from '../../../chunks/qwenpaw.constant-DHSj9A-0.js';
|
|
4
|
-
import { r as requireCmsSession, a as resolveFreshQwenpawConnection } from '../../../chunks/connection
|
|
4
|
+
import { r as requireCmsSession, a as resolveFreshQwenpawConnection } from '../../../chunks/connection-DprBIh4D.js';
|
|
5
5
|
|
|
6
6
|
const chats_get = defineEventHandler(async (event) => {
|
|
7
7
|
requireCmsSession(event);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineEventHandler, getQuery, createError } from 'h3';
|
|
2
2
|
import { f as fetchChatHistory } from '../../../chunks/chats-BjSS83OW.js';
|
|
3
|
-
import { r as requireCmsSession, a as resolveFreshQwenpawConnection } from '../../../chunks/connection
|
|
3
|
+
import { r as requireCmsSession, a as resolveFreshQwenpawConnection } from '../../../chunks/connection-DprBIh4D.js';
|
|
4
4
|
|
|
5
5
|
const history_get = defineEventHandler(async (event) => {
|
|
6
6
|
requireCmsSession(event);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineEventHandler } from 'h3';
|
|
2
|
-
import { r as requireCmsSession, c as resolveQwenpawConnection, h as hasQwenpawConnection } from '../../../chunks/connection
|
|
2
|
+
import { r as requireCmsSession, c as resolveQwenpawConnection, h as hasQwenpawConnection } from '../../../chunks/connection-DprBIh4D.js';
|
|
3
3
|
|
|
4
4
|
const session_get = defineEventHandler((event) => {
|
|
5
5
|
requireCmsSession(event);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineEventHandler } from 'h3';
|
|
2
|
-
import { r as requireCmsSession, e as exchangeQwenpawSession, d as handleExchangeError } from '../../../chunks/connection
|
|
2
|
+
import { r as requireCmsSession, e as exchangeQwenpawSession, d as handleExchangeError } from '../../../chunks/connection-DprBIh4D.js';
|
|
3
3
|
|
|
4
4
|
const session_post = defineEventHandler(async (event) => {
|
|
5
5
|
requireCmsSession(event);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineEventHandler, readMultipartFormData, createError } from 'h3';
|
|
2
2
|
import { d as qwenpawUpload, p as postConsoleChatError } from '../../../chunks/client-Ac6qgpZ8.js';
|
|
3
3
|
import { g as QWENPAW_MAX_UPLOAD_BYTES } from '../../../chunks/qwenpaw.constant-DHSj9A-0.js';
|
|
4
|
-
import { r as requireCmsSession, a as resolveFreshQwenpawConnection, b as resolveQwenpawServerConfig } from '../../../chunks/connection
|
|
4
|
+
import { r as requireCmsSession, a as resolveFreshQwenpawConnection, b as resolveQwenpawServerConfig } from '../../../chunks/connection-DprBIh4D.js';
|
|
5
5
|
|
|
6
6
|
const upload_post = defineEventHandler(async (event) => {
|
|
7
7
|
requireCmsSession(event);
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, readBody, parseCookies, getRequestHead
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig,
|
|
5
|
+
import { r as readSdkConfig, t as tokenCookieOptions } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY, R as REFRESH_TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const cbsCallback_post = defineEventHandler(async (event) => {
|
|
@@ -26,9 +26,9 @@ const cbsCallback_post = defineEventHandler(async (event) => {
|
|
|
26
26
|
const data = response._data ?? {};
|
|
27
27
|
const token = data.accessToken ?? data.access_token ?? "";
|
|
28
28
|
const refreshToken = data.refreshToken ?? data.refresh_token ?? "";
|
|
29
|
-
if (token) setCookie(event, TOKEN_STORAGE_KEY, token,
|
|
29
|
+
if (token) setCookie(event, TOKEN_STORAGE_KEY, token, tokenCookieOptions(event));
|
|
30
30
|
if (refreshToken)
|
|
31
|
-
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, refreshToken,
|
|
31
|
+
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, refreshToken, tokenCookieOptions(event));
|
|
32
32
|
return { ...data, token };
|
|
33
33
|
} catch (err) {
|
|
34
34
|
throw createError({
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, parseCookies, getRequestHeader } from
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
|
|
7
7
|
const cbsStart_post = defineEventHandler(async (event) => {
|
|
8
8
|
const { cmsUrl, clientId } = readSdkConfig(event);
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, getQuery, parseCookies, getRequestHead
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig,
|
|
5
|
+
import { r as readSdkConfig, t as tokenCookieOptions } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY, R as REFRESH_TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const idpCallback_get = defineEventHandler(async (event) => {
|
|
@@ -33,9 +33,9 @@ const idpCallback_get = defineEventHandler(async (event) => {
|
|
|
33
33
|
});
|
|
34
34
|
const token = data.accessToken ?? data.access_token ?? "";
|
|
35
35
|
const refreshToken = data.refreshToken ?? data.refresh_token ?? "";
|
|
36
|
-
if (token) setCookie(event, TOKEN_STORAGE_KEY, token,
|
|
36
|
+
if (token) setCookie(event, TOKEN_STORAGE_KEY, token, tokenCookieOptions(event));
|
|
37
37
|
if (refreshToken)
|
|
38
|
-
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, refreshToken,
|
|
38
|
+
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, refreshToken, tokenCookieOptions(event));
|
|
39
39
|
return { ...data, token };
|
|
40
40
|
} catch (err) {
|
|
41
41
|
const beData = err?.data ?? {};
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, getQuery, parseCookies } from 'h3';
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const idpLinkCallback_get = defineEventHandler(async (event) => {
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, getQuery, parseCookies } from 'h3';
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const idpLinkStart_get = defineEventHandler(async (event) => {
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, readBody, parseCookies } from 'h3';
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const idpLink_post = defineEventHandler(async (event) => {
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, getQuery, parseCookies, getRequestHead
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
|
|
7
7
|
const idpLogin_get = defineEventHandler(async (event) => {
|
|
8
8
|
const { cmsUrl, clientId } = readSdkConfig(event);
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, parseCookies } from 'h3';
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const idpMe_get = defineEventHandler(async (event) => {
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, getQuery, parseCookies } from 'h3';
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const idpUnlink_delete = defineEventHandler(async (event) => {
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, readBody, parseCookies, getRequestHead
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig,
|
|
5
|
+
import { r as readSdkConfig, t as tokenCookieOptions } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY, R as REFRESH_TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const login_post = defineEventHandler(async (event) => {
|
|
@@ -29,9 +29,9 @@ const login_post = defineEventHandler(async (event) => {
|
|
|
29
29
|
const data = response._data ?? {};
|
|
30
30
|
const token = data.accessToken ?? data.access_token ?? "";
|
|
31
31
|
const refreshToken = data.refreshToken ?? data.refresh_token ?? "";
|
|
32
|
-
if (token) setCookie(event, TOKEN_STORAGE_KEY, token,
|
|
32
|
+
if (token) setCookie(event, TOKEN_STORAGE_KEY, token, tokenCookieOptions(event));
|
|
33
33
|
if (refreshToken)
|
|
34
|
-
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, refreshToken,
|
|
34
|
+
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, refreshToken, tokenCookieOptions(event));
|
|
35
35
|
return { ...data, token };
|
|
36
36
|
} catch (err) {
|
|
37
37
|
throw createError({
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, parseCookies, deleteCookie } from 'h3';
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig, T as TOKEN_COOKIE_OPTIONS } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig, T as TOKEN_COOKIE_OPTIONS } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY, R as REFRESH_TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const logout_post = defineEventHandler(async (event) => {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { defineEventHandler, createError, parseCookies, setCookie } from 'h3';
|
|
2
|
+
import { useRuntimeConfig } from '#imports';
|
|
2
3
|
import { $fetch } from 'ofetch';
|
|
3
4
|
import { a as AUTH_ENDPOINT } from '../../chunks/auth.constant-CnGo0q42.js';
|
|
4
5
|
import { b as HTTP_HEADER, R as RESPONSE_CASING_VALUE } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig,
|
|
6
|
+
import { r as readSdkConfig, t as tokenCookieOptions } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
7
|
import { R as REFRESH_TOKEN_STORAGE_KEY, T as TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
8
|
|
|
8
9
|
const refresh_post = defineEventHandler(async (event) => {
|
|
@@ -14,7 +15,20 @@ const refresh_post = defineEventHandler(async (event) => {
|
|
|
14
15
|
throw createError({ statusCode: 401, message: "No refresh token" });
|
|
15
16
|
}
|
|
16
17
|
const snake = requestCasing === RESPONSE_CASING_VALUE.SNAKE;
|
|
18
|
+
const config = useRuntimeConfig(event);
|
|
19
|
+
const clientSecret = config?.cmsClientSecret ?? "";
|
|
17
20
|
const body = snake ? { grant_type: "refresh_token", refresh_token: refreshToken } : { grantType: "refresh_token", refreshToken };
|
|
21
|
+
if (clientSecret) {
|
|
22
|
+
body.client_id = clientId;
|
|
23
|
+
body.client_secret = clientSecret;
|
|
24
|
+
if (!snake) {
|
|
25
|
+
body.grant_type = body.grantType;
|
|
26
|
+
body.refresh_token = body.refreshToken;
|
|
27
|
+
} else {
|
|
28
|
+
body.grantType = body.grant_type;
|
|
29
|
+
body.refreshToken = body.refresh_token;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
18
32
|
const headers = {
|
|
19
33
|
[HTTP_HEADER.CLIENT_ID]: clientId || ""
|
|
20
34
|
};
|
|
@@ -31,8 +45,9 @@ const refresh_post = defineEventHandler(async (event) => {
|
|
|
31
45
|
});
|
|
32
46
|
const token = data.accessToken ?? data.access_token ?? "";
|
|
33
47
|
const newRefresh = data.refreshToken ?? data.refresh_token ?? "";
|
|
34
|
-
if (token) setCookie(event, TOKEN_STORAGE_KEY, token,
|
|
35
|
-
if (newRefresh)
|
|
48
|
+
if (token) setCookie(event, TOKEN_STORAGE_KEY, token, tokenCookieOptions(event));
|
|
49
|
+
if (newRefresh)
|
|
50
|
+
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, newRefresh, tokenCookieOptions(event));
|
|
36
51
|
return { ...data, token };
|
|
37
52
|
} catch (err) {
|
|
38
53
|
throw createError({
|
|
@@ -2,7 +2,7 @@ import { defineEventHandler, createError, parseCookies } from 'h3';
|
|
|
2
2
|
import { $fetch } from 'ofetch';
|
|
3
3
|
import { a as AUTHZ_ENDPOINT } from '../../chunks/authz.constant-BqX8Nzw6.js';
|
|
4
4
|
import { b as HTTP_HEADER } from '../../chunks/http.constant-BzH5tJTG.js';
|
|
5
|
-
import { r as readSdkConfig } from '../../chunks/_shared-
|
|
5
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
6
6
|
import { T as TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
7
7
|
|
|
8
8
|
const portalAccess_get = defineEventHandler(async (event) => {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { $fetch } from 'ofetch';
|
|
2
|
+
import { defineEventHandler, getQuery, createError, setCookie, sendRedirect } from 'h3';
|
|
3
|
+
import { useRuntimeConfig } from '#imports';
|
|
4
|
+
import { c as consumeTransaction, a as clearTransactionCookie, O as OAUTH_GRANT_AUTHORIZATION_CODE, s as safeReturnPath } from '../../chunks/_txn-DmQZNq48.js';
|
|
5
|
+
import { T as TOKEN_STORAGE_KEY, R as REFRESH_TOKEN_STORAGE_KEY } from '../../chunks/storage.constant-CVWam5ls.js';
|
|
6
|
+
import { r as readSdkConfig, t as tokenCookieOptions } from '../../chunks/_shared-DWYblQqx.js';
|
|
7
|
+
|
|
8
|
+
const callback_get = defineEventHandler(async (event) => {
|
|
9
|
+
const query = getQuery(event);
|
|
10
|
+
const code = typeof query.code === "string" ? query.code : "";
|
|
11
|
+
const state = typeof query.state === "string" ? query.state : "";
|
|
12
|
+
const oauthError = typeof query.error === "string" ? query.error : "";
|
|
13
|
+
const fail = async (reason) => {
|
|
14
|
+
clearTransactionCookie(event);
|
|
15
|
+
await sendRedirect(event, `/login?auth_error=${encodeURIComponent(reason)}`, 302);
|
|
16
|
+
};
|
|
17
|
+
if (oauthError) return await fail(oauthError);
|
|
18
|
+
if (!code || !state) return await fail("missing_code_or_state");
|
|
19
|
+
const txn = consumeTransaction(event, state);
|
|
20
|
+
if (!txn) return await fail("invalid_state");
|
|
21
|
+
clearTransactionCookie(event);
|
|
22
|
+
const { cmsUrl, clientId } = readSdkConfig(event);
|
|
23
|
+
if (!cmsUrl) throw createError({ statusCode: 500, message: "CMS URL not configured" });
|
|
24
|
+
const secret = useRuntimeConfig(event).cmsClientSecret;
|
|
25
|
+
if (!secret) throw createError({ statusCode: 500, message: "cmsClientSecret not configured" });
|
|
26
|
+
let tokenResponse;
|
|
27
|
+
try {
|
|
28
|
+
tokenResponse = await $fetch("/api/oauth/token", {
|
|
29
|
+
baseURL: cmsUrl,
|
|
30
|
+
method: "POST",
|
|
31
|
+
body: {
|
|
32
|
+
grant_type: OAUTH_GRANT_AUTHORIZATION_CODE,
|
|
33
|
+
code,
|
|
34
|
+
client_id: clientId,
|
|
35
|
+
client_secret: secret,
|
|
36
|
+
redirect_uri: txn.redirectUri,
|
|
37
|
+
code_verifier: txn.codeVerifier
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
} catch {
|
|
41
|
+
return await fail("token_exchange_failed");
|
|
42
|
+
}
|
|
43
|
+
const accessToken = tokenResponse.accessToken ?? tokenResponse.access_token ?? "";
|
|
44
|
+
const refreshToken = tokenResponse.refreshToken ?? tokenResponse.refresh_token ?? "";
|
|
45
|
+
if (!accessToken) return await fail("token_exchange_failed");
|
|
46
|
+
setCookie(event, TOKEN_STORAGE_KEY, accessToken, tokenCookieOptions(event));
|
|
47
|
+
if (refreshToken) {
|
|
48
|
+
setCookie(event, REFRESH_TOKEN_STORAGE_KEY, refreshToken, tokenCookieOptions(event));
|
|
49
|
+
}
|
|
50
|
+
await sendRedirect(event, safeReturnPath(txn.returnTo), 302);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
export { callback_get as default };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { defineEventHandler, createError, getQuery, getRequestURL, sendRedirect } from 'h3';
|
|
2
|
+
import { useRuntimeConfig } from '#imports';
|
|
3
|
+
import { s as safeReturnPath, b as createPkce, d as saveTransaction, e as setTransactionCookie, f as OAUTH_PROXY_PATH, g as codeChallenge, P as PKCE_METHOD } from '../../chunks/_txn-DmQZNq48.js';
|
|
4
|
+
import { r as readSdkConfig } from '../../chunks/_shared-DWYblQqx.js';
|
|
5
|
+
|
|
6
|
+
const start_get = defineEventHandler(async (event) => {
|
|
7
|
+
const config = useRuntimeConfig(event);
|
|
8
|
+
const centralAuthUrl = config?.public?.centralAuthUrl ?? "";
|
|
9
|
+
if (!centralAuthUrl) {
|
|
10
|
+
throw createError({ statusCode: 500, message: "centralAuthUrl not configured" });
|
|
11
|
+
}
|
|
12
|
+
const { clientId } = readSdkConfig(event);
|
|
13
|
+
if (!clientId) {
|
|
14
|
+
throw createError({ statusCode: 500, message: "clientId not configured" });
|
|
15
|
+
}
|
|
16
|
+
const query = getQuery(event);
|
|
17
|
+
const returnTo = safeReturnPath(typeof query.redirect === "string" ? query.redirect : void 0);
|
|
18
|
+
const origin = new URL(getRequestURL(event)).origin;
|
|
19
|
+
const redirectUri = `${origin}${OAUTH_PROXY_PATH.CALLBACK}`;
|
|
20
|
+
const pkce = createPkce();
|
|
21
|
+
const txnId = saveTransaction({
|
|
22
|
+
state: pkce.state,
|
|
23
|
+
codeVerifier: pkce.verifier,
|
|
24
|
+
redirectUri,
|
|
25
|
+
returnTo,
|
|
26
|
+
createdAt: Date.now()
|
|
27
|
+
});
|
|
28
|
+
setTransactionCookie(event, txnId);
|
|
29
|
+
const authorize = new URL(centralAuthUrl);
|
|
30
|
+
authorize.searchParams.set("response_type", "code");
|
|
31
|
+
authorize.searchParams.set("client_id", clientId);
|
|
32
|
+
authorize.searchParams.set("redirect_uri", redirectUri);
|
|
33
|
+
authorize.searchParams.set("scope", readOAuthScope(event));
|
|
34
|
+
authorize.searchParams.set("state", pkce.state);
|
|
35
|
+
authorize.searchParams.set("code_challenge", codeChallenge(pkce.verifier));
|
|
36
|
+
authorize.searchParams.set("code_challenge_method", PKCE_METHOD);
|
|
37
|
+
authorize.searchParams.set("prompt", "login");
|
|
38
|
+
return await sendRedirect(event, authorize.toString(), 302);
|
|
39
|
+
});
|
|
40
|
+
function readOAuthScope(event) {
|
|
41
|
+
const config = useRuntimeConfig(event);
|
|
42
|
+
const opts = config?.public?.cmsSdkOptions ?? {};
|
|
43
|
+
return opts.oauthScope || "read";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { start_get as default };
|
|
@@ -26,8 +26,9 @@ export interface BarsQuery {
|
|
|
26
26
|
}
|
|
27
27
|
export type BarsSortDirection = 'asc' | 'desc';
|
|
28
28
|
/** Aggregation-source label for a derived bar (doc §5.5.2). Distinct from
|
|
29
|
-
* MT5ChartBarSource (raw Mt5ChartBar.data.source, doc §4.6).
|
|
30
|
-
|
|
29
|
+
* MT5ChartBarSource (raw Mt5ChartBar.data.source, doc §4.6).
|
|
30
|
+
* `broker_snapshot` — seen on `POST /api/v1/chart/bars/latest` (live demo). */
|
|
31
|
+
export type BarsItemSource = 'aggregated' | 'live' | 'backfill' | 'broker_snapshot';
|
|
31
32
|
export interface BarItem {
|
|
32
33
|
symbol: string;
|
|
33
34
|
/** Canonical MT5-style bucket width. */
|
|
@@ -74,5 +75,24 @@ export declare const CHART_INTERVAL: {
|
|
|
74
75
|
export type ChartIntervalFe = (typeof CHART_INTERVAL)[keyof typeof CHART_INTERVAL];
|
|
75
76
|
/** Map either dialect to the canonical MT5 label. */
|
|
76
77
|
export declare function normalizeChartInterval(input: MT5Interval | ChartIntervalFe | string): MT5Interval;
|
|
78
|
+
/**
|
|
79
|
+
* Latest-bar query — mirrors BE `POST /api/v1/chart/bars/latest`.
|
|
80
|
+
* All fields camelCase; the service forwards them verbatim to the backend.
|
|
81
|
+
*/
|
|
82
|
+
export interface BarsLatestQuery {
|
|
83
|
+
/** Non-empty symbol list; duplicates are deduped before the call. */
|
|
84
|
+
symbols: string[];
|
|
85
|
+
/** MT5 server filter. Defaults to `MT5_SERVER_NAME` when omitted. */
|
|
86
|
+
serverName?: string;
|
|
87
|
+
}
|
|
88
|
+
/** One latest-bar row: a plain `BarItem` plus the resolved server. */
|
|
89
|
+
export type BarsLatestItem = BarItem & {
|
|
90
|
+
serverName: string;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Latest-bar response — a map keyed by SYMBOL (verified against the live
|
|
94
|
+
* demo endpoint). Symbols with no bar are simply absent from the map.
|
|
95
|
+
*/
|
|
96
|
+
export type BarsLatestResponse = Record<string, BarsLatestItem>;
|
|
77
97
|
export {};
|
|
78
98
|
//# sourceMappingURL=bars.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bars.type.d.ts","sourceRoot":"","sources":["../../../src/services/bars/bars.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAErF,4DAA4D;AAC5D,KAAK,MAAM,GAAG,OAAO,YAAY,CAAC,EAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,WAAW,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACxD,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/C;
|
|
1
|
+
{"version":3,"file":"bars.type.d.ts","sourceRoot":"","sources":["../../../src/services/bars/bars.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAErF,4DAA4D;AAC5D,KAAK,MAAM,GAAG,OAAO,YAAY,CAAC,EAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,WAAW,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACxD,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/C;;gFAEgF;AAChF,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEpF,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,QAAQ,EAAE,WAAW,CAAC;IACtB,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,QAAQ,EAAE,WAAW,CAAC;IACtB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,iFAAiF;AACjF,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAenF,qDAAqD;AACrD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,GAAG,WAAW,CAGjG;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,sEAAsE;AACtE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { $Fetch } from 'ofetch';
|
|
2
|
-
import { BarsQuery, BarsResponse } from './bars.type';
|
|
2
|
+
import { BarsLatestQuery, BarsLatestResponse, BarsQuery, BarsResponse } from './bars.type';
|
|
3
3
|
export interface IBarsServiceOptions {
|
|
4
4
|
/** The CMS `$Fetch` instance (one of `sdk.apis`). */
|
|
5
5
|
api: $Fetch;
|
|
@@ -8,14 +8,23 @@ export interface IBarsServiceOptions {
|
|
|
8
8
|
}
|
|
9
9
|
export interface IBarsService {
|
|
10
10
|
getBars(query: BarsQuery): Promise<BarsResponse>;
|
|
11
|
+
/**
|
|
12
|
+
* Latest M1 bar per symbol — `POST /api/v1/chart/bars/latest`.
|
|
13
|
+
* Wire contract (verified against the live demo server): body
|
|
14
|
+
* `{ symbols, serverName }` (camelCase); response is a map keyed by
|
|
15
|
+
* SYMBOL, each value a `BarsLatestItem`. Unknown symbols are omitted.
|
|
16
|
+
*/
|
|
17
|
+
getLatestBars(query: BarsLatestQuery): Promise<BarsLatestResponse>;
|
|
11
18
|
}
|
|
12
19
|
/**
|
|
13
20
|
* Chart-bars service (read-only). Wraps `GET /api/v1/chart/bars` — the
|
|
14
21
|
* canonical OHLC read path for chart rendering of any timeframe. Storage
|
|
15
22
|
* is always M1; larger timeframes are derived on demand via bucket-and-reduce.
|
|
23
|
+
* Also wraps `POST /api/v1/chart/bars/latest` (latest bar per symbol).
|
|
16
24
|
*
|
|
17
|
-
* Endpoint
|
|
18
|
-
* GET
|
|
25
|
+
* Endpoint contracts (`eaera_cms/chart/routes.py`, doc §5.5):
|
|
26
|
+
* GET /api/v1/chart/bars → BarsResponse
|
|
27
|
+
* POST /api/v1/chart/bars/latest → BarsLatestResponse
|
|
19
28
|
*
|
|
20
29
|
* While `mock()` returns true, all methods resolve against the local fake
|
|
21
30
|
* dataset and never touch `api`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/bars/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/bars/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhG,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,IAAI,EAAE,MAAM,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAsDzE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BarItem, BarsResponse } from './bars.type';
|
|
1
|
+
import { BarItem, BarsLatestItem, BarsLatestResponse, BarsResponse } from './bars.type';
|
|
2
2
|
/**
|
|
3
3
|
* Fake OHLC bars for EURUSD spanning both M1 and H1 buckets.
|
|
4
4
|
* Includes rows with null fields to exercise nullability.
|
|
@@ -19,5 +19,20 @@ interface MockBarsParams {
|
|
|
19
19
|
* sourceInterval='M1', aggregated=(interval!=='M1'), count=items.length.
|
|
20
20
|
*/
|
|
21
21
|
export declare function mockBars(params: MockBarsParams): BarsResponse;
|
|
22
|
+
/**
|
|
23
|
+
* Fake latest-bar rows mirroring the live `POST /api/v1/chart/bars/latest`
|
|
24
|
+
* response (demo server, `source: 'broker_snapshot'`). Values mirror a real
|
|
25
|
+
* snapshot; `mt5Ts` is a fixed minute bucket.
|
|
26
|
+
*/
|
|
27
|
+
export declare const MOCK_LATEST_BARS: Record<string, BarsLatestItem>;
|
|
28
|
+
/**
|
|
29
|
+
* Build a fake BarsLatestResponse — keyed by symbol, echoing the requested
|
|
30
|
+
* `serverName`; symbols with no fake row are omitted (same behaviour as the
|
|
31
|
+
* backend for unknown symbols).
|
|
32
|
+
*/
|
|
33
|
+
export declare function mockBarsLatest(params: {
|
|
34
|
+
symbols: string[];
|
|
35
|
+
serverName?: string;
|
|
36
|
+
}): BarsLatestResponse;
|
|
22
37
|
export {};
|
|
23
38
|
//# sourceMappingURL=mock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/services/bars/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/services/bars/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI7F;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,OAAO,EAqD9B,CAAC;AAEF,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAiB7D;AACD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA6B3D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,kBAAkB,CAQrB"}
|