mixdog 0.9.121 → 0.9.122
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
CHANGED
|
@@ -12,58 +12,55 @@
|
|
|
12
12
|
(`shell.cwd` is call-local and never changes the Project);
|
|
13
13
|
explicit user-requested conversation reset→`session_manage`.
|
|
14
14
|
Use only named tools present in the current tool surface.
|
|
15
|
-
- Act only on verified identities (task/cwd/project/user/tool-returned) —
|
|
16
|
-
module specifiers, symbols, data/record shapes alike; verify a
|
|
17
|
-
identity with one lookup or sample before the first call or edit
|
|
18
|
-
relies on it. Within the current project, pass
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
- Act only on verified identities (task/cwd/project/user/tool-returned) —
|
|
16
|
+
paths, module specifiers, symbols, data/record shapes alike; verify a
|
|
17
|
+
guessed identity with one lookup or sample before the first call or edit
|
|
18
|
+
that relies on it. Within the current project, pass project-relative
|
|
19
|
+
paths and omit optional scopes equal to its root; explicit paths may be
|
|
20
|
+
outside cwd only for targets outside the project.
|
|
21
21
|
- Plan the fewest dependent rounds, then the fewest calls. Known state —
|
|
22
22
|
anything the task supplied, a tool returned (applied patches and envelope
|
|
23
|
-
hints included), or a check already proved —
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
narrow only on verified cues — returned siblings/conventions or known
|
|
35
|
-
literals — and returned output is fully mined before the next round.
|
|
36
|
-
Symbol relations end at
|
|
23
|
+
hints included), or a check already proved — is never re-found,
|
|
24
|
+
re-derived, or re-verified; a change to its subject re-opens it. Batch
|
|
25
|
+
calls iff none needs another's output or can change another's
|
|
26
|
+
inputs/state; otherwise serialize. Before each batch, deduplicate the
|
|
27
|
+
facets still required by the request, route each once to the cheapest
|
|
28
|
+
sufficient tool with all required variants/scopes, and launch every
|
|
29
|
+
independent call together — never split or duplicate a facet across
|
|
30
|
+
tools, mutate merely to widen retrieval, reserve known work, or cap
|
|
31
|
+
fanout. Guesses go wide in one batch, scopes narrow only on verified
|
|
32
|
+
cues — returned siblings/conventions or known literals — and returned
|
|
33
|
+
output is fully mined before the next round. Symbol relations end at
|
|
37
34
|
`code_graph`; values/locations end at the context grep returns; `read`
|
|
38
35
|
covers only what returned spans cannot, as an anchored offset/limit
|
|
39
36
|
window. A conclusive result ends its facet; evidence that determines the
|
|
40
37
|
answer, edit, or deliverable ends retrieval — patch if needed.
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
an obstacle or unexpected state
|
|
44
|
-
evidence ends its search — report best effort.
|
|
38
|
+
- If inspection can change evidence or durable state, use read-only means;
|
|
39
|
+
mutate only when the deliverable requires it, first preserving evidence
|
|
40
|
+
at risk. Never mutate merely to clear an obstacle or unexpected state;
|
|
41
|
+
unrecoverably lost evidence ends its search — report best effort.
|
|
45
42
|
- Once the edit or deliverable is determined, finish in one assistant turn:
|
|
46
|
-
before `apply_patch`, obtain every target hunk's exact current content
|
|
47
|
-
anchor from `grep`, `code_graph`, `read`, or a prior successful patch
|
|
48
|
-
envelope; never infer patch context from
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
43
|
+
before `apply_patch`, obtain every target hunk's exact current content
|
|
44
|
+
and anchor from `grep`, `code_graph`, `read`, or a prior successful patch
|
|
45
|
+
envelope; never infer patch context from another file, a sample, or
|
|
46
|
+
expected text. Then issue `apply_patch` calls serially, never in
|
|
47
|
+
parallel; use one cohesive call with one file section per target, all
|
|
48
|
+
patches first, then their one batched verification `shell` in the same
|
|
49
|
+
turn — the runtime runs it after every patch and only if all succeeded,
|
|
50
|
+
so verification never needs its own turn. It runs the real required
|
|
51
|
+
postconditions on every changed file and produced artifact, never
|
|
52
|
+
echoing a claim; changes made through `shell` verify under the same
|
|
56
53
|
one-batch contract — one script proving every postcondition, value-level
|
|
57
|
-
included, never one check per round; a postcondition that did not
|
|
58
|
-
unresolved, not passed. Retry only failed envelopes;
|
|
59
|
-
after a change that can alter its outcome —
|
|
60
|
-
route or report it unresolved.
|
|
54
|
+
included, never one check per round; a postcondition that did not
|
|
55
|
+
actually run is unresolved, not passed. Retry only failed envelopes;
|
|
56
|
+
rerun a failed check only after a change that can alter its outcome —
|
|
57
|
+
commands alike; else switch route or report it unresolved.
|
|
61
58
|
Hand-authored text is edited only with `apply_patch`; computed artifacts
|
|
62
59
|
(data/reports/derived values) come from `shell` computation, never
|
|
63
60
|
hand-transcribed numbers. Earlier `shell` is only for runtime/state
|
|
64
|
-
evidence unavailable to file tools—an independent facet, batched with
|
|
65
|
-
the rest; independent probes are parallel shell calls, never one
|
|
66
|
-
|
|
61
|
+
evidence unavailable to file tools — an independent facet, batched with
|
|
62
|
+
the rest; independent probes are parallel shell calls, never one serial
|
|
63
|
+
script per round.
|
|
67
64
|
- A long or uncertain command runs async — never nohup — and its
|
|
68
65
|
`task_id` ends the turn; completion resumes work. Never poll in any
|
|
69
66
|
form — sleep/status probes included; task control is for recovery or a
|
|
@@ -62,7 +62,7 @@ export const BUILTIN_TOOLS = [
|
|
|
62
62
|
minItems: 1,
|
|
63
63
|
},
|
|
64
64
|
],
|
|
65
|
-
description: '
|
|
65
|
+
description: 'File path, string[] files, [path,offset,limit?] range, or range[].',
|
|
66
66
|
},
|
|
67
67
|
offset: { type: 'number', minimum: 0, description: 'Lines to skip.' },
|
|
68
68
|
limit: { type: 'number', minimum: 1, description: 'Max lines; default 2000.' },
|
|
@@ -128,7 +128,7 @@ export const BUILTIN_TOOLS = [
|
|
|
128
128
|
{ type: 'string' },
|
|
129
129
|
{ type: 'array', items: { type: 'string' }, minItems: 1 },
|
|
130
130
|
],
|
|
131
|
-
description: '
|
|
131
|
+
description: 'File/dir scope(s).',
|
|
132
132
|
},
|
|
133
133
|
glob: {
|
|
134
134
|
anyOf: [
|
|
@@ -169,7 +169,7 @@ export const BUILTIN_TOOLS = [
|
|
|
169
169
|
{ type: 'string' },
|
|
170
170
|
{ type: 'array', items: { type: 'string' }, minItems: 1 },
|
|
171
171
|
],
|
|
172
|
-
description: '
|
|
172
|
+
description: 'Base dir(s); path[] batches.',
|
|
173
173
|
},
|
|
174
174
|
limit: { type: 'number', description: 'Max entries; default 100; 0 unlimited.' },
|
|
175
175
|
offset: { type: 'number', minimum: 0, description: 'Entry offset.' },
|
|
@@ -193,7 +193,7 @@ export const BUILTIN_TOOLS = [
|
|
|
193
193
|
],
|
|
194
194
|
description: 'Filename or directory path fragments matched against path strings; query[] batches.',
|
|
195
195
|
},
|
|
196
|
-
path: { type: 'string', description: '
|
|
196
|
+
path: { type: 'string', description: 'Base path.' },
|
|
197
197
|
limit: { type: 'number', description: 'Max paths; default 25; 0 unlimited.' },
|
|
198
198
|
include_noise: { type: 'boolean', description: 'Also search gitignored/dependency trees.' },
|
|
199
199
|
},
|
|
@@ -214,7 +214,7 @@ export const BUILTIN_TOOLS = [
|
|
|
214
214
|
{ type: 'string' },
|
|
215
215
|
{ type: 'array', items: { type: 'string' }, minItems: 1 },
|
|
216
216
|
],
|
|
217
|
-
description: '
|
|
217
|
+
description: 'Directory; path[] batches.',
|
|
218
218
|
},
|
|
219
219
|
hidden: { type: 'boolean', description: 'Include dotfiles.' },
|
|
220
220
|
meta: { type: 'boolean', description: 'Per-entry size bytes, UTC mtime, octal mode.' },
|
|
@@ -8,7 +8,7 @@ export const CODE_GRAPH_TOOL_DEFS = [
|
|
|
8
8
|
type: 'object',
|
|
9
9
|
properties: {
|
|
10
10
|
mode: { type: 'string', enum: ['overview', 'imports', 'dependents', 'related', 'impact', 'symbols', 'find_symbol', 'symbol_search', 'search', 'references', 'callers', 'callees'], description: 'File modes: overview/imports/dependents/related/impact. symbols with files[] gives a file outline; others are symbol modes.' },
|
|
11
|
-
files: { anyOf: [{ type: 'string' }, { type: 'array', items: { type: 'string' }, minItems: 1 }], description: 'Project-relative source file path(s)
|
|
11
|
+
files: { anyOf: [{ type: 'string' }, { type: 'array', items: { type: 'string' }, minItems: 1 }], description: 'Project-relative source file path(s).' },
|
|
12
12
|
symbols: { anyOf: [{ type: 'string' }, { type: 'array', items: { type: 'string' }, minItems: 1 }], description: 'Exact identifiers or keywords (symbol-index terms); batch multiple in one symbols[] call.' },
|
|
13
13
|
body: { type: 'boolean', description: 'Include body.' },
|
|
14
14
|
limit: { type: 'number', minimum: 1, description: 'Max results.' },
|
|
@@ -47,8 +47,7 @@ const APPLY_PATCH_JSON_DESCRIPTION = [
|
|
|
47
47
|
'Each section starts with exactly one: *** Add File: <path> (+ lines), *** Delete File: <path> (header only), or *** Update File: <path> (optional *** Move to: <new path>).',
|
|
48
48
|
'Hunks start with @@ or @@ <symbol|1-based line>; lines start space, -, or +; every Update hunk needs >=1 +/- line; optional *** End of File.',
|
|
49
49
|
'Use 3 verbatim context lines from newest output (post-patch body after edits); avoid overlap; stack @@ only if ambiguous.',
|
|
50
|
-
'
|
|
51
|
-
'A same-turn shell runs after all patches succeed.',
|
|
50
|
+
'+ prefixes every added line. Never send compacted-history markers; re-read first.',
|
|
52
51
|
].join('\n');
|
|
53
52
|
|
|
54
53
|
export const PATCH_TOOL_DEFS = [
|