@mesh-tech/mesh-cli 0.40.14 → 0.40.15
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/bin/{mesh.auth-preflight-BGI5LPLN.js → mesh.auth-preflight-JTUNS42O.js} +1 -1
- package/dist/bin/{mesh.chunk-3WJGDNHA.js → mesh.chunk-HB2IZKLP.js} +5 -5
- package/dist/bin/{mesh.chunk-4XX62O6Z.js → mesh.chunk-HC7V75J3.js} +1 -1
- package/dist/bin/{mesh.chunk-GLG5JBI7.js → mesh.chunk-IZLAJATU.js} +61 -34
- package/dist/bin/mesh.chunk-IZLAJATU.js.map +6 -0
- package/dist/bin/{mesh.chunk-O5CP4NPZ.js → mesh.chunk-LAUSCBV6.js} +2 -2
- package/dist/bin/{mesh.chunk-WT27GBE4.js → mesh.chunk-M57BJLLK.js} +1 -1
- package/dist/bin/{mesh.chunk-YKW256CK.js → mesh.chunk-PANTMVC3.js} +3 -3
- package/dist/bin/{mesh.chunk-2QIVBQX5.js.map → mesh.chunk-PL3P54MY.js.map} +1 -1
- package/dist/bin/{mesh.chunk-EHLBX24J.js → mesh.chunk-QUKWWFZI.js} +1 -1
- package/dist/bin/{mesh.chunk-DYWR76EO.js → mesh.chunk-TYM27CO3.js} +1 -1
- package/dist/bin/{mesh.chunk-O677AU5E.js → mesh.chunk-YB4VOTA7.js} +1 -1
- package/dist/bin/{mesh.convert-7N2H2SVK.js → mesh.convert-4BZC5PYA.js} +1 -1
- package/dist/bin/{mesh.create-app-GQIGCZNI.js → mesh.create-app-3HYMOLXT.js} +4 -4
- package/dist/bin/{mesh.dev-token-server-IJUVRBWI.js → mesh.dev-token-server-4N6HGQAF.js} +3 -3
- package/dist/bin/mesh.js +10 -10
- package/dist/bin/{mesh.login-N5LPLRRX.js → mesh.login-Q6R5GMVM.js} +3 -3
- package/dist/bin/{mesh.platform-setup-PCDLE2EI.js → mesh.platform-setup-LVFHW263.js} +1 -1
- package/dist/bin/{mesh.preview-RJGTCTY3.js → mesh.preview-ALFPQCWU.js} +1 -1
- package/dist/bin/mesh.program-BZPJOWJK.js +24 -0
- package/dist/bin/{mesh.registry-5U4L6256.js → mesh.registry-KA3CNNPZ.js} +5 -5
- package/dist/bin/{mesh.registry-identity-6UPUHKO2.js → mesh.registry-identity-DSTAHXUS.js} +4 -4
- package/dist/bin/{mesh.review-command-MLBWVHF7.js → mesh.review-command-3ZXPS6Y3.js} +4 -4
- package/dist/bin/{mesh.start-24YIFB4O.js → mesh.start-XKQW5DW4.js} +2 -2
- package/dist/bin/{mesh.wizard-6HMOBC5L.js → mesh.wizard-I7HPLDDY.js} +8 -8
- package/dist/build-info.json +2 -2
- package/dist/src/commands/local/seed-hub-catalog.d.ts +4 -0
- package/dist/src/commands/local/seed-hub-catalog.js +18 -8
- package/dist/src/commands/temporal.js.map +1 -1
- package/package.json +2 -2
- package/templates/api-auth/api/src/schema.ts.hbs +5 -3
- package/dist/bin/mesh.chunk-GLG5JBI7.js.map +0 -6
- package/dist/bin/mesh.program-WSFVQU7P.js +0 -24
- /package/dist/bin/{mesh.auth-preflight-BGI5LPLN.js.map → mesh.auth-preflight-JTUNS42O.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-3WJGDNHA.js.map → mesh.chunk-HB2IZKLP.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-4XX62O6Z.js.map → mesh.chunk-HC7V75J3.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-O5CP4NPZ.js.map → mesh.chunk-LAUSCBV6.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-WT27GBE4.js.map → mesh.chunk-M57BJLLK.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-YKW256CK.js.map → mesh.chunk-PANTMVC3.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-2QIVBQX5.js → mesh.chunk-PL3P54MY.js} +0 -0
- /package/dist/bin/{mesh.chunk-EHLBX24J.js.map → mesh.chunk-QUKWWFZI.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-DYWR76EO.js.map → mesh.chunk-TYM27CO3.js.map} +0 -0
- /package/dist/bin/{mesh.chunk-O677AU5E.js.map → mesh.chunk-YB4VOTA7.js.map} +0 -0
- /package/dist/bin/{mesh.convert-7N2H2SVK.js.map → mesh.convert-4BZC5PYA.js.map} +0 -0
- /package/dist/bin/{mesh.create-app-GQIGCZNI.js.map → mesh.create-app-3HYMOLXT.js.map} +0 -0
- /package/dist/bin/{mesh.dev-token-server-IJUVRBWI.js.map → mesh.dev-token-server-4N6HGQAF.js.map} +0 -0
- /package/dist/bin/{mesh.login-N5LPLRRX.js.map → mesh.login-Q6R5GMVM.js.map} +0 -0
- /package/dist/bin/{mesh.platform-setup-PCDLE2EI.js.map → mesh.platform-setup-LVFHW263.js.map} +0 -0
- /package/dist/bin/{mesh.preview-RJGTCTY3.js.map → mesh.preview-ALFPQCWU.js.map} +0 -0
- /package/dist/bin/{mesh.program-WSFVQU7P.js.map → mesh.program-BZPJOWJK.js.map} +0 -0
- /package/dist/bin/{mesh.registry-5U4L6256.js.map → mesh.registry-KA3CNNPZ.js.map} +0 -0
- /package/dist/bin/{mesh.registry-identity-6UPUHKO2.js.map → mesh.registry-identity-DSTAHXUS.js.map} +0 -0
- /package/dist/bin/{mesh.review-command-MLBWVHF7.js.map → mesh.review-command-3ZXPS6Y3.js.map} +0 -0
- /package/dist/bin/{mesh.start-24YIFB4O.js.map → mesh.start-XKQW5DW4.js.map} +0 -0
- /package/dist/bin/{mesh.wizard-6HMOBC5L.js.map → mesh.wizard-I7HPLDDY.js.map} +0 -0
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
parseHubActAsExports,
|
|
12
12
|
restrictedRoleBase,
|
|
13
13
|
sandboxModeSchema
|
|
14
|
-
} from "./mesh.chunk-
|
|
14
|
+
} from "./mesh.chunk-PL3P54MY.js";
|
|
15
15
|
import {
|
|
16
16
|
ARTIFACTS_BUCKET,
|
|
17
17
|
COMPOSE_PROJECT,
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
isExpiredAwsTokenMessage,
|
|
50
50
|
probeRegistryToken,
|
|
51
51
|
registryLoginFix
|
|
52
|
-
} from "./mesh.chunk-
|
|
52
|
+
} from "./mesh.chunk-HC7V75J3.js";
|
|
53
53
|
|
|
54
54
|
// packages/mesh-cli/src/commands/login.ts
|
|
55
55
|
import * as http from "http";
|
|
@@ -7885,7 +7885,7 @@ function registerDevCommand(program) {
|
|
|
7885
7885
|
"tmux"
|
|
7886
7886
|
);
|
|
7887
7887
|
dev.command("__token-server <port> <context>", { hidden: true }).action(async (port, context) => {
|
|
7888
|
-
const { startTokenServer } = await import("./mesh.dev-token-server-
|
|
7888
|
+
const { startTokenServer } = await import("./mesh.dev-token-server-4N6HGQAF.js");
|
|
7889
7889
|
await startTokenServer(Number(port), context);
|
|
7890
7890
|
});
|
|
7891
7891
|
dev.action(async (options) => {
|
|
@@ -11023,9 +11023,9 @@ function refuseReservedRegistryContext(context, verb) {
|
|
|
11023
11023
|
}
|
|
11024
11024
|
async function hintRegistryIfMissing() {
|
|
11025
11025
|
try {
|
|
11026
|
-
const { readRegistrySession } = await import("./mesh.registry-identity-
|
|
11026
|
+
const { readRegistrySession } = await import("./mesh.registry-identity-DSTAHXUS.js");
|
|
11027
11027
|
if (readRegistrySession()) return;
|
|
11028
|
-
const { probeRegistryToken: probeRegistryToken2 } = await import("./mesh.auth-preflight-
|
|
11028
|
+
const { probeRegistryToken: probeRegistryToken2 } = await import("./mesh.auth-preflight-JTUNS42O.js");
|
|
11029
11029
|
const probe = await probeRegistryToken2();
|
|
11030
11030
|
if (probe.state === "missing" || probe.state === "expired") {
|
|
11031
11031
|
logInfo(REGISTRY_SEPARATE_HINT);
|
|
@@ -107,7 +107,7 @@ async function registryPreflight(opts) {
|
|
|
107
107
|
const probe = await probeRegistryToken(opts);
|
|
108
108
|
let session = null;
|
|
109
109
|
try {
|
|
110
|
-
const { readRegistrySession } = await import("./mesh.registry-identity-
|
|
110
|
+
const { readRegistrySession } = await import("./mesh.registry-identity-DSTAHXUS.js");
|
|
111
111
|
session = readRegistrySession();
|
|
112
112
|
} catch {
|
|
113
113
|
}
|
|
@@ -7,22 +7,22 @@ import {
|
|
|
7
7
|
parseInstanceIndex,
|
|
8
8
|
resolveSecretsContext,
|
|
9
9
|
setCommand
|
|
10
|
-
} from "./mesh.chunk-
|
|
10
|
+
} from "./mesh.chunk-QUKWWFZI.js";
|
|
11
11
|
import {
|
|
12
12
|
cliReferenceStaleness,
|
|
13
13
|
resolveCliRuntime,
|
|
14
14
|
runPortalCommand
|
|
15
|
-
} from "./mesh.chunk-
|
|
15
|
+
} from "./mesh.chunk-YB4VOTA7.js";
|
|
16
16
|
import {
|
|
17
17
|
registerAppCommands,
|
|
18
18
|
registerCreateAppCommand
|
|
19
|
-
} from "./mesh.chunk-
|
|
19
|
+
} from "./mesh.chunk-LAUSCBV6.js";
|
|
20
20
|
import {
|
|
21
21
|
PLATFORM_SETUP_DEFAULTS
|
|
22
|
-
} from "./mesh.chunk-
|
|
22
|
+
} from "./mesh.chunk-M57BJLLK.js";
|
|
23
23
|
import {
|
|
24
24
|
registerRegistryCommands
|
|
25
|
-
} from "./mesh.chunk-
|
|
25
|
+
} from "./mesh.chunk-PANTMVC3.js";
|
|
26
26
|
import {
|
|
27
27
|
registerSkillsCommands,
|
|
28
28
|
resolveTargetRoot,
|
|
@@ -78,7 +78,7 @@ import {
|
|
|
78
78
|
waitForPort,
|
|
79
79
|
worktreeStackName,
|
|
80
80
|
writeEnvFile
|
|
81
|
-
} from "./mesh.chunk-
|
|
81
|
+
} from "./mesh.chunk-HB2IZKLP.js";
|
|
82
82
|
import {
|
|
83
83
|
COMPOSE_PROJECT,
|
|
84
84
|
DEFAULT_HUB_PORT,
|
|
@@ -127,7 +127,7 @@ import {
|
|
|
127
127
|
homeNpmrcPath,
|
|
128
128
|
isNpmAuthError,
|
|
129
129
|
probeRegistryToken
|
|
130
|
-
} from "./mesh.chunk-
|
|
130
|
+
} from "./mesh.chunk-HC7V75J3.js";
|
|
131
131
|
import {
|
|
132
132
|
createVcsFolderReader,
|
|
133
133
|
deriveVcsBaseUrl,
|
|
@@ -1542,7 +1542,7 @@ var DOCS_PREVIEW_PORT = "4410";
|
|
|
1542
1542
|
var CLI_REFERENCE_PATH = "docs/portal/generated/cli-reference.md";
|
|
1543
1543
|
async function renderCliReference() {
|
|
1544
1544
|
const [{ createProgram: createProgram2 }, { extractCliReference, renderCliReferenceMarkdown }] = await Promise.all([
|
|
1545
|
-
import("./mesh.program-
|
|
1545
|
+
import("./mesh.program-BZPJOWJK.js"),
|
|
1546
1546
|
import("./mesh.cli-reference-H3TOPIET.js")
|
|
1547
1547
|
]);
|
|
1548
1548
|
return renderCliReferenceMarkdown(extractCliReference(createProgram2()));
|
|
@@ -1614,7 +1614,7 @@ function registerDocsCommand(program) {
|
|
|
1614
1614
|
"Serve the Mesh docs locally \u2014 detached in a tmux session by default; the working tree in a mesh-platform checkout, or the published @mesh-tech/docs artifact (role-gated registry) anywhere else"
|
|
1615
1615
|
).option("-v, --version <version>", "docs version to serve (== the @mesh-tech/* baseline it describes); default: latest", void 0).option("-p, --port <port>", "port to serve on (0 picks a free one)", "4400").option("--dev", "in a checkout: run the Zudoku dev server (HMR) in the foreground, for authoring", false).option("--foreground", "serve in the foreground (the agent/CI path; automatic when not a TTY)", false).action(
|
|
1616
1616
|
(opts) => guarded(async () => {
|
|
1617
|
-
const { runDocsStart } = await import("./mesh.start-
|
|
1617
|
+
const { runDocsStart } = await import("./mesh.start-XKQW5DW4.js");
|
|
1618
1618
|
await runDocsStart({
|
|
1619
1619
|
repoRoot: findRepoRoot(process.cwd()),
|
|
1620
1620
|
version: opts.version,
|
|
@@ -1626,13 +1626,13 @@ function registerDocsCommand(program) {
|
|
|
1626
1626
|
);
|
|
1627
1627
|
docs.command("stop").description(`Stop the detached docs server (the tmux session "${"mesh-docs"}")`).action(
|
|
1628
1628
|
() => guarded(async () => {
|
|
1629
|
-
const { runDocsStop } = await import("./mesh.start-
|
|
1629
|
+
const { runDocsStop } = await import("./mesh.start-XKQW5DW4.js");
|
|
1630
1630
|
runDocsStop();
|
|
1631
1631
|
})()
|
|
1632
1632
|
);
|
|
1633
1633
|
docs.command("serve-static", { hidden: true }).option("--root <dir>", "built site root", "").option("--port <port>", "port", "4400").action(
|
|
1634
1634
|
(opts) => guarded(async () => {
|
|
1635
|
-
const { runDocsServeStatic } = await import("./mesh.start-
|
|
1635
|
+
const { runDocsServeStatic } = await import("./mesh.start-XKQW5DW4.js");
|
|
1636
1636
|
await runDocsServeStatic(opts);
|
|
1637
1637
|
})()
|
|
1638
1638
|
);
|
|
@@ -1646,7 +1646,7 @@ function registerDocsCommand(program) {
|
|
|
1646
1646
|
"the OpenAPI spec to document, overriding docs.yaml's spec \u2014 pass the one the deploy reads (the ApiSurface's docs.spec, or its doc package's openapi.json); default: docs.yaml's spec, else openapi.json beside it"
|
|
1647
1647
|
).option("--check", "print the problems and exit 1 when there are any, without serving (CI / pre-deploy)", false).action(
|
|
1648
1648
|
(dir, opts) => guarded(async () => {
|
|
1649
|
-
const { runDocsPreview } = await import("./mesh.preview-
|
|
1649
|
+
const { runDocsPreview } = await import("./mesh.preview-ALFPQCWU.js");
|
|
1650
1650
|
const ok = await runDocsPreview({ target: dir, port: opts.port, out: opts.out, spec: opts.spec, check: opts.check });
|
|
1651
1651
|
if (!ok) process.exitCode = 1;
|
|
1652
1652
|
})()
|
|
@@ -1668,14 +1668,14 @@ function registerDocsCommand(program) {
|
|
|
1668
1668
|
"the block's pages prefix ({ dir, prefix }): the old site served pages under /<prefix>/; the conversion lists the page ids that lose it"
|
|
1669
1669
|
).action(
|
|
1670
1670
|
(opts) => guarded(async () => {
|
|
1671
|
-
const { runDocsConvert } = await import("./mesh.convert-
|
|
1671
|
+
const { runDocsConvert } = await import("./mesh.convert-4BZC5PYA.js");
|
|
1672
1672
|
const ok = await runDocsConvert(opts);
|
|
1673
1673
|
if (!ok) process.exitCode = 1;
|
|
1674
1674
|
})()
|
|
1675
1675
|
);
|
|
1676
1676
|
docs.command("list").description("List the published docs versions (each is an @mesh-tech/* baseline)").action(
|
|
1677
1677
|
() => guarded(async () => {
|
|
1678
|
-
const { runDocsList } = await import("./mesh.start-
|
|
1678
|
+
const { runDocsList } = await import("./mesh.start-XKQW5DW4.js");
|
|
1679
1679
|
await runDocsList();
|
|
1680
1680
|
})()
|
|
1681
1681
|
);
|
|
@@ -2198,7 +2198,7 @@ async function registryChecks(args) {
|
|
|
2198
2198
|
const { fix, profile } = args;
|
|
2199
2199
|
const probe = args.probe ?? probeRegistryToken;
|
|
2200
2200
|
const login = args.login ?? (async () => {
|
|
2201
|
-
const { runRegistryLogin } = await import("./mesh.registry-
|
|
2201
|
+
const { runRegistryLogin } = await import("./mesh.registry-KA3CNNPZ.js");
|
|
2202
2202
|
await runRegistryLogin(void 0, profile ? { profile } : {});
|
|
2203
2203
|
});
|
|
2204
2204
|
const REGISTRY_FIX = registryFixCommand(profile);
|
|
@@ -2354,7 +2354,7 @@ function registerInitCommands(program) {
|
|
|
2354
2354
|
`nothing deployed yet \u2014 scaffold a tenant platform repo for \`<tenant>.<env>\` (default env: ${PLATFORM_SETUP_DEFAULTS.env}) and print its deploy sequence`
|
|
2355
2355
|
).option("--region <region>", `--new-platform: AWS region (default: ${PLATFORM_SETUP_DEFAULTS.region})`).option("--domain <domain>", "--new-platform: base public domain you control; the core stack creates the zone {env}.{domain} and stops at the mesh-gateway Ingress until you delegate its NS records. No default \u2014 a placeholder scaffolds a zone that can never validate").option("--state-bucket <bucket>", "--new-platform: Pulumi state S3 bucket (default: {tenant}-mesh-platform-pulumi-state)").option("--create-state-bucket", "--new-platform: create the state bucket (versioned) if it does not exist").option("--no-create-state-bucket", "--new-platform: never create the state bucket; print the aws command instead").option("--dir <path>", "--new-platform: where to scaffold the platform repo (default: ./{tenant}-mesh-platform)").option("--device", "device-code sign-in for the registry and platform steps (headless / SSH)").option("--profile <aws-profile>", "AWS profile this machine uses: read the registry without the broker (deployers only), and the profile a --new-platform stack config references").option("--skip-repo", "do not bootstrap, check or record anything in the current repo", false).option("--yes", "accept every default and never prompt", false).option("--json", "one JSON document on stdout ({tenant, mode, steps, next}); human output on stderr", false).action(
|
|
2356
2356
|
async (opts) => {
|
|
2357
|
-
const { runInitWizard } = await import("./mesh.wizard-
|
|
2357
|
+
const { runInitWizard } = await import("./mesh.wizard-I7HPLDDY.js");
|
|
2358
2358
|
const code = await runInitWizard(opts);
|
|
2359
2359
|
if (code !== 0) process.exitCode = code;
|
|
2360
2360
|
}
|
|
@@ -2370,7 +2370,7 @@ function registerInitCommands(program) {
|
|
|
2370
2370
|
throw new MeshCliError(`Invalid tenant name '${tenant}' (lowercase alphanumeric + dashes).`);
|
|
2371
2371
|
}
|
|
2372
2372
|
const interactive = Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
2373
|
-
const { resolvePlatformSetup, scaffoldPlatformRepo, ensureStateBucket, renderPlatformNextSteps } = await import("./mesh.platform-setup-
|
|
2373
|
+
const { resolvePlatformSetup, scaffoldPlatformRepo, ensureStateBucket, renderPlatformNextSteps } = await import("./mesh.platform-setup-LVFHW263.js");
|
|
2374
2374
|
const setup = await resolvePlatformSetup(tenant, opts, {
|
|
2375
2375
|
prompts: interactive && !opts.yes ? await setupPrompts() : void 0,
|
|
2376
2376
|
interactive
|
|
@@ -2879,6 +2879,24 @@ async function buildHubImagesFromSource(repoRoot) {
|
|
|
2879
2879
|
return version;
|
|
2880
2880
|
}
|
|
2881
2881
|
|
|
2882
|
+
// packages/api-registry/src/ssm-chunks.ts
|
|
2883
|
+
import { createHash } from "node:crypto";
|
|
2884
|
+
var SSM_CHUNK_MANIFEST_PREFIX = "mesh.ssm-chunks/v1 ";
|
|
2885
|
+
var SSM_CHUNK_PART_PREFIX = "mesh.ssm-chunk ";
|
|
2886
|
+
var SSM_VALUE_MAX_BYTES = 8 * 1024;
|
|
2887
|
+
var SSM_CHUNK_RAW_BYTES = 6e3;
|
|
2888
|
+
var ssmChunkPartPath = (basePath, index) => `${basePath}/part-${index}`;
|
|
2889
|
+
var chunkSsmValue = (body, maxBytes = SSM_VALUE_MAX_BYTES) => {
|
|
2890
|
+
const bytes = Buffer.from(body, "utf8");
|
|
2891
|
+
if (bytes.length <= maxBytes) return { value: body, parts: [] };
|
|
2892
|
+
const parts = [];
|
|
2893
|
+
for (let offset = 0; offset < bytes.length; offset += SSM_CHUNK_RAW_BYTES) {
|
|
2894
|
+
parts.push(SSM_CHUNK_PART_PREFIX + bytes.subarray(offset, offset + SSM_CHUNK_RAW_BYTES).toString("base64"));
|
|
2895
|
+
}
|
|
2896
|
+
const manifest = { parts: parts.length, sha256: createHash("sha256").update(bytes).digest("hex") };
|
|
2897
|
+
return { value: SSM_CHUNK_MANIFEST_PREFIX + JSON.stringify(manifest), parts };
|
|
2898
|
+
};
|
|
2899
|
+
|
|
2882
2900
|
// packages/mesh-cli/src/commands/local/seed-hub-catalog.ts
|
|
2883
2901
|
var HUB_AUTHZ_POINTER_PARAM = `/mesh-platform/${LOCAL_TENANT}/${LOCAL_ENV}/apps/hub/stacks/local/authz`;
|
|
2884
2902
|
var HUB_OPS_HUB_METADATA_PARAM = `${HUB_AUTHZ_POINTER_PARAM}/ops-hub-metadata`;
|
|
@@ -2890,21 +2908,30 @@ function withHubCatalogRefs(pointer, metadataRef) {
|
|
|
2890
2908
|
mode: typeof pointer.mode === "string" ? pointer.mode : "policy-engine"
|
|
2891
2909
|
};
|
|
2892
2910
|
}
|
|
2911
|
+
function catalogParameters(metadata) {
|
|
2912
|
+
const { value, parts } = chunkSsmValue(JSON.stringify(metadata));
|
|
2913
|
+
return [
|
|
2914
|
+
...parts.map((part, i) => ({ name: ssmChunkPartPath(HUB_OPS_HUB_METADATA_PARAM, i), value: part })),
|
|
2915
|
+
// Parts land before the manifest that names them.
|
|
2916
|
+
{ name: HUB_OPS_HUB_METADATA_PARAM, value }
|
|
2917
|
+
];
|
|
2918
|
+
}
|
|
2893
2919
|
async function publishHubAuthzCatalog(compiled, awsConfig) {
|
|
2894
2920
|
const { SSMClient: SSMClient3, GetParameterCommand, PutParameterCommand } = await import("@aws-sdk/client-ssm");
|
|
2895
2921
|
const ssm = new SSMClient3(awsConfig);
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2922
|
+
for (const { name, value } of catalogParameters(compiled.metadata)) {
|
|
2923
|
+
await ssm.send(
|
|
2924
|
+
new PutParameterCommand({
|
|
2925
|
+
Name: name,
|
|
2926
|
+
Type: "String",
|
|
2927
|
+
// Past the 4 KB standard tier, the tier the platform's Export uses for the same param.
|
|
2928
|
+
Tier: "Advanced",
|
|
2929
|
+
Overwrite: true,
|
|
2930
|
+
Value: value,
|
|
2931
|
+
Description: "Hub role catalog \u2014 ops-hub-metadata (local analog of MeshHub's SpiceDBSchema export)"
|
|
2932
|
+
})
|
|
2933
|
+
);
|
|
2934
|
+
}
|
|
2908
2935
|
let current = {};
|
|
2909
2936
|
try {
|
|
2910
2937
|
const existing = await ssm.send(new GetParameterCommand({ Name: HUB_AUTHZ_POINTER_PARAM }));
|
|
@@ -3372,7 +3399,7 @@ function registerMcpCommands(program) {
|
|
|
3372
3399
|
"--secret <id>",
|
|
3373
3400
|
"Secrets Manager secret holding the Integration credential (default: the deployed ExternalService's own secret)"
|
|
3374
3401
|
).action(async (manifest, opts) => {
|
|
3375
|
-
const { runMcpReviewCommand } = await import("./mesh.review-command-
|
|
3402
|
+
const { runMcpReviewCommand } = await import("./mesh.review-command-3ZXPS6Y3.js");
|
|
3376
3403
|
try {
|
|
3377
3404
|
await runMcpReviewCommand(manifest, opts);
|
|
3378
3405
|
} catch (error) {
|
|
@@ -3407,7 +3434,7 @@ function registerMcpCommands(program) {
|
|
|
3407
3434
|
`No pnpm-workspace.yaml above ${serveDir}: the worker image installs this package from a pnpm workspace, so it must be in one.`
|
|
3408
3435
|
);
|
|
3409
3436
|
} else if (!membership.member && membership.suggestedGlob) {
|
|
3410
|
-
const { ensureWorkspaceGlobs } = await import("./mesh.create-app-
|
|
3437
|
+
const { ensureWorkspaceGlobs } = await import("./mesh.create-app-3HYMOLXT.js");
|
|
3411
3438
|
const added = ensureWorkspaceGlobs(path9.dirname(membership.workspaceFile), [
|
|
3412
3439
|
membership.suggestedGlob
|
|
3413
3440
|
]);
|
|
@@ -3918,7 +3945,7 @@ function registerSecretsCommands(program) {
|
|
|
3918
3945
|
}
|
|
3919
3946
|
|
|
3920
3947
|
// packages/mesh-cli/src/commands/site.ts
|
|
3921
|
-
import { createHash } from "node:crypto";
|
|
3948
|
+
import { createHash as createHash2 } from "node:crypto";
|
|
3922
3949
|
import { createReadStream } from "node:fs";
|
|
3923
3950
|
import { readdir, readFile, stat } from "node:fs/promises";
|
|
3924
3951
|
import { join as join10, relative as relative4, resolve as resolve5, sep } from "node:path";
|
|
@@ -3935,7 +3962,7 @@ async function describeSiteHttpError(res, target, site) {
|
|
|
3935
3962
|
return describeHttpError(res, target, { id: site });
|
|
3936
3963
|
}
|
|
3937
3964
|
async function hashFile(absolute) {
|
|
3938
|
-
const h =
|
|
3965
|
+
const h = createHash2("sha256");
|
|
3939
3966
|
await new Promise((res, rej) => {
|
|
3940
3967
|
createReadStream(absolute).on("data", (chunk) => h.update(chunk)).on("end", () => res()).on("error", rej);
|
|
3941
3968
|
});
|
|
@@ -6400,7 +6427,7 @@ async function resolveToken(opts) {
|
|
|
6400
6427
|
if (opts.token) return opts.token;
|
|
6401
6428
|
if (process.env.VCS_TOKEN) return process.env.VCS_TOKEN;
|
|
6402
6429
|
if (opts.context) {
|
|
6403
|
-
const { getValidToken: getValidToken2 } = await import("./mesh.login-
|
|
6430
|
+
const { getValidToken: getValidToken2 } = await import("./mesh.login-Q6R5GMVM.js");
|
|
6404
6431
|
const token = await getValidToken2(opts.context);
|
|
6405
6432
|
if (token) return token;
|
|
6406
6433
|
}
|