@telora/daemon 0.18.70 → 0.18.78

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.
Files changed (53) hide show
  1. package/build-info.json +5 -3
  2. package/dist/completion/team-completion.d.ts.map +1 -1
  3. package/dist/completion/team-completion.js +6 -0
  4. package/dist/completion/team-completion.js.map +1 -1
  5. package/dist/directive/close-loop-stage.d.ts.map +1 -1
  6. package/dist/directive/close-loop-stage.js +4 -0
  7. package/dist/directive/close-loop-stage.js.map +1 -1
  8. package/dist/directive/directive-dispatch.d.ts +2 -2
  9. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  10. package/dist/directive/directive-dispatch.js +7 -5
  11. package/dist/directive/directive-dispatch.js.map +1 -1
  12. package/dist/directive/directive-queue.d.ts +15 -0
  13. package/dist/directive/directive-queue.d.ts.map +1 -1
  14. package/dist/directive/directive-queue.js.map +1 -1
  15. package/dist/directive-executor.d.ts.map +1 -1
  16. package/dist/directive-executor.js +6 -1
  17. package/dist/directive-executor.js.map +1 -1
  18. package/dist/focus-executor.d.ts +46 -8
  19. package/dist/focus-executor.d.ts.map +1 -1
  20. package/dist/focus-executor.js +149 -63
  21. package/dist/focus-executor.js.map +1 -1
  22. package/dist/host-control/capability.d.ts.map +1 -1
  23. package/dist/host-control/capability.js +24 -7
  24. package/dist/host-control/capability.js.map +1 -1
  25. package/dist/host-control/catalog.d.ts +27 -0
  26. package/dist/host-control/catalog.d.ts.map +1 -1
  27. package/dist/host-control/catalog.js +82 -8
  28. package/dist/host-control/catalog.js.map +1 -1
  29. package/dist/host-control/index.d.ts +2 -0
  30. package/dist/host-control/index.d.ts.map +1 -1
  31. package/dist/host-control/index.js +1 -0
  32. package/dist/host-control/index.js.map +1 -1
  33. package/dist/host-control/load.d.ts +66 -21
  34. package/dist/host-control/load.d.ts.map +1 -1
  35. package/dist/host-control/load.js +84 -23
  36. package/dist/host-control/load.js.map +1 -1
  37. package/dist/host-control/sizing.d.ts +12 -0
  38. package/dist/host-control/sizing.d.ts.map +1 -1
  39. package/dist/host-control/sizing.js +54 -5
  40. package/dist/host-control/sizing.js.map +1 -1
  41. package/dist/host-control/swap-manager.d.ts +94 -0
  42. package/dist/host-control/swap-manager.d.ts.map +1 -0
  43. package/dist/host-control/swap-manager.js +156 -0
  44. package/dist/host-control/swap-manager.js.map +1 -0
  45. package/dist/model-resolution.d.ts +31 -0
  46. package/dist/model-resolution.d.ts.map +1 -0
  47. package/dist/model-resolution.js +33 -0
  48. package/dist/model-resolution.js.map +1 -0
  49. package/dist/prompt-sections/persona-sections.d.ts +1 -1
  50. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  51. package/dist/prompt-sections/persona-sections.js +22 -1
  52. package/dist/prompt-sections/persona-sections.js.map +1 -1
  53. package/package.json +1 -1
@@ -27,6 +27,18 @@
27
27
  */
28
28
  import { hostGet, hostRootFromBaseUrl } from './client.js';
29
29
  import { DEFAULT_MAX_SEQ_LENGTH } from './load.js';
