swarm-deploy 0.4.2 → 0.5.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.
package/dist/hooks.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type AbortSignalLike } from './abort.js';
2
2
  import { SwarmDeployError } from './errors.js';
3
+ import { type HookResult } from './hook-result.js';
3
4
  import type { ReleaseCoordinates } from './release.js';
4
5
  import type { ArtifactKind } from './types.js';
5
6
  export type HookFailurePhase = 'offer' | 'transfer' | 'verification' | 'beforeCommit' | 'commit' | 'afterCommit' | 'afterLink';
@@ -86,7 +87,14 @@ export interface HookFailureContext {
86
87
  export interface ServerHooks {
87
88
  beforeCommit?(context: BeforeCommitContext): void | Promise<void>;
88
89
  afterCommit?(context: AfterCommitContext): void | Promise<void>;
89
- afterLink?(context: AfterLinkContext): void | Promise<void>;
90
+ /**
91
+ * May return a plain JSON object (see `HookResult`) that you choose to hand
92
+ * back to an explicit `Client.link` caller that asked for it. Nothing is
93
+ * derived from the context, the error, or the environment. The value is read
94
+ * only for such a request: an upload's automatic links and a request that did
95
+ * not opt in ignore it, even when it is not valid.
96
+ */
97
+ afterLink?(context: AfterLinkContext): void | HookResult | Promise<void | HookResult>;
90
98
  onFailure?(context: HookFailureContext): void | Promise<void>;
91
99
  }
92
100
  /** Every callback name a hooks object or hooks module may carry. */
@@ -102,18 +110,35 @@ export declare function snapshotHooks(hooks: ServerHooks | null | undefined): Re
102
110
  * carry secrets) never reaches the wire; the original error stays on `cause`.
103
111
  */
104
112
  export declare function hookError(phase: HookFailurePhase, cause: unknown): SwarmDeployError;
113
+ /**
114
+ * The checked copy of what an `afterLink` hook returned, or `undefined` for a
115
+ * hook that returned nothing. Any other value that is not a valid result fails
116
+ * like a throw: `HOOK_FAILED` with a fixed message, and the reason (never the
117
+ * value) on `cause` for `onFailure`.
118
+ */
119
+ export declare function hookResultOf(returned: unknown): HookResult | undefined;
105
120
  /**
106
121
  * The error an `onFailure` hook should see: the raw exception for failures this
107
122
  * module wrapped, otherwise the error unchanged. Only identity-tracked wrappers
108
123
  * unwrap, so a forged `HOOK_FAILED` error cannot masquerade as one.
109
124
  */
110
125
  export declare function callbackError(error: unknown): unknown;
126
+ /**
127
+ * How a hook call ended. `value` is whatever the callback returned or resolved
128
+ * to; the caller decides whether to read it.
129
+ */
130
+ export type HookOutcome = {
131
+ status: 'completed';
132
+ value: unknown;
133
+ } | {
134
+ status: 'aborted';
135
+ };
111
136
  /**
112
137
  * Calls a callback with no receiver and settles when it does or when the
113
138
  * server aborts, whichever is first. A callback that outlives an abort keeps
114
139
  * running detached; its later rejection is swallowed.
115
140
  */
116
- export declare function invokeHook<Context>(callback: (context: Context) => void | Promise<void>, context: Context, signal: AbortSignalLike): Promise<'completed' | 'aborted'>;
141
+ export declare function invokeHook<Context>(callback: (context: Context) => unknown, context: Context, signal: AbortSignalLike): Promise<HookOutcome>;
117
142
  /** One place in a key's line of hooks. */
