openclawdreams 3.0.4 → 3.0.6

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 (127) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/openclaw.plugin.json +1 -1
  3. package/package.json +1 -1
  4. package/dist/bin/electricsheep.d.ts +0 -3
  5. package/dist/bin/electricsheep.d.ts.map +0 -1
  6. package/dist/bin/electricsheep.js +0 -4
  7. package/dist/bin/electricsheep.js.map +0 -1
  8. package/dist/bin/openclawdreams.d.ts +0 -3
  9. package/dist/bin/openclawdreams.d.ts.map +0 -1
  10. package/dist/bin/openclawdreams.js +0 -4
  11. package/dist/bin/openclawdreams.js.map +0 -1
  12. package/dist/src/backfill.d.ts +0 -2
  13. package/dist/src/backfill.d.ts.map +0 -1
  14. package/dist/src/backfill.js +0 -63
  15. package/dist/src/backfill.js.map +0 -1
  16. package/dist/src/budget.d.ts +0 -28
  17. package/dist/src/budget.d.ts.map +0 -1
  18. package/dist/src/budget.js +0 -117
  19. package/dist/src/budget.js.map +0 -1
  20. package/dist/src/cli.d.ts +0 -19
  21. package/dist/src/cli.d.ts.map +0 -1
  22. package/dist/src/cli.js +0 -584
  23. package/dist/src/cli.js.map +0 -1
  24. package/dist/src/config.d.ts +0 -76
  25. package/dist/src/config.d.ts.map +0 -1
  26. package/dist/src/config.js +0 -178
  27. package/dist/src/config.js.map +0 -1
  28. package/dist/src/crypto.d.ts +0 -19
  29. package/dist/src/crypto.d.ts.map +0 -1
  30. package/dist/src/crypto.js +0 -70
  31. package/dist/src/crypto.js.map +0 -1
  32. package/dist/src/dreamer.d.ts +0 -68
  33. package/dist/src/dreamer.d.ts.map +0 -1
  34. package/dist/src/dreamer.js +0 -550
  35. package/dist/src/dreamer.js.map +0 -1
  36. package/dist/src/entropy.d.ts +0 -23
  37. package/dist/src/entropy.d.ts.map +0 -1
  38. package/dist/src/entropy.js +0 -188
  39. package/dist/src/entropy.js.map +0 -1
  40. package/dist/src/filter.d.ts +0 -30
  41. package/dist/src/filter.d.ts.map +0 -1
  42. package/dist/src/filter.js +0 -124
  43. package/dist/src/filter.js.map +0 -1
  44. package/dist/src/identity.d.ts +0 -29
  45. package/dist/src/identity.d.ts.map +0 -1
  46. package/dist/src/identity.js +0 -83
  47. package/dist/src/identity.js.map +0 -1
  48. package/dist/src/index.d.ts +0 -14
  49. package/dist/src/index.d.ts.map +0 -1
  50. package/dist/src/index.js +0 -463
  51. package/dist/src/index.js.map +0 -1
  52. package/dist/src/ingestion.d.ts +0 -22
  53. package/dist/src/ingestion.d.ts.map +0 -1
  54. package/dist/src/ingestion.js +0 -101
  55. package/dist/src/ingestion.js.map +0 -1
  56. package/dist/src/llm.d.ts +0 -26
  57. package/dist/src/llm.d.ts.map +0 -1
  58. package/dist/src/llm.js +0 -40
  59. package/dist/src/llm.js.map +0 -1
  60. package/dist/src/logger.d.ts +0 -6
  61. package/dist/src/logger.d.ts.map +0 -1
  62. package/dist/src/logger.js +0 -32
  63. package/dist/src/logger.js.map +0 -1
  64. package/dist/src/memory.d.ts +0 -96
  65. package/dist/src/memory.d.ts.map +0 -1
  66. package/dist/src/memory.js +0 -467
  67. package/dist/src/memory.js.map +0 -1
  68. package/dist/src/meta-loop.d.ts +0 -23
  69. package/dist/src/meta-loop.d.ts.map +0 -1
  70. package/dist/src/meta-loop.js +0 -72
  71. package/dist/src/meta-loop.js.map +0 -1
  72. package/dist/src/moltbook-search.d.ts +0 -23
  73. package/dist/src/moltbook-search.d.ts.map +0 -1
  74. package/dist/src/moltbook-search.js +0 -85
  75. package/dist/src/moltbook-search.js.map +0 -1
  76. package/dist/src/moltbook.d.ts +0 -34
  77. package/dist/src/moltbook.d.ts.map +0 -1
  78. package/dist/src/moltbook.js +0 -192
  79. package/dist/src/moltbook.js.map +0 -1
  80. package/dist/src/nightmare.d.ts +0 -11
  81. package/dist/src/nightmare.d.ts.map +0 -1
  82. package/dist/src/nightmare.js +0 -126
  83. package/dist/src/nightmare.js.map +0 -1
  84. package/dist/src/notify.d.ts +0 -20
  85. package/dist/src/notify.d.ts.map +0 -1
  86. package/dist/src/notify.js +0 -95
  87. package/dist/src/notify.js.map +0 -1
  88. package/dist/src/persona.d.ts +0 -30
  89. package/dist/src/persona.d.ts.map +0 -1
  90. package/dist/src/persona.js +0 -292
  91. package/dist/src/persona.js.map +0 -1
  92. package/dist/src/reflection.d.ts +0 -26
  93. package/dist/src/reflection.d.ts.map +0 -1
  94. package/dist/src/reflection.js +0 -127
  95. package/dist/src/reflection.js.map +0 -1
  96. package/dist/src/rhythm.d.ts +0 -19
  97. package/dist/src/rhythm.d.ts.map +0 -1
  98. package/dist/src/rhythm.js +0 -130
  99. package/dist/src/rhythm.js.map +0 -1
  100. package/dist/src/state.d.ts +0 -7
  101. package/dist/src/state.d.ts.map +0 -1
  102. package/dist/src/state.js +0 -40
  103. package/dist/src/state.js.map +0 -1
  104. package/dist/src/synthesis.d.ts +0 -29
  105. package/dist/src/synthesis.d.ts.map +0 -1
  106. package/dist/src/synthesis.js +0 -144
  107. package/dist/src/synthesis.js.map +0 -1
  108. package/dist/src/topics.d.ts +0 -19
  109. package/dist/src/topics.d.ts.map +0 -1
  110. package/dist/src/topics.js +0 -84
  111. package/dist/src/topics.js.map +0 -1
  112. package/dist/src/types.d.ts +0 -253
  113. package/dist/src/types.d.ts.map +0 -1
  114. package/dist/src/types.js +0 -5
  115. package/dist/src/types.js.map +0 -1
  116. package/dist/src/vocabulary.d.ts +0 -18
  117. package/dist/src/vocabulary.d.ts.map +0 -1
  118. package/dist/src/vocabulary.js +0 -121
  119. package/dist/src/vocabulary.js.map +0 -1
  120. package/dist/src/waking.d.ts +0 -27
  121. package/dist/src/waking.d.ts.map +0 -1
  122. package/dist/src/waking.js +0 -188
  123. package/dist/src/waking.js.map +0 -1
  124. package/dist/src/web-search.d.ts +0 -23
  125. package/dist/src/web-search.d.ts.map +0 -1
  126. package/dist/src/web-search.js +0 -64
  127. package/dist/src/web-search.js.map +0 -1
