@frockbot/plugin-computer 0.3.5 → 0.3.7

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frockbot/plugin-computer",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
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.5",
33
- "@frockbot/client-ui": "0.3.5",
34
- "@frockbot/computer-core": "0.3.5",
35
- "@frockbot/computer-host-runtime": "0.3.5",
36
- "@frockbot/kernel-agent-loop": "0.3.5",
37
- "@frockbot/kernel-contracts": "0.3.5",
38
- "@frockbot/plugin-prompt": "0.3.5",
39
- "@frockbot/plugin-shell": "0.3.5",
40
- "@frockbot/plugin-tools": "0.3.5",
32
+ "@frockbot/client-core": "0.3.7",
33
+ "@frockbot/client-ui": "0.3.7",
34
+ "@frockbot/computer-core": "0.3.7",
35
+ "@frockbot/computer-host-runtime": "0.3.7",
36
+ "@frockbot/kernel-agent-loop": "0.3.7",
37
+ "@frockbot/kernel-contracts": "0.3.7",
38
+ "@frockbot/plugin-prompt": "0.3.7",
39
+ "@frockbot/plugin-shell": "0.3.7",
40
+ "@frockbot/plugin-tools": "0.3.7",
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.5",
46
- "@frockbot/plugin-testkit": "0.3.5",
45
+ "@frockbot/plugin-models": "0.3.7",
46
+ "@frockbot/plugin-testkit": "0.3.7",
47
47
  "@types/bun": "1.4.0",
48
48
  "@types/node": "26.2.0",
49
49
  "@vitejs/plugin-vue": "6.0.8",
@@ -13,7 +13,7 @@ const projection: ComputerProjectionV1 = {
13
13
  botId: "scout",
14
14
  providerLabel: "Fake Computer",
15
15
  phase: "idle",
16
- message: "Persistent Computer available",
16
+ message: "Ready to start",
17
17
  screenshots: [],
18
18
  };
19
19
 
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 mint a fresh viewer session"
1377
- : "Persistent Computer available";
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 will be fenced from this desktop until you release control.",
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>Persistent Computer</strong>
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 viewer frame…");
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>Persistent Computer</strong>
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 will be fenced from this desktop until you release control.
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
- ? "Persistent Computer available"
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("Computer projection does not match the selected Bot");
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: `Human control lease was lost: ${errorMessage(error)}`,
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: "No Computer provider is configured for this host",
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 new agent computer actions…",
111
+ message: "Pausing the Bot…",
112
112
  progress: undefined,
113
113
  };
114
114
  case "control-acquired":