@be-link/vitality-cli-nodejs 0.0.41 → 0.0.44

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.
Files changed (41) hide show
  1. package/README.md +68 -1
  2. package/index.d.ts +5 -0
  3. package/index.js +109 -102
  4. package/index.js.map +1 -1
  5. package/package.json +1 -1
  6. package/vs/advisorBusinessError.d.ts +9 -0
  7. package/vs/advisorBusinessError.js +39 -0
  8. package/vs/advisorBusinessError.js.map +1 -0
  9. package/vs/advisorHttpSender.d.ts +7 -0
  10. package/vs/advisorHttpSender.js +131 -0
  11. package/vs/advisorHttpSender.js.map +1 -0
  12. package/vs/advisorProtection.d.ts +77 -0
  13. package/vs/advisorProtection.js +255 -0
  14. package/vs/advisorProtection.js.map +1 -0
  15. package/vs/modules/api/adjustment/advisor/readProjection.d.ts +9 -0
  16. package/vs/modules/api/adjustment/advisor/readProjection.js +72 -0
  17. package/vs/modules/api/adjustment/advisor/readProjection.js.map +1 -0
  18. package/vs/modules/api/adjustment/advisor/service.d.ts +19 -0
  19. package/vs/modules/api/adjustment/advisor/service.js +163 -0
  20. package/vs/modules/api/adjustment/advisor/service.js.map +1 -0
  21. package/vs/modules/api/adjustment/advisor/type.d.ts +89 -0
  22. package/vs/modules/api/adjustment/advisor/type.js +3 -0
  23. package/vs/modules/api/adjustment/advisor/type.js.map +1 -0
  24. package/vs/modules/biz/core/manifest.d.ts +1 -1
  25. package/vs/modules/biz/core/manifest.js +1 -0
  26. package/vs/modules/biz/core/manifest.js.map +1 -1
  27. package/vs/modules/biz/core/token/service.d.ts +1 -0
  28. package/vs/modules/biz/core/token/service.js +3 -0
  29. package/vs/modules/biz/core/token/service.js.map +1 -1
  30. package/vs/modules/biz/core/token/type.d.ts +1 -0
  31. package/vs/modules/biz/index.d.ts +1 -0
  32. package/vs/modules/web/index.d.ts +1 -0
  33. package/vs/modules/web/manifest.d.ts +1 -1
  34. package/vs/modules/web/manifest.js +1 -0
  35. package/vs/modules/web/manifest.js.map +1 -1
  36. package/vs/modules/web/merchant/main/service.d.ts +2 -0
  37. package/vs/modules/web/merchant/main/service.js +3 -0
  38. package/vs/modules/web/merchant/main/service.js.map +1 -1
  39. package/vs/modules/web/merchant/main/type.d.ts +20 -0
  40. package/vs/modules/web/merchant/main/type.js +3 -0
  41. package/vs/modules/web/merchant/main/type.js.map +1 -0
