@hahnpro/hpc-api 2025.2.4 → 2025.2.6

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 (64) hide show
  1. package/package.json +2 -2
  2. package/src/index.d.ts +0 -4
  3. package/src/index.js +0 -4
  4. package/src/lib/alert.interface.d.ts +43 -0
  5. package/src/lib/alert.interface.js +17 -0
  6. package/src/lib/alert.service.d.ts +6 -0
  7. package/src/lib/alert.service.js +10 -0
  8. package/src/lib/api.d.ts +6 -6
  9. package/src/lib/api.js +8 -8
  10. package/src/lib/content.interface.d.ts +4 -0
  11. package/src/lib/flow-deployment.interface.d.ts +1 -1
  12. package/src/lib/flow-deployment.service.d.ts +1 -1
  13. package/src/lib/flow.interface.d.ts +1 -1
  14. package/src/lib/interfaces/ai.interface.d.ts +78 -0
  15. package/src/lib/{asset.interface.d.ts → interfaces/asset.interface.d.ts} +13 -1
  16. package/src/lib/interfaces/event.interface.d.ts +21 -0
  17. package/src/lib/interfaces/index.d.ts +5 -1
  18. package/src/lib/{resource.interface.d.ts → interfaces/resource.interface.d.ts} +21 -19
  19. package/src/lib/interfaces/resource.interface.js +8 -0
  20. package/src/lib/mock/ai.mock.service.d.ts +13 -1
  21. package/src/lib/mock/ai.mock.service.js +34 -1
  22. package/src/lib/mock/api.mock.d.ts +8 -6
  23. package/src/lib/mock/api.mock.js +5 -7
  24. package/src/lib/mock/asset.mock.service.d.ts +2 -2
  25. package/src/lib/mock/assetTypes.mock.service.d.ts +3 -2
  26. package/src/lib/mock/assetTypes.mock.service.js +5 -2
  27. package/src/lib/mock/event.mock.service.d.ts +8 -0
  28. package/src/lib/mock/{events.mock.service.js → event.mock.service.js} +6 -3
  29. package/src/lib/mock/flow-deployment.mock.service.d.ts +1 -1
  30. package/src/lib/mock/flow-deployment.mock.service.js +4 -4
  31. package/src/lib/mock/flow-functions.mock.service.js +2 -2
  32. package/src/lib/mock/flow.mock.service.js +2 -2
  33. package/src/lib/mock/index.d.ts +1 -1
  34. package/src/lib/mock/index.js +1 -1
  35. package/src/lib/mock/timeseries.mock.service.d.ts +3 -2
  36. package/src/lib/mock/timeseries.mock.service.js +3 -0
  37. package/src/lib/mock/utils.d.ts +1 -0
  38. package/src/lib/mock/utils.js +10 -0
  39. package/src/lib/notification-rule.interface.d.ts +28 -0
  40. package/src/lib/notification-rule.service.d.ts +6 -0
  41. package/src/lib/notification-rule.service.js +10 -0
  42. package/src/lib/organization.interface.d.ts +2 -1
  43. package/src/lib/services/ai.service.d.ts +14 -2
  44. package/src/lib/services/ai.service.js +36 -2
  45. package/src/lib/{asset.service.d.ts → services/asset.service.d.ts} +6 -6
  46. package/src/lib/{asset.service.js → services/asset.service.js} +3 -3
  47. package/src/lib/{assettypes.service.d.ts → services/assettypes.service.d.ts} +7 -6
  48. package/src/lib/{assettypes.service.js → services/assettypes.service.js} +6 -3
  49. package/src/lib/services/event.service.d.ts +8 -0
  50. package/src/lib/services/event.service.js +17 -0
  51. package/src/lib/services/index.d.ts +4 -0
  52. package/src/lib/services/index.js +9 -1
  53. package/src/lib/{timeseries.service.d.ts → services/timeseries.service.d.ts} +7 -6
  54. package/src/lib/{timeseries.service.js → services/timeseries.service.js} +7 -3
  55. package/src/lib/user-settings.interface.d.ts +1 -0
  56. package/src/lib/events.interface.d.ts +0 -18
  57. package/src/lib/events.service.d.ts +0 -7
  58. package/src/lib/events.service.js +0 -13
  59. package/src/lib/mock/events.mock.service.d.ts +0 -7
  60. /package/src/lib/{asset.interface.js → interfaces/asset.interface.js} +0 -0
  61. /package/src/lib/{events.interface.js → interfaces/event.interface.js} +0 -0
  62. /package/src/lib/{timeseries.interface.d.ts → interfaces/timeseries.interface.d.ts} +0 -0
  63. /package/src/lib/{timeseries.interface.js → interfaces/timeseries.interface.js} +0 -0
  64. /package/src/lib/{resource.interface.js → notification-rule.interface.js} +0 -0
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MockAPI = void 0;
4
- const crypto_1 = require("crypto");
5
- const fs_1 = require("fs");
6
- const path_1 = require("path");
7
4
  const asset_mock_service_1 = require("./asset.mock.service");
