conductor-remote 1.131.3 → 1.131.4
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/assets/{AutoModelSettings-CX-bCwFp.js → AutoModelSettings-SBdRr_mv.js} +1 -1
- package/dist/assets/{PierrePatch-BKDmpkha.js → PierrePatch-BmY2b7Ei.js} +1 -1
- package/dist/assets/{index-Bsirxp4Y.js → index-BAEVNqQy.js} +32 -32
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/dist-node/src/agents/roles.js +5 -5
- package/dist-node/src/shared.js +9 -0
- package/package.json +1 -1
package/dist/index.html
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<title>Conductor Remote</title>
|
|
26
26
|
<!-- Runs before the module bundle so it can catch a stale shell that fails to boot. -->
|
|
27
27
|
<script src="/self-heal.js"></script>
|
|
28
|
-
<script type="module" crossorigin src="/assets/index-
|
|
28
|
+
<script type="module" crossorigin src="/assets/index-BAEVNqQy.js"></script>
|
|
29
29
|
<link rel="stylesheet" crossorigin href="/assets/index-Dbu5DOed.css">
|
|
30
30
|
<link rel="manifest" href="/manifest.webmanifest"></head>
|
|
31
31
|
<body>
|
package/dist/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const t=e=>i(e,l),a={module:{uri:l},exports:o,require:t};s[l]=Promise.all(n.map(e=>a[e]||t(e))).then(e=>(r(...e),o))}}define(["./workbox-dcde9eb3"],function(e){"use strict";importScripts("/push-sw.js"),self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.clientsClaim(),e.precacheAndRoute([{url:"self-heal.js",revision:"49bd63adb25a09341f8d2610e8bd3c76"},{url:"push-sw.js",revision:"4e0b714c0ea53e85c167e6d8f5b767aa"},{url:"index.html",revision:"
|
|
1
|
+
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const t=e=>i(e,l),a={module:{uri:l},exports:o,require:t};s[l]=Promise.all(n.map(e=>a[e]||t(e))).then(e=>(r(...e),o))}}define(["./workbox-dcde9eb3"],function(e){"use strict";importScripts("/push-sw.js"),self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.clientsClaim(),e.precacheAndRoute([{url:"self-heal.js",revision:"49bd63adb25a09341f8d2610e8bd3c76"},{url:"push-sw.js",revision:"4e0b714c0ea53e85c167e6d8f5b767aa"},{url:"index.html",revision:"e644d471ce76c93e68869452f62ead76"},{url:"assets/workbox-window.prod.es5-BBnX5xw4.js",revision:null},{url:"assets/pierre-shiki-wasm-C8ETeZem.js",revision:null},{url:"assets/pierre-light-480U9XYS.js",revision:null},{url:"assets/pierre-dark-CyvmCCZW.js",revision:null},{url:"assets/index-Dbu5DOed.css",revision:null},{url:"assets/index-BAEVNqQy.js",revision:null},{url:"assets/PierrePatch-BmY2b7Ei.js",revision:null},{url:"assets/AutoModelSettings-SBdRr_mv.js",revision:null},{url:"apple-touch-icon.png",revision:"1127bb396b4648add53dce3f22c92aee"},{url:"icon-192.png",revision:"c5e01ac58768627e18ee7b8b6a9239ef"},{url:"icon-512.png",revision:"a40638c55e310312457a621c9a0002c8"},{url:"icon-maskable-512.png",revision:"a9b0d962686287452216492cd2247499"},{url:"icon.svg",revision:"c1aee186821798733dd477e69a0ef243"},{url:"manifest.webmanifest",revision:"cf88fbc5755108a7fe0616fa160a8a15"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api\//]})),e.registerRoute(({url:e})=>e.pathname.startsWith("/assets/diff-syntax/"),new e.CacheFirst({cacheName:"diff-syntax",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:31536e3})]}),"GET")});
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import fs from 'node:fs';
|
|
10
10
|
import path from 'node:path';
|
|
11
11
|
import { stateDir } from "../config.js";
|
|
12
|
-
import {
|
|
12
|
+
import { modelAgentType, modelPickerLabel, savedModelCatalog } from "../shared.js";
|
|
13
13
|
export { newestModelSnapshot } from "../shared.js";
|
|
14
14
|
const EFFORTS = new Set(['none', 'low', 'medium', 'high', 'xhigh', 'max', 'ultracode']);
|
|
15
15
|
const ROLE_NAME = /^[a-z][a-z0-9_-]{0,63}$/;
|
|
@@ -138,12 +138,12 @@ function controlIssue(name, role, agentType) {
|
|
|
138
138
|
/** Picker validation stays separate from shape decoding so a vanished model remains editable. */
|
|
139
139
|
export function roleModelIssues(config, groups) {
|
|
140
140
|
const issues = [];
|
|
141
|
-
const models =
|
|
141
|
+
const models = savedModelCatalog(groups);
|
|
142
142
|
for (const [name, role] of Object.entries(config.roles)) {
|
|
143
143
|
if (!models.includes(modelPickerLabel(role.model))) {
|
|
144
144
|
issues.push({
|
|
145
145
|
role: name,
|
|
146
|
-
error: issue('model_missing', `Role ${name} needs an exact model from Conductor's
|
|
146
|
+
error: issue('model_missing', `Role ${name} needs an exact model from Conductor's saved picker catalog; update it in the role editor.`)
|
|
147
147
|
});
|
|
148
148
|
continue;
|
|
149
149
|
}
|
|
@@ -167,10 +167,10 @@ export function resolveRole(config, name, groups) {
|
|
|
167
167
|
return { ok: false, error: issue('role_not_found', `Unknown delegated role ${name}.`) };
|
|
168
168
|
}
|
|
169
169
|
const role = config.roles[name];
|
|
170
|
-
if (!
|
|
170
|
+
if (!savedModelCatalog(groups).includes(modelPickerLabel(role.model))) {
|
|
171
171
|
return {
|
|
172
172
|
ok: false,
|
|
173
|
-
error: issue('model_missing', `Role ${name} needs an exact model from Conductor's
|
|
173
|
+
error: issue('model_missing', `Role ${name} needs an exact model from Conductor's saved picker catalog; update it in the role editor.`)
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
176
|
const agentType = modelAgentType(role.model);
|
package/dist-node/src/shared.js
CHANGED
|
@@ -322,6 +322,15 @@ export function currentModelCatalog(groups) {
|
|
|
322
322
|
}
|
|
323
323
|
return [...models].sort((a, b) => a.localeCompare(b));
|
|
324
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Every picker label persisted by the relay, regardless of whether a later menu
|
|
327
|
+
* snapshot retired it. Settings that edit saved choices use this complete list.
|
|
328
|
+
*/
|
|
329
|
+
export function savedModelCatalog(groups) {
|
|
330
|
+
return [
|
|
331
|
+
...new Set(groups.flatMap(group => group.models.map(model => modelPickerLabel(model).trim()).filter(Boolean)))
|
|
332
|
+
].sort((a, b) => a.localeCompare(b));
|
|
333
|
+
}
|
|
325
334
|
/** Stable, case-insensitive grouping shared by every model selector. */
|
|
326
335
|
export function groupModelPickerLabels(models) {
|
|
327
336
|
const grouped = new Map();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conductor-remote",
|
|
3
|
-
"version": "1.131.
|
|
3
|
+
"version": "1.131.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"packageManager": "yarn@4.15.0",
|
|
6
6
|
"description": "Phone control panel for local Conductor agents. Reads ride SQLite + git; prompts ride Conductor's own dispatch path.",
|