negotium 0.22.4 → 0.22.6

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 (70) hide show
  1. package/dist/agent-helpers.js +408 -1301
  2. package/dist/agent-helpers.js.map +6 -6
  3. package/dist/background-bash.js +12 -12
  4. package/dist/background-bash.js.map +2 -2
  5. package/dist/browser-runtime.js +42 -44
  6. package/dist/browser-runtime.js.map +2 -2
  7. package/dist/canonical-mcp-bridge.js +8 -9
  8. package/dist/canonical-mcp-bridge.js.map +1 -1
  9. package/dist/{chunk-y4tyc603.js → chunk-1e0nxy7p.js} +13 -13
  10. package/dist/chunk-1e0nxy7p.js.map +10 -0
  11. package/dist/{chunk-9zn0bkc9.js → chunk-1mba9m1j.js} +77 -116
  12. package/dist/{chunk-9zn0bkc9.js.map → chunk-1mba9m1j.js.map} +2 -2
  13. package/dist/{chunk-rwj7x5pg.js → chunk-9a50csg6.js} +123 -121
  14. package/dist/{chunk-rwj7x5pg.js.map → chunk-9a50csg6.js.map} +7 -7
  15. package/dist/chunk-bnyvxss3.js +77 -0
  16. package/dist/{chunk-q5djsg78.js.map → chunk-bnyvxss3.js.map} +1 -1
  17. package/dist/{chunk-0jtan6fd.js → chunk-e59kzyvy.js} +4 -5
  18. package/dist/{chunk-0jtan6fd.js.map → chunk-e59kzyvy.js.map} +2 -2
  19. package/dist/{chunk-f7p0h1gs.js → chunk-ww8a4ej4.js} +5 -5
  20. package/dist/{chunk-f7p0h1gs.js.map → chunk-ww8a4ej4.js.map} +2 -2
  21. package/dist/hosted-agent.js +127 -124
  22. package/dist/hosted-agent.js.map +4 -4
  23. package/dist/main.js +3327 -5138
  24. package/dist/main.js.map +10 -10
  25. package/dist/mcp-catalog.js +4 -4
  26. package/dist/mcp-catalog.js.map +1 -1
  27. package/dist/mcp-factories.js +630 -1515
  28. package/dist/mcp-factories.js.map +6 -6
  29. package/dist/mcp-servers.js +5 -5
  30. package/dist/mcp-servers.js.map +1 -1
  31. package/dist/media.js +3 -3
  32. package/dist/media.js.map +1 -1
  33. package/dist/outbox.js +15 -15
  34. package/dist/outbox.js.map +2 -2
  35. package/dist/platform-runtime.js +7 -7
  36. package/dist/platform-runtime.js.map +1 -1
  37. package/dist/prompts.js +6 -6
  38. package/dist/prompts.js.map +2 -2
  39. package/dist/query-runtime.js +16 -18
  40. package/dist/query-runtime.js.map +2 -2
  41. package/dist/registry.js +19 -20
  42. package/dist/registry.js.map +2 -2
  43. package/dist/rollout.js +41 -41
  44. package/dist/rollout.js.map +2 -2
  45. package/dist/runtime/src/agents/rollout/claude.ts +6 -1
  46. package/dist/runtime/src/application/submit-runtime-gateway-turn.ts +6 -4
  47. package/dist/runtime/src/node-host.ts +1 -0
  48. package/dist/runtime/src/platform/mcp-config.ts +60 -28
  49. package/dist/runtime/src/runtime/turn-runner.ts +9 -4
  50. package/dist/runtime/src/topics/update.ts +20 -0
  51. package/dist/runtime/src/version.ts +1 -1
  52. package/dist/runtime-gateway.js +12 -12
  53. package/dist/runtime-gateway.js.map +2 -2
  54. package/dist/runtime-helpers.js +52 -54
  55. package/dist/runtime-helpers.js.map +2 -2
  56. package/dist/sqlite.js +3 -5
  57. package/dist/sqlite.js.map +2 -2
  58. package/dist/storage.js +4831 -4802
  59. package/dist/storage.js.map +2 -2
  60. package/dist/types/packages/core/src/agents/rollout/claude.d.ts +5 -0
  61. package/dist/types/packages/core/src/platform/mcp-config.d.ts +8 -0
  62. package/dist/types/packages/core/src/runtime/turn-runner.d.ts +6 -2
  63. package/dist/types/packages/core/src/version.d.ts +1 -1
  64. package/dist/vault.js +20 -22
  65. package/dist/vault.js.map +2 -2
  66. package/package.json +1 -1
  67. package/dist/chunk-2mx7fq49.js +0 -6
  68. package/dist/chunk-2mx7fq49.js.map +0 -9
  69. package/dist/chunk-q5djsg78.js +0 -200
  70. package/dist/chunk-y4tyc603.js.map +0 -10
package/dist/registry.js CHANGED
@@ -1,23 +1,22 @@
1
1
  // @bun
2
- import {
3
- encodeClaudeCwd,
4
- writeClaudeRollout
5
- } from "./chunk-y4tyc603.js";
6
2
  import {
7
3
  CLAUDE_EFFORT_VALUES,
8
4
  CODEX_EFFORT_VALUES,
9
5
  MAESTRO_EFFORT_VALUES,
10
- MODEL_FABLE,
11
- MODEL_OPUS,
6
+ logger,
12
7
  MODEL_SONNET,
13
- __require,
8
+ MODEL_OPUS,
9
+ MODEL_FABLE,
14
10
  assertUuidLike,
15
11
  ensureCwdExists,
16
- extractChatPairs,
12
+ extractChatPairs2,
17
13
  hostedCodexHomePath,
18
- logger,
19
- writeCodexRollout
20
- } from "./chunk-rwj7x5pg.js";
14
+ writeCodexRollout2
15
+ } from "./chunk-9a50csg6.js";
16
+ import {
17
+ encodeClaudeCwd2,
18
+ writeClaudeRollout2
19
+ } from "./chunk-1e0nxy7p.js";
21
20
 
22
21
  // ../../packages/core/src/agents/claude-registry.ts
23
22
  import { existsSync, mkdirSync, readdirSync, renameSync, unlinkSync } from "fs";
@@ -50,7 +49,7 @@ var claudeRegistry = {
50
49
  };
