@hasna/mementos 0.14.26 → 0.14.27

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/cli.js CHANGED
@@ -543,6 +543,15 @@ class MementosRemoteClient {
543
543
  injectionContext(input = {}) {
544
544
  return this.request("/injections/context", { method: "POST", body: input });
545
545
  }
546
+ sendInboxMessage(input) {
547
+ return this.request("/inbox", { method: "POST", body: input });
548
+ }
549
+ listInboxMessages(input = {}) {
550
+ return this.request("/inbox", { query: input });
551
+ }
552
+ claimInboxMessage(id, input = {}) {
553
+ return this.request(`/inbox/${encodeURIComponent(id)}/claim`, { method: "POST", body: input });
554
+ }
546
555
  getMemory(id) {
547
556
  return this.request(`/memories/${encodeURIComponent(id)}`);
548
557
  }
@@ -672,6 +681,8 @@ async function run(name, args) {
672
681
  return runHook(args);
673
682
  case "billing":
674
683
  return runBilling(args);
684
+ case "inbox":
685
+ return runInbox(args);
675
686
  case "capabilities":
676
687
  return client.listCapabilities();
677
688
  case "agents":
@@ -693,6 +704,31 @@ async function run(name, args) {
693
704
  ${helpText()}`);
694
705
  }
695
706
  }
707
+ async function runInbox(args) {
708
+ const subcommand = args[0] ?? "list";
709
+ switch (subcommand) {
710
+ case "send": {
711
+ const agentName = args[1];
712
+ const message = args.slice(2).join(" ");
713
+ if (!agentName || !message)
714
+ throw new Error("usage: mementos inbox send <agentName> <message>");
715
+ return client.sendInboxMessage({ targetAgentName: agentName, message });
716
+ }
717
+ case "list": {
718
+ const options = parseInboxOptions(args.slice(1));
719
+ return client.listInboxMessages(options);
720
+ }
721
+ case "claim": {
722
+ const id = args[1];
723
+ if (!id)
724
+ throw new Error("usage: mementos inbox claim <id> [--agent <agentName>]");
725
+ const options = parseInboxOptions(args.slice(2));
726
+ return client.claimInboxMessage(id, options);
727
+ }
728
+ default:
729
+ throw new Error("usage: mementos inbox <send|list|claim>");
730
+ }
731
+ }
696
732
  async function runBilling(args) {
697
733
  const subcommand = args[0] ?? "status";
698
734
  switch (subcommand) {
@@ -830,6 +866,28 @@ function parseSetupOptions(args) {
830
866
  }
831
867
  return options;
832
868
  }
869
+ function parseInboxOptions(args) {
870
+ const options = {};
871
+ for (let index = 0;index < args.length; index += 1) {
872
+ const arg = args[index];
873
+ if (arg === "--agent" || arg === "--agent-name") {
874
+ options.agentName = args[++index];
875
+ } else if (arg === "--agent-id") {
876
+ options.agentId = args[++index];
877
+ } else if (arg === "--project") {
878
+ options.projectKey = args[++index];
879
+ } else if (arg === "--session") {
880
+ options.sessionId = args[++index];
881
+ } else if (arg === "--include-delivered") {
882
+ options.includeDelivered = true;
883
+ } else if (arg === "--limit") {
884
+ options.limit = Number(args[++index]);
885
+ } else {
886
+ throw new Error(`Unknown inbox option: ${arg}`);
887
+ }
888
+ }
889
+ return options;
890
+ }
833
891
  function parseHosts(input) {
834
892
  const requested = input.split(",").map((host) => host.trim()).filter(Boolean);
835
893
  const unknown = requested.filter((host) => !SUPPORTED_AGENT_HOSTS.includes(host));
@@ -854,6 +912,7 @@ Usage:
854
912
  mementos setup agents [--dry-run|--verify|--uninstall]
855
913
  mementos inject <query>
856
914
  mementos hook <stop|user-prompt-submit|session-start|subagent-start|subagent-stop|pre-tool-use|post-tool-use|notification|setup|doctor>
915
+ mementos inbox <send|list|claim>
857
916
  mementos billing <status|credits|buy>
858
917
  mementos capabilities
859
918
  mementos agents
package/dist/index.js CHANGED
@@ -43,6 +43,15 @@ class MementosRemoteClient {
43
43
  injectionContext(input = {}) {
44
44
  return this.request("/injections/context", { method: "POST", body: input });
45
45
  }
46
+ sendInboxMessage(input) {
47
+ return this.request("/inbox", { method: "POST", body: input });
48
+ }
49
+ listInboxMessages(input = {}) {
50
+ return this.request("/inbox", { query: input });
51
+ }
52
+ claimInboxMessage(id, input = {}) {
53
+ return this.request(`/inbox/${encodeURIComponent(id)}/claim`, { method: "POST", body: input });
54
+ }
46
55
  getMemory(id) {
47
56
  return this.request(`/memories/${encodeURIComponent(id)}`);
48
57
  }
@@ -137,7 +146,7 @@ function readErrorMessage(payload, status) {
137
146
  }
138
147
  // src/mcp-runtime.ts
139
148
  import { createInterface } from "readline";
140
- var MEMENTOS_MCP_VERSION = "0.14.26";
149
+ var MEMENTOS_MCP_VERSION = "0.14.27";
141
150
  var AUTHLESS_SCHEMA = {
142
151
  type: "object",
143
152
  properties: {},
@@ -205,6 +214,27 @@ var REMOTE_MCP_TOOLS = [
205
214
  inputSchema: AUTHLESS_SCHEMA,
206
215
  run: (_input, client) => client.memoryUsage()
207
216
  },
217
+ {
218
+ name: "inbox.send",
219
+ description: "Send a hosted mementos.md inbox message to an agent.",
220
+ inputSchema: OPEN_SCHEMA,
221
+ run: (input, client) => client.sendInboxMessage(input)
222
+ },
223
+ {
224
+ name: "inbox.list",
225
+ description: "List hosted mementos.md inbox messages for an agent.",
226
+ inputSchema: OPEN_SCHEMA,
227
+ run: (input, client) => client.listInboxMessages(input)
228
+ },
229
+ {
230
+ name: "inbox.claim",
231
+ description: "Claim and mark a hosted mementos.md inbox message delivered.",
232
+ inputSchema: OPEN_SCHEMA,
233
+ run: (input, client) => {
234
+ const { id, ...body } = input;
235
+ return client.claimInboxMessage(requiredText(id, "inbox message id is required"), body);
236
+ }
237
+ },
208
238
  {
209
239
  name: "runs.create",
210
240
  description: "Queue a hosted mementos.md run.",
@@ -1,5 +1,5 @@
1
1
  import { MementosRemoteClient } from "./remote-client";
2
- export declare const MEMENTOS_MCP_VERSION = "0.14.26";
2
+ export declare const MEMENTOS_MCP_VERSION = "0.14.27";
3
3
  export interface RemoteMcpTool {
4
4
  name: string;
5
5
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-runtime.d.ts","sourceRoot":"","sources":["../src/mcp-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAElF,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF;AAaD,eAAO,MAAM,gBAAgB,EAAE,aAAa,EA4G3C,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACnC,MAAM,uBAA8B,oBAKrC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAA8B;;;;;;;;;;;GA8BxF;AAED,wBAAgB,aAAa,CAAC,MAAM,uBAA8B,QAUjE"}
1
+ {"version":3,"file":"mcp-runtime.d.ts","sourceRoot":"","sources":["../src/mcp-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAElF,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF;AAaD,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAiI3C,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACnC,MAAM,uBAA8B,oBAKrC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAA8B;;;;;;;;;;;GA8BxF;AAED,wBAAgB,aAAa,CAAC,MAAM,uBAA8B,QAUjE"}
package/dist/mcp.js CHANGED
@@ -48,6 +48,15 @@ class MementosRemoteClient {
48
48
  injectionContext(input = {}) {
49
49
  return this.request("/injections/context", { method: "POST", body: input });
50
50
  }
51
+ sendInboxMessage(input) {
52
+ return this.request("/inbox", { method: "POST", body: input });
53
+ }
54
+ listInboxMessages(input = {}) {
55
+ return this.request("/inbox", { query: input });
56
+ }
57
+ claimInboxMessage(id, input = {}) {
58
+ return this.request(`/inbox/${encodeURIComponent(id)}/claim`, { method: "POST", body: input });
59
+ }
51
60
  getMemory(id) {
52
61
  return this.request(`/memories/${encodeURIComponent(id)}`);
53
62
  }
@@ -142,7 +151,7 @@ function readErrorMessage(payload, status) {
142
151
  }
143
152
 
144
153
  // src/mcp-runtime.ts
145
- var MEMENTOS_MCP_VERSION = "0.14.26";
154
+ var MEMENTOS_MCP_VERSION = "0.14.27";
146
155
  var AUTHLESS_SCHEMA = {
147
156
  type: "object",
148
157
  properties: {},
@@ -210,6 +219,27 @@ var REMOTE_MCP_TOOLS = [
210
219
  inputSchema: AUTHLESS_SCHEMA,
211
220
  run: (_input, client) => client.memoryUsage()
212
221
  },
222
+ {
223
+ name: "inbox.send",
224
+ description: "Send a hosted mementos.md inbox message to an agent.",
225
+ inputSchema: OPEN_SCHEMA,
226
+ run: (input, client) => client.sendInboxMessage(input)
227
+ },
228
+ {
229
+ name: "inbox.list",
230
+ description: "List hosted mementos.md inbox messages for an agent.",
231
+ inputSchema: OPEN_SCHEMA,
232
+ run: (input, client) => client.listInboxMessages(input)
233
+ },
234
+ {
235
+ name: "inbox.claim",
236
+ description: "Claim and mark a hosted mementos.md inbox message delivered.",
237
+ inputSchema: OPEN_SCHEMA,
238
+ run: (input, client) => {
239
+ const { id, ...body } = input;
240
+ return client.claimInboxMessage(requiredText(id, "inbox message id is required"), body);
241
+ }
242
+ },
213
243
  {
214
244
  name: "runs.create",
215
245
  description: "Queue a hosted mementos.md run.",
@@ -28,6 +28,9 @@ export declare class MementosRemoteClient {
28
28
  saveMemory(input: Record<string, unknown>): Promise<unknown>;
29
29
  searchMemories(input?: Record<string, unknown>): Promise<unknown>;
30
30
  injectionContext(input?: Record<string, unknown>): Promise<unknown>;
31
+ sendInboxMessage(input: Record<string, unknown>): Promise<unknown>;
32
+ listInboxMessages(input?: Record<string, unknown>): Promise<unknown>;
33
+ claimInboxMessage(id: string, input?: Record<string, unknown>): Promise<unknown>;
31
34
  getMemory(id: string): Promise<unknown>;
32
35
  updateMemory(id: string, input: Record<string, unknown>): Promise<unknown>;
33
36
  deleteMemory(id: string): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5F,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;CAM/D;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,MAAM,GAAE,kBAAuB;IAM3C,gBAAgB;IAIhB,UAAU;IAIV,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI5C,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI7C,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIzC,cAAc,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAIlD,gBAAgB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAIpD,SAAS,CAAC,EAAE,EAAE,MAAM;IAIpB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvD,YAAY,CAAC,EAAE,EAAE,MAAM;IAIvB,WAAW;IAIX,QAAQ,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAI5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAI3D,MAAM,CAAC,EAAE,EAAE,MAAM;IAIjB,aAAa;IAIb,aAAa;IAIb,eAAe;IAIf,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAInC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CA4B/D;AAED,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,oBAAoB,CAKrH;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD"}
1
+ {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5F,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;CAM/D;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,MAAM,GAAE,kBAAuB;IAM3C,gBAAgB;IAIhB,UAAU;IAIV,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI5C,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI7C,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIzC,cAAc,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAIlD,gBAAgB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAIpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI/C,iBAAiB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAIrD,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAIjE,SAAS,CAAC,EAAE,EAAE,MAAM;IAIpB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvD,YAAY,CAAC,EAAE,EAAE,MAAM;IAIvB,WAAW;IAIX,QAAQ,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAI5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAI3D,MAAM,CAAC,EAAE,EAAE,MAAM;IAIjB,aAAa;IAIb,aAAa;IAIb,eAAe;IAIf,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAInC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CA4B/D;AAED,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,oBAAoB,CAKrH;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/mementos",
3
- "version": "0.14.26",
3
+ "version": "0.14.27",
4
4
  "description": "Remote-only mementos.md SaaS CLI and MCP client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",