118
143
  export interface HookTurn {
119
144
  /**
package/dist/hooks.js CHANGED
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HookTurns = exports.HOOK_NAMES = void 0;
4
4
  exports.snapshotHooks = snapshotHooks;
5
5
  exports.hookError = hookError;
6
+ exports.hookResultOf = hookResultOf;
6
7
  exports.callbackError = callbackError;
7
8
  exports.invokeHook = invokeHook;
8
9
  const abort_js_1 = require("./abort.js");
9
10
  const errors_js_1 = require("./errors.js");
11
+ const hook_result_js_1 = require("./hook-result.js");
10
12
  const WRAPPED_CALLBACK_ERRORS = new WeakMap();
11
13
  /** Every callback name a hooks object or hooks module may carry. */
12
14
  exports.HOOK_NAMES = ['beforeCommit', 'afterCommit', 'afterLink', 'onFailure'];
@@ -52,6 +54,22 @@ function hookError(phase, cause) {
52
54
  WRAPPED_CALLBACK_ERRORS.set(error, cause);
53
55
  return error;
54
56
  }
57
+ /**
58
+ * The checked copy of what an `afterLink` hook returned, or `undefined` for a
59
+ * hook that returned nothing. Any other value that is not a valid result fails
60
+ * like a throw: `HOOK_FAILED` with a fixed message, and the reason (never the
61
+ * value) on `cause` for `onFailure`.
62
+ */
63
+ function hookResultOf(returned) {
64
+ if (returned === undefined)
65
+ return undefined;
66
+ try {
67
+ return (0, hook_result_js_1.copyHookResult)(returned);
68
+ }
69
+ catch (cause) {
70
+ throw hookError('afterLink', cause);
71
+ }
72
+ }
55
73
  /**
56
74
  * The error an `onFailure` hook should see: the raw exception for failures this
57
75
  * module wrapped, otherwise the error unchanged. Only identity-tracked wrappers
@@ -78,10 +96,13 @@ async function invokeHook(callback, context, signal) {
78
96
  pending.catch(() => { });
79
97
  let release = () => { };
80
98
  const aborted = new Promise((resolve) => {
81
- release = (0, abort_js_1.onAbort)(signal, () => resolve('aborted'));
99
+ release = (0, abort_js_1.onAbort)(signal, () => resolve({ status: 'aborted' }));
82
100
  });
83
101
  try {
84
- return await Promise.race([pending.then(() => 'completed'), aborted]);
102
+ return await Promise.race([
103
+ pending.then((value) => ({ status: 'completed', value })),
104
+ aborted
105
+ ]);
85
106
  }
86
107
  finally {
87
108
  release();
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,11 +2,12 @@ export { ERRORS, SwarmDeployError, type ErrorCode } from './errors.js';
2
2
  export type { Binary, BinaryInput, Digest, FingerprintEvent, KeyPair, Logger, PublicKey, PublicKeyInput, Seed, SeedInput, ServerScheduler } from './types.js';
3
3
  export { parseSeed, parsePublicKey, generateSeed, keyPairFromSeed, publicKeyFromSeed } from './identity.js';
4
4
  export type { AfterCommitContext, AfterLinkContext, BeforeCommitContext, HookArtifact, HookFailureContext, HookFailurePhase, HookLink, HookLinkMode, HookLinkStatus, HookLinkTrigger, ServerHooks } from './hooks.js';
5
+ export type { HookResult, HookResultValue } from './hook-result.js';
5
6
  export { fixedSeriesKey, type ReleaseCoordinates, type VersionGranularity } from './release.js';
6
7
  export { parseAllowlist } from './allowlist.js';
7
8
  export type { ArtifactKind } from './types.js';
8
9
  export type { UploadTarget } from './files.js';
9
10
  export type { SymlinkRule } from './symlinks.js';
10
11
  export { Server, type AllowlistKey, type RecoveryEvent, type RetentionEvent, type ServerCloseEvent, type ServerConnectionEvent, type ServerEvent, type ServerEventName, type ServerEventMap, type ServerLinkEvent, type ServerListeningEvent, type ServerOfferEvent, type ServerOptions, type ServerProgressEvent, type ServerTransferLifecycleEvent } from './server.js';
11
- export { Client, type ClientEvent, type ClientEventMap, type ClientEventName, type ClientLinkEvent, type ClientLinkResult, type ClientLinkStatus, type ClientOfferEvent, type ClientOptions, type ClientProgressEvent, type ClientResultEvent, type ClientUploadResult, type UploadResult, type UploadStatus } from './client.js';
12
+ export { Client, type ClientEvent, type ClientEventMap, type ClientEventName, type ClientLinkEvent, type ClientLinkOptions, type ClientLinkResult, type ClientLinkStatus, type ClientOfferEvent, type ClientOptions, type ClientProgressEvent, type ClientResultEvent, type ClientUploadResult, type UploadResult, type UploadStatus } from './client.js';
12
13
  export type { StorageAdapter, StorageFileHandle, StorageMkdirOptions, StorageReadResult, StorageRmOptions, StorageStatFs, StorageStats, StorageWriteResult, SymlinkCapableStorage } from './storage/types.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,mGAAA,MAAM,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAcjC,6CAMsB;AALpB,wGAAA,SAAS,OAAA;AACT,6GAAA,cAAc,OAAA;AACd,2GAAA,YAAY,OAAA;AACZ,8GAAA,eAAe,OAAA;AACf,gHAAA,iBAAiB,OAAA;AAenB,2CAA+F;AAAtF,4GAAA,cAAc,OAAA;AACvB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;AAIvB,yCAgBoB;AAflB,mGAAA,MAAM,OAAA;AAgBR,yCAeoB;AAdlB,mGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,mGAAA,MAAM,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAcjC,6CAMsB;AALpB,wGAAA,SAAS,OAAA;AACT,6GAAA,cAAc,OAAA;AACd,2GAAA,YAAY,OAAA;AACZ,8GAAA,eAAe,OAAA;AACf,gHAAA,iBAAiB,OAAA;AAgBnB,2CAA+F;AAAtF,4GAAA,cAAc,OAAA;AACvB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;AAIvB,yCAgBoB;AAflB,mGAAA,MAAM,OAAA;AAgBR,yCAgBoB;AAflB,mGAAA,MAAM,OAAA"}
package/dist/release.js CHANGED
@@ -8,8 +8,8 @@ exports.fixedSeriesKey = fixedSeriesKey;
8
8
  exports.compareReleaseVersions = compareReleaseVersions;
9
9
  exports.releaseVersionGroup = releaseVersionGroup;
10
10
  const b4a_1 = __importDefault(require("b4a"));
11
- const semver_1 = require("semver");
12
11
  const files_js_1 = require("./files.js");
12
+ const semver_js_1 = require("./semver.js");
13
13
  const hash_js_1 = require("./tar-protocol/hash.js");
14
14
  const PLACEHOLDER_SERIES = '{series}';
15
15
  const PLACEHOLDER_VERSION = '{version}';
@@ -83,32 +83,12 @@ function isSafeSeriesCapture(value) {
83
83
  componentByteLength(value) <= exports.MAX_RELEASE_COMPONENT_BYTES &&
84
84
  !RESERVED_FIXED_SERIES.test(value));
85
85
  }
86
- function validateStrictReleaseVersion(raw) {
87
- if (raw.length === 0 || componentByteLength(raw) > exports.MAX_RELEASE_COMPONENT_BYTES) {
88
- return undefined;
89
- }
90
- if (raw.trim() !== raw)
91
- return undefined;
92
- if (/^[vV]/.test(raw))
93
- return undefined;
94
- if (/[/\\]/.test(raw))
95
- return undefined;
96
- try {
97
- const parsed = new semver_1.SemVer(raw, { loose: false });
98
- const core = raw.split('+', 1)[0];
99
- if (core !== parsed.version)
100
- return undefined;
101
- return parsed;
102
- }
103
- catch {
104
- return undefined;
105
- }
106
- }
86
+ /** A captured version may carry build metadata; the canonical form drops it. */
107
87
  function normalizeCapturedVersion(raw) {
108
- return validateStrictReleaseVersion(raw)?.version;
88
+ return (0, semver_js_1.parseStrictVersion)(raw)?.version;
109
89
  }
110
90
  function parseReleaseVersion(raw) {
111
- const parsed = validateStrictReleaseVersion(raw);
91
+ const parsed = (0, semver_js_1.parseStrictVersion)(raw);
112
92
  if (!parsed)
113
93
  throw new Error('Invalid release version');
114
94
  return parsed;
@@ -405,7 +385,7 @@ class ReleaseMatcher {
405
385
  }
406
386
  exports.ReleaseMatcher = ReleaseMatcher;
407
387
  function compareReleaseVersions(left, right) {
408
- return (0, semver_1.compare)(parseReleaseVersion(left), parseReleaseVersion(right));
388
+ return (0, semver_js_1.compareStrictVersions)(parseReleaseVersion(left), parseReleaseVersion(right));
409
389
  }
410
390
  function releaseVersionGroup(version, granularity) {
411
391
  if (granularity !== 'major' && granularity !== 'minor') {
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /** A strictly validated SemVer 2.0.0 version with every core component a safe integer. */
2
+ export interface StrictVersion {
3
+ major: number;
4
+ minor: number;
5
+ patch: number;
6
+ prerelease: readonly string[];
7
+ /** `major.minor.patch[-prerelease]`: the canonical form, which never carries build metadata. */
8
+ version: string;
9
+ /** Whether the input carried `+build` metadata that `version` omits. */
10
+ hasBuild: boolean;
11
+ }
12
+ /**
13
+ * Parses one canonical release version, or returns undefined.
14
+ *
15
+ * The version must be a string of at most 100 UTF-8 bytes with no surrounding
16
+ * whitespace, `v` prefix, or path separator, and its major, minor, and patch
17
+ * must be safe integers. `bare-semver` accepts any length and rounds oversized
18
+ * components through `parseInt`, so those bounds are enforced here. Build
19
+ * metadata is accepted and reported through `hasBuild`; a caller that stores
20
+ * versions compares `version` with its input to reject it.
21
+ */
22
+ export declare function parseStrictVersion(raw: unknown): StrictVersion | undefined;
23
+ /**
24
+ * SemVer 2.0.0 precedence; build metadata never takes part.
25
+ *
26
+ * This does not delegate to `Version.compare`: it coerces numeric prerelease
27
+ * identifiers to Number, so two distinct identifiers beyond 2^53 that round to
28
+ * the same value each compare as lower than the other. Retention sorts by this
29
+ * order, so it has to stay total. Valid identifiers carry no leading zeros, so a
30
+ * longer digit string is the larger number and equal lengths order
31
+ * lexicographically; every other case matches `Version.compare`.
32
+ */
33
+ export declare function compareStrictVersions(left: StrictVersion, right: StrictVersion): number;
package/dist/semver.js ADDED
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseStrictVersion = parseStrictVersion;
7
+ exports.compareStrictVersions = compareStrictVersions;
8
+ const b4a_1 = __importDefault(require("b4a"));
9
+ const bare_semver_1 = require("bare-semver");
10
+ /** Protocol: a release version is one safe path component, max 100 UTF-8 bytes. */
11
+ const MAX_VERSION_BYTES = 100;
12
+ const NUMERIC = /^[0-9]+$/;
13
+ /**
14
+ * Parses one canonical release version, or returns undefined.
15
+ *
16
+ * The version must be a string of at most 100 UTF-8 bytes with no surrounding
17
+ * whitespace, `v` prefix, or path separator, and its major, minor, and patch
18
+ * must be safe integers. `bare-semver` accepts any length and rounds oversized
19
+ * components through `parseInt`, so those bounds are enforced here. Build
20
+ * metadata is accepted and reported through `hasBuild`; a caller that stores
21
+ * versions compares `version` with its input to reject it.
22
+ */
23
+ function parseStrictVersion(raw) {
24
+ if (typeof raw !== 'string' || raw.length === 0)
25
+ return undefined;
26
+ if (b4a_1.default.from(raw).byteLength > MAX_VERSION_BYTES)
27
+ return undefined;
28
+ if (raw.trim() !== raw || /^[vV]/.test(raw) || /[/\\]/.test(raw))
29
+ return undefined;
30
+ let parsed;
31
+ try {
32
+ parsed = bare_semver_1.Version.parse(raw);
33
+ }
34
+ catch {
35
+ return undefined;
36
+ }
37
+ const { major, minor, patch, prerelease, build } = parsed;
38
+ if (![major, minor, patch].every((part) => Number.isSafeInteger(part)))
39
+ return undefined;
40
+ const core = `${major}.${minor}.${patch}`;
41
+ const version = prerelease.length > 0 ? `${core}-${prerelease.join('.')}` : core;
42
+ if (raw.split('+', 1)[0] !== version)
43
+ return undefined;
44
+ return { major, minor, patch, prerelease, version, hasBuild: build.length > 0 };
45
+ }
46
+ /**
47
+ * SemVer 2.0.0 precedence; build metadata never takes part.
48
+ *
49
+ * This does not delegate to `Version.compare`: it coerces numeric prerelease
50
+ * identifiers to Number, so two distinct identifiers beyond 2^53 that round to
51
+ * the same value each compare as lower than the other. Retention sorts by this
52
+ * order, so it has to stay total. Valid identifiers carry no leading zeros, so a
53
+ * longer digit string is the larger number and equal lengths order
54
+ * lexicographically; every other case matches `Version.compare`.
55
+ */
56
+ function compareStrictVersions(left, right) {
57
+ if (left.major !== right.major)
58
+ return left.major < right.major ? -1 : 1;
59
+ if (left.minor !== right.minor)
60
+ return left.minor < right.minor ? -1 : 1;
61
+ if (left.patch !== right.patch)
62
+ return left.patch < right.patch ? -1 : 1;
63
+ const a = left.prerelease;
64
+ const b = right.prerelease;
65
+ if (a.length === 0 || b.length === 0) {
66
+ if (a.length === b.length)
67
+ return 0;
68
+ return a.length === 0 ? 1 : -1;
69
+ }
70
+ for (let i = 0; i < a.length && i < b.length; i++) {
71
+ const order = compareIdentifiers(a[i], b[i]);
72
+ if (order !== 0)
73
+ return order;
74
+ }
75
+ return a.length === b.length ? 0 : a.length < b.length ? -1 : 1;
76
+ }
77
+ function compareIdentifiers(a, b) {
78
+ if (a === b)
79
+ return 0;
80
+ const aNumeric = NUMERIC.test(a);
81
+ const bNumeric = NUMERIC.test(b);
82
+ if (aNumeric && bNumeric) {
83
+ if (a.length !== b.length)
84
+ return a.length < b.length ? -1 : 1;
85
+ return a < b ? -1 : 1;
86
+ }
87
+ if (aNumeric)
88
+ return -1;
89
+ if (bNumeric)
90
+ return 1;
91
+ return a < b ? -1 : 1;
92
+ }
93
+ //# sourceMappingURL=semver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.js","sourceRoot":"","sources":["../src/semver.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -236,6 +236,12 @@ export declare class Server extends EventEmitter {
236
236
  * hook for its link has finished. No storage lease is held while hook code
237
237
  * runs. `begin` is told which call is starting so a caller can attribute a
238
238
  * failure. The first failure stops the rest; the caller releases the places.
239
+ *
240
+ * What a hook returns is read only when `collectResults` is set, which the
241
+ * explicit link request does when the client asked for it. It then comes back
242
+ * as a checked copy per call (`undefined` for a hook that returned nothing),
243
+ * and a value that is not a valid result fails that call like a throw. Without
244
+ * it the value is never touched, so no caller can be failed by it.
239
245
  */
240
246
  private runLinkHooks;
241
247
  private setManagedLinkNames;
@@ -250,7 +256,10 @@ export declare class Server extends EventEmitter {
250
256
  * is already durable, so lingering costs only the connection.
251
257
  */
252
258
  private closeAfterAnswer;
253
- /** Runs a gating callback; only callback exceptions become HOOK_FAILED. */
259
+ /**
260
+ * Runs a gating callback; only callback exceptions become HOOK_FAILED. Returns
261
+ * what the callback returned, for the one caller that reads it.
262
+ */
254
263
  private runHook;
255
264
  /** Runs onFailure once; its own failure is logged and never replaces the original. */
256
265
  private runFailureHook;
package/dist/server.js CHANGED
@@ -433,24 +433,32 @@ class Server extends EventEmitter {
433
433
  * hook for its link has finished. No storage lease is held while hook code
434
434
  * runs. `begin` is told which call is starting so a caller can attribute a
435
435
  * failure. The first failure stops the rest; the caller releases the places.
436
+ *
437
+ * What a hook returns is read only when `collectResults` is set, which the
438
+ * explicit link request does when the client asked for it. It then comes back
439
+ * as a checked copy per call (`undefined` for a hook that returned nothing),
440
+ * and a value that is not a valid result fails that call like a throw. Without
441
+ * it the value is never touched, so no caller can be failed by it.
436
442
  */
437
- async runLinkHooks(pending, owner, begin) {
443
+ async runLinkHooks(pending, owner, begin, collectResults = false) {
444
+ const results = [];
438
445
  for (const item of pending) {
439
446
  begin(item);
440
447
  if ((await item.turn.ready(this.signal)) === 'aborted')
441
448
  throw (0, abort_js_1.abortError)();
442
449
  try {
443
- await this.runHook('afterLink', this.hooks.afterLink, Object.freeze({
450
+ const returned = await this.runHook('afterLink', this.hooks.afterLink, Object.freeze({
444
451
  link: item.link,
445
452
  artifact: item.artifact,
446
453
  status: item.status,
447
454
  trigger: item.trigger
448
455
  }));
456
+ results.push(collectResults ? (0, hooks_js_1.hookResultOf)(returned) : undefined);
449
457
  }
450
458
  catch (error) {
451
459
  if (error instanceof errors_js_1.SwarmDeployError && error.code === errors_js_1.ERRORS.HOOK_FAILED) {
452
460
  this.logger.warn('Link hook failed', {
453
- fingerprint: owner ? fingerprint(owner) : 'invalid',
461
+ publicKeyId: owner ? fingerprint(owner) : 'invalid',
454
462
  name: item.link.name,
455
463
  target: item.link.target,
456
464
  trigger: item.trigger,
@@ -462,6 +470,7 @@ class Server extends EventEmitter {
462
470
  }
463
471
  item.turn.release();
464
472
  }
473
+ return results;
465
474
  }
466
475
  setManagedLinkNames(records) {
467
476
  this.managedLinkNamesSnapshot = new Set([
@@ -546,19 +555,23 @@ class Server extends EventEmitter {
546
555
  return { status: linked.status, pending };
547
556
  });
548
557
  state.durable = decided.status;
558
+ let hookResult;
549
559
  if (decided.pending !== null) {
550
560
  const pending = decided.pending;
551
561
  try {
552
- await this.runLinkHooks([pending], owner, (item) => {
562
+ ;
563
+ [hookResult] = await this.runLinkHooks([pending], owner, (item) => {
553
564
  state.failed = item;
554
- });
565
+ }, request.hookResult === true);
555
566
  }
556
567
  finally {
557
568
  pending.turn.release();
558
569
  }
559
570
  }
560
571
  resultWriteStarted = true;
561
- await (0, direct_wire_js_1.writeLinkResult)(socket, { v: 1, status: decided.status }, { signal: this.signal, timeout: this.idleTimeout });
572
+ await (0, direct_wire_js_1.writeLinkResult)(socket, hookResult === undefined
573
+ ? { v: 1, status: decided.status }
574
+ : { v: 1, status: decided.status, hookResult }, { signal: this.signal, timeout: this.idleTimeout });
562
575
  emitTerminal(decided.status === 'LINKED' ? 'linked' : 'unchanged');
563
576
  }
564
577
  catch (error) {
@@ -589,7 +602,7 @@ class Server extends EventEmitter {
589
602
  else {
590
603
  reason = errors_js_1.ERRORS.LINK_FAILED;
591
604
  }
592
- this.logger.warn('Direct link failed', { fingerprint: fingerprint(owner), reason });
605
+ this.logger.warn('Direct link failed', { publicKeyId: fingerprint(owner), reason });
593
606
  this.emitSafe('failure', { fingerprint: fingerprint(owner), reason });
594
607
  emitTerminal(rejected && reason !== errors_js_1.ERRORS.LINK_FAILED ? 'rejected' : 'failed', reason, reason === errors_js_1.ERRORS.HOOK_FAILED && state.durable !== null ? state.durable : undefined);
595
608
  if (answered && reason === errors_js_1.ERRORS.HOOK_FAILED) {
@@ -648,10 +661,13 @@ class Server extends EventEmitter {
648
661
  timer.unref();
649
662
  }
650
663
  }
651
- /** Runs a gating callback; only callback exceptions become HOOK_FAILED. */
664
+ /**
665
+ * Runs a gating callback; only callback exceptions become HOOK_FAILED. Returns
666
+ * what the callback returned, for the one caller that reads it.
667
+ */
652
668
  async runHook(phase, hook, context) {
653
669
  if (hook === undefined)
654
- return;
670
+ return undefined;
655
671
  (0, abort_js_1.throwIfAborted)(this.signal);
656
672
  let outcome;
657
673
  try {
@@ -660,8 +676,9 @@ class Server extends EventEmitter {
660
676
  catch (cause) {
661
677
  throw (0, hooks_js_1.hookError)(phase, cause);
662
678
  }
663
- if (outcome === 'aborted')
679
+ if (outcome.status === 'aborted')
664
680
  throw (0, abort_js_1.abortError)();
681
+ return outcome.value;
665
682
  }
666
683
  /** Runs onFailure once; its own failure is logged and never replaces the original. */
667
684
  async runFailureHook(context, owner, transfer) {
@@ -673,7 +690,7 @@ class Server extends EventEmitter {
673
690
  }
674
691
  catch {
675
692
  this.logger.warn('Failure hook failed', {
676
- fingerprint: owner ? fingerprint(owner) : 'invalid',
693
+ publicKeyId: owner ? fingerprint(owner) : 'invalid',
677
694
  transfer,
678
695
  phase: context.phase,
679
696
  reason: errors_js_1.ERRORS.HOOK_FAILED
@@ -1010,7 +1027,7 @@ class Server extends EventEmitter {
1010
1027
  catch (error) {
1011
1028
  const reason = codeOf(error);
1012
1029
  this.logger.warn('Direct upload failed', {
1013
- fingerprint: owner ? fingerprint(owner) : 'invalid',
1030
+ publicKeyId: owner ? fingerprint(owner) : 'invalid',
1014
1031
  reason
1015
1032
  });
1016
1033
  this.emitSafe('failure', { fingerprint: owner ? fingerprint(owner) : 'invalid', reason });
@@ -1108,7 +1125,7 @@ class Server extends EventEmitter {
1108
1125
  }
1109
1126
  catch (error) {
1110
1127
  this.logger.warn('Post-commit retention failed', {
1111
- fingerprint: owner ? fingerprint(owner) : 'invalid',
1128
+ publicKeyId: owner ? fingerprint(owner) : 'invalid',
1112
1129
  reason: codeOf(error)
1113
1130
  });
1114
1131
  }
@@ -1130,7 +1147,7 @@ class Server extends EventEmitter {
1130
1147
  }
1131
1148
  catch (error) {
1132
1149
  this.logger.warn('Committed session cleanup failed', {
1133
- fingerprint: owner ? fingerprint(owner) : 'invalid',
1150
+ publicKeyId: owner ? fingerprint(owner) : 'invalid',
1134
1151
  reason: codeOf(error)
1135
1152
  });
1136
1153
  }
@@ -1227,7 +1244,7 @@ class Server extends EventEmitter {
1227
1244
  await this.transport.listen();
1228
1245
  this.listening = true;
1229
1246
  this.emitSafe('listening', { fingerprint: fingerprint(this.publicKey) });
1230
- this.logger.info('Direct DHT server listening', { fingerprint: fingerprint(this.publicKey) });
1247
+ this.logger.info('Direct DHT server listening', { publicKeyId: fingerprint(this.publicKey) });
1231
1248
  return this;
1232
1249
  }
1233
1250
  catch (error) {