@goodandready/dsh-kanban 0.2.33 → 0.2.35
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/lib/client.js +170 -379
- package/lib/config.js +31 -1
- package/lib/index.js +120 -1205
- package/lib/remote-relay.js +149 -0
- package/lib/remote-runner.js +164 -0
- package/lib/routes/board.js +282 -0
- package/lib/routes/security.js +274 -0
- package/lib/routes/task-actions.js +345 -0
- package/lib/routes/task-worktree.js +107 -0
- package/lib/routes/task.js +211 -0
- package/lib/routes.js +71 -1206
- package/lib/server/route-handlers.js +367 -0
- package/lib/server/services.js +225 -0
- package/lib/server/task-handler.js +530 -0
- package/lib/server/timers.js +204 -0
- package/lib/store.js +9 -2
- package/lib/watchdog.js +169 -0
- package/lib/worktree.js +35 -2
- package/package.json +1 -1
package/lib/config.js
CHANGED
|
@@ -81,6 +81,19 @@ export const CONFIG_DEFAULTS = {
|
|
|
81
81
|
verificationTimeoutMs: 120000,
|
|
82
82
|
costMeterEnabled: true,
|
|
83
83
|
taskCostLimit: 0,
|
|
84
|
+
remoteMode: false,
|
|
85
|
+
remoteHost: '192.168.1.111',
|
|
86
|
+
remotePort: 22,
|
|
87
|
+
remoteUser: 'migrate',
|
|
88
|
+
remoteAuthType: 'key',
|
|
89
|
+
remoteKeyPath: '',
|
|
90
|
+
remoteSudoUser: 'vadim',
|
|
91
|
+
remoteRoot: '/mnt/external/Project/DEV',
|
|
92
|
+
remoteServerUrl: 'http://192.168.1.111:3080',
|
|
93
|
+
remoteServerToken: '',
|
|
94
|
+
watchdogEnabled: true,
|
|
95
|
+
watchdogStallTimeoutMin: 15,
|
|
96
|
+
watchdogMaxConsecutiveErrors: 5,
|
|
84
97
|
}
|
|
85
98
|
|
|
86
99
|
/** Field descriptions reused in schema and settings card. */
|
|
@@ -121,6 +134,19 @@ export const CONFIG_HINTS = {
|
|
|
121
134
|
verificationTimeoutMs: 'Timeout in milliseconds for verification gate execution (default: 120000).',
|
|
122
135
|
costMeterEnabled: 'Enable token and cost telemetry integration via @goodandready/dsh-cost-meter.',
|
|
123
136
|
taskCostLimit: 'Cost threshold per task in USD; 0 disables threshold warnings.',
|
|
137
|
+
remoteMode: 'Enable remote execution on server 111 for tasks, worktrees, and git operations.',
|
|
138
|
+
remoteHost: 'Remote server hostname or IP address (e.g. 192.168.1.111).',
|
|
139
|
+
remotePort: 'Remote SSH port (default: 22).',
|
|
140
|
+
remoteUser: 'SSH username on remote server (e.g. migrate or vadim).',
|
|
141
|
+
remoteAuthType: 'SSH authentication mechanism: key, agent, or password.',
|
|
142
|
+
remoteKeyPath: 'Path to SSH private key file on local PC (e.g. C:/Users/.../.ssh/key).',
|
|
143
|
+
remoteSudoUser: 'Linux user to run commands as via sudo -u (e.g. vadim).',
|
|
144
|
+
remoteRoot: 'Base directory on remote server containing project repositories (/mnt/external/Project/DEV).',
|
|
145
|
+
remoteServerUrl: 'DSH server URL on 111 (http://192.168.1.111:3080) for unified board state and sessions.',
|
|
146
|
+
remoteServerToken: 'Authentication token for remote DSH server if required.',
|
|
147
|
+
watchdogEnabled: 'Enable background watchdog timer and circuit breaker for stalled agent tasks.',
|
|
148
|
+
watchdogStallTimeoutMin: 'Minutes of inactivity before active task is marked stalled by watchdog (default: 15).',
|
|
149
|
+
watchdogMaxConsecutiveErrors: 'Number of consecutive execution errors before tripping circuit breaker (default: 5).',
|
|
124
150
|
}
|
|
125
151
|
|
|
126
152
|
/** Setting key for column WIP limit; not all columns have limits. */
|
|
@@ -137,7 +163,11 @@ const WIP_FIELD = {
|
|
|
137
163
|
*/
|
|
138
164
|
export function rootOf(config, cwdOf = () => process.cwd()) {
|
|
139
165
|
const named = String(config?.defaultProjectRoot ?? '').trim()
|
|
140
|
-
|
|
166
|
+
if (named !== '') return { path: named, set: true }
|
|
167
|
+
if (config?.remoteMode && config?.remoteRoot) {
|
|
168
|
+
return { path: String(config.remoteRoot).trim(), set: true }
|
|
169
|
+
}
|
|
170
|
+
return { path: cwdOf(), set: false }
|
|
141
171
|
}
|
|
142
172
|
|
|
143
173
|
/**
|