@memoryblock/core 0.1.4

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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/dist/engine/agent.d.ts +15 -0
  4. package/dist/engine/agent.d.ts.map +1 -0
  5. package/dist/engine/agent.js +19 -0
  6. package/dist/engine/agent.js.map +1 -0
  7. package/dist/engine/conversation-log.d.ts +35 -0
  8. package/dist/engine/conversation-log.d.ts.map +1 -0
  9. package/dist/engine/conversation-log.js +83 -0
  10. package/dist/engine/conversation-log.js.map +1 -0
  11. package/dist/engine/cost-tracker.d.ts +52 -0
  12. package/dist/engine/cost-tracker.d.ts.map +1 -0
  13. package/dist/engine/cost-tracker.js +110 -0
  14. package/dist/engine/cost-tracker.js.map +1 -0
  15. package/dist/engine/gatekeeper.d.ts +20 -0
  16. package/dist/engine/gatekeeper.d.ts.map +1 -0
  17. package/dist/engine/gatekeeper.js +43 -0
  18. package/dist/engine/gatekeeper.js.map +1 -0
  19. package/dist/engine/memory.d.ts +28 -0
  20. package/dist/engine/memory.d.ts.map +1 -0
  21. package/dist/engine/memory.js +69 -0
  22. package/dist/engine/memory.js.map +1 -0
  23. package/dist/engine/monitor.d.ts +81 -0
  24. package/dist/engine/monitor.d.ts.map +1 -0
  25. package/dist/engine/monitor.js +610 -0
  26. package/dist/engine/monitor.js.map +1 -0
  27. package/dist/engine/prompts.d.ts +31 -0
  28. package/dist/engine/prompts.d.ts.map +1 -0
  29. package/dist/engine/prompts.js +93 -0
  30. package/dist/engine/prompts.js.map +1 -0
  31. package/dist/index.d.ts +10 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +14 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/utils/config.d.ts +24 -0
  36. package/dist/utils/config.d.ts.map +1 -0
  37. package/dist/utils/config.js +86 -0
  38. package/dist/utils/config.js.map +1 -0
  39. package/dist/utils/fs.d.ts +18 -0
  40. package/dist/utils/fs.d.ts.map +1 -0
  41. package/dist/utils/fs.js +65 -0
  42. package/dist/utils/fs.js.map +1 -0
  43. package/dist/utils/logger.d.ts +12 -0
  44. package/dist/utils/logger.d.ts.map +1 -0
  45. package/dist/utils/logger.js +40 -0
  46. package/dist/utils/logger.js.map +1 -0
  47. package/package.json +73 -0
@@ -0,0 +1,81 @@
1
+ import type { LLMAdapter, Channel, BlockConfig, IToolRegistry } from '@memoryblock/types';
2
+ export interface MonitorConfig {
3
+ blockPath: string;
4
+ blockConfig: BlockConfig;
5
+ adapter: LLMAdapter;
6
+ registry: IToolRegistry;
7
+ channel: Channel;
8
+ }
9
+ /**
10
+ * The Monitor — a block's resident intelligence.
11
+ *
12
+ * Features:
13
+ * - Identity (name, emoji, personality) persisted to monitor.md
14
+ * - Conversation logging to logs/
15
+ * - System-level cost tracking (no model tokens wasted)
16
+ * - Smart memory: saves only key context at threshold/stop
17
+ * - Safe-command auto-execution (lint, build, test, grep — no approval needed)
18
+ * - Sandbox toggle: sandbox=false gives full filesystem access
19
+ */
20
+ export declare class Monitor {
21
+ private memory;
22
+ private gatekeeper;
23
+ private logger;
24
+ private channel;
25
+ private blockPath;
26
+ private costTracker;
27
+ private messages;
28
+ private running;
29
+ private toolsDiscovered;
30
+ private toolsUsedThisCycle;
31
+ private monitorName;
32
+ private monitorEmoji;
33
+ private blockConfig;
34
+ private adapter;
35
+ private registry;
36
+ constructor(options: {
37
+ blockPath: string;
38
+ blockConfig: BlockConfig;
39
+ adapter: LLMAdapter;
40
+ registry: IToolRegistry;
41
+ channel: Channel;
42
+ });
43
+ start(): Promise<void>;
44
+ stop(): Promise<void>;
45
+ private handleUserMessage;
46
+ private runConversationLoop;
47
+ /** Save smart memory — only key context, not full conversation. For session resumption. */
48
+ private saveSmartMemory;
49
+ private getSystemStatus;
50
+ private createBlockNatively;
51
+ /**
52
+ * Trim tool results in message history to save tokens.
53
+ *
54
+ * This is SYSTEM-LEVEL compaction — no model calls, zero extra cost.
55
+ * Only the internal `this.messages` array is trimmed. Full content is
56
+ * preserved in ConversationLogger and CLIChannel output.
57
+ *
58
+ * Rules:
59
+ * - list_tools_available results → "(N tools discovered)"
60
+ * - read_file results > 500 chars → truncated with note
61
+ * - search_files results > 500 chars → truncated with note
62
+ * - write_file / replace_in_file → kept as-is (already compact)
63
+ * - execute_command output > 1000 chars → truncated
64
+ */
65
+ private trimHistory;
66
+ /**
67
+ * Save trimmed session state for resumption.
68
+ * If the terminal crashes or the user restarts, we can pick up
69
+ * from the trimmed messages rather than starting from scratch.
70
+ * This is separate from memory.md (which is for cross-session context).
71
+ */
72
+ private saveSessionState;
73
+ /** Sync monitor identity after tool calls (since background daemons never restart natively). */
74
+ private syncIdentityFromFiles;
75
+ private dispatchToolCalls;
76
+ private getToolDefinitions;
77
+ private sendToChannel;
78
+ private readFile;
79
+ private buildSystemPrompt;
80
+ }
81
+ //# sourceMappingURL=monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/engine/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EAA8B,OAAO,EAAE,WAAW,EAC5D,aAAa,EAChB,MAAM,oBAAoB,CAAC;AAuB5B,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,OAAO;IAChB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,OAAO,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,OAAO,EAAE,UAAU,CAAC;QACpB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;KACpB;IAsBK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAoCb,iBAAiB;YA0EjB,mBAAmB;IA2EjC,2FAA2F;YAC7E,eAAe;YAuCf,eAAe;YA8Bf,mBAAmB;IA0CjC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;;;OAKG;YACW,gBAAgB;IA0B9B,gGAAgG;YAClF,qBAAqB;YAgDrB,iBAAiB;IAoE/B,OAAO,CAAC,kBAAkB;YAmBZ,aAAa;YAoBb,QAAQ;IAQtB,OAAO,CAAC,iBAAiB;CAgD5B"}