@devrouter/cli 0.0.76 → 0.0.77

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.
@@ -4683,7 +4683,7 @@ var ControllerStore = class {
4683
4683
 
4684
4684
  // src/core/reliability-operation-store.ts
4685
4685
  function installedCliVersion() {
4686
- return true ? "0.0.76" : "0.0.0-dev";
4686
+ return true ? "0.0.77" : "0.0.0-dev";
4687
4687
  }
4688
4688
  function compareCliVersions(left, right) {
4689
4689
  const parts = (value) => value.split(".").map((part) => Number.parseInt(part, 10) || 0);
@@ -6383,7 +6383,7 @@ function loadRepoConfig(repoPath, read2 = (file) => import_node_fs18.default.rea
6383
6383
  const config = parseConfig(parsed ?? {}, configPath);
6384
6384
  const requiredVersion = config.devrouter?.version;
6385
6385
  if (requiredVersion && !hasWarnedVersionMismatch) {
6386
- const cliVersion = true ? "0.0.76" : "0.0.0-dev";
6386
+ const cliVersion = true ? "0.0.77" : "0.0.0-dev";
6387
6387
  if (cliVersion !== "0.0.0-dev" && compareSemver(requiredVersion, cliVersion) > 0) {
6388
6388
  hasWarnedVersionMismatch = true;
6389
6389
  process.stderr.write(
@@ -13911,6 +13911,14 @@ async function workspaceEnsure(requestedRepoPath, options = {}) {
13911
13911
  "Claimed network repair requires exact retained-network reconciliation; automatic repair is unavailable."
13912
13912
  );
13913
13913
  }
13914
+ let earlyTlsRefreshed = false;
13915
+ if (!options.repair) {
13916
+ claimLifecycleEffect();
13917
+ earlyTlsRefreshed = (await ensureTLSHostsCovered(
13918
+ apps.map((app) => app.host),
13919
+ { repoPath }
13920
+ )).refreshed;
13921
+ }
13914
13922
  if (managedPlan && !options.repair && !network) {
13915
13923
  if (!target.hadExactDevpod && devpodId && inspectLegacyNetworkCapacity({
13916
13924
  provider: resolveWorkspaceRuntimeOrDefault(repoPath),
@@ -14333,7 +14341,7 @@ async function workspaceEnsure(requestedRepoPath, options = {}) {
14333
14341
  devpodId,
14334
14342
  urls,
14335
14343
  recreated,
14336
- tlsRefreshed: publication.tlsRefreshed,
14344
+ tlsRefreshed: earlyTlsRefreshed || publication.tlsRefreshed,
14337
14345
  ...applicationReadiness ? { applicationReadiness } : {},
14338
14346
  ...managedRuntimeStatus ? { managedRuntime: managedRuntimeStatus } : {}
14339
14347
  };
package/dist/devrouter.js CHANGED
@@ -4256,7 +4256,7 @@ function loadRepoConfig(repoPath, read2 = (file) => import_node_fs7.default.read
4256
4256
  const config = parseConfig(parsed ?? {}, configPath);
4257
4257
  const requiredVersion = config.devrouter?.version;
4258
4258
  if (requiredVersion && !hasWarnedVersionMismatch) {
4259
- const cliVersion = true ? "0.0.76" : "0.0.0-dev";
4259
+ const cliVersion = true ? "0.0.77" : "0.0.0-dev";
4260
4260
  if (cliVersion !== "0.0.0-dev" && compareSemver(requiredVersion, cliVersion) > 0) {
4261
4261
  hasWarnedVersionMismatch = true;
4262
4262
  process.stderr.write(
@@ -5509,7 +5509,7 @@ var init_reliability_contract = __esm({
5509
5509
 
5510
5510
  // src/core/reliability-operation-store.ts
5511
5511
  function installedCliVersion() {
5512
- return true ? "0.0.76" : "0.0.0-dev";
5512
+ return true ? "0.0.77" : "0.0.0-dev";
5513
5513
  }
5514
5514
  function compareCliVersions(left, right) {
5515
5515
  const parts = (value) => value.split(".").map((part) => Number.parseInt(part, 10) || 0);
@@ -15261,6 +15261,7 @@ var init_workspace_ensure = __esm({
15261
15261
  init_repo_config();
15262
15262
  init_route_publication();
15263
15263
  init_router();
15264
+ init_tls();
15264
15265
  init_traefik_route_health();
15265
15266
  init_workspace();
15266
15267
  init_workspace_ownership();
@@ -21122,7 +21123,7 @@ async function buildDoctorReport(options = {}) {
21122
21123
  const config = runtimeConfig.config;
21123
21124
  loadedConfig = config;
21124
21125
  loadedWorkspace = runtimeConfig.workspace;
21125
- const cliVersion = true ? "0.0.76" : "0.0.0-dev";
21126
+ const cliVersion = true ? "0.0.77" : "0.0.0-dev";
21126
21127
  const configVersion = config.devrouter?.version;
21127
21128
  if (configVersion && cliVersion !== "0.0.0-dev" && compareSemver(configVersion, cliVersion) > 0) {
21128
21129
  addCheck(checks, {
@@ -26563,7 +26564,7 @@ var init_version = __esm({
26563
26564
 
26564
26565
  // src/cli.ts
26565
26566
  var import_commander = require("commander");
26566
- var CLI_VERSION = true ? "0.0.76" : "0.0.0-dev";
26567
+ var CLI_VERSION = true ? "0.0.77" : "0.0.0-dev";
26567
26568
  var VERSION_FLAGS = /* @__PURE__ */ new Set(["-V", "--version"]);
26568
26569
  function withErrorHandling(action2) {
26569
26570
  return async (...args) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrouter/cli",
3
- "version": "0.0.76",
3
+ "version": "0.0.77",
4
4
  "description": "Local dev routing CLI with shared Traefik reverse proxy",
5
5
  "author": "Roland Schlaefli",
6
6
  "homepage": "https://github.com/rschlaefli/devrouter#readme",
@@ -0,0 +1,35 @@
1
+ # Upgrade to devrouter 0.0.77
2
+
3
+ Ordinary ensure now prepares TLS coverage for resolved HTTP and TCP proxy hosts
4
+ before provider startup and container-side repository hooks. The existing
5
+ certificate lock preserves coverage for other checkouts. Late publication checks
6
+ remain, and retained-runtime repair keeps its infrastructure-free behavior.
7
+ No schema, command, flag, or environment-variable migration is needed.
8
+
9
+ ## Task
10
+
11
+ Use the published 0.0.77 CLI. Update `.devrouter.yml` devrouter.version only when
12
+ consumer source changes are authorized. Preserve staged work owned by another
13
+ task. Refresh generated agent guidance only with the repository owner's authority.
14
+ No generated runtime configuration or journal rewrite is needed.
15
+
16
+ For an affected checkout, retain one owner for its supported ensure/check/stop
17
+ sequence. Historical degraded state can select retained-runtime repair, which
18
+ skips shared infrastructure. If certificate coverage is missing, reconcile it
19
+ through the supported TLS setup or refresh path with the relevant machine-change
20
+ authority; do not bypass TLS verification or repeat lifecycle mutations blindly.
21
+
22
+ ## Validation
23
+
24
+ Verify the installed version and exact checkout ownership. Check that the served
25
+ certificate validates the resolved hostname using the trusted local CA; certificate
26
+ file coverage alone does not prove live serving. Verify application readiness
27
+ separately. Finish with canonical stop and exact provider-stopped/zero-route proof
28
+ unless the owner explicitly retains the runtime. Preserve live-worker, ownership,
29
+ configuration and surviving-resource refusals.
30
+
31
+ ## Report
32
+
33
+ Report release revision, installed executable, exact checkout and producing-run
34
+ results. Separate source/CI and TLS proof from application readiness and runtime
35
+ shutdown. A trusted TLS handshake or an HTTP404 is not successful app recovery.