conductor-remote 1.54.0 → 1.54.2
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/{index-CSpn2y0z.js → index-Dg1cJ9Gi.js} +17 -17
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/dist-node/src/shared.js +24 -14
- package/package.json +1 -1
package/dist/index.html
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<title>Conductor Remote</title>
|
|
14
14
|
<!-- Runs before the module bundle so it can catch a stale shell that fails to boot. -->
|
|
15
15
|
<script src="/self-heal.js"></script>
|
|
16
|
-
<script type="module" crossorigin src="/assets/index-
|
|
16
|
+
<script type="module" crossorigin src="/assets/index-Dg1cJ9Gi.js"></script>
|
|
17
17
|
<link rel="stylesheet" crossorigin href="/assets/index-TXYaWW0Q.css">
|
|
18
18
|
<link rel="manifest" href="/manifest.webmanifest"></head>
|
|
19
19
|
<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 o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let l={};const
|
|
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 o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let l={};const c=e=>i(e,o),t={module:{uri:o},exports:l,require:c};s[o]=Promise.all(n.map(e=>t[e]||c(e))).then(e=>(r(...e),l))}}define(["./workbox-9c191d2f"],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:"e1e682e2e5e88fa03b7808ae9db8e098"},{url:"index.html",revision:"c1e816c05899b3526575286617f5e4cb"},{url:"assets/workbox-window.prod.es5-BBnX5xw4.js",revision:null},{url:"assets/index-TXYaWW0Q.css",revision:null},{url:"assets/index-Dg1cJ9Gi.js",revision:null},{url:"apple-touch-icon.png",revision:"2b9301416b880d45d4bb655f2600d1f2"},{url:"icon-192.png",revision:"c5e01ac58768627e18ee7b8b6a9239ef"},{url:"icon-512.png",revision:"a40638c55e310312457a621c9a0002c8"},{url:"icon-maskable-512.png",revision:"a40638c55e310312457a621c9a0002c8"},{url:"icon.svg",revision:"c1aee186821798733dd477e69a0ef243"},{url:"manifest.webmanifest",revision:"cf88fbc5755108a7fe0616fa160a8a15"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api\//]}))});
|
package/dist-node/src/shared.js
CHANGED
|
@@ -59,21 +59,31 @@ export function modelPickerLabel(label) {
|
|
|
59
59
|
return label.endsWith(' NEW') ? label.slice(0, -4) : label;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* OpenCode
|
|
62
|
+
* Conductor's labels omit the agent for its built-in models. Keep them in the
|
|
63
|
+
* same provider sections as Conductor's picker: Claude Code, Codex, Cursor,
|
|
64
|
+
* and OpenCode. An unknown label belongs in Other until Conductor gives us a
|
|
65
|
+
* provider-qualified name or this small mapping gains its family.
|
|
65
66
|
*/
|
|
66
|
-
function
|
|
67
|
-
const label = modelPickerLabel(model).trim();
|
|
67
|
+
function modelProvider(model) {
|
|
68
|
+
const label = modelPickerLabel(model).trim().toLowerCase();
|
|
69
|
+
if (label.startsWith('anthropic/'))
|
|
70
|
+
return 'Anthropic';
|
|
71
|
+
if (label.startsWith('openai/'))
|
|
72
|
+
return 'OpenAI';
|
|
73
|
+
if (label.startsWith('cursor/'))
|
|
74
|
+
return 'Cursor';
|
|
75
|
+
if (/^(claude|fable|haiku|opus|sonnet)(?:[\s-]|$)/.test(label))
|
|
76
|
+
return 'Anthropic';
|
|
77
|
+
if (/^(?:auto|gpt|o[1-9]|\d)(?:[\s.-]|$)/.test(label))
|
|
78
|
+
return 'OpenAI';
|
|
79
|
+
if (/^(composer|grok)(?:[\s-]|$)/.test(label))
|
|
80
|
+
return 'Cursor';
|
|
81
|
+
if (/^opencode(?:-go)?\//.test(label))
|
|
82
|
+
return 'OpenCode';
|
|
68
83
|
const slash = label.indexOf('/');
|
|
69
84
|
if (slash > 0)
|
|
70
85
|
return label.slice(0, slash);
|
|
71
|
-
|
|
72
|
-
if (!words.length)
|
|
73
|
-
return 'Other';
|
|
74
|
-
if (words[0].toLowerCase() === 'claude' && words[1])
|
|
75
|
-
return words[1];
|
|
76
|
-
return words[0];
|
|
86
|
+
return 'Other';
|
|
77
87
|
}
|
|
78
88
|
/** Stable, case-insensitive grouping shared by every model selector. */
|
|
79
89
|
export function groupModelPickerLabels(models) {
|
|
@@ -82,11 +92,11 @@ export function groupModelPickerLabels(models) {
|
|
|
82
92
|
const model = modelPickerLabel(raw).trim();
|
|
83
93
|
if (!model)
|
|
84
94
|
continue;
|
|
85
|
-
const
|
|
86
|
-
const entries = grouped.get(
|
|
95
|
+
const provider = modelProvider(model);
|
|
96
|
+
const entries = grouped.get(provider) ?? [];
|
|
87
97
|
if (!entries.includes(model))
|
|
88
98
|
entries.push(model);
|
|
89
|
-
grouped.set(
|
|
99
|
+
grouped.set(provider, entries);
|
|
90
100
|
}
|
|
91
101
|
return [...grouped]
|
|
92
102
|
.map(([label, entries]) => ({ label, models: entries.sort((a, b) => a.localeCompare(b)) }))
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conductor-remote",
|
|
3
|
-
"version": "1.54.
|
|
3
|
+
"version": "1.54.2",
|
|
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.",
|