@telorun/cli 0.21.0 → 0.23.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 CHANGED
@@ -123,7 +123,7 @@ Per-manifest scope means the whole `.telo/` tree is naturally portable: `COPY` t
123
123
 
124
124
  ```
125
125
  Installing 20 controllers for apps/my-app/telo.yaml
126
- ✓ pkg:npm/@telorun/http-server@0.8.0?local_path=./nodejs#http-server
126
+ ✓ pkg:npm/@telorun/http-server@0.8.1?local_path=./nodejs#http-server
127
127
  ✓ pkg:npm/@telorun/http-client@0.6.0?local_path=./nodejs#http-client
128
128
  ...
129
129
 
@@ -234,7 +234,7 @@ kind: Telo.Application
234
234
  metadata:
235
235
  name: Example
236
236
  imports:
237
- HttpServer: std/http-server@0.8.0
237
+ HttpServer: std/http-server@0.9.0
238
238
  JavaScript: std/javascript@0.4.1
239
239
  targets:
240
240
  - Server
package/dist/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import yargs from "yargs";
3
3
  import { hideBin } from "yargs/helpers";
4
+ import { celCommand } from "./commands/cel.js";
4
5
  import { checkCommand } from "./commands/check.js";
5
6
  import { installCommand } from "./commands/install.js";
6
7
  import { publishCommand } from "./commands/publish.js";
@@ -9,6 +10,7 @@ import { upgradeCommand } from "./commands/upgrade.js";
9
10
  let cli = yargs(hideBin(process.argv))
10
11
  .scriptName("telo")
11
12
  .usage("$0 <command> [options]");
13
+ cli = celCommand(cli);
12
14
  cli = checkCommand(cli);
13
15
  cli = installCommand(cli);
14
16
  cli = publishCommand(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,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,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;AACpC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AAExC,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,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,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;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,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,UAAU,CAAC,GAAG,CAAe,CAAC;AACpC,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;AACpC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AAExC,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,3 @@
1
+ import type { Argv } from "yargs";
2
+ export declare function celCommand(yargs: Argv): Argv;
3
+ //# sourceMappingURL=cel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cel.d.ts","sourceRoot":"","sources":["../../src/commands/cel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AA6DlC,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAkC5C"}
@@ -0,0 +1,74 @@
1
+ import { buildCelEnvironment, celFunctionCatalog } from "@telorun/templating";
2
+ import { nodeCelHandlers } from "@telorun/kernel";
3
+ /** JSON.stringify replacer: cel-js ints are BigInt, which JSON can't serialize. */
4
+ const bigintReplacer = (_k, v) => (typeof v === "bigint" ? Number(v) : v);
5
+ function printFunctions(asJson) {
6
+ const catalog = celFunctionCatalog();
7
+ if (asJson) {
8
+ console.log(JSON.stringify(catalog, null, 2));
9
+ return;
10
+ }
11
+ const byCategory = new Map();
12
+ for (const fn of catalog) {
13
+ const list = byCategory.get(fn.category) ?? [];
14
+ list.push(fn);
15
+ byCategory.set(fn.category, list);
16
+ }
17
+ for (const [category, fns] of byCategory) {
18
+ console.log(`\n${category}`);
19
+ for (const fn of fns) {
20
+ const tags = [
21
+ fn.hostBacked ? "host" : null,
22
+ fn.deterministic ? null : "non-deterministic",
23
+ ].filter(Boolean);
24
+ const suffix = tags.length ? ` [${tags.join(", ")}]` : "";
25
+ console.log(` ${fn.signature}${suffix}`);
26
+ console.log(` ${fn.summary}`);
27
+ }
28
+ }
29
+ console.log();
30
+ }
31
+ function evalExpression(expr, contextJson, asJson) {
32
+ let context;
33
+ try {
34
+ context = contextJson ? JSON.parse(contextJson) : {};
35
+ }
36
+ catch (err) {
37
+ console.error(`Invalid --context JSON: ${err instanceof Error ? err.message : String(err)}`);
38
+ process.exit(1);
39
+ }
40
+ // Real Node handlers so host-backed functions (sha256, base64, …) behave
41
+ // exactly as they would at runtime.
42
+ const env = buildCelEnvironment(nodeCelHandlers);
43
+ let result;
44
+ try {
45
+ result = env.parse(expr)(context);
46
+ }
47
+ catch (err) {
48
+ console.error(err instanceof Error ? err.message : String(err));
49
+ process.exit(1);
50
+ }
51
+ if (asJson) {
52
+ console.log(JSON.stringify(result, bigintReplacer, 2));
53
+ }
54
+ else {
55
+ console.log(typeof result === "bigint" ? result.toString() : result);
56
+ }
57
+ }
58
+ export function celCommand(yargs) {
59
+ return yargs.command("cel", "Inspect and evaluate Telo's CEL environment", (cel) => cel
60
+ .command("functions", "List the CEL standard-library functions available in manifests", (y) => y.option("json", { type: "boolean", default: false, describe: "Output as JSON" }), (argv) => printFunctions(Boolean(argv.json)))
61
+ .command("eval <expression>", "Evaluate a CEL expression (the body of a !cel scalar)", (y) => y
62
+ .positional("expression", {
63
+ describe: "CEL expression, e.g. \"now()\" or \"1 + 2\"",
64
+ type: "string",
65
+ demandOption: true,
66
+ })
67
+ .option("context", {
68
+ type: "string",
69
+ describe: 'JSON object of in-scope variables, e.g. \'{"variables":{"x":1}}\'',
70
+ })
71
+ .option("json", { type: "boolean", default: false, describe: "Output as JSON" }), (argv) => evalExpression(String(argv.expression), argv.context, Boolean(argv.json)))
72
+ .demandCommand(1, "Specify a cel subcommand: functions or eval"));
73
+ }
74
+ //# sourceMappingURL=cel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cel.js","sourceRoot":"","sources":["../../src/commands/cel.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.21.0",
3
+ "version": "0.23.0",
4
4
  "description": "Telo CLI - Command-line interface for the Telo runtime.",
5
5
  "keywords": [
6
6
  "telo",
@@ -34,11 +34,11 @@
34
34
  "dist"
35
35
  ],
36
36
  "dependencies": {
37
- "@telorun/analyzer": "0.19.1",
38
- "@telorun/ide-support": "0.4.19",
39
- "@telorun/kernel": "0.21.0",
40
- "@telorun/sdk": "0.21.0",
41
- "@telorun/templating": "0.5.0",
37
+ "@telorun/analyzer": "0.21.0",
38
+ "@telorun/ide-support": "0.4.21",
39
+ "@telorun/kernel": "0.23.0",
40
+ "@telorun/sdk": "0.23.0",
41
+ "@telorun/templating": "0.7.0",
42
42
  "dotenv": "^17.4.0",
43
43
  "minimatch": "^10.2.5",
44
44
  "packageurl-js": "^2.0.1",