@brainpilot/protocol 0.0.4 → 0.0.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/dist/http.d.ts CHANGED
@@ -24,7 +24,7 @@
24
24
  * event payload schema (AgUiEvent) is identical for both.
25
25
  */
26
26
  import { z } from "zod";
27
- export type HttpMethod = "GET" | "POST" | "DELETE";
27
+ export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
28
28
  export interface RouteDef {
29
29
  readonly method: HttpMethod;
30
30
  /** Path template with `:param` placeholders. */
@@ -45,16 +45,27 @@ export declare const MetricsResponseSchema: z.ZodObject<{
45
45
  lastActivityAt: z.ZodNullable<z.ZodString>;
46
46
  /** Resident set size in bytes. */
47
47
  memRss: z.ZodNumber;
48
+ /**
49
+ * Container memory budget in bytes (BP_MEM_LIMIT_MB, §R-4). Null when the
50
+ * opt-in budget is unset — i.e. single-user / no in-runtime throttle.
51
+ */
52
+ memLimitBytes: z.ZodNullable<z.ZodNumber>;
53
+ /** memRss / memLimitBytes, or null when no budget is set. */
54
+ memRatio: z.ZodNullable<z.ZodNumber>;
48
55
  }, "strip", z.ZodTypeAny, {
49
56
  activeSessions: number;
50
57
  runningAgents: number;
51
58
  lastActivityAt: string | null;
52
59
  memRss: number;
60
+ memLimitBytes: number | null;
61
+ memRatio: number | null;
53
62
  }, {
54
63
  activeSessions: number;
55
64
  runningAgents: number;
56
65
  lastActivityAt: string | null;
57
66
  memRss: number;
67
+ memLimitBytes: number | null;
68
+ memRatio: number | null;
58
69
  }>;
59
70
  export type MetricsResponse = z.infer<typeof MetricsResponseSchema>;
60
71
  export declare const CreateSessionRequestSchema: z.ZodObject<{
@@ -62,12 +73,20 @@ export declare const CreateSessionRequestSchema: z.ZodObject<{
62
73
  title: z.ZodOptional<z.ZodString>;
63
74
  /** Optional caller-supplied id; runtime generates a UUID otherwise. */
64
75
  id: z.ZodOptional<z.ZodString>;
76
+ /** Optional provider profile id this session should use (providers.json). */
77
+ providerId: z.ZodOptional<z.ZodString>;
78
+ /** Optional model id within that provider. */
79
+ modelId: z.ZodOptional<z.ZodString>;
65
80
  }, "strip", z.ZodTypeAny, {
66
81
  id?: string | undefined;
67
82
  title?: string | undefined;
83
+ providerId?: string | undefined;
84
+ modelId?: string | undefined;
68
85
  }, {
69
86
  id?: string | undefined;
70
87
  title?: string | undefined;
88
+ providerId?: string | undefined;
89
+ modelId?: string | undefined;
71
90
  }>;
72
91
  export type CreateSessionRequest = z.infer<typeof CreateSessionRequestSchema>;
73
92
  export declare const CreateSessionResponseSchema: z.ZodObject<{
@@ -198,6 +217,76 @@ export declare const GetSessionStateResponseSchema: z.ZodObject<{
198
217
  alive?: boolean | undefined;
199
218
  }>, "many">;
200
219
  lastActivityTs: z.ZodString;
220
+ tokenUsage: z.ZodOptional<z.ZodObject<{
221
+ total: z.ZodObject<{
222
+ input: z.ZodNumber;
223
+ output: z.ZodNumber;
224
+ cacheRead: z.ZodNumber;
225
+ cacheWrite: z.ZodNumber;
226
+ total: z.ZodNumber;
227
+ }, "strip", z.ZodTypeAny, {
228
+ input: number;
229
+ output: number;
230
+ cacheRead: number;
231
+ cacheWrite: number;
232
+ total: number;
233
+ }, {
234
+ input: number;
235
+ output: number;
236
+ cacheRead: number;
237
+ cacheWrite: number;
238
+ total: number;
239
+ }>;
240
+ byAgent: z.ZodRecord<z.ZodString, z.ZodObject<{
241
+ input: z.ZodNumber;
242
+ output: z.ZodNumber;
243
+ cacheRead: z.ZodNumber;
244
+ cacheWrite: z.ZodNumber;
245
+ total: z.ZodNumber;
246
+ }, "strip", z.ZodTypeAny, {
247
+ input: number;
248
+ output: number;
249
+ cacheRead: number;
250
+ cacheWrite: number;
251
+ total: number;
252
+ }, {
253
+ input: number;
254
+ output: number;
255
+ cacheRead: number;
256
+ cacheWrite: number;
257
+ total: number;
258
+ }>>;
259
+ }, "strip", z.ZodTypeAny, {
260
+ total: {
261
+ input: number;
262
+ output: number;
263
+ cacheRead: number;
264
+ cacheWrite: number;
265
+ total: number;
266
+ };
267
+ byAgent: Record<string, {
268
+ input: number;
269
+ output: number;
270
+ cacheRead: number;
271
+ cacheWrite: number;
272
+ total: number;
273
+ }>;
274
+ }, {
275
+ total: {
276
+ input: number;
277
+ output: number;
278
+ cacheRead: number;
279
+ cacheWrite: number;
280
+ total: number;
281
+ };
282
+ byAgent: Record<string, {
283
+ input: number;
284
+ output: number;
285
+ cacheRead: number;
286
+ cacheWrite: number;
287
+ total: number;
288
+ }>;
289
+ }>>;
201
290
  }, "strip", z.ZodTypeAny, {
202
291
  runState: {
203
292
  active: boolean;
@@ -211,6 +300,22 @@ export declare const GetSessionStateResponseSchema: z.ZodObject<{
211
300
  alive?: boolean | undefined;
212
301
  }[];
213
302
  lastActivityTs: string;
303
+ tokenUsage?: {
304
+ total: {
305
+ input: number;
306
+ output: number;
307
+ cacheRead: number;
308
+ cacheWrite: number;
309
+ total: number;
310
+ };
311
+ byAgent: Record<string, {
312
+ input: number;
313
+ output: number;
314
+ cacheRead: number;
315
+ cacheWrite: number;
316
+ total: number;
317
+ }>;
318
+ } | undefined;
214
319
  }, {
215
320
  runState: {
216
321
  active: boolean;
@@ -224,20 +329,136 @@ export declare const GetSessionStateResponseSchema: z.ZodObject<{
224
329
  alive?: boolean | undefined;
225
330
  }[];
226
331
  lastActivityTs: string;
332
+ tokenUsage?: {
333
+ total: {
334
+ input: number;
335
+ output: number;
336
+ cacheRead: number;
337
+ cacheWrite: number;
338
+ total: number;
339
+ };
340
+ byAgent: Record<string, {
341
+ input: number;
342
+ output: number;
343
+ cacheRead: number;
344
+ cacheWrite: number;
345
+ total: number;
346
+ }>;
347
+ } | undefined;
227
348
  }>;
228
349
  export type GetSessionStateResponse = z.infer<typeof GetSessionStateResponseSchema>;
229
- export declare const SendMessageRequestSchema: z.ZodObject<{
350
+ /** A normal user message injected into the session. */
351
+ export declare const SendMessageContentSchema: z.ZodObject<{
230
352
  content: z.ZodString;
231
353
  /** Target agent; defaults to principal. */
232
354
  agent: z.ZodOptional<z.ZodString>;
355
+ /**
356
+ * Optional client-supplied metadata (issue #42). The web composer sends the
357
+ * `uuid` it used for the optimistic user bubble so the runtime can persist a
358
+ * matching `TEXT_MESSAGE_CHUNK` (role:"user") under the same id — on reload
359
+ * the replayed event dedupes against the optimistic one by id rather than
360
+ * duplicating it.
361
+ */
362
+ data: z.ZodOptional<z.ZodObject<{
363
+ uuid: z.ZodOptional<z.ZodString>;
364
+ timestamp: z.ZodOptional<z.ZodString>;
365
+ }, "strip", z.ZodTypeAny, {
366
+ timestamp?: string | undefined;
367
+ uuid?: string | undefined;
368
+ }, {
369
+ timestamp?: string | undefined;
370
+ uuid?: string | undefined;
371
+ }>>;
233
372
  }, "strip", z.ZodTypeAny, {
234
373
  content: string;
235
374
  agent?: string | undefined;
375
+ data?: {
376
+ timestamp?: string | undefined;
377
+ uuid?: string | undefined;
378
+ } | undefined;
236
379
  }, {
237
380
  content: string;
238
381
  agent?: string | undefined;
382
+ data?: {
383
+ timestamp?: string | undefined;
384
+ uuid?: string | undefined;
385
+ } | undefined;
239
386
  }>;
387
+ /** A reply to an outstanding ask_user (user_input_request) — see events.ts. */
388
+ export declare const UserInputResponseBodySchema: z.ZodObject<{
389
+ type: z.ZodLiteral<"user_input_response">;
390
+ session_id: z.ZodString;
391
+ request_id: z.ZodString;
392
+ answer: z.ZodString;
393
+ }, "strip", z.ZodTypeAny, {
394
+ type: "user_input_response";
395
+ session_id: string;
396
+ request_id: string;
397
+ answer: string;
398
+ }, {
399
+ type: "user_input_response";
400
+ session_id: string;
401
+ request_id: string;
402
+ answer: string;
403
+ }>;
404
+ /**
405
+ * POST /sessions/:id/messages accepts EITHER a normal message OR an ask_user
406
+ * reply. The answer body is matched by its `type` literal; everything else is
407
+ * treated as a content message.
408
+ */
409
+ export declare const SendMessageRequestSchema: z.ZodUnion<[z.ZodObject<{
410
+ type: z.ZodLiteral<"user_input_response">;
411
+ session_id: z.ZodString;
412
+ request_id: z.ZodString;
413
+ answer: z.ZodString;
414
+ }, "strip", z.ZodTypeAny, {
415
+ type: "user_input_response";
416
+ session_id: string;
417
+ request_id: string;
418
+ answer: string;
419
+ }, {
420
+ type: "user_input_response";
421
+ session_id: string;
422
+ request_id: string;
423
+ answer: string;
424
+ }>, z.ZodObject<{
425
+ content: z.ZodString;
426
+ /** Target agent; defaults to principal. */
427
+ agent: z.ZodOptional<z.ZodString>;
428
+ /**
429
+ * Optional client-supplied metadata (issue #42). The web composer sends the
430
+ * `uuid` it used for the optimistic user bubble so the runtime can persist a
431
+ * matching `TEXT_MESSAGE_CHUNK` (role:"user") under the same id — on reload
432
+ * the replayed event dedupes against the optimistic one by id rather than
433
+ * duplicating it.
434
+ */
435
+ data: z.ZodOptional<z.ZodObject<{
436
+ uuid: z.ZodOptional<z.ZodString>;
437
+ timestamp: z.ZodOptional<z.ZodString>;
438
+ }, "strip", z.ZodTypeAny, {
439
+ timestamp?: string | undefined;
440
+ uuid?: string | undefined;
441
+ }, {
442
+ timestamp?: string | undefined;
443
+ uuid?: string | undefined;
444
+ }>>;
445
+ }, "strip", z.ZodTypeAny, {
446
+ content: string;
447
+ agent?: string | undefined;
448
+ data?: {
449
+ timestamp?: string | undefined;
450
+ uuid?: string | undefined;
451
+ } | undefined;
452
+ }, {
453
+ content: string;
454
+ agent?: string | undefined;
455
+ data?: {
456
+ timestamp?: string | undefined;
457
+ uuid?: string | undefined;
458
+ } | undefined;
459
+ }>]>;
240
460
  export type SendMessageRequest = z.infer<typeof SendMessageRequestSchema>;
461
+ export type UserInputResponseBody = z.infer<typeof UserInputResponseBodySchema>;
241
462
  export declare const SendMessageResponseSchema: z.ZodObject<{
242
463
  accepted: z.ZodBoolean;
243
464
  /** Run id started/queued for this message, if synchronously known. */
@@ -1111,6 +1332,31 @@ export declare const InterruptResponseSchema: z.ZodObject<{
1111
1332
  interrupted: boolean;
1112
1333
  }>;
1113
1334
  export type InterruptResponse = z.infer<typeof InterruptResponseSchema>;
1335
+ /** #47: upload body. Content is base64 (binary-safe over the JSON byte chain). */
1336
+ export declare const WriteFileRequestSchema: z.ZodObject<{
1337
+ /** Workspace-relative path (a leading `/workspace` prefix is tolerated). */
1338
+ path: z.ZodString;
1339
+ /** File contents, base64-encoded. */
1340
+ contentBase64: z.ZodString;
1341
+ }, "strip", z.ZodTypeAny, {
1342
+ path: string;
1343
+ contentBase64: string;
1344
+ }, {
1345
+ path: string;
1346
+ contentBase64: string;
1347
+ }>;
1348
+ export type WriteFileRequest = z.infer<typeof WriteFileRequestSchema>;
1349
+ export declare const WriteFileResponseSchema: z.ZodObject<{
1350
+ path: z.ZodString;
1351
+ size: z.ZodNumber;
1352
+ }, "strip", z.ZodTypeAny, {
1353
+ path: string;
1354
+ size: number;
1355
+ }, {
1356
+ path: string;
1357
+ size: number;
1358
+ }>;
1359
+ export type WriteFileResponse = z.infer<typeof WriteFileResponseSchema>;
1114
1360
  export declare const ListAgentsResponseSchema: z.ZodObject<{
1115
1361
  agents: z.ZodArray<z.ZodObject<{
1116
1362
  name: z.ZodString;
@@ -1182,6 +1428,11 @@ export declare const RUNTIME_ROUTES: {
1182
1428
  readonly method: "GET";
1183
1429
  readonly path: "/sessions/:id";
1184
1430
  };
1431
+ /** Update session metadata (currently just `title`); persists to meta.json. */
1432
+ readonly updateSession: {
1433
+ readonly method: "PUT";
1434
+ readonly path: "/sessions/:id";
1435
+ };
1185
1436
  readonly deleteSession: {
1186
1437
  readonly method: "DELETE";
1187
1438
  readonly path: "/sessions/:id";
@@ -1190,6 +1441,11 @@ export declare const RUNTIME_ROUTES: {
1190
1441
  readonly method: "GET";
1191
1442
  readonly path: "/sessions/:id/state";
1192
1443
  };
1444
+ /** Graph of Trace (reasoning DAG) for a session. */
1445
+ readonly getTrace: {
1446
+ readonly method: "GET";
1447
+ readonly path: "/sessions/:id/trace";
1448
+ };
1193
1449
  readonly sendMessage: {
1194
1450
  readonly method: "POST";
1195
1451
  readonly path: "/sessions/:id/messages";
@@ -1204,6 +1460,17 @@ export declare const RUNTIME_ROUTES: {
1204
1460
  readonly method: "GET";
1205
1461
  readonly path: "/sessions/:id/events";
1206
1462
  };
1463
+ /**
1464
+ * Persisted AG-UI event history from `events.jsonl`. The SPA calls this on
1465
+ * session activation to rehydrate chat after a runtime restart (the SSE
1466
+ * stream only replays the in-memory ring buffer). Query: `?limit=N`
1467
+ * (default 1000, capped at 5000); returns the most recent N events when
1468
+ * the file is longer.
1469
+ */
1470
+ readonly getSessionHistory: {
1471
+ readonly method: "GET";
1472
+ readonly path: "/sessions/:id/history";
1473
+ };
1207
1474
  readonly interrupt: {
1208
1475
  readonly method: "POST";
1209
1476
  readonly path: "/sessions/:id/interrupt";
@@ -1216,6 +1483,28 @@ export declare const RUNTIME_ROUTES: {
1216
1483
  readonly method: "POST";
1217
1484
  readonly path: "/sessions/:id/evict";
1218
1485
  };
1486
+ /** Workspace files (`workspaces/:id/`). `?path=` is relative to the workspace root. */
1487
+ readonly listFiles: {
1488
+ readonly method: "GET";
1489
+ readonly path: "/sessions/:id/files";
1490
+ };
1491
+ readonly readFile: {
1492
+ readonly method: "GET";
1493
+ readonly path: "/sessions/:id/files/content";
1494
+ };
1495
+ readonly readRawFile: {
1496
+ readonly method: "GET";
1497
+ readonly path: "/sessions/:id/files/raw";
1498
+ };
1499
+ readonly deleteFile: {
1500
+ readonly method: "DELETE";
1501
+ readonly path: "/sessions/:id/files";
1502
+ };
1503
+ /** #47: upload a file into the workspace. Body: { path, contentBase64 }. */
1504
+ readonly writeFile: {
1505
+ readonly method: "POST";
1506
+ readonly path: "/sessions/:id/files";
1507
+ };
1219
1508
  };
1220
1509
  export type RuntimeRouteName = keyof typeof RUNTIME_ROUTES;
1221
1510
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAMD,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,eAAO,MAAM,qBAAqB;;;IAGhC,0EAA0E;;IAE1E,kCAAkC;;;;;;;;;;;;EAElC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,0BAA0B;IACrC,2EAA2E;;IAE3E,uEAAuE;;;;;;;;EAEvE,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAAgB,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;;;;;;;;EAGtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMhF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMpF,eAAO,MAAM,wBAAwB;;IAEnC,2CAA2C;;;;;;;;EAE3C,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;IAEpC,sEAAsE;;;;;;;;EAEtE,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAM5E;6CAC6C;AAC7C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAkB,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,sBAAsB;IACjC,2EAA2E;;;;;;EAE3E,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAMxE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E,eAAO,MAAM,0BAA0B;;IAErC,2CAA2C;;;;;;;;EAE3C,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAM9E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASzB,4CAA4C;;;;;IAE5C,8EAA8E;;;;;;;;;;;;;;;;;CAKnC,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,cAAc,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/http.js CHANGED
@@ -42,6 +42,13 @@ export const MetricsResponseSchema = z.object({
42
42
  lastActivityAt: z.string().nullable(),
43
43
  /** Resident set size in bytes. */
44
44
  memRss: z.number(),
45
+ /**
46
+ * Container memory budget in bytes (BP_MEM_LIMIT_MB, §R-4). Null when the
47
+ * opt-in budget is unset — i.e. single-user / no in-runtime throttle.
48
+ */
49
+ memLimitBytes: z.number().nullable(),
50
+ /** memRss / memLimitBytes, or null when no budget is set. */
51
+ memRatio: z.number().nullable(),
45
52
  });
46
53
  /* ------------------------------------------------------------------ *
47
54
  * POST /sessions (create)
@@ -51,6 +58,10 @@ export const CreateSessionRequestSchema = z.object({
51
58
  title: z.string().optional(),
52
59
  /** Optional caller-supplied id; runtime generates a UUID otherwise. */
53
60
  id: z.string().optional(),
61
+ /** Optional provider profile id this session should use (providers.json). */
62
+ providerId: z.string().optional(),
63
+ /** Optional model id within that provider. */
64
+ modelId: z.string().optional(),
54
65
  });
55
66
  export const CreateSessionResponseSchema = z.object({
56
67
  id: z.string(),
@@ -74,11 +85,41 @@ export const GetSessionStateResponseSchema = SessionStateSnapshotSchema;
74
85
  /* ------------------------------------------------------------------ *
75
86
  * POST /sessions/:id/messages (inject user message)
76
87
  * ------------------------------------------------------------------ */
77
- export const SendMessageRequestSchema = z.object({
88
+ /** A normal user message injected into the session. */
89
+ export const SendMessageContentSchema = z.object({
78
90
  content: z.string(),
79
91
  /** Target agent; defaults to principal. */
80
92
  agent: z.string().optional(),
93
+ /**
94
+ * Optional client-supplied metadata (issue #42). The web composer sends the
95
+ * `uuid` it used for the optimistic user bubble so the runtime can persist a
96
+ * matching `TEXT_MESSAGE_CHUNK` (role:"user") under the same id — on reload
97
+ * the replayed event dedupes against the optimistic one by id rather than
98
+ * duplicating it.
99
+ */
100
+ data: z
101
+ .object({
102
+ uuid: z.string().optional(),
103
+ timestamp: z.string().optional(),
104
+ })
105
+ .optional(),
81
106
  });
107
+ /** A reply to an outstanding ask_user (user_input_request) — see events.ts. */
108
+ export const UserInputResponseBodySchema = z.object({
109
+ type: z.literal("user_input_response"),
110
+ session_id: z.string(),
111
+ request_id: z.string(),
112
+ answer: z.string(),
113
+ });
114
+ /**
115
+ * POST /sessions/:id/messages accepts EITHER a normal message OR an ask_user
116
+ * reply. The answer body is matched by its `type` literal; everything else is
117
+ * treated as a content message.
118
+ */
119
+ export const SendMessageRequestSchema = z.union([
120
+ UserInputResponseBodySchema,
121
+ SendMessageContentSchema,
122
+ ]);
82
123
  export const SendMessageResponseSchema = z.object({
83
124
  accepted: z.boolean(),
84
125
  /** Run id started/queued for this message, if synchronously known. */
@@ -100,6 +141,20 @@ export const InterruptRequestSchema = z.object({
100
141
  export const InterruptResponseSchema = z.object({
101
142
  interrupted: z.boolean(),
102
143
  });
144
+ /* ------------------------------------------------------------------ *
145
+ * POST /sessions/:id/files (#47 — upload a file into the workspace)
146
+ * ------------------------------------------------------------------ */
147
+ /** #47: upload body. Content is base64 (binary-safe over the JSON byte chain). */
148
+ export const WriteFileRequestSchema = z.object({
149
+ /** Workspace-relative path (a leading `/workspace` prefix is tolerated). */
150
+ path: z.string().trim().min(1),
151
+ /** File contents, base64-encoded. */
152
+ contentBase64: z.string(),
153
+ });
154
+ export const WriteFileResponseSchema = z.object({
155
+ path: z.string(),
156
+ size: z.number(),
157
+ });
103
158
  /* ------------------------------------------------------------------ *
104
159
  * GET /sessions/:id/agents (§10 polling fallback)
105
160
  * ------------------------------------------------------------------ */
@@ -123,15 +178,34 @@ export const RUNTIME_ROUTES = {
123
178
  createSession: { method: "POST", path: "/sessions" },
124
179
  listSessions: { method: "GET", path: "/sessions" },
125
180
  getSession: { method: "GET", path: "/sessions/:id" },
181
+ /** Update session metadata (currently just `title`); persists to meta.json. */
182
+ updateSession: { method: "PUT", path: "/sessions/:id" },
126
183
  deleteSession: { method: "DELETE", path: "/sessions/:id" },
127
184
  getSessionState: { method: "GET", path: "/sessions/:id/state" },
185
+ /** Graph of Trace (reasoning DAG) for a session. */
186
+ getTrace: { method: "GET", path: "/sessions/:id/trace" },
128
187
  sendMessage: { method: "POST", path: "/sessions/:id/messages" },
129
188
  /** Canonical AG-UI event stream (§15.4). */
130
189
  sessionEvents: { method: "GET", path: "/sse/:id" },
131
190
  /** Alias path some callers use; same AgUiEvent payload as `sessionEvents`. */
132
191
  sessionEventsAlias: { method: "GET", path: "/sessions/:id/events" },
192
+ /**
193
+ * Persisted AG-UI event history from `events.jsonl`. The SPA calls this on
194
+ * session activation to rehydrate chat after a runtime restart (the SSE
195
+ * stream only replays the in-memory ring buffer). Query: `?limit=N`
196
+ * (default 1000, capped at 5000); returns the most recent N events when
197
+ * the file is longer.
198
+ */
199
+ getSessionHistory: { method: "GET", path: "/sessions/:id/history" },
133
200
  interrupt: { method: "POST", path: "/sessions/:id/interrupt" },
134
201
  listAgents: { method: "GET", path: "/sessions/:id/agents" },
135
202
  evictSession: { method: "POST", path: "/sessions/:id/evict" },
203
+ /** Workspace files (`workspaces/:id/`). `?path=` is relative to the workspace root. */
204
+ listFiles: { method: "GET", path: "/sessions/:id/files" },
205
+ readFile: { method: "GET", path: "/sessions/:id/files/content" },
206
+ readRawFile: { method: "GET", path: "/sessions/:id/files/raw" },
207
+ deleteFile: { method: "DELETE", path: "/sessions/:id/files" },
208
+ /** #47: upload a file into the workspace. Body: { path, contentBase64 }. */
209
+ writeFile: { method: "POST", path: "/sessions/:id/files" },
136
210
  };
137
211
  //# sourceMappingURL=http.js.map
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@brainpilot/protocol",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
+ "engines": {
5
+ "node": ">=22"
6
+ },
4
7
  "license": "Apache-2.0",
5
8
  "type": "module",
6
9
  "description": "BrainPilot AG-UI events + REST/SSE schemas + Runtime HTTP contract (SSOT, zod-validated)",