@farazirfan/costar-server-executor 1.6.0 → 1.7.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.
- package/dist/agent/agent.d.ts +14 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +57 -2
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/pi-embedded-runner/system-prompt.d.ts +4 -1
- package/dist/agent/pi-embedded-runner/system-prompt.d.ts.map +1 -1
- package/dist/agent/pi-embedded-runner/system-prompt.js +104 -17
- package/dist/agent/pi-embedded-runner/system-prompt.js.map +1 -1
- package/dist/agent/pi-embedded-runner/tools.d.ts +10 -0
- package/dist/agent/pi-embedded-runner/tools.d.ts.map +1 -1
- package/dist/agent/pi-embedded-runner/tools.js +67 -0
- package/dist/agent/pi-embedded-runner/tools.js.map +1 -1
- package/dist/config/types.d.ts +13 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/heartbeat/runner.d.ts +10 -8
- package/dist/heartbeat/runner.d.ts.map +1 -1
- package/dist/heartbeat/runner.js +124 -47
- package/dist/heartbeat/runner.js.map +1 -1
- package/dist/memory/curation-state.d.ts +51 -0
- package/dist/memory/curation-state.d.ts.map +1 -0
- package/dist/memory/curation-state.js +82 -0
- package/dist/memory/curation-state.js.map +1 -0
- package/dist/memory/curator.d.ts +73 -0
- package/dist/memory/curator.d.ts.map +1 -0
- package/dist/memory/curator.js +198 -0
- package/dist/memory/curator.js.map +1 -0
- package/dist/memory/daily-log.d.ts +56 -0
- package/dist/memory/daily-log.d.ts.map +1 -0
- package/dist/memory/daily-log.js +176 -0
- package/dist/memory/daily-log.js.map +1 -0
- package/dist/memory/index.d.ts +10 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +13 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/supabase/index.d.ts +2 -2
- package/dist/supabase/index.d.ts.map +1 -1
- package/dist/supabase/index.js +2 -2
- package/dist/supabase/index.js.map +1 -1
- package/dist/supabase/notifications.d.ts.map +1 -1
- package/dist/supabase/notifications.js +10 -1
- package/dist/supabase/notifications.js.map +1 -1
- package/dist/supabase/requests.d.ts +10 -0
- package/dist/supabase/requests.d.ts.map +1 -1
- package/dist/supabase/requests.js +34 -0
- package/dist/supabase/requests.js.map +1 -1
- package/dist/supabase/workspace-storage.d.ts +41 -0
- package/dist/supabase/workspace-storage.d.ts.map +1 -1
- package/dist/supabase/workspace-storage.js +126 -0
- package/dist/supabase/workspace-storage.js.map +1 -1
- package/dist/tools/message.d.ts +8 -2
- package/dist/tools/message.d.ts.map +1 -1
- package/dist/tools/message.js +183 -9
- package/dist/tools/message.js.map +1 -1
- package/dist/workspace/templates.d.ts +3 -3
- package/dist/workspace/templates.d.ts.map +1 -1
- package/dist/workspace/templates.js +97 -69
- package/dist/workspace/templates.js.map +1 -1
- package/dist/workspace/workspace.d.ts +2 -1
- package/dist/workspace/workspace.d.ts.map +1 -1
- package/dist/workspace/workspace.js +19 -4
- package/dist/workspace/workspace.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* AGENTS.md - Operating instructions and autonomy grants
|
|
9
9
|
* Server uses this to know what it can do proactively
|
|
10
10
|
*/
|
|
11
|
-
export declare const DEFAULT_AGENTS_TEMPLATE = "# AGENTS.md - Your Workspace\n\nThis folder is home. Treat it that way.\n\n## Every Session\n\nBefore doing anything else:\n1. Read `SOUL.md` \u2014 this is who you are\n2. Read `USER.md` \u2014 this is who you're helping\n3. Use `memory_search` for relevant context from past conversations\n4. **If in MAIN SESSION** (direct chat with your human): MEMORY.md is loaded in context\n\nDon't ask permission. Just do it.\n\n## Memory\n\nYou wake up fresh each session. These files are your continuity:\n- **MEMORY.md** \u2014
|
|
11
|
+
export declare const DEFAULT_AGENTS_TEMPLATE = "# AGENTS.md - Your Workspace\n\nThis folder is home. Treat it that way.\n\n## Every Session\n\nBefore doing anything else:\n1. Read `SOUL.md` \u2014 this is who you are\n2. Read `USER.md` \u2014 this is who you're helping\n3. Use `memory_search` for relevant context from past conversations\n4. **If in MAIN SESSION** (direct chat with your human): MEMORY.md is loaded in context\n\nDon't ask permission. Just do it.\n\n## Memory\n\nYou wake up fresh each session. These files are your continuity:\n- **MEMORY.md** \u2014 curated long-term memory (loaded in every session's prompt)\n- **memory/YYYY-MM-DD.md** \u2014 daily notes (create memory/ dir if needed)\n- **memory_search** tool \u2014 search past conversations for context\n\n### Daily Notes\n- Write daily notes to memory/YYYY-MM-DD.md \u2014 raw logs of what happened\n- Free-form markdown, write whatever is worth remembering\n- Logs older than 7 days are automatically pruned\n- Think of these as your daily journal\n\n### MEMORY.md \u2014 Long-Term Memory\n- Curated essence of what matters \u2014 not raw logs\n- Loaded into every session's system prompt\n- Keep it concise (under 3-5 KB)\n- Periodically review and update with new learnings\n- Remove outdated info that's no longer relevant\n\n### Updating USER.md\n- USER.md was created during onboarding but should GROW over time\n- When you learn something new about the user, append it\n- Examples: work patterns, communication preferences, active projects\n- Don't overwrite the onboarding content \u2014 add to it\n\n### Write It Down\n- Memory is limited \u2014 if you want to remember something, WRITE IT TO A FILE\n- \"Mental notes\" don't survive session restarts. Files do.\n- When someone says \"remember this\" \u2192 write to memory/YYYY-MM-DD.md\n- When you learn a lesson \u2192 update AGENTS.md, TOOLS.md, or relevant file\n\n## Safety\n\n- Don't exfiltrate private data. Ever.\n- Don't run destructive commands without asking.\n- When in doubt, ask.\n\n## External vs Internal\n\n**Safe to do freely:**\n- Read files, explore, organize, learn\n- Search the web, check calendars\n- Work within this workspace\n- Update memory files\n\n**Ask first:**\n- Sending emails, messages, push notifications\n- Anything that leaves the machine\n- Anything you're uncertain about\n\n## Tools\n\nKeep local notes (camera names, SSH details, API endpoints) in `TOOLS.md`.\n\n## Heartbeats\n\nYou receive periodic heartbeat polls (~every 30 minutes). HEARTBEAT.md starts empty \u2014 items appear when you or the user adds monitoring tasks.\n\nDefault heartbeat prompt:\n`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`\n\n### Managing HEARTBEAT.md\n\nHEARTBEAT.md starts empty. Items come from two sources:\n- **User (via client app)**: Sets up monitoring (\"keep an eye on my emails\")\n- **You (proactively)**: When you detect signals from user activity during curation\n\n**Lifecycle rules:**\n- ADD items when you detect patterns worth monitoring from curation data\n- PRESERVE items added by the user \u2014 never remove user-requested monitoring\n- REMOVE items when: event has passed, user said stop, task is done, info is stale\n- DEDUPLICATE \u2014 don't add what's already there\n- Keep under 10 items \u2014 each costs tokens on every heartbeat cycle\n- Each item: `- [ ] Check X \u2014 alert user if Y`\n- Empty is fine \u2014 it saves API calls until something needs monitoring\n\n### Memory Curation + Proactive Action (Automatic)\n\nEvery heartbeat, the system checks for new activity (user conversations from the mobile app + daily log entries). If new data exists, you'll receive a **MEMORY CURATION + PROACTIVE ACTION** section in your heartbeat prompt.\n\nWhen you see it:\n1. **Curate memory**: Update MEMORY.md, USER.md, and daily notes\n2. **Take proactive action**: Don't just monitor \u2014 do real work:\n - **Research**: Deep-dive into topics the user cares about (market analysis, tech comparisons, competitor intel)\n - **Create**: Draft documents, prepare meeting notes, build itineraries, write summaries\n - **Prepare**: Gather context for upcoming events, check travel details, draft agendas\n - **Follow up**: Pick up things the user started but didn't finish, pending decisions, half-explored ideas\n - **Anticipate**: Find information the user will need soon based on their schedule, projects, or interests\n Save substantial outputs to /home/user/task/ and notify the user via message tool.\n3. **Update HEARTBEAT.md**: For things that need ongoing monitoring (recurring interests, deadlines, things they're waiting on), add checklist items\n\nMEMORY.md accumulates insights across heartbeat cycles \u2014 so even if you only see 2-3 new requests, you can connect patterns with what MEMORY.md already knows about the user.\n\n### How to Reach the User\n\nYour heartbeat response is NEVER sent to the user. The `message` tool is the ONLY way to reach them.\n\nYou're their AI assistant running 24/7. When you message them, sound like a thoughtful friend \u2014 not a system notification. Be conversational, warm, and genuinely helpful.\n\n**GOOD:** \"Hey, Bitcoin dipped below $90k \u2014 thought you'd want to know!\"\n**GOOD:** \"Did some research on those competitors you mentioned \u2014 saved a comparison to your files.\"\n**BAD:** \"Alert: Price threshold reached.\" (robotic)\n**BAD:** \"Task completed: report generated.\" (system-speak)\n\n**When to message:**\n- You found something they'd want to know right now\n- You finished work they'll find useful (research, documents, prep)\n- Something urgent needs their attention (boss email, meeting soon)\n\n**When to stay silent:**\n- Nothing new, routine check, late night non-urgent, already messaged recently\n- When in doubt, stay quiet \u2014 nobody likes spam from their assistant\n\n**Quality gate (enforced automatically):**\n- Messages that narrate your process or mention system internals are programmatically BLOCKED\n- Do the work silently, then share the result\n\n### Handling Cron Job Instructions\nWhen you receive a cron job instruction (via system events):\n1. Read the instruction carefully \u2014 it contains all context you need\n2. Execute the task using your available tools (web_search, message, email, etc.)\n3. If the result is worth sharing, send a notification via the `message` tool\n4. If nothing noteworthy happened, reply HEARTBEAT_OK\n5. For multi-step tasks, track progress and follow up in subsequent heartbeats\n\nThe goal: Be genuinely useful \u2014 do real work, not just send alerts. Monitor what matters, create what helps, stay quiet when there's nothing valuable to share.\n\n## Make It Yours\n\nThis is a starting point. Add your own conventions, style, and rules as you figure out what works.\n";
|
|
12
12
|
/**
|
|
13
13
|
* HEARTBEAT.md - Periodic checklist for proactive monitoring
|
|
14
14
|
*/
|
|
15
|
-
export declare const DEFAULT_HEARTBEAT_TEMPLATE = "# HEARTBEAT.md\n\n
|
|
15
|
+
export declare const DEFAULT_HEARTBEAT_TEMPLATE = "# HEARTBEAT.md\n\n# Keep this file empty (or with only comments) to skip heartbeat API calls.\n# Add monitoring tasks below when you detect something worth tracking.\n# Items are automatically added when proactive signals are detected from user activity.\n";
|
|
16
16
|
/**
|
|
17
17
|
* SOUL.md - Agent persona and personality
|
|
18
18
|
*/
|
|
@@ -32,5 +32,5 @@ export declare const DEFAULT_TOOLS_TEMPLATE = "# TOOLS.md - Local Notes\n\nSkill
|
|
|
32
32
|
/**
|
|
33
33
|
* MEMORY.md - Long-term curated memory
|
|
34
34
|
*/
|
|
35
|
-
export declare const DEFAULT_MEMORY_TEMPLATE = "# MEMORY.md - Long-Term Memory\n\n*Your curated memories.
|
|
35
|
+
export declare const DEFAULT_MEMORY_TEMPLATE = "# MEMORY.md - Long-Term Memory\n\n*Your curated memories. The distilled essence of what matters.*\n*Raw daily notes go in memory/YYYY-MM-DD.md \u2014 this file is the curated summary.*\n\n## User Preferences\n\n*(Add preferences as you learn them)*\n\n## Important Facts\n\n*(Key facts about the user, their work, their life)*\n\n## Lessons Learned\n\n*(Things you've learned that help you be more helpful)*\n\n## Active Projects\n\n*(What the user is currently working on)*\n\n## Key Decisions & Context\n\n*(Important decisions, recurring topics, ongoing threads)*\n\n---\n\nThis file is loaded into every session's system prompt. Keep it concise (<5 KB).\nDaily notes go in memory/YYYY-MM-DD.md (auto-pruned after 7 days).\nUse memory_search to find details from past conversations.\n";
|
|
36
36
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/workspace/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/workspace/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,2uNAiJnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,qQAKtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,osDAoCjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,0fAiBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,kcAgBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,kzBAmClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,wxBA8BnC,CAAC"}
|
|
@@ -25,24 +25,34 @@ Don't ask permission. Just do it.
|
|
|
25
25
|
## Memory
|
|
26
26
|
|
|
27
27
|
You wake up fresh each session. These files are your continuity:
|
|
28
|
-
- **MEMORY.md** —
|
|
28
|
+
- **MEMORY.md** — curated long-term memory (loaded in every session's prompt)
|
|
29
|
+
- **memory/YYYY-MM-DD.md** — daily notes (create memory/ dir if needed)
|
|
29
30
|
- **memory_search** tool — search past conversations for context
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
32
|
+
### Daily Notes
|
|
33
|
+
- Write daily notes to memory/YYYY-MM-DD.md — raw logs of what happened
|
|
34
|
+
- Free-form markdown, write whatever is worth remembering
|
|
35
|
+
- Logs older than 7 days are automatically pruned
|
|
36
|
+
- Think of these as your daily journal
|
|
37
|
+
|
|
38
|
+
### MEMORY.md — Long-Term Memory
|
|
39
|
+
- Curated essence of what matters — not raw logs
|
|
40
|
+
- Loaded into every session's system prompt
|
|
41
|
+
- Keep it concise (under 3-5 KB)
|
|
42
|
+
- Periodically review and update with new learnings
|
|
43
|
+
- Remove outdated info that's no longer relevant
|
|
44
|
+
|
|
45
|
+
### Updating USER.md
|
|
46
|
+
- USER.md was created during onboarding but should GROW over time
|
|
47
|
+
- When you learn something new about the user, append it
|
|
48
|
+
- Examples: work patterns, communication preferences, active projects
|
|
49
|
+
- Don't overwrite the onboarding content — add to it
|
|
50
|
+
|
|
51
|
+
### Write It Down
|
|
52
|
+
- Memory is limited — if you want to remember something, WRITE IT TO A FILE
|
|
42
53
|
- "Mental notes" don't survive session restarts. Files do.
|
|
43
|
-
- When someone says "remember this" →
|
|
54
|
+
- When someone says "remember this" → write to memory/YYYY-MM-DD.md
|
|
44
55
|
- When you learn a lesson → update AGENTS.md, TOOLS.md, or relevant file
|
|
45
|
-
- **Text > Brain** 📝
|
|
46
56
|
|
|
47
57
|
## Safety
|
|
48
58
|
|
|
@@ -67,65 +77,78 @@ Capture what matters. Decisions, context, things to remember. Skip the secrets u
|
|
|
67
77
|
|
|
68
78
|
Keep local notes (camera names, SSH details, API endpoints) in \`TOOLS.md\`.
|
|
69
79
|
|
|
70
|
-
##
|
|
80
|
+
## Heartbeats
|
|
71
81
|
|
|
72
|
-
|
|
82
|
+
You receive periodic heartbeat polls (~every 30 minutes). HEARTBEAT.md starts empty — items appear when you or the user adds monitoring tasks.
|
|
73
83
|
|
|
74
84
|
Default heartbeat prompt:
|
|
75
85
|
\`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.\`
|
|
76
86
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
- **
|
|
81
|
-
- **
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
**
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
- **
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
**
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
87
|
+
### Managing HEARTBEAT.md
|
|
88
|
+
|
|
89
|
+
HEARTBEAT.md starts empty. Items come from two sources:
|
|
90
|
+
- **User (via client app)**: Sets up monitoring ("keep an eye on my emails")
|
|
91
|
+
- **You (proactively)**: When you detect signals from user activity during curation
|
|
92
|
+
|
|
93
|
+
**Lifecycle rules:**
|
|
94
|
+
- ADD items when you detect patterns worth monitoring from curation data
|
|
95
|
+
- PRESERVE items added by the user — never remove user-requested monitoring
|
|
96
|
+
- REMOVE items when: event has passed, user said stop, task is done, info is stale
|
|
97
|
+
- DEDUPLICATE — don't add what's already there
|
|
98
|
+
- Keep under 10 items — each costs tokens on every heartbeat cycle
|
|
99
|
+
- Each item: \`- [ ] Check X — alert user if Y\`
|
|
100
|
+
- Empty is fine — it saves API calls until something needs monitoring
|
|
101
|
+
|
|
102
|
+
### Memory Curation + Proactive Action (Automatic)
|
|
103
|
+
|
|
104
|
+
Every heartbeat, the system checks for new activity (user conversations from the mobile app + daily log entries). If new data exists, you'll receive a **MEMORY CURATION + PROACTIVE ACTION** section in your heartbeat prompt.
|
|
105
|
+
|
|
106
|
+
When you see it:
|
|
107
|
+
1. **Curate memory**: Update MEMORY.md, USER.md, and daily notes
|
|
108
|
+
2. **Take proactive action**: Don't just monitor — do real work:
|
|
109
|
+
- **Research**: Deep-dive into topics the user cares about (market analysis, tech comparisons, competitor intel)
|
|
110
|
+
- **Create**: Draft documents, prepare meeting notes, build itineraries, write summaries
|
|
111
|
+
- **Prepare**: Gather context for upcoming events, check travel details, draft agendas
|
|
112
|
+
- **Follow up**: Pick up things the user started but didn't finish, pending decisions, half-explored ideas
|
|
113
|
+
- **Anticipate**: Find information the user will need soon based on their schedule, projects, or interests
|
|
114
|
+
Save substantial outputs to /home/user/task/ and notify the user via message tool.
|
|
115
|
+
3. **Update HEARTBEAT.md**: For things that need ongoing monitoring (recurring interests, deadlines, things they're waiting on), add checklist items
|
|
116
|
+
|
|
117
|
+
MEMORY.md accumulates insights across heartbeat cycles — so even if you only see 2-3 new requests, you can connect patterns with what MEMORY.md already knows about the user.
|
|
118
|
+
|
|
119
|
+
### How to Reach the User
|
|
120
|
+
|
|
121
|
+
Your heartbeat response is NEVER sent to the user. The \`message\` tool is the ONLY way to reach them.
|
|
122
|
+
|
|
123
|
+
You're their AI assistant running 24/7. When you message them, sound like a thoughtful friend — not a system notification. Be conversational, warm, and genuinely helpful.
|
|
124
|
+
|
|
125
|
+
**GOOD:** "Hey, Bitcoin dipped below $90k — thought you'd want to know!"
|
|
126
|
+
**GOOD:** "Did some research on those competitors you mentioned — saved a comparison to your files."
|
|
127
|
+
**BAD:** "Alert: Price threshold reached." (robotic)
|
|
128
|
+
**BAD:** "Task completed: report generated." (system-speak)
|
|
129
|
+
|
|
130
|
+
**When to message:**
|
|
131
|
+
- You found something they'd want to know right now
|
|
132
|
+
- You finished work they'll find useful (research, documents, prep)
|
|
133
|
+
- Something urgent needs their attention (boss email, meeting soon)
|
|
134
|
+
|
|
135
|
+
**When to stay silent:**
|
|
136
|
+
- Nothing new, routine check, late night non-urgent, already messaged recently
|
|
137
|
+
- When in doubt, stay quiet — nobody likes spam from their assistant
|
|
138
|
+
|
|
139
|
+
**Quality gate (enforced automatically):**
|
|
140
|
+
- Messages that narrate your process or mention system internals are programmatically BLOCKED
|
|
141
|
+
- Do the work silently, then share the result
|
|
142
|
+
|
|
143
|
+
### Handling Cron Job Instructions
|
|
121
144
|
When you receive a cron job instruction (via system events):
|
|
122
145
|
1. Read the instruction carefully — it contains all context you need
|
|
123
146
|
2. Execute the task using your available tools (web_search, message, email, etc.)
|
|
124
|
-
3. If the result is worth sharing, send a
|
|
125
|
-
4. If nothing noteworthy happened,
|
|
147
|
+
3. If the result is worth sharing, send a notification via the \`message\` tool
|
|
148
|
+
4. If nothing noteworthy happened, reply HEARTBEAT_OK
|
|
126
149
|
5. For multi-step tasks, track progress and follow up in subsequent heartbeats
|
|
127
150
|
|
|
128
|
-
The goal: Be
|
|
151
|
+
The goal: Be genuinely useful — do real work, not just send alerts. Monitor what matters, create what helps, stay quiet when there's nothing valuable to share.
|
|
129
152
|
|
|
130
153
|
## Make It Yours
|
|
131
154
|
|
|
@@ -136,9 +159,9 @@ This is a starting point. Add your own conventions, style, and rules as you figu
|
|
|
136
159
|
*/
|
|
137
160
|
export const DEFAULT_HEARTBEAT_TEMPLATE = `# HEARTBEAT.md
|
|
138
161
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
162
|
+
# Keep this file empty (or with only comments) to skip heartbeat API calls.
|
|
163
|
+
# Add monitoring tasks below when you detect something worth tracking.
|
|
164
|
+
# Items are automatically added when proactive signals are detected from user activity.
|
|
142
165
|
`;
|
|
143
166
|
/**
|
|
144
167
|
* SOUL.md - Agent persona and personality
|
|
@@ -265,7 +288,8 @@ Add whatever helps you do your job. This is your cheat sheet.
|
|
|
265
288
|
*/
|
|
266
289
|
export const DEFAULT_MEMORY_TEMPLATE = `# MEMORY.md - Long-Term Memory
|
|
267
290
|
|
|
268
|
-
*Your curated memories.
|
|
291
|
+
*Your curated memories. The distilled essence of what matters.*
|
|
292
|
+
*Raw daily notes go in memory/YYYY-MM-DD.md — this file is the curated summary.*
|
|
269
293
|
|
|
270
294
|
## User Preferences
|
|
271
295
|
|
|
@@ -283,11 +307,15 @@ export const DEFAULT_MEMORY_TEMPLATE = `# MEMORY.md - Long-Term Memory
|
|
|
283
307
|
|
|
284
308
|
*(What the user is currently working on)*
|
|
285
309
|
|
|
310
|
+
## Key Decisions & Context
|
|
311
|
+
|
|
312
|
+
*(Important decisions, recurring topics, ongoing threads)*
|
|
313
|
+
|
|
286
314
|
---
|
|
287
315
|
|
|
288
|
-
This file is
|
|
316
|
+
This file is loaded into every session's system prompt. Keep it concise (<5 KB).
|
|
317
|
+
Daily notes go in memory/YYYY-MM-DD.md (auto-pruned after 7 days).
|
|
289
318
|
Use memory_search to find details from past conversations.
|
|
290
|
-
Update this file periodically with curated learnings.
|
|
291
319
|
`;
|
|
292
320
|
// Note: BOOTSTRAP.md template is NOT included here
|
|
293
321
|
// It's handled by the client executor (mobile app) during onboarding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/workspace/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/workspace/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;CAKzC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCpC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;CAiBpC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;CAgBxC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BtC,CAAC;AAEF,mDAAmD;AACnD,qEAAqE"}
|
|
@@ -41,7 +41,8 @@ export declare function ensureAgentWorkspace(params?: {
|
|
|
41
41
|
export declare function loadWorkspaceBootstrapFiles(dir: string): WorkspaceBootstrapFile[];
|
|
42
42
|
/**
|
|
43
43
|
* Build context files for system prompt (following OpenClaw pattern)
|
|
44
|
-
* Only includes files that exist and have content
|
|
44
|
+
* Only includes files that exist and have content.
|
|
45
|
+
* Uses 70/20 head/tail trimming for large files.
|
|
45
46
|
*/
|
|
46
47
|
export declare function buildBootstrapContextFiles(files: WorkspaceBootstrapFile[], options?: {
|
|
47
48
|
maxChars?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,uBAAuB,cAAc,CAAC;AAEnD,MAAM,MAAM,0BAA0B,GAClC,OAAO,uBAAuB,GAC9B,OAAO,qBAAqB,GAC5B,OAAO,sBAAsB,GAC7B,OAAO,yBAAyB,GAChC,OAAO,qBAAqB,GAC5B,OAAO,0BAA0B,GACjC,OAAO,uBAAuB,CAAC;AAEnC,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,0BAA0B,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAwFF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB,CAqCA;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAmCjF;
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,uBAAuB,cAAc,CAAC;AAEnD,MAAM,MAAM,0BAA0B,GAClC,OAAO,uBAAuB,GAC9B,OAAO,qBAAqB,GAC5B,OAAO,sBAAsB,GAC7B,OAAO,yBAAyB,GAChC,OAAO,qBAAqB,GAC5B,OAAO,0BAA0B,GACjC,OAAO,uBAAuB,CAAC;AAEnC,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,0BAA0B,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAwFF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB,CAqCA;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAmCjF;AAkBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,sBAAsB,EAAE,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,GACA,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,MAAM,CAE/E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,OAAO,CAEjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,OAAO,CAEjF;AAKD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAG/C;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,CAAC,EAAE;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAM3B"}
|
|
@@ -170,9 +170,24 @@ export function loadWorkspaceBootstrapFiles(dir) {
|
|
|
170
170
|
// It's handled by client executor (mobile app) during onboarding
|
|
171
171
|
return result;
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Trim content using OpenClaw's 70/20 head/tail strategy.
|
|
175
|
+
* Keeps 70% from the start (structure, headers) and 20% from the end (recent entries).
|
|
176
|
+
*/
|
|
177
|
+
function trimContentHeadTail(content, maxChars) {
|
|
178
|
+
if (content.length <= maxChars)
|
|
179
|
+
return content;
|
|
180
|
+
const headChars = Math.floor(maxChars * 0.7);
|
|
181
|
+
const tailChars = Math.floor(maxChars * 0.2);
|
|
182
|
+
const head = content.slice(0, headChars);
|
|
183
|
+
const tail = content.slice(-tailChars);
|
|
184
|
+
const omitted = content.length - headChars - tailChars;
|
|
185
|
+
return `${head}\n\n[… ${omitted} characters omitted …]\n\n${tail}`;
|
|
186
|
+
}
|
|
173
187
|
/**
|
|
174
188
|
* Build context files for system prompt (following OpenClaw pattern)
|
|
175
|
-
* Only includes files that exist and have content
|
|
189
|
+
* Only includes files that exist and have content.
|
|
190
|
+
* Uses 70/20 head/tail trimming for large files.
|
|
176
191
|
*/
|
|
177
192
|
export function buildBootstrapContextFiles(files, options) {
|
|
178
193
|
const maxChars = options?.maxChars ?? 20000;
|
|
@@ -181,10 +196,10 @@ export function buildBootstrapContextFiles(files, options) {
|
|
|
181
196
|
if (file.missing || !file.content)
|
|
182
197
|
continue;
|
|
183
198
|
let content = file.content;
|
|
184
|
-
//
|
|
199
|
+
// Trim using 70/20 head/tail strategy (OpenClaw pattern)
|
|
185
200
|
if (content.length > maxChars) {
|
|
186
|
-
content = content
|
|
187
|
-
options?.warn?.(`${file.name}
|
|
201
|
+
content = trimContentHeadTail(content, maxChars);
|
|
202
|
+
options?.warn?.(`${file.name} trimmed from ${file.content.length} to ~${maxChars} chars (70/20 head/tail)`);
|
|
188
203
|
}
|
|
189
204
|
result.push({
|
|
190
205
|
path: file.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED