audrey 1.0.1 → 1.0.2

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 (227) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +5 -3
  3. package/benchmarks/adapter-self-test.mjs +6 -2
  4. package/benchmarks/adapters/example-allow.mjs +5 -2
  5. package/benchmarks/adapters/mem0-platform.mjs +19 -12
  6. package/benchmarks/adapters/zep-cloud.mjs +51 -27
  7. package/benchmarks/baselines.js +11 -6
  8. package/benchmarks/build-leaderboard.mjs +36 -23
  9. package/benchmarks/cases.js +24 -12
  10. package/benchmarks/create-conformance-card.mjs +12 -3
  11. package/benchmarks/create-submission-bundle.mjs +22 -8
  12. package/benchmarks/dry-run-external-adapters.mjs +24 -12
  13. package/benchmarks/guardbench.js +263 -123
  14. package/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +4 -4
  15. package/benchmarks/output/external/guardbench-external-dry-run.json +1 -1
  16. package/benchmarks/output/external/guardbench-external-evidence.json +1 -1
  17. package/benchmarks/output/guardbench-conformance-card.json +11 -11
  18. package/benchmarks/output/guardbench-raw.json +107 -108
  19. package/benchmarks/output/guardbench-summary.json +170 -172
  20. package/benchmarks/output/leaderboard/guardbench-leaderboard.json +5 -5
  21. package/benchmarks/output/leaderboard/guardbench-leaderboard.md +2 -2
  22. package/benchmarks/output/submission-bundle/guardbench-conformance-card.json +11 -11
  23. package/benchmarks/output/submission-bundle/guardbench-raw.json +107 -108
  24. package/benchmarks/output/submission-bundle/guardbench-summary.json +170 -172
  25. package/benchmarks/output/submission-bundle/submission-manifest.json +11 -11
  26. package/benchmarks/output/submission-bundle/validation-report.json +1 -1
  27. package/benchmarks/output/summary.json +57 -57
  28. package/benchmarks/perf-snapshot.js +12 -9
  29. package/benchmarks/perf.bench.js +14 -6
  30. package/benchmarks/public-paths.mjs +11 -5
  31. package/benchmarks/reference-results.js +10 -5
  32. package/benchmarks/report.js +48 -27
  33. package/benchmarks/run-external-guardbench.mjs +47 -25
  34. package/benchmarks/run.js +112 -59
  35. package/benchmarks/validate-adapter-module.mjs +13 -10
  36. package/benchmarks/validate-adapter-registry.mjs +16 -5
  37. package/benchmarks/validate-guardbench-artifacts.mjs +76 -19
  38. package/benchmarks/verify-external-evidence.mjs +86 -31
  39. package/benchmarks/verify-publication-artifacts.mjs +34 -11
  40. package/benchmarks/verify-submission-bundle.mjs +9 -4
  41. package/dist/mcp-server/config.d.ts +1 -1
  42. package/dist/mcp-server/config.d.ts.map +1 -1
  43. package/dist/mcp-server/config.js +5 -3
  44. package/dist/mcp-server/config.js.map +1 -1
  45. package/dist/mcp-server/index.d.ts +4 -3
  46. package/dist/mcp-server/index.d.ts.map +1 -1
  47. package/dist/mcp-server/index.js +479 -172
  48. package/dist/mcp-server/index.js.map +1 -1
  49. package/dist/src/action-key.d.ts.map +1 -1
  50. package/dist/src/action-key.js +6 -2
  51. package/dist/src/action-key.js.map +1 -1
  52. package/dist/src/adaptive.d.ts.map +1 -1
  53. package/dist/src/adaptive.js +4 -2
  54. package/dist/src/adaptive.js.map +1 -1
  55. package/dist/src/affect.d.ts.map +1 -1
  56. package/dist/src/affect.js +8 -5
  57. package/dist/src/affect.js.map +1 -1
  58. package/dist/src/audrey.d.ts +1 -1
  59. package/dist/src/audrey.d.ts.map +1 -1
  60. package/dist/src/audrey.js +93 -49
  61. package/dist/src/audrey.js.map +1 -1
  62. package/dist/src/capsule.d.ts.map +1 -1
  63. package/dist/src/capsule.js +37 -15
  64. package/dist/src/capsule.js.map +1 -1
  65. package/dist/src/causal.d.ts +1 -1
  66. package/dist/src/causal.d.ts.map +1 -1
  67. package/dist/src/causal.js +4 -2
  68. package/dist/src/causal.js.map +1 -1
  69. package/dist/src/confidence.d.ts.map +1 -1
  70. package/dist/src/confidence.js +5 -5
  71. package/dist/src/confidence.js.map +1 -1
  72. package/dist/src/consolidate.d.ts.map +1 -1
  73. package/dist/src/consolidate.js +17 -9
  74. package/dist/src/consolidate.js.map +1 -1
  75. package/dist/src/context.js +1 -1
  76. package/dist/src/context.js.map +1 -1
  77. package/dist/src/controller.d.ts.map +1 -1
  78. package/dist/src/controller.js +24 -13
  79. package/dist/src/controller.js.map +1 -1
  80. package/dist/src/db.d.ts.map +1 -1
  81. package/dist/src/db.js +78 -27
  82. package/dist/src/db.js.map +1 -1
  83. package/dist/src/decay.d.ts +1 -1
  84. package/dist/src/decay.d.ts.map +1 -1
  85. package/dist/src/decay.js +1 -1
  86. package/dist/src/decay.js.map +1 -1
  87. package/dist/src/embedding.d.ts +12 -4
  88. package/dist/src/embedding.d.ts.map +1 -1
  89. package/dist/src/embedding.js +18 -16
  90. package/dist/src/embedding.js.map +1 -1
  91. package/dist/src/encode.d.ts.map +1 -1
  92. package/dist/src/encode.js +5 -4
  93. package/dist/src/encode.js.map +1 -1
  94. package/dist/src/events.d.ts +3 -2
  95. package/dist/src/events.d.ts.map +1 -1
  96. package/dist/src/events.js +7 -3
  97. package/dist/src/events.js.map +1 -1
  98. package/dist/src/export.d.ts.map +1 -1
  99. package/dist/src/export.js +21 -7
  100. package/dist/src/export.js.map +1 -1
  101. package/dist/src/feedback.d.ts.map +1 -1
  102. package/dist/src/feedback.js +1 -1
  103. package/dist/src/feedback.js.map +1 -1
  104. package/dist/src/forget.d.ts.map +1 -1
  105. package/dist/src/forget.js +12 -6
  106. package/dist/src/forget.js.map +1 -1
  107. package/dist/src/fts.d.ts.map +1 -1
  108. package/dist/src/fts.js +20 -8
  109. package/dist/src/fts.js.map +1 -1
  110. package/dist/src/hybrid-recall.d.ts.map +1 -1
  111. package/dist/src/hybrid-recall.js +12 -6
  112. package/dist/src/hybrid-recall.js.map +1 -1
  113. package/dist/src/impact.d.ts.map +1 -1
  114. package/dist/src/impact.js +26 -10
  115. package/dist/src/impact.js.map +1 -1
  116. package/dist/src/import.d.ts.map +1 -1
  117. package/dist/src/import.js +11 -6
  118. package/dist/src/import.js.map +1 -1
  119. package/dist/src/index.d.ts +3 -3
  120. package/dist/src/index.d.ts.map +1 -1
  121. package/dist/src/index.js +3 -3
  122. package/dist/src/index.js.map +1 -1
  123. package/dist/src/interference.d.ts.map +1 -1
  124. package/dist/src/interference.js +10 -5
  125. package/dist/src/interference.js.map +1 -1
  126. package/dist/src/introspect.d.ts.map +1 -1
  127. package/dist/src/introspect.js +12 -6
  128. package/dist/src/introspect.js.map +1 -1
  129. package/dist/src/llm.d.ts +2 -2
  130. package/dist/src/llm.d.ts.map +1 -1
  131. package/dist/src/llm.js +6 -6
  132. package/dist/src/llm.js.map +1 -1
  133. package/dist/src/migrate.d.ts.map +1 -1
  134. package/dist/src/migrate.js +10 -4
  135. package/dist/src/migrate.js.map +1 -1
  136. package/dist/src/preflight.d.ts.map +1 -1
  137. package/dist/src/preflight.js +6 -8
  138. package/dist/src/preflight.js.map +1 -1
  139. package/dist/src/profile.d.ts.map +1 -1
  140. package/dist/src/profile.js.map +1 -1
  141. package/dist/src/promote.d.ts.map +1 -1
  142. package/dist/src/promote.js +16 -7
  143. package/dist/src/promote.js.map +1 -1
  144. package/dist/src/prompts.d.ts.map +1 -1
  145. package/dist/src/prompts.js +1 -2
  146. package/dist/src/prompts.js.map +1 -1
  147. package/dist/src/recall.d.ts.map +1 -1
  148. package/dist/src/recall.js +85 -18
  149. package/dist/src/recall.js.map +1 -1
  150. package/dist/src/redact.d.ts.map +1 -1
  151. package/dist/src/redact.js +9 -4
  152. package/dist/src/redact.js.map +1 -1
  153. package/dist/src/reflexes.d.ts.map +1 -1
  154. package/dist/src/reflexes.js +1 -7
  155. package/dist/src/reflexes.js.map +1 -1
  156. package/dist/src/rollback.d.ts.map +1 -1
  157. package/dist/src/rollback.js +4 -2
  158. package/dist/src/rollback.js.map +1 -1
  159. package/dist/src/routes.d.ts.map +1 -1
  160. package/dist/src/routes.js +33 -13
  161. package/dist/src/routes.js.map +1 -1
  162. package/dist/src/rules-compiler.d.ts.map +1 -1
  163. package/dist/src/rules-compiler.js +24 -2
  164. package/dist/src/rules-compiler.js.map +1 -1
  165. package/dist/src/server.js +2 -2
  166. package/dist/src/server.js.map +1 -1
  167. package/dist/src/tool-trace.d.ts +2 -2
  168. package/dist/src/tool-trace.d.ts.map +1 -1
  169. package/dist/src/tool-trace.js +12 -4
  170. package/dist/src/tool-trace.js.map +1 -1
  171. package/dist/src/types.d.ts.map +1 -1
  172. package/dist/src/ulid.js +1 -1
  173. package/dist/src/ulid.js.map +1 -1
  174. package/dist/src/utils.d.ts.map +1 -1
  175. package/dist/src/utils.js.map +1 -1
  176. package/dist/src/validate.d.ts.map +1 -1
  177. package/dist/src/validate.js +20 -10
  178. package/dist/src/validate.js.map +1 -1
  179. package/docs/paper/07-evaluation.md +5 -5
  180. package/docs/paper/audrey-paper-v1.md +5 -5
  181. package/docs/paper/evidence-ledger.md +1 -1
  182. package/docs/paper/output/arxiv/arxiv-manifest.json +4 -4
  183. package/docs/paper/output/arxiv/main.tex +5 -5
  184. package/docs/paper/output/arxiv-compile-report.json +3 -3
  185. package/docs/paper/output/submission-bundle/README.md +5 -3
  186. package/docs/paper/output/submission-bundle/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +4 -4
  187. package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-dry-run.json +1 -1
  188. package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-evidence.json +1 -1
  189. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-conformance-card.json +11 -11
  190. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-raw.json +107 -108
  191. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-summary.json +170 -172
  192. package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.json +5 -5
  193. package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.md +2 -2
  194. package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/submission-manifest.json +11 -11
  195. package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/validation-report.json +1 -1
  196. package/docs/paper/output/submission-bundle/benchmarks/output/summary.json +58 -58
  197. package/docs/paper/output/submission-bundle/docs/paper/07-evaluation.md +5 -5
  198. package/docs/paper/output/submission-bundle/docs/paper/audrey-paper-v1.md +5 -5
  199. package/docs/paper/output/submission-bundle/docs/paper/evidence-ledger.md +1 -1
  200. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/arxiv-manifest.json +4 -4
  201. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/main.tex +5 -5
  202. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv-compile-report.json +3 -3
  203. package/docs/paper/output/submission-bundle/package.json +17 -4
  204. package/docs/paper/output/submission-bundle/paper-submission-manifest.json +36 -36
  205. package/examples/fintech-ops-demo.js +12 -5
  206. package/examples/healthcare-ops-demo.js +8 -4
  207. package/examples/ollama-memory-agent.js +41 -13
  208. package/examples/stripe-demo.js +12 -5
  209. package/package.json +17 -4
  210. package/scripts/audit-release-completion.mjs +179 -101
  211. package/scripts/create-arxiv-source.mjs +20 -14
  212. package/scripts/create-paper-submission-bundle.mjs +6 -2
  213. package/scripts/finalize-release.mjs +111 -36
  214. package/scripts/prepare-release-cut.mjs +14 -6
  215. package/scripts/publish-release-bundle.mjs +62 -23
  216. package/scripts/publish-release-github-api.mjs +89 -24
  217. package/scripts/smoke-cli.js +9 -9
  218. package/scripts/sync-paper-artifacts.mjs +5 -1
  219. package/scripts/verify-arxiv-compile.mjs +52 -16
  220. package/scripts/verify-arxiv-source.mjs +45 -15
  221. package/scripts/verify-browser-launch-plan.mjs +28 -11
  222. package/scripts/verify-browser-launch-results.mjs +32 -14
  223. package/scripts/verify-paper-artifacts.mjs +539 -79
  224. package/scripts/verify-paper-claims.mjs +48 -20
  225. package/scripts/verify-paper-submission-bundle.mjs +22 -11
  226. package/scripts/verify-publication-pack.mjs +23 -9
  227. package/scripts/verify-release-readiness.mjs +211 -76
