@talqing/sdk 0.7.0 → 0.9.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.
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  // This file is auto-generated by @hey-api/openapi-ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Runs = exports.Telephony = exports.Providers = exports.PhoneNumbers = exports.Accounts = exports.Streams = exports.Secrets = exports.Schemas = exports.Functions = exports.Observability = exports.Knowledge2 = exports.Pages = exports.Nodes = exports.Integrations = exports.Triggers = exports.McpTools = exports.Email = exports.Senders = exports.Batches2 = exports.Sends = exports.Recipients2 = exports.Copilot = exports.Tools = exports.Tasks = exports.Knowledge = exports.Agents2 = exports.Conversations = exports.Sessions = exports.Items2 = exports.Chats = exports.Tokens = exports.Messages = exports.Items = exports.Analysis2 = exports.Catalog = exports.Voices = exports.Elevenlabs = exports.Models = exports.Avatars = exports.Calls = exports.ScreenRecording = exports.Recording = exports.Batches = exports.Recipients = exports.Analysis = exports.ProviderKeys = exports.Billing = exports.Credits = exports.Agents = exports.Versions = void 0;
5
- exports.TalqingApi = exports.Whatsapp = exports.TwilioSenders = exports.Templates = exports.Batches3 = exports.Recipients3 = exports.Webhooks = exports.Tools2 = exports.Versions3 = exports.Tasks2 = exports.Versions2 = void 0;
4
+ exports.Tasks2 = exports.Versions2 = exports.Runs = exports.Telephony = exports.Providers = exports.PhoneNumbers = exports.Accounts = exports.Streams = exports.Secrets = exports.Schemas = exports.Functions = exports.Observability = exports.Integrations = exports.Triggers = exports.McpTools = exports.Faqs = exports.Entries = exports.Email = exports.Senders = exports.Batches2 = exports.Sends = exports.Recipients2 = exports.Copilot = exports.Tools = exports.Tasks = exports.Agents2 = exports.Conversations = exports.Sessions = exports.Items2 = exports.Chats = exports.Tokens = exports.Messages = exports.Items = exports.Analysis2 = exports.Catalog = exports.Voices = exports.Elevenlabs = exports.Models = exports.Avatars = exports.Calls = exports.ScreenRecording = exports.Recording = exports.Batches = exports.Recipients = exports.Analysis = exports.ProviderKeys = exports.Billing = exports.Credits = exports.Agents = exports.Versions = void 0;
5
+ exports.TalqingApi = exports.Whatsapp = exports.TwilioSenders = exports.Templates = exports.Batches3 = exports.Recipients3 = exports.Webhooks = exports.Tools2 = exports.Versions3 = void 0;
6
6
  const client_gen_js_1 = require("./client.gen.js");
7
7
  const index_js_1 = require("./client/index.js");
