@nexus-cortex/core 4.129.1 → 4.131.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/.env.defaults +168 -2
- package/dist/adapters/ChatCompletionsAPIAdapter.d.ts.map +1 -1
- package/dist/adapters/ChatCompletionsAPIAdapter.js +5 -1
- package/dist/adapters/ChatCompletionsAPIAdapter.js.map +1 -1
- package/dist/commands/SlashCommandRegistry.d.ts.map +1 -1
- package/dist/commands/SlashCommandRegistry.js +7 -0
- package/dist/commands/SlashCommandRegistry.js.map +1 -1
- package/dist/config/AnthropicCredentialService.d.ts.map +1 -1
- package/dist/config/AnthropicCredentialService.js +2 -1
- package/dist/config/AnthropicCredentialService.js.map +1 -1
- package/dist/config/RuntimeConfigRegistry.d.ts.map +1 -1
- package/dist/config/RuntimeConfigRegistry.js +18 -0
- package/dist/config/RuntimeConfigRegistry.js.map +1 -1
- package/dist/config/SettingsLoader.d.ts +3 -0
- package/dist/config/SettingsLoader.d.ts.map +1 -1
- package/dist/config/SettingsLoader.js +42 -0
- package/dist/config/SettingsLoader.js.map +1 -1
- package/dist/config/SettingsSchema.d.ts +20 -1
- package/dist/config/SettingsSchema.d.ts.map +1 -1
- package/dist/config/SettingsSchema.js +173 -1
- package/dist/config/SettingsSchema.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +20 -2
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/localBrowser.d.ts +13 -0
- package/dist/config/localBrowser.d.ts.map +1 -0
- package/dist/config/localBrowser.js +53 -0
- package/dist/config/localBrowser.js.map +1 -0
- package/dist/config/logRedaction.d.ts +5 -0
- package/dist/config/logRedaction.d.ts.map +1 -0
- package/dist/config/logRedaction.js +68 -0
- package/dist/config/logRedaction.js.map +1 -0
- package/dist/config/secretProviders.d.ts +16 -0
- package/dist/config/secretProviders.d.ts.map +1 -0
- package/dist/config/secretProviders.js +26 -0
- package/dist/config/secretProviders.js.map +1 -0
- package/dist/config/secretsVault.d.ts +121 -0
- package/dist/config/secretsVault.d.ts.map +1 -0
- package/dist/config/secretsVault.js +320 -0
- package/dist/config/secretsVault.js.map +1 -0
- package/dist/config/spaSecretTypes.d.ts +329 -0
- package/dist/config/spaSecretTypes.d.ts.map +1 -0
- package/dist/config/spaSecretTypes.js +326 -0
- package/dist/config/spaSecretTypes.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/McpClient.d.ts +2 -0
- package/dist/mcp/McpClient.d.ts.map +1 -1
- package/dist/mcp/McpClient.js +9 -1
- package/dist/mcp/McpClient.js.map +1 -1
- package/dist/mcp/McpServerRegistry.d.ts +2 -13
- package/dist/mcp/McpServerRegistry.d.ts.map +1 -1
- package/dist/mcp/McpServerRegistry.js +17 -2
- package/dist/mcp/McpServerRegistry.js.map +1 -1
- package/dist/mcp/essentialMcpTools.d.ts +11 -0
- package/dist/mcp/essentialMcpTools.d.ts.map +1 -0
- package/dist/mcp/essentialMcpTools.js +22 -0
- package/dist/mcp/essentialMcpTools.js.map +1 -0
- package/dist/mcp/mcpSchemaCompat.d.ts +9 -0
- package/dist/mcp/mcpSchemaCompat.d.ts.map +1 -0
- package/dist/mcp/mcpSchemaCompat.js +32 -0
- package/dist/mcp/mcpSchemaCompat.js.map +1 -0
- package/dist/middleware/HelperModelMiddleware.d.ts +4 -0
- package/dist/middleware/HelperModelMiddleware.d.ts.map +1 -1
- package/dist/middleware/HelperModelMiddleware.js +2 -2
- package/dist/middleware/HelperModelMiddleware.js.map +1 -1
- package/dist/middleware/SystemMessageMiddleware.d.ts.map +1 -1
- package/dist/middleware/SystemMessageMiddleware.js +6 -0
- package/dist/middleware/SystemMessageMiddleware.js.map +1 -1
- package/dist/middleware/permissions/DefaultPolicies.d.ts.map +1 -1
- package/dist/middleware/permissions/DefaultPolicies.js +2 -0
- package/dist/middleware/permissions/DefaultPolicies.js.map +1 -1
- package/dist/orchestrator/APIClient.d.ts.map +1 -1
- package/dist/orchestrator/APIClient.js +46 -1
- package/dist/orchestrator/APIClient.js.map +1 -1
- package/dist/orchestrator/CortexOrchestrator.d.ts +43 -8
- package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
- package/dist/orchestrator/CortexOrchestrator.js +339 -38
- package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
- package/dist/orchestrator/HerdrSubAgentRunner.d.ts.map +1 -1
- package/dist/orchestrator/HerdrSubAgentRunner.js +2 -1
- package/dist/orchestrator/HerdrSubAgentRunner.js.map +1 -1
- package/dist/orchestrator/SubAgentProcessManager.d.ts.map +1 -1
- package/dist/orchestrator/SubAgentProcessManager.js +2 -0
- package/dist/orchestrator/SubAgentProcessManager.js.map +1 -1
- package/dist/orchestrator/browserWallNudge.d.ts +93 -0
- package/dist/orchestrator/browserWallNudge.d.ts.map +1 -0
- package/dist/orchestrator/browserWallNudge.js +227 -0
- package/dist/orchestrator/browserWallNudge.js.map +1 -0
- package/dist/orchestrator/citationVerification.d.ts.map +1 -1
- package/dist/orchestrator/citationVerification.js +16 -0
- package/dist/orchestrator/citationVerification.js.map +1 -1
- package/dist/orchestrator/cortexProxyFetch.d.ts +8 -0
- package/dist/orchestrator/cortexProxyFetch.d.ts.map +1 -1
- package/dist/orchestrator/cortexProxyFetch.js +32 -0
- package/dist/orchestrator/cortexProxyFetch.js.map +1 -1
- package/dist/orchestrator/endTurnGates.d.ts +39 -0
- package/dist/orchestrator/endTurnGates.d.ts.map +1 -1
- package/dist/orchestrator/endTurnGates.js +159 -3
- package/dist/orchestrator/endTurnGates.js.map +1 -1
- package/dist/orchestrator/imageTtl.d.ts.map +1 -1
- package/dist/orchestrator/imageTtl.js +14 -5
- package/dist/orchestrator/imageTtl.js.map +1 -1
- package/dist/orchestrator/integrityVerification.d.ts +2 -0
- package/dist/orchestrator/integrityVerification.d.ts.map +1 -1
- package/dist/orchestrator/integrityVerification.js +2 -2
- package/dist/orchestrator/integrityVerification.js.map +1 -1
- package/dist/orchestrator/requestDebugLog.d.ts +4 -0
- package/dist/orchestrator/requestDebugLog.d.ts.map +1 -0
- package/dist/orchestrator/requestDebugLog.js +55 -0
- package/dist/orchestrator/requestDebugLog.js.map +1 -0
- package/dist/orchestrator/requirementsVerification.d.ts +4 -0
- package/dist/orchestrator/requirementsVerification.d.ts.map +1 -1
- package/dist/orchestrator/requirementsVerification.js +12 -6
- package/dist/orchestrator/requirementsVerification.js.map +1 -1
- package/dist/orchestrator/subAgentTimeout.d.ts +3 -0
- package/dist/orchestrator/subAgentTimeout.d.ts.map +1 -1
- package/dist/orchestrator/subAgentTimeout.js +6 -0
- package/dist/orchestrator/subAgentTimeout.js.map +1 -1
- package/dist/orchestrator/toolAllowlist.d.ts +29 -0
- package/dist/orchestrator/toolAllowlist.d.ts.map +1 -1
- package/dist/orchestrator/toolAllowlist.js +45 -0
- package/dist/orchestrator/toolAllowlist.js.map +1 -1
- package/dist/tools/ToolProfile.d.ts +5 -21
- package/dist/tools/ToolProfile.d.ts.map +1 -1
- package/dist/tools/ToolProfile.js +17 -2
- package/dist/tools/ToolProfile.js.map +1 -1
- package/dist/tools/registries/BaseToolRegistry.d.ts.map +1 -1
- package/dist/tools/registries/BaseToolRegistry.js +26 -6
- package/dist/tools/registries/BaseToolRegistry.js.map +1 -1
- package/dist/training/AutoResearchConfirm.d.ts +105 -0
- package/dist/training/AutoResearchConfirm.d.ts.map +1 -0
- package/dist/training/AutoResearchConfirm.js +111 -0
- package/dist/training/AutoResearchConfirm.js.map +1 -0
- package/dist/training/AutoResearchGate.d.ts +6 -0
- package/dist/training/AutoResearchGate.d.ts.map +1 -1
- package/dist/training/AutoResearchGate.js +8 -2
- package/dist/training/AutoResearchGate.js.map +1 -1
- package/dist/training/AutoResearchGuards.d.ts +86 -0
- package/dist/training/AutoResearchGuards.d.ts.map +1 -0
- package/dist/training/AutoResearchGuards.js +81 -0
- package/dist/training/AutoResearchGuards.js.map +1 -0
- package/dist/training/BenchRunner.d.ts +21 -5
- package/dist/training/BenchRunner.d.ts.map +1 -1
- package/dist/training/BenchRunner.js +126 -54
- package/dist/training/BenchRunner.js.map +1 -1
- package/dist/training/EvalGuard.d.ts +43 -0
- package/dist/training/EvalGuard.d.ts.map +1 -0
- package/dist/training/EvalGuard.js +131 -0
- package/dist/training/EvalGuard.js.map +1 -0
- package/dist/training/ExperimentRunner.d.ts +22 -0
- package/dist/training/ExperimentRunner.d.ts.map +1 -1
- package/dist/training/ExperimentRunner.js +45 -9
- package/dist/training/ExperimentRunner.js.map +1 -1
- package/dist/training/endTurnResolver.d.ts +23 -1
- package/dist/training/endTurnResolver.d.ts.map +1 -1
- package/dist/training/endTurnResolver.js +35 -3
- package/dist/training/endTurnResolver.js.map +1 -1
- package/dist/training/mentorRole.d.ts.map +1 -1
- package/dist/training/mentorRole.js +6 -1
- package/dist/training/mentorRole.js.map +1 -1
- package/dist/training/scopeCheck.d.ts +41 -0
- package/dist/training/scopeCheck.d.ts.map +1 -0
- package/dist/training/scopeCheck.js +119 -0
- package/dist/training/scopeCheck.js.map +1 -0
- package/dist/training/usageAccounting.d.ts +13 -0
- package/dist/training/usageAccounting.d.ts.map +1 -1
- package/dist/training/usageAccounting.js +11 -0
- package/dist/training/usageAccounting.js.map +1 -1
- package/dist/utils/repairToolJson.d.ts +19 -0
- package/dist/utils/repairToolJson.d.ts.map +1 -0
- package/dist/utils/repairToolJson.js +122 -0
- package/dist/utils/repairToolJson.js.map +1 -0
- package/package.json +6 -5
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scope check (2026-11-04, CORTEX_SCOPE_CHECK, default on) — EndTurn Stage 6, deterministic, zero model calls, at most one hold per turn.
|
|
3
|
+
*
|
|
4
|
+
* Field: the audited multi-site runs (ms-after-r5/r6, .bench/eval/om2w/groundtruth.json) lost CarMax twice the same way — the store was
|
|
5
|
+
* set to Kentwood, MI, but the distance facet stayed "Nationwide" and the agent reported "44 of 14,610 results" as the local answer; BBB
|
|
6
|
+
* named a Massachusetts charity for "near 12023" with the distance filter on "All distances". The citation, requirement and integrity gates
|
|
7
|
+
* all passed (the quotes WERE on the page). What failed is SCOPE: the task names a place and the result set the agent read is not scoped to it.
|
|
8
|
+
*
|
|
9
|
+
* Rule: when the task text names a place (a US ZIP, "near / around / close to <Place>", "within N miles|km"), and the turn's LATEST tool
|
|
10
|
+
* outputs show an unscoped result set — an explicit marker (Nationwide, All distances, Anywhere, a nationwide radius id) or a result count of
|
|
11
|
+
* 5,000+ with no radius beside it — the finish is held ONCE: apply the scope on the source itself, or say explicitly that it cannot be
|
|
12
|
+
* applied / nothing matches inside it (a valid answer). The same check runs in Browse delegates (mechanical gates), where the page is still
|
|
13
|
+
* open. It is inert on tasks that name no place. Pure; the gate wiring lives in orchestrator/endTurnGates.ts.
|
|
14
|
+
*/
|
|
15
|
+
export function scopeCheckEnabled(env = process.env) {
|
|
16
|
+
return !/^(off|false|0)$/i.test(String(env.CORTEX_SCOPE_CHECK ?? '').trim());
|
|
17
|
+
}
|
|
18
|
+
const ZIP_RE = /\b(?:zip(?:\s*code)?\s*)?(\d{5})(?:-\d{4})?\b/gi;
|
|
19
|
+
const NEAR_RE = /\b(?:near|around|close to|nearby|in the area of)\s+((?:zip(?:\s*code)?\s*)?[A-Z0-9][\w.'-]*(?:[ ,]+[A-Z][\w.'-]*){0,3})/g;
|
|
20
|
+
const RADIUS_RE = /\bwithin\s+(\d+(?:\.\d+)?)\s*(mi|miles?|km|kilometers?)\b/i;
|
|
21
|
+
/** Place / radius scope the task text states. Pure. */
|
|
22
|
+
export function taskScope(taskText) {
|
|
23
|
+
const t = String(taskText ?? '');
|
|
24
|
+
const places = new Set();
|
|
25
|
+
for (const m of t.matchAll(ZIP_RE)) {
|
|
26
|
+
const before = t.slice(Math.max(0, m.index - 24), m.index);
|
|
27
|
+
// A 5-digit number that is a money amount, a count or part of a longer id is not a ZIP.
|
|
28
|
+
if (/[$£€]\s*$|#\s*$|\d[,.]$/.test(before))
|
|
29
|
+
continue;
|
|
30
|
+
const after = t.slice(m.index + m[0].length, m.index + m[0].length + 12);
|
|
31
|
+
if (/^\s*(?:dollars?|usd|miles?|mi\b|km|results?|items?|people|users|records?|rows?|lines?|bytes?|ms|seconds?)/i.test(after))
|
|
32
|
+
continue;
|
|
33
|
+
if (/zip|postal|near|in |around|area|code/i.test(before) || /zip/i.test(m[0]))
|
|
34
|
+
places.add(m[1]);
|
|
35
|
+
}
|
|
36
|
+
for (const m of t.matchAll(NEAR_RE)) {
|
|
37
|
+
// Stop at a sentence break and drop trailing connective words ("12023. When", "49512 AND").
|
|
38
|
+
let p = m[1].split(/[.;:!?]\s/)[0].replace(/[.,;:]+$/, '').trim();
|
|
39
|
+
p = p.replace(/(?:[ ,]+(?:and|or|when|with|for|to|the|then|that|which|while|if|AND|OR|WHEN))+$/i, '').replace(/^zip(?:\s*code)?\s*/i, '').trim();
|
|
40
|
+
if (p.length >= 3 && !/^(me|you|here|there|it|the end|the top|the bottom|now|zip|zip code)$/i.test(p))
|
|
41
|
+
places.add(p);
|
|
42
|
+
}
|
|
43
|
+
const r = t.match(RADIUS_RE);
|
|
44
|
+
return { places: [...places], radius: r ? `${r[1]} ${r[2]}` : undefined };
|
|
45
|
+
}
|
|
46
|
+
// An UNSCOPED result set: a nationwide/all-distance choice that is SELECTED or DISPLAYED as the current value — never the bare word (page
|
|
47
|
+
// titles say "Used Vehicles for Sale Nationwide"; option lists name every radius).
|
|
48
|
+
const UNSCOPED_SELECTED_RE = new RegExp([
|
|
49
|
+
String.raw `"displayValue"\s*:\s*"(?:Nationwide|All distances|Anywhere)"`,
|
|
50
|
+
String.raw `\bradius-nationwide\b`, String.raw `"isNationwide"\s*:\s*true`,
|
|
51
|
+
String.raw `Nationwide"?\s*,\s*"?isSelected"?\s*:\s*true`,
|
|
52
|
+
String.raw `(?:selected|checked|active|current(?:ly)?|showing)[^\n]{0,40}\b(?:Nationwide|All distances)\b`,
|
|
53
|
+
String.raw `\b(?:Nationwide|All distances)\b[^\n]{0,20}\b(?:selected|checked|active)\b`,
|
|
54
|
+
String.raw `\b(?:distance|radius)\b[^\n]{0,24}[:=]\s*"?(?:Nationwide|All distances|Any(?:where)?)\b`,
|
|
55
|
+
].join('|'), 'i');
|
|
56
|
+
// SCOPED: a radius/distance that is applied — a URL parameter, a "within N mi" statement, a selected N-mile choice.
|
|
57
|
+
const SCOPED_RE = new RegExp([
|
|
58
|
+
String.raw `[?&](?:max(?:imum)?_?distance|distance|radius|filter_distance|searchRadius|miles)=\d+`,
|
|
59
|
+
String.raw `\bwithin\s+\d+\s*(?:mi|miles?|km)\b`,
|
|
60
|
+
String.raw `"displayValue"\s*:\s*"\d+\s*(?:mi|miles?|km)"`,
|
|
61
|
+
String.raw `\d+\s*(?:mi|miles?|km)"?\s*,\s*"?isSelected"?\s*:\s*true`,
|
|
62
|
+
String.raw `(?:selected|checked|active)[^\n]{0,30}\b\d+\s*(?:mi|miles?|km)\b`,
|
|
63
|
+
].join('|'), 'i');
|
|
64
|
+
const BIG_COUNT_RE = /\b(\d{1,3}(?:,\d{3})+|\d{5,})\s+(results?|matches|listings|vehicles|cars|items|products|homes|properties|jobs|businesses|stores|providers)\b/gi;
|
|
65
|
+
const clip = (t, at, len) => t.slice(Math.max(0, at - 80), at + len + 80).replace(/\s+/g, ' ').trim().slice(0, 200);
|
|
66
|
+
/** Scope state of the NEWEST output that shows one (`latest` = newest last): an unscoped finding, or null when the newest result-set
|
|
67
|
+
* signal is scoped or there is none. Older outputs never override a newer scoped state (the agent may have fixed the filter). Pure. */
|
|
68
|
+
export function unscopedEvidence(latest, minCount = 5000) {
|
|
69
|
+
for (let i = latest.length - 1; i >= 0; i--) {
|
|
70
|
+
const t = String(latest[i] ?? '');
|
|
71
|
+
const mk = t.match(UNSCOPED_SELECTED_RE);
|
|
72
|
+
if (mk)
|
|
73
|
+
return { kind: 'marker', text: clip(t, mk.index ?? 0, mk[0].length) };
|
|
74
|
+
if (SCOPED_RE.test(t))
|
|
75
|
+
return null;
|
|
76
|
+
// When the output names its MAIN result count (page_state's mainCount), judge that count only — the other counts on a page are facet
|
|
77
|
+
// totals, suggestions and site-wide figures (r3 CarMax: mainCount "22 matches" beside a nationwide total in otherCounts).
|
|
78
|
+
const main = t.match(/"mainCount"\s*:\s*\{\s*"text"\s*:\s*"((?:[^"\\]|\\.)*)"/);
|
|
79
|
+
const pool = main ? main[1] : t;
|
|
80
|
+
if (main && !BIG_COUNT_RE.test(pool)) {
|
|
81
|
+
BIG_COUNT_RE.lastIndex = 0;
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
BIG_COUNT_RE.lastIndex = 0;
|
|
85
|
+
for (const m of pool.matchAll(BIG_COUNT_RE)) {
|
|
86
|
+
const n = parseInt(m[1].replace(/,/g, ''), 10);
|
|
87
|
+
if (!Number.isFinite(n) || n < minCount)
|
|
88
|
+
continue;
|
|
89
|
+
// A big count the text itself sets aside ("the site-wide unfiltered total", a carousel/suggestion header) is not the result set.
|
|
90
|
+
const ctx = pool.slice(Math.max(0, m.index - 140), m.index + m[0].length + 140);
|
|
91
|
+
if (/site-?wide|unfiltered|overall total|carousel|suggestion|not (?:the|our|my) (?:answer|result)/i.test(ctx))
|
|
92
|
+
continue;
|
|
93
|
+
return { kind: 'count', text: clip(pool, m.index, m[0].length) };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
/** Stage 6: hold once when the task is place-scoped and the latest outputs show an unscoped result set. Pure. */
|
|
99
|
+
export function scopeCheck(input) {
|
|
100
|
+
if (input.alreadyHeld)
|
|
101
|
+
return { ok: true };
|
|
102
|
+
const scope = taskScope(input.taskText ?? '');
|
|
103
|
+
if (scope.places.length === 0 && !scope.radius)
|
|
104
|
+
return { ok: true, scope };
|
|
105
|
+
const finding = unscopedEvidence(input.latestOutputs);
|
|
106
|
+
if (!finding)
|
|
107
|
+
return { ok: true, scope };
|
|
108
|
+
const where = [...scope.places.slice(0, 3), ...(scope.radius ? [`within ${scope.radius}`] : [])].join(', ');
|
|
109
|
+
const what = finding.kind === 'marker' ? `the results are not limited to that area (the page shows: "${finding.text}")`
|
|
110
|
+
: `the result count is far larger than one area could hold (the page shows: "${finding.text}")`;
|
|
111
|
+
return {
|
|
112
|
+
ok: false, scope, finding,
|
|
113
|
+
nudge: `EndTurn HELD (scope check — once) — the task is scoped to ${where}, but ${what}. Apply the task's scope on the source ` +
|
|
114
|
+
`itself — the site's distance / location / radius filter or the equivalent query constraint — and report the scoped result (the count ` +
|
|
115
|
+
`and items inside the area). If the scope cannot be applied, or nothing matches inside it, say so explicitly in your answer — that is a ` +
|
|
116
|
+
`valid answer — then call EndTurn again.`,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=scopeCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopeCheck.js","sourceRoot":"","sources":["../../src/training/scopeCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,19 @@ export declare function usageCost(acc: SessionUsage, p: UsagePrices): {
|
|
|
63
63
|
total: number;
|
|
64
64
|
cacheHitRate: number;
|
|
65
65
|
};
|
|
66
|
+
/** A session ledger priced at a model card's own rates (ModelConfig.cost: inputPerMillion / cachedInputPerMillion / outputPerMillion) —
|
|
67
|
+
* 2026-11-02: sub-agent reports showed "Input: 0 / Output: 0 / $0.0000" (stream-event counters that never saw usage, fixed Sonnet rates)
|
|
68
|
+
* while this exact ledger sat unused beside them. Pure. */
|
|
69
|
+
export declare function priceLedgerForCard(acc: SessionUsage, cost?: {
|
|
70
|
+
inputPerMillion?: number;
|
|
71
|
+
outputPerMillion?: number;
|
|
72
|
+
cachedInputPerMillion?: number;
|
|
73
|
+
} | null): {
|
|
74
|
+
inputTokens: number;
|
|
75
|
+
outputTokens: number;
|
|
76
|
+
cacheReadTokens: number;
|
|
77
|
+
estimatedCost: number;
|
|
78
|
+
};
|
|
66
79
|
/** R239 / P4 (2026-10-07): the sum of two whole-session ledgers — for the second-attempt chain, whose response carries usage.session
|
|
67
80
|
* SUMMED over every attempt. Every numeric counter is added (known and unknown top-level keys alike), `helper` is summed field-wise with
|
|
68
81
|
* `bySurface` merged by key, `subagents` is summed field-wise; any other non-numeric key keeps the LATER ledger's non-null value (the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usageAccounting.d.ts","sourceRoot":"","sources":["../../src/training/usageAccounting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB;qHACiH;IACjH,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+GAA+G;IAC/G,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC9G;;yIAEqI;IACrI,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE,CAAC;CACvO;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAEhD;AAED;mIACmI;AACnI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAcjH;AAED,iIAAiI;AACjI,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAezG;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,YAAY,CAG/H;AAED,MAAM,WAAW,WAAW;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE;AACjJ,0IAA0I;AAC1I,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAMrI;AAED;;;;0DAI0D;AAC1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAoBtI"}
|
|
1
|
+
{"version":3,"file":"usageAccounting.d.ts","sourceRoot":"","sources":["../../src/training/usageAccounting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB;qHACiH;IACjH,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+GAA+G;IAC/G,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC9G;;yIAEqI;IACrI,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE,CAAC;CACvO;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAEhD;AAED;mIACmI;AACnI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAcjH;AAED,iIAAiI;AACjI,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAezG;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,YAAY,CAG/H;AAED,MAAM,WAAW,WAAW;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE;AACjJ,0IAA0I;AAC1I,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAMrI;AAED;;4DAE4D;AAC5D,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,YAAY,EACjB,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GACpG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAO/F;AAED;;;;0DAI0D;AAC1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAoBtI"}
|
|
@@ -54,6 +54,17 @@ export function usageCost(acc, p) {
|
|
|
54
54
|
const denom = acc.cacheReadTokens + acc.uncachedInputTokens;
|
|
55
55
|
return { main, helperEst, total: main + helperEst, cacheHitRate: denom > 0 ? acc.cacheReadTokens / denom : 0 };
|
|
56
56
|
}
|
|
57
|
+
/** A session ledger priced at a model card's own rates (ModelConfig.cost: inputPerMillion / cachedInputPerMillion / outputPerMillion) —
|
|
58
|
+
* 2026-11-02: sub-agent reports showed "Input: 0 / Output: 0 / $0.0000" (stream-event counters that never saw usage, fixed Sonnet rates)
|
|
59
|
+
* while this exact ledger sat unused beside them. Pure. */
|
|
60
|
+
export function priceLedgerForCard(acc, cost) {
|
|
61
|
+
const p = {
|
|
62
|
+
inputPerM: cost?.inputPerMillion ?? 0,
|
|
63
|
+
outputPerM: cost?.outputPerMillion ?? 0,
|
|
64
|
+
cacheHitPerM: cost?.cachedInputPerMillion ?? cost?.inputPerMillion ?? 0,
|
|
65
|
+
};
|
|
66
|
+
return { inputTokens: acc.inputTokens, outputTokens: acc.outputTokens, cacheReadTokens: acc.cacheReadTokens, estimatedCost: usageCost(acc, p).total };
|
|
67
|
+
}
|
|
57
68
|
/** R239 / P4 (2026-10-07): the sum of two whole-session ledgers — for the second-attempt chain, whose response carries usage.session
|
|
58
69
|
* SUMMED over every attempt. Every numeric counter is added (known and unknown top-level keys alike), `helper` is summed field-wise with
|
|
59
70
|
* `bySurface` merged by key, `subagents` is summed field-wise; any other non-numeric key keeps the LATER ledger's non-null value (the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usageAccounting.js","sourceRoot":"","sources":["../../src/training/usageAccounting.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usageAccounting.js","sourceRoot":"","sources":["../../src/training/usageAccounting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repair malformed tool-call argument JSON (2026-11-04).
|
|
3
|
+
*
|
|
4
|
+
* DeepSeek sometimes emits tool arguments that are not valid JSON — most often a nested
|
|
5
|
+
* object missing ONE closing brace (`{"steps":[{"args":{"a":1},"tool":"x"},{"args":{"b":2,"tool":"y"}]}`)
|
|
6
|
+
* or a stray extra one. The multi-site browser runs logged 93 "Failed to parse tool arguments" lines in
|
|
7
|
+
* four passes; each such call ran with empty arguments, failed, and was sent again (a wasted model round).
|
|
8
|
+
*
|
|
9
|
+
* Repair is purely STRUCTURAL and runs only after JSON.parse has failed:
|
|
10
|
+
* - a closer that does not match the innermost opener closes the openers above the one it matches;
|
|
11
|
+
* - a closer that matches no open opener is dropped;
|
|
12
|
+
* - trailing commas before a closer are dropped;
|
|
13
|
+
* - raw control characters inside strings (literal newlines/tabs) are escaped;
|
|
14
|
+
* - a quote inside a string that is not followed by , : } ] or the end is escaped (an unescaped inner quote, e.g. in a page script);
|
|
15
|
+
* - an unterminated string and any openers still open at the end are closed.
|
|
16
|
+
* Returns the parsed object, or null when the result still is not a JSON object.
|
|
17
|
+
*/
|
|
18
|
+
export declare function repairToolJson(raw: string): Record<string, unknown> | null;
|
|
19
|
+
//# sourceMappingURL=repairToolJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repairToolJson.d.ts","sourceRoot":"","sources":["../../src/utils/repairToolJson.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwD1E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repair malformed tool-call argument JSON (2026-11-04).
|
|
3
|
+
*
|
|
4
|
+
* DeepSeek sometimes emits tool arguments that are not valid JSON — most often a nested
|
|
5
|
+
* object missing ONE closing brace (`{"steps":[{"args":{"a":1},"tool":"x"},{"args":{"b":2,"tool":"y"}]}`)
|
|
6
|
+
* or a stray extra one. The multi-site browser runs logged 93 "Failed to parse tool arguments" lines in
|
|
7
|
+
* four passes; each such call ran with empty arguments, failed, and was sent again (a wasted model round).
|
|
8
|
+
*
|
|
9
|
+
* Repair is purely STRUCTURAL and runs only after JSON.parse has failed:
|
|
10
|
+
* - a closer that does not match the innermost opener closes the openers above the one it matches;
|
|
11
|
+
* - a closer that matches no open opener is dropped;
|
|
12
|
+
* - trailing commas before a closer are dropped;
|
|
13
|
+
* - raw control characters inside strings (literal newlines/tabs) are escaped;
|
|
14
|
+
* - a quote inside a string that is not followed by , : } ] or the end is escaped (an unescaped inner quote, e.g. in a page script);
|
|
15
|
+
* - an unterminated string and any openers still open at the end are closed.
|
|
16
|
+
* Returns the parsed object, or null when the result still is not a JSON object.
|
|
17
|
+
*/
|
|
18
|
+
export function repairToolJson(raw) {
|
|
19
|
+
const text = String(raw ?? '').trim();
|
|
20
|
+
if (!text)
|
|
21
|
+
return null;
|
|
22
|
+
const out = [];
|
|
23
|
+
const stack = [];
|
|
24
|
+
const closerOf = { '{': '}', '[': ']' };
|
|
25
|
+
let inString = false;
|
|
26
|
+
let escaped = false;
|
|
27
|
+
const dropTrailingComma = () => {
|
|
28
|
+
for (let k = out.length - 1; k >= 0; k--) {
|
|
29
|
+
const c = out[k];
|
|
30
|
+
if (c === ' ' || c === '\n' || c === '\t' || c === '\r')
|
|
31
|
+
continue;
|
|
32
|
+
if (c === ',')
|
|
33
|
+
out.splice(k, 1);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
for (let i = 0; i < text.length; i++) {
|
|
38
|
+
const ch = text[i];
|
|
39
|
+
if (inString) {
|
|
40
|
+
if (escaped) {
|
|
41
|
+
escaped = false;
|
|
42
|
+
out.push(ch);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (ch === '\\') {
|
|
46
|
+
escaped = true;
|
|
47
|
+
out.push(ch);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (ch === '"') {
|
|
51
|
+
// A quote that closes a string is always followed (after whitespace) by , : } ] or the end. Any other quote is an UNESCAPED
|
|
52
|
+
// quote inside the string (e.g. a page script `querySelector("a")` inside a steps argument) — escape it instead of closing.
|
|
53
|
+
let k = i + 1;
|
|
54
|
+
while (k < text.length && /\s/.test(text[k]))
|
|
55
|
+
k++;
|
|
56
|
+
if (k < text.length && !',:}]'.includes(text[k])) {
|
|
57
|
+
out.push('\\"');
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
inString = false;
|
|
61
|
+
out.push(ch);
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (ch === '\n') {
|
|
65
|
+
out.push('\\n');
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (ch === '\r') {
|
|
69
|
+
out.push('\\r');
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (ch === '\t') {
|
|
73
|
+
out.push('\\t');
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
out.push(ch);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (ch === '"') {
|
|
80
|
+
inString = true;
|
|
81
|
+
out.push(ch);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (ch === '{' || ch === '[') {
|
|
85
|
+
stack.push(ch);
|
|
86
|
+
out.push(ch);
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (ch === '}' || ch === ']') {
|
|
90
|
+
const opener = ch === '}' ? '{' : '[';
|
|
91
|
+
const at = stack.lastIndexOf(opener);
|
|
92
|
+
if (at < 0)
|
|
93
|
+
continue; // stray closer: nothing open of that kind
|
|
94
|
+
while (stack.length - 1 > at) {
|
|
95
|
+
dropTrailingComma();
|
|
96
|
+
out.push(closerOf[stack.pop()]);
|
|
97
|
+
}
|
|
98
|
+
dropTrailingComma();
|
|
99
|
+
stack.pop();
|
|
100
|
+
out.push(ch);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
out.push(ch);
|
|
104
|
+
}
|
|
105
|
+
if (inString) {
|
|
106
|
+
if (escaped)
|
|
107
|
+
out.pop();
|
|
108
|
+
out.push('"');
|
|
109
|
+
}
|
|
110
|
+
while (stack.length) {
|
|
111
|
+
dropTrailingComma();
|
|
112
|
+
out.push(closerOf[stack.pop()]);
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const parsed = JSON.parse(out.join(''));
|
|
116
|
+
return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=repairToolJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repairToolJson.js","sourceRoot":"","sources":["../../src/utils/repairToolJson.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-cortex/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.131.1",
|
|
4
4
|
"description": "Core orchestration library implementing Claude CLI architecture patterns",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"test": "vitest",
|
|
39
39
|
"test:ci": "vitest run --coverage",
|
|
40
40
|
"typecheck": "tsc --noEmit",
|
|
41
|
-
"test:run": "vitest run"
|
|
41
|
+
"test:run": "vitest run",
|
|
42
|
+
"sync:secret-types": "node scripts/sync-spa-secret-types.mjs"
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|
|
44
45
|
"@anthropic-ai/sdk": "^0.20.9",
|
|
@@ -48,12 +49,12 @@
|
|
|
48
49
|
"@gradio/client": "^2.3.1",
|
|
49
50
|
"@growthbook/growthbook": "1.8.0",
|
|
50
51
|
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
51
|
-
"@nexus-cortex/executors": "4.
|
|
52
|
-
"@nexus-cortex/types": "4.
|
|
52
|
+
"@nexus-cortex/executors": "4.131.1",
|
|
53
|
+
"@nexus-cortex/types": "4.131.1",
|
|
53
54
|
"@types/uuid": "^10.0.0",
|
|
54
55
|
"ajv": "^8.12.0",
|
|
55
56
|
"chokidar": "^3.6.0",
|
|
56
|
-
"nexus-canon": "1.
|
|
57
|
+
"nexus-canon": "1.12.0",
|
|
57
58
|
"openai": "^4.104.0",
|
|
58
59
|
"tiktoken": "^1.0.22",
|
|
59
60
|
"undici": "^5.28.4",
|