30
+ /**
31
+ * Timeout (ms) for the sizing reads (`/api/system/hardware`,
32
+ * `/api/models/kv-cache-estimate`). These inherited the generic 5s
33
+ * `HOST_CONTROL_FETCH_TIMEOUT_MS`, but a host that is BUSY cold-loading a model
34
+ * (exactly when a swap sizes the next load) can take longer than 5s to answer a
35
+ * hardware query -- so the read timed out and `resolveSafeLoadOptions` fell back
36
+ * to the fixed 16384 default, reporting sizing "unavailable" on a host that
37
+ * actually exposes it. A tolerant budget removes that false fallback. The read
38
+ * is still best-effort: a genuine miss (endpoint absent / unsupported) returns
39
+ * fast (4xx) and degrades safely to the fixed default.
40
+ */
41
+ export const HOST_CONTROL_SIZING_TIMEOUT_MS = 15_000;
30
42
  /**
31
43
  * The control-surface path (under the host ROOT, not `/v1`) for GPU hardware
32
44
  * info: GPU name + total/used VRAM. Reconcile field names per the runbook.
@@ -130,26 +142,48 @@ const HW_GPU_NAME_KEYS = ['gpu_name', 'gpuName', 'name', 'gpu', 'device_name', '
130
142
  */
131
143
  const HW_VRAM_TOTAL_MB_KEYS = ['vram_total_mb', 'vramTotalMb', 'memory_total_mb', 'total_memory_mb'];
132
144
  const HW_VRAM_TOTAL_BYTES_KEYS = ['vram_total_bytes', 'vram_total', 'memory_total', 'total_memory_bytes'];
145
+ /**
146
+ * Candidate keys for TOTAL VRAM reported in GB (the live Unsloth host shape:
147
+ * `{ gpu: { vram_total_gb: 11.99, vram_free_gb: 11.93 } }`). Converted GB -> MB
148
+ * in `vramMb`. Lowest precedence -- MB and bytes keys win when present.
149
+ */
150
+ const HW_VRAM_TOTAL_GB_KEYS = ['vram_total_gb', 'vramTotalGb', 'memory_total_gb', 'total_memory_gb'];
133
151
  /** Candidate keys for USED VRAM in MB / bytes (same MB-preferred convention). */
134
152
  const HW_VRAM_USED_MB_KEYS = ['vram_used_mb', 'vramUsedMb', 'memory_used_mb', 'used_memory_mb'];
135
153
  const HW_VRAM_USED_BYTES_KEYS = ['vram_used_bytes', 'vram_used', 'memory_used', 'used_memory_bytes'];
154
+ const HW_VRAM_USED_GB_KEYS = ['vram_used_gb', 'vramUsedGb', 'memory_used_gb', 'used_memory_gb'];
155
+ /**
156
+ * Candidate keys for FREE VRAM in GB / MB / bytes. Some hosts (the live Unsloth
157
+ * host) report `free` instead of `used`; `vramMb` derives used = total - free
158
+ * when only free is present. GB converted GB -> MB.
159
+ */
160
+ const HW_VRAM_FREE_GB_KEYS = ['vram_free_gb', 'vramFreeGb', 'memory_free_gb', 'free_memory_gb'];
161
+ const HW_VRAM_FREE_MB_KEYS = ['vram_free_mb', 'vramFreeMb', 'memory_free_mb', 'free_memory_mb'];
162
+ const HW_VRAM_FREE_BYTES_KEYS = ['vram_free_bytes', 'vram_free', 'memory_free', 'free_memory_bytes'];
136
163
  /** Bytes -> MB (binary MiB), rounded down so we never overstate available memory. */
137
164
  function bytesToMb(bytes) {
138
165
  return Math.floor(bytes / (1024 * 1024));
139
166
  }
167
+ /** GB -> MB (binary; 1 GiB = 1024 MiB), rounded down to avoid overstating memory. */
168
+ function gbToMb(gb) {
169
+ return Math.floor(gb * 1024);
170
+ }
140
171
  /**
141
172
  * Resolve a VRAM quantity in MB from a payload, preferring an MB-named field and
142
173
  * falling back to a bytes-named field (converted). Some hosts nest VRAM under a
143
174
  * `gpu`/`gpus[0]`/`memory` sub-object; we also probe a single nested object.
144
175
  * Returns null when nothing usable is present.
145
176
  */
