pipework 0.194.0 → 0.195.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/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.195.0
4
+
5
+ - **Fixed: after "Surface shutdown exceeded deadline — forcing close" the process never exited** (#758). Three faults combined:
6
+ - Surfaces were stopped one at a time, so while one drain hung, the others kept serving and claiming.
7
+ - The deadline cancelled nothing.
8
+ - Pools closed with no time limit under surfaces that were still running.
9
+
10
+ Now, at `Stopping surfaces`, every surface is told to stop at once:
11
+ - Each HTTP listener stops accepting.
12
+ - Each worker stops claiming.
13
+ - They drain concurrently.
14
+
15
+ At `lifecycle.drainTimeoutMs`, the drain is forced:
16
+ - Open HTTP sockets are destroyed.
17
+ - In-flight jobs are aborted and handed back to the queue.
18
+ - Surfaces that still have not returned 5s later are logged by name.
19
+
20
+ Pools then close with a 5s bound, so running queries are cancelled rather than awaited.
21
+ - **Changed: `manifold.stop()` resolves `{ forced: boolean }`** (`StopResult` is exported). The SIGTERM/SIGINT handler exits 1 when the drain was forced or stop failed, and 0 otherwise. A backstop exits 1 at `drainTimeoutMs` + 15s whatever is stuck, including a pre-shutdown hook.
22
+ - **Changed: the http surface's stop no longer closes every pool.** It used to close them under a worker that was still draining. `SurfaceHandle.stop(force?)` takes the force signal, and `PipeworkServer.stop(force?)` is added. The standalone `server.close()` behaves as before.
23
+
3
24
  ## 0.194.0
4
25
 
5
26
  - **Added: a module can own its manifests** (#757). Set `modules: { behave: { managed: false } }`, and `pipework sync` writes none of that module's `package.json`, `tsconfig.json` or `tsconfig.check.json`. The package name comes from the module's own `package.json`, so `tsconfig.check.base.json` paths, the dependency graph and check use its real name.
package/dist/REFERENCE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Pipework API Reference
2
2
 
3
3
  > Auto-generated from source JSDoc. Do not edit manually.
4
- > Generated: 2026-10-09
4
+ > Generated: 2026-10-20
5
5
 
6
6
  ## Contents
7
7
 
@@ -10,6 +10,7 @@
10
10
  - [jobs — Background Jobs](#jobs-background-jobs)
11
11
  - [pipeline — Multi-Step Pipelines](#pipeline-multi-step-pipelines)
12
12
  - [state — State Machines](#state-state-machines)
13
+ - [steps](#steps)
13
14
  - [auth — Authentication](#auth-authentication)
14
15
  - [rbac — Access Control](#rbac-access-control)
15
16
  - [tenant — Multi-Tenancy](#tenant-multi-tenancy)
@@ -30,7 +31,9 @@
30
31
  - [cache — Caching](#cache-caching)
31
32
  - [credits](#credits)
32
33
  - [mail](#mail)
34
+ - [untrustedFetch](#untrustedfetch)
33
35
  - [storage](#storage)
36
+ - [support](#support)
34
37
  - [webhook — Inbound & Outbound Webhooks](#webhook-inbound-outbound-webhooks)
35
38
  - [behavior — Resource Decorators](#behavior-resource-decorators)
36
39
  - [fitting — Dependency Injection](#fitting-dependency-injection)
@@ -85,6 +88,18 @@ function createManifold<const TEnv extends EnvDefs = EnvDefs>( raw: Omit<Bluepri
85
88
  interface Manifold<TEnv extends EnvDefs = EnvDefs>
86
89
  ```
87
90
 
91
+ **`ScriptOptions`** — Options for {@link Manifold.script}.
92
+
93
+ ```typescript
94
+ interface ScriptOptions
95
+ ```
96
+
97
+ **`StartOptions`** — Options for {@link Manifold.start}.
98
+
99
+ ```typescript
100
+ interface StartOptions
101
+ ```
102
+
88
103
  **`SeedOptions`** — ALS context the {@link Manifold.seed} callback runs under — tenant scope, auth principal, and job type.
89
104
 
90
105
  ```typescript
@@ -229,6 +244,14 @@ Creates a job queue with claim/complete/fail lifecycle, heartbeat, and dead lett
229
244
 
230
245
  Executes a fitting handler as a background job with its own Flow context.
231
246
 
247
+ ### `jobs.later`
248
+
249
+ The error to throw to end an attempt as "later": pending again after `delayMs`, no attempt counted.
250
+
251
+ ### `jobs.permanent`
252
+
253
+ The error to throw to dead-letter the job now, whatever attempts remain.
254
+
232
255
  ### `jobs.parseCron`
233
256
 
234
257
  Parses a 5-field cron expression into a CronSchedule (minute, hour, dom, month, dow).
@@ -269,6 +292,14 @@ Thrown when a transition is not allowed from the current state.
269
292
 
270
293
  Thrown when the state machine definition is internally inconsistent.
271
294
 
295
+ ## steps
296
+
297
+ Step graphs over a job queue: results recorded by their inputs, only missing steps run.
298
+
299
+ ### `steps.define`
300
+
301
+ Defines a graph of named steps over a jobs Queue. Pass it to `createWorkerSurface({ graphs })` to run its steps.
302
+
272
303
  ## auth — Authentication
273
304
 
274
305
  Authentication namespace — session management, multi-org support, auth chain resolution.
@@ -289,6 +320,10 @@ Hashes and verifies passwords with scrypt; reports when a stored hash needs reha
289
320
 
290
321
  Guarded password sign-in that slows, then refuses, repeated failures per account and per client.
291
322
 
323
+ ### `auth.emailLinks`
324
+
325
+ Emailed single-use links that prove control of an address: password reset and address verification; the token is never stored.
326
+
292
327
  ### `auth.runChain`
293
328
 
294
329
  Executes an auth chain (strategy pipeline) to resolve auth + tenant from a request.
@@ -323,7 +358,7 @@ interface AuthContext
323
358
  interface AuthStrategy<TAuth>
324
359
  ```
325
360
 
326
- **`AuthRequest`** — Normalized request shape passed to auth strategies — headers, cookies, method, url.
361
+ **`AuthRequest`** — Normalized request shape passed to auth strategies — headers, the parsed `Cookie` header, and the upper-case HTTP method.
327
362
 
328
363
  ```typescript
329
364
  interface AuthRequest
@@ -353,6 +388,18 @@ interface TenantResolver<TAuth>
353
388
  interface AuthChainConfig<TAuth>
354
389
  ```
355
390
 
391
+ **`SessionAuth`** — What `sessions.strategy()` authenticates: the token's user and org, its roles, and where the token came from.
392
+
393
+ ```typescript
394
+ type SessionAuth = BaseAuth &
395
+ ```
396
+
397
+ **`SessionStrategyOptions`** — Options for `sessions.strategy()`.
398
+
399
+ ```typescript
400
+ interface SessionStrategyOptions
401
+ ```
402
+
356
403
  **`SessionConfig`** — Session configuration — signing keys, issuer, audience, token TTLs, refresh rotation.
357
404
 
358
405
  ```typescript
@@ -624,6 +671,10 @@ Base error class with code, statusCode, and suggestion fields.
624
671
 
625
672
  403 — authenticated but insufficient permissions.
626
673
 
674
+ ### `errors.CrossSiteRequest`
675
+
676
+ 403 `CROSS_SITE_REQUEST` — a cookie-authenticated write that did not come from the app's own site.
677
+
627
678
  ### `errors.Validation`
628
679
 
629
680
  422 — input validation failed, carries field-level details.
@@ -644,13 +695,17 @@ Base error class with code, statusCode, and suggestion fields.
644
695
 
645
696
  415 — request body media type not accepted by the route.
646
697
 
698
+ ### `errors.MalformedMultipart`
699
+
700
+ 400 `MALFORMED_MULTIPART` — a multipart body that cannot be parsed or ends before its closing boundary.
701
+
647
702
  ## lifecycle — Startup & Shutdown
648
703
 
649
704
  Application lifecycle namespace — startup orchestration with hooks and timeouts.
650
705
 
651
706
  ### `lifecycle.orchestrate`
652
707
 
653
- Runs pre-start hooks (DB readiness checks, migrations, etc.) with a configurable timeout.
708
+ Runs pre-start hooks (DB readiness checks, migrations, etc.) with a configurable timeout. The hooks run in one trace that names the process; the trace-partition hook runs first, outside it.
654
709
 
655
710
  ## log — Structured Logging
656
711
 
@@ -690,7 +745,7 @@ Creates a worker surface — a long-running process that claims and executes job
690
745
 
691
746
  ### `surface.script`
692
747
 
693
- Creates a script surface — a one-shot process that runs and exits (migrations, seeds, CLI tools).
748
+ Creates a script surface — a one-shot process that runs and exits (migrations, seeds, CLI tools). The run is traced as a job-kind trace that names the surface.
694
749
 
695
750
  ## pipe — Database
696
751
 
@@ -787,7 +842,7 @@ Pipework-owned UPDATE builder — the only consumer-facing way to update pipewor
787
842
 
788
843
  ### `pipe.insert`
789
844
 
790
- Pipework-owned INSERT builder — the only consumer-facing way to insert into pipework-managed tables (Q8).
845
+ Pipework-owned INSERT builder — the only consumer-facing way to insert into pipework-managed tables (Q8). A list of any size is split into statements under Postgres's parameter limit, in one transaction.
791
846
 
792
847
  ### `pipe.delete`
793
848
 
@@ -795,7 +850,7 @@ Pipework-owned DELETE builder — the only consumer-facing way to delete from pi
795
850
 
796
851
  ### `pipe.upsert`
797
852
 
798
- Pipework-owned UPSERT builder — insert with conflict resolution (Q8).
853
+ Pipework-owned UPSERT builder — insert with conflict resolution (Q8). A list of any size is split into statements under Postgres's parameter limit, in one transaction; rows repeating a conflict key across statements do not fail as one statement would.
799
854
 
800
855
  ### Types
801
856
 
@@ -947,6 +1002,14 @@ Query all versions of temporal records (no date filter).
947
1002
 
948
1003
  Close the current version and create a new one with updated data.
949
1004
 
1005
+ ### `temporal.setVersion`
1006
+
1007
+ Append the next version of an append-only-versions definition: serialised per scope, numbered, never back-dated, audited.
1008
+
1009
+ ### `temporal.versionAt`
1010
+
1011
+ The version in force at a moment: the row with the greatest effectiveFrom at or before it.
1012
+
950
1013
  ## valve
951
1014
 
952
1015
  Valve namespace — typed, directional, gated boundaries between code silos.
@@ -1129,6 +1192,18 @@ Alerts namespace — raise and resolve keyed conditions, grouped, delivered to s
1129
1192
 
1130
1193
  Creates an alerts handle.
1131
1194
 
1195
+ ### `alerts.http`
1196
+
1197
+ Routes for an operations agent: list, get, totals, delivery health, acknowledge, resolve, link; bearer credentials.
1198
+
1199
+ ### `alerts.clientFaults`
1200
+
1201
+ One POST route that records failures reported by browser code as a trace step and an alert; answers 204, no session needed. Send with `reportClientFault` from `pipework/client`.
1202
+
1203
+ ### `alerts.requestFaults`
1204
+
1205
+ An `onInternalError` hook for the HTTP server: raises `request-fault:<METHOD> <route>` for each internal 500.
1206
+
1132
1207
  ### `alerts.webhook`
1133
1208
 
1134
1209
  A sink that POSTs the alert as signed JSON to a URL.
@@ -1161,6 +1236,10 @@ The newest record's `{ seq, hash }` in the tenant's audit hash chain (blueprint
1161
1236
 
1162
1237
  Walks the tenant's audit hash chain and reports the first break (hash-mismatch, prev-mismatch, missing, head-mismatch, anchor-mismatch), or `{ ok: true }`.
1163
1238
 
1239
+ ### `audit.removeTenant`
1240
+
1241
+ Deletes every audit record of one tenant and its hash chain, for the closure of that tenant's account. Irreversible; returns the number of records removed. Other tenants' records and chains are untouched.
1242
+
1164
1243
  ## cache — Caching
1165
1244
 
1166
1245
  In-memory caching namespace — TTL-based with stats, preload, and tenant-aware variants.
@@ -1213,6 +1292,36 @@ Inbound source: SES receipt rule storing raw messages in S3 and notifying a sign
1213
1292
 
1214
1293
  Inbound development source: `.eml` files dropped in a folder, received by `scan()`; refused in production.
1215
1294
 
1295
+ ## untrustedFetch
1296
+
1297
+ Untrusted fetch — fetch one URL a stranger gave without letting them reach the app's private network.
1298
+
1299
+ ### `untrustedFetch.get`
1300
+
1301
+ Fetches `url` with GET and returns `{ ok: true, url, status, contentType, body, bytes }`, or `{ ok: false, reason, message }`
1302
+ naming the rule that refused: `scheme`, `address`, `redirects`, `too_large`, `timeout`, `status`, `rejected` or `network`.
1303
+ It does not throw for these.
1304
+
1305
+ Rules, none of which can be switched off: only `http:` and `https:`; the name is resolved and every address is checked
1306
+ (loopback, private, link-local including cloud metadata, CGNAT, unique-local and site-local IPv6, multicast, reserved,
1307
+ unspecified, and IPv4-mapped or NAT64 forms of these; literal IP URLs likewise) and the connection goes to a checked
1308
+ address; redirects are followed up to `maxRedirects` and each hop is checked as the first, and the app's `headers` go only to the first origin;
1309
+ the body is stopped the moment it passes `maxBytes`, whatever Content-Length says; `timeoutMs` covers the whole fetch.
1310
+ `accept({ status, contentType, firstBytes })` sees the first 1024 bytes before the body is kept: return false, or a string
1311
+ (your own message), to refuse with `rejected`. Messages never contain an address or anything a server sent.
1312
+
1313
+ `resolve` and `connect` are for tests: `resolve(hostname)` replaces DNS and `connect(target)` replaces the socket after the
1314
+ address check passed, so a test sends a fake public address to a local server. The address check always runs on what `resolve` returns.
1315
+
1316
+ The call is the trace step `pipework/fetch:get`; its child `pipework/fetch:outcome` carries host, status, bytes and reason.
1317
+ The full URL is recorded only when `urlIsSafeToTrace` is true; otherwise only the host.
1318
+
1319
+ ```ts
1320
+ const got = await untrustedFetch.get(pasted, { maxBytes: 5_000_000, timeoutMs: 10_000, maxRedirects: 3,
1321
+ accept: h => h.firstBytes[0] === 0x25 || 'That does not look like a PDF.' })
1322
+ if (!got.ok) return tell(got.message)
1323
+ ```
1324
+
1216
1325
  ## storage
1217
1326
 
1218
1327
  Storage namespace — tenant-scoped, content-addressed file storage with signed URLs and retention.
@@ -1229,6 +1338,18 @@ S3-compatible backend (AWS S3, MinIO, R2): SigV4 over `fetch`, multipart streami
1229
1338
 
1230
1339
  Local-disk backend for development and tests; refused in production.
1231
1340
 
1341
+ ## support
1342
+
1343
+ Support namespace — tickets from email (and later chat), with replies sent only after an approval.
1344
+
1345
+ ### `support.create`
1346
+
1347
+ Creates the support handle: tickets, messages, notes, links, drafts, `approve`, `receiveEmail`, and the events job.
1348
+
1349
+ ### `support.templates`
1350
+
1351
+ The reply template to spread into `mail.create({ templates })`; it renders the approved draft verbatim.
1352
+
1232
1353
  ## webhook — Inbound & Outbound Webhooks
1233
1354
 
1234
1355
  Webhook namespace — inbound verification, outbound delivery with retries, HMAC signing.
@@ -1319,6 +1440,10 @@ Returns the current Flow or undefined — use for optional context detection.
1319
1440
 
1320
1441
  Creates a Flow for test isolation with optional auth and tenant overrides.
1321
1442
 
1443
+ ### `flow.actAs`
1444
+
1445
+ Runs `fn` as a tenant and user chosen inside a tenantless Flow (sign-up, a public sign-in): RLS, audit and trace under that tenant, on the request's transaction.
1446
+
1322
1447
  ## http — Server
1323
1448
 
1324
1449
  HTTP namespace: `http.file()` builds a file response; the server itself is managed by manifold.start().
@@ -1343,6 +1468,36 @@ interface SecurityConfig
1343
1468
  interface RateLimitConfig
1344
1469
  ```
1345
1470
 
1471
+ **`RateLimitWindow`** — One fixed window: at most `max` requests per `windowSeconds`.
1472
+
1473
+ ```typescript
1474
+ interface RateLimitWindow
1475
+ ```
1476
+
1477
+ **`RateLimitClass`** — A named limit class: any of a per-user, per-tenant and per-address window, each counted on its own.
1478
+
1479
+ ```typescript
1480
+ interface RateLimitClass
1481
+ ```
1482
+
1483
+ **`RateLimitRefusal`** — What `onRefused` is told about one refused window of one request.
1484
+
1485
+ ```typescript
1486
+ interface RateLimitRefusal
1487
+ ```
1488
+
1489
+ **`RateLimitClassesConfig`**
1490
+
1491
+ Named limit classes, checked after auth and counted in Postgres (`pipework_rate_limit_counts`, opted in
1492
+ with the blueprint's `rateLimits: {}`), so every server process on the same database shares one count.
1493
+ Windows are counted perUser, perTenant, perAddress in turn, up to the first one over its max, so one user's
1494
+ refused requests don't spend the tenant's budget. A route is in `signedIn` (auth required, or optional with
1495
+ a user), `public` (no auth, or optional without a user) or the class its fitting names with `.rateLimit(name)`.
1496
+
1497
+ ```typescript
1498
+ interface RateLimitClassesConfig
1499
+ ```
1500
+
1346
1501
  **`InjectOptions`** — Options for server.inject() — method, url, headers, payload for testing without HTTP.
1347
1502
 
1348
1503
  ```typescript
@@ -1361,6 +1516,12 @@ interface InjectResponse
1361
1516
  interface ServerConfig
1362
1517
  ```
1363
1518
 
1519
+ **`InternalErrorFault`** — What `onInternalError` is told about one request that ended in an internal error.
1520
+
1521
+ ```typescript
1522
+ interface InternalErrorFault
1523
+ ```
1524
+
1364
1525
  **`HandlerResponse`** — Standard handler response shape — statusCode, headers, body.
1365
1526
 
1366
1527
  ```typescript
@@ -1419,7 +1580,7 @@ Generates an OpenAPI 3.1 document from route registrations — schemas derived f
1419
1580
 
1420
1581
  ## trace
1421
1582
 
1422
- Trace namespace — hand the current trace to a process outside Node and record the steps it reports back.
1583
+ Trace namespace — hand the current trace to a process outside Node, record the steps it reports back, mark point events, and read a trace tree.
1423
1584
 
1424
1585
  ### `trace.traceparent`
1425
1586
 
@@ -1433,6 +1594,15 @@ W3C `traceparent` for the current trace and open step; `null` outside a traced f
1433
1594
 
1434
1595
  Records steps reported as JSON lines (or objects) by an outside process under the step open now. Synchronous; never throws.
1435
1596
 
1597
+ ### `trace.event`
1598
+
1599
+ Records one zero-length step `external:<name>` under the step open now, with an optional `capture` and `error`. A no-op outside a traced flow; never throws.
1600
+
1601
+ ### `trace.tree`
1602
+
1603
+ Reads every hot trace sharing `rootId` (a request's trace and the jobs it queued) with their steps. Runs on the
1604
+ given `db`, so tenant policies apply: only an unrestricted connection (table owner, tests) sees every tenant's rows.
1605
+
1436
1606
  ### Types
1437
1607
 
1438
1608
  **`FlowStepMeta`** — Trace metadata for one documented flow-step: its `path:symbol` graph node id and the per-argument capture projections.
@@ -1453,6 +1623,24 @@ type ExternalStepReport = z.infer<typeof externalStepReportSchema>
1453
1623
  interface ExternalRecordResult
1454
1624
  ```
1455
1625
 
1626
+ **`TraceStepNode`** — One step of a trace. `ref` is the flow step's `path:symbol`, or `external:<name>` for a recorded or point-event step.
1627
+
1628
+ ```typescript
1629
+ interface TraceStepNode
1630
+ ```
1631
+
1632
+ **`TraceNode`** — One trace of the tree, with its steps ordered by `seq`.
1633
+
1634
+ ```typescript
1635
+ interface TraceNode
1636
+ ```
1637
+
1638
+ **`TraceTree`** — The traces that share a root id, ordered by when they opened.
1639
+
1640
+ ```typescript
1641
+ interface TraceTree
1642
+ ```
1643
+
1456
1644
  ## data
1457
1645
 
1458
1646
  ### `tap`
@@ -35,8 +35,13 @@ export interface Manifold<TEnv extends EnvDefs = EnvDefs> {
35
35
  * app's test to catch what `serve` would refuse.
36
36
  */
37
37
  validate(): Promise<void>;
38
- /** Gracefully shuts down surfaces, runs pre-shutdown hooks, and closes all pools. */
39
- stop(): Promise<void>;
38
+ /**
39
+ * Runs pre-shutdown hooks, tells every surface to stop accepting work at once, drains them up to
40
+ * `lifecycle.drainTimeoutMs`, then closes all pools (5s bound). At the deadline the surfaces are forced
41
+ * (open sockets destroyed, in-flight jobs aborted and handed back) and `forced` is true. A SIGTERM/SIGINT
42
+ * handler exits 1 when forced or when this rejects, else 0.
43
+ */
44
+ stop(): Promise<StopResult>;
40
45
  /** Runs a callback in a managed job context — the canonical entry point for seed scripts and one-off tasks. */
41
46
  seed<T>(fn: () => T | Promise<T>, options?: SeedOptions): Promise<T>;
42
47
  /**
@@ -46,6 +51,10 @@ export interface Manifold<TEnv extends EnvDefs = EnvDefs> {
46
51
  */
47
52
  script<T>(name: string, fn: () => T | Promise<T>, options?: ScriptOptions): Promise<T>;
48
53
  }
54
+ /** What {@link Manifold.stop} resolves with: `forced` is true when the drain deadline fired. */
55
+ export interface StopResult {
56
+ readonly forced: boolean;
57
+ }
49
58
  /** Options for {@link Manifold.script}. */
50
59
  export interface ScriptOptions {
51
60
  tenant?: string | null;
@@ -70,8 +79,10 @@ export interface PoolState {
70
79
  get(name: string): ManagedConnection | undefined;
71
80
  /** True when a test-harness override is registered for this database — collapsed (transaction-isolation) mode, where every role shares the single rolled-back connection. */
72
81
  isOverridden(name: string): boolean;
73
- /** Closes all managed connections. */
74
- closeAll(): Promise<void>;
82
+ /** Closes all managed connections; with `timeoutSeconds`, queries still running then are cancelled. */
83
+ closeAll(options?: {
84
+ timeoutSeconds?: number;
85
+ }): Promise<void>;
75
86
  /** Number of active connection pools. */
76
87
  count(): number;
77
88
  /** Registers a test-mode connection override. getOrCreate() returns overrides before creating new connections. */
@@ -1 +1 @@
1
- {"version":3,"file":"pipework.d.ts","sourceRoot":"","sources":["../../src/core/pipework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipework.d.ts","sourceRoot":"","sources":["../../src/core/pipework.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,7 @@ export function createManifold(raw) {
91
91
  await validateStartup(startupContext(true));
92
92
  const context = manifold;
93
93
  running = await startSurfaces(context, config, surfaces, options?.port === undefined ? {} : { port: options.port });
94
- signalCleanup = installSignalHandlers(manifold);
94
+ signalCleanup = installSignalHandlers(manifold, lifecycleConfig.drainTimeoutMs ?? 30_000);
95
95
  },
96
96
  async validate() {
97
97
  await validateStartup(startupContext(false));
@@ -132,22 +132,54 @@ export function createManifold(raw) {
132
132
  }
133
133
  }
134
134
  }
135
+ let forced = false;
136
+ const stopFailure = { failed: false };
135
137
  if (running !== null) {
136
- logger.info({ surfaces: [...running.handles.keys()] }, 'Stopping surfaces');
137
- const stopResult = await withDeadline(running.stop(), deadlineMs, 'Surface shutdown', logger);
138
- if (!stopResult) {
138
+ const stopping = running;
139
+ logger.info({ surfaces: [...stopping.handles.keys()] }, 'Stopping surfaces');
140
+ const controller = new AbortController();
141
+ const settled = stopping.stop(controller.signal).then(() => 'done', (err) => { stopFailure.failed = true; stopFailure.err = err; return 'done'; });
142
+ const drained = await raceDelay(settled, deadlineMs);
143
+ if (drained === 'timeout') {
144
+ forced = true;
145
+ logger.warn({ label: 'Surface shutdown', deadlineMs }, `Surface shutdown exceeded ${deadlineMs}ms deadline`);
139
146
  logger.warn({ deadlineMs }, 'Surface shutdown exceeded deadline — forcing close');
147
+ controller.abort();
148
+ const returned = await raceDelay(settled, FORCE_WAIT_MS);
149
+ if (returned === 'timeout') {
150
+ logger.error({ surfaces: stopping.pending(), waitedMs: FORCE_WAIT_MS }, 'Surfaces still running after forced shutdown; closing pools anyway');
151
+ }
140
152
  }
141
153
  running = null;
142
154
  }
143
155
  logger.info('Closing connection pools');
144
- await pool.closeAll();
156
+ await pool.closeAll({ timeoutSeconds: POOL_CLOSE_TIMEOUT_S });
145
157
  logger.info('Shutdown complete');
158
+ if (stopFailure.failed)
159
+ throw stopFailure.err;
160
+ return { forced };
146
161
  },
147
162
  };
148
163
  return manifold;
149
164
  }
150
- function installSignalHandlers(manifold) {
165
+ const FORCE_WAIT_MS = 5_000;
166
+ const POOL_CLOSE_TIMEOUT_S = 5;
167
+ const EXIT_BACKSTOP_MS = 15_000;
168
+ /** Resolves with `work`'s value, or `'timeout'` after `ms`; the timer never holds the process open. */
169
+ async function raceDelay(work, ms) {
170
+ let timer;
171
+ const timeout = new Promise((resolve) => {
172
+ timer = setTimeout(() => resolve('timeout'), ms);
173
+ timer.unref();
174
+ });
175
+ try {
176
+ return await Promise.race([work, timeout]);
177
+ }
178
+ finally {
179
+ clearTimeout(timer);
180
+ }
181
+ }
182
+ function installSignalHandlers(manifold, drainTimeoutMs) {
151
183
  const logger = getBaseLogger();
152
184
  let stopping = false;
153
185
  const handler = (signal) => {
@@ -155,8 +187,14 @@ function installSignalHandlers(manifold) {
155
187
  return;
156
188
  stopping = true;
157
189
  logger.info({ signal }, 'Shutdown signal received');
158
- void manifold.stop().then(() => {
159
- process.exit(0);
190
+ // Backstop: a hang in a pre-shutdown hook or a pool must still end the process.
191
+ const backstop = setTimeout(() => {
192
+ logger.fatal({ signal, backstopMs: drainTimeoutMs + EXIT_BACKSTOP_MS }, 'Shutdown did not finish; exiting');
193
+ process.exit(1);
194
+ }, drainTimeoutMs + EXIT_BACKSTOP_MS);
195
+ backstop.unref();
196
+ void manifold.stop().then(({ forced }) => {
197
+ process.exit(forced ? 1 : 0);
160
198
  }).catch((err) => {
161
199
  logger.error({ err }, 'Error during shutdown');
162
200
  process.exit(1);
@@ -200,8 +238,8 @@ function createPoolState(resolvedConfig) {
200
238
  isOverridden(name) {
201
239
  return overrides.has(name);
202
240
  },
203
- async closeAll() {
204
- const closing = [...map.values()].map(c => c.close());
241
+ async closeAll(options) {
242
+ const closing = [...map.values()].map(c => c.close(options));
205
243
  await Promise.all(closing);
206
244
  overrides.clear();
207
245
  },
@@ -256,23 +294,6 @@ function createIsolationState() {
256
294
  },
257
295
  };
258
296
  }
259
- async function withDeadline(promise, deadlineMs, label, logger) {
260
- let resolved = false;
261
- const deadline = new Promise((resolve) => {
262
- const timer = setTimeout(() => {
263
- if (!resolved) {
264
- logger.warn({ label, deadlineMs }, `${label} exceeded ${deadlineMs}ms deadline`);
265
- resolve(false);
266
- }
267
- }, deadlineMs);
268
- timer.unref();
269
- });
270
- const work = promise.then(() => {
271
- resolved = true;
272
- return true;
273
- });
274
- return Promise.race([work, deadline]);
275
- }
276
297
  function createConnectionTracker() {
277
298
  const tracked = new Map();
278
299
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"pipework.js","sourceRoot":"","sources":["../../src/core/pipework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipework.js","sourceRoot":"","sources":["../../src/core/pipework.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,8 @@ export function createHttpSurface(config) {
21
21
  return {
22
22
  kind: 'http',
23
23
  address,
24
- async stop() {
25
- await server.close();
24
+ async stop(force) {
25
+ await server.stop(force);
26
26
  },
27
27
  };
28
28
  },
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/core/surface/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/core/surface/http.ts"],"names":[],"mappings":"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"}