mindweave 2.2.0 → 2.2.1
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/alternator/chassis/lsp.js +47 -2
- package/dist/alternator/chassis/lsp.js.map +1 -1
- package/dist/drivers/meta/client.js +15 -4
- package/dist/drivers/meta/client.js.map +1 -1
- package/dist/drivers/meta/manifest.js +40 -13
- package/dist/drivers/meta/manifest.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,6 +25,17 @@ const SHUTDOWN_TIMEOUT = 2_000;
|
|
|
25
25
|
const MAX_OPEN_DOCS = 300;
|
|
26
26
|
/** Documents opened in a single `ensureProjectOpen` call, to bound its latency. */
|
|
27
27
|
const OPEN_BATCH = 50;
|
|
28
|
+
/**
|
|
29
|
+
* How long to keep asking a just-opened server for a symbol before believing its
|
|
30
|
+
* empty answer, in milliseconds between attempts.
|
|
31
|
+
*
|
|
32
|
+
* Backing off rather than polling evenly, because the common case is a server that is
|
|
33
|
+
* ready almost at once and the expensive case is one that is not. Six attempts, ~4.6s
|
|
34
|
+
* in total, paid once per server and only when nothing came back — a cold pyright on a
|
|
35
|
+
* loaded four-core machine takes seconds to index where a warm laptop takes
|
|
36
|
+
* milliseconds, which is why a fixed wait tuned on the laptop was never going to hold.
|
|
37
|
+
*/
|
|
38
|
+
const INDEX_RETRY_DELAYS = [100, 200, 400, 800, 1500, 1600];
|
|
28
39
|
export class LspManager {
|
|
29
40
|
root;
|
|
30
41
|
sessions = new Map();
|
|
@@ -57,9 +68,18 @@ export class LspManager {
|
|
|
57
68
|
continue;
|
|
58
69
|
// A server like tsserver won't index a project until a file in it is
|
|
59
70
|
// opened — open the project's files (bounded) before querying navto.
|
|
60
|
-
await this.ensureProjectOpen(session, spec);
|
|
71
|
+
const opened = await this.ensureProjectOpen(session, spec);
|
|
61
72
|
try {
|
|
62
|
-
|
|
73
|
+
// `textDocument/didOpen` is a NOTIFICATION: it returns the moment it is
|
|
74
|
+
// written, while the server is still building its index. A
|
|
75
|
+
// `workspace/symbol` sent immediately after is answered honestly and
|
|
76
|
+
// emptily, which reaches the caller as "no such symbol" rather than "not
|
|
77
|
+
// indexed yet" — a wrong answer, silently, and then a fall back to
|
|
78
|
+
// tree-sitter that nobody asked for. Retried while an empty result is
|
|
79
|
+
// still plausibly a cold index, and ONLY when this call actually opened
|
|
80
|
+
// documents: on a warm session an empty answer is the real one, and
|
|
81
|
+
// waiting for it again would tax every miss.
|
|
82
|
+
const res = await this.querySymbols(session, name, opened > 0);
|
|
63
83
|
for (const s of res ?? []) {
|
|
64
84
|
if (s.name !== name)
|
|
65
85
|
continue; // workspace/symbol is fuzzy; keep exact
|
|
@@ -342,9 +362,34 @@ export class LspManager {
|
|
|
342
362
|
}
|
|
343
363
|
/** Open the noted files this server handles, so the project is loaded/indexed.
|
|
344
364
|
* Bounded per call AND across the session — see `filesToOpen`. */
|
|
365
|
+
/** Opens what this query needs and reports HOW MANY it opened, which is what
|
|
366
|
+
* tells `symbols` whether an empty result might just be a cold index. */
|
|
345
367
|
async ensureProjectOpen(session, spec) {
|
|
368
|
+
let opened = 0;
|
|
346
369
|
for (const path of filesToOpen(this.files, session.opened, spec.key)) {
|
|
370
|
+
const before = session.opened.size;
|
|
347
371
|
await this.didOpen(session, path);
|
|
372
|
+
if (session.opened.size > before)
|
|
373
|
+
opened++;
|
|
374
|
+
}
|
|
375
|
+
return opened;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* `workspace/symbol`, retried while the index may still be filling.
|
|
379
|
+
*
|
|
380
|
+
* The delays back off and stop; the total is bounded and is paid at most once per
|
|
381
|
+
* server, on the first query after documents were opened. A server that has been
|
|
382
|
+
* asked and has nothing is answered on the first attempt — the retry exists for the
|
|
383
|
+
* server that has not finished reading yet, which is indistinguishable from it in
|
|
384
|
+
* the reply and distinguishable in time.
|
|
385
|
+
*/
|
|
386
|
+
async querySymbols(session, name, mayBeCold) {
|
|
387
|
+
const delays = mayBeCold ? INDEX_RETRY_DELAYS : [];
|
|
388
|
+
for (let attempt = 0;; attempt++) {
|
|
389
|
+
const res = (await this.request(session, "workspace/symbol", { query: name }));
|
|
390
|
+
if ((res?.length ?? 0) > 0 || attempt >= delays.length)
|
|
391
|
+
return res;
|
|
392
|
+
await new Promise((r) => setTimeout(r, delays[attempt]));
|
|
348
393
|
}
|
|
349
394
|
}
|
|
350
395
|
async didOpen(session, absPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../../src/alternator/chassis/lsp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../../src/alternator/chassis/lsp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { compatStreamTurn, compatToolTurn, standardCacheSplit } from "../openaiCompat/wire.js";
|
|
2
2
|
import { BUFFERED_OUTPUT_TOKENS, DEFAULT_MODEL } from "./manifest.js";
|
|
3
3
|
const BASE_URL = process.env.MINDWEAVE_META_URL ?? "https://api.meta.ai/v1";
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Meta's reasoning field.
|
|
6
|
+
*
|
|
7
|
+
* `reasoning_effort` is ALWAYS sent. Muse Spark reasons whether or not the field is
|
|
8
|
+
* present — Meta's own reference says so plainly, and `none` is the one value it
|
|
9
|
+
* refuses with a 400 — so omitting it does not mean a direct answer, it means the
|
|
10
|
+
* model reasons at a depth nobody chose. Every internal call that never sets a model
|
|
11
|
+
* would otherwise pay for whatever that default happens to be.
|
|
12
|
+
*
|
|
13
|
+
* The manifest's ladder holds only values this API accepts, and `normalize` snaps a
|
|
14
|
+
* config from another provider onto one of them before it reaches here, so the value
|
|
15
|
+
* below is legal by construction rather than by a check.
|
|
16
|
+
*/
|
|
17
|
+
export function reasoningFields(config) {
|
|
18
|
+
return { reasoning_effort: config?.effort ?? "high" };
|
|
8
19
|
}
|
|
9
20
|
/** Meta reports its cache hit the standard OpenAI-compatible way, the same shape
|
|
10
21
|
* Qwen, GLM, xAI, Mistral, Groq, Cerebras and Gemini all return. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/drivers/meta/client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;AAE5E;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/drivers/meta/client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,CAAC;AACxD,CAAC;AAED;qEACqE;AACrE,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAE7C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,eAAe;IAC1B,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,aAAa;IAC1D,eAAe;IACf,UAAU;IACV,iBAAiB,EAAE,sBAAsB;CAC1C,CAAC;AAEF,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAiB,EAAE,UAAuB,EAAE;IACzE,OAAO,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAiB,EAAE,UAAyB,EAAE;IAC7E,OAAO,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -30,13 +30,21 @@ export const MODELS = [
|
|
|
30
30
|
/**
|
|
31
31
|
* The reasoning levels offered by `/think`.
|
|
32
32
|
*
|
|
33
|
-
* Muse Spark
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
33
|
+
* Muse Spark reasons whether or not a request says so, and `reasoning_effort: "none"`
|
|
34
|
+
* is the one value Meta refuses with a 400 — so there is no rung that skips thinking,
|
|
35
|
+
* and none is offered. What the dial does control is depth: `minimal`, `low`,
|
|
36
|
+
* `medium`, `high` and `xhigh` are all accepted.
|
|
37
|
+
*
|
|
38
|
+
* Three of the five are listed. `minimal` and `low` differ by less than the choice
|
|
39
|
+
* costs a person reading a menu, and the same is true at the top of the range; a
|
|
40
|
+
* ladder is only useful if each rung is a decision someone can act on.
|
|
37
41
|
*/
|
|
38
42
|
export function thinkLevels(_model) {
|
|
39
|
-
return [
|
|
43
|
+
return [
|
|
44
|
+
{ label: "Light", description: "reasons briefly — fastest", thinking: true, effort: "low" },
|
|
45
|
+
{ label: "Thinking", description: "think first, then answer", thinking: true, effort: "high" },
|
|
46
|
+
{ label: "Maximum", description: "maximum reasoning budget", thinking: true, effort: "xhigh" },
|
|
47
|
+
];
|
|
40
48
|
}
|
|
41
49
|
/**
|
|
42
50
|
* List prices (USD / 1M tokens). The contributor discount is not a rounding
|
|
@@ -81,20 +89,39 @@ export function bufferedOutputTokens(_model) {
|
|
|
81
89
|
* (Anthropic, OpenAI) do that today. Declaring it here would mean core attaching
|
|
82
90
|
* bytes this path silently never sends.
|
|
83
91
|
*/
|
|
84
|
-
/** The one effort rung this provider's single level uses. There is no ladder to
|
|
85
|
-
* clamp against — a model with no dial has nothing for `/think` to choose. */
|
|
86
|
-
const EFFORTS = ["high"];
|
|
87
92
|
/**
|
|
88
93
|
* Coerce a stored or unknown config onto a model this provider actually serves.
|
|
89
94
|
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* the
|
|
95
|
+
* Thinking is forced ON, because it cannot be otherwise: a config carried over from a
|
|
96
|
+
* provider that can answer directly would ask this one for the one thing it refuses.
|
|
97
|
+
* The effort is snapped onto a rung the ladder above actually lists, which is what
|
|
98
|
+
* keeps the request legal — the shared `ModelConfig` carries `max`, and this API has
|
|
99
|
+
* never heard of it.
|
|
93
100
|
*/
|
|
94
101
|
export function normalize(config) {
|
|
95
102
|
const model = PRICES[config.model] ? config.model : DEFAULT_MODEL;
|
|
96
|
-
|
|
97
|
-
|
|
103
|
+
return { model, thinking: true, effort: snapToOfferedRung(config.effort) };
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Move an effort onto the nearest rung the ladder offers. Ties break DOWNWARD: an
|
|
107
|
+
* unlisted setting resolves to the cheaper neighbour, because silently spending more
|
|
108
|
+
* of the user's money is the worse way to be wrong.
|
|
109
|
+
*/
|
|
110
|
+
function snapToOfferedRung(effort) {
|
|
111
|
+
const ladder = ["low", "medium", "high", "xhigh", "max"];
|
|
112
|
+
const offered = thinkLevels(DEFAULT_MODEL);
|
|
113
|
+
if (offered.some((l) => l.effort === effort))
|
|
114
|
+
return effort;
|
|
115
|
+
const want = ladder.indexOf(effort);
|
|
116
|
+
let best = offered[0];
|
|
117
|
+
for (const level of offered) {
|
|
118
|
+
const d = Math.abs(ladder.indexOf(level.effort) - want);
|
|
119
|
+
const bestD = Math.abs(ladder.indexOf(best.effort) - want);
|
|
120
|
+
if (d < bestD || (d === bestD && ladder.indexOf(level.effort) < ladder.indexOf(best.effort))) {
|
|
121
|
+
best = level;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return best.effort;
|
|
98
125
|
}
|
|
99
126
|
/** The cheap metadata half of this driver — see `index.ts` for the wire half. */
|
|
100
127
|
export const metaManifest = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/drivers/meta/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/drivers/meta/manifest.ts"],"names":[],"mappings":"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"}
|