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.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;
@@ -1026,6 +1068,9 @@ function truncateLabelForDisplay(label) {
1026
1068
  var CONTEXT_WINDOW_DEFAULT = { claude: 2e5, openai: 128e3 };
1027
1069
  var CONTEXT_WINDOW_BY_MODEL = {
1028
1070
  // claude, exact ids
1071
+ "claude-fable-5-1": 1e6,
1072
+ "claude-opus-5-5": 1e6,
1073
+ "claude-sonnet-5-5": 1e6,
1029
1074
  "claude-fable-5": 1e6,
1030
1075
  "claude-opus-5": 1e6,
1031
1076
  "claude-opus-4-8": 1e6,
@@ -1039,6 +1084,9 @@ var CONTEXT_WINDOW_BY_MODEL = {
1039
1084
  "claude-haiku-4-5": 2e5,
1040
1085
  "claude-3-5-sonnet": 2e5,
1041
1086
  // openai, exact ids
1087
+ "gpt-6-astra": 105e4,
1088
+ "gpt-6-sol": 105e4,
1089
+ "gpt-6-luna": 105e4,
1042
1090
  "gpt-5.6-sol": 105e4,
1043
1091
  "gpt-5.6-terra": 105e4,
1044
1092
  "gpt-5.6-luna": 105e4,
@@ -1055,11 +1103,15 @@ var CONTEXT_WINDOW_BY_MODEL = {
1055
1103
  "claude-opus": 1e6,
1056
1104
  "claude-sonnet": 1e6,
1057
1105
  "claude-haiku": 2e5,
1106
+ "gpt-6": 105e4,
1058
1107
  "gpt-5.6": 105e4,
1059
1108
  "gpt-5": 128e3
1060
1109
  };
1061
1110
  var MAX_OUTPUT_BY_MODEL = {
1062
1111
  // claude
1112
+ "claude-fable-5-1": 128e3,
1113
+ "claude-opus-5-5": 128e3,
1114
+ "claude-sonnet-5-5": 128e3,
1063
1115
  "claude-fable-5": 128e3,
1064
1116
  "claude-opus-5": 128e3,
1065
1117
  "claude-opus-4-8": 128e3,
@@ -1068,6 +1120,9 @@ var MAX_OUTPUT_BY_MODEL = {
1068
1120
  "claude-haiku-4-5": 64e3,
1069
1121
  "claude-3-5-sonnet": 8e3,
1070
1122
  // openai
1123
+ "gpt-6-astra": 128e3,
1124
+ "gpt-6-sol": 128e3,
1125
+ "gpt-6-luna": 128e3,
1071
1126
  "gpt-5.6-sol": 128e3,
1072
1127
  "gpt-5.6-terra": 128e3,
1073
1128
  "gpt-5.6-luna": 128e3,
@@ -1084,6 +1139,7 @@ var MAX_OUTPUT_BY_MODEL = {
1084
1139
  "claude-opus": 128e3,
1085
1140
  "claude-sonnet": 64e3,
1086
1141
  "claude-haiku": 64e3,
1142
+ "gpt-6": 128e3,
1087
1143
  "gpt-5.6": 128e3,
1088
1144
  "gpt-5": 128e3
1089
1145
  };
@@ -2175,7 +2231,7 @@ function mcpEndpointFor(anonymous, publicProjectId, service) {
2175
2231
  const project = publicProjectId || service;
2176
2232
  return { url: String(mcpUrl()).replace(/\/+$/, "") + "/p/" + project };
2177
2233
  }
2178
- var clientSecretRequest = (opts) => chatEngineConfig().clientSecretRequest(opts);
2234
+ var forwardRequest = (opts) => resolveForwardRequest()(opts);
2179
2235
  var CHAT_STREAM_ON = Object.freeze({
2180
2236
  transport: Object.freeze({ stream: true }),
2181
2237
  body: Object.freeze({ stream: true })
@@ -2366,8 +2422,8 @@ async function callClaudeWithMcp({
2366
2422
  mcpServerDefinition.authorization_token = mcpServer.authorizationToken;
2367
2423
  }
2368
2424
  const stream = chatStreamWiring(userId || service);
2369
- return clientSecretRequest({
2370
- clientSecretName: "claude",
2425
+ return forwardRequest({
2426
+ secretName: "claude",
2371
2427
  queue: userId || service,
2372
2428
  service,
2373
2429
  owner,
@@ -2472,8 +2528,8 @@ async function callOpenAIWithPublicMcp(prompt, service, owner, messages, system,
2472
2528
  }))
2473
2529
  ];
2474
2530
  const stream = chatStreamWiring(userId || service);
2475
- return clientSecretRequest({
2476
- clientSecretName: "openai",
2531
+ return forwardRequest({
2532
+ secretName: "openai",
2477
2533
  queue: userId || service,
2478
2534
  service,
2479
2535
  owner,
@@ -2622,8 +2678,8 @@ async function notifyAgentSaveAttachment(info) {
2622
2678
  if (platform === "openai") {
2623
2679
  const resolvedModel2 = info.model || DEFAULT_OPENAI_MODEL;
2624
2680
  const imageDetail = getOpenAIImageDetail(resolvedModel2);
2625
- return tapDispatchFailure(clientSecretRequest({
2626
- clientSecretName: "openai",
2681
+ return tapDispatchFailure(forwardRequest({
2682
+ secretName: "openai",
2627
2683
  queue: bgIndexingQueueName(info.userId, service),
2628
2684
  service,
2629
2685
  owner,
@@ -2669,8 +2725,8 @@ async function notifyAgentSaveAttachment(info) {
2669
2725
  }));
2670
2726
  }
2671
2727
  const resolvedModel = info.model || DEFAULT_CLAUDE_MODEL;
2672
- return tapDispatchFailure(clientSecretRequest({
2673
- clientSecretName: "claude",
2728
+ return tapDispatchFailure(forwardRequest({
2729
+ secretName: "claude",
2674
2730
  queue: bgIndexingQueueName(info.userId, service),
2675
2731
  service,
2676
2732
  owner,
@@ -2761,8 +2817,8 @@ function extractOpenAIText(response) {
2761
2817
  return "";
2762
2818
  }
2763
2819
  async function listClaudeModels(service, owner) {
2764
- return clientSecretRequest({
2765
- clientSecretName: "claude",
2820
+ return forwardRequest({
2821
+ secretName: "claude",
2766
2822
  service,
2767
2823
  owner,
2768
2824
  url: ANTHROPIC_MODELS_API_URL,
@@ -2774,8 +2830,8 @@ async function listClaudeModels(service, owner) {
2774
2830
  });
2775
2831
  }
2776
2832
  async function listOpenAIModels(service, owner) {
2777
- return clientSecretRequest({
2778
- clientSecretName: "openai",
2833
+ return forwardRequest({
2834
+ secretName: "openai",
2779
2835
  service,
2780
2836
  owner,
2781
2837
  url: OPENAI_MODELS_API_URL,
@@ -2829,7 +2885,7 @@ async function getChatHistory(params, fetchOptions) {
2829
2885
  params.compact ? { compact: true } : {},
2830
2886
  params.queue_exclude ? { queue_exclude: params.queue_exclude } : {}
2831
2887
  );
2832
- return chatEngineConfig().clientSecretRequestHistory(
2888
+ return resolveForwardRequestHistory()(
2833
2889
  p,
2834
2890
  Object.assign({ ascending: false, limit: CHAT_HISTORY_PAGE_LIMIT }, fetchOptions)
2835
2891
  );
@@ -4602,7 +4658,7 @@ var ChatSession = class {
4602
4658
  _finalizeStreamedTurn(st) {
4603
4659
  if (st.finalized) return;
4604
4660
  if (!this._mayFinalize(st)) return;
4605
- var fin = chatEngineConfig().clientSecretRequestFinalize;
4661
+ var fin = resolveForwardRequestFinalize();
4606
4662
  if (!fin || st.finalBody == null) return;
4607
4663
  st.finalized = true;
4608
4664
  var url = st.platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
@@ -4613,10 +4669,10 @@ var ChatSession = class {
4613
4669
  service: st.projectId,
4614
4670
  owner: st.owner
4615
4671
  })).catch(function(err) {
4616
- console.warn("[chat-engine] clientSecretRequestFinalize failed", err);
4672
+ console.warn("[chat-engine] forwardRequestFinalize failed", err);
4617
4673
  });
4618
4674
  } catch (e) {
4619
- console.warn("[chat-engine] clientSecretRequestFinalize threw", e);
4675
+ console.warn("[chat-engine] forwardRequestFinalize threw", e);
4620
4676
  }
4621
4677
  }
4622
4678
  /** Painted-but-unsettled live text on a bubble, for the typewriter to resume from.
@@ -4831,8 +4887,7 @@ var ChatSession = class {
4831
4887
  return this._readBackStreamedTurn(itemId, this.getHistoryCacheKey(), platform, id ? id.projectId : "", id ? id.owner : "", true);
4832
4888
  }
4833
4889
  _readBackStreamedTurn(itemId, ownerKey, platform, projectId, owner, manual) {
4834
- var cfg = chatEngineConfig();
4835
- var read = cfg.clientSecretRequestStream;
4890
+ var read = resolveForwardRequestStream();
4836
4891
  if (!read || !itemId) return Promise.resolve();
4837
4892
  if (this._rec().inflight[itemId]) return Promise.resolve();
4838
4893
  if (!manual && this._rec().attempted[itemId]) {
@@ -4945,7 +5000,7 @@ var ChatSession = class {
4945
5000
  }
4946
5001
  if (!degraded) delete this._rec().incomplete[itemId];
4947
5002
  if (!store || body == null || isErr) return;
4948
- var fin = chatEngineConfig().clientSecretRequestFinalize;
5003
+ var fin = resolveForwardRequestFinalize();
4949
5004
  if (!fin) return;
4950
5005
  var url = platform === "openai" ? OPENAI_RESPONSES_API_URL : ANTHROPIC_MESSAGES_API_URL;
4951
5006
  try {