@zincapp/znvault-cli 2.18.0 → 2.19.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../src/commands/secret/patch/operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type SecretFormat, type FormatParser } from './types.js';
2
+ /**
3
+ * Get a parser for a specific format
4
+ */
5
+ export declare function getParser(format: SecretFormat): FormatParser;
6
+ /**
7
+ * Detect format from content type or subType
8
+ */
9
+ export declare function detectFormatFromMetadata(contentType?: string, subType?: string): SecretFormat | undefined;
10
+ /**
11
+ * Detect format from content heuristics
12
+ */
13
+ export declare function detectFormatFromContent(content: string): SecretFormat;
14
+ /**
15
+ * Detect format with priority:
16
+ * 1. Explicit format option
17
+ * 2. Metadata (contentType, subType)
18
+ * 3. Content heuristics
19
+ */
20
+ export declare function detectFormat(content: string, explicitFormat?: SecretFormat, contentType?: string, subType?: string): SecretFormat;
21
+ export type { FormatParser };
22
+ //# sourceMappingURL=parsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../../../src/commands/secret/patch/parsers.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAgRpB;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAE5D;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,GAAG,SAAS,CAqB1B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAqDrE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,YAAY,EAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CAcd;AAGD,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,349 @@
1
+ // Path: src/commands/secret/patch/parsers.ts
2
+ /**
3
+ * Format parsers for secret patching
4
+ * Supports: JSON, YAML, env, properties, TOML
5
+ */
6
+ import YAML from 'yaml';
7
+ import * as TOML from '@iarna/toml';
8
+ import { PatchError, } from './types.js';
9
+ // ============================================================================
10
+ // JSON Parser
11
+ // ============================================================================
12
+ const jsonParser = {
13
+ parse(content) {
14
+ try {
15
+ const parsed = JSON.parse(content);
16
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
17
+ throw new PatchError('JSON must be an object at the root level', 'PARSE_ERROR', { content: content.slice(0, 100) });
18
+ }
19
+ return parsed;
20
+ }
21
+ catch (err) {
22
+ if (err instanceof PatchError)
23
+ throw err;
24
+ throw new PatchError(`Invalid JSON: ${err.message}`, 'PARSE_ERROR', { content: content.slice(0, 100) });
25
+ }
26
+ },
27
+ stringify(data) {
28
+ return JSON.stringify(data, null, 2);
29
+ },
30
+ };
31
+ // ============================================================================
32
+ // YAML Parser
33
+ // ============================================================================
34
+ const yamlParser = {
35
+ parse(content) {
36
+ try {
37
+ const parsed = YAML.parse(content);
38
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
39
+ throw new PatchError('YAML must be an object at the root level', 'PARSE_ERROR', { content: content.slice(0, 100) });
40
+ }
41
+ return parsed;
42
+ }
43
+ catch (err) {
44
+ if (err instanceof PatchError)
45
+ throw err;
46
+ throw new PatchError(`Invalid YAML: ${err.message}`, 'PARSE_ERROR', { content: content.slice(0, 100) });
47
+ }
48
+ },
49
+ stringify(data) {
50
+ return YAML.stringify(data);
51
+ },
52
+ };
53
+ // ============================================================================
54
+ // ENV Parser (KEY=value format)
55
+ // ============================================================================
56
+ const envParser = {
57
+ parse(content) {
58
+ const result = {};
59
+ const lines = content.split('\n');
60
+ for (const line of lines) {
61
+ const trimmed = line.trim();
62
+ // Skip empty lines and comments
63
+ if (!trimmed || trimmed.startsWith('#'))
64
+ continue;
65
+ const eqIndex = trimmed.indexOf('=');
66
+ if (eqIndex === -1)
67
+ continue;
68
+ const key = trimmed.slice(0, eqIndex).trim();
69
+ let value = trimmed.slice(eqIndex + 1);
70
+ // Handle quoted values
71
+ if ((value.startsWith('"') && value.endsWith('"')) ||
72
+ (value.startsWith("'") && value.endsWith("'"))) {
73
+ value = value.slice(1, -1);
74
+ }
75
+ result[key] = value;
76
+ }
77
+ return result;
78
+ },
79
+ stringify(data) {
80
+ const lines = [];
81
+ for (const [key, value] of Object.entries(data)) {
82
+ if (value === null || value === undefined)
83
+ continue;
84
+ // Convert value to string safely
85
+ let strValue;
86
+ if (typeof value === 'object') {
87
+ strValue = JSON.stringify(value);
88
+ }
89
+ else if (typeof value === 'string') {
90
+ strValue = value;
91
+ }
92
+ else if (typeof value === 'number' || typeof value === 'boolean') {
93
+ strValue = String(value);
94
+ }
95
+ else {
96
+ strValue = JSON.stringify(value);
97
+ }
98
+ // Quote values with spaces or special characters
99
+ const needsQuotes = /[\s"'=]/.test(strValue) || strValue.includes('\n');
100
+ const quotedValue = needsQuotes
101
+ ? `"${strValue.replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`
102
+ : strValue;
103
+ lines.push(`${key}=${quotedValue}`);
104
+ }
105
+ return lines.join('\n');
106
+ },
107
+ };
108
+ // ============================================================================
109
+ // Properties Parser (Java-style key=value)
110
+ // ============================================================================
111
+ const propertiesParser = {
112
+ parse(content) {
113
+ const result = {};
114
+ const lines = content.split('\n');
115
+ let currentKey = '';
116
+ let currentValue = '';
117
+ let continuation = false;
118
+ for (const line of lines) {
119
+ let trimmed = line;
120
+ // Handle line continuation
121
+ if (continuation) {
122
+ trimmed = trimmed.trimStart();
123
+ }
124
+ // Skip comments (# or !)
125
+ if (!continuation && (trimmed.startsWith('#') || trimmed.startsWith('!'))) {
126
+ continue;
127
+ }
128
+ // Skip empty lines
129
+ if (!continuation && trimmed.trim() === '') {
130
+ continue;
131
+ }
132
+ // Check for continuation (ends with unescaped \)
133
+ const endsWithBackslash = trimmed.endsWith('\\') && !trimmed.endsWith('\\\\');
134
+ if (endsWithBackslash) {
135
+ trimmed = trimmed.slice(0, -1);
136
+ }
137
+ if (continuation) {
138
+ currentValue += trimmed;
139
+ }
140
+ else {
141
+ // Find separator (= or :)
142
+ let sepIndex = -1;
143
+ for (let i = 0; i < trimmed.length; i++) {
144
+ const char = trimmed[i];
145
+ if ((char === '=' || char === ':') && (i === 0 || trimmed[i - 1] !== '\\')) {
146
+ sepIndex = i;
147
+ break;
148
+ }
149
+ }
150
+ if (sepIndex === -1) {
151
+ // Key without value
152
+ currentKey = trimmed.trim();
153
+ currentValue = '';
154
+ }
155
+ else {
156
+ currentKey = trimmed.slice(0, sepIndex).trim();
157
+ currentValue = trimmed.slice(sepIndex + 1).trimStart();
158
+ }
159
+ }
160
+ if (endsWithBackslash) {
161
+ continuation = true;
162
+ }
163
+ else {
164
+ // Unescape and store
165
+ result[currentKey] = currentValue.replace(/\\(.)/g, '$1');
166
+ continuation = false;
167
+ currentKey = '';
168
+ currentValue = '';
169
+ }
170
+ }
171
+ return result;
172
+ },
173
+ stringify(data) {
174
+ const lines = [];
175
+ for (const [key, value] of Object.entries(data)) {
176
+ if (value === null || value === undefined)
177
+ continue;
178
+ // Convert value to string safely
179
+ let strValue;
180
+ if (typeof value === 'object') {
181
+ strValue = JSON.stringify(value);
182
+ }
183
+ else if (typeof value === 'string') {
184
+ strValue = value;
185
+ }
186
+ else if (typeof value === 'number' || typeof value === 'boolean') {
187
+ strValue = String(value);
188
+ }
189
+ else {
190
+ strValue = JSON.stringify(value);
191
+ }
192
+ // Escape special characters
193
+ const escapedValue = strValue
194
+ .replace(/\\/g, '\\\\')
195
+ .replace(/\n/g, '\\n')
196
+ .replace(/\r/g, '\\r')
197
+ .replace(/\t/g, '\\t');
198
+ lines.push(`${key}=${escapedValue}`);
199
+ }
200
+ return lines.join('\n');
201
+ },
202
+ };
203
+ // ============================================================================
204
+ // TOML Parser
205
+ // ============================================================================
206
+ const tomlParser = {
207
+ parse(content) {
208
+ try {
209
+ const parsed = TOML.parse(content);
210
+ return parsed;
211
+ }
212
+ catch (err) {
213
+ throw new PatchError(`Invalid TOML: ${err.message}`, 'PARSE_ERROR', { content: content.slice(0, 100) });
214
+ }
215
+ },
216
+ stringify(data) {
217
+ try {
218
+ return TOML.stringify(data);
219
+ }
220
+ catch (err) {
221
+ throw new PatchError(`Cannot serialize to TOML: ${err.message}`, 'SERIALIZE_ERROR');
222
+ }
223
+ },
224
+ };
225
+ // ============================================================================
226
+ // Parser Registry
227
+ // ============================================================================
228
+ const parsers = {
229
+ json: jsonParser,
230
+ yaml: yamlParser,
231
+ env: envParser,
232
+ properties: propertiesParser,
233
+ toml: tomlParser,
234
+ };
235
+ /**
236
+ * Get a parser for a specific format
237
+ */
238
+ export function getParser(format) {
239
+ return parsers[format];
240
+ }
241
+ // ============================================================================
242
+ // Format Detection
243
+ // ============================================================================
244
+ /**
245
+ * Detect format from content type or subType
246
+ */
247
+ export function detectFormatFromMetadata(contentType, subType) {
248
+ // Check subType first (more specific)
249
+ if (subType) {
250
+ const subTypeLower = subType.toLowerCase();
251
+ if (subTypeLower === 'json')
252
+ return 'json';
253
+ if (subTypeLower === 'yaml' || subTypeLower === 'yml')
254
+ return 'yaml';
255
+ if (subTypeLower === 'env' || subTypeLower === 'dotenv')
256
+ return 'env';
257
+ if (subTypeLower === 'properties' || subTypeLower === 'props')
258
+ return 'properties';
259
+ if (subTypeLower === 'toml')
260
+ return 'toml';
261
+ }
262
+ // Check contentType
263
+ if (contentType) {
264
+ const ct = contentType.toLowerCase();
265
+ if (ct.includes('json'))
266
+ return 'json';
267
+ if (ct.includes('yaml') || ct.includes('yml'))
268
+ return 'yaml';
269
+ if (ct.includes('toml'))
270
+ return 'toml';
271
+ if (ct.includes('properties'))
272
+ return 'properties';
273
+ }
274
+ return undefined;
275
+ }
276
+ /**
277
+ * Detect format from content heuristics
278
+ */
279
+ export function detectFormatFromContent(content) {
280
+ const trimmed = content.trim();
281
+ // JSON: starts with { or [
282
+ if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
283
+ try {
284
+ JSON.parse(trimmed);
285
+ return 'json';
286
+ }
287
+ catch {
288
+ // Not valid JSON, continue
289
+ }
290
+ }
291
+ // TOML: has [section] headers or key = "value" syntax
292
+ if (/^\[[^\]]+\]/m.test(trimmed) ||
293
+ /^[a-zA-Z_][a-zA-Z0-9_]*\s*=\s*["']/m.test(trimmed)) {
294
+ try {
295
+ TOML.parse(trimmed);
296
+ return 'toml';
297
+ }
298
+ catch {
299
+ // Not valid TOML, continue
300
+ }
301
+ }
302
+ // YAML: has --- header, indentation-based nesting, or : separator
303
+ if (trimmed.startsWith('---') ||
304
+ /^\s+[a-zA-Z_][a-zA-Z0-9_-]*:/m.test(trimmed) ||
305
+ /^[a-zA-Z_][a-zA-Z0-9_-]*:\s*$/m.test(trimmed)) {
306
+ try {
307
+ const parsed = YAML.parse(trimmed);
308
+ if (typeof parsed === 'object' && parsed !== null) {
309
+ return 'yaml';
310
+ }
311
+ }
312
+ catch {
313
+ // Not valid YAML, continue
314
+ }
315
+ }
316
+ // ENV/Properties: KEY=value format
317
+ const lines = trimmed.split('\n').filter(l => l.trim() !== '' && !l.trim().startsWith('#'));
318
+ const envLikeLines = lines.filter(l => /^[A-Z_][A-Z0-9_]*=/.test(l.trim()));
319
+ if (envLikeLines.length > 0 && envLikeLines.length === lines.length) {
320
+ return 'env';
321
+ }
322
+ // Properties: key=value or key: value format (lowercase allowed)
323
+ const propsLikeLines = lines.filter(l => /^[a-zA-Z_][a-zA-Z0-9._-]*\s*[=:]/.test(l.trim()));
324
+ if (propsLikeLines.length > 0 && propsLikeLines.length === lines.length) {
325
+ return 'properties';
326
+ }
327
+ // Default to JSON
328
+ return 'json';
329
+ }
330
+ /**
331
+ * Detect format with priority:
332
+ * 1. Explicit format option
333
+ * 2. Metadata (contentType, subType)
334
+ * 3. Content heuristics
335
+ */
336
+ export function detectFormat(content, explicitFormat, contentType, subType) {
337
+ // Explicit format takes priority
338
+ if (explicitFormat) {
339
+ return explicitFormat;
340
+ }
341
+ // Try metadata
342
+ const fromMetadata = detectFormatFromMetadata(contentType, subType);
343
+ if (fromMetadata) {
344
+ return fromMetadata;
345
+ }
346
+ // Fall back to content heuristics
347
+ return detectFormatFromContent(content);
348
+ }
349
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../../src/commands/secret/patch/parsers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Type definitions for secret patch command
3
+ */
4
+ /**
5
+ * Supported patch operations
6
+ */
7
+ export type PatchOperationType = 'set' | 'unset';
8
+ /**
9
+ * A single patch operation to apply
10
+ */
11
+ export interface PatchOperation {
12
+ type: PatchOperationType;
13
+ path: string;
14
+ value?: unknown;
15
+ }
16
+ /**
17
+ * Supported data formats for secrets
18
+ */
19
+ export type SecretFormat = 'json' | 'yaml' | 'env' | 'properties' | 'toml';
20
+ /**
21
+ * All supported formats as an array for validation
22
+ */
23
+ export declare const SUPPORTED_FORMATS: SecretFormat[];
24
+ /**
25
+ * A parsed path segment - can be a key or array index
26
+ */
27
+ export type PathSegment = {
28
+ type: 'key';
29
+ key: string;
30
+ } | {
31
+ type: 'index';
32
+ index: number;
33
+ } | {
34
+ type: 'append';
35
+ };
36
+ /**
37
+ * A fully parsed path with segments
38
+ */
39
+ export interface ParsedPath {
40
+ segments: PathSegment[];
41
+ raw: string;
42
+ }
43
+ /**
44
+ * Options for the patch command
45
+ */
46
+ export interface PatchOptions {
47
+ set?: string[];
48
+ unset?: string[];
49
+ format?: SecretFormat;
50
+ dryRun?: boolean;
51
+ json?: boolean;
52
+ }
53
+ /**
54
+ * Result of applying a patch operation
55
+ */
56
+ export interface PatchResult {
57
+ success: boolean;
58
+ originalValue?: unknown;
59
+ newValue: unknown;
60
+ operations: AppliedOperation[];
61
+ format: SecretFormat;
62
+ diff?: DiffResult;
63
+ }
64
+ /**
65
+ * Details of an applied operation
66
+ */
67
+ export interface AppliedOperation {
68
+ type: PatchOperationType;
69
+ path: string;
70
+ previousValue?: unknown;
71
+ newValue?: unknown;
72
+ }
73
+ /**
74
+ * Diff result for dry-run mode
75
+ */
76
+ export interface DiffResult {
77
+ before: string;
78
+ after: string;
79
+ changes: DiffChange[];
80
+ }
81
+ /**
82
+ * A single change in the diff
83
+ */
84
+ export interface DiffChange {
85
+ type: 'add' | 'remove' | 'modify';
86
+ path: string;
87
+ oldValue?: unknown;
88
+ newValue?: unknown;
89
+ }
90
+ /**
91
+ * Interface for format parsers
92
+ */
93
+ export interface FormatParser {
94
+ parse(content: string): Record<string, unknown>;
95
+ stringify(data: Record<string, unknown>): string;
96
+ }
97
+ /**
98
+ * Custom error for patch operations
99
+ */
100
+ export declare class PatchError extends Error {
101
+ readonly code: PatchErrorCode;
102
+ readonly details?: Record<string, unknown> | undefined;
103
+ constructor(message: string, code: PatchErrorCode, details?: Record<string, unknown> | undefined);
104
+ }
105
+ /**
106
+ * Error codes for patch operations
107
+ */
108
+ export type PatchErrorCode = 'INVALID_PATH' | 'INVALID_VALUE' | 'INVALID_FORMAT' | 'PARSE_ERROR' | 'SERIALIZE_ERROR' | 'PATH_NOT_FOUND' | 'TYPE_MISMATCH' | 'UNSUPPORTED_OPERATION';
109
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/secret/patch/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AAMH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAAkD,CAAC;AAM/F;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;CAClD;AAMD;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;aAGjB,IAAI,EAAE,cAAc;aACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,uBAAuB,CAAC"}
@@ -0,0 +1,22 @@
1
+ // Path: src/commands/secret/patch/types.ts
2
+ /**
3
+ * All supported formats as an array for validation
4
+ */
5
+ export const SUPPORTED_FORMATS = ['json', 'yaml', 'env', 'properties', 'toml'];
6
+ // ============================================================================
7
+ // Error Types
8
+ // ============================================================================
9
+ /**
10
+ * Custom error for patch operations
11
+ */
12
+ export class PatchError extends Error {
13
+ code;
14
+ details;
15
+ constructor(message, code, details) {
16
+ super(message);
17
+ this.code = code;
18
+ this.details = details;
19
+ this.name = 'PatchError';
20
+ }
21
+ }
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/commands/secret/patch/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAiC3C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AA8F/F,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGjB;IACA;IAHlB,YACE,OAAe,EACC,IAAoB,EACpB,OAAiC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAgB;QACpB,YAAO,GAAP,OAAO,CAA0B;QAGjD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Secret patch command - partial modification of secret data
3
+ *
4
+ * Supports JSON, YAML, env, properties, and TOML formats
5
+ * Uses CLI-side merging: decrypt -> parse -> patch -> full update
6
+ */
7
+ import type { Command } from 'commander';
8
+ export declare function registerPatchCommand(secretCmd: Command): void;
9
+ //# sourceMappingURL=patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/commands/secret/patch.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DzC,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA6N7D"}