camstack 1.2.18 → 1.2.20

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.
@@ -27222,6 +27222,22 @@ var TerminalProfileInfoSchema = external_exports.object({
27222
27222
  label: external_exports.string(),
27223
27223
  description: external_exports.string().optional()
27224
27224
  });
27225
+ var TerminalOutputEventSchema = external_exports.discriminatedUnion("kind", [external_exports.object({
27226
+ seq: external_exports.number().int().positive(),
27227
+ kind: external_exports.literal("data"),
27228
+ data: external_exports.string()
27229
+ }), external_exports.object({
27230
+ seq: external_exports.number().int().positive(),
27231
+ kind: external_exports.literal("exit"),
27232
+ exitCode: external_exports.number().int(),
27233
+ signal: external_exports.number().int().optional()
27234
+ })]);
27235
+ var TerminalOutputBatchSchema = external_exports.object({
27236
+ cursor: external_exports.number().int().nonnegative(),
27237
+ reset: external_exports.boolean(),
27238
+ snapshot: external_exports.string().optional(),
27239
+ events: external_exports.array(TerminalOutputEventSchema).readonly()
27240
+ });
27225
27241
  var terminalSessionCapability = {
27226
27242
  name: "terminal-session",
27227
27243
  scope: "system",
@@ -27252,6 +27268,28 @@ var terminalSessionCapability = {
27252
27268
  kind: "mutation",
27253
27269
  auth: "admin"
27254
27270
  }),
27271
+ /**
27272
+ * Pull ordered output after a cursor. This capability transport is what
27273
+ * makes remote-agent terminals possible; `reset + snapshot` repairs a
27274
+ * caller that fell behind the bounded replay window.
27275
+ */
27276
+ pullOutput: method(external_exports.object({
27277
+ sessionId: external_exports.string(),
27278
+ afterSeq: external_exports.number().int().nonnegative(),
27279
+ waitMs: external_exports.number().int().min(0).max(2e3).default(0)
27280
+ }), TerminalOutputBatchSchema, {
27281
+ kind: "mutation",
27282
+ auth: "admin",
27283
+ timeoutMs: 15e3
27284
+ }),
27285
+ /** Write terminal input through the node-routable capability plane. */
27286
+ writeInput: method(external_exports.object({
27287
+ sessionId: external_exports.string(),
27288
+ data: external_exports.string().max(64 * 1024)
27289
+ }), external_exports.void(), {
27290
+ kind: "mutation",
27291
+ auth: "admin"
27292
+ }),
27255
27293
  /** Terminate a live session and release its pty. */
27256
27294
  close: method(external_exports.object({ sessionId: external_exports.string() }), external_exports.void(), {
27257
27295
  kind: "mutation",
@@ -39398,12 +39436,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
39398
39436
  addonId: null,
39399
39437
  access: "create"
39400
39438
  },
39439
+ "terminalSession.pullOutput": {
39440
+ capName: "terminal-session",
39441
+ capScope: "system",
39442
+ addonId: null,
39443
+ access: "create"
39444
+ },
39401
39445
  "terminalSession.resize": {
39402
39446
  capName: "terminal-session",
39403
39447
  capScope: "system",
39404
39448
  addonId: null,
39405
39449
  access: "create"
39406
39450
  },
39451
+ "terminalSession.writeInput": {
39452
+ capName: "terminal-session",
39453
+ capScope: "system",
39454
+ addonId: null,
39455
+ access: "create"
39456
+ },
39407
39457
  "toast.onToast": {
39408
39458
  capName: "toast",
39409
39459
  capScope: "system",
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDiscover
4
- } from "./chunk-DNOHVKC5.js";
4
+ } from "./chunk-INLS2YWL.js";
5
5
  import "./chunk-LMMQX4CK.js";
6
6
 
7
7
  // src/cli.ts
@@ -38,7 +38,7 @@ async function runServe(args) {
38
38
  ...typeof values.data === "string" ? { data: values.data } : {}
39
39
  };
40
40
  Object.assign(process.env, buildServeEnv(opts));
41
- await import("./launcher-KGB5UIEY.js");
41
+ await import("./launcher-3CU6JQOY.js");
42
42
  }
43
43
 
44
44
  // src/commands/agent.ts
@@ -83,7 +83,7 @@ async function runAgent(args) {
83
83
  ...typeof values.port === "string" ? { port: values.port } : {}
84
84
  };
