@hahnpro/hpc-api 2026.2.2 → 2026.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hahnpro/hpc-api",
3
- "version": "2026.2.2",
3
+ "version": "2026.2.3",
4
4
  "description": "Module for easy access to the HahnPRO Cloud API",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@microsoft/fetch-event-source": "2.0.1",
12
- "axios": "1.13.5",
12
+ "axios": "1.13.6",
13
13
  "eventsource": "4.1.0",
14
14
  "jose": "5.10.0",
15
15
  "jwt-decode": "4.0.0",
@@ -1,4 +1,50 @@
1
1
  import { Owner } from '.';
2
+ export declare enum AssistantMessageStatus {
3
+ ABORTING = "aborting",
4
+ PENDING = "pending",
5
+ PROCESSING = "processing",
6
+ COMPLETED = "completed",
7
+ FAILED = "failed"
8
+ }
9
+ export declare enum ToolMessageStatus {
10
+ PENDING = "pending",
11
+ PROCESSING = "processing",
12
+ COMPLETED = "completed",
13
+ FAILED = "failed",
14
+ AWAITING_USER_INTERACTION = "awaitingUserInteraction"
15
+ }
16
+ export declare enum FinishReason {
17
+ STOP = "stop",
18
+ LENGTH = "length",
19
+ CONTENT_FILTER = "content-filter",
20
+ TOOL_CALLS = "tool-calls",
21
+ ERROR = "error",
22
+ OTHER = "other",
23
+ UNKNOWN = "unknown"
24
+ }
25
+ export declare enum AvailableLanguages {
26
+ GERMAN = "de",
27
+ ENGLISH = "en"
28
+ }
29
+ export declare enum Role {
30
+ USER = "user",
31
+ ASSISTANT = "assistant",
32
+ SYSTEM = "system",
33
+ TOOL = "tool"
34
+ }
35
+ export declare enum ToolType {
36
+ HANDOFF = "handoff",
37
+ CHOICE = "choice",
38
+ ACTION = "action"
39
+ }
40
+ export declare enum ReferenceType {
41
+ ASSET = "asset",
42
+ ASSET_TYPE = "asset-type",
43
+ DOCUMENT = "document",
44
+ EVENT = "event",
45
+ TASK = "task",
46
+ WEB_SOURCE = "web-source"
47
+ }
2
48
  export interface AiAssistant {
3
49
  id: string;
4
50
  agent?: string;
@@ -7,7 +53,6 @@ export interface AiAssistant {
7
53
  icon?: string;
8
54
  readPermissions?: string[];
9
55
  }
10
- type AvailableLanguages = 'de' | 'en';
11
56
  interface AssistantLabels {
12
57
  name: string;
13
58
  description?: string;
@@ -22,10 +67,10 @@ interface BaseMessage {
22
67
  }
23
68
  export interface AssistantMessage extends BaseMessage {
24
69
  responseId?: string;
25
- role: 'assistant';
70
+ role: Role.ASSISTANT;
26
71
  content?: string;
27
72
  agentStack?: string[];
28
- status?: 'pending' | 'processing' | 'completed' | 'failed';
73
+ status?: AssistantMessageStatus;
29
74
  toolCalls?: {
30
75
  type: 'tool-call';
31
76
  toolCallId: string;
@@ -40,7 +85,7 @@ export interface AssistantMessage extends BaseMessage {
40
85
  result: any;
41
86
  }[];
42
87
  contextVariables?: Record<string, unknown>;
43
- finishReason?: 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';
88
+ finishReason?: FinishReason;
44
89
  traceId?: string;
45
90
  feedback?: {
46
91
  value: number;
@@ -48,21 +93,21 @@ export interface AssistantMessage extends BaseMessage {
48
93
  };
49
94
  }
50
95
  export interface SystemMessage extends BaseMessage {
51
- role: 'system';
96
+ role: Role.SYSTEM;
52
97
  }
53
98
  export interface ToolMessage extends BaseMessage {
54
- role: 'tool';
99
+ role: Role.TOOL;
55
100
  toolCallId?: string;
56
101
  toolName?: string;
57
- toolType?: 'handoff' | 'choice' | 'action';
102
+ toolType?: ToolType;
58
103
  agentStack?: string[];
59
- status?: 'pending' | 'processing' | 'completed' | 'failed' | 'awaitingUserInteraction';
104
+ status?: ToolMessageStatus;
60
105
  result?: any;
61
106
  args?: any;
62
107
  contextVariables?: Record<string, unknown>;
63
108
  }
64
109
  export interface UserMessage extends BaseMessage {
65
- role: 'user';
110
+ role: Role.USER;
66
111
  content?: string;
67
112
  hidden?: boolean;
68
113
  useWebSearch?: boolean;
@@ -1,2 +1,56 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReferenceType = exports.ToolType = exports.Role = exports.AvailableLanguages = exports.FinishReason = exports.ToolMessageStatus = exports.AssistantMessageStatus = void 0;
4
+ var AssistantMessageStatus;
5
+ (function (AssistantMessageStatus) {
6
+ AssistantMessageStatus["ABORTING"] = "aborting";
7
+ AssistantMessageStatus["PENDING"] = "pending";
8
+ AssistantMessageStatus["PROCESSING"] = "processing";
9
+ AssistantMessageStatus["COMPLETED"] = "completed";
10
+ AssistantMessageStatus["FAILED"] = "failed";
11
+ })(AssistantMessageStatus || (exports.AssistantMessageStatus = AssistantMessageStatus = {}));
12
+ var ToolMessageStatus;
13
+ (function (ToolMessageStatus) {
14
+ ToolMessageStatus["PENDING"] = "pending";
15
+ ToolMessageStatus["PROCESSING"] = "processing";
16
+ ToolMessageStatus["COMPLETED"] = "completed";
17
+ ToolMessageStatus["FAILED"] = "failed";
18
+ ToolMessageStatus["AWAITING_USER_INTERACTION"] = "awaitingUserInteraction";
19
+ })(ToolMessageStatus || (exports.ToolMessageStatus = ToolMessageStatus = {}));
20
+ var FinishReason;
21
+ (function (FinishReason) {
22
+ FinishReason["STOP"] = "stop";
23
+ FinishReason["LENGTH"] = "length";
24
+ FinishReason["CONTENT_FILTER"] = "content-filter";
25
+ FinishReason["TOOL_CALLS"] = "tool-calls";
26
+ FinishReason["ERROR"] = "error";
27
+ FinishReason["OTHER"] = "other";
28
+ FinishReason["UNKNOWN"] = "unknown";
29
+ })(FinishReason || (exports.FinishReason = FinishReason = {}));
30
+ var AvailableLanguages;
31
+ (function (AvailableLanguages) {
32
+ AvailableLanguages["GERMAN"] = "de";
33
+ AvailableLanguages["ENGLISH"] = "en";
34
+ })(AvailableLanguages || (exports.AvailableLanguages = AvailableLanguages = {}));
35
+ var Role;
36
+ (function (Role) {
37
+ Role["USER"] = "user";
38
+ Role["ASSISTANT"] = "assistant";
39
+ Role["SYSTEM"] = "system";
40
+ Role["TOOL"] = "tool";
41
+ })(Role || (exports.Role = Role = {}));
42
+ var ToolType;
43
+ (function (ToolType) {
44
+ ToolType["HANDOFF"] = "handoff";
45
+ ToolType["CHOICE"] = "choice";
46
+ ToolType["ACTION"] = "action";
47
+ })(ToolType || (exports.ToolType = ToolType = {}));
48
+ var ReferenceType;
49
+ (function (ReferenceType) {
50
+ ReferenceType["ASSET"] = "asset";
51
+ ReferenceType["ASSET_TYPE"] = "asset-type";
52
+ ReferenceType["DOCUMENT"] = "document";
53
+ ReferenceType["EVENT"] = "event";
54
+ ReferenceType["TASK"] = "task";
55
+ ReferenceType["WEB_SOURCE"] = "web-source";
56
+ })(ReferenceType || (exports.ReferenceType = ReferenceType = {}));
@@ -13,5 +13,18 @@ export interface Event extends Resource {
13
13
  createdBy?: Author;
14
14
  updatedBy?: Author;
15
15
  }
16
- export type EventLevel = 'INFO' | 'OK' | 'WARNING' | 'CRITICAL';
16
+ export declare enum EventLevel {
17
+ Info = "INFO",
18
+ OK = "OK",
19
+ Warning = "WARNING",
20
+ Critical = "CRITICAL"
21
+ }
17
22
  export type CreateEventDto = Omit<Event, 'id' | 'assetRef$name' | 'createdAt' | 'updatedAt'>;
23
+ export interface EventCountByAsset {
24
+ id: string;
25
+ critical: number;
26
+ warning: number;
27
+ level: EventLevel;
28
+ eventId?: string;
29
+ eventName?: string;
30
+ }
@@ -1,2 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventLevel = void 0;
4
+ var EventLevel;
5
+ (function (EventLevel) {
6
+ EventLevel["Info"] = "INFO";
7
+ EventLevel["OK"] = "OK";
8
+ EventLevel["Warning"] = "WARNING";
9
+ EventLevel["Critical"] = "CRITICAL";
10
+ })(EventLevel || (exports.EventLevel = EventLevel = {}));
@@ -6,7 +6,7 @@ export type { Author } from './author.interface';
6
6
  export type { Content, ContentAnalysis } from './content.interface';
7
7
  export type { DataInterface, Filter, Paginated, RequestParameter } from './data.interface';
8
8
  export type { Endpoint, EndpointLog, NotificationPayload } from './endpoint.interface';
9
- export type { CreateEventDto, Event, EventLevel } from './event.interface';
9
+ export type { CreateEventDto, Event, EventCountByAsset } from './event.interface';
10
10
  export type { FlowConnection, FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog, FlowModel, FlowModelElement, Metrics, Stats, StatsValues, } from './flow-deployment.interface';
11
11
  export type { FlowFunctionDto, FlowFunctionRevision } from './flow-function.interface';
12
12
  export type { FlowModule } from './flow-module.interface';
@@ -34,9 +34,11 @@ export type { LogbookEntry, LogbookEntryDto, Task, Assignee } from './task.inter
34
34
  export type { TimeSeries, TimeSeriesBucket, TimeSeriesCondition, TimeSeriesValue, TS_GROUPS } from './timeseries.interface';
35
35
  export type { Application, Consent, Permission, TableSetting, TableSettingProfile, UserSettings } from './user-settings.interface';
36
36
  export type { VaultSecret } from './vault.interface';
37
+ export { AssistantMessageStatus, AvailableLanguages, FinishReason, ReferenceType, Role, ToolMessageStatus, ToolType } from './ai.interface';
37
38
  export { AlertLevel, AlertType } from './alert.interface';
38
39
  export { ReturnType } from './content.interface';
39
40
  export { instanceOfTimePeriod } from './data.interface';
41
+ export { EventLevel } from './event.interface';
40
42
  export { LABEL_COLORS } from './label.interface';
41
43
  export { OwnerType } from './owner.interface';
42
44
  export { ObjectReferenceType } from './reference.interface';
@@ -1,8 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AssigneeType = exports.TaskStatus = exports.Priority = exports.resourceApiPathToTypeMap = exports.ResourceApiPath = exports.ResourceType = exports.PermissionType = exports.ObjectReferenceType = exports.OwnerType = exports.LABEL_COLORS = exports.instanceOfTimePeriod = exports.ReturnType = exports.AlertType = exports.AlertLevel = exports.OrganizationMembersInviteOrAdd = void 0;
3
+ exports.AssigneeType = exports.TaskStatus = exports.Priority = exports.resourceApiPathToTypeMap = exports.ResourceApiPath = exports.ResourceType = exports.PermissionType = exports.ObjectReferenceType = exports.OwnerType = exports.LABEL_COLORS = exports.EventLevel = exports.instanceOfTimePeriod = exports.ReturnType = exports.AlertType = exports.AlertLevel = exports.ToolType = exports.ToolMessageStatus = exports.Role = exports.ReferenceType = exports.FinishReason = exports.AvailableLanguages = exports.AssistantMessageStatus = exports.OrganizationMembersInviteOrAdd = void 0;
4
4
  var organization_interface_1 = require("./organization.interface");
5
5
  Object.defineProperty(exports, "OrganizationMembersInviteOrAdd", { enumerable: true, get: function () { return organization_interface_1.OrganizationMembersInviteOrAdd; } });
6
+ var ai_interface_1 = require("./ai.interface");
7
+ Object.defineProperty(exports, "AssistantMessageStatus", { enumerable: true, get: function () { return ai_interface_1.AssistantMessageStatus; } });
8
+ Object.defineProperty(exports, "AvailableLanguages", { enumerable: true, get: function () { return ai_interface_1.AvailableLanguages; } });
9
+ Object.defineProperty(exports, "FinishReason", { enumerable: true, get: function () { return ai_interface_1.FinishReason; } });
10
+ Object.defineProperty(exports, "ReferenceType", { enumerable: true, get: function () { return ai_interface_1.ReferenceType; } });
11
+ Object.defineProperty(exports, "Role", { enumerable: true, get: function () { return ai_interface_1.Role; } });
12
+ Object.defineProperty(exports, "ToolMessageStatus", { enumerable: true, get: function () { return ai_interface_1.ToolMessageStatus; } });
13
+ Object.defineProperty(exports, "ToolType", { enumerable: true, get: function () { return ai_interface_1.ToolType; } });
6
14
  var alert_interface_1 = require("./alert.interface");
7
15
  Object.defineProperty(exports, "AlertLevel", { enumerable: true, get: function () { return alert_interface_1.AlertLevel; } });
8
16
  Object.defineProperty(exports, "AlertType", { enumerable: true, get: function () { return alert_interface_1.AlertType; } });
@@ -10,6 +18,8 @@ var content_interface_1 = require("./content.interface");
10
18
  Object.defineProperty(exports, "ReturnType", { enumerable: true, get: function () { return content_interface_1.ReturnType; } });
11
19
  var data_interface_1 = require("./data.interface");
12
20
  Object.defineProperty(exports, "instanceOfTimePeriod", { enumerable: true, get: function () { return data_interface_1.instanceOfTimePeriod; } });
21
+ var event_interface_1 = require("./event.interface");
22
+ Object.defineProperty(exports, "EventLevel", { enumerable: true, get: function () { return event_interface_1.EventLevel; } });
13
23
  var label_interface_1 = require("./label.interface");
14
24
  Object.defineProperty(exports, "LABEL_COLORS", { enumerable: true, get: function () { return label_interface_1.LABEL_COLORS; } });
15
25
  var owner_interface_1 = require("./owner.interface");
@@ -1,5 +1,18 @@
1
1
  export declare enum ObjectReferenceType {
2
- TEST_REFERENCE = "test_reference"
2
+ /**
3
+ * Used for testing purposes to simulate references between objects.
4
+ */
5
+ TEST_REFERENCE = "test_reference",
6
+ /**
7
+ * Marks an Object as created by an AI-Thread.
8
+ * Object is linked to the AI-Thread's ID.
9
+ */
10
+ CREATED_BY_THREAD = "created_by_thread",
11
+ /**
12
+ * Marks an Object as updated by an AI-Thread.
13
+ * Object is linked to the AI-Thread's ID.'
14
+ */
15
+ UPDATED_BY_THREAD = "updated_by_thread"
3
16
  }
4
17
  export interface ObjectReference {
5
18
  id: number;
@@ -14,6 +27,11 @@ export interface ObjectReference {
14
27
  relSrc: string;
15
28
  displayData: Record<string, unknown>;
16
29
  tgtDeleted: boolean;
30
+ orgId?: string;
31
+ srcReadPermissions?: string[];
32
+ srcReadWritePermissions?: string[];
33
+ tgtReadPermissions?: string[];
34
+ tgtReadWritePermissions?: string[];
17
35
  }
18
36
  export interface CreateReferenceDto {
19
37
  srcId: string;
@@ -22,8 +40,17 @@ export interface CreateReferenceDto {
22
40
  tgtType: string;
23
41
  relSrc: string;
24
42
  relType: ObjectReferenceType;
25
- displayData: Record<string, unknown>;
43
+ displayData: {
44
+ src?: Record<string, unknown>;
45
+ tgt?: Record<string, unknown>;
46
+ [key: string]: unknown;
47
+ };
26
48
  tgtDeleted?: boolean;
49
+ orgId?: string;
50
+ srcReadPermissions?: string[];
51
+ srcReadWritePermissions?: string[];
52
+ tgtReadPermissions?: string[];
53
+ tgtReadWritePermissions?: string[];
27
54
  }
28
55
  export interface ReferencesQuery {
29
56
  objId: string;
@@ -3,5 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ObjectReferenceType = void 0;
4
4
  var ObjectReferenceType;
5
5
  (function (ObjectReferenceType) {
6
+ /**
7
+ * Used for testing purposes to simulate references between objects.
8
+ */
6
9
  ObjectReferenceType["TEST_REFERENCE"] = "test_reference";
10
+ /**
11
+ * Marks an Object as created by an AI-Thread.
12
+ * Object is linked to the AI-Thread's ID.
13
+ */
14
+ ObjectReferenceType["CREATED_BY_THREAD"] = "created_by_thread";
15
+ /**
16
+ * Marks an Object as updated by an AI-Thread.
17
+ * Object is linked to the AI-Thread's ID.'
18
+ */
19
+ ObjectReferenceType["UPDATED_BY_THREAD"] = "updated_by_thread";
7
20
  })(ObjectReferenceType || (exports.ObjectReferenceType = ObjectReferenceType = {}));
@@ -11,10 +11,12 @@ export declare enum ResourceType {
11
11
  FLOWFUNCTION = "flowfunction",
12
12
  FLOWMODULE = "flowmodule",
13
13
  LABEL = "label",
14
+ LOGBOOKENTRY = "logbookentry",
14
15
  NOTIFICATIONENDPOINT = "notificationendpoint",
15
16
  NOTIFICATIONRULE = "notificationrule",
16
17
  SECRET = "secret",
17
18
  TIMESERIES = "timeseries",
19
+ THREAD = "thread",
18
20
  TASK = "task",
19
21
  UNKNOWN = "unknown"
20
22
  }
@@ -13,10 +13,12 @@ var ResourceType;
13
13
  ResourceType["FLOWFUNCTION"] = "flowfunction";
14
14
  ResourceType["FLOWMODULE"] = "flowmodule";
15
15
  ResourceType["LABEL"] = "label";
16
+ ResourceType["LOGBOOKENTRY"] = "logbookentry";
16
17
  ResourceType["NOTIFICATIONENDPOINT"] = "notificationendpoint";
17
18
  ResourceType["NOTIFICATIONRULE"] = "notificationrule";
18
19
  ResourceType["SECRET"] = "secret";
19
20
  ResourceType["TIMESERIES"] = "timeseries";
21
+ ResourceType["THREAD"] = "thread";
20
22
  ResourceType["TASK"] = "task";
21
23
  ResourceType["UNKNOWN"] = "unknown";
22
24
  })(ResourceType || (exports.ResourceType = ResourceType = {}));
@@ -1,7 +1,6 @@
1
- import { AiMockService, AlertMockService, AssetMockService, AssetTypesMockService, ContentMockService, EndpointMockService, EventMockService, FlowDeploymentMockService, FlowFunctionsMockService, FlowMockService, FlowModulesMockService, HttpClientMockService, LabelMockService, NotificationMockService, NotificationRulesMockService, OrganizationsAdministrationMockService, OrganizationsMockService, OrganizationsResourcesMockService, SearchMockService, TaskMockService, TimeseriesMockService, UserMockService, VaultMockService } from '.';
1
+ import { AiMockService, AlertMockService, AssetMockService, AssetTypesMockService, ContentMockService, EndpointMockService, EventMockService, FlowDeploymentMockService, FlowFunctionsMockService, FlowMockService, FlowModulesMockService, HttpClientMockService, LabelMockService, NotificationMockService, NotificationRulesMockService, ObjectReferenceMockService, OrganizationsAdministrationMockService, OrganizationsMockService, OrganizationsResourcesMockService, SearchMockService, TaskMockService, TimeseriesMockService, UserMockService, VaultMockService } from '.';
2
2
  import { API } from '../api';
3
- import { Artifact, Asset, AssetRevision, AssetType, Content, Endpoint, Event, FlowDeployment, FlowDiagram, FlowDto, FlowFunctionDto, FlowFunctionRevision, FlowModule, FlowRevision, Label, Notification, Organization, Secret, Task, TimeSeries, TimeSeriesValue, VaultSecret } from '../interfaces';
4
- import { ObjectReferenceService } from '../services/reference.service';
3
+ import { Artifact, Asset, AssetRevision, AssetType, Content, Endpoint, Event, FlowDeployment, FlowDiagram, FlowDto, FlowFunctionDto, FlowFunctionRevision, FlowModule, FlowRevision, Label, Notification, ObjectReference, Organization, Secret, Task, TimeSeries, TimeSeriesValue, VaultSecret } from '../interfaces';
5
4
  export interface MockAPIInitData {
6
5
  assets?: AssetInit[];
7
6
  assetRevisions?: AssetRevisionInit[];
@@ -23,6 +22,7 @@ export interface MockAPIInitData {
23
22
  vault?: VaultSecretInit[];
24
23
  notifications?: NotificationInit[];
25
24
  organizations?: OrganizationInit[];
25
+ objectReferences?: ObjectReferenceInit[];
26
26
  resourceSetNames?: string[];
27
27
  }
28
28
  export declare class MockAPI implements API {
@@ -50,7 +50,7 @@ export declare class MockAPI implements API {
50
50
  timeSeries: TimeseriesMockService;
51
51
  users: UserMockService;
52
52
  vault: VaultMockService;
53
- objectReferences: ObjectReferenceService;
53
+ objectReferences: ObjectReferenceMockService;
54
54
  constructor(initData: MockAPIInitData);
55
55
  getEverything(): Promise<{}>;
56
56
  }
@@ -89,6 +89,7 @@ export type LabelInit = AtLeast<Label, 'id' | 'name'>;
89
89
  export type VaultSecretInit = AtLeast<VaultSecret, 'name' | 'secret'>;
90
90
  export type NotificationInit = AtLeast<Notification, 'id' | 'name' | 'userId' | 'notificationType'>;
91
91
  export type OrganizationInit = AtLeast<Organization, 'id' | 'name'>;
92
+ export type ObjectReferenceInit = AtLeast<ObjectReference, 'id' | 'src' | 'tgt' | 'srcType' | 'tgtType' | 'relType'>;
92
93
  export interface UserInit {
93
94
  roles: string[];
94
95
  }
@@ -6,8 +6,7 @@ const interfaces_1 = require("../interfaces");
6
6
  class MockAPI {
7
7
  constructor(initData) {
8
8
  this.proxy = null;
9
- this.objectReferences = null;
10
- const { assets = [], assetRevisions = [], contents = [], endpoints = [], secrets = [], timeSeries = [], tasks = [], events = [], users, flows = [], flowRevisions = [], deployments = [], functions = [], functionRevisions = [], modules = [], diagrams = [], labels = [], vault = [], notifications = [], organizations = [], resourceSetNames = [], } = initData;
9
+ const { assets = [], assetRevisions = [], contents = [], endpoints = [], secrets = [], timeSeries = [], tasks = [], events = [], users, flows = [], flowRevisions = [], deployments = [], functions = [], functionRevisions = [], modules = [], diagrams = [], labels = [], vault = [], notifications = [], organizations = [], objectReferences = [], resourceSetNames = [], } = initData;
11
10
  // convert init data to normal data that the services usually use
12
11
  const assetTypes = assets
13
12
  .map((v) => v.type)
@@ -176,6 +175,15 @@ class MockAPI {
176
175
  ...v,
177
176
  domains: v.domains ?? [],
178
177
  }));
178
+ const objectReferences1 = objectReferences.map((v) => ({
179
+ ...v,
180
+ createdAt: v.createdAt ?? Date.now(),
181
+ updatedAt: v.updatedAt ?? Date.now(),
182
+ createdBy: v.createdBy ?? 'nobody',
183
+ relSrc: v.relSrc ?? 'mock-api',
184
+ displayData: v.displayData ?? {},
185
+ tgtDeleted: v.tgtDeleted ?? false,
186
+ }));
179
187
  this.ai = new _1.AiMockService();
180
188
  this.alerts = new _1.AlertMockService([]);
181
189
  this.assets = new _1.AssetMockService(this, assets1, assetRevisions1);
@@ -195,6 +203,7 @@ class MockAPI {
195
203
  this.organizationsAdministration = new _1.OrganizationsAdministrationMockService(this.organizations);
196
204
  this.organizationsResources = new _1.OrganizationsResourcesMockService(resourceSetNames);
197
205
  this.proxy = null;
206
+ this.objectReferences = new _1.ObjectReferenceMockService(objectReferences1);
198
207
  this.search = new _1.SearchMockService();
199
208
  this.tasks = new _1.TaskMockService(tasks1);
200
209
  this.timeSeries = new _1.TimeseriesMockService(timeSeries1, timeSeriesValues);
@@ -13,6 +13,7 @@ export declare class AssetTypesMockService extends BaseService implements AssetT
13
13
  addOne(dto: AssetType): Promise<AssetType>;
14
14
  deleteOne(id: string, deleteQuery?: DeleteAssetTypeQuery): Promise<any>;
15
15
  updateOne(id: string, dto: AssetType): Promise<AssetType>;
16
+ getAssetCount(id: string): Promise<number>;
16
17
  getRevisions(id: string): Promise<Paginated<AssetTypeRevision>>;
17
18
  rollback(id: string, revisionId: string): Promise<AssetType>;
18
19
  deleteRevision(assetId: string, revisionId: string): Promise<any>;
@@ -53,6 +53,9 @@ class AssetTypesMockService extends BaseService {
53
53
  const assetType = await this.addOne(dto);
54
54
  return Promise.resolve(assetType);
55
55
  }
56
+ getAssetCount(id) {
57
+ return Promise.resolve(0);
58
+ }
56
59
  getRevisions(id) {
57
60
  const revisions = this.revisions.filter((revision) => revision.originalId === id);
58
61
  const page = {
@@ -1,4 +1,4 @@
1
- import { Event } from '../interfaces';
1
+ import { Event, EventCountByAsset } from '../interfaces';
2
2
  import { EventService } from '../services';
3
3
  import { APIBaseMock } from './api-base.mock';
4
4
  import { DataMockService } from './data.mock.service';
@@ -9,7 +9,9 @@ declare class BaseService extends APIBaseMock<Event> {
9
9
  }
10
10
  export declare class EventMockService extends BaseService implements EventService {
11
11
  constructor(events: Event[]);
12
+ getEventCountByAsset(assetId: string): Promise<EventCountByAsset>;
12
13
  getLastEventByAssetAndGroup(assetId: string, group: string): Promise<Event>;
13
14
  getLastEventByAssetAndGroups(assetId: string, groups: string[]): Promise<Record<string, string>>;
15
+ countEventsByGroup(group: string, assetId?: string): Promise<number>;
14
16
  }
15
17
  export {};
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventMockService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ts_mixer_1 = require("ts-mixer");
6
+ const interfaces_1 = require("../interfaces");
6
7
  const api_base_mock_1 = require("./api-base.mock");
7
8
  const data_mock_service_1 = require("./data.mock.service");
8
9
  const share_mock_service_1 = require("./share.mock.service");
@@ -17,11 +18,38 @@ class EventMockService extends BaseService {
17
18
  super();
18
19
  this.data = events;
19
20
  }
21
+ getEventCountByAsset(assetId) {
22
+ const events = this.data.filter((event) => event.assetRef === assetId);
23
+ const critical = events.filter((event) => event.level === interfaces_1.EventLevel.Critical).length;
24
+ const warning = events.filter((event) => event.level === interfaces_1.EventLevel.Warning).length;
25
+ const latestEvent = events[events.length - 1];
26
+ let level = interfaces_1.EventLevel.OK;
27
+ if (critical > 0) {
28
+ level = interfaces_1.EventLevel.Critical;
29
+ }
30
+ else if (warning > 0) {
31
+ level = interfaces_1.EventLevel.Warning;
32
+ }
33
+ else if (latestEvent?.level) {
34
+ level = latestEvent.level;
35
+ }
36
+ return Promise.resolve({
37
+ id: assetId,
38
+ critical,
39
+ warning,
40
+ level,
41
+ eventId: latestEvent?.id,
42
+ eventName: latestEvent?.cause ?? latestEvent?.id,
43
+ });
44
+ }
20
45
  getLastEventByAssetAndGroup(assetId, group) {
21
46
  return Promise.resolve(this.data[this.data.length - 1]);
22
47
  }
23
48
  getLastEventByAssetAndGroups(assetId, groups) {
24
49
  throw new Error('Method not implemented.');
25
50
  }
51
+ countEventsByGroup(group, assetId) {
52
+ return Promise.resolve(this.data.filter((event) => event.group === group && (!assetId || event.assetRef === assetId)).length);
53
+ }
26
54
  }
27
55
  exports.EventMockService = EventMockService;
@@ -18,6 +18,7 @@ export { HttpClientMockService } from './http-client.mock.service';
18
18
  export { LabelMockService } from './label.mock.service';
19
19
  export { NotificationRulesMockService } from './notification-rules.mock.service';
20
20
  export { NotificationMockService } from './notification.mock.service';
21
+ export { ObjectReferenceMockService } from './object-reference.mock.service';
21
22
  export { OrganizationsAdministrationMockService } from './organizations-administration.mock.service';
22
23
  export { OrganizationsResourcesMockService } from './organizations-resources.mock.service';
23
24
  export { OrganizationsMockService } from './organizations.mock.service';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VaultMockService = exports.UserMockService = exports.TimeseriesMockService = exports.TaskMockService = exports.ShareMockService = exports.SearchMockService = exports.OrganizationsMockService = exports.OrganizationsResourcesMockService = exports.OrganizationsAdministrationMockService = exports.NotificationMockService = exports.NotificationRulesMockService = exports.LabelMockService = exports.HttpClientMockService = exports.FlowMockService = exports.FlowModulesMockService = exports.FlowFunctionsMockService = exports.FlowDeploymentMockService = exports.EventMockService = exports.EndpointMockService = exports.ContentMockService = exports.AssetTypesMockService = exports.AssetMockService = exports.AlertMockService = exports.AiMockService = exports.TrashMockService = exports.DataMockService = exports.APIBaseMock = exports.sortData = void 0;
3
+ exports.VaultMockService = exports.UserMockService = exports.TimeseriesMockService = exports.TaskMockService = exports.ShareMockService = exports.SearchMockService = exports.OrganizationsMockService = exports.OrganizationsResourcesMockService = exports.OrganizationsAdministrationMockService = exports.ObjectReferenceMockService = exports.NotificationMockService = exports.NotificationRulesMockService = exports.LabelMockService = exports.HttpClientMockService = exports.FlowMockService = exports.FlowModulesMockService = exports.FlowFunctionsMockService = exports.FlowDeploymentMockService = exports.EventMockService = exports.EndpointMockService = exports.ContentMockService = exports.AssetTypesMockService = exports.AssetMockService = exports.AlertMockService = exports.AiMockService = exports.TrashMockService = exports.DataMockService = exports.APIBaseMock = exports.sortData = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var utils_1 = require("./utils");
6
6
  Object.defineProperty(exports, "sortData", { enumerable: true, get: function () { return utils_1.sortData; } });
@@ -41,6 +41,8 @@ var notification_rules_mock_service_1 = require("./notification-rules.mock.servi
41
41
  Object.defineProperty(exports, "NotificationRulesMockService", { enumerable: true, get: function () { return notification_rules_mock_service_1.NotificationRulesMockService; } });
42
42
  var notification_mock_service_1 = require("./notification.mock.service");
43
43
  Object.defineProperty(exports, "NotificationMockService", { enumerable: true, get: function () { return notification_mock_service_1.NotificationMockService; } });
44
+ var object_reference_mock_service_1 = require("./object-reference.mock.service");
45
+ Object.defineProperty(exports, "ObjectReferenceMockService", { enumerable: true, get: function () { return object_reference_mock_service_1.ObjectReferenceMockService; } });
44
46
  var organizations_administration_mock_service_1 = require("./organizations-administration.mock.service");
45
47
  Object.defineProperty(exports, "OrganizationsAdministrationMockService", { enumerable: true, get: function () { return organizations_administration_mock_service_1.OrganizationsAdministrationMockService; } });
46
48
  var organizations_resources_mock_service_1 = require("./organizations-resources.mock.service");
@@ -0,0 +1,13 @@
1
+ import { DataMockService } from '.';
2
+ import { CreateReferenceDto, ObjectReference, ObjectReferenceType, ReferencesQuery, TokenOption } from '../interfaces';
3
+ import { ObjectReferenceService } from '../services/reference.service';
4
+ export declare class ObjectReferenceMockService extends DataMockService<ObjectReference> implements ObjectReferenceService {
5
+ constructor(initialData: ObjectReference[]);
6
+ find(query: ReferencesQuery, _options?: TokenOption): Promise<ObjectReference[]>;
7
+ findAll(objId: string, _options?: TokenOption): Promise<ObjectReference[]>;
8
+ create(dto: CreateReferenceDto, _options?: TokenOption): Promise<ObjectReference>;
9
+ update(referenceId: number, updateData: Partial<Omit<ObjectReference, 'id' | 'createdAt'>>, _options?: TokenOption): Promise<ObjectReference>;
10
+ deleteById(refId: string, _options?: TokenOption): Promise<void>;
11
+ deleteByReference(src: string, tgt: string, relType: ObjectReferenceType, _options?: TokenOption): Promise<void>;
12
+ checkConnection(srcId: string, tgtId: string, type?: ObjectReferenceType, _options?: TokenOption): Promise<boolean>;
13
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectReferenceMockService = void 0;
4
+ const _1 = require(".");
5
+ class ObjectReferenceMockService extends _1.DataMockService {
6
+ constructor(initialData) {
7
+ super();
8
+ this.data = initialData;
9
+ }
10
+ async find(query, _options = {}) {
11
+ return this.data.filter((ref) => {
12
+ const matchObjId = ref.src === query.objId || ref.tgt === query.objId;
13
+ if (!matchObjId) {
14
+ return false;
15
+ }
16
+ if (query.types && !query.types.includes(ref.relType)) {
17
+ return false;
18
+ }
19
+ if (query.objIsTgt !== undefined && (ref.tgt === query.objId) !== query.objIsTgt) {
20
+ return false;
21
+ }
22
+ if (query.objIsSrc !== undefined && (ref.src === query.objId) !== query.objIsSrc) {
23
+ return false;
24
+ }
25
+ // Note: connectedObjType filter logic could be added here if needed
26
+ return true;
27
+ });
28
+ }
29
+ async findAll(objId, _options = {}) {
30
+ return this.data.filter((ref) => ref.src === objId || ref.tgt === objId);
31
+ }
32
+ async create(dto, _options = {}) {
33
+ const newRef = {
34
+ id: Math.floor(Math.random() * 1000000),
35
+ src: dto.srcId,
36
+ tgt: dto.tgtId,
37
+ srcType: dto.srcType,
38
+ tgtType: dto.tgtType,
39
+ relType: dto.relType,
40
+ relSrc: dto.relSrc,
41
+ displayData: dto.displayData,
42
+ tgtDeleted: dto.tgtDeleted ?? false,
43
+ createdAt: Date.now(),
44
+ updatedAt: Date.now(),
45
+ createdBy: 'mock-user',
46
+ };
47
+ this.data.push(newRef);
48
+ return newRef;
49
+ }
50
+ async update(referenceId, updateData, _options = {}) {
51
+ const index = this.data.findIndex((ref) => ref.id === referenceId);
52
+ if (index === -1) {
53
+ throw new Error(`Reference with id ${referenceId} not found`);
54
+ }
55
+ this.data[index] = {
56
+ ...this.data[index],
57
+ ...updateData,
58
+ updatedAt: Date.now(),
59
+ };
60
+ return this.data[index];
61
+ }
62
+ async deleteById(refId, _options = {}) {
63
+ const id = parseInt(refId, 10);
64
+ this.data = this.data.filter((ref) => ref.id !== id);
65
+ }
66
+ async deleteByReference(src, tgt, relType, _options = {}) {
67
+ this.data = this.data.filter((ref) => !(ref.src === src && ref.tgt === tgt && ref.relType === relType));
68
+ }
69
+ async checkConnection(srcId, tgtId, type, _options = {}) {
70
+ return this.data.some((ref) => {
71
+ const matchIds = ref.src === srcId && ref.tgt === tgtId;
72
+ if (!matchIds) {
73
+ return false;
74
+ }
75
+ return !(type && ref.relType !== type);
76
+ });
77
+ }
78
+ }
79
+ exports.ObjectReferenceMockService = ObjectReferenceMockService;
@@ -11,6 +11,7 @@ declare class BaseService extends APIBase {
11
11
  export declare class AssetTypesService extends BaseService {
12
12
  constructor(httpClient: HttpClientService);
13
13
  deleteOne(id: string, deleteQuery?: DeleteAssetTypeQuery, options?: TokenOption): Promise<AssetType>;
14
+ getAssetCount(id: string, options?: TokenOption): Promise<number>;
14
15
  getRevisions(id: string, options?: TokenOption): Promise<Paginated<AssetType>>;
15
16
  rollback(id: string, revisionId: string, options?: TokenOption): Promise<AssetType>;
16
17
  deleteRevision(id: string, revisionId: string, options?: TokenOption): Promise<any>;
@@ -20,6 +20,9 @@ class AssetTypesService extends BaseService {
20
20
  deleteOne(id, deleteQuery = {}, options = {}) {
21
21
  return super.deleteOne(id, deleteQuery, options);
22
22
  }
23
+ getAssetCount(id, options = {}) {
24
+ return this.httpClient.get(`${this.basePath}/${id}/countAssets`, options);
25
+ }
23
26
  getRevisions(id, options = {}) {
24
27
  return this.httpClient.get(`${this.basePath}/${id}/revisions`, options);
25
28
  }
@@ -1,6 +1,6 @@
1
1
  import { DataService, HttpClientService } from '.';
2
2
  import { APIBase } from '../api-base';
3
- import { Event, TokenOption } from '../interfaces';
3
+ import { Event, EventCountByAsset, TokenOption } from '../interfaces';
4
4
  import { ShareService } from './share.service';
5
5
  interface BaseService extends DataService<Event>, ShareService {
6
6
  }
@@ -8,7 +8,9 @@ declare class BaseService extends APIBase {
8
8
  }
9
9
  export declare class EventService extends BaseService {
10
10
  constructor(httpClient: HttpClientService);
11
+ getEventCountByAsset(assetId: string, options?: TokenOption): Promise<EventCountByAsset>;
11
12
  getLastEventByAssetAndGroup(assetId: string, group: string, options?: TokenOption): Promise<Event>;
12
13
  getLastEventByAssetAndGroups(assetId: string, groups: string[], options?: TokenOption): Promise<Record<string, string>>;
14
+ countEventsByGroup(group: string, assetId?: string, options?: TokenOption): Promise<number>;
13
15
  }
14
16
  export {};
@@ -16,6 +16,9 @@ class EventService extends BaseService {
16
16
  constructor(httpClient) {
17
17
  super(httpClient, '/events');
18
18
  }
19
+ getEventCountByAsset(assetId, options = {}) {
20
+ return this.httpClient.get(`${this.basePath}/countByAsset/${assetId}`, options);
21
+ }
19
22
  getLastEventByAssetAndGroup(assetId, group, options = {}) {
20
23
  return this.httpClient.get(`${this.basePath}/last/${assetId}/${group}`, options);
21
24
  }
@@ -23,5 +26,9 @@ class EventService extends BaseService {
23
26
  const params = Array.isArray(groups) ? { groups: groups.join() } : {};
24
27
  return this.httpClient.get(`${this.basePath}/asset/${assetId}/last`, { params, ...options });
25
28
  }
29
+ countEventsByGroup(group, assetId, options = {}) {
30
+ const params = assetId ? { asset: assetId } : {};
31
+ return this.httpClient.get(`${this.basePath}/countByGroup/${group}`, { params, ...options });
32
+ }
26
33
  }
27
34
  exports.EventService = EventService;
@@ -1,13 +1,13 @@
1
- import { CreateReferenceDto, ObjectReference, ObjectReferenceType, ReferencesQuery } from '../interfaces';
1
+ import { CreateReferenceDto, ObjectReference, ObjectReferenceType, ReferencesQuery, TokenOption } from '../interfaces';
2
+ import { DataService } from './data.service';
2
3
  import { HttpClientService } from './http-client.service';
3
- export declare class ObjectReferenceService {
4
- private readonly httpClient;
4
+ export declare class ObjectReferenceService extends DataService<ObjectReference> {
5
5
  constructor(httpClient: HttpClientService);
6
- find(query: ReferencesQuery): Promise<ObjectReference[]>;
7
- findAll(objId: string): Promise<ObjectReference[]>;
8
- create(dto: CreateReferenceDto): Promise<ObjectReference>;
9
- update(referenceId: number, updateData: Partial<Omit<ObjectReference, 'id' | 'createdAt'>>): Promise<ObjectReference>;
10
- deleteById(refId: string): Promise<void>;
11
- deleteByReference(src: string, tgt: string, relType: ObjectReferenceType): Promise<void>;
12
- checkConnection(srcId: string, tgtId: string, type?: ObjectReferenceType): Promise<boolean>;
6
+ find(query: ReferencesQuery, options?: TokenOption): Promise<ObjectReference[]>;
7
+ findAll(objId: string, options?: TokenOption): Promise<ObjectReference[]>;
8
+ create(dto: CreateReferenceDto, options?: TokenOption): Promise<ObjectReference>;
9
+ update(referenceId: number, updateData: Partial<Omit<ObjectReference, 'id' | 'createdAt'>>, options?: TokenOption): Promise<ObjectReference>;
10
+ deleteById(refId: string, options?: TokenOption): Promise<void>;
11
+ deleteByReference(src: string, tgt: string, relType: ObjectReferenceType, options?: TokenOption): Promise<void>;
12
+ checkConnection(srcId: string, tgtId: string, type?: ObjectReferenceType, options?: TokenOption): Promise<boolean>;
13
13
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ObjectReferenceService = void 0;
4
- class ObjectReferenceService {
4
+ const data_service_1 = require("./data.service");
5
+ class ObjectReferenceService extends data_service_1.DataService {
5
6
  constructor(httpClient) {
6
- this.httpClient = httpClient;
7
+ super(httpClient, '/references');
7
8
  }
8
- async find(query) {
9
+ async find(query, options = {}) {
9
10
  const params = new URLSearchParams();
10
11
  params.append('objId', query.objId);
11
12
  if (query.types) {
@@ -20,31 +21,31 @@ class ObjectReferenceService {
20
21
  if (query.objIsSrc !== undefined) {
21
22
  params.append('objIsSrc', query.objIsSrc.toString());
22
23
  }
23
- return await this.httpClient.get(`/references?${params.toString()}`);
24
+ return await this.httpClient.get(`/references?${params.toString()}`, options);
24
25
  }
25
- async findAll(objId) {
26
- return await this.httpClient.get(`/references/${objId}`);
26
+ async findAll(objId, options = {}) {
27
+ return await this.httpClient.get(`/references/${objId}`, options);
27
28
  }
28
- async create(dto) {
29
- return await this.httpClient.post('/references', dto);
29
+ async create(dto, options = {}) {
30
+ return await this.httpClient.post('/references', dto, options);
30
31
  }
31
- async update(referenceId, updateData) {
32
- return await this.httpClient.put(`/references/${referenceId}`, updateData);
32
+ async update(referenceId, updateData, options = {}) {
33
+ return await this.httpClient.put(`/references/${referenceId}`, updateData, options);
33
34
  }
34
- async deleteById(refId) {
35
- await this.httpClient.delete(`/references/${refId}`);
35
+ async deleteById(refId, options = {}) {
36
+ await this.httpClient.delete(`/references/${refId}`, options);
36
37
  }
37
- async deleteByReference(src, tgt, relType) {
38
- await this.httpClient.delete(`/references/${src}/${tgt}/${relType}`);
38
+ async deleteByReference(src, tgt, relType, options = {}) {
39
+ await this.httpClient.delete(`/references/${src}/${tgt}/${relType}`, options);
39
40
  }
40
- async checkConnection(srcId, tgtId, type) {
41
+ async checkConnection(srcId, tgtId, type, options = {}) {
41
42
  const params = new URLSearchParams();
42
43
  if (type) {
43
44
  params.append('type', type.toString());
44
45
  }
45
46
  const queryString = params.toString();
46
47
  const url = `/references/connected/${srcId}/${tgtId}${queryString ? `?${queryString}` : ''}`;
47
- return await this.httpClient.get(url);
48
+ return await this.httpClient.get(url, options);
48
49
  }
49
50
  }
50
51
  exports.ObjectReferenceService = ObjectReferenceService;