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/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-Bsirxp4Y.js"></script>
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:"f7c164d3affb878065d2f69b2fef65de"},{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-Bsirxp4Y.js",revision:null},{url:"assets/PierrePatch-BKDmpkha.js",revision:null},{url:"assets/AutoModelSettings-CX-bCwFp.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")});
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 { currentModelCatalog, modelAgentType, modelPickerLabel } from "../shared.js";
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 = currentModelCatalog(groups);
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 current picker catalog; update it in the role editor.`)
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 (!currentModelCatalog(groups).includes(modelPickerLabel(role.model))) {
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 current picker catalog; update it in the role editor.`)
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);
@@ -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",
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.",