mixdog 0.9.27 → 0.9.29
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/package.json +6 -2
- package/src/app.mjs +14 -0
- package/src/rules/lead/lead-tool.md +1 -2
- package/src/rules/shared/01-tool.md +13 -11
- package/src/runtime/channels/backends/discord-access.mjs +1 -3
- package/src/runtime/channels/backends/telegram.mjs +1 -1
- package/src/runtime/channels/lib/config.mjs +5 -29
- package/src/runtime/memory/tool-defs.mjs +1 -1
- package/src/runtime/shared/config.mjs +1 -6
- package/src/runtime/shared/schedules-db.mjs +2 -120
- package/src/runtime/shared/webhooks-db.mjs +3 -138
- package/src/session-runtime/runtime-core.mjs +32 -10
- package/src/standalone/agent-tool/tool-def.mjs +1 -1
- package/src/standalone/channel-admin.mjs +6 -27
- package/src/tui/App.jsx +2 -1
- package/src/tui/components/StatusLine.jsx +2 -2
- package/src/tui/components/ToolExecution.jsx +10 -1
- package/src/tui/display-width.mjs +4 -1
- package/src/tui/dist/index.mjs +173 -157
- package/src/tui/engine/notification-plan.mjs +5 -1
- package/src/tui/index.jsx +2 -1
- package/src/workflows/default/WORKFLOW.md +15 -11
- package/vendor/ink/build/display-width.js +3 -1
|
@@ -64,7 +64,11 @@ export function resolveTuiRuntimeNotificationDelivery(event, text) {
|
|
|
64
64
|
// UI-only notices (e.g. boot auto-update outcome): render as a transcript
|
|
65
65
|
// notice, never enqueue anything model-visible.
|
|
66
66
|
if (meta.kind === 'update-notice') {
|
|
67
|
-
|
|
67
|
+
// Wording lives here (the notice surface), not in the emitting runtime:
|
|
68
|
+
// the emitter only supplies meta.version; the sentence is composed here.
|
|
69
|
+
const ver = String(meta.version || '').trim();
|
|
70
|
+
const displayText = ver ? `mixdog v${ver} ready — restart to apply.` : trimmed;
|
|
71
|
+
return { action: 'notice', displayText, tone: meta.tone === 'warn' ? 'warn' : 'info' };
|
|
68
72
|
}
|
|
69
73
|
if (!isExecutionNotification(event, trimmed, parsed)) {
|
|
70
74
|
return { action: 'enqueue', displayText: trimmed, modelContent: trimmed };
|
package/src/tui/index.jsx
CHANGED
|
@@ -18,6 +18,7 @@ import { emitTerminalBackground, loadThemeSettingFromConfig, theme } from './the
|
|
|
18
18
|
import { POP_KITTY, DISABLE_MODIFY_OTHER_KEYS } from './keyboard-protocol.mjs';
|
|
19
19
|
import { displayWidth } from './display-width.mjs';
|
|
20
20
|
import { rotateBoundedLog, PLUGIN_LOG_MAX_BYTES, PLUGIN_LOG_KEEP_BYTES } from '../lib/mixdog-debug.cjs';
|
|
21
|
+
import { localPackageVersion } from '../runtime/shared/update-checker.mjs';
|
|
21
22
|
|
|
22
23
|
// Trailing `\x1b[>0s` restores XTSHIFTESCAPE (shift-to-select-extend) to its
|
|
23
24
|
// terminal default; MOUSE_TRACKING_ON opts into `\x1b[>1s`, so every mouse/alt
|
|
@@ -290,7 +291,7 @@ function paintBootSplash() {
|
|
|
290
291
|
out += `${bold}${fg}${center(logo[i])}${reset}\r\n`;
|
|
291
292
|
}
|
|
292
293
|
out += '\r\n';
|
|
293
|
-
out += `${subtleFg}${center(`mixdog coding agent · ${process.cwd()}`)}${reset}`;
|
|
294
|
+
out += `${subtleFg}${center(`mixdog coding agent · v${localPackageVersion()} · ${process.cwd()}`)}${reset}`;
|
|
294
295
|
|
|
295
296
|
// Park the cursor at home so ink's first frame paints top-down over the
|
|
296
297
|
// splash instead of starting at the bottom row and scrolling the screen.
|
|
@@ -13,20 +13,24 @@ exploration only. Diagnosis agreement or problem-pointing is NOT approval.
|
|
|
13
13
|
|
|
14
14
|
Lead supervises: delegates, coordinates, judges, decides. Route by complexity
|
|
15
15
|
(after approval):
|
|
16
|
-
- Lead directly:
|
|
17
|
-
|
|
16
|
+
- Lead directly: only one-step fixes doable in a single turn, plus
|
|
17
|
+
coordination, config, and git deployment. Everything else delegates.
|
|
18
|
+
- Worker: any multi-step or multi-file implementation. Heavy Worker:
|
|
19
|
+
high-complexity scopes.
|
|
18
20
|
- Reviewer: verify implementation scopes. Debugger: very high complexity, or
|
|
19
21
|
root-causing already failed once.
|
|
20
22
|
|
|
21
23
|
1. Plan — present a draft plan before ANY implementation; if not approved,
|
|
22
24
|
revise and re-present (ping-pong) until an explicit go-ahead.
|
|
23
|
-
2. Delegate — split
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
2. Delegate — maximize distribution: split the work into as many independent
|
|
26
|
+
implementation scopes as possible and hand each to its own worker or
|
|
27
|
+
heavy-worker, all spawned in the SAME turn (parallel by default; sequential
|
|
28
|
+
steps only inside one complex scope, gated build/test-green). Fan them out
|
|
29
|
+
across agents, never one at a time. Only a genuinely inseparable single
|
|
30
|
+
scope stays whole, and say so. Briefs per the Lead brief contract. After
|
|
31
|
+
spawning async agents, END THE TURN.
|
|
32
|
+
3. Review — spawn one reviewer 1:1 per implementation scope, all reviewers in
|
|
33
|
+
the same turn once their scopes land.
|
|
30
34
|
Cross-check agent results yourself; send fixes back to the original scope
|
|
31
35
|
and loop fix -> re-verify until clean. Skip only for simple low-risk work.
|
|
32
36
|
Debugger first when the user asks for debugging or a bug survives 2+ fix
|
|
@@ -35,7 +39,7 @@ Lead supervises: delegates, coordinates, judges, decides. Route by complexity
|
|
|
35
39
|
and how work proceeds, marked in-progress — never as a conclusion.
|
|
36
40
|
4. Report — final report briefs the whole work vs the approved plan and the
|
|
37
41
|
verified result, distinct from interim updates. Never forward raw agent
|
|
38
|
-
output. Ask about ship/deploy when relevant; deploy/build/commit only
|
|
39
|
-
|
|
42
|
+
output. Ask about ship/deploy when relevant; deploy/build/commit only on an
|
|
43
|
+
explicit user request, after feedback with no issues.
|
|
40
44
|
|
|
41
45
|
On major direction shifts mid-work, pause and re-consult the user.
|
|
@@ -24,7 +24,9 @@ import stringWidth from 'string-width';
|
|
|
24
24
|
const graphemeSegmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
|
|
25
25
|
|
|
26
26
|
function isProblemCodePoint(cp) {
|
|
27
|
-
|
|
27
|
+
// [mixdog fork] U+21BB (↻ quota-reset marker) excluded: WT draws it 1 cell,
|
|
28
|
+
// so widening it shifted the right-aligned statusline label one col left.
|
|
29
|
+
return (cp >= 0x2460 && cp <= 0x24ff) || (cp >= 0x2194 && cp <= 0x21ff && cp !== 0x21bb);
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
// [mixdog fork] Fast precheck for the problem ranges above. Lets the hot path
|