@hahnpro/hpc-api 2026.6.5 → 2026.6.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @hahnpro/hpc-api
2
2
 
3
+ # 2026.6.6
4
+
5
+ - Added One-Shot-AI Endpoint
6
+
3
7
  # 2026.6.5
4
8
 
5
9
  - Added new endpoints to the Dataspace API service client
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hahnpro/hpc-api",
3
- "version": "2026.6.5",
3
+ "version": "2026.6.6",
4
4
  "description": "Module for easy access to the HahnPRO Cloud API",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -256,4 +256,10 @@ export interface GenericResourceSelectionOption extends BaseResourceSelectionOpt
256
256
  resourceType: Exclude<ReferenceType, ReferenceType.ASSET | ReferenceType.DOCUMENT | ReferenceType.LOGBOOK_ENTRY>;
257
257
  }
258
258
  export type ResourceSelectionOption = AssetResourceSelectionOption | DocumentResourceSelectionOption | LogbookEntryResourceSelectionOption | GenericResourceSelectionOption;
259
+ export declare enum OneShotTaskId {
260
+ ASSET_ASSISTANT_PARTIAL_SUMMARY = "ASSET_ASSISTANT_PARTIAL_SUMMARY"
261
+ }
262
+ export interface OneShotTaskResult {
263
+ text: string;
264
+ }
259
265
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AiAssistantId = exports.HandOffTool = exports.ReturnToReferrerTool = exports.ToolName = exports.AgentId = exports.ReferenceType = exports.AttachmentHandlingMode = exports.ToolType = exports.ErrorMessageType = exports.Role = exports.AvailableLanguages = exports.FinishReason = exports.ToolMessageStatus = exports.AssistantMessageStatus = void 0;
3
+ exports.OneShotTaskId = exports.AiAssistantId = exports.HandOffTool = exports.ReturnToReferrerTool = exports.ToolName = exports.AgentId = exports.ReferenceType = exports.AttachmentHandlingMode = exports.ToolType = exports.ErrorMessageType = exports.Role = exports.AvailableLanguages = exports.FinishReason = exports.ToolMessageStatus = exports.AssistantMessageStatus = void 0;
4
4
  var AssistantMessageStatus;
5
5
  (function (AssistantMessageStatus) {
6
6
  AssistantMessageStatus["ABORTING"] = "aborting";
@@ -137,3 +137,7 @@ var AiAssistantId;
137
137
  AiAssistantId["REPORT"] = "report-assistant";
138
138
  AiAssistantId["AXALTA_INCIDENT"] = "axalta-incident-assistant";
139
139
  })(AiAssistantId || (exports.AiAssistantId = AiAssistantId = {}));
140
+ var OneShotTaskId;
141
+ (function (OneShotTaskId) {
142
+ OneShotTaskId["ASSET_ASSISTANT_PARTIAL_SUMMARY"] = "ASSET_ASSISTANT_PARTIAL_SUMMARY";
143
+ })(OneShotTaskId || (exports.OneShotTaskId = OneShotTaskId = {}));
@@ -73,6 +73,32 @@ export interface CompanyCandidate {
73
73
  source: string;
74
74
  sourceId: string;
75
75
  }
