@snutils/snu 0.2.0 → 0.2.2

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/README.md CHANGED
@@ -127,10 +127,15 @@ When more than one instance is connected, tell the agent which instance to use o
127
127
  | Connection | `snu_get_context` | Inspect the bridge, helper, instances, license, and permission gates. |
128
128
  | Schema and search | `snu_get_schema`, `snu_code_search` | Inspect table metadata and search server-side code. Code Search requires SN Utils Pro. |
129
129
  | Record reads | `snu_query_records`, `snu_get_record` | Query tables or fetch a record by `sys_id`. |
130
- | Record writes | `snu_create_artifact`, `snu_update_record`, `snu_delete_record` | Create scriptable artifacts, update fields, or delete a record. |
130
+ | Record writes | `snu_create_record`, `snu_create_artifact`, `snu_update_record`, `snu_delete_record` | Create data rows or scriptable artifacts, update fields, or delete a record. |
131
+ | Escape hatch | `snu_rest_request` | Call any ServiceNow REST endpoint through the authenticated browser session. |
131
132
  | Server execution | `snu_run_background_script` | Run server-side JavaScript and return its captured output. |
132
133
  | Browser and forms | `snu_get_form_state`, `snu_set_form_field`, `snu_run_ui_action`, `snu_navigate`, `snu_take_screenshot` | Inspect and operate the connected ServiceNow browser tab. |
133
134
 
135
+ **Choosing a write tool.** `snu_create_record` inserts a plain data row (incident, task, `sys_user`, CMDB CI) and returns the inserted record. `snu_create_artifact` is for scriptable artifacts (Script Include, Business Rule, widget) and also tracks the record in the local workspace. Both sit on the same Create Artifacts permission, which is on by default. The browser tools exist to exercise real form behaviour and to show something on screen; they are not a record-writing path.
136
+
137
+ The MCP server also publishes routing instructions that most clients surface to the agent, so an agent that only ever sees the tool list still knows which tool creates a record.
138
+
134
139
  ### Permissions and human review
135
140
 
136
141
  The helper tab applies permissions per ServiceNow instance:
@@ -217,6 +222,10 @@ snu query incident --json | jq '.records[].number'
217
222
  # Fetch record by sys_id
218
223
  snu record get incident <sys_id>
219
224
 
225
+ # Create a data row (field=value pairs, or --fields with a JSON payload)
226
+ snu record create incident "short_description=Printer on 3rd floor is down" urgency=2
227
+ snu record create sys_user --fields '{"user_name":"jdoe","first_name":"Jane","last_name":"Doe"}'
228
+
220
229
  # Update record field (direct value, from file, or piped via stdin)
221
230
  snu record update incident <sys_id> short_description --value "Database latency resolved"
222
231
  snu record update sys_script_include <sys_id> script --file ./my_script.js
@@ -230,6 +239,16 @@ snu record delete incident <sys_id> --dry-run
230
239
  snu record delete incident <sys_id> --confirm
231
240
  ```
232
241
 
242
+ ### Generic REST Calls
243
+ ```bash
244
+ # Any endpoint the typed commands do not cover, through the browser session
245
+ snu rest /api/now/table/incident --query "sysparm_limit=1,sysparm_query=active=true"
246
+ snu rest /api/now/attachment/<sys_id>/file --method GET
247
+ snu rest /api/now/table/incident --method POST --body '{"short_description":"Created from the CLI"}'
248
+ ```
249
+
250
+ `GET` is always allowed. `POST`/`PUT`/`PATCH` need the REST Request gate and `DELETE` needs the Delete Records gate; `snu context` shows both the host and per-instance state.
251
+
233
252
  ### Background Scripts
234
253
  ```bash
235
254
  # Run server-side JavaScript on the instance
@@ -2,7 +2,7 @@
2
2
  * Terminal formatters and JSON output renderer for @snutils/snu CLI
3
3
  */
4
4
  export declare function formatTable(headers: string[], rows: string[][]): string;
