@tloncorp/openclaw 0.4.3 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +130 -141
  2. package/dist/index.js +703 -152
  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 +63 -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 +24 -4
  16. package/dist/src/config-schema.js.map +1 -1
  17. package/dist/src/diagnostic-subscriptions.js +49 -0
  18. package/dist/src/diagnostic-subscriptions.js.map +1 -0
  19. package/dist/src/effective-owner.js.map +1 -1
  20. package/dist/src/gateway-status.js +55 -7
  21. package/dist/src/gateway-status.js.map +1 -1
  22. package/dist/src/monitor/approval.js +71 -62
  23. package/dist/src/monitor/approval.js.map +1 -1
  24. package/dist/src/monitor/command-auth.js +7 -7
  25. package/dist/src/monitor/command-auth.js.map +1 -1
  26. package/dist/src/monitor/command-bridge.js +3 -2
  27. package/dist/src/monitor/command-bridge.js.map +1 -1
  28. package/dist/src/monitor/computing-presence.js +76 -12
  29. package/dist/src/monitor/computing-presence.js.map +1 -1
  30. package/dist/src/monitor/discovery.js +16 -9
  31. package/dist/src/monitor/discovery.js.map +1 -1
  32. package/dist/src/monitor/history.js +58 -26
  33. package/dist/src/monitor/history.js.map +1 -1
  34. package/dist/src/monitor/index.js +3018 -2496
  35. package/dist/src/monitor/index.js.map +1 -1
  36. package/dist/src/monitor/media.js +106 -78
  37. package/dist/src/monitor/media.js.map +1 -1
  38. package/dist/src/monitor/nudge-runner.js +36 -27
  39. package/dist/src/monitor/nudge-runner.js.map +1 -1
  40. package/dist/src/monitor/nudge-state.js +7 -11
  41. package/dist/src/monitor/nudge-state.js.map +1 -1
  42. package/dist/src/monitor/owner-reply-persistence.js +27 -26
  43. package/dist/src/monitor/owner-reply-persistence.js.map +1 -1
  44. package/dist/src/monitor/processed-messages.js.map +1 -1
  45. package/dist/src/monitor/session-routing.js +261 -0
  46. package/dist/src/monitor/session-routing.js.map +1 -0
  47. package/dist/src/monitor/settings-sync.js +1 -8
  48. package/dist/src/monitor/settings-sync.js.map +1 -1
  49. package/dist/src/monitor/utils.js +77 -71
  50. package/dist/src/monitor/utils.js.map +1 -1
  51. package/dist/src/nudge-decision.js +40 -43
  52. package/dist/src/nudge-decision.js.map +1 -1
  53. package/dist/src/nudge-messages.js +9 -9
  54. package/dist/src/nudge-scheduler.js.map +1 -1
  55. package/dist/src/owner-listen-command.js +38 -28
  56. package/dist/src/owner-listen-command.js.map +1 -1
  57. package/dist/src/pending-nudge.js.map +1 -1
  58. package/dist/src/runtime.js +10 -6
  59. package/dist/src/runtime.js.map +1 -1
  60. package/dist/src/session-roles.js +2 -1
  61. package/dist/src/session-roles.js.map +1 -1
  62. package/dist/src/session-route.js +44 -0
  63. package/dist/src/session-route.js.map +1 -0
  64. package/dist/src/settings.js +233 -102
  65. package/dist/src/settings.js.map +1 -1
  66. package/dist/src/setup-core.js +32 -32
  67. package/dist/src/setup-core.js.map +1 -1
  68. package/dist/src/setup-surface.js +19 -19
  69. package/dist/src/setup-surface.js.map +1 -1
  70. package/dist/src/shared-state.js +46 -0
  71. package/dist/src/shared-state.js.map +1 -0
  72. package/dist/src/targets.js +17 -10
  73. package/dist/src/targets.js.map +1 -1
  74. package/dist/src/telemetry.js +764 -34
  75. package/dist/src/telemetry.js.map +1 -1
  76. package/dist/src/tlon-binary.js +20 -12
  77. package/dist/src/tlon-binary.js.map +1 -1
  78. package/dist/src/tlon-tool-guard.js +5 -5
  79. package/dist/src/tool-trace.js +17 -13
  80. package/dist/src/tool-trace.js.map +1 -1
  81. package/dist/src/types.js +30 -12
  82. package/dist/src/types.js.map +1 -1
  83. package/dist/src/urbit/api-client.js +16 -12
  84. package/dist/src/urbit/api-client.js.map +1 -1
  85. package/dist/src/urbit/auth.js +9 -9
  86. package/dist/src/urbit/auth.js.map +1 -1
  87. package/dist/src/urbit/base-url.js +11 -11
  88. package/dist/src/urbit/base-url.js.map +1 -1
  89. package/dist/src/urbit/channel-ops.js +25 -19
  90. package/dist/src/urbit/channel-ops.js.map +1 -1
  91. package/dist/src/urbit/context.js +8 -8
  92. package/dist/src/urbit/context.js.map +1 -1
  93. package/dist/src/urbit/errors.js +33 -7
  94. package/dist/src/urbit/errors.js.map +1 -1
  95. package/dist/src/urbit/fetch.js +3 -3
  96. package/dist/src/urbit/fetch.js.map +1 -1
  97. package/dist/src/urbit/http-poke.js +10 -10
  98. package/dist/src/urbit/http-poke.js.map +1 -1
  99. package/dist/src/urbit/send.js +27 -23
  100. package/dist/src/urbit/send.js.map +1 -1
  101. package/dist/src/urbit/sse-client.js +45 -41
  102. package/dist/src/urbit/sse-client.js.map +1 -1
  103. package/dist/src/urbit/story.js +31 -30
  104. package/dist/src/urbit/story.js.map +1 -1
  105. package/dist/src/urbit/upload.js +8 -8
  106. package/dist/src/urbit/upload.js.map +1 -1
  107. package/dist/src/version.generated.js +2 -1
  108. package/dist/src/version.generated.js.map +1 -1
  109. package/dist/src/version.js +134 -0
  110. package/dist/src/version.js.map +1 -0
  111. package/openclaw.plugin.json +37 -0
  112. package/package.json +9 -15
