@space-ai/contracts 0.1.3 → 0.1.5

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 (66) hide show
  1. package/README.md +37 -10
  2. package/dist/api/connectors.d.ts +5 -0
  3. package/dist/api/connectors.d.ts.map +1 -0
  4. package/dist/api/connectors.js +10 -0
  5. package/dist/api/connectors.js.map +1 -0
  6. package/dist/api/constants.d.ts +2 -0
  7. package/dist/api/constants.d.ts.map +1 -0
  8. package/dist/api/constants.js +2 -0
  9. package/dist/api/constants.js.map +1 -0
  10. package/dist/api/guardrails.d.ts +6 -0
  11. package/dist/api/guardrails.d.ts.map +1 -0
  12. package/dist/api/guardrails.js +13 -0
  13. package/dist/api/guardrails.js.map +1 -0
  14. package/dist/api/index.d.ts +7 -1
  15. package/dist/api/index.d.ts.map +1 -1
  16. package/dist/api/index.js +7 -1
  17. package/dist/api/index.js.map +1 -1
  18. package/dist/api/llm.d.ts +7 -0
  19. package/dist/api/llm.d.ts.map +1 -0
  20. package/dist/api/llm.js +12 -0
  21. package/dist/api/llm.js.map +1 -0
  22. package/dist/api/organization.d.ts +6 -0
  23. package/dist/api/organization.d.ts.map +1 -0
  24. package/dist/api/organization.js +13 -0
  25. package/dist/api/organization.js.map +1 -0
  26. package/dist/api/roles.d.ts +9 -0
  27. package/dist/api/roles.d.ts.map +1 -0
  28. package/dist/api/roles.js +40 -0
  29. package/dist/api/roles.js.map +1 -0
  30. package/dist/api/users.d.ts +3 -0
  31. package/dist/api/users.d.ts.map +1 -0
  32. package/dist/api/users.js +8 -0
  33. package/dist/api/users.js.map +1 -0
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +2 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/types/connectors.d.ts +54 -0
  39. package/dist/types/connectors.d.ts.map +1 -0
  40. package/dist/types/connectors.js +9 -0
  41. package/dist/types/connectors.js.map +1 -0
  42. package/dist/types/guardrails.d.ts +86 -0
  43. package/dist/types/guardrails.d.ts.map +1 -0
  44. package/dist/types/guardrails.js +2 -0
  45. package/dist/types/guardrails.js.map +1 -0
  46. package/dist/types/index.d.ts +6 -1
  47. package/dist/types/index.d.ts.map +1 -1
  48. package/dist/types/index.js +6 -1
  49. package/dist/types/index.js.map +1 -1
  50. package/dist/types/llm.d.ts +33 -0
  51. package/dist/types/llm.d.ts.map +1 -0
  52. package/dist/types/llm.js +2 -0
  53. package/dist/types/llm.js.map +1 -0
  54. package/dist/types/organization.d.ts +16 -0
  55. package/dist/types/organization.d.ts.map +1 -0
  56. package/dist/types/organization.js +2 -0
  57. package/dist/types/organization.js.map +1 -0
  58. package/dist/types/roles.d.ts +19 -0
  59. package/dist/types/roles.d.ts.map +1 -0
  60. package/dist/types/roles.js +2 -0
  61. package/dist/types/roles.js.map +1 -0
  62. package/dist/types/users.d.ts +4 -0
  63. package/dist/types/users.d.ts.map +1 -0
  64. package/dist/types/users.js +2 -0
  65. package/dist/types/users.js.map +1 -0
  66. package/package.json +1 -1
package/README.md CHANGED
@@ -48,9 +48,9 @@ import '@space-ai/contracts/axios';
48
48
  **3.** Используйте функции запросов где угодно:
49
49
 
50
50
  ```typescript
51
- import { getUser } from '@space-ai/contracts';
51
+ import { getConnectors } from '@space-ai/contracts';
52
52
 
53
- const user = await getUser(1);
53
+ const { data: connectors } = await getConnectors();
54
54
  ```
55
55
 
56
56
  Axios создаётся с `baseURL: BASE_API_URL`, сохраняется в `window.axios` / `global.axios` и используется всеми API-функциями.
@@ -238,7 +238,7 @@ import '@space-ai/contracts/axios';
238
238
 
