audrey 1.3.0 → 2.1.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 (185) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +70 -71
  3. package/SECURITY.md +2 -3
  4. package/dist/mcp-server/config.d.ts +1 -1
  5. package/dist/mcp-server/config.d.ts.map +1 -1
  6. package/dist/mcp-server/config.js +31 -3
  7. package/dist/mcp-server/config.js.map +1 -1
  8. package/dist/mcp-server/index.d.ts +6 -2
  9. package/dist/mcp-server/index.d.ts.map +1 -1
  10. package/dist/mcp-server/index.js +151 -19
  11. package/dist/mcp-server/index.js.map +1 -1
  12. package/dist/mcp-server/tool-schemas.d.ts +46 -0
  13. package/dist/mcp-server/tool-schemas.d.ts.map +1 -1
  14. package/dist/mcp-server/tool-schemas.js +20 -1
  15. package/dist/mcp-server/tool-schemas.js.map +1 -1
  16. package/dist/src/action-key.d.ts.map +1 -1
  17. package/dist/src/action-key.js +7 -7
  18. package/dist/src/action-key.js.map +1 -1
  19. package/dist/src/adaptive.d.ts +2 -2
  20. package/dist/src/adaptive.d.ts.map +1 -1
  21. package/dist/src/adaptive.js.map +1 -1
  22. package/dist/src/affect.d.ts +2 -2
  23. package/dist/src/affect.d.ts.map +1 -1
  24. package/dist/src/affect.js.map +1 -1
  25. package/dist/src/audrey.d.ts +9 -6
  26. package/dist/src/audrey.d.ts.map +1 -1
  27. package/dist/src/audrey.js +210 -57
  28. package/dist/src/audrey.js.map +1 -1
  29. package/dist/src/autopilot.d.ts +1 -1
  30. package/dist/src/autopilot.d.ts.map +1 -1
  31. package/dist/src/autopilot.js +47 -224
  32. package/dist/src/autopilot.js.map +1 -1
  33. package/dist/src/capsule.d.ts +4 -17
  34. package/dist/src/capsule.d.ts.map +1 -1
  35. package/dist/src/capsule.js +21 -20
  36. package/dist/src/capsule.js.map +1 -1
  37. package/dist/src/causal.d.ts +4 -4
  38. package/dist/src/causal.d.ts.map +1 -1
  39. package/dist/src/causal.js.map +1 -1
  40. package/dist/src/chatgpt-auth.d.ts +77 -0
  41. package/dist/src/chatgpt-auth.d.ts.map +1 -0
  42. package/dist/src/chatgpt-auth.js +887 -0
  43. package/dist/src/chatgpt-auth.js.map +1 -0
  44. package/dist/src/chatgpt-llm.d.ts +18 -0
  45. package/dist/src/chatgpt-llm.d.ts.map +1 -0
  46. package/dist/src/chatgpt-llm.js +157 -0
  47. package/dist/src/chatgpt-llm.js.map +1 -0
  48. package/dist/src/consolidate.d.ts +3 -3
  49. package/dist/src/consolidate.d.ts.map +1 -1
  50. package/dist/src/consolidate.js +30 -2
  51. package/dist/src/consolidate.js.map +1 -1
  52. package/dist/src/controller.d.ts +7 -1
  53. package/dist/src/controller.d.ts.map +1 -1
  54. package/dist/src/controller.js +88 -14
  55. package/dist/src/controller.js.map +1 -1
  56. package/dist/src/db.d.ts +8 -7
  57. package/dist/src/db.d.ts.map +1 -1
  58. package/dist/src/db.js +127 -46
  59. package/dist/src/db.js.map +1 -1
  60. package/dist/src/decay.d.ts +2 -2
  61. package/dist/src/decay.d.ts.map +1 -1
  62. package/dist/src/decay.js.map +1 -1
  63. package/dist/src/embedding.d.ts.map +1 -1
  64. package/dist/src/embedding.js +19 -3
  65. package/dist/src/embedding.js.map +1 -1
  66. package/dist/src/encode.d.ts +16 -2
  67. package/dist/src/encode.d.ts.map +1 -1
  68. package/dist/src/encode.js +56 -17
  69. package/dist/src/encode.js.map +1 -1
  70. package/dist/src/events.d.ts +24 -7
  71. package/dist/src/events.d.ts.map +1 -1
  72. package/dist/src/events.js +130 -3
  73. package/dist/src/events.js.map +1 -1
  74. package/dist/src/export.d.ts +3 -2
  75. package/dist/src/export.d.ts.map +1 -1
  76. package/dist/src/export.js +9 -2
  77. package/dist/src/export.js.map +1 -1
  78. package/dist/src/feedback.d.ts +2 -2
  79. package/dist/src/feedback.d.ts.map +1 -1
  80. package/dist/src/feedback.js.map +1 -1
  81. package/dist/src/forget.d.ts +5 -5
  82. package/dist/src/forget.d.ts.map +1 -1
  83. package/dist/src/forget.js +6 -2
  84. package/dist/src/forget.js.map +1 -1
  85. package/dist/src/fts.d.ts +13 -13
  86. package/dist/src/fts.d.ts.map +1 -1
  87. package/dist/src/fts.js +4 -4
  88. package/dist/src/fts.js.map +1 -1
  89. package/dist/src/grounding.d.ts +5 -5
  90. package/dist/src/grounding.d.ts.map +1 -1
  91. package/dist/src/grounding.js +24 -11
  92. package/dist/src/grounding.js.map +1 -1
  93. package/dist/src/hybrid-recall.d.ts +7 -10
  94. package/dist/src/hybrid-recall.d.ts.map +1 -1
  95. package/dist/src/hybrid-recall.js +25 -57
  96. package/dist/src/hybrid-recall.js.map +1 -1
  97. package/dist/src/impact.d.ts +2 -2
  98. package/dist/src/impact.d.ts.map +1 -1
  99. package/dist/src/impact.js.map +1 -1
  100. package/dist/src/import.d.ts +42 -5
  101. package/dist/src/import.d.ts.map +1 -1
  102. package/dist/src/import.js +101 -42
  103. package/dist/src/import.js.map +1 -1
  104. package/dist/src/index.d.ts +3 -0
  105. package/dist/src/index.d.ts.map +1 -1
  106. package/dist/src/index.js +2 -0
  107. package/dist/src/index.js.map +1 -1
  108. package/dist/src/interference.d.ts +2 -2
  109. package/dist/src/interference.d.ts.map +1 -1
  110. package/dist/src/interference.js.map +1 -1
  111. package/dist/src/introspect.d.ts +2 -2
  112. package/dist/src/introspect.d.ts.map +1 -1
  113. package/dist/src/introspect.js.map +1 -1
  114. package/dist/src/llm-shared.d.ts +10 -0
  115. package/dist/src/llm-shared.d.ts.map +1 -0
  116. package/dist/src/llm-shared.js +20 -0
  117. package/dist/src/llm-shared.js.map +1 -0
  118. package/dist/src/llm.d.ts +2 -1
  119. package/dist/src/llm.d.ts.map +1 -1
  120. package/dist/src/llm.js +13 -22
  121. package/dist/src/llm.js.map +1 -1
  122. package/dist/src/migrate.d.ts +2 -2
  123. package/dist/src/migrate.d.ts.map +1 -1
  124. package/dist/src/migrate.js +34 -40
  125. package/dist/src/migrate.js.map +1 -1
  126. package/dist/src/preflight.d.ts +2 -0
  127. package/dist/src/preflight.d.ts.map +1 -1
  128. package/dist/src/preflight.js +5 -1
  129. package/dist/src/preflight.js.map +1 -1
  130. package/dist/src/project-memory.d.ts +14 -0
  131. package/dist/src/project-memory.d.ts.map +1 -0
  132. package/dist/src/project-memory.js +135 -0
  133. package/dist/src/project-memory.js.map +1 -0
  134. package/dist/src/project.d.ts +2 -0
  135. package/dist/src/project.d.ts.map +1 -1
  136. package/dist/src/project.js +12 -0
  137. package/dist/src/project.js.map +1 -1
  138. package/dist/src/promote.d.ts +2 -2
  139. package/dist/src/promote.d.ts.map +1 -1
  140. package/dist/src/promote.js +2 -26
  141. package/dist/src/promote.js.map +1 -1
  142. package/dist/src/recall-scoring.d.ts +14 -0
  143. package/dist/src/recall-scoring.d.ts.map +1 -0
  144. package/dist/src/recall-scoring.js +167 -0
  145. package/dist/src/recall-scoring.js.map +1 -0
  146. package/dist/src/recall.d.ts +3 -3
  147. package/dist/src/recall.d.ts.map +1 -1
  148. package/dist/src/recall.js +31 -168
  149. package/dist/src/recall.js.map +1 -1
  150. package/dist/src/rollback.d.ts +15 -3
  151. package/dist/src/rollback.d.ts.map +1 -1
  152. package/dist/src/rollback.js +118 -25
  153. package/dist/src/rollback.js.map +1 -1
  154. package/dist/src/routes.d.ts.map +1 -1
  155. package/dist/src/routes.js +102 -33
  156. package/dist/src/routes.js.map +1 -1
  157. package/dist/src/rules-compiler.d.ts +4 -0
  158. package/dist/src/rules-compiler.d.ts.map +1 -1
  159. package/dist/src/rules-compiler.js +34 -2
  160. package/dist/src/rules-compiler.js.map +1 -1
  161. package/dist/src/server.d.ts +2 -0
  162. package/dist/src/server.d.ts.map +1 -1
  163. package/dist/src/server.js +96 -38
  164. package/dist/src/server.js.map +1 -1
  165. package/dist/src/shell-command.d.ts.map +1 -1
  166. package/dist/src/shell-command.js +24 -7
  167. package/dist/src/shell-command.js.map +1 -1
  168. package/dist/src/sqlite.d.ts +31 -0
  169. package/dist/src/sqlite.d.ts.map +1 -0
  170. package/dist/src/sqlite.js +113 -0
  171. package/dist/src/sqlite.js.map +1 -0
  172. package/dist/src/success-checks.d.ts +41 -0
  173. package/dist/src/success-checks.d.ts.map +1 -0
  174. package/dist/src/success-checks.js +164 -0
  175. package/dist/src/success-checks.js.map +1 -0
  176. package/dist/src/tool-trace.d.ts +2 -2
  177. package/dist/src/tool-trace.d.ts.map +1 -1
  178. package/dist/src/tool-trace.js.map +1 -1
  179. package/dist/src/types.d.ts +8 -2
  180. package/dist/src/types.d.ts.map +1 -1
  181. package/dist/src/validate.d.ts +4 -4
  182. package/dist/src/validate.d.ts.map +1 -1
  183. package/dist/src/validate.js +23 -9
  184. package/dist/src/validate.js.map +1 -1
  185. package/package.json +12 -23
