@hasna/machines 0.0.33 → 0.0.35

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/mcp/index.js CHANGED
@@ -4158,7 +4158,103 @@ function ensureParentDir(filePath) {
4158
4158
  }
4159
4159
  }
4160
4160
 
4161
+ // src/redaction.ts
4162
+ var REDACTED_VALUE = "[redacted]";
4163
+ var SENSITIVE_KEY_PATTERN = /(password|passwd|token|credential|private[_-]?key|privateKey|api[_-]?key|github.*key|pem|secret)/i;
4164
+ var SECRET_REFERENCE_KEY_PATTERN = /(secret(ref(erence)?|key)?|secretRef|secretKey)$/i;
4165
+ var SENSITIVE_VALUE_PATTERNS = [
4166
+ /-----BEGIN [A-Z ]*PRIVATE KEY-----/,
4167
+ /\bghp_[A-Za-z0-9_]{20,}\b/,
4168
+ /\bgithub_pat_[A-Za-z0-9_]{20,}\b/,
4169
+ /\bxox[baprs]-[A-Za-z0-9-]{20,}\b/,
4170
+ /\bAKIA[0-9A-Z]{16}\b/,
4171
+ /\bsk-[A-Za-z0-9_-]{20,}\b/
4172
+ ];
4173
+ function isSensitiveKey(key) {
4174
+ return SENSITIVE_KEY_PATTERN.test(key);
4175
+ }
4176
+ function isSecretReferenceKey(key) {
4177
+ return SECRET_REFERENCE_KEY_PATTERN.test(key);
4178
+ }
4179
+ function looksSensitiveString(value) {
4180
+ return SENSITIVE_VALUE_PATTERNS.some((pattern) => pattern.test(value));
4181
+ }
4182
+ function isRecord(value) {
4183
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
4184
+ }
4185
+ function redactPath(value) {
4186
+ return value.replace(/\/home\/[^/\s]+/g, "/home/<user>").replace(/\/Users\/[^/\s]+/g, "/Users/<user>").replace(/[A-Za-z]:\\Users\\[^\\\s]+/g, "C:\\Users\\<user>");
4187
+ }
4188
+ function redactPrivateRef(value) {
4189
+ const trimmed = value.trim();
4190
+ const scheme = trimmed.match(/^([a-z][a-z0-9+.-]*:\/\/)/i);
4191
+ if (scheme)
4192
+ return `${scheme[1]}<redacted>`;
4193
+ const colon = trimmed.match(/^([a-z][a-z0-9+.-]*):/i);
4194
+ if (colon)
4195
+ return `${colon[1]}:<redacted>`;
4196
+ return "<private-manifest-ref:redacted>";
4197
+ }
4198
+ function redactIdentifier(value) {
4199
+ return value.replace(/[^a-zA-Z0-9_.-]/g, "_").slice(0, 80) || "adapter";
4200
+ }
4201
+ function redactSensitiveValue(value, key = "") {
4202
+ if (typeof value === "string") {
4203
+ if (isSensitiveKey(key) && !(isSecretReferenceKey(key) && !looksSensitiveString(value))) {
4204
+ return REDACTED_VALUE;
4205
+ }
4206
+ if (looksSensitiveString(value))
4207
+ return REDACTED_VALUE;
4208
+ return redactPath(value);
4209
+ }
4210
+ if (Array.isArray(value)) {
4211
+ return value.map((entry) => redactSensitiveValue(entry, key));
4212
+ }
4213
+ if (isRecord(value)) {
4214
+ const redacted = {};
4215
+ for (const [entryKey, entryValue] of Object.entries(value)) {
4216
+ redacted[entryKey] = redactSensitiveValue(entryValue, entryKey);
4217
+ }
4218
+ return redacted;
4219
+ }
4220
+ return value;
4221
+ }
4222
+ function publicMetadataKeys(metadata) {
4223
+ return Object.keys(metadata ?? {}).filter((key) => !isSensitiveKey(key)).sort();
4224
+ }
4225
+ function redactMetadata(metadata) {
4226
+ return redactSensitiveValue(metadata ?? {});
4227
+ }
4228
+ function redactManifestForDiagnostics(machine) {
4229
+ const metadata = redactMetadata(machine.metadata);
4230
+ for (const key of ["user", "username", "login"]) {
4231
+ if (typeof metadata[key] === "string")
4232
+ metadata[key] = REDACTED_VALUE;
4233
+ }
4234
+ return {
4235
+ id: machine.id,
4236
+ hostname: machine.hostname ? REDACTED_VALUE : undefined,
4237
+ sshAddress: machine.sshAddress ? REDACTED_VALUE : undefined,
4238
+ tailscaleName: machine.tailscaleName ? REDACTED_VALUE : undefined,
4239
+ platform: machine.platform,
4240
+ connection: machine.connection,
4241
+ workspacePath: redactPath(machine.workspacePath),
4242
+ bunPath: machine.bunPath ? redactPath(machine.bunPath) : undefined,
4243
+ tags: machine.tags ?? [],
4244
+ metadata,
4245
+ packages: machine.packages?.map((pkg) => ({ ...pkg })),
4246
+ apps: machine.apps?.map((app) => ({ ...app })),
4247
+ files: machine.files?.map((file) => ({
4248
+ ...file,
4249
+ source: redactPath(file.source),
4250
+ target: redactPath(file.target)
4251
+ }))
4252
+ };
4253
+ }
4254
+
4161
4255
  // src/manifests.ts
