@w6w/cli 0.1.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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +110 -0
  3. package/dist/bin/w6w.d.ts +22 -0
  4. package/dist/bin/w6w.d.ts.map +1 -0
  5. package/dist/bin/w6w.js +58 -0
  6. package/dist/bin/w6w.js.map +1 -0
  7. package/dist/mod.d.ts +131 -0
  8. package/dist/mod.d.ts.map +1 -0
  9. package/dist/mod.js +257 -0
  10. package/dist/mod.js.map +1 -0
  11. package/dist/src/args.d.ts +79 -0
  12. package/dist/src/args.d.ts.map +1 -0
  13. package/dist/src/args.js +130 -0
  14. package/dist/src/args.js.map +1 -0
  15. package/dist/src/client.d.ts +90 -0
  16. package/dist/src/client.d.ts.map +1 -0
  17. package/dist/src/client.js +172 -0
  18. package/dist/src/client.js.map +1 -0
  19. package/dist/src/commands/connections.d.ts +13 -0
  20. package/dist/src/commands/connections.d.ts.map +1 -0
  21. package/dist/src/commands/connections.js +30 -0
  22. package/dist/src/commands/connections.js.map +1 -0
  23. package/dist/src/commands/documents.d.ts +34 -0
  24. package/dist/src/commands/documents.d.ts.map +1 -0
  25. package/dist/src/commands/documents.js +179 -0
  26. package/dist/src/commands/documents.js.map +1 -0
  27. package/dist/src/commands/index.d.ts +27 -0
  28. package/dist/src/commands/index.d.ts.map +1 -0
  29. package/dist/src/commands/index.js +39 -0
  30. package/dist/src/commands/index.js.map +1 -0
  31. package/dist/src/commands/me.d.ts +29 -0
  32. package/dist/src/commands/me.d.ts.map +1 -0
  33. package/dist/src/commands/me.js +52 -0
  34. package/dist/src/commands/me.js.map +1 -0
  35. package/dist/src/commands/run.d.ts +24 -0
  36. package/dist/src/commands/run.d.ts.map +1 -0
  37. package/dist/src/commands/run.js +78 -0
  38. package/dist/src/commands/run.js.map +1 -0
  39. package/dist/src/commands/shared.d.ts +117 -0
  40. package/dist/src/commands/shared.d.ts.map +1 -0
  41. package/dist/src/commands/shared.js +152 -0
  42. package/dist/src/commands/shared.js.map +1 -0
  43. package/dist/src/commands/vars.d.ts +59 -0
  44. package/dist/src/commands/vars.d.ts.map +1 -0
  45. package/dist/src/commands/vars.js +216 -0
  46. package/dist/src/commands/vars.js.map +1 -0
  47. package/dist/src/commands/workflows.d.ts +13 -0
  48. package/dist/src/commands/workflows.d.ts.map +1 -0
  49. package/dist/src/commands/workflows.js +75 -0
  50. package/dist/src/commands/workflows.js.map +1 -0
  51. package/dist/src/exit.d.ts +51 -0
  52. package/dist/src/exit.d.ts.map +1 -0
  53. package/dist/src/exit.js +94 -0
  54. package/dist/src/exit.js.map +1 -0
  55. package/dist/src/help.d.ts +48 -0
  56. package/dist/src/help.d.ts.map +1 -0
  57. package/dist/src/help.generated.d.ts +88 -0
  58. package/dist/src/help.generated.d.ts.map +1 -0
  59. package/dist/src/help.generated.js +988 -0
  60. package/dist/src/help.generated.js.map +1 -0
  61. package/dist/src/help.js +128 -0
  62. package/dist/src/help.js.map +1 -0
  63. package/dist/src/output.d.ts +84 -0
  64. package/dist/src/output.d.ts.map +1 -0
  65. package/dist/src/output.js +94 -0
  66. package/dist/src/output.js.map +1 -0
  67. package/dist/src/runtime.d.ts +37 -0
  68. package/dist/src/runtime.d.ts.map +1 -0
  69. package/dist/src/runtime.js +57 -0
  70. package/dist/src/runtime.js.map +1 -0
  71. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.generated.js","sourceRoot":"","sources":["../../src/help.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * The help renderer.
