phaibel 4.0.7 → 4.0.21

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 (150) hide show
  1. package/README.md +229 -245
  2. package/dist/commands/chat.d.ts +5 -2
  3. package/dist/commands/chat.d.ts.map +1 -1
  4. package/dist/commands/chat.js +168 -172
  5. package/dist/commands/chat.js.map +1 -1
  6. package/dist/commands/cron.d.ts.map +1 -1
  7. package/dist/commands/cron.js +1 -0
  8. package/dist/commands/cron.js.map +1 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +54 -52
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/config.js +2 -2
  13. package/dist/config.js.map +1 -1
  14. package/dist/entities/entity-summary.js +3 -3
  15. package/dist/entities/entity-type-config.d.ts +3 -0
  16. package/dist/entities/entity-type-config.d.ts.map +1 -1
  17. package/dist/entities/entity-type-config.js +67 -1
  18. package/dist/entities/entity-type-config.js.map +1 -1
  19. package/dist/entities/entity-types-defaults.d.ts.map +1 -1
  20. package/dist/entities/entity-types-defaults.js +2 -0
  21. package/dist/entities/entity-types-defaults.js.map +1 -1
  22. package/dist/entities/spawner.d.ts.map +1 -1
  23. package/dist/entities/spawner.js +4 -2
  24. package/dist/entities/spawner.js.map +1 -1
  25. package/dist/feral/catalog/entity-catalog-source.js +31 -31
  26. package/dist/feral/node-code/abstract-node-code.js +1 -1
  27. package/dist/feral/node-code/abstract-node-code.js.map +1 -1
  28. package/dist/feral/node-code/data/set-context-value-node-code.d.ts.map +1 -1
  29. package/dist/feral/node-code/data/set-context-value-node-code.js +10 -1
  30. package/dist/feral/node-code/data/set-context-value-node-code.js.map +1 -1
  31. package/dist/feral/node-code/entity/create-entity-type-node-code.js +20 -20
  32. package/dist/feral/node-code/entity/load-vault-context-node-code.d.ts.map +1 -1
  33. package/dist/feral/node-code/entity/load-vault-context-node-code.js +7 -15
  34. package/dist/feral/node-code/entity/load-vault-context-node-code.js.map +1 -1
  35. package/dist/feral/node-code/entity/update-entity-type-node-code.js +20 -20
  36. package/dist/feral/node-code/input/prompt-input-node-code.d.ts.map +1 -1
  37. package/dist/feral/node-code/input/prompt-input-node-code.js +6 -0
  38. package/dist/feral/node-code/input/prompt-input-node-code.js.map +1 -1
  39. package/dist/feral/node-code/input/prompt-select-node-code.d.ts.map +1 -1
  40. package/dist/feral/node-code/input/prompt-select-node-code.js +6 -0
  41. package/dist/feral/node-code/input/prompt-select-node-code.js.map +1 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +5 -39
  44. package/dist/index.js.map +1 -1
  45. package/dist/llm/router.js +27 -27
  46. package/dist/personalities.js +4 -4
  47. package/dist/phaibel.txt +81 -81
  48. package/dist/service/api-router.d.ts.map +1 -1
  49. package/dist/service/api-router.js +42 -2
  50. package/dist/service/api-router.js.map +1 -1
  51. package/dist/service/cron/feedback-analysis.js +14 -14
  52. package/dist/service/cron/innovate.d.ts +2 -0
  53. package/dist/service/cron/innovate.d.ts.map +1 -0
  54. package/dist/service/cron/innovate.js +354 -0
  55. package/dist/service/cron/innovate.js.map +1 -0
  56. package/dist/service/cron/process-lifecycle.js +36 -36
  57. package/dist/service/cron/scheduler.d.ts.map +1 -1
  58. package/dist/service/cron/scheduler.js +8 -0
  59. package/dist/service/cron/scheduler.js.map +1 -1
  60. package/dist/service/index.d.ts.map +1 -1
  61. package/dist/service/index.js +27 -20
  62. package/dist/service/index.js.map +1 -1
  63. package/dist/service/web-client.html +1984 -1569
  64. package/dist/service/web-server.d.ts +1 -0
  65. package/dist/service/web-server.d.ts.map +1 -1
  66. package/dist/service/web-server.js +188 -6
  67. package/dist/service/web-server.js.map +1 -1
  68. package/dist/tools/daily.js +2 -2
  69. package/package.json +69 -66
  70. package/dist/agentary.txt +0 -82
  71. package/dist/commands/event.d.ts +0 -4
  72. package/dist/commands/event.d.ts.map +0 -1
  73. package/dist/commands/event.js +0 -515
  74. package/dist/commands/event.js.map +0 -1
  75. package/dist/commands/goal.d.ts +0 -4
  76. package/dist/commands/goal.d.ts.map +0 -1
  77. package/dist/commands/goal.js +0 -14
  78. package/dist/commands/goal.js.map +0 -1
  79. package/dist/commands/interview.d.ts +0 -14
  80. package/dist/commands/interview.d.ts.map +0 -1
  81. package/dist/commands/interview.js +0 -343
  82. package/dist/commands/interview.js.map +0 -1
  83. package/dist/commands/note.d.ts +0 -4
  84. package/dist/commands/note.d.ts.map +0 -1
  85. package/dist/commands/note.js +0 -548
  86. package/dist/commands/note.js.map +0 -1
  87. package/dist/commands/pamp.d.ts +0 -4
  88. package/dist/commands/pamp.d.ts.map +0 -1
  89. package/dist/commands/pamp.js +0 -323
  90. package/dist/commands/pamp.js.map +0 -1
  91. package/dist/commands/person.d.ts +0 -4
  92. package/dist/commands/person.d.ts.map +0 -1
  93. package/dist/commands/person.js +0 -185
  94. package/dist/commands/person.js.map +0 -1
  95. package/dist/commands/project.d.ts +0 -4
  96. package/dist/commands/project.d.ts.map +0 -1
  97. package/dist/commands/project.js +0 -70
  98. package/dist/commands/project.js.map +0 -1
  99. package/dist/commands/remember.d.ts +0 -4
  100. package/dist/commands/remember.d.ts.map +0 -1
  101. package/dist/commands/remember.js +0 -70
  102. package/dist/commands/remember.js.map +0 -1
  103. package/dist/commands/research.d.ts +0 -4
  104. package/dist/commands/research.d.ts.map +0 -1
  105. package/dist/commands/research.js +0 -14
  106. package/dist/commands/research.js.map +0 -1
  107. package/dist/commands/shell.d.ts +0 -3
  108. package/dist/commands/shell.d.ts.map +0 -1
  109. package/dist/commands/shell.js +0 -346
  110. package/dist/commands/shell.js.map +0 -1
  111. package/dist/commands/today.d.ts +0 -4
  112. package/dist/commands/today.d.ts.map +0 -1
  113. package/dist/commands/today.js +0 -112
  114. package/dist/commands/today.js.map +0 -1
  115. package/dist/commands/todo.d.ts +0 -4
  116. package/dist/commands/todo.d.ts.map +0 -1
  117. package/dist/commands/todo.js +0 -678
  118. package/dist/commands/todo.js.map +0 -1
  119. package/dist/commands/todont.d.ts +0 -19
  120. package/dist/commands/todont.d.ts.map +0 -1
  121. package/dist/commands/todont.js +0 -209
  122. package/dist/commands/todont.js.map +0 -1
  123. package/dist/commands/week.d.ts +0 -4
  124. package/dist/commands/week.d.ts.map +0 -1
  125. package/dist/commands/week.js +0 -267
  126. package/dist/commands/week.js.map +0 -1
  127. package/dist/dobbai.txt +0 -55
  128. package/dist/dobbi.txt +0 -55
  129. package/dist/dobbie-bundle.cjs +0 -73313
  130. package/dist/dobbie.txt +0 -55
  131. package/dist/feral/node-code/output/dobbai-speak-node-code.d.ts +0 -11
  132. package/dist/feral/node-code/output/dobbai-speak-node-code.d.ts.map +0 -1
  133. package/dist/feral/node-code/output/dobbai-speak-node-code.js +0 -56
  134. package/dist/feral/node-code/output/dobbai-speak-node-code.js.map +0 -1
  135. package/dist/feral/node-code/output/dobbi-speak-node-code.d.ts +0 -15
  136. package/dist/feral/node-code/output/dobbi-speak-node-code.d.ts.map +0 -1
  137. package/dist/feral/node-code/output/dobbi-speak-node-code.js +0 -60
  138. package/dist/feral/node-code/output/dobbi-speak-node-code.js.map +0 -1
  139. package/dist/feral/node-code/output/dobbie-speak-node-code.d.ts +0 -11
  140. package/dist/feral/node-code/output/dobbie-speak-node-code.d.ts.map +0 -1
  141. package/dist/feral/node-code/output/dobbie-speak-node-code.js +0 -56
  142. package/dist/feral/node-code/output/dobbie-speak-node-code.js.map +0 -1
  143. package/dist/service/cron/process-evaluator.d.ts +0 -6
  144. package/dist/service/cron/process-evaluator.d.ts.map +0 -1
  145. package/dist/service/cron/process-evaluator.js +0 -126
  146. package/dist/service/cron/process-evaluator.js.map +0 -1
  147. package/dist/tools/project.d.ts +0 -2
  148. package/dist/tools/project.d.ts.map +0 -1
  149. package/dist/tools/project.js +0 -112
  150. package/dist/tools/project.js.map +0 -1
