iranti 0.3.5 → 0.3.7
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 +58 -27
- package/dist/scripts/iranti-mcp.js +13 -10
- package/dist/scripts/seed.js +10 -21
- package/dist/src/api/server.js +1 -1
- package/dist/src/attendant/AttendantInstance.d.ts +3 -1
- package/dist/src/attendant/AttendantInstance.d.ts.map +1 -1
- package/dist/src/attendant/AttendantInstance.js +53 -35
- package/dist/src/attendant/AttendantInstance.js.map +1 -1
- package/dist/src/lib/autoRemember.d.ts +1 -0
- package/dist/src/lib/autoRemember.d.ts.map +1 -1
- package/dist/src/lib/autoRemember.js +8 -1
- package/dist/src/lib/autoRemember.js.map +1 -1
- package/dist/src/sdk/index.d.ts +1 -0
- package/dist/src/sdk/index.d.ts.map +1 -1
- package/dist/src/sdk/index.js +1 -0
- package/dist/src/sdk/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2456,6 +2456,21 @@ async function writeClaudeCodeProjectFiles(projectPath, projectEnvPath, force =
|
|
|
2456
2456
|
}
|
|
2457
2457
|
}
|
|
2458
2458
|
}
|
|
2459
|
+
// Write IRANTI.md — the canonical host-neutral protocol file.
|
|
2460
|
+
const irantiMdFile = path_1.default.join(projectPath, 'IRANTI.md');
|
|
2461
|
+
let irantiMdStatus = 'unchanged';
|
|
2462
|
+
const irantiMdContent = buildIrantiMdContent();
|
|
2463
|
+
if (!fs_1.default.existsSync(irantiMdFile)) {
|
|
2464
|
+
await writeText(irantiMdFile, irantiMdContent);
|
|
2465
|
+
irantiMdStatus = 'created';
|
|
2466
|
+
}
|
|
2467
|
+
else {
|
|
2468
|
+
const existing = fs_1.default.readFileSync(irantiMdFile, 'utf8');
|
|
2469
|
+
if (existing !== irantiMdContent) {
|
|
2470
|
+
await writeText(irantiMdFile, irantiMdContent);
|
|
2471
|
+
irantiMdStatus = 'updated';
|
|
2472
|
+
}
|
|
2473
|
+
}
|
|
2459
2474
|
const closeout = await (0, scaffoldCloseout_1.writeProjectScaffoldCloseout)({
|
|
2460
2475
|
tool: 'claude',
|
|
2461
2476
|
projectPath,
|
|
@@ -2465,6 +2480,7 @@ async function writeClaudeCodeProjectFiles(projectPath, projectEnvPath, force =
|
|
|
2465
2480
|
{ path: vscodeMcpFile, status: vscodeMcpStatus },
|
|
2466
2481
|
{ path: settingsFile, status: settingsStatus },
|
|
2467
2482
|
{ path: claudeMdFile, status: claudeMdStatus },
|
|
2483
|
+
{ path: irantiMdFile, status: irantiMdStatus },
|
|
2468
2484
|
],
|
|
2469
2485
|
agentId: 'iranti_cli_scaffold',
|
|
2470
2486
|
});
|
|
@@ -2473,45 +2489,57 @@ async function writeClaudeCodeProjectFiles(projectPath, projectEnvPath, force =
|
|
|
2473
2489
|
vscodeMcp: vscodeMcpStatus,
|
|
2474
2490
|
settings: settingsStatus,
|
|
2475
2491
|
claudeMd: claudeMdStatus,
|
|
2492
|
+
irantiMd: irantiMdStatus,
|
|
2476
2493
|
closeout,
|
|
2477
2494
|
};
|
|
2478
2495
|
}
|
|
2479
|
-
|
|
2496
|
+
/**
|
|
2497
|
+
* Canonical protocol content for IRANTI.md — host-neutral, read once per session.
|
|
2498
|
+
* This is the single source of truth for the Iranti operating protocol.
|
|
2499
|
+
*/
|
|
2500
|
+
function buildIrantiMdContent() {
|
|
2480
2501
|
return [
|
|
2481
|
-
'<!-- iranti-rules -->',
|
|
2482
2502
|
'# Iranti Memory Protocol',
|
|
2483
2503
|
'',
|
|
2484
|
-
'
|
|
2485
|
-
'',
|
|
2486
|
-
'## Every turn',
|
|
2487
|
-
'1. Call `mcp__iranti__iranti_attend` before responding to the user message.',
|
|
2488
|
-
'2. Call `mcp__iranti__iranti_attend` before using any knowledge discovery tool — Read, Grep, Glob, WebSearch, WebFetch, and Bash commands used as factual basis for a decision.',
|
|
2489
|
-
'3. Call `mcp__iranti__iranti_attend` after knowledge discovery to check new findings against stored memory and decide what to inject, write, or checkpoint.',
|
|
2490
|
-
'4. Call `mcp__iranti__iranti_attend` after delivering any substantive response — plans, decisions, analysis, or structured recommendations are durable findings that must be assessed before the next turn.',
|
|
2491
|
-
'5. Call `mcp__iranti__iranti_write` after confirmed durable findings — decisions, blockers, next steps, validated environment details, what worked, what failed, what changed, and what happens next.',
|
|
2492
|
-
'6. Call `mcp__iranti__iranti_write` after every Edit or Write tool call — file changes are always durable. Record what changed, why, and what the file now does.',
|
|
2493
|
-
'7. Call `mcp__iranti__iranti_write` after any Bash command that reveals system state — build results, test outcomes, container state, environment facts, errors.',
|
|
2494
|
-
'8. Call `mcp__iranti__iranti_write` after any WebSearch or WebFetch that surfaces confirmed external facts.',
|
|
2495
|
-
'9. Call `mcp__iranti__iranti_write` after any Agent (subagent) tool completes — subagent findings are invisible to the hive mind otherwise.',
|
|
2496
|
-
'10. If a recall-style lookup returns no facts, try at least one alternative retrieval angle before concluding the fact is not stored.',
|
|
2497
|
-
'11. Call `mcp__iranti__iranti_attend` again when new knowledge should change what is loaded for the next step.',
|
|
2504
|
+
'Iranti is a shared working-memory layer. Follow this protocol to persist what you find, what works, what fails, what changes, and what happens next so later sessions do not have to rediscover it.',
|
|
2498
2505
|
'',
|
|
2499
2506
|
'## Session start',
|
|
2500
2507
|
'- Call `mcp__iranti__iranti_handshake` with the current task before responding to the first user message.',
|
|
2501
|
-
'-
|
|
2502
|
-
'- This acknowledgment is strictly mandatory. No work should begin until it is stated.',
|
|
2508
|
+
'- Call `mcp__iranti__iranti_handshake` again after context compaction.',
|
|
2503
2509
|
'',
|
|
2504
|
-
'##
|
|
2505
|
-
'
|
|
2510
|
+
'## Every turn',
|
|
2511
|
+
'1. Call `iranti_attend(phase=\'pre-response\')` before responding to the user.',
|
|
2512
|
+
'2. Call `iranti_attend` before any knowledge discovery tool — Read, Grep, Glob, WebSearch, WebFetch, Bash.',
|
|
2513
|
+
'3. Call `iranti_write` after every Edit/Write, Bash that reveals system state, WebSearch/WebFetch with confirmed facts, and subagent completion.',
|
|
2514
|
+
'4. Call `iranti_attend(phase=\'post-response\')` after every response.',
|
|
2515
|
+
'5. If a recall-style lookup returns no facts, try at least one alternative retrieval angle before concluding absent.',
|
|
2506
2516
|
'',
|
|
2507
2517
|
'## Checkpointing',
|
|
2508
|
-
'- Call `
|
|
2509
|
-
'- Record
|
|
2510
|
-
'
|
|
2511
|
-
'
|
|
2518
|
+
'- Call `iranti_checkpoint` at task completion, task shifts, and natural pauses.',
|
|
2519
|
+
'- Record actions, current step, next step, open risks, and file changes.',
|
|
2520
|
+
'',
|
|
2521
|
+
'## Write depth',
|
|
2522
|
+
'- Include what changed, why, and what breaks if removed.',
|
|
2523
|
+
'- After file edits: absolutePath, lines, before, after, verify, why.',
|
|
2524
|
+
'- After Bash: include the command and relevant output lines.',
|
|
2525
|
+
'- After WebSearch/WebFetch: record findings AND dead ends.',
|
|
2526
|
+
'',
|
|
2527
|
+
].join('\n');
|
|
2528
|
+
}
|
|
2529
|
+
/**
|
|
2530
|
+
* Slim CLAUDE.md block — just points to IRANTI.md and triggers handshake.
|
|
2531
|
+
* This content lives in the system prompt on every turn, so keep it minimal.
|
|
2532
|
+
*/
|
|
2533
|
+
function buildIrantiClaudeMdBlock() {
|
|
2534
|
+
return [
|
|
2535
|
+
'<!-- iranti-rules -->',
|
|
2536
|
+
'# Iranti',
|
|
2537
|
+
'',
|
|
2538
|
+
'This project uses Iranti for shared memory. Read `IRANTI.md` for the full protocol.',
|
|
2512
2539
|
'',
|
|
2513
|
-
'
|
|
2514
|
-
'-
|
|
2540
|
+
'- Call `mcp__iranti__iranti_handshake` before responding to the first user message.',
|
|
2541
|
+
'- Call `mcp__iranti__iranti_handshake` after context compaction.',
|
|
2542
|
+
'- Follow the attend/write/checkpoint protocol in IRANTI.md.',
|
|
2515
2543
|
'<!-- /iranti-rules -->',
|
|
2516
2544
|
'',
|
|
2517
2545
|
].join('\n');
|
|
@@ -8051,12 +8079,13 @@ async function claudeSetupCommand(args) {
|
|
|
8051
8079
|
createdSettings += 1;
|
|
8052
8080
|
if (result.settings === 'updated')
|
|
8053
8081
|
updatedSettings += 1;
|
|
8054
|
-
if (result.mcp === 'unchanged' && result.vscodeMcp === 'unchanged' && result.settings === 'unchanged')
|
|
8082
|
+
if (result.mcp === 'unchanged' && result.vscodeMcp === 'unchanged' && result.settings === 'unchanged' && result.irantiMd === 'unchanged')
|
|
8055
8083
|
unchanged += 1;
|
|
8056
8084
|
console.log(` ${projectPath}`);
|
|
8057
8085
|
console.log(` mcp ${result.mcp}`);
|
|
8058
8086
|
console.log(` vscode ${result.vscodeMcp}`);
|
|
8059
8087
|
console.log(` settings ${result.settings}`);
|
|
8088
|
+
console.log(` iranti.md ${result.irantiMd}`);
|
|
8060
8089
|
}
|
|
8061
8090
|
console.log('');
|
|
8062
8091
|
console.log('Summary:');
|
|
@@ -8091,10 +8120,12 @@ async function claudeSetupCommand(args) {
|
|
|
8091
8120
|
console.log(` vscode ${path_1.default.join(projectPath, '.vscode', 'mcp.json')}`);
|
|
8092
8121
|
console.log(` settings ${path_1.default.join(projectPath, '.claude', 'settings.local.json')}`);
|
|
8093
8122
|
console.log(` claude.md ${path_1.default.join(projectPath, 'CLAUDE.md')}`);
|
|
8123
|
+
console.log(` iranti.md ${path_1.default.join(projectPath, 'IRANTI.md')}`);
|
|
8094
8124
|
console.log(` mcp status ${result.mcp}`);
|
|
8095
8125
|
console.log(` vscode status ${result.vscodeMcp}`);
|
|
8096
8126
|
console.log(` settings status ${result.settings}`);
|
|
8097
8127
|
console.log(` claude.md status ${result.claudeMd}`);
|
|
8128
|
+
console.log(` iranti.md status ${result.irantiMd}`);
|
|
8098
8129
|
console.log(` memory closeout ${result.closeout.status} (${result.closeout.detail})`);
|
|
8099
8130
|
console.log(`${infoLabel()} Next: open Claude Code in this project and verify Iranti tools are available.`);
|
|
8100
8131
|
}
|
|
@@ -343,7 +343,7 @@ async function main() {
|
|
|
343
343
|
await ensureDefaultAgent(iranti);
|
|
344
344
|
const server = new mcp_js_1.McpServer({
|
|
345
345
|
name: 'iranti-mcp',
|
|
346
|
-
version: '0.3.
|
|
346
|
+
version: '0.3.7',
|
|
347
347
|
});
|
|
348
348
|
server.registerTool('iranti_handshake', {
|
|
349
349
|
description: `Initialize or refresh an agent's working-memory brief for the current task.
|
|
@@ -360,8 +360,9 @@ Do not use this as a per-turn retrieval tool; use iranti_attend.`,
|
|
|
360
360
|
agent: z.string().optional().describe('Override the default agent id.'),
|
|
361
361
|
agentId: z.string().optional().describe('Alias for agent. Override the default agent id.'),
|
|
362
362
|
host: z.string().optional().describe('Host identifier (e.g. claude_code, codex). Used to verify host setup has been run for this project.'),
|
|
363
|
+
postCompaction: z.boolean().optional().describe('Set to true after context compaction to force re-delivery of operating rules. Omit on normal mid-session handshake calls — rules are only sent once per context window.'),
|
|
363
364
|
},
|
|
364
|
-
}, async ({ task, recentMessages, agent, agentId, host }) => {
|
|
365
|
+
}, async ({ task, recentMessages, agent, agentId, host, postCompaction }) => {
|
|
365
366
|
const resolvedHost = resolveToolHost(host);
|
|
366
367
|
const resolvedAgent = resolveToolAgent(agent, agentId, resolvedHost);
|
|
367
368
|
syncRuntimeLedgerContext(iranti, resolvedHost, resolvedAgent);
|
|
@@ -370,6 +371,7 @@ Do not use this as a per-turn retrieval tool; use iranti_attend.`,
|
|
|
370
371
|
agent: resolvedAgent,
|
|
371
372
|
task,
|
|
372
373
|
recentMessages: normalizeRecentMessages(recentMessages),
|
|
374
|
+
postCompaction,
|
|
373
375
|
});
|
|
374
376
|
const setupWarnings = checkHostSetup(resolvedHost, process.cwd());
|
|
375
377
|
if (setupWarnings.length > 0) {
|
|
@@ -379,14 +381,13 @@ Do not use this as a per-turn retrieval tool; use iranti_attend.`,
|
|
|
379
381
|
});
|
|
380
382
|
server.registerTool('iranti_attend', {
|
|
381
383
|
description: `Ask Iranti whether memory should be injected before the next LLM turn.
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
performed yet for this agent in the current process, attend will auto-bootstrap
|
|
389
|
-
the session first and report that in the result metadata.
|
|
384
|
+
REQUIRED CALL SEQUENCE — follow this every turn, regardless of host:
|
|
385
|
+
1. Call with phase='pre-response' BEFORE replying to the user.
|
|
386
|
+
2. Call BEFORE any lookup tool (Read, Grep, Glob, Bash, WebSearch, WebFetch) where Iranti might already hold the answer.
|
|
387
|
+
3. If you just ran Edit/Write/Bash/WebSearch/WebFetch since your last iranti_write, call iranti_write FIRST — then attend.
|
|
388
|
+
4. Call with phase='post-response' AFTER every reply, without exception.
|
|
389
|
+
|
|
390
|
+
If the user is asking you to recall a remembered fact (preference, decision, blocker, next step, prior project detail), use this before answering instead of guessing or saying you do not know. Returns an injection decision plus any facts that should be added to context if relevant memory is missing. If no handshake has been performed yet for this agent in the current process, attend will auto-bootstrap the session first and report that in the result metadata.
|
|
390
391
|
This is the minimum safe pre-reply call even when the host skipped handshake.
|
|
391
392
|
Omitting currentContext falls back to the latest message only; pass the
|
|
392
393
|
full visible context when available. For host compatibility, message is
|
|
@@ -658,6 +659,8 @@ the exact key, use this before saying you do not know.`,
|
|
|
658
659
|
});
|
|
659
660
|
server.registerTool('iranti_write', {
|
|
660
661
|
description: `Write one durable fact to shared memory for a specific entity.
|
|
662
|
+
TIMING: Call IMMEDIATELY when a fact is confirmed — do not batch or defer to end of turn.
|
|
663
|
+
One call per finding. If you edited a file, write before the next action. If you ran a command and got a result, write before the next action. If you got a search result, write before moving on.
|
|
661
664
|
Use this when you learned something concrete that future turns,
|
|
662
665
|
agents, or sessions should retain. Requires: entity ("type/id"),
|
|
663
666
|
key, value JSON, and summary. Confidence is optional and defaults
|
package/dist/scripts/seed.js
CHANGED
|
@@ -39,28 +39,17 @@ const STAFF_ENTRIES = [
|
|
|
39
39
|
entityId: 'attendant',
|
|
40
40
|
key: 'operating_rules',
|
|
41
41
|
valueRaw: {
|
|
42
|
-
version: '0.3.
|
|
42
|
+
version: '0.3.3',
|
|
43
43
|
rules: [
|
|
44
|
-
'Serve one external agent only;
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'
|
|
52
|
-
'
|
|
53
|
-
'Persist durable knowledge when it is learned or confirmed: decisions, blockers, next steps, owners, stable preferences, project constraints, important file purposes, validated environment details, what worked, what failed, and what remains risky.',
|
|
54
|
-
'Write facts with the depth of someone who built the system — include what the thing does, why it exists, how it connects to other parts, and what would break or change if it were removed. A fact that reads "file X was edited" is insufficient; "file X controls Y because Z, edited to fix W" is the target. Iranti should accumulate enough detail that any agent reading its memory feels like it built the repo.',
|
|
55
|
-
'When a file is created, renamed, moved, deleted, or substantially repurposed, capture that change and what the file is for whenever the state will matter to another agent or a later session.',
|
|
56
|
-
'When a task reaches a useful checkpoint, store the current step, next step, open risks, and any important artifacts or paths so another agent can resume without reconstructing context from scratch.',
|
|
57
|
-
'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.',
|
|
58
|
-
'Use iranti_checkpoint for active shared progress, 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.',
|
|
59
|
-
'CHECKPOINT PROTOCOL: Call iranti_checkpoint (1) when completing a task, (2) when shifting to a new task mid-session, and (3) at any natural pause point where another session should resume — not only when saving facts with iranti_write. A checkpoint not written means the next handshake recovers from stale data, and a long run without structured writes/checkpoints is non-compliant for Iranti. Write checkpoints like the best possible commit message but with more detail — lead with the why (what problem this solved, what decision was made, what changed and why it matters), then add structured recovery context: current step, next step, what worked, what failed, open risks, and file changes. A checkpoint that reads "did some edits" is non-compliant; one that reads "fixed missing docker dependency in cofactor instance.json — container name was never recorded at setup so iranti run silently skipped docker start; added iranti_cofactor_db dependency, verified against docker ps, control panel start will now auto-boot the container" is the target.',
|
|
60
|
-
'Do not save every turn. Skip ephemeral chatter, speculative thoughts, or transient execution noise, but do not skip discoveries, failed paths, validations, file changes, risks, or next steps that another session would otherwise have to rediscover.',
|
|
61
|
-
'Deliver a compressed working-memory brief, not the full knowledge base. Load only what is relevant to the current task.',
|
|
62
|
-
'Reconvene or attend again when context shifts, when the visible window is missing needed facts, or when a different entity becomes relevant.',
|
|
63
|
-
'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.',
|
|
44
|
+
'Serve one external agent only; keep task context coherent across turns and sessions.',
|
|
45
|
+
'SESSION START: Call iranti_handshake before responding to the first user message. After context compaction, call iranti_handshake with postCompaction:true before the next response.',
|
|
46
|
+
'ATTEND PROTOCOL — every turn: (1) iranti_attend(phase=pre-response) before every reply. (2) iranti_attend before any lookup tool (Read, Grep, Glob, Bash, WebSearch, WebFetch) where Iranti might already hold the answer. (3) iranti_write after every file edit, Bash result, WebSearch/Fetch finding, or subagent completion — one write per finding, immediately, before the next action. (4) iranti_attend(phase=post-response) after every reply without exception.',
|
|
47
|
+
'Before answering recall-style questions about preferences, decisions, blockers, or prior project state, consult Iranti instead of guessing. Try two distinct retrieval angles before concluding a fact is absent.',
|
|
48
|
+
'Before making architectural, product, or debugging decisions, check Iranti for earlier decisions, constraints, blockers, and validated environment details.',
|
|
49
|
+
'Write with depth: include what changed, why it exists, how it connects to other parts, and what breaks if removed. "file X was edited" is insufficient — "file X controls Y because Z, edited to fix W" is the target. Iranti accumulates enough detail that any agent reading it feels like it built the repo.',
|
|
50
|
+
'CHECKPOINT: Call iranti_checkpoint (1) at task completion, (2) when shifting tasks mid-session, (3) at any natural pause. Lead with the why — what problem was solved, what decision was made — then add current step, next step, what worked, what failed, open risks, and file changes.',
|
|
51
|
+
'Do not save ephemeral chatter or transient noise. Save discoveries, failed paths, validations, file changes, risks, and next steps that another session would otherwise have to rediscover.',
|
|
52
|
+
'Prefer iranti_checkpoint for shared active progress, iranti_write for individual durable facts, iranti_ingest for stable source material.',
|
|
64
53
|
],
|
|
65
54
|
},
|
|
66
55
|
valueSummary: 'Attendant manages per-agent working memory and instructs agents when to read and write durable memory.',
|
package/dist/src/api/server.js
CHANGED
|
@@ -41,7 +41,7 @@ const RUNTIME_AUTHORITY = (0, runtimeLifecycle_1.resolveRuntimeAuthorityFromEnv)
|
|
|
41
41
|
const INSTANCE_DIR = RUNTIME_AUTHORITY.instanceDir;
|
|
42
42
|
const INSTANCE_RUNTIME_FILE = RUNTIME_AUTHORITY.runtimeFile;
|
|
43
43
|
const INSTANCE_NAME = process.env.IRANTI_INSTANCE_NAME?.trim() || (INSTANCE_DIR ? path_1.default.basename(INSTANCE_DIR) : 'adhoc');
|
|
44
|
-
const VERSION = '0.3.
|
|
44
|
+
const VERSION = '0.3.7';
|
|
45
45
|
const PORT_RAW = (process.env.IRANTI_PORT ?? '3001').trim();
|
|
46
46
|
const PORT = Number.parseInt(PORT_RAW, 10);
|
|
47
47
|
const runtimeMetadataHealth = (0, healthChecks_1.createHealthCheckState)({
|
|
@@ -3,6 +3,7 @@ export declare const DEFAULT_ATTENDANT_OPERATING_RULES: string[];
|
|
|
3
3
|
export interface AgentContext {
|
|
4
4
|
task: string;
|
|
5
5
|
recentMessages: string[];
|
|
6
|
+
postCompaction?: boolean;
|
|
6
7
|
ledgerContext?: {
|
|
7
8
|
source?: string;
|
|
8
9
|
host?: string | null;
|
|
@@ -190,7 +191,7 @@ export interface ObserveResult {
|
|
|
190
191
|
usageGuidance: {
|
|
191
192
|
tool: 'observe' | 'attend';
|
|
192
193
|
reminder: string;
|
|
193
|
-
expectedCallSequence
|
|
194
|
+
expectedCallSequence?: string[];
|
|
194
195
|
note: string;
|
|
195
196
|
};
|
|
196
197
|
entitiesResolved?: Array<{
|
|
@@ -294,6 +295,7 @@ export declare class AttendantInstance {
|
|
|
294
295
|
private sharedStateObservedAt;
|
|
295
296
|
private pendingSharedStateInvalidations;
|
|
296
297
|
private pendingMemoryAttributions;
|
|
298
|
+
private rulesDelivered;
|
|
297
299
|
constructor(agentId: string);
|
|
298
300
|
setLedgerContext(context?: AgentContext['ledgerContext']): void;
|
|
299
301
|
private buildEventMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttendantInstance.d.ts","sourceRoot":"","sources":["../../../src/attendant/AttendantInstance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttendantInstance.d.ts","sourceRoot":"","sources":["../../../src/attendant/AttendantInstance.ts"],"names":[],"mappings":"AAyBA,OAAO,EAIH,KAAK,qBAAqB,EAE7B,MAAM,sBAAsB,CAAC;AAW9B,eAAO,MAAM,iCAAiC,EAAE,MAAM,EAsBrD,CAAC;AA0GF,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;CACL;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjD,iBAAiB,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,yBAAyB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;AAEjF,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC;AAE/E,MAAM,MAAM,0BAA0B,GAChC,8BAA8B,GAC9B,6BAA6B,GAC7B,6BAA6B,GAC7B,yBAAyB,CAAC;AAEhC,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,0BAA0B,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QACN,qBAAqB,EAAE,MAAM,CAAC;QAC9B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iCAAiC,EAAE,MAAM,CAAC;QAC1C,iCAAiC,EAAE,MAAM,CAAC;QAC1C,mBAAmB,EAAE,OAAO,CAAC;QAC7B,eAAe,EAAE,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,IAAI,CAAC;KACzE,CAAC;CACL;AAED,MAAM,WAAW,wBAAwB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,wBAAwB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,wBAAwB,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC3C,yBAAyB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C,UAAU,EAAE,sBAAsB,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,OAAO,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,aAAa,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACrC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,oBAAoB,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iBAAiB,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACnD,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC7C;AAID,MAAM,WAAW,YAAY;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QACX,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;KACrD,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,eAAe,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC;CACL;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,cAAc,GAAG,eAAe,GAAG,UAAU,CAAC;CACzD;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,wBAAwB,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IAC/C,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EACA,QAAQ,GACR,mBAAmB,GACnB,wBAAwB,GACxB,8BAA8B,GAC9B,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,sBAAsB,CAAC;IACnC,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAClD;AAED,MAAM,MAAM,6BAA6B,GACnC,OAAO,GACP,YAAY,GACZ,aAAa,GACb,oBAAoB,GACpB,mBAAmB,CAAC;AAE1B,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,KAAK,EAAE,cAAc,GAAG,UAAU,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,6BAA6B,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,mBAAmB;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AA6BD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CA6BpF;AAED,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,aAAa,GAAE,MAAM,EAAsC,GAC5D,MAAM,CA2BR;AAuYD,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAWtG;AA0GD,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,uBAAuB,GAAG,IAAI,EAC1C,yBAAyB,CAAC,EAAE,MAAM,EAClC,UAAU,GAAE,sBAAsB,GAAG,IAAW,GACjD,cAAc,CAiChB;AAquBD,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,uBAAuB,CAA6C;IAC5E,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,iCAAiC,CAAa;IACtD,OAAO,CAAC,iCAAiC,CAAa;IACtD,OAAO,CAAC,eAAe,CAAwE;IAC/F,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,iBAAiB,CAAwC;IACjE,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,+BAA+B,CAAkC;IACzE,OAAO,CAAC,yBAAyB,CAAiC;IAClE,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,EAAE,MAAM;IAK3B,gBAAgB,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI;IAY/D,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,oCAAoC;IAQ5C,OAAO,CAAC,2BAA2B;IAuBnC,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,8BAA8B;IAgBtC,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,8BAA8B;IAwEhC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;YAQ9B,wBAAwB;YA+BxB,mBAAmB;IA8B3B,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkG7D,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4GnE,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAmB9C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCnC,QAAQ,IAAI,kBAAkB,GAAG,IAAI;YAIvB,4BAA4B;IAkB1C,OAAO,CAAC,oBAAoB;IAWtB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpC,UAAU,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmHtE,aAAa,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqC1E,eAAe,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqC5E,cAAc,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqC3E,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsBjF,UAAU,IAAI,MAAM;IAId,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAuVjD,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAga1D,OAAO,CAAC,aAAa;YAOP,mBAAmB;YAKnB,gBAAgB;IA+E9B,OAAO,CAAC,iCAAiC;IAsEzC,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,wBAAwB;IA6BhC,OAAO,CAAC,yBAAyB;YAsCnB,wBAAwB;YA2DxB,0BAA0B;YAqB1B,wBAAwB;IA8BtC,OAAO,CAAC,qBAAqB;IAW7B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IASzC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAU5D,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,mBAAmB;YA2Bb,SAAS;YA8BT,kBAAkB;YAOlB,kBAAkB;YA0DlB,YAAY;YAoCZ,kBAAkB;CAqBnC"}
|
|
@@ -63,16 +63,8 @@ const LEGACY_CONTINUITY_KEY_MAP = {
|
|
|
63
63
|
checkpoint_next_step: 'next_step',
|
|
64
64
|
checkpoint_open_risks: 'open_risks',
|
|
65
65
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"Call iranti_attend(phase='pre-response') before replying to the user.",
|
|
69
|
-
'Call iranti_attend before any lookup where Iranti might already hold the answer — Read, Grep, Glob, WebSearch, WebFetch, Bash-as-factual-basis.',
|
|
70
|
-
'Call iranti_attend again after any such lookup when new findings may affect what to inject, write, or checkpoint.',
|
|
71
|
-
'Call iranti_write after every Edit or Write tool call — file changes are always durable.',
|
|
72
|
-
'Call iranti_write after Bash commands that reveal system state, after WebSearch/WebFetch with confirmed facts, and after any subagent completes.',
|
|
73
|
-
"Call iranti_attend(phase='post-response') after every response without exception — even short replies may contain durable findings. Omitting this call is a compliance violation.",
|
|
74
|
-
'Call iranti_attend again when the new knowledge should change what is loaded next.',
|
|
75
|
-
];
|
|
66
|
+
// expectedCallSequence removed — the full protocol now lives in IRANTI.md,
|
|
67
|
+
// written once per project by `iranti claude-setup`, instead of repeated on every attend call.
|
|
76
68
|
const ATTEND_USAGE_REMINDER = 'Iranti is a hive mind. MANDATORY: call iranti_attend before every reply and around knowledge discovery. MANDATORY: call iranti_write after every file edit, confirmed finding, environment state change, and subagent completion — write what changed, why, and what it means. Skipping writes means the next session starts blind and must rediscover everything from scratch.';
|
|
77
69
|
const OBSERVE_USAGE_NOTE = 'observe() is retrieval-only. It surfaces candidate facts for context and warm-up, but it does not persist memory, replace iranti_attend, or count as a checkpoint/write.';
|
|
78
70
|
function normalizeContinuityKey(key) {
|
|
@@ -354,20 +346,26 @@ function advisoryTaskTokens(taskType) {
|
|
|
354
346
|
.filter((token) => token.length >= 4)));
|
|
355
347
|
}
|
|
356
348
|
function buildUsageGuidance(tool, turnsWithoutWrite = 0) {
|
|
349
|
+
const hasComplianceIssue = turnsWithoutWrite >= 2;
|
|
350
|
+
if (!hasComplianceIssue) {
|
|
351
|
+
return {
|
|
352
|
+
tool,
|
|
353
|
+
reminder: ATTEND_USAGE_REMINDER + ' Reminder: if the previous turn produced durable findings, call iranti_write before continuing.',
|
|
354
|
+
// expectedCallSequence omitted — protocol lives in IRANTI.md, not repeated per-call.
|
|
355
|
+
note: '',
|
|
356
|
+
};
|
|
357
|
+
}
|
|
357
358
|
let reminder = ATTEND_USAGE_REMINDER;
|
|
358
359
|
if (turnsWithoutWrite >= 3) {
|
|
359
360
|
reminder += ` NON-COMPLIANT: ${turnsWithoutWrite} turns have completed without a single iranti_write call. You are losing knowledge. Call iranti_write NOW for any findings, file changes, or decisions from recent turns.`;
|
|
360
361
|
}
|
|
361
|
-
else
|
|
362
|
+
else {
|
|
362
363
|
reminder += ` WARNING: ${turnsWithoutWrite} turns without an iranti_write call. If you discovered, changed, or confirmed anything, write it now before it is lost.`;
|
|
363
364
|
}
|
|
364
|
-
else if (turnsWithoutWrite === 1) {
|
|
365
|
-
reminder += ' Reminder: if the previous turn produced durable findings, call iranti_write before continuing.';
|
|
366
|
-
}
|
|
367
365
|
return {
|
|
368
366
|
tool,
|
|
369
367
|
reminder,
|
|
370
|
-
expectedCallSequence
|
|
368
|
+
// expectedCallSequence omitted — protocol lives in IRANTI.md, not repeated per-call.
|
|
371
369
|
note: tool === 'observe'
|
|
372
370
|
? OBSERVE_USAGE_NOTE
|
|
373
371
|
: 'After using attend() and any retrieved facts, persist durable learnings with iranti_write and shared progress with iranti_checkpoint when applicable.',
|
|
@@ -1130,24 +1128,13 @@ async function persistSharedCheckpointBreadcrumbs(params) {
|
|
|
1130
1128
|
});
|
|
1131
1129
|
}
|
|
1132
1130
|
if (checkpoint.nextStep) {
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
entityId: resolved.entityId,
|
|
1136
|
-
key: 'next_step',
|
|
1137
|
-
});
|
|
1138
|
-
const priorInstruction = existingNextStep?.valueRaw && typeof existingNextStep.valueRaw === 'object'
|
|
1139
|
-
? existingNextStep.valueRaw.instruction
|
|
1140
|
-
: null;
|
|
1141
|
-
const mergedNextStep = typeof priorInstruction === 'string'
|
|
1142
|
-
&& priorInstruction.trim().length > 0
|
|
1143
|
-
&& priorInstruction.trim() !== checkpoint.nextStep.trim()
|
|
1144
|
-
? `${checkpoint.nextStep}. Prior task step: ${priorInstruction.trim()}`
|
|
1145
|
-
: checkpoint.nextStep;
|
|
1131
|
+
// Replace next_step cleanly — no accumulation of prior steps.
|
|
1132
|
+
// History is preserved in checkpoint_summary and session history.
|
|
1146
1133
|
await (0, librarian_1.librarianWrite)({
|
|
1147
1134
|
...common,
|
|
1148
1135
|
key: 'next_step',
|
|
1149
|
-
valueRaw: { instruction:
|
|
1150
|
-
valueSummary: truncate(`next step is ${
|
|
1136
|
+
valueRaw: { instruction: checkpoint.nextStep },
|
|
1137
|
+
valueSummary: truncate(`next step is ${checkpoint.nextStep}`, 220),
|
|
1151
1138
|
properties: {
|
|
1152
1139
|
...checkpointBaseProperties,
|
|
1153
1140
|
durableClass: 'next_step',
|
|
@@ -1361,6 +1348,7 @@ class AttendantInstance {
|
|
|
1361
1348
|
this.sharedStateObservedAt = null;
|
|
1362
1349
|
this.pendingSharedStateInvalidations = new Map();
|
|
1363
1350
|
this.pendingMemoryAttributions = [];
|
|
1351
|
+
this.rulesDelivered = false;
|
|
1364
1352
|
this.agentId = agentId;
|
|
1365
1353
|
(0, sharedStateInvalidation_1.registerSharedStateInvalidationObserver)(agentId, this);
|
|
1366
1354
|
}
|
|
@@ -1596,6 +1584,10 @@ class AttendantInstance {
|
|
|
1596
1584
|
this.setLedgerContext(context.ledgerContext);
|
|
1597
1585
|
// Try to resume from persisted state first
|
|
1598
1586
|
const persisted = await this.loadPersistedState();
|
|
1587
|
+
// Reset rulesDelivered flag on post-compaction handshake
|
|
1588
|
+
if (context.postCompaction) {
|
|
1589
|
+
this.rulesDelivered = false;
|
|
1590
|
+
}
|
|
1599
1591
|
// Load operating rules from Staff Namespace
|
|
1600
1592
|
const operatingRules = await this.loadOperatingRules();
|
|
1601
1593
|
// Infer task type
|
|
@@ -1624,9 +1616,17 @@ class AttendantInstance {
|
|
|
1624
1616
|
else {
|
|
1625
1617
|
this.sessionCheckpoint = persisted?.sessionCheckpoint ?? null;
|
|
1626
1618
|
}
|
|
1619
|
+
const fullOperatingRules = applyAdvisoryOperatingRules(applyProjectPolicyOperatingRules(operatingRules, projectPolicies), this.advisoryLearningProfile);
|
|
1620
|
+
const isFirstDelivery = !this.rulesDelivered;
|
|
1621
|
+
const operatingRulesPayload = this.rulesDelivered
|
|
1622
|
+
? '[operating rules previously delivered this session — call handshake with postCompaction:true after context compaction to reload]'
|
|
1623
|
+
: fullOperatingRules;
|
|
1624
|
+
if (!this.rulesDelivered) {
|
|
1625
|
+
this.rulesDelivered = true;
|
|
1626
|
+
}
|
|
1627
1627
|
this.brief = {
|
|
1628
1628
|
agentId: this.agentId,
|
|
1629
|
-
operatingRules:
|
|
1629
|
+
operatingRules: operatingRulesPayload,
|
|
1630
1630
|
inferredTaskType,
|
|
1631
1631
|
workingMemory: workingMemoryWithLedger,
|
|
1632
1632
|
projectPolicies,
|
|
@@ -1636,7 +1636,7 @@ class AttendantInstance {
|
|
|
1636
1636
|
backfillSuggestion: buildBackfillSuggestion(context, workingMemoryWithLedger),
|
|
1637
1637
|
sessionLedgerLearnings,
|
|
1638
1638
|
sessionCheckpoint: this.sessionCheckpoint,
|
|
1639
|
-
sessionRecovery: recoveryResult.recovery,
|
|
1639
|
+
sessionRecovery: isFirstDelivery ? recoveryResult.recovery : null,
|
|
1640
1640
|
compliance: persisted?.compliance ?? this.buildComplianceState(),
|
|
1641
1641
|
watchedEntities: normalizeWatchedEntities([
|
|
1642
1642
|
...(persisted?.watchedEntities ?? []),
|
|
@@ -2720,10 +2720,28 @@ ${detectionWindow}`,
|
|
|
2720
2720
|
}
|
|
2721
2721
|
}
|
|
2722
2722
|
}
|
|
2723
|
-
// Step 4 —
|
|
2723
|
+
// Step 4 — relevance-weighted fact ranking
|
|
2724
|
+
// Profile facts (favorite_city, country_of_origin, etc.) on personal entities
|
|
2725
|
+
// are deprioritized unless the context/message shows token overlap with them.
|
|
2726
|
+
const contextTokens = new Set(tokenizePresenceText(currentContext));
|
|
2724
2727
|
const topFacts = newFacts
|
|
2725
|
-
.
|
|
2726
|
-
.
|
|
2728
|
+
.map((fact) => {
|
|
2729
|
+
const parts = fact.entityKey.split('/');
|
|
2730
|
+
const entityType = parts[0] ?? '';
|
|
2731
|
+
const factKey = parts[2] ?? '';
|
|
2732
|
+
const isProfile = (0, autoRemember_1.isPersonalEntityType)(entityType) && (0, autoRemember_1.isPersonalMemoryKey)(factKey);
|
|
2733
|
+
// Compute token overlap between context and fact summary
|
|
2734
|
+
const factTokens = tokenizePresenceText(fact.summary);
|
|
2735
|
+
const overlap = factTokens.filter((t) => contextTokens.has(t)).length;
|
|
2736
|
+
const relevance = factTokens.length > 0 ? overlap / factTokens.length : 0;
|
|
2737
|
+
// Profile facts with no relevance to the current context get deprioritized
|
|
2738
|
+
const profilePenalty = isProfile && relevance === 0 ? 50 : 0;
|
|
2739
|
+
const effectiveConfidence = fact.confidence - profilePenalty;
|
|
2740
|
+
return { fact, effectiveConfidence, relevance };
|
|
2741
|
+
})
|
|
2742
|
+
.sort((a, b) => b.effectiveConfidence - a.effectiveConfidence || b.relevance - a.relevance)
|
|
2743
|
+
.slice(0, maxFacts)
|
|
2744
|
+
.map(({ fact }) => fact);
|
|
2727
2745
|
await (0, queries_1.recordKnowledgeEntryAccess)(topFacts.map((fact) => fact.entryId));
|
|
2728
2746
|
(0, staffEventRegistry_1.getStaffEventEmitter)().emit({
|
|
2729
2747
|
staffComponent: 'Attendant',
|