@telorun/cli 0.3.3 → 0.4.0
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 +51 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/install.d.ts +6 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +104 -0
- package/dist/commands/install.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Command-line interface for Telo kernel: loads and runs YAML manifests locally with watch mode and module publishing"
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Telo CLI
|
|
2
6
|
|
|
3
7
|
The Telo CLI is the command-line interface for the Telo kernel. It loads YAML manifests and runs them on your local machine.
|
|
@@ -107,6 +111,53 @@ On success:
|
|
|
107
111
|
|
|
108
112
|
---
|
|
109
113
|
|
|
114
|
+
### `telo install <paths..>`
|
|
115
|
+
|
|
116
|
+
Pre-downloads every controller declared by a manifest and its transitive `Telo.Import`s into the on-disk cache. At runtime the kernel finds each controller already installed and skips the boot-time `npm install` — removing the startup delay and the network dependency from production deployments.
|
|
117
|
+
|
|
118
|
+
Installs run in parallel; failures are reported per controller and the command exits non-zero if any failed. Subsequent runs are idempotent — already-cached packages are skipped.
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
telo install ./apps/my-app/telo.yaml
|
|
122
|
+
telo install ./apps/a/telo.yaml ./apps/b/telo.yaml
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Environment:**
|
|
126
|
+
|
|
127
|
+
- `TELO_CACHE_DIR` — Absolute path to the on-disk cache root. Defaults to `~/.cache/telo` (shared across projects for a user). Override to pin the cache alongside the manifest when producing a self-contained bundle (e.g. a Docker image). The kernel at boot reads from the same variable, so set it in both the install step and the runtime environment.
|
|
128
|
+
|
|
129
|
+
**Example output:**
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Installing 20 controllers for apps/my-app/telo.yaml
|
|
133
|
+
✓ pkg:npm/@telorun/http-server@0.2.1?local_path=./nodejs#http-server
|
|
134
|
+
✓ pkg:npm/@telorun/http-client@0.1.6?local_path=./nodejs#http-client
|
|
135
|
+
...
|
|
136
|
+
|
|
137
|
+
✓ 20 installed in 3.2s
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Typical Dockerfile usage:**
|
|
141
|
+
|
|
142
|
+
```dockerfile
|
|
143
|
+
FROM telorun/telo:nodejs as build
|
|
144
|
+
WORKDIR /srv
|
|
145
|
+
ENV TELO_CACHE_DIR=/srv/.telo-cache
|
|
146
|
+
COPY apps/my-app/telo.yaml apps/my-app/telo.yaml
|
|
147
|
+
COPY modules/ modules/
|
|
148
|
+
RUN telo install apps/my-app/telo.yaml
|
|
149
|
+
|
|
150
|
+
FROM telorun/telo:nodejs as production
|
|
151
|
+
WORKDIR /srv
|
|
152
|
+
ENV TELO_CACHE_DIR=/srv/.telo-cache
|
|
153
|
+
COPY --from=build /srv /srv
|
|
154
|
+
CMD ["apps/my-app/telo.yaml"]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
The build stage populates the cache; the production stage is a single `COPY` and does no network I/O at boot.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
110
161
|
### `telo [manifest]`
|
|
111
162
|
|
|
112
163
|
Load and run a Telo manifest.
|
package/dist/cli.js
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
import yargs from "yargs";
|
|
3
3
|
import { hideBin } from "yargs/helpers";
|
|
4
4
|
import { checkCommand } from "./commands/check.js";
|
|
5
|
+
import { installCommand } from "./commands/install.js";
|
|
5
6
|
import { publishCommand } from "./commands/publish.js";
|
|
6
7
|
import { runCommand } from "./commands/run.js";
|
|
7
8
|
let cli = yargs(hideBin(process.argv))
|
|
8
9
|
.scriptName("telo")
|
|
9
10
|
.usage("$0 <command> [options]");
|
|
10
11
|
cli = checkCommand(cli);
|
|
12
|
+
cli = installCommand(cli);
|
|
11
13
|
cli = publishCommand(cli);
|
|
12
14
|
cli = runCommand(cli);
|
|
13
15
|
cli
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC,UAAU,CAAC,MAAM,CAAC;KAClB,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAEnC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAe,CAAC;AACtC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAe,CAAC;AAEpC,GAAG;KACA,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,wBAAwB;CACnC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,8BAA8B;CACzC,CAAC;KACD,MAAM,CAAC,kBAAkB,EAAE;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,4BAA4B;CACvC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,2CAA2C;CACtD,CAAC;KACD,aAAa,CAAC,CAAC,EAAE,yCAAyC,CAAC;KAC3D,MAAM,EAAE;KACR,IAAI,EAAE;KACN,OAAO,EAAE;KACT,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC,UAAU,CAAC,MAAM,CAAC;KAClB,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAEnC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAe,CAAC;AACtC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAe,CAAC;AAEpC,GAAG;KACA,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,wBAAwB;CACnC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,8BAA8B;CACzC,CAAC;KACD,MAAM,CAAC,kBAAkB,EAAE;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,4BAA4B;CACvC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,2CAA2C;CACtD,CAAC;KACD,aAAa,CAAC,CAAC,EAAE,yCAAyC,CAAC;KAC3D,MAAM,EAAE;KACR,IAAI,EAAE;KACN,OAAO,EAAE;KACT,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAyGlC,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAehD"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Loader } from "@telorun/analyzer";
|
|
2
|
+
import { ControllerLoader, LocalFileAdapter } from "@telorun/kernel";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { createLogger } from "../logger.js";
|
|
5
|
+
/**
|
|
6
|
+
* Walks the manifest graph (following Telo.Import), collects every
|
|
7
|
+
* Telo.Definition with a `controllers` array, and dedupes by the exact PURL
|
|
8
|
+
* list so the ControllerLoader cache is hit only once per unique package.
|
|
9
|
+
*/
|
|
10
|
+
function collectControllerJobs(manifests) {
|
|
11
|
+
const byKey = new Map();
|
|
12
|
+
for (const m of manifests) {
|
|
13
|
+
if (m.kind !== "Telo.Definition")
|
|
14
|
+
continue;
|
|
15
|
+
const controllers = m.controllers;
|
|
16
|
+
if (!controllers?.length)
|
|
17
|
+
continue;
|
|
18
|
+
const baseUri = m.metadata?.source ?? "";
|
|
19
|
+
// Cache key mirrors ControllerLoader's own cache key (first PURL), plus the
|
|
20
|
+
// baseUri so two definitions with the same PURL but different local_path
|
|
21
|
+
// resolution roots are treated as independent jobs.
|
|
22
|
+
const key = `${controllers[0]}|${baseUri}`;
|
|
23
|
+
const label = controllers[0];
|
|
24
|
+
const existing = byKey.get(key);
|
|
25
|
+
const ref = { kind: m.kind, name: m.metadata?.name ?? "(unnamed)" };
|
|
26
|
+
if (existing) {
|
|
27
|
+
existing.definitions.push(ref);
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
byKey.set(key, { purls: controllers, baseUri, label, definitions: [ref] });
|
|
31
|
+
}
|
|
32
|
+
return Array.from(byKey.values());
|
|
33
|
+
}
|
|
34
|
+
async function installOne(inputPath, log) {
|
|
35
|
+
const isUrl = inputPath.startsWith("http://") || inputPath.startsWith("https://");
|
|
36
|
+
const entryPath = isUrl ? inputPath : path.resolve(process.cwd(), inputPath);
|
|
37
|
+
const displayPath = isUrl ? entryPath : path.relative(process.cwd(), entryPath);
|
|
38
|
+
const loader = new Loader([new LocalFileAdapter()]);
|
|
39
|
+
let manifests;
|
|
40
|
+
try {
|
|
41
|
+
manifests = await loader.loadManifests(entryPath);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
console.error(`${displayPath} ${log.error("error")} ` +
|
|
45
|
+
(err instanceof Error ? err.message : String(err)));
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const jobs = collectControllerJobs(manifests);
|
|
49
|
+
if (jobs.length === 0) {
|
|
50
|
+
console.log(log.ok("✓") + ` ${displayPath}: no controllers to install`);
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
console.log(`Installing ${jobs.length} controller${jobs.length !== 1 ? "s" : ""} for ${log.dim(displayPath)}`);
|
|
54
|
+
const controllerLoader = new ControllerLoader();
|
|
55
|
+
const started = Date.now();
|
|
56
|
+
const results = await Promise.allSettled(jobs.map((job) => controllerLoader.load(job.purls, job.baseUri)));
|
|
57
|
+
let failed = 0;
|
|
58
|
+
for (let i = 0; i < jobs.length; i++) {
|
|
59
|
+
const job = jobs[i];
|
|
60
|
+
const result = results[i];
|
|
61
|
+
if (result.status === "fulfilled") {
|
|
62
|
+
console.log(` ${log.ok("✓")} ${job.label}`);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
failed++;
|
|
66
|
+
const reason = result.reason;
|
|
67
|
+
const msg = reason instanceof Error ? reason.message : String(reason);
|
|
68
|
+
console.error(` ${log.error("✗")} ${job.label}`);
|
|
69
|
+
console.error(` ${log.dim(msg)}`);
|
|
70
|
+
for (const ref of job.definitions) {
|
|
71
|
+
console.error(` ${log.dim(`referenced by ${ref.kind} ${ref.name}`)}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const elapsed = ((Date.now() - started) / 1000).toFixed(1);
|
|
76
|
+
if (failed === 0) {
|
|
77
|
+
console.log(`\n${log.ok("✓")} ${jobs.length} installed in ${elapsed}s`);
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
console.log(`\n${log.error(`${failed} failed`)}, ${jobs.length - failed} installed in ${elapsed}s`);
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
export async function install(argv) {
|
|
84
|
+
const log = createLogger(false);
|
|
85
|
+
let failed = false;
|
|
86
|
+
for (const p of argv.paths) {
|
|
87
|
+
const ok = await installOne(p, log);
|
|
88
|
+
if (!ok)
|
|
89
|
+
failed = true;
|
|
90
|
+
}
|
|
91
|
+
if (failed)
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
export function installCommand(yargs) {
|
|
95
|
+
return yargs.command("install <paths..>", "Pre-download all controllers referenced by one or more Telo manifests into the local cache", (y) => y.positional("paths", {
|
|
96
|
+
describe: "Paths to YAML manifests, directories containing telo.yaml, or HTTP(S) URLs",
|
|
97
|
+
type: "string",
|
|
98
|
+
array: true,
|
|
99
|
+
demandOption: true,
|
|
100
|
+
}), async (argv) => {
|
|
101
|
+
await install(argv);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telorun/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Telo CLI - Command-line interface for the Telo runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"telo",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"yaml": "^2.8.3",
|
|
38
38
|
"yargs": "^17.7.2",
|
|
39
39
|
"@telorun/analyzer": "0.2.1",
|
|
40
|
-
"@telorun/kernel": "0.
|
|
40
|
+
"@telorun/kernel": "0.4.0",
|
|
41
41
|
"@telorun/sdk": "0.3.2"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|