8
8
  class HeyApiClient {
@@ -551,8 +551,9 @@ class Batches extends HeyApiClient {
551
551
  *
552
552
  * List outbound calling batches, newest first, with live progress.
553
553
  *
554
- * `counts` breaks the recipient list down by outcome and `next_dial_at` says
555
- * when a batch that is not dialling will start again — the clock, not a fault.
554
+ * `counts` breaks the recipient list down by outcome; `next_dial_at` and
555
+ * `next_dial_reason` say when a batch that is not dialling will start again and
556
+ * why — its start time, its window or today's limit, not a fault.
556
557
  * A `failed` batch carries `failure_reason`: the circuit breaker stopped it
557
558
  * after ten consecutive setup failures.
558
559
  */
@@ -588,8 +589,9 @@ class Batches extends HeyApiClient {
588
589
  * greeting. A number that appears twice is refused with both row numbers.
589
590
  *
590
591
  * `start_at` and `calling_window` schedule it in the timezone you give;
591
- * `max_concurrency` and `max_attempts` pace it. A number that was reached is
592
- * never called twice.
592
+ * `max_concurrency`, `max_attempts`, `dial_gap_seconds` and `dial_daily_cap`
593
+ * (a fixed limit or a ramp) pace it. A number that was reached is never
594
+ * called twice.
593
595
  *
594
596
  * Two things you would otherwise learn from an invoice:
595
597
  *
@@ -1864,59 +1866,6 @@ class Agents2 extends HeyApiClient {
1864
1866
  }
1865
1867
  }
1866
1868
  exports.Agents2 = Agents2;
1867
- class Knowledge extends HeyApiClient {
1868
- /**
1869
- * Knowledge Copilot Send Message
1870
- *
1871
- * Say something to KnowledgeCoPilot. The reply arrives on the stream, not here.
1872
- *
1873
- * Returns as soon as the turn is queued; watch `turn` and `message` frames
1874
- * on the matching `/stream` for what it does.
1875
- */
1876
- send(parameters, options) {
1877
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }, { key: 'sendMessageRequest', map: 'body' }] }]);
1878
- return (options?.client ?? this.client).post({
1879
- responseStyle: 'data',
1880
- security: [{ scheme: 'bearer', type: 'http' }, {
1881
- in: 'cookie',
1882
- name: 'talqing_session',
1883
- type: 'apiKey'
1884
- }],
1885
- url: '/v1/copilot/knowledge/{kb_id}/messages',
1886
- ...options,
1887
- ...params,
1888
- headers: {
1889
- 'Content-Type': 'application/json',
1890
- ...options?.headers,
1891
- ...params.headers
1892
- }
1893
- });
1894
- }
1895
- /**
1896
- * Knowledge Copilot Stream
1897
- *
1898
- * KnowledgeCoPilot's curation chat for one knowledge base.
1899
- *
1900
- * Frames: `snapshot` (the whole conversation, sent first and on every
1901
- * reconnect), `message` (one new message), `turn` (that turn's lifecycle —
1902
- * `running`, `done`, `error`, `canceled`).
1903
- */
1904
- stream(parameters, options) {
1905
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }] }]);
1906
- return (options?.client ?? this.client).sse.get({
1907
- responseStyle: 'data',
1908
- security: [{ scheme: 'bearer', type: 'http' }, {
1909
- in: 'cookie',
1910
- name: 'talqing_session',
1911
- type: 'apiKey'
1912
- }],
1913
- url: '/v1/copilot/knowledge/{kb_id}/stream',
1914
- ...options,
1915
- ...params
1916
- });
1917
- }
1918
- }
1919
- exports.Knowledge = Knowledge;
1920
1869
  class Tasks extends HeyApiClient {
1921
1870
  /**
1922
1871
  * Task Copilot Send Message
@@ -2027,9 +1976,6 @@ class Copilot extends HeyApiClient {
2027
1976
  get agents() {
2028
1977
  return this._agents ?? (this._agents = new Agents2({ client: this.client }));
2029
1978
  }
2030
- get knowledge() {
2031
- return this._knowledge ?? (this._knowledge = new Knowledge({ client: this.client }));
2032
- }
2033
1979
  get tasks() {
2034
1980
  return this._tasks ?? (this._tasks = new Tasks({ client: this.client }));
2035
1981
  }
@@ -2251,7 +2197,8 @@ class Sends extends HeyApiClient {
2251
2197
  * drafting runs. It cannot be live beside another send of the batch (409).
2252
2198
  *
2253
2199
  * `start_at` schedules it, `window` holds it to business hours, and
2254
- * `send_gap_seconds` and `send_daily_cap` pace the whole batch. Everything
2200
+ * `send_gap_seconds` and `send_daily_cap` (a fixed limit or a ramp) pace the
2201
+ * whole batch. Everything
2255
2202
  * omitted comes from the batch. Cancelling it leaves the unsent rows as drafts.
2256
2203
  */
2257
2204
  create(parameters, options) {
@@ -2488,7 +2435,7 @@ class Batches2 extends HeyApiClient {
2488
2435
  * One batch: its policy, its per-status counts and what drafting has cost.
2489
2436
  *
2490
2437
  * `drafted_versions` says which published version of the task wrote how many
2491
- * rows, and `sent_today` how much of `send_daily_cap` is left today.
2438
+ * rows, and `sent_today` how much of `send_daily_cap_today` is left.
2492
2439
  */
2493
2440
  get(parameters, options) {
2494
2441
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }] }]);
@@ -2643,75 +2590,15 @@ class Email extends HeyApiClient {
2643
2590
  }
2644
2591
  }
2645
2592
  exports.Email = Email;
2646
- class McpTools extends HeyApiClient {
2647
- /**
2648
- * List Integration Mcp Tools
2649
- *
2650
- * Connect to the integration's MCP server and list every tool it offers.
2651
- *
2652
- * A live call to the provider, so it also proves the connection works. The
2653
- * list is unfiltered — it is what tool approval is chosen from. Which of these
2654
- * an attached agent can actually call is the integration's `allowed_tools`
2655
- * (null there means all of them). Fails if the integration is not active or
2656
- * the server is unreachable.
2657
- */
2658
- list(parameters, options) {
2659
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }] }]);
2660
- return (options?.client ?? this.client).get({
2661
- responseStyle: 'data',
2662
- security: [{ scheme: 'bearer', type: 'http' }, {
2663
- in: 'cookie',
2664
- name: 'talqing_session',
2665
- type: 'apiKey'
2666
- }],
2667
- url: '/v1/integrations/{integration_id}/mcp-tools',
2668
- ...options,
2669
- ...params
2670
- });
2671
- }
2672
- }
2673
- exports.McpTools = McpTools;
2674
- class Triggers extends HeyApiClient {
2675
- /**
2676
- * List Integration Triggers
2677
- *
2678
- * List the trigger deployments under an integration.
2679
- *
2680
- * A trigger binds an inbound provider event — a Telegram message — to a
2681
- * published agent version.
2682
- */
2683
- list(parameters, options) {
2684
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
2685
- { in: 'path', key: 'integration_id' },
2686
- { in: 'query', key: 'limit' },
2687
- { in: 'query', key: 'offset' }
2688
- ] }]);
2689
- return (options?.client ?? this.client).get({
2690
- responseStyle: 'data',
2691
- security: [{ scheme: 'bearer', type: 'http' }, {
2692
- in: 'cookie',
2693
- name: 'talqing_session',
2694
- type: 'apiKey'
2695
- }],
2696
- url: '/v1/integrations/{integration_id}/triggers',
2697
- ...options,
2698
- ...params
2699
- });
2700
- }
2593
+ class Entries extends HeyApiClient {
2701
2594
  /**
2702
- * Create Integration Trigger
2703
- *
2704
- * Deploy an agent to an inbound provider event.
2595
+ * Create Faq Entries
2705
2596
  *
2706
- * `reply_mode` decides what happens with the agent's answer: `public_reply`
2707
- * sends it to the customer, `internal_note` posts it privately where the
2708
- * provider supports that, `none` generates without sending.
2709
- *
2710
- * Enabling validates that the integration is active and the assigned agent is
2711
- * a published text agent, so create disabled while still wiring things up.
2597
+ * Append question/answer entries to an FAQ, all or nothing. Live at once:
2598
+ * agents using the FAQ read them from their next session.
2712
2599
  */
2713
2600
  create(parameters, options) {
2714
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }, { key: 'createIntegrationTriggerRequest', map: 'body' }] }]);
2601
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'faq_id' }, { key: 'createFaqEntriesRequest', map: 'body' }] }]);
2715
2602
  return (options?.client ?? this.client).post({
2716
2603
  responseStyle: 'data',
2717
2604
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -2719,7 +2606,7 @@ class Triggers extends HeyApiClient {
2719
2606
  name: 'talqing_session',
2720
2607
  type: 'apiKey'
2721
2608
  }],
2722
- url: '/v1/integrations/{integration_id}/triggers',
2609
+ url: '/v1/faqs/{faq_id}/entries',
2723
2610
  ...options,
2724
2611
  ...params,
2725
2612
  headers: {
@@ -2730,12 +2617,12 @@ class Triggers extends HeyApiClient {
2730
2617
  });
2731
2618
  }
