@frockbot/client-core 0.3.2 → 0.3.4

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.
Files changed (2) hide show
  1. package/package.json +5 -5
  2. package/src/index.ts +18 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frockbot/client-core",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -13,10 +13,10 @@
13
13
  "typecheck": "tsc --noEmit -p tsconfig.json"
14
14
  },
15
15
  "dependencies": {
16
- "@frockbot/configuration-core": "0.3.2",
17
- "@frockbot/connection-core": "0.3.2",
18
- "@frockbot/kernel-contracts": "0.3.2",
19
- "@frockbot/protocol": "0.3.2",
16
+ "@frockbot/configuration-core": "0.3.4",
17
+ "@frockbot/connection-core": "0.3.4",
18
+ "@frockbot/kernel-contracts": "0.3.4",
19
+ "@frockbot/protocol": "0.3.4",
20
20
  "vue": "3.5.41"
21
21
  },
22
22
  "devDependencies": {
package/src/index.ts CHANGED
@@ -33,7 +33,7 @@ import {
33
33
 
34
34
  export interface ClientTurnEvent {
35
35
  type: string;
36
- call?: { id: string; name: string };
36
+ call?: { id: string; name: string; input?: unknown };
37
37
  callId?: string;
38
38
  content?: string;
39
39
  isError?: boolean;
@@ -122,11 +122,18 @@ export interface ClientRun {
122
122
  | "completed"
123
123
  | "failed"
124
124
  | "cancelled"
125
+ | "superseded"
125
126
  | "reconciliation-required";
126
127
  responseText?: string;
127
128
  failure?: string;
128
129
  /** Durable Stop intent, projected independently of the run status. */
129
130
  stopRequestedAt?: string;
131
+ /**
132
+ * True while the Turn is admitted and waiting rather than running: the User
133
+ * sent it while the Bot was still on the previous one. The thread draws it
134
+ * as an ordinary message it has not reached yet.
135
+ */
136
+ queued?: true;
130
137
  recovery?: { action: "resume"; message: string };
131
138
  }
132
139
 
@@ -143,6 +150,12 @@ export interface AgentTransport {
143
150
  * transport that has no composer — a Routine's, a test's — needs no change.
144
151
  */
145
152
  skills?: readonly SkillRefV1[],
153
+ /**
154
+ * The Turn this message replaces, when the User sent it while one was
155
+ * running. Absent means the ordinary case, where a second command in
156
+ * flight is still refused.
157
+ */
158
+ supersedes?: { runId?: string },
146
159
  ): Promise<ClientTurnResponse>;
147
160
  /**
148
161
  * The Bot's invocable Skills, for the composer's `/` and `@` popover.
@@ -251,12 +264,16 @@ function decodeTurnEvent(value: unknown): ClientTurnEvent {
251
264
  decoded.call = {
252
265
  id: responseString(event, "occurrenceId", "turn event"),
253
266
  name: responseString(event, "name", "turn event"),
267
+ ...(event.name === "call_dynamic_tool" ? { input: event.input } : {}),
254
268
  };
255
269
  } else if (event.call !== undefined) {
256
270
  const call = responseRecord(event.call, "tool call");
257
271
  decoded.call = {
258
272
  id: responseString(call, "id", "tool call"),
259
273
  name: responseString(call, "name", "tool call"),
274
+ ...(call.name === "call_dynamic_tool" && Object.hasOwn(call, "input")
275
+ ? { input: call.input }
276
+ : {}),
260
277
  };
261
278
  }
262
279
  if (event.type === "tool/result" && event.occurrenceId !== undefined) {