@@ -0,0 +1,77 @@
1
+ /// <reference types="node" />
2
+ import { KeyObject } from 'crypto';
3
+ export declare const advisorActionPaths: {
4
+ readonly capabilities: "/api/adjustment/advisor/capabilities";
5
+ readonly list: "/api/adjustment/advisor/list";
6
+ readonly create: "/api/adjustment/advisor/create";
7
+ readonly shareContext: "/api/adjustment/advisor/share-context";
8
+ readonly operationsList: "/api/adjustment/advisor/operations-list";
9
+ };
10
+ export type AdvisorAction = keyof typeof advisorActionPaths;
11
+ export type AdvisorResponseEnvelope = {
12
+ success: true;
13
+ data: unknown;
14
+ message: string;
15
+ requestId?: string;
16
+ };
17
+ export type AdvisorProtectedTransport = (request: {
18
+ method: string;
19
+ url: string;
20
+ action: AdvisorAction;
21
+ body: Readonly<Record<string, unknown>>;
22
+ }) => Promise<AdvisorResponseEnvelope>;
23
+ export type AdvisorCaller = 'DistributionService';
24
+ export type AdvisorActor = Readonly<{
25
+ advisorId: string;
26
+ name: string;
27
+ }>;
28
+ export type AdvisorSignedRequest = {
29
+ method: string;
30
+ path: string;
31
+ action: AdvisorAction;
32
+ body: Readonly<Record<string, unknown>>;
33
+ };
34
+ export type AdvisorVerifiedContext = {
35
+ issuer: AdvisorCaller;
36
+ audience: 'VitalityService';
37
+ actor: AdvisorActor;
38
+ action: AdvisorAction;
39
+ expiresAt: number;
40
+ };
41
+ export type AdvisorVerificationConfig = {
42
+ audience: string;
43
+ environment: string;
44
+ maxTtlSeconds: number;
45
+ clockSkewSeconds: number;
46
+ keys: ReadonlyArray<{
47
+ issuer: AdvisorCaller;
48
+ kid: string;
49
+ publicKey: KeyObject;
50
+ }>;
51
+ now: () => number;
52
+ };
53
+ export declare function canonicalAdvisorJson(input: unknown): string;
54
+ export declare function createAdvisorRequestSigner(config: {
55
+ issuer: AdvisorCaller;
56
+ kid: string;
57
+ audience: string;
58
+ environment: string;
59
+ privateKey: KeyObject;
60
+ ttlSeconds: number;
61
+ now: () => number;
62
+ }): (request: AdvisorSignedRequest, identity: AdvisorActor) => string;
63
+ export declare function createAdvisorRequestVerifier(config: AdvisorVerificationConfig): (request: AdvisorSignedRequest, assertion: string) => AdvisorVerifiedContext;
64
+ export type AdvisorAssertionSender = (request: Readonly<{
65
+ method: 'POST';
66
+ url: string;
67
+ body: Readonly<Record<string, unknown>>;
68
+ headers: Readonly<{
69
+ 'x-advisor-assertion': string;
70
+ }>;
71
+ }>) => Promise<AdvisorResponseEnvelope>;
72
+ export declare function createSignedAdvisorTransport(options: {
73
+ origin: string;
74
+ actor: AdvisorActor;
75
+ signer: ReturnType<typeof createAdvisorRequestSigner>;
76
+ send: AdvisorAssertionSender;
77
+ }): AdvisorProtectedTransport;
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSignedAdvisorTransport = exports.createAdvisorRequestVerifier = exports.createAdvisorRequestSigner = exports.canonicalAdvisorJson = exports.advisorActionPaths = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const advisorBusinessError_1 = require("./advisorBusinessError");
6
+ // Protocol infrastructure only. These paths do not register or expose SDK business methods.
7
+ exports.advisorActionPaths = {
8
+ capabilities: '/api/adjustment/advisor/capabilities',
9
+ list: '/api/adjustment/advisor/list',
10
+ create: '/api/adjustment/advisor/create',
11
+ shareContext: '/api/adjustment/advisor/share-context',
12
+ operationsList: '/api/adjustment/advisor/operations-list',
13
+ };
14
+ function reject() { throw new Error('ADVISOR_PROTECTED_REQUEST_REJECTED'); }
15
+ function object(value) {
16
+ if (!value || typeof value !== 'object' || Array.isArray(value) ||
17
+ ![Object.prototype, null].includes(Object.getPrototypeOf(value)))
18
+ reject();
19
+ if (Object.getOwnPropertySymbols(value).length)
20
+ reject();
21
+ for (const descriptor of Object.values(Object.getOwnPropertyDescriptors(value))) {
22
+ if (!descriptor.enumerable || !('value' in descriptor))
23
+ reject();
24
+ }
25
+ }
26
+ function text(value) {
27
+ if (typeof value !== 'string' || !value || value.trim() !== value)
28
+ reject();
29
+ }
30
+ function exact(value, keys) {
31
+ if (Object.keys(value).sort().join(',') !== keys.sort().join(','))
32
+ reject();
33
+ }
34
+ function actor(value) {
35
+ object(value);
36
+ exact(value, ['advisorId', 'name']);
37
+ text(value.advisorId);
38
+ if (typeof value.name !== 'string')
39
+ reject();
40
+ return Object.freeze({ advisorId: value.advisorId, name: value.name });
41
+ }
42
+ function caller(value) {
43
+ if (value !== 'DistributionService')
44
+ reject();
45
+ }
46
+ // Protocol v1: plain JSON only, UTF-16 key ordering, no omitted/undefined values,
47
+ // accessors, symbols, sparse arrays, cycles, non-finite numbers or unsafe integers.
48
+ function canonicalAdvisorJson(input) {
49
+ const ancestors = new Set();
50
+ function visit(value) {
51
+ if (value === null || typeof value === 'string' || typeof value === 'boolean')
52
+ return JSON.stringify(value);
53
+ if (typeof value === 'number') {
54
+ if (!Number.isFinite(value) || (Number.isInteger(value) && !Number.isSafeInteger(value)))
55
+ reject();
56
+ return JSON.stringify(value);
57
+ }
58
+ if (typeof value !== 'object' || !value || ancestors.has(value))
59
+ reject();
60
+ ancestors.add(value);
61
+ try {
62
+ if (Array.isArray(value)) {
63
+ if (Object.getOwnPropertySymbols(value).length ||
64
+ Object.keys(value).length !== value.length)
65
+ reject();
66
+ const entries = [];
67
+ for (let i = 0; i < value.length; i++) {
68
+ const descriptor = Object.getOwnPropertyDescriptor(value, String(i));
69
+ if (!descriptor?.enumerable || !('value' in descriptor))
70
+ reject();
71
+ entries.push(visit(descriptor.value));
72
+ }
73
+ return `[${entries.join(',')}]`;
74
+ }
75
+ object(value);
76
+ return `{${Object.keys(value).sort().map((key) => {
77
+ if (['__proto__', 'constructor', 'prototype'].includes(key))
78
+ reject();
79
+ return `${JSON.stringify(key)}:${visit(Object.getOwnPropertyDescriptor(value, key)?.value)}`;
80
+ }).join(',')}}`;
81
+ }
82
+ finally {
83
+ ancestors.delete(value);
84
+ }
85
+ }
86
+ return visit(input);
87
+ }
88
+ exports.canonicalAdvisorJson = canonicalAdvisorJson;
89
+ function digest(body) {
90
+ return (0, crypto_1.createHash)('sha256').update(canonicalAdvisorJson(body), 'utf8').digest('hex');
91
+ }
92
+ function actionAllowed(issuer, action) {
93
+ if (!Object.prototype.hasOwnProperty.call(exports.advisorActionPaths, action))
94
+ reject();
95
+ caller(issuer);
96
+ }
97
+ function requestCheck(request, issuer, identity) {
98
+ actionAllowed(issuer, request.action);
99
+ if (request.method !== 'POST' || request.path !== exports.advisorActionPaths[request.action])
100
+ reject();
101
+ object(request.body);
102
+ const bodyActor = actor(request.body.actor);
103
+ if (bodyActor.advisorId !== identity.advisorId || bodyActor.name !== identity.name)
104
+ reject();
105
+ }
106
+ function seconds(now) {
107
+ const value = now();
108
+ if (!Number.isSafeInteger(value) || value < 0)
109
+ reject();
110
+ return value;
111
+ }
112
+ function encode(value) { return value.toString('base64url'); }
113
+ function decode(value) {
114
+ if (!/^[A-Za-z0-9_-]+$/.test(value))
115
+ reject();
116
+ const result = Buffer.from(value, 'base64url');
117
+ if (encode(result) !== value)
118
+ reject();
119
+ return result;
120
+ }
121
+ function keyCheck(key, type) {
122
+ if (!(key instanceof crypto_1.KeyObject) || key.type !== type || key.asymmetricKeyType !== 'ed25519')
123
+ reject();
124
+ }
125
+ function createAdvisorRequestSigner(config) {
126
+ caller(config?.issuer);
127
+ text(config.kid);
128
+ text(config.environment);
129
+ if (config.audience !== 'VitalityService')
130
+ reject();
131
+ keyCheck(config.privateKey, 'private');
132
+ if (!Number.isSafeInteger(config.ttlSeconds) || config.ttlSeconds < 1 || typeof config.now !== 'function')
133
+ reject();
134
+ // Capture all configuration and key material before any asynchronous sender runs.
135
+ const { issuer, kid, audience, environment, ttlSeconds, now } = config;
136
+ const key = (0, crypto_1.createPrivateKey)({ key: config.privateKey.export({ format: 'der', type: 'pkcs8' }), format: 'der', type: 'pkcs8' });
137
+ return (request, identity) => {
138
+ const identitySnapshot = actor(identity);
139
+ requestCheck(request, issuer, identitySnapshot);
140
+ const iat = seconds(now);
141
+ const exp = iat + ttlSeconds;
142
+ if (!Number.isSafeInteger(exp))
143
+ reject();
144
+ const payload = {
145
+ version: 1, kid, issuer, audience, environment, actor: identitySnapshot,
146
+ action: request.action, method: request.method, path: request.path,
147
+ bodyDigest: digest(request.body), iat, exp,
148
+ };
149
+ const value = `v1.${encode(Buffer.from(canonicalAdvisorJson(payload)))}`;
150
+ return `${value}.${encode((0, crypto_1.sign)(null, Buffer.from(`vs:advisor-request:${value}`), key))}`;
151
+ };
152
+ }
153
+ exports.createAdvisorRequestSigner = createAdvisorRequestSigner;
154
+ function createAdvisorRequestVerifier(config) {
155
+ if (config?.audience !== 'VitalityService')
156
+ reject();
157
+ text(config.environment);
158
+ if (!Number.isSafeInteger(config.maxTtlSeconds) || config.maxTtlSeconds < 1 ||
159
+ !Number.isSafeInteger(config.clockSkewSeconds) || config.clockSkewSeconds < 0 ||
160
+ typeof config.now !== 'function' || !Array.isArray(config.keys) || !config.keys.length)
161
+ reject();
162
+ const { audience, environment, maxTtlSeconds, clockSkewSeconds, now } = config;
163
+ const trusted = new Map();
164
+ for (const entry of config.keys) {
165
+ caller(entry?.issuer);
166
+ text(entry.kid);
167
+ keyCheck(entry.publicKey, 'public');
168
+ const key = JSON.stringify([entry.issuer, entry.kid]);
169
+ if (trusted.has(key))
170
+ reject();
171
+ trusted.set(key, (0, crypto_1.createPublicKey)({ key: entry.publicKey.export({ format: 'der', type: 'spki' }), format: 'der', type: 'spki' }));
172
+ }
173
+ return (request, assertion) => {
174
+ try {
175
+ if (typeof assertion !== 'string')
176
+ reject();
177
+ const parts = assertion.split('.');
178
+ if (parts.length !== 3 || parts[0] !== 'v1')
179
+ reject();
180
+ const serialized = decode(parts[1]).toString('utf8');
181
+ const claim = JSON.parse(serialized);
182
+ object(claim);
183
+ exact(claim, ['version', 'kid', 'issuer', 'audience', 'environment', 'actor', 'action', 'method', 'path', 'bodyDigest', 'iat', 'exp']);
184
+ if (canonicalAdvisorJson(claim) !== serialized)
185
+ reject();
186
+ caller(claim.issuer);
187
+ text(claim.kid);
188
+ const key = trusted.get(JSON.stringify([claim.issuer, claim.kid]));
189
+ if (!key || !(0, crypto_1.verify)(null, Buffer.from(`vs:advisor-request:${parts[0]}.${parts[1]}`), key, decode(parts[2])))
190
+ reject();
191
+ if (claim.version !== 1 || claim.audience !== audience || claim.environment !== environment)
192
+ reject();
193
+ const current = seconds(now);
194
+ if (typeof claim.iat !== 'number' || typeof claim.exp !== 'number' ||
195
+ !Number.isSafeInteger(claim.iat) || !Number.isSafeInteger(claim.exp) || claim.iat < 0 ||
196
+ claim.exp <= claim.iat || claim.exp - claim.iat > maxTtlSeconds ||
197
+ claim.iat > current + clockSkewSeconds || claim.exp <= current - clockSkewSeconds)
198
+ reject();
199
+ const identity = actor(claim.actor);
200
+ requestCheck(request, claim.issuer, identity);
201
+ if (claim.action !== request.action || claim.method !== request.method || claim.path !== request.path ||
202
+ claim.bodyDigest !== digest(request.body))
203
+ reject();
204
+ return Object.freeze({ issuer: claim.issuer, audience: 'VitalityService', actor: identity, action: request.action, expiresAt: claim.exp });
205
+ }
206
+ catch {
207
+ return reject();
208
+ }
209
+ };
210
+ }
211
+ exports.createAdvisorRequestVerifier = createAdvisorRequestVerifier;
212
+ function createSignedAdvisorTransport(options) {
213
+ if (typeof options?.signer !== 'function' || typeof options.send !== 'function')
214
+ reject();
215
+ const endpoint = new URL(options.origin);
216
+ if (endpoint.protocol !== 'https:' || endpoint.username || endpoint.password ||
217
+ endpoint.search || endpoint.hash || endpoint.pathname !== '/')
218
+ reject();
219
+ const origin = endpoint.origin;
220
+ const identity = actor(options.actor);
221
+ const { signer, send } = options;
222
+ return async (request) => {
223
+ const path = exports.advisorActionPaths[request.action];
224
+ // Only an exact protocol path or its exact same-origin absolute URL is admitted.
225
+ // Validate before URL parsing so normalization cannot hide dot segments or escapes.
226
+ if (typeof path !== 'string' || (request.url !== path && request.url !== origin + path))
227
+ reject();
228
+ const url = new URL(path, origin);
229
+ // Serialize then parse a private snapshot: the sender receives no caller-owned references.
230
+ const body = JSON.parse(canonicalAdvisorJson(request.body));
231
+ const assertion = signer({ method: request.method, path: url.pathname, action: request.action, body }, identity);
232
+ try {
233
+ return await send(Object.freeze({ method: 'POST', url: url.href, body: deepFreeze(body),
234
+ headers: Object.freeze({ 'x-advisor-assertion': assertion }) }));
235
+ }
236
+ catch (error) {
237
+ // Only locally branded, allowlisted native rejections survive this boundary.
238
+ const rejection = (0, advisorBusinessError_1.copyAdvisorBusinessError)(error);
239
+ if (rejection)
240
+ throw rejection;
241
+ // A failed create may have committed. Never retry or infer that it did not execute.
242
+ throw new Error(request.action === 'create' ? 'RESULT_UNKNOWN' : 'DEPENDENCY_UNAVAILABLE');
243
+ }
244
+ };
245
+ }
246
+ exports.createSignedAdvisorTransport = createSignedAdvisorTransport;
247
+ function deepFreeze(value) {
248
+ if (value && typeof value === 'object') {
249
+ for (const child of Object.values(value))
250
+ deepFreeze(child);
251
+ Object.freeze(value);
252
+ }
253
+ return value;
254
+ }
255
+ //# sourceMappingURL=advisorProtection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advisorProtection.js","sourceRoot":"","sources":["../../src/vs/advisorProtection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { AdvisorCapability, AdvisorInternalAdjustment, AdvisorOperationPage, AdvisorShareContext } from './type';
2
+ export declare function capabilities(value: unknown, ids: readonly string[]): {
3
+ list: AdvisorCapability[];
4
+ };
5
+ export declare function adjustments(value: unknown, mainOrderId: string): {
6
+ list: AdvisorInternalAdjustment[];
7
+ };
8
+ export declare function share(value: unknown, adjustmentOrderId: string): AdvisorShareContext;
9
+ export declare function operations(value: unknown, pageSize: number): AdvisorOperationPage;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.operations = exports.share = exports.adjustments = exports.capabilities = void 0;
4
+ function fail() { throw new Error('DEPENDENCY_UNAVAILABLE'); }
5
+ function object(value) {
6
+ if (!value || typeof value !== 'object' || Array.isArray(value))
7
+ return fail();
8
+ return value;
9
+ }
10
+ function text(value) { if (typeof value !== 'string')
11
+ return fail(); return value; }
12
+ function id(value) { const result = text(value); if (!result || result.trim() !== result)
13
+ return fail(); return result; }
14
+ function integer(value) { if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0)
15
+ return fail(); return value; }
16
+ function boolean(value) { if (typeof value !== 'boolean')
17
+ return fail(); return value; }
18
+ function nullableText(value) { return value === null ? null : text(value); }
19
+ function nullableTime(value) { return value === null ? null : integer(value); }
20
+ function operator(value) { if (value === null)
21
+ return null; if (![1, 2, 3, 4].includes(value))
22
+ return fail(); return value; }
23
+ function array(value) { if (!Array.isArray(value))
24
+ return fail(); return Array.from(value); }
25
+ function capabilities(value, ids) {
26
+ const list = array(object(value).list).map(entry => {
27
+ const row = object(entry);
28
+ return { orderId: id(row.orderId), isAdjustable: boolean(row.isAdjustable), reason: nullableText(row.reason),
29
+ allowedAdjustmentTypes: array(row.allowedAdjustmentTypes).map(type => { const item = object(type); return { value: id(item.value), label: text(item.label) }; }) };
30
+ });
31
+ if (list.length !== ids.length || list.some((row, index) => row.orderId !== ids[index]))
32
+ return fail();
33
+ return { list };
34
+ }
35
+ exports.capabilities = capabilities;
36
+ function adjustments(value, mainOrderId) {
37
+ const list = array(object(value).list).map(entry => {
38
+ const row = object(entry), refund = object(row.refundSummary);
39
+ if (row.mainOrderId !== mainOrderId)
40
+ return fail();
41
+ return { adjustmentOrderId: id(row.adjustmentOrderId), mainOrderId, type: id(row.type), typeLabel: text(row.typeLabel), status: id(row.status),
42
+ unitFeeCent: integer(row.unitFeeCent), quantity: integer(row.quantity), feeCent: integer(row.feeCent), description: nullableText(row.description),
43
+ creatorName: text(row.creatorName), creatorType: operator(row.creatorType), creatorId: nullableText(row.creatorId), createdAt: integer(row.createdAt),
44
+ paidAt: nullableTime(row.paidAt), completedAt: nullableTime(row.completedAt), expiresAt: nullableTime(row.expiresAt), canShare: boolean(row.canShare),
45
+ refundSummary: { refundedFeeCent: integer(refund.refundedFeeCent), refundedQuantity: integer(refund.refundedQuantity), hasPendingRefund: boolean(refund.hasPendingRefund), hasRefunding: boolean(refund.hasRefunding) } };
46
+ });
47
+ if (new Set(list.map(row => row.adjustmentOrderId)).size !== list.length)
48
+ return fail();
49
+ return { list };
50
+ }
51
+ exports.adjustments = adjustments;
52
+ function share(value, adjustmentOrderId) {
53
+ const row = object(value), mainOrderId = id(row.mainOrderId);
54
+ if (row.adjustmentOrderId !== adjustmentOrderId || row.path !== `/subPackages/adjustmentOrder/adjustmentOrderDetail/adjustmentOrderDetail?mainOrderId=${encodeURIComponent(mainOrderId)}` || row.title !== '差价单')
55
+ return fail();
56
+ return { mainOrderId, adjustmentOrderId, path: row.path, title: row.title };
57
+ }
58
+ exports.share = share;
59
+ function operations(value, pageSize) {
60
+ const result = object(value);
61
+ const list = array(result.list).map(entry => {
62
+ const row = object(entry);
63
+ return { id: id(row.id), action: id(row.action), operatorType: operator(row.operatorType), operatorId: nullableText(row.operatorId), operatorName: nullableText(row.operatorName),
64
+ source: id(row.source), beforeStatus: nullableText(row.beforeStatus), afterStatus: nullableText(row.afterStatus), occurredAt: integer(row.occurredAt), summary: text(row.summary) };
65
+ });
66
+ const hasMore = boolean(result.hasMore), nextCursor = result.nextCursor === null ? null : id(result.nextCursor);
67
+ if (list.length > pageSize || new Set(list.map(row => row.id)).size !== list.length || hasMore !== (nextCursor !== null) || (hasMore && !list.length))
68
+ return fail();
69
+ return { list, nextCursor, hasMore };
70
+ }
71
+ exports.operations = operations;
72
+ //# sourceMappingURL=readProjection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readProjection.js","sourceRoot":"","sources":["../../../../../../src/vs/modules/api/adjustment/advisor/readProjection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import BaseService from '../../../baseService';
2
+ import { AdvisorProtectedTransport } from '../../../../advisorProtection';
3
+ import type { AdvisorAdjustmentCreateRequest, AdvisorAdjustmentCreateResponse, AdvisorCapabilitiesRequest, AdvisorAdjustmentListRequest, AdvisorAdjustmentShareRequest, AdvisorAdjustmentOperationsRequest } from './type';
4
+ export declare class AdvisorAdjustmentService extends BaseService {
5
+ private readonly transport?;
6
+ prefixUrl: string;
7
+ constructor(transport?: AdvisorProtectedTransport | undefined);
8
+ private readRequest;
9
+ private read;
10
+ capabilities(input: AdvisorCapabilitiesRequest): Promise<{
11
+ list: import("./type").AdvisorCapability[];
12
+ }>;
13
+ list(input: AdvisorAdjustmentListRequest): Promise<{
14
+ list: import("./type").AdvisorInternalAdjustment[];
15
+ }>;
16
+ shareContext(input: AdvisorAdjustmentShareRequest): Promise<import("./type").AdvisorShareContext>;
17
+ operationsList(input: AdvisorAdjustmentOperationsRequest): Promise<import("./type").AdvisorOperationPage>;
18
+ create(input: AdvisorAdjustmentCreateRequest): Promise<AdvisorAdjustmentCreateResponse>;
19
+ }
@@ -0,0 +1,163 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.AdvisorAdjustmentService = void 0;
30
+ const baseService_1 = __importDefault(require("../../../baseService"));
31
+ const advisorProtection_1 = require("../../../../advisorProtection");
32
+ const advisorProtection_2 = require("../../../../advisorProtection");
33
+ const advisorBusinessError_1 = require("../../../../advisorBusinessError");
34
+ const projection = __importStar(require("./readProjection"));
35
+ function invalid() { throw new Error('INVALID_ARGUMENT'); }
36
+ function id(value) {
37
+ if (typeof value !== 'string' || !value || value.trim() !== value)
38
+ invalid();
39
+ }
40
+ // Only create is registered by the server. No legacy callApi/inside-token fallback.
41
+ class AdvisorAdjustmentService extends baseService_1.default {
42
+ constructor(transport) {
43
+ super();
44
+ this.transport = transport;
45
+ this.prefixUrl = '/api/adjustment/advisor';
46
+ }
47
+ readRequest(input, allowed) {
48
+ if (typeof this.transport !== 'function')
49
+ throw new Error('ADVISOR_PROTECTED_TRANSPORT_REQUIRED');
50
+ let request;
51
+ try {
52
+ request = JSON.parse((0, advisorProtection_1.canonicalAdvisorJson)(input));
53
+ }
54
+ catch {
55
+ invalid();
56
+ }
57
+ if (!request || typeof request !== 'object' || Array.isArray(request) ||
58
+ Object.keys(request).some(key => !allowed.includes(key)))
59
+ invalid();
60
+ const actor = request.actor;
61
+ if (!actor || typeof actor !== 'object' || Array.isArray(actor) || Object.keys(actor).sort().join(',') !== 'advisorId,name')
62
+ invalid();
63
+ id(actor.advisorId);
64
+ if (typeof actor.name !== 'string')
65
+ invalid();
66
+ Object.freeze(actor);
67
+ return request;
68
+ }
69
+ async read(action, request, project) {
70
+ try {
71
+ const transport = this.transport;
72
+ if (typeof transport !== 'function')
73
+ throw new Error('ADVISOR_PROTECTED_TRANSPORT_REQUIRED');
74
+ // The protected transport owns the explicit origin; legacy host selection is not used.
75
+ const url = advisorProtection_2.advisorActionPaths[action];
76
+ const response = await transport(Object.freeze({ method: 'POST', url, action, body: Object.freeze(request) }));
77
+ if (response?.success !== true || typeof response.message !== 'string' || response.data == null)
78
+ throw new Error('DEPENDENCY_UNAVAILABLE');
79
+ return project(response.data);
80
+ }
81
+ catch (error) {
82
+ const business = (0, advisorBusinessError_1.copyAdvisorBusinessError)(error);
83
+ if (business)
84
+ throw business;
85
+ throw new Error('DEPENDENCY_UNAVAILABLE');
86
+ }
87
+ }
88
+ async capabilities(input) {
89
+ const request = this.readRequest(input, ['orderIds', 'actor']);
90
+ if (!Array.isArray(request.orderIds) || !request.orderIds.length || request.orderIds.length > 50)
91
+ invalid();
92
+ const ids = Array.from(request.orderIds);
93
+ ids.forEach(id);
94
+ if (new Set(ids).size !== ids.length)
95
+ invalid();
96
+ request.orderIds = Object.freeze(ids);
97
+ return this.read('capabilities', request, value => projection.capabilities(value, ids));
98
+ }
99
+ async list(input) {
100
+ const request = this.readRequest(input, ['orderId', 'actor']);
101
+ id(request.orderId);
102
+ return this.read('list', request, value => projection.adjustments(value, request.orderId));
103
+ }
104
+ async shareContext(input) {
105
+ const request = this.readRequest(input, ['adjustmentOrderId', 'actor']);
106
+ id(request.adjustmentOrderId);
107
+ return this.read('shareContext', request, value => projection.share(value, request.adjustmentOrderId));
108
+ }
109
+ async operationsList(input) {
110
+ const request = this.readRequest(input, ['adjustmentOrderId', 'actor', 'cursor', 'pageSize']);
111
+ id(request.adjustmentOrderId);
112
+ if (request.cursor !== undefined)
113
+ id(request.cursor);
114
+ const pageSize = request.pageSize ?? 20;
115
+ if (typeof pageSize !== 'number' || !Number.isInteger(pageSize) || pageSize < 1 || pageSize > 50)
116
+ invalid();
117
+ return this.read('operationsList', request, value => projection.operations(value, pageSize));
118
+ }
119
+ async create(input) {
120
+ if (typeof this.transport !== 'function')
121
+ throw new Error('ADVISOR_PROTECTED_TRANSPORT_REQUIRED');
122
+ let request;
123
+ try {
124
+ request = JSON.parse((0, advisorProtection_1.canonicalAdvisorJson)(input));
125
+ }
126
+ catch {
127
+ invalid();
128
+ }
129
+ if (!request || typeof request !== 'object' || Array.isArray(request) ||
130
+ Object.keys(request).sort().join(',') !== 'actor,description,orderId,quantity,type,unitFeeCent')
131
+ invalid();
132
+ id(request.orderId);
133
+ id(request.type);
134
+ if (!request.actor || typeof request.actor !== 'object' || Array.isArray(request.actor) ||
135
+ Object.keys(request.actor).sort().join(',') !== 'advisorId,name')
136
+ invalid();
137
+ id(request.actor.advisorId);
138
+ if (typeof request.actor.name !== 'string' || typeof request.description !== 'string' ||
139
+ !Number.isSafeInteger(request.unitFeeCent) || request.unitFeeCent < 1 ||
140
+ !Number.isSafeInteger(request.quantity) || request.quantity < 1 ||
141
+ !Number.isSafeInteger(request.unitFeeCent * request.quantity))
142
+ invalid();
143
+ Object.freeze(request.actor);
144
+ Object.freeze(request);
145
+ // Do not catch transport rejections: branded business errors and RESULT_UNKNOWN retain meaning.
146
+ const response = await this.transport(Object.freeze({
147
+ method: 'POST', url: advisorProtection_2.advisorActionPaths.create, action: 'create', body: request,
148
+ }));
149
+ const result = response?.data;
150
+ if (response?.success !== true || typeof response.message !== 'string' || !result ||
151
+ typeof result !== 'object' || Array.isArray(result) ||
152
+ Object.keys(result).sort().join(',') !== 'adjustmentOrderId,feeCent,status' ||
153
+ typeof result.adjustmentOrderId !== 'string' || !result.adjustmentOrderId ||
154
+ result.adjustmentOrderId.trim() !== result.adjustmentOrderId || result.status !== 'NOT_PAID' ||
155
+ result.feeCent !== request.unitFeeCent * request.quantity) {
156
+ // The server may have committed even when its response is unusable.
157
+ throw new Error('RESULT_UNKNOWN');
158
+ }
159
+ return { adjustmentOrderId: result.adjustmentOrderId, status: 'NOT_PAID', feeCent: result.feeCent };
160
+ }
161
+ }
162
+ exports.AdvisorAdjustmentService = AdvisorAdjustmentService;
163
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../src/vs/modules/api/adjustment/advisor/service.ts"],"names":[],"mappings":"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"}