Skip to content

Commit 7023789

Browse files
authored
Merge pull request #11 from docker/cm/jsonrpc
Improve prompt runner
2 parents 3a44977 + 6fff4c2 commit 7023789

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

src/extension/ui/src/App.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,24 @@ export function App() {
113113
}
114114
updateOutput("Running prompts\n")
115115
const args = getRunArgs(selectedPrompt!, selectedProject!, "", client.host.platform)
116+
116117
client.docker.cli.exec("run", args, {
117118
stream: {
119+
splitOutputLines: true,
118120
onOutput: ({ stdout, stderr }) => {
119-
output += stdout || stderr;
121+
if (stdout && stdout.startsWith('{')) {
122+
let rpcMessage = stdout.split('}Content-Length:')[0]
123+
if (!rpcMessage.endsWith('}')) {
124+
rpcMessage += '}'
125+
}
126+
const json = JSON.parse(rpcMessage)
127+
if (json.params.content) {
128+
output += json.params.content
129+
}
130+
}
131+
if (stderr) {
132+
output += stderr
133+
}
120134
setRunOut(output);
121135
},
122136
onError: (err) => {

src/extension/ui/src/args.ts

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,4 @@
11
export const getRunArgs = (prompt_ref: string, project_dir: string, username: string, platform: string) => {
2-
// docker run --rm \
3-
// -it \
4-
// -v /var/run/docker.sock:/var/run/docker.sock \
5-
// --mount type=volume,source=docker-prompts,target=/prompts \
6-
// --mount type=bind,source=$HOME/.openai-api-key,target=/root/.openai-api-key \
7-
// vonwig/prompts:latest \
8-
// run \
9-
// $PWD \
10-
// $USER \
11-
// "$(uname -o)" \
12-
// "github:docker/labs-githooks?ref=main&path=prompts/git_hooks"
132
return [
143
'--rm',
154
'-v',
@@ -20,10 +9,10 @@ export const getRunArgs = (prompt_ref: string, project_dir: string, username: st
209
'type=volume,source=docker-prompts,target=/prompts',
2110
'vonwig/prompts:latest',
2211
'run',
23-
project_dir,
24-
username,
25-
platform,
26-
prompt_ref
12+
"--host-dir", project_dir,
13+
"--user", username,
14+
"--platform", platform,
15+
"--prompts", prompt_ref,
16+
'--jsonrpc'
2717
];
28-
2918
}

0 commit comments

Comments
 (0)