239
239
  window.BASE_API_URL = import.meta.env.VITE_BASE_API_URL;
240
240
 
241
- // axios создастся при первом вызове getUser(), getProducts() и т.д.
241
+ // axios создастся при первом вызове getConnectors(), getGuardrailsList() и т.д.
242
242
  ```
243
243
 
244
244
  > Для interceptors и baseURL до первого запроса надёжнее **Способ 1** или **Способ 2**.
@@ -271,17 +271,44 @@ initApiClient(api);
271
271
  ## Использование API-функций
272
272
 
273
273
  ```typescript
274
- import { getUser, createUser } from '@space-ai/contracts';
274
+ import {
275
+ getConnectors,
276
+ postConnector,
277
+ getGuardrailsList,
278
+ } from '@space-ai/contracts';
275
279
 
276
- const user = await getUser(42);
280
+ const { data: connectors } = await getConnectors();
277
281
 
278
- const created = await createUser({
279
- name: 'Alice',
280
- email: 'alice@example.com',
281
- });
282
+ const { data: guardrails } = await getGuardrailsList();
282
283
  ```
283
284
 
284
- Запросы идут на `{BASE_API_URL}/users/42`, `{BASE_API_URL}/users` и т.д.
285
+ Доступные API-функции:
286
+
287
+ - `getConnectors()` — `GET /api/connector{s}`
288
+ - `postConnector(payload)` — `POST /api/connector`
289
+ - `getGuardrailsList()` — `GET /api/guardrails/list`
290
+ - `postGuardrail(payload)` — `POST /api/guardrails`
291
+ - `getGuardrailSubmissions(query?)` — `GET /api/guardrails/submissions`
292
+ - `putUserRoles(userId, data)` — `PUT /api/users/{userId}/roles`
293
+ - `getLLMProviders()` — `GET /api/llm/providers`
294
+ - `postLLMProvider(payload)` — `POST /api/llm/provider`
295
+ - `getRoles()` — `GET /api/roles`
296
+ - `postRole(payload)` — `POST /api/roles`
297
+ - `patchRole(id, body)` — `PATCH /api/roles/{id}`
298
+ - `getOrganizations()` — `GET /api/organization`
299
+ - `getOrganization(id)` — `GET /api/organization?id=...`
300
+ - `patchOrganization(data)` — `PATCH /api/organization`
301
+
302
+ Примеры:
303
+
304
+ ```typescript
305
+ import { getConnectors, putUserRoles, type IAssignUserRolesRequest } from '@space-ai/contracts';
306
+
307
+ const { data: connectors } = await getConnectors();
308
+
309
+ const body: IAssignUserRolesRequest = { roles: ['admin', 'user'] };
310
+ await putUserRoles('alice@example.com', body);
311
+ ```
285
312
 
286
313
  Прямой доступ к axios (после инициализации):
287
314
 
@@ -0,0 +1,5 @@
1
+ import type { AxiosResponse } from 'axios';
2
+ import type { IConnector, ICreateConnector } from '../types/index.js';
3
+ export declare function getConnectors(): Promise<AxiosResponse<IConnector[]>>;
4
+ export declare function postConnector(connector: ICreateConnector): Promise<AxiosResponse<IConnector>>;
5
+ //# sourceMappingURL=connectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/api/connectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAKtE,wBAAsB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAE1E;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAEpC"}
@@ -0,0 +1,10 @@
1
+ import { getAxios } from '../core/axios-instance.js';
2
+ import { API_PREFIX } from './constants.js';
3
+ const uri = `${API_PREFIX}/connector`;
4
+ export async function getConnectors() {
5
+ return getAxios().get(`${uri}s`);
6
+ }
7
+ export async function postConnector(connector) {
8
+ return getAxios().post(uri, connector);
9
+ }
10
+ //# sourceMappingURL=connectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/api/connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,GAAG,GAAG,GAAG,UAAU,YAAY,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,QAAQ,EAAE,CAAC,GAAG,CAAe,GAAG,GAAG,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAA2B;IAE3B,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAa,GAAG,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const API_PREFIX = "api";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/api/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const API_PREFIX = 'api';
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/api/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { AxiosResponse } from 'axios';
2
+ import type { IGuardrailCreateRequest, IGuardrailSubmissionsListResponse, IGuardrailSubmissionsQuery, IGuardrailsListItem, IGuardrailsListResponse } from '../types/index.js';
3
+ export declare function getGuardrailsList(): Promise<AxiosResponse<IGuardrailsListResponse>>;
4
+ export declare function postGuardrail(payload: IGuardrailCreateRequest): Promise<AxiosResponse<IGuardrailsListItem>>;
5
+ export declare function getGuardrailSubmissions(query?: IGuardrailSubmissionsQuery): Promise<AxiosResponse<IGuardrailSubmissionsListResponse>>;
6
+ //# sourceMappingURL=guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/api/guardrails.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,iCAAiC,EACjC,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAK3B,wBAAsB,iBAAiB,IAAI,OAAO,CAChD,aAAa,CAAC,uBAAuB,CAAC,CACvC,CAEA;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAE7C;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,CAAC,EAAE,0BAA0B,GACjC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAK3D"}
@@ -0,0 +1,13 @@
1
+ import { getAxios } from '../core/axios-instance.js';
2
+ import { API_PREFIX } from './constants.js';
3
+ const uri = `${API_PREFIX}/guardrails`;
4
+ export async function getGuardrailsList() {
5
+ return getAxios().get(`${uri}/list`);
6
+ }
7
+ export async function postGuardrail(payload) {
8
+ return getAxios().post(uri, payload);
9
+ }
10
+ export async function getGuardrailSubmissions(query) {
11
+ return getAxios().get(`${uri}/submissions`, { params: query });
12
+ }
13
+ //# sourceMappingURL=guardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/api/guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AASrD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,GAAG,GAAG,GAAG,UAAU,aAAa,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,iBAAiB;IAGrC,OAAO,QAAQ,EAAE,CAAC,GAAG,CAA0B,GAAG,GAAG,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgC;IAEhC,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAsB,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAkC;IAElC,OAAO,QAAQ,EAAE,CAAC,GAAG,CACnB,GAAG,GAAG,cAAc,EACpB,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;AACJ,CAAC"}
@@ -1,2 +1,8 @@
1
- export {};
1
+ export { API_PREFIX } from './constants.js';
2
+ export { getConnectors, postConnector } from './connectors.js';
3
+ export { getGuardrailsList, getGuardrailSubmissions, postGuardrail, } from './guardrails.js';
4
+ export { putUserRoles } from './users.js';
5
+ export { getLLMProviders, postLLMProvider, } from './llm.js';
6
+ export { getRoles, postRole, patchRole, roleHasPermission, mergeRolePermission, } from './roles.js';
7
+ export { getOrganizations, getOrganization, patchOrganization, } from './organization.js';
2
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
package/dist/api/index.js CHANGED
@@ -1,2 +1,8 @@
1
- export {};
1
+ export { API_PREFIX } from './constants.js';
2
+ export { getConnectors, postConnector } from './connectors.js';
3
+ export { getGuardrailsList, getGuardrailSubmissions, postGuardrail, } from './guardrails.js';
4
+ export { putUserRoles } from './users.js';
5
+ export { getLLMProviders, postLLMProvider, } from './llm.js';
6
+ export { getRoles, postRole, patchRole, roleHasPermission, mergeRolePermission, } from './roles.js';
7
+ export { getOrganizations, getOrganization, patchOrganization, } from './organization.js';
2
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { AxiosResponse } from 'axios';
2
+ import type { ILlmProvider, ICreateLlmProviderRequest } from '../types/index.js';
3
+ /** GET `/api/llm/providers` */
4
+ export declare function getLLMProviders(): Promise<AxiosResponse<ILlmProvider[]>>;
5
+ /** POST `/api/llm/provider` */
6
+ export declare function postLLMProvider(provider: ICreateLlmProviderRequest): Promise<AxiosResponse<ILlmProvider>>;
7
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/api/llm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAKjF,+BAA+B;AAC/B,wBAAsB,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAE9E;AAED,+BAA+B;AAC/B,wBAAsB,eAAe,CACnC,QAAQ,EAAE,yBAAyB,GAClC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAEtC"}
@@ -0,0 +1,12 @@
1
+ import { getAxios } from '../core/axios-instance.js';
2
+ import { API_PREFIX } from './constants.js';
3
+ const uri = `${API_PREFIX}/llm/provider`;
4
+ /** GET `/api/llm/providers` */
5
+ export async function getLLMProviders() {
6
+ return getAxios().get(`${uri}s`);
7
+ }
8
+ /** POST `/api/llm/provider` */
9
+ export async function postLLMProvider(provider) {
10
+ return getAxios().post(uri, provider);
11
+ }
12
+ //# sourceMappingURL=llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/api/llm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,GAAG,GAAG,GAAG,UAAU,eAAe,CAAC;AAEzC,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO,QAAQ,EAAE,CAAC,GAAG,CAAiB,GAAG,GAAG,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAmC;IAEnC,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAe,GAAG,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { AxiosResponse } from 'axios';
2
+ import type { IOrganization } from '../types/index.js';
3
+ export declare function getOrganizations(): Promise<AxiosResponse<IOrganization[]>>;
4
+ export declare function getOrganization(id: string | number): Promise<AxiosResponse<IOrganization>>;
5
+ export declare function patchOrganization(data: Partial<IOrganization> & Record<string, unknown>): Promise<AxiosResponse<IOrganization>>;
6
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/api/organization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKvD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC,CAEhF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,GAAG,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAEvC;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrD,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAEvC"}
@@ -0,0 +1,13 @@
1
+ import { getAxios } from '../core/axios-instance.js';
2
+ import { API_PREFIX } from './constants.js';
3
+ const uri = `${API_PREFIX}/organization`;
4
+ export async function getOrganizations() {
5
+ return getAxios().get(uri);
6
+ }
7
+ export async function getOrganization(id) {
8
+ return getAxios().get(uri, { params: { id } });
9
+ }
10
+ export async function patchOrganization(data) {
11
+ return getAxios().patch(uri, data);
12
+ }
13
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/api/organization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,GAAG,GAAG,GAAG,UAAU,eAAe,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,QAAQ,EAAE,CAAC,GAAG,CAAkB,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAmB;IAEnB,OAAO,QAAQ,EAAE,CAAC,GAAG,CAAgB,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAsD;IAEtD,OAAO,QAAQ,EAAE,CAAC,KAAK,CAAgB,GAAG,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ICreateRoleRequest, IRole, TRolePermissions, TService } from '../types/index.js';
2
+ export declare function roleHasPermission(role: IRole, serviceKey: string, permission: string): boolean;
3
+ /** Добавляет право в копию `permissions.services` (в т.ч. для ключей вне жёсткой типизации). */
4
+ export declare function mergeRolePermission(role: IRole, serviceKey: string, permission: string): NonNullable<IRole['permissions']>;
5
+ export declare function getRoles(): Promise<IRole[]>;
6
+ export declare function postRole(data: ICreateRoleRequest): Promise<IRole>;
7
+ export declare function patchRole(id: string, body: Partial<IRole>): Promise<IRole>;
8
+ export type { TRolePermissions, TService };
9
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/api/roles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK/F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAO9F;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,KAAK,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAanC;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAIjD;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAIvE;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAIhF;AAGD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { getAxios } from '../core/axios-instance.js';
2
+ import { API_PREFIX } from './constants.js';
3
+ const uri = `${API_PREFIX}/roles`;
4
+ export function roleHasPermission(role, serviceKey, permission) {
5
+ const s = serviceKey.trim();
6
+ const p = permission.trim();
7
+ if (!s || !p)
8
+ return false;
9
+ const services = role.permissions?.services;
10
+ return services?.[s]?.includes(p) ?? false;
11
+ }
12
+ /** Добавляет право в копию `permissions.services` (в т.ч. для ключей вне жёсткой типизации). */
13
+ export function mergeRolePermission(role, serviceKey, permission) {
14
+ const prev = (role.permissions?.services ?? {});
15
+ const next = { ...prev };
16
+ const list = [...(next[serviceKey] ?? [])];
17
+ if (!list?.includes(permission)) {
18
+ list.push(permission);
19
+ }
20
+ next[serviceKey] = list;
21
+ return {
22
+ services: next,
23
+ };
24
+ }
25
+ export async function getRoles() {
26
+ return getAxios()
27
+ .get(uri)
28
+ .then((res) => res.data);
29
+ }
30
+ export async function postRole(data) {
31
+ return getAxios()
32
+ .post(uri, data)
33
+ .then((res) => res.data);
34
+ }
35
+ export async function patchRole(id, body) {
36
+ return getAxios()
37
+ .patch(`${uri}/${id}`, body)
38
+ .then((res) => res.data);
39
+ }
40
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/api/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,GAAG,GAAG,GAAG,UAAU,QAAQ,CAAC;AAElC,MAAM,UAAU,iBAAiB,CAAC,IAAW,EAAE,UAAkB,EAAE,UAAkB;IACnF,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAA8D,CAAC;IAClG,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAa,CAAC,IAAI,KAAK,CAAC;AACzD,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,mBAAmB,CACjC,IAAW,EACX,UAAkB,EAClB,UAAkB;IAElB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAA+B,CAAC;IAC9E,MAAM,IAAI,GAA+B,EAAE,GAAG,IAAI,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAsB,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,UAAsB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACxB,OAAO;QACL,QAAQ,EAAE,IAAgE;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,OAAO,QAAQ,EAAE;SACd,GAAG,CAAU,GAAG,CAAC;SACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAwB;IACrD,OAAO,QAAQ,EAAE;SACd,IAAI,CAAQ,GAAG,EAAE,IAAI,CAAC;SACtB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAU,EAAE,IAAoB;IAC9D,OAAO,QAAQ,EAAE;SACd,KAAK,CAAQ,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC;SAClC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IAssignUserRolesRequest } from '../types/index.js';
2
+ export declare function putUserRoles(userId: string, data: IAssignUserRolesRequest): Promise<unknown>;
3
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/api/users.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAKjE,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAMlB"}
@@ -0,0 +1,8 @@
1
+ import { getAxios } from '../core/axios-instance.js';
2
+ import { API_PREFIX } from './constants.js';
3
+ const usersUri = `${API_PREFIX}/users`;
4
+ export async function putUserRoles(userId, data) {
5
+ const { data: response } = await getAxios().put(`${usersUri}/${encodeURIComponent(userId.trim())}/roles`, data);
6
+ return response;
7
+ }
8
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/api/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,QAAQ,GAAG,GAAG,UAAU,QAAQ,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAA6B;IAE7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC,GAAG,CAC7C,GAAG,QAAQ,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EACxD,IAAI,CACL,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,4 +3,6 @@ export { setupApiClient, enableAutoInit } from './core/setup-api-client.js';
3
3
  export { getAxios, resetAxios } from './core/axios-instance.js';
4
4
  export { configureAuth, resetAuthProvider, type AuthProvider, } from './core/auth.js';
5
5
  export { createConfiguredAxios, resolveBaseURL, } from './core/create-axios-instance.js';
6
+ export { API_PREFIX, getConnectors, getGuardrailsList, getGuardrailSubmissions, getLLMProviders, postConnector, postGuardrail, postLLMProvider, getRoles, postRole, patchRole, roleHasPermission, mergeRolePermission, putUserRoles, getOrganizations, getOrganization, patchOrganization, } from './api/index.js';
7
+ export * from './types/index.js';
6
8
  //# 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;AAChE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,iCAAiC,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;AACzC,OAAO,EACL,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -3,4 +3,6 @@ export { setupApiClient, enableAutoInit } from './core/setup-api-client.js';
3
3
  export { getAxios, resetAxios } from './core/axios-instance.js';
4
4
  export { configureAuth, resetAuthProvider, } from './core/auth.js';
5
5
  export { createConfiguredAxios, resolveBaseURL, } from './core/create-axios-instance.js';
6
+ export { API_PREFIX, getConnectors, getGuardrailsList, getGuardrailSubmissions, getLLMProviders, postConnector, postGuardrail, postLLMProvider, getRoles, postRole, patchRole, roleHasPermission, mergeRolePermission, putUserRoles, getOrganizations, getOrganization, patchOrganization, } from './api/index.js';
7
+ export * from './types/index.js';
6
8
  //# 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;AAChE,OAAO,EACL,aAAa,EACb,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,iCAAiC,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;AACzC,OAAO,EACL,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,54 @@
1
+ export declare enum EHttpMethod {
2
+ GET = "GET",
3
+ POST = "POST",
4
+ PUT = "PUT",
5
+ PATCH = "PATCH",
6
+ DELETE = "DELETE"
7
+ }
8
+ export interface IConnectorOperation {
9
+ id?: string;
10
+ connector_id?: string;
11
+ operation_name: string;
12
+ display_name: string;
13
+ http_method: EHttpMethod;
14
+ system_code?: string;
15
+ config?: {
16
+ path?: string;
17
+ [key: string]: unknown;
18
+ };
19
+ }
20
+ export interface IConnector {
21
+ base_url: string;
22
+ config: {
23
+ [key: string]: unknown;
24
+ };
25
+ connector_type: string;
26
+ created_at: string;
27
+ health_url: string;
28
+ id: string;
29
+ is_active: boolean;
30
+ operations?: IConnectorOperation[];
31
+ system_code: string;
32
+ tenant_id: string;
33
+ updated_at: string;
34
+ }
35
+ export interface ICreateConnector {
36
+ system_code: string;
37
+ connector_type: string;
38
+ base_url: string;
39
+ health_url?: string;
40
+ is_active?: boolean;
41
+ config?: {
42
+ [key: string]: unknown;
43
+ };
44
+ operations?: Array<{
45
+ operation_name: string;
46
+ display_name: string;
47
+ http_method: EHttpMethod;
48
+ config?: {
49
+ path?: string;
50
+ [key: string]: unknown;
51
+ };
52
+ }>;
53
+ }
54
+ //# sourceMappingURL=connectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/types/connectors.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,CAAC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ export var EHttpMethod;
2
+ (function (EHttpMethod) {
3
+ EHttpMethod["GET"] = "GET";
4
+ EHttpMethod["POST"] = "POST";
5
+ EHttpMethod["PUT"] = "PUT";
6
+ EHttpMethod["PATCH"] = "PATCH";
7
+ EHttpMethod["DELETE"] = "DELETE";
8
+ })(EHttpMethod || (EHttpMethod = {}));
9
+ //# sourceMappingURL=connectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/types/connectors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB"}
@@ -0,0 +1,86 @@
1
+ export type GuardrailTarget = 'generative' | 'connector';
2
+ export type GuardrailEngine = 'native' | 'rego' | 'webhook';
3
+ export type GuardrailMode = 'pre_call' | 'post_call' | 'during_call';
4
+ export interface IGuardrailImplementationPayload {
5
+ engine: GuardrailEngine;
6
+ source: string;
7
+ config?: Record<string, unknown>;
8
+ }
9
+ export interface IGuardrailCreateRequest {
10
+ id?: string;
11
+ name: string;
12
+ description?: string;
13
+ target: GuardrailTarget[];
14
+ mode: GuardrailMode;
15
+ implementation: IGuardrailImplementationPayload;
16
+ }
17
+ export interface IGuardrailSubmissionSummary {
18
+ active: number;
19
+ pending_review: number;
20
+ rejected: number;
21
+ total: number;
22
+ }
23
+ export interface IGuardrailSubmissionListItem {
24
+ guardrail_name: string;
25
+ llm_params: Record<string, unknown>;
26
+ reviewed_at?: string;
27
+ status: string;
28
+ submitted_at: string;
29
+ submitted_by_email: string;
30
+ submitted_by_user_id: string;
31
+ team_guardrail: boolean;
32
+ team_id: string;
33
+ updated_at: string;
34
+ guardrail_id?: string;
35
+ }
36
+ export interface IGuardrailSubmissionsListResponse {
37
+ submissions: IGuardrailSubmissionListItem[];
38
+ summary: IGuardrailSubmissionSummary;
39
+ }
40
+ export interface IGuardrailSubmissionDetail {
41
+ created_at: string;
42
+ guardrail_id: string;
43
+ guardrail_info: Record<string, unknown>;
44
+ guardrail_name: string;
45
+ llm_params: Record<string, unknown>;
46
+ reviewed_at?: string;
47
+ status: string;
48
+ submitted_at: string;
49
+ submitted_by_email: string;
50
+ submitted_by_user_id: string;
51
+ team_guardrail: boolean;
52
+ team_id: string;
53
+ updated_at: string;
54
+ }
55
+ export interface IGuardrailSubmissionsQuery {
56
+ status?: string;
57
+ team_id?: string;
58
+ search?: string;
59
+ }
60
+ export interface IGuardrailListImplementation {
61
+ config?: {
62
+ action?: string;
63
+ entities?: string[];
64
+ [key: string]: unknown;
65
+ };
66
+ engine?: GuardrailEngine;
67
+ id?: string;
68
+ mode?: GuardrailMode;
69
+ source?: string;
70
+ [key: string]: unknown;
71
+ }
72
+ export interface IGuardrailsListItem {
73
+ description?: string;
74
+ id: string;
75
+ mode?: GuardrailMode;
76
+ implementation: IGuardrailListImplementation;
77
+ name: string;
78
+ target: GuardrailTarget[];
79
+ [key: string]: unknown;
80
+ }
81
+ export interface IGuardrailsListResponse {
82
+ guardrails: IGuardrailsListItem[];
83
+ total: number;
84
+ }
85
+ export type IGuardrailSubmissionActionResponse = Record<string, boolean>;
86
+ //# sourceMappingURL=guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/types/guardrails.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=guardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/types/guardrails.ts"],"names":[],"mappings":""}
@@ -1,2 +1,7 @@
1
- export type {};
1
+ export * from './connectors.js';
2
+ export * from './guardrails.js';
3
+ export * from './users.js';
4
+ export * from './llm.js';
5
+ export * from './roles.js';
6
+ export * from './organization.js';
2
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1,7 @@
1
- export {};
1
+ export * from './connectors.js';
2
+ export * from './guardrails.js';
3
+ export * from './users.js';
4
+ export * from './llm.js';
5
+ export * from './roles.js';
6
+ export * from './organization.js';
2
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,33 @@
1
+ export interface ILlmProviderModel {
2
+ model_name: string;
3
+ display_name: string;
4
+ context_window?: number;
5
+ capabilities: string[];
6
+ is_active?: boolean;
7
+ }
8
+ export interface ILlmProviderConfig {
9
+ timeout_ms?: number;
10
+ circuit_threshold?: number;
11
+ circuit_cooldown_ms?: number;
12
+ bulkhead_limit?: number;
13
+ retry_attempts?: number;
14
+ retry_delay_ms?: number;
15
+ auth_header?: string;
16
+ auth_prefix?: string;
17
+ }
18
+ /**
19
+ * Тело `POST /api/llm/provider` (docs/OPENWEBUI_SETUP.md §3.3).
20
+ */
21
+ export interface ICreateLlmProviderRequest {
22
+ name: string;
23
+ system_code: string;
24
+ base_url: string;
25
+ is_active: boolean;
26
+ api_key_encrypted?: string;
27
+ config?: ILlmProviderConfig;
28
+ models: ILlmProviderModel[];
29
+ }
30
+ export interface ILlmProvider extends ICreateLlmProviderRequest {
31
+ id: string;
32
+ }
33
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,yBAAyB;IAC7D,EAAE,EAAE,MAAM,CAAC;CACZ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export interface IOrganization {
2
+ allowed_models: string[];
3
+ config: Record<string, string>;
4
+ /** ISO 8601 format @default now */
5
+ created_at: string;
6
+ id: string;
7
+ is_active: boolean;
8
+ name: string;
9
+ plan: string;
10
+ rate_limit_rpm: number;
11
+ rate_limit_tpm: number;
12
+ slug: string;
13
+ /** ISO 8601 format @default now */
14
+ updated_at: string;
15
+ }
16
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/types/organization.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/types/organization.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ export type TService = string;
2
+ export type TRolePermissions = {
3
+ services?: Record<string, TService[] | string[]>;
4
+ connectors?: Record<string, string[]>;
5
+ };
6
+ export interface IRole {
7
+ id: string;
8
+ tenant_id: string;
9
+ slug: string;
10
+ name: string;
11
+ permissions: TRolePermissions | null;
12
+ predefined: boolean;
13
+ created_at: string;
14
+ }
15
+ export interface ICreateRoleRequest {
16
+ name: string;
17
+ permissions: TRolePermissions;
18
+ }
19
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/types/roles.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,gBAAgB,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/types/roles.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface IAssignUserRolesRequest {
2
+ roles: string[];
3
+ }
4
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@space-ai/contracts",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Типы и функции HTTP-запросов к API (axios устанавливается вместе с пакетом)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",