@nexrall/code-core 1.4.72 → 1.4.74
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/dist/agent/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +17 -13
- package/dist/agent/hooks.d.ts +13 -0
- package/dist/agent/hooks.d.ts.map +1 -1
- package/dist/agent/hooks.js +1 -0
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +82 -2
- package/dist/agent/sharedTasks.d.ts +21 -6
- package/dist/agent/sharedTasks.d.ts.map +1 -1
- package/dist/agent/sharedTasks.js +69 -17
- package/dist/agent/taskEvents.d.ts +73 -0
- package/dist/agent/taskEvents.d.ts.map +1 -0
- package/dist/agent/taskEvents.js +297 -0
- package/dist/api/client.d.ts +6 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/mcp/client.d.ts +8 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/manager.d.ts +11 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +18 -0
- package/dist/tools/executor.d.ts +6 -0
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +116 -6
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports._taskEventsInternal = void 0;
|
|
37
|
+
exports.taskScopeRoot = taskScopeRoot;
|
|
38
|
+
exports.taskScopeDir = taskScopeDir;
|
|
39
|
+
exports.taskEventsFile = taskEventsFile;
|
|
40
|
+
exports.emitTaskEvent = emitTaskEvent;
|
|
41
|
+
exports.takeNewTaskEvents = takeNewTaskEvents;
|
|
42
|
+
exports.formatTaskEventNotes = formatTaskEventNotes;
|
|
43
|
+
/**
|
|
44
|
+
* Task board events — the notification side of the shared task list
|
|
45
|
+
* (@see ./sharedTasks.ts for the board itself).
|
|
46
|
+
*
|
|
47
|
+
* WHY THIS EXISTS: the board is a directory of files, so a change made by one
|
|
48
|
+
* session becomes visible to every other session the moment it lands — and
|
|
49
|
+
* visibility with no signal is a poll tax. The concrete failure it removes:
|
|
50
|
+
* session B creates "write the release notes" blocked by "cut the release",
|
|
51
|
+
* session A runs `nex tasks done cut-the-release` (or its own tool call), and
|
|
52
|
+
* B — sitting at its prompt or mid-turn — has no way to learn its task just
|
|
53
|
+
* became claimable except by re-listing the board on a hunch. Claude Code's
|
|
54
|
+
* agent teams has no cross-session signal at all: teammates learn about each
|
|
55
|
+
* other's progress only by polling the task files.
|
|
56
|
+
*
|
|
57
|
+
* HOW: every mutation appends one JSON line to `events.jsonl` in the board
|
|
58
|
+
* scope directory (same directory as the task files; `listSharedTasks` skips
|
|
59
|
+
* it — it only reads `*.json`). Readers keep a per-(scope, session) BYTE
|
|
60
|
+
* cursor and pull what is new; there is no watcher, no socket and no queue,
|
|
61
|
+
* which is what lets the same mechanism work no matter who made the change —
|
|
62
|
+
* a tool call inside another interactive session, a headless `nex --bg` run,
|
|
63
|
+
* a VS Code window, or a person typing `nex tasks done` in a shell.
|
|
64
|
+
*
|
|
65
|
+
* DELIVERY SEMANTICS, on purpose:
|
|
66
|
+
* • A reader adopts the CURRENT end of the file the first time it looks, so
|
|
67
|
+
* a fresh session is never handed a replay of the board's history — the
|
|
68
|
+
* board STATE is what tools read; events are only about what changed
|
|
69
|
+
* while you were watching. (chat.ts primes the cursor at session start —
|
|
70
|
+
* see the takeNewTaskEvents call next to its CheckpointManager — rather
|
|
71
|
+
* than letting the first in-loop drain anchor, so an event that lands
|
|
72
|
+
* while the session's opening request is in flight is still delivered.)
|
|
73
|
+
* • A session never hears about its own actions: events carry the writing
|
|
74
|
+
* process's pid and readers drop their own pid. (Frame: events are
|
|
75
|
+
* notifications from OTHER processes. Within one process, e.g. two VS
|
|
76
|
+
* Code chat panels on the same workspace, the panel that made a change
|
|
77
|
+
* will not self-notify — its own tool result already said what happened.)
|
|
78
|
+
* • A torn line (a reader racing a writer mid-append) is never half-parsed:
|
|
79
|
+
* the cursor only advances past the last complete line.
|
|
80
|
+
*
|
|
81
|
+
* The module must never make a board mutation fail — every write here is
|
|
82
|
+
* best-effort and swallows its own errors. The board is the product; the
|
|
83
|
+
* events are a courtesy on top of it.
|
|
84
|
+
*/
|
|
85
|
+
const crypto = __importStar(require("crypto"));
|
|
86
|
+
const fs = __importStar(require("fs"));
|
|
87
|
+
const os = __importStar(require("os"));
|
|
88
|
+
const path = __importStar(require("path"));
|
|
89
|
+
// ─── scope ────────────────────────────────────────────────────────────────────
|
|
90
|
+
// Moved here (from sharedTasks.ts) so this module can address the board
|
|
91
|
+
// directory without importing the mutators — one canonical hash, no cycle:
|
|
92
|
+
// sharedTasks imports THIS module, never the other way round.
|
|
93
|
+
function tasksRoot() {
|
|
94
|
+
return process.env.NEXRALL_SHARED_TASKS_DIR || path.join(os.homedir(), '.nexrall', 'peers', 'tasks');
|
|
95
|
+
}
|
|
96
|
+
/** The root directory all board scopes live under (env-overridable — tests redirect it). */
|
|
97
|
+
function taskScopeRoot() {
|
|
98
|
+
return tasksRoot();
|
|
99
|
+
}
|
|
100
|
+
/** The board scope directory for a project — one per resolved workDir, shared by every process. */
|
|
101
|
+
function taskScopeDir(workDir) {
|
|
102
|
+
const hash = crypto.createHash('sha256').update(path.resolve(workDir)).digest('hex').slice(0, 24);
|
|
103
|
+
return path.join(tasksRoot(), hash);
|
|
104
|
+
}
|
|
105
|
+
function taskEventsFile(workDir) {
|
|
106
|
+
return path.join(taskScopeDir(workDir), 'events.jsonl');
|
|
107
|
+
}
|
|
108
|
+
// ─── write ────────────────────────────────────────────────────────────────────
|
|
109
|
+
/**
|
|
110
|
+
* Append one event to the board's log. Called by every mutator in sharedTasks
|
|
111
|
+
* right after its atomic write lands. Best-effort by contract: a failure here
|
|
112
|
+
* must NEVER surface to the caller — the mutation itself already succeeded.
|
|
113
|
+
*/
|
|
114
|
+
function emitTaskEvent(dir, event) {
|
|
115
|
+
try {
|
|
116
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
117
|
+
const line = JSON.stringify({ ...event, ts: event.ts ?? Date.now(), pid: event.pid ?? process.pid }) + '\n';
|
|
118
|
+
// One appendFileSync per event: O_APPEND, so concurrent writers cannot
|
|
119
|
+
// overwrite each other, and a single small write lands whole (readers
|
|
120
|
+
// still guard against the torn-line case rather than trusting that).
|
|
121
|
+
fs.appendFileSync(eventsFileIn(dir), line);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
/* courtesy, not contract */
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function eventsFileIn(dir) {
|
|
128
|
+
return path.join(dir, 'events.jsonl');
|
|
129
|
+
}
|
|
130
|
+
// ─── read ─────────────────────────────────────────────────────────────────────
|
|
131
|
+
/** Per-(scope, session) byte cursors, in memory: a process restarts → a session restarts. */
|
|
132
|
+
const _cursors = new Map();
|
|
133
|
+
/**
|
|
134
|
+
* New events for this reader — everything appended since the last call, minus
|
|
135
|
+
* this process's own writes. The FIRST call for a (scope, session) adopts the
|
|
136
|
+
* current end of the log and returns nothing: events describe change relative
|
|
137
|
+
* to when you started looking, never the board's backstory.
|
|
138
|
+
*/
|
|
139
|
+
function takeNewTaskEvents(workDir, opts = {}) {
|
|
140
|
+
const dir = taskScopeDir(workDir);
|
|
141
|
+
const key = `${dir}|${opts.sessionKey ?? ''}`;
|
|
142
|
+
const file = eventsFileIn(dir);
|
|
143
|
+
let size;
|
|
144
|
+
try {
|
|
145
|
+
size = fs.statSync(file).size;
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// No log yet. Still ANCHOR (at zero): the file appearing later is exactly
|
|
149
|
+
// the "new events" case — without this, a brand-new board's first activity
|
|
150
|
+
// would be adopted-away by the next call's first-sight rule.
|
|
151
|
+
if (!_cursors.has(key))
|
|
152
|
+
_cursors.set(key, 0);
|
|
153
|
+
return [];
|
|
154
|
+
}
|
|
155
|
+
const from = _cursors.get(key);
|
|
156
|
+
if (from === undefined) {
|
|
157
|
+
_cursors.set(key, size);
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
if (size <= from) {
|
|
161
|
+
// Equal: nothing new. Shrunk: the log was replaced under us (someone
|
|
162
|
+
// cleared the scope directory) — re-anchor rather than replay, the only
|
|
163
|
+
// two options that cannot double-deliver.
|
|
164
|
+
if (size < from)
|
|
165
|
+
_cursors.set(key, size);
|
|
166
|
+
return [];
|
|
167
|
+
}
|
|
168
|
+
const length = size - from;
|
|
169
|
+
let buf;
|
|
170
|
+
try {
|
|
171
|
+
const fd = fs.openSync(file, 'r');
|
|
172
|
+
try {
|
|
173
|
+
buf = Buffer.alloc(length);
|
|
174
|
+
const read = fs.readSync(fd, buf, 0, length, from);
|
|
175
|
+
if (read < length)
|
|
176
|
+
buf = buf.subarray(0, read);
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
fs.closeSync(fd);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
return [];
|
|
184
|
+
}
|
|
185
|
+
// Only advance past the last COMPLETE line — a writer may be mid-append.
|
|
186
|
+
const lastNewline = buf.lastIndexOf(0x0a);
|
|
187
|
+
if (lastNewline === -1)
|
|
188
|
+
return [];
|
|
189
|
+
const complete = buf.subarray(0, lastNewline + 1);
|
|
190
|
+
_cursors.set(key, from + complete.length);
|
|
191
|
+
const selfPid = opts.selfPid ?? process.pid;
|
|
192
|
+
const events = [];
|
|
193
|
+
for (const line of complete.toString('utf-8').split('\n')) {
|
|
194
|
+
if (!line.trim())
|
|
195
|
+
continue;
|
|
196
|
+
try {
|
|
197
|
+
const ev = JSON.parse(line);
|
|
198
|
+
if (ev && typeof ev.taskId === 'string' && typeof ev.type === 'string' && typeof ev.subject === 'string') {
|
|
199
|
+
events.push(ev);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
/* a corrupt line is skipped, never fatal */
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return events.filter((ev) => ev.pid !== selfPid);
|
|
207
|
+
}
|
|
208
|
+
/** Deps of `task` still NOT completed, given the live board. */
|
|
209
|
+
function unmetDeps(task, byId) {
|
|
210
|
+
return (task.blockedBy ?? []).filter((id) => byId.get(id)?.status !== 'completed');
|
|
211
|
+
}
|
|
212
|
+
function quoteRef(id, content) {
|
|
213
|
+
const subject = content.replace(/\s+/g, ' ').trim();
|
|
214
|
+
return `[${id}] "${subject.length > 80 ? subject.slice(0, 79) + '…' : subject}"`;
|
|
215
|
+
}
|
|
216
|
+
function quote(t) {
|
|
217
|
+
return quoteRef(t.id, t.content);
|
|
218
|
+
}
|
|
219
|
+
/** An event carries the subject directly — the task file may already be gone (removed). */
|
|
220
|
+
function quoteEvent(e) {
|
|
221
|
+
return quoteRef(e.taskId, e.subject);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Turn raw events into model-bound notes — but only for the events that
|
|
225
|
+
* actually changed what somebody can DO, because the rest are board gossip:
|
|
226
|
+
*
|
|
227
|
+
* completed → every open task waiting on it is now unblocked (or one dep
|
|
228
|
+
* closer), for whoever gets there first;
|
|
229
|
+
* reopened → the reverse: waiting tasks are stuck again;
|
|
230
|
+
* removed → waiting tasks are stuck FOREVER (a dep that can never
|
|
231
|
+
* complete) unless it comes back — the one case the board
|
|
232
|
+
* itself cannot express, since the task file is gone.
|
|
233
|
+
*
|
|
234
|
+
* created / claimed / released produce no note: they change no one's options
|
|
235
|
+
* (released → the task is pending again, which its `blockedBy` already gates).
|
|
236
|
+
* Hooks still see every event — the matcher decides — but the model only gets
|
|
237
|
+
* told about consequences.
|
|
238
|
+
*/
|
|
239
|
+
function formatTaskEventNotes(events, tasks) {
|
|
240
|
+
const byId = new Map(tasks.map((t) => [t.id, t]));
|
|
241
|
+
const open = tasks.filter((t) => t.status !== 'completed');
|
|
242
|
+
const notes = [];
|
|
243
|
+
for (const event of events) {
|
|
244
|
+
if (event.type !== 'completed' && event.type !== 'reopened' && event.type !== 'removed')
|
|
245
|
+
continue;
|
|
246
|
+
const waiters = open.filter((t) => t.id !== event.taskId && (t.blockedBy ?? []).includes(event.taskId));
|
|
247
|
+
if (!waiters.length)
|
|
248
|
+
continue;
|
|
249
|
+
const actor = event.actor ? ` by ${event.actor}` : '';
|
|
250
|
+
if (event.type === 'completed') {
|
|
251
|
+
const nowFree = [];
|
|
252
|
+
const stillStuck = [];
|
|
253
|
+
for (const t of waiters) {
|
|
254
|
+
(unmetDeps(t, byId).length === 0 ? nowFree : stillStuck).push(quote(t));
|
|
255
|
+
}
|
|
256
|
+
const lines = [`Task ${quoteEvent(event)} was completed${actor}.`];
|
|
257
|
+
if (nowFree.length) {
|
|
258
|
+
lines.push(`Now unblocked: ${nowFree.join(', ')} — claim${nowFree.length === 1 ? ' it' : ' them'} when ready.`);
|
|
259
|
+
}
|
|
260
|
+
if (stillStuck.length) {
|
|
261
|
+
lines.push(`Still waiting on other tasks: ${stillStuck.join(', ')}.`);
|
|
262
|
+
}
|
|
263
|
+
notes.push({
|
|
264
|
+
event,
|
|
265
|
+
text: envelope(lines.join('\n')),
|
|
266
|
+
unblocked: waiters.filter((t) => unmetDeps(t, byId).length === 0).map((t) => t.id),
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
else if (event.type === 'reopened') {
|
|
270
|
+
notes.push({
|
|
271
|
+
event,
|
|
272
|
+
text: envelope(`Task ${quoteEvent(event)} was reopened${actor} — it must be completed again before: ${waiters.map(quote).join(', ')}.`),
|
|
273
|
+
unblocked: [],
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
notes.push({
|
|
278
|
+
event,
|
|
279
|
+
text: envelope(`Task ${quoteEvent(event)} was removed${actor} while ${waiters.map(quote).join(', ')} still ${waiters.length === 1 ? 'waits' : 'wait'} on it. A removed task can never complete, so those stay blocked until it is recreated (or they are re-created without it).`),
|
|
280
|
+
unblocked: [],
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return notes;
|
|
285
|
+
}
|
|
286
|
+
function envelope(body) {
|
|
287
|
+
return (`<task-event source="shared-tasks">\n` +
|
|
288
|
+
`${body}\n` +
|
|
289
|
+
`This is an automated notification, not a message from the user.\n` +
|
|
290
|
+
`</task-event>`);
|
|
291
|
+
}
|
|
292
|
+
/** Test-only handles — the cursor map is module state and must be observable/resettable. */
|
|
293
|
+
exports._taskEventsInternal = {
|
|
294
|
+
_cursors,
|
|
295
|
+
eventsFileIn,
|
|
296
|
+
};
|
|
297
|
+
//# sourceMappingURL=taskEvents.js.map
|
package/dist/api/client.d.ts
CHANGED
|
@@ -102,6 +102,12 @@ export interface StreamChatOptions {
|
|
|
102
102
|
* still enforces the allowlist either way; this only trims what is sent.
|
|
103
103
|
*/
|
|
104
104
|
toolAllowlist?: string[];
|
|
105
|
+
/**
|
|
106
|
+
* Servers whose mcp.json entry sets `alwaysLoad: true` (CC parity). The backend
|
|
107
|
+
* keeps their `<server>__*` tools out of both deferral paths (tool search and the
|
|
108
|
+
* tool-cap selector). Absent = nothing pinned; older backends ignore the field.
|
|
109
|
+
*/
|
|
110
|
+
alwaysLoadServers?: string[];
|
|
105
111
|
/**
|
|
106
112
|
* Opt in to restarting a turn that died AFTER partial output was rendered.
|
|
107
113
|
*
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAA8B,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiErH,eAAO,MAAM,QAAQ,QAAmB,CAAC;AAIzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5D,OAAO,EAAE,CAAC,EAAE,EACZ,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GACtD,CAAC,EAAE,CAaL;AA8BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CA+B3D;AA4BD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,oFAAoF;IACpF,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACjG,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6IAA6I;IAC7I,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;;;;;;OAeG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAQD;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAKD,8DAA8D;AAC9D,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AA6KD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,GAC7B,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.js
CHANGED
|
@@ -405,7 +405,7 @@ function sleep(ms) {
|
|
|
405
405
|
* the nested product (36) exists to bound pathological cases, not to be reached. */
|
|
406
406
|
const MAX_TOTAL_ATTEMPTS = (MAX_RETRIES + 1) * (MAX_RETRIES + 1);
|
|
407
407
|
async function streamChat(messages, options, onEvent) {
|
|
408
|
-
const { model, env, editorContext, nexrallMd, mode, effort, clientType, abortSignal, extraTools, agents, skills, allowRestartAfterRender, canWriteSharedMemory, hasOwnAgentStore, canSpawnSubAgents, canBrowseWeb, toolAllowlist, } = options;
|
|
408
|
+
const { model, env, editorContext, nexrallMd, mode, effort, clientType, abortSignal, extraTools, agents, skills, allowRestartAfterRender, canWriteSharedMemory, hasOwnAgentStore, canSpawnSubAgents, canBrowseWeb, toolAllowlist, alwaysLoadServers, } = options;
|
|
409
409
|
// IDEMPOTENCY KEY for this logical turn, generated ONCE and reused by every retry
|
|
410
410
|
// below (that reuse is the entire point — a fresh id per attempt would be useless).
|
|
411
411
|
//
|
|
@@ -513,6 +513,7 @@ async function streamChat(messages, options, onEvent) {
|
|
|
513
513
|
canSpawnSubAgents,
|
|
514
514
|
canBrowseWeb,
|
|
515
515
|
toolAllowlist,
|
|
516
|
+
alwaysLoadServers,
|
|
516
517
|
...billingOverrideFields(),
|
|
517
518
|
});
|
|
518
519
|
chatBody =
|
package/dist/index.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export * from './agent/crossProcessLock';
|
|
|
41
41
|
export * from './agent/worktree';
|
|
42
42
|
export * from './agent/worktreeEnforcement';
|
|
43
43
|
export * from './agent/sharedTasks';
|
|
44
|
+
export * from './agent/taskEvents';
|
|
44
45
|
export * from './agent/peerRegistry';
|
|
45
46
|
export * from './agent/peerTransport';
|
|
46
47
|
export * from './agent/askOnce';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -57,6 +57,7 @@ __exportStar(require("./agent/crossProcessLock"), exports);
|
|
|
57
57
|
__exportStar(require("./agent/worktree"), exports);
|
|
58
58
|
__exportStar(require("./agent/worktreeEnforcement"), exports);
|
|
59
59
|
__exportStar(require("./agent/sharedTasks"), exports);
|
|
60
|
+
__exportStar(require("./agent/taskEvents"), exports);
|
|
60
61
|
__exportStar(require("./agent/peerRegistry"), exports);
|
|
61
62
|
__exportStar(require("./agent/peerTransport"), exports);
|
|
62
63
|
__exportStar(require("./agent/askOnce"), exports);
|
package/dist/mcp/client.d.ts
CHANGED
|
@@ -24,6 +24,14 @@ export interface McpServerConfig {
|
|
|
24
24
|
*/
|
|
25
25
|
clientId?: string;
|
|
26
26
|
clientSecret?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Keep this server's tools out of the backend's tool cap and tool-search deferral
|
|
29
|
+
* (CC parity — Claude Code's per-server `alwaysLoad`). The agent loop names pinned
|
|
30
|
+
* servers per request (`alwaysLoadServers`) and the backend keeps their
|
|
31
|
+
* `<server>__*` tools in context even when the catalogue exceeds the model's tool
|
|
32
|
+
* budget. Absent = tools follow the normal deferral/selection rules.
|
|
33
|
+
*/
|
|
34
|
+
alwaysLoad?: boolean;
|
|
27
35
|
/**
|
|
28
36
|
* Advertise the bare `elicitation: {}` capability instead of `{form:{},url:{}}`.
|
|
29
37
|
* Claude Code's escape hatch with the same name: a server with a strict capability
|
package/dist/mcp/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAEhC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2GAA2G;AAC3G,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,SAAU,GAAG,MAAM,CAgBnF;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qGAAqG;AACrG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,SAAU,GAAG,MAAM,CA+BjF;AAID;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,gGAAgG;AAChG,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAExH,wGAAwG;AACxG,eAAO,MAAM,0BAA0B;;;;;CAAkD,CAAC;AAc1F,eAAO,MAAM,qBAAqB,mEAAoE,CAAC;AAEvG,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,EAAE,MAAiC,CAAC;AAErE,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEhG;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAE9F;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,qBAAqB,CAgBlF;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,GAAG,IAAI,EACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAc1E;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IACpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,uFAAuF;IACvF,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,uCAAuC;IACvC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,qFAAqF;IACrF,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACpC,oCAAoC;IACpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,2EAA2E;IAC3E,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAAC;IACnE,mGAAmG;IACnG,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,gGAAgG;IAChG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,4EAA4E;IAC5E,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,UAAU,IAAI,IAAI,CAAC;CACpB;AAqBD,qBAAa,SAAU,YAAW,YAAY;IAc1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAoF;IACpG,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,aAAa,CAAqB;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAGpB,IAAI,EAAE,MAAM,EACK,MAAM,EAAE,eAAe;IAK1C,IAAI,KAAK,IAAI,iBAAiB,EAAE,CAE/B;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAIlE,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI;IAI9D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD9B;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IASvC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASnC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB5E,UAAU,IAAI,IAAI;IAelB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,WAAW;IA8BnB,6FAA6F;YAC/E,oBAAoB;IAKlC,OAAO,CAAC,UAAU;CAInB"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/manager.d.ts
CHANGED
|
@@ -104,6 +104,15 @@ export declare class McpManager {
|
|
|
104
104
|
isMcpTool(name: string): boolean;
|
|
105
105
|
get serverNames(): string[];
|
|
106
106
|
get toolCount(): number;
|
|
107
|
+
/**
|
|
108
|
+
* Names of configured servers whose entry sets `alwaysLoad: true` (CC parity).
|
|
109
|
+
* The agent loop sends this per request; the backend keeps those servers' tools
|
|
110
|
+
* out of BOTH deferral paths (tool-search `defer_loading` and the cap selector's
|
|
111
|
+
* droppable set). Config-level — a server that failed to connect still contributes
|
|
112
|
+
* an inert name, since it sends no tools to protect. Sorted because the list rides
|
|
113
|
+
* in the request body, which is part of the tools-cache key.
|
|
114
|
+
*/
|
|
115
|
+
alwaysLoadServers(): string[];
|
|
107
116
|
private static transportOf;
|
|
108
117
|
/** Returns per-server status for UI display, including failed / auth-required / disabled. */
|
|
109
118
|
getStatus(): Array<{
|
|
@@ -118,6 +127,8 @@ export declare class McpManager {
|
|
|
118
127
|
missingScope?: string;
|
|
119
128
|
/** Revision the server agreed to in `initialize` (connected servers only). */
|
|
120
129
|
protocolVersion?: string;
|
|
130
|
+
/** mcp.json entry sets `alwaysLoad: true` — its tools resist the backend tool cap. */
|
|
131
|
+
alwaysLoad: boolean;
|
|
121
132
|
}>;
|
|
122
133
|
/** The WWW-Authenticate challenge a server returned on 401 (empty if none/unknown). */
|
|
123
134
|
authChallenge(name: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/manager.js
CHANGED
|
@@ -373,6 +373,21 @@ class McpManager {
|
|
|
373
373
|
get toolCount() {
|
|
374
374
|
return this._toolMap.size;
|
|
375
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* Names of configured servers whose entry sets `alwaysLoad: true` (CC parity).
|
|
378
|
+
* The agent loop sends this per request; the backend keeps those servers' tools
|
|
379
|
+
* out of BOTH deferral paths (tool-search `defer_loading` and the cap selector's
|
|
380
|
+
* droppable set). Config-level — a server that failed to connect still contributes
|
|
381
|
+
* an inert name, since it sends no tools to protect. Sorted because the list rides
|
|
382
|
+
* in the request body, which is part of the tools-cache key.
|
|
383
|
+
*/
|
|
384
|
+
alwaysLoadServers() {
|
|
385
|
+
const names = [];
|
|
386
|
+
for (const [name, cfg] of this._configs)
|
|
387
|
+
if (cfg.alwaysLoad === true)
|
|
388
|
+
names.push(name);
|
|
389
|
+
return names.sort();
|
|
390
|
+
}
|
|
376
391
|
static transportOf(cfg) {
|
|
377
392
|
if (cfg?.type)
|
|
378
393
|
return cfg.type;
|
|
@@ -393,6 +408,7 @@ class McpManager {
|
|
|
393
408
|
needsAuth: this._needsAuth.has(name),
|
|
394
409
|
missingScope: this.missingScope(name) || undefined,
|
|
395
410
|
protocolVersion: client.protocolVersion,
|
|
411
|
+
alwaysLoad: this._configs.get(name)?.alwaysLoad === true,
|
|
396
412
|
});
|
|
397
413
|
}
|
|
398
414
|
for (const name of this._configs.keys()) {
|
|
@@ -409,6 +425,7 @@ class McpManager {
|
|
|
409
425
|
tools: [],
|
|
410
426
|
connected: false,
|
|
411
427
|
disabled: true,
|
|
428
|
+
alwaysLoad: this._configs.get(name)?.alwaysLoad === true,
|
|
412
429
|
});
|
|
413
430
|
continue;
|
|
414
431
|
}
|
|
@@ -421,6 +438,7 @@ class McpManager {
|
|
|
421
438
|
error,
|
|
422
439
|
needsAuth: this._needsAuth.has(name),
|
|
423
440
|
missingScope: this.missingScope(name) || undefined,
|
|
441
|
+
alwaysLoad: this._configs.get(name)?.alwaysLoad === true,
|
|
424
442
|
});
|
|
425
443
|
}
|
|
426
444
|
return out.sort((a, b) => a.name.localeCompare(b.name));
|
package/dist/tools/executor.d.ts
CHANGED
|
@@ -29,6 +29,12 @@ export declare function runCapture(cmd: string, args: string[], opts: {
|
|
|
29
29
|
timeout: number;
|
|
30
30
|
maxBuffer: number;
|
|
31
31
|
}): Promise<CaptureResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Path of the ripgrep binary this process would use — the NEXRALL_RG_PATH override, `rg`
|
|
34
|
+
* from PATH, or an editor-bundled copy — or undefined when the grep fallback is in charge.
|
|
35
|
+
* `nex doctor` reports through this so its verdict matches what the search tools do.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveRipgrepBinary(): string | undefined;
|
|
32
38
|
/**
|
|
33
39
|
* Glob → anchored RegExp. Scans the pattern once, so the `*` / `?` rules can never
|
|
34
40
|
* rewrite the regex emitted for `**` (the old chained .replace() calls turned
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAyuCtE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,MAAM,CAgBpG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AACD,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,aAAa,CAAC,CAmDxB;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAyuCtE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,MAAM,CAgBpG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AACD,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,aAAa,CAAC,CAmDxB;AAqID;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAEzD;AA2zCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAuCnD;AAq8BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAClC,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAMlC,QAAQ,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,UAAU,CAAC,CAmCrB"}
|