negotium 0.14.4 → 0.15.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 +33 -38
- package/dist/agent-helpers.js.map +10 -10
- package/dist/background-bash.js +2 -9
- package/dist/background-bash.js.map +3 -3
- package/dist/browser-runtime.js +2 -9
- package/dist/browser-runtime.js.map +3 -3
- package/dist/{chunk-zcazbmcs.js → chunk-84b5qy2s.js} +3 -3
- package/dist/{chunk-zcazbmcs.js.map → chunk-84b5qy2s.js.map} +2 -2
- package/dist/{chunk-p7tprsvc.js → chunk-gjtgsggp.js} +1 -1
- package/dist/{chunk-er68mpja.js → chunk-j457924j.js} +2 -9
- package/dist/{chunk-er68mpja.js.map → chunk-j457924j.js.map} +3 -3
- package/dist/hosted-agent.js +3 -10
- package/dist/hosted-agent.js.map +4 -4
- package/dist/main.js +80 -51
- package/dist/main.js.map +16 -16
- package/dist/mcp-factories.js +279 -283
- package/dist/mcp-factories.js.map +12 -12
- package/dist/media.js +2 -9
- package/dist/media.js.map +3 -3
- package/dist/prompts.js +2 -19
- package/dist/prompts.js.map +4 -4
- package/dist/query-runtime.js +2 -9
- package/dist/query-runtime.js.map +3 -3
- package/dist/registry.js +5 -6
- package/dist/registry.js.map +3 -3
- package/dist/rollout.js +2 -2
- package/dist/runtime/cron/store.ts +37 -1
- package/dist/runtime/src/agents/archiver.ts +4 -6
- package/dist/runtime/src/agents/index.ts +12 -3
- package/dist/runtime/src/agents/maestro-registry.ts +0 -1
- package/dist/runtime/src/agents/model-catalog.ts +16 -15
- package/dist/runtime/src/cron-host.ts +3 -1
- package/dist/runtime/src/mcp/factories/agent-health.ts +3 -2
- package/dist/runtime/src/node-host.ts +1 -0
- package/dist/runtime/src/platform/config.ts +2 -21
- package/dist/runtime/src/storage/forum/repository.ts +8 -10
- package/dist/runtime/src/storage/token-stats.ts +5 -1
- package/dist/runtime/src/topics/personal-general.ts +8 -6
- package/dist/runtime/src/version.ts +1 -1
- package/dist/runtime-helpers.js +2 -9
- package/dist/runtime-helpers.js.map +3 -3
- package/dist/storage.js +6 -13
- package/dist/storage.js.map +4 -4
- package/dist/types/packages/core/src/agents/archiver.d.ts +1 -1
- package/dist/types/packages/core/src/agents/model-catalog.d.ts +5 -0
- package/dist/types/packages/core/src/platform/config.d.ts +0 -8
- package/dist/types/packages/core/src/version.d.ts +1 -1
- package/dist/vault.js +2 -9
- package/dist/vault.js.map +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-p7tprsvc.js.map → chunk-gjtgsggp.js.map} +0 -0
package/dist/agent-helpers.js
CHANGED
|
@@ -331,19 +331,13 @@ function loadOrCreateLocalSecret(envKey, filename, options = {}) {
|
|
|
331
331
|
return stored;
|
|
332
332
|
}
|
|
333
333
|
}
|
|
334
|
-
function resolveModelEnv(envKey, agentConst) {
|
|
335
|
-
return envText(envKey) ?? (agentConst === FALLBACK_AGENT ? FALLBACK_MODEL : undefined);
|
|
336
|
-
}
|
|
337
|
-
function resolveDefaultModel(agent, registryDefaultModel) {
|
|
338
|
-
return agent === SESSION_AGENT && SESSION_MODEL ? SESSION_MODEL : registryDefaultModel;
|
|
339
|
-
}
|
|
340
334
|
function resolveWhisperBackend() {
|
|
341
335
|
return envText("WHISPER_BACKEND") === "mlx-whisper" ? "mlx-whisper" : "faster-whisper";
|
|
342
336
|
}
|
|
343
337
|
function codexAuthFilePath() {
|
|
344
338
|
return process.env.NEGOTIUM_CODEX_AUTH_FILE || join(process.env.CODEX_HOME || join(homedir(), ".codex"), "auth.json");
|
|
345
339
|
}
|
|
346
|
-
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.4.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,
|
|
340
|
+
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.4.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, FALLBACK_MODEL, DEFAULT_TOPIC_EFFORT, 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;
|
|
347
341
|
var init_config = __esm(() => {
|
|
348
342
|
init_config_helpers();
|
|
349
343
|
init_logger();
|
|
@@ -431,12 +425,8 @@ var init_config = __esm(() => {
|
|
|
431
425
|
AGENTS_PROMPTS_DIR = resolve2(PROJECT_ROOT, "src/prompts/agents");
|
|
432
426
|
RESOURCES_DIR = resolve2(PROJECT_ROOT, "src/resources");
|
|
433
427
|
FILE_TAG_REGEX = /\[FILE:(\/[^\]]+)\]/gi;
|
|
434
|
-
FALLBACK_AGENT = resolveAgentEnv("FALLBACK_AGENT", "
|
|
435
|
-
SESSION_AGENT = resolveAgentEnv("SESSION_AGENT", FALLBACK_AGENT);
|
|
436
|
-
GATEWAY_AGENT = resolveAgentEnv("GATEWAY_AGENT", FALLBACK_AGENT);
|
|
428
|
+
FALLBACK_AGENT = resolveAgentEnv("FALLBACK_AGENT", "claude", "DEFAULT_AGENT");
|
|
437
429
|
FALLBACK_MODEL = envText("FALLBACK_MODEL") ?? envText("DEFAULT_MODEL");
|
|
438
|
-
SESSION_MODEL = resolveModelEnv("SESSION_MODEL", SESSION_AGENT);
|
|
439
|
-
GATEWAY_MODEL = resolveModelEnv("GATEWAY_MODEL", GATEWAY_AGENT);
|
|
440
430
|
DEFAULT_TOPIC_EFFORT = (() => {
|
|
441
431
|
const raw = envText("NEGOTIUM_DEFAULT_EFFORT")?.toLowerCase();
|
|
442
432
|
return raw && EFFORT_VALUES.includes(raw) ? raw : "medium";
|
|
@@ -3085,7 +3075,7 @@ var init_codex = __esm(async () => {
|
|
|
3085
3075
|
});
|
|
3086
3076
|
|
|
3087
3077
|
// ../../packages/core/src/version.ts
|
|
3088
|
-
var NEGOTIUM_VERSION = "0.
|
|
3078
|
+
var NEGOTIUM_VERSION = "0.15.0";
|
|
3089
3079
|
|
|
3090
3080
|
// ../../packages/core/src/agents/codex-native-multi-agent.ts
|
|
3091
3081
|
import { spawn as spawn2 } from "child_process";
|
|
@@ -3578,8 +3568,7 @@ var init_maestro_registry = __esm(() => {
|
|
|
3578
3568
|
"kimi-code": "kimi-k2.7-code",
|
|
3579
3569
|
glm: "glm-5.3",
|
|
3580
3570
|
"glm-pro": "glm-5.3",
|
|
3581
|
-
"glm-flash": "glm-5.3-flash"
|
|
3582
|
-
"glm-5.2": "glm-5.2"
|
|
3571
|
+
"glm-flash": "glm-5.3-flash"
|
|
3583
3572
|
};
|
|
3584
3573
|
VALID_MODELS = new Set([...Object.keys(ALIAS_MAP2), ...Object.values(ALIAS_MAP2)]);
|
|
3585
3574
|
VALID_EFFORTS3 = new Set(MAESTRO_EFFORT_VALUES);
|
|
@@ -6325,17 +6314,20 @@ import { join as join14 } from "path";
|
|
|
6325
6314
|
async function* dispatchAgent(opts) {
|
|
6326
6315
|
switch (opts.agent) {
|
|
6327
6316
|
case "claude": {
|
|
6328
|
-
|
|
6317
|
+
claudeProviderImport ??= init_claude_provider().then(() => exports_claude_provider);
|
|
6318
|
+
const { claudeProvider: claudeProvider2 } = await claudeProviderImport;
|
|
6329
6319
|
yield* claudeProvider2(opts);
|
|
6330
6320
|
return;
|
|
6331
6321
|
}
|
|
6332
6322
|
case "codex": {
|
|
6333
|
-
|
|
6323
|
+
codexProviderImport ??= init_codex_provider().then(() => exports_codex_provider);
|
|
6324
|
+
const { codexProvider: codexProvider2 } = await codexProviderImport;
|
|
6334
6325
|
yield* codexProvider2(opts);
|
|
6335
6326
|
return;
|
|
6336
6327
|
}
|
|
6337
6328
|
case "maestro": {
|
|
6338
|
-
|
|
6329
|
+
maestroProviderImport ??= init_maestro_provider().then(() => exports_maestro_provider);
|
|
6330
|
+
const { maestroProvider: maestroProvider2 } = await maestroProviderImport;
|
|
6339
6331
|
yield* maestroProvider2(opts);
|
|
6340
6332
|
return;
|
|
6341
6333
|
}
|
|
@@ -6428,6 +6420,7 @@ async function* runAgent(opts) {
|
|
|
6428
6420
|
yield event;
|
|
6429
6421
|
}
|
|
6430
6422
|
}
|
|
6423
|
+
var claudeProviderImport, codexProviderImport, maestroProviderImport;
|
|
6431
6424
|
var init_agents = __esm(async () => {
|
|
6432
6425
|
await init_execution_host();
|
|
6433
6426
|
await init_registry();
|
|
@@ -6711,6 +6704,7 @@ var exports_model_catalog = {};
|
|
|
6711
6704
|
__export(exports_model_catalog, {
|
|
6712
6705
|
selectableModel: () => selectableModel,
|
|
6713
6706
|
resolveModelForAgent: () => resolveModelForAgent,
|
|
6707
|
+
resolveDefaultModel: () => resolveDefaultModel,
|
|
6714
6708
|
resolveCompactionExecution: () => resolveCompactionExecution,
|
|
6715
6709
|
modelOwner: () => modelOwner,
|
|
6716
6710
|
formatSelectableModel: () => formatSelectableModel,
|
|
@@ -6747,8 +6741,18 @@ function modelOwner(model) {
|
|
|
6747
6741
|
return "codex";
|
|
6748
6742
|
return MODEL_OWNER[model];
|
|
6749
6743
|
}
|
|
6744
|
+
function resolveDefaultModel(agent, registry) {
|
|
6745
|
+
if (agent !== FALLBACK_AGENT || !FALLBACK_MODEL)
|
|
6746
|
+
return registry.defaultModel;
|
|
6747
|
+
const candidate = canonicalModelId(FALLBACK_MODEL);
|
|
6748
|
+
const owner = modelOwner(candidate);
|
|
6749
|
+
if (owner && owner !== agent || !registry.validateModel(candidate)) {
|
|
6750
|
+
return registry.defaultModel;
|
|
6751
|
+
}
|
|
6752
|
+
return candidate;
|
|
6753
|
+
}
|
|
6750
6754
|
function resolveModelForAgent(agent, requested, registry) {
|
|
6751
|
-
const defaultModel = resolveDefaultModel(agent, registry
|
|
6755
|
+
const defaultModel = resolveDefaultModel(agent, registry);
|
|
6752
6756
|
if (!requested)
|
|
6753
6757
|
return defaultModel;
|
|
6754
6758
|
const candidate = canonicalModelId(requested);
|
|
@@ -6788,7 +6792,6 @@ var init_model_catalog = __esm(() => {
|
|
|
6788
6792
|
"glm-pro": "maestro",
|
|
6789
6793
|
"glm-flash": "maestro",
|
|
6790
6794
|
"glm-5.3": "maestro",
|
|
6791
|
-
"glm-5.2": "maestro",
|
|
6792
6795
|
"glm-5.3-flash": "maestro"
|
|
6793
6796
|
};
|
|
6794
6797
|
SELECTABLE_MODELS = [
|
|
@@ -6892,16 +6895,6 @@ var init_model_catalog = __esm(() => {
|
|
|
6892
6895
|
marginalTokenCost: "Approximate GLM API rate: $1.40/M input, $4.40/M output",
|
|
6893
6896
|
estimatedUsage: "No subscription token cap; pay per token. Always uses thinking and supports a 1M-token context window; text-only input."
|
|
6894
6897
|
},
|
|
6895
|
-
{
|
|
6896
|
-
model: "glm-5.2",
|
|
6897
|
-
agent: "maestro",
|
|
6898
|
-
description: "Previous-generation GLM flagship for cost-efficient everyday work.",
|
|
6899
|
-
intelligenceTier: "sonnet",
|
|
6900
|
-
routingSummary: "previous-gen flagship; 1M context; cost-efficient everyday work, cheaper than glm-5.3",
|
|
6901
|
-
accessCost: "Zhipu AI pay-as-you-go API; no monthly subscription required",
|
|
6902
|
-
marginalTokenCost: "Approximate GLM API rate: $0.95/M input, $3/M output",
|
|
6903
|
-
estimatedUsage: "No subscription token cap; pay per token. Always uses thinking and supports a 1M-token context window; text-only input."
|
|
6904
|
-
},
|
|
6905
6898
|
{
|
|
6906
6899
|
model: "glm-5.3-flash",
|
|
6907
6900
|
agent: "maestro",
|
|
@@ -8503,19 +8496,19 @@ function ensurePersonalGeneral(userId, surface, opts = {}) {
|
|
|
8503
8496
|
upsertTopic(existing);
|
|
8504
8497
|
}
|
|
8505
8498
|
if (!getApiTopicConfig(existing.id)) {
|
|
8506
|
-
setApiTopicConfig(existing.id, {
|
|
8499
|
+
setApiTopicConfig(existing.id, {});
|
|
8507
8500
|
}
|
|
8508
8501
|
return existing;
|
|
8509
8502
|
}
|
|
8510
8503
|
const now = new Date().toISOString();
|
|
8511
|
-
const registry = getRegistry(
|
|
8504
|
+
const registry = getRegistry(FALLBACK_AGENT);
|
|
8512
8505
|
const topic = {
|
|
8513
8506
|
id: randomUUID5(),
|
|
8514
8507
|
title: "General",
|
|
8515
8508
|
description: PERSONAL_GENERAL_DESCRIPTION,
|
|
8516
8509
|
kind: "manager",
|
|
8517
|
-
agent:
|
|
8518
|
-
defaultModel: resolveDefaultModel(
|
|
8510
|
+
agent: FALLBACK_AGENT,
|
|
8511
|
+
defaultModel: resolveDefaultModel(FALLBACK_AGENT, registry),
|
|
8519
8512
|
defaultEffort: registry.defaultEffort ?? "medium",
|
|
8520
8513
|
aiMode: "always",
|
|
8521
8514
|
aiMention: false,
|
|
@@ -8526,7 +8519,7 @@ function ensurePersonalGeneral(userId, surface, opts = {}) {
|
|
|
8526
8519
|
lastMessageAt: now
|
|
8527
8520
|
};
|
|
8528
8521
|
upsertTopic(topic);
|
|
8529
|
-
setApiTopicConfig(topic.id, {
|
|
8522
|
+
setApiTopicConfig(topic.id, {});
|
|
8530
8523
|
return topic;
|
|
8531
8524
|
}
|
|
8532
8525
|
function isLegacySharedGeneral(topicId) {
|
|
@@ -8534,6 +8527,7 @@ function isLegacySharedGeneral(topicId) {
|
|
|
8534
8527
|
}
|
|
8535
8528
|
var LEGACY_PERSONAL_GENERAL_DESCRIPTION = "\uB098\uB9CC\uC758 \uAC1C\uC778 \uACF5\uAC04\uC774\uC5D0\uC694. \uB300\uD654\uC640 AI \uC791\uC5C5\uC740 \uB2E4\uB978 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uACF5\uAC1C\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.", PERSONAL_GENERAL_DESCRIPTION = "Your private General. Messages and membership are visible only to you. Workspace memory, wiki, and skills are shared with your workspace.";
|
|
8536
8529
|
var init_personal_general = __esm(async () => {
|
|
8530
|
+
init_model_catalog();
|
|
8537
8531
|
await init_registry();
|
|
8538
8532
|
init_config();
|
|
8539
8533
|
init_constants();
|
|
@@ -8623,7 +8617,7 @@ function createArchiverRuntime(host) {
|
|
|
8623
8617
|
}
|
|
8624
8618
|
const wikiDir = host.storage.getWikiDir();
|
|
8625
8619
|
const safeTopic = host.config.sanitizeTopicName(topicTitle);
|
|
8626
|
-
const agent = params.agent ??
|
|
8620
|
+
const agent = params.agent ?? FALLBACK_AGENT;
|
|
8627
8621
|
const model = params.model;
|
|
8628
8622
|
const outputLanguage = resolveMemoryLanguage();
|
|
8629
8623
|
const generalReplyInstruction = `Reply with a short completion message in ${outputLanguage} for display in #General. ` + "Do not include tool-call logs or raw transcripts \u2014 just briefly name the summary / brief / articles you saved.";
|
|
@@ -12577,7 +12571,7 @@ var init_token_stats = __esm(async () => {
|
|
|
12577
12571
|
"maestro:kimi-k3": { input: 3, cacheRead: 0.3, output: 15 },
|
|
12578
12572
|
"maestro:kimi-k2.7-code": { input: 0.95, cacheRead: 0.19, output: 4 },
|
|
12579
12573
|
"maestro:glm-5.3": { input: 1.4, cacheRead: 1.4, output: 4.4 },
|
|
12580
|
-
"maestro:glm-5.2": { input:
|
|
12574
|
+
"maestro:glm-5.2": { input: 1.4, cacheRead: 1.4, output: 4.4 },
|
|
12581
12575
|
"maestro:glm-5.3-flash": { input: 0.15, cacheRead: 0.15, output: 0.5 },
|
|
12582
12576
|
"maestro:deepseek-pro": { input: 0.435, cacheRead: 0.003625, output: 0.87 },
|
|
12583
12577
|
"maestro:deepseek-flash": { input: 0.14, cacheRead: 0.0028, output: 0.28 }
|
|
@@ -17185,6 +17179,7 @@ __export(exports_turn_runner, {
|
|
|
17185
17179
|
resolveSessionRetry: () => resolveSessionRetry,
|
|
17186
17180
|
resolveModelForAgent: () => resolveModelForAgent,
|
|
17187
17181
|
resolveInitialTurnSessionId: () => resolveInitialTurnSessionId,
|
|
17182
|
+
resolveDefaultModel: () => resolveDefaultModel,
|
|
17188
17183
|
resolveCompactionExecution: () => resolveCompactionExecution,
|
|
17189
17184
|
renderUserTurnBatch: () => renderUserTurnBatch,
|
|
17190
17185
|
renderUserPromptBatch: () => renderUserPromptBatch,
|
|
@@ -20668,4 +20663,4 @@ export {
|
|
|
20668
20663
|
DEFAULT_SELF_CONFIG_PRODUCT
|
|
20669
20664
|
};
|
|
20670
20665
|
|
|
20671
|
-
//# debugId=
|
|
20666
|
+
//# debugId=AF4C7F4033D476D264756E2164756E21
|