@rhost/testkit 1.5.3 → 1.6.1

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.
@@ -11,14 +11,37 @@ declare class AsyncLineQueue {
11
11
  drainSync(): string[];
12
12
  cancelAll(reason: string): void;
13
13
  }
14
+ export interface MushConnectionOptions {
15
+ /**
16
+ * When true, connects via WebSocket (RFC 6455) instead of raw TCP.
17
+ * Requires RhostMUSH compiled with ENABLE_WEBSOCKETS. Default: false.
18
+ */
19
+ useWebSocket?: boolean;
20
+ /**
21
+ * WebSocket request path. Default: '/'.
22
+ * Only relevant when useWebSocket is true.
23
+ */
24
+ websocketPath?: string;
25
+ /**
26
+ * Use wss:// instead of ws://. Requires a TLS terminator (e.g. stunnel)
27
+ * in front of the MUSH port. Default: false.
28
+ */
29
+ websocketSecure?: boolean;
30
+ }
14
31
  export declare class MushConnection extends EventEmitter {
15
32
  private readonly host;
16
33
  private readonly port;
17
34
  private socket;
35
+ private ws;
18
36
  private rawBuffer;
19
37
  readonly lines: AsyncLineQueue;
20
- constructor(host: string, port: number);
38
+ private readonly useWebSocket;
39
+ private readonly websocketPath;
40
+ private readonly websocketSecure;
41
+ constructor(host: string, port: number, options?: MushConnectionOptions);
21
42
  connect(connectTimeoutMs?: number): Promise<void>;
43
+ private connectTcp;
44
+ private connectWebSocket;
22
45
  private onData;
23
46
  send(command: string): void;
24
47
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;;GAGG;AACH,cAAM,cAAc;IAChB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAgF;IAE/F,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBxC,SAAS,IAAI,MAAM,EAAE;IAMrB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAIlC;AAED,qBAAa,cAAe,SAAQ,YAAY;IAKhC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAU,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJhE,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAM;IACvB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;gBAEF,IAAI,EAAE,MAAM,EAAmB,IAAI,EAAE,MAAM;IAKxE,OAAO,CAAC,gBAAgB,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhD,OAAO,CAAC,MAAM;IAWd,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAUzB"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC;;;GAGG;AACH,cAAM,cAAc;IAChB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAgF;IAE/F,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBxC,SAAS,IAAI,MAAM,EAAE;IAMrB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAIlC;AAED,MAAM,WAAW,qBAAqB;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,cAAe,SAAQ,YAAY;IAUxC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAM;IACvB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAGrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAC7B,OAAO,GAAE,qBAA0B;IASvC,OAAO,CAAC,gBAAgB,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,MAAM;IAWd,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAc3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBzB"}
@@ -32,10 +32,14 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.MushConnection = void 0;
37
40
  const net = __importStar(require("net"));
38
41
  const events_1 = require("events");
