@sudocode-ai/local-server 0.1.0 → 0.1.2
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/cli.js +6 -104
- package/dist/cli.js.map +1 -7
- package/dist/execution/engine/engine.js +10 -0
- package/dist/execution/engine/engine.js.map +1 -0
- package/dist/execution/engine/simple-engine.js +611 -0
- package/dist/execution/engine/simple-engine.js.map +1 -0
- package/dist/execution/engine/types.js +10 -0
- package/dist/execution/engine/types.js.map +1 -0
- package/dist/execution/output/ag-ui-adapter.js +438 -0
- package/dist/execution/output/ag-ui-adapter.js.map +1 -0
- package/dist/execution/output/ag-ui-integration.js +96 -0
- package/dist/execution/output/ag-ui-integration.js.map +1 -0
- package/dist/execution/output/claude-code-output-processor.js +769 -0
- package/dist/execution/output/claude-code-output-processor.js.map +1 -0
- package/dist/execution/output/index.js +15 -0
- package/dist/execution/output/index.js.map +1 -0
- package/dist/execution/output/types.js +22 -0
- package/dist/execution/output/types.js.map +1 -0
- package/dist/execution/process/builders/claude.js +59 -0
- package/dist/execution/process/builders/claude.js.map +1 -0
- package/dist/execution/process/index.js +15 -0
- package/dist/execution/process/index.js.map +1 -0
- package/dist/execution/process/manager.js +10 -0
- package/dist/execution/process/manager.js.map +1 -0
- package/dist/execution/process/simple-manager.js +336 -0
- package/dist/execution/process/simple-manager.js.map +1 -0
- package/dist/execution/process/types.js +10 -0
- package/dist/execution/process/types.js.map +1 -0
- package/dist/execution/process/utils.js +97 -0
- package/dist/execution/process/utils.js.map +1 -0
- package/dist/execution/resilience/circuit-breaker.js +291 -0
- package/dist/execution/resilience/circuit-breaker.js.map +1 -0
- package/dist/execution/resilience/executor.js +10 -0
- package/dist/execution/resilience/executor.js.map +1 -0
- package/dist/execution/resilience/index.js +15 -0
- package/dist/execution/resilience/index.js.map +1 -0
- package/dist/execution/resilience/resilient-executor.js +261 -0
- package/dist/execution/resilience/resilient-executor.js.map +1 -0
- package/dist/execution/resilience/retry.js +234 -0
- package/dist/execution/resilience/retry.js.map +1 -0
- package/dist/execution/resilience/types.js +30 -0
- package/dist/execution/resilience/types.js.map +1 -0
- package/dist/execution/transport/event-buffer.js +208 -0
- package/dist/execution/transport/event-buffer.js.map +1 -0
- package/dist/execution/transport/index.js +10 -0
- package/dist/execution/transport/index.js.map +1 -0
- package/dist/execution/transport/sse-transport.js +282 -0
- package/dist/execution/transport/sse-transport.js.map +1 -0
- package/dist/execution/transport/transport-manager.js +231 -0
- package/dist/execution/transport/transport-manager.js.map +1 -0
- package/dist/execution/workflow/index.js +13 -0
- package/dist/execution/workflow/index.js.map +1 -0
- package/dist/execution/workflow/linear-orchestrator.js +683 -0
- package/dist/execution/workflow/linear-orchestrator.js.map +1 -0
- package/dist/execution/workflow/memory-storage.js +68 -0
- package/dist/execution/workflow/memory-storage.js.map +1 -0
- package/dist/execution/workflow/orchestrator.js +9 -0
- package/dist/execution/workflow/orchestrator.js.map +1 -0
- package/dist/execution/workflow/types.js +9 -0
- package/dist/execution/workflow/types.js.map +1 -0
- package/dist/execution/workflow/utils.js +152 -0
- package/dist/execution/workflow/utils.js.map +1 -0
- package/dist/execution/worktree/config.js +280 -0
- package/dist/execution/worktree/config.js.map +1 -0
- package/dist/execution/worktree/git-cli.js +189 -0
- package/dist/execution/worktree/git-cli.js.map +1 -0
- package/dist/execution/worktree/index.js +15 -0
- package/dist/execution/worktree/index.js.map +1 -0
- package/dist/execution/worktree/manager.js +452 -0
- package/dist/execution/worktree/manager.js.map +1 -0
- package/dist/execution/worktree/types.js +42 -0
- package/dist/execution/worktree/types.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +357 -104
- package/dist/index.js.map +1 -7
- package/dist/routes/executions-stream.js +55 -0
- package/dist/routes/executions-stream.js.map +1 -0
- package/dist/routes/executions.js +267 -0
- package/dist/routes/executions.js.map +1 -0
- package/dist/routes/feedback.js +329 -0
- package/dist/routes/feedback.js.map +1 -0
- package/dist/routes/issues.js +280 -0
- package/dist/routes/issues.js.map +1 -0
- package/dist/routes/relationships.js +308 -0
- package/dist/routes/relationships.js.map +1 -0
- package/dist/routes/specs.js +270 -0
- package/dist/routes/specs.js.map +1 -0
- package/dist/services/db.js +85 -0
- package/dist/services/db.js.map +1 -0
- package/dist/services/execution-lifecycle.d.ts.map +1 -1
- package/dist/services/execution-lifecycle.js +291 -0
- package/dist/services/execution-lifecycle.js.map +1 -0
- package/dist/services/execution-service.js +676 -0
- package/dist/services/execution-service.js.map +1 -0
- package/dist/services/executions.js +164 -0
- package/dist/services/executions.js.map +1 -0
- package/dist/services/export.js +106 -0
- package/dist/services/export.js.map +1 -0
- package/dist/services/feedback.js +54 -0
- package/dist/services/feedback.js.map +1 -0
- package/dist/services/issues.js +35 -0
- package/dist/services/issues.js.map +1 -0
- package/dist/services/prompt-template-engine.js +212 -0
- package/dist/services/prompt-template-engine.js.map +1 -0
- package/dist/services/prompt-templates.js +236 -0
- package/dist/services/prompt-templates.js.map +1 -0
- package/dist/services/relationships.js +42 -0
- package/dist/services/relationships.js.map +1 -0
- package/dist/services/specs.js +35 -0
- package/dist/services/specs.js.map +1 -0
- package/dist/services/watcher.js +69 -0
- package/dist/services/watcher.js.map +1 -0
- package/dist/services/websocket.js +389 -0
- package/dist/services/websocket.js.map +1 -0
- package/dist/utils/sudocode-dir.js +9 -0
- package/dist/utils/sudocode-dir.js.map +1 -0
- package/package.json +4 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear-orchestrator.js","sourceRoot":"","sources":["../../../src/execution/workflow/linear-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-Memory Workflow Storage Implementation
|
|
3
|
+
*
|
|
4
|
+
* Simple in-memory implementation of IWorkflowStorage for testing and development.
|
|
5
|
+
*
|
|
6
|
+
* @module execution/workflow/memory-storage
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* InMemoryWorkflowStorage - In-memory checkpoint storage
|
|
10
|
+
*
|
|
11
|
+
* Simple implementation that stores checkpoints in a Map.
|
|
12
|
+
* Suitable for testing and single-process workflows.
|
|
13
|
+
* Not suitable for production use with multiple processes.
|
|
14
|
+
*/
|
|
15
|
+
export class InMemoryWorkflowStorage {
|
|
16
|
+
_checkpoints = new Map();
|
|
17
|
+
/**
|
|
18
|
+
* Save a checkpoint to memory
|
|
19
|
+
*
|
|
20
|
+
* @param checkpoint - Checkpoint to save
|
|
21
|
+
*/
|
|
22
|
+
async saveCheckpoint(checkpoint) {
|
|
23
|
+
this._checkpoints.set(checkpoint.executionId, checkpoint);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Load a checkpoint from memory
|
|
27
|
+
*
|
|
28
|
+
* @param executionId - Execution ID to load
|
|
29
|
+
* @returns Checkpoint or null if not found
|
|
30
|
+
*/
|
|
31
|
+
async loadCheckpoint(executionId) {
|
|
32
|
+
return this._checkpoints.get(executionId) || null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* List all checkpoints, optionally filtered by workflow ID
|
|
36
|
+
*
|
|
37
|
+
* @param workflowId - Optional workflow ID to filter by
|
|
38
|
+
* @returns Array of checkpoints
|
|
39
|
+
*/
|
|
40
|
+
async listCheckpoints(workflowId) {
|
|
41
|
+
const all = Array.from(this._checkpoints.values());
|
|
42
|
+
if (workflowId) {
|
|
43
|
+
return all.filter((cp) => cp.workflowId === workflowId);
|
|
44
|
+
}
|
|
45
|
+
return all;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Delete a checkpoint from memory
|
|
49
|
+
*
|
|
50
|
+
* @param executionId - Execution ID to delete
|
|
51
|
+
*/
|
|
52
|
+
async deleteCheckpoint(executionId) {
|
|
53
|
+
this._checkpoints.delete(executionId);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Clear all checkpoints (useful for testing)
|
|
57
|
+
*/
|
|
58
|
+
clear() {
|
|
59
|
+
this._checkpoints.clear();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get the number of stored checkpoints (useful for testing)
|
|
63
|
+
*/
|
|
64
|
+
size() {
|
|
65
|
+
return this._checkpoints.size;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=memory-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-storage.js","sourceRoot":"","sources":["../../../src/execution/workflow/memory-storage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAC3B,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE5D;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,UAA8B;QACjD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,WAAmB;QAEnB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,UAAmB;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/execution/workflow/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/execution/workflow/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Utility Functions
|
|
3
|
+
*
|
|
4
|
+
* Helper functions for template rendering, path extraction, and ID generation.
|
|
5
|
+
*
|
|
6
|
+
* @module execution/workflow/utils
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Generate a unique ID with a given prefix
|
|
10
|
+
*
|
|
11
|
+
* @param prefix - Prefix for the ID (e.g., 'execution', 'checkpoint')
|
|
12
|
+
* @returns Unique ID string
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const id = generateId('execution');
|
|
17
|
+
* // Returns: 'execution-1234567890-abc123'
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function generateId(prefix = 'id') {
|
|
21
|
+
const timestamp = Date.now();
|
|
22
|
+
const random = Math.random().toString(36).substring(2, 9);
|
|
23
|
+
return `${prefix}-${timestamp}-${random}`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Render a template string by replacing {{variable}} placeholders with context values
|
|
27
|
+
*
|
|
28
|
+
* @param template - Template string with {{variable}} placeholders
|
|
29
|
+
* @param context - Context object containing variable values
|
|
30
|
+
* @returns Rendered string with variables replaced
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const context = { name: 'World', greeting: 'Hello' };
|
|
35
|
+
* const result = renderTemplate('{{greeting}} {{name}}!', context);
|
|
36
|
+
* // Returns: 'Hello World!'
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function renderTemplate(template, context) {
|
|
40
|
+
let rendered = template;
|
|
41
|
+
// Replace all {{variable}} placeholders with values from context
|
|
42
|
+
const placeholderRegex = /\{\{(\w+(?:\.\w+)*)\}\}/g;
|
|
43
|
+
rendered = rendered.replace(placeholderRegex, (match, path) => {
|
|
44
|
+
const value = extractValue(context, path);
|
|
45
|
+
// If value is undefined or null, leave placeholder as-is
|
|
46
|
+
if (value === undefined || value === null) {
|
|
47
|
+
return match;
|
|
48
|
+
}
|
|
49
|
+
// Convert value to string
|
|
50
|
+
return String(value);
|
|
51
|
+
});
|
|
52
|
+
return rendered;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Extract a value from an object using a dot-notation path
|
|
56
|
+
*
|
|
57
|
+
* @param obj - Object to extract value from
|
|
58
|
+
* @param path - Dot-notation path (e.g., 'user.profile.name')
|
|
59
|
+
* @returns Extracted value or undefined if path doesn't exist
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const obj = { user: { profile: { name: 'Alice' } } };
|
|
64
|
+
* const name = extractValue(obj, 'user.profile.name');
|
|
65
|
+
* // Returns: 'Alice'
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export function extractValue(obj, path) {
|
|
69
|
+
if (obj === null || obj === undefined) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
// Handle simple paths (no dots)
|
|
73
|
+
if (!path.includes('.')) {
|
|
74
|
+
return obj[path];
|
|
75
|
+
}
|
|
76
|
+
// Split path and traverse
|
|
77
|
+
const parts = path.split('.');
|
|
78
|
+
let value = obj;
|
|
79
|
+
for (const part of parts) {
|
|
80
|
+
if (value === null || value === undefined) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
value = value[part];
|
|
84
|
+
}
|
|
85
|
+
return value;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Merge two context objects, with the second overriding the first
|
|
89
|
+
*
|
|
90
|
+
* @param base - Base context object
|
|
91
|
+
* @param updates - Updates to merge into base
|
|
92
|
+
* @returns New merged context object
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const base = { a: 1, b: 2 };
|
|
97
|
+
* const updates = { b: 3, c: 4 };
|
|
98
|
+
* const merged = mergeContext(base, updates);
|
|
99
|
+
* // Returns: { a: 1, b: 3, c: 4 }
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export function mergeContext(base, updates) {
|
|
103
|
+
return {
|
|
104
|
+
...base,
|
|
105
|
+
...updates,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Evaluate a condition string in the context
|
|
110
|
+
*
|
|
111
|
+
* @param condition - Condition string to evaluate (e.g., '{{isEnabled}}')
|
|
112
|
+
* @param context - Context object
|
|
113
|
+
* @returns Boolean result of condition
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const context = { isEnabled: true };
|
|
118
|
+
* const result = evaluateCondition('{{isEnabled}}', context);
|
|
119
|
+
* // Returns: true
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export function evaluateCondition(condition, context) {
|
|
123
|
+
// Render the condition template
|
|
124
|
+
const rendered = renderTemplate(condition, context);
|
|
125
|
+
// If template still contains placeholders, variables are missing - treat as false (fail-safe)
|
|
126
|
+
if (rendered.includes('{{') && rendered.includes('}}')) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
// Simple boolean evaluation
|
|
130
|
+
// True if: 'true', '1', non-empty string
|
|
131
|
+
// False if: 'false', '0', '', or falsy value
|
|
132
|
+
if (rendered === 'true' || rendered === '1') {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
if (rendered === 'false' || rendered === '0' || rendered === '') {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
// For other values, check if they're truthy
|
|
139
|
+
return Boolean(rendered);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Create initial workflow context
|
|
143
|
+
*
|
|
144
|
+
* @param initialValues - Initial context values
|
|
145
|
+
* @returns New context object
|
|
146
|
+
*/
|
|
147
|
+
export function createContext(initialValues = {}) {
|
|
148
|
+
return {
|
|
149
|
+
...initialValues,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/execution/workflow/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worktree Configuration
|
|
3
|
+
*
|
|
4
|
+
* Loads and validates worktree configuration from .sudocode/config.json
|
|
5
|
+
*
|
|
6
|
+
* @module execution/worktree/config
|
|
7
|
+
*/
|
|
8
|
+
import fs from 'fs';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
/**
|
|
11
|
+
* Default worktree configuration
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_WORKTREE_CONFIG = {
|
|
14
|
+
worktreeStoragePath: '.sudocode/worktrees',
|
|
15
|
+
autoCreateBranches: true,
|
|
16
|
+
autoDeleteBranches: false,
|
|
17
|
+
enableSparseCheckout: false,
|
|
18
|
+
sparseCheckoutPatterns: undefined,
|
|
19
|
+
branchPrefix: 'sudocode',
|
|
20
|
+
cleanupOrphanedWorktreesOnStartup: true,
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Validate and normalize worktree configuration
|
|
24
|
+
*
|
|
25
|
+
* @param rawConfig - Raw configuration object from config.json
|
|
26
|
+
* @returns Validated configuration with warnings
|
|
27
|
+
*/
|
|
28
|
+
export function validateWorktreeConfig(rawConfig) {
|
|
29
|
+
const warnings = [];
|
|
30
|
+
const config = { ...DEFAULT_WORKTREE_CONFIG };
|
|
31
|
+
// Validate worktreeStoragePath
|
|
32
|
+
if (rawConfig.worktreeStoragePath !== undefined) {
|
|
33
|
+
if (typeof rawConfig.worktreeStoragePath === 'string') {
|
|
34
|
+
config.worktreeStoragePath = rawConfig.worktreeStoragePath;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
warnings.push(`Invalid worktreeStoragePath: must be a string. Using default: ${DEFAULT_WORKTREE_CONFIG.worktreeStoragePath}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Validate autoCreateBranches
|
|
41
|
+
if (rawConfig.autoCreateBranches !== undefined) {
|
|
42
|
+
if (typeof rawConfig.autoCreateBranches === 'boolean') {
|
|
43
|
+
config.autoCreateBranches = rawConfig.autoCreateBranches;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
warnings.push(`Invalid autoCreateBranches: must be a boolean. Using default: ${DEFAULT_WORKTREE_CONFIG.autoCreateBranches}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Validate autoDeleteBranches
|
|
50
|
+
if (rawConfig.autoDeleteBranches !== undefined) {
|
|
51
|
+
if (typeof rawConfig.autoDeleteBranches === 'boolean') {
|
|
52
|
+
config.autoDeleteBranches = rawConfig.autoDeleteBranches;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
warnings.push(`Invalid autoDeleteBranches: must be a boolean. Using default: ${DEFAULT_WORKTREE_CONFIG.autoDeleteBranches}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Validate enableSparseCheckout
|
|
59
|
+
if (rawConfig.enableSparseCheckout !== undefined) {
|
|
60
|
+
if (typeof rawConfig.enableSparseCheckout === 'boolean') {
|
|
61
|
+
config.enableSparseCheckout = rawConfig.enableSparseCheckout;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
warnings.push(`Invalid enableSparseCheckout: must be a boolean. Using default: ${DEFAULT_WORKTREE_CONFIG.enableSparseCheckout}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Validate sparseCheckoutPatterns
|
|
68
|
+
if (rawConfig.sparseCheckoutPatterns !== undefined) {
|
|
69
|
+
if (Array.isArray(rawConfig.sparseCheckoutPatterns) &&
|
|
70
|
+
rawConfig.sparseCheckoutPatterns.every((p) => typeof p === 'string')) {
|
|
71
|
+
config.sparseCheckoutPatterns = rawConfig.sparseCheckoutPatterns;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
warnings.push('Invalid sparseCheckoutPatterns: must be an array of strings. Ignoring value.');
|
|
75
|
+
config.sparseCheckoutPatterns = undefined;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Validate branchPrefix
|
|
79
|
+
if (rawConfig.branchPrefix !== undefined) {
|
|
80
|
+
if (typeof rawConfig.branchPrefix === 'string') {
|
|
81
|
+
// Validate git branch name characters (basic validation)
|
|
82
|
+
if (isValidGitBranchPrefix(rawConfig.branchPrefix)) {
|
|
83
|
+
config.branchPrefix = rawConfig.branchPrefix;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
warnings.push(`Invalid branchPrefix: contains invalid git branch name characters. Using default: ${DEFAULT_WORKTREE_CONFIG.branchPrefix}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
warnings.push(`Invalid branchPrefix: must be a string. Using default: ${DEFAULT_WORKTREE_CONFIG.branchPrefix}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Validate cleanupOrphanedWorktreesOnStartup
|
|
94
|
+
if (rawConfig.cleanupOrphanedWorktreesOnStartup !== undefined) {
|
|
95
|
+
if (typeof rawConfig.cleanupOrphanedWorktreesOnStartup === 'boolean') {
|
|
96
|
+
config.cleanupOrphanedWorktreesOnStartup =
|
|
97
|
+
rawConfig.cleanupOrphanedWorktreesOnStartup;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
warnings.push(`Invalid cleanupOrphanedWorktreesOnStartup: must be a boolean. Using default: ${DEFAULT_WORKTREE_CONFIG.cleanupOrphanedWorktreesOnStartup}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return { config, warnings };
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Validate git branch prefix characters
|
|
107
|
+
* Basic validation - checks for common invalid characters
|
|
108
|
+
*
|
|
109
|
+
* @param prefix - Branch prefix to validate
|
|
110
|
+
* @returns True if valid
|
|
111
|
+
*/
|
|
112
|
+
function isValidGitBranchPrefix(prefix) {
|
|
113
|
+
// Git branch names cannot contain: .., @{, \, ^, ~, :, ?, *, [, space, or control characters
|
|
114
|
+
// Also cannot start with / or end with .lock
|
|
115
|
+
const invalidPatterns = [
|
|
116
|
+
/\.\./,
|
|
117
|
+
/@\{/,
|
|
118
|
+
/\\/,
|
|
119
|
+
/\^/,
|
|
120
|
+
/~/,
|
|
121
|
+
/:/,
|
|
122
|
+
/\?/,
|
|
123
|
+
/\*/,
|
|
124
|
+
/\[/,
|
|
125
|
+
/\s/,
|
|
126
|
+
// eslint-disable-next-line no-control-regex
|
|
127
|
+
/[\x00-\x1f\x7f]/,
|
|
128
|
+
];
|
|
129
|
+
if (prefix.startsWith('/') || prefix.endsWith('.lock')) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
return !invalidPatterns.some((pattern) => pattern.test(prefix));
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Load worktree configuration from .sudocode/config.json
|
|
136
|
+
*
|
|
137
|
+
* @param projectRoot - Path to project root (default: current working directory)
|
|
138
|
+
* @returns Validated configuration with warnings
|
|
139
|
+
*/
|
|
140
|
+
export function loadWorktreeConfig(projectRoot = process.cwd()) {
|
|
141
|
+
const configPath = path.join(projectRoot, '.sudocode', 'config.json');
|
|
142
|
+
// If config file doesn't exist, return defaults
|
|
143
|
+
if (!fs.existsSync(configPath)) {
|
|
144
|
+
return {
|
|
145
|
+
config: DEFAULT_WORKTREE_CONFIG,
|
|
146
|
+
warnings: [
|
|
147
|
+
`Config file not found at ${configPath}. Using default configuration.`,
|
|
148
|
+
],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
const rawFileContent = fs.readFileSync(configPath, 'utf-8');
|
|
153
|
+
const rawConfig = JSON.parse(rawFileContent);
|
|
154
|
+
// Extract worktree section
|
|
155
|
+
const worktreeConfig = rawConfig.worktree || {};
|
|
156
|
+
// Validate and return
|
|
157
|
+
return validateWorktreeConfig(worktreeConfig);
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
161
|
+
return {
|
|
162
|
+
config: DEFAULT_WORKTREE_CONFIG,
|
|
163
|
+
warnings: [
|
|
164
|
+
`Failed to load config from ${configPath}: ${errorMessage}. Using default configuration.`,
|
|
165
|
+
],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Singleton instance of worktree configuration
|
|
171
|
+
*/
|
|
172
|
+
let cachedConfig = null;
|
|
173
|
+
let cachedProjectRoot = null;
|
|
174
|
+
/**
|
|
175
|
+
* Get worktree configuration (singleton pattern)
|
|
176
|
+
* Caches the configuration per project root
|
|
177
|
+
*
|
|
178
|
+
* @param projectRoot - Path to project root (default: current working directory)
|
|
179
|
+
* @param forceReload - Force reload from disk
|
|
180
|
+
* @returns Worktree configuration
|
|
181
|
+
*/
|
|
182
|
+
export function getWorktreeConfig(projectRoot = process.cwd(), forceReload = false) {
|
|
183
|
+
// Return cached config if same project root and not forcing reload
|
|
184
|
+
if (!forceReload && cachedConfig && cachedProjectRoot === projectRoot) {
|
|
185
|
+
return cachedConfig;
|
|
186
|
+
}
|
|
187
|
+
// Load and validate configuration
|
|
188
|
+
const { config, warnings } = loadWorktreeConfig(projectRoot);
|
|
189
|
+
// Log warnings
|
|
190
|
+
if (warnings.length > 0) {
|
|
191
|
+
console.warn('[Worktree Config] Configuration warnings:');
|
|
192
|
+
warnings.forEach((warning) => console.warn(` - ${warning}`));
|
|
193
|
+
}
|
|
194
|
+
// Cache the configuration
|
|
195
|
+
cachedConfig = config;
|
|
196
|
+
cachedProjectRoot = projectRoot;
|
|
197
|
+
return config;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Clear the cached configuration (useful for testing)
|
|
201
|
+
*/
|
|
202
|
+
export function clearWorktreeConfigCache() {
|
|
203
|
+
cachedConfig = null;
|
|
204
|
+
cachedProjectRoot = null;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Update worktree configuration in .sudocode/config.json
|
|
208
|
+
* Preserves other configuration sections
|
|
209
|
+
*
|
|
210
|
+
* @param updates - Partial configuration to update
|
|
211
|
+
* @param projectRoot - Path to project root (default: current working directory)
|
|
212
|
+
* @returns Validation result with updated config
|
|
213
|
+
* @throws Error if unable to write config file
|
|
214
|
+
*/
|
|
215
|
+
export function updateWorktreeConfig(updates, projectRoot = process.cwd()) {
|
|
216
|
+
const configPath = path.join(projectRoot, '.sudocode', 'config.json');
|
|
217
|
+
// Load existing config (or create new one)
|
|
218
|
+
let existingConfig = {};
|
|
219
|
+
if (fs.existsSync(configPath)) {
|
|
220
|
+
try {
|
|
221
|
+
const rawFileContent = fs.readFileSync(configPath, 'utf-8');
|
|
222
|
+
existingConfig = JSON.parse(rawFileContent);
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
226
|
+
throw new Error(`Failed to read existing config from ${configPath}: ${errorMessage}`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
// Create .sudocode directory if it doesn't exist
|
|
231
|
+
const sudocodeDir = path.dirname(configPath);
|
|
232
|
+
if (!fs.existsSync(sudocodeDir)) {
|
|
233
|
+
fs.mkdirSync(sudocodeDir, { recursive: true });
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Merge updates with existing worktree config
|
|
237
|
+
const mergedWorktreeConfig = {
|
|
238
|
+
...(existingConfig.worktree || {}),
|
|
239
|
+
...updates,
|
|
240
|
+
};
|
|
241
|
+
// Validate merged config
|
|
242
|
+
const validationResult = validateWorktreeConfig(mergedWorktreeConfig);
|
|
243
|
+
// Update config object
|
|
244
|
+
existingConfig.worktree = validationResult.config;
|
|
245
|
+
// Write to file
|
|
246
|
+
try {
|
|
247
|
+
fs.writeFileSync(configPath, JSON.stringify(existingConfig, null, 2), 'utf-8');
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
251
|
+
throw new Error(`Failed to write config to ${configPath}: ${errorMessage}`);
|
|
252
|
+
}
|
|
253
|
+
// Invalidate cache
|
|
254
|
+
if (cachedProjectRoot === projectRoot) {
|
|
255
|
+
cachedConfig = null;
|
|
256
|
+
cachedProjectRoot = null;
|
|
257
|
+
}
|
|
258
|
+
return validationResult;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Set a single worktree configuration property
|
|
262
|
+
*
|
|
263
|
+
* @param key - Configuration key to set
|
|
264
|
+
* @param value - Value to set
|
|
265
|
+
* @param projectRoot - Path to project root (default: current working directory)
|
|
266
|
+
* @returns Validation result with updated config
|
|
267
|
+
*/
|
|
268
|
+
export function setWorktreeConfigProperty(key, value, projectRoot = process.cwd()) {
|
|
269
|
+
return updateWorktreeConfig({ [key]: value }, projectRoot);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Reset worktree configuration to defaults
|
|
273
|
+
*
|
|
274
|
+
* @param projectRoot - Path to project root (default: current working directory)
|
|
275
|
+
* @returns Validation result with default config
|
|
276
|
+
*/
|
|
277
|
+
export function resetWorktreeConfig(projectRoot = process.cwd()) {
|
|
278
|
+
return updateWorktreeConfig(DEFAULT_WORKTREE_CONFIG, projectRoot);
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/execution/worktree/config.ts"],"names":[],"mappings":"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"}
|