@nexus-cortex/core 4.124.43 → 4.124.45
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/.env.defaults +184 -0
- package/dist/adapters/GatewayTranslationLayer.d.ts.map +1 -1
- package/dist/adapters/GatewayTranslationLayer.js +14 -1
- package/dist/adapters/GatewayTranslationLayer.js.map +1 -1
- package/dist/adapters/ServerSideToolDetection.d.ts.map +1 -1
- package/dist/adapters/ServerSideToolDetection.js +5 -1
- package/dist/adapters/ServerSideToolDetection.js.map +1 -1
- package/dist/config/SettingsLoader.d.ts +3 -1
- package/dist/config/SettingsLoader.d.ts.map +1 -1
- package/dist/config/SettingsLoader.js +18 -4
- package/dist/config/SettingsLoader.js.map +1 -1
- package/dist/config/SettingsSchema.d.ts +1 -0
- package/dist/config/SettingsSchema.d.ts.map +1 -1
- package/dist/config/SettingsSchema.js +9 -0
- package/dist/config/SettingsSchema.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +1 -1
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +21 -1
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/config/interactiveProfile.d.ts +86 -0
- package/dist/config/interactiveProfile.d.ts.map +1 -0
- package/dist/config/interactiveProfile.js +114 -0
- package/dist/config/interactiveProfile.js.map +1 -0
- package/dist/middleware/HelperModelMiddleware.d.ts +10 -0
- package/dist/middleware/HelperModelMiddleware.d.ts.map +1 -1
- package/dist/middleware/HelperModelMiddleware.js +48 -5
- package/dist/middleware/HelperModelMiddleware.js.map +1 -1
- package/dist/middleware/SystemMessageMiddleware.d.ts.map +1 -1
- package/dist/middleware/SystemMessageMiddleware.js +4 -2
- package/dist/middleware/SystemMessageMiddleware.js.map +1 -1
- package/dist/middleware/helpers/helperProviderMatch.d.ts +40 -0
- package/dist/middleware/helpers/helperProviderMatch.d.ts.map +1 -0
- package/dist/middleware/helpers/helperProviderMatch.js +50 -0
- package/dist/middleware/helpers/helperProviderMatch.js.map +1 -0
- package/dist/orchestrator/APIClient.d.ts.map +1 -1
- package/dist/orchestrator/APIClient.js +92 -13
- package/dist/orchestrator/APIClient.js.map +1 -1
- package/dist/orchestrator/CortexOrchestrator.d.ts +22 -0
- package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
- package/dist/orchestrator/CortexOrchestrator.js +211 -82
- package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
- package/dist/orchestrator/OrchestratorFactory.d.ts.map +1 -1
- package/dist/orchestrator/OrchestratorFactory.js +10 -0
- package/dist/orchestrator/OrchestratorFactory.js.map +1 -1
- package/dist/orchestrator/appendOnlyHistory.d.ts +39 -0
- package/dist/orchestrator/appendOnlyHistory.d.ts.map +1 -0
- package/dist/orchestrator/appendOnlyHistory.js +75 -0
- package/dist/orchestrator/appendOnlyHistory.js.map +1 -0
- package/dist/orchestrator/transportCacheFixes.d.ts +22 -0
- package/dist/orchestrator/transportCacheFixes.d.ts.map +1 -0
- package/dist/orchestrator/transportCacheFixes.js +114 -0
- package/dist/orchestrator/transportCacheFixes.js.map +1 -0
- package/dist/orchestrator/transportFixes.d.ts +55 -0
- package/dist/orchestrator/transportFixes.d.ts.map +1 -0
- package/dist/orchestrator/transportFixes.js +182 -0
- package/dist/orchestrator/transportFixes.js.map +1 -0
- package/dist/orchestrator/wallGuard.d.ts +3 -1
- package/dist/orchestrator/wallGuard.d.ts.map +1 -1
- package/dist/orchestrator/wallGuard.js +15 -2
- package/dist/orchestrator/wallGuard.js.map +1 -1
- package/dist/system-messages/promptPresets.d.ts +29 -1
- package/dist/system-messages/promptPresets.d.ts.map +1 -1
- package/dist/system-messages/promptPresets.js +44 -2
- package/dist/system-messages/promptPresets.js.map +1 -1
- package/dist/tools/ClientSideToolFilter.d.ts +9 -2
- package/dist/tools/ClientSideToolFilter.d.ts.map +1 -1
- package/dist/tools/ClientSideToolFilter.js +26 -3
- package/dist/tools/ClientSideToolFilter.js.map +1 -1
- package/dist/training/DecisionStore.d.ts +1 -1
- package/dist/training/DecisionStore.d.ts.map +1 -1
- package/dist/training/DecisionStore.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrchestratorFactory.d.ts","sourceRoot":"","sources":["../../src/orchestrator/OrchestratorFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA2BtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AASnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAKvF;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;IAErD,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAExC,0BAA0B;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE;QACtB,0EAA0E;QAC1E,gBAAgB,EAAE,MAAM,IAAI,CAAC;QAC7B,+EAA+E;QAC/E,eAAe,EAAE,MAAM,IAAI,CAAC;KAC7B,CAAC;IAEF;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5G;AA6GD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,gBAAgB,GAAE,gBAAqB,GACtC,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"OrchestratorFactory.d.ts","sourceRoot":"","sources":["../../src/orchestrator/OrchestratorFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA2BtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AASnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAKvF;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;IAErD,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAExC,0BAA0B;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE;QACtB,0EAA0E;QAC1E,gBAAgB,EAAE,MAAM,IAAI,CAAC;QAC7B,+EAA+E;QAC/E,eAAe,EAAE,MAAM,IAAI,CAAC;KAC7B,CAAC;IAEF;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5G;AA6GD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,gBAAgB,GAAE,gBAAqB,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAwW7B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoB3G;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6B1G;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAUvG"}
|
|
@@ -399,6 +399,16 @@ export async function createOrchestrator(config, middlewareConfig = {}) {
|
|
|
399
399
|
const orchestrator = new CortexOrchestrator(adapterRegistry, gatewayTranslation, modelRegistry, modelAliasResolver, helperMiddleware, compactionManager, contextBudgetManager, historyStore, historicalService, executorRegistry, mcpConfigManager, mcpRegistry, mcpManager, apiClient, systemReminderInjector, systemMessageLoader, normalizedConfig,
|
|
400
400
|
// Wave 3: Middleware components
|
|
401
401
|
errorClassifier, retryMiddleware, permissionsMiddleware, systemMessageMiddleware, mentorshipMiddleware);
|
|
402
|
+
// R217 CORTEX_HELPER_MATCH_PROVIDER: the helper middleware reads the LIVE action model's provider (follows /model
|
|
403
|
+
// switches). Inert unless the flag is on (HelperModelMiddleware.resolveRoleModelId returns the id unchanged).
|
|
404
|
+
helperMiddleware.setActionProviderResolver(() => {
|
|
405
|
+
try {
|
|
406
|
+
return orchestrator.getCurrentModel()?.provider;
|
|
407
|
+
}
|
|
408
|
+
catch {
|
|
409
|
+
return undefined;
|
|
410
|
+
}
|
|
411
|
+
});
|
|
402
412
|
// HB-TURN-STATUS: the status tail reads running background shells from the SAME registry Bash/BashOutput/KillShell use.
|
|
403
413
|
orchestrator.setBackgroundShellsProvider(() => BackgroundProcessRegistry.getInstance().getAllProcesses());
|
|
404
414
|
// Wire CLIApprovalHandler callbacks if in interactive mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrchestratorFactory.js","sourceRoot":"","sources":["../../src/orchestrator/OrchestratorFactory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrchestratorFactory.js","sourceRoot":"","sources":["../../src/orchestrator/OrchestratorFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Append-only request history (prompt-cache restructure, 2026-10-02). Every lever here is DARK (unset/off = byte-identical).
|
|
3
|
+
* Evidence: .cortex/research/caching-audit-2026-10-02.md (RESTRUCTURE PLAN) + prefix-stability-2026-10-02.md (harness).
|
|
4
|
+
* The anchor lift (the one intended tools-array change at the first tool_result boundary) is NOT touched by any of these.
|
|
5
|
+
*
|
|
6
|
+
* CORTEX_WALL_CACHE_FIX (R221) off | on — the general safety net: every in-place mutation of a history message whose canonical
|
|
7
|
+
* conversion may already be cached (the HB-WALL-DROP nudge on the newest tool_result, the steering carriers, the R26 empty-turn repair,
|
|
8
|
+
* the R154 image stub) drops that message's cached conversion, so every later request carries the mutated bytes (wall nudge + wall
|
|
9
|
+
* summary persist; the single tail break at the retry remains, the second break on the request after it is gone). The wall drop itself
|
|
10
|
+
* is unchanged (operator 10-02: dropping the walled tail + nudging the newest tool_result is the deliberate trade).
|
|
11
|
+
* CORTEX_PERSIST_INJECTED (R223) off | on — the first request's injected user content (repo-state note, deferred-tool announcement,
|
|
12
|
+
* MCP / slash-command notes) is what every later request of the session sends for that message; storage + display keep the raw text.
|
|
13
|
+
* CORTEX_APPEND_ONLY_TOOLS (R222) off | on — the deferred-tool filter only APPENDS: newly enabled tools go to the end in first-enable
|
|
14
|
+
* order, nothing is evicted within the orchestrator's lifetime.
|
|
15
|
+
* CORTEX_KEEP_MENTOR_MESSAGES (R227) off | on — mentor/guidance messages stay in history (no mid-history removal at turn end).
|
|
16
|
+
* CORTEX_RESPONSES_SLICE_ALL (R228) off | on — every Responses request that chains previous_response_id sends only the items added since
|
|
17
|
+
* the held response (EndTurn gate, wall/empty retries, inaction retry, tools-off synthesis), and each of those responses moves the
|
|
18
|
+
* slice checkpoint.
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveWallCacheFix(env?: NodeJS.ProcessEnv): boolean;
|
|
21
|
+
export declare function resolvePersistInjected(env?: NodeJS.ProcessEnv): boolean;
|
|
22
|
+
export declare function resolveAppendOnlyTools(env?: NodeJS.ProcessEnv): boolean;
|
|
23
|
+
export declare function resolveKeepMentorMessages(env?: NodeJS.ProcessEnv): boolean;
|
|
24
|
+
export declare function resolveResponsesSliceAll(env?: NodeJS.ProcessEnv): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* R228: the slice start for a request chained on previous_response_id. `held` = messageCountAtLastResponse (history length right after
|
|
27
|
+
* the held response was pushed). A history that SHRANK below it (HB-WALL-DROP popped the walled turn the server still holds) slices from
|
|
28
|
+
* the current end, so only items appended after the drop are sent. 0 = send everything (no usable checkpoint).
|
|
29
|
+
*/
|
|
30
|
+
export declare function chainedSliceStart(held: number, length: number): number;
|
|
31
|
+
/** Messages after the newest assistant message (the "tail unit" every steering carrier writes into). */
|
|
32
|
+
export declare function tailUnitAfterLastAssistant(history: readonly any[]): any[];
|
|
33
|
+
/**
|
|
34
|
+
* R228 fallback: the provider no longer has the response named by previous_response_id (store off, expired, deleted, other backend).
|
|
35
|
+
* Matched on the error text the Responses APIs return ("Previous response with id '…' not found", "previous_response_id … invalid/expired")
|
|
36
|
+
* or a 404 that names a response. Anything else is not a chain failure and is rethrown untouched.
|
|
37
|
+
*/
|
|
38
|
+
export declare function isPreviousResponseUnavailable(err: unknown): boolean;
|
|
39
|
+
//# sourceMappingURL=appendOnlyHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendOnlyHistory.d.ts","sourceRoot":"","sources":["../../src/orchestrator/appendOnlyHistory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEjF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEpF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEpF;AAED,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEvF;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGtE;AAED,wGAAwG;AACxG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CASzE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAOnE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Append-only request history (prompt-cache restructure, 2026-10-02). Every lever here is DARK (unset/off = byte-identical).
|
|
3
|
+
* Evidence: .cortex/research/caching-audit-2026-10-02.md (RESTRUCTURE PLAN) + prefix-stability-2026-10-02.md (harness).
|
|
4
|
+
* The anchor lift (the one intended tools-array change at the first tool_result boundary) is NOT touched by any of these.
|
|
5
|
+
*
|
|
6
|
+
* CORTEX_WALL_CACHE_FIX (R221) off | on — the general safety net: every in-place mutation of a history message whose canonical
|
|
7
|
+
* conversion may already be cached (the HB-WALL-DROP nudge on the newest tool_result, the steering carriers, the R26 empty-turn repair,
|
|
8
|
+
* the R154 image stub) drops that message's cached conversion, so every later request carries the mutated bytes (wall nudge + wall
|
|
9
|
+
* summary persist; the single tail break at the retry remains, the second break on the request after it is gone). The wall drop itself
|
|
10
|
+
* is unchanged (operator 10-02: dropping the walled tail + nudging the newest tool_result is the deliberate trade).
|
|
11
|
+
* CORTEX_PERSIST_INJECTED (R223) off | on — the first request's injected user content (repo-state note, deferred-tool announcement,
|
|
12
|
+
* MCP / slash-command notes) is what every later request of the session sends for that message; storage + display keep the raw text.
|
|
13
|
+
* CORTEX_APPEND_ONLY_TOOLS (R222) off | on — the deferred-tool filter only APPENDS: newly enabled tools go to the end in first-enable
|
|
14
|
+
* order, nothing is evicted within the orchestrator's lifetime.
|
|
15
|
+
* CORTEX_KEEP_MENTOR_MESSAGES (R227) off | on — mentor/guidance messages stay in history (no mid-history removal at turn end).
|
|
16
|
+
* CORTEX_RESPONSES_SLICE_ALL (R228) off | on — every Responses request that chains previous_response_id sends only the items added since
|
|
17
|
+
* the held response (EndTurn gate, wall/empty retries, inaction retry, tools-off synthesis), and each of those responses moves the
|
|
18
|
+
* slice checkpoint.
|
|
19
|
+
*/
|
|
20
|
+
function onOff(v) {
|
|
21
|
+
const s = String(v ?? '').trim().toLowerCase();
|
|
22
|
+
return s === 'on' || s === 'true' || s === '1';
|
|
23
|
+
}
|
|
24
|
+
export function resolveWallCacheFix(env = process.env) {
|
|
25
|
+
return onOff(env.CORTEX_WALL_CACHE_FIX);
|
|
26
|
+
}
|
|
27
|
+
export function resolvePersistInjected(env = process.env) {
|
|
28
|
+
return onOff(env.CORTEX_PERSIST_INJECTED);
|
|
29
|
+
}
|
|
30
|
+
export function resolveAppendOnlyTools(env = process.env) {
|
|
31
|
+
return onOff(env.CORTEX_APPEND_ONLY_TOOLS);
|
|
32
|
+
}
|
|
33
|
+
export function resolveKeepMentorMessages(env = process.env) {
|
|
34
|
+
return onOff(env.CORTEX_KEEP_MENTOR_MESSAGES);
|
|
35
|
+
}
|
|
36
|
+
export function resolveResponsesSliceAll(env = process.env) {
|
|
37
|
+
return onOff(env.CORTEX_RESPONSES_SLICE_ALL);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* R228: the slice start for a request chained on previous_response_id. `held` = messageCountAtLastResponse (history length right after
|
|
41
|
+
* the held response was pushed). A history that SHRANK below it (HB-WALL-DROP popped the walled turn the server still holds) slices from
|
|
42
|
+
* the current end, so only items appended after the drop are sent. 0 = send everything (no usable checkpoint).
|
|
43
|
+
*/
|
|
44
|
+
export function chainedSliceStart(held, length) {
|
|
45
|
+
if (!(held > 0))
|
|
46
|
+
return 0;
|
|
47
|
+
return Math.min(held, length);
|
|
48
|
+
}
|
|
49
|
+
/** Messages after the newest assistant message (the "tail unit" every steering carrier writes into). */
|
|
50
|
+
export function tailUnitAfterLastAssistant(history) {
|
|
51
|
+
const out = [];
|
|
52
|
+
for (let i = history.length - 1; i >= 0; i--) {
|
|
53
|
+
const m = history[i];
|
|
54
|
+
const role = m?.message?.role ?? m?.role ?? (m?.type === 'assistant' ? 'assistant' : undefined);
|
|
55
|
+
if (role === 'assistant')
|
|
56
|
+
break;
|
|
57
|
+
out.push(m);
|
|
58
|
+
}
|
|
59
|
+
return out;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* R228 fallback: the provider no longer has the response named by previous_response_id (store off, expired, deleted, other backend).
|
|
63
|
+
* Matched on the error text the Responses APIs return ("Previous response with id '…' not found", "previous_response_id … invalid/expired")
|
|
64
|
+
* or a 404 that names a response. Anything else is not a chain failure and is rethrown untouched.
|
|
65
|
+
*/
|
|
66
|
+
export function isPreviousResponseUnavailable(err) {
|
|
67
|
+
const e = err;
|
|
68
|
+
const status = Number(e?.status ?? e?.statusCode ?? e?.response?.status ?? e?.error?.status ?? NaN);
|
|
69
|
+
const text = [e?.message, e?.error?.message, e?.error?.code, e?.code, e?.response?.data?.error?.message]
|
|
70
|
+
.filter((x) => typeof x === 'string').join(' ');
|
|
71
|
+
if (/previous[_ ]?response/i.test(text) && /not[_ ]?found|expired|invalid|does not exist|unavailable|no longer|not stored|unknown/i.test(text))
|
|
72
|
+
return true;
|
|
73
|
+
return status === 404 && /\bresponse\b/i.test(text);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=appendOnlyHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendOnlyHistory.js","sourceRoot":"","sources":["../../src/orchestrator/appendOnlyHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare function isGeminiSystemFixEnabled(): boolean;
|
|
2
|
+
export declare function isStableToolOrderEnabled(): boolean;
|
|
3
|
+
export declare function isOpenAICacheKeyEnabled(): boolean;
|
|
4
|
+
export declare function isAnthropicAutoCacheEnabled(): boolean;
|
|
5
|
+
export declare function isForcedChoiceFullToolsEnabled(): boolean;
|
|
6
|
+
export declare function isStreamUsageEnabled(): boolean;
|
|
7
|
+
/** '1h' when CORTEX_ANTHROPIC_CACHE_TTL=1h; undefined = provider default (5 minutes, no ttl field sent). */
|
|
8
|
+
export declare function anthropicCacheTtl(): '1h' | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Applies the dark Anthropic cache levers to a built Anthropic Messages request body (Anthropic provider only —
|
|
11
|
+
* never called on the xAI Messages branch). Never mutates the input message/tool/system objects (the messages
|
|
12
|
+
* array may be the orchestrator's cached canonical conversion); replaces the affected arrays on `req` with
|
|
13
|
+
* copies. Returns what it did, for tests/logging.
|
|
14
|
+
*/
|
|
15
|
+
export declare function applyAnthropicCacheLevers(req: any): {
|
|
16
|
+
ttl?: '1h';
|
|
17
|
+
auto: boolean;
|
|
18
|
+
};
|
|
19
|
+
/** OpenAI-shape usage object for the reassembled streaming final message: the provider's usage chunk when it
|
|
20
|
+
* arrived (all its fields kept — prompt_tokens_details / prompt_cache_hit_tokens …), else the legacy zeros. */
|
|
21
|
+
export declare function streamFinalUsage(providerUsage: any): any;
|
|
22
|
+
//# sourceMappingURL=transportCacheFixes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transportCacheFixes.d.ts","sourceRoot":"","sources":["../../src/orchestrator/transportCacheFixes.ts"],"names":[],"mappings":"AAqCA,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AACD,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AACD,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AACD,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AACD,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AACD,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AACD,4GAA4G;AAC5G,wBAAgB,iBAAiB,IAAI,IAAI,GAAG,SAAS,CAEpD;AAwBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,GAAG;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAajF;AAMD;gHACgH;AAChH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG,CAGxD"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport prompt-cache + correctness fixes R224a / R225 / R229 / R230 (2026-10-02; caching audit
|
|
3
|
+
* .cortex/research/caching-audit-2026-10-02.md). Each is DARK behind its own env flag; with the flag off the
|
|
4
|
+
* callers take their pre-existing code path unchanged (byte-identical requests).
|
|
5
|
+
*
|
|
6
|
+
* - R229 CORTEX_GEMINI_SYSTEM_FIX: Gemini never received the system prompt. REST generateContent (non-streaming)
|
|
7
|
+
* sent no `system_instruction`; the non-tool @google/generative-ai SDK paths sent none either (that SDK is
|
|
8
|
+
* v0.2.1 on the v1 endpoint and has no systemInstruction support, so with the flag on those requests go through
|
|
9
|
+
* the v1beta REST builders instead); the @google/genai SDK paths set a TOP-LEVEL `systemInstruction`, which the
|
|
10
|
+
* SDK drops (GenerateContentParameters = {model, contents, config}) — it must be `config.systemInstruction`.
|
|
11
|
+
* - R230 CORTEX_STABLE_TOOL_ORDER: xAI hybrid server+client tools (ENABLE_SERVER_SIDE_TOOLS) put the server
|
|
12
|
+
* tools FIRST on the first request of each user turn while continuations use the original order → the tools
|
|
13
|
+
* array (prefix head) was reordered at every user-turn boundary. On: the original order on every request.
|
|
14
|
+
* - R225 CORTEX_OPENAI_CACHE_KEY: OpenAI chat/completions + Responses get `prompt_cache_key` = the session id
|
|
15
|
+
* (the value xAI already receives) so same-session requests route to the same cache.
|
|
16
|
+
* - R225 CORTEX_ANTHROPIC_AUTO_CACHE: Anthropic Messages adds the top-level automatic `cache_control` (moves with
|
|
17
|
+
* the conversation) beside the explicit system / last-tool markers, only while a breakpoint slot is free
|
|
18
|
+
* (cap 4, R218 markers counted).
|
|
19
|
+
* - R225 CORTEX_ANTHROPIC_CACHE_TTL=1h: every cache_control this harness emits on the Anthropic path (system,
|
|
20
|
+
* last tool, R218 history, automatic) carries ttl '1h' — uniform, so the "longer TTL first" ordering rule and
|
|
21
|
+
* the "last-block marker TTL must equal the automatic TTL" rule both hold. Default (unset / 5m) = unchanged.
|
|
22
|
+
* - R225 CORTEX_FORCED_CHOICE_FULL_TOOLS: a forced named tool_choice keeps the FULL tools array (the provider's
|
|
23
|
+
* tool_choice does the forcing) instead of narrowing it to the forced tool, so the forced request does not
|
|
24
|
+
* rewrite the tools prefix twice. ⚠ DeepSeek was observed (2026-08-29) to ignore a named choice when the full
|
|
25
|
+
* catalog is present — that is why narrowing exists.
|
|
26
|
+
* - R224a CORTEX_STREAM_USAGE: streaming chat/completions sends `stream_options: {include_usage: true}` and the
|
|
27
|
+
* reassembled final message carries the provider's usage chunk instead of zeros.
|
|
28
|
+
*
|
|
29
|
+
* Pure helpers — no client state. Flags are resolved per call so tests/benches can flip them.
|
|
30
|
+
*/
|
|
31
|
+
import { countAnthropicBreakpoints, ANTHROPIC_MAX_CACHE_BREAKPOINTS } from './transportFixes.js';
|
|
32
|
+
function flagOn(raw) {
|
|
33
|
+
const v = String(raw ?? '').trim().toLowerCase();
|
|
34
|
+
return v === 'on' || v === 'true' || v === '1';
|
|
35
|
+
}
|
|
36
|
+
export function isGeminiSystemFixEnabled() {
|
|
37
|
+
return flagOn(process.env.CORTEX_GEMINI_SYSTEM_FIX);
|
|
38
|
+
}
|
|
39
|
+
export function isStableToolOrderEnabled() {
|
|
40
|
+
return flagOn(process.env.CORTEX_STABLE_TOOL_ORDER);
|
|
41
|
+
}
|
|
42
|
+
export function isOpenAICacheKeyEnabled() {
|
|
43
|
+
return flagOn(process.env.CORTEX_OPENAI_CACHE_KEY);
|
|
44
|
+
}
|
|
45
|
+
export function isAnthropicAutoCacheEnabled() {
|
|
46
|
+
return flagOn(process.env.CORTEX_ANTHROPIC_AUTO_CACHE);
|
|
47
|
+
}
|
|
48
|
+
export function isForcedChoiceFullToolsEnabled() {
|
|
49
|
+
return flagOn(process.env.CORTEX_FORCED_CHOICE_FULL_TOOLS);
|
|
50
|
+
}
|
|
51
|
+
export function isStreamUsageEnabled() {
|
|
52
|
+
return flagOn(process.env.CORTEX_STREAM_USAGE);
|
|
53
|
+
}
|
|
54
|
+
/** '1h' when CORTEX_ANTHROPIC_CACHE_TTL=1h; undefined = provider default (5 minutes, no ttl field sent). */
|
|
55
|
+
export function anthropicCacheTtl() {
|
|
56
|
+
return String(process.env.CORTEX_ANTHROPIC_CACHE_TTL ?? '').trim().toLowerCase() === '1h' ? '1h' : undefined;
|
|
57
|
+
}
|
|
58
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
59
|
+
// R225 — Anthropic automatic cache_control + TTL
|
|
60
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
61
|
+
function withTtl(node, ttl) {
|
|
62
|
+
if (Array.isArray(node)) {
|
|
63
|
+
let changed = false;
|
|
64
|
+
const out = node.map((x) => { const y = withTtl(x, ttl); if (y !== x)
|
|
65
|
+
changed = true; return y; });
|
|
66
|
+
return changed ? out : node;
|
|
67
|
+
}
|
|
68
|
+
if (!node || typeof node !== 'object')
|
|
69
|
+
return node;
|
|
70
|
+
let out = node;
|
|
71
|
+
if (node.cache_control && typeof node.cache_control === 'object') {
|
|
72
|
+
out = { ...node, cache_control: { ...node.cache_control, ttl } };
|
|
73
|
+
}
|
|
74
|
+
if (Array.isArray(node.content)) {
|
|
75
|
+
const c = withTtl(node.content, ttl);
|
|
76
|
+
if (c !== node.content)
|
|
77
|
+
out = { ...out, content: c };
|
|
78
|
+
}
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Applies the dark Anthropic cache levers to a built Anthropic Messages request body (Anthropic provider only —
|
|
83
|
+
* never called on the xAI Messages branch). Never mutates the input message/tool/system objects (the messages
|
|
84
|
+
* array may be the orchestrator's cached canonical conversion); replaces the affected arrays on `req` with
|
|
85
|
+
* copies. Returns what it did, for tests/logging.
|
|
86
|
+
*/
|
|
87
|
+
export function applyAnthropicCacheLevers(req) {
|
|
88
|
+
const ttl = anthropicCacheTtl();
|
|
89
|
+
if (ttl) {
|
|
90
|
+
if (Array.isArray(req.system))
|
|
91
|
+
req.system = withTtl(req.system, ttl);
|
|
92
|
+
if (Array.isArray(req.tools))
|
|
93
|
+
req.tools = withTtl(req.tools, ttl);
|
|
94
|
+
if (Array.isArray(req.messages))
|
|
95
|
+
req.messages = withTtl(req.messages, ttl);
|
|
96
|
+
}
|
|
97
|
+
let auto = false;
|
|
98
|
+
if (isAnthropicAutoCacheEnabled() && countAnthropicBreakpoints(req) < ANTHROPIC_MAX_CACHE_BREAKPOINTS) {
|
|
99
|
+
req.cache_control = ttl ? { type: 'ephemeral', ttl } : { type: 'ephemeral' };
|
|
100
|
+
auto = true;
|
|
101
|
+
}
|
|
102
|
+
return { ...(ttl ? { ttl } : {}), auto };
|
|
103
|
+
}
|
|
104
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
105
|
+
// R224a — streaming chat/completions usage
|
|
106
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
107
|
+
/** OpenAI-shape usage object for the reassembled streaming final message: the provider's usage chunk when it
|
|
108
|
+
* arrived (all its fields kept — prompt_tokens_details / prompt_cache_hit_tokens …), else the legacy zeros. */
|
|
109
|
+
export function streamFinalUsage(providerUsage) {
|
|
110
|
+
if (providerUsage && typeof providerUsage === 'object')
|
|
111
|
+
return providerUsage;
|
|
112
|
+
return { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 };
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=transportCacheFixes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transportCacheFixes.js","sourceRoot":"","sources":["../../src/orchestrator/transportCacheFixes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport fixes R215 / R216 / R218 (2026-10-02, transport map 10-02). Each is DARK behind its own env flag;
|
|
3
|
+
* with the flag off the callers take their pre-existing code path unchanged (byte-identical requests).
|
|
4
|
+
*
|
|
5
|
+
* - R215 CORTEX_RESPONSES_INLINE_REMINDERS: on the Responses path, keep `<system-reminder>` text IN PLACE as
|
|
6
|
+
* user `input_text` items instead of extracting it into `instructions` (which xAI never receives, and which
|
|
7
|
+
* moves reminders away from the tool output they annotate on OpenAI).
|
|
8
|
+
* - R216 CORTEX_RESPONSES_STOP_REASON: map the Responses API truncation signal (status 'incomplete' +
|
|
9
|
+
* incomplete_details.reason 'max_output_tokens') and the hf-space finish_reason to stop reasons the
|
|
10
|
+
* empty-response classifier understands.
|
|
11
|
+
* - R218 CORTEX_ANTHROPIC_HISTORY_CACHE: rolling message-level cache_control breakpoints on the Anthropic
|
|
12
|
+
* Messages path (never the xAI Messages branch), within Anthropic's 4-breakpoint cap.
|
|
13
|
+
*
|
|
14
|
+
* Pure helpers — no client state. Flags are resolved per call so tests/benches can flip them.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isResponsesInlineRemindersEnabled(): boolean;
|
|
17
|
+
export declare function isResponsesStopReasonEnabled(): boolean;
|
|
18
|
+
export declare function isAnthropicHistoryCacheEnabled(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Keep reminder text where the conversation put it. The ResponsesAPIAdapter emits a canonical user message
|
|
21
|
+
* that carries [tool_result..., text] as `message{user, input_text}` FOLLOWED BY its `function_call_output`
|
|
22
|
+
* items (adapters/ResponsesAPIAdapter.ts toProviderMessages), so a reminder written beside a tool result would
|
|
23
|
+
* land BEFORE the tool output, between the function_call and its output. Here each user message item that is
|
|
24
|
+
* immediately followed by function_call_output items is moved after them: tool outputs first, then the user
|
|
25
|
+
* text (reminders included, unchanged `<system-reminder>` tags). Nothing is removed and no item is rewritten.
|
|
26
|
+
*/
|
|
27
|
+
export declare function inlineRemindersForResponses(inputItems: any[]): any[];
|
|
28
|
+
/**
|
|
29
|
+
* Responses API (verified live on DeepSeek 2026-10-02, non-streaming AND the streaming `response.incomplete`
|
|
30
|
+
* event's `response`): `{ status: 'incomplete', incomplete_details: { reason: 'max_output_tokens' } }`.
|
|
31
|
+
* Truncation → 'max_output_tokens' (in the classifier's TRUNCATION_STOP set). Any other incomplete reason is
|
|
32
|
+
* passed through as-is (e.g. 'content_filter'; unverified live); otherwise the status ('completed', ...).
|
|
33
|
+
*/
|
|
34
|
+
export declare function mapResponsesStopReason(resp: any): string | undefined;
|
|
35
|
+
/** hf-space returns an OpenAI chat.completion shape built in APIClient.sendHFSpaceAPI. */
|
|
36
|
+
export declare function mapHFSpaceStopReason(resp: any): string | undefined;
|
|
37
|
+
/** Anthropic allows at most 4 cache_control breakpoints per request (system + tools + messages). */
|
|
38
|
+
export declare const ANTHROPIC_MAX_CACHE_BREAKPOINTS = 4;
|
|
39
|
+
/** Breakpoints already present in an Anthropic request body (system, tools, messages). */
|
|
40
|
+
export declare function countAnthropicBreakpoints(req: {
|
|
41
|
+
system?: any;
|
|
42
|
+
tools?: any[];
|
|
43
|
+
messages?: any[];
|
|
44
|
+
}): number;
|
|
45
|
+
/**
|
|
46
|
+
* Add up to two rolling breakpoints on user messages: first the previous user message (the stable prefix the
|
|
47
|
+
* last request wrote — read hit even past the 20-block lookback), then the newest user message (written now,
|
|
48
|
+
* read by the next request). Only as many as the remaining cap allows (4 minus breakpoints already in the
|
|
49
|
+
* request). Never mutates the input; returns the same array when nothing is added.
|
|
50
|
+
*/
|
|
51
|
+
export declare function applyAnthropicHistoryCache(messages: any[], usedBreakpoints: number): {
|
|
52
|
+
messages: any[];
|
|
53
|
+
added: number;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=transportFixes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transportFixes.d.ts","sourceRoot":"","sources":["../../src/orchestrator/transportFixes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D;AAED,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AAMD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAqBpE;AAMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CASpE;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAGlE;AAMD,oGAAoG;AACpG,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAUjD,0FAA0F;AAC1F,wBAAgB,yBAAyB,CAAC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,GAAG,MAAM,CAIxG;AA6BD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAyBvH"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport fixes R215 / R216 / R218 (2026-10-02, transport map 10-02). Each is DARK behind its own env flag;
|
|
3
|
+
* with the flag off the callers take their pre-existing code path unchanged (byte-identical requests).
|
|
4
|
+
*
|
|
5
|
+
* - R215 CORTEX_RESPONSES_INLINE_REMINDERS: on the Responses path, keep `<system-reminder>` text IN PLACE as
|
|
6
|
+
* user `input_text` items instead of extracting it into `instructions` (which xAI never receives, and which
|
|
7
|
+
* moves reminders away from the tool output they annotate on OpenAI).
|
|
8
|
+
* - R216 CORTEX_RESPONSES_STOP_REASON: map the Responses API truncation signal (status 'incomplete' +
|
|
9
|
+
* incomplete_details.reason 'max_output_tokens') and the hf-space finish_reason to stop reasons the
|
|
10
|
+
* empty-response classifier understands.
|
|
11
|
+
* - R218 CORTEX_ANTHROPIC_HISTORY_CACHE: rolling message-level cache_control breakpoints on the Anthropic
|
|
12
|
+
* Messages path (never the xAI Messages branch), within Anthropic's 4-breakpoint cap.
|
|
13
|
+
*
|
|
14
|
+
* Pure helpers — no client state. Flags are resolved per call so tests/benches can flip them.
|
|
15
|
+
*/
|
|
16
|
+
function flagOn(raw) {
|
|
17
|
+
const v = String(raw ?? '').trim().toLowerCase();
|
|
18
|
+
return v === 'on' || v === 'true' || v === '1';
|
|
19
|
+
}
|
|
20
|
+
export function isResponsesInlineRemindersEnabled() {
|
|
21
|
+
return flagOn(process.env.CORTEX_RESPONSES_INLINE_REMINDERS);
|
|
22
|
+
}
|
|
23
|
+
export function isResponsesStopReasonEnabled() {
|
|
24
|
+
return flagOn(process.env.CORTEX_RESPONSES_STOP_REASON);
|
|
25
|
+
}
|
|
26
|
+
export function isAnthropicHistoryCacheEnabled() {
|
|
27
|
+
return flagOn(process.env.CORTEX_ANTHROPIC_HISTORY_CACHE);
|
|
28
|
+
}
|
|
29
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
30
|
+
// R215 — in-order reminder carrier for the Responses API
|
|
31
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
32
|
+
/**
|
|
33
|
+
* Keep reminder text where the conversation put it. The ResponsesAPIAdapter emits a canonical user message
|
|
34
|
+
* that carries [tool_result..., text] as `message{user, input_text}` FOLLOWED BY its `function_call_output`
|
|
35
|
+
* items (adapters/ResponsesAPIAdapter.ts toProviderMessages), so a reminder written beside a tool result would
|
|
36
|
+
* land BEFORE the tool output, between the function_call and its output. Here each user message item that is
|
|
37
|
+
* immediately followed by function_call_output items is moved after them: tool outputs first, then the user
|
|
38
|
+
* text (reminders included, unchanged `<system-reminder>` tags). Nothing is removed and no item is rewritten.
|
|
39
|
+
*/
|
|
40
|
+
export function inlineRemindersForResponses(inputItems) {
|
|
41
|
+
if (!Array.isArray(inputItems))
|
|
42
|
+
return inputItems;
|
|
43
|
+
const out = [];
|
|
44
|
+
let i = 0;
|
|
45
|
+
while (i < inputItems.length) {
|
|
46
|
+
const item = inputItems[i];
|
|
47
|
+
const isUserMsg = item && item.type === 'message' && item.role === 'user';
|
|
48
|
+
if (isUserMsg) {
|
|
49
|
+
let j = i + 1;
|
|
50
|
+
while (j < inputItems.length && inputItems[j]?.type === 'function_call_output')
|
|
51
|
+
j++;
|
|
52
|
+
if (j > i + 1) {
|
|
53
|
+
for (let k = i + 1; k < j; k++)
|
|
54
|
+
out.push(inputItems[k]);
|
|
55
|
+
out.push(item);
|
|
56
|
+
i = j;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
out.push(item);
|
|
61
|
+
i++;
|
|
62
|
+
}
|
|
63
|
+
return out;
|
|
64
|
+
}
|
|
65
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
66
|
+
// R216 — Responses / hf-space stop reasons
|
|
67
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
68
|
+
/**
|
|
69
|
+
* Responses API (verified live on DeepSeek 2026-10-02, non-streaming AND the streaming `response.incomplete`
|
|
70
|
+
* event's `response`): `{ status: 'incomplete', incomplete_details: { reason: 'max_output_tokens' } }`.
|
|
71
|
+
* Truncation → 'max_output_tokens' (in the classifier's TRUNCATION_STOP set). Any other incomplete reason is
|
|
72
|
+
* passed through as-is (e.g. 'content_filter'; unverified live); otherwise the status ('completed', ...).
|
|
73
|
+
*/
|
|
74
|
+
export function mapResponsesStopReason(resp) {
|
|
75
|
+
if (!resp || typeof resp !== 'object')
|
|
76
|
+
return undefined;
|
|
77
|
+
const status = typeof resp.status === 'string' ? resp.status : undefined;
|
|
78
|
+
if (status === 'incomplete') {
|
|
79
|
+
const reason = resp.incomplete_details?.reason;
|
|
80
|
+
if (reason === 'max_output_tokens')
|
|
81
|
+
return 'max_output_tokens';
|
|
82
|
+
return typeof reason === 'string' && reason ? reason : 'incomplete';
|
|
83
|
+
}
|
|
84
|
+
return status;
|
|
85
|
+
}
|
|
86
|
+
/** hf-space returns an OpenAI chat.completion shape built in APIClient.sendHFSpaceAPI. */
|
|
87
|
+
export function mapHFSpaceStopReason(resp) {
|
|
88
|
+
const fr = resp?.choices?.[0]?.finish_reason;
|
|
89
|
+
return typeof fr === 'string' ? fr : undefined;
|
|
90
|
+
}
|
|
91
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
92
|
+
// R218 — rolling message-level cache breakpoints (Anthropic Messages)
|
|
93
|
+
// ---------------------------------------------------------------------------------------------------------
|
|
94
|
+
/** Anthropic allows at most 4 cache_control breakpoints per request (system + tools + messages). */
|
|
95
|
+
export const ANTHROPIC_MAX_CACHE_BREAKPOINTS = 4;
|
|
96
|
+
function countCacheControl(node) {
|
|
97
|
+
if (Array.isArray(node))
|
|
98
|
+
return node.reduce((n, x) => n + countCacheControl(x), 0);
|
|
99
|
+
if (!node || typeof node !== 'object')
|
|
100
|
+
return 0;
|
|
101
|
+
let n = node.cache_control ? 1 : 0;
|
|
102
|
+
if (Array.isArray(node.content))
|
|
103
|
+
n += countCacheControl(node.content);
|
|
104
|
+
return n;
|
|
105
|
+
}
|
|
106
|
+
/** Breakpoints already present in an Anthropic request body (system, tools, messages). */
|
|
107
|
+
export function countAnthropicBreakpoints(req) {
|
|
108
|
+
return countCacheControl(Array.isArray(req.system) ? req.system : [])
|
|
109
|
+
+ countCacheControl(req.tools ?? [])
|
|
110
|
+
+ countCacheControl(req.messages ?? []);
|
|
111
|
+
}
|
|
112
|
+
/** Index of the last content block that may carry cache_control (not thinking, not empty text), or -1. */
|
|
113
|
+
function markableBlockIndex(content) {
|
|
114
|
+
for (let k = content.length - 1; k >= 0; k--) {
|
|
115
|
+
const b = content[k];
|
|
116
|
+
if (!b || typeof b !== 'object')
|
|
117
|
+
continue;
|
|
118
|
+
if (b.type === 'thinking' || b.type === 'redacted_thinking')
|
|
119
|
+
continue;
|
|
120
|
+
if (b.type === 'text' && !(typeof b.text === 'string' && b.text.length > 0))
|
|
121
|
+
continue;
|
|
122
|
+
return k;
|
|
123
|
+
}
|
|
124
|
+
return -1;
|
|
125
|
+
}
|
|
126
|
+
/** Returns a copy of the message with cache_control on its last markable block, or null when none. */
|
|
127
|
+
function markMessage(msg) {
|
|
128
|
+
if (!msg)
|
|
129
|
+
return null;
|
|
130
|
+
if (typeof msg.content === 'string') {
|
|
131
|
+
if (!msg.content)
|
|
132
|
+
return null;
|
|
133
|
+
return { ...msg, content: [{ type: 'text', text: msg.content, cache_control: { type: 'ephemeral' } }] };
|
|
134
|
+
}
|
|
135
|
+
if (!Array.isArray(msg.content))
|
|
136
|
+
return null;
|
|
137
|
+
const idx = markableBlockIndex(msg.content);
|
|
138
|
+
if (idx < 0)
|
|
139
|
+
return null;
|
|
140
|
+
const content = msg.content.slice();
|
|
141
|
+
content[idx] = { ...content[idx], cache_control: { type: 'ephemeral' } };
|
|
142
|
+
return { ...msg, content };
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Add up to two rolling breakpoints on user messages: first the previous user message (the stable prefix the
|
|
146
|
+
* last request wrote — read hit even past the 20-block lookback), then the newest user message (written now,
|
|
147
|
+
* read by the next request). Only as many as the remaining cap allows (4 minus breakpoints already in the
|
|
148
|
+
* request). Never mutates the input; returns the same array when nothing is added.
|
|
149
|
+
*/
|
|
150
|
+
export function applyAnthropicHistoryCache(messages, usedBreakpoints) {
|
|
151
|
+
if (!Array.isArray(messages) || messages.length === 0)
|
|
152
|
+
return { messages, added: 0 };
|
|
153
|
+
let available = ANTHROPIC_MAX_CACHE_BREAKPOINTS - usedBreakpoints - countCacheControl(messages);
|
|
154
|
+
if (available <= 0)
|
|
155
|
+
return { messages, added: 0 };
|
|
156
|
+
const userIdx = [];
|
|
157
|
+
messages.forEach((m, i) => { if (m?.role === 'user')
|
|
158
|
+
userIdx.push(i); });
|
|
159
|
+
if (userIdx.length === 0)
|
|
160
|
+
return { messages, added: 0 };
|
|
161
|
+
const newest = userIdx[userIdx.length - 1];
|
|
162
|
+
const prev = userIdx.length >= 2 ? userIdx[userIdx.length - 2] : undefined;
|
|
163
|
+
const targets = (prev !== undefined ? [prev, newest] : [newest]);
|
|
164
|
+
let out = messages;
|
|
165
|
+
let added = 0;
|
|
166
|
+
for (const t of targets) {
|
|
167
|
+
if (available <= 0)
|
|
168
|
+
break;
|
|
169
|
+
if (countCacheControl(out[t]) > 0)
|
|
170
|
+
continue; // already a breakpoint here
|
|
171
|
+
const marked = markMessage(out[t]);
|
|
172
|
+
if (!marked)
|
|
173
|
+
continue;
|
|
174
|
+
if (out === messages)
|
|
175
|
+
out = messages.slice();
|
|
176
|
+
out[t] = marked;
|
|
177
|
+
added++;
|
|
178
|
+
available--;
|
|
179
|
+
}
|
|
180
|
+
return { messages: out, added };
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=transportFixes.js.map
|