htag-sdk 0.1.0 → 0.3.0

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/dist/index.d.cts CHANGED
@@ -22,6 +22,7 @@ interface ResolvedConfig {
22
22
  apiKey: string;
23
23
  publicBaseUrl: string;
24
24
  internalBaseUrl: string;
25
+ intentHubBaseUrl: string;
25
26
  maxRetries: number;
26
27
  retryBaseDelay: number;
27
28
  timeout: number;
@@ -65,6 +66,14 @@ declare class HttpClient {
65
66
  * Execute a POST request against the public API base.
66
67
  */
67
68
  post<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
69
+ /**
70
+ * Execute a PATCH request against the public API base.
71
+ */
72
+ patch<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
73
+ /**
74
+ * Execute a DELETE request against the public API base.
75
+ */
76
+ delete<T>(path: string, options?: RequestOptions): Promise<T>;
68
77
  /**
69
78
  * Execute a GET request against the internal API base.
70
79
  */
@@ -73,6 +82,22 @@ declare class HttpClient {
73
82
  * Execute a POST request against the internal API base.
74
83
  */
75
84
  internalPost<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
85
+ /**
86
+ * Execute a GET request against the Intent Hub API base.
87
+ */
88
+ intentHubGet<T>(path: string, options?: RequestOptions): Promise<T>;
89
+ /**
90
+ * Execute a POST request against the Intent Hub API base.
91
+ */
92
+ intentHubPost<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
93
+ /**
94
+ * Execute a PATCH request against the Intent Hub API base.
95
+ */
96
+ intentHubPatch<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
97
+ /**
98
+ * Execute a DELETE request against the Intent Hub API base.
99
+ */
100
+ intentHubDelete<T>(path: string, options?: RequestOptions): Promise<T>;
76
101
  private request;
77
102
  }
78
103
 
@@ -607,6 +632,253 @@ declare class MarketsClient {
607
632
  query(body: AdvancedSearchBody, options?: RequestOptions): Promise<MarketQueryResponse>;
608
633
  }
609
634
 
635
+ type SourceType = 'AGENT' | 'PLATFORM' | 'PARTNER' | 'INTERNAL';
636
+ type IntegrationType = 'WEBHOOK' | 'SQS' | 'SNS';
637
+ type IntegrationStatus = 'ACTIVE' | 'DEGRADED' | 'DISABLED';
638
+ type Sentiment = 'POSITIVE' | 'NEUTRAL' | 'NEGATIVE' | 'MIXED';
639
+ type Urgency = 'IMMEDIATE' | 'STANDARD' | 'BATCHED';
640
+ interface SubmitEventParams extends RequestOptions {
641
+ sourceType: SourceType;
642
+ sourceId: string;
643
+ textContent?: string;
644
+ payload?: Record<string, unknown>;
645
+ userId?: string;
646
+ sessionId?: string;
647
+ suggestedCategory?: string;
648
+ suggestedIntent?: string;
649
+ idempotencyKey?: string;
650
+ /** Explicit event type slug — skips classification entirely. */
651
+ eventType?: string;
652
+ }
653
+ interface ClassifiedEvent {
654
+ id: string;
655
+ raw_event_id?: string;
656
+ status?: string;
657
+ event_type?: string;
658
+ category?: string;
659
+ primary_intent?: string;
660
+ sub_intents?: string[];
661
+ confidence?: number;
662
+ sentiment?: string;
663
+ entities?: Record<string, unknown>;
664
+ tags?: string[];
665
+ urgency?: string;
666
+ classifier_model?: string;
667
+ classifier_version?: string;
668
+ classified_at?: string;
669
+ occurred_at?: string;
670
+ }
671
+ interface QueryEventsParams extends RequestOptions {
672
+ eventType?: string;
673
+ intent?: string;
674
+ tag?: string;
675
+ userId?: string;
676
+ minConfidence?: number;
677
+ limit?: number;
678
+ cursor?: string;
679
+ }
680
+ interface PaginatedEvents {
681
+ events: ClassifiedEvent[];
682
+ total: number;
683
+ cursor?: string;
684
+ }
685
+ interface CreateIntegrationParams extends RequestOptions {
686
+ name: string;
687
+ type?: IntegrationType;
688
+ url?: string;
689
+ secret?: string;
690
+ headers?: Record<string, string>;
691
+ config?: Record<string, unknown>;
692
+ }
693
+ interface UpdateIntegrationParams extends RequestOptions {
694
+ name?: string;
695
+ url?: string;
696
+ secret?: string;
697
+ status?: IntegrationStatus;
698
+ }
699
+ interface Integration {
700
+ id: string;
701
+ orgId?: string;
702
+ type: string;
703
+ name: string;
704
+ url?: string;
705
+ status?: string;
706
+ consecutiveFailures?: number;
707
+ lastSuccessAt?: string;
708
+ lastFailureAt?: string;
709
+ createdAt?: string;
710
+ }
711
+ interface TestResult {
712
+ success: boolean;
713
+ status_code?: number;
714
+ error?: string;
715
+ }
716
+ interface CreateSubscriptionParams extends RequestOptions {
717
+ integrationId: string;
718
+ eventTypeSlug?: string;
719
+ tag?: string;
720
+ intentPattern?: string;
721
+ filters?: Record<string, unknown>;
722
+ }
723
+ interface UpdateSubscriptionParams extends RequestOptions {
724
+ eventTypeSlug?: string;
725
+ tag?: string;
726
+ intentPattern?: string;
727
+ integrationId?: string;
728
+ isActive?: boolean;
729
+ }
730
+ interface Subscription {
731
+ id: string;
732
+ orgId?: string;
733
+ integrationId?: string;
734
+ eventTypeSlug?: string;
735
+ tag?: string;
736
+ intentPattern?: string;
737
+ isActive?: boolean;
738
+ createdAt?: string;
739
+ }
740
+ interface EventCategory {
741
+ id: string;
742
+ slug: string;
743
+ name: string;
744
+ description?: string;
745
+ sortOrder?: number;
746
+ }
747
+ interface EventType {
748
+ id: string;
749
+ slug: string;
750
+ name: string;
751
+ categoryId?: string;
752
+ classificationHint?: string;
753
+ defaultUrgency?: string;
754
+ visibility?: string;
755
+ }
756
+ interface TagInfo {
757
+ tag: string;
758
+ count: number;
759
+ }
760
+
761
+ /**
762
+ * Client for the Intent Hub API domain.
763
+ *
764
+ * ```ts
765
+ * const event = await client.intentHub.submitEvent({
766
+ * sourceType: 'AGENT',
767
+ * sourceId: 'my-agent',
768
+ * textContent: 'User wants to refinance their mortgage',
769
+ * });
770
+ * ```
771
+ */
772
+ declare class IntentHubClient {
773
+ private readonly http;
774
+ /** @internal */
775
+ constructor(http: HttpClient);
776
+ /**
777
+ * Submit a raw event for classification.
778
+ *
779
+ * `POST /intent-hub/v1/events`
780
+ */
781
+ submitEvent(params: SubmitEventParams): Promise<ClassifiedEvent>;
782
+ /**
783
+ * Retrieve a single classified event by ID.
784
+ *
785
+ * `GET /intent-hub/v1/events/:eventId`
786
+ */
787
+ getEvent(eventId: string, options?: RequestOptions): Promise<ClassifiedEvent>;
788
+ /**
789
+ * Query classified events with optional filters.
790
+ *
791
+ * `GET /intent-hub/v1/events`
792
+ */
793
+ queryEvents(params?: QueryEventsParams): Promise<PaginatedEvents>;
794
+ /**
795
+ * Create a new integration endpoint.
796
+ *
797
+ * `POST /intent-hub/v1/integrations`
798
+ */
799
+ createIntegration(params: CreateIntegrationParams): Promise<Integration>;
800
+ /**
801
+ * List all integrations for the current organisation.
802
+ *
803
+ * `GET /intent-hub/v1/integrations`
804
+ */
805
+ listIntegrations(options?: RequestOptions): Promise<Integration[]>;
806
+ /**
807
+ * Retrieve a single integration by ID.
808
+ *
809
+ * `GET /intent-hub/v1/integrations/:id`
810
+ */
811
+ getIntegration(id: string, options?: RequestOptions): Promise<Integration>;
812
+ /**
813
+ * Update an existing integration.
814
+ *
815
+ * `PATCH /intent-hub/v1/integrations/:id`
816
+ */
817
+ updateIntegration(id: string, params: UpdateIntegrationParams): Promise<Integration>;
818
+ /**
819
+ * Delete an integration by ID.
820
+ *
821
+ * `DELETE /intent-hub/v1/integrations/:id`
822
+ */
823
+ deleteIntegration(id: string, options?: RequestOptions): Promise<void>;
824
+ /**
825
+ * Send a test event to an integration endpoint.
826
+ *
827
+ * `POST /intent-hub/v1/integrations/:id/test`
828
+ */
829
+ testIntegration(id: string, options?: RequestOptions): Promise<TestResult>;
830
+ /**
831
+ * Create a new subscription linking event patterns to an integration.
832
+ *
833
+ * `POST /intent-hub/v1/subscriptions`
834
+ */
835
+ createSubscription(params: CreateSubscriptionParams): Promise<Subscription>;
836
+ /**
837
+ * List all subscriptions for the current organisation.
838
+ *
839
+ * `GET /intent-hub/v1/subscriptions`
840
+ */
841
+ listSubscriptions(options?: RequestOptions): Promise<Subscription[]>;
842
+ /**
843
+ * Retrieve a single subscription by ID.
844
+ *
845
+ * `GET /intent-hub/v1/subscriptions/:id`
846
+ */
847
+ getSubscription(id: string, options?: RequestOptions): Promise<Subscription>;
848
+ /**
849
+ * Update an existing subscription.
850
+ *
851
+ * `PATCH /intent-hub/v1/subscriptions/:id`
852
+ */
853
+ updateSubscription(id: string, params: UpdateSubscriptionParams): Promise<Subscription>;
854
+ /**
855
+ * Delete a subscription by ID.
856
+ *
857
+ * `DELETE /intent-hub/v1/subscriptions/:id`
858
+ */
859
+ deleteSubscription(id: string, options?: RequestOptions): Promise<void>;
860
+ /**
861
+ * List all event categories in the taxonomy.
862
+ *
863
+ * `GET /intent-hub/v1/catalog/categories`
864
+ */
865
+ listCategories(options?: RequestOptions): Promise<EventCategory[]>;
866
+ /**
867
+ * List event types, optionally filtered by category.
868
+ *
869
+ * `GET /intent-hub/v1/catalog/event-types`
870
+ */
871
+ listEventTypes(params?: {
872
+ category?: string;
873
+ } & RequestOptions): Promise<EventType[]>;
874
+ /**
875
+ * List all tags with their usage counts.
876
+ *
877
+ * `GET /intent-hub/v1/catalog/tags`
878
+ */
879
+ listTags(options?: RequestOptions): Promise<TagInfo[]>;
880
+ }
881
+
610
882
  /**
611
883
  * Top-level client for the HtAG Location Intelligence APIs.
612
884
  *
@@ -628,6 +900,8 @@ declare class HtAgApiClient {
628
900
  readonly property: PropertyClient;
629
901
  /** Market snapshots, advanced queries and time-series trends. */
630
902
  readonly markets: MarketsClient;
903
+ /** Intent Hub: event classification, integrations and subscriptions. */
904
+ readonly intentHub: IntentHubClient;
631
905
  constructor(options: HtAgClientOptions);
632
906
  }
633
907
 
@@ -688,4 +962,4 @@ declare class ServerError extends HtAgError {
688
962
  });