3
+ *
4
+ * `--help` is the CLI's documentation — not a pointer to documentation, the thing
5
+ * itself. So it resolves at all three levels (root, group, command), it never
6
+ * authenticates, it never reads configuration, it never makes a network call, and
7
+ * nothing in this file does any I/O at all: every function here takes a tree and
8
+ * returns a string. The caller decides whether that string goes to stdout with
9
+ * exit 0 (help was asked for) or to stderr with exit 1 (the invocation was
10
+ * unknown or incomplete).
11
+ *
12
+ * The tree itself is generated from the shared wrapper surface contract — see
13
+ * `scripts/gen-help.ts`. This file only lays it out.
14
+ *
15
+ * @module
16
+ */
17
+ import { HELP_TREE } from "./help.generated.js";
18
+ /** The column descriptions start in, matching `docs/cli.md`. */
19
+ const LABEL_WIDTH = 22;
20
+ /** Where prose wraps. Narrower than the 100-column source limit, on purpose. */
21
+ const PROSE_WIDTH = 76;
22
+ function row(label, description) {
23
+ return ` ${label.padEnd(LABEL_WIDTH)} ${description}`.trimEnd();
24
+ }
25
+ function wrap(text, width = PROSE_WIDTH) {
26
+ const lines = [];
27
+ let current = "";
28
+ for (const word of text.split(/\s+/)) {
29
+ if (current === "") {
30
+ current = word;
31
+ }
32
+ else if (`${current} ${word}`.length <= width) {
33
+ current = `${current} ${word}`;
34
+ }
35
+ else {
36
+ lines.push(current);
37
+ current = word;
38
+ }
39
+ }
40
+ if (current !== "")
41
+ lines.push(current);
42
+ return lines;
43
+ }
44
+ function section(title, lines, into) {
45
+ if (lines.length === 0)
46
+ return;
47
+ into.push("", title, ...lines);
48
+ }
49
+ /**
50
+ * Resolves a command path against the tree.
51
+ *
52
+ * Handles the `w6w info` style aliases declared by the contract, so an alias
53
+ * prints the help of the command it stands for rather than a second copy.
54
+ */
55
+ export function resolve(path, tree = HELP_TREE) {
56
+ if (path.length === 0)
57
+ return { kind: "root" };
58
+ const matches = (candidate, against) => candidate.length === against.length && candidate.every((token, i) => token === against[i]);
59
+ const pathsOf = (command) => [command.path, ...command.aliases];
60
+ for (const command of tree.commands) {
61
+ if (pathsOf(command).some((candidate) => matches(candidate, path))) {
62
+ return { kind: "command", command, group: null };
63
+ }
64
+ }
65
+ const group = tree.groups.find((candidate) => candidate.name === path[0]) ?? null;
66
+ if (!group)
67
+ return { kind: "unknown", token: path[0], group: null };
68
+ if (path.length === 1)
69
+ return { kind: "group", group };
70
+ for (const command of group.commands) {
71
+ if (pathsOf(command).some((candidate) => matches(candidate, path))) {
72
+ return { kind: "command", command, group };
73
+ }
74
+ }
75
+ return { kind: "unknown", token: path[1], group };
76
+ }
77
+ /** Root help: what w6w is, its command groups, and the global flags. */
78
+ export function renderRootHelp(tree = HELP_TREE) {
79
+ const lines = [`${tree.binary} — ${tree.tagline}`];
80
+ section("USAGE", [` ${tree.usage}`], lines);
81
+ section("COMMANDS", [
82
+ ...tree.commands.map((command) => row(command.name, command.short)),
83
+ ...tree.groups.map((group) => row(group.name, group.summary)),
84
+ ], lines);
85
+ section("GLOBAL OPTIONS", tree.globalFlags.map((flag) => row(flag.display, flag.description)), lines);
86
+ section("EXAMPLES", tree.examples.map((example) => ` ${example}`), lines);
87
+ lines.push("", ` Docs: ${tree.docsUrl}`);
88
+ return lines.join("\n");
89
+ }
90
+ /** Group help: the commands in that group, and nothing else. */
91
+ export function renderGroupHelp(group, tree = HELP_TREE) {
92
+ const lines = [`${tree.binary} ${group.name} — ${group.headline}`];
93
+ section("USAGE", [` ${group.usage}`], lines);
94
+ section("COMMANDS", group.commands.map((command) => row(command.name, command.short)), lines);
95
+ section("OPTIONS", group.options.map((param) => row(param.display, param.description)), lines);
96
+ section("EXAMPLES", group.examples.map((example) => ` ${example}`), lines);
97
+ return lines.join("\n");
98
+ }
99
+ /** Command help: summary, usage, arguments, flags, and a runnable example. */
100
+ export function renderCommandHelp(command, tree = HELP_TREE) {
101
+ const args = command.params.filter((param) => param.kind === "argument");
102
+ const flags = command.params.filter((param) => param.kind === "flag");
103
+ const lines = [`${tree.binary} ${command.path.join(" ")} — ${command.headline}`];
104
+ section("USAGE", [` ${command.usage}`], lines);
105
+ section("ARGUMENTS", args.map((param) => row(param.display, param.description)), lines);
106
+ section("OPTIONS", flags.map((param) => row(param.display, param.description)), lines);
107
+ section("ALIASES", command.aliases.map((alias) => ` ${tree.binary} ${alias.join(" ")}`), lines);
108
+ section("EXAMPLES", command.examples.map((example) => ` ${example}`), lines);
109
+ section("NOTES", command.notes.flatMap((note, index) => {
110
+ const body = wrap(note).map((line) => ` ${line}`);
111
+ return index === 0 ? body : ["", ...body];
112
+ }), lines);
113
+ return lines.join("\n");
114
+ }
115
+ /** Renders whichever level a resolution landed on. */
116
+ export function renderHelp(resolution, tree = HELP_TREE) {
117
+ switch (resolution.kind) {
118
+ case "command":
119
+ return renderCommandHelp(resolution.command, tree);
120
+ case "group":
121
+ return renderGroupHelp(resolution.group, tree);
122
+ case "unknown":
123
+ return resolution.group ? renderGroupHelp(resolution.group, tree) : renderRootHelp(tree);
124
+ default:
125
+ return renderRootHelp(tree);
126
+ }
127
+ }
128
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * The output renderer — one place that decides what a command's answer looks
3
+ * like, and which stream it lands on.
4
+ *
5
+ * Three rules, and every command inherits all three by writing through this
6
+ * module instead of touching the writer directly:
7
+ *
8
+ * 1. **`--json` prints the payload and nothing else.** No banner, no progress
9
+ * line, no "done" — the point of the flag is that the output goes into a pipe.
10
+ * Anything a human would have wanted to read is suppressed, not reworded.
11
+ * 2. **Errors go to stderr. Always.** So `--json` output stays parseable even
12
+ * when the command failed, and so `w6w … > out.json` never quietly writes an
13
+ * error message into a file something else is going to read as data.
14
+ * 3. **Colour is opt-out three ways** — `--no-color`, a `NO_COLOR` environment
15
+ * variable, and a stdout that is not a terminal — and it is off under `--json`
16
+ * unconditionally, because an escape sequence in a JSON document is a bug.
17
+ *
18
+ * @module
19
+ */
20
+ import { type EnvReader } from "./client.ts";
21
+ import type { CliIo } from "./runtime.ts";
22
+ /**
23
+ * The conventional opt-out (https://no-color.org). Any non-blank value disables
24
+ * colour; a blank one is treated as absent, exactly like every other environment
25
+ * variable this CLI reads.
26
+ */
27
+ export declare const ENV_NO_COLOR = "NO_COLOR";
28
+ /** Text decorations. Every one is the identity function when colour is off. */
29
+ export interface Styles {
30
+ bold(text: string): string;
31
+ dim(text: string): string;
32
+ red(text: string): string;
33
+ green(text: string): string;
34
+ yellow(text: string): string;
35
+ }
36
+ /** How a command's output should be rendered. */
37
+ export interface OutputOptions {
38
+ /** `--json`: print the payload as JSON and nothing else. */
39
+ json?: boolean;
40
+ /** `--no-color`: never emit escape sequences. */
41
+ noColor?: boolean;
42
+ /** Whether stdout is a terminal. Defaults to `false` — the safe assumption for a pipe. */
43
+ isTty?: boolean;
44
+ /** The environment seam, for `NO_COLOR`. Defaults to an empty environment. */
45
+ env?: EnvReader;
46
+ }
47
+ /** What a command writes through. */
48
+ export interface Output {
49
+ /** Whether `--json` is in force. */
50
+ readonly json: boolean;
51
+ /** Whether colour is in force. */
52
+ readonly color: boolean;
53
+ /** The decorations, already resolved to plain text when colour is off. */
54
+ readonly styles: Styles;
55
+ /**
56
+ * The command's result: the payload under `--json`, the human rendering
57
+ * otherwise. Both go to stdout.
58
+ */
59
+ emit(payload: unknown, render: (styles: Styles) => string): void;
60
+ /** A line for a human — a hint, a heading, a count. Suppressed by `--json`. */
61
+ note(text: string): void;
62
+ /** A failure. Prefixed with the binary name, and always on stderr. */
63
+ error(message: string): void;
64
+ }
65
+ /**
66
+ * Whether this invocation may emit colour.
67
+ *
68
+ * Pure, and exported, so the decision is testable without a terminal: it is
69
+ * every escape-sequence bug's root cause and none of the inputs are things a
70
+ * test can arrange for real.
71
+ *
72
+ * @param options - The flags, the terminal-ness of stdout, and the environment.
73
+ * @returns `true` only when nothing at all objects.
74
+ */
75
+ export declare function useColor(options?: OutputOptions): boolean;
76
+ /**
77
+ * Build the renderer for one invocation.
78
+ *
79
+ * @param io - Where to write. The only I/O this module performs.
80
+ * @param options - The global flags, the terminal-ness of stdout, and the environment.
81
+ * @returns The renderer every command in this invocation writes through.
82
+ */
83
+ export declare function createOutput(io: CliIo, options?: OutputOptions): Output;
84
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,+EAA+E;AAC/E,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,+EAA+E;IAC/E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sEAAsE;IACtE,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAK7D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAoB3E"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * The output renderer — one place that decides what a command's answer looks
3
+ * like, and which stream it lands on.
4
+ *
5
+ * Three rules, and every command inherits all three by writing through this
6
+ * module instead of touching the writer directly:
7
+ *
8
+ * 1. **`--json` prints the payload and nothing else.** No banner, no progress
9
+ * line, no "done" — the point of the flag is that the output goes into a pipe.
10
+ * Anything a human would have wanted to read is suppressed, not reworded.
11
+ * 2. **Errors go to stderr. Always.** So `--json` output stays parseable even
12
+ * when the command failed, and so `w6w … > out.json` never quietly writes an
13
+ * error message into a file something else is going to read as data.
14
+ * 3. **Colour is opt-out three ways** — `--no-color`, a `NO_COLOR` environment
15
+ * variable, and a stdout that is not a terminal — and it is off under `--json`
16
+ * unconditionally, because an escape sequence in a JSON document is a bug.
17
+ *
18
+ * @module
19
+ */
20
+ import { envValue, NO_ENV } from "./client.js";
21
+ import { HELP_TREE } from "./help.generated.js";
22
+ /**
23
+ * The conventional opt-out (https://no-color.org). Any non-blank value disables
24
+ * colour; a blank one is treated as absent, exactly like every other environment
25
+ * variable this CLI reads.
26
+ */
27
+ export const ENV_NO_COLOR = "NO_COLOR";
28
+ const PLAIN = {
29
+ bold: (text) => text,
30
+ dim: (text) => text,
31
+ red: (text) => text,
32
+ green: (text) => text,
33
+ yellow: (text) => text,
34
+ };
35
+ /** SGR wrapper. Reset is the full reset, so nested decorations cannot leak. */
36
+ function sgr(code) {
37
+ return (text) => `\x1b[${code}m${text}\x1b[0m`;
38
+ }
39
+ const COLOURED = {
40
+ bold: sgr("1"),
41
+ dim: sgr("2"),
42
+ red: sgr("31"),
43
+ green: sgr("32"),
44
+ yellow: sgr("33"),
45
+ };
46
+ /**
47
+ * Whether this invocation may emit colour.
48
+ *
49
+ * Pure, and exported, so the decision is testable without a terminal: it is
50
+ * every escape-sequence bug's root cause and none of the inputs are things a
51
+ * test can arrange for real.
52
+ *
53
+ * @param options - The flags, the terminal-ness of stdout, and the environment.
54
+ * @returns `true` only when nothing at all objects.
55
+ */
56
+ export function useColor(options = {}) {
57
+ if (options.json)
58
+ return false;
59
+ if (options.noColor)
60
+ return false;
61
+ if (options.isTty !== true)
62
+ return false;
63
+ return envValue(options.env ?? NO_ENV, ENV_NO_COLOR) === undefined;
64
+ }
65
+ /**
66
+ * Build the renderer for one invocation.
67
+ *
68
+ * @param io - Where to write. The only I/O this module performs.
69
+ * @param options - The global flags, the terminal-ness of stdout, and the environment.
70
+ * @returns The renderer every command in this invocation writes through.
71
+ */
72
+ export function createOutput(io, options = {}) {
73
+ const json = options.json === true;
74
+ const color = useColor(options);
75
+ const styles = color ? COLOURED : PLAIN;
76
+ return {
77
+ json,
78
+ color,
79
+ styles,
80
+ emit(payload, render) {
81
+ // Two spaces of indent: still one document, still `jq`-able, and readable
82
+ // when a user forgets they redirected it.
83
+ io.stdout(json ? JSON.stringify(payload ?? null, null, 2) : render(styles));
84
+ },
85
+ note(text) {
86
+ if (!json)
87
+ io.stdout(text);
88
+ },
89
+ error(message) {
90
+ io.stderr(`${HELP_TREE.binary}: ${message}`);
91
+ },
92
+ };
93
+ }
94
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAkB,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AA0CvC,MAAM,KAAK,GAAW;IACpB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACnB,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACnB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;CACvB,CAAC;AAEF,+EAA+E;AAC/E,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,IAAI,SAAS,CAAC;AACzD,CAAC;AAED,MAAM,QAAQ,GAAW;IACvB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;IACd,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IACb,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACd,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAyB,EAAE;IAClD,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,EAAE,YAAY,CAAC,KAAK,SAAS,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAAS,EAAE,UAAyB,EAAE;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxC,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,IAAI,CAAC,OAAgB,EAAE,MAAkC;YACvD,0EAA0E;YAC1E,0CAA0C;YAC1C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,IAAY;YACf,IAAI,CAAC,IAAI;gBAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,OAAe;YACnB,EAAE,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The runtime adapter — the **only** module in this package that touches a host
3
+ * runtime's globals.
4
+ *
5
+ * The CLI is authored as runtime-neutral TypeScript: it is developed and tested
6
+ * with Deno and published to npm to run under Node, so `Deno.args`, `Deno.env`,
7
+ * `Deno.exit`, `process.argv`, `process.env` and `process.exit` are confined to
8
+ * this file. Everything else in `src/` uses Web-standard globals only, which is
9
+ * what makes the parser and the help renderer testable in any runtime and
10
+ * portable to both.
11
+ *
12
+ * Access is a **capability probe**, not a runtime assumption — the same shape
13
+ * `docs/implementation.md` §2 pins for the SDK's env module — so this file
14
+ * compiles under `tsc` for the npm build (where no Deno types exist) and runs
15
+ * unchanged under Deno, Node and Bun.
16
+ *
17
+ * @module
18
+ */
19
+ /** Somewhere for a command to write. Everything the CLI prints goes through this. */
20
+ export interface CliIo {
21
+ /** Writes a line to standard output. */
22
+ stdout(text: string): void;
23
+ /** Writes a line to standard error. */
24
+ stderr(text: string): void;
25
+ }
26
+ /** The full host surface the binary entry point needs. */
27
+ export interface CliRuntime extends CliIo {
28
+ /** The command-line arguments, with the runtime's own prefix already dropped. */
29
+ readonly args: string[];
30
+ /** Reads an environment variable, or `undefined` where the host has no env. */
31
+ env(name: string): string | undefined;
32
+ /** Ends the process with the given exit code. */
33
+ exit(code: number): never;
34
+ }
35
+ /** The real host runtime. Called once, by `bin/w6w.ts`. */
36
+ export declare function systemRuntime(): CliRuntime;
37
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuBH,qFAAqF;AACrF,MAAM,WAAW,KAAK;IACpB,wCAAwC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uCAAuC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,+EAA+E;IAC/E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,iDAAiD;IACjD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3B;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,IAAI,UAAU,CAQ1C"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The runtime adapter — the **only** module in this package that touches a host
3
+ * runtime's globals.
4
+ *
5
+ * The CLI is authored as runtime-neutral TypeScript: it is developed and tested
6
+ * with Deno and published to npm to run under Node, so `Deno.args`, `Deno.env`,
7
+ * `Deno.exit`, `process.argv`, `process.env` and `process.exit` are confined to
8
+ * this file. Everything else in `src/` uses Web-standard globals only, which is
9
+ * what makes the parser and the help renderer testable in any runtime and
10
+ * portable to both.
11
+ *
12
+ * Access is a **capability probe**, not a runtime assumption — the same shape
13
+ * `docs/implementation.md` §2 pins for the SDK's env module — so this file
14
+ * compiles under `tsc` for the npm build (where no Deno types exist) and runs
15
+ * unchanged under Deno, Node and Bun.
16
+ *
17
+ * @module
18
+ */
19
+ const host = globalThis;
20
+ /** The real host runtime. Called once, by `bin/w6w.ts`. */
21
+ export function systemRuntime() {
22
+ return {
23
+ args: readArgs(),
24
+ env: readEnv,
25
+ stdout: (text) => console.log(text),
26
+ stderr: (text) => console.error(text),
27
+ exit: exitProcess,
28
+ };
29
+ }
30
+ function readArgs() {
31
+ const deno = host.Deno;
32
+ if (deno)
33
+ return [...deno.args];
34
+ const node = host.process;
35
+ if (node)
36
+ return node.argv.slice(2);
37
+ return [];
38
+ }
39
+ function readEnv(name) {
40
+ const deno = host.Deno;
41
+ if (deno)
42
+ return deno.env.get(name) ?? undefined;
43
+ const node = host.process;
44
+ if (node)
45
+ return node.env[name] ?? undefined;
46
+ return undefined;
47
+ }
48
+ function exitProcess(code) {
49
+ const deno = host.Deno;
50
+ if (deno)
51
+ deno.exit(code);
52
+ const node = host.process;
53
+ if (node)
54
+ node.exit(code);
55
+ throw new Error(`w6w: no host runtime to exit from (wanted exit code ${code})`);
56
+ }
57
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqBH,MAAM,IAAI,GAAG,UAAoC,CAAC;AAoBlD,2DAA2D;AAC3D,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,IAAI,EAAE,QAAQ,EAAE;QAChB,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,GAAG,CAAC,CAAC;AAClF,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@w6w/cli",
3
+ "version": "0.1.0",
4
+ "description": "The w6w command-line client. Thin transport over the w6w HTTP API, with help generated from the shared wrapper contract.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/w6w-io/w6w-cli.git"
9
+ },
10
+ "homepage": "https://github.com/w6w-io/w6w-cli#readme",
11
+ "bugs": "https://github.com/w6w-io/w6w-cli/issues",
12
+ "keywords": ["w6w", "workflow", "cli", "client", "api"],
13
+ "type": "module",
14
+ "bin": {
15
+ "w6w": "./dist/bin/w6w.js"
16
+ },
17
+ "types": "./dist/mod.d.ts",
18
+ "main": "./dist/mod.js",
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/mod.d.ts",
22
+ "import": "./dist/mod.js"
23
+ }
24
+ },
25
+ "files": ["dist"],
26
+ "sideEffects": false,
27
+ "engines": {
28
+ "node": ">=18"
29
+ },
30
+ "scripts": {
31
+ "build": "tsc -p tsconfig.build.json && node scripts/fix-shebang.mjs"
32
+ },
33
+ "dependencies": {
34
+ "@w6w/sdk": "^0.1.0"
35
+ },
36
+ "devDependencies": {
37
+ "typescript": "^5.7.2"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
41
+ }
42
+ }