@pentoshi/clai 4.11.13 → 4.11.15

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.
Files changed (158) hide show
  1. package/README.md +22 -0
  2. package/dist/agent/compaction/summary-execution.d.ts +4 -1
  3. package/dist/agent/compaction/summary-execution.js +8 -2
  4. package/dist/agent/compaction/summary-execution.js.map +1 -1
  5. package/dist/agent/context/compact-with-summary.js +2 -1
  6. package/dist/agent/context/compact-with-summary.js.map +1 -1
  7. package/dist/agent/context-manager.d.ts +1 -1
  8. package/dist/agent/context-manager.js +1 -1
  9. package/dist/agent/context-manager.js.map +1 -1
  10. package/dist/agent/events.d.ts +1 -0
  11. package/dist/agent/loop-guard.js +7 -3
  12. package/dist/agent/loop-guard.js.map +1 -1
  13. package/dist/agent/outcomes.js +5 -4
  14. package/dist/agent/outcomes.js.map +1 -1
  15. package/dist/agent/reliability-policy.d.ts +2 -2
  16. package/dist/agent/request-budget.d.ts +2 -1
  17. package/dist/agent/request-budget.js +5 -2
  18. package/dist/agent/request-budget.js.map +1 -1
  19. package/dist/agent/responder-context.js +9 -7
  20. package/dist/agent/responder-context.js.map +1 -1
  21. package/dist/agent/runner.js +14 -0
  22. package/dist/agent/runner.js.map +1 -1
  23. package/dist/agent/tool-call-parser.js +1 -7
  24. package/dist/agent/tool-call-parser.js.map +1 -1
  25. package/dist/agent/tool-history.d.ts +2 -2
  26. package/dist/agent/tool-history.js +7 -8
  27. package/dist/agent/tool-history.js.map +1 -1
  28. package/dist/agent/turn/compaction-summarizer.d.ts +2 -1
  29. package/dist/agent/turn/compaction-summarizer.js +4 -1
  30. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  31. package/dist/agent/turn/history-writer.js +4 -3
  32. package/dist/agent/turn/history-writer.js.map +1 -1
  33. package/dist/agent/turn/loop/completion-interpretation.d.ts +1 -0
  34. package/dist/agent/turn/loop/completion-interpretation.js +7 -2
  35. package/dist/agent/turn/loop/completion-interpretation.js.map +1 -1
  36. package/dist/agent/turn/loop/request-assembly.js +15 -2
  37. package/dist/agent/turn/loop/request-assembly.js.map +1 -1
  38. package/dist/agent/turn/loop/run-rounds.js +6 -0
  39. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  40. package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
  41. package/dist/agent/turn/setup/compaction-services.js +1 -0
  42. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  43. package/dist/app/adapters/agent-event-adapter.js +1 -0
  44. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  45. package/dist/app/controllers/session-compact-helper.d.ts +2 -1
  46. package/dist/app/controllers/session-compact-helper.js +19 -7
  47. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  48. package/dist/app/controllers/session-context-usage.d.ts +1 -1
  49. package/dist/app/controllers/session-context-usage.js +20 -6
  50. package/dist/app/controllers/session-context-usage.js.map +1 -1
  51. package/dist/app/controllers/session-controller.d.ts +1 -1
  52. package/dist/app/controllers/session-controller.js +2 -2
  53. package/dist/app/controllers/session-controller.js.map +1 -1
  54. package/dist/app/events/app-event.d.ts +1 -0
  55. package/dist/app/events/app-event.js.map +1 -1
  56. package/dist/app/events/event-buffer.js +2 -1
  57. package/dist/app/events/event-buffer.js.map +1 -1
  58. package/dist/llm/adapters/anthropic-tools.js +52 -22
  59. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  60. package/dist/llm/adapters/openai-tools.d.ts +1 -0
  61. package/dist/llm/adapters/openai-tools.js +28 -1
  62. package/dist/llm/adapters/openai-tools.js.map +1 -1
  63. package/dist/llm/adapters/tool-history.d.ts +4 -0
  64. package/dist/llm/adapters/tool-history.js +50 -0
  65. package/dist/llm/adapters/tool-history.js.map +1 -0
  66. package/dist/llm/anthropic.d.ts +1 -1
  67. package/dist/llm/anthropic.js +11 -19
  68. package/dist/llm/anthropic.js.map +1 -1
  69. package/dist/llm/artifacts/replay-selection.js +0 -7
  70. package/dist/llm/artifacts/replay-selection.js.map +1 -1
  71. package/dist/llm/aws-mantle.js +5 -5
  72. package/dist/llm/aws-mantle.js.map +1 -1
  73. package/dist/llm/cache-policy-fields.d.ts +9 -0
  74. package/dist/llm/cache-policy-fields.js +31 -0
  75. package/dist/llm/cache-policy-fields.js.map +1 -0
  76. package/dist/llm/capability/vision-patterns.d.ts +1 -0
  77. package/dist/llm/capability/vision-patterns.js +3 -2
  78. package/dist/llm/capability/vision-patterns.js.map +1 -1
  79. package/dist/llm/capability/vision-registry.js +3 -1
  80. package/dist/llm/capability/vision-registry.js.map +1 -1
  81. package/dist/llm/custom-providers.js +15 -2
  82. package/dist/llm/custom-providers.js.map +1 -1
  83. package/dist/llm/effort-fallback.js +3 -2
  84. package/dist/llm/effort-fallback.js.map +1 -1
  85. package/dist/llm/gemini.js +3 -6
  86. package/dist/llm/gemini.js.map +1 -1
  87. package/dist/llm/operation-usage.d.ts +1 -1
  88. package/dist/llm/operation-usage.js +13 -3
  89. package/dist/llm/operation-usage.js.map +1 -1
  90. package/dist/llm/reasoning-errors.d.ts +1 -0
  91. package/dist/llm/reasoning-errors.js +9 -0
  92. package/dist/llm/reasoning-errors.js.map +1 -1
  93. package/dist/llm/responses-complete.js +1 -1
  94. package/dist/llm/responses-complete.js.map +1 -1
  95. package/dist/llm/responses-request.js +28 -3
  96. package/dist/llm/responses-request.js.map +1 -1
  97. package/dist/llm/routing/attempt-complete.js +13 -8
  98. package/dist/llm/routing/attempt-complete.js.map +1 -1
  99. package/dist/llm/routing/attempt-request.js +4 -1
  100. package/dist/llm/routing/attempt-request.js.map +1 -1
  101. package/dist/llm/routing/attempt-stream.js +17 -17
  102. package/dist/llm/routing/attempt-stream.js.map +1 -1
  103. package/dist/llm/routing/error-classification.js +5 -0
  104. package/dist/llm/routing/error-classification.js.map +1 -1
  105. package/dist/llm/system-messages.d.ts +0 -2
  106. package/dist/llm/system-messages.js +0 -8
  107. package/dist/llm/system-messages.js.map +1 -1
  108. package/dist/llm/token-usage.js +1 -5
  109. package/dist/llm/token-usage.js.map +1 -1
  110. package/dist/llm/wire/capability-errors.js +13 -5
  111. package/dist/llm/wire/capability-errors.js.map +1 -1
  112. package/dist/llm/wire/chat-body.d.ts +3 -0
  113. package/dist/llm/wire/chat-body.js +63 -2
  114. package/dist/llm/wire/chat-body.js.map +1 -1
  115. package/dist/llm/wire/openai-complete.js +2 -2
  116. package/dist/llm/wire/openai-complete.js.map +1 -1
  117. package/dist/llm/wire/openai-stream.js +11 -1
  118. package/dist/llm/wire/openai-stream.js.map +1 -1
  119. package/dist/llm/wire/reasoning-artifacts.d.ts +2 -2
  120. package/dist/llm/wire/reasoning-artifacts.js +9 -5
  121. package/dist/llm/wire/reasoning-artifacts.js.map +1 -1
  122. package/dist/llm/wire/responses-first.d.ts +6 -2
  123. package/dist/llm/wire/responses-first.js +90 -216
  124. package/dist/llm/wire/responses-first.js.map +1 -1
  125. package/dist/llm/wire/responses-preflight.d.ts +11 -0
  126. package/dist/llm/wire/responses-preflight.js +127 -0
  127. package/dist/llm/wire/responses-preflight.js.map +1 -0
  128. package/dist/os/copy-string.d.ts +1 -0
  129. package/dist/os/copy-string.js +4 -0
  130. package/dist/os/copy-string.js.map +1 -0
  131. package/dist/session-runtime/replay-buffer.d.ts +2 -2
  132. package/dist/session-runtime/replay-buffer.js +25 -24
  133. package/dist/session-runtime/replay-buffer.js.map +1 -1
  134. package/dist/store/config/compaction.d.ts +1 -0
  135. package/dist/store/config/compaction.js +2 -0
  136. package/dist/store/config/compaction.js.map +1 -0
  137. package/dist/store/config/endpoints.js +6 -5
  138. package/dist/store/config/endpoints.js.map +1 -1
  139. package/dist/store/history/recovery.js +18 -28
  140. package/dist/store/history/recovery.js.map +1 -1
  141. package/dist/store/history-index.js +24 -15
  142. package/dist/store/history-index.js.map +1 -1
  143. package/dist/tui-v2/components/transcript/use-native-selection-copy.js +1 -7
  144. package/dist/tui-v2/components/transcript/use-native-selection-copy.js.map +1 -1
  145. package/dist/tui-v2/rendering/ansi-to-styled.js +2 -1
  146. package/dist/tui-v2/rendering/ansi-to-styled.js.map +1 -1
  147. package/dist/tui-v2/rendering/styled-markdown.js +4 -5
  148. package/dist/tui-v2/rendering/styled-markdown.js.map +1 -1
  149. package/dist/ui-core/bootstrap/composition-root.js +1 -1
  150. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  151. package/dist/ui-core/rendering/code-block.js +4 -8
  152. package/dist/ui-core/rendering/code-block.js.map +1 -1
  153. package/dist/ui-core/rendering/render-cache.d.ts +11 -0
  154. package/dist/ui-core/rendering/render-cache.js +54 -0
  155. package/dist/ui-core/rendering/render-cache.js.map +1 -0
  156. package/dist/version.generated.d.ts +2 -2
  157. package/dist/version.generated.js +2 -2
  158. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reasoning-artifacts.js","sourceRoot":"","sources":["../../../src/llm/wire/reasoning-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reasoning-artifacts.js","sourceRoot":"","sources":["../../../src/llm/wire/reasoning-artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ChatMessage, CompletionRequest, ProviderId, ReasoningArtifactReplayObserver, ReasoningPreference, ToolChoice, ToolDefinition } from "../../types.js";
