@hasna/machines 0.0.19 → 0.0.20
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/README.md +17 -8
- package/dist/cli/index.js +12 -13
- package/dist/compatibility.d.ts.map +1 -1
- package/dist/consumer.d.ts +2 -2
- package/dist/consumer.d.ts.map +1 -1
- package/dist/consumer.js +41 -14
- package/dist/index.js +40 -13
- package/dist/mcp/index.js +12 -13
- package/dist/topology.d.ts +13 -0
- package/dist/topology.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,13 +49,20 @@ machines self-test
|
|
|
49
49
|
|
|
50
50
|
## Topology SDK
|
|
51
51
|
|
|
52
|
-
`@hasna/machines` exposes a compact
|
|
53
|
-
that need machine identity without importing CLI
|
|
54
|
-
need the stable app-to-app contract
|
|
52
|
+
`@hasna/machines` exposes a compact consumer SDK for other open-core packages
|
|
53
|
+
that need machine identity without importing CLI, MCP, agent, installer, or
|
|
54
|
+
storage-heavy internals. Consumers that only need the stable app-to-app contract
|
|
55
|
+
should import `@hasna/machines/consumer`:
|
|
55
56
|
|
|
56
57
|
```ts
|
|
57
|
-
import {
|
|
58
|
-
|
|
58
|
+
import {
|
|
59
|
+
MACHINES_CONSUMER_CONTRACT,
|
|
60
|
+
discoverMachineTopology,
|
|
61
|
+
getLocalMachineTopology,
|
|
62
|
+
resolveMachineRoute,
|
|
63
|
+
} from "@hasna/machines/consumer";
|
|
64
|
+
|
|
65
|
+
console.log(MACHINES_CONSUMER_CONTRACT.schema_version);
|
|
59
66
|
const topology = discoverMachineTopology();
|
|
60
67
|
const local = getLocalMachineTopology();
|
|
61
68
|
const route = resolveMachineRoute("spark01");
|
|
@@ -67,9 +74,11 @@ The SDK merges manifest entries, local heartbeats, SSH route hints, and
|
|
|
67
74
|
when present, and fall back to local probes or app-local machine registries when
|
|
68
75
|
it is absent.
|
|
69
76
|
|
|
70
|
-
Topology, route, and compatibility JSON include `schema_version`,
|
|
71
|
-
version metadata, and capability flags. The current consumer contract
|
|
72
|
-
`1
|
|
77
|
+
Topology, route, workspace, and compatibility JSON include `schema_version`,
|
|
78
|
+
package version metadata, and capability flags. The current consumer contract
|
|
79
|
+
version is `1`; the exported `MACHINES_CONSUMER_CONTRACT` records the stable
|
|
80
|
+
entrypoint, envelope names, and stable exports used by downstream apps such as
|
|
81
|
+
`@hasna/knowledge`.
|
|
73
82
|
|
|
74
83
|
CLI and MCP expose the same topology view:
|
|
75
84
|
|
package/dist/cli/index.js
CHANGED
|
@@ -7628,6 +7628,16 @@ import { spawnSync } from "child_process";
|
|
|
7628
7628
|
init_paths();
|
|
7629
7629
|
var MACHINES_CONSUMER_CONTRACT_VERSION = 1;
|
|
7630
7630
|
var MACHINES_PACKAGE_NAME = "@hasna/machines";
|
|
7631
|
+
var MACHINES_CONSUMER_CAPABILITIES = {
|
|
7632
|
+
topology: true,
|
|
7633
|
+
compatibility: true,
|
|
7634
|
+
route_resolution: true,
|
|
7635
|
+
cli_json_fallback: true,
|
|
7636
|
+
workspace_path_mapping: true
|
|
7637
|
+
};
|
|
7638
|
+
function getMachinesConsumerCapabilities() {
|
|
7639
|
+
return { ...MACHINES_CONSUMER_CAPABILITIES };
|
|
7640
|
+
}
|
|
7631
7641
|
function normalizePlatform2(value = platform3()) {
|
|
7632
7642
|
const normalized = value.toLowerCase();
|
|
7633
7643
|
if (normalized === "darwin" || normalized === "macos")
|
|
@@ -7828,13 +7838,7 @@ function discoverMachineTopology(options = {}) {
|
|
|
7828
7838
|
name: MACHINES_PACKAGE_NAME,
|
|
7829
7839
|
version: getPackageVersion()
|
|
7830
7840
|
},
|
|
7831
|
-
capabilities:
|
|
7832
|
-
topology: true,
|
|
7833
|
-
compatibility: true,
|
|
7834
|
-
route_resolution: true,
|
|
7835
|
-
cli_json_fallback: true,
|
|
7836
|
-
workspace_path_mapping: true
|
|
7837
|
-
},
|
|
7841
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
7838
7842
|
generated_at: now.toISOString(),
|
|
7839
7843
|
local_machine_id: localMachineId,
|
|
7840
7844
|
local_hostname: hostname3(),
|
|
@@ -9266,12 +9270,7 @@ function checkMachineCompatibility(options = {}) {
|
|
|
9266
9270
|
name: MACHINES_PACKAGE_NAME,
|
|
9267
9271
|
version: getPackageVersion()
|
|
9268
9272
|
},
|
|
9269
|
-
capabilities:
|
|
9270
|
-
topology: true,
|
|
9271
|
-
compatibility: true,
|
|
9272
|
-
route_resolution: true,
|
|
9273
|
-
cli_json_fallback: true
|
|
9274
|
-
},
|
|
9273
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
9275
9274
|
ok: summary.fail === 0,
|
|
9276
9275
|
machine_id: machineId,
|
|
9277
9276
|
source: checks[0]?.source ?? "local",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../src/compatibility.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,kCAAkC,
|
|
1
|
+
{"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../src/compatibility.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,kCAAkC,EAA0D,KAAK,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAG5L,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC1C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,OAAO,kCAAkC,CAAC;IAC1D,OAAO,EAAE,uBAAuB,CAAC;IACjC,YAAY,EAAE,4BAA4B,CAAC;IAC3C,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAC;AAEtG,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC1C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAiQD,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,2BAAgC,GAAG,0BAA0B,CAgC/G"}
|
package/dist/consumer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { MACHINES_CONSUMER_CONTRACT_VERSION, MACHINES_PACKAGE_NAME, discoverMachineTopology, getLocalMachineTopology, resolveMachineRoute, resolveMachineWorkspace, } from "./topology.js";
|
|
2
|
-
export type { MachineRouteConfidence, MachineRouteHint, MachineRouteKind, MachineRouteOptions, MachineRouteResolution, MachineTopology, MachineTopologyEntry, MachineTopologyOptions, MachineWorkspaceAuthStatus, MachineWorkspaceOptions, MachineWorkspacePath, MachineWorkspacePathSource, MachineWorkspaceProject, MachineWorkspaceResolution, MachineWorkspaceTrustStatus, MachinesConsumerCapabilities, MachinesContractPackage, TopologyCommandResult, TopologyCommandRunner, } from "./topology.js";
|
|
1
|
+
export { MACHINES_CONSUMER_CAPABILITIES, MACHINES_CONSUMER_CONTRACT, MACHINES_CONSUMER_ENTRYPOINT, MACHINES_CONSUMER_CONTRACT_VERSION, MACHINES_PACKAGE_NAME, discoverMachineTopology, getMachinesConsumerCapabilities, getLocalMachineTopology, resolveMachineRoute, resolveMachineWorkspace, } from "./topology.js";
|
|
2
|
+
export type { MachineRouteConfidence, MachineRouteHint, MachineRouteKind, MachineRouteOptions, MachineRouteResolution, MachineTopology, MachineTopologyEntry, MachineTopologyOptions, MachineWorkspaceAuthStatus, MachineWorkspaceOptions, MachineWorkspacePath, MachineWorkspacePathSource, MachineWorkspaceProject, MachineWorkspaceResolution, MachineWorkspaceTrustStatus, MachinesConsumerContract, MachinesConsumerEnvelope, MachinesConsumerCapabilities, MachinesContractPackage, TopologyCommandResult, TopologyCommandRunner, } from "./topology.js";
|
|
3
3
|
export { checkMachineCompatibility, } from "./compatibility.js";
|
|
4
4
|
export type { CompatibilityCheck, CompatibilityCommandRunner, CompatibilityCommandSpec, CompatibilityPackageSpec, CompatibilitySource, CompatibilityStatus, CompatibilityWorkspaceSpec, MachineCompatibilityOptions, MachineCompatibilityReport, } from "./compatibility.js";
|
|
5
5
|
export { resolveMachineCommand, runMachineCommand, } from "./remote.js";
|
package/dist/consumer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
|
package/dist/consumer.js
CHANGED
|
@@ -4311,6 +4311,40 @@ function getPackageVersion() {
|
|
|
4311
4311
|
// src/topology.ts
|
|
4312
4312
|
var MACHINES_CONSUMER_CONTRACT_VERSION = 1;
|
|
4313
4313
|
var MACHINES_PACKAGE_NAME = "@hasna/machines";
|
|
4314
|
+
var MACHINES_CONSUMER_ENTRYPOINT = "@hasna/machines/consumer";
|
|
4315
|
+
var MACHINES_CONSUMER_CAPABILITIES = {
|
|
4316
|
+
topology: true,
|
|
4317
|
+
compatibility: true,
|
|
4318
|
+
route_resolution: true,
|
|
4319
|
+
cli_json_fallback: true,
|
|
4320
|
+
workspace_path_mapping: true
|
|
4321
|
+
};
|
|
4322
|
+
var MACHINES_CONSUMER_CONTRACT = {
|
|
4323
|
+
schema_version: MACHINES_CONSUMER_CONTRACT_VERSION,
|
|
4324
|
+
package_name: MACHINES_PACKAGE_NAME,
|
|
4325
|
+
entrypoint: MACHINES_CONSUMER_ENTRYPOINT,
|
|
4326
|
+
capabilities: MACHINES_CONSUMER_CAPABILITIES,
|
|
4327
|
+
envelopes: ["topology", "route", "workspace", "compatibility"],
|
|
4328
|
+
stable_exports: [
|
|
4329
|
+
"MACHINES_CONSUMER_CONTRACT",
|
|
4330
|
+
"MACHINES_CONSUMER_CONTRACT_VERSION",
|
|
4331
|
+
"MACHINES_CONSUMER_CAPABILITIES",
|
|
4332
|
+
"MACHINES_PACKAGE_NAME",
|
|
4333
|
+
"discoverMachineTopology",
|
|
4334
|
+
"getLocalMachineTopology",
|
|
4335
|
+
"resolveMachineRoute",
|
|
4336
|
+
"resolveMachineWorkspace",
|
|
4337
|
+
"checkMachineCompatibility",
|
|
4338
|
+
"resolveMachineCommand",
|
|
4339
|
+
"runMachineCommand",
|
|
4340
|
+
"buildSshCommand",
|
|
4341
|
+
"resolveSshTarget",
|
|
4342
|
+
"getPackageVersion"
|
|
4343
|
+
]
|
|
4344
|
+
};
|
|
4345
|
+
function getMachinesConsumerCapabilities() {
|
|
4346
|
+
return { ...MACHINES_CONSUMER_CAPABILITIES };
|
|
4347
|
+
}
|
|
4314
4348
|
function normalizePlatform2(value = platform2()) {
|
|
4315
4349
|
const normalized = value.toLowerCase();
|
|
4316
4350
|
if (normalized === "darwin" || normalized === "macos")
|
|
@@ -4511,13 +4545,7 @@ function discoverMachineTopology(options = {}) {
|
|
|
4511
4545
|
name: MACHINES_PACKAGE_NAME,
|
|
4512
4546
|
version: getPackageVersion()
|
|
4513
4547
|
},
|
|
4514
|
-
capabilities:
|
|
4515
|
-
topology: true,
|
|
4516
|
-
compatibility: true,
|
|
4517
|
-
route_resolution: true,
|
|
4518
|
-
cli_json_fallback: true,
|
|
4519
|
-
workspace_path_mapping: true
|
|
4520
|
-
},
|
|
4548
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
4521
4549
|
generated_at: now.toISOString(),
|
|
4522
4550
|
local_machine_id: localMachineId,
|
|
4523
4551
|
local_hostname: hostname3(),
|
|
@@ -5168,12 +5196,7 @@ function checkMachineCompatibility(options = {}) {
|
|
|
5168
5196
|
name: MACHINES_PACKAGE_NAME,
|
|
5169
5197
|
version: getPackageVersion()
|
|
5170
5198
|
},
|
|
5171
|
-
capabilities:
|
|
5172
|
-
topology: true,
|
|
5173
|
-
compatibility: true,
|
|
5174
|
-
route_resolution: true,
|
|
5175
|
-
cli_json_fallback: true
|
|
5176
|
-
},
|
|
5199
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
5177
5200
|
ok: summary.fail === 0,
|
|
5178
5201
|
machine_id: machineId,
|
|
5179
5202
|
source: checks[0]?.source ?? "local",
|
|
@@ -5189,10 +5212,14 @@ export {
|
|
|
5189
5212
|
resolveMachineRoute,
|
|
5190
5213
|
resolveMachineCommand,
|
|
5191
5214
|
getPackageVersion,
|
|
5215
|
+
getMachinesConsumerCapabilities,
|
|
5192
5216
|
getLocalMachineTopology,
|
|
5193
5217
|
discoverMachineTopology,
|
|
5194
5218
|
checkMachineCompatibility,
|
|
5195
5219
|
buildSshCommand,
|
|
5196
5220
|
MACHINES_PACKAGE_NAME,
|
|
5197
|
-
|
|
5221
|
+
MACHINES_CONSUMER_ENTRYPOINT,
|
|
5222
|
+
MACHINES_CONSUMER_CONTRACT_VERSION,
|
|
5223
|
+
MACHINES_CONSUMER_CONTRACT,
|
|
5224
|
+
MACHINES_CONSUMER_CAPABILITIES
|
|
5198
5225
|
};
|
package/dist/index.js
CHANGED
|
@@ -11111,6 +11111,40 @@ function getPackageVersion() {
|
|
|
11111
11111
|
// src/topology.ts
|
|
11112
11112
|
var MACHINES_CONSUMER_CONTRACT_VERSION = 1;
|
|
11113
11113
|
var MACHINES_PACKAGE_NAME = "@hasna/machines";
|
|
11114
|
+
var MACHINES_CONSUMER_ENTRYPOINT = "@hasna/machines/consumer";
|
|
11115
|
+
var MACHINES_CONSUMER_CAPABILITIES = {
|
|
11116
|
+
topology: true,
|
|
11117
|
+
compatibility: true,
|
|
11118
|
+
route_resolution: true,
|
|
11119
|
+
cli_json_fallback: true,
|
|
11120
|
+
workspace_path_mapping: true
|
|
11121
|
+
};
|
|
11122
|
+
var MACHINES_CONSUMER_CONTRACT = {
|
|
11123
|
+
schema_version: MACHINES_CONSUMER_CONTRACT_VERSION,
|
|
11124
|
+
package_name: MACHINES_PACKAGE_NAME,
|
|
11125
|
+
entrypoint: MACHINES_CONSUMER_ENTRYPOINT,
|
|
11126
|
+
capabilities: MACHINES_CONSUMER_CAPABILITIES,
|
|
11127
|
+
envelopes: ["topology", "route", "workspace", "compatibility"],
|
|
11128
|
+
stable_exports: [
|
|
11129
|
+
"MACHINES_CONSUMER_CONTRACT",
|
|
11130
|
+
"MACHINES_CONSUMER_CONTRACT_VERSION",
|
|
11131
|
+
"MACHINES_CONSUMER_CAPABILITIES",
|
|
11132
|
+
"MACHINES_PACKAGE_NAME",
|
|
11133
|
+
"discoverMachineTopology",
|
|
11134
|
+
"getLocalMachineTopology",
|
|
11135
|
+
"resolveMachineRoute",
|
|
11136
|
+
"resolveMachineWorkspace",
|
|
11137
|
+
"checkMachineCompatibility",
|
|
11138
|
+
"resolveMachineCommand",
|
|
11139
|
+
"runMachineCommand",
|
|
11140
|
+
"buildSshCommand",
|
|
11141
|
+
"resolveSshTarget",
|
|
11142
|
+
"getPackageVersion"
|
|
11143
|
+
]
|
|
11144
|
+
};
|
|
11145
|
+
function getMachinesConsumerCapabilities() {
|
|
11146
|
+
return { ...MACHINES_CONSUMER_CAPABILITIES };
|
|
11147
|
+
}
|
|
11114
11148
|
function normalizePlatform2(value = platform2()) {
|
|
11115
11149
|
const normalized = value.toLowerCase();
|
|
11116
11150
|
if (normalized === "darwin" || normalized === "macos")
|
|
@@ -11311,13 +11345,7 @@ function discoverMachineTopology(options = {}) {
|
|
|
11311
11345
|
name: MACHINES_PACKAGE_NAME,
|
|
11312
11346
|
version: getPackageVersion()
|
|
11313
11347
|
},
|
|
11314
|
-
capabilities:
|
|
11315
|
-
topology: true,
|
|
11316
|
-
compatibility: true,
|
|
11317
|
-
route_resolution: true,
|
|
11318
|
-
cli_json_fallback: true,
|
|
11319
|
-
workspace_path_mapping: true
|
|
11320
|
-
},
|
|
11348
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
11321
11349
|
generated_at: now.toISOString(),
|
|
11322
11350
|
local_machine_id: localMachineId,
|
|
11323
11351
|
local_hostname: hostname3(),
|
|
@@ -11968,12 +11996,7 @@ function checkMachineCompatibility(options = {}) {
|
|
|
11968
11996
|
name: MACHINES_PACKAGE_NAME,
|
|
11969
11997
|
version: getPackageVersion()
|
|
11970
11998
|
},
|
|
11971
|
-
capabilities:
|
|
11972
|
-
topology: true,
|
|
11973
|
-
compatibility: true,
|
|
11974
|
-
route_resolution: true,
|
|
11975
|
-
cli_json_fallback: true
|
|
11976
|
-
},
|
|
11999
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
11977
12000
|
ok: summary.fail === 0,
|
|
11978
12001
|
machine_id: machineId,
|
|
11979
12002
|
source: checks[0]?.source ?? "local",
|
|
@@ -22738,6 +22761,7 @@ export {
|
|
|
22738
22761
|
getNotificationsPath,
|
|
22739
22762
|
getManifestPath,
|
|
22740
22763
|
getManifestMachine,
|
|
22764
|
+
getMachinesConsumerCapabilities,
|
|
22741
22765
|
getLocalMachineTopology,
|
|
22742
22766
|
getLocalMachineId,
|
|
22743
22767
|
getDefaultNotificationConfig,
|
|
@@ -22786,7 +22810,10 @@ export {
|
|
|
22786
22810
|
MACHINES_STORAGE_FALLBACK_ENV,
|
|
22787
22811
|
MACHINES_STORAGE_ENV,
|
|
22788
22812
|
MACHINES_PACKAGE_NAME,
|
|
22813
|
+
MACHINES_CONSUMER_ENTRYPOINT,
|
|
22789
22814
|
MACHINES_CONSUMER_CONTRACT_VERSION,
|
|
22815
|
+
MACHINES_CONSUMER_CONTRACT,
|
|
22816
|
+
MACHINES_CONSUMER_CAPABILITIES,
|
|
22790
22817
|
MACHINES_BACKUP_PREFIX_FALLBACK_ENV,
|
|
22791
22818
|
MACHINES_BACKUP_PREFIX_ENV,
|
|
22792
22819
|
MACHINES_BACKUP_BUCKET_FALLBACK_ENV,
|
package/dist/mcp/index.js
CHANGED
|
@@ -4370,6 +4370,16 @@ import { arch as arch2, hostname as hostname3, platform as platform2, userInfo a
|
|
|
4370
4370
|
import { spawnSync } from "child_process";
|
|
4371
4371
|
var MACHINES_CONSUMER_CONTRACT_VERSION = 1;
|
|
4372
4372
|
var MACHINES_PACKAGE_NAME = "@hasna/machines";
|
|
4373
|
+
var MACHINES_CONSUMER_CAPABILITIES = {
|
|
4374
|
+
topology: true,
|
|
4375
|
+
compatibility: true,
|
|
4376
|
+
route_resolution: true,
|
|
4377
|
+
cli_json_fallback: true,
|
|
4378
|
+
workspace_path_mapping: true
|
|
4379
|
+
};
|
|
4380
|
+
function getMachinesConsumerCapabilities() {
|
|
4381
|
+
return { ...MACHINES_CONSUMER_CAPABILITIES };
|
|
4382
|
+
}
|
|
4373
4383
|
function normalizePlatform2(value = platform2()) {
|
|
4374
4384
|
const normalized = value.toLowerCase();
|
|
4375
4385
|
if (normalized === "darwin" || normalized === "macos")
|
|
@@ -4570,13 +4580,7 @@ function discoverMachineTopology(options = {}) {
|
|
|
4570
4580
|
name: MACHINES_PACKAGE_NAME,
|
|
4571
4581
|
version: getPackageVersion()
|
|
4572
4582
|
},
|
|
4573
|
-
capabilities:
|
|
4574
|
-
topology: true,
|
|
4575
|
-
compatibility: true,
|
|
4576
|
-
route_resolution: true,
|
|
4577
|
-
cli_json_fallback: true,
|
|
4578
|
-
workspace_path_mapping: true
|
|
4579
|
-
},
|
|
4583
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
4580
4584
|
generated_at: now.toISOString(),
|
|
4581
4585
|
local_machine_id: localMachineId,
|
|
4582
4586
|
local_hostname: hostname3(),
|
|
@@ -6582,12 +6586,7 @@ function checkMachineCompatibility(options = {}) {
|
|
|
6582
6586
|
name: MACHINES_PACKAGE_NAME,
|
|
6583
6587
|
version: getPackageVersion()
|
|
6584
6588
|
},
|
|
6585
|
-
capabilities:
|
|
6586
|
-
topology: true,
|
|
6587
|
-
compatibility: true,
|
|
6588
|
-
route_resolution: true,
|
|
6589
|
-
cli_json_fallback: true
|
|
6590
|
-
},
|
|
6589
|
+
capabilities: getMachinesConsumerCapabilities(),
|
|
6591
6590
|
ok: summary.fail === 0,
|
|
6592
6591
|
machine_id: machineId,
|
|
6593
6592
|
source: checks[0]?.source ?? "local",
|
package/dist/topology.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { MachinePlatform } from "./types.js";
|
|
2
2
|
export declare const MACHINES_CONSUMER_CONTRACT_VERSION = 1;
|
|
3
3
|
export declare const MACHINES_PACKAGE_NAME = "@hasna/machines";
|
|
4
|
+
export declare const MACHINES_CONSUMER_ENTRYPOINT = "@hasna/machines/consumer";
|
|
4
5
|
export interface TopologyCommandResult {
|
|
5
6
|
stdout: string;
|
|
6
7
|
stderr: string;
|
|
@@ -54,6 +55,18 @@ export interface MachinesConsumerCapabilities {
|
|
|
54
55
|
cli_json_fallback: true;
|
|
55
56
|
workspace_path_mapping?: true;
|
|
56
57
|
}
|
|
58
|
+
export type MachinesConsumerEnvelope = "topology" | "route" | "workspace" | "compatibility";
|
|
59
|
+
export interface MachinesConsumerContract {
|
|
60
|
+
schema_version: typeof MACHINES_CONSUMER_CONTRACT_VERSION;
|
|
61
|
+
package_name: typeof MACHINES_PACKAGE_NAME;
|
|
62
|
+
entrypoint: typeof MACHINES_CONSUMER_ENTRYPOINT;
|
|
63
|
+
capabilities: MachinesConsumerCapabilities;
|
|
64
|
+
envelopes: MachinesConsumerEnvelope[];
|
|
65
|
+
stable_exports: string[];
|
|
66
|
+
}
|
|
67
|
+
export declare const MACHINES_CONSUMER_CAPABILITIES: MachinesConsumerCapabilities;
|
|
68
|
+
export declare const MACHINES_CONSUMER_CONTRACT: MachinesConsumerContract;
|
|
69
|
+
export declare function getMachinesConsumerCapabilities(): MachinesConsumerCapabilities;
|
|
57
70
|
export interface MachineTopology {
|
|
58
71
|
schema_version: typeof MACHINES_CONSUMER_CONTRACT_VERSION;
|
|
59
72
|
package: MachinesContractPackage;
|
package/dist/topology.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../src/topology.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnE,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../src/topology.ts"],"names":[],"mappings":"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"}
|