conare 0.4.5 → 0.4.7

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 (2) hide show
  1. package/dist/index.js +23 -21
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -40,6 +40,8 @@ function fitContent(header, rounds) {
40
40
  const user = maxUser > 0 && r.user.length > maxUser ? r.user.slice(0, maxUser) + "..." : r.user;
41
41
  return `## Q: ${user}
42
42
 
43
+ ---
44
+
43
45
  ${r.assistant}`;
44
46
  }).join(`
45
47
 
@@ -546,13 +548,13 @@ async function getRemoteMemoryCount(apiKey) {
546
548
  return null;
547
549
  }
548
550
  }
549
- async function uploadItems(apiKey, items, asyncEmbed = false) {
551
+ async function uploadItems(apiKey, items) {
550
552
  let retries = 4;
551
553
  while (retries > 0) {
552
554
  try {
553
555
  const data = await apiRequest("/api/memories/bulk", apiKey, {
554
556
  method: "POST",
555
- body: JSON.stringify(asyncEmbed ? { items, async: true } : items)
557
+ body: JSON.stringify({ items })
556
558
  });
557
559
  if (!Array.isArray(data.results) || data.results.length !== items.length) {
558
560
  throw new Error("Unexpected bulk upload response");
@@ -583,7 +585,7 @@ async function uploadBulk(apiKey, memories, onProgress) {
583
585
  const results = [];
584
586
  const batches = createUploadBatches(memories);
585
587
  for (const batch of batches) {
586
- let batchResults = await uploadItems(apiKey, batch.items, true);
588
+ let batchResults = await uploadItems(apiKey, batch.items);
587
589
  if (batch.items.length > 1 && batchResults.some((result) => !result.success)) {
588
590
  const retriedResults = [];
589
591
  for (let i = 0;i < batch.items.length; i++) {
@@ -592,7 +594,7 @@ async function uploadBulk(apiKey, memories, onProgress) {
592
594
  retriedResults.push(result);
593
595
  continue;
594
596
  }
595
- const [singleResult] = await uploadItems(apiKey, [batch.items[i]], true);
597
+ const [singleResult] = await uploadItems(apiKey, [batch.items[i]]);
596
598
  retriedResults.push(singleResult);
597
599
  }
598
600
  batchResults = retriedResults;
@@ -614,7 +616,7 @@ async function uploadBulk(apiKey, memories, onProgress) {
614
616
  }
615
617
  return { success, failed, results };
616
618
  }
617
- var API_URL2 = "https://mcp.conare.ai", ApiError, PAGE_SIZE = 200, DELETE_CONCURRENCY = 5;
619
+ var API_URL2 = "https://conare.ai", ApiError, PAGE_SIZE = 200, DELETE_CONCURRENCY = 5;
618
620
  var init_api = __esm(() => {
619
621
  ApiError = class ApiError extends Error {
620
622
  statusCode;
@@ -1764,7 +1766,7 @@ async function promptApiKey(options) {
1764
1766
  validate(value) {
1765
1767
  const resolved = value.trim() || options.savedApiKey || "";
1766
1768
  if (!resolved)
1767
- return "Enter an API key from https://mcp.conare.ai";
1769
+ return "Enter an API key from https://conare.ai";
1768
1770
  if (!resolved.startsWith("cmem_"))
1769
1771
  return "API keys start with cmem_";
1770
1772
  return;
@@ -1796,7 +1798,7 @@ async function promptAuth(options) {
1796
1798
  validate(value) {
1797
1799
  const resolved = value.trim();
1798
1800
  if (!resolved)
1799
- return "Enter an API key from https://mcp.conare.ai";
1801
+ return "Enter an API key from https://conare.ai";
1800
1802
  if (!resolved.startsWith("cmem_"))
1801
1803
  return "API keys start with cmem_";
1802
1804
  return;
@@ -2028,7 +2030,7 @@ async function detect() {
2028
2030
  // src/auth.ts
2029
2031
  import { execSync } from "node:child_process";
2030
2032
  import { platform as platform2 } from "node:os";
2031
- var API_URL = "https://mcp.conare.ai";
2033
+ var API_URL = "https://conare.ai";
2032
2034
  async function browserAuth() {
2033
2035
  const stateBytes = new Uint8Array(16);
2034
2036
  crypto.getRandomValues(stateBytes);
@@ -2583,7 +2585,7 @@ import { existsSync as existsSync6, mkdirSync as mkdirSync2, readFileSync as rea
2583
2585
  import { dirname, join as join7 } from "node:path";
2584
2586
  import { homedir as homedir5, platform as platform5 } from "node:os";
2585
2587
  import { spawnSync } from "node:child_process";
2586
- var CONARE_URL = "https://mcp.conare.ai";
2588
+ var CONARE_URL = "https://conare.ai";
2587
2589
  var SERVER_NAME = "conare";
2588
2590
  var MCP_TARGETS = [
2589
2591
  { id: "claude", label: "Claude Code", defaultSelected: true },
@@ -2829,18 +2831,18 @@ var CLIENT_CONFIGURATORS = {
2829
2831
  };
2830
2832
  var SKILL_MD = `---
2831
2833
  name: conare
2832
- description: Complements the Conare MCP server by teaching the agent when and how to load prior project context, search past sessions, save durable preferences, list stored memories, and forget saved items. Use when the user asks what they worked on before, wants prior context loaded at the start of a task, asks to remember or forget something, or needs past conversations, decisions, or code recalled from memory.
2834
+ description: Load prior project context, search past sessions, save durable preferences, list stored memories, and forget saved items. Use when the user asks what they worked on before, wants prior context loaded at the start of a task, asks to remember or forget something, needs past conversations, decisions, or code recalled from memory, OR when you encounter a reference you don't understand that might exist in the user's memory.
2833
2835
  compatibility: Requires the Conare MCP server tools (\`recall\`, \`search\`, \`save\`, \`list\`, \`forget\`) to be installed and connected.
2834
2836
  metadata:
2835
2837
  author: Conare
2836
- version: 1.1.0
2838
+ version: 1.2.0
2837
2839
  mcp-server: conare
2838
2840
  homepage: https://conare.ai
2839
2841
  ---
2840
2842
 
2841
2843
  # Conare
2842
2844
 
2843
- This skill complements the Conare MCP server. The MCP provides memory tools and live access to stored memories; this skill teaches the agent the default workflow, tool-selection rules, and query patterns that make those tools reliable.
2845
+ This skill teaches the agent the default workflow, tool-selection rules, and query patterns for working with persistent memory across sessions.
2844
2846
 
2845
2847
  ## Primary Use Cases
2846
2848
 
@@ -2896,7 +2898,7 @@ Expected outcome: future \`recall\` calls surface the information automatically
2896
2898
 
2897
2899
  - Use \`after\`/\`before\` (Unix ms) for time-scoped searches: "what did we work on this week?"
2898
2900
  - Use \`containerTag\` to filter by source: \`claude-chats\`, \`codex-chats\`, \`cursor-chats\`, \`codebase\`, \`preferences\`
2899
- - Use \`project\` for cross-project filtering (partial names work: "conare" matches "fun/conare-memory-engine")
2901
+ - Use \`project\` for cross-project filtering (partial names work: "conare" matches "fun/conare")
2900
2902
  - Keep \`limit\` low (3-5) for focused results, higher (10-15) for broad exploration
2901
2903
  - When user asks to "remember" something, save it with \`save\` — it goes to the \`preferences\` container and gets surfaced by \`recall\` in future sessions
2902
2904
 
@@ -3491,14 +3493,14 @@ function printMissingKeyError() {
3491
3493
  console.error("Error: no API key configured.");
3492
3494
  console.error("");
3493
3495
  console.error("Run one of these:");
3494
- console.error(" bunx conare@latest --key YOUR_API_KEY");
3495
- console.error(" npx conare@latest --key YOUR_API_KEY");
3496
+ console.error(" npx conare@latest");
3497
+ console.error(" bunx conare@latest");
3496
3498
  console.error("");
3497
3499
  console.error("For a built-in command, install globally:");
3498
3500
  console.error(" bun add -g conare");
3499
3501
  console.error(" npm i -g conare");
3500
3502
  console.error("");
3501
- console.error("Get your API key at https://mcp.conare.ai");
3503
+ console.error("Get your API key at https://conare.ai");
3502
3504
  }
3503
3505
  function printFailureSummary(results, memories) {
3504
3506
  const failures = results.map((result, index) => ({ ...result, memory: memories[index] })).filter((result) => !result.success);
@@ -3617,7 +3619,7 @@ Options:
3617
3619
  --source <name> Only ingest from: claude, codex, cursor
3618
3620
  --wasm-dir <path> Path to sql.js module (for Cursor ingestion)
3619
3621
 
3620
- Get your API key at https://mcp.conare.ai
3622
+ Get your API key at https://conare.ai
3621
3623
  `);
3622
3624
  process.exit(0);
3623
3625
  }
