negotium 0.1.39 → 0.1.41
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 +67 -54
- package/dist/agent-helpers.js.map +10 -10
- package/dist/browser-runtime.js +43 -33
- package/dist/browser-runtime.js.map +5 -5
- package/dist/hosted-agent.js +2 -2
- package/dist/hosted-agent.js.map +2 -2
- package/dist/main.js +68 -55
- package/dist/main.js.map +9 -9
- package/dist/mcp-factories.js +66 -54
- package/dist/mcp-factories.js.map +9 -9
- package/dist/prompts.js +7 -4
- package/dist/prompts.js.map +3 -3
- package/dist/query-runtime.js +31 -23
- package/dist/query-runtime.js.map +4 -4
- package/dist/runtime/src/agents/mcp-tools/ask-user.ts +30 -15
- package/dist/runtime/src/agents/public-helpers.ts +1 -0
- package/dist/runtime/src/prompts/builders.ts +13 -1
- package/dist/runtime/src/runtime/background-sessions.ts +4 -2
- package/dist/runtime/src/storage/runtime-leases.ts +16 -15
- package/dist/runtime/src/storage/runtime-process-leases.ts +13 -12
- package/dist/runtime/src/storage/runtime-topic-state.ts +12 -9
- package/dist/runtime/src/storage/storage-public.ts +4 -0
- package/dist/runtime/src/version.ts +1 -1
- package/dist/storage.js +419 -1
- package/dist/storage.js.map +7 -3
- package/dist/types/packages/core/src/agents/mcp-tools/ask-user.d.ts +14 -0
- package/dist/types/packages/core/src/agents/public-helpers.d.ts +1 -1
- package/dist/types/packages/core/src/prompts/builders.d.ts +8 -0
- package/dist/types/packages/core/src/storage/storage-public.d.ts +4 -0
- package/dist/types/packages/core/src/version.d.ts +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -4012,7 +4012,7 @@ var exports_version = {};
|
|
|
4012
4012
|
__export(exports_version, {
|
|
4013
4013
|
NEGOTIUM_VERSION: () => NEGOTIUM_VERSION
|
|
4014
4014
|
});
|
|
4015
|
-
var NEGOTIUM_VERSION = "0.1.
|
|
4015
|
+
var NEGOTIUM_VERSION = "0.1.41";
|
|
4016
4016
|
|
|
4017
4017
|
// ../../packages/core/src/agents/codex-native-multi-agent.ts
|
|
4018
4018
|
import { spawn as spawn3 } from "child_process";
|
|
@@ -7359,15 +7359,18 @@ function beginRuntimeTopicMaintenance(topicId, options = {}) {
|
|
|
7359
7359
|
var TOPIC_MAINTENANCE_STALE_MS = 30000, TOPIC_MAINTENANCE_HEARTBEAT_MS = 1000;
|
|
7360
7360
|
var init_runtime_topic_state = __esm(async () => {
|
|
7361
7361
|
await init_forum_db();
|
|
7362
|
-
|
|
7363
|
-
|
|
7364
|
-
|
|
7365
|
-
|
|
7366
|
-
|
|
7367
|
-
|
|
7368
|
-
|
|
7369
|
-
|
|
7370
|
-
|
|
7362
|
+
await init_storage_host();
|
|
7363
|
+
registerStorageSchemaInitializer((database) => {
|
|
7364
|
+
database.exec(`
|
|
7365
|
+
CREATE TABLE IF NOT EXISTS runtime_topic_state (
|
|
7366
|
+
topic_id TEXT PRIMARY KEY,
|
|
7367
|
+
epoch INTEGER NOT NULL DEFAULT 0,
|
|
7368
|
+
maintenance INTEGER NOT NULL DEFAULT 0 CHECK (maintenance IN (0, 1)),
|
|
7369
|
+
maintenance_owner TEXT,
|
|
7370
|
+
heartbeat_at INTEGER
|
|
7371
|
+
)
|
|
7372
|
+
`);
|
|
7373
|
+
}, 32);
|
|
7371
7374
|
});
|
|
7372
7375
|
|
|
7373
7376
|
// ../../packages/core/src/storage/runtime-leases.ts
|
|
@@ -7455,20 +7458,23 @@ var RUNTIME_INSTANCE_ID, TURN_LEASE_STALE_MS = 1e4;
|
|
|
7455
7458
|
var init_runtime_leases = __esm(async () => {
|
|
7456
7459
|
await init_forum_db();
|
|
7457
7460
|
await init_runtime_topic_state();
|
|
7461
|
+
await init_storage_host();
|
|
7458
7462
|
RUNTIME_INSTANCE_ID = `${process.pid}-${randomUUID5()}`;
|
|
7459
|
-
|
|
7460
|
-
|
|
7461
|
-
|
|
7462
|
-
|
|
7463
|
-
|
|
7464
|
-
|
|
7465
|
-
|
|
7466
|
-
|
|
7467
|
-
|
|
7468
|
-
|
|
7469
|
-
|
|
7470
|
-
|
|
7471
|
-
|
|
7463
|
+
registerStorageSchemaInitializer((database) => {
|
|
7464
|
+
database.exec(`
|
|
7465
|
+
CREATE TABLE IF NOT EXISTS runtime_turn_leases (
|
|
7466
|
+
topic_id TEXT PRIMARY KEY,
|
|
7467
|
+
query_id TEXT NOT NULL UNIQUE,
|
|
7468
|
+
owner_id TEXT NOT NULL,
|
|
7469
|
+
origin TEXT NOT NULL,
|
|
7470
|
+
started_at INTEGER NOT NULL,
|
|
7471
|
+
heartbeat_at INTEGER NOT NULL,
|
|
7472
|
+
abort_requested INTEGER NOT NULL DEFAULT 0 CHECK (abort_requested IN (0, 1)),
|
|
7473
|
+
abort_reason TEXT CHECK (abort_reason IS NULL OR abort_reason IN ('internal', 'external'))
|
|
7474
|
+
);
|
|
7475
|
+
CREATE INDEX IF NOT EXISTS idx_runtime_turn_leases_heartbeat ON runtime_turn_leases(heartbeat_at);
|
|
7476
|
+
`);
|
|
7477
|
+
}, 33);
|
|
7472
7478
|
});
|
|
7473
7479
|
|
|
7474
7480
|
// ../../packages/core/src/storage/runtime-process-leases.ts
|
|
@@ -7614,16 +7620,19 @@ var PROCESS_LEASE_STALE_MS = 5000, PROCESS_LEASE_HEARTBEAT_MS = 1000;
|
|
|
7614
7620
|
var init_runtime_process_leases = __esm(async () => {
|
|
7615
7621
|
await init_forum_db();
|
|
7616
7622
|
await init_runtime_leases();
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7623
|
+
await init_storage_host();
|
|
7624
|
+
registerStorageSchemaInitializer((database) => {
|
|
7625
|
+
database.exec(`
|
|
7626
|
+
CREATE TABLE IF NOT EXISTS runtime_process_leases (
|
|
7627
|
+
role TEXT PRIMARY KEY,
|
|
7628
|
+
owner_id TEXT NOT NULL UNIQUE,
|
|
7629
|
+
pid INTEGER NOT NULL,
|
|
7630
|
+
started_at INTEGER NOT NULL,
|
|
7631
|
+
heartbeat_at INTEGER NOT NULL
|
|
7632
|
+
);
|
|
7633
|
+
CREATE INDEX IF NOT EXISTS idx_runtime_process_leases_heartbeat ON runtime_process_leases(heartbeat_at);
|
|
7634
|
+
`);
|
|
7635
|
+
}, 34);
|
|
7627
7636
|
});
|
|
7628
7637
|
|
|
7629
7638
|
// ../../packages/core/src/agents/mcp-tools/ask-user.ts
|
|
@@ -7941,7 +7950,7 @@ function cancelPendingAskUserQuestions(topicId, queryId) {
|
|
|
7941
7950
|
function createAskUserToolDefinition(ctx) {
|
|
7942
7951
|
return defaultAskUserRuntime.createToolDefinition(ctx);
|
|
7943
7952
|
}
|
|
7944
|
-
var MAX_QUESTION_CHARS = 2000, MAX_CHOICE_LABEL_CHARS = 128, MAX_CHOICE_DESCRIPTION_CHARS = 500, MAX_CHOICES = 12, MAX_IDEMPOTENCY_KEY_CHARS = 200, ASK_GATE_OWNER_ID, ASK_GATE_LEASE_ROLE_PREFIX = "ask-user-gate:", defaultAskUserRuntime;
|
|
7953
|
+
var MAX_QUESTION_CHARS = 2000, MAX_CHOICE_LABEL_CHARS = 128, MAX_CHOICE_DESCRIPTION_CHARS = 500, MAX_CHOICES = 12, MAX_IDEMPOTENCY_KEY_CHARS = 200, ASK_GATE_OWNER_ID, ASK_GATE_LEASE_ROLE_PREFIX = "ask-user-gate:", defaultAskUserDurabilityHost, defaultAskUserRuntime;
|
|
7945
7954
|
var init_ask_user = __esm(async () => {
|
|
7946
7955
|
init_common();
|
|
7947
7956
|
await init_bus();
|
|
@@ -7951,6 +7960,21 @@ var init_ask_user = __esm(async () => {
|
|
|
7951
7960
|
await init_ask_user_gates();
|
|
7952
7961
|
await init_runtime_process_leases();
|
|
7953
7962
|
ASK_GATE_OWNER_ID = `ask-user-${process.pid}-${randomUUID6()}`;
|
|
7963
|
+
defaultAskUserDurabilityHost = {
|
|
7964
|
+
gates: {
|
|
7965
|
+
prepare: prepareAskUserGate,
|
|
7966
|
+
claimAndSelect: claimAskUserGateAndSelect,
|
|
7967
|
+
cancel: cancelAskUserGate,
|
|
7968
|
+
quarantine: quarantineAskUserGate,
|
|
7969
|
+
quarantineForeign: quarantineForeignAskUserGates
|
|
7970
|
+
},
|
|
7971
|
+
processLeases: {
|
|
7972
|
+
acquire: (role, ownerId) => acquireRuntimeProcessLease(role, { ownerId }),
|
|
7973
|
+
list: listRuntimeProcessLeases,
|
|
7974
|
+
isAlive: isRuntimeProcessLeaseAlive,
|
|
7975
|
+
removeDead: removeDeadRuntimeProcessLeases
|
|
7976
|
+
}
|
|
7977
|
+
};
|
|
7954
7978
|
defaultAskUserRuntime = createAskUserRuntime({
|
|
7955
7979
|
messaging: {
|
|
7956
7980
|
persistence: {
|
|
@@ -7969,21 +7993,7 @@ var init_ask_user = __esm(async () => {
|
|
|
7969
7993
|
getTopic,
|
|
7970
7994
|
getConfig: getApiTopicConfig
|
|
7971
7995
|
},
|
|
7972
|
-
durability:
|
|
7973
|
-
gates: {
|
|
7974
|
-
prepare: prepareAskUserGate,
|
|
7975
|
-
claimAndSelect: claimAskUserGateAndSelect,
|
|
7976
|
-
cancel: cancelAskUserGate,
|
|
7977
|
-
quarantine: quarantineAskUserGate,
|
|
7978
|
-
quarantineForeign: quarantineForeignAskUserGates
|
|
7979
|
-
},
|
|
7980
|
-
processLeases: {
|
|
7981
|
-
acquire: (role, ownerId) => acquireRuntimeProcessLease(role, { ownerId }),
|
|
7982
|
-
list: listRuntimeProcessLeases,
|
|
7983
|
-
isAlive: isRuntimeProcessLeaseAlive,
|
|
7984
|
-
removeDead: removeDeadRuntimeProcessLeases
|
|
7985
|
-
}
|
|
7986
|
-
},
|
|
7996
|
+
durability: defaultAskUserDurabilityHost,
|
|
7987
7997
|
runtime: {
|
|
7988
7998
|
ownerId: ASK_GATE_OWNER_ID,
|
|
7989
7999
|
createId: randomUUID6,
|
|
@@ -9993,7 +10003,8 @@ function buildRuntimeToolSection(opts, extensions) {
|
|
|
9993
10003
|
currentModel,
|
|
9994
10004
|
currentEffort,
|
|
9995
10005
|
subagentParentTitle,
|
|
9996
|
-
subagentReportMode = "auto"
|
|
10006
|
+
subagentReportMode = "auto",
|
|
10007
|
+
scheduleSelf = true
|
|
9997
10008
|
} = opts;
|
|
9998
10009
|
const runtimeNamespace = "mcp__runtime";
|
|
9999
10010
|
const taskNamespace = "mcp__task";
|
|
@@ -10041,7 +10052,7 @@ function buildRuntimeToolSection(opts, extensions) {
|
|
|
10041
10052
|
askUserToolLine,
|
|
10042
10053
|
'Do not use provider built-in "AskUserQuestion"; it is disabled or unsupported in this headless chat runtime. Use the runtime ask_user_question tool instead.'
|
|
10043
10054
|
],
|
|
10044
|
-
scheduleSelfToolLine,
|
|
10055
|
+
...scheduleSelf ? [scheduleSelfToolLine] : [],
|
|
10045
10056
|
...visualTools && extensions.visualDesignGuide ? ["", extensions.visualDesignGuide] : [],
|
|
10046
10057
|
...extensions.render("after-runtime-tools"),
|
|
10047
10058
|
"",
|
|
@@ -10112,6 +10123,7 @@ function buildRuntimeToolSection(opts, extensions) {
|
|
|
10112
10123
|
}
|
|
10113
10124
|
function createPromptBuilders(host = {}) {
|
|
10114
10125
|
const loadTemplate = host.loadTemplate;
|
|
10126
|
+
const scheduleSelf = host.scheduleSelf ?? true;
|
|
10115
10127
|
const sections = (host.extraSections ?? []).map((section) => {
|
|
10116
10128
|
const render = section.render;
|
|
10117
10129
|
const snapshot = {
|
|
@@ -10161,7 +10173,8 @@ function createPromptBuilders(host = {}) {
|
|
|
10161
10173
|
currentModel: opts.currentModel,
|
|
10162
10174
|
currentEffort: opts.currentEffort,
|
|
10163
10175
|
subagentParentTitle: opts.subagentParentTitle,
|
|
10164
|
-
subagentReportMode: opts.subagentReportMode
|
|
10176
|
+
subagentReportMode: opts.subagentReportMode,
|
|
10177
|
+
scheduleSelf
|
|
10165
10178
|
}, {
|
|
10166
10179
|
render,
|
|
10167
10180
|
visualDesignGuide: template({
|
|
@@ -11575,7 +11588,8 @@ function listBackgroundSessionsForUser(userId) {
|
|
|
11575
11588
|
const providedCronTopicIds = new Set(provided.filter((session) => session.kind === "cron").map((session) => session.topicId).filter((topicId) => Boolean(topicId)));
|
|
11576
11589
|
const cron = listRuntimeTurnLeases().filter((lease) => lease.origin.startsWith("cron:")).flatMap((lease) => {
|
|
11577
11590
|
const topic = getTopic(lease.topicId);
|
|
11578
|
-
|
|
11591
|
+
const isParticipant = topic?.participants.some((participant) => participant.userId === userId);
|
|
11592
|
+
if (!topic || !isParticipant || providedCronTopicIds.has(lease.topicId)) {
|
|
11579
11593
|
return [];
|
|
11580
11594
|
}
|
|
11581
11595
|
const progress = backgroundSessionProgress(lease.topicId, lease.queryId);
|
|
@@ -11603,7 +11617,6 @@ var init_background_sessions = __esm(async () => {
|
|
|
11603
11617
|
await init_api_topics();
|
|
11604
11618
|
await init_runtime_events();
|
|
11605
11619
|
await init_runtime_leases();
|
|
11606
|
-
await init_derive();
|
|
11607
11620
|
init_background_session_policy();
|
|
11608
11621
|
providers = new Set;
|
|
11609
11622
|
transientSessions = new Map;
|
|
@@ -37924,4 +37937,4 @@ switch (command) {
|
|
|
37924
37937
|
}
|
|
37925
37938
|
}
|
|
37926
37939
|
|
|
37927
|
-
//# debugId=
|
|
37940
|
+
//# debugId=9F0D700EF3C5CB0E64756E2164756E21
|