@pcircle/memesh 4.8.2 → 4.8.5

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 (169) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +2 -1
  3. package/.codex-plugin/mcp.json +7 -0
  4. package/.codex-plugin/plugin.json +6 -0
  5. package/AGENTS.md +18 -8
  6. package/README.de.md +13 -11
  7. package/README.md +25 -12
  8. package/README.zh-TW.md +25 -12
  9. package/dashboard/dist/index.html +3 -3
  10. package/dist/core/agent-message-inbox.d.ts +3 -2
  11. package/dist/core/agent-message-inbox.d.ts.map +1 -1
  12. package/dist/core/agent-message-inbox.js +30 -6
  13. package/dist/core/agent-message-inbox.js.map +1 -1
  14. package/dist/core/agent-messaging.d.ts +7 -0
  15. package/dist/core/agent-messaging.d.ts.map +1 -1
  16. package/dist/core/agent-messaging.js +51 -24
  17. package/dist/core/agent-messaging.js.map +1 -1
  18. package/dist/core/agent-router.d.ts +27 -20
  19. package/dist/core/agent-router.d.ts.map +1 -1
  20. package/dist/core/agent-router.js +114 -43
  21. package/dist/core/agent-router.js.map +1 -1
  22. package/dist/core/agent-scope-id.d.ts +11 -0
  23. package/dist/core/agent-scope-id.d.ts.map +1 -0
  24. package/dist/core/agent-scope-id.js +40 -0
  25. package/dist/core/agent-scope-id.js.map +1 -0
  26. package/dist/core/briefing.d.ts +1 -1
  27. package/dist/core/briefing.d.ts.map +1 -1
  28. package/dist/core/briefing.js +25 -7
  29. package/dist/core/briefing.js.map +1 -1
  30. package/dist/core/citation-rule.d.ts.map +1 -1
  31. package/dist/core/citation-rule.js +5 -2
  32. package/dist/core/citation-rule.js.map +1 -1
  33. package/dist/core/doctor.d.ts +9 -0
  34. package/dist/core/doctor.d.ts.map +1 -1
  35. package/dist/core/doctor.js +461 -24
  36. package/dist/core/doctor.js.map +1 -1
  37. package/dist/core/dreamer.d.ts.map +1 -1
  38. package/dist/core/dreamer.js +3 -1
  39. package/dist/core/dreamer.js.map +1 -1
  40. package/dist/core/embedder.d.ts.map +1 -1
  41. package/dist/core/embedder.js +4 -1
  42. package/dist/core/embedder.js.map +1 -1
  43. package/dist/core/install-channel.d.ts +3 -0
  44. package/dist/core/install-channel.d.ts.map +1 -1
  45. package/dist/core/install-channel.js +79 -2
  46. package/dist/core/install-channel.js.map +1 -1
  47. package/dist/core/install-hooks.d.ts.map +1 -1
  48. package/dist/core/install-hooks.js +10 -6
  49. package/dist/core/install-hooks.js.map +1 -1
  50. package/dist/core/lesson-slug.d.ts.map +1 -1
  51. package/dist/core/lesson-slug.js +6 -4
  52. package/dist/core/lesson-slug.js.map +1 -1
  53. package/dist/core/lifecycle.d.ts.map +1 -1
  54. package/dist/core/lifecycle.js +8 -5
  55. package/dist/core/lifecycle.js.map +1 -1
  56. package/dist/core/llm-client.d.ts.map +1 -1
  57. package/dist/core/llm-client.js +4 -1
  58. package/dist/core/llm-client.js.map +1 -1
  59. package/dist/core/llm-validator.d.ts.map +1 -1
  60. package/dist/core/llm-validator.js +6 -15
  61. package/dist/core/llm-validator.js.map +1 -1
  62. package/dist/core/memory-tool.d.ts.map +1 -1
  63. package/dist/core/memory-tool.js +3 -1
  64. package/dist/core/memory-tool.js.map +1 -1
  65. package/dist/core/ollama-host.d.ts +6 -0
  66. package/dist/core/ollama-host.d.ts.map +1 -0
  67. package/dist/core/ollama-host.js +62 -0
  68. package/dist/core/ollama-host.js.map +1 -0
  69. package/dist/core/operations.d.ts +1 -1
  70. package/dist/core/operations.d.ts.map +1 -1
  71. package/dist/core/operations.js +1 -1
  72. package/dist/core/operations.js.map +1 -1
  73. package/dist/core/project-tags.d.ts +2 -0
  74. package/dist/core/project-tags.d.ts.map +1 -1
  75. package/dist/core/project-tags.js +29 -1
  76. package/dist/core/project-tags.js.map +1 -1
  77. package/dist/core/schema-export.d.ts.map +1 -1
  78. package/dist/core/schema-export.js +10 -8
  79. package/dist/core/schema-export.js.map +1 -1
  80. package/dist/core/version-check.d.ts +1 -0
  81. package/dist/core/version-check.d.ts.map +1 -1
  82. package/dist/core/version-check.js +35 -0
  83. package/dist/core/version-check.js.map +1 -1
  84. package/dist/core/work-topology.d.ts +3 -0
  85. package/dist/core/work-topology.d.ts.map +1 -1
  86. package/dist/core/work-topology.js +24 -2
  87. package/dist/core/work-topology.js.map +1 -1
  88. package/dist/db.d.ts.map +1 -1
  89. package/dist/db.js +5 -2
  90. package/dist/db.js.map +1 -1
  91. package/dist/host-adapters/claude-channel.d.ts +0 -58
  92. package/dist/host-adapters/claude-channel.d.ts.map +1 -1
  93. package/dist/host-adapters/claude-channel.js +0 -242
  94. package/dist/host-adapters/claude-channel.js.map +1 -1
  95. package/dist/host-adapters/codex-cli-queue.d.ts.map +1 -1
  96. package/dist/host-adapters/codex-cli-queue.js +15 -12
  97. package/dist/host-adapters/codex-cli-queue.js.map +1 -1
  98. package/dist/host-runtime/acp.d.ts +2 -0
  99. package/dist/host-runtime/acp.d.ts.map +1 -1
  100. package/dist/host-runtime/acp.js +6 -1
  101. package/dist/host-runtime/acp.js.map +1 -1
  102. package/dist/host-runtime/claude.d.ts +2 -0
  103. package/dist/host-runtime/claude.d.ts.map +1 -1
  104. package/dist/host-runtime/claude.js +12 -13
  105. package/dist/host-runtime/claude.js.map +1 -1
  106. package/dist/host-runtime/codex-session.d.ts +3 -1
  107. package/dist/host-runtime/codex-session.d.ts.map +1 -1
  108. package/dist/host-runtime/codex-session.js +7 -5
  109. package/dist/host-runtime/codex-session.js.map +1 -1
  110. package/dist/host-runtime/codex.d.ts +2 -0
  111. package/dist/host-runtime/codex.d.ts.map +1 -1
  112. package/dist/host-runtime/codex.js +6 -1
  113. package/dist/host-runtime/codex.js.map +1 -1
  114. package/dist/host-runtime/entry.d.ts +5 -0
  115. package/dist/host-runtime/entry.d.ts.map +1 -0
  116. package/dist/host-runtime/entry.js +11 -0
  117. package/dist/host-runtime/entry.js.map +1 -0
  118. package/dist/host-runtime/router-client.d.ts +2 -0
  119. package/dist/host-runtime/router-client.d.ts.map +1 -1
  120. package/dist/host-runtime/router-client.js.map +1 -1
  121. package/dist/knowledge-graph.d.ts +0 -1
  122. package/dist/knowledge-graph.d.ts.map +1 -1
  123. package/dist/knowledge-graph.js +27 -19
  124. package/dist/knowledge-graph.js.map +1 -1
  125. package/dist/skills-manifest.json +40 -25
  126. package/dist/storage/entity-index.d.ts +4 -0
  127. package/dist/storage/entity-index.d.ts.map +1 -0
  128. package/dist/storage/entity-index.js +15 -0
  129. package/dist/storage/entity-index.js.map +1 -0
  130. package/dist/storage/fts-index.d.ts.map +1 -1
  131. package/dist/storage/fts-index.js +5 -0
  132. package/dist/storage/fts-index.js.map +1 -1
  133. package/dist/storage/graph-repairs.d.ts +11 -1
  134. package/dist/storage/graph-repairs.d.ts.map +1 -1
  135. package/dist/storage/graph-repairs.js +241 -30
  136. package/dist/storage/graph-repairs.js.map +1 -1
  137. package/dist/transports/agent-messaging.d.ts +10 -1
  138. package/dist/transports/agent-messaging.d.ts.map +1 -1
  139. package/dist/transports/agent-messaging.js +92 -9
  140. package/dist/transports/agent-messaging.js.map +1 -1
  141. package/dist/transports/cli/cli.d.ts +4 -0
  142. package/dist/transports/cli/cli.d.ts.map +1 -1
  143. package/dist/transports/cli/cli.js +88 -38
  144. package/dist/transports/cli/cli.js.map +1 -1
  145. package/dist/transports/mcp/handlers.d.ts +12 -8
  146. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  147. package/dist/transports/mcp/handlers.js +23 -11
  148. package/dist/transports/mcp/handlers.js.map +1 -1
  149. package/dist/transports/schemas.d.ts +22 -17
  150. package/dist/transports/schemas.d.ts.map +1 -1
  151. package/dist/transports/schemas.js +25 -11
  152. package/dist/transports/schemas.js.map +1 -1
  153. package/docs/platforms/README.md +2 -2
  154. package/docs/platforms/agent-messaging.md +246 -36
  155. package/hooks/hooks.json +10 -0
  156. package/llms-install.md +29 -6
  157. package/package.json +13 -5
  158. package/scripts/hooks/_generated/agent-message-inbox.js +30 -6
  159. package/scripts/hooks/_generated/citation-rule.js +5 -2
  160. package/scripts/hooks/_generated/fts-index.js +5 -0
  161. package/scripts/hooks/_generated/work-topology.js +24 -2
  162. package/scripts/hooks/_shared.js +52 -4
  163. package/scripts/hooks/decision-nudge.js +152 -0
  164. package/scripts/hooks/post-commit.js +11 -0
  165. package/scripts/hooks/pre-compact.js +12 -4
  166. package/scripts/hooks/session-start.js +61 -26
  167. package/scripts/upgrade-plugin.sh +600 -81
  168. package/skills/memesh/SKILL.md +24 -5
  169. /package/{.mcp.json → .claude-plugin/mcp.json} +0 -0
