@terminals-tech/agent-zero 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/THEORY.md +207 -0
- package/dist/agency/commandRouter.d.ts +10 -0
- package/dist/agency/commandRouter.d.ts.map +1 -1
- package/dist/agency/commandRouter.js +206 -0
- package/dist/agency/commandRouter.js.map +1 -1
- package/dist/agency/runtime.d.ts +26 -0
- package/dist/agency/runtime.d.ts.map +1 -1
- package/dist/agency/runtime.js +138 -6
- package/dist/agency/runtime.js.map +1 -1
- package/dist/channels/gemini.d.ts +73 -0
- package/dist/channels/gemini.d.ts.map +1 -0
- package/dist/channels/gemini.js +246 -0
- package/dist/channels/gemini.js.map +1 -0
- package/dist/channels/sms.d.ts.map +1 -1
- package/dist/channels/sms.js +1 -2
- package/dist/channels/sms.js.map +1 -1
- package/dist/interop/a2a.d.ts +133 -0
- package/dist/interop/a2a.d.ts.map +1 -0
- package/dist/interop/a2a.js +357 -0
- package/dist/interop/a2a.js.map +1 -0
- package/dist/interop/index.d.ts +10 -0
- package/dist/interop/index.d.ts.map +1 -0
- package/dist/interop/index.js +10 -0
- package/dist/interop/index.js.map +1 -0
- package/dist/interop/mcp.d.ts +111 -0
- package/dist/interop/mcp.d.ts.map +1 -0
- package/dist/interop/mcp.js +337 -0
- package/dist/interop/mcp.js.map +1 -0
- package/dist/moltbook/approvalGate.d.ts +23 -0
- package/dist/moltbook/approvalGate.d.ts.map +1 -1
- package/dist/moltbook/approvalGate.js +45 -0
- package/dist/moltbook/approvalGate.js.map +1 -1
- package/dist/moltbook/attentionField.d.ts +14 -0
- package/dist/moltbook/attentionField.d.ts.map +1 -1
- package/dist/moltbook/attentionField.js +37 -1
- package/dist/moltbook/attentionField.js.map +1 -1
- package/dist/moltbook/daemon.d.ts +27 -0
- package/dist/moltbook/daemon.d.ts.map +1 -1
- package/dist/moltbook/daemon.js +184 -5
- package/dist/moltbook/daemon.js.map +1 -1
- package/dist/moltbook/responseComposer.d.ts +7 -2
- package/dist/moltbook/responseComposer.d.ts.map +1 -1
- package/dist/moltbook/responseComposer.js +36 -7
- package/dist/moltbook/responseComposer.js.map +1 -1
- package/dist/moltbook/strategicContext.d.ts +89 -0
- package/dist/moltbook/strategicContext.d.ts.map +1 -0
- package/dist/moltbook/strategicContext.js +283 -0
- package/dist/moltbook/strategicContext.js.map +1 -0
- package/dist/primitives/index.d.ts +6 -2
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +6 -2
- package/dist/primitives/index.js.map +1 -1
- package/dist/rail/persistence.d.ts +70 -1
- package/dist/rail/persistence.d.ts.map +1 -1
- package/dist/rail/persistence.js +270 -3
- package/dist/rail/persistence.js.map +1 -1
- package/dist/rail/plugin.d.ts +76 -0
- package/dist/rail/plugin.d.ts.map +1 -0
- package/dist/rail/plugin.js +141 -0
- package/dist/rail/plugin.js.map +1 -0
- package/dist/rail/server.d.ts +121 -30
- package/dist/rail/server.d.ts.map +1 -1
- package/dist/rail/server.js +404 -28
- package/dist/rail/server.js.map +1 -1
- package/dist/rail/wsServer.d.ts +7 -0
- package/dist/rail/wsServer.d.ts.map +1 -1
- package/dist/rail/wsServer.js +233 -11
- package/dist/rail/wsServer.js.map +1 -1
- package/dist/resonance/globalKuramoto.d.ts +20 -0
- package/dist/resonance/globalKuramoto.d.ts.map +1 -1
- package/dist/resonance/globalKuramoto.js +95 -2
- package/dist/resonance/globalKuramoto.js.map +1 -1
- package/dist/resonance/kuramoto.d.ts +6 -0
- package/dist/resonance/kuramoto.d.ts.map +1 -1
- package/dist/resonance/kuramoto.js +25 -0
- package/dist/resonance/kuramoto.js.map +1 -1
- package/dist/routing/index.d.ts +2 -0
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +1 -0
- package/dist/routing/index.js.map +1 -1
- package/dist/routing/modelRegistry.d.ts +54 -0
- package/dist/routing/modelRegistry.d.ts.map +1 -0
- package/dist/routing/modelRegistry.js +150 -0
- package/dist/routing/modelRegistry.js.map +1 -0
- package/dist/routing/thermodynamic.d.ts +14 -3
- package/dist/routing/thermodynamic.d.ts.map +1 -1
- package/dist/routing/thermodynamic.js +26 -12
- package/dist/routing/thermodynamic.js.map +1 -1
- package/dist/runtime/agent-zero.d.ts +38 -2
- package/dist/runtime/agent-zero.d.ts.map +1 -1
- package/dist/runtime/agent-zero.js +110 -7
- package/dist/runtime/agent-zero.js.map +1 -1
- package/dist/runtime/contextWindow.d.ts +62 -0
- package/dist/runtime/contextWindow.d.ts.map +1 -0
- package/dist/runtime/contextWindow.js +125 -0
- package/dist/runtime/contextWindow.js.map +1 -0
- package/dist/runtime/identity.d.ts +65 -0
- package/dist/runtime/identity.d.ts.map +1 -0
- package/dist/runtime/identity.js +199 -0
- package/dist/runtime/identity.js.map +1 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/sessionStore.d.ts +70 -0
- package/dist/runtime/sessionStore.d.ts.map +1 -0
- package/dist/runtime/sessionStore.js +134 -0
- package/dist/runtime/sessionStore.js.map +1 -0
- package/dist/security/capabilities.d.ts +46 -0
- package/dist/security/capabilities.d.ts.map +1 -1
- package/dist/security/capabilities.js +176 -0
- package/dist/security/capabilities.js.map +1 -1
- package/dist/security/combinators.d.ts +89 -0
- package/dist/security/combinators.d.ts.map +1 -0
- package/dist/security/combinators.js +168 -0
- package/dist/security/combinators.js.map +1 -0
- package/dist/security/index.d.ts +7 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +4 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/isolation.d.ts +76 -0
- package/dist/security/isolation.d.ts.map +1 -0
- package/dist/security/isolation.js +118 -0
- package/dist/security/isolation.js.map +1 -0
- package/dist/security/sandbox.d.ts +38 -1
- package/dist/security/sandbox.d.ts.map +1 -1
- package/dist/security/sandbox.js +68 -8
- package/dist/security/sandbox.js.map +1 -1
- package/package.json +13 -3
|
@@ -8,6 +8,7 @@ import { EventEmitter } from 'eventemitter3';
|
|
|
8
8
|
import { type ComposedResponse } from './responseComposer.js';
|
|
9
9
|
import { ApprovalGate, type ApprovalMode } from './approvalGate.js';
|
|
10
10
|
import { type CycleStats } from './observer.js';
|
|
11
|
+
import { StrategicContextStore } from './strategicContext.js';
|
|
11
12
|
import type { Vault } from '../security/vault.js';
|
|
12
13
|
export interface DaemonConfig {
|
|
13
14
|
/** Poll interval in ms (default: 1800000 = 30min) */
|
|
@@ -60,8 +61,15 @@ export declare class MoltbookDaemon extends EventEmitter<DaemonEvents> {
|
|
|
60
61
|
private engagedThreads;
|
|
61
62
|
private activePostIds;
|
|
62
63
|
private lastOriginalPostTime;
|
|
64
|
+
private consecutiveErrors;
|
|
65
|
+
private static readonly MAX_BACKOFF_MS;
|
|
66
|
+
private strategicContext;
|
|
67
|
+
private pendingOutcomeChecks;
|
|
68
|
+
private static readonly OUTCOME_CHECK_DELAY_MS;
|
|
69
|
+
private static readonly STRATEGIC_CONTEXT_KEY;
|
|
63
70
|
constructor(config: DaemonConfig);
|
|
64
71
|
start(): Promise<void>;
|
|
72
|
+
private scheduleNextCycle;
|
|
65
73
|
stop(): Promise<void>;
|
|
66
74
|
toggleMode(): Promise<ApprovalMode>;
|
|
67
75
|
getMode(): ApprovalMode;
|
|
@@ -99,9 +107,28 @@ export declare class MoltbookDaemon extends EventEmitter<DaemonEvents> {
|
|
|
99
107
|
private pillarIndex;
|
|
100
108
|
private runEngagementScan;
|
|
101
109
|
private fetchPost;
|
|
110
|
+
private checkPendingOutcomes;
|
|
111
|
+
private loadStrategicContext;
|
|
112
|
+
private saveStrategicContext;
|
|
102
113
|
executeApproved(response: ComposedResponse): Promise<void>;
|
|
103
114
|
getActivePostIds(): string[];
|
|
104
115
|
addActivePostId(id: string): void;
|
|
116
|
+
/**
|
|
117
|
+
* Generate a strategic engagement plan: scan feed, score, pick top targets,
|
|
118
|
+
* generate draft content for each.
|
|
119
|
+
*/
|
|
120
|
+
generatePlan(topic?: string): Promise<Array<{
|
|
121
|
+
targetThread: {
|
|
122
|
+
id: string;
|
|
123
|
+
title: string;
|
|
124
|
+
submolt: string;
|
|
125
|
+
};
|
|
126
|
+
proposedAction: 'comment' | 'post';
|
|
127
|
+
draftContent: string;
|
|
128
|
+
rationale: string;
|
|
129
|
+
confidence: number;
|
|
130
|
+
}>>;
|
|
131
|
+
getStrategicContext(): StrategicContextStore;
|
|
105
132
|
private persistActivePostIds;
|
|
106
133
|
private loadEngagedThreads;
|
|
107
134
|
private saveEngagedThreads;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/moltbook/daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAgE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5H,OAAO,EAAE,YAAY,EAAsB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,UAAU,YAAY;IACpB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,aAAa,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAC7C;AAQD,qBAAa,cAAe,SAAQ,YAAY,CAAC,YAAY,CAAC;IAC5D,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/moltbook/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/moltbook/daemon.js
CHANGED
|
@@ -10,6 +10,7 @@ import { createAttentionField } from './attentionField.js';
|
|
|
10
10
|
import { createResponseComposer } from './responseComposer.js';
|
|
11
11
|
import { createApprovalGate } from './approvalGate.js';
|
|
12
12
|
import { createDaemonObserver } from './observer.js';
|
|
13
|
+
import { StrategicContextStore } from './strategicContext.js';
|
|
13
14
|
const ENGAGED_VAULT_KEY = 'moltbook:daemon:engaged';
|
|
14
15
|
// ============================================================================
|
|
15
16
|
// DAEMON
|
|
@@ -28,6 +29,12 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
28
29
|
engagedThreads = new Set();
|
|
29
30
|
activePostIds;
|
|
30
31
|
lastOriginalPostTime = 0;
|
|
32
|
+
consecutiveErrors = 0;
|
|
33
|
+
static MAX_BACKOFF_MS = 30 * 60 * 1000; // 30 min cap
|
|
34
|
+
strategicContext = new StrategicContextStore();
|
|
35
|
+
pendingOutcomeChecks = [];
|
|
36
|
+
static OUTCOME_CHECK_DELAY_MS = 10 * 60 * 1000; // 10 min
|
|
37
|
+
static STRATEGIC_CONTEXT_KEY = 'moltbook:strategic_context';
|
|
31
38
|
constructor(config) {
|
|
32
39
|
super();
|
|
33
40
|
this.config = {
|
|
@@ -61,6 +68,7 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
61
68
|
// Load persisted state
|
|
62
69
|
await this.gate.loadMode();
|
|
63
70
|
await this.loadEngagedThreads();
|
|
71
|
+
await this.loadStrategicContext();
|
|
64
72
|
await this.observer.start();
|
|
65
73
|
// Connect adapter
|
|
66
74
|
await this.adapter.connect();
|
|
@@ -72,10 +80,9 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
72
80
|
detail: `poll=${this.config.pollIntervalMs}ms, max=${this.config.maxEngagementsPerCycle}/cycle`,
|
|
73
81
|
});
|
|
74
82
|
console.log(`Moltbook daemon started (${this.gate.getMode()} mode, poll every ${this.config.pollIntervalMs / 1000}s)`);
|
|
75
|
-
// Run first cycle immediately
|
|
83
|
+
// Run first cycle immediately, then schedule next with adaptive backoff
|
|
76
84
|
await this.runCycle();
|
|
77
|
-
|
|
78
|
-
this.pollTimer = setInterval(() => void this.runCycle(), this.config.pollIntervalMs);
|
|
85
|
+
this.scheduleNextCycle();
|
|
79
86
|
// Schedule engagement scans (reply checking + original posts)
|
|
80
87
|
if (this.activePostIds.length > 0 || this.config.enableOriginalPosts) {
|
|
81
88
|
const engagementMs = this.config.engagementIntervalMs ?? 7_200_000;
|
|
@@ -84,12 +91,24 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
84
91
|
setTimeout(() => void this.runEngagementScan(), 60_000);
|
|
85
92
|
}
|
|
86
93
|
}
|
|
94
|
+
scheduleNextCycle() {
|
|
95
|
+
if (!this.running)
|
|
96
|
+
return;
|
|
97
|
+
// Exponential backoff on consecutive errors: base * 2^errors, capped at MAX_BACKOFF_MS
|
|
98
|
+
const delay = this.consecutiveErrors > 0
|
|
99
|
+
? Math.min(this.config.pollIntervalMs * Math.pow(2, this.consecutiveErrors), MoltbookDaemon.MAX_BACKOFF_MS)
|
|
100
|
+
: this.config.pollIntervalMs;
|
|
101
|
+
this.pollTimer = setTimeout(async () => {
|
|
102
|
+
await this.runCycle();
|
|
103
|
+
this.scheduleNextCycle();
|
|
104
|
+
}, delay);
|
|
105
|
+
}
|
|
87
106
|
async stop() {
|
|
88
107
|
if (!this.running)
|
|
89
108
|
return;
|
|
90
109
|
this.running = false;
|
|
91
110
|
if (this.pollTimer) {
|
|
92
|
-
|
|
111
|
+
clearTimeout(this.pollTimer);
|
|
93
112
|
this.pollTimer = undefined;
|
|
94
113
|
}
|
|
95
114
|
if (this.engagementTimer) {
|
|
@@ -98,6 +117,7 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
98
117
|
}
|
|
99
118
|
await this.adapter.disconnect();
|
|
100
119
|
await this.saveEngagedThreads();
|
|
120
|
+
await this.saveStrategicContext();
|
|
101
121
|
this.observer.log({
|
|
102
122
|
timestamp: new Date().toISOString(),
|
|
103
123
|
event: 'daemon_stop',
|
|
@@ -148,15 +168,17 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
148
168
|
try {
|
|
149
169
|
posts = await this.adapter.getFeed(50);
|
|
150
170
|
stats.polled = posts.length;
|
|
171
|
+
this.consecutiveErrors = 0; // Reset backoff on successful poll
|
|
151
172
|
}
|
|
152
173
|
catch (err) {
|
|
153
174
|
stats.errors++;
|
|
175
|
+
this.consecutiveErrors++;
|
|
154
176
|
this.observer.log({
|
|
155
177
|
timestamp: new Date().toISOString(),
|
|
156
178
|
event: 'poll_error',
|
|
157
179
|
mode: this.gate.getMode(),
|
|
158
180
|
outcome: 'error',
|
|
159
|
-
detail: err.message
|
|
181
|
+
detail: `${err.message} (consecutive: ${this.consecutiveErrors})`,
|
|
160
182
|
});
|
|
161
183
|
this.emit('error', err);
|
|
162
184
|
return;
|
|
@@ -197,6 +219,7 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
197
219
|
post,
|
|
198
220
|
comments,
|
|
199
221
|
submolt: post.submolt,
|
|
222
|
+
strategicContext: this.strategicContext,
|
|
200
223
|
};
|
|
201
224
|
const composed = await this.composer.compose(context);
|
|
202
225
|
stats.composed++;
|
|
@@ -222,6 +245,20 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
222
245
|
this.engagedThreads.add(post.id);
|
|
223
246
|
this.attention.recordEngagement(post.id);
|
|
224
247
|
this.emit('engagement', post.id, composed.action);
|
|
248
|
+
// Record in strategic context
|
|
249
|
+
const engRecord = this.strategicContext.recordEngagement({
|
|
250
|
+
threadId: post.id,
|
|
251
|
+
threadTitle: post.title,
|
|
252
|
+
action: composed.action,
|
|
253
|
+
content: composed.content,
|
|
254
|
+
timestamp: Date.now(),
|
|
255
|
+
});
|
|
256
|
+
// Schedule delayed outcome check
|
|
257
|
+
this.pendingOutcomeChecks.push({
|
|
258
|
+
engagementId: engRecord.id,
|
|
259
|
+
threadId: post.id,
|
|
260
|
+
checkAfter: Date.now() + MoltbookDaemon.OUTCOME_CHECK_DELAY_MS,
|
|
261
|
+
});
|
|
225
262
|
}
|
|
226
263
|
else if (decision === 'queue') {
|
|
227
264
|
stats.queued++;
|
|
@@ -252,6 +289,30 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
252
289
|
this.observer.logCycle(this.gate.getMode(), stats);
|
|
253
290
|
this.emit('cycle:end', stats);
|
|
254
291
|
await this.saveEngagedThreads();
|
|
292
|
+
// Check pending outcomes
|
|
293
|
+
await this.checkPendingOutcomes();
|
|
294
|
+
// Detect and update narrative arcs
|
|
295
|
+
const allEngagements = Array.from({ length: 0 });
|
|
296
|
+
// Gather recent engagements from the strategic context for arc detection
|
|
297
|
+
const summary = this.strategicContext.getSummary();
|
|
298
|
+
if (summary) {
|
|
299
|
+
// Re-detect arcs using all engagement records
|
|
300
|
+
const engagementRecords = [];
|
|
301
|
+
// We can access engagement records through the serialize/deserialize path
|
|
302
|
+
try {
|
|
303
|
+
const serialized = this.strategicContext.serialize();
|
|
304
|
+
const parsed = JSON.parse(serialized);
|
|
305
|
+
if (parsed.engagements) {
|
|
306
|
+
for (const [, record] of parsed.engagements) {
|
|
307
|
+
engagementRecords.push(record);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch { /* noop */ }
|
|
312
|
+
this.strategicContext.detectArcs(engagementRecords);
|
|
313
|
+
}
|
|
314
|
+
// Persist strategic context periodically
|
|
315
|
+
await this.saveStrategicContext();
|
|
255
316
|
}
|
|
256
317
|
async executeAction(response) {
|
|
257
318
|
switch (response.action) {
|
|
@@ -448,6 +509,50 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
448
509
|
}
|
|
449
510
|
}
|
|
450
511
|
// ==========================================================================
|
|
512
|
+
// OUTCOME CHECKING
|
|
513
|
+
// ==========================================================================
|
|
514
|
+
async checkPendingOutcomes() {
|
|
515
|
+
const now = Date.now();
|
|
516
|
+
const remaining = [];
|
|
517
|
+
for (const check of this.pendingOutcomeChecks) {
|
|
518
|
+
if (now < check.checkAfter) {
|
|
519
|
+
remaining.push(check);
|
|
520
|
+
continue;
|
|
521
|
+
}
|
|
522
|
+
try {
|
|
523
|
+
const comments = await this.fetchComments(check.threadId);
|
|
524
|
+
const post = await this.fetchPost(check.threadId);
|
|
525
|
+
const upvotes = post?.upvotes ?? 0;
|
|
526
|
+
const replies = comments.length;
|
|
527
|
+
const engagement = Math.min(1, (upvotes * 0.3 + replies * 0.7) / 10);
|
|
528
|
+
this.strategicContext.updateOutcome(check.engagementId, {
|
|
529
|
+
upvotes,
|
|
530
|
+
replies,
|
|
531
|
+
engagement,
|
|
532
|
+
measuredAt: now,
|
|
533
|
+
});
|
|
534
|
+
// Also feed outcome to attention field
|
|
535
|
+
this.attention.recordOutcome(check.threadId, { upvotes, replies });
|
|
536
|
+
}
|
|
537
|
+
catch {
|
|
538
|
+
// If we can't check, drop it — not critical
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
this.pendingOutcomeChecks = remaining;
|
|
542
|
+
}
|
|
543
|
+
// ==========================================================================
|
|
544
|
+
// STRATEGIC CONTEXT PERSISTENCE
|
|
545
|
+
// ==========================================================================
|
|
546
|
+
async loadStrategicContext() {
|
|
547
|
+
const stored = await this.vault.retrieve(MoltbookDaemon.STRATEGIC_CONTEXT_KEY);
|
|
548
|
+
if (stored) {
|
|
549
|
+
this.strategicContext = StrategicContextStore.deserialize(stored);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
async saveStrategicContext() {
|
|
553
|
+
await this.vault.store(MoltbookDaemon.STRATEGIC_CONTEXT_KEY, this.strategicContext.serialize());
|
|
554
|
+
}
|
|
555
|
+
// ==========================================================================
|
|
451
556
|
// PUBLIC API (for CommandRouter integration)
|
|
452
557
|
// ==========================================================================
|
|
453
558
|
async executeApproved(response) {
|
|
@@ -467,6 +572,80 @@ export class MoltbookDaemon extends EventEmitter {
|
|
|
467
572
|
void this.persistActivePostIds();
|
|
468
573
|
}
|
|
469
574
|
}
|
|
575
|
+
/**
|
|
576
|
+
* Generate a strategic engagement plan: scan feed, score, pick top targets,
|
|
577
|
+
* generate draft content for each.
|
|
578
|
+
*/
|
|
579
|
+
async generatePlan(topic) {
|
|
580
|
+
// 1. Scan feed
|
|
581
|
+
const posts = await this.adapter.getFeed(50);
|
|
582
|
+
// 2. Convert and score
|
|
583
|
+
const threads = posts.map(p => this.postToThread(p));
|
|
584
|
+
const ranked = this.attention.rankThreads(threads);
|
|
585
|
+
// 3. Filter: not engaged, not bait, above threshold
|
|
586
|
+
let candidates = ranked.filter(score => {
|
|
587
|
+
if (this.engagedThreads.has(score.threadId))
|
|
588
|
+
return false;
|
|
589
|
+
const post = posts.find(p => p.id === score.threadId);
|
|
590
|
+
if (!post)
|
|
591
|
+
return false;
|
|
592
|
+
if (this.attention.detectBait(post.title))
|
|
593
|
+
return false;
|
|
594
|
+
if (!this.attention.shouldEngage(score))
|
|
595
|
+
return false;
|
|
596
|
+
return true;
|
|
597
|
+
});
|
|
598
|
+
// Optional topic filter
|
|
599
|
+
if (topic) {
|
|
600
|
+
const topicLower = topic.toLowerCase();
|
|
601
|
+
candidates = candidates.filter(score => {
|
|
602
|
+
const post = posts.find(p => p.id === score.threadId);
|
|
603
|
+
if (!post)
|
|
604
|
+
return false;
|
|
605
|
+
const text = `${post.title} ${post.content ?? ''}`.toLowerCase();
|
|
606
|
+
return text.includes(topicLower);
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
// 4. Select top 5
|
|
610
|
+
const selected = candidates.slice(0, 5);
|
|
611
|
+
// 5. Generate drafts
|
|
612
|
+
const plans = [];
|
|
613
|
+
for (const score of selected) {
|
|
614
|
+
const post = posts.find(p => p.id === score.threadId);
|
|
615
|
+
if (!post)
|
|
616
|
+
continue;
|
|
617
|
+
try {
|
|
618
|
+
const comments = await this.fetchComments(post.id);
|
|
619
|
+
const context = {
|
|
620
|
+
post,
|
|
621
|
+
comments,
|
|
622
|
+
submolt: post.submolt,
|
|
623
|
+
strategicContext: this.strategicContext,
|
|
624
|
+
};
|
|
625
|
+
const composed = await this.composer.compose(context);
|
|
626
|
+
if (composed.action === 'skip')
|
|
627
|
+
continue;
|
|
628
|
+
plans.push({
|
|
629
|
+
targetThread: {
|
|
630
|
+
id: post.id,
|
|
631
|
+
title: post.title,
|
|
632
|
+
submolt: post.submolt,
|
|
633
|
+
},
|
|
634
|
+
proposedAction: composed.action === 'upvote' ? 'comment' : composed.action,
|
|
635
|
+
draftContent: composed.content,
|
|
636
|
+
rationale: `${score.reason} | ${composed.reasoning}`,
|
|
637
|
+
confidence: composed.confidence,
|
|
638
|
+
});
|
|
639
|
+
}
|
|
640
|
+
catch {
|
|
641
|
+
// Skip threads we can't compose for
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
return plans;
|
|
645
|
+
}
|
|
646
|
+
getStrategicContext() {
|
|
647
|
+
return this.strategicContext;
|
|
648
|
+
}
|
|
470
649
|
async persistActivePostIds() {
|
|
471
650
|
await this.vault.store('moltbook:active_posts', JSON.stringify(this.activePostIds));
|
|
472
651
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/moltbook/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/moltbook/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* Uses OpenRouter to call Claude for composing contextual replies.
|
|
6
6
|
*/
|
|
7
7
|
import type { MoltbookPost, MoltbookComment } from '../channels/moltbook.js';
|
|
8
|
+
import type { IdentityPromptBuilder } from '../runtime/identity.js';
|
|
9
|
+
import type { StrategicContextStore } from './strategicContext.js';
|
|
8
10
|
export interface ComposerConfig {
|
|
9
11
|
/** OpenRouter model ID (default: anthropic/claude-sonnet-4-20250514) */
|
|
10
12
|
model: string;
|
|
@@ -22,6 +24,7 @@ export interface ThreadContext {
|
|
|
22
24
|
comments: MoltbookComment[];
|
|
23
25
|
submolt: string;
|
|
24
26
|
coherenceLevel?: number;
|
|
27
|
+
strategicContext?: StrategicContextStore;
|
|
25
28
|
}
|
|
26
29
|
export interface ComposedResponse {
|
|
27
30
|
threadId: string;
|
|
@@ -34,9 +37,10 @@ export declare class ResponseComposer {
|
|
|
34
37
|
private config;
|
|
35
38
|
private firewall;
|
|
36
39
|
private stats;
|
|
40
|
+
private identityBuilder?;
|
|
37
41
|
constructor(config: Partial<ComposerConfig> & {
|
|
38
42
|
apiKey: string;
|
|
39
|
-
});
|
|
43
|
+
}, identityBuilder?: IdentityPromptBuilder);
|
|
40
44
|
compose(context: ThreadContext): Promise<ComposedResponse>;
|
|
41
45
|
composeOriginalPost(topic: string, submolt: string): Promise<ComposedResponse>;
|
|
42
46
|
getStats(): {
|
|
@@ -44,11 +48,12 @@ export declare class ResponseComposer {
|
|
|
44
48
|
skipped: number;
|
|
45
49
|
failed: number;
|
|
46
50
|
};
|
|
51
|
+
private buildNarrativeContext;
|
|
47
52
|
private buildThreadSummary;
|
|
48
53
|
private parseResponse;
|
|
49
54
|
private callLLM;
|
|
50
55
|
}
|
|
51
56
|
export declare function createResponseComposer(config: Partial<ComposerConfig> & {
|
|
52
57
|
apiKey: string;
|
|
53
|
-
}): ResponseComposer;
|
|
58
|
+
}, identityBuilder?: IdentityPromptBuilder): ResponseComposer;
|
|
54
59
|
//# sourceMappingURL=responseComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseComposer.d.ts","sourceRoot":"","sources":["../../src/moltbook/responseComposer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"responseComposer.d.ts","sourceRoot":"","sources":["../../src/moltbook/responseComposer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAMnE,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CAChD;AAmCD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,eAAe,CAAC,CAAwB;gBAEpC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,eAAe,CAAC,EAAE,qBAAqB;IAYnG,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2E1D,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8CpF,QAAQ;;;;;IAQR,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,aAAa;YA2BP,OAAO;CA8BtB;AAMD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EACpD,eAAe,CAAC,EAAE,qBAAqB,GACtC,gBAAgB,CAElB"}
|
|
@@ -40,7 +40,8 @@ export class ResponseComposer {
|
|
|
40
40
|
config;
|
|
41
41
|
firewall;
|
|
42
42
|
stats = { composed: 0, skipped: 0, failed: 0 };
|
|
43
|
-
|
|
43
|
+
identityBuilder;
|
|
44
|
+
constructor(config, identityBuilder) {
|
|
44
45
|
this.config = {
|
|
45
46
|
model: 'anthropic/claude-sonnet-4-20250514',
|
|
46
47
|
maxTokens: 300,
|
|
@@ -49,15 +50,23 @@ export class ResponseComposer {
|
|
|
49
50
|
...config,
|
|
50
51
|
};
|
|
51
52
|
this.firewall = new InjectionFirewall('standard');
|
|
53
|
+
this.identityBuilder = identityBuilder;
|
|
52
54
|
}
|
|
53
55
|
async compose(context) {
|
|
54
56
|
const { post, comments } = context;
|
|
55
57
|
// Build conversation context for the LLM
|
|
56
58
|
const threadSummary = this.buildThreadSummary(context);
|
|
57
|
-
|
|
59
|
+
// Use identity builder if available, otherwise fall back to hardcoded prompt
|
|
60
|
+
const identityText = this.identityBuilder
|
|
61
|
+
? this.identityBuilder.build({ currentState: 'operate' })
|
|
62
|
+
: IDENTITY_PROMPT;
|
|
63
|
+
const narrativeSection = context.strategicContext
|
|
64
|
+
? this.buildNarrativeContext(context.strategicContext)
|
|
65
|
+
: '';
|
|
66
|
+
const systemPrompt = `${identityText}
|
|
58
67
|
|
|
59
68
|
Current network coherence: ${context.coherenceLevel !== undefined ? `${(context.coherenceLevel * 100).toFixed(0)}%` : 'unknown'}
|
|
60
|
-
|
|
69
|
+
${narrativeSection ? '\n' + narrativeSection + '\n' : ''}
|
|
61
70
|
You are deciding whether and how to engage with a Moltbook thread.
|
|
62
71
|
|
|
63
72
|
Respond with a JSON object (no markdown fencing):
|
|
@@ -73,7 +82,9 @@ Rules:
|
|
|
73
82
|
- If the thread is good but you have nothing substantive to add, action=upvote
|
|
74
83
|
- If you can add value, action=comment with a concise response (under 280 chars preferred)
|
|
75
84
|
- confidence reflects how certain you are this is a good engagement
|
|
76
|
-
- Never be sycophantic. Never pad responses. Substance only
|
|
85
|
+
- Never be sycophantic. Never pad responses. Substance only.
|
|
86
|
+
- When narrative arcs are active, reference prior engagements for continuity
|
|
87
|
+
- Escalate depth over time: first engagement is overview, subsequent engagements go deeper`;
|
|
77
88
|
const userPrompt = `Thread to evaluate:\n\n${threadSummary}`;
|
|
78
89
|
try {
|
|
79
90
|
const raw = await this.callLLM(systemPrompt, userPrompt);
|
|
@@ -109,7 +120,10 @@ Rules:
|
|
|
109
120
|
}
|
|
110
121
|
}
|
|
111
122
|
async composeOriginalPost(topic, submolt) {
|
|
112
|
-
const
|
|
123
|
+
const identityText = this.identityBuilder
|
|
124
|
+
? this.identityBuilder.build({ currentState: 'operate' })
|
|
125
|
+
: IDENTITY_PROMPT;
|
|
126
|
+
const systemPrompt = `${identityText}
|
|
113
127
|
|
|
114
128
|
You are composing an original Moltbook post for the "${submolt}" submolt.
|
|
115
129
|
|
|
@@ -152,6 +166,21 @@ Rules:
|
|
|
152
166
|
// ==========================================================================
|
|
153
167
|
// INTERNAL
|
|
154
168
|
// ==========================================================================
|
|
169
|
+
buildNarrativeContext(strategicContext) {
|
|
170
|
+
const arcs = strategicContext.getActiveArcs();
|
|
171
|
+
if (arcs.length === 0)
|
|
172
|
+
return '';
|
|
173
|
+
const lines = ['NARRATIVE CONTEXT (reference these in your response when relevant):'];
|
|
174
|
+
for (const arc of arcs.slice(0, 5)) {
|
|
175
|
+
lines.push(`- Topic: ${arc.topic} (${arc.engagements.length} prior engagements, momentum: ${arc.momentum.toFixed(2)})`);
|
|
176
|
+
}
|
|
177
|
+
const summary = strategicContext.getSummary();
|
|
178
|
+
if (summary) {
|
|
179
|
+
lines.push('');
|
|
180
|
+
lines.push(summary);
|
|
181
|
+
}
|
|
182
|
+
return lines.join('\n');
|
|
183
|
+
}
|
|
155
184
|
buildThreadSummary(context) {
|
|
156
185
|
const { post, comments } = context;
|
|
157
186
|
const lines = [
|
|
@@ -227,7 +256,7 @@ Rules:
|
|
|
227
256
|
// ============================================================================
|
|
228
257
|
// FACTORY
|
|
229
258
|
// ============================================================================
|
|
230
|
-
export function createResponseComposer(config) {
|
|
231
|
-
return new ResponseComposer(config);
|
|
259
|
+
export function createResponseComposer(config, identityBuilder) {
|
|
260
|
+
return new ResponseComposer(config, identityBuilder);
|
|
232
261
|
}
|
|
233
262
|
//# sourceMappingURL=responseComposer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseComposer.js","sourceRoot":"","sources":["../../src/moltbook/responseComposer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAwB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"responseComposer.js","sourceRoot":"","sources":["../../src/moltbook/responseComposer.ts"],"names":[],"mappings":"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"}
|