@@ -3669,7 +3671,7 @@ async function runInstall() {
3669
3671
  }
3670
3672
  const auth = await validateKey(apiKey);
3671
3673
  if (!auth.valid) {
3672
- console.error("Invalid API key. Check your key at https://mcp.conare.ai");
3674
+ console.error("Invalid API key. Check your key at https://conare.ai");
3673
3675
  process.exit(1);
3674
3676
  }
3675
3677
  saveApiKey(apiKey);
@@ -3786,7 +3788,7 @@ async function main() {
3786
3788
  if (opts.installSync) {
3787
3789
  const auth2 = await validateKey(apiKey);
3788
3790
  if (!auth2.valid) {
3789
- console.error("Invalid API key. Check your key at https://mcp.conare.ai");
3791
+ console.error("Invalid API key. Check your key at https://conare.ai");
3790
3792
  process.exit(1);
3791
3793
  }
3792
3794
  const syncSpinner = Y2();
@@ -3799,7 +3801,7 @@ async function main() {
3799
3801
  log("");
3800
3802
  const auth = await validateKey(apiKey);
3801
3803
  if (!auth.valid) {
3802
- console.error("Invalid API key. Check your key at https://mcp.conare.ai");
3804
+ console.error("Invalid API key. Check your key at https://conare.ai");
3803
3805
  process.exit(1);
3804
3806
  }
3805
3807
  saveApiKey(apiKey);
@@ -3836,7 +3838,7 @@ async function main() {
3836
3838
  if (opts.force) {
3837
3839
  clearIngested("codebase");
3838
3840
  try {
3839
- await fetch("https://mcp.conare.ai/api/containers/codebase", {
3841
+ await fetch("https://conare.ai/api/containers/codebase", {
3840
3842
  method: "DELETE",
3841
3843
  headers: { Authorization: `Bearer ${apiKey}` }
3842
3844
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conare",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "Conare CLI for ingesting AI chat history and configuring memory at conare.ai",
5
5
  "type": "module",
6
6
  "bin": {