@calltelemetry/ct-lab-mcp 0.8.105 → 0.8.106

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.
Files changed (40) hide show
  1. package/assets/stig/SHA256SUMS +1 -0
  2. package/assets/stig/image/verify-image.sh +28 -0
  3. package/dist/src/generated-version.d.ts +1 -1
  4. package/dist/src/generated-version.js +1 -1
  5. package/dist/src/stig/dist.d.ts +121 -0
  6. package/dist/src/stig/dist.d.ts.map +1 -0
  7. package/dist/src/stig/dist.js +234 -0
  8. package/dist/src/stig/dist.js.map +1 -0
  9. package/dist/src/stig/distribution.d.ts +80 -0
  10. package/dist/src/stig/distribution.d.ts.map +1 -0
  11. package/dist/src/stig/distribution.js +335 -0
  12. package/dist/src/stig/distribution.js.map +1 -0
  13. package/dist/src/stig/live.d.ts +56 -4
  14. package/dist/src/stig/live.d.ts.map +1 -1
  15. package/dist/src/stig/live.js +188 -5
  16. package/dist/src/stig/live.js.map +1 -1
  17. package/dist/src/stig/model.d.ts +2 -1
  18. package/dist/src/stig/model.d.ts.map +1 -1
  19. package/dist/src/stig/model.js +7 -2
  20. package/dist/src/stig/model.js.map +1 -1
  21. package/dist/src/stig/nodes.d.ts +52 -12
  22. package/dist/src/stig/nodes.d.ts.map +1 -1
  23. package/dist/src/stig/nodes.js +90 -11
  24. package/dist/src/stig/nodes.js.map +1 -1
  25. package/dist/src/stig/ports.d.ts +64 -2
  26. package/dist/src/stig/ports.d.ts.map +1 -1
  27. package/dist/src/stig/pve.d.ts +21 -0
  28. package/dist/src/stig/pve.d.ts.map +1 -0
  29. package/dist/src/stig/pve.js +26 -0
  30. package/dist/src/stig/pve.js.map +1 -0
  31. package/dist/src/stig/runner.d.ts +30 -9
  32. package/dist/src/stig/runner.d.ts.map +1 -1
  33. package/dist/src/stig/runner.js +98 -78
  34. package/dist/src/stig/runner.js.map +1 -1
  35. package/dist/src/tools/slot-tools.d.ts +4 -4
  36. package/dist/src/tools/stig-tools.d.ts +26 -8
  37. package/dist/src/tools/stig-tools.d.ts.map +1 -1
  38. package/dist/src/tools/stig-tools.js +66 -21
  39. package/dist/src/tools/stig-tools.js.map +1 -1
  40. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { CallToolResult } from "../types/mcp.js";
3
3
  import type { ToolContext } from "./list-hosts.js";
4
4
  import { StigRunner } from "../stig/runner.js";
