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.
Files changed (56) hide show
  1. package/dist/agent-helpers.js +573 -593
  2. package/dist/agent-helpers.js.map +17 -17
  3. package/dist/background-bash.js +3 -2
  4. package/dist/background-bash.js.map +3 -3
  5. package/dist/browser-runtime.js +76 -36
  6. package/dist/browser-runtime.js.map +6 -6
  7. package/dist/canonical-mcp-bridge.js +1 -1
  8. package/dist/{chunk-fc58cqry.js → chunk-rhp26p2c.js} +171 -26
  9. package/dist/{chunk-fc58cqry.js.map → chunk-rhp26p2c.js.map} +6 -5
  10. package/dist/{chunk-r0xs3t81.js → chunk-s2gez3wg.js} +18 -3
  11. package/dist/{chunk-r0xs3t81.js.map → chunk-s2gez3wg.js.map} +2 -2
  12. package/dist/hosted-agent.js +185 -54
  13. package/dist/hosted-agent.js.map +7 -6
  14. package/dist/main.js +1209 -1114
  15. package/dist/main.js.map +25 -25
  16. package/dist/mcp-catalog.js.map +1 -1
  17. package/dist/mcp-factories.js +526 -540
  18. package/dist/mcp-factories.js.map +17 -17
  19. package/dist/outbox.js.map +1 -1
  20. package/dist/platform-runtime.js.map +1 -1
  21. package/dist/prompts.js +3 -2
  22. package/dist/prompts.js.map +3 -3
  23. package/dist/query-runtime.js +63 -26
  24. package/dist/query-runtime.js.map +4 -4
  25. package/dist/registry.js +4 -3
  26. package/dist/registry.js.map +3 -3
  27. package/dist/rollout.js +1 -1
  28. package/dist/runtime/src/agents/archiver.ts +3 -2
  29. package/dist/runtime/src/application/switch-topic-access-mode.ts +81 -8
  30. package/dist/runtime/src/bus.ts +19 -2
  31. package/dist/runtime/src/mcp/session-comm/runtime.ts +16 -0
  32. package/dist/runtime/src/platform/config.ts +13 -1
  33. package/dist/runtime/src/runtime/ask-callbacks.ts +19 -11
  34. package/dist/runtime/src/runtime/background-sessions.ts +9 -7
  35. package/dist/runtime/src/runtime/visual-store.ts +31 -23
  36. package/dist/runtime/src/storage/api-topics.ts +26 -0
  37. package/dist/runtime/src/storage/browser-profiles.ts +16 -8
  38. package/dist/runtime/src/storage/runtime-events.ts +30 -20
  39. package/dist/runtime/src/storage/runtime-gateway-submissions.ts +24 -16
  40. package/dist/runtime/src/storage/runtime-turn-requests.ts +9 -1
  41. package/dist/runtime/src/storage/self-schedules.ts +32 -24
  42. package/dist/runtime/src/storage/storage-host.ts +105 -43
  43. package/dist/runtime/src/storage/vault.ts +12 -3
  44. package/dist/runtime/src/version.ts +1 -1
  45. package/dist/runtime-helpers.js +63 -26
  46. package/dist/runtime-helpers.js.map +4 -4
  47. package/dist/sqlite.js +17 -1
  48. package/dist/sqlite.js.map +2 -2
  49. package/dist/storage.js +92 -46
  50. package/dist/storage.js.map +4 -4
  51. package/dist/types/packages/core/src/storage/api-topics.d.ts +15 -0
  52. package/dist/types/packages/core/src/storage/storage-host.d.ts +10 -0
  53. package/dist/types/packages/core/src/version.d.ts +1 -1
  54. package/dist/vault.js +156 -10
  55. package/dist/vault.js.map +6 -5
  56. 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 __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
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: __exportSetter.bind(all, name)
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 configuredHost = {};
249
- var fallbackDatabase = null;
250
- var fallbackDatabasePath = null;
251
- var storageHostFrames = [];
252
- var schemaInitializers = [];
253
- var initializedSchemas = new WeakMap;
254
- var initializingDatabases = new WeakSet;
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
- if (fallbackDatabase && fallbackDatabasePath === path)
310
- return fallbackDatabase;
311
- if (fallbackDatabase)
312
- fallbackDatabase.close();
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
- configuredHost = Object.freeze(Object.assign({}, ...storageHostFrames.filter((frame) => frame.active).map((frame) => frame.patch)));
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
- storageHostFrames.push(frame);
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 index = storageHostFrames.indexOf(frame);
404
+ const frames = storageState().frames;
405
+ const index = frames.indexOf(frame);
376
406
  if (index >= 0)
377
- storageHostFrames.splice(index, 1);
407
+ frames.splice(index, 1);
378
408
  refreshConfiguredHost();
379
409
  };
380
410
  }
381
411
  function resetStorageHost() {
382
- for (const frame of storageHostFrames)
412
+ const frames = storageState().frames;
413
+ for (const frame of frames)
383
414
  frame.active = false;
384
- storageHostFrames.length = 0;
415
+ frames.length = 0;
385
416
  refreshConfiguredHost();
386
417
  }
387
418
  function closeStorageDatabase() {
388
- if (!fallbackDatabase)
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
- schemaInitializers.push({ initialize, priority });
396
- schemaInitializers.sort((a, b) => a.priority - b.priority);
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
- if (initializingDatabases.has(database))
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=D0FC18F9A934EFB264756E2164756E21
4221
+ //# debugId=F0363958E9B9826264756E2164756E21