audrey 1.0.3 → 1.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.
Files changed (175) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +307 -434
  3. package/SECURITY.md +3 -3
  4. package/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +4 -4
  5. package/benchmarks/output/external/guardbench-external-dry-run.json +1 -1
  6. package/benchmarks/output/external/guardbench-external-evidence.json +1 -1
  7. package/benchmarks/output/guardbench-conformance-card.json +12 -12
  8. package/benchmarks/output/guardbench-raw.json +108 -108
  9. package/benchmarks/output/guardbench-summary.json +172 -172
  10. package/benchmarks/output/leaderboard/guardbench-leaderboard.json +5 -5
  11. package/benchmarks/output/leaderboard/guardbench-leaderboard.md +2 -2
  12. package/benchmarks/output/submission-bundle/guardbench-conformance-card.json +12 -12
  13. package/benchmarks/output/submission-bundle/guardbench-raw.json +108 -108
  14. package/benchmarks/output/submission-bundle/guardbench-summary.json +172 -172
  15. package/benchmarks/output/submission-bundle/submission-manifest.json +11 -11
  16. package/benchmarks/output/submission-bundle/validation-report.json +1 -1
  17. package/benchmarks/output/summary.json +71 -71
  18. package/benchmarks/public-paths.mjs +14 -1
  19. package/dist/mcp-server/config.d.ts +4 -1
  20. package/dist/mcp-server/config.d.ts.map +1 -1
  21. package/dist/mcp-server/config.js +47 -7
  22. package/dist/mcp-server/config.js.map +1 -1
  23. package/dist/mcp-server/hooks.d.ts +41 -0
  24. package/dist/mcp-server/hooks.d.ts.map +1 -0
  25. package/dist/mcp-server/hooks.js +313 -0
  26. package/dist/mcp-server/hooks.js.map +1 -0
  27. package/dist/mcp-server/index.d.ts +5 -10
  28. package/dist/mcp-server/index.d.ts.map +1 -1
  29. package/dist/mcp-server/index.js +605 -302
  30. package/dist/mcp-server/index.js.map +1 -1
  31. package/dist/src/action-key.d.ts +1 -0
  32. package/dist/src/action-key.d.ts.map +1 -1
  33. package/dist/src/action-key.js +11 -13
  34. package/dist/src/action-key.js.map +1 -1
  35. package/dist/src/affect.d.ts +1 -0
  36. package/dist/src/affect.d.ts.map +1 -1
  37. package/dist/src/affect.js +9 -4
  38. package/dist/src/affect.js.map +1 -1
  39. package/dist/src/audrey.d.ts +11 -3
  40. package/dist/src/audrey.d.ts.map +1 -1
  41. package/dist/src/audrey.js +59 -25
  42. package/dist/src/audrey.js.map +1 -1
  43. package/dist/src/autopilot.d.ts +32 -0
  44. package/dist/src/autopilot.d.ts.map +1 -0
  45. package/dist/src/autopilot.js +997 -0
  46. package/dist/src/autopilot.js.map +1 -0
  47. package/dist/src/capsule.d.ts +2 -0
  48. package/dist/src/capsule.d.ts.map +1 -1
  49. package/dist/src/capsule.js +27 -12
  50. package/dist/src/capsule.js.map +1 -1
  51. package/dist/src/consolidate.d.ts +1 -1
  52. package/dist/src/consolidate.d.ts.map +1 -1
  53. package/dist/src/consolidate.js +14 -8
  54. package/dist/src/consolidate.js.map +1 -1
  55. package/dist/src/controller.d.ts +2 -0
  56. package/dist/src/controller.d.ts.map +1 -1
  57. package/dist/src/controller.js +18 -11
  58. package/dist/src/controller.js.map +1 -1
  59. package/dist/src/db.d.ts.map +1 -1
  60. package/dist/src/db.js +121 -33
  61. package/dist/src/db.js.map +1 -1
  62. package/dist/src/decay.d.ts +2 -1
  63. package/dist/src/decay.d.ts.map +1 -1
  64. package/dist/src/decay.js +14 -10
  65. package/dist/src/decay.js.map +1 -1
  66. package/dist/src/embedding.d.ts.map +1 -1
  67. package/dist/src/embedding.js.map +1 -1
  68. package/dist/src/encode.d.ts.map +1 -1
  69. package/dist/src/encode.js +4 -2
  70. package/dist/src/encode.js.map +1 -1
  71. package/dist/src/events.d.ts +2 -0
  72. package/dist/src/events.d.ts.map +1 -1
  73. package/dist/src/events.js +15 -1
  74. package/dist/src/events.js.map +1 -1
  75. package/dist/src/feedback.d.ts +1 -0
  76. package/dist/src/feedback.d.ts.map +1 -1
  77. package/dist/src/feedback.js +13 -9
  78. package/dist/src/feedback.js.map +1 -1
  79. package/dist/src/forget.d.ts.map +1 -1
  80. package/dist/src/forget.js.map +1 -1
  81. package/dist/src/impact.d.ts +1 -1
  82. package/dist/src/impact.d.ts.map +1 -1
  83. package/dist/src/impact.js +40 -30
  84. package/dist/src/impact.js.map +1 -1
  85. package/dist/src/import.d.ts.map +1 -1
  86. package/dist/src/import.js +13 -9
  87. package/dist/src/import.js.map +1 -1
  88. package/dist/src/index.d.ts +2 -0
  89. package/dist/src/index.d.ts.map +1 -1
  90. package/dist/src/index.js +1 -0
  91. package/dist/src/index.js.map +1 -1
  92. package/dist/src/interference.d.ts +2 -1
  93. package/dist/src/interference.d.ts.map +1 -1
  94. package/dist/src/interference.js +44 -17
  95. package/dist/src/interference.js.map +1 -1
  96. package/dist/src/llm.d.ts.map +1 -1
  97. package/dist/src/llm.js +12 -1
  98. package/dist/src/llm.js.map +1 -1
  99. package/dist/src/migrate.d.ts.map +1 -1
  100. package/dist/src/migrate.js +9 -9
  101. package/dist/src/migrate.js.map +1 -1
  102. package/dist/src/preflight.d.ts +2 -0
  103. package/dist/src/preflight.d.ts.map +1 -1
  104. package/dist/src/preflight.js +32 -15
  105. package/dist/src/preflight.js.map +1 -1
  106. package/dist/src/promote.d.ts +1 -0
  107. package/dist/src/promote.d.ts.map +1 -1
  108. package/dist/src/promote.js +12 -8
  109. package/dist/src/promote.js.map +1 -1
  110. package/dist/src/recall.d.ts.map +1 -1
  111. package/dist/src/recall.js +152 -100
  112. package/dist/src/recall.js.map +1 -1
  113. package/dist/src/reflexes.d.ts.map +1 -1
  114. package/dist/src/reflexes.js.map +1 -1
  115. package/dist/src/rollback.d.ts.map +1 -1
  116. package/dist/src/rollback.js.map +1 -1
  117. package/dist/src/routes.d.ts +1 -0
  118. package/dist/src/routes.d.ts.map +1 -1
  119. package/dist/src/routes.js +73 -20
  120. package/dist/src/routes.js.map +1 -1
  121. package/dist/src/server.d.ts +1 -0
  122. package/dist/src/server.d.ts.map +1 -1
  123. package/dist/src/server.js +2 -2
  124. package/dist/src/server.js.map +1 -1
  125. package/dist/src/types.d.ts +1 -0
  126. package/dist/src/types.d.ts.map +1 -1
  127. package/dist/src/utils.d.ts +2 -0
  128. package/dist/src/utils.d.ts.map +1 -1
  129. package/dist/src/utils.js +18 -0
  130. package/dist/src/utils.js.map +1 -1
  131. package/dist/src/validate.d.ts +1 -0
  132. package/dist/src/validate.d.ts.map +1 -1
  133. package/dist/src/validate.js +19 -10
  134. package/dist/src/validate.js.map +1 -1
  135. package/docs/AUDREY_PAPER_OUTLINE.md +6 -3
  136. package/docs/PRODUCTION_BACKLOG.md +47 -30
  137. package/docs/paper/06-implementation.md +5 -3
  138. package/docs/paper/07-evaluation.md +5 -5
  139. package/docs/paper/08-discussion-limitations.md +1 -1
  140. package/docs/paper/audrey-paper-v1.md +11 -9
  141. package/docs/paper/evidence-ledger.md +8 -8
  142. package/docs/paper/output/arxiv/arxiv-manifest.json +4 -4
  143. package/docs/paper/output/arxiv/main.tex +11 -9
  144. package/docs/paper/output/arxiv-compile-report.json +3 -3
  145. package/docs/paper/output/submission-bundle/README.md +307 -434
  146. package/docs/paper/output/submission-bundle/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +4 -4
  147. package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-dry-run.json +1 -1
  148. package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-evidence.json +1 -1
  149. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-conformance-card.json +12 -12
  150. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-raw.json +108 -108
  151. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-summary.json +172 -172
  152. package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.json +5 -5
  153. package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.md +2 -2
  154. package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/submission-manifest.json +11 -11
  155. package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/validation-report.json +1 -1
  156. package/docs/paper/output/submission-bundle/benchmarks/output/summary.json +64 -64
  157. package/docs/paper/output/submission-bundle/docs/AUDREY_PAPER_OUTLINE.md +6 -3
  158. package/docs/paper/output/submission-bundle/docs/paper/06-implementation.md +5 -3
  159. package/docs/paper/output/submission-bundle/docs/paper/07-evaluation.md +5 -5
  160. package/docs/paper/output/submission-bundle/docs/paper/08-discussion-limitations.md +1 -1
  161. package/docs/paper/output/submission-bundle/docs/paper/audrey-paper-v1.md +11 -9
  162. package/docs/paper/output/submission-bundle/docs/paper/evidence-ledger.md +8 -8
  163. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/arxiv-manifest.json +4 -4
  164. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/main.tex +11 -9
  165. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv-compile-report.json +3 -3
  166. package/docs/paper/output/submission-bundle/package.json +11 -2
  167. package/docs/paper/output/submission-bundle/paper-submission-manifest.json +40 -40
  168. package/package.json +11 -2
  169. package/scripts/audit-release-completion.mjs +8 -8
  170. package/scripts/finalize-release.mjs +1 -1
  171. package/scripts/prepare-release-cut.mjs +1 -1
  172. package/scripts/publish-release-bundle.mjs +8 -4
  173. package/scripts/publish-release-github-api.mjs +1 -1
  174. package/scripts/sync-paper-artifacts.mjs +4 -5
  175. package/scripts/verify-release-readiness.mjs +1 -1