8
5
  const assetTypes_mock_service_1 = require("./assetTypes.mock.service");
9
6
  const content_mock_service_1 = require("./content.mock.service");
10
7
  const endpoint_mock_service_1 = require("./endpoint.mock.service");
11
- const events_mock_service_1 = require("./events.mock.service");
8
+ const event_mock_service_1 = require("./event.mock.service");
12
9
  const flow_deployment_mock_service_1 = require("./flow-deployment.mock.service");
13
10
  const flow_functions_mock_service_1 = require("./flow-functions.mock.service");
14
11
  const flow_modules_mock_service_1 = require("./flow-modules.mock.service");
@@ -21,6 +18,7 @@ const secret_mock_service_1 = require("./secret.mock.service");
21
18
  const task_mock_service_1 = require("./task.mock.service");
22
19
  const timeseries_mock_service_1 = require("./timeseries.mock.service");
23
20
  const user_mock_service_1 = require("./user.mock.service");
21
+ const utils_1 = require("./utils");
24
22
  const vault_mock_service_1 = require("./vault.mock.service");
25
23
  class MockAPI {
26
24
  constructor(initData) {
@@ -60,7 +58,7 @@ class MockAPI {
60
58
  fileId: v.fileId ?? '',
61
59
  mimetype: v.mimetype ?? '',
62
60
  }));
