negotium 0.12.2 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-helpers.js +23 -11
- package/dist/agent-helpers.js.map +8 -8
- package/dist/background-bash.js.map +1 -1
- package/dist/browser-runtime.js.map +1 -1
- package/dist/{chunk-v9vh52nc.js → chunk-m19cf9kc.js} +1 -1
- package/dist/{chunk-bw6mrsc6.js → chunk-tnptx2ba.js} +3 -3
- package/dist/{chunk-bw6mrsc6.js.map → chunk-tnptx2ba.js.map} +2 -2
- package/dist/{chunk-jz4jf6t1.js → chunk-vmfesy73.js} +2 -2
- package/dist/{chunk-jz4jf6t1.js.map → chunk-vmfesy73.js.map} +2 -2
- package/dist/hosted-agent.js +3 -3
- package/dist/hosted-agent.js.map +3 -3
- package/dist/main.js +29 -14
- package/dist/main.js.map +9 -9
- package/dist/mcp-factories.js +22 -10
- package/dist/mcp-factories.js.map +7 -7
- package/dist/media.js.map +1 -1
- package/dist/prompts.js +17 -7
- package/dist/prompts.js.map +4 -4
- package/dist/query-runtime.js.map +1 -1
- package/dist/registry.js +3 -3
- package/dist/registry.js.map +2 -2
- package/dist/rollout.js +2 -2
- package/dist/runtime/src/agents/codex-registry.ts +5 -4
- package/dist/runtime/src/agents/model-catalog.ts +29 -8
- package/dist/runtime/src/agents/self-config-core.ts +1 -1
- package/dist/runtime/src/platform/config.ts +1 -1
- package/dist/runtime/src/runtime/inbox.ts +16 -1
- package/dist/runtime/src/storage/token-stats.ts +3 -1
- package/dist/runtime/src/version.ts +1 -1
- package/dist/runtime-helpers.js.map +1 -1
- package/dist/storage.js +3 -2
- package/dist/storage.js.map +3 -3
- package/dist/types/packages/core/src/agents/model-catalog.d.ts +7 -3
- package/dist/types/packages/core/src/platform/config.d.ts +1 -1
- package/dist/types/packages/core/src/version.d.ts +1 -1
- package/dist/vault.js.map +1 -1
- package/package.json +9 -9
- /package/dist/{chunk-v9vh52nc.js.map → chunk-m19cf9kc.js.map} +0 -0
package/dist/main.js
CHANGED
|
@@ -281,7 +281,7 @@ function resolveWhisperBackend() {
|
|
|
281
281
|
function codexAuthFilePath() {
|
|
282
282
|
return process.env.NEGOTIUM_CODEX_AUTH_FILE || join(process.env.CODEX_HOME || join(homedir(), ".codex"), "auth.json");
|
|
283
283
|
}
|
|
284
|
-
var HOME, PROJECT_ROOT, STATE_DIR, WORKSPACE_DIR, TOPIC_WORKSPACE_DIR, SHARED_WIKI_DIR, CRON_WORKSPACE_DIR, BROWSER_DIR, BROWSER_PROFILES_DIR, BINARIES_DIR, SECRETS_DIR, DM_WORKSPACE_DIR, SESSION_WORKSPACE_DIR, CLAUDE_EXECUTABLE_ENV, CLAUDE_EXECUTABLE, DEFAULT_OUTPUT_LANGUAGE = "English", BROWSER_RS_VERSION = "v0.3.0", BROWSER_RS_MIN_SECURE_VERSION = "0.2.1", BROWSER_RS_VERSION_PROBE_TIMEOUT_MS = 15000, SNIPPETS_API_URL, BROWSER_RS_BIN, BASH_RS_VERSION = "v0.1.7", BASH_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, DECISION_SERVER, CANONICAL_MCP_PROXY_SERVER, WIKI_SERVER, TOKEN_STATS_SERVER, COMPACTION_LOG_SERVER, SYSTEM_HEALTH_SERVER, AGENT_HEALTH_SERVER, VAULT_SERVER, BG_BASH_BASE_PORT, BG_BASH_MAX_PORT, RUNTIME_MCP_SECRET, NODE_CONTROL_TOKEN, NODE_ID, VAULT_MASTER_KEY, NEGOTIUM_PORT, hostname, DATA_DIR, LOG_DIR, UPLOADS_DIR, VAULT_DIR, SESSIONS_DB, DEBUG_FILE, USERS_LOG_DIR, RUN_DIR, PROGRESS_DIR, DM_CMD_DIR, DM_RESP_DIR, SESSION_INBOX_DIR, SESSION_ASKS_DIR, BASHRS_SPILL_ROOT, PLAYWRIGHT_BASE_PORT, PLAYWRIGHT_MAX_PORT, PLAYWRIGHT_PORTS_DIR, ACTIVE_QUERY_STALE_MS, AGENTS_PROMPTS_DIR, RESOURCES_DIR, FILE_TAG_REGEX, MODEL_SONNET = "claude-sonnet-5", MODEL_OPUS = "claude-opus-5", MODEL_FABLE = "claude-fable-5", FALLBACK_AGENT, SESSION_AGENT, GATEWAY_AGENT, FALLBACK_MODEL, SESSION_MODEL, GATEWAY_MODEL, FFMPEG_BIN, FFPROBE_BIN, PYTHON_BIN, FASTER_WHISPER_WRAPPER, WHISPER_MODEL, TESSERACT_BIN, PDFTOTEXT_BIN, WHISPER_BACKEND, MLX_WHISPER_BIN, WHISPER_MODEL_MLX, _envMaxTellDepth, MAX_TELL_DEPTH;
|
|
284
|
+
var HOME, PROJECT_ROOT, STATE_DIR, WORKSPACE_DIR, TOPIC_WORKSPACE_DIR, SHARED_WIKI_DIR, CRON_WORKSPACE_DIR, BROWSER_DIR, BROWSER_PROFILES_DIR, BINARIES_DIR, SECRETS_DIR, DM_WORKSPACE_DIR, SESSION_WORKSPACE_DIR, CLAUDE_EXECUTABLE_ENV, CLAUDE_EXECUTABLE, DEFAULT_OUTPUT_LANGUAGE = "English", BROWSER_RS_VERSION = "v0.3.0", BROWSER_RS_MIN_SECURE_VERSION = "0.2.1", BROWSER_RS_VERSION_PROBE_TIMEOUT_MS = 15000, SNIPPETS_API_URL, BROWSER_RS_BIN, BASH_RS_VERSION = "v0.1.7", BASH_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, DECISION_SERVER, CANONICAL_MCP_PROXY_SERVER, WIKI_SERVER, TOKEN_STATS_SERVER, COMPACTION_LOG_SERVER, SYSTEM_HEALTH_SERVER, AGENT_HEALTH_SERVER, VAULT_SERVER, BG_BASH_BASE_PORT, BG_BASH_MAX_PORT, RUNTIME_MCP_SECRET, NODE_CONTROL_TOKEN, NODE_ID, VAULT_MASTER_KEY, NEGOTIUM_PORT, hostname, DATA_DIR, LOG_DIR, UPLOADS_DIR, VAULT_DIR, SESSIONS_DB, DEBUG_FILE, USERS_LOG_DIR, RUN_DIR, PROGRESS_DIR, DM_CMD_DIR, DM_RESP_DIR, SESSION_INBOX_DIR, SESSION_ASKS_DIR, BASHRS_SPILL_ROOT, PLAYWRIGHT_BASE_PORT, PLAYWRIGHT_MAX_PORT, PLAYWRIGHT_PORTS_DIR, ACTIVE_QUERY_STALE_MS, AGENTS_PROMPTS_DIR, RESOURCES_DIR, FILE_TAG_REGEX, MODEL_SONNET = "claude-sonnet-5", MODEL_OPUS = "claude-opus-5", MODEL_FABLE = "claude-fable-5-1", FALLBACK_AGENT, SESSION_AGENT, GATEWAY_AGENT, FALLBACK_MODEL, SESSION_MODEL, GATEWAY_MODEL, FFMPEG_BIN, FFPROBE_BIN, PYTHON_BIN, FASTER_WHISPER_WRAPPER, WHISPER_MODEL, TESSERACT_BIN, PDFTOTEXT_BIN, WHISPER_BACKEND, MLX_WHISPER_BIN, WHISPER_MODEL_MLX, _envMaxTellDepth, MAX_TELL_DEPTH;
|
|
285
285
|
var init_config = __esm(() => {
|
|
286
286
|
init_config_helpers();
|
|
287
287
|
init_logger();
|
|
@@ -3780,7 +3780,7 @@ var exports_version = {};
|
|
|
3780
3780
|
__export(exports_version, {
|
|
3781
3781
|
NEGOTIUM_VERSION: () => NEGOTIUM_VERSION
|
|
3782
3782
|
});
|
|
3783
|
-
var NEGOTIUM_VERSION = "0.
|
|
3783
|
+
var NEGOTIUM_VERSION = "0.13.0";
|
|
3784
3784
|
|
|
3785
3785
|
// ../../packages/core/src/agents/codex-native-multi-agent.ts
|
|
3786
3786
|
import { spawn as spawn2 } from "child_process";
|
|
@@ -9792,7 +9792,7 @@ function resolveCompactionExecution(agent, registry) {
|
|
|
9792
9792
|
const effort = registry.validateEffort("medium") ? "medium" : registry.defaultEffort;
|
|
9793
9793
|
return { model, ...effort ? { effort } : {} };
|
|
9794
9794
|
}
|
|
9795
|
-
var MODEL_OWNER, MODEL_COST_RESEARCHED_AT = "2026-
|
|
9795
|
+
var MODEL_OWNER, MODEL_COST_RESEARCHED_AT = "2026-09-05", MODEL_COST_ROUTING_SUMMARY = "Cost basis (2026-09-05): Codex Pro 20x and Claude Max 20x are each $200/month; Maestro models are pay-per-token. DeepSeek Flash is cheapest. gpt-6-astra and Claude Fable 5.1 are the newest flagships, both priced at $10/M input / $50/M output.", CODEX_PRO_20X_COST = "ChatGPT Pro 20x subscription: $200/month", CODEX_COMMUNITY_WEEKLY = "Community plan-level observation: roughly 2\u20134B raw/cached tokens per week; fresh-input equivalent is much lower and unstable (low confidence)", CLAUDE_MAX_20X_COST = "Claude Max 20x subscription: $200/month", CLAUDE_COMMUNITY_SESSION = "Community observations vary from roughly 220\u2013250K locally displayed tokens per 5-hour session to billions of cache-heavy raw tokens per week; calibrated reports value a full weekly allowance around $680\u2013$1,900 at API rates. Recent heavy-model reports reach the weekly cap after about 4\u20135 full sessions (low confidence; not a token cap)", SELECTABLE_MODELS, SELECTABLE_MODEL_ALIASES, FALLBACK_ORDER, AGENT_DISPLAY_NAME;
|
|
9796
9796
|
var init_model_catalog = __esm(() => {
|
|
9797
9797
|
init_config();
|
|
9798
9798
|
MODEL_OWNER = {
|
|
@@ -9800,6 +9800,7 @@ var init_model_catalog = __esm(() => {
|
|
|
9800
9800
|
opus: "claude",
|
|
9801
9801
|
haiku: "claude",
|
|
9802
9802
|
fable: "claude",
|
|
9803
|
+
"gpt-6-astra": "codex",
|
|
9803
9804
|
"gpt-5.6-luna": "codex",
|
|
9804
9805
|
"gpt-5.6-terra": "codex",
|
|
9805
9806
|
"gpt-5.6-sol": "codex",
|
|
@@ -9821,11 +9822,21 @@ var init_model_catalog = __esm(() => {
|
|
|
9821
9822
|
};
|
|
9822
9823
|
SELECTABLE_MODELS = [
|
|
9823
9824
|
{
|
|
9824
|
-
model: "gpt-
|
|
9825
|
+
model: "gpt-6-astra",
|
|
9825
9826
|
agent: "codex",
|
|
9826
|
-
description: "
|
|
9827
|
+
description: "Newest OpenAI flagship; replaces gpt-5.6-sol as Codex's highest-capability route.",
|
|
9827
9828
|
intelligenceTier: "fable",
|
|
9828
|
-
routingSummary: "
|
|
9829
|
+
routingSummary: "flagship reasoning; 2x sol's input/cache cost and 1.67x its output cost; matches Fable 5.1 pricing",
|
|
9830
|
+
accessCost: CODEX_PRO_20X_COST,
|
|
9831
|
+
marginalTokenCost: "Codex credits (OpenAI API rate): $10/M uncached input, $1/M cached input, $12.50/M cache write, $50/M output",
|
|
9832
|
+
estimatedUsage: `Released 2026-09-03; became Codex CLI's bundled default in v0.153.4 (2026-09-05). Local message-count/quota-weight ranges not yet published as of the last catalog check \u2014 expect a quota weight above gpt-5.6-sol given the higher per-token cost. ${CODEX_COMMUNITY_WEEKLY}`
|
|
9833
|
+
},
|
|
9834
|
+
{
|
|
9835
|
+
model: "gpt-5.6-sol",
|
|
9836
|
+
agent: "codex",
|
|
9837
|
+
description: "High-capability Codex route for demanding agentic coding work; demoted below gpt-6-astra.",
|
|
9838
|
+
intelligenceTier: "opus",
|
|
9839
|
+
routingSummary: "demanding coding work; 5x Codex quota cost; now second-tier behind gpt-6-astra",
|
|
9829
9840
|
accessCost: CODEX_PRO_20X_COST,
|
|
9830
9841
|
marginalTokenCost: "Codex credits: $5/M uncached input, $0.50/M cached input, $30/M output",
|
|
9831
9842
|
estimatedUsage: `Official Pro 20x range: 300\u20131,800 local messages per 5 hours; quota weight 5x Luna. ${CODEX_COMMUNITY_WEEKLY}`
|
|
@@ -9853,11 +9864,11 @@ var init_model_catalog = __esm(() => {
|
|
|
9853
9864
|
{
|
|
9854
9865
|
model: "fable",
|
|
9855
9866
|
agent: "claude",
|
|
9856
|
-
description: "Highest-capability Claude route for the hardest and longest-running tasks.",
|
|
9867
|
+
description: "Highest-capability Claude route (Fable 5.1) for the hardest and longest-running tasks.",
|
|
9857
9868
|
intelligenceTier: "fable",
|
|
9858
9869
|
routingSummary: "hardest long-running work; highest Claude cost; explicit request only",
|
|
9859
9870
|
accessCost: CLAUDE_MAX_20X_COST,
|
|
9860
|
-
marginalTokenCost: "Claude API/extra usage: $10/M input, $12.50/M cache write, $
|
|
9871
|
+
marginalTokenCost: "Claude API/extra usage: $10/M input, $12.50/M cache write, $0.25/M cache read (cut from $1/M in Fable 5.1, 2026-09-01), $50/M output",
|
|
9861
9872
|
estimatedUsage: `${CLAUDE_COMMUNITY_SESSION}; Fable drains weighted quota fastest, so use only on explicit user request. No stable per-model token cap is published.`
|
|
9862
9873
|
},
|
|
9863
9874
|
{
|
|
@@ -13938,10 +13949,11 @@ var init_token_stats = __esm(async () => {
|
|
|
13938
13949
|
await init_api_topics();
|
|
13939
13950
|
await init_storage_host();
|
|
13940
13951
|
TOKEN_PRICES = {
|
|
13952
|
+
"codex:gpt-6-astra": { input: 10, cacheWrite: 12.5, cacheRead: 1, output: 50 },
|
|
13941
13953
|
"codex:gpt-5.6-sol": { input: 5, cacheRead: 0.5, output: 30 },
|
|
13942
13954
|
"codex:gpt-5.6-terra": { input: 2.5, cacheRead: 0.25, output: 15 },
|
|
13943
13955
|
"codex:gpt-5.6-luna": { input: 1, cacheRead: 0.1, output: 6 },
|
|
13944
|
-
"claude:fable": { input: 10, cacheWrite: 12.5, cacheRead:
|
|
13956
|
+
"claude:fable": { input: 10, cacheWrite: 12.5, cacheRead: 0.25, output: 50 },
|
|
13945
13957
|
"claude:opus": { input: 5, cacheWrite: 6.25, cacheRead: 0.5, output: 25 },
|
|
13946
13958
|
"claude:sonnet": { input: 2, cacheWrite: 2.5, cacheRead: 0.2, output: 10 },
|
|
13947
13959
|
"maestro:kimi-k3": { input: 3, cacheRead: 0.3, output: 15 },
|
|
@@ -15952,7 +15964,7 @@ function escapeRegExp2(value) {
|
|
|
15952
15964
|
function agentAliases(agent) {
|
|
15953
15965
|
switch (agent) {
|
|
15954
15966
|
case "codex":
|
|
15955
|
-
return ["codex", "\uCF54\uB371\uC2A4", "gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol"];
|
|
15967
|
+
return ["codex", "\uCF54\uB371\uC2A4", "gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol", "gpt-6-astra"];
|
|
15956
15968
|
case "claude":
|
|
15957
15969
|
return ["claude", "\uD074\uB85C\uB4DC", "sonnet", "opus", "fable"];
|
|
15958
15970
|
case "maestro":
|
|
@@ -23465,7 +23477,7 @@ async function resolveEntryCallerTopic(scope, entry) {
|
|
|
23465
23477
|
return null;
|
|
23466
23478
|
return getTopicByNameForUser2(entry.from, String(scope.userId), opts);
|
|
23467
23479
|
}
|
|
23468
|
-
function notifyCallerTopic(callerTopicId, targetLabel, message, label = `Reply from ${targetLabel}
|
|
23480
|
+
function notifyCallerTopic(callerTopicId, targetLabel, message, label = `Reply from ${targetLabel}`, threadRootId) {
|
|
23469
23481
|
const msg = {
|
|
23470
23482
|
id: randomUUID21(),
|
|
23471
23483
|
topicId: callerTopicId,
|
|
@@ -23478,6 +23490,7 @@ ${message}`,
|
|
|
23478
23490
|
label,
|
|
23479
23491
|
message
|
|
23480
23492
|
},
|
|
23493
|
+
...threadRootId ? { threadRootId } : {},
|
|
23481
23494
|
createdAt: new Date().toISOString()
|
|
23482
23495
|
};
|
|
23483
23496
|
appendApiMessage(msg, { notify: false });
|
|
@@ -23497,6 +23510,7 @@ ${args.message}`,
|
|
|
23497
23510
|
label: `Ask to ${args.targetLabel}`,
|
|
23498
23511
|
message: args.message
|
|
23499
23512
|
},
|
|
23513
|
+
...args.threadRootId ? { threadRootId: args.threadRootId } : {},
|
|
23500
23514
|
createdAt: new Date().toISOString()
|
|
23501
23515
|
};
|
|
23502
23516
|
try {
|
|
@@ -23516,7 +23530,7 @@ async function notifyAskDrop(scope, entry, targetLabel, message) {
|
|
|
23516
23530
|
return;
|
|
23517
23531
|
}
|
|
23518
23532
|
try {
|
|
23519
|
-
notifyCallerTopic(callerTopic.id, targetLabel, message, `Error from ${targetLabel}
|
|
23533
|
+
notifyCallerTopic(callerTopic.id, targetLabel, message, `Error from ${targetLabel}`, entry.fromThreadRootId);
|
|
23520
23534
|
} catch (err2) {
|
|
23521
23535
|
logger.warn({ err: err2, from: entry.from, to: targetLabel, requestId: entry.requestId }, "session-inbox: failed to notify ask caller");
|
|
23522
23536
|
}
|
|
@@ -23948,7 +23962,8 @@ ${entry.message}
|
|
|
23948
23962
|
callerUserId: String(scope.userId),
|
|
23949
23963
|
targetLabel,
|
|
23950
23964
|
requestId,
|
|
23951
|
-
message: entry.message
|
|
23965
|
+
message: entry.message,
|
|
23966
|
+
...entry.fromThreadRootId ? { threadRootId: entry.fromThreadRootId } : {}
|
|
23952
23967
|
});
|
|
23953
23968
|
}
|
|
23954
23969
|
const { getTopic: getTopic2 } = await init_api_topics().then(() => exports_api_topics);
|
|
@@ -50774,4 +50789,4 @@ switch (command) {
|
|
|
50774
50789
|
}
|
|
50775
50790
|
}
|
|
50776
50791
|
|
|
50777
|
-
//# debugId=
|
|
50792
|
+
//# debugId=5E884D2B446497BE64756E2164756E21
|