@eir-labs/coltrane 0.24.28 → 0.24.30
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/src/cli.d.ts +4 -1
- package/dist/src/cli.js +19 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/mcp.d.ts +3 -0
- package/dist/src/mcp.js +89 -1
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/reside.d.ts +150 -0
- package/dist/src/reside.js +380 -0
- package/dist/src/reside.js.map +1 -0
- package/dist/src/reside_backing.d.ts +64 -0
- package/dist/src/reside_backing.js +243 -0
- package/dist/src/reside_backing.js.map +1 -0
- package/dist/src/residency.d.ts +9 -5
- package/dist/src/residency.js +10 -10
- package/dist/src/residency.js.map +1 -1
- package/dist/src/server.js +7 -1
- package/dist/src/server.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +11 -1
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHERE THE SEAT LIVES — the residency backing seam.
|
|
3
|
+
*
|
|
4
|
+
* `reside` is platform-agnostic at THIS level. The engine ships the port, the selector, a local
|
|
5
|
+
* file-backed provider, a shape-check for a hand-built one, and the refusals. It ships no hosted
|
|
6
|
+
* provider of its own: a deployment injects that, the way `deps.queueGig` and
|
|
7
|
+
* `deps.mintVenueCredential` are injected. The last law in tests/spec_reside_backing.test.ts greps
|
|
8
|
+
* this file and reside.ts for platform-specific symbols, so "the engine has no platform" is a
|
|
9
|
+
* property a test can break rather than a claim in a comment.
|
|
10
|
+
*
|
|
11
|
+
* THE SELECTOR IS selectQueueBacking'S SHAPE, ONE TABLE OVER (src/local_queue.ts:153), and that is
|
|
12
|
+
* deliberate reuse of a policy this repo already argued out:
|
|
13
|
+
* • it answers from key PRESENCE, never from a credential's value;
|
|
14
|
+
* • two backings configured is a CONFLICT — which store owns a seat is not a thing to guess, and
|
|
15
|
+
* a precedence order would silently prefer one operator's intent over another's;
|
|
16
|
+
* • nothing configured names every door, so the operator learns the choices from the refusal.
|
|
17
|
+
* The one addition is a third door — a module you wrote yourself — because "local" and "hand built"
|
|
18
|
+
* are different things: one is a file layout the engine understands, the other is your code.
|
|
19
|
+
*
|
|
20
|
+
* SCOPE. This seam is about the SEAT — the four operations that move a residency row. The channel,
|
|
21
|
+
* the cortex and the work-order hands are separate axes and are supplied per-deployment regardless
|
|
22
|
+
* of where the seat lives; folding them in here would make a local seat imply a local model.
|
|
23
|
+
*/
|
|
24
|
+
import { readFileSync, writeFileSync, readdirSync, mkdirSync, existsSync } from "node:fs";
|
|
25
|
+
import { join } from "node:path";
|
|
26
|
+
import { randomUUID } from "node:crypto";
|
|
27
|
+
import { DRAIN_VARS } from "./local_queue.js";
|
|
28
|
+
/** The local file-backed roster's root. Its PRESENCE selects the local backing. */
|
|
29
|
+
export const RESIDENCY_DIR_VAR = "COLTRANE_RESIDENCY_DIR";
|
|
30
|
+
/** A module you wrote, exporting the four seat operations. Its PRESENCE selects the module backing. */
|
|
31
|
+
export const RESIDENCY_MODULE_VAR = "COLTRANE_RESIDENCY_MODULE";
|
|
32
|
+
/** Checked IN THIS ORDER, so a refusal names the first thing a hand-built backing forgot. */
|
|
33
|
+
export const SEAT_MEMBERS = ["claim", "heartbeat", "release", "cursorAdvance"];
|
|
34
|
+
/** How long a local claim holds before another box may take the seat. Mirrors the hosted lease. */
|
|
35
|
+
const LOCAL_LEASE_MS = 30 * 60 * 1000;
|
|
36
|
+
export function selectResidencyBacking(env) {
|
|
37
|
+
const dirRaw = env[RESIDENCY_DIR_VAR];
|
|
38
|
+
const modRaw = env[RESIDENCY_MODULE_VAR];
|
|
39
|
+
const localPresent = typeof dirRaw === "string" && dirRaw.length > 0;
|
|
40
|
+
const modulePresent = typeof modRaw === "string" && modRaw.length > 0;
|
|
41
|
+
const keys = Object.keys(env);
|
|
42
|
+
const hostedPresent = DRAIN_VARS.some((v) => keys.includes(v));
|
|
43
|
+
const chosen = [
|
|
44
|
+
localPresent ? RESIDENCY_DIR_VAR : null,
|
|
45
|
+
modulePresent ? RESIDENCY_MODULE_VAR : null,
|
|
46
|
+
hostedPresent ? "the hosted drain environment" : null,
|
|
47
|
+
].filter((x) => x !== null);
|
|
48
|
+
if (chosen.length > 1) {
|
|
49
|
+
return {
|
|
50
|
+
backing: "conflict",
|
|
51
|
+
why: `${chosen.join(" and ")} are all configured — refusing to guess which backing owns the seat. Two boxes reading one roster both dispatch.`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (localPresent)
|
|
55
|
+
return { backing: "local", root: dirRaw };
|
|
56
|
+
if (modulePresent)
|
|
57
|
+
return { backing: "module", spec: modRaw };
|
|
58
|
+
if (hostedPresent)
|
|
59
|
+
return { backing: "hosted" };
|
|
60
|
+
return {
|
|
61
|
+
backing: "none",
|
|
62
|
+
why: `no residency backing configured — set ${RESIDENCY_DIR_VAR} for a local file-backed roster, ` +
|
|
63
|
+
`${RESIDENCY_MODULE_VAR} for a backing you wrote yourself, or the hosted drain environment ` +
|
|
64
|
+
`for a hosted seat (whose provider the deployment injects).`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** Every seat member present and callable, or the name of the first that is not. */
|
|
68
|
+
function missingMember(candidate) {
|
|
69
|
+
if (!candidate)
|
|
70
|
+
return SEAT_MEMBERS[0];
|
|
71
|
+
for (const m of SEAT_MEMBERS) {
|
|
72
|
+
if (typeof candidate[m] !== "function")
|
|
73
|
+
return m;
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Resolve a choice to a usable seat, or refuse naming what is missing. A hosted choice resolves ONLY
|
|
79
|
+
* to what a deployment injected — the engine will not conjure one, which is the whole of its
|
|
80
|
+
* platform-agnosticism. `injected.module` is accepted so a hand-built backing can be handed in
|
|
81
|
+
* directly (and so a law can drive one without writing a file).
|
|
82
|
+
*/
|
|
83
|
+
export async function resolveSeatBacking(choice, injected = {}) {
|
|
84
|
+
if (choice.backing === "conflict") {
|
|
85
|
+
return { ok: false, refusal: "backing_conflict", seam: "backing", message: choice.why };
|
|
86
|
+
}
|
|
87
|
+
if (choice.backing === "none") {
|
|
88
|
+
return { ok: false, refusal: "no_backend", seam: "backing", message: choice.why };
|
|
89
|
+
}
|
|
90
|
+
if (choice.backing === "local") {
|
|
91
|
+
return { ok: true, seat: fileSeatBacking(choice.root), backing: "local" };
|
|
92
|
+
}
|
|
93
|
+
if (choice.backing === "module") {
|
|
94
|
+
let candidate = injected.module;
|
|
95
|
+
if (!candidate) {
|
|
96
|
+
try {
|
|
97
|
+
const mod = (await import(choice.spec));
|
|
98
|
+
candidate = typeof mod.residencyBacking === "function" ? mod.residencyBacking() : mod.default;
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
return {
|
|
102
|
+
ok: false,
|
|
103
|
+
refusal: "no_backend",
|
|
104
|
+
seam: "module",
|
|
105
|
+
message: `${RESIDENCY_MODULE_VAR}=${choice.spec} could not be loaded: ${e instanceof Error ? e.message : String(e)}`,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const missing = missingMember(candidate);
|
|
110
|
+
if (missing) {
|
|
111
|
+
return {
|
|
112
|
+
ok: false,
|
|
113
|
+
refusal: "no_backend",
|
|
114
|
+
seam: missing,
|
|
115
|
+
message: `the hand-built backing has no ${missing}() — a seat needs all of ${SEAT_MEMBERS.join(", ")}. A partial backing is refused rather than half-used.`,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return { ok: true, seat: candidate, backing: "module" };
|
|
119
|
+
}
|
|
120
|
+
// hosted — and the engine ships nothing for it ON PURPOSE.
|
|
121
|
+
const missing = missingMember(injected.hosted);
|
|
122
|
+
if (missing) {
|
|
123
|
+
return {
|
|
124
|
+
ok: false,
|
|
125
|
+
refusal: "no_backend",
|
|
126
|
+
seam: "hosted",
|
|
127
|
+
message: `the hosted backing is supplied by the DEPLOYMENT, not by the engine — inject it (parallel ` +
|
|
128
|
+
`to deps.queueGig / deps.mintVenueCredential). The engine ships the port, the local backing ` +
|
|
129
|
+
`and the refusals; it deliberately holds no hosted provider of its own.`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
return { ok: true, seat: injected.hosted, backing: "hosted" };
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The fence check, and the reason the local backing has one at all: a backing laxer than the store it
|
|
136
|
+
* stands in for lets a bug pass locally and fail only in production. Refused with the name the
|
|
137
|
+
* ENGINE already uses for this rule (stale_fence, src/residency.ts:268) rather than a second name
|
|
138
|
+
* for one invariant.
|
|
139
|
+
*/
|
|
140
|
+
function assertFence(root, id, fence) {
|
|
141
|
+
const row = readRow(root, id);
|
|
142
|
+
if (Number(fence) < Number(row.fence)) {
|
|
143
|
+
throw new Error(`stale_fence: a stale fence on residency ${id} — the lease was re-claimed, or this box never held it. Claim again.`);
|
|
144
|
+
}
|
|
145
|
+
return row;
|
|
146
|
+
}
|
|
147
|
+
function rowPath(root, id) {
|
|
148
|
+
return join(root, `${id}.json`);
|
|
149
|
+
}
|
|
150
|
+
function readRow(root, id) {
|
|
151
|
+
return JSON.parse(readFileSync(rowPath(root, id), "utf8"));
|
|
152
|
+
}
|
|
153
|
+
function writeRow(root, row) {
|
|
154
|
+
mkdirSync(root, { recursive: true });
|
|
155
|
+
writeFileSync(rowPath(root, row.residency_id), JSON.stringify(row, null, 2) + "\n");
|
|
156
|
+
}
|
|
157
|
+
/** Put one seat on a local roster so there is something to claim. The local counterpart of seating. */
|
|
158
|
+
export async function fileSeatSeed(root, seed) {
|
|
159
|
+
const row = {
|
|
160
|
+
residency_id: randomUUID(),
|
|
161
|
+
agent_slug: seed.agent_slug,
|
|
162
|
+
org: seed.org,
|
|
163
|
+
venue_slug: seed.venue_slug,
|
|
164
|
+
channel_id: seed.channel_id,
|
|
165
|
+
session_id: null,
|
|
166
|
+
status: "unseated",
|
|
167
|
+
cursor: 0,
|
|
168
|
+
host: null,
|
|
169
|
+
lease_until: 0,
|
|
170
|
+
hands: [],
|
|
171
|
+
fence: 0,
|
|
172
|
+
};
|
|
173
|
+
writeRow(root, row);
|
|
174
|
+
return row.residency_id;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* A real seat on disk — not a stub. It holds a lease (so two boxes cannot both claim one roster) and
|
|
178
|
+
* it refuses a cursor regression, because a local backing that were laxer than the hosted one it
|
|
179
|
+
* stands in for would let a bug pass locally and fail only in production.
|
|
180
|
+
*/
|
|
181
|
+
export function fileSeatBacking(root) {
|
|
182
|
+
const now = () => Date.now();
|
|
183
|
+
return {
|
|
184
|
+
claim: async (which) => {
|
|
185
|
+
if (!existsSync(root))
|
|
186
|
+
return null;
|
|
187
|
+
const ids = readdirSync(root).filter((f) => f.endsWith(".json")).map((f) => f.slice(0, -5));
|
|
188
|
+
for (const id of ids) {
|
|
189
|
+
if (which !== "any" && id !== which)
|
|
190
|
+
continue;
|
|
191
|
+
const row = readRow(root, id);
|
|
192
|
+
// A live lease is another box's seat. An expired one is reclaimable, so a crashed runner
|
|
193
|
+
// never wedges the roster.
|
|
194
|
+
if (row.host !== null && row.lease_until > now())
|
|
195
|
+
continue;
|
|
196
|
+
row.host = "local";
|
|
197
|
+
row.status = "seated";
|
|
198
|
+
row.lease_until = now() + LOCAL_LEASE_MS;
|
|
199
|
+
// A NEW grant gets a NEW grip. This is what makes a re-claim by the SAME box distinguishable
|
|
200
|
+
// from its own expired grant — the failure an instance name cannot see.
|
|
201
|
+
row.fence = (row.fence ?? 0) + 1;
|
|
202
|
+
writeRow(root, row);
|
|
203
|
+
return {
|
|
204
|
+
residency_id: row.residency_id,
|
|
205
|
+
agent_slug: row.agent_slug,
|
|
206
|
+
org: row.org,
|
|
207
|
+
venue_slug: row.venue_slug,
|
|
208
|
+
channel_id: row.channel_id,
|
|
209
|
+
session_id: row.session_id,
|
|
210
|
+
cursor: row.cursor,
|
|
211
|
+
// A local seat is not a minted credential and must never read as one.
|
|
212
|
+
lease_token: `local:${row.residency_id}`,
|
|
213
|
+
fence: String(row.fence),
|
|
214
|
+
gig_id: null,
|
|
215
|
+
may_dispatch: ["*"],
|
|
216
|
+
hands: row.hands,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
return null;
|
|
220
|
+
},
|
|
221
|
+
heartbeat: async (id, fence) => {
|
|
222
|
+
const row = assertFence(root, id, fence);
|
|
223
|
+
row.lease_until = now() + LOCAL_LEASE_MS;
|
|
224
|
+
writeRow(root, row);
|
|
225
|
+
},
|
|
226
|
+
release: async (id, fence, status) => {
|
|
227
|
+
const row = assertFence(root, id, fence);
|
|
228
|
+
row.status = status;
|
|
229
|
+
row.host = null;
|
|
230
|
+
writeRow(root, row);
|
|
231
|
+
},
|
|
232
|
+
cursorAdvance: async (id, fence, n) => {
|
|
233
|
+
const row = assertFence(root, id, fence);
|
|
234
|
+
if (n < row.cursor) {
|
|
235
|
+
throw new Error(`cursor_regression: ${n} is behind the seat's cursor ${row.cursor} — a cursor only ever moves forward.`);
|
|
236
|
+
}
|
|
237
|
+
row.cursor = n;
|
|
238
|
+
writeRow(root, row);
|
|
239
|
+
return row.cursor;
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=reside_backing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reside_backing.js","sourceRoot":"","sources":["../../src/reside_backing.ts"],"names":[],"mappings":"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"}
|
package/dist/src/residency.d.ts
CHANGED
|
@@ -141,9 +141,13 @@ export declare function admitVenueCredential(venue: VenueLike, credentialClass:
|
|
|
141
141
|
*/
|
|
142
142
|
export declare function bootResidency(spec: ResidencySpec, deps: BootDeps): BootResult;
|
|
143
143
|
/**
|
|
144
|
-
* The `reside` verb
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
144
|
+
* The `reside` verb lives in src/reside.ts, with the loop it starts, and is re-exported here so the
|
|
145
|
+
* residency surface stays one import for its callers (law I20/O14 reads it from this module).
|
|
146
|
+
*
|
|
147
|
+
* It used to be a three-line stub RIGHT HERE — and that was the defect. It honoured the env contract
|
|
148
|
+
* and returned the right exit code, and `src/cli.ts`'s KNOWN table had no "reside" in it, so nothing
|
|
149
|
+
* on earth could call it: a law proved the mechanism worked while `coltrane reside` answered
|
|
150
|
+
* `unknown command`. The verb now starts a real loop and the CLI mounts it; tests/spec_reside_cli.test.ts
|
|
151
|
+
* asserts the MOUNT rather than the symbol, so this cannot quietly come undone again.
|
|
148
152
|
*/
|
|
149
|
-
export
|
|
153
|
+
export { runReside } from "./reside.js";
|
package/dist/src/residency.js
CHANGED
|
@@ -268,16 +268,16 @@ export function bootResidency(spec, deps) {
|
|
|
268
268
|
deps.seatRow(rec);
|
|
269
269
|
return { ok: true, rec };
|
|
270
270
|
}
|
|
271
|
+
// ── The verb mirrors work's env + exit contract (I20) ──────────────────────────────────────────────
|
|
271
272
|
/**
|
|
272
|
-
* The `reside` verb
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
273
|
+
* The `reside` verb lives in src/reside.ts, with the loop it starts, and is re-exported here so the
|
|
274
|
+
* residency surface stays one import for its callers (law I20/O14 reads it from this module).
|
|
275
|
+
*
|
|
276
|
+
* It used to be a three-line stub RIGHT HERE — and that was the defect. It honoured the env contract
|
|
277
|
+
* and returned the right exit code, and `src/cli.ts`'s KNOWN table had no "reside" in it, so nothing
|
|
278
|
+
* on earth could call it: a law proved the mechanism worked while `coltrane reside` answered
|
|
279
|
+
* `unknown command`. The verb now starts a real loop and the CLI mounts it; tests/spec_reside_cli.test.ts
|
|
280
|
+
* asserts the MOUNT rather than the symbol, so this cannot quietly come undone again.
|
|
276
281
|
*/
|
|
277
|
-
export
|
|
278
|
-
const env = io?.env ?? {};
|
|
279
|
-
if (!env["COLTRANE_STORE_URL"] || !env["COLTRANE_STORE_ANON"])
|
|
280
|
-
return 2;
|
|
281
|
-
return 0;
|
|
282
|
-
}
|
|
282
|
+
export { runReside } from "./reside.js";
|
|
283
283
|
//# sourceMappingURL=residency.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"residency.js","sourceRoot":"","sources":["../../src/residency.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,gGAAgG;AAChG,kGAAkG;AAClG,mGAAmG;AACnG,yCAAyC;AACzC,EAAE;AACF,oGAAoG;AACpG,+FAA+F;AAC/F,6EAA6E;AAC7E,EAAE;AACF,mGAAmG;AACnG,gGAAgG;AAChG,uFAAuF;AAEvF,mGAAmG;AACnG,oGAAoG;AACpG,qGAAqG;AACrG,wCAAwC;AACxC,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY3D,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD,QAAQ;IACR,WAAW;IACX,SAAS;IACT,YAAY;IACZ,SAAS;IACT,UAAU;CACX,CAAC;AAEF,yEAAyE;AACzE,MAAM,CAAC,MAAM,WAAW,GAAgC,IAAI,GAAG,CAAiB;IAC9E,QAAQ;IACR,WAAW;IACX,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAeH,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;IACX,KAAK;IACL,WAAW;IACX,WAAW;IACX,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;CACP,CAAC;AAUF,gGAAgG;AAChG,oGAAoG;AACpG,4BAA4B;AAC5B,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC3D,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE;IACjD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE;IAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE;IAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE;IAChD,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;IACvD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;IACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE;IACjD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE;IAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE;IACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE;IACjD,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;IACvD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE;IACnD,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE;IACzD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE;IACrD,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE;IACxD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE;IACtD,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE;IACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;IAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;IACjD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;IAC/C,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;IAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE;IAChD,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE;IACnD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE;IACjD,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE;IACpD,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE;CACnD,CAAC;AAEF,oGAAoG;AACpG,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,YAAY;IACZ,KAAK;IACL,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,aAAa;IACb,cAAc;IACd,OAAO;CACR,CAAC;AAEF,qGAAqG;AACrG,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAyFrC,qGAAqG;AAErG,oGAAoG;AACpG,wFAAwF;AACxF,MAAM,cAAc,GAAqD;IACvE,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,SAAS,WAAW,CAAC,IAAoB,EAAE,EAAmB;IAC5D,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAoB,EAAE,EAAe;IACpE,MAAM,MAAM,GAAG,CAAC,MAAwB,EAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,CAAC,KAA+B,EAAuB,EAAE,CAAC,CAAC;QAC3E,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE;KAC3B,CAAC,CAAC;IAEH,iGAAiG;IACjG,kGAAkG;IAClG,qEAAqE;IACrE,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE3F,iGAAiG;IACjG,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE9D,4FAA4F;IAC5F,iCAAiC;IACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;IAE/E,iGAAiG;IACjG,4DAA4D;IAC5D,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;IAEjF,8FAA8F;IAC9F,gEAAgE;IAChE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACzG,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpF,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEzG,mGAAmG;IACnG,6FAA6F;IAC7F,mFAAmF;IACnF,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;IAEvF,8DAA8D;IAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAErF,kGAAkG;IAClG,+DAA+D;IAC/D,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5B,iGAAiG;QACjG,gFAAgF;QAChF,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACzG,MAAM,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC;QACjC,4FAA4F;QAC5F,sCAAsC;QACtC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC1F,oFAAoF;QACpF,OAAO,SAAS,CAAC;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC;YACtB,eAAe,EAAE,GAAG;YACpB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAED,+FAA+F;IAC/F,MAAM,KAAK,GAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC7E,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9C,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IAClD,CAAC;IACD,+FAA+F;IAC/F,gGAAgG;IAChG,gGAAgG;IAChG,gGAAgG;IAChG,gGAAgG;IAChG,+EAA+E;IAC/E,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IACzF,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS;QAAE,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,CAAC;IAEjF,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,qGAAqG;AAErG;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAoB,EAAE,IAAgB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AACjD,CAAC;AAED,sGAAsG;AAEtG;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAoB,EAAE,GAAW;IAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACzD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;IAC1F,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;AACrD,CAAC;AAED,sGAAsG;AAEtG;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAqB;IAErB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,sGAAsG;AAEtG;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgB,EAAE,eAAuB;IAC5E,IAAI,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;AACpD,CAAC;AAED,sGAAsG;AAEtG;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAmB,EAAE,IAAc;IAC/D,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC/F,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC/F,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAEtE,MAAM,GAAG,GAAoB;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,IAAI;KACtB,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"residency.js","sourceRoot":"","sources":["../../src/residency.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.js
CHANGED
|
@@ -3578,7 +3578,13 @@ async function callSurfaceTool(slug, args, deps) {
|
|
|
3578
3578
|
export function createToolSurface(deps) {
|
|
3579
3579
|
return MCP_TOOLS.map((t) => ({
|
|
3580
3580
|
name: t.slug,
|
|
3581
|
-
description
|
|
3581
|
+
// The tool's OWN description (src/mcp.ts TOOL_DESCRIPTIONS), not a string computed from its
|
|
3582
|
+
// category. This line used to be `${t.category} tool`, which meant every client — stdio and
|
|
3583
|
+
// hosted alike — saw all 54 verbs described as "run tool" / "build tool" / "understand tool".
|
|
3584
|
+
// The description is the field a model reads to pick a verb, so the surface was offering
|
|
3585
|
+
// fifty-four choices and five distinct hints. It never looked unfinished, because it was
|
|
3586
|
+
// computed: a missing description was indistinguishable from a written one.
|
|
3587
|
+
description: t.description,
|
|
3582
3588
|
input_schema: t.input_schema,
|
|
3583
3589
|
call: (args) => callSurfaceTool(t.slug, args, deps),
|
|
3584
3590
|
}));
|