@tloncorp/openclaw 0.4.2 → 0.6.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.
Files changed (110) hide show
  1. package/README.md +130 -141
  2. package/dist/index.js +157 -132
  3. package/dist/index.js.map +1 -1
  4. package/dist/setup-api.js +2 -2
  5. package/dist/setup-entry.js +2 -2
  6. package/dist/setup-entry.js.map +1 -1
  7. package/dist/src/account-fields.js +7 -3
  8. package/dist/src/account-fields.js.map +1 -1
  9. package/dist/src/actions.js +73 -52
  10. package/dist/src/actions.js.map +1 -1
  11. package/dist/src/channel.js +51 -39
  12. package/dist/src/channel.js.map +1 -1
  13. package/dist/src/channel.runtime.js +61 -32
  14. package/dist/src/channel.runtime.js.map +1 -1
  15. package/dist/src/config-schema.js +43 -4
  16. package/dist/src/config-schema.js.map +1 -1
  17. package/dist/src/effective-owner.js.map +1 -1
  18. package/dist/src/gateway-status.js +55 -7
  19. package/dist/src/gateway-status.js.map +1 -1
  20. package/dist/src/monitor/approval.js +71 -62
  21. package/dist/src/monitor/approval.js.map +1 -1
  22. package/dist/src/monitor/command-auth.js +7 -7
  23. package/dist/src/monitor/command-auth.js.map +1 -1
  24. package/dist/src/monitor/command-bridge.js +3 -2
  25. package/dist/src/monitor/command-bridge.js.map +1 -1
  26. package/dist/src/monitor/computing-presence.js +76 -12
  27. package/dist/src/monitor/computing-presence.js.map +1 -1
  28. package/dist/src/monitor/discovery.js +16 -9
  29. package/dist/src/monitor/discovery.js.map +1 -1
  30. package/dist/src/monitor/history.js +130 -21
  31. package/dist/src/monitor/history.js.map +1 -1
  32. package/dist/src/monitor/index.js +2766 -2310
  33. package/dist/src/monitor/index.js.map +1 -1
  34. package/dist/src/monitor/media.js +106 -78
  35. package/dist/src/monitor/media.js.map +1 -1
  36. package/dist/src/monitor/nudge-runner.js +36 -27
  37. package/dist/src/monitor/nudge-runner.js.map +1 -1
  38. package/dist/src/monitor/nudge-state.js +7 -11
  39. package/dist/src/monitor/nudge-state.js.map +1 -1
  40. package/dist/src/monitor/owner-reply-persistence.js +27 -26
  41. package/dist/src/monitor/owner-reply-persistence.js.map +1 -1
  42. package/dist/src/monitor/processed-messages.js.map +1 -1
  43. package/dist/src/monitor/settings-sync.js +1 -8
  44. package/dist/src/monitor/settings-sync.js.map +1 -1
  45. package/dist/src/monitor/utils.js +123 -67
  46. package/dist/src/monitor/utils.js.map +1 -1
  47. package/dist/src/nudge-decision.js +40 -43
  48. package/dist/src/nudge-decision.js.map +1 -1
  49. package/dist/src/nudge-messages.js +9 -9
  50. package/dist/src/nudge-scheduler.js.map +1 -1
  51. package/dist/src/owner-listen-command.js +84 -0
  52. package/dist/src/owner-listen-command.js.map +1 -0
  53. package/dist/src/pending-nudge.js.map +1 -1
  54. package/dist/src/runtime.js +10 -6
  55. package/dist/src/runtime.js.map +1 -1
  56. package/dist/src/session-roles.js +2 -1
  57. package/dist/src/session-roles.js.map +1 -1
  58. package/dist/src/settings.js +239 -96
  59. package/dist/src/settings.js.map +1 -1
  60. package/dist/src/setup-core.js +32 -32
  61. package/dist/src/setup-core.js.map +1 -1
  62. package/dist/src/setup-surface.js +19 -19
  63. package/dist/src/setup-surface.js.map +1 -1
  64. package/dist/src/shared-state.js +46 -0
  65. package/dist/src/shared-state.js.map +1 -0
  66. package/dist/src/targets.js +34 -10
  67. package/dist/src/targets.js.map +1 -1
  68. package/dist/src/telemetry.js +17 -14
  69. package/dist/src/telemetry.js.map +1 -1
  70. package/dist/src/tlon-binary.js +20 -12
  71. package/dist/src/tlon-binary.js.map +1 -1
  72. package/dist/src/tlon-tool-guard.js +5 -5
  73. package/dist/src/tool-trace.js +17 -13
  74. package/dist/src/tool-trace.js.map +1 -1
  75. package/dist/src/types.js +40 -11
  76. package/dist/src/types.js.map +1 -1
  77. package/dist/src/urbit/api-client.js +16 -12
  78. package/dist/src/urbit/api-client.js.map +1 -1
  79. package/dist/src/urbit/auth.js +9 -9
  80. package/dist/src/urbit/auth.js.map +1 -1
  81. package/dist/src/urbit/base-url.js +11 -11
  82. package/dist/src/urbit/base-url.js.map +1 -1
  83. package/dist/src/urbit/channel-ops.js +25 -19
  84. package/dist/src/urbit/channel-ops.js.map +1 -1
  85. package/dist/src/urbit/context.js +8 -8
  86. package/dist/src/urbit/context.js.map +1 -1
  87. package/dist/src/urbit/errors.js +33 -7
  88. package/dist/src/urbit/errors.js.map +1 -1
  89. package/dist/src/urbit/fetch.js +3 -3
  90. package/dist/src/urbit/fetch.js.map +1 -1
  91. package/dist/src/urbit/http-poke.js +10 -10
  92. package/dist/src/urbit/http-poke.js.map +1 -1
  93. package/dist/src/urbit/send.js +27 -23
  94. package/dist/src/urbit/send.js.map +1 -1
  95. package/dist/src/urbit/sse-client.js +45 -41
  96. package/dist/src/urbit/sse-client.js.map +1 -1
  97. package/dist/src/urbit/story.js +31 -30
  98. package/dist/src/urbit/story.js.map +1 -1
  99. package/dist/src/urbit/upload.js +8 -8
  100. package/dist/src/urbit/upload.js.map +1 -1
  101. package/dist/src/version.generated.js +2 -1
  102. package/dist/src/version.generated.js.map +1 -1
  103. package/openclaw.plugin.json +312 -2
  104. package/package.json +37 -7
  105. package/dist/src/heartbeat-telemetry.js +0 -155
  106. package/dist/src/heartbeat-telemetry.js.map +0 -1
  107. package/dist/src/nudge-candidate.js +0 -109
  108. package/dist/src/nudge-candidate.js.map +0 -1
  109. package/dist/src/onboarding.js +0 -178
  110. package/dist/src/onboarding.js.map +0 -1
