bunnyquery 1.10.12 → 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.mjs CHANGED
@@ -59,6 +59,46 @@ function chatEngineConfig() {
59
59
  }
60
60
  return _config;
61
61
  }
62
+ function resolveForwardRequest() {
63
+ const cfg = chatEngineConfig();
64
+ const fwd = cfg.forwardRequest;
65
+ if (typeof fwd === "function") {
66
+ return (opts) => fwd.call(cfg, null, opts);
67
+ }
68
+ const legacy = cfg.clientSecretRequest;
69
+ if (typeof legacy === "function") {
70
+ return (opts) => {
71
+ if (!opts || typeof opts !== "object" || !("secretName" in opts)) return legacy.call(cfg, opts);
72
+ const { secretName, ...rest } = opts;
73
+ return legacy.call(cfg, Object.assign({ clientSecretName: secretName }, rest));
74
+ };
75
+ }
76
+ throw new Error(
77
+ "[chat-engine] No request transport: configureChatEngine() needs forwardRequest (or the deprecated clientSecretRequest), bound to a skapi instance."
78
+ );
79
+ }
80
+ function resolveForwardRequestHistory() {
81
+ const cfg = chatEngineConfig();
82
+ const hist = typeof cfg.forwardRequestHistory === "function" ? cfg.forwardRequestHistory : cfg.clientSecretRequestHistory;
83
+ if (typeof hist === "function") {
84
+ return (params, fetchOptions) => hist.call(cfg, params, fetchOptions);
85
+ }
86
+ throw new Error(
87
+ "[chat-engine] No history transport: configureChatEngine() needs forwardRequestHistory (or the deprecated clientSecretRequestHistory), bound to a skapi instance."
88
+ );
89
+ }
90
+ function resolveForwardRequestFinalize() {
91
+ const cfg = chatEngineConfig();
92
+ if (typeof cfg.forwardRequestFinalize === "function") return cfg.forwardRequestFinalize;
93
+ if (typeof cfg.clientSecretRequestFinalize === "function") return cfg.clientSecretRequestFinalize;
94
+ return void 0;
95
+ }
96
+ function resolveForwardRequestStream() {
97
+ const cfg = chatEngineConfig();
98
+ if (typeof cfg.forwardRequestStream === "function") return cfg.forwardRequestStream;
99
+ if (typeof cfg.clientSecretRequestStream === "function") return cfg.clientSecretRequestStream;
100
+ return void 0;
101
+ }
62
102
  function windowedIndexingEnabled() {
63
103
  return _config?.windowedIndexing === true;
64
104
  }
@@ -69,11 +109,13 @@ function liveStreamingEnabled() {
69
109
  return _config?.liveStreaming === true;
70
110
  }
71
111
  function streamRecoveryEnabled() {
72
- if (_config?.streamRecovery === false) return false;
73
- return typeof _config?.clientSecretRequestStream === "function";
112
+ if (!_config) return false;
113
+ if (_config.streamRecovery === false) return false;
114
+ return typeof resolveForwardRequestStream() === "function";
74
115
  }
75
116
  function skapiSupportsStreaming(sk) {
76
- return !!sk && typeof sk.clientSecretRequestStream === "function" && typeof sk.clientSecretRequestFinalize === "function";
117
+ if (!sk) return false;
118
+ return typeof sk.forwardRequestStream === "function" && typeof sk.forwardRequestFinalize === "function" || typeof sk.clientSecretRequestStream === "function" && typeof sk.clientSecretRequestFinalize === "function";
77
119
  }
