@hasna/machines 0.0.15 → 0.0.16

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/cli/index.js CHANGED
@@ -7573,6 +7573,7 @@ function diffMachines(leftMachineId, rightMachineId) {
7573
7573
  // src/remote.ts
7574
7574
  init_db();
7575
7575
  import { spawnSync as spawnSync2 } from "child_process";
7576
+ import { hostname as hostname3 } from "os";
7576
7577
 
7577
7578
  // src/commands/ssh.ts
7578
7579
  import { spawnSync } from "child_process";
@@ -7618,18 +7619,37 @@ function buildSshCommand(machineId, remoteCommand) {
7618
7619
  }
7619
7620
 
7620
7621
  // src/remote.ts
7622
+ function shellQuote(value) {
7623
+ return `'${value.replace(/'/g, "'\\''")}'`;
7624
+ }
7625
+ function machineIsLocal(machineId, localMachineId) {
7626
+ return machineId === "local" || machineId === "localhost" || machineId === localMachineId || machineId === hostname3();
7627
+ }
7628
+ function resolveMachineCommand(machineId, command, localMachineId = getLocalMachineId()) {
7629
+ if (machineIsLocal(machineId, localMachineId)) {
7630
+ return { source: "local", shellCommand: command };
7631
+ }
7632
+ try {
7633
+ return {
7634
+ source: resolveSshTarget(machineId).route,
7635
+ shellCommand: buildSshCommand(machineId, command)
7636
+ };
7637
+ } catch (error) {
7638
+ if (String(error.message ?? error).includes("Machine not found in manifest")) {
7639
+ return { source: "ssh", shellCommand: `ssh ${shellQuote(machineId)} ${shellQuote(command)}` };
7640
+ }
7641
+ throw error;
7642
+ }
7643
+ }
7621
7644
  function runMachineCommand(machineId, command) {
7622
- const localMachineId = getLocalMachineId();
7623
- const isLocal = machineId === localMachineId;
7624
- const route = isLocal ? "local" : resolveSshTarget(machineId).route;
7625
- const shellCommand = isLocal ? command : buildSshCommand(machineId, command);
7626
- const result = spawnSync2("bash", ["-c", shellCommand], {
7645
+ const resolved = resolveMachineCommand(machineId, command);
7646
+ const result = spawnSync2("bash", ["-c", resolved.shellCommand], {
7627
7647
  encoding: "utf8",
7628
7648
  env: process.env
7629
7649
  });
7630
7650
  return {
7631
7651
  machineId,
7632
- source: route,
7652
+ source: resolved.source,
7633
7653
  stdout: result.stdout || "",
7634
7654
  stderr: result.stderr || "",
7635
7655
  exitCode: result.status ?? 1
@@ -7649,7 +7669,7 @@ function getAppManager(machine, app) {
7649
7669
  return "winget";
7650
7670
  return "apt";
7651
7671
  }
7652
- function shellQuote(value) {
7672
+ function shellQuote2(value) {
7653
7673
  return `'${value.replace(/'/g, `'\\''`)}'`;
7654
7674
  }
7655
7675
  function buildAppCommand(machine, app) {
@@ -7670,7 +7690,7 @@ function buildAppCommand(machine, app) {
7670
7690
  return `sudo apt-get install -y ${packageName}`;
7671
7691
  }
7672
7692
  function buildAppProbeCommand(machine, app) {
7673
- const packageName = shellQuote(getPackageName(app));
7693
+ const packageName = shellQuote2(getPackageName(app));
7674
7694
  const manager = getAppManager(machine, app);
7675
7695
  if (manager === "custom") {
7676
7696
  return `if command -v ${packageName} >/dev/null 2>&1; then printf 'installed=1\\nversion=custom\\n'; else printf 'installed=0\\n'; fi`;
@@ -7965,7 +7985,7 @@ var notificationConfigSchema = exports_external.object({
7965
7985
  function sortChannels(channels) {
7966
7986
  return [...channels].sort((left, right) => left.id.localeCompare(right.id));
7967
7987
  }
7968
- function shellQuote2(value) {
7988
+ function shellQuote3(value) {
7969
7989
  return `'${value.replace(/'/g, `'\\''`)}'`;
7970
7990
  }
7971
7991
  function hasCommand(binary) {
@@ -8012,7 +8032,7 @@ ${message}
8012
8032
  };
8013
8033
  }
8014
8034
  if (hasCommand("mail")) {
8015
- const command = `printf %s ${shellQuote2(message)} | mail -s ${shellQuote2(subject)} ${shellQuote2(channel.target)}`;
8035
+ const command = `printf %s ${shellQuote3(message)} | mail -s ${shellQuote3(subject)} ${shellQuote3(channel.target)}`;
8016
8036
  const result = Bun.spawnSync(["bash", "-lc", command], {
8017
8037
  stdout: "pipe",
8018
8038
  stderr: "pipe",
@@ -8441,7 +8461,7 @@ function getStatus() {
8441
8461
  // src/topology.ts
8442
8462
  init_db();
8443
8463
  import { existsSync as existsSync7 } from "fs";
8444
- import { arch as arch2, hostname as hostname3, platform as platform3, userInfo as userInfo2 } from "os";
8464
+ import { arch as arch2, hostname as hostname4, platform as platform3, userInfo as userInfo2 } from "os";
8445
8465
  import { spawnSync as spawnSync4 } from "child_process";
8446
8466
  init_paths();
8447
8467
  function normalizePlatform2(value = platform3()) {
@@ -8609,7 +8629,7 @@ function discoverMachineTopology(options = {}) {
8609
8629
  return {
8610
8630
  generated_at: now.toISOString(),
8611
8631
  local_machine_id: localMachineId,
8612
- local_hostname: hostname3(),
8632
+ local_hostname: hostname4(),
8613
8633
  current_platform: normalizePlatform2(),
8614
8634
  manifest_path_known: existsSync7(getManifestPath()),
8615
8635
  machines,
@@ -8626,7 +8646,7 @@ var DEFAULT_COMMANDS = [
8626
8646
  function defaultPackages() {
8627
8647
  return [{ name: "@hasna/machines", command: "machines", expectedVersion: getPackageVersion(), required: true }];
8628
8648
  }
8629
- function shellQuote3(value) {
8649
+ function shellQuote4(value) {
8630
8650
  return `'${value.replace(/'/g, "'\\''")}'`;
8631
8651
  }
8632
8652
  function commandId(value) {
@@ -8677,7 +8697,7 @@ function defaultRunner2(machineId, command) {
8677
8697
  return runMachineCommand(machineId, command);
8678
8698
  }
8679
8699
  function inspectCommand(machineId, spec, runner) {
8680
- const command = shellQuote3(spec.command);
8700
+ const command = shellQuote4(spec.command);
8681
8701
  const versionArgs = spec.versionArgs ?? "--version";
8682
8702
  const script = [
8683
8703
  `cmd=${command}`,
@@ -8706,7 +8726,7 @@ function fieldCommand(field) {
8706
8726
  }
8707
8727
  function inspectWorkspace(machineId, spec, runner) {
8708
8728
  const script = [
8709
- `path=${shellQuote3(spec.path)}`,
8729
+ `path=${shellQuote4(spec.path)}`,
8710
8730
  'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"',
8711
8731
  'pkg="$path/package.json"',
8712
8732
  'printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',
package/dist/index.js CHANGED
@@ -11281,6 +11281,7 @@ function getLocalMachineTopology(options = {}) {
11281
11281
  }
11282
11282
  // src/remote.ts
11283
11283
  import { spawnSync as spawnSync3 } from "child_process";
11284
+ import { hostname as hostname4 } from "os";
11284
11285
 
11285
11286
  // src/commands/ssh.ts
11286
11287
  import { spawnSync as spawnSync2 } from "child_process";
@@ -11326,18 +11327,37 @@ function buildSshCommand(machineId, remoteCommand) {
11326
11327
  }
11327
11328
 
11328
11329
  // src/remote.ts
11330
+ function shellQuote(value) {
11331
+ return `'${value.replace(/'/g, "'\\''")}'`;
11332
+ }
11333
+ function machineIsLocal(machineId, localMachineId) {
11334
+ return machineId === "local" || machineId === "localhost" || machineId === localMachineId || machineId === hostname4();
11335
+ }
11336
+ function resolveMachineCommand(machineId, command, localMachineId = getLocalMachineId()) {
11337
+ if (machineIsLocal(machineId, localMachineId)) {
11338
+ return { source: "local", shellCommand: command };
11339
+ }
11340
+ try {
11341
+ return {
11342
+ source: resolveSshTarget(machineId).route,
11343
+ shellCommand: buildSshCommand(machineId, command)
11344
+ };
11345
+ } catch (error) {
11346
+ if (String(error.message ?? error).includes("Machine not found in manifest")) {
11347
+ return { source: "ssh", shellCommand: `ssh ${shellQuote(machineId)} ${shellQuote(command)}` };
11348
+ }
11349
+ throw error;
11350
+ }
11351
+ }
11329
11352
  function runMachineCommand(machineId, command) {
11330
- const localMachineId = getLocalMachineId();
11331
- const isLocal = machineId === localMachineId;
11332
- const route = isLocal ? "local" : resolveSshTarget(machineId).route;
11333
- const shellCommand = isLocal ? command : buildSshCommand(machineId, command);
11334
- const result = spawnSync3("bash", ["-c", shellCommand], {
11353
+ const resolved = resolveMachineCommand(machineId, command);
11354
+ const result = spawnSync3("bash", ["-c", resolved.shellCommand], {
11335
11355
  encoding: "utf8",
11336
11356
  env: process.env
11337
11357
  });
11338
11358
  return {
11339
11359
  machineId,
11340
- source: route,
11360
+ source: resolved.source,
11341
11361
  stdout: result.stdout || "",
11342
11362
  stderr: result.stderr || "",
11343
11363
  exitCode: result.status ?? 1
@@ -11370,7 +11390,7 @@ var DEFAULT_COMMANDS = [
11370
11390
  function defaultPackages() {
11371
11391
  return [{ name: "@hasna/machines", command: "machines", expectedVersion: getPackageVersion(), required: true }];
11372
11392
  }
11373
- function shellQuote(value) {
11393
+ function shellQuote2(value) {
11374
11394
  return `'${value.replace(/'/g, "'\\''")}'`;
11375
11395
  }
11376
11396
  function commandId(value) {
@@ -11421,7 +11441,7 @@ function defaultRunner2(machineId, command) {
11421
11441
  return runMachineCommand(machineId, command);
11422
11442
  }
11423
11443
  function inspectCommand(machineId, spec, runner) {
11424
- const command = shellQuote(spec.command);
11444
+ const command = shellQuote2(spec.command);
11425
11445
  const versionArgs = spec.versionArgs ?? "--version";
11426
11446
  const script = [
11427
11447
  `cmd=${command}`,
@@ -11450,7 +11470,7 @@ function fieldCommand(field) {
11450
11470
  }
11451
11471
  function inspectWorkspace(machineId, spec, runner) {
11452
11472
  const script = [
11453
- `path=${shellQuote(spec.path)}`,
11473
+ `path=${shellQuote2(spec.path)}`,
11454
11474
  'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"',
11455
11475
  'pkg="$path/package.json"',
11456
11476
  'printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',
@@ -11695,7 +11715,7 @@ function getAppManager(machine, app) {
11695
11715
  return "winget";
11696
11716
  return "apt";
11697
11717
  }
11698
- function shellQuote2(value) {
11718
+ function shellQuote3(value) {
11699
11719
  return `'${value.replace(/'/g, `'\\''`)}'`;
11700
11720
  }
11701
11721
  function buildAppCommand(machine, app) {
@@ -11716,7 +11736,7 @@ function buildAppCommand(machine, app) {
11716
11736
  return `sudo apt-get install -y ${packageName}`;
11717
11737
  }
11718
11738
  function buildAppProbeCommand(machine, app) {
11719
- const packageName = shellQuote2(getPackageName(app));
11739
+ const packageName = shellQuote3(getPackageName(app));
11720
11740
  const manager = getAppManager(machine, app);
11721
11741
  if (manager === "custom") {
11722
11742
  return `if command -v ${packageName} >/dev/null 2>&1; then printf 'installed=1\\nversion=custom\\n'; else printf 'installed=0\\n'; fi`;
@@ -12252,7 +12272,7 @@ var notificationConfigSchema = exports_external.object({
12252
12272
  function sortChannels(channels) {
12253
12273
  return [...channels].sort((left, right) => left.id.localeCompare(right.id));
12254
12274
  }
12255
- function shellQuote3(value) {
12275
+ function shellQuote4(value) {
12256
12276
  return `'${value.replace(/'/g, `'\\''`)}'`;
12257
12277
  }
12258
12278
  function hasCommand2(binary) {
@@ -12299,7 +12319,7 @@ ${message}
12299
12319
  };
12300
12320
  }
12301
12321
  if (hasCommand2("mail")) {
12302
- const command = `printf %s ${shellQuote3(message)} | mail -s ${shellQuote3(subject)} ${shellQuote3(channel.target)}`;
12322
+ const command = `printf %s ${shellQuote4(message)} | mail -s ${shellQuote4(subject)} ${shellQuote4(channel.target)}`;
12303
12323
  const result = Bun.spawnSync(["bash", "-lc", command], {
12304
12324
  stdout: "pipe",
12305
12325
  stderr: "pipe",
@@ -13839,7 +13859,7 @@ var cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]
13839
13859
  var cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
13840
13860
  var base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
13841
13861
  var base64url = /^[A-Za-z0-9_-]*$/;
13842
- var hostname4 = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
13862
+ var hostname5 = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
13843
13863
  var e164 = /^\+(?:[0-9]){6,14}[0-9]$/;
13844
13864
  var dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;
13845
13865
  var date = /* @__PURE__ */ new RegExp(`^${dateSource}$`);
@@ -14451,7 +14471,7 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => {
14451
14471
  code: "invalid_format",
14452
14472
  format: "url",
14453
14473
  note: "Invalid hostname",
14454
- pattern: hostname4.source,
14474
+ pattern: hostname5.source,
14455
14475
  input: payload.value,
14456
14476
  inst,
14457
14477
  continue: !def.abort
package/dist/mcp/index.js CHANGED
@@ -4218,6 +4218,7 @@ function detectCurrentMachineManifest() {
4218
4218
 
4219
4219
  // src/remote.ts
4220
4220
  import { spawnSync as spawnSync2 } from "child_process";
4221
+ import { hostname as hostname3 } from "os";
4221
4222
 
4222
4223
  // src/db.ts
4223
4224
  import { Database } from "bun:sqlite";
@@ -4362,18 +4363,37 @@ function buildSshCommand(machineId, remoteCommand) {
4362
4363
  }
4363
4364
 
4364
4365
  // src/remote.ts
4366
+ function shellQuote(value) {
4367
+ return `'${value.replace(/'/g, "'\\''")}'`;
4368
+ }
4369
+ function machineIsLocal(machineId, localMachineId) {
4370
+ return machineId === "local" || machineId === "localhost" || machineId === localMachineId || machineId === hostname3();
4371
+ }
4372
+ function resolveMachineCommand(machineId, command, localMachineId = getLocalMachineId()) {
4373
+ if (machineIsLocal(machineId, localMachineId)) {
4374
+ return { source: "local", shellCommand: command };
4375
+ }
4376
+ try {
4377
+ return {
4378
+ source: resolveSshTarget(machineId).route,
4379
+ shellCommand: buildSshCommand(machineId, command)
4380
+ };
4381
+ } catch (error) {
4382
+ if (String(error.message ?? error).includes("Machine not found in manifest")) {
4383
+ return { source: "ssh", shellCommand: `ssh ${shellQuote(machineId)} ${shellQuote(command)}` };
4384
+ }
4385
+ throw error;
4386
+ }
4387
+ }
4365
4388
  function runMachineCommand(machineId, command) {
4366
- const localMachineId = getLocalMachineId();
4367
- const isLocal = machineId === localMachineId;
4368
- const route = isLocal ? "local" : resolveSshTarget(machineId).route;
4369
- const shellCommand = isLocal ? command : buildSshCommand(machineId, command);
4370
- const result = spawnSync2("bash", ["-c", shellCommand], {
4389
+ const resolved = resolveMachineCommand(machineId, command);
4390
+ const result = spawnSync2("bash", ["-c", resolved.shellCommand], {
4371
4391
  encoding: "utf8",
4372
4392
  env: process.env
4373
4393
  });
4374
4394
  return {
4375
4395
  machineId,
4376
- source: route,
4396
+ source: resolved.source,
4377
4397
  stdout: result.stdout || "",
4378
4398
  stderr: result.stderr || "",
4379
4399
  exitCode: result.status ?? 1
@@ -4393,7 +4413,7 @@ function getAppManager(machine, app) {
4393
4413
  return "winget";
4394
4414
  return "apt";
4395
4415
  }
4396
- function shellQuote(value) {
4416
+ function shellQuote2(value) {
4397
4417
  return `'${value.replace(/'/g, `'\\''`)}'`;
4398
4418
  }
4399
4419
  function buildAppCommand(machine, app) {
@@ -4414,7 +4434,7 @@ function buildAppCommand(machine, app) {
4414
4434
  return `sudo apt-get install -y ${packageName}`;
4415
4435
  }
4416
4436
  function buildAppProbeCommand(machine, app) {
4417
- const packageName = shellQuote(getPackageName(app));
4437
+ const packageName = shellQuote2(getPackageName(app));
4418
4438
  const manager = getAppManager(machine, app);
4419
4439
  if (manager === "custom") {
4420
4440
  return `if command -v ${packageName} >/dev/null 2>&1; then printf 'installed=1\\nversion=custom\\n'; else printf 'installed=0\\n'; fi`;
@@ -4924,7 +4944,7 @@ var notificationConfigSchema = exports_external.object({
4924
4944
  function sortChannels(channels) {
4925
4945
  return [...channels].sort((left, right) => left.id.localeCompare(right.id));
4926
4946
  }
4927
- function shellQuote2(value) {
4947
+ function shellQuote3(value) {
4928
4948
  return `'${value.replace(/'/g, `'\\''`)}'`;
4929
4949
  }
4930
4950
  function hasCommand(binary) {
@@ -4971,7 +4991,7 @@ ${message}
4971
4991
  };
4972
4992
  }
4973
4993
  if (hasCommand("mail")) {
4974
- const command = `printf %s ${shellQuote2(message)} | mail -s ${shellQuote2(subject)} ${shellQuote2(channel.target)}`;
4994
+ const command = `printf %s ${shellQuote3(message)} | mail -s ${shellQuote3(subject)} ${shellQuote3(channel.target)}`;
4975
4995
  const result = Bun.spawnSync(["bash", "-lc", command], {
4976
4996
  stdout: "pipe",
4977
4997
  stderr: "pipe",
@@ -5759,7 +5779,7 @@ function getAgentStatus(machineId = getLocalMachineId()) {
5759
5779
 
5760
5780
  // src/topology.ts
5761
5781
  import { existsSync as existsSync7 } from "fs";
5762
- import { arch as arch2, hostname as hostname3, platform as platform3, userInfo as userInfo2 } from "os";
5782
+ import { arch as arch2, hostname as hostname4, platform as platform3, userInfo as userInfo2 } from "os";
5763
5783
  import { spawnSync as spawnSync4 } from "child_process";
5764
5784
  function normalizePlatform2(value = platform3()) {
5765
5785
  const normalized = value.toLowerCase();
@@ -5926,7 +5946,7 @@ function discoverMachineTopology(options = {}) {
5926
5946
  return {
5927
5947
  generated_at: now.toISOString(),
5928
5948
  local_machine_id: localMachineId,
5929
- local_hostname: hostname3(),
5949
+ local_hostname: hostname4(),
5930
5950
  current_platform: normalizePlatform2(),
5931
5951
  manifest_path_known: existsSync7(getManifestPath()),
5932
5952
  machines,
@@ -5942,7 +5962,7 @@ var DEFAULT_COMMANDS = [
5942
5962
  function defaultPackages() {
5943
5963
  return [{ name: "@hasna/machines", command: "machines", expectedVersion: getPackageVersion(), required: true }];
5944
5964
  }
5945
- function shellQuote3(value) {
5965
+ function shellQuote4(value) {
5946
5966
  return `'${value.replace(/'/g, "'\\''")}'`;
5947
5967
  }
5948
5968
  function commandId(value) {
@@ -5993,7 +6013,7 @@ function defaultRunner2(machineId, command) {
5993
6013
  return runMachineCommand(machineId, command);
5994
6014
  }
5995
6015
  function inspectCommand(machineId, spec, runner) {
5996
- const command = shellQuote3(spec.command);
6016
+ const command = shellQuote4(spec.command);
5997
6017
  const versionArgs = spec.versionArgs ?? "--version";
5998
6018
  const script = [
5999
6019
  `cmd=${command}`,
@@ -6022,7 +6042,7 @@ function fieldCommand(field) {
6022
6042
  }
6023
6043
  function inspectWorkspace(machineId, spec, runner) {
6024
6044
  const script = [
6025
- `path=${shellQuote3(spec.path)}`,
6045
+ `path=${shellQuote4(spec.path)}`,
6026
6046
  'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"',
6027
6047
  'pkg="$path/package.json"',
6028
6048
  'printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',
package/dist/remote.d.ts CHANGED
@@ -1,9 +1,13 @@
1
1
  export interface MachineCommandResult {
2
2
  machineId: string;
3
- source: "local" | "lan" | "tailscale";
3
+ source: "local" | "lan" | "tailscale" | "ssh";
4
4
  stdout: string;
5
5
  stderr: string;
6
6
  exitCode: number;
7
7
  }
8
+ export declare function resolveMachineCommand(machineId: string, command: string, localMachineId?: string): {
9
+ source: MachineCommandResult["source"];
10
+ shellCommand: string;
11
+ };
8
12
  export declare function runMachineCommand(machineId: string, command: string): MachineCommandResult;
9
13
  //# sourceMappingURL=remote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAiB1F"}
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,WAAW,GAAG,KAAK,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAaD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,SAAsB,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAgBhL;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAc1F"}
package/dist/types.d.ts CHANGED
@@ -127,7 +127,7 @@ export interface InstalledAppStatus {
127
127
  }
128
128
  export interface AppsStatusResult {
129
129
  machineId: string;
130
- source: "local" | "lan" | "tailscale";
130
+ source: "local" | "lan" | "tailscale" | "ssh";
131
131
  apps: InstalledAppStatus[];
132
132
  }
133
133
  export interface AppsDiffResult extends AppsStatusResult {
@@ -142,7 +142,7 @@ export interface CliToolStatus {
142
142
  }
143
143
  export interface ClaudeCliStatusResult {
144
144
  machineId: string;
145
- source: "local" | "lan" | "tailscale";
145
+ source: "local" | "lan" | "tailscale" | "ssh";
146
146
  tools: CliToolStatus[];
147
147
  }
148
148
  export interface ClaudeCliDiffResult extends ClaudeCliStatusResult {
@@ -169,7 +169,7 @@ export interface DoctorCheck {
169
169
  }
170
170
  export interface DoctorReport {
171
171
  machineId: string;
172
- source: "local" | "lan" | "tailscale";
172
+ source: "local" | "lan" | "tailscale" | "ssh";
173
173
  manifestPath?: string;
174
174
  dbPath?: string;
175
175
  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.15",
3
+ "version": "0.0.16",
4
4
  "description": "Machine fleet management CLI + MCP for developers",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",