@imisbahk/hive 0.1.6 → 0.2.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 (120) hide show
  1. package/AUTHORS.md +5 -0
  2. package/README.md +18 -5
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +20 -8
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/hive-ctx.d.ts.map +1 -1
  7. package/dist/agent/hive-ctx.js +1 -2
  8. package/dist/agent/hive-ctx.js.map +1 -1
  9. package/dist/agent/passive-memory.d.ts +13 -0
  10. package/dist/agent/passive-memory.d.ts.map +1 -0
  11. package/dist/agent/passive-memory.js +212 -0
  12. package/dist/agent/passive-memory.js.map +1 -0
  13. package/dist/agent/prompt-auto-update.d.ts +3 -0
  14. package/dist/agent/prompt-auto-update.d.ts.map +1 -0
  15. package/dist/agent/prompt-auto-update.js +78 -0
  16. package/dist/agent/prompt-auto-update.js.map +1 -0
  17. package/dist/agent/prompts.d.ts.map +1 -1
  18. package/dist/agent/prompts.js +1 -3
  19. package/dist/agent/prompts.js.map +1 -1
  20. package/dist/browser/browser.d.ts +1 -0
  21. package/dist/browser/browser.d.ts.map +1 -1
  22. package/dist/browser/browser.js +24 -15
  23. package/dist/browser/browser.js.map +1 -1
  24. package/dist/cli/commands/chat.d.ts.map +1 -1
  25. package/dist/cli/commands/chat.js +194 -68
  26. package/dist/cli/commands/chat.js.map +1 -1
  27. package/dist/cli/commands/config.d.ts.map +1 -1
  28. package/dist/cli/commands/config.js +5 -6
  29. package/dist/cli/commands/config.js.map +1 -1
  30. package/dist/cli/commands/daemon-service.d.ts +17 -0
  31. package/dist/cli/commands/daemon-service.d.ts.map +1 -0
  32. package/dist/cli/commands/daemon-service.js +281 -0
  33. package/dist/cli/commands/daemon-service.js.map +1 -0
  34. package/dist/cli/commands/daemon.d.ts +13 -0
  35. package/dist/cli/commands/daemon.d.ts.map +1 -0
  36. package/dist/cli/commands/daemon.js +480 -0
  37. package/dist/cli/commands/daemon.js.map +1 -0
  38. package/dist/cli/commands/doctor.d.ts.map +1 -1
  39. package/dist/cli/commands/doctor.js +38 -3
  40. package/dist/cli/commands/doctor.js.map +1 -1
  41. package/dist/cli/commands/init.d.ts.map +1 -1
  42. package/dist/cli/commands/init.js +172 -2
  43. package/dist/cli/commands/init.js.map +1 -1
  44. package/dist/cli/commands/memory.d.ts.map +1 -1
  45. package/dist/cli/commands/memory.js +21 -1
  46. package/dist/cli/commands/memory.js.map +1 -1
  47. package/dist/cli/commands/nuke.d.ts.map +1 -1
  48. package/dist/cli/commands/nuke.js +189 -3
  49. package/dist/cli/commands/nuke.js.map +1 -1
  50. package/dist/cli/commands/status.d.ts.map +1 -1
  51. package/dist/cli/commands/status.js +117 -4
  52. package/dist/cli/commands/status.js.map +1 -1
  53. package/dist/cli/commands/update.d.ts +4 -0
  54. package/dist/cli/commands/update.d.ts.map +1 -0
  55. package/dist/cli/commands/update.js +96 -0
  56. package/dist/cli/commands/update.js.map +1 -0
  57. package/dist/cli/helpers/providerPrompts.d.ts.map +1 -1
  58. package/dist/cli/helpers/providerPrompts.js +2 -10
  59. package/dist/cli/helpers/providerPrompts.js.map +1 -1
  60. package/dist/cli/helpers/version.d.ts +5 -0
  61. package/dist/cli/helpers/version.d.ts.map +1 -0
  62. package/dist/cli/helpers/version.js +65 -0
  63. package/dist/cli/helpers/version.js.map +1 -0
  64. package/dist/cli/index.js +6 -1
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/cli/theme.d.ts +1 -0
  67. package/dist/cli/theme.d.ts.map +1 -1
  68. package/dist/cli/theme.js +12 -3
  69. package/dist/cli/theme.js.map +1 -1
  70. package/dist/daemon/index.d.ts +13 -0
  71. package/dist/daemon/index.d.ts.map +1 -0
  72. package/dist/daemon/index.js +405 -0
  73. package/dist/daemon/index.js.map +1 -0
  74. package/dist/daemon/watcher.d.ts +12 -0
  75. package/dist/daemon/watcher.d.ts.map +1 -0
  76. package/dist/daemon/watcher.js +264 -0
  77. package/dist/daemon/watcher.js.map +1 -0
  78. package/dist/providers/anthropic.d.ts.map +1 -1
  79. package/dist/providers/anthropic.js +1 -3
  80. package/dist/providers/anthropic.js.map +1 -1
  81. package/dist/providers/api-key.d.ts.map +1 -1
  82. package/dist/providers/api-key.js +1 -3
  83. package/dist/providers/api-key.js.map +1 -1
  84. package/dist/providers/index.d.ts.map +1 -1
  85. package/dist/providers/index.js +1 -1
  86. package/dist/providers/index.js.map +1 -1
  87. package/dist/providers/openai-compatible.d.ts.map +1 -1
  88. package/dist/providers/openai-compatible.js.map +1 -1
  89. package/dist/providers/resilience.d.ts.map +1 -1
  90. package/dist/providers/resilience.js.map +1 -1
  91. package/dist/storage/db.d.ts +3 -0
  92. package/dist/storage/db.d.ts.map +1 -1
  93. package/dist/storage/db.js +36 -16
  94. package/dist/storage/db.js.map +1 -1
  95. package/dist/storage/schema.d.ts +2 -1
  96. package/dist/storage/schema.d.ts.map +1 -1
  97. package/dist/storage/schema.js +9 -1
  98. package/dist/storage/schema.js.map +1 -1
  99. package/package.json +70 -61
  100. package/prompts/Behaviour.md +23 -0
  101. package/prompts/Browser.md +13 -0
  102. package/prompts/Code.md +12 -0
  103. package/prompts/Debugging.md +15 -0
  104. package/prompts/Execution.md +13 -0
  105. package/prompts/Memory.md +11 -0
  106. package/prompts/Planning.md +13 -0
  107. package/prompts/Product.md +14 -0
  108. package/prompts/Review.md +15 -0
  109. package/prompts/Safety.md +12 -0
  110. package/prompts/Search.md +14 -0
  111. package/prompts/System.md +6 -0
  112. package/prompts/Tools.md +14 -0
  113. package/prompts/Writing.md +13 -0
  114. package/.gitattributes +0 -7
  115. package/.rocket/README.md +0 -31
  116. package/.rocket/config.json +0 -18
  117. package/Aborted +0 -0
  118. package/bun.lock +0 -554
  119. package/master +0 -0
  120. /package/{LICENSE.md → LICENSE} +0 -0