78
120
  function pollOpt() {
79
121
  const p = _config?.poll;
@@ -2175,7 +2217,7 @@ function mcpEndpointFor(anonymous, publicProjectId, service) {
2175
2217
  const project = publicProjectId || service;
2176
2218
  return { url: String(mcpUrl()).replace(/\/+$/, "") + "/p/" + project };
2177
2219
  }
2178
- var clientSecretRequest = (opts) => chatEngineConfig().clientSecretRequest(opts);
2220
+ var forwardRequest = (opts) => resolveForwardRequest()(opts);
2179
2221
  var CHAT_STREAM_ON = Object.freeze({
2180
2222
  transport: Object.freeze({ stream: true }),
2181
2223
  body: Object.freeze({ stream: true })
@@ -2366,8 +2408,8 @@ async function callClaudeWithMcp({
2366
2408
  mcpServerDefinition.authorization_token = mcpServer.authorizationToken;
2367
2409
  }
2368
2410
  const stream = chatStreamWiring(userId || service);
2369
- return clientSecretRequest({
2370
- clientSecretName: "claude",
2411
+ return forwardRequest({
2412
+ secretName: "claude",
2371
2413
  queue: userId || service,
2372
2414
  service,
2373
2415
  owner,
@@ -2472,8 +2514,8 @@ async function callOpenAIWithPublicMcp(prompt, service, owner, messages, system,
2472
2514
  }))
2473
2515
  ];
2474
2516
  const stream = chatStreamWiring(userId || service);
2475
- return clientSecretRequest({
2476
- clientSecretName: "openai",
2517
+ return forwardRequest({
2518
+ secretName: "openai",
2477
2519
  queue: userId || service,
2478
2520
  service,
2479
2521
  owner,
@@ -2622,8 +2664,8 @@ async function notifyAgentSaveAttachment(info) {
2622
2664
  if (platform === "openai") {
2623
2665
  const resolvedModel2 = info.model || DEFAULT_OPENAI_MODEL;
2624
2666
  const imageDetail = getOpenAIImageDetail(resolvedModel2);
2625
- return tapDispatchFailure(clientSecretRequest({
2626
- clientSecretName: "openai",
2667
+ return tapDispatchFailure(forwardRequest({
2668
+ secretName: "openai",
2627
2669
  queue: bgIndexingQueueName(info.userId, service),
2628
2670
  service,
2629
2671
  owner,
@@ -2669,8 +2711,8 @@ async function notifyAgentSaveAttachment(info) {
2669
2711
  }));
2670
2712
  }
2671
2713
  const resolvedModel = info.model || DEFAULT_CLAUDE_MODEL;
2672
- return tapDispatchFailure(clientSecretRequest({
2673
- clientSecretName: "claude",
2714
+ return tapDispatchFailure(forwardRequest({
2715
+ secretName: "claude",
2674
2716
  queue: bgIndexingQueueName(info.userId, service),
2675
2717
  service,
2676
2718
  owner,
@@ -2761,8 +2803,8 @@ function extractOpenAIText(response) {
2761
2803
  return "";
2762
2804
  }
2763
2805
  async function listClaudeModels(service, owner) {
2764
- return clientSecretRequest({
2765
- clientSecretName: "claude",
2806
+ return forwardRequest({
2807
+ secretName: "claude",
2766
2808
  service,
2767
2809
  owner,
2768
2810
  url: ANTHROPIC_MODELS_API_URL,
@@ -2774,8 +2816,8 @@ async function listClaudeModels(service, owner) {
2774
2816
  });
2775
2817
  }
2776
2818
  async function listOpenAIModels(service, owner) {
2777
- return clientSecretRequest({
2778
- clientSecretName: "openai",
2819
+ return forwardRequest({
2820
+ secretName: "openai",
2779
2821
  service,
2780
2822
  owner,
2781
2823
  url: OPENAI_MODELS_API_URL,
@@ -2829,7 +2871,7 @@ async function getChatHistory(params, fetchOptions) {
2829
2871
  params.compact ? { compact: true } : {},
2830
2872
  params.queue_exclude ? { queue_exclude: params.queue_exclude } : {}
2831
2873
  );
2832
- return chatEngineConfig().clientSecretRequestHistory(
2874
+ return resolveForwardRequestHistory()(
2833
2875
  p,
2834
2876
  Object.assign({ ascending: false, limit: CHAT_HISTORY_PAGE_LIMIT }, fetchOptions)
2835
2877
  );
@@ -4602,7 +4644,7 @@ var ChatSession = class {
4602
4644
  _finalizeStreamedTurn(st) {
4603
4645
  if (st.finalized) return;
4604
4646
  if (!this._mayFinalize(st)) return;
4605
- var fin = chatEngineConfig().clientSecretRequestFinalize;
4647
+ var fin = resolveForwardRequestFinalize();
4606
4648
  if (!fin || st.finalBody == null) return;
4607
4649
  st.finalized = true;
4608
4650
  var url = st.platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
@@ -4613,10 +4655,10 @@ var ChatSession = class {
4613
4655
  service: st.projectId,
4614
4656
  owner: st.owner
4615
4657
  })).catch(function(err) {
4616
- console.warn("[chat-engine] clientSecretRequestFinalize failed", err);
4658
+ console.warn("[chat-engine] forwardRequestFinalize failed", err);
4617
4659
  });
4618
4660
  } catch (e) {
4619
- console.warn("[chat-engine] clientSecretRequestFinalize threw", e);
4661
+ console.warn("[chat-engine] forwardRequestFinalize threw", e);
4620
4662
  }
4621
4663
  }
4622
4664
  /** Painted-but-unsettled live text on a bubble, for the typewriter to resume from.
@@ -4831,8 +4873,7 @@ var ChatSession = class {
4831
4873
  return this._readBackStreamedTurn(itemId, this.getHistoryCacheKey(), platform, id ? id.projectId : "", id ? id.owner : "", true);
4832
4874
  }
4833
4875
  _readBackStreamedTurn(itemId, ownerKey, platform, projectId, owner, manual) {
4834
- var cfg = chatEngineConfig();
4835
- var read = cfg.clientSecretRequestStream;
4876
+ var read = resolveForwardRequestStream();
4836
4877
  if (!read || !itemId) return Promise.resolve();
4837
4878
  if (this._rec().inflight[itemId]) return Promise.resolve();
4838
4879
  if (!manual && this._rec().attempted[itemId]) {
@@ -4945,7 +4986,7 @@ var ChatSession = class {
4945
4986
  }
4946
4987
  if (!degraded) delete this._rec().incomplete[itemId];
4947
4988
  if (!store || body == null || isErr) return;
4948
- var fin = chatEngineConfig().clientSecretRequestFinalize;
4989
+ var fin = resolveForwardRequestFinalize();
4949
4990
  if (!fin) return;
4950
4991
  var url = platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
4951
4992
  try {