@@ -1,5 +1,17 @@
1
- import { createComputingStatus, getComputingStatusText, serializeComputingStatus, setConversationPresence, } from "@tloncorp/api";
1
+ import { clearConversationPresence, createComputingStatus, getComputingStatusText, serializeComputingStatus, setConversationPresence, } from '@tloncorp/api';
2
+ import { dr, render } from '@urbit/aura';
3
+ import { describeError } from '../urbit/errors.js';
2
4
  const DEFAULT_MIN_UPDATE_INTERVAL_MS = 1_000;
5
+ const ACTIVE_PRESENCE_TIMEOUT_SECS = 90;
6
+ const ACTIVE_PRESENCE_TIMEOUT = render('dr', dr.fromSeconds(BigInt(ACTIVE_PRESENCE_TIMEOUT_SECS)));
7
+ // Active %computing entries carry an explicit 90s ship-side timeout. Re-publish
8
+ // unchanged active state well inside that window so long healthy runs stay
9
+ // visible, while disrupted gateways still age out without a final clear poke.
10
+ const DEFAULT_MAX_PUBLISH_AGE_MS = 30_000;
11
+ // Stopped runIds remembered per conversation so a late keepalive refresh
12
+ // cannot resurrect a run that was just stopped. Capped because tombstones
13
+ // only matter for the few seconds until the keepalive loop fully stops.
14
+ const STOPPED_RUN_MEMORY = 8;
3
15
  function normalizeToolName(toolName) {
4
16
  const trimmed = toolName?.trim();
5
17
  return trimmed ? trimmed : null;
@@ -7,12 +19,20 @@ function normalizeToolName(toolName) {
7
19
  export function createComputingPresenceReporter() {
8
20
  return {
9
21
  publish: async ({ conversationId, thinking, toolNames }) => {
22
+ if (!thinking) {
23
+ await clearConversationPresence({
24
+ conversationId,
25
+ topic: 'computing',
26
+ });
27
+ return;
28
+ }
10
29
  const toolCalls = toolNames.map((toolName) => ({ toolName }));
11
30
  const status = createComputingStatus({ thinking, toolCalls });
12
31
  await setConversationPresence({
13
32
  conversationId,
14
- topic: "computing",
33
+ topic: 'computing',
15
34
  disclose: [],
35
+ timeout: ACTIVE_PRESENCE_TIMEOUT,
16
36
  display: {
17
37
  text: getComputingStatusText(status),
18
38
  blob: serializeComputingStatus({ thinking, toolCalls }),
@@ -25,11 +45,40 @@ export function createComputingPresenceTracker(params) {
25
45
  const reporter = params?.reporter ?? createComputingPresenceReporter();
26
46
  const runtime = params?.runtime;
27
47
  const minUpdateIntervalMs = Math.max(0, params?.minUpdateIntervalMs ?? DEFAULT_MIN_UPDATE_INTERVAL_MS);
48
+ const maxPublishAgeMs = Math.max(minUpdateIntervalMs, params?.maxPublishAgeMs ?? DEFAULT_MAX_PUBLISH_AGE_MS);
28
49
  const conversations = new Map();
29
50
  const lastPublishedState = new Map();
30
51
  const lastPublishedAt = new Map();
31
52
  const pendingState = new Map();
32
53
  const pendingTimers = new Map();
54
+ const stoppedRuns = new Map();
55
+ const markRunStopped = (conversationId, runId) => {
56
+ let stopped = stoppedRuns.get(conversationId);
57
+ if (!stopped) {
58
+ stopped = new Set();
59
+ stoppedRuns.set(conversationId, stopped);
60
+ }
61
+ stopped.delete(runId);
62
+ stopped.add(runId);
63
+ while (stopped.size > STOPPED_RUN_MEMORY) {
64
+ const oldest = stopped.values().next().value;
65
+ if (oldest === undefined) {
66
+ break;
67
+ }
68
+ stopped.delete(oldest);
69
+ }
70
+ };
71
+ const isRunStopped = (conversationId, runId) => stoppedRuns.get(conversationId)?.has(runId) ?? false;
72
+ const clearRunStopped = (conversationId, runId) => {
73
+ const stopped = stoppedRuns.get(conversationId);
74
+ if (!stopped) {
75
+ return;
76
+ }
77
+ stopped.delete(runId);
78
+ if (stopped.size === 0) {
79
+ stoppedRuns.delete(conversationId);
80
+ }
81
+ };
33
82
  const clonePublishedState = (state) => ({
34
83
  thinking: state.thinking,
35
84
  toolNames: [...state.toolNames],
@@ -65,6 +114,13 @@ export function createComputingPresenceTracker(params) {
65
114
  conversationId,
66
115
  ...state,
67
116
  });
117
+ if (!state.thinking) {
118
+ // idle is the terminal state; drop the records so the maps do not grow
119
+ // unboundedly across the gateway's lifetime
120
+ lastPublishedState.delete(conversationId);
121
+ lastPublishedAt.delete(conversationId);
122
+ return;
123
+ }
68
124
  lastPublishedState.set(conversationId, clonePublishedState(state));
69
125
  lastPublishedAt.set(conversationId, Date.now());
70
126
  };
@@ -81,8 +137,12 @@ export function createComputingPresenceTracker(params) {
81
137
  };
82
138
  const publishThrottled = async (conversationId, state) => {
83
139
  if (statesEqual(lastPublishedState.get(conversationId), state)) {
84
- clearPending(conversationId);
85
- return;
140
+ const publishedAt = lastPublishedAt.get(conversationId) ?? 0;
141
+ if (Date.now() - publishedAt < maxPublishAgeMs) {
142
+ clearPending(conversationId);
143
+ return;
144
+ }
145
+ // fall through: re-publish before the ship-side presence expires
86
146
  }
87
147
  if (minUpdateIntervalMs === 0) {
88
148
  await publishNow(conversationId, state);
@@ -100,7 +160,7 @@ export function createComputingPresenceTracker(params) {
100
160
  }
101
161
  const timer = setTimeout(() => {
102
162
  pendingTimers.delete(conversationId);
103
- void safelySync(conversationId, "flush", async () => {
163
+ void safelySync(conversationId, 'flush', async () => {
104
164
  await flushPending(conversationId);
105
165
  });
106
166
  }, nextAllowedAt - now);
@@ -162,14 +222,15 @@ export function createComputingPresenceTracker(params) {
162
222
  await fn();
163
223
  }
164
224
  catch (error) {
165
- runtime?.error?.(`[tlon] Failed to ${action} computing presence for ${conversationId}: ${error instanceof Error
166
- ? (error.stack ?? error.message)
167
- : String(error)}`);
225
+ runtime?.error?.(`[tlon] Failed to ${action} computing presence for ${conversationId}: ${describeError(error)}`);
168
226
  }
169
227
  };
170
228
  return {
171
229
  refreshRun: async (params) => {
172
- await safelySync(params.conversationId, "refresh", async () => {
230
+ if (isRunStopped(params.conversationId, params.runId)) {
231
+ return;
232
+ }
233
+ await safelySync(params.conversationId, 'refresh', async () => {
173
234
  ensureRun(params.conversationId, params.runId);
174
235
  await syncConversation(params.conversationId);
175
236
  });
@@ -179,7 +240,9 @@ export function createComputingPresenceTracker(params) {
179
240
  if (!toolName) {
180
241
  return;
181
242
  }
182
- await safelySync(params.conversationId, "update", async () => {
243
+ await safelySync(params.conversationId, 'update', async () => {
244
+ // real activity resumes a previously stopped run
245
+ clearRunStopped(params.conversationId, params.runId);
183
246
  const run = ensureRun(params.conversationId, params.runId);
184
247
  if (!run.toolNames.includes(toolName)) {
185
248
  run.toolNames.push(toolName);
@@ -188,7 +251,7 @@ export function createComputingPresenceTracker(params) {
188
251
  });
189
252
  },
190
253
  clearToolCalls: async (params) => {
191
- await safelySync(params.conversationId, "clear tools for", async () => {
254
+ await safelySync(params.conversationId, 'clear tools for', async () => {
192
255
  const run = getRun(params.conversationId, params.runId);
193
256
  if (!run || run.toolNames.length === 0) {
194
257
  return;
@@ -198,7 +261,8 @@ export function createComputingPresenceTracker(params) {
198
261
  });
199
262
  },
200
263
  stopRun: async (params) => {
201
- await safelySync(params.conversationId, "clear", async () => {
264
+ markRunStopped(params.conversationId, params.runId);
265
+ await safelySync(params.conversationId, 'clear', async () => {
202
266
  const runs = conversations.get(params.conversationId);
203
267
  if (!runs) {
204
268
  if (lastPublishedState.get(params.conversationId)?.thinking) {
@@ -1 +1 @@
1
- {"version":3,"file":"computing-presence.js","sourceRoot":"","sources":["../../../src/monitor/computing-presence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computing-presence.js","sourceRoot":"","sources":["../../../src/monitor/computing-presence.ts"],"names":[],"mappings":"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"}
@@ -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":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAiD,EACjD,OAAmB,EACnB,OAAO,GAAG,CAAC;IAEX,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,EAAE,CACX,uCAAuC,OAAO,cAAc,UAAU,MAAM,CAC7E,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,yBAAyB,UAAU,OAAO,CAAC,CAAC;QAC3E,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,EAAE,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,CACX,+DAA+D,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CACjG,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAUD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAiD,EACjD,OAAmB;IAEnB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,CAAC,wCAAwC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAQ,CAAC;QAEpE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CACjD,QAAQ,CAAC,MAA6B,CACvC,EAAE,CAAC;gBACF,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC/C,oCAAoC;oBACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;oBACpC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACvC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACnC,CAAC;oBACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;wBACvB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC1D,IACE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;gCAC/B,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;gCAC/B,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAChC,CAAC;gCACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gCAC3B,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;4BAC7C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,EAAE,CAAC,0BAA0B,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,EAAE,CAAC,6CAA6C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,QAAQ,GAAI,QAAQ,EAAE,QAAqB,IAAI,IAAI,CAAC;QAC1D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAChC,CAAC,MAAM,CAAC;YACT,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,YAAY,0BAA0B,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,CACX,kCAAkC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CACpE,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAiD,EACjD,OAAmB;IAEnB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,23 +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('.');
17
18
  }
18
19
  export const MAX_THREAD_CONTEXT_MESSAGES = 20;
19
20
  function normalizeMessageId(id) {
20
- return String(id ?? "").replace(/\./g, "");
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');
21
45
  }
22
46
  const messageCache = new Map();
23
47
  const MAX_CACHED_MESSAGES = 100;
@@ -53,24 +77,25 @@ export async function fetchChannelHistory(api, channelNest, count = 50, runtime)
53
77
  if (Array.isArray(data)) {
54
78
  posts = data;
55
79
  }
56
- else if (data.posts && typeof data.posts === "object") {
80
+ else if (data.posts && typeof data.posts === 'object') {
57
81
  posts = Object.values(data.posts);
58
82
  }
59
- else if (typeof data === "object") {
83
+ else if (typeof data === 'object') {
60
84
  posts = Object.values(data);
61
85
  }
62
86
  const messages = posts
63
87
  .map((item) => {
64
- const essay = item.essay || item["r-post"]?.set?.essay;
65
- 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;
66
90
  return {
67
- author: essay?.author || "unknown",
91
+ author: essay?.author || 'unknown',
68
92
  content: extractMessageText(essay?.content || []),
69
93
  timestamp: essay?.sent || Date.now(),
70
94
  id: seal?.id,
95
+ blob: essay?.blob ?? null,
71
96
  };
72
97
  })
73
- .filter((msg) => msg.content);
98
+ .filter((msg) => msg.content || msg.blob);
74
99
  runtime?.log?.(`[tlon] Extracted ${messages.length} messages from history`);
75
100
  return messages;
76
101
  }
@@ -113,22 +138,23 @@ export async function fetchThreadHistory(api, channelNest, parentId, count = 50,
113
138
  else if (data.replies && Array.isArray(data.replies)) {
114
139
  replies = data.replies;
115
140
  }
116
- else if (typeof data === "object") {
141
+ else if (typeof data === 'object') {
117
142
  replies = Object.values(data);
118
143
  }
119
144
  const messages = replies
120
145
  .map((item) => {
121
146
  // Thread replies use 'memo' structure
122
- const memo = item.memo || item["r-reply"]?.set?.memo || item;
123
- 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;
124
149
  return {
125
- author: memo?.author || "unknown",
150
+ author: memo?.author || 'unknown',
126
151
  content: extractMessageText(memo?.content || []),
127
152
  timestamp: memo?.sent || Date.now(),
128
153
  id: seal?.id || item.id,
154
+ blob: memo?.blob ?? null,
129
155
  };
130
156
  })
131
- .filter((msg) => msg.content);
157
+ .filter((msg) => msg.content || msg.blob);
132
158
  runtime?.log?.(`[tlon] Extracted ${messages.length} thread replies from history`);
133
159
  return messages;
134
160
  }
@@ -140,15 +166,18 @@ export async function fetchThreadHistory(api, channelNest, parentId, count = 50,
140
166
  runtime?.log?.(`[tlon] Trying alternate path: ${altPath}`);
141
167
  const data = await api.scry(altPath);
142
168
  if (data?.seal?.meta?.replyCount > 0 && data?.replies) {
143
- 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);
144
172
  const messages = replies
145
173
  .map((reply) => ({
146
- author: reply.memo?.author || "unknown",
174
+ author: reply.memo?.author || 'unknown',
147
175
  content: extractMessageText(reply.memo?.content || []),
148
176
  timestamp: reply.memo?.sent || Date.now(),
149
177
  id: reply.seal?.id,
178
+ blob: reply.memo?.blob ?? null,
150
179
  }))
151
- .filter((msg) => msg.content);
180
+ .filter((msg) => msg.content || msg.blob);
152
181
  runtime?.log?.(`[tlon] Extracted ${messages.length} replies from post data`);
153
182
  return messages;
154
183
  }
@@ -169,15 +198,15 @@ export async function fetchParentPostHistoryEntry(api, channelNest, parentId, ru
169
198
  runtime?.log?.(`[tlon] Fetching parent post: ${scryPath}`);
170
199
  const data = await api.scry(scryPath);
171
200
  const post = data?.post ?? data;
172
- const essay = post?.essay || post?.memo || post?.["r-post"]?.set?.essay;
173
- const seal = post?.seal || post?.["r-post"]?.set?.seal;
201
+ const essay = post?.essay || post?.memo || post?.['r-post']?.set?.essay;
202
+ const seal = post?.seal || post?.['r-post']?.set?.seal;
174
203
  const content = extractMessageText(essay?.content || []);
175
204
  if (!content) {
176
205
  runtime?.log?.(`[tlon] Parent post has no text content: ${parentId}`);
177
206
  return null;
178
207
  }
179
208
  return {
180
- author: typeof essay?.author === "string" ? essay.author : "unknown",
209
+ author: typeof essay?.author === 'string' ? essay.author : 'unknown',
181
210
  content,
182
211
  timestamp: essay?.sent || Date.now(),
183
212
  id: seal?.id || parentId,
@@ -192,7 +221,10 @@ export function retainThreadContextMessages(threadContextHistory, maxMessages =
192
221
  if (threadContextHistory.length <= maxMessages) {
193
222
  return threadContextHistory;
194
223
  }
195
- return [threadContextHistory[0], ...threadContextHistory.slice(-(maxMessages - 1))];
224
+ return [
225
+ threadContextHistory[0],
226
+ ...threadContextHistory.slice(-(maxMessages - 1)),
227
+ ];
196
228
  }
197
229
  export function buildThreadContextMessage(threadContextHistory, currentMessageText, opts) {
198
230
  if (threadContextHistory.length === 0) {
@@ -200,8 +232,8 @@ export function buildThreadContextMessage(threadContextHistory, currentMessageTe
200
232
  }
201
233
  const contextMessages = retainThreadContextMessages(threadContextHistory, opts.maxMessages ?? MAX_THREAD_CONTEXT_MESSAGES);
202
234
  const threadContext = contextMessages
203
- .map((msg) => `${opts.formatAuthor(msg.author)}: ${opts.sanitizeContent(msg.content)}`)
204
- .join("\n");
235
+ .map((msg) => `${opts.formatAuthor(msg.author)}: ${opts.sanitizeContent(renderHistoryContent(msg))}`)
236
+ .join('\n');
205
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.]`;
206
238
  return {
207
239
  messageText: `${contextNote}\n\n[Previous messages]\n${threadContext}\n\n` +
@@ -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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"}