@@ -1,11 +1,20 @@
1
1
  import { z } from 'zod';
2
2
  import type { MemeshDatabase } from '../storage/sqlite.js';
3
+ import { AgentMessagingError } from '../core/agent-messaging.js';
3
4
  import { MessageSchema } from './schemas.js';
5
+ import { sendAgentRouterRequest } from '../core/agent-router.js';
4
6
  export type AgentMessageActionInput = z.infer<typeof MessageSchema>;
5
7
  export interface AgentMessageTransportContext {
6
8
  transport: 'cli' | 'http' | 'mcp';
7
9
  sourceHost: string;
8
10
  signal?: AbortSignal;
9
11
  }
10
- export declare function executeAgentMessageAction(db: MemeshDatabase, rawInput: unknown, context: AgentMessageTransportContext): Promise<unknown>;
12
+ export interface AgentMessageTransportDependencies {
13
+ sendRouterRequest?: typeof sendAgentRouterRequest;
14
+ }
15
+ export declare class AgentRecipientUnavailableError extends AgentMessagingError {
16
+ readonly code = "recipient_unavailable";
17
+ constructor();
18
+ }
19
+ export declare function executeAgentMessageAction(db: MemeshDatabase, rawInput: unknown, context: AgentMessageTransportContext, dependencies?: AgentMessageTransportDependencies): Promise<unknown>;
11
20
  //# sourceMappingURL=agent-messaging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-messaging.d.ts","sourceRoot":"","sources":["../../src/transports/agent-messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAe3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpE,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAsSD,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAmElB"}
