bunnyquery 1.10.12 → 1.11.1

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;
@@ -1028,6 +1070,9 @@ function truncateLabelForDisplay(label) {
1028
1070
  var CONTEXT_WINDOW_DEFAULT = { claude: 2e5, openai: 128e3 };
1029
1071
  var CONTEXT_WINDOW_BY_MODEL = {
1030
1072
  // claude, exact ids
1073
+ "claude-fable-5-1": 1e6,
1074
+ "claude-opus-5-5": 1e6,
1075
+ "claude-sonnet-5-5": 1e6,
1031
1076
  "claude-fable-5": 1e6,
1032
1077
  "claude-opus-5": 1e6,
1033
1078
  "claude-opus-4-8": 1e6,
@@ -1041,6 +1086,9 @@ var CONTEXT_WINDOW_BY_MODEL = {
1041
1086
  "claude-haiku-4-5": 2e5,
1042
1087
  "claude-3-5-sonnet": 2e5,
1043
1088
  // openai, exact ids
1089
+ "gpt-6-astra": 105e4,
1090
+ "gpt-6-sol": 105e4,
1091
+ "gpt-6-luna": 105e4,
1044
1092
  "gpt-5.6-sol": 105e4,
1045
1093
  "gpt-5.6-terra": 105e4,
1046
1094
  "gpt-5.6-luna": 105e4,
@@ -1057,11 +1105,15 @@ var CONTEXT_WINDOW_BY_MODEL = {
1057
1105
  "claude-opus": 1e6,
1058
1106
  "claude-sonnet": 1e6,
1059
1107
  "claude-haiku": 2e5,
1108
+ "gpt-6": 105e4,
1060
1109
  "gpt-5.6": 105e4,
1061
1110
  "gpt-5": 128e3
1062
1111
  };
1063
1112
  var MAX_OUTPUT_BY_MODEL = {
1064
1113
  // claude
1114
+ "claude-fable-5-1": 128e3,
1115
+ "claude-opus-5-5": 128e3,
1116
+ "claude-sonnet-5-5": 128e3,
1065
1117
  "claude-fable-5": 128e3,
1066
1118
  "claude-opus-5": 128e3,
1067
1119
  "claude-opus-4-8": 128e3,
@@ -1070,6 +1122,9 @@ var MAX_OUTPUT_BY_MODEL = {
1070
1122
  "claude-haiku-4-5": 64e3,
1071
1123
  "claude-3-5-sonnet": 8e3,
1072
1124
  // openai
1125
+ "gpt-6-astra": 128e3,
1126
+ "gpt-6-sol": 128e3,
1127
+ "gpt-6-luna": 128e3,
1073
1128
  "gpt-5.6-sol": 128e3,
1074
1129
  "gpt-5.6-terra": 128e3,
1075
1130
  "gpt-5.6-luna": 128e3,
@@ -1086,6 +1141,7 @@ var MAX_OUTPUT_BY_MODEL = {
1086
1141
  "claude-opus": 128e3,
1087
1142
  "claude-sonnet": 64e3,
1088
1143
  "claude-haiku": 64e3,
1144
+ "gpt-6": 128e3,
1089
1145
  "gpt-5.6": 128e3,
1090
1146
  "gpt-5": 128e3
1091
1147
  };
@@ -2177,7 +2233,7 @@ function mcpEndpointFor(anonymous, publicProjectId, service) {
2177
2233
  const project = publicProjectId || service;
2178
2234
  return { url: String(mcpUrl()).replace(/\/+$/, "") + "/p/" + project };
2179
2235
  }
2180
- var clientSecretRequest = (opts) => chatEngineConfig().clientSecretRequest(opts);
2236
+ var forwardRequest = (opts) => resolveForwardRequest()(opts);
2181
2237
  var CHAT_STREAM_ON = Object.freeze({
2182
2238
  transport: Object.freeze({ stream: true }),
2183
2239
  body: Object.freeze({ stream: true })
@@ -2368,8 +2424,8 @@ async function callClaudeWithMcp({
2368
2424
  mcpServerDefinition.authorization_token = mcpServer.authorizationToken;
2369
2425
  }
2370
2426
  const stream = chatStreamWiring(userId || service);
2371
- return clientSecretRequest({
2372
- clientSecretName: "claude",
2427
+ return forwardRequest({
2428
+ secretName: "claude",
2373
2429
  queue: userId || service,
2374
2430
  service,
2375
2431
  owner,
@@ -2474,8 +2530,8 @@ async function callOpenAIWithPublicMcp(prompt, service, owner, messages, system,
2474
2530
  }))
2475
2531
  ];
2476
2532
  const stream = chatStreamWiring(userId || service);
2477
- return clientSecretRequest({
2478
- clientSecretName: "openai",
2533
+ return forwardRequest({
2534
+ secretName: "openai",
2479
2535
  queue: userId || service,
2480
2536
  service,
2481
2537
  owner,
@@ -2624,8 +2680,8 @@ async function notifyAgentSaveAttachment(info) {
2624
2680
  if (platform === "openai") {
2625
2681
  const resolvedModel2 = info.model || DEFAULT_OPENAI_MODEL;
2626
2682
  const imageDetail = getOpenAIImageDetail(resolvedModel2);
2627
- return tapDispatchFailure(clientSecretRequest({
2628
- clientSecretName: "openai",
2683
+ return tapDispatchFailure(forwardRequest({
2684
+ secretName: "openai",
2629
2685
  queue: bgIndexingQueueName(info.userId, service),
2630
2686
  service,
2631
2687
  owner,
@@ -2671,8 +2727,8 @@ async function notifyAgentSaveAttachment(info) {
2671
2727
  }));
2672
2728
  }
2673
2729
  const resolvedModel = info.model || DEFAULT_CLAUDE_MODEL;
2674
- return tapDispatchFailure(clientSecretRequest({
2675
- clientSecretName: "claude",
2730
+ return tapDispatchFailure(forwardRequest({
2731
+ secretName: "claude",
2676
2732
  queue: bgIndexingQueueName(info.userId, service),
2677
2733
  service,
2678
2734
  owner,
@@ -2763,8 +2819,8 @@ function extractOpenAIText(response) {
2763
2819
  return "";
2764
2820
  }
2765
2821
  async function listClaudeModels(service, owner) {
2766
- return clientSecretRequest({
2767
- clientSecretName: "claude",
2822
+ return forwardRequest({
2823
+ secretName: "claude",
2768
2824
  service,
2769
2825
  owner,
2770
2826
  url: ANTHROPIC_MODELS_API_URL,
@@ -2776,8 +2832,8 @@ async function listClaudeModels(service, owner) {
2776
2832
  });
2777
2833
  }
2778
2834
  async function listOpenAIModels(service, owner) {
2779
- return clientSecretRequest({
2780
- clientSecretName: "openai",
2835
+ return forwardRequest({
2836
+ secretName: "openai",
2781
2837
  service,
2782
2838
  owner,
2783
2839
  url: OPENAI_MODELS_API_URL,
@@ -2831,7 +2887,7 @@ async function getChatHistory(params, fetchOptions) {
2831
2887
  params.compact ? { compact: true } : {},
2832
2888
  params.queue_exclude ? { queue_exclude: params.queue_exclude } : {}
2833
2889
  );
2834
- return chatEngineConfig().clientSecretRequestHistory(
2890
+ return resolveForwardRequestHistory()(
2835
2891
  p,
2836
2892
  Object.assign({ ascending: false, limit: CHAT_HISTORY_PAGE_LIMIT }, fetchOptions)
2837
2893
  );
@@ -4604,7 +4660,7 @@ var ChatSession = class {
4604
4660
  _finalizeStreamedTurn(st) {
4605
4661
  if (st.finalized) return;
4606
4662
  if (!this._mayFinalize(st)) return;
4607
- var fin = chatEngineConfig().clientSecretRequestFinalize;
4663
+ var fin = resolveForwardRequestFinalize();
4608
4664
  if (!fin || st.finalBody == null) return;
4609
4665
  st.finalized = true;
4610
4666
  var url = st.platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
@@ -4615,10 +4671,10 @@ var ChatSession = class {
4615
4671
  service: st.projectId,
4616
4672
  owner: st.owner
4617
4673
  })).catch(function(err) {
4618
- console.warn("[chat-engine] clientSecretRequestFinalize failed", err);
4674
+ console.warn("[chat-engine] forwardRequestFinalize failed", err);
4619
4675
  });
4620
4676
  } catch (e) {
4621
- console.warn("[chat-engine] clientSecretRequestFinalize threw", e);
4677
+ console.warn("[chat-engine] forwardRequestFinalize threw", e);
4622
4678
  }
4623
4679
  }
4624
4680
  /** Painted-but-unsettled live text on a bubble, for the typewriter to resume from.
@@ -4833,8 +4889,7 @@ var ChatSession = class {
4833
4889
  return this._readBackStreamedTurn(itemId, this.getHistoryCacheKey(), platform, id ? id.projectId : "", id ? id.owner : "", true);
4834
4890
  }
4835
4891
  _readBackStreamedTurn(itemId, ownerKey, platform, projectId, owner, manual) {
4836
- var cfg = chatEngineConfig();
4837
- var read = cfg.clientSecretRequestStream;
4892
+ var read = resolveForwardRequestStream();
4838
4893
  if (!read || !itemId) return Promise.resolve();
4839
4894
  if (this._rec().inflight[itemId]) return Promise.resolve();
4840
4895
  if (!manual && this._rec().attempted[itemId]) {
@@ -4947,7 +5002,7 @@ var ChatSession = class {
4947
5002
  }
4948
5003
  if (!degraded) delete this._rec().incomplete[itemId];
4949
5004
  if (!store || body == null || isErr) return;
4950
- var fin = chatEngineConfig().clientSecretRequestFinalize;
5005
+ var fin = resolveForwardRequestFinalize();
4951
5006
  if (!fin) return;
4952
5007
  var url = platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
4953
5008
  try {