@invinite-org/invinite-data-cli 4.1.0 → 6.0.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 +66 -33
- package/claude-plugin/.claude-plugin/plugin.json +1 -1
- package/claude-plugin/agents/invinite-data.md +1 -1
- package/claude-plugin/skills/invinite-data-cli/SKILL.md +21 -15
- package/dist/bin/invd.js +3 -0
- package/dist/bin/invd.js.map +1 -1
- package/dist/src/cli.js +2 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/client/api-client.d.ts +1 -1
- package/dist/src/client/download.d.ts +1 -1
- package/dist/src/client/download.js +7 -12
- package/dist/src/client/download.js.map +1 -1
- package/dist/src/commands/agent-setup.js +7 -5
- package/dist/src/commands/agent-setup.js.map +1 -1
- package/dist/src/commands/api.d.ts +1 -1
- package/dist/src/commands/api.js +12 -7
- package/dist/src/commands/api.js.map +1 -1
- package/dist/src/commands/auth.d.ts +1 -1
- package/dist/src/commands/auth.js +21 -17
- package/dist/src/commands/auth.js.map +1 -1
- package/dist/src/commands/config.d.ts +3 -2
- package/dist/src/commands/config.js +9 -8
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/plugin.d.ts +8 -1
- package/dist/src/commands/plugin.js +27 -15
- package/dist/src/commands/plugin.js.map +1 -1
- package/dist/src/config/auth.js +1 -1
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/config-manager.d.ts +16 -4
- package/dist/src/config/config-manager.js +54 -21
- package/dist/src/config/config-manager.js.map +1 -1
- package/dist/src/generated/cli-manifest.json +88 -88
- package/dist/src/hand-written-commands.d.ts +1 -1
- package/dist/src/hand-written-commands.js +1 -1
- package/dist/src/hand-written-commands.js.map +1 -1
- package/dist/src/shared/errors.d.ts +18 -9
- package/dist/src/shared/errors.js +72 -25
- package/dist/src/shared/errors.js.map +1 -1
- package/dist/src/shared/signals.d.ts +25 -0
- package/dist/src/shared/signals.js +51 -0
- package/dist/src/shared/signals.js.map +1 -0
- package/dist/src/shared/spinner.d.ts +2 -0
- package/dist/src/shared/spinner.js +12 -1
- package/dist/src/shared/spinner.js.map +1 -1
- package/dist/src/spec-commands.js +13 -5
- package/dist/src/spec-commands.js.map +1 -1
- package/dist/src/spec-manifest.d.ts +18 -18
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ export const DEFAULT_BASE_URL = 'https://api.data.invinite.com';
|
|
|
13
13
|
export const LEGACY_BASE_URLS = ['https://data.invinite.com'];
|
|
14
14
|
/**
|
|
15
15
|
* The settings `invd config` knows, each with its environment variable. Precedence: flags > env > `./.invd.toml`
|
|
16
|
-
* > `$XDG_CONFIG_HOME/invd
|
|
16
|
+
* > `$XDG_CONFIG_HOME/invinite/invd.toml` (`INVD_CONFIG_DIR` replaces the directory) > the default.
|
|
17
17
|
*/
|
|
18
18
|
export const SETTINGS = {
|
|
19
19
|
base_url: { env: 'INVD_BASE_URL', default: DEFAULT_BASE_URL, description: 'API origin' },
|
|
@@ -27,22 +27,42 @@ export const SETTINGS = {
|
|
|
27
27
|
api_key: { env: 'INVD_API_KEY', default: '', description: 'API key fallback when no keychain is available (global file only)' },
|
|
28
28
|
};
|
|
29
29
|
export const isSettingKey = (key) => Object.hasOwn(SETTINGS, key);
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* `$INVD_CONFIG_DIR`, else `$XDG_CONFIG_HOME/invinite`, else `~/.config/invinite` (`%APPDATA%\invinite` on Windows):
|
|
32
|
+
* the directory shared with the Web CLI `inv` (backend `tasks/cli-api-alignment` C4). It may hold `inv`'s
|
|
33
|
+
* `config.json`: `invd` reads, writes and deletes only `invd.toml` there and never removes the directory.
|
|
34
|
+
*/
|
|
31
35
|
export function configDir() {
|
|
32
36
|
if (process.env.INVD_CONFIG_DIR)
|
|
33
37
|
return process.env.INVD_CONFIG_DIR;
|
|
34
38
|
if (process.env.XDG_CONFIG_HOME)
|
|
35
|
-
return join(process.env.XDG_CONFIG_HOME, '
|
|
39
|
+
return join(process.env.XDG_CONFIG_HOME, 'invinite');
|
|
36
40
|
if (process.platform === 'win32' && process.env.APPDATA)
|
|
37
|
-
return join(process.env.APPDATA, '
|
|
38
|
-
return join(homedir(), '.config', '
|
|
41
|
+
return join(process.env.APPDATA, 'invinite');
|
|
42
|
+
return join(homedir(), '.config', 'invinite');
|
|
39
43
|
}
|
|
40
|
-
export const globalConfigPath = () => join(configDir(), '
|
|
44
|
+
export const globalConfigPath = () => join(configDir(), 'invd.toml');
|
|
41
45
|
export const localConfigPath = () => join(process.cwd(), '.invd.toml');
|
|
42
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Where 4.x / 5.x kept the global file (`invd/config.toml` under the same roots as `configDir()`; under
|
|
48
|
+
* `INVD_CONFIG_DIR` the old name in that directory), first match wins.
|
|
49
|
+
*/
|
|
50
|
+
export function legacyTomlPaths() {
|
|
51
|
+
if (process.env.INVD_CONFIG_DIR)
|
|
52
|
+
return [join(process.env.INVD_CONFIG_DIR, 'config.toml')];
|
|
53
|
+
return [
|
|
54
|
+
...(process.env.XDG_CONFIG_HOME ? [join(process.env.XDG_CONFIG_HOME, 'invd', 'config.toml')] : []),
|
|
55
|
+
...(process.platform === 'win32' && process.env.APPDATA ? [join(process.env.APPDATA, 'invd', 'config.toml')] : []),
|
|
56
|
+
join(homedir(), '.config', 'invd', 'config.toml'),
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Where 3.x's `conf` package kept its JSON (`invinite-data-cli-nodejs`), per platform. Never under `INVD_CONFIG_DIR`:
|
|
61
|
+
* a `config.json` there may be the Web CLI's.
|
|
62
|
+
*/
|
|
43
63
|
export function legacyConfPaths() {
|
|
44
64
|
if (process.env.INVD_CONFIG_DIR)
|
|
45
|
-
return [
|
|
65
|
+
return [];
|
|
46
66
|
const home = homedir();
|
|
47
67
|
if (process.platform === 'darwin')
|
|
48
68
|
return [join(home, 'Library/Preferences/invinite-data-cli-nodejs/config.json')];
|
|
@@ -72,9 +92,21 @@ function writeFile(path, values) {
|
|
|
72
92
|
}
|
|
73
93
|
}
|
|
74
94
|
let imported = false;
|
|
95
|
+
/** The 3.x `conf` JSON's settings (base URL unless the retired default, the config-stored key). */
|
|
96
|
+
function readLegacyConf(path) {
|
|
97
|
+
const legacy = JSON.parse(readFileSync(path, 'utf8'));
|
|
98
|
+
const values = {};
|
|
99
|
+
if (typeof legacy.baseUrl === 'string' && legacy.baseUrl && legacy.baseUrl !== DEFAULT_BASE_URL
|
|
100
|
+
&& !LEGACY_BASE_URLS.includes(legacy.baseUrl.replace(/\/+$/, '')))
|
|
101
|
+
values.base_url = legacy.baseUrl;
|
|
102
|
+
if (typeof legacy.apiKey === 'string' && legacy.apiKey)
|
|
103
|
+
values.api_key = legacy.apiKey;
|
|
104
|
+
return values;
|
|
105
|
+
}
|
|
75
106
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
107
|
+
* An older install's settings carried into `invd.toml` once, the first time 6.x reads a config while no `invd.toml`
|
|
108
|
+
* exists: the 4.x / 5.x `invd/config.toml` first, else the 3.x `conf` JSON. The old file is left in place (an older
|
|
109
|
+
* `invd` may still be installed elsewhere); one stderr line names both paths.
|
|
78
110
|
*/
|
|
79
111
|
function importLegacyOnce() {
|
|
80
112
|
if (imported)
|
|
@@ -83,19 +115,20 @@ function importLegacyOnce() {
|
|
|
83
115
|
const target = globalConfigPath();
|
|
84
116
|
if (existsSync(target))
|
|
85
117
|
return;
|
|
86
|
-
|
|
118
|
+
const sources = [
|
|
119
|
+
...legacyTomlPaths().map((path) => [path, readFile]),
|
|
120
|
+
...legacyConfPaths().map((path) => [path, readLegacyConf]),
|
|
121
|
+
];
|
|
122
|
+
for (const [path, read] of sources) {
|
|
87
123
|
if (!existsSync(path))
|
|
88
124
|
continue;
|
|
89
125
|
try {
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
values.api_key = legacy.apiKey;
|
|
97
|
-
if (Object.keys(values).length > 0)
|
|
98
|
-
writeFile(target, values);
|
|
126
|
+
const values = read(path);
|
|
127
|
+
if (Object.keys(values).length === 0)
|
|
128
|
+
return;
|
|
129
|
+
writeFile(target, values);
|
|
130
|
+
// stderr: this runs inside `--json` commands, whose stdout is machine output.
|
|
131
|
+
console.error(`Carried invd settings over from ${path} to ${target} (the old file is left in place)`);
|
|
99
132
|
}
|
|
100
133
|
catch {
|
|
101
134
|
// unreadable: nothing to carry over
|
|
@@ -188,7 +221,7 @@ export function deleteStoredApiKey() {
|
|
|
188
221
|
if (existsSync(globalConfigPath()))
|
|
189
222
|
unsetSetting('api_key');
|
|
190
223
|
}
|
|
191
|
-
/** Removes the global
|
|
224
|
+
/** Removes the global `invd.toml` only, never its directory (it may hold the Web CLI's `config.json`); the keychain entry is `invd auth logout`'s. */
|
|
192
225
|
export function resetConfig() {
|
|
193
226
|
rmSync(globalConfigPath(), { force: true });
|
|
194
227
|
imported = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/config/config-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAC;AAErE,yFAAyF;AACzF,MAAM,CAAC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAEzD,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,2BAA2B,CAAC,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE;IACxF,MAAM,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,gDAAgD,EAAE;IAC1G,eAAe,EAAE;QACf,GAAG,EAAE,sBAAsB;QAC3B,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,iEAAiE;KAC/E;IACD,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,yDAAyD,EAAE;IACjH,OAAO,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mEAAmE,EAAE;CACvH,CAAC;AAKX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAqB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAE7F
|
|
1
|
+
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/config/config-manager.ts"],"names":[],"mappings":"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"}
|