@yu_robotics/remote-cli 1.6.173 → 1.6.176
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/README.md +5 -1
- package/dist/client/MessageHandler.d.ts +1 -0
- package/dist/client/MessageHandler.d.ts.map +1 -1
- package/dist/client/MessageHandler.js +19 -3
- package/dist/client/MessageHandler.js.map +1 -1
- package/dist/client/WebSocketClient.d.ts.map +1 -1
- package/dist/client/WebSocketClient.js +1 -0
- package/dist/client/WebSocketClient.js.map +1 -1
- package/dist/delegation/DelegationManager.js +1 -1
- package/dist/delegation/DelegationManager.js.map +1 -1
- package/dist/executor/AcpExecutor.d.ts +6 -0
- package/dist/executor/AcpExecutor.d.ts.map +1 -1
- package/dist/executor/AcpExecutor.js +81 -10
- package/dist/executor/AcpExecutor.js.map +1 -1
- package/dist/executor/CodexAppServerExecutor.d.ts +12 -1
- package/dist/executor/CodexAppServerExecutor.d.ts.map +1 -1
- package/dist/executor/CodexAppServerExecutor.js +197 -4
- package/dist/executor/CodexAppServerExecutor.js.map +1 -1
- package/dist/executor/IExecutor.d.ts +19 -0
- package/dist/executor/IExecutor.d.ts.map +1 -1
- package/dist/executor/KimiExecutor.d.ts +9 -0
- package/dist/executor/KimiExecutor.d.ts.map +1 -1
- package/dist/executor/KimiExecutor.js +45 -0
- package/dist/executor/KimiExecutor.js.map +1 -1
- package/dist/executor/index.d.ts +2 -1
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +1 -0
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/kimi/KimiAccountUsage.d.ts +2 -6
- package/dist/executor/kimi/KimiAccountUsage.d.ts.map +1 -1
- package/dist/executor/kimi/KimiAccountUsage.js +11 -71
- package/dist/executor/kimi/KimiAccountUsage.js.map +1 -1
- package/dist/executor/kimi/KimiLocalServer.d.ts +28 -0
- package/dist/executor/kimi/KimiLocalServer.d.ts.map +1 -0
- package/dist/executor/kimi/KimiLocalServer.js +192 -0
- package/dist/executor/kimi/KimiLocalServer.js.map +1 -0
- package/dist/executor/kimi/KimiModelCatalog.d.ts +6 -0
- package/dist/executor/kimi/KimiModelCatalog.d.ts.map +1 -0
- package/dist/executor/kimi/KimiModelCatalog.js +86 -0
- package/dist/executor/kimi/KimiModelCatalog.js.map +1 -0
- package/dist/maintenance/release-notes.json +1 -1
- package/dist/settings/SettingsCatalog.d.ts +1 -1
- package/dist/settings/SettingsCatalog.d.ts.map +1 -1
- package/dist/settings/SettingsCatalog.js +6 -2
- package/dist/settings/SettingsCatalog.js.map +1 -1
- package/dist/settings/SettingsService.d.ts +3 -1
- package/dist/settings/SettingsService.d.ts.map +1 -1
- package/dist/settings/SettingsService.js +17 -5
- package/dist/settings/SettingsService.js.map +1 -1
- package/dist/thread/ThreadExecutorPool.d.ts +3 -1
- package/dist/thread/ThreadExecutorPool.d.ts.map +1 -1
- package/dist/thread/ThreadExecutorPool.js +13 -1
- package/dist/thread/ThreadExecutorPool.js.map +1 -1
- package/dist/thread/ThreadManager.d.ts +1 -1
- package/dist/thread/ThreadManager.d.ts.map +1 -1
- package/dist/thread/ThreadManager.js.map +1 -1
- package/dist/thread/types.d.ts +2 -0
- package/dist/thread/types.d.ts.map +1 -1
- package/dist/types/Settings.d.ts +8 -0
- package/dist/types/Settings.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -429,6 +429,10 @@ Backend-specific commands are forwarded only where the active backend supports t
|
|
|
429
429
|
|
|
430
430
|
## Advanced Usage
|
|
431
431
|
|
|
432
|
+
From CLI 1.6.175, opening or refreshing Kimi's `/model` list also refreshes the native OAuth-managed model catalog through Kimi's authenticated loopback server. Manual terminal refresh and repeated sign-in are not required. Kimi must expose the native model-refresh endpoint; account permissions and upstream availability still determine the returned choices. Failed or timed-out refreshes are reported rather than treated as a successful refresh of an old list. Upgrade the local CLI to use this behavior; the Router protocol is unchanged. Applying a discovered model to an idle Kimi thread reloads the native ACP process and resumes the same conversation binding, so its process-local catalog cannot reject the new alias.
|
|
433
|
+
|
|
434
|
+
From CLI and Router 1.6.176, the `/model` card includes a separate **Speed** section when the selected Codex model advertises native service tiers. Choose a native tier, explicit **Standard**, or **Follow native config**. Native names and descriptions are preserved; Fast is a processing tier, not an invented model ID, and availability and usage depend on the native backend and account. Speed is saved per thread/backend and applies to future delegated workers and native goal continuations. Model changes that conflict with a saved speed are refused until Follow native config is selected. Untouched threads keep native behavior without extra speed settings requests. Both peers must negotiate model speed settings; older peers, Kimi Highspeed model IDs, and OpenCode models/variants keep their existing paths. If a saved speed disappears, a recovery-only Speed section retains Follow native config. Older native protocols that cannot safely clear a saved conversation's tier require a Codex upgrade or `/clear` before that conversation resumes.
|
|
435
|
+
|
|
432
436
|
Use one thread per project or task so each thread keeps its own working directory, backend session, model, and queue. Use `/backend <index>` for a global switch, or `/backend <index> @` to override only the current thread. `/backend default @` removes that override.
|
|
433
437
|
|
|
434
438
|
With CLI and Router 1.6.168 or newer, `/cd` opens a directory-only browser with child, Parent, Allowed roots, Refresh, Use this directory, and Cancel controls. Navigation never changes context or runs a backend. Only Apply changes the original thread, following the existing all-backend context reset and delegation-lane invalidation; the same directory remains a no-op. Both card Apply and text `/cd <path>` share exclusive settings admission and reject active, delegated, queued, aborting, or updating work. Older peers retain text behavior. Symbolic-link directories are omitted; Parent stops at the nearest allowed root. Snapshots expire after ten minutes and reject changed policy, cwd, root, directory, or ancestor identity. Scans cap at 4096 entries, 128 directories, or five seconds between filesystem operations, with explicit partial-list guidance; at most 32 roots are offered. Cards fill before budget-driven paging. Application-level canonical and identity checks are not an OS sandbox or protection against all external filesystem races and bind mounts.
|
|
@@ -437,7 +441,7 @@ With CLI 1.6.93 or newer, `/cd` to a different normalized directory clears saved
|
|
|
437
441
|
|
|
438
442
|
Thread switch panels show `Reply from:` with the reply's full thread name and workspace. Under `Switch thread`, a check mark (`✓`) and primary button styling identify the destination of new top-level messages when the card is finalized or clicked. Selected buttons remain clickable. Switching updates only the clicked card; other historical cards retain their last displayed selection.
|
|
439
443
|
|
|
440
|
-
From Router 1.6.
|
|
444
|
+
From Router 1.6.174, completed cards show thread-switch buttons and **+ New** directly, without a folding panel or an extra expand click. The reply-source caption remains visible, and thread selection keeps the existing routing and permission checks. Cards use a 180-tagged-node budget, including nested controls and reserved completion elements; size and table limits still apply. This presentation change requires a Router upgrade and does not change the CLI wire protocol. Previously sent cards are not automatically rewritten by an upgrade.
|
|
441
445
|
|
|
442
446
|
From CLI 1.6.172, Codex threads support native goals through `/goal` (status), `/goal <objective>` (start), `/goal pause`, `/goal resume`, and `/goal clear`. Start or resume only when the thread and queue are idle, with managed delegation explicitly disabled using `/delegation off`. This initial restriction does not disable Codex's native subagents. Optional `--budget <tokens>` on start or resume sets an explicit positive token budget; omitting it does not invent a budget. For example:
|
|
443
447
|
|
|
@@ -44,6 +44,7 @@ export declare class MessageHandler {
|
|
|
44
44
|
private activityProgressSupported;
|
|
45
45
|
private workerContextResetSupported;
|
|
46
46
|
private settingsCardsSupported;
|
|
47
|
+
private modelSpeedSettingsSupported;
|
|
47
48
|
private directoryCardsSupported;
|
|
48
49
|
private readonly directoryBrowser;
|
|
49
50
|
private delegationCardsSupported;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageHandler.d.ts","sourceRoot":"","sources":["../../src/client/MessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAgK,MAAM,UAAU,CAAC;AACzM,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAyHxD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IACnE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA+C;IACzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IACxE,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,cAAc,CA2B5B;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4C;IACnF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6C;IACpF,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,+BAA+B,CAAS;IAChD,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAoG;IACzI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,oBAAoB,CAAK;gBAG/B,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"MessageHandler.d.ts","sourceRoot":"","sources":["../../src/client/MessageHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,6 +179,7 @@ class MessageHandler {
|
|
|
179
179
|
activityProgressSupported = false;
|
|
180
180
|
workerContextResetSupported = false;
|
|
181
181
|
settingsCardsSupported = false;
|
|
182
|
+
modelSpeedSettingsSupported = false;
|
|
182
183
|
directoryCardsSupported = false;
|
|
183
184
|
directoryBrowser;
|
|
184
185
|
delegationCardsSupported = false;
|
|
@@ -224,7 +225,7 @@ class MessageHandler {
|
|
|
224
225
|
if (!thread)
|
|
225
226
|
throw new Error('This thread no longer exists.');
|
|
226
227
|
const config = this.executorConfiguration();
|
|
227
|
-
return this.settingsCatalogReader.read(config, thread, this.threadPool.getBackendKey(id), target, kind);
|
|
228
|
+
return this.settingsCatalogReader.read(config, thread, this.threadPool.getBackendKey(id), target, kind, this.modelSpeedSettingsSupported);
|
|
228
229
|
},
|
|
229
230
|
busy: (id, except, queue = true) => this.settingsBusy(id, except, queue),
|
|
230
231
|
threads: () => this.threadManager.listThreads().map(thread => thread.id),
|
|
@@ -242,6 +243,7 @@ class MessageHandler {
|
|
|
242
243
|
preference: (id, target, kind, value) => this.applyPreference(id, target, kind, value),
|
|
243
244
|
delegation: (id, enabled) => this.applyDelegationSetting(id, enabled),
|
|
244
245
|
delegationSupported: id => Boolean(this.threadPool.getExecutor(id).configureDelegation),
|
|
246
|
+
speedSettingsSupported: () => this.modelSpeedSettingsSupported,
|
|
245
247
|
});
|
|
246
248
|
this.directoryBrowser = new DirectoryBrowser_1.DirectoryBrowser({
|
|
247
249
|
guard: this.directoryGuard,
|
|
@@ -352,6 +354,7 @@ class MessageHandler {
|
|
|
352
354
|
this.delegationProgressSupported = data.capabilities?.delegationProgress === true;
|
|
353
355
|
this.workerContextResetSupported = this.delegationProgressSupported && data.capabilities?.workerContextReset === true;
|
|
354
356
|
this.settingsCardsSupported = data.capabilities?.settingsCards === true;
|
|
357
|
+
this.modelSpeedSettingsSupported = this.settingsCardsSupported && data.capabilities?.modelSpeedSettings === true;
|
|
355
358
|
this.directoryCardsSupported = this.settingsCardsSupported && data.capabilities?.directoryCards === true;
|
|
356
359
|
this.delegationCardsSupported = this.settingsCardsSupported && data.capabilities?.delegationCards === true;
|
|
357
360
|
this.delegationProgressTextSupported = this.delegationProgressSupported
|
|
@@ -2839,7 +2842,7 @@ You can also use natural language commands to control Claude Code CLI.`,
|
|
|
2839
2842
|
return undefined;
|
|
2840
2843
|
const projection = (entry) => ({ id: entry.id, backend: entry.backend,
|
|
2841
2844
|
cwd: entry.workingDirectory, generation: entry.delegationWorkspaceGeneration, model: entry.model,
|
|
2842
|
-
models: entry.models, efforts: entry.efforts, delegation: entry.delegation, delegationBackends: entry.delegationBackends });
|
|
2845
|
+
models: entry.models, efforts: entry.efforts, speeds: entry.speeds, delegation: entry.delegation, delegationBackends: entry.delegationBackends });
|
|
2843
2846
|
const all = this.threadManager.listThreads().map(projection).sort((a, b) => a.id.localeCompare(b.id));
|
|
2844
2847
|
const configuredModels = { ...thread.models };
|
|
2845
2848
|
if (configuredModels.claude === undefined && thread.model)
|
|
@@ -2907,6 +2910,11 @@ You can also use natural language commands to control Claude Code CLI.`,
|
|
|
2907
2910
|
const config = this.executorConfiguration();
|
|
2908
2911
|
const coordinator = this.threadPool.getBackendKey(threadId);
|
|
2909
2912
|
const apply = async (executor) => {
|
|
2913
|
+
if (kind === 'speed') {
|
|
2914
|
+
if (!this.modelSpeedSettingsSupported || !executor.setSpeed)
|
|
2915
|
+
return { success: false, error: 'Native speed settings are unavailable.' };
|
|
2916
|
+
return executor.setSpeed(value);
|
|
2917
|
+
}
|
|
2910
2918
|
if (kind === 'effort') {
|
|
2911
2919
|
if (!executor.setEffort)
|
|
2912
2920
|
return { success: false, error: 'This backend does not expose effort controls.' };
|
|
@@ -2943,7 +2951,7 @@ You can also use natural language commands to control Claude Code CLI.`,
|
|
|
2943
2951
|
await this.threadManager.updateThread(threadId, { models: Object.keys(models).length ? models : undefined,
|
|
2944
2952
|
...(backend === 'claude' ? { model: value } : {}) });
|
|
2945
2953
|
}
|
|
2946
|
-
else {
|
|
2954
|
+
else if (kind === 'effort') {
|
|
2947
2955
|
const efforts = { ...current.efforts };
|
|
2948
2956
|
if (value === undefined)
|
|
2949
2957
|
delete efforts[backend];
|
|
@@ -2951,6 +2959,14 @@ You can also use natural language commands to control Claude Code CLI.`,
|
|
|
2951
2959
|
efforts[backend] = value;
|
|
2952
2960
|
await this.threadManager.updateThread(threadId, { efforts: Object.keys(efforts).length ? efforts : undefined });
|
|
2953
2961
|
}
|
|
2962
|
+
else {
|
|
2963
|
+
const speeds = { ...current.speeds };
|
|
2964
|
+
// Null records an explicit return to native configuration, so resumed
|
|
2965
|
+
// worker lanes also clear any previously sticky tier. Unset old threads
|
|
2966
|
+
// retain their original RPC shapes without additional settings reads.
|
|
2967
|
+
speeds[backend] = value ?? null;
|
|
2968
|
+
await this.threadManager.updateThread(threadId, { speeds: Object.keys(speeds).length ? speeds : undefined });
|
|
2969
|
+
}
|
|
2954
2970
|
return result;
|
|
2955
2971
|
}
|
|
2956
2972
|
finally {
|