@cereworker/core 26.325.9 → 26.325.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.
@@ -0,0 +1,32 @@
1
+ import type { CerebrumAdapter, TrainingPair } from './orchestrator.js';
2
+ import type { Message } from './types.js';
3
+ export interface DiscoveryResult {
4
+ name: string;
5
+ role: string;
6
+ traits: string[];
7
+ conversation: Message[];
8
+ trainingPairs: TrainingPair[];
9
+ }
10
+ export interface DiscoveryCallbacks {
11
+ /** Display agent's message to the user */
12
+ sendMessage: (content: string) => void;
13
+ /** Get user's text input */
14
+ getUserInput: () => Promise<string>;
15
+ /** Called when discovery is complete */
16
+ onComplete: (result: DiscoveryResult) => void;
17
+ /** Called on each streaming chunk (optional) */
18
+ onChunk?: (chunk: string) => void;
19
+ }
20
+ export declare class DiscoveryEngine {
21
+ private cerebrum;
22
+ private callbacks;
23
+ private messages;
24
+ constructor(cerebrum: CerebrumAdapter, callbacks: DiscoveryCallbacks);
25
+ run(): Promise<DiscoveryResult>;
26
+ private getAgentResponse;
27
+ private parseCompletion;
28
+ private buildResult;
29
+ private extractPartialResult;
30
+ private extractTrainingPairs;
31
+ }
32
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAmB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAwB1C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,wCAAwC;IACxC,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAID,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB;IAK9D,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;YAuDvB,gBAAgB;IAyB9B,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,oBAAoB;CAkB7B"}
@@ -0,0 +1,165 @@
1
+ import { nanoid } from 'nanoid';
2
+ import { createLogger } from './logger.js';
3
+ const log = createLogger('discovery');
4
+ const DISCOVERY_SYSTEM_PROMPT = `You are being set up for the first time. Your job is to learn who you are by asking the user questions.
5
+
6
+ Ask these questions ONE AT A TIME. Wait for the user's answer before moving to the next question:
7
+ 1. "What should I call myself?" — to learn your name.
8
+ 2. "What's my primary role or purpose?" — to learn what you'll be doing.
9
+ 3. "What tasks should I handle regularly?" — to learn your recurring responsibilities.
10
+ 4. "How should I communicate — concise, detailed, formal, friendly?" — to learn your style.
11
+ 5. "Anything else I should know about how you work or what you need from me?" — open-ended.
12
+
13
+ After each answer, briefly acknowledge it and move to the next question.
14
+ When all questions are answered, output a confirmation summary in this exact format:
15
+
16
+ <discovery_complete>
17
+ name: [the name they chose]
18
+ role: [their description of your role]
19
+ traits: [comma-separated communication traits]
20
+ </discovery_complete>
21
+
22
+ Be natural and conversational but efficient. Do not use tools.`;
23
+ const MAX_TURNS = 12;
24
+ export class DiscoveryEngine {
25
+ cerebrum;
26
+ callbacks;
27
+ messages = [];
28
+ constructor(cerebrum, callbacks) {
29
+ this.cerebrum = cerebrum;
30
+ this.callbacks = callbacks;
31
+ }
32
+ async run() {
33
+ log.info('Starting discovery conversation');
34
+ // System prompt
35
+ this.messages.push({
36
+ id: 'system',
37
+ role: 'system',
38
+ content: DISCOVERY_SYSTEM_PROMPT,
39
+ timestamp: Date.now(),
40
+ });
41
+ // Seed user message to satisfy AI SDK requirement (messages must not be empty)
42
+ this.messages.push({
43
+ id: nanoid(),
44
+ role: 'user',
45
+ content: 'Hello! I just set you up. Please start asking your questions.',
46
+ timestamp: Date.now(),
47
+ });
48
+ // First turn: agent asks the first question
49
+ let agentResponse = await this.getAgentResponse();
50
+ this.callbacks.sendMessage(agentResponse);
51
+ // Multi-turn loop
52
+ for (let turn = 0; turn < MAX_TURNS; turn++) {
53
+ // Check if discovery is complete
54
+ const parsed = this.parseCompletion(agentResponse);
55
+ if (parsed) {
56
+ const result = this.buildResult(parsed);
57
+ this.callbacks.onComplete(result);
58
+ log.info('Discovery completed', { name: parsed.name, role: parsed.role });
59
+ return result;
60
+ }
61
+ // Get user input
62
+ const userInput = await this.callbacks.getUserInput();
63
+ this.messages.push({
64
+ id: nanoid(),
65
+ role: 'user',
66
+ content: userInput,
67
+ timestamp: Date.now(),
68
+ });
69
+ // Get agent response
70
+ agentResponse = await this.getAgentResponse();
71
+ this.callbacks.sendMessage(agentResponse);
72
+ }
73
+ // Max turns reached — extract what we have
74
+ log.warn('Discovery hit max turns, extracting partial result');
75
+ const fallback = this.extractPartialResult();
76
+ this.callbacks.onComplete(fallback);
77
+ return fallback;
78
+ }
79
+ async getAgentResponse() {
80
+ return new Promise((resolve, reject) => {
81
+ const callbacks = {
82
+ onChunk: (chunk) => {
83
+ this.callbacks.onChunk?.(chunk);
84
+ },
85
+ onToolCall: async () => ({ callId: '', output: '', isError: true }),
86
+ onFinish: (content) => {
87
+ this.messages.push({
88
+ id: nanoid(),
89
+ role: 'cerebrum',
90
+ content,
91
+ timestamp: Date.now(),
92
+ });
93
+ resolve(content);
94
+ },
95
+ onError: (error) => {
96
+ reject(error);
97
+ },
98
+ };
99
+ this.cerebrum.stream(this.messages, {}, callbacks).catch(reject);
100
+ });
101
+ }
102
+ parseCompletion(text) {
103
+ const match = text.match(/<discovery_complete>\s*([\s\S]*?)\s*<\/discovery_complete>/);
104
+ if (!match)
105
+ return null;
106
+ const block = match[1];
107
+ const nameMatch = block.match(/name:\s*(.+)/i);
108
+ const roleMatch = block.match(/role:\s*(.+)/i);
109
+ const traitsMatch = block.match(/traits:\s*(.+)/i);
110
+ const name = nameMatch?.[1]?.trim() || 'Cere';
111
+ const role = roleMatch?.[1]?.trim() || 'general-purpose assistant';
112
+ const traits = traitsMatch?.[1]
113
+ ?.split(',')
114
+ .map((t) => t.trim().toLowerCase())
115
+ .filter(Boolean) ?? [];
116
+ return { name, role, traits };
117
+ }
118
+ buildResult(parsed) {
119
+ const conversationMessages = this.messages.filter((m) => m.role !== 'system');
120
+ const trainingPairs = this.extractTrainingPairs();
121
+ return {
122
+ name: parsed.name,
123
+ role: parsed.role,
124
+ traits: parsed.traits,
125
+ conversation: conversationMessages,
126
+ trainingPairs,
127
+ };
128
+ }
129
+ extractPartialResult() {
130
+ // Try to extract structured info from conversation even without the completion tag
131
+ let name = 'Cere';
132
+ let role = 'general-purpose assistant';
133
+ const traits = [];
134
+ // Skip the seed message (first user message is the kickoff prompt)
135
+ const userMessages = this.messages.filter((m) => m.role === 'user').slice(1);
136
+ if (userMessages.length > 0)
137
+ name = userMessages[0].content.trim().split('\n')[0];
138
+ if (userMessages.length > 1)
139
+ role = userMessages[1].content.trim();
140
+ return {
141
+ name,
142
+ role,
143
+ traits,
144
+ conversation: this.messages.filter((m) => m.role !== 'system'),
145
+ trainingPairs: this.extractTrainingPairs(),
146
+ };
147
+ }
148
+ extractTrainingPairs() {
149
+ const pairs = [];
150
+ const msgs = this.messages.filter((m) => m.role !== 'system');
151
+ // Each user→cerebrum turn becomes a training pair
152
+ for (let i = 0; i < msgs.length - 1; i++) {
153
+ if (msgs[i].role === 'user' && msgs[i + 1].role === 'cerebrum') {
154
+ pairs.push({
155
+ instruction: msgs[i].content,
156
+ response: msgs[i + 1].content,
157
+ source: 'discovery',
158
+ createdAt: msgs[i + 1].timestamp,
159
+ });
160
+ }
161
+ }
162
+ return pairs;
163
+ }
164
+ }
165
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/events.d.ts CHANGED
@@ -116,6 +116,17 @@ export type OrchestratorEvent = {
116
116
  type: 'conversation:resumed';
117
117
  conversationId: string;
118
118
  messages: Message[];
119
+ } | {
120
+ type: 'message:proactive';
121
+ content: string;
122
+ source: string;
123
+ } | {
124
+ type: 'proactive:resume';
125
+ taskId: string;
126
+ goal: string;
127
+ } | {
128
+ type: 'proactive:report';
129
+ report: string;
119
130
  } | {
120
131
  type: 'error';
121
132
  error: Error;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErI,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,6BAA6B,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,gCAAgC,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1C,KAAK,QAAQ,GAAG;KACb,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;CAC1E,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAA2D;IAE3E,EAAE,CAAC,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAYhG,IAAI,CAAC,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IASnE,kBAAkB,IAAI,IAAI;CAG3B"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AA4CA,MAAM,OAAO,iBAAiB;IACpB,QAAQ,GAAG,IAAI,GAAG,EAAgD,CAAC;IAE3E,EAAE,CAAsC,IAAO,EAAE,OAAkC;QACjF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,YAAY,GAAG,OAA0C,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE3C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAsC,KAAkB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AA+CA,MAAM,OAAO,iBAAiB;IACpB,QAAQ,GAAG,IAAI,GAAG,EAAgD,CAAC;IAE3E,EAAE,CAAsC,IAAO,EAAE,OAAkC;QACjF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,YAAY,GAAG,OAA0C,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE3C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAsC,KAAkB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -16,4 +16,12 @@ export { PairingStore, formatCode, normalizeCode } from './pairing.js';
16
16
  export type { PairingRequest, ApprovalResult } from './pairing.js';
17
17
  export { createHttpTools } from './http-tools.js';
18
18
  export type { HttpToolConfig } from './http-tools.js';
19
+ export { InstanceStore } from './instance.js';
20
+ export type { InstanceIdentity, InstanceProfile, FineTuneRecord } from './instance.js';
21
+ export { DiscoveryEngine } from './discovery.js';
22
+ export type { DiscoveryResult, DiscoveryCallbacks } from './discovery.js';
23
+ export { PlanStore } from './plan-store.js';
24
+ export type { Plan, PlanStep, PlanStatus, PlanStepStatus } from './plan-store.js';
25
+ export { ProactiveController } from './proactive.js';
26
+ export type { ProactiveConfig, ProactiveOutput } from './proactive.js';
19
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClL,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClL,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -8,4 +8,8 @@ export { estimateTokens, estimateMessageTokens, shouldCompact, buildCompactionMe
8
8
  export { buildSystemPrompt } from './system-prompt.js';
9
9
  export { PairingStore, formatCode, normalizeCode } from './pairing.js';
10
10
  export { createHttpTools } from './http-tools.js';
11
+ export { InstanceStore } from './instance.js';
12
+ export { DiscoveryEngine } from './discovery.js';
13
+ export { PlanStore } from './plan-store.js';
14
+ export { ProactiveController } from './proactive.js';
11
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,54 @@
1
+ export interface FineTuneRecord {
2
+ jobId: string;
3
+ method: string;
4
+ completedAt: string;
5
+ checkpointPath: string;
6
+ loss: number;
7
+ trainingPairs: number;
8
+ }
9
+ export interface InstanceProfile {
10
+ name: string;
11
+ role: string;
12
+ traits: string[];
13
+ source: 'static' | 'discovered';
14
+ }
15
+ export interface InstanceIdentity {
16
+ id: string;
17
+ createdAt: string;
18
+ lastBootAt: string;
19
+ profile: InstanceProfile;
20
+ conversationCount: number;
21
+ finetuneLineage: FineTuneRecord[];
22
+ activeCheckpoint: string | null;
23
+ schemaVersion: number;
24
+ }
25
+ export declare class InstanceStore {
26
+ private filePath;
27
+ private identity;
28
+ constructor(dir?: string);
29
+ /** Load instance identity from disk. Returns null if file doesn't exist or is corrupt. */
30
+ load(): InstanceIdentity | null;
31
+ /** Create a new instance identity from a profile. */
32
+ create(profile: {
33
+ name: string;
34
+ role: string;
35
+ traits: string[];
36
+ }, source?: 'static' | 'discovered'): InstanceIdentity;
37
+ /** Get the current loaded identity (null if not loaded/created). */
38
+ get(): InstanceIdentity | null;
39
+ /** Persist identity to disk with atomic write. */
40
+ save(): void;
41
+ /** Update lastBootAt timestamp. */
42
+ updateBoot(): void;
43
+ /** Record a completed fine-tune job in the lineage. */
44
+ recordFineTune(record: FineTuneRecord): void;
45
+ /** Increment conversation counter. */
46
+ incrementConversation(): void;
47
+ /** Update the instance profile. */
48
+ updateProfile(profile: Partial<InstanceProfile>): void;
49
+ /** Set conversation count directly (used for migration). */
50
+ setConversationCount(count: number): void;
51
+ /** Migrate older schema versions to current. */
52
+ private migrate;
53
+ }
54
+ //# sourceMappingURL=instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAiC;gBAErC,GAAG,CAAC,EAAE,MAAM;IAKxB,0FAA0F;IAC1F,IAAI,IAAI,gBAAgB,GAAG,IAAI;IAc/B,qDAAqD;IACrD,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,MAAM,GAAE,QAAQ,GAAG,YAAuB,GAAG,gBAAgB;IAiB/H,oEAAoE;IACpE,GAAG,IAAI,gBAAgB,GAAG,IAAI;IAI9B,kDAAkD;IAClD,IAAI,IAAI,IAAI;IAWZ,mCAAmC;IACnC,UAAU,IAAI,IAAI;IAMlB,uDAAuD;IACvD,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAQ5C,sCAAsC;IACtC,qBAAqB,IAAI,IAAI;IAM7B,mCAAmC;IACnC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAOtD,4DAA4D;IAC5D,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMzC,gDAAgD;IAChD,OAAO,CAAC,OAAO;CAyBhB"}
@@ -0,0 +1,126 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync } from 'node:fs';
3
+ import { homedir } from 'node:os';
4
+ import { join, dirname } from 'node:path';
5
+ import { createLogger } from './logger.js';
6
+ const log = createLogger('instance');
7
+ const CURRENT_SCHEMA_VERSION = 1;
8
+ export class InstanceStore {
9
+ filePath;
10
+ identity = null;
11
+ constructor(dir) {
12
+ const base = dir ?? join(homedir(), '.cereworker');
13
+ this.filePath = join(base, 'instance.json');
14
+ }
15
+ /** Load instance identity from disk. Returns null if file doesn't exist or is corrupt. */
16
+ load() {
17
+ if (!existsSync(this.filePath)) {
18
+ return null;
19
+ }
20
+ try {
21
+ const raw = JSON.parse(readFileSync(this.filePath, 'utf-8'));
22
+ this.identity = this.migrate(raw);
23
+ return this.identity;
24
+ }
25
+ catch (err) {
26
+ log.warn('Failed to load instance.json, will regenerate', { error: String(err) });
27
+ return null;
28
+ }
29
+ }
30
+ /** Create a new instance identity from a profile. */
31
+ create(profile, source = 'static') {
32
+ const now = new Date().toISOString();
33
+ this.identity = {
34
+ id: randomUUID(),
35
+ createdAt: now,
36
+ lastBootAt: now,
37
+ profile: { ...profile, source },
38
+ conversationCount: 0,
39
+ finetuneLineage: [],
40
+ activeCheckpoint: null,
41
+ schemaVersion: CURRENT_SCHEMA_VERSION,
42
+ };
43
+ this.save();
44
+ log.info('Created new instance', { id: this.identity.id });
45
+ return this.identity;
46
+ }
47
+ /** Get the current loaded identity (null if not loaded/created). */
48
+ get() {
49
+ return this.identity;
50
+ }
51
+ /** Persist identity to disk with atomic write. */
52
+ save() {
53
+ if (!this.identity)
54
+ return;
55
+ const dir = dirname(this.filePath);
56
+ if (!existsSync(dir)) {
57
+ mkdirSync(dir, { recursive: true });
58
+ }
59
+ const tmpPath = this.filePath + '.tmp';
60
+ writeFileSync(tmpPath, JSON.stringify(this.identity, null, 2), 'utf-8');
61
+ renameSync(tmpPath, this.filePath);
62
+ }
63
+ /** Update lastBootAt timestamp. */
64
+ updateBoot() {
65
+ if (!this.identity)
66
+ return;
67
+ this.identity.lastBootAt = new Date().toISOString();
68
+ this.save();
69
+ }
70
+ /** Record a completed fine-tune job in the lineage. */
71
+ recordFineTune(record) {
72
+ if (!this.identity)
73
+ return;
74
+ this.identity.finetuneLineage.push(record);
75
+ this.identity.activeCheckpoint = record.checkpointPath;
76
+ this.save();
77
+ log.info('Recorded fine-tune', { jobId: record.jobId, loss: record.loss });
78
+ }
79
+ /** Increment conversation counter. */
80
+ incrementConversation() {
81
+ if (!this.identity)
82
+ return;
83
+ this.identity.conversationCount++;
84
+ this.save();
85
+ }
86
+ /** Update the instance profile. */
87
+ updateProfile(profile) {
88
+ if (!this.identity)
89
+ return;
90
+ this.identity.profile = { ...this.identity.profile, ...profile };
91
+ this.save();
92
+ log.info('Updated instance profile', { name: this.identity.profile.name });
93
+ }
94
+ /** Set conversation count directly (used for migration). */
95
+ setConversationCount(count) {
96
+ if (!this.identity)
97
+ return;
98
+ this.identity.conversationCount = count;
99
+ this.save();
100
+ }
101
+ /** Migrate older schema versions to current. */
102
+ migrate(raw) {
103
+ const version = raw.schemaVersion ?? 0;
104
+ if (version < 1) {
105
+ // Pre-schema or v0: ensure all required fields exist
106
+ return {
107
+ id: raw.id ?? randomUUID(),
108
+ createdAt: raw.createdAt ?? new Date().toISOString(),
109
+ lastBootAt: raw.lastBootAt ?? new Date().toISOString(),
110
+ profile: raw.profile ?? {
111
+ name: 'Cere',
112
+ role: 'general-purpose assistant',
113
+ traits: [],
114
+ source: 'static',
115
+ },
116
+ conversationCount: raw.conversationCount ?? 0,
117
+ finetuneLineage: raw.finetuneLineage ?? [],
118
+ activeCheckpoint: raw.activeCheckpoint ?? null,
119
+ schemaVersion: CURRENT_SCHEMA_VERSION,
120
+ };
121
+ }
122
+ // Current version — pass through
123
+ return raw;
124
+ }
125
+ }
126
+ //# sourceMappingURL=instance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { TypedEventEmitter } from './events.js';
2
2
  import { ConversationStore } from './conversation.js';
3
3
  import { SubAgentManager } from './sub-agent-manager.js';
4
4
  import type { Message, ToolCall, ToolResult, AgentHealthAction } from './types.js';
5
+ import type { InstanceStore } from './instance.js';
5
6
  export interface CerebrumAdapter {
6
7
  stream(messages: Message[], tools: Record<string, ToolDefinition>, callbacks: StreamCallbacks): Promise<void>;
7
8
  summarize?(messages: Message[]): Promise<string>;
@@ -101,6 +102,8 @@ export declare class Orchestrator extends TypedEventEmitter {
101
102
  private connectedNodes;
102
103
  private gatewayUrl;
103
104
  private profile;
105
+ private instanceStore;
106
+ private proactiveEnabled;
104
107
  private taskConversations;
105
108
  private taskRunning;
106
109
  private recurringTasks;
@@ -129,6 +132,10 @@ export declare class Orchestrator extends TypedEventEmitter {
129
132
  role: string;
130
133
  traits: string[];
131
134
  }): void;
135
+ setInstanceStore(store: InstanceStore): void;
136
+ getInstanceStore(): InstanceStore | null;
137
+ setProactiveEnabled(enabled: boolean): void;
138
+ sendProactiveMessage(content: string, source: string): void;
132
139
  setAutoMode(enabled: boolean): void;
133
140
  getAutoMode(): boolean;
134
141
  setGatewayMode(mode: 'standalone' | 'gateway' | 'node', extras?: {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,8 @@ export class Orchestrator extends TypedEventEmitter {
34
34
  connectedNodes = 0;
35
35
  gatewayUrl;
36
36
  profile;
37
+ instanceStore = null;
38
+ proactiveEnabled = false;
37
39
  taskConversations = new Map();
38
40
  taskRunning = new Set();
39
41
  recurringTasks = [];
@@ -106,6 +108,18 @@ export class Orchestrator extends TypedEventEmitter {
106
108
  setProfile(profile) {
107
109
  this.profile = profile;
108
110
  }
111
+ setInstanceStore(store) {
112
+ this.instanceStore = store;
113
+ }
114
+ getInstanceStore() {
115
+ return this.instanceStore;
116
+ }
117
+ setProactiveEnabled(enabled) {
118
+ this.proactiveEnabled = enabled;
119
+ }
120
+ sendProactiveMessage(content, source) {
121
+ this.emit({ type: 'message:proactive', content, source });
122
+ }
109
123
  setAutoMode(enabled) {
110
124
  this.autoMode = enabled;
111
125
  log.info('Auto mode changed', { autoMode: enabled });
@@ -229,6 +243,14 @@ export class Orchestrator extends TypedEventEmitter {
229
243
  completedAt: status.completedAt || Date.now(),
230
244
  loss: status.currentLoss,
231
245
  });
246
+ this.instanceStore?.recordFineTune({
247
+ jobId: status.jobId,
248
+ method: this.fineTuneMethod,
249
+ completedAt: new Date(status.completedAt || Date.now()).toISOString(),
250
+ checkpointPath: status.checkpointPath,
251
+ loss: status.currentLoss,
252
+ trainingPairs: status.totalSteps,
253
+ });
232
254
  this.emit({
233
255
  type: 'finetune:complete',
234
256
  jobId: status.jobId,
@@ -279,6 +301,7 @@ export class Orchestrator extends TypedEventEmitter {
279
301
  startConversation() {
280
302
  const conversation = this.conversations.create();
281
303
  this.activeConversationId = conversation.id;
304
+ this.instanceStore?.incrementConversation();
282
305
  log.info('Started conversation', { id: conversation.id });
283
306
  return conversation.id;
284
307
  }
@@ -393,6 +416,7 @@ export class Orchestrator extends TypedEventEmitter {
393
416
  }
394
417
  }
395
418
  // Build system prompt with runtime state + skills context
419
+ const instance = this.instanceStore?.get();
396
420
  const basePrompt = buildSystemPrompt({
397
421
  cerebellumConnected: this.cerebellum?.isConnected() ?? false,
398
422
  tools: this.tools,
@@ -408,6 +432,10 @@ export class Orchestrator extends TypedEventEmitter {
408
432
  lastJobId: this.fineTuneStatus.jobId || undefined,
409
433
  },
410
434
  recurringTasks: this.recurringTasks,
435
+ instanceId: instance?.id,
436
+ instanceCreatedAt: instance?.createdAt,
437
+ finetuneCount: instance?.finetuneLineage.length,
438
+ proactiveEnabled: this.proactiveEnabled,
411
439
  });
412
440
  const systemParts = [basePrompt];
413
441
  if (this.systemContext)