@space-ai/contracts 0.1.2 → 0.1.3

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
@@ -64,7 +64,9 @@ Axios создаётся с `baseURL: BASE_API_URL`, сохраняется в `
64
64
  | Свойство | Тип | Описание |
65
65
  |----------|-----|----------|
66
66
  | `BASE_API_URL` | `string` | Базовый URL API → `axios.create({ baseURL })` |
67
+ | `API_PREFIX` | `string` | Опциональный префикс (`api` → `{BASE_API_URL}/api`) |
67
68
  | `axios` | `AxiosInstance` | Экземпляр axios (создаётся пакетом) |
69
+ | `CONTRACTS_AUTH` | `AuthProvider` | Провайдер токена (альтернатива `configureAuth`) |
68
70
 
69
71
  Примеры:
70
72
 
@@ -78,6 +80,78 @@ global.BASE_API_URL = 'http://localhost:3000';
78
80
 
79
81
  ---
80
82
 
83
+ ## Инициализация axios и авторизация
84
+
85
+ Пакет создаёт axios как на фронтенде:
86
+
87
+ - `baseURL` из `BASE_API_URL` + опциональный `API_PREFIX`
88
+ - заголовки `Content-Type` / `Accept: application/json`
89
+ - **request interceptor** — подставляет `Authorization: Bearer <token>`
90
+ - **response interceptor** — проверка статуса и проброс ошибок
91
+
92
+ ### Провайдер токена
93
+
94
+ Keycloak, Zustand и прочее остаются в приложении. Пакет не знает про них — вы передаёте `AuthProvider`:
95
+
96
+ ```typescript
97
+ import { configureAuth, setupApiClient } from '@space-ai/contracts';
98
+ import { getAccessToken, updateToken } from '@/api/keycloak';
99
+ import { dispatchLogout, useAuth } from '@/stores/auth';
100
+
101
+ configureAuth({
102
+ getAccessToken: () => getAccessToken() ?? useAuth.getState().token ?? null,
103
+ updateToken: (minValiditySeconds = 30) => updateToken(minValiditySeconds),
104
+ onSessionExpired: () => dispatchLogout(),
105
+ });
106
+
107
+ window.BASE_API_URL = import.meta.env.VITE_API_URL;
108
+ window.API_PREFIX = 'api'; // опционально
109
+
110
+ setupApiClient();
111
+ ```
112
+
113
+ Логика interceptor (как в `src/api/axios.ts` на фронте):
114
+
115
+ 1. `getAccessToken()` — если токена нет, запрос уходит без `Authorization`
116
+ 2. `updateToken(30)` — обновление перед запросом; при ошибке → `onSessionExpired()` и `Session expired`
117
+ 3. повторный `getAccessToken()` — свежий токен в заголовок
118
+
119
+ ### Альтернатива — `global.CONTRACTS_AUTH`
120
+
121
+ ```typescript
122
+ global.CONTRACTS_AUTH = {
123
+ getAccessToken: () => getAccessToken() ?? useAuth.getState().token ?? null,
124
+ updateToken,
125
+ onSessionExpired: dispatchLogout,
126
+ };
127
+ ```
128
+
129
+ ### Полный пример `main.tsx`
130
+
131
+ ```typescript
132
+ import { configureAuth, setupApiClient } from '@space-ai/contracts';
133
+ import { getAccessToken, updateToken } from '@/api/keycloak';
134
+ import { dispatchLogout, useAuth } from '@/stores/auth';
135
+
136
+ configureAuth({
137
+ getAccessToken: () => getAccessToken() ?? useAuth.getState().token ?? null,
138
+ updateToken: (s = 30) => updateToken(s),
139
+ onSessionExpired: dispatchLogout,
140
+ });
141
+
142
+ window.BASE_API_URL = import.meta.env.VITE_API_URL;
143
+ window.API_PREFIX = 'api';
144
+
145
+ setupApiClient();
146
+
147
+ import { createRoot } from 'react-dom/client';
148
+ import App from './App';
149
+
150
+ createRoot(document.getElementById('root')!).render(<App />);
151
+ ```
152
+
153
+ ---
154
+
81
155
  ## Способы инициализации
82
156
 
83
157
  ### Способ 1 — Vite / React (рекомендуется)
@@ -0,0 +1,12 @@
1
+ export interface AuthProvider {
2
+ /** Текущий access token (Keycloak, store и т.д.) */
3
+ getAccessToken(): string | null | undefined;
4
+ /** Обновить токен, если истекает в течение minValiditySeconds */
5
+ updateToken?(minValiditySeconds?: number): Promise<void>;
6
+ /** Сессия невалидна — logout, редирект и т.д. */
7
+ onSessionExpired?(): void;
8
+ }
9
+ export declare function configureAuth(provider: AuthProvider): void;
10
+ export declare function getAuthProvider(): AuthProvider | undefined;
11
+ export declare function resetAuthProvider(): void;
12
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,cAAc,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,iEAAiE;IACjE,WAAW,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,iDAAiD;IACjD,gBAAgB,CAAC,IAAI,IAAI,CAAC;CAC3B;AAID,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAE1D;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,SAAS,CAE1D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -0,0 +1,12 @@
1
+ import { getRuntime } from './runtime.js';
2
+ let authProvider = null;
3
+ export function configureAuth(provider) {
4
+ authProvider = provider;
5
+ }
6
+ export function getAuthProvider() {
7
+ return authProvider ?? getRuntime()?.CONTRACTS_AUTH;
8
+ }
9
+ export function resetAuthProvider() {
10
+ authProvider = null;
11
+ }
12
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,IAAI,YAAY,GAAwB,IAAI,CAAC;AAE7C,MAAM,UAAU,aAAa,CAAC,QAAsB;IAClD,YAAY,GAAG,QAAQ,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,IAAI,UAAU,EAAE,EAAE,cAAc,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type AxiosInstance } from 'axios';
2
+ export declare function resolveBaseURL(): string | undefined;
3
+ export declare function createConfiguredAxios(baseURL?: string): AxiosInstance;
4
+ //# sourceMappingURL=create-axios-instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-axios-instance.d.ts","sourceRoot":"","sources":["../../src/core/create-axios-instance.ts"],"names":[],"mappings":"AAAA,OAAc,EACZ,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAC;AAMf,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAUnD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAWrE"}
@@ -0,0 +1,63 @@
1
+ import axios from 'axios';
2
+ import { getAuthProvider } from './auth.js';
3
+ import { getBaseApiUrl, getRuntime } from './runtime.js';
4
+ const INTERCEPTORS_ATTACHED = Symbol('contracts.interceptors');
5
+ export function resolveBaseURL() {
6
+ const base = getBaseApiUrl();
7
+ if (!base)
8
+ return undefined;
9
+ const prefix = getRuntime()?.API_PREFIX;
10
+ if (!prefix)
11
+ return base;
12
+ const normalizedBase = base.replace(/\/$/, '');
13
+ const normalizedPrefix = prefix.replace(/^\//, '').replace(/\/$/, '');
14
+ return `${normalizedBase}/${normalizedPrefix}`;
15
+ }
16
+ export function createConfiguredAxios(baseURL) {
17
+ const instance = axios.create({
18
+ baseURL: baseURL ?? resolveBaseURL(),
19
+ headers: {
20
+ 'Content-Type': 'application/json',
21
+ Accept: 'application/json',
22
+ },
23
+ });
24
+ attachInterceptors(instance);
25
+ return instance;
26
+ }
27
+ function attachInterceptors(instance) {
28
+ const marked = instance;
29
+ if (marked[INTERCEPTORS_ATTACHED])
30
+ return;
31
+ marked[INTERCEPTORS_ATTACHED] = true;
32
+ instance.interceptors.request.use(async (config) => {
33
+ const auth = getAuthProvider();
34
+ if (!auth)
35
+ return config;
36
+ const token = auth.getAccessToken();
37
+ if (!token)
38
+ return config;
39
+ if (auth.updateToken) {
40
+ try {
41
+ await auth.updateToken(30);
42
+ }
43
+ catch {
44
+ auth.onSessionExpired?.();
45
+ return Promise.reject(new Error('Session expired'));
46
+ }
47
+ }
48
+ const fresh = auth.getAccessToken();
49
+ const currentToken = fresh ?? token;
50
+ if (currentToken) {
51
+ config.headers.Authorization = `Bearer ${currentToken}`;
52
+ }
53
+ return config;
54
+ }, (error) => Promise.reject(error));
55
+ instance.interceptors.response.use((res) => {
56
+ if (res.status >= 200 && res.status < 300)
57
+ return res;
58
+ throw new Error(res.data);
59
+ }, (err) => {
60
+ throw new Error(err);
61
+ });
62
+ }
63
+ //# sourceMappingURL=create-axios-instance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-axios-instance.js","sourceRoot":"","sources":["../../src/core/create-axios-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAGN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,qBAAqB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAE/D,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,MAAM,MAAM,GAAG,UAAU,EAAE,EAAE,UAAU,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtE,OAAO,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE;QACpC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;SAC3B;KACF,CAAC,CAAC;IAEH,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAuB;IACjD,MAAM,MAAM,GAAG,QAEd,CAAC;IAEF,IAAI,MAAM,CAAC,qBAAqB,CAAC;QAAE,OAAO;IAC1C,MAAM,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;IAErC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAC/B,KAAK,EAAE,MAAkC,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,YAAY,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACjC,CAAC;IAEF,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAChC,CAAC,GAAG,EAAE,EAAE;QACN,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,GAAG,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAc,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-api-client.d.ts","sourceRoot":"","sources":["../../src/core/setup-api-client.ts"],"names":[],"mappings":"AAWA,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,cAAc,IAAI,IAAI,CA0BrC"}
1
+ {"version":3,"file":"setup-api-client.d.ts","sourceRoot":"","sources":["../../src/core/setup-api-client.ts"],"names":[],"mappings":"AAaA,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,cAAc,IAAI,IAAI,CAyBrC"}
@@ -1,5 +1,5 @@
1
- import axios from 'axios';
2
- import { getBaseApiUrl, getRuntime, getRuntimeAxios, setRuntimeAxios, } from './runtime.js';
1
+ import { createConfiguredAxios, resolveBaseURL, } from './create-axios-instance.js';
2
+ import { getRuntime, getRuntimeAxios, setRuntimeAxios, } from './runtime.js';
3
3
  import { setStoredAxios } from './state.js';
4
4
  let autoInitEnabled = false;
5
5
  export function enableAutoInit() {
@@ -10,17 +10,17 @@ export function isAutoInitEnabled() {
10
10
  }
11
11
  export function setupApiClient() {
12
12
  const runtime = getRuntime();
13
+ const baseURL = resolveBaseURL();
13
14
  if (!runtime) {
14
- setStoredAxios(axios.create());
15
+ setStoredAxios(createConfiguredAxios(baseURL));
15
16
  return;
16
17
  }
17
- const baseURL = getBaseApiUrl();
18
18
  if (!baseURL) {
19
19
  console.warn('@space-ai/contracts: BASE_API_URL не задан (global / window) — axios создаётся без baseURL');
20
20
  }
21
21
  let instance = getRuntimeAxios();
22
22
  if (!instance) {
23
- instance = axios.create({ baseURL });
23
+ instance = createConfiguredAxios(baseURL);
24
24
  setRuntimeAxios(instance);
25
25
  }
26
26
  else if (baseURL) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-api-client.js","sourceRoot":"","sources":["../../src/core/setup-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,UAAU,cAAc;IAC5B,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;IAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,QAAQ,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"setup-api-client.js","sourceRoot":"","sources":["../../src/core/setup-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,UAAU,cAAc;IAC5B,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;IAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC1C,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,QAAQ,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export { initApiClient } from './core/init.js';
2
2
  export { setupApiClient, enableAutoInit } from './core/setup-api-client.js';
3
3
  export { getAxios, resetAxios } from './core/axios-instance.js';
4
+ export { configureAuth, resetAuthProvider, type AuthProvider, } from './core/auth.js';
5
+ export { createConfiguredAxios, resolveBaseURL, } from './core/create-axios-instance.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { initApiClient } from './core/init.js';
2
2
  export { setupApiClient, enableAutoInit } from './core/setup-api-client.js';
3
3
  export { getAxios, resetAxios } from './core/axios-instance.js';
4
+ export { configureAuth, resetAuthProvider, } from './core/auth.js';
5
+ export { createConfiguredAxios, resolveBaseURL, } from './core/create-axios-instance.js';
4
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,iCAAiC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@space-ai/contracts",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Типы и функции HTTP-запросов к API (axios устанавливается вместе с пакетом)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",