4256
+ var PRIVATE_MANIFEST_REF_ENV = "HASNA_MACHINES_PRIVATE_MANIFEST_REF";
4257
+ var PRIVATE_MANIFEST_BACKEND_ENV = "HASNA_MACHINES_PRIVATE_MANIFEST_BACKEND";
4162
4258
  var packageSchema = exports_external.object({
4163
4259
  name: exports_external.string(),
4164
4260
  manager: exports_external.enum(["bun", "brew", "apt", "custom"]).optional(),
@@ -4211,6 +4307,42 @@ function normalizePlatform() {
4211
4307
  function normalizeMachines(machines) {
4212
4308
  return [...machines].sort((left, right) => left.id.localeCompare(right.id));
4213
4309
  }
4310
+ function inferPrivateBackend(rawRef, explicitBackend) {
4311
+ if (explicitBackend?.trim())
4312
+ return explicitBackend.trim();
4313
+ const scheme = rawRef.trim().match(/^([a-z][a-z0-9+.-]*)(?::\/\/|:)/i);
4314
+ return scheme?.[1] ?? null;
4315
+ }
4316
+ function fileSourceRef(path) {
4317
+ return {
4318
+ kind: "file",
4319
+ ref: redactPath(path),
4320
+ backend: "file",
4321
+ private: false,
4322
+ publicSafe: true
4323
+ };
4324
+ }
4325
+ function privateSourceRef(rawRef, backend) {
4326
+ return {
4327
+ kind: "private-ref",
4328
+ ref: redactPrivateRef(rawRef),
4329
+ backend: inferPrivateBackend(rawRef, backend),
4330
+ private: true,
4331
+ publicSafe: true
4332
+ };
4333
+ }
4334
+ function privateRefFromOptions(options) {
4335
+ const env = options.env ?? process.env;
4336
+ return options.privateRef?.trim() || env[PRIVATE_MANIFEST_REF_ENV]?.trim() || env["MACHINES_PRIVATE_MANIFEST_REF"]?.trim() || null;
4337
+ }
4338
+ function getManifestSourceRef(options = {}) {
4339
+ const rawPrivateRef = privateRefFromOptions(options);
4340
+ if (rawPrivateRef) {
4341
+ const env = options.env ?? process.env;
4342
+ return privateSourceRef(rawPrivateRef, options.privateBackend ?? env[PRIVATE_MANIFEST_BACKEND_ENV]);
4343
+ }
4344
+ return fileSourceRef(options.path ?? getManifestPath());
4345
+ }
4214
4346
  function getDefaultManifest() {
4215
4347
  return {
4216
4348
  version: 1,
@@ -4225,6 +4357,53 @@ function readManifest(path = getManifestPath()) {
4225
4357
  const raw = JSON.parse(readFileSync2(path, "utf8"));
4226
4358
  return fleetSchema.parse(raw);
4227
4359
  }
4360
+ function readManifestWithSource(options = {}) {
4361
+ const path = options.path ?? getManifestPath();
4362
+ const source = getManifestSourceRef(options);
4363
+ const warnings = [];
4364
+ if (source.kind === "private-ref") {
4365
+ const rawRef = privateRefFromOptions(options);
4366
+ if (rawRef && options.adapter) {
4367
+ try {
4368
+ const manifest2 = options.adapter.readManifest({ source, rawRef });
4369
+ if (manifest2) {
4370
+ return {
4371
+ manifest: fleetSchema.parse(manifest2),
4372
+ info: {
4373
+ source,
4374
+ loadedFrom: "private-ref",
4375
+ warnings
4376
+ }
4377
+ };
4378
+ }
4379
+ warnings.push(`private_manifest_adapter_empty:${redactIdentifier(options.adapter.id)}`);
4380
+ } catch (error) {
4381
+ warnings.push(`private_manifest_adapter_failed:${redactIdentifier(options.adapter.id)}`);
4382
+ }
4383
+ } else {
4384
+ warnings.push("private_manifest_ref_without_adapter");
4385
+ }
4386
+ const fallbackSource = fileSourceRef(path);
4387
+ const manifest = readManifest(path);
4388
+ return {
4389
+ manifest,
4390
+ info: {
4391
+ source,
4392
+ loadedFrom: existsSync3(path) ? "fallback" : "default",
4393
+ fallbackSource,
4394
+ warnings
4395
+ }
4396
+ };
4397
+ }
4398
+ return {
4399
+ manifest: readManifest(path),
4400
+ info: {
4401
+ source,
4402
+ loadedFrom: existsSync3(path) ? "file" : "default",
4403
+ warnings
4404
+ }
4405
+ };
4406
+ }
4228
4407
  function validateManifest(path = getManifestPath()) {
4229
4408
  return readManifest(path);
4230
4409
  }
@@ -4479,6 +4658,19 @@ function manifestHostReachable(target) {
4479
4658
  return null;
4480
4659
  return overrides.has(target);
4481
4660
  }
4661
+ function userFromSshAddress(address) {
4662
+ if (!address)
4663
+ return null;
4664
+ const at = address.indexOf("@");
4665
+ if (at <= 0)
4666
+ return null;
4667
+ return address.slice(0, at);
4668
+ }
4669
+ function commandTargetForRoute(target, user) {
4670
+ if (target.kind === "local" || target.target.includes("@") || !user)
4671
+ return target.target;
4672
+ return `${user}@${target.target}`;
4673
+ }
4482
4674
  function routeHints(input) {
4483
4675
  const hints = [];
4484
4676
  if (input.machineId === input.localMachineId) {
@@ -4529,6 +4721,7 @@ function buildEntry(input) {
4529
4721
  });
4530
4722
  const selectedRoute = selectRouteHint(hints);
4531
4723
  const route = selectedRoute?.kind === "ssh" ? "ssh" : selectedRoute?.kind ?? "unknown";
4724
+ const routeUser = userFromSshAddress(manifest?.sshAddress) ?? (typeof manifest?.metadata?.user === "string" ? manifest.metadata.user : null);
4532
4725
  return {
4533
4726
  machine_id: input.machineId,
4534
4727
  hostname: manifest?.hostname ?? peer?.HostName ?? null,
@@ -4549,11 +4742,11 @@ function buildEntry(input) {
4549
4742
  ssh: {
4550
4743
  address: manifest?.sshAddress ?? null,
4551
4744
  route,
4552
- command_target: selectedRoute?.target ?? null
4745
+ command_target: selectedRoute ? commandTargetForRoute(selectedRoute, routeUser) : null
4553
4746
  },
4554
4747
  route_hints: hints,
4555
4748
  tags: manifest?.tags ?? [],
4556
- metadata: manifest?.metadata ?? {}
4749
+ metadata: redactMetadata(manifest?.metadata)
4557
4750
  };
4558
4751
  }
4559
4752
  function discoverMachineTopology(options = {}) {
@@ -4757,6 +4950,7 @@ function resolveMachineRoute(machineId, options = {}) {
4757
4950
  const local = route === "local" || machine.machine_id === topology.local_machine_id;
4758
4951
  const confidence = routeConfidence({ machine, hint: selectedHint, matchedBy });
4759
4952
  const ok = Boolean(selectedHint?.target);
4953
+ const commandTarget = selectedHint ? commandTargetForRoute(selectedHint, userFromSshAddress(machine.ssh.address) ?? machine.user) : null;
4760
4954
  return {
4761
4955
  schema_version: MACHINES_CONSUMER_CONTRACT_VERSION,
4762
4956
  package: topology.package,
@@ -4767,7 +4961,7 @@ function resolveMachineRoute(machineId, options = {}) {
4767
4961
  route,
4768
4962
  source: route,
4769
4963
  target: selectedHint?.target ?? null,
4770
- command_target: selectedHint?.target ?? null,
4964
+ command_target: commandTarget,
4771
4965
  confidence,
4772
4966
  local,
4773
4967
  evidence: {
@@ -4790,7 +4984,7 @@ function resolveMachineRoute(machineId, options = {}) {
4790
4984
  warnings
4791
4985
  };
4792
4986
  }
4793
- function isRecord(value) {
4987
+ function isRecord2(value) {
4794
4988
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
4795
4989
  }
4796
4990
  function metadataString(metadata, keys) {
@@ -4820,13 +5014,13 @@ function metadataStringArray(metadata, keys) {
4820
5014
  function readMappedPath(input) {
4821
5015
  for (const containerName of input.containers) {
4822
5016
  const container = input.metadata[containerName];
4823
- if (!isRecord(container))
5017
+ if (!isRecord2(container))
4824
5018
  continue;
4825
5019
  for (const key of input.keys) {
4826
5020
  const value = container[key];
4827
5021
  if (typeof value === "string" && value.trim())
4828
5022
  return value.trim();
4829
- if (isRecord(value)) {
5023
+ if (isRecord2(value)) {
4830
5024
  const path = metadataString(value, ["path", "root", "workspacePath", "workspace_path"]);
4831
5025
  if (path)
4832
5026
  return path;
@@ -5080,7 +5274,7 @@ function primaryMachine(machine, projectId, primaryMachineId) {
5080
5274
  return machine.tags.includes("primary");
5081
5275
  }
5082
5276
  function metadataKeysForDiagnostics(metadata) {
5083
- return Object.keys(metadata).filter((key) => !/(secret|token|key|password|credential)/i.test(key)).sort();
5277
+ return publicMetadataKeys(metadata);
5084
5278
  }
5085
5279
  function resolveMachineWorkspace(options) {
5086
5280
  const now = options.now ?? new Date;
@@ -5225,7 +5419,7 @@ function resolveSshTarget(machineId, options = {}) {
5225
5419
  }
5226
5420
  return {
5227
5421
  machineId: resolved.machine_id ?? machineId,
5228
- target: resolved.target,
5422
+ target: resolved.command_target ?? resolved.target,
5229
5423
  route: resolved.route,
5230
5424
  confidence: resolved.confidence,
5231
5425
  warnings: resolved.warnings
@@ -5590,12 +5784,28 @@ function diffMachines(leftMachineId, rightMachineId) {
5590
5784
  }
5591
5785
 
5592
5786
  // src/commands/doctor.ts
5593
- function makeCheck(id, status, summary, detail) {
5594
- return { id, status, summary, detail };
5787
+ var DOCTOR_OPTIONAL_ADAPTER_DOMAINS = ["secrets", "configs", "monitor", "repos", "mcps", "shield"];
5788
+ function makeCheck(id, status, summary, detail, extra = {}) {
5789
+ const { data, ...rest } = extra;
5790
+ return {
5791
+ ...rest,
5792
+ id,
5793
+ status,
5794
+ summary,
5795
+ detail,
5796
+ data: data ? redactSensitiveValue(data) : undefined
5797
+ };
5595
5798
  }
5596
5799
  function parseKeyValueOutput(stdout) {
5597
- return Object.fromEntries(stdout.trim().split(`
5598
- `).map((line) => line.split("=")).filter((parts) => parts.length === 2).map(([key, value]) => [key, value]));
5800
+ const result = {};
5801
+ for (const line of stdout.trim().split(`
5802
+ `)) {
5803
+ const index = line.indexOf("=");
5804
+ if (index <= 0)
5805
+ continue;
5806
+ result[line.slice(0, index)] = line.slice(index + 1);
5807
+ }
5808
+ return result;
5599
5809
  }
5600
5810
  function buildDoctorCommand() {
5601
5811
  return [
@@ -5603,9 +5813,11 @@ function buildDoctorCommand() {
5603
5813
  'manifest_path="${HASNA_MACHINES_MANIFEST_PATH:-$data_dir/machines.json}"',
5604
5814
  'db_path="${HASNA_MACHINES_DB_PATH:-$data_dir/machines.db}"',
5605
5815
  'notifications_path="${HASNA_MACHINES_NOTIFICATIONS_PATH:-$data_dir/notifications.json}"',
5816
+ `printf 'data_dir=%s\\n' "$data_dir"`,
5606
5817
  `printf 'manifest_path=%s\\n' "$manifest_path"`,
5607
5818
  `printf 'db_path=%s\\n' "$db_path"`,
5608
5819
  `printf 'notifications_path=%s\\n' "$notifications_path"`,
5820
+ `printf 'data_dir_exists=%s\\n' "$(test -d "$data_dir" && printf yes || printf no)"`,
5609
5821
  `printf 'manifest_exists=%s\\n' "$(test -e "$manifest_path" && printf yes || printf no)"`,
5610
5822
  `printf 'db_exists=%s\\n' "$(test -e "$db_path" && printf yes || printf no)"`,
5611
5823
  `printf 'notifications_exists=%s\\n' "$(test -e "$notifications_path" && printf yes || printf no)"`,
@@ -5616,28 +5828,115 @@ function buildDoctorCommand() {
5616
5828
  `printf 'machines_mcp=%s\\n' "$(command -v machines-mcp 2>/dev/null || printf missing)"`
5617
5829
  ].join("; ");
5618
5830
  }
5619
- function runDoctor(machineId = getLocalMachineId()) {
5620
- const manifest = readManifest();
5831
+ function fallbackAdapterCheck(domain) {
5832
+ return makeCheck(`${domain}-adapter`, "ok", `Optional ${domain} adapter`, `No ${domain} adapter configured; skipped optional private integration check.`, {
5833
+ optional: true,
5834
+ source: "open-machines",
5835
+ data: { configured: false, fallback: true }
5836
+ });
5837
+ }
5838
+ function sanitizeAdapterCheck(check, domain, adapterId) {
5839
+ const safeAdapterId = redactIdentifier(adapterId);
5840
+ return makeCheck(check.id.startsWith(`${domain}-`) || check.id.startsWith(`${domain}:`) ? check.id : `${domain}:${check.id}`, check.status, check.summary, String(redactSensitiveValue(check.detail)), {
5841
+ ...check,
5842
+ optional: check.optional ?? true,
5843
+ source: check.source ? String(redactSensitiveValue(check.source)) : `adapter:${safeAdapterId}`,
5844
+ data: check.data ? redactSensitiveValue(check.data) : undefined
5845
+ });
5846
+ }
5847
+ function runOptionalAdapterChecks(context, adapters) {
5848
+ const checks = [];
5849
+ for (const domain of DOCTOR_OPTIONAL_ADAPTER_DOMAINS) {
5850
+ const adapter2 = adapters.find((candidate) => candidate.checks?.[domain]);
5851
+ const hook = adapter2?.checks?.[domain];
5852
+ if (!adapter2 || !hook) {
5853
+ checks.push(fallbackAdapterCheck(domain));
5854
+ continue;
5855
+ }
5856
+ try {
5857
+ const result = hook(context);
5858
+ const domainChecks = Array.isArray(result) ? result : result ? [result] : [fallbackAdapterCheck(domain)];
5859
+ checks.push(...domainChecks.map((check) => sanitizeAdapterCheck(check, domain, adapter2.id)));
5860
+ } catch {
5861
+ const safeAdapterId = redactIdentifier(adapter2.id);
5862
+ checks.push(makeCheck(`${domain}-adapter`, "warn", `Optional ${domain} adapter failed`, "Adapter failed; details are intentionally hidden to avoid leaking private refs or credentials.", {
5863
+ optional: true,
5864
+ source: `adapter:${safeAdapterId}`,
5865
+ data: { adapter: safeAdapterId, fallback: true }
5866
+ }));
5867
+ }
5868
+ }
5869
+ return checks;
5870
+ }
5871
+ function runDoctor(machineId = getLocalMachineId(), options = {}) {
5872
+ const now = options.now ?? new Date;
5873
+ const { manifest, info: manifestSource } = readManifestWithSource({ adapter: options.manifestAdapter ?? null });
5621
5874
  const commandChecks = runMachineCommand(machineId, buildDoctorCommand());
5622
5875
  const details = parseKeyValueOutput(commandChecks.stdout);
5623
5876
  const machineInManifest = manifest.machines.find((machine) => machine.id === machineId);
5877
+ const optionalAdapterChecks = options.includeOptionalAdapters === false ? [] : runOptionalAdapterChecks({
5878
+ machineId,
5879
+ manifest,
5880
+ manifestSource,
5881
+ commandDetails: details,
5882
+ now
5883
+ }, options.adapters ?? []);
5624
5884
  const checks = [
5625
- makeCheck("manifest-entry", machineInManifest ? "ok" : "warn", machineInManifest ? "Machine exists in manifest" : "Machine missing from manifest", machineInManifest ? JSON.stringify(machineInManifest) : `No manifest entry for ${machineId}`),
5626
- makeCheck("manifest-path", details["manifest_exists"] === "yes" ? "ok" : "warn", "Manifest path check", `${details["manifest_path"] || "unknown"} ${details["manifest_exists"] === "yes" ? "exists" : "missing"}`),
5627
- makeCheck("db-path", details["db_exists"] === "yes" ? "ok" : "warn", "DB path check", `${details["db_path"] || "unknown"} ${details["db_exists"] === "yes" ? "exists" : "missing"}`),
5628
- makeCheck("notifications-path", details["notifications_exists"] === "yes" ? "ok" : "warn", "Notifications path check", `${details["notifications_path"] || "unknown"} ${details["notifications_exists"] === "yes" ? "exists" : "missing"}`),
5885
+ makeCheck("manifest-source", manifestSource.warnings.length > 0 ? "warn" : "ok", "Manifest source boundary", `${manifestSource.source.kind}:${manifestSource.source.ref} loaded from ${manifestSource.loadedFrom}`, {
5886
+ data: {
5887
+ source: manifestSource.source,
5888
+ loadedFrom: manifestSource.loadedFrom,
5889
+ fallbackSource: manifestSource.fallbackSource,
5890
+ warnings: manifestSource.warnings
5891
+ },
5892
+ remediation: manifestSource.warnings.length > 0 ? ["Provide a private manifest adapter or unset the private manifest ref to use the local manifest only."] : undefined
5893
+ }),
5894
+ makeCheck("manifest-entry", machineInManifest ? "ok" : "warn", machineInManifest ? "Machine exists in manifest" : "Machine missing from manifest", machineInManifest ? JSON.stringify(redactManifestForDiagnostics(machineInManifest)) : `No manifest entry for ${machineId}`, {
5895
+ data: {
5896
+ declared: Boolean(machineInManifest),
5897
+ machine: machineInManifest ? redactManifestForDiagnostics(machineInManifest) : null
5898
+ }
5899
+ }),
5900
+ makeCheck("data-dir", details["data_dir_exists"] === "yes" ? "ok" : "warn", "Data directory check", `${redactPath(details["data_dir"] || "unknown")} ${details["data_dir_exists"] === "yes" ? "exists" : "missing"}`, {
5901
+ data: {
5902
+ path: redactPath(details["data_dir"] || "unknown"),
5903
+ exists: details["data_dir_exists"] === "yes"
5904
+ }
5905
+ }),
5906
+ makeCheck("manifest-path", details["manifest_exists"] === "yes" ? "ok" : "warn", "Manifest path check", `${redactPath(details["manifest_path"] || "unknown")} ${details["manifest_exists"] === "yes" ? "exists" : "missing"}`, {
5907
+ data: {
5908
+ path: redactPath(details["manifest_path"] || "unknown"),
5909
+ exists: details["manifest_exists"] === "yes"
5910
+ }
5911
+ }),
5912
+ makeCheck("db-path", details["db_exists"] === "yes" ? "ok" : "warn", "DB path check", `${redactPath(details["db_path"] || "unknown")} ${details["db_exists"] === "yes" ? "exists" : "missing"}`, {
5913
+ data: {
5914
+ path: redactPath(details["db_path"] || "unknown"),
5915
+ exists: details["db_exists"] === "yes"
5916
+ }
5917
+ }),
5918
+ makeCheck("notifications-path", details["notifications_exists"] === "yes" ? "ok" : "warn", "Notifications path check", `${redactPath(details["notifications_path"] || "unknown")} ${details["notifications_exists"] === "yes" ? "exists" : "missing"}`, {
5919
+ data: {
5920
+ path: redactPath(details["notifications_path"] || "unknown"),
5921
+ exists: details["notifications_exists"] === "yes"
5922
+ }
5923
+ }),
5629
5924
  makeCheck("bun", details["bun"] && details["bun"] !== "missing" ? "ok" : "fail", "Bun availability", details["bun"] || "missing"),
5630
5925
  makeCheck("machines-cli", details["machines"] && details["machines"] !== "missing" ? "ok" : "warn", "machines CLI availability", details["machines"] || "missing"),
5631
5926
  makeCheck("machines-agent-cli", details["machines_agent"] && details["machines_agent"] !== "missing" ? "ok" : "warn", "machines-agent availability", details["machines_agent"] || "missing"),
5632
5927
  makeCheck("machines-mcp-cli", details["machines_mcp"] && details["machines_mcp"] !== "missing" ? "ok" : "warn", "machines-mcp availability", details["machines_mcp"] || "missing"),
5633
- makeCheck("ssh", details["ssh"] === "ok" ? "ok" : "warn", "SSH availability", details["ssh"] || "missing")
5928
+ makeCheck("ssh", details["ssh"] === "ok" ? "ok" : "warn", "SSH availability", details["ssh"] || "missing"),
5929
+ ...optionalAdapterChecks
5634
5930
  ];
5635
5931
  return {
5636
5932
  machineId,
5637
5933
  source: commandChecks.source,
5638
- manifestPath: details["manifest_path"],
5639
- dbPath: details["db_path"],
5640
- notificationsPath: details["notifications_path"],
5934
+ schemaVersion: 1,
5935
+ generatedAt: now.toISOString(),
5936
+ manifestSource,
5937
+ manifestPath: details["manifest_path"] ? redactPath(details["manifest_path"]) : undefined,
5938
+ dbPath: details["db_path"] ? redactPath(details["db_path"]) : undefined,
5939
+ notificationsPath: details["notifications_path"] ? redactPath(details["notifications_path"]) : undefined,
5641
5940
  checks
5642
5941
  };
5643
5942
  }
@@ -0,0 +1,11 @@
1
+ import type { MachineManifest } from "./types.js";
2
+ export declare const REDACTED_VALUE = "[redacted]";
3
+ export declare function isSensitiveKey(key: string): boolean;
4
+ export declare function redactPath(value: string): string;
5
+ export declare function redactPrivateRef(value: string): string;
6
+ export declare function redactIdentifier(value: string): string;
7
+ export declare function redactSensitiveValue(value: unknown, key?: string): unknown;
8
+ export declare function publicMetadataKeys(metadata: Record<string, unknown> | undefined): string[];
9
+ export declare function redactMetadata(metadata: Record<string, unknown> | undefined): Record<string, unknown>;
10
+ export declare function redactManifestForDiagnostics(machine: MachineManifest): Record<string, unknown>;
11
+ //# sourceMappingURL=redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,cAAc,eAAe,CAAC;AAa3C,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAcD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,OAAO,CAsBtE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAI1F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAErG;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyB9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../src/topology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../src/topology.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,6 +35,20 @@ export interface FleetManifest {
35
35
  generatedAt?: string;
36
36
  machines: MachineManifest[];
37
37
  }
38
+ export type ManifestSourceKind = "file" | "private-ref";
39
+ export interface ManifestSourceRef {
40
+ kind: ManifestSourceKind;
41
+ ref: string;
42
+ backend: string | null;
43
+ private: boolean;
44
+ publicSafe: true;
45
+ }
46
+ export interface ManifestLoadInfo {
47
+ source: ManifestSourceRef;
48
+ loadedFrom: ManifestSourceKind | "default" | "fallback";
49
+ fallbackSource?: ManifestSourceRef;
50
+ warnings: string[];
51
+ }
38
52
  export interface AgentHeartbeat {
39
53
  machineId: string;
40
54
  pid: number;
@@ -166,10 +180,17 @@ export interface DoctorCheck {
166
180
  status: "ok" | "warn" | "fail";
167
181
  summary: string;
168
182
  detail: string;
183
+ optional?: boolean;
184
+ source?: string;
185
+ data?: Record<string, unknown>;
186
+ remediation?: string[];
169
187
  }
170
188
  export interface DoctorReport {
171
189
  machineId: string;
172
190
  source: "local" | "lan" | "tailscale" | "ssh";
191
+ schemaVersion?: 1;
192
+ generatedAt?: string;
193
+ manifestSource?: ManifestLoadInfo;
173
194
  manifestPath?: string;
174
195
  dbPath?: string;
175
196
  notificationsPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/machines",
3
- "version": "0.0.33",
3
+ "version": "0.0.35",
4
4
  "description": "Machine fleet management CLI + MCP for developers",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -86,6 +86,7 @@ function packagePath(root, packageName) {
86
86
  function copyPackage(source, target) {
87
87
  if (!existsSync(source)) throw new Error(`Package source does not exist: ${source}`);
88
88
  const sourceRoot = resolve(source);
89
+ const privateArtifactDir = `.${"takumi"}`;
89
90
  cpSync(source, target, {
90
91
  recursive: true,
91
92
  filter: (path) => {
@@ -97,8 +98,8 @@ function copyPackage(source, target) {
97
98
  && !normalized.startsWith(".git/")
98
99
  && normalized !== ".hasna"
99
100
  && !normalized.startsWith(".hasna/")
100
- && normalized !== ".takumi"
101
- && !normalized.startsWith(".takumi/");
101
+ && normalized !== privateArtifactDir
102
+ && !normalized.startsWith(`${privateArtifactDir}/`);
102
103
  },
103
104
  });
104
105
  }