2732
2619
  /**
2733
- * Delete Integration Trigger
2620
+ * Delete Faq Entry
2734
2621
  *
2735
- * Delete a trigger permanently. The agent stops receiving that event.
2622
+ * Delete one entry from an FAQ.
2736
2623
  */
2737
2624
  delete(parameters, options) {
2738
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }, { in: 'path', key: 'trigger_id' }] }]);
2625
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'faq_id' }, { in: 'path', key: 'entry_id' }] }]);
2739
2626
  return (options?.client ?? this.client).delete({
2740
2627
  responseStyle: 'data',
2741
2628
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -2743,25 +2630,21 @@ class Triggers extends HeyApiClient {
2743
2630
  name: 'talqing_session',
2744
2631
  type: 'apiKey'
2745
2632
  }],
2746
- url: '/v1/integrations/{integration_id}/triggers/{trigger_id}',
2633
+ url: '/v1/faqs/{faq_id}/entries/{entry_id}',
2747
2634
  ...options,
2748
2635
  ...params
2749
2636
  });
2750
2637
  }
2751
2638
  /**
2752
- * Patch Integration Trigger
2753
- *
2754
- * Update a trigger: reassign the agent, change reply mode, enable or
2755
- * disable it.
2639
+ * Update Faq Entry
2756
2640
  *
2757
- * Omitted fields are left unchanged, and enabling one runs the same checks
2758
- * creating it did.
2641
+ * Change one entry's question, answer or both. Live from the next session.
2759
2642
  */
2760
2643
  update(parameters, options) {
2761
2644
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
2762
- { in: 'path', key: 'integration_id' },
2763
- { in: 'path', key: 'trigger_id' },
2764
- { key: 'patchIntegrationTriggerRequest', map: 'body' }
2645
+ { in: 'path', key: 'faq_id' },
2646
+ { in: 'path', key: 'entry_id' },
2647
+ { key: 'updateFaqEntryRequest', map: 'body' }
2765
2648
  ] }]);
2766
2649
  return (options?.client ?? this.client).patch({
2767
2650
  responseStyle: 'data',
@@ -2770,7 +2653,7 @@ class Triggers extends HeyApiClient {
2770
2653
  name: 'talqing_session',
2771
2654
  type: 'apiKey'
2772
2655
  }],
2773
- url: '/v1/integrations/{integration_id}/triggers/{trigger_id}',
2656
+ url: '/v1/faqs/{faq_id}/entries/{entry_id}',
2774
2657
  ...options,
2775
2658
  ...params,
2776
2659
  headers: {
@@ -2781,15 +2664,12 @@ class Triggers extends HeyApiClient {
2781
2664
  });
2782
2665
  }
2783
2666
  }
2784
- exports.Triggers = Triggers;
2785
- class Integrations extends HeyApiClient {
2667
+ exports.Entries = Entries;
2668
+ class Faqs extends HeyApiClient {
2786
2669
  /**
2787
- * List Integrations
2788
- *
2789
- * List the workspace's integrations with their provider, status and config.
2670
+ * List Faqs
2790
2671
  *
2791
- * Secret values are never returned — credential fields come back as
2792
- * `{{secrets.NAME}}` references.
2672
+ * List the workspace's FAQs by name, with how many questions each holds.
2793
2673
  */
2794
2674
  list(parameters, options) {
2795
2675
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'query', key: 'limit' }, { in: 'query', key: 'offset' }] }]);
@@ -2800,26 +2680,18 @@ class Integrations extends HeyApiClient {
2800
2680
  name: 'talqing_session',
2801
2681
  type: 'apiKey'
2802
2682
  }],
2803
- url: '/v1/integrations',
2683
+ url: '/v1/faqs',
2804
2684
  ...options,
2805
2685
  ...params
2806
2686
  });
2807
2687
  }
2808
2688
  /**
2809
- * Create Integration
2810
- *
2811
- * Create a manual integration, fully configured.
2812
- *
2813
- * Which of `credentials_ref`, `provider_account_info`, `mcp_config` and
2814
- * `webhook_config` a provider needs is described by its `setup_fields` in the
2815
- * integration catalog. Secret-bearing fields take a plaintext value — stored
2816
- * as a workspace secret — or an existing `{{secrets.NAME}}` reference.
2689
+ * Create Faq
2817
2690
  *
2818
- * Leave `allowed_tools` unset to expose every tool the server lists. OAuth
2819
- * providers are connected from the dashboard instead.
2691
+ * Create an FAQ, optionally with its first question/answer entries.
2820
2692
  */
2821
2693
  create(parameters, options) {
2822
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ key: 'createIntegrationRequest', map: 'body' }] }]);
2694
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ key: 'faqDefinition', map: 'body' }] }]);
2823
2695
  return (options?.client ?? this.client).post({
2824
2696
  responseStyle: 'data',
2825
2697
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -2827,7 +2699,7 @@ class Integrations extends HeyApiClient {
2827
2699
  name: 'talqing_session',
2828
2700
  type: 'apiKey'
2829
2701
  }],
2830
- url: '/v1/integrations',
2702
+ url: '/v1/faqs',
2831
2703
  ...options,
2832
2704
  ...params,
2833
2705
  headers: {
@@ -2838,36 +2710,13 @@ class Integrations extends HeyApiClient {
2838
2710
  });
2839
2711
  }
2840
2712
  /**
2841
- * Integration Catalog
2842
- *
2843
- * List the providers that can be integrated, and how to connect each one.
2844
- *
2845
- * `auth_type` says which path a provider takes: `manual` through this API,
2846
- * `oauth` from the dashboard. `setup_fields` is the authoritative list of what
2847
- * each manual provider requires — read it rather than guessing. `capabilities`
2848
- * says whether it serves tools (MCP) or a messaging channel (triggers).
2849
- */
2850
- catalog(parameters, options) {
2851
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'query', key: 'limit' }, { in: 'query', key: 'offset' }] }]);
2852
- return (options?.client ?? this.client).get({
2853
- responseStyle: 'data',
2854
- security: [{ scheme: 'bearer', type: 'http' }, {
2855
- in: 'cookie',
2856
- name: 'talqing_session',
2857
- type: 'apiKey'
2858
- }],
2859
- url: '/v1/integrations/catalog',
2860
- ...options,
2861
- ...params
2862
- });
2863
- }
2864
- /**
2865
- * Delete Integration
2713
+ * Delete Faq
2866
2714
  *
2867
- * Delete an integration and its triggers permanently.
2715
+ * Delete an FAQ and its entries. Refused with 409 while an agent or task
2716
+ * still attaches it.
2868
2717
  */
2869
2718
  delete(parameters, options) {
2870
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }] }]);
2719
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'faq_id' }] }]);
2871
2720
  return (options?.client ?? this.client).delete({
2872
2721
  responseStyle: 'data',
2873
2722
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -2875,19 +2724,18 @@ class Integrations extends HeyApiClient {
2875
2724
  name: 'talqing_session',
2876
2725
  type: 'apiKey'
2877
2726
  }],
2878
- url: '/v1/integrations/{integration_id}',
2727
+ url: '/v1/faqs/{faq_id}',
2879
2728
  ...options,
2880
2729
  ...params
2881
2730
  });
2882
2731
  }
2883
2732
  /**
2884
- * Get Integration
2733
+ * Get Faq
2885
2734
  *
2886
- * Fetch one integration: provider, status, structured config, trigger
2887
- * capabilities and inbound webhook setup state.
2735
+ * Get one FAQ with every entry, in the order they were added.
2888
2736
  */
2889
2737
  get(parameters, options) {
2890
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }] }]);
2738
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'faq_id' }] }]);
2891
2739
  return (options?.client ?? this.client).get({
2892
2740
  responseStyle: 'data',
2893
2741
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -2895,26 +2743,18 @@ class Integrations extends HeyApiClient {
2895
2743
  name: 'talqing_session',
2896
2744
  type: 'apiKey'
2897
2745
  }],
2898
- url: '/v1/integrations/{integration_id}',
2746
+ url: '/v1/faqs/{faq_id}',
2899
2747
  ...options,
2900
2748
  ...params
2901
2749
  });
2902
2750
  }
2903
2751
  /**
2904
- * Patch Integration
2905
- *
2906
- * Update an integration. Omitted fields are left unchanged.
2752
+ * Update Faq
2907
2753
  *
2908
- * Sending `credentials_ref` rotates the credential. Only `active` integrations
2909
- * can be attached to agents or serve triggers.
2910
- *
2911
- * `allowed_tools` replaces the approved list wholesale: exactly those tools
2912
- * become callable by every agent this integration is attached to. It cannot be
2913
- * emptied — an agent that should call nothing is an integration that should be
2914
- * disabled.
2754
+ * Rename an FAQ.
2915
2755
  */
2916
2756
  update(parameters, options) {
2917
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }, { key: 'patchIntegrationRequest', map: 'body' }] }]);
2757
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'faq_id' }, { key: 'updateFaqRequest', map: 'body' }] }]);
2918
2758
  return (options?.client ?? this.client).patch({
2919
2759
  responseStyle: 'data',
2920
2760
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -2922,7 +2762,7 @@ class Integrations extends HeyApiClient {
2922
2762
  name: 'talqing_session',
2923
2763
  type: 'apiKey'
2924
2764
  }],
2925
- url: '/v1/integrations/{integration_id}',
2765
+ url: '/v1/faqs/{faq_id}',
2926
2766
  ...options,
2927
2767
  ...params,
2928
2768
  headers: {
@@ -2932,46 +2772,54 @@ class Integrations extends HeyApiClient {
2932
2772
  }
2933
2773
  });
2934
2774
  }
2935
- get mcpTools() {
2936
- return this._mcpTools ?? (this._mcpTools = new McpTools({ client: this.client }));
2937
- }
2938
- get triggers() {
2939
- return this._triggers ?? (this._triggers = new Triggers({ client: this.client }));
2775
+ get entries() {
2776
+ return this._entries ?? (this._entries = new Entries({ client: this.client }));
2940
2777
  }
2941
2778
  }
2942
- exports.Integrations = Integrations;
2943
- class Nodes extends HeyApiClient {
2779
+ exports.Faqs = Faqs;
2780
+ class McpTools extends HeyApiClient {
2944
2781
  /**
2945
- * Delete Node
2782
+ * List Integration Mcp Tools
2946
2783
  *
2947
- * Drop one entry from the table of contents, permanently.
2784
+ * Connect to the integration's MCP server and list every tool it offers.
2948
2785
  *
2949
- * Its children go with it, and agents can no longer retrieve any of it.
2786
+ * A live call to the provider, so it also proves the connection works. The
2787
+ * list is unfiltered — it is what tool approval is chosen from. Which of these
2788
+ * an attached agent can actually call is the integration's `allowed_tools`
2789
+ * (null there means all of them). Fails if the integration is not active or
2790
+ * the server is unreachable.
2950
2791
  */
2951
- delete(parameters, options) {
2952
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }, { in: 'path', key: 'node_id' }] }]);
2953
- return (options?.client ?? this.client).delete({
2792
+ list(parameters, options) {
2793
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }] }]);
2794
+ return (options?.client ?? this.client).get({
2954
2795
  responseStyle: 'data',
2955
2796
  security: [{ scheme: 'bearer', type: 'http' }, {
2956
2797
  in: 'cookie',
2957
2798
  name: 'talqing_session',
2958
2799
  type: 'apiKey'
2959
2800
  }],
2960
- url: '/v1/knowledge/{kb_id}/nodes/{node_id}',
2801
+ url: '/v1/integrations/{integration_id}/mcp-tools',
2961
2802
  ...options,
2962
2803
  ...params
2963
2804
  });
2964
2805
  }
2806
+ }
2807
+ exports.McpTools = McpTools;
2808
+ class Triggers extends HeyApiClient {
2965
2809
  /**
2966
- * Get Node
2810
+ * List Integration Triggers
2967
2811
  *
2968
- * Read one entry of the table of contents, with its full content.
2812
+ * List the trigger deployments under an integration.
2969
2813
  *
2970
- * This is the text an agent retrieves when it fetches this node. `version` is
2971
- * what `patch_node` needs for a safe edit.
2814
+ * A trigger binds an inbound provider event — a Telegram message — to a
2815
+ * published agent version.
2972
2816
  */
2973
- get(parameters, options) {
2974
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }, { in: 'path', key: 'node_id' }] }]);
2817
+ list(parameters, options) {
2818
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
2819
+ { in: 'path', key: 'integration_id' },
2820
+ { in: 'query', key: 'limit' },
2821
+ { in: 'query', key: 'offset' }
2822
+ ] }]);
2975
2823
  return (options?.client ?? this.client).get({
2976
2824
  responseStyle: 'data',
2977
2825
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -2979,37 +2827,33 @@ class Nodes extends HeyApiClient {
2979
2827
  name: 'talqing_session',
2980
2828
  type: 'apiKey'
2981
2829
  }],
2982
- url: '/v1/knowledge/{kb_id}/nodes/{node_id}',
2830
+ url: '/v1/integrations/{integration_id}/triggers',
2983
2831
  ...options,
2984
2832
  ...params
2985
2833
  });
2986
2834
  }
2987
2835
  /**
2988
- * Patch Node
2836
+ * Create Integration Trigger
2989
2837
  *
2990
- * Correct one entry's title, summary or content by hand — the way to fix a
2991
- * fact the crawl got wrong without rebuilding.
2838
+ * Deploy an agent to an inbound provider event.
2992
2839
  *
2993
- * `title` and `summary` are what the agent sees in the table of contents and
2994
- * decide whether it ever fetches this node, so keep them accurate.
2840
+ * `reply_mode` decides what happens with the agent's answer: `public_reply`
2841
+ * sends it to the customer, `internal_note` posts it privately where the
2842
+ * provider supports that, `none` generates without sending.
2995
2843
  *
2996
- * Send the `version` you read from `get_node`; a mismatch is rejected rather
2997
- * than overwriting someone else's edit.
2844
+ * Enabling validates that the integration is active and the assigned agent is
2845
+ * a published text agent, so create disabled while still wiring things up.
2998
2846
  */
2999
- update(parameters, options) {
3000
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
3001
- { in: 'path', key: 'kb_id' },
3002
- { in: 'path', key: 'node_id' },
3003
- { key: 'patchNodeRequest', map: 'body' }
3004
- ] }]);
3005
- return (options?.client ?? this.client).patch({
2847
+ create(parameters, options) {
2848
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }, { key: 'createIntegrationTriggerRequest', map: 'body' }] }]);
2849
+ return (options?.client ?? this.client).post({
3006
2850
  responseStyle: 'data',
3007
2851
  security: [{ scheme: 'bearer', type: 'http' }, {
3008
2852
  in: 'cookie',
3009
2853
  name: 'talqing_session',
3010
2854
  type: 'apiKey'
3011
2855
  }],
3012
- url: '/v1/knowledge/{kb_id}/nodes/{node_id}',
2856
+ url: '/v1/integrations/{integration_id}/triggers',
3013
2857
  ...options,
3014
2858
  ...params,
3015
2859
  headers: {
@@ -3019,82 +2863,48 @@ class Nodes extends HeyApiClient {
3019
2863
  }
3020
2864
  });
3021
2865
  }
