dc-ops-cli 1.3.0 → 1.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/dist/commands/copy.d.ts +2 -1
- package/dist/commands/copy.d.ts.map +1 -1
- package/dist/commands/copy.js +11 -2
- package/dist/commands/copy.js.map +1 -1
- package/dist/commands/inspect.d.ts +2 -1
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +10 -1
- package/dist/commands/inspect.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/copy.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSecret, checkOpCli } from '../utils/op.js';
|
|
1
|
+
import { getSecret, checkOpCli, findSimilarItems } from '../utils/op.js';
|
|
2
2
|
import { applyColorConfig, createSpinner, resolveBooleanOption, resolveField, resolveVault } from '../utils/cli.js';
|
|
3
3
|
export interface CopyOptions {
|
|
4
4
|
vault?: string;
|
|
@@ -10,6 +10,7 @@ export interface CopyOptions {
|
|
|
10
10
|
export interface CopyDependencies {
|
|
11
11
|
getSecret: typeof getSecret;
|
|
12
12
|
checkOpCli: typeof checkOpCli;
|
|
13
|
+
findSimilarItems: typeof findSimilarItems;
|
|
13
14
|
clipboardRead: () => Promise<string>;
|
|
14
15
|
clipboardWrite: (value: string) => Promise<void>;
|
|
15
16
|
applyColorConfig: typeof applyColorConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../src/commands/copy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../src/commands/copy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,YAAY,EAAE,OAAO,YAAY,CAAC;CACnC;AAeD,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACxC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAsEvD;AAED,eAAO,MAAM,WAAW,SAxEd,MAAM,WAAW,WAAW,KAAK,OAAO,CAAC,IAAI,CAwET,CAAC"}
|
package/dist/commands/copy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import clipboardy from 'clipboardy';
|
|
3
|
-
import { getSecret, checkOpCli } from '../utils/op.js';
|
|
3
|
+
import { getSecret, checkOpCli, findSimilarItems } from '../utils/op.js';
|
|
4
4
|
import { applyColorConfig, createSpinner, resolveBooleanOption, resolveField, resolveVault, } from '../utils/cli.js';
|
|
5
5
|
import { OpError } from '../utils/types.js';
|
|
6
6
|
const DEFAULT_TTL_SECONDS = 30;
|
|
@@ -15,6 +15,7 @@ function resolveTtlSeconds(value) {
|
|
|
15
15
|
const defaultDependencies = {
|
|
16
16
|
getSecret,
|
|
17
17
|
checkOpCli,
|
|
18
|
+
findSimilarItems,
|
|
18
19
|
clipboardRead: () => clipboardy.read(),
|
|
19
20
|
clipboardWrite: (value) => clipboardy.write(value),
|
|
20
21
|
applyColorConfig,
|
|
@@ -40,7 +41,15 @@ export function createCopyCommand(overrides = {}) {
|
|
|
40
41
|
const secret = deps.getSecret(name, vault, field);
|
|
41
42
|
if (secret === null) {
|
|
42
43
|
spinner.fail(chalk.yellow(`Secret "${name}" not found in vault "${vault}"`));
|
|
43
|
-
|
|
44
|
+
// Suggest similar items
|
|
45
|
+
const similar = deps.findSimilarItems(name, vault);
|
|
46
|
+
if (similar.length > 0) {
|
|
47
|
+
console.log(chalk.cyan('\nDid you mean?'));
|
|
48
|
+
for (const suggestion of similar) {
|
|
49
|
+
console.log(chalk.white(` - ${suggestion}`));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
throw new OpError('Secret not found. Use ops list to see available items.', 1);
|
|
44
53
|
}
|
|
45
54
|
await deps.clipboardWrite(secret);
|
|
46
55
|
if (!quiet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/commands/copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/commands/copy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getItem, checkOpCli } from '../utils/op.js';
|
|
1
|
+
import { getItem, checkOpCli, findSimilarItems } from '../utils/op.js';
|
|
2
2
|
import { applyColorConfig, createSpinner, resolveBooleanOption, resolveVault } from '../utils/cli.js';
|
|
3
3
|
export interface InspectOptions {
|
|
4
4
|
vault?: string;
|
|
@@ -9,6 +9,7 @@ export interface InspectOptions {
|
|
|
9
9
|
export interface InspectDependencies {
|
|
10
10
|
getItem: typeof getItem;
|
|
11
11
|
checkOpCli: typeof checkOpCli;
|
|
12
|
+
findSimilarItems: typeof findSimilarItems;
|
|
12
13
|
applyColorConfig: typeof applyColorConfig;
|
|
13
14
|
createSpinner: typeof createSpinner;
|
|
14
15
|
resolveBooleanOption: typeof resolveBooleanOption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAaD,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC3C,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAiF1D;AAED,eAAO,MAAM,cAAc,SAnFjB,MAAM,WAAW,cAAc,KAAK,OAAO,CAAC,IAAI,CAmFN,CAAC"}
|
package/dist/commands/inspect.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import { getItem, checkOpCli } from '../utils/op.js';
|
|
2
|
+
import { getItem, checkOpCli, findSimilarItems } from '../utils/op.js';
|
|
3
3
|
import { applyColorConfig, createSpinner, resolveBooleanOption, resolveVault, } from '../utils/cli.js';
|
|
4
4
|
import { OpError } from '../utils/types.js';
|
|
5
5
|
const defaultDependencies = {
|
|
6
6
|
getItem,
|
|
7
7
|
checkOpCli,
|
|
8
|
+
findSimilarItems,
|
|
8
9
|
applyColorConfig,
|
|
9
10
|
createSpinner,
|
|
10
11
|
resolveBooleanOption,
|
|
@@ -30,6 +31,14 @@ export function createInspectCommand(overrides = {}) {
|
|
|
30
31
|
const item = deps.getItem(name, vault);
|
|
31
32
|
if (!item) {
|
|
32
33
|
spinner.fail(chalk.yellow(`Item "${name}" not found in vault "${vault}"`));
|
|
34
|
+
// Suggest similar items
|
|
35
|
+
const similar = deps.findSimilarItems(name, vault);
|
|
36
|
+
if (similar.length > 0) {
|
|
37
|
+
deps.log(chalk.cyan('\nDid you mean?'));
|
|
38
|
+
for (const suggestion of similar) {
|
|
39
|
+
deps.log(chalk.white(` - ${suggestion}`));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
33
42
|
throw new OpError(`Item not found. Use ops list to see available items.`, 1);
|
|
34
43
|
}
|
|
35
44
|
spinner.succeed(chalk.green(`Found item "${name}"`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
|