85
85
  Object.assign(process.env, buildAgentEnv(opts));
86
- await import("./launcher-KGB5UIEY.js");
86
+ await import("./launcher-3CU6JQOY.js");
87
87
  }
88
88
 
89
89
  // src/commands/setup.ts
@@ -1130,7 +1130,7 @@ function isUnknown(_value) {
1130
1130
  return true;
1131
1131
  }
1132
1132
  async function resolveServerInteractive(presetNamespace) {
1133
- const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-X6QNQEDL.js");
1133
+ const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-X6SVCEM5.js");
1134
1134
  if (presetNamespace) {
1135
1135
  const spinner4 = clack.spinner();
1136
1136
  spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
@@ -5,7 +5,7 @@ import {
5
5
  filterHubNodes,
6
6
  resolveHubFromDiscovered,
7
7
  runDiscover
8
- } from "./chunk-DNOHVKC5.js";
8
+ } from "./chunk-INLS2YWL.js";
9
9
  import "./chunk-LMMQX4CK.js";
10
10
  export {
11
11
  DEFAULT_HUB_HTTPS_PORT,
@@ -23509,9 +23509,9 @@ var require_zod = __commonJS({
23509
23509
  }
23510
23510
  });
23511
23511
 
23512
- // ../system/dist/dist-B1W4mT4z.js
23513
- var require_dist_B1W4mT4z = __commonJS({
23514
- "../system/dist/dist-B1W4mT4z.js"(exports) {
23512
+ // ../system/dist/dist-DWZce90k.js
23513
+ var require_dist_DWZce90k = __commonJS({
23514
+ "../system/dist/dist-DWZce90k.js"(exports) {
23515
23515
  "use strict";
23516
23516
  var zod = require_zod();
23517
23517
  var EventCategory = /* @__PURE__ */ (function(EventCategory2) {
@@ -37409,6 +37409,22 @@ var require_dist_B1W4mT4z = __commonJS({
37409
37409
  label: zod.z.string(),
37410
37410
  description: zod.z.string().optional()
37411
37411
  });
37412
+ var TerminalOutputEventSchema = zod.z.discriminatedUnion("kind", [zod.z.object({
37413
+ seq: zod.z.number().int().positive(),
37414
+ kind: zod.z.literal("data"),
37415
+ data: zod.z.string()
37416
+ }), zod.z.object({
37417
+ seq: zod.z.number().int().positive(),
37418
+ kind: zod.z.literal("exit"),
37419
+ exitCode: zod.z.number().int(),
37420
+ signal: zod.z.number().int().optional()
37421
+ })]);
37422
+ var TerminalOutputBatchSchema = zod.z.object({
37423
+ cursor: zod.z.number().int().nonnegative(),
37424
+ reset: zod.z.boolean(),
37425
+ snapshot: zod.z.string().optional(),
37426
+ events: zod.z.array(TerminalOutputEventSchema).readonly()
37427
+ });
37412
37428
  var terminalSessionCapability = {
37413
37429
  name: "terminal-session",
37414
37430
  scope: "system",
@@ -37439,6 +37455,28 @@ var require_dist_B1W4mT4z = __commonJS({
37439
37455
  kind: "mutation",
37440
37456
  auth: "admin"
37441
37457
  }),
37458
+ /**
37459
+ * Pull ordered output after a cursor. This capability transport is what
37460
+ * makes remote-agent terminals possible; `reset + snapshot` repairs a
37461
+ * caller that fell behind the bounded replay window.
37462
+ */
37463
+ pullOutput: method(zod.z.object({
37464
+ sessionId: zod.z.string(),
37465
+ afterSeq: zod.z.number().int().nonnegative(),
37466
+ waitMs: zod.z.number().int().min(0).max(2e3).default(0)
37467
+ }), TerminalOutputBatchSchema, {
37468
+ kind: "mutation",
37469
+ auth: "admin",
37470
+ timeoutMs: 15e3
37471
+ }),
37472
+ /** Write terminal input through the node-routable capability plane. */
37473
+ writeInput: method(zod.z.object({
37474
+ sessionId: zod.z.string(),
37475
+ data: zod.z.string().max(64 * 1024)
37476
+ }), zod.z.void(), {
37477
+ kind: "mutation",
37478
+ auth: "admin"
37479
+ }),
37442
37480
  /** Terminate a live session and release its pty. */
37443
37481
  close: method(zod.z.object({ sessionId: zod.z.string() }), zod.z.void(), {
37444
37482
  kind: "mutation",
@@ -50241,12 +50279,24 @@ var require_dist_B1W4mT4z = __commonJS({
50241
50279
  addonId: null,
50242
50280
  access: "create"
50243
50281
  },
50282
+ "terminalSession.pullOutput": {
50283
+ capName: "terminal-session",
50284
+ capScope: "system",
50285
+ addonId: null,
50286
+ access: "create"
50287
+ },
50244
50288
  "terminalSession.resize": {
50245
50289
  capName: "terminal-session",
50246
50290
  capScope: "system",
50247
50291
  addonId: null,
50248
50292
  access: "create"
50249
50293
  },
50294
+ "terminalSession.writeInput": {
50295
+ capName: "terminal-session",
50296
+ capScope: "system",
50297
+ addonId: null,
50298
+ access: "create"
50299
+ },
50250
50300
  "toast.onToast": {
50251
50301
  capName: "toast",
50252
50302
  capScope: "system",
@@ -51575,7 +51625,7 @@ var require_alerts_addon = __commonJS({
51575
51625
  [Symbol.toStringTag]: { value: "Module" }
51576
51626
  });
51577
51627
  require_chunk_Cek0wNdY();
51578
- var require_dist10 = require_dist_B1W4mT4z();
51628
+ var require_dist10 = require_dist_DWZce90k();
51579
51629
  function selectExpired(alerts, cutoffMs) {
51580
51630
  return alerts.filter((a) => a.createdAt < cutoffMs).sort((a, b) => a.createdAt - b.createdAt).map((a) => a.id);
51581
51631
  }
@@ -52388,7 +52438,7 @@ var require_console_logging = __commonJS({
52388
52438
  [Symbol.toStringTag]: { value: "Module" }
52389
52439
  });
52390
52440
  require_chunk_Cek0wNdY();
52391
- var require_dist10 = require_dist_B1W4mT4z();
52441
+ var require_dist10 = require_dist_DWZce90k();
52392
52442
  var require_formatter = require_formatter_DqAKDlvN();
52393
52443
  var LEVEL_RANK = {
52394
52444
  debug: 0,
@@ -52482,7 +52532,7 @@ var require_core_blocks_addon = __commonJS({
52482
52532
  "use strict";
52483
52533
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
52484
52534
  var require_chunk = require_chunk_Cek0wNdY();
52485
- var require_dist10 = require_dist_B1W4mT4z();
52535
+ var require_dist10 = require_dist_DWZce90k();
52486
52536
  var node_crypto = __require("crypto");
52487
52537
  var node_fs_promises = __require("fs/promises");
52488
52538
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
@@ -55180,7 +55230,7 @@ var require_device_manager_addon = __commonJS({
55180
55230
  [Symbol.toStringTag]: { value: "Module" }
55181
55231
  });
55182
55232
  require_chunk_Cek0wNdY();
55183
- var require_dist10 = require_dist_B1W4mT4z();
55233
+ var require_dist10 = require_dist_DWZce90k();
55184
55234
  var node_crypto = __require("crypto");
55185
55235
  var _camstack_types_node = require_node();
55186
55236
  var JOB_HISTORY = 20;
@@ -59036,7 +59086,7 @@ var require_hub_forwarder = __commonJS({
59036
59086
  [Symbol.toStringTag]: { value: "Module" }
59037
59087
  });
59038
59088
  require_chunk_Cek0wNdY();
59039
- var require_dist10 = require_dist_B1W4mT4z();
59089
+ var require_dist10 = require_dist_DWZce90k();
59040
59090
  var require_formatter = require_formatter_DqAKDlvN();
59041
59091
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
59042
59092
  var HubForwarderDestination = class {
@@ -59173,7 +59223,7 @@ var require_liveness_monitor_addon = __commonJS({
59173
59223
  "use strict";
59174
59224
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
59175
59225
  require_chunk_Cek0wNdY();
59176
- var require_dist10 = require_dist_B1W4mT4z();
59226
+ var require_dist10 = require_dist_DWZce90k();
59177
59227
  var NO_DEVICES = "liveness:no-devices";
59178
59228
  var ALL_OFFLINE = "liveness:all-devices-offline";
59179
59229
  var NO_FOOTAGE_PREFIX = "liveness:no-footage:";
@@ -59363,7 +59413,7 @@ var require_local_auth_addon = __commonJS({
59363
59413
  [Symbol.toStringTag]: { value: "Module" }
59364
59414
  });
59365
59415
  var require_chunk = require_chunk_Cek0wNdY();
59366
- var require_dist10 = require_dist_B1W4mT4z();
59416
+ var require_dist10 = require_dist_DWZce90k();
59367
59417
  var node_crypto = __require("crypto");
59368
59418
  node_crypto = require_chunk.__toESM(node_crypto);
59369
59419
  var crypto$1 = __require("crypto");
@@ -67047,7 +67097,7 @@ var require_loki_logging = __commonJS({
67047
67097
  [Symbol.toStringTag]: { value: "Module" }
67048
67098
  });
67049
67099
  require_chunk_Cek0wNdY();
67050
- var require_dist10 = require_dist_B1W4mT4z();
67100
+ var require_dist10 = require_dist_DWZce90k();
67051
67101
  function sanitizeLabelName(raw) {
67052
67102
  const replaced = raw.replaceAll(/[^a-zA-Z0-9_]/g, "_");
67053
67103
  return /^[a-zA-Z_]/.test(replaced) ? replaced : `_${replaced}`;
@@ -67612,7 +67662,7 @@ var require_native_metrics_addon = __commonJS({
67612
67662
  [Symbol.toStringTag]: { value: "Module" }
67613
67663
  });
67614
67664
  var require_chunk = require_chunk_Cek0wNdY();
67615
- var require_dist10 = require_dist_B1W4mT4z();
67665
+ var require_dist10 = require_dist_DWZce90k();
67616
67666
  var node_child_process = __require("child_process");
67617
67667
  var node_util = __require("util");
67618
67668
  var node_os = __require("os");
@@ -68554,7 +68604,7 @@ var require_filesystem_storage_addon = __commonJS({
68554
68604
  [Symbol.toStringTag]: { value: "Module" }
68555
68605
  });
68556
68606
  var require_chunk = require_chunk_Cek0wNdY();
68557
- var require_dist10 = require_dist_B1W4mT4z();
68607
+ var require_dist10 = require_dist_DWZce90k();
68558
68608
  var node_crypto = __require("crypto");
68559
68609
  var node_fs_promises = __require("fs/promises");
68560
68610
  var node_path = __require("path");
@@ -69667,7 +69717,7 @@ var require_sqlite_settings_addon = __commonJS({
69667
69717
  [Symbol.toStringTag]: { value: "Module" }
69668
69718
  });
69669
69719
  var require_chunk = require_chunk_Cek0wNdY();
69670
- var require_dist10 = require_dist_B1W4mT4z();
69720
+ var require_dist10 = require_dist_DWZce90k();
69671
69721
  var node_crypto = __require("crypto");
69672
69722
  var node_fs = __require("fs");
69673
69723
  var node_module = __require("module");
@@ -71182,7 +71232,7 @@ var require_storage_orchestrator_addon = __commonJS({
71182
71232
  [Symbol.toStringTag]: { value: "Module" }
71183
71233
  });
71184
71234
  var require_chunk = require_chunk_Cek0wNdY();
71185
- var require_dist10 = require_dist_B1W4mT4z();
71235
+ var require_dist10 = require_dist_DWZce90k();
71186
71236
  var node_fs_promises = __require("fs/promises");
71187
71237
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
71188
71238
  var node_path = __require("path");
@@ -72548,7 +72598,7 @@ var require_system_config_addon = __commonJS({
72548
72598
  [Symbol.toStringTag]: { value: "Module" }
72549
72599
  });
72550
72600
  require_chunk_Cek0wNdY();
72551
- var require_dist10 = require_dist_B1W4mT4z();
72601
+ var require_dist10 = require_dist_DWZce90k();
72552
72602
  var SECTION_TITLES = {
72553
72603
  server: "Server",
72554
72604
  auth: "Authentication"
@@ -90609,7 +90659,7 @@ var require_winston_logging = __commonJS({
90609
90659
  [Symbol.toStringTag]: { value: "Module" }
90610
90660
  });
90611
90661
  var require_chunk = require_chunk_Cek0wNdY();
90612
- var require_dist10 = require_dist_B1W4mT4z();
90662
+ var require_dist10 = require_dist_DWZce90k();
90613
90663
  var require_formatter = require_formatter_DqAKDlvN();
90614
90664
  var node_path = __require("path");
90615
90665
  node_path = require_chunk.__toESM(node_path);
@@ -95404,6 +95454,7 @@ var require_addon = __commonJS({
95404
95454
  "speed": 2
95405
95455
  }
95406
95456
  },
95457
+ "terminal-session": { "pullOutput": { "waitMs": 0 } },
95407
95458
  "user-management": {
95408
95459
  "createApiKey": { "isAdmin": false },
95409
95460
  "createUser": { "isAdmin": false }
@@ -112577,7 +112628,7 @@ var require_dist3 = __commonJS({
112577
112628
  "use strict";
112578
112629
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
112579
112630
  var require_chunk = require_chunk_Cek0wNdY();
112580
- var require_dist10 = require_dist_B1W4mT4z();
112631
+ var require_dist10 = require_dist_DWZce90k();
112581
112632
  var require_builtins_alerts_alerts_addon = require_alerts_addon();
112582
112633
  require_alerts();
112583
112634
  var require_formatter = require_formatter_DqAKDlvN();
@@ -112917,12 +112968,13 @@ var require_dist3 = __commonJS({
112917
112968
  }
112918
112969
  };
112919
112970
  function proxyToUpstream(opts) {
112920
- const { baseUrl, secret, upstreamPath, clientReq, clientRes } = opts;
112971
+ const { baseUrl, secret, upstreamPath, clientReq, clientRes, replayBody } = opts;
112921
112972
  const base = new URL(baseUrl);
112922
112973
  const headers = { ...clientReq.headers };
112923
112974
  delete headers.host;
112924
112975
  delete headers.connection;
112925
112976
  delete headers["content-length"];
112977
+ if (replayBody !== void 0) headers["content-length"] = replayBody.byteLength;
112926
112978
  headers[require_dist10.DATAPLANE_SECRET_HEADER] = secret;
112927
112979
  const upstream = (0, node_http.request)({
112928
112980
  protocol: base.protocol,
@@ -112951,7 +113003,8 @@ var require_dist3 = __commonJS({
112951
113003
  clientRes.on("close", () => {
112952
113004
  if (!clientRes.writableFinished && !upstream.destroyed) upstream.destroy();
112953
113005
  });
112954
- clientReq.pipe(upstream);
113006
+ if (replayBody !== void 0) upstream.end(replayBody);
113007
+ else clientReq.pipe(upstream);
112955
113008
  }
112956
113009
  var HEAP_WATCH_INTERVAL_MS = 6e4;
112957
113010
  var HEAP_WATCH_WARN_RATIO = 0.8;
@@ -245960,6 +246013,22 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
245960
246013
  label: zod.z.string(),
245961
246014
  description: zod.z.string().optional()
245962
246015
  });
246016
+ var TerminalOutputEventSchema = zod.z.discriminatedUnion("kind", [zod.z.object({
246017
+ seq: zod.z.number().int().positive(),
246018
+ kind: zod.z.literal("data"),
246019
+ data: zod.z.string()
246020
+ }), zod.z.object({
246021
+ seq: zod.z.number().int().positive(),
246022
+ kind: zod.z.literal("exit"),
246023
+ exitCode: zod.z.number().int(),
246024
+ signal: zod.z.number().int().optional()
246025
+ })]);
246026
+ var TerminalOutputBatchSchema = zod.z.object({
246027
+ cursor: zod.z.number().int().nonnegative(),
246028
+ reset: zod.z.boolean(),
246029
+ snapshot: zod.z.string().optional(),
246030
+ events: zod.z.array(TerminalOutputEventSchema).readonly()
246031
+ });
245963
246032
  var terminalSessionCapability = {
245964
246033
  name: "terminal-session",
245965
246034
  scope: "system",
@@ -245990,6 +246059,28 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
245990
246059
  kind: "mutation",
245991
246060
  auth: "admin"
245992
246061
  }),
246062
+ /**
246063
+ * Pull ordered output after a cursor. This capability transport is what
246064
+ * makes remote-agent terminals possible; `reset + snapshot` repairs a
246065
+ * caller that fell behind the bounded replay window.
246066
+ */
246067
+ pullOutput: require_sleep.method(zod.z.object({
246068
+ sessionId: zod.z.string(),
246069
+ afterSeq: zod.z.number().int().nonnegative(),
246070
+ waitMs: zod.z.number().int().min(0).max(2e3).default(0)
246071
+ }), TerminalOutputBatchSchema, {
246072
+ kind: "mutation",
246073
+ auth: "admin",
246074
+ timeoutMs: 15e3
246075
+ }),
246076
+ /** Write terminal input through the node-routable capability plane. */
246077
+ writeInput: require_sleep.method(zod.z.object({
246078
+ sessionId: zod.z.string(),
246079
+ data: zod.z.string().max(64 * 1024)
246080
+ }), zod.z.void(), {
246081
+ kind: "mutation",
246082
+ auth: "admin"
246083
+ }),
245993
246084
  /** Terminate a live session and release its pty. */
245994
246085
  close: require_sleep.method(zod.z.object({ sessionId: zod.z.string() }), zod.z.void(), {
245995
246086
  kind: "mutation",
@@ -261635,12 +261726,24 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
261635
261726
  addonId: null,
261636
261727
  access: "create"
261637
261728
  },
261729
+ "terminalSession.pullOutput": {
261730
+ capName: "terminal-session",
261731
+ capScope: "system",
261732
+ addonId: null,
261733
+ access: "create"
261734
+ },
261638
261735
  "terminalSession.resize": {
261639
261736
  capName: "terminal-session",
261640
261737
  capScope: "system",
261641
261738
  addonId: null,
261642
261739
  access: "create"
261643
261740
  },
261741
+ "terminalSession.writeInput": {
261742
+ capName: "terminal-session",
261743
+ capScope: "system",
261744
+ addonId: null,
261745
+ access: "create"
261746
+ },
261644
261747
  "toast.onToast": {
261645
261748
  capName: "toast",
261646
261749
  capScope: "system",
@@ -262989,6 +263092,8 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
262989
263092
  listSessions: (input) => dispatch("terminalSession", "listSessions", "query", input),
262990
263093
  openSession: (input) => dispatch("terminalSession", "openSession", "mutation", input),
262991
263094
  resize: (input) => dispatch("terminalSession", "resize", "mutation", input),
263095
+ pullOutput: (input) => dispatch("terminalSession", "pullOutput", "mutation", input),
263096
+ writeInput: (input) => dispatch("terminalSession", "writeInput", "mutation", input),
262992
263097
  close: (input) => dispatch("terminalSession", "close", "mutation", input)
262993
263098
  },
262994
263099
  toast: { onToast: (input, push) => dispatch("toast", "onToast", "subscription", input, push) },
@@ -265307,6 +265412,8 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
265307
265412
  exports.TargetKindSchema = TargetKindSchema;
265308
265413
  exports.TargetSchema = TargetSchema;
265309
265414
  exports.TemperatureSensorStatusSchema = TemperatureSensorStatusSchema;
265415
+ exports.TerminalOutputBatchSchema = TerminalOutputBatchSchema;
265416
+ exports.TerminalOutputEventSchema = TerminalOutputEventSchema;
265310
265417
  exports.TerminalProfileInfoSchema = TerminalProfileInfoSchema;
265311
265418
  exports.TerminalSessionInfoSchema = TerminalSessionInfoSchema;
265312
265419
  exports.TestConnectionResultSchema = TestConnectionResultSchema$1;
@@ -395647,12 +395754,14 @@ var require_main4 = __commonJS({
395647
395754
  const queryString = qIdx >= 0 ? request.url.slice(qIdx) : "";
395648
395755
  const upstreamPath = `/${subPath}${queryString}`;
395649
395756
  reply.hijack();
395757
+ const replayBody = request.body === void 0 ? void 0 : Buffer.isBuffer(request.body) ? request.body : Buffer.from(typeof request.body === "string" ? request.body : JSON.stringify(request.body));
395650
395758
  (0, system_3.proxyToUpstream)({
395651
395759
  baseUrl: dpMatch.endpoint.baseUrl,
395652
395760
  secret: dpMatch.endpoint.secret,
395653
395761
  upstreamPath,
395654
395762
  clientReq: request.raw,
395655
- clientRes: reply.raw
395763
+ clientRes: reply.raw,
395764
+ ...replayBody !== void 0 ? { replayBody } : {}
395656
395765
  });
395657
395766
  return;
395658
395767
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "camstack",
3
- "version": "1.2.18",
3
+ "version": "1.2.20",
4
4
  "description": "CLI tool for managing and running CamStack server",
5
5
  "keywords": [
6
6
  "camstack",