5
- import { type StigNode } from "../stig/nodes.js";
5
+ import { StigDistribution } from "../stig/distribution.js";
6
6
  export declare const BuildStigTemplateInputShape: {
7
7
  ssgDatastreamPath: z.ZodString;
8
8
  disaBenchmarkPath: z.ZodString;
@@ -13,10 +13,10 @@ export declare const BuildStigTemplateInputShape: {
13
13
  planDigest: z.ZodOptional<z.ZodString>;
14
14
  };
15
15
  export declare const CreateStigClaimInputShape: {
16
- node: z.ZodDefault<z.ZodOptional<z.ZodEnum<[StigNode, ...StigNode[]]>>>;
16
+ cloneName: z.ZodString;
17
17
  recreate: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
18
18
  untagged: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
19
- cloneName: z.ZodString;
19
+ node: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEnum<[string, ...string[]]>, "proxmox" | "minis" | "prox-ibm64", string>>>;
20
20
  templateRef: z.ZodOptional<z.ZodString>;
21
21
  ttlHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
22
22
  dns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -27,27 +27,45 @@ export declare const CreateStigClaimInputShape: {
27
27
  };
28
28
  export declare const ValidateStigClaimInputShape: {
29
29
  cloneName: z.ZodString;
30
- node: z.ZodDefault<z.ZodOptional<z.ZodEnum<[StigNode, ...StigNode[]]>>>;
30
+ node: z.ZodOptional<z.ZodEffects<z.ZodEnum<[string, ...string[]]>, "proxmox" | "minis" | "prox-ibm64", string>>;
31
31
  requireDisa: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
32
32
  };
33
33
  export declare const GetStigReceiptInputShape: {
34
34
  claim: z.ZodString;
35
+ node: z.ZodOptional<z.ZodEffects<z.ZodEnum<[string, ...string[]]>, "proxmox" | "minis" | "prox-ibm64", string>>;
35
36
  };
36
37
  export declare const ReleaseStigTemplateInputShape: {
37
- node: z.ZodDefault<z.ZodOptional<z.ZodEnum<[StigNode, ...StigNode[]]>>>;
38
38
  claim: z.ZodString;
39
+ node: z.ZodOptional<z.ZodEffects<z.ZodEnum<[string, ...string[]]>, "proxmox" | "minis" | "prox-ibm64", string>>;
39
40
  confirmDestroy: z.ZodBoolean;
40
41
  };
42
+ export declare const PublishStigTemplateInputShape: {
43
+ template: z.ZodString;
44
+ force: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
45
+ receiptPath: z.ZodOptional<z.ZodString>;
46
+ manifestPath: z.ZodOptional<z.ZodString>;
47
+ apply: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
48
+ planDigest: z.ZodOptional<z.ZodString>;
49
+ };
50
+ export declare const SyncStigTemplateInputShape: {
51
+ template: z.ZodString;
52
+ node: z.ZodEffects<z.ZodEnum<[string, ...string[]]>, "proxmox" | "minis" | "prox-ibm64", string>;
53
+ apply: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
+ planDigest: z.ZodOptional<z.ZodString>;
55
+ };
41
56
  export interface StigToolDeps {
42
- makeRunner: (node?: StigNode) => StigRunner;
57
+ makeRunner: (node?: string) => StigRunner;
58
+ makeDistribution?: () => StigDistribution;
43
59
  }
44
60
  export declare function handleBuildStigTemplate(args: unknown, deps?: StigToolDeps): Promise<CallToolResult>;
45
61
  export declare function handleCreateStigClaim(args: unknown, deps?: StigToolDeps): Promise<CallToolResult>;
46
62
  export declare function handleValidateStigClaim(args: unknown, deps?: StigToolDeps): Promise<CallToolResult>;
47
63
  export declare function handleGetStigReceipt(args: unknown, deps?: StigToolDeps): Promise<CallToolResult>;
48
64
  export declare function handleReleaseStigTemplate(args: unknown, deps?: StigToolDeps): Promise<CallToolResult>;
49
- export declare const STIG_TOOL_NAMES: readonly ["build_stig_template", "create_stig_claim", "validate_stig_claim", "get_stig_receipt", "release_stig_template"];
50
- /** Registers the five tools on a server whose `.tool()` is already the guarded wrapper. */
65
+ export declare function handlePublishStigTemplate(args: unknown, deps?: StigToolDeps): Promise<CallToolResult>;
66
+ export declare function handleSyncStigTemplate(args: unknown, deps?: StigToolDeps): Promise<CallToolResult>;
67
+ export declare const STIG_TOOL_NAMES: readonly ["build_stig_template", "create_stig_claim", "validate_stig_claim", "get_stig_receipt", "release_stig_template", "publish_stig_template", "sync_stig_template"];
68
+ /** Registers the seven tools on a server whose `.tool()` is already the guarded wrapper. */
51
69
  export declare function registerStigTools(server: {
52
70
  tool: (...a: any[]) => unknown;
53
71
  }, _context: ToolContext, deps?: StigToolDeps): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"stig-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/stig-tools.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AASlE,eAAO,MAAM,2BAA2B;;;;;;;;CAQvC,CAAC;AACF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAWrC,CAAC;AACF,eAAO,MAAM,2BAA2B;;;;CAIvC,CAAC;AACF,eAAO,MAAM,wBAAwB;;CAA0G,CAAC;AAChJ,eAAO,MAAM,6BAA6B;;;;CAIzC,CAAC;AAEF,MAAM,WAAW,YAAY;IAAG,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,UAAU,CAAA;CAAE;AAY7E,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CASxH;AACD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAItH;AACD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAIxH;AACD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAIrH;AACD,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAI1H;AAED,eAAO,MAAM,eAAe,2HAA4H,CAAC;AAEzJ,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAA;CAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAOhJ"}
1
+ {"version":3,"file":"stig-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/stig-tools.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAa3D,eAAO,MAAM,2BAA2B;;;;;;;;CAQvC,CAAC;AACF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAWrC,CAAC;AACF,eAAO,MAAM,2BAA2B;;;;CAIvC,CAAC;AACF,eAAO,MAAM,wBAAwB;;;CAGpC,CAAC;AACF,eAAO,MAAM,6BAA6B;;;;CAIzC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;CAOzC,CAAC;AACF,eAAO,MAAM,0BAA0B;;;;;CAKtC,CAAC;AAEF,MAAM,WAAW,YAAY;IAAG,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,gBAAgB,CAAA;CAAE;AAYtH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CASxH;AACD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAItH;AACD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAIxH;AACD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAIrH;AACD,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAI1H;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAI1H;AACD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAIvH;AAED,eAAO,MAAM,eAAe,0KAA2K,CAAC;AAExM,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAA;CAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,GAAE,YAA4B,GAAG,OAAO,CAShJ"}
@@ -6,21 +6,28 @@
6
6
  * validate_stig_claim oscap scan on a clone, fail=0 gate, receipt summary on the claim
7
7
  * get_stig_receipt the annotated receipt summary and what status.stig will carry
8
8
  * release_stig_template explicit template destroy, then claim deletion
9
+ * publish_stig_template plan | apply signed, compressed qcow2 of a sealed template on the shared image store
10
+ * sync_stig_template plan | apply verify the published image on a node and create the claimed template there
9
11
  *
10
- * The shell recipe in ct-meta (rhel8-stig-template) remains the documented default until live parity passes.
12
+ * Node-addressing tools take `node` (minis | proxmox | prox-ibm64; create and sync act on it, the rest check it
13
+ * against the claim). The shell recipe in ct-meta (rhel8-stig-template) remains the documented default until live
14
+ * parity passes.
11
15
  */
12
16
  import { createHash } from "node:crypto";
13
17
  import { readFileSync } from "node:fs";
14
18
  import { z } from "zod";
15
19
  import { ProxmoxErrorCode, createToolErrorResult } from "../types/mcp.js";
16
20
  import { StigRunner } from "../stig/runner.js";
21
+ import { StigDistribution } from "../stig/distribution.js";
22
+ import { STIG_NODE_INPUT_NAMES, canonicalNodeName } from "../stig/nodes.js";
17
23
  import { liveDeps } from "../stig/live.js";
18
- import { STIG_NODE_NAMES } from "../stig/nodes.js";
19
24
  import { redact } from "../stig/model.js";
20
- const nodeField = z.enum(STIG_NODE_NAMES).optional().default("minis").describe("Lab node: minis (proxmox-minis-lab), ibm64 (proxmox-ibm64) or proxmox (proxmox-lab). Templates are per node (claims tpl-<template>-<node>).");
21
25
  const hex64 = z.string().regex(/^[a-f0-9]{64}$/i);
22
26
  const dnsList = z.array(z.string().ip({ version: "v4" })).min(1).max(4);
23
27
  const ntpList = z.array(z.string().min(1).max(253)).max(4);
28
+ /** minis | proxmox | prox-ibm64; the legacy claim-node spelling `ibm64` is accepted and means prox-ibm64. */
29
+ const nodeName = z.enum(STIG_NODE_INPUT_NAMES).transform((n) => canonicalNodeName(n));
30
+ const templateName = z.string().regex(/^rhel810-stig-\d{8}-\d{4}$/);
24
31
  const cloneName = z.string().regex(/^[a-z0-9]([a-z0-9-]{0,40}[a-z0-9])?$/, "lowercase DNS label");
25
32
  export const BuildStigTemplateInputShape = {
26
33
  ssgDatastreamPath: z.string().min(1).describe("Path to the pinned scap-security-guide 0.1.82 ssg-rhel8-ds.xml on this host; its sha256 must equal the pin."),
@@ -32,11 +39,11 @@ export const BuildStigTemplateInputShape = {
32
39
  planDigest: hex64.optional().describe("planDigest from the plan; required with apply=true."),
33
40
  };
34
41
  export const CreateStigClaimInputShape = {
35
- node: nodeField,
36
- recreate: z.boolean().optional().default(false).describe("Release the existing clone-<cloneName> STIG clone claim (the operator destroys its guest) and create its replacement. Only a STIG clone claim qualifies."),
37
- untagged: z.boolean().optional().default(false).describe("Clone without a VLAN tag. Required on proxmox, whose bridge is not VLAN-aware."),
38
42
  cloneName: cloneName.describe("Clone VM name; the claim is clone-<cloneName>, the escrow key LAB_RHEL8_RECOVERY_<CLONENAME>."),
39
- templateRef: z.string().regex(/^rhel810-stig-\d{8}-\d{4}$/).optional().describe("Template version to clone, as synced on that node (default: the newest there)."),
43
+ recreate: z.boolean().optional().default(false).describe("Release the existing clone-<cloneName> STIG clone claim (the operator destroys its guest) and create its replacement. Only a STIG clone claim qualifies."),
44
+ untagged: z.boolean().optional().default(false).describe("Clone without a VLAN tag (VLAN 126 is the default on every node)."),
45
+ node: nodeName.optional().default("minis").describe("Proxmox node that hosts the clone: minis (build node), proxmox or prox-ibm64. The claim, the pool guard, the one-re-encrypting-clone guard and the template choice are all that node's."),
46
+ templateRef: z.string().regex(/^rhel810-stig-\d{8}-\d{4}$/).optional().describe("Template to clone (default: the newest synced to the node)."),
40
47
  ttlHours: z.number().int().min(1).max(8760).optional().default(48),
41
48
  dns: dnsList.optional(), ntp: ntpList.optional(),
42
49
  poolMaxPercent: z.number().int().min(10).max(70).optional().describe("Refuse to start above this thin-pool use. Default and hard cap 70; it can only be tightened."),
@@ -45,22 +52,39 @@ export const CreateStigClaimInputShape = {
45
52
  };
46
53
  export const ValidateStigClaimInputShape = {
47
54
  cloneName,
48
- node: nodeField,
55
+ node: nodeName.optional().describe("Optional: must match the node the clone's claim lives on (default: taken from the claim)."),
49
56
  requireDisa: z.boolean().optional().default(false).describe("Fail when the clone's template predates the DISA V2R8 dual-scan recipe (no benchmark baked in). Both scans must be fail=0 when present."),
50
57
  };
51
- export const GetStigReceiptInputShape = { claim: z.string().min(1).describe("ApplianceClaim name, e.g. clone-<cloneName> or tpl-<template>.") };
58
+ export const GetStigReceiptInputShape = {
59
+ claim: z.string().min(1).describe("ApplianceClaim name, e.g. clone-<cloneName>, tpl-<template> or tpl-<template>-<node>."),
60
+ node: nodeName.optional().describe("Optional: must match the node the claim lives on (default: taken from the claim)."),
61
+ };
52
62
  export const ReleaseStigTemplateInputShape = {
53
- node: nodeField,
54
63
  claim: z.string().min(1),
64
+ node: nodeName.optional().describe("Optional: must match the node the claim lives on (default: taken from the claim)."),
55
65
  confirmDestroy: z.boolean().describe("Must be true: templates are never reaped by the operator, so release destroys the template first, then deletes the claim."),
56
66
  };
57
- const defaultDeps = () => ({ makeRunner: (node) => new StigRunner(liveDeps({ node }), node ?? "minis") });
67
+ export const PublishStigTemplateInputShape = {
68
+ template: templateName.describe("Sealed template to publish (a template on the build node, node minis)."),
69
+ force: z.boolean().optional().default(false).describe("Re-export and re-publish even if the image already verifies."),
70
+ receiptPath: z.string().min(1).optional().describe("Optional local receipt JSON whose sha256 is recorded as receipt_sha256 (default: the template claim's receipt summary)."),
71
+ manifestPath: z.string().min(1).optional().describe("Optional local evidence MANIFEST.sha256 whose sha256 is recorded as evidence_manifest_sha256."),
72
+ apply: z.boolean().optional().default(false).describe("Omit for a plan. True exports, signs and publishes, and needs planDigest."),
73
+ planDigest: hex64.optional().describe("planDigest from the plan; required with apply=true."),
74
+ };
75
+ export const SyncStigTemplateInputShape = {
76
+ template: templateName.describe("Published template to materialize on the node."),
77
+ node: nodeName.describe("Node that receives the template (required): minis, proxmox or prox-ibm64."),
78
+ apply: z.boolean().optional().default(false).describe("Omit for a plan. True claims the template on the node, verifies it there and imports it; needs planDigest."),
79
+ planDigest: hex64.optional().describe("planDigest from the plan; required with apply=true."),
80
+ };
81
+ const defaultDeps = () => ({ makeRunner: (node) => new StigRunner(liveDeps({ node }), node ?? "minis"), makeDistribution: () => new StigDistribution(liveDeps()) });
58
82
  function ok(payload) {
59
83
  return { content: [{ type: "text", text: redact(JSON.stringify({ success: true, ...payload }, null, 2)) }] };
60
84
  }
61
85
  function fail(operation, err) {
62
86
  const message = redact(String(err?.message ?? err));
63
- const validation = /plan digest|must|cap|exceeds|refus|not a template|already exists|not found|re-encrypting|unreadable|datastream|packer|confirm|pinned|missing/i.test(message);
87
+ const validation = /plan digest|must|cap|exceeds|refus|not a template|already exists|not found|re-encrypting|unreadable|datastream|packer|confirm|pinned|missing|thin storage|not in the published|lives on|node map|mismatch|signature|still running/i.test(message);
64
88
  return createToolErrorResult(validation ? ProxmoxErrorCode.VALIDATION_ERROR : ProxmoxErrorCode.UPSTREAM_API_ERROR, `${operation}: ${message}`, { operation });
65
89
  }
66
90
  export async function handleBuildStigTemplate(args, deps = defaultDeps()) {
@@ -82,8 +106,7 @@ export async function handleCreateStigClaim(args, deps = defaultDeps()) {
82
106
  if (!p.success)
83
107
  return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, p.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
84
108
  try {
85
- const { node, ...rest } = p.data;
86
- return ok(await deps.makeRunner(node).createClone(rest));
109
+ return ok(await deps.makeRunner(p.data.node).createClone(p.data));
87
110
  }
88
111
  catch (e) {
89
112
  return fail("create_stig_claim", e);
@@ -94,8 +117,7 @@ export async function handleValidateStigClaim(args, deps = defaultDeps()) {
94
117
  if (!p.success)
95
118
  return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, p.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
96
119
  try {
97
- const { node, ...rest } = p.data;
98
- return ok(await deps.makeRunner(node).validate(rest));
120
+ return ok(await deps.makeRunner(p.data.node).validate(p.data));
99
121
  }
100
122
  catch (e) {
101
123
  return fail("validate_stig_claim", e);
@@ -106,7 +128,7 @@ export async function handleGetStigReceipt(args, deps = defaultDeps()) {
106
128
  if (!p.success)
107
129
  return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, p.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
108
130
  try {
109
- return ok(await deps.makeRunner().getReceipt(p.data));
131
+ return ok(await deps.makeRunner(p.data.node).getReceipt(p.data));
110
132
  }
111
133
  catch (e) {
112
134
  return fail("get_stig_receipt", e);
@@ -117,21 +139,44 @@ export async function handleReleaseStigTemplate(args, deps = defaultDeps()) {
117
139
  if (!p.success)
118
140
  return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, p.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
119
141
  try {
120
- const { node, ...rest } = p.data;
121
- return ok(await deps.makeRunner(node).releaseTemplate(rest));
142
+ return ok(await deps.makeRunner(p.data.node).releaseTemplate(p.data));
122
143
  }
123
144
  catch (e) {
124
145
  return fail("release_stig_template", e);
125
146
  }
126
147
  }
127
- export const STIG_TOOL_NAMES = ["build_stig_template", "create_stig_claim", "validate_stig_claim", "get_stig_receipt", "release_stig_template"];
128
- /** Registers the five tools on a server whose `.tool()` is already the guarded wrapper. */
148
+ export async function handlePublishStigTemplate(args, deps = defaultDeps()) {
149
+ const p = z.object(PublishStigTemplateInputShape).strict().safeParse(args);
150
+ if (!p.success)
151
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, p.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
152
+ try {
153
+ return ok(await (deps.makeDistribution ?? defaultDeps().makeDistribution)().publish(p.data));
154
+ }
155
+ catch (e) {
156
+ return fail("publish_stig_template", e);
157
+ }
158
+ }
159
+ export async function handleSyncStigTemplate(args, deps = defaultDeps()) {
160
+ const p = z.object(SyncStigTemplateInputShape).strict().safeParse(args);
161
+ if (!p.success)
162
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, p.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
163
+ try {
164
+ return ok(await (deps.makeDistribution ?? defaultDeps().makeDistribution)().sync(p.data));
165
+ }
166
+ catch (e) {
167
+ return fail("sync_stig_template", e);
168
+ }
169
+ }
170
+ export const STIG_TOOL_NAMES = ["build_stig_template", "create_stig_claim", "validate_stig_claim", "get_stig_receipt", "release_stig_template", "publish_stig_template", "sync_stig_template"];
171
+ /** Registers the seven tools on a server whose `.tool()` is already the guarded wrapper. */
129
172
  export function registerStigTools(server, _context, deps = defaultDeps()) {
130
173
  server.tool("build_stig_template", "Plan or apply a RHEL 8.10 DISA STIG Proxmox template build on proxmox-minis-lab. Claim first (6h bare claim, Ready before Packer), pinned SSG 0.1.82 / DISA V2R8 benchmark / Packer 1.16.0, both scans must be fail=0, template verified, then the claim renews to the TTL cap. Apply needs the plan's planDigest.", BuildStigTemplateInputShape, async (a) => handleBuildStigTemplate(a, deps));
131
174
  server.tool("create_stig_claim", "Plan or apply a claim-backed clone of the newest STIG template: thin-pool guard (<=70%), one re-encrypting clone at a time, fresh tpmstate0, first-boot LUKS re-key bound to the clone's TPM2, recovery passphrase escrowed to Doppler by name, verify, fstrim. Apply needs the plan's planDigest.", CreateStigClaimInputShape, async (a) => handleCreateStigClaim(a, deps));
132
175
  server.tool("validate_stig_claim", "Run the pinned, tailored oscap STIG scan on a STIG clone, gate on fail=0, record the LUKS volume-key digest, and annotate the claim with the secret-free receipt summary.", ValidateStigClaimInputShape, async (a) => handleValidateStigClaim(a, deps));
133
176
  server.tool("get_stig_receipt", "Read a STIG claim's descriptor and receipt summary (counts, fail=0 gate, versions, artifact sha256, key digest) and what status.stig will carry when the operator projection is enabled.", GetStigReceiptInputShape, async (a) => handleGetStigReceipt(a, deps));
134
177
  server.tool("release_stig_template", "Release a STIG template: verify it is the claimed template, destroy it explicitly (the operator never reaps templates), then delete its claim. Requires confirmDestroy=true.", ReleaseStigTemplateInputShape, async (a) => handleReleaseStigTemplate(a, deps));
178
+ server.tool("publish_stig_template", "Plan or apply publishing a sealed RHEL 8.10 STIG template (on the build node) as a compressed qcow2 on the shared image store ct-stig-images: export from the read-only base LV, template.json (hardware, scan counts, digests), sha256, detached SHA-512 signatures with the pinned evidence key (Doppler into an ephemeral GNUPGHOME), index.json (latest, keep 3; prune never touches latest or an image a node is importing). Idempotent: a no-op when the image already verifies. Apply needs the plan's planDigest.", PublishStigTemplateInputShape, async (a) => handlePublishStigTemplate(a, deps));
179
+ server.tool("sync_stig_template", "Plan or apply materializing a published STIG template on one node (minis, proxmox, prox-ibm64): claim first (tpl-<template>[-<node>]), verify on the node (pinned key fingerprint, index.json, template.json and qcow2 sha256 + signatures; refuses and releases the claim on any mismatch), qm create with import-from onto thin storage (lvmthin only, pool <= 70%), efidisk, cloud-init, qm template, claim renewed to the TTL cap, sync receipt. Idempotent. Apply needs the plan's planDigest.", SyncStigTemplateInputShape, async (a) => handleSyncStigTemplate(a, deps));
135
180
  return true;
136
181
  }
137
182
  //# sourceMappingURL=stig-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stig-tools.js","sourceRoot":"","sources":["../../../src/tools/stig-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stig-tools.js","sourceRoot":"","sources":["../../../src/tools/stig-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/ct-lab-mcp",
3
- "version": "0.8.105",
3
+ "version": "0.8.106",
4
4
  "description": "Expanded Model Context Protocol (MCP) server for Call Telemetry lab, fleet, and appliance management across Proxmox VE (ESXi is retired).",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",