bernard-agent 0.4.0 → 0.5.0

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 (138) hide show
  1. package/README.md +69 -14
  2. package/THIRD-PARTY-NOTICES +212 -0
  3. package/dist/agent.d.ts +32 -3
  4. package/dist/agent.js +59 -11
  5. package/dist/agent.js.map +1 -1
  6. package/dist/config.d.ts +67 -0
  7. package/dist/config.js +82 -20
  8. package/dist/config.js.map +1 -1
  9. package/dist/context.d.ts +7 -0
  10. package/dist/context.js +4 -0
  11. package/dist/context.js.map +1 -1
  12. package/dist/cron/cli.d.ts +6 -0
  13. package/dist/cron/cli.js +8 -0
  14. package/dist/cron/cli.js.map +1 -1
  15. package/dist/cron/client.d.ts +9 -0
  16. package/dist/cron/client.js +9 -0
  17. package/dist/cron/client.js.map +1 -1
  18. package/dist/cron/daemon.js +8 -0
  19. package/dist/cron/daemon.js.map +1 -1
  20. package/dist/cron/log-store.d.ts +18 -0
  21. package/dist/cron/log-store.js +22 -7
  22. package/dist/cron/log-store.js.map +1 -1
  23. package/dist/cron/notify.d.ts +7 -0
  24. package/dist/cron/notify.js +16 -0
  25. package/dist/cron/notify.js.map +1 -1
  26. package/dist/cron/runner.d.ts +11 -0
  27. package/dist/cron/runner.js +63 -13
  28. package/dist/cron/runner.js.map +1 -1
  29. package/dist/cron/scheduler.d.ts +16 -0
  30. package/dist/cron/scheduler.js +16 -0
  31. package/dist/cron/scheduler.js.map +1 -1
  32. package/dist/cron/store.d.ts +32 -0
  33. package/dist/cron/store.js +51 -24
  34. package/dist/cron/store.js.map +1 -1
  35. package/dist/cron/types.d.ts +19 -0
  36. package/dist/domains.d.ts +15 -0
  37. package/dist/domains.js +19 -0
  38. package/dist/domains.js.map +1 -1
  39. package/dist/embeddings.d.ts +7 -1
  40. package/dist/embeddings.js +43 -1
  41. package/dist/embeddings.js.map +1 -1
  42. package/dist/facts-cli.d.ts +14 -0
  43. package/dist/facts-cli.js +51 -0
  44. package/dist/facts-cli.js.map +1 -1
  45. package/dist/history.d.ts +8 -0
  46. package/dist/history.js +14 -9
  47. package/dist/history.js.map +1 -1
  48. package/dist/index.d.ts +5 -0
  49. package/dist/index.js +22 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/logger.d.ts +6 -0
  52. package/dist/logger.js +6 -0
  53. package/dist/logger.js.map +1 -1
  54. package/dist/mcp.d.ts +87 -0
  55. package/dist/mcp.js +106 -25
  56. package/dist/mcp.js.map +1 -1
  57. package/dist/memory-context.d.ts +4 -0
  58. package/dist/memory-context.js +4 -2
  59. package/dist/memory-context.js.map +1 -1
  60. package/dist/memory.d.ts +17 -0
  61. package/dist/memory.js +23 -7
  62. package/dist/memory.js.map +1 -1
  63. package/dist/migrate.d.ts +13 -0
  64. package/dist/migrate.js +209 -0
  65. package/dist/migrate.js.map +1 -0
  66. package/dist/output.d.ts +45 -0
  67. package/dist/output.js +61 -0
  68. package/dist/output.js.map +1 -1
  69. package/dist/paths.d.ts +23 -0
  70. package/dist/paths.js +82 -0
  71. package/dist/paths.js.map +1 -0
  72. package/dist/providers/index.d.ts +7 -0
  73. package/dist/providers/index.js +7 -0
  74. package/dist/providers/index.js.map +1 -1
  75. package/dist/providers/types.d.ts +4 -0
  76. package/dist/rag-query.d.ts +20 -0
  77. package/dist/rag-query.js +69 -3
  78. package/dist/rag-query.js.map +1 -1
  79. package/dist/rag-worker.js.map +1 -1
  80. package/dist/rag.d.ts +27 -0
  81. package/dist/rag.js +29 -19
  82. package/dist/rag.js.map +1 -1
  83. package/dist/repl.d.ts +6 -0
  84. package/dist/repl.js +147 -9
  85. package/dist/repl.js.map +1 -1
  86. package/dist/routines.d.ts +49 -0
  87. package/dist/routines.js +172 -0
  88. package/dist/routines.js.map +1 -0
  89. package/dist/setup.d.ts +5 -0
  90. package/dist/setup.js +7 -1
  91. package/dist/setup.js.map +1 -1
  92. package/dist/theme.d.ts +41 -0
  93. package/dist/theme.js +25 -0
  94. package/dist/theme.js.map +1 -1
  95. package/dist/tools/cron-logs.d.ts +6 -0
  96. package/dist/tools/cron-logs.js +6 -0
  97. package/dist/tools/cron-logs.js.map +1 -1
  98. package/dist/tools/cron.d.ts +7 -0
  99. package/dist/tools/cron.js +7 -0
  100. package/dist/tools/cron.js.map +1 -1
  101. package/dist/tools/datetime.d.ts +1 -0
  102. package/dist/tools/datetime.js +1 -0
  103. package/dist/tools/datetime.js.map +1 -1
  104. package/dist/tools/index.d.ts +10 -336
  105. package/dist/tools/index.js +11 -1
  106. package/dist/tools/index.js.map +1 -1
  107. package/dist/tools/mcp-url.d.ts +6 -0
  108. package/dist/tools/mcp-url.js +6 -0
  109. package/dist/tools/mcp-url.js.map +1 -1
  110. package/dist/tools/mcp.d.ts +6 -0
  111. package/dist/tools/mcp.js +6 -0
  112. package/dist/tools/mcp.js.map +1 -1
  113. package/dist/tools/memory.d.ts +14 -0
  114. package/dist/tools/memory.js +16 -1
  115. package/dist/tools/memory.js.map +1 -1
  116. package/dist/tools/routine.d.ts +35 -0
  117. package/dist/tools/routine.js +93 -0
  118. package/dist/tools/routine.js.map +1 -0
  119. package/dist/tools/shell.d.ts +15 -1
  120. package/dist/tools/shell.js +15 -1
  121. package/dist/tools/shell.js.map +1 -1
  122. package/dist/tools/subagent.d.ts +18 -1
  123. package/dist/tools/subagent.js +18 -1
  124. package/dist/tools/subagent.js.map +1 -1
  125. package/dist/tools/time.d.ts +19 -0
  126. package/dist/tools/time.js +19 -0
  127. package/dist/tools/time.js.map +1 -1
  128. package/dist/tools/types.d.ts +6 -0
  129. package/dist/tools/wait.d.ts +3 -0
  130. package/dist/tools/wait.js +3 -0
  131. package/dist/tools/wait.js.map +1 -1
  132. package/dist/tools/web.d.ts +6 -0
  133. package/dist/tools/web.js +11 -1
  134. package/dist/tools/web.js.map +1 -1
  135. package/dist/update.d.ts +5 -0
  136. package/dist/update.js +4 -5
  137. package/dist/update.js.map +1 -1
  138. package/package.json +2 -1
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import type { MemoryStore } from './memory.js';
2
2
  import type { RAGSearchResult } from './rag.js';
