audrey 0.20.0 → 0.21.0

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +170 -115
  3. package/dist/mcp-server/config.d.ts +25 -1
  4. package/dist/mcp-server/config.d.ts.map +1 -1
  5. package/dist/mcp-server/config.js +97 -12
  6. package/dist/mcp-server/config.js.map +1 -1
  7. package/dist/mcp-server/index.d.ts +83 -2
  8. package/dist/mcp-server/index.d.ts.map +1 -1
  9. package/dist/mcp-server/index.js +453 -36
  10. package/dist/mcp-server/index.js.map +1 -1
  11. package/dist/src/audrey.d.ts +4 -0
  12. package/dist/src/audrey.d.ts.map +1 -1
  13. package/dist/src/audrey.js +12 -0
  14. package/dist/src/audrey.js.map +1 -1
  15. package/dist/src/index.d.ts +4 -0
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +2 -0
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/preflight.d.ts +51 -0
  20. package/dist/src/preflight.d.ts.map +1 -0
  21. package/dist/src/preflight.js +201 -0
  22. package/dist/src/preflight.js.map +1 -0
  23. package/dist/src/reflexes.d.ts +35 -0
  24. package/dist/src/reflexes.d.ts.map +1 -0
  25. package/dist/src/reflexes.js +87 -0
  26. package/dist/src/reflexes.js.map +1 -0
  27. package/dist/src/routes.d.ts.map +1 -1
  28. package/dist/src/routes.js +84 -7
  29. package/dist/src/routes.js.map +1 -1
  30. package/docs/assets/audrey-feature-grid.jpg +0 -0
  31. package/docs/assets/audrey-logo.svg +45 -0
  32. package/docs/assets/audrey-wordmark.png +0 -0
  33. package/docs/audrey-for-dummies.md +670 -0
  34. package/docs/future-of-llm-memory.md +452 -0
  35. package/docs/mcp-hosts.md +206 -0
  36. package/docs/ollama-local-agents.md +128 -0
  37. package/docs/production-readiness.md +11 -7
  38. package/examples/ollama-memory-agent.js +326 -0
  39. package/package.json +21 -2