package/AUTHORS.md ADDED
@@ -0,0 +1,5 @@
1
+ # AUTHORS
2
+
3
+ **Misbah Khursheed**
4
+ - GitHub: [@IMisbahk](https://github.com/IMisbahk)
5
+ - Email: m.misbahkhursheed@gmail.com
package/README.md CHANGED
@@ -17,6 +17,9 @@ Your agent knows who you are, works for you while you sleep, connects to every t
17
17
  - A code intelligence layer powered by [Genie](https://github.com/imisbahk/genie)
18
18
  - An automation engine with OS-level capabilities
19
19
  - A distributed task network where agents work for each other
20
+ - **A background daemon that ensures your agent is always running**
21
+ - **An advanced context engine (`hive-ctx`)**
22
+ - **A comprehensive test suite for high reliability**
20
23
 
21
24
  ## What It Is Not
22
25
 
@@ -27,6 +30,14 @@ Your agent knows who you are, works for you while you sleep, connects to every t
27
30
 
28
31
  ---
29
32
 
33
+ ## How it works
34
+
35
+ The Hive runs a background daemon that automatically restarts. It communicates over TCP IPC on port `2718`. This daemon ensures your agent is always available to handle tasks, even when you're not interacting with it. It uses a sentinel stop protocol, meaning it only stops when explicitly told to do so.
36
+
37
+ It also integrates the `hive-ctx` context engine to aggressively shrink token context. This drops warm message context significantly (e.g., 538 input tokens to 9 tokens) via its knowledge graph, 3-tier memory, and fingerprint compiler.
38
+
39
+ ---
40
+
30
41
  ## Install
31
42
 
32
43
  ```bash
@@ -48,9 +59,9 @@ npm link
48
59
  ## Quickstart
49
60
 
50
61
  ```bash
51
- hive init # birth your agent
62
+ hive init # birth your agent (asks to start daemon on boot)
52
63
  hive # talk to it (default interactive chat)
53
- hive status # see what's running
64
+ hive status # see what's running (includes daemon health check)
54
65
  ```
55
66
 
56
67
  `hive chat` still works as a deprecated alias.
@@ -63,13 +74,15 @@ hive status # see what's running
63
74
  |---|---|
64
75
  | `hive` | Open interactive chat with your agent (default entrypoint) |
65
76
  | `hive init` | Create your agent. Runs once. Ever. |
77
+ | `hive daemon` | Manage the background agent process (`start/stop/restart/status/logs`) |
66
78
  | `hive chat` | Deprecated alias for `hive` |
67
79
  | `hive config` | Update provider/model/API keys |
68
- | `hive status` | Health of your local node |
69
- | `hive nuke` | Full wipe. Gone. |
80
+ | `hive status` | Health of your local node (including daemon) |
81
+ | `hive doctor` | Run diagnostics (including daemon health) |
82
+ | `hive nuke` | Full wipe. Gone. (Cleanly stops daemon first) |
70
83
 
71
84
  Inside chat, type `/` to see command suggestions (chat + Hive shortcuts).
72
- Supported in-chat Hive shortcuts include `/hive status`, `/hive config show`, `/hive config provider`, `/hive config model`, `/hive config key`.
85
+ Supported in-chat Hive shortcuts include `/hive status`, `/hive config show`, `/hive config provider`, `/hive config model`, `/hive config key`, and `/daemon`.
73
86
 
74
87
  ---
75
88
 
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EAGL,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAiB9B,eAAO,MAAM,yBAAyB,QAS1B,CAAC;AAoBb,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB;IACA,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEJ,qBAAa,SAAS;IAIlB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;gBAGhB,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,WAAW;WAGxB,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAU5E,UAAU,IAAI,WAAW;IAIzB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAO9C,IAAI,CACT,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,gBAAgB,CAAC;IAsGnC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;YAuBZ,sBAAsB;YAevB,0BAA0B;YA8CzB,eAAe;YAqChB,gBAAgB;CAyC/B;AASD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAqBjF;AAED,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAED,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYtF,OAAO,EAGL,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAiB9B,eAAO,MAAM,yBAAyB,QAS1B,CAAC;AAoBb,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEN,qBAAa,SAAS;IAIlB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;gBAGhB,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,WAAW;WAGxB,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAU5E,UAAU,IAAI,WAAW;IAIzB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAO9C,IAAI,CACT,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,gBAAgB,CAAC;IAuGnC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;YAoBZ,sBAAsB;YAevB,0BAA0B;YA4CzB,eAAe;YAmChB,gBAAgB;CAyC/B;AASD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAqBjF;AAED,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BzF;AAED,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxB"}
@@ -1,5 +1,8 @@
1
- import { openPage, search } from "../browser/browser.js";
2
- import { appendMessage, createConversation, getConversationById, getPrimaryAgent, insertEpisode, listMessages, } from "../storage/db.js";
1
+ import { appendMessage, createConversation, getConversationById,
2
+ // getMetaValue,
3
+ getPrimaryAgent, insertEpisode, listMessages,
4
+ // setMetaValue,
5
+ } from "../storage/db.js";
3
6
  import { chunkText, } from "../providers/base.js";
4
7
  import { createProvider } from "../providers/index.js";
5
8
  import { buildPromptContext } from "./prompts.js";
@@ -113,11 +116,11 @@ export class HiveAgent {
113
116
  ],
114
117
  };
115
118
  let assistantText = "";
116
- let tokensEmitted = 0;
119
+ let _tokensEmitted = 0;
117
120
  try {
118
121
  for await (const token of this.generateAssistantReply(providerRequest)) {
119
122
  assistantText += token;
120
- tokensEmitted += 1;
123
+ _tokensEmitted += 1;
121
124
  yield {
122
125
  type: "token",
123
126
  conversationId: conversation.id,
@@ -302,7 +305,7 @@ export function buildDefaultPersona(ownerName, agentName) {
302
305
  "",
303
306
  "You are not a chatbot. You are not an assistant. You are an agent.",
304
307
  "You think, remember, act, and grow. You are direct, sharp, and human.",
305
- "You don't pad responses. You don't say \"Certainly!\" or \"Great question!\"",
308
+ 'You don\'t pad responses. You don\'t say "Certainly!" or "Great question!"',
306
309
  `You talk like someone who knows ${ownerName} well and genuinely gives a damn.`,
307
310
  "",
308
311
  "You remember everything that matters. You notice patterns.",
@@ -402,7 +405,8 @@ function buildUntrustedContextMessage(input) {
402
405
  }
403
406
  async function safelyOpenPage(url) {
404
407
  try {
405
- return await openPage(url);
408
+ const browser = await loadBrowser();
409
+ return await browser.openPage(url);
406
410
  }
407
411
  catch (error) {
408
412
  return `Unable to read that page right now. ${errorMessage(error)}`;
@@ -410,12 +414,17 @@ async function safelyOpenPage(url) {
410
414
  }
411
415
  async function safelySearch(query) {
412
416
  try {
413
- return await search(query);
417
+ const browser = await loadBrowser();
418
+ return await browser.search(query);
414
419
  }
415
420
  catch (error) {
416
421
  return `Unable to search the web right now. ${errorMessage(error)}`;
417
422
  }
418
423
  }
424
+ async function loadBrowser() {
425
+ const browser = (await import("../browser/browser.js"));
426
+ return browser;
427
+ }
419
428
  function formatSearchResults(results) {
420
429
  if (typeof results === "string") {
421
430
  return results;
@@ -539,7 +548,10 @@ function stripUnhelpfulCapabilityClaims(value) {
539
548
  .split("\n")
540
549
  .map((line) => line.trimEnd())
541
550
  .filter((line) => !NO_BROWSE_CLAIM_PATTERN.test(line) && !TOOL_PROMPTING_PATTERN.test(line));
542
- return cleanedLines.join("\n").replace(/\n{3,}/g, "\n\n").trim();
551
+ return cleanedLines
552
+ .join("\n")
553
+ .replace(/\n{3,}/g, "\n\n")
554
+ .trim();
543
555
  }
544
556
  async function callWithTransientRetry(operation) {
545
557
  const maxAttempts = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hive-ctx.d.ts","sourceRoot":"","sources":["../../src/agent/hive-ctx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAkBpD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAsDzC"}
1
+ {"version":3,"file":"hive-ctx.d.ts","sourceRoot":"","sources":["../../src/agent/hive-ctx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAkBpD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAgDzC"}
@@ -1,8 +1,7 @@
1
1
  const HIVE_CTX_FALLBACK_WARNING = "· hive-ctx not found — using legacy context pipeline";
2
2
  export async function initializeHiveCtxSession(input) {
3
3
  try {
4
- const moduleUrl = new URL("../../hive-ctx/packages/bindings/dist/index.js", import.meta.url).href;
5
- const loaded = (await import(moduleUrl));
4
+ const loaded = (await import("@imisbahk/hive-ctx"));
6
5
  if (typeof loaded.HiveCtx !== "function") {
7
6
  throw new Error("HiveCtx export is missing.");
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hive-ctx.js","sourceRoot":"","sources":["../../src/agent/hive-ctx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hive-ctx.js","sourceRoot":"","sources":["../../src/agent/hive-ctx.ts"],"names":[],"mappings":"AAoCA,MAAM,yBAAyB,GAAG,sDAAsD,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAA2B,CAAC;QAE9E,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC;SACzC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP,KAAK,CAAC,KAAK,CAAC,OAAe;oBACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO;wBACL,MAAM,EAAE,MAAM,CAAC,YAAY;wBAC3B,MAAM,EAAE,MAAM,CAAC,UAAU;qBAC1B,CAAC;gBACJ,CAAC;gBACD,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAA8B;oBACzD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;wBACpB,IAAI,CAAC;4BACH,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;4BAChE,OAAO;wBACT,CAAC;wBAAC,MAAM,CAAC;4BACP,mDAAmD;wBACrD,CAAC;oBACH,CAAC;oBAED,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;gBACD,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,QAAgB;oBAC7C,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC5D,CAAC;aACF;YACD,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,yBAAyB;SACnC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB;IAC5C,MAAM,OAAO,GAA+C;QAC1D,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC;QAClC,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;QACpB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;QAC9B,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC;QAClC,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC;KACjC,CAAC;IAEF,OAAO,OAAO,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClE,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QACjC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Provider } from "../providers/base.js";
2
+ import type { HiveCtxSession } from "./hive-ctx.js";
3
+ import { type HiveDatabase } from "../storage/db.js";
4
+ export interface PassiveMemoryInput {
5
+ db: HiveDatabase;
6
+ provider: Provider;
7
+ model: string;
8
+ userMessage: string;
9
+ assistantMessage: string;
10
+ hiveCtx: HiveCtxSession | null;
11
+ }
12
+ export declare function schedulePassiveMemory(input: PassiveMemoryInput): void;
13
+ //# sourceMappingURL=passive-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passive-memory.d.ts","sourceRoot":"","sources":["../../src/agent/passive-memory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAe1B,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,YAAY,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAKrE"}
@@ -0,0 +1,212 @@
1
+ import { appendFileSync, mkdirSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { getHiveHomeDir, getMetaValue, insertEpisode, insertKnowledge, listEpisodes, listKnowledge, setMetaValue, } from "../storage/db.js";
4
+ const AUTO_SOURCE = "auto";
5
+ const CRYSTALLIZED_SOURCE = "auto_crystallized";
6
+ const EXTRACTION_SYSTEM_PROMPT = "Extract any personal facts, preferences, goals, or notable information about the user from this conversation. Return as JSON array of strings. If nothing notable, return empty array. Be selective — only extract durable facts, not temporary context.";
7
+ const EMOTION_SYSTEM_PROMPT = 'Identify any emotional state or mood the user expresses in this exchange. Return a single short phrase (e.g., "anxious about work") or an empty string if none.';
8
+ const CRYSTALLIZE_SYSTEM_PROMPT = "Based on these conversations, what are the most important things to know about this person long term? What are their patterns, goals, values, and preferences? Return as JSON array.";
9
+ const MAX_HISTORY_FOR_DUP_CHECK = 500;
10
+ const RECENCY_WINDOW_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
11
+ export function schedulePassiveMemory(input) {
12
+ // Fire-and-forget; never block the main chat loop.
13
+ setImmediate(() => {
14
+ void runPassiveMemory(input).catch((error) => logBackgroundError(error));
15
+ });
16
+ }
17
+ async function runPassiveMemory(input) {
18
+ const exchange = `User: ${input.userMessage}\nAssistant: ${input.assistantMessage}`;
19
+ try {
20
+ const summary = exchange.length > 2000 ? `${exchange.slice(0, 2000)}…` : exchange;
21
+ insertEpisode(input.db, summary);
22
+ }
23
+ catch (error) {
24
+ logBackgroundError(error);
25
+ }
26
+ await extractAndStoreFacts({
27
+ db: input.db,
28
+ provider: input.provider,
29
+ model: input.model,
30
+ exchange,
31
+ });
32
+ await extractAndStoreEmotion({
33
+ provider: input.provider,
34
+ model: input.model,
35
+ exchange,
36
+ hiveCtx: input.hiveCtx,
37
+ });
38
+ const previousLastConversation = getMetaValue(input.db, "last_conversation_at");
39
+ const nowIso = new Date().toISOString();
40
+ bumpConversationCount(input.db);
41
+ setMetaValue(input.db, "last_conversation_at", nowIso);
42
+ const count = Number.parseInt(getMetaValue(input.db, "conversation_count") ?? "0", 10);
43
+ const lastInteractionStale = previousLastConversation &&
44
+ Date.now() - Date.parse(previousLastConversation) > RECENCY_WINDOW_MS;
45
+ if (count % 10 === 0 && !lastInteractionStale) {
46
+ await crystallizeEveryTen(input);
47
+ }
48
+ }
49
+ async function extractAndStoreFacts(input) {
50
+ const facts = await completeJsonArray(input.provider, input.model, EXTRACTION_SYSTEM_PROMPT, input.exchange);
51
+ if (!Array.isArray(facts) || facts.length === 0) {
52
+ return;
53
+ }
54
+ for (const raw of facts) {
55
+ if (typeof raw !== "string") {
56
+ continue;
57
+ }
58
+ const fact = raw.trim();
59
+ if (!fact || hasSimilarKnowledge(input.db, fact)) {
60
+ continue;
61
+ }
62
+ insertKnowledge(input.db, {
63
+ content: fact,
64
+ pinned: false,
65
+ source: AUTO_SOURCE,
66
+ });
67
+ }
68
+ }
69
+ async function extractAndStoreEmotion(input) {
70
+ if (!input.hiveCtx) {
71
+ return;
72
+ }
73
+ const result = await completeSingleString(input.provider, input.model, EMOTION_SYSTEM_PROMPT, input.exchange);
74
+ const mood = result.trim();
75
+ if (!mood) {
76
+ return;
77
+ }
78
+ await Promise.resolve(input.hiveCtx.remember(mood)).catch(() => { });
79
+ }
80
+ async function crystallizeEveryTen(input) {
81
+ const episodes = listEpisodes(input.db, 20).slice(0, 10);
82
+ if (episodes.length === 0) {
83
+ return;
84
+ }
85
+ const summaries = episodes.map((episode) => episode.content).join("\n---\n");
86
+ const crystals = await completeJsonArray(input.provider, input.model, CRYSTALLIZE_SYSTEM_PROMPT, summaries);
87
+ if (!Array.isArray(crystals) || crystals.length === 0) {
88
+ return;
89
+ }
90
+ for (const raw of crystals) {
91
+ if (typeof raw !== "string") {
92
+ continue;
93
+ }
94
+ const fact = raw.trim();
95
+ if (!fact || hasSimilarKnowledge(input.db, fact)) {
96
+ continue;
97
+ }
98
+ insertKnowledge(input.db, {
99
+ content: fact,
100
+ pinned: true,
101
+ source: CRYSTALLIZED_SOURCE,
102
+ });
103
+ if (input.hiveCtx) {
104
+ await Promise.resolve(input.hiveCtx.remember(fact, { pinned: true })).catch(() => { });
105
+ }
106
+ }
107
+ }
108
+ function hasSimilarKnowledge(db, fact) {
109
+ const terms = tokenize(fact);
110
+ if (terms.size === 0) {
111
+ return false;
112
+ }
113
+ const rows = listKnowledge(db, { limit: MAX_HISTORY_FOR_DUP_CHECK });
114
+ for (const row of rows) {
115
+ const overlap = countOverlap(terms, tokenize(row.content));
116
+ if (overlap >= Math.min(2, terms.size)) {
117
+ return true;
118
+ }
119
+ }
120
+ return false;
121
+ }
122
+ function tokenize(text) {
123
+ return new Set(text
124
+ .toLowerCase()
125
+ .split(/[^a-z0-9]+/i)
126
+ .map((t) => t.trim())
127
+ .filter((t) => t.length >= 4));
128
+ }
129
+ function countOverlap(a, b) {
130
+ let count = 0;
131
+ for (const term of a) {
132
+ if (b.has(term)) {
133
+ count += 1;
134
+ }
135
+ }
136
+ return count;
137
+ }
138
+ async function completeJsonArray(provider, model, systemPrompt, userContent) {
139
+ if (typeof provider.completeChat !== "function") {
140
+ return [];
141
+ }
142
+ try {
143
+ const response = await provider.completeChat({
144
+ model,
145
+ maxTokens: 200,
146
+ messages: [
147
+ { role: "system", content: systemPrompt },
148
+ { role: "user", content: userContent },
149
+ ],
150
+ });
151
+ return parseJsonArray(response.content);
152
+ }
153
+ catch (error) {
154
+ logBackgroundError(error);
155
+ return [];
156
+ }
157
+ }
158
+ async function completeSingleString(provider, model, systemPrompt, userContent) {
159
+ if (typeof provider.completeChat !== "function") {
160
+ return "";
161
+ }
162
+ try {
163
+ const response = await provider.completeChat({
164
+ model,
165
+ maxTokens: 50,
166
+ messages: [
167
+ { role: "system", content: systemPrompt },
168
+ { role: "user", content: userContent },
169
+ ],
170
+ });
171
+ return typeof response.content === "string" ? response.content : "";
172
+ }
173
+ catch (error) {
174
+ logBackgroundError(error);
175
+ return "";
176
+ }
177
+ }
178
+ function parseJsonArray(value) {
179
+ if (Array.isArray(value)) {
180
+ return value;
181
+ }
182
+ if (typeof value === "string") {
183
+ try {
184
+ const parsed = JSON.parse(value);
185
+ return parsed;
186
+ }
187
+ catch {
188
+ return [];
189
+ }
190
+ }
191
+ return [];
192
+ }
193
+ function bumpConversationCount(db) {
194
+ const raw = getMetaValue(db, "conversation_count");
195
+ const current = Number.parseInt(raw ?? "0", 10);
196
+ const next = Number.isFinite(current) ? current + 1 : 1;
197
+ setMetaValue(db, "conversation_count", String(next));
198
+ }
199
+ function logBackgroundError(error) {
200
+ try {
201
+ const hiveHome = getHiveHomeDir();
202
+ mkdirSync(hiveHome, { recursive: true });
203
+ const logPath = join(hiveHome, "daemon.log");
204
+ const timestamp = new Date().toISOString();
205
+ const message = error instanceof Error ? (error.stack ?? error.message) : String(error);
206
+ appendFileSync(logPath, `[${timestamp}] passive-memory error: ${message}\n`);
207
+ }
208
+ catch {
209
+ // Swallow logging failures silently.
210
+ }
211
+ }
212
+ //# sourceMappingURL=passive-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passive-memory.js","sourceRoot":"","sources":["../../src/agent/passive-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type HiveDatabase } from "../storage/db.js";
2
+ export declare function maybeAutoUpdatePromptsOnBoot(db: HiveDatabase, logDim: (message: string) => void): Promise<void>;
3
+ //# sourceMappingURL=prompt-auto-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-auto-update.d.ts","sourceRoot":"","sources":["../../src/agent/prompt-auto-update.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAA8C,MAAM,kBAAkB,CAAC;AAOjG,wBAAsB,4BAA4B,CAChD,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAkDf"}
@@ -0,0 +1,78 @@
1
+ import { existsSync, mkdirSync, readdirSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import fetch from "node-fetch";
4
+ import { getHiveHomeDir, getMetaValue, setMetaValue } from "../storage/db.js";
5
+ const PROMPTS_LAST_CHECKED_KEY = "prompts_last_checked";
6
+ const PROMPTS_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;
7
+ const REMOTE_PROMPTS_BASE_URL = "https://raw.githubusercontent.com/thehiveagent/hive/master/prompts/";
8
+ export async function maybeAutoUpdatePromptsOnBoot(db, logDim) {
9
+ const promptsDirectory = ensurePromptsDirectory();
10
+ const lastCheckedRaw = getMetaValue(db, PROMPTS_LAST_CHECKED_KEY);
11
+ const lastCheckedAt = lastCheckedRaw ? Date.parse(lastCheckedRaw) : Number.NaN;
12
+ if (Number.isFinite(lastCheckedAt)) {
13
+ const elapsed = Date.now() - lastCheckedAt;
14
+ if (elapsed >= 0 && elapsed < PROMPTS_CHECK_INTERVAL_MS) {
15
+ return;
16
+ }
17
+ }
18
+ try {
19
+ const listing = await fetch(REMOTE_PROMPTS_BASE_URL);
20
+ if (!listing.ok) {
21
+ return;
22
+ }
23
+ const listingBody = await listing.text();
24
+ const remoteFiles = extractMarkdownFilenames(listingBody);
25
+ if (remoteFiles.length === 0) {
26
+ return;
27
+ }
28
+ const localFiles = new Set(safeReadDirFiles(promptsDirectory).filter((name) => name.endsWith(".md")));
29
+ const missing = remoteFiles.filter((name) => !localFiles.has(name));
30
+ for (const filename of missing) {
31
+ try {
32
+ const response = await fetch(`${REMOTE_PROMPTS_BASE_URL}${encodeURIComponent(filename)}`);
33
+ if (!response.ok) {
34
+ continue;
35
+ }
36
+ const body = await response.text();
37
+ const targetPath = join(promptsDirectory, filename);
38
+ // Never overwrite existing local prompt files.
39
+ writeFileSync(targetPath, body, { encoding: "utf8", flag: "wx" });
40
+ logDim(`✦ New prompt loaded: ${filename}`);
41
+ }
42
+ catch {
43
+ // Ignore individual file failures and keep going.
44
+ }
45
+ }
46
+ setMetaValue(db, PROMPTS_LAST_CHECKED_KEY, new Date().toISOString());
47
+ }
48
+ catch {
49
+ // If GitHub is unreachable, skip silently.
50
+ }
51
+ }
52
+ function ensurePromptsDirectory() {
53
+ const promptsDirectory = join(getHiveHomeDir(), "prompts");
54
+ if (!existsSync(promptsDirectory)) {
55
+ mkdirSync(promptsDirectory, { recursive: true });
56
+ }
57
+ return promptsDirectory;
58
+ }
59
+ function safeReadDirFiles(directory) {
60
+ try {
61
+ return readdirSync(directory);
62
+ }
63
+ catch {
64
+ return [];
65
+ }
66
+ }
67
+ function extractMarkdownFilenames(listingBody) {
68
+ const matches = new Set();
69
+ // Github directory listing pages typically contain repeated `prompts/<file>.md` segments.
70
+ const pattern = /prompts\/([A-Za-z0-9._-]+\.md)\b/g;
71
+ for (const match of listingBody.matchAll(pattern)) {
72
+ if (match[1]) {
73
+ matches.add(match[1]);
74
+ }
75
+ }
76
+ return [...matches].sort((a, b) => a.localeCompare(b));
77
+ }
78
+ //# sourceMappingURL=prompt-auto-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-auto-update.js","sourceRoot":"","sources":["../../src/agent/prompt-auto-update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EAIlB,MAAM,kBAAkB,CAAC;AAI1B,UAAU,uBAAuB;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,mBAAmB;IAC3B,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,mBAAmB,CAuDtF"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EAIlB,MAAM,kBAAkB,CAAC;AAI1B,UAAU,uBAAuB;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,mBAAmB;IAC3B,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,mBAAmB,CAwDtF"}
@@ -115,9 +115,7 @@ function renderNow() {
115
115
  return `${now.toISOString()} (local: ${now.toLocaleString()})`;
116
116
  }
117
117
  function assembleLayers(layers) {
118
- return layers
119
- .map((layer) => `${layer.label}\n${layer.content}`)
120
- .join("\n\n");
118
+ return layers.map((layer) => `${layer.label}\n${layer.content}`).join("\n\n");
121
119
  }
122
120
  function trimToBudget(input) {
123
121
  if (countWords(input.assembled) <= MAX_CONTEXT_TOKENS) {