76
+ export type CrmImportDuplicateEntityType = 'contact' | 'company' | 'touchpoint';
77
+ export type CrmImportDuplicateDecision = 'autoMerged' | 'needsReview';
78
+ export type CrmImportDuplicateReasonCode = 'same_name_business_vs_public_email' | 'same_name_same_phone' | 'same_name_conflicting_business_domains' | 'multiple_existing_matches' | 'weak_name_only';
79
+ export interface CrmImportContactDuplicateDetails {
80
+ primaryEmail?: string;
81
+ preservedEmails: string[];
82
+ }
83
+ export interface CrmImportContactDuplicateMemberDetails {
84
+ email?: string;
85
+ domain?: string;
86
+ role?: string;
87
+ }
88
+ export interface CrmImportDuplicateMember {
89
+ sourceId: string;
90
+ name: string;
91
+ isCanonical: boolean;
92
+ contactDetails?: CrmImportContactDuplicateMemberDetails;
93
+ }
94
+ export interface CrmImportDuplicateGroup<T extends CrmImportDuplicateEntityType = CrmImportDuplicateEntityType> {
95
+ entityType: T;
96
+ decision: CrmImportDuplicateDecision;
97
+ reasonCodes: CrmImportDuplicateReasonCode[];
98
+ canonicalSourceId?: string;
99
+ members: CrmImportDuplicateMember[];
100
+ contactDetails?: CrmImportContactDuplicateDetails;
101
+ }
76
102
  export interface MatchResult {
77
103
  found: boolean;
78
104
  assetId?: string;
@@ -98,6 +124,7 @@ export interface CrmImportResponse {
98
124
  touchpoints: TouchpointCandidate[];
99
125
  contacts: ContactCandidate[];
100
126
  companies: CompanyCandidate[];
127
+ duplicates: CrmImportDuplicateGroup[];
101
128
  contactMatches: Record<string, MatchResult>;
102
129
  companyMatches: Record<string, MatchResult>;
103
130
  companyAssetIds: Record<string, string>;
@@ -1,4 +1,4 @@
1
- export type { AiAssistant, AssetResourceSelectionOption, AssistantMessage, DocumentResourceSelectionOption, ErrorMessage, GenericResourceSelectionOption, LogbookEntryResourceSelectionOption, Message, MessageAttachment, ResourceSelectionOption, ResourceSelectionRejected, SpeechToken, SystemMessage, Thread, ThreadPopulated, ToolMessage, ToolNameType, UserMessage, } from './ai.interface';
1
+ export type { AiAssistant, AssetResourceSelectionOption, AssistantMessage, DocumentResourceSelectionOption, ErrorMessage, GenericResourceSelectionOption, LogbookEntryResourceSelectionOption, Message, MessageAttachment, OneShotTaskResult, ResourceSelectionOption, ResourceSelectionRejected, SpeechToken, SystemMessage, Thread, ThreadPopulated, ToolMessage, ToolNameType, UserMessage, } from './ai.interface';
2
2
  export type { Alert, AlertCondition, TimeSeriesReference, UpdatedField } from './alert.interface';
3
3
  export type { Api, Change, ChangeSubject, ObjectIdLike } from './api.interface';
4
4
  export type { AddToProperty, Asset, AssetChange, AssetRevision, AssetSubject, AssetTimeSeriesValue, AssetType, AssetTypeRevision, AssetTypeSearchResult, Attachment, EventCause, EventLevelOverride, RemoveFromProperty, Template, } from './asset.interface';
@@ -6,7 +6,7 @@ export type { Audit } from './audit.interface';
6
6
  export type { Author } from './author.interface';
7
7
  export type { AzureBillingEvent, AzureBillingResult, Billing, BillingEvent, BillingResource, BillingSubscription, BillingValues, OnceBilledResources, RegularlyBilledResources, } from './billing.interface';
8
8
  export type { Content, ContentAnalysis, ContentChange, ContentSearchResult, IndexingStatusData, ReindexStatusSsePayload, } from './content.interface';
9
- export type { CompanyCandidate, ContactCandidate, CrmImportJsonRequest, CrmImportParser, CrmImportResponse, ImportResult, ImportResultStats, MatchResult, MeetingReport, ReportActivity, ReportParticipant, ReportSummary, TouchpointCandidate, } from './crm.interface';
9
+ export type { CompanyCandidate, ContactCandidate, CrmImportDuplicateDecision, CrmImportDuplicateEntityType, CrmImportDuplicateGroup, CrmImportDuplicateMember, CrmImportDuplicateReasonCode, CrmImportContactDuplicateDetails, CrmImportContactDuplicateMemberDetails, CrmImportJsonRequest, CrmImportParser, CrmImportResponse, ImportResult, ImportResultStats, MatchResult, MeetingReport, ReportActivity, ReportParticipant, ReportSummary, TouchpointCandidate, } from './crm.interface';
10
10
  export type { DataInterface, Filter, Paginated, RequestParameter } from './data.interface';
11
11
  export type { ShareInDataspaceDto, ShareInDataspaceResult } from './dataspace.interface';
12
12
  export type { EdgeDeviceRequestResponse, EdgeDeviceResult, WebIOData } from './edge-device.interface';
@@ -43,7 +43,7 @@ export type { Retention, SearchTimeSeriesResult, SelectedField, TimeSeries, Time
43
43
  export type { Translation, TranslationData } from './translation.interface';
44
44
  export type { Application, Consent, Permission, TableSetting, TableSettingProfile, UserSettings } from './user-settings.interface';
45
45
  export type { KVSecretVersion, VaultSecret } from './vault.interface';
46
- export { AgentId, AiAssistantId, AssistantMessageStatus, AttachmentHandlingMode, AvailableLanguages, ErrorMessageType, FinishReason, HandOffTool, ReferenceType, ReturnToReferrerTool, Role, ToolMessageStatus, ToolName, ToolType, } from './ai.interface';
46
+ export { AgentId, AiAssistantId, AssistantMessageStatus, AttachmentHandlingMode, AvailableLanguages, ErrorMessageType, FinishReason, HandOffTool, OneShotTaskId, ReferenceType, ReturnToReferrerTool, Role, ToolMessageStatus, ToolName, ToolType, } from './ai.interface';
47
47
  export { AlertLevel, AlertStatus, AlertType, DEFAULT_DEADMAN_CONDITION, DEFAULT_RELATIVE_CONDITION, DEFAULT_THRESHOLD_CONDITION, } from './alert.interface';
48
48
  export { ChangeAction } from './api.interface';
49
49
  export { BillingResourceType } from './billing.interface';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NatsStreams = exports.natsHpcPrefix = exports.natsFlowsPrefix = exports.NatsConsumers = exports.SubscriptionType = exports.LABEL_COLORS = exports.FlowDiagram = exports.Flow = exports.NATS_FLOW_TRIGGER_STATUSES = exports.FlowDeployment = exports.UNKOWN_STATES = exports.STOPPED_STATES = exports.RUNNING_STATES = exports.PROCESSING_STATES = exports.FlowDeploymentStatus = exports.ERROR_STATES = exports.TimeSlotStatus = exports.APPLICATION_AREA = exports.eventLevels = exports.EventLevelOverrideWrapper = exports.EventLevel = exports.NotificationEndpointType = exports.NotificationEndpointStatus = exports.NotificationEndpointSpamProtection = exports.instanceOfTimePeriod = exports.ReturnType = exports.IndexingStatus = exports.ContentAnalysisStatus = exports.BillingResourceType = exports.ChangeAction = exports.DEFAULT_THRESHOLD_CONDITION = exports.DEFAULT_RELATIVE_CONDITION = exports.DEFAULT_DEADMAN_CONDITION = exports.AlertType = exports.AlertStatus = exports.AlertLevel = exports.ToolType = exports.ToolName = exports.ToolMessageStatus = exports.Role = exports.ReturnToReferrerTool = exports.ReferenceType = exports.HandOffTool = exports.FinishReason = exports.ErrorMessageType = exports.AvailableLanguages = exports.AttachmentHandlingMode = exports.AssistantMessageStatus = exports.AiAssistantId = exports.AgentId = void 0;
4
- exports.WebSocketMessageType = exports.SecretType = exports.isUserMessage = exports.isTask = exports.isStorage = exports.isOwner = exports.isLogbookEntry = exports.isEvent = exports.isContentAnalysis = exports.isContent = exports.isAuthor = exports.isAssignee = exports.isAsset = exports.TranslationEditData = exports.RETENTION_VALUES = exports.TaskStatus = exports.Priority = exports.INACTIVE_TASK_STATUSES = exports.buildTaskStatusFilter = exports.AssigneeType = exports.ACTIVE_TASK_STATUSES = exports.ResourceType = exports.resourceApiPathToTypeMap = exports.ResourceApiPath = exports.PermissionType = exports.isPopulated = exports.EventType = exports.CommandType = exports.arePopulated = exports.ObjectReferenceType = exports.OwnerType = exports.OrganizationMembersInviteOrAdd = exports.NotificationRuleStatus = void 0;
3
+ exports.natsHpcPrefix = exports.natsFlowsPrefix = exports.NatsConsumers = exports.SubscriptionType = exports.LABEL_COLORS = exports.FlowDiagram = exports.Flow = exports.NATS_FLOW_TRIGGER_STATUSES = exports.FlowDeployment = exports.UNKOWN_STATES = exports.STOPPED_STATES = exports.RUNNING_STATES = exports.PROCESSING_STATES = exports.FlowDeploymentStatus = exports.ERROR_STATES = exports.TimeSlotStatus = exports.APPLICATION_AREA = exports.eventLevels = exports.EventLevelOverrideWrapper = exports.EventLevel = exports.NotificationEndpointType = exports.NotificationEndpointStatus = exports.NotificationEndpointSpamProtection = exports.instanceOfTimePeriod = exports.ReturnType = exports.IndexingStatus = exports.ContentAnalysisStatus = exports.BillingResourceType = exports.ChangeAction = exports.DEFAULT_THRESHOLD_CONDITION = exports.DEFAULT_RELATIVE_CONDITION = exports.DEFAULT_DEADMAN_CONDITION = exports.AlertType = exports.AlertStatus = exports.AlertLevel = exports.ToolType = exports.ToolName = exports.ToolMessageStatus = exports.Role = exports.ReturnToReferrerTool = exports.ReferenceType = exports.OneShotTaskId = exports.HandOffTool = exports.FinishReason = exports.ErrorMessageType = exports.AvailableLanguages = exports.AttachmentHandlingMode = exports.AssistantMessageStatus = exports.AiAssistantId = exports.AgentId = void 0;
4
+ exports.WebSocketMessageType = exports.SecretType = exports.isUserMessage = exports.isTask = exports.isStorage = exports.isOwner = exports.isLogbookEntry = exports.isEvent = exports.isContentAnalysis = exports.isContent = exports.isAuthor = exports.isAssignee = exports.isAsset = exports.TranslationEditData = exports.RETENTION_VALUES = exports.TaskStatus = exports.Priority = exports.INACTIVE_TASK_STATUSES = exports.buildTaskStatusFilter = exports.AssigneeType = exports.ACTIVE_TASK_STATUSES = exports.ResourceType = exports.resourceApiPathToTypeMap = exports.ResourceApiPath = exports.PermissionType = exports.isPopulated = exports.EventType = exports.CommandType = exports.arePopulated = exports.ObjectReferenceType = exports.OwnerType = exports.OrganizationMembersInviteOrAdd = exports.NotificationRuleStatus = exports.NatsStreams = void 0;
5
5
  var ai_interface_1 = require("./ai.interface");
6
6
  Object.defineProperty(exports, "AgentId", { enumerable: true, get: function () { return ai_interface_1.AgentId; } });
7
7
  Object.defineProperty(exports, "AiAssistantId", { enumerable: true, get: function () { return ai_interface_1.AiAssistantId; } });
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "AvailableLanguages", { enumerable: true, get: fu
11
11
  Object.defineProperty(exports, "ErrorMessageType", { enumerable: true, get: function () { return ai_interface_1.ErrorMessageType; } });
12
12
  Object.defineProperty(exports, "FinishReason", { enumerable: true, get: function () { return ai_interface_1.FinishReason; } });
13
13
  Object.defineProperty(exports, "HandOffTool", { enumerable: true, get: function () { return ai_interface_1.HandOffTool; } });
14
+ Object.defineProperty(exports, "OneShotTaskId", { enumerable: true, get: function () { return ai_interface_1.OneShotTaskId; } });
14
15
  Object.defineProperty(exports, "ReferenceType", { enumerable: true, get: function () { return ai_interface_1.ReferenceType; } });
15
16
  Object.defineProperty(exports, "ReturnToReferrerTool", { enumerable: true, get: function () { return ai_interface_1.ReturnToReferrerTool; } });
16
17
  Object.defineProperty(exports, "Role", { enumerable: true, get: function () { return ai_interface_1.Role; } });
@@ -1,5 +1,5 @@
1
1
  import { APIBaseMock } from '.';
2
- import { AiAssistant, Message, Paginated, SpeechToken, Thread, ThreadPopulated, TokenOption } from '../interfaces';
2
+ import { AiAssistant, Message, OneShotTaskId, OneShotTaskResult, Paginated, SpeechToken, Thread, ThreadPopulated, TokenOption } from '../interfaces';
3
3
  import { AiService } from '../services';
4
4
  export declare class AiMockService extends APIBaseMock<never> implements AiService {
5
5
  constructor();
@@ -16,4 +16,5 @@ export declare class AiMockService extends APIBaseMock<never> implements AiServi
16
16
  listAssistantThreads(assistantId: string): Promise<ThreadPopulated[]>;
17
17
  provideFeedback(traceId: string, value: number, comment?: string): Promise<void>;
18
18
  deleteThread(threadId: string, options?: TokenOption): Promise<Thread>;
19
+ runOneShotTask(taskId: OneShotTaskId, params: Record<string, unknown>): Promise<OneShotTaskResult>;
19
20
  }
@@ -45,5 +45,8 @@ class AiMockService extends _1.APIBaseMock {
45
45
  deleteThread(threadId, options = {}) {
46
46
  throw new Error('Method not implemented.');
47
47
  }
48
+ runOneShotTask(taskId, params) {
49
+ return Promise.resolve({ text: 'Mock response' });
50
+ }
48
51
  }
49
52
  exports.AiMockService = AiMockService;
@@ -27,6 +27,7 @@ class CrmMockService extends crm_service_1.CrmService {
27
27
  touchpoints: [],
28
28
  contacts: [],
29
29
  companies: [],
30
+ duplicates: [],
30
31
  contactMatches: {},
31
32
  companyMatches: {},
32
33
  companyAssetIds: {},
@@ -1,6 +1,6 @@
1
1
  import { HttpClientService } from '.';
2
2
  import { APIBase } from '../api-base';
3
- import { AiAssistant, AiAssistantId, Message, Paginated, SpeechToken, Thread, ThreadPopulated, TokenOption } from '../interfaces';
3
+ import { AiAssistant, AiAssistantId, Message, OneShotTaskId, OneShotTaskResult, Paginated, SpeechToken, Thread, ThreadPopulated, TokenOption } from '../interfaces';
4
4
  export declare class AiService extends APIBase {
5
5
  constructor(httpClient: HttpClientService);
6
6
  addMessage(message: string, threadId?: string, assistantId?: AiAssistantId, context?: Record<string, unknown>, attachmentIds?: string[]): Promise<Message>;
@@ -16,4 +16,5 @@ export declare class AiService extends APIBase {
16
16
  listThreads(assistantIds?: AiAssistantId[], params?: {}, options?: TokenOption): Promise<ThreadPopulated[]>;
17
17
  provideFeedback(traceId: string, value: number, comment?: string): Promise<void>;
18
18
  deleteThread(threadId: string, options?: TokenOption): Promise<Thread>;
19
+ runOneShotTask(taskId: OneShotTaskId, params: Record<string, unknown>): Promise<OneShotTaskResult>;
19
20
  }
@@ -48,5 +48,8 @@ class AiService extends api_base_1.APIBase {
48
48
  deleteThread(threadId, options = {}) {
49
49
  return this.httpClient.delete(`${this.basePath}/threads/${threadId}`, options);
50
50
  }
51
+ runOneShotTask(taskId, params) {
52
+ return this.httpClient.post(`${this.basePath}/one-shot`, { taskId, params });
53
+ }
51
54
  }
52
55
  exports.AiService = AiService;