42
+ const ws_1 = __importDefault(require("ws"));
39
43
  /**
40
44
  * Async FIFO queue for lines received from the server.
41
45
  * Delivers directly to waiting consumers; buffers when none are waiting.
@@ -86,15 +90,24 @@ class AsyncLineQueue {
86
90
  }
87
91
  }
88
92
  class MushConnection extends events_1.EventEmitter {
89
- constructor(host, port) {
93
+ constructor(host, port, options = {}) {
90
94
  super();
91
95
  this.host = host;
92
96
  this.port = port;
93
97
  this.socket = null;
98
+ this.ws = null;
94
99
  this.rawBuffer = '';
95
100
  this.lines = new AsyncLineQueue();
101
+ this.useWebSocket = options.useWebSocket ?? false;
102
+ this.websocketPath = options.websocketPath ?? '/';
103
+ this.websocketSecure = options.websocketSecure ?? false;
96
104
  }
97
105
  connect(connectTimeoutMs = 10000) {
106
+ return this.useWebSocket
107
+ ? this.connectWebSocket(connectTimeoutMs)
108
+ : this.connectTcp(connectTimeoutMs);
109
+ }
110
+ connectTcp(connectTimeoutMs) {
98
111
  return new Promise((resolve, reject) => {
99
112
  this.socket = new net.Socket();
100
113
  this.socket.setEncoding('utf8');
@@ -105,7 +118,7 @@ class MushConnection extends events_1.EventEmitter {
105
118
  reject(new Error(`connect() timed out after ${connectTimeoutMs}ms`));
106
119
  });
107
120
  this.socket.connect(this.port, this.host, () => {
108
- this.socket.setTimeout(0); // disable timeout after connection established
121
+ this.socket.setTimeout(0);
109
122
  this.socket.removeAllListeners('error');
110
123
  this.socket.removeAllListeners('timeout');
111
124
  this.socket.on('error', (err) => this.emit('error', err));
@@ -118,6 +131,33 @@ class MushConnection extends events_1.EventEmitter {
118
131
  });
119
132
  });
120
133
  }
134
+ connectWebSocket(connectTimeoutMs) {
135
+ return new Promise((resolve, reject) => {
136
+ const scheme = this.websocketSecure ? 'wss' : 'ws';
137
+ const url = `${scheme}://${this.host}:${this.port}${this.websocketPath}`;
138
+ this.ws = new ws_1.default(url);
139
+ const timer = setTimeout(() => {
140
+ this.ws.terminate();
141
+ reject(new Error(`connect() timed out after ${connectTimeoutMs}ms`));
142
+ }, connectTimeoutMs);
143
+ this.ws.once('open', () => {
144
+ clearTimeout(timer);
145
+ this.ws.on('error', (err) => this.emit('error', err));
146
+ this.ws.on('close', () => {
147
+ this.lines.cancelAll('Connection closed');
148
+ this.emit('close');
149
+ });
150
+ this.ws.on('message', (data) => {
151
+ this.onData(data.toString());
152
+ });
153
+ resolve();
154
+ });
155
+ this.ws.once('error', (err) => {
156
+ clearTimeout(timer);
157
+ reject(err);
158
+ });
159
+ });
160
+ }
121
161
  onData(chunk) {
122
162
  this.rawBuffer += chunk;
123
163
  let newlineIdx;
@@ -129,12 +169,30 @@ class MushConnection extends events_1.EventEmitter {
129
169
  }
130
170
  }
131
171
  send(command) {
132
- if (!this.socket || this.socket.destroyed) {
133
- throw new Error('Not connected');
172
+ if (this.useWebSocket) {
173
+ if (!this.ws || this.ws.readyState !== ws_1.default.OPEN) {
174
+ throw new Error('Not connected');
175
+ }
176
+ this.ws.send(command + '\r\n');
177
+ }
178
+ else {
179
+ if (!this.socket || this.socket.destroyed) {
180
+ throw new Error('Not connected');
181
+ }
182
+ this.socket.write(command + '\r\n');
134
183
  }
135
- this.socket.write(command + '\r\n');
136
184
  }
137
185
  close() {
186
+ if (this.useWebSocket) {
187
+ return new Promise((resolve) => {
188
+ if (!this.ws || this.ws.readyState === ws_1.default.CLOSED) {
189
+ resolve();
190
+ return;
191
+ }
192
+ this.ws.once('close', () => resolve());
193
+ this.ws.close();
194
+ });
195
+ }
138
196
  return new Promise((resolve) => {
139
197
  if (!this.socket || this.socket.destroyed) {
140
198
  resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import { RhostConfig } from './config';
2
2
  export interface ContainerConnectionInfo {
3
3
  host: string;
4
+ /** Plain MUSH / telnet port */
4
5
  port: number;
6
+ /** stunnel TLS port, if stunnel was enabled */
7
+ stunnelPort?: number;
5
8
  }
