@keyoku/openclaw 1.2.9 → 1.2.11

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.
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Flow:
10
10
  * 1. `before_prompt_build` — stash the user's prompt (no /remember call yet)
11
- * 2. `message_sent` — pair the stashed prompt with the assistant's response,
11
+ * 2. `agent_end` — pair the stashed prompt with the assistant's response,
12
12
  * send the combined exchange to Keyoku's /remember endpoint ONCE.
13
13
  *
14
14
  * Keyoku's engine then:
@@ -1 +1 @@
1
- {"version":3,"file":"incremental-capture.d.ts","sourceRoot":"","sources":["../src/incremental-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CAwDN"}
1
+ {"version":3,"file":"incremental-capture.d.ts","sourceRoot":"","sources":["../src/incremental-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CAoFN"}
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Flow:
10
10
  * 1. `before_prompt_build` — stash the user's prompt (no /remember call yet)
11
- * 2. `message_sent` — pair the stashed prompt with the assistant's response,
11
+ * 2. `agent_end` — pair the stashed prompt with the assistant's response,
12
12
  * send the combined exchange to Keyoku's /remember endpoint ONCE.
13
13
  *
14
14
  * Keyoku's engine then:
@@ -37,15 +37,37 @@ export function registerIncrementalCapture(api, client, entityId, agentId, confi
37
37
  return;
38
38
  pendingUserPrompt = ev.prompt;
39
39
  }, { priority: -10 }); // Low priority — runs after auto-recall
40
- // Step 2: Pair with assistant response and send to Keyoku
41
- api.on('message_sent', async (event) => {
40
+ // Step 2: On agent_end, extract the last assistant response and pair with stashed prompt
41
+ api.on('agent_end', async (event) => {
42
42
  const ev = event;
43
- if (!ev.success || !ev.content)
44
- return;
45
- const assistantContent = ev.content;
46
- // Skip noise
47
- if (assistantContent.length < 20)
43
+ // Extract assistant response from the event
44
+ let assistantContent = '';
45
+ // Try output first (some agent modes provide this)
46
+ if (ev.output) {
47
+ assistantContent = ev.output;
48
+ }
49
+ // Fall back to last assistant message
50
+ if (!assistantContent && ev.messages) {
51
+ for (let i = ev.messages.length - 1; i >= 0; i--) {
52
+ const msg = ev.messages[i];
53
+ if (msg.role !== 'assistant')
54
+ continue;
55
+ if (typeof msg.content === 'string') {
56
+ assistantContent = msg.content;
57
+ }
58
+ else if (Array.isArray(msg.content)) {
59
+ assistantContent = msg.content
60
+ .filter((b) => b.type === 'text' && b.text)
61
+ .map((b) => b.text)
62
+ .join(' ');
63
+ }
64
+ if (assistantContent)
65
+ break;
66
+ }
67
+ }
68
+ if (!assistantContent || assistantContent.length < 20)
48
69
  return;
70
+ // Skip heartbeat/memory noise
49
71
  if (assistantContent === 'HEARTBEAT_OK' || assistantContent === 'NO_REPLY')
50
72
  return;
51
73
  if (assistantContent.includes('<heartbeat-signals>') || assistantContent.includes('<your-memories>'))
@@ -1 +1 @@
1
- {"version":3,"file":"incremental-capture.js","sourceRoot":"","sources":["../src/incremental-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,MAAM,UAAU,0BAA0B,CACxC,GAAc,EACd,MAAoB,EACpB,QAAgB,EAChB,OAAe,EACf,MAA8B;IAE9B,iFAAiF;IACjF,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAE5C,8CAA8C;IAC9C,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;QACrD,MAAM,EAAE,GAAG,KAA4B,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO;QAEhD,mDAAmD;QACnD,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO;QAC5C,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,OAAO;QAC/F,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe;YAAE,OAAO;QACtD,IAAI,wBAAwB,CAAC,EAAE,CAAC,MAAM,CAAC;YAAE,OAAO;QAEhD,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC;IAChC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wCAAwC;IAE/D,0DAA0D;IAC1D,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;QAC9C,MAAM,EAAE,GAAG,KAAgD,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO;YAAE,OAAO;QAEvC,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAAC;QAEpC,aAAa;QACb,IAAI,gBAAgB,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO;QACzC,IAAI,gBAAgB,KAAK,cAAc,IAAI,gBAAgB,KAAK,UAAU;YAAE,OAAO;QACnF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAAE,OAAO;QAC7G,IAAI,wBAAwB,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAEvD,uDAAuD;QACvD,IAAI,QAAgB,CAAC;QACrB,IAAI,iBAAiB,EAAE,CAAC;YACtB,QAAQ,GAAG,SAAS,iBAAiB,kBAAkB,gBAAgB,EAAE,CAAC;YAC1E,iBAAiB,GAAG,IAAI,CAAC,CAAC,WAAW;QACvC,CAAC;aAAM,CAAC;YACN,kFAAkF;YAClF,QAAQ,GAAG,gBAAgB,CAAC;QAC9B,CAAC;QAED,gDAAgD;QAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YAC7C,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,cAAc;aACvB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,8BAA8B,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"incremental-capture.js","sourceRoot":"","sources":["../src/incremental-capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,aAAa,CAAC;AAO/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;kBAOxC,SAAS;EAsC1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,aAAa,CAAC;AAO/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;kBAOxC,SAAS;EA0C1B"}
package/dist/index.js CHANGED
@@ -27,13 +27,17 @@ export default function keyokuMemory(config) {
27
27
  kind: 'memory',
28
28
  register(api) {
29
29
  const cfg = resolveConfig(config);
30
- // Resolve entity/agent IDs — fall back to plugin API id
31
- const entityId = cfg.entityId || api.id || 'default';
32
- const agentId = cfg.agentId || api.id || 'default';
30
+ // Resolve entity/agent IDs
31
+ // entityId = who owns the memories (user namespace); agentId = which agent wrote them
32
+ // api.id is the plugin ID (e.g., 'keyoku-memory') — NOT useful as entity/agent fallback
33
+ const entityId = cfg.entityId || 'default';
34
+ const agentId = cfg.agentId || 'default';
33
35
  // Token resolved lazily — the service generates it at startup, after register()
36
+ // 60s timeout: remember calls LLM extraction, heartbeatContext does analysis
34
37
  const client = new KeyokuClient({
35
38
  baseUrl: cfg.keyokuUrl,
36
39
  token: () => process.env.KEYOKU_SESSION_TOKEN,
40
+ timeout: 60000,
37
41
  });
38
42
  api.logger.info(`keyoku: plugin registered (url: ${cfg.keyokuUrl}, entity: ${entityId})`);
39
43
  // Register 6 memory/schedule tools
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,MAAqB;IACxD,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,QAAiB;QAEvB,QAAQ,CAAC,GAAc;YACrB,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAElC,wDAAwD;YACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC;YACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC;YAEnD,gFAAgF;YAChF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC9B,OAAO,EAAE,GAAG,CAAC,SAAS;gBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB;aAC9C,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,SAAS,aAAa,QAAQ,GAAG,CAAC,CAAC;YAE1F,mCAAmC;YACnC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE9C,kEAAkE;YAClE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAEnD,2CAA2C;YAC3C,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAEpC,2BAA2B;YAC3B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEnC,2CAA2C;YAC3C,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBAC3B,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;YAED,4EAA4E;YAC5E,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,MAAqB;IACxD,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,QAAiB;QAEvB,QAAQ,CAAC,GAAc;YACrB,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAElC,2BAA2B;YAC3B,sFAAsF;YACtF,wFAAwF;YACxF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;YAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;YAEzC,gFAAgF;YAChF,6EAA6E;YAC7E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC9B,OAAO,EAAE,GAAG,CAAC,SAAS;gBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBAC7C,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,SAAS,aAAa,QAAQ,GAAG,CAAC,CAAC;YAE1F,mCAAmC;YACnC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE9C,kEAAkE;YAClE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAEnD,2CAA2C;YAC3C,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAEpC,2BAA2B;YAC3B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEnC,2CAA2C;YAC3C,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBAC3B,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;YAED,4EAA4E;YAC5E,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keyoku/openclaw",
3
- "version": "1.2.9",
3
+ "version": "1.2.11",
4
4
  "description": "Keyoku memory plugin for OpenClaw — persistent memory, heartbeat enhancement, and scheduling",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: keyoku-memory
3
3
  description: Persistent memory system — you remember things about users across conversations
4
- user-invocable: false
5
- disable-model-invocation: true
6
4
  metadata: {"openclaw":{"always":true,"requires":{"config":["keyoku-memory"]}}}
7
5
  ---
8
6