dsh-super-code 0.3.6 → 0.3.7

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.
@@ -0,0 +1,176 @@
1
+ /** UI-only facts from the existing journal. Never emits messages or changes execution. */
2
+ import { posix, win32 } from 'node:path';
3
+ import { z } from 'zod';
4
+ import { recordedToolResult } from './core/host-messages.js';
5
+ const LIMIT = { activities: 80, files: 160, pending: 64, todos: 200 };
6
+ const phaseSchema = z.enum(['idle', 'running', 'waiting', 'error', 'interrupted']);
7
+ const fileSchema = z.object({ path: z.string(), operation: z.enum(['write', 'edit', 'create', 'patch']),
8
+ seq: z.number(), tool: z.string(), callId: z.string() }).strict();
9
+ const activitySchema = z.object({ callId: z.string(), tool: z.string(), description: z.string(), seq: z.number(),
10
+ status: z.enum(['running', 'succeeded', 'failed', 'interrupted']), parent: z.string() }).strict();
11
+ const pendingSchema = z.object({ callId: z.string(), turn: z.number(), step: z.number(),
12
+ files: z.array(fileSchema.omit({ seq: true, tool: true, callId: true })),
13
+ }).strict();
14
+ const todoSchema = z.object({ content: z.string(), status: z.enum(['pending', 'in_progress', 'completed']) });
15
+ const goalSchema = z.discriminatedUnion('kind', [z.object({ kind: z.literal('none') }).strict(),
16
+ z.object({ kind: z.literal('recorded'), text: z.string(), status: z.string() }).strict()]);
17
+ const viewSchema = z.object({ request: z.string(), latestRequest: z.string(), phase: phaseSchema, goal: goalSchema,
18
+ todos: z.array(todoSchema).max(LIMIT.todos), activities: z.array(activitySchema).max(LIMIT.activities),
19
+ files: z.array(fileSchema).max(LIMIT.files), omittedActivities: z.number(), omittedFiles: z.number(), omittedTodos: z.number(),
20
+ }).strict();
21
+ const stateSchema = viewSchema.extend({ inherited: z.number(), cursor: z.number(), cwd: z.string(),
22
+ pending: z.array(pendingSchema).max(LIMIT.pending), approvals: z.array(z.string()).max(LIMIT.pending),
23
+ }).strict();
24
+ function object(value) {
25
+ if (!value || typeof value !== 'object' || Array.isArray(value))
26
+ return {};
27
+ return value;
28
+ }
29
+ function parse(value) {
30
+ if (typeof value !== 'string')
31
+ return object(value);
32
+ // Avoid decoding unbounded tool arguments while folding old histories.
33
+ if (value.length > 2_000_000)
34
+ return {};
35
+ try {
36
+ return object(JSON.parse(value));
37
+ }
38
+ catch {
39
+ return {};
40
+ }
41
+ }
42
+ function text(value, max = 1600) { return typeof value === 'string' ? value.trim().slice(0, max) : ''; }
43
+ function filePath(path, cwd) {
44
+ if (typeof path !== 'string' || !path.trim() || path.length > 4096 || path.includes('\0'))
45
+ return '';
46
+ const paths = /^[a-z]:[\\/]|^\\\\/i.test(cwd || path) ? win32 : posix;
47
+ return paths.isAbsolute(path) ? paths.normalize(path) : cwd ? paths.resolve(cwd, path) : paths.normalize(path);
48
+ }
49
+ /** Only named filesystem tools are evidence; shell text is never treated as a file mutation. */
50
+ function fileCandidates(name, args, cwd) {
51
+ const path = filePath(args.file_path ?? args.path, cwd);
52
+ if (path && ['write', 'write_file'].includes(name))
53
+ return [{ path, operation: 'write' }];
54
+ if (path && ['edit', 'edit_file'].includes(name))
55
+ return [{ path, operation: 'edit' }];
56
+ if (path && name === 'str_replace_editor' && ['create', 'str_replace', 'insert'].includes(args.command)) {
57
+ return [{ path, operation: args.command === 'create' ? 'create' : 'edit' }];
58
+ }
59
+ // No parsing of apply_patch inside arbitrary shell commands or program text.
60
+ // The standalone patch tool's explicit file markers retain operation evidence.
61
+ if (name === 'apply_patch' && typeof args.patch === 'string') {
62
+ return [...args.patch.matchAll(/^\*\*\* (?:Add|Update|Delete) File: (.+)$/gm)].slice(0, LIMIT.files)
63
+ .flatMap(match => { const path = filePath(match[1], cwd); return path ? [{ path, operation: 'patch' }] : []; });
64
+ }
65
+ return [];
66
+ }
67
+ function description(name, args) {
68
+ return text(args.description, 240) || (['bash', 'pwsh'].includes(name) ? text(args.command, 240)
69
+ : text(args.file_path ?? args.path, 240) || text(args.query, 240) || text(args.action, 240));
70
+ }
71
+ function begin(state, data, seq, nested) {
72
+ const callId = text(nested ? data.subCallId : data.callId, 512), name = text(data.name, 120);
73
+ if (!callId || !name || state.activities.some(row => row.callId === callId))
74
+ return state;
75
+ const args = parse(data.arguments);
76
+ const activity = { callId, tool: name, description: description(name, args), seq, status: 'running',
77
+ parent: nested ? text(data.parentCallId, 512) : '' };
78
+ const activities = [...state.activities, activity];
79
+ return { ...state, activities: activities.slice(-LIMIT.activities),
80
+ omittedActivities: state.omittedActivities + Math.max(0, activities.length - LIMIT.activities),
81
+ pending: [...state.pending, { callId, turn: data.turn ?? -1, step: data.step ?? -1,
82
+ files: fileCandidates(name, args, state.cwd) }].slice(-LIMIT.pending) };
83
+ }
84
+ /** New tools can expose applied diffs through the existing presentation metadata. */
85
+ function metadataFiles(meta, cwd) {
86
+ const diffs = object(meta).diffs;
87
+ if (!Array.isArray(diffs))
88
+ return [];
89
+ return diffs.slice(0, LIMIT.files).flatMap(value => {
90
+ const diff = object(value), path = filePath(diff.path, cwd);
91
+ const valid = (diff.oldText === null || typeof diff.oldText === 'string') && typeof diff.newText === 'string';
92
+ return path && valid && diff.oldText !== diff.newText ? [{ path, operation: 'patch' }] : [];
93
+ });
94
+ }
95
+ function finish(state, callId, isError, seq, turn = -1, step = -1, meta = {}) {
96
+ const pending = state.pending.find(row => row.callId === callId);
97
+ if (pending && turn >= 0 && (pending.turn !== turn || pending.step !== step))
98
+ return state;
99
+ const call = state.pending.find(row => row.callId === callId && (turn < 0 || row.turn === turn && row.step === step));
100
+ const activity = state.activities.find(row => row.callId === callId);
101
+ if (!call && (!activity || activity.status !== 'running'))
102
+ return state;
103
+ const activities = state.activities.map(row => row.callId === callId ? { ...row, status: isError ? 'failed' : 'succeeded' } : row);
104
+ const files = [...state.files];
105
+ const applied = metadataFiles(meta, state.cwd);
106
+ if (!isError && activity && call)
107
+ for (const file of applied.length ? applied : call.files) {
108
+ const index = files.findIndex(row => row.path === file.path);
109
+ if (index >= 0)
110
+ files.splice(index, 1);
111
+ files.push({ ...file, seq, tool: activity.tool, callId });
112
+ }
113
+ return { ...state, activities, pending: state.pending.filter(row => row !== call), files: files.slice(-LIMIT.files),
114
+ omittedFiles: state.omittedFiles + Math.max(0, files.length - LIMIT.files) };
115
+ }
116
+ /** Pure, bounded and idempotent for repeated event delivery. Fork history is not attributed to a child. */
117
+ export function foldTaskFeedback(state, event) {
118
+ if (event.seq < state.inherited || event.seq <= state.cursor)
119
+ return state;
120
+ const data = object(event.data), type = event.type;
121
+ let next = state;
122
+ if (type === 'user/message' && data.source?.kind === 'user') {
123
+ const request = text((Array.isArray(data.content) ? data.content : []).map(object)
124
+ .filter(block => block.type === 'text' && typeof block.text === 'string').map(block => block.text).join('\n'), 4000);
125
+ if (request)
126
+ next = { ...next, request: state.request || request, latestRequest: request };
127
+ }
128
+ if (type === 'goal/change') {
129
+ if (data.operation === 'clear')
130
+ next = { ...next, goal: { kind: 'none' } };
131
+ else if (text(data.goal?.objective))
132
+ next = { ...next, goal: { kind: 'recorded', text: text(data.goal.objective, 4000), status: text(data.goal.phase, 40) } };
133
+ }
134
+ if (type === 'todo/write' && Array.isArray(data.todos)) {
135
+ const todos = data.todos.slice(0, LIMIT.todos).flatMap((item) => {
136
+ const parsed = todoSchema.safeParse(item);
137
+ return parsed.success ? [{ ...parsed.data, content: text(parsed.data.content, 800) }] : [];
138
+ });
139
+ next = { ...next, todos, omittedTodos: data.todos.length - todos.length };
140
+ }
141
+ if (type === 'turn/start')
142
+ next = { ...next, phase: 'running', todos: [], omittedTodos: 0, approvals: [],
143
+ pending: [], activities: state.activities.map(row => row.status === 'running' ? { ...row, status: 'interrupted' } : row) };
144
+ if (type === 'turn/end')
145
+ next = { ...next, phase: data.reason?.kind === 'error' ? 'error' : data.reason?.kind === 'aborted' ? 'interrupted' : 'idle',
146
+ pending: [], approvals: [], activities: state.activities.map(row => row.status === 'running' ? { ...row, status: 'interrupted' } : row) };
147
+ if (type === 'approval/asked' && typeof data.id === 'string')
148
+ next = { ...next, phase: 'waiting', approvals: [...new Set([...state.approvals, data.id])].slice(-LIMIT.pending) };
149
+ if (type === 'approval/decided' && state.approvals.includes(data.id)) {
150
+ const approvals = state.approvals.filter(id => id !== data.id);
151
+ next = { ...next, approvals, phase: approvals.length ? 'waiting' : state.phase === 'waiting' ? 'running' : state.phase };
152
+ }
153
+ if (type === 'tool/call' || type === 'tool/ptc-dispatch-start')
154
+ next = begin(next, data, event.seq, type === 'tool/ptc-dispatch-start');
155
+ if (type === 'tool/result') {
156
+ const result = recordedToolResult(data.message);
157
+ if (result.kind === 'record')
158
+ next = finish(next, result.callId, result.isError, event.seq, data.turn, data.step, data.meta);
159
+ }
160
+ if (type === 'tool/ptc-dispatch' && typeof data.subCallId === 'string' && typeof data.isError === 'boolean') {
161
+ next = begin(next, data, event.seq, true);
162
+ next = finish(next, data.subCallId, data.isError, event.seq, -1, -1, data.meta);
163
+ }
164
+ return next === state ? state : { ...next, cursor: event.seq };
165
+ }
166
+ export const taskFeedbackProjection = {
167
+ key: 'superCodeFeedback', stateVersion: 1, stateSchema,
168
+ init: (header, inherited) => ({ request: '', latestRequest: '', goal: { kind: 'none' }, phase: 'idle', todos: [], activities: [], files: [],
169
+ omittedActivities: 0, omittedFiles: 0, omittedTodos: 0, pending: [], approvals: [], inherited, cursor: -1, cwd: header.cwd ?? '' }),
170
+ apply: foldTaskFeedback,
171
+ wire: { viewSchema, view: state => {
172
+ const { inherited: _inherited, cursor: _cursor, cwd: _cwd, pending: _pending, approvals: _approvals, ...view } = state;
173
+ return view;
174
+ } },
175
+ };
176
+ //# sourceMappingURL=task-feedback-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-feedback-projection.js","sourceRoot":"","sources":["../src/task-feedback-projection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-super-code",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "Task-focused coding, specialist teams, and durable task memory with directory and declarative presets for DeepSeek Harness.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -2,7 +2,7 @@
2
2
  - id: super-code
3
3
  name: dsh-super-code/super-code
4
4
  config:
5
- presetVersion: 0.3.6
5
+ presetVersion: 0.3.7
6
6
  # Reuse the host backend in an agent-local realm, as shipped Harness presets do.
7
7
  # The token meter remains host-owned; each agent owns its compaction lifecycle.
8
8
  - id: compaction