@cotal-ai/core 0.48.2 → 0.50.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/agent-file.d.ts +34 -0
- package/dist/agent-file.d.ts.map +1 -1
- package/dist/agent-file.js +94 -2
- package/dist/agent-file.js.map +1 -1
- package/dist/auth-provider.d.ts +25 -1
- package/dist/auth-provider.d.ts.map +1 -1
- package/dist/auth-provider.js.map +1 -1
- package/dist/connector.d.ts +4 -0
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js.map +1 -1
- package/dist/endpoint-action.d.ts +1 -0
- package/dist/endpoint-action.d.ts.map +1 -1
- package/dist/endpoint-action.js +1 -1
- package/dist/endpoint-action.js.map +1 -1
- package/dist/endpoint-binding.d.ts +6 -0
- package/dist/endpoint-binding.d.ts.map +1 -1
- package/dist/endpoint-binding.js +17 -0
- package/dist/endpoint-binding.js.map +1 -1
- package/dist/endpoint-envelope.d.ts +1 -1
- package/dist/endpoint-envelope.d.ts.map +1 -1
- package/dist/endpoint-envelope.js +1 -1
- package/dist/endpoint-envelope.js.map +1 -1
- package/dist/endpoint-error.d.ts +10 -1
- package/dist/endpoint-error.d.ts.map +1 -1
- package/dist/endpoint-error.js +12 -0
- package/dist/endpoint-error.js.map +1 -1
- package/dist/endpoint-grants.d.ts.map +1 -1
- package/dist/endpoint-grants.js +34 -12
- package/dist/endpoint-grants.js.map +1 -1
- package/dist/endpoint-invoke.d.ts.map +1 -1
- package/dist/endpoint-invoke.js +16 -51
- package/dist/endpoint-invoke.js.map +1 -1
- package/dist/endpoint-publish-denial.d.ts +35 -0
- package/dist/endpoint-publish-denial.d.ts.map +1 -0
- package/dist/endpoint-publish-denial.js +56 -0
- package/dist/endpoint-publish-denial.js.map +1 -0
- package/dist/endpoint-serve-kv.d.ts +16 -0
- package/dist/endpoint-serve-kv.d.ts.map +1 -1
- package/dist/endpoint-serve-kv.js +29 -0
- package/dist/endpoint-serve-kv.js.map +1 -1
- package/dist/endpoint-serve.d.ts.map +1 -1
- package/dist/endpoint-serve.js +9 -4
- package/dist/endpoint-serve.js.map +1 -1
- package/dist/endpoint-service.d.ts +21 -0
- package/dist/endpoint-service.d.ts.map +1 -1
- package/dist/endpoint-service.js +150 -15
- package/dist/endpoint-service.js.map +1 -1
- package/dist/endpoint-subjects.d.ts +34 -0
- package/dist/endpoint-subjects.d.ts.map +1 -1
- package/dist/endpoint-subjects.js +87 -18
- package/dist/endpoint-subjects.js.map +1 -1
- package/dist/endpoint-verbs.d.ts +4 -2
- package/dist/endpoint-verbs.d.ts.map +1 -1
- package/dist/endpoint-verbs.js +23 -8
- package/dist/endpoint-verbs.js.map +1 -1
- package/dist/endpoint.d.ts +309 -8
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +888 -61
- package/dist/endpoint.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/issued-authority.d.ts +168 -0
- package/dist/issued-authority.d.ts.map +1 -0
- package/dist/issued-authority.js +497 -0
- package/dist/issued-authority.js.map +1 -0
- package/dist/issuer-session.d.ts +30 -0
- package/dist/issuer-session.d.ts.map +1 -0
- package/dist/issuer-session.js +51 -0
- package/dist/issuer-session.js.map +1 -0
- package/dist/lease.d.ts +22 -0
- package/dist/lease.d.ts.map +1 -1
- package/dist/lease.js +14 -1
- package/dist/lease.js.map +1 -1
- package/dist/lifecycle-state.d.ts +9 -2
- package/dist/lifecycle-state.d.ts.map +1 -1
- package/dist/lifecycle-state.js +11 -2
- package/dist/lifecycle-state.js.map +1 -1
- package/dist/membership-feed.d.ts +24 -1
- package/dist/membership-feed.d.ts.map +1 -1
- package/dist/membership-feed.js +61 -3
- package/dist/membership-feed.js.map +1 -1
- package/dist/provision.d.ts +24 -14
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +149 -15
- package/dist/provision.js.map +1 -1
- package/dist/remote-manager-authority.d.ts +126 -1
- package/dist/remote-manager-authority.d.ts.map +1 -1
- package/dist/remote-manager-authority.js +21 -0
- package/dist/remote-manager-authority.js.map +1 -1
- package/dist/run-admission.d.ts +88 -0
- package/dist/run-admission.d.ts.map +1 -0
- package/dist/run-admission.js +193 -0
- package/dist/run-admission.js.map +1 -0
- package/dist/run-driver-grants.d.ts +10 -0
- package/dist/run-driver-grants.d.ts.map +1 -1
- package/dist/run-driver-grants.js +21 -0
- package/dist/run-driver-grants.js.map +1 -1
- package/dist/run-host.d.ts +7 -1
- package/dist/run-host.d.ts.map +1 -1
- package/dist/run-host.js.map +1 -1
- package/dist/run-journal.d.ts +4 -0
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +80 -17
- package/dist/run-journal.js.map +1 -1
- package/dist/runtime.d.ts +31 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/secret-fs.d.ts +25 -0
- package/dist/secret-fs.d.ts.map +1 -1
- package/dist/secret-fs.js +136 -3
- package/dist/secret-fs.js.map +1 -1
- package/dist/secret-store.d.ts +44 -0
- package/dist/secret-store.d.ts.map +1 -1
- package/dist/secret-store.js +60 -1
- package/dist/secret-store.js.map +1 -1
- package/dist/streams.d.ts +23 -75
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +65 -85
- package/dist/streams.js.map +1 -1
- package/dist/subjects.d.ts +11 -1
- package/dist/subjects.d.ts.map +1 -1
- package/dist/subjects.js +11 -1
- package/dist/subjects.js.map +1 -1
- package/package.json +1 -1
package/dist/run-host.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ import type { JetStreamClient, JetStreamManager } from "@nats-io/jetstream";
|
|
|
15
15
|
import type { KV } from "@nats-io/kv";
|
|
16
16
|
import type { Extension } from "./registry.js";
|
|
17
17
|
import type { RunSpecValue, RunStatusValue } from "./run-record.js";
|
|
18
|
+
import type { RunAdmissionView } from "./run-admission.js";
|
|
18
19
|
/** The kind every run host registers under. */
|
|
19
20
|
export declare const RUN_HOST_KIND = "run-host";
|
|
20
21
|
/** The one language this tree ships a host for. */
|
|
@@ -67,6 +68,10 @@ export interface RunHostDriveRequest {
|
|
|
67
68
|
readonly defaultCheckpointTimeout: string;
|
|
68
69
|
/** The most bytes a settled result may take, from the connection's own `max_payload`. */
|
|
69
70
|
readonly resultBytes?: number;
|
|
71
|
+
/** The run's ADMISSION (SPEC 14.8), read by the hosting runtime before the drive and re-read at
|
|
72
|
+
* every channel effect. A drive without one performs no channel effect: the host refuses at
|
|
73
|
+
* the boundary rather than running the effect under the mediator's own authority. */
|
|
74
|
+
readonly admission: RunAdmissionView;
|
|
70
75
|
}
|
|
71
76
|
/** How a drive attempt ended. `released` is the driver saying the run is not its to continue (a
|
|
72
77
|
* takeover won, a step was refused on this host, the host asked it to stop, the run was never
|
|
@@ -153,7 +158,8 @@ export type RunJournalRow = {
|
|
|
153
158
|
readonly kind: "step";
|
|
154
159
|
readonly step: string;
|
|
155
160
|
readonly state: "pending" | "settled";
|
|
156
|
-
/** `pending`, or the
|
|
161
|
+
/** `pending`, or the checkpoint disposition the settled result names (`resolved` / `expired`);
|
|
162
|
+
* otherwise the settled status with its error code when there is one. */
|
|
157
163
|
readonly outcome: string;
|
|
158
164
|
/** What an open pause asks, present only while it is open. */
|
|
159
165
|
readonly asks?: string;
|
package/dist/run-host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-host.d.ts","sourceRoot":"","sources":["../src/run-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-host.d.ts","sourceRoot":"","sources":["../src/run-host.ts"],"names":[],"mappings":"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"}
|
package/dist/run-host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-host.js","sourceRoot":"","sources":["../src/run-host.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-host.js","sourceRoot":"","sources":["../src/run-host.ts"],"names":[],"mappings":"AAmBA,+CAA+C;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,mDAAmD;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD;6FAC6F;AAC7F,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAChE;;;qCAGqC;AACrC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C;6BAC6B;AAC7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,GAAG,MAAM,CAAC"}
|
package/dist/run-journal.d.ts
CHANGED
|
@@ -218,6 +218,10 @@ export interface RunJournalReplay {
|
|
|
218
218
|
* as if nothing had happened. Deleting is also why a rival's interference is bounded — it can only
|
|
219
219
|
* disturb a pre-activation replay, and a disturbed replay either fails its count check or loses its
|
|
220
220
|
* activation CAS, both of which end in "replay again".
|
|
221
|
+
*
|
|
222
|
+
* Both halves of that sentence are enforced here rather than assumed of the caller: one replay at a
|
|
223
|
+
* time per durable in this process (see `exclusively`), and a durable of that name left behind by an
|
|
224
|
+
* earlier replay is removed before this one reads (see below).
|
|
221
225
|
*/
|
|
222
226
|
export declare function replayRunJournal(js: JetStreamClient, jsm: JetStreamManager, space: string, runId: string, takeoverId: string): Promise<RunJournalReplay>;
|
|
223
227
|
/** A takeover id: what a driver asks its credential to be minted for. Callers that mint their own
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-journal.d.ts","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"AAgEA,OAAO,EAA+B,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAItF;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;2DAE2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,cAAc,CAAC;AAErE,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,SAAQ,KAAK;IAEpC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;gBAHf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,OAAO,YAAA;CAO3B;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAExC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM;aACV,KAAK,EAAE,OAAO;gBAHvB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACV,KAAK,EAAE,OAAO;CAOnC;AAMD;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;gBAJf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO,YAAA;CAO3B;AAED;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAEjD,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAFjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;CAK7B;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM;gBAFxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM;CAKpC;AAED;;;;;GAKG;AACH;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAHd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAK1B;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAArC,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,MAAM;CAI3D;AAED;iFACiF;AACjF,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAArC,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,MAAM;CAI3D;AAED,+FAA+F;AAC/F,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAjC,GAAG,EAAE,MAAM,EAAW,GAAG,EAAE,MAAM;CAIvD;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAEhD,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAHd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM;CAK1B;
|
|
1
|
+
{"version":3,"file":"run-journal.d.ts","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
package/dist/run-journal.js
CHANGED
|
@@ -265,6 +265,10 @@ export class RunJournalPrefixTruncated extends Error {
|
|
|
265
265
|
this.name = "RunJournalPrefixTruncated";
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
+
/** A consumer that has delivered nothing and holds no ack: the one this replay just created. */
|
|
269
|
+
function replayConsumerIsFresh(info) {
|
|
270
|
+
return info.delivered.consumer_seq === 0 && info.num_ack_pending === 0;
|
|
271
|
+
}
|
|
268
272
|
/**
|
|
269
273
|
* The freshness test itself, separate so it can be put to a consumer that really was inherited.
|
|
270
274
|
*
|
|
@@ -272,7 +276,7 @@ export class RunJournalPrefixTruncated extends Error {
|
|
|
272
276
|
* run; what is left on it is a tail, however consistent its counts look.
|
|
273
277
|
*/
|
|
274
278
|
export function assertReplayConsumerFresh(run, durable, info) {
|
|
275
|
-
if (info
|
|
279
|
+
if (!replayConsumerIsFresh(info)) {
|
|
276
280
|
throw new RunJournalReplayRaced(run, durable, info.delivered.consumer_seq);
|
|
277
281
|
}
|
|
278
282
|
}
|
|
@@ -324,6 +328,56 @@ export function parseRunJournalRecord(raw, subject) {
|
|
|
324
328
|
}
|
|
325
329
|
throw new Error(`run-journal record on ${subject} has unknown kind ${JSON.stringify(raw.kind)}`);
|
|
326
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* Remove the replay durable. ONLY "already gone" is swallowed.
|
|
333
|
+
*
|
|
334
|
+
* A catch-all here would rest on the stream's limits reaping the leftovers, and they do not: WFJ
|
|
335
|
+
* sets neither `max_consumers` nor `consumer_limits`, which the server normalizes to unlimited with
|
|
336
|
+
* an inactive threshold of zero, and a durable at zero gets no delete timer at all, so a failed
|
|
337
|
+
* delete leaves a consumer behind for good, one per takeover. The consumer carries its own threshold
|
|
338
|
+
* (see `runJournalConsumerConfig`) so the server reaps it regardless, and a delete that fails for a
|
|
339
|
+
* reason we did not name is raised.
|
|
340
|
+
*/
|
|
341
|
+
async function dropReplayConsumer(jsm, stream, durable) {
|
|
342
|
+
try {
|
|
343
|
+
await jsm.consumers.delete(stream, durable);
|
|
344
|
+
}
|
|
345
|
+
catch (e) {
|
|
346
|
+
if (!isConsumerNotFound(e))
|
|
347
|
+
throw e;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
/** The replays still queued on one durable name, keyed `<stream>/<durable>`. */
|
|
351
|
+
const replaysOnDurable = new Map();
|
|
352
|
+
/**
|
|
353
|
+
* One replay at a time per replay durable, in THIS process.
|
|
354
|
+
*
|
|
355
|
+
* The name is unique per TAKEOVER, and the number of replays under one takeover is not one: a drive
|
|
356
|
+
* re-reads its journal at every effect and at every poll of a parked pause, all under the takeover
|
|
357
|
+
* id its credential was minted for. `RunScopeAuthority` serializes the reads it makes itself, and
|
|
358
|
+
* nothing serializes them against the driver's own other readers on the same id — `activateRun`, the
|
|
359
|
+
* no-record diagnostic, and a `RunHost.status` or `locate` handed the drive's lease id, which run on
|
|
360
|
+
* the driver's connection rather than the mediator's. Two of those overlapping share one durable:
|
|
361
|
+
* `add` hands the second the first's half-read consumer and each one's delete tears down the other's
|
|
362
|
+
* fetch. Measured on a live broker at 17 records: overlapping by 1ms tore the fetch, and overlapping
|
|
363
|
+
* at 0ms returned a silent EMPTY replay, which reads as a run with no history.
|
|
364
|
+
*
|
|
365
|
+
* The lock belongs to the NAME rather than to any one caller, because the name is what is shared.
|
|
366
|
+
* A caller cannot opt out of it and a new caller cannot forget to join it.
|
|
367
|
+
*/
|
|
368
|
+
async function exclusively(key, body) {
|
|
369
|
+
const ahead = replaysOnDurable.get(key);
|
|
370
|
+
const mine = ahead === undefined ? body() : ahead.then(body);
|
|
371
|
+
const settled = mine.then(() => undefined, () => undefined);
|
|
372
|
+
replaysOnDurable.set(key, settled);
|
|
373
|
+
// The map holds only the queue that is still live: the last replay off the chain removes it, and a
|
|
374
|
+
// long-running mesh does not accumulate one entry per takeover it has ever driven.
|
|
375
|
+
void settled.then(() => {
|
|
376
|
+
if (replaysOnDurable.get(key) === settled)
|
|
377
|
+
replaysOnDurable.delete(key);
|
|
378
|
+
});
|
|
379
|
+
return await mine;
|
|
380
|
+
}
|
|
327
381
|
/**
|
|
328
382
|
* Read the run's whole journal, in append order, from the beginning.
|
|
329
383
|
*
|
|
@@ -333,6 +387,10 @@ export function parseRunJournalRecord(raw, subject) {
|
|
|
333
387
|
* as if nothing had happened. Deleting is also why a rival's interference is bounded — it can only
|
|
334
388
|
* disturb a pre-activation replay, and a disturbed replay either fails its count check or loses its
|
|
335
389
|
* activation CAS, both of which end in "replay again".
|
|
390
|
+
*
|
|
391
|
+
* Both halves of that sentence are enforced here rather than assumed of the caller: one replay at a
|
|
392
|
+
* time per durable in this process (see `exclusively`), and a durable of that name left behind by an
|
|
393
|
+
* earlier replay is removed before this one reads (see below).
|
|
336
394
|
*/
|
|
337
395
|
export async function replayRunJournal(js, jsm, space, runId, takeoverId) {
|
|
338
396
|
const stream = wfjStreamName(space);
|
|
@@ -343,25 +401,30 @@ export async function replayRunJournal(js, jsm, space, runId, takeoverId) {
|
|
|
343
401
|
// the other's live fetch.
|
|
344
402
|
const cfg = runJournalConsumerConfig(space, runId, takeoverId);
|
|
345
403
|
const durable = cfg.durable_name;
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
404
|
+
return await exclusively(`${stream}/${durable}`, async () => {
|
|
405
|
+
let created = await jsm.consumers.add(stream, cfg);
|
|
406
|
+
if (!replayConsumerIsFresh(created)) {
|
|
407
|
+
// A durable of this replay's OWN name, holding a tail, that no live replay in this process
|
|
408
|
+
// owns: the deletion below did not run. A replay is interrupted by whatever ends its
|
|
409
|
+
// connection — a drive's standing connection reconnecting under it, a host closing one on a
|
|
410
|
+
// parked drive — and the delete is the part that does not land. Measured on a live broker:
|
|
411
|
+
// closing the connection 2ms into a 17-record replay left the durable at `delivered=17`, and
|
|
412
|
+
// every later replay on that takeover id then read it as another driver's half-fed consumer,
|
|
413
|
+
// which is a fault reported to a healthy run about a rival that does not exist.
|
|
414
|
+
//
|
|
415
|
+
// So it is removed and remade rather than refused. This is NOT the guard being widened: the
|
|
416
|
+
// consumer that gets read is a new one, and if THAT comes back holding a tail then someone
|
|
417
|
+
// this process cannot account for is on the name, which is what `RunJournalReplayRaced` says.
|
|
418
|
+
await dropReplayConsumer(jsm, stream, durable);
|
|
419
|
+
created = await jsm.consumers.add(stream, cfg);
|
|
420
|
+
}
|
|
357
421
|
try {
|
|
358
|
-
await
|
|
422
|
+
return await readReplay(js, stream, durable, created, subject, runId);
|
|
359
423
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
throw e;
|
|
424
|
+
finally {
|
|
425
|
+
await dropReplayConsumer(jsm, stream, durable);
|
|
363
426
|
}
|
|
364
|
-
}
|
|
427
|
+
});
|
|
365
428
|
}
|
|
366
429
|
/** A takeover id: what a driver asks its credential to be minted for. Callers that mint their own
|
|
367
430
|
* rows use this; one that is handed a credential uses the id that credential names. */
|
package/dist/run-journal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -48,6 +48,9 @@ export interface AgentHandle {
|
|
|
48
48
|
stop(opts?: {
|
|
49
49
|
graceful?: boolean;
|
|
50
50
|
}): void;
|
|
51
|
+
/** Release this manager's local handle without stopping or deprovisioning the agent. Optional,
|
|
52
|
+
* and absent means the runtime cannot survive manager exit, so callers must fail closed. */
|
|
53
|
+
release?(): void;
|
|
51
54
|
/** Resolve only after the runtime has authoritatively proved the process/window/workspace is gone.
|
|
52
55
|
* Optional during the preservation rollout; a manager maintenance cut must fail closed when absent. */
|
|
53
56
|
waitForExit?(): Promise<void>;
|
|
@@ -61,8 +64,12 @@ export interface AgentHandle {
|
|
|
61
64
|
* OPTIONAL, and absent means REFUSE, never degrade: a backend that does not own the child's
|
|
62
65
|
* input stream (tmux/cmux/orca/herdr attach to an externally-owned process) leaves it off, and
|
|
63
66
|
* the manager answers `input is not supported by runtime <kind>`. A silent no-op here would be
|
|
64
|
-
* a dropped keystroke, which is worse than an error.
|
|
65
|
-
|
|
67
|
+
* a dropped keystroke, which is worse than an error.
|
|
68
|
+
*
|
|
69
|
+
* Resolves only after the runtime has accepted the write, with the number of UTF-8 bytes it
|
|
70
|
+
* accepted. Rejects when the runtime cannot accept it. A caller must derive any delivery receipt
|
|
71
|
+
* from this acknowledgement, never from the buffer it intended to send. */
|
|
72
|
+
write?(data: string): Promise<number>;
|
|
66
73
|
/** What the runtime OBSERVED when the child ended: the OS exit code, and/or the signal number
|
|
67
74
|
* that killed it. Meaningful only once {@link status} reports `exited`; before that a backend
|
|
68
75
|
* returns undefined.
|
|
@@ -84,7 +91,28 @@ export interface AgentHandle {
|
|
|
84
91
|
* can delegate to an external terminal or process surface. */
|
|
85
92
|
export interface Runtime {
|
|
86
93
|
readonly kind: RuntimeKind;
|
|
87
|
-
|
|
94
|
+
/** True only when every handle this runtime creates can release manager-local custody without
|
|
95
|
+
* stopping the underlying agent. Absent is false for PTY runtimes and irrelevant for runtimes
|
|
96
|
+
* that hold no process-owning PTY master. */
|
|
97
|
+
readonly supportsRelease?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Mint the durable custody reference for a seat this runtime is ABOUT to spawn, before any
|
|
100
|
+
* process exists. The caller records it durably and then hands the SAME reference back to
|
|
101
|
+
* {@link spawn}, so the reference precedes the processes it addresses: a crash anywhere after
|
|
102
|
+
* the spawn leaves an orphan a successor can still address, never a live seat nobody can name.
|
|
103
|
+
* Minting the id inside `spawn` cannot give that ordering, because the processes are already
|
|
104
|
+
* running by the time it returns.
|
|
105
|
+
*
|
|
106
|
+
* OPTIONAL, and absent means this runtime has no durable custody to reserve (it also has no
|
|
107
|
+
* {@link reap}); the caller spawns without a reference, as before. A runtime that implements
|
|
108
|
+
* this MUST spawn the seat under exactly the reference it returned, and report it back on the
|
|
109
|
+
* handle: a spawn that quietly mints its own id would leave the recorded reference addressing
|
|
110
|
+
* nothing, which is worse than recording none.
|
|
111
|
+
*/
|
|
112
|
+
reserve?(): RuntimeReference;
|
|
113
|
+
/** Spawn the agent. `reference` is a custody reference from {@link reserve}, and a runtime that
|
|
114
|
+
* offers `reserve` must honour it exactly; it is absent for a runtime without durable custody. */
|
|
115
|
+
spawn(name: string, spec: LaunchSpec, cwd: string, reference?: RuntimeReference): AgentHandle;
|
|
88
116
|
/**
|
|
89
117
|
* Reattach this runtime to a handle it created previously. This is a local runtime operation,
|
|
90
118
|
* not a mesh operation. OPTIONAL, and absent means REFUSE, never spawn a replacement: a runtime
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;wDACwD;AACxD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;2BAE2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;yGAEqG;IACrG,OAAO,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAChD,0EAA0E;IAC1E,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACnC,yCAAyC;IACzC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kCAAkC;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED;2DAC2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC;iFAC6E;IAC7E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,IAAI,SAAS,GAAG,QAAQ,CAAC;IAC/B;;uCAEmC;IACnC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1C;2GACuG;IACvG,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,SAAS,IAAI,IAAI,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;wDACwD;AACxD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;2BAE2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;yGAEqG;IACrG,OAAO,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAChD,0EAA0E;IAC1E,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACnC,yCAAyC;IACzC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kCAAkC;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED;2DAC2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC;iFAC6E;IAC7E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,IAAI,SAAS,GAAG,QAAQ,CAAC;IAC/B;;uCAEmC;IACnC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1C;iGAC6F;IAC7F,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;2GACuG;IACvG,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,SAAS,IAAI,IAAI,CAAC;IAClB;;;;;;;;;;;;;gFAa4E;IAC5E,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC;;;;;;;;0CAQsC;IACtC,QAAQ,CAAC,IAAI;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC5D;mCAC+B;IAC/B,MAAM,IAAI,aAAa,CAAC;CACzB;AAED;+DAC+D;AAC/D,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;iDAE6C;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,gBAAgB,CAAC;IAC7B;uGACmG;IACnG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAAC;IAC9F;;;;;OAKG;IACH,KAAK,CAAC,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAC;CAClD;AAGD;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,kFAAkF;IAClF,SAAS,IAAI,OAAO,CAAC;IACrB;kEAC8D;IAC9D,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;CAC5C"}
|
package/dist/secret-fs.d.ts
CHANGED
|
@@ -28,6 +28,31 @@ export declare function writeSecretFile(path: string, data: string | Buffer): vo
|
|
|
28
28
|
* under two truly-concurrent writers to the same file is a rarer residual that would need file locking.
|
|
29
29
|
*/
|
|
30
30
|
export declare function writeSecretFileAtomic(path: string, data: string | Buffer): void;
|
|
31
|
+
/** Test-only: drive the `link`-unavailable fallback, which no POSIX CI host can reach naturally.
|
|
32
|
+
* Pass `undefined` to restore. Not exported from the package index. */
|
|
33
|
+
export declare function __setPublishLinkForTest(fn: ((from: string, to: string) => void) | undefined): void;
|
|
34
|
+
/**
|
|
35
|
+
* Create a private secret file that MUST NOT already exist. Bytes are written to a unique temp
|
|
36
|
+
* sibling first, then {@link linkSync} publishes that complete inode at `path`. `link` is an
|
|
37
|
+
* atomic filesystem primitive: it fails with EEXIST if the destination exists, so of N concurrent
|
|
38
|
+
* creators exactly one succeeds and the others observe EEXIST. A concurrent reader never sees a
|
|
39
|
+
* torn destination because the name appears only after the temp write finished.
|
|
40
|
+
*
|
|
41
|
+
* `renameSync` is NOT this function. Rename replaces a winner, which would let every caller keep
|
|
42
|
+
* the identity it minted in memory. Exclusive create is the mutual-exclusion primitive; atomic
|
|
43
|
+
* replace is not.
|
|
44
|
+
*
|
|
45
|
+
* When the filesystem cannot hard-link (some Windows volumes), the fallback is `wx`
|
|
46
|
+
* (`O_CREAT|O_EXCL`) on `path` itself, which is still exclusive create, not a replace.
|
|
47
|
+
*
|
|
48
|
+
* The TEMP write is exclusive for the same reason the publish is. A temp name is unique only by
|
|
49
|
+
* probability (pid plus clock plus `Math.random`), and probability is not a concurrency argument:
|
|
50
|
+
* two creators that collided on the name would plain-overwrite each other's bytes, and then the
|
|
51
|
+
* one whose `link` succeeded would return the candidate IT minted while the published file held
|
|
52
|
+
* the OTHER one's identity: the exact split this function exists to prevent, reintroduced one
|
|
53
|
+
* step earlier. `wx` on the temp makes a collision fail loudly instead of silently swapping bytes.
|
|
54
|
+
*/
|
|
55
|
+
export declare function writeSecretFileCreateOnly(path: string, data: string | Buffer): void;
|
|
31
56
|
/** Create a private directory chain (recursive) and harden it — call BEFORE writing secrets into it
|
|
32
57
|
* so a child file is born under a private ACL (no creation-race window). POSIX sets 0o700 at create;
|
|
33
58
|
* win32 hardens the leaf's ACL (children then inherit it). Idempotent. */
|
package/dist/secret-fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-fs.d.ts","sourceRoot":"","sources":["../src/secret-fs.ts"],"names":[],"mappings":"AAsCA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CA2BtE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAazE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa/E;AAED;;2EAE2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG9C"}
|
|
1
|
+
{"version":3,"file":"secret-fs.d.ts","sourceRoot":"","sources":["../src/secret-fs.ts"],"names":[],"mappings":"AAsCA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CA2BtE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAazE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa/E;AAuED;wEACwE;AACxE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAElG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA6BnF;AAED;;2EAE2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG9C"}
|
package/dist/secret-fs.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* world-readable (e.g. a `.cotal/auth` under a project on a permissive path). The fix is to harden
|
|
8
8
|
* the NTFS ACL explicitly with the built-in `icacls` (no new dependency). See {@link hardenPrivate}.
|
|
9
9
|
*/
|
|
10
|
-
import { chmodSync, mkdirSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
10
|
+
import { chmodSync, linkSync, lstatSync, mkdirSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
11
11
|
import { execFileSync } from "node:child_process";
|
|
12
12
|
import { join } from "node:path";
|
|
13
13
|
const isWin = process.platform === "win32";
|
|
@@ -77,7 +77,7 @@ export function hardenPrivate(path, kind) {
|
|
|
77
77
|
export function writeSecretFile(path, data) {
|
|
78
78
|
writeFileSync(path, data, { mode: 0o600 });
|
|
79
79
|
if (!isWin)
|
|
80
|
-
return; // POSIX mode set at create
|
|
80
|
+
return; // POSIX mode set at create, nothing more to do
|
|
81
81
|
try {
|
|
82
82
|
hardenPrivate(path, "file");
|
|
83
83
|
}
|
|
@@ -86,7 +86,7 @@ export function writeSecretFile(path, data) {
|
|
|
86
86
|
unlinkSync(path); // best-effort cleanup; the hardening error below is what the caller sees
|
|
87
87
|
}
|
|
88
88
|
catch {
|
|
89
|
-
/* ignore
|
|
89
|
+
/* ignore: surface the original hardening failure, not a secondary unlink error */
|
|
90
90
|
}
|
|
91
91
|
throw e;
|
|
92
92
|
}
|
|
@@ -115,6 +115,139 @@ export function writeSecretFileAtomic(path, data) {
|
|
|
115
115
|
throw e;
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* {@link writeSecretFile} with `O_EXCL`: the bytes land only if this caller created the name.
|
|
120
|
+
* Same fail-closed hardening contract as {@link writeSecretFile}: a win32 ACL failure propagates
|
|
121
|
+
* and the just-written file is best-effort removed, so a caller never proceeds as if the secret
|
|
122
|
+
* were private. EEXIST propagates to the caller, which is the point: the name was already taken.
|
|
123
|
+
*
|
|
124
|
+
* `O_EXCL` alone does not carry that contract everywhere. On POSIX it refuses a final symlink
|
|
125
|
+
* without following it, so a DANGLING link is EEXIST (measured: file, directory and dangling link
|
|
126
|
+
* all refuse, and nothing is materialised). On Windows the reparse point resolves, the missing
|
|
127
|
+
* target is created, and the bytes land at a name this caller did NOT create, which is precisely
|
|
128
|
+
* what the contract above forbids. A win32-only `lstatSync` closes that: it reports the LINK rather
|
|
129
|
+
* than its target, so a name that exists in any form is refused before anything is written.
|
|
130
|
+
*
|
|
131
|
+
* That pre-check is deliberately NOT run on POSIX. It would be a check-then-act step guarding a
|
|
132
|
+
* case `O_EXCL` already refuses, and an unnecessary one weakens the very property this function
|
|
133
|
+
* exists to provide. Where it does run it is a refusal, never a fallback: it only converts a
|
|
134
|
+
* would-be silent write-through into the EEXIST the caller already handles, and it never decides a
|
|
135
|
+
* concurrent create: two creators that both find the name free still both reach `O_EXCL`, which is
|
|
136
|
+
* one syscall and is what picks the winner.
|
|
137
|
+
*/
|
|
138
|
+
function writeSecretFileCreateOnlyRaw(path, data) {
|
|
139
|
+
// WIN32 ONLY, and deliberately so. Measured on POSIX: `O_EXCL` already refuses a plain file, a
|
|
140
|
+
// directory AND a dangling symlink with EEXIST, materialising nothing, so a pre-check there
|
|
141
|
+
// would add a check-then-act step that buys nothing and can only weaken the guarantee. Windows
|
|
142
|
+
// is the platform where `O_EXCL` RESOLVES a reparse point and creates its target, which would
|
|
143
|
+
// land bytes at a name the caller never asked for; `lstatSync` reports the link rather than its
|
|
144
|
+
// target, so the name is refused before anything is written.
|
|
145
|
+
//
|
|
146
|
+
// This never decides a concurrent create. Two creators that both see the name free still both
|
|
147
|
+
// reach `O_EXCL` below, and O_EXCL, one syscall, is what picks the winner. The check only ever
|
|
148
|
+
// converts a would-be write-through into the EEXIST the caller already handles.
|
|
149
|
+
if (isWin) {
|
|
150
|
+
let exists = true;
|
|
151
|
+
try {
|
|
152
|
+
lstatSync(path); // the NAME exists (file, dir, or dangling link), never write through it
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
if (e.code !== "ENOENT")
|
|
156
|
+
throw e;
|
|
157
|
+
exists = false;
|
|
158
|
+
}
|
|
159
|
+
if (exists) {
|
|
160
|
+
const taken = new Error(`EEXIST: file already exists, open '${path}'`);
|
|
161
|
+
taken.code = "EEXIST";
|
|
162
|
+
throw taken;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
writeFileSync(path, data, { flag: "wx", mode: 0o600 });
|
|
166
|
+
if (!isWin)
|
|
167
|
+
return; // POSIX mode set at create, nothing more to do
|
|
168
|
+
try {
|
|
169
|
+
hardenPrivate(path, "file");
|
|
170
|
+
}
|
|
171
|
+
catch (e) {
|
|
172
|
+
try {
|
|
173
|
+
unlinkSync(path); // best-effort cleanup; the hardening error below is what the caller sees
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
/* ignore: surface the original hardening failure, not a secondary unlink error */
|
|
177
|
+
}
|
|
178
|
+
throw e;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Publish a completed temp inode at its final name. Separated from {@link writeSecretFileCreateOnly}
|
|
183
|
+
* because the hard-link primitive is the one part of exclusive create whose AVAILABILITY is
|
|
184
|
+
* platform-dependent: some Windows volumes and some network filesystems reject `link` outright, and
|
|
185
|
+
* the caller must then fall back to `O_EXCL` on the destination. Naming that seam also makes the
|
|
186
|
+
* fallback branch reachable from a suite, so the Windows-side primitive can carry a refusing case
|
|
187
|
+
* instead of being the one accepting branch nothing grades.
|
|
188
|
+
*/
|
|
189
|
+
let publishLink = linkSync;
|
|
190
|
+
/** Test-only: drive the `link`-unavailable fallback, which no POSIX CI host can reach naturally.
|
|
191
|
+
* Pass `undefined` to restore. Not exported from the package index. */
|
|
192
|
+
export function __setPublishLinkForTest(fn) {
|
|
193
|
+
publishLink = fn ?? linkSync;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Create a private secret file that MUST NOT already exist. Bytes are written to a unique temp
|
|
197
|
+
* sibling first, then {@link linkSync} publishes that complete inode at `path`. `link` is an
|
|
198
|
+
* atomic filesystem primitive: it fails with EEXIST if the destination exists, so of N concurrent
|
|
199
|
+
* creators exactly one succeeds and the others observe EEXIST. A concurrent reader never sees a
|
|
200
|
+
* torn destination because the name appears only after the temp write finished.
|
|
201
|
+
*
|
|
202
|
+
* `renameSync` is NOT this function. Rename replaces a winner, which would let every caller keep
|
|
203
|
+
* the identity it minted in memory. Exclusive create is the mutual-exclusion primitive; atomic
|
|
204
|
+
* replace is not.
|
|
205
|
+
*
|
|
206
|
+
* When the filesystem cannot hard-link (some Windows volumes), the fallback is `wx`
|
|
207
|
+
* (`O_CREAT|O_EXCL`) on `path` itself, which is still exclusive create, not a replace.
|
|
208
|
+
*
|
|
209
|
+
* The TEMP write is exclusive for the same reason the publish is. A temp name is unique only by
|
|
210
|
+
* probability (pid plus clock plus `Math.random`), and probability is not a concurrency argument:
|
|
211
|
+
* two creators that collided on the name would plain-overwrite each other's bytes, and then the
|
|
212
|
+
* one whose `link` succeeded would return the candidate IT minted while the published file held
|
|
213
|
+
* the OTHER one's identity: the exact split this function exists to prevent, reintroduced one
|
|
214
|
+
* step earlier. `wx` on the temp makes a collision fail loudly instead of silently swapping bytes.
|
|
215
|
+
*/
|
|
216
|
+
export function writeSecretFileCreateOnly(path, data) {
|
|
217
|
+
const tmp = `${path}.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`;
|
|
218
|
+
// Exclusive, so EEXIST here means the temp name belongs to ANOTHER creator. Cleanup below must
|
|
219
|
+
// never run in that case: unlinking it would delete a live creator's bytes out from under it.
|
|
220
|
+
writeSecretFileCreateOnlyRaw(tmp, data);
|
|
221
|
+
try {
|
|
222
|
+
try {
|
|
223
|
+
publishLink(tmp, path);
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
const code = e.code;
|
|
227
|
+
if (code === "ENOTSUP" || code === "EPERM" || code === "ENOSYS") {
|
|
228
|
+
writeSecretFileCreateOnlyRaw(path, data);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
throw e;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
try {
|
|
237
|
+
unlinkSync(tmp);
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
/* ignore: surface the original exclusive-create error */
|
|
241
|
+
}
|
|
242
|
+
throw e;
|
|
243
|
+
}
|
|
244
|
+
try {
|
|
245
|
+
unlinkSync(tmp);
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
/* drop the extra nlink after a successful link, or a leftover temp */
|
|
249
|
+
}
|
|
250
|
+
}
|
|
118
251
|
/** Create a private directory chain (recursive) and harden it — call BEFORE writing secrets into it
|
|
119
252
|
* so a child file is born under a private ACL (no creation-race window). POSIX sets 0o700 at create;
|
|
120
253
|
* win32 hardens the leaf's ACL (children then inherit it). Idempotent. */
|
package/dist/secret-fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-fs.js","sourceRoot":"","sources":["../src/secret-fs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"secret-fs.js","sourceRoot":"","sources":["../src/secret-fs.ts"],"names":[],"mappings":"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"}
|