create-walle 0.7.0 → 0.7.1

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-walle",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Wall-E — your personal digital twin. AI agent that learns from Slack, email & calendar. Includes dashboard, chat, and 7 bundled skills.",
5
5
  "bin": {
6
6
  "create-walle": "bin/create-walle.js"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "walle",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "private": true,
5
5
  "description": "Wall-E — your personal digital twin",
6
6
  "scripts": {
@@ -22,11 +22,31 @@ function getReadDb() {
22
22
  let brain = null;
23
23
  try { brain = require('./brain'); } catch {}
24
24
 
25
+ let _tasksBootstrapped = false;
25
26
  function ensureBrainInit() {
26
27
  if (!brain) return false;
27
28
  try { brain.getDb(); } catch {
28
29
  try { brain.initDb(); } catch { return false; }
29
30
  }
31
+ // Bootstrap core tasks if DB is empty (first run)
32
+ if (!_tasksBootstrapped) {
33
+ _tasksBootstrapped = true;
34
+ try {
35
+ const tasks = brain.listTasks({ limit: 1 });
36
+ if (tasks.length === 0) {
37
+ const coreTasks = [
38
+ { title: 'Morning Briefing', description: 'Daily briefing: calendar, Slack, tasks, mentions.', type: 'recurring', schedule: 'daily at 7am', skill: 'morning-briefing' },
39
+ { title: 'Sync Calendar', description: 'Sync macOS Calendar events via EventKit.', type: 'recurring', schedule: 'every 30m', skill: 'google-calendar' },
40
+ { title: 'Slack: Conversation Sync', description: 'Pull latest Slack messages into brain.', type: 'recurring', schedule: 'every 15m', skill: 'slack-sync' },
41
+ { title: 'Email: Conversation Sync', description: 'Sync emails from macOS Mail.', type: 'recurring', schedule: 'every 6h', skill: 'email-sync' },
42
+ { title: 'Slack: Full History Backfill', description: 'One-time full Slack history pull. Run manually.', type: 'once', skill: 'slack-backfill' },
43
+ { title: 'Email: Full Send History Pull', description: 'One-time full email sync (90 days). Run manually.', type: 'once', skill: 'email-sync', skill_config: JSON.stringify({ days_back: 90, sync_inbox: true }) },
44
+ ];
45
+ for (const t of coreTasks) brain.insertTask(t);
46
+ console.log('[api-walle] Bootstrapped ' + coreTasks.length + ' core tasks');
47
+ }
48
+ } catch {}
49
+ }
30
50
  return true;
31
51
  }
32
52