3022
- }
3023
- exports.Nodes = Nodes;
3024
- class Pages extends HeyApiClient {
3025
- /**
3026
- * List Pages
3027
- *
3028
- * List the crawled pages and how each one transcribed.
3029
- *
3030
- * Where you look when a knowledge base is missing something: a page with a
3031
- * non-`done` status and an `error` never made it in, and `content_len` of 0
3032
- * means the URL yielded nothing worth indexing.
3033
- */
3034
- list(parameters, options) {
3035
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
3036
- { in: 'path', key: 'kb_id' },
3037
- { in: 'query', key: 'limit' },
3038
- { in: 'query', key: 'offset' }
3039
- ] }]);
3040
- return (options?.client ?? this.client).get({
3041
- responseStyle: 'data',
3042
- security: [{ scheme: 'bearer', type: 'http' }, {
3043
- in: 'cookie',
3044
- name: 'talqing_session',
3045
- type: 'apiKey'
3046
- }],
3047
- url: '/v1/knowledge/{kb_id}/pages',
3048
- ...options,
3049
- ...params
3050
- });
3051
- }
3052
- }
3053
- exports.Pages = Pages;
3054
- class Knowledge2 extends HeyApiClient {
3055
2866
  /**
3056
- * List Kbs
3057
- *
3058
- * List the workspace's knowledge bases with their build status.
2867
+ * Delete Integration Trigger
3059
2868
  *
3060
- * A knowledge base gives an agent grounded answers over crawled content. Only
3061
- * one with status `ready` can be attached to an agent, through the agent
3062
- * config's `kb_ids`.
2869
+ * Delete a trigger permanently. The agent stops receiving that event.
3063
2870
  */
3064
- list(parameters, options) {
3065
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'query', key: 'limit' }, { in: 'query', key: 'offset' }] }]);
3066
- return (options?.client ?? this.client).get({
2871
+ delete(parameters, options) {
2872
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }, { in: 'path', key: 'trigger_id' }] }]);
2873
+ return (options?.client ?? this.client).delete({
3067
2874
  responseStyle: 'data',
3068
2875
  security: [{ scheme: 'bearer', type: 'http' }, {
3069
2876
  in: 'cookie',
3070
2877
  name: 'talqing_session',
3071
2878
  type: 'apiKey'
3072
2879
  }],
3073
- url: '/v1/knowledge',
2880
+ url: '/v1/integrations/{integration_id}/triggers/{trigger_id}',
3074
2881
  ...options,
3075
2882
  ...params
3076
2883
  });
3077
2884
  }
3078
2885
  /**
3079
- * Create Kb
2886
+ * Patch Integration Trigger
3080
2887
  *
3081
- * Start a knowledge base by crawling one or more websites.
2888
+ * Update a trigger: reassign the agent, change reply mode, enable or
2889
+ * disable it.
3082
2890
  *
3083
- * Returns immediately with `status: discovering` — crawling takes minutes.
3084
- * Poll `get_kb` until `review`, then pass the URLs worth indexing to
3085
- * `build_kb`. `max_pages` caps how many discovery may find (default 1000) and
3086
- * `notes` guides how the content is transcribed and organized.
2891
+ * Omitted fields are left unchanged, and enabling one runs the same checks
2892
+ * creating it did.
3087
2893
  */
3088
- create(parameters, options) {
3089
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ key: 'createKbRequest', map: 'body' }] }]);
3090
- return (options?.client ?? this.client).post({
2894
+ update(parameters, options) {
2895
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
2896
+ { in: 'path', key: 'integration_id' },
2897
+ { in: 'path', key: 'trigger_id' },
2898
+ { key: 'patchIntegrationTriggerRequest', map: 'body' }
2899
+ ] }]);
2900
+ return (options?.client ?? this.client).patch({
3091
2901
  responseStyle: 'data',
3092
2902
  security: [{ scheme: 'bearer', type: 'http' }, {
3093
2903
  in: 'cookie',
3094
2904
  name: 'talqing_session',
3095
2905
  type: 'apiKey'
3096
2906
  }],
3097
- url: '/v1/knowledge',
2907
+ url: '/v1/integrations/{integration_id}/triggers/{trigger_id}',
3098
2908
  ...options,
3099
2909
  ...params,
3100
2910
  headers: {
@@ -3104,115 +2914,114 @@ class Knowledge2 extends HeyApiClient {
3104
2914
  }
3105
2915
  });
3106
2916
  }
2917
+ }
2918
+ exports.Triggers = Triggers;
2919
+ class Integrations extends HeyApiClient {
3107
2920
  /**
3108
- * Delete Kb
2921
+ * List Integrations
3109
2922
  *
3110
- * Delete a knowledge base and everything crawled into it, permanently.
2923
+ * List the workspace's integrations with their provider, status and config.
3111
2924
  *
3112
- * Rebuilding means crawling the site again. Agents that list it in `kb_ids`
3113
- * lose those grounded answers, so detach it there first.
2925
+ * Secret values are never returned — credential fields come back as
2926
+ * `{{secrets.NAME}}` references.
3114
2927
  */
3115
- delete(parameters, options) {
3116
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }] }]);
3117
- return (options?.client ?? this.client).delete({
2928
+ list(parameters, options) {
2929
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'query', key: 'limit' }, { in: 'query', key: 'offset' }] }]);
2930
+ return (options?.client ?? this.client).get({
3118
2931
  responseStyle: 'data',
3119
2932
  security: [{ scheme: 'bearer', type: 'http' }, {
3120
2933
  in: 'cookie',
3121
2934
  name: 'talqing_session',
3122
2935
  type: 'apiKey'
3123
2936
  }],
3124
- url: '/v1/knowledge/{kb_id}',
2937
+ url: '/v1/integrations',
3125
2938
  ...options,
3126
2939
  ...params
3127
2940
  });