146
- function vramMb(obj, mbKeys, bytesKeys) {
177
+ function vramMb(obj, mbKeys, bytesKeys, gbKeys = []) {
147
178
  const mb = firstNumberOrNull(obj, mbKeys);
148
179
  if (mb !== null)
149
180
  return Math.floor(mb);
150
181
  const bytes = firstNumberOrNull(obj, bytesKeys);
151
182
  if (bytes !== null)
152
183
  return bytesToMb(bytes);
184
+ const gb = firstNumberOrNull(obj, gbKeys);
185
+ if (gb !== null)
186
+ return gbToMb(gb);
153
187
  return null;
154
188
  }
155
189
  /**
@@ -187,10 +221,22 @@ export function normalizeHardware(payload) {
187
221
  return { gpuName: null, vramTotalMb: null, vramUsedMb: null };
188
222
  }
189
223
  const obj = flattenHardwarePayload(payload);
224
+ const vramTotalMb = vramMb(obj, HW_VRAM_TOTAL_MB_KEYS, HW_VRAM_TOTAL_BYTES_KEYS, HW_VRAM_TOTAL_GB_KEYS);
225
+ let vramUsedMb = vramMb(obj, HW_VRAM_USED_MB_KEYS, HW_VRAM_USED_BYTES_KEYS, HW_VRAM_USED_GB_KEYS);
226
+ // Some hosts report FREE VRAM instead of USED (the live Unsloth host:
227
+ // `vram_total_gb` + `vram_free_gb`). Derive used = total - free when only free
228
+ // is present, so headroom sizing works instead of falling back to the fixed
229
+ // default. Clamp at >= 0 so a slightly-stale free reading can't go negative.
230
+ if (vramUsedMb === null && vramTotalMb !== null) {
231
+ const vramFreeMb = vramMb(obj, HW_VRAM_FREE_MB_KEYS, HW_VRAM_FREE_BYTES_KEYS, HW_VRAM_FREE_GB_KEYS);
232
+ if (vramFreeMb !== null) {
233
+ vramUsedMb = Math.max(0, vramTotalMb - vramFreeMb);
234
+ }
235
+ }
190
236
  return {
191
237
  gpuName: firstStringOrNull(obj, HW_GPU_NAME_KEYS),
192
- vramTotalMb: vramMb(obj, HW_VRAM_TOTAL_MB_KEYS, HW_VRAM_TOTAL_BYTES_KEYS),
193
- vramUsedMb: vramMb(obj, HW_VRAM_USED_MB_KEYS, HW_VRAM_USED_BYTES_KEYS),
238
+ vramTotalMb,
239
+ vramUsedMb,
194
240
  };
195
241
  }
196
242
  /** Candidate keys for the predicted KV-cache footprint (MB) on an estimate payload. */
@@ -237,7 +283,10 @@ export function normalizeKvCacheEstimate(payload) {
237
283
  */
238
284
  export async function getHardware(baseUrl, apiKey) {
239
285
  const root = hostRootFromBaseUrl(baseUrl);
240
- const payload = await hostGet(`${root}${HOST_CONTROL_HARDWARE_PATH}`, { apiKey });
286
+ const payload = await hostGet(`${root}${HOST_CONTROL_HARDWARE_PATH}`, {
287
+ apiKey,
288
+ timeoutMs: HOST_CONTROL_SIZING_TIMEOUT_MS,
289
+ });
241
290
  return normalizeHardware(payload);
242
291
  }
243
292
  /**
@@ -261,7 +310,7 @@ export async function getKvCacheEstimate(baseUrl, params, apiKey) {
261
310
  qs.set('model_path', params.modelPath);
262
311
  if (params.cacheTypeKv)
263
312
  qs.set('cache_type_kv', params.cacheTypeKv);
264
- const payload = await hostGet(`${root}${HOST_CONTROL_KV_CACHE_PATH}?${qs.toString()}`, { apiKey });
313
+ const payload = await hostGet(`${root}${HOST_CONTROL_KV_CACHE_PATH}?${qs.toString()}`, { apiKey, timeoutMs: HOST_CONTROL_SIZING_TIMEOUT_MS });
265
314
  return normalizeKvCacheEstimate(payload);
266
315
  }
267
316
  // ── The pure heart: computeSafeMaxSeqLength ──────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"sizing.js","sourceRoot":"","sources":["../../src/host-control/sizing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sizing.js","sourceRoot":"","sources":["../../src/host-control/sizing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Per-host model-swap coordination (Local model host control, deliveries #3 + #4).
3
+ *
4
+ * Two problems, one per-host (keyed by host ROOT) registry:
5
+ *
6
+ * #3 OFF THE POLL-CRITICAL PATH: a cold load (POST /v1/load + the readiness
7
+ * poll) can take up to the 180s load budget. It used to be awaited INLINE in
8
+ * `spawnFocusTeam`, which is awaited serially in `processReadyFocuses` -- so
9
+ * one focus's cold load stalled the entire 30s poll tick for every other
10
+ * focus and product. Here the load runs in a DETACHED promise; the poll loop
11
+ * only OBSERVES its phase:
12
+ * - 'loading' -> defer THIS focus's spawn, retry next tick;
13
+ * - 'ready' -> the model is resident, spawn now;
14
+ * - 'failed' -> skip_load (the caller marks the session + re-attempts).
15
+ * The serial loop never awaits the load, so a slow load on focus A does not
16
+ * delay focus B's spawn decision.
17
+ *
18
+ * #4 RESIDENCY LOCK: the swap is single-GPU (a load evicts the prior resident).
19
+ * While focus A's pass owns a host, a second focus B targeting the SAME host
20
+ * must not start a swap that would evict A's still-running model. The owning
21
+ * focus is recorded per host; B is told 'busy_other' (defer) until A's pass
22
+ * tears down and `releaseHostByFocus` frees the host. A stale owner whose
23
+ * team is already gone (crash / missed release) is reclaimed automatically.
24
+ *
25
+ * In-memory + process-local by design: a swap is a property of THIS daemon's
26
+ * live spawn loop, and the registry is reconstructed naturally as focuses are
27
+ * re-observed after a restart.
28
+ */
29
+ /** The phase of a detached load for a host's target model. */
30
+ export type HostSwapPhase = 'loading' | 'ready' | 'failed';
31
+ /** What `observeHostSwap` reports to the spawn path for the current tick. */
32
+ export type HostSwapObservation = {
33
+ status: 'ready';
34
+ } | {
35
+ status: 'loading';
36
+ } | {
37
+ status: 'busy_other';
38
+ ownerFocusId: string;
39
+ } | {
40
+ status: 'failed';
41
+ error: string;
42
+ };
43
+ /** Derive the registry key (host root) from a stored baseUrl. */
44
+ export declare function hostSwapKey(baseUrl: string): string;
45
+ /**
46
+ * Observe (and, when needed, START) the detached swap for `targetModel` on
47
+ * `root`, on behalf of `focusId`. NEVER blocks on the load:
48
+ *
49
+ * - a DIFFERENT, still-active focus owns the host -> 'busy_other' (defer; #4);
50
+ * - a stale owner (team gone) is reclaimed, then this focus starts fresh;
51
+ * - this focus's own load is in flight -> 'loading';
52
+ * - this focus's own load is ready for this target -> 'ready';
53
+ * - this focus's own load failed -> 'failed' (entry cleared);
54
+ * - no usable entry -> start the detached load,
55
+ * record ownership, return 'loading'.
56
+ *
57
+ * `runLoad` performs the actual sizing + `ensureLoaded`; it is invoked DETACHED
58
+ * (not awaited) and its settle transitions the entry to 'ready' / 'failed'.
59
+ * `isFocusActive` lets the manager reclaim a residency held by a focus whose
60
+ * team no longer exists. `extractError` maps a thrown value to an address-free
61
+ * message (defaults to `.dbMessage` then `.message`).
62
+ */
63
+ export declare function observeHostSwap(args: {
64
+ root: string;
65
+ targetModel: string;
66
+ focusId: string;
67
+ runLoad: () => Promise<void>;
68
+ isFocusActive: (focusId: string) => boolean;
69
+ extractError?: (err: unknown) => string;
70
+ }): HostSwapObservation;
71
+ /**
72
+ * Claim residency of a host whose target model is ALREADY resident + ready
73
+ * (the fast path that skips the detached load). Without this, a focus that
74
+ * spawns against a pre-loaded model would hold NO residency lock, and a second
75
+ * focus could start a swap that evicts the model mid-run (#4). Returns
76
+ * 'busy_other' when a DIFFERENT, still-active focus already owns the host
77
+ * (the caller defers); otherwise records this focus as the owner with phase
78
+ * 'ready' and returns 'ready'. A stale owner (team gone) is reclaimed.
79
+ */
80
+ export declare function claimResidentHost(args: {
81
+ root: string;
82
+ targetModel: string;
83
+ focusId: string;
84
+ isFocusActive: (focusId: string) => boolean;
85
+ }): HostSwapObservation;
86
+ /**
87
+ * Release the host owned by `focusId` (called on team teardown). Frees the
88
+ * residency lock so another focus targeting that host can swap. No-op when the
89
+ * focus owns no host.
90
+ */
91
+ export declare function releaseHostByFocus(focusId: string): void;
92
+ /** Test-only: clear the per-host swap registry between cases. */
93
+ export declare function __resetHostSwapManager(): void;
94
+ //# sourceMappingURL=swap-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap-manager.d.ts","sourceRoot":"","sources":["../../src/host-control/swap-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,8DAA8D;AAC9D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAY3D,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAOxC,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAQD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;CACzC,GAAG,mBAAmB,CA8CtB;AAWD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C,GAAG,mBAAmB,CAYtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMxD;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Per-host model-swap coordination (Local model host control, deliveries #3 + #4).
3
+ *
4
+ * Two problems, one per-host (keyed by host ROOT) registry:
5
+ *
6
+ * #3 OFF THE POLL-CRITICAL PATH: a cold load (POST /v1/load + the readiness
7
+ * poll) can take up to the 180s load budget. It used to be awaited INLINE in
8
+ * `spawnFocusTeam`, which is awaited serially in `processReadyFocuses` -- so
9
+ * one focus's cold load stalled the entire 30s poll tick for every other
10
+ * focus and product. Here the load runs in a DETACHED promise; the poll loop
11
+ * only OBSERVES its phase:
12
+ * - 'loading' -> defer THIS focus's spawn, retry next tick;
13
+ * - 'ready' -> the model is resident, spawn now;
14
+ * - 'failed' -> skip_load (the caller marks the session + re-attempts).
15
+ * The serial loop never awaits the load, so a slow load on focus A does not
16
+ * delay focus B's spawn decision.
17
+ *
18
+ * #4 RESIDENCY LOCK: the swap is single-GPU (a load evicts the prior resident).
19
+ * While focus A's pass owns a host, a second focus B targeting the SAME host
20
+ * must not start a swap that would evict A's still-running model. The owning
21
+ * focus is recorded per host; B is told 'busy_other' (defer) until A's pass
22
+ * tears down and `releaseHostByFocus` frees the host. A stale owner whose
23
+ * team is already gone (crash / missed release) is reclaimed automatically.
24
+ *
25
+ * In-memory + process-local by design: a swap is a property of THIS daemon's
26
+ * live spawn loop, and the registry is reconstructed naturally as focuses are
27
+ * re-observed after a restart.
28
+ */
29
+ import { hostRootFromBaseUrl } from './client.js';
30
+ /** root -> entry. The single source of truth for who owns each host + load phase. */
31
+ const byRoot = new Map();
32
+ /** focusId -> root, so a team teardown can release by focus without the baseUrl. */
33
+ const rootByFocus = new Map();
34
+ /** Derive the registry key (host root) from a stored baseUrl. */
35
+ export function hostSwapKey(baseUrl) {
36
+ return hostRootFromBaseUrl(baseUrl);
37
+ }
38
+ function clearEntry(root) {
39
+ const entry = byRoot.get(root);
40
+ if (entry)
41
+ rootByFocus.delete(entry.ownerFocusId);
42
+ byRoot.delete(root);
43
+ }
44
+ /**
45
+ * Observe (and, when needed, START) the detached swap for `targetModel` on
46
+ * `root`, on behalf of `focusId`. NEVER blocks on the load:
47
+ *
48
+ * - a DIFFERENT, still-active focus owns the host -> 'busy_other' (defer; #4);
49
+ * - a stale owner (team gone) is reclaimed, then this focus starts fresh;
50
+ * - this focus's own load is in flight -> 'loading';
51
+ * - this focus's own load is ready for this target -> 'ready';
52
+ * - this focus's own load failed -> 'failed' (entry cleared);
53
+ * - no usable entry -> start the detached load,
54
+ * record ownership, return 'loading'.
55
+ *
56
+ * `runLoad` performs the actual sizing + `ensureLoaded`; it is invoked DETACHED
57
+ * (not awaited) and its settle transitions the entry to 'ready' / 'failed'.
58
+ * `isFocusActive` lets the manager reclaim a residency held by a focus whose
59
+ * team no longer exists. `extractError` maps a thrown value to an address-free
60
+ * message (defaults to `.dbMessage` then `.message`).
61
+ */
62
+ export function observeHostSwap(args) {
63
+ const { root, targetModel, focusId, runLoad, isFocusActive } = args;
64
+ const extractError = args.extractError ?? defaultExtractError;
65
+ const existing = byRoot.get(root);
66
+ if (existing) {
67
+ if (existing.ownerFocusId !== focusId) {
68
+ // Residency lock: another focus owns this host.
69
+ if (isFocusActive(existing.ownerFocusId)) {
70
+ return { status: 'busy_other', ownerFocusId: existing.ownerFocusId };
71
+ }
72
+ // Owner's team is gone (crash / missed release) -> reclaim and start fresh.
73
+ clearEntry(root);
74
+ }
75
+ else if (existing.targetModel === targetModel) {
76
+ // Same focus re-observing its own in-flight / settled swap.
77
+ if (existing.phase === 'failed') {
78
+ const error = existing.error ?? 'host swap failed';
79
+ clearEntry(root);
80
+ return { status: 'failed', error };
81
+ }
82
+ return { status: existing.phase === 'ready' ? 'ready' : 'loading' };
83
+ }
84
+ else {
85
+ // Same focus but a DIFFERENT target than the in-flight one -> supersede.
86
+ clearEntry(root);
87
+ }
88
+ }
89
+ // No usable entry -> start a detached load and record ownership.
90
+ const entry = { targetModel, ownerFocusId: focusId, phase: 'loading' };
91
+ byRoot.set(root, entry);
92
+ rootByFocus.set(focusId, root);
93
+ void runLoad().then(() => {
94
+ const current = byRoot.get(root);
95
+ // Only transition if THIS load is still the live entry (not superseded).
96
+ if (current === entry)
97
+ current.phase = 'ready';
98
+ }, (err) => {
99
+ const current = byRoot.get(root);
100
+ if (current === entry) {
101
+ current.phase = 'failed';
102
+ current.error = extractError(err);
103
+ }
104
+ });
105
+ return { status: 'loading' };
106
+ }
107
+ function defaultExtractError(err) {
108
+ if (err && typeof err === 'object') {
109
+ const e = err;
110
+ if (typeof e.dbMessage === 'string' && e.dbMessage)
111
+ return e.dbMessage;
112
+ if (typeof e.message === 'string' && e.message)
113
+ return e.message;
114
+ }
115
+ return 'host swap failed';
116
+ }
117
+ /**
118
+ * Claim residency of a host whose target model is ALREADY resident + ready
119
+ * (the fast path that skips the detached load). Without this, a focus that
120
+ * spawns against a pre-loaded model would hold NO residency lock, and a second
121
+ * focus could start a swap that evicts the model mid-run (#4). Returns
122
+ * 'busy_other' when a DIFFERENT, still-active focus already owns the host
123
+ * (the caller defers); otherwise records this focus as the owner with phase
124
+ * 'ready' and returns 'ready'. A stale owner (team gone) is reclaimed.
125
+ */
126
+ export function claimResidentHost(args) {
127
+ const { root, targetModel, focusId, isFocusActive } = args;
128
+ const existing = byRoot.get(root);
129
+ if (existing && existing.ownerFocusId !== focusId) {
130
+ if (isFocusActive(existing.ownerFocusId)) {
131
+ return { status: 'busy_other', ownerFocusId: existing.ownerFocusId };
132
+ }
133
+ clearEntry(root); // stale owner -> reclaim
134
+ }
135
+ byRoot.set(root, { targetModel, ownerFocusId: focusId, phase: 'ready' });
136
+ rootByFocus.set(focusId, root);
137
+ return { status: 'ready' };
138
+ }
139
+ /**
140
+ * Release the host owned by `focusId` (called on team teardown). Frees the
141
+ * residency lock so another focus targeting that host can swap. No-op when the
142
+ * focus owns no host.
143
+ */
144
+ export function releaseHostByFocus(focusId) {
145
+ const root = rootByFocus.get(focusId);
146
+ if (root !== undefined) {
147
+ byRoot.delete(root);
148
+ rootByFocus.delete(focusId);
149
+ }
150
+ }
151
+ /** Test-only: clear the per-host swap registry between cases. */
152
+ export function __resetHostSwapManager() {
153
+ byRoot.clear();
154
+ rootByFocus.clear();
155
+ }
156
+ //# sourceMappingURL=swap-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap-manager.js","sourceRoot":"","sources":["../../src/host-control/swap-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Unified team-model precedence.
3
+ *
4
+ * ONE rule decides which model a focus team launches under, applied
5
+ * identically at initial spawn AND at stage respawn:
6
+ *
7
+ * focus override (pipeline_config.model, if set)
8
+ * -> stage directive model
9
+ * -> CLI default (null = let the backend pick)
10
+ *
11
+ * The workflow stage's directive model is the source of truth for "how this
12
+ * stage thinks"; the focus selector is an explicit opt-in OVERRIDE. A null
13
+ * focus override means "inherit the per-stage workflow model" -- the focus is
14
+ * NOT pinning anything, so the stage model wins. A null stage model in turn
15
+ * falls through to the CLI default.
16
+ *
17
+ * Engine-compat filtering (never pass a Claude id to a cloud Codex engine,
18
+ * route a local-Codex pass to its selected model) is applied by the callers
19
+ * BEFORE the two inputs reach this helper -- see focus-executor's
20
+ * selectPipelineModelForSpawn / selectDirectiveModelForSpawn, which null out
21
+ * an input the resolved backend cannot run. This helper is the single,
22
+ * pure precedence step they all funnel through, so spawn and respawn can
23
+ * never diverge on ordering.
24
+ */
25
+ /**
26
+ * Resolve the effective team model from the focus override and the stage
27
+ * directive model, both already filtered for backend compatibility by the
28
+ * caller. Pure -- the entire precedence contract lives in this one expression.
29
+ */
30
+ export declare function resolveTeamModel(focusOverrideModel: string | null | undefined, stageDirectiveModel: string | null | undefined): string | null;
31
+ //# sourceMappingURL=model-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7C,MAAM,GAAG,IAAI,CAEf"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Unified team-model precedence.
3
+ *
4
+ * ONE rule decides which model a focus team launches under, applied
5
+ * identically at initial spawn AND at stage respawn:
6
+ *
7
+ * focus override (pipeline_config.model, if set)
8
+ * -> stage directive model
9
+ * -> CLI default (null = let the backend pick)
10
+ *
11
+ * The workflow stage's directive model is the source of truth for "how this
12
+ * stage thinks"; the focus selector is an explicit opt-in OVERRIDE. A null
13
+ * focus override means "inherit the per-stage workflow model" -- the focus is
14
+ * NOT pinning anything, so the stage model wins. A null stage model in turn
15
+ * falls through to the CLI default.
16
+ *
17
+ * Engine-compat filtering (never pass a Claude id to a cloud Codex engine,
18
+ * route a local-Codex pass to its selected model) is applied by the callers
19
+ * BEFORE the two inputs reach this helper -- see focus-executor's
20
+ * selectPipelineModelForSpawn / selectDirectiveModelForSpawn, which null out
21
+ * an input the resolved backend cannot run. This helper is the single,
22
+ * pure precedence step they all funnel through, so spawn and respawn can
23
+ * never diverge on ordering.
24
+ */
25
+ /**
26
+ * Resolve the effective team model from the focus override and the stage
27
+ * directive model, both already filtered for backend compatibility by the
28
+ * caller. Pure -- the entire precedence contract lives in this one expression.
29
+ */
30
+ export function resolveTeamModel(focusOverrideModel, stageDirectiveModel) {
31
+ return focusOverrideModel ?? stageDirectiveModel ?? null;
32
+ }
33
+ //# sourceMappingURL=model-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,kBAA6C,EAC7C,mBAA8C;IAE9C,OAAO,kBAAkB,IAAI,mBAAmB,IAAI,IAAI,CAAC;AAC3D,CAAC"}
@@ -35,7 +35,7 @@ export declare function buildRemediationDirectiveSection(reviewFiledOpenCount: n
35
35
  * `summary`, `references`, `REQUIRED`, and `terminal` all appear verbatim so the
36
36
  * obligation is grep-verifiable by the enforcement tests and reviewers.
37
37
  */
38
- export declare function buildReviewOutcomeStampingSection(): string[];
38
+ export declare function buildReviewOutcomeStampingSection(agentSessionId?: string): string[];
39
39
  /**
40
40
  * The marker we look for in the assembled stage-directive context to know a
41
41
  * review report is being rendered into the prompt. The focus.last_review_report
@@ -1 +1 @@
1
- {"version":3,"file":"persona-sections.d.ts","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,MAAM,GAC3B,MAAM,EAAE,CAqBV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,EAAE,CA8B5D;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CA8BtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,CAuDxD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,MAAM,EAAE,CAqCV;AAMD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAsDvE"}
1
+ {"version":3,"file":"persona-sections.d.ts","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,MAAM,GAC3B,MAAM,EAAE,CAqBV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAmDnF;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CA8BtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,CAuDxD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,MAAM,EAAE,CAqCV;AAMD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAsDvE"}
@@ -56,8 +56,26 @@ export function buildRemediationDirectiveSection(reviewFiledOpenCount) {
56
56
  * `summary`, `references`, `REQUIRED`, and `terminal` all appear verbatim so the
57
57
  * obligation is grep-verifiable by the enforcement tests and reviewers.
58
58
  */
59
- export function buildReviewOutcomeStampingSection() {
59
+ export function buildReviewOutcomeStampingSection(agentSessionId) {
60
+ // When the daemon hands us the freshly-minted review session id at spawn, emit
61
+ // it verbatim so the review agent stamps its outcome with the exact id
62
+ // product-api validates against -- no reverse-engineering it from the Claude
63
+ // --resume session id. Omitted (no line) when no id is supplied.
64
+ const sessionIdLines = agentSessionId
65
+ ? [
66
+ '## YOUR Telora Review Session ID',
67
+ '',
68
+ `Your Telora \`agent_sessions.id\` for this review pass is: \`${agentSessionId}\``,
69
+ '',
70
+ 'Pass this EXACT value as `agentSessionId` to `focus_review_complete`. It is',
71
+ 'already the active review session for this focus -- do NOT look it up, derive',
72
+ 'it from your Claude session id, or search for "the active review session".',
73
+ 'Use the id above directly.',
74
+ '',
75
+ ]
76
+ : [];
60
77
  return [
78
+ ...sessionIdLines,
61
79
  '## REQUIRED: Stamp the Review Outcome Before You Exit',
62
80
  '',
63
81
  'Your review is NOT complete until you stamp an explicit, machine-readable',
@@ -67,6 +85,9 @@ export function buildReviewOutcomeStampingSection() {
67
85
  'As the FINAL step of your review pass you MUST call `focus_review_complete`',
68
86
  '(the `telora_product_focus` tool with `action: "review_complete"`) with:',
69
87
  '',
88
+ ...(agentSessionId
89
+ ? [`- \`agentSessionId\`: \`${agentSessionId}\` (your Telora review session id, shown above).`]
90
+ : []),
70
91
  '- `outcome`: exactly one of `approved` or `gaps_found`.',
71
92
  ' - `approved` -- the diff meets the acceptance criteria for every delivery.',
72
93
  ' A non-blocking, deferrable triage note (low priority, explicitly safe to',
@@ -1 +1 @@
1
- {"version":3,"file":"persona-sections.js","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persona-sections.js","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.18.70",
3
+ "version": "0.18.78",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {