@hasna/mementos 0.14.26 → 0.14.28

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) {
@@ -771,14 +807,16 @@ async function runHook(args) {
771
807
  "user-prompt-submit": "UserPromptSubmit"
772
808
  };
773
809
  if (subcommand in hookEvents) {
774
- const query2 = await readHookQuery();
810
+ const hookInput = await readHookInput();
811
+ const query2 = hookInput.query;
775
812
  const payload = await client.injectionContext({ query: query2, limit: 12 });
776
813
  const block = readTextPayload(payload) ?? formatMemoryInjection(payload);
814
+ const inboxBlock = await readInboxHookContext(hookInput);
777
815
  return {
778
816
  suppressOutput: true,
779
817
  hookSpecificOutput: {
780
818
  hookEventName: hookEvents[subcommand],
781
- additionalContext: block
819
+ additionalContext: combineContextBlocks(inboxBlock, block)
782
820
  }
783
821
  };
784
822
  }
@@ -788,22 +826,97 @@ async function runHook(args) {
788
826
  const query = process.env.MEMENTOS_INJECTION_QUERY ?? process.cwd();
789
827
  return injectMemory([query]);
790
828
  }
791
- async function readHookQuery() {
792
- if (process.env.MEMENTOS_INJECTION_QUERY)
793
- return process.env.MEMENTOS_INJECTION_QUERY;
829
+ async function readHookInput() {
830
+ if (process.env.MEMENTOS_INJECTION_QUERY) {
831
+ return {
832
+ agentName: process.env.MEMENTOS_AGENT_NAME,
833
+ query: process.env.MEMENTOS_INJECTION_QUERY
834
+ };
835
+ }
794
836
  const stdin = await readOptionalStdin();
795
- if (!stdin)
796
- return process.cwd();
837
+ if (!stdin) {
838
+ return {
839
+ agentName: process.env.MEMENTOS_AGENT_NAME,
840
+ query: process.cwd()
841
+ };
842
+ }
797
843
  try {
798
844
  const parsed = JSON.parse(stdin);
799
845
  const prompt = parsed.prompt ?? parsed.userPrompt ?? parsed.message ?? parsed.cwd;
800
- if (typeof prompt === "string" && prompt.trim())
801
- return prompt.trim();
846
+ return {
847
+ agentName: readHookText(parsed.agentName ?? parsed.agent ?? parsed.name) ?? process.env.MEMENTOS_AGENT_NAME,
848
+ projectKey: readHookText(parsed.projectKey ?? parsed.project),
849
+ query: typeof prompt === "string" && prompt.trim() ? prompt.trim() : process.cwd(),
850
+ sessionId: readHookText(parsed.sessionId ?? parsed.session_id)
851
+ };
802
852
  } catch {
803
- if (stdin.trim())
804
- return stdin.trim();
853
+ if (stdin.trim()) {
854
+ return {
855
+ agentName: process.env.MEMENTOS_AGENT_NAME,
856
+ query: stdin.trim()
857
+ };
858
+ }
805
859
  }
806
- return process.cwd();
860
+ return {
861
+ agentName: process.env.MEMENTOS_AGENT_NAME,
862
+ query: process.cwd()
863
+ };
864
+ }
865
+ async function readInboxHookContext(input) {
866
+ if (!input.agentName)
867
+ return;
868
+ const response = await client.listInboxMessages({
869
+ agentName: input.agentName,
870
+ projectKey: input.projectKey,
871
+ sessionId: input.sessionId,
872
+ limit: 10
873
+ });
874
+ const messages = readInboxMessages(response);
875
+ if (messages.length === 0)
876
+ return;
877
+ await Promise.all(messages.map((message) => client.claimInboxMessage(message.id, { agentName: input.agentName })));
878
+ return formatInboxContext(messages);
879
+ }
880
+ function readInboxMessages(payload) {
881
+ if (typeof payload !== "object" || payload === null)
882
+ return [];
883
+ const messages = payload.messages;
884
+ if (!Array.isArray(messages))
885
+ return [];
886
+ return messages.flatMap((message) => {
887
+ if (typeof message !== "object" || message === null)
888
+ return [];
889
+ const record = message;
890
+ const id = readHookText(record.id);
891
+ const value = readHookText(record.message);
892
+ if (!id || !value)
893
+ return [];
894
+ return [{
895
+ id,
896
+ kind: readHookText(record.kind) ?? "directive",
897
+ message: value,
898
+ priority: readHookText(record.priority) ?? "normal",
899
+ title: readHookText(record.title)
900
+ }];
901
+ });
902
+ }
903
+ function formatInboxContext(messages) {
904
+ return [
905
+ "## mementos.md inbox",
906
+ "Apply these hosted agent directives before continuing. They have been claimed remotely.",
907
+ "",
908
+ ...messages.map((message) => `- [${message.priority}] ${message.title ? `${message.title}: ` : ""}${message.message} (${message.kind})`),
909
+ ""
910
+ ].join(`
911
+ `);
912
+ }
913
+ function combineContextBlocks(...blocks) {
914
+ return blocks.map((block) => block?.trim()).filter(Boolean).join(`
915
+
916
+ `);
917
+ }
918
+ function readHookText(value) {
919
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
807
920
  }
808
921
  async function readOptionalStdin() {
809
922
  if (process.stdin.isTTY)
@@ -830,6 +943,28 @@ function parseSetupOptions(args) {
830
943
  }
831
944
  return options;
832
945
  }
946
+ function parseInboxOptions(args) {
947
+ const options = {};
948
+ for (let index = 0;index < args.length; index += 1) {
949
+ const arg = args[index];
950
+ if (arg === "--agent" || arg === "--agent-name") {
951
+ options.agentName = args[++index];
952
+ } else if (arg === "--agent-id") {
953
+ options.agentId = args[++index];
954
+ } else if (arg === "--project") {
955
+ options.projectKey = args[++index];
956
+ } else if (arg === "--session") {
957
+ options.sessionId = args[++index];
958
+ } else if (arg === "--include-delivered") {
959
+ options.includeDelivered = true;
960
+ } else if (arg === "--limit") {
961
+ options.limit = Number(args[++index]);
962
+ } else {
963
+ throw new Error(`Unknown inbox option: ${arg}`);
964
+ }
965
+ }
966
+ return options;
967
+ }
833
968
  function parseHosts(input) {
834
969
  const requested = input.split(",").map((host) => host.trim()).filter(Boolean);
835
970
  const unknown = requested.filter((host) => !SUPPORTED_AGENT_HOSTS.includes(host));
@@ -854,6 +989,7 @@ Usage:
854
989
  mementos setup agents [--dry-run|--verify|--uninstall]
855
990
  mementos inject <query>
856
991
  mementos hook <stop|user-prompt-submit|session-start|subagent-start|subagent-stop|pre-tool-use|post-tool-use|notification|setup|doctor>
992
+ mementos inbox <send|list|claim>
857
993
  mementos billing <status|credits|buy>
858
994
  mementos capabilities
859
995
  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.28";
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.28";
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.28";
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.28",
4
4
  "description": "Remote-only mementos.md SaaS CLI and MCP client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",