@mesh-tech/mesh-cli 0.34.1 → 0.34.3

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/src/index.js CHANGED
@@ -1,4 +1,4 @@
1
- // libs/mesh-cli/src/utils/errors.ts
1
+ // packages/mesh-cli/src/utils/errors.ts
2
2
  import chalk from "chalk";
3
3
  var MeshCliError = class extends Error {
4
4
  remediation;
@@ -55,7 +55,7 @@ function handleCliError(err) {
55
55
  process.exit(err instanceof MeshCliError ? err.exitCode : 1);
56
56
  }
57
57
 
58
- // libs/mesh-cli/src/utils/log.ts
58
+ // packages/mesh-cli/src/utils/log.ts
59
59
  import chalk2 from "chalk";
60
60
  function logPrefix(opts) {
61
61
  const enabled = opts.envFlag === "1" || opts.envFlag !== "0" && !opts.isTTY;
@@ -107,11 +107,11 @@ function startHeartbeat(label, intervalMs = 15e3) {
107
107
  };
108
108
  }
109
109
 
110
- // libs/mesh-cli/src/utils/context.ts
110
+ // packages/mesh-cli/src/utils/context.ts
111
111
  import * as fs2 from "fs";
112
112
  import * as path2 from "path";
113
113
 
114
- // libs/mesh-cli/src/utils/mesh-json.ts
114
+ // packages/mesh-cli/src/utils/mesh-json.ts
115
115
  import * as fs from "fs";
116
116
  import * as path from "path";
117
117
  var MESH_JSON = "mesh.json";
@@ -149,7 +149,7 @@ function findMeshJson(startDir) {
149
149
  }
150
150
  }
151
151
 
