@ricsam/r5d-worker 0.0.184 → 0.0.186
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/cjs/package.json +1 -1
- package/dist/mjs/internal-r5dctl.cjs +1 -1
- package/dist/mjs/main.mjs +2 -2
- package/dist/mjs/package.json +1 -1
- package/dist/mjs/personal/client.mjs +4 -2
- package/dist/mjs/runtime/workspace/outer.mjs +4 -3
- package/dist/types/runtime/workspace/outer.d.ts +10 -5
- package/package.json +2 -2
package/dist/cjs/package.json
CHANGED
|
@@ -20605,7 +20605,7 @@ function resolveEntrypointPath(entrypoint) {
|
|
|
20605
20605
|
}
|
|
20606
20606
|
}
|
|
20607
20607
|
function getR5dctlVersion() {
|
|
20608
|
-
if (true) return "0.0.
|
|
20608
|
+
if (true) return "0.0.186";
|
|
20609
20609
|
const entrypoint = process.argv[1] ? resolveEntrypointPath(process.argv[1]) : null;
|
|
20610
20610
|
let current = entrypoint ? import_node_path2.default.dirname(entrypoint) : process.cwd();
|
|
20611
20611
|
for (let index = 0; index < 12; index += 1) {
|
package/dist/mjs/main.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import { startManagerRpc } from "./runtime/releases/rpc-main.mjs";
|
|
|
7
7
|
import { ManagerRpcConfig } from "./runtime/releases/rpc-protocol.mjs";
|
|
8
8
|
const args = process.argv.slice(2);
|
|
9
9
|
if (args.includes("--version")) {
|
|
10
|
-
console.log(`r5d-worker ${true ? "0.0.
|
|
10
|
+
console.log(`r5d-worker ${true ? "0.0.186" : "development"}`);
|
|
11
11
|
} else if (!args.length || args.includes("--help")) {
|
|
12
12
|
console.log(
|
|
13
13
|
"Usage: r5d-worker start --label <label> [--root <dir>] [--base-url <url>] [--token <worker-token>] [--initial-sync merge|reset]\n r5d-worker executor /absolute/private/config.json\n r5d-worker manager /absolute/private/config.json\n\nRun independently supervised durable runtime services. Provision configuration with r5dinfra."
|
|
@@ -15,7 +15,7 @@ if (args.includes("--version")) {
|
|
|
15
15
|
} else if (args[0] === "start") {
|
|
16
16
|
const runtime = await startPersonalWorker(
|
|
17
17
|
parsePersonalWorkerOptions(args.slice(1)),
|
|
18
|
-
true ? "0.0.
|
|
18
|
+
true ? "0.0.186" : "development"
|
|
19
19
|
);
|
|
20
20
|
console.log(`Worker connected: ${runtime.resourceId}`);
|
|
21
21
|
let closing = false;
|
package/dist/mjs/package.json
CHANGED
|
@@ -94,6 +94,7 @@ function safeError(error) {
|
|
|
94
94
|
}
|
|
95
95
|
const resetBatchId = (instanceId) => `${instanceId.slice(0, 16)}-${Date.now().toString(36)}`;
|
|
96
96
|
const rejectedBeforeAdmission = (error) => error?.rejectedBeforeAdmission === true;
|
|
97
|
+
const readOnlyRequest = (request) => request?.kind === "inspect";
|
|
97
98
|
const CliUpdateRequest = z.object({ kind: z.literal("update-clis"), userId: z.string(), command: z.object({ version: z.string() }).passthrough() }).passthrough();
|
|
98
99
|
async function startPersonalWorker(options, version) {
|
|
99
100
|
const key = createHash("sha256").update(canonicalJson([options.baseUrl, options.label])).digest("hex").slice(0, 32), root = path.join(options.root, "personal", key);
|
|
@@ -215,8 +216,9 @@ async function startPersonalWorker(options, version) {
|
|
|
215
216
|
} else result = await runtime.dispatch(input.request);
|
|
216
217
|
state = "completed";
|
|
217
218
|
} catch (error) {
|
|
218
|
-
|
|
219
|
-
|
|
219
|
+
const beforeAdmission = rejectedBeforeAdmission(error);
|
|
220
|
+
state = beforeAdmission || readOnlyRequest(input.request) ? "rejected" : "unknown";
|
|
221
|
+
result = { error: safeError(error), ...beforeAdmission ? { rejectedBeforeAdmission: true } : {} };
|
|
220
222
|
}
|
|
221
223
|
ledger.query("UPDATE actions SET state=?,result=? WHERE id=?").run(state, canonicalJson(result), input.id);
|
|
222
224
|
}
|
|
@@ -178,18 +178,19 @@ class OuterRepository {
|
|
|
178
178
|
throw new OuterSnapshotRefusal(
|
|
179
179
|
"too_large",
|
|
180
180
|
`Unexplained workspace content exceeds the ${limit}-byte automatic publication limit`,
|
|
181
|
-
attribute(unexplainedPaths)
|
|
181
|
+
attribute(unexplainedPaths),
|
|
182
|
+
true
|
|
182
183
|
);
|
|
183
184
|
}
|
|
184
185
|
for (const file of unexplainedPaths) {
|
|
185
186
|
const bytes = await readRegular(path.join(this.workTree, file)).catch((error) => {
|
|
186
|
-
if (error instanceof WorkspaceError) throw new OuterSnapshotRefusal(error.code, error.message, [file]);
|
|
187
|
+
if (error instanceof WorkspaceError) throw new OuterSnapshotRefusal(error.code, error.message, [file], true);
|
|
187
188
|
throw error;
|
|
188
189
|
});
|
|
189
190
|
try {
|
|
190
191
|
sourceBytes(bytes, file);
|
|
191
192
|
} catch (error) {
|
|
192
|
-
if (error instanceof WorkspaceError) throw new OuterSnapshotRefusal(error.code, error.message, [file]);
|
|
193
|
+
if (error instanceof WorkspaceError) throw new OuterSnapshotRefusal(error.code, error.message, [file], true);
|
|
193
194
|
throw error;
|
|
194
195
|
}
|
|
195
196
|
}
|
|
@@ -44,12 +44,17 @@ export type OuterTreeEntry = {
|
|
|
44
44
|
mode: string;
|
|
45
45
|
oid: string;
|
|
46
46
|
};
|
|
47
|
-
/** A refusal that names the paths responsible, for the incident evidence.
|
|
48
|
-
|
|
47
|
+
/** A refusal that names the paths responsible, for the incident evidence.
|
|
48
|
+
*
|
|
49
|
+
* `definite` means the outcome is settled: either nothing happened, or what
|
|
49
50
|
* happened (conflict markers written, state saved) is fully recorded in the
|
|
50
|
-
* durable outer state and re-running the same command refuses the same way.
|
|
51
|
-
*
|
|
52
|
-
*
|
|
51
|
+
* durable outer state and re-running the same command refuses the same way. It
|
|
52
|
+
* travels as the relay's `rejectedBeforeAdmission`, so a caller receives a
|
|
53
|
+
* typed error instead of an uncertain outcome that blocks its run. Every
|
|
54
|
+
* refusal raised while measuring the workspace qualifies, since it is thrown
|
|
55
|
+
* before anything is staged, committed or published; leaving them uncertain
|
|
56
|
+
* turned "your workspace is too large" into `action_unknown` for the caller
|
|
57
|
+
* (stage 2026-09-18 run 27). */
|
|
53
58
|
export declare class OuterSnapshotRefusal extends WorkspaceError {
|
|
54
59
|
readonly paths: string[];
|
|
55
60
|
constructor(code: string, message: string, paths: string[], definite?: boolean);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ricsam/r5d-worker",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.186",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/mjs/main.mjs",
|
|
6
6
|
"module": "./dist/mjs/main.mjs",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"r5d-worker": "dist/mjs/main.mjs"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@ricsam/r5d-api": "^0.0.
|
|
24
|
+
"@ricsam/r5d-api": "^0.0.186",
|
|
25
25
|
"node-pty": "1.1.0",
|
|
26
26
|
"zod": "^4.1.13",
|
|
27
27
|
"picomatch": "^4.0.3"
|