accelr8 3.2.0 → 3.3.0

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.
@@ -6,7 +6,7 @@ import {
6
6
  LIMITS,
7
7
  PORT,
8
8
  PROTO
9
- } from "./chunk-Z2VXUT5L.js";
9
+ } from "./chunk-TW4QNNNT.js";
10
10
 
11
11
  // src/server.ts
12
12
  import { WebSocketServer, WebSocket } from "ws";
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  DEFAULT_SERVER,
4
4
  PORT,
5
5
  VERSION
6
- } from "./chunks/chunk-Z2VXUT5L.js";
6
+ } from "./chunks/chunk-TW4QNNNT.js";
7
7
 
8
8
  // src/cli.ts
9
9
  var HELP = `
@@ -13,7 +13,7 @@ USAGE
13
13
  accelr8 open the app
14
14
  accelr8 join <CODE> open straight into a project
15
15
  accelr8 serve run your own sync server
16
- accelr8 --intro replay the full boot animation
16
+ accelr8 --intro replay the opening cinematic
17
17
 
18
18
  OPTIONS
19
19
  --name <name> display name (remembered for next time)
@@ -52,7 +52,7 @@ async function main() {
52
52
  console.error(`invalid port: ${argVal(args, "--port")}`);
53
53
  process.exit(1);
54
54
  }
55
- const { runServer } = await import("./chunks/server-2ZSEVMOZ.js");
55
+ const { runServer } = await import("./chunks/server-VWQ2NYRN.js");
56
56
  runServer(port);
57
57
  return;
58
58
  }
@@ -61,6 +61,19 @@ async function main() {
61
61
  await runAgentCli(args.slice(1));
62
62
  return;
63
63
  }
64
+ if (args[0] === "radio") {
65
+ if (!process.stdout.isTTY) {
66
+ console.error("accelr8 radio needs an interactive terminal (TTY).");
67
+ process.exit(1);
68
+ }
69
+ const { runRadio } = await import("./chunks/app-VQ33JVDI.js");
70
+ runRadio({
71
+ name: argVal(args, "--name"),
72
+ server: argVal(args, "--server"),
73
+ clip: argVal(args, "--clip")
74
+ });
75
+ return;
76
+ }
64
77
  let joinCode;
65
78
  if (args[0] === "join") {
66
79
  joinCode = args[1];
@@ -76,7 +89,7 @@ async function main() {
76
89
  const { cachedUpdate, refreshUpdateCache } = await import("./chunks/update-UEPNGB6Y.js");
77
90
  refreshUpdateCache();
78
91
  const update = cachedUpdate(VERSION);
79
- const { runClient } = await import("./chunks/client-GZH54N5H.js");
92
+ const { runClient } = await import("./chunks/client-6SYGGJ7L.js");
80
93
  runClient({
81
94
  name: argVal(args, "--name"),
82
95
  server: argVal(args, "--server"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "accelr8",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Collaborative ascii canvas in your terminal. Real multiplayer, live cursors, mouse-driven TUI.",
5
5
  "type": "module",
6
6
  "license": "ISC",
@@ -42,7 +42,7 @@
42
42
  "chattest": "tsx src/chattest.ts",
43
43
  "inputtest": "tsx src/inputtest.ts",
44
44
  "torturetest": "tsx src/torturetest.ts",
45
- "test": "for t in core chat input ladder boot orb crypto accounts executor agentcontext map voice voiceroom chain glyph materialize update install geo map contrast; do tsx src/${t}test.ts || exit 1; done && tsx src/rendertest.ts > /dev/null && echo RENDER OK",
45
+ "test": "for t in core chat input ladder boot orb crypto accounts executor agentcontext map voice voiceroom chain glyph materialize update install geo map contrast; do tsx src/${t}test.ts || exit 1; done && for t in station asciivideo audio funfacts launch overlay; do tsx src/radio/${t}test.ts || exit 1; done && tsx src/rendertest.ts > /dev/null && echo RENDER OK",
46
46
  "teste2e": "tsx src/voicetransporttest.ts",
47
47
  "laddertest": "tsx src/laddertest.ts",
48
48
  "boottest": "tsx src/boottest.ts",
@@ -1,64 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- // src/protocol.ts
4
- var VERSION = true ? "3.2.0" : "3.2.0";
5
- var PROTO = 3;
6
- var PORT = 8787;
7
- var DEFAULT_SERVER = "wss://accelr8-canvas.patonchain.workers.dev";
8
- var CANVAS_W = 100;
9
- var CANVAS_H = 30;
10
- var LIMITS = {
11
- chatMaxCp: 4e3,
12
- // code points per chat message
13
- chatMaxJson: 8192,
14
- // serialized bytes per chat message
15
- chatPerWindow: 10,
16
- // messages per 10s per session
17
- chatTail: 50,
18
- // messages delivered in `joined`
19
- chatPage: 50,
20
- // default history page (max 100)
21
- chatSyncMaxGap: 200,
22
- // bigger gap -> full resync
23
- chatRetain: 2e3,
24
- // messages kept per project
25
- draftMinIntervalMs: 100,
26
- // server drops faster arrivals
27
- draftMaxCp: 4e3,
28
- framesPerWindow: 200,
29
- // frames per 10s per session -> disconnect
30
- invokesPerProjectMin: 20,
31
- triggersPerUserMin: 6,
32
- joinGuessesPerMin: 5,
33
- revealsPerMin: 10,
34
- secretsPerProject: 50,
35
- secretValueMax: 8192,
36
- agentQueueCap: 5,
37
- agentMaxDepth: 3,
38
- agentBudgetPerTrigger: 5,
39
- agentRepeatPerChain: 2,
40
- voiceFramesPerSec: 50,
41
- // ~25/s real, 2x headroom; exempt from framesPerWindow
42
- voiceFrameMaxB64: 4096
43
- // a 40ms s16le mono chunk is ~1.7KB base64; cap slack
44
- };
45
- var DEFAULT_ACCESS = { mode: "owner", users: [] };
46
- function encode(msg) {
47
- return JSON.stringify(msg);
48
- }
49
- function decode(data) {
50
- return JSON.parse(data);
51
- }
52
-
53
- export {
54
- VERSION,
55
- PROTO,
56
- PORT,
57
- DEFAULT_SERVER,
58
- CANVAS_W,
59
- CANVAS_H,
60
- LIMITS,
61
- DEFAULT_ACCESS,
62
- encode,
63
- decode
64
- };