@@ -1,11 +1,11 @@
1
- import { formatChangesDate } from "./utils.js";
1
+ import { formatChangesDate } from './utils.js';
2
2
  export async function fetchGroupChanges(api, runtime, daysAgo = 5) {
3
3
  try {
4
4
  const changeDate = formatChangesDate(daysAgo);
5
5
  runtime.log?.(`[tlon] Fetching group changes since ${daysAgo} days ago (${changeDate})...`);
6
6
  const changes = await api.scry(`/groups-ui/v8/changes/${changeDate}.json`);
7
7
  if (changes) {
8
- runtime.log?.("[tlon] Successfully fetched changes data");
8
+ runtime.log?.('[tlon] Successfully fetched changes data');
9
9
  return changes;
10
10
  }
11
11
  return null;
@@ -21,22 +21,24 @@ export async function fetchGroupChanges(api, runtime, daysAgo = 5) {
21
21
  */
22
22
  export async function fetchInitData(api, runtime) {
23
23
  try {
24
- runtime.log?.("[tlon] Fetching groups-ui init data...");
25
- const initData = (await api.scry("/groups-ui/v7/init.json"));
24
+ runtime.log?.('[tlon] Fetching groups-ui init data...');
25
+ const initData = (await api.scry('/groups-ui/v7/init.json'));
26
26
  const channels = [];
27
27
  const channelToGroup = new Map();
28
28
  const groupNames = new Map();
29
29
  if (initData?.groups) {
30
30
  for (const [groupFlag, groupData] of Object.entries(initData.groups)) {
31
- if (groupData && typeof groupData === "object") {
31
+ if (groupData && typeof groupData === 'object') {
32
32
  // Extract group title from metadata
33
33
  const title = groupData.meta?.title;
34
- if (title && typeof title === "string") {
34
+ if (title && typeof title === 'string') {
35
35
  groupNames.set(groupFlag, title);
36
36
  }
37
37
  if (groupData.channels) {
38
38
  for (const channelNest of Object.keys(groupData.channels)) {
39
- if (channelNest.startsWith("chat/") || channelNest.startsWith("heap/") || channelNest.startsWith("diary/")) {
39
+ if (channelNest.startsWith('chat/') ||
40
+ channelNest.startsWith('heap/') ||
41
+ channelNest.startsWith('diary/')) {
40
42
  channels.push(channelNest);
41
43
  channelToGroup.set(channelNest, groupFlag);
42
44
  }
@@ -49,7 +51,7 @@ export async function fetchInitData(api, runtime) {
49
51
  runtime.log?.(`[tlon] Auto-discovered ${channels.length} channel(s)`);
50
52
  }
51
53
  else {
52
- runtime.log?.("[tlon] No channels found via auto-discovery");
54
+ runtime.log?.('[tlon] No channels found via auto-discovery');
53
55
  }
54
56
  const foreigns = initData?.foreigns || null;
55
57
  if (foreigns) {
@@ -62,7 +64,12 @@ export async function fetchInitData(api, runtime) {
62
64
  }
63
65
  catch (error) {
64
66
  runtime.log?.(`[tlon] Init data fetch failed: ${error?.message ?? String(error)}`);
65
- return { channels: [], channelToGroup: new Map(), groupNames: new Map(), foreigns: null };
67
+ return {
68
+ channels: [],
69
+ channelToGroup: new Map(),
70
+ groupNames: new Map(),
71
+ foreigns: null,
72
+ };
66
73
  }
67
74
  }
68
75
  export async function fetchAllChannels(api, runtime) {
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/monitor/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/monitor/discovery.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,47 @@
1
- import { extractMessageText } from "./utils.js";
1
+ import { formatBlobForHistory, parseBlobData } from './media.js';
2
+ import { extractMessageText } from './utils.js';
2
3
  /**
3
4
  * Format a number as @ud (with dots every 3 digits from the right)
4
5
  * e.g., 170141184507799509469114119040828178432 -> 170.141.184.507.799.509.469.114.119.040.828.178.432
5
6
  */
6
7
  function formatUd(id) {
7
- const str = String(id).replace(/\./g, ""); // Remove any existing dots
8
- const reversed = str.split("").toReversed();
8
+ const str = String(id).replace(/\./g, ''); // Remove any existing dots
9
+ const reversed = str.split('').toReversed();
9
10
  const chunks = [];
10
11
  for (let i = 0; i < reversed.length; i += 3) {
11
12
  chunks.push(reversed
12
13
  .slice(i, i + 3)
13
14
  .toReversed()
14
- .join(""));
15
+ .join(''));
15
16
  }
16
- return chunks.toReversed().join(".");
17
+ return chunks.toReversed().join('.');
18
+ }
19
+ export const MAX_THREAD_CONTEXT_MESSAGES = 20;
20
+ function normalizeMessageId(id) {
21
+ return String(id ?? '').replace(/\./g, '');
22
+ }
23
+ function getParsedBlobData(entry) {
24
+ if (entry.parsedBlobData !== undefined) {
25
+ return entry.parsedBlobData;
26
+ }
27
+ entry.parsedBlobData = parseBlobData(entry.blob);
28
+ return entry.parsedBlobData;
29
+ }
30
+ /**
31
+ * Render a history entry's full content for context display.
32
+ * Combines text content with compact blob annotations (e.g. voice memo transcripts).
33
+ */
34
+ export function renderHistoryContent(entry) {
35
+ const parts = [];
36
+ const blobData = getParsedBlobData(entry);
37
+ if (blobData) {
38
+ const blobText = formatBlobForHistory(blobData);
39
+ if (blobText)
40
+ parts.push(blobText);
41
+ }
42
+ if (entry.content)
43
+ parts.push(entry.content);
44
+ return parts.join('\n');
17
45
  }
18
46
  const messageCache = new Map();
19
47
  const MAX_CACHED_MESSAGES = 100;
@@ -21,8 +49,8 @@ export function lookupCachedMessage(channelNest, messageId) {
21
49
  const cache = messageCache.get(channelNest);
22
50
  if (!cache)
23
51
  return undefined;
24
- const normalizedId = String(messageId).replace(/\./g, "");
25
- return cache.find((m) => m.id && String(m.id).replace(/\./g, "") === normalizedId);
52
+ const normalizedId = normalizeMessageId(messageId);
53
+ return cache.find((m) => m.id && normalizeMessageId(m.id) === normalizedId);
26
54
  }
27
55
  export function cacheMessage(channelNest, message) {
28
56
  if (!messageCache.has(channelNest)) {
@@ -49,24 +77,25 @@ export async function fetchChannelHistory(api, channelNest, count = 50, runtime)
49
77
  if (Array.isArray(data)) {
50
78
  posts = data;
51
79
  }
52
- else if (data.posts && typeof data.posts === "object") {
80
+ else if (data.posts && typeof data.posts === 'object') {
53
81
  posts = Object.values(data.posts);
54
82
  }
55
- else if (typeof data === "object") {
83
+ else if (typeof data === 'object') {
56
84
  posts = Object.values(data);
57
85
  }
58
86
  const messages = posts
59
87
  .map((item) => {
60
- const essay = item.essay || item["r-post"]?.set?.essay;
61
- const seal = item.seal || item["r-post"]?.set?.seal;
88
+ const essay = item.essay || item['r-post']?.set?.essay;
89
+ const seal = item.seal || item['r-post']?.set?.seal;
62
90
  return {
63
- author: essay?.author || "unknown",
91
+ author: essay?.author || 'unknown',
64
92
  content: extractMessageText(essay?.content || []),
65
93
  timestamp: essay?.sent || Date.now(),
66
94
  id: seal?.id,
95
+ blob: essay?.blob ?? null,
67
96
  };
68
97
  })
69
- .filter((msg) => msg.content);
98
+ .filter((msg) => msg.content || msg.blob);
70
99
  runtime?.log?.(`[tlon] Extracted ${messages.length} messages from history`);
71
100
  return messages;
72
101
  }
@@ -109,22 +138,23 @@ export async function fetchThreadHistory(api, channelNest, parentId, count = 50,
109
138
  else if (data.replies && Array.isArray(data.replies)) {
110
139
  replies = data.replies;
111
140
  }
112
- else if (typeof data === "object") {
141
+ else if (typeof data === 'object') {
113
142
  replies = Object.values(data);
114
143
  }
115
144
  const messages = replies
116
145
  .map((item) => {
117
146
  // Thread replies use 'memo' structure
118
- const memo = item.memo || item["r-reply"]?.set?.memo || item;
119
- const seal = item.seal || item["r-reply"]?.set?.seal;
147
+ const memo = item.memo || item['r-reply']?.set?.memo || item;
148
+ const seal = item.seal || item['r-reply']?.set?.seal;
120
149
  return {
121
- author: memo?.author || "unknown",
150
+ author: memo?.author || 'unknown',
122
151
  content: extractMessageText(memo?.content || []),
123
152
  timestamp: memo?.sent || Date.now(),
124
153
  id: seal?.id || item.id,
154
+ blob: memo?.blob ?? null,
125
155
  };
126
156
  })
127
- .filter((msg) => msg.content);
157
+ .filter((msg) => msg.content || msg.blob);
128
158
  runtime?.log?.(`[tlon] Extracted ${messages.length} thread replies from history`);
129
159
  return messages;
130
160
  }
@@ -136,15 +166,18 @@ export async function fetchThreadHistory(api, channelNest, parentId, count = 50,
136
166
  runtime?.log?.(`[tlon] Trying alternate path: ${altPath}`);
137
167
  const data = await api.scry(altPath);
138
168
  if (data?.seal?.meta?.replyCount > 0 && data?.replies) {
139
- const replies = Array.isArray(data.replies) ? data.replies : Object.values(data.replies);
169
+ const replies = Array.isArray(data.replies)
170
+ ? data.replies
171
+ : Object.values(data.replies);
140
172
  const messages = replies
141
173
  .map((reply) => ({
142
- author: reply.memo?.author || "unknown",
174
+ author: reply.memo?.author || 'unknown',
143
175
  content: extractMessageText(reply.memo?.content || []),
144
176
  timestamp: reply.memo?.sent || Date.now(),
145
177
  id: reply.seal?.id,
178
+ blob: reply.memo?.blob ?? null,
146
179
  }))
147
- .filter((msg) => msg.content);
180
+ .filter((msg) => msg.content || msg.blob);
148
181
  runtime?.log?.(`[tlon] Extracted ${messages.length} replies from post data`);
149
182
  return messages;
150
183
  }
@@ -155,4 +188,80 @@ export async function fetchThreadHistory(api, channelNest, parentId, count = 50,
155
188
  return [];
156
189
  }
157
190
  }
191
+ /**
192
+ * Fetch the parent post body for a thread.
193
+ */
194
+ export async function fetchParentPostHistoryEntry(api, channelNest, parentId, runtime) {
195
+ try {
196
+ // Mirrors resolveCiteContent: channels +on-peek matches `[%post time=@ ~]`, mark goes in `.json` extension.
197
+ const scryPath = `/channels/v4/${channelNest}/posts/post/${formatUd(parentId)}.json`;
198
+ runtime?.log?.(`[tlon] Fetching parent post: ${scryPath}`);
199
+ const data = await api.scry(scryPath);
200
+ const post = data?.post ?? data;
201
+ const essay = post?.essay || post?.memo || post?.['r-post']?.set?.essay;
202
+ const seal = post?.seal || post?.['r-post']?.set?.seal;
203
+ const content = extractMessageText(essay?.content || []);
204
+ if (!content) {
205
+ runtime?.log?.(`[tlon] Parent post has no text content: ${parentId}`);
206
+ return null;
207
+ }
208
+ return {
209
+ author: typeof essay?.author === 'string' ? essay.author : 'unknown',
210
+ content,
211
+ timestamp: essay?.sent || Date.now(),
212
+ id: seal?.id || parentId,
213
+ };
214
+ }
215
+ catch (error) {
216
+ runtime?.log?.(`[tlon] Error fetching parent post: ${error?.message ?? String(error)}`);
217
+ return null;
218
+ }
219
+ }
220
+ export function retainThreadContextMessages(threadContextHistory, maxMessages = MAX_THREAD_CONTEXT_MESSAGES) {
221
+ if (threadContextHistory.length <= maxMessages) {
222
+ return threadContextHistory;
223
+ }
224
+ return [
225
+ threadContextHistory[0],
226
+ ...threadContextHistory.slice(-(maxMessages - 1)),
227
+ ];
228
+ }
229
+ export function buildThreadContextMessage(threadContextHistory, currentMessageText, opts) {
230
+ if (threadContextHistory.length === 0) {
231
+ return null;
232
+ }
233
+ const contextMessages = retainThreadContextMessages(threadContextHistory, opts.maxMessages ?? MAX_THREAD_CONTEXT_MESSAGES);
234
+ const threadContext = contextMessages
235
+ .map((msg) => `${opts.formatAuthor(msg.author)}: ${opts.sanitizeContent(renderHistoryContent(msg))}`)
236
+ .join('\n');
237
+ const contextNote = `[Thread conversation - ${contextMessages.length} messages including the parent post. You are participating in this thread. Only respond if relevant or helpful - you don't need to reply to every message.]`;
238
+ return {
239
+ messageText: `${contextNote}\n\n[Previous messages]\n${threadContext}\n\n` +
240
+ `[Current message]\n${currentMessageText}`,
241
+ contextMessages,
242
+ };
243
+ }
244
+ /**
245
+ * Assemble complete thread context with parent post first, then replies.
246
+ */
247
+ export async function fetchThreadContextHistory(api, channelNest, parentId, count = 50, runtime) {
248
+ const [parentPost, replies] = await Promise.all([
249
+ fetchParentPostHistoryEntry(api, channelNest, parentId, runtime),
250
+ fetchThreadHistory(api, channelNest, parentId, count, runtime),
251
+ ]);
252
+ const ordered = [parentPost, ...replies].filter((entry) => Boolean(entry));
253
+ const seen = new Set();
254
+ const deduped = [];
255
+ for (const entry of ordered) {
256
+ const key = entry.id
257
+ ? normalizeMessageId(entry.id)
258
+ : `${entry.author}:${entry.timestamp}:${entry.content}`;
259
+ if (seen.has(key)) {
260
+ continue;
261
+ }
262
+ seen.add(key);
263
+ deduped.push(entry);
264
+ }
265
+ return deduped;
266
+ }
158
267
  //# sourceMappingURL=history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/monitor/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/monitor/history.ts"],"names":[],"mappings":"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"}