@flyingrobots/graft 0.13.0 → 0.14.0
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/CHANGELOG.md +40 -0
- package/dist/cli/daemon-status-model.d.ts +1 -0
- package/dist/cli/daemon-status-model.d.ts.map +1 -1
- package/dist/cli/daemon-status-model.js +1 -0
- package/dist/cli/daemon-status-model.js.map +1 -1
- package/dist/cli/daemon-status-render.d.ts.map +1 -1
- package/dist/cli/daemon-status-render.js +1 -0
- package/dist/cli/daemon-status-render.js.map +1 -1
- package/dist/contracts/output-schema-fragments.d.ts +2 -0
- package/dist/contracts/output-schema-fragments.d.ts.map +1 -1
- package/dist/contracts/output-schema-fragments.js +1 -0
- package/dist/contracts/output-schema-fragments.js.map +1 -1
- package/dist/contracts/output-schema-mcp.d.ts +1 -0
- package/dist/contracts/output-schema-mcp.d.ts.map +1 -1
- package/dist/contracts/output-schema-meta.js +1 -1
- package/dist/contracts/output-schema-meta.js.map +1 -1
- package/dist/contracts/output-schemas.d.ts.map +1 -1
- package/dist/contracts/output-schemas.js +1 -0
- package/dist/contracts/output-schemas.js.map +1 -1
- package/dist/mcp/control-plane/types.d.ts +1 -0
- package/dist/mcp/control-plane/types.d.ts.map +1 -1
- package/dist/mcp/daemon-server.d.ts +4 -0
- package/dist/mcp/daemon-server.d.ts.map +1 -1
- package/dist/mcp/daemon-server.js +37 -12
- package/dist/mcp/daemon-server.js.map +1 -1
- package/dist/mcp/daemon-session-host.d.ts +2 -2
- package/dist/mcp/daemon-session-host.d.ts.map +1 -1
- package/dist/mcp/daemon-session-host.js +130 -59
- package/dist/mcp/daemon-session-host.js.map +1 -1
- package/dist/mcp/persisted-local-history.d.ts +5 -0
- package/dist/mcp/persisted-local-history.d.ts.map +1 -1
- package/dist/mcp/persisted-local-history.js +5 -1
- package/dist/mcp/persisted-local-history.js.map +1 -1
- package/dist/mcp/server-context.d.ts.map +1 -1
- package/dist/mcp/server-context.js +28 -11
- package/dist/mcp/server-context.js.map +1 -1
- package/dist/mcp/server-invocation.d.ts.map +1 -1
- package/dist/mcp/server-invocation.js +15 -7
- package/dist/mcp/server-invocation.js.map +1 -1
- package/dist/mcp/server.d.ts +3 -2
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +22 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/warp-pool.d.ts +45 -6
- package/dist/mcp/warp-pool.d.ts.map +1 -1
- package/dist/mcp/warp-pool.js +128 -19
- package/dist/mcp/warp-pool.js.map +1 -1
- package/dist/mcp/workspace-router-model.d.ts +4 -1
- package/dist/mcp/workspace-router-model.d.ts.map +1 -1
- package/dist/mcp/workspace-router-model.js.map +1 -1
- package/dist/mcp/workspace-router-runtime.d.ts +15 -5
- package/dist/mcp/workspace-router-runtime.d.ts.map +1 -1
- package/dist/mcp/workspace-router-runtime.js +47 -7
- package/dist/mcp/workspace-router-runtime.js.map +1 -1
- package/dist/mcp/workspace-router.d.ts +20 -10
- package/dist/mcp/workspace-router.d.ts.map +1 -1
- package/dist/mcp/workspace-router.js +254 -125
- package/dist/mcp/workspace-router.js.map +1 -1
- package/docs/MCP.md +54 -0
- package/package.json +1 -1
package/dist/mcp/warp-pool.js
CHANGED
|
@@ -1,30 +1,139 @@
|
|
|
1
|
-
|
|
1
|
+
export const DEFAULT_MAX_WARP_RESIDENTS = 4;
|
|
2
|
+
const MAX_CONFIGURED_WARP_RESIDENTS = 64;
|
|
3
|
+
export function resolveWarpPoolOptions(env) {
|
|
4
|
+
const configured = env["GRAFT_WARP_MAX_RESIDENTS"];
|
|
5
|
+
if (configured === undefined)
|
|
6
|
+
return {};
|
|
7
|
+
const value = configured.trim();
|
|
8
|
+
const maxResidents = /^\d+$/.test(value) ? Number(value) : NaN;
|
|
9
|
+
validateCapacity(maxResidents);
|
|
10
|
+
return { maxResidents };
|
|
11
|
+
}
|
|
12
|
+
function validateCapacity(capacity) {
|
|
13
|
+
if (!Number.isInteger(capacity) || capacity < 1 || capacity > MAX_CONFIGURED_WARP_RESIDENTS) {
|
|
14
|
+
throw new RangeError("GRAFT_WARP_MAX_RESIDENTS must be an integer from 1 through 64");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class WarpResidentCapacityError extends Error {
|
|
18
|
+
maxResidents;
|
|
19
|
+
code = "WARP_RESIDENT_CAPACITY";
|
|
20
|
+
constructor(maxResidents) {
|
|
21
|
+
super("All " + String(maxResidents) + " WARP resident slots are in use; retry after an operation settles");
|
|
22
|
+
this.maxResidents = maxResidents;
|
|
23
|
+
this.name = "WarpResidentCapacityError";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** A finite working set. Map order records actual use, never observation. */
|
|
2
27
|
export class InMemoryWarpPool {
|
|
3
28
|
openWarp;
|
|
4
|
-
|
|
5
|
-
|
|
29
|
+
residents = new Map();
|
|
30
|
+
maxResidents;
|
|
31
|
+
maxIdleResidents;
|
|
32
|
+
constructor(openWarp, options = {}) {
|
|
6
33
|
this.openWarp = openWarp;
|
|
34
|
+
this.maxResidents = options.maxResidents ?? DEFAULT_MAX_WARP_RESIDENTS;
|
|
35
|
+
validateCapacity(this.maxResidents);
|
|
36
|
+
this.maxIdleResidents = options.maxIdleResidents ?? this.maxResidents;
|
|
37
|
+
if (!Number.isInteger(this.maxIdleResidents) || this.maxIdleResidents < 0 || this.maxIdleResidents > this.maxResidents) {
|
|
38
|
+
throw new RangeError("maxIdleResidents must be an integer between zero and maxResidents");
|
|
39
|
+
}
|
|
7
40
|
}
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (
|
|
18
|
-
this.
|
|
41
|
+
async acquire(input) {
|
|
42
|
+
const worktreeRoot = input.worktreeRoot;
|
|
43
|
+
const id = this.id(input.key.repoId, input.key.writerId);
|
|
44
|
+
let resident = this.residents.get(id);
|
|
45
|
+
if (resident?.pins.size === 0 && resident.worktreeRoot !== worktreeRoot) {
|
|
46
|
+
this.residents.delete(id);
|
|
47
|
+
resident = undefined;
|
|
48
|
+
}
|
|
49
|
+
if (resident === undefined) {
|
|
50
|
+
if (this.residents.size >= this.maxResidents && !this.evictOldestIdle()) {
|
|
51
|
+
throw new WarpResidentCapacityError(this.maxResidents);
|
|
19
52
|
}
|
|
53
|
+
const key = Object.freeze({ repoId: input.key.repoId, writerId: input.key.writerId });
|
|
54
|
+
// Reserve before calling even a synchronously throwing/reentrant opener.
|
|
55
|
+
const opening = Promise.resolve().then(() => this.openWarp(worktreeRoot, key.writerId));
|
|
56
|
+
resident = { key, worktreeRoot, pins: new Map(), opening };
|
|
57
|
+
this.residents.set(id, resident);
|
|
58
|
+
}
|
|
59
|
+
const token = Symbol(input.ownerId);
|
|
60
|
+
resident.pins.set(token, input.ownerId);
|
|
61
|
+
this.touch(id, resident);
|
|
62
|
+
let app;
|
|
63
|
+
try {
|
|
64
|
+
app = await resident.opening;
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
resident.pins.delete(token);
|
|
68
|
+
if (this.residents.get(id) === resident)
|
|
69
|
+
this.residents.delete(id);
|
|
20
70
|
throw error;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return
|
|
71
|
+
}
|
|
72
|
+
let owned = resident;
|
|
73
|
+
const key = resident.key;
|
|
74
|
+
return {
|
|
75
|
+
key,
|
|
76
|
+
get app() {
|
|
77
|
+
if (app === null)
|
|
78
|
+
throw new Error("WARP resident lease has been released");
|
|
79
|
+
return app;
|
|
80
|
+
},
|
|
81
|
+
release: () => {
|
|
82
|
+
const current = owned;
|
|
83
|
+
if (current === null)
|
|
84
|
+
return Promise.resolve();
|
|
85
|
+
owned = null;
|
|
86
|
+
app = null;
|
|
87
|
+
current.pins.delete(token);
|
|
88
|
+
if (current.pins.size === 0 && this.residents.get(id) === current) {
|
|
89
|
+
this.touch(id, current);
|
|
90
|
+
this.trimIdle();
|
|
91
|
+
}
|
|
92
|
+
return Promise.resolve();
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
id(repoId, writerId) {
|
|
97
|
+
return JSON.stringify([repoId, writerId]);
|
|
98
|
+
}
|
|
99
|
+
touch(id, resident) {
|
|
100
|
+
this.residents.delete(id);
|
|
101
|
+
this.residents.set(id, resident);
|
|
102
|
+
}
|
|
103
|
+
evictOldestIdle() {
|
|
104
|
+
for (const [id, resident] of this.residents) {
|
|
105
|
+
if (resident.pins.size === 0) {
|
|
106
|
+
this.residents.delete(id);
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
trimIdle() {
|
|
113
|
+
let idle = 0;
|
|
114
|
+
for (const resident of this.residents.values())
|
|
115
|
+
if (resident.pins.size === 0)
|
|
116
|
+
idle++;
|
|
117
|
+
while (idle > this.maxIdleResidents && this.evictOldestIdle())
|
|
118
|
+
idle--;
|
|
119
|
+
}
|
|
120
|
+
leaseCount(repoId, writerId) {
|
|
121
|
+
return this.residents.get(this.id(repoId, writerId))?.pins.size ?? 0;
|
|
122
|
+
}
|
|
123
|
+
has(repoId, writerId) {
|
|
124
|
+
if (writerId !== undefined)
|
|
125
|
+
return this.residents.has(this.id(repoId, writerId));
|
|
126
|
+
for (const resident of this.residents.values())
|
|
127
|
+
if (resident.key.repoId === repoId)
|
|
128
|
+
return true;
|
|
129
|
+
return false;
|
|
25
130
|
}
|
|
26
131
|
size() {
|
|
27
|
-
return this.
|
|
132
|
+
return new Set([...this.residents.values()].map((resident) => resident.key.repoId)).size;
|
|
133
|
+
}
|
|
134
|
+
/** Includes opening reservations as well as pinned and idle loaded handles. */
|
|
135
|
+
residentCount() {
|
|
136
|
+
return this.residents.size;
|
|
28
137
|
}
|
|
29
138
|
}
|
|
30
139
|
//# sourceMappingURL=warp-pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp-pool.js","sourceRoot":"","sources":["../../src/mcp/warp-pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"warp-pool.js","sourceRoot":"","sources":["../../src/mcp/warp-pool.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAQzC,MAAM,UAAU,sBAAsB,CAAC,GAAiD;IACtF,MAAM,UAAU,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACnD,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,6BAA6B,EAAE,CAAC;QAC5F,MAAM,IAAI,UAAU,CAAC,+DAA+D,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAG7B;IAFZ,IAAI,GAAG,wBAAwB,CAAC;IAEzC,YAAqB,YAAoB;QACvC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,mEAAmE,CAAC,CAAC;QADxF,iBAAY,GAAZ,YAAY,CAAQ;QAEvC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AASD,6EAA6E;AAC7E,MAAM,OAAO,gBAAgB;IAMR;IALF,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,YAAY,CAAS;IACrB,gBAAgB,CAAS;IAE1C,YACmB,QAAsE,EACvF,UAA2B,EAAE;QADZ,aAAQ,GAAR,QAAQ,CAA8D;QAGvF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,0BAA0B,CAAC;QACvE,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACvH,MAAM,IAAI,UAAU,CAAC,mEAAmE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA+B;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YACxE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBACxE,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtF,yEAAyE;YACzE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxF,QAAQ,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEzB,IAAI,GAAmB,CAAC;QACxB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAoB,QAAQ,CAAC;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACzB,OAAO;YACL,GAAG;YACH,IAAI,GAAG;gBACL,IAAI,GAAG,KAAK,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3E,OAAO,GAAG,CAAC;YACb,CAAC;YACD,OAAO,EAAE,GAAkB,EAAE;gBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC;gBACtB,IAAI,OAAO,KAAK,IAAI;oBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/C,KAAK,GAAG,IAAI,CAAC;gBACb,GAAG,GAAG,IAAI,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;oBAClE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,EAAE,CAAC,MAAc,EAAE,QAAgB;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,EAAU,EAAE,QAAkB;QAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAEO,eAAe;QACrB,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;gBAAE,IAAI,EAAE,CAAC;QACrF,OAAO,IAAI,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,EAAE;YAAE,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,QAAgB;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,QAAiB;QACnC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;QAChG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3F,CAAC;IAED,+EAA+E;IAC/E,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -108,7 +108,9 @@ export interface WorkspaceExecutionContext {
|
|
|
108
108
|
readonly resolvePath: (input: string) => string;
|
|
109
109
|
readonly capabilityProfile: WorkspaceCapabilityProfile;
|
|
110
110
|
readonly warpWriterId: string;
|
|
111
|
-
getCausalContext(
|
|
111
|
+
getCausalContext(observation?: {
|
|
112
|
+
readonly checkoutEpoch: number;
|
|
113
|
+
}): RuntimeCausalContext;
|
|
112
114
|
readonly status: WorkspaceStatus;
|
|
113
115
|
readonly governor: GovernorTracker;
|
|
114
116
|
readonly cache: ObservationCache;
|
|
@@ -116,6 +118,7 @@ export interface WorkspaceExecutionContext {
|
|
|
116
118
|
readonly graftDir: string;
|
|
117
119
|
readonly repoState: RepoStateTracker;
|
|
118
120
|
readonly getWarp: () => Promise<WarpContext>;
|
|
121
|
+
releaseWarpLease(): Promise<void>;
|
|
119
122
|
}
|
|
120
123
|
export interface ResolvedWorkspace {
|
|
121
124
|
readonly repoId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-router-model.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,CAAC;AACrD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAEvF,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,uBAAuB;gBAExB,QAAQ,EAAE,MAAM;CAI7B;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,IAAI,uBAAuB;gBAExB,QAAQ,EAAE,MAAM;CAI7B;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,8BAA8B;gBAE/B,aAAa,EAAE,MAAM;CAIlC;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gBAAgB,
|
|
1
|
+
{"version":3,"file":"workspace-router-model.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-router-model.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"AAuFA,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAC7C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,mEAAmE,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,2DAA2D,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,IAAI,GAAG,0BAA0B,CAAC;IAE3C,YAAY,aAAqB;QAC/B,KAAK,CAAC,aAAa,aAAa,gGAAgG,CAAC,CAAC;QAClI,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAEtC;IADX,YACW,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"workspace-router-model.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"AAuFA,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAC7C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,mEAAmE,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,2DAA2D,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,IAAI,GAAG,0BAA0B,CAAC;IAE3C,YAAY,aAAqB;QAC/B,KAAK,CAAC,aAAa,aAAa,gGAAgG,CAAC,CAAC;QAClI,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAEtC;IADX,YACW,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAqDD,MAAM,CAAC,MAAM,iCAAiC,GAA+B,MAAM,CAAC,MAAM,CAAC;IACzF,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qCAAqC,GAA+B,MAAM,CAAC,MAAM,CAAC;IAC7F,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { RepoStateTracker, type RepoObservation } from "./repo-state.js";
|
|
|
10
10
|
import { type RuntimeCausalContext } from "./runtime-causal-context.js";
|
|
11
11
|
import { type GitTransitionHookEvent } from "./runtime-workspace-overlay.js";
|
|
12
12
|
import type { ResolvedWorkspace, WorkspaceCapabilityProfile, WorkspaceExecutionContext, WorkspaceMode, WorkspaceStatus } from "./workspace-router-model.js";
|
|
13
|
-
import type {
|
|
13
|
+
import type { WarpResidentPool } from "./warp-pool.js";
|
|
14
14
|
export interface WorkspaceSlice {
|
|
15
15
|
readonly sliceId: string;
|
|
16
16
|
readonly governor: GovernorTracker;
|
|
@@ -19,6 +19,10 @@ export interface WorkspaceSlice {
|
|
|
19
19
|
readonly graftDir: string;
|
|
20
20
|
readonly repoState: RepoStateTracker | null;
|
|
21
21
|
}
|
|
22
|
+
export interface WorkspaceWarpLease {
|
|
23
|
+
getWarp(): Promise<WarpContext>;
|
|
24
|
+
release(): Promise<void>;
|
|
25
|
+
}
|
|
22
26
|
export interface BoundWorkspace {
|
|
23
27
|
readonly repoId: string;
|
|
24
28
|
readonly worktreeId: string;
|
|
@@ -30,8 +34,14 @@ export interface BoundWorkspace {
|
|
|
30
34
|
readonly warpWriterId: string;
|
|
31
35
|
readonly transportSessionId: string;
|
|
32
36
|
readonly slice: WorkspaceSlice;
|
|
33
|
-
readonly getWarp: () => Promise<WarpContext>;
|
|
34
37
|
}
|
|
38
|
+
export declare function createWorkspaceWarpLease(input: {
|
|
39
|
+
readonly repoId: string;
|
|
40
|
+
readonly worktreeRoot: string;
|
|
41
|
+
readonly writerId: string;
|
|
42
|
+
readonly ownerId: string;
|
|
43
|
+
readonly warpPool: WarpResidentPool;
|
|
44
|
+
}): WorkspaceWarpLease;
|
|
35
45
|
export declare function createWorkspaceSlice(input: {
|
|
36
46
|
readonly graftDir: string;
|
|
37
47
|
readonly projectRoot?: string;
|
|
@@ -47,8 +57,7 @@ export declare function createBoundWorkspace(input: {
|
|
|
47
57
|
readonly slice: WorkspaceSlice;
|
|
48
58
|
readonly fs: FileSystem;
|
|
49
59
|
readonly transportSessionId: string;
|
|
50
|
-
readonly warpWriterId
|
|
51
|
-
readonly warpPool: WarpPool;
|
|
60
|
+
readonly warpWriterId: string;
|
|
52
61
|
}): Promise<BoundWorkspace>;
|
|
53
62
|
export declare function buildWorkspaceCausalContext(binding: BoundWorkspace, observation: {
|
|
54
63
|
readonly checkoutEpoch: number;
|
|
@@ -64,11 +73,12 @@ export declare function buildPersistedLocalHistoryContextFromExecution(input: {
|
|
|
64
73
|
readonly persistedLocalHistory: PersistedLocalHistoryStore;
|
|
65
74
|
readonly execution: WorkspaceExecutionContext;
|
|
66
75
|
readonly observation: RepoObservation;
|
|
76
|
+
readonly hookEvent?: GitTransitionHookEvent | null;
|
|
67
77
|
}): PersistedLocalHistoryContext;
|
|
68
78
|
export declare function resolveCheckoutBoundaryHookEvent(input: {
|
|
69
79
|
readonly fs: FileSystem;
|
|
70
80
|
readonly git: GitClient;
|
|
71
|
-
readonly binding: BoundWorkspace
|
|
81
|
+
readonly binding: Pick<BoundWorkspace, "worktreeRoot" | "gitCommonDir">;
|
|
72
82
|
readonly previousObservedAt: string;
|
|
73
83
|
readonly observation: RepoObservation;
|
|
74
84
|
}): Promise<GitTransitionHookEvent | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-router-runtime.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-router-runtime.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as path from "node:path";
|
|
2
2
|
import { createRepoPathResolver } from "../adapters/repo-paths.js";
|
|
3
|
-
import { DEFAULT_WARP_WRITER_ID } from "../warp/writer-id.js";
|
|
4
3
|
import { GovernorTracker } from "../session/tracker.js";
|
|
5
4
|
import { ObservationCache } from "./cache.js";
|
|
6
5
|
import { Metrics } from "./metrics.js";
|
|
@@ -9,6 +8,51 @@ import {} from "./persisted-local-history.js";
|
|
|
9
8
|
import { RepoStateTracker } from "./repo-state.js";
|
|
10
9
|
import { buildRuntimeCausalContext } from "./runtime-causal-context.js";
|
|
11
10
|
import { buildRuntimeWorkspaceOverlayFooting, } from "./runtime-workspace-overlay.js";
|
|
11
|
+
export function createWorkspaceWarpLease(input) {
|
|
12
|
+
let leasePromise = null;
|
|
13
|
+
let releasePromise = null;
|
|
14
|
+
const releaseHasStarted = () => releasePromise !== null;
|
|
15
|
+
return {
|
|
16
|
+
async getWarp() {
|
|
17
|
+
if (releaseHasStarted()) {
|
|
18
|
+
throw new Error("workspace WARP lease has already been released");
|
|
19
|
+
}
|
|
20
|
+
const currentLease = leasePromise ?? input.warpPool.acquire({
|
|
21
|
+
key: { repoId: input.repoId, writerId: input.writerId },
|
|
22
|
+
worktreeRoot: input.worktreeRoot,
|
|
23
|
+
ownerId: input.ownerId,
|
|
24
|
+
});
|
|
25
|
+
leasePromise = currentLease;
|
|
26
|
+
try {
|
|
27
|
+
const lease = await currentLease;
|
|
28
|
+
if (releaseHasStarted()) {
|
|
29
|
+
await lease.release();
|
|
30
|
+
throw new Error("workspace WARP lease was released while opening");
|
|
31
|
+
}
|
|
32
|
+
return { app: lease.app, strandId: null };
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
if (leasePromise === currentLease) {
|
|
36
|
+
leasePromise = null;
|
|
37
|
+
}
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
release() {
|
|
42
|
+
if (releasePromise !== null)
|
|
43
|
+
return releasePromise;
|
|
44
|
+
releasePromise = (async () => {
|
|
45
|
+
const currentLease = leasePromise;
|
|
46
|
+
leasePromise = null;
|
|
47
|
+
if (currentLease === null)
|
|
48
|
+
return;
|
|
49
|
+
const lease = await currentLease.catch(() => null);
|
|
50
|
+
await lease?.release();
|
|
51
|
+
})();
|
|
52
|
+
return releasePromise;
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
12
56
|
export function createWorkspaceSlice(input) {
|
|
13
57
|
return {
|
|
14
58
|
sliceId: input.nextSliceId,
|
|
@@ -32,12 +76,8 @@ export async function createBoundWorkspace(input) {
|
|
|
32
76
|
resolvePath: createRepoPathResolver(input.resolved.worktreeRoot),
|
|
33
77
|
capabilityProfile: input.capabilityProfile,
|
|
34
78
|
transportSessionId: input.transportSessionId,
|
|
35
|
-
warpWriterId: input.warpWriterId
|
|
79
|
+
warpWriterId: input.warpWriterId,
|
|
36
80
|
slice: input.slice,
|
|
37
|
-
getWarp: async () => ({
|
|
38
|
-
app: await input.warpPool.getOrOpen(input.resolved.repoId, input.resolved.worktreeRoot, input.warpWriterId ?? DEFAULT_WARP_WRITER_ID),
|
|
39
|
-
strandId: null,
|
|
40
|
-
}),
|
|
41
81
|
};
|
|
42
82
|
}
|
|
43
83
|
export function buildWorkspaceCausalContext(binding, observation) {
|
|
@@ -67,7 +107,7 @@ export function buildPersistedLocalHistoryContext(input) {
|
|
|
67
107
|
return context;
|
|
68
108
|
}
|
|
69
109
|
export function buildPersistedLocalHistoryContextFromExecution(input) {
|
|
70
|
-
const context = input.persistedLocalHistory.buildContext(input.execution.status, input.execution.getCausalContext(), input.observation);
|
|
110
|
+
const context = input.persistedLocalHistory.buildContext(input.execution.status, input.execution.getCausalContext(input.observation), input.observation, input.hookEvent ?? null);
|
|
71
111
|
if (context === null) {
|
|
72
112
|
throw new Error("persisted local history context unavailable for execution");
|
|
73
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-router-runtime.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"workspace-router-runtime.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { ObservationCache } from "./cache.js";
|
|
|
2
2
|
import { Metrics } from "./metrics.js";
|
|
3
3
|
import { type PersistedLocalActivityWindow, PersistedLocalHistoryStore, type PersistedLocalHistoryAttachDeclaration, type RepoConcurrencySummary, type PersistedLocalHistorySummary } from "./persisted-local-history.js";
|
|
4
4
|
import { type RepoObservation } from "./repo-state.js";
|
|
5
|
+
import type { RuntimeCausalContext } from "./runtime-causal-context.js";
|
|
5
6
|
import { type RuntimeWorkspaceOverlayFooting } from "./runtime-workspace-overlay.js";
|
|
6
7
|
import { type AttributedReadToolName } from "./workspace-read-observation.js";
|
|
7
8
|
import { type CausalAttachResult, type WorkspaceActionResult, type WorkspaceAuthorizationPolicy, type WorkspaceBindRequest, type WorkspaceExecutionContext, type WorkspaceListOpenedResult, type WorkspaceMode, type WorkspaceOpenRequest, type WorkspaceOpenResult, type WorkspaceSharedAttachPolicy, type WorkspaceStatus } from "./workspace-router-model.js";
|
|
@@ -9,7 +10,7 @@ import type { FileSystem } from "../ports/filesystem.js";
|
|
|
9
10
|
import type { GitClient } from "../ports/git.js";
|
|
10
11
|
import type { WarpContext } from "../warp/context.js";
|
|
11
12
|
import type { JsonObject } from "../contracts/json-object.js";
|
|
12
|
-
import type {
|
|
13
|
+
import type { WarpResidentPool } from "./warp-pool.js";
|
|
13
14
|
import { GovernorTracker } from "../session/tracker.js";
|
|
14
15
|
export { DEFAULT_DAEMON_CAPABILITY_PROFILE, DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE, WorkspaceBindingRequiredError, WorkspaceCapabilityDeniedError, WorkspaceResolutionError, WorkspaceRouteUnauthorizedError, type CausalAttachResult, type OpenedWorkspaceSource, type OpenedWorkspaceView, type ResolvedWorkspace, type WorkspaceActionResult, type WorkspaceAuthorizationPolicy, type WorkspaceBindAction, type WorkspaceBindRequest, type WorkspaceCapabilityProfile, type WorkspaceExecutionContext, type WorkspaceListOpenedResult, type WorkspaceMode, type WorkspaceOpenRequest, type WorkspaceOpenResult, type WorkspaceRouteEvidence, type WorkspaceSharedAttachPolicy, type WorkspaceStatus, } from "./workspace-router-model.js";
|
|
15
16
|
export { resolveWorkspaceRequest } from "./workspace-router-resolution.js";
|
|
@@ -19,7 +20,7 @@ interface WorkspaceRouterOptions {
|
|
|
19
20
|
readonly git: GitClient;
|
|
20
21
|
readonly graftDir: string;
|
|
21
22
|
readonly projectRoot?: string | undefined;
|
|
22
|
-
readonly warpPool:
|
|
23
|
+
readonly warpPool: WarpResidentPool;
|
|
23
24
|
readonly transportSessionId: string;
|
|
24
25
|
readonly warpWriterId?: string | undefined;
|
|
25
26
|
readonly authorizationPolicy?: WorkspaceAuthorizationPolicy | undefined;
|
|
@@ -30,6 +31,7 @@ interface WorkspaceRouterOptions {
|
|
|
30
31
|
export declare class WorkspaceRouter {
|
|
31
32
|
private readonly options;
|
|
32
33
|
private bindingCounter;
|
|
34
|
+
private executionCounter;
|
|
33
35
|
private sliceIdCounter;
|
|
34
36
|
private currentSlice;
|
|
35
37
|
private currentBinding;
|
|
@@ -37,6 +39,8 @@ export declare class WorkspaceRouter {
|
|
|
37
39
|
private readonly openedWorkspaces;
|
|
38
40
|
private readonly routedBindings;
|
|
39
41
|
private readonly routedBindingInitializations;
|
|
42
|
+
private bindingCommitTail;
|
|
43
|
+
private warpLeaseRelease;
|
|
40
44
|
constructor(options: WorkspaceRouterOptions);
|
|
41
45
|
initialize(): Promise<void>;
|
|
42
46
|
get mode(): WorkspaceMode;
|
|
@@ -48,27 +52,32 @@ export declare class WorkspaceRouter {
|
|
|
48
52
|
getProjectRoot(): string;
|
|
49
53
|
getGraftignorePatterns(): readonly string[];
|
|
50
54
|
getPathResolver(): (input: string) => string;
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
withWarp<T>(operation: (warp: WarpContext) => Promise<T>): Promise<T>;
|
|
56
|
+
releaseWarpLeases(): Promise<void>;
|
|
57
|
+
observeRepoState(execution?: WorkspaceExecutionContext | null): Promise<void>;
|
|
53
58
|
getRepoState(): RepoObservation;
|
|
54
59
|
getStatus(): WorkspaceStatus;
|
|
55
60
|
listOpenedWorkspaces(): WorkspaceListOpenedResult;
|
|
56
61
|
openWorkspace(request: WorkspaceOpenRequest): Promise<WorkspaceOpenResult>;
|
|
57
|
-
getPersistedLocalHistorySummary(): Promise<PersistedLocalHistorySummary>;
|
|
58
|
-
getRepoConcurrencySummary(): Promise<RepoConcurrencySummary | null>;
|
|
59
|
-
getPersistedLocalActivityWindow(limit: number): Promise<PersistedLocalActivityWindow>;
|
|
60
|
-
getWorkspaceOverlayFooting(): Promise<RuntimeWorkspaceOverlayFooting | null>;
|
|
62
|
+
getPersistedLocalHistorySummary(execution?: WorkspaceExecutionContext | null): Promise<PersistedLocalHistorySummary>;
|
|
63
|
+
getRepoConcurrencySummary(execution?: WorkspaceExecutionContext | null): Promise<RepoConcurrencySummary | null>;
|
|
64
|
+
getPersistedLocalActivityWindow(limit: number, execution?: WorkspaceExecutionContext | null): Promise<PersistedLocalActivityWindow>;
|
|
65
|
+
getWorkspaceOverlayFooting(execution?: WorkspaceExecutionContext | null): Promise<RuntimeWorkspaceOverlayFooting | null>;
|
|
61
66
|
noteReadObservation(toolName: AttributedReadToolName, args: JsonObject, result: JsonObject, execution?: WorkspaceExecutionContext | null): Promise<void>;
|
|
67
|
+
getRuntimeCausalContext(): RuntimeCausalContext | null;
|
|
62
68
|
captureExecutionContext(): WorkspaceExecutionContext;
|
|
63
69
|
captureExecutionContextForWorkspace(request: WorkspaceBindRequest): Promise<WorkspaceExecutionContext>;
|
|
64
70
|
private createRoutedBinding;
|
|
65
71
|
private routedBindingMatches;
|
|
66
72
|
private noteRoutedBinding;
|
|
73
|
+
private disposeRoutedBinding;
|
|
67
74
|
private buildExecutionContext;
|
|
68
75
|
bind(request: WorkspaceBindRequest, actionName: string): Promise<WorkspaceActionResult>;
|
|
69
76
|
rebind(request: WorkspaceBindRequest, actionName: string): Promise<WorkspaceActionResult>;
|
|
70
|
-
declareAttach(declaration: PersistedLocalHistoryAttachDeclaration): Promise<CausalAttachResult>;
|
|
77
|
+
declareAttach(declaration: PersistedLocalHistoryAttachDeclaration, execution?: WorkspaceExecutionContext | null): Promise<CausalAttachResult>;
|
|
71
78
|
private bindInternal;
|
|
79
|
+
private enqueueBindingCommit;
|
|
80
|
+
private commitBinding;
|
|
72
81
|
private createBoundWorkspace;
|
|
73
82
|
private requireBinding;
|
|
74
83
|
private requireRepoState;
|
|
@@ -81,7 +90,8 @@ export declare class WorkspaceRouter {
|
|
|
81
90
|
private buildPersistedLocalHistoryContextFromExecution;
|
|
82
91
|
private resolveCheckoutBoundaryHookEvent;
|
|
83
92
|
private captureCurrentExecutionContext;
|
|
84
|
-
private
|
|
93
|
+
private resolveWorkspaceHistoryScope;
|
|
94
|
+
private withBindingGraph;
|
|
85
95
|
private buildPersistedLocalHistoryGraphContextFromExecution;
|
|
86
96
|
}
|
|
87
97
|
//# sourceMappingURL=workspace-router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-router.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,KAAK,4BAA4B,EAEjC,0BAA0B,EAC1B,KAAK,sCAAsC,EAE3C,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-router.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router.ts"],"names":[],"mappings":"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"}
|