iranti 0.2.44 → 0.2.46
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/scripts/iranti-cli.js +344 -9
- package/dist/scripts/iranti-mcp.js +14 -3
- package/dist/scripts/seed.js +13 -8
- package/dist/src/api/server.js +3 -1
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/attendant/AttendantInstance.d.ts +17 -0
- package/dist/src/attendant/AttendantInstance.d.ts.map +1 -1
- package/dist/src/attendant/AttendantInstance.js +182 -6
- package/dist/src/attendant/AttendantInstance.js.map +1 -1
- package/dist/src/attendant/index.d.ts +1 -1
- package/dist/src/attendant/index.d.ts.map +1 -1
- package/dist/src/attendant/index.js.map +1 -1
- package/dist/src/lib/autoRemember.d.ts +18 -0
- package/dist/src/lib/autoRemember.d.ts.map +1 -1
- package/dist/src/lib/autoRemember.js +91 -0
- package/dist/src/lib/autoRemember.js.map +1 -1
- package/dist/src/lib/cliHelpCatalog.d.ts.map +1 -1
- package/dist/src/lib/cliHelpCatalog.js +9 -8
- package/dist/src/lib/cliHelpCatalog.js.map +1 -1
- package/dist/src/lib/dbStaffEventEmitter.d.ts +7 -0
- package/dist/src/lib/dbStaffEventEmitter.d.ts.map +1 -0
- package/dist/src/lib/dbStaffEventEmitter.js +64 -0
- package/dist/src/lib/dbStaffEventEmitter.js.map +1 -0
- package/dist/src/lib/runtimeLifecycle.d.ts.map +1 -1
- package/dist/src/lib/runtimeLifecycle.js +25 -4
- package/dist/src/lib/runtimeLifecycle.js.map +1 -1
- package/dist/src/sdk/index.d.ts.map +1 -1
- package/dist/src/sdk/index.js +5 -1
- package/dist/src/sdk/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -62,6 +62,7 @@ function printHelp() {
|
|
|
62
62
|
' IRANTI_AUTO_REMEMBER Opt-in explicit prompt auto-save before attend()',
|
|
63
63
|
'',
|
|
64
64
|
'This server is intended for Claude Code and other MCP clients over stdio.',
|
|
65
|
+
'If you run `iranti mcp` directly in a terminal, it will stay running and wait for an MCP client.',
|
|
65
66
|
].join('\n'));
|
|
66
67
|
}
|
|
67
68
|
function requireConnectionString() {
|
|
@@ -135,6 +136,9 @@ function normalizeRecentMessages(messages) {
|
|
|
135
136
|
.filter(Boolean)
|
|
136
137
|
.slice(-12);
|
|
137
138
|
}
|
|
139
|
+
function isInteractiveTerminalLaunch() {
|
|
140
|
+
return Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
141
|
+
}
|
|
138
142
|
async function main() {
|
|
139
143
|
if (process.argv.includes('--help') || process.argv.includes('-h')) {
|
|
140
144
|
printHelp();
|
|
@@ -147,13 +151,15 @@ async function main() {
|
|
|
147
151
|
await ensureDefaultAgent(iranti);
|
|
148
152
|
const server = new mcp_js_1.McpServer({
|
|
149
153
|
name: 'iranti-mcp',
|
|
150
|
-
version: '0.2.
|
|
154
|
+
version: '0.2.46',
|
|
151
155
|
});
|
|
152
156
|
server.registerTool('iranti_handshake', {
|
|
153
157
|
description: `Initialize or refresh an agent's working-memory brief for the current task.
|
|
154
158
|
Call this at session start or when a new task begins, passing the task and
|
|
155
159
|
recent messages. Returns operating rules plus prioritized relevant memory
|
|
156
|
-
for that task.
|
|
160
|
+
for that task. If the recent messages appear to contain durable facts that
|
|
161
|
+
are not yet in shared memory, the result may include a backfill suggestion.
|
|
162
|
+
Do not use this as a per-turn retrieval tool; use iranti_attend.`,
|
|
157
163
|
inputSchema: {
|
|
158
164
|
task: z.string().min(1).describe('The current task or objective.'),
|
|
159
165
|
recentMessages: z.array(z.string()).optional().describe('Recent conversation messages.'),
|
|
@@ -174,7 +180,9 @@ visible context window. If the user is asking you to recall a remembered
|
|
|
174
180
|
fact (for example a preference, decision, blocker, next step, or prior
|
|
175
181
|
project detail), use this before answering instead of guessing or saying
|
|
176
182
|
you do not know. Returns an injection decision plus any facts that should
|
|
177
|
-
be added to context if relevant memory is missing.
|
|
183
|
+
be added to context if relevant memory is missing. If no handshake has been
|
|
184
|
+
performed yet for this agent in the current process, attend will auto-bootstrap
|
|
185
|
+
the session first and report that in the result metadata.
|
|
178
186
|
Omitting currentContext falls back to latestMessage only; pass the
|
|
179
187
|
full visible context when available.`,
|
|
180
188
|
inputSchema: {
|
|
@@ -387,6 +395,9 @@ this for arbitrary prose or every turn.`,
|
|
|
387
395
|
const result = await iranti.whoKnows(entity);
|
|
388
396
|
return textResult(result);
|
|
389
397
|
});
|
|
398
|
+
if (isInteractiveTerminalLaunch()) {
|
|
399
|
+
console.error('[iranti-mcp] stdio server running; waiting for an MCP client. Press Ctrl+C to exit.');
|
|
400
|
+
}
|
|
390
401
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
391
402
|
await server.connect(transport);
|
|
392
403
|
}
|
package/dist/scripts/seed.js
CHANGED
|
@@ -41,16 +41,21 @@ const STAFF_ENTRIES = [
|
|
|
41
41
|
valueRaw: {
|
|
42
42
|
version: '0.2.15',
|
|
43
43
|
rules: [
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
44
|
+
'Serve one external agent only; optimize for that agent keeping task context coherent across turns and sessions.',
|
|
45
|
+
'At session start or when the task changes, run handshake to load operating rules, task context, and the most relevant shared memory.',
|
|
46
|
+
'Before answering recall-style questions about remembered preferences, decisions, blockers, next steps, prior project state, or earlier findings, consult Iranti instead of guessing.',
|
|
47
|
+
'Use exact query when the entity and key are known. Use search or attend when the fact must be discovered from shared memory.',
|
|
48
|
+
'Persist durable knowledge when it is learned or confirmed: decisions, blockers, next steps, owners, stable preferences, project constraints, important file purposes, and validated environment details.',
|
|
49
|
+
'When a file is created or substantially repurposed, capture what it is for only if that context is likely to matter to another agent or a later session.',
|
|
50
|
+
'When an approach fails and the failure or workaround is likely to matter later, store the failed path and the chosen alternative route as durable memory.',
|
|
51
|
+
'Use iranti_write for durable facts, iranti_ingest for stable source material worth chunking, and iranti_remember_response for strict assistant summaries such as next steps or blockers.',
|
|
52
|
+
'Do not save every turn. Skip ephemeral chatter, speculative thoughts, or transient execution noise that will degrade retrieval quality later.',
|
|
53
|
+
'Deliver a compressed working-memory brief, not the full knowledge base. Load only what is relevant to the current task.',
|
|
54
|
+
'Reconvene or attend again when context shifts, when the visible window is missing needed facts, or when a different entity becomes relevant.',
|
|
55
|
+
'If context gets stale or the task has gone long enough that reasoning may drift, re-read the operating rules from the Staff Namespace before proceeding.',
|
|
51
56
|
],
|
|
52
57
|
},
|
|
53
|
-
valueSummary: 'Attendant manages per-agent working memory
|
|
58
|
+
valueSummary: 'Attendant manages per-agent working memory and instructs agents when to read and write durable memory.',
|
|
54
59
|
confidence: 100,
|
|
55
60
|
source: 'seed',
|
|
56
61
|
createdBy: 'Seed',
|
package/dist/src/api/server.js
CHANGED
|
@@ -25,6 +25,7 @@ const llm_1 = require("../lib/llm");
|
|
|
25
25
|
const client_1 = require("../library/client");
|
|
26
26
|
const queries_1 = require("../library/queries");
|
|
27
27
|
const runtimeLifecycle_1 = require("../lib/runtimeLifecycle");
|
|
28
|
+
const dbStaffEventEmitter_1 = require("../lib/dbStaffEventEmitter");
|
|
28
29
|
const app = (0, express_1.default)();
|
|
29
30
|
// Route prefixes
|
|
30
31
|
const ROUTES = {
|
|
@@ -39,7 +40,7 @@ const RUNTIME_AUTHORITY = (0, runtimeLifecycle_1.resolveRuntimeAuthorityFromEnv)
|
|
|
39
40
|
const INSTANCE_DIR = RUNTIME_AUTHORITY.instanceDir;
|
|
40
41
|
const INSTANCE_RUNTIME_FILE = RUNTIME_AUTHORITY.runtimeFile;
|
|
41
42
|
const INSTANCE_NAME = process.env.IRANTI_INSTANCE_NAME?.trim() || (INSTANCE_DIR ? path_1.default.basename(INSTANCE_DIR) : 'adhoc');
|
|
42
|
-
const VERSION = '0.2.
|
|
43
|
+
const VERSION = '0.2.46';
|
|
43
44
|
const PORT_RAW = (process.env.IRANTI_PORT ?? '3001').trim();
|
|
44
45
|
const PORT = Number.parseInt(PORT_RAW, 10);
|
|
45
46
|
const runtimeMetadataHealth = {
|
|
@@ -222,6 +223,7 @@ app.get(ROUTES.health, (_req, res) => {
|
|
|
222
223
|
const iranti = new sdk_1.Iranti({
|
|
223
224
|
connectionString: process.env.DATABASE_URL,
|
|
224
225
|
llmProvider: process.env.LLM_PROVIDER ?? 'mock',
|
|
226
|
+
staffEventEmitter: new dbStaffEventEmitter_1.DbStaffEventEmitter(),
|
|
225
227
|
});
|
|
226
228
|
let stopArchivistScheduler = null;
|
|
227
229
|
void (0, archivistScheduler_1.startArchivistScheduler)(iranti)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const DEFAULT_ATTENDANT_OPERATING_RULES: string[];
|
|
1
2
|
export interface AgentContext {
|
|
2
3
|
task: string;
|
|
3
4
|
recentMessages: string[];
|
|
@@ -17,9 +18,17 @@ export interface WorkingMemoryBrief {
|
|
|
17
18
|
sessionStarted: string;
|
|
18
19
|
briefGeneratedAt: string;
|
|
19
20
|
contextCallCount: number;
|
|
21
|
+
backfillSuggestion?: BackfillSuggestion | null;
|
|
20
22
|
sessionCheckpoint?: SessionCheckpointRecord | null;
|
|
21
23
|
sessionRecovery?: SessionRecoveryInfo | null;
|
|
22
24
|
}
|
|
25
|
+
export interface BackfillSuggestion {
|
|
26
|
+
suggested: boolean;
|
|
27
|
+
reason: string;
|
|
28
|
+
candidateFacts: number;
|
|
29
|
+
sampleKeys: string[];
|
|
30
|
+
suggestedCommand: string;
|
|
31
|
+
}
|
|
23
32
|
export type SessionStatus = 'active' | 'interrupted' | 'completed' | 'abandoned';
|
|
24
33
|
export interface SessionCheckpointPayload {
|
|
25
34
|
currentStep?: string;
|
|
@@ -157,7 +166,15 @@ export interface AttendResult extends ObserveResult {
|
|
|
157
166
|
shouldInject: boolean;
|
|
158
167
|
reason: 'forced' | 'memory_not_needed' | 'memory_needed_no_facts' | 'memory_needed_but_in_context' | 'memory_needed_injected';
|
|
159
168
|
decision: AttendDecision;
|
|
169
|
+
bootstrap?: AttendBootstrapInfo | null;
|
|
170
|
+
}
|
|
171
|
+
export interface AttendBootstrapInfo {
|
|
172
|
+
handshakePerformed: boolean;
|
|
173
|
+
reason: 'no_existing_brief';
|
|
174
|
+
task: string;
|
|
160
175
|
}
|
|
176
|
+
export declare function normalizeExplicitTask(task: string | null | undefined): string | null;
|
|
177
|
+
export declare function formatOperatingRulesText(rawValue: unknown, summary?: string | null, fallbackRules?: string[]): string;
|
|
161
178
|
export declare function readPersistedSessionState(agentId: string): Promise<PersistedSessionState | null>;
|
|
162
179
|
export declare function summarizeSessionState(agentId: string, checkpoint: SessionCheckpointRecord | null, persistedBriefGeneratedAt?: string): SessionSummary;
|
|
163
180
|
export declare class AttendantInstance {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttendantInstance.d.ts","sourceRoot":"","sources":["../../../src/attendant/AttendantInstance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AttendantInstance.d.ts","sourceRoot":"","sources":["../../../src/attendant/AttendantInstance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AttendantInstance = void 0;
|
|
3
|
+
exports.AttendantInstance = exports.DEFAULT_ATTENDANT_OPERATING_RULES = void 0;
|
|
4
|
+
exports.normalizeExplicitTask = normalizeExplicitTask;
|
|
5
|
+
exports.formatOperatingRulesText = formatOperatingRulesText;
|
|
4
6
|
exports.readPersistedSessionState = readPersistedSessionState;
|
|
5
7
|
exports.summarizeSessionState = summarizeSessionState;
|
|
6
8
|
const router_1 = require("../lib/router");
|
|
@@ -18,6 +20,20 @@ const ATTENDANT_RULES_QUERY = {
|
|
|
18
20
|
entityId: 'attendant',
|
|
19
21
|
key: 'operating_rules',
|
|
20
22
|
};
|
|
23
|
+
exports.DEFAULT_ATTENDANT_OPERATING_RULES = [
|
|
24
|
+
'Serve one external agent only; optimize for that agent keeping task context coherent across turns and sessions.',
|
|
25
|
+
'At session start or when the task changes, run handshake to load operating rules, task context, and the most relevant shared memory.',
|
|
26
|
+
'Before answering recall-style questions about remembered preferences, decisions, blockers, next steps, prior project state, or earlier findings, consult Iranti instead of guessing.',
|
|
27
|
+
'Use exact query when the entity and key are known. Use search or attend when the fact must be discovered from shared memory.',
|
|
28
|
+
'Persist durable knowledge when it is learned or confirmed: decisions, blockers, next steps, owners, stable preferences, project constraints, important file purposes, and validated environment details.',
|
|
29
|
+
'When a file is created or substantially repurposed, capture what it is for only if that context is likely to matter to another agent or a later session.',
|
|
30
|
+
'When an approach fails and the failure or workaround is likely to matter later, store the failed path and the chosen alternative route as durable memory.',
|
|
31
|
+
'Use iranti_write for durable facts, iranti_ingest for stable source material worth chunking, and iranti_remember_response for strict assistant summaries such as next steps or blockers.',
|
|
32
|
+
'Do not save every turn. Skip ephemeral chatter, speculative thoughts, or transient execution noise that will degrade retrieval quality later.',
|
|
33
|
+
'Deliver a compressed working-memory brief, not the full knowledge base. Load only what is relevant to the current task.',
|
|
34
|
+
'Reconvene or attend again when context shifts, when the visible window is missing needed facts, or when a different entity becomes relevant.',
|
|
35
|
+
'If context gets stale or the task has gone long enough that reasoning may drift, re-read the operating rules from the Staff Namespace before proceeding.',
|
|
36
|
+
];
|
|
21
37
|
const CONTEXT_RECOVERY_THRESHOLD = 20; // LLM calls before context recovery
|
|
22
38
|
const SESSION_INTERRUPTION_TTL_MS = 5 * 60 * 1000;
|
|
23
39
|
const ENTITY_DETECTION_WINDOW_CHARS = 1500;
|
|
@@ -37,6 +53,145 @@ const MEMORY_NEED_NEGATIVE_PATTERNS = [
|
|
|
37
53
|
/^\s*(hi|hello|hey|yo|sup|good (?:morning|afternoon|evening))\b[!.?\s]*$/i,
|
|
38
54
|
/^\s*(thanks|thank you|cool|great|nice)\b[!.?\s]*$/i,
|
|
39
55
|
];
|
|
56
|
+
const EXPLICIT_TASK_PREFIX_PATTERNS = [
|
|
57
|
+
/^\s*general session\s*[:\-]\s*/i,
|
|
58
|
+
/^\s*general session assistance\s*(?:for)?\s*/i,
|
|
59
|
+
/^\s*session assistance\s*(?:for)?\s*/i,
|
|
60
|
+
/^\s*general assistance\s*(?:for)?\s*/i,
|
|
61
|
+
];
|
|
62
|
+
const WEAK_EXPLICIT_TASK_PATTERNS = [
|
|
63
|
+
/^general session$/i,
|
|
64
|
+
/^general assistance$/i,
|
|
65
|
+
/^session assistance$/i,
|
|
66
|
+
/^assistance$/i,
|
|
67
|
+
/^help$/i,
|
|
68
|
+
];
|
|
69
|
+
function normalizeExplicitTask(task) {
|
|
70
|
+
if (typeof task !== 'string')
|
|
71
|
+
return null;
|
|
72
|
+
let cleaned = task
|
|
73
|
+
.replace(/\s+/g, ' ')
|
|
74
|
+
.replace(/^[`"']+|[`"']+$/g, '')
|
|
75
|
+
.trim();
|
|
76
|
+
if (!cleaned)
|
|
77
|
+
return null;
|
|
78
|
+
for (const pattern of EXPLICIT_TASK_PREFIX_PATTERNS) {
|
|
79
|
+
cleaned = cleaned.replace(pattern, '').trim();
|
|
80
|
+
}
|
|
81
|
+
cleaned = cleaned.replace(/^[,;:.!?-]+/, '').trim();
|
|
82
|
+
cleaned = cleaned.replace(/[.]+$/, '').trim();
|
|
83
|
+
if (!cleaned)
|
|
84
|
+
return null;
|
|
85
|
+
if (WEAK_EXPLICIT_TASK_PATTERNS.some((pattern) => pattern.test(cleaned)))
|
|
86
|
+
return null;
|
|
87
|
+
if (/\bproject\b/i.test(cleaned)
|
|
88
|
+
&& !/^(review|reviewing|audit|auditing|debug|debugging|fix|fixing|build|building|ship|shipping|release|releasing|investigate|investigating|document|documenting|work|working|implement|implementing|test|testing|verify|verifying|research|researching|prepare|preparing|maintain|maintaining|improve|improving)\b/i.test(cleaned)
|
|
89
|
+
&& !/\b(review|audit|debug|fix|build|ship|release|investigate|investigating|investigation|document|work|working|implement|implementation|implementing|test|testing|verify|verification|verifying|research|researching|prepare|maintain|improve|improving|improvement)\b/i.test(cleaned)) {
|
|
90
|
+
return `working on ${cleaned}`;
|
|
91
|
+
}
|
|
92
|
+
return cleaned;
|
|
93
|
+
}
|
|
94
|
+
function formatOperatingRulesText(rawValue, summary, fallbackRules = exports.DEFAULT_ATTENDANT_OPERATING_RULES) {
|
|
95
|
+
const candidateRules = rawValue
|
|
96
|
+
&& typeof rawValue === 'object'
|
|
97
|
+
&& Array.isArray(rawValue.rules)
|
|
98
|
+
? rawValue.rules
|
|
99
|
+
: [];
|
|
100
|
+
const normalizedRules = candidateRules
|
|
101
|
+
.map((rule) => (typeof rule === 'string' ? rule.trim() : ''))
|
|
102
|
+
.filter(Boolean);
|
|
103
|
+
const mergedRules = [...normalizedRules];
|
|
104
|
+
for (const fallbackRule of fallbackRules) {
|
|
105
|
+
if (!mergedRules.includes(fallbackRule)) {
|
|
106
|
+
mergedRules.push(fallbackRule);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (mergedRules.length === 0) {
|
|
110
|
+
return summary?.trim() || 'No operating rules found.';
|
|
111
|
+
}
|
|
112
|
+
return [
|
|
113
|
+
summary?.trim() || 'Attendant operating rules:',
|
|
114
|
+
'',
|
|
115
|
+
...mergedRules.map((rule) => `- ${rule}`),
|
|
116
|
+
].join('\n');
|
|
117
|
+
}
|
|
118
|
+
function collectBackfillCandidates(messages) {
|
|
119
|
+
const deduped = new Map();
|
|
120
|
+
for (const message of messages) {
|
|
121
|
+
const trimmed = message.trim();
|
|
122
|
+
if (!trimmed)
|
|
123
|
+
continue;
|
|
124
|
+
const facts = [
|
|
125
|
+
...(0, autoRemember_1.extractExplicitPromptMemory)(trimmed),
|
|
126
|
+
...(0, autoRemember_1.extractExplicitAssistantMemory)(trimmed),
|
|
127
|
+
];
|
|
128
|
+
for (const fact of facts) {
|
|
129
|
+
if (!deduped.has(fact.key)) {
|
|
130
|
+
deduped.set(fact.key, {
|
|
131
|
+
key: fact.key,
|
|
132
|
+
summary: fact.summary,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return Array.from(deduped.values());
|
|
138
|
+
}
|
|
139
|
+
function buildBackfillSuggestion(context, workingMemory) {
|
|
140
|
+
const recentMessages = context.recentMessages
|
|
141
|
+
.map((message) => message.trim())
|
|
142
|
+
.filter(Boolean);
|
|
143
|
+
if (recentMessages.length === 0)
|
|
144
|
+
return null;
|
|
145
|
+
const candidates = collectBackfillCandidates(recentMessages);
|
|
146
|
+
if (candidates.length === 0)
|
|
147
|
+
return null;
|
|
148
|
+
const knownKeys = new Set(workingMemory.map((entry) => entry.entityKey.split('/').slice(2).join('/')));
|
|
149
|
+
const missingCandidates = candidates.filter((candidate) => !knownKeys.has(candidate.key));
|
|
150
|
+
if (missingCandidates.length === 0)
|
|
151
|
+
return null;
|
|
152
|
+
return {
|
|
153
|
+
suggested: true,
|
|
154
|
+
reason: 'recent_messages_contain_durable_facts_not_yet_persisted',
|
|
155
|
+
candidateFacts: missingCandidates.length,
|
|
156
|
+
sampleKeys: missingCandidates.slice(0, 5).map((candidate) => candidate.key),
|
|
157
|
+
suggestedCommand: 'iranti handshake --backfill <chat-file>',
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function buildAttendBootstrapTask(latestMessage, currentContext) {
|
|
161
|
+
const latest = normalizeMessage(latestMessage);
|
|
162
|
+
if (latest) {
|
|
163
|
+
const explicitLatestTask = normalizeExplicitTask(latest);
|
|
164
|
+
if (explicitLatestTask) {
|
|
165
|
+
return explicitLatestTask;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const trimmedContext = currentContext.trim();
|
|
169
|
+
if (trimmedContext) {
|
|
170
|
+
const explicitContextTask = normalizeExplicitTask(trimmedContext);
|
|
171
|
+
if (explicitContextTask) {
|
|
172
|
+
return explicitContextTask;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
const basis = latest || trimmedContext;
|
|
176
|
+
if (!basis) {
|
|
177
|
+
return 'bootstrap initial turn memory context';
|
|
178
|
+
}
|
|
179
|
+
const normalized = basis.replace(/\s+/g, ' ').trim();
|
|
180
|
+
const truncated = normalized.length > 120 ? `${normalized.slice(0, 117)}...` : normalized;
|
|
181
|
+
return `responding to ${truncated}`;
|
|
182
|
+
}
|
|
183
|
+
function buildAttendBootstrapMessages(latestMessage, currentContext) {
|
|
184
|
+
const out = [];
|
|
185
|
+
const trimmedContext = currentContext.trim();
|
|
186
|
+
if (trimmedContext) {
|
|
187
|
+
out.push(trimmedContext);
|
|
188
|
+
}
|
|
189
|
+
const normalizedLatest = normalizeMessage(latestMessage);
|
|
190
|
+
if (normalizedLatest && !out.includes(normalizedLatest)) {
|
|
191
|
+
out.push(normalizedLatest);
|
|
192
|
+
}
|
|
193
|
+
return out.slice(-6);
|
|
194
|
+
}
|
|
40
195
|
async function readPersistedBriefForAgent(agentId) {
|
|
41
196
|
const entry = await (0, client_1.getDb)().knowledgeEntry.findUnique({
|
|
42
197
|
where: {
|
|
@@ -421,6 +576,7 @@ class AttendantInstance {
|
|
|
421
576
|
sessionStarted: persisted?.sessionStarted ?? this.sessionStarted,
|
|
422
577
|
briefGeneratedAt: new Date().toISOString(),
|
|
423
578
|
contextCallCount: this.contextCallCount,
|
|
579
|
+
backfillSuggestion: buildBackfillSuggestion(context, workingMemory),
|
|
424
580
|
sessionCheckpoint: this.sessionCheckpoint,
|
|
425
581
|
sessionRecovery: recoveryResult.recovery,
|
|
426
582
|
};
|
|
@@ -531,8 +687,8 @@ class AttendantInstance {
|
|
|
531
687
|
async onContextLow() {
|
|
532
688
|
const rulesResult = await (0, queries_1.queryEntry)(ATTENDANT_RULES_QUERY);
|
|
533
689
|
const operatingRules = rulesResult.found && rulesResult.entry
|
|
534
|
-
? rulesResult.entry.valueSummary
|
|
535
|
-
: '
|
|
690
|
+
? formatOperatingRulesText(rulesResult.entry.valueRaw, rulesResult.entry.valueSummary)
|
|
691
|
+
: formatOperatingRulesText(null, 'Attendant operating rules:');
|
|
536
692
|
if (this.brief) {
|
|
537
693
|
this.brief.operatingRules = operatingRules;
|
|
538
694
|
this.brief.contextCallCount = 0;
|
|
@@ -692,6 +848,19 @@ class AttendantInstance {
|
|
|
692
848
|
const currentContext = input.currentContext ?? '';
|
|
693
849
|
const latestMessage = normalizeMessage(input.latestMessage);
|
|
694
850
|
const forceInject = input.forceInject === true;
|
|
851
|
+
let bootstrap = null;
|
|
852
|
+
if (!this.brief) {
|
|
853
|
+
const bootstrapTask = buildAttendBootstrapTask(latestMessage, currentContext);
|
|
854
|
+
await this.handshake({
|
|
855
|
+
task: bootstrapTask,
|
|
856
|
+
recentMessages: buildAttendBootstrapMessages(latestMessage, currentContext),
|
|
857
|
+
});
|
|
858
|
+
bootstrap = {
|
|
859
|
+
handshakePerformed: true,
|
|
860
|
+
reason: 'no_existing_brief',
|
|
861
|
+
task: bootstrapTask,
|
|
862
|
+
};
|
|
863
|
+
}
|
|
695
864
|
const effectiveEntityHints = this.resolveAttendEntityHints(input.entityHints, latestMessage);
|
|
696
865
|
const observationContext = currentContext.trim().length > 0 ? currentContext : latestMessage;
|
|
697
866
|
const mandatoryRecall = (0, autoRemember_1.detectMandatoryRecall)(latestMessage);
|
|
@@ -720,6 +889,7 @@ class AttendantInstance {
|
|
|
720
889
|
shouldInject: false,
|
|
721
890
|
reason: 'memory_not_needed',
|
|
722
891
|
decision,
|
|
892
|
+
bootstrap,
|
|
723
893
|
facts: [],
|
|
724
894
|
entitiesDetected: [],
|
|
725
895
|
alreadyPresent: 0,
|
|
@@ -757,6 +927,7 @@ class AttendantInstance {
|
|
|
757
927
|
shouldInject,
|
|
758
928
|
reason,
|
|
759
929
|
decision,
|
|
930
|
+
bootstrap,
|
|
760
931
|
};
|
|
761
932
|
(0, staffEventRegistry_1.getStaffEventEmitter)().emit({
|
|
762
933
|
staffComponent: 'Attendant',
|
|
@@ -1242,6 +1413,10 @@ Rules:
|
|
|
1242
1413
|
}
|
|
1243
1414
|
}
|
|
1244
1415
|
async inferTask(context) {
|
|
1416
|
+
const explicitTask = normalizeExplicitTask(context.task);
|
|
1417
|
+
if (explicitTask) {
|
|
1418
|
+
return explicitTask;
|
|
1419
|
+
}
|
|
1245
1420
|
this.contextCallCount++;
|
|
1246
1421
|
if (this.contextCallCount >= CONTEXT_RECOVERY_THRESHOLD) {
|
|
1247
1422
|
await this.onContextLow();
|
|
@@ -1260,13 +1435,14 @@ In one short sentence, describe the specific type of task this agent is currentl
|
|
|
1260
1435
|
Be specific and concrete.`,
|
|
1261
1436
|
},
|
|
1262
1437
|
], 256);
|
|
1263
|
-
|
|
1438
|
+
const inferred = response.text.trim();
|
|
1439
|
+
return inferred || 'general assistance';
|
|
1264
1440
|
}
|
|
1265
1441
|
async loadOperatingRules() {
|
|
1266
1442
|
const rulesResult = await (0, queries_1.queryEntry)(ATTENDANT_RULES_QUERY);
|
|
1267
1443
|
return rulesResult.found && rulesResult.entry
|
|
1268
|
-
? rulesResult.entry.valueSummary
|
|
1269
|
-
: '
|
|
1444
|
+
? formatOperatingRulesText(rulesResult.entry.valueRaw, rulesResult.entry.valueSummary)
|
|
1445
|
+
: formatOperatingRulesText(null, 'Attendant operating rules:');
|
|
1270
1446
|
}
|
|
1271
1447
|
async buildWorkingMemory(taskType) {
|
|
1272
1448
|
this.contextCallCount++;
|