@@ -69,11 +69,18 @@ export async function validateAdapterRegistry(options = {}) {
69
69
  failures.push(`Adapter ${adapter.id} has credentialMode=none but declares requiredEnv`);
70
70
  }
71
71
  if (adapter.credentialMode === 'runtime-env' && adapter.requiredEnv.length === 0) {
72
- failures.push(`Adapter ${adapter.id} has credentialMode=runtime-env but declares no requiredEnv`);
72
+ failures.push(
73
+ `Adapter ${adapter.id} has credentialMode=runtime-env but declares no requiredEnv`,
74
+ );
73
75
  }
74
76
  for (const [commandName, command] of Object.entries(adapter.commands ?? {})) {
75
- if ((commandName === 'moduleValidate' || commandName === 'selfTest') && !command.includes(adapter.path)) {
76
- failures.push(`Adapter ${adapter.id} command ${commandName} does not reference ${adapter.path}`);
77
+ if (
78
+ (commandName === 'moduleValidate' || commandName === 'selfTest') &&
79
+ !command.includes(adapter.path)
80
+ ) {
81
+ failures.push(
82
+ `Adapter ${adapter.id} command ${commandName} does not reference ${adapter.path}`,
83
+ );
77
84
  }
78
85
  }
79
86
  if (!existsSync(resolve(adapter.path))) {
@@ -89,10 +96,14 @@ export async function validateAdapterRegistry(options = {}) {
89
96
  failures: report.failures,
90
97
  });
91
98
  if (!report.ok) {
92
- failures.push(`Adapter ${adapter.id} failed module validation: ${report.failures.join('; ')}`);
99
+ failures.push(
100
+ `Adapter ${adapter.id} failed module validation: ${report.failures.join('; ')}`,
101
+ );
93
102
  }
94
103
  if (report.adapter?.name && report.adapter.name !== adapter.name) {
95
- failures.push(`Adapter ${adapter.id} registry name ${adapter.name} does not match module name ${report.adapter.name}`);
104
+ failures.push(
105
+ `Adapter ${adapter.id} registry name ${adapter.name} does not match module name ${report.adapter.name}`,
106
+ );
96
107
  }
97
108
  }