689
963
  }
690
964
 
691
- export { AddressClient, type AddressInsightsParams, type AddressInsightsResponse, type AddressRecord, type AddressSearchParams, type AddressSearchResponse, type AddressSearchResult, type AdvancedSearchBody, AuthenticationError, type BaseResponse, type BatchStandardiseParams, type BatchStandardiseResponse, type DemandProfileOut, type DemandProfileResponse, type EssentialsOut, type FSDMonthlyOut, type FSDQuarterlyOut, type FSDYearlyOut, type GRCOut, type GrowthRatesResponse, type HoldPeriodResponse, HtAgApiClient, type HtAgClientOptions, HtAgError, type LevelEnum, type LogicNode, type MarketQueryParams, type MarketQueryResponse, type MarketSnapshot, MarketsClient, type PerformanceResponse, type PriceHistoryOut, type PriceResponse, PropertyClient, type PropertyTypeEnum, RateLimitError, type RentHistoryOut, type RentResponse, type RequestOptions, type ResolvedConfig, type SearchIndexResponse, ServerError, type SnapshotsParams, type SnapshotsResponse, type SoldPropertiesResponse, type SoldPropertyRecord, type SoldSearchParams, type StandardisedAddress, type SupplyDemandResponse, TrendsClient, type TrendsParams, ValidationError, type YieldHistoryOut, type YieldResponse };
965
+ export { AddressClient, type AddressInsightsParams, type AddressInsightsResponse, type AddressRecord, type AddressSearchParams, type AddressSearchResponse, type AddressSearchResult, type AdvancedSearchBody, AuthenticationError, type BaseResponse, type BatchStandardiseParams, type BatchStandardiseResponse, type ClassifiedEvent, type CreateIntegrationParams, type CreateSubscriptionParams, type DemandProfileOut, type DemandProfileResponse, type EssentialsOut, type EventCategory, type EventType, type FSDMonthlyOut, type FSDQuarterlyOut, type FSDYearlyOut, type GRCOut, type GrowthRatesResponse, type HoldPeriodResponse, HtAgApiClient, type HtAgClientOptions, HtAgError, type Integration, type IntegrationStatus, type IntegrationType, IntentHubClient, type LevelEnum, type LogicNode, type MarketQueryParams, type MarketQueryResponse, type MarketSnapshot, MarketsClient, type PaginatedEvents, type PerformanceResponse, type PriceHistoryOut, type PriceResponse, PropertyClient, type PropertyTypeEnum, type QueryEventsParams, RateLimitError, type RentHistoryOut, type RentResponse, type RequestOptions, type ResolvedConfig, type SearchIndexResponse, type Sentiment, ServerError, type SnapshotsParams, type SnapshotsResponse, type SoldPropertiesResponse, type SoldPropertyRecord, type SoldSearchParams, type SourceType, type StandardisedAddress, type SubmitEventParams, type Subscription, type SupplyDemandResponse, type TagInfo, type TestResult, TrendsClient, type TrendsParams, type UpdateIntegrationParams, type UpdateSubscriptionParams, type Urgency, ValidationError, type YieldHistoryOut, type YieldResponse };
package/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ interface ResolvedConfig {
22
22
  apiKey: string;
23
23
  publicBaseUrl: string;
24
24
  internalBaseUrl: string;
25
+ intentHubBaseUrl: string;
25
26
  maxRetries: number;
26
27
  retryBaseDelay: number;
27
28
  timeout: number;
@@ -65,6 +66,14 @@ declare class HttpClient {
65
66
  * Execute a POST request against the public API base.
66
67
  */
67
68
  post<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
69
+ /**
70
+ * Execute a PATCH request against the public API base.
71
+ */
72
+ patch<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
73
+ /**
74
+ * Execute a DELETE request against the public API base.
75
+ */
76
+ delete<T>(path: string, options?: RequestOptions): Promise<T>;
68
77
  /**
69
78
  * Execute a GET request against the internal API base.
70
79
  */
@@ -73,6 +82,22 @@ declare class HttpClient {
73
82
  * Execute a POST request against the internal API base.
74
83
  */
75
84
  internalPost<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
85
+ /**
86
+ * Execute a GET request against the Intent Hub API base.
87
+ */
88
+ intentHubGet<T>(path: string, options?: RequestOptions): Promise<T>;
89
+ /**
90
+ * Execute a POST request against the Intent Hub API base.
91
+ */
92
+ intentHubPost<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
93
+ /**
94
+ * Execute a PATCH request against the Intent Hub API base.
95
+ */
96
+ intentHubPatch<T>(path: string, body: unknown, options?: RequestOptions): Promise<T>;
97
+ /**
98
+ * Execute a DELETE request against the Intent Hub API base.
99
+ */
100
+ intentHubDelete<T>(path: string, options?: RequestOptions): Promise<T>;
76
101
  private request;
77
102
  }
78
103
 
@@ -607,6 +632,253 @@ declare class MarketsClient {
607
632
  query(body: AdvancedSearchBody, options?: RequestOptions): Promise<MarketQueryResponse>;
608
633
  }
609
634
 
635
+ type SourceType = 'AGENT' | 'PLATFORM' | 'PARTNER' | 'INTERNAL';
636
+ type IntegrationType = 'WEBHOOK' | 'SQS' | 'SNS';
637
+ type IntegrationStatus = 'ACTIVE' | 'DEGRADED' | 'DISABLED';
638
+ type Sentiment = 'POSITIVE' | 'NEUTRAL' | 'NEGATIVE' | 'MIXED';
639
+ type Urgency = 'IMMEDIATE' | 'STANDARD' | 'BATCHED';
640
+ interface SubmitEventParams extends RequestOptions {
641
+ sourceType: SourceType;
642
+ sourceId: string;
643
+ textContent?: string;
644
+ payload?: Record<string, unknown>;
645
+ userId?: string;
646
+ sessionId?: string;
647
+ suggestedCategory?: string;
648
+ suggestedIntent?: string;
649
+ idempotencyKey?: string;
650
+ /** Explicit event type slug — skips classification entirely. */
651
+ eventType?: string;
652
+ }
653
+ interface ClassifiedEvent {
654
+ id: string;
655
+ raw_event_id?: string;
656
+ status?: string;
657
+ event_type?: string;
658
+ category?: string;
659
+ primary_intent?: string;
660
+ sub_intents?: string[];
661
+ confidence?: number;
662
+ sentiment?: string;
663
+ entities?: Record<string, unknown>;
664
+ tags?: string[];
665
+ urgency?: string;
666
+ classifier_model?: string;
667
+ classifier_version?: string;
668
+ classified_at?: string;
669
+ occurred_at?: string;
670
+ }
671
+ interface QueryEventsParams extends RequestOptions {
672
+ eventType?: string;
673
+ intent?: string;
674
+ tag?: string;
675
+ userId?: string;
676
+ minConfidence?: number;
677
+ limit?: number;
678
+ cursor?: string;
679
+ }
680
+ interface PaginatedEvents {
681
+ events: ClassifiedEvent[];
682
+ total: number;
683
+ cursor?: string;
684
+ }
685
+ interface CreateIntegrationParams extends RequestOptions {
686
+ name: string;
687
+ type?: IntegrationType;
688
+ url?: string;
689
+ secret?: string;
690
+ headers?: Record<string, string>;
691
+ config?: Record<string, unknown>;
692
+ }
693
+ interface UpdateIntegrationParams extends RequestOptions {
694
+ name?: string;
695
+ url?: string;
696
+ secret?: string;
697
+ status?: IntegrationStatus;
698
+ }
699
+ interface Integration {
700
+ id: string;
701
+ orgId?: string;
702
+ type: string;
703
+ name: string;
704
+ url?: string;
705
+ status?: string;
706
+ consecutiveFailures?: number;
707
+ lastSuccessAt?: string;
708
+ lastFailureAt?: string;
709
+ createdAt?: string;
710
+ }
711
+ interface TestResult {
712
+ success: boolean;
713
+ status_code?: number;
714
+ error?: string;
715
+ }
716
+ interface CreateSubscriptionParams extends RequestOptions {
717
+ integrationId: string;
718
+ eventTypeSlug?: string;
719
+ tag?: string;
720
+ intentPattern?: string;
721
+ filters?: Record<string, unknown>;
722
+ }
723
+ interface UpdateSubscriptionParams extends RequestOptions {
724
+ eventTypeSlug?: string;
725
+ tag?: string;
726
+ intentPattern?: string;
727
+ integrationId?: string;
728
+ isActive?: boolean;
729
+ }
730
+ interface Subscription {
731
+ id: string;
732
+ orgId?: string;
733
+ integrationId?: string;
734
+ eventTypeSlug?: string;
735
+ tag?: string;
736
+ intentPattern?: string;
737
+ isActive?: boolean;
738
+ createdAt?: string;
739
+ }
740
+ interface EventCategory {
741
+ id: string;
742
+ slug: string;
743
+ name: string;
744
+ description?: string;
745
+ sortOrder?: number;
746
+ }
747
+ interface EventType {
748
+ id: string;
749
+ slug: string;
750
+ name: string;
751
+ categoryId?: string;
752
+ classificationHint?: string;
753
+ defaultUrgency?: string;
754
+ visibility?: string;
755
+ }
756
+ interface TagInfo {
757
+ tag: string;
758
+ count: number;
759
+ }
760
+
761
+ /**
762
+ * Client for the Intent Hub API domain.
763
+ *
764
+ * ```ts
765
+ * const event = await client.intentHub.submitEvent({
766
+ * sourceType: 'AGENT',
767
+ * sourceId: 'my-agent',
768
+ * textContent: 'User wants to refinance their mortgage',
769
+ * });
770
+ * ```
771
+ */
772
+ declare class IntentHubClient {
773
+ private readonly http;
774
+ /** @internal */
775
+ constructor(http: HttpClient);
776
+ /**
777
+ * Submit a raw event for classification.
778
+ *
779
+ * `POST /intent-hub/v1/events`
780
+ */
781
+ submitEvent(params: SubmitEventParams): Promise<ClassifiedEvent>;
782
+ /**
783
+ * Retrieve a single classified event by ID.
784
+ *
785
+ * `GET /intent-hub/v1/events/:eventId`
786
+ */
787
+ getEvent(eventId: string, options?: RequestOptions): Promise<ClassifiedEvent>;
788
+ /**
789
+ * Query classified events with optional filters.
790
+ *
791
+ * `GET /intent-hub/v1/events`
792
+ */
793
+ queryEvents(params?: QueryEventsParams): Promise<PaginatedEvents>;
794
+ /**
795
+ * Create a new integration endpoint.
796
+ *
797
+ * `POST /intent-hub/v1/integrations`
798
+ */
799
+ createIntegration(params: CreateIntegrationParams): Promise<Integration>;
800
+ /**
801
+ * List all integrations for the current organisation.
802
+ *
803
+ * `GET /intent-hub/v1/integrations`
804
+ */
805
+ listIntegrations(options?: RequestOptions): Promise<Integration[]>;
806
+ /**
807
+ * Retrieve a single integration by ID.
808
+ *
809
+ * `GET /intent-hub/v1/integrations/:id`
810
+ */
811
+ getIntegration(id: string, options?: RequestOptions): Promise<Integration>;
812
+ /**
813
+ * Update an existing integration.
814
+ *
815
+ * `PATCH /intent-hub/v1/integrations/:id`
816
+ */
817
+ updateIntegration(id: string, params: UpdateIntegrationParams): Promise<Integration>;
818
+ /**
819
+ * Delete an integration by ID.
820
+ *
821
+ * `DELETE /intent-hub/v1/integrations/:id`
822
+ */
823
+ deleteIntegration(id: string, options?: RequestOptions): Promise<void>;
824
+ /**
825
+ * Send a test event to an integration endpoint.
826
+ *
827
+ * `POST /intent-hub/v1/integrations/:id/test`
828
+ */
829
+ testIntegration(id: string, options?: RequestOptions): Promise<TestResult>;
830
+ /**
831
+ * Create a new subscription linking event patterns to an integration.
832
+ *
833
+ * `POST /intent-hub/v1/subscriptions`
834
+ */
835
+ createSubscription(params: CreateSubscriptionParams): Promise<Subscription>;
836
+ /**
837
+ * List all subscriptions for the current organisation.
838
+ *
839
+ * `GET /intent-hub/v1/subscriptions`
840
+ */
841
+ listSubscriptions(options?: RequestOptions): Promise<Subscription[]>;
842
+ /**
843
+ * Retrieve a single subscription by ID.
844
+ *
845
+ * `GET /intent-hub/v1/subscriptions/:id`
846
+ */
847
+ getSubscription(id: string, options?: RequestOptions): Promise<Subscription>;
848
+ /**
849
+ * Update an existing subscription.
850
+ *
851
+ * `PATCH /intent-hub/v1/subscriptions/:id`
852
+ */
853
+ updateSubscription(id: string, params: UpdateSubscriptionParams): Promise<Subscription>;
854
+ /**
855
+ * Delete a subscription by ID.
856
+ *
857
+ * `DELETE /intent-hub/v1/subscriptions/:id`
858
+ */
859
+ deleteSubscription(id: string, options?: RequestOptions): Promise<void>;
860
+ /**
861
+ * List all event categories in the taxonomy.
862
+ *
863
+ * `GET /intent-hub/v1/catalog/categories`
864
+ */
865
+ listCategories(options?: RequestOptions): Promise<EventCategory[]>;
866
+ /**
867
+ * List event types, optionally filtered by category.
868
+ *
869
+ * `GET /intent-hub/v1/catalog/event-types`
870
+ */
871
+ listEventTypes(params?: {
872
+ category?: string;
873
+ } & RequestOptions): Promise<EventType[]>;
874
+ /**
875
+ * List all tags with their usage counts.
876
+ *
877
+ * `GET /intent-hub/v1/catalog/tags`
878
+ */
879
+ listTags(options?: RequestOptions): Promise<TagInfo[]>;
880
+ }
881
+
610
882
  /**
611
883
  * Top-level client for the HtAG Location Intelligence APIs.
612
884
  *
@@ -628,6 +900,8 @@ declare class HtAgApiClient {
628
900
  readonly property: PropertyClient;
629
901
  /** Market snapshots, advanced queries and time-series trends. */
630
902
  readonly markets: MarketsClient;
903
+ /** Intent Hub: event classification, integrations and subscriptions. */
904
+ readonly intentHub: IntentHubClient;
631
905
  constructor(options: HtAgClientOptions);
632
906
  }
633
907
 
@@ -688,4 +962,4 @@ declare class ServerError extends HtAgError {
688
962
  });