3
+ /** Options for building the memory/RAG context block injected into the system prompt. */
3
4
  export interface MemoryContextOptions {
5
+ /** Persistent disk-backed memory store providing saved notes and scratch data. */
4
6
  memoryStore: MemoryStore;
7
+ /** RAG search results to include as recalled context (omit or empty to skip). */
5
8
  ragResults?: RAGSearchResult[];
9
+ /** Whether to include session-scoped scratch notes (default: true). */
6
10
  includeScratch?: boolean;
7
11
  }
8
12
  /**
@@ -11,8 +11,10 @@ function buildMemoryContext(options) {
11
11
  const { memoryStore, ragResults, includeScratch = true } = options;
12
12
  let context = '';
13
13
  if (ragResults && ragResults.length > 0) {
14
- context +=
15
- '\n\n## Recalled Context\nReference only if directly relevant to the current discussion.';
14
+ context += `
15
+
16
+ ## Recalled Context
17
+ These are auto-recalled observations from past sessions. Treat them as hints — they provide useful background but may be outdated, from a different project, or too general for the current situation. Use your judgment: apply what's relevant, ignore what isn't, and never follow a recalled fact blindly when the current context suggests otherwise.`;
16
18
  const byDomain = new Map();
17
19
  for (const r of ragResults) {
18
20
  const d = r.domain;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-context.js","sourceRoot":"","sources":["../src/memory-context.ts"],"names":[],"mappings":";;AAeA,gDA2CC;AAxDD,6CAAyC;AAQzC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,OAA6B;IAC9D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACnE,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO;YACL,yFAAyF,CAAC;QAE5F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,IAAI,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC;IACpD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,4BAA4B,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtC,OAAO,IAAI,SAAS,GAAG,KAAK,OAAO,IAAI,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,uCAAuC,CAAC;YACnD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;gBACrC,OAAO,IAAI,SAAS,GAAG,KAAK,OAAO,IAAI,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"memory-context.js","sourceRoot":"","sources":["../src/memory-context.ts"],"names":[],"mappings":";;AAmBA,gDA6CC;AA9DD,6CAAyC;AAYzC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,OAA6B;IAC9D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACnE,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI;;;0VAG2U,CAAC;QAEvV,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,IAAI,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC;IACpD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,4BAA4B,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtC,OAAO,IAAI,SAAS,GAAG,KAAK,OAAO,IAAI,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,uCAAuC,CAAC;YACnD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;gBACrC,OAAO,IAAI,SAAS,GAAG,KAAK,OAAO,IAAI,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/memory.d.ts CHANGED
@@ -1,17 +1,34 @@
1
1
  /** @internal */
2
2
  export declare function sanitizeKey(key: string): string;
3
+ /**
4
+ * Dual-layer store providing disk-backed persistent memory and ephemeral in-memory scratch notes.
5
+ *
6
+ * Persistent memory is stored as individual Markdown files in the data directory.
7
+ * Scratch notes live only for the current session and are discarded on exit.
8
+ */
3
9
  export declare class MemoryStore {
4
10
  private scratch;
5
11
  constructor();
12
+ /** Returns the keys of all persistent memory entries (filenames without `.md` extension). */
6
13
  listMemory(): string[];
14
+ /** Reads a persistent memory entry by key, returning `null` if it does not exist. */
7
15
  readMemory(key: string): string | null;
16
+ /** Creates or overwrites a persistent memory entry on disk. */
8
17
  writeMemory(key: string, content: string): void;
18
+ /** Deletes a persistent memory entry. Returns `true` if the entry existed and was removed. */
9
19
  deleteMemory(key: string): boolean;
20
+ /** Returns all persistent memory entries as a key-content map. */
10
21
  getAllMemoryContents(): Map<string, string>;
22
+ /** Returns the keys of all scratch notes in the current session. */
11
23
  listScratch(): string[];
24
+ /** Reads a scratch note by key, returning `null` if it does not exist. */
12
25
  readScratch(key: string): string | null;
26
+ /** Creates or overwrites a scratch note for the current session. */
13
27
  writeScratch(key: string, content: string): void;
28
+ /** Deletes a scratch note. Returns `true` if the note existed and was removed. */
14
29
  deleteScratch(key: string): boolean;
30
+ /** Returns a shallow copy of all scratch notes as a key-content map. */
15
31
  getAllScratchContents(): Map<string, string>;
32
+ /** Removes all scratch notes from the current session. */
16
33
  clearScratch(): void;
17
34
  }
package/dist/memory.js CHANGED
@@ -37,39 +37,49 @@ exports.MemoryStore = void 0;
37
37
  exports.sanitizeKey = sanitizeKey;
38
38
  const fs = __importStar(require("node:fs"));
39
39
  const path = __importStar(require("node:path"));
40
- const os = __importStar(require("node:os"));
41
- const MEMORY_DIR = path.join(os.homedir(), '.bernard', 'memory');
40
+ const paths_js_1 = require("./paths.js");
42
41
  /** @internal */