2
2
  import type { OpenAiCompatibleResult } from "./reasoning-artifacts.js";
3
3
  import type { ProviderStreamEventSink } from "../stream-events.js";
4
+ import type { ReasoningStyle } from "./reasoning-payload.js";
4
5
  export declare function responsesFirstCandidate(providerId: ProviderId): boolean;
5
6
  export interface ResponsesFirstOptions {
6
7
  provider: string;
@@ -14,6 +15,8 @@ export interface ResponsesFirstOptions {
14
15
  headers?: Record<string, string> | undefined;
15
16
  signal?: AbortSignal | undefined;
16
17
  reasoning?: ReasoningPreference | undefined;
18
+ reasoningStyle?: ReasoningStyle | undefined;
19
+ includeStreamUsage?: boolean | undefined;
17
20
  tools?: ToolDefinition[] | undefined;
18
21
  toolChoice?: ToolChoice | undefined;
19
22
  parallelToolCalls?: boolean | undefined;
@@ -24,7 +27,8 @@ interface StreamBridgeOptions {
24
27
  onToolCallDelta?: CompletionRequest["onToolCallDelta"];
25
28
  onStreamEvent?: ProviderStreamEventSink;
26
29
  }
27
- export declare function openAiCompatibleCompleteViaResponses(options: ResponsesFirstOptions): Promise<OpenAiCompatibleResult | undefined>;
28
- export declare function openAiCompatibleStreamViaResponses(options: ResponsesFirstOptions, stream: StreamBridgeOptions): Promise<OpenAiCompatibleResult | undefined>;
30
+ type ChatProbe = (options: ResponsesFirstOptions) => Promise<OpenAiCompatibleResult>;
31
+ export declare function openAiCompatibleCompleteViaResponses(options: ResponsesFirstOptions, probeChat: ChatProbe): Promise<OpenAiCompatibleResult | undefined>;
32
+ export declare function openAiCompatibleStreamViaResponses(options: ResponsesFirstOptions, stream: StreamBridgeOptions, probeChat: ChatProbe): Promise<OpenAiCompatibleResult | undefined>;
29
33
  export declare function resetResponsesWireStatesForTesting(): void;
30
34
  export {};
@@ -1,15 +1,16 @@
1
- import { classifyResponsesFailure, failureText, isGenericModelRejection, PROBE_UNRELIABLE_STATUS, providerStatusCode, } from "./responses-failure.js";
2
- import { cacheAffinityKey } from "../cache-affinity.js";
1
+ import { classifyResponsesFailure, failureText, isGenericModelRejection, providerStatusCode, } from "./responses-failure.js";
2
+ import { cacheAffinityKey, sessionCacheAffinityKey } from "../cache-affinity.js";
3
+ import { cachePolicyFields } from "../cache-policy-fields.js";
4
+ import { customProfileSpecFor } from "../custom-profile-resolver.js";
5
+ import { currentSessionAffinity } from "../session-affinity.js";
3
6
  import { responsesComplete } from "../responses-complete.js";
4
7
  import { isResponsesEmptyOutput } from "../responses-empty-output.js";
5
8
  import { responsesStream } from "../responses-stream.js";
6
9
  import { mapResponsesEffort, responsesReasoningSummary, } from "../responses-config.js";
7
- import { PRIVATE_REASONING_NOTE_PREFIX } from "../responses-http.js";
8
- import { isChatShapedResponsesPayload } from "../responses-shape.js";
9
- import { assertResponsesShapedData } from "../responses-shape.js";
10
- import { isPartialStreamError } from "../stream-terminal.js";
11
- import { recordGenerationAttemptOutcome, withUnrecordedTransport, } from "../operation-usage.js";
10
+ import { isChatShapedResponsesPayload, assertResponsesShapedData } from "../responses-shape.js";
11
+ import { withUnrecordedTransport } from "../operation-usage.js";
12
12
  import { emitTransportEvent } from "../transport-events.js";
13
+ import { hasVisibleReasoning, preflightOptions, resetResponsesPreflight, selectResponsesWire, } from "./responses-preflight.js";
13
14
  const RESPONSES_FIRST_EXCLUDED = new Set([
14
15
  "anthropic",
15
16
  "gemini",
@@ -20,16 +21,6 @@ const RESPONSES_FIRST_EXCLUDED = new Set([
20
21
  export function responsesFirstCandidate(providerId) {
21
22
  return !RESPONSES_FIRST_EXCLUDED.has(providerId);
22
23
  }
23
- const wireStates = new Map();
24
- function wireState(providerId, model) {
25
- const key = `${providerId}:${model.trim().toLowerCase()}`;
26
- let state = wireStates.get(key);
27
- if (!state) {
28
- state = { endpoint: "unknown", extras: "full", thinkingWire: "unknown" };
29
- wireStates.set(key, state);
30
- }
31
- return state;
32
- }
33
24
  const RESPONSES_STREAM_TERMINAL = {
34
25
  proofs: ["response-completed", "response-incomplete"],
35
26
  naturalEofAccepted: false,
@@ -57,7 +48,12 @@ function genericResponsesConfig(providerId, displayName, baseUrl, extraHeaders,
57
48
  return { effort, summary: responsesReasoningSummary(effort) };
58
49
  },
59
50
  bodyExtras(context) {
60
- const promptCacheKey = `${context.purpose === "auxiliary" ? "aux-" : ""}${cacheAffinityKey(providerId, context.model, context.messages)}`;
51
+ const affinity = currentSessionAffinity();
52
+ const key = affinity
53
+ ? sessionCacheAffinityKey(affinity)
54
+ : cacheAffinityKey(providerId, context.model, context.messages);
55
+ const promptCacheKey = `${context.purpose === "auxiliary" ? "aux-" : ""}${key}`;
56
+ const customCache = customProfileSpecFor(providerId)?.cache;
61
57
  if (extras === "bare") {
62
58
  return providerId === "explabs"
63
59
  ? { prompt_cache_key: promptCacheKey }
@@ -66,12 +62,18 @@ function genericResponsesConfig(providerId, displayName, baseUrl, extraHeaders,
66
62
  return {
67
63
  store: false,
68
64
  include: ["reasoning.encrypted_content"],
69
- prompt_cache_key: promptCacheKey,
65
+ ...(customCache ? cachePolicyFields({
66
+ provider: providerId,
67
+ model: context.model,
68
+ messages: context.messages,
69
+ purpose: context.purpose,
70
+ policy: { ...customCache, kind: customCache.kind ?? "unknown" },
71
+ }) : { prompt_cache_key: promptCacheKey }),
70
72
  };
71
73
  },
72
74
  };
73
75
  }
74
- function bridgeCompletionRequest(options, _extras, stream) {
76
+ function bridgeCompletionRequest(options, stream) {
75
77
  return {
76
78
  provider: options.providerId,
77
79
  model: options.model,
@@ -102,212 +104,84 @@ function compatibleFromCompletion(result) {
102
104
  : {}),
103
105
  };
104
106
  }
105
- function hasVisibleReasoning(result, reasoningDeltas) {
106
- if (reasoningDeltas > 0)
107
- return true;
108
- if (result.reasoningArtifacts?.length)
109
- return true;
110
- const text = result.reasoningBlock?.text ?? "";
111
- return text.length > 0 && !text.startsWith(PRIVATE_REASONING_NOTE_PREFIX);
112
- }
113
- async function runResponsesFirst(options, run, stream) {
107
+ async function runResponsesFirst(options, run, probeChat, stream) {
114
108
  if (!responsesFirstCandidate(options.providerId))
115
109
  return undefined;
116
- const state = wireState(options.providerId, options.model);
117
- if (state.endpoint === "unsupported")
118
- return undefined;
119
- const thinkingRequested = options.reasoning?.enabled === true;
120
- if (thinkingRequested && state.thinkingWire === "chat")
121
- return undefined;
122
- const probing = state.endpoint === "unknown";
123
- const reasoningDeltas = { count: 0 };
124
- const emittedVisible = { count: 0 };
125
- const countingStream = stream
126
- ? {
127
- onToken: (token) => {
128
- emittedVisible.count += 1;
129
- stream.onToken(token);
130
- },
131
- ...(stream.onToolCallDelta
132
- ? {
133
- onToolCallDelta: (delta) => {
134
- stream.onToolCallDelta(delta);
135
- },
110
+ const configFor = (extras) => genericResponsesConfig(options.providerId, options.provider, options.baseUrl, options.headers, extras);
111
+ const auth = { apiKey: options.apiKey };
112
+ const selection = await selectResponsesWire(options, Boolean(stream), async (signal) => {
113
+ const timeout = new AbortController();
114
+ const timer = setTimeout(() => timeout.abort(new DOMException("Capability preflight timed out", "TimeoutError")), 30_000);
115
+ const probeSignal = AbortSignal.any([signal, timeout.signal]);
116
+ const probe = preflightOptions(options, probeSignal);
117
+ const fallback = (kind, extras) => {
118
+ emitTransportEvent({ kind, provider: options.provider, model: options.model });
119
+ return { wire: "chat", extras };
120
+ };
121
+ try {
122
+ return await withUnrecordedTransport(async () => {
123
+ let extras = "full";
124
+ let result;
125
+ for (;;) {
126
+ probeSignal.throwIfAborted();
127
+ try {
128
+ result = compatibleFromCompletion(await run(configFor(extras), bridgeCompletionRequest(probe), auth, () => { }));
129
+ break;
130
+ }
131
+ catch (error) {
132
+ probeSignal.throwIfAborted();
133
+ if (isChatShapedResponsesPayload(error) || isResponsesEmptyOutput(error)) {
134
+ return fallback("responses-fallback-shape", extras);
135
+ }
136
+ const verdict = classifyResponsesFailure(error, extras);
137
+ if (verdict === "unsupported-endpoint")
138
+ return fallback("responses-fallback-endpoint", extras);
139
+ if (verdict === "unsupported-extras") {
140
+ extras = "bare";
141
+ emitTransportEvent({ kind: "responses-downgrade-extras", provider: options.provider, model: options.model });
142
+ continue;
143
+ }
144
+ if (classifyResponsesFailure(error, "full") === "unsupported-extras" ||
145
+ isGenericModelRejection(providerStatusCode(error), failureText(error))) {
146
+ return fallback("responses-fallback-error", extras);
147
+ }
148
+ throw error;
149
+ }
136
150
  }
137
- : {}),
138
- onStreamEvent: (event) => {
139
- if (event.type === "reasoning_delta" &&
140
- !event.text.startsWith(PRIVATE_REASONING_NOTE_PREFIX)) {
141
- reasoningDeltas.count += 1;
151
+ probeSignal.throwIfAborted();
152
+ if (options.reasoning?.enabled && !hasVisibleReasoning(result)) {
153
+ try {
154
+ const chat = await probeChat(probe);
155
+ probeSignal.throwIfAborted();
156
+ if (hasVisibleReasoning(chat))
157
+ return fallback("responses-fallback-reasoning", extras);
158
+ }
159
+ catch (error) {
160
+ signal.throwIfAborted();
161
+ const status = providerStatusCode(error);
162
+ if (status === 401 || status === 403 || status === 429)
163
+ throw error;
164
+ }
142
165
  }
143
- stream.onStreamEvent?.(event);
144
- },
166
+ return { wire: "responses", extras };
167
+ }, probe.maxTokens);
145
168
  }
146
- : undefined;
147
- const attempt = async (extras) => {
148
- const config = genericResponsesConfig(options.providerId, options.provider, options.baseUrl, options.headers, extras);
149
- const request = bridgeCompletionRequest(options, extras, countingStream);
150
- const auth = { apiKey: options.apiKey };
151
- const wrappedOnToken = countingStream?.onToken ?? (() => { });
152
- return compatibleFromCompletion(await run(config, request, auth, wrappedOnToken));
153
- };
154
- const fallback = (event) => {
155
- state.endpoint = "unsupported";
156
- emitTransportEvent(event);
157
- return undefined;
158
- };
159
- const rememberChatThinkingWire = () => {
160
- state.thinkingWire = "chat";
161
- state.endpoint = "available";
162
- emitTransportEvent({
163
- kind: "responses-fallback-reasoning",
164
- provider: options.provider,
165
- model: options.model,
166
- });
167
- };
168
- let result;
169
- try {
170
- result = await withUnrecordedTransport(() => attempt(state.extras));
171
- }
172
- catch (error) {
173
- if (isChatShapedResponsesPayload(error)) {
174
- return fallback({
175
- kind: "responses-fallback-shape",
176
- provider: options.provider,
177
- model: options.model,
178
- });
179
- }
180
- if (probing &&
181
- isPartialStreamError(error) &&
182
- error.answerBytes === 0 &&
183
- error.reasoningBytes === 0 &&
184
- error.toolArgumentBytes === 0) {
185
- return fallback({
186
- kind: "responses-fallback-shape",
187
- provider: options.provider,
188
- model: options.model,
189
- });
190
- }
191
- if (probing && isResponsesEmptyOutput(error)) {
192
- return fallback({
193
- kind: "responses-fallback-shape",
194
- provider: options.provider,
195
- model: options.model,
196
- });
169
+ finally {
170
+ clearTimeout(timer);
197
171
  }
198
- const status = providerStatusCode(error);
199
- if (status !== undefined && PROBE_UNRELIABLE_STATUS.has(status)) {
200
- return fallback({
201
- kind: "responses-fallback-error",
202
- provider: options.provider,
203
- model: options.model,
204
- detail: `HTTP ${status}`,
205
- });
206
- }
207
- const verdict = classifyResponsesFailure(error, state.extras);
208
- if (verdict === "unsupported-extras") {
209
- const text = failureText(error);
210
- const isReasoningRejection = /reasoning/i.test(text);
211
- if (thinkingRequested && isReasoningRejection) {
212
- rememberChatThinkingWire();
213
- return undefined;
214
- }
215
- state.extras = "bare";
216
- emitTransportEvent({
217
- kind: "responses-downgrade-extras",
218
- provider: options.provider,
219
- model: options.model,
220
- });
221
- try {
222
- result = await withUnrecordedTransport(() => attempt("bare"));
223
- }
224
- catch (retryError) {
225
- const retryStatus = providerStatusCode(retryError);
226
- if (retryStatus !== undefined &&
227
- PROBE_UNRELIABLE_STATUS.has(retryStatus)) {
228
- return fallback({
229
- kind: "responses-fallback-error",
230
- provider: options.provider,
231
- model: options.model,
232
- detail: `HTTP ${retryStatus}`,
233
- });
234
- }
235
- const retryText = failureText(retryError);
236
- if (thinkingRequested && /reasoning/i.test(retryText) && classifyResponsesFailure(retryError, "bare") !== "other") {
237
- rememberChatThinkingWire();
238
- return undefined;
239
- }
240
- if (classifyResponsesFailure(retryError, "bare") ===
241
- "unsupported-endpoint") {
242
- return fallback({
243
- kind: "responses-fallback-endpoint",
244
- provider: options.provider,
245
- model: options.model,
246
- });
247
- }
248
- if (probing &&
249
- isGenericModelRejection(providerStatusCode(retryError), retryText)) {
250
- return fallback({
251
- kind: "responses-fallback-error",
252
- provider: options.provider,
253
- model: options.model,
254
- detail: "HTTP 400",
255
- });
256
- }
257
- recordRethrownFailure(retryError, options.signal);
258
- throw retryError;
259
- }
260
- }
261
- else if (verdict === "unsupported-endpoint") {
262
- return fallback({
263
- kind: "responses-fallback-endpoint",
264
- provider: options.provider,
265
- model: options.model,
266
- });
267
- }
268
- else if (probing &&
269
- isGenericModelRejection(providerStatusCode(error), failureText(error))) {
270
- return fallback({
271
- kind: "responses-fallback-error",
272
- provider: options.provider,
273
- model: options.model,
274
- detail: "HTTP 400",
275
- });
276
- }
277
- else {
278
- recordRethrownFailure(error, options.signal);
279
- throw error;
280
- }
281
- }
282
- state.endpoint = "available";
283
- recordGenerationAttemptOutcome("success", result.usage);
284
- if (thinkingRequested && !hasVisibleReasoning(result, reasoningDeltas.count)) {
285
- if (stream !== undefined && emittedVisible.count > 0) {
286
- state.thinkingWire = "chat";
287
- return result;
288
- }
289
- state.thinkingWire = "chat";
290
- emitTransportEvent({
291
- kind: "responses-fallback-reasoning",
292
- provider: options.provider,
293
- model: options.model,
294
- });
172
+ });
173
+ options.signal?.throwIfAborted();
174
+ if (selection.wire === "chat")
295
175
  return undefined;
296
- }
297
- if (thinkingRequested)
298
- state.thinkingWire = "responses";
299
- return result;
300
- }
301
- function recordRethrownFailure(error, signal) {
302
- recordGenerationAttemptOutcome(signal?.aborted ? "cancelled" : "failure", undefined, providerStatusCode(error));
176
+ return compatibleFromCompletion(await run(configFor(selection.extras), bridgeCompletionRequest(options, stream), auth, stream?.onToken ?? (() => { })));
303
177
  }
304
- export async function openAiCompatibleCompleteViaResponses(options) {
305
- return runResponsesFirst(options, (config, request, auth, _onToken) => responsesComplete(config, request, auth, options.model, assertResponsesShapedData));
178
+ export async function openAiCompatibleCompleteViaResponses(options, probeChat) {
179
+ return runResponsesFirst(options, (config, request, auth, _onToken) => responsesComplete(config, request, auth, options.model, assertResponsesShapedData), probeChat);
306
180
  }
307
- export async function openAiCompatibleStreamViaResponses(options, stream) {
308
- return runResponsesFirst(options, (config, request, auth, onToken) => responsesStream(config, request, auth, onToken, options.model), stream);
181
+ export async function openAiCompatibleStreamViaResponses(options, stream, probeChat) {
182
+ return runResponsesFirst(options, (config, request, auth, onToken) => responsesStream(config, request, auth, onToken, options.model), probeChat, stream);
309
183
  }
310
184
  export function resetResponsesWireStatesForTesting() {
311
- wireStates.clear();
185
+ resetResponsesPreflight();
312
186
  }
313
187
  //# sourceMappingURL=responses-first.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses-first.js","sourceRoot":"","sources":["../../../src/llm/wire/responses-first.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses-first.js","sourceRoot":"","sources":["../../../src/llm/wire/responses-first.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { OpenAiCompatibleResult } from "./reasoning-artifacts.js";
2
+ import type { ResponsesFirstOptions } from "./responses-first.js";
3
+ import type { ExtrasLevel } from "./responses-failure.js";
4
+ export interface ResponsesSelection {
5
+ wire: "responses" | "chat";
6
+ extras: ExtrasLevel;
7
+ }
8
+ export declare function preflightOptions(options: ResponsesFirstOptions, signal: AbortSignal): ResponsesFirstOptions;
9
+ export declare function hasVisibleReasoning(result: OpenAiCompatibleResult): boolean;
10
+ export declare function selectResponsesWire(options: ResponsesFirstOptions, streaming: boolean, probe: (signal: AbortSignal) => Promise<ResponsesSelection>): Promise<ResponsesSelection>;
11
+ export declare function resetResponsesPreflight(): void;
@@ -0,0 +1,127 @@
1
+ import { createHash } from "node:crypto";
2
+ import { currentSessionAffinity, withSessionAffinity } from "../session-affinity.js";
3
+ const MAX_ENTRIES = 400;
4
+ const CACHE_TTL_MS = 30 * 60 * 1000;
5
+ const selections = new Map();
6
+ const sessionSelections = new Map();
7
+ const pendingSelections = new Map();
8
+ function remember(map, key, value) {
9
+ map.delete(key);
10
+ map.set(key, value);
11
+ while (map.size > MAX_ENTRIES)
12
+ map.delete(map.keys().next().value);
13
+ }
14
+ export function preflightOptions(options, signal) {
15
+ const name = typeof options.toolChoice === "object"
16
+ ? options.toolChoice.name
17
+ : "capability_probe";
18
+ const tools = options.tools?.length ? [{
19
+ name,
20
+ wireName: options.tools.find((tool) => tool.name === name || tool.wireName === name)?.wireName ?? name,
21
+ description: "Return the computed integer without side effects.",
22
+ parameters: { type: "object", properties: { answer: { type: "integer" } }, required: ["answer"], additionalProperties: false },
23
+ }] : undefined;
24
+ const messages = [{
25
+ role: "user",
26
+ content: "Find the smallest positive integer n such that n mod 7 = 3 and n mod 11 = 5. Use your reasoning channel if available, then give only the integer or return it through the provided tool.",
27
+ }];
28
+ return {
29
+ ...options,
30
+ messages,
31
+ tools,
32
+ maxTokens: Math.min(options.maxTokens ?? 512, 512),
33
+ signal,
34
+ reasoningArtifactReplayObserver: undefined,
35
+ };
36
+ }
37
+ export function hasVisibleReasoning(result) {
38
+ const text = result.reasoningBlock?.text.trim();
39
+ return Boolean(text && !text.startsWith("Reasoning is private on "));
40
+ }
41
+ function selectionKey(options, streaming) {
42
+ const headers = [...new Headers(options.headers).entries()].sort(([a], [b]) => a.localeCompare(b));
43
+ return createHash("sha256").update(JSON.stringify({
44
+ provider: options.providerId,
45
+ endpoint: options.baseUrl.replace(/\/+$/, ""),
46
+ model: options.model,
47
+ apiKey: options.apiKey,
48
+ headers,
49
+ streaming,
50
+ reasoning: options.reasoning,
51
+ reasoningStyle: options.reasoningStyle,
52
+ temperature: options.temperature,
53
+ tools: Boolean(options.tools?.length),
54
+ toolChoice: options.toolChoice,
55
+ parallelToolCalls: options.parallelToolCalls,
56
+ includeStreamUsage: options.includeStreamUsage,
57
+ })).digest("hex");
58
+ }
59
+ function waitForSelection(pending, signal) {
60
+ signal?.throwIfAborted();
61
+ pending.waiters += 1;
62
+ return new Promise((resolve, reject) => {
63
+ let settled = false;
64
+ const finish = (error, value) => {
65
+ if (settled)
66
+ return;
67
+ settled = true;
68
+ signal?.removeEventListener("abort", onAbort);
69
+ pending.waiters -= 1;
70
+ if (pending.waiters === 0)
71
+ pending.controller.abort();
72
+ if (value)
73
+ resolve(value);
74
+ else
75
+ reject(error);
76
+ };
77
+ const onAbort = () => finish(signal?.reason);
78
+ signal?.addEventListener("abort", onAbort, { once: true });
79
+ pending.promise.then((value) => finish(undefined, value), (error) => finish(error));
80
+ });
81
+ }
82
+ export async function selectResponsesWire(options, streaming, probe) {
83
+ options.signal?.throwIfAborted();
84
+ const key = selectionKey(options, streaming);
85
+ const session = currentSessionAffinity();
86
+ const sessionKey = session ? `${session}:${key}` : undefined;
87
+ const pinned = sessionKey ? sessionSelections.get(sessionKey) : undefined;
88
+ if (pinned)
89
+ return pinned;
90
+ const cached = selections.get(key);
91
+ if (cached && cached.expiresAt > Date.now()) {
92
+ if (sessionKey)
93
+ remember(sessionSelections, sessionKey, cached.value);
94
+ return cached.value;
95
+ }
96
+ let pending = pendingSelections.get(key);
97
+ if (!pending || pending.controller.signal.aborted) {
98
+ const controller = new AbortController();
99
+ const next = {
100
+ controller,
101
+ waiters: 0,
102
+ promise: Promise.resolve().then(async () => {
103
+ const value = await withSessionAffinity(`preflight-${key}`, () => probe(controller.signal));
104
+ controller.signal.throwIfAborted();
105
+ remember(selections, key, { value, expiresAt: Date.now() + CACHE_TTL_MS });
106
+ return value;
107
+ }).finally(() => {
108
+ if (pendingSelections.get(key) === next)
109
+ pendingSelections.delete(key);
110
+ }),
111
+ };
112
+ pendingSelections.set(key, next);
113
+ pending = next;
114
+ }
115
+ const value = await waitForSelection(pending, options.signal);
116
+ if (sessionKey)
117
+ remember(sessionSelections, sessionKey, value);
118
+ return value;
119
+ }
120
+ export function resetResponsesPreflight() {
121
+ selections.clear();
122
+ sessionSelections.clear();
123
+ for (const pending of pendingSelections.values())
124
+ pending.controller.abort();
125
+ pendingSelections.clear();
126
+ }
127
+ //# sourceMappingURL=responses-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses-preflight.js","sourceRoot":"","sources":["../../../src/llm/wire/responses-preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function copyString(text: string): string;
@@ -0,0 +1,4 @@
1
+ export function copyString(text) {
2
+ return Buffer.from(text, "utf16le").toString("utf16le");
3
+ }
4
+ //# sourceMappingURL=copy-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-string.js","sourceRoot":"","sources":["../../src/os/copy-string.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC"}
@@ -1,12 +1,12 @@
1
1
  export declare const DEFAULT_REPLAY_BYTES: number;
2
2
  export declare class TerminalReplayBuffer {
3
3
  private readonly limitBytes;
4
- private chunks;
4
+ private buffer;
5
+ private writeOffset;
5
6
  private byteLengthValue;
6
7
  constructor(limitBytes?: number);
7
8
  get byteLength(): number;
8
9
  append(value: Uint8Array): void;
9
10
  snapshot(): Buffer;
10
11
  clear(): void;
11
- private trim;
12
12
  }