@opsregistry/adapter-cdek 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,21 +1,14 @@
1
1
  # @opsregistry/adapter-cdek
2
2
 
3
- Каркас runtime-адаптера для CDEK.
3
+ Runtime-адаптер CDEK для операций `opsregistry`.
4
4
 
5
- Пакет предназначен для будущей реализации универсальных операций `opsregistry` поверх API CDEK.
5
+ Реализовано:
6
6
 
7
- Что уже есть:
8
-
9
- - минимальные Zod-схемы для `delivery.quote` и `delivery.createShipment`;
10
- - типы входа и выхода этих операций;
11
- - поддержка operation-level метаданных `accessModeUsed` и `pricingScope` через общий пакет `@opsregistry/contracts`;
12
- - поддержка IAM-операции `it.identity.authenticate` через общий пакет `@opsregistry/contracts`;
13
- - фабрика `createAdapter(...)`;
14
- - разделение `delivery.quote` на public и authorized branch;
15
- - выбор режима доступа через старый `authMode` или новый `requestedAccessMode: auto | public | authorized`;
16
- - stub-реализация методов, которая пока явно сообщает, что интеграция не реализована.
17
-
18
- Пример IAM-потока:
7
+ - `it.identity.authenticate` через OAuth 2.0 Client Credentials с кешированием токена;
8
+ - `delivery.quote` через официальный метод `/v2/calculator/tarifflist`;
9
+ - поиск кодов городов CDEK по названию;
10
+ - расчет нескольких грузовых мест;
11
+ - фильтрация тарифов по `deliveryMode` и `serviceCodes`.
19
12
 
20
13
  ```ts
21
14
  import { createAdapter } from '@opsregistry/adapter-cdek';
@@ -25,24 +18,21 @@ const cdek = createAdapter({
25
18
  clientSecret: process.env.CDEK_CLIENT_SECRET
26
19
  });
27
20
 
28
- const auth = await cdek.authenticate({
29
- requestedAccessMode: 'auto',
30
- requestedScopes: ['delivery.quote']
21
+ const result = await cdek.quoteDelivery({
22
+ origin: { city: 'Самара' },
23
+ destination: { city: 'Москва' },
24
+ packages: [{ weightKg: 2, lengthCm: 30, widthCm: 20, heightCm: 10 }],
25
+ deliveryMode: 'terminal_terminal'
31
26
  });
32
-
33
- const quote = await cdek.quoteDelivery(input, { auth });
34
27
  ```
35
28
 
36
- В текущем skeleton-е `authenticate({ requestedAccessMode: 'authorized' })`
37
- проверяет наличие `clientId/clientSecret` и возвращает нормализованный
38
- `IdentityAuthenticateResult`. Реальный OAuth token exchange еще должен быть
39
- реализован в transport-слое.
29
+ Если код города уже известен, его можно передать без дополнительного поиска:
40
30
 
41
- Что нужно делать дальше:
31
+ ```ts
32
+ const origin = {
33
+ city: 'Самара',
34
+ externalIds: { cdekCityCode: '430' }
35
+ };
36
+ ```
42
37
 
43
- 1. Уточнить реальные поля входа и выхода по операциям.
44
- 2. Реализовать transport для `quoteDeliveryPublic(...)`.
45
- 3. Реализовать OAuth/token flow внутри `authenticate(...)`.
46
- 4. Использовать полученный credential в `quoteDeliveryAuthorized(...)`.
47
- 5. Реализовать `createShipmentAuthorized(...)`.
48
- 6. Покрыть адаптер тестами на нормализацию данных и ошибок.
38
+ `delivery.createShipment` пока не реализована.
package/dist/adapter.d.ts CHANGED
@@ -1,19 +1,6 @@
1
- import { type AdapterConfig, type CreateShipmentInput, type CreateShipmentResult, type AuthMode, type DeliveryQuoteInput, type DeliveryQuoteResult, type IdentityAuthenticateInput, type IdentityAuthenticateResult, providerCode, type RequestedAccessMode } from './contracts.js';
1
+ import { type AdapterConfig, type CreateShipmentInput, type CreateShipmentResult, type DeliveryQuoteInput, type DeliveryQuoteResult, type IdentityAuthenticateInput, type IdentityAuthenticateResult, providerCode, type RequestedAccessMode } from './contracts.js';
2
2
  export type AdapterOperationOptions = {
3
- /**
4
- * Legacy operation-level selector kept for existing callers.
5
- */
6
- authMode?: AuthMode;
7
- /**
8
- * Opsregistry IAM selector. `auto` prefers authorized access when the
9
- * adapter has credentials, otherwise falls back to public access when the
10
- * operation supports it.
11
- */
12
3
  requestedAccessMode?: RequestedAccessMode;
13
- /**
14
- * Result of `it.identity.authenticate`. When provided, the operation uses
15
- * its `accessModeUsed` instead of resolving access mode again.
16
- */
17
4
  auth?: IdentityAuthenticateResult;
18
5
  };