3128
2941
  }
3129
2942
  /**
3130
- * Get Kb
2943
+ * Create Integration
3131
2944
  *
3132
- * Read one knowledge base: build status, progress and content tree.
2945
+ * Create a manual integration, fully configured.
2946
+ *
2947
+ * Which of `credentials_ref`, `provider_account_info`, `mcp_config` and
2948
+ * `webhook_config` a provider needs is described by its `setup_fields` in the
2949
+ * integration catalog. Secret-bearing fields take a plaintext value — stored
2950
+ * as a workspace secret — or an existing `{{secrets.NAME}}` reference.
3133
2951
  *
3134
- * `status` walks `discovering` -> `review` -> `transcribing` -> `generating`
3135
- * -> `ready`, with `error` set if it stopped. At `review`, `discovered` holds
3136
- * the crawled URLs awaiting your selection; once ready, `tree` is the table of
3137
- * contents. This is the endpoint to poll while a build runs.
2952
+ * Leave `allowed_tools` unset to expose every tool the server lists. OAuth
2953
+ * providers are connected from the dashboard instead.
3138
2954
  */
3139
- get(parameters, options) {
3140
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }] }]);
3141
- return (options?.client ?? this.client).get({
2955
+ create(parameters, options) {
2956
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ key: 'createIntegrationRequest', map: 'body' }] }]);
2957
+ return (options?.client ?? this.client).post({
3142
2958
  responseStyle: 'data',
3143
2959
  security: [{ scheme: 'bearer', type: 'http' }, {
3144
2960
  in: 'cookie',
3145
2961
  name: 'talqing_session',
3146
2962
  type: 'apiKey'
3147
2963
  }],
3148
- url: '/v1/knowledge/{kb_id}',
2964
+ url: '/v1/integrations',
3149
2965
  ...options,
3150
- ...params
2966
+ ...params,
2967
+ headers: {
2968
+ 'Content-Type': 'application/json',
2969
+ ...options?.headers,
2970
+ ...params.headers
2971
+ }
3151
2972
  });
3152
2973
  }
3153
2974
  /**
3154
- * Build Kb
2975
+ * Integration Catalog
3155
2976
  *
3156
- * Index the chosen pages, then write the table of contents.
2977
+ * List the providers that can be integrated, and how to connect each one.
3157
2978
  *
3158
- * Call this once the knowledge base reaches `review`, passing the subset of
3159
- * `discovered` URLs worth indexing — the KB is only as good as that choice.
3160
- * Returns as soon as the work is queued; poll `get_kb` until `ready`, which is
3161
- * when it can be attached to an agent.
2979
+ * `auth_type` says which path a provider takes: `manual` through this API,
2980
+ * `oauth` from the dashboard. `setup_fields` is the authoritative list of what
2981
+ * each manual provider requires — read it rather than guessing. `capabilities`
2982
+ * says whether it serves tools (MCP) or a messaging channel (triggers).
3162
2983
  */
3163
- build(parameters, options) {
3164
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }, { key: 'buildKbRequest', map: 'body' }] }]);
3165
- return (options?.client ?? this.client).post({
2984
+ catalog(parameters, options) {
2985
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'query', key: 'limit' }, { in: 'query', key: 'offset' }] }]);
2986
+ return (options?.client ?? this.client).get({
3166
2987
  responseStyle: 'data',
3167
2988
  security: [{ scheme: 'bearer', type: 'http' }, {
3168
2989
  in: 'cookie',
3169
2990
  name: 'talqing_session',
3170
2991
  type: 'apiKey'
3171
2992
  }],
3172
- url: '/v1/knowledge/{kb_id}/build',
2993
+ url: '/v1/integrations/catalog',
3173
2994
  ...options,
3174
- ...params,
3175
- headers: {
3176
- 'Content-Type': 'application/json',
3177
- ...options?.headers,
3178
- ...params.headers
3179
- }
2995
+ ...params
3180
2996
  });
3181
2997
  }
3182
2998
  /**
3183
- * Events
3184
- *
3185
- * Watch one knowledge base build: `snapshot` first, then `progress` and `status`.
2999
+ * Delete Integration
3186
3000
  *
3187
- * `progress` carries the per-stage counts, `status` the terminal verdict
3188
- * (`ready`, or an `error`). The same state is readable at any time with
3189
- * `get_kb`; this is the live view of it.
3001
+ * Delete an integration and its triggers permanently.
3190
3002
  */
3191
- events(parameters, options) {
3192
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }] }]);
3193
- return (options?.client ?? this.client).sse.get({
3003
+ delete(parameters, options) {
3004
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }] }]);
3005
+ return (options?.client ?? this.client).delete({
3194
3006
  responseStyle: 'data',
3195
3007
  security: [{ scheme: 'bearer', type: 'http' }, {
3196
3008
  in: 'cookie',
3197
3009
  name: 'talqing_session',
3198
3010
  type: 'apiKey'
3199
3011
  }],
3200
- url: '/v1/knowledge/{kb_id}/events',
3012
+ url: '/v1/integrations/{integration_id}',
3201
3013
  ...options,
3202
3014
  ...params
3203
3015
  });
