bunnyquery 1.10.11 → 1.11.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/engine.cjs CHANGED
@@ -61,6 +61,46 @@ function chatEngineConfig() {
61
61
  }
62
62
  return _config;
63
63
  }
64
+ function resolveForwardRequest() {
65
+ const cfg = chatEngineConfig();
66
+ const fwd = cfg.forwardRequest;
67
+ if (typeof fwd === "function") {
68
+ return (opts) => fwd.call(cfg, null, opts);
69
+ }
70
+ const legacy = cfg.clientSecretRequest;
71
+ if (typeof legacy === "function") {
72
+ return (opts) => {
73
+ if (!opts || typeof opts !== "object" || !("secretName" in opts)) return legacy.call(cfg, opts);
74
+ const { secretName, ...rest } = opts;
75
+ return legacy.call(cfg, Object.assign({ clientSecretName: secretName }, rest));
76
+ };
77
+ }
78
+ throw new Error(
79
+ "[chat-engine] No request transport: configureChatEngine() needs forwardRequest (or the deprecated clientSecretRequest), bound to a skapi instance."
80
+ );
81
+ }
82
+ function resolveForwardRequestHistory() {
83
+ const cfg = chatEngineConfig();
84
+ const hist = typeof cfg.forwardRequestHistory === "function" ? cfg.forwardRequestHistory : cfg.clientSecretRequestHistory;
85
+ if (typeof hist === "function") {
86
+ return (params, fetchOptions) => hist.call(cfg, params, fetchOptions);
87
+ }
88
+ throw new Error(
89
+ "[chat-engine] No history transport: configureChatEngine() needs forwardRequestHistory (or the deprecated clientSecretRequestHistory), bound to a skapi instance."
90
+ );
91
+ }
92
+ function resolveForwardRequestFinalize() {
93
+ const cfg = chatEngineConfig();
94
+ if (typeof cfg.forwardRequestFinalize === "function") return cfg.forwardRequestFinalize;
95
+ if (typeof cfg.clientSecretRequestFinalize === "function") return cfg.clientSecretRequestFinalize;
96
+ return void 0;
97
+ }
98
+ function resolveForwardRequestStream() {
99
+ const cfg = chatEngineConfig();
100
+ if (typeof cfg.forwardRequestStream === "function") return cfg.forwardRequestStream;
101
+ if (typeof cfg.clientSecretRequestStream === "function") return cfg.clientSecretRequestStream;
102
+ return void 0;
103
+ }
64
104
  function windowedIndexingEnabled() {
65
105
  return _config?.windowedIndexing === true;
66
106
  }
@@ -71,11 +111,13 @@ function liveStreamingEnabled() {
71
111
  return _config?.liveStreaming === true;
72
112
  }
73
113
  function streamRecoveryEnabled() {
74
- if (_config?.streamRecovery === false) return false;
75
- return typeof _config?.clientSecretRequestStream === "function";
114
+ if (!_config) return false;
115
+ if (_config.streamRecovery === false) return false;
116
+ return typeof resolveForwardRequestStream() === "function";
76
117
  }
77
118
  function skapiSupportsStreaming(sk) {
78
- return !!sk && typeof sk.clientSecretRequestStream === "function" && typeof sk.clientSecretRequestFinalize === "function";
119
+ if (!sk) return false;
120
+ return typeof sk.forwardRequestStream === "function" && typeof sk.forwardRequestFinalize === "function" || typeof sk.clientSecretRequestStream === "function" && typeof sk.clientSecretRequestFinalize === "function";
79
121
  }
