@frockbot/plugin-computer 0.3.5 → 0.3.6
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/package.json +12 -12
- package/src/backend.test.ts +1 -1
- package/src/bot.ts +2 -2
- package/src/client/ComputerCard.test.ts +1 -1
- package/src/client/ComputerCard.vue +2 -4
- package/src/client/ComputerViewerOverlay.vue +4 -6
- package/src/client/application.test.ts +1 -1
- package/src/client/application.ts +2 -2
- package/src/client/state-machine.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frockbot/plugin-computer",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -29,21 +29,21 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@cordisjs/client": "0.8.2",
|
|
32
|
-
"@frockbot/client-core": "0.3.
|
|
33
|
-
"@frockbot/client-ui": "0.3.
|
|
34
|
-
"@frockbot/computer-core": "0.3.
|
|
35
|
-
"@frockbot/computer-host-runtime": "0.3.
|
|
36
|
-
"@frockbot/kernel-agent-loop": "0.3.
|
|
37
|
-
"@frockbot/kernel-contracts": "0.3.
|
|
38
|
-
"@frockbot/plugin-prompt": "0.3.
|
|
39
|
-
"@frockbot/plugin-shell": "0.3.
|
|
40
|
-
"@frockbot/plugin-tools": "0.3.
|
|
32
|
+
"@frockbot/client-core": "0.3.6",
|
|
33
|
+
"@frockbot/client-ui": "0.3.6",
|
|
34
|
+
"@frockbot/computer-core": "0.3.6",
|
|
35
|
+
"@frockbot/computer-host-runtime": "0.3.6",
|
|
36
|
+
"@frockbot/kernel-agent-loop": "0.3.6",
|
|
37
|
+
"@frockbot/kernel-contracts": "0.3.6",
|
|
38
|
+
"@frockbot/plugin-prompt": "0.3.6",
|
|
39
|
+
"@frockbot/plugin-shell": "0.3.6",
|
|
40
|
+
"@frockbot/plugin-tools": "0.3.6",
|
|
41
41
|
"cordis": "4.0.0-rc.8",
|
|
42
42
|
"vue": "3.5.41"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@frockbot/plugin-models": "0.3.
|
|
46
|
-
"@frockbot/plugin-testkit": "0.3.
|
|
45
|
+
"@frockbot/plugin-models": "0.3.6",
|
|
46
|
+
"@frockbot/plugin-testkit": "0.3.6",
|
|
47
47
|
"@types/bun": "1.4.0",
|
|
48
48
|
"@types/node": "26.2.0",
|
|
49
49
|
"@vitejs/plugin-vue": "6.0.8",
|
package/src/backend.test.ts
CHANGED
package/src/bot.ts
CHANGED
|
@@ -1373,8 +1373,8 @@ export class ComputerBotBackendContribution {
|
|
|
1373
1373
|
} else {
|
|
1374
1374
|
phase = "idle";
|
|
1375
1375
|
message = viewer
|
|
1376
|
-
? "Reconnect to
|
|
1377
|
-
: "
|
|
1376
|
+
? "Reconnect to pick up where you left off"
|
|
1377
|
+
: "Ready to start";
|
|
1378
1378
|
}
|
|
1379
1379
|
const viewerSession: ComputerViewerSessionViewV1 | undefined = liveViewer
|
|
1380
1380
|
? {
|
|
@@ -112,7 +112,7 @@ describe("Computer viewer", () => {
|
|
|
112
112
|
expect(template).toContain('@click="actions.requestTakeControl"');
|
|
113
113
|
expect(template).toContain('role="alertdialog"');
|
|
114
114
|
expect(template).toContain(
|
|
115
|
-
"The Bot
|
|
115
|
+
"The Bot won't touch this desktop until you release control.",
|
|
116
116
|
);
|
|
117
117
|
});
|
|
118
118
|
|
|
@@ -148,13 +148,11 @@ async function open(): Promise<void> {
|
|
|
148
148
|
</template>
|
|
149
149
|
<template v-else>
|
|
150
150
|
<UiIcon name="sparkle" size="lg" />
|
|
151
|
-
<strong v-if="state.phase === 'unconfigured'"
|
|
152
|
-
>Computer not configured</strong
|
|
153
|
-
>
|
|
151
|
+
<strong v-if="state.phase === 'unconfigured'">No computer</strong>
|
|
154
152
|
<strong v-else-if="state.phase === 'disconnected'"
|
|
155
153
|
>Viewer disconnected</strong
|
|
156
154
|
>
|
|
157
|
-
<strong v-else>
|
|
155
|
+
<strong v-else>Computer</strong>
|
|
158
156
|
<span class="computer-placeholder-message">{{ state.message }}</span>
|
|
159
157
|
</template>
|
|
160
158
|
</span>
|
|
@@ -34,7 +34,7 @@ const confirming = ref(false);
|
|
|
34
34
|
const confirmDialog = ref<HTMLElement>();
|
|
35
35
|
const viewerFrame = ref<HTMLIFrameElement>();
|
|
36
36
|
const frameState = ref<"loading" | ComputerViewerFrameStateV1>("loading");
|
|
37
|
-
const frameMessage = ref("Loading
|
|
37
|
+
const frameMessage = ref("Loading…");
|
|
38
38
|
const elapsedSeconds = ref(0);
|
|
39
39
|
let elapsedTimer: ReturnType<typeof setInterval> | undefined;
|
|
40
40
|
let localProgressStartedAt = Date.now();
|
|
@@ -336,9 +336,7 @@ onBeforeUnmount(() => {
|
|
|
336
336
|
@load="handleFrameLoad"
|
|
337
337
|
/>
|
|
338
338
|
<div v-else class="computer-placeholder">
|
|
339
|
-
<strong v-if="state.phase === 'unconfigured'"
|
|
340
|
-
>Computer not configured</strong
|
|
341
|
-
>
|
|
339
|
+
<strong v-if="state.phase === 'unconfigured'">No computer</strong>
|
|
342
340
|
<template v-else-if="opening">
|
|
343
341
|
<strong>{{ openingHeading }}</strong>
|
|
344
342
|
<p v-if="setupExpectation" class="computer-setup-expectation">
|
|
@@ -380,7 +378,7 @@ onBeforeUnmount(() => {
|
|
|
380
378
|
<strong v-else-if="state.phase === 'disconnected'"
|
|
381
379
|
>Viewer disconnected</strong
|
|
382
380
|
>
|
|
383
|
-
<strong v-else>
|
|
381
|
+
<strong v-else>Computer</strong>
|
|
384
382
|
<p v-if="!opening">{{ state.message }}</p>
|
|
385
383
|
<UiButton
|
|
386
384
|
v-if="state.phase === 'idle' || state.phase === 'disconnected'"
|
|
@@ -418,7 +416,7 @@ onBeforeUnmount(() => {
|
|
|
418
416
|
>
|
|
419
417
|
<h2 id="computer-confirm-title">Take control of this Computer?</h2>
|
|
420
418
|
<p id="computer-confirm-detail">
|
|
421
|
-
The Bot
|
|
419
|
+
The Bot won't touch this desktop until you release control.
|
|
422
420
|
</p>
|
|
423
421
|
<div class="computer-confirm-actions">
|
|
424
422
|
<UiButton @click="actions.cancelTakeControl">Cancel</UiButton>
|
|
@@ -155,7 +155,7 @@ function mountHostedProvider(options: { stateChannel?: boolean } = {}) {
|
|
|
155
155
|
phase,
|
|
156
156
|
message:
|
|
157
157
|
phase === "idle"
|
|
158
|
-
? "
|
|
158
|
+
? "Ready to start"
|
|
159
159
|
: phase === "updating"
|
|
160
160
|
? "Updating the Computer runtime"
|
|
161
161
|
: "Computer ready",
|
|
@@ -268,7 +268,7 @@ export function createComputerClientPlugin(
|
|
|
268
268
|
),
|
|
269
269
|
);
|
|
270
270
|
if (projection.botId !== selectedBotId) {
|
|
271
|
-
throw new Error("
|
|
271
|
+
throw new Error("This computer belongs to a different Bot.");
|
|
272
272
|
}
|
|
273
273
|
apply({ type: "projection-received", projection });
|
|
274
274
|
}
|
|
@@ -406,7 +406,7 @@ export function createComputerClientPlugin(
|
|
|
406
406
|
} catch (error) {
|
|
407
407
|
apply({
|
|
408
408
|
type: "failed",
|
|
409
|
-
message: `
|
|
409
|
+
message: `You lost control of this computer: ${errorMessage(error)}`,
|
|
410
410
|
takingControl: false,
|
|
411
411
|
});
|
|
412
412
|
}
|
|
@@ -46,7 +46,7 @@ export function initialComputerMachineState(): ComputerMachineState {
|
|
|
46
46
|
phase: "unconfigured",
|
|
47
47
|
botId: "unconfigured",
|
|
48
48
|
providerLabel: "unconfigured",
|
|
49
|
-
message: "
|
|
49
|
+
message: "This deployment has no computer.",
|
|
50
50
|
progress: undefined,
|
|
51
51
|
viewerUrl: undefined,
|
|
52
52
|
expanded: false,
|
|
@@ -108,7 +108,7 @@ export function transitionComputerState(
|
|
|
108
108
|
return {
|
|
109
109
|
...state,
|
|
110
110
|
phase: "taking-control",
|
|
111
|
-
message: "Pausing
|
|
111
|
+
message: "Pausing the Bot…",
|
|
112
112
|
progress: undefined,
|
|
113
113
|
};
|
|
114
114
|
case "control-acquired":
|