@eldrforge/kodrdriv 1.2.1 → 1.2.3
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/application.js +7 -19
- package/dist/application.js.map +1 -1
- package/dist/arguments.js +345 -96
- package/dist/arguments.js.map +1 -1
- package/dist/commands/clean.js +1 -1
- package/dist/commands/clean.js.map +1 -1
- package/dist/commands/commit.js +59 -14
- package/dist/commands/commit.js.map +1 -1
- package/dist/commands/link.js +200 -11
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/release.js +9 -3
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/review.js +356 -145
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/tree.js +111 -250
- package/dist/commands/tree.js.map +1 -1
- package/dist/commands/unlink.js +238 -10
- package/dist/commands/unlink.js.map +1 -1
- package/dist/constants.js +28 -12
- package/dist/constants.js.map +1 -1
- package/dist/content/issues.js +1 -1
- package/dist/error/CommandErrors.js +8 -1
- package/dist/error/CommandErrors.js.map +1 -1
- package/dist/prompt/commit.js +6 -0
- package/dist/prompt/commit.js.map +1 -1
- package/dist/prompt/instructions/review.md +13 -3
- package/dist/util/openai.js +70 -9
- package/dist/util/openai.js.map +1 -1
- package/dist/util/validation.js +24 -1
- package/dist/util/validation.js.map +1 -1
- package/package.json +2 -2
- package/test-external-unlink/package.json +16 -0
- package/test-externals/package.json +8 -0
- package/test-review-flow.sh +15 -0
- package/test-sort-files/alpha.md +3 -0
- package/test-sort-files/middle.txt +3 -0
- package/test-sort-files/zebra.txt +3 -0
- package/test_output.txt +161 -0
- package/dist/types.js +0 -140
- package/dist/types.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eldrforge/kodrdriv",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "Create Intelligent Release Notes or Change Logs from Git",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"type": "module",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"glob": "^11.0.3",
|
|
49
49
|
"js-yaml": "^4.1.0",
|
|
50
50
|
"moment-timezone": "^0.6.0",
|
|
51
|
-
"openai": "^5.
|
|
51
|
+
"openai": "^5.12.2",
|
|
52
52
|
"semver": "^7.7.2",
|
|
53
53
|
"shell-escape": "^0.2.0",
|
|
54
54
|
"winston": "^3.17.0",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@test/external-unlink-test",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Test package for external unlink patterns",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@somelib/core": "^1.0.0",
|
|
8
|
+
"@somelib/utils": "^1.0.0",
|
|
9
|
+
"lodash": "^4.17.21",
|
|
10
|
+
"express": "^4.18.2"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@somelib/dev": "^1.0.0",
|
|
14
|
+
"jest": "^29.0.0"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
echo "Testing the new two-phase review flow..."
|
|
4
|
+
echo "This will test the file selection phase and then the analysis phase"
|
|
5
|
+
|
|
6
|
+
# Test with a single file in the test-project directory
|
|
7
|
+
echo "Test review note content" > test-project/test-review.md
|
|
8
|
+
|
|
9
|
+
echo "Running review command in test-project directory..."
|
|
10
|
+
echo "You should see:"
|
|
11
|
+
echo "1. File selection phase with c/s/a options"
|
|
12
|
+
echo "2. Analysis phase after files are selected"
|
|
13
|
+
|
|
14
|
+
cd test-project
|
|
15
|
+
../dist/main.js review --directory .
|
package/test_output.txt
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
|
|
2
|
+
> @eldrforge/kodrdriv@1.2.3-dev.0 test
|
|
3
|
+
> vitest run --coverage tests/commands/tree.test.ts
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
RUN v3.2.4 /Users/tobrien/gitw/calenvarek/kodrdriv
|
|
7
|
+
Coverage enabled with v8
|
|
8
|
+
|
|
9
|
+
❯ tests/commands/tree.test.ts (60 tests | 6 failed) 57ms
|
|
10
|
+
✓ tree > execute > should handle empty directory with no package.json files 3ms
|
|
11
|
+
✓ tree > execute > should scan and build dependency graph for simple packages 1ms
|
|
12
|
+
✓ tree > execute > should handle circular dependencies 1ms
|
|
13
|
+
✓ tree > execute > should exclude packages based on patterns 1ms
|
|
14
|
+
✓ tree > execute > should start from specified package 1ms
|
|
15
|
+
✓ tree > execute > should throw error for invalid startFrom package 0ms
|
|
16
|
+
✓ tree > execute > should stop at specified package 0ms
|
|
17
|
+
✓ tree > execute > should stop at specified package with multiple dependencies 1ms
|
|
18
|
+
✓ tree > execute > should combine startFrom and stopAt options 0ms
|
|
19
|
+
✓ tree > execute > should throw error for invalid stopAt package 0ms
|
|
20
|
+
✓ tree > execute > should execute command in dry run mode 1ms
|
|
21
|
+
✓ tree > execute > should execute command in packages 1ms
|
|
22
|
+
✓ tree > execute > should handle command execution failure and provide recovery command 1ms
|
|
23
|
+
✓ tree > execute > should handle package.json without name field 1ms
|
|
24
|
+
✓ tree > execute > should handle invalid JSON in package.json 1ms
|
|
25
|
+
✓ tree > execute > should handle file system errors during scanning 0ms
|
|
26
|
+
✓ tree > execute > should use custom directories from config 0ms
|
|
27
|
+
✓ tree > execute > should return build order without executing command when no cmd provided 1ms
|
|
28
|
+
✓ tree > execute > should collect all dependency types 1ms
|
|
29
|
+
✓ tree > error formatting and handling > should format command errors with stderr and stdout 1ms
|
|
30
|
+
✓ tree > error formatting and handling > should format simple errors without stderr/stdout 1ms
|
|
31
|
+
✓ tree > error formatting and handling > should restore working directory after command failure 1ms
|
|
32
|
+
✓ tree > error formatting and handling > should handle packages with no version field 1ms
|
|
33
|
+
✓ tree > complex dependency scenarios > should handle deep dependency chains 1ms
|
|
34
|
+
✓ tree > complex dependency scenarios > should handle diamond dependency pattern 1ms
|
|
35
|
+
✓ tree > complex dependency scenarios > should handle multiple independent packages 1ms
|
|
36
|
+
✓ tree > complex dependency scenarios > should handle mixed dependency types 1ms
|
|
37
|
+
✓ tree > inter-project dependency updates for tree publish > should handle dry run for inter-project dependency updates 1ms
|
|
38
|
+
✓ tree > continue functionality and execution context > should handle missing execution context gracefully 1ms
|
|
39
|
+
× tree > continue functionality and execution context > should save execution context for publish commands 6ms
|
|
40
|
+
→ Failed to analyze workspace: Command failed in package package-a
|
|
41
|
+
× tree > continue functionality and execution context > should cleanup context on successful completion 1ms
|
|
42
|
+
→ Failed to analyze workspace: Command failed in package package-a
|
|
43
|
+
✓ tree > built-in command execution > should execute commit command across packages 1ms
|
|
44
|
+
✓ tree > built-in command execution > should execute link command with package argument 1ms
|
|
45
|
+
✓ tree > built-in command execution > should execute unlink command with clean-node-modules option 1ms
|
|
46
|
+
× tree > built-in command execution > should propagate global options to built-in commands 2ms
|
|
47
|
+
→ expected "spy" to be called at least once
|
|
48
|
+
✓ tree > built-in command execution > should handle link status subcommand 1ms
|
|
49
|
+
✓ tree > built-in command execution > should handle unlink status subcommand 1ms
|
|
50
|
+
✓ tree > built-in command execution > should throw error for unsupported built-in command 1ms
|
|
51
|
+
× tree > inter-project dependency updates > should update inter-project dependencies before publish 1ms
|
|
52
|
+
→ Failed to analyze workspace: Command failed in package package-a
|
|
53
|
+
× tree > inter-project dependency updates > should commit dependency updates before publish 1ms
|
|
54
|
+
→ Failed to analyze workspace: Command failed in package package-a
|
|
55
|
+
✓ tree > error handling edge cases > should handle working directory restoration failure 2ms
|
|
56
|
+
× tree > error handling edge cases > should handle storage errors during context operations 1ms
|
|
57
|
+
→ Failed to analyze workspace: Command failed in package package-a
|
|
58
|
+
✓ tree > error handling edge cases > should handle invalid execution context data 1ms
|
|
59
|
+
✓ tree > multiple directory scenarios > should handle empty directories gracefully 1ms
|
|
60
|
+
✓ tree > multiple directory scenarios > should handle mixed directory scenarios 1ms
|
|
61
|
+
✓ tree > exclusion pattern edge cases > should handle complex glob patterns 1ms
|
|
62
|
+
✓ tree > exclusion pattern edge cases > should handle exclusion patterns with special characters 1ms
|
|
63
|
+
✓ tree > package logger functionality > should create package-specific loggers with correct prefixes 1ms
|
|
64
|
+
✓ tree > package logger functionality > should handle dry run logging correctly 1ms
|
|
65
|
+
✓ tree > branches command advanced features > should handle packages with consumers and link problems 1ms
|
|
66
|
+
✓ tree > branches command advanced features > should handle ANSI color support detection 1ms
|
|
67
|
+
✓ tree > verbose and debug logging modes > should provide detailed logging in verbose mode 1ms
|
|
68
|
+
✓ tree > additional tree functionality > should handle exclusion patterns correctly 1ms
|
|
69
|
+
✓ tree > additional tree functionality > should handle multiple directories scanning 1ms
|
|
70
|
+
✓ tree > additional tree functionality > should show appropriate logging levels for command execution 1ms
|
|
71
|
+
✓ tree > branches command > should display branch status table for all packages 1ms
|
|
72
|
+
✓ tree > branches command > should handle git errors gracefully in branches command 1ms
|
|
73
|
+
✓ tree > branches command > should format table columns correctly with varying lengths 1ms
|
|
74
|
+
✓ tree > branches command > should not execute other commands when branches is specified 1ms
|
|
75
|
+
✓ tree > branches command > should display asterisk for packages with linked dependencies 1ms
|
|
76
|
+
|
|
77
|
+
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 6 ⎯⎯⎯⎯⎯⎯⎯
|
|
78
|
+
|
|
79
|
+
FAIL tests/commands/tree.test.ts > tree > continue functionality and execution context > should save execution context for publish commands
|
|
80
|
+
Error: Failed to analyze workspace: Command failed in package package-a
|
|
81
|
+
❯ Module.execute src/commands/tree.ts:1648:15
|
|
82
|
+
1646| const errorMessage = `Failed to analyze workspace: ${error.mes…
|
|
83
|
+
1647| logger.error(errorMessage);
|
|
84
|
+
1648| throw new Error(errorMessage);
|
|
85
|
+
| ^
|
|
86
|
+
1649| } finally {
|
|
87
|
+
1650| // Clean up mutex resources to prevent memory leaks
|
|
88
|
+
❯ tests/commands/tree.test.ts:968:13
|
|
89
|
+
|
|
90
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/6]⎯
|
|
91
|
+
|
|
92
|
+
FAIL tests/commands/tree.test.ts > tree > continue functionality and execution context > should cleanup context on successful completion
|
|
93
|
+
Error: Failed to analyze workspace: Command failed in package package-a
|
|
94
|
+
❯ Module.execute src/commands/tree.ts:1648:15
|
|
95
|
+
1646| const errorMessage = `Failed to analyze workspace: ${error.mes…
|
|
96
|
+
1647| logger.error(errorMessage);
|
|
97
|
+
1648| throw new Error(errorMessage);
|
|
98
|
+
| ^
|
|
99
|
+
1649| } finally {
|
|
100
|
+
1650| // Clean up mutex resources to prevent memory leaks
|
|
101
|
+
❯ tests/commands/tree.test.ts:993:13
|
|
102
|
+
|
|
103
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/6]⎯
|
|
104
|
+
|
|
105
|
+
FAIL tests/commands/tree.test.ts > tree > built-in command execution > should propagate global options to built-in commands
|
|
106
|
+
AssertionError: expected "spy" to be called at least once
|
|
107
|
+
❯ tests/commands/tree.test.ts:1105:37
|
|
108
|
+
1103|
|
|
109
|
+
1104| // Verify the command was executed (basic check)
|
|
110
|
+
1105| expect(mockExecPromise).toHaveBeenCalled();
|
|
111
|
+
| ^
|
|
112
|
+
1106| });
|
|
113
|
+
1107|
|
|
114
|
+
|
|
115
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/6]⎯
|
|
116
|
+
|
|
117
|
+
FAIL tests/commands/tree.test.ts > tree > inter-project dependency updates > should update inter-project dependencies before publish
|
|
118
|
+
Error: Failed to analyze workspace: Command failed in package package-a
|
|
119
|
+
❯ Module.execute src/commands/tree.ts:1648:15
|
|
120
|
+
1646| const errorMessage = `Failed to analyze workspace: ${error.mes…
|
|
121
|
+
1647| logger.error(errorMessage);
|
|
122
|
+
1648| throw new Error(errorMessage);
|
|
123
|
+
| ^
|
|
124
|
+
1649| } finally {
|
|
125
|
+
1650| // Clean up mutex resources to prevent memory leaks
|
|
126
|
+
❯ tests/commands/tree.test.ts:1186:13
|
|
127
|
+
|
|
128
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/6]⎯
|
|
129
|
+
|
|
130
|
+
FAIL tests/commands/tree.test.ts > tree > inter-project dependency updates > should commit dependency updates before publish
|
|
131
|
+
Error: Failed to analyze workspace: Command failed in package package-a
|
|
132
|
+
❯ Module.execute src/commands/tree.ts:1648:15
|
|
133
|
+
1646| const errorMessage = `Failed to analyze workspace: ${error.mes…
|
|
134
|
+
1647| logger.error(errorMessage);
|
|
135
|
+
1648| throw new Error(errorMessage);
|
|
136
|
+
| ^
|
|
137
|
+
1649| } finally {
|
|
138
|
+
1650| // Clean up mutex resources to prevent memory leaks
|
|
139
|
+
❯ tests/commands/tree.test.ts:1206:13
|
|
140
|
+
|
|
141
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/6]⎯
|
|
142
|
+
|
|
143
|
+
FAIL tests/commands/tree.test.ts > tree > error handling edge cases > should handle storage errors during context operations
|
|
144
|
+
Error: Failed to analyze workspace: Command failed in package package-a
|
|
145
|
+
❯ Module.execute src/commands/tree.ts:1648:15
|
|
146
|
+
1646| const errorMessage = `Failed to analyze workspace: ${error.mes…
|
|
147
|
+
1647| logger.error(errorMessage);
|
|
148
|
+
1648| throw new Error(errorMessage);
|
|
149
|
+
| ^
|
|
150
|
+
1649| } finally {
|
|
151
|
+
1650| // Clean up mutex resources to prevent memory leaks
|
|
152
|
+
❯ tests/commands/tree.test.ts:1253:13
|
|
153
|
+
|
|
154
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/6]⎯
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
Test Files 1 failed (1)
|
|
158
|
+
Tests 6 failed | 54 passed (60)
|
|
159
|
+
Start at 10:00:29
|
|
160
|
+
Duration 500ms (transform 80ms, setup 0ms, collect 97ms, tests 57ms, environment 0ms, prepare 35ms)
|
|
161
|
+
|
package/dist/types.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
const ConfigSchema = z.object({
|
|
4
|
-
dryRun: z.boolean().optional(),
|
|
5
|
-
verbose: z.boolean().optional(),
|
|
6
|
-
debug: z.boolean().optional(),
|
|
7
|
-
overrides: z.boolean().optional(),
|
|
8
|
-
model: z.string().optional(),
|
|
9
|
-
contextDirectories: z.array(z.string()).optional(),
|
|
10
|
-
outputDirectory: z.string().optional(),
|
|
11
|
-
preferencesDirectory: z.string().optional(),
|
|
12
|
-
commit: z.object({
|
|
13
|
-
add: z.boolean().optional(),
|
|
14
|
-
cached: z.boolean().optional(),
|
|
15
|
-
sendit: z.boolean().optional(),
|
|
16
|
-
interactive: z.boolean().optional(),
|
|
17
|
-
amend: z.boolean().optional(),
|
|
18
|
-
messageLimit: z.number().optional(),
|
|
19
|
-
context: z.string().optional(),
|
|
20
|
-
direction: z.string().optional(),
|
|
21
|
-
skipFileCheck: z.boolean().optional(),
|
|
22
|
-
maxDiffBytes: z.number().optional(),
|
|
23
|
-
model: z.string().optional()
|
|
24
|
-
}).optional(),
|
|
25
|
-
audioCommit: z.object({
|
|
26
|
-
maxRecordingTime: z.number().optional(),
|
|
27
|
-
audioDevice: z.string().optional(),
|
|
28
|
-
file: z.string().optional(),
|
|
29
|
-
keepTemp: z.boolean().optional()
|
|
30
|
-
}).optional(),
|
|
31
|
-
release: z.object({
|
|
32
|
-
from: z.string().optional(),
|
|
33
|
-
to: z.string().optional(),
|
|
34
|
-
messageLimit: z.number().optional(),
|
|
35
|
-
context: z.string().optional(),
|
|
36
|
-
interactive: z.boolean().optional(),
|
|
37
|
-
focus: z.string().optional(),
|
|
38
|
-
maxDiffBytes: z.number().optional(),
|
|
39
|
-
model: z.string().optional(),
|
|
40
|
-
noMilestones: z.boolean().optional()
|
|
41
|
-
}).optional(),
|
|
42
|
-
review: z.object({
|
|
43
|
-
includeCommitHistory: z.boolean().optional(),
|
|
44
|
-
includeRecentDiffs: z.boolean().optional(),
|
|
45
|
-
includeReleaseNotes: z.boolean().optional(),
|
|
46
|
-
includeGithubIssues: z.boolean().optional(),
|
|
47
|
-
commitHistoryLimit: z.number().optional(),
|
|
48
|
-
diffHistoryLimit: z.number().optional(),
|
|
49
|
-
releaseNotesLimit: z.number().optional(),
|
|
50
|
-
githubIssuesLimit: z.number().optional(),
|
|
51
|
-
context: z.string().optional(),
|
|
52
|
-
sendit: z.boolean().optional(),
|
|
53
|
-
note: z.string().optional(),
|
|
54
|
-
editorTimeout: z.number().optional(),
|
|
55
|
-
maxContextErrors: z.number().optional(),
|
|
56
|
-
model: z.string().optional()
|
|
57
|
-
}).optional(),
|
|
58
|
-
audioReview: z.object({
|
|
59
|
-
includeCommitHistory: z.boolean().optional(),
|
|
60
|
-
includeRecentDiffs: z.boolean().optional(),
|
|
61
|
-
includeReleaseNotes: z.boolean().optional(),
|
|
62
|
-
includeGithubIssues: z.boolean().optional(),
|
|
63
|
-
commitHistoryLimit: z.number().optional(),
|
|
64
|
-
diffHistoryLimit: z.number().optional(),
|
|
65
|
-
releaseNotesLimit: z.number().optional(),
|
|
66
|
-
githubIssuesLimit: z.number().optional(),
|
|
67
|
-
context: z.string().optional(),
|
|
68
|
-
sendit: z.boolean().optional(),
|
|
69
|
-
maxRecordingTime: z.number().optional(),
|
|
70
|
-
audioDevice: z.string().optional(),
|
|
71
|
-
file: z.string().optional(),
|
|
72
|
-
directory: z.string().optional(),
|
|
73
|
-
keepTemp: z.boolean().optional()
|
|
74
|
-
}).optional(),
|
|
75
|
-
publish: z.object({
|
|
76
|
-
mergeMethod: z.enum([
|
|
77
|
-
'merge',
|
|
78
|
-
'squash',
|
|
79
|
-
'rebase'
|
|
80
|
-
]).optional(),
|
|
81
|
-
from: z.string().optional(),
|
|
82
|
-
targetVersion: z.string().optional(),
|
|
83
|
-
interactive: z.boolean().optional(),
|
|
84
|
-
dependencyUpdatePatterns: z.array(z.string()).optional(),
|
|
85
|
-
requiredEnvVars: z.array(z.string()).optional(),
|
|
86
|
-
linkWorkspacePackages: z.boolean().optional(),
|
|
87
|
-
unlinkWorkspacePackages: z.boolean().optional(),
|
|
88
|
-
checksTimeout: z.number().optional(),
|
|
89
|
-
skipUserConfirmation: z.boolean().optional(),
|
|
90
|
-
syncTarget: z.boolean().optional(),
|
|
91
|
-
sendit: z.boolean().optional(),
|
|
92
|
-
waitForReleaseWorkflows: z.boolean().optional(),
|
|
93
|
-
releaseWorkflowsTimeout: z.number().optional(),
|
|
94
|
-
releaseWorkflowNames: z.array(z.string()).optional(),
|
|
95
|
-
targetBranch: z.string().optional(),
|
|
96
|
-
noMilestones: z.boolean().optional()
|
|
97
|
-
}).optional(),
|
|
98
|
-
link: z.object({
|
|
99
|
-
scopeRoots: z.record(z.string(), z.string()).optional(),
|
|
100
|
-
dryRun: z.boolean().optional(),
|
|
101
|
-
packageArgument: z.string().optional()
|
|
102
|
-
}).optional(),
|
|
103
|
-
unlink: z.object({
|
|
104
|
-
scopeRoots: z.record(z.string(), z.string()).optional(),
|
|
105
|
-
workspaceFile: z.string().optional(),
|
|
106
|
-
dryRun: z.boolean().optional(),
|
|
107
|
-
cleanNodeModules: z.boolean().optional(),
|
|
108
|
-
packageArgument: z.string().optional()
|
|
109
|
-
}).optional(),
|
|
110
|
-
tree: z.object({
|
|
111
|
-
directories: z.array(z.string()).optional(),
|
|
112
|
-
excludedPatterns: z.array(z.string()).optional(),
|
|
113
|
-
startFrom: z.string().optional(),
|
|
114
|
-
stopAt: z.string().optional(),
|
|
115
|
-
cmd: z.string().optional(),
|
|
116
|
-
parallel: z.boolean().optional(),
|
|
117
|
-
builtInCommand: z.string().optional(),
|
|
118
|
-
continue: z.boolean().optional(),
|
|
119
|
-
packageArgument: z.string().optional(),
|
|
120
|
-
cleanNodeModules: z.boolean().optional()
|
|
121
|
-
}).optional(),
|
|
122
|
-
development: z.object({
|
|
123
|
-
targetVersion: z.string().optional(),
|
|
124
|
-
noMilestones: z.boolean().optional()
|
|
125
|
-
}).optional(),
|
|
126
|
-
versions: z.object({
|
|
127
|
-
subcommand: z.string().optional(),
|
|
128
|
-
directories: z.array(z.string()).optional()
|
|
129
|
-
}).optional(),
|
|
130
|
-
excludedPatterns: z.array(z.string()).optional()
|
|
131
|
-
});
|
|
132
|
-
z.object({
|
|
133
|
-
openaiApiKey: z.string().optional()
|
|
134
|
-
});
|
|
135
|
-
z.object({
|
|
136
|
-
commandName: z.string().optional()
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
export { ConfigSchema };
|
|
140
|
-
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":["import * as Cardigantime from '@theunwalked/cardigantime';\nimport { z } from \"zod\";\n\nexport const ConfigSchema = z.object({\n dryRun: z.boolean().optional(),\n verbose: z.boolean().optional(),\n debug: z.boolean().optional(),\n overrides: z.boolean().optional(),\n model: z.string().optional(),\n contextDirectories: z.array(z.string()).optional(),\n outputDirectory: z.string().optional(),\n preferencesDirectory: z.string().optional(),\n commit: z.object({\n add: z.boolean().optional(),\n cached: z.boolean().optional(),\n sendit: z.boolean().optional(),\n interactive: z.boolean().optional(),\n amend: z.boolean().optional(),\n messageLimit: z.number().optional(),\n context: z.string().optional(),\n direction: z.string().optional(),\n skipFileCheck: z.boolean().optional(),\n maxDiffBytes: z.number().optional(),\n model: z.string().optional(),\n }).optional(),\n audioCommit: z.object({\n maxRecordingTime: z.number().optional(),\n audioDevice: z.string().optional(),\n file: z.string().optional(),\n keepTemp: z.boolean().optional(),\n }).optional(),\n release: z.object({\n from: z.string().optional(),\n to: z.string().optional(),\n messageLimit: z.number().optional(),\n context: z.string().optional(),\n interactive: z.boolean().optional(),\n focus: z.string().optional(),\n maxDiffBytes: z.number().optional(),\n model: z.string().optional(),\n noMilestones: z.boolean().optional(),\n }).optional(),\n review: z.object({\n includeCommitHistory: z.boolean().optional(),\n includeRecentDiffs: z.boolean().optional(),\n includeReleaseNotes: z.boolean().optional(),\n includeGithubIssues: z.boolean().optional(),\n commitHistoryLimit: z.number().optional(),\n diffHistoryLimit: z.number().optional(),\n releaseNotesLimit: z.number().optional(),\n githubIssuesLimit: z.number().optional(),\n context: z.string().optional(),\n sendit: z.boolean().optional(),\n note: z.string().optional(),\n editorTimeout: z.number().optional(),\n maxContextErrors: z.number().optional(),\n model: z.string().optional(),\n }).optional(),\n audioReview: z.object({\n includeCommitHistory: z.boolean().optional(),\n includeRecentDiffs: z.boolean().optional(),\n includeReleaseNotes: z.boolean().optional(),\n includeGithubIssues: z.boolean().optional(),\n commitHistoryLimit: z.number().optional(),\n diffHistoryLimit: z.number().optional(),\n releaseNotesLimit: z.number().optional(),\n githubIssuesLimit: z.number().optional(),\n context: z.string().optional(),\n sendit: z.boolean().optional(),\n maxRecordingTime: z.number().optional(),\n audioDevice: z.string().optional(),\n file: z.string().optional(),\n directory: z.string().optional(),\n keepTemp: z.boolean().optional(),\n }).optional(),\n publish: z.object({\n mergeMethod: z.enum(['merge', 'squash', 'rebase']).optional(),\n from: z.string().optional(),\n targetVersion: z.string().optional(),\n interactive: z.boolean().optional(),\n dependencyUpdatePatterns: z.array(z.string()).optional(),\n requiredEnvVars: z.array(z.string()).optional(),\n linkWorkspacePackages: z.boolean().optional(),\n unlinkWorkspacePackages: z.boolean().optional(),\n checksTimeout: z.number().optional(),\n skipUserConfirmation: z.boolean().optional(),\n syncTarget: z.boolean().optional(),\n sendit: z.boolean().optional(),\n waitForReleaseWorkflows: z.boolean().optional(),\n releaseWorkflowsTimeout: z.number().optional(),\n releaseWorkflowNames: z.array(z.string()).optional(),\n targetBranch: z.string().optional(),\n noMilestones: z.boolean().optional(),\n }).optional(),\n link: z.object({\n scopeRoots: z.record(z.string(), z.string()).optional(),\n dryRun: z.boolean().optional(),\n packageArgument: z.string().optional(),\n }).optional(),\n unlink: z.object({\n scopeRoots: z.record(z.string(), z.string()).optional(),\n workspaceFile: z.string().optional(),\n dryRun: z.boolean().optional(),\n cleanNodeModules: z.boolean().optional(),\n packageArgument: z.string().optional(),\n }).optional(),\n tree: z.object({\n directories: z.array(z.string()).optional(),\n excludedPatterns: z.array(z.string()).optional(),\n startFrom: z.string().optional(),\n stopAt: z.string().optional(),\n cmd: z.string().optional(),\n parallel: z.boolean().optional(),\n builtInCommand: z.string().optional(),\n continue: z.boolean().optional(),\n packageArgument: z.string().optional(),\n cleanNodeModules: z.boolean().optional(),\n }).optional(),\n development: z.object({\n targetVersion: z.string().optional(),\n noMilestones: z.boolean().optional(),\n }).optional(),\n versions: z.object({\n subcommand: z.string().optional(),\n directories: z.array(z.string()).optional(),\n }).optional(),\n excludedPatterns: z.array(z.string()).optional(),\n});\n\nexport const SecureConfigSchema = z.object({\n openaiApiKey: z.string().optional(),\n});\n\nexport const CommandConfigSchema = z.object({\n commandName: z.string().optional(),\n});\n\nexport type Config = z.infer<typeof ConfigSchema> & Cardigantime.Config;\nexport type SecureConfig = z.infer<typeof SecureConfigSchema>;\nexport type CommandConfig = z.infer<typeof CommandConfigSchema>;\n\nexport type MergeMethod = 'merge' | 'squash' | 'rebase';\n\nexport interface PullRequest {\n html_url: string;\n number: number;\n labels: {\n name: string;\n }[];\n}\n\nexport type ReleaseSummary = {\n title: string;\n body: string;\n}\n\nexport type ReleaseConfig = {\n from?: string;\n to?: string;\n context?: string;\n interactive?: boolean;\n focus?: string;\n messageLimit?: number;\n maxDiffBytes?: number;\n model?: string;\n}\n\nexport type ReviewConfig = {\n includeCommitHistory?: boolean;\n includeRecentDiffs?: boolean;\n includeReleaseNotes?: boolean;\n includeGithubIssues?: boolean;\n commitHistoryLimit?: number;\n diffHistoryLimit?: number;\n releaseNotesLimit?: number;\n githubIssuesLimit?: number;\n context?: string;\n sendit?: boolean;\n note?: string;\n editorTimeout?: number;\n maxContextErrors?: number;\n model?: string;\n}\n\nexport type AudioReviewConfig = {\n includeCommitHistory?: boolean;\n includeRecentDiffs?: boolean;\n includeReleaseNotes?: boolean;\n includeGithubIssues?: boolean;\n commitHistoryLimit?: number;\n diffHistoryLimit?: number;\n releaseNotesLimit?: number;\n githubIssuesLimit?: number;\n context?: string;\n sendit?: boolean;\n maxRecordingTime?: number;\n audioDevice?: string;\n file?: string;\n directory?: string;\n keepTemp?: boolean;\n}\n\nexport type CommitConfig = {\n add?: boolean;\n cached?: boolean;\n sendit?: boolean;\n interactive?: boolean;\n messageLimit?: number;\n context?: string;\n direction?: string;\n skipFileCheck?: boolean;\n maxDiffBytes?: number;\n model?: string;\n}\n\nexport type AudioCommitConfig = {\n maxRecordingTime?: number;\n audioDevice?: string;\n file?: string;\n keepTemp?: boolean;\n}\n\nexport type LinkConfig = {\n scopeRoots?: Record<string, string>;\n dryRun?: boolean;\n packageArgument?: string;\n}\n\nexport type UnlinkConfig = {\n scopeRoots?: Record<string, string>;\n workspaceFile?: string;\n dryRun?: boolean;\n cleanNodeModules?: boolean;\n packageArgument?: string;\n}\n\nexport type PublishConfig = {\n mergeMethod?: 'merge' | 'squash' | 'rebase';\n from?: string;\n targetVersion?: string;\n interactive?: boolean;\n dependencyUpdatePatterns?: string[];\n requiredEnvVars?: string[];\n linkWorkspacePackages?: boolean;\n unlinkWorkspacePackages?: boolean;\n checksTimeout?: number;\n skipUserConfirmation?: boolean;\n sendit?: boolean;\n waitForReleaseWorkflows?: boolean;\n releaseWorkflowsTimeout?: number;\n releaseWorkflowNames?: string[];\n targetBranch?: string;\n}\n\nexport type TreeConfig = {\n directories?: string[];\n excludedPatterns?: string[];\n startFrom?: string;\n stopAt?: string;\n cmd?: string;\n parallel?: boolean;\n builtInCommand?: string;\n continue?: boolean; // Continue from previous tree publish execution\n packageArgument?: string; // Package argument for link/unlink commands (e.g., \"@fjell\" or \"@fjell/core\")\n cleanNodeModules?: boolean; // For unlink command: remove node_modules and package-lock.json, then reinstall dependencies\n}\n\nexport type DevelopmentConfig = {\n targetVersion?: string; // 'patch', 'minor', 'major', or explicit version like '2.1.0' (default: 'patch')\n}\n\nexport type VersionsConfig = {\n subcommand?: string; // 'minor' or other versioning strategies\n directories?: string[]; // directories to scan for packages\n}\n"],"names":["ConfigSchema","z","object","dryRun","boolean","optional","verbose","debug","overrides","model","string","contextDirectories","array","outputDirectory","preferencesDirectory","commit","add","cached","sendit","interactive","amend","messageLimit","number","context","direction","skipFileCheck","maxDiffBytes","audioCommit","maxRecordingTime","audioDevice","file","keepTemp","release","from","to","focus","noMilestones","review","includeCommitHistory","includeRecentDiffs","includeReleaseNotes","includeGithubIssues","commitHistoryLimit","diffHistoryLimit","releaseNotesLimit","githubIssuesLimit","note","editorTimeout","maxContextErrors","audioReview","directory","publish","mergeMethod","enum","targetVersion","dependencyUpdatePatterns","requiredEnvVars","linkWorkspacePackages","unlinkWorkspacePackages","checksTimeout","skipUserConfirmation","syncTarget","waitForReleaseWorkflows","releaseWorkflowsTimeout","releaseWorkflowNames","targetBranch","link","scopeRoots","record","packageArgument","unlink","workspaceFile","cleanNodeModules","tree","directories","excludedPatterns","startFrom","stopAt","cmd","parallel","builtInCommand","continue","development","versions","subcommand","openaiApiKey","commandName"],"mappings":"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"}
|