19
6
  export type ProviderAdapter = {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAIlB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAGzB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAIxB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,YAAY,EAEZ,KAAK,mBAAmB,EAIxB,MAAM,gBAAgB,CAAC;AAwNxB,MAAM,MAAM,uBAAuB,GAAG;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,IAAI,CAAC,EAAE,0BAA0B,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClG,aAAa,EAAE,CACd,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE,uBAAuB,KAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC,cAAc,EAAE,CACf,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,uBAAuB,KAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,aAAa,YAAY,aAAa,KAAQ,eAoF1D,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAGlB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAKzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAKxB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,YAAY,EACZ,KAAK,mBAAmB,EACxB,MAAM,gBAAgB,CAAC;AAwPxB,MAAM,MAAM,uBAAuB,GAAG;IACrC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,IAAI,CAAC,EAAE,0BAA0B,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClG,aAAa,EAAE,CACd,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE,uBAAuB,KAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC,cAAc,EAAE,CACf,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,uBAAuB,KAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,aAAa,YAAY,aAAa,KAAQ,eAmC1D,CAAC"}
package/dist/adapter.js CHANGED
@@ -1,133 +1,184 @@
1
- import { adapterConfigSchema, authModeSchema, createShipmentInputSchema, createShipmentOperationCode, deliveryQuoteInputSchema, deliveryQuoteOperationCode, identityAuthenticateInputSchema, identityAuthenticateOperationCode, identityAuthenticateResultSchema, providerCode, requestedAccessModeSchema, supportedAuthenticateAccessModes, supportedCreateShipmentAuthModes, supportedQuoteAuthModes } from './contracts.js';
1
+ import { adapterConfigSchema, createShipmentInputSchema, createShipmentOperationCode, deliveryQuoteInputSchema, deliveryQuoteOperationCode, deliveryQuoteResultSchema, identityAuthenticateInputSchema, identityAuthenticateOperationCode, identityAuthenticateResultSchema, providerCode } from './contracts.js';
2
+ const tokenCache = new Map();
2
3
  const notImplemented = (operationCode) => {
3
- throw new Error(`Adapter ${providerCode} does not implement ${operationCode} yet. This package is only a skeleton.`);
4
- };
5
- const assertSupportedAuthMode = (operationCode, supportedAuthModes, authMode) => {
6
- const resolvedAuthMode = authMode ?? supportedAuthModes[0];
7
- authModeSchema.parse(resolvedAuthMode);
8
- if (!supportedAuthModes.includes(resolvedAuthMode)) {
9
- throw new Error(`Adapter ${providerCode} does not support auth mode ${resolvedAuthMode} for ${operationCode}.`);
10
- }
11
- return resolvedAuthMode;
12
- };
13
- const readString = (value) => (typeof value === 'string' && value ? value : undefined);
14
- const hasAuthorizedCredentials = (transport, credentials = {}) => Boolean((readString(credentials.clientId) ?? transport.clientId) &&
15
- (readString(credentials.clientSecret) ?? transport.clientSecret));
16
- const resolveRequestedAccessMode = (operationCode, supportedAuthModes, requestedAccessMode, hasCredentials) => {
17
- const requested = requestedAccessModeSchema.parse(requestedAccessMode ?? 'auto');
18
- if (requested === 'auto') {
19
- if (hasCredentials && supportedAuthModes.includes('authorized'))
20
- return 'authorized';
21
- if (supportedAuthModes.includes('public'))
22
- return 'public';
23
- return assertSupportedAuthMode(operationCode, supportedAuthModes, 'authorized');
24
- }
25
- return assertSupportedAuthMode(operationCode, supportedAuthModes, requested);
4
+ throw new Error(`Adapter ${providerCode} does not implement ${operationCode} yet.`);
26
5
  };
27
6
  const createTransportContext = (config) => ({
28
7
  timeoutMs: config.timeoutMs,
29
- publicBaseUrl: config.publicBaseUrl ?? config.baseUrl ?? 'https://api.cdek.ru',
30
- authorizedBaseUrl: config.authorizedBaseUrl ?? config.baseUrl ?? 'https://api.cdek.ru',
31
- apiKey: config.apiKey,
8
+ baseUrl: (config.baseUrl ?? 'https://api.cdek.ru').replace(/\/+$/, ''),
32
9
  clientId: config.clientId,
33
10
  clientSecret: config.clientSecret
34
11
  });
35
- const buildQuoteStubOption = (input, overrides) => ({
36
- providerCode,
37
- serviceCode: overrides.serviceCode,
38
- serviceName: overrides.serviceName,
39
- price: overrides.price,
40
- currency: 'RUB',
41
- etaMinDays: overrides.etaMinDays,
42
- etaMaxDays: overrides.etaMaxDays,
43
- notes: [
44
- `Stub quote for route ${input.origin.city} -> ${input.destination.city}.`,
45
- ...(overrides.notes ?? [])
46
- ]
47
- });
48
- const quoteDeliveryPublic = async (transport, input) => {
12
+ const request = async (transport, path, options = {}) => {
13
+ const controller = new AbortController();
14
+ const timer = setTimeout(() => controller.abort(), transport.timeoutMs);
15
+ const headers = new Headers({ Accept: 'application/json' });
16
+ if (options.accessToken)
17
+ headers.set('Authorization', `Bearer ${options.accessToken}`);
18
+ let body;
19
+ if (options.body instanceof URLSearchParams) {
20
+ headers.set('Content-Type', 'application/x-www-form-urlencoded');
21
+ body = options.body.toString();
22
+ }
23
+ else if (options.body) {
24
+ headers.set('Content-Type', 'application/json');
25
+ body = JSON.stringify(options.body);
26
+ }
27
+ try {
28
+ const response = await fetch(`${transport.baseUrl}${path}`, {
29
+ method: options.method ?? 'GET',
30
+ headers,
31
+ body,
32
+ signal: controller.signal
33
+ });
34
+ const payload = await response.json().catch(() => ({}));
35
+ if (!response.ok) {
36
+ const source = payload && typeof payload === 'object' ? payload : {};
37
+ const errors = Array.isArray(source.errors) ? source.errors : [];
38
+ const first = errors[0] && typeof errors[0] === 'object' ? errors[0] : {};
39
+ throw new Error(typeof first.message === 'string'
40
+ ? first.message
41
+ : `CDEK API request failed with status ${response.status}`);
42
+ }
43
+ return payload;
44
+ }
45
+ catch (error) {
46
+ if (error instanceof Error && error.name === 'AbortError') {
47
+ throw new Error(`CDEK API request timed out after ${transport.timeoutMs} ms.`);
48
+ }
49
+ throw error;
50
+ }
51
+ finally {
52
+ clearTimeout(timer);
53
+ }
54
+ };
55
+ const getAccessToken = async (transport) => {
56
+ if (!transport.clientId || !transport.clientSecret) {
57
+ throw new Error(`Adapter ${providerCode} requires clientId and clientSecret.`);
58
+ }
59
+ const cacheKey = `${transport.baseUrl}|${transport.clientId}`;
60
+ const cached = tokenCache.get(cacheKey);
61
+ if (cached && cached.expiresAt > Date.now() + 60_000)
62
+ return cached.accessToken;
63
+ const payload = (await request(transport, '/v2/oauth/token', {
64
+ method: 'POST',
65
+ body: new URLSearchParams({
66
+ grant_type: 'client_credentials',
67
+ client_id: transport.clientId,
68
+ client_secret: transport.clientSecret
69
+ })
70
+ }));
71
+ const accessToken = typeof payload.access_token === 'string' ? payload.access_token.trim() : '';
72
+ if (!accessToken)
73
+ throw new Error('CDEK OAuth response does not contain access_token.');
74
+ const expiresIn = Number(payload.expires_in);
75
+ tokenCache.set(cacheKey, {
76
+ accessToken,
77
+ expiresAt: Date.now() + (Number.isFinite(expiresIn) ? expiresIn : 3600) * 1000
78
+ });
79
+ return accessToken;
80
+ };
81
+ const readCredentialToken = (auth) => auth?.credential?.kind === 'accessToken' ? auth.credential.value : undefined;
82
+ const normalizeCity = (value) => value
83
+ .toLocaleLowerCase('ru')
84
+ .replace(/ё/g, 'е')
85
+ .replace(/[^а-яa-z0-9]+/giu, ' ')
86
+ .trim();
87
+ const resolveLocation = async (transport, accessToken, location) => {
88
+ const externalCode = location.externalIds.cdekCityCode;
89
+ if (externalCode && /^\d+$/.test(externalCode)) {
90
+ return {
91
+ code: Number(externalCode),
92
+ ...(location.addressLine ? { address: location.addressLine } : {})
93
+ };
94
+ }
95
+ const params = new URLSearchParams({
96
+ city: location.city,
97
+ size: '20',
98
+ ...(location.countryCode ? { country_codes: location.countryCode.toUpperCase() } : {})
99
+ });
100
+ const payload = await request(transport, `/v2/location/cities?${params}`, { accessToken });
101
+ const rows = Array.isArray(payload) ? payload : [];
102
+ const expected = normalizeCity(location.city);
103
+ const match = rows.find((row) => normalizeCity(String(row.city ?? '')) === expected) ??
104
+ rows.find((row) => normalizeCity(String(row.city ?? '')).includes(expected)) ??
105
+ rows[0];
106
+ const code = Number(match?.code);
107
+ if (!Number.isInteger(code) || code <= 0) {
108
+ throw new Error(`CDEK city "${location.city}" was not found.`);
109
+ }
49
110
  return {
50
- operationCode: deliveryQuoteOperationCode,
51
- accessModeUsed: 'public',
52
- pricingScope: 'public',
53
- options: [
54
- buildQuoteStubOption(input, {
55
- serviceCode: input.serviceCodes[0] ?? 'cdek-public',
56
- serviceName: 'CDEK Public Calculator',
57
- price: 950,
58
- etaMinDays: 3,
59
- etaMaxDays: 5,
60
- notes: [
61
- `Uses public branch ${transport.publicBaseUrl}.`,
62
- 'No contract pricing is applied in this stub.'
63
- ]
64
- })
65
- ]
111
+ code,
112
+ ...(location.addressLine ? { address: location.addressLine } : {})
66
113
  };
67
114
  };
68
- const quoteDeliveryAuthorized = async (transport, input) => {
69
- return {
115
+ const deliveryModeCodes = {
116
+ address_address: 1,
117
+ address_terminal: 2,
118
+ terminal_address: 3,
119
+ terminal_terminal: 4
120
+ };
121
+ const quoteDelivery = async (transport, input, accessToken) => {
122
+ const [fromLocation, toLocation] = await Promise.all([
123
+ resolveLocation(transport, accessToken, input.origin),
124
+ resolveLocation(transport, accessToken, input.destination)
125
+ ]);
126
+ const packages = input.packages.flatMap((item) => Array.from({ length: item.quantity }, (_, index) => ({
127
+ number: `${input.packages.indexOf(item) + 1}-${index + 1}`,
128
+ weight: Math.max(1, Math.round(item.weightKg * 1000)),
129
+ length: item.lengthCm ? Math.max(1, Math.round(item.lengthCm)) : undefined,
130
+ width: item.widthCm ? Math.max(1, Math.round(item.widthCm)) : undefined,
131
+ height: item.heightCm ? Math.max(1, Math.round(item.heightCm)) : undefined
132
+ })));
133
+ const payload = (await request(transport, '/v2/calculator/tarifflist', {
134
+ method: 'POST',
135
+ accessToken,
136
+ body: {
137
+ date: input.requestedDate,
138
+ type: 2,
139
+ currency: 1,
140
+ lang: 'rus',
141
+ from_location: fromLocation,
142
+ to_location: toLocation,
143
+ packages
144
+ }
145
+ }));
146
+ const rows = Array.isArray(payload.tariff_codes) ? payload.tariff_codes : [];
147
+ const requestedServices = new Set(input.serviceCodes);
148
+ const requestedMode = deliveryModeCodes[input.deliveryMode];
149
+ const options = rows
150
+ .filter((row) => !requestedServices.size || requestedServices.has(String(row.tariff_code ?? '')))
151
+ .filter((row) => !row.delivery_mode || Number(row.delivery_mode) === requestedMode)
152
+ .map((row) => ({
153
+ providerCode,
154
+ serviceCode: String(row.tariff_code ?? ''),
155
+ serviceName: String(row.tariff_name ?? row.tariff_description ?? row.tariff_code ?? ''),
156
+ price: Math.max(0, Number(row.total_sum ?? row.delivery_sum ?? 0)),
157
+ currency: 'RUB',
158
+ etaMinDays: Number(row.period_min) > 0 ? Math.round(Number(row.period_min)) : undefined,
159
+ etaMaxDays: Number(row.period_max) > 0 ? Math.round(Number(row.period_max)) : undefined,
160
+ notes: []
161
+ }))
162
+ .filter((option) => option.serviceCode && option.serviceName && Number.isFinite(option.price));
163
+ return deliveryQuoteResultSchema.parse({
70
164
  operationCode: deliveryQuoteOperationCode,
71
165
  accessModeUsed: 'authorized',
72
166
  pricingScope: 'personal',
73
- options: [
74
- buildQuoteStubOption(input, {
75
- serviceCode: input.serviceCodes[0] ?? 'cdek-contract',
76
- serviceName: 'CDEK Contract Tariff',
77
- price: 790,
78
- etaMinDays: 2,
79
- etaMaxDays: 4,
80
- notes: [
81
- `Uses authorized branch ${transport.authorizedBaseUrl}.`,
82
- 'Personal tariff branch is selected in this stub.'
83
- ]
84
- })
85
- ]
86
- };
87
- };
88
- const createShipmentAuthorized = async (transport, input) => {
89
- void transport;
90
- void input;
91
- return notImplemented(`${createShipmentOperationCode} [authorized]`);
167
+ options
168
+ });
92
169
  };
93
- const authenticatePublic = () => identityAuthenticateResultSchema.parse({
94
- operationCode: identityAuthenticateOperationCode,
95
- status: 'anonymous',
96
- subject: {
97
- kind: 'anonymous',
98
- providerCode,
99
- roles: [],
100
- permissions: [],
101
- scopes: [],
102
- claims: {}
103
- },
104
- accessModeUsed: 'public',
105
- credential: {
106
- kind: 'none',
107
- transport: 'none',
108
- scopes: [],
109
- metadata: {}
110
- },
111
- metadata: {
112
- providerCode,
113
- operationStatus: 'ready',
114
- reason: 'CDEK public quote branch does not require credentials.'
115
- }
116
- });
117
- const authenticateAuthorized = (transport, input) => {
118
- const clientId = readString(input.credentials.clientId) ?? transport.clientId;
119
- const clientSecret = readString(input.credentials.clientSecret) ?? transport.clientSecret;
120
- const accessToken = readString(input.credentials.accessToken);
121
- if (!clientId || !clientSecret) {
122
- throw new Error(`Adapter ${providerCode} requires clientId and clientSecret for authorized access.`);
170
+ const authenticate = async (transport, input) => {
171
+ if (input.requestedAccessMode === 'public') {
172
+ throw new Error(`Adapter ${providerCode} does not support public access.`);
123
173
  }
174
+ const accessToken = await getAccessToken(transport);
124
175
  return identityAuthenticateResultSchema.parse({
125
176
  operationCode: identityAuthenticateOperationCode,
126
177
  status: 'authenticated',
127
178
  subject: {
128
179
  kind: 'providerAccount',
129
- id: clientId,
130
- externalId: clientId,
180
+ id: transport.clientId,
181
+ externalId: transport.clientId,
131
182
  providerCode,
132
183
  roles: [],
133
184
  permissions: [],
@@ -142,76 +193,42 @@ const authenticateAuthorized = (transport, input) => {
142
193
  name: 'Authorization',
143
194
  value: accessToken,
144
195
  scopes: input.requestedScopes,
145
- metadata: {
146
- providerCode,
147
- baseUrl: transport.authorizedBaseUrl,
148
- implementationStatus: 'stub',
149
- tokenExchangeRequired: !accessToken,
150
- clientSecretPresent: Boolean(clientSecret)
151
- }
196
+ metadata: { providerCode, baseUrl: transport.baseUrl }
152
197
  },
153
- metadata: {
154
- providerCode,
155
- operationStatus: 'stub',
156
- note: 'Runtime should exchange client credentials for a real CDEK OAuth access token before HTTP calls.'
157
- }
198
+ metadata: { providerCode, operationStatus: 'ready' }
158
199
  });
159
200
  };
160
201
  export const createAdapter = (config = {}) => {
161
- const resolvedConfig = adapterConfigSchema.parse(config);
162
- const transport = createTransportContext(resolvedConfig);
202
+ const transport = createTransportContext(adapterConfigSchema.parse(config));
163
203
  return {
164
204
  providerCode,
165
205
  async authenticate(input = {}) {
166
- const normalizedInput = identityAuthenticateInputSchema.parse({
167
- subject: {
168
- kind: input.subject?.kind ?? 'providerAccount',
169
- providerCode,
170
- ...(input.subject ?? {})
171
- },
172
- method: input.method ??
173
- (input.requestedAccessMode === 'public' ? 'none' : 'oauth2ClientCredentials'),
174
- credentials: {
175
- clientId: transport.clientId,
176
- clientSecret: transport.clientSecret,
177
- apiKey: transport.apiKey,
178
- ...(input.credentials ?? {})
179
- },
206
+ const normalized = identityAuthenticateInputSchema.parse({
207
+ subject: { kind: 'providerAccount', providerCode, ...(input.subject ?? {}) },
208
+ method: input.method ?? 'oauth2ClientCredentials',
209
+ credentials: input.credentials ?? {},
180
210
  requestedAccessMode: input.requestedAccessMode ?? 'auto',
181
211
  requestedScopes: input.requestedScopes ?? [],
182
212
  context: input.context
183
213
  });
184
- const accessMode = resolveRequestedAccessMode(identityAuthenticateOperationCode, supportedAuthenticateAccessModes, normalizedInput.requestedAccessMode, hasAuthorizedCredentials(transport, normalizedInput.credentials));
185
- return accessMode === 'public'
186
- ? authenticatePublic()
187
- : authenticateAuthorized(transport, normalizedInput);
214
+ return authenticate(transport, normalized);
188
215
  },
189
216
  async quoteDelivery(input, options = {}) {
190
- deliveryQuoteInputSchema.parse(input);
191
- const authMode = options.auth
192
- ? assertSupportedAuthMode(deliveryQuoteOperationCode, supportedQuoteAuthModes, options.auth.accessModeUsed)
193
- : options.requestedAccessMode
194
- ? (await this.authenticate({
195
- requestedAccessMode: options.requestedAccessMode
196
- })).accessModeUsed
197
- : assertSupportedAuthMode(deliveryQuoteOperationCode, supportedQuoteAuthModes, options.authMode);
198
- return authMode === 'public'
199
- ? quoteDeliveryPublic(transport, input)
200
- : quoteDeliveryAuthorized(transport, input);
217
+ const normalized = deliveryQuoteInputSchema.parse(input);
218
+ const auth = options.auth ??
219
+ (await this.authenticate({
220
+ requestedAccessMode: options.requestedAccessMode ?? 'auto',
221
+ requestedScopes: [deliveryQuoteOperationCode]
222
+ }));
223
+ if (auth.accessModeUsed !== 'authorized') {
224
+ throw new Error(`Adapter ${providerCode} requires authorized access for delivery.quote.`);
225
+ }
226
+ const accessToken = readCredentialToken(auth) ?? (await getAccessToken(transport));
227
+ return quoteDelivery(transport, normalized, accessToken);
201
228
  },
202
- async createShipment(input, options = {}) {
229
+ async createShipment(input) {
203
230
  createShipmentInputSchema.parse(input);
204
- const authMode = options.auth
205
- ? assertSupportedAuthMode(createShipmentOperationCode, supportedCreateShipmentAuthModes, options.auth.accessModeUsed)
206
- : options.requestedAccessMode
207
- ? (await this.authenticate({
208
- requestedAccessMode: options.requestedAccessMode
209
- })).accessModeUsed
210
- : assertSupportedAuthMode(createShipmentOperationCode, supportedCreateShipmentAuthModes, options.authMode);
211
- if (authMode === 'authorized') {
212
- return createShipmentAuthorized(transport, input);
213
- }
214
- return notImplemented(`${createShipmentOperationCode} [${authMode}]`);
231
+ return notImplemented(createShipmentOperationCode);
215
232
  }
216
233
  };
217
234
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,23 @@
1
1
  import { z } from 'zod';
2
2
  import { createShipmentInputSchema, createShipmentResultSchema, type CreateShipmentInput, type CreateShipmentResult, operationCode as createShipmentOperationCode } from '@opsregistry/contracts/delivery/create-shipment';
3
- import { deliveryQuoteInputSchema, deliveryQuoteResultSchema, type DeliveryQuoteInput, type DeliveryQuoteResult, operationCode as deliveryQuoteOperationCode } from '@opsregistry/contracts/delivery/quote';
3
+ import { deliveryQuoteInputSchema, deliveryQuoteResultSchema, type DeliveryLocation, type DeliveryQuoteInput, type NormalizedDeliveryQuoteInput, type DeliveryQuoteResult, operationCode as deliveryQuoteOperationCode } from '@opsregistry/contracts/delivery/quote';
4
4
  import { identityAuthenticateInputSchema, identityAuthenticateResultSchema, type IdentityAuthenticateInput, type IdentityAuthenticateResult, operationCode as identityAuthenticateOperationCode } from '@opsregistry/contracts/it/identity-authenticate';
5
- import { requestedAccessModeSchema, type AccessMode, type RequestedAccessMode } from '@opsregistry/contracts/it/iam-common';
5
+ import { accessModeSchema, requestedAccessModeSchema, type AccessMode, type RequestedAccessMode } from '@opsregistry/contracts/it/iam-common';
6
6
  export declare const providerCode: 'cdek';
7
- export declare const authModeSchema: z.ZodEnum<{
8
- public: "public";
9
- authorized: "authorized";
10
- }>;
11
- export declare const supportedQuoteAuthModes: readonly ['public', 'authorized'];
12
- export declare const supportedCreateShipmentAuthModes: readonly ['authorized'];
7
+ export declare const supportedQuoteAccessModes: readonly ['authorized'];
8
+ export declare const supportedCreateShipmentAccessModes: readonly ['authorized'];
13
9
  export declare const supportedAuthenticateAccessModes: readonly ['public', 'authorized'];
14
10
  export declare const adapterConfigSchema: z.ZodObject<{
15
11
  baseUrl: z.ZodOptional<z.ZodURL>;
16
12
  publicBaseUrl: z.ZodOptional<z.ZodURL>;
17
13
  authorizedBaseUrl: z.ZodOptional<z.ZodURL>;
18
- apiKey: z.ZodOptional<z.ZodString>;
19
14
  clientId: z.ZodOptional<z.ZodString>;
20
15
  clientSecret: z.ZodOptional<z.ZodString>;
21
16
  timeoutMs: z.ZodDefault<z.ZodNumber>;
22
17
  }, z.core.$strip>;
23
- export { createShipmentInputSchema, createShipmentResultSchema, deliveryQuoteInputSchema, deliveryQuoteResultSchema, identityAuthenticateInputSchema, identityAuthenticateResultSchema, requestedAccessModeSchema };
18
+ export { createShipmentInputSchema, createShipmentResultSchema, deliveryQuoteInputSchema, deliveryQuoteResultSchema, identityAuthenticateInputSchema, identityAuthenticateResultSchema, accessModeSchema, requestedAccessModeSchema };
24
19
  export { createShipmentOperationCode, deliveryQuoteOperationCode, identityAuthenticateOperationCode };
25
20
  export type AdapterConfig = z.input<typeof adapterConfigSchema>;
26
- export type AuthMode = AccessMode;
27
- export type { RequestedAccessMode };
28
- export type { CreateShipmentInput, CreateShipmentResult, DeliveryQuoteInput, DeliveryQuoteResult, IdentityAuthenticateInput, IdentityAuthenticateResult };
21
+ export type { AccessMode, RequestedAccessMode };
22
+ export type { CreateShipmentInput, CreateShipmentResult, DeliveryQuoteInput, DeliveryQuoteResult, DeliveryLocation, NormalizedDeliveryQuoteInput, IdentityAuthenticateInput, IdentityAuthenticateResult };
29
23
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,aAAa,IAAI,2BAA2B,EAC5C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,aAAa,IAAI,0BAA0B,EAC3C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,+BAA+B,EAC/B,gCAAgC,EAChC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,aAAa,IAAI,iCAAiC,EAClD,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAEN,yBAAyB,EACzB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,YAAY,EAAG,MAAe,CAAC;AAC5C,eAAO,MAAM,cAAc;;;EAAmB,CAAC;AAC/C,eAAO,MAAM,uBAAuB,YAAI,QAAQ,EAAE,YAAY,CAAU,CAAC;AACzE,eAAO,MAAM,gCAAgC,YAAI,YAAY,CAAU,CAAC;AACxE,eAAO,MAAM,gCAAgC,YAAI,QAAQ,EAAE,YAAY,CAAU,CAAC;AAElF,eAAO,MAAM,mBAAmB;;;;;;;;iBAQ9B,CAAC;AAEH,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,yBAAyB,EACzB,CAAC;AACF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,CAAC;AAEtG,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAClC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpC,YAAY,EACX,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,aAAa,IAAI,2BAA2B,EAC5C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,aAAa,IAAI,0BAA0B,EAC3C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,+BAA+B,EAC/B,gCAAgC,EAChC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,aAAa,IAAI,iCAAiC,EAClD,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACN,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,YAAY,EAAG,MAAe,CAAC;AAC5C,eAAO,MAAM,yBAAyB,YAAI,YAAY,CAAU,CAAC;AACjE,eAAO,MAAM,kCAAkC,YAAI,YAAY,CAAU,CAAC;AAC1E,eAAO,MAAM,gCAAgC,YAAI,QAAQ,EAAE,YAAY,CAAU,CAAC;AAElF,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,gBAAgB,EAChB,yBAAyB,EACzB,CAAC;AACF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,CAAC;AAEtG,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAChD,YAAY,EACX,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,CAAC"}
package/dist/contracts.js CHANGED
@@ -4,19 +4,17 @@ import { deliveryQuoteInputSchema, deliveryQuoteResultSchema, operationCode as d
4
4
  import { identityAuthenticateInputSchema, identityAuthenticateResultSchema, operationCode as identityAuthenticateOperationCode } from '@opsregistry/contracts/it/identity-authenticate';
5
5
  import { accessModeSchema, requestedAccessModeSchema } from '@opsregistry/contracts/it/iam-common';
6
6
  export const providerCode = 'cdek';
7
- export const authModeSchema = accessModeSchema;
8
- export const supportedQuoteAuthModes = ['public', 'authorized'];
9
- export const supportedCreateShipmentAuthModes = ['authorized'];
7
+ export const supportedQuoteAccessModes = ['authorized'];
8
+ export const supportedCreateShipmentAccessModes = ['authorized'];
10
9
  export const supportedAuthenticateAccessModes = ['public', 'authorized'];
11
10
  export const adapterConfigSchema = z.object({
12
11
  baseUrl: z.url().optional(),
13
12
  publicBaseUrl: z.url().optional(),
14
13
  authorizedBaseUrl: z.url().optional(),
15
- apiKey: z.string().min(1).optional(),
16
14
  clientId: z.string().min(1).optional(),
17
15
  clientSecret: z.string().min(1).optional(),
18
16
  timeoutMs: z.number().int().positive().default(30_000)
19
17
  });
20
- export { createShipmentInputSchema, createShipmentResultSchema, deliveryQuoteInputSchema, deliveryQuoteResultSchema, identityAuthenticateInputSchema, identityAuthenticateResultSchema, requestedAccessModeSchema };
18
+ export { createShipmentInputSchema, createShipmentResultSchema, deliveryQuoteInputSchema, deliveryQuoteResultSchema, identityAuthenticateInputSchema, identityAuthenticateResultSchema, accessModeSchema, requestedAccessModeSchema };
21
19
  export { createShipmentOperationCode, deliveryQuoteOperationCode, identityAuthenticateOperationCode };
22
20
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAG1B,aAAa,IAAI,2BAA2B,EAC5C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EAGzB,aAAa,IAAI,0BAA0B,EAC3C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,+BAA+B,EAC/B,gCAAgC,EAGhC,aAAa,IAAI,iCAAiC,EAClD,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACN,gBAAgB,EAChB,yBAAyB,EAGzB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAe,CAAC;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAU,CAAC;AACzE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,YAAY,CAAU,CAAC;AACxE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAU,CAAC;AAElF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3B,aAAa,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACjC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACtD,CAAC,CAAC;AAEH,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,yBAAyB,EACzB,CAAC;AACF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAG1B,aAAa,IAAI,2BAA2B,EAC5C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EAKzB,aAAa,IAAI,0BAA0B,EAC3C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,+BAA+B,EAC/B,gCAAgC,EAGhC,aAAa,IAAI,iCAAiC,EAClD,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACN,gBAAgB,EAChB,yBAAyB,EAGzB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAe,CAAC;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,YAAY,CAAU,CAAC;AACjE,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,YAAY,CAAU,CAAC;AAC1E,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAU,CAAC;AAElF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3B,aAAa,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACjC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACtD,CAAC,CAAC;AAEH,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,gBAAgB,EAChB,yBAAyB,EACzB,CAAC;AACF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@opsregistry/adapter-cdek",
3
- "version": "0.0.3",
4
- "description": "Runtime adapter skeleton for mapping CDEK APIs to opsregistry delivery operations.",
3
+ "version": "0.1.0",
4
+ "description": "CDEK runtime adapter for opsregistry delivery operations.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "packageManager": "bun@1.3.13",
@@ -13,10 +13,11 @@
13
13
  ],
14
14
  "scripts": {
15
15
  "build": "tsc -p tsconfig.json",
16
- "check": "tsc -p tsconfig.json --noEmit"
16
+ "check": "tsc -p tsconfig.json --noEmit",
17
+ "test": "bun test"
17
18
  },
18
19
  "dependencies": {
19
- "@opsregistry/contracts": "0.0.6",
20
+ "@opsregistry/contracts": "0.0.9",
20
21
  "zod": "4.4.3"
21
22
  },
22
23
  "devDependencies": {