@@ -0,0 +1,354 @@
1
+ // ─────────────────────────────────────────────────────────────────────────────
2
+ // Innovate Cron Job — Vault-local improvement loop
3
+ //
4
+ // Reads recent execution logs, finds failures, asks the LLM to diagnose and
5
+ // propose a vault-local change (process or .vault.md), tests it by replaying
6
+ // the failing input, and keeps or reverts based on the result.
7
+ // Limited to 3 loops to avoid hogging service resources.
8
+ // ─────────────────────────────────────────────────────────────────────────────
9
+ import { promises as fs } from 'fs';
10
+ import path from 'path';
11
+ import { findVaultRoot } from '../../state/manager.js';
12
+ import { readRecentExecutionLogs } from '../../utils/execution-logger.js';
13
+ import { getModelForCapability } from '../../llm/router.js';
14
+ import { getVaultContext } from '../../context/reader.js';
15
+ import { feralChatHeadless } from '../../commands/chat.js';
16
+ import { listEntities } from '../../entities/entity.js';
17
+ import { parseJsonResponse } from '../../utils/json-parser.js';
18
+ import { getProcessesDir, getLogsDir } from '../../paths.js';
19
+ import { debug } from '../../utils/debug.js';
20
+ const MAX_LOOPS = 3;
21
+ // ─────────────────────────────────────────────────────────────────────────────
22
+ // Main entry
23
+ // ─────────────────────────────────────────────────────────────────────────────
24
+ export async function runInnovation() {
25
+ const vaultRoot = await findVaultRoot();
26
+ if (!vaultRoot) {
27
+ return 'No vault found — skipping innovation';
28
+ }
29
+ // Phase 1: Gather data
30
+ const logs = await readRecentExecutionLogs(7);
31
+ const failures = logs.filter(l => !l.success);
32
+ if (failures.length === 0) {
33
+ return 'No recent failures — nothing to improve';
34
+ }
35
+ const processDir = await getProcessesDir();
36
+ const currentProcesses = await loadProcessFiles(processDir);
37
+ const vaultContext = await getVaultContext();
38
+ const feedbackSummary = await readFeedbackSummary(vaultRoot);
39
+ const loopResults = [];
40
+ let improvementsApplied = 0;
41
+ // Track which failures we've already tried so we don't repeat
42
+ const triedChatIds = new Set();
43
+ for (let loop = 0; loop < MAX_LOOPS; loop++) {
44
+ // Pick untried failures for this loop
45
+ const untried = failures.filter(f => !triedChatIds.has(f.chat_id));
46
+ if (untried.length === 0) {
47
+ debug('innovate', `Loop ${loop + 1}: no more untried failures`);
48
+ break;
49
+ }
50
+ debug('innovate', `Loop ${loop + 1}/${MAX_LOOPS}: ${untried.length} untried failures`);
51
+ // Phase 2: Diagnose
52
+ const diagnosis = await diagnose(untried, currentProcesses, vaultContext, feedbackSummary);
53
+ if (diagnosis.action === 'none') {
54
+ loopResults.push({
55
+ loop: loop + 1,
56
+ targetChatId: '',
57
+ action: 'none',
58
+ detail: 'LLM found no actionable improvement',
59
+ improved: false,
60
+ reasoning: diagnosis.reasoning,
61
+ });
62
+ break;
63
+ }
64
+ triedChatIds.add(diagnosis.targetChatId);
65
+ // Phase 3: Apply change (with backup)
66
+ const backup = await applyChange(diagnosis, processDir, vaultRoot);
67
+ // Phase 4: Test by replaying the failing input
68
+ const improved = await testReplay(diagnosis.replayInput, diagnosis.targetChatId);
69
+ // Phase 5: Keep or revert
70
+ const detail = describeChange(diagnosis);
71
+ if (improved) {
72
+ improvementsApplied++;
73
+ // Update in-memory process list if we changed a process
74
+ if (diagnosis.action === 'create_process' || diagnosis.action === 'update_process') {
75
+ await refreshProcessList(currentProcesses, processDir, diagnosis);
76
+ }
77
+ debug('innovate', `Loop ${loop + 1}: KEPT — ${detail}`);
78
+ }
79
+ else {
80
+ await revertChange(backup);
81
+ debug('innovate', `Loop ${loop + 1}: REVERTED — ${detail}`);
82
+ }
83
+ loopResults.push({
84
+ loop: loop + 1,
85
+ targetChatId: diagnosis.targetChatId,
86
+ action: diagnosis.action,
87
+ detail,
88
+ improved,
89
+ reasoning: diagnosis.reasoning,
90
+ });
91
+ }
92
+ // Write log file
93
+ const summary = buildSummary(loopResults, improvementsApplied);
94
+ await writeInnovateLog(vaultRoot, { loopResults, improvementsApplied, summary });
95
+ return summary;
96
+ }
97
+ // ─────────────────────────────────────────────────────────────────────────────
98
+ // Phase 2: LLM Diagnosis
99
+ // ─────────────────────────────────────────────────────────────────────────────
100
+ async function diagnose(failures, processes, vaultContext, feedbackSummary) {
101
+ const llm = await getModelForCapability('reason');
102
+ const failureSummaries = failures.slice(0, 10).map(f => ({
103
+ chat_id: f.chat_id,
104
+ user_input: f.user_input,
105
+ process_key: f.process_key,
106
+ process_source: f.process_source,
107
+ outcome_summary: f.outcome_summary,
108
+ process_json: f.process_json,
109
+ }));
110
+ const processSummaries = processes.map(p => ({
111
+ key: p.key,
112
+ description: p.description,
113
+ filename: p.filename,
114
+ }));
115
+ const prompt = `You are the innovation engine for Phaibel, a Personal Digital Agent. Analyze recent failures and propose ONE targeted change to vault-local content to fix the most impactful failure.
116
+
117
+ RECENT FAILURES (${failures.length}):
118
+ ${JSON.stringify(failureSummaries, null, 2)}
119
+
120
+ CURRENT SAVED PROCESSES (${processes.length}):
121
+ ${JSON.stringify(processSummaries, null, 2)}
122
+
123
+ VAULT CONTEXT:
124
+ ${vaultContext || '(none)'}
125
+
126
+ ${feedbackSummary ? `FEEDBACK SUMMARY:\n${feedbackSummary}\n` : ''}
127
+ RULES:
128
+ - You can ONLY change vault-local content: saved processes (.phaibel/processes/*.json) or .vault.md context files
129
+ - Do NOT suggest code changes — that's outside your scope
130
+ - Pick the single most impactful failure to fix
131
+ - Propose exactly ONE change
132
+ - For processes: provide the FULL valid process JSON with schema_version, key, description, context, nodes[], edges[]
133
+ - Every process must have a "start" node and a "stop" node
134
+ - For .vault.md: provide the full new content for the file
135
+ - Use {context_key} interpolation for variable parts in processes
136
+
137
+ Return a JSON object:
138
+ {
139
+ "action": "update_process" | "create_process" | "update_vault_context" | "none",
140
+ "processKey": "key of process to update (for update_process only)",
141
+ "processJson": { ... full process JSON ... },
142
+ "directory": "subdirectory for .vault.md (e.g. 'todos')",
143
+ "content": "new .vault.md content",
144
+ "reasoning": "What you think the root cause is and why this change should help",
145
+ "targetChatId": "chat_id of the failure you're targeting",
146
+ "replayInput": "the user_input to replay for testing"
147
+ }
148
+
149
+ If no actionable improvement is possible, return: { "action": "none", "reasoning": "...", "targetChatId": "", "replayInput": "" }
150
+
151
+ Return ONLY the JSON object, no markdown fences.`;
152
+ const response = await llm.chat([{ role: 'user', content: prompt }], {
153
+ systemPrompt: 'You are a diagnostic engine for improving a Personal Digital Agent. Analyze failures and propose targeted, minimal fixes to vault-local content. Be precise and conservative.',
154
+ temperature: 0.3,
155
+ });
156
+ try {
157
+ return parseJsonResponse(response);
158
+ }
159
+ catch {
160
+ return {
161
+ action: 'none',
162
+ reasoning: 'Failed to parse LLM diagnosis response',
163
+ targetChatId: '',
164
+ replayInput: '',
165
+ };
166
+ }
167
+ }
168
+ async function applyChange(diagnosis, processDir, vaultRoot) {
169
+ await fs.mkdir(processDir, { recursive: true });
170
+ if (diagnosis.action === 'update_process' && diagnosis.processKey && diagnosis.processJson) {
171
+ const filename = `${diagnosis.processKey.replace(/\./g, '-')}.json`;
172
+ const filepath = path.join(processDir, filename);
173
+ const original = await safeRead(filepath);
174
+ await fs.writeFile(filepath, JSON.stringify(diagnosis.processJson, null, 2));
175
+ return { filePath: filepath, originalContent: original };
176
+ }
177
+ if (diagnosis.action === 'create_process' && diagnosis.processJson) {
178
+ const key = diagnosis.processJson.key || 'new-process';
179
+ const filename = `${key.replace(/\./g, '-')}.json`;
180
+ const filepath = path.join(processDir, filename);
181
+ const original = await safeRead(filepath);
182
+ await fs.writeFile(filepath, JSON.stringify(diagnosis.processJson, null, 2));
183
+ return { filePath: filepath, originalContent: original };
184
+ }
185
+ if (diagnosis.action === 'update_vault_context' && diagnosis.directory && diagnosis.content) {
186
+ const dir = path.join(vaultRoot, diagnosis.directory);
187
+ await fs.mkdir(dir, { recursive: true });
188
+ const filepath = path.join(dir, '.vault.md');
189
+ const original = await safeRead(filepath);
190
+ await fs.writeFile(filepath, diagnosis.content);
191
+ return { filePath: filepath, originalContent: original };
192
+ }
193
+ return { filePath: '', originalContent: null };
194
+ }
195
+ async function revertChange(backup) {
196
+ if (!backup.filePath)
197
+ return;
198
+ if (backup.originalContent === null) {
199
+ // File didn't exist before — remove it
200
+ try {
201
+ await fs.unlink(backup.filePath);
202
+ }
203
+ catch {
204
+ // Already gone
205
+ }
206
+ }
207
+ else {
208
+ await fs.writeFile(backup.filePath, backup.originalContent);
209
+ }
210
+ }
211
+ // ─────────────────────────────────────────────────────────────────────────────
212
+ // Phase 4: Test by replaying
213
+ // ─────────────────────────────────────────────────────────────────────────────
214
+ async function testReplay(userInput, _originalChatId) {
215
+ if (!userInput)
216
+ return false;
217
+ try {
218
+ // Snapshot entity counts before
219
+ const entityTypes = ['task', 'event', 'note', 'goal', 'person', 'todont'];
220
+ const beforeCounts = {};
221
+ for (const type of entityTypes) {
222
+ try {
223
+ const entities = await listEntities(type);
224
+ beforeCounts[type] = entities.length;
225
+ }
226
+ catch {
227
+ beforeCounts[type] = 0;
228
+ }
229
+ }
230
+ // Replay via feralChatHeadless
231
+ const responseText = await Promise.race([
232
+ feralChatHeadless(userInput, () => { }, // onStatus: no-op
233
+ () => { }, // onProcess: no-op
234
+ async (_q, options) => {
235
+ // Auto-answer questions: pick first option or give reasonable default
236
+ if (options && options.length > 0)
237
+ return options[0];
238
+ return '12:00';
239
+ }, () => { }),
240
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Replay timed out')), 60_000)),
241
+ ]);
242
+ // Check for improvement signals
243
+ const hasError = /error|fail|invalid|could not|unable to/i.test(responseText);
244
+ const hasValidation = /validation|required field|missing/i.test(responseText);
245
+ // Check if entities were created
246
+ const afterCounts = {};
247
+ for (const type of entityTypes) {
248
+ try {
249
+ const entities = await listEntities(type);
250
+ afterCounts[type] = entities.length;
251
+ }
252
+ catch {
253
+ afterCounts[type] = 0;
254
+ }
255
+ }
256
+ const entityCreated = entityTypes.some(t => afterCounts[t] > beforeCounts[t]);
257
+ // Score: improved if no errors and either entity was created or response is clean
258
+ const improved = !hasError && !hasValidation && (entityCreated || responseText.length > 20);
259
+ debug('innovate', `Replay result: error=${hasError}, validation=${hasValidation}, entityCreated=${entityCreated}, improved=${improved}`);
260
+ return improved;
261
+ }
262
+ catch (err) {
263
+ debug('innovate', `Replay failed: ${err instanceof Error ? err.message : err}`);
264
+ return false;
265
+ }
266
+ }
267
+ async function loadProcessFiles(processDir) {
268
+ let files;
269
+ try {
270
+ files = await fs.readdir(processDir);
271
+ }
272
+ catch {
273
+ return [];
274
+ }
275
+ const processes = [];
276
+ for (const file of files) {
277
+ if (!file.endsWith('.json'))
278
+ continue;
279
+ try {
280
+ const raw = await fs.readFile(path.join(processDir, file), 'utf-8');
281
+ const parsed = JSON.parse(raw);
282
+ processes.push({
283
+ key: parsed.key || file.replace('.json', ''),
284
+ description: parsed.description || '',
285
+ filename: file,
286
+ });
287
+ }
288
+ catch {
289
+ // skip invalid
290
+ }
291
+ }
292
+ return processes;
293
+ }
294
+ async function readFeedbackSummary(vaultRoot) {
295
+ try {
296
+ return await fs.readFile(path.join(vaultRoot, '.phaibel', 'feedback-summary.md'), 'utf-8');
297
+ }
298
+ catch {
299
+ return '';
300
+ }
301
+ }
302
+ async function safeRead(filepath) {
303
+ try {
304
+ return await fs.readFile(filepath, 'utf-8');
305
+ }
306
+ catch {
307
+ return null;
308
+ }
309
+ }
310
+ function describeChange(diagnosis) {
311
+ switch (diagnosis.action) {
312
+ case 'update_process':
313
+ return `updated process '${diagnosis.processKey}'`;
314
+ case 'create_process':
315
+ return `created process '${diagnosis.processJson?.key || 'unknown'}'`;
316
+ case 'update_vault_context':
317
+ return `updated ${diagnosis.directory}/.vault.md`;
318
+ default:
319
+ return 'no change';
320
+ }
321
+ }
322
+ async function refreshProcessList(processes, processDir, diagnosis) {
323
+ if (diagnosis.action === 'create_process' && diagnosis.processJson) {
324
+ const key = diagnosis.processJson.key || 'new-process';
325
+ processes.push({
326
+ key,
327
+ description: diagnosis.processJson.description || '',
328
+ filename: `${key.replace(/\./g, '-')}.json`,
329
+ });
330
+ }
331
+ }
332
+ function buildSummary(results, improvements) {
333
+ const details = results
334
+ .filter(r => r.improved)
335
+ .map(r => r.detail)
336
+ .join(', ');
337
+ if (improvements === 0) {
338
+ return `Innovate: ${results.length} loop(s), no improvements found`;
339
+ }
340
+ return `Innovate: ${results.length} loop(s), ${improvements} improvement(s) applied (${details})`;
341
+ }
342
+ async function writeInnovateLog(vaultRoot, data) {
343
+ const logsDir = await getLogsDir();
344
+ await fs.mkdir(logsDir, { recursive: true });
345
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
346
+ const log = {
347
+ timestamp: new Date().toISOString(),
348
+ loops: data.loopResults,
349
+ improvementsApplied: data.improvementsApplied,
350
+ summary: data.summary,
351
+ };
352
+ await fs.writeFile(path.join(logsDir, `innovate-${timestamp}.json`), JSON.stringify(log, null, 2));
353
+ }
354
+ //# sourceMappingURL=innovate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"innovate.js","sourceRoot":"","sources":["../../../src/service/cron/innovate.ts"],"names":[],"mappings":"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"}
@@ -51,42 +51,42 @@ export async function evaluateProcessLifecycle() {
51
51
  }));
