negotium 0.2.23 → 0.2.24
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 +4 -3
- package/dist/agent-helpers.js.map +4 -4
- package/dist/background-bash.js +2 -1
- package/dist/background-bash.js.map +3 -3
- package/dist/browser-runtime.js +2 -1
- package/dist/browser-runtime.js.map +3 -3
- package/dist/{chunk-rhp26p2c.js → chunk-1y2xw0xe.js} +2 -1
- package/dist/{chunk-rhp26p2c.js.map → chunk-1y2xw0xe.js.map} +3 -3
- package/dist/hosted-agent.js +3 -2
- package/dist/hosted-agent.js.map +4 -4
- package/dist/main.js +59 -4
- package/dist/main.js.map +6 -6
- package/dist/mcp-factories.js +4 -3
- package/dist/mcp-factories.js.map +4 -4
- package/dist/prompts.js +2 -1
- package/dist/prompts.js.map +3 -3
- package/dist/query-runtime.js +2 -1
- package/dist/query-runtime.js.map +3 -3
- package/dist/registry.js +3 -3
- package/dist/registry.js.map +2 -2
- package/dist/rollout.js +1 -1
- package/dist/runtime/src/node-host.ts +3 -2
- package/dist/runtime/src/platform/config.ts +12 -0
- package/dist/runtime/src/version.ts +1 -1
- package/dist/runtime-helpers.js +2 -1
- package/dist/runtime-helpers.js.map +3 -3
- package/dist/types/packages/core/src/platform/config.d.ts +12 -0
- package/dist/types/packages/core/src/version.d.ts +1 -1
- package/dist/vault.js +2 -1
- package/dist/vault.js.map +3 -3
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -273,7 +273,7 @@ function resolveDefaultModel(agent, registryDefaultModel) {
|
|
|
273
273
|
function codexAuthFilePath() {
|
|
274
274
|
return process.env.NEGOTIUM_CODEX_AUTH_FILE || join(process.env.CODEX_HOME || join(homedir(), ".codex"), "auth.json");
|
|
275
275
|
}
|
|
276
|
-
var HOME, PROJECT_ROOT, STATE_DIR_ENV, 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.1.19", BROWSER_RS_MIN_SECURE_VERSION = "0.1.15", BROWSER_RS_VERSION_PROBE_TIMEOUT_MS = 15000, SNIPPETS_API_URL, BROWSER_RS_BIN, BASH_RS_VERSION = "v0.1.5", BASH_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, BROWSER_MCP_SSE_PROXY_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, 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, _envMaxTellDepth, MAX_TELL_DEPTH;
|
|
276
|
+
var HOME, PROJECT_ROOT, STATE_DIR_ENV, 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.1.19", BROWSER_RS_MIN_SECURE_VERSION = "0.1.15", BROWSER_RS_VERSION_PROBE_TIMEOUT_MS = 15000, SNIPPETS_API_URL, BROWSER_RS_BIN, BASH_RS_VERSION = "v0.1.5", BASH_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, BROWSER_MCP_SSE_PROXY_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, _envMaxTellDepth, MAX_TELL_DEPTH;
|
|
277
277
|
var init_config = __esm(() => {
|
|
278
278
|
init_config_helpers();
|
|
279
279
|
init_logger();
|
|
@@ -315,6 +315,7 @@ var init_config = __esm(() => {
|
|
|
315
315
|
BG_BASH_MAX_PORT = parsePortEnv(process.env.BG_BASH_MAX_PORT, 9799);
|
|
316
316
|
RUNTIME_MCP_SECRET = loadOrCreateLocalSecret("RUNTIME_MCP_SECRET", "runtime-mcp-secret");
|
|
317
317
|
NODE_CONTROL_TOKEN = loadOrCreateLocalSecret("NEGOTIUM_CONTROL_TOKEN", "node-control-token");
|
|
318
|
+
NODE_ID = loadOrCreateLocalSecret("NEGOTIUM_NODE_ID", "node-id");
|
|
318
319
|
VAULT_MASTER_KEY = loadOrCreateLocalSecret("NEGOTIUM_VAULT_MASTER_KEY", "vault-master-key", { persistEnvValue: true });
|
|
319
320
|
delete process.env.NEGOTIUM_VAULT_MASTER_KEY;
|
|
320
321
|
NEGOTIUM_PORT = parseInt(process.env.NEGOTIUM_PORT || "7777", 10);
|
|
@@ -1867,7 +1868,7 @@ var exports_version = {};
|
|
|
1867
1868
|
__export(exports_version, {
|
|
1868
1869
|
NEGOTIUM_VERSION: () => NEGOTIUM_VERSION
|
|
1869
1870
|
});
|
|
1870
|
-
var NEGOTIUM_VERSION = "0.2.
|
|
1871
|
+
var NEGOTIUM_VERSION = "0.2.24";
|
|
1871
1872
|
|
|
1872
1873
|
// ../../packages/core/src/agents/codex-native-multi-agent.ts
|
|
1873
1874
|
import { spawn } from "child_process";
|
|
@@ -22805,6 +22806,7 @@ var init_conversation_migration = __esm(async () => {
|
|
|
22805
22806
|
// ../../packages/core/src/node-host.ts
|
|
22806
22807
|
var exports_node_host = {};
|
|
22807
22808
|
__export(exports_node_host, {
|
|
22809
|
+
upsertTopic: () => upsertTopic,
|
|
22808
22810
|
topicService: () => topicService,
|
|
22809
22811
|
switchTopicModel: () => switchTopicModel,
|
|
22810
22812
|
switchTopicEffort: () => switchTopicEffort,
|
|
@@ -22852,6 +22854,7 @@ __export(exports_node_host, {
|
|
|
22852
22854
|
ensurePersonalGeneral: () => ensurePersonalGeneral,
|
|
22853
22855
|
deleteVaultEntry: () => deleteVaultEntry,
|
|
22854
22856
|
compactTopicSession: () => compactTopicSession,
|
|
22857
|
+
appendApiMessage: () => appendApiMessage,
|
|
22855
22858
|
acquireRuntimeProcessLease: () => acquireRuntimeProcessLease,
|
|
22856
22859
|
abortAllRooms: () => abortAllRooms,
|
|
22857
22860
|
WsHub: () => WsHub,
|
|
@@ -22863,6 +22866,7 @@ __export(exports_node_host, {
|
|
|
22863
22866
|
STATE_DIR: () => STATE_DIR,
|
|
22864
22867
|
RuntimeGatewayIdempotencyConflictError: () => RuntimeGatewayIdempotencyConflictError,
|
|
22865
22868
|
RUN_DIR: () => RUN_DIR,
|
|
22869
|
+
NODE_ID: () => NODE_ID,
|
|
22866
22870
|
NODE_CONTROL_TOKEN: () => NODE_CONTROL_TOKEN,
|
|
22867
22871
|
NEGOTIUM_VERSION: () => NEGOTIUM_VERSION,
|
|
22868
22872
|
NEGOTIUM_PORT: () => NEGOTIUM_PORT,
|
|
@@ -29437,13 +29441,15 @@ function createNodeControlHandler(options) {
|
|
|
29437
29441
|
ok: true,
|
|
29438
29442
|
v: NODE_RUNTIME_CONTRACT_VERSION,
|
|
29439
29443
|
nodeVersion: NODE_VERSION,
|
|
29444
|
+
nodeId: NODE_ID,
|
|
29440
29445
|
capabilities: [
|
|
29441
29446
|
"turn-submit-idempotent",
|
|
29442
29447
|
"turn-events-sse-resume",
|
|
29443
29448
|
"canonical-topic-read",
|
|
29444
29449
|
"canonical-message-read",
|
|
29445
29450
|
"canonical-topic-list",
|
|
29446
|
-
"canonical-topic-create"
|
|
29451
|
+
"canonical-topic-create",
|
|
29452
|
+
"canonical-history-import"
|
|
29447
29453
|
],
|
|
29448
29454
|
cursor: latestRuntimeEventSeq()
|
|
29449
29455
|
});
|
|
@@ -29539,6 +29545,55 @@ function createNodeControlHandler(options) {
|
|
|
29539
29545
|
});
|
|
29540
29546
|
return Response.json({ ok: true, v: NODE_RUNTIME_CONTRACT_VERSION, topic }, { status: 201 });
|
|
29541
29547
|
}
|
|
29548
|
+
const importMatch = runtimePath.match(/^\/topics\/([^/]+)\/import$/);
|
|
29549
|
+
if (importMatch && req.method === "POST") {
|
|
29550
|
+
const body = await bodyRecord(req);
|
|
29551
|
+
if (body.v !== NODE_RUNTIME_CONTRACT_VERSION)
|
|
29552
|
+
return jsonError(400, "Unsupported v");
|
|
29553
|
+
const topicId = decodeURIComponent(importMatch[1]);
|
|
29554
|
+
const topic = getTopic(topicId);
|
|
29555
|
+
if (!topic)
|
|
29556
|
+
return jsonError(404, "Topic not found");
|
|
29557
|
+
if (!Array.isArray(body.messages)) {
|
|
29558
|
+
return jsonError(400, "messages must be an array");
|
|
29559
|
+
}
|
|
29560
|
+
if (listApiMessages(topicId, { limit: 1 }).page.length > 0) {
|
|
29561
|
+
return jsonError(409, "topic already has messages");
|
|
29562
|
+
}
|
|
29563
|
+
const messages = body.messages;
|
|
29564
|
+
for (const [index, message] of messages.entries()) {
|
|
29565
|
+
if (typeof message?.id !== "string" || typeof message?.authorId !== "string" || typeof message?.text !== "string" || typeof message?.createdAt !== "string") {
|
|
29566
|
+
return jsonError(400, `messages[${index}] needs id, authorId, text and createdAt`);
|
|
29567
|
+
}
|
|
29568
|
+
}
|
|
29569
|
+
let imported = 0;
|
|
29570
|
+
for (const message of messages) {
|
|
29571
|
+
appendApiMessage({
|
|
29572
|
+
id: message.id,
|
|
29573
|
+
topicId,
|
|
29574
|
+
authorId: message.authorId,
|
|
29575
|
+
text: message.text,
|
|
29576
|
+
createdAt: message.createdAt,
|
|
29577
|
+
deleted: false,
|
|
29578
|
+
...typeof message.agentType === "string" ? { agentType: message.agentType } : {},
|
|
29579
|
+
...typeof message.model === "string" ? { model: message.model } : {}
|
|
29580
|
+
}, { notify: false, updateTopicLastMessageAt: false });
|
|
29581
|
+
imported += 1;
|
|
29582
|
+
}
|
|
29583
|
+
if (imported > 0) {
|
|
29584
|
+
const stamps = messages.map((message) => message.createdAt).sort();
|
|
29585
|
+
upsertTopic({
|
|
29586
|
+
...topic,
|
|
29587
|
+
createdAt: stamps[0] < topic.createdAt ? stamps[0] : topic.createdAt,
|
|
29588
|
+
lastMessageAt: stamps[stamps.length - 1]
|
|
29589
|
+
});
|
|
29590
|
+
}
|
|
29591
|
+
return Response.json({
|
|
29592
|
+
ok: true,
|
|
29593
|
+
v: NODE_RUNTIME_CONTRACT_VERSION,
|
|
29594
|
+
imported
|
|
29595
|
+
});
|
|
29596
|
+
}
|
|
29542
29597
|
const runtimeTopicMatch = runtimePath.match(/^\/topics\/([^/]+)$/);
|
|
29543
29598
|
if (runtimeTopicMatch && req.method === "GET") {
|
|
29544
29599
|
const topic = getTopic(decodeURIComponent(runtimeTopicMatch[1]));
|
|
@@ -45565,4 +45620,4 @@ switch (command) {
|
|
|
45565
45620
|
}
|
|
45566
45621
|
}
|
|
45567
45622
|
|
|
45568
|
-
//# debugId=
|
|
45623
|
+
//# debugId=B66F9D7F6CCE88E564756E2164756E21
|