3204
3016
  }
3205
3017
  /**
3206
- * Get Kb Prompt
3207
- *
3208
- * The table of contents exactly as an agent using this KB is given it.
3018
+ * Get Integration
3209
3019
  *
3210
- * Read it to judge what the agent can actually find — if a topic reads
3211
- * vaguely here, the agent will not know to fetch it. `chars` is how much of
3212
- * the agent's context this KB occupies.
3020
+ * Fetch one integration: provider, status, structured config, trigger
3021
+ * capabilities and inbound webhook setup state.
3213
3022
  */
3214
- prompt(parameters, options) {
3215
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }] }]);
3023
+ get(parameters, options) {
3024
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }] }]);
3216
3025
  return (options?.client ?? this.client).get({
3217
3026
  responseStyle: 'data',
3218
3027
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -3220,42 +3029,51 @@ class Knowledge2 extends HeyApiClient {
3220
3029
  name: 'talqing_session',
3221
3030
  type: 'apiKey'
3222
3031
  }],
3223
- url: '/v1/knowledge/{kb_id}/prompt',
3032
+ url: '/v1/integrations/{integration_id}',
3224
3033
  ...options,
3225
3034
  ...params
3226
3035
  });
3227
3036
  }
3228
3037
  /**
3229
- * Regenerate Toc
3038
+ * Patch Integration
3039
+ *
3040
+ * Update an integration. Omitted fields are left unchanged.
3230
3041
  *
3231
- * Rewrite the table of contents from the pages already indexed.
3042
+ * Sending `credentials_ref` rotates the credential. Only `active` integrations
3043
+ * can be attached to agents or serve triggers.
3232
3044
  *
3233
- * The repair for a knowledge base whose structure came out wrong, or whose
3234
- * build failed at the last stage: it re-runs only that stage, so the site is
3235
- * not crawled or transcribed again.
3045
+ * `allowed_tools` replaces the approved list wholesale: exactly those tools
3046
+ * become callable by every agent this integration is attached to. It cannot be
3047
+ * emptied — an agent that should call nothing is an integration that should be
3048
+ * disabled.
3236
3049
  */
3237
- regenerateToc(parameters, options) {
3238
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'kb_id' }] }]);
3239
- return (options?.client ?? this.client).post({
3050
+ update(parameters, options) {
3051
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'integration_id' }, { key: 'patchIntegrationRequest', map: 'body' }] }]);
3052
+ return (options?.client ?? this.client).patch({
3240
3053
  responseStyle: 'data',
3241
3054
  security: [{ scheme: 'bearer', type: 'http' }, {
3242
3055
  in: 'cookie',
3243
3056
  name: 'talqing_session',
3244
3057
  type: 'apiKey'
3245
3058
  }],
3246
- url: '/v1/knowledge/{kb_id}/toc',
3059
+ url: '/v1/integrations/{integration_id}',
3247
3060
  ...options,
3248
- ...params
3061
+ ...params,
3062
+ headers: {
3063
+ 'Content-Type': 'application/json',
3064
+ ...options?.headers,
3065
+ ...params.headers
3066
+ }
3249
3067
  });
3250
3068
  }
3251
- get nodes() {
3252
- return this._nodes ?? (this._nodes = new Nodes({ client: this.client }));
3069
+ get mcpTools() {
3070
+ return this._mcpTools ?? (this._mcpTools = new McpTools({ client: this.client }));
3253
3071
  }
3254
- get pages() {
3255
- return this._pages ?? (this._pages = new Pages({ client: this.client }));
3072
+ get triggers() {
3073
+ return this._triggers ?? (this._triggers = new Triggers({ client: this.client }));
3256
3074
  }
3257
3075
  }
3258
- exports.Knowledge2 = Knowledge2;
3076
+ exports.Integrations = Integrations;
3259
3077
  class Observability extends HeyApiClient {
3260
3078
  /**
3261
3079
  * Get Observability
@@ -5022,8 +4840,8 @@ class Batches3 extends HeyApiClient {
5022
4840
  * Send every ready row. **This messages real people and cannot be undone.**
5023
4841
  *
5024
4842
  * `start_at` schedules it, `window` holds it to business hours, and
5025
- * `send_daily_cap` (default 250, Meta's lowest tier) and `send_gap_seconds`
5026
- * pace it.
4843
+ * `send_daily_cap` (default a fixed 250, Meta's lowest tier; or a ramp) and
4844
+ * `send_gap_seconds` pace it.
5027
4845
  */
5028
4846
  send(parameters, options) {
5029
4847
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { key: 'sendWhatsAppBatchRequest', map: 'body' }] }]);
@@ -5161,12 +4979,12 @@ class TalqingApi extends HeyApiClient {
5161
4979
  get email() {
5162
4980
  return this._email ?? (this._email = new Email({ client: this.client }));
5163
4981
  }
4982
+ get faqs() {
4983
+ return this._faqs ?? (this._faqs = new Faqs({ client: this.client }));
4984
+ }
5164
4985
  get integrations() {
5165
4986
  return this._integrations ?? (this._integrations = new Integrations({ client: this.client }));
5166
4987
  }
5167
- get knowledge() {
5168
- return this._knowledge ?? (this._knowledge = new Knowledge2({ client: this.client }));
5169
- }
5170
4988
  get observability() {
5171
4989
  return this._observability ?? (this._observability = new Observability({ client: this.client }));
5172
4990
  }