@w6w/cli 0.9.13 → 0.9.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.
@@ -0,0 +1,112 @@
1
+ /**
2
+ * `w6w auth login | logout | status` — the stored API token.
3
+ *
4
+ * Declared in `endpoints.json` `cli.commands[]` (CLI-only: no API operation sits
5
+ * behind them) and routed like any other group. None of them touches the
6
+ * network, and none ever prints a token.
7
+ *
8
+ * The token is **bound to the base URL it is saved for**. All three commands
9
+ * resolve that URL through the one resolver in `src/client.ts`
10
+ * ({@linkcode resolveSettings}), the same code a real command uses, so
11
+ * `auth status` reports exactly what the next command will do.
12
+ *
13
+ * `login` takes the token as a positional (`w6w auth login <token>`) or from
14
+ * standard input (`w6w auth login -`, or no argument with piped input). The
15
+ * stdin form is the safer one: a positional lands in shell history and in the
16
+ * process list. `login` never stores the global `--token` or `W6W_TOKEN` — they
17
+ * are overrides, not credentials to save.
18
+ *
19
+ * @module
20
+ */
21
+ import { ConfigError } from "@w6w/sdk";
22
+ import { ENV_TOKEN, isUnsendable, resolveSettings } from "../client.js";
23
+ import { serializeConfig } from "../config-store.js";
24
+ import { noExtraArguments, usageError } from "./shared.js";
25
+ /** The base URL these commands act on: flag > env > stored > default, never the token sources. */
26
+ function resolveBase(context) {
27
+ const { globals } = context.invocation;
28
+ return resolveSettings({ ...globals, token: undefined }, (name) => (name === ENV_TOKEN ? undefined : context.env(name)), context.stored);
29
+ }
30
+ /** `"****"` plus the last four characters of a long-enough token, else just `"****"`. */
31
+ function mask(token) {
32
+ return token.length >= 12 ? `****${token.slice(-4)}` : "****";
33
+ }
34
+ function requirePath(context) {
35
+ const path = context.store.path;
36
+ if (path === undefined) {
37
+ throw new ConfigError("w6w cannot tell where to keep its config: neither XDG_CONFIG_HOME (an absolute path) " +
38
+ "nor HOME is set. Nothing was saved.");
39
+ }
40
+ return path;
41
+ }
42
+ const login = async (context) => {
43
+ noExtraArguments(context, 1);
44
+ const positional = context.invocation.positionals[0];
45
+ let token;
46
+ if (positional === "-" || (positional === undefined && !context.stdin.isTerminal())) {
47
+ // One trailing newline is the shell's, not the token's.
48
+ token = (await context.stdin.read()).replace(/\r?\n$/, "");
49
+ }
50
+ else if (positional === undefined) {
51
+ throw usageError(context, "`auth login` needs a token. Pass it as an argument, or pipe it in: " +
52
+ "`printf '%s' \"$TOKEN\" | w6w auth login -`.");
53
+ }
54
+ else {
55
+ token = positional;
56
+ }
57
+ if (token.trim().length === 0) {
58
+ throw usageError(context, "The token is empty; nothing was saved.");
59
+ }
60
+ if (isUnsendable(token)) {
61
+ throw usageError(context, "The token contains a character that cannot be sent in an HTTP header " +
62
+ "(a control character); nothing was saved.");
63
+ }
64
+ const { baseUrl } = resolveBase(context);
65
+ const path = requirePath(context);
66
+ const next = {
67
+ version: 1,
68
+ baseUrl,
69
+ hosts: { ...context.stored.hosts, [baseUrl]: { token } },
70
+ };
71
+ await context.store.write(serializeConfig(next));
72
+ context.out.emit({ baseUrl, configPath: path }, () => `Saved the API token for ${baseUrl} in ${path}.`);
73
+ };
74
+ const logout = async (context) => {
75
+ noExtraArguments(context, 0);
76
+ const { baseUrl } = resolveBase(context);
77
+ const had = Object.hasOwn(context.stored.hosts, baseUrl);
78
+ if (had) {
79
+ requirePath(context);
80
+ const hosts = { ...context.stored.hosts };
81
+ delete hosts[baseUrl];
82
+ await context.store.write(serializeConfig({ version: 1, baseUrl: context.stored.baseUrl, hosts }));
83
+ }
84
+ context.out.emit({ baseUrl, removed: had }, () => had
85
+ ? `Removed the stored API token for ${baseUrl}.`
86
+ : `No stored API token for ${baseUrl}; nothing to remove.`);
87
+ };
88
+ const status = (context) => {
89
+ noExtraArguments(context, 0);
90
+ const settings = resolveSettings(context.invocation.globals, context.env, context.stored);
91
+ const payload = {
92
+ baseUrl: settings.baseUrl,
93
+ baseUrlSource: settings.baseUrlSource,
94
+ tokenSource: settings.tokenSource ?? null,
95
+ tokenMasked: settings.token === undefined ? null : mask(settings.token),
96
+ configPath: context.store.path ?? null,
97
+ };
98
+ context.out.emit(payload, (styles) => [
99
+ `${styles.bold("base URL")} ${payload.baseUrl} (${payload.baseUrlSource})`,
100
+ `${styles.bold("token")} ${payload.tokenSource === null
101
+ ? "none — run `w6w auth login`"
102
+ : `${payload.tokenMasked} (${payload.tokenSource})`}`,
103
+ `${styles.bold("config")} ${payload.configPath ?? "(no config directory)"}`,
104
+ ].join("\n"));
105
+ };
106
+ /** The three `w6w auth` commands. */
107
+ export const AUTH_COMMANDS = {
108
+ "auth login": login,
109
+ "auth logout": logout,
110
+ "auth status": status,
111
+ };
112
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/commands/functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAkC,eAAe,EAAE,MAAM,cAAc,CAAC;AAyIpF,eAAO,MAAM,iBAAiB,EAAE,eAQ/B,CAAC"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/commands/functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAkC,eAAe,EAAE,MAAM,cAAc,CAAC;AAoJpF,eAAO,MAAM,iBAAiB,EAAE,eAQ/B,CAAC"}
@@ -92,10 +92,21 @@ const create = async (context) => {
92
92
  const saved = await context.client().functions.create(definition(context));
93
93
  context.out.emit(saved, (styles) => renderSave("Created", saved, styles));
94
94
  };
