@telora/daemon 0.18.77 → 0.18.79
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/build-info.json +4 -3
- package/dist/backends/resolve.d.ts +19 -5
- package/dist/backends/resolve.d.ts.map +1 -1
- package/dist/backends/resolve.js +23 -37
- package/dist/backends/resolve.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +2 -0
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-queue.d.ts +10 -0
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/focus-executor.d.ts +57 -5
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +124 -21
- package/dist/focus-executor.js.map +1 -1
- package/dist/host-control/catalog.d.ts +5 -0
- package/dist/host-control/catalog.d.ts.map +1 -1
- package/dist/host-control/catalog.js +22 -1
- package/dist/host-control/catalog.js.map +1 -1
- package/dist/host-control/index.d.ts +2 -2
- package/dist/host-control/index.d.ts.map +1 -1
- package/dist/host-control/index.js +1 -1
- package/dist/host-control/index.js.map +1 -1
- package/dist/host-control/load.d.ts +14 -5
- package/dist/host-control/load.d.ts.map +1 -1
- package/dist/host-control/load.js +20 -6
- package/dist/host-control/load.js.map +1 -1
- package/dist/host-control/sizing.d.ts.map +1 -1
- package/dist/host-control/sizing.js +37 -3
- package/dist/host-control/sizing.js.map +1 -1
- package/dist/host-control/swap-manager.d.ts +38 -0
- package/dist/host-control/swap-manager.d.ts.map +1 -1
- package/dist/host-control/swap-manager.js +60 -0
- package/dist/host-control/swap-manager.js.map +1 -1
- package/dist/model-resolution.d.ts +60 -18
- package/dist/model-resolution.d.ts.map +1 -1
- package/dist/model-resolution.js +75 -19
- package/dist/model-resolution.js.map +1 -1
- package/dist/queries/local-models.d.ts +10 -0
- package/dist/queries/local-models.d.ts.map +1 -1
- package/dist/queries/local-models.js +2 -0
- package/dist/queries/local-models.js.map +1 -1
- package/dist/queries/schemas.d.ts +4 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +5 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/types/workflow.d.ts +13 -0
- package/dist/types/workflow.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -99,11 +99,20 @@ export declare function unloadModel(baseUrl: string, apiKey?: string | null, unl
|
|
|
99
99
|
/** Read current host status (`GET /v1/status`), normalized to a typed shape. */
|
|
100
100
|
export declare function getStatus(baseUrl: string, apiKey?: string | null): Promise<HostStatus>;
|
|
101
101
|
/**
|
|
102
|
-
* Resolve a chosen local_models `model` id to the host's `
|
|
103
|
-
* the loadable catalog (D1) and matching by id.
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
102
|
+
* Resolve a chosen local_models `model` id to the host's `/v1/load` target by
|
|
103
|
+
* reading the loadable catalog (D1) and matching by id.
|
|
104
|
+
*
|
|
105
|
+
* - A matching entry that carries a real `modelPath` -> that path (the original
|
|
106
|
+
* contract; a llama.cpp-family host serving an on-disk gguf path).
|
|
107
|
+
* - A matching entry with NO usable `modelPath` on a CONTROLLABLE host -> the
|
|
108
|
+
* entry id itself. On the Unsloth control surface the entry id IS the HF repo
|
|
109
|
+
* id, which `/v1/load` accepts as `model_path` (HTTP 200), whereas the entry's
|
|
110
|
+
* `path` is a non-loadable HF-cache snapshot dir (dropped to null in
|
|
111
|
+
* `normalizeLocalCatalog`). Falling back to the id is what lets the swap load.
|
|
112
|
+
* - No match, or a path-less match on the `/v1/models` FLOOR (non-controllable)
|
|
113
|
+
* host -> null. On the floor the id is only the loaded model name, never a
|
|
114
|
+
* load target, so the caller still treats null as "cannot load" and skips the
|
|
115
|
+
* swap exactly as before.
|
|
107
116
|
*/
|
|
108
117
|
export declare function resolveModelPath(baseUrl: string, modelId: string, apiKey?: string | null): Promise<string | null>;
|
|
109
118
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/host-control/load.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAc,YAAY,EAAE,MAAM,YAAY,CAAC;AAExF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,SAAU,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iCAAiC,SAAqC,CAAC;AAEpF,8EAA8E;AAC9E,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAExD,mFAAmF;AACnF,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AAoCvF;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CA4B5D;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,GAAE,MAA0C,GACxD,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,eAAe,GAAE,MAA0C,GAC1D,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,gFAAgF;AAChF,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAG5F;AAED
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/host-control/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -177,16 +177,30 @@ export async function getStatus(baseUrl, apiKey) {
|
|
|
177
177
|
return normalizeStatus(payload);
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
|
-
* Resolve a chosen local_models `model` id to the host's `
|
|
181
|
-
* the loadable catalog (D1) and matching by id.
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
180
|
+
* Resolve a chosen local_models `model` id to the host's `/v1/load` target by
|
|
181
|
+
* reading the loadable catalog (D1) and matching by id.
|
|
182
|
+
*
|
|
183
|
+
* - A matching entry that carries a real `modelPath` -> that path (the original
|
|
184
|
+
* contract; a llama.cpp-family host serving an on-disk gguf path).
|
|
185
|
+
* - A matching entry with NO usable `modelPath` on a CONTROLLABLE host -> the
|
|
186
|
+
* entry id itself. On the Unsloth control surface the entry id IS the HF repo
|
|
187
|
+
* id, which `/v1/load` accepts as `model_path` (HTTP 200), whereas the entry's
|
|
188
|
+
* `path` is a non-loadable HF-cache snapshot dir (dropped to null in
|
|
189
|
+
* `normalizeLocalCatalog`). Falling back to the id is what lets the swap load.
|
|
190
|
+
* - No match, or a path-less match on the `/v1/models` FLOOR (non-controllable)
|
|
191
|
+
* host -> null. On the floor the id is only the loaded model name, never a
|
|
192
|
+
* load target, so the caller still treats null as "cannot load" and skips the
|
|
193
|
+
* swap exactly as before.
|
|
185
194
|
*/
|
|
186
195
|
export async function resolveModelPath(baseUrl, modelId, apiKey) {
|
|
187
196
|
const catalog = await readLoadableCatalog(baseUrl, apiKey);
|
|
188
197
|
const match = catalog.models.find((m) => m.id === modelId);
|
|
189
|
-
|
|
198
|
+
if (!match)
|
|
199
|
+
return null;
|
|
200
|
+
if (match.modelPath)
|
|
201
|
+
return match.modelPath;
|
|
202
|
+
// Path-less entry: fall back to the repo id only when the host is controllable.
|
|
203
|
+
return catalog.controllable ? match.id : null;
|
|
190
204
|
}
|
|
191
205
|
/**
|
|
192
206
|
* Strip a single leading `<org>/` segment from a model id. Hosts disagree on id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/host-control/load.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/host-control/load.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,kCAAkC,CAAC;AAEpF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,CAAC;AAExD,mFAAmF;AACnF,MAAM,CAAC,MAAM,+BAA+B,GAAG,uCAAuC,CAAC;AAEvF;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe,EAAE,OAAe;IAClD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;AACpD,CAAC;AAED,oFAAoF;AACpF,SAAS,iBAAiB,CAAC,GAA4B,EAAE,IAAuB;IAC9E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAE/F,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAEhE;;;;GAIG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5F;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,GAAG,GAAG,OAAkC,CAAC;IAE/C,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAEjE,sEAAsE;IACtE,wEAAwE;IACxE,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC;gBAAE,KAAK,GAAG,IAAI,CAAC;YACpB,+DAA+D;YAC/D,MAAM;QACR,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACtE,KAAK,GAAG,IAAI,CAAC;YACb,MAAM;QACR,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAe,EACf,MAAuB,EACvB,MAAsB,EACtB,gBAAwB,iCAAiC;IAEzD,MAAM,IAAI,GAA4B;QACpC,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,cAAc,EAAE,MAAM,CAAC,YAAY;KACpC,CAAC;IACF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9D,MAAM,QAAQ,CAAU,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,IAAI,EAAE;QACzE,MAAM;QACN,SAAS,EAAE,aAAa;KACzB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,MAAsB,EACtB,kBAA0B,iCAAiC;IAE3D,MAAM,QAAQ,CAAU,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE,EAAE,EAAE;QACzE,MAAM;QACN,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,MAAsB;IACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAU,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAClG,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,OAAe,EACf,MAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAC5C,gFAAgF;IAChF,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC5C,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,OAAO,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAC,KAG1B;IACC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClC,IAAI,MAAkB,CAAC;IACvB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QACvE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,GAAG,iBAAiB,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAgCD,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,OAAe,EACf,OAA4B,EAAE,EAC9B,MAAsB;IAEtB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACjE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,kCAAkC,CAAC;IACjF,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,kCAAkC,CAAC;IACjF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,iCAAiC,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC1B,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;QAC/D,MAAM,EAAE,OAAO;KAChB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC1C,6EAA6E;QAC7E,iEAAiE;QACjE,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,IAAI,gBAAgB,CACxB,oCAAoC,OAAO,GAAG,EAC9C,8BAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,CACb,OAAO,EACP;QACE,SAAS;QACT,YAAY;QACZ,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,EACD,MAAM,EACN,aAAa,CACd,CAAC;IAEF,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC;IACxC,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,8EAA8E;QAC9E,4EAA4E;QAC5E,uEAAuE;QACvE,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClG,OAAO;QACT,CAAC;QACD,IAAI,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,gBAAgB,CACxB,UAAU,OAAO,gCAAgC,cAAc,IAAI,EACnE,+BAA+B,CAChC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sizing.d.ts","sourceRoot":"","sources":["../../src/host-control/sizing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1H;;;GAGG;AACH,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,kCAAkC,CAAC;AAE1E;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"sizing.d.ts","sourceRoot":"","sources":["../../src/host-control/sizing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1H;;;GAGG;AACH,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,kCAAkC,CAAC;AAE1E;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAiH7C;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAsBhE;AASD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAmB1E;AAID;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAOhG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,eAAe,CAAC,CAY1B;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAsEhF;AAID;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,GAAE,mBAAwB,EAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC,CAyDD"}
|
|
@@ -142,26 +142,48 @@ const HW_GPU_NAME_KEYS = ['gpu_name', 'gpuName', 'name', 'gpu', 'device_name', '
|
|
|
142
142
|
*/
|
|
143
143
|
const HW_VRAM_TOTAL_MB_KEYS = ['vram_total_mb', 'vramTotalMb', 'memory_total_mb', 'total_memory_mb'];
|
|
144
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'];
|
|
145
151
|
/** Candidate keys for USED VRAM in MB / bytes (same MB-preferred convention). */
|
|
146
152
|
const HW_VRAM_USED_MB_KEYS = ['vram_used_mb', 'vramUsedMb', 'memory_used_mb', 'used_memory_mb'];
|
|
147
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'];
|
|
148
163
|
/** Bytes -> MB (binary MiB), rounded down so we never overstate available memory. */
|
|
149
164
|
function bytesToMb(bytes) {
|
|
150
165
|
return Math.floor(bytes / (1024 * 1024));
|
|
151
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
|
+
}
|
|
152
171
|
/**
|
|
153
172
|
* Resolve a VRAM quantity in MB from a payload, preferring an MB-named field and
|
|
154
173
|
* falling back to a bytes-named field (converted). Some hosts nest VRAM under a
|
|
155
174
|
* `gpu`/`gpus[0]`/`memory` sub-object; we also probe a single nested object.
|
|
156
175
|
* Returns null when nothing usable is present.
|
|
157
176
|
*/
|
|
158
|
-
function vramMb(obj, mbKeys, bytesKeys) {
|
|
177
|
+
function vramMb(obj, mbKeys, bytesKeys, gbKeys = []) {
|
|
159
178
|
const mb = firstNumberOrNull(obj, mbKeys);
|
|
160
179
|
if (mb !== null)
|
|
161
180
|
return Math.floor(mb);
|
|
162
181
|
const bytes = firstNumberOrNull(obj, bytesKeys);
|
|
163
182
|
if (bytes !== null)
|
|
164
183
|
return bytesToMb(bytes);
|
|
184
|
+
const gb = firstNumberOrNull(obj, gbKeys);
|
|
185
|
+
if (gb !== null)
|
|
186
|
+
return gbToMb(gb);
|
|
165
187
|
return null;
|
|
166
188
|
}
|
|
167
189
|
/**
|
|
@@ -199,10 +221,22 @@ export function normalizeHardware(payload) {
|
|
|
199
221
|
return { gpuName: null, vramTotalMb: null, vramUsedMb: null };
|
|
200
222
|
}
|
|
201
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
|
+
}
|
|
202
236
|
return {
|
|
203
237
|
gpuName: firstStringOrNull(obj, HW_GPU_NAME_KEYS),
|
|
204
|
-
vramTotalMb
|
|
205
|
-
vramUsedMb
|
|
238
|
+
vramTotalMb,
|
|
239
|
+
vramUsedMb,
|
|
206
240
|
};
|
|
207
241
|
}
|
|
208
242
|
/** Candidate keys for the predicted KV-cache footprint (MB) on an estimate payload. */
|
|
@@ -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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"}
|
|
@@ -91,4 +91,42 @@ export declare function claimResidentHost(args: {
|
|
|
91
91
|
export declare function releaseHostByFocus(focusId: string): void;
|
|
92
92
|
/** Test-only: clear the per-host swap registry between cases. */
|
|
93
93
|
export declare function __resetHostSwapManager(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Test-only: true when NO host entry references `focusId` (neither as a
|
|
96
|
+
* residency owner nor in the focus->root index). Lets a test assert the registry
|
|
97
|
+
* was fully reset after a failed/timed-out swap + teardown, without reaching into
|
|
98
|
+
* the private maps.
|
|
99
|
+
*/
|
|
100
|
+
export declare function __hostSwapRegistryHasFocus(focusId: string): boolean;
|
|
101
|
+
/** A resolved per-pass local-model binding: which model on which host. */
|
|
102
|
+
export interface HostPassBinding {
|
|
103
|
+
pass: 'coding' | 'review';
|
|
104
|
+
/** The resolved local model id (the host's served model id). */
|
|
105
|
+
modelId: string;
|
|
106
|
+
/** The host base URL the pass routes to (the GPU host). */
|
|
107
|
+
baseUrl: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* PURE: detect two DIFFERENT local models bound to passes that share one GPU
|
|
111
|
+
* host. Groups bindings by host ROOT (so `/v1`-suffixed vs root base URLs for the
|
|
112
|
+
* same host collapse together); a conflict exists when one root carries more than
|
|
113
|
+
* one distinct model id. Returns the offending root + the distinct models, or
|
|
114
|
+
* `{ conflict: false }`. No HTTP, no state -- unit-testable.
|
|
115
|
+
*/
|
|
116
|
+
export declare function detectSingleHostModelConflict(bindings: HostPassBinding[]): {
|
|
117
|
+
conflict: true;
|
|
118
|
+
root: string;
|
|
119
|
+
models: string[];
|
|
120
|
+
} | {
|
|
121
|
+
conflict: false;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Process-level dedupe gate for the single-host conflict surfacing: returns true
|
|
125
|
+
* the FIRST time it is asked for a focus, false on every subsequent call within
|
|
126
|
+
* the run. Keeps a wedged conflict from re-escalating + re-logging every 30s
|
|
127
|
+
* poll while still raising it once so an operator sees it.
|
|
128
|
+
*/
|
|
129
|
+
export declare function shouldSurfaceHostConflictOnce(focusId: string): boolean;
|
|
130
|
+
/** Test-only: clear the per-focus conflict-surfacing dedupe set. */
|
|
131
|
+
export declare function __resetHostConflictSurfacing(): void;
|
|
94
132
|
//# sourceMappingURL=swap-manager.d.ts.map
|
|
@@ -1 +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"}
|
|
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;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMnE;AAWD,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,eAAe,EAAE,GAEzB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAClD;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,CAkBtB;AAKD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAItE;AAED,oEAAoE;AACpE,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
|
|
@@ -153,4 +153,64 @@ export function __resetHostSwapManager() {
|
|
|
153
153
|
byRoot.clear();
|
|
154
154
|
rootByFocus.clear();
|
|
155
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Test-only: true when NO host entry references `focusId` (neither as a
|
|
158
|
+
* residency owner nor in the focus->root index). Lets a test assert the registry
|
|
159
|
+
* was fully reset after a failed/timed-out swap + teardown, without reaching into
|
|
160
|
+
* the private maps.
|
|
161
|
+
*/
|
|
162
|
+
export function __hostSwapRegistryHasFocus(focusId) {
|
|
163
|
+
if (rootByFocus.has(focusId))
|
|
164
|
+
return true;
|
|
165
|
+
for (const entry of byRoot.values()) {
|
|
166
|
+
if (entry.ownerFocusId === focusId)
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* PURE: detect two DIFFERENT local models bound to passes that share one GPU
|
|
173
|
+
* host. Groups bindings by host ROOT (so `/v1`-suffixed vs root base URLs for the
|
|
174
|
+
* same host collapse together); a conflict exists when one root carries more than
|
|
175
|
+
* one distinct model id. Returns the offending root + the distinct models, or
|
|
176
|
+
* `{ conflict: false }`. No HTTP, no state -- unit-testable.
|
|
177
|
+
*/
|
|
178
|
+
export function detectSingleHostModelConflict(bindings) {
|
|
179
|
+
const modelsByRoot = new Map();
|
|
180
|
+
for (const b of bindings) {
|
|
181
|
+
if (!b.modelId || !b.baseUrl)
|
|
182
|
+
continue;
|
|
183
|
+
const root = hostRootFromBaseUrl(b.baseUrl);
|
|
184
|
+
let set = modelsByRoot.get(root);
|
|
185
|
+
if (!set) {
|
|
186
|
+
set = new Set();
|
|
187
|
+
modelsByRoot.set(root, set);
|
|
188
|
+
}
|
|
189
|
+
set.add(b.modelId);
|
|
190
|
+
}
|
|
191
|
+
for (const [root, models] of modelsByRoot) {
|
|
192
|
+
if (models.size > 1) {
|
|
193
|
+
return { conflict: true, root, models: [...models] };
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return { conflict: false };
|
|
197
|
+
}
|
|
198
|
+
/** focusId set -- surfacing is raised at most once per focus per daemon run. */
|
|
199
|
+
const surfacedHostConflictFocuses = new Set();
|
|
200
|
+
/**
|
|
201
|
+
* Process-level dedupe gate for the single-host conflict surfacing: returns true
|
|
202
|
+
* the FIRST time it is asked for a focus, false on every subsequent call within
|
|
203
|
+
* the run. Keeps a wedged conflict from re-escalating + re-logging every 30s
|
|
204
|
+
* poll while still raising it once so an operator sees it.
|
|
205
|
+
*/
|
|
206
|
+
export function shouldSurfaceHostConflictOnce(focusId) {
|
|
207
|
+
if (surfacedHostConflictFocuses.has(focusId))
|
|
208
|
+
return false;
|
|
209
|
+
surfacedHostConflictFocuses.add(focusId);
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
/** Test-only: clear the per-focus conflict-surfacing dedupe set. */
|
|
213
|
+
export function __resetHostConflictSurfacing() {
|
|
214
|
+
surfacedHostConflictFocuses.clear();
|
|
215
|
+
}
|
|
156
216
|
//# sourceMappingURL=swap-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap-manager.js","sourceRoot":"","sources":["../../src/host-control/swap-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"swap-manager.js","sourceRoot":"","sources":["../../src/host-control/swap-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,73 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Unified
|
|
2
|
+
* Unified per-pass model precedence -- the ONE place the daemon decides which
|
|
3
|
+
* model, engine, and local model a focus team launches under, applied
|
|
4
|
+
* identically at initial spawn AND at stage respawn.
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
* identically at initial spawn AND at stage respawn:
|
|
6
|
+
* There are THREE per-pass axes, and all three resolve under the SAME ordering:
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
* -> stage directive model
|
|
9
|
-
* -> CLI default (null = let the backend pick)
|
|
8
|
+
* Focus override -> Workflow stage directive -> Default
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
10
|
+
* - cloud model id (focus pipeline_config.model | directive.model | CLI default/null)
|
|
11
|
+
* - engine (focus engine_override.{pass} | directive.engine | product/org/global default)
|
|
12
|
+
* - local model (focus local_model_overrides.{pass} | directive.localModel | none/null)
|
|
13
|
+
*
|
|
14
|
+
* The workflow stage's directive is the source of truth for "how this stage
|
|
15
|
+
* thinks"; the focus selector is an explicit opt-in OVERRIDE. An unset focus
|
|
16
|
+
* axis means "inherit the per-stage workflow value" -- the focus is NOT pinning
|
|
17
|
+
* anything on that axis, so the stage value wins. An unset stage value in turn
|
|
18
|
+
* falls through to the axis default (null cloud model = let the backend pick;
|
|
19
|
+
* null local model = no local model; engine = product -> org -> global default).
|
|
16
20
|
*
|
|
17
21
|
* Engine-compat filtering (never pass a Claude id to a cloud Codex engine,
|
|
18
22
|
* route a local-Codex pass to its selected model) is applied by the callers
|
|
19
|
-
* BEFORE the
|
|
20
|
-
* selectPipelineModelForSpawn / selectDirectiveModelForSpawn, which null out
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
23
|
+
* BEFORE the inputs reach the cloud-model helper -- see focus-executor's
|
|
24
|
+
* selectPipelineModelForSpawn / selectDirectiveModelForSpawn, which null out an
|
|
25
|
+
* input the resolved backend cannot run. These helpers are the single, pure
|
|
26
|
+
* precedence steps every caller funnels through, so spawn and respawn can never
|
|
27
|
+
* diverge on ordering, and the precedence lives in exactly one module per the
|
|
28
|
+
* no-invisible-cascading principle.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* First non-empty trimmed candidate, or null. The shared precedence primitive:
|
|
32
|
+
* Focus > Workflow > Default is expressed as `firstPresent(focus, workflow,
|
|
33
|
+
* ...defaults)`. A blank/whitespace string is treated as "unset" so an empty
|
|
34
|
+
* override does not shadow the inherited value.
|
|
24
35
|
*/
|
|
36
|
+
export declare function firstPresent(...candidates: Array<string | null | undefined>): string | null;
|
|
25
37
|
/**
|
|
26
|
-
* Resolve the effective
|
|
38
|
+
* Resolve the effective CLOUD MODEL id from the focus override and the stage
|
|
27
39
|
* directive model, both already filtered for backend compatibility by the
|
|
28
|
-
* caller. Pure --
|
|
40
|
+
* caller. Pure -- Focus > Workflow > Default (null = let the backend pick).
|
|
29
41
|
*/
|
|
30
42
|
export declare function resolveTeamModel(focusOverrideModel: string | null | undefined, stageDirectiveModel: string | null | undefined): string | null;
|
|
43
|
+
/**
|
|
44
|
+
* Resolve the effective LOCAL MODEL ref (a `local_models` row id) from the focus
|
|
45
|
+
* per-pass override and the stage directive's localModel, under the SAME
|
|
46
|
+
* Focus > Workflow > Default ordering. Default is null -- no local model means
|
|
47
|
+
* the pass runs on the resolved engine's own default model. Pure + testable.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveLocalModelRefPrecedence(focusOverrideLocalRef: string | null | undefined, stageDirectiveLocalRef: string | null | undefined): string | null;
|
|
50
|
+
/** Where a resolved engine id came from (always logged by the caller). */
|
|
51
|
+
export type EngineResolutionSource = 'focus-override' | 'stage-directive' | 'product-default' | 'org-default' | 'default';
|
|
52
|
+
/**
|
|
53
|
+
* Resolve the ENGINE id (and its source) for a pass under the unified
|
|
54
|
+
* precedence. The engine axis has the same Focus > Workflow head as the other
|
|
55
|
+
* two, then keeps the existing product -> org -> global default tail (so engine
|
|
56
|
+
* behavior is NOT regressed for focuses that never used a stage directive):
|
|
57
|
+
*
|
|
58
|
+
* Focus override -> Workflow stage -> Product default -> Org default -> Global
|
|
59
|
+
*
|
|
60
|
+
* Pure -- the registered-backend guard (never spawn on an unknown engine) stays
|
|
61
|
+
* in the caller (`resolveBackend`), which validates the returned candidate.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveEngineId(args: {
|
|
64
|
+
focusOverrideEngine: string | null | undefined;
|
|
65
|
+
stageDirectiveEngine: string | null | undefined;
|
|
66
|
+
productDefault: string | null | undefined;
|
|
67
|
+
orgDefault: string | null | undefined;
|
|
68
|
+
globalDefault: string;
|
|
69
|
+
}): {
|
|
70
|
+
engineId: string;
|
|
71
|
+
source: EngineResolutionSource;
|
|
72
|
+
};
|
|
31
73
|
//# sourceMappingURL=model-resolution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAC9C,MAAM,GAAG,IAAI,CAOf;AAED;;;;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;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,qBAAqB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChD,sBAAsB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,GAAG,IAAI,CAEf;AAED,0EAA0E;AAC1E,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,SAAS,CAAC;AAEd;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAUvD"}
|
package/dist/model-resolution.js
CHANGED
|
@@ -1,33 +1,89 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Unified
|
|
2
|
+
* Unified per-pass model precedence -- the ONE place the daemon decides which
|
|
3
|
+
* model, engine, and local model a focus team launches under, applied
|
|
4
|
+
* identically at initial spawn AND at stage respawn.
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
* identically at initial spawn AND at stage respawn:
|
|
6
|
+
* There are THREE per-pass axes, and all three resolve under the SAME ordering:
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
* -> stage directive model
|
|
9
|
-
* -> CLI default (null = let the backend pick)
|
|
8
|
+
* Focus override -> Workflow stage directive -> Default
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
10
|
+
* - cloud model id (focus pipeline_config.model | directive.model | CLI default/null)
|
|
11
|
+
* - engine (focus engine_override.{pass} | directive.engine | product/org/global default)
|
|
12
|
+
* - local model (focus local_model_overrides.{pass} | directive.localModel | none/null)
|
|
13
|
+
*
|
|
14
|
+
* The workflow stage's directive is the source of truth for "how this stage
|
|
15
|
+
* thinks"; the focus selector is an explicit opt-in OVERRIDE. An unset focus
|
|
16
|
+
* axis means "inherit the per-stage workflow value" -- the focus is NOT pinning
|
|
17
|
+
* anything on that axis, so the stage value wins. An unset stage value in turn
|
|
18
|
+
* falls through to the axis default (null cloud model = let the backend pick;
|
|
19
|
+
* null local model = no local model; engine = product -> org -> global default).
|
|
16
20
|
*
|
|
17
21
|
* Engine-compat filtering (never pass a Claude id to a cloud Codex engine,
|
|
18
22
|
* route a local-Codex pass to its selected model) is applied by the callers
|
|
19
|
-
* BEFORE the
|
|
20
|
-
* selectPipelineModelForSpawn / selectDirectiveModelForSpawn, which null out
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
23
|
+
* BEFORE the inputs reach the cloud-model helper -- see focus-executor's
|
|
24
|
+
* selectPipelineModelForSpawn / selectDirectiveModelForSpawn, which null out an
|
|
25
|
+
* input the resolved backend cannot run. These helpers are the single, pure
|
|
26
|
+
* precedence steps every caller funnels through, so spawn and respawn can never
|
|
27
|
+
* diverge on ordering, and the precedence lives in exactly one module per the
|
|
28
|
+
* no-invisible-cascading principle.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* First non-empty trimmed candidate, or null. The shared precedence primitive:
|
|
32
|
+
* Focus > Workflow > Default is expressed as `firstPresent(focus, workflow,
|
|
33
|
+
* ...defaults)`. A blank/whitespace string is treated as "unset" so an empty
|
|
34
|
+
* override does not shadow the inherited value.
|
|
24
35
|
*/
|
|
36
|
+
export function firstPresent(...candidates) {
|
|
37
|
+
for (const candidate of candidates) {
|
|
38
|
+
if (typeof candidate !== 'string')
|
|
39
|
+
continue;
|
|
40
|
+
const trimmed = candidate.trim();
|
|
41
|
+
if (trimmed.length > 0)
|
|
42
|
+
return trimmed;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
25
46
|
/**
|
|
26
|
-
* Resolve the effective
|
|
47
|
+
* Resolve the effective CLOUD MODEL id from the focus override and the stage
|
|
27
48
|
* directive model, both already filtered for backend compatibility by the
|
|
28
|
-
* caller. Pure --
|
|
49
|
+
* caller. Pure -- Focus > Workflow > Default (null = let the backend pick).
|
|
29
50
|
*/
|
|
30
51
|
export function resolveTeamModel(focusOverrideModel, stageDirectiveModel) {
|
|
31
|
-
return focusOverrideModel
|
|
52
|
+
return firstPresent(focusOverrideModel, stageDirectiveModel);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolve the effective LOCAL MODEL ref (a `local_models` row id) from the focus
|
|
56
|
+
* per-pass override and the stage directive's localModel, under the SAME
|
|
57
|
+
* Focus > Workflow > Default ordering. Default is null -- no local model means
|
|
58
|
+
* the pass runs on the resolved engine's own default model. Pure + testable.
|
|
59
|
+
*/
|
|
60
|
+
export function resolveLocalModelRefPrecedence(focusOverrideLocalRef, stageDirectiveLocalRef) {
|
|
61
|
+
return firstPresent(focusOverrideLocalRef, stageDirectiveLocalRef);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Resolve the ENGINE id (and its source) for a pass under the unified
|
|
65
|
+
* precedence. The engine axis has the same Focus > Workflow head as the other
|
|
66
|
+
* two, then keeps the existing product -> org -> global default tail (so engine
|
|
67
|
+
* behavior is NOT regressed for focuses that never used a stage directive):
|
|
68
|
+
*
|
|
69
|
+
* Focus override -> Workflow stage -> Product default -> Org default -> Global
|
|
70
|
+
*
|
|
71
|
+
* Pure -- the registered-backend guard (never spawn on an unknown engine) stays
|
|
72
|
+
* in the caller (`resolveBackend`), which validates the returned candidate.
|
|
73
|
+
*/
|
|
74
|
+
export function resolveEngineId(args) {
|
|
75
|
+
const focus = firstPresent(args.focusOverrideEngine);
|
|
76
|
+
if (focus)
|
|
77
|
+
return { engineId: focus, source: 'focus-override' };
|
|
78
|
+
const stage = firstPresent(args.stageDirectiveEngine);
|
|
79
|
+
if (stage)
|
|
80
|
+
return { engineId: stage, source: 'stage-directive' };
|
|
81
|
+
const product = firstPresent(args.productDefault);
|
|
82
|
+
if (product)
|
|
83
|
+
return { engineId: product, source: 'product-default' };
|
|
84
|
+
const org = firstPresent(args.orgDefault);
|
|
85
|
+
if (org)
|
|
86
|
+
return { engineId: org, source: 'org-default' };
|
|
87
|
+
return { engineId: args.globalDefault, source: 'default' };
|
|
32
88
|
}
|
|
33
89
|
//# sourceMappingURL=model-resolution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAG,UAA4C;IAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,SAAS;QAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,kBAA6C,EAC7C,mBAA8C;IAE9C,OAAO,YAAY,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,qBAAgD,EAChD,sBAAiD;IAEjD,OAAO,YAAY,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;AACrE,CAAC;AAUD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,IAM/B;IACC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAI,KAAK;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtD,IAAI,KAAK;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACrE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC7D,CAAC"}
|