salt-agent-sdk 0.20.0 → 0.22.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.
Files changed (48) hide show
  1. package/README.md +28 -3
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +72 -1
  4. package/dist/actions.js.map +1 -1
  5. package/dist/callBundle.d.ts +90 -0
  6. package/dist/callBundle.d.ts.map +1 -0
  7. package/dist/callBundle.js +199 -0
  8. package/dist/callBundle.js.map +1 -0
  9. package/dist/client.d.ts +88 -3
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +80 -2
  12. package/dist/client.js.map +1 -1
  13. package/dist/device/client.d.ts +12 -4
  14. package/dist/device/client.d.ts.map +1 -1
  15. package/dist/device/client.js +44 -1
  16. package/dist/device/client.js.map +1 -1
  17. package/dist/device/host.d.ts +74 -3
  18. package/dist/device/host.d.ts.map +1 -1
  19. package/dist/device/host.js +262 -12
  20. package/dist/device/host.js.map +1 -1
  21. package/dist/device/http.d.ts.map +1 -1
  22. package/dist/device/http.js +3 -2
  23. package/dist/device/http.js.map +1 -1
  24. package/dist/device/protocol.d.ts +97 -1
  25. package/dist/device/protocol.d.ts.map +1 -1
  26. package/dist/device/protocol.js +155 -1
  27. package/dist/device/protocol.js.map +1 -1
  28. package/dist/help.d.ts +54 -0
  29. package/dist/help.d.ts.map +1 -0
  30. package/dist/help.js +62 -0
  31. package/dist/help.js.map +1 -0
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/lattice.d.ts +206 -0
  37. package/dist/lattice.d.ts.map +1 -0
  38. package/dist/lattice.js +366 -0
  39. package/dist/lattice.js.map +1 -0
  40. package/dist/webhook.d.ts +67 -3
  41. package/dist/webhook.d.ts.map +1 -1
  42. package/dist/webhook.js +72 -4
  43. package/dist/webhook.js.map +1 -1
  44. package/dist/work.d.ts +2 -0
  45. package/dist/work.d.ts.map +1 -1
  46. package/dist/work.js +4 -0
  47. package/dist/work.js.map +1 -1
  48. package/package.json +1 -1
@@ -23,7 +23,15 @@ export declare const MUTATING_OPS: readonly string[];
23
23
  /** Why a session is paused (device -> Salt -> agent). `person_active` and
24
24
  * `secure_field` are the contract's two; `person_paused` is an explicit tray
25
25
  * pause or hotkey. Free-form strings are tolerated on the wire. */
26
- export type DevicePauseReason = "person_active" | "secure_field" | "person" | "other" | (string & {});
26
+ export type DevicePauseReason = "person_active" | "secure_field" | "person" | "phone" | "other" | (string & {});
27
+ /** Show Me (0.22.0): two device-to-agent ops that are not answers to a command.
28
+ * `still` is unsolicited (no `re`): the device posts a downscaled picture of its
29
+ * screen into the lane while a help request is open. `pointed` answers a person's
30
+ * `[[SALT-POINT]]` (its `re` is the point id): what is under the spot they tapped.
31
+ * They are kept out of `DEVICE_RESULT_OPS` on purpose: that list is pinned by the
32
+ * envelope-vector fixture shared byte for byte with saltapp-python. */
33
+ export type DeviceUnsolicitedOp = "still" | "pointed";
34
+ export declare const DEVICE_UNSOLICITED_OPS: readonly DeviceUnsolicitedOp[];
27
35
  /** Commands an agent sends to a device. */
28
36
  export type DeviceOp = "observe" | "click" | "type" | "key" | "scroll" | "submit" | "focus_app" | "list_apps" | "read_file" | "write_file" | "task" | "stop" | "cancel" | "shell";
29
37
  /** Results a device sends back to an agent. */
