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.
- package/README.md +88 -60
- package/client/index.js +475 -25
- package/cordis.patch.yml +1 -1
- package/docs/Changelog.md +10 -0
- package/docs/Compatibility.md +14 -0
- package/docs/EvaluationResults.md +134 -58
- package/docs/UsageGuide.md +52 -0
- package/lib/core/deletion-command.d.ts +3 -0
- package/lib/core/deletion-command.d.ts.map +1 -0
- package/lib/core/deletion-command.js +169 -0
- package/lib/core/deletion-command.js.map +1 -0
- package/lib/dsh/budgets.d.ts +5 -0
- package/lib/dsh/budgets.d.ts.map +1 -1
- package/lib/dsh/budgets.js +11 -0
- package/lib/dsh/budgets.js.map +1 -1
- package/lib/dsh/deletion-protection.d.ts +13 -0
- package/lib/dsh/deletion-protection.d.ts.map +1 -0
- package/lib/dsh/deletion-protection.js +68 -0
- package/lib/dsh/deletion-protection.js.map +1 -0
- package/lib/dsh/index.d.ts.map +1 -1
- package/lib/dsh/index.js +4 -0
- package/lib/dsh/index.js.map +1 -1
- package/lib/task-feedback-projection.d.ts +68 -0
- package/lib/task-feedback-projection.d.ts.map +1 -0
- package/lib/task-feedback-projection.js +176 -0
- package/lib/task-feedback-projection.js.map +1 -0
- package/package.json +1 -1
- package/presets/super-code/agent.cordis.yml +1 -1
|
@@ -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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
- id: super-code
|
|
3
3
|
name: dsh-super-code/super-code
|
|
4
4
|
config:
|
|
5
|
-
presetVersion: 0.3.
|
|
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
|