6
9
  export declare class RhostContainer {
7
10
  private started;
@@ -23,6 +26,9 @@ export declare class RhostContainer {
23
26
  * The first build clones and compiles RhostMUSH from source — allow 5-10
24
27
  * minutes. Subsequent runs reuse Docker's layer cache.
25
28
  *
29
+ * Compile-time features in `config.build` (enableWebSockets, enableSsl,
30
+ * enablePueblo, enableReality, extraCflags) are passed as Docker build args.
31
+ *
26
32
  * @param projectRoot Path to the rhostmush-docker directory.
27
33
  * Defaults to `../` relative to this file (i.e. the repo root).
28
34
  * @param config Optional config overrides. If omitted, `rhost.config.json`
@@ -31,13 +37,7 @@ export declare class RhostContainer {
31
37
  static fromSource(projectRoot?: string, config?: RhostConfig): RhostContainer;
32
38
  /**
33
39
  * Start the container. Blocks until port 4201 is accepting connections.
34
- * Returns the host and dynamically-assigned port to pass to `RhostClient`.
35
- *
36
- * If `config.scriptsDir` is set, the directory is copied into the container
37
- * at `/home/rhost/game/scripts` before startup.
38
- *
39
- * If `config.mushConfig` is set, the file is copied into the container at
40
- * `/home/rhost/game/mush.config` before startup.
40
+ * Returns host/port info to pass to `RhostClient`.
41
41
  *
42
42
  * @param startupTimeout Max ms to wait for the server to be ready.
43
43
  * Default: 120000 (2 min). Increase for slow machines or first builds.
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAUD,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,OAAO;IAKP;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,SAA6B,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc;IAK1F;;;;;;;;;;OAUG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc;IAY7E;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,cAAc,SAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAqCvE,oEAAoE;IAC9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,kEAAkE;IAClE,iBAAiB,IAAI,uBAAuB;CAS/C"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,WAAW,EAAyD,MAAM,UAAU,CAAC;AAE9F,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,OAAO;IAKP;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,SAA6B,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc;IAK1F;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc;IAkB7E;;;;;;OAMG;IACG,KAAK,CAAC,cAAc,SAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA+EvE,oEAAoE;IAC9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,kEAAkE;IAClE,iBAAiB,IAAI,uBAAuB;CAc/C"}
package/dist/container.js CHANGED
@@ -57,6 +57,18 @@ exports.RhostContainer = void 0;
57
57
  *
58
58
  * RhostContainer.fromSource(undefined, { scriptsDir: './my-scripts' })
59
59
  *
60
+ * Compile-time features (fromSource only)
61
+ * ────────────────────────────────────────
62
+ * RhostContainer.fromSource(undefined, {
63
+ * build: { enableWebSockets: true, enableSsl: true }
64
+ * })
65
+ *
66
+ * stunnel TLS wrapper
67
+ * ───────────────────
68
+ * RhostContainer.fromImage('lcanady/rhostmush:latest', {
69
+ * stunnel: { enable: true, acceptPort: 4203, certFile: './cert.pem' }
70
+ * })
71
+ *
60
72
  * See `src/config.ts` for the full `RhostConfig` interface.
61
73
  */
62
74
  const fs = __importStar(require("fs"));
@@ -67,6 +79,9 @@ const config_1 = require("./config");
67
79
  const CONTAINER_SCRIPTS_PATH = '/home/rhost/game/scripts';
68
80
  /** Path inside the container where mush.config lives. */
69
81
  const CONTAINER_MUSH_CONFIG_PATH = '/home/rhost/game/mush.config';
82
+ /** Path inside the container where stunnel cert/key are copied. */
83
+ const CONTAINER_STUNNEL_CERT_PATH = '/home/rhost/stunnel-cert.pem';
84
+ const CONTAINER_STUNNEL_KEY_PATH = '/home/rhost/stunnel-key.pem';
70
85
  class RhostContainer {
71
86
  constructor(factory, config) {
72
87
  this.started = null;
@@ -91,6 +106,9 @@ class RhostContainer {
91
106
  * The first build clones and compiles RhostMUSH from source — allow 5-10
92
107
  * minutes. Subsequent runs reuse Docker's layer cache.
93
108
  *
109
+ * Compile-time features in `config.build` (enableWebSockets, enableSsl,
110
+ * enablePueblo, enableReality, extraCflags) are passed as Docker build args.
111
+ *
94
112
  * @param projectRoot Path to the rhostmush-docker directory.
95
113
  * Defaults to `../` relative to this file (i.e. the repo root).
96
114
  * @param config Optional config overrides. If omitted, `rhost.config.json`
@@ -102,24 +120,23 @@ class RhostContainer {
102
120
  : path.resolve(__dirname, '../');
103
121
  const cfg = config ?? (0, config_1.loadConfig)() ?? {};
104
122
  return new RhostContainer(async () => {
105
- return testcontainers_1.GenericContainer.fromDockerfile(root).build();
123
+ let builder = testcontainers_1.GenericContainer.fromDockerfile(root);
124
+ if (cfg.build) {
125
+ builder = builder.withBuildArgs((0, config_1.buildArgsFromConfig)(cfg.build));
126
+ }
127
+ return builder.build();
106
128
  }, cfg);
107
129
  }
108
130
  /**
109
131
  * Start the container. Blocks until port 4201 is accepting connections.
110
- * Returns the host and dynamically-assigned port to pass to `RhostClient`.
111
- *
112
- * If `config.scriptsDir` is set, the directory is copied into the container
113
- * at `/home/rhost/game/scripts` before startup.
114
- *
115
- * If `config.mushConfig` is set, the file is copied into the container at
116
- * `/home/rhost/game/mush.config` before startup.
132
+ * Returns host/port info to pass to `RhostClient`.
117
133
  *
118
134
  * @param startupTimeout Max ms to wait for the server to be ready.
119
135
  * Default: 120000 (2 min). Increase for slow machines or first builds.
120
136
  */
121
137
  async start(startupTimeout = 120000) {
122
138
  let base = await this.factory();
139
+ // ── File copies ───────────────────────────────────────────────────────
123
140
  if (this.config.scriptsDir) {
124
141
  if (!fs.existsSync(this.config.scriptsDir)) {
125
142
  throw new Error(`RhostContainer: scriptsDir not found: ${this.config.scriptsDir}`);
@@ -138,8 +155,49 @@ class RhostContainer {
138
155
  target: CONTAINER_MUSH_CONFIG_PATH,
139
156
  }]);
140
157
  }
158
+ // ── stunnel ──────────────────────────────────────────────────────────
159
+ const stunnelCfg = this.config.stunnel;
160
+ const stunnelEnabled = stunnelCfg?.enable === true;
161
+ const stunnelAcceptPort = stunnelCfg?.acceptPort ?? 4203;
162
+ if (stunnelEnabled) {
163
+ // Build env vars from scratch rather than using stunnelEnvFromConfig()
164
+ // so that cert/key paths are always set to the in-container paths,
165
+ // never host paths that wouldn't exist inside the container.
166
+ const envVars = { STUNNEL_ENABLE: 'true' };
167
+ if (stunnelCfg.acceptPort)
168
+ envVars['STUNNEL_ACCEPT_PORT'] = String(stunnelCfg.acceptPort);
169
+ if (stunnelCfg.connectPort)
170
+ envVars['STUNNEL_CONNECT_PORT'] = String(stunnelCfg.connectPort);
171
+ const certFile = stunnelCfg.certFile;
172
+ const keyFile = stunnelCfg.keyFile;
173
+ if (certFile) {
174
+ if (!fs.existsSync(certFile)) {
175
+ throw new Error(`RhostContainer: stunnel.certFile not found: ${certFile}`);
176
+ }
177
+ base = base.withCopyFilesToContainer([{ source: certFile, target: CONTAINER_STUNNEL_CERT_PATH }]);
178
+ envVars['STUNNEL_CERT'] = CONTAINER_STUNNEL_CERT_PATH;
179
+ // Separate key file only when it differs from the cert file
180
+ if (keyFile && keyFile !== certFile) {
181
+ if (!fs.existsSync(keyFile)) {
182
+ throw new Error(`RhostContainer: stunnel.keyFile not found: ${keyFile}`);
183
+ }
184
+ base = base.withCopyFilesToContainer([{ source: keyFile, target: CONTAINER_STUNNEL_KEY_PATH }]);
185
+ envVars['STUNNEL_KEY'] = CONTAINER_STUNNEL_KEY_PATH;
186
+ }
187
+ // If keyFile === certFile (combined PEM), stunnel reads key from the same file;
188
+ // STUNNEL_KEY is left unset so entrypoint.sh defaults it to STUNNEL_CERT.
189
+ }
190
+ // If no certFile is given, entrypoint.sh auto-generates a self-signed cert.
191
+ for (const [k, v] of Object.entries(envVars)) {
192
+ base = base.withEnvironment({ [k]: v });
193
+ }
194
+ }
195
+ // ── Ports ─────────────────────────────────────────────────────────────
196
+ const exposedPorts = [4201];
197
+ if (stunnelEnabled)
198
+ exposedPorts.push(stunnelAcceptPort);
141
199
  this.started = await base
142
- .withExposedPorts(4201)
200
+ .withExposedPorts(...exposedPorts)
143
201
  .withWaitStrategy(testcontainers_1.Wait.forListeningPorts().withStartupTimeout(startupTimeout))
144
202
  .start();
145
203
  return this.getConnectionInfo();
@@ -154,10 +212,15 @@ class RhostContainer {
154
212
  if (!this.started) {
155
213
  throw new Error('Container is not running — call start() first.');
156
214
  }
157
- return {
215
+ const info = {
158
216
  host: this.started.getHost(),
159
217
  port: this.started.getMappedPort(4201),
160
218
  };
219
+ const stunnelAcceptPort = this.config.stunnel?.acceptPort ?? 4203;
220
+ if (this.config.stunnel?.enable) {
221
+ info.stunnelPort = this.started.getMappedPort(stunnelAcceptPort);
222
+ }
223
+ return info;
161
224
  }
162
225
  }
163
226
  exports.RhostContainer = RhostContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ export { RhostBenchmark, runBench, formatBenchResults, BenchOptions, BenchmarkRe
14
14
  export { deploy, parseDeployFile, snapshotObjects, restoreSnapshot, DeployCommand, DeploySnapshot, DeployOptions, DeployResult, } from './deployer';
15
15
  export { SnapshotManager, SnapshotStats, SnapshotStatus, SnapshotCheckResult, formatSnapshotDiff } from './snapshots';
16
16
  export { RhostWatcher, WatchOptions, discoverTestFiles } from './watcher';
17
+ export { convertPueblo, parsePuebloHandshake, generatePuebloHandshake } from './pueblo';
18
+ export type { PuebloConvertOptions, PuebloHandshake } from './pueblo';
17
19
  export { parseDocument, parseDocumentFile, loadFiles, loadGlob, OfflineRunner, OfflineExpect, OfflineExpectError, } from './offline';
18
20
  export type { OfflineDocument, OfflineAttr, OfflineExpectChain, OfflineTestContext, OfflineSuiteContext, OfflineRunOptions, OfflineRunResult, } from './offline';
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGtG,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGtG,OAAO,EACH,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EACH,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,MAAM,EACN,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,UAAU,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG1G,OAAO,EACH,MAAM,EACN,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG1E,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGtG,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGtG,OAAO,EACH,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EACH,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,MAAM,EACN,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,UAAU,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG1G,OAAO,EACH,MAAM,EACN,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxF,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGtE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OfflineExpectError = exports.OfflineExpect = exports.OfflineRunner = exports.loadGlob = exports.loadFiles = exports.parseDocumentFile = exports.parseDocument = exports.discoverTestFiles = exports.RhostWatcher = exports.formatSnapshotDiff = exports.SnapshotManager = exports.restoreSnapshot = exports.snapshotObjects = exports.parseDeployFile = exports.deploy = exports.formatBenchResults = exports.runBench = exports.RhostBenchmark = exports.format = exports.BUILTIN_FUNCTIONS = exports.compatibilityReport = exports.validateFile = exports.validate = exports.RhostRunner = exports.Reporter = exports.PreflightError = exports.assertConfigEquals = exports.assertFunctionMissing = exports.assertFunctionExists = exports.preflightCheck = exports.preflight = exports.WorldSideEffectError = exports.WorldSnapshot = exports.RhostWorld = exports.RhostExpectError = exports.RhostExpect = exports.isRhostError = exports.RhostAssertionError = exports.RhostAssert = exports.CONFIG_FILENAME = exports.loadConfig = exports.RhostContainer = exports.MushConnection = exports.stripAnsi = exports.RhostClient = void 0;
3
+ exports.OfflineExpectError = exports.OfflineExpect = exports.OfflineRunner = exports.loadGlob = exports.loadFiles = exports.parseDocumentFile = exports.parseDocument = exports.generatePuebloHandshake = exports.parsePuebloHandshake = exports.convertPueblo = exports.discoverTestFiles = exports.RhostWatcher = exports.formatSnapshotDiff = exports.SnapshotManager = exports.restoreSnapshot = exports.snapshotObjects = exports.parseDeployFile = exports.deploy = exports.formatBenchResults = exports.runBench = exports.RhostBenchmark = exports.format = exports.BUILTIN_FUNCTIONS = exports.compatibilityReport = exports.validateFile = exports.validate = exports.RhostRunner = exports.Reporter = exports.PreflightError = exports.assertConfigEquals = exports.assertFunctionMissing = exports.assertFunctionExists = exports.preflightCheck = exports.preflight = exports.WorldSideEffectError = exports.WorldSnapshot = exports.RhostWorld = exports.RhostExpectError = exports.RhostExpect = exports.isRhostError = exports.RhostAssertionError = exports.RhostAssert = exports.CONFIG_FILENAME = exports.loadConfig = exports.RhostContainer = exports.MushConnection = exports.stripAnsi = exports.RhostClient = void 0;
4
4
  // Core client
5
5
  var client_1 = require("./client");
6
6
  Object.defineProperty(exports, "RhostClient", { enumerable: true, get: function () { return client_1.RhostClient; } });
@@ -71,6 +71,11 @@ Object.defineProperty(exports, "formatSnapshotDiff", { enumerable: true, get: fu
71
71
  var watcher_1 = require("./watcher");
72
72
  Object.defineProperty(exports, "RhostWatcher", { enumerable: true, get: function () { return watcher_1.RhostWatcher; } });
73
73
  Object.defineProperty(exports, "discoverTestFiles", { enumerable: true, get: function () { return watcher_1.discoverTestFiles; } });
74
+ // Pueblo markup → semantic HTML converter
75
+ var pueblo_1 = require("./pueblo");
76
+ Object.defineProperty(exports, "convertPueblo", { enumerable: true, get: function () { return pueblo_1.convertPueblo; } });
77
+ Object.defineProperty(exports, "parsePuebloHandshake", { enumerable: true, get: function () { return pueblo_1.parsePuebloHandshake; } });
78
+ Object.defineProperty(exports, "generatePuebloHandshake", { enumerable: true, get: function () { return pueblo_1.generatePuebloHandshake; } });
74
79
  // Offline static analysis — no server required
75
80
  var offline_1 = require("./offline");
76
81
  Object.defineProperty(exports, "parseDocument", { enumerable: true, get: function () { return offline_1.parseDocument; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,mCAAsG;AAA7F,qGAAA,WAAW,OAAA;AAAsD,mGAAA,SAAS,OAAA;AAEnF,aAAa;AACb,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AAEvB,YAAY;AACZ,yCAAsE;AAA7D,2GAAA,cAAc,OAAA;AAEvB,SAAS;AACT,mCAAoE;AAA3D,oGAAA,UAAU,OAAA;AAAe,yGAAA,eAAe,OAAA;AAEjD,+BAA+B;AAC/B,2CAA+F;AAAtF,yGAAA,WAAW,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAmB,0GAAA,YAAY,OAAA;AAExE,iBAAiB;AACjB,mCAAyD;AAAhD,qGAAA,WAAW,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAEtC,wBAAwB;AACxB,iCAAsG;AAA7F,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAA8B,6GAAA,oBAAoB,OAAA;AAEpF,wBAAwB;AACxB,yCAUqB;AATjB,sGAAA,SAAS,OAAA;AACT,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AACrB,+GAAA,kBAAkB,OAAA;AAIlB,2GAAA,cAAc,OAAA;AAGlB,WAAW;AACX,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,iBAAiB;AACjB,mCAakB;AAZd,qGAAA,WAAW,OAAA;AAcf,6CAA6C;AAC7C,yCAYqB;AAXjB,qGAAA,QAAQ,OAAA;AACR,yGAAA,YAAY,OAAA;AACZ,gHAAA,mBAAmB,OAAA;AAKnB,8GAAA,iBAAiB,OAAA;AAMrB,qBAAqB;AACrB,mDAA4E;AAAnE,mGAAA,MAAM,OAAA;AAEf,iBAAiB;AACjB,yCAA0G;AAAjG,2GAAA,cAAc,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAErD,kBAAkB;AAClB,uCASoB;AARhB,kGAAA,MAAM,OAAA;AACN,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AAOnB,mBAAmB;AACnB,yCAAsH;AAA7G,4GAAA,eAAe,OAAA;AAAsD,+GAAA,kBAAkB,OAAA;AAEhG,aAAa;AACb,qCAA0E;AAAjE,uGAAA,YAAY,OAAA;AAAgB,4GAAA,iBAAiB,OAAA;AAEtD,+CAA+C;AAC/C,qCAQmB;AAPjB,wGAAA,aAAa,OAAA;AACb,4GAAA,iBAAiB,OAAA;AACjB,oGAAA,SAAS,OAAA;AACT,mGAAA,QAAQ,OAAA;AACR,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,6GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,mCAAsG;AAA7F,qGAAA,WAAW,OAAA;AAAsD,mGAAA,SAAS,OAAA;AAEnF,aAAa;AACb,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AAEvB,YAAY;AACZ,yCAAsE;AAA7D,2GAAA,cAAc,OAAA;AAEvB,SAAS;AACT,mCAAoE;AAA3D,oGAAA,UAAU,OAAA;AAAe,yGAAA,eAAe,OAAA;AAEjD,+BAA+B;AAC/B,2CAA+F;AAAtF,yGAAA,WAAW,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAmB,0GAAA,YAAY,OAAA;AAExE,iBAAiB;AACjB,mCAAyD;AAAhD,qGAAA,WAAW,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAEtC,wBAAwB;AACxB,iCAAsG;AAA7F,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAA8B,6GAAA,oBAAoB,OAAA;AAEpF,wBAAwB;AACxB,yCAUqB;AATjB,sGAAA,SAAS,OAAA;AACT,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AACrB,+GAAA,kBAAkB,OAAA;AAIlB,2GAAA,cAAc,OAAA;AAGlB,WAAW;AACX,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,iBAAiB;AACjB,mCAakB;AAZd,qGAAA,WAAW,OAAA;AAcf,6CAA6C;AAC7C,yCAYqB;AAXjB,qGAAA,QAAQ,OAAA;AACR,yGAAA,YAAY,OAAA;AACZ,gHAAA,mBAAmB,OAAA;AAKnB,8GAAA,iBAAiB,OAAA;AAMrB,qBAAqB;AACrB,mDAA4E;AAAnE,mGAAA,MAAM,OAAA;AAEf,iBAAiB;AACjB,yCAA0G;AAAjG,2GAAA,cAAc,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAErD,kBAAkB;AAClB,uCASoB;AARhB,kGAAA,MAAM,OAAA;AACN,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AAOnB,mBAAmB;AACnB,yCAAsH;AAA7G,4GAAA,eAAe,OAAA;AAAsD,+GAAA,kBAAkB,OAAA;AAEhG,aAAa;AACb,qCAA0E;AAAjE,uGAAA,YAAY,OAAA;AAAgB,4GAAA,iBAAiB,OAAA;AAEtD,0CAA0C;AAC1C,mCAAwF;AAA/E,uGAAA,aAAa,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAAE,iHAAA,uBAAuB,OAAA;AAGrE,+CAA+C;AAC/C,qCAQmB;AAPjB,wGAAA,aAAa,OAAA;AACb,4GAAA,iBAAiB,OAAA;AACjB,oGAAA,SAAS,OAAA;AACT,mGAAA,QAAQ,OAAA;AACR,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,6GAAA,kBAAkB,OAAA"}
@@ -2,7 +2,7 @@ import type { OfflineSuiteContext, OfflineRunOptions, OfflineRunResult } from '.
2
2
  export declare class OfflineRunner {
3
3
  private readonly root;
4
4
  describe(name: string, fn: (ctx: OfflineSuiteContext) => void): this;
5
- run(options?: OfflineRunOptions): OfflineRunResult;
5
+ run(options?: OfflineRunOptions): Promise<OfflineRunResult>;
6
6
  private _runJest;
7
7
  private _registerJestNode;
8
8
  private _runStandalone;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/offline/runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EAMnB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AA+EjB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAGnB;IAEF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAOpE,GAAG,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAatD,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,cAAc;YAQR,UAAU;YA2BV,SAAS;IA+BvB,OAAO,CAAC,WAAW;CAOpB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/offline/runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EAMnB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AA+EjB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAGnB;IAEF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAOpE,GAAG,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAa/D,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,iBAAiB;YAsBX,cAAc;YAQd,UAAU;YA2BV,SAAS;IA+BvB,OAAO,CAAC,WAAW;CAOpB"}
@@ -63,7 +63,7 @@ class OfflineRunner {
63
63
  run(options = {}) {
64
64
  const useJest = options.useJest ?? (typeof describe !== 'undefined' && typeof it !== 'undefined');
65
65
  if (useJest) {
66
- return this._runJest(this.root, options);
66
+ return Promise.resolve(this._runJest(this.root, options));
67
67
  }
68
68
  return this._runStandalone(this.root, options);
69
69
  }
@@ -108,10 +108,10 @@ class OfflineRunner {
108
108
  // -------------------------------------------------------------------------
109
109
  // Standalone executor
110
110
  // -------------------------------------------------------------------------
111
- _runStandalone(root, opts) {
111
+ async _runStandalone(root, opts) {
112
112
  const result = { passed: 0, failed: 0, skipped: 0, total: 0, duration: 0, failures: [] };
113
113
  const start = Date.now();
114
- this._execSuite(root, [], result, opts);
114
+ await this._execSuite(root, [], result, opts);
115
115
  result.duration = Date.now() - start;
116
116
  return result;
117
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/offline/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/offline/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Pueblo markup → semantic HTML converter
3
+ *
4
+ * Converts the mixed stream that RhostMUSH emits after a PUEBLOCLIENT
5
+ * handshake (raw HTML tags + plain text + ANSI) into clean, safe,
6
+ * semantic HTML. Pure TypeScript — no DOMParser, works in Node.js.
7
+ *
8
+ * Reference: http://www.legacymud.com/pueblo/pueblo_ext.html
9
+ */
10
+ /** Options for `convertPueblo` (reserved for future extension). */
11
+ export interface PuebloConvertOptions {
12
+ [key: string]: unknown;
13
+ }
14
+ /**
15
+ * Parsed representation of a Pueblo client handshake.
16
+ * @deprecated parsePuebloHandshake now returns boolean — kept for compat.
17
+ */
18
+ export interface PuebloHandshake {
19
+ version: string;
20
+ supportsXchCmd: boolean;
21
+ extra: Record<string, string>;
22
+ }
23
+ /**
24
+ * Convert a Pueblo-enhanced mixed stream into clean, safe semantic HTML.
25
+ *
26
+ * @param input Raw string received from a Pueblo-enabled RhostMUSH server.
27
+ * @returns Sanitized HTML string.
28
+ */
29
+ export declare function convertPueblo(input: string): string;
30
+ /**
31
+ * Returns true when the input line begins with the PUEBLOCLIENT keyword,
32
+ * indicating this is a Pueblo client handshake.
33
+ */
34
+ export declare function parsePuebloHandshake(input: string): boolean;
35
+ /**
36
+ * Returns the canonical Pueblo client handshake string that should be sent
37
+ * to a Pueblo-enabled RhostMUSH server immediately after connecting.
38
+ */
39
+ export declare function generatePuebloHandshake(): string;
40
+ //# sourceMappingURL=pueblo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pueblo.d.ts","sourceRoot":"","sources":["../src/pueblo.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AA2LD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA4EnD;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}