@onereach/idw-sdk 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.
Files changed (56) hide show
  1. package/README.md +53 -0
  2. package/dist/cjs/ApiBase.js +130 -0
  3. package/dist/cjs/ApiBase.js.map +1 -0
  4. package/dist/cjs/IdwSdk.js +34 -0
  5. package/dist/cjs/IdwSdk.js.map +1 -0
  6. package/dist/cjs/index.js +21 -0
  7. package/dist/cjs/index.js.map +1 -0
  8. package/dist/cjs/modules/ChatApi.js +85 -0
  9. package/dist/cjs/modules/ChatApi.js.map +1 -0
  10. package/dist/cjs/modules/DatasourcesApi.js +33 -0
  11. package/dist/cjs/modules/DatasourcesApi.js.map +1 -0
  12. package/dist/cjs/modules/IdwInfoApi.js +25 -0
  13. package/dist/cjs/modules/IdwInfoApi.js.map +1 -0
  14. package/dist/cjs/modules/KnowledgeApi.js +38 -0
  15. package/dist/cjs/modules/KnowledgeApi.js.map +1 -0
  16. package/dist/cjs/modules/ModelsApi.js +24 -0
  17. package/dist/cjs/modules/ModelsApi.js.map +1 -0
  18. package/dist/cjs/modules/SkillsApi.js +30 -0
  19. package/dist/cjs/modules/SkillsApi.js.map +1 -0
  20. package/dist/esm/ApiBase.js +123 -0
  21. package/dist/esm/ApiBase.js.map +1 -0
  22. package/dist/esm/IdwSdk.js +29 -0
  23. package/dist/esm/IdwSdk.js.map +1 -0
  24. package/dist/esm/index.js +9 -0
  25. package/dist/esm/index.js.map +1 -0
  26. package/dist/esm/modules/ChatApi.js +81 -0
  27. package/dist/esm/modules/ChatApi.js.map +1 -0
  28. package/dist/esm/modules/DatasourcesApi.js +29 -0
  29. package/dist/esm/modules/DatasourcesApi.js.map +1 -0
  30. package/dist/esm/modules/IdwInfoApi.js +21 -0
  31. package/dist/esm/modules/IdwInfoApi.js.map +1 -0
  32. package/dist/esm/modules/KnowledgeApi.js +34 -0
  33. package/dist/esm/modules/KnowledgeApi.js.map +1 -0
  34. package/dist/esm/modules/ModelsApi.js +20 -0
  35. package/dist/esm/modules/ModelsApi.js.map +1 -0
  36. package/dist/esm/modules/SkillsApi.js +26 -0
  37. package/dist/esm/modules/SkillsApi.js.map +1 -0
  38. package/dist/types/ApiBase.d.ts +32 -0
  39. package/dist/types/ApiBase.d.ts.map +1 -0
  40. package/dist/types/IdwSdk.d.ts +28 -0
  41. package/dist/types/IdwSdk.d.ts.map +1 -0
  42. package/dist/types/index.d.ts +10 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/dist/types/modules/ChatApi.d.ts +37 -0
  45. package/dist/types/modules/ChatApi.d.ts.map +1 -0
  46. package/dist/types/modules/DatasourcesApi.d.ts +15 -0
  47. package/dist/types/modules/DatasourcesApi.d.ts.map +1 -0
  48. package/dist/types/modules/IdwInfoApi.d.ts +12 -0
  49. package/dist/types/modules/IdwInfoApi.d.ts.map +1 -0
  50. package/dist/types/modules/KnowledgeApi.d.ts +22 -0
  51. package/dist/types/modules/KnowledgeApi.d.ts.map +1 -0
  52. package/dist/types/modules/ModelsApi.d.ts +11 -0
  53. package/dist/types/modules/ModelsApi.d.ts.map +1 -0
  54. package/dist/types/modules/SkillsApi.d.ts +14 -0
  55. package/dist/types/modules/SkillsApi.d.ts.map +1 -0
  56. package/package.json +41 -0