@@ -309,4 +317,92 @@ export declare class DeviceProtocolError extends Error {
309
317
  * the only property code here relies on is uniqueness. Sortable by time is a
310
318
  * convenience for logs and nothing more (ordering is enforced by `seq`). */
311
319
  export declare function deviceMessageId(now?: number, rand?: () => number): string;
320
+ /** The device posts at most one still every 2 s, and at most 30 a minute per lane. */
321
+ export declare const STILL_MIN_INTERVAL_MS = 2000;
322
+ export declare const STILL_MAX_PER_MINUTE = 30;
323
+ /** A person's optional words on a point. */
324
+ export declare const POINT_WORDS_MAX = 200;
325
+ /** Longest id a SALT-POINT header field may carry (help id, obs id, point id). */
326
+ export declare const POINT_ID_MAX = 64;
327
+ /** `pointed.words` is the point's words, same cap. */
328
+ export declare const POINTED_NAME_MAX = 200;
329
+ export interface StillBody {
330
+ help_id: string;
331
+ /** The observation id of this picture; a person's point names it back. */
332
+ obs: string;
333
+ width: number;
334
+ height: number;
335
+ scale: number;
336
+ format: "jpeg" | "png";
337
+ image_b64: string;
338
+ /** ISO8601. */
339
+ taken_at: string;
340
+ }
341
+ export type PointedRefusal = "forbidden_app" | "secure_field" | "stale" | "not_allowed";
342
+ export declare const POINTED_REFUSALS: readonly PointedRefusal[];
343
+ export interface PointedElement {
344
+ role: string;
345
+ subrole: string | null;
346
+ name: string | null;
347
+ value: string | null;
348
+ bounds: {
349
+ x: number;
350
+ y: number;
351
+ w: number;
352
+ h: number;
353
+ };
354
+ }
355
+ export interface PointedBody {
356
+ help_id: string;
357
+ x: number;
358
+ y: number;
359
+ /** The spot in screen coordinates. */
360
+ screen: {
361
+ x: number;
362
+ y: number;
363
+ };
364
+ app: string | null;
365
+ /** Null when nothing is named under the point, or when the answer was refused. */
366
+ element: PointedElement | null;
367
+ refused: PointedRefusal | null;
368
+ words: string;
369
+ }
370
+ /** A still body, allow-listed with types checked; null when it is not one. Used by the agent
371
+ * on what a device sent. Extra fields are dropped. */
372
+ export declare function normalizeStill(raw: unknown): StillBody | null;
373
+ /** A `pointed` body, allow-listed field by field; null when it is not one. A refused answer
374
+ * never carries an element, whatever the sender put there. */
375
+ export declare function normalizePointed(raw: unknown): PointedBody | null;
376
+ /** One point a person made on a still (or, live, on the call's frame). */
377
+ export interface PointMessage {
378
+ v: number;
379
+ /** The help request this point answers. */
380
+ help: string;
381
+ /** The still it was made on; absent means the live frame. */
382
+ obs?: string;
383
+ /** Fractions of the picture, 0..1. */
384
+ x: number;
385
+ y: number;
386
+ /** A fresh id per point; the device answers each id once. */
387
+ id: string;
388
+ words: string;
389
+ }
390
+ /** True when the text opens with the SALT-POINT marker (well formed or not). */
391
+ export declare function isPointMessage(plaintext: string): boolean;
392
+ /** The plaintext of a point. `x` and `y` are written with four decimals. Throws
393
+ * DeviceProtocolError("bad_args") on an out-of-range fraction, a bad id, or words over 200
394
+ * characters (nothing is cut off silently). */
395
+ export declare function encodePoint(p: {
396
+ help: string;
397
+ obs?: string;
398
+ x: number;
399
+ y: number;
400
+ id: string;
401
+ words?: string;
402
+ }): string;
403
+ /** Parse the decrypted plaintext of a lane message. Returns null when it is not a point at
404
+ * all. Throws DeviceProtocolError("bad_args") on a message that opens with the marker but
405
+ * is broken: a wrong version, a missing field, an x or y outside 0..1 (or with more than
406
+ * four decimals), a bad id, or words over 200 characters. */
407
+ export declare function decodePoint(plaintext: string): PointMessage | null;
312
408
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  // change to the grammar is made in DEVICE_PROTOCOL.md first, then mirrored
17
17
  // here, then announced -- never the other way round.
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.DeviceProtocolError = exports.TASK_STEP_KINDS = exports.TASK_STATUSES = exports.TASK_CLIENT_GRACE_MS = exports.TASK_DEVICE_GRACE_MS = exports.PROGRESS_MIN_INTERVAL_MS = exports.TASK_ID_MAX = exports.TASK_CHECKED_WHAT_MAX = exports.TASK_RESULT_STEPS_MAX = exports.TASK_STEP_LINE_MAX = exports.TASK_SUMMARY_MAX = exports.PROGRESS_LINE_MAX = exports.TASK_TIMEOUT_S_DEFAULT = exports.TASK_TIMEOUT_S_MAX = exports.TASK_TIMEOUT_S_MIN = exports.TASK_MAX_STEPS_DEFAULT = exports.TASK_MAX_STEPS_MAX = exports.TASK_MAX_STEPS_MIN = exports.TASK_DONE_WHEN_MAX = exports.TASK_GOAL_MAX = exports.DEVICE_COUNT_CLASSES = exports.CAPABILITY_FOR_OP = exports.DEVICE_ERROR_CODES = exports.DEVICE_RESULT_OPS = exports.AGENT_OPS = exports.MUTATING_OPS = exports.RESULT_CACHE_SIZE = exports.COMMAND_TTL_MS = exports.MAX_OBSERVE_PER_SECOND = exports.MAX_COMMANDS_PER_SECOND = exports.MAX_DEVICE_PLAINTEXT_BYTES = exports.DEVICE_PROTOCOL_VERSION = void 0;
19
+ exports.POINTED_REFUSALS = exports.POINTED_NAME_MAX = exports.POINT_ID_MAX = exports.POINT_WORDS_MAX = exports.STILL_MAX_PER_MINUTE = exports.STILL_MIN_INTERVAL_MS = exports.DeviceProtocolError = exports.TASK_STEP_KINDS = exports.TASK_STATUSES = exports.TASK_CLIENT_GRACE_MS = exports.TASK_DEVICE_GRACE_MS = exports.PROGRESS_MIN_INTERVAL_MS = exports.TASK_ID_MAX = exports.TASK_CHECKED_WHAT_MAX = exports.TASK_RESULT_STEPS_MAX = exports.TASK_STEP_LINE_MAX = exports.TASK_SUMMARY_MAX = exports.PROGRESS_LINE_MAX = exports.TASK_TIMEOUT_S_DEFAULT = exports.TASK_TIMEOUT_S_MAX = exports.TASK_TIMEOUT_S_MIN = exports.TASK_MAX_STEPS_DEFAULT = exports.TASK_MAX_STEPS_MAX = exports.TASK_MAX_STEPS_MIN = exports.TASK_DONE_WHEN_MAX = exports.TASK_GOAL_MAX = exports.DEVICE_COUNT_CLASSES = exports.CAPABILITY_FOR_OP = exports.DEVICE_ERROR_CODES = exports.DEVICE_RESULT_OPS = exports.AGENT_OPS = exports.DEVICE_UNSOLICITED_OPS = exports.MUTATING_OPS = exports.RESULT_CACHE_SIZE = exports.COMMAND_TTL_MS = exports.MAX_OBSERVE_PER_SECOND = exports.MAX_COMMANDS_PER_SECOND = exports.MAX_DEVICE_PLAINTEXT_BYTES = exports.DEVICE_PROTOCOL_VERSION = void 0;
20
20
  exports.countClassForOp = countClassForOp;
21
21
  exports.parseTaskArgs = parseTaskArgs;
22
22
  exports.taskCommandBody = taskCommandBody;
@@ -26,6 +26,11 @@ exports.normalizeTaskResult = normalizeTaskResult;
26
26
  exports.encodeDeviceMessage = encodeDeviceMessage;
27
27
  exports.decodeDeviceMessage = decodeDeviceMessage;
28
28
  exports.deviceMessageId = deviceMessageId;
29
+ exports.normalizeStill = normalizeStill;
30
+ exports.normalizePointed = normalizePointed;
31
+ exports.isPointMessage = isPointMessage;
32
+ exports.encodePoint = encodePoint;
33
+ exports.decodePoint = decodePoint;
29
34
  /** Grammar version. An incoming message with any other `v` is answered
30
35
  * `error { code: "unsupported" }`, never guessed at. */
31
36
  exports.DEVICE_PROTOCOL_VERSION = 1;
@@ -50,6 +55,7 @@ exports.RESULT_CACHE_SIZE = 64;
50
55
  * serialises these device-wide (across every session on the machine) behind
51
56
  * one mutex. `observe`, `list_apps` and the file ops do not take it. */
52
57
  exports.MUTATING_OPS = ["click", "type", "key", "scroll", "submit", "focus_app", "task"];
58
+ exports.DEVICE_UNSOLICITED_OPS = ["still", "pointed"];
53
59
  exports.AGENT_OPS = [
54
60
  "observe",
55
61
  "click",
@@ -432,4 +438,152 @@ function deviceMessageId(now = Date.now(), rand = Math.random) {
432
438
  }
433
439
  return time + randPart;
434
440
  }
441
+ // ---- Show Me: stills and points (CONTRACT.md section 3) ---------------------
442
+ /** The device posts at most one still every 2 s, and at most 30 a minute per lane. */
443
+ exports.STILL_MIN_INTERVAL_MS = 2_000;
444
+ exports.STILL_MAX_PER_MINUTE = 30;
445
+ /** A person's optional words on a point. */
446
+ exports.POINT_WORDS_MAX = 200;
447
+ /** Longest id a SALT-POINT header field may carry (help id, obs id, point id). */
448
+ exports.POINT_ID_MAX = 64;
449
+ /** `pointed.words` is the point's words, same cap. */
450
+ exports.POINTED_NAME_MAX = 200;
451
+ exports.POINTED_REFUSALS = ["forbidden_app", "secure_field", "stale", "not_allowed"];
452
+ /** A still body, allow-listed with types checked; null when it is not one. Used by the agent
453
+ * on what a device sent. Extra fields are dropped. */
454
+ function normalizeStill(raw) {
455
+ if (!isRecord(raw))
456
+ return null;
457
+ const { help_id, obs, width, height, scale, format, image_b64, taken_at } = raw;
458
+ if (typeof help_id !== "string" || help_id === "" || typeof obs !== "string" || obs === "")
459
+ return null;
460
+ if (format !== "jpeg" && format !== "png")
461
+ return null;
462
+ if (typeof image_b64 !== "string" || image_b64 === "")
463
+ return null;
464
+ const w = wholeNumber(width);
465
+ const h = wholeNumber(height);
466
+ if (w === null || h === null || w < 1 || h < 1)
467
+ return null;
468
+ if (typeof scale !== "number" || !Number.isFinite(scale) || scale <= 0)
469
+ return null;
470
+ return { help_id, obs, width: w, height: h, scale, format, image_b64, taken_at: typeof taken_at === "string" ? taken_at : "" };
471
+ }
472
+ function finite(x) {
473
+ return typeof x === "number" && Number.isFinite(x) ? x : null;
474
+ }
475
+ /** A `pointed` body, allow-listed field by field; null when it is not one. A refused answer
476
+ * never carries an element, whatever the sender put there. */
477
+ function normalizePointed(raw) {
478
+ if (!isRecord(raw))
479
+ return null;
480
+ if (typeof raw.help_id !== "string" || raw.help_id === "")
481
+ return null;
482
+ const x = finite(raw.x);
483
+ const y = finite(raw.y);
484
+ if (x === null || y === null || x < 0 || x > 1 || y < 0 || y > 1)
485
+ return null;
486
+ const sx = isRecord(raw.screen) ? finite(raw.screen.x) : null;
487
+ const sy = isRecord(raw.screen) ? finite(raw.screen.y) : null;
488
+ if (sx === null || sy === null)
489
+ return null;
490
+ const refused = exports.POINTED_REFUSALS.includes(raw.refused) ? raw.refused : null;
491
+ let element = null;
492
+ if (refused === null && isRecord(raw.element) && typeof raw.element.role === "string") {
493
+ const e = raw.element;
494
+ const b = isRecord(e.bounds) ? e.bounds : {};
495
+ element = {
496
+ role: clip(e.role, 80),
497
+ subrole: typeof e.subrole === "string" ? clip(e.subrole, 80) : null,
498
+ name: typeof e.name === "string" ? clip(e.name, exports.POINTED_NAME_MAX) : null,
499
+ value: typeof e.value === "string" ? clip(e.value, exports.POINTED_NAME_MAX) : null,
500
+ bounds: { x: finite(b.x) ?? 0, y: finite(b.y) ?? 0, w: finite(b.w) ?? 0, h: finite(b.h) ?? 0 },
501
+ };
502
+ }
503
+ return {
504
+ help_id: raw.help_id,
505
+ x,
506
+ y,
507
+ screen: { x: sx, y: sy },
508
+ app: typeof raw.app === "string" ? clip(raw.app, 200) : null,
509
+ element,
510
+ refused,
511
+ words: typeof raw.words === "string" ? clip(raw.words, exports.POINT_WORDS_MAX) : "",
512
+ };
513
+ }
514
+ const POINT_MARKER_RE = /^\[\[SALT-POINT ((?:[a-z_]+=[^\s\]]+ ?)+)\]\]([\s\S]*)$/;
515
+ const POINT_TOKEN_RE = /^[A-Za-z0-9_-]{1,64}$/;
516
+ // 0..1 with at most four decimals: "0", "1", "0.5", "0.6012", "1.0".
517
+ const POINT_FRACTION_RE = /^(?:0(?:\.\d{1,4})?|1(?:\.0{1,4})?)$/;
518
+ /** True when the text opens with the SALT-POINT marker (well formed or not). */
519
+ function isPointMessage(plaintext) {
520
+ return plaintext.trimStart().startsWith("[[SALT-POINT");
521
+ }
522
+ function fraction(n, what) {
523
+ if (typeof n !== "number" || !Number.isFinite(n) || n < 0 || n > 1) {
524
+ throw new DeviceProtocolError("bad_args", `${what} must be between 0 and 1`);
525
+ }
526
+ return n.toFixed(4);
527
+ }
528
+ /** The plaintext of a point. `x` and `y` are written with four decimals. Throws
529
+ * DeviceProtocolError("bad_args") on an out-of-range fraction, a bad id, or words over 200
530
+ * characters (nothing is cut off silently). */
531
+ function encodePoint(p) {
532
+ for (const [what, val] of [["help", p.help], ["id", p.id], ...(p.obs !== undefined ? [["obs", p.obs]] : [])]) {
533
+ if (typeof val !== "string" || !POINT_TOKEN_RE.test(val))
534
+ throw new DeviceProtocolError("bad_args", `${what} is not a valid id`);
535
+ }
536
+ const words = p.words ?? "";
537
+ if (typeof words !== "string" || charCount(words) > exports.POINT_WORDS_MAX) {
538
+ throw new DeviceProtocolError("bad_args", `words are over ${exports.POINT_WORDS_MAX} characters`);
539
+ }
540
+ const parts = [`v=${exports.DEVICE_PROTOCOL_VERSION}`, `help=${p.help}`];
541
+ if (p.obs !== undefined)
542
+ parts.push(`obs=${p.obs}`);
543
+ parts.push(`x=${fraction(p.x, "x")}`, `y=${fraction(p.y, "y")}`, `id=${p.id}`);
544
+ const marker = `[[SALT-POINT ${parts.join(" ")}]]`;
545
+ return words === "" ? marker : `${marker}\n${words}`;
546
+ }
547
+ /** Parse the decrypted plaintext of a lane message. Returns null when it is not a point at
548
+ * all. Throws DeviceProtocolError("bad_args") on a message that opens with the marker but
549
+ * is broken: a wrong version, a missing field, an x or y outside 0..1 (or with more than
550
+ * four decimals), a bad id, or words over 200 characters. */
551
+ function decodePoint(plaintext) {
552
+ const trimmed = plaintext.trimStart();
553
+ if (!trimmed.startsWith("[[SALT-POINT"))
554
+ return null;
555
+ const m = POINT_MARKER_RE.exec(trimmed);
556
+ if (!m)
557
+ throw new DeviceProtocolError("bad_args", "malformed SALT-POINT marker");
558
+ const fields = {};
559
+ for (const pair of m[1].trim().split(/\s+/)) {
560
+ const eq = pair.indexOf("=");
561
+ if (eq === -1)
562
+ throw new DeviceProtocolError("bad_args", `bad marker field: ${pair}`);
563
+ const k = pair.slice(0, eq);
564
+ if (k in fields)
565
+ throw new DeviceProtocolError("bad_args", `repeated marker field: ${k}`);
566
+ fields[k] = pair.slice(eq + 1);
567
+ }
568
+ for (const required of ["v", "help", "x", "y", "id"]) {
569
+ if (fields[required] === undefined)
570
+ throw new DeviceProtocolError("bad_args", `marker missing ${required}`);
571
+ }
572
+ if (fields.v !== String(exports.DEVICE_PROTOCOL_VERSION))
573
+ throw new DeviceProtocolError("unsupported", `unsupported SALT-POINT version ${fields.v}`);
574
+ for (const k of ["help", "id", ...(fields.obs !== undefined ? ["obs"] : [])]) {
575
+ if (!POINT_TOKEN_RE.test(fields[k]))
576
+ throw new DeviceProtocolError("bad_args", `${k} is not a valid id`);
577
+ }
578
+ if (!POINT_FRACTION_RE.test(fields.x) || !POINT_FRACTION_RE.test(fields.y)) {
579
+ throw new DeviceProtocolError("bad_args", "x and y must be between 0 and 1 with at most four decimals");
580
+ }
581
+ const words = m[2].replace(/^\r?\n/, "").trim();
582
+ if (charCount(words) > exports.POINT_WORDS_MAX)
583
+ throw new DeviceProtocolError("bad_args", `words are over ${exports.POINT_WORDS_MAX} characters`);
584
+ const out = { v: exports.DEVICE_PROTOCOL_VERSION, help: fields.help, x: Number(fields.x), y: Number(fields.y), id: fields.id, words };
585
+ if (fields.obs !== undefined)
586
+ out.obs = fields.obs;
587
+ return out;
588
+ }
435
589
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"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"}
package/dist/help.d.ts ADDED
@@ -0,0 +1,54 @@
1
+ export declare const HELP_REASONS: readonly ["stuck", "which", "unclear", "look"];
2
+ export type HelpReason = (typeof HELP_REASONS)[number];
3
+ /** The question is at most this many characters (Unicode code points). */
4
+ export declare const HELP_QUESTION_MAX = 500;
5
+ export interface HelpMessage {
6
+ reason: HelpReason;
7
+ question: string;
8
+ }
9
+ /** True when the text opens with the SALT-HELP marker (well formed or not). */
10
+ export declare function isHelpMessage(plaintext: string): boolean;
11
+ /** The plaintext of a help question. Throws on an unknown reason, an empty question or one
12
+ * over 500 characters (nothing is cut off silently). */
13
+ export declare function encodeHelp(h: {
14
+ reason: HelpReason;
15
+ question: string;
16
+ }): string;
17
+ /** Parse a decrypted message. Null when it is not a help message, or when it opens with the
18
+ * marker but is malformed (unknown reason, empty or over-long question): a reader treats
19
+ * that as ordinary text. */
20
+ export declare function decodeHelp(plaintext: string): HelpMessage | null;
21
+ export type HelpRequestStatus = "open" | "answered" | "withdrawn" | "ended";
22
+ /** A help request as salt-api serves it. The server stores ids, the reason and the status only;
23
+ * the question itself rides end-to-end encrypted in the 1:1 chat. */
24
+ export interface HelpRequest {
25
+ id: string;
26
+ agent: {
27
+ id: string;
28
+ username?: string;
29
+ display_name?: string;
30
+ };
31
+ person_id: string;
32
+ chat_id: string;
33
+ message_id: string;
34
+ reason: HelpReason;
35
+ status: HelpRequestStatus;
36
+ device_session_id: string | null;
37
+ device: {
38
+ id: string;
39
+ name?: string;
40
+ lane_chat_id?: string;
41
+ } | null;
42
+ created_at: string;
43
+ closed_at: string | null;
44
+ last_viewed_at: string | null;
45
+ }
46
+ /** The person looking at a help request from their phone. */
47
+ export interface HelpViewer {
48
+ id: string;
49
+ display_name?: string;
50
+ }
51
+ /** The deliveries a device receives about a help request (CONTRACT.md section 4). */
52
+ export declare const HELP_DELIVERY_TYPES: readonly ["help_request_opened", "help_request_viewing", "help_request_closed"];
53
+ export type HelpDeliveryType = (typeof HELP_DELIVERY_TYPES)[number];
54
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,gDAAiD,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAUD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;yDACyD;AACzD,wBAAgB,UAAU,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAM9E;AAED;;6BAE6B;AAC7B,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAShE;AAID,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AAE5E;sEACsE;AACtE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,iFAAkF,CAAC;AACnH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/dist/help.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ // The `[[SALT-HELP reason=...]]` marker (Show Me, CONTRACT.md section 1).
3
+ //
4
+ // An agent that is stuck asks a person for help with an ordinary end-to-end
5
+ // encrypted message in its 1:1 with them. The first line is the marker; the
6
+ // rest is the question in plain words. Salt never parses it: the server only
7
+ // learns that a help request exists (ids and a reason) from POST /help_requests.
8
+ // salt-fe strips the marker line from every human-facing view and shows the
9
+ // question.
10
+ //
11
+ // Pure: encode and decode only.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.HELP_DELIVERY_TYPES = exports.HELP_QUESTION_MAX = exports.HELP_REASONS = void 0;
14
+ exports.isHelpMessage = isHelpMessage;
15
+ exports.encodeHelp = encodeHelp;
16
+ exports.decodeHelp = decodeHelp;
17
+ exports.HELP_REASONS = ["stuck", "which", "unclear", "look"];
18
+ /** The question is at most this many characters (Unicode code points). */
19
+ exports.HELP_QUESTION_MAX = 500;
20
+ const HELP_RE = /^\[\[SALT-HELP reason=([a-z]+)\]\][ \t]*(?:\r?\n([\s\S]*))?$/;
21
+ function codePoints(s) {
22
+ let n = 0;
23
+ for (const _ of s)
24
+ n += 1;
25
+ return n;
26
+ }
27
+ /** True when the text opens with the SALT-HELP marker (well formed or not). */
28
+ function isHelpMessage(plaintext) {
29
+ return plaintext.trimStart().startsWith("[[SALT-HELP");
30
+ }
31
+ /** The plaintext of a help question. Throws on an unknown reason, an empty question or one
32
+ * over 500 characters (nothing is cut off silently). */
33
+ function encodeHelp(h) {
34
+ if (!exports.HELP_REASONS.includes(h.reason))
35
+ throw new Error(`help reason must be one of ${exports.HELP_REASONS.join(", ")}`);
36
+ const question = typeof h.question === "string" ? h.question.trim() : "";
37
+ if (question === "")
38
+ throw new Error("a help question cannot be empty");
39
+ if (codePoints(question) > exports.HELP_QUESTION_MAX)
40
+ throw new Error(`a help question is at most ${exports.HELP_QUESTION_MAX} characters`);
41
+ return `[[SALT-HELP reason=${h.reason}]]\n${question}`;
42
+ }
43
+ /** Parse a decrypted message. Null when it is not a help message, or when it opens with the
44
+ * marker but is malformed (unknown reason, empty or over-long question): a reader treats
45
+ * that as ordinary text. */
46
+ function decodeHelp(plaintext) {
47
+ const trimmed = plaintext.trimStart();
48
+ if (!trimmed.startsWith("[[SALT-HELP"))
49
+ return null;
50
+ const m = HELP_RE.exec(trimmed);
51
+ if (!m)
52
+ return null;
53
+ if (!exports.HELP_REASONS.includes(m[1]))
54
+ return null;
55
+ const question = (m[2] ?? "").trim();
56
+ if (question === "" || codePoints(question) > exports.HELP_QUESTION_MAX)
57
+ return null;
58
+ return { reason: m[1], question };
59
+ }
60
+ /** The deliveries a device receives about a help request (CONTRACT.md section 4). */
61
+ exports.HELP_DELIVERY_TYPES = ["help_request_opened", "help_request_viewing", "help_request_closed"];
62
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,iFAAiF;AACjF,4EAA4E;AAC5E,YAAY;AACZ,EAAE;AACF,gCAAgC;;;AAsBhC,sCAEC;AAID,gCAMC;AAKD,gCASC;AA9CY,QAAA,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAG3E,0EAA0E;AAC7D,QAAA,iBAAiB,GAAG,GAAG,CAAC;AAOrC,MAAM,OAAO,GAAG,8DAA8D,CAAC;AAE/E,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,+EAA+E;AAC/E,SAAgB,aAAa,CAAC,SAAiB;IAC7C,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACzD,CAAC;AAED;yDACyD;AACzD,SAAgB,UAAU,CAAC,CAA2C;IACpE,IAAI,CAAC,oBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,oBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,QAAQ,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,yBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,yBAAiB,aAAa,CAAC,CAAC;IAC5H,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,QAAQ,EAAE,CAAC;AACzD,CAAC;AAED;;6BAE6B;AAC7B,SAAgB,UAAU,CAAC,SAAiB;IAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,oBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,QAAQ,KAAK,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,yBAAiB;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAe,EAAE,QAAQ,EAAE,CAAC;AAClD,CAAC;AA6BD,qFAAqF;AACxE,QAAA,mBAAmB,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,CAAU,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ export * from "./register";
9
9
  export * from "./reconcile";
10
10
  export * from "./delegations";
11
11
  export * from "./work";
12
+ export * from "./help";
13
+ export * from "./callBundle";
12
14
  export * from "./sessions";
13
15
  export * from "./scriptJob";
14
16
  export * from "./chatPrivacy";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -25,6 +25,8 @@ __exportStar(require("./register"), exports);
25
25
  __exportStar(require("./reconcile"), exports);
26
26
  __exportStar(require("./delegations"), exports);
27
27
  __exportStar(require("./work"), exports);
28
+ __exportStar(require("./help"), exports);
29
+ __exportStar(require("./callBundle"), exports);
28
30
  __exportStar(require("./sessions"), exports);
29
31
  __exportStar(require("./scriptJob"), exports);
30
32
  __exportStar(require("./chatPrivacy"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,yCAAuB;AACvB,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC"}