43
42
  function sanitizeKey(key) {
44
43
  return key.replace(/[^a-zA-Z0-9_-]/g, '');
45
44
  }
45
+ /**
46
+ * Dual-layer store providing disk-backed persistent memory and ephemeral in-memory scratch notes.
47
+ *
48
+ * Persistent memory is stored as individual Markdown files in the data directory.
49
+ * Scratch notes live only for the current session and are discarded on exit.
50
+ */
46
51
  class MemoryStore {
47
52
  scratch = new Map();
48
53
  constructor() {
49
- fs.mkdirSync(MEMORY_DIR, { recursive: true });
54
+ fs.mkdirSync(paths_js_1.MEMORY_DIR, { recursive: true });
50
55
  }
51
56
  // --- Persistent Memory (disk-backed) ---
57
+ /** Returns the keys of all persistent memory entries (filenames without `.md` extension). */
52
58
  listMemory() {
53
- const files = fs.readdirSync(MEMORY_DIR);
59
+ const files = fs.readdirSync(paths_js_1.MEMORY_DIR);
54
60
  return files.filter((f) => f.endsWith('.md')).map((f) => f.replace(/\.md$/, ''));
55
61
  }
62
+ /** Reads a persistent memory entry by key, returning `null` if it does not exist. */
56
63
  readMemory(key) {
57
- const filePath = path.join(MEMORY_DIR, `${sanitizeKey(key)}.md`);
64
+ const filePath = path.join(paths_js_1.MEMORY_DIR, `${sanitizeKey(key)}.md`);
58
65
  if (!fs.existsSync(filePath))
59
66
  return null;
60
67
  return fs.readFileSync(filePath, 'utf-8');
61
68
  }
69
+ /** Creates or overwrites a persistent memory entry on disk. */
62
70
  writeMemory(key, content) {
63
- const filePath = path.join(MEMORY_DIR, `${sanitizeKey(key)}.md`);
71
+ const filePath = path.join(paths_js_1.MEMORY_DIR, `${sanitizeKey(key)}.md`);
64
72
  fs.writeFileSync(filePath, content, 'utf-8');
65
73
  }
74
+ /** Deletes a persistent memory entry. Returns `true` if the entry existed and was removed. */
66
75
  deleteMemory(key) {
67
- const filePath = path.join(MEMORY_DIR, `${sanitizeKey(key)}.md`);
76
+ const filePath = path.join(paths_js_1.MEMORY_DIR, `${sanitizeKey(key)}.md`);
68
77
  if (!fs.existsSync(filePath))
69
78
  return false;
70
79
  fs.unlinkSync(filePath);
71
80
  return true;
72
81
  }
82
+ /** Returns all persistent memory entries as a key-content map. */
73
83
  getAllMemoryContents() {
74
84
  const result = new Map();
75
85
  for (const key of this.listMemory()) {
@@ -81,21 +91,27 @@ class MemoryStore {
81
91
  return result;
82
92
  }
83
93
  // --- Scratch Notes (in-memory, session only) ---
94
+ /** Returns the keys of all scratch notes in the current session. */
84
95
  listScratch() {
85
96
  return Array.from(this.scratch.keys());
86
97
  }
98
+ /** Reads a scratch note by key, returning `null` if it does not exist. */
87
99
  readScratch(key) {
88
100
  return this.scratch.get(key) ?? null;
89
101
  }
102
+ /** Creates or overwrites a scratch note for the current session. */
90
103
  writeScratch(key, content) {
91
104
  this.scratch.set(key, content);
92
105
  }
106
+ /** Deletes a scratch note. Returns `true` if the note existed and was removed. */
93
107
  deleteScratch(key) {
94
108
  return this.scratch.delete(key);
95
109
  }
110
+ /** Returns a shallow copy of all scratch notes as a key-content map. */
96
111
  getAllScratchContents() {
97
112
  return new Map(this.scratch);
98
113
  }
114
+ /** Removes all scratch notes from the current session. */
99
115
  clearScratch() {
100
116
  this.scratch.clear();
101
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Migrate files from the legacy `~/.bernard/` layout to XDG directories.
3
+ *
4
+ * - No-op if `BERNARD_HOME` is set (user explicitly controls layout)
5
+ * - No-op if `~/.bernard/` does not exist (fresh install)
6
+ * - No-op if already migrated (MIGRATED marker exists or prefs in XDG location)
7
+ *
8
+ * @returns Object with `migrated` flag and any non-fatal `errors` encountered.
9
+ */
10
+ export declare function migrateFromLegacy(): {
11
+ migrated: boolean;
12
+ errors: string[];
13
+ };
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.migrateFromLegacy = migrateFromLegacy;
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
+ const paths_js_1 = require("./paths.js");
40
+ const MIGRATED_MARKER = path.join(paths_js_1.LEGACY_DIR, 'MIGRATED');
41
+ /** File-to-XDG-category mapping for migration. */
42
+ const MIGRATION_MAP = [
43
+ // Config files
44
+ { src: 'preferences.json', destDir: paths_js_1.CONFIG_DIR },
45
+ { src: 'keys.json', destDir: paths_js_1.CONFIG_DIR, mode: 0o600 },
46
+ { src: '.env', destDir: paths_js_1.CONFIG_DIR },
47
+ { src: 'mcp.json', destDir: paths_js_1.CONFIG_DIR },
48
+ // Cache files
49
+ { src: 'update-check.json', destDir: paths_js_1.CACHE_DIR },
50
+ // State files
51
+ { src: 'conversation-history.json', destDir: paths_js_1.STATE_DIR },
52
+ ];
53
+ /** Directory-to-XDG-category mapping for migration. */
54
+ const DIR_MIGRATION_MAP = [
55
+ // Data directories
56
+ { src: 'memory', destDir: path.join(paths_js_1.DATA_DIR, 'memory') },
57
+ { src: 'rag', destDir: path.join(paths_js_1.DATA_DIR, 'rag') },
58
+ { src: 'cron', destDir: path.join(paths_js_1.DATA_DIR, 'cron') },
59
+ // Cache directories
60
+ { src: 'models', destDir: path.join(paths_js_1.CACHE_DIR, 'models') },
61
+ // State directories
62
+ { src: 'logs', destDir: path.join(paths_js_1.STATE_DIR, 'logs') },
63
+ ];
64
+ /**
65
+ * Move a single file, falling back to copy+delete on cross-filesystem (EXDEV) errors.
66
+ * Creates destination directory if needed.
67
+ */
68
+ function moveFile(src, dest, mode) {
69
+ const destDir = path.dirname(dest);
70
+ fs.mkdirSync(destDir, { recursive: true, mode: 0o700 });
71
+ try {
72
+ fs.renameSync(src, dest);
73
+ }
74
+ catch (err) {
75
+ if (err.code === 'EXDEV') {
76
+ fs.copyFileSync(src, dest);
77
+ fs.unlinkSync(src);
78
+ }
79
+ else {
80
+ throw err;
81
+ }
82
+ }
83
+ if (mode !== undefined) {
84
+ fs.chmodSync(dest, mode);
85
+ }
86
+ }
87
+ /**
88
+ * Recursively move a directory's contents to a new location.
89
+ * Creates the destination directory structure as needed.
90
+ */
91
+ function moveDir(srcDir, destDir) {
92
+ if (!fs.existsSync(srcDir))
93
+ return;
94
+ fs.mkdirSync(destDir, { recursive: true, mode: 0o700 });
95
+ const entries = fs.readdirSync(srcDir, { withFileTypes: true });
96
+ for (const entry of entries) {
97
+ const srcPath = path.join(srcDir, entry.name);
98
+ const destPath = path.join(destDir, entry.name);
99
+ if (entry.isDirectory()) {
100
+ moveDir(srcPath, destPath);
101
+ }
102
+ else {
103
+ moveFile(srcPath, destPath);
104
+ }
105
+ }
106
+ // Remove the now-empty source directory
107
+ try {
108
+ fs.rmdirSync(srcDir);
109
+ }
110
+ catch {
111
+ // May not be empty if some files failed; ignore
112
+ }
113
+ }
114
+ /**
115
+ * Migrate files from the legacy `~/.bernard/` layout to XDG directories.
116
+ *
117
+ * - No-op if `BERNARD_HOME` is set (user explicitly controls layout)
118
+ * - No-op if `~/.bernard/` does not exist (fresh install)
119
+ * - No-op if already migrated (MIGRATED marker exists or prefs in XDG location)
120
+ *
121
+ * @returns Object with `migrated` flag and any non-fatal `errors` encountered.
122
+ */
123
+ function migrateFromLegacy() {
124
+ const errors = [];
125
+ // Skip if user explicitly controls layout
126
+ if (process.env.BERNARD_HOME) {
127
+ return { migrated: false, errors };
128
+ }
129
+ // Skip if legacy dir doesn't exist (fresh install)
130
+ if (!fs.existsSync(paths_js_1.LEGACY_DIR)) {
131
+ return { migrated: false, errors };
132
+ }
133
+ // Skip if already migrated
134
+ if (fs.existsSync(MIGRATED_MARKER)) {
135
+ return { migrated: false, errors };
136
+ }
137
+ if (fs.existsSync(paths_js_1.CONFIG_DIR)) {
138
+ try {
139
+ const entries = fs.readdirSync(paths_js_1.CONFIG_DIR);
140
+ if (entries.length > 0) {
141
+ return { migrated: false, errors };
142
+ }
143
+ }
144
+ catch {
145
+ /* proceed with migration */
146
+ }
147
+ }
148
+ // Ensure XDG base directories exist with 0700
149
+ for (const dir of [paths_js_1.CONFIG_DIR, paths_js_1.DATA_DIR, paths_js_1.CACHE_DIR, paths_js_1.STATE_DIR]) {
150
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
151
+ }
152
+ // Migrate individual files
153
+ for (const entry of MIGRATION_MAP) {
154
+ const srcPath = path.join(paths_js_1.LEGACY_DIR, entry.src);
155
+ if (!fs.existsSync(srcPath))
156
+ continue;
157
+ try {
158
+ const destPath = path.join(entry.destDir, entry.src);
159
+ moveFile(srcPath, destPath, entry.mode);
160
+ }
161
+ catch (err) {
162
+ const msg = `Failed to migrate ${entry.src}: ${err instanceof Error ? err.message : String(err)}`;
163
+ errors.push(msg);
164
+ }
165
+ }
166
+ // Migrate directories
167
+ for (const entry of DIR_MIGRATION_MAP) {
168
+ const srcPath = path.join(paths_js_1.LEGACY_DIR, entry.src);
169
+ if (!fs.existsSync(srcPath))
170
+ continue;
171
+ try {
172
+ moveDir(srcPath, entry.destDir);
173
+ }
174
+ catch (err) {
175
+ const msg = `Failed to migrate ${entry.src}/: ${err instanceof Error ? err.message : String(err)}`;
176
+ errors.push(msg);
177
+ }
178
+ }
179
+ // Also move the daemon PID and log from cron/ to state (they lived under cron/ in legacy)
180
+ for (const file of ['daemon.pid', 'daemon.log']) {
181
+ const srcPath = path.join(paths_js_1.DATA_DIR, 'cron', file);
182
+ if (!fs.existsSync(srcPath))
183
+ continue;
184
+ try {
185
+ const destName = file === 'daemon.pid' ? 'cron-daemon.pid' : 'cron-daemon.log';
186
+ moveFile(srcPath, path.join(paths_js_1.STATE_DIR, destName));
187
+ }
188
+ catch (err) {
189
+ const msg = `Failed to relocate cron/${file}: ${err instanceof Error ? err.message : String(err)}`;
190
+ errors.push(msg);
191
+ }
192
+ }
193
+ // Leave marker explaining the migration
194
+ try {
195
+ fs.writeFileSync(MIGRATED_MARKER, 'Bernard files have been migrated to XDG Base Directory locations.\n' +
196
+ 'See: https://specifications.freedesktop.org/basedir/latest/\n' +
197
+ `Config: ${paths_js_1.CONFIG_DIR}\n` +
198
+ `Data: ${paths_js_1.DATA_DIR}\n` +
199
+ `Cache: ${paths_js_1.CACHE_DIR}\n` +
200
+ `State: ${paths_js_1.STATE_DIR}\n`);
201
+ }
202
+ catch {
203
+ // Non-critical
204
+ }
205
+ // Print one-line notice to stderr
206
+ process.stderr.write(`bernard: migrated data from ~/.bernard/ to XDG directories (see ~/.bernard/MIGRATED)\n`);
207
+ return { migrated: true, errors };
208
+ }
209
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
package/dist/output.d.ts CHANGED
@@ -1,21 +1,66 @@
1
1
  import type { CoreMessage } from 'ai';
2
+ /** Cumulative token-usage statistics displayed alongside the thinking spinner. */
2
3
  export interface SpinnerStats {
4
+ /** Epoch timestamp (ms) when the current agent step began. */
3
5
  startTime: number;
6
+ /** Running total of prompt tokens consumed across all steps. */
4
7
  totalPromptTokens: number;
8
+ /** Running total of completion tokens generated across all steps. */
5
9
  totalCompletionTokens: number;
10
+ /** Prompt tokens for the most recent LLM call (used for compression headroom). */
6
11
  latestPromptTokens: number;
12
+ /** Model identifier, used to look up the context-window size. */
7
13
  model: string;
8
14
  }
15
+ /**
16
+ * Builds the dynamic status text shown next to the spinner animation.
17
+ *
18
+ * Displays elapsed time, cumulative token counts (up/down arrows),
19
+ * and percentage of context window remaining before compression triggers.
20
+ */
9
21
  export declare function buildSpinnerMessage(stats: SpinnerStats): string;
22
+ /**
23
+ * Starts a braille-dot spinner animation on stdout.
24
+ *
25
+ * Hides the cursor and redraws at 80 ms intervals. If a spinner is already
26
+ * running the call is a no-op. Call {@link stopSpinner} to clear it.
27
+ *
28
+ * @param message - Static string or callback returning a dynamic status line.
29
+ */
10
30
  export declare function startSpinner(message?: string | (() => string)): void;
31
+ /** Stops the spinner, clears its line, and restores the cursor. */
11
32
  export declare function stopSpinner(): void;
33
+ /** Prints the branded welcome banner with provider, model, and optional version info. */
12
34
  export declare function printWelcome(provider: string, model: string, version?: string): void;
35
+ /** Prints an assistant response, stopping any active spinner first. */
13
36
  export declare function printAssistantText(text: string, prefix?: string): void;
37
+ /**
38
+ * Prints a one-line summary of a tool invocation.
39
+ *
40
+ * For the `shell` tool the raw command string is shown; for all others
41
+ * the args object is JSON-serialized.
42
+ */
14
43
  export declare function printToolCall(toolName: string, args: Record<string, unknown>, prefix?: string): void;
44
+ /**
45
+ * Prints a tool's return value, truncated to {@link MAX_TOOL_OUTPUT_LENGTH} characters.
46
+ *
47
+ * Handles string results, `{ output: string }` shapes, and arbitrary objects.
48
+ */
15
49
  export declare function printToolResult(toolName: string, result: unknown, prefix?: string): void;
50
+ /** Prints an error message to stderr in the theme's error color. */
16
51
  export declare function printError(message: string): void;
52
+ /** Prints an informational message in the theme's muted color. */
17
53
  export declare function printInfo(message: string): void;
54
+ /**
55
+ * Prints a dimmed summary of a prior conversation for session-resume context.
56
+ *
57
+ * Each message is truncated to {@link MAX_REPLAY_LENGTH} characters.
58
+ * Tool-role messages are skipped.
59
+ */
18
60
  export declare function printConversationReplay(messages: CoreMessage[]): void;
61
+ /** Prints a colored top-border line when a sub-agent begins executing a task. */
19
62
  export declare function printSubAgentStart(id: number, task: string): void;
63
+ /** Prints a colored bottom-border line when a sub-agent finishes. */
20
64
  export declare function printSubAgentEnd(id: number): void;
65
+ /** Prints the REPL help menu listing all available slash commands. */
21
66
  export declare function printHelp(): void;