@felan-ai/daemon 0.6.0 → 0.7.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/dist/daemon/host-workers.d.ts +34 -0
- package/dist/daemon/host-workers.d.ts.map +1 -0
- package/dist/daemon/host-workers.js +160 -0
- package/dist/daemon/host-workers.js.map +1 -0
- package/dist/daemon/maintenance.d.ts +21 -0
- package/dist/daemon/maintenance.d.ts.map +1 -0
- package/dist/daemon/maintenance.js +48 -0
- package/dist/daemon/maintenance.js.map +1 -0
- package/dist/daemon/profile-storage.d.ts +3 -1
- package/dist/daemon/profile-storage.d.ts.map +1 -1
- package/dist/daemon/profile-storage.js +10 -7
- package/dist/daemon/profile-storage.js.map +1 -1
- package/dist/daemon/provider-loader.d.ts +3 -0
- package/dist/daemon/provider-loader.d.ts.map +1 -1
- package/dist/daemon/provider-loader.js +14 -2
- package/dist/daemon/provider-loader.js.map +1 -1
- package/dist/daemon/registry.d.ts +6 -0
- package/dist/daemon/registry.d.ts.map +1 -1
- package/dist/daemon/registry.js +46 -21
- package/dist/daemon/registry.js.map +1 -1
- package/dist/daemon/server.d.ts +2 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +2 -2
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/service.d.ts.map +1 -1
- package/dist/daemon/service.js +8 -1
- package/dist/daemon/service.js.map +1 -1
- package/dist/daemon/session-lifecycle-contracts.d.ts +1 -0
- package/dist/daemon/session-lifecycle-contracts.d.ts.map +1 -1
- package/dist/daemon/session-lifecycle.js +1 -1
- package/dist/daemon/session-lifecycle.js.map +1 -1
- package/dist/daemon/session-services.d.ts +2 -1
- package/dist/daemon/session-services.d.ts.map +1 -1
- package/dist/daemon/session-services.js +58 -41
- package/dist/daemon/session-services.js.map +1 -1
- package/dist/daemon/worker.d.ts +9 -1
- package/dist/daemon/worker.d.ts.map +1 -1
- package/dist/daemon/worker.js +92 -13
- package/dist/daemon/worker.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/daemon/registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAiC,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAe,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACpN,OAAO,EAAsB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAiB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAA2C,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpJ,OAAO,EAA2F,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvK,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAyB,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACrM,OAAO,EAAiB,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAInD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/daemon/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/registry.js
CHANGED
|
@@ -14,6 +14,8 @@ import { isConversationEntry, prepareTranscriptDeletion } from './session-files.
|
|
|
14
14
|
import { canonicalProspectivePath, pathInside } from './target.js';
|
|
15
15
|
import { sessionTip } from './session-cursor.js';
|
|
16
16
|
import { shutdownStep } from './shutdown-error.js';
|
|
17
|
+
import { HostWorkers } from './host-workers.js';
|
|
18
|
+
import { assertStagedWorker } from './worker.js';
|
|
17
19
|
const nonRunMutations = new Set(['set_model', 'set_thinking', 'session.rename', 'session.entry.label', 'session.branch.select', 'session.export', 'command.invoke', 'shell.execute', 'processes.write', 'processes.stop', 'steer', 'follow_up', 'queue.clear', 'executions.steer', 'executions.cancel', 'ui.action']);
|
|
18
20
|
class RegistryOpeningCancelled extends Error {
|
|
19
21
|
}
|
|
@@ -24,6 +26,7 @@ export class SessionRegistry {
|
|
|
24
26
|
entries = new Map();
|
|
25
27
|
executionManagers = new Map();
|
|
26
28
|
runtimeOpening = new AsyncLocalStorage();
|
|
29
|
+
hostWorkers;
|
|
27
30
|
bindingActivation = new AsyncLocalStorage();
|
|
28
31
|
opening = new Map();
|
|
29
32
|
pathClaims = new Set();
|
|
@@ -62,13 +65,25 @@ export class SessionRegistry {
|
|
|
62
65
|
this.recovery = options.store.needsRecovery ? options.store.recover().value : undefined;
|
|
63
66
|
this.processes = new RegistryProcesses({ ...(options.processAdapter ? { processAdapter: options.processAdapter } : {}), store: options.store, now: this.now, assertCurrent: () => options.owner.assertCurrent(),
|
|
64
67
|
changed: (id, process, rev) => this.publish({ v: 1, session: id, rev, change: { type: 'process.updated', process } }) });
|
|
68
|
+
this.hostWorkers = new HostWorkers({ owner: options.owner, processes: this.processes, lifecycle: () => this.options.lifecycle,
|
|
69
|
+
assertNewWork: () => this.assertHostWork(), fail: error => this.fence(error),
|
|
70
|
+
claim: (id, path) => {
|
|
71
|
+
if (this.options.store.findSessionMetadata(id) || this.hostWorkers.owns(id))
|
|
72
|
+
throw registryError('invalid_request', 'Worker transcript must have a fresh identity.');
|
|
73
|
+
if (this.pathClaims.has(path) || this.reservations.has(path) || this.copyClaims.has(path) || this.list().some(row => row.piPath === path))
|
|
74
|
+
throw registryError('busy', 'Session transcript already has a writer.');
|
|
75
|
+
this.pathClaims.add(path);
|
|
76
|
+
},
|
|
77
|
+
release: path => this.pathClaims.delete(path),
|
|
78
|
+
openSession: request => this.runtimeOpening.run({ workerSession: request.worker.sessionManager.getSessionId() }, () => this.options.lifecycle.openSession(request)),
|
|
79
|
+
});
|
|
65
80
|
this.lossUnsubscribe = options.owner.onLost(error => { this.fence(error); });
|
|
66
81
|
}
|
|
67
82
|
wrapOpeningRuntime(runtime, root) {
|
|
68
83
|
const opening = this.runtimeOpening.getStore();
|
|
69
84
|
if (!opening)
|
|
70
85
|
throw new Error('Runtime factories must run inside lifecycle.openSession.');
|
|
71
|
-
const scope = { session: '', root };
|
|
86
|
+
const scope = { session: opening.workerSession ?? '', root };
|
|
72
87
|
opening.scope = scope;
|
|
73
88
|
return this.processes.wrap(runtime, scope);
|
|
74
89
|
}
|
|
@@ -104,6 +119,16 @@ export class SessionRegistry {
|
|
|
104
119
|
if (this.draining)
|
|
105
120
|
throw registryError('busy', 'Daemon is draining.');
|
|
106
121
|
}
|
|
122
|
+
assertHostWork() {
|
|
123
|
+
try {
|
|
124
|
+
this.assertNewWork();
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
if (error instanceof Error && (this.failure || this.stopping || this.draining))
|
|
128
|
+
error.name = 'AbortError';
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
107
132
|
failExecution(error) { this.fence(error); }
|
|
108
133
|
get fenced() { return this.failure !== undefined; }
|
|
109
134
|
beginDrain() {
|
|
@@ -114,6 +139,7 @@ export class SessionRegistry {
|
|
|
114
139
|
}
|
|
115
140
|
this.assertAdmission();
|
|
116
141
|
this.draining = true;
|
|
142
|
+
this.hostWorkers.interrupt();
|
|
117
143
|
}
|
|
118
144
|
/** Reopens admission after an abandoned drain; a registry that started shutting down cannot resume. */
|
|
119
145
|
endDrain() {
|
|
@@ -128,6 +154,7 @@ export class SessionRegistry {
|
|
|
128
154
|
signal?.throwIfAborted();
|
|
129
155
|
await this.join([...this.entries.keys()].map(id => this.cancelViews(id)));
|
|
130
156
|
await this.join([...this.opening.values(), ...this.closes.values(), ...this.lifecycleWriters], undefined, true);
|
|
157
|
+
await this.hostWorkers.settle();
|
|
131
158
|
for (const entry of this.entries.values()) {
|
|
132
159
|
await entry.host?.settle();
|
|
133
160
|
await entry.cancelling;
|
|
@@ -175,20 +202,7 @@ export class SessionRegistry {
|
|
|
175
202
|
const owner = this.options.store.sessionMetadata(parent);
|
|
176
203
|
const root = this.require(owner.root).binding;
|
|
177
204
|
const manager = worker.sessionManager;
|
|
178
|
-
const
|
|
179
|
-
if (!file || this.list().some(row => row.id === manager.getSessionId()))
|
|
180
|
-
throw registryError('invalid_request', 'Worker transcript must have a fresh identity.');
|
|
181
|
-
const path = this.options.owner.assertOwnsPath(file);
|
|
182
|
-
if (!pathInside(root.resources.sessionDir, path))
|
|
183
|
-
throw registryError('forbidden', 'Worker transcript is outside the root session directory.');
|
|
184
|
-
const workspace = this.options.owner.assertOwnsPath(worker.runtime.cwd);
|
|
185
|
-
if (!(root.resources.workerRoots ?? []).some(directory => pathInside(directory, workspace))) {
|
|
186
|
-
throw registryError('forbidden', 'Worker workspace is outside managed staging storage.');
|
|
187
|
-
}
|
|
188
|
-
const tools = new Set(['read', 'ls', 'grep', 'edit', 'write', ...(worker.customTools ?? []).map(tool => tool.name)]);
|
|
189
|
-
if (!worker.allowedTools.length || worker.allowedTools.some(name => !tools.has(name) || name === 'bash')) {
|
|
190
|
-
throw registryError('forbidden', 'Worker tools exceed the staged-artifact policy.');
|
|
191
|
-
}
|
|
205
|
+
const { path } = assertStagedWorker(this.options.owner, root.resources, worker, id => this.hostWorkers.owns(id) || this.list().some(row => row.id === id));
|
|
192
206
|
const key = randomUUID();
|
|
193
207
|
const opening = this.open({ cwd: manager.getCwd(), sessionDir: dirname(path), target: { kind: 'resume', sessionFile: path },
|
|
194
208
|
parentSessionId: parent, rootSessionId: owner.root, policy: this.getPolicy(parent),
|
|
@@ -201,7 +215,12 @@ export class SessionRegistry {
|
|
|
201
215
|
this.opening.delete(key);
|
|
202
216
|
}
|
|
203
217
|
}
|
|
218
|
+
openHostWorker(worker) { return this.hostWorkers.open(worker); }
|
|
219
|
+
hostWorkSignal() { this.assertHostWork(); return this.hostWorkers.signal; }
|
|
220
|
+
closeHostWorker(id) { return this.hostWorkers.close(id); }
|
|
204
221
|
async runWorker(id, operation) {
|
|
222
|
+
if (this.hostWorkers.owns(id))
|
|
223
|
+
return this.hostWorkers.run(id, operation);
|
|
205
224
|
this.assertNewWork();
|
|
206
225
|
this.assertDispatch(id);
|
|
207
226
|
const entry = this.require(id);
|
|
@@ -290,7 +309,7 @@ export class SessionRegistry {
|
|
|
290
309
|
const current = this.options.store.sessionMetadatas();
|
|
291
310
|
const ids = new Set(current.map(session => session.id));
|
|
292
311
|
const paths = new Set(current.map(session => session.piPath));
|
|
293
|
-
return rows.filter(row => !ids.has(row.id) && !paths.has(row.path) && (cwd === undefined || row.cwd === cwd));
|
|
312
|
+
return rows.filter(row => !ids.has(row.id) && !this.hostWorkers.owns(row.id) && !paths.has(row.path) && (cwd === undefined || row.cwd === cwd));
|
|
294
313
|
}
|
|
295
314
|
legacySummary(row) { return this.legacy.summary(row); }
|
|
296
315
|
/** Reads the titles of listed pre-daemon transcripts, newest first, so the first listing rarely waits for them. */
|
|
@@ -1002,6 +1021,8 @@ export class SessionRegistry {
|
|
|
1002
1021
|
}
|
|
1003
1022
|
close(id) {
|
|
1004
1023
|
this.options.owner.assertCurrent();
|
|
1024
|
+
if (this.hostWorkers.owns(id))
|
|
1025
|
+
return this.closeHostWorker(id);
|
|
1005
1026
|
const stored = this.options.store.sessionMetadata(id);
|
|
1006
1027
|
const pending = this.closes.get(id);
|
|
1007
1028
|
if (pending)
|
|
@@ -1060,6 +1081,7 @@ export class SessionRegistry {
|
|
|
1060
1081
|
}
|
|
1061
1082
|
}
|
|
1062
1083
|
async shutdown(options = {}) {
|
|
1084
|
+
this.options.onShutdown?.();
|
|
1063
1085
|
if (options.interrupt)
|
|
1064
1086
|
for (const row of this.list()) {
|
|
1065
1087
|
if (row.state === 'open' && ['running', 'waiting', 'cancelling'].includes(row.run.state) && row.run.id)
|
|
@@ -1069,6 +1091,7 @@ export class SessionRegistry {
|
|
|
1069
1091
|
if (this.failure) {
|
|
1070
1092
|
await shutdownStep('registry-fenced', async () => { await this.failureSettlement; throw new Error('Registry is fenced; verify settlement before releasing ownership.'); });
|
|
1071
1093
|
}
|
|
1094
|
+
const hostWorkers = shutdownStep('session-dispose', () => this.hostWorkers.shutdown());
|
|
1072
1095
|
const cancellations = [...this.entries].map(([id, entry]) => {
|
|
1073
1096
|
if (!options.interrupt)
|
|
1074
1097
|
return shutdownStep('session-cancel-views', () => this.cancelViews(id), id);
|
|
@@ -1086,7 +1109,7 @@ export class SessionRegistry {
|
|
|
1086
1109
|
if (!options.interrupt || this.failure)
|
|
1087
1110
|
throw error;
|
|
1088
1111
|
});
|
|
1089
|
-
await this.join([...cancellations, shutdownStep('registry-pending', () => this.join([...this.opening.values(), closing, ...this.lifecycleWriters], undefined, true))]);
|
|
1112
|
+
await this.join([hostWorkers, ...cancellations, shutdownStep('registry-pending', () => this.join([...this.opening.values(), closing, ...this.lifecycleWriters], undefined, true))]);
|
|
1090
1113
|
if (this.failure)
|
|
1091
1114
|
await shutdownStep('registry-fenced', async () => { await this.failureSettlement; throw this.failure; });
|
|
1092
1115
|
if (options.interrupt) {
|
|
@@ -1239,7 +1262,7 @@ export class SessionRegistry {
|
|
|
1239
1262
|
} };
|
|
1240
1263
|
try {
|
|
1241
1264
|
const { execution = restored?.execution, ...sessionRequest } = request;
|
|
1242
|
-
binding = await this.runtimeOpening.run({}, () => this.options.lifecycle.openSession({ ...sessionRequest, resources, ownership, policy: initialPolicy, services,
|
|
1265
|
+
binding = await this.runtimeOpening.run(request.worker ? { workerSession: request.worker.sessionManager.getSessionId() } : {}, () => this.options.lifecycle.openSession({ ...sessionRequest, resources, ownership, policy: initialPolicy, services,
|
|
1243
1266
|
...(execution ? { execution: { ...(execution.request.label === undefined ? {} : { label: execution.request.label }) } } : {}),
|
|
1244
1267
|
}));
|
|
1245
1268
|
this.assertAdmission();
|
|
@@ -1292,7 +1315,7 @@ export class SessionRegistry {
|
|
|
1292
1315
|
const path = this.options.owner.assertOwnsPath(actualPath);
|
|
1293
1316
|
if (restored && (binding.sessionId !== restored.id || path !== restored.piPath || binding.rootSessionId !== restored.root))
|
|
1294
1317
|
throw new Error('Restored session identity changed.');
|
|
1295
|
-
if (this.entries.has(binding.sessionId) || (this.pathClaims.has(path) && claim !== path))
|
|
1318
|
+
if (this.entries.has(binding.sessionId) || this.hostWorkers.owns(binding.sessionId) || (this.pathClaims.has(path) && claim !== path))
|
|
1296
1319
|
throw new Error('Session already has a live writer.');
|
|
1297
1320
|
if (claim && claim !== path)
|
|
1298
1321
|
this.pathClaims.delete(claim);
|
|
@@ -1686,6 +1709,7 @@ export class SessionRegistry {
|
|
|
1686
1709
|
this.diagnostic({ scope: 'registry', error });
|
|
1687
1710
|
this.failure = error;
|
|
1688
1711
|
this.processes.sealAll();
|
|
1712
|
+
this.hostWorkers.interrupt();
|
|
1689
1713
|
for (const entry of this.entries.values()) {
|
|
1690
1714
|
entry.runAbort?.abort();
|
|
1691
1715
|
entry.projection.dispose();
|
|
@@ -1698,6 +1722,7 @@ export class SessionRegistry {
|
|
|
1698
1722
|
await this.failureSettlement;
|
|
1699
1723
|
else {
|
|
1700
1724
|
const failures = [];
|
|
1725
|
+
await this.join([this.hostWorkers.settle()], failures);
|
|
1701
1726
|
do {
|
|
1702
1727
|
await this.join(this.pendingWriters(), failures);
|
|
1703
1728
|
} while (this.hasPendingWriters());
|
|
@@ -1710,8 +1735,8 @@ export class SessionRegistry {
|
|
|
1710
1735
|
}
|
|
1711
1736
|
async settleAfterLoss() {
|
|
1712
1737
|
const failures = [];
|
|
1713
|
-
const roots = new Set([...this.entries.values()].map(entry => entry.binding.rootSessionId).concat([...this.processes.liveRoots()]));
|
|
1714
|
-
const pending = [...this.opening.values(), ...this.closes.values(), ...[...roots].map(root => this.processes.settle(root, true))];
|
|
1738
|
+
const roots = new Set([...this.entries.values()].map(entry => entry.binding.rootSessionId).concat(this.hostWorkers.roots(), [...this.processes.liveRoots()]));
|
|
1739
|
+
const pending = [this.hostWorkers.settle(), ...this.opening.values(), ...this.closes.values(), ...[...roots].map(root => this.processes.settle(root, true))];
|
|
1715
1740
|
for (const entry of this.entries.values()) {
|
|
1716
1741
|
pending.push(entry.binding.runtime.session.abort(), ...(entry.disposing ? [entry.disposing] : []), ...(entry.cancelling ? [entry.cancelling] : []), ...(entry.projectionCancellation ? [entry.projectionCancellation] : []));
|
|
1717
1742
|
if (entry.host)
|