@@ -0,0 +1,201 @@
1
+ const SEVERITY_SCORE = {
2
+ info: 0.1,
3
+ low: 0.25,
4
+ medium: 0.55,
5
+ high: 0.85,
6
+ };
7
+ function isNonEmptyText(value) {
8
+ return value.trim().length > 0;
9
+ }
10
+ function shorten(value, max = 320) {
11
+ const text = value.replace(/\s+/g, ' ').trim();
12
+ if (text.length <= max)
13
+ return text;
14
+ return `${text.slice(0, max - 1)}...`;
15
+ }
16
+ function matchesToolOrAction(action, requestedTool, failedTool) {
17
+ if (!failedTool)
18
+ return false;
19
+ const failed = failedTool.toLowerCase();
20
+ const tool = requestedTool?.toLowerCase();
21
+ const actionText = action.toLowerCase();
22
+ return Boolean((tool && (failed === tool || failed.includes(tool) || tool.includes(failed)))
23
+ || actionText.includes(failed));
24
+ }
25
+ function warningFromEntry(type, severity, entry, fallbackAction) {
26
+ return {
27
+ type,
28
+ severity,
29
+ message: shorten(entry.content),
30
+ reason: entry.reason,
31
+ evidence_id: entry.memory_id,
32
+ recommended_action: entry.recommended_action ?? fallbackAction,
33
+ };
34
+ }
35
+ function addWarning(warnings, seen, warning) {
36
+ const key = `${warning.type}:${warning.evidence_id ?? warning.message}`;
37
+ if (seen.has(key))
38
+ return;
39
+ seen.add(key);
40
+ warnings.push(warning);
41
+ }
42
+ function recommendationFromWarning(warning) {
43
+ if (warning.recommended_action)
44
+ return warning.recommended_action;
45
+ switch (warning.type) {
46
+ case 'recent_failure':
47
+ return 'Review the prior failure before running the same tool again.';
48
+ case 'must_follow':
49
+ return 'Apply the must-follow memory before acting.';
50
+ case 'risk':
51
+ return 'Mitigate the remembered risk before proceeding.';
52
+ case 'procedure':
53
+ return 'Use the remembered procedure as the execution path.';
54
+ case 'contradiction':
55
+ return 'Resolve or scope the contradiction before relying on either claim.';
56
+ case 'uncertain':
57
+ return 'Treat the low-confidence memory as a check, not as settled truth.';
58
+ case 'memory_health':
59
+ return 'Repair memory health before relying on recall-sensitive decisions.';
60
+ }
61
+ }
62
+ function buildSummary(decision, warnings) {
63
+ if (warnings.length === 0) {
64
+ return 'No relevant memory risks, prior failures, or must-follow procedures were found.';
65
+ }
66
+ const high = warnings.filter(w => w.severity === 'high').length;
67
+ const medium = warnings.filter(w => w.severity === 'medium').length;
68
+ const parts = [`${warnings.length} memory signal${warnings.length === 1 ? '' : 's'}`];
69
+ if (high > 0)
70
+ parts.push(`${high} high severity`);
71
+ if (medium > 0)
72
+ parts.push(`${medium} medium severity`);
73
+ return `${decision === 'block' ? 'Blocked' : 'Caution'}: ${parts.join(', ')} found before acting.`;
74
+ }
75
+ export async function buildPreflight(audrey, action, options = {}) {
76
+ if (!isNonEmptyText(action)) {
77
+ throw new Error('action must be a non-empty string');
78
+ }
79
+ const queryParts = [
80
+ action.trim(),
81
+ options.tool ? `tool:${options.tool}` : '',
82
+ options.cwd ? `cwd:${options.cwd}` : '',
83
+ ].filter(Boolean);
84
+ const query = queryParts.join('\n');
85
+ const capsule = await audrey.capsule(query, {
86
+ limit: options.limit ?? 12,
87
+ budgetChars: options.budgetChars ?? 3000,
88
+ mode: options.mode ?? 'conservative',
89
+ recentChangeWindowHours: options.recentChangeWindowHours ?? 72,
90
+ includeRisks: true,
91
+ includeContradictions: true,
92
+ });
93
+ const warnings = [];
94
+ const seen = new Set();
95
+ const includeStatus = options.includeStatus ?? true;
96
+ const status = includeStatus ? audrey.memoryStatus() : undefined;
97
+ if (status && !status.healthy) {
98
+ addWarning(warnings, seen, {
99
+ type: 'memory_health',
100
+ severity: 'high',
101
+ message: 'Audrey memory index is unhealthy; recall may be incomplete or stale.',
102
+ reason: 'memoryStatus().healthy is false.',
103
+ recommended_action: 'Run npx audrey status and npx audrey reembed before depending on memory.',
104
+ });
105
+ }
106
+ else if (status?.reembed_recommended) {
107
+ addWarning(warnings, seen, {
108
+ type: 'memory_health',
109
+ severity: 'medium',
110
+ message: 'Audrey recommends re-embedding before recall-sensitive work.',
111
+ reason: 'memoryStatus().reembed_recommended is true.',
112
+ recommended_action: 'Run npx audrey reembed during a safe maintenance window.',
113
+ });
114
+ }
115
+ const since = new Date(Date.now() - (options.recentFailureWindowHours ?? 168) * 60 * 60 * 1000).toISOString();
116
+ const recentFailures = audrey.recentFailures({ since, limit: 20 });
117
+ const matchingFailures = [];
118
+ for (const failure of recentFailures) {
119
+ if (!matchesToolOrAction(action, options.tool, failure.tool_name))
120
+ continue;
121
+ matchingFailures.push(failure);
122
+ const toolLabel = failure.tool_name || options.tool || 'tool';
123
+ addWarning(warnings, seen, {
124
+ type: 'recent_failure',
125
+ severity: failure.failure_count >= 3 ? 'high' : 'medium',
126
+ message: failure.last_error_summary
127
+ ? `${toolLabel} failed ${failure.failure_count}x recently: ${shorten(failure.last_error_summary, 220)}`
128
+ : `${toolLabel} failed ${failure.failure_count}x recently.`,
129
+ reason: 'Matched a recent failed tool event for this action.',
130
+ evidence_id: `failure:${toolLabel}:${failure.last_failed_at}`,
131
+ recommended_action: `Before re-running ${toolLabel}, check what changed since the last failure.`,
132
+ });
133
+ }
134
+ for (const entry of capsule.sections.must_follow) {
135
+ addWarning(warnings, seen, warningFromEntry('must_follow', 'high', entry, 'Apply this must-follow rule before acting.'));
136
+ }
137
+ for (const entry of capsule.sections.risks) {
138
+ addWarning(warnings, seen, warningFromEntry(entry.memory_type === 'tool_failure' ? 'recent_failure' : 'risk', entry.memory_type === 'tool_failure' ? 'medium' : 'high', entry, 'Mitigate this remembered risk before proceeding.'));
139
+ }
140
+ for (const entry of capsule.sections.procedures) {
141
+ addWarning(warnings, seen, warningFromEntry('procedure', 'info', entry, 'Use this remembered procedure as guidance.'));
142
+ }
143
+ for (const entry of capsule.sections.contradictions) {
144
+ addWarning(warnings, seen, warningFromEntry('contradiction', 'high', entry, 'Resolve or scope this contradiction before acting.'));
145
+ }
146
+ for (const entry of capsule.sections.uncertain_or_disputed) {
147
+ addWarning(warnings, seen, warningFromEntry('uncertain', 'medium', entry, 'Treat this as uncertain context and verify before relying on it.'));
148
+ }
149
+ warnings.sort((a, b) => SEVERITY_SCORE[b.severity] - SEVERITY_SCORE[a.severity]);
150
+ const riskScore = warnings.reduce((score, warning) => Math.max(score, SEVERITY_SCORE[warning.severity]), 0);
151
+ const hasHigh = warnings.some(w => w.severity === 'high');
152
+ const hasMedium = warnings.some(w => w.severity === 'medium');
153
+ const decision = options.strict && hasHigh
154
+ ? 'block'
155
+ : hasHigh || hasMedium
156
+ ? 'caution'
157
+ : 'go';
158
+ const verdict = decision === 'go' ? 'clear' : decision === 'block' ? 'blocked' : 'caution';
159
+ const recommendedActions = [...new Set(warnings.map(recommendationFromWarning))];
160
+ if (decision === 'block') {
161
+ recommendedActions.unshift('Do not proceed until the high-severity memory warning is addressed.');
162
+ }
163
+ const preflightEvent = options.recordEvent && options.tool
164
+ ? audrey.observeTool({
165
+ event: 'PreToolUse',
166
+ tool: options.tool,
167
+ sessionId: options.sessionId,
168
+ input: { action: action.trim(), tool: options.tool },
169
+ outcome: 'unknown',
170
+ cwd: options.cwd,
171
+ files: options.files,
172
+ metadata: {
173
+ preflight_decision: decision,
174
+ preflight_warning_count: warnings.length,
175
+ },
176
+ }).event
177
+ : undefined;
178
+ return {
179
+ action: action.trim(),
180
+ query,
181
+ tool: options.tool,
182
+ cwd: options.cwd,
183
+ generated_at: new Date().toISOString(),
184
+ decision,
185
+ verdict,
186
+ ok_to_proceed: decision !== 'block',
187
+ risk_score: Number(riskScore.toFixed(2)),
188
+ summary: buildSummary(decision, warnings),
189
+ warnings,
190
+ recent_failures: matchingFailures,
191
+ ...(status ? { status } : {}),
192
+ recommended_actions: recommendedActions,
193
+ evidence_ids: [...new Set([
194
+ ...capsule.evidence_ids,
195
+ ...warnings.map(w => w.evidence_id).filter((id) => Boolean(id)),
196
+ ])],
197
+ ...(preflightEvent ? { preflight_event_id: preflightEvent.id } : {}),
198
+ ...(options.includeCapsule === false ? {} : { capsule }),
199
+ };
200
+ }
201
+ //# sourceMappingURL=preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { Audrey } from './audrey.js';
2
+ import { type MemoryPreflight, type PreflightDecision, type PreflightOptions, type PreflightSeverity, type PreflightWarningType } from './preflight.js';
3
+ export type ReflexResponseType = 'guide' | 'warn' | 'block';
4
+ export interface MemoryReflex {
5
+ id: string;
6
+ trigger: string;
7
+ response_type: ReflexResponseType;
8
+ severity: PreflightSeverity;
9
+ source: PreflightWarningType;
10
+ response: string;
11
+ reason: string;
12
+ evidence_id?: string;
13
+ action: string;
14
+ tool?: string;
15
+ cwd?: string;
16
+ }
17
+ export interface ReflexOptions extends PreflightOptions {
18
+ includePreflight?: boolean;
19
+ }
20
+ export interface MemoryReflexReport {
21
+ action: string;
22
+ query: string;
23
+ tool?: string;
24
+ cwd?: string;
25
+ generated_at: string;
26
+ decision: PreflightDecision;
27
+ risk_score: number;
28
+ summary: string;
29
+ reflexes: MemoryReflex[];
30
+ evidence_ids: string[];
31
+ recommended_actions: string[];
32
+ preflight?: MemoryPreflight;
33
+ }
34
+ export declare function buildReflexReport(audrey: Audrey, action: string, options?: ReflexOptions): Promise<MemoryReflexReport>;
35
+ //# sourceMappingURL=reflexes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflexes.d.ts","sourceRoot":"","sources":["../../src/reflexes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAsDD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAkC7B"}
@@ -0,0 +1,87 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { buildPreflight, } from './preflight.js';
3
+ function reflexId(warning, action, tool) {
4
+ const input = [
5
+ warning.type,
6
+ warning.evidence_id ?? '',
7
+ warning.message,
8
+ action,
9
+ tool ?? '',
10
+ ].join('\n');
11
+ return `reflex_${createHash('sha256').update(input).digest('hex').slice(0, 12)}`;
12
+ }
13
+ function responseType(warning, decision) {
14
+ if (decision === 'block' && warning.severity === 'high')
15
+ return 'block';
16
+ if (warning.type === 'procedure' && warning.severity === 'info')
17
+ return 'guide';
18
+ return 'warn';
19
+ }
20
+ function triggerFor(warning, action, tool) {
21
+ if (warning.type === 'recent_failure' && tool) {
22
+ return `Before using ${tool}`;
23
+ }
24
+ if (warning.type === 'memory_health') {
25
+ return 'Before relying on Audrey recall';
26
+ }
27
+ if (tool) {
28
+ return `Before ${tool}: ${action}`;
29
+ }
30
+ return `Before: ${action}`;
31
+ }
32
+ function responseFor(warning) {
33
+ if (warning.recommended_action && (warning.type === 'must_follow' || warning.type === 'risk')) {
34
+ return `${warning.recommended_action} ${warning.message}`;
35
+ }
36
+ return warning.recommended_action ?? warning.message;
37
+ }
38
+ function summarizeReflexes(decision, reflexes) {
39
+ if (reflexes.length === 0) {
40
+ return 'No active memory reflexes matched this action.';
41
+ }
42
+ const blocks = reflexes.filter(r => r.response_type === 'block').length;
43
+ const warnings = reflexes.filter(r => r.response_type === 'warn').length;
44
+ const guides = reflexes.filter(r => r.response_type === 'guide').length;
45
+ const parts = [`${reflexes.length} memory reflex${reflexes.length === 1 ? '' : 'es'}`];
46
+ if (blocks > 0)
47
+ parts.push(`${blocks} blocking`);
48
+ if (warnings > 0)
49
+ parts.push(`${warnings} warning`);
50
+ if (guides > 0)
51
+ parts.push(`${guides} guidance`);
52
+ return `${decision === 'block' ? 'Stop' : decision === 'caution' ? 'Slow down' : 'Proceed'}: ${parts.join(', ')} matched.`;
53
+ }
54
+ export async function buildReflexReport(audrey, action, options = {}) {
55
+ const preflight = await buildPreflight(audrey, action, {
56
+ ...options,
57
+ includeCapsule: options.includeCapsule ?? false,
58
+ });
59
+ const reflexes = preflight.warnings.map((warning) => ({
60
+ id: reflexId(warning, preflight.action, preflight.tool),
61
+ trigger: triggerFor(warning, preflight.action, preflight.tool),
62
+ response_type: responseType(warning, preflight.decision),
63
+ severity: warning.severity,
64
+ source: warning.type,
65
+ response: responseFor(warning),
66
+ reason: warning.reason,
67
+ ...(warning.evidence_id ? { evidence_id: warning.evidence_id } : {}),
68
+ action: preflight.action,
69
+ ...(preflight.tool ? { tool: preflight.tool } : {}),
70
+ ...(preflight.cwd ? { cwd: preflight.cwd } : {}),
71
+ }));
72
+ return {
73
+ action: preflight.action,
74
+ query: preflight.query,
75
+ ...(preflight.tool ? { tool: preflight.tool } : {}),
76
+ ...(preflight.cwd ? { cwd: preflight.cwd } : {}),
77
+ generated_at: new Date().toISOString(),
78
+ decision: preflight.decision,
79
+ risk_score: preflight.risk_score,
80
+ summary: summarizeReflexes(preflight.decision, reflexes),
81
+ reflexes,
82
+ evidence_ids: preflight.evidence_ids,
83
+ recommended_actions: preflight.recommended_actions,
84
+ ...(options.includePreflight ? { preflight } : {}),
85
+ };
86
+ }
87
+ //# sourceMappingURL=reflexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflexes.js","sourceRoot":"","sources":["../../src/reflexes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,IAAI,CAiOxE"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsDD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,IAAI,CA2RxE"}
@@ -1,11 +1,33 @@
1
1
  import { Hono } from 'hono';
