@devlln/helm
Advanced tools
| { | ||
| "name": "codex-voice-remote-bridge", | ||
| "version": "0.1.9", | ||
| "version": "0.1.10", | ||
| "lockfileVersion": 3, | ||
@@ -9,3 +9,3 @@ "requires": true, | ||
| "name": "codex-voice-remote-bridge", | ||
| "version": "0.1.9", | ||
| "version": "0.1.10", | ||
| "dependencies": { | ||
@@ -12,0 +12,0 @@ "dotenv": "^16.6.1", |
| { | ||
| "name": "codex-voice-remote-bridge", | ||
| "version": "0.1.9", | ||
| "version": "0.1.10", | ||
| "private": true, | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -128,2 +128,15 @@ import test from "node:test"; | ||
| ): Promise<JSONValue | undefined>; | ||
| startTurnViaAppServerSteer( | ||
| threadId: string, | ||
| text: string, | ||
| baseline: { | ||
| hasTurnData: boolean; | ||
| turnCount: number; | ||
| matchingUserTextCount: number; | ||
| updatedAt: number; | ||
| threadStatus: string | null; | ||
| activeTurnId: string | null; | ||
| }, | ||
| options?: { swallowErrors?: boolean } | ||
| ): Promise<JSONValue | undefined>; | ||
| codexDesktopQueuedFollowUpsWithAppendedMessage( | ||
@@ -407,2 +420,60 @@ currentMessages: TestQueuedFollowUp[], | ||
| test("running Codex desktop steer falls back to app-server steer when desktop IPC has no loaded client", async () => { | ||
| const client = new CodexAppServerClient("ws://127.0.0.1:0"); | ||
| const hooks = client as unknown as CodexClientPrivateHooks; | ||
| const appServerSteerCalls: Array<{ | ||
| threadId: string; | ||
| text: string; | ||
| activeTurnId: string | null; | ||
| }> = []; | ||
| hooks.loadThreadDeliverySummary = async () => ({ | ||
| sourceKind: "vscode", | ||
| status: "running", | ||
| }); | ||
| hooks.readThreadDeliverySnapshot = async () => ({ | ||
| hasTurnData: true, | ||
| turnCount: 2, | ||
| matchingUserTextCount: 0, | ||
| updatedAt: 123_000, | ||
| threadStatus: "idle", | ||
| activeTurnId: "turn-1", | ||
| }); | ||
| hooks.steerTurnViaCodexDesktopIpc = async () => { | ||
| throw new Error("Codex Desktop IPC thread-follower-steer-turn failed: no-client-found"); | ||
| }; | ||
| hooks.startTurnViaCodexDesktopIpc = async () => { | ||
| throw new Error("running steer must not start a side turn"); | ||
| }; | ||
| hooks.startTurnViaAppServerSteer = async (threadId, text, baseline) => { | ||
| appServerSteerCalls.push({ | ||
| threadId, | ||
| text, | ||
| activeTurnId: baseline.activeTurnId, | ||
| }); | ||
| return { | ||
| ok: true, | ||
| mode: "appServerSteerQueued", | ||
| threadId, | ||
| }; | ||
| }; | ||
| const result = await client.startTurn("thread-1", "testing mobile", { | ||
| deliveryMode: "steer", | ||
| }); | ||
| assert.deepEqual(appServerSteerCalls, [ | ||
| { | ||
| threadId: "thread-1", | ||
| text: "testing mobile", | ||
| activeTurnId: "turn-1", | ||
| }, | ||
| ]); | ||
| assert.deepEqual(result, { | ||
| ok: true, | ||
| mode: "appServerSteerQueued", | ||
| threadId: "thread-1", | ||
| }); | ||
| }); | ||
| test("queued Codex desktop turn keeps queue mode when an image is attached", async () => { | ||
@@ -409,0 +480,0 @@ const client = new CodexAppServerClient("ws://127.0.0.1:0"); |
+1
-1
| { | ||
| "name": "@devlln/helm", | ||
| "version": "0.1.9", | ||
| "version": "0.1.10", | ||
| "private": false, | ||
@@ -5,0 +5,0 @@ "description": "Helm CLI bridge installer and runtime helpers.", |
Sorry, the diff of this file is too big to display
Explicitly Unlicensed Item
LicenseSomething was found which is explicitly marked as unlicensed.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Explicitly Unlicensed Item
LicenseSomething was found which is explicitly marked as unlicensed.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
848203
0.33%21973
0.41%