51
50
  var claudeRegistryOperations = {
52
51
  writeRollout(opts) {
53
- const { sessionId, rolloutPath } = writeClaudeRollout({
52
+ const { sessionId, rolloutPath } = writeClaudeRollout2({
54
53
  cwd: opts.cwd,
55
54
  entries: opts.entries,
56
55
  model: claudeRegistry.expandModelAlias(opts.model ?? claudeRegistry.defaultModel),
@@ -64,7 +63,7 @@ var claudeRegistryOperations = {
64
63
  ...title ? { title } : {}
65
64
  });
66
65
  const projectsRoot = join(homedir(), ".claude", "projects");
67
- const destDir = join(projectsRoot, encodeClaudeCwd(cwd));
66
+ const destDir = join(projectsRoot, encodeClaudeCwd2(cwd));
68
67
  const destPath = join(destDir, `${result.sessionId}.jsonl`);
69
68
  if (!existsSync(destPath)) {
70
69
  const sourcePath = readdirSync(projectsRoot).map((d) => join(projectsRoot, d, `${result.sessionId}.jsonl`)).find((p) => existsSync(p));
@@ -80,7 +79,7 @@ var claudeRegistryOperations = {
80
79
  };
81
80
  },
82
81
  async cleanupRollouts({ cwd, sessionIds }) {
83
- const projectsDir = join(homedir(), ".claude", "projects", encodeClaudeCwd(cwd));
82
+ const projectsDir = join(homedir(), ".claude", "projects", encodeClaudeCwd2(cwd));
84
83
  const failures = [];
85
84
  for (const sid of sessionIds) {
86
85
  const path = join(projectsDir, `${sid}.jsonl`);
@@ -122,7 +121,7 @@ var codexRegistry = {
122
121
  };
123
122
  var codexRegistryOperations = {
124
123
  writeRollout(opts) {
125
- const { threadId, rolloutPath } = writeCodexRollout({
124
+ const { threadId, rolloutPath } = writeCodexRollout2({
126
125
  cwd: opts.cwd,
127
126
  entries: opts.entries,
128
127
  model: opts.model ?? codexRegistry.defaultModel,
@@ -132,7 +131,7 @@ var codexRegistryOperations = {
132
131
  return { sessionId: threadId, rolloutPath };
133
132
  },
134
133
  async forkSession({ parentSessionId }) {
135
- const { forkCodexSession } = await import("./chunk-0jtan6fd.js");
134
+ const { forkCodexSession } = await import("./chunk-e59kzyvy.js");
136
135
  return await forkCodexSession(parentSessionId);
137
136
  },
138
137
  async cleanupRollouts({ sessionIds }) {
@@ -233,7 +232,7 @@ function writeRollout(options) {
233
232
  ensureCwdExists(options.cwd);
234
233
  const path = maestroSessionPath(sessionId);
235
234
  mkdirSync2(maestroSessionsDir(), { recursive: true });
236
- const messages = extractChatPairs(options.entries).flatMap((pair) => [
235
+ const messages = extractChatPairs2(options.entries).flatMap((pair) => [
237
236
  { role: "user", content: nonEmptyTurnText(pair.userText) },
238
237
  { role: "assistant", content: nonEmptyTurnText(pair.assistantText) }
239
238
  ]);
@@ -329,8 +328,8 @@ function getRegistryOperations(agent) {
329
328
  var getRegistry2 = (agent) => getRegistry(agent);
330
329
  var getRegistryOperations2 = (agent) => getRegistryOperations(agent);
331
330
  export {
332
- getRegistryOperations2 as getRegistryOperations,
333
- getRegistry2 as getRegistry
331
+ getRegistry2 as getRegistry,
332
+ getRegistryOperations2 as getRegistryOperations
334
333
  };
335
334
 
336
- //# debugId=FF2E0073AF14F8B464756E2164756E21
335
+ //# debugId=25A9BDC88E6483FA64756E2164756E21
@@ -8,7 +8,7 @@
8
8
  "import { claudeRegistry, claudeRegistryOperations } from \"#agents/claude-registry\";\nimport { codexRegistry, codexRegistryOperations } from \"#agents/codex-registry\";\nimport type { AgentRegistry, AgentRegistryOperations } from \"#agents/contracts\";\nimport { maestroRegistry, maestroRegistryOperations } from \"#agents/maestro-registry\";\nimport type { AgentKind } from \"#types\";\n\nexport type {\n AgentRegistry,\n AgentRegistryOperations,\n CleanupRolloutsOptions,\n ForkRegistryOptions,\n ForkRegistryResult,\n WriteRolloutOptions,\n WriteRolloutResult,\n} from \"#agents/contracts\";\n\nconst REGISTRIES: Record<AgentKind, AgentRegistry> = {\n claude: claudeRegistry,\n codex: codexRegistry,\n maestro: maestroRegistry,\n};\n\nexport function getRegistry(agent: AgentKind): AgentRegistry {\n return REGISTRIES[agent];\n}\n\nconst OPERATIONS: Record<AgentKind, AgentRegistryOperations> = {\n claude: claudeRegistryOperations,\n codex: codexRegistryOperations,\n maestro: maestroRegistryOperations,\n};\n\nexport function getRegistryOperations(agent: AgentKind): AgentRegistryOperations {\n return OPERATIONS[agent];\n}\n",
9
9
  "import {\n type AgentRegistry,\n type AgentRegistryOperations,\n type CleanupRolloutsOptions,\n type ForkRegistryOptions,\n type ForkRegistryResult,\n getRegistry as resolveCoreRegistry,\n getRegistryOperations as resolveCoreRegistryOperations,\n type WriteRolloutOptions,\n type WriteRolloutResult,\n} from \"@negotium/core/registry\";\n\nexport type {\n AgentRegistry,\n AgentRegistryOperations,\n CleanupRolloutsOptions,\n ForkRegistryOptions,\n ForkRegistryResult,\n WriteRolloutOptions,\n WriteRolloutResult,\n};\n\nexport const getRegistry: typeof resolveCoreRegistry = (agent) => resolveCoreRegistry(agent);\n\nexport const getRegistryOperations: typeof resolveCoreRegistryOperations = (agent) =>\n resolveCoreRegistryOperations(agent);\n"
10
10
  ],
11
- "mappings": "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",
12
- "debugId": "FF2E0073AF14F8B464756E2164756E21",
11
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAOA,IAAM,YAAoC;AAAA,EACxC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT;AAEA,IAAM,gBAAgB,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC;AACpD,IAAM,gBAAgB,IAAI,IAAiB,oBAAoB;AAExD,IAAM,iBAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,gBAAgB,CAAC,GAAG;AAAA,IAClB,OAAO,UAAU,MAAM;AAAA;AAAA,EAGzB,aAAa,CAAC,GAAG;AAAA,IACf,OAAO,cAAc,IAAI,CAAC;AAAA;AAAA,EAG5B,cAAc;AAAA,EACd,cAAc,CAAC,GAAG;AAAA,IAChB,OAAO,cAAc,IAAI,CAAC;AAAA;AAAA,EAG5B,WAAW,CAAC,OAAO,QAAQ;AAAA,IACzB,OAAO,SAAS,GAAG,cAAW,WAAW;AAAA;AAE7C;AAEO,IAAM,2BAAoD;AAAA,EAC/D,YAAY,CAAC,MAAM;AAAA,IAIjB,QAAQ,WAAW,gBAAgB,oBAAmB;AAAA,MACpD,KAAK,KAAK;AAAA,MACV,SAAS,KAAK;AAAA,MACd,OAAO,eAAe,iBAAiB,KAAK,SAAS,eAAe,YAAY;AAAA,SAC5E,KAAK,iBAAiB,EAAE,WAAW,KAAK,eAAe,IAAI,CAAC;AAAA,IAClE,CAAC;AAAA,IACD,OAAO,EAAE,WAAW,YAAY;AAAA;AAAA,OAY5B,YAAW,GAAG,iBAAiB,KAAK,SAAS;AAAA,IACjD,QAAQ,gBAAgB,MAAa;AAAA,IAGrC,MAAM,SAAS,MAAM,YAAY,iBAAiB;AAAA,SAC5C,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,IAC3B,CAAC;AAAA,IACD,MAAM,eAAe,KAAK,QAAQ,GAAG,WAAW,UAAU;AAAA,IAC1D,MAAM,UAAU,KAAK,cAAc,iBAAgB,GAAG,CAAC;AAAA,IACvD,MAAM,WAAW,KAAK,SAAS,GAAG,OAAO,iBAAiB;AAAA,IAC1D,IAAI,CAAC,WAAW,QAAQ,GAAG;AAAA,MACzB,MAAM,aAAa,YAAY,YAAY,EACxC,IAAI,CAAC,MAAM,KAAK,cAAc,GAAG,GAAG,OAAO,iBAAiB,CAAC,EAC7D,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;AAAA,MAC5B,IAAI,CAAC,YAAY;AAAA,QACf,MAAM,IAAI,MACR,oCAAoC,OAAO,mCAAmC,cAChF;AAAA,MACF;AAAA,MACA,UAAU,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,MACtC,WAAW,YAAY,QAAQ;AAAA,IACjC;AAAA,IACA,OAAO;AAAA,MACL,QAAQ,OAAO;AAAA,MAIf,aAAa;AAAA,IACf;AAAA;AAAA,OAMI,gBAAe,GAAG,KAAK,cAAc;AAAA,IACzC,MAAM,cAAc,KAAK,QAAQ,GAAG,WAAW,YAAY,iBAAgB,GAAG,CAAC;AAAA,IAC/E,MAAM,WAAsB,CAAC;AAAA,IAC7B,WAAW,OAAO,YAAY;AAAA,MAC5B,MAAM,OAAO,KAAK,aAAa,GAAG,WAAW;AAAA,MAC7C,IAAI;AAAA,QACF,WAAW,IAAI;AAAA,QACf,OAAO,GAAG;AAAA,QACV,IAAK,GAA6B,SAAS,UAAU;AAAA,UACnD,OAAO,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,uCAAuC;AAAA,UACrE,SAAS,KAAK,CAAC;AAAA,QACjB;AAAA;AAAA,IAEJ;AAAA,IACA,IAAI,SAAS,SAAS,GAAG;AAAA,MACvB,MAAM,IAAI,eAAe,UAAU,+BAA+B;AAAA,IACpE;AAAA;AAEJ;;;ACpHA,uBAAS,2BAAY;AACrB,iBAAS;AAOT,IAAM,iBAAgB,IAAI,IAAiB,mBAAmB;AAWvD,IAAM,gBAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,cAAc;AAAA,EAId,gBAAgB,CAAC,GAAG;AAAA,IAClB,OAAO;AAAA;AAAA,EAGT,aAAa,CAAC,GAAG;AAAA,IAIf,OAAO,OAAO,MAAM,YAAY,EAAE,SAAS;AAAA;AAAA,EAG7C,cAAc;AAAA,EACd,cAAc,CAAC,GAAG;AAAA,IAIhB,OAAO,eAAc,IAAI,CAAC;AAAA;AAAA,EAG5B,WAAW,CAAC,OAAO,QAAQ;AAAA,IAGzB,OAAO,GAAG,cAAW,UAAU;AAAA;AAEnC;AAEO,IAAM,0BAAmD;AAAA,EAC9D,YAAY,CAAC,MAAM;AAAA,IAMjB,QAAQ,UAAU,gBAAgB,mBAAkB;AAAA,MAClD,KAAK,KAAK;AAAA,MACV,SAAS,KAAK;AAAA,MACd,OAAO,KAAK,SAAS,cAAc;AAAA,SAC/B,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,SACzC,KAAK,iBAAiB,EAAE,UAAU,KAAK,eAAe,IAAI,CAAC;AAAA,IACjE,CAAC;AAAA,IACD,OAAO,EAAE,WAAW,UAAU,YAAY;AAAA;AAAA,OAOtC,YAAW,GAAG,mBAAmB;AAAA,IAIrC,QAAQ,qBAAqB,MAAa;AAAA,IAC1C,OAAO,MAAM,iBAAiB,eAAe;AAAA;AAAA,OAQzC,gBAAe,GAAG,cAAc;AAAA,IACpC,IAAI,WAAW,WAAW;AAAA,MAAG;AAAA,IAC7B,MAAM,cAAc,MAAK,oBAAoB,GAAG,UAAU;AAAA,IAE1D,IAAI,CAAC,YAAW,WAAW;AAAA,MAAG;AAAA,IAC9B,MAAM,WAAsB,CAAC;AAAA,IAG7B,WAAW,OAAO,YAAY;AAAA,MAC5B,IAAI;AAAA,QACF,MAAM,OAAO,IAAI,IAAI,KAAK,gBAAgB,WAAW;AAAA,QACrD,iBAAiB,OAAO,KAAK,KAAK,EAAE,KAAK,aAAa,WAAW,KAAK,CAAC,GAAG;AAAA,UACxE,MAAM,OAAO,MAAK,aAAa,GAAG;AAAA,UAClC,IAAI;AAAA,YACF,YAAW,IAAI;AAAA,YACf,OAAO,GAAG;AAAA,YACV,IAAK,GAA6B,SAAS,UAAU;AAAA,cACnD,OAAO,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,sCAAsC;AAAA,cACpE,SAAS,KAAK,CAAC;AAAA,YACjB;AAAA;AAAA,QAEJ;AAAA,QACA,OAAO,GAAG;AAAA,QACV,OAAO,KAAK,EAAE,KAAK,GAAG,UAAU,IAAI,GAAG,oCAAoC;AAAA,QAC3E,SAAS,KAAK,CAAC;AAAA;AAAA,IAEnB;AAAA,IACA,IAAI,SAAS,SAAS,GAAG;AAAA,MACvB,MAAM,IAAI,eAAe,UAAU,8BAA8B;AAAA,IACnE;AAAA;AAEJ;;;ACpHA;AACA,uBAAS,0BAAY;AACrB,oBAAS;AACT,iBAAS;AAMT,IAAM,aAAoC;AAAA,EACxC,gBAAgB;AAAA,EAKhB,kBAAkB;AAAA,EAClB,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,KAAK;AAAA,EACL,WAAW;AAAA,EACX,aAAa;AACf;AACA,IAAM,eAAe,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,UAAS,GAAG,GAAG,OAAO,OAAO,UAAS,CAAC,CAAC;AACrF,IAAM,iBAAgB,IAAI,IAAI,qBAAqB;AAE5C,IAAM,kBAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB,CAAC,OAAO;AAAA,IACtB,OAAO,WAAU,UAAU;AAAA;AAAA,EAE7B,aAAa,CAAC,OAAO;AAAA,IACnB,OAAO,aAAa,IAAI,KAAK;AAAA;AAAA,EAE/B,cAAc;AAAA,EACd,cAAc,CAAC,QAAQ;AAAA,IACrB,OAAO,eAAc,IAAI,MAAM;AAAA;AAAA,EAEjC,WAAW,CAAC,OAAO,QAAQ;AAAA,IACzB,OAAO,SAAS,GAAG,cAAW,WAAW;AAAA;AAE7C;AAEA,SAAS,kBAAkB,GAAW;AAAA,EACpC,OAAO,MACL,QAAQ,IAAI,mBACR,QAAQ,QAAQ,IAAI,gBAAgB,IACpC,MAAK,SAAQ,GAAG,UAAU,GAC9B,UACF;AAAA;AAGF,SAAS,kBAAkB,CAAC,WAA2B;AAAA,EACrD,OAAO,MAAK,mBAAmB,GAAG,GAAG,iBAAiB;AAAA;AAGxD,SAAS,wBAAwB,CAAC,WAA2B;AAAA,EAC3D,OAAO,MAAK,mBAAmB,GAAG,GAAG,wBAAwB;AAAA;AAG/D,SAAS,iBAAiB,CAAC,MAAkC;AAAA,EAC3D,IAAI,CAAC,YAAW,IAAI;AAAA,IAAG;AAAA,EACvB,IAAI;AAAA,IACF,MAAM,YAAY,aAAa,MAAM,MAAM,EAAE,MAAM;AAAA,GAAM,CAAC,EAAE;AAAA,IAC5D,MAAM,SAAS,KAAK,MAAM,SAAS;AAAA,IACnC,OAAO,OAAO,OAAO,OAAO,cAAc,WAAW,OAAO,MAAM,YAAY;AAAA,IAC9E,MAAM;AAAA,IACN;AAAA;AAAA;AAuBJ,IAAM,yBAAyB;AAE/B,SAAS,gBAAgB,CAAC,MAAsB;AAAA,EAC9C,OAAO,KAAK,KAAK,EAAE,SAAS,IAAI,OAAO;AAAA;AAGzC,SAAS,YAAY,CAAC,SAAiE;AAAA,EACrF,MAAM,YAAY,QAAQ,kBAAkB,WAAW;AAAA,EACvD,eAAe,aAAa,SAAS;AAAA,EACrC,gBAAgB,QAAQ,GAAG;AAAA,EAC3B,MAAM,OAAO,mBAAmB,SAAS;AAAA,EACzC,WAAU,mBAAmB,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EACnD,MAAM,WAAW,kBAAiB,QAAQ,OAAO,EAAE,QAAQ,CAAC,SAAS;AAAA,IACnE,EAAE,MAAM,QAAQ,SAAS,iBAAiB,KAAK,QAAQ,EAAE;AAAA,IACzD,EAAE,MAAM,aAAa,SAAS,iBAAiB,KAAK,aAAa,EAAE;AAAA,EACrE,CAAC;AAAA,EACD,MAAM,QAAQ;AAAA,IACZ;AAAA,MACE,OAAO;AAAA,QACL,SAAS;AAAA,QACT,KAAK,QAAQ;AAAA,QACb,WAAW,kBAAkB,IAAI,KAAK,IAAI,KAAK,EAAE,YAAY;AAAA,QAM7D,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AAAA,EACA,cAAc,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,EAAE,KAAK;AAAA,CAAI;AAAA,GAAO;AAAA,IAC/E,MAAM;AAAA,EACR,CAAC;AAAA,EACD,OAAO,EAAE,WAAW,aAAa,KAAK;AAAA;AAGjC,IAAM,4BAAqD;AAAA,EAChE,YAAY,CAAC,SAAS;AAAA,IACpB,OAAO,aAAa,OAAO;AAAA;AAAA,OAEvB,YAAW,CAAC,SAAS;AAAA,IAIzB,QAAQ,sBAAsB,eAAe,0BAA0B,MACrE;AAAA,IAEF,MAAM,iBAAiB,sBAAsB,QAAQ,eAAe;AAAA,IACpE,IAAI,CAAC,gBAAgB;AAAA,MACnB,MAAM,IAAI,MAAM,qCAAqC,QAAQ,iBAAiB;AAAA,IAChF;AAAA,IACA,MAAM,4BAA4B,YAAW,yBAAyB,QAAQ,eAAe,CAAC;AAAA,IAC9F,MAAM,OAAO,cAAc;AAAA,MACzB,iBAAiB,QAAQ;AAAA,MACzB,cAAc,eAAe;AAAA,MAC7B,KAAK,QAAQ;AAAA,MACb,QAAQ,OAAO,QAAQ,MAAM;AAAA,IAC/B,CAAC;AAAA,IACD,IAAI,6BAA6B,CAAC,KAAK,wBAAwB;AAAA,MAC7D,qBAAqB,KAAK,SAAS;AAAA,MACnC,MAAM,IAAI,MAAM,kDAAkD,QAAQ,iBAAiB;AAAA,IAC7F;AAAA,IACA,MAAM,aAAa,yBAAyB,KAAK,SAAS;AAAA,IAC1D,OAAO;AAAA,MACL,QAAQ,KAAK;AAAA,MACb,aAAa,KAAK;AAAA,SACd,YAAW,UAAU,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC;AAAA,IACjE;AAAA;AAAA,OAEI,gBAAe,CAAC,SAAS;AAAA,IAI7B,QAAQ,yBAAyB,MAAa;AAAA,IAC9C,MAAM,WAAsB,CAAC;AAAA,IAC7B,WAAW,aAAa,QAAQ,YAAY;AAAA,MAC1C,IAAI;AAAA,QACF,qBAAqB,SAAS;AAAA,QAC9B,MAAM,YAAY;AAAA,UAChB,mBAAmB,SAAS;AAAA,UAC5B,yBAAyB,SAAS;AAAA,QACpC,EAAE,OAAO,WAAU;AAAA,QACnB,IAAI,UAAU,SAAS,GAAG;AAAA,UACxB,MAAM,IAAI,MAAM,+CAA+C,UAAU,KAAK,IAAI,GAAG;AAAA,QACvF;AAAA,QACA,OAAO,OAAO;AAAA,QACd,OAAO,KAAK,EAAE,KAAK,OAAO,UAAU,GAAG,yCAAyC;AAAA,QAChF,SAAS,KAAK,KAAK;AAAA;AAAA,IAEvB;AAAA,IACA,IAAI,SAAS,SAAS,GAAG;AAAA,MACvB,MAAM,IAAI,eAAe,UAAU,gCAAgC;AAAA,IACrE;AAAA;AAEJ;;;AC5KA,IAAM,aAA+C;AAAA,EACnD,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AACX;AAEO,SAAS,WAAW,CAAC,OAAiC;AAAA,EAC3D,OAAO,WAAW;AAAA;AAGpB,IAAM,aAAyD;AAAA,EAC7D,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AACX;AAEO,SAAS,qBAAqB,CAAC,OAA2C;AAAA,EAC/E,OAAO,WAAW;AAAA;;;ACXb,IAAM,eAA0C,CAAC,UAAU,YAAoB,KAAK;AAEpF,IAAM,yBAA8D,CAAC,UAC1E,sBAA8B,KAAK;",
12
+ "debugId": "25A9BDC88E6483FA64756E2164756E21",
13
13
  "names": []
14
14
  }
package/dist/rollout.js CHANGED
@@ -1,12 +1,46 @@
1
1
  // @bun
2
2
  import {
3
- encodeClaudeCwd,
4
- repairPoisonedRollout,
5
- writeClaudeRollout
6
- } from "./chunk-y4tyc603.js";
3
+ configureRolloutHost2,
4
+ extractChatPairs2,
5
+ extractLatestCodexPatchPreview2,
6
+ extractCodexPatchCallIds2,
7
+ readCodexPatchCallIds2,
8
+ readLatestCodexPatchPreview2,
9
+ extractLatestCodexContextUsage2,
10
+ readLatestCodexContextUsage2,
11
+ migrateCodexRolloutNativeMultiAgentMetadata2,
12
+ writeCodexRollout2,
13
+ decodeUuidV7Timestamp2
14
+ } from "./chunk-9a50csg6.js";
7
15
  import {
16
+ encodeClaudeCwd2,
17
+ writeClaudeRollout2,
18
+ repairPoisonedRollout2
19
+ } from "./chunk-1e0nxy7p.js";
20
+
21
+ // src/rollout.ts
22
+ import { fileURLToPath } from "url";
23
+ configureRolloutHost2({
24
+ fixturesDir: fileURLToPath(new URL("./runtime/src/agents/fixtures", import.meta.url))
25
+ });
26
+ var configureRolloutHost = configureRolloutHost2;
27
+ var decodeUuidV7Timestamp = decodeUuidV7Timestamp2;
28
+ var encodeClaudeCwd = encodeClaudeCwd2;
29
+ var extractCodexPatchCallIds = extractCodexPatchCallIds2;
30
+ var extractChatPairs = extractChatPairs2;
31
+ var extractLatestCodexContextUsage = extractLatestCodexContextUsage2;
32
+ var extractLatestCodexPatchPreview = extractLatestCodexPatchPreview2;
33
+ var migrateCodexRolloutNativeMultiAgentMetadata = migrateCodexRolloutNativeMultiAgentMetadata2;
34
+ var readCodexPatchCallIds = readCodexPatchCallIds2;
35
+ var readLatestCodexContextUsage = readLatestCodexContextUsage2;
36
+ var readLatestCodexPatchPreview = readLatestCodexPatchPreview2;
37
+ var repairPoisonedRollout = repairPoisonedRollout2;
38
+ var writeClaudeRollout = writeClaudeRollout2;
39
+ var writeCodexRollout = writeCodexRollout2;
40
+ export {
8
41
  configureRolloutHost,
9
42
  decodeUuidV7Timestamp,
43
+ encodeClaudeCwd,
10
44
  extractChatPairs,
11
45
  extractCodexPatchCallIds,
12
46
  extractLatestCodexContextUsage,
@@ -15,43 +49,9 @@ import {
15
49
  readCodexPatchCallIds,
16
50
  readLatestCodexContextUsage,
17
51
  readLatestCodexPatchPreview,
52
+ repairPoisonedRollout,
53
+ writeClaudeRollout,
18
54
  writeCodexRollout
19
- } from "./chunk-rwj7x5pg.js";
20
-
21
- // src/rollout.ts
22
- import { fileURLToPath } from "url";
23
- configureRolloutHost({
24
- fixturesDir: fileURLToPath(new URL("./runtime/src/agents/fixtures", import.meta.url))
25
- });
26
- var configureRolloutHost2 = configureRolloutHost;
27
- var decodeUuidV7Timestamp2 = decodeUuidV7Timestamp;
28
- var encodeClaudeCwd2 = encodeClaudeCwd;
29
- var extractCodexPatchCallIds2 = extractCodexPatchCallIds;
30
- var extractChatPairs2 = extractChatPairs;
31
- var extractLatestCodexContextUsage2 = extractLatestCodexContextUsage;
32
- var extractLatestCodexPatchPreview2 = extractLatestCodexPatchPreview;
33
- var migrateCodexRolloutNativeMultiAgentMetadata2 = migrateCodexRolloutNativeMultiAgentMetadata;
34
- var readCodexPatchCallIds2 = readCodexPatchCallIds;
35
- var readLatestCodexContextUsage2 = readLatestCodexContextUsage;
36
- var readLatestCodexPatchPreview2 = readLatestCodexPatchPreview;
37
- var repairPoisonedRollout2 = repairPoisonedRollout;
38
- var writeClaudeRollout2 = writeClaudeRollout;
39
- var writeCodexRollout2 = writeCodexRollout;
40
- export {
41
- writeCodexRollout2 as writeCodexRollout,
42
- writeClaudeRollout2 as writeClaudeRollout,
43
- repairPoisonedRollout2 as repairPoisonedRollout,
44
- readLatestCodexPatchPreview2 as readLatestCodexPatchPreview,
45
- readLatestCodexContextUsage2 as readLatestCodexContextUsage,
46
- readCodexPatchCallIds2 as readCodexPatchCallIds,
47
- migrateCodexRolloutNativeMultiAgentMetadata2 as migrateCodexRolloutNativeMultiAgentMetadata,
48
- extractLatestCodexPatchPreview2 as extractLatestCodexPatchPreview,
49
- extractLatestCodexContextUsage2 as extractLatestCodexContextUsage,
50
- extractCodexPatchCallIds2 as extractCodexPatchCallIds,
51
- extractChatPairs2 as extractChatPairs,
52
- encodeClaudeCwd2 as encodeClaudeCwd,
53
- decodeUuidV7Timestamp2 as decodeUuidV7Timestamp,
54
- configureRolloutHost2 as configureRolloutHost
55
55
  };
56
56
 
57
- //# debugId=4271882C097E879764756E2164756E21
57
+ //# debugId=78F80A25C662426764756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { fileURLToPath } from \"node:url\";\nimport * as coreRollout from \"@negotium/core/rollout\";\n\ncoreRollout.configureRolloutHost({\n fixturesDir: fileURLToPath(new URL(\"./runtime/src/agents/fixtures\", import.meta.url)),\n});\n\nexport type {\n ChatPair,\n ClaudeRolloutOptions,\n ClaudeRolloutResult,\n CodexContextUsage,\n CodexPatchChangePreview,\n CodexPatchPreview,\n CodexRolloutOptions,\n CodexRolloutResult,\n RolloutHostOptions,\n} from \"@negotium/core/rollout\";\n\nexport const configureRolloutHost = coreRollout.configureRolloutHost;\nexport const decodeUuidV7Timestamp = coreRollout.decodeUuidV7Timestamp;\nexport const encodeClaudeCwd = coreRollout.encodeClaudeCwd;\nexport const extractCodexPatchCallIds = coreRollout.extractCodexPatchCallIds;\nexport const extractChatPairs = coreRollout.extractChatPairs;\nexport const extractLatestCodexContextUsage = coreRollout.extractLatestCodexContextUsage;\nexport const extractLatestCodexPatchPreview = coreRollout.extractLatestCodexPatchPreview;\nexport const migrateCodexRolloutNativeMultiAgentMetadata =\n coreRollout.migrateCodexRolloutNativeMultiAgentMetadata;\nexport const readCodexPatchCallIds = coreRollout.readCodexPatchCallIds;\nexport const readLatestCodexContextUsage = coreRollout.readLatestCodexContextUsage;\nexport const readLatestCodexPatchPreview = coreRollout.readLatestCodexPatchPreview;\nexport const repairPoisonedRollout = coreRollout.repairPoisonedRollout;\nexport const writeClaudeRollout = coreRollout.writeClaudeRollout;\nexport const writeCodexRollout = coreRollout.writeCodexRollout;\n"
6
6
  ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAGY,qBAAqB;AAAA,EAC/B,aAAa,cAAc,IAAI,IAAI,iCAAiC,YAAY,GAAG,CAAC;AACtF,CAAC;AAcM,IAAM,wBAAmC;AACzC,IAAM,yBAAoC;AAC1C,IAAM,mBAA8B;AACpC,IAAM,4BAAuC;AAC7C,IAAM,oBAA+B;AACrC,IAAM,kCAA6C;AACnD,IAAM,kCAA6C;AACnD,IAAM,+CACC;AACP,IAAM,yBAAoC;AAC1C,IAAM,+BAA0C;AAChD,IAAM,+BAA0C;AAChD,IAAM,yBAAoC;AAC1C,IAAM,sBAAiC;AACvC,IAAM,qBAAgC;",
8
- "debugId": "4271882C097E879764756E2164756E21",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAGY,sBAAqB;AAAA,EAC/B,aAAa,cAAc,IAAI,IAAI,iCAAiC,YAAY,GAAG,CAAC;AACtF,CAAC;AAcM,IAAM,uBAAmC;AACzC,IAAM,wBAAoC;AAC1C,IAAM,kBAA8B;AACpC,IAAM,2BAAuC;AAC7C,IAAM,mBAA+B;AACrC,IAAM,iCAA6C;AACnD,IAAM,iCAA6C;AACnD,IAAM,8CACC;AACP,IAAM,wBAAoC;AAC1C,IAAM,8BAA0C;AAChD,IAAM,8BAA0C;AAChD,IAAM,wBAAoC;AAC1C,IAAM,qBAAiC;AACvC,IAAM,oBAAgC;",
8
+ "debugId": "78F80A25C662426764756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -73,10 +73,15 @@ const CLAUDE_DEFAULT_GIT_BRANCH = "HEAD";
73
73
  * synthetic rollouts landed at `…-user_6407801418/` while the SDK looked
74
74
  * at `…-user-6407801418/` — every `set_agent` switch surfaced as "No
75
75
  * conversation found with session ID" on the next message.
76
+ *
77
+ * Nothing is prepended: a POSIX path starts with `/`, which already becomes
78
+ * the leading `-`. A Windows path does not, and the SDK writes
79
+ * `C:\Users\x` as `C--Users-x`; forcing a `-` in front sent Windows rollouts
80
+ * to `-C--Users-x/`, where the SDK never looks.
76
81
  */
77
82
  export function encodeClaudeCwd(cwd: string): string {
78
83
  const realCwd = cwd.startsWith("/tmp/") ? cwd.replace(/^\/tmp\//, "/private/tmp/") : cwd;
79
- return `-${realCwd.replaceAll(/[^a-zA-Z0-9]/g, "-").replace(/^-/, "")}`;
84
+ return realCwd.replaceAll(/[^a-zA-Z0-9]/g, "-");
80
85
  }
81
86
 
82
87
  export interface ClaudeRolloutOptions {
@@ -1,5 +1,5 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
- import { isReservedRuntimeMcpServerName } from "#platform/mcp-config";
2
+ import { hostMcpGrantRefusal, isReservedRuntimeMcpServerName } from "#platform/mcp-config";
3
3
  import { stampActorTopicScope } from "#runtime/actor-topic-scope";
4
4
  import { resolveAttachmentByFileId } from "#runtime/file-hooks";
5
5
  import { describeQuotedAuthor } from "#runtime/thread-context";
@@ -224,9 +224,11 @@ export function submitRuntimeGatewayTurn(
224
224
  params: SubmitRuntimeGatewayTurnParams,
225
225
  ): SubmitRuntimeGatewayTurnResult {
226
226
  const hostMcpServers = parseHostMcpServers(params.hostMcpServers);
227
- if (hostMcpServers !== undefined && params.topic.kind !== "manager") {
228
- throw new TypeError("hostMcpServers is only allowed for manager topics");
229
- }
227
+ const grantRefusal =
228
+ hostMcpServers === undefined
229
+ ? null
230
+ : hostMcpGrantRefusal(params.topic, Object.keys(hostMcpServers));
231
+ if (grantRefusal) throw new TypeError(grantRefusal);
230
232
  const conflictingHostMcpName = Object.keys(hostMcpServers ?? {}).find(
231
233
  isReservedRuntimeMcpServerName,
232
234
  );
@@ -53,6 +53,7 @@ export { logger } from "#platform/logger";
53
53
  export type { NodeMcpEntry } from "#platform/mcp-config";
54
54
  export {
55
55
  getNodeMcpServers,
56
+ hostMcpGrantRefusal,
56
57
  isReservedRuntimeMcpServerName,
57
58
  resolveCuaRsBinary,
58
59
  setCuaRsMcpPort,
@@ -51,6 +51,7 @@ import type {
51
51
  PeerRuntimeBridgeContext,
52
52
  RemoteSessionGrant,
53
53
  } from "#types";
54
+ import type { TopicDto } from "#types/api";
54
55
 
55
56
  export type { RuntimeMcpScope } from "#platform/mcp-catalog-policy";
56
57
 
@@ -822,6 +823,34 @@ export function isReservedRuntimeMcpServerName(name: string): boolean {
822
823
  return Object.hasOwn(MCP_CATALOG, name) || nodeMcpEntries.some((entry) => entry.key === name);
823
824
  }
824
825
 
826
+ /** Host MCP servers that administer the workspace; only a manager room may receive them. */
827
+ const MANAGER_ONLY_HOST_MCP_NAMES = new Set(["topic-admin"]);
828
+
829
+ /**
830
+ * Why `topic` may not receive host MCP servers named `names`, or null when it
831
+ * may. A manager room takes any of them. An ordinary room takes everything but
832
+ * the manager administration surface, so a host can scope its own tools to a
833
+ * room. A subagent room takes none.
834
+ */
835
+ export function hostMcpGrantRefusal(
836
+ topic: Pick<TopicDto, "kind" | "isSubagent">,
837
+ names: readonly string[],
838
+ ): string | null {
839
+ if (topic.kind === "manager") return null;
840
+ if (topic.isSubagent) return "hostMcpServers is not allowed for subagent topics";
841
+ const managerOnly = names.find((name) => MANAGER_ONLY_HOST_MCP_NAMES.has(name));
842
+ return managerOnly ? `${managerOnly} is only allowed for manager topics` : null;
843
+ }
844
+
845
+ function withoutManagerOnlyHostMcpServers(
846
+ hostMcpServers: Record<string, HostMcpServerSpec> | undefined,
847
+ ): Record<string, HostMcpServerSpec> | undefined {
848
+ if (!hostMcpServers) return undefined;
849
+ return Object.fromEntries(
850
+ Object.entries(hostMcpServers).filter(([name]) => !MANAGER_ONLY_HOST_MCP_NAMES.has(name)),
851
+ );
852
+ }
853
+
825
854
  function mergeHostMcpServers(
826
855
  base: Record<string, unknown>,
827
856
  hostMcpServers: Record<string, HostMcpServerSpec> | undefined,
@@ -1223,34 +1252,37 @@ export function getMcpServersForQuery(opts: AgentQueryOptions): Record<string, u
1223
1252
  );
1224
1253
  }
1225
1254
  return hideProviderIntrospectionForOtium(
1226
- getForumMcpServers({
1227
- userId: opts.userId || "local",
1228
- actorUserId: opts.actorUserId,
1229
- actorTopicScope: opts.actorTopicScope,
1230
- remoteSession: opts.remoteSession,
1231
- vaultUserId: opts.vaultUserId,
1232
- session: opts.session || "default",
1233
- topicId: opts.topicId,
1234
- subagentParentTopicId: opts.subagentParentTopicId,
1235
- queryId: opts.queryId,
1236
- wikiTopicId: opts.wikiTopicId,
1237
- agent: opts.agent,
1238
- cwd: opts.cwd,
1239
- model: opts.model,
1240
- currentUserPrompt: opts.prompt,
1241
- playwrightPort: opts.playwrightPort,
1242
- playwrightCapability: opts.playwrightCapability,
1243
- bgBashPort: opts.bgBashPort,
1244
- autoContinue: opts.autoContinue,
1245
- visualTools: opts.visualTools,
1246
- fileDeliveryTools: opts.fileDeliveryTools,
1247
- threadRootId: opts.threadRootId,
1248
- depth: opts.depth,
1249
- enabled: opts.mcpEnabled,
1250
- extra: opts.mcpExtra,
1251
- silent: opts.silent,
1252
- peerBridge: opts.peerBridge,
1253
- }),
1255
+ mergeHostMcpServers(
1256
+ getForumMcpServers({
1257
+ userId: opts.userId || "local",
1258
+ actorUserId: opts.actorUserId,
1259
+ actorTopicScope: opts.actorTopicScope,
1260
+ remoteSession: opts.remoteSession,
1261
+ vaultUserId: opts.vaultUserId,
1262
+ session: opts.session || "default",
1263
+ topicId: opts.topicId,
1264
+ subagentParentTopicId: opts.subagentParentTopicId,
1265
+ queryId: opts.queryId,
1266
+ wikiTopicId: opts.wikiTopicId,
1267
+ agent: opts.agent,
1268
+ cwd: opts.cwd,
1269
+ model: opts.model,
1270
+ currentUserPrompt: opts.prompt,
1271
+ playwrightPort: opts.playwrightPort,
1272
+ playwrightCapability: opts.playwrightCapability,
1273
+ bgBashPort: opts.bgBashPort,
1274
+ autoContinue: opts.autoContinue,
1275
+ visualTools: opts.visualTools,
1276
+ fileDeliveryTools: opts.fileDeliveryTools,
1277
+ threadRootId: opts.threadRootId,
1278
+ depth: opts.depth,
1279
+ enabled: opts.mcpEnabled,
1280
+ extra: opts.mcpExtra,
1281
+ silent: opts.silent,
1282
+ peerBridge: opts.peerBridge,
1283
+ }),
1284
+ withoutManagerOnlyHostMcpServers(opts.hostMcpServers),
1285
+ ),
1254
1286
  opts.topicId,
1255
1287
  );
1256
1288
  }
@@ -770,13 +770,18 @@ export function resolveTurnToolCapabilities(
770
770
  };
771
771
  }
772
772
 
773
- /** Require both room kind and execution scope so cron/ephemeral turns cannot inherit the grant. */
773
+ /**
774
+ * A manager room's grant reaches only manager executions and an ordinary
775
+ * room's only forum executions, so cron/ephemeral turns cannot inherit it.
776
+ * Subagent rooms never take one.
777
+ */
774
778
  export function resolveTurnHostMcpServers(
775
- topic: Pick<TopicDto, "id" | "kind">,
779
+ topic: Pick<TopicDto, "id" | "kind" | "isSubagent">,
776
780
  sessionType?: "dm" | "forum" | "ephemeral" | "manager" | "cron",
777
781
  ) {
778
- const effectiveSessionType = sessionType ?? (topic.kind === "manager" ? "manager" : "forum");
779
- if (topic.kind !== "manager" || effectiveSessionType !== "manager") return undefined;
782
+ if (topic.isSubagent) return undefined;
783
+ const ownScope = topic.kind === "manager" ? "manager" : "forum";
784
+ if ((sessionType ?? ownScope) !== ownScope) return undefined;
780
785
  return getTopicHostMcpGrant(topic.id) ?? undefined;
781
786
  }
782
787
 
@@ -43,8 +43,16 @@ export interface UpdateTopicSettingsOptions {
43
43
  defaultModel?: string;
44
44
  defaultEffort?: string;
45
45
  aiMode?: AiMode;
46
+ /**
47
+ * The room's own instructions, injected into every turn's system prompt as
48
+ * "Topic-Specific Instructions". An empty string clears them.
49
+ */
50
+ description?: string;
46
51
  }
47
52
 
53
+ /** Room for a full work procedure (Otium tax rooms keep one per room), still small next to a turn's prompt. */
54
+ export const MAX_TOPIC_DESCRIPTION_CHARS = 20000;
55
+
48
56
  export interface UpdateManagerTopicRuntimeConfigOptions {
49
57
  topicId: string;
50
58
  agent: AgentKind;
@@ -150,6 +158,17 @@ export function updateTopicSettings(opts: UpdateTopicSettingsOptions): TopicDto
150
158
  }
151
159
  }
152
160
 
161
+ let description = current.description;
162
+ if (opts.description !== undefined) {
163
+ const trimmed = opts.description.trim();
164
+ if (trimmed.length > MAX_TOPIC_DESCRIPTION_CHARS) {
165
+ throw new TopicValidationError(
166
+ `description must be at most ${MAX_TOPIC_DESCRIPTION_CHARS} characters`,
167
+ );
168
+ }
169
+ description = trimmed || undefined;
170
+ }
171
+
153
172
  if (opts.agent !== undefined && opts.agent !== null && !isAgentKind(opts.agent)) {
154
173
  throw new TopicValidationError(`Unknown agent '${opts.agent}'`);
155
174
  }
@@ -223,6 +242,7 @@ export function updateTopicSettings(opts: UpdateTopicSettingsOptions): TopicDto
223
242
  const next: TopicDto = {
224
243
  ...current,
225
244
  title,
245
+ description,
226
246
  kind,
227
247
  aiMode,
228
248
  agent,
@@ -1 +1 @@
1
- export const NEGOTIUM_VERSION = "0.22.4";
1
+ export const NEGOTIUM_VERSION = "0.22.6";
@@ -152,15 +152,15 @@ async function* parseRuntimeGatewaySse(body) {
152
152
  const line = buffer.slice(0, newline);
153
153
  buffer = buffer.slice(newline + 1);
154
154
  if (line === "") {
155
- const parsed2 = flush();
156
- if (parsed2)
157
- yield parsed2;
155
+ const parsed = flush();
156
+ if (parsed)
157
+ yield parsed;
158
158
  } else if (line.startsWith("event:")) {
159
159
  event = line.slice(6).trim() || "message";
160
160
  } else if (line.startsWith("id:")) {
161
- const parsed2 = Number.parseInt(line.slice(3).trim(), 10);
162
- if (Number.isFinite(parsed2))
163
- id = parsed2;
161
+ const parsed = Number.parseInt(line.slice(3).trim(), 10);
162
+ if (Number.isFinite(parsed))
163
+ id = parsed;
164
164
  } else if (line.startsWith("data:")) {
165
165
  data.push(line.slice(5).trimStart());
166
166
  }
@@ -442,12 +442,12 @@ class RuntimeGatewayClient {
442
442
  }
443
443
  }
444
444
  export {
445
- parseRuntimeGatewaySse,
446
- parseHostMcpServers,
447
- RuntimeGatewayError,
448
- RuntimeGatewayClient,
445
+ RUNTIME_GATEWAY_CONTROL_PATH,
449
446
  RUNTIME_GATEWAY_VERSION,
450
- RUNTIME_GATEWAY_CONTROL_PATH
447
+ RuntimeGatewayClient,
448
+ RuntimeGatewayError,
449
+ parseHostMcpServers,
450
+ parseRuntimeGatewaySse
451
451
  };
452
452
 
453
- //# debugId=A92FEBD510CE277D64756E2164756E21
453
+ //# debugId=CE27A0854B2EC79764756E2164756E21