2
2
  import { VERSION } from '../mcp-server/config.js';
3
+ function actionFromBody(body) {
4
+ return body.action ?? body.query;
5
+ }
6
+ function preflightOptionsFromBody(body) {
7
+ return {
8
+ tool: body.tool,
9
+ sessionId: body.session_id ?? body.sessionId,
10
+ cwd: body.cwd,
11
+ files: body.files,
12
+ strict: body.strict,
13
+ limit: body.limit,
14
+ budgetChars: body.budget_chars ?? body.budgetChars,
15
+ mode: body.mode,
16
+ recentFailureWindowHours: body.failure_window_hours
17
+ ?? body.recent_failure_window_hours
18
+ ?? body.recentFailureWindowHours,
19
+ recentChangeWindowHours: body.recent_change_window_hours ?? body.recentChangeWindowHours,
20
+ includeCapsule: body.include_capsule ?? body.includeCapsule,
21
+ includeStatus: body.include_status ?? body.includeStatus,
22
+ recordEvent: body.record_event ?? body.recordEvent,
23
+ };
24
+ }
3
25
  export function createApp(audrey, options = {}) {
4
26
  const app = new Hono();
5
- // Health check no auth required.
27
+ // Health check - no auth required.
6
28
  // Fields kept for backward compatibility across Audrey client surfaces:
7
- // status / healthy original TS-era field names (tests/http-api.test.js)
8
- // ok / version Python SDK HealthResponse contract
29
+ // status / healthy - original TS-era field names (tests/http-api.test.js)
30
+ // ok / version - Python SDK HealthResponse contract
9
31
  // (python/audrey_memory/types.py)
10
32
  app.get('/health', (c) => {
11
33
  try {
@@ -26,7 +48,7 @@ export function createApp(audrey, options = {}) {
26
48
  }, 500);
27
49
  }
28
50
  });
