@sensigo/realm-mcp 0.44.0 → 0.46.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/bin-identity.d.ts +11 -0
- package/dist/bin-identity.d.ts.map +1 -0
- package/dist/bin-identity.js +47 -0
- package/dist/bin-identity.js.map +1 -0
- package/dist/brand.d.ts +3 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +7 -0
- package/dist/brand.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/json-trace-buffer-store.d.ts +44 -31
- package/dist/json-trace-buffer-store.d.ts.map +1 -1
- package/dist/json-trace-buffer-store.js +72 -49
- package/dist/json-trace-buffer-store.js.map +1 -1
- package/dist/protocol/generator.js +2 -2
- package/dist/protocol/generator.js.map +1 -1
- package/dist/server.d.ts +13 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +30 -4
- package/dist/server.js.map +1 -1
- package/dist/test-support/declared.d.ts +2 -0
- package/dist/test-support/declared.d.ts.map +1 -0
- package/dist/test-support/declared.js +9 -0
- package/dist/test-support/declared.js.map +1 -0
- package/dist/tools/abandon-run.d.ts.map +1 -1
- package/dist/tools/abandon-run.js +28 -6
- package/dist/tools/abandon-run.js.map +1 -1
- package/dist/tools/append-trace.d.ts +2 -0
- package/dist/tools/append-trace.d.ts.map +1 -1
- package/dist/tools/append-trace.js +22 -71
- package/dist/tools/append-trace.js.map +1 -1
- package/dist/tools/assert-tool-stores.d.ts +26 -0
- package/dist/tools/assert-tool-stores.d.ts.map +1 -0
- package/dist/tools/assert-tool-stores.js +54 -0
- package/dist/tools/assert-tool-stores.js.map +1 -0
- package/dist/tools/create-workflow.d.ts.map +1 -1
- package/dist/tools/create-workflow.js +2 -0
- package/dist/tools/create-workflow.js.map +1 -1
- package/dist/tools/execute-step.d.ts.map +1 -1
- package/dist/tools/execute-step.js +19 -1
- package/dist/tools/execute-step.js.map +1 -1
- package/dist/tools/get-run-state.d.ts +33 -1
- package/dist/tools/get-run-state.d.ts.map +1 -1
- package/dist/tools/get-run-state.js +99 -4
- package/dist/tools/get-run-state.js.map +1 -1
- package/dist/tools/get-workflow-protocol.d.ts.map +1 -1
- package/dist/tools/get-workflow-protocol.js +2 -0
- package/dist/tools/get-workflow-protocol.js.map +1 -1
- package/dist/tools/list-workflows.d.ts +43 -6
- package/dist/tools/list-workflows.d.ts.map +1 -1
- package/dist/tools/list-workflows.js +43 -4
- package/dist/tools/list-workflows.js.map +1 -1
- package/dist/tools/start-run-batch.d.ts.map +1 -1
- package/dist/tools/start-run-batch.js +7 -0
- package/dist/tools/start-run-batch.js.map +1 -1
- package/dist/tools/start-run.d.ts +9 -1
- package/dist/tools/start-run.d.ts.map +1 -1
- package/dist/tools/start-run.js +25 -3
- package/dist/tools/start-run.js.map +1 -1
- package/dist/tools/submit-human-response.d.ts +36 -0
- package/dist/tools/submit-human-response.d.ts.map +1 -1
- package/dist/tools/submit-human-response.js +105 -13
- package/dist/tools/submit-human-response.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Attributed } from '@sensigo/realm';
|
|
2
|
+
export interface BinIdentityDeps {
|
|
3
|
+
osUser?: () => string;
|
|
4
|
+
osHost?: () => string;
|
|
5
|
+
/** `process.env.REALM_OPERATOR`. */
|
|
6
|
+
operator?: string | undefined;
|
|
7
|
+
stderr?: (text: string) => void;
|
|
8
|
+
exit?: (code: number) => never;
|
|
9
|
+
}
|
|
10
|
+
export declare function composeBinIdentity(deps?: BinIdentityDeps): Attributed | undefined;
|
|
11
|
+
//# sourceMappingURL=bin-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin-identity.d.ts","sourceRoot":"","sources":["../src/bin-identity.ts"],"names":[],"mappings":"AASA,OAAO,EAA+C,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAChC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,eAAoB,GAAG,UAAU,GAAG,SAAS,CAmCrF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// The `realm-mcp` bin's own program identity (issue #625, the holder slice): `REALM_OPERATOR` if
|
|
2
|
+
// set, else the OS user and host name, on the channel `mcp-stdio`. One of the two production places
|
|
3
|
+
// that read the OS user (the other is the CLI's helper); core reads none.
|
|
4
|
+
//
|
|
5
|
+
// A name that cannot be USED prints ONE line to stderr and exits 1 before the transport opens —
|
|
6
|
+
// never a stack, never a half-started server. A name that merely cannot be DERIVED prints one notice
|
|
7
|
+
// and the server runs without one. The facts and the two sinks are injectable so a test can make
|
|
8
|
+
// the OS "say" anything; the defaults are the real ones.
|
|
9
|
+
import { hostname, userInfo } from 'node:os';
|
|
10
|
+
import { composeProgramIdentity, identityRefusalLine } from '@sensigo/realm';
|
|
11
|
+
export function composeBinIdentity(deps = {}) {
|
|
12
|
+
const readUser = deps.osUser ?? (() => userInfo().username);
|
|
13
|
+
const readHost = deps.osHost ?? (() => hostname());
|
|
14
|
+
const operator = 'operator' in deps ? deps.operator : process.env['REALM_OPERATOR'];
|
|
15
|
+
const stderr = deps.stderr ?? ((text) => void process.stderr.write(text));
|
|
16
|
+
const exit = deps.exit ?? ((code) => process.exit(code));
|
|
17
|
+
let osUser;
|
|
18
|
+
try {
|
|
19
|
+
osUser = readUser();
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
osUser = undefined;
|
|
23
|
+
}
|
|
24
|
+
let osHost;
|
|
25
|
+
try {
|
|
26
|
+
osHost = readHost();
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
osHost = undefined;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const composed = composeProgramIdentity({
|
|
33
|
+
...(operator !== undefined ? { ambient: operator } : {}),
|
|
34
|
+
...(osUser !== undefined ? { osUser } : {}),
|
|
35
|
+
...(osHost !== undefined ? { osHost } : {}),
|
|
36
|
+
}, 'mcp-stdio');
|
|
37
|
+
if (composed.driver === undefined && composed.reason !== undefined) {
|
|
38
|
+
stderr(`this program's name cannot be recorded on the steps it takes: ${composed.reason}\n`);
|
|
39
|
+
}
|
|
40
|
+
return composed.driver;
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
stderr(`${identityRefusalLine('REALM_OPERATOR', err, 'nothing was started')}\n`);
|
|
44
|
+
return exit(1);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=bin-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin-identity.js","sourceRoot":"","sources":["../src/bin-identity.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,oGAAoG;AACpG,0EAA0E;AAC1E,EAAE;AACF,gGAAgG;AAChG,qGAAqG;AACrG,iGAAiG;AACjG,yDAAyD;AACzD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAmB,MAAM,gBAAgB,CAAC;AAW9F,MAAM,UAAU,kBAAkB,CAAC,OAAwB,EAAE;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAY,EAAQ,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAY,EAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,MAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,MAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,sBAAsB,CACrC;YACE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,EACD,WAAW,CACZ,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,CAAC,iEAAiE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
|
package/dist/brand.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGnE,eAAO,MAAM,eAAe,EAAE,UAI7B,CAAC"}
|
package/dist/brand.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// This package's release mark (issue #620 PR-B): what every class `@sensigo/realm-mcp` exports carries on its
|
|
2
|
+
// prototype, so copies of the same release recognise each other's objects. See `brand.ts` in
|
|
3
|
+
// `@sensigo/realm` for what the mark is and how it is checked.
|
|
4
|
+
import { createRealmBrand } from '@sensigo/realm';
|
|
5
|
+
import { VERSION } from './version.js';
|
|
6
|
+
export const REALM_MCP_BRAND = createRealmBrand('@sensigo/realm-mcp', VERSION, typeof import.meta.url === 'string' ? new URL('../', import.meta.url).href : null);
|
|
7
|
+
//# sourceMappingURL=brand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,6FAA6F;AAC7F,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAe,gBAAgB,CACzD,oBAAoB,EACpB,OAAO,EACP,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAClF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export type { RealmMcpServerOptions } from './server.js';
|
|
|
3
3
|
export { generateProtocol } from './protocol/generator.js';
|
|
4
4
|
export type { WorkflowProtocol, ProtocolStep } from './protocol/generator.js';
|
|
5
5
|
export { JsonTraceBufferStore } from './json-trace-buffer-store.js';
|
|
6
|
-
export
|
|
6
|
+
export { VERSION } from './version.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,5 +4,5 @@ export { generateProtocol } from './protocol/generator.js';
|
|
|
4
4
|
// issue #107: exported so the operator run-purge CLI command (packages/cli) can construct one
|
|
5
5
|
// and register it as a PerRunArtifactStore alongside JsonFileStore/FailedAttemptStore.
|
|
6
6
|
export { JsonTraceBufferStore } from './json-trace-buffer-store.js';
|
|
7
|
-
export
|
|
7
|
+
export { VERSION } from './version.js';
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,8FAA8F;AAC9F,uFAAuF;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,8FAA8F;AAC9F,uFAAuF;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ArtifactDeletionReport, type TraceBufferStore, type BufferedEntry, type AppendResult, type AppendOptions, type TraceCapability, type SealResult, type SealedArtifact, type PerRunArtifactStore, type OrphanSweepableStore, type OrphanArtifact } from '@sensigo/realm';
|
|
2
|
-
import type { AgentTraceEntry } from '@sensigo/realm';
|
|
2
|
+
import type { AgentTraceEntry, FencePredicate, FenceRunReader, RunScopedFencePredicate } from '@sensigo/realm';
|
|
3
3
|
/** A `proper-lockfile` retry policy: either a bare retry count (its own simple default backoff)
|
|
4
4
|
* or an explicit `retry`-module-compatible options object. `randomize` (issue #191 ride-along —
|
|
5
5
|
* `json-file-store.ts`'s own `LOCK_RETRIES` doc has the full jitter rationale) is optional so
|
|
@@ -12,7 +12,7 @@ type LockRetries = number | {
|
|
|
12
12
|
};
|
|
13
13
|
/** Lock-acquisition profile shared by every `lockWal` call in this file (issue #207).
|
|
14
14
|
* Constructor-injectable so a conformance suite can inflate the retry budget (e.g. to make a
|
|
15
|
-
* deliberately slow/
|
|
15
|
+
* deliberately slow/parked fence read's lock contention observable instead of exhausting the retry
|
|
16
16
|
* budget too quickly and masking the scenario under test). */
|
|
17
17
|
export interface TraceBufferLockProfile {
|
|
18
18
|
retries: LockRetries;
|
|
@@ -53,7 +53,23 @@ export declare class JsonTraceBufferStore implements TraceBufferStore, PerRunArt
|
|
|
53
53
|
readonly traceCapabilities: ReadonlySet<TraceCapability>;
|
|
54
54
|
private readonly runsDir;
|
|
55
55
|
private readonly lockProfile;
|
|
56
|
-
|
|
56
|
+
/** The run store every fence predicate is evaluated against (issue #616 PR-0) — the read the
|
|
57
|
+
* former guards made: one lock-free `get`, inside this store's WAL lock. REQUIRED (issue #616
|
|
58
|
+
* PR-0, D2): building the store with nothing that has a `get` method in the reader's place
|
|
59
|
+
* (`isFenceRunReader`) throws at construction — never a silently unfenced write discovered at
|
|
60
|
+
* the first fenced call. */
|
|
61
|
+
private readonly runReader;
|
|
62
|
+
/**
|
|
63
|
+
* `runReader` is REQUIRED (issue #616 PR-0, D2) — it must sit before `lockProfile` because a
|
|
64
|
+
* required parameter cannot follow an optional one. A TypeScript caller that omits it is a
|
|
65
|
+
* compile error; a plain-JavaScript caller (this package is published and consumed from
|
|
66
|
+
* JavaScript too) can reach this constructor with no reader, with `null`, or with the previous
|
|
67
|
+
* release's `(runsDir, lockProfile)` shape — a lock profile where the reader now goes. None of
|
|
68
|
+
* them has a `get` method (`isFenceRunReader`), so each throws `fenceReaderMissingError` here —
|
|
69
|
+
* at construction, not at the first fenced call, where the failure would otherwise surface as a
|
|
70
|
+
* bare `TypeError` (and a lock profile passed that way would be dropped without a word).
|
|
71
|
+
*/
|
|
72
|
+
constructor(runsDir: string, runReader: FenceRunReader, lockProfile?: Partial<TraceBufferLockProfile>);
|
|
57
73
|
private walPath;
|
|
58
74
|
/** Builds the on-disk path for one sealed artifact — see `SEALED_PREFIX`'s doc for the shape
|
|
59
75
|
* and why it never collides with a live WAL path. */
|
|
@@ -107,31 +123,31 @@ export declare class JsonTraceBufferStore implements TraceBufferStore, PerRunArt
|
|
|
107
123
|
private appendWithinCS;
|
|
108
124
|
append(runId: string, stepId: string, entries: AgentTraceEntry[], options?: AppendOptions): Promise<AppendResult>;
|
|
109
125
|
/**
|
|
110
|
-
*
|
|
111
|
-
* — see the interface doc for the full
|
|
126
|
+
* The fence is evaluated INSIDE the critical section, immediately before the physical write
|
|
127
|
+
* (issue #207; data since #616 PR-0) — see the interface doc for the full fence contract. NO pre-lock placeholder file: verified
|
|
112
128
|
* `lockfile.lock(path, { realpath: false })` acquires cleanly against a target that does not yet
|
|
113
129
|
* exist; the legacy `append()`'s placeholder above predates this and stays byte-identical there,
|
|
114
130
|
* but is not needed and is not replicated here — `appendFile`'s own `O_CREAT`, inside the
|
|
115
131
|
* critical section, is the sole creator of the WAL file on this path.
|
|
116
132
|
*/
|
|
117
|
-
appendFenced(runId: string, stepId: string, entries: AgentTraceEntry[],
|
|
133
|
+
appendFenced(runId: string, stepId: string, entries: AgentTraceEntry[], fence: FencePredicate, options?: AppendOptions): Promise<AppendResult>;
|
|
118
134
|
/** `_nonce` is re-attached per-line ONLY when that line actually carried one — via the SAME
|
|
119
135
|
* `flattenWalBatches` core helper the in-memory store uses, so "never fabricate `_nonce` for a
|
|
120
136
|
* bare line" is enforced from exactly one shared code path rather than reimplemented twice. */
|
|
121
137
|
read(runId: string, stepId: string): Promise<BufferedEntry[]>;
|
|
122
138
|
delete(runId: string, stepId: string): Promise<void>;
|
|
123
139
|
/**
|
|
124
|
-
*
|
|
125
|
-
* immediately before the delete (issue #207) — see the interface doc for
|
|
126
|
-
* contract. Returns the number of entries actually deleted (`0` = buffer already
|
|
127
|
-
*
|
|
140
|
+
* The fence is evaluated INSIDE the same per-path critical section `append`/`appendFenced` use,
|
|
141
|
+
* immediately before the delete (issue #207; data since #616 PR-0) — see the interface doc for
|
|
142
|
+
* the full fence contract. Returns the number of entries actually deleted (`0` = buffer already
|
|
143
|
+
* absent; the fence was still evaluated first). Counts via the already-open `readWal` internals — NEVER the public
|
|
128
144
|
* `read()`, which would re-acquire this same lock (a critical section must never be re-entered
|
|
129
145
|
* from within itself — `proper-lockfile` is not reentrant).
|
|
130
146
|
*/
|
|
131
|
-
deleteFenced(runId: string, stepId: string,
|
|
147
|
+
deleteFenced(runId: string, stepId: string, fence: FencePredicate): Promise<number>;
|
|
132
148
|
/**
|
|
133
|
-
*
|
|
134
|
-
* uses (issue #197 PR-1, the `seal` rung — design §4: "no second locking path"), immediately
|
|
149
|
+
* The fence is evaluated INSIDE the SAME per-path critical section every other operation on this
|
|
150
|
+
* key uses (issue #197 PR-1, the `seal` rung — design §4: "no second locking path"), immediately
|
|
135
151
|
* before the seal-move. Atomically retires the live WAL file to a new sealed artifact via the
|
|
136
152
|
* no-clobber `link`-then-`unlink` primitive (`linkNoClobberThenUnlink`) — plain `rename()` is
|
|
137
153
|
* FORBIDDEN here, since it would silently overwrite an existing sealed artifact at the same
|
|
@@ -148,7 +164,7 @@ export declare class JsonTraceBufferStore implements TraceBufferStore, PerRunArt
|
|
|
148
164
|
* failure. A present-but-empty file (e.g. `append()`'s legacy placeholder) is NOT "absent" — it
|
|
149
165
|
* gets sealed like any other live WAL (a harmless, if pointless, empty sealed artifact).
|
|
150
166
|
*/
|
|
151
|
-
sealFenced(runId: string, stepId: string,
|
|
167
|
+
sealFenced(runId: string, stepId: string, fence: FencePredicate): Promise<SealResult>;
|
|
152
168
|
/**
|
|
153
169
|
* Lock-free point-in-time read of every sealed artifact for `runId`, across all its steps
|
|
154
170
|
* (issue #197 PR-1, the `seal` rung) — matches `readAllForRun`'s deliberately-unlocked posture.
|
|
@@ -190,27 +206,24 @@ export declare class JsonTraceBufferStore implements TraceBufferStore, PerRunArt
|
|
|
190
206
|
}>;
|
|
191
207
|
deleteAllForRun(runId: string, dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
|
|
192
208
|
/**
|
|
193
|
-
*
|
|
194
|
-
* delete (issue #207) — a refusal on any one
|
|
195
|
-
* (stop-on-first-error, matching the legacy
|
|
196
|
-
* `runId` at all,
|
|
197
|
-
* — resolving which files match — necessarily runs FIRST,
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
* outcome). The guard call itself sits OUTSIDE the try/catch scope that performs this wrapping
|
|
207
|
-
* (see the loop body below) — so a guard that happens to throw an `FsIoError` (e.g. its own
|
|
208
|
-
* lock-free `runStore.get` hitting EACCES) is never mistaken for `deleteIfExists`'s own failure.
|
|
209
|
+
* The fence is RE-EVALUATED (a fresh run read) inside EACH per-file critical section,
|
|
210
|
+
* immediately before that file's delete (issue #207; data since #616 PR-0) — a refusal on any one
|
|
211
|
+
* file aborts the whole sweep with that file's error (stop-on-first-error, matching the legacy
|
|
212
|
+
* method's own semantics). When zero files match `runId` at all, the fence is still evaluated
|
|
213
|
+
* once (the scan — resolving which files match — necessarily runs FIRST), and a refusal rejects
|
|
214
|
+
* the sweep exactly as it would a non-empty one — propagation is UNIFORM across the zero-match
|
|
215
|
+
* and non-empty cases. A fence refusal, and a per-file lock-contention failure (classified
|
|
216
|
+
* `STATE_RUN_BUSY`, mirroring `deleteAllForRun`'s own classification above), both propagate
|
|
217
|
+
* UNWRAPPED — never touched by `toArtifactDeleteFailedError`, which still wraps genuine
|
|
218
|
+
* unlink/I-O failures (the #183 absence/unreachable/corrupt trichotomy, extended with this third,
|
|
219
|
+
* distinct fence-refusal outcome). The fence check sits OUTSIDE the try/catch scope that performs
|
|
220
|
+
* this wrapping (see the loop body below) — so a run read that happens to throw an `FsIoError`
|
|
221
|
+
* (e.g. EACCES) is never mistaken for `deleteIfExists`'s own failure.
|
|
209
222
|
*
|
|
210
223
|
* Issue #197 PR-1: sealed artifacts for this run join the same fenced sweep, same as the
|
|
211
224
|
* unfenced `deleteAllForRun` above.
|
|
212
225
|
*/
|
|
213
|
-
deleteAllForRunFenced(runId: string,
|
|
226
|
+
deleteAllForRunFenced(runId: string, fence: RunScopedFencePredicate, dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
|
|
214
227
|
/**
|
|
215
228
|
* Reads every WAL file for `runId` across all steps — the read-only counterpart to
|
|
216
229
|
* `deleteAllForRun`, for `realm run export`'s evidence assembly (issue #159). Mirrors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-trace-buffer-store.d.ts","sourceRoot":"","sources":["../src/json-trace-buffer-store.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EAEf,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"json-trace-buffer-store.d.ts","sourceRoot":"","sources":["../src/json-trace-buffer-store.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EAEf,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EAwBpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AA+CxB;;;+FAG+F;AAC/F,KAAK,WAAW,GACd,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9F;;;+DAG+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;uFAOuF;AACvF,eAAO,MAAM,oBAAoB,EAAE,sBAIlC,CAAC;AAyCF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBACX,YAAW,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB;IAEtE,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,eAAe,CAAC,CAGrD;IAEH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD;;;;iCAI6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAE3C;;;;;;;;;OASG;gBAED,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,cAAc,EACzB,WAAW,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAW/C,OAAO,CAAC,OAAO;IAKf;0DACsD;IACtD,OAAO,CAAC,aAAa;IAKrB;;;;;;;;;;;;;;;OAeG;YACW,OAAO;YA2BP,OAAO;IA6BrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,cAAc;IAsBtB;;;;;;OAMG;YACW,cAAc;IAwEtB,MAAM,CACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EAAE,EAC1B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IAqCxB;;;;;;;OAOG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EAAE,EAC1B,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IAYxB;;oGAEgG;IAC1F,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAW7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;;;;;;OAOG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAczF;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA4B3F;;;;;;OAMG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsDhE;sEACkE;YACpD,gBAAgB;IAwB9B;;+FAE2F;YAC7E,mBAAmB;IAsBjC;;;;;;;;;;OAUG;IACH;;;;;;;;;OASG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAYxF,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAqClC;;;;;;;;;;;;;;;;;OAiBG;IACG,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,uBAAuB,EAC9B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAoDlC;;;;;;;;;;;;;;;OAeG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAiDtE;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CA4C9E"}
|
|
@@ -3,8 +3,9 @@ import { existsSync } from 'node:fs';
|
|
|
3
3
|
import { appendFile, readdir } from 'node:fs/promises';
|
|
4
4
|
import { join, basename } from 'node:path';
|
|
5
5
|
import lockfile from 'proper-lockfile';
|
|
6
|
-
import { normalizeEntryForBuffer, BUFFER_LIMIT_COUNT, BUFFER_LIMIT_BYTES, FINAL_LIMIT_ENTRIES, FINAL_LIMIT_BYTES, BUFFER_BACKSTOP_COUNT, BUFFER_BACKSTOP_BYTES, SEALED_ARTIFACTS_LIMIT_PER_STEP, checkBufferBudget, bufferFullError, flattenWalBatches, readIfExists, deleteIfExists, statIfExists, toArtifactDeleteFailedError, linkNoClobberThenUnlink, errnoCode, FsIoError, } from '@sensigo/realm';
|
|
7
|
-
import { WorkflowError } from '@sensigo/realm';
|
|
6
|
+
import { normalizeEntryForBuffer, BUFFER_LIMIT_COUNT, BUFFER_LIMIT_BYTES, FINAL_LIMIT_ENTRIES, FINAL_LIMIT_BYTES, BUFFER_BACKSTOP_COUNT, BUFFER_BACKSTOP_BYTES, SEALED_ARTIFACTS_LIMIT_PER_STEP, checkBufferBudget, bufferFullError, flattenWalBatches, readIfExists, deleteIfExists, statIfExists, toArtifactDeleteFailedError, linkNoClobberThenUnlink, errnoCode, FsIoError, assertFencePredicate, checkFenceWithReader, fenceReaderMissingError, isFenceRunReader, assertReleaseLine, } from '@sensigo/realm';
|
|
7
|
+
import { WorkflowError, brandClass } from '@sensigo/realm';
|
|
8
|
+
import { REALM_MCP_BRAND } from './brand.js';
|
|
8
9
|
/** WAL filename shape: `trace-buffer-<runId>-<base64url(stepId)>.jsonl`. `runId` is a
|
|
9
10
|
* server-generated UUIDv4 — always exactly 36 characters (8-4-4-4-12 hex, RFC 4122 string
|
|
10
11
|
* form) — so it can be recovered by FIXED-LENGTH slicing rather than splitting on `-`, which
|
|
@@ -117,9 +118,30 @@ export class JsonTraceBufferStore {
|
|
|
117
118
|
]);
|
|
118
119
|
runsDir;
|
|
119
120
|
lockProfile;
|
|
120
|
-
|
|
121
|
+
/** The run store every fence predicate is evaluated against (issue #616 PR-0) — the read the
|
|
122
|
+
* former guards made: one lock-free `get`, inside this store's WAL lock. REQUIRED (issue #616
|
|
123
|
+
* PR-0, D2): building the store with nothing that has a `get` method in the reader's place
|
|
124
|
+
* (`isFenceRunReader`) throws at construction — never a silently unfenced write discovered at
|
|
125
|
+
* the first fenced call. */
|
|
126
|
+
runReader;
|
|
127
|
+
/**
|
|
128
|
+
* `runReader` is REQUIRED (issue #616 PR-0, D2) — it must sit before `lockProfile` because a
|
|
129
|
+
* required parameter cannot follow an optional one. A TypeScript caller that omits it is a
|
|
130
|
+
* compile error; a plain-JavaScript caller (this package is published and consumed from
|
|
131
|
+
* JavaScript too) can reach this constructor with no reader, with `null`, or with the previous
|
|
132
|
+
* release's `(runsDir, lockProfile)` shape — a lock profile where the reader now goes. None of
|
|
133
|
+
* them has a `get` method (`isFenceRunReader`), so each throws `fenceReaderMissingError` here —
|
|
134
|
+
* at construction, not at the first fenced call, where the failure would otherwise surface as a
|
|
135
|
+
* bare `TypeError` (and a lock profile passed that way would be dropped without a word).
|
|
136
|
+
*/
|
|
137
|
+
constructor(runsDir, runReader, lockProfile) {
|
|
138
|
+
if (!isFenceRunReader(runReader)) {
|
|
139
|
+
throw fenceReaderMissingError('JsonTraceBufferStore');
|
|
140
|
+
}
|
|
141
|
+
assertReleaseLine(runReader, 'the run reader handed to JsonTraceBufferStore');
|
|
121
142
|
this.runsDir = runsDir;
|
|
122
143
|
this.lockProfile = { ...DEFAULT_LOCK_PROFILE, ...lockProfile };
|
|
144
|
+
this.runReader = runReader;
|
|
123
145
|
}
|
|
124
146
|
walPath(runId, stepId) {
|
|
125
147
|
const safeStepId = Buffer.from(stepId).toString('base64url');
|
|
@@ -329,18 +351,19 @@ export class JsonTraceBufferStore {
|
|
|
329
351
|
}
|
|
330
352
|
}
|
|
331
353
|
/**
|
|
332
|
-
*
|
|
333
|
-
* — see the interface doc for the full
|
|
354
|
+
* The fence is evaluated INSIDE the critical section, immediately before the physical write
|
|
355
|
+
* (issue #207; data since #616 PR-0) — see the interface doc for the full fence contract. NO pre-lock placeholder file: verified
|
|
334
356
|
* `lockfile.lock(path, { realpath: false })` acquires cleanly against a target that does not yet
|
|
335
357
|
* exist; the legacy `append()`'s placeholder above predates this and stays byte-identical there,
|
|
336
358
|
* but is not needed and is not replicated here — `appendFile`'s own `O_CREAT`, inside the
|
|
337
359
|
* critical section, is the sole creator of the WAL file on this path.
|
|
338
360
|
*/
|
|
339
|
-
async appendFenced(runId, stepId, entries,
|
|
361
|
+
async appendFenced(runId, stepId, entries, fence, options) {
|
|
362
|
+
assertFencePredicate(fence, stepId);
|
|
340
363
|
const walPath = this.walPath(runId, stepId);
|
|
341
364
|
const release = await this.lockWal(walPath, APPEND_RETRIES);
|
|
342
365
|
try {
|
|
343
|
-
await
|
|
366
|
+
await checkFenceWithReader(this.runReader, runId, fence, stepId);
|
|
344
367
|
return await this.appendWithinCS(walPath, entries, options?.writerNonce);
|
|
345
368
|
}
|
|
346
369
|
finally {
|
|
@@ -366,13 +389,12 @@ export class JsonTraceBufferStore {
|
|
|
366
389
|
// declaring the fenced trio commits read/delete/deleteAllForRun to the same CS (see the
|
|
367
390
|
// interface doc).
|
|
368
391
|
//
|
|
369
|
-
// issue #183: this single-step cleanup is best-effort BY CONVENTION
|
|
370
|
-
//
|
|
371
|
-
// a try/catch
|
|
372
|
-
// (
|
|
373
|
-
//
|
|
374
|
-
//
|
|
375
|
-
// guard (store-fs-guard.test.ts) also requires (no raw unlink in this file).
|
|
392
|
+
// issue #183: this single-step cleanup is best-effort BY CONVENTION — every engine call site
|
|
393
|
+
// (the four settle sites in execution-loop.ts and reclaim-step.ts's `clearStaleWal`) wraps it
|
|
394
|
+
// in a try/catch. Converting the raw unlink to deleteIfExists here doesn't change that
|
|
395
|
+
// contract — delete() can still fail; it just stops a real I/O error from being invisibly
|
|
396
|
+
// swallowed with NO signal at all, which the source-text guard (store-fs-guard.test.ts) also
|
|
397
|
+
// requires (no raw unlink in this file).
|
|
376
398
|
const walPath = this.walPath(runId, stepId);
|
|
377
399
|
const release = await this.lockWal(walPath);
|
|
378
400
|
try {
|
|
@@ -383,18 +405,19 @@ export class JsonTraceBufferStore {
|
|
|
383
405
|
}
|
|
384
406
|
}
|
|
385
407
|
/**
|
|
386
|
-
*
|
|
387
|
-
* immediately before the delete (issue #207) — see the interface doc for
|
|
388
|
-
* contract. Returns the number of entries actually deleted (`0` = buffer already
|
|
389
|
-
*
|
|
408
|
+
* The fence is evaluated INSIDE the same per-path critical section `append`/`appendFenced` use,
|
|
409
|
+
* immediately before the delete (issue #207; data since #616 PR-0) — see the interface doc for
|
|
410
|
+
* the full fence contract. Returns the number of entries actually deleted (`0` = buffer already
|
|
411
|
+
* absent; the fence was still evaluated first). Counts via the already-open `readWal` internals — NEVER the public
|
|
390
412
|
* `read()`, which would re-acquire this same lock (a critical section must never be re-entered
|
|
391
413
|
* from within itself — `proper-lockfile` is not reentrant).
|
|
392
414
|
*/
|
|
393
|
-
async deleteFenced(runId, stepId,
|
|
415
|
+
async deleteFenced(runId, stepId, fence) {
|
|
416
|
+
assertFencePredicate(fence, stepId);
|
|
394
417
|
const walPath = this.walPath(runId, stepId);
|
|
395
418
|
const release = await this.lockWal(walPath);
|
|
396
419
|
try {
|
|
397
|
-
await
|
|
420
|
+
await checkFenceWithReader(this.runReader, runId, fence, stepId);
|
|
398
421
|
const { count } = await this.readWal(walPath);
|
|
399
422
|
await deleteIfExists(walPath);
|
|
400
423
|
return count;
|
|
@@ -404,8 +427,8 @@ export class JsonTraceBufferStore {
|
|
|
404
427
|
}
|
|
405
428
|
}
|
|
406
429
|
/**
|
|
407
|
-
*
|
|
408
|
-
* uses (issue #197 PR-1, the `seal` rung — design §4: "no second locking path"), immediately
|
|
430
|
+
* The fence is evaluated INSIDE the SAME per-path critical section every other operation on this
|
|
431
|
+
* key uses (issue #197 PR-1, the `seal` rung — design §4: "no second locking path"), immediately
|
|
409
432
|
* before the seal-move. Atomically retires the live WAL file to a new sealed artifact via the
|
|
410
433
|
* no-clobber `link`-then-`unlink` primitive (`linkNoClobberThenUnlink`) — plain `rename()` is
|
|
411
434
|
* FORBIDDEN here, since it would silently overwrite an existing sealed artifact at the same
|
|
@@ -422,11 +445,12 @@ export class JsonTraceBufferStore {
|
|
|
422
445
|
* failure. A present-but-empty file (e.g. `append()`'s legacy placeholder) is NOT "absent" — it
|
|
423
446
|
* gets sealed like any other live WAL (a harmless, if pointless, empty sealed artifact).
|
|
424
447
|
*/
|
|
425
|
-
async sealFenced(runId, stepId,
|
|
448
|
+
async sealFenced(runId, stepId, fence) {
|
|
449
|
+
assertFencePredicate(fence, stepId);
|
|
426
450
|
const walPath = this.walPath(runId, stepId);
|
|
427
451
|
const release = await this.lockWal(walPath);
|
|
428
452
|
try {
|
|
429
|
-
await
|
|
453
|
+
await checkFenceWithReader(this.runReader, runId, fence, stepId);
|
|
430
454
|
const stat = await statIfExists(walPath);
|
|
431
455
|
if (stat === undefined) {
|
|
432
456
|
return { sealed: false, reason: 'absent' };
|
|
@@ -633,33 +657,31 @@ export class JsonTraceBufferStore {
|
|
|
633
657
|
return { bytes_deleted };
|
|
634
658
|
}
|
|
635
659
|
/**
|
|
636
|
-
*
|
|
637
|
-
* delete (issue #207) — a refusal on any one
|
|
638
|
-
* (stop-on-first-error, matching the legacy
|
|
639
|
-
* `runId` at all,
|
|
640
|
-
* — resolving which files match — necessarily runs FIRST,
|
|
641
|
-
*
|
|
642
|
-
*
|
|
643
|
-
*
|
|
644
|
-
*
|
|
645
|
-
*
|
|
646
|
-
*
|
|
647
|
-
*
|
|
648
|
-
*
|
|
649
|
-
* outcome). The guard call itself sits OUTSIDE the try/catch scope that performs this wrapping
|
|
650
|
-
* (see the loop body below) — so a guard that happens to throw an `FsIoError` (e.g. its own
|
|
651
|
-
* lock-free `runStore.get` hitting EACCES) is never mistaken for `deleteIfExists`'s own failure.
|
|
660
|
+
* The fence is RE-EVALUATED (a fresh run read) inside EACH per-file critical section,
|
|
661
|
+
* immediately before that file's delete (issue #207; data since #616 PR-0) — a refusal on any one
|
|
662
|
+
* file aborts the whole sweep with that file's error (stop-on-first-error, matching the legacy
|
|
663
|
+
* method's own semantics). When zero files match `runId` at all, the fence is still evaluated
|
|
664
|
+
* once (the scan — resolving which files match — necessarily runs FIRST), and a refusal rejects
|
|
665
|
+
* the sweep exactly as it would a non-empty one — propagation is UNIFORM across the zero-match
|
|
666
|
+
* and non-empty cases. A fence refusal, and a per-file lock-contention failure (classified
|
|
667
|
+
* `STATE_RUN_BUSY`, mirroring `deleteAllForRun`'s own classification above), both propagate
|
|
668
|
+
* UNWRAPPED — never touched by `toArtifactDeleteFailedError`, which still wraps genuine
|
|
669
|
+
* unlink/I-O failures (the #183 absence/unreachable/corrupt trichotomy, extended with this third,
|
|
670
|
+
* distinct fence-refusal outcome). The fence check sits OUTSIDE the try/catch scope that performs
|
|
671
|
+
* this wrapping (see the loop body below) — so a run read that happens to throw an `FsIoError`
|
|
672
|
+
* (e.g. EACCES) is never mistaken for `deleteIfExists`'s own failure.
|
|
652
673
|
*
|
|
653
674
|
* Issue #197 PR-1: sealed artifacts for this run join the same fenced sweep, same as the
|
|
654
675
|
* unfenced `deleteAllForRun` above.
|
|
655
676
|
*/
|
|
656
|
-
async deleteAllForRunFenced(runId,
|
|
677
|
+
async deleteAllForRunFenced(runId, fence, dirEntries) {
|
|
678
|
+
assertFencePredicate(fence);
|
|
657
679
|
const matching = [
|
|
658
680
|
...(await this.matchingWalFiles(runId, dirEntries)),
|
|
659
681
|
...(await this.matchingSealedFiles(runId, dirEntries)),
|
|
660
682
|
];
|
|
661
683
|
if (matching.length === 0) {
|
|
662
|
-
await
|
|
684
|
+
await checkFenceWithReader(this.runReader, runId, fence);
|
|
663
685
|
return { bytes_deleted: 0 };
|
|
664
686
|
}
|
|
665
687
|
const deleted = [];
|
|
@@ -676,13 +698,13 @@ export class JsonTraceBufferStore {
|
|
|
676
698
|
throw err;
|
|
677
699
|
}
|
|
678
700
|
try {
|
|
679
|
-
// issue #207 correction:
|
|
680
|
-
//
|
|
681
|
-
// realistic case: the
|
|
682
|
-
// exactly as thrown. The earlier shape wrapped BOTH the
|
|
683
|
-
//
|
|
684
|
-
//
|
|
685
|
-
await
|
|
701
|
+
// issue #207 correction: the fence check sits OUTSIDE the FsIoError-wrap scope below — a
|
|
702
|
+
// refusal of ANY type, including a read failure that happens to itself be an FsIoError
|
|
703
|
+
// (a realistic case: the fence's lock-free run read hitting EACCES), must propagate
|
|
704
|
+
// exactly as thrown. The earlier shape wrapped BOTH the check and `deleteIfExists` in one
|
|
705
|
+
// try/catch keyed only on `err instanceof FsIoError` — which mistook a check-thrown
|
|
706
|
+
// FsIoError for deleteIfExists's own failure and wrapped it too.
|
|
707
|
+
await checkFenceWithReader(this.runReader, runId, fence);
|
|
686
708
|
try {
|
|
687
709
|
const bytes = (await statIfExists(path))?.size ?? 0;
|
|
688
710
|
const didDelete = await deleteIfExists(path);
|
|
@@ -829,4 +851,5 @@ export class JsonTraceBufferStore {
|
|
|
829
851
|
return orphans;
|
|
830
852
|
}
|
|
831
853
|
}
|
|
854
|
+
brandClass(JsonTraceBufferStore, Symbol.for('@sensigo/realm-mcp/JsonTraceBufferStore'), REALM_MCP_BRAND);
|
|
832
855
|
//# sourceMappingURL=json-trace-buffer-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-trace-buffer-store.js","sourceRoot":"","sources":["../src/json-trace-buffer-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json-trace-buffer-store.js","sourceRoot":"","sources":["../src/json-trace-buffer-store.ts"],"names":[],"mappings":"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"}
|