95
+ /**
96
+ * `w6w functions update <id> --definition <json> [--if-unmodified-since <ts>]`.
97
+ *
98
+ * `--if-unmodified-since` is the optimistic-concurrency precondition (the
99
+ * `updatedAt` from `functions get`), passed through only when supplied: an
100
+ * absent flag is last-write-wins, and turning it into an empty header would be a
101
+ * `400 invalid_precondition` naming something the caller never asked for. A
102
+ * stale one is `409 function_stale`.
103
+ */
95
104
  const update = async (context) => {
96
105
  const id = argument(context, 0, "a function id or key (see: `w6w functions list`)");
97
106
  noExtraArguments(context, 1);
98
- const saved = await context.client().functions.update(id, definition(context));
107
+ const saved = await context.client().functions.update(id, definition(context), {
108
+ ifUnmodifiedSince: textFlag(context, "ifUnmodifiedSince"),
109
+ });
99
110
  context.out.emit(saved, (styles) => renderSave("Updated", saved, styles));
100
111
  };
101
112
  const archive = async (context) => {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/commands/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/commands/functions.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ export { APP_COMMANDS } from "./apps.ts";
29
29
  export { DASHBOARD_COMMANDS } from "./dashboard.ts";
30
30
  export { PROJECT_COMMANDS } from "./projects.ts";
31
31
  export { RELIABILITY_COMMANDS } from "./reliability.ts";
32
+ export { AUTH_COMMANDS } from "./auth.ts";
32
33
  /** Every wired command, keyed by canonical command path. */
33
34
  export declare const COMMANDS: CommandRegistry;
34
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAepD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,4DAA4D;AAC5D,eAAO,MAAM,QAAQ,EAAE,eActB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgBpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,4DAA4D;AAC5D,eAAO,MAAM,QAAQ,EAAE,eAetB,CAAC"}
@@ -28,6 +28,7 @@ import { APP_COMMANDS } from "./apps.js";
28
28
  import { DASHBOARD_COMMANDS } from "./dashboard.js";
29
29
  import { PROJECT_COMMANDS } from "./projects.js";
30
30
  import { RELIABILITY_COMMANDS } from "./reliability.js";
31
+ import { AUTH_COMMANDS } from "./auth.js";
31
32
  export { DOCUMENT_COMMANDS } from "./documents.js";
32
33
  export { VAR_COMMANDS } from "./vars.js";
33
34
  export { ME_COMMANDS } from "./me.js";
@@ -41,6 +42,7 @@ export { APP_COMMANDS } from "./apps.js";
41
42
  export { DASHBOARD_COMMANDS } from "./dashboard.js";
42
43
  export { PROJECT_COMMANDS } from "./projects.js";
43
44
  export { RELIABILITY_COMMANDS } from "./reliability.js";
45
+ export { AUTH_COMMANDS } from "./auth.js";
44
46
  /** Every wired command, keyed by canonical command path. */
45
47
  export const COMMANDS = {
46
48
  ...DOCUMENT_COMMANDS,
@@ -56,5 +58,6 @@ export const COMMANDS = {
56
58
  ...DASHBOARD_COMMANDS,
57
59
  ...PROJECT_COMMANDS,
58
60
  ...RELIABILITY_COMMANDS,
61
+ ...AUTH_COMMANDS,
59
62
  };
60
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,GAAG,iBAAiB;IACpB,GAAG,YAAY;IACf,GAAG,WAAW;IACd,GAAG,mBAAmB;IACtB,GAAG,iBAAiB;IACpB,GAAG,iBAAiB;IACpB,GAAG,kBAAkB;IACrB,GAAG,YAAY;IACf,GAAG,aAAa;IAChB,GAAG,YAAY;IACf,GAAG,kBAAkB;IACrB,GAAG,gBAAgB;IACnB,GAAG,oBAAoB;CACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,GAAG,iBAAiB;IACpB,GAAG,YAAY;IACf,GAAG,WAAW;IACd,GAAG,mBAAmB;IACtB,GAAG,iBAAiB;IACpB,GAAG,iBAAiB;IACpB,GAAG,kBAAkB;IACrB,GAAG,YAAY;IACf,GAAG,aAAa;IAChB,GAAG,YAAY;IACf,GAAG,kBAAkB;IACrB,GAAG,gBAAgB;IACnB,GAAG,oBAAoB;IACvB,GAAG,aAAa;CACjB,CAAC"}
@@ -217,7 +217,7 @@ const update = async (context) => {
217
217
  noExtraArguments(context, 1);
218
218
  const saved = await context.client().workflows.update(id, definition(context), {
219
219
  ...scope(context),
220
- ifUnmodifiedSince: textFlag(context, "if-unmodified-since"),
220
+ ifUnmodifiedSince: textFlag(context, "ifUnmodifiedSince"),
221
221
  });
222
222
  context.out.emit(saved, (styles) => renderSave("Updated", saved, styles));
223
223
  };
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/commands/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAWH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,SAAS,UAAU,CAAC,OAAuB;IACzC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;IACxE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,UAAU,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,UAAU,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAA4B,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,KAAK,CAAC,OAAuB;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;AAED,oCAAoC;AACpC,SAAS,GAAG,CAAC,QAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,2EAA2E;AAC3E,SAAS,UAAU,CAAC,SAA4B,EAAE,MAAc;IAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,KAAK,CAAC,OAAuB;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,UAAU,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,UAAU,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,GAAsB,EAAE,MAAc;IACvD,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;IAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACvE,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,MAAsB,EAAE,MAAc;IAC1D,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;IAClF,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,mFAAmF;AACnF,SAAS,UAAU,CAAC,IAAY,EAAE,KAAyB,EAAE,MAAc;IACzE,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IACtD,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,CACrC,EAAE,CAAC;IACH,6EAA6E;IAC7E,2CAA2C;IAC3C,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChF,CAAC;AAED,MAAM,IAAI,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC7C,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,GAAG,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;IAC7E,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;QACtD,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,4EAA4E;QAC5E,qDAAqD;QACrD,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5F,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;IAC7E,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE;QAChE,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;KACtB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACrE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,CACd,MAAM,EACN,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,EAAE,aAAa,MAAM,CAAC,MAAM,IAAI,CAAC,CAC9F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,GAAG,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;IAC7E,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,MAAM,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/C,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;IAC7E,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;QAC7E,GAAG,KAAK,CAAC,OAAO,CAAC;QACjB,iBAAiB,EAAE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;KAC5D,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,OAAO,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAChD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;IAC7E,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;IAC7E,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5C,4EAA4E;IAC5E,0EAA0E;IAC1E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,GAAG;IACpB,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,GAAG;IACpB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,MAAM;IAC1B,mBAAmB,EAAE,OAAO;IAC5B,kBAAkB,EAAE,MAAM;IAC1B,GAAG,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC;CAC5C,CAAC"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/commands/workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * The per-user config file `w6w auth login` writes, and the rules for it.
3
+ *
4
+ * Everything here is **pure**: where the file lives, what a valid file looks
5
+ * like, how it is parsed and serialised. The one thing that touches a disk is
6
+ * the {@linkcode ConfigStore} a caller injects — the real one lives in
7
+ * `src/store-fs.ts`, the only module that does file I/O, and the default
8
+ * ({@linkcode NO_STORE}) is "nothing stored, nowhere to store it", so a test that
9
+ * wires nothing never sees a real home directory.
10
+ *
11
+ * ```json
12
+ * {"version":1,"baseUrl":"https://api.w6w.io","hosts":{"https://api.w6w.io":{"token":"…"}}}
13
+ * ```
14
+ *
15
+ * `hosts` is keyed by the canonical base URL (the SDK's `joinBaseUrl` form), and a
16
+ * token is only ever looked up by exact key — that binding is what stops a token
17
+ * saved for one host from being sent to another.
18
+ *
19
+ * @module
20
+ */
21
+ import type { EnvReader } from "./client.ts";
22
+ /** What the file holds, once validated. */
23
+ export interface StoredConfig {
24
+ readonly version: 1;
25
+ /** The base URL the last `auth login` targeted. Canonical. */
26
+ readonly baseUrl: string;
27
+ /** Token per canonical base URL. */
28
+ readonly hosts: Readonly<Record<string, {
29
+ readonly token: string;
30
+ }>>;
31
+ }
32
+ /** Nothing stored. The value used when the file does not exist. */
33
+ export declare const NO_CONFIG: StoredConfig;
34
+ /**
35
+ * Where the config text lives. The only seam to a disk.
36
+ *
37
+ * `read` answers `undefined` for a file that does not exist (nothing stored);
38
+ * any other failure throws. `write` replaces the file atomically and leaves it
39
+ * `0600` in a `0700` directory (best-effort on Windows).
40
+ */
41
+ export interface ConfigStore {
42
+ /** Absolute path of the file, or `undefined` where none can be resolved. */
43
+ readonly path: string | undefined;
44
+ read(): Promise<string | undefined>;
45
+ write(text: string): Promise<void>;
46
+ }
47
+ /** Standard input, as the `auth login` command needs it. Injected; never read ambiently. */
48
+ export interface StdinSource {
49
+ /** Whether input is an interactive terminal (then `auth login` never reads it). */
50
+ isTerminal(): boolean;
51
+ /** Everything on standard input. */
52
+ read(): Promise<string>;
53
+ }
54
+ /** The default stdin: an interactive terminal with nothing on it, so nothing is ever read. */
55
+ export declare const NO_STDIN: StdinSource;
56
+ /** The default store: nothing stored, nowhere to store it, no I/O. */
57
+ export declare const NO_STORE: ConfigStore;
58
+ /**
59
+ * The config file's path, from the environment alone.
60
+ *
61
+ * - Windows: `%APPDATA%\w6w\config.json`.
62
+ * - Elsewhere: `$XDG_CONFIG_HOME/w6w/config.json` when that is set, non-blank and
63
+ * **absolute** (the XDG spec says a relative value is ignored), else
64
+ * `$HOME/.config/w6w/config.json`.
65
+ * - Otherwise `undefined`: nothing can be stored.
66
+ *
67
+ * @param env - The environment seam (not `os.homedir`: tests substitute it).
68
+ * @param platform - `"win32"` for Windows; anything else is POSIX-like.
69
+ */
70
+ export declare function configPath(env: EnvReader, platform: string): string | undefined;
71
+ /**
72
+ * Validate the file's text.
73
+ *
74
+ * @throws {ConfigError} Naming `path` and the kind of problem; never the content.
75
+ */
76
+ export declare function parseConfig(text: string, path: string | undefined): StoredConfig;
77
+ /** The file's text for a config: exactly the pinned shape, newline-terminated. */
78
+ export declare function serializeConfig(config: StoredConfig): string;
79
+ /**
80
+ * Read and validate the store.
81
+ *
82
+ * @returns {@linkcode NO_CONFIG} for a missing file.
83
+ * @throws {ConfigError} For an unreadable or malformed one.
84
+ */
85
+ export declare function loadConfig(store: ConfigStore): Promise<StoredConfig>;
86
+ //# sourceMappingURL=config-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/config-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACtE;AAED,mEAAmE;AACnE,eAAO,MAAM,SAAS,EAAE,YAAqD,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,4FAA4F;AAC5F,MAAM,WAAW,WAAW;IAC1B,mFAAmF;IACnF,UAAU,IAAI,OAAO,CAAC;IACtB,oCAAoC;IACpC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,8FAA8F;AAC9F,eAAO,MAAM,QAAQ,EAAE,WAAyE,CAAC;AAEjG,sEAAsE;AACtE,eAAO,MAAM,QAAQ,EAAE,WAStB,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiB/E;AAeD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAmBhF;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAG5D;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAU1E"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * The per-user config file `w6w auth login` writes, and the rules for it.
3
+ *
4
+ * Everything here is **pure**: where the file lives, what a valid file looks
5
+ * like, how it is parsed and serialised. The one thing that touches a disk is
6
+ * the {@linkcode ConfigStore} a caller injects — the real one lives in
7
+ * `src/store-fs.ts`, the only module that does file I/O, and the default
8
+ * ({@linkcode NO_STORE}) is "nothing stored, nowhere to store it", so a test that
9
+ * wires nothing never sees a real home directory.
10
+ *
11
+ * ```json
12
+ * {"version":1,"baseUrl":"https://api.w6w.io","hosts":{"https://api.w6w.io":{"token":"…"}}}
13
+ * ```
14
+ *
15
+ * `hosts` is keyed by the canonical base URL (the SDK's `joinBaseUrl` form), and a
16
+ * token is only ever looked up by exact key — that binding is what stops a token
17
+ * saved for one host from being sent to another.
18
+ *
19
+ * @module
20
+ */
21
+ import { ConfigError } from "@w6w/sdk";
22
+ /** Nothing stored. The value used when the file does not exist. */
23
+ export const NO_CONFIG = { version: 1, baseUrl: "", hosts: {} };
24
+ /** The default stdin: an interactive terminal with nothing on it, so nothing is ever read. */
25
+ export const NO_STDIN = { isTerminal: () => true, read: () => Promise.resolve("") };
26
+ /** The default store: nothing stored, nowhere to store it, no I/O. */
27
+ export const NO_STORE = {
28
+ path: undefined,
29
+ read: () => Promise.resolve(undefined),
30
+ write: () => Promise.reject(new ConfigError("There is nowhere to store the token: no per-user config directory resolved.")),
31
+ };
32
+ function isAbsolutePath(path) {
33
+ return path.startsWith("/") || /^[A-Za-z]:[\\/]/.test(path) || path.startsWith("\\\\");
34
+ }
35
+ /**
36
+ * The config file's path, from the environment alone.
37
+ *
38
+ * - Windows: `%APPDATA%\w6w\config.json`.
39
+ * - Elsewhere: `$XDG_CONFIG_HOME/w6w/config.json` when that is set, non-blank and
40
+ * **absolute** (the XDG spec says a relative value is ignored), else
41
+ * `$HOME/.config/w6w/config.json`.
42
+ * - Otherwise `undefined`: nothing can be stored.
43
+ *
44
+ * @param env - The environment seam (not `os.homedir`: tests substitute it).
45
+ * @param platform - `"win32"` for Windows; anything else is POSIX-like.
46
+ */
47
+ export function configPath(env, platform) {
48
+ const pick = (name) => {
49
+ const value = env(name);
50
+ return value === undefined || value.trim().length === 0 ? undefined : value;
51
+ };
52
+ if (platform === "win32") {
53
+ const appData = pick("APPDATA");
54
+ return appData === undefined
55
+ ? undefined
56
+ : `${appData.replace(/[\\/]+$/, "")}\\w6w\\config.json`;
57
+ }
58
+ const xdg = pick("XDG_CONFIG_HOME");
59
+ if (xdg !== undefined && isAbsolutePath(xdg)) {
60
+ return `${xdg.replace(/\/+$/, "")}/w6w/config.json`;
61
+ }
62
+ const home = pick("HOME");
63
+ return home === undefined ? undefined : `${home.replace(/\/+$/, "")}/.config/w6w/config.json`;
64
+ }
65
+ function malformed(path, why) {
66
+ // The message names the file and the reason class — never the file's content,
67
+ // which holds tokens.
68
+ return new ConfigError(`The w6w config file ${path ?? "(unknown path)"} is unreadable or malformed (${why}). ` +
69
+ "Fix or delete it; w6w will not repair or overwrite it.");
70
+ }
71
+ function isRecord(value) {
72
+ return typeof value === "object" && value !== null && !Array.isArray(value);
73
+ }
74
+ /**
75
+ * Validate the file's text.
76
+ *
77
+ * @throws {ConfigError} Naming `path` and the kind of problem; never the content.
78
+ */
79
+ export function parseConfig(text, path) {
80
+ let data;
81
+ try {
82
+ data = JSON.parse(text);
83
+ }
84
+ catch {
85
+ throw malformed(path, "not valid JSON");
86
+ }
87
+ if (!isRecord(data))
88
+ throw malformed(path, "not a JSON object");
89
+ if (data.version !== 1)
90
+ throw malformed(path, "unsupported version");
91
+ if (typeof data.baseUrl !== "string")
92
+ throw malformed(path, "`baseUrl` is not a string");
93
+ if (!isRecord(data.hosts))
94
+ throw malformed(path, "`hosts` is not an object");
95
+ const hosts = {};
96
+ for (const [key, entry] of Object.entries(data.hosts)) {
97
+ if (!isRecord(entry) || typeof entry.token !== "string") {
98
+ throw malformed(path, "a host entry has no string `token`");
99
+ }
100
+ hosts[key] = { token: entry.token };
101
+ }
102
+ return { version: 1, baseUrl: data.baseUrl, hosts };
103
+ }
104
+ /** The file's text for a config: exactly the pinned shape, newline-terminated. */
105
+ export function serializeConfig(config) {
106
+ return JSON.stringify({ version: 1, baseUrl: config.baseUrl, hosts: config.hosts }, null, 2) +
107
+ "\n";
108
+ }
109
+ /**
110
+ * Read and validate the store.
111
+ *
112
+ * @returns {@linkcode NO_CONFIG} for a missing file.
113
+ * @throws {ConfigError} For an unreadable or malformed one.
114
+ */
115
+ export async function loadConfig(store) {
116
+ let text;
117
+ try {
118
+ text = await store.read();
119
+ }
120
+ catch (error) {
121
+ if (error instanceof ConfigError)
122
+ throw error;
123
+ throw malformed(store.path, "could not be read");
124
+ }
125
+ if (text === undefined)
126
+ return NO_CONFIG;
127
+ return parseConfig(text, store.path);
128
+ }
129
+ //# sourceMappingURL=config-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/config-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.generated.d.ts","sourceRoot":"","sources":["../../src/help.generated.ts"],"names":[],"mappings":"AAiBA,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gDAAgD;IAChD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,8BAA8B;AAC9B,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,EAAE,QA8kFvB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,aAAa,EAAE,MAAM,EAAE,EA0OnC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,UAAU,EAAE,YAAY,EAqBpC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAU,CAAC;AACtC,eAAO,MAAM,UAAU,EAAE,MAAU,CAAC;AACpC,eAAO,MAAM,cAAc,EAAE,MAAU,CAAC;AACxC,eAAO,MAAM,gBAAgB,EAAE,MAAU,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,YAAY,EAAE,cAAc,EAA0B,CAAC"}
1
+ {"version":3,"file":"help.generated.d.ts","sourceRoot":"","sources":["../../src/help.generated.ts"],"names":[],"mappings":"AAiBA,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gDAAgD;IAChD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,8BAA8B;AAC9B,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,EAAE,QAusFvB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,aAAa,EAAE,MAAM,EAAE,EAsPnC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,UAAU,EAAE,YAAY,EAqBpC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAU,CAAC;AACtC,eAAO,MAAM,UAAU,EAAE,MAAU,CAAC;AACpC,eAAO,MAAM,cAAc,EAAE,MAAU,CAAC;AACxC,eAAO,MAAM,gBAAgB,EAAE,MAAU,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,YAAY,EAAE,cAAc,EAA0B,CAAC"}