@mesh-tech/mesh-cli 0.35.0 → 0.35.1

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.
@@ -1,4 +1,4 @@
1
1
  {
2
- "commit": "cf1f2fb06",
3
- "builtAt": "2026-09-25T19:28:25.368Z"
2
+ "commit": "7e553d060",
3
+ "builtAt": "2026-09-29T02:18:34.716Z"
4
4
  }
@@ -75,7 +75,7 @@ export const APP_CHECK_RULES = {
75
75
  gate: "H",
76
76
  title: "No role grants in IaC",
77
77
  severity: "block",
78
- remediation: "remove the per-user grant map; grant roles from the Hub (App → Access → People)",
78
+ remediation: "remove the per-user grant map; grant roles from the Hub (App → Access → Users)",
79
79
  scope: "app",
80
80
  },
81
81
  POINTER_PROJECT_OVERRIDE: {
@@ -762,7 +762,7 @@ export function scanApp(root, appRel, resolution = probeResolution(root, appRel)
762
762
  for (const f of files)
763
763
  hit(code, rel(root, f), why);
764
764
  };
765
- anti("IAC_GRANTS", RE_IAC_GRANT, "per-user role grant baked into IaC — grants belong in the Hub (Access → People), not in a config redeploy");
765
+ anti("IAC_GRANTS", RE_IAC_GRANT, "per-user role grant baked into IaC — grants belong in the Hub (Access → Users), not in a config redeploy");
766
766
  anti("POINTER_PROJECT_OVERRIDE", RE_POINTER_OVERRIDE, "AppAuthzPointer is given a `zitadel:` override — an app binds its project with AppEnvironment's zitadelAppProjectId so every consumer of env.zitadel agrees; the override is reserved for the Hub");
767
767
  anti("PASSWORD_STORE", RE_PASSWORD, "password storage or hashing — Zitadel owns credentials; the Hub creates sign-in users with a one-time temporary password");
768
768
  anti("EMAIL_ALLOWLIST", RE_ALLOWLIST, "email allowlist standing in for roles — declare a role and let the Hub grant it");
@@ -205,7 +205,7 @@ const worker = new mesh.apps.TemporalWorker("worker", {
205
205
  // shape: it still deploys, for the sites that are public today, and warns at
206
206
  // every preview. This declaration names none of it, and a new app needs
207
207
  // none. The site's readers hold this app's `docs` project role: declare the
208
- // role on the ZitadelAppIdentity and grant it from Access → People; that same
208
+ // role on the ZitadelAppIdentity and grant it from Access → Users; that same
209
209
  // role is what the Hub reads when a partner holding the Hub's `docs:<tenant>`
210
210
  // role opens this app's Docs tab, and the app then appears in their Apps list.
211
211
  // `mesh app check` flags a docs site put on an ingress instead
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mesh-tech/mesh-cli",
3
- "version": "0.35.0",
3
+ "version": "0.35.1",
4
4
  "description": "CLI for Mesh platform development utilities",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@mesh-tech/agent-contracts": "0.2.0",
45
- "@mesh-tech/tsconfig": "2.34.0",
45
+ "@mesh-tech/tsconfig": "2.35.0",
46
46
  "@mesh-tech/workflow-viz": "0.3.1",
47
47
  "@tanstack/intent": "^0.3.6",
48
48
  "@types/node": "^20.0.0",
@@ -36,4 +36,7 @@ export const schema = defineSchema({
36
36
  },
37
37
  coarseRoles: ["user"] as const,
38
38
  zitadelSync: "coarse",
39
+ // A protected Admin — every action on every resource, locked in the Hub —
40
+ // is one bundle with `admin: true` and no `grants`. Assigning it
41
+ // tenant-wide needs an `isRoot` resource the others `parent`-link to.
39
42
  });