29
- // API key middleware only if apiKey is configured
51
+ // API key middleware - only if apiKey is configured
30
52
  if (options.apiKey) {
31
53
  app.use('/v1/*', async (c, next) => {
32
54
  const auth = c.req.header('Authorization');
@@ -69,6 +91,64 @@ export function createApp(audrey, options = {}) {
69
91
  return c.json({ error: message }, 400);
70
92
  }
71
93
  });
94
+ // POST /v1/capsule
95
+ app.post('/v1/capsule', async (c) => {
96
+ try {
97
+ const body = await c.req.json();
98
+ if (typeof body.query !== 'string' || body.query.trim().length === 0) {
99
+ return c.json({ error: 'query must be a non-empty string' }, 400);
100
+ }
101
+ const result = await audrey.capsule(body.query, {
102
+ limit: body.limit,
103
+ budgetChars: body.budget_chars ?? body.budgetChars,
104
+ mode: body.mode,
105
+ recentChangeWindowHours: body.recent_change_window_hours ?? body.recentChangeWindowHours,
106
+ includeRisks: body.include_risks ?? body.includeRisks,
107
+ includeContradictions: body.include_contradictions ?? body.includeContradictions,
108
+ recall: body.recall,
109
+ });
110
+ return c.json(result);
111
+ }
112
+ catch (err) {
113
+ const message = err instanceof Error ? err.message : String(err);
114
+ return c.json({ error: message }, 400);
115
+ }
116
+ });
117
+ // POST /v1/preflight
118
+ app.post('/v1/preflight', async (c) => {
119
+ try {
120
+ const body = await c.req.json();
121
+ const action = actionFromBody(body);
122
+ if (typeof action !== 'string' || action.trim().length === 0) {
123
+ return c.json({ error: 'action must be a non-empty string' }, 400);
124
+ }
125
+ const result = await audrey.preflight(action, preflightOptionsFromBody(body));
126
+ return c.json(result);
127
+ }
128
+ catch (err) {
129
+ const message = err instanceof Error ? err.message : String(err);
130
+ return c.json({ error: message }, 400);
131
+ }
132
+ });
133
+ // POST /v1/reflexes
134
+ app.post('/v1/reflexes', async (c) => {
135
+ try {
136
+ const body = await c.req.json();
137
+ const action = actionFromBody(body);
138
+ if (typeof action !== 'string' || action.trim().length === 0) {
139
+ return c.json({ error: 'action must be a non-empty string' }, 400);
140
+ }
141
+ const result = await audrey.reflexes(action, {
142
+ ...preflightOptionsFromBody(body),
143
+ includePreflight: body.include_preflight ?? body.includePreflight,
144
+ });
145
+ return c.json(result);
146
+ }
147
+ catch (err) {
148
+ const message = err instanceof Error ? err.message : String(err);
149
+ return c.json({ error: message }, 400);
150
+ }
151
+ });
72
152
  // POST /v1/consolidate
73
153
  app.post('/v1/consolidate', async (c) => {
74
154
  try {
@@ -93,7 +173,6 @@ export function createApp(audrey, options = {}) {
93
173
  return c.json({ error: message }, 500);
94
174
  }
95
175
  });
96
- // GET /v1/introspect
97
176
  app.get('/v1/introspect', (c) => {
98
177
  try {
99
178
  const result = audrey.introspect();
@@ -116,7 +195,6 @@ export function createApp(audrey, options = {}) {
116
195
  return c.json({ error: message }, 400);
117
196
  }
118
197
  });
119
- // GET /v1/export
120
198
  app.get('/v1/export', (c) => {
121
199
  try {
122
200
  const snapshot = audrey.export();
@@ -186,7 +264,6 @@ export function createApp(audrey, options = {}) {
186
264
  return c.json({ error: message }, 500);
187
265
  }
188
266
  });
189
- // GET /v1/status
190
267
  app.get('/v1/status', (c) => {
191
268
  try {
192
269
  const result = audrey.memoryStatus();
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAMlD,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,UAAsB,EAAE;IAChE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,mCAAmC;IACnC,wEAAwE;IACxE,6EAA6E;IAC7E,2DAA2D;IAC3D,wDAAwD;IACxD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,IAAI;gBACZ,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,OAAO;gBACf,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,OAAO;aACjB,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;QACpG,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;YAE/C,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kDAAkD,EAAE,EAAE,GAAG,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;oBACpD,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC1B,gBAAgB,EAAG,IAAgC,CAAC,gBAAsC;gBAC1F,SAAS,EAAG,IAAgC,CAAC,SAA+C;aAC7F,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAG,IAAgC,CAAC,OAA6B,EAAE,CAAC,CAAC;YACnH,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="960" height="300" viewBox="0 0 960 300" role="img" aria-labelledby="title desc">
2
+ <title id="title">Audrey logo</title>
3
+ <desc id="desc">A luminous memory orb and Audrey wordmark for a local-first AI memory runtime.</desc>
4
+ <defs>
5
+ <radialGradient id="orb" cx="42%" cy="35%" r="70%">
6
+ <stop offset="0%" stop-color="#f7dfad"/>
7
+ <stop offset="42%" stop-color="#d08f61"/>
8
+ <stop offset="78%" stop-color="#3b5f72"/>
9
+ <stop offset="100%" stop-color="#172a31"/>
10
+ </radialGradient>
11
+ <linearGradient id="ring" x1="68" x2="242" y1="56" y2="238" gradientUnits="userSpaceOnUse">
12
+ <stop offset="0%" stop-color="#f2c777"/>
13
+ <stop offset="50%" stop-color="#78a6ad"/>
14
+ <stop offset="100%" stop-color="#273d45"/>
15
+ </linearGradient>
16
+ <linearGradient id="word" x1="302" x2="814" y1="94" y2="218" gradientUnits="userSpaceOnUse">
17
+ <stop offset="0%" stop-color="#f4d7a1"/>
18
+ <stop offset="46%" stop-color="#d08f61"/>
19
+ <stop offset="100%" stop-color="#85aeb2"/>
20
+ </linearGradient>
21
+ <filter id="softGlow" x="-30%" y="-30%" width="160%" height="160%">
22
+ <feGaussianBlur stdDeviation="8" result="blur"/>
23
+ <feMerge>
24
+ <feMergeNode in="blur"/>
25
+ <feMergeNode in="SourceGraphic"/>
26
+ </feMerge>
27
+ </filter>
28
+ </defs>
29
+
30
+ <rect width="960" height="300" rx="36" fill="#0f171a"/>
31
+ <path d="M54 228C131 266 220 247 274 181C324 120 320 61 270 42C224 25 154 50 103 99C56 144 30 193 54 228Z" fill="#122126"/>
32
+ <circle cx="158" cy="150" r="74" fill="url(#orb)" filter="url(#softGlow)"/>
33
+ <path d="M105 163C126 138 151 128 180 134C204 139 219 154 222 177" fill="none" stroke="#f8e7c7" stroke-width="8" stroke-linecap="round"/>
34
+ <path d="M98 132C123 106 153 98 188 108C214 115 233 132 244 159" fill="none" stroke="#1d3037" stroke-width="10" stroke-linecap="round"/>
35
+ <path d="M84 190C113 207 145 212 180 205C217 197 247 176 269 142" fill="none" stroke="url(#ring)" stroke-width="5" stroke-linecap="round"/>
36
+ <path d="M86 109C113 78 149 60 194 57C231 55 261 66 284 90" fill="none" stroke="url(#ring)" stroke-width="4" stroke-linecap="round" opacity="0.85"/>
37
+ <circle cx="83" cy="190" r="7" fill="#f2c777"/>
38
+ <circle cx="284" cy="90" r="6" fill="#85aeb2"/>
39
+ <circle cx="269" cy="142" r="5" fill="#f8e7c7"/>
40
+
41
+ <text x="320" y="150" fill="url(#word)" font-family="Georgia, 'Times New Roman', serif" font-size="88" font-weight="700" letter-spacing="-3">Audrey</text>
42
+ <text x="326" y="198" fill="#c7d0cc" font-family="'Segoe UI', Candara, sans-serif" font-size="24" letter-spacing="4">LOCAL-FIRST MEMORY FOR AGENTS</text>
43
+ <path d="M327 219H811" stroke="#30484d" stroke-width="2"/>
44
+ <text x="326" y="250" fill="#8ea19b" font-family="'Segoe UI', Candara, sans-serif" font-size="20">recall / preflight / reflexes / consolidation / one SQLite brain</text>
45
+ </svg>
Binary file