negotium 0.2.19 → 0.2.21
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 +573 -593
- package/dist/agent-helpers.js.map +17 -17
- package/dist/background-bash.js +3 -2
- package/dist/background-bash.js.map +3 -3
- package/dist/browser-runtime.js +76 -36
- package/dist/browser-runtime.js.map +6 -6
- package/dist/canonical-mcp-bridge.js +1 -1
- package/dist/{chunk-fc58cqry.js → chunk-rhp26p2c.js} +171 -26
- package/dist/{chunk-fc58cqry.js.map → chunk-rhp26p2c.js.map} +6 -5
- package/dist/{chunk-r0xs3t81.js → chunk-s2gez3wg.js} +18 -3
- package/dist/{chunk-r0xs3t81.js.map → chunk-s2gez3wg.js.map} +2 -2
- package/dist/hosted-agent.js +185 -54
- package/dist/hosted-agent.js.map +7 -6
- package/dist/main.js +1209 -1114
- package/dist/main.js.map +25 -25
- package/dist/mcp-catalog.js.map +1 -1
- package/dist/mcp-factories.js +526 -540
- package/dist/mcp-factories.js.map +17 -17
- package/dist/outbox.js.map +1 -1
- package/dist/platform-runtime.js.map +1 -1
- package/dist/prompts.js +3 -2
- package/dist/prompts.js.map +3 -3
- package/dist/query-runtime.js +63 -26
- package/dist/query-runtime.js.map +4 -4
- package/dist/registry.js +4 -3
- package/dist/registry.js.map +3 -3
- package/dist/rollout.js +1 -1
- package/dist/runtime/src/agents/archiver.ts +3 -2
- package/dist/runtime/src/application/switch-topic-access-mode.ts +81 -8
- package/dist/runtime/src/bus.ts +19 -2
- package/dist/runtime/src/mcp/session-comm/runtime.ts +16 -0
- package/dist/runtime/src/platform/config.ts +13 -1
- package/dist/runtime/src/runtime/ask-callbacks.ts +19 -11
- package/dist/runtime/src/runtime/background-sessions.ts +9 -7
- package/dist/runtime/src/runtime/visual-store.ts +31 -23
- package/dist/runtime/src/storage/api-topics.ts +26 -0
- package/dist/runtime/src/storage/browser-profiles.ts +16 -8
- package/dist/runtime/src/storage/runtime-events.ts +30 -20
- package/dist/runtime/src/storage/runtime-gateway-submissions.ts +24 -16
- package/dist/runtime/src/storage/runtime-turn-requests.ts +9 -1
- package/dist/runtime/src/storage/self-schedules.ts +32 -24
- package/dist/runtime/src/storage/storage-host.ts +105 -43
- package/dist/runtime/src/storage/vault.ts +12 -3
- package/dist/runtime/src/version.ts +1 -1
- package/dist/runtime-helpers.js +63 -26
- package/dist/runtime-helpers.js.map +4 -4
- package/dist/sqlite.js +17 -1
- package/dist/sqlite.js.map +2 -2
- package/dist/storage.js +92 -46
- package/dist/storage.js.map +4 -4
- package/dist/types/packages/core/src/storage/api-topics.d.ts +15 -0
- package/dist/types/packages/core/src/storage/storage-host.d.ts +10 -0
- package/dist/types/packages/core/src/version.d.ts +1 -1
- package/dist/vault.js +156 -10
- package/dist/vault.js.map +6 -5
- package/package.json +1 -1
package/dist/storage.js
CHANGED
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
2
4
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
7
18
|
var __export = (target, all) => {
|
|
8
19
|
for (var name in all)
|
|
9
20
|
__defProp(target, name, {
|
|
10
21
|
get: all[name],
|
|
11
22
|
enumerable: true,
|
|
12
23
|
configurable: true,
|
|
13
|
-
set:
|
|
24
|
+
set: (newValue) => all[name] = () => newValue
|
|
14
25
|
});
|
|
15
26
|
};
|
|
16
27
|
var __require = import.meta.require;
|
|
@@ -245,13 +256,29 @@ if (isBun) {
|
|
|
245
256
|
}
|
|
246
257
|
|
|
247
258
|
// ../../packages/core/src/storage/storage-host.ts
|
|
248
|
-
var
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
259
|
+
var STORAGE_HOST_STATE = Symbol.for("negotium.storage-host.state.v1");
|
|
260
|
+
function storageState() {
|
|
261
|
+
const holder = globalThis;
|
|
262
|
+
const existing = holder[STORAGE_HOST_STATE];
|
|
263
|
+
if (existing)
|
|
264
|
+
return existing;
|
|
265
|
+
const created = {
|
|
266
|
+
configuredHost: {},
|
|
267
|
+
fallbackDatabase: null,
|
|
268
|
+
fallbackDatabasePath: null,
|
|
269
|
+
frames: [],
|
|
270
|
+
schemaInitializers: [],
|
|
271
|
+
initializedSchemas: new WeakMap,
|
|
272
|
+
initializingDatabases: new WeakSet
|
|
273
|
+
};
|
|
274
|
+
Object.defineProperty(holder, STORAGE_HOST_STATE, {
|
|
275
|
+
value: created,
|
|
276
|
+
enumerable: false,
|
|
277
|
+
writable: false,
|
|
278
|
+
configurable: false
|
|
279
|
+
});
|
|
280
|
+
return created;
|
|
281
|
+
}
|
|
255
282
|
function envPath(name, fallback) {
|
|
256
283
|
const value = process.env[name]?.trim();
|
|
257
284
|
return resolve(value || fallback);
|
|
@@ -306,36 +333,37 @@ function initializeDatabase(database) {
|
|
|
306
333
|
}
|
|
307
334
|
function defaultDatabase() {
|
|
308
335
|
const path = defaultSessionsDatabasePath();
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
336
|
+
const state = storageState();
|
|
337
|
+
if (state.fallbackDatabase && state.fallbackDatabasePath === path)
|
|
338
|
+
return state.fallbackDatabase;
|
|
339
|
+
if (state.fallbackDatabase)
|
|
340
|
+
state.fallbackDatabase.close();
|
|
313
341
|
mkdirSync2(dirname2(path), { recursive: true });
|
|
314
|
-
fallbackDatabase = new Database(path, { create: true });
|
|
315
|
-
fallbackDatabasePath = path;
|
|
316
|
-
initializeDatabase(fallbackDatabase);
|
|
317
|
-
return fallbackDatabase;
|
|
342
|
+
state.fallbackDatabase = new Database(path, { create: true });
|
|
343
|
+
state.fallbackDatabasePath = path;
|
|
344
|
+
initializeDatabase(state.fallbackDatabase);
|
|
345
|
+
return state.fallbackDatabase;
|
|
318
346
|
}
|
|
319
347
|
function resolveStorageDatabase() {
|
|
320
|
-
return configuredHost.database ?? defaultDatabase();
|
|
348
|
+
return storageState().configuredHost.database ?? defaultDatabase();
|
|
321
349
|
}
|
|
322
350
|
function resolveStorageDataDir() {
|
|
323
|
-
return configuredHost.dataDir ?? defaultDataDir();
|
|
351
|
+
return storageState().configuredHost.dataDir ?? defaultDataDir();
|
|
324
352
|
}
|
|
325
353
|
function resolveStorageLogDir() {
|
|
326
|
-
return configuredHost.logDir ?? defaultLogDir();
|
|
354
|
+
return storageState().configuredHost.logDir ?? defaultLogDir();
|
|
327
355
|
}
|
|
328
356
|
function resolveStorageSessionAsksDir() {
|
|
329
|
-
return configuredHost.sessionAsksDir ?? defaultSessionAsksDir();
|
|
357
|
+
return storageState().configuredHost.sessionAsksDir ?? defaultSessionAsksDir();
|
|
330
358
|
}
|
|
331
359
|
function resolveStorageWorkspaceDir() {
|
|
332
|
-
return configuredHost.workspaceDir ?? defaultWorkspaceDir();
|
|
360
|
+
return storageState().configuredHost.workspaceDir ?? defaultWorkspaceDir();
|
|
333
361
|
}
|
|
334
362
|
function resolveStorageSharedWikiDir() {
|
|
335
|
-
return configuredHost.sharedWikiDir ?? join(resolveStorageWorkspaceDir(), "wiki");
|
|
363
|
+
return storageState().configuredHost.sharedWikiDir ?? join(resolveStorageWorkspaceDir(), "wiki");
|
|
336
364
|
}
|
|
337
365
|
function resolveStorageUsersLogDir() {
|
|
338
|
-
return configuredHost.usersLogDir ?? join(resolveStorageDataDir(), "users");
|
|
366
|
+
return storageState().configuredHost.usersLogDir ?? join(resolveStorageDataDir(), "users");
|
|
339
367
|
}
|
|
340
368
|
var STORAGE_PATH_KEYS = [
|
|
341
369
|
"dataDir",
|
|
@@ -362,50 +390,56 @@ function normalizeStorageHostPatch(options) {
|
|
|
362
390
|
return Object.freeze(patch);
|
|
363
391
|
}
|
|
364
392
|
function refreshConfiguredHost() {
|
|
365
|
-
|
|
393
|
+
const state = storageState();
|
|
394
|
+
state.configuredHost = Object.freeze(Object.assign({}, ...state.frames.filter((frame) => frame.active).map((frame) => frame.patch)));
|
|
366
395
|
}
|
|
367
396
|
function configureStorageHost(options) {
|
|
368
397
|
const frame = { active: true, patch: normalizeStorageHostPatch(options) };
|
|
369
|
-
|
|
398
|
+
storageState().frames.push(frame);
|
|
370
399
|
refreshConfiguredHost();
|
|
371
400
|
return () => {
|
|
372
401
|
if (!frame.active)
|
|
373
402
|
return;
|
|
374
403
|
frame.active = false;
|
|
375
|
-
const
|
|
404
|
+
const frames = storageState().frames;
|
|
405
|
+
const index = frames.indexOf(frame);
|
|
376
406
|
if (index >= 0)
|
|
377
|
-
|
|
407
|
+
frames.splice(index, 1);
|
|
378
408
|
refreshConfiguredHost();
|
|
379
409
|
};
|
|
380
410
|
}
|
|
381
411
|
function resetStorageHost() {
|
|
382
|
-
|
|
412
|
+
const frames = storageState().frames;
|
|
413
|
+
for (const frame of frames)
|
|
383
414
|
frame.active = false;
|
|
384
|
-
|
|
415
|
+
frames.length = 0;
|
|
385
416
|
refreshConfiguredHost();
|
|
386
417
|
}
|
|
387
418
|
function closeStorageDatabase() {
|
|
388
|
-
|
|
419
|
+
const state = storageState();
|
|
420
|
+
if (!state.fallbackDatabase)
|
|
389
421
|
return;
|
|
390
|
-
fallbackDatabase.close();
|
|
391
|
-
fallbackDatabase = null;
|
|
392
|
-
fallbackDatabasePath = null;
|
|
422
|
+
state.fallbackDatabase.close();
|
|
423
|
+
state.fallbackDatabase = null;
|
|
424
|
+
state.fallbackDatabasePath = null;
|
|
393
425
|
}
|
|
394
426
|
function registerStorageSchemaInitializer(initialize, priority = 100) {
|
|
395
|
-
|
|
396
|
-
|
|
427
|
+
const initializers = storageState().schemaInitializers;
|
|
428
|
+
initializers.push({ initialize, priority });
|
|
429
|
+
initializers.sort((a, b) => a.priority - b.priority);
|
|
397
430
|
}
|
|
398
431
|
function ensureStorageSchemas(database = resolveStorageDatabase()) {
|
|
399
|
-
|
|
432
|
+
const state = storageState();
|
|
433
|
+
if (state.initializingDatabases.has(database))
|
|
400
434
|
return;
|
|
401
|
-
let initialized = initializedSchemas.get(database);
|
|
435
|
+
let initialized = state.initializedSchemas.get(database);
|
|
402
436
|
if (!initialized) {
|
|
403
437
|
initialized = new Set;
|
|
404
|
-
initializedSchemas.set(database, initialized);
|
|
438
|
+
state.initializedSchemas.set(database, initialized);
|
|
405
439
|
}
|
|
406
|
-
initializingDatabases.add(database);
|
|
440
|
+
state.initializingDatabases.add(database);
|
|
407
441
|
try {
|
|
408
|
-
for (const entry of schemaInitializers) {
|
|
442
|
+
for (const entry of state.schemaInitializers) {
|
|
409
443
|
if (initialized.has(entry.initialize))
|
|
410
444
|
continue;
|
|
411
445
|
initialized.add(entry.initialize);
|
|
@@ -417,7 +451,7 @@ function ensureStorageSchemas(database = resolveStorageDatabase()) {
|
|
|
417
451
|
}
|
|
418
452
|
}
|
|
419
453
|
} finally {
|
|
420
|
-
initializingDatabases.delete(database);
|
|
454
|
+
state.initializingDatabases.delete(database);
|
|
421
455
|
}
|
|
422
456
|
}
|
|
423
457
|
var internalStorageDatabase = new Proxy({}, {
|
|
@@ -1171,6 +1205,7 @@ var exports_api_topics = {};
|
|
|
1171
1205
|
__export(exports_api_topics, {
|
|
1172
1206
|
upsertTopic: () => upsertTopic,
|
|
1173
1207
|
setTopicSessionId: () => setTopicSessionId,
|
|
1208
|
+
setTopicAccessModes: () => setTopicAccessModes,
|
|
1174
1209
|
setApiTopicAgent: () => setApiTopicAgent,
|
|
1175
1210
|
revokeSubagentTellTarget: () => revokeSubagentTellTarget,
|
|
1176
1211
|
reparentTopicChildren: () => reparentTopicChildren,
|
|
@@ -1651,6 +1686,16 @@ function upsertTopic(t) {
|
|
|
1651
1686
|
}
|
|
1652
1687
|
})();
|
|
1653
1688
|
}
|
|
1689
|
+
function setTopicAccessModes(topicIds, accessMode) {
|
|
1690
|
+
if (topicIds.length === 0)
|
|
1691
|
+
return;
|
|
1692
|
+
const normalized = normalizeTopicAccessMode(accessMode);
|
|
1693
|
+
db.transaction(() => {
|
|
1694
|
+
const update = db.query("UPDATE api_topics SET access_mode = ? WHERE id = ?");
|
|
1695
|
+
for (const topicId of topicIds)
|
|
1696
|
+
update.run(normalized, topicId);
|
|
1697
|
+
})();
|
|
1698
|
+
}
|
|
1654
1699
|
function listTopics() {
|
|
1655
1700
|
const rows = db.query("SELECT * FROM api_topics ORDER BY last_message_at DESC").all();
|
|
1656
1701
|
const participants = getAllTopicParticipants();
|
|
@@ -4017,6 +4062,7 @@ export {
|
|
|
4017
4062
|
setTopicAgentAndSession,
|
|
4018
4063
|
setTopicAgentAndClearSession,
|
|
4019
4064
|
setTopicAgent,
|
|
4065
|
+
setTopicAccessModes,
|
|
4020
4066
|
setSessionForTopic,
|
|
4021
4067
|
setLastShownConfig,
|
|
4022
4068
|
setGlobalAiName,
|
|
@@ -4172,4 +4218,4 @@ export {
|
|
|
4172
4218
|
ConversationLogDivergedError
|
|
4173
4219
|
};
|
|
4174
4220
|
|
|
4175
|
-
//# debugId=
|
|
4221
|
+
//# debugId=F0363958E9B9826264756E2164756E21
|