@@ -1,76 +0,0 @@
1
- /**
2
- * Configuration management.
3
- */
4
- export declare const getBaseDir: () => string;
5
- export declare const getDataDir: () => string;
6
- export declare const getMemoryDir: () => string;
7
- export declare const getDreamsDir: () => string;
8
- export declare const getNightmaresDir: () => string;
9
- export declare const getDeepMemoryDb: () => string;
10
- export declare const getStateFile: () => string;
11
- export declare const getSchedulerStateFile: () => string;
12
- export declare const BASE_DIR: string;
13
- export declare const DATA_DIR: string;
14
- export declare const MEMORY_DIR: string;
15
- export declare const DREAMS_DIR: string;
16
- export declare const NIGHTMARES_DIR: string;
17
- export declare const DEEP_MEMORY_DB: string;
18
- export declare const STATE_FILE: string;
19
- export declare const SCHEDULER_STATE_FILE: string;
20
- /** Stable fallback path for credentials when DATA_DIR is unset/volatile. */
21
- export declare const getStableConfigDir: () => string;
22
- export declare const getStableCredentialsFile: () => string;
23
- /** Primary credentials file path. Resolves to STABLE_CREDENTIALS_FILE if DATA_DIR is default/unset. */
24
- export declare const getCredentialsFile: () => string;
25
- export declare const STABLE_CONFIG_DIR: string;
26
- export declare const STABLE_CREDENTIALS_FILE: string;
27
- export declare const CREDENTIALS_FILE: string;
28
- export declare function ensureDirectoriesExist(): void;
29
- export declare const AGENT_NAME: string;
30
- export declare const AGENT_MODEL: string;
31
- export declare const MOLTBOOK_BASE_URL = "https://www.moltbook.com/api/v1";
32
- /** Apply config values passed from the OpenClaw plugin API (`api.pluginConfig`). */
33
- export declare function applyPluginConfig(cfg: Record<string, unknown>): void;
34
- export declare const getMoltbookEnabled: () => boolean;
35
- export declare const getWebSearchEnabled: () => boolean;
36
- export declare const getNotifyOperatorOnDream: () => boolean;
37
- export declare const getPostFilterEnabled: () => boolean;
38
- export declare const getRequireApprovalBeforePost: () => boolean;
39
- export declare const getDreamSubmolt: () => string;
40
- export declare const getWorkspaceDiffEnabled: () => boolean;
41
- export declare const getMetaLoopThreshold: () => number;
42
- export declare const getEntropyOverlapThreshold: () => number;
43
- export declare const getVocabularyRotation: () => boolean;
44
- export declare const getCommunityIngestionEnabled: () => boolean;
45
- export declare const getCommunityIngestionSubmolts: () => string[];
46
- export declare const getCommunityIngestionLimit: () => number;
47
- export declare const getSchedulerEnabled: () => boolean;
48
- export declare const getMaxDailyTokens: () => number;
49
- /** @deprecated Use getMoltbookEnabled() */
50
- export declare const MOLTBOOK_ENABLED = false;
51
- /** @deprecated Use getWebSearchEnabled() */
52
- export declare const WEB_SEARCH_ENABLED = true;
53
- /** @deprecated Use getNotifyOperatorOnDream() */
54
- export declare const NOTIFY_OPERATOR_ON_DREAM = true;
55
- /** @deprecated Use getMaxDailyTokens() */
56
- export declare const MAX_DAILY_TOKENS: number;
57
- export declare const WORKSPACE_DIR: string;
58
- export declare const DREAM_ENCRYPTION_KEY: string;
59
- export declare const MAX_TOKENS_SUMMARY = 150;
60
- export declare const MAX_TOKENS_DECISION = 1000;
61
- export declare const MAX_TOKENS_DREAM = 2000;
62
- export declare const MAX_TOKENS_CONSOLIDATION = 150;
63
- export declare const FEED_LIMIT = 10;
64
- export declare const FEED_FETCH_LIMIT = 25;
65
- export declare const CONTENT_PREVIEW_LENGTH = 200;
66
- export declare const DEEP_MEMORY_CONTEXT_TOKENS = 2000;
67
- export declare const MAX_TOKENS_REFLECTION = 1500;
68
- export declare const MAX_TOKENS_TOPIC_EXTRACTION = 500;
69
- export declare const MAX_TOKENS_SYNTHESIS = 2000;
70
- export declare const MAX_TOPICS_PER_CYCLE = 5;
71
- export declare const MAX_WEB_RESULTS_PER_TOPIC = 3;
72
- export declare const MAX_MOLTBOOK_RESULTS_PER_TOPIC = 5;
73
- /** @deprecated Use getPostFilterEnabled() */
74
- export declare const POST_FILTER_ENABLED = true;
75
- export declare const DREAM_TITLE_MAX_LENGTH = 40;
76
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,178 +0,0 @@
1
- /**
2
- * Configuration management.
3
- */
4
- import { config } from "dotenv";
5
- import { mkdirSync } from "node:fs";
6
- import { homedir } from "node:os";
7
- import { dirname, resolve } from "node:path";
8
- import { fileURLToPath } from "node:url";
9
- const __filename = fileURLToPath(import.meta.url);
10
- const __dirname = dirname(__filename);
11
- // Load .env from the package root (two levels up from dist/ or src/)
12
- // dotenv defaults to process.cwd() which is wrong when loaded as an OpenClaw plugin
13
- config({ path: resolve(__dirname, "..", "..", ".env"), quiet: true });
14
- // Paths
15
- export const getBaseDir = () => resolve(process.env.OPENCLAWDREAMS_DATA_DIR || resolve(__dirname, "..", ".."));
16
- export const getDataDir = () => resolve(getBaseDir(), "data");
17
- export const getMemoryDir = () => resolve(getDataDir(), "memory");
18
- export const getDreamsDir = () => resolve(getDataDir(), "dreams");
19
- export const getNightmaresDir = () => resolve(getDataDir(), "nightmares");
20
- // Memory
21
- export const getDeepMemoryDb = () => resolve(getMemoryDir(), "deep.db");
22
- export const getStateFile = () => resolve(getMemoryDir(), "state.json");
23
- export const getSchedulerStateFile = () => resolve(getDataDir(), "scheduler-state.json");
24
- // Export constants for backward compatibility and internal use
25
- // These will be evaluated at module load time, but getters are preferred for tests.
26
- export const BASE_DIR = getBaseDir();
27
- export const DATA_DIR = getDataDir();
28
- export const MEMORY_DIR = getMemoryDir();
29
- export const DREAMS_DIR = getDreamsDir();
30
- export const NIGHTMARES_DIR = getNightmaresDir();
31
- export const DEEP_MEMORY_DB = getDeepMemoryDb();
32
- export const STATE_FILE = getStateFile();
33
- export const SCHEDULER_STATE_FILE = getSchedulerStateFile();
34
- /** Stable fallback path for credentials when DATA_DIR is unset/volatile. */
35
- export const getStableConfigDir = () => resolve(homedir(), ".config", "openclawdreams");
36
- export const getStableCredentialsFile = () => resolve(getStableConfigDir(), "credentials.json");
37
- /** Primary credentials file path. Resolves to STABLE_CREDENTIALS_FILE if DATA_DIR is default/unset. */
38
- export const getCredentialsFile = () => process.env.OPENCLAWDREAMS_DATA_DIR
39
- ? resolve(getDataDir(), "credentials.json")
40
- : getStableCredentialsFile();
41
- export const STABLE_CONFIG_DIR = getStableConfigDir();
42
- export const STABLE_CREDENTIALS_FILE = getStableCredentialsFile();
43
- export const CREDENTIALS_FILE = getCredentialsFile();
44
- // Ensure directories exist
45
- export function ensureDirectoriesExist() {
46
- for (const dir of [getDataDir(), getMemoryDir(), getDreamsDir(), getNightmaresDir()]) {
47
- mkdirSync(dir, { recursive: true });
48
- }
49
- }
50
- // Call immediately to ensure directories exist before any code tries to write files
51
- ensureDirectoriesExist();
52
- // Agent
53
- export const AGENT_NAME = process.env.AGENT_NAME ?? "ElectricSheep";
54
- export const AGENT_MODEL = process.env.AGENT_MODEL ?? "claude-sonnet-4-5-20250929";
55
- // Moltbook
56
- export const MOLTBOOK_BASE_URL = "https://www.moltbook.com/api/v1";
57
- // ─── Runtime-overridable config ──────────────────────────────────────────────
58
- // These values are seeded from env vars at startup, but can be overridden at
59
- // runtime by `applyPluginConfig()` so that OpenClaw plugin config (set via
60
- // `openclaw config set plugins.entries.openclawdreams.config.*`) takes effect
61
- // without requiring separate env vars.
62
- let _moltbookEnabled = (process.env.MOLTBOOK_ENABLED ?? "false").toLowerCase() === "true";
63
- let _webSearchEnabled = (process.env.WEB_SEARCH_ENABLED ?? "true").toLowerCase() !== "false";
64
- let _notifyOperatorOnDream = (process.env.NOTIFY_OPERATOR_ON_DREAM ?? "true").toLowerCase() !== "false";
65
- let _postFilterEnabled = (process.env.POST_FILTER_ENABLED ?? "true").toLowerCase() !== "false";
66
- let _requireApprovalBeforePost = (process.env.REQUIRE_APPROVAL_BEFORE_POST ?? "true").toLowerCase() !== "false";
67
- let _dreamSubmolt = process.env.DREAM_SUBMOLT ?? "dreams";
68
- let _workspaceDiffEnabled = (process.env.WORKSPACE_DIFF_ENABLED ?? "true").toLowerCase() !== "false";
69
- let _metaLoopThreshold = parseInt(process.env.META_LOOP_THRESHOLD ?? "3", 10);
70
- let _entropyOverlapThreshold = parseFloat(process.env.ENTROPY_OVERLAP_THRESHOLD ?? "0.5");
71
- let _vocabularyRotation = (process.env.VOCABULARY_ROTATION ?? "true").toLowerCase() !== "false";
72
- let _communityIngestionEnabled = (process.env.COMMUNITY_INGESTION_ENABLED ?? "false").toLowerCase() === "true";
73
- let _communityIngestionSubmolts = (process.env.COMMUNITY_INGESTION_SUBMOLTS ?? "dreams,philosophy")
74
- .split(",")
75
- .map((s) => s.trim())
76
- .filter(Boolean);
77
- let _communityIngestionLimit = parseInt(process.env.COMMUNITY_INGESTION_LIMIT ?? "5", 10);
78
- let _schedulerEnabled = (process.env.SCHEDULER_ENABLED ?? "true").toLowerCase() !== "false";
79
- let _maxDailyTokens = parseInt(process.env.MAX_DAILY_TOKENS ?? "800000", 10);
80
- /** Apply config values passed from the OpenClaw plugin API (`api.pluginConfig`). */
81
- export function applyPluginConfig(cfg) {
82
- if (typeof cfg.moltbookEnabled === "boolean") {
83
- _moltbookEnabled = cfg.moltbookEnabled;
84
- }
85
- if (typeof cfg.webSearchEnabled === "boolean")
86
- _webSearchEnabled = cfg.webSearchEnabled;
87
- if (typeof cfg.notifyOperatorOnDream === "boolean")
88
- _notifyOperatorOnDream = cfg.notifyOperatorOnDream;
89
- if (typeof cfg.postFilterEnabled === "boolean")
90
- _postFilterEnabled = cfg.postFilterEnabled;
91
- if (typeof cfg.requireApprovalBeforePost === "boolean")
92
- _requireApprovalBeforePost = cfg.requireApprovalBeforePost;
93
- if (typeof cfg.dreamSubmolt === "string")
94
- _dreamSubmolt = cfg.dreamSubmolt;
95
- if (typeof cfg.workspaceDiffEnabled === "boolean")
96
- _workspaceDiffEnabled = cfg.workspaceDiffEnabled;
97
- if (typeof cfg.metaLoopThreshold === "number")
98
- _metaLoopThreshold = cfg.metaLoopThreshold;
99
- if (typeof cfg.entropyOverlapThreshold === "number")
100
- _entropyOverlapThreshold = cfg.entropyOverlapThreshold;
101
- if (typeof cfg.vocabularyRotation === "boolean")
102
- _vocabularyRotation = cfg.vocabularyRotation;
103
- if (typeof cfg.communityIngestionEnabled === "boolean")
104
- _communityIngestionEnabled = cfg.communityIngestionEnabled;
105
- if (Array.isArray(cfg.communityIngestionSubmolts))
106
- _communityIngestionSubmolts = cfg.communityIngestionSubmolts;
107
- if (typeof cfg.communityIngestionLimit === "number")
108
- _communityIngestionLimit = cfg.communityIngestionLimit;
109
- if (typeof cfg.schedulerEnabled === "boolean")
110
- _schedulerEnabled = cfg.schedulerEnabled;
111
- if (typeof cfg.maxDailyTokens === "number")
112
- _maxDailyTokens = cfg.maxDailyTokens;
113
- }
114
- export const getMoltbookEnabled = () => _moltbookEnabled;
115
- export const getWebSearchEnabled = () => _webSearchEnabled;
116
- export const getNotifyOperatorOnDream = () => _notifyOperatorOnDream;
117
- export const getPostFilterEnabled = () => _postFilterEnabled;
118
- export const getRequireApprovalBeforePost = () => _requireApprovalBeforePost;
119
- export const getDreamSubmolt = () => _dreamSubmolt;
120
- export const getWorkspaceDiffEnabled = () => _workspaceDiffEnabled;
121
- export const getMetaLoopThreshold = () => _metaLoopThreshold;
122
- export const getEntropyOverlapThreshold = () => _entropyOverlapThreshold;
123
- export const getVocabularyRotation = () => _vocabularyRotation;
124
- export const getCommunityIngestionEnabled = () => _communityIngestionEnabled;
125
- export const getCommunityIngestionSubmolts = () => _communityIngestionSubmolts;
126
- export const getCommunityIngestionLimit = () => _communityIngestionLimit;
127
- export const getSchedulerEnabled = () => _schedulerEnabled;
128
- export const getMaxDailyTokens = () => _maxDailyTokens;
129
- // Legacy constant aliases — kept for backward compatibility but now delegate to
130
- // getters so they remain in sync after `applyPluginConfig()` is called.
131
- /** @deprecated Use getMoltbookEnabled() */
132
- export const MOLTBOOK_ENABLED = false; // overridden by getter; prefer getMoltbookEnabled()
133
- // Web Search
134
- /** @deprecated Use getWebSearchEnabled() */
135
- export const WEB_SEARCH_ENABLED = true; // overridden by getter; prefer getWebSearchEnabled()
136
- // Operator Notifications
137
- /** @deprecated Use getNotifyOperatorOnDream() */
138
- export const NOTIFY_OPERATOR_ON_DREAM = true; // overridden by getter; prefer getNotifyOperatorOnDream()
139
- // Token budget - $20/day using Opus 4.5 output rate ($25/1M) ≈ 800,000 tokens
140
- // Input tokens are $5/1M but we count all tokens against the output rate for simplicity.
141
- // Set to 0 to disable the daily budget limit.
142
- // Configurable at runtime via applyPluginConfig({ maxDailyTokens: 0 }) or
143
- // openclaw.json: plugins.entries.openclawdreams.config.maxDailyTokens
144
- /** @deprecated Use getMaxDailyTokens() */
145
- export const MAX_DAILY_TOKENS = _maxDailyTokens;
146
- // Workspace (for SOUL.md / IDENTITY.md discovery)
147
- export const WORKSPACE_DIR = process.env.OPENCLAW_WORKSPACE_DIR ?? "";
148
- // Dream
149
- export const DREAM_ENCRYPTION_KEY = process.env.DREAM_ENCRYPTION_KEY ?? "";
150
- // ─── LLM Call Limits ─────────────────────────────────────────────────────────
151
- // Max tokens for various LLM call types.
152
- export const MAX_TOKENS_SUMMARY = 150;
153
- export const MAX_TOKENS_DECISION = 1000;
154
- export const MAX_TOKENS_DREAM = 2000;
155
- export const MAX_TOKENS_CONSOLIDATION = 150;
156
- // ─── Feed Limits ─────────────────────────────────────────────────────────────
157
- export const FEED_LIMIT = 10; // max posts shown to agent for engagement decisions
158
- export const FEED_FETCH_LIMIT = 25; // default API fetch limit
159
- export const CONTENT_PREVIEW_LENGTH = 200; // chars of post content shown in summaries
160
- // ─── Deep Memory Context ─────────────────────────────────────────────────────
161
- // Approximate token budget for deep memory context injected into prompts.
162
- // Multiplied by 4 to estimate character count (1 token ≈ 4 chars).
163
- export const DEEP_MEMORY_CONTEXT_TOKENS = 2000;
164
- // ─── Dream Reflection ───────────────────────────────────────────────────────
165
- export const MAX_TOKENS_REFLECTION = 1500;
166
- // ─── Topic Extraction & Synthesis ───────────────────────────────────────────
167
- export const MAX_TOKENS_TOPIC_EXTRACTION = 500;
168
- export const MAX_TOKENS_SYNTHESIS = 2000;
169
- export const MAX_TOPICS_PER_CYCLE = 5;
170
- export const MAX_WEB_RESULTS_PER_TOPIC = 3;
171
- export const MAX_MOLTBOOK_RESULTS_PER_TOPIC = 5;
172
- // ─── Post Filter ────────────────────────────────────────────────────────────
173
- // Set POST_FILTER_ENABLED=false to disable the Moltbook post filter.
174
- /** @deprecated Use getPostFilterEnabled() */
175
- export const POST_FILTER_ENABLED = true; // overridden by getter; prefer getPostFilterEnabled()
176
- // ─── Dream File Naming ───────────────────────────────────────────────────────
177
- export const DREAM_TITLE_MAX_LENGTH = 40;
178
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Encryption for deep memory using node:crypto.
3
- *
4
- * Uses AES-256-GCM — simpler and more secure than Fernet.
5
- * No need for Python byte-compatibility since this is a fresh deployment.
6
- *
7
- * Token format: base64(12-byte IV + ciphertext + 16-byte auth tag)
8
- * Key: 32 bytes, stored as base64 in data/.dream_key
9
- */
10
- export declare class Cipher {
11
- private key;
12
- constructor(key: Buffer);
13
- static generateKey(): string;
14
- encrypt(plaintext: string): string;
15
- decrypt(token: string): string;
16
- }
17
- export declare function getOrCreateDreamKey(): Buffer;
18
- export declare function getCipher(): Cipher;
19
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,qBAAa,MAAM;IACjB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,MAAM;IAOvB,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IASlC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAW/B;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAiB5C;AAID,wBAAgB,SAAS,IAAI,MAAM,CAKlC"}
@@ -1,70 +0,0 @@
1
- /**
2
- * Encryption for deep memory using node:crypto.
3
- *
4
- * Uses AES-256-GCM — simpler and more secure than Fernet.
5
- * No need for Python byte-compatibility since this is a fresh deployment.
6
- *
7
- * Token format: base64(12-byte IV + ciphertext + 16-byte auth tag)
8
- * Key: 32 bytes, stored as base64 in data/.dream_key
9
- */
10
- import { randomBytes, createCipheriv, createDecipheriv } from "node:crypto";
11
- import { readFileSync, existsSync, openSync, writeSync, closeSync } from "node:fs";
12
- import { resolve } from "node:path";
13
- import { getDataDir, DREAM_ENCRYPTION_KEY } from "./config.js";
14
- const ALGORITHM = "aes-256-gcm";
15
- const IV_LENGTH = 12;
16
- const AUTH_TAG_LENGTH = 16;
17
- export class Cipher {
18
- key;
19
- constructor(key) {
20
- if (key.length !== 32) {
21
- throw new Error("Encryption key must be 32 bytes");
22
- }
23
- this.key = key;
24
- }
25
- static generateKey() {
26
- return randomBytes(32).toString("base64");
27
- }
28
- encrypt(plaintext) {
29
- const iv = randomBytes(IV_LENGTH);
30
- const cipher = createCipheriv(ALGORITHM, this.key, iv);
31
- const encrypted = Buffer.concat([cipher.update(plaintext, "utf-8"), cipher.final()]);
32
- const authTag = cipher.getAuthTag();
33
- const token = Buffer.concat([iv, encrypted, authTag]);
34
- return token.toString("base64");
35
- }
36
- decrypt(token) {
37
- const data = Buffer.from(token, "base64");
38
- const iv = data.subarray(0, IV_LENGTH);
39
- const authTag = data.subarray(data.length - AUTH_TAG_LENGTH);
40
- const ciphertext = data.subarray(IV_LENGTH, data.length - AUTH_TAG_LENGTH);
41
- const decipher = createDecipheriv(ALGORITHM, this.key, iv);
42
- decipher.setAuthTag(authTag);
43
- const decrypted = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
44
- return decrypted.toString("utf-8");
45
- }
46
- }
47
- export function getOrCreateDreamKey() {
48
- if (DREAM_ENCRYPTION_KEY) {
49
- return Buffer.from(DREAM_ENCRYPTION_KEY, "base64");
50
- }
51
- const keyFile = resolve(getDataDir(), ".dream_key");
52
- if (existsSync(keyFile)) {
53
- return Buffer.from(readFileSync(keyFile, "utf-8").trim(), "base64");
54
- }
55
- const key = Cipher.generateKey();
56
- // Open with exclusive create and restrictive permissions atomically
57
- // to avoid a race window where the file is world-readable.
58
- const fd = openSync(keyFile, "wx", 0o600);
59
- writeSync(fd, key);
60
- closeSync(fd);
61
- return Buffer.from(key, "base64");
62
- }
63
- let _cipher = null;
64
- export function getCipher() {
65
- if (!_cipher) {
66
- _cipher = new Cipher(getOrCreateDreamKey());
67
- }
68
- return _cipher;
69
- }
70
- //# sourceMappingURL=crypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Dream cycle processor.
3
- *
4
- * Runs at night. Decrypts deep memories, generates surreal dream narratives,
5
- * stores in OpenClaw memory, and optionally posts dream journals to Moltbook.
6
- */
7
- import type { LLMClient, OpenClawAPI, Dream, DecryptedMemory } from "./types.js";
8
- /**
9
- * Prune dream files, keeping only the most recent one.
10
- * SQLite records are KEPT — they outlive the files, enabling future
11
- * remembrance by title even when file is gone.
12
- */
13
- export declare function pruneOldDreams(dir: string, currentFile: string): void;
14
- export declare function generateDream(client: LLMClient, memories: DecryptedMemory[], exploredTerritory: string, isNightmare?: boolean, hardConstraint?: string, vocabularyHint?: string): Promise<Dream>;
15
- /**
16
- * Synthesize two dreams into a single meta-dream.
17
- */
18
- export declare function synthesizeMetaDream(client: LLMClient, dream1: string, dream2: string): Promise<Dream>;
19
- /**
20
- * Separate LLM call to distill a single insight from the dream for working memory.
21
- */
22
- export declare function consolidateDream(client: LLMClient, dream: Dream): Promise<string>;
23
- /**
24
- * Ground the dream: extract a waking realization from the surreal narrative.
25
- */
26
- export declare function groundDream(client: LLMClient, dream: Dream, exploredTerritory: string): Promise<string | null>;
27
- /**
28
- * Derive a short filesystem-safe name from the first line of the dream markdown.
29
- */
30
- export declare function deriveSlug(markdown: string): string;
31
- /**
32
- * Prepend a YAML front-matter header to a dream markdown file.
33
- * Does nothing if the file already has a YAML header.
34
- */
35
- export declare function prependYamlHeader(filepath: string, meta: {
36
- dream_date: string;
37
- parent_memories: number[];
38
- thematic_kin: string[];
39
- dominant_concepts: string[];
40
- }): void;
41
- /**
42
- * Extract the clean prose section from a dream markdown file.
43
- *
44
- * Dream files may contain YAML frontmatter, chain-of-thought reasoning,
45
- * and an attribution footer. This function returns only the prose section
46
- * (starting from the title line) suitable for posting to Moltbook.
47
- */
48
- export declare function extractDreamProse(markdown: string): string;
49
- /**
50
- * Extract clean waking realization prose, stripping any chain-of-thought
51
- * reasoning that the LLM may have emitted before the actual realization.
52
- */
53
- export declare function extractWakingRealization(text: string): string;
54
- export declare function saveNarrativeLocally(dream: Dream, dir: string, dateStr: string): string;
55
- /**
56
- * Store dream in OpenClaw memory if available.
57
- */
58
- export declare function storeInOpenClawMemory(api: OpenClawAPI, dream: Dream, insight: string | null, wakingRealization?: string | null, type?: "dream" | "nightmare"): Promise<void>;
59
- export declare function runDreamCycle(client: LLMClient, api?: OpenClawAPI, simOptions?: {
60
- forceRemembrance?: boolean;
61
- forceNightmare?: boolean;
62
- dryRun?: boolean;
63
- }): Promise<Dream | null>;
64
- export declare function loadLatestDream(): Dream | null;
65
- export declare function postDreamJournal(client?: LLMClient, dream?: Dream, options?: {
66
- force?: boolean;
67
- }): Promise<void>;
68
- //# sourceMappingURL=dreamer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dreamer.d.ts","sourceRoot":"","sources":["../../src/dreamer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOjF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAarE;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,eAAe,EAAE,EAC3B,iBAAiB,EAAE,MAAM,EACzB,WAAW,GAAE,OAAe,EAC5B,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,CAAC,CA0ChB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC,CA0BhB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBvF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBxB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwBnD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,GACA,IAAI,CAeN;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC1D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA8B7D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAMvF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,EACjC,IAAI,GAAE,OAAO,GAAG,WAAqB,GACpC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,GAAG,CAAC,EAAE,WAAW,EACjB,UAAU,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACtF,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA4QvB;AAED,wBAAgB,eAAe,IAAI,KAAK,GAAG,IAAI,CAkB9C;AAED,wBAAsB,gBAAgB,CACpC,MAAM,CAAC,EAAE,SAAS,EAClB,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CA8Df"}