@@ -15,6 +15,10 @@ export interface RuleDoc {
15
15
  body: string;
16
16
  frontmatter: Record<string, unknown>;
17
17
  }
18
+ /** Old generated names are recognized for preservation, never used for new writes. */
19
+ export declare function legacyClaudeRuleRelativePath(candidate: PromotionCandidate): string;
20
+ /** Match the generated provenance header, not untrusted text in the evidence body. */
21
+ export declare function claudeRuleHasProvenance(contents: string, candidate: PromotionCandidate): boolean;
18
22
  export declare function renderClaudeRule(candidate: PromotionCandidate, promotedAt: string): RuleDoc;
19
23
  export declare function renderAllRules(candidates: PromotionCandidate[], promotedAt: string): RuleDoc[];
20
24
  //# sourceMappingURL=rules-compiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rules-compiler.d.ts","sourceRoot":"","sources":["../../src/rules-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAsGD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAwE3F;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,CAwB9F"}
1
+ {"version":3,"file":"rules-compiler.d.ts","sourceRoot":"","sources":["../../src/rules-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAkCD,sFAAsF;AACtF,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAElF;AAED,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAkBhG;AAsED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CA8E3F;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,CAwB9F"}
@@ -7,6 +7,7 @@
7
7
  * traceable: a later audit or revert can map the file back to the exact
8
8
  * memories that produced it.
9
9
  */
10
+ import { createHash } from 'node:crypto';
10
11
  const STOP_WORDS = new Set([
11
12
  'the',
12
13
  'a',
@@ -35,6 +36,31 @@ function slugifyTitle(title) {
35
36
  const slug = words.slice(0, 6).join('-');
36
37
  return slug.length > 0 ? slug : 'rule';
37
38
  }
39
+ /** Old generated names are recognized for preservation, never used for new writes. */
40
+ export function legacyClaudeRuleRelativePath(candidate) {
41
+ return `.claude/rules/${slugifyTitle(titleFor(candidate))}.md`;
42
+ }
43
+ /** Match the generated provenance header, not untrusted text in the evidence body. */
44
+ export function claudeRuleHasProvenance(contents, candidate) {
45
+ const normalized = contents.replace(/\r\n/g, '\n');
46
+ if (!normalized.startsWith('---\n'))
47
+ return false;
48
+ const end = normalized.indexOf('\n---\n', 4);
49
+ if (end === -1)
50
+ return false;
51
+ const lines = normalized.slice(4, end).split('\n');
52
+ const start = lines.indexOf('audrey:');
53
+ if (start === -1)
54
+ return false;
55
+ const audrey = [];
56
+ for (let i = start + 1; i < lines.length && lines[i].startsWith(' '); i++)
57
+ audrey.push(lines[i]);
58
+ const idsIndex = audrey.indexOf(' memory_ids:');
59
+ return (idsIndex !== -1 &&
60
+ audrey[idsIndex + 1] === ` - ${quoteString(candidate.memory_id)}` &&
61
+ audrey.includes(` memory_type: ${quoteString(candidate.memory_type)}`) &&
62
+ audrey.includes(` candidate_id: ${quoteString(candidate.candidate_id)}`));
63
+ }
38
64
  function renderFrontmatter(meta) {
39
65
  const lines = ['---'];
40
66
  for (const [key, value] of Object.entries(meta)) {
@@ -100,7 +126,12 @@ function inlineExcerpt(value, maxLength = 240) {
100
126
  }
101
127
  export function renderClaudeRule(candidate, promotedAt) {
102
128
  const title = titleFor(candidate);
103
- const slug = slugifyTitle(title);
129
+ // Preserve the complete identity across separate calls and case-insensitive
130
+ // filesystems. Imported identifiers never become filesystem path fragments.
131
+ const identity = createHash('sha256')
132
+ .update(JSON.stringify([candidate.memory_type, candidate.memory_id]))
133
+ .digest('hex');
134
+ const slug = `audrey-${candidate.memory_type === 'procedural' ? 'proc' : 'sem'}-${identity}`;
104
135
  const relativePath = `.claude/rules/${slug}.md`;
105
136
  const frontmatter = {
106
137
  title,
@@ -155,7 +186,8 @@ export function renderClaudeRule(candidate, promotedAt) {
155
186
  '',
156
187
  `- Source memory: \`${candidate.memory_type}:${candidate.memory_id}\``,
157
188
  `- Promoted at: ${promotedAt}`,
158
- `- Revocation: delete this file, or run \`audrey forget ${candidate.memory_id}\` to retract the underlying memory.`,
189
+ '- Revocation: delete this file to stop applying this generated rule.',
190
+ `- Memory retraction: separately use the \`memory_forget\` tool with \`id\` set to ${JSON.stringify(candidate.memory_id)}, or the JavaScript SDK \`audrey.forget(${JSON.stringify(candidate.memory_id)})\`. Retracting the memory does not delete this rule file.`,
159
191
  '',
160
192
  ];
161
193
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"rules-compiler.js","sourceRoot":"","sources":["../../src/rules-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules-compiler.js","sourceRoot":"","sources":["../../src/rules-compiler.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export interface ServerOptions {
5
5
  config: AudreyConfig;
6
6
  apiKey?: string;
7
7
  sharedScopeEnabled?: boolean;
8
+ /** Total grace period for active requests and queued post-encode work. */
9
+ shutdownTimeoutMs?: number;
8
10
  }
9
11
  export declare function startServer(options: ServerOptions): Promise<{
10
12
  port: number;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa;;;;GA4DvD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa;;;iBAyElC,OAAO,CAAC,IAAI,CAAC;GAiDlC"}
@@ -1,4 +1,4 @@
1
- import { serve } from '@hono/node-server';
1
+ import { createAdaptorServer } from '@hono/node-server';
2
2
  import { createApp } from './routes.js';
3
3
  import { Audrey } from './audrey.js';
4
4
  export async function startServer(options) {
@@ -6,7 +6,10 @@ export async function startServer(options) {
6
6
  // default (the prior 0.0.0.0) means any same-network process could read
7
7
  // memories, purge by query, or import poisoned snapshots. Operators that
8
8
  // genuinely need network exposure must set AUDREY_HOST explicitly.
9
- const { port = 7437, hostname = '127.0.0.1', config, apiKey, sharedScopeEnabled } = options;
9
+ const { port = 7437, hostname = '127.0.0.1', config, apiKey, sharedScopeEnabled, shutdownTimeoutMs = 10_000, } = options;
10
+ if (!Number.isFinite(shutdownTimeoutMs) || shutdownTimeoutMs < 0) {
11
+ throw new Error('shutdownTimeoutMs must be a finite non-negative number');
12
+ }
10
13
  // Refuse to start without auth on a non-loopback bind. The escape hatch is
11
14
  // explicit so a misconfigured deploy can't silently expose memories.
12
15
  const isLoopback = hostname === '127.0.0.1' || hostname === '::1' || hostname === 'localhost';
@@ -19,42 +22,97 @@ export async function startServer(options) {
19
22
  `Anyone on this network can read and modify memories.`);
20
23
  }
21
24
  const audrey = new Audrey(config);
22
- if (audrey.embeddingProvider && typeof audrey.embeddingProvider.ready === 'function') {
23
- await audrey.embeddingProvider.ready();
24
- }
25
- const app = createApp(audrey, { apiKey, sharedScopeEnabled });
26
- const server = serve({ fetch: app.fetch, port, hostname }, info => {
27
- console.error(`[audrey-http] listening on ${hostname}:${info.port}`);
28
- });
29
- return {
30
- port,
31
- hostname,
32
- close: async () => {
33
- // Wrap server.close in a promise so we actually wait for connections to
34
- // drain. If the listener never bound (e.g. close was called before the
35
- // tick that finishes startup) Node throws ERR_SERVER_NOT_RUNNING — that
36
- // outcome already satisfies the caller's intent so we treat it as done.
37
- await new Promise((resolve, reject) => {
38
- server.close(err => {
39
- if (!err)
40
- return resolve();
41
- const code = err.code;
42
- if (code === 'ERR_SERVER_NOT_RUNNING')
43
- return resolve();
44
- reject(err);
45
- });
25
+ let server;
26
+ const sockets = new Set();
27
+ try {
28
+ if (typeof audrey.embeddingProvider.ready === 'function') {
29
+ await audrey.embeddingProvider.ready();
30
+ }
31
+ const app = createApp(audrey, { apiKey, sharedScopeEnabled });
32
+ const listener = createAdaptorServer({ fetch: app.fetch });
33
+ server = listener;
34
+ let shuttingDown = false;
35
+ listener.on('connection', (socket) => {
36
+ sockets.add(socket);
37
+ socket.once('close', () => sockets.delete(socket));
38
+ });
39
+ listener.on('request', (_request, response) => {
40
+ response.once('finish', () => {
41
+ // server.close() reaps sockets already idle at shutdown, but requests
42
+ // active at that point can subsequently enter their keep-alive wait.
43
+ if (shuttingDown && 'closeIdleConnections' in listener) {
44
+ listener.closeIdleConnections();
45
+ }
46
46
  });
47
- try {
48
- await audrey.closeAsync();
49
- }
50
- catch (err) {
51
- // Don't swallow silently: surface to stderr so operators see the
52
- // pending-queue/closed-DB races we added closeAsync to catch.
53
- const cause = err instanceof Error ? err.message : String(err);
54
- console.error(`[audrey-http] closeAsync error during shutdown: ${cause}`);
55
- throw err;
56
- }
57
- },
58
- };
47
+ });
48
+ await new Promise((resolve, reject) => {
49
+ const failed = (error) => {
50
+ listener.removeListener('listening', listening);
51
+ reject(error);
52
+ };
53
+ const listening = () => {
54
+ listener.removeListener('error', failed);
55
+ resolve();
56
+ };
57
+ listener.once('error', failed);
58
+ listener.once('listening', listening);
59
+ listener.listen(port, hostname);
60
+ });
61
+ const address = listener.address();
62
+ if (!address || typeof address === 'string')
63
+ throw new Error('HTTP server did not bind a port');
64
+ console.error(`[audrey-http] listening on ${hostname}:${address.port}`);
65
+ let closing;
66
+ const close = () => {
67
+ closing ??= (async () => {
68
+ shuttingDown = true;
69
+ const deadline = Date.now() + shutdownTimeoutMs;
70
+ let shutdownError;
71
+ try {
72
+ await new Promise((resolve, reject) => {
73
+ const timeout = setTimeout(() => {
74
+ console.error('[audrey-http] shutdown grace period expired; closing active connections');
75
+ for (const socket of sockets)
76
+ socket.destroy();
77
+ reject(new Error('HTTP shutdown grace period expired'));
78
+ }, Math.max(0, deadline - Date.now()));
79
+ listener.close(error => {
80
+ clearTimeout(timeout);
81
+ if (error && error.code !== 'ERR_SERVER_NOT_RUNNING') {
82
+ reject(error);
83
+ }
84
+ else
85
+ resolve();
86
+ });
87
+ });
88
+ }
89
+ catch (error) {
90
+ shutdownError = error instanceof Error ? error : new Error(String(error));
91
+ }
92
+ const drained = await audrey.closeAsync(Math.max(0, deadline - Date.now()));
93
+ if (drained && !drained.drained) {
94
+ console.error(`[audrey-http] shutdown left pending post-encode work: ${drained.pendingIds.join(', ')}`);
95
+ throw new Error('Post-encode work did not drain before the shutdown deadline');
96
+ }
97
+ if (shutdownError)
98
+ throw shutdownError;
99
+ })();
100
+ return closing;
101
+ };
102
+ return { port: address.port, hostname, close };
103
+ }
104
+ catch (error) {
105
+ for (const socket of sockets)
106
+ socket.destroy();
107
+ if (server?.listening)
108
+ server.close();
109
+ try {
110
+ await audrey.closeAsync(0);
111
+ }
112
+ catch (cleanupError) {
113
+ console.error('[audrey-http] startup cleanup failed:', cleanupError);
114
+ }
115
+ throw error;
116
+ }
59
117
  }
60
118
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAWrC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAsB;IACtD,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,QAAQ,GAAG,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAC5F,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,UAAU,GAAG,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,WAAW,CAAC;IAC9F,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,2BAA2B;YACvE,iFAAiF,CACpF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CACX,qCAAqC,QAAQ,0CAA0C;YACrF,sDAAsD,CACzD,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,MAAM,CAAC,iBAAiB,IAAI,OAAO,MAAM,CAAC,iBAAiB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACrF,MAAM,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE;QAChE,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,wEAAwE;YACxE,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACjB,IAAI,CAAC,GAAG;wBAAE,OAAO,OAAO,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;oBACjD,IAAI,IAAI,KAAK,wBAAwB;wBAAE,OAAO,OAAO,EAAE,CAAC;oBACxD,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iEAAiE;gBACjE,8DAA8D;gBAC9D,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/D,OAAO,CAAC,KAAK,CAAC,mDAAmD,KAAK,EAAE,CAAC,CAAC;gBAC1E,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell-command.d.ts","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAy2BD,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAktBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,mBAAmB,CAqBrB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAInF"}
1
+ {"version":3,"file":"shell-command.d.ts","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAy2BD,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsuBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,mBAAmB,CAqBrB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAInF"}
@@ -272,7 +272,6 @@ function tokenize(command) {
272
272
  flush();
273
273
  return tokens;
274
274
  }
275
- const DISCARD_TARGETS = new Set(['/dev/null', 'nul', 'nul:']);
276
275
  function splitSegments(tokens) {
277
276
  const result = [];
278
277
  let current = { words: [], writes: false, consumer: false };
@@ -299,7 +298,9 @@ function splitSegments(tokens) {
299
298
  pendingRedirect = token.op;
300
299
  }
301
300
  else if (pendingRedirect) {
302
- if (pendingRedirect.includes('>') && !DISCARD_TARGETS.has(token.word.text.toLowerCase())) {
301
+ // This parser models shell commands, including Bash on Windows. DOS
302
+ // device names and differently cased paths can be ordinary output files.
303
+ if (pendingRedirect.includes('>') && token.word.text !== '/dev/null') {
303
304
  current.writes = true;
304
305
  }
305
306
  pendingRedirect = undefined;
@@ -888,8 +889,12 @@ function gitArgs(args) {
888
889
  return rest;
889
890
  }
890
891
  function gitIsReadOnly(sub, rest) {
891
- // `--output=<path>` makes log, diff, show and their kind write a file.
892
- if (rest.some(arg => /^--output(?:=|$)/.test(arg)))
892
+ // Output and program-selection options defeat the read-only subcommand
893
+ // allowlist. Include Git's accepted long-option abbreviations.
894
+ if (rest.some(arg => ['--output', '--upload-pack', '--exec', '--ext-diff', '--textconv'].some(option => {
895
+ const name = arg.split('=')[0];
896
+ return name.startsWith('--') && name.length > 3 && option.startsWith(name);
897
+ })))
893
898
  return false;
894
899
  if (GIT_READ_ONLY.has(sub))
895
900
  return true;
@@ -919,8 +924,14 @@ function gitIsReadOnly(sub, rest) {
919
924
  return false;
920
925
  }
921
926
  return positional(rest).length === 0 || rest.some(arg => GIT_BRANCH_LIST_FLAGS.has(arg));
922
- case 'remote':
923
- return rest.length === 0 || rest[0] === '-v' || rest[0] === 'show' || rest[0] === 'get-url';
927
+ case 'remote': {
928
+ // Verbose is a global option, not a read-only operation: it may precede
929
+ // `add`, `remove`, `set-url`, or any other mutating subcommand.
930
+ const args = [...rest];
931
+ while (args[0] === '-v' || args[0] === '--verbose')
932
+ args.shift();
933
+ return args.length === 0 || args[0] === 'show' || args[0] === 'get-url';
934
+ }
924
935
  case 'tag':
925
936
  if (usesShortFlag(rest, 'df') || rest.some(arg => arg === '--delete' || arg === '--force')) {
926
937
  return false;
@@ -956,8 +967,9 @@ function npmProfile(verb, args) {
956
967
  }
957
968
  if (sub === 'audit')
958
969
  return { readOnly: !args.includes('fix'), signature: `${verb} audit` };
970
+ // A dry run still executes package lifecycle scripts.
959
971
  if (sub === 'pack')
960
- return { readOnly: args.includes('--dry-run'), signature: `${verb} pack` };
972
+ return { readOnly: false, signature: `${verb} pack` };
961
973
  if (sub === 'version') {
962
974
  return { readOnly: positional(args).length === 1, signature: `${verb} version` };
963
975
  }
@@ -1319,6 +1331,11 @@ function profileVerb(verb, args) {
1319
1331
  };
1320
1332
  case 'hostname':
1321
1333
  return { readOnly: positional(args).length === 0, signature: 'hostname' };
1334
+ case 'ss':
1335
+ return {
1336
+ readOnly: !usesShortFlag(args, 'K') && !args.some(arg => arg === '--kill'),
1337
+ signature: 'ss',
1338
+ };
1322
1339
  case 'env':
1323
1340
  return { readOnly: args.every(isFlag), signature: 'env' };
1324
1341
  case 'git': {
@@ -1 +1 @@
1
- {"version":3,"file":"shell-command.js","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-command.js","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"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"}