@space-ai/contracts 0.1.0 → 0.1.1
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 +249 -27
- package/dist/axios.d.ts +2 -0
- package/dist/axios.d.ts.map +1 -0
- package/dist/axios.js +6 -0
- package/dist/axios.js.map +1 -0
- package/dist/core/axios-instance.d.ts.map +1 -1
- package/dist/core/axios-instance.js +15 -6
- package/dist/core/axios-instance.js.map +1 -1
- package/dist/core/setup-api-client.d.ts +4 -0
- package/dist/core/setup-api-client.d.ts.map +1 -0
- package/dist/core/setup-api-client.js +27 -0
- package/dist/core/setup-api-client.js.map +1 -0
- package/dist/core/state.d.ts +5 -0
- package/dist/core/state.d.ts.map +1 -0
- package/dist/core/state.js +11 -0
- package/dist/core/state.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +11 -5
package/README.md
CHANGED
|
@@ -1,55 +1,277 @@
|
|
|
1
1
|
# @space-ai/contracts
|
|
2
2
|
|
|
3
|
-
npm-пакет с
|
|
3
|
+
npm-пакет с TypeScript-типами и функциями HTTP-запросов к API.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Axios устанавливается автоматически как зависимость пакета. Базовый URL API задаётся через глобальную переменную `window.BASE_API_URL`.
|
|
6
6
|
|
|
7
|
+
## Содержание
|
|
8
|
+
|
|
9
|
+
- [Установка](#установка)
|
|
10
|
+
- [Быстрый старт](#быстрый-старт)
|
|
11
|
+
- [window.BASE_API_URL](#windowbase_api_url)
|
|
12
|
+
- [Способы инициализации](#способы-инициализации)
|
|
13
|
+
- [Использование API-функций](#использование-api-функций)
|
|
14
|
+
- [TypeScript](#typescript)
|
|
15
|
+
- [Локальная разработка пакета](#локальная-разработка-пакета)
|
|
16
|
+
- [Публикация в npm](#публикация-в-npm)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Установка
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install @space-ai/contracts
|
|
7
24
|
```
|
|
8
|
-
|
|
9
|
-
|
|
25
|
+
|
|
26
|
+
Отдельно ставить `axios` не нужно.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Быстрый старт
|
|
31
|
+
|
|
32
|
+
**1.** Задайте базовый URL API на `window`:
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
window.BASE_API_URL = 'https://api.example.com';
|
|
10
36
|
```
|
|
11
37
|
|
|
12
|
-
|
|
38
|
+
**2.** Подключите автоинициализацию axios (один раз в точке входа):
|
|
13
39
|
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
|
|
40
|
+
```typescript
|
|
41
|
+
import '@space-ai/contracts/axios';
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**3.** Используйте функции запросов где угодно:
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
import { getUser } from '@space-ai/contracts';
|
|
48
|
+
|
|
49
|
+
const user = await getUser(1);
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Axios создаётся с `baseURL: window.BASE_API_URL`, сохраняется в `window.axios` и используется всеми API-функциями.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## window.BASE_API_URL
|
|
57
|
+
|
|
58
|
+
| Свойство | Тип | Описание |
|
|
59
|
+
|----------|-----|----------|
|
|
60
|
+
| `window.BASE_API_URL` | `string` | Базовый URL API → передаётся в `axios.create({ baseURL })` |
|
|
61
|
+
| `window.axios` | `AxiosInstance` | Экземпляр axios (создаётся пакетом, можно использовать напрямую) |
|
|
62
|
+
|
|
63
|
+
Примеры значений:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
window.BASE_API_URL = 'https://api.example.com'; // prod
|
|
67
|
+
window.BASE_API_URL = 'https://staging.example.com'; // staging
|
|
68
|
+
window.BASE_API_URL = '/api'; // proxy через dev-сервер
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Способы инициализации
|
|
74
|
+
|
|
75
|
+
### Способ 1 — Vite / React (рекомендуется)
|
|
76
|
+
|
|
77
|
+
Импорты в ES-модулях **поднимаются (hoisting)** и выполняются раньше остального кода файла. Поэтому `window.BASE_API_URL` нужно задать **до** загрузки приложения.
|
|
78
|
+
|
|
79
|
+
**index.html** — задайте URL до бандла:
|
|
80
|
+
|
|
81
|
+
```html
|
|
82
|
+
<!DOCTYPE html>
|
|
83
|
+
<html lang="ru">
|
|
84
|
+
<head>...</head>
|
|
85
|
+
<body>
|
|
86
|
+
<div id="root"></div>
|
|
87
|
+
<script>
|
|
88
|
+
window.BASE_API_URL = '/api';
|
|
89
|
+
</script>
|
|
90
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
91
|
+
</body>
|
|
92
|
+
</html>
|
|
17
93
|
```
|
|
18
94
|
|
|
19
|
-
|
|
95
|
+
**main.tsx**:
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import '@space-ai/contracts/axios';
|
|
99
|
+
import { createRoot } from 'react-dom/client';
|
|
100
|
+
import App from './App';
|
|
101
|
+
|
|
102
|
+
createRoot(document.getElementById('root')!).render(<App />);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
#### Vite: URL из `.env`
|
|
106
|
+
|
|
107
|
+
В `.env`:
|
|
108
|
+
|
|
109
|
+
```env
|
|
110
|
+
VITE_BASE_API_URL=https://api.example.com
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
В **index.html** (Vite подставляет `%VITE_*%` при сборке):
|
|
114
|
+
|
|
115
|
+
```html
|
|
116
|
+
<script>
|
|
117
|
+
window.BASE_API_URL = '%VITE_BASE_API_URL%';
|
|
118
|
+
</script>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Или через **vite.config.ts** — плагин `transformIndexHtml`, если нужна подстановка иначе.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### Способ 2 — явный вызов `setupApiClient()`
|
|
126
|
+
|
|
127
|
+
Если `BASE_API_URL` задаётся в коде (например, из `import.meta.env`), вызовите setup **после** присвоения:
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
// main.tsx
|
|
131
|
+
window.BASE_API_URL = import.meta.env.VITE_BASE_API_URL;
|
|
132
|
+
|
|
133
|
+
import { setupApiClient } from '@space-ai/contracts';
|
|
134
|
+
|
|
135
|
+
setupApiClient();
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Side-effect импорт `@space-ai/contracts/axios` здесь **не обязателен** — достаточно `setupApiClient()`.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
### Способ 3 — side-effect импорт + отложенная инициализация
|
|
143
|
+
|
|
144
|
+
Если используете только:
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
window.BASE_API_URL = import.meta.env.VITE_BASE_API_URL;
|
|
148
|
+
import '@space-ai/contracts/axios';
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
из-за hoisting импорт выполнится **раньше** присвоения `BASE_API_URL`. Пакет это учитывает: при импорте `@space-ai/contracts/axios` включается **auto-init**, а axios создаётся при **первом HTTP-запросе**, когда `window.BASE_API_URL` уже задан.
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
// main.tsx — порядок строк в файле не важен для auto-init
|
|
155
|
+
import '@space-ai/contracts/axios';
|
|
156
|
+
|
|
157
|
+
window.BASE_API_URL = import.meta.env.VITE_BASE_API_URL;
|
|
158
|
+
|
|
159
|
+
// axios создастся при первом вызове getUser(), getProducts() и т.д.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
> Для interceptors и baseURL до первого запроса надёжнее **Способ 1** или **Способ 2**.
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### Способ 4 — полностью ручная настройка
|
|
167
|
+
|
|
168
|
+
Свой экземпляр axios с interceptors, таймаутами и т.д.:
|
|
20
169
|
|
|
21
170
|
```typescript
|
|
22
171
|
import axios from 'axios';
|
|
23
|
-
import { initApiClient
|
|
172
|
+
import { initApiClient } from '@space-ai/contracts';
|
|
173
|
+
|
|
174
|
+
const api = axios.create({
|
|
175
|
+
baseURL: window.BASE_API_URL ?? '/api',
|
|
176
|
+
timeout: 10_000,
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
api.interceptors.request.use((config) => {
|
|
180
|
+
// auth token, headers...
|
|
181
|
+
return config;
|
|
182
|
+
});
|
|
24
183
|
|
|
25
|
-
const api = axios.create({ baseURL: '/api' });
|
|
26
184
|
initApiClient(api);
|
|
185
|
+
```
|
|
27
186
|
|
|
28
|
-
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Использование API-функций
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
import { getUser, createUser } from '@space-ai/contracts';
|
|
193
|
+
|
|
194
|
+
const user = await getUser(42);
|
|
195
|
+
|
|
196
|
+
const created = await createUser({
|
|
197
|
+
name: 'Alice',
|
|
198
|
+
email: 'alice@example.com',
|
|
199
|
+
});
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Запросы идут на `{BASE_API_URL}/users/42`, `{BASE_API_URL}/users` и т.д.
|
|
203
|
+
|
|
204
|
+
Прямой доступ к axios (после инициализации):
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
const client = window.axios;
|
|
208
|
+
await client.get('/health');
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## TypeScript
|
|
214
|
+
|
|
215
|
+
Пакет расширяет `Window`:
|
|
216
|
+
|
|
217
|
+
```typescript
|
|
218
|
+
interface Window {
|
|
219
|
+
BASE_API_URL?: string;
|
|
220
|
+
axios?: import('axios').AxiosInstance;
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Дополнительные декларации в проекте не нужны.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Локальная разработка пакета
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
git clone <repo>
|
|
232
|
+
cd contracts
|
|
233
|
+
npm install
|
|
234
|
+
npm run build
|
|
29
235
|
```
|
|
30
236
|
|
|
237
|
+
Структура:
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
src/
|
|
241
|
+
api/ — функции запросов к эндпоинтам
|
|
242
|
+
types/ — типы запросов/ответов
|
|
243
|
+
core/ — axios, init, setup
|
|
244
|
+
axios.ts — entry point @space-ai/contracts/axios
|
|
245
|
+
index.ts — публичное API @space-ai/contracts
|
|
246
|
+
dist/ — сборка для npm (не коммитится)
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
31
251
|
## Публикация в npm
|
|
32
252
|
|
|
33
|
-
1.
|
|
34
|
-
2.
|
|
35
|
-
3.
|
|
36
|
-
4. Обновите в `package.json`: `name`, `repository.url` (пакет публикуется как **public** scoped).
|
|
37
|
-
5. Локально поднимите версию и запушьте тег:
|
|
253
|
+
1. Организация `@space-ai` на [npmjs.com](https://www.npmjs.com/).
|
|
254
|
+
2. Granular Access Token (Read and write, Bypass 2FA) → GitHub Secret `NPM_TOKEN`.
|
|
255
|
+
3. Поднять версию и запушить тег:
|
|
38
256
|
|
|
39
257
|
```bash
|
|
40
|
-
npm version patch
|
|
258
|
+
npm version patch
|
|
41
259
|
git push origin main --tags
|
|
42
260
|
```
|
|
43
261
|
|
|
44
|
-
CI
|
|
262
|
+
CI (`.github/workflows/publish.yml`) выполнит `npm publish` при теге `v*.*.*`.
|
|
263
|
+
|
|
264
|
+
| Workflow | Назначение |
|
|
265
|
+
|----------|------------|
|
|
266
|
+
| `ci.yml` | сборка на PR и push в main |
|
|
267
|
+
| `publish.yml` | публикация по git-тегу |
|
|
45
268
|
|
|
46
|
-
|
|
269
|
+
---
|
|
47
270
|
|
|
48
|
-
|
|
49
|
-
|-----|-------|
|
|
50
|
-
| Secret `NPM_TOKEN` | авторизация `npm publish` в Actions |
|
|
51
|
-
| Workflow `ci.yml` | проверка сборки на PR и push в main |
|
|
52
|
-
| Workflow `publish.yml` | публикация по git-тегу |
|
|
53
|
-
| (опционально) Branch protection | merge только после зелёного CI |
|
|
271
|
+
## Частые проблемы
|
|
54
272
|
|
|
55
|
-
|
|
273
|
+
| Симптом | Решение |
|
|
274
|
+
|---------|---------|
|
|
275
|
+
| `Axios не найден` | Задайте `window.BASE_API_URL`, импортируйте `@space-ai/contracts/axios` или вызовите `setupApiClient()` |
|
|
276
|
+
| Запросы без baseURL | `BASE_API_URL` не был задан до инициализации — используйте **Способ 1** или **Способ 2** |
|
|
277
|
+
| Двойной axios | Не вызывайте и `setupApiClient()`, и `initApiClient()` с разными инстансами без необходимости |
|
package/dist/axios.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axios.d.ts","sourceRoot":"","sources":["../src/axios.ts"],"names":[],"mappings":""}
|
package/dist/axios.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../src/axios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5E,cAAc,EAAE,CAAC;AAEjB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;IACzD,cAAc,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios-instance.d.ts","sourceRoot":"","sources":["../../src/core/axios-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"axios-instance.d.ts","sourceRoot":"","sources":["../../src/core/axios-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQ3C,wBAAgB,QAAQ,IAAI,aAAa,CAmBxC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEnD;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
import { isAutoInitEnabled, setupApiClient } from './setup-api-client.js';
|
|
2
|
+
import { getStoredAxios, resetStoredAxios, setStoredAxios, } from './state.js';
|
|
2
3
|
export function getAxios() {
|
|
4
|
+
let instance = getStoredAxios();
|
|
3
5
|
if (instance)
|
|
4
6
|
return instance;
|
|
7
|
+
if (isAutoInitEnabled() && typeof window !== 'undefined' && window.BASE_API_URL) {
|
|
8
|
+
setupApiClient();
|
|
9
|
+
instance = getStoredAxios();
|
|
10
|
+
if (instance)
|
|
11
|
+
return instance;
|
|
12
|
+
}
|
|
5
13
|
if (typeof window !== 'undefined' && window.axios) {
|
|
6
|
-
|
|
7
|
-
return
|
|
14
|
+
setStoredAxios(window.axios);
|
|
15
|
+
return window.axios;
|
|
8
16
|
}
|
|
9
|
-
throw new Error('Axios не найден.
|
|
17
|
+
throw new Error('Axios не найден. Задайте window.BASE_API_URL и импортируйте @space-ai/contracts/axios, ' +
|
|
18
|
+
'вызовите setupApiClient() или initApiClient(axios)');
|
|
10
19
|
}
|
|
11
20
|
export function setAxios(axios) {
|
|
12
|
-
|
|
21
|
+
setStoredAxios(axios);
|
|
13
22
|
}
|
|
14
23
|
export function resetAxios() {
|
|
15
|
-
|
|
24
|
+
resetStoredAxios();
|
|
16
25
|
}
|
|
17
26
|
//# sourceMappingURL=axios-instance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios-instance.js","sourceRoot":"","sources":["../../src/core/axios-instance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"axios-instance.js","sourceRoot":"","sources":["../../src/core/axios-instance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,QAAQ;IACtB,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,IAAI,iBAAiB,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAChF,cAAc,EAAE,CAAC;QACjB,QAAQ,GAAG,cAAc,EAAE,CAAC;QAC5B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yFAAyF;QACvF,oDAAoD,CACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,cAAc,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,gBAAgB,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-api-client.d.ts","sourceRoot":"","sources":["../../src/core/setup-api-client.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,cAAc,IAAI,IAAI,CAqBrC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { setStoredAxios } from './state.js';
|
|
3
|
+
let autoInitEnabled = false;
|
|
4
|
+
export function enableAutoInit() {
|
|
5
|
+
autoInitEnabled = true;
|
|
6
|
+
}
|
|
7
|
+
export function isAutoInitEnabled() {
|
|
8
|
+
return autoInitEnabled;
|
|
9
|
+
}
|
|
10
|
+
export function setupApiClient() {
|
|
11
|
+
if (typeof window === 'undefined') {
|
|
12
|
+
setStoredAxios(axios.create());
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const baseURL = window.BASE_API_URL;
|
|
16
|
+
if (!baseURL) {
|
|
17
|
+
console.warn('@space-ai/contracts: window.BASE_API_URL не задан — axios создаётся без baseURL');
|
|
18
|
+
}
|
|
19
|
+
if (!window.axios) {
|
|
20
|
+
window.axios = axios.create({ baseURL });
|
|
21
|
+
}
|
|
22
|
+
else if (baseURL) {
|
|
23
|
+
window.axios.defaults.baseURL = baseURL;
|
|
24
|
+
}
|
|
25
|
+
setStoredAxios(window.axios);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=setup-api-client.js.map
|
|
@@ -0,0 +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,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,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;IAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1C,CAAC;IAED,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,wBAAgB,cAAc,IAAI,aAAa,GAAG,IAAI,CAErD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAEA,IAAI,QAAQ,GAAyB,IAAI,CAAC;AAE1C,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,QAAQ,GAAG,KAAK,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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"}
|
package/dist/index.js
CHANGED
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,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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@space-ai/contracts",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Типы и функции HTTP-запросов к API (axios
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Типы и функции HTTP-запросов к API (axios устанавливается вместе с пакетом)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -9,8 +9,15 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./axios": {
|
|
14
|
+
"types": "./dist/axios.d.ts",
|
|
15
|
+
"import": "./dist/axios.js"
|
|
12
16
|
}
|
|
13
17
|
},
|
|
18
|
+
"sideEffects": [
|
|
19
|
+
"./dist/axios.js"
|
|
20
|
+
],
|
|
14
21
|
"files": [
|
|
15
22
|
"dist"
|
|
16
23
|
],
|
|
@@ -19,11 +26,10 @@
|
|
|
19
26
|
"prepublishOnly": "npm run build",
|
|
20
27
|
"typecheck": "tsc --noEmit"
|
|
21
28
|
},
|
|
22
|
-
"
|
|
23
|
-
"axios": "^1.
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"axios": "^1.7.0"
|
|
24
31
|
},
|
|
25
32
|
"devDependencies": {
|
|
26
|
-
"axios": "^1.7.0",
|
|
27
33
|
"typescript": "^5.7.0"
|
|
28
34
|
},
|
|
29
35
|
"publishConfig": {
|