63
- const contentData = contents.map((v) => (v.data ? v.data : (0, fs_1.readFileSync)((0, path_1.join)(v.filePath, v.filename))));
61
+ const contentData = contents.map((v) => v.data);
64
62
  const secrets1 = secrets.map((v) => ({
65
63
  ...v,
66
64
  readPermissions: v.readPermissions ?? [],
@@ -155,7 +153,7 @@ class MockAPI {
155
153
  artifacts: modules[index].artifacts.map((art) => ({
156
154
  ...art,
157
155
  version: '0.0.0',
158
- id: (0, crypto_1.randomUUID)(),
156
+ id: (0, utils_1.randomUUID)(),
159
157
  mimetype: '',
160
158
  size: 0,
161
159
  createdAt: '' + Date.now(),
@@ -194,7 +192,7 @@ class MockAPI {
194
192
  this.secrets = new secret_mock_service_1.SecretMockService(secrets1);
195
193
  this.timeSeries = new timeseries_mock_service_1.TimeseriesMockService(timeSeries1, timeSeriesValues);
196
194
  this.tasks = new task_mock_service_1.TaskMockService(tasks1);
197
- this.events = new events_mock_service_1.EventsMockService(events1);
195
+ this.events = new event_mock_service_1.EventMockService(events1);
198
196
  this.users = new user_mock_service_1.UserMockService(users);
199
197
  this.flows = new flow_mock_service_1.FlowMockService(flows1, diagrams1, flowRevisions1);
200
198
  this.flowDeployments = new flow_deployment_mock_service_1.FlowDeploymentMockService(deployments1, this);
@@ -1,7 +1,7 @@
1
1
  import FormData from 'form-data';
2
- import { Asset, AssetRevision, Attachment, EventCause, EventLevelOverride } from '../asset.interface';
3
- import { AssetService } from '../asset.service';
4
2
  import { Paginated, RequestParameter } from '../data.interface';
3
+ import { Asset, AssetRevision, Attachment, EventCause, EventLevelOverride } from '../interfaces';
4
+ import { AssetService } from '../services';
5
5
  import { APIBaseMock } from './api-base.mock';
6
6
  import { MockAPI } from './api.mock';
7
7
  import { DataMockService } from './data.mock.service';
@@ -1,6 +1,6 @@
1
- import { AssetType, AssetTypeRevision } from '../asset.interface';
2
- import { AssetTypesService } from '../assettypes.service';
3
1
  import { Paginated, RequestParameter } from '../data.interface';
2
+ import { AssetType, AssetTypeRevision, Template } from '../interfaces';
3
+ import { AssetTypesService } from '../services';
4
4
  import { APIBaseMock } from './api-base.mock';
5
5
  import { DataMockService } from './data.mock.service';
6
6
  import { TrashMockService } from './trash.mock.service';
@@ -18,5 +18,6 @@ export declare class AssetTypesMockService extends BaseService implements AssetT
18
18
  getRevisions(id: string): Promise<Paginated<AssetTypeRevision[]>>;
19
19
  rollback(id: string, revisionId: string): Promise<AssetType>;
20
20
  deleteRevision(assetId: string, revisionId: string): Promise<any>;
21
+ getTemplate(id: string, templateName: string): Promise<Template>;
21
22
  }
22
23
  export {};
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetTypesMockService = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const crypto_1 = require("crypto");
6
5
  const ts_mixer_1 = require("ts-mixer");
7
6
  const api_base_mock_1 = require("./api-base.mock");
8
7
  const data_mock_service_1 = require("./data.mock.service");
9
8
  const trash_mock_service_1 = require("./trash.mock.service");
9
+ const utils_1 = require("./utils");
10
10
  let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
11
11
  };
12
12
  BaseService = tslib_1.__decorate([
@@ -30,7 +30,7 @@ class AssetTypesMockService extends BaseService {
30
30
  return Promise.resolve(page);
31
31
  }
32
32
  addOne(dto) {
33
- const id = (0, crypto_1.randomUUID)();
33
+ const id = (0, utils_1.randomUUID)();
34
34
  this.revisions.push({ ...dto, id, originalId: dto.id });
35
35
  return super.addOne(dto);
36
36
  }
@@ -72,5 +72,8 @@ class AssetTypesMockService extends BaseService {
72
72
  this.revisions.splice(index, 1);
73
73
  return Promise.resolve(revisionId);
74
74
  }
75
+ getTemplate(id, templateName) {
76
+ throw new Error('Method not implemented.');
77
+ }
75
78
  }
76
79
  exports.AssetTypesMockService = AssetTypesMockService;
@@ -0,0 +1,8 @@
1
+ import { Event } from '../interfaces';
2
+ import { EventService } from '../services';
3
+ import { DataMockService } from './data.mock.service';
4
+ export declare class EventMockService extends DataMockService<Event> implements EventService {
5
+ constructor(events: Event[]);
6
+ getLastEventByAssetAndGroup(assetId: string, group: string): Promise<Event>;
7
+ getLastEventByAssetAndGroups(assetId: string, groups: string[]): Promise<Record<string, string>>;
8
+ }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventsMockService = void 0;
3
+ exports.EventMockService = void 0;
4
4
  const data_mock_service_1 = require("./data.mock.service");
5
- class EventsMockService extends data_mock_service_1.DataMockService {
5
+ class EventMockService extends data_mock_service_1.DataMockService {
6
6
  constructor(events) {
7
7
  super();
8
8
  this.data = events;
@@ -10,5 +10,8 @@ class EventsMockService extends data_mock_service_1.DataMockService {
10
10
  getLastEventByAssetAndGroup(assetId, group) {
11
11
  return Promise.resolve(this.data[this.data.length - 1]);
12
12
  }
13
+ getLastEventByAssetAndGroups(assetId, groups) {
14
+ throw new Error('Method not implemented.');
15
+ }
13
16
  }
14
- exports.EventsMockService = EventsMockService;
17
+ exports.EventMockService = EventMockService;
@@ -1,6 +1,6 @@
1
1
  import { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog } from '../flow-deployment.interface';
2
2
  import { FlowDeploymentService } from '../flow-deployment.service';
3
- import { ResourceReference } from '../resource.interface';
3
+ import { ResourceReference } from '../interfaces';
4
4
  import { APIBaseMock } from './api-base.mock';
5
5
  import { MockAPI } from './api.mock';
6
6
  import { DataMockService } from './data.mock.service';
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowDeploymentMockService = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const crypto_1 = require("crypto");
6
5
  const ts_mixer_1 = require("ts-mixer");
7
6
  const api_base_mock_1 = require("./api-base.mock");
8
7
  const data_mock_service_1 = require("./data.mock.service");
9
8
  const trash_mock_service_1 = require("./trash.mock.service");
9
+ const utils_1 = require("./utils");
10
10
  let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
11
11
  };
12
12
  BaseService = tslib_1.__decorate([
@@ -19,11 +19,11 @@ class FlowDeploymentMockService extends BaseService {
19
19
  }
20
20
  subscribeToStatus(id, listener, errorListener) {
21
21
  listener(new MessageEvent('message', { data: 'running' }));
22
- return Promise.resolve((0, crypto_1.randomUUID)());
22
+ return Promise.resolve((0, utils_1.randomUUID)());
23
23
  }
24
24
  subscribeToLogs(id, listener, errorListener) {
25
25
  listener(new MessageEvent('message', { data: 'foo' }));
26
- return Promise.resolve((0, crypto_1.randomUUID)());
26
+ return Promise.resolve((0, utils_1.randomUUID)());
27
27
  }
28
28
  async waitForRunningStatus(id) {
29
29
  const flowDeployment = this.data.find((v) => v.id === id);
@@ -84,7 +84,7 @@ class FlowDeploymentMockService extends BaseService {
84
84
  async addOne(dto) {
85
85
  const flow = await this.api.flows.getFlowWithDiagram(dto.diagramId);
86
86
  const refs = await this.getReferences(dto.properties);
87
- const id = (0, crypto_1.randomUUID)();
87
+ const id = (0, utils_1.randomUUID)();
88
88
  const newDepl = {
89
89
  actualStatus: 'generating queued',
90
90
  artifact: undefined,
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowFunctionsMockService = void 0;
4
- const crypto_1 = require("crypto");
5
4
  const data_mock_service_1 = require("./data.mock.service");
5
+ const utils_1 = require("./utils");
6
6
  class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
7
7
  constructor(functions, revisions) {
8
8
  super();
@@ -10,7 +10,7 @@ class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
10
10
  this.data = functions;
11
11
  }
12
12
  addOne(dto) {
13
- const id = (0, crypto_1.randomUUID)();
13
+ const id = (0, utils_1.randomUUID)();
14
14
  this.revisions.push({ ...dto, id, originalId: dto.fqn });
15
15
  return super.addOne(dto);
16
16
  }
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowMockService = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const crypto_1 = require("crypto");
6
5
  const ts_mixer_1 = require("ts-mixer");
7
6
  const api_base_mock_1 = require("./api-base.mock");
8
7
  const data_mock_service_1 = require("./data.mock.service");
9
8
  const trash_mock_service_1 = require("./trash.mock.service");
9
+ const utils_1 = require("./utils");
10
10
  let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
11
11
  };
12
12
  BaseService = tslib_1.__decorate([
@@ -34,7 +34,7 @@ class FlowMockService extends BaseService {
34
34
  return super.deleteOne(id);
35
35
  }
36
36
  addOne(dto) {
37
- const id = (0, crypto_1.randomUUID)();
37
+ const id = (0, utils_1.randomUUID)();
38
38
  this.revisions.push({ ...dto, id, originalId: dto.id });
39
39
  return super.addOne(dto);
40
40
  }
@@ -7,7 +7,7 @@ export * from './http.mock.service';
7
7
  export * from './secret.mock.service';
8
8
  export * from './timeseries.mock.service';
9
9
  export * from './task.mock.service';
10
- export * from './events.mock.service';
10
+ export * from './event.mock.service';
11
11
  export * from './vault.mock.service';
12
12
  export * from './notification.mock.service';
13
13
  export * from './organization.mock.service';
@@ -10,7 +10,7 @@ tslib_1.__exportStar(require("./http.mock.service"), exports);
10
10
  tslib_1.__exportStar(require("./secret.mock.service"), exports);
11
11
  tslib_1.__exportStar(require("./timeseries.mock.service"), exports);
12
12
  tslib_1.__exportStar(require("./task.mock.service"), exports);
13
- tslib_1.__exportStar(require("./events.mock.service"), exports);
13
+ tslib_1.__exportStar(require("./event.mock.service"), exports);
14
14
  tslib_1.__exportStar(require("./vault.mock.service"), exports);
15
15
  tslib_1.__exportStar(require("./notification.mock.service"), exports);
16
16
  tslib_1.__exportStar(require("./organization.mock.service"), exports);
@@ -1,6 +1,6 @@
1
1
  import { Paginated, RequestParameter } from '../data.interface';
2
- import { TimeSeries, TimeSeriesValue, TS_GROUPS } from '../timeseries.interface';
3
- import { TimeSeriesService } from '../timeseries.service';
2
+ import { TimeSeries, TimeSeriesValue, TS_GROUPS } from '../interfaces';
3
+ import { TimeSeriesService } from '../services';
4
4
  import { APIBaseMock } from './api-base.mock';
5
5
  import { DataMockService } from './data.mock.service';
6
6
  import { TrashMockService } from './trash.mock.service';
@@ -35,5 +35,6 @@ export declare class TimeseriesMockService extends BaseService implements TimeSe
35
35
  getMostRecentValue(id: string, before: Date): Promise<TimeSeriesValue>;
36
36
  getValues(id: string, from: number, limit?: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]>;
37
37
  getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]>;
38
+ getMostRecentTimeSeriesValueByAssetAndTimeSeriesName(assetId: string, timeSeriesNames: string[]): Promise<Record<string, any>>;
38
39
  }
39
40
  export {};
@@ -138,5 +138,8 @@ class TimeseriesMockService extends BaseService {
138
138
  const ts = await this.getOne(id, {});
139
139
  return ts.data.filter((v) => v.timestamp < to && v.timestamp > from);
140
140
  }
141
+ getMostRecentTimeSeriesValueByAssetAndTimeSeriesName(assetId, timeSeriesNames) {
142
+ throw new Error('Method not implemented.');
143
+ }
141
144
  }
142
145
  exports.TimeseriesMockService = TimeseriesMockService;
@@ -0,0 +1 @@
1
+ export declare function randomUUID(): string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomUUID = randomUUID;
4
+ function randomUUID() {
5
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
6
+ const r = (Math.random() * 16) | 0;
7
+ const v = c === 'x' ? r : (r & 0x3) | 0x8;
8
+ return v.toString(16);
9
+ });
10
+ }
@@ -0,0 +1,28 @@
1
+ import { Author, Owner } from './interfaces';
2
+ export interface NotificationRule {
3
+ id?: string;
4
+ name: string;
5
+ description?: string;
6
+ endpointRef: string;
7
+ status: string;
8
+ every: string;
9
+ offset?: string;
10
+ statusRule: StatusRule;
11
+ tagRules?: TagRule[];
12
+ messageTemplate: string;
13
+ tags?: string[];
14
+ readPermissions: string[];
15
+ readWritePermissions: string[];
16
+ owner?: Owner;
17
+ createdBy?: Author;
18
+ updatedBy?: Author;
19
+ }
20
+ export interface StatusRule {
21
+ previousLevel?: string;
22
+ currentLevel: string;
23
+ }
24
+ export interface TagRule {
25
+ id?: string;
26
+ operator: 'equal' | 'notEqual';
27
+ value: string;
28
+ }
@@ -0,0 +1,6 @@
1
+ import { HttpClient } from '@shr/api';
2
+ import { DataService } from './data.service';
3
+ import { NotificationRule } from './notification-rule.interface';
4
+ export declare class NotificationRuleService extends DataService<NotificationRule> {
5
+ constructor(httpClient: HttpClient);
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationRuleService = void 0;
4
+ const data_service_1 = require("./data.service");
5
+ class NotificationRuleService extends data_service_1.DataService {
6
+ constructor(httpClient) {
7
+ super(httpClient, '/notification/rules');
8
+ }
9
+ }
10
+ exports.NotificationRuleService = NotificationRuleService;
@@ -1,4 +1,4 @@
1
- import { Author } from './resource.interface';
1
+ import { Author } from './interfaces';
2
2
  export interface Organization {
3
3
  id?: string;
4
4
  name: string;
@@ -18,6 +18,7 @@ export interface Organization {
18
18
  previousSubscriptions?: string[];
19
19
  assetId?: string;
20
20
  verified?: boolean;
21
+ deletionRequested?: boolean;
21
22
  createdAt?: Date | string;
22
23
  updatedAt?: Date | string;
23
24
  createdBy?: Author;
@@ -1,7 +1,19 @@
1
1
  import { APIBase } from '../api-base';
2
- import { HttpClient } from '../http.service';
3
- import { SpeechToken } from '../interfaces';
2
+ import { Paginated } from '../data.interface';
3
+ import { HttpClient, TokenOption } from '../http.service';
4
+ import { AiAssistant, Message, SpeechToken, Thread, ThreadPopulated } from '../interfaces';
4
5
  export declare class AiService extends APIBase {
5
6
  constructor(httpClient: HttpClient);
7
+ message(message: string, threadId?: string, assistantId?: string): Promise<Message>;
8
+ createThread(assistantId: string, isEphemeral?: boolean): Promise<ThreadPopulated>;
9
+ getLatestAssistantThread(assistantId: string): Promise<ThreadPopulated>;
10
+ listAssistantThreads(assistantId: string): Promise<ThreadPopulated[]>;
11
+ getAssistant(assistantId: string): Promise<AiAssistant>;
12
+ getAssistants(): Promise<AiAssistant[]>;
6
13
  getSpeechToken(): Promise<SpeechToken>;
14
+ getThreadMessages(threadId: string): Promise<Paginated<Message[]>>;
15
+ getThread(threadId: string): Promise<ThreadPopulated>;
16
+ getLatestThread(): Promise<ThreadPopulated>;
17
+ listThreads(assistantIds?: string[], params?: {}, options?: TokenOption): Promise<ThreadPopulated[]>;
18
+ deleteThread(threadId: string): Promise<Thread>;
7
19
  }
@@ -4,10 +4,44 @@ exports.AiService = void 0;
4
4
  const api_base_1 = require("../api-base");
5
5
  class AiService extends api_base_1.APIBase {
6
6
  constructor(httpClient) {
7
- super(httpClient, '/assistants');
7
+ super(httpClient, '/ai');
8
8
  }
9
- async getSpeechToken() {
9
+ message(message, threadId, assistantId) {
10
+ return this.httpClient.post(`${this.basePath}/message`, { message, threadId, assistantId });
11
+ }
12
+ createThread(assistantId, isEphemeral) {
13
+ return this.httpClient.post(`${this.basePath}/threads`, { assistantId, isEphemeral });
14
+ }
15
+ getLatestAssistantThread(assistantId) {
16
+ return this.httpClient.get(`${this.basePath}/assistants/${assistantId}/threads/latest`);
17
+ }
18
+ listAssistantThreads(assistantId) {
19
+ return this.httpClient.get(`${this.basePath}/assistants/${assistantId}/threads`);
20
+ }
21
+ getAssistant(assistantId) {
22
+ return this.httpClient.get(`${this.basePath}/assistants/${assistantId}`);
23
+ }
24
+ getAssistants() {
25
+ return this.httpClient.get(`${this.basePath}/assistants`);
26
+ }
27
+ getSpeechToken() {
10
28
  return this.httpClient.get(`${this.basePath}/speech/token`);
11
29
  }
30
+ getThreadMessages(threadId) {
31
+ return this.httpClient.get(`${this.basePath}/threads/${threadId}/messages`);
32
+ }
33
+ getThread(threadId) {
34
+ return this.httpClient.get(`${this.basePath}/threads/${threadId}`);
35
+ }
36
+ getLatestThread() {
37
+ return this.httpClient.get(`${this.basePath}/threads/latest`);
38
+ }
39
+ listThreads(assistantIds, params = {}, options = {}) {
40
+ params = { ...params, assistantIds: assistantIds?.join(',') };
41
+ return this.httpClient.get(`${this.basePath}/threads`, { params, ...options });
42
+ }
43
+ deleteThread(threadId) {
44
+ return this.httpClient.delete(`${this.basePath}/threads/${threadId}`);
45
+ }
12
46
  }
13
47
  exports.AiService = AiService;
@@ -1,10 +1,10 @@
1
1
  import FormData from 'form-data';
2
- import { APIBase } from './api-base';
3
- import { Asset, AssetRevision, Attachment, EventCause, EventLevelOverride } from './asset.interface';
4
- import { Paginated, RequestParameter } from './data.interface';
5
- import { DataService } from './data.service';
6
- import { HttpClient, TokenOption } from './http.service';
7
- import { TrashService } from './trash.service';
2
+ import { APIBase } from '../api-base';
3
+ import { Paginated, RequestParameter } from '../data.interface';
4
+ import { DataService } from '../data.service';
5
+ import { HttpClient, TokenOption } from '../http.service';
6
+ import { Asset, AssetRevision, Attachment, EventCause, EventLevelOverride } from '../interfaces';
7
+ import { TrashService } from '../trash.service';
8
8
  interface BaseService extends DataService<Asset>, TrashService<Asset> {
9
9
  }
10
10
  declare class BaseService extends APIBase {
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ts_mixer_1 = require("ts-mixer");
6
- const api_base_1 = require("./api-base");
7
- const data_service_1 = require("./data.service");
8
- const trash_service_1 = require("./trash.service");
6
+ const api_base_1 = require("../api-base");
7
+ const data_service_1 = require("../data.service");
8
+ const trash_service_1 = require("../trash.service");
9
9
  let BaseService = class BaseService extends api_base_1.APIBase {
10
10
  };
11
11
  BaseService = tslib_1.__decorate([
@@ -1,9 +1,9 @@
1
- import { APIBase } from './api-base';
2
- import { AssetType } from './asset.interface';
3
- import { Paginated } from './data.interface';
4
- import { DataService } from './data.service';
5
- import { HttpClient, TokenOption } from './http.service';
6
- import { TrashService } from './trash.service';
1
+ import { APIBase } from '../api-base';
2
+ import { Paginated } from '../data.interface';
3
+ import { DataService } from '../data.service';
4
+ import { HttpClient, TokenOption } from '../http.service';
5
+ import { AssetType, Template } from '../interfaces';
6
+ import { TrashService } from '../trash.service';
7
7
  interface BaseService extends DataService<AssetType>, TrashService<AssetType> {
8
8
  }
9
9
  declare class BaseService extends APIBase {
@@ -13,5 +13,6 @@ export declare class AssetTypesService extends BaseService {
13
13
  getRevisions(id: string, options?: TokenOption): Promise<Paginated<AssetType[]>>;
14
14
  rollback(id: string, revisionId: string, options?: TokenOption): Promise<AssetType>;
15
15
  deleteRevision(id: string, revisionId: string, options?: TokenOption): Promise<any>;
16
+ getTemplate(id: string, templateName: string, options?: TokenOption): Promise<Template>;
16
17
  }
17
18
  export {};
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetTypesService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ts_mixer_1 = require("ts-mixer");
6
- const api_base_1 = require("./api-base");
7
- const data_service_1 = require("./data.service");
8
- const trash_service_1 = require("./trash.service");
6
+ const api_base_1 = require("../api-base");
7
+ const data_service_1 = require("../data.service");
8
+ const trash_service_1 = require("../trash.service");
9
9
  let BaseService = class BaseService extends api_base_1.APIBase {
10
10
  };
11
11
  BaseService = tslib_1.__decorate([
@@ -24,5 +24,8 @@ class AssetTypesService extends BaseService {
24
24
  deleteRevision(id, revisionId, options = {}) {
25
25
  return this.httpClient.delete(`${this.basePath}/${id}/revisions/${revisionId}`, options);
26
26
  }
27
+ getTemplate(id, templateName, options = {}) {
28
+ return this.httpClient.get(`${this.basePath}/${id}/templates/${templateName}`, options);
29
+ }
27
30
  }
28
31
  exports.AssetTypesService = AssetTypesService;
@@ -0,0 +1,8 @@
1
+ import { DataService } from '../data.service';
2
+ import { HttpClient, TokenOption } from '../http.service';
3
+ import { Event } from '../interfaces';
4
+ export declare class EventService extends DataService<Event> {
5
+ constructor(httpClient: HttpClient);
6
+ getLastEventByAssetAndGroup(assetId: string, group: string, options?: TokenOption): Promise<Event>;
7
+ getLastEventByAssetAndGroups(assetId: string, groups: string[], options?: TokenOption): Promise<Record<string, string>>;
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventService = void 0;
4
+ const data_service_1 = require("../data.service");
5
+ class EventService extends data_service_1.DataService {
6
+ constructor(httpClient) {
7
+ super(httpClient, '/events');
8
+ }
9
+ getLastEventByAssetAndGroup(assetId, group, options = {}) {
10
+ return this.httpClient.get(`${this.basePath}/last/${assetId}/${group}`, options);
11
+ }
12
+ getLastEventByAssetAndGroups(assetId, groups, options = {}) {
13
+ const params = Array.isArray(groups) ? { groups: groups.join() } : {};
14
+ return this.httpClient.get(`${this.basePath}/asset/${assetId}/last`, { params, ...options });
15
+ }
16
+ }
17
+ exports.EventService = EventService;
@@ -1 +1,5 @@
1
1
  export { AiService } from './ai.service';
2
+ export { AssetService } from './asset.service';
3
+ export { AssetTypesService } from './assettypes.service';
4
+ export { EventService } from './event.service';
5
+ export { TimeSeriesService } from './timeseries.service';
@@ -1,5 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AiService = void 0;
3
+ exports.TimeSeriesService = exports.EventService = exports.AssetTypesService = exports.AssetService = exports.AiService = void 0;
4
4
  var ai_service_1 = require("./ai.service");
5
5
  Object.defineProperty(exports, "AiService", { enumerable: true, get: function () { return ai_service_1.AiService; } });
6
+ var asset_service_1 = require("./asset.service");
7
+ Object.defineProperty(exports, "AssetService", { enumerable: true, get: function () { return asset_service_1.AssetService; } });
8
+ var assettypes_service_1 = require("./assettypes.service");
9
+ Object.defineProperty(exports, "AssetTypesService", { enumerable: true, get: function () { return assettypes_service_1.AssetTypesService; } });
10
+ var event_service_1 = require("./event.service");
11
+ Object.defineProperty(exports, "EventService", { enumerable: true, get: function () { return event_service_1.EventService; } });
12
+ var timeseries_service_1 = require("./timeseries.service");
13
+ Object.defineProperty(exports, "TimeSeriesService", { enumerable: true, get: function () { return timeseries_service_1.TimeSeriesService; } });
@@ -1,9 +1,9 @@
1
- import { APIBase } from './api-base';
2
- import { Paginated } from './data.interface';
3
- import { DataService } from './data.service';
4
- import { HttpClient, TokenOption } from './http.service';
5
- import { TimeSeries, TimeSeriesValue, TS_GROUPS } from './timeseries.interface';
6
- import { TrashService } from './trash.service';
1
+ import { APIBase } from '../api-base';
2
+ import { Paginated } from '../data.interface';
3
+ import { DataService } from '../data.service';
4
+ import { HttpClient, TokenOption } from '../http.service';
5
+ import { TimeSeries, TimeSeriesValue, TS_GROUPS } from '../interfaces';
6
+ import { TrashService } from '../trash.service';
7
7
  interface BaseService extends DataService<TimeSeries>, TrashService<TimeSeries> {
8
8
  }
9
9
  declare class BaseService extends APIBase {
@@ -65,5 +65,6 @@ export declare class TimeSeriesService extends BaseService {
65
65
  getValues(id: string, from: number, limit?: number, group?: TS_GROUPS, options?: TokenOption): Promise<TimeSeriesValue[]>;
66
66
  getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS, options?: TokenOption): Promise<TimeSeriesValue[]>;
67
67
  getManyByAsset(assetId: string, names?: string[], options?: TokenOption): Promise<Paginated<TimeSeries[]>>;
68
+ getMostRecentTimeSeriesValueByAssetAndTimeSeriesName(assetId: string, timeSeriesNames: string[], options?: TokenOption): Promise<Record<string, any>>;
68
69
  }
69
70
  export {};
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TimeSeriesService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ts_mixer_1 = require("ts-mixer");
6
- const api_base_1 = require("./api-base");
7
- const data_service_1 = require("./data.service");
8
- const trash_service_1 = require("./trash.service");
6
+ const api_base_1 = require("../api-base");
7
+ const data_service_1 = require("../data.service");
8
+ const trash_service_1 = require("../trash.service");
9
9
  let BaseService = class BaseService extends api_base_1.APIBase {
10
10
  };
11
11
  BaseService = tslib_1.__decorate([
@@ -92,5 +92,9 @@ class TimeSeriesService extends BaseService {
92
92
  const params = Array.isArray(names) ? { names: names.join() } : {};
93
93
  return this.httpClient.get(`${this.basePath}/asset/${assetId}`, { params, ...options });
94
94
  }
95
+ getMostRecentTimeSeriesValueByAssetAndTimeSeriesName(assetId, timeSeriesNames, options = {}) {
96
+ const params = Array.isArray(timeSeriesNames) ? { names: timeSeriesNames.join() } : {};
97
+ return this.httpClient.get(`${this.basePath}/asset/${assetId}/recent`, { params, ...options });
98
+ }
95
99
  }
96
100
  exports.TimeSeriesService = TimeSeriesService;
@@ -7,6 +7,7 @@ export interface UserSettings {
7
7
  applications: Application[];
8
8
  tableSettings: TableSetting[];
9
9
  favoriteLabelsOrder: Record<string, number>;
10
+ deletionRequested: boolean;
10
11
  }
11
12
  export interface Application {
12
13
  name: string;
@@ -1,18 +0,0 @@
1
- export interface Event {
2
- id?: string;
3
- name: string;
4
- description?: string;
5
- tags?: string[];
6
- readPermissions: string[];
7
- readWritePermissions: string[];
8
- assetRef?: string;
9
- assetRef$name?: string;
10
- alertRef?: string;
11
- tsRef?: string;
12
- eventRef?: string;
13
- cause: string;
14
- level: string;
15
- group?: string;
16
- createdAt?: string;
17
- updatedAt?: string;
18
- }