package/README.md ADDED
@@ -0,0 +1,53 @@
1
+ # @onereach/idw-sdk
2
+
3
+ Typed HTTP client for the **IDW API**. Framework-agnostic (no Vue/Pinia) — port of idw-ui `src/shared/api/*` with types from `@onereach/idw-contracts`.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pnpm add @onereach/idw-sdk @onereach/idw-contracts axios
9
+ ```
10
+
11
+ ## Quick start
12
+
13
+ ```typescript
14
+ import { createIdwSdk } from '@onereach/idw-sdk';
15
+
16
+ const sdk = createIdwSdk({
17
+ baseUrl: 'https://idw-api.example.com',
18
+ token: () => getAuthToken(),
19
+ idwId: () => getCurrentIdwId(),
20
+ });
21
+
22
+ const chats = await sdk.chat.getChatsList({ limit: 20, offset: 0 });
23
+ const settings = await sdk.idwInfo.getIdwInfo();
24
+ const skills = await sdk.skills.listSkills();
25
+ ```
26
+
27
+ ## API surface (core domains)
28
+
29
+ | Property | Base path | idw-ui source |
30
+ |----------|-----------|---------------|
31
+ | `sdk.chat` | `chat/` | `Chat.api.ts` |
32
+ | `sdk.datasources` | `datasources/` (+ `admin/datasources/`) | `Datasources.api.ts` |
33
+ | `sdk.idwInfo` | `idw/{idwId}/` | `IdwInfo.api.ts` |
34
+ | `sdk.models` | `models/` | `Models.ts` |
35
+ | `sdk.skills` | `skills/` (+ `admin/skills/`) | `Skills.api.ts` |
36
+ | `sdk.knowledge` | `knowledge/` | `Knowledge.api.ts` |
37
+
38
+ ## Advanced: use modules directly
39
+
40
+ ```typescript
41
+ import { ApiBase, ChatApi } from '@onereach/idw-sdk';
42
+
43
+ const http = new ApiBase({ baseUrl, token, idwId }).withBasePath('chat');
44
+ const chat = new ChatApi(http);
45
+ ```
46
+
47
+ ## Not included (yet)
48
+
49
+ Domains from idw-ui not ported in this pass: onboarding, domains, feeds, lookup, reporting, users, access-groups, RAG, and `external-sdk/*` wrappers around `@or-sdk/*`. These can be added incrementally using the same `ApiBase` + module pattern.
50
+
51
+ ## Differences from `@or-sdk/idw`
52
+
53
+ The legacy `@or-sdk/idw` package uses `@or-sdk/base` (service discovery + `callApiV2`). This SDK uses direct axios against the IDW API URL, matching how idw-ui works today.
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ApiBase = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ /**
9
+ * Axios HTTP base for IDW API modules.
10
+ *
11
+ * Ported from idw-ui `ApiBase` without Vue/Pinia wiring. Injects auth token and
12
+ * optional `idw/{idwId}/` path prefix on every request.
13
+ */
14
+ class ApiBase {
15
+ constructor({ baseUrl, token, idwId }, basePath = '') {
16
+ this.BASE_URL = '';
17
+ this.TOKEN = '';
18
+ this.baseUrl = baseUrl;
19
+ this.token = token;
20
+ this.idwId = idwId;
21
+ this.http = this.createHttpInstance(basePath);
22
+ }
23
+ set baseUrl(url) {
24
+ this.BASE_URL = url.at(-1) === '/' ? url.slice(0, -1) : url;
25
+ }
26
+ get baseUrl() {
27
+ return this.BASE_URL;
28
+ }
29
+ set token(token) {
30
+ this.TOKEN = token;
31
+ }
32
+ get token() {
33
+ return typeof this.TOKEN === 'function' ? this.TOKEN() : this.TOKEN;
34
+ }
35
+ set idwId(idwId) {
36
+ this.IDW_ID = idwId;
37
+ }
38
+ get idwId() {
39
+ return typeof this.IDW_ID === 'function' ? this.IDW_ID() : this.IDW_ID;
40
+ }
41
+ withBasePath(basePath, config = {}) {
42
+ const next = new ApiBase({
43
+ baseUrl: this.BASE_URL,
44
+ token: this.TOKEN,
45
+ idwId: this.IDW_ID,
46
+ }, basePath);
47
+ next.http = next.createHttpInstance(basePath, config);
48
+ return next;
49
+ }
50
+ createHttpInstance(basePath, config = {}) {
51
+ const instance = axios_1.default.create({
52
+ baseURL: this.BASE_URL,
53
+ timeout: 30_000,
54
+ headers: { 'Content-Type': 'application/json' },
55
+ ...config,
56
+ });
57
+ instance.interceptors.request.use((requestConfig) => {
58
+ const token = this.token;
59
+ if (token) {
60
+ requestConfig.headers = requestConfig.headers ?? {};
61
+ requestConfig.headers.Authorization = token;
62
+ }
63
+ const pathPrefix = this.idwId === undefined
64
+ ? basePath
65
+ : this.joinUrl(`idw/${this.idwId}`, basePath);
66
+ requestConfig.url = this.joinUrl(pathPrefix, requestConfig.url || '');
67
+ return requestConfig;
68
+ });
69
+ return instance;
70
+ }
71
+ async makeRequest(options) {
72
+ const route = options.route
73
+ ? (options.route.startsWith('/') ? options.route : `/${options.route}`)
74
+ : '';
75
+ const response = await this.http.request({
76
+ url: route,
77
+ method: options.method ?? 'GET',
78
+ params: options.params,
79
+ data: options.data,
80
+ headers: options.headers,
81
+ signal: options.signal,
82
+ });
83
+ return response.data;
84
+ }
85
+ get(route, params) {
86
+ return this.makeRequest({
87
+ route,
88
+ method: 'GET',
89
+ params,
90
+ });
91
+ }
92
+ post(route, data, params) {
93
+ return this.makeRequest({
94
+ route,
95
+ method: 'POST',
96
+ data,
97
+ params,
98
+ });
99
+ }
100
+ put(route, data) {
101
+ return this.makeRequest({
102
+ route,
103
+ method: 'PUT',
104
+ data,
105
+ });
106
+ }
107
+ patch(route, data) {
108
+ return this.makeRequest({
109
+ route,
110
+ method: 'PATCH',
111
+ data,
112
+ });
113
+ }
114
+ delete(route) {
115
+ return this.makeRequest({
116
+ route,
117
+ method: 'DELETE',
118
+ });
119
+ }
120
+ joinUrl(base, ...paths) {
121
+ const trimmedBase = base.endsWith('/') ? base.slice(0, -1) : base;
122
+ const joinedPaths = paths
123
+ .map((path) => path.replace(/^\/+|\/+$/g, ''))
124
+ .filter((path) => path.length > 0)
125
+ .join('/');
126
+ return joinedPaths ? `${trimmedBase}/${joinedPaths}` : trimmedBase;
127
+ }
128
+ }
129
+ exports.ApiBase = ApiBase;
130
+ //# sourceMappingURL=ApiBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiBase.js","sourceRoot":"","sources":["../../src/ApiBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdwSdk = void 0;
4
+ exports.createIdwSdk = createIdwSdk;
5
+ const ApiBase_1 = require("./ApiBase");
6
+ const ChatApi_1 = require("./modules/ChatApi");
7
+ const DatasourcesApi_1 = require("./modules/DatasourcesApi");
8
+ const IdwInfoApi_1 = require("./modules/IdwInfoApi");
9
+ const KnowledgeApi_1 = require("./modules/KnowledgeApi");
10
+ const ModelsApi_1 = require("./modules/ModelsApi");
11
+ const SkillsApi_1 = require("./modules/SkillsApi");
12
+ /**
13
+ * Composed IDW HTTP client.
14
+ *
15
+ * Mirrors the module layout from idw-ui `src/shared/api/*` and the facade shape
16
+ * from `@or-sdk/idw` `IdwClient`, but uses axios `ApiBase` instead of discovery.
17
+ */
18
+ class IdwSdk {
19
+ constructor(config) {
20
+ this.http = new ApiBase_1.ApiBase(config);
21
+ this.chat = new ChatApi_1.ChatApi(this.http.withBasePath('chat'));
22
+ this.datasources = new DatasourcesApi_1.DatasourcesApi(this.http.withBasePath('datasources'), this.http.withBasePath('admin/datasources'));
23
+ this.idwInfo = new IdwInfoApi_1.IdwInfoApi(this.http);
24
+ this.models = new ModelsApi_1.ModelsApi(this.http.withBasePath('models'), this.http);
25
+ this.skills = new SkillsApi_1.SkillsApi(this.http.withBasePath('skills'), this.http.withBasePath('admin/skills'));
26
+ this.knowledge = new KnowledgeApi_1.KnowledgeApi(this.http.withBasePath('knowledge'));
27
+ }
28
+ }
29
+ exports.IdwSdk = IdwSdk;
30
+ /** Create a composed IDW SDK client. */
31
+ function createIdwSdk(config) {
32
+ return new IdwSdk(config);
33
+ }
34
+ //# sourceMappingURL=IdwSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdwSdk.js","sourceRoot":"","sources":["../../src/IdwSdk.ts"],"names":[],"mappings":";;;AAiDA,oCAEC;AAjDD,uCAAoC;AACpC,+CAA4C;AAC5C,6DAA0D;AAC1D,qDAAkD;AAClD,yDAAsD;AACtD,mDAAgD;AAChD,mDAAgD;AAEhD;;;;;GAKG;AACH,MAAa,MAAM;IAWjB,YAAY,MAAiB;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,+BAAc,CACnC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EACrC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAC5C,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAChC,IAAI,CAAC,IAAI,CACV,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAChC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CACvC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AA9BD,wBA8BC;AAED,wCAAwC;AACxC,SAAgB,YAAY,CAAC,MAAiB;IAC5C,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SkillsApi = exports.ModelsApi = exports.KnowledgeApi = exports.IdwInfoApi = exports.DatasourcesApi = exports.ChatApi = exports.createIdwSdk = exports.IdwSdk = exports.ApiBase = void 0;
4
+ var ApiBase_1 = require("./ApiBase");
5
+ Object.defineProperty(exports, "ApiBase", { enumerable: true, get: function () { return ApiBase_1.ApiBase; } });
6
+ var IdwSdk_1 = require("./IdwSdk");
7
+ Object.defineProperty(exports, "IdwSdk", { enumerable: true, get: function () { return IdwSdk_1.IdwSdk; } });
8
+ Object.defineProperty(exports, "createIdwSdk", { enumerable: true, get: function () { return IdwSdk_1.createIdwSdk; } });
9
+ var ChatApi_1 = require("./modules/ChatApi");
10
+ Object.defineProperty(exports, "ChatApi", { enumerable: true, get: function () { return ChatApi_1.ChatApi; } });
11
+ var DatasourcesApi_1 = require("./modules/DatasourcesApi");
12
+ Object.defineProperty(exports, "DatasourcesApi", { enumerable: true, get: function () { return DatasourcesApi_1.DatasourcesApi; } });
13
+ var IdwInfoApi_1 = require("./modules/IdwInfoApi");
14
+ Object.defineProperty(exports, "IdwInfoApi", { enumerable: true, get: function () { return IdwInfoApi_1.IdwInfoApi; } });
15
+ var KnowledgeApi_1 = require("./modules/KnowledgeApi");
16
+ Object.defineProperty(exports, "KnowledgeApi", { enumerable: true, get: function () { return KnowledgeApi_1.KnowledgeApi; } });
17
+ var ModelsApi_1 = require("./modules/ModelsApi");
18
+ Object.defineProperty(exports, "ModelsApi", { enumerable: true, get: function () { return ModelsApi_1.ModelsApi; } });
19
+ var SkillsApi_1 = require("./modules/SkillsApi");
20
+ Object.defineProperty(exports, "SkillsApi", { enumerable: true, get: function () { return SkillsApi_1.SkillsApi; } });
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAGhB,mCAAgD;AAAvC,gGAAA,MAAM,OAAA;AAAE,sGAAA,YAAY,OAAA;AAE7B,6CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,2DAA0D;AAAjD,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AACnB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,sGAAA,SAAS,OAAA;AAClB,iDAAgD;AAAvC,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatApi = void 0;
4
+ class ChatApi {
5
+ constructor(http) {
6
+ this.http = http;
7
+ }
8
+ createChat(chat) {
9
+ return this.http.post('new', chat);
10
+ }
11
+ getChat(chatId) {
12
+ return this.http.get(chatId);
13
+ }
14
+ getChatMessages(chatId, paginationParams) {
15
+ return this.http.get(`${chatId}/messages`, paginationParams);
16
+ }
17
+ getChatsList(paginationParams) {
18
+ return this.http.get('list', paginationParams);
19
+ }
20
+ renameChat(chatId, title) {
21
+ return this.http.patch(chatId, { title });
22
+ }
23
+ updateUpdatedAt(chatId, updatedAt) {
24
+ return this.http.patch(chatId, { updated_at: updatedAt });
25
+ }
26
+ attachHITL(chatId, hitlID) {
27
+ return this.http.patch(chatId, { hitl_id: hitlID });
28
+ }
29
+ attachSkill(chatId, skill) {
30
+ return this.http.makeRequest({
31
+ route: `${chatId}/skills`,
32
+ method: 'POST',
33
+ data: JSON.stringify(skill),
34
+ });
35
+ }
36
+ detachSkill(chatId, skillId) {
37
+ return this.http.delete(`${chatId}/skills/${skillId}`);
38
+ }
39
+ touchSkill(chatId, skillId) {
40
+ return this.http.patch(`${chatId}/skills/${skillId}/touch`, {});
41
+ }
42
+ deleteChat(chatId) {
43
+ return this.http.delete(chatId);
44
+ }
45
+ generateSkillInputParams(chatId, data) {
46
+ return this.http.makeRequest({
47
+ route: `${chatId}/generate-skill-params`,
48
+ method: 'POST',
49
+ data,
50
+ });
51
+ }
52
+ sendSkillResult(chatId, data) {
53
+ return this.http.makeRequest({
54
+ route: `${chatId}/skill-result`,
55
+ method: 'POST',
56
+ data,
57
+ });
58
+ }
59
+ callMcpAppTool(chatId, artifactId, data) {
60
+ return this.http.makeRequest({
61
+ route: `${chatId}/mcp-app/${artifactId}/tool-call`,
62
+ method: 'POST',
63
+ data,
64
+ });
65
+ }
66
+ readMcpAppResource(chatId, artifactId, params) {
67
+ return this.http.makeRequest({
68
+ route: `${chatId}/mcp-app/${artifactId}/resource`,
69
+ method: 'GET',
70
+ params,
71
+ });
72
+ }
73
+ openIdwApp(chatId, data) {
74
+ return this.http.makeRequest({
75
+ route: `${chatId}/open-idw-app`,
76
+ method: 'POST',
77
+ data,
78
+ });
79
+ }
80
+ updateChatModels(chatId, modelsData) {
81
+ return this.http.patch(`${chatId}/models`, modelsData);
82
+ }
83
+ }
84
+ exports.ChatApi = ChatApi;
85
+ //# sourceMappingURL=ChatApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatApi.js","sourceRoot":"","sources":["../../../src/modules/ChatApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatasourcesApi = void 0;
4
+ class DatasourcesApi {
5
+ constructor(http, adminHttp) {
6
+ this.http = http;
7
+ this.adminHttp = adminHttp;
8
+ }
9
+ listDatasources(filter) {
10
+ return this.http.get('/', filter);
11
+ }
12
+ /** Full datasource list for IDW admin (no per-user access filter). */
13
+ listDatasourcesForAdmin() {
14
+ if (!this.adminHttp) {
15
+ throw new Error('DatasourcesApi: admin client is not configured');
16
+ }
17
+ return this.adminHttp.get('/');
18
+ }
19
+ createDatasourceWithModel(data) {
20
+ return this.http.post('/', data);
21
+ }
22
+ editDatasourceWithModel(id, data) {
23
+ return this.http.patch(`/${id}`, data);
24
+ }
25
+ deleteDatasourceWithModel(id) {
26
+ return this.http.delete(`/${id}`);
27
+ }
28
+ setDatasourceStatus(id, status) {
29
+ return this.http.patch(`/${id}/status`, { enabled: status });
30
+ }
31
+ }
32
+ exports.DatasourcesApi = DatasourcesApi;
33
+ //# sourceMappingURL=DatasourcesApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasourcesApi.js","sourceRoot":"","sources":["../../../src/modules/DatasourcesApi.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IACzB,YACmB,IAAa,EACb,SAAmB;QADnB,SAAI,GAAJ,IAAI,CAAS;QACb,cAAS,GAAT,SAAS,CAAU;IACnC,CAAC;IAEJ,eAAe,CAAC,MAAgC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,sEAAsE;IACtE,uBAAuB;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,yBAAyB,CAAC,IAAuB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,uBAAuB,CAAC,EAAU,EAAE,IAAuB;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,yBAAyB,CAAC,EAAU;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,mBAAmB,CAAC,EAAU,EAAE,MAAe;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF;AAjCD,wCAiCC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdwInfoApi = void 0;
4
+ class IdwInfoApi {
5
+ constructor(http) {
6
+ this.http = http;
7
+ }
8
+ getIdwInfo() {
9
+ return this.http.get('/info');
10
+ }
11
+ async setCoreBody(data) {
12
+ await this.http.post('/settings/core', data);
13
+ }
14
+ async setAccessBody(data) {
15
+ await this.http.post('/settings/access', data);
16
+ }
17
+ async setSignupBody(data) {
18
+ await this.http.post('/settings/signup', data);
19
+ }
20
+ async setWelcomeScreenBody(data) {
21
+ await this.http.post('/settings/welcome-screen', data);
22
+ }
23
+ }
24
+ exports.IdwInfoApi = IdwInfoApi;
25
+ //# sourceMappingURL=IdwInfoApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdwInfoApi.js","sourceRoot":"","sources":["../../../src/modules/IdwInfoApi.ts"],"names":[],"mappings":";;;AAUA,MAAa,UAAU;IACrB,YAA6B,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;IAAG,CAAC;IAE9C,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAc;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAgB;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAgB;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAuB;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;CACF;AAtBD,gCAsBC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeApi = void 0;
4
+ class KnowledgeApi {
5
+ constructor(http) {
6
+ this.http = http;
7
+ }
8
+ async getAll(params = {}) {
9
+ const query = { ...params };
10
+ if (query.status && Array.isArray(query.status)) {
11
+ query.status = query.status.join(',');
12
+ }
13
+ return this.http.get('', query);
14
+ }
15
+ getAllAuthors(domainId) {
16
+ return this.http.get('authors', { domainId });
17
+ }
18
+ getById(id) {
19
+ return this.http.get(id);
20
+ }
21
+ create(knowledgeData) {
22
+ return this.http.post('', knowledgeData);
23
+ }
24
+ update(knowledgeData) {
25
+ return this.http.put(knowledgeData.knowledge_id, knowledgeData);
26
+ }
27
+ async delete(knowledgeId) {
28
+ await this.http.delete(knowledgeId);
29
+ }
30
+ improveContentByAI(content) {
31
+ return this.http.post('enhance-content', { content });
32
+ }
33
+ improveTitleByAI(knowledgeBodyContent) {
34
+ return this.http.post('enhance-title', { content: knowledgeBodyContent });
35
+ }
36
+ }
37
+ exports.KnowledgeApi = KnowledgeApi;
38
+ //# sourceMappingURL=KnowledgeApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnowledgeApi.js","sourceRoot":"","sources":["../../../src/modules/KnowledgeApi.ts"],"names":[],"mappings":";;;AAWA,MAAa,YAAY;IACvB,YAA6B,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;IAAG,CAAC;IAE9C,KAAK,CAAC,MAAM,CACV,SAAkD,EAAE;QAEpD,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,QAAiB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,aAAgC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,aAAyC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAa,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,gBAAgB,CAAC,oBAA4B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC5E,CAAC;CACF;AAxCD,oCAwCC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelsApi = void 0;
4
+ class ModelsApi {
5
+ constructor(http, scopedHttp) {
6
+ this.http = http;
7
+ this.scopedHttp = scopedHttp;
8
+ }
9
+ listModels(accountId) {
10
+ return this.http.get('', { accountId });
11
+ }
12
+ updateUserSelection(data) {
13
+ return this.http.post('user-selections', data);
14
+ }
15
+ updateChatModels(chatId, data) {
16
+ return this.scopedHttp.makeRequest({
17
+ route: `chat/${chatId}/models`,
18
+ method: 'PATCH',
19
+ data,
20
+ });
21
+ }
22
+ }
23
+ exports.ModelsApi = ModelsApi;
24
+ //# sourceMappingURL=ModelsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelsApi.js","sourceRoot":"","sources":["../../../src/modules/ModelsApi.ts"],"names":[],"mappings":";;;AAQA,MAAa,SAAS;IACpB,YACmB,IAAa,EACb,UAAmB;QADnB,SAAI,GAAJ,IAAI,CAAS;QACb,eAAU,GAAV,UAAU,CAAS;IACnC,CAAC;IAEJ,UAAU,CAAC,SAAkB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAC,IAAgC;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,IAA6B;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YACjC,KAAK,EAAE,QAAQ,MAAM,SAAS;YAC9B,MAAM,EAAE,OAAO;YACf,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF;AArBD,8BAqBC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SkillsApi = void 0;
4
+ class SkillsApi {
5
+ constructor(http, adminHttp) {
6
+ this.http = http;
7
+ this.adminHttp = adminHttp;
8
+ }
9
+ listSkills(accountId) {
10
+ return this.http.get('', { accountId });
11
+ }
12
+ /** Full skill list for IDW admin (no per-user access filter). */
13
+ listSkillsAdmin(accountId) {
14
+ if (!this.adminHttp) {
15
+ throw new Error('SkillsApi: admin client is not configured');
16
+ }
17
+ return this.adminHttp.get('', accountId ? { accountId } : undefined);
18
+ }
19
+ createSkill(data) {
20
+ return this.http.post('', data);
21
+ }
22
+ editSkill(data) {
23
+ return this.http.patch(data.skill.id, data);
24
+ }
25
+ deleteSkill(id) {
26
+ return this.http.delete(id);
27
+ }
28
+ }
29
+ exports.SkillsApi = SkillsApi;
30
+ //# sourceMappingURL=SkillsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillsApi.js","sourceRoot":"","sources":["../../../src/modules/SkillsApi.ts"],"names":[],"mappings":";;;AAIA,MAAa,SAAS;IACpB,YACmB,IAAa,EACb,SAAmB;QADnB,SAAI,GAAJ,IAAI,CAAS;QACb,cAAS,GAAT,SAAS,CAAU;IACnC,CAAC;IAEJ,UAAU,CAAC,SAAkB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,iEAAiE;IACjE,eAAe,CAAC,SAAkB;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;IAED,WAAW,CAAC,IAAuB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAqB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AA7BD,8BA6BC"}
@@ -0,0 +1,123 @@
1
+ import axios from 'axios';
2
+ /**
3
+ * Axios HTTP base for IDW API modules.
4
+ *
5
+ * Ported from idw-ui `ApiBase` without Vue/Pinia wiring. Injects auth token and
6
+ * optional `idw/{idwId}/` path prefix on every request.
7
+ */
8
+ export class ApiBase {
9
+ constructor({ baseUrl, token, idwId }, basePath = '') {
10
+ this.BASE_URL = '';
11
+ this.TOKEN = '';
12
+ this.baseUrl = baseUrl;
13
+ this.token = token;
14
+ this.idwId = idwId;
15
+ this.http = this.createHttpInstance(basePath);
16
+ }
17
+ set baseUrl(url) {
18
+ this.BASE_URL = url.at(-1) === '/' ? url.slice(0, -1) : url;
19
+ }
20
+ get baseUrl() {
21
+ return this.BASE_URL;
22
+ }
23
+ set token(token) {
24
+ this.TOKEN = token;
25
+ }
26
+ get token() {
27
+ return typeof this.TOKEN === 'function' ? this.TOKEN() : this.TOKEN;
28
+ }
29
+ set idwId(idwId) {
30
+ this.IDW_ID = idwId;
31
+ }
32
+ get idwId() {
33
+ return typeof this.IDW_ID === 'function' ? this.IDW_ID() : this.IDW_ID;
34
+ }
35
+ withBasePath(basePath, config = {}) {
36
+ const next = new ApiBase({
37
+ baseUrl: this.BASE_URL,
38
+ token: this.TOKEN,
39
+ idwId: this.IDW_ID,
40
+ }, basePath);
41
+ next.http = next.createHttpInstance(basePath, config);
42
+ return next;
43
+ }
44
+ createHttpInstance(basePath, config = {}) {
45
+ const instance = axios.create({
46
+ baseURL: this.BASE_URL,
47
+ timeout: 30000,
48
+ headers: { 'Content-Type': 'application/json' },
49
+ ...config,
50
+ });
51
+ instance.interceptors.request.use((requestConfig) => {
52
+ const token = this.token;
53
+ if (token) {
54
+ requestConfig.headers = requestConfig.headers ?? {};
55
+ requestConfig.headers.Authorization = token;
56
+ }
57
+ const pathPrefix = this.idwId === undefined
58
+ ? basePath
59
+ : this.joinUrl(`idw/${this.idwId}`, basePath);
60
+ requestConfig.url = this.joinUrl(pathPrefix, requestConfig.url || '');
61
+ return requestConfig;
62
+ });
63
+ return instance;
64
+ }
65
+ async makeRequest(options) {
66
+ const route = options.route
67
+ ? (options.route.startsWith('/') ? options.route : `/${options.route}`)
68
+ : '';
69
+ const response = await this.http.request({
70
+ url: route,
71
+ method: options.method ?? 'GET',
72
+ params: options.params,
73
+ data: options.data,
74
+ headers: options.headers,
75
+ signal: options.signal,
76
+ });
77
+ return response.data;
78
+ }
79
+ get(route, params) {
80
+ return this.makeRequest({
81
+ route,
82
+ method: 'GET',
83
+ params,
84
+ });
85
+ }
86
+ post(route, data, params) {
87
+ return this.makeRequest({
88
+ route,
89
+ method: 'POST',
90
+ data,
91
+ params,
92
+ });
93
+ }
94
+ put(route, data) {
95
+ return this.makeRequest({
96
+ route,
97
+ method: 'PUT',
98
+ data,
99
+ });
100
+ }
101
+ patch(route, data) {
102
+ return this.makeRequest({
103
+ route,
104
+ method: 'PATCH',
105
+ data,
106
+ });
107
+ }
108
+ delete(route) {
109
+ return this.makeRequest({
110
+ route,
111
+ method: 'DELETE',
112
+ });
113
+ }
114
+ joinUrl(base, ...paths) {
115
+ const trimmedBase = base.endsWith('/') ? base.slice(0, -1) : base;
116
+ const joinedPaths = paths
117
+ .map((path) => path.replace(/^\/+|\/+$/g, ''))
118
+ .filter((path) => path.length > 0)
119
+ .join('/');
120
+ return joinedPaths ? `${trimmedBase}/${joinedPaths}` : trimmedBase;
121
+ }
122
+ }
123
+ //# sourceMappingURL=ApiBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiBase.js","sourceRoot":"","sources":["../../src/ApiBase.ts"],"names":[],"mappings":"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"}