@@ -10,7 +10,7 @@ import { verifyBrowserLaunchResults } from './verify-browser-launch-results.mjs'
10
10
  import { verifyReleaseReadiness } from './verify-release-readiness.mjs';
11
11
 
12
12
  const ROOT = process.cwd();
13
- const DEFAULT_VERSION = '1.0.0';
13
+ const DEFAULT_VERSION = '1.1.1';
14
14
  const DEFAULT_OUT = '.tmp/release-artifacts/completion-audit.json';
15
15
  const NPM_REGISTRY = 'https://registry.npmjs.org/';
16
16
 
@@ -214,7 +214,7 @@ export async function auditReleaseCompletion(options = {}) {
214
214
  checklist.push(
215
215
  checklistItem(
216
216
  'code-release-local-readiness',
217
- 'Audrey codebase is cut to 1.0.0 and local release gates are coherent.',
217
+ `Audrey codebase is cut to ${version} and local release gates are coherent.`,
218
218
  statusFromGaps(versionGaps, readiness.ok),
219
219
  [
220
220
  `package.json version=${pkg.version}`,
@@ -241,7 +241,7 @@ export async function auditReleaseCompletion(options = {}) {
241
241
  checklist.push(
242
242
  checklistItem(
243
243
  'source-control-release-state',
244
- 'Final release commit and v1.0.0 tag are present on the public repository.',
244
+ `Final release commit and v${version} tag are present on the public repository.`,
245
245
  statusFromGaps(sourceGaps, bundleVerify.ok && remoteRefsResult.ok),
246
246
  [
247
247
  commandEvidence(bundleVerify),
@@ -262,7 +262,7 @@ export async function auditReleaseCompletion(options = {}) {
262
262
  checklist.push(
263
263
  checklistItem(
264
264
  'npm-package-publication',
265
- 'audrey@1.0.0 npm package is packaged and published.',
265
+ `audrey@${version} npm package is packaged and published.`,
266
266
  statusFromGaps(npmGaps),
267
267
  [JSON.stringify(npmArtifact), commandEvidence(npmView)],
268
268
  npmGaps,
@@ -279,7 +279,7 @@ export async function auditReleaseCompletion(options = {}) {
279
279
  checklist.push(
280
280
  checklistItem(
281
281
  'python-package-publication',
282
- 'audrey-memory 1.0.0 Python package is built and published.',
282
+ `audrey-memory ${version} Python package is built and published.`,
283
283
  statusFromGaps(pypiGaps),
284
284
  [JSON.stringify(wheel), JSON.stringify(sdist), `PyPI status=${pypi.status}`],
285
285
  pypiGaps,
@@ -373,10 +373,10 @@ export async function auditReleaseCompletion(options = {}) {
373
373
  schemaVersion: '1.0.0',
374
374
  suite: 'Audrey release completion audit',
375
375
  generatedAt: new Date().toISOString(),
376
- objective: 'audrey 1.0 release + published audrey research paper',
376
+ objective: `audrey ${version} release + published audrey research paper`,
377
377
  successCriteria: [
378
- 'Audrey code is cut to 1.0.0 with local gates passing.',
379
- 'Final release commit and v1.0.0 tag are on the public repository.',
378
+ `Audrey code is cut to ${version} with local gates passing.`,
379
+ `Final release commit and v${version} tag are on the public repository.`,
380
380
  'npm and Python packages are packaged and publicly published.',
381
381
  'Paper artifacts verify locally and compile for arXiv.',
382
382
  'Paper publication targets are publicly submitted and operator verified.',
@@ -7,7 +7,7 @@ import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
7
7
  import { fileURLToPath } from 'node:url';
8
8
 
9
9
  const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..');
10
- const DEFAULT_VERSION = '1.0.0';
10
+ const DEFAULT_VERSION = '1.1.1';
11
11
  const DEFAULT_ARTIFACT_DIR = '.tmp/release-artifacts';
12
12
  const NPM_REGISTRY = 'https://registry.npmjs.org/';
13
13
  const RELEASE_COMMANDS = new Set(['git', 'node', 'npm', 'python']);
@@ -3,7 +3,7 @@ import { resolve } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
 
5
5
  const ROOT = process.cwd();
6
- const DEFAULT_TARGET_VERSION = '1.0.0';
6
+ const DEFAULT_TARGET_VERSION = '1.1.1';
7
7
  const VERSION_RE =
8
8
  /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
9
9
 
@@ -7,14 +7,17 @@ import { spawnSync } from 'node:child_process';
7
7
  import { fileURLToPath } from 'node:url';
8
8
 
9
9
  const ROOT = process.cwd();
10
- const DEFAULT_VERSION = '1.0.0';
11
- const DEFAULT_BUNDLE = '.tmp/release-artifacts/audrey-1.0.0.git.bundle';
10
+ const DEFAULT_VERSION = '1.1.1';
12
11
  const DEFAULT_REMOTE = 'https://github.com/Evilander/Audrey.git';
13
12
 
13
+ function defaultReleaseBundle(version = DEFAULT_VERSION) {
14
+ return `.tmp/release-artifacts/audrey-${version}.git.bundle`;
15
+ }
16
+
14
17
  function parseArgs(argv = process.argv.slice(2)) {
15
18
  const args = {
16
19
  version: DEFAULT_VERSION,
17
- bundle: DEFAULT_BUNDLE,
20
+ bundle: undefined,
18
21
  remote: DEFAULT_REMOTE,
19
22
  apply: false,
20
23
  json: false,
@@ -32,6 +35,7 @@ function parseArgs(argv = process.argv.slice(2)) {
32
35
  else throw new Error(`Unknown argument: ${token}`);
33
36
  }
34
37
 
38
+ args.bundle ??= defaultReleaseBundle(args.version);
35
39
  return args;
36
40
  }
37
41
 
@@ -39,7 +43,7 @@ function usage() {
39
43
  return `Usage: node scripts/publish-release-bundle.mjs [options]
40
44
 
41
45
  Options:
42
- --bundle <path> Release Git bundle. Default: ${DEFAULT_BUNDLE}.
46
+ --bundle <path> Release Git bundle. Default: ${defaultReleaseBundle()}.
43
47
  --remote <url> Push remote. Default: ${DEFAULT_REMOTE}.
44
48
  --version <version> Release version. Default: ${DEFAULT_VERSION}.
45
49
  --apply Actually push master and v<version>. Dry-run by default.
@@ -8,7 +8,7 @@ import { resolve } from 'node:path';
8
8
  const ROOT = process.cwd();
9
9
  const DEFAULT_REPOSITORY = 'Evilander/Audrey';
10
10
  const DEFAULT_BRANCH = 'master';
11
- const DEFAULT_VERSION = '1.0.0';
11
+ const DEFAULT_VERSION = '1.1.1';
12
12
  const DEFAULT_TOKEN_ENV = 'GITHUB_TOKEN';
13
13
  const API_VERSION = '2022-11-28';
14
14
 
@@ -66,12 +66,11 @@ function syncEvaluationText(text, summary, guardSummary) {
66
66
  function syncReadme(text, guardSummary) {
67
67
  return replaceOrFail(
68
68
  text,
69
- /Latest local result in this checkout: 10\/10 scenarios passed, 100% prevention\r?\nrate, 0% false-block rate, 0 raw secret leaks, 0 published artifact leaks in\r?\nthe raw-secret sweep, and [^\r\n]+\r?\np50\/p95 guard latency under the mock-provider methodology\./,
69
+ /<!-- guardbench-summary:start -->[\s\S]*?<!-- guardbench-summary:end -->/,
70
70
  [
71
- 'Latest local result in this checkout: 10/10 scenarios passed, 100% prevention',
72
- 'rate, 0% false-block rate, 0 raw secret leaks, 0 published artifact leaks in',
73
- `the raw-secret sweep, and ${metric(guardSummary.latency.p50Ms)}ms / ${metric(guardSummary.latency.p95Ms)}ms`,
74
- 'p50/p95 guard latency under the mock-provider methodology.',
71
+ '<!-- guardbench-summary:start -->',
72
+ `Latest local result in this checkout: 10/10 scenarios passed, 100% prevention rate, 0% false-block rate, 0 raw secret leaks, 0 published artifact leaks, and ${metric(guardSummary.latency.p50Ms)}ms / ${metric(guardSummary.latency.p95Ms)}ms p50/p95 Guard latency under the mock-provider methodology.`,
73
+ '<!-- guardbench-summary:end -->',
75
74
  ].join('\n'),
76
75
  'README GuardBench summary',
77
76
  );
@@ -13,7 +13,7 @@ import { verifyPaperSubmissionBundle } from './verify-paper-submission-bundle.mj
13
13
  import { verifyPublicationPack } from './verify-publication-pack.mjs';
14
14
 
15
15
  const ROOT = process.cwd();
16
- const DEFAULT_TARGET_VERSION = '1.0.0';
16
+ const DEFAULT_TARGET_VERSION = '1.1.1';
17
17
  const PYPI_CREDENTIAL_ENVS = ['TWINE_PASSWORD', 'PYPI_API_TOKEN', 'UV_PUBLISH_TOKEN'];
18
18
  const NPM_REGISTRY = 'https://registry.npmjs.org/';
19
19
  const PYPI_JSON_BASE = 'https://pypi.org/pypi';