52
52
  const response = await llm.chat([{
53
53
  role: 'user',
54
- content: `EXISTING PROCESSES (${existingProcesses.length}):
55
- ${JSON.stringify(existingProcessSummaries, null, 2)}
56
-
57
- USAGE STATS (last 14 days):
58
- ${statsSection}
59
-
60
- RECENT CUSTOM EXECUTIONS (${customLogs.length}):
61
- ${JSON.stringify(customLogSummaries, null, 2)}
62
-
63
- RECENT REUSE EXECUTIONS (${reuseLogs.length}):
64
- ${JSON.stringify(reuseLogSummaries, null, 2)}
65
-
66
- RULES:
67
- - CREATE when 2+ similar custom executions show a repeatable pattern
68
- - UPDATE when an existing process has success rate < 70%, or custom logs show a better approach for the same task
69
- - RETIRE when a process is unused for 14+ days, or always failing — but never retire processes less than 3 days old
70
- - Use {context_key} interpolation for variable parts (e.g. {user_input}, {entity_title})
71
- - Prefer simple, focused processes (5-8 nodes max)
72
- - Every process must start with a "start" node and end with a "stop" node
73
- - Process key should be descriptive (e.g. "create-task-with-tag", "list-events-today")
74
- - Don't create duplicates of existing processes
75
-
76
- Return a JSON object:
77
- {
78
- "create": [
79
- { "key": "process-key", "description": "What it does", "process": { ... valid process JSON ... } }
80
- ],
81
- "update": [
82
- { "key": "existing-key", "description": "Updated description", "process": { ... improved process JSON ... } }
83
- ],
84
- "retire": [
85
- { "key": "existing-key", "reason": "Why it should be retired" }
86
- ],
87
- "reasoning": "Overall analysis"
88
- }
89
-
54
+ content: `EXISTING PROCESSES (${existingProcesses.length}):
55
+ ${JSON.stringify(existingProcessSummaries, null, 2)}
56
+
57
+ USAGE STATS (last 14 days):
58
+ ${statsSection}
59
+
60
+ RECENT CUSTOM EXECUTIONS (${customLogs.length}):
61
+ ${JSON.stringify(customLogSummaries, null, 2)}
62
+
63
+ RECENT REUSE EXECUTIONS (${reuseLogs.length}):
64
+ ${JSON.stringify(reuseLogSummaries, null, 2)}
65
+
66
+ RULES:
67
+ - CREATE when 2+ similar custom executions show a repeatable pattern
68
+ - UPDATE when an existing process has success rate < 70%, or custom logs show a better approach for the same task
69
+ - RETIRE when a process is unused for 14+ days, or always failing — but never retire processes less than 3 days old
70
+ - Use {context_key} interpolation for variable parts (e.g. {user_input}, {entity_title})
71
+ - Prefer simple, focused processes (5-8 nodes max)
72
+ - Every process must start with a "start" node and end with a "stop" node
73
+ - Process key should be descriptive (e.g. "create-task-with-tag", "list-events-today")
74
+ - Don't create duplicates of existing processes
75
+
76
+ Return a JSON object:
77
+ {
78
+ "create": [
79
+ { "key": "process-key", "description": "What it does", "process": { ... valid process JSON ... } }
80
+ ],
81
+ "update": [
82
+ { "key": "existing-key", "description": "Updated description", "process": { ... improved process JSON ... } }
83
+ ],
84
+ "retire": [
85
+ { "key": "existing-key", "reason": "Why it should be retired" }
86
+ ],
87
+ "reasoning": "Overall analysis"
88
+ }
89
+
90
90
  If no actions needed, return empty arrays. Return ONLY the JSON object, no markdown fences.`,
91
91
  }], {
92
92
  systemPrompt: 'You are the process lifecycle engine for Phaibel, a Personal Digital Agent. Analyze execution logs and process performance to create new processes, improve underperforming ones, and retire broken or unused ones. Quality over quantity — only act when the data clearly supports it.',
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/service/cron/scheduler.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACvC;AAcD,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAY1D;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtE;AAsED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,aAAa,EAAE,CAAC;CACzB;AAeD,qBAAa,aAAa;IACtB,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,MAAM,CAA2B;IAEnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,IAAI,IAAI,IAAI;IAOZ,SAAS,IAAI,UAAU;IAwBjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,OAAO,CAAC,QAAQ;YAgBF,IAAI;YAOJ,UAAU;CAwC3B;AAKD,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/service/cron/scheduler.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACvC;AAeD,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAY1D;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtE;AA4ED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,aAAa,EAAE,CAAC;CACzB;AAeD,qBAAa,aAAa;IACtB,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,MAAM,CAA2B;IAEnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,IAAI,IAAI,IAAI;IAOZ,SAAS,IAAI,UAAU;IAwBjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,OAAO,CAAC,QAAQ;YAgBF,IAAI;YAOJ,UAAU;CAwC3B;AAKD,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
@@ -13,6 +13,7 @@ import { checkPampMail } from './pamp-checker.js';
13
13
  import { getEntityIndex } from '../../entities/entity-index.js';
14
14
  import { getEmbeddingIndex } from '../../entities/embedding-index.js';
15
15
  import { analyzeFeedback } from './feedback-analysis.js';
16
+ import { runInnovation } from './innovate.js';
16
17
  import { getCronConfigPath, getVaultConfigDir } from '../../paths.js';
17
18
  const DEFAULT_CONFIG = {
18
19
  jobs: {
@@ -23,6 +24,7 @@ const DEFAULT_CONFIG = {
23
24
  'pamp-check': { enabled: false, intervalMinutes: 15 },
24
25
  'embedding-sync': { enabled: false, intervalMinutes: 1440 },
25
26
  'feedback-analysis': { enabled: false, intervalMinutes: 1440 },
27
+ 'innovate': { enabled: false, intervalMinutes: 1440 },
26
28
  },
27
29
  };
28
30
  export async function loadCronConfig() {
@@ -101,6 +103,12 @@ const JOB_DEFS = [
101
103
  return analyzeFeedback();
102
104
  },
103
105
  },
106
+ {
107
+ name: 'innovate',
108
+ async run() {
109
+ return runInnovation();
110
+ },
111
+ },
104
112
  ];
105
113
  export class CronScheduler {
106
114
  jobs = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/service/cron/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/service/cron/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAQ,MAAM,eAAe,CAAC;AAK3E,iBAAe,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA0L9E;AA2ED,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAQ,MAAM,eAAe,CAAC;AAK3E,iBAAe,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA0L9E;AAiFD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -208,34 +208,41 @@ async function main() {
208
208
  // Start server and processor
209
209
  await server.start(SOCKET_PATH);
210
210
  await processor.start();
211
- // Start cron scheduler
211
+ // Vault-dependent startup — skip gracefully if no vault exists yet.
212
+ // The web server can still serve the HTML client for onboarding.
212
213
  try {
213
- await cron.start();
214
- }
215
- catch (err) {
216
- console.error('Failed to start cron scheduler:', err);
217
- }
218
- // Build entity index
219
- try {
220
- const index = getEntityIndex();
221
- await index.build();
222
- const stats = index.getStats();
223
- console.log(`Entity index: ${stats.nodeCount} nodes, ${stats.edgeCount} edges`);
224
- // Load and sync embedding index
214
+ // Start cron scheduler
215
+ try {
216
+ await cron.start();
217
+ }
218
+ catch (err) {
219
+ debug('service', `Cron scheduler skipped: ${err}`);
220
+ }
221
+ // Build entity index
225
222
  try {
226
- const embeddingIndex = getEmbeddingIndex();
227
- await embeddingIndex.load();
228
- const result = await embeddingIndex.sync(index);
229
- console.log(`Embedding index: ${result.added} added, ${result.updated} updated, ${result.removed} removed`);
223
+ const index = getEntityIndex();
224
+ await index.build();
225
+ const stats = index.getStats();
226
+ console.log(`Entity index: ${stats.nodeCount} nodes, ${stats.edgeCount} edges`);
227
+ // Load and sync embedding index
228
+ try {
229
+ const embeddingIndex = getEmbeddingIndex();
230
+ await embeddingIndex.load();
231
+ const result = await embeddingIndex.sync(index);
232
+ console.log(`Embedding index: ${result.added} added, ${result.updated} updated, ${result.removed} removed`);
233
+ }
234
+ catch (err) {
235
+ debug('embeddings', `Embedding index sync skipped: ${err}`);
236
+ }
230
237
  }
231
238
  catch (err) {
232
- debug('embeddings', `Embedding index sync skipped: ${err}`);
239
+ debug('service', `Entity index skipped: ${err}`);
233
240
  }
234
241
  }
235
242
  catch (err) {
236
- console.error('Failed to build entity index:', err);
243
+ console.log('No vault found — skipping vault-dependent startup. Use the web client to set up.');
237
244
  }
238
- // Start web server
245
+ // Start web server (always — needed for onboarding)
239
246
  try {
240
247
  await webServer.start(3737);
241
248
  console.log('Web client at http://localhost:3737');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"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"}