@vibe-validate/git 0.19.0-rc.10 → 0.19.0-rc.12

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.
@@ -8,31 +8,61 @@
8
8
  */
9
9
  import type { TreeHash, NotesRef } from './types.js';
10
10
  /**
11
- * Add or update a git note with atomic compare-and-swap
11
+ * Strategy for merging note content when a note already exists.
12
12
  *
13
- * Implements atomic optimistic locking using git plumbing commands.
14
- * When a conflict is detected:
15
- * 1. Read the current notes ref commit SHA (snapshot)
16
- * 2. Read and merge the existing note
17
- * 3. Build a new notes commit with merged content
18
- * 4. Atomically update the ref only if it hasn't changed (compare-and-swap)
19
- * 5. If ref changed, retry from step 1
13
+ * Pure function: given existing note content and incoming content, produce merged output.
14
+ * Each strategy is independently testable.
15
+ */
16
+ export type NoteMergeStrategy = (existing: string, incoming: string) => string;
17
+ /**
18
+ * Merge strategy: replace existing note entirely with incoming content.
19
+ *
20
+ * Used by run cache where each entry is deterministic (same tree + command = same result).
21
+ */
22
+ export declare const mergeReplace: NoteMergeStrategy;
23
+ /**
24
+ * Merge strategy: append runs arrays from both notes, new fields win.
25
+ *
26
+ * Used by validation history where multiple runs accumulate per tree hash.
27
+ * Parses YAML with `uniqueKeys: false` to tolerate corrupted notes with duplicate keys.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * // Existing note has run-1, incoming has run-2 → merged has both
32
+ * const merged = mergeAppendRuns(existingYaml, incomingYaml);
33
+ * ```
34
+ */
35
+ export declare const mergeAppendRuns: NoteMergeStrategy;
36
+ /**
37
+ * Add or update a git note
20
38
  *
21
- * This prevents data loss when multiple worktrees validate simultaneously.
39
+ * One code path for all callers:
40
+ * 1. Try `git notes add` (fast path for new notes — no merge needed)
41
+ * 2. If note exists: read → apply merge strategy → `git notes add -f`
42
+ *
43
+ * The merge strategy controls what happens when a note already exists.
44
+ * Default is `mergeReplace` (incoming content wins). Use `mergeAppendRuns`
45
+ * for validation history where runs accumulate per tree hash.
46
+ *
47
+ * Note: There is a small TOCTOU window between read and force-write.
48
+ * This is acceptable for history/cache data.
22
49
  *
23
50
  * @param notesRef - The notes reference (e.g., 'vibe-validate/validate')
24
51
  * @param object - The git tree hash to attach the note to (must be from getGitTreeHash())
25
52
  * @param content - The note content
26
- * @param force - Whether to skip optimistic locking and force overwrite
53
+ * @param merge - Strategy for merging with existing note (default: mergeReplace)
27
54
  * @returns true if note was added successfully
28
55
  *
29
56
  * @example
30
57
  * ```typescript
31
- * const treeHash = await getGitTreeHash();
32
- * addNote('vibe-validate/validate', treeHash, noteContent, false);
58
+ * // Run cache: replace existing (default)
59
+ * addNote('vibe-validate/run/abc/key', treeHash, cacheYaml);
60
+ *
61
+ * // Validation history: append runs
62
+ * addNote('vibe-validate/validate', treeHash, historyYaml, mergeAppendRuns);
33
63
  * ```
34
64
  */
35
- export declare function addNote(notesRef: NotesRef, object: TreeHash, content: string, force?: boolean): boolean;
65
+ export declare function addNote(notesRef: NotesRef, object: TreeHash, content: string, merge?: NoteMergeStrategy): boolean;
36
66
  /**
37
67
  * Read a git note
38
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"git-notes.d.ts","sourceRoot":"","sources":["../src/git-notes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA2OrD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,OAAe,GACrB,OAAO,CA6DT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAU5E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAOxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAqB9D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAOrE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAczD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgCzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWrD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa9D"}
1
+ {"version":3,"file":"git-notes.d.ts","sourceRoot":"","sources":["../src/git-notes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,iBAAqD,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,EAAE,iBAuB7B,CAAC;AA0CF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,iBAAgC,GACtC,OAAO,CAoBT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAU5E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAOxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAqB9D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAOrE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAczD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgCzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWrD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa9D"}
package/dist/git-notes.js CHANGED
@@ -10,265 +10,115 @@ import { toForwardSlash } from '@vibe-validate/utils';
10
10
  import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
11
11
  import { executeGitCommand, tryGitCommand, validateNotesRef, validateTreeHash, } from './git-executor.js';
12
12
  /**
13
- * Create a blob from content using git hash-object
13
+ * Merge strategy: replace existing note entirely with incoming content.
14
14
  *
15
- * @param content - The content to store as a blob
16
- * @returns The blob SHA
15
+ * Used by run cache where each entry is deterministic (same tree + command = same result).
17
16
  */
