@goodandready/dsh-kanban 0.2.8 → 0.2.10
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 +14 -2
- package/lib/commands.js +10 -10
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -17,6 +17,10 @@ window.__ModuleLoader__.load({
|
|
|
17
17
|
const ReactDOM = require('react-dom/client')
|
|
18
18
|
|
|
19
19
|
const NS = 'dsh-kanban'
|
|
20
|
+
// Plugins page row seat (DSH 0.1.6-alpha.2): key = '<package name>#<row id>'.
|
|
21
|
+
const PKG = '@goodandready/dsh-kanban'
|
|
22
|
+
const ROW_ID = 'dsh-kanban'
|
|
23
|
+
const ROW_CONFIG_KEY = PKG + '#' + ROW_ID
|
|
20
24
|
const COLUMN_ORDER = ['backlog', 'in-progress', 'review', 'deploy', 'cleanup', 'done']
|
|
21
25
|
|
|
22
26
|
|
|
@@ -1976,8 +1980,15 @@ window.__ModuleLoader__.load({
|
|
|
1976
1980
|
body = rows
|
|
1977
1981
|
}
|
|
1978
1982
|
|
|
1979
|
-
|
|
1980
|
-
|
|
1983
|
+
// Row seat (plugins.row.config): the host page draws title/icon/crumb and the
|
|
1984
|
+
// padding, so the summary is a one-liner and the page drops our card chrome.
|
|
1985
|
+
if (props && props.view === 'summary') {
|
|
1986
|
+
return h('span', { className: 'dkb-sub' }, t('settings.subtitle') || 'Kanban board for sessions and tasks')
|
|
1987
|
+
}
|
|
1988
|
+
const page = !!(props && props.view === 'page')
|
|
1989
|
+
|
|
1990
|
+
return h(page ? 'div' : 'li', { className: page ? 'dkb-page' : 'dkb-card dkb-cardOpen' },
|
|
1991
|
+
page ? null : head, h('div', { className: 'dkb-body' }, body))
|
|
1981
1992
|
}
|
|
1982
1993
|
|
|
1983
1994
|
/** Стрелка влево для кнопки возврата: 14x14, обводка цветом текста. */
|
|
@@ -4503,6 +4514,7 @@ window.__ModuleLoader__.load({
|
|
|
4503
4514
|
const SettingsErrorBoundary = createErrorBoundary()
|
|
4504
4515
|
const SafeSettingsCard = (props) => h(SettingsErrorBoundary, null, h(KanbanSettingsCard, props))
|
|
4505
4516
|
const cardSlot = registerFirst(ctx, [
|
|
4517
|
+
{ name: 'plugins.row.config', key: ROW_CONFIG_KEY, locale: NS, inject: () => ({ ctx }) },
|
|
4506
4518
|
{ name: 'settings.plugin.item', key: NS, locale: NS, inject: () => ({ ctx }) },
|
|
4507
4519
|
], SafeSettingsCard)
|
|
4508
4520
|
|
package/lib/commands.js
CHANGED
|
@@ -96,7 +96,7 @@ export function dispatchMove({ agents, task, column, kind = 'project', createMes
|
|
|
96
96
|
try {
|
|
97
97
|
agent.cancel({ kind: 'user' })
|
|
98
98
|
} catch (error) {
|
|
99
|
-
logger?.warn?.(`dsh-kanban:
|
|
99
|
+
logger?.warn?.(`dsh-kanban: agent turn for task ${task.id} was not interrupted: ${error?.message}`)
|
|
100
100
|
return { acted: 'idle' }
|
|
101
101
|
}
|
|
102
102
|
return { acted: 'stopped' }
|
|
@@ -133,7 +133,7 @@ export function stopWork({ agents, task, logger }) {
|
|
|
133
133
|
try {
|
|
134
134
|
agent.cancel({ kind: 'user' })
|
|
135
135
|
} catch (error) {
|
|
136
|
-
logger?.warn?.(`dsh-kanban:
|
|
136
|
+
logger?.warn?.(`dsh-kanban: agent turn for task ${task.id} was not interrupted: ${error?.message}`)
|
|
137
137
|
return { acted: 'idle' }
|
|
138
138
|
}
|
|
139
139
|
return { acted: 'stopped' }
|
|
@@ -141,9 +141,9 @@ export function stopWork({ agents, task, logger }) {
|
|
|
141
141
|
|
|
142
142
|
/** Пояснения к остановке в журнале задачи. */
|
|
143
143
|
export const STOP_DETAIL = {
|
|
144
|
-
stopped: '
|
|
145
|
-
idle: '
|
|
146
|
-
'no-session': '
|
|
144
|
+
stopped: 'user stopped agent turn',
|
|
145
|
+
idle: 'agent was idle, nothing to stop',
|
|
146
|
+
'no-session': 'task has no session',
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
/**
|
|
@@ -153,10 +153,10 @@ export const STOP_DETAIL = {
|
|
|
153
153
|
* значило бы задваивать событие, которое было одним.
|
|
154
154
|
*/
|
|
155
155
|
export const MOVE_DETAIL = {
|
|
156
|
-
stopped: '
|
|
157
|
-
sent: '
|
|
158
|
-
idle: '
|
|
159
|
-
'no-session': '
|
|
160
|
-
human: '
|
|
156
|
+
stopped: 'move interrupted running agent turn',
|
|
157
|
+
sent: 'command sent to task chat',
|
|
158
|
+
idle: 'agent was idle, nothing to stop',
|
|
159
|
+
'no-session': 'task has no session, card moved',
|
|
160
|
+
human: 'human decision',
|
|
161
161
|
unknown: '',
|
|
162
162
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodandready/dsh-kanban",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"description": "Visual Kanban board for DeepSeek Harness: Gitea-backed tasks, workflow columns, and a dedicated agent session per task.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|