@farazirfan/costar-server-executor 1.7.13 → 1.7.14
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/pi-embedded-runner/system-prompt.d.ts.map +1 -1
- package/dist/agent/pi-embedded-runner/system-prompt.js +33 -1
- package/dist/agent/pi-embedded-runner/system-prompt.js.map +1 -1
- package/dist/agent/pi-embedded-runner/tools.d.ts.map +1 -1
- package/dist/agent/pi-embedded-runner/tools.js +5 -8
- package/dist/agent/pi-embedded-runner/tools.js.map +1 -1
- package/dist/config/types.d.ts +0 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/heartbeat/runner.d.ts +21 -0
- package/dist/heartbeat/runner.d.ts.map +1 -1
- package/dist/heartbeat/runner.js +141 -24
- package/dist/heartbeat/runner.js.map +1 -1
- package/dist/memory/curation-state.d.ts +2 -16
- package/dist/memory/curation-state.d.ts.map +1 -1
- package/dist/memory/curation-state.js +0 -18
- package/dist/memory/curation-state.js.map +1 -1
- package/dist/memory/curator.d.ts +9 -13
- package/dist/memory/curator.d.ts.map +1 -1
- package/dist/memory/curator.js +32 -79
- package/dist/memory/curator.js.map +1 -1
- package/dist/memory/index.d.ts +2 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +2 -4
- package/dist/memory/index.js.map +1 -1
- package/dist/supabase/activity.d.ts +102 -0
- package/dist/supabase/activity.d.ts.map +1 -0
- package/dist/supabase/activity.js +312 -0
- package/dist/supabase/activity.js.map +1 -0
- package/dist/supabase/index.d.ts +3 -3
- package/dist/supabase/index.d.ts.map +1 -1
- package/dist/supabase/index.js +4 -2
- package/dist/supabase/index.js.map +1 -1
- package/dist/supabase/types.d.ts +5 -2
- package/dist/supabase/types.d.ts.map +1 -1
- package/dist/supabase/workspace-storage.d.ts +0 -24
- package/dist/supabase/workspace-storage.d.ts.map +1 -1
- package/dist/supabase/workspace-storage.js +4 -86
- package/dist/supabase/workspace-storage.js.map +1 -1
- package/dist/tools/complete-turn.d.ts +26 -0
- package/dist/tools/complete-turn.d.ts.map +1 -0
- package/dist/tools/complete-turn.js +60 -0
- package/dist/tools/complete-turn.js.map +1 -0
- package/dist/tools/index.d.ts +4 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory.d.ts +2 -2
- package/dist/tools/memory.js +10 -10
- package/dist/tools/memory.js.map +1 -1
- package/dist/workspace/index.d.ts +2 -2
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +2 -2
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/templates.d.ts +3 -2
- package/dist/workspace/templates.d.ts.map +1 -1
- package/dist/workspace/templates.js +27 -14
- 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 +5 -1
- package/dist/workspace/workspace.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CoStar Server Executor - Complete Turn Tool
|
|
3
|
+
*
|
|
4
|
+
* Structured tool for the LLM to report what it did at the end of each turn.
|
|
5
|
+
* Replaces fragile TITLE:/SUMMARY: regex parsing with guaranteed JSON.
|
|
6
|
+
*
|
|
7
|
+
* The tool stores its data in module-level state that the heartbeat runner
|
|
8
|
+
* reads after the turn completes. This avoids any coupling between the tool
|
|
9
|
+
* and the runner — they communicate through a simple get/clear interface.
|
|
10
|
+
*/
|
|
11
|
+
import { Type } from "@sinclair/typebox";
|
|
12
|
+
import { jsonResult } from "../utils/tool-helpers.js";
|
|
13
|
+
/** Stores the most recent complete_turn call data */
|
|
14
|
+
let _lastTurnSummary = null;
|
|
15
|
+
/**
|
|
16
|
+
* Get the last turn summary (called by heartbeat runner after the turn).
|
|
17
|
+
* Returns null if the LLM never called complete_turn.
|
|
18
|
+
*/
|
|
19
|
+
export function getLastTurnSummary() {
|
|
20
|
+
return _lastTurnSummary;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Clear the turn summary (called before each new turn to reset state).
|
|
24
|
+
*/
|
|
25
|
+
export function clearTurnSummary() {
|
|
26
|
+
_lastTurnSummary = null;
|
|
27
|
+
}
|
|
28
|
+
// ═══════════════════════════════════════════════════
|
|
29
|
+
// TOOL DEFINITION
|
|
30
|
+
// ═══════════════════════════════════════════════════
|
|
31
|
+
const CompleteTurnSchema = Type.Object({
|
|
32
|
+
title: Type.String({
|
|
33
|
+
description: "Short title (5-10 words) describing what you did. Example: 'Email check and Bitcoin price monitoring'",
|
|
34
|
+
}),
|
|
35
|
+
summary: Type.String({
|
|
36
|
+
description: "Thorough account of what happened — write naturally, like telling a colleague what happened while they were away. This is the only record of your work.",
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
export function createCompleteTurnTool() {
|
|
40
|
+
return {
|
|
41
|
+
label: "Complete Turn",
|
|
42
|
+
name: "complete_turn",
|
|
43
|
+
description: "Call this as your LAST tool call in every turn to log what you did. Provide a short title and a thorough summary. This is the only record of your work — stored for future recall by both executors. Write naturally, no technical terms.",
|
|
44
|
+
parameters: CompleteTurnSchema,
|
|
45
|
+
execute: async (_toolCallId, params) => {
|
|
46
|
+
const title = params.title?.trim() || "Untitled turn";
|
|
47
|
+
const summary = params.summary?.trim() || "No summary provided.";
|
|
48
|
+
// Store for the runner to pick up
|
|
49
|
+
_lastTurnSummary = { title, summary };
|
|
50
|
+
console.log(`[COMPLETE_TURN] Title: ${title}`);
|
|
51
|
+
console.log(`[COMPLETE_TURN] Summary: ${summary.slice(0, 200)}`);
|
|
52
|
+
return jsonResult({
|
|
53
|
+
status: "logged",
|
|
54
|
+
title,
|
|
55
|
+
summary: summary.length > 200 ? summary.slice(0, 200) + "..." : summary,
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=complete-turn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete-turn.js","sourceRoot":"","sources":["../../src/tools/complete-turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAWtD,qDAAqD;AACrD,IAAI,gBAAgB,GAAuB,IAAI,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,sDAAsD;AACtD,kBAAkB;AAClB,sDAAsD;AAEtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QACjB,WAAW,EACT,uGAAuG;KAC1G,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,WAAW,EACT,yJAAyJ;KAC5J,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2OAA2O;QAC7O,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,MAA+B,EAAE,EAAE;YACtE,MAAM,KAAK,GAAI,MAAM,CAAC,KAAgB,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC;YAClE,MAAM,OAAO,GAAI,MAAM,CAAC,OAAkB,EAAE,IAAI,EAAE,IAAI,sBAAsB,CAAC;YAE7E,kCAAkC;YAClC,gBAAgB,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAEtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAEjE,OAAO,UAAU,CAAC;gBAChB,MAAM,EAAE,QAAQ;gBAChB,KAAK;gBACL,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO;aACxE,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -19,9 +19,10 @@ import { createGetCalendarEventsTool, createCreateCalendarEventTool, createUpdat
|
|
|
19
19
|
import { createGenerateImageTool } from "./generate-image.js";
|
|
20
20
|
import { createDiscoverDataApiTool, createFetchApiDataTool } from "./fetch-api-data.js";
|
|
21
21
|
import { createCronTool, type CronToolDeps } from "./cron.js";
|
|
22
|
-
|
|
22
|
+
import { createCompleteTurnTool } from "./complete-turn.js";
|
|
23
|
+
export { readTool, writeTool, editTool, bashTool, createExecTool, execTool, createProcessTool, processTool, type ExecToolDefaults, type ProcessToolDefaults, createWebSearchTool, createWebFetchTool, createBrowserTool, createMemorySearchTool, createMemoryGetTool, createMessageTool, createImageTool, createGenerateImageTool, createSessionStatusTool, createSearchEmailsTool, createSendEmailTool, createReadEmailTool, createReadEmailThreadTool, createGetCalendarEventsTool, createCreateCalendarEventTool, createUpdateCalendarEventTool, createDeleteCalendarEventTool, createDiscoverDataApiTool, createFetchApiDataTool, createCronTool, type CronToolDeps, createCompleteTurnTool, };
|
|
23
24
|
/**
|
|
24
|
-
* Get all
|
|
25
|
+
* Get all 30 core tools
|
|
25
26
|
*
|
|
26
27
|
* Tool breakdown:
|
|
27
28
|
* - File Operations (4): read, write, edit, bash
|
|
@@ -30,7 +31,7 @@ export { readTool, writeTool, editTool, bashTool, createExecTool, execTool, crea
|
|
|
30
31
|
* - Memory (2): memory_search, memory_get
|
|
31
32
|
* - Communication (1): message
|
|
32
33
|
* - Media (2): image, generate_image
|
|
33
|
-
* - System (
|
|
34
|
+
* - System (2): session_status, complete_turn
|
|
34
35
|
* - Email (4): search_emails, send_email, read_email, read_email_thread
|
|
35
36
|
* - Calendar (4): get_calendar_events, create_calendar_event, update_calendar_event, delete_calendar_event
|
|
36
37
|
* - Data API (2): discover_data_api, fetch_api_data (matches client executor)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAEL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EAER,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAExB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAEjB,sBAAsB,EACtB,mBAAmB,EAEnB,iBAAiB,EAEjB,eAAe,EACf,uBAAuB,EAEvB,uBAAuB,EAEvB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EAEzB,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAE7B,yBAAyB,EACzB,sBAAsB,EAEtB,cAAc,EACd,KAAK,YAAY,EAEjB,sBAAsB,GACvB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAuDnE"}
|
package/dist/tools/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import { createGetCalendarEventsTool, createCreateCalendarEventTool, createUpdat
|
|
|
18
18
|
import { createGenerateImageTool } from "./generate-image.js";
|
|
19
19
|
import { createDiscoverDataApiTool, createFetchApiDataTool } from "./fetch-api-data.js";
|
|
20
20
|
import { createCronTool } from "./cron.js";
|
|
21
|
+
import { createCompleteTurnTool } from "./complete-turn.js";
|
|
21
22
|
// Re-export individual tool creators and types
|
|
22
23
|
export {
|
|
23
24
|
// File Operations
|
|
@@ -41,9 +42,11 @@ createGetCalendarEventsTool, createCreateCalendarEventTool, createUpdateCalendar
|
|
|
41
42
|
// Data API (discovery + execution — matches client executor)
|
|
42
43
|
createDiscoverDataApiTool, createFetchApiDataTool,
|
|
43
44
|
// Cron (OpenClaw)
|
|
44
|
-
createCronTool,
|
|
45
|
+
createCronTool,
|
|
46
|
+
// Turn completion
|
|
47
|
+
createCompleteTurnTool, };
|
|
45
48
|
/**
|
|
46
|
-
* Get all
|
|
49
|
+
* Get all 30 core tools
|
|
47
50
|
*
|
|
48
51
|
* Tool breakdown:
|
|
49
52
|
* - File Operations (4): read, write, edit, bash
|
|
@@ -52,7 +55,7 @@ createCronTool, };
|
|
|
52
55
|
* - Memory (2): memory_search, memory_get
|
|
53
56
|
* - Communication (1): message
|
|
54
57
|
* - Media (2): image, generate_image
|
|
55
|
-
* - System (
|
|
58
|
+
* - System (2): session_status, complete_turn
|
|
56
59
|
* - Email (4): search_emails, send_email, read_email, read_email_thread
|
|
57
60
|
* - Calendar (4): get_calendar_events, create_calendar_event, update_calendar_event, delete_calendar_event
|
|
58
61
|
* - Data API (2): discover_data_api, fetch_api_data (matches client executor)
|
|
@@ -80,8 +83,9 @@ export function getAllTools(cronDeps) {
|
|
|
80
83
|
// Media (2)
|
|
81
84
|
createImageTool(),
|
|
82
85
|
createGenerateImageTool(),
|
|
83
|
-
// System (
|
|
86
|
+
// System (2)
|
|
84
87
|
createSessionStatusTool(),
|
|
88
|
+
createCompleteTurnTool(),
|
|
85
89
|
// Email (4)
|
|
86
90
|
createSearchEmailsTool(),
|
|
87
91
|
createSendEmailTool(),
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAyB,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAA4B,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAqB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAyB,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAA4B,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAqB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,+CAA+C;AAC/C,OAAO;AACL,kBAAkB;AAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ;AACR,YAAY;AACZ,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,WAAW;AAGX,MAAM;AACN,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB;AACjB,SAAS;AACT,sBAAsB,EACtB,mBAAmB;AACnB,gBAAgB;AAChB,iBAAiB;AACjB,QAAQ;AACR,eAAe,EACf,uBAAuB;AACvB,SAAS;AACT,uBAAuB;AACvB,QAAQ;AACR,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB;AACzB,WAAW;AACX,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B;AAC7B,6DAA6D;AAC7D,yBAAyB,EACzB,sBAAsB;AACtB,kBAAkB;AAClB,cAAc;AAEd,kBAAkB;AAClB,sBAAsB,GACvB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,QAAuB;IACjD,MAAM,KAAK,GAAmB;QAC5B,sBAAsB;QACtB,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,QAAQ;QAER,gBAAgB;QAChB,cAAc,EAAE;QAChB,iBAAiB,EAAE;QAEnB,UAAU;QACV,mBAAmB,EAAE;QACrB,kBAAkB,EAAE;QACpB,iBAAiB,EAAE;QAEnB,aAAa;QACb,sBAAsB,EAAE;QACxB,mBAAmB,EAAE;QAErB,oBAAoB;QACpB,iBAAiB,EAAE;QAEnB,YAAY;QACZ,eAAe,EAAE;QACjB,uBAAuB,EAAE;QAEzB,aAAa;QACb,uBAAuB,EAAE;QACzB,sBAAsB,EAAE;QAExB,YAAY;QACZ,sBAAsB,EAAE;QACxB,mBAAmB,EAAE;QACrB,mBAAmB,EAAE;QACrB,yBAAyB,EAAE;QAE3B,eAAe;QACf,2BAA2B,EAAE;QAC7B,6BAA6B,EAAE;QAC/B,6BAA6B,EAAE;QAC/B,6BAA6B,EAAE;QAE/B,gEAAgE;QAChE,yBAAyB,EAAE;QAC3B,sBAAsB,EAAE;KACzB,CAAC;IAEF,yFAAyF;IACzF,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/tools/memory.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CoStar Server Executor - Memory Tools
|
|
3
3
|
*
|
|
4
|
-
* Searches
|
|
4
|
+
* Searches agent_activity table for conversation history recall.
|
|
5
5
|
* MEMORY.md is loaded in system prompt for curated context.
|
|
6
|
-
* This tool provides on-demand search of full
|
|
6
|
+
* This tool provides on-demand search of full activity history.
|
|
7
7
|
*/
|
|
8
8
|
import type { AnyAgentTool } from "../types/tool.js";
|
|
9
9
|
export declare function createMemorySearchTool(): AnyAgentTool;
|
package/dist/tools/memory.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CoStar Server Executor - Memory Tools
|
|
3
3
|
*
|
|
4
|
-
* Searches
|
|
4
|
+
* Searches agent_activity table for conversation history recall.
|
|
5
5
|
* MEMORY.md is loaded in system prompt for curated context.
|
|
6
|
-
* This tool provides on-demand search of full
|
|
6
|
+
* This tool provides on-demand search of full activity history.
|
|
7
7
|
*/
|
|
8
8
|
import { Type } from "@sinclair/typebox";
|
|
9
9
|
import { jsonResult, readStringParam, readNumberParam } from "../utils/tool-helpers.js";
|
|
10
|
-
import {
|
|
10
|
+
import { searchAgentActivity, getRecentAgentActivity } from "../supabase/activity.js";
|
|
11
11
|
const MemorySearchSchema = Type.Object({
|
|
12
12
|
query: Type.String({
|
|
13
13
|
description: "Search query to find relevant conversations and context"
|
|
@@ -36,7 +36,7 @@ export function createMemorySearchTool() {
|
|
|
36
36
|
const daysBack = readNumberParam(params, "daysBack");
|
|
37
37
|
const userId = process.env.USER_ID || "default";
|
|
38
38
|
try {
|
|
39
|
-
const results = await
|
|
39
|
+
const results = await searchAgentActivity({
|
|
40
40
|
userId,
|
|
41
41
|
query: query,
|
|
42
42
|
limit: maxResults,
|
|
@@ -54,7 +54,7 @@ export function createMemorySearchTool() {
|
|
|
54
54
|
})),
|
|
55
55
|
query,
|
|
56
56
|
total: results.length,
|
|
57
|
-
source: "
|
|
57
|
+
source: "agent_activity",
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
catch (err) {
|
|
@@ -72,15 +72,15 @@ export function createMemoryGetRecentTool() {
|
|
|
72
72
|
return {
|
|
73
73
|
label: "Memory Get Recent",
|
|
74
74
|
name: "memory_get_recent",
|
|
75
|
-
description: "Get recent
|
|
75
|
+
description: "Get recent activity for context. Use to understand what the user and background tasks have been working on recently. Returns the most recent completed activity from both client and server executors.",
|
|
76
76
|
parameters: MemoryGetRecentSchema,
|
|
77
77
|
execute: async (_toolCallId, params) => {
|
|
78
78
|
const limit = readNumberParam(params, "limit") || 20;
|
|
79
79
|
const userId = process.env.USER_ID || "default";
|
|
80
80
|
try {
|
|
81
|
-
const
|
|
82
|
-
// Filter to completed
|
|
83
|
-
const results =
|
|
81
|
+
const entries = await getRecentAgentActivity(userId, limit);
|
|
82
|
+
// Filter to completed entries only and format
|
|
83
|
+
const results = entries
|
|
84
84
|
.filter((r) => r.status === "completed")
|
|
85
85
|
.map((r) => ({
|
|
86
86
|
id: r.id,
|
|
@@ -94,7 +94,7 @@ export function createMemoryGetRecentTool() {
|
|
|
94
94
|
return jsonResult({
|
|
95
95
|
results,
|
|
96
96
|
total: results.length,
|
|
97
|
-
source: "
|
|
97
|
+
source: "agent_activity",
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
catch (err) {
|
package/dist/tools/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* Note: BOOTSTRAP.md is handled by client executor (mobile app) during onboarding,
|
|
5
5
|
* not by the server executor.
|
|
6
6
|
*/
|
|
7
|
-
export { ensureAgentWorkspace, ensureWorkspace, loadWorkspaceBootstrapFiles, buildBootstrapContextFiles, getDefaultTemplate, getDefaultWorkspaceDir, isServerCreatedFile, isClientCreatedFile, DEFAULT_AGENTS_FILENAME, DEFAULT_SOUL_FILENAME, DEFAULT_TOOLS_FILENAME, DEFAULT_IDENTITY_FILENAME, DEFAULT_USER_FILENAME, DEFAULT_HEARTBEAT_FILENAME, DEFAULT_MEMORY_FILENAME, type WorkspaceBootstrapFileName, type WorkspaceBootstrapFile, } from "./workspace.js";
|
|
8
|
-
export { DEFAULT_AGENTS_TEMPLATE, DEFAULT_HEARTBEAT_TEMPLATE, DEFAULT_SOUL_TEMPLATE, DEFAULT_USER_TEMPLATE, DEFAULT_IDENTITY_TEMPLATE, DEFAULT_TOOLS_TEMPLATE, DEFAULT_MEMORY_TEMPLATE, } from "./templates.js";
|
|
7
|
+
export { ensureAgentWorkspace, ensureWorkspace, loadWorkspaceBootstrapFiles, buildBootstrapContextFiles, getDefaultTemplate, getDefaultWorkspaceDir, isServerCreatedFile, isClientCreatedFile, DEFAULT_AGENTS_FILENAME, DEFAULT_SOUL_FILENAME, DEFAULT_TOOLS_FILENAME, DEFAULT_IDENTITY_FILENAME, DEFAULT_USER_FILENAME, DEFAULT_HEARTBEAT_FILENAME, DEFAULT_MEMORY_FILENAME, DEFAULT_ACTIVITY_FILENAME, type WorkspaceBootstrapFileName, type WorkspaceBootstrapFile, } from "./workspace.js";
|
|
8
|
+
export { DEFAULT_AGENTS_TEMPLATE, DEFAULT_HEARTBEAT_TEMPLATE, DEFAULT_SOUL_TEMPLATE, DEFAULT_USER_TEMPLATE, DEFAULT_IDENTITY_TEMPLATE, DEFAULT_TOOLS_TEMPLATE, DEFAULT_MEMORY_TEMPLATE, DEFAULT_ACTIVITY_TEMPLATE, } from "./templates.js";
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC"}
|
package/dist/workspace/index.js
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* Note: BOOTSTRAP.md is handled by client executor (mobile app) during onboarding,
|
|
5
5
|
* not by the server executor.
|
|
6
6
|
*/
|
|
7
|
-
export { ensureAgentWorkspace, ensureWorkspace, loadWorkspaceBootstrapFiles, buildBootstrapContextFiles, getDefaultTemplate, getDefaultWorkspaceDir, isServerCreatedFile, isClientCreatedFile, DEFAULT_AGENTS_FILENAME, DEFAULT_SOUL_FILENAME, DEFAULT_TOOLS_FILENAME, DEFAULT_IDENTITY_FILENAME, DEFAULT_USER_FILENAME, DEFAULT_HEARTBEAT_FILENAME, DEFAULT_MEMORY_FILENAME, } from "./workspace.js";
|
|
8
|
-
export { DEFAULT_AGENTS_TEMPLATE, DEFAULT_HEARTBEAT_TEMPLATE, DEFAULT_SOUL_TEMPLATE, DEFAULT_USER_TEMPLATE, DEFAULT_IDENTITY_TEMPLATE, DEFAULT_TOOLS_TEMPLATE, DEFAULT_MEMORY_TEMPLATE, } from "./templates.js";
|
|
7
|
+
export { ensureAgentWorkspace, ensureWorkspace, loadWorkspaceBootstrapFiles, buildBootstrapContextFiles, getDefaultTemplate, getDefaultWorkspaceDir, isServerCreatedFile, isClientCreatedFile, DEFAULT_AGENTS_FILENAME, DEFAULT_SOUL_FILENAME, DEFAULT_TOOLS_FILENAME, DEFAULT_IDENTITY_FILENAME, DEFAULT_USER_FILENAME, DEFAULT_HEARTBEAT_FILENAME, DEFAULT_MEMORY_FILENAME, DEFAULT_ACTIVITY_FILENAME, } from "./workspace.js";
|
|
8
|
+
export { DEFAULT_AGENTS_TEMPLATE, DEFAULT_HEARTBEAT_TEMPLATE, DEFAULT_SOUL_TEMPLATE, DEFAULT_USER_TEMPLATE, DEFAULT_IDENTITY_TEMPLATE, DEFAULT_TOOLS_TEMPLATE, DEFAULT_MEMORY_TEMPLATE, DEFAULT_ACTIVITY_TEMPLATE, } from "./templates.js";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,GAG1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
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 curated long-term memory (loaded in every session's prompt)\n- **
|
|
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- **ACTIVITY.md** \u2014 background activity summary (read by client executor)\n- **memory_search** tool \u2014 search past conversations and activity for context\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 update MEMORY.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). 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 and USER.md with new learnings\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
|
*/
|
|
@@ -32,5 +32,6 @@ 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. The distilled essence of what matters.*\n
|
|
35
|
+
export declare const DEFAULT_MEMORY_TEMPLATE = "# MEMORY.md - Long-Term Memory\n\n*Your curated memories. The distilled essence of what matters.*\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).\nUse memory_search to find details from past conversations and activity.\n";
|
|
36
|
+
export declare const DEFAULT_ACTIVITY_TEMPLATE = "# Activity\n\n*Background activity summary. Updated after each cycle.*\n*The client executor reads this to know what happened.*\n\n## In Progress\n\n*No active tasks.*\n\n## Recent Activity\n\n*No recent activity.*\n\n## Notifications Sent\n\n*None yet.*\n\n## Needs Attention\n\n*Nothing right now.*\n";
|
|
36
37
|
//# 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,u+MA2InC,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,0oBA4BnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,mTAoBrC,CAAC"}
|
|
@@ -26,14 +26,8 @@ Don't ask permission. Just do it.
|
|
|
26
26
|
|
|
27
27
|
You wake up fresh each session. These files are your continuity:
|
|
28
28
|
- **MEMORY.md** — curated long-term memory (loaded in every session's prompt)
|
|
29
|
-
- **
|
|
30
|
-
- **memory_search** tool — search past conversations for context
|
|
31
|
-
|
|
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
|
|
29
|
+
- **ACTIVITY.md** — background activity summary (read by client executor)
|
|
30
|
+
- **memory_search** tool — search past conversations and activity for context
|
|
37
31
|
|
|
38
32
|
### MEMORY.md — Long-Term Memory
|
|
39
33
|
- Curated essence of what matters — not raw logs
|
|
@@ -51,7 +45,7 @@ You wake up fresh each session. These files are your continuity:
|
|
|
51
45
|
### Write It Down
|
|
52
46
|
- Memory is limited — if you want to remember something, WRITE IT TO A FILE
|
|
53
47
|
- "Mental notes" don't survive session restarts. Files do.
|
|
54
|
-
- When someone says "remember this" →
|
|
48
|
+
- When someone says "remember this" → update MEMORY.md
|
|
55
49
|
- When you learn a lesson → update AGENTS.md, TOOLS.md, or relevant file
|
|
56
50
|
|
|
57
51
|
## Safety
|
|
@@ -101,10 +95,10 @@ HEARTBEAT.md starts empty. Items come from two sources:
|
|
|
101
95
|
|
|
102
96
|
### Memory Curation + Proactive Action (Automatic)
|
|
103
97
|
|
|
104
|
-
Every heartbeat, the system checks for new activity (user conversations from the mobile app
|
|
98
|
+
Every heartbeat, the system checks for new activity (user conversations from the mobile app). If new data exists, you'll receive a **MEMORY CURATION + PROACTIVE ACTION** section in your heartbeat prompt.
|
|
105
99
|
|
|
106
100
|
When you see it:
|
|
107
|
-
1. **Curate memory**: Update MEMORY.md
|
|
101
|
+
1. **Curate memory**: Update MEMORY.md and USER.md with new learnings
|
|
108
102
|
2. **Take proactive action**: Don't just monitor — do real work:
|
|
109
103
|
- **Research**: Deep-dive into topics the user cares about (market analysis, tech comparisons, competitor intel)
|
|
110
104
|
- **Create**: Draft documents, prepare meeting notes, build itineraries, write summaries
|
|
@@ -289,7 +283,6 @@ Add whatever helps you do your job. This is your cheat sheet.
|
|
|
289
283
|
export const DEFAULT_MEMORY_TEMPLATE = `# MEMORY.md - Long-Term Memory
|
|
290
284
|
|
|
291
285
|
*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.*
|
|
293
286
|
|
|
294
287
|
## User Preferences
|
|
295
288
|
|
|
@@ -314,8 +307,28 @@ export const DEFAULT_MEMORY_TEMPLATE = `# MEMORY.md - Long-Term Memory
|
|
|
314
307
|
---
|
|
315
308
|
|
|
316
309
|
This file is loaded into every session's system prompt. Keep it concise (<5 KB).
|
|
317
|
-
|
|
318
|
-
|
|
310
|
+
Use memory_search to find details from past conversations and activity.
|
|
311
|
+
`;
|
|
312
|
+
export const DEFAULT_ACTIVITY_TEMPLATE = `# Activity
|
|
313
|
+
|
|
314
|
+
*Background activity summary. Updated after each cycle.*
|
|
315
|
+
*The client executor reads this to know what happened.*
|
|
316
|
+
|
|
317
|
+
## In Progress
|
|
318
|
+
|
|
319
|
+
*No active tasks.*
|
|
320
|
+
|
|
321
|
+
## Recent Activity
|
|
322
|
+
|
|
323
|
+
*No recent activity.*
|
|
324
|
+
|
|
325
|
+
## Notifications Sent
|
|
326
|
+
|
|
327
|
+
*None yet.*
|
|
328
|
+
|
|
329
|
+
## Needs Attention
|
|
330
|
+
|
|
331
|
+
*Nothing right now.*
|
|
319
332
|
`;
|
|
320
333
|
// Note: BOOTSTRAP.md template is NOT included here
|
|
321
334
|
// 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ItC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BtC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBxC,CAAC;AAEF,mDAAmD;AACnD,qEAAqE"}
|
|
@@ -14,7 +14,8 @@ export declare const DEFAULT_IDENTITY_FILENAME = "IDENTITY.md";
|
|
|
14
14
|
export declare const DEFAULT_USER_FILENAME = "USER.md";
|
|
15
15
|
export declare const DEFAULT_HEARTBEAT_FILENAME = "HEARTBEAT.md";
|
|
16
16
|
export declare const DEFAULT_MEMORY_FILENAME = "MEMORY.md";
|
|
17
|
-
export
|
|
17
|
+
export declare const DEFAULT_ACTIVITY_FILENAME = "ACTIVITY.md";
|
|
18
|
+
export type WorkspaceBootstrapFileName = typeof DEFAULT_AGENTS_FILENAME | typeof DEFAULT_SOUL_FILENAME | typeof DEFAULT_TOOLS_FILENAME | typeof DEFAULT_IDENTITY_FILENAME | typeof DEFAULT_USER_FILENAME | typeof DEFAULT_HEARTBEAT_FILENAME | typeof DEFAULT_MEMORY_FILENAME | typeof DEFAULT_ACTIVITY_FILENAME;
|
|
18
19
|
export type WorkspaceBootstrapFile = {
|
|
19
20
|
name: WorkspaceBootstrapFileName;
|
|
20
21
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,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;AACnD,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AAEvD,MAAM,MAAM,0BAA0B,GAClC,OAAO,uBAAuB,GAC9B,OAAO,qBAAqB,GAC5B,OAAO,sBAAsB,GAC7B,OAAO,yBAAyB,GAChC,OAAO,qBAAqB,GAC5B,OAAO,0BAA0B,GACjC,OAAO,uBAAuB,GAC9B,OAAO,yBAAyB,CAAC;AAErC,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;AA2FF;;;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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import fs from "node:fs";
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import { DEFAULT_AGENTS_TEMPLATE, DEFAULT_HEARTBEAT_TEMPLATE, DEFAULT_SOUL_TEMPLATE, DEFAULT_USER_TEMPLATE, DEFAULT_IDENTITY_TEMPLATE, DEFAULT_TOOLS_TEMPLATE, DEFAULT_MEMORY_TEMPLATE, } from "./templates.js";
|
|
12
|
+
import { DEFAULT_AGENTS_TEMPLATE, DEFAULT_HEARTBEAT_TEMPLATE, DEFAULT_SOUL_TEMPLATE, DEFAULT_USER_TEMPLATE, DEFAULT_IDENTITY_TEMPLATE, DEFAULT_TOOLS_TEMPLATE, DEFAULT_MEMORY_TEMPLATE, DEFAULT_ACTIVITY_TEMPLATE, } from "./templates.js";
|
|
13
13
|
// File names (following OpenClaw naming)
|
|
14
14
|
export const DEFAULT_AGENTS_FILENAME = "AGENTS.md";
|
|
15
15
|
export const DEFAULT_SOUL_FILENAME = "SOUL.md";
|
|
@@ -18,6 +18,7 @@ export const DEFAULT_IDENTITY_FILENAME = "IDENTITY.md";
|
|
|
18
18
|
export const DEFAULT_USER_FILENAME = "USER.md";
|
|
19
19
|
export const DEFAULT_HEARTBEAT_FILENAME = "HEARTBEAT.md";
|
|
20
20
|
export const DEFAULT_MEMORY_FILENAME = "MEMORY.md";
|
|
21
|
+
export const DEFAULT_ACTIVITY_FILENAME = "ACTIVITY.md";
|
|
21
22
|
/**
|
|
22
23
|
* Template map for creating default files
|
|
23
24
|
*/
|
|
@@ -29,6 +30,7 @@ const TEMPLATES = {
|
|
|
29
30
|
[DEFAULT_USER_FILENAME]: DEFAULT_USER_TEMPLATE,
|
|
30
31
|
[DEFAULT_HEARTBEAT_FILENAME]: DEFAULT_HEARTBEAT_TEMPLATE,
|
|
31
32
|
[DEFAULT_MEMORY_FILENAME]: DEFAULT_MEMORY_TEMPLATE,
|
|
33
|
+
[DEFAULT_ACTIVITY_FILENAME]: DEFAULT_ACTIVITY_TEMPLATE,
|
|
32
34
|
};
|
|
33
35
|
/**
|
|
34
36
|
* Files that server executor should auto-create if missing
|
|
@@ -38,6 +40,7 @@ const SERVER_CREATED_FILES = [
|
|
|
38
40
|
DEFAULT_AGENTS_FILENAME,
|
|
39
41
|
DEFAULT_HEARTBEAT_FILENAME,
|
|
40
42
|
DEFAULT_MEMORY_FILENAME,
|
|
43
|
+
DEFAULT_ACTIVITY_FILENAME,
|
|
41
44
|
];
|
|
42
45
|
/**
|
|
43
46
|
* Files that client executor should create during onboarding
|
|
@@ -61,6 +64,7 @@ const ALL_WORKSPACE_FILES = [
|
|
|
61
64
|
DEFAULT_USER_FILENAME,
|
|
62
65
|
DEFAULT_HEARTBEAT_FILENAME,
|
|
63
66
|
DEFAULT_MEMORY_FILENAME,
|
|
67
|
+
DEFAULT_ACTIVITY_FILENAME,
|
|
64
68
|
];
|
|
65
69
|
/**
|
|
66
70
|
* Write file if it doesn't exist (following OpenClaw pattern)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/workspace/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED