@frockbot/plugin-shell 0.3.14 → 0.3.15

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-shell",
3
- "version": "0.3.14",
3
+ "version": "0.3.15",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -51,42 +51,42 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@cordisjs/plugin-webui": "0.8.2",
54
- "@frockbot/agent-runtime": "0.3.14",
55
- "@frockbot/application-foundation": "0.3.14",
56
- "@frockbot/catalog-core": "0.3.14",
57
- "@frockbot/client-core": "0.3.14",
58
- "@frockbot/client-ui": "0.3.14",
59
- "@frockbot/computer-core": "0.3.14",
60
- "@frockbot/computer-host-protocol": "0.3.14",
61
- "@frockbot/configuration-core": "0.3.14",
62
- "@frockbot/connection-core": "0.3.14",
63
- "@frockbot/kernel-agent-loop": "0.3.14",
64
- "@frockbot/kernel-composition": "0.3.14",
65
- "@frockbot/kernel-contracts": "0.3.14",
66
- "@frockbot/kernel-do": "0.3.14",
67
- "@frockbot/machine-protocol": "0.3.14",
68
- "@frockbot/plugin-applets": "0.3.14",
69
- "@frockbot/plugin-authoring": "0.3.14",
70
- "@frockbot/plugin-bot-template": "0.3.14",
71
- "@frockbot/plugin-computer": "0.3.14",
72
- "@frockbot/plugin-flock": "0.3.14",
73
- "@frockbot/plugin-image": "0.3.14",
74
- "@frockbot/plugin-machine-messages": "0.3.14",
75
- "@frockbot/plugin-mcp": "0.3.14",
76
- "@frockbot/plugin-memory": "0.3.14",
77
- "@frockbot/plugin-package-catalog": "0.3.14",
78
- "@frockbot/plugin-routines": "0.3.14",
79
- "@frockbot/plugin-skills": "0.3.14",
80
- "@frockbot/plugin-subagents": "0.3.14",
81
- "@frockbot/plugin-user-machine": "0.3.14",
82
- "@frockbot/protocol": "0.3.14",
54
+ "@frockbot/agent-runtime": "0.3.15",
55
+ "@frockbot/application-foundation": "0.3.15",
56
+ "@frockbot/catalog-core": "0.3.15",
57
+ "@frockbot/client-core": "0.3.15",
58
+ "@frockbot/client-ui": "0.3.15",
59
+ "@frockbot/computer-core": "0.3.15",
60
+ "@frockbot/computer-host-protocol": "0.3.15",
61
+ "@frockbot/configuration-core": "0.3.15",
62
+ "@frockbot/connection-core": "0.3.15",
63
+ "@frockbot/kernel-agent-loop": "0.3.15",
64
+ "@frockbot/kernel-composition": "0.3.15",
65
+ "@frockbot/kernel-contracts": "0.3.15",
66
+ "@frockbot/kernel-do": "0.3.15",
67
+ "@frockbot/machine-protocol": "0.3.15",
68
+ "@frockbot/plugin-applets": "0.3.15",
69
+ "@frockbot/plugin-authoring": "0.3.15",
70
+ "@frockbot/plugin-bot-template": "0.3.15",
71
+ "@frockbot/plugin-computer": "0.3.15",
72
+ "@frockbot/plugin-flock": "0.3.15",
73
+ "@frockbot/plugin-image": "0.3.15",
74
+ "@frockbot/plugin-machine-messages": "0.3.15",
75
+ "@frockbot/plugin-mcp": "0.3.15",
76
+ "@frockbot/plugin-memory": "0.3.15",
77
+ "@frockbot/plugin-package-catalog": "0.3.15",
78
+ "@frockbot/plugin-routines": "0.3.15",
79
+ "@frockbot/plugin-skills": "0.3.15",
80
+ "@frockbot/plugin-subagents": "0.3.15",
81
+ "@frockbot/plugin-user-machine": "0.3.15",
82
+ "@frockbot/protocol": "0.3.15",
83
83
  "cordis": "4.0.0-rc.8",
84
84
  "vue": "3.5.41"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@cloudflare/workers-types": "latest",
88
- "@frockbot/plugin-prompt": "0.3.14",
89
- "@frockbot/plugin-tools": "0.3.14",
88
+ "@frockbot/plugin-prompt": "0.3.15",
89
+ "@frockbot/plugin-tools": "0.3.15",
90
90
  "@types/bun": "1.3.6",
91
91
  "@types/node": "26.2.0",
92
92
  "@vitejs/plugin-vue": "6.0.8",
@@ -25,6 +25,7 @@ import type {
25
25
  MemoryRuntimeHostV1,
26
26
  } from "@frockbot/plugin-memory/agent";
27
27
  import { MemoryStore } from "@frockbot/plugin-memory/store";
28
+ import type { MemoryChunkIndexWriterV1 } from "@frockbot/plugin-memory/chunk-index";
28
29
 
29
30
  /** The Bot and User whose Memory a Turn may read and write. */
30
31
  export interface BotMemoryIdentity {
@@ -50,6 +51,8 @@ export interface BotMemoryEnv {
50
51
  MEMORY_PROJECTS?: MemoryProjectsV1;
51
52
  /** Display names per Bot id, for the `[via …]` tag on a shared fact. */
52
53
  MEMORY_BOT_NAMES?: Readonly<Record<string, string>>;
54
+ /** Bot-scoped vector-id ledger supplied by the Durable Object host. */
55
+ MEMORY_CHUNK_INDEX?: MemoryChunkIndexWriterV1;
53
56
  }
54
57
 
55
58
  /**
@@ -85,5 +88,8 @@ export function createBotMemoryHost(
85
88
  runId: turn.runId,
86
89
  },
87
90
  ...(bindings.MEMORY_PROJECTS ? { projects: bindings.MEMORY_PROJECTS } : {}),
91
+ ...(bindings.MEMORY_CHUNK_INDEX
92
+ ? { chunkIndex: bindings.MEMORY_CHUNK_INDEX }
93
+ : {}),
88
94
  };
89
95
  }
package/src/backend.ts CHANGED
@@ -589,7 +589,8 @@ export interface BotStateEnv {
589
589
  * Bot authoring still compiles; `package_author` then refuses visibly.
590
590
  */
591
591
  PACKAGE_BUNDLER?: PackageBundlerBinding;
592
- MEMORY_INDEX: VectorizeIndex;
592
+ /** Optional in local and workerd hosts, which have no Vectorize simulator. */
593
+ MEMORY_INDEX?: VectorizeIndex;
593
594
  /** The native AI binding consumed through the image Package adapter. */
594
595
  AI?: NativeAiBindingV1;
595
596
  /** The Frock AI Gateway adapter constructed by the Cloudflare host. */
@@ -11,17 +11,17 @@ import {
11
11
  } from "./voice-worklet.js";
12
12
 
13
13
  /** What the upstream is told to expect, and therefore what leaves here. */
14
- export const VOICE_CAPTURE_SAMPLE_RATE_V1 = 16_000;
14
+ export const VOICE_CAPTURE_SAMPLE_RATE_V1 = 24_000;
15
15
 
16
- /** Samples per frame at 16 kHz: 32 ms, small enough to feel live. */
17
- const FRAME_SAMPLES = 512;
16
+ /** Samples per frame at 24 kHz: 32 ms, small enough to feel live. */
17
+ const FRAME_SAMPLES = 768;
18
18
 
19
19
  export interface VoiceMicrophoneV1 {
20
20
  stop(): Promise<void>;
21
21
  }
22
22
 
23
23
  export interface VoiceMicrophoneOptionsV1 {
24
- /** One frame of PCM16, little-endian, mono, 16 kHz. */
24
+ /** One frame of PCM16, little-endian, mono, 24 kHz. */
25
25
  audio(pcm16: ArrayBuffer): void;
26
26
  /** Peak amplitude of the frame, 0…1, for the capture animation. */
27
27
  level(value: number): void;
@@ -3,6 +3,7 @@ import type { SessionEvent } from "@frockbot/kernel-contracts";
3
3
  import { MODEL_FIRST_BYTE_DEADLINE_REASON_V1 } from "@frockbot/kernel-contracts";
4
4
  import {
5
5
  knownFailureCopyV1,
6
+ MODEL_PROVIDER_FAILURE_COPY_V1,
6
7
  RUN_FAILURE_COPY_V1,
7
8
  RUN_FAILURE_FALLBACK_COPY_V1,
8
9
  runFailureCopyV1,
@@ -75,6 +76,14 @@ function failedRun(failure: string, events: SessionEvent[]): StoredRun {
75
76
  describe("runFailureCopyV1", () => {
76
77
  test("every mapped sentence is written for a person", () => {
77
78
  for (const copy of Object.values(RUN_FAILURE_COPY_V1)) assertPlainV1(copy);
79
+ expect(Object.keys(MODEL_PROVIDER_FAILURE_COPY_V1).sort()).toEqual([
80
+ "permanent",
81
+ "transient",
82
+ "unknown",
83
+ ]);
84
+ for (const copy of Object.values(MODEL_PROVIDER_FAILURE_COPY_V1)) {
85
+ assertPlainV1(copy);
86
+ }
78
87
  assertPlainV1(RUN_FAILURE_FALLBACK_COPY_V1);
79
88
  for (const reason of USER_FACING_FAILURE_REASONS_V1) assertPlainV1(reason);
80
89
  });
@@ -1,4 +1,8 @@
1
- import type { SessionEvent, TurnOutcome } from "@frockbot/kernel-contracts";
1
+ import type {
2
+ ModelProviderFailureClassV1,
3
+ SessionEvent,
4
+ TurnOutcome,
5
+ } from "@frockbot/kernel-contracts";
2
6
  import {
3
7
  MODEL_FIRST_BYTE_DEADLINE_REASON_V1,
4
8
  MODEL_IDLE_DEADLINE_REASON_V1,
@@ -59,6 +63,16 @@ export const RUN_FAILURE_COPY_V1: Record<TurnOutcome, string> = {
59
63
  "tool-error": "Something the Bot was using didn't work. Try again.",
60
64
  };
61
65
 
66
+ /** Every provider class reaches the same intentionally plain model-error copy. */
67
+ export const MODEL_PROVIDER_FAILURE_COPY_V1: Record<
68
+ ModelProviderFailureClassV1,
69
+ string
70
+ > = {
71
+ transient: RUN_FAILURE_COPY_V1["model-error"],
72
+ permanent: RUN_FAILURE_COPY_V1["model-error"],
73
+ unknown: RUN_FAILURE_COPY_V1["model-error"],
74
+ };
75
+
62
76
  /** What a Turn says when nothing more specific is known about how it ended. */
63
77
  export const RUN_FAILURE_FALLBACK_COPY_V1 =
64
78
  "This Bot couldn't finish its reply. Try again.";