689
963
  }
690
964
 
691
- export { AddressClient, type AddressInsightsParams, type AddressInsightsResponse, type AddressRecord, type AddressSearchParams, type AddressSearchResponse, type AddressSearchResult, type AdvancedSearchBody, AuthenticationError, type BaseResponse, type BatchStandardiseParams, type BatchStandardiseResponse, type DemandProfileOut, type DemandProfileResponse, type EssentialsOut, type FSDMonthlyOut, type FSDQuarterlyOut, type FSDYearlyOut, type GRCOut, type GrowthRatesResponse, type HoldPeriodResponse, HtAgApiClient, type HtAgClientOptions, HtAgError, type LevelEnum, type LogicNode, type MarketQueryParams, type MarketQueryResponse, type MarketSnapshot, MarketsClient, type PerformanceResponse, type PriceHistoryOut, type PriceResponse, PropertyClient, type PropertyTypeEnum, RateLimitError, type RentHistoryOut, type RentResponse, type RequestOptions, type ResolvedConfig, type SearchIndexResponse, ServerError, type SnapshotsParams, type SnapshotsResponse, type SoldPropertiesResponse, type SoldPropertyRecord, type SoldSearchParams, type StandardisedAddress, type SupplyDemandResponse, TrendsClient, type TrendsParams, ValidationError, type YieldHistoryOut, type YieldResponse };
965
+ export { AddressClient, type AddressInsightsParams, type AddressInsightsResponse, type AddressRecord, type AddressSearchParams, type AddressSearchResponse, type AddressSearchResult, type AdvancedSearchBody, AuthenticationError, type BaseResponse, type BatchStandardiseParams, type BatchStandardiseResponse, type ClassifiedEvent, type CreateIntegrationParams, type CreateSubscriptionParams, type DemandProfileOut, type DemandProfileResponse, type EssentialsOut, type EventCategory, type EventType, type FSDMonthlyOut, type FSDQuarterlyOut, type FSDYearlyOut, type GRCOut, type GrowthRatesResponse, type HoldPeriodResponse, HtAgApiClient, type HtAgClientOptions, HtAgError, type Integration, type IntegrationStatus, type IntegrationType, IntentHubClient, type LevelEnum, type LogicNode, type MarketQueryParams, type MarketQueryResponse, type MarketSnapshot, MarketsClient, type PaginatedEvents, type PerformanceResponse, type PriceHistoryOut, type PriceResponse, PropertyClient, type PropertyTypeEnum, type QueryEventsParams, RateLimitError, type RentHistoryOut, type RentResponse, type RequestOptions, type ResolvedConfig, type SearchIndexResponse, type Sentiment, ServerError, type SnapshotsParams, type SnapshotsResponse, type SoldPropertiesResponse, type SoldPropertyRecord, type SoldSearchParams, type SourceType, type StandardisedAddress, type SubmitEventParams, type Subscription, type SupplyDemandResponse, type TagInfo, type TestResult, TrendsClient, type TrendsParams, type UpdateIntegrationParams, type UpdateSubscriptionParams, type Urgency, ValidationError, type YieldHistoryOut, type YieldResponse };