@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.
- package/dist/discovery.d.ts +32 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +165 -0
- package/dist/discovery.js.map +1 -0
- package/dist/events.d.ts +11 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/instance.d.ts +54 -0
- package/dist/instance.d.ts.map +1 -0
- package/dist/instance.js +126 -0
- package/dist/instance.js.map +1 -0
- package/dist/orchestrator.d.ts +7 -0
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +28 -0
- package/dist/orchestrator.js.map +1 -1
- package/dist/plan-store.d.ts +32 -0
- package/dist/plan-store.d.ts.map +1 -0
- package/dist/plan-store.js +116 -0
- package/dist/plan-store.js.map +1 -0
- package/dist/proactive.d.ts +64 -0
- package/dist/proactive.d.ts.map +1 -0
- package/dist/proactive.js +179 -0
- package/dist/proactive.js.map +1 -0
- package/dist/system-prompt.d.ts +4 -0
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +22 -5
- package/dist/system-prompt.js.map +1 -1
- package/package.json +2 -2
|
@@ -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;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/instance.js
ADDED
|
@@ -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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"}
|
package/dist/orchestrator.d.ts
CHANGED
|
@@ -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":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAsB,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/orchestrator.js
CHANGED
|
@@ -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)
|