152
- // libs/mesh-cli/src/utils/context.ts
152
+ // packages/mesh-cli/src/utils/context.ts
153
153
  function findFileUpwardInRepo(filename, startDir = process.cwd()) {
154
154
  let currentDir = startDir;
155
155
  const root = path2.parse(currentDir).root;
@@ -459,7 +459,7 @@ function detectContext(stageArg, options = {}) {
459
459
  return { tenant, stage, platformEnv, detectedTenant };
460
460
  }
461
461
 
462
- // libs/mesh-cli/src/utils/bastion.ts
462
+ // packages/mesh-cli/src/utils/bastion.ts
463
463
  import { SSMClient, GetParameterCommand } from "@aws-sdk/client-ssm";
464
464
  async function getPlatformBastionInfo(tenant, platformEnv, region) {
465
465
  const ssm = new SSMClient(region ? { region } : {});
@@ -543,7 +543,7 @@ async function getBastionInfo(tenant, platformEnv) {
543
543
  };
544
544
  }
545
545
 
546
- // libs/mesh-cli/src/utils/credentials.ts
546
+ // packages/mesh-cli/src/utils/credentials.ts
547
547
  import {
548
548
  SecretsManagerClient,
549
549
  GetSecretValueCommand
@@ -647,7 +647,7 @@ async function readSstOutputs() {
647
647
  return null;
648
648
  }
649
649
 
650
- // libs/mesh-cli/src/utils/pulumi.ts
650
+ // packages/mesh-cli/src/utils/pulumi.ts
651
651
  import { execFileSync } from "child_process";
652
652
  import * as path3 from "path";
653
653
  import * as fs3 from "fs";
@@ -713,7 +713,7 @@ function pulumiStackOutput(appRoot, key, extraArgs, env) {
713
713
  }
714
714
  }
715
715
 
716
- // libs/mesh-cli/src/utils/vpn.ts
716
+ // packages/mesh-cli/src/utils/vpn.ts
717
717
  import { execFile, execFileSync as execFileSync2 } from "node:child_process";
718
718
  import { existsSync as existsSync4 } from "node:fs";
719
719
  var TAILSCALE_PATHS = [
@@ -1,8 +1,8 @@
1
- // libs/mesh-cli/src/utils/temporal-codec.ts
1
+ // packages/mesh-cli/src/utils/temporal-codec.ts
2
2
  import { execFileSync } from "child_process";
3
3
  import { webcrypto as crypto } from "node:crypto";
4
4
 
5
- // libs/mesh-cli/src/utils/log.ts
5
+ // packages/mesh-cli/src/utils/log.ts
6
6
  import chalk from "chalk";
7
7
  function logPrefix(opts) {
8
8
  const enabled = opts.envFlag === "1" || opts.envFlag !== "0" && !opts.isTTY;
@@ -24,7 +24,7 @@ function logWarn(message) {
24
24
  console.error(prefix() + chalk.yellow("\u26A0"), message);
25
25
  }
26
26
 
27
- // libs/mesh-cli/src/utils/temporal-codec.ts
27
+ // packages/mesh-cli/src/utils/temporal-codec.ts
28
28
  function resolveTemporalEncodingKeyFromK8s(namespace) {
29
29
  const secretName = `${namespace}-temporal-encoding-key`;
30
30
  try {
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@mesh-tech/mesh-cli",
3
- "version": "0.34.1",
3
+ "version": "0.34.3",
4
4
  "description": "CLI for Mesh platform development utilities",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "https://github.com/mesh-tech/mesh-platform.git",
10
- "directory": "libs/mesh-cli"
10
+ "directory": "packages/mesh-cli"
11
11
  },
12
12
  "bin": {
13
13
  "mesh": "./dist/bin/mesh.js"
@@ -42,8 +42,8 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@mesh-tech/agent-contracts": "0.2.0",
45
- "@mesh-tech/tsconfig": "2.29.0",
46
- "@mesh-tech/workflow-viz": "0.3.0",
45
+ "@mesh-tech/tsconfig": "2.31.0",
46
+ "@mesh-tech/workflow-viz": "0.3.1",
47
47
  "@tanstack/intent": "^0.3.6",
48
48
  "@types/node": "^20.0.0",
49
49
  "tsx": "^4.20.4"
@@ -378,7 +378,7 @@ mesh artifacts get <id>:<artifactId> --target fub
378
378
 
379
379
  `--target` resolves the same `~/.config/mesh/agent-targets.json` registry the
380
380
  MCP `agent_*` tools use; see the dedicated
381
- `libs/mesh-cli/skills/pull-remote-agent-context` skill for the full recipe
381
+ `packages/mesh-cli/skills/pull-remote-agent-context` skill for the full recipe
382
382
  (registry format, auth model, the `conversation_unavailable` → `mesh temporal
383
383
  recover-conversation` break-glass path, and the MCP-vs-CLI relationship).
384
384
 
@@ -187,7 +187,7 @@ fub | jq ...`) rather than pass `--json` — output auto-detects non-TTY.
187
187
 
188
188
  ## See also
189
189
 
190
- - `libs/mesh-cli/skills/core/SKILL.md` — full `mesh` command reference,
190
+ - `packages/mesh-cli/skills/core/SKILL.md` — full `mesh` command reference,
191
191
  including the `conversations`/`artifacts`/`temporal` rows this skill
192
192
  builds on.
193
193
  - `packages/agent-remote/agent-targets.example.json` — a worked registry
@@ -57,6 +57,10 @@ proxy (`auth: { provider: "mesh" }`). The proxy pins its sign-in callback to
57
57
  that Service's own ingress hostname; a Service that answers for more than one
58
58
  hostname (`ingress.extraHostnames`) sets `auth.deriveRedirectUrl: true` so each
59
59
  host gets its own callback, and registers a redirect URI per host at the IdP.
60
+ The proxy keeps each session in its cookie, which grows with the user's roles;
61
+ once a user holds enough of them the load balancer rejects every request with a
62
+ `400`. `auth.sessionStore: "redis"` keeps sessions in a small Redis the Service
63
+ creates for itself, so the cookie stays under 1KB.
60
64
 
61
65
  `index.ts` owns the whole access surface, so there is nothing to create by
62
66
  hand: `ZitadelAppIdentity` makes the app's Zitadel project + roles,