@devrouter/cli 0.0.70 → 0.0.71
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/devrouter-lifecycle-worker.js +2 -2
- package/dist/devrouter.js +23 -12
- package/package.json +1 -1
- package/upgrade-prompts/0.0.71.md +26 -0
|
@@ -5159,7 +5159,7 @@ function loadRepoConfig(repoPath, read2 = (file) => import_node_fs14.default.rea
|
|
|
5159
5159
|
const config = parseConfig(parsed ?? {}, configPath);
|
|
5160
5160
|
const requiredVersion = config.devrouter?.version;
|
|
5161
5161
|
if (requiredVersion && !hasWarnedVersionMismatch) {
|
|
5162
|
-
const cliVersion = true ? "0.0.
|
|
5162
|
+
const cliVersion = true ? "0.0.71" : "0.0.0-dev";
|
|
5163
5163
|
if (cliVersion !== "0.0.0-dev" && compareSemver(requiredVersion, cliVersion) > 0) {
|
|
5164
5164
|
hasWarnedVersionMismatch = true;
|
|
5165
5165
|
process.stderr.write(
|
|
@@ -9037,7 +9037,7 @@ var import_node_fs25 = __toESM(require("fs"));
|
|
|
9037
9037
|
var import_node_path30 = __toESM(require("path"));
|
|
9038
9038
|
var import_node_util5 = require("util");
|
|
9039
9039
|
function installedCliVersion() {
|
|
9040
|
-
return true ? "0.0.
|
|
9040
|
+
return true ? "0.0.71" : "0.0.0-dev";
|
|
9041
9041
|
}
|
|
9042
9042
|
function compareCliVersions(left, right) {
|
|
9043
9043
|
const parts = (value) => value.split(".").map((part) => Number.parseInt(part, 10) || 0);
|
package/dist/devrouter.js
CHANGED
|
@@ -4133,7 +4133,7 @@ function loadRepoConfig(repoPath, read2 = (file) => import_node_fs7.default.read
|
|
|
4133
4133
|
const config = parseConfig(parsed ?? {}, configPath);
|
|
4134
4134
|
const requiredVersion = config.devrouter?.version;
|
|
4135
4135
|
if (requiredVersion && !hasWarnedVersionMismatch) {
|
|
4136
|
-
const cliVersion = true ? "0.0.
|
|
4136
|
+
const cliVersion = true ? "0.0.71" : "0.0.0-dev";
|
|
4137
4137
|
if (cliVersion !== "0.0.0-dev" && compareSemver(requiredVersion, cliVersion) > 0) {
|
|
4138
4138
|
hasWarnedVersionMismatch = true;
|
|
4139
4139
|
process.stderr.write(
|
|
@@ -5386,7 +5386,7 @@ var init_reliability_contract = __esm({
|
|
|
5386
5386
|
|
|
5387
5387
|
// src/core/reliability-operation-store.ts
|
|
5388
5388
|
function installedCliVersion() {
|
|
5389
|
-
return true ? "0.0.
|
|
5389
|
+
return true ? "0.0.71" : "0.0.0-dev";
|
|
5390
5390
|
}
|
|
5391
5391
|
function compareCliVersions(left, right) {
|
|
5392
5392
|
const parts = (value) => value.split(".").map((part) => Number.parseInt(part, 10) || 0);
|
|
@@ -7361,16 +7361,20 @@ async function observeControllerBinding(directory, input2) {
|
|
|
7361
7361
|
path: input2.path,
|
|
7362
7362
|
session: input2.session,
|
|
7363
7363
|
profile: input2.profile,
|
|
7364
|
-
require: input2.require
|
|
7364
|
+
require: input2.require
|
|
7365
7365
|
});
|
|
7366
|
-
if (!isRecord4(response) ||
|
|
7366
|
+
if (!isRecord4(response) || response.version !== 1 || response.ok !== true || !isRecord4(response.result)) {
|
|
7367
|
+
throw new Error("Malformed controller observation binding.");
|
|
7368
|
+
}
|
|
7369
|
+
const result = response.result;
|
|
7370
|
+
if (!hasExactKeys(result, ["store", "epoch", "generation", "session"]) || !isControllerId(result.session) || !isControllerId(result.store) || !isSafeCounter(result.epoch) || typeof result.generation !== "string" || result.generation.length > 4096) {
|
|
7367
7371
|
throw new Error("Malformed controller observation binding.");
|
|
7368
7372
|
}
|
|
7369
7373
|
return {
|
|
7370
|
-
session:
|
|
7371
|
-
store:
|
|
7372
|
-
epoch:
|
|
7373
|
-
generation:
|
|
7374
|
+
session: result.session,
|
|
7375
|
+
store: result.store,
|
|
7376
|
+
epoch: result.epoch,
|
|
7377
|
+
generation: result.generation
|
|
7374
7378
|
};
|
|
7375
7379
|
}
|
|
7376
7380
|
async function controllerRequest(directory, input2, emit, timeoutMs) {
|
|
@@ -15177,7 +15181,11 @@ async function superviseThroughController(input2) {
|
|
|
15177
15181
|
const bind = () => observeControllerBinding(directory, {
|
|
15178
15182
|
path: input2.repoPath,
|
|
15179
15183
|
session: (0, import_node_crypto21.randomUUID)(),
|
|
15180
|
-
profile: input2.profile ?? "full"
|
|
15184
|
+
profile: input2.profile ?? "full",
|
|
15185
|
+
// The protocol requires at least one readiness selector, and every
|
|
15186
|
+
// supervised operation depends on runtime readiness; "runtime" is the
|
|
15187
|
+
// one selector every managed binding may declare.
|
|
15188
|
+
require: ["runtime"]
|
|
15181
15189
|
});
|
|
15182
15190
|
let binding = await bind();
|
|
15183
15191
|
let pending = await submitControllerOperation(
|
|
@@ -17000,7 +17008,10 @@ async function runController(options) {
|
|
|
17000
17008
|
]);
|
|
17001
17009
|
if (!socket.destroyed)
|
|
17002
17010
|
send({ version: 1, id: operationRequest2.id, ok: true, result });
|
|
17003
|
-
}).catch(() => {
|
|
17011
|
+
}).catch((error) => {
|
|
17012
|
+
const cause = (error instanceof Error ? error.message : String(error)).replace(/\s+/g, " ").trim().slice(0, 300);
|
|
17013
|
+
if (cause) process.stderr.write(`controller operation failed: ${cause}
|
|
17014
|
+
`);
|
|
17004
17015
|
if (!socket.destroyed)
|
|
17005
17016
|
send({
|
|
17006
17017
|
version: 1,
|
|
@@ -20389,7 +20400,7 @@ async function buildDoctorReport(options = {}) {
|
|
|
20389
20400
|
const config = runtimeConfig.config;
|
|
20390
20401
|
loadedConfig = config;
|
|
20391
20402
|
loadedWorkspace = runtimeConfig.workspace;
|
|
20392
|
-
const cliVersion = true ? "0.0.
|
|
20403
|
+
const cliVersion = true ? "0.0.71" : "0.0.0-dev";
|
|
20393
20404
|
const configVersion = config.devrouter?.version;
|
|
20394
20405
|
if (configVersion && cliVersion !== "0.0.0-dev" && compareSemver(configVersion, cliVersion) > 0) {
|
|
20395
20406
|
addCheck(checks, {
|
|
@@ -25819,7 +25830,7 @@ var init_version = __esm({
|
|
|
25819
25830
|
|
|
25820
25831
|
// src/cli.ts
|
|
25821
25832
|
var import_commander = require("commander");
|
|
25822
|
-
var CLI_VERSION = true ? "0.0.
|
|
25833
|
+
var CLI_VERSION = true ? "0.0.71" : "0.0.0-dev";
|
|
25823
25834
|
var VERSION_FLAGS = /* @__PURE__ */ new Set(["-V", "--version"]);
|
|
25824
25835
|
function withErrorHandling(action2) {
|
|
25825
25836
|
return async (...args) => {
|
package/package.json
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Upgrade to devrouter 0.0.71
|
|
2
|
+
|
|
3
|
+
This patch release repairs controller admission for capacity-enrolled
|
|
4
|
+
checkouts. Two client defects shipped in 0.0.69 and 0.0.70: supervised
|
|
5
|
+
operations bound with an empty requirement list that the controller protocol
|
|
6
|
+
rejects, and the observation binding validated the wire envelope instead of
|
|
7
|
+
the observation result. Enrolled `ensure` and `exec` therefore failed before
|
|
8
|
+
reaching the controller. The controller also now reports the bounded cause of
|
|
9
|
+
a failed operation on stderr. No schema, configuration, or CLI flag changes.
|
|
10
|
+
|
|
11
|
+
## Task
|
|
12
|
+
|
|
13
|
+
Install the published release and update `.devrouter.yml` devrouter.version to
|
|
14
|
+
0.0.71. No configuration change is required.
|
|
15
|
+
|
|
16
|
+
## Validation
|
|
17
|
+
|
|
18
|
+
On a repository with an enabled capacity policy enrollment, run
|
|
19
|
+
`devrouter ensure <path> --json` and confirm startup is admitted, then run
|
|
20
|
+
`devrouter exec <path> -- echo ok` and confirm the admitted operation completes.
|
|
21
|
+
`devrouter stop <path>` must end with the runtime stopped and zero routes.
|
|
22
|
+
|
|
23
|
+
## Report
|
|
24
|
+
|
|
25
|
+
Report the installed CLI version, the enrolled repository, the ensure and exec
|
|
26
|
+
outcomes, and the final stopped status with the route count.
|