98
109
 
@@ -134,13 +134,25 @@ export function validateSchema(value, schema, label, root = schema) {
134
134
  if (currentSchema.minLength != null && String(current).length < currentSchema.minLength) {
135
135
  errors.push(`${path}: shorter than minLength ${currentSchema.minLength}`);
136
136
  }
137
- if (currentSchema.pattern && typeof current === 'string' && !(new RegExp(currentSchema.pattern).test(current))) {
137
+ if (
138
+ currentSchema.pattern &&
139
+ typeof current === 'string' &&
140
+ !new RegExp(currentSchema.pattern).test(current)
141
+ ) {
138
142
  errors.push(`${path}: does not match ${currentSchema.pattern}`);
139
143
  }
140
- if (currentSchema.minimum != null && typeof current === 'number' && current < currentSchema.minimum) {
144
+ if (
145
+ currentSchema.minimum != null &&
146
+ typeof current === 'number' &&
147
+ current < currentSchema.minimum
148
+ ) {
141
149
  errors.push(`${path}: below minimum ${currentSchema.minimum}`);
142
150
  }
143
- if (currentSchema.maximum != null && typeof current === 'number' && current > currentSchema.maximum) {
151
+ if (
152
+ currentSchema.maximum != null &&
153
+ typeof current === 'number' &&
154
+ current > currentSchema.maximum
155
+ ) {
144
156
  errors.push(`${path}: above maximum ${currentSchema.maximum}`);
145
157
  }
146
158
 
@@ -155,7 +167,8 @@ export function validateSchema(value, schema, label, root = schema) {
155
167
 
156
168
  if (currentSchema.type === 'object') {
157
169
  for (const required of currentSchema.required ?? []) {
158
- if (!Object.hasOwn(current, required)) errors.push(`${path}: missing required property ${required}`);
170
+ if (!Object.hasOwn(current, required))
171
+ errors.push(`${path}: missing required property ${required}`);
159
172
  }
160
173
  if (currentSchema.additionalProperties === false) {
161
174
  for (const key of Object.keys(current)) {
@@ -177,7 +190,10 @@ export function validateSchema(value, schema, label, root = schema) {
177
190
  function stableJson(value) {
178
191
  if (Array.isArray(value)) return `[${value.map(stableJson).join(',')}]`;
179
192
  if (value && typeof value === 'object') {
180
- return `{${Object.keys(value).sort().map(key => `${JSON.stringify(key)}:${stableJson(value[key])}`).join(',')}}`;
193
+ return `{${Object.keys(value)
194
+ .sort()
195
+ .map(key => `${JSON.stringify(key)}:${stableJson(value[key])}`)
196
+ .join(',')}}`;
181
197
  }
182
198
  return JSON.stringify(value);
183
199
  }
@@ -231,7 +247,11 @@ export function validateGuardBenchArtifacts(options = {}) {
231
247
  failures.push(error.message);
232
248
  continue;
233
249
  }
234
- for (const error of validateSchema(optionalArtifacts[key], schemas[key], `guardbench-${key}`)) {
250
+ for (const error of validateSchema(
251
+ optionalArtifacts[key],
252
+ schemas[key],
253
+ `guardbench-${key}`,
254
+ )) {
235
255
  failures.push(`${basename(path)}: ${error}`);
236
256
  }
237
257
  }
@@ -243,7 +263,9 @@ export function validateGuardBenchArtifacts(options = {}) {
243
263
  if (!Object.hasOwn(currentHashes, file)) {
244
264
  failures.push(`external-run-metadata.json: artifactHashes includes unknown file ${file}`);
245
265
  } else if (currentHashes[file] !== expectedHash) {
246
- failures.push(`external-run-metadata.json: artifactHashes.${file} does not match current artifact`);
266
+ failures.push(
267
+ `external-run-metadata.json: artifactHashes.${file} does not match current artifact`,
268
+ );
247
269
  }
248
270
  }
249
271
  for (const file of Object.values(ARTIFACT_FILES)) {
@@ -255,27 +277,58 @@ export function validateGuardBenchArtifacts(options = {}) {
255
277
  const conformanceCard = optionalArtifacts.conformanceCard;
256
278
  if (conformanceCard) {
257
279
  const currentHashes = computeGuardBenchArtifactHashes(dir);
258
- for (const [file, expectedHash] of Object.entries(conformanceCard.integrity?.artifactHashes ?? {})) {
280
+ for (const [file, expectedHash] of Object.entries(
281
+ conformanceCard.integrity?.artifactHashes ?? {},
282
+ )) {
259
283
  if (!Object.hasOwn(currentHashes, file)) {
260
- failures.push(`guardbench-conformance-card.json: integrity.artifactHashes includes unknown file ${file}`);
284
+ failures.push(
285
+ `guardbench-conformance-card.json: integrity.artifactHashes includes unknown file ${file}`,
286
+ );
261
287
  } else if (currentHashes[file] !== expectedHash) {
262
- failures.push(`guardbench-conformance-card.json: integrity.artifactHashes.${file} does not match current artifact`);
288
+ failures.push(
289
+ `guardbench-conformance-card.json: integrity.artifactHashes.${file} does not match current artifact`,
290
+ );
263
291
  }
264
292
  }
265
293
  if (conformanceCard.manifestVersion !== artifacts.manifest.manifestVersion) {
266
- failures.push('guardbench-conformance-card.json: manifestVersion does not match guardbench-manifest.json');
294
+ failures.push(
295
+ 'guardbench-conformance-card.json: manifestVersion does not match guardbench-manifest.json',
296
+ );
267
297
  }
268
298
  if (conformanceCard.suiteId !== artifacts.manifest.suiteId) {
269
- failures.push('guardbench-conformance-card.json: suiteId does not match guardbench-manifest.json');
299
+ failures.push(
300
+ 'guardbench-conformance-card.json: suiteId does not match guardbench-manifest.json',
301
+ );
270
302
  }
271
- if (!artifacts.summary.systemSummaries?.some(row => row.system === conformanceCard.subject?.name)) {
272
- failures.push('guardbench-conformance-card.json: subject.name is not present in guardbench-summary.json');
303
+ if (
304
+ !artifacts.summary.systemSummaries?.some(
305
+ row => row.system === conformanceCard.subject?.name,
306
+ )
307
+ ) {
308
+ failures.push(
309
+ 'guardbench-conformance-card.json: subject.name is not present in guardbench-summary.json',
310
+ );
273
311
  }
274
312
  }
275
313
 
276
- assertSameJson(artifacts.summary.manifest, artifacts.manifest, 'summary.manifest vs guardbench-manifest.json', failures);
277
- assertSameJson(artifacts.summary.cases, artifacts.raw.cases, 'summary.cases vs raw.cases', failures);
278
- assertSameJson(artifacts.summary.provenance, artifacts.raw.provenance, 'summary.provenance vs raw.provenance', failures);
314
+ assertSameJson(
315
+ artifacts.summary.manifest,
316
+ artifacts.manifest,
317
+ 'summary.manifest vs guardbench-manifest.json',
318
+ failures,
319
+ );
320
+ assertSameJson(
321
+ artifacts.summary.cases,
322
+ artifacts.raw.cases,
323
+ 'summary.cases vs raw.cases',
324
+ failures,
325
+ );
326
+ assertSameJson(
327
+ artifacts.summary.provenance,
328
+ artifacts.raw.provenance,
329
+ 'summary.provenance vs raw.provenance',
330
+ failures,
331
+ );
279
332
  if (artifacts.summary.generatedAt !== artifacts.raw.generatedAt) {
280
333
  failures.push('summary.generatedAt vs raw.generatedAt: cross-artifact mismatch');
281
334
  }
@@ -290,7 +343,9 @@ export function validateGuardBenchArtifacts(options = {}) {
290
343
  failures.push('guardbench-raw.json: artifactRedactionSweep did not pass');
291
344
  }
292
345
 
293
- const artifactText = Object.values(artifacts).map(value => JSON.stringify(value)).join('\n');
346
+ const artifactText = Object.values(artifacts)
347
+ .map(value => JSON.stringify(value))
348
+ .join('\n');
294
349
  for (const secret of seededSecrets) {
295
350
  if (secret && artifactText.includes(secret)) {
296
351
  failures.push(`raw seeded secret leaked into GuardBench artifacts: ${secret}`);
@@ -310,7 +365,9 @@ export function validateGuardBenchArtifacts(options = {}) {
310
365
  dir: publicPath(dir),
311
366
  schemasDir: publicPath(schemasDir),
312
367
  files: Object.values(ARTIFACT_FILES),
313
- optionalFiles: Object.values(OPTIONAL_ARTIFACT_FILES).filter(file => existsSync(join(dir, file))),
368
+ optionalFiles: Object.values(OPTIONAL_ARTIFACT_FILES).filter(file =>
369
+ existsSync(join(dir, file)),
370
+ ),
314
371
  failures,
315
372
  };
316
373
  }
@@ -85,7 +85,16 @@ function credentialLeaks(text, requiredEnv, env) {
85
85
  return leaks;
86
86
  }
87
87
 
88
- function pendingRow(target, outDir, metadataPath, allowPending, reason, metadata = null, extraFailures = [], secretLeakCount = 0) {
88
+ function pendingRow(
89
+ target,
90
+ outDir,
91
+ metadataPath,
92
+ allowPending,
93
+ reason,
94
+ metadata = null,
95
+ extraFailures = [],
96
+ secretLeakCount = 0,
97
+ ) {
89
98
  return {
90
99
  id: target.id,
91
100
  name: target.name,
@@ -102,12 +111,14 @@ function pendingRow(target, outDir, metadataPath, allowPending, reason, metadata
102
111
  artifactValidationOk: null,
103
112
  adapterConformanceOk: null,
104
113
  secretLeakCount,
105
- failures: allowPending ? extraFailures : [
106
- ...extraFailures,
107
- reason === 'missing'
108
- ? `Missing external run metadata: ${metadataPath}`
109
- : `External evidence is pending for ${target.id}: ${metadata?.status ?? reason}`,
110
- ],
114
+ failures: allowPending
115
+ ? extraFailures
116
+ : [
117
+ ...extraFailures,
118
+ reason === 'missing'
119
+ ? `Missing external run metadata: ${metadataPath}`
120
+ : `External evidence is pending for ${target.id}: ${metadata?.status ?? reason}`,
121
+ ],
111
122
  };
112
123
  }
113
124
 
@@ -121,16 +132,25 @@ function verifyLiveMetadata(target, outDir, metadataPath, metadata, metadataText
121
132
  failures.push(...artifactValidation.failures.map(failure => `artifact validation: ${failure}`));
122
133
  }
123
134
 
124
- if (metadata.adapter !== target.id) failures.push(`metadata adapter ${metadata.adapter} does not match registry id ${target.id}`);
135
+ if (metadata.adapter !== target.id)
136
+ failures.push(`metadata adapter ${metadata.adapter} does not match registry id ${target.id}`);
125
137
  if (metadata.dryRun !== false) failures.push('metadata must come from a live run, not a dry run');
126
- if (metadata.status !== 'passed') failures.push(`metadata status must be passed, got ${metadata.status}`);
127
- if (metadata.exitCode !== 0) failures.push(`metadata exitCode must be 0, got ${metadata.exitCode}`);
128
- if ((metadata.missingEnv ?? []).length !== 0) failures.push(`metadata still reports missing runtime env: ${(metadata.missingEnv ?? []).join(', ')}`);
138
+ if (metadata.status !== 'passed')
139
+ failures.push(`metadata status must be passed, got ${metadata.status}`);
140
+ if (metadata.exitCode !== 0)
141
+ failures.push(`metadata exitCode must be 0, got ${metadata.exitCode}`);
142
+ if ((metadata.missingEnv ?? []).length !== 0)
143
+ failures.push(
144
+ `metadata still reports missing runtime env: ${(metadata.missingEnv ?? []).join(', ')}`,
145
+ );
129
146
  for (const name of target.requiredEnv) {
130
- if (!(metadata.requiredEnv ?? []).includes(name)) failures.push(`metadata requiredEnv missing ${name}`);
147
+ if (!(metadata.requiredEnv ?? []).includes(name))
148
+ failures.push(`metadata requiredEnv missing ${name}`);
131
149
  }
132
- if (metadata.artifactValidation?.ok !== true) failures.push('metadata artifactValidation.ok must be true');
133
- if (metadata.adapterConformance?.ok !== true) failures.push('metadata adapterConformance.ok must be true');
150
+ if (metadata.artifactValidation?.ok !== true)
151
+ failures.push('metadata artifactValidation.ok must be true');
152
+ if (metadata.adapterConformance?.ok !== true)
153
+ failures.push('metadata adapterConformance.ok must be true');
134
154
  if (!metadata.artifactHashes) failures.push('metadata missing artifactHashes');
135
155
 
136
156
  const leakedEnv = credentialLeaks(metadataText, target.requiredEnv, env);
@@ -178,11 +198,11 @@ function verifyTarget(target, options, schemas) {
178
198
  return {
179
199
  id: target.id,
180
200
  name: target.name,
181
- path: target.path,
182
- credentialMode: target.credentialMode,
183
- requiredEnv: target.requiredEnv,
184
- outDir: publicPath(outDir),
185
- metadataPath: publicPath(metadataPath),
201
+ path: target.path,
202
+ credentialMode: target.credentialMode,
203
+ requiredEnv: target.requiredEnv,
204
+ outDir: publicPath(outDir),
205
+ metadataPath: publicPath(metadataPath),
186
206
  status: 'failed',
187
207
  evidenceKind: 'missing',
188
208
  metadataStatus: null,
@@ -195,7 +215,11 @@ function verifyTarget(target, options, schemas) {
195
215
  };
196
216
  }
197
217
 
198
- const metadataSchemaFailures = validateSchema(metadata, schemas.externalRun, 'guardbench-externalRun');
218
+ const metadataSchemaFailures = validateSchema(
219
+ metadata,
220
+ schemas.externalRun,
221
+ 'guardbench-externalRun',
222
+ );
199
223
  const leakedEnv = credentialLeaks(metadataText, target.requiredEnv, options.env);
200
224
  const metadataFailures = [
201
225
  ...metadataSchemaFailures,
@@ -203,10 +227,27 @@ function verifyTarget(target, options, schemas) {
203
227
  ];
204
228
 
205
229
  if (metadata.dryRun === true || PENDING_METADATA_STATUSES.has(metadata.status)) {
206
- return pendingRow(target, outDir, metadataPath, options.allowPending, metadata.status ?? 'pending', metadata, metadataFailures, leakedEnv.length);
230
+ return pendingRow(
231
+ target,
232
+ outDir,
233
+ metadataPath,
234
+ options.allowPending,
235
+ metadata.status ?? 'pending',
236
+ metadata,
237
+ metadataFailures,
238
+ leakedEnv.length,
239
+ );
207
240
  }
208
241
 
209
- return verifyLiveMetadata(target, outDir, metadataPath, metadata, metadataText, schemas, options.env);
242
+ return verifyLiveMetadata(
243
+ target,
244
+ outDir,
245
+ metadataPath,
246
+ metadata,
247
+ metadataText,
248
+ schemas,
249
+ options.env,
250
+ );
210
251
  }
211
252
 
212
253
  function externalTargetsFromRegistry(registry, adapterIds) {
@@ -234,12 +275,20 @@ export async function verifyExternalGuardBenchEvidence(options = {}) {
234
275
  const schemas = {
235
276
  externalRun: readJson(fromRoot(options.externalRunSchema ?? DEFAULT_EXTERNAL_RUN_SCHEMA)),
236
277
  };
237
- const rows = targets.map(target => verifyTarget(target, {
238
- outRoot,
239
- allowPending,
240
- env: options.env ?? process.env,
241
- }, schemas));
242
- const unknownAdapters = (options.adapters ?? []).filter(id => !targets.some(target => target.id === id));
278
+ const rows = targets.map(target =>
279
+ verifyTarget(
280
+ target,
281
+ {
282
+ outRoot,
283
+ allowPending,
284
+ env: options.env ?? process.env,
285
+ },
286
+ schemas,
287
+ ),
288
+ );
289
+ const unknownAdapters = (options.adapters ?? []).filter(
290
+ id => !targets.some(target => target.id === id),
291
+ );
243
292
  const failures = [
244
293
  ...registryValidation.failures.map(failure => `registry: ${failure}`),
245
294
  ...unknownAdapters.map(id => `Unknown runtime-env adapter id: ${id}`),
@@ -256,9 +305,13 @@ export async function verifyExternalGuardBenchEvidence(options = {}) {
256
305
  adapters: rows,
257
306
  failures,
258
307
  };
259
- const schemaFailures = validateExternalEvidenceReport(report, { schema: options.evidenceSchema ?? DEFAULT_EVIDENCE_SCHEMA });
308
+ const schemaFailures = validateExternalEvidenceReport(report, {
309
+ schema: options.evidenceSchema ?? DEFAULT_EVIDENCE_SCHEMA,
310
+ });
260
311
  if (schemaFailures.length > 0) {
261
- throw new Error(`GuardBench external evidence schema validation failed: ${schemaFailures.join('; ')}`);
312
+ throw new Error(
313
+ `GuardBench external evidence schema validation failed: ${schemaFailures.join('; ')}`,
314
+ );
262
315
  }
263
316
  if (options.write !== false) {
264
317
  writeJson(fromRoot(options.report ?? DEFAULT_REPORT), report);
@@ -279,7 +332,9 @@ async function main() {
279
332
  } else if (report.ok) {
280
333
  const verified = report.adapters.filter(adapter => adapter.status === 'verified').length;
281
334
  const pending = report.adapters.filter(adapter => adapter.status === 'pending').length;
282
- console.log(`GuardBench external evidence verification passed: ${verified} verified, ${pending} pending`);
335
+ console.log(
336
+ `GuardBench external evidence verification passed: ${verified} verified, ${pending} pending`,
337
+ );
283
338
  } else {
284
339
  console.error('GuardBench external evidence verification failed:');
285
340
  for (const failure of report.failures) console.error(`- ${failure}`);
@@ -32,8 +32,10 @@ export function parsePublicationVerifierArgs(argv = process.argv.slice(2)) {
32
32
  for (let i = 0; i < argv.length; i++) {
33
33
  const token = argv[i];
34
34
  if (token === '--adapter' && argv[i + 1]) args.adapter = argv[++i];
35
- else if ((token === '--artifacts-dir' || token === '--dir') && argv[i + 1]) args.artifactsDir = argv[++i];
36
- else if ((token === '--bundle-dir' || token === '--bundle') && argv[i + 1]) args.bundleDir = argv[++i];
35
+ else if ((token === '--artifacts-dir' || token === '--dir') && argv[i + 1])
36
+ args.artifactsDir = argv[++i];
37
+ else if ((token === '--bundle-dir' || token === '--bundle') && argv[i + 1])
38
+ args.bundleDir = argv[++i];
37
39
  else if (token === '--external-dry-run' && argv[i + 1]) args.externalDryRun = argv[++i];
38
40
  else if (token === '--external-evidence' && argv[i + 1]) args.externalEvidence = argv[++i];
39
41
  else if (token === '--leaderboard' && argv[i + 1]) args.leaderboard = argv[++i];
@@ -207,14 +209,24 @@ export function validatePublicationVerificationReport(report, options = {}) {
207
209
 
208
210
  export async function verifyGuardBenchPublicationArtifacts(options = {}) {
209
211
  const registry = await validateAdapterRegistry();
210
- const adapterModule = await validateAdapterModuleFile({ adapter: options.adapter ?? DEFAULT_ADAPTER });
212
+ const adapterModule = await validateAdapterModuleFile({
213
+ adapter: options.adapter ?? DEFAULT_ADAPTER,
214
+ });
211
215
  const selfTest = validateAdapterSelfTestFile({
212
- report: join(resolve(options.artifactsDir ?? DEFAULT_ARTIFACTS_DIR), 'adapter-self-test', 'guardbench-adapter-self-test.json'),
216
+ report: join(
217
+ resolve(options.artifactsDir ?? DEFAULT_ARTIFACTS_DIR),
218
+ 'adapter-self-test',
219
+ 'guardbench-adapter-self-test.json',
220
+ ),
221
+ });
222
+ const artifacts = validateGuardBenchArtifacts({
223
+ dir: options.artifactsDir ?? DEFAULT_ARTIFACTS_DIR,
213
224
  });
214
- const artifacts = validateGuardBenchArtifacts({ dir: options.artifactsDir ?? DEFAULT_ARTIFACTS_DIR });
215
225
  const bundle = verifyGuardBenchSubmissionBundle({ dir: options.bundleDir ?? DEFAULT_BUNDLE_DIR });
216
226
  const externalDryRun = checkExternalDryRun(options.externalDryRun ?? DEFAULT_EXTERNAL_DRY_RUN);
217
- const externalEvidence = checkExternalEvidence(options.externalEvidence ?? DEFAULT_EXTERNAL_EVIDENCE);
227
+ const externalEvidence = checkExternalEvidence(
228
+ options.externalEvidence ?? DEFAULT_EXTERNAL_EVIDENCE,
229
+ );
218
230
  const leaderboard = checkLeaderboard(options.leaderboard ?? DEFAULT_LEADERBOARD);
219
231
  const localPaths = checkLocalPathLeaks(options);
220
232
  const checks = {
@@ -229,7 +241,8 @@ export async function verifyGuardBenchPublicationArtifacts(options = {}) {
229
241
  localPaths,
230
242
  };
231
243
  const failures = Object.entries(checks).flatMap(([name, report]) =>
232
- (report.failures ?? []).map(failure => `${name}: ${failure}`));
244
+ (report.failures ?? []).map(failure => `${name}: ${failure}`),
245
+ );
233
246
 
234
247
  const report = {
235
248
  schemaVersion: '1.0.0',
@@ -241,13 +254,19 @@ export async function verifyGuardBenchPublicationArtifacts(options = {}) {
241
254
  };
242
255
  const reportLocalPathLeaks = findLocalPathLeaks({ checks });
243
256
  if (reportLocalPathLeaks.length > 0) {
244
- failures.push(...reportLocalPathLeaks.map(leak => `publication report contains local absolute path: ${leak}`));
257
+ failures.push(
258
+ ...reportLocalPathLeaks.map(
259
+ leak => `publication report contains local absolute path: ${leak}`,
260
+ ),
261
+ );
245
262
  report.ok = false;
246
263
  report.failures = failures;
247
264
  }
248
265
  const schemaFailures = validatePublicationVerificationReport(report);
249
266
  if (schemaFailures.length > 0) {
250
- throw new Error(`GuardBench publication verification schema validation failed: ${schemaFailures.join('; ')}`);
267
+ throw new Error(
268
+ `GuardBench publication verification schema validation failed: ${schemaFailures.join('; ')}`,
269
+ );
251
270
  }
252
271
  return report;
253
272
  }
@@ -267,9 +286,13 @@ async function main() {
267
286
  console.log(`Registry adapters: ${report.checks.registry.adapters.length}`);
268
287
  console.log(`Submission bundle files: ${report.checks.bundle.files.length}`);
269
288
  console.log(`External dry-run adapters: ${report.checks.externalDryRun.adapters}`);
270
- console.log(`External live evidence: ${report.checks.externalEvidence.verified} verified, ${report.checks.externalEvidence.pending} pending`);
289
+ console.log(
290
+ `External live evidence: ${report.checks.externalEvidence.verified} verified, ${report.checks.externalEvidence.pending} pending`,
291
+ );
271
292
  console.log(`Leaderboard rows: ${report.checks.leaderboard.rows}`);
272
- console.log(`Local path sweep: ${report.checks.localPaths.filesChecked.length} files plus bundle`);
293
+ console.log(
294
+ `Local path sweep: ${report.checks.localPaths.filesChecked.length} files plus bundle`,
295
+ );
273
296
  } else {
274
297
  console.error('GuardBench publication artifact verification failed:');
275
298
  for (const failure of report.failures) console.error(`- ${failure}`);
@@ -69,7 +69,8 @@ export function verifyGuardBenchSubmissionBundle(options = {}) {
69
69
  }
70
70
  const listed = new Map((manifest.files ?? []).map(file => [file.path, file]));
71
71
  for (const file of REQUIRED_FILES) {
72
- if (!listed.has(file)) failures.push(`submission-manifest.json: missing required file record ${file}`);
72
+ if (!listed.has(file))
73
+ failures.push(`submission-manifest.json: missing required file record ${file}`);
73
74
  }
74
75
  if (listed.has('submission-manifest.json')) {
75
76
  failures.push('submission-manifest.json: must not include a self-hash file record');
@@ -87,7 +88,9 @@ export function verifyGuardBenchSubmissionBundle(options = {}) {
87
88
  if (record.bytes !== actualBytes) failures.push(`${file}: byte length mismatch`);
88
89
  }
89
90
 
90
- const actualFiles = walkFiles(dir).filter(file => file !== 'submission-manifest.json').sort();
91
+ const actualFiles = walkFiles(dir)
92
+ .filter(file => file !== 'submission-manifest.json')
93
+ .sort();
91
94
  const listedFiles = [...listed.keys()].sort();
92
95
  const actualSet = new Set(actualFiles);
93
96
  const listedSet = new Set(listedFiles);
@@ -95,7 +98,8 @@ export function verifyGuardBenchSubmissionBundle(options = {}) {
95
98
  if (!listedSet.has(file)) failures.push(`${file}: present in bundle but missing from manifest`);
96
99
  }
97
100
  for (const file of listedFiles) {
98
- if (!actualSet.has(file)) failures.push(`${file}: listed in manifest but not present in bundle`);
101
+ if (!actualSet.has(file))
102
+ failures.push(`${file}: listed in manifest but not present in bundle`);
99
103
  }
100
104
 
101
105
  const artifactValidation = validateGuardBenchArtifacts({
@@ -151,7 +155,8 @@ async function main() {
151
155
  }
152
156
  const report = verifyGuardBenchSubmissionBundle(args);
153
157
  if (args.json) console.log(JSON.stringify(report, null, 2));
154
- else if (report.ok) console.log(`GuardBench submission bundle verification passed: ${report.dir}`);
158
+ else if (report.ok)
159
+ console.log(`GuardBench submission bundle verification passed: ${report.dir}`);
155
160
  else {
156
161
  console.error('GuardBench submission bundle verification failed:');
157
162
  for (const failure of report.failures) console.error(`- ${failure}`);
@@ -1,5 +1,5 @@
1
1
  import type { AudreyConfig, EmbeddingConfig, LLMConfig } from '../src/types.js';
2
- export declare const VERSION = "1.0.1";
2
+ export declare const VERSION = "1.0.2";
3
3
  export declare const SERVER_NAME = "audrey-memory";
4
4
  export declare const DEFAULT_AGENT = "local-agent";
5
5
  export declare const DEFAULT_DATA_DIR: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEhF,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,QAAwD,CAAC;AAEpF,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEvD,UAAU,aAAa;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAyBD,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,GAAE,MAAM,GAAG,SAA4C,GAC9D,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAe1C;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,GAAE,MAAM,GAAG,SAAsC,GACxD,CAAC,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAoB1C;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAehD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIjE;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,KAAK,SAAuC,EAC5C,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyCxB;AAED,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,IAAI,GAAE,MAAM,GAAG,SAAqB,GACnC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAOlE;AA6BD,wBAAgB,mBAAmB,CACjC,IAAI,GAAE,MAAM,GAAG,SAAqB,EACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAgBR;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,OAAO,GAAE,aAAkB,GAC1B,MAAM,EAAE,CAaV"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEhF,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,QAAwD,CAAC;AAEpF,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEvD,UAAU,aAAa;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAyBD,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,GAAE,MAAM,GAAG,SAA4C,GAC9D,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAgB1C;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,GAAE,MAAM,GAAG,SAAsC,GACxD,CAAC,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAoB1C;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAehD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMjE;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,KAAK,SAAuC,EAC5C,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyCxB;AAED,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,IAAI,GAAE,MAAM,GAAG,SAAqB,GACnC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAOlE;AAgCD,wBAAgB,mBAAmB,CACjC,IAAI,GAAE,MAAM,GAAG,SAAqB,EACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAgBR;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,OAAO,GAAE,aAAkB,GAC1B,MAAM,EAAE,CAWV"}
@@ -1,7 +1,7 @@
1
1
  import { homedir } from 'node:os';
2
2
  import { join } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
- export const VERSION = '1.0.1';
4
+ export const VERSION = '1.0.2';
5
5
  export const SERVER_NAME = 'audrey-memory';
6
6
  export const DEFAULT_AGENT = 'local-agent';
7
7
  export const DEFAULT_DATA_DIR = join(homedir(), '.audrey', 'data');
@@ -51,7 +51,7 @@ export function resolveEmbeddingProvider(env, explicit = env['AUDREY_EMBEDDING_P
51
51
  const provider = explicit;
52
52
  const dims = defaultEmbeddingDimensions(explicit);
53
53
  const apiKey = explicit === 'gemini'
54
- ? (env['GOOGLE_API_KEY'] || env['GEMINI_API_KEY'])
54
+ ? env['GOOGLE_API_KEY'] || env['GEMINI_API_KEY']
55
55
  : explicit === 'openai'
56
56
  ? env['OPENAI_API_KEY']
57
57
  : undefined;
@@ -197,7 +197,9 @@ export function formatMcpHostConfig(host = 'generic', env = process.env) {
197
197
  return JSON.stringify(jsonHostConfig(normalizedHost, env), null, 2);
198
198
  }
199
199
  export function buildInstallArgs(env = process.env, options = {}) {
200
- const envPairs = buildAudreyMcpEnv(env, env['AUDREY_AGENT'] || HOST_AGENT_NAMES['claude-code'], { includeSecrets: options.includeSecrets ?? false });
200
+ const envPairs = buildAudreyMcpEnv(env, env['AUDREY_AGENT'] || HOST_AGENT_NAMES['claude-code'], {
201
+ includeSecrets: options.includeSecrets ?? false,
202
+ });
201
203
  const args = ['mcp', 'add', '-s', 'user', SERVER_NAME];
202
204
  for (const [key, value] of Object.entries(envPairs)) {
203
205
  args.push('-e', `${key}=${value}`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import { z } from 'zod';
3
3
  import { Audrey } from '../src/index.js';
4
4
  import type { EmbeddingProvider, IntrospectResult, MemoryStatusResult, RecallResults } from '../src/types.js';
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
6
  export declare const MAX_MEMORY_CONTENT_LENGTH = 50000;
6
7
  export declare const ADMIN_TOOLS_ENV = "AUDREY_ENABLE_ADMIN_TOOLS";
7
8
  export declare function validateMemoryContent(content: string): void;
@@ -432,8 +433,8 @@ export declare function runDoctorCommand({ argv, dataDir, claudeJsonPath, env, o
432
433
  exitCode: number;
433
434
  };
434
435
  export declare function registerShutdownHandlers(processRef: NodeJS.Process, audrey: Audrey, logger?: (...args: unknown[]) => void): (message?: string, exitCode?: number) => Promise<void>;
435
- export declare function registerDreamTool(server: any, audrey: Audrey): void;
436
- export declare function registerHostResources(server: any, audrey: Audrey): void;
437
- export declare function registerHostPrompts(server: any): void;
436
+ export declare function registerDreamTool(server: McpServer, audrey: Audrey): void;
437
+ export declare function registerHostResources(server: McpServer, audrey: Audrey): void;
438
+ export declare function registerHostPrompts(server: McpServer): void;
438
439
  export {};
439
440
  //# sourceMappingURL=index.d.ts.map