audrey 2.0.0 → 2.1.1
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/CHANGELOG.md +79 -0
- package/README.md +64 -60
- package/SECURITY.md +2 -3
- package/dist/mcp-server/config.d.ts +1 -11
- package/dist/mcp-server/config.d.ts.map +1 -1
- package/dist/mcp-server/config.js +42 -4
- package/dist/mcp-server/config.js.map +1 -1
- package/dist/mcp-server/index.d.ts +6 -2
- package/dist/mcp-server/index.d.ts.map +1 -1
- package/dist/mcp-server/index.js +147 -16
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/tool-schemas.d.ts +46 -0
- package/dist/mcp-server/tool-schemas.d.ts.map +1 -1
- package/dist/mcp-server/tool-schemas.js +20 -1
- package/dist/mcp-server/tool-schemas.js.map +1 -1
- package/dist/src/action-key.d.ts.map +1 -1
- package/dist/src/action-key.js +7 -7
- package/dist/src/action-key.js.map +1 -1
- package/dist/src/audrey.d.ts +7 -4
- package/dist/src/audrey.d.ts.map +1 -1
- package/dist/src/audrey.js +210 -57
- package/dist/src/audrey.js.map +1 -1
- package/dist/src/autopilot.d.ts +1 -1
- package/dist/src/autopilot.d.ts.map +1 -1
- package/dist/src/autopilot.js +47 -224
- package/dist/src/autopilot.js.map +1 -1
- package/dist/src/capsule.d.ts +4 -17
- package/dist/src/capsule.d.ts.map +1 -1
- package/dist/src/capsule.js +21 -20
- package/dist/src/capsule.js.map +1 -1
- package/dist/src/chatgpt-auth.d.ts +82 -0
- package/dist/src/chatgpt-auth.d.ts.map +1 -0
- package/dist/src/chatgpt-auth.js +965 -0
- package/dist/src/chatgpt-auth.js.map +1 -0
- package/dist/src/chatgpt-llm.d.ts +18 -0
- package/dist/src/chatgpt-llm.d.ts.map +1 -0
- package/dist/src/chatgpt-llm.js +157 -0
- package/dist/src/chatgpt-llm.js.map +1 -0
- package/dist/src/consolidate.d.ts.map +1 -1
- package/dist/src/consolidate.js +30 -2
- package/dist/src/consolidate.js.map +1 -1
- package/dist/src/controller.d.ts +7 -1
- package/dist/src/controller.d.ts.map +1 -1
- package/dist/src/controller.js +88 -14
- package/dist/src/controller.js.map +1 -1
- package/dist/src/db.d.ts +1 -0
- package/dist/src/db.d.ts.map +1 -1
- package/dist/src/db.js +126 -45
- package/dist/src/db.js.map +1 -1
- package/dist/src/embedding.d.ts.map +1 -1
- package/dist/src/embedding.js +14 -1
- package/dist/src/embedding.js.map +1 -1
- package/dist/src/encode.d.ts +14 -0
- package/dist/src/encode.d.ts.map +1 -1
- package/dist/src/encode.js +56 -17
- package/dist/src/encode.js.map +1 -1
- package/dist/src/events.d.ts +17 -0
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +130 -3
- package/dist/src/events.js.map +1 -1
- package/dist/src/export.d.ts +1 -0
- package/dist/src/export.d.ts.map +1 -1
- package/dist/src/export.js +9 -2
- package/dist/src/export.js.map +1 -1
- package/dist/src/forget.d.ts.map +1 -1
- package/dist/src/forget.js +6 -2
- package/dist/src/forget.js.map +1 -1
- package/dist/src/fts.d.ts +2 -2
- package/dist/src/fts.d.ts.map +1 -1
- package/dist/src/fts.js +4 -4
- package/dist/src/fts.js.map +1 -1
- package/dist/src/grounding.d.ts +1 -1
- package/dist/src/grounding.d.ts.map +1 -1
- package/dist/src/grounding.js +24 -11
- package/dist/src/grounding.js.map +1 -1
- package/dist/src/hybrid-recall.d.ts +5 -8
- package/dist/src/hybrid-recall.d.ts.map +1 -1
- package/dist/src/hybrid-recall.js +25 -57
- package/dist/src/hybrid-recall.js.map +1 -1
- package/dist/src/import.d.ts +40 -3
- package/dist/src/import.d.ts.map +1 -1
- package/dist/src/import.js +101 -42
- package/dist/src/import.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/llm-shared.d.ts +10 -0
- package/dist/src/llm-shared.d.ts.map +1 -0
- package/dist/src/llm-shared.js +20 -0
- package/dist/src/llm-shared.js.map +1 -0
- package/dist/src/llm.d.ts +2 -1
- package/dist/src/llm.d.ts.map +1 -1
- package/dist/src/llm.js +13 -22
- package/dist/src/llm.js.map +1 -1
- package/dist/src/migrate.d.ts.map +1 -1
- package/dist/src/migrate.js +34 -40
- package/dist/src/migrate.js.map +1 -1
- package/dist/src/preflight.d.ts +2 -0
- package/dist/src/preflight.d.ts.map +1 -1
- package/dist/src/preflight.js +5 -1
- package/dist/src/preflight.js.map +1 -1
- package/dist/src/project-memory.d.ts +14 -0
- package/dist/src/project-memory.d.ts.map +1 -0
- package/dist/src/project-memory.js +135 -0
- package/dist/src/project-memory.js.map +1 -0
- package/dist/src/project.d.ts +2 -0
- package/dist/src/project.d.ts.map +1 -1
- package/dist/src/project.js +12 -0
- package/dist/src/project.js.map +1 -1
- package/dist/src/promote.d.ts.map +1 -1
- package/dist/src/promote.js +2 -26
- package/dist/src/promote.js.map +1 -1
- package/dist/src/recall-scoring.d.ts +14 -0
- package/dist/src/recall-scoring.d.ts.map +1 -0
- package/dist/src/recall-scoring.js +167 -0
- package/dist/src/recall-scoring.js.map +1 -0
- package/dist/src/recall.d.ts.map +1 -1
- package/dist/src/recall.js +31 -168
- package/dist/src/recall.js.map +1 -1
- package/dist/src/rollback.d.ts +12 -0
- package/dist/src/rollback.d.ts.map +1 -1
- package/dist/src/rollback.js +118 -25
- package/dist/src/rollback.js.map +1 -1
- package/dist/src/routes.d.ts.map +1 -1
- package/dist/src/routes.js +102 -33
- package/dist/src/routes.js.map +1 -1
- package/dist/src/rules-compiler.d.ts +4 -0
- package/dist/src/rules-compiler.d.ts.map +1 -1
- package/dist/src/rules-compiler.js +34 -2
- package/dist/src/rules-compiler.js.map +1 -1
- package/dist/src/server.d.ts +2 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +96 -38
- package/dist/src/server.js.map +1 -1
- package/dist/src/shell-command.d.ts.map +1 -1
- package/dist/src/shell-command.js +24 -7
- package/dist/src/shell-command.js.map +1 -1
- package/dist/src/success-checks.d.ts +41 -0
- package/dist/src/success-checks.d.ts.map +1 -0
- package/dist/src/success-checks.js +164 -0
- package/dist/src/success-checks.js.map +1 -0
- package/dist/src/types.d.ts +7 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +23 -9
- package/dist/src/validate.js.map +1 -1
- package/package.json +7 -10
package/dist/src/autopilot.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createHash, randomUUID } from 'node:crypto';
|
|
2
|
+
import { capsuleEntryKey } from './capsule.js';
|
|
3
|
+
import { scopeCapsuleToProject, contextBelongsToProject } from './project-memory.js';
|
|
2
4
|
import { MemoryController } from './controller.js';
|
|
3
5
|
import { reconcileVectorIndex } from './db.js';
|
|
4
6
|
import { deleteEventsBefore } from './events.js';
|
|
5
|
-
import { projectNamespace,
|
|
7
|
+
import { projectNamespace, checkoutRoot } from './project.js';
|
|
6
8
|
import { redact } from './redact.js';
|
|
7
9
|
import { profileShellCommand } from './shell-command.js';
|
|
8
10
|
import { TRUST_CONTEXT_KEY, USER_VERIFIED_TRUST } from './trust.js';
|
|
@@ -40,13 +42,6 @@ const SIDE_EFFECT_TOOLS = new Set([
|
|
|
40
42
|
// hooks.ts's AUDREY_MCP_TOOL_PREFIX (itself built from SERVER_NAME) rather
|
|
41
43
|
// than re-deriving the pattern independently, so the two can never drift.
|
|
42
44
|
const AUDREY_TOOL_PREFIX = AUDREY_MCP_TOOL_PREFIX.toLowerCase();
|
|
43
|
-
// 'preference'/'prefers'/'user-preference' are content-classification tags,
|
|
44
|
-
// not scope signals — a project-local memory can be tagged 'preference' for
|
|
45
|
-
// reasons that have nothing to do with cross-project sharing. Only the
|
|
46
|
-
// explicit 'global-preference' tag (paired by autopilot's own capture path,
|
|
47
|
-
// or the autopilotScope: 'global' context marker checked separately in
|
|
48
|
-
// contextBelongsToProject) may bypass project isolation.
|
|
49
|
-
const GLOBAL_PREFERENCE_TAGS = new Set(['global-preference']);
|
|
50
45
|
const RETRY_INTENT_TTL_MS = 30 * 60 * 1000;
|
|
51
46
|
const MAINTENANCE_LEASE_MS = 5 * 60 * 1000;
|
|
52
47
|
const EVENT_RETENTION_LEASE_MS = 5 * 60 * 1000;
|
|
@@ -147,11 +142,24 @@ function filesFromInput(input) {
|
|
|
147
142
|
.map(path => compact(path, 1000))
|
|
148
143
|
.slice(0, 50);
|
|
149
144
|
}
|
|
145
|
+
function canonicalInput(value) {
|
|
146
|
+
if (Array.isArray(value))
|
|
147
|
+
return value.map(canonicalInput);
|
|
148
|
+
if (value && typeof value === 'object') {
|
|
149
|
+
return Object.fromEntries(Object.entries(value)
|
|
150
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
151
|
+
.map(([key, item]) => [key, canonicalInput(item)]));
|
|
152
|
+
}
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
150
155
|
function summarizeAction(payload) {
|
|
151
156
|
const tool = toolName(payload);
|
|
152
157
|
const input = toolInput(payload);
|
|
153
158
|
const files = filesFromInput(input);
|
|
154
|
-
const
|
|
159
|
+
const identityInput = text(input.command)
|
|
160
|
+
? Object.fromEntries(Object.entries(input).filter(([key]) => key !== 'description'))
|
|
161
|
+
: input;
|
|
162
|
+
const serialized = JSON.stringify(canonicalInput(identityInput));
|
|
155
163
|
const rawActionHash = sha256(`${tool}\n${serialized}`);
|
|
156
164
|
const identity = `input_chars=${serialized.length}`;
|
|
157
165
|
const command = text(input.command);
|
|
@@ -259,7 +267,8 @@ export function inferAutopilotOutcome(payload, event = eventName(payload), host)
|
|
|
259
267
|
if (outcome === 'succeeded' ||
|
|
260
268
|
outcome === 'failed' ||
|
|
261
269
|
outcome === 'blocked' ||
|
|
262
|
-
outcome === 'skipped'
|
|
270
|
+
outcome === 'skipped' ||
|
|
271
|
+
outcome === 'unknown') {
|
|
263
272
|
return outcome;
|
|
264
273
|
}
|
|
265
274
|
if (responseIndicatesSuccess(toolOutput(payload)))
|
|
@@ -392,7 +401,7 @@ function parsedRecord(value) {
|
|
|
392
401
|
}
|
|
393
402
|
function existingCandidateId(audrey, candidate, namespace) {
|
|
394
403
|
const rows = audrey.db
|
|
395
|
-
.prepare('SELECT id, context FROM episodes WHERE agent = ? AND content = ?')
|
|
404
|
+
.prepare('SELECT id, context FROM episodes WHERE agent = ? AND content = ? AND superseded_by IS NULL')
|
|
396
405
|
.all(audrey.agent, candidate.content);
|
|
397
406
|
return rows.find(row => {
|
|
398
407
|
const context = parsedRecord(row.context);
|
|
@@ -432,124 +441,6 @@ async function captureExplicitMemories(audrey, prompt, payload, host) {
|
|
|
432
441
|
}
|
|
433
442
|
return ids;
|
|
434
443
|
}
|
|
435
|
-
function stringList(value) {
|
|
436
|
-
if (!value)
|
|
437
|
-
return [];
|
|
438
|
-
try {
|
|
439
|
-
const parsed = JSON.parse(value);
|
|
440
|
-
return Array.isArray(parsed)
|
|
441
|
-
? parsed.filter((item) => typeof item === 'string')
|
|
442
|
-
: [];
|
|
443
|
-
}
|
|
444
|
-
catch {
|
|
445
|
-
return value
|
|
446
|
-
.split(',')
|
|
447
|
-
.map(item => item.trim())
|
|
448
|
-
.filter(Boolean);
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
function hasGlobalPreferenceTag(tags) {
|
|
452
|
-
return Boolean(tags?.some(tag => GLOBAL_PREFERENCE_TAGS.has(tag.toLowerCase())));
|
|
453
|
-
}
|
|
454
|
-
function contextBelongsToProject(context, namespace) {
|
|
455
|
-
if (text(context.autopilotScope) === 'global')
|
|
456
|
-
return true;
|
|
457
|
-
const storedNamespace = text(context.projectNamespace);
|
|
458
|
-
if (storedNamespace)
|
|
459
|
-
return storedNamespace === namespace;
|
|
460
|
-
const cwd = text(context.cwd);
|
|
461
|
-
return cwd ? projectNamespace(cwd) === namespace : false;
|
|
462
|
-
}
|
|
463
|
-
function memoryIdBelongsToProject(audrey, memoryId, namespace, visited = new Set()) {
|
|
464
|
-
if (visited.has(memoryId))
|
|
465
|
-
return false;
|
|
466
|
-
visited.add(memoryId);
|
|
467
|
-
const episode = audrey.db
|
|
468
|
-
.prepare('SELECT context, tags FROM episodes WHERE id = ? AND agent = ?')
|
|
469
|
-
.get(memoryId, audrey.agent);
|
|
470
|
-
if (episode) {
|
|
471
|
-
if (hasGlobalPreferenceTag(stringList(episode.tags)))
|
|
472
|
-
return true;
|
|
473
|
-
return contextBelongsToProject(parsedRecord(episode.context), namespace);
|
|
474
|
-
}
|
|
475
|
-
const event = audrey.db
|
|
476
|
-
.prepare('SELECT cwd FROM memory_events WHERE id = ? AND (actor_agent IS NULL OR actor_agent = ?)')
|
|
477
|
-
.get(memoryId, audrey.agent);
|
|
478
|
-
if (event)
|
|
479
|
-
return Boolean(event.cwd && projectNamespace(event.cwd) === namespace);
|
|
480
|
-
for (const table of ['semantics', 'procedures']) {
|
|
481
|
-
const derived = audrey.db
|
|
482
|
-
.prepare(`SELECT evidence_episode_ids FROM ${table} WHERE id = ? AND agent = ?`)
|
|
483
|
-
.get(memoryId, audrey.agent);
|
|
484
|
-
if (!derived)
|
|
485
|
-
continue;
|
|
486
|
-
const evidenceIds = stringList(derived.evidence_episode_ids);
|
|
487
|
-
return (evidenceIds.length > 0 &&
|
|
488
|
-
evidenceIds.every(id => memoryIdBelongsToProject(audrey, id, namespace, new Set(visited))));
|
|
489
|
-
}
|
|
490
|
-
const contradiction = audrey.db
|
|
491
|
-
.prepare('SELECT claim_a_id, claim_b_id FROM contradictions WHERE id = ?')
|
|
492
|
-
.get(memoryId);
|
|
493
|
-
return Boolean(contradiction &&
|
|
494
|
-
[contradiction.claim_a_id, contradiction.claim_b_id].every(id => memoryIdBelongsToProject(audrey, id, namespace, new Set(visited))));
|
|
495
|
-
}
|
|
496
|
-
function failureEntryBelongsToProject(audrey, entry, namespace) {
|
|
497
|
-
if (!entry.created_at)
|
|
498
|
-
return false;
|
|
499
|
-
const rows = audrey.db
|
|
500
|
-
.prepare(`
|
|
501
|
-
SELECT cwd FROM memory_events
|
|
502
|
-
WHERE created_at = ? AND actor_agent = ? AND outcome = 'failed'
|
|
503
|
-
`)
|
|
504
|
-
.all(entry.created_at, audrey.agent);
|
|
505
|
-
return rows.some(row => Boolean(row.cwd && projectNamespace(row.cwd) === namespace));
|
|
506
|
-
}
|
|
507
|
-
function entryBelongsToProject(audrey, entry, namespace) {
|
|
508
|
-
if (hasGlobalPreferenceTag(entry.tags))
|
|
509
|
-
return true;
|
|
510
|
-
if (entry.memory_type === 'tool_failure') {
|
|
511
|
-
return failureEntryBelongsToProject(audrey, entry, namespace);
|
|
512
|
-
}
|
|
513
|
-
return memoryIdBelongsToProject(audrey, entry.memory_id, namespace);
|
|
514
|
-
}
|
|
515
|
-
function scopeCapsuleToProject(audrey, capsule, namespace) {
|
|
516
|
-
const sections = {
|
|
517
|
-
must_follow: [],
|
|
518
|
-
project_facts: [],
|
|
519
|
-
user_preferences: [],
|
|
520
|
-
procedures: [],
|
|
521
|
-
risks: [],
|
|
522
|
-
recent_changes: [],
|
|
523
|
-
contradictions: [],
|
|
524
|
-
uncertain_or_disputed: [],
|
|
525
|
-
};
|
|
526
|
-
const evidenceIds = new Set();
|
|
527
|
-
let removedEntries = 0;
|
|
528
|
-
let usedChars = 0;
|
|
529
|
-
for (const [section] of CONTEXT_SECTIONS) {
|
|
530
|
-
for (const entry of capsule.sections[section]) {
|
|
531
|
-
if (!entryBelongsToProject(audrey, entry, namespace)) {
|
|
532
|
-
removedEntries += 1;
|
|
533
|
-
continue;
|
|
534
|
-
}
|
|
535
|
-
sections[section].push(entry);
|
|
536
|
-
evidenceIds.add(entry.memory_id);
|
|
537
|
-
for (const id of entry.evidence ?? [])
|
|
538
|
-
evidenceIds.add(id);
|
|
539
|
-
usedChars += entry.content.length + (entry.recommended_action?.length ?? 0);
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
return {
|
|
543
|
-
capsule: {
|
|
544
|
-
...capsule,
|
|
545
|
-
used_chars: usedChars,
|
|
546
|
-
sections,
|
|
547
|
-
evidence_ids: [...evidenceIds],
|
|
548
|
-
},
|
|
549
|
-
evidenceIds,
|
|
550
|
-
removedEntries,
|
|
551
|
-
};
|
|
552
|
-
}
|
|
553
444
|
/**
|
|
554
445
|
* Session-delta injection. The host keeps the whole conversation in context,
|
|
555
446
|
* so a memory injected at turn 1 is still visible at turn 40 — resending it
|
|
@@ -609,20 +500,12 @@ function clearInjectedIds(audrey, host, payload) {
|
|
|
609
500
|
* reclassified after injection reinjects with its new standing instead of
|
|
610
501
|
* leaving the session holding the stale version.
|
|
611
502
|
*/
|
|
612
|
-
function injectedEntryKey(entry) {
|
|
613
|
-
return entry.state ? `${entry.memory_id}@${entry.state}` : entry.memory_id;
|
|
614
|
-
}
|
|
615
|
-
/** Strips the `@state` suffix a tracked key may carry, back to a raw memory id. */
|
|
616
|
-
function rawMemoryId(key) {
|
|
617
|
-
const at = key.indexOf('@');
|
|
618
|
-
return at === -1 ? key : key.slice(0, at);
|
|
619
|
-
}
|
|
620
503
|
function filterInjectedEntries(capsule, seen) {
|
|
621
504
|
const sections = {};
|
|
622
505
|
const renderedKeys = [];
|
|
623
506
|
for (const [section, entries] of Object.entries(capsule.sections)) {
|
|
624
507
|
sections[section] = entries.filter(entry => {
|
|
625
|
-
const key =
|
|
508
|
+
const key = capsuleEntryKey(entry);
|
|
626
509
|
if (seen.has(key))
|
|
627
510
|
return false;
|
|
628
511
|
renderedKeys.push(key);
|
|
@@ -632,7 +515,7 @@ function filterInjectedEntries(capsule, seen) {
|
|
|
632
515
|
return { capsule: { ...capsule, sections }, renderedKeys };
|
|
633
516
|
}
|
|
634
517
|
function allEntryKeys(capsule) {
|
|
635
|
-
return Object.values(capsule.sections).flatMap(entries => entries.map(
|
|
518
|
+
return Object.values(capsule.sections).flatMap(entries => entries.map(capsuleEntryKey));
|
|
636
519
|
}
|
|
637
520
|
function contextQuery(event, payload) {
|
|
638
521
|
if (event === 'UserPromptSubmit') {
|
|
@@ -747,7 +630,6 @@ async function contextForHook(audrey, event, payload, options) {
|
|
|
747
630
|
const seen = injectedKey && event === 'UserPromptSubmit'
|
|
748
631
|
? loadInjectedIds(audrey, injectedKey, now)
|
|
749
632
|
: new Set();
|
|
750
|
-
const excludeIds = new Set([...seen].map(rawMemoryId));
|
|
751
633
|
// cwd scopes tool-failure risks even under scope: 'shared' — semantic
|
|
752
634
|
// knowledge is worth sharing across projects, but a failure streak in
|
|
753
635
|
// another repo says nothing about this one.
|
|
@@ -756,7 +638,7 @@ async function contextForHook(audrey, event, payload, options) {
|
|
|
756
638
|
mode: 'conservative',
|
|
757
639
|
scope: options.scope ?? 'agent',
|
|
758
640
|
cwd: text(payload.cwd) ?? process.cwd(),
|
|
759
|
-
...(
|
|
641
|
+
...(seen.size > 0 ? { excludeEntryKeys: seen } : {}),
|
|
760
642
|
recall: {
|
|
761
643
|
scope: options.scope ?? 'agent',
|
|
762
644
|
context: {
|
|
@@ -771,10 +653,8 @@ async function contextForHook(audrey, event, payload, options) {
|
|
|
771
653
|
: scopeCapsuleToProject(audrey, unscopedCapsule, namespace).capsule;
|
|
772
654
|
if (injectedKey) {
|
|
773
655
|
if (event === 'UserPromptSubmit') {
|
|
774
|
-
//
|
|
775
|
-
//
|
|
776
|
-
// filterInjectedEntries is the state-aware layer and stays as the
|
|
777
|
-
// safety net for whatever excludeIds does not fully dedupe.
|
|
656
|
+
// Keep the same version-aware identity through budget selection and
|
|
657
|
+
// final injection bookkeeping.
|
|
778
658
|
const filtered = filterInjectedEntries(capsule, seen);
|
|
779
659
|
capsule = filtered.capsule;
|
|
780
660
|
if (filtered.renderedKeys.length > 0) {
|
|
@@ -811,76 +691,6 @@ function guardExplanation(result) {
|
|
|
811
691
|
lines.push(`Evidence: ${result.evidenceIds.slice(0, 6).join(', ')}`);
|
|
812
692
|
return lines.join('\n');
|
|
813
693
|
}
|
|
814
|
-
function projectScopedGuardResult(audrey, result, namespace) {
|
|
815
|
-
if (!result.capsule)
|
|
816
|
-
return result;
|
|
817
|
-
const scoped = scopeCapsuleToProject(audrey, result.capsule, namespace);
|
|
818
|
-
if (scoped.removedEntries === 0)
|
|
819
|
-
return result;
|
|
820
|
-
const evidenceIds = result.evidenceIds.filter(id => scoped.evidenceIds.has(id) || memoryIdBelongsToProject(audrey, id, namespace));
|
|
821
|
-
const hasMemoryHealthFailure = result.recommendedActions.some(action => /memory index|reembed/i.test(action));
|
|
822
|
-
const hasProjectRisk = scoped.capsule.sections.must_follow.length > 0 ||
|
|
823
|
-
scoped.capsule.sections.risks.length > 0 ||
|
|
824
|
-
scoped.capsule.sections.contradictions.length > 0 ||
|
|
825
|
-
scoped.capsule.sections.uncertain_or_disputed.length > 0;
|
|
826
|
-
const hasProjectFailure = evidenceIds.some(id => {
|
|
827
|
-
const event = audrey.db
|
|
828
|
-
.prepare(`
|
|
829
|
-
SELECT cwd FROM memory_events
|
|
830
|
-
WHERE id = ? AND actor_agent = ? AND outcome = 'failed'
|
|
831
|
-
`)
|
|
832
|
-
.get(id, audrey.agent);
|
|
833
|
-
return Boolean(event?.cwd && projectNamespace(event.cwd) === namespace);
|
|
834
|
-
});
|
|
835
|
-
const reflexes = result.reflexes.filter(reflex => reflex.source === 'memory_health' ||
|
|
836
|
-
Boolean(reflex.evidence_id && evidenceIds.includes(reflex.evidence_id)));
|
|
837
|
-
const warnings = result.warnings.filter(warning => warning.type === 'memory_health' ||
|
|
838
|
-
!warning.evidence_id ||
|
|
839
|
-
evidenceIds.includes(warning.evidence_id));
|
|
840
|
-
if (result.decision !== 'allow' &&
|
|
841
|
-
!hasProjectRisk &&
|
|
842
|
-
!hasProjectFailure &&
|
|
843
|
-
!hasMemoryHealthFailure) {
|
|
844
|
-
return {
|
|
845
|
-
...result,
|
|
846
|
-
decision: 'allow',
|
|
847
|
-
riskScore: 0,
|
|
848
|
-
summary: 'Allowed: memory signals from other projects were excluded by Autopilot isolation.',
|
|
849
|
-
warnings: [],
|
|
850
|
-
evidenceIds: [],
|
|
851
|
-
recommendedActions: [],
|
|
852
|
-
capsule: scoped.capsule,
|
|
853
|
-
reflexes: [],
|
|
854
|
-
};
|
|
855
|
-
}
|
|
856
|
-
const recommendedActions = [];
|
|
857
|
-
if (hasProjectFailure) {
|
|
858
|
-
recommendedActions.push('Review the project-scoped prior failure before retrying the same action.');
|
|
859
|
-
}
|
|
860
|
-
if (scoped.capsule.sections.must_follow.length > 0) {
|
|
861
|
-
recommendedActions.push('Review and apply the project-scoped verified-rule evidence before acting.');
|
|
862
|
-
}
|
|
863
|
-
if (scoped.capsule.sections.risks.length > 0) {
|
|
864
|
-
recommendedActions.push('Mitigate the project-scoped risk evidence before acting.');
|
|
865
|
-
}
|
|
866
|
-
if (scoped.capsule.sections.contradictions.length > 0) {
|
|
867
|
-
recommendedActions.push('Resolve the project-scoped contradiction before relying on either claim.');
|
|
868
|
-
}
|
|
869
|
-
if (scoped.capsule.sections.uncertain_or_disputed.length > 0) {
|
|
870
|
-
recommendedActions.push('Verify the project-scoped uncertain evidence before relying on it.');
|
|
871
|
-
}
|
|
872
|
-
if (hasMemoryHealthFailure) {
|
|
873
|
-
recommendedActions.push('Repair Audrey memory health before relying on recall-sensitive decisions.');
|
|
874
|
-
}
|
|
875
|
-
return {
|
|
876
|
-
...result,
|
|
877
|
-
warnings,
|
|
878
|
-
evidenceIds,
|
|
879
|
-
recommendedActions,
|
|
880
|
-
capsule: scoped.capsule,
|
|
881
|
-
reflexes,
|
|
882
|
-
};
|
|
883
|
-
}
|
|
884
694
|
function updateReceiptCorrelation(audrey, receiptId, payload, host, rawActionHash, result) {
|
|
885
695
|
const row = audrey.db
|
|
886
696
|
.prepare('SELECT metadata FROM memory_events WHERE id = ?')
|
|
@@ -926,7 +736,7 @@ async function guardBeforeHook(audrey, payload, options) {
|
|
|
926
736
|
return { event: 'PreToolUse', output: {} };
|
|
927
737
|
const controller = new MemoryController(audrey);
|
|
928
738
|
const retryAcknowledged = hasRetryIntent(audrey, payload, options);
|
|
929
|
-
const
|
|
739
|
+
const result = await controller.beforeAction({
|
|
930
740
|
action: action.action,
|
|
931
741
|
command: action.command,
|
|
932
742
|
actionDigest: action.rawActionHash,
|
|
@@ -936,10 +746,10 @@ async function guardBeforeHook(audrey, payload, options) {
|
|
|
936
746
|
sessionId: sessionId(payload),
|
|
937
747
|
signatures: action.signatures,
|
|
938
748
|
acknowledgePriorFailure: retryAcknowledged,
|
|
749
|
+
}, {
|
|
750
|
+
scope: options.scope ?? 'agent',
|
|
751
|
+
projectNamespace: options.scope === 'shared' ? undefined : payloadProjectNamespace(payload),
|
|
939
752
|
});
|
|
940
|
-
const result = options.scope === 'shared'
|
|
941
|
-
? unscopedResult
|
|
942
|
-
: projectScopedGuardResult(audrey, unscopedResult, payloadProjectNamespace(payload));
|
|
943
753
|
if (retryAcknowledged && /prior failure acknowledged/i.test(result.summary)) {
|
|
944
754
|
consumeRetryIntent(audrey, payload, options.host);
|
|
945
755
|
}
|
|
@@ -1063,7 +873,18 @@ function correlatedReceipt(audrey, payload, host) {
|
|
|
1063
873
|
return row?.id;
|
|
1064
874
|
}
|
|
1065
875
|
async function learnFailure(audrey, payload, host, receiptId) {
|
|
1066
|
-
|
|
876
|
+
// Result verification can fail even when the tool reports no error. Read
|
|
877
|
+
// the persisted outcome so first delivery and duplicate hooks learn the
|
|
878
|
+
// same verified failure, including retries after an interrupted encode.
|
|
879
|
+
const recorded = audrey.db
|
|
880
|
+
.prepare(`SELECT error_summary FROM memory_events
|
|
881
|
+
WHERE receipt_id = ? AND actor_agent = ?
|
|
882
|
+
AND event_type = 'PostToolUseFailure' AND outcome = 'failed'
|
|
883
|
+
ORDER BY created_at DESC, id DESC LIMIT 1`)
|
|
884
|
+
.get(receiptId, audrey.agent);
|
|
885
|
+
const summary = recorded?.error_summary
|
|
886
|
+
? safeMemoryText(recorded.error_summary, 1600)
|
|
887
|
+
: errorSummary(payload);
|
|
1067
888
|
if (!summary)
|
|
1068
889
|
return undefined;
|
|
1069
890
|
const action = summarizeAction(payload);
|
|
@@ -1102,7 +923,7 @@ async function learnFailure(audrey, payload, host, receiptId) {
|
|
|
1102
923
|
});
|
|
1103
924
|
}
|
|
1104
925
|
async function guardAfterHook(audrey, event, payload, options) {
|
|
1105
|
-
|
|
926
|
+
let outcome = inferAutopilotOutcome(payload, event, options.host);
|
|
1106
927
|
const existing = existingAutopilotOutcome(audrey, payload, options.host);
|
|
1107
928
|
if (existing) {
|
|
1108
929
|
const learnedFailureId = existing.outcome === 'failed' && existing.receiptId && !existing.learnedFailureId
|
|
@@ -1132,7 +953,7 @@ async function guardAfterHook(audrey, event, payload, options) {
|
|
|
1132
953
|
...(action.readOnly ? { read_only: true } : {}),
|
|
1133
954
|
};
|
|
1134
955
|
if (receiptId) {
|
|
1135
|
-
audrey.afterAction({
|
|
956
|
+
const recorded = audrey.afterAction({
|
|
1136
957
|
receiptId,
|
|
1137
958
|
tool: toolName(payload),
|
|
1138
959
|
sessionId: sessionId(payload),
|
|
@@ -1144,6 +965,7 @@ async function guardAfterHook(audrey, event, payload, options) {
|
|
|
1144
965
|
files: action.files,
|
|
1145
966
|
metadata,
|
|
1146
967
|
});
|
|
968
|
+
outcome = recorded.outcome;
|
|
1147
969
|
}
|
|
1148
970
|
else {
|
|
1149
971
|
const controller = new MemoryController(audrey);
|
|
@@ -1251,12 +1073,13 @@ function runEventRetention(audrey, options) {
|
|
|
1251
1073
|
function runGroundingSweep(audrey, options, cwd) {
|
|
1252
1074
|
const intervalMs = (options.maintenanceIntervalHours ?? 24) * 60 * 60 * 1000;
|
|
1253
1075
|
const now = options.now ?? new Date();
|
|
1254
|
-
const
|
|
1076
|
+
const root = checkoutRoot(cwd ?? process.cwd());
|
|
1077
|
+
const lastKey = `autopilot_last_grounding:${sha256(`${audrey.agent}\n${root}`)}`;
|
|
1255
1078
|
const last = audrey.db.prepare('SELECT value FROM audrey_config WHERE key = ?').get(lastKey);
|
|
1256
1079
|
if (last && now.getTime() - Date.parse(last.value) < intervalMs)
|
|
1257
1080
|
return;
|
|
1258
1081
|
try {
|
|
1259
|
-
const report = audrey.ground({ projectRoot:
|
|
1082
|
+
const report = audrey.ground({ projectRoot: root, now });
|
|
1260
1083
|
audrey.db
|
|
1261
1084
|
.prepare(`INSERT INTO audrey_config (key, value) VALUES (?, ?)
|
|
1262
1085
|
ON CONFLICT(key) DO UPDATE SET value = excluded.value`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../src/autopilot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../src/autopilot.ts"],"names":[],"mappings":"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"}
|