5
- export declare function formatHumanOutput(command: string, result: any): string;
5
+ export declare function formatHumanOutput(command: string, result: any, cliCommand?: string): string;
6
6
  /**
7
7
  * Output strict JSON on stdout on success.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAkCvE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CA6MtE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAE1C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,UAAQ,GAAG,IAAI,CAkC9D"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAkCvE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CA4N3F;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAE1C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,UAAQ,GAAG,IAAI,CAkC9D"}
@@ -55,9 +55,21 @@ function formatTable(headers, rows) {
55
55
  .join(' '));
56
56
  return [headerLine, dividerLine, ...formattedRows].join('\n');
57
57
  }
58
- function formatHumanOutput(command, result) {
58
+ function formatHumanOutput(command, result, cliCommand) {
59
59
  if (!result)
60
60
  return `${ANSI.gray}(empty result)${ANSI.reset}`;
61
+ // Raw REST passthrough: show the HTTP status, then the payload. Only `snu
62
+ // rest` lands here; `snu record create` rides the same bridge command but is
63
+ // reshaped into a {created, sys_id} envelope first.
64
+ if (cliCommand === 'rest') {
65
+ const status = result.status;
66
+ const badge = typeof status === 'number' && status >= 200 && status < 300
67
+ ? `${ANSI.green}${status}${ANSI.reset}`
68
+ : `${ANSI.yellow}${status ?? '?'}${ANSI.reset}`;
69
+ const payload = result.data === undefined ? result : result.data;
70
+ const body = typeof payload === 'string' ? payload : JSON.stringify(payload, null, 2);
71
+ return `\n${ANSI.bold}HTTP ${badge}${ANSI.reset}\n${body}\n`;
72
+ }
61
73
  // Staged Write Response
62
74
  if (result.staged === true) {
63
75
  return (`\n${ANSI.yellow}${ANSI.bold}[Staged]${ANSI.reset} ` +
@@ -230,7 +242,8 @@ function formatHumanOutput(command, result) {
230
242
  }
231
243
  // 6. Generic Object/Status Responses
232
244
  if (result.created) {
233
- return `\n${ANSI.green}✓ Created ${result.table || 'artifact'}:${ANSI.reset} ${result.name || result.sys_id} (${result.sys_id})\n`;
245
+ const label = result.name ? `${result.name} (${result.sys_id})` : String(result.sys_id || '');
246
+ return `\n${ANSI.green}✓ Created ${result.table || 'artifact'}:${ANSI.reset} ${label}\n`;
234
247
  }
235
248
  if (result.updated) {
236
249
  return `\n${ANSI.green}✓ Updated record:${ANSI.reset} ${result.sys_id} (${result.field || 'field'})\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,OAAO,QAA0B,CAAC;AAY/C,wBAAgB,SAAS,IAAI,IAAI,CA+ChC;AAED,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8axE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,OAAO,QAA0B,CAAC;AAY/C,wBAAgB,SAAS,IAAI,IAAI,CAiDhC;AAED,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyjBxE"}
package/dist/cli/index.js CHANGED
@@ -47,6 +47,7 @@ const index_js_1 = require("../mcp/index.js");
47
47
  const standalone_js_1 = require("../server/standalone.js");
48
48
  const updateCheck_js_1 = require("./updateCheck.js");
49
49
  const daemon_js_1 = require("./daemon.js");
50
+ const portReclaim_js_1 = require("./portReclaim.js");
50
51
  const selfUpdate_js_1 = require("./selfUpdate.js");
51
52
  const setup_js_1 = require("./setup.js");
52
53
  const packageMetadata = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8'));
@@ -70,8 +71,8 @@ function printHelp() {
70
71
  snu --mcp Start Model Context Protocol (MCP) server on stdio
71
72
  snu serve [--port <p>] [--ws <p>] Start persistent standalone bridge daemon
72
73
  snu status Show the active local bridge process
73
- snu restart Gracefully replace a standalone bridge
74
- snu stop Gracefully stop a standalone bridge
74
+ snu restart [--force] Replace a standalone bridge (reclaims a stuck port)
75
+ snu stop [--force] Stop a standalone bridge, even an orphaned one holding port 1978
75
76
  snu update [--check] Check for or install the latest CLI release
76
77
  snu setup [options] Configure AI clients (Claude Code, Cursor, ...) to use the MCP server
77
78
 
@@ -84,9 +85,11 @@ function printHelp() {
84
85
 
85
86
  \x1b[1mRECORD & ARTIFACT COMMANDS:\x1b[0m
86
87
  record get <table> <sys_id> Fetch a record by sys_id
88
+ record create <table> [f=v ...] Create a data row (incident, task, user) via the REST API
87
89
  record update <table> <sys_id> <f> Update a record field (--value <v>, --file <p>, or stdin)
88
90
  record delete <table> <sys_id> Delete a record (--confirm or --dry-run)
89
91
  artifact create <table> <name> Create a scriptable artifact (Script Include, etc.)
92
+ rest <endpoint> Call any REST endpoint (--method, --body, --query)
90
93
 
91
94
  \x1b[1mBROWSER COMMANDS:\x1b[0m
92
95
  browser form Read live form table, sys_id, and fields via g_form
@@ -164,6 +167,7 @@ async function runCli(argv = process.argv.slice(2)) {
164
167
  port: { type: 'string' },
165
168
  ws: { type: 'string' },
166
169
  check: { type: 'boolean' },
170
+ force: { type: 'boolean' },
167
171
  },
168
172
  allowPositionals: true,
169
173
  strict: false,
@@ -204,9 +208,58 @@ async function runCli(argv = process.argv.slice(2)) {
204
208
  };
205
209
  // Standalone bridge lifecycle commands.
206
210
  if (['serve', 'status', 'stop', 'restart'].includes(lifecycleCommand)) {
211
+ const forceReclaim = lifecycleValues.force === true;
212
+ let bridgePorts = [1978, 1977];
213
+ const describeListener = (l) => {
214
+ const cmd = (l.command || '').trim();
215
+ const shortCmd = cmd.length > 90 ? `${cmd.slice(0, 87)}...` : cmd;
216
+ return `PID ${l.pid}${shortCmd ? ` (${shortCmd})` : ''}`;
217
+ };
218
+ const explainBlocked = (port, result) => {
219
+ const who = result.listener ? describeListener(result.listener) : 'an unknown process';
220
+ if (result.status === 'refused_vscode') {
221
+ return new client_js_1.ScriptSyncClientError(`Port ${port} is held by a ScriptSync bridge inside VS Code (${who}). Stop it from the sn-scriptsync status bar in VS Code instead.`, 'E_NOT_STANDALONE');
222
+ }
223
+ if (result.status === 'refused_foreign') {
224
+ return new client_js_1.ScriptSyncClientError(`Port ${port} is held by ${who}, which does not look like an snu bridge. Re-run with --force to stop it anyway.`, 'E_PORT_BUSY');
225
+ }
226
+ return new client_js_1.ScriptSyncClientError(`Could not free port ${port}: ${who} did not stop.`, 'E_STOP_FAILED');
227
+ };
228
+ // Free the bridge ports from ground truth. Port-file discovery can miss a
229
+ // live bridge (deleted or clobbered port file — e.g. an MCP host spawned
230
+ // `snu --mcp` and something else removed the global port file), which used
231
+ // to leave `snu stop` claiming "already stopped" while the port stayed
232
+ // bound.
233
+ const reclaimBridgePorts = async () => {
234
+ const reclaimed = [];
235
+ const seenPids = new Set();
236
+ for (const port of bridgePorts) {
237
+ const result = await (0, portReclaim_js_1.reclaimPort)(port, { force: forceReclaim });
238
+ if (result.status === 'free')
239
+ continue;
240
+ if (result.status === 'reclaimed') {
241
+ if (result.listener && !seenPids.has(result.listener.pid)) {
242
+ seenPids.add(result.listener.pid);
243
+ reclaimed.push(result.listener);
244
+ }
245
+ continue;
246
+ }
247
+ return { reclaimed, blocked: { port, result } };
248
+ }
249
+ return { reclaimed };
250
+ };
207
251
  try {
252
+ bridgePorts = [parsePort('ws', 1978), parsePort('port', 1977)];
208
253
  const status = await (0, daemon_js_1.inspectBridge)({ portFile, cwd: process.cwd() });
209
254
  if (lifecycleCommand === 'status') {
255
+ let orphan = null;
256
+ if (!status.running) {
257
+ for (const port of bridgePorts) {
258
+ orphan = await (0, portReclaim_js_1.findPortListener)(port);
259
+ if (orphan)
260
+ break;
261
+ }
262
+ }
210
263
  const result = status.running
211
264
  ? {
212
265
  running: true,
@@ -215,7 +268,9 @@ async function runCli(argv = process.argv.slice(2)) {
215
268
  httpPort: status.discovery.port,
216
269
  apiVersion: status.health.apiVersion,
217
270
  }
218
- : { running: false };
271
+ : orphan
272
+ ? { running: false, orphanListener: { pid: orphan.pid, command: orphan.command } }
273
+ : { running: false };
219
274
  if (isJsonMode)
220
275
  (0, format_js_1.outputJson)(result);
221
276
  else if (status.running) {
@@ -224,6 +279,11 @@ async function runCli(argv = process.argv.slice(2)) {
224
279
  console.log(` PID: ${status.health.pid}`);
225
280
  console.log(` HTTP API: http://127.0.0.1:${status.discovery.port}/api\n`);
226
281
  }
282
+ else if (orphan) {
283
+ console.log('\nSN Utils Bridge: not discoverable, but a bridge port is still held by');
284
+ console.log(` ${describeListener(orphan)}`);
285
+ console.log('Run `snu stop` to reclaim it.\n');
286
+ }
227
287
  else {
228
288
  console.log('\nSN Utils Bridge: not running\n');
229
289
  }
@@ -245,17 +305,51 @@ async function runCli(argv = process.argv.slice(2)) {
245
305
  await printUpdateNotice(updateNotice);
246
306
  return;
247
307
  }
308
+ // Graceful stop of a discovered standalone bridge, escalating to a
309
+ // process-level stop when the yield request fails or times out.
310
+ const stopDiscoveredBridge = async () => {
311
+ const pid = status.running ? status.discovery.pid : 0;
312
+ if (!status.running)
313
+ return pid;
314
+ try {
315
+ await (0, daemon_js_1.requestStandaloneYield)(status);
316
+ await (0, daemon_js_1.waitForBridgeExit)(pid);
317
+ }
318
+ catch (err) {
319
+ if (err?.code === 'E_NOT_STANDALONE')
320
+ throw err; // VS Code owns it — never kill.
321
+ const stopped = await (0, portReclaim_js_1.terminateListener)(pid, status.discovery.port);
322
+ if (!stopped)
323
+ throw err;
324
+ }
325
+ return pid;
326
+ };
248
327
  if (lifecycleCommand === 'stop') {
249
328
  if (!status.running) {
250
- if (isJsonMode)
251
- (0, format_js_1.outputJson)({ stopped: false, alreadyStopped: true });
252
- else
329
+ const { reclaimed, blocked } = await reclaimBridgePorts();
330
+ if (reclaimed.length && !isJsonMode) {
331
+ console.log('\nStopped a bridge that was holding the port without a valid port file:');
332
+ reclaimed.forEach((l) => console.log(` ${describeListener(l)}`));
333
+ console.log('');
334
+ }
335
+ if (blocked)
336
+ throw explainBlocked(blocked.port, blocked.result);
337
+ if (isJsonMode) {
338
+ if (reclaimed.length)
339
+ (0, format_js_1.outputJson)({ stopped: true, reclaimedPids: reclaimed.map((l) => l.pid) });
340
+ else
341
+ (0, format_js_1.outputJson)({ stopped: false, alreadyStopped: true });
342
+ }
343
+ else if (!reclaimed.length) {
253
344
  console.log('\nSN Utils standalone bridge is already stopped.\n');
345
+ }
254
346
  return;
255
347
  }
256
- const pid = status.discovery.pid;
257
- await (0, daemon_js_1.requestStandaloneYield)(status);
258
- await (0, daemon_js_1.waitForBridgeExit)(pid);
348
+ const pid = await stopDiscoveredBridge();
349
+ // The discovered bridge is down; sweep for any second orphan still
350
+ // holding a port (e.g. discovery found HTTP but the WS port belongs
351
+ // to an older instance).
352
+ await reclaimBridgePorts();
259
353
  if (isJsonMode)
260
354
  (0, format_js_1.outputJson)({ stopped: true, pid });
261
355
  else
@@ -263,12 +357,18 @@ async function runCli(argv = process.argv.slice(2)) {
263
357
  return;
264
358
  }
265
359
  if (lifecycleCommand === 'restart' && status.running) {
266
- const pid = status.discovery.pid;
267
- await (0, daemon_js_1.requestStandaloneYield)(status);
268
- await (0, daemon_js_1.waitForBridgeExit)(pid);
360
+ const pid = await stopDiscoveredBridge();
269
361
  if (!isJsonMode)
270
362
  console.log(`\nStopped SN Utils standalone bridge (PID ${pid}). Restarting...`);
271
363
  }
364
+ // serve / restart: make sure the ports are actually free before binding,
365
+ // even when discovery saw nothing.
366
+ const { reclaimed, blocked } = await reclaimBridgePorts();
367
+ if (reclaimed.length && !isJsonMode) {
368
+ reclaimed.forEach((l) => console.log(`\nStopped orphaned bridge ${describeListener(l)} to free the port.`));
369
+ }
370
+ if (blocked)
371
+ throw explainBlocked(blocked.port, blocked.result);
272
372
  await startStandalone();
273
373
  }
274
374
  catch (err) {
@@ -415,6 +515,45 @@ async function runCli(argv = process.argv.slice(2)) {
415
515
  inputData.table = positionals[0];
416
516
  inputData.name = positionals[1];
417
517
  break;
518
+ case 'record create': {
519
+ if (!positionals[0]) {
520
+ throw new client_js_1.ScriptSyncClientError('Usage: snu record create <table> [field=value ...] [--fields <json>]', 'E_INVALID_PARAMS');
521
+ }
522
+ inputData.table = positionals[0];
523
+ const fields = {};
524
+ if (values.fields) {
525
+ try {
526
+ Object.assign(fields, JSON.parse(String(values.fields)));
527
+ }
528
+ catch (e) {
529
+ throw new client_js_1.ScriptSyncClientError(`--fields is not valid JSON: ${e?.message || e}`, 'E_INVALID_PARAMS');
530
+ }
531
+ }
532
+ for (const token of positionals.slice(1)) {
533
+ const eqIdx = token.indexOf('=');
534
+ if (eqIdx <= 0) {
535
+ throw new client_js_1.ScriptSyncClientError(`Invalid field token '${token}'. Expected field=value.`, 'E_INVALID_PARAMS');
536
+ }
537
+ fields[token.slice(0, eqIdx)] = token.slice(eqIdx + 1);
538
+ }
539
+ if (Object.keys(fields).length === 0) {
540
+ throw new client_js_1.ScriptSyncClientError('No field values given: pass field=value pairs or --fields <json>', 'E_INVALID_PARAMS');
541
+ }
542
+ inputData.fields = fields;
543
+ break;
544
+ }
545
+ case 'rest':
546
+ if (!positionals[0]) {
547
+ throw new client_js_1.ScriptSyncClientError("Usage: snu rest <endpoint> [--method <M>] [--body <json>] [--query <k=v,k=v>]", 'E_INVALID_PARAMS');
548
+ }
549
+ inputData.endpoint = positionals[0];
550
+ if (values.method)
551
+ inputData.method = String(values.method);
552
+ if (values.body !== undefined)
553
+ inputData.body = values.body;
554
+ if (values.query !== undefined)
555
+ inputData.queryParams = values.query;
556
+ break;
418
557
  case 'record update':
419
558
  if (positionals.length < 2) {
420
559
  throw new client_js_1.ScriptSyncClientError('Usage: snu record update <table> <sys_id> <field> (--value <v> | --file <path> | stdin)', 'E_INVALID_PARAMS');
@@ -514,7 +653,7 @@ async function runCli(argv = process.argv.slice(2)) {
514
653
  (0, format_js_1.outputJson)(result);
515
654
  }
516
655
  else {
517
- process.stdout.write((0, format_js_1.formatHumanOutput)(tool.agentCommand, result));
656
+ process.stdout.write((0, format_js_1.formatHumanOutput)(tool.agentCommand, result, tool.cliCommand));
518
657
  }
519
658
  await printUpdateNotice(updateNotice);
520
659
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Port-level bridge reclaim. Port-file discovery can go stale (the file gets
3
+ * deleted or overwritten by another bridge host) while the process itself keeps
4
+ * ports 1977/1978 bound. These helpers find the actual listener on a port,
5
+ * classify it, and stop it so lifecycle commands work from ground truth instead
6
+ * of trusting the port files.
7
+ */
8
+ export interface PortListener {
9
+ pid: number;
10
+ command: string;
11
+ }
12
+ export type ListenerKind = 'snu' | 'vscode' | 'unknown';
13
+ export type ExecImpl = (file: string, args: string[]) => Promise<{
14
+ stdout: string;
15
+ }>;
16
+ /** Identify the process listening on 127.0.0.1:<port>, if any. */
17
+ export declare function findPortListener(port: number, execImpl?: ExecImpl, platform?: NodeJS.Platform): Promise<PortListener | null>;
18
+ /** Classify a listener's command line: one of ours, a VS Code host, or foreign. */
19
+ export declare function classifyListener(command: string): ListenerKind;
20
+ /** True when nothing is bound to 127.0.0.1:<port>. */
21
+ export declare function isPortFree(port: number): Promise<boolean>;
22
+ export interface TerminateHooks {
23
+ killImpl?: (pid: number, signal: NodeJS.Signals) => void;
24
+ portFreeImpl?: (port: number) => Promise<boolean>;
25
+ delayMs?: number;
26
+ }
27
+ /**
28
+ * Stop a listener: SIGTERM first (the standalone bridge shuts down cleanly on
29
+ * it, removing its port files), escalate to SIGKILL if the port stays bound.
30
+ */
31
+ export declare function terminateListener(pid: number, port: number, hooks?: TerminateHooks): Promise<boolean>;
32
+ export interface ReclaimResult {
33
+ status: 'free' | 'reclaimed' | 'refused_vscode' | 'refused_foreign' | 'failed';
34
+ listener?: PortListener;
35
+ }
36
+ export interface ReclaimOptions {
37
+ /** Also stop listeners that don't look like an snu bridge. Never applies to VS Code hosts. */
38
+ force?: boolean;
39
+ findImpl?: (port: number) => Promise<PortListener | null>;
40
+ terminateImpl?: (pid: number, port: number) => Promise<boolean>;
41
+ }
42
+ /**
43
+ * Make <port> available: no-op when free, stop an orphaned snu bridge, refuse
44
+ * a VS Code-hosted bridge (stop it from VS Code) or, without --force, any
45
+ * process that isn't recognizably ours.
46
+ */
47
+ export declare function reclaimPort(port: number, options?: ReclaimOptions): Promise<ReclaimResult>;
48
+ //# sourceMappingURL=portReclaim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portReclaim.d.ts","sourceRoot":"","sources":["../../src/cli/portReclaim.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,QAAQ,GAAG,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,KACX,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAWjC,kEAAkE;AAClE,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,QAAsB,EAChC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAsB9B;AA4BD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAuB9D;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQzD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,cAAmB,GACzB,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IAC/E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,8FAA8F;IAC9F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAapG"}