18
- function createBlob(content) {
19
- const result = executeGitCommand(['hash-object', '-w', '--stdin'], {
20
- stdin: content,
21
- });
22
- return result.stdout;
23
- }
24
- /**
25
- * Read tree entries from a commit
26
- *
27
- * @param commitSha - The commit SHA to read the tree from
28
- * @returns Array of tree entries
29
- */
30
- function readTreeEntries(commitSha) {
31
- const result = executeGitCommand(['ls-tree', commitSha], {
32
- ignoreErrors: true,
33
- });
34
- if (!result.success || !result.stdout) {
35
- return [];
36
- }
37
- const entries = [];
38
- for (const line of result.stdout.split('\n')) {
39
- if (!line)
40
- continue;
41
- // Format: "MODE TYPE SHA\tNAME" (note: TAB before name, not space)
42
- // Use split to avoid backtracking regex issues
43
- const parts = line.split(/\s+/);
44
- if (parts.length < 4)
45
- continue;
46
- const mode = parts[0];
47
- const type = parts[1];
48
- const sha = parts[2];
49
- // Name may contain spaces, so join the rest
50
- const name = parts.slice(3).join(' ');
51
- // Validate format
52
- if (!/^\d+$/.test(mode))
53
- continue;
54
- if (type !== 'blob' && type !== 'tree')
55
- continue;
56
- if (!/^[0-9a-f]+$/.test(sha))
57
- continue;
58
- entries.push({
59
- mode,
60
- type,
61
- sha,
62
- name,
63
- });
64
- }
65
- return entries;
66
- }
17
+ export const mergeReplace = (_existing, incoming) => incoming;
67
18
  /**
68
- * Create a tree from entries using git mktree
19
+ * Merge strategy: append runs arrays from both notes, new fields win.
69
20
  *
70
- * @param entries - Array of tree entries
71
- * @returns The tree SHA
72
- */
73
- function createTree(entries) {
74
- // Format for mktree: "MODE TYPE SHA\tNAME"
75
- const input = entries
76
- .map((e) => `${e.mode} ${e.type} ${e.sha}\t${e.name}`)
77
- .join('\n');
78
- const result = executeGitCommand(['mktree'], {
79
- stdin: input,
80
- });
81
- return result.stdout;
82
- }
83
- /**
84
- * Create a notes commit using git commit-tree
21
+ * Used by validation history where multiple runs accumulate per tree hash.
22
+ * Parses YAML with `uniqueKeys: false` to tolerate corrupted notes with duplicate keys.
85
23
  *
86
- * @param treeSha - The tree SHA
87
- * @param parentSha - The parent commit SHA (or null for first commit)
88
- * @param message - Commit message
89
- * @returns The commit SHA
24
+ * @example
25
+ * ```typescript
26
+ * // Existing note has run-1, incoming has run-2 → merged has both
27
+ * const merged = mergeAppendRuns(existingYaml, incomingYaml);
28
+ * ```
90
29
  */