80
122
  function pollOpt() {
81
123
  const p = _config?.poll;
@@ -2177,7 +2219,7 @@ function mcpEndpointFor(anonymous, publicProjectId, service) {
2177
2219
  const project = publicProjectId || service;
2178
2220
  return { url: String(mcpUrl()).replace(/\/+$/, "") + "/p/" + project };
2179
2221
  }
2180
- var clientSecretRequest = (opts) => chatEngineConfig().clientSecretRequest(opts);
2222
+ var forwardRequest = (opts) => resolveForwardRequest()(opts);
2181
2223
  var CHAT_STREAM_ON = Object.freeze({
2182
2224
  transport: Object.freeze({ stream: true }),
2183
2225
  body: Object.freeze({ stream: true })
@@ -2368,8 +2410,8 @@ async function callClaudeWithMcp({
2368
2410
  mcpServerDefinition.authorization_token = mcpServer.authorizationToken;
2369
2411
  }
2370
2412
  const stream = chatStreamWiring(userId || service);
2371
- return clientSecretRequest({
2372
- clientSecretName: "claude",
2413
+ return forwardRequest({
2414
+ secretName: "claude",
2373
2415
  queue: userId || service,
2374
2416
  service,
2375
2417
  owner,
@@ -2474,8 +2516,8 @@ async function callOpenAIWithPublicMcp(prompt, service, owner, messages, system,
2474
2516
  }))
2475
2517
  ];
2476
2518
  const stream = chatStreamWiring(userId || service);
2477
- return clientSecretRequest({
2478
- clientSecretName: "openai",
2519
+ return forwardRequest({
2520
+ secretName: "openai",
2479
2521
  queue: userId || service,
2480
2522
  service,
2481
2523
  owner,
@@ -2624,8 +2666,8 @@ async function notifyAgentSaveAttachment(info) {
2624
2666
  if (platform === "openai") {
2625
2667
  const resolvedModel2 = info.model || DEFAULT_OPENAI_MODEL;
2626
2668
  const imageDetail = getOpenAIImageDetail(resolvedModel2);
2627
- return tapDispatchFailure(clientSecretRequest({
2628
- clientSecretName: "openai",
2669
+ return tapDispatchFailure(forwardRequest({
2670
+ secretName: "openai",
2629
2671
  queue: bgIndexingQueueName(info.userId, service),
2630
2672
  service,
2631
2673
  owner,
@@ -2671,8 +2713,8 @@ async function notifyAgentSaveAttachment(info) {
2671
2713
  }));
2672
2714
  }
2673
2715
  const resolvedModel = info.model || DEFAULT_CLAUDE_MODEL;
2674
- return tapDispatchFailure(clientSecretRequest({
2675
- clientSecretName: "claude",
2716
+ return tapDispatchFailure(forwardRequest({
2717
+ secretName: "claude",
2676
2718
  queue: bgIndexingQueueName(info.userId, service),
2677
2719
  service,
2678
2720
  owner,
@@ -2763,8 +2805,8 @@ function extractOpenAIText(response) {
2763
2805
  return "";
2764
2806
  }
2765
2807
  async function listClaudeModels(service, owner) {
2766
- return clientSecretRequest({
2767
- clientSecretName: "claude",
2808
+ return forwardRequest({
2809
+ secretName: "claude",
2768
2810
  service,
2769
2811
  owner,
2770
2812
  url: ANTHROPIC_MODELS_API_URL,
@@ -2776,8 +2818,8 @@ async function listClaudeModels(service, owner) {
2776
2818
  });
2777
2819
  }
2778
2820
  async function listOpenAIModels(service, owner) {
2779
- return clientSecretRequest({
2780
- clientSecretName: "openai",
2821
+ return forwardRequest({
2822
+ secretName: "openai",
2781
2823
  service,
2782
2824
  owner,
2783
2825
  url: OPENAI_MODELS_API_URL,
@@ -2831,7 +2873,7 @@ async function getChatHistory(params, fetchOptions) {
2831
2873
  params.compact ? { compact: true } : {},
2832
2874
  params.queue_exclude ? { queue_exclude: params.queue_exclude } : {}
2833
2875
  );
2834
- return chatEngineConfig().clientSecretRequestHistory(
2876
+ return resolveForwardRequestHistory()(
2835
2877
  p,
2836
2878
  Object.assign({ ascending: false, limit: CHAT_HISTORY_PAGE_LIMIT }, fetchOptions)
2837
2879
  );
@@ -4604,7 +4646,7 @@ var ChatSession = class {
4604
4646
  _finalizeStreamedTurn(st) {
4605
4647
  if (st.finalized) return;
4606
4648
  if (!this._mayFinalize(st)) return;
4607
- var fin = chatEngineConfig().clientSecretRequestFinalize;
4649
+ var fin = resolveForwardRequestFinalize();
4608
4650
  if (!fin || st.finalBody == null) return;
4609
4651
  st.finalized = true;
4610
4652
  var url = st.platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
@@ -4615,10 +4657,10 @@ var ChatSession = class {
4615
4657
  service: st.projectId,
4616
4658
  owner: st.owner
4617
4659
  })).catch(function(err) {
4618
- console.warn("[chat-engine] clientSecretRequestFinalize failed", err);
4660
+ console.warn("[chat-engine] forwardRequestFinalize failed", err);
4619
4661
  });
4620
4662
  } catch (e) {
4621
- console.warn("[chat-engine] clientSecretRequestFinalize threw", e);
4663
+ console.warn("[chat-engine] forwardRequestFinalize threw", e);
4622
4664
  }
4623
4665
  }
4624
4666
  /** Painted-but-unsettled live text on a bubble, for the typewriter to resume from.
@@ -4833,8 +4875,7 @@ var ChatSession = class {
4833
4875
  return this._readBackStreamedTurn(itemId, this.getHistoryCacheKey(), platform, id ? id.projectId : "", id ? id.owner : "", true);
4834
4876
  }
4835
4877
  _readBackStreamedTurn(itemId, ownerKey, platform, projectId, owner, manual) {
4836
- var cfg = chatEngineConfig();
4837
- var read = cfg.clientSecretRequestStream;
4878
+ var read = resolveForwardRequestStream();
4838
4879
  if (!read || !itemId) return Promise.resolve();
4839
4880
  if (this._rec().inflight[itemId]) return Promise.resolve();
4840
4881
  if (!manual && this._rec().attempted[itemId]) {
@@ -4947,7 +4988,7 @@ var ChatSession = class {
4947
4988
  }
4948
4989
  if (!degraded) delete this._rec().incomplete[itemId];
4949
4990
  if (!store || body == null || isErr) return;
4950
- var fin = chatEngineConfig().clientSecretRequestFinalize;
4991
+ var fin = resolveForwardRequestFinalize();
4951
4992
  if (!fin) return;
4952
4993
  var url = platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
4953
4994
  try {