1
+ {"version":3,"file":"agent-messaging.d.ts","sourceRoot":"","sources":["../../src/transports/agent-messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAEL,mBAAmB,EAYpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAEL,sBAAsB,EAGvB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpE,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,iCAAiC;IAChD,iBAAiB,CAAC,EAAE,OAAO,sBAAsB,CAAC;CACnD;AAED,qBAAa,8BAA+B,SAAQ,mBAAmB;IACrE,QAAQ,CAAC,IAAI,2BAA2B;;CAKzC;AA4WD,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,4BAA4B,EACrC,YAAY,GAAE,iCAAsC,GACnD,OAAO,CAAC,OAAO,CAAC,CAyFlB"}
@@ -1,9 +1,17 @@
1
- import { AgentMessageAccessError, AgentMessagingError, fetchAgentMessage, pollAgentEvents, readAgentMessageReceipts, recordAgentReceipt, sendAgentMessage, waitForAgentEvents, } from '../core/agent-messaging.js';
1
+ import { randomUUID } from 'node:crypto';
2
+ import path from 'node:path';
3
+ import { AgentMessageAccessError, AgentMessagingError, AgentNativeMessageTooLargeError, fetchAgentMessage, pollAgentEvents, readAgentMessageReceipts, recordAgentReceipt, sendAgentMessage, waitForAgentEvents, } from '../core/agent-messaging.js';
2
4
  import { MessageSchema } from './schemas.js';
3
- import { createAgentRouterNotifier } from '../core/agent-router.js';
5
+ import { createAgentRouterNotifier, sendAgentRouterRequest, } from '../core/agent-router.js';
4
6
  import { getMemeshDirFromDbPath } from '../core/paths.js';
5
- import path from 'node:path';
7
+ export class AgentRecipientUnavailableError extends AgentMessagingError {
8
+ code = 'recipient_unavailable';
9
+ constructor() {
10
+ super('recipient_unavailable: the exact active session did not accept the native message.');
11
+ }
12
+ }
6
13
  const AGENT_MESSAGE_STORAGE_QUOTA_ENV = 'MEMESH_AGENT_MESSAGE_STORAGE_QUOTA_BYTES';
14
+ const EXACT_SESSION_NATIVE_TIMEOUT_MS = 12_000;
7
15
  const PUBLIC_DISPOSITIONS = new Set(['accepted', 'rejected', 'completed', 'cancelled', 'deferred']);
8
16
  function configuredAgentMessageStorageQuotaBytes() {
9
17
  const raw = process.env[AGENT_MESSAGE_STORAGE_QUOTA_ENV];
@@ -18,15 +26,72 @@ function configuredAgentMessageStorageQuotaBytes() {
18
26
  }
19
27
  return parsed;
20
28
  }
29
+ function routerSocketPath() {
30
+ return process.env.MEMESH_ROUTER_SOCKET
31
+ ?? path.join(getMemeshDirFromDbPath(), 'agent-router.sock');
32
+ }
21
33
  function optionalRouterNotifier() {
22
34
  try {
23
- return createAgentRouterNotifier(process.env.MEMESH_ROUTER_SOCKET
24
- ?? path.join(getMemeshDirFromDbPath(), 'agent-router.sock'));
35
+ return createAgentRouterNotifier(routerSocketPath());
25
36
  }
26
37
  catch {
27
38
  return undefined;
28
39
  }
29
40
  }
41
+ function nativeAcceptance(row) {
42
+ return {
43
+ status: 'native_accepted',
44
+ delivery_id: row.delivery_id,
45
+ adapter_kind: row.adapter_kind,
46
+ receipt: parseStoredObject(row.receipt_json, 'agent_host_accepts.receipt_json'),
47
+ accepted_at: row.created_at,
48
+ };
49
+ }
50
+ async function requireExactSessionNativeAcceptance(db, sent, dependencies) {
51
+ const existing = readHostAccept(db, sent.delivery_id);
52
+ if (existing)
53
+ return nativeAcceptance(existing);
54
+ const request = {
55
+ version: 1,
56
+ type: 'notify',
57
+ request_id: randomUUID(),
58
+ project: sent.project,
59
+ delivery_id: sent.delivery_id,
60
+ hops: 0,
61
+ };
62
+ try {
63
+ const result = await (dependencies.sendRouterRequest ?? sendAgentRouterRequest)(routerSocketPath(), request, EXACT_SESSION_NATIVE_TIMEOUT_MS);
64
+ if (result.delivered !== true) {
65
+ const accepted = readHostAccept(db, sent.delivery_id);
66
+ if (accepted)
67
+ return nativeAcceptance(accepted);
68
+ if (readLatestDispatchFailureCode(db, sent.delivery_id) === 'native_message_too_large') {
69
+ throw new AgentNativeMessageTooLargeError();
70
+ }
71
+ throw new AgentRecipientUnavailableError();
72
+ }
73
+ }
74
+ catch (error) {
75
+ if (error instanceof AgentRecipientUnavailableError
76
+ || error instanceof AgentNativeMessageTooLargeError)
77
+ throw error;
78
+ throw new AgentRecipientUnavailableError();
79
+ }
80
+ const accepted = readHostAccept(db, sent.delivery_id);
81
+ if (!accepted)
82
+ throw new AgentRecipientUnavailableError();
83
+ return nativeAcceptance(accepted);
84
+ }
85
+ function readLatestDispatchFailureCode(db, deliveryId) {
86
+ const row = db.prepare(`
87
+ SELECT failure_code
88
+ FROM agent_dispatch_attempts
89
+ WHERE delivery_id = ? AND result = 'adapter_rejected' AND failure_code IS NOT NULL
90
+ ORDER BY attempt_number DESC
91
+ LIMIT 1
92
+ `).get(deliveryId);
93
+ return row?.failure_code;
94
+ }
30
95
  function receiptDetail(note, context) {
31
96
  return {
32
97
  transport: context.transport,
@@ -203,11 +268,11 @@ function parseStoredObject(raw, label) {
203
268
  }
204
269
  throw new AgentMessagingError(`Invalid stored JSON object in ${label}.`);
205
270
  }
206
- export async function executeAgentMessageAction(db, rawInput, context) {
271
+ export async function executeAgentMessageAction(db, rawInput, context, dependencies = {}) {
207
272
  const input = MessageSchema.parse(rawInput);
208
273
  switch (input.action) {
209
- case 'send':
210
- return sendAgentMessage(db, {
274
+ case 'send': {
275
+ const sent = sendAgentMessage(db, {
211
276
  project: input.project,
212
277
  sender: input.sender,
213
278
  sender_host: context.sourceHost,
@@ -224,9 +289,16 @@ export async function executeAgentMessageAction(db, rawInput, context) {
224
289
  source_host: context.sourceHost,
225
290
  },
226
291
  }, {
227
- notifier: optionalRouterNotifier(),
292
+ notifier: input.target_kind === 'session' ? undefined : optionalRouterNotifier(),
228
293
  storage_quota_bytes: configuredAgentMessageStorageQuotaBytes(),
229
294
  });
295
+ if (sent.target_kind !== 'session')
296
+ return sent;
297
+ return {
298
+ ...sent,
299
+ native_delivery: await requireExactSessionNativeAcceptance(db, sent, dependencies),
300
+ };
301
+ }
230
302
  case 'poll': {
231
303
  const query = {
232
304
  project: input.project,
@@ -238,6 +310,17 @@ export async function executeAgentMessageAction(db, rawInput, context) {
238
310
  ? waitForAgentEvents(db, { ...query, wait_ms: input.wait_ms }, context.signal)
239
311
  : pollAgentEvents(db, query);
240
312
  }
313
+ case 'discover': {
314
+ const request = {
315
+ version: 1,
316
+ type: 'discover',
317
+ request_id: randomUUID(),
318
+ project: input.project,
319
+ limit: input.limit,
320
+ hops: 0,
321
+ };
322
+ return await (dependencies.sendRouterRequest ?? sendAgentRouterRequest)(routerSocketPath(), request);
323
+ }
241
324
  case 'fetch':
242
325
  return fetchAgentMessage(db, input);
243
326
  case 'intake':
@@ -1 +1 @@
1
- {"version":3,"file":"agent-messaging.js","sourceRoot":"","sources":["../../src/transports/agent-messaging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-messaging.js","sourceRoot":"","sources":["../../src/transports/agent-messaging.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,9 @@ export declare function feedbackBrowserOpenCommand(platform: NodeJS.Platform, ur
4
4
  command: string;
5
5
  args: [string];
6
6
  };
7
+ export declare function resolveUpgradePluginScript(packageRootPath: string, pluginCacheRoot: string, pluginRegistryPath?: string): {
8
+ script: string;
9
+ newest: string | null;
10
+ } | null;
7
11
  export declare function runCli(argv?: readonly string[]): Promise<void>;
8
12
  //# sourceMappingURL=cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/transports/cli/cli.ts"],"names":[],"mappings":";AAkMA,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CASN;AAGD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;CAAE,CAKrC;AAw7FD,wBAAsB,MAAM,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/transports/cli/cli.ts"],"names":[],"mappings":";AAqMA,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CASN;AAGD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;CAAE,CAKrC;AAumDD,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAC1B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAYlD;AAi5CD,wBAAsB,MAAM,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF"}
@@ -9,6 +9,7 @@ import { remember, recallWithConflicts, forget, exportMemories, importMemories,
9
9
  import { readConfig, writeConfig, maskApiKey, detectCapabilities } from '../../core/config.js';
10
10
  import { MAX_LANGUAGE_LENGTH, languageValueError } from '../../core/output-language.js';
11
11
  import { getDbPath, getProjectName, homeDir, redactSecrets, redactUserPaths } from '../../core/paths.js';
12
+ import { agentScopeIdRejection, canonicalAgentScopeId } from '../../core/agent-scope-id.js';
12
13
  import { flushPendingEmbeddings, canRefillVectorIndex } from '../../core/embedder.js';
13
14
  import { NAMESPACES } from '../../core/types.js';
14
15
  import { assembleBriefing } from '../../core/briefing.js';
@@ -16,9 +17,11 @@ import { inspectHosts, allWired } from '../../core/setup.js';
16
17
  import { installHooks } from '../../core/install-hooks.js';
17
18
  import { getTaskState, setTaskState } from '../../core/task-state-store.js';
18
19
  import { TASK_STATE_FIELDS, taskStateLines } from '../../core/task-state.js';
20
+ import { AGENT_MESSAGE_JSON_MAX_BYTES, AGENT_NATIVE_MESSAGE_MAX_BYTES } from '../../core/agent-messaging.js';
19
21
  import { executeAgentMessageAction } from '../agent-messaging.js';
20
22
  import { getAgentMessageStorageReport, pruneTerminalAgentMessagePayloads, } from '../../core/agent-message-storage.js';
21
23
  import { assertSecureLocalHostRuntimeSupported, ensureRouterTokenFile, } from '../../host-runtime/config.js';
24
+ import { pluginHostConfigRoot, versionedPluginCacheRoots } from '../../core/install-channel.js';
22
25
  async function withDatabase(fn) {
23
26
  try {
24
27
  openDatabase();
@@ -302,6 +305,7 @@ program
302
305
  name: opts.name,
303
306
  observation: opts.observation,
304
307
  });
308
+ const didSomething = result.archived === true || result.observation_removed === true;
305
309
  if (opts.json) {
306
310
  console.log(JSON.stringify(result));
307
311
  }
@@ -314,12 +318,12 @@ program
314
318
  else if (opts.observation !== undefined && result.entity_found) {
315
319
  console.log(`Entity "${opts.name}" has no observation matching that text (${result.remaining_observations} observation(s) present).`);
316
320
  console.log(`See them with: memesh recall "${opts.name}" --json`);
317
- process.exitCode = 1;
318
321
  }
319
322
  else {
320
323
  console.log(`Entity "${opts.name}" not found`);
321
- process.exitCode = 1;
322
324
  }
325
+ if (!didSomething)
326
+ process.exitCode = 1;
323
327
  });
324
328
  });
325
329
  function registerPinCommand(name, description, pinned, onFound) {
@@ -518,7 +522,7 @@ program
518
522
  });
519
523
  const messageCmd = program
520
524
  .command('message')
521
- .description('Send, wait for, fetch, and explicitly receipt durable local agent messages');
525
+ .description('Send, discover, wait for, fetch, and explicitly receipt local agent messages');
522
526
  function parseCliMessagePayload(raw, contentType) {
523
527
  if (contentType !== 'application/json')
524
528
  return raw;
@@ -529,22 +533,33 @@ function parseCliMessagePayload(raw, contentType) {
529
533
  throw new Error('stdin must contain valid JSON when --content-type is application/json.');
530
534
  }
531
535
  }
532
- const MAX_CLI_MESSAGE_STDIN_BYTES = 65_536;
536
+ function boundedCliDeclaration(value, option, maxCharacters) {
537
+ const normalized = value.trim();
538
+ if (normalized.length === 0 || normalized.length > maxCharacters) {
539
+ throw new Error(`${option} must be a non-empty string of at most ${maxCharacters} characters.`);
540
+ }
541
+ return normalized;
542
+ }
533
543
  async function readCliMessagePayloadFromStdin(contentType) {
534
544
  let raw = '';
535
545
  let bytes = 0;
536
546
  for await (const chunk of process.stdin) {
537
547
  const text = typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString('utf8');
538
548
  bytes += Buffer.byteLength(text, 'utf8');
539
- if (bytes > MAX_CLI_MESSAGE_STDIN_BYTES) {
540
- throw new Error(`stdin payload exceeds ${MAX_CLI_MESSAGE_STDIN_BYTES} UTF-8 bytes.`);
549
+ if (bytes > AGENT_MESSAGE_JSON_MAX_BYTES) {
550
+ throw new Error(`stdin payload exceeds ${AGENT_MESSAGE_JSON_MAX_BYTES} UTF-8 bytes.`);
541
551
  }
542
552
  raw += text;
543
553
  }
544
554
  if (bytes === 0) {
545
555
  throw new Error('stdin payload is empty.');
546
556
  }
547
- return parseCliMessagePayload(raw, contentType);
557
+ const payload = parseCliMessagePayload(raw, contentType);
558
+ const encodedBytes = Buffer.byteLength(JSON.stringify(payload), 'utf8');
559
+ if (encodedBytes > AGENT_MESSAGE_JSON_MAX_BYTES) {
560
+ throw new Error(`payload must be at most ${AGENT_MESSAGE_JSON_MAX_BYTES} UTF-8 bytes when encoded as JSON.`);
561
+ }
562
+ return payload;
548
563
  }
549
564
  async function runCliMessage(input) {
550
565
  await withDatabase(async () => {
@@ -567,15 +582,23 @@ function isAgentPollResult(value) {
567
582
  const candidate = value;
568
583
  return Array.isArray(candidate.events) && typeof candidate.next_cursor === 'string';
569
584
  }
585
+ messageCmd
586
+ .command('discover')
587
+ .description('Discover active leased agents in one project without sending or acknowledging messages')
588
+ .requiredOption('--project <name>', 'Project scope')
589
+ .option('--limit <n>', 'Maximum live agents, 1-100', wholeNumber('--limit'), 50)
590
+ .action((opts) => runCliMessage({
591
+ action: 'discover', project: opts.project, limit: opts.limit,
592
+ }));
570
593
  messageCmd
571
594
  .command('send')
572
- .description('Durably send one exact-recipient local message (idempotent)')
595
+ .description(`Durably send one exact-recipient message (payload 64 KiB; complete native envelope 16 KiB; idempotent)`)
573
596
  .requiredOption('--project <name>', 'Project scope')
574
597
  .requiredOption('--sender <id>', 'Stable sender agent/host ID')
575
598
  .requiredOption('--recipient <id>', 'Stable recipient agent/host ID')
576
599
  .option('--target-kind <kind>', 'principal | session', 'principal')
577
600
  .requiredOption('--idempotency-key <key>', 'Stable retry key')
578
- .requiredOption('--payload-stdin', 'Read the complete text or JSON payload from stdin (never argv)')
601
+ .requiredOption('--payload-stdin', `Read untrusted text or JSON from stdin, never argv (stdin read cap ${AGENT_MESSAGE_JSON_MAX_BYTES} UTF-8 bytes; JSON-encoded durable payload cap ${AGENT_MESSAGE_JSON_MAX_BYTES}; exact-session complete native envelope cap ${AGENT_NATIVE_MESSAGE_MAX_BYTES})`)
579
602
  .option('--content-type <type>', 'text/plain | application/json', 'text/plain')
580
603
  .option('--privacy <scope>', 'private | team', 'private')
581
604
  .option('--correlation-id <id>', 'Conversation or task correlation ID')
@@ -783,6 +806,8 @@ agentCmd
783
806
  .requiredOption('--project <name>', 'Project scope used for exact routing')
784
807
  .requiredOption('--principal <id>', 'Stable logical recipient ID')
785
808
  .option('--workspace <path>', 'Managed Codex/Gemini workspace', process.cwd())
809
+ .option('--model <id>', 'Optional declared model identifier')
810
+ .option('--work-summary <text>', 'Optional declared current work summary')
786
811
  .option('--json', 'Output machine-readable setup result')
787
812
  .action((host, opts) => {
788
813
  requireOneOf(host, ['codex-session', 'codex', 'claude', 'gemini'], '<host>');
@@ -801,8 +826,10 @@ agentCmd
801
826
  const common = {
802
827
  router_socket: path.join(messageDir, 'agent-router.sock'),
803
828
  token_file: routerTokenFile,
804
- project: opts.project,
805
- principal_id: opts.principal,
829
+ project: requireAgentScopeArg(opts.project, 'project', '--project'),
830
+ principal_id: requireAgentScopeArg(opts.principal, 'recipient', '--principal'),
831
+ ...(opts.model === undefined ? {} : { model: boundedCliDeclaration(opts.model, '--model', 200) }),
832
+ ...(opts.workSummary === undefined ? {} : { work_summary: boundedCliDeclaration(opts.workSummary, '--work-summary', 200) }),
806
833
  };
807
834
  const config = host === 'codex-session'
808
835
  ? { ...common, workspace: fs.realpathSync(path.resolve(opts.workspace)) }
@@ -845,10 +872,11 @@ program
845
872
  .command('briefing')
846
873
  .description('The assembled work topology for a project — task state, decisions, lessons, knowledge, recent activity')
847
874
  .option('--project <name>', 'Project name (default: the current directory’s project)')
875
+ .option('--recipient <id>', 'Exact recipient; enables recipient-scoped unread message guidance')
848
876
  .option('--json', 'Output as JSON')
849
877
  .action(async (opts) => {
850
878
  await withDatabase(() => {
851
- const result = assembleBriefing(opts.project);
879
+ const result = assembleBriefing(opts.project, opts.recipient);
852
880
  if (opts.json) {
853
881
  console.log(JSON.stringify(result));
854
882
  return;
@@ -1362,29 +1390,38 @@ program
1362
1390
  process.exit(1);
1363
1391
  }
1364
1392
  });
1393
+ export function resolveUpgradePluginScript(packageRootPath, pluginCacheRoot, pluginRegistryPath) {
1394
+ const roots = versionedPluginCacheRoots(pluginCacheRoot);
1395
+ const newestRoot = roots[roots.length - 1];
1396
+ const bundled = path.join(packageRootPath, 'scripts', 'upgrade-plugin.sh');
1397
+ const hasRepairTarget = Boolean(newestRoot || (pluginRegistryPath && fs.existsSync(pluginRegistryPath)));
1398
+ if (fs.existsSync(bundled) && hasRepairTarget) {
1399
+ return { script: bundled, newest: newestRoot ? path.basename(newestRoot) : null };
1400
+ }
1401
+ if (!newestRoot)
1402
+ return null;
1403
+ const newest = path.basename(newestRoot);
1404
+ const script = path.join(newestRoot, 'scripts', 'upgrade-plugin.sh');
1405
+ return { script, newest };
1406
+ }
1365
1407
  program
1366
1408
  .command('upgrade-plugin')
1367
1409
  .description('Upgrade the Claude Code plugin install (finds and runs its bundled upgrade script)')
1368
1410
  .action(async () => {
1369
1411
  const { spawnSync } = await import('child_process');
1370
- const cacheRoot = path.join(homeDir(), '.claude', 'plugins', 'cache', 'pcircle-memesh', 'memesh');
1371
- let versions = [];
1372
- try {
1373
- versions = fs.readdirSync(cacheRoot, { withFileTypes: true })
1374
- .filter((entry) => entry.isDirectory() && /^\d+\.\d+\.\d+/.test(entry.name))
1375
- .map((entry) => entry.name);
1376
- }
1377
- catch { }
1378
- if (versions.length === 0) {
1379
- console.error('No Claude Code plugin install found (looked in ~/.claude/plugins/cache/pcircle-memesh).');
1412
+ const configRoot = pluginHostConfigRoot('claude-code');
1413
+ const cacheRoot = path.join(configRoot, 'plugins', 'cache', 'pcircle-memesh', 'memesh');
1414
+ const registryPath = path.join(configRoot, 'plugins', 'installed_plugins.json');
1415
+ const resolved = resolveUpgradePluginScript(packageRoot, cacheRoot, registryPath);
1416
+ if (!resolved) {
1417
+ console.error(`No Claude Code plugin install found (looked in ${cacheRoot}).`);
1380
1418
  console.error('If you installed via npm, upgrade with: memesh update');
1419
+ console.error('If you installed through Codex, run `memesh doctor` for the Codex refresh command.');
1381
1420
  process.exit(1);
1382
1421
  }
1383
- versions.sort((a, b) => a.localeCompare(b, undefined, { numeric: true }));
1384
- const newest = versions[versions.length - 1];
1385
- const script = path.join(cacheRoot, newest, 'scripts', 'upgrade-plugin.sh');
1422
+ const { script, newest } = resolved;
1386
1423
  if (!fs.existsSync(script)) {
1387
- console.error(`Plugin install found (v${newest}), but it has no scripts/upgrade-plugin.sh — plugin versions before 4.2.5 shipped without it.`);
1424
+ console.error(`Plugin install found${newest ? ` (v${newest})` : ''}, but it has no scripts/upgrade-plugin.sh — plugin versions before 4.2.5 shipped without it.`);
1388
1425
  console.error('Reinstall once from the Claude Code /plugin UI, or run the npm-global copy directly:');
1389
1426
  console.error(' bash "$(npm prefix -g)/lib/node_modules/@pcircle/memesh/scripts/upgrade-plugin.sh"');
1390
1427
  process.exit(1);
@@ -1392,7 +1429,8 @@ program
1392
1429
  const installHints = {
1393
1430
  node: 'node is required by the upgrade script. Install Node.js from https://nodejs.org',
1394
1431
  npm: 'npm is required by the upgrade script. It ships with Node.js — reinstall from https://nodejs.org',
1395
- rsync: 'rsync is required by the upgrade script. macOS: already installed; Debian/Ubuntu: sudo apt install rsync',
1432
+ git: 'git is required by the upgrade script. macOS: xcode-select --install; Debian/Ubuntu: sudo apt install git',
1433
+ tar: 'tar is required by the upgrade script. macOS: already installed; Debian/Ubuntu: sudo apt install tar',
1396
1434
  };
1397
1435
  const missing = Object.keys(installHints).filter((tool) => !isOnPath(tool));
1398
1436
  if (missing.length > 0) {
@@ -1400,7 +1438,10 @@ program
1400
1438
  console.error(installHints[tool]);
1401
1439
  process.exit(1);
1402
1440
  }
1403
- const run = spawnSync('bash', [script], { stdio: 'inherit' });
1441
+ const run = spawnSync('bash', [script], {
1442
+ stdio: 'inherit',
1443
+ env: { ...process.env, CLAUDE_CONFIG_DIR: configRoot },
1444
+ });
1404
1445
  if (run.error) {
1405
1446
  console.error(`Could not run the upgrade script: ${run.error.message}`);
1406
1447
  console.error('bash is required to run it. If bash is available under another name, run it yourself:');
@@ -1556,9 +1597,15 @@ kgCmd
1556
1597
  }
1557
1598
  });
1558
1599
  });
1600
+ function requireAgentScopeArg(value, field, flag) {
1601
+ const rejection = agentScopeIdRejection(field, value);
1602
+ if (rejection)
1603
+ throw new Error(`${flag}: ${rejection}`);
1604
+ return canonicalAgentScopeId(value);
1605
+ }
1559
1606
  kgCmd
1560
1607
  .command('rename-project')
1561
- .description('Merge or rename a project:<name> tag across all entities (heals mis-homed tags from before git-based project identity)')
1608
+ .description('Merge or rename a project across all entities AND durable agent messages (heals mis-homed tags from before git-based project identity, and the message scopes that go with them)')
1562
1609
  .option('--from <name>', 'Existing project name to rewrite. Omit both --from/--to to just LIST all project tags + counts.')
1563
1610
  .option('--to <name>', 'New project name to rewrite it to')
1564
1611
  .option('--apply', 'Actually write the change. Default is a dry-run preview. Backs up the DB first.')
@@ -1587,20 +1634,22 @@ kgCmd
1587
1634
  process.exitCode = 1;
1588
1635
  return;
1589
1636
  }
1590
- const preview = renameProjectTag(opts.from, opts.to, { apply: false });
1637
+ const to = requireAgentScopeArg(opts.to, 'project', '--to');
1638
+ const preview = renameProjectTag(opts.from, to, { apply: false });
1591
1639
  if (!opts.apply) {
1592
1640
  if (opts.json) {
1593
1641
  console.log(JSON.stringify({ ...preview, dryRun: true }, null, 2));
1594
1642
  return;
1595
1643
  }
1596
- console.log(`Dry-run: project:${opts.from} → project:${opts.to}`);
1644
+ console.log(`Dry-run: project:${opts.from} → project:${to}`);
1597
1645
  console.log(` ${preview.affectedEntities} entit${preview.affectedEntities === 1 ? 'y' : 'ies'} carry project:${opts.from}`);
1598
- console.log(` ${preview.renamed} would be renamed, ${preview.merged} already have project:${opts.to} (their project:${opts.from} row would be removed)`);
1646
+ console.log(` ${preview.renamed} would be renamed, ${preview.merged} already have project:${to} (their project:${opts.from} row would be removed)`);
1647
+ console.log(` ${preview.messageRows} durable agent-message row(s) scoped to ${opts.from} would move to ${to}`);
1599
1648
  console.log(`\nNothing written. Re-run with --apply to commit (the DB is backed up first).`);
1600
1649
  return;
1601
1650
  }
1602
- if (preview.affectedEntities === 0) {
1603
- console.log(`No entities carry project:${opts.from} — nothing to do.`);
1651
+ if (preview.affectedEntities === 0 && preview.messageRows === 0) {
1652
+ console.log(`Nothing carries project ${opts.from} — no entity tags and no agent-message rows. Nothing to do.`);
1604
1653
  return;
1605
1654
  }
1606
1655
  const dbPath = getDbPath();
@@ -1616,13 +1665,14 @@ kgCmd
1616
1665
  process.exitCode = 1;
1617
1666
  return;
1618
1667
  }
1619
- const result = renameProjectTag(opts.from, opts.to, { apply: true });
1668
+ const result = renameProjectTag(opts.from, to, { apply: true });
1620
1669
  if (opts.json) {
1621
1670
  console.log(JSON.stringify({ ...result, backupPath }, null, 2));
1622
1671
  return;
1623
1672
  }
1624
- console.log(`✅ project:${opts.from} → project:${opts.to}`);
1673
+ console.log(`✅ project:${opts.from} → project:${to}`);
1625
1674
  console.log(` ${result.renamed} renamed, ${result.merged} merged (${result.affectedEntities} entities total)`);
1675
+ console.log(` ${result.messageRows} agent-message row(s) moved${result.messageRowsBlocked > 0 ? `, ${result.messageRowsBlocked} left in place (${to} already holds an equivalent row)` : ''}`);
1626
1676
  console.log(` Backup: ${backupPath}`);
1627
1677
  console.log(` Restore if needed: cp "${backupPath}" "${dbPath}"`);
1628
1678
  });
@@ -2118,7 +2168,7 @@ dreamCmd
2118
2168
  });
2119
2169
  program
2120
2170
  .command('install-hooks')
2121
- .description('Wire memesh\'s session hooks into Claude Code (~/.claude/settings.json)')
2171
+ .description('Wire memesh\'s session hooks into Claude Code user settings')
2122
2172
  .option('--scope <scope>', 'user (default) or project — project writes to ./.claude/settings.json', 'user')
2123
2173
  .option('--dry-run', 'Show what would change without modifying any file')
2124
2174
  .option('--force-over-plugin', 'Write user-level hooks even when Claude Code\'s plugin runtime already wires them. Causes double-firing — only use if you genuinely want both surfaces.')
@@ -2139,7 +2189,7 @@ program
2139
2189
  console.log('');
2140
2190
  console.log('Hooks are active. Verify with: memesh doctor');
2141
2191
  console.log('');
2142
- console.log('If you really want a second copy in ~/.claude/settings.json on top of the plugin, re-run with --force-over-plugin. (Not recommended — every session-start / Stop / PreToolUse event will fire memesh\'s hooks twice.)');
2192
+ console.log(`If you really want a second copy in ${result.settingsPath} on top of the plugin, re-run with --force-over-plugin. (Not recommended — every session-start / Stop / PreToolUse event will fire memesh's hooks twice.)`);
2143
2193
  if (result.citationRule.action === 'foreign-file') {
2144
2194
  console.log('');
2145
2195
  console.log(`WARNING: the citation contract was NOT installed — a file memesh did not write already exists at ${result.citationRule.path}.`);