91
- function createNotesCommit(treeSha, parentSha, message) {
92
- const args = ['commit-tree', treeSha, '-m', message];
93
- if (parentSha) {
94
- args.push('-p', parentSha);
30
+ export const mergeAppendRuns = (existing, incoming) => {
31
+ try {
32
+ const existingData = parseYaml(existing, { uniqueKeys: false });
33
+ const newData = parseYaml(incoming, { uniqueKeys: false });
34
+ const existingRuns = Array.isArray(existingData?.runs) ? existingData.runs : [];
35
+ const newRuns = Array.isArray(newData?.runs) ? newData.runs : [];
36
+ const merged = {
37
+ ...existingData,
38
+ ...newData,
39
+ };
40
+ // Only include runs when at least one side has them (avoids spurious runs: [] on cache notes)
41
+ if (existingRuns.length > 0 || newRuns.length > 0) {
42
+ merged.runs = [...existingRuns, ...newRuns];
43
+ }
44
+ return stringifyYaml(merged);
95
45
  }
96
- const result = executeGitCommand(args);
97
- return result.stdout;
98
- }
99
- /**
100
- * Atomically update a ref using compare-and-swap
101
- *
102
- * @param ref - The ref to update (e.g., 'refs/notes/vibe-validate/validate')
103
- * @param newSha - The new commit SHA
104
- * @param oldSha - The expected current commit SHA (or null for new ref)
105
- * @returns true if update succeeded, false if ref changed (CAS failure)
106
- */
107
- function atomicUpdateRef(ref, newSha, oldSha) {
108
- const args = ['update-ref', ref, newSha];
109
- if (oldSha) {
110
- args.push(oldSha);
46
+ catch {
47
+ // If parsing fails, prefer new note (latest data)
48
+ return incoming;
111
49
  }
112
- const result = executeGitCommand(args, {
113
- ignoreErrors: true,
114
- suppressStderr: true,
115
- });
116
- return result.success;
117
- }
50
+ };
118
51
  /**
119
- * Attempt atomic merge of a note (single retry attempt)
52
+ * Attempt to merge an existing note with new content
53
+ *
54
+ * Uses `git notes add -f` for the write, which correctly handles
55
+ * git notes fan-out (2-character subdirectories).
120
56
  *
121
57
  * @param notesRef - The notes reference
122
- * @param fullRef - The full ref path (refs/notes/...)
123
58
  * @param object - The object to attach the note to
124
59
  * @param content - The new note content to merge
125
- * @returns true if merge succeeded, false if CAS failed or error occurred
60
+ * @param merge - The merge strategy to apply
61
+ * @returns true if merge succeeded, false on error
126
62
  */
127
- function attemptAtomicMerge(notesRef, fullRef, object, content) {
128
- // Step 1: Get current notes ref commit SHA (snapshot for compare-and-swap)
129
- const currentCommitSha = getNotesRefSha(notesRef);
130
- if (!currentCommitSha) {
131
- return false; // Ref disappeared (benign race condition)
132
- }
133
- // Step 2: Read existing note and merge
63
+ function attemptMerge(notesRef, object, content, merge = mergeAppendRuns) {
64
+ // Step 1: Read existing note
134
65
  const existingNote = readNote(notesRef, object);
135
66
  if (existingNote === null) {
136
67
  return false; // Note disappeared (benign race condition)
137
68
  }
138
- const merged = mergeNotes(existingNote, content);
139
- // Step 3: Build new notes commit atomically
140
- try {
141
- // Read current tree entries
142
- const entries = readTreeEntries(currentCommitSha);
143
- // Create blob with merged content
144
- const blobSha = createBlob(merged);
145
- // Update or add entry for this object
146
- const existingEntryIndex = entries.findIndex((e) => e.name === object);
147
- const newEntry = {
148
- mode: '100644',
149
- type: 'blob',
150
- sha: blobSha,
151
- name: object,
152
- };
153
- if (existingEntryIndex >= 0) {
154
- entries[existingEntryIndex] = newEntry;
155
- }
156
- else {
157
- entries.push(newEntry);
158
- }
159
- // Create new tree
160
- const treeSha = createTree(entries);
161
- // Create new commit
162
- const commitSha = createNotesCommit(treeSha, currentCommitSha, 'Notes added by vibe-validate');
163
- // Step 4: Atomically update ref (compare-and-swap)
164
- return atomicUpdateRef(fullRef, commitSha, currentCommitSha);
165
- }
166
- catch {
167
- return false; // Git plumbing operation failed (will retry)
168
- }
69
+ // Step 2: Apply merge strategy
70
+ const merged = merge(existingNote, content);
71
+ // Step 3: Force-write merged content (git handles fan-out correctly)
72
+ const result = executeGitCommand(['notes', `--ref=${notesRef}`, 'add', '-f', '-F', '-', object], {
73
+ stdin: merged,
74
+ ignoreErrors: true,
75
+ suppressStderr: true,
76
+ });
77
+ return result.success;
169
78
  }
170
79
  /**
171
- * Merge two git notes containing validation run history
80
+ * Add or update a git note
172
81
  *
173
- * Strategy: Parse both notes as YAML, append new runs to existing runs.
174
- * No conflict resolution needed - each run is independent and timestamped.
82
+ * One code path for all callers:
83
+ * 1. Try `git notes add` (fast path for new notes — no merge needed)
84
+ * 2. If note exists: read → apply merge strategy → `git notes add -f`
175
85
  *
176
- * @param existingNote - Existing note content (YAML)
177
- * @param newNote - New note content to merge (YAML)
178
- * @returns Merged note content
179
- */
180
- function mergeNotes(existingNote, newNote) {
181
- try {
182
- const existing = parseYaml(existingNote);
183
- const newData = parseYaml(newNote);
184
- // Extract runs arrays (handle both single object and array formats)
185
- const existingRuns = Array.isArray(existing.runs) ? existing.runs : [];
186
- const newRuns = Array.isArray(newData.runs) ? newData.runs : [];
187
- // Merge: append new runs to existing
188
- const merged = {
189
- ...existing,
190
- runs: [...existingRuns, ...newRuns],
191
- };
192
- return stringifyYaml(merged);
193
- }
194
- catch {
195
- // If parsing fails, prefer new note (latest data)
196
- return newNote;
197
- }
198
- }
199
- /**
200
- * Add or update a git note with atomic compare-and-swap
201
- *
202
- * Implements atomic optimistic locking using git plumbing commands.
203
- * When a conflict is detected:
204
- * 1. Read the current notes ref commit SHA (snapshot)
205
- * 2. Read and merge the existing note
206
- * 3. Build a new notes commit with merged content
207
- * 4. Atomically update the ref only if it hasn't changed (compare-and-swap)
208
- * 5. If ref changed, retry from step 1
86
+ * The merge strategy controls what happens when a note already exists.
87
+ * Default is `mergeReplace` (incoming content wins). Use `mergeAppendRuns`
88
+ * for validation history where runs accumulate per tree hash.
209
89
  *
210
- * This prevents data loss when multiple worktrees validate simultaneously.
90
+ * Note: There is a small TOCTOU window between read and force-write.
91
+ * This is acceptable for history/cache data.
211
92
  *
212
93
  * @param notesRef - The notes reference (e.g., 'vibe-validate/validate')
213
94
  * @param object - The git tree hash to attach the note to (must be from getGitTreeHash())
214
95
  * @param content - The note content
215
- * @param force - Whether to skip optimistic locking and force overwrite
96
+ * @param merge - Strategy for merging with existing note (default: mergeReplace)
216
97
  * @returns true if note was added successfully
217
98
  *
218
99
  * @example
219
100
  * ```typescript
220
- * const treeHash = await getGitTreeHash();
221
- * addNote('vibe-validate/validate', treeHash, noteContent, false);
101
+ * // Run cache: replace existing (default)
102
+ * addNote('vibe-validate/run/abc/key', treeHash, cacheYaml);
103
+ *
104
+ * // Validation history: append runs
105
+ * addNote('vibe-validate/validate', treeHash, historyYaml, mergeAppendRuns);
222
106
  * ```
223
107
  */
224
- export function addNote(notesRef, object, content, force = false) {
108
+ export function addNote(notesRef, object, content, merge = mergeReplace) {
225
109
  validateNotesRef(notesRef);
226
110
  validateTreeHash(object);
227
- // Convert short ref to full ref
228
- const fullRef = notesRef.startsWith('refs/')
229
- ? notesRef
230
- : `refs/notes/${notesRef}`;
231
- // If force is true, skip optimistic locking (legacy behavior)
232
- if (force) {
233
- const args = ['notes', `--ref=${notesRef}`, 'add', '-f', '-F', '-', object];
234
- const result = executeGitCommand(args, {
235
- stdin: content,
236
- ignoreErrors: true,
237
- suppressStderr: true,
238
- });
239
- return result.success;
240
- }
241
- // Fast path: Try to add note without force (for new notes)
111
+ // Fast path: Try to add note (works for new notes — no merge needed)
242
112
  const addResult = executeGitCommand(['notes', `--ref=${notesRef}`, 'add', '-F', '-', object], {
243
113
  stdin: content,
244
114
  ignoreErrors: true,
245
115
  suppressStderr: true,
246
116
  });
247
117
  if (addResult.success) {
248
- return true; // Success! Note didn't exist, added cleanly
249
- }
250
- // Fast path failed - assume conflict and try atomic merge
251
- // No need to parse stderr strings (fragile, locale-dependent, breaks across git versions)
252
- // The atomic merge will fail safely if it's not actually a conflict
253
- // Try atomic merge path with retry
254
- const maxRetries = 3;
255
- for (let attempt = 1; attempt <= maxRetries; attempt++) {
256
- const success = attemptAtomicMerge(notesRef, fullRef, object, content);
257
- if (success) {
258
- // Success! Log for debugging if we had to retry (indicates concurrent writes)
259
- if (attempt > 1) {
260
- console.error(`[vibe-validate] Atomic merge succeeded on attempt ${attempt}/${maxRetries}`);
261
- }
262
- return true;
263
- }
264
- // Failed - retry if not last attempt
265
- if (attempt === maxRetries) {
266
- // All retries exhausted - log for debugging
267
- console.error(`[vibe-validate] Atomic merge failed after ${maxRetries} attempts for ${object.slice(0, 12)}`);
268
- return false;
269
- }
118
+ return true; // Note didn't exist, added cleanly
270
119
  }
271
- return false;
120
+ // Note exists — read, apply merge strategy, force-write
121
+ return attemptMerge(notesRef, object, content, merge);
272
122
  }
273
123
  /**
274
124
  * Read a git note
@@ -1 +1 @@
1
- {"version":3,"file":"git-notes.js","sourceRoot":"","sources":["../src/git-notes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-notes.js","sourceRoot":"","sources":["../src/git-notes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAEtE,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAW3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACvE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjE,MAAM,MAAM,GAA4B;YACtC,GAAG,YAAY;YACf,GAAG,OAAO;SACX,CAAC;QAEF,8FAA8F;QAC9F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CACnB,QAAkB,EAClB,MAAgB,EAChB,OAAe,EACf,QAA2B,eAAe;IAE1C,6BAA6B;IAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,CAAC,2CAA2C;IAC3D,CAAC;IAED,+BAA+B;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE5C,qEAAqE;IACrE,MAAM,MAAM,GAAG,iBAAiB,CAC9B,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAC9D;QACE,KAAK,EAAE,MAAM;QACb,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;KACrB,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,OAAO,CACrB,QAAkB,EAClB,MAAgB,EAChB,OAAe,EACf,QAA2B,YAAY;IAEvC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,qEAAqE;IACrE,MAAM,SAAS,GAAG,iBAAiB,CACjC,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EACxD;QACE,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;KACrB,CACF,CAAC;IAEF,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,CAAC,mCAAmC;IAClD,CAAC;IAED,wDAAwD;IACxD,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAkB,EAAE,MAAgB;IAC3D,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAC/E,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,QAAkB,EAAE,MAAgB;IAC7D,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,aAAa,CAAC,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;QACrE,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB;IAChD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE;QAC9E,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAe,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,OAAO,CAAC,IAAI,CAAC,SAAqB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,OAAO,CAAC,QAAkB,EAAE,MAAgB;IAC1D,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,aAAa,CAAC,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QACnE,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,iBAAiB;IACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC;IAEvG,MAAM,MAAM,GAAG,iBAAiB,CAC9B,CAAC,cAAc,EAAE,qBAAqB,EAAE,QAAQ,CAAC,EACjD,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAC7C,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,iBAAiB;IACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC;IAEvG,gEAAgE;IAChE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,4DAA4D,QAAQ,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,wDAAwD;QACxD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;YACvD,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE3B,4CAA4C;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,cAAc,QAAQ,EAAE,CAAC;IAE7B,OAAO,aAAa,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QACvD,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,cAAc,QAAQ,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QACnE,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -14,7 +14,8 @@ export { encodeRunCacheKey } from './cache-key.js';
14
14
  export { extractYamlContent, extractYamlWithPreamble } from './yaml-detection.js';
15
15
  export { isGitRepository, getGitDir, getRepositoryRoot, getCurrentBranch, getRemoteUrl, getHeadCommitSha, getHeadTreeSha, verifyRef, verifyRefOrThrow, hasNotesRef, isMergeInProgress, getDiffStats, getCommitCount, getNotesRefs } from './git-commands.js';
16
16
  export { executeGitCommand, execGitCommand, tryGitCommand, validateGitRef, validateNotesRef, validateTreeHash, type GitExecutionOptions, type GitExecutionResult } from './git-executor.js';
17
- export { addNote, readNote, removeNote, listNoteObjects, hasNote, listNotesRefs, removeNotesRefs, getNotesRefSha } from './git-notes.js';
17
+ export { addNote, readNote, removeNote, listNoteObjects, hasNote, listNotesRefs, removeNotesRefs, getNotesRefSha, mergeReplace, mergeAppendRuns, } from './git-notes.js';
18
+ export type { NoteMergeStrategy } from './git-notes.js';
18
19
  export { getStagedFiles, getPartiallyStagedFiles } from './staging.js';
19
20
  export { isCurrentBranchBehindTracking } from './tracking-branch.js';
20
21
  export { fetchPRDetails, fetchPRChecks, getCurrentPR, listPullRequests, fetchRunLogs, fetchRunDetails, fetchRunJobs, listWorkflowRuns, type GitHubPullRequest, type GitHubRun, type GitHubJob } from './gh-commands.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGhF,OAAO,EACL,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,cAAc,EACf,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,cAAc,EACd,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EACL,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGhF,OAAO,EACL,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EACL,cAAc,EACd,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EACL,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ export { isGitRepository, getGitDir, getRepositoryRoot, getCurrentBranch, getRem
21
21
  // Secure git command execution (low-level - use high-level APIs when possible)
22
22
  export { executeGitCommand, execGitCommand, tryGitCommand, validateGitRef, validateNotesRef, validateTreeHash } from './git-executor.js';
23
23
  // Git notes operations (high-level abstraction)
24
- export { addNote, readNote, removeNote, listNoteObjects, hasNote, listNotesRefs, removeNotesRefs, getNotesRefSha } from './git-notes.js';
24
+ export { addNote, readNote, removeNote, listNoteObjects, hasNote, listNotesRefs, removeNotesRefs, getNotesRefSha, mergeReplace, mergeAppendRuns, } from './git-notes.js';
25
25
  // Git staging detection (prevent partially staged files in pre-commit)
26
26
  export { getStagedFiles, getPartiallyStagedFiles } from './staging.js';
27
27
  // Git tracking branch detection (check if current branch is behind remote)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,uDAAuD;AACvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,6CAA6C;AAC7C,OAAO,EACL,iBAAiB,EACjB,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AAE1B,8CAA8C;AAC9C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;AAEjC,qCAAqC;AACrC,OAAO,EACL,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,wBAAwB;AACxB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,4DAA4D;AAC5D,OAAO,EACL,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAGjB,MAAM,mBAAmB,CAAC;AAE3B,gDAAgD;AAChD,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAEtB,2EAA2E;AAC3E,OAAO,EACL,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAE9B,yDAAyD;AACzD,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAE1B,6DAA6D;AAC7D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EAOhB,MAAM,qBAAqB,CAAC;AAK7B,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,uDAAuD;AACvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,6CAA6C;AAC7C,OAAO,EACL,iBAAiB,EACjB,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AAE1B,8CAA8C;AAC9C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;AAEjC,qCAAqC;AACrC,OAAO,EACL,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,wBAAwB;AACxB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,4DAA4D;AAC5D,OAAO,EACL,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAGjB,MAAM,mBAAmB,CAAC;AAE3B,gDAAgD;AAChD,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAEtB,2EAA2E;AAC3E,OAAO,EACL,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAE9B,yDAAyD;AACzD,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAE1B,6DAA6D;AAC7D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EAOhB,MAAM,qBAAqB,CAAC;AAK7B,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-validate/git",
3
- "version": "0.19.0-rc.10",
3
+ "version": "0.19.0-rc.12",
4
4
  "description": "Git utilities for vibe-validate - tree hash calculation, branch sync, and post-merge cleanup",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "yaml": "^2.8.2",
42
- "@vibe-validate/utils": "0.19.0-